@trevonistrevon/pi-loop 0.5.6 → 0.5.8

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 (53) hide show
  1. package/coverage/coverage-final.json +27 -27
  2. package/coverage/index.html +39 -39
  3. package/coverage/src/commands/index.html +1 -1
  4. package/coverage/src/commands/loop-command.ts.html +3 -3
  5. package/coverage/src/commands/tasks-command.ts.html +3 -3
  6. package/coverage/src/coordinator.ts.html +20 -20
  7. package/coverage/src/goal-coordinator.ts.html +1 -1
  8. package/coverage/src/goal-reducer.ts.html +1 -1
  9. package/coverage/src/goal-store.ts.html +1 -1
  10. package/coverage/src/goal-verifier.ts.html +1 -1
  11. package/coverage/src/index.html +33 -33
  12. package/coverage/src/index.ts.html +71 -71
  13. package/coverage/src/loop-parse.ts.html +62 -62
  14. package/coverage/src/loop-reducer.ts.html +28 -28
  15. package/coverage/src/monitor-completion-coordinator.ts.html +3 -3
  16. package/coverage/src/monitor-manager.ts.html +76 -70
  17. package/coverage/src/monitor-reducer.ts.html +28 -28
  18. package/coverage/src/notification-reducer.ts.html +15 -15
  19. package/coverage/src/reducer-backed-store.ts.html +54 -54
  20. package/coverage/src/runtime/index.html +53 -53
  21. package/coverage/src/runtime/monitor-ondone-runtime.ts.html +39 -39
  22. package/coverage/src/runtime/notification-runtime.ts.html +42 -42
  23. package/coverage/src/runtime/scope.ts.html +34 -34
  24. package/coverage/src/runtime/session-runtime.ts.html +141 -51
  25. package/coverage/src/runtime/task-backlog-runtime.ts.html +48 -48
  26. package/coverage/src/runtime/task-rpc.ts.html +81 -81
  27. package/coverage/src/scheduler.ts.html +41 -41
  28. package/coverage/src/store.ts.html +26 -26
  29. package/coverage/src/task-backlog-coordinator.ts.html +8 -8
  30. package/coverage/src/task-reducer.ts.html +39 -39
  31. package/coverage/src/task-store.ts.html +55 -55
  32. package/coverage/src/tools/index.html +43 -43
  33. package/coverage/src/tools/loop-tools.ts.html +93 -93
  34. package/coverage/src/tools/monitor-tools.ts.html +53 -53
  35. package/coverage/src/tools/native-task-tools.ts.html +66 -66
  36. package/coverage/src/trigger-system.ts.html +11 -11
  37. package/coverage/src/ui/index.html +1 -1
  38. package/coverage/src/ui/widget.ts.html +22 -22
  39. package/dist/commands/tasks-command.js +12 -9
  40. package/dist/monitor-manager.js +3 -1
  41. package/dist/runtime/session-runtime.js +29 -0
  42. package/dist/runtime/task-events.d.ts +15 -0
  43. package/dist/runtime/task-events.js +13 -0
  44. package/dist/runtime/task-rpc.js +2 -0
  45. package/dist/tools/native-task-tools.js +20 -9
  46. package/package.json +1 -1
  47. package/src/commands/tasks-command.ts +9 -9
  48. package/src/monitor-manager.ts +3 -1
  49. package/src/runtime/session-runtime.ts +30 -0
  50. package/src/runtime/task-events.ts +41 -0
  51. package/src/runtime/task-rpc.ts +2 -0
  52. package/src/tools/native-task-tools.ts +16 -9
  53. package/vitest.config.ts +7 -7
@@ -223,7 +223,7 @@
223
223
  <a name='L158'></a><a href='#L158'>158</a>
224
224
  <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
225
225
  <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-yes">8x</span>
226
+ <span class="cline-any cline-yes">10x</span>
227
227
  <span class="cline-any cline-neutral">&nbsp;</span>
228
228
  <span class="cline-any cline-neutral">&nbsp;</span>
