@gencode/uni 0.3.0 → 0.4.0

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 (78) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +104 -0
  3. package/dist/shared/src/hitl.d.ts +5 -0
  4. package/dist/shared/src/hitl.d.ts.map +1 -1
  5. package/dist/shared/src/hitl.js.map +1 -1
  6. package/dist/shared/src/index.d.ts +1 -1
  7. package/dist/shared/src/index.d.ts.map +1 -1
  8. package/dist/shared/src/index.js.map +1 -1
  9. package/dist/shared/src/run-events.d.ts +3 -0
  10. package/dist/shared/src/run-events.d.ts.map +1 -1
  11. package/dist/shared/src/session.d.ts +13 -0
  12. package/dist/shared/src/session.d.ts.map +1 -1
  13. package/dist/uni/src/artifacts/accumulator.d.ts +17 -0
  14. package/dist/uni/src/artifacts/accumulator.d.ts.map +1 -0
  15. package/dist/uni/src/artifacts/accumulator.js +73 -0
  16. package/dist/uni/src/artifacts/accumulator.js.map +1 -0
  17. package/dist/uni/src/artifacts/parser.d.ts +14 -0
  18. package/dist/uni/src/artifacts/parser.d.ts.map +1 -0
  19. package/dist/uni/src/artifacts/parser.js +151 -0
  20. package/dist/uni/src/artifacts/parser.js.map +1 -0
  21. package/dist/uni/src/artifacts/stream-filter.d.ts +16 -0
  22. package/dist/uni/src/artifacts/stream-filter.d.ts.map +1 -0
  23. package/dist/uni/src/artifacts/stream-filter.js +93 -0
  24. package/dist/uni/src/artifacts/stream-filter.js.map +1 -0
  25. package/dist/uni/src/artifacts/tool-inference.d.ts +11 -0
  26. package/dist/uni/src/artifacts/tool-inference.d.ts.map +1 -0
  27. package/dist/uni/src/artifacts/tool-inference.js +257 -0
  28. package/dist/uni/src/artifacts/tool-inference.js.map +1 -0
  29. package/dist/uni/src/events/normalizer.d.ts.map +1 -1
  30. package/dist/uni/src/events/normalizer.js +8 -1
  31. package/dist/uni/src/events/normalizer.js.map +1 -1
  32. package/dist/uni/src/events/provider-events.d.ts.map +1 -1
  33. package/dist/uni/src/events/provider-events.js +353 -56
  34. package/dist/uni/src/events/provider-events.js.map +1 -1
  35. package/dist/uni/src/program.d.ts.map +1 -1
  36. package/dist/uni/src/program.js +8 -4
  37. package/dist/uni/src/program.js.map +1 -1
  38. package/dist/uni/src/providers/claude-code.d.ts.map +1 -1
  39. package/dist/uni/src/providers/claude-code.js +6 -2
  40. package/dist/uni/src/providers/claude-code.js.map +1 -1
  41. package/dist/uni/src/providers/codex.d.ts.map +1 -1
  42. package/dist/uni/src/providers/codex.js +13 -7
  43. package/dist/uni/src/providers/codex.js.map +1 -1
  44. package/dist/uni/src/providers/opencode.d.ts.map +1 -1
  45. package/dist/uni/src/providers/opencode.js +6 -2
  46. package/dist/uni/src/providers/opencode.js.map +1 -1
  47. package/dist/uni/src/providers/pi.d.ts.map +1 -1
  48. package/dist/uni/src/providers/pi.js +14 -5
  49. package/dist/uni/src/providers/pi.js.map +1 -1
  50. package/dist/uni/src/providers/provider-state.d.ts +10 -0
  51. package/dist/uni/src/providers/provider-state.d.ts.map +1 -0
  52. package/dist/uni/src/providers/provider-state.js +50 -0
  53. package/dist/uni/src/providers/provider-state.js.map +1 -0
  54. package/dist/uni/src/providers/spawned-provider.d.ts.map +1 -1
  55. package/dist/uni/src/providers/spawned-provider.js +36 -4
  56. package/dist/uni/src/providers/spawned-provider.js.map +1 -1
  57. package/dist/uni/src/run.d.ts.map +1 -1
  58. package/dist/uni/src/run.js +852 -336
  59. package/dist/uni/src/run.js.map +1 -1
  60. package/dist/uni/src/session/artifact-operation-store.d.ts +66 -0
  61. package/dist/uni/src/session/artifact-operation-store.d.ts.map +1 -0
  62. package/dist/uni/src/session/artifact-operation-store.js +370 -0
  63. package/dist/uni/src/session/artifact-operation-store.js.map +1 -0
  64. package/dist/uni/src/session/context-store.d.ts +37 -0
  65. package/dist/uni/src/session/context-store.d.ts.map +1 -0
  66. package/dist/uni/src/session/context-store.js +222 -0
  67. package/dist/uni/src/session/context-store.js.map +1 -0
  68. package/dist/uni/src/session/session-store.d.ts +57 -2
  69. package/dist/uni/src/session/session-store.d.ts.map +1 -1
  70. package/dist/uni/src/session/session-store.js +484 -15
  71. package/dist/uni/src/session/session-store.js.map +1 -1
  72. package/dist/uni/src/transcript/turn-accumulator.d.ts +57 -0
  73. package/dist/uni/src/transcript/turn-accumulator.d.ts.map +1 -0
  74. package/dist/uni/src/transcript/turn-accumulator.js +136 -0
  75. package/dist/uni/src/transcript/turn-accumulator.js.map +1 -0
  76. package/dist/uni/src/types.d.ts +25 -1
  77. package/dist/uni/src/types.d.ts.map +1 -1
  78. package/package.json +2 -2
