@trevonistrevon/pi-loop 0.5.5 → 0.5.7
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.
- package/coverage/coverage-final.json +24 -24
- package/coverage/index.html +28 -28
- package/coverage/src/commands/index.html +1 -1
- package/coverage/src/commands/loop-command.ts.html +3 -3
- package/coverage/src/commands/tasks-command.ts.html +3 -3
- package/coverage/src/coordinator.ts.html +20 -20
- package/coverage/src/goal-coordinator.ts.html +1 -1
- package/coverage/src/goal-reducer.ts.html +1 -1
- package/coverage/src/goal-store.ts.html +1 -1
- package/coverage/src/goal-verifier.ts.html +1 -1
- package/coverage/src/index.html +25 -25
- package/coverage/src/index.ts.html +88 -79
- package/coverage/src/loop-parse.ts.html +44 -44
- package/coverage/src/loop-reducer.ts.html +22 -22
- package/coverage/src/monitor-completion-coordinator.ts.html +1 -1
- package/coverage/src/monitor-manager.ts.html +161 -92
- package/coverage/src/monitor-reducer.ts.html +31 -31
- package/coverage/src/notification-reducer.ts.html +15 -15
- package/coverage/src/reducer-backed-store.ts.html +52 -52
- package/coverage/src/runtime/index.html +18 -18
- package/coverage/src/runtime/monitor-ondone-runtime.ts.html +5 -5
- package/coverage/src/runtime/notification-runtime.ts.html +42 -42
- package/coverage/src/runtime/scope.ts.html +17 -17
- package/coverage/src/runtime/session-runtime.ts.html +133 -49
- package/coverage/src/runtime/task-backlog-runtime.ts.html +7 -7
- package/coverage/src/runtime/task-rpc.ts.html +10 -10
- package/coverage/src/scheduler.ts.html +29 -29
- package/coverage/src/store.ts.html +17 -17
- package/coverage/src/task-backlog-coordinator.ts.html +1 -1
- package/coverage/src/task-reducer.ts.html +1 -1
- package/coverage/src/task-store.ts.html +5 -5
- package/coverage/src/tools/index.html +1 -1
- package/coverage/src/tools/loop-tools.ts.html +24 -24
- package/coverage/src/tools/monitor-tools.ts.html +5 -5
- package/coverage/src/tools/native-task-tools.ts.html +6 -6
- package/coverage/src/trigger-system.ts.html +11 -11
- package/coverage/src/ui/index.html +1 -1
- package/coverage/src/ui/widget.ts.html +24 -24
- package/dist/index.js +3 -0
- package/dist/monitor-manager.d.ts +9 -0
- package/dist/monitor-manager.js +33 -12
- package/dist/runtime/session-runtime.js +27 -0
- package/package.json +1 -1
- package/src/index.ts +3 -0
- package/src/monitor-manager.ts +35 -12
- package/src/runtime/session-runtime.ts +28 -0
- package/tmp/perf-cap-data/loops.json +0 -455
- package/tmp/perf-cap-data/tasks.json +0 -1
- package/tmp/perf-data/loops-0.json +0 -1
- package/tmp/perf-data/loops-10.json +0 -1
- package/tmp/perf-data/loops-100.json +0 -1
- package/tmp/perf-data/loops-1000.json +0 -1
- package/tmp/perf-data/loops-500.json +0 -1
- package/tmp/perf-data/tasks-0.json +0 -1
- package/tmp/perf-data/tasks-10.json +0 -1
- package/tmp/perf-data/tasks-100.json +0 -1
- package/tmp/perf-data/tasks-1000.json +0 -1
- package/tmp/perf-data/tasks-500.json +0 -1
- package/tmp/perf-data-session/loops-0.json +0 -4
- package/tmp/perf-data-session/loops-100.json +0 -1805
- package/tmp/perf-data-session/loops-1000.json +0 -18005
- package/tmp/perf-data-session/loops-25.json +0 -455
- package/tmp/perf-data-session/loops-500.json +0 -9005
- package/tmp/perf-data-session/tasks-0.json +0 -1
- package/tmp/perf-data-session/tasks-100.json +0 -1
- package/tmp/perf-data-session/tasks-1000.json +0 -1
- package/tmp/perf-data-session/tasks-25.json +0 -1
- package/tmp/perf-data-session/tasks-500.json +0 -1
- package/tmp/perf-session-init.js +0 -98
- package/tmp/perf-startup-audit.js +0 -80
|
@@ -142,7 +142,7 @@ export function reduceMonitorCompletionEvent(event: MonitorCompletionEvent): Mon
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at 2026-06-
|
|
145
|
+
at 2026-06-18T20:54:08.775Z
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">85.
|
|
26
|
+
<span class="strong">85.98% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>92/107</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">81.08% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>30/37</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">95.
|
|
40
|
+
<span class="strong">95.83% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>23/24</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">90.
|
|
47
|
+
<span class="strong">90.62% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>87/96</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -323,7 +323,30 @@
|
|
|
323
323
|
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
324
|
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
325
|
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a
|
|
326
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
+
<a name='L284'></a><a href='#L284'>284</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
327
350
|
<span class="cline-any cline-neutral"> </span>
|
|
328
351
|
<span class="cline-any cline-neutral"> </span>
|
|
329
352
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -334,60 +357,57 @@
|
|
|
334
357
|
<span class="cline-any cline-neutral"> </span>
|
|
335
358
|
<span class="cline-any cline-neutral"> </span>
|
|
336
359
|
<span class="cline-any cline-neutral"> </span>
|
|
337
|
-
<span class="cline-any cline-yes">
|
|
338
|
-
<span class="cline-any cline-yes">
|
|
360
|
+
<span class="cline-any cline-yes">79x</span>
|
|
361
|
+
<span class="cline-any cline-yes">79x</span>
|
|
339
362
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-yes">75x</span>
|
|
341
363
|
<span class="cline-any cline-neutral"> </span>
|
|
364
|
+
<span class="cline-any cline-yes">79x</span>
|
|
342
365
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">78x</span>
|
|
344
366
|
<span class="cline-any cline-neutral"> </span>
|
|
345
367
|
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-yes">56x</span>
|
|
347
368
|
<span class="cline-any cline-neutral"> </span>
|
|
348
369
|
<span class="cline-any cline-neutral"> </span>
|
|
349
370
|
<span class="cline-any cline-neutral"> </span>
|
|
350
371
|
<span class="cline-any cline-neutral"> </span>
|
|
351
372
|
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
353
|
-
<span class="cline-any cline-yes">53x</span>
|
|
354
|
-
<span class="cline-any cline-yes">53x</span>
|
|
355
|
-
<span class="cline-any cline-yes">55x</span>
|
|
356
|
-
<span class="cline-any cline-yes">55x</span>
|
|
357
|
-
<span class="cline-any cline-yes">6x</span>
|
|
358
|
-
<span class="cline-any cline-yes">6x</span>
|
|
373
|
+
<span class="cline-any cline-yes">62x</span>
|
|
359
374
|
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-yes">49x</span>
|
|
361
375
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-yes">53x</span>
|
|
363
376
|
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-yes">91x</span>
|
|
364
378
|
<span class="cline-any cline-neutral"> </span>
|
|
365
379
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
367
|
-
<span class="cline-any cline-yes">25x</span>
|
|
380
|
+
<span class="cline-any cline-yes">67x</span>
|
|
368
381
|
<span class="cline-any cline-neutral"> </span>
|
|
369
382
|
<span class="cline-any cline-neutral"> </span>
|
|
370
383
|
<span class="cline-any cline-neutral"> </span>
|
|
371
384
|
<span class="cline-any cline-neutral"> </span>
|
|
372
385
|
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-yes">63x</span>
|
|
387
|
+
<span class="cline-any cline-yes">63x</span>
|
|
388
|
+
<span class="cline-any cline-yes">63x</span>
|
|
389
|
+
<span class="cline-any cline-yes">66x</span>
|
|
390
|
+
<span class="cline-any cline-yes">66x</span>
|
|
391
|
+
<span class="cline-any cline-yes">9x</span>
|
|
392
|
+
<span class="cline-any cline-yes">9x</span>
|
|
373
393
|
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-yes">57x</span>
|
|
374
395
|
<span class="cline-any cline-neutral"> </span>
|
|
375
396
|
<span class="cline-any cline-neutral"> </span>
|
|
376
397
|
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-yes">63x</span>
|
|
399
|
+
<span class="cline-any cline-yes">36x</span>
|
|
377
400
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-yes">
|
|
379
|
-
<span class="cline-any cline-yes">25x</span>
|
|
380
|
-
<span class="cline-any cline-yes">25x</span>
|
|
401
|
+
<span class="cline-any cline-yes">63x</span>
|
|
381
402
|
<span class="cline-any cline-neutral"> </span>
|
|
382
|
-
<span class="cline-any cline-yes">25x</span>
|
|
383
|
-
<span class="cline-any cline-yes">25x</span>
|
|
384
403
|
<span class="cline-any cline-neutral"> </span>
|
|
385
404
|
<span class="cline-any cline-neutral"> </span>
|
|
386
405
|
<span class="cline-any cline-neutral"> </span>
|
|
387
406
|
<span class="cline-any cline-neutral"> </span>
|
|
388
407
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-yes">25x</span>
|
|
390
408
|
<span class="cline-any cline-neutral"> </span>
|
|
409
|
+
<span class="cline-any cline-yes">27x</span>
|
|
410
|
+
<span class="cline-any cline-yes">9x</span>
|
|
391
411
|
<span class="cline-any cline-neutral"> </span>
|
|
392
412
|
<span class="cline-any cline-neutral"> </span>
|
|
393
413
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -395,19 +415,15 @@
|
|
|
395
415
|
<span class="cline-any cline-neutral"> </span>
|
|
396
416
|
<span class="cline-any cline-neutral"> </span>
|
|
397
417
|
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-yes">25x</span>
|
|
399
|
-
<span class="cline-any cline-yes">12x</span>
|
|
400
|
-
<span class="cline-any cline-yes">12x</span>
|
|
401
|
-
<span class="cline-any cline-yes">24x</span>
|
|
402
|
-
<span class="cline-any cline-yes">12x</span>
|
|
403
418
|
<span class="cline-any cline-neutral"> </span>
|
|
404
419
|
<span class="cline-any cline-neutral"> </span>
|
|
405
420
|
<span class="cline-any cline-neutral"> </span>
|
|
406
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-yes">28x</span>
|
|
423
|
+
<span class="cline-any cline-yes">28x</span>
|
|
407
424
|
<span class="cline-any cline-neutral"> </span>
|
|
408
425
|
<span class="cline-any cline-neutral"> </span>
|
|
409
426
|
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-yes">12x</span>
|
|
411
427
|
<span class="cline-any cline-neutral"> </span>
|
|
412
428
|
<span class="cline-any cline-neutral"> </span>
|
|
413
429
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -415,19 +431,19 @@
|
|
|
415
431
|
<span class="cline-any cline-neutral"> </span>
|
|
416
432
|
<span class="cline-any cline-neutral"> </span>
|
|
417
433
|
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-yes">
|
|
419
|
-
<span class="cline-any cline-yes">
|
|
420
|
-
<span class="cline-any cline-yes">
|
|
421
|
-
<span class="cline-any cline-yes">6x</span>
|
|
422
|
-
<span class="cline-any cline-yes">3x</span>
|
|
434
|
+
<span class="cline-any cline-yes">28x</span>
|
|
435
|
+
<span class="cline-any cline-yes">28x</span>
|
|
436
|
+
<span class="cline-any cline-yes">28x</span>
|
|
423
437
|
<span class="cline-any cline-neutral"> </span>
|
|
438
|
+
<span class="cline-any cline-yes">28x</span>
|
|
439
|
+
<span class="cline-any cline-yes">28x</span>
|
|
424
440
|
<span class="cline-any cline-neutral"> </span>
|
|
425
441
|
<span class="cline-any cline-neutral"> </span>
|
|
426
442
|
<span class="cline-any cline-neutral"> </span>
|
|
427
443
|
<span class="cline-any cline-neutral"> </span>
|
|
428
444
|
<span class="cline-any cline-neutral"> </span>
|
|
445
|
+
<span class="cline-any cline-yes">28x</span>
|
|
429
446
|
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-yes">3x</span>
|
|
431
447
|
<span class="cline-any cline-neutral"> </span>
|
|
432
448
|
<span class="cline-any cline-neutral"> </span>
|
|
433
449
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -435,8 +451,11 @@
|
|
|
435
451
|
<span class="cline-any cline-neutral"> </span>
|
|
436
452
|
<span class="cline-any cline-neutral"> </span>
|
|
437
453
|
<span class="cline-any cline-neutral"> </span>
|
|
438
|
-
<span class="cline-any cline-yes">
|
|
439
|
-
<span class="cline-any cline-yes">
|
|
454
|
+
<span class="cline-any cline-yes">28x</span>
|
|
455
|
+
<span class="cline-any cline-yes">14x</span>
|
|
456
|
+
<span class="cline-any cline-yes">14x</span>
|
|
457
|
+
<span class="cline-any cline-yes">30x</span>
|
|
458
|
+
<span class="cline-any cline-yes">16x</span>
|
|
440
459
|
<span class="cline-any cline-neutral"> </span>
|
|
441
460
|
<span class="cline-any cline-neutral"> </span>
|
|
442
461
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -444,40 +463,66 @@
|
|
|
444
463
|
<span class="cline-any cline-neutral"> </span>
|
|
445
464
|
<span class="cline-any cline-neutral"> </span>
|
|
446
465
|
<span class="cline-any cline-neutral"> </span>
|
|
466
|
+
<span class="cline-any cline-yes">16x</span>
|
|
447
467
|
<span class="cline-any cline-neutral"> </span>
|
|
448
468
|
<span class="cline-any cline-neutral"> </span>
|
|
449
469
|
<span class="cline-any cline-neutral"> </span>
|
|
450
|
-
<span class="cline-any cline-yes">13x</span>
|
|
451
|
-
<span class="cline-any cline-yes">13x</span>
|
|
452
470
|
<span class="cline-any cline-neutral"> </span>
|
|
453
471
|
<span class="cline-any cline-neutral"> </span>
|
|
454
472
|
<span class="cline-any cline-neutral"> </span>
|
|
455
473
|
<span class="cline-any cline-neutral"> </span>
|
|
456
|
-
<span class="cline-any cline-yes">
|
|
457
|
-
<span class="cline-any cline-yes">
|
|
458
|
-
<span class="cline-any cline-yes">
|
|
459
|
-
<span class="cline-any cline-yes">
|
|
474
|
+
<span class="cline-any cline-yes">28x</span>
|
|
475
|
+
<span class="cline-any cline-yes">3x</span>
|
|
476
|
+
<span class="cline-any cline-yes">3x</span>
|
|
477
|
+
<span class="cline-any cline-yes">6x</span>
|
|
478
|
+
<span class="cline-any cline-yes">3x</span>
|
|
460
479
|
<span class="cline-any cline-neutral"> </span>
|
|
461
480
|
<span class="cline-any cline-neutral"> </span>
|
|
462
|
-
<span class="cline-any cline-yes">13x</span>
|
|
463
|
-
<span class="cline-any cline-yes">6x</span>
|
|
464
481
|
<span class="cline-any cline-neutral"> </span>
|
|
465
482
|
<span class="cline-any cline-neutral"> </span>
|
|
466
483
|
<span class="cline-any cline-neutral"> </span>
|
|
467
484
|
<span class="cline-any cline-neutral"> </span>
|
|
468
485
|
<span class="cline-any cline-neutral"> </span>
|
|
486
|
+
<span class="cline-any cline-yes">3x</span>
|
|
469
487
|
<span class="cline-any cline-neutral"> </span>
|
|
470
488
|
<span class="cline-any cline-neutral"> </span>
|
|
471
489
|
<span class="cline-any cline-neutral"> </span>
|
|
472
490
|
<span class="cline-any cline-neutral"> </span>
|
|
473
491
|
<span class="cline-any cline-neutral"> </span>
|
|
474
|
-
<span class="cline-any cline-yes">25x</span>
|
|
475
|
-
<span class="cline-any cline-yes">24x</span>
|
|
476
|
-
<span class="cline-any cline-yes">13x</span>
|
|
477
492
|
<span class="cline-any cline-neutral"> </span>
|
|
478
493
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
+
<span class="cline-any cline-yes">28x</span>
|
|
495
|
+
<span class="cline-any cline-yes">14x</span>
|
|
479
496
|
<span class="cline-any cline-neutral"> </span>
|
|
480
|
-
<span class="cline-any cline-
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
506
|
+
<span class="cline-any cline-yes">14x</span>
|
|
507
|
+
<span class="cline-any cline-yes">14x</span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-neutral"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-yes">14x</span>
|
|
513
|
+
<span class="cline-any cline-yes">14x</span>
|
|
514
|
+
<span class="cline-any cline-yes">14x</span>
|
|
515
|
+
<span class="cline-any cline-yes">14x</span>
|
|
516
|
+
<span class="cline-any cline-yes">14x</span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-yes">28x</span>
|
|
520
|
+
<span class="cline-any cline-yes">27x</span>
|
|
521
|
+
<span class="cline-any cline-yes">14x</span>
|
|
522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-yes">28x</span>
|
|
481
526
|
<span class="cline-any cline-no"> </span>
|
|
482
527
|
<span class="cline-any cline-no"> </span>
|
|
483
528
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -501,34 +546,34 @@
|
|
|
501
546
|
<span class="cline-any cline-neutral"> </span>
|
|
502
547
|
<span class="cline-any cline-neutral"> </span>
|
|
503
548
|
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-yes">28x</span>
|
|
504
550
|
<span class="cline-any cline-yes">25x</span>
|
|
505
|
-
<span class="cline-any cline-yes">
|
|
506
|
-
<span class="cline-any cline-yes">
|
|
507
|
-
<span class="cline-any cline-yes">1x</span>
|
|
551
|
+
<span class="cline-any cline-yes">2x</span>
|
|
552
|
+
<span class="cline-any cline-yes">2x</span>
|
|
508
553
|
<span class="cline-any cline-neutral"> </span>
|
|
509
554
|
<span class="cline-any cline-neutral"> </span>
|
|
510
555
|
<span class="cline-any cline-neutral"> </span>
|
|
511
556
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">
|
|
513
|
-
<span class="cline-any cline-yes">
|
|
557
|
+
<span class="cline-any cline-yes">28x</span>
|
|
558
|
+
<span class="cline-any cline-yes">28x</span>
|
|
514
559
|
<span class="cline-any cline-neutral"> </span>
|
|
515
560
|
<span class="cline-any cline-neutral"> </span>
|
|
516
561
|
<span class="cline-any cline-neutral"> </span>
|
|
517
|
-
<span class="cline-any cline-yes">
|
|
518
|
-
<span class="cline-any cline-yes">
|
|
562
|
+
<span class="cline-any cline-yes">29x</span>
|
|
563
|
+
<span class="cline-any cline-yes">29x</span>
|
|
519
564
|
<span class="cline-any cline-neutral"> </span>
|
|
520
565
|
<span class="cline-any cline-neutral"> </span>
|
|
521
566
|
<span class="cline-any cline-neutral"> </span>
|
|
522
|
-
<span class="cline-any cline-yes">
|
|
523
|
-
<span class="cline-any cline-yes">
|
|
567
|
+
<span class="cline-any cline-yes">191x</span>
|
|
568
|
+
<span class="cline-any cline-yes">26x</span>
|
|
524
569
|
<span class="cline-any cline-yes">2x</span>
|
|
525
570
|
<span class="cline-any cline-neutral"> </span>
|
|
526
571
|
<span class="cline-any cline-neutral"> </span>
|
|
527
572
|
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-yes">
|
|
529
|
-
<span class="cline-any cline-yes">
|
|
573
|
+
<span class="cline-any cline-yes">16x</span>
|
|
574
|
+
<span class="cline-any cline-yes">16x</span>
|
|
530
575
|
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-yes">
|
|
576
|
+
<span class="cline-any cline-yes">13x</span>
|
|
532
577
|
<span class="cline-any cline-neutral"> </span>
|
|
533
578
|
<span class="cline-any cline-neutral"> </span>
|
|
534
579
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -539,24 +584,25 @@
|
|
|
539
584
|
<span class="cline-any cline-neutral"> </span>
|
|
540
585
|
<span class="cline-any cline-neutral"> </span>
|
|
541
586
|
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-yes">
|
|
587
|
+
<span class="cline-any cline-yes">13x</span>
|
|
588
|
+
<span class="cline-any cline-yes">13x</span>
|
|
543
589
|
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">
|
|
545
|
-
<span class="cline-any cline-yes">
|
|
590
|
+
<span class="cline-any cline-yes">13x</span>
|
|
591
|
+
<span class="cline-any cline-yes">13x</span>
|
|
546
592
|
<span class="cline-any cline-yes">1x</span>
|
|
547
593
|
<span class="cline-any cline-yes">1x</span>
|
|
548
594
|
<span class="cline-any cline-neutral"> </span>
|
|
549
595
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">
|
|
551
|
-
<span class="cline-any cline-yes">
|
|
552
|
-
<span class="cline-any cline-yes">
|
|
596
|
+
<span class="cline-any cline-yes">13x</span>
|
|
597
|
+
<span class="cline-any cline-yes">13x</span>
|
|
598
|
+
<span class="cline-any cline-yes">13x</span>
|
|
553
599
|
<span class="cline-any cline-neutral"> </span>
|
|
554
600
|
<span class="cline-any cline-neutral"> </span>
|
|
555
601
|
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">
|
|
557
|
-
<span class="cline-any cline-yes">
|
|
558
|
-
<span class="cline-any cline-yes">
|
|
559
|
-
<span class="cline-any cline-yes">
|
|
602
|
+
<span class="cline-any cline-yes">13x</span>
|
|
603
|
+
<span class="cline-any cline-yes">13x</span>
|
|
604
|
+
<span class="cline-any cline-yes">13x</span>
|
|
605
|
+
<span class="cline-any cline-yes">13x</span>
|
|
560
606
|
<span class="cline-any cline-neutral"> </span>
|
|
561
607
|
<span class="cline-any cline-neutral"> </span>
|
|
562
608
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -596,8 +642,19 @@ import type { MonitorEntry, MonitorProcess } from "./types.js";
|
|
|
596
642
|
export class MonitorManager {
|
|
597
643
|
private processes = new Map<string, MonitorProcess>();
|
|
598
644
|
private nextId = 1;
|
|
645
|
+
private onChange: (() => void) | undefined;
|
|
599
646
|
|
|
600
647
|
constructor(private pi: ExtensionAPI) {}
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* Register a callback fired when a monitor's status changes or it is pruned
|
|
651
|
+
* (e.g. autonomous completion/error/stop/prune with no tool call). Used to
|
|
652
|
+
* repaint the status widget, which otherwise only refreshes on turn
|
|
653
|
+
* boundaries and explicit tool actions. Not fired for output lines.
|
|
654
|
+
*/
|
|
655
|
+
setOnChange(cb: () => void): void {
|
|
656
|
+
this.onChange = cb;
|
|
657
|
+
}
|
|
601
658
|
|
|
602
659
|
private toReducerState(): MonitorReducerState {
|
|
603
660
|
return {
|
|
@@ -619,8 +676,30 @@ export class MonitorManager {
|
|
|
619
676
|
}
|
|
620
677
|
process.entry = updated;
|
|
621
678
|
}
|
|
679
|
+
// Repaint on status/set transitions, but not on the frequent output-line
|
|
680
|
+
// events (which never change the visible count).
|
|
681
|
+
if (event.type !== "MONITOR_OUTPUT" && event.type !== "MONITOR_ONDONE_REGISTERED") {
|
|
682
|
+
this.onChange?.();
|
|
683
|
+
}
|
|
622
684
|
return result;
|
|
623
685
|
}
|
|
686
|
+
|
|
687
|
+
// Remove a finished monitor (completed/errored/stopped) after a brief delay so
|
|
688
|
+
// tool consumers can still read its final state via MonitorList. Shared by
|
|
689
|
+
// finish() and stop() so every terminal status is pruned consistently — a
|
|
690
|
+
// stopped monitor that is never pruned lingers in list() and the widget count.
|
|
691
|
+
private schedulePrune(id: string): void {
|
|
692
|
+
setTimeout(() => {
|
|
693
|
+
this.applyReducerEvent({
|
|
694
|
+
type: "MONITOR_PRUNED",
|
|
695
|
+
at: Date.now(),
|
|
696
|
+
source: "system",
|
|
697
|
+
entityType: "monitor",
|
|
698
|
+
entityId: id,
|
|
699
|
+
payload: { id },
|
|
700
|
+
});
|
|
701
|
+
}, 30000);
|
|
702
|
+
}
|
|
624
703
|
|
|
625
704
|
create(command: string, description?: string, timeout = 300000): MonitorEntry {
|
|
626
705
|
const now = Date.now();
|
|
@@ -717,18 +796,7 @@ export class MonitorManager {
|
|
|
717
796
|
bp.completionCallbacks = [];
|
|
718
797
|
for (const resolve of bp.waiters) <span class="cstat-no" title="statement not covered" >resolve();</span>
|
|
719
798
|
bp.waiters = [];
|
|
720
|
-
|
|
721
|
-
// consumers have time to read the final state via MonitorList.
|
|
722
|
-
setTimeout(() => {
|
|
723
|
-
this.applyReducerEvent({
|
|
724
|
-
type: "MONITOR_PRUNED",
|
|
725
|
-
at: Date.now(),
|
|
726
|
-
source: "system",
|
|
727
|
-
entityType: "monitor",
|
|
728
|
-
entityId: id,
|
|
729
|
-
payload: { id },
|
|
730
|
-
});
|
|
731
|
-
}, 30000);
|
|
799
|
+
this.schedulePrune(id);
|
|
732
800
|
};
|
|
733
801
|
|
|
734
802
|
child.on("close", (code) => {
|
|
@@ -799,6 +867,7 @@ export class MonitorManager {
|
|
|
799
867
|
reason: "manual",
|
|
800
868
|
},
|
|
801
869
|
});
|
|
870
|
+
this.schedulePrune(id);
|
|
802
871
|
bp.proc.kill("SIGTERM");
|
|
803
872
|
|
|
804
873
|
await new Promise<void>((resolve) => {
|
|
@@ -850,7 +919,7 @@ export class MonitorManager {
|
|
|
850
919
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
851
920
|
Code coverage generated by
|
|
852
921
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
853
|
-
at 2026-06-
|
|
922
|
+
at 2026-06-18T20:54:08.775Z
|
|
854
923
|
</div>
|
|
855
924
|
<script src="../prettify.js"></script>
|
|
856
925
|
<script>
|
|
@@ -320,17 +320,17 @@
|
|
|
320
320
|
<span class="cline-any cline-neutral"> </span>
|
|
321
321
|
<span class="cline-any cline-neutral"> </span>
|
|
322
322
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">
|
|
323
|
+
<span class="cline-any cline-yes">99x</span>
|
|
324
324
|
<span class="cline-any cline-neutral"> </span>
|
|
325
325
|
<span class="cline-any cline-neutral"> </span>
|
|
326
326
|
<span class="cline-any cline-neutral"> </span>
|
|
327
327
|
<span class="cline-any cline-neutral"> </span>
|
|
328
328
|
<span class="cline-any cline-neutral"> </span>
|
|
329
329
|
<span class="cline-any cline-neutral"> </span>
|
|
330
|
-
<span class="cline-any cline-yes">
|
|
331
|
-
<span class="cline-any cline-yes">
|
|
332
|
-
<span class="cline-any cline-yes">
|
|
333
|
-
<span class="cline-any cline-yes">
|
|
330
|
+
<span class="cline-any cline-yes">100x</span>
|
|
331
|
+
<span class="cline-any cline-yes">29x</span>
|
|
332
|
+
<span class="cline-any cline-yes">29x</span>
|
|
333
|
+
<span class="cline-any cline-yes">29x</span>
|
|
334
334
|
<span class="cline-any cline-neutral"> </span>
|
|
335
335
|
<span class="cline-any cline-neutral"> </span>
|
|
336
336
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -340,57 +340,57 @@
|
|
|
340
340
|
<span class="cline-any cline-neutral"> </span>
|
|
341
341
|
<span class="cline-any cline-neutral"> </span>
|
|
342
342
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
343
|
+
<span class="cline-any cline-yes">29x</span>
|
|
344
|
+
<span class="cline-any cline-yes">29x</span>
|
|
345
345
|
<span class="cline-any cline-neutral"> </span>
|
|
346
346
|
<span class="cline-any cline-neutral"> </span>
|
|
347
347
|
<span class="cline-any cline-neutral"> </span>
|
|
348
348
|
<span class="cline-any cline-neutral"> </span>
|
|
349
349
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-yes">
|
|
351
|
-
<span class="cline-any cline-yes">
|
|
352
|
-
<span class="cline-any cline-yes">
|
|
350
|
+
<span class="cline-any cline-yes">71x</span>
|
|
351
|
+
<span class="cline-any cline-yes">71x</span>
|
|
352
|
+
<span class="cline-any cline-yes">71x</span>
|
|
353
353
|
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-yes">
|
|
355
|
-
<span class="cline-any cline-yes">
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
354
|
+
<span class="cline-any cline-yes">70x</span>
|
|
355
|
+
<span class="cline-any cline-yes">10x</span>
|
|
356
|
+
<span class="cline-any cline-yes">10x</span>
|
|
357
|
+
<span class="cline-any cline-yes">10x</span>
|
|
358
358
|
<span class="cline-any cline-neutral"> </span>
|
|
359
359
|
<span class="cline-any cline-neutral"> </span>
|
|
360
360
|
<span class="cline-any cline-neutral"> </span>
|
|
361
361
|
<span class="cline-any cline-neutral"> </span>
|
|
362
362
|
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
364
|
-
<span class="cline-any cline-yes">
|
|
363
|
+
<span class="cline-any cline-yes">60x</span>
|
|
364
|
+
<span class="cline-any cline-yes">60x</span>
|
|
365
365
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
367
|
-
<span class="cline-any cline-yes">
|
|
368
|
-
<span class="cline-any cline-yes">
|
|
366
|
+
<span class="cline-any cline-yes">60x</span>
|
|
367
|
+
<span class="cline-any cline-yes">21x</span>
|
|
368
|
+
<span class="cline-any cline-yes">21x</span>
|
|
369
369
|
<span class="cline-any cline-neutral"> </span>
|
|
370
370
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-yes">
|
|
372
|
-
<span class="cline-any cline-yes">
|
|
373
|
-
<span class="cline-any cline-yes">
|
|
374
|
-
<span class="cline-any cline-yes">
|
|
371
|
+
<span class="cline-any cline-yes">60x</span>
|
|
372
|
+
<span class="cline-any cline-yes">13x</span>
|
|
373
|
+
<span class="cline-any cline-yes">13x</span>
|
|
374
|
+
<span class="cline-any cline-yes">13x</span>
|
|
375
375
|
<span class="cline-any cline-neutral"> </span>
|
|
376
376
|
<span class="cline-any cline-neutral"> </span>
|
|
377
|
-
<span class="cline-any cline-yes">
|
|
377
|
+
<span class="cline-any cline-yes">60x</span>
|
|
378
378
|
<span class="cline-any cline-yes">3x</span>
|
|
379
379
|
<span class="cline-any cline-yes">3x</span>
|
|
380
380
|
<span class="cline-any cline-yes">3x</span>
|
|
381
381
|
<span class="cline-any cline-neutral"> </span>
|
|
382
382
|
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-yes">
|
|
384
|
-
<span class="cline-any cline-yes">
|
|
385
|
-
<span class="cline-any cline-yes">
|
|
383
|
+
<span class="cline-any cline-yes">60x</span>
|
|
384
|
+
<span class="cline-any cline-yes">14x</span>
|
|
385
|
+
<span class="cline-any cline-yes">14x</span>
|
|
386
386
|
<span class="cline-any cline-neutral"> </span>
|
|
387
387
|
<span class="cline-any cline-neutral"> </span>
|
|
388
|
-
<span class="cline-any cline-yes">
|
|
388
|
+
<span class="cline-any cline-yes">60x</span>
|
|
389
389
|
<span class="cline-any cline-yes">9x</span>
|
|
390
390
|
<span class="cline-any cline-neutral"> </span>
|
|
391
391
|
<span class="cline-any cline-neutral"> </span>
|
|
392
|
-
<span class="cline-any cline-yes">
|
|
393
|
-
<span class="cline-any cline-yes">
|
|
392
|
+
<span class="cline-any cline-yes">60x</span>
|
|
393
|
+
<span class="cline-any cline-yes">60x</span>
|
|
394
394
|
<span class="cline-any cline-neutral"> </span>
|
|
395
395
|
<span class="cline-any cline-neutral"> </span>
|
|
396
396
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -568,7 +568,7 @@ export function reduceMonitorState(state: MonitorReducerState, event: MonitorRed
|
|
|
568
568
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
569
569
|
Code coverage generated by
|
|
570
570
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
571
|
-
at 2026-06-
|
|
571
|
+
at 2026-06-18T20:54:08.775Z
|
|
572
572
|
</div>
|
|
573
573
|
<script src="../prettify.js"></script>
|
|
574
574
|
<script>
|