-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
Feature Description
Header passing happens on ContextForge plugin payloads. When the plugin framework is separated into its own package, this should not be disabled by default. We can leverage this to pass headers for traceability or metadata from a gateway call to downstream plugin servers like the Nemo guardrails server.
The priority is to pass headers to downstream servers like the Nemo guardrails server through the internal "nemocheck" plugin, but the pattern could be applied to any external plugins as well.
Proposed Solution
- We should make it explicit what headers are being passed through, if passthrough is by default. However, it would likely be better to also disable arbitrary headers by default for security reasons, and allow an adapter user to configure "allowed" headers like through a
DEFAULT_PASSTHROUGH_HEADERSenv var - Some plugin payloads like the
ToolPreInvokePayloadaccept headers, while some likeToolPostInvokePayloaddo not. These different patterns will have to be considered while passing headers downstream. If/when a common data model is accessible, there should be headers across all hooks.
Want to contribute?
- I would like to work on this issue.
Additional Context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels