Refactor: shared exec utility, rename CustomMessageRenderer to HookMessageRenderer

- Extract execCommand to src/core/exec.ts, shared by hooks and custom-tools
- Rename CustomMessageRenderer -> HookMessageRenderer
- Rename registerCustomMessageRenderer -> registerMessageRenderer
- Renderer now receives HookMessage instead of CustomMessageEntry
- CustomMessageComponent now has setExpanded() and responds to Ctrl+E toggle
- Re-export ExecOptions/ExecResult from exec.ts for backward compatibility
This commit is contained in:
Mario Zechner 2025-12-27 03:10:08 +01:00
parent 5fee9005b7
commit a8866d7a83
12 changed files with 199 additions and 261 deletions

View file

@ -63,7 +63,7 @@ describe.skipIf(!API_KEY)("Compaction hooks", () => {
path: "test-hook",
resolvedPath: "/test/test-hook.ts",
handlers,
customMessageRenderers: new Map(),
messageRenderers: new Map(),
commands: new Map(),
setSendMessageHandler: () => {},
setAppendEntryHandler: () => {},
@ -240,7 +240,7 @@ describe.skipIf(!API_KEY)("Compaction hooks", () => {
],
],
]),
customMessageRenderers: new Map(),
messageRenderers: new Map(),
commands: new Map(),
setSendMessageHandler: () => {},
setAppendEntryHandler: () => {},
@ -286,7 +286,7 @@ describe.skipIf(!API_KEY)("Compaction hooks", () => {
],
],
]),
customMessageRenderers: new Map(),
messageRenderers: new Map(),
commands: new Map(),
setSendMessageHandler: () => {},
setAppendEntryHandler: () => {},
@ -311,7 +311,7 @@ describe.skipIf(!API_KEY)("Compaction hooks", () => {
],
],
]),
customMessageRenderers: new Map(),
messageRenderers: new Map(),
commands: new Map(),
setSendMessageHandler: () => {},
setAppendEntryHandler: () => {},