@pat-lewczuk/cezar 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/README.md +124 -37
  2. package/dist/config.d.ts +46 -0
  3. package/dist/config.js +31 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/core/agent-runner.d.ts +16 -0
  6. package/dist/core/agent-runner.js +9 -0
  7. package/dist/core/agent-runner.js.map +1 -1
  8. package/dist/core/claude-cli-runner.d.ts +6 -0
  9. package/dist/core/claude-cli-runner.js +27 -43
  10. package/dist/core/claude-cli-runner.js.map +1 -1
  11. package/dist/core/claude-ui-mapper.d.ts +57 -0
  12. package/dist/core/claude-ui-mapper.js +370 -0
  13. package/dist/core/claude-ui-mapper.js.map +1 -0
  14. package/dist/core/codex-app-server-runner.js +42 -5
  15. package/dist/core/codex-app-server-runner.js.map +1 -1
  16. package/dist/core/codex-ui-mapper.d.ts +53 -0
  17. package/dist/core/codex-ui-mapper.js +411 -0
  18. package/dist/core/codex-ui-mapper.js.map +1 -0
  19. package/dist/core/opencode-server-runner.js +42 -5
  20. package/dist/core/opencode-server-runner.js.map +1 -1
  21. package/dist/core/opencode-ui-mapper.d.ts +105 -0
  22. package/dist/core/opencode-ui-mapper.js +578 -0
  23. package/dist/core/opencode-ui-mapper.js.map +1 -0
  24. package/dist/core/process-usage.d.ts +63 -0
  25. package/dist/core/process-usage.js +181 -0
  26. package/dist/core/process-usage.js.map +1 -0
  27. package/dist/core/tool-display.d.ts +27 -0
  28. package/dist/core/tool-display.js +150 -0
  29. package/dist/core/tool-display.js.map +1 -0
  30. package/dist/core/ui-events.d.ts +294 -0
  31. package/dist/core/ui-events.js +25 -0
  32. package/dist/core/ui-events.js.map +1 -0
  33. package/dist/git-worktree.d.ts +21 -0
  34. package/dist/git-worktree.js +48 -4
  35. package/dist/git-worktree.js.map +1 -1
  36. package/dist/handoff.d.ts +1 -1
  37. package/dist/handoff.js +2 -0
  38. package/dist/handoff.js.map +1 -1
  39. package/dist/index.js +34 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/pack-check.d.ts +17 -0
  42. package/dist/pack-check.js +27 -0
  43. package/dist/pack-check.js.map +1 -0
  44. package/dist/runs/store.d.ts +82 -1
  45. package/dist/runs/store.js +57 -5
  46. package/dist/runs/store.js.map +1 -1
  47. package/dist/runs/title-summary.d.ts +15 -0
  48. package/dist/runs/title-summary.js +84 -0
  49. package/dist/runs/title-summary.js.map +1 -0
  50. package/dist/runs/ui-event-sink.d.ts +81 -0
  51. package/dist/runs/ui-event-sink.js +210 -0
  52. package/dist/runs/ui-event-sink.js.map +1 -0
  53. package/dist/server/capabilities.d.ts +18 -0
  54. package/dist/server/capabilities.js +23 -0
  55. package/dist/server/capabilities.js.map +1 -0
  56. package/dist/server/forge/github.d.ts +39 -0
  57. package/dist/server/forge/github.js +369 -0
  58. package/dist/server/forge/github.js.map +1 -0
  59. package/dist/server/forge/index.d.ts +24 -0
  60. package/dist/server/forge/index.js +45 -0
  61. package/dist/server/forge/index.js.map +1 -0
  62. package/dist/server/forge/types.d.ts +80 -0
  63. package/dist/server/forge/types.js +2 -0
  64. package/dist/server/forge/types.js.map +1 -0
  65. package/dist/server/git-changes.d.ts +182 -0
  66. package/dist/server/git-changes.js +424 -0
  67. package/dist/server/git-changes.js.map +1 -0
  68. package/dist/server/git.js +12 -1
  69. package/dist/server/git.js.map +1 -1
  70. package/dist/server/github.d.ts +8 -29
  71. package/dist/server/github.js +7 -139
  72. package/dist/server/github.js.map +1 -1
  73. package/dist/server/open-in-app.d.ts +19 -0
  74. package/dist/server/open-in-app.js +134 -0
  75. package/dist/server/open-in-app.js.map +1 -0
  76. package/dist/server/pr.d.ts +5 -20
  77. package/dist/server/pr.js +4 -95
  78. package/dist/server/pr.js.map +1 -1
  79. package/dist/server/server.d.ts +30 -1
  80. package/dist/server/server.js +448 -19
  81. package/dist/server/server.js.map +1 -1
  82. package/dist/server/static-ui.d.ts +49 -0
  83. package/dist/server/static-ui.js +92 -0
  84. package/dist/server/static-ui.js.map +1 -0
  85. package/dist/update-check.d.ts +12 -0
  86. package/dist/update-check.js +41 -0
  87. package/dist/update-check.js.map +1 -0
  88. package/dist/workflows/run.d.ts +90 -0
  89. package/dist/workflows/run.js +412 -29
  90. package/dist/workflows/run.js.map +1 -1
  91. package/dist/workflows/types.d.ts +16 -16
  92. package/package.json +44 -6
  93. package/scripts/check-pack.mjs +46 -0
  94. package/scripts/dev.mjs +74 -0
  95. package/scripts/mock-claude.mjs +54 -2
  96. package/scripts/test-process-usage.mjs +47 -0
  97. package/web/dist/assets/arrow-left-BE957rJs.js +1 -0
  98. package/web/dist/assets/bundle-mjs-DLPpRFyl.js +1 -0
  99. package/web/dist/assets/centered-state-zgEVNWsj.js +43 -0
  100. package/web/dist/assets/chunk-BO2N2NFS-f5igTtpB.js +131 -0
  101. package/web/dist/assets/compare-variants-ChHCcSQX.js +1 -0
  102. package/web/dist/assets/core-BuMqAF_1.js +12 -0
  103. package/web/dist/assets/css-BsVw1vtW.js +1 -0
  104. package/web/dist/assets/dialog-DDRjj-uK.js +1 -0
  105. package/web/dist/assets/diff-view-CWRO0GMe.js +4 -0
  106. package/web/dist/assets/diff-woXpYk--.js +1 -0
  107. package/web/dist/assets/dist-id2CeyV-.js +1 -0
  108. package/web/dist/assets/ellipsis-vertical-DJPAfccS.js +1 -0
  109. package/web/dist/assets/engine-javascript-FQvzRocB.js +141 -0
  110. package/web/dist/assets/folder-RbRLfIX-.js +1 -0
  111. package/web/dist/assets/git-pull-request-DJkAMT0f.js +1 -0
  112. package/web/dist/assets/git-toolbar-C4jo602L.js +1 -0
  113. package/web/dist/assets/github-BOIzQFwE.js +1 -0
  114. package/web/dist/assets/go-rLFTqkRN.js +1 -0
  115. package/web/dist/assets/highlighted-body-OFNGDK62-DGHHie_q.js +1 -0
  116. package/web/dist/assets/highlighter-BKVEsACy.js +3 -0
  117. package/web/dist/assets/html-BY76lXLH.js +1 -0
  118. package/web/dist/assets/index-Bz_r8Jt3.css +2 -0
  119. package/web/dist/assets/index-Cv1pQs9U.js +11 -0
  120. package/web/dist/assets/input-BRsSo4xH.js +1 -0
  121. package/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  122. package/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  123. package/web/dist/assets/javascript-BgS3c2Ky.js +1 -0
  124. package/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  125. package/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  126. package/web/dist/assets/json-qhed-kSA.js +1 -0
  127. package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
  128. package/web/dist/assets/jsx-Bz0zcwM4.js +1 -0
  129. package/web/dist/assets/lib-CNGa3Dig.js +1 -0
  130. package/web/dist/assets/loader-circle-BV3DO9mE.js +1 -0
  131. package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
  132. package/web/dist/assets/markdown-CR_HLGTs.js +1 -0
  133. package/web/dist/assets/mermaid-GHXKKRXX-DM2VsGBG.js +1 -0
  134. package/web/dist/assets/open-mercato-toBr6SOa.svg +11 -0
  135. package/web/dist/assets/python-gzcpVVnB.js +1 -0
  136. package/web/dist/assets/react-dom-Ddtik4qM.js +1 -0
  137. package/web/dist/assets/refresh-cw-DCa-Rlwz.js +1 -0
  138. package/web/dist/assets/repo-git-BuyJiqna.js +1 -0
  139. package/web/dist/assets/run-diff-BocG6LVd.js +3 -0
  140. package/web/dist/assets/run-header-CDKw22ek.js +1 -0
  141. package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
  142. package/web/dist/assets/search-x-CoCyl7zT.js +1 -0
  143. package/web/dist/assets/shellscript-CLZ0U2zV.js +1 -0
  144. package/web/dist/assets/skill-detail-CcFFKmGO.js +1 -0
  145. package/web/dist/assets/skills-Bc_4U3yq.js +1 -0
  146. package/web/dist/assets/skills-ynuO5oCr.js +1 -0
  147. package/web/dist/assets/sql-BsFa4tDR.js +1 -0
  148. package/web/dist/assets/square-terminal-B6PZX4Qp.js +1 -0
  149. package/web/dist/assets/tab-link-C77EP3i6.js +1 -0
  150. package/web/dist/assets/task-changes-DsDgN8-x.js +1 -0
  151. package/web/dist/assets/task-commits-Dve6Fozc.js +1 -0
  152. package/web/dist/assets/task-files-BDMc_z0B.js +2 -0
  153. package/web/dist/assets/task-thread-CmRuPj9H.js +5 -0
  154. package/web/dist/assets/trash-2-CDtxmmc8.js +1 -0
  155. package/web/dist/assets/triangle-alert-6su4Js5O.js +1 -0
  156. package/web/dist/assets/tsx-udAQXfEw.js +1 -0
  157. package/web/dist/assets/typescript-bsJCZSQ-.js +1 -0
  158. package/web/dist/assets/upload-Bp7hQxll.js +1 -0
  159. package/web/dist/assets/use-desktop-CyEWsxSU.js +3 -0
  160. package/web/dist/assets/utils-rQGbOrwc.js +1 -0
  161. package/web/dist/assets/workflows-J3z3kYic.js +11 -0
  162. package/web/dist/assets/x-Br_jIDBw.js +1 -0
  163. package/web/dist/assets/yaml-rwi0_p6S.js +1 -0
  164. package/web/dist/index.html +67 -0
  165. package/web/app.js +0 -3428
  166. package/web/index.html +0 -108
  167. package/web/style.css +0 -1767
@@ -1 +1 @@
1
- {"version":3,"file":"claude-cli-runner.js","sourceRoot":"","sources":["../../src/core/claude-cli-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-cli-runner.js","sourceRoot":"","sources":["../../src/core/claude-cli-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Pure claude stream-json → protocol-v2 mapper. `mapClaudeMessage` folds one
3
+ * parsed NDJSON stdout line into `UiEvent`s plus the next mapper state; the
4
+ * runner calls it ALONGSIDE the v1 path (v1 events keep flowing unchanged).
5
+ *
6
+ * Contract: `.ai/analysis/cockpit-ui-redesign/agent-event-protocols.md` §1
7
+ * (wire format) and §7.1 "Claude (stream-json)" (the mapping). Golden
8
+ * fixtures replaying real wire shapes live in `__fixtures__/claude/`.
9
+ *
10
+ * Robustness rule: input is untrusted wire data — the mapper never throws;
11
+ * unknown message/block types map to zero events.
12
+ *
13
+ * State is explicit and treated as immutable: callers thread the returned
14
+ * `state` into the next call. Item ids are deterministic — tool items reuse
15
+ * the wire `tool_use` id; text/thinking blocks (which have no wire id) get
16
+ * sequential `item_<n>` ids, turns get `turn_<n>` — so replaying a stored
17
+ * transcript reproduces the exact event sequence.
18
+ */
19
+ import type { UiEvent, UiToolItem } from './ui-events.js';
20
+ export interface ClaudeUiMapperState {
21
+ /** Used when `system/init` lacks `session_id` (the dry-run mock does). */
22
+ readonly fallbackSessionId?: string;
23
+ /** True once `system/init` produced `session.started`. */
24
+ readonly sessionStarted: boolean;
25
+ /** Turns begun before init arrived — their `turn.started` is queued so
26
+ * `session.started` stays the first event on the wire. */
27
+ readonly pendingTurnIds: readonly string[];
28
+ readonly turnSeq: number;
29
+ readonly currentTurnId: string | null;
30
+ readonly itemSeq: number;
31
+ /** `tool_use` items awaiting their `tool_result`, keyed by tool_use id. */
32
+ readonly openTools: ReadonlyMap<string, UiToolItem>;
33
+ }
34
+ export interface ClaudeUiMapping {
35
+ events: UiEvent[];
36
+ state: ClaudeUiMapperState;
37
+ }
38
+ export declare function createClaudeUiState(opts?: {
39
+ fallbackSessionId?: string;
40
+ }): ClaudeUiMapperState;
41
+ /**
42
+ * Claude has no wire-level turn-start — the runner writing a user message to
43
+ * stdin IS the turn boundary, so the runner calls this on each send. Until
44
+ * `init` arrives the event is queued (the seed message is written before the
45
+ * first stdout line is read).
46
+ */
47
+ export declare function claudeTurnStarted(state: ClaudeUiMapperState): ClaudeUiMapping;
48
+ /** Fold one parsed stream-json message into v2 events. Never throws. */
49
+ export declare function mapClaudeMessage(msg: unknown, state: ClaudeUiMapperState): ClaudeUiMapping;
50
+ /** Flatten a `tool_result.content` (string or block array) to display text.
51
+ * Image blocks become a placeholder — they ride as their own events. */
52
+ export declare function stringifyToolResultContent(content: unknown): string;
53
+ /** base64 image blocks inside a tool_result's content, if any. */
54
+ export declare function toolResultImageBlocks(content: unknown): Array<{
55
+ media_type: string;
56
+ data: string;
57
+ }>;
@@ -0,0 +1,370 @@
1
+ /**
2
+ * Pure claude stream-json → protocol-v2 mapper. `mapClaudeMessage` folds one
3
+ * parsed NDJSON stdout line into `UiEvent`s plus the next mapper state; the
4
+ * runner calls it ALONGSIDE the v1 path (v1 events keep flowing unchanged).
5
+ *
6
+ * Contract: `.ai/analysis/cockpit-ui-redesign/agent-event-protocols.md` §1
7
+ * (wire format) and §7.1 "Claude (stream-json)" (the mapping). Golden
8
+ * fixtures replaying real wire shapes live in `__fixtures__/claude/`.
9
+ *
10
+ * Robustness rule: input is untrusted wire data — the mapper never throws;
11
+ * unknown message/block types map to zero events.
12
+ *
13
+ * State is explicit and treated as immutable: callers thread the returned
14
+ * `state` into the next call. Item ids are deterministic — tool items reuse
15
+ * the wire `tool_use` id; text/thinking blocks (which have no wire id) get
16
+ * sequential `item_<n>` ids, turns get `turn_<n>` — so replaying a stored
17
+ * transcript reproduces the exact event sequence.
18
+ */
19
+ import { toolDisplay } from './tool-display.js';
20
+ export function createClaudeUiState(opts = {}) {
21
+ return {
22
+ fallbackSessionId: opts.fallbackSessionId,
23
+ sessionStarted: false,
24
+ pendingTurnIds: [],
25
+ turnSeq: 0,
26
+ currentTurnId: null,
27
+ itemSeq: 0,
28
+ openTools: new Map(),
29
+ };
30
+ }
31
+ /**
32
+ * Claude has no wire-level turn-start — the runner writing a user message to
33
+ * stdin IS the turn boundary, so the runner calls this on each send. Until
34
+ * `init` arrives the event is queued (the seed message is written before the
35
+ * first stdout line is read).
36
+ */
37
+ export function claudeTurnStarted(state) {
38
+ const turnId = `turn_${state.turnSeq + 1}`;
39
+ const next = { ...state, turnSeq: state.turnSeq + 1, currentTurnId: turnId };
40
+ if (!state.sessionStarted) {
41
+ return { events: [], state: { ...next, pendingTurnIds: [...state.pendingTurnIds, turnId] } };
42
+ }
43
+ return { events: [{ type: 'turn.started', turnId }], state: next };
44
+ }
45
+ /** Fold one parsed stream-json message into v2 events. Never throws. */
46
+ export function mapClaudeMessage(msg, state) {
47
+ if (!isRecord(msg))
48
+ return { events: [], state };
49
+ switch (msg.type) {
50
+ case 'system':
51
+ return msg.subtype === 'init' ? mapInit(msg, state) : { events: [], state };
52
+ case 'assistant':
53
+ return mapAssistant(msg, state);
54
+ case 'user':
55
+ return mapToolResults(msg, state);
56
+ case 'result':
57
+ return mapResult(msg, state);
58
+ default:
59
+ // stream_event, control_request, … — nothing to render yet.
60
+ return { events: [], state };
61
+ }
62
+ }
63
+ // ---- system/init → session.started ----------------------------------------
64
+ function mapInit(msg, state) {
65
+ const event = {
66
+ type: 'session.started',
67
+ sessionId: str(msg.session_id) ?? state.fallbackSessionId ?? '',
68
+ backend: 'claude',
69
+ };
70
+ const model = str(msg.model);
71
+ if (model !== undefined)
72
+ event.model = model;
73
+ const cwd = str(msg.cwd);
74
+ if (cwd !== undefined)
75
+ event.cwd = cwd;
76
+ if (Array.isArray(msg.tools)) {
77
+ event.tools = msg.tools.filter((tool) => typeof tool === 'string');
78
+ }
79
+ const events = [event];
80
+ // Flush turns that began before init (the seeded first user message).
81
+ for (const turnId of state.pendingTurnIds)
82
+ events.push({ type: 'turn.started', turnId });
83
+ return { events, state: { ...state, sessionStarted: true, pendingTurnIds: [] } };
84
+ }
85
+ // ---- assistant blocks → message/reasoning/tool items -----------------------
86
+ function mapAssistant(msg, state) {
87
+ const content = messageContent(msg);
88
+ const parentItemId = str(msg.parent_tool_use_id);
89
+ const events = [];
90
+ let itemSeq = state.itemSeq;
91
+ let openTools = null;
92
+ for (const raw of content) {
93
+ if (!isRecord(raw))
94
+ continue;
95
+ if (raw.type === 'text' && typeof raw.text === 'string') {
96
+ // Whole blocks per API round-trip — claude sends no deltas in this
97
+ // mode, so we never fake `item.delta`s: started + completed.
98
+ const item = { kind: 'message', id: `item_${++itemSeq}`, role: 'assistant', text: raw.text };
99
+ if (parentItemId !== undefined)
100
+ item.parentItemId = parentItemId;
101
+ events.push({ type: 'item.started', item }, { type: 'item.completed', item });
102
+ }
103
+ else if (raw.type === 'thinking' && typeof raw.thinking === 'string') {
104
+ const item = { kind: 'reasoning', id: `item_${++itemSeq}`, text: raw.thinking };
105
+ if (parentItemId !== undefined)
106
+ item.parentItemId = parentItemId;
107
+ events.push({ type: 'item.started', item }, { type: 'item.completed', item });
108
+ }
109
+ else if (raw.type === 'tool_use' && typeof raw.id === 'string' && typeof raw.name === 'string') {
110
+ const display = toolDisplay(raw.name, raw.input);
111
+ const item = {
112
+ kind: 'tool',
113
+ id: raw.id,
114
+ name: raw.name,
115
+ toolKind: display.toolKind,
116
+ title: display.title,
117
+ // claude has no pending phase — a tool_use is already executing.
118
+ status: 'running',
119
+ };
120
+ if (raw.input !== undefined)
121
+ item.input = raw.input;
122
+ const edit = editArtifacts(raw.name, raw.input);
123
+ if (edit) {
124
+ if (edit.diffs)
125
+ item.diffs = edit.diffs;
126
+ item.locations = edit.locations;
127
+ }
128
+ if (parentItemId !== undefined)
129
+ item.parentItemId = parentItemId;
130
+ events.push({ type: 'item.started', item });
131
+ if (raw.name === 'TodoWrite') {
132
+ const entries = planEntries(raw.input);
133
+ if (entries)
134
+ events.push({ type: 'plan.updated', entries });
135
+ }
136
+ openTools ??= new Map(state.openTools);
137
+ openTools.set(raw.id, item);
138
+ }
139
+ // Unknown block types (redacted_thinking, server_tool_use, …): ignored.
140
+ }
141
+ if (events.length === 0)
142
+ return { events, state };
143
+ return { events, state: { ...state, itemSeq, openTools: openTools ?? state.openTools } };
144
+ }
145
+ /** claude `Edit`/`Write` inputs carry the diff inline (§7.1). */
146
+ function editArtifacts(name, input) {
147
+ const key = name.toLowerCase();
148
+ if (key !== 'edit' && key !== 'write')
149
+ return undefined;
150
+ if (!isRecord(input) || typeof input.file_path !== 'string' || input.file_path === '')
151
+ return undefined;
152
+ const path = input.file_path;
153
+ const locations = [{ path }];
154
+ if (key === 'edit') {
155
+ if (typeof input.old_string === 'string' && typeof input.new_string === 'string') {
156
+ return { diffs: [{ path, oldText: input.old_string, newText: input.new_string }], locations };
157
+ }
158
+ return { locations };
159
+ }
160
+ // Write: a created (or fully replaced) file — `oldText: null` per FileDiff.
161
+ const diff = { path, oldText: null };
162
+ if (typeof input.content === 'string')
163
+ diff.newText = input.content;
164
+ return { diffs: [diff], locations };
165
+ }
166
+ const PLAN_STATUSES = ['pending', 'in_progress', 'completed'];
167
+ /** TodoWrite input `{todos:[{content,status,activeForm}]}` → plan entries
168
+ * (full-replacement semantics — an empty list is a valid plan). */
169
+ function planEntries(input) {
170
+ if (!isRecord(input) || !Array.isArray(input.todos))
171
+ return undefined;
172
+ const entries = [];
173
+ for (const todo of input.todos) {
174
+ if (!isRecord(todo) || typeof todo.content !== 'string')
175
+ continue;
176
+ const status = PLAN_STATUSES.find((s) => s === todo.status);
177
+ if (status === undefined)
178
+ continue;
179
+ const entry = { content: todo.content, status };
180
+ if (typeof todo.activeForm === 'string')
181
+ entry.activeForm = todo.activeForm;
182
+ entries.push(entry);
183
+ }
184
+ return entries;
185
+ }
186
+ // ---- user tool_result blocks → item.completed (+ image events) -------------
187
+ function mapToolResults(msg, state) {
188
+ const content = messageContent(msg);
189
+ const parentItemId = str(msg.parent_tool_use_id);
190
+ const events = [];
191
+ let openTools = null;
192
+ for (const raw of content) {
193
+ if (!isRecord(raw) || raw.type !== 'tool_result' || typeof raw.tool_use_id !== 'string')
194
+ continue;
195
+ const open = (openTools ?? state.openTools).get(raw.tool_use_id);
196
+ // A result for a tool we never saw start (state loss) still completes an
197
+ // item — consumers upsert by id, so a lone snapshot renders fine.
198
+ const item = open
199
+ ? { ...open }
200
+ : { kind: 'tool', id: raw.tool_use_id, name: 'unknown', toolKind: 'other', title: 'Tool', status: 'running' };
201
+ if (!open && parentItemId !== undefined)
202
+ item.parentItemId = parentItemId;
203
+ const text = stringifyToolResultContent(raw.content);
204
+ if (raw.is_error === true) {
205
+ item.status = 'failed';
206
+ item.error = text;
207
+ }
208
+ else {
209
+ item.status = 'completed';
210
+ item.output = text;
211
+ }
212
+ events.push({ type: 'item.completed', item });
213
+ for (const img of toolResultImageBlocks(raw.content)) {
214
+ events.push({ type: 'image', itemId: raw.tool_use_id, mediaType: img.media_type, data: img.data });
215
+ }
216
+ openTools ??= new Map(state.openTools);
217
+ openTools.delete(raw.tool_use_id);
218
+ }
219
+ if (events.length === 0)
220
+ return { events, state };
221
+ return { events, state: { ...state, openTools: openTools ?? state.openTools } };
222
+ }
223
+ // ---- result → declined tools + turn.completed + usage.updated --------------
224
+ function mapResult(msg, state) {
225
+ const events = [];
226
+ let itemSeq = state.itemSeq;
227
+ let turnSeq = state.turnSeq;
228
+ let openTools = null;
229
+ if (Array.isArray(msg.permission_denials)) {
230
+ for (const raw of msg.permission_denials) {
231
+ if (!isRecord(raw) || typeof raw.tool_name !== 'string')
232
+ continue;
233
+ const id = typeof raw.tool_use_id === 'string' ? raw.tool_use_id : `item_${++itemSeq}`;
234
+ const open = (openTools ?? state.openTools).get(id);
235
+ let item;
236
+ if (open) {
237
+ item = { ...open, status: 'declined' };
238
+ openTools ??= new Map(state.openTools);
239
+ openTools.delete(id);
240
+ }
241
+ else {
242
+ const display = toolDisplay(raw.tool_name, raw.tool_input);
243
+ item = {
244
+ kind: 'tool',
245
+ id,
246
+ name: raw.tool_name,
247
+ toolKind: display.toolKind,
248
+ title: display.title,
249
+ status: 'declined',
250
+ };
251
+ if (raw.tool_input !== undefined)
252
+ item.input = raw.tool_input;
253
+ }
254
+ events.push({ type: 'item.completed', item });
255
+ }
256
+ }
257
+ const turnId = state.currentTurnId ?? `turn_${++turnSeq}`;
258
+ const usage = rawTokenUsage(msg.usage);
259
+ const costUsd = typeof msg.total_cost_usd === 'number' && Number.isFinite(msg.total_cost_usd)
260
+ ? msg.total_cost_usd
261
+ : undefined;
262
+ const turnEvent = { type: 'turn.completed', turnId, stopReason: resultStopReason(msg) };
263
+ if (usage)
264
+ turnEvent.usage = usage;
265
+ if (costUsd !== undefined)
266
+ turnEvent.costUsd = costUsd;
267
+ events.push(turnEvent);
268
+ if (usage) {
269
+ const usageEvent = { type: 'usage.updated', usage };
270
+ if (costUsd !== undefined)
271
+ usageEvent.costUsd = costUsd;
272
+ events.push(usageEvent);
273
+ }
274
+ return {
275
+ events,
276
+ state: { ...state, itemSeq, turnSeq, currentTurnId: null, openTools: openTools ?? state.openTools },
277
+ };
278
+ }
279
+ /** §7.1: success→end_turn, error_max_turns→max_tokens,
280
+ * error_during_execution→error; unknown subtypes fall back on `is_error`. */
281
+ function resultStopReason(msg) {
282
+ switch (msg.subtype) {
283
+ case 'success':
284
+ return 'end_turn';
285
+ case 'error_max_turns':
286
+ return 'max_tokens';
287
+ case 'error_during_execution':
288
+ return 'error';
289
+ default:
290
+ return msg.is_error === true ? 'error' : 'end_turn';
291
+ }
292
+ }
293
+ /** Raw counts straight off the wire — never cost-weighted (that stays a
294
+ * presentation concern; v1's `token-usage` keeps the weighted number). */
295
+ function rawTokenUsage(usage) {
296
+ if (!isRecord(usage))
297
+ return undefined;
298
+ const input = num(usage.input_tokens) ?? 0;
299
+ const output = num(usage.output_tokens) ?? 0;
300
+ const cacheRead = num(usage.cache_read_input_tokens);
301
+ const cacheWrite = num(usage.cache_creation_input_tokens);
302
+ const result = {
303
+ input,
304
+ output,
305
+ total: input + output + (cacheRead ?? 0) + (cacheWrite ?? 0),
306
+ };
307
+ if (cacheRead !== undefined)
308
+ result.cacheRead = cacheRead;
309
+ if (cacheWrite !== undefined)
310
+ result.cacheWrite = cacheWrite;
311
+ return result;
312
+ }
313
+ // ---- shared wire helpers (also used by the v1 path in the runner) ----------
314
+ /** Flatten a `tool_result.content` (string or block array) to display text.
315
+ * Image blocks become a placeholder — they ride as their own events. */
316
+ export function stringifyToolResultContent(content) {
317
+ if (typeof content === 'string')
318
+ return content;
319
+ if (Array.isArray(content)) {
320
+ return content
321
+ .map((c) => {
322
+ const b = c;
323
+ if (b.type === 'text' && typeof b.text === 'string')
324
+ return b.text;
325
+ if (b.type === 'image')
326
+ return '[screenshot]'; // emitted as its own image event
327
+ try {
328
+ return JSON.stringify(b);
329
+ }
330
+ catch {
331
+ return String(b);
332
+ }
333
+ })
334
+ .join('\n');
335
+ }
336
+ try {
337
+ return JSON.stringify(content);
338
+ }
339
+ catch {
340
+ return String(content);
341
+ }
342
+ }
343
+ /** base64 image blocks inside a tool_result's content, if any. */
344
+ export function toolResultImageBlocks(content) {
345
+ if (!Array.isArray(content))
346
+ return [];
347
+ const out = [];
348
+ for (const c of content) {
349
+ const b = c;
350
+ if (b.type === 'image' && b.source?.type === 'base64' && b.source.media_type && b.source.data) {
351
+ out.push({ media_type: b.source.media_type, data: b.source.data });
352
+ }
353
+ }
354
+ return out;
355
+ }
356
+ // ---- tiny guards ------------------------------------------------------------
357
+ function isRecord(value) {
358
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
359
+ }
360
+ function messageContent(msg) {
361
+ const message = isRecord(msg.message) ? msg.message : undefined;
362
+ return message && Array.isArray(message.content) ? message.content : [];
363
+ }
364
+ function str(value) {
365
+ return typeof value === 'string' && value !== '' ? value : undefined;
366
+ }
367
+ function num(value) {
368
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
369
+ }
370
+ //# sourceMappingURL=claude-ui-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-ui-mapper.js","sourceRoot":"","sources":["../../src/core/claude-ui-mapper.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { spawn as nodeSpawn } from 'node:child_process';
2
+ import { prependSystemPrompt } from './agent-runner.js';
2
3
  import { AUTO_END_DELAY_MS, DEFAULT_RUN_TIMEOUT_MS, EOF_KILL_GRACE_MS, EOF_TERM_GRACE_MS, KILL_GRACE_MS, } from './claude-cli-runner.js';
3
4
  import { readNdjson } from './ndjson.js';
5
+ import { codexSessionStarted, createCodexUiState, mapCodexNotification, } from './codex-ui-mapper.js';
4
6
  /**
5
7
  * `AgentRunner` over `codex app-server` — the same JSONL transport the VS Code
6
8
  * extension and desktop app use (JSON-RPC 2.0, newline-delimited, over
@@ -59,13 +61,26 @@ class CodexSession {
59
61
  eofKillTimer;
60
62
  spawnFailed = null;
61
63
  timedOut = false;
64
+ /** Protocol v2 emission — additive alongside v1 (`onEvent` keeps flowing
65
+ * byte-identical); the channel is `opts.onUiEvent` (RunManager wiring
66
+ * lands in R2 step 2.1). */
67
+ uiState = createCodexUiState();
62
68
  constructor(bin, timeoutMs, spec, onEvent, opts) {
63
69
  this.bin = bin;
64
70
  this.spec = spec;
65
71
  this.onEvent = onEvent;
66
72
  this.opts = opts;
67
73
  try {
68
- this.child = nodeSpawn(bin, ['app-server'], {
74
+ // Give the workspace-write sandbox network access so agent tools that need the network
75
+ // (gh, npm, git over https) work — otherwise `gh` fails with "error connecting to
76
+ // api.github.com" under codex while the same tool works under claude (#codex-network).
77
+ // `-c` is codex's documented config override (dotted key, TOML value); opt out with
78
+ // CEZ_CODEX_NETWORK=0.
79
+ const args = ['app-server'];
80
+ if (process.env.CEZ_CODEX_NETWORK !== '0') {
81
+ args.push('-c', 'sandbox_workspace_write.network_access=true');
82
+ }
83
+ this.child = nodeSpawn(bin, args, {
69
84
  cwd: spec.cwd,
70
85
  env: { ...process.env, ...spec.env },
71
86
  });
@@ -111,6 +126,7 @@ class CodexSession {
111
126
  catch {
112
127
  continue; // not JSON-RPC — skip
113
128
  }
129
+ this.emitUi((state) => mapCodexNotification(msg, state));
114
130
  this.dispatch(msg);
115
131
  }
116
132
  }
@@ -164,6 +180,9 @@ class CodexSession {
164
180
  get open() {
165
181
  return this.stdinOpen;
166
182
  }
183
+ get pid() {
184
+ return this.child.pid;
185
+ }
167
186
  sendMessage(content) {
168
187
  if (!this.stdinOpen)
169
188
  return false;
@@ -234,14 +253,17 @@ class CodexSession {
234
253
  const res = await this.request('thread/start', clean(overrides));
235
254
  this.threadId = threadIdOf(res) ?? this.spec.sessionId;
236
255
  }
237
- if (this.threadId)
256
+ if (this.threadId) {
238
257
  this.emit({ type: 'session', sessionId: this.threadId });
258
+ // The result path (thread/start response, or thread/resume which sends
259
+ // no thread/started notification) — deduplicated inside the mapper.
260
+ const threadId = this.threadId;
261
+ this.emitUi((state) => codexSessionStarted(threadId, state));
262
+ }
239
263
  // Seed the first turn. The system prompt (skill body + handoff contract)
240
264
  // has no dedicated app-server field, so it rides along as a leading block
241
265
  // of the opening message.
242
- const first = this.spec.systemPrompt
243
- ? `${this.spec.systemPrompt}\n\n---\n\n${this.spec.userPrompt}`
244
- : this.spec.userPrompt;
266
+ const first = prependSystemPrompt(this.spec.systemPrompt, this.spec.userPrompt);
245
267
  await this.startOrSteerTurn(first);
246
268
  }
247
269
  async startOrSteerTurn(text) {
@@ -371,6 +393,21 @@ class CodexSession {
371
393
  emit(event) {
372
394
  this.onEvent?.(event);
373
395
  }
396
+ /** The mapper never throws, but a defect in it must still never disturb
397
+ * the v1 stream — hence the belt-and-braces try. */
398
+ emitUi(map) {
399
+ try {
400
+ const mapped = map(this.uiState);
401
+ this.uiState = mapped.state;
402
+ if (this.opts.onUiEvent) {
403
+ for (const event of mapped.events)
404
+ this.opts.onUiEvent(event);
405
+ }
406
+ }
407
+ catch {
408
+ // v2 mapping is best-effort; v1 consumers stay unaffected.
409
+ }
410
+ }
374
411
  }
375
412
  /** ThreadItem `type`s that are conversation text, not tool activity. */
376
413
  const NON_TOOL_ITEMS = new Set(['agentMessage', 'userMessage', 'reasoning', 'plan']);