argenis de la rosa
467fea87c6
refactor(hooks): extract HookRunner factory and make plugin registry init idempotent
...
- Add HookRunner::from_config() factory that encapsulates hook construction
from HooksConfig, replacing 3 duplicated blocks in agent/loop_, gateway,
and channels modules.
- Make plugin registry initialize_from_config() idempotent: skip re-init
if already initialized, log debug message instead of silently overwriting.
- Add capability gating for tool_result_persist hook modifications.
2026-02-28 19:51:37 -05:00
argenis de la rosa
1d6afe792b
feat(plugins): scaffold wasm runtime and wire core hook lifecycle
2026-02-28 19:51:37 -05:00
chumyin0912@gmail.com
29aa400160
fix(hooks): harden dispatch and outbound message guardrails
2026-02-21 13:34:09 +08:00
xj
6d4dca9a07
chore(hooks): fix formatting and clippy warnings
...
Apply cargo fmt and replace sort_by with sort_by_key per clippy.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 13:34:09 +08:00
xj
0638266b63
feat(hooks): integrate HookRunner into agent loop, channels, and gateway
...
Thread Option<&HookRunner> into run_tool_call_loop with hook fire points
for LLM input, before/after tool calls. Add hooks field to
ChannelRuntimeContext for message received/sending interception.
Build HookRunner from config in run_gateway and fire gateway_start.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 13:34:09 +08:00
xj
ff6027fce7
feat(hooks): add HookHandler trait, HookResult, and HookRunner dispatcher
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 13:34:09 +08:00