Skip to content

Expose the ECA version to hook payloads - #701

Merged
zikajk merged 1 commit into
masterfrom
feat/hook-eca-version
Nov 11, 2026
Merged

zikajk merged 1 commit into
masterfrom
feat/hook-eca-version

Conversation

@zikajk

@zikajk zikajk commented Nov 11, 2026

Copy link
Copy Markdown
Member

A hook had no cheap way to know which ECA it runs under. A plugin that gates behavior on an ECA capability had to spawn $ECA_EXECUTABLE --version (a whole java ... -jar command line for JVM launches) or sniff MCP requests. E.g. context-mode must know whether ECA sends _meta.sessionId on tools/call (#696) to point the model at ctx_resume or at ctx_search(sort: "timeline").

base-hook-data now adds eca_version, next to eca_executable, from the memoized config/eca-version, so every hook gets it, base and chat-scoped alike. Hooks that ignore the field are unaffected. Closes #697.

  • I added a entry in changelog under unreleased section.
  • This is not an AI slop. (Please take a human time to write a comprehensive context about the problem, alternatives and rationale)

A hook had no cheap way to know which ECA it runs under, so a plugin
gating behavior on an ECA capability had to spawn `$ECA_EXECUTABLE
--version` (a whole `java ... -jar` command line for JVM launches) or
sniff MCP requests: e.g. context-mode must know whether ECA sends
`_meta.sessionId` on tools/call (#696) to point the model at the right
tool.

`base-hook-data` now adds `eca_version`, next to `eca_executable`, from
the memoized `config/eca-version`, so every hook gets it, base and
chat-scoped alike. Hooks that ignore the field are unaffected.

Closes #697.
@zikajk
zikajk merged commit 8ede599 into master Nov 11, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose the ECA version to hook payloads

1 participant