0d1250f743
- gate model selection on steering-placement image carriers from enqueue until their steering/message event publishes; release the gate when an admission ends idle without publication (both behaviorally asserted) - reject session.updateQueue edits carrying non-text blocks at the RPC boundary (queue edits cannot bypass image admission) - extend the durable-directory walk past a first-created DSH_HOME to the deepest pre-existing ancestor - strip Windows-style separators from attachment display names on POSIX - verify attachment reads with a header-only probe (digest already proves the bytes decoded fully at admission); document the read path - make SessionInputShell.addImages refusal observable and keep workspace transfers/composer intake from leaking refused drafts - own ONE recursive image walk (dsh-llm contentHasImage) across apiproxy, pi-ai, compact-basic, and the DeepSeek text-only assertion - drop the redundant canonical-base64 regex and the no-op role read - move AttachmentId/AttachmentError out of types.ts (brand.ts/error.ts); document why AttachmentError does not extend HarnessError - document the hard attachments inject in both consumer READMEs
17 KiB
17 KiB
Event Producer And Consumer Matrix
This matrix shows which packages dispatch each harness-owned event and which packages listen to it. It is intentionally a table rather than one large graph: events are many-to-many, and dense relation data is easier to review in rows. Receiver and event-name types also cover contained dispatch sites that deliberately bypass ctx.emit, such as subagent lifecycle containment.
Non-harness or undeclared event strings seen in package source
| Event string | Dispatchers | Listeners |
|---|---|---|
commands/changed |
runtime (emit) |
ui-command |
connection/reset |
runtime (emit) |
ui-command |
internal/dispatch |
- | commands, compact, fs, goal, goal-session, hook-protocol, llm-retry, permission, plan-mode, pty-local, runtime, sandbox-policy, scope, session, session-title, subagent, time-context, tool-todo, tools, user-approval, workflow |
internal/plugin |
- | hmr, loader, modules, webserver |
internal/status |
- | agent |
locale/change |
locale (emit) |
locale, ui-models, ui-settings-general |
slash/input-begin-command |
- | ui-conversation |
slash/input-consume-token |
- | ui-conversation |
slash/input-insert-reference |
- | ui-conversation |
slash/input-insert-text |
- | ui-conversation |
slots/changed |
runtime (emit) |
- |
theme/change |
ui-theme (emit) |
ui-layout, ui-theme |
Maintenance mode: generated: Cordis event declarations and producer/listener edges are resolved from the repository TypeScript Program.