@irogane/kaji 0.2.0-beta.11 → 0.3.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 (137) hide show
  1. package/README.md +112 -551
  2. package/dist/index.d.mts +253 -0
  3. package/dist/index.mjs +440 -0
  4. package/package.json +28 -166
  5. package/contracts/README.md +0 -14
  6. package/contracts/beta-core-v1.json +0 -52
  7. package/contracts/cli/init-cases-v1.json +0 -27
  8. package/contracts/errors/error-codes.json +0 -48
  9. package/contracts/errors/integration-recovery-v1.json +0 -127
  10. package/contracts/errors/provider-normalization.json +0 -111
  11. package/contracts/events/conformance-invalid.json +0 -20
  12. package/contracts/events/conformance.json +0 -511
  13. package/contracts/events/new-kaji-event-v1.schema.json +0 -1021
  14. package/contracts/events/stored-kaji-event-v1.schema.json +0 -1025
  15. package/contracts/feature-tiers-v1.json +0 -488
  16. package/contracts/integrations/abi-index-v1.json +0 -8
  17. package/contracts/integrations/conformance-invalid.json +0 -443
  18. package/contracts/integrations/conformance-valid.json +0 -121
  19. package/contracts/integrations/copy-provenance-v1.schema.json +0 -61
  20. package/contracts/integrations/echo-tool-abi-v1.json +0 -37
  21. package/contracts/integrations/github-api-conformance-v1.json +0 -644
  22. package/contracts/integrations/github-tool-abi-typescript-v1.json +0 -369
  23. package/contracts/integrations/github-tool-abi-v1.json +0 -146
  24. package/contracts/integrations/gmail-api-conformance-v1.json +0 -750
  25. package/contracts/integrations/gmail-tool-abi-v1.json +0 -62
  26. package/contracts/integrations/index.schema.json +0 -37
  27. package/contracts/integrations/manifest.schema.json +0 -119
  28. package/contracts/parity/expected-normalized.json +0 -4906
  29. package/contracts/parity/scenarios.json +0 -100
  30. package/contracts/parity/scenarios.schema.json +0 -214
  31. package/contracts/providers/cost-conformance.json +0 -112
  32. package/contracts/release/github-proof-v1.schema.json +0 -138
  33. package/contracts/release/gmail-proof-v1.schema.json +0 -138
  34. package/contracts/release/kaji-ts-consumer-handoff-v1.schema.json +0 -1289
  35. package/contracts/release/publisher-identity-receipt-v1.schema.json +0 -319
  36. package/contracts/release/typescript-onboarding-evidence-v1.schema.json +0 -740
  37. package/contracts/tools/conformance-invalid.json +0 -271
  38. package/contracts/tools/conformance-valid.json +0 -78
  39. package/contracts/tools/tool-schema-v1.schema.json +0 -18
  40. package/dist/anthropic.cjs +0 -1231
  41. package/dist/anthropic.cjs.map +0 -1
  42. package/dist/anthropic.d.cts +0 -26
  43. package/dist/anthropic.d.ts +0 -26
  44. package/dist/anthropic.js +0 -270
  45. package/dist/anthropic.js.map +0 -1
  46. package/dist/auth.cjs +0 -1507
  47. package/dist/auth.cjs.map +0 -1
  48. package/dist/auth.d.cts +0 -129
  49. package/dist/auth.d.ts +0 -129
  50. package/dist/auth.js +0 -1039
  51. package/dist/auth.js.map +0 -1
  52. package/dist/base-B9FRMcP8.d.cts +0 -140
  53. package/dist/base-nHQd1VtS.d.ts +0 -140
  54. package/dist/chunk-AAM33KAO.js +0 -4367
  55. package/dist/chunk-AAM33KAO.js.map +0 -1
  56. package/dist/chunk-KAJ6BM64.js +0 -153
  57. package/dist/chunk-KAJ6BM64.js.map +0 -1
  58. package/dist/chunk-KCAXIOZS.js +0 -308
  59. package/dist/chunk-KCAXIOZS.js.map +0 -1
  60. package/dist/chunk-LSJ4AVO2.js +0 -243
  61. package/dist/chunk-LSJ4AVO2.js.map +0 -1
  62. package/dist/chunk-TM7ZGOJX.js +0 -716
  63. package/dist/chunk-TM7ZGOJX.js.map +0 -1
  64. package/dist/cli/bin.d.ts +0 -2
  65. package/dist/cli/bin.js +0 -13
  66. package/dist/cli/bin.js.map +0 -1
  67. package/dist/cli/chunk-2RCWPRVY.js +0 -6277
  68. package/dist/cli/chunk-2RCWPRVY.js.map +0 -1
  69. package/dist/cli/chunk-SEBX54TR.js +0 -681
  70. package/dist/cli/chunk-SEBX54TR.js.map +0 -1
  71. package/dist/cli/index.d.ts +0 -232
  72. package/dist/cli/index.js +0 -11
  73. package/dist/cli/index.js.map +0 -1
  74. package/dist/cli/init-worker.d.ts +0 -2
  75. package/dist/cli/init-worker.js +0 -18
  76. package/dist/cli/init-worker.js.map +0 -1
  77. package/dist/cli/integration-copy-worker.js +0 -48
  78. package/dist/cli/integration-copy-worker.js.map +0 -1
  79. package/dist/cli/package-entry-cjs.cjs +0 -21
  80. package/dist/cli/package-entry-cjs.cjs.map +0 -1
  81. package/dist/cli/package-entry-cjs.d.cts +0 -2
  82. package/dist/cli/package-entry.d.ts +0 -2
  83. package/dist/cli/package-entry.js +0 -13
  84. package/dist/cli/package-entry.js.map +0 -1
  85. package/dist/context-BaFHrQHv.d.cts +0 -21
  86. package/dist/context-BaFHrQHv.d.ts +0 -21
  87. package/dist/context-C-YPY-GS.d.cts +0 -1538
  88. package/dist/context-C-YPY-GS.d.ts +0 -1538
  89. package/dist/index.cjs +0 -12346
  90. package/dist/index.cjs.map +0 -1
  91. package/dist/index.d.cts +0 -1560
  92. package/dist/index.d.ts +0 -1560
  93. package/dist/index.js +0 -7852
  94. package/dist/index.js.map +0 -1
  95. package/dist/integrations/github.cjs +0 -2092
  96. package/dist/integrations/github.cjs.map +0 -1
  97. package/dist/integrations/github.d.cts +0 -21
  98. package/dist/integrations/github.d.ts +0 -21
  99. package/dist/integrations/github.js +0 -2088
  100. package/dist/integrations/github.js.map +0 -1
  101. package/dist/integrations.cjs +0 -3370
  102. package/dist/integrations.cjs.map +0 -1
  103. package/dist/integrations.d.cts +0 -202
  104. package/dist/integrations.d.ts +0 -202
  105. package/dist/integrations.js +0 -2650
  106. package/dist/integrations.js.map +0 -1
  107. package/dist/observability-Cj--OkME.d.cts +0 -96
  108. package/dist/observability-Cj--OkME.d.ts +0 -96
  109. package/dist/openai.cjs +0 -1235
  110. package/dist/openai.cjs.map +0 -1
  111. package/dist/openai.d.cts +0 -32
  112. package/dist/openai.d.ts +0 -32
  113. package/dist/openai.js +0 -272
  114. package/dist/openai.js.map +0 -1
  115. package/dist/testing.cjs +0 -554
  116. package/dist/testing.cjs.map +0 -1
  117. package/dist/testing.d.cts +0 -43
  118. package/dist/testing.d.ts +0 -43
  119. package/dist/testing.js +0 -118
  120. package/dist/testing.js.map +0 -1
  121. package/registry/echo/index.ts +0 -53
  122. package/registry/echo/manifest.json +0 -53
  123. package/registry/github/LICENSE +0 -105
  124. package/registry/github/client.ts +0 -1727
  125. package/registry/github/index.ts +0 -263
  126. package/registry/github/manifest.json +0 -227
  127. package/registry/github/owner-fixtures.json +0 -10
  128. package/registry/github/tests/github.test.ts +0 -32
  129. package/registry/gmail/LICENSE +0 -105
  130. package/registry/gmail/client.ts +0 -548
  131. package/registry/gmail/index.ts +0 -165
  132. package/registry/gmail/manifest.json +0 -102
  133. package/registry/gmail/owner-fixtures.json +0 -10
  134. package/registry/gmail/tests/gmail.test.ts +0 -32
  135. package/registry/index.json +0 -21
  136. package/registry/index.schema.json +0 -37
  137. package/registry/schema.json +0 -119
