mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-12 03:51:01 +00:00
Carry hook command, URL, header, prompt, and model fields as a typed
InterpString from the config resolve layer all the way to the executor,
so hook segments resolve at fire time from the typed value instead of
collapsing to a String and re-parsing it. This mirrors the MCP transport
env resolution boundary.
Replace the MiniJinja-with-allowlist on HTTP-hook headers with the same
narrow `{{ ns.NAME }}` token resolution used everywhere else — no
template engine on headers.
Make token resolution fail-closed and consistent across hook types. A
missing or out-of-scope token in a command, URL, header, prompt, or
model is now a hard error that blocks the hook rather than firing it with
a half-resolved or empty value. Previously command hooks failed closed
but http/prompt/agent hooks failed open (warn and proceed), which could
dispatch an HTTP request with an empty credential header or run an LLM
call against a half-rendered prompt.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| crates | ||
| packages/fabro-api-client | ||