@@ -75,32 +75,115 @@ function parseUsageValue(input) {
75
75
  ?? parseNumberValue(usage.output_tokens)
76
76
  ?? parseNumberValue(usage.completion_tokens);
77
77
  const totalTokens = parseNumberValue(usage.total)
78
- ?? parseNumberValue(usage.total_tokens);
79
- if (inputTokens === undefined && outputTokens === undefined && totalTokens === undefined) {
78
+ ?? parseNumberValue(usage.total_tokens)
79
+ ?? parseNumberValue(usage.totalTokens);
80
+ // The shared usage envelope requires both components. Omitting a missing
81
+ // component is safer than manufacturing a zero that the provider did not
82
+ // report.
83
+ if (inputTokens === undefined || outputTokens === undefined) {
80
84
  return undefined;
81
85
  }
82
- const inputTotal = inputTokens ?? 0;
83
- const outputTotal = outputTokens ?? 0;
86
+ if (inputTokens < 0 || outputTokens < 0 || (totalTokens !== undefined && totalTokens < 0)) {
87
+ return undefined;
88
+ }
89
+ return {
90
+ input: inputTokens,
91
+ output: outputTokens,
92
+ total: totalTokens ?? inputTokens + outputTokens,
93
+ };
94
+ }
95
+ function parseModelValue(...inputs) {
96
+ for (const input of inputs) {
97
+ const direct = parseTextValue(input);
98
+ if (direct) {
99
+ return direct;
100
+ }
101
+ const record = parseObjectRecord(input);
102
+ const nested = parseTextValue(record?.model)
103
+ ?? parseTextValue(record?.modelId)
104
+ ?? parseTextValue(record?.modelID);
105
+ if (nested) {
106
+ return nested;
107
+ }
108
+ }
109
+ return undefined;
110
+ }
111
+ function parseMessageText(input) {
112
+ const message = parseObjectRecord(input);
113
+ return parseStructuredContentText(message?.content)
114
+ ?? parseTextValue(message?.text);
115
+ }
116
+ function parseToolOutput(input) {
117
+ const text = parseStructuredContentText(input);
118
+ if (text !== undefined) {
119
+ return text;
120
+ }
121
+ const record = parseObjectRecord(input);
122
+ const nested = parseStructuredContentText(record?.content)
123
+ ?? parseTextValue(record?.output)
124
+ ?? parseTextValue(record?.text);
125
+ if (nested !== undefined) {
126
+ return nested;
127
+ }
128
+ if (input === undefined || input === null) {
129
+ return "";
130
+ }
131
+ try {
132
+ return JSON.stringify(input);
133
+ }
134
+ catch {
135
+ return String(input);
136
+ }
137
+ }
138
+ function doneEvent(params) {
139
+ return {
140
+ type: "done",
141
+ ...(params.text !== undefined ? { text: params.text } : {}),
142
+ ...(params.usage ? { usage: params.usage } : {}),
143
+ ...(params.model ? { model: params.model } : {}),
144
+ };
145
+ }
146
+ function errorEvent(params) {
84
147
  return {
85
- input: inputTotal,
86
- output: outputTotal,
87
- total: totalTokens ?? inputTotal + outputTotal,
148
+ type: "error",
149
+ message: params.message,
150
+ ...(params.usage ? { usage: params.usage } : {}),
151
+ ...(params.model ? { model: params.model } : {}),
88
152
  };
89
153
  }
154
+ function parseErrorMessage(input) {
155
+ return parseTextValue(input)
156
+ ?? parseTextValue(parseObjectRecord(input)?.message)
157
+ ?? parseTextValue(parseObjectRecord(input)?.error);
158
+ }
159
+ function redactProviderIdentifiers(message, ...identifiers) {
160
+ let redacted = message;
161
+ for (const identifier of identifiers) {
162
+ if (identifier) {
163
+ redacted = redacted.replaceAll(identifier, "[provider-session]");
164
+ }
165
+ }
166
+ return redacted;
167
+ }
90
168
  export function parseClaudeCodeEvent(line) {
91
169
  const raw = parseJsonLine(line);
92
170
  if (!raw) {
93
- return [{ type: "text_delta", text: line }];
171
+ return [{ type: "raw", payload: line }];
94
172
  }
95
173
  const eventType = parseTextValue(raw.type) ?? parseTextValue(raw.event);
96
- const message = raw.message;
174
+ const message = parseObjectRecord(raw.message);
97
175
  const result = raw.result;
98
176
  const sessionId = parseTextValue(raw.session_id) ?? parseTextValue(raw.sessionId);
99
177
  if (eventType === "system" && parseTextValue(raw.subtype) === "init" && sessionId) {
100
- return [{ type: "session_started", sessionId }];
178
+ const model = parseModelValue(raw.model, message?.model);
179
+ return [{
180
+ type: "session_started",
181
+ sessionId,
182
+ ...(model ? { model } : {}),
183
+ }];
101
184
  }
102
185
  if (eventType === "system" && parseTextValue(raw.subtype) === "api_retry") {
103
- const error = parseTextValue(raw.error) ?? "api_retry";
186
+ const error = redactProviderIdentifiers(parseTextValue(raw.error) ?? "api_retry", sessionId);
104
187
  const status = parseNumberValue(raw.error_status);
105
188
  const attempt = parseNumberValue(raw.attempt);
106
189
  const maxRetries = parseNumberValue(raw.max_retries);
@@ -121,43 +204,70 @@ export function parseClaudeCodeEvent(line) {
121
204
  }];
122
205
  }
123
206
  if (eventType === "assistant" || eventType === "message") {
124
- const content = parseObjectRecord(message)?.content;
207
+ const content = message?.content;
125
208
  const blocks = parseContentBlocks(content);
126
- const toolEvents = blocks.flatMap((item) => {
127
- if (parseTextValue(item.type) !== "tool_use") {
209
+ const blockEvents = blocks.flatMap((item) => {
210
+ const blockType = parseTextValue(item.type);
211
+ if (blockType === "thinking") {
212
+ const thinking = parseTextValue(item.thinking) ?? parseTextValue(item.text);
213
+ return thinking ? [{ type: "thinking_delta", text: thinking }] : [];
214
+ }
215
+ if (blockType === "text") {
216
+ const text = parseTextValue(item.text);
217
+ return text ? [{ type: "text_delta", text }] : [];
218
+ }
219
+ if (blockType === "tool_use") {
220
+ const toolCallId = parseTextValue(item.id);
221
+ const name = parseTextValue(item.name);
222
+ if (!toolCallId || !name) {
223
+ return [];
224
+ }
225
+ return [{
226
+ type: "tool_start",
227
+ toolCallId,
228
+ name,
229
+ input: parseObjectRecord(item.input) ?? {},
230
+ }];
231
+ }
232
+ return [];
233
+ });
234
+ if (blockEvents.length > 0) {
235
+ return blockEvents;
236
+ }
237
+ const text = parseTextValue(raw.text)
238
+ ?? parseTextValue(raw.delta)
239
+ ?? parseTextValue(message?.text);
240
+ return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
241
+ }
242
+ if (eventType === "user") {
243
+ const toolResults = parseContentBlocks(message?.content).flatMap((item) => {
244
+ if (parseTextValue(item.type) !== "tool_result") {
128
245
  return [];
129
246
  }
130
- const toolCallId = parseTextValue(item.id);
131
- const name = parseTextValue(item.name);
132
- if (!toolCallId || !name) {
247
+ const toolCallId = parseTextValue(item.tool_use_id) ?? parseTextValue(item.id);
248
+ if (!toolCallId) {
133
249
  return [];
134
250
  }
135
- const inputRecord = parseObjectRecord(item.input) ?? {};
136
251
  return [{
137
- type: "tool_start",
252
+ type: "tool_end",
138
253
  toolCallId,
139
- name,
140
- input: inputRecord,
254
+ name: parseTextValue(item.name) ?? "tool_result",
255
+ input: parseObjectRecord(item.input) ?? {},
256
+ output: parseToolOutput(item.content),
257
+ isError: Boolean(item.is_error),
141
258
  }];
142
259
  });
143
- if (toolEvents.length > 0) {
144
- return toolEvents;
145
- }
146
- const nestedText = blocks
147
- .map((item) => parseTextValue(item.text))
148
- .filter((value) => typeof value === "string" && value.length > 0)
149
- .join("\n");
150
- const text = parseTextValue(raw.text)
151
- ?? parseTextValue(raw.delta)
152
- ?? parseTextValue(parseObjectRecord(message)?.text)
153
- ?? nestedText;
154
- return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
260
+ return toolResults.length > 0 ? toolResults : [{ type: "raw", payload: raw }];
155
261
  }
156
262
  if (eventType === "content_block_delta") {
157
263
  const delta = parseObjectRecord(raw.delta);
264
+ const deltaType = parseTextValue(delta?.type);
265
+ const thinking = parseTextValue(delta?.thinking);
266
+ if (deltaType === "thinking_delta" || thinking) {
267
+ return thinking ? [{ type: "thinking_delta", text: thinking }] : [{ type: "raw", payload: raw }];
268
+ }
158
269
  const text = parseTextValue(raw.text)
159
270
  ?? parseTextValue(delta?.text)
160
- ?? parseTextValue(delta?.partial_json)
161
271
  ?? parseTextValue(delta?.delta);
162
272
  return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
163
273
  }
@@ -183,14 +293,30 @@ export function parseClaudeCodeEvent(line) {
183
293
  ?? (result && typeof result === "object" ? parseTextValue(result.text) : undefined);
184
294
  const usage = parseUsageValue(raw.usage)
185
295
  ?? (result && typeof result === "object" ? parseUsageValue(result.usage) : undefined);
186
- return [{ type: "done", text, usage }];
296
+ const model = parseModelValue(raw.model, message?.model, parseObjectRecord(result)?.model);
297
+ const subtype = parseTextValue(raw.subtype);
298
+ if (raw.is_error === true || subtype?.startsWith("error")) {
299
+ return [errorEvent({
300
+ message: redactProviderIdentifiers(text ?? parseErrorMessage(raw.error) ?? "Claude Code run failed", sessionId),
301
+ usage,
302
+ model,
303
+ })];
304
+ }
305
+ return [doneEvent({ text, usage, model })];
306
+ }
307
+ if (eventType === "error") {
308
+ return [errorEvent({
309
+ message: redactProviderIdentifiers(parseErrorMessage(raw.error) ?? parseTextValue(raw.message) ?? "Claude Code run failed", sessionId),
310
+ usage: parseUsageValue(raw.usage),
311
+ model: parseModelValue(raw.model),
312
+ })];
187
313
  }
188
314
  return [{ type: "raw", payload: raw }];
189
315
  }
190
316
  export function parseCodexEvent(line) {
191
317
  const raw = parseJsonLine(line);
192
318
  if (!raw) {
193
- return [{ type: "text_delta", text: line }];
319
+ return [{ type: "raw", payload: line }];
194
320
  }
195
321
  const eventType = parseTextValue(raw.type);
196
322
  const text = parseTextValue(raw.delta)
@@ -201,24 +327,116 @@ export function parseCodexEvent(line) {
201
327
  ?? parseUsageValue(raw.token_usage)
202
328
  ?? parseUsageValue(raw.tokenUsage)
203
329
  ?? (raw.result && typeof raw.result === "object" ? parseUsageValue(raw.result.usage) : undefined);
204
- if (threadId) {
330
+ const model = parseModelValue(raw.model, parseObjectRecord(raw.result)?.model);
331
+ if (eventType === "thread.started" && threadId) {
205
332
  return [{ type: "session_started", sessionId: threadId }];
206
333
  }
207
- if (eventType && eventType.includes("error")) {
208
- return [{ type: "error", message: text ?? JSON.stringify(raw) }];
334
+ if (eventType === "item.started" || eventType === "item.updated" || eventType === "item.completed") {
335
+ const item = parseObjectRecord(raw.item);
336
+ const itemId = parseTextValue(item?.id);
337
+ const itemType = parseTextValue(item?.type);
338
+ if (!item || !itemId || !itemType) {
339
+ return [{ type: "raw", payload: raw }];
340
+ }
341
+ if (itemType === "agent_message") {
342
+ const itemText = parseTextValue(item.text) ?? parseStructuredContentText(item.content);
343
+ return itemText ? [{ type: "text_delta", text: itemText }] : [{ type: "raw", payload: raw }];
344
+ }
345
+ if (itemType === "reasoning") {
346
+ const reasoning = parseTextValue(item.text) ?? parseStructuredContentText(item.content);
347
+ return reasoning ? [{ type: "thinking_delta", text: reasoning }] : [{ type: "raw", payload: raw }];
348
+ }
349
+ if (itemType === "error") {
350
+ return [errorEvent({
351
+ message: redactProviderIdentifiers(parseTextValue(item.message) ?? parseTextValue(item.text) ?? "Codex item failed", threadId),
352
+ model,
353
+ })];
354
+ }
355
+ if (itemType === "command_execution") {
356
+ const command = parseTextValue(item.command) ?? "";
357
+ if (eventType === "item.started") {
358
+ return [{
359
+ type: "tool_start",
360
+ toolCallId: itemId,
361
+ name: itemType,
362
+ input: { command },
363
+ }];
364
+ }
365
+ if (eventType === "item.completed") {
366
+ const exitCode = parseNumberValue(item.exit_code) ?? parseNumberValue(item.exitCode);
367
+ const status = parseTextValue(item.status);
368
+ return [{
369
+ type: "tool_end",
370
+ toolCallId: itemId,
371
+ name: itemType,
372
+ input: { command },
373
+ output: parseTextValue(item.aggregated_output) ?? parseTextValue(item.output) ?? "",
374
+ isError: status === "failed" || (exitCode !== undefined && exitCode !== 0),
375
+ }];
376
+ }
377
+ return [{ type: "raw", payload: raw }];
378
+ }
379
+ if (itemType === "file_change") {
380
+ const input = { changes: item.changes ?? [] };
381
+ if (eventType !== "item.completed") {
382
+ return [{ type: "raw", payload: raw }];
383
+ }
384
+ const status = parseTextValue(item.status);
385
+ return [{
386
+ type: "file_operation",
387
+ operationId: itemId,
388
+ name: itemType,
389
+ input,
390
+ output: parseToolOutput(item.result ?? item.output ?? item.changes),
391
+ isError: status === "failed" || Boolean(item.error),
392
+ }];
393
+ }
394
+ if (itemType === "mcp_tool_call") {
395
+ const input = parseObjectRecord(item.arguments) ?? parseObjectRecord(item.input) ?? {};
396
+ const server = parseTextValue(item.server)
397
+ ?? parseTextValue(item.server_name)
398
+ ?? "unknown";
399
+ const tool = parseTextValue(item.tool) ?? parseTextValue(item.name) ?? "unknown";
400
+ const name = `mcp:${server}:${tool}`;
401
+ if (eventType === "item.started") {
402
+ return [{ type: "tool_start", toolCallId: itemId, name, input }];
403
+ }
404
+ if (eventType === "item.completed") {
405
+ const status = parseTextValue(item.status);
406
+ return [{
407
+ type: "tool_end",
408
+ toolCallId: itemId,
409
+ name,
410
+ input,
411
+ output: parseToolOutput(item.result ?? item.output ?? item.changes),
412
+ isError: status === "failed" || Boolean(item.error),
413
+ }];
414
+ }
415
+ }
416
+ return [{ type: "raw", payload: raw }];
417
+ }
418
+ if (eventType === "error" || eventType === "turn.failed" || eventType?.endsWith(".error")) {
419
+ return [errorEvent({
420
+ message: redactProviderIdentifiers(text
421
+ ?? parseErrorMessage(raw.error)
422
+ ?? parseErrorMessage(raw.result)
423
+ ?? "Codex run failed", threadId),
424
+ usage,
425
+ model,
426
+ })];
209
427
  }
210
428
  if (eventType && (eventType.includes("delta") || eventType.includes("message"))) {
211
429
  return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
212
430
  }
213
- if (eventType && (eventType.includes("completed") || eventType.includes("done"))) {
214
- return [{ type: "done", text, usage }];
431
+ if (eventType === "turn.completed" || eventType === "turn.done" || eventType === "response.completed") {
432
+ return [doneEvent({ text, usage, model })];
215
433
  }
216
434
  return [{ type: "raw", payload: raw }];
217
435
  }
218
436
  export function parseOpenCodeEvent(line) {
219
437
  const raw = parseJsonLine(line);
220
438
  if (!raw) {
221
- return [{ type: "text_delta", text: line }];
439
+ return [{ type: "raw", payload: line }];
222
440
  }
223
441
  const type = parseTextValue(raw.type);
224
442
  const sessionId = parseTextValue(raw.sessionID)
@@ -232,6 +450,14 @@ export function parseOpenCodeEvent(line) {
232
450
  ?? (raw.part && typeof raw.part === "object" ? parseTextValue(raw.part.text) : undefined);
233
451
  return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
234
452
  }
453
+ if (type === "reasoning") {
454
+ const reasoning = parseTextValue(raw.text)
455
+ ?? (raw.part && typeof raw.part === "object"
456
+ ? parseTextValue(raw.part.text)
457
+ ?? parseTextValue(raw.part.reasoning)
458
+ : undefined);
459
+ return reasoning ? [{ type: "thinking_delta", text: reasoning }] : [{ type: "raw", payload: raw }];
460
+ }
235
461
  if (type === "tool_use") {
236
462
  const part = parseObjectRecord(raw.part);
237
463
  const state = parseObjectRecord(part?.state);
@@ -268,13 +494,14 @@ export function parseOpenCodeEvent(line) {
268
494
  const usage = tokenUsage && typeof tokenUsage === "object" && !Array.isArray(tokenUsage)
269
495
  ? parseUsageValue(tokenUsage)
270
496
  : undefined;
497
+ const model = parseModelValue(part?.model, part?.modelID, raw.model);
271
498
  return usage ? [{
272
499
  type: "step_finished",
273
- }, {
274
- type: "done",
500
+ }, doneEvent({
275
501
  text: parseTextValue(raw.text) ?? "",
276
502
  usage,
277
- }] : [{ type: "step_finished" }];
503
+ model,
504
+ })] : [{ type: "step_finished" }];
278
505
  }
279
506
  if (type === "session" || type === "chat") {
280
507
  const explicitSessionId = parseTextValue(raw.id) ?? parseTextValue(raw.sessionId) ?? sessionId;
@@ -283,17 +510,26 @@ export function parseOpenCodeEvent(line) {
283
510
  if (type === "message_end") {
284
511
  const text = parseTextValue(raw.text)
285
512
  ?? (raw.part && typeof raw.part === "object" ? parseTextValue(raw.part.text) : undefined);
286
- return [{ type: "done", text }];
513
+ const part = parseObjectRecord(raw.part);
514
+ return [doneEvent({
515
+ text,
516
+ usage: parseUsageValue(raw.usage) ?? parseUsageValue(part?.tokens),
517
+ model: parseModelValue(raw.model, part?.model, part?.modelID),
518
+ })];
287
519
  }
288
520
  if (type === "error") {
289
- return [{ type: "error", message: parseTextValue(raw.message) ?? JSON.stringify(raw) }];
521
+ return [errorEvent({
522
+ message: redactProviderIdentifiers(parseTextValue(raw.message) ?? parseErrorMessage(raw.error) ?? "OpenCode run failed", sessionId),
523
+ usage: parseUsageValue(raw.usage),
524
+ model: parseModelValue(raw.model),
525
+ })];
290
526
  }
291
527
  return [{ type: "raw", payload: raw }];
292
528
  }
293
529
  export function parsePiEvent(line) {
294
530
  const raw = parseJsonLine(line);
295
531
  if (!raw) {
296
- return [{ type: "text_delta", text: line }];
532
+ return [{ type: "raw", payload: line }];
297
533
  }
298
534
  const type = parseTextValue(raw.type);
299
535
  if (type === "session") {
@@ -301,16 +537,77 @@ export function parsePiEvent(line) {
301
537
  return sessionId ? [{ type: "session_started", sessionId }] : [{ type: "raw", payload: raw }];
302
538
  }
303
539
  if (type === "message_update") {
304
- const assistantMessageEvent = raw.assistantMessageEvent;
305
- const text = assistantMessageEvent && typeof assistantMessageEvent === "object"
306
- ? parseTextValue(assistantMessageEvent.delta)
307
- ?? parseTextValue(assistantMessageEvent.text)
308
- : undefined;
309
- return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
540
+ const assistantMessageEvent = parseObjectRecord(raw.assistantMessageEvent);
541
+ const updateType = parseTextValue(assistantMessageEvent?.type);
542
+ const text = parseTextValue(assistantMessageEvent?.delta)
543
+ ?? parseTextValue(assistantMessageEvent?.text);
544
+ if (updateType === "thinking_delta") {
545
+ return text ? [{ type: "thinking_delta", text }] : [{ type: "raw", payload: raw }];
546
+ }
547
+ if (updateType === "text_delta") {
548
+ return text ? [{ type: "text_delta", text }] : [{ type: "raw", payload: raw }];
549
+ }
550
+ return [{ type: "raw", payload: raw }];
551
+ }
552
+ if (type === "tool_execution_start") {
553
+ const toolCallId = parseTextValue(raw.toolCallId);
554
+ const name = parseTextValue(raw.toolName);
555
+ if (!toolCallId || !name) {
556
+ return [{ type: "raw", payload: raw }];
557
+ }
558
+ return [{
559
+ type: "tool_start",
560
+ toolCallId,
561
+ name,
562
+ input: parseObjectRecord(raw.args) ?? {},
563
+ }];
564
+ }
565
+ if (type === "tool_execution_end") {
566
+ const toolCallId = parseTextValue(raw.toolCallId);
567
+ const name = parseTextValue(raw.toolName);
568
+ if (!toolCallId || !name) {
569
+ return [{ type: "raw", payload: raw }];
570
+ }
571
+ return [{
572
+ type: "tool_end",
573
+ toolCallId,
574
+ name,
575
+ input: parseObjectRecord(raw.args) ?? {},
576
+ output: parseToolOutput(raw.result),
577
+ isError: Boolean(raw.isError),
578
+ }];
310
579
  }
311
580
  if (type === "message_end") {
312
- const text = parseTextValue(raw.text);
313
- return [{ type: "done", text }];
581
+ const message = parseObjectRecord(raw.message);
582
+ if (parseTextValue(message?.role) !== "assistant") {
583
+ return [{ type: "raw", payload: raw }];
584
+ }
585
+ const usage = parseUsageValue(message?.usage) ?? parseUsageValue(raw.usage);
586
+ const model = parseModelValue(message?.model, raw.model);
587
+ const text = parseMessageText(message) ?? parseTextValue(raw.text);
588
+ const stopReason = parseTextValue(message?.stopReason);
589
+ const errorMessage = parseTextValue(message?.errorMessage) ?? parseErrorMessage(raw.error);
590
+ if (stopReason === "error" || errorMessage) {
591
+ return [errorEvent({
592
+ message: redactProviderIdentifiers(errorMessage ?? "Pi run failed", parseTextValue(raw.sessionId) ?? parseTextValue(raw.sessionID) ?? parseTextValue(raw.id)),
593
+ usage,
594
+ model,
595
+ })];
596
+ }
597
+ return [doneEvent({ text, usage, model })];
598
+ }
599
+ if (type === "turn_end") {
600
+ return [{ type: "step_finished" }];
601
+ }
602
+ if (type === "error") {
603
+ const sessionId = parseTextValue(raw.sessionId)
604
+ ?? parseTextValue(raw.sessionID)
605
+ ?? parseTextValue(raw.id);
606
+ return [errorEvent({
607
+ message: redactProviderIdentifiers(parseErrorMessage(raw.error) ?? parseTextValue(raw.message) ?? "Pi run failed", sessionId),
608
+ usage: parseUsageValue(raw.usage),
609
+ model: parseModelValue(raw.model),
610
+ })];
314
611
  }
315
612
  return [{ type: "raw", payload: raw }];
316
613
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-events.js","sourceRoot":"","sources":["../../../../src/events/provider-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-events.js","sourceRoot":"","sources":["../../../../src/events/provider-events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAoC,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4DhG,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAExE,KAAK,mBAAmB,GAAG;IACzB,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB,CAAC;AA6EF,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,cAAuB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAgEf;AAMD,wBAAgB,aAAa,CAAC,YAAY,GAAE,mBAAwB,GAAG,OAAO,CA4C7E"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAoC,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA8DhG,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;AAExE,KAAK,mBAAmB,GAAG;IACzB,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB,CAAC;AA8EF,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,EACtB,GAAG,GAAE,cAAuB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAiEf;AAMD,wBAAgB,aAAa,CAAC,YAAY,GAAE,mBAAwB,GAAG,OAAO,CA6C7E"}