@principal-ai/subsystems-react 0.39.0 → 0.40.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 (29) hide show
  1. package/dist/components/maintain-events/MaintainEventLog.d.ts +35 -0
  2. package/dist/components/maintain-events/MaintainEventLog.d.ts.map +1 -0
  3. package/dist/components/maintain-events/MaintainEventLog.js +66 -0
  4. package/dist/components/maintain-events/MaintainEventLog.js.map +1 -0
  5. package/dist/components/maintain-events/MaintainLivePanel.d.ts +15 -0
  6. package/dist/components/maintain-events/MaintainLivePanel.d.ts.map +1 -0
  7. package/dist/components/maintain-events/MaintainLivePanel.js +49 -0
  8. package/dist/components/maintain-events/MaintainLivePanel.js.map +1 -0
  9. package/dist/components/maintain-events/index.d.ts +8 -0
  10. package/dist/components/maintain-events/index.d.ts.map +1 -0
  11. package/dist/components/maintain-events/index.js +6 -0
  12. package/dist/components/maintain-events/index.js.map +1 -0
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/subsystem/SubsystemComponentGraph.d.ts +6 -0
  18. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  19. package/dist/subsystem/SubsystemComponentGraph.js +3 -2
  20. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/components/maintain-events/MaintainEventLog.tsx +152 -0
  23. package/src/components/maintain-events/MaintainLivePanel.tsx +99 -0
  24. package/src/components/maintain-events/index.ts +10 -0
  25. package/src/index.ts +8 -0
  26. package/src/stories/MaintainEvents/MaintainEventLog.stories.tsx +66 -0
  27. package/src/stories/MaintainEvents/MaintainLivePanel.stories.tsx +77 -0
  28. package/src/stories/data/maintain-live-events.json +554 -0
  29. package/src/subsystem/SubsystemComponentGraph.tsx +11 -1
