feat(exec-events): add top-level sessionKey to payload
This commit is contained in:
parent
e239ff27f6
commit
23fcdefea6
@ -25,14 +25,17 @@ Make exec events (Codex, Claude, etc.) visible in Crabwalk UI as distinct "EXEC"
|
|||||||
- [x] Rolled back uncommitted changes
|
- [x] Rolled back uncommitted changes
|
||||||
- [x] Created CONTINUITY.md
|
- [x] Created CONTINUITY.md
|
||||||
- [x] **Bead 1: Audit** — Full E2E flow audit complete (see AUDIT_REPORT.md)
|
- [x] **Bead 1: Audit** — Full E2E flow audit complete (see AUDIT_REPORT.md)
|
||||||
|
- [x] **Bead 2: Add top-level runId** — Commit `e49b41503` (2026-01-27)
|
||||||
|
- Added `runId?: string` to ExecEventBase type
|
||||||
|
- Updated all 3 emitExecEvent calls to include `runId: execEventsState.context?.runId`
|
||||||
|
- Build passes
|
||||||
|
|
||||||
### Now
|
### Now
|
||||||
- [ ] Bead 2: Write failing test for top-level runId in exec events
|
- [ ] E2E validation with Crabwalk
|
||||||
|
|
||||||
### Next
|
### Next
|
||||||
- [ ] Bead 3: Update Gateway exec-events.ts types (add top-level runId)
|
- [ ] Push to GitHub (failed earlier due to token permissions)
|
||||||
- [ ] Bead 4: Update bash-tools.exec.ts emission call sites
|
- [ ] Add test coverage for top-level runId
|
||||||
- [ ] Bead 5: E2E validation with Crabwalk
|
|
||||||
|
|
||||||
## Open Questions (RESOLVED)
|
## Open Questions (RESOLVED)
|
||||||
- ✅ CONFIRMED: Exec events ARE being emitted (Line 406-408, server.impl.ts)
|
- ✅ CONFIRMED: Exec events ARE being emitted (Line 406-408, server.impl.ts)
|
||||||
|
|||||||
@ -577,6 +577,7 @@ async function runExecProcess(opts: {
|
|||||||
emitExecEvent("exec.output", {
|
emitExecEvent("exec.output", {
|
||||||
sessionId,
|
sessionId,
|
||||||
runId: execEventsState.context?.runId,
|
runId: execEventsState.context?.runId,
|
||||||
|
sessionKey: execEventsState.context?.sessionKey,
|
||||||
pid: session.pid,
|
pid: session.pid,
|
||||||
command: session.command,
|
command: session.command,
|
||||||
commandName: execEventsState.commandName,
|
commandName: execEventsState.commandName,
|
||||||
@ -596,6 +597,7 @@ async function runExecProcess(opts: {
|
|||||||
emitExecEvent("exec.started", {
|
emitExecEvent("exec.started", {
|
||||||
sessionId,
|
sessionId,
|
||||||
runId: execEventsState.context?.runId,
|
runId: execEventsState.context?.runId,
|
||||||
|
sessionKey: execEventsState.context?.sessionKey,
|
||||||
pid: session.pid,
|
pid: session.pid,
|
||||||
command: session.command,
|
command: session.command,
|
||||||
commandName: execEventsState.commandName,
|
commandName: execEventsState.commandName,
|
||||||
@ -620,6 +622,7 @@ async function runExecProcess(opts: {
|
|||||||
emitExecEvent("exec.completed", {
|
emitExecEvent("exec.completed", {
|
||||||
sessionId,
|
sessionId,
|
||||||
runId: execEventsState.context?.runId,
|
runId: execEventsState.context?.runId,
|
||||||
|
sessionKey: execEventsState.context?.sessionKey,
|
||||||
pid: session.pid,
|
pid: session.pid,
|
||||||
command: session.command,
|
command: session.command,
|
||||||
commandName: execEventsState.commandName,
|
commandName: execEventsState.commandName,
|
||||||
|
|||||||
@ -15,6 +15,7 @@ type ExecEventBase = {
|
|||||||
seq: number;
|
seq: number;
|
||||||
sessionId: string;
|
sessionId: string;
|
||||||
runId?: string;
|
runId?: string;
|
||||||
|
sessionKey?: string;
|
||||||
pid?: number;
|
pid?: number;
|
||||||
command: string;
|
command: string;
|
||||||
commandName?: string;
|
commandName?: string;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user