229
229
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -232,7 +232,7 @@
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
233
  <span class="cline-any cline-neutral">&nbsp;</span>
234
234
  <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-yes">28x</span>
235
+ <span class="cline-any cline-yes">30x</span>
236
236
  <span class="cline-any cline-neutral">&nbsp;</span>
237
237
  <span class="cline-any cline-neutral">&nbsp;</span>
238
238
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -305,17 +305,17 @@
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">181x</span>
308
+ <span class="cline-any cline-yes">199x</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
311
  <span class="cline-any cline-neutral">&nbsp;</span>
312
312
  <span class="cline-any cline-neutral">&nbsp;</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-yes">182x</span>
316
- <span class="cline-any cline-yes">117x</span>
317
- <span class="cline-any cline-yes">117x</span>
318
- <span class="cline-any cline-yes">117x</span>
315
+ <span class="cline-any cline-yes">200x</span>
316
+ <span class="cline-any cline-yes">130x</span>
317
+ <span class="cline-any cline-yes">130x</span>
318
+ <span class="cline-any cline-yes">130x</span>
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -330,51 +330,51 @@
330
330
  <span class="cline-any cline-neutral">&nbsp;</span>
331
331
  <span class="cline-any cline-neutral">&nbsp;</span>
332
332
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">117x</span>
334
- <span class="cline-any cline-yes">117x</span>
333
+ <span class="cline-any cline-yes">130x</span>
334
+ <span class="cline-any cline-yes">130x</span>
335
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
337
337
  <span class="cline-any cline-neutral">&nbsp;</span>
338
338
  <span class="cline-any cline-neutral">&nbsp;</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-yes">65x</span>
341
- <span class="cline-any cline-yes">65x</span>
342
- <span class="cline-any cline-yes">65x</span>
340
+ <span class="cline-any cline-yes">70x</span>
341
+ <span class="cline-any cline-yes">70x</span>
342
+ <span class="cline-any cline-yes">70x</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">64x</span>
344
+ <span class="cline-any cline-yes">69x</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-yes">31x</span>
351
- <span class="cline-any cline-yes">31x</span>
352
- <span class="cline-any cline-yes">31x</span>
350
+ <span class="cline-any cline-yes">33x</span>
351
+ <span class="cline-any cline-yes">33x</span>
352
+ <span class="cline-any cline-yes">33x</span>
353
353
  <span class="cline-any cline-neutral">&nbsp;</span>
354
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
356
  <span class="cline-any cline-neutral">&nbsp;</span>
357
357
  <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-yes">33x</span>
359
- <span class="cline-any cline-yes">33x</span>
358
+ <span class="cline-any cline-yes">36x</span>
359
+ <span class="cline-any cline-yes">36x</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">33x</span>
362
- <span class="cline-any cline-yes">6x</span>
363
- <span class="cline-any cline-yes">6x</span>
361
+ <span class="cline-any cline-yes">36x</span>
362
+ <span class="cline-any cline-yes">7x</span>
363
+ <span class="cline-any cline-yes">7x</span>
364
364
  <span class="cline-any cline-neutral">&nbsp;</span>
365
365
  <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-yes">33x</span>
366
+ <span class="cline-any cline-yes">36x</span>
367
367
  <span class="cline-any cline-yes">2x</span>
368
368
  <span class="cline-any cline-yes">2x</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
370
  <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-yes">33x</span>
372
- <span class="cline-any cline-yes">25x</span>
373
- <span class="cline-any cline-yes">25x</span>
371
+ <span class="cline-any cline-yes">36x</span>
372
+ <span class="cline-any cline-yes">27x</span>
373
+ <span class="cline-any cline-yes">27x</span>
374
374
  <span class="cline-any cline-neutral">&nbsp;</span>
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-yes">33x</span>
377
- <span class="cline-any cline-yes">33x</span>
376
+ <span class="cline-any cline-yes">36x</span>
377
+ <span class="cline-any cline-yes">36x</span>
378
378
  <span class="cline-any cline-neutral">&nbsp;</span>