@@ -0,0 +1,554 @@
1
+ [
2
+ {
3
+ "at": null,
4
+ "type": "server.connected",
5
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
6
+ "summary": "connected"
7
+ },
8
+ {
9
+ "at": 1785251893442,
10
+ "type": "session.status",
11
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
12
+ "summary": "busy"
13
+ },
14
+ {
15
+ "at": 1785251893692,
16
+ "type": "session.next.prompted",
17
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
18
+ "summary": "user prompt"
19
+ },
20
+ {
21
+ "at": 1785251893942,
22
+ "type": "session.next.text.delta",
23
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
24
+ "summary": "Explore the project at /Users/griever/Developer/visual-validation/principal-view-core-library thoroughly.\n\nI need to understand:\n1. The full directory tree (pac"
25
+ },
26
+ {
27
+ "at": 1785251894192,
28
+ "type": "session.next.prompted",
29
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
30
+ "summary": "assistant prompt"
31
+ },
32
+ {
33
+ "at": 1785251894442,
34
+ "type": "session.next.prompted",
35
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
36
+ "summary": "user prompt"
37
+ },
38
+ {
39
+ "at": 1785251894692,
40
+ "type": "session.next.step.started",
41
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
42
+ "summary": "step started"
43
+ },
44
+ {
45
+ "at": 1785251895192,
46
+ "type": "session.next.reasoning.delta",
47
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
48
+ "summary": "Let me explore the project at /Users/griever/Developer/visual-validation/principal-view-core-library thoroughly. I'll start by understanding the overall structu"
49
+ },
50
+ {
51
+ "at": 1785251895692,
52
+ "type": "session.next.tool.called",
53
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
54
+ "summary": "read"
55
+ },
56
+ {
57
+ "at": 1785251895942,
58
+ "type": "session.next.tool.called",
59
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
60
+ "summary": "read"
61
+ },
62
+ {
63
+ "at": 1785251896192,
64
+ "type": "session.next.tool.called",
65
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
66
+ "summary": "glob"
67
+ },
68
+ {
69
+ "at": 1785251896442,
70
+ "type": "session.next.tool.called",
71
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
72
+ "summary": "glob"
73
+ },
74
+ {
75
+ "at": 1785251896692,
76
+ "type": "session.next.tool.called",
77
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
78
+ "summary": "glob"
79
+ },
80
+ {
81
+ "at": 1785251896942,
82
+ "type": "session.next.tool.called",
83
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
84
+ "summary": "glob"
85
+ },
86
+ {
87
+ "at": 1785251897192,
88
+ "type": "session.next.text.delta",
89
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
90
+ "summary": "I'll start by exploring the top-level structure and then dive into each area systematically."
91
+ },
92
+ {
93
+ "at": 1785251897442,
94
+ "type": "session.next.tool.called",
95
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
96
+ "summary": "read"
97
+ },
98
+ {
99
+ "at": 1785251897692,
100
+ "type": "session.next.tool.called",
101
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
102
+ "summary": "glob"
103
+ },
104
+ {
105
+ "at": 1785251897942,
106
+ "type": "session.next.tool.called",
107
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
108
+ "summary": "glob"
109
+ },
110
+ {
111
+ "at": 1785251898192,
112
+ "type": "session.next.step.ended",
113
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
114
+ "summary": "step ended"
115
+ },
116
+ {
117
+ "at": 1785251898442,
118
+ "type": "session.next.prompted",
119
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
120
+ "summary": "assistant prompt"
121
+ },
122
+ {
123
+ "at": 1785251898692,
124
+ "type": "session.next.prompted",
125
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
126
+ "summary": "assistant prompt"
127
+ },
128
+ {
129
+ "at": 1785251898942,
130
+ "type": "session.next.prompted",
131
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
132
+ "summary": "assistant prompt"
133
+ },
134
+ {
135
+ "at": 1785251899192,
136
+ "type": "session.next.prompted",
137
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
138
+ "summary": "user prompt"
139
+ },
140
+ {
141
+ "at": 1785251899442,
142
+ "type": "session.next.step.started",
143
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
144
+ "summary": "step started"
145
+ },
146
+ {
147
+ "at": 1785251899942,
148
+ "type": "session.next.reasoning.delta",
149
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
150
+ "summary": "Good, I have a clear picture of the packages. Let me now read the root package.json, each package's package.json, tsconfig files, and explore the directory stru"
151
+ },
152
+ {
153
+ "at": 1785251900442,
154
+ "type": "session.next.tool.called",
155
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
156
+ "summary": "read"
157
+ },
158
+ {
159
+ "at": 1785251900692,
160
+ "type": "session.next.tool.called",
161
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
162
+ "summary": "read"
163
+ },
164
+ {
165
+ "at": 1785251900942,
166
+ "type": "session.next.tool.called",
167
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
168
+ "summary": "read"
169
+ },
170
+ {
171
+ "at": 1785251901192,
172
+ "type": "session.next.tool.called",
173
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
174
+ "summary": "read"
175
+ },
176
+ {
177
+ "at": 1785251901442,
178
+ "type": "session.next.tool.called",
179
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
180
+ "summary": "read"
181
+ },
182
+ {
183
+ "at": 1785251901692,
184
+ "type": "session.next.tool.called",
185
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
186
+ "summary": "read"
187
+ },
188
+ {
189
+ "at": 1785251901942,
190
+ "type": "session.next.tool.called",
191
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
192
+ "summary": "read"
193
+ },
194
+ {
195
+ "at": 1785251902192,
196
+ "type": "session.next.tool.called",
197
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
198
+ "summary": "read"
199
+ },
200
+ {
201
+ "at": 1785251902442,
202
+ "type": "session.next.tool.called",
203
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
204
+ "summary": "read"
205
+ },
206
+ {
207
+ "at": 1785251902692,
208
+ "type": "session.next.tool.called",
209
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
210
+ "summary": "read"
211
+ },
212
+ {
213
+ "at": 1785251902942,
214
+ "type": "session.next.tool.called",
215
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
216
+ "summary": "read"
217
+ },
218
+ {
219
+ "at": 1785251903192,
220
+ "type": "session.next.tool.called",
221
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
222
+ "summary": "read"
223
+ },
224
+ {
225
+ "at": 1785251903442,
226
+ "type": "session.next.tool.called",
227
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
228
+ "summary": "read"
229
+ },
230
+ {
231
+ "at": 1785251903692,
232
+ "type": "session.next.tool.called",
233
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
234
+ "summary": "read"
235
+ },
236
+ {
237
+ "at": 1785251903942,
238
+ "type": "session.next.tool.called",
239
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
240
+ "summary": "read"
241
+ },
242
+ {
243
+ "at": 1785251904192,
244
+ "type": "session.next.tool.called",
245
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
246
+ "summary": "read"
247
+ },
248
+ {
249
+ "at": 1785251904442,
250
+ "type": "session.next.tool.called",
251
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
252
+ "summary": "read"
253
+ },
254
+ {
255
+ "at": 1785251904692,
256
+ "type": "session.next.tool.called",
257
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
258
+ "summary": "read"
259
+ },
260
+ {
261
+ "at": 1785251904942,
262
+ "type": "session.next.tool.called",
263
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
264
+ "summary": "read"
265
+ },
266
+ {
267
+ "at": 1785251905192,
268
+ "type": "session.next.tool.called",
269
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
270
+ "summary": "read"
271
+ },
272
+ {
273
+ "at": 1785251905442,
274
+ "type": "session.next.tool.called",
275
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
276
+ "summary": "read"
277
+ },
278
+ {
279
+ "at": 1785251905692,
280
+ "type": "session.next.text.delta",
281
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
282
+ "summary": "Now let me read all package.json files and tsconfig files:"
283
+ },
284
+ {
285
+ "at": 1785251905942,
286
+ "type": "session.next.step.ended",
287
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
288
+ "summary": "step ended"
289
+ },
290
+ {
291
+ "at": 1785251906192,
292
+ "type": "session.next.prompted",
293
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
294
+ "summary": "assistant prompt"
295
+ },
296
+ {
297
+ "at": 1785251906442,
298
+ "type": "session.next.prompted",
299
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
300
+ "summary": "assistant prompt"
301
+ },
302
+ {
303
+ "at": 1785251906692,
304
+ "type": "session.next.prompted",
305
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
306
+ "summary": "assistant prompt"
307
+ },
308
+ {
309
+ "at": 1785251906942,
310
+ "type": "session.next.prompted",
311
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
312
+ "summary": "user prompt"
313
+ },
314
+ {
315
+ "at": 1785251907192,
316
+ "type": "session.next.step.started",
317
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
318
+ "summary": "step started"
319
+ },
320
+ {
321
+ "at": 1785251907692,
322
+ "type": "session.next.reasoning.delta",
323
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
324
+ "summary": "Now let me read the tsconfig files and explore the source directories of each package."
325
+ },
326
+ {
327
+ "at": 1785251908192,
328
+ "type": "session.next.tool.called",
329
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
330
+ "summary": "read"
331
+ },
332
+ {
333
+ "at": 1785251908442,
334
+ "type": "session.next.tool.called",
335
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
336
+ "summary": "read"
337
+ },
338
+ {
339
+ "at": 1785251908692,
340
+ "type": "session.next.tool.called",
341
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
342
+ "summary": "read"
343
+ },
344
+ {
345
+ "at": 1785251908942,
346
+ "type": "session.next.tool.called",
347
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
348
+ "summary": "read"
349
+ },
350
+ {
351
+ "at": 1785251909192,
352
+ "type": "session.next.tool.called",
353
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
354
+ "summary": "read"
355
+ },
356
+ {
357
+ "at": 1785251909442,
358
+ "type": "session.next.tool.called",
359
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
360
+ "summary": "read"
361
+ },
362
+ {
363
+ "at": 1785251909692,
364
+ "type": "session.next.tool.called",
365
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
366
+ "summary": "read"
367
+ },
368
+ {
369
+ "at": 1785251909942,
370
+ "type": "session.next.tool.called",
371
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
372
+ "summary": "read"
373
+ },
374
+ {
375
+ "at": 1785251910192,
376
+ "type": "session.next.tool.called",
377
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
378
+ "summary": "read"
379
+ },
380
+ {
381
+ "at": 1785251910442,
382
+ "type": "session.next.tool.called",
383
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
384
+ "summary": "read"
385
+ },
386
+ {
387
+ "at": 1785251910692,
388
+ "type": "session.next.tool.called",
389
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
390
+ "summary": "read"
391
+ },
392
+ {
393
+ "at": 1785251910942,
394
+ "type": "session.next.tool.called",
395
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
396
+ "summary": "read"
397
+ },
398
+ {
399
+ "at": 1785251911192,
400
+ "type": "session.next.tool.called",
401
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
402
+ "summary": "read"
403
+ },
404
+ {
405
+ "at": 1785251911442,
406
+ "type": "session.next.tool.called",
407
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
408
+ "summary": "read"
409
+ },
410
+ {
411
+ "at": 1785251911692,
412
+ "type": "session.next.tool.called",
413
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
414
+ "summary": "read"
415
+ },
416
+ {
417
+ "at": 1785251911942,
418
+ "type": "session.next.tool.called",
419
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
420
+ "summary": "read"
421
+ },
422
+ {
423
+ "at": 1785251912192,
424
+ "type": "session.next.tool.called",
425
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
426
+ "summary": "read"
427
+ },
428
+ {
429
+ "at": 1785251912442,
430
+ "type": "session.next.tool.called",
431
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
432
+ "summary": "read"
433
+ },
434
+ {
435
+ "at": 1785251912692,
436
+ "type": "session.next.tool.called",
437
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
438
+ "summary": "read"
439
+ },
440
+ {
441
+ "at": 1785251912942,
442
+ "type": "session.next.tool.called",
443
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
444
+ "summary": "read"
445
+ },
446
+ {
447
+ "at": 1785251913192,
448
+ "type": "session.next.tool.called",
449
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
450
+ "summary": "read"
451
+ },
452
+ {
453
+ "at": 1785251913442,
454
+ "type": "session.next.tool.called",
455
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
456
+ "summary": "read"
457
+ },
458
+ {
459
+ "at": 1785251913692,
460
+ "type": "session.next.tool.called",
461
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
462
+ "summary": "read"
463
+ },
464
+ {
465
+ "at": 1785251913942,
466
+ "type": "session.next.tool.called",
467
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
468
+ "summary": "read"
469
+ },
470
+ {
471
+ "at": 1785251914192,
472
+ "type": "session.next.tool.called",
473
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
474
+ "summary": "read"
475
+ },
476
+ {
477
+ "at": 1785251914442,
478
+ "type": "session.next.tool.called",
479
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
480
+ "summary": "read"
481
+ },
482
+ {
483
+ "at": 1785251914692,
484
+ "type": "session.next.tool.called",
485
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
486
+ "summary": "read"
487
+ },
488
+ {
489
+ "at": 1785251914942,
490
+ "type": "session.next.text.delta",
491
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
492
+ "summary": "Now let me read tsconfig files and explore each package's source structure:"
493
+ },
494
+ {
495
+ "at": 1785251915192,
496
+ "type": "session.next.step.ended",
497
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
498
+ "summary": "step ended"
499
+ },
500
+ {
501
+ "at": 1785251915442,
502
+ "type": "session.next.prompted",
503
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
504
+ "summary": "assistant prompt"
505
+ },
506
+ {
507
+ "at": 1785251915692,
508
+ "type": "session.next.prompted",
509
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
510
+ "summary": "assistant prompt"
511
+ },
512
+ {
513
+ "at": 1785251915942,
514
+ "type": "session.next.prompted",
515
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
516
+ "summary": "assistant prompt"
517
+ },
518
+ {
519
+ "at": 1785251916192,
520
+ "type": "session.next.prompted",
521
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
522
+ "summary": "user prompt"
523
+ },
524
+ {
525
+ "at": 1785251916442,
526
+ "type": "session.next.step.started",
527
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
528
+ "summary": "step started"
529
+ },
530
+ {
531
+ "at": 1785251916942,
532
+ "type": "session.next.reasoning.delta",
533
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
534
+ "summary": "Now let me explore the source directories of each package."
535
+ },
536
+ {
537
+ "at": 1785251917442,
538
+ "type": "session.next.tool.called",
539
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
540
+ "summary": "read"
541
+ },
542
+ {
543
+ "at": 1785251917692,
544
+ "type": "session.next.tool.called",
545
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
546
+ "summary": "read"
547
+ },
548
+ {
549
+ "at": 1785251917942,
550
+ "type": "session.next.tool.called",
551
+ "sessionId": "ses_056b1f037ffeu1d00DzvJBrHq9",
552
+ "summary": "read"
553
+ }
554
+ ]
@@ -57,6 +57,10 @@ import {
57
57
  } from './model';
58
58
  import { ConstructsCatalog } from './ConstructsCatalog';
59
59
  import type { SubsystemOpenFileOptions } from './declarationRef';
60
+ import {
61
+ MaintainLivePanel,
62
+ type MaintainLivePanelProps,
63
+ } from '../components/maintain-events/MaintainLivePanel';
60
64
  import type { WalkthroughSymbolQuery } from '../pierre/PierreWalkthroughCodeView';
61
65
  import { SubsystemComponentNode, SubsystemGroupNode, SubsystemEdge, SUBSYSTEM_CALLBACKS, hexWithAlpha, EDGE_DIM_ALPHA, fileMatchForNode, flowElementVisibility } from './nodes';
62
66
  import { SubsystemDiagnosticToggle, type SubsystemDiagnostic } from './DiagnosticToggle';
@@ -295,6 +299,11 @@ export interface SubsystemComponentGraphProps {
295
299
  onDescriptionOpenChange?: (open: boolean) => void;
296
300
  /** Rendered over the graph canvas only (not the title/legend sidebar). */
297
301
  canvasOverlay?: ReactNode;
302
+ /**
303
+ * Live agent-run events to show in a collapsible half-height panel over the
304
+ * graph canvas. Omit (or pass null) to hide it.
305
+ */
306
+ liveEvents?: MaintainLivePanelProps | null;
298
307
  /** Extra controls at the top of the title/legend sidebar. */
299
308
  sidebarExtra?: ReactNode;
300
309
  /** Rendered in the sidebar under the description (e.g. selection inspector). */
@@ -500,7 +509,7 @@ interface InnerProps extends SubsystemComponentGraphProps {
500
509
  measured: { w: number; h: number } | null;
501
510
  }
502
511
 
503
- function Inner({ components, relations, walkthroughs, graphifyRelations, orderByLine, initialWalkthroughId, onReorderWalkthroughs, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, edgeView, title, hideSidebar, walkthroughStepMode = 'focus', autoPlayWalkthroughs = false, walkthroughAutoPlayIntervalMs = WALKTHROUGH_PLAY_PAUSE_MS, zoomOnWalkthroughFocus = true, walkthroughFocusDurationMs = 300, graphTitle, showWalkthroughTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, diagnostic, issues, showIssues, focusIssueCategory, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileView, renderFileViewer, renderWalkthroughViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, hideDrawer = false, persistKey }: InnerProps) {
512
+ function Inner({ components, relations, walkthroughs, graphifyRelations, orderByLine, initialWalkthroughId, onReorderWalkthroughs, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, edgeView, title, hideSidebar, walkthroughStepMode = 'focus', autoPlayWalkthroughs = false, walkthroughAutoPlayIntervalMs = WALKTHROUGH_PLAY_PAUSE_MS, zoomOnWalkthroughFocus = true, walkthroughFocusDurationMs = 300, graphTitle, showWalkthroughTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, diagnostic, issues, showIssues, focusIssueCategory, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileView, renderFileViewer, renderWalkthroughViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, hideDrawer = false, persistKey, liveEvents }: InnerProps) {
504
513
  const { theme } = useTheme();
505
514
  const { fitView, fitBounds } = useReactFlow();
506
515
  const viewport = useViewport();
@@ -3167,6 +3176,7 @@ function Inner({ components, relations, walkthroughs, graphifyRelations, orderBy
3167
3176
  {/* Startup cover — hides measurement, layout swap, and camera settle. */}
3168
3177
  <GraphLayoutCover revealed={layoutReady} />
3169
3178
  {canvasOverlay}
3179
+ {liveEvents ? <MaintainLivePanel {...liveEvents} /> : null}
3170
3180
  </div>
3171
3181
  </div>
3172
3182
  );