@guuey/chat 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +137 -0
  3. package/dist/history-inputs.d.ts +24 -0
  4. package/dist/history-inputs.d.ts.map +1 -0
  5. package/dist/history-inputs.js +34 -0
  6. package/dist/index.d.ts +19 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +17 -0
  9. package/dist/plan.d.ts +5 -0
  10. package/dist/plan.d.ts.map +1 -0
  11. package/dist/plan.js +629 -0
  12. package/dist/policy.d.ts +110 -0
  13. package/dist/policy.d.ts.map +1 -0
  14. package/dist/policy.js +75 -0
  15. package/dist/react/components.d.ts +87 -0
  16. package/dist/react/components.d.ts.map +1 -0
  17. package/dist/react/components.js +270 -0
  18. package/dist/react/guuey-chat.d.ts +84 -0
  19. package/dist/react/guuey-chat.d.ts.map +1 -0
  20. package/dist/react/guuey-chat.js +103 -0
  21. package/dist/react/markdown.d.ts +32 -0
  22. package/dist/react/markdown.d.ts.map +1 -0
  23. package/dist/react/markdown.js +40 -0
  24. package/dist/react/theme-css.d.ts +16 -0
  25. package/dist/react/theme-css.d.ts.map +1 -0
  26. package/dist/react/theme-css.js +37 -0
  27. package/dist/react/transcript.d.ts +42 -0
  28. package/dist/react/transcript.d.ts.map +1 -0
  29. package/dist/react/transcript.js +88 -0
  30. package/dist/react/use-transcript.d.ts +39 -0
  31. package/dist/react/use-transcript.d.ts.map +1 -0
  32. package/dist/react/use-transcript.js +201 -0
  33. package/dist/react.d.ts +21 -0
  34. package/dist/react.d.ts.map +1 -0
  35. package/dist/react.js +20 -0
  36. package/dist/strings.d.ts +74 -0
  37. package/dist/strings.d.ts.map +1 -0
  38. package/dist/strings.js +45 -0
  39. package/dist/theme.d.ts +99 -0
  40. package/dist/theme.d.ts.map +1 -0
  41. package/dist/theme.js +182 -0
  42. package/dist/types.d.ts +283 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +1 -0
  45. package/package.json +87 -0
  46. package/src/corpus/README.md +40 -0
  47. package/src/corpus/__snapshots__/corpus.test.ts.snap +1590 -0
  48. package/src/corpus/capture.ts +67 -0
  49. package/src/corpus/captures/issue2627-render-capture.coalesced.sse.txt +173 -0
  50. package/src/corpus/drive.ts +184 -0
  51. package/src/corpus/fixtures.ts +338 -0
  52. package/src/history-inputs.ts +48 -0
  53. package/src/index.ts +58 -0
  54. package/src/plan.ts +740 -0
  55. package/src/policy.ts +146 -0
  56. package/src/react/components.tsx +655 -0
  57. package/src/react/guuey-chat.tsx +227 -0
  58. package/src/react/markdown.tsx +114 -0
  59. package/src/react/theme-css.ts +50 -0
  60. package/src/react/transcript.tsx +187 -0
  61. package/src/react/use-transcript.ts +274 -0
  62. package/src/react.tsx +51 -0
  63. package/src/strings.ts +144 -0
  64. package/src/theme.ts +195 -0
  65. package/src/types.ts +320 -0
  66. package/styles.css +514 -0
@@ -0,0 +1,1590 @@
1
+ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
+
3
+ exports[`corpus > 1. forty-tools — grouping caps the rows; plan stays O(groups); keys stable 1`] = `
4
+ {
5
+ "items": [
6
+ {
7
+ "expanded": true,
8
+ "key": "u0",
9
+ "kind": "user",
10
+ "retry": false,
11
+ "state": "sent",
12
+ "text": "run the batch",
13
+ },
14
+ {
15
+ "expanded": false,
16
+ "failureBadge": null,
17
+ "failureCount": 0,
18
+ "key": "g.tool.t1",
19
+ "kind": "tool-group",
20
+ "label": "Ran 40 tools",
21
+ "tools": [
22
+ {
23
+ "argsPreview": null,
24
+ "attribution": false,
25
+ "expanded": false,
26
+ "key": "tool.t1",
27
+ "kind": "tool",
28
+ "name": "step_1",
29
+ "result": {
30
+ "byteCount": 2,
31
+ "expanded": true,
32
+ "key": "tool.t1.result",
33
+ "kind": "data-result",
34
+ "preview": "ok",
35
+ "showBytes": false,
36
+ "state": "small",
37
+ },
38
+ "state": "done",
39
+ "title": "step 1",
40
+ "toolCallId": "t1",
41
+ },
42
+ {
43
+ "argsPreview": null,
44
+ "attribution": false,
45
+ "expanded": false,
46
+ "key": "tool.t2",
47
+ "kind": "tool",
48
+ "name": "step_2",
49
+ "result": {
50
+ "byteCount": 2,
51
+ "expanded": true,
52
+ "key": "tool.t2.result",
53
+ "kind": "data-result",
54
+ "preview": "ok",
55
+ "showBytes": false,
56
+ "state": "small",
57
+ },
58
+ "state": "done",
59
+ "title": "step 2",
60
+ "toolCallId": "t2",
61
+ },
62
+ {
63
+ "argsPreview": null,
64
+ "attribution": false,
65
+ "expanded": false,
66
+ "key": "tool.t3",
67
+ "kind": "tool",
68
+ "name": "step_3",
69
+ "result": {
70
+ "byteCount": 2,
71
+ "expanded": true,
72
+ "key": "tool.t3.result",
73
+ "kind": "data-result",
74
+ "preview": "ok",
75
+ "showBytes": false,
76
+ "state": "small",
77
+ },
78
+ "state": "done",
79
+ "title": "step 3",
80
+ "toolCallId": "t3",
81
+ },
82
+ {
83
+ "argsPreview": null,
84
+ "attribution": false,
85
+ "expanded": false,
86
+ "key": "tool.t4",
87
+ "kind": "tool",
88
+ "name": "step_4",
89
+ "result": {
90
+ "byteCount": 2,
91
+ "expanded": true,
92
+ "key": "tool.t4.result",
93
+ "kind": "data-result",
94
+ "preview": "ok",
95
+ "showBytes": false,
96
+ "state": "small",
97
+ },
98
+ "state": "done",
99
+ "title": "step 4",
100
+ "toolCallId": "t4",
101
+ },
102
+ {
103
+ "argsPreview": null,
104
+ "attribution": false,
105
+ "expanded": false,
106
+ "key": "tool.t5",
107
+ "kind": "tool",
108
+ "name": "step_5",
109
+ "result": {
110
+ "byteCount": 2,
111
+ "expanded": true,
112
+ "key": "tool.t5.result",
113
+ "kind": "data-result",
114
+ "preview": "ok",
115
+ "showBytes": false,
116
+ "state": "small",
117
+ },
118
+ "state": "done",
119
+ "title": "step 5",
120
+ "toolCallId": "t5",
121
+ },
122
+ {
123
+ "argsPreview": null,
124
+ "attribution": false,
125
+ "expanded": false,
126
+ "key": "tool.t6",
127
+ "kind": "tool",
128
+ "name": "step_6",
129
+ "result": {
130
+ "byteCount": 2,
131
+ "expanded": true,
132
+ "key": "tool.t6.result",
133
+ "kind": "data-result",
134
+ "preview": "ok",
135
+ "showBytes": false,
136
+ "state": "small",
137
+ },
138
+ "state": "done",
139
+ "title": "step 6",
140
+ "toolCallId": "t6",
141
+ },
142
+ {
143
+ "argsPreview": null,
144
+ "attribution": false,
145
+ "expanded": false,
146
+ "key": "tool.t7",
147
+ "kind": "tool",
148
+ "name": "step_7",
149
+ "result": {
150
+ "byteCount": 2,
151
+ "expanded": true,
152
+ "key": "tool.t7.result",
153
+ "kind": "data-result",
154
+ "preview": "ok",
155
+ "showBytes": false,
156
+ "state": "small",
157
+ },
158
+ "state": "done",
159
+ "title": "step 7",
160
+ "toolCallId": "t7",
161
+ },
162
+ {
163
+ "argsPreview": null,
164
+ "attribution": false,
165
+ "expanded": false,
166
+ "key": "tool.t8",
167
+ "kind": "tool",
168
+ "name": "step_8",
169
+ "result": {
170
+ "byteCount": 2,
171
+ "expanded": true,
172
+ "key": "tool.t8.result",
173
+ "kind": "data-result",
174
+ "preview": "ok",
175
+ "showBytes": false,
176
+ "state": "small",
177
+ },
178
+ "state": "done",
179
+ "title": "step 8",
180
+ "toolCallId": "t8",
181
+ },
182
+ {
183
+ "argsPreview": null,
184
+ "attribution": false,
185
+ "expanded": false,
186
+ "key": "tool.t9",
187
+ "kind": "tool",
188
+ "name": "step_9",
189
+ "result": {
190
+ "byteCount": 2,
191
+ "expanded": true,
192
+ "key": "tool.t9.result",
193
+ "kind": "data-result",
194
+ "preview": "ok",
195
+ "showBytes": false,
196
+ "state": "small",
197
+ },
198
+ "state": "done",
199
+ "title": "step 9",
200
+ "toolCallId": "t9",
201
+ },
202
+ {
203
+ "argsPreview": null,
204
+ "attribution": false,
205
+ "expanded": false,
206
+ "key": "tool.t10",
207
+ "kind": "tool",
208
+ "name": "step_10",
209
+ "result": {
210
+ "byteCount": 2,
211
+ "expanded": true,
212
+ "key": "tool.t10.result",
213
+ "kind": "data-result",
214
+ "preview": "ok",
215
+ "showBytes": false,
216
+ "state": "small",
217
+ },
218
+ "state": "done",
219
+ "title": "step 10",
220
+ "toolCallId": "t10",
221
+ },
222
+ {
223
+ "argsPreview": null,
224
+ "attribution": false,
225
+ "expanded": false,
226
+ "key": "tool.t11",
227
+ "kind": "tool",
228
+ "name": "step_11",
229
+ "result": {
230
+ "byteCount": 2,
231
+ "expanded": true,
232
+ "key": "tool.t11.result",
233
+ "kind": "data-result",
234
+ "preview": "ok",
235
+ "showBytes": false,
236
+ "state": "small",
237
+ },
238
+ "state": "done",
239
+ "title": "step 11",
240
+ "toolCallId": "t11",
241
+ },
242
+ {
243
+ "argsPreview": null,
244
+ "attribution": false,
245
+ "expanded": false,
246
+ "key": "tool.t12",
247
+ "kind": "tool",
248
+ "name": "step_12",
249
+ "result": {
250
+ "byteCount": 2,
251
+ "expanded": true,
252
+ "key": "tool.t12.result",
253
+ "kind": "data-result",
254
+ "preview": "ok",
255
+ "showBytes": false,
256
+ "state": "small",
257
+ },
258
+ "state": "done",
259
+ "title": "step 12",
260
+ "toolCallId": "t12",
261
+ },
262
+ {
263
+ "argsPreview": null,
264
+ "attribution": false,
265
+ "expanded": false,
266
+ "key": "tool.t13",
267
+ "kind": "tool",
268
+ "name": "step_13",
269
+ "result": {
270
+ "byteCount": 2,
271
+ "expanded": true,
272
+ "key": "tool.t13.result",
273
+ "kind": "data-result",
274
+ "preview": "ok",
275
+ "showBytes": false,
276
+ "state": "small",
277
+ },
278
+ "state": "done",
279
+ "title": "step 13",
280
+ "toolCallId": "t13",
281
+ },
282
+ {
283
+ "argsPreview": null,
284
+ "attribution": false,
285
+ "expanded": false,
286
+ "key": "tool.t14",
287
+ "kind": "tool",
288
+ "name": "step_14",
289
+ "result": {
290
+ "byteCount": 2,
291
+ "expanded": true,
292
+ "key": "tool.t14.result",
293
+ "kind": "data-result",
294
+ "preview": "ok",
295
+ "showBytes": false,
296
+ "state": "small",
297
+ },
298
+ "state": "done",
299
+ "title": "step 14",
300
+ "toolCallId": "t14",
301
+ },
302
+ {
303
+ "argsPreview": null,
304
+ "attribution": false,
305
+ "expanded": false,
306
+ "key": "tool.t15",
307
+ "kind": "tool",
308
+ "name": "step_15",
309
+ "result": {
310
+ "byteCount": 2,
311
+ "expanded": true,
312
+ "key": "tool.t15.result",
313
+ "kind": "data-result",
314
+ "preview": "ok",
315
+ "showBytes": false,
316
+ "state": "small",
317
+ },
318
+ "state": "done",
319
+ "title": "step 15",
320
+ "toolCallId": "t15",
321
+ },
322
+ {
323
+ "argsPreview": null,
324
+ "attribution": false,
325
+ "expanded": false,
326
+ "key": "tool.t16",
327
+ "kind": "tool",
328
+ "name": "step_16",
329
+ "result": {
330
+ "byteCount": 2,
331
+ "expanded": true,
332
+ "key": "tool.t16.result",
333
+ "kind": "data-result",
334
+ "preview": "ok",
335
+ "showBytes": false,
336
+ "state": "small",
337
+ },
338
+ "state": "done",
339
+ "title": "step 16",
340
+ "toolCallId": "t16",
341
+ },
342
+ {
343
+ "argsPreview": null,
344
+ "attribution": false,
345
+ "expanded": false,
346
+ "key": "tool.t17",
347
+ "kind": "tool",
348
+ "name": "step_17",
349
+ "result": {
350
+ "byteCount": 2,
351
+ "expanded": true,
352
+ "key": "tool.t17.result",
353
+ "kind": "data-result",
354
+ "preview": "ok",
355
+ "showBytes": false,
356
+ "state": "small",
357
+ },
358
+ "state": "done",
359
+ "title": "step 17",
360
+ "toolCallId": "t17",
361
+ },
362
+ {
363
+ "argsPreview": null,
364
+ "attribution": false,
365
+ "expanded": false,
366
+ "key": "tool.t18",
367
+ "kind": "tool",
368
+ "name": "step_18",
369
+ "result": {
370
+ "byteCount": 2,
371
+ "expanded": true,
372
+ "key": "tool.t18.result",
373
+ "kind": "data-result",
374
+ "preview": "ok",
375
+ "showBytes": false,
376
+ "state": "small",
377
+ },
378
+ "state": "done",
379
+ "title": "step 18",
380
+ "toolCallId": "t18",
381
+ },
382
+ {
383
+ "argsPreview": null,
384
+ "attribution": false,
385
+ "expanded": false,
386
+ "key": "tool.t19",
387
+ "kind": "tool",
388
+ "name": "step_19",
389
+ "result": {
390
+ "byteCount": 2,
391
+ "expanded": true,
392
+ "key": "tool.t19.result",
393
+ "kind": "data-result",
394
+ "preview": "ok",
395
+ "showBytes": false,
396
+ "state": "small",
397
+ },
398
+ "state": "done",
399
+ "title": "step 19",
400
+ "toolCallId": "t19",
401
+ },
402
+ {
403
+ "argsPreview": null,
404
+ "attribution": false,
405
+ "expanded": false,
406
+ "key": "tool.t20",
407
+ "kind": "tool",
408
+ "name": "step_20",
409
+ "result": {
410
+ "byteCount": 2,
411
+ "expanded": true,
412
+ "key": "tool.t20.result",
413
+ "kind": "data-result",
414
+ "preview": "ok",
415
+ "showBytes": false,
416
+ "state": "small",
417
+ },
418
+ "state": "done",
419
+ "title": "step 20",
420
+ "toolCallId": "t20",
421
+ },
422
+ {
423
+ "argsPreview": null,
424
+ "attribution": false,
425
+ "expanded": false,
426
+ "key": "tool.t21",
427
+ "kind": "tool",
428
+ "name": "step_21",
429
+ "result": {
430
+ "byteCount": 2,
431
+ "expanded": true,
432
+ "key": "tool.t21.result",
433
+ "kind": "data-result",
434
+ "preview": "ok",
435
+ "showBytes": false,
436
+ "state": "small",
437
+ },
438
+ "state": "done",
439
+ "title": "step 21",
440
+ "toolCallId": "t21",
441
+ },
442
+ {
443
+ "argsPreview": null,
444
+ "attribution": false,
445
+ "expanded": false,
446
+ "key": "tool.t22",
447
+ "kind": "tool",
448
+ "name": "step_22",
449
+ "result": {
450
+ "byteCount": 2,
451
+ "expanded": true,
452
+ "key": "tool.t22.result",
453
+ "kind": "data-result",
454
+ "preview": "ok",
455
+ "showBytes": false,
456
+ "state": "small",
457
+ },
458
+ "state": "done",
459
+ "title": "step 22",
460
+ "toolCallId": "t22",
461
+ },
462
+ {
463
+ "argsPreview": null,
464
+ "attribution": false,
465
+ "expanded": false,
466
+ "key": "tool.t23",
467
+ "kind": "tool",
468
+ "name": "step_23",
469
+ "result": {
470
+ "byteCount": 2,
471
+ "expanded": true,
472
+ "key": "tool.t23.result",
473
+ "kind": "data-result",
474
+ "preview": "ok",
475
+ "showBytes": false,
476
+ "state": "small",
477
+ },
478
+ "state": "done",
479
+ "title": "step 23",
480
+ "toolCallId": "t23",
481
+ },
482
+ {
483
+ "argsPreview": null,
484
+ "attribution": false,
485
+ "expanded": false,
486
+ "key": "tool.t24",
487
+ "kind": "tool",
488
+ "name": "step_24",
489
+ "result": {
490
+ "byteCount": 2,
491
+ "expanded": true,
492
+ "key": "tool.t24.result",
493
+ "kind": "data-result",
494
+ "preview": "ok",
495
+ "showBytes": false,
496
+ "state": "small",
497
+ },
498
+ "state": "done",
499
+ "title": "step 24",
500
+ "toolCallId": "t24",
501
+ },
502
+ {
503
+ "argsPreview": null,
504
+ "attribution": false,
505
+ "expanded": false,
506
+ "key": "tool.t25",
507
+ "kind": "tool",
508
+ "name": "step_25",
509
+ "result": {
510
+ "byteCount": 2,
511
+ "expanded": true,
512
+ "key": "tool.t25.result",
513
+ "kind": "data-result",
514
+ "preview": "ok",
515
+ "showBytes": false,
516
+ "state": "small",
517
+ },
518
+ "state": "done",
519
+ "title": "step 25",
520
+ "toolCallId": "t25",
521
+ },
522
+ {
523
+ "argsPreview": null,
524
+ "attribution": false,
525
+ "expanded": false,
526
+ "key": "tool.t26",
527
+ "kind": "tool",
528
+ "name": "step_26",
529
+ "result": {
530
+ "byteCount": 2,
531
+ "expanded": true,
532
+ "key": "tool.t26.result",
533
+ "kind": "data-result",
534
+ "preview": "ok",
535
+ "showBytes": false,
536
+ "state": "small",
537
+ },
538
+ "state": "done",
539
+ "title": "step 26",
540
+ "toolCallId": "t26",
541
+ },
542
+ {
543
+ "argsPreview": null,
544
+ "attribution": false,
545
+ "expanded": false,
546
+ "key": "tool.t27",
547
+ "kind": "tool",
548
+ "name": "step_27",
549
+ "result": {
550
+ "byteCount": 2,
551
+ "expanded": true,
552
+ "key": "tool.t27.result",
553
+ "kind": "data-result",
554
+ "preview": "ok",
555
+ "showBytes": false,
556
+ "state": "small",
557
+ },
558
+ "state": "done",
559
+ "title": "step 27",
560
+ "toolCallId": "t27",
561
+ },
562
+ {
563
+ "argsPreview": null,
564
+ "attribution": false,
565
+ "expanded": false,
566
+ "key": "tool.t28",
567
+ "kind": "tool",
568
+ "name": "step_28",
569
+ "result": {
570
+ "byteCount": 2,
571
+ "expanded": true,
572
+ "key": "tool.t28.result",
573
+ "kind": "data-result",
574
+ "preview": "ok",
575
+ "showBytes": false,
576
+ "state": "small",
577
+ },
578
+ "state": "done",
579
+ "title": "step 28",
580
+ "toolCallId": "t28",
581
+ },
582
+ {
583
+ "argsPreview": null,
584
+ "attribution": false,
585
+ "expanded": false,
586
+ "key": "tool.t29",
587
+ "kind": "tool",
588
+ "name": "step_29",
589
+ "result": {
590
+ "byteCount": 2,
591
+ "expanded": true,
592
+ "key": "tool.t29.result",
593
+ "kind": "data-result",
594
+ "preview": "ok",
595
+ "showBytes": false,
596
+ "state": "small",
597
+ },
598
+ "state": "done",
599
+ "title": "step 29",
600
+ "toolCallId": "t29",
601
+ },
602
+ {
603
+ "argsPreview": null,
604
+ "attribution": false,
605
+ "expanded": false,
606
+ "key": "tool.t30",
607
+ "kind": "tool",
608
+ "name": "step_30",
609
+ "result": {
610
+ "byteCount": 2,
611
+ "expanded": true,
612
+ "key": "tool.t30.result",
613
+ "kind": "data-result",
614
+ "preview": "ok",
615
+ "showBytes": false,
616
+ "state": "small",
617
+ },
618
+ "state": "done",
619
+ "title": "step 30",
620
+ "toolCallId": "t30",
621
+ },
622
+ {
623
+ "argsPreview": null,
624
+ "attribution": false,
625
+ "expanded": false,
626
+ "key": "tool.t31",
627
+ "kind": "tool",
628
+ "name": "step_31",
629
+ "result": {
630
+ "byteCount": 2,
631
+ "expanded": true,
632
+ "key": "tool.t31.result",
633
+ "kind": "data-result",
634
+ "preview": "ok",
635
+ "showBytes": false,
636
+ "state": "small",
637
+ },
638
+ "state": "done",
639
+ "title": "step 31",
640
+ "toolCallId": "t31",
641
+ },
642
+ {
643
+ "argsPreview": null,
644
+ "attribution": false,
645
+ "expanded": false,
646
+ "key": "tool.t32",
647
+ "kind": "tool",
648
+ "name": "step_32",
649
+ "result": {
650
+ "byteCount": 2,
651
+ "expanded": true,
652
+ "key": "tool.t32.result",
653
+ "kind": "data-result",
654
+ "preview": "ok",
655
+ "showBytes": false,
656
+ "state": "small",
657
+ },
658
+ "state": "done",
659
+ "title": "step 32",
660
+ "toolCallId": "t32",
661
+ },
662
+ {
663
+ "argsPreview": null,
664
+ "attribution": false,
665
+ "expanded": false,
666
+ "key": "tool.t33",
667
+ "kind": "tool",
668
+ "name": "step_33",
669
+ "result": {
670
+ "byteCount": 2,
671
+ "expanded": true,
672
+ "key": "tool.t33.result",
673
+ "kind": "data-result",
674
+ "preview": "ok",
675
+ "showBytes": false,
676
+ "state": "small",
677
+ },
678
+ "state": "done",
679
+ "title": "step 33",
680
+ "toolCallId": "t33",
681
+ },
682
+ {
683
+ "argsPreview": null,
684
+ "attribution": false,
685
+ "expanded": false,
686
+ "key": "tool.t34",
687
+ "kind": "tool",
688
+ "name": "step_34",
689
+ "result": {
690
+ "byteCount": 2,
691
+ "expanded": true,
692
+ "key": "tool.t34.result",
693
+ "kind": "data-result",
694
+ "preview": "ok",
695
+ "showBytes": false,
696
+ "state": "small",
697
+ },
698
+ "state": "done",
699
+ "title": "step 34",
700
+ "toolCallId": "t34",
701
+ },
702
+ {
703
+ "argsPreview": null,
704
+ "attribution": false,
705
+ "expanded": false,
706
+ "key": "tool.t35",
707
+ "kind": "tool",
708
+ "name": "step_35",
709
+ "result": {
710
+ "byteCount": 2,
711
+ "expanded": true,
712
+ "key": "tool.t35.result",
713
+ "kind": "data-result",
714
+ "preview": "ok",
715
+ "showBytes": false,
716
+ "state": "small",
717
+ },
718
+ "state": "done",
719
+ "title": "step 35",
720
+ "toolCallId": "t35",
721
+ },
722
+ {
723
+ "argsPreview": null,
724
+ "attribution": false,
725
+ "expanded": false,
726
+ "key": "tool.t36",
727
+ "kind": "tool",
728
+ "name": "step_36",
729
+ "result": {
730
+ "byteCount": 2,
731
+ "expanded": true,
732
+ "key": "tool.t36.result",
733
+ "kind": "data-result",
734
+ "preview": "ok",
735
+ "showBytes": false,
736
+ "state": "small",
737
+ },
738
+ "state": "done",
739
+ "title": "step 36",
740
+ "toolCallId": "t36",
741
+ },
742
+ {
743
+ "argsPreview": null,
744
+ "attribution": false,
745
+ "expanded": false,
746
+ "key": "tool.t37",
747
+ "kind": "tool",
748
+ "name": "step_37",
749
+ "result": {
750
+ "byteCount": 2,
751
+ "expanded": true,
752
+ "key": "tool.t37.result",
753
+ "kind": "data-result",
754
+ "preview": "ok",
755
+ "showBytes": false,
756
+ "state": "small",
757
+ },
758
+ "state": "done",
759
+ "title": "step 37",
760
+ "toolCallId": "t37",
761
+ },
762
+ {
763
+ "argsPreview": null,
764
+ "attribution": false,
765
+ "expanded": false,
766
+ "key": "tool.t38",
767
+ "kind": "tool",
768
+ "name": "step_38",
769
+ "result": {
770
+ "byteCount": 2,
771
+ "expanded": true,
772
+ "key": "tool.t38.result",
773
+ "kind": "data-result",
774
+ "preview": "ok",
775
+ "showBytes": false,
776
+ "state": "small",
777
+ },
778
+ "state": "done",
779
+ "title": "step 38",
780
+ "toolCallId": "t38",
781
+ },
782
+ {
783
+ "argsPreview": null,
784
+ "attribution": false,
785
+ "expanded": false,
786
+ "key": "tool.t39",
787
+ "kind": "tool",
788
+ "name": "step_39",
789
+ "result": {
790
+ "byteCount": 2,
791
+ "expanded": true,
792
+ "key": "tool.t39.result",
793
+ "kind": "data-result",
794
+ "preview": "ok",
795
+ "showBytes": false,
796
+ "state": "small",
797
+ },
798
+ "state": "done",
799
+ "title": "step 39",
800
+ "toolCallId": "t39",
801
+ },
802
+ {
803
+ "argsPreview": null,
804
+ "attribution": false,
805
+ "expanded": false,
806
+ "key": "tool.t40",
807
+ "kind": "tool",
808
+ "name": "step_40",
809
+ "result": {
810
+ "byteCount": 2,
811
+ "expanded": true,
812
+ "key": "tool.t40.result",
813
+ "kind": "data-result",
814
+ "preview": "ok",
815
+ "showBytes": false,
816
+ "state": "small",
817
+ },
818
+ "state": "done",
819
+ "title": "step 40",
820
+ "toolCallId": "t40",
821
+ },
822
+ ],
823
+ },
824
+ {
825
+ "expanded": true,
826
+ "key": "a0.t0",
827
+ "kind": "text",
828
+ "markdown": true,
829
+ "stopped": false,
830
+ "streaming": false,
831
+ "text": "All done.",
832
+ },
833
+ ],
834
+ "recovery": null,
835
+ "status": null,
836
+ }
837
+ `;
838
+
839
+ exports[`corpus > 2. midstream-tool-failure — failed inline; badge without unroll 1`] = `
840
+ {
841
+ "items": [
842
+ {
843
+ "expanded": true,
844
+ "key": "u0",
845
+ "kind": "user",
846
+ "retry": false,
847
+ "state": "sent",
848
+ "text": "sweep it",
849
+ },
850
+ {
851
+ "expanded": false,
852
+ "failureBadge": "1 failed",
853
+ "failureCount": 1,
854
+ "key": "g.tool.t1",
855
+ "kind": "tool-group",
856
+ "label": "Ran 5 tools",
857
+ "tools": [
858
+ {
859
+ "argsPreview": null,
860
+ "attribution": false,
861
+ "expanded": false,
862
+ "key": "tool.t1",
863
+ "kind": "tool",
864
+ "name": "step_1",
865
+ "result": {
866
+ "byteCount": 2,
867
+ "expanded": true,
868
+ "key": "tool.t1.result",
869
+ "kind": "data-result",
870
+ "preview": "ok",
871
+ "showBytes": false,
872
+ "state": "small",
873
+ },
874
+ "state": "done",
875
+ "title": "step 1",
876
+ "toolCallId": "t1",
877
+ },
878
+ {
879
+ "argsPreview": null,
880
+ "attribution": false,
881
+ "expanded": false,
882
+ "key": "tool.t2",
883
+ "kind": "tool",
884
+ "name": "step_2",
885
+ "result": {
886
+ "byteCount": 2,
887
+ "expanded": true,
888
+ "key": "tool.t2.result",
889
+ "kind": "data-result",
890
+ "preview": "ok",
891
+ "showBytes": false,
892
+ "state": "small",
893
+ },
894
+ "state": "done",
895
+ "title": "step 2",
896
+ "toolCallId": "t2",
897
+ },
898
+ {
899
+ "argsPreview": null,
900
+ "attribution": false,
901
+ "expanded": false,
902
+ "key": "tool.t3",
903
+ "kind": "tool",
904
+ "name": "step_3",
905
+ "result": {
906
+ "byteCount": 2,
907
+ "expanded": true,
908
+ "key": "tool.t3.result",
909
+ "kind": "data-result",
910
+ "preview": "ok",
911
+ "showBytes": false,
912
+ "state": "small",
913
+ },
914
+ "state": "failed",
915
+ "title": "step 3",
916
+ "toolCallId": "t3",
917
+ },
918
+ {
919
+ "argsPreview": null,
920
+ "attribution": false,
921
+ "expanded": false,
922
+ "key": "tool.t4",
923
+ "kind": "tool",
924
+ "name": "step_4",
925
+ "result": {
926
+ "byteCount": 2,
927
+ "expanded": true,
928
+ "key": "tool.t4.result",
929
+ "kind": "data-result",
930
+ "preview": "ok",
931
+ "showBytes": false,
932
+ "state": "small",
933
+ },
934
+ "state": "done",
935
+ "title": "step 4",
936
+ "toolCallId": "t4",
937
+ },
938
+ {
939
+ "argsPreview": null,
940
+ "attribution": false,
941
+ "expanded": false,
942
+ "key": "tool.t5",
943
+ "kind": "tool",
944
+ "name": "step_5",
945
+ "result": {
946
+ "byteCount": 2,
947
+ "expanded": true,
948
+ "key": "tool.t5.result",
949
+ "kind": "data-result",
950
+ "preview": "ok",
951
+ "showBytes": false,
952
+ "state": "small",
953
+ },
954
+ "state": "done",
955
+ "title": "step 5",
956
+ "toolCallId": "t5",
957
+ },
958
+ ],
959
+ },
960
+ {
961
+ "expanded": true,
962
+ "key": "a0.t0",
963
+ "kind": "text",
964
+ "markdown": true,
965
+ "stopped": false,
966
+ "streaming": false,
967
+ "text": "Partial results in.",
968
+ },
969
+ ],
970
+ "recovery": null,
971
+ "status": null,
972
+ }
973
+ `;
974
+
975
+ exports[`corpus > 3. cold-start — R12 escalation at 0 / 2.5 s / 15 s 1`] = `
976
+ {
977
+ "items": [
978
+ {
979
+ "expanded": true,
980
+ "key": "u0",
981
+ "kind": "user",
982
+ "retry": false,
983
+ "state": "sent",
984
+ "text": "hi",
985
+ },
986
+ ],
987
+ "recovery": null,
988
+ "status": {
989
+ "copy": "Starting your agent…",
990
+ "detail": null,
991
+ "key": "status",
992
+ "kind": "status",
993
+ "state": "starting",
994
+ },
995
+ }
996
+ `;
997
+
998
+ exports[`corpus > 4. consent-gate — pending card → answered one-line collapse 1`] = `
999
+ {
1000
+ "items": [
1001
+ {
1002
+ "expanded": true,
1003
+ "key": "u0",
1004
+ "kind": "user",
1005
+ "retry": false,
1006
+ "state": "sent",
1007
+ "text": "book my usual",
1008
+ },
1009
+ {
1010
+ "expanded": true,
1011
+ "key": "a0.t0",
1012
+ "kind": "text",
1013
+ "markdown": true,
1014
+ "stopped": false,
1015
+ "streaming": false,
1016
+ "text": "May I use your profile?",
1017
+ },
1018
+ {
1019
+ "appId": "app-1",
1020
+ "expanded": true,
1021
+ "key": "p.consent-0",
1022
+ "kind": "prompt",
1023
+ "promptId": "consent-0",
1024
+ "promptKind": "consent",
1025
+ "raw": null,
1026
+ "requested": "read",
1027
+ "state": "pending",
1028
+ },
1029
+ ],
1030
+ "recovery": null,
1031
+ "status": null,
1032
+ }
1033
+ `;
1034
+
1035
+ exports[`corpus > 5. bypass-text-only — plan identical to a silver text-only stream 1`] = `
1036
+ {
1037
+ "items": [
1038
+ {
1039
+ "expanded": true,
1040
+ "key": "u0",
1041
+ "kind": "user",
1042
+ "retry": false,
1043
+ "state": "sent",
1044
+ "text": "hey",
1045
+ },
1046
+ {
1047
+ "expanded": true,
1048
+ "key": "a0.t0",
1049
+ "kind": "text",
1050
+ "markdown": true,
1051
+ "stopped": false,
1052
+ "streaming": false,
1053
+ "text": "Hello!",
1054
+ },
1055
+ ],
1056
+ "recovery": null,
1057
+ "status": null,
1058
+ }
1059
+ `;
1060
+
1061
+ exports[`corpus > 7. view-never-handshakes — channel-aware labels on both channels 1`] = `
1062
+ {
1063
+ "items": [
1064
+ {
1065
+ "expanded": true,
1066
+ "key": "u0",
1067
+ "kind": "user",
1068
+ "retry": false,
1069
+ "state": "sent",
1070
+ "text": "show me",
1071
+ },
1072
+ {
1073
+ "argsPreview": null,
1074
+ "attribution": true,
1075
+ "expanded": false,
1076
+ "key": "tool.tInline",
1077
+ "kind": "tool",
1078
+ "name": "render_form",
1079
+ "result": null,
1080
+ "state": "done",
1081
+ "title": "render form",
1082
+ "toolCallId": "tInline",
1083
+ },
1084
+ {
1085
+ "actionScope": null,
1086
+ "attribution": "via render form",
1087
+ "channel": "inline",
1088
+ "expanded": true,
1089
+ "key": "view.tInline",
1090
+ "kind": "view",
1091
+ "label": "Showing plain content",
1092
+ "mount": {
1093
+ "channel": "inline",
1094
+ "resource": {
1095
+ "mimeType": "text/html",
1096
+ "text": "<p>form</p>",
1097
+ "uri": "ui://forms/1",
1098
+ },
1099
+ },
1100
+ "phase": "no-handshake",
1101
+ "toolTitle": "render form",
1102
+ },
1103
+ {
1104
+ "argsPreview": null,
1105
+ "attribution": true,
1106
+ "expanded": false,
1107
+ "key": "tool.tGgui",
1108
+ "kind": "tool",
1109
+ "name": "ggui_render",
1110
+ "result": null,
1111
+ "state": "done",
1112
+ "title": "ggui render",
1113
+ "toolCallId": "tGgui",
1114
+ },
1115
+ {
1116
+ "actionScope": "ui://ggui/render/render_00000000-0000-4000-8000-300000000001/c0ffee",
1117
+ "attribution": "via ggui render",
1118
+ "channel": "ggui",
1119
+ "expanded": true,
1120
+ "key": "view.tGgui",
1121
+ "kind": "view",
1122
+ "label": "This view couldn't start",
1123
+ "mount": {
1124
+ "channel": "ggui",
1125
+ "resource": {
1126
+ "mimeType": "text/html",
1127
+ "text": "<!doctype html>
1128
+ <html lang="en" style="background:transparent"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="color-scheme" content="light dark"><title>ggui render</title></head>
1129
+ <body style="margin:0;background:transparent">
1130
+ <script>globalThis.__GGUI_META__ = {"ai.ggui/render":{"sessionId":"render_00000000-0000-4000-8000-300000000001","appId":"APP00000","runtimeUrl":"https://dev.mcp.sandbox.ggui.ai/_ggui/iframe-runtime.js","wsUrl":"wss://dev.mcp.sandbox.ggui.ai/ws","wsToken":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","expiresAt":"2026-07-29T11:07:58.000Z","lastSequence":0,"propsJson":"{}"}};</script>
1131
+ <script type="module" crossorigin="anonymous" src="https://dev.mcp.sandbox.ggui.ai/_ggui/iframe-runtime.js"></script>
1132
+ </body></html>",
1133
+ "uri": "ui://ggui/render/render_00000000-0000-4000-8000-300000000001/c0ffee",
1134
+ },
1135
+ },
1136
+ "phase": "no-handshake",
1137
+ "toolTitle": "ggui render",
1138
+ },
1139
+ ],
1140
+ "recovery": null,
1141
+ "status": null,
1142
+ }
1143
+ `;
1144
+
1145
+ exports[`corpus > 8. aborted-mid-stream — partial kept + Stopped.; no orphaned spinner 1`] = `
1146
+ {
1147
+ "items": [
1148
+ {
1149
+ "expanded": true,
1150
+ "key": "u0",
1151
+ "kind": "user",
1152
+ "retry": false,
1153
+ "state": "sent",
1154
+ "text": "go on",
1155
+ },
1156
+ {
1157
+ "expanded": true,
1158
+ "key": "a0.t0",
1159
+ "kind": "text",
1160
+ "markdown": true,
1161
+ "stopped": true,
1162
+ "streaming": false,
1163
+ "text": "I was saying",
1164
+ },
1165
+ {
1166
+ "argsPreview": null,
1167
+ "attribution": false,
1168
+ "expanded": false,
1169
+ "key": "tool.t9",
1170
+ "kind": "tool",
1171
+ "name": "slow_tool",
1172
+ "result": null,
1173
+ "state": "orphaned",
1174
+ "title": "slow tool",
1175
+ "toolCallId": "t9",
1176
+ },
1177
+ ],
1178
+ "recovery": null,
1179
+ "status": {
1180
+ "copy": "Stopped.",
1181
+ "detail": null,
1182
+ "key": "status",
1183
+ "kind": "status",
1184
+ "state": "aborted",
1185
+ },
1186
+ }
1187
+ `;
1188
+
1189
+ exports[`corpus > 9. history-dead-locators — the expired path beside a healthy card 1`] = `
1190
+ {
1191
+ "items": [
1192
+ {
1193
+ "expanded": true,
1194
+ "key": "u0",
1195
+ "kind": "user",
1196
+ "retry": false,
1197
+ "state": "sent",
1198
+ "text": "hi again",
1199
+ },
1200
+ {
1201
+ "expanded": true,
1202
+ "key": "a0.t0",
1203
+ "kind": "text",
1204
+ "markdown": true,
1205
+ "stopped": false,
1206
+ "streaming": false,
1207
+ "text": "Welcome back.",
1208
+ },
1209
+ {
1210
+ "actionScope": "ui://ggui/render/old/1",
1211
+ "attribution": null,
1212
+ "channel": "locator",
1213
+ "expanded": true,
1214
+ "key": "card.1",
1215
+ "kind": "view",
1216
+ "label": "Loading view…",
1217
+ "mount": {
1218
+ "channel": "locator",
1219
+ "resourceUri": "ui://ggui/render/old/1",
1220
+ },
1221
+ "phase": "negotiating",
1222
+ "toolTitle": null,
1223
+ },
1224
+ {
1225
+ "actionScope": null,
1226
+ "attribution": null,
1227
+ "channel": null,
1228
+ "expanded": true,
1229
+ "key": "card.2",
1230
+ "kind": "view",
1231
+ "label": "This view expired",
1232
+ "mount": null,
1233
+ "phase": "expired",
1234
+ "toolTitle": null,
1235
+ },
1236
+ ],
1237
+ "recovery": null,
1238
+ "status": null,
1239
+ }
1240
+ `;
1241
+
1242
+ exports[`corpus > 10. empty-turn — status resolves, no empty bubble 1`] = `
1243
+ {
1244
+ "items": [
1245
+ {
1246
+ "expanded": true,
1247
+ "key": "u0",
1248
+ "kind": "user",
1249
+ "retry": false,
1250
+ "state": "sent",
1251
+ "text": "ping",
1252
+ },
1253
+ ],
1254
+ "recovery": null,
1255
+ "status": null,
1256
+ }
1257
+ `;
1258
+
1259
+ exports[`corpus > 11. unknown-block-storm — labeled rows; nothing blank, nothing raw in calm 1`] = `
1260
+ {
1261
+ "items": [
1262
+ {
1263
+ "expanded": true,
1264
+ "key": "u0",
1265
+ "kind": "user",
1266
+ "retry": false,
1267
+ "state": "sent",
1268
+ "text": "what is this",
1269
+ },
1270
+ {
1271
+ "byteSize": 26,
1272
+ "expanded": false,
1273
+ "key": "a0.u0",
1274
+ "kind": "unknown",
1275
+ "label": "Unrecognized content",
1276
+ "raw": null,
1277
+ "typeName": "provider-raw:futurecorp",
1278
+ },
1279
+ {
1280
+ "byteSize": 26,
1281
+ "expanded": false,
1282
+ "key": "a0.u1",
1283
+ "kind": "unknown",
1284
+ "label": "Unrecognized content",
1285
+ "raw": null,
1286
+ "typeName": "provider-raw:futurecorp",
1287
+ },
1288
+ {
1289
+ "byteSize": 26,
1290
+ "expanded": false,
1291
+ "key": "a0.u2",
1292
+ "kind": "unknown",
1293
+ "label": "Unrecognized content",
1294
+ "raw": null,
1295
+ "typeName": "provider-raw:futurecorp",
1296
+ },
1297
+ ],
1298
+ "recovery": null,
1299
+ "status": null,
1300
+ }
1301
+ `;
1302
+
1303
+ exports[`corpus > 12. interleaved-media-code-citations — ordering and aggregation 1`] = `
1304
+ {
1305
+ "items": [
1306
+ {
1307
+ "expanded": true,
1308
+ "key": "u0",
1309
+ "kind": "user",
1310
+ "retry": false,
1311
+ "state": "sent",
1312
+ "text": "chart + code + sources",
1313
+ },
1314
+ {
1315
+ "expanded": true,
1316
+ "key": "a0.m0",
1317
+ "kind": "media",
1318
+ "media": "image",
1319
+ "name": null,
1320
+ "presentation": "inline",
1321
+ "source": {
1322
+ "mediaType": "image/png",
1323
+ "type": "url",
1324
+ "url": "https://cdn.example/chart.png",
1325
+ },
1326
+ },
1327
+ {
1328
+ "code": "print('hi')",
1329
+ "expanded": true,
1330
+ "key": "a0.c0",
1331
+ "kind": "code",
1332
+ "language": "python",
1333
+ "wrap": false,
1334
+ },
1335
+ {
1336
+ "expanded": false,
1337
+ "key": "a0.s0",
1338
+ "kind": "citations",
1339
+ "label": "2 sources",
1340
+ "sources": [
1341
+ {
1342
+ "title": "A",
1343
+ "url": "https://a.example",
1344
+ },
1345
+ {
1346
+ "title": "B",
1347
+ "url": "https://b.example",
1348
+ },
1349
+ ],
1350
+ "style": "chips",
1351
+ },
1352
+ {
1353
+ "expanded": true,
1354
+ "key": "a0.t0",
1355
+ "kind": "text",
1356
+ "markdown": true,
1357
+ "stopped": false,
1358
+ "streaming": false,
1359
+ "text": "Sources above.",
1360
+ },
1361
+ ],
1362
+ "recovery": null,
1363
+ "status": null,
1364
+ }
1365
+ `;
1366
+
1367
+ exports[`corpus > 13. saturated-then-served — only R12 waiting, then a normal turn 1`] = `
1368
+ {
1369
+ "items": [
1370
+ {
1371
+ "expanded": true,
1372
+ "key": "u0",
1373
+ "kind": "user",
1374
+ "retry": false,
1375
+ "state": "sent",
1376
+ "text": "hi",
1377
+ },
1378
+ {
1379
+ "expanded": true,
1380
+ "key": "a0.t0",
1381
+ "kind": "text",
1382
+ "markdown": true,
1383
+ "stopped": false,
1384
+ "streaming": false,
1385
+ "text": "Served after the invisible retry.",
1386
+ },
1387
+ ],
1388
+ "recovery": null,
1389
+ "status": null,
1390
+ }
1391
+ `;
1392
+
1393
+ exports[`corpus > 14. reasoning-heavy — calm collapses to one line; debug expands 1`] = `
1394
+ {
1395
+ "items": [
1396
+ {
1397
+ "expanded": true,
1398
+ "key": "u0",
1399
+ "kind": "user",
1400
+ "retry": false,
1401
+ "state": "sent",
1402
+ "text": "which day?",
1403
+ },
1404
+ {
1405
+ "expanded": false,
1406
+ "key": "a0.r0",
1407
+ "kind": "reasoning",
1408
+ "label": "Thought for a moment",
1409
+ "streaming": false,
1410
+ "text": "Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… Considering all twelve constraints at length… ",
1411
+ },
1412
+ {
1413
+ "expanded": true,
1414
+ "key": "a0.t0",
1415
+ "kind": "text",
1416
+ "markdown": true,
1417
+ "stopped": false,
1418
+ "streaming": false,
1419
+ "text": "Thursday works.",
1420
+ },
1421
+ ],
1422
+ "recovery": null,
1423
+ "status": null,
1424
+ }
1425
+ `;
1426
+
1427
+ exports[`corpus > 15. tools-around-a-view — the group SPLITS at the view's position 1`] = `
1428
+ {
1429
+ "items": [
1430
+ {
1431
+ "expanded": true,
1432
+ "key": "u0",
1433
+ "kind": "user",
1434
+ "retry": false,
1435
+ "state": "sent",
1436
+ "text": "pick a slot",
1437
+ },
1438
+ {
1439
+ "expanded": false,
1440
+ "failureBadge": null,
1441
+ "failureCount": 0,
1442
+ "key": "g.tool.t1",
1443
+ "kind": "tool-group",
1444
+ "label": "Ran 2 tools",
1445
+ "tools": [
1446
+ {
1447
+ "argsPreview": null,
1448
+ "attribution": false,
1449
+ "expanded": false,
1450
+ "key": "tool.t1",
1451
+ "kind": "tool",
1452
+ "name": "prep_t1",
1453
+ "result": {
1454
+ "byteCount": 2,
1455
+ "expanded": true,
1456
+ "key": "tool.t1.result",
1457
+ "kind": "data-result",
1458
+ "preview": "ok",
1459
+ "showBytes": false,
1460
+ "state": "small",
1461
+ },
1462
+ "state": "done",
1463
+ "title": "prep t1",
1464
+ "toolCallId": "t1",
1465
+ },
1466
+ {
1467
+ "argsPreview": null,
1468
+ "attribution": false,
1469
+ "expanded": false,
1470
+ "key": "tool.t2",
1471
+ "kind": "tool",
1472
+ "name": "prep_t2",
1473
+ "result": {
1474
+ "byteCount": 2,
1475
+ "expanded": true,
1476
+ "key": "tool.t2.result",
1477
+ "kind": "data-result",
1478
+ "preview": "ok",
1479
+ "showBytes": false,
1480
+ "state": "small",
1481
+ },
1482
+ "state": "done",
1483
+ "title": "prep t2",
1484
+ "toolCallId": "t2",
1485
+ },
1486
+ ],
1487
+ },
1488
+ {
1489
+ "argsPreview": null,
1490
+ "attribution": true,
1491
+ "expanded": false,
1492
+ "key": "tool.t3",
1493
+ "kind": "tool",
1494
+ "name": "ggui_render",
1495
+ "result": null,
1496
+ "state": "done",
1497
+ "title": "ggui render",
1498
+ "toolCallId": "t3",
1499
+ },
1500
+ {
1501
+ "actionScope": null,
1502
+ "attribution": "via ggui render",
1503
+ "channel": "inline",
1504
+ "expanded": true,
1505
+ "key": "view.t3",
1506
+ "kind": "view",
1507
+ "label": "Loading view…",
1508
+ "mount": {
1509
+ "channel": "inline",
1510
+ "resource": {
1511
+ "mimeType": "text/html",
1512
+ "text": "<div>picker</div>",
1513
+ "uri": "ui://cards/slot-picker",
1514
+ },
1515
+ },
1516
+ "phase": "negotiating",
1517
+ "toolTitle": "ggui render",
1518
+ },
1519
+ {
1520
+ "expanded": false,
1521
+ "failureBadge": null,
1522
+ "failureCount": 0,
1523
+ "key": "g.tool.t4",
1524
+ "kind": "tool-group",
1525
+ "label": "Ran 2 tools",
1526
+ "tools": [
1527
+ {
1528
+ "argsPreview": null,
1529
+ "attribution": false,
1530
+ "expanded": false,
1531
+ "key": "tool.t4",
1532
+ "kind": "tool",
1533
+ "name": "post_t4",
1534
+ "result": {
1535
+ "byteCount": 2,
1536
+ "expanded": true,
1537
+ "key": "tool.t4.result",
1538
+ "kind": "data-result",
1539
+ "preview": "ok",
1540
+ "showBytes": false,
1541
+ "state": "small",
1542
+ },
1543
+ "state": "done",
1544
+ "title": "post t4",
1545
+ "toolCallId": "t4",
1546
+ },
1547
+ {
1548
+ "argsPreview": null,
1549
+ "attribution": false,
1550
+ "expanded": false,
1551
+ "key": "tool.t5",
1552
+ "kind": "tool",
1553
+ "name": "post_t5",
1554
+ "result": {
1555
+ "byteCount": 2,
1556
+ "expanded": true,
1557
+ "key": "tool.t5.result",
1558
+ "kind": "data-result",
1559
+ "preview": "ok",
1560
+ "showBytes": false,
1561
+ "state": "small",
1562
+ },
1563
+ "state": "done",
1564
+ "title": "post t5",
1565
+ "toolCallId": "t5",
1566
+ },
1567
+ ],
1568
+ },
1569
+ ],
1570
+ "recovery": null,
1571
+ "status": null,
1572
+ }
1573
+ `;
1574
+
1575
+ exports[`corpus > 16. user-send-failure — R0 failed with retry; the message never disappears 1`] = `
1576
+ {
1577
+ "items": [
1578
+ {
1579
+ "expanded": true,
1580
+ "key": "u0",
1581
+ "kind": "user",
1582
+ "retry": true,
1583
+ "state": "failed",
1584
+ "text": "did this go through?",
1585
+ },
1586
+ ],
1587
+ "recovery": null,
1588
+ "status": null,
1589
+ }
1590
+ `;