379
379
  <span class="cline-any cline-neutral">&nbsp;</span>
380
380
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -544,7 +544,7 @@ export function reduceLoopState(state: LoopReducerState, event: LoopReducerEvent
544
544
  <div class='footer quiet pad2 space-top1 center small'>
545
545
  Code coverage generated by
546
546
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2026-06-18T14:16:07.591Z
547
+ at 2026-06-19T00:56:38.236Z
548
548
  </div>
549
549
  <script src="../prettify.js"></script>
550
550
  <script>
@@ -100,8 +100,8 @@
100
100
  <span class="cline-any cline-neutral">&nbsp;</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">8x</span>
104
- <span class="cline-any cline-yes">8x</span>
103
+ <span class="cline-any cline-yes">10x</span>
104
+ <span class="cline-any cline-yes">10x</span>
105
105
  <span class="cline-any cline-neutral">&nbsp;</span>
106
106
  <span class="cline-any cline-neutral">&nbsp;</span>
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -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-18T14:16:07.591Z
145
+ at 2026-06-19T00:56:38.236Z
146
146
  </div>
147
147
  <script src="../prettify.js"></script>
148
148
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.98% </span>
26
+ <span class="strong">86.11% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>92/107</span>
28
+ <span class='fraction'>93/108</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">90.62% </span>
47
+ <span class="strong">90.72% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>87/96</span>
49
+ <span class='fraction'>88/97</span>
50
50
  </div>
51
51
 
52
52
 
@@ -346,7 +346,9 @@
346
346
  <a name='L281'></a><a href='#L281'>281</a>
347
347
  <a name='L282'></a><a href='#L282'>282</a>
348
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">&nbsp;</span>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
350
352
  <span class="cline-any cline-neutral">&nbsp;</span>
351
353
  <span class="cline-any cline-neutral">&nbsp;</span>
352
354
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -357,11 +359,11 @@
357
359
  <span class="cline-any cline-neutral">&nbsp;</span>
358
360
  <span class="cline-any cline-neutral">&nbsp;</span>
359
361
  <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-yes">78x</span>
361
- <span class="cline-any cline-yes">78x</span>
362
+ <span class="cline-any cline-yes">81x</span>
363
+ <span class="cline-any cline-yes">81x</span>
362
364
  <span class="cline-any cline-neutral">&nbsp;</span>
363
365
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">78x</span>
366
+ <span class="cline-any cline-yes">81x</span>
365
367
  <span class="cline-any cline-neutral">&nbsp;</span>
366
368
  <span class="cline-any cline-neutral">&nbsp;</span>
367
369
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -370,35 +372,35 @@
370
372
  <span class="cline-any cline-neutral">&nbsp;</span>
371
373
  <span class="cline-any cline-neutral">&nbsp;</span>
372
374
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">61x</span>
375
+ <span class="cline-any cline-yes">62x</span>
374
376
  <span class="cline-any cline-neutral">&nbsp;</span>
375
377
  <span class="cline-any cline-neutral">&nbsp;</span>
376
378
  <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-yes">91x</span>
379
+ <span class="cline-any cline-yes">96x</span>
378
380
  <span class="cline-any cline-neutral">&nbsp;</span>
379
381
  <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-yes">67x</span>
382
+ <span class="cline-any cline-yes">70x</span>
381
383
  <span class="cline-any cline-neutral">&nbsp;</span>
382
384
  <span class="cline-any cline-neutral">&nbsp;</span>
383
385
  <span class="cline-any cline-neutral">&nbsp;</span>
384
386
  <span class="cline-any cline-neutral">&nbsp;</span>
385
387
  <span class="cline-any cline-neutral">&nbsp;</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
388
  <span class="cline-any cline-yes">66x</span>
390
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">69x</span>
392
+ <span class="cline-any cline-yes">69x</span>
391
393
  <span class="cline-any cline-yes">9x</span>
392
394
  <span class="cline-any cline-yes">9x</span>
393
395
  <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-yes">57x</span>
396
+ <span class="cline-any cline-yes">60x</span>
395
397
  <span class="cline-any cline-neutral">&nbsp;</span>
396
398
  <span class="cline-any cline-neutral">&nbsp;</span>
397
399
  <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-yes">63x</span>
399
- <span class="cline-any cline-yes">36x</span>
400
+ <span class="cline-any cline-yes">66x</span>
401
+ <span class="cline-any cline-yes">38x</span>
400
402
  <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-yes">63x</span>
403
+ <span class="cline-any cline-yes">66x</span>
402
404
  <span class="cline-any cline-neutral">&nbsp;</span>
403
405
  <span class="cline-any cline-neutral">&nbsp;</span>
404
406
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -406,7 +408,8 @@
406
408
  <span class="cline-any cline-neutral">&nbsp;</span>
407
409
  <span class="cline-any cline-neutral">&nbsp;</span>
408
410
  <span class="cline-any cline-neutral">&nbsp;</span>
409
- <span class="cline-any cline-yes">27x</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-yes">29x</span>
410
413
  <span class="cline-any cline-yes">9x</span>
411
414
  <span class="cline-any cline-neutral">&nbsp;</span>
412
415
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -416,11 +419,12 @@
416
419
  <span class="cline-any cline-neutral">&nbsp;</span>
417
420
  <span class="cline-any cline-neutral">&nbsp;</span>
418
421
  <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-yes">29x</span>
419
423
  <span class="cline-any cline-neutral">&nbsp;</span>
420
424
  <span class="cline-any cline-neutral">&nbsp;</span>
421
425
  <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-yes">28x</span>
423
- <span class="cline-any cline-yes">28x</span>
426
+ <span class="cline-any cline-yes">30x</span>
427
+ <span class="cline-any cline-yes">30x</span>
424
428
  <span class="cline-any cline-neutral">&nbsp;</span>
425
429
  <span class="cline-any cline-neutral">&nbsp;</span>
426
430
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -431,18 +435,18 @@
431
435
  <span class="cline-any cline-neutral">&nbsp;</span>
432
436
  <span class="cline-any cline-neutral">&nbsp;</span>
433
437
  <span class="cline-any cline-neutral">&nbsp;</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>
438
+ <span class="cline-any cline-yes">30x</span>
439
+ <span class="cline-any cline-yes">30x</span>
440
+ <span class="cline-any cline-yes">30x</span>
437
441
  <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-yes">28x</span>
439
- <span class="cline-any cline-yes">28x</span>
442
+ <span class="cline-any cline-yes">30x</span>
443
+ <span class="cline-any cline-yes">30x</span>
440
444
  <span class="cline-any cline-neutral">&nbsp;</span>
441
445
  <span class="cline-any cline-neutral">&nbsp;</span>
442
446
  <span class="cline-any cline-neutral">&nbsp;</span>
443
447
  <span class="cline-any cline-neutral">&nbsp;</span>
444
448
  <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-yes">28x</span>
449
+ <span class="cline-any cline-yes">30x</span>
446
450
  <span class="cline-any cline-neutral">&nbsp;</span>
447
451
  <span class="cline-any cline-neutral">&nbsp;</span>
448
452
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -451,11 +455,11 @@
451
455
  <span class="cline-any cline-neutral">&nbsp;</span>
452
456
  <span class="cline-any cline-neutral">&nbsp;</span>
453
457
  <span class="cline-any cline-neutral">&nbsp;</span>
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
458
  <span class="cline-any cline-yes">30x</span>
458
- <span class="cline-any cline-yes">16x</span>
459
+ <span class="cline-any cline-yes">15x</span>
460
+ <span class="cline-any cline-yes">15x</span>
461
+ <span class="cline-any cline-yes">32x</span>
462
+ <span class="cline-any cline-yes">17x</span>
459
463
  <span class="cline-any cline-neutral">&nbsp;</span>
460
464
  <span class="cline-any cline-neutral">&nbsp;</span>
461
465
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -463,7 +467,7 @@
463
467
  <span class="cline-any cline-neutral">&nbsp;</span>
464
468
  <span class="cline-any cline-neutral">&nbsp;</span>
465
469
  <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-yes">16x</span>
470
+ <span class="cline-any cline-yes">17x</span>
467
471
  <span class="cline-any cline-neutral">&nbsp;</span>
468
472
  <span class="cline-any cline-neutral">&nbsp;</span>
469
473
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -471,7 +475,7 @@
471
475
  <span class="cline-any cline-neutral">&nbsp;</span>
472
476
  <span class="cline-any cline-neutral">&nbsp;</span>
473
477
  <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-yes">28x</span>
478
+ <span class="cline-any cline-yes">30x</span>
475
479
  <span class="cline-any cline-yes">3x</span>
476
480
  <span class="cline-any cline-yes">3x</span>
477
481
  <span class="cline-any cline-yes">6x</span>
@@ -491,8 +495,8 @@
491
495
  <span class="cline-any cline-neutral">&nbsp;</span>
492
496
  <span class="cline-any cline-neutral">&nbsp;</span>
493
497
  <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-yes">28x</span>
495
- <span class="cline-any cline-yes">14x</span>
498
+ <span class="cline-any cline-yes">30x</span>
499
+ <span class="cline-any cline-yes">15x</span>
496
500
  <span class="cline-any cline-neutral">&nbsp;</span>
497
501
  <span class="cline-any cline-neutral">&nbsp;</span>
498
502
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -503,26 +507,26 @@
503
507
  <span class="cline-any cline-neutral">&nbsp;</span>
504
508
  <span class="cline-any cline-neutral">&nbsp;</span>
505
509
  <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-yes">14x</span>
507
- <span class="cline-any cline-yes">14x</span>
510
+ <span class="cline-any cline-yes">15x</span>
511
+ <span class="cline-any cline-yes">15x</span>
508
512
  <span class="cline-any cline-neutral">&nbsp;</span>
509
513
  <span class="cline-any cline-neutral">&nbsp;</span>
510
514
  <span class="cline-any cline-neutral">&nbsp;</span>
511
515
  <span class="cline-any cline-neutral">&nbsp;</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>
516
+ <span class="cline-any cline-yes">15x</span>
517
+ <span class="cline-any cline-yes">15x</span>
518
+ <span class="cline-any cline-yes">15x</span>
519
+ <span class="cline-any cline-yes">15x</span>
520
+ <span class="cline-any cline-yes">15x</span>
517
521
  <span class="cline-any cline-neutral">&nbsp;</span>
518
522
  <span class="cline-any cline-neutral">&nbsp;</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>
523
+ <span class="cline-any cline-yes">30x</span>
524
+ <span class="cline-any cline-yes">29x</span>
525
+ <span class="cline-any cline-yes">15x</span>
522
526
  <span class="cline-any cline-neutral">&nbsp;</span>
523
527
  <span class="cline-any cline-neutral">&nbsp;</span>
524
528
  <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-yes">28x</span>
529
+ <span class="cline-any cline-yes">30x</span>
526
530
  <span class="cline-any cline-no">&nbsp;</span>
527
531
  <span class="cline-any cline-no">&nbsp;</span>
528
532
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -546,34 +550,34 @@
546
550
  <span class="cline-any cline-neutral">&nbsp;</span>
547
551
  <span class="cline-any cline-neutral">&nbsp;</span>
548
552
  <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-yes">28x</span>
550
- <span class="cline-any cline-yes">25x</span>
553
+ <span class="cline-any cline-yes">30x</span>
554
+ <span class="cline-any cline-yes">27x</span>
551
555
  <span class="cline-any cline-yes">2x</span>
552
556
  <span class="cline-any cline-yes">2x</span>
553
557
  <span class="cline-any cline-neutral">&nbsp;</span>
554
558
  <span class="cline-any cline-neutral">&nbsp;</span>
555
559
  <span class="cline-any cline-neutral">&nbsp;</span>
556
560
  <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-yes">28x</span>
558
- <span class="cline-any cline-yes">28x</span>
561
+ <span class="cline-any cline-yes">30x</span>
562
+ <span class="cline-any cline-yes">30x</span>
559
563
  <span class="cline-any cline-neutral">&nbsp;</span>
560
564
  <span class="cline-any cline-neutral">&nbsp;</span>
561
565
  <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-yes">29x</span>
563
- <span class="cline-any cline-yes">29x</span>
566
+ <span class="cline-any cline-yes">30x</span>
567
+ <span class="cline-any cline-yes">30x</span>
564
568
  <span class="cline-any cline-neutral">&nbsp;</span>
565
569
  <span class="cline-any cline-neutral">&nbsp;</span>
566
570
  <span class="cline-any cline-neutral">&nbsp;</span>
567
- <span class="cline-any cline-yes">188x</span>
568
- <span class="cline-any cline-yes">26x</span>
571
+ <span class="cline-any cline-yes">193x</span>
572
+ <span class="cline-any cline-yes">28x</span>
569
573
  <span class="cline-any cline-yes">2x</span>
570
574
  <span class="cline-any cline-neutral">&nbsp;</span>
571
575
  <span class="cline-any cline-neutral">&nbsp;</span>
572
576
  <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-yes">16x</span>
574
- <span class="cline-any cline-yes">16x</span>
577
+ <span class="cline-any cline-yes">17x</span>
578
+ <span class="cline-any cline-yes">17x</span>
575
579
  <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-yes">13x</span>
580
+ <span class="cline-any cline-yes">14x</span>
577
581
  <span class="cline-any cline-neutral">&nbsp;</span>
578
582
  <span class="cline-any cline-neutral">&nbsp;</span>
579
583
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -584,25 +588,25 @@
584
588
  <span class="cline-any cline-neutral">&nbsp;</span>
585
589
  <span class="cline-any cline-neutral">&nbsp;</span>
586
590
  <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-yes">13x</span>
588
- <span class="cline-any cline-yes">13x</span>
591
+ <span class="cline-any cline-yes">14x</span>
592
+ <span class="cline-any cline-yes">14x</span>
589
593
  <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-yes">13x</span>
591
- <span class="cline-any cline-yes">13x</span>
594
+ <span class="cline-any cline-yes">14x</span>
595
+ <span class="cline-any cline-yes">14x</span>
592
596
  <span class="cline-any cline-yes">1x</span>
593
597
  <span class="cline-any cline-yes">1x</span>
594
598
  <span class="cline-any cline-neutral">&nbsp;</span>
595
599
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
600
+ <span class="cline-any cline-yes">14x</span>
601
+ <span class="cline-any cline-yes">14x</span>
602
+ <span class="cline-any cline-yes">14x</span>
599
603
  <span class="cline-any cline-neutral">&nbsp;</span>
600
604
  <span class="cline-any cline-neutral">&nbsp;</span>
601
605
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
606
+ <span class="cline-any cline-yes">14x</span>
607
+ <span class="cline-any cline-yes">14x</span>
608
+ <span class="cline-any cline-yes">14x</span>
609
+ <span class="cline-any cline-yes">14x</span>
606
610
  <span class="cline-any cline-neutral">&nbsp;</span>
607
611
  <span class="cline-any cline-neutral">&nbsp;</span>
608
612
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -689,7 +693,8 @@ export class MonitorManager {
689
693
  // finish() and stop() so every terminal status is pruned consistently — a
690
694
  // stopped monitor that is never pruned lingers in list() and the widget count.
691
695
  private schedulePrune(id: string): void {
692
- setTimeout(() =&gt; {
696
+ // unref so a pending prune never keeps a one-shot (`pi -p`) process alive.
697
+ const timer = setTimeout(() =&gt; {
693
698
  this.applyReducerEvent({
694
699
  type: "MONITOR_PRUNED",
695
700
  at: Date.now(),
@@ -699,6 +704,7 @@ export class MonitorManager {
699
704
  payload: { id },
700
705
  });
701
706
  }, 30000);
707
+ timer.unref?.();
702
708
  }
703
709
  &nbsp;
704
710
  create(command: string, description?: string, timeout = 300000): MonitorEntry {
@@ -919,7 +925,7 @@ export class MonitorManager {
919
925
  <div class='footer quiet pad2 space-top1 center small'>
920
926
  Code coverage generated by
921
927
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
922
- at 2026-06-18T14:16:07.591Z
928
+ at 2026-06-19T00:56:38.236Z
923
929
  </div>
924
930
  <script src="../prettify.js"></script>
925
931
  <script>
@@ -320,17 +320,17 @@
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-yes">99x</span>
323
+ <span class="cline-any cline-yes">104x</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
326
  <span class="cline-any cline-neutral">&nbsp;</span>
327
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
329
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
330
+ <span class="cline-any cline-yes">105x</span>
331
+ <span class="cline-any cline-yes">31x</span>
332
+ <span class="cline-any cline-yes">31x</span>
333
+ <span class="cline-any cline-yes">31x</span>
334
334
  <span class="cline-any cline-neutral">&nbsp;</span>
335
335
  <span class="cline-any cline-neutral">&nbsp;</span>
336
336
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -340,18 +340,18 @@
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-yes">29x</span>
344
- <span class="cline-any cline-yes">29x</span>
343
+ <span class="cline-any cline-yes">31x</span>
344
+ <span class="cline-any cline-yes">31x</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
346
  <span class="cline-any cline-neutral">&nbsp;</span>
347
347
  <span class="cline-any cline-neutral">&nbsp;</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
350
+ <span class="cline-any cline-yes">74x</span>
351
+ <span class="cline-any cline-yes">74x</span>
352
+ <span class="cline-any cline-yes">74x</span>
353
353
  <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-yes">70x</span>
354
+ <span class="cline-any cline-yes">73x</span>
355
355
  <span class="cline-any cline-yes">10x</span>
356
356
  <span class="cline-any cline-yes">10x</span>
357
357
  <span class="cline-any cline-yes">10x</span>
@@ -360,37 +360,37 @@
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
361
  <span class="cline-any cline-neutral">&nbsp;</span>
362
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-yes">60x</span>
364
- <span class="cline-any cline-yes">60x</span>
363
+ <span class="cline-any cline-yes">63x</span>
364
+ <span class="cline-any cline-yes">63x</span>
365
365
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
366
+ <span class="cline-any cline-yes">63x</span>
367
+ <span class="cline-any cline-yes">22x</span>
368
+ <span class="cline-any cline-yes">22x</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
370
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
371
+ <span class="cline-any cline-yes">63x</span>
372
+ <span class="cline-any cline-yes">14x</span>
373
+ <span class="cline-any cline-yes">14x</span>
374
+ <span class="cline-any cline-yes">14x</span>
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-yes">60x</span>
377
+ <span class="cline-any cline-yes">63x</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">&nbsp;</span>
382
382
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
383
+ <span class="cline-any cline-yes">63x</span>
384
+ <span class="cline-any cline-yes">15x</span>
385
+ <span class="cline-any cline-yes">15x</span>
386
386
  <span class="cline-any cline-neutral">&nbsp;</span>
387
387
  <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-yes">60x</span>
388
+ <span class="cline-any cline-yes">63x</span>
389
389
  <span class="cline-any cline-yes">9x</span>
390
390
  <span class="cline-any cline-neutral">&nbsp;</span>
391
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-yes">60x</span>
393
- <span class="cline-any cline-yes">60x</span>
392
+ <span class="cline-any cline-yes">63x</span>
393
+ <span class="cline-any cline-yes">63x</span>
394
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
395
  <span class="cline-any cline-neutral">&nbsp;</span>
396
396
  <span class="cline-any cline-neutral">&nbsp;</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-18T14:16:07.591Z
571
+ at 2026-06-19T00:56:38.236Z
572
572
  </div>
573
573
  <script src="../prettify.js"></script>
574
574
  <script>