@@ -1,4906 +0,0 @@
1
- {
2
- "scenarios": [
3
- {
4
- "id": "text-one-turn",
5
- "snapshot": {
6
- "events": [
7
- {
8
- "id": "event-01",
9
- "metadata": {},
10
- "sequence": 1,
11
- "session_id": "session-text",
12
- "turn_id": "turn-1",
13
- "type": "session.created",
14
- "version": "1.0"
15
- },
16
- {
17
- "content": "hello",
18
- "id": "event-02",
19
- "metadata": {},
20
- "sequence": 2,
21
- "session_id": "session-text",
22
- "turn_id": "turn-1",
23
- "type": "user.message",
24
- "version": "1.0"
25
- },
26
- {
27
- "id": "event-03",
28
- "metadata": {},
29
- "sequence": 3,
30
- "session_id": "session-text",
31
- "turn_id": "turn-1",
32
- "type": "agent.reasoning.started",
33
- "version": "1.0"
34
- },
35
- {
36
- "delta": "hello back",
37
- "id": "event-04",
38
- "metadata": {},
39
- "sequence": 4,
40
- "session_id": "session-text",
41
- "turn_id": "turn-1",
42
- "type": "agent.message.delta",
43
- "version": "1.0"
44
- },
45
- {
46
- "content": "hello back",
47
- "id": "event-05",
48
- "metadata": {},
49
- "sequence": 5,
50
- "session_id": "session-text",
51
- "turn_id": "turn-1",
52
- "type": "agent.message.completed",
53
- "version": "1.0"
54
- }
55
- ],
56
- "operation_trace": ["provider:start:0", "provider:end:0"],
57
- "provider_requests": [
58
- {
59
- "messages": [
60
- { "content": "You are a helpful assistant.", "role": "system" },
61
- { "content": "hello", "role": "user" }
62
- ],
63
- "tools": []
64
- }
65
- ],
66
- "provider_responses": [{ "content": "hello back", "tool_calls": [] }],
67
- "replay": {},
68
- "result": {
69
- "turns": [{ "session_id": "session-text", "text": "hello back", "turn_id": "turn-1" }]
70
- }
71
- }
72
- },
73
- {
74
- "id": "text-multi-turn",
75
- "snapshot": {
76
- "events": [
77
- {
78
- "id": "event-01",
79
- "metadata": {},
80
- "sequence": 1,
81
- "session_id": "session-multi",
82
- "turn_id": "turn-1",
83
- "type": "session.created",
84
- "version": "1.0"
85
- },
86
- {
87
- "content": "first",
88
- "id": "event-02",
89
- "metadata": {},
90
- "sequence": 2,
91
- "session_id": "session-multi",
92
- "turn_id": "turn-1",
93
- "type": "user.message",
94
- "version": "1.0"
95
- },
96
- {
97
- "id": "event-03",
98
- "metadata": {},
99
- "sequence": 3,
100
- "session_id": "session-multi",
101
- "turn_id": "turn-1",
102
- "type": "agent.reasoning.started",
103
- "version": "1.0"
104
- },
105
- {
106
- "delta": "first reply",
107
- "id": "event-04",
108
- "metadata": {},
109
- "sequence": 4,
110
- "session_id": "session-multi",
111
- "turn_id": "turn-1",
112
- "type": "agent.message.delta",
113
- "version": "1.0"
114
- },
115
- {
116
- "content": "first reply",
117
- "id": "event-05",
118
- "metadata": {},
119
- "sequence": 5,
120
- "session_id": "session-multi",
121
- "turn_id": "turn-1",
122
- "type": "agent.message.completed",
123
- "version": "1.0"
124
- },
125
- {
126
- "content": "second",
127
- "id": "event-06",
128
- "metadata": {},
129
- "sequence": 6,
130
- "session_id": "session-multi",
131
- "turn_id": "turn-2",
132
- "type": "user.message",
133
- "version": "1.0"
134
- },
135
- {
136
- "id": "event-07",
137
- "metadata": {},
138
- "sequence": 7,
139
- "session_id": "session-multi",
140
- "turn_id": "turn-2",
141
- "type": "agent.reasoning.started",
142
- "version": "1.0"
143
- },
144
- {
145
- "delta": "second reply",
146
- "id": "event-08",
147
- "metadata": {},
148
- "sequence": 8,
149
- "session_id": "session-multi",
150
- "turn_id": "turn-2",
151
- "type": "agent.message.delta",
152
- "version": "1.0"
153
- },
154
- {
155
- "content": "second reply",
156
- "id": "event-09",
157
- "metadata": {},
158
- "sequence": 9,
159
- "session_id": "session-multi",
160
- "turn_id": "turn-2",
161
- "type": "agent.message.completed",
162
- "version": "1.0"
163
- }
164
- ],
165
- "operation_trace": [
166
- "provider:start:0",
167
- "provider:end:0",
168
- "provider:start:1",
169
- "provider:end:1"
170
- ],
171
- "provider_requests": [
172
- {
173
- "messages": [
174
- { "content": "You are a helpful assistant.", "role": "system" },
175
- { "content": "first", "role": "user" }
176
- ],
177
- "tools": []
178
- },
179
- {
180
- "messages": [
181
- { "content": "You are a helpful assistant.", "role": "system" },
182
- { "content": "first", "role": "user" },
183
- { "content": "first reply", "role": "assistant" },
184
- { "content": "second", "role": "user" }
185
- ],
186
- "tools": []
187
- }
188
- ],
189
- "provider_responses": [
190
- { "content": "first reply", "tool_calls": [] },
191
- { "content": "second reply", "tool_calls": [] }
192
- ],
193
- "replay": {},
194
- "result": {
195
- "turns": [
196
- { "session_id": "session-multi", "text": "first reply", "turn_id": "turn-1" },
197
- { "session_id": "session-multi", "text": "second reply", "turn_id": "turn-2" }
198
- ]
199
- }
200
- }
201
- },
202
- {
203
- "id": "one-tool",
204
- "snapshot": {
205
- "events": [
206
- {
207
- "id": "event-01",
208
- "metadata": {},
209
- "sequence": 1,
210
- "session_id": "session-tool",
211
- "turn_id": "turn-1",
212
- "type": "session.created",
213
- "version": "1.0"
214
- },
215
- {
216
- "content": "use echo",
217
- "id": "event-02",
218
- "metadata": {},
219
- "sequence": 2,
220
- "session_id": "session-tool",
221
- "turn_id": "turn-1",
222
- "type": "user.message",
223
- "version": "1.0"
224
- },
225
- {
226
- "id": "event-03",
227
- "metadata": {},
228
- "sequence": 3,
229
- "session_id": "session-tool",
230
- "turn_id": "turn-1",
231
- "type": "agent.reasoning.started",
232
- "version": "1.0"
233
- },
234
- {
235
- "id": "event-04",
236
- "metadata": {},
237
- "sequence": 4,
238
- "session_id": "session-tool",
239
- "tool_args": { "value": 1 },
240
- "tool_call_id": "call-1",
241
- "tool_name": "fixture_tool",
242
- "turn_id": "turn-1",
243
- "type": "tool.call.requested",
244
- "version": "1.0"
245
- },
246
- {
247
- "id": "event-05",
248
- "metadata": {},
249
- "sequence": 5,
250
- "session_id": "session-tool",
251
- "tool_call_id": "call-1",
252
- "tool_name": "fixture_tool",
253
- "turn_id": "turn-1",
254
- "type": "tool.call.started",
255
- "version": "1.0"
256
- },
257
- {
258
- "id": "event-06",
259
- "metadata": {},
260
- "result": { "arguments": { "value": 1 }, "tool": "fixture_tool" },
261
- "sequence": 6,
262
- "session_id": "session-tool",
263
- "tool_call_id": "call-1",
264
- "tool_name": "fixture_tool",
265
- "turn_id": "turn-1",
266
- "type": "tool.call.completed",
267
- "version": "1.0"
268
- },
269
- {
270
- "id": "event-07",
271
- "metadata": {},
272
- "sequence": 7,
273
- "session_id": "session-tool",
274
- "turn_id": "turn-1",
275
- "type": "agent.reasoning.started",
276
- "version": "1.0"
277
- },
278
- {
279
- "delta": "tool done",
280
- "id": "event-08",
281
- "metadata": {},
282
- "sequence": 8,
283
- "session_id": "session-tool",
284
- "turn_id": "turn-1",
285
- "type": "agent.message.delta",
286
- "version": "1.0"
287
- },
288
- {
289
- "content": "tool done",
290
- "id": "event-09",
291
- "metadata": {},
292
- "sequence": 9,
293
- "session_id": "session-tool",
294
- "turn_id": "turn-1",
295
- "type": "agent.message.completed",
296
- "version": "1.0"
297
- }
298
- ],
299
- "operation_trace": [
300
- "provider:start:0",
301
- "provider:end:0",
302
- "tool:start:fixture",
303
- "tool:end:fixture",
304
- "provider:start:1",
305
- "provider:end:1"
306
- ],
307
- "provider_requests": [
308
- {
309
- "messages": [
310
- { "content": "You are a helpful assistant.", "role": "system" },
311
- { "content": "use echo", "role": "user" }
312
- ],
313
- "tools": [
314
- {
315
- "description": "fixture tool",
316
- "name": "fixture_tool",
317
- "parameters": {
318
- "additionalProperties": false,
319
- "properties": { "value": { "type": "integer" } },
320
- "type": "object"
321
- }
322
- }
323
- ]
324
- },
325
- {
326
- "messages": [
327
- { "content": "You are a helpful assistant.", "role": "system" },
328
- { "content": "use echo", "role": "user" },
329
- {
330
- "content": "",
331
- "role": "assistant",
332
- "tool_calls": [
333
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
334
- ]
335
- },
336
- {
337
- "content": "{\"arguments\":{\"value\":1},\"tool\":\"fixture_tool\"}",
338
- "name": "fixture_tool",
339
- "role": "tool",
340
- "tool_call_id": "call-1"
341
- }
342
- ],
343
- "tools": [
344
- {
345
- "description": "fixture tool",
346
- "name": "fixture_tool",
347
- "parameters": {
348
- "additionalProperties": false,
349
- "properties": { "value": { "type": "integer" } },
350
- "type": "object"
351
- }
352
- }
353
- ]
354
- }
355
- ],
356
- "provider_responses": [
357
- {
358
- "content": "",
359
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
360
- },
361
- { "content": "tool done", "tool_calls": [] }
362
- ],
363
- "replay": {},
364
- "result": {
365
- "turns": [{ "session_id": "session-tool", "text": "tool done", "turn_id": "turn-1" }]
366
- }
367
- }
368
- },
369
- {
370
- "id": "parallel-tools-reverse",
371
- "snapshot": {
372
- "events": [
373
- {
374
- "id": "event-01",
375
- "metadata": {},
376
- "sequence": 1,
377
- "session_id": "session-parallel",
378
- "turn_id": "turn-1",
379
- "type": "session.created",
380
- "version": "1.0"
381
- },
382
- {
383
- "content": "run both",
384
- "id": "event-02",
385
- "metadata": {},
386
- "sequence": 2,
387
- "session_id": "session-parallel",
388
- "turn_id": "turn-1",
389
- "type": "user.message",
390
- "version": "1.0"
391
- },
392
- {
393
- "id": "event-03",
394
- "metadata": {},
395
- "sequence": 3,
396
- "session_id": "session-parallel",
397
- "turn_id": "turn-1",
398
- "type": "agent.reasoning.started",
399
- "version": "1.0"
400
- },
401
- {
402
- "id": "event-04",
403
- "metadata": {},
404
- "sequence": 4,
405
- "session_id": "session-parallel",
406
- "tool_args": {},
407
- "tool_call_id": "call-first",
408
- "tool_name": "first_tool",
409
- "turn_id": "turn-1",
410
- "type": "tool.call.requested",
411
- "version": "1.0"
412
- },
413
- {
414
- "id": "event-05",
415
- "metadata": {},
416
- "sequence": 5,
417
- "session_id": "session-parallel",
418
- "tool_args": {},
419
- "tool_call_id": "call-second",
420
- "tool_name": "second_tool",
421
- "turn_id": "turn-1",
422
- "type": "tool.call.requested",
423
- "version": "1.0"
424
- },
425
- {
426
- "id": "event-06",
427
- "metadata": {},
428
- "sequence": 6,
429
- "session_id": "session-parallel",
430
- "tool_call_id": "call-first",
431
- "tool_name": "first_tool",
432
- "turn_id": "turn-1",
433
- "type": "tool.call.started",
434
- "version": "1.0"
435
- },
436
- {
437
- "id": "event-07",
438
- "metadata": {},
439
- "sequence": 7,
440
- "session_id": "session-parallel",
441
- "tool_call_id": "call-second",
442
- "tool_name": "second_tool",
443
- "turn_id": "turn-1",
444
- "type": "tool.call.started",
445
- "version": "1.0"
446
- },
447
- {
448
- "id": "event-08",
449
- "metadata": {},
450
- "result": { "arguments": {}, "tool": "first_tool" },
451
- "sequence": 8,
452
- "session_id": "session-parallel",
453
- "tool_call_id": "call-first",
454
- "tool_name": "first_tool",
455
- "turn_id": "turn-1",
456
- "type": "tool.call.completed",
457
- "version": "1.0"
458
- },
459
- {
460
- "id": "event-09",
461
- "metadata": {},
462
- "result": { "arguments": {}, "tool": "second_tool" },
463
- "sequence": 9,
464
- "session_id": "session-parallel",
465
- "tool_call_id": "call-second",
466
- "tool_name": "second_tool",
467
- "turn_id": "turn-1",
468
- "type": "tool.call.completed",
469
- "version": "1.0"
470
- },
471
- {
472
- "id": "event-10",
473
- "metadata": {},
474
- "sequence": 10,
475
- "session_id": "session-parallel",
476
- "turn_id": "turn-1",
477
- "type": "agent.reasoning.started",
478
- "version": "1.0"
479
- },
480
- {
481
- "delta": "tools done",
482
- "id": "event-11",
483
- "metadata": {},
484
- "sequence": 11,
485
- "session_id": "session-parallel",
486
- "turn_id": "turn-1",
487
- "type": "agent.message.delta",
488
- "version": "1.0"
489
- },
490
- {
491
- "content": "tools done",
492
- "id": "event-12",
493
- "metadata": {},
494
- "sequence": 12,
495
- "session_id": "session-parallel",
496
- "turn_id": "turn-1",
497
- "type": "agent.message.completed",
498
- "version": "1.0"
499
- }
500
- ],
501
- "operation_trace": [
502
- "provider:start:0",
503
- "provider:end:0",
504
- "tool:start:first",
505
- "tool:start:second",
506
- "tool:end:second",
507
- "tool:end:first",
508
- "provider:start:1",
509
- "provider:end:1"
510
- ],
511
- "provider_requests": [
512
- {
513
- "messages": [
514
- { "content": "You are a helpful assistant.", "role": "system" },
515
- { "content": "run both", "role": "user" }
516
- ],
517
- "tools": [
518
- {
519
- "description": "fixture tool",
520
- "name": "first_tool",
521
- "parameters": {
522
- "additionalProperties": false,
523
- "properties": { "value": { "type": "integer" } },
524
- "type": "object"
525
- }
526
- },
527
- {
528
- "description": "fixture tool",
529
- "name": "second_tool",
530
- "parameters": {
531
- "additionalProperties": false,
532
- "properties": { "value": { "type": "integer" } },
533
- "type": "object"
534
- }
535
- }
536
- ]
537
- },
538
- {
539
- "messages": [
540
- { "content": "You are a helpful assistant.", "role": "system" },
541
- { "content": "run both", "role": "user" },
542
- {
543
- "content": "",
544
- "role": "assistant",
545
- "tool_calls": [
546
- { "arguments": {}, "id": "call-first", "name": "first_tool" },
547
- { "arguments": {}, "id": "call-second", "name": "second_tool" }
548
- ]
549
- },
550
- {
551
- "content": "{\"arguments\":{},\"tool\":\"first_tool\"}",
552
- "name": "first_tool",
553
- "role": "tool",
554
- "tool_call_id": "call-first"
555
- },
556
- {
557
- "content": "{\"arguments\":{},\"tool\":\"second_tool\"}",
558
- "name": "second_tool",
559
- "role": "tool",
560
- "tool_call_id": "call-second"
561
- }
562
- ],
563
- "tools": [
564
- {
565
- "description": "fixture tool",
566
- "name": "first_tool",
567
- "parameters": {
568
- "additionalProperties": false,
569
- "properties": { "value": { "type": "integer" } },
570
- "type": "object"
571
- }
572
- },
573
- {
574
- "description": "fixture tool",
575
- "name": "second_tool",
576
- "parameters": {
577
- "additionalProperties": false,
578
- "properties": { "value": { "type": "integer" } },
579
- "type": "object"
580
- }
581
- }
582
- ]
583
- }
584
- ],
585
- "provider_responses": [
586
- {
587
- "content": "",
588
- "tool_calls": [
589
- { "arguments": {}, "id": "call-first", "name": "first_tool" },
590
- { "arguments": {}, "id": "call-second", "name": "second_tool" }
591
- ]
592
- },
593
- { "content": "tools done", "tool_calls": [] }
594
- ],
595
- "replay": {},
596
- "result": {
597
- "turns": [{ "session_id": "session-parallel", "text": "tools done", "turn_id": "turn-1" }]
598
- }
599
- }
600
- },
601
- {
602
- "id": "sequential-tools",
603
- "snapshot": {
604
- "events": [
605
- {
606
- "id": "event-01",
607
- "metadata": {},
608
- "sequence": 1,
609
- "session_id": "session-sequential",
610
- "turn_id": "turn-1",
611
- "type": "session.created",
612
- "version": "1.0"
613
- },
614
- {
615
- "content": "run both",
616
- "id": "event-02",
617
- "metadata": {},
618
- "sequence": 2,
619
- "session_id": "session-sequential",
620
- "turn_id": "turn-1",
621
- "type": "user.message",
622
- "version": "1.0"
623
- },
624
- {
625
- "id": "event-03",
626
- "metadata": {},
627
- "sequence": 3,
628
- "session_id": "session-sequential",
629
- "turn_id": "turn-1",
630
- "type": "agent.reasoning.started",
631
- "version": "1.0"
632
- },
633
- {
634
- "id": "event-04",
635
- "metadata": {},
636
- "sequence": 4,
637
- "session_id": "session-sequential",
638
- "tool_args": {},
639
- "tool_call_id": "call-first",
640
- "tool_name": "first_tool",
641
- "turn_id": "turn-1",
642
- "type": "tool.call.requested",
643
- "version": "1.0"
644
- },
645
- {
646
- "id": "event-05",
647
- "metadata": {},
648
- "sequence": 5,
649
- "session_id": "session-sequential",
650
- "tool_args": {},
651
- "tool_call_id": "call-second",
652
- "tool_name": "second_tool",
653
- "turn_id": "turn-1",
654
- "type": "tool.call.requested",
655
- "version": "1.0"
656
- },
657
- {
658
- "id": "event-06",
659
- "metadata": {},
660
- "sequence": 6,
661
- "session_id": "session-sequential",
662
- "tool_call_id": "call-first",
663
- "tool_name": "first_tool",
664
- "turn_id": "turn-1",
665
- "type": "tool.call.started",
666
- "version": "1.0"
667
- },
668
- {
669
- "id": "event-07",
670
- "metadata": {},
671
- "sequence": 7,
672
- "session_id": "session-sequential",
673
- "tool_call_id": "call-second",
674
- "tool_name": "second_tool",
675
- "turn_id": "turn-1",
676
- "type": "tool.call.started",
677
- "version": "1.0"
678
- },
679
- {
680
- "id": "event-08",
681
- "metadata": {},
682
- "result": { "arguments": {}, "tool": "first_tool" },
683
- "sequence": 8,
684
- "session_id": "session-sequential",
685
- "tool_call_id": "call-first",
686
- "tool_name": "first_tool",
687
- "turn_id": "turn-1",
688
- "type": "tool.call.completed",
689
- "version": "1.0"
690
- },
691
- {
692
- "id": "event-09",
693
- "metadata": {},
694
- "result": { "arguments": {}, "tool": "second_tool" },
695
- "sequence": 9,
696
- "session_id": "session-sequential",
697
- "tool_call_id": "call-second",
698
- "tool_name": "second_tool",
699
- "turn_id": "turn-1",
700
- "type": "tool.call.completed",
701
- "version": "1.0"
702
- },
703
- {
704
- "id": "event-10",
705
- "metadata": {},
706
- "sequence": 10,
707
- "session_id": "session-sequential",
708
- "turn_id": "turn-1",
709
- "type": "agent.reasoning.started",
710
- "version": "1.0"
711
- },
712
- {
713
- "delta": "tools done",
714
- "id": "event-11",
715
- "metadata": {},
716
- "sequence": 11,
717
- "session_id": "session-sequential",
718
- "turn_id": "turn-1",
719
- "type": "agent.message.delta",
720
- "version": "1.0"
721
- },
722
- {
723
- "content": "tools done",
724
- "id": "event-12",
725
- "metadata": {},
726
- "sequence": 12,
727
- "session_id": "session-sequential",
728
- "turn_id": "turn-1",
729
- "type": "agent.message.completed",
730
- "version": "1.0"
731
- }
732
- ],
733
- "operation_trace": [
734
- "provider:start:0",
735
- "provider:end:0",
736
- "tool:start:first",
737
- "tool:end:first",
738
- "tool:start:second",
739
- "tool:end:second",
740
- "provider:start:1",
741
- "provider:end:1"
742
- ],
743
- "provider_requests": [
744
- {
745
- "messages": [
746
- { "content": "You are a helpful assistant.", "role": "system" },
747
- { "content": "run both", "role": "user" }
748
- ],
749
- "tools": [
750
- {
751
- "description": "fixture tool",
752
- "name": "first_tool",
753
- "parameters": {
754
- "additionalProperties": false,
755
- "properties": { "value": { "type": "integer" } },
756
- "type": "object"
757
- }
758
- },
759
- {
760
- "description": "fixture tool",
761
- "name": "second_tool",
762
- "parameters": {
763
- "additionalProperties": false,
764
- "properties": { "value": { "type": "integer" } },
765
- "type": "object"
766
- }
767
- }
768
- ]
769
- },
770
- {
771
- "messages": [
772
- { "content": "You are a helpful assistant.", "role": "system" },
773
- { "content": "run both", "role": "user" },
774
- {
775
- "content": "",
776
- "role": "assistant",
777
- "tool_calls": [
778
- { "arguments": {}, "id": "call-first", "name": "first_tool" },
779
- { "arguments": {}, "id": "call-second", "name": "second_tool" }
780
- ]
781
- },
782
- {
783
- "content": "{\"arguments\":{},\"tool\":\"first_tool\"}",
784
- "name": "first_tool",
785
- "role": "tool",
786
- "tool_call_id": "call-first"
787
- },
788
- {
789
- "content": "{\"arguments\":{},\"tool\":\"second_tool\"}",
790
- "name": "second_tool",
791
- "role": "tool",
792
- "tool_call_id": "call-second"
793
- }
794
- ],
795
- "tools": [
796
- {
797
- "description": "fixture tool",
798
- "name": "first_tool",
799
- "parameters": {
800
- "additionalProperties": false,
801
- "properties": { "value": { "type": "integer" } },
802
- "type": "object"
803
- }
804
- },
805
- {
806
- "description": "fixture tool",
807
- "name": "second_tool",
808
- "parameters": {
809
- "additionalProperties": false,
810
- "properties": { "value": { "type": "integer" } },
811
- "type": "object"
812
- }
813
- }
814
- ]
815
- }
816
- ],
817
- "provider_responses": [
818
- {
819
- "content": "",
820
- "tool_calls": [
821
- { "arguments": {}, "id": "call-first", "name": "first_tool" },
822
- { "arguments": {}, "id": "call-second", "name": "second_tool" }
823
- ]
824
- },
825
- { "content": "tools done", "tool_calls": [] }
826
- ],
827
- "replay": {},
828
- "result": {
829
- "turns": [
830
- { "session_id": "session-sequential", "text": "tools done", "turn_id": "turn-1" }
831
- ]
832
- }
833
- }
834
- },
835
- {
836
- "id": "max-iteration-exhaustion",
837
- "snapshot": {
838
- "events": [
839
- {
840
- "id": "event-01",
841
- "metadata": {},
842
- "sequence": 1,
843
- "session_id": "session-exhausted",
844
- "turn_id": "turn-1",
845
- "type": "session.created",
846
- "version": "1.0"
847
- },
848
- {
849
- "content": "keep calling",
850
- "id": "event-02",
851
- "metadata": {},
852
- "sequence": 2,
853
- "session_id": "session-exhausted",
854
- "turn_id": "turn-1",
855
- "type": "user.message",
856
- "version": "1.0"
857
- },
858
- {
859
- "id": "event-03",
860
- "metadata": {},
861
- "sequence": 3,
862
- "session_id": "session-exhausted",
863
- "turn_id": "turn-1",
864
- "type": "agent.reasoning.started",
865
- "version": "1.0"
866
- },
867
- {
868
- "id": "event-04",
869
- "metadata": {},
870
- "sequence": 4,
871
- "session_id": "session-exhausted",
872
- "tool_args": { "value": 1 },
873
- "tool_call_id": "call-1",
874
- "tool_name": "fixture_tool",
875
- "turn_id": "turn-1",
876
- "type": "tool.call.requested",
877
- "version": "1.0"
878
- },
879
- {
880
- "id": "event-05",
881
- "metadata": {},
882
- "sequence": 5,
883
- "session_id": "session-exhausted",
884
- "tool_call_id": "call-1",
885
- "tool_name": "fixture_tool",
886
- "turn_id": "turn-1",
887
- "type": "tool.call.started",
888
- "version": "1.0"
889
- },
890
- {
891
- "id": "event-06",
892
- "metadata": {},
893
- "result": { "arguments": { "value": 1 }, "tool": "fixture_tool" },
894
- "sequence": 6,
895
- "session_id": "session-exhausted",
896
- "tool_call_id": "call-1",
897
- "tool_name": "fixture_tool",
898
- "turn_id": "turn-1",
899
- "type": "tool.call.completed",
900
- "version": "1.0"
901
- },
902
- {
903
- "id": "event-07",
904
- "metadata": {},
905
- "sequence": 7,
906
- "session_id": "session-exhausted",
907
- "turn_id": "turn-1",
908
- "type": "agent.reasoning.started",
909
- "version": "1.0"
910
- },
911
- {
912
- "id": "event-08",
913
- "metadata": {},
914
- "sequence": 8,
915
- "session_id": "session-exhausted",
916
- "tool_args": { "value": 2 },
917
- "tool_call_id": "call-2",
918
- "tool_name": "fixture_tool",
919
- "turn_id": "turn-1",
920
- "type": "tool.call.requested",
921
- "version": "1.0"
922
- },
923
- {
924
- "id": "event-09",
925
- "metadata": {},
926
- "sequence": 9,
927
- "session_id": "session-exhausted",
928
- "tool_call_id": "call-2",
929
- "tool_name": "fixture_tool",
930
- "turn_id": "turn-1",
931
- "type": "tool.call.started",
932
- "version": "1.0"
933
- },
934
- {
935
- "id": "event-10",
936
- "metadata": {},
937
- "result": { "arguments": { "value": 2 }, "tool": "fixture_tool" },
938
- "sequence": 10,
939
- "session_id": "session-exhausted",
940
- "tool_call_id": "call-2",
941
- "tool_name": "fixture_tool",
942
- "turn_id": "turn-1",
943
- "type": "tool.call.completed",
944
- "version": "1.0"
945
- },
946
- {
947
- "id": "event-11",
948
- "max_iterations": 2,
949
- "metadata": {},
950
- "pending_tool_calls": [
951
- { "arguments": { "value": 2 }, "id": "call-2", "name": "fixture_tool" }
952
- ],
953
- "reason": "max_iterations",
954
- "sequence": 11,
955
- "session_id": "session-exhausted",
956
- "turn_id": "turn-1",
957
- "type": "agent.turn.exhausted",
958
- "version": "1.0"
959
- }
960
- ],
961
- "operation_trace": [
962
- "provider:start:0",
963
- "provider:end:0",
964
- "tool:start:fixture",
965
- "tool:end:fixture",
966
- "provider:start:1",
967
- "provider:end:1",
968
- "tool:start:fixture",
969
- "tool:end:fixture"
970
- ],
971
- "provider_requests": [
972
- {
973
- "messages": [
974
- { "content": "You are a helpful assistant.", "role": "system" },
975
- { "content": "keep calling", "role": "user" }
976
- ],
977
- "tools": [
978
- {
979
- "description": "fixture tool",
980
- "name": "fixture_tool",
981
- "parameters": {
982
- "additionalProperties": false,
983
- "properties": { "value": { "type": "integer" } },
984
- "type": "object"
985
- }
986
- }
987
- ]
988
- },
989
- {
990
- "messages": [
991
- { "content": "You are a helpful assistant.", "role": "system" },
992
- { "content": "keep calling", "role": "user" },
993
- {
994
- "content": "",
995
- "role": "assistant",
996
- "tool_calls": [
997
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
998
- ]
999
- },
1000
- {
1001
- "content": "{\"arguments\":{\"value\":1},\"tool\":\"fixture_tool\"}",
1002
- "name": "fixture_tool",
1003
- "role": "tool",
1004
- "tool_call_id": "call-1"
1005
- }
1006
- ],
1007
- "tools": [
1008
- {
1009
- "description": "fixture tool",
1010
- "name": "fixture_tool",
1011
- "parameters": {
1012
- "additionalProperties": false,
1013
- "properties": { "value": { "type": "integer" } },
1014
- "type": "object"
1015
- }
1016
- }
1017
- ]
1018
- }
1019
- ],
1020
- "provider_responses": [
1021
- {
1022
- "content": "",
1023
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
1024
- },
1025
- {
1026
- "content": "",
1027
- "tool_calls": [{ "arguments": { "value": 2 }, "id": "call-2", "name": "fixture_tool" }]
1028
- }
1029
- ],
1030
- "replay": {},
1031
- "result": {
1032
- "turns": [{ "session_id": "session-exhausted", "text": "", "turn_id": "turn-1" }]
1033
- }
1034
- }
1035
- },
1036
- {
1037
- "id": "policy-deny",
1038
- "snapshot": {
1039
- "events": [
1040
- {
1041
- "id": "event-01",
1042
- "metadata": {},
1043
- "sequence": 1,
1044
- "session_id": "session-deny",
1045
- "turn_id": "turn-1",
1046
- "type": "session.created",
1047
- "version": "1.0"
1048
- },
1049
- {
1050
- "content": "denied",
1051
- "id": "event-02",
1052
- "metadata": {},
1053
- "sequence": 2,
1054
- "session_id": "session-deny",
1055
- "turn_id": "turn-1",
1056
- "type": "user.message",
1057
- "version": "1.0"
1058
- },
1059
- {
1060
- "id": "event-03",
1061
- "metadata": {},
1062
- "sequence": 3,
1063
- "session_id": "session-deny",
1064
- "turn_id": "turn-1",
1065
- "type": "agent.reasoning.started",
1066
- "version": "1.0"
1067
- },
1068
- {
1069
- "id": "event-04",
1070
- "metadata": {},
1071
- "sequence": 4,
1072
- "session_id": "session-deny",
1073
- "tool_args": { "value": 1 },
1074
- "tool_call_id": "call-1",
1075
- "tool_name": "fixture_tool",
1076
- "turn_id": "turn-1",
1077
- "type": "tool.call.requested",
1078
- "version": "1.0"
1079
- },
1080
- {
1081
- "error": "Tool not permitted",
1082
- "error_code": "TOOL_NOT_ALLOWED",
1083
- "id": "event-05",
1084
- "metadata": {},
1085
- "outcome": "not_started",
1086
- "retryable": false,
1087
- "sequence": 5,
1088
- "session_id": "session-deny",
1089
- "tool_call_id": "call-1",
1090
- "tool_name": "fixture_tool",
1091
- "turn_id": "turn-1",
1092
- "type": "tool.call.failed",
1093
- "version": "1.0"
1094
- },
1095
- {
1096
- "id": "event-06",
1097
- "metadata": {},
1098
- "sequence": 6,
1099
- "session_id": "session-deny",
1100
- "turn_id": "turn-1",
1101
- "type": "agent.reasoning.started",
1102
- "version": "1.0"
1103
- },
1104
- {
1105
- "delta": "handled",
1106
- "id": "event-07",
1107
- "metadata": {},
1108
- "sequence": 7,
1109
- "session_id": "session-deny",
1110
- "turn_id": "turn-1",
1111
- "type": "agent.message.delta",
1112
- "version": "1.0"
1113
- },
1114
- {
1115
- "content": "handled",
1116
- "id": "event-08",
1117
- "metadata": {},
1118
- "sequence": 8,
1119
- "session_id": "session-deny",
1120
- "turn_id": "turn-1",
1121
- "type": "agent.message.completed",
1122
- "version": "1.0"
1123
- }
1124
- ],
1125
- "operation_trace": [
1126
- "provider:start:0",
1127
- "provider:end:0",
1128
- "provider:start:1",
1129
- "provider:end:1"
1130
- ],
1131
- "provider_requests": [
1132
- {
1133
- "messages": [
1134
- { "content": "You are a helpful assistant.", "role": "system" },
1135
- { "content": "denied", "role": "user" }
1136
- ],
1137
- "tools": [
1138
- {
1139
- "description": "fixture tool",
1140
- "name": "fixture_tool",
1141
- "parameters": {
1142
- "additionalProperties": false,
1143
- "properties": { "value": { "type": "integer" } },
1144
- "type": "object"
1145
- }
1146
- }
1147
- ]
1148
- },
1149
- {
1150
- "messages": [
1151
- { "content": "You are a helpful assistant.", "role": "system" },
1152
- { "content": "denied", "role": "user" },
1153
- {
1154
- "content": "",
1155
- "role": "assistant",
1156
- "tool_calls": [
1157
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
1158
- ]
1159
- },
1160
- {
1161
- "content": "Error: Tool not permitted",
1162
- "name": "fixture_tool",
1163
- "role": "tool",
1164
- "tool_call_id": "call-1"
1165
- }
1166
- ],
1167
- "tools": [
1168
- {
1169
- "description": "fixture tool",
1170
- "name": "fixture_tool",
1171
- "parameters": {
1172
- "additionalProperties": false,
1173
- "properties": { "value": { "type": "integer" } },
1174
- "type": "object"
1175
- }
1176
- }
1177
- ]
1178
- }
1179
- ],
1180
- "provider_responses": [
1181
- {
1182
- "content": "",
1183
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
1184
- },
1185
- { "content": "handled", "tool_calls": [] }
1186
- ],
1187
- "replay": {},
1188
- "result": {
1189
- "turns": [{ "session_id": "session-deny", "text": "handled", "turn_id": "turn-1" }]
1190
- }
1191
- }
1192
- },
1193
- {
1194
- "id": "missing-risk",
1195
- "snapshot": {
1196
- "events": [],
1197
- "operation_trace": [],
1198
- "provider_requests": [],
1199
- "provider_responses": [],
1200
- "replay": {},
1201
- "result": {
1202
- "error": {
1203
- "code": "UNCLASSIFIED_TOOL_RISK",
1204
- "message": "Enabled tools require an explicit risk classification",
1205
- "outcome": "not_started",
1206
- "path": "/risk",
1207
- "retryable": false
1208
- }
1209
- }
1210
- }
1211
- },
1212
- {
1213
- "id": "approval-reject",
1214
- "snapshot": {
1215
- "events": [
1216
- {
1217
- "id": "event-01",
1218
- "metadata": {},
1219
- "sequence": 1,
1220
- "session_id": "session-approval-reject",
1221
- "turn_id": "turn-1",
1222
- "type": "session.created",
1223
- "version": "1.0"
1224
- },
1225
- {
1226
- "content": "write",
1227
- "id": "event-02",
1228
- "metadata": {},
1229
- "sequence": 2,
1230
- "session_id": "session-approval-reject",
1231
- "turn_id": "turn-1",
1232
- "type": "user.message",
1233
- "version": "1.0"
1234
- },
1235
- {
1236
- "id": "event-03",
1237
- "metadata": {},
1238
- "sequence": 3,
1239
- "session_id": "session-approval-reject",
1240
- "turn_id": "turn-1",
1241
- "type": "agent.reasoning.started",
1242
- "version": "1.0"
1243
- },
1244
- {
1245
- "id": "event-04",
1246
- "metadata": {},
1247
- "sequence": 4,
1248
- "session_id": "session-approval-reject",
1249
- "tool_args": { "value": 1 },
1250
- "tool_call_id": "call-1",
1251
- "tool_name": "fixture_tool",
1252
- "turn_id": "turn-1",
1253
- "type": "tool.call.requested",
1254
- "version": "1.0"
1255
- },
1256
- {
1257
- "id": "event-05",
1258
- "metadata": {},
1259
- "risk": "write",
1260
- "sequence": 5,
1261
- "session_id": "session-approval-reject",
1262
- "tool_args": { "value": 1 },
1263
- "tool_call_id": "call-1",
1264
- "tool_name": "fixture_tool",
1265
- "turn_id": "turn-1",
1266
- "type": "tool.approval.requested",
1267
- "version": "1.0"
1268
- },
1269
- {
1270
- "error_code": "APPROVAL_REJECTED",
1271
- "id": "event-06",
1272
- "metadata": {},
1273
- "reason": "Fixture rejected",
1274
- "sequence": 6,
1275
- "session_id": "session-approval-reject",
1276
- "tool_call_id": "call-1",
1277
- "tool_name": "fixture_tool",
1278
- "turn_id": "turn-1",
1279
- "type": "tool.approval.rejected",
1280
- "version": "1.0"
1281
- },
1282
- {
1283
- "error": "Tool approval rejected",
1284
- "error_code": "APPROVAL_REJECTED",
1285
- "id": "event-07",
1286
- "metadata": {},
1287
- "outcome": "not_started",
1288
- "retryable": false,
1289
- "sequence": 7,
1290
- "session_id": "session-approval-reject",
1291
- "tool_call_id": "call-1",
1292
- "tool_name": "fixture_tool",
1293
- "turn_id": "turn-1",
1294
- "type": "tool.call.failed",
1295
- "version": "1.0"
1296
- },
1297
- {
1298
- "id": "event-08",
1299
- "metadata": {},
1300
- "sequence": 8,
1301
- "session_id": "session-approval-reject",
1302
- "turn_id": "turn-1",
1303
- "type": "agent.reasoning.started",
1304
- "version": "1.0"
1305
- },
1306
- {
1307
- "delta": "handled",
1308
- "id": "event-09",
1309
- "metadata": {},
1310
- "sequence": 9,
1311
- "session_id": "session-approval-reject",
1312
- "turn_id": "turn-1",
1313
- "type": "agent.message.delta",
1314
- "version": "1.0"
1315
- },
1316
- {
1317
- "content": "handled",
1318
- "id": "event-10",
1319
- "metadata": {},
1320
- "sequence": 10,
1321
- "session_id": "session-approval-reject",
1322
- "turn_id": "turn-1",
1323
- "type": "agent.message.completed",
1324
- "version": "1.0"
1325
- }
1326
- ],
1327
- "operation_trace": [
1328
- "provider:start:0",
1329
- "provider:end:0",
1330
- "provider:start:1",
1331
- "provider:end:1"
1332
- ],
1333
- "provider_requests": [
1334
- {
1335
- "messages": [
1336
- { "content": "You are a helpful assistant.", "role": "system" },
1337
- { "content": "write", "role": "user" }
1338
- ],
1339
- "tools": [
1340
- {
1341
- "description": "fixture tool",
1342
- "name": "fixture_tool",
1343
- "parameters": {
1344
- "additionalProperties": false,
1345
- "properties": { "value": { "type": "integer" } },
1346
- "type": "object"
1347
- }
1348
- }
1349
- ]
1350
- },
1351
- {
1352
- "messages": [
1353
- { "content": "You are a helpful assistant.", "role": "system" },
1354
- { "content": "write", "role": "user" },
1355
- {
1356
- "content": "",
1357
- "role": "assistant",
1358
- "tool_calls": [
1359
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
1360
- ]
1361
- },
1362
- {
1363
- "content": "Error: Tool approval rejected",
1364
- "name": "fixture_tool",
1365
- "role": "tool",
1366
- "tool_call_id": "call-1"
1367
- }
1368
- ],
1369
- "tools": [
1370
- {
1371
- "description": "fixture tool",
1372
- "name": "fixture_tool",
1373
- "parameters": {
1374
- "additionalProperties": false,
1375
- "properties": { "value": { "type": "integer" } },
1376
- "type": "object"
1377
- }
1378
- }
1379
- ]
1380
- }
1381
- ],
1382
- "provider_responses": [
1383
- {
1384
- "content": "",
1385
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
1386
- },
1387
- { "content": "handled", "tool_calls": [] }
1388
- ],
1389
- "replay": {},
1390
- "result": {
1391
- "turns": [
1392
- { "session_id": "session-approval-reject", "text": "handled", "turn_id": "turn-1" }
1393
- ]
1394
- }
1395
- }
1396
- },
1397
- {
1398
- "id": "approval-timeout",
1399
- "snapshot": {
1400
- "events": [
1401
- {
1402
- "id": "event-01",
1403
- "metadata": {},
1404
- "sequence": 1,
1405
- "session_id": "session-approval-timeout",
1406
- "turn_id": "turn-1",
1407
- "type": "session.created",
1408
- "version": "1.0"
1409
- },
1410
- {
1411
- "content": "write",
1412
- "id": "event-02",
1413
- "metadata": {},
1414
- "sequence": 2,
1415
- "session_id": "session-approval-timeout",
1416
- "turn_id": "turn-1",
1417
- "type": "user.message",
1418
- "version": "1.0"
1419
- },
1420
- {
1421
- "id": "event-03",
1422
- "metadata": {},
1423
- "sequence": 3,
1424
- "session_id": "session-approval-timeout",
1425
- "turn_id": "turn-1",
1426
- "type": "agent.reasoning.started",
1427
- "version": "1.0"
1428
- },
1429
- {
1430
- "id": "event-04",
1431
- "metadata": {},
1432
- "sequence": 4,
1433
- "session_id": "session-approval-timeout",
1434
- "tool_args": { "value": 1 },
1435
- "tool_call_id": "call-1",
1436
- "tool_name": "fixture_tool",
1437
- "turn_id": "turn-1",
1438
- "type": "tool.call.requested",
1439
- "version": "1.0"
1440
- },
1441
- {
1442
- "id": "event-05",
1443
- "metadata": {},
1444
- "risk": "write",
1445
- "sequence": 5,
1446
- "session_id": "session-approval-timeout",
1447
- "tool_args": { "value": 1 },
1448
- "tool_call_id": "call-1",
1449
- "tool_name": "fixture_tool",
1450
- "turn_id": "turn-1",
1451
- "type": "tool.approval.requested",
1452
- "version": "1.0"
1453
- },
1454
- {
1455
- "error_code": "APPROVAL_TIMEOUT",
1456
- "id": "event-06",
1457
- "metadata": {},
1458
- "reason": "Fixture timed out",
1459
- "sequence": 6,
1460
- "session_id": "session-approval-timeout",
1461
- "tool_call_id": "call-1",
1462
- "tool_name": "fixture_tool",
1463
- "turn_id": "turn-1",
1464
- "type": "tool.approval.rejected",
1465
- "version": "1.0"
1466
- },
1467
- {
1468
- "error": "Tool approval timed out",
1469
- "error_code": "APPROVAL_TIMEOUT",
1470
- "id": "event-07",
1471
- "metadata": {},
1472
- "outcome": "not_started",
1473
- "retryable": true,
1474
- "sequence": 7,
1475
- "session_id": "session-approval-timeout",
1476
- "tool_call_id": "call-1",
1477
- "tool_name": "fixture_tool",
1478
- "turn_id": "turn-1",
1479
- "type": "tool.call.failed",
1480
- "version": "1.0"
1481
- },
1482
- {
1483
- "id": "event-08",
1484
- "metadata": {},
1485
- "sequence": 8,
1486
- "session_id": "session-approval-timeout",
1487
- "turn_id": "turn-1",
1488
- "type": "agent.reasoning.started",
1489
- "version": "1.0"
1490
- },
1491
- {
1492
- "delta": "handled",
1493
- "id": "event-09",
1494
- "metadata": {},
1495
- "sequence": 9,
1496
- "session_id": "session-approval-timeout",
1497
- "turn_id": "turn-1",
1498
- "type": "agent.message.delta",
1499
- "version": "1.0"
1500
- },
1501
- {
1502
- "content": "handled",
1503
- "id": "event-10",
1504
- "metadata": {},
1505
- "sequence": 10,
1506
- "session_id": "session-approval-timeout",
1507
- "turn_id": "turn-1",
1508
- "type": "agent.message.completed",
1509
- "version": "1.0"
1510
- }
1511
- ],
1512
- "operation_trace": [
1513
- "provider:start:0",
1514
- "provider:end:0",
1515
- "provider:start:1",
1516
- "provider:end:1"
1517
- ],
1518
- "provider_requests": [
1519
- {
1520
- "messages": [
1521
- { "content": "You are a helpful assistant.", "role": "system" },
1522
- { "content": "write", "role": "user" }
1523
- ],
1524
- "tools": [
1525
- {
1526
- "description": "fixture tool",
1527
- "name": "fixture_tool",
1528
- "parameters": {
1529
- "additionalProperties": false,
1530
- "properties": { "value": { "type": "integer" } },
1531
- "type": "object"
1532
- }
1533
- }
1534
- ]
1535
- },
1536
- {
1537
- "messages": [
1538
- { "content": "You are a helpful assistant.", "role": "system" },
1539
- { "content": "write", "role": "user" },
1540
- {
1541
- "content": "",
1542
- "role": "assistant",
1543
- "tool_calls": [
1544
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
1545
- ]
1546
- },
1547
- {
1548
- "content": "Error: Tool approval timed out",
1549
- "name": "fixture_tool",
1550
- "role": "tool",
1551
- "tool_call_id": "call-1"
1552
- }
1553
- ],
1554
- "tools": [
1555
- {
1556
- "description": "fixture tool",
1557
- "name": "fixture_tool",
1558
- "parameters": {
1559
- "additionalProperties": false,
1560
- "properties": { "value": { "type": "integer" } },
1561
- "type": "object"
1562
- }
1563
- }
1564
- ]
1565
- }
1566
- ],
1567
- "provider_responses": [
1568
- {
1569
- "content": "",
1570
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
1571
- },
1572
- { "content": "handled", "tool_calls": [] }
1573
- ],
1574
- "replay": {},
1575
- "result": {
1576
- "turns": [
1577
- { "session_id": "session-approval-timeout", "text": "handled", "turn_id": "turn-1" }
1578
- ]
1579
- }
1580
- }
1581
- },
1582
- {
1583
- "id": "approval-unavailable",
1584
- "snapshot": {
1585
- "events": [
1586
- {
1587
- "id": "event-01",
1588
- "metadata": {},
1589
- "sequence": 1,
1590
- "session_id": "session-approval-unavailable",
1591
- "turn_id": "turn-1",
1592
- "type": "session.created",
1593
- "version": "1.0"
1594
- },
1595
- {
1596
- "content": "write",
1597
- "id": "event-02",
1598
- "metadata": {},
1599
- "sequence": 2,
1600
- "session_id": "session-approval-unavailable",
1601
- "turn_id": "turn-1",
1602
- "type": "user.message",
1603
- "version": "1.0"
1604
- },
1605
- {
1606
- "id": "event-03",
1607
- "metadata": {},
1608
- "sequence": 3,
1609
- "session_id": "session-approval-unavailable",
1610
- "turn_id": "turn-1",
1611
- "type": "agent.reasoning.started",
1612
- "version": "1.0"
1613
- },
1614
- {
1615
- "id": "event-04",
1616
- "metadata": {},
1617
- "sequence": 4,
1618
- "session_id": "session-approval-unavailable",
1619
- "tool_args": { "value": 1 },
1620
- "tool_call_id": "call-1",
1621
- "tool_name": "fixture_tool",
1622
- "turn_id": "turn-1",
1623
- "type": "tool.call.requested",
1624
- "version": "1.0"
1625
- },
1626
- {
1627
- "id": "event-05",
1628
- "metadata": {},
1629
- "risk": "write",
1630
- "sequence": 5,
1631
- "session_id": "session-approval-unavailable",
1632
- "tool_args": { "value": 1 },
1633
- "tool_call_id": "call-1",
1634
- "tool_name": "fixture_tool",
1635
- "turn_id": "turn-1",
1636
- "type": "tool.approval.requested",
1637
- "version": "1.0"
1638
- },
1639
- {
1640
- "error_code": "APPROVAL_UNAVAILABLE",
1641
- "id": "event-06",
1642
- "metadata": {},
1643
- "reason": "No approval handler registered",
1644
- "sequence": 6,
1645
- "session_id": "session-approval-unavailable",
1646
- "tool_call_id": "call-1",
1647
- "tool_name": "fixture_tool",
1648
- "turn_id": "turn-1",
1649
- "type": "tool.approval.rejected",
1650
- "version": "1.0"
1651
- },
1652
- {
1653
- "error": "Tool approval unavailable",
1654
- "error_code": "APPROVAL_UNAVAILABLE",
1655
- "id": "event-07",
1656
- "metadata": {},
1657
- "outcome": "not_started",
1658
- "retryable": false,
1659
- "sequence": 7,
1660
- "session_id": "session-approval-unavailable",
1661
- "tool_call_id": "call-1",
1662
- "tool_name": "fixture_tool",
1663
- "turn_id": "turn-1",
1664
- "type": "tool.call.failed",
1665
- "version": "1.0"
1666
- },
1667
- {
1668
- "id": "event-08",
1669
- "metadata": {},
1670
- "sequence": 8,
1671
- "session_id": "session-approval-unavailable",
1672
- "turn_id": "turn-1",
1673
- "type": "agent.reasoning.started",
1674
- "version": "1.0"
1675
- },
1676
- {
1677
- "delta": "handled",
1678
- "id": "event-09",
1679
- "metadata": {},
1680
- "sequence": 9,
1681
- "session_id": "session-approval-unavailable",
1682
- "turn_id": "turn-1",
1683
- "type": "agent.message.delta",
1684
- "version": "1.0"
1685
- },
1686
- {
1687
- "content": "handled",
1688
- "id": "event-10",
1689
- "metadata": {},
1690
- "sequence": 10,
1691
- "session_id": "session-approval-unavailable",
1692
- "turn_id": "turn-1",
1693
- "type": "agent.message.completed",
1694
- "version": "1.0"
1695
- }
1696
- ],
1697
- "operation_trace": [
1698
- "provider:start:0",
1699
- "provider:end:0",
1700
- "provider:start:1",
1701
- "provider:end:1"
1702
- ],
1703
- "provider_requests": [
1704
- {
1705
- "messages": [
1706
- { "content": "You are a helpful assistant.", "role": "system" },
1707
- { "content": "write", "role": "user" }
1708
- ],
1709
- "tools": [
1710
- {
1711
- "description": "fixture tool",
1712
- "name": "fixture_tool",
1713
- "parameters": {
1714
- "additionalProperties": false,
1715
- "properties": { "value": { "type": "integer" } },
1716
- "type": "object"
1717
- }
1718
- }
1719
- ]
1720
- },
1721
- {
1722
- "messages": [
1723
- { "content": "You are a helpful assistant.", "role": "system" },
1724
- { "content": "write", "role": "user" },
1725
- {
1726
- "content": "",
1727
- "role": "assistant",
1728
- "tool_calls": [
1729
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
1730
- ]
1731
- },
1732
- {
1733
- "content": "Error: Tool approval unavailable",
1734
- "name": "fixture_tool",
1735
- "role": "tool",
1736
- "tool_call_id": "call-1"
1737
- }
1738
- ],
1739
- "tools": [
1740
- {
1741
- "description": "fixture tool",
1742
- "name": "fixture_tool",
1743
- "parameters": {
1744
- "additionalProperties": false,
1745
- "properties": { "value": { "type": "integer" } },
1746
- "type": "object"
1747
- }
1748
- }
1749
- ]
1750
- }
1751
- ],
1752
- "provider_responses": [
1753
- {
1754
- "content": "",
1755
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
1756
- },
1757
- { "content": "handled", "tool_calls": [] }
1758
- ],
1759
- "replay": {},
1760
- "result": {
1761
- "turns": [
1762
- { "session_id": "session-approval-unavailable", "text": "handled", "turn_id": "turn-1" }
1763
- ]
1764
- }
1765
- }
1766
- },
1767
- {
1768
- "id": "approval-external-recorded",
1769
- "snapshot": {
1770
- "events": [
1771
- {
1772
- "id": "event-01",
1773
- "metadata": {},
1774
- "sequence": 1,
1775
- "session_id": "session-approval-external",
1776
- "turn_id": "turn-1",
1777
- "type": "session.created",
1778
- "version": "1.0"
1779
- },
1780
- {
1781
- "content": "write",
1782
- "id": "event-02",
1783
- "metadata": {},
1784
- "sequence": 2,
1785
- "session_id": "session-approval-external",
1786
- "turn_id": "turn-1",
1787
- "type": "user.message",
1788
- "version": "1.0"
1789
- },
1790
- {
1791
- "id": "event-03",
1792
- "metadata": {},
1793
- "sequence": 3,
1794
- "session_id": "session-approval-external",
1795
- "turn_id": "turn-1",
1796
- "type": "agent.reasoning.started",
1797
- "version": "1.0"
1798
- },
1799
- {
1800
- "id": "event-04",
1801
- "metadata": {},
1802
- "sequence": 4,
1803
- "session_id": "session-approval-external",
1804
- "tool_args": { "value": 1 },
1805
- "tool_call_id": "call-1",
1806
- "tool_name": "fixture_tool",
1807
- "turn_id": "turn-1",
1808
- "type": "tool.call.requested",
1809
- "version": "1.0"
1810
- },
1811
- {
1812
- "id": "event-05",
1813
- "metadata": {},
1814
- "risk": "write",
1815
- "sequence": 5,
1816
- "session_id": "session-approval-external",
1817
- "tool_args": { "value": 1 },
1818
- "tool_call_id": "call-1",
1819
- "tool_name": "fixture_tool",
1820
- "turn_id": "turn-1",
1821
- "type": "tool.approval.requested",
1822
- "version": "1.0"
1823
- },
1824
- {
1825
- "id": "event-06",
1826
- "metadata": {},
1827
- "sequence": 6,
1828
- "session_id": "session-approval-external",
1829
- "tool_call_id": "call-1",
1830
- "tool_name": "fixture_tool",
1831
- "turn_id": "turn-1",
1832
- "type": "tool.approval.approved",
1833
- "version": "1.0"
1834
- },
1835
- {
1836
- "id": "event-07",
1837
- "metadata": {},
1838
- "sequence": 7,
1839
- "session_id": "session-approval-external",
1840
- "tool_call_id": "call-1",
1841
- "tool_name": "fixture_tool",
1842
- "turn_id": "turn-1",
1843
- "type": "tool.call.started",
1844
- "version": "1.0"
1845
- },
1846
- {
1847
- "id": "event-08",
1848
- "metadata": {},
1849
- "result": { "arguments": { "value": 1 }, "tool": "fixture_tool" },
1850
- "sequence": 8,
1851
- "session_id": "session-approval-external",
1852
- "tool_call_id": "call-1",
1853
- "tool_name": "fixture_tool",
1854
- "turn_id": "turn-1",
1855
- "type": "tool.call.completed",
1856
- "version": "1.0"
1857
- },
1858
- {
1859
- "id": "event-09",
1860
- "metadata": {},
1861
- "sequence": 9,
1862
- "session_id": "session-approval-external",
1863
- "turn_id": "turn-1",
1864
- "type": "agent.reasoning.started",
1865
- "version": "1.0"
1866
- },
1867
- {
1868
- "delta": "handled",
1869
- "id": "event-10",
1870
- "metadata": {},
1871
- "sequence": 10,
1872
- "session_id": "session-approval-external",
1873
- "turn_id": "turn-1",
1874
- "type": "agent.message.delta",
1875
- "version": "1.0"
1876
- },
1877
- {
1878
- "content": "handled",
1879
- "id": "event-11",
1880
- "metadata": {},
1881
- "sequence": 11,
1882
- "session_id": "session-approval-external",
1883
- "turn_id": "turn-1",
1884
- "type": "agent.message.completed",
1885
- "version": "1.0"
1886
- }
1887
- ],
1888
- "operation_trace": [
1889
- "provider:start:0",
1890
- "provider:end:0",
1891
- "tool:start:fixture",
1892
- "tool:end:fixture",
1893
- "provider:start:1",
1894
- "provider:end:1"
1895
- ],
1896
- "provider_requests": [
1897
- {
1898
- "messages": [
1899
- { "content": "You are a helpful assistant.", "role": "system" },
1900
- { "content": "write", "role": "user" }
1901
- ],
1902
- "tools": [
1903
- {
1904
- "description": "fixture tool",
1905
- "name": "fixture_tool",
1906
- "parameters": {
1907
- "additionalProperties": false,
1908
- "properties": { "value": { "type": "integer" } },
1909
- "type": "object"
1910
- }
1911
- }
1912
- ]
1913
- },
1914
- {
1915
- "messages": [
1916
- { "content": "You are a helpful assistant.", "role": "system" },
1917
- { "content": "write", "role": "user" },
1918
- {
1919
- "content": "",
1920
- "role": "assistant",
1921
- "tool_calls": [
1922
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
1923
- ]
1924
- },
1925
- {
1926
- "content": "{\"arguments\":{\"value\":1},\"tool\":\"fixture_tool\"}",
1927
- "name": "fixture_tool",
1928
- "role": "tool",
1929
- "tool_call_id": "call-1"
1930
- }
1931
- ],
1932
- "tools": [
1933
- {
1934
- "description": "fixture tool",
1935
- "name": "fixture_tool",
1936
- "parameters": {
1937
- "additionalProperties": false,
1938
- "properties": { "value": { "type": "integer" } },
1939
- "type": "object"
1940
- }
1941
- }
1942
- ]
1943
- }
1944
- ],
1945
- "provider_responses": [
1946
- {
1947
- "content": "",
1948
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
1949
- },
1950
- { "content": "handled", "tool_calls": [] }
1951
- ],
1952
- "replay": {},
1953
- "result": {
1954
- "turns": [
1955
- { "session_id": "session-approval-external", "text": "handled", "turn_id": "turn-1" }
1956
- ]
1957
- }
1958
- }
1959
- },
1960
- {
1961
- "id": "executor-error",
1962
- "snapshot": {
1963
- "events": [
1964
- {
1965
- "id": "event-01",
1966
- "metadata": {},
1967
- "sequence": 1,
1968
- "session_id": "session-error",
1969
- "turn_id": "turn-1",
1970
- "type": "session.created",
1971
- "version": "1.0"
1972
- },
1973
- {
1974
- "content": "fail",
1975
- "id": "event-02",
1976
- "metadata": {},
1977
- "sequence": 2,
1978
- "session_id": "session-error",
1979
- "turn_id": "turn-1",
1980
- "type": "user.message",
1981
- "version": "1.0"
1982
- },
1983
- {
1984
- "id": "event-03",
1985
- "metadata": {},
1986
- "sequence": 3,
1987
- "session_id": "session-error",
1988
- "turn_id": "turn-1",
1989
- "type": "agent.reasoning.started",
1990
- "version": "1.0"
1991
- },
1992
- {
1993
- "id": "event-04",
1994
- "metadata": {},
1995
- "sequence": 4,
1996
- "session_id": "session-error",
1997
- "tool_args": { "value": 1 },
1998
- "tool_call_id": "call-1",
1999
- "tool_name": "fixture_tool",
2000
- "turn_id": "turn-1",
2001
- "type": "tool.call.requested",
2002
- "version": "1.0"
2003
- },
2004
- {
2005
- "id": "event-05",
2006
- "metadata": {},
2007
- "sequence": 5,
2008
- "session_id": "session-error",
2009
- "tool_call_id": "call-1",
2010
- "tool_name": "fixture_tool",
2011
- "turn_id": "turn-1",
2012
- "type": "tool.call.started",
2013
- "version": "1.0"
2014
- },
2015
- {
2016
- "error": "Tool execution failed",
2017
- "error_code": "TOOL_EXECUTION_FAILED",
2018
- "id": "event-06",
2019
- "metadata": {},
2020
- "outcome": "unknown",
2021
- "retryable": false,
2022
- "sequence": 6,
2023
- "session_id": "session-error",
2024
- "tool_call_id": "call-1",
2025
- "tool_name": "fixture_tool",
2026
- "turn_id": "turn-1",
2027
- "type": "tool.call.failed",
2028
- "version": "1.0"
2029
- },
2030
- {
2031
- "id": "event-07",
2032
- "metadata": {},
2033
- "sequence": 7,
2034
- "session_id": "session-error",
2035
- "turn_id": "turn-1",
2036
- "type": "agent.reasoning.started",
2037
- "version": "1.0"
2038
- },
2039
- {
2040
- "delta": "handled",
2041
- "id": "event-08",
2042
- "metadata": {},
2043
- "sequence": 8,
2044
- "session_id": "session-error",
2045
- "turn_id": "turn-1",
2046
- "type": "agent.message.delta",
2047
- "version": "1.0"
2048
- },
2049
- {
2050
- "content": "handled",
2051
- "id": "event-09",
2052
- "metadata": {},
2053
- "sequence": 9,
2054
- "session_id": "session-error",
2055
- "turn_id": "turn-1",
2056
- "type": "agent.message.completed",
2057
- "version": "1.0"
2058
- }
2059
- ],
2060
- "operation_trace": [
2061
- "provider:start:0",
2062
- "provider:end:0",
2063
- "tool:start:fixture",
2064
- "tool:end:fixture",
2065
- "provider:start:1",
2066
- "provider:end:1"
2067
- ],
2068
- "provider_requests": [
2069
- {
2070
- "messages": [
2071
- { "content": "You are a helpful assistant.", "role": "system" },
2072
- { "content": "fail", "role": "user" }
2073
- ],
2074
- "tools": [
2075
- {
2076
- "description": "fixture tool",
2077
- "name": "fixture_tool",
2078
- "parameters": {
2079
- "additionalProperties": false,
2080
- "properties": { "value": { "type": "integer" } },
2081
- "type": "object"
2082
- }
2083
- }
2084
- ]
2085
- },
2086
- {
2087
- "messages": [
2088
- { "content": "You are a helpful assistant.", "role": "system" },
2089
- { "content": "fail", "role": "user" },
2090
- {
2091
- "content": "",
2092
- "role": "assistant",
2093
- "tool_calls": [
2094
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
2095
- ]
2096
- },
2097
- {
2098
- "content": "Error: Tool execution failed",
2099
- "name": "fixture_tool",
2100
- "role": "tool",
2101
- "tool_call_id": "call-1"
2102
- }
2103
- ],
2104
- "tools": [
2105
- {
2106
- "description": "fixture tool",
2107
- "name": "fixture_tool",
2108
- "parameters": {
2109
- "additionalProperties": false,
2110
- "properties": { "value": { "type": "integer" } },
2111
- "type": "object"
2112
- }
2113
- }
2114
- ]
2115
- }
2116
- ],
2117
- "provider_responses": [
2118
- {
2119
- "content": "",
2120
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
2121
- },
2122
- { "content": "handled", "tool_calls": [] }
2123
- ],
2124
- "replay": {},
2125
- "result": {
2126
- "turns": [{ "session_id": "session-error", "text": "handled", "turn_id": "turn-1" }]
2127
- }
2128
- }
2129
- },
2130
- {
2131
- "id": "queue-timeout",
2132
- "snapshot": {
2133
- "events": [
2134
- {
2135
- "id": "event-01",
2136
- "metadata": {},
2137
- "sequence": 1,
2138
- "session_id": "session-queue-timeout",
2139
- "turn_id": "turn-1",
2140
- "type": "session.created",
2141
- "version": "1.0"
2142
- },
2143
- {
2144
- "content": "timeout",
2145
- "id": "event-02",
2146
- "metadata": {},
2147
- "sequence": 2,
2148
- "session_id": "session-queue-timeout",
2149
- "turn_id": "turn-1",
2150
- "type": "user.message",
2151
- "version": "1.0"
2152
- },
2153
- {
2154
- "id": "event-03",
2155
- "metadata": {},
2156
- "sequence": 3,
2157
- "session_id": "session-queue-timeout",
2158
- "turn_id": "turn-1",
2159
- "type": "agent.reasoning.started",
2160
- "version": "1.0"
2161
- },
2162
- {
2163
- "id": "event-04",
2164
- "metadata": {},
2165
- "sequence": 4,
2166
- "session_id": "session-queue-timeout",
2167
- "tool_args": { "value": 1 },
2168
- "tool_call_id": "call-1",
2169
- "tool_name": "fixture_tool",
2170
- "turn_id": "turn-1",
2171
- "type": "tool.call.requested",
2172
- "version": "1.0"
2173
- },
2174
- {
2175
- "error": "Tool execution timed out",
2176
- "error_code": "TOOL_TIMEOUT",
2177
- "id": "event-05",
2178
- "metadata": {},
2179
- "outcome": "not_started",
2180
- "retryable": true,
2181
- "sequence": 5,
2182
- "session_id": "session-queue-timeout",
2183
- "tool_call_id": "call-1",
2184
- "tool_name": "fixture_tool",
2185
- "turn_id": "turn-1",
2186
- "type": "tool.call.failed",
2187
- "version": "1.0"
2188
- },
2189
- {
2190
- "id": "event-06",
2191
- "metadata": {},
2192
- "sequence": 6,
2193
- "session_id": "session-queue-timeout",
2194
- "turn_id": "turn-1",
2195
- "type": "agent.reasoning.started",
2196
- "version": "1.0"
2197
- },
2198
- {
2199
- "delta": "handled",
2200
- "id": "event-07",
2201
- "metadata": {},
2202
- "sequence": 7,
2203
- "session_id": "session-queue-timeout",
2204
- "turn_id": "turn-1",
2205
- "type": "agent.message.delta",
2206
- "version": "1.0"
2207
- },
2208
- {
2209
- "content": "handled",
2210
- "id": "event-08",
2211
- "metadata": {},
2212
- "sequence": 8,
2213
- "session_id": "session-queue-timeout",
2214
- "turn_id": "turn-1",
2215
- "type": "agent.message.completed",
2216
- "version": "1.0"
2217
- }
2218
- ],
2219
- "operation_trace": [
2220
- "provider:start:0",
2221
- "provider:end:0",
2222
- "provider:start:1",
2223
- "provider:end:1"
2224
- ],
2225
- "provider_requests": [
2226
- {
2227
- "messages": [
2228
- { "content": "You are a helpful assistant.", "role": "system" },
2229
- { "content": "timeout", "role": "user" }
2230
- ],
2231
- "tools": [
2232
- {
2233
- "description": "fixture tool",
2234
- "name": "fixture_tool",
2235
- "parameters": {
2236
- "additionalProperties": false,
2237
- "properties": { "value": { "type": "integer" } },
2238
- "type": "object"
2239
- }
2240
- }
2241
- ]
2242
- },
2243
- {
2244
- "messages": [
2245
- { "content": "You are a helpful assistant.", "role": "system" },
2246
- { "content": "timeout", "role": "user" },
2247
- {
2248
- "content": "",
2249
- "role": "assistant",
2250
- "tool_calls": [
2251
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
2252
- ]
2253
- },
2254
- {
2255
- "content": "Error: Tool execution timed out",
2256
- "name": "fixture_tool",
2257
- "role": "tool",
2258
- "tool_call_id": "call-1"
2259
- }
2260
- ],
2261
- "tools": [
2262
- {
2263
- "description": "fixture tool",
2264
- "name": "fixture_tool",
2265
- "parameters": {
2266
- "additionalProperties": false,
2267
- "properties": { "value": { "type": "integer" } },
2268
- "type": "object"
2269
- }
2270
- }
2271
- ]
2272
- }
2273
- ],
2274
- "provider_responses": [
2275
- {
2276
- "content": "",
2277
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
2278
- },
2279
- { "content": "handled", "tool_calls": [] }
2280
- ],
2281
- "replay": {},
2282
- "result": {
2283
- "turns": [
2284
- { "session_id": "session-queue-timeout", "text": "handled", "turn_id": "turn-1" }
2285
- ]
2286
- }
2287
- }
2288
- },
2289
- {
2290
- "id": "started-timeout",
2291
- "snapshot": {
2292
- "events": [
2293
- {
2294
- "id": "event-01",
2295
- "metadata": {},
2296
- "sequence": 1,
2297
- "session_id": "session-started-timeout",
2298
- "turn_id": "turn-1",
2299
- "type": "session.created",
2300
- "version": "1.0"
2301
- },
2302
- {
2303
- "content": "timeout",
2304
- "id": "event-02",
2305
- "metadata": {},
2306
- "sequence": 2,
2307
- "session_id": "session-started-timeout",
2308
- "turn_id": "turn-1",
2309
- "type": "user.message",
2310
- "version": "1.0"
2311
- },
2312
- {
2313
- "id": "event-03",
2314
- "metadata": {},
2315
- "sequence": 3,
2316
- "session_id": "session-started-timeout",
2317
- "turn_id": "turn-1",
2318
- "type": "agent.reasoning.started",
2319
- "version": "1.0"
2320
- },
2321
- {
2322
- "id": "event-04",
2323
- "metadata": {},
2324
- "sequence": 4,
2325
- "session_id": "session-started-timeout",
2326
- "tool_args": { "value": 1 },
2327
- "tool_call_id": "call-1",
2328
- "tool_name": "fixture_tool",
2329
- "turn_id": "turn-1",
2330
- "type": "tool.call.requested",
2331
- "version": "1.0"
2332
- },
2333
- {
2334
- "id": "event-05",
2335
- "metadata": {},
2336
- "sequence": 5,
2337
- "session_id": "session-started-timeout",
2338
- "tool_call_id": "call-1",
2339
- "tool_name": "fixture_tool",
2340
- "turn_id": "turn-1",
2341
- "type": "tool.call.started",
2342
- "version": "1.0"
2343
- },
2344
- {
2345
- "error": "Tool execution timed out",
2346
- "error_code": "TOOL_TIMEOUT",
2347
- "id": "event-06",
2348
- "metadata": {},
2349
- "outcome": "unknown",
2350
- "retryable": false,
2351
- "sequence": 6,
2352
- "session_id": "session-started-timeout",
2353
- "tool_call_id": "call-1",
2354
- "tool_name": "fixture_tool",
2355
- "turn_id": "turn-1",
2356
- "type": "tool.call.failed",
2357
- "version": "1.0"
2358
- },
2359
- {
2360
- "id": "event-07",
2361
- "metadata": {},
2362
- "sequence": 7,
2363
- "session_id": "session-started-timeout",
2364
- "turn_id": "turn-1",
2365
- "type": "agent.reasoning.started",
2366
- "version": "1.0"
2367
- },
2368
- {
2369
- "delta": "handled",
2370
- "id": "event-08",
2371
- "metadata": {},
2372
- "sequence": 8,
2373
- "session_id": "session-started-timeout",
2374
- "turn_id": "turn-1",
2375
- "type": "agent.message.delta",
2376
- "version": "1.0"
2377
- },
2378
- {
2379
- "content": "handled",
2380
- "id": "event-09",
2381
- "metadata": {},
2382
- "sequence": 9,
2383
- "session_id": "session-started-timeout",
2384
- "turn_id": "turn-1",
2385
- "type": "agent.message.completed",
2386
- "version": "1.0"
2387
- }
2388
- ],
2389
- "operation_trace": [
2390
- "provider:start:0",
2391
- "provider:end:0",
2392
- "tool:start:fixture",
2393
- "tool:end:fixture",
2394
- "provider:start:1",
2395
- "provider:end:1"
2396
- ],
2397
- "provider_requests": [
2398
- {
2399
- "messages": [
2400
- { "content": "You are a helpful assistant.", "role": "system" },
2401
- { "content": "timeout", "role": "user" }
2402
- ],
2403
- "tools": [
2404
- {
2405
- "description": "fixture tool",
2406
- "name": "fixture_tool",
2407
- "parameters": {
2408
- "additionalProperties": false,
2409
- "properties": { "value": { "type": "integer" } },
2410
- "type": "object"
2411
- }
2412
- }
2413
- ]
2414
- },
2415
- {
2416
- "messages": [
2417
- { "content": "You are a helpful assistant.", "role": "system" },
2418
- { "content": "timeout", "role": "user" },
2419
- {
2420
- "content": "",
2421
- "role": "assistant",
2422
- "tool_calls": [
2423
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
2424
- ]
2425
- },
2426
- {
2427
- "content": "Error: Tool execution timed out",
2428
- "name": "fixture_tool",
2429
- "role": "tool",
2430
- "tool_call_id": "call-1"
2431
- }
2432
- ],
2433
- "tools": [
2434
- {
2435
- "description": "fixture tool",
2436
- "name": "fixture_tool",
2437
- "parameters": {
2438
- "additionalProperties": false,
2439
- "properties": { "value": { "type": "integer" } },
2440
- "type": "object"
2441
- }
2442
- }
2443
- ]
2444
- }
2445
- ],
2446
- "provider_responses": [
2447
- {
2448
- "content": "",
2449
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
2450
- },
2451
- { "content": "handled", "tool_calls": [] }
2452
- ],
2453
- "replay": {},
2454
- "result": {
2455
- "turns": [
2456
- { "session_id": "session-started-timeout", "text": "handled", "turn_id": "turn-1" }
2457
- ]
2458
- }
2459
- }
2460
- },
2461
- {
2462
- "id": "cancellation-before-start",
2463
- "snapshot": {
2464
- "events": [
2465
- {
2466
- "id": "event-01",
2467
- "metadata": {},
2468
- "sequence": 1,
2469
- "session_id": "session-cancel-before",
2470
- "turn_id": "turn-1",
2471
- "type": "session.created",
2472
- "version": "1.0"
2473
- },
2474
- {
2475
- "content": "cancel",
2476
- "id": "event-02",
2477
- "metadata": {},
2478
- "sequence": 2,
2479
- "session_id": "session-cancel-before",
2480
- "turn_id": "turn-1",
2481
- "type": "user.message",
2482
- "version": "1.0"
2483
- },
2484
- {
2485
- "id": "event-03",
2486
- "metadata": {},
2487
- "sequence": 3,
2488
- "session_id": "session-cancel-before",
2489
- "turn_id": "turn-1",
2490
- "type": "agent.reasoning.started",
2491
- "version": "1.0"
2492
- },
2493
- {
2494
- "id": "event-04",
2495
- "metadata": {},
2496
- "sequence": 4,
2497
- "session_id": "session-cancel-before",
2498
- "tool_args": { "value": 1 },
2499
- "tool_call_id": "call-1",
2500
- "tool_name": "fixture_tool",
2501
- "turn_id": "turn-1",
2502
- "type": "tool.call.requested",
2503
- "version": "1.0"
2504
- },
2505
- {
2506
- "error": "Tool execution cancelled",
2507
- "error_code": "TOOL_CANCELLED",
2508
- "id": "event-05",
2509
- "metadata": {},
2510
- "outcome": "not_started",
2511
- "retryable": true,
2512
- "sequence": 5,
2513
- "session_id": "session-cancel-before",
2514
- "tool_call_id": "call-1",
2515
- "tool_name": "fixture_tool",
2516
- "turn_id": "turn-1",
2517
- "type": "tool.call.failed",
2518
- "version": "1.0"
2519
- },
2520
- {
2521
- "id": "event-06",
2522
- "metadata": {},
2523
- "sequence": 6,
2524
- "session_id": "session-cancel-before",
2525
- "turn_id": "turn-1",
2526
- "type": "agent.reasoning.started",
2527
- "version": "1.0"
2528
- },
2529
- {
2530
- "delta": "handled",
2531
- "id": "event-07",
2532
- "metadata": {},
2533
- "sequence": 7,
2534
- "session_id": "session-cancel-before",
2535
- "turn_id": "turn-1",
2536
- "type": "agent.message.delta",
2537
- "version": "1.0"
2538
- },
2539
- {
2540
- "content": "handled",
2541
- "id": "event-08",
2542
- "metadata": {},
2543
- "sequence": 8,
2544
- "session_id": "session-cancel-before",
2545
- "turn_id": "turn-1",
2546
- "type": "agent.message.completed",
2547
- "version": "1.0"
2548
- }
2549
- ],
2550
- "operation_trace": [
2551
- "provider:start:0",
2552
- "provider:end:0",
2553
- "provider:start:1",
2554
- "provider:end:1"
2555
- ],
2556
- "provider_requests": [
2557
- {
2558
- "messages": [
2559
- { "content": "You are a helpful assistant.", "role": "system" },
2560
- { "content": "cancel", "role": "user" }
2561
- ],
2562
- "tools": [
2563
- {
2564
- "description": "fixture tool",
2565
- "name": "fixture_tool",
2566
- "parameters": {
2567
- "additionalProperties": false,
2568
- "properties": { "value": { "type": "integer" } },
2569
- "type": "object"
2570
- }
2571
- }
2572
- ]
2573
- },
2574
- {
2575
- "messages": [
2576
- { "content": "You are a helpful assistant.", "role": "system" },
2577
- { "content": "cancel", "role": "user" },
2578
- {
2579
- "content": "",
2580
- "role": "assistant",
2581
- "tool_calls": [
2582
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
2583
- ]
2584
- },
2585
- {
2586
- "content": "Error: Tool execution cancelled",
2587
- "name": "fixture_tool",
2588
- "role": "tool",
2589
- "tool_call_id": "call-1"
2590
- }
2591
- ],
2592
- "tools": [
2593
- {
2594
- "description": "fixture tool",
2595
- "name": "fixture_tool",
2596
- "parameters": {
2597
- "additionalProperties": false,
2598
- "properties": { "value": { "type": "integer" } },
2599
- "type": "object"
2600
- }
2601
- }
2602
- ]
2603
- }
2604
- ],
2605
- "provider_responses": [
2606
- {
2607
- "content": "",
2608
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
2609
- },
2610
- { "content": "handled", "tool_calls": [] }
2611
- ],
2612
- "replay": {},
2613
- "result": {
2614
- "turns": [
2615
- { "session_id": "session-cancel-before", "text": "handled", "turn_id": "turn-1" }
2616
- ]
2617
- }
2618
- }
2619
- },
2620
- {
2621
- "id": "cancellation-after-start",
2622
- "snapshot": {
2623
- "events": [
2624
- {
2625
- "id": "event-01",
2626
- "metadata": {},
2627
- "sequence": 1,
2628
- "session_id": "session-cancel-after",
2629
- "turn_id": "turn-1",
2630
- "type": "session.created",
2631
- "version": "1.0"
2632
- },
2633
- {
2634
- "content": "cancel",
2635
- "id": "event-02",
2636
- "metadata": {},
2637
- "sequence": 2,
2638
- "session_id": "session-cancel-after",
2639
- "turn_id": "turn-1",
2640
- "type": "user.message",
2641
- "version": "1.0"
2642
- },
2643
- {
2644
- "id": "event-03",
2645
- "metadata": {},
2646
- "sequence": 3,
2647
- "session_id": "session-cancel-after",
2648
- "turn_id": "turn-1",
2649
- "type": "agent.reasoning.started",
2650
- "version": "1.0"
2651
- },
2652
- {
2653
- "id": "event-04",
2654
- "metadata": {},
2655
- "sequence": 4,
2656
- "session_id": "session-cancel-after",
2657
- "tool_args": { "value": 1 },
2658
- "tool_call_id": "call-1",
2659
- "tool_name": "fixture_tool",
2660
- "turn_id": "turn-1",
2661
- "type": "tool.call.requested",
2662
- "version": "1.0"
2663
- },
2664
- {
2665
- "id": "event-05",
2666
- "metadata": {},
2667
- "sequence": 5,
2668
- "session_id": "session-cancel-after",
2669
- "tool_call_id": "call-1",
2670
- "tool_name": "fixture_tool",
2671
- "turn_id": "turn-1",
2672
- "type": "tool.call.started",
2673
- "version": "1.0"
2674
- },
2675
- {
2676
- "error": "Tool execution cancelled",
2677
- "error_code": "TOOL_CANCELLED",
2678
- "id": "event-06",
2679
- "metadata": {},
2680
- "outcome": "unknown",
2681
- "retryable": false,
2682
- "sequence": 6,
2683
- "session_id": "session-cancel-after",
2684
- "tool_call_id": "call-1",
2685
- "tool_name": "fixture_tool",
2686
- "turn_id": "turn-1",
2687
- "type": "tool.call.failed",
2688
- "version": "1.0"
2689
- },
2690
- {
2691
- "id": "event-07",
2692
- "metadata": {},
2693
- "sequence": 7,
2694
- "session_id": "session-cancel-after",
2695
- "turn_id": "turn-1",
2696
- "type": "agent.reasoning.started",
2697
- "version": "1.0"
2698
- },
2699
- {
2700
- "delta": "handled",
2701
- "id": "event-08",
2702
- "metadata": {},
2703
- "sequence": 8,
2704
- "session_id": "session-cancel-after",
2705
- "turn_id": "turn-1",
2706
- "type": "agent.message.delta",
2707
- "version": "1.0"
2708
- },
2709
- {
2710
- "content": "handled",
2711
- "id": "event-09",
2712
- "metadata": {},
2713
- "sequence": 9,
2714
- "session_id": "session-cancel-after",
2715
- "turn_id": "turn-1",
2716
- "type": "agent.message.completed",
2717
- "version": "1.0"
2718
- }
2719
- ],
2720
- "operation_trace": [
2721
- "provider:start:0",
2722
- "provider:end:0",
2723
- "tool:start:fixture",
2724
- "tool:end:fixture",
2725
- "provider:start:1",
2726
- "provider:end:1"
2727
- ],
2728
- "provider_requests": [
2729
- {
2730
- "messages": [
2731
- { "content": "You are a helpful assistant.", "role": "system" },
2732
- { "content": "cancel", "role": "user" }
2733
- ],
2734
- "tools": [
2735
- {
2736
- "description": "fixture tool",
2737
- "name": "fixture_tool",
2738
- "parameters": {
2739
- "additionalProperties": false,
2740
- "properties": { "value": { "type": "integer" } },
2741
- "type": "object"
2742
- }
2743
- }
2744
- ]
2745
- },
2746
- {
2747
- "messages": [
2748
- { "content": "You are a helpful assistant.", "role": "system" },
2749
- { "content": "cancel", "role": "user" },
2750
- {
2751
- "content": "",
2752
- "role": "assistant",
2753
- "tool_calls": [
2754
- { "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }
2755
- ]
2756
- },
2757
- {
2758
- "content": "Error: Tool execution cancelled",
2759
- "name": "fixture_tool",
2760
- "role": "tool",
2761
- "tool_call_id": "call-1"
2762
- }
2763
- ],
2764
- "tools": [
2765
- {
2766
- "description": "fixture tool",
2767
- "name": "fixture_tool",
2768
- "parameters": {
2769
- "additionalProperties": false,
2770
- "properties": { "value": { "type": "integer" } },
2771
- "type": "object"
2772
- }
2773
- }
2774
- ]
2775
- }
2776
- ],
2777
- "provider_responses": [
2778
- {
2779
- "content": "",
2780
- "tool_calls": [{ "arguments": { "value": 1 }, "id": "call-1", "name": "fixture_tool" }]
2781
- },
2782
- { "content": "handled", "tool_calls": [] }
2783
- ],
2784
- "replay": {},
2785
- "result": {
2786
- "turns": [
2787
- { "session_id": "session-cancel-after", "text": "handled", "turn_id": "turn-1" }
2788
- ]
2789
- }
2790
- }
2791
- },
2792
- {
2793
- "id": "turn-queue-timeout",
2794
- "snapshot": {
2795
- "events": [
2796
- {
2797
- "error": "Agent turn timed out",
2798
- "error_code": "TURN_TIMEOUT",
2799
- "id": "event-01",
2800
- "metadata": {},
2801
- "outcome": "not_started",
2802
- "phase": "queue",
2803
- "retryable": true,
2804
- "sequence": 1,
2805
- "session_id": "session-turn-queue-timeout",
2806
- "turn_id": "turn-1",
2807
- "type": "agent.turn.failed",
2808
- "version": "1.0"
2809
- }
2810
- ],
2811
- "operation_trace": [],
2812
- "provider_requests": [],
2813
- "provider_responses": [],
2814
- "replay": {},
2815
- "result": {
2816
- "error": {
2817
- "code": "TURN_TIMEOUT",
2818
- "outcome": "not_started",
2819
- "phase": "queue",
2820
- "retryable": true
2821
- }
2822
- }
2823
- }
2824
- },
2825
- {
2826
- "id": "turn-provider-open-timeout",
2827
- "snapshot": {
2828
- "events": [
2829
- {
2830
- "id": "event-01",
2831
- "metadata": {},
2832
- "sequence": 1,
2833
- "session_id": "session-turn-provider-open-timeout",
2834
- "turn_id": "turn-1",
2835
- "type": "session.created",
2836
- "version": "1.0"
2837
- },
2838
- {
2839
- "content": "timeout",
2840
- "id": "event-02",
2841
- "metadata": {},
2842
- "sequence": 2,
2843
- "session_id": "session-turn-provider-open-timeout",
2844
- "turn_id": "turn-1",
2845
- "type": "user.message",
2846
- "version": "1.0"
2847
- },
2848
- {
2849
- "id": "event-03",
2850
- "metadata": {},
2851
- "sequence": 3,
2852
- "session_id": "session-turn-provider-open-timeout",
2853
- "turn_id": "turn-1",
2854
- "type": "agent.reasoning.started",
2855
- "version": "1.0"
2856
- },
2857
- {
2858
- "error": "Agent turn timed out",
2859
- "error_code": "TURN_TIMEOUT",
2860
- "id": "event-04",
2861
- "metadata": {},
2862
- "outcome": "unknown",
2863
- "phase": "provider_open",
2864
- "retryable": true,
2865
- "sequence": 4,
2866
- "session_id": "session-turn-provider-open-timeout",
2867
- "turn_id": "turn-1",
2868
- "type": "agent.turn.failed",
2869
- "version": "1.0"
2870
- }
2871
- ],
2872
- "operation_trace": ["provider:start:0", "provider:end:0"],
2873
- "provider_requests": [
2874
- {
2875
- "messages": [
2876
- { "content": "You are a helpful assistant.", "role": "system" },
2877
- { "content": "timeout", "role": "user" }
2878
- ],
2879
- "tools": []
2880
- }
2881
- ],
2882
- "provider_responses": [{ "content": "", "tool_calls": [] }],
2883
- "replay": {},
2884
- "result": {
2885
- "error": {
2886
- "code": "TURN_TIMEOUT",
2887
- "outcome": "unknown",
2888
- "phase": "provider_open",
2889
- "retryable": true
2890
- }
2891
- }
2892
- }
2893
- },
2894
- {
2895
- "id": "turn-provider-stream-timeout",
2896
- "snapshot": {
2897
- "events": [
2898
- {
2899
- "id": "event-01",
2900
- "metadata": {},
2901
- "sequence": 1,
2902
- "session_id": "session-turn-provider-stream-timeout",
2903
- "turn_id": "turn-1",
2904
- "type": "session.created",
2905
- "version": "1.0"
2906
- },
2907
- {
2908
- "content": "timeout",
2909
- "id": "event-02",
2910
- "metadata": {},
2911
- "sequence": 2,
2912
- "session_id": "session-turn-provider-stream-timeout",
2913
- "turn_id": "turn-1",
2914
- "type": "user.message",
2915
- "version": "1.0"
2916
- },
2917
- {
2918
- "id": "event-03",
2919
- "metadata": {},
2920
- "sequence": 3,
2921
- "session_id": "session-turn-provider-stream-timeout",
2922
- "turn_id": "turn-1",
2923
- "type": "agent.reasoning.started",
2924
- "version": "1.0"
2925
- },
2926
- {
2927
- "delta": "partial",
2928
- "id": "event-04",
2929
- "metadata": {},
2930
- "sequence": 4,
2931
- "session_id": "session-turn-provider-stream-timeout",
2932
- "turn_id": "turn-1",
2933
- "type": "agent.message.delta",
2934
- "version": "1.0"
2935
- },
2936
- {
2937
- "error": "Agent turn timed out",
2938
- "error_code": "TURN_TIMEOUT",
2939
- "id": "event-05",
2940
- "metadata": {},
2941
- "outcome": "unknown",
2942
- "phase": "provider_stream",
2943
- "retryable": true,
2944
- "sequence": 5,
2945
- "session_id": "session-turn-provider-stream-timeout",
2946
- "turn_id": "turn-1",
2947
- "type": "agent.turn.failed",
2948
- "version": "1.0"
2949
- }
2950
- ],
2951
- "operation_trace": ["provider:start:0", "provider:end:0"],
2952
- "provider_requests": [
2953
- {
2954
- "messages": [
2955
- { "content": "You are a helpful assistant.", "role": "system" },
2956
- { "content": "timeout", "role": "user" }
2957
- ],
2958
- "tools": []
2959
- }
2960
- ],
2961
- "provider_responses": [{ "content": "partial", "tool_calls": [] }],
2962
- "replay": {},
2963
- "result": {
2964
- "error": {
2965
- "code": "TURN_TIMEOUT",
2966
- "outcome": "unknown",
2967
- "phase": "provider_stream",
2968
- "retryable": true
2969
- }
2970
- }
2971
- }
2972
- },
2973
- {
2974
- "id": "turn-cancellation-deadline-tie",
2975
- "snapshot": {
2976
- "events": [
2977
- {
2978
- "id": "event-01",
2979
- "metadata": {},
2980
- "sequence": 1,
2981
- "session_id": "session-turn-cancellation-deadline-tie",
2982
- "turn_id": "turn-1",
2983
- "type": "session.created",
2984
- "version": "1.0"
2985
- },
2986
- {
2987
- "content": "cancel",
2988
- "id": "event-02",
2989
- "metadata": {},
2990
- "sequence": 2,
2991
- "session_id": "session-turn-cancellation-deadline-tie",
2992
- "turn_id": "turn-1",
2993
- "type": "user.message",
2994
- "version": "1.0"
2995
- },
2996
- {
2997
- "id": "event-03",
2998
- "metadata": {},
2999
- "sequence": 3,
3000
- "session_id": "session-turn-cancellation-deadline-tie",
3001
- "turn_id": "turn-1",
3002
- "type": "agent.reasoning.started",
3003
- "version": "1.0"
3004
- },
3005
- {
3006
- "id": "event-04",
3007
- "metadata": {},
3008
- "sequence": 4,
3009
- "session_id": "session-turn-cancellation-deadline-tie",
3010
- "turn_id": "turn-1",
3011
- "type": "cancellation.completed",
3012
- "version": "1.0"
3013
- }
3014
- ],
3015
- "operation_trace": ["provider:start:0", "provider:end:0"],
3016
- "provider_requests": [
3017
- {
3018
- "messages": [
3019
- { "content": "You are a helpful assistant.", "role": "system" },
3020
- { "content": "cancel", "role": "user" }
3021
- ],
3022
- "tools": []
3023
- }
3024
- ],
3025
- "provider_responses": [{ "content": "", "tool_calls": [] }],
3026
- "replay": {},
3027
- "result": {
3028
- "turns": [
3029
- {
3030
- "session_id": "session-turn-cancellation-deadline-tie",
3031
- "text": "",
3032
- "turn_id": "turn-1"
3033
- }
3034
- ]
3035
- }
3036
- }
3037
- },
3038
- {
3039
- "id": "schema-valid-nested",
3040
- "snapshot": {
3041
- "events": [],
3042
- "operation_trace": [],
3043
- "provider_requests": [],
3044
- "provider_responses": [],
3045
- "replay": {},
3046
- "result": { "accepted": true, "fixture": "nested object, format, and bounded array" }
3047
- }
3048
- },
3049
- {
3050
- "id": "schema-valid-const-bounds",
3051
- "snapshot": {
3052
- "events": [],
3053
- "operation_trace": [],
3054
- "provider_requests": [],
3055
- "provider_responses": [],
3056
- "replay": {},
3057
- "result": { "accepted": true, "fixture": "const and number bounds" }
3058
- }
3059
- },
3060
- {
3061
- "id": "schema-valid-union",
3062
- "snapshot": {
3063
- "events": [],
3064
- "operation_trace": [],
3065
- "provider_requests": [],
3066
- "provider_responses": [],
3067
- "replay": {},
3068
- "result": { "accepted": true, "fixture": "union branch" }
3069
- }
3070
- },
3071
- {
3072
- "id": "schema-valid-ref",
3073
- "snapshot": {
3074
- "events": [],
3075
- "operation_trace": [],
3076
- "provider_requests": [],
3077
- "provider_responses": [],
3078
- "replay": {},
3079
- "result": { "accepted": true, "fixture": "local reference" }
3080
- }
3081
- },
3082
- {
3083
- "id": "schema-invalid-nested-required",
3084
- "snapshot": {
3085
- "events": [],
3086
- "operation_trace": [],
3087
- "provider_requests": [],
3088
- "provider_responses": [],
3089
- "replay": {},
3090
- "result": {
3091
- "accepted": false,
3092
- "error": {
3093
- "code": "INVALID_TOOL_ARGUMENTS",
3094
- "message": "Tool arguments failed required validation at /profile",
3095
- "outcome": "not_started",
3096
- "path": "/profile",
3097
- "retryable": false
3098
- },
3099
- "fixture": "nested required"
3100
- }
3101
- }
3102
- },
3103
- {
3104
- "id": "schema-invalid-nested-extra",
3105
- "snapshot": {
3106
- "events": [],
3107
- "operation_trace": [],
3108
- "provider_requests": [],
3109
- "provider_responses": [],
3110
- "replay": {},
3111
- "result": {
3112
- "accepted": false,
3113
- "error": {
3114
- "code": "INVALID_TOOL_ARGUMENTS",
3115
- "message": "Tool arguments failed additionalProperties validation at /profile",
3116
- "outcome": "not_started",
3117
- "path": "/profile",
3118
- "retryable": false
3119
- },
3120
- "fixture": "nested additional property"
3121
- }
3122
- }
3123
- },
3124
- {
3125
- "id": "schema-invalid-top-extra",
3126
- "snapshot": {
3127
- "events": [],
3128
- "operation_trace": [],
3129
- "provider_requests": [],
3130
- "provider_responses": [],
3131
- "replay": {},
3132
- "result": {
3133
- "accepted": false,
3134
- "error": {
3135
- "code": "INVALID_TOOL_ARGUMENTS",
3136
- "message": "Tool arguments failed additionalProperties validation at /",
3137
- "outcome": "not_started",
3138
- "path": "/",
3139
- "retryable": false
3140
- },
3141
- "fixture": "top-level additional property"
3142
- }
3143
- }
3144
- },
3145
- {
3146
- "id": "schema-invalid-const",
3147
- "snapshot": {
3148
- "events": [],
3149
- "operation_trace": [],
3150
- "provider_requests": [],
3151
- "provider_responses": [],
3152
- "replay": {},
3153
- "result": {
3154
- "accepted": false,
3155
- "error": {
3156
- "code": "INVALID_TOOL_ARGUMENTS",
3157
- "message": "Tool arguments failed const validation at /mode",
3158
- "outcome": "not_started",
3159
- "path": "/mode",
3160
- "retryable": false
3161
- },
3162
- "fixture": "const"
3163
- }
3164
- }
3165
- },
3166
- {
3167
- "id": "schema-invalid-enum",
3168
- "snapshot": {
3169
- "events": [],
3170
- "operation_trace": [],
3171
- "provider_requests": [],
3172
- "provider_responses": [],
3173
- "replay": {},
3174
- "result": {
3175
- "accepted": false,
3176
- "error": {
3177
- "code": "INVALID_TOOL_ARGUMENTS",
3178
- "message": "Tool arguments failed enum validation at /mode",
3179
- "outcome": "not_started",
3180
- "path": "/mode",
3181
- "retryable": false
3182
- },
3183
- "fixture": "enum"
3184
- }
3185
- }
3186
- },
3187
- {
3188
- "id": "schema-invalid-number-min",
3189
- "snapshot": {
3190
- "events": [],
3191
- "operation_trace": [],
3192
- "provider_requests": [],
3193
- "provider_responses": [],
3194
- "replay": {},
3195
- "result": {
3196
- "accepted": false,
3197
- "error": {
3198
- "code": "INVALID_TOOL_ARGUMENTS",
3199
- "message": "Tool arguments failed minimum validation at /count",
3200
- "outcome": "not_started",
3201
- "path": "/count",
3202
- "retryable": false
3203
- },
3204
- "fixture": "number minimum"
3205
- }
3206
- }
3207
- },
3208
- {
3209
- "id": "schema-invalid-number-max",
3210
- "snapshot": {
3211
- "events": [],
3212
- "operation_trace": [],
3213
- "provider_requests": [],
3214
- "provider_responses": [],
3215
- "replay": {},
3216
- "result": {
3217
- "accepted": false,
3218
- "error": {
3219
- "code": "INVALID_TOOL_ARGUMENTS",
3220
- "message": "Tool arguments failed maximum validation at /count",
3221
- "outcome": "not_started",
3222
- "path": "/count",
3223
- "retryable": false
3224
- },
3225
- "fixture": "number maximum"
3226
- }
3227
- }
3228
- },
3229
- {
3230
- "id": "schema-invalid-string-min",
3231
- "snapshot": {
3232
- "events": [],
3233
- "operation_trace": [],
3234
- "provider_requests": [],
3235
- "provider_responses": [],
3236
- "replay": {},
3237
- "result": {
3238
- "accepted": false,
3239
- "error": {
3240
- "code": "INVALID_TOOL_ARGUMENTS",
3241
- "message": "Tool arguments failed minLength validation at /slug",
3242
- "outcome": "not_started",
3243
- "path": "/slug",
3244
- "retryable": false
3245
- },
3246
- "fixture": "string minimum length"
3247
- }
3248
- }
3249
- },
3250
- {
3251
- "id": "schema-invalid-string-max",
3252
- "snapshot": {
3253
- "events": [],
3254
- "operation_trace": [],
3255
- "provider_requests": [],
3256
- "provider_responses": [],
3257
- "replay": {},
3258
- "result": {
3259
- "accepted": false,
3260
- "error": {
3261
- "code": "INVALID_TOOL_ARGUMENTS",
3262
- "message": "Tool arguments failed maxLength validation at /slug",
3263
- "outcome": "not_started",
3264
- "path": "/slug",
3265
- "retryable": false
3266
- },
3267
- "fixture": "string maximum length"
3268
- }
3269
- }
3270
- },
3271
- {
3272
- "id": "schema-invalid-pattern",
3273
- "snapshot": {
3274
- "events": [],
3275
- "operation_trace": [],
3276
- "provider_requests": [],
3277
- "provider_responses": [],
3278
- "replay": {},
3279
- "result": {
3280
- "accepted": false,
3281
- "error": {
3282
- "code": "INVALID_TOOL_ARGUMENTS",
3283
- "message": "Tool arguments failed pattern validation at /slug",
3284
- "outcome": "not_started",
3285
- "path": "/slug",
3286
- "retryable": false
3287
- },
3288
- "fixture": "string pattern"
3289
- }
3290
- }
3291
- },
3292
- {
3293
- "id": "schema-invalid-array-min",
3294
- "snapshot": {
3295
- "events": [],
3296
- "operation_trace": [],
3297
- "provider_requests": [],
3298
- "provider_responses": [],
3299
- "replay": {},
3300
- "result": {
3301
- "accepted": false,
3302
- "error": {
3303
- "code": "INVALID_TOOL_ARGUMENTS",
3304
- "message": "Tool arguments failed minItems validation at /ids",
3305
- "outcome": "not_started",
3306
- "path": "/ids",
3307
- "retryable": false
3308
- },
3309
- "fixture": "array minimum items"
3310
- }
3311
- }
3312
- },
3313
- {
3314
- "id": "schema-invalid-array-max",
3315
- "snapshot": {
3316
- "events": [],
3317
- "operation_trace": [],
3318
- "provider_requests": [],
3319
- "provider_responses": [],
3320
- "replay": {},
3321
- "result": {
3322
- "accepted": false,
3323
- "error": {
3324
- "code": "INVALID_TOOL_ARGUMENTS",
3325
- "message": "Tool arguments failed maxItems validation at /ids",
3326
- "outcome": "not_started",
3327
- "path": "/ids",
3328
- "retryable": false
3329
- },
3330
- "fixture": "array maximum items"
3331
- }
3332
- }
3333
- },
3334
- {
3335
- "id": "schema-invalid-array-item",
3336
- "snapshot": {
3337
- "events": [],
3338
- "operation_trace": [],
3339
- "provider_requests": [],
3340
- "provider_responses": [],
3341
- "replay": {},
3342
- "result": {
3343
- "accepted": false,
3344
- "error": {
3345
- "code": "INVALID_TOOL_ARGUMENTS",
3346
- "message": "Tool arguments failed type validation at /ids/1",
3347
- "outcome": "not_started",
3348
- "path": "/ids/1",
3349
- "retryable": false
3350
- },
3351
- "fixture": "array item"
3352
- }
3353
- }
3354
- },
3355
- {
3356
- "id": "schema-invalid-email",
3357
- "snapshot": {
3358
- "events": [],
3359
- "operation_trace": [],
3360
- "provider_requests": [],
3361
- "provider_responses": [],
3362
- "replay": {},
3363
- "result": {
3364
- "accepted": false,
3365
- "error": {
3366
- "code": "INVALID_TOOL_ARGUMENTS",
3367
- "message": "Tool arguments failed format validation at /email",
3368
- "outcome": "not_started",
3369
- "path": "/email",
3370
- "retryable": false
3371
- },
3372
- "fixture": "email format"
3373
- }
3374
- }
3375
- },
3376
- {
3377
- "id": "schema-invalid-uri",
3378
- "snapshot": {
3379
- "events": [],
3380
- "operation_trace": [],
3381
- "provider_requests": [],
3382
- "provider_responses": [],
3383
- "replay": {},
3384
- "result": {
3385
- "accepted": false,
3386
- "error": {
3387
- "code": "INVALID_TOOL_ARGUMENTS",
3388
- "message": "Tool arguments failed format validation at /url",
3389
- "outcome": "not_started",
3390
- "path": "/url",
3391
- "retryable": false
3392
- },
3393
- "fixture": "uri format"
3394
- }
3395
- }
3396
- },
3397
- {
3398
- "id": "schema-invalid-union",
3399
- "snapshot": {
3400
- "events": [],
3401
- "operation_trace": [],
3402
- "provider_requests": [],
3403
- "provider_responses": [],
3404
- "replay": {},
3405
- "result": {
3406
- "accepted": false,
3407
- "error": {
3408
- "code": "INVALID_TOOL_ARGUMENTS",
3409
- "message": "Tool arguments failed oneOf validation at /target",
3410
- "outcome": "not_started",
3411
- "path": "/target",
3412
- "retryable": false
3413
- },
3414
- "fixture": "union branches"
3415
- }
3416
- }
3417
- },
3418
- {
3419
- "id": "schema-invalid-ref",
3420
- "snapshot": {
3421
- "events": [],
3422
- "operation_trace": [],
3423
- "provider_requests": [],
3424
- "provider_responses": [],
3425
- "replay": {},
3426
- "result": {
3427
- "accepted": false,
3428
- "error": {
3429
- "code": "INVALID_TOOL_ARGUMENTS",
3430
- "message": "Tool arguments failed minimum validation at /value",
3431
- "outcome": "not_started",
3432
- "path": "/value",
3433
- "retryable": false
3434
- },
3435
- "fixture": "local reference"
3436
- }
3437
- }
3438
- },
3439
- {
3440
- "id": "schema-invalid-type-declaration",
3441
- "snapshot": {
3442
- "events": [],
3443
- "operation_trace": [],
3444
- "provider_requests": [],
3445
- "provider_responses": [],
3446
- "replay": {},
3447
- "result": {
3448
- "accepted": false,
3449
- "error": {
3450
- "code": "INVALID_TOOL_SCHEMA",
3451
- "message": "Tool schema failed schema validation at /type",
3452
- "outcome": "not_started",
3453
- "path": "/type",
3454
- "retryable": false
3455
- },
3456
- "fixture": "invalid type declaration"
3457
- }
3458
- }
3459
- },
3460
- {
3461
- "id": "schema-invalid-required-declaration",
3462
- "snapshot": {
3463
- "events": [],
3464
- "operation_trace": [],
3465
- "provider_requests": [],
3466
- "provider_responses": [],
3467
- "replay": {},
3468
- "result": {
3469
- "accepted": false,
3470
- "error": {
3471
- "code": "INVALID_TOOL_SCHEMA",
3472
- "message": "Tool schema failed schema validation at /required",
3473
- "outcome": "not_started",
3474
- "path": "/required",
3475
- "retryable": false
3476
- },
3477
- "fixture": "invalid required declaration"
3478
- }
3479
- }
3480
- },
3481
- {
3482
- "id": "replay-approval-and-failures",
3483
- "snapshot": {
3484
- "events": [
3485
- {
3486
- "id": "replay-event-1",
3487
- "metadata": {},
3488
- "sequence": 1,
3489
- "session_id": "session-replay",
3490
- "type": "session.created",
3491
- "version": "1.0"
3492
- },
3493
- {
3494
- "id": "replay-event-2",
3495
- "metadata": {},
3496
- "sequence": 2,
3497
- "session_id": "session-replay",
3498
- "turn_id": "turn-replay",
3499
- "type": "agent.reasoning.started",
3500
- "version": "1.0"
3501
- },
3502
- {
3503
- "id": "replay-event-3",
3504
- "metadata": {},
3505
- "sequence": 3,
3506
- "session_id": "session-replay",
3507
- "tool_args": { "q": "café" },
3508
- "tool_call_id": "call-ok",
3509
- "tool_name": "lookup",
3510
- "turn_id": "turn-replay",
3511
- "type": "tool.call.requested",
3512
- "version": "1.0"
3513
- },
3514
- {
3515
- "id": "replay-event-4",
3516
- "metadata": {},
3517
- "risk": "write",
3518
- "sequence": 4,
3519
- "session_id": "session-replay",
3520
- "tool_args": { "q": "café" },
3521
- "tool_call_id": "call-ok",
3522
- "tool_name": "lookup",
3523
- "turn_id": "turn-replay",
3524
- "type": "tool.approval.requested",
3525
- "version": "1.0"
3526
- },
3527
- {
3528
- "id": "replay-event-5",
3529
- "metadata": {},
3530
- "sequence": 5,
3531
- "session_id": "session-replay",
3532
- "tool_call_id": "call-ok",
3533
- "tool_name": "lookup",
3534
- "turn_id": "turn-replay",
3535
- "type": "tool.approval.approved",
3536
- "version": "1.0"
3537
- },
3538
- {
3539
- "id": "replay-event-6",
3540
- "metadata": {},
3541
- "result": { "a": [2], "z": 1 },
3542
- "sequence": 6,
3543
- "session_id": "session-replay",
3544
- "tool_call_id": "call-ok",
3545
- "tool_name": "lookup",
3546
- "turn_id": "turn-replay",
3547
- "type": "tool.call.completed",
3548
- "version": "1.0"
3549
- },
3550
- {
3551
- "id": "replay-event-7",
3552
- "metadata": {},
3553
- "sequence": 7,
3554
- "session_id": "session-replay",
3555
- "tool_args": { "value": 3 },
3556
- "tool_call_id": "call-failed",
3557
- "tool_name": "write",
3558
- "turn_id": "turn-replay",
3559
- "type": "tool.call.requested",
3560
- "version": "1.0"
3561
- },
3562
- {
3563
- "id": "replay-event-8",
3564
- "metadata": {},
3565
- "risk": "write",
3566
- "sequence": 8,
3567
- "session_id": "session-replay",
3568
- "tool_args": { "value": 3 },
3569
- "tool_call_id": "call-failed",
3570
- "tool_name": "write",
3571
- "turn_id": "turn-replay",
3572
- "type": "tool.approval.requested",
3573
- "version": "1.0"
3574
- },
3575
- {
3576
- "error_code": "APPROVAL_TIMEOUT",
3577
- "id": "replay-event-9",
3578
- "metadata": {},
3579
- "reason": "Fixture timed out",
3580
- "sequence": 9,
3581
- "session_id": "session-replay",
3582
- "tool_call_id": "call-failed",
3583
- "tool_name": "write",
3584
- "turn_id": "turn-replay",
3585
- "type": "tool.approval.rejected",
3586
- "version": "1.0"
3587
- },
3588
- {
3589
- "error": "Tool approval timed out",
3590
- "error_code": "APPROVAL_TIMEOUT",
3591
- "id": "replay-event-10",
3592
- "metadata": {},
3593
- "outcome": "not_started",
3594
- "retryable": true,
3595
- "sequence": 10,
3596
- "session_id": "session-replay",
3597
- "tool_call_id": "call-failed",
3598
- "tool_name": "write",
3599
- "turn_id": "turn-replay",
3600
- "type": "tool.call.failed",
3601
- "version": "1.0"
3602
- }
3603
- ],
3604
- "operation_trace": [],
3605
- "provider_requests": [],
3606
- "provider_responses": [],
3607
- "replay": {
3608
- "approved_approvals": [
3609
- { "tool_call_id": "call-ok", "tool_name": "lookup", "turn_id": "turn-replay" }
3610
- ],
3611
- "is_active": true,
3612
- "messages": [
3613
- {
3614
- "content": "",
3615
- "role": "assistant",
3616
- "tool_calls": [
3617
- { "arguments": { "q": "café" }, "id": "call-ok", "name": "lookup" },
3618
- { "arguments": { "value": 3 }, "id": "call-failed", "name": "write" }
3619
- ]
3620
- },
3621
- {
3622
- "content": "{\"a\":[2],\"z\":1}",
3623
- "name": "lookup",
3624
- "role": "tool",
3625
- "tool_call_id": "call-ok"
3626
- },
3627
- {
3628
- "content": "Error: Tool approval timed out",
3629
- "name": "write",
3630
- "role": "tool",
3631
- "tool_call_id": "call-failed"
3632
- }
3633
- ],
3634
- "pending_approvals": [],
3635
- "rejected_approvals": [
3636
- {
3637
- "error_code": "APPROVAL_TIMEOUT",
3638
- "tool_call_id": "call-failed",
3639
- "tool_name": "write",
3640
- "turn_id": "turn-replay"
3641
- }
3642
- ],
3643
- "session_id": "session-replay"
3644
- },
3645
- "result": { "event_count": 10 }
3646
- }
3647
- },
3648
- {
3649
- "id": "replay-json-boolean",
3650
- "snapshot": {
3651
- "events": [
3652
- {
3653
- "id": "json-event-1",
3654
- "metadata": {},
3655
- "sequence": 1,
3656
- "session_id": "session-json",
3657
- "type": "session.created",
3658
- "version": "1.0"
3659
- },
3660
- {
3661
- "id": "json-event-2",
3662
- "metadata": {},
3663
- "sequence": 2,
3664
- "session_id": "session-json",
3665
- "tool_args": {},
3666
- "tool_call_id": "call-json",
3667
- "tool_name": "fixture",
3668
- "turn_id": "turn-json",
3669
- "type": "tool.call.requested",
3670
- "version": "1.0"
3671
- },
3672
- {
3673
- "id": "json-event-3",
3674
- "metadata": {},
3675
- "result": true,
3676
- "sequence": 3,
3677
- "session_id": "session-json",
3678
- "tool_call_id": "call-json",
3679
- "tool_name": "fixture",
3680
- "turn_id": "turn-json",
3681
- "type": "tool.call.completed",
3682
- "version": "1.0"
3683
- }
3684
- ],
3685
- "operation_trace": [],
3686
- "provider_requests": [],
3687
- "provider_responses": [],
3688
- "replay": {
3689
- "approved_approvals": [],
3690
- "is_active": true,
3691
- "messages": [
3692
- {
3693
- "content": "",
3694
- "role": "assistant",
3695
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
3696
- },
3697
- { "content": "true", "name": "fixture", "role": "tool", "tool_call_id": "call-json" }
3698
- ],
3699
- "pending_approvals": [],
3700
- "rejected_approvals": [],
3701
- "session_id": "session-json"
3702
- },
3703
- "result": { "event_count": 3, "tool_content": "true" }
3704
- }
3705
- },
3706
- {
3707
- "id": "replay-json-null",
3708
- "snapshot": {
3709
- "events": [
3710
- {
3711
- "id": "json-event-1",
3712
- "metadata": {},
3713
- "sequence": 1,
3714
- "session_id": "session-json",
3715
- "type": "session.created",
3716
- "version": "1.0"
3717
- },
3718
- {
3719
- "id": "json-event-2",
3720
- "metadata": {},
3721
- "sequence": 2,
3722
- "session_id": "session-json",
3723
- "tool_args": {},
3724
- "tool_call_id": "call-json",
3725
- "tool_name": "fixture",
3726
- "turn_id": "turn-json",
3727
- "type": "tool.call.requested",
3728
- "version": "1.0"
3729
- },
3730
- {
3731
- "id": "json-event-3",
3732
- "metadata": {},
3733
- "result": null,
3734
- "sequence": 3,
3735
- "session_id": "session-json",
3736
- "tool_call_id": "call-json",
3737
- "tool_name": "fixture",
3738
- "turn_id": "turn-json",
3739
- "type": "tool.call.completed",
3740
- "version": "1.0"
3741
- }
3742
- ],
3743
- "operation_trace": [],
3744
- "provider_requests": [],
3745
- "provider_responses": [],
3746
- "replay": {
3747
- "approved_approvals": [],
3748
- "is_active": true,
3749
- "messages": [
3750
- {
3751
- "content": "",
3752
- "role": "assistant",
3753
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
3754
- },
3755
- { "content": "null", "name": "fixture", "role": "tool", "tool_call_id": "call-json" }
3756
- ],
3757
- "pending_approvals": [],
3758
- "rejected_approvals": [],
3759
- "session_id": "session-json"
3760
- },
3761
- "result": { "event_count": 3, "tool_content": "null" }
3762
- }
3763
- },
3764
- {
3765
- "id": "replay-json-number",
3766
- "snapshot": {
3767
- "events": [
3768
- {
3769
- "id": "json-event-1",
3770
- "metadata": {},
3771
- "sequence": 1,
3772
- "session_id": "session-json",
3773
- "type": "session.created",
3774
- "version": "1.0"
3775
- },
3776
- {
3777
- "id": "json-event-2",
3778
- "metadata": {},
3779
- "sequence": 2,
3780
- "session_id": "session-json",
3781
- "tool_args": {},
3782
- "tool_call_id": "call-json",
3783
- "tool_name": "fixture",
3784
- "turn_id": "turn-json",
3785
- "type": "tool.call.requested",
3786
- "version": "1.0"
3787
- },
3788
- {
3789
- "id": "json-event-3",
3790
- "metadata": {},
3791
- "result": 7.5,
3792
- "sequence": 3,
3793
- "session_id": "session-json",
3794
- "tool_call_id": "call-json",
3795
- "tool_name": "fixture",
3796
- "turn_id": "turn-json",
3797
- "type": "tool.call.completed",
3798
- "version": "1.0"
3799
- }
3800
- ],
3801
- "operation_trace": [],
3802
- "provider_requests": [],
3803
- "provider_responses": [],
3804
- "replay": {
3805
- "approved_approvals": [],
3806
- "is_active": true,
3807
- "messages": [
3808
- {
3809
- "content": "",
3810
- "role": "assistant",
3811
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
3812
- },
3813
- { "content": "7.5", "name": "fixture", "role": "tool", "tool_call_id": "call-json" }
3814
- ],
3815
- "pending_approvals": [],
3816
- "rejected_approvals": [],
3817
- "session_id": "session-json"
3818
- },
3819
- "result": { "event_count": 3, "tool_content": "7.5" }
3820
- }
3821
- },
3822
- {
3823
- "id": "replay-json-integral-float",
3824
- "snapshot": {
3825
- "events": [
3826
- {
3827
- "id": "json-event-1",
3828
- "metadata": {},
3829
- "sequence": 1,
3830
- "session_id": "session-json",
3831
- "type": "session.created",
3832
- "version": "1.0"
3833
- },
3834
- {
3835
- "id": "json-event-2",
3836
- "metadata": {},
3837
- "sequence": 2,
3838
- "session_id": "session-json",
3839
- "tool_args": {},
3840
- "tool_call_id": "call-json",
3841
- "tool_name": "fixture",
3842
- "turn_id": "turn-json",
3843
- "type": "tool.call.requested",
3844
- "version": "1.0"
3845
- },
3846
- {
3847
- "id": "json-event-3",
3848
- "metadata": {},
3849
- "result": 1.0,
3850
- "sequence": 3,
3851
- "session_id": "session-json",
3852
- "tool_call_id": "call-json",
3853
- "tool_name": "fixture",
3854
- "turn_id": "turn-json",
3855
- "type": "tool.call.completed",
3856
- "version": "1.0"
3857
- }
3858
- ],
3859
- "operation_trace": [],
3860
- "provider_requests": [],
3861
- "provider_responses": [],
3862
- "replay": {
3863
- "approved_approvals": [],
3864
- "is_active": true,
3865
- "messages": [
3866
- {
3867
- "content": "",
3868
- "role": "assistant",
3869
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
3870
- },
3871
- { "content": "1", "name": "fixture", "role": "tool", "tool_call_id": "call-json" }
3872
- ],
3873
- "pending_approvals": [],
3874
- "rejected_approvals": [],
3875
- "session_id": "session-json"
3876
- },
3877
- "result": { "event_count": 3, "tool_content": "1" }
3878
- }
3879
- },
3880
- {
3881
- "id": "replay-json-negative-zero",
3882
- "snapshot": {
3883
- "events": [
3884
- {
3885
- "id": "json-event-1",
3886
- "metadata": {},
3887
- "sequence": 1,
3888
- "session_id": "session-json",
3889
- "type": "session.created",
3890
- "version": "1.0"
3891
- },
3892
- {
3893
- "id": "json-event-2",
3894
- "metadata": {},
3895
- "sequence": 2,
3896
- "session_id": "session-json",
3897
- "tool_args": {},
3898
- "tool_call_id": "call-json",
3899
- "tool_name": "fixture",
3900
- "turn_id": "turn-json",
3901
- "type": "tool.call.requested",
3902
- "version": "1.0"
3903
- },
3904
- {
3905
- "id": "json-event-3",
3906
- "metadata": {},
3907
- "result": -0.0,
3908
- "sequence": 3,
3909
- "session_id": "session-json",
3910
- "tool_call_id": "call-json",
3911
- "tool_name": "fixture",
3912
- "turn_id": "turn-json",
3913
- "type": "tool.call.completed",
3914
- "version": "1.0"
3915
- }
3916
- ],
3917
- "operation_trace": [],
3918
- "provider_requests": [],
3919
- "provider_responses": [],
3920
- "replay": {
3921
- "approved_approvals": [],
3922
- "is_active": true,
3923
- "messages": [
3924
- {
3925
- "content": "",
3926
- "role": "assistant",
3927
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
3928
- },
3929
- { "content": "0", "name": "fixture", "role": "tool", "tool_call_id": "call-json" }
3930
- ],
3931
- "pending_approvals": [],
3932
- "rejected_approvals": [],
3933
- "session_id": "session-json"
3934
- },
3935
- "result": { "event_count": 3, "tool_content": "0" }
3936
- }
3937
- },
3938
- {
3939
- "id": "replay-json-exponent-boundaries",
3940
- "snapshot": {
3941
- "events": [
3942
- {
3943
- "id": "json-event-1",
3944
- "metadata": {},
3945
- "sequence": 1,
3946
- "session_id": "session-json",
3947
- "type": "session.created",
3948
- "version": "1.0"
3949
- },
3950
- {
3951
- "id": "json-event-2",
3952
- "metadata": {},
3953
- "sequence": 2,
3954
- "session_id": "session-json",
3955
- "tool_args": {},
3956
- "tool_call_id": "call-json",
3957
- "tool_name": "fixture",
3958
- "turn_id": "turn-json",
3959
- "type": "tool.call.requested",
3960
- "version": "1.0"
3961
- },
3962
- {
3963
- "id": "json-event-3",
3964
- "metadata": {},
3965
- "result": [1e-6, 1.25e-7, 4503599627370495.5, -4503599627370495.5],
3966
- "sequence": 3,
3967
- "session_id": "session-json",
3968
- "tool_call_id": "call-json",
3969
- "tool_name": "fixture",
3970
- "turn_id": "turn-json",
3971
- "type": "tool.call.completed",
3972
- "version": "1.0"
3973
- }
3974
- ],
3975
- "operation_trace": [],
3976
- "provider_requests": [],
3977
- "provider_responses": [],
3978
- "replay": {
3979
- "approved_approvals": [],
3980
- "is_active": true,
3981
- "messages": [
3982
- {
3983
- "content": "",
3984
- "role": "assistant",
3985
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
3986
- },
3987
- {
3988
- "content": "[0.000001,1.25e-7,4503599627370495.5,-4503599627370495.5]",
3989
- "name": "fixture",
3990
- "role": "tool",
3991
- "tool_call_id": "call-json"
3992
- }
3993
- ],
3994
- "pending_approvals": [],
3995
- "rejected_approvals": [],
3996
- "session_id": "session-json"
3997
- },
3998
- "result": {
3999
- "event_count": 3,
4000
- "tool_content": "[0.000001,1.25e-7,4503599627370495.5,-4503599627370495.5]"
4001
- }
4002
- }
4003
- },
4004
- {
4005
- "id": "replay-json-numeric-keys",
4006
- "snapshot": {
4007
- "events": [
4008
- {
4009
- "id": "json-event-1",
4010
- "metadata": {},
4011
- "sequence": 1,
4012
- "session_id": "session-json",
4013
- "type": "session.created",
4014
- "version": "1.0"
4015
- },
4016
- {
4017
- "id": "json-event-2",
4018
- "metadata": {},
4019
- "sequence": 2,
4020
- "session_id": "session-json",
4021
- "tool_args": {},
4022
- "tool_call_id": "call-json",
4023
- "tool_name": "fixture",
4024
- "turn_id": "turn-json",
4025
- "type": "tool.call.requested",
4026
- "version": "1.0"
4027
- },
4028
- {
4029
- "id": "json-event-3",
4030
- "metadata": {},
4031
- "result": { "10": "ten", "2": "two" },
4032
- "sequence": 3,
4033
- "session_id": "session-json",
4034
- "tool_call_id": "call-json",
4035
- "tool_name": "fixture",
4036
- "turn_id": "turn-json",
4037
- "type": "tool.call.completed",
4038
- "version": "1.0"
4039
- }
4040
- ],
4041
- "operation_trace": [],
4042
- "provider_requests": [],
4043
- "provider_responses": [],
4044
- "replay": {
4045
- "approved_approvals": [],
4046
- "is_active": true,
4047
- "messages": [
4048
- {
4049
- "content": "",
4050
- "role": "assistant",
4051
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
4052
- },
4053
- {
4054
- "content": "{\"10\":\"ten\",\"2\":\"two\"}",
4055
- "name": "fixture",
4056
- "role": "tool",
4057
- "tool_call_id": "call-json"
4058
- }
4059
- ],
4060
- "pending_approvals": [],
4061
- "rejected_approvals": [],
4062
- "session_id": "session-json"
4063
- },
4064
- "result": { "event_count": 3, "tool_content": "{\"10\":\"ten\",\"2\":\"two\"}" }
4065
- }
4066
- },
4067
- {
4068
- "id": "replay-json-safe-integer-boundary",
4069
- "snapshot": {
4070
- "events": [
4071
- {
4072
- "id": "json-event-1",
4073
- "metadata": {},
4074
- "sequence": 1,
4075
- "session_id": "session-json",
4076
- "type": "session.created",
4077
- "version": "1.0"
4078
- },
4079
- {
4080
- "id": "json-event-2",
4081
- "metadata": {},
4082
- "sequence": 2,
4083
- "session_id": "session-json",
4084
- "tool_args": {},
4085
- "tool_call_id": "call-json",
4086
- "tool_name": "fixture",
4087
- "turn_id": "turn-json",
4088
- "type": "tool.call.requested",
4089
- "version": "1.0"
4090
- },
4091
- {
4092
- "id": "json-event-3",
4093
- "metadata": {},
4094
- "result": 9007199254740991,
4095
- "sequence": 3,
4096
- "session_id": "session-json",
4097
- "tool_call_id": "call-json",
4098
- "tool_name": "fixture",
4099
- "turn_id": "turn-json",
4100
- "type": "tool.call.completed",
4101
- "version": "1.0"
4102
- }
4103
- ],
4104
- "operation_trace": [],
4105
- "provider_requests": [],
4106
- "provider_responses": [],
4107
- "replay": {
4108
- "approved_approvals": [],
4109
- "is_active": true,
4110
- "messages": [
4111
- {
4112
- "content": "",
4113
- "role": "assistant",
4114
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
4115
- },
4116
- {
4117
- "content": "9007199254740991",
4118
- "name": "fixture",
4119
- "role": "tool",
4120
- "tool_call_id": "call-json"
4121
- }
4122
- ],
4123
- "pending_approvals": [],
4124
- "rejected_approvals": [],
4125
- "session_id": "session-json"
4126
- },
4127
- "result": { "event_count": 3, "tool_content": "9007199254740991" }
4128
- }
4129
- },
4130
- {
4131
- "id": "replay-json-unrepresentable-integer",
4132
- "snapshot": {
4133
- "events": [],
4134
- "operation_trace": [],
4135
- "provider_requests": [],
4136
- "provider_responses": [],
4137
- "replay": {},
4138
- "result": { "event_count": 3, "rejection": "integer_outside_i_json_safe_range" }
4139
- }
4140
- },
4141
- {
4142
- "id": "replay-json-utf16-keys",
4143
- "snapshot": {
4144
- "events": [
4145
- {
4146
- "id": "json-event-1",
4147
- "metadata": {},
4148
- "sequence": 1,
4149
- "session_id": "session-json",
4150
- "type": "session.created",
4151
- "version": "1.0"
4152
- },
4153
- {
4154
- "id": "json-event-2",
4155
- "metadata": {},
4156
- "sequence": 2,
4157
- "session_id": "session-json",
4158
- "tool_args": {},
4159
- "tool_call_id": "call-json",
4160
- "tool_name": "fixture",
4161
- "turn_id": "turn-json",
4162
- "type": "tool.call.requested",
4163
- "version": "1.0"
4164
- },
4165
- {
4166
- "id": "json-event-3",
4167
- "metadata": {},
4168
- "result": { "": "bmp", "𐀀": "astral" },
4169
- "sequence": 3,
4170
- "session_id": "session-json",
4171
- "tool_call_id": "call-json",
4172
- "tool_name": "fixture",
4173
- "turn_id": "turn-json",
4174
- "type": "tool.call.completed",
4175
- "version": "1.0"
4176
- }
4177
- ],
4178
- "operation_trace": [],
4179
- "provider_requests": [],
4180
- "provider_responses": [],
4181
- "replay": {
4182
- "approved_approvals": [],
4183
- "is_active": true,
4184
- "messages": [
4185
- {
4186
- "content": "",
4187
- "role": "assistant",
4188
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
4189
- },
4190
- {
4191
- "content": "{\"𐀀\":\"astral\",\"\":\"bmp\"}",
4192
- "name": "fixture",
4193
- "role": "tool",
4194
- "tool_call_id": "call-json"
4195
- }
4196
- ],
4197
- "pending_approvals": [],
4198
- "rejected_approvals": [],
4199
- "session_id": "session-json"
4200
- },
4201
- "result": { "event_count": 3, "tool_content": "{\"𐀀\":\"astral\",\"\":\"bmp\"}" }
4202
- }
4203
- },
4204
- {
4205
- "id": "replay-json-string",
4206
- "snapshot": {
4207
- "events": [
4208
- {
4209
- "id": "json-event-1",
4210
- "metadata": {},
4211
- "sequence": 1,
4212
- "session_id": "session-json",
4213
- "type": "session.created",
4214
- "version": "1.0"
4215
- },
4216
- {
4217
- "id": "json-event-2",
4218
- "metadata": {},
4219
- "sequence": 2,
4220
- "session_id": "session-json",
4221
- "tool_args": {},
4222
- "tool_call_id": "call-json",
4223
- "tool_name": "fixture",
4224
- "turn_id": "turn-json",
4225
- "type": "tool.call.requested",
4226
- "version": "1.0"
4227
- },
4228
- {
4229
- "id": "json-event-3",
4230
- "metadata": {},
4231
- "result": "café",
4232
- "sequence": 3,
4233
- "session_id": "session-json",
4234
- "tool_call_id": "call-json",
4235
- "tool_name": "fixture",
4236
- "turn_id": "turn-json",
4237
- "type": "tool.call.completed",
4238
- "version": "1.0"
4239
- }
4240
- ],
4241
- "operation_trace": [],
4242
- "provider_requests": [],
4243
- "provider_responses": [],
4244
- "replay": {
4245
- "approved_approvals": [],
4246
- "is_active": true,
4247
- "messages": [
4248
- {
4249
- "content": "",
4250
- "role": "assistant",
4251
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
4252
- },
4253
- {
4254
- "content": "\"café\"",
4255
- "name": "fixture",
4256
- "role": "tool",
4257
- "tool_call_id": "call-json"
4258
- }
4259
- ],
4260
- "pending_approvals": [],
4261
- "rejected_approvals": [],
4262
- "session_id": "session-json"
4263
- },
4264
- "result": { "event_count": 3, "tool_content": "\"café\"" }
4265
- }
4266
- },
4267
- {
4268
- "id": "replay-json-array",
4269
- "snapshot": {
4270
- "events": [
4271
- {
4272
- "id": "json-event-1",
4273
- "metadata": {},
4274
- "sequence": 1,
4275
- "session_id": "session-json",
4276
- "type": "session.created",
4277
- "version": "1.0"
4278
- },
4279
- {
4280
- "id": "json-event-2",
4281
- "metadata": {},
4282
- "sequence": 2,
4283
- "session_id": "session-json",
4284
- "tool_args": {},
4285
- "tool_call_id": "call-json",
4286
- "tool_name": "fixture",
4287
- "turn_id": "turn-json",
4288
- "type": "tool.call.requested",
4289
- "version": "1.0"
4290
- },
4291
- {
4292
- "id": "json-event-3",
4293
- "metadata": {},
4294
- "result": [1, false, null],
4295
- "sequence": 3,
4296
- "session_id": "session-json",
4297
- "tool_call_id": "call-json",
4298
- "tool_name": "fixture",
4299
- "turn_id": "turn-json",
4300
- "type": "tool.call.completed",
4301
- "version": "1.0"
4302
- }
4303
- ],
4304
- "operation_trace": [],
4305
- "provider_requests": [],
4306
- "provider_responses": [],
4307
- "replay": {
4308
- "approved_approvals": [],
4309
- "is_active": true,
4310
- "messages": [
4311
- {
4312
- "content": "",
4313
- "role": "assistant",
4314
- "tool_calls": [{ "arguments": {}, "id": "call-json", "name": "fixture" }]
4315
- },
4316
- {
4317
- "content": "[1,false,null]",
4318
- "name": "fixture",
4319
- "role": "tool",
4320
- "tool_call_id": "call-json"
4321
- }
4322
- ],
4323
- "pending_approvals": [],
4324
- "rejected_approvals": [],
4325
- "session_id": "session-json"
4326
- },
4327
- "result": { "event_count": 3, "tool_content": "[1,false,null]" }
4328
- }
4329
- },
4330
- {
4331
- "id": "same-session-serialization",
4332
- "snapshot": {
4333
- "events": [
4334
- {
4335
- "id": "event-01",
4336
- "metadata": {},
4337
- "sequence": 1,
4338
- "session_id": "same",
4339
- "turn_id": "turn-1",
4340
- "type": "session.created",
4341
- "version": "1.0"
4342
- },
4343
- {
4344
- "content": "first",
4345
- "id": "event-02",
4346
- "metadata": {},
4347
- "sequence": 2,
4348
- "session_id": "same",
4349
- "turn_id": "turn-1",
4350
- "type": "user.message",
4351
- "version": "1.0"
4352
- },
4353
- {
4354
- "id": "event-03",
4355
- "metadata": {},
4356
- "sequence": 3,
4357
- "session_id": "same",
4358
- "turn_id": "turn-1",
4359
- "type": "agent.reasoning.started",
4360
- "version": "1.0"
4361
- },
4362
- {
4363
- "delta": "reply:first",
4364
- "id": "event-04",
4365
- "metadata": {},
4366
- "sequence": 4,
4367
- "session_id": "same",
4368
- "turn_id": "turn-1",
4369
- "type": "agent.message.delta",
4370
- "version": "1.0"
4371
- },
4372
- {
4373
- "content": "reply:first",
4374
- "id": "event-05",
4375
- "metadata": {},
4376
- "sequence": 5,
4377
- "session_id": "same",
4378
- "turn_id": "turn-1",
4379
- "type": "agent.message.completed",
4380
- "version": "1.0"
4381
- },
4382
- {
4383
- "content": "second",
4384
- "id": "event-06",
4385
- "metadata": {},
4386
- "sequence": 6,
4387
- "session_id": "same",
4388
- "turn_id": "turn-2",
4389
- "type": "user.message",
4390
- "version": "1.0"
4391
- },
4392
- {
4393
- "id": "event-07",
4394
- "metadata": {},
4395
- "sequence": 7,
4396
- "session_id": "same",
4397
- "turn_id": "turn-2",
4398
- "type": "agent.reasoning.started",
4399
- "version": "1.0"
4400
- },
4401
- {
4402
- "delta": "reply:second",
4403
- "id": "event-08",
4404
- "metadata": {},
4405
- "sequence": 8,
4406
- "session_id": "same",
4407
- "turn_id": "turn-2",
4408
- "type": "agent.message.delta",
4409
- "version": "1.0"
4410
- },
4411
- {
4412
- "content": "reply:second",
4413
- "id": "event-09",
4414
- "metadata": {},
4415
- "sequence": 9,
4416
- "session_id": "same",
4417
- "turn_id": "turn-2",
4418
- "type": "agent.message.completed",
4419
- "version": "1.0"
4420
- }
4421
- ],
4422
- "operation_trace": [
4423
- "provider:start:first",
4424
- "provider:end:first",
4425
- "provider:start:second",
4426
- "provider:end:second"
4427
- ],
4428
- "provider_requests": [],
4429
- "provider_responses": [],
4430
- "replay": {},
4431
- "result": {
4432
- "active_before_release": 1,
4433
- "max_active": 1,
4434
- "texts": ["reply:first", "reply:second"]
4435
- }
4436
- }
4437
- },
4438
- {
4439
- "id": "cross-session-overlap",
4440
- "snapshot": {
4441
- "events": [
4442
- {
4443
- "id": "event-01",
4444
- "metadata": {},
4445
- "sequence": 1,
4446
- "session_id": "left",
4447
- "turn_id": "turn-1",
4448
- "type": "session.created",
4449
- "version": "1.0"
4450
- },
4451
- {
4452
- "content": "left",
4453
- "id": "event-02",
4454
- "metadata": {},
4455
- "sequence": 2,
4456
- "session_id": "left",
4457
- "turn_id": "turn-1",
4458
- "type": "user.message",
4459
- "version": "1.0"
4460
- },
4461
- {
4462
- "id": "event-03",
4463
- "metadata": {},
4464
- "sequence": 3,
4465
- "session_id": "left",
4466
- "turn_id": "turn-1",
4467
- "type": "agent.reasoning.started",
4468
- "version": "1.0"
4469
- },
4470
- {
4471
- "delta": "reply:left",
4472
- "id": "event-07",
4473
- "metadata": {},
4474
- "sequence": 4,
4475
- "session_id": "left",
4476
- "turn_id": "turn-1",
4477
- "type": "agent.message.delta",
4478
- "version": "1.0"
4479
- },
4480
- {
4481
- "content": "reply:left",
4482
- "id": "event-08",
4483
- "metadata": {},
4484
- "sequence": 5,
4485
- "session_id": "left",
4486
- "turn_id": "turn-1",
4487
- "type": "agent.message.completed",
4488
- "version": "1.0"
4489
- },
4490
- {
4491
- "id": "event-04",
4492
- "metadata": {},
4493
- "sequence": 1,
4494
- "session_id": "right",
4495
- "turn_id": "turn-2",
4496
- "type": "session.created",
4497
- "version": "1.0"
4498
- },
4499
- {
4500
- "content": "right",
4501
- "id": "event-05",
4502
- "metadata": {},
4503
- "sequence": 2,
4504
- "session_id": "right",
4505
- "turn_id": "turn-2",
4506
- "type": "user.message",
4507
- "version": "1.0"
4508
- },
4509
- {
4510
- "id": "event-06",
4511
- "metadata": {},
4512
- "sequence": 3,
4513
- "session_id": "right",
4514
- "turn_id": "turn-2",
4515
- "type": "agent.reasoning.started",
4516
- "version": "1.0"
4517
- },
4518
- {
4519
- "delta": "reply:right",
4520
- "id": "event-09",
4521
- "metadata": {},
4522
- "sequence": 4,
4523
- "session_id": "right",
4524
- "turn_id": "turn-2",
4525
- "type": "agent.message.delta",
4526
- "version": "1.0"
4527
- },
4528
- {
4529
- "content": "reply:right",
4530
- "id": "event-10",
4531
- "metadata": {},
4532
- "sequence": 5,
4533
- "session_id": "right",
4534
- "turn_id": "turn-2",
4535
- "type": "agent.message.completed",
4536
- "version": "1.0"
4537
- }
4538
- ],
4539
- "operation_trace": [
4540
- "provider:start:left",
4541
- "provider:start:right",
4542
- "provider:end:left",
4543
- "provider:end:right"
4544
- ],
4545
- "provider_requests": [],
4546
- "provider_responses": [],
4547
- "replay": {},
4548
- "result": {
4549
- "active_before_release": 2,
4550
- "max_active": 2,
4551
- "texts": ["reply:left", "reply:right"]
4552
- }
4553
- }
4554
- },
4555
- {
4556
- "id": "openai-non-stream",
4557
- "snapshot": {
4558
- "events": [],
4559
- "operation_trace": [],
4560
- "provider_requests": [
4561
- {
4562
- "messages": [
4563
- { "content": "system", "role": "system" },
4564
- { "content": "lookup", "role": "user" },
4565
- {
4566
- "content": "",
4567
- "role": "assistant",
4568
- "tool_calls": [
4569
- { "arguments": { "q": "old" }, "id": "prior-call", "name": "lookup" }
4570
- ]
4571
- },
4572
- { "content": "{\"ok\":true}", "role": "tool", "tool_call_id": "prior-call" }
4573
- ],
4574
- "model": "gpt-5.4-mini",
4575
- "stream": false,
4576
- "tools": [
4577
- { "description": "Lookup", "name": "lookup", "parameters": { "type": "object" } }
4578
- ]
4579
- }
4580
- ],
4581
- "provider_responses": [
4582
- {
4583
- "content": "provider text",
4584
- "cost_usd": 1.725e-5,
4585
- "provider_error": {
4586
- "action": "request",
4587
- "code": "PROVIDER_NETWORK_ERROR",
4588
- "retryable": true,
4589
- "service": "openai",
4590
- "status": null,
4591
- "type": "network"
4592
- },
4593
- "tokens": { "input": 5, "output": 3 },
4594
- "tool_calls": [
4595
- { "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" },
4596
- {
4597
- "arguments": { "__parse_error": "invalid JSON" },
4598
- "id": "call-bad",
4599
- "name": "lookup"
4600
- }
4601
- ]
4602
- }
4603
- ],
4604
- "replay": {},
4605
- "result": {
4606
- "content": "provider text",
4607
- "cost_usd": 1.725e-5,
4608
- "provider_error": {
4609
- "action": "request",
4610
- "code": "PROVIDER_NETWORK_ERROR",
4611
- "retryable": true,
4612
- "service": "openai",
4613
- "status": null,
4614
- "type": "network"
4615
- },
4616
- "tokens": { "input": 5, "output": 3 },
4617
- "tool_calls": [
4618
- { "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" },
4619
- { "arguments": { "__parse_error": "invalid JSON" }, "id": "call-bad", "name": "lookup" }
4620
- ]
4621
- }
4622
- }
4623
- },
4624
- {
4625
- "id": "openai-stream",
4626
- "snapshot": {
4627
- "events": [],
4628
- "operation_trace": [],
4629
- "provider_requests": [
4630
- {
4631
- "messages": [
4632
- { "content": "system", "role": "system" },
4633
- { "content": "lookup", "role": "user" },
4634
- {
4635
- "content": "",
4636
- "role": "assistant",
4637
- "tool_calls": [
4638
- { "arguments": { "q": "old" }, "id": "prior-call", "name": "lookup" }
4639
- ]
4640
- },
4641
- { "content": "{\"ok\":true}", "role": "tool", "tool_call_id": "prior-call" }
4642
- ],
4643
- "model": "gpt-5.4-mini",
4644
- "stream": true,
4645
- "tools": [
4646
- { "description": "Lookup", "name": "lookup", "parameters": { "type": "object" } }
4647
- ]
4648
- }
4649
- ],
4650
- "provider_responses": [
4651
- {
4652
- "content": "provider text",
4653
- "cost_usd": 1.725e-5,
4654
- "provider_error": {
4655
- "action": "stream",
4656
- "code": "PROVIDER_NETWORK_ERROR",
4657
- "retryable": true,
4658
- "service": "openai",
4659
- "status": null,
4660
- "type": "network"
4661
- },
4662
- "tokens": { "input": 5, "output": 3 },
4663
- "tool_calls": [
4664
- { "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" },
4665
- {
4666
- "arguments": { "__parse_error": "invalid JSON" },
4667
- "id": "call-bad",
4668
- "name": "lookup"
4669
- }
4670
- ]
4671
- }
4672
- ],
4673
- "replay": {},
4674
- "result": {
4675
- "content": "provider text",
4676
- "cost_usd": 1.725e-5,
4677
- "provider_error": {
4678
- "action": "stream",
4679
- "code": "PROVIDER_NETWORK_ERROR",
4680
- "retryable": true,
4681
- "service": "openai",
4682
- "status": null,
4683
- "type": "network"
4684
- },
4685
- "tokens": { "input": 5, "output": 3 },
4686
- "tool_calls": [
4687
- { "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" },
4688
- { "arguments": { "__parse_error": "invalid JSON" }, "id": "call-bad", "name": "lookup" }
4689
- ]
4690
- }
4691
- }
4692
- },
4693
- {
4694
- "id": "anthropic-non-stream",
4695
- "snapshot": {
4696
- "events": [],
4697
- "operation_trace": [],
4698
- "provider_requests": [
4699
- {
4700
- "messages": [
4701
- { "content": "lookup", "role": "user" },
4702
- {
4703
- "content": "",
4704
- "role": "assistant",
4705
- "tool_calls": [
4706
- { "arguments": { "q": "old" }, "id": "prior-call", "name": "lookup" }
4707
- ]
4708
- },
4709
- { "content": "{\"ok\":true}", "role": "tool", "tool_call_id": "prior-call" }
4710
- ],
4711
- "model": "claude-sonnet-4-6",
4712
- "stream": false,
4713
- "system": "system",
4714
- "tools": [
4715
- { "description": "Lookup", "name": "lookup", "parameters": { "type": "object" } }
4716
- ]
4717
- }
4718
- ],
4719
- "provider_responses": [
4720
- {
4721
- "content": "provider text",
4722
- "cost_usd": 6e-5,
4723
- "provider_error": {
4724
- "action": "request",
4725
- "code": "PROVIDER_NETWORK_ERROR",
4726
- "retryable": true,
4727
- "service": "anthropic",
4728
- "status": null,
4729
- "type": "network"
4730
- },
4731
- "tokens": { "input": 5, "output": 3 },
4732
- "tool_calls": [{ "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" }]
4733
- }
4734
- ],
4735
- "replay": {},
4736
- "result": {
4737
- "content": "provider text",
4738
- "cost_usd": 6e-5,
4739
- "provider_error": {
4740
- "action": "request",
4741
- "code": "PROVIDER_NETWORK_ERROR",
4742
- "retryable": true,
4743
- "service": "anthropic",
4744
- "status": null,
4745
- "type": "network"
4746
- },
4747
- "tokens": { "input": 5, "output": 3 },
4748
- "tool_calls": [{ "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" }]
4749
- }
4750
- }
4751
- },
4752
- {
4753
- "id": "anthropic-stream",
4754
- "snapshot": {
4755
- "events": [],
4756
- "operation_trace": [],
4757
- "provider_requests": [
4758
- {
4759
- "messages": [
4760
- { "content": "lookup", "role": "user" },
4761
- {
4762
- "content": "",
4763
- "role": "assistant",
4764
- "tool_calls": [
4765
- { "arguments": { "q": "old" }, "id": "prior-call", "name": "lookup" }
4766
- ]
4767
- },
4768
- { "content": "{\"ok\":true}", "role": "tool", "tool_call_id": "prior-call" }
4769
- ],
4770
- "model": "claude-sonnet-4-6",
4771
- "stream": true,
4772
- "system": "system",
4773
- "tools": [
4774
- { "description": "Lookup", "name": "lookup", "parameters": { "type": "object" } }
4775
- ]
4776
- }
4777
- ],
4778
- "provider_responses": [
4779
- {
4780
- "content": "provider text",
4781
- "cost_usd": 6e-5,
4782
- "provider_error": {
4783
- "action": "stream",
4784
- "code": "PROVIDER_NETWORK_ERROR",
4785
- "retryable": true,
4786
- "service": "anthropic",
4787
- "status": null,
4788
- "type": "network"
4789
- },
4790
- "tokens": { "input": 5, "output": 3 },
4791
- "tool_calls": [
4792
- { "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" },
4793
- {
4794
- "arguments": { "__parse_error": "invalid JSON" },
4795
- "id": "call-bad",
4796
- "name": "lookup"
4797
- }
4798
- ]
4799
- }
4800
- ],
4801
- "replay": {},
4802
- "result": {
4803
- "content": "provider text",
4804
- "cost_usd": 6e-5,
4805
- "provider_error": {
4806
- "action": "stream",
4807
- "code": "PROVIDER_NETWORK_ERROR",
4808
- "retryable": true,
4809
- "service": "anthropic",
4810
- "status": null,
4811
- "type": "network"
4812
- },
4813
- "tokens": { "input": 5, "output": 3 },
4814
- "tool_calls": [
4815
- { "arguments": { "q": "new" }, "id": "call-ok", "name": "lookup" },
4816
- { "arguments": { "__parse_error": "invalid JSON" }, "id": "call-bad", "name": "lookup" }
4817
- ]
4818
- }
4819
- }
4820
- },
4821
- {
4822
- "id": "idempotency-permanent-failed",
4823
- "snapshot": {
4824
- "events": [],
4825
- "operation_trace": [],
4826
- "provider_requests": [],
4827
- "provider_responses": [],
4828
- "replay": {},
4829
- "result": {
4830
- "claim_kinds": ["owner", "owner"],
4831
- "failure": { "error_code": "INTEGRATION_API_ERROR", "outcome": "failed", "retryable": false },
4832
- "handler_count": 2
4833
- }
4834
- }
4835
- },
4836
- {
4837
- "id": "idempotency-transient-failed",
4838
- "snapshot": {
4839
- "events": [],
4840
- "operation_trace": [],
4841
- "provider_requests": [],
4842
- "provider_responses": [],
4843
- "replay": {},
4844
- "result": {
4845
- "claim_kinds": ["owner", "owner"],
4846
- "failure": { "error_code": "INTEGRATION_API_ERROR", "outcome": "failed", "retryable": true },
4847
- "handler_count": 2
4848
- }
4849
- }
4850
- },
4851
- {
4852
- "id": "idempotency-unknown",
4853
- "snapshot": {
4854
- "events": [],
4855
- "operation_trace": [],
4856
- "provider_requests": [],
4857
- "provider_responses": [],
4858
- "replay": {},
4859
- "result": {
4860
- "claim_kinds": ["owner", "unknown"],
4861
- "failure": { "error_code": "TOOL_EXECUTION_FAILED", "outcome": "unknown", "retryable": false },
4862
- "handler_count": 1
4863
- }
4864
- }
4865
- },
4866
- {
4867
- "id": "idempotency-completed",
4868
- "snapshot": {
4869
- "events": [],
4870
- "operation_trace": [],
4871
- "provider_requests": [],
4872
- "provider_responses": [],
4873
- "replay": {},
4874
- "result": {
4875
- "claim_kinds": ["owner", "completed"],
4876
- "handler_count": 1,
4877
- "result": { "ok": true }
4878
- }
4879
- }
4880
- }
4881
- ],
4882
- "thirdPartyIntegrationSurface": {
4883
- "namespace": "sample",
4884
- "registerAccepts": "ToolRegistry",
4885
- "registeredCatalogNames": ["sample.full", "sample.minimal"],
4886
- "tools": [
4887
- {
4888
- "catalogName": "sample.full",
4889
- "declaredName": "full",
4890
- "parallelSafe": true,
4891
- "risk": "read",
4892
- "specKeys": ["description", "name", "parallel_safe", "parameters", "risk", "timeout_ms"],
4893
- "timeoutMs": 1000
4894
- },
4895
- {
4896
- "catalogName": "sample.minimal",
4897
- "declaredName": "minimal",
4898
- "parallelSafe": false,
4899
- "risk": "read",
4900
- "specKeys": ["description", "name", "parameters", "risk"],
4901
- "timeoutMs": null
4902
- }
4903
- ]
4904
- },
4905
- "version": "1.0.0"
4906
- }