@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
|
@@ -268,26 +268,26 @@
|
|
|
268
268
|
<span class="cline-any cline-neutral"> </span>
|
|
269
269
|
<span class="cline-any cline-neutral"> </span>
|
|
270
270
|
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-yes">
|
|
271
|
+
<span class="cline-any cline-yes">180x</span>
|
|
272
272
|
<span class="cline-any cline-neutral"> </span>
|
|
273
273
|
<span class="cline-any cline-neutral"> </span>
|
|
274
|
-
<span class="cline-any cline-yes">
|
|
275
|
-
<span class="cline-any cline-yes">
|
|
276
|
-
<span class="cline-any cline-yes">
|
|
277
|
-
<span class="cline-any cline-yes">
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
274
|
+
<span class="cline-any cline-yes">177x</span>
|
|
275
|
+
<span class="cline-any cline-yes">177x</span>
|
|
276
|
+
<span class="cline-any cline-yes">177x</span>
|
|
277
|
+
<span class="cline-any cline-yes">61x</span>
|
|
278
|
+
<span class="cline-any cline-yes">37x</span>
|
|
279
279
|
<span class="cline-any cline-neutral"> </span>
|
|
280
280
|
<span class="cline-any cline-neutral"> </span>
|
|
281
281
|
<span class="cline-any cline-neutral"> </span>
|
|
282
282
|
<span class="cline-any cline-neutral"> </span>
|
|
283
283
|
<span class="cline-any cline-neutral"> </span>
|
|
284
284
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-yes">
|
|
286
|
-
<span class="cline-any cline-yes">
|
|
285
|
+
<span class="cline-any cline-yes">118x</span>
|
|
286
|
+
<span class="cline-any cline-yes">118x</span>
|
|
287
287
|
<span class="cline-any cline-yes">1x</span>
|
|
288
288
|
<span class="cline-any cline-neutral"> </span>
|
|
289
|
-
<span class="cline-any cline-yes">
|
|
290
|
-
<span class="cline-any cline-yes">
|
|
289
|
+
<span class="cline-any cline-yes">117x</span>
|
|
290
|
+
<span class="cline-any cline-yes">117x</span>
|
|
291
291
|
<span class="cline-any cline-neutral"> </span>
|
|
292
292
|
<span class="cline-any cline-neutral"> </span>
|
|
293
293
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -302,7 +302,7 @@
|
|
|
302
302
|
<span class="cline-any cline-neutral"> </span>
|
|
303
303
|
<span class="cline-any cline-neutral"> </span>
|
|
304
304
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-yes">
|
|
305
|
+
<span class="cline-any cline-yes">117x</span>
|
|
306
306
|
<span class="cline-any cline-neutral"> </span>
|
|
307
307
|
<span class="cline-any cline-neutral"> </span>
|
|
308
308
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -339,10 +339,10 @@
|
|
|
339
339
|
<span class="cline-any cline-neutral"> </span>
|
|
340
340
|
<span class="cline-any cline-neutral"> </span>
|
|
341
341
|
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-yes">
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
344
|
-
<span class="cline-any cline-yes">
|
|
345
|
-
<span class="cline-any cline-yes">
|
|
342
|
+
<span class="cline-any cline-yes">27x</span>
|
|
343
|
+
<span class="cline-any cline-yes">27x</span>
|
|
344
|
+
<span class="cline-any cline-yes">27x</span>
|
|
345
|
+
<span class="cline-any cline-yes">27x</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>
|
|
@@ -350,7 +350,7 @@
|
|
|
350
350
|
<span class="cline-any cline-neutral"> </span>
|
|
351
351
|
<span class="cline-any cline-neutral"> </span>
|
|
352
352
|
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-yes">
|
|
353
|
+
<span class="cline-any cline-yes">27x</span>
|
|
354
354
|
<span class="cline-any cline-neutral"> </span>
|
|
355
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
356
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -652,7 +652,7 @@ export class LoopStore extends ReducerBackedStore<LoopEntry, LoopReducerState
|
|
|
652
652
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
653
653
|
Code coverage generated by
|
|
654
654
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
655
|
-
at 2026-06-
|
|
655
|
+
at 2026-06-18T20:54:08.775Z
|
|
656
656
|
</div>
|
|
657
657
|
<script src="../prettify.js"></script>
|
|
658
658
|
<script>
|
|
@@ -166,7 +166,7 @@ export function reduceTaskBacklogEvent(event: TaskBacklogEvent): TaskBacklogEffe
|
|
|
166
166
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
167
167
|
Code coverage generated by
|
|
168
168
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
169
|
-
at 2026-06-
|
|
169
|
+
at 2026-06-18T20:54:08.775Z
|
|
170
170
|
</div>
|
|
171
171
|
<script src="../prettify.js"></script>
|
|
172
172
|
<script>
|
|
@@ -535,7 +535,7 @@ export function reduceTaskState(state: TaskReducerState, event: TaskReducerEvent
|
|
|
535
535
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
536
536
|
Code coverage generated by
|
|
537
537
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
538
|
-
at 2026-06-
|
|
538
|
+
at 2026-06-18T20:54:08.775Z
|
|
539
539
|
</div>
|
|
540
540
|
<script src="../prettify.js"></script>
|
|
541
541
|
<script>
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
222
|
<span class="cline-any cline-neutral"> </span>
|
|
223
223
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
224
|
+
<span class="cline-any cline-yes">57x</span>
|
|
225
225
|
<span class="cline-any cline-neutral"> </span>
|
|
226
226
|
<span class="cline-any cline-neutral"> </span>
|
|
227
227
|
<span class="cline-any cline-yes">98x</span>
|
|
@@ -336,11 +336,11 @@
|
|
|
336
336
|
<span class="cline-any cline-neutral"> </span>
|
|
337
337
|
<span class="cline-any cline-neutral"> </span>
|
|
338
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-yes">
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
339
|
+
<span class="cline-any cline-yes">114x</span>
|
|
340
|
+
<span class="cline-any cline-yes">114x</span>
|
|
341
341
|
<span class="cline-any cline-yes">311x</span>
|
|
342
342
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
343
|
+
<span class="cline-any cline-yes">114x</span>
|
|
344
344
|
<span class="cline-any cline-neutral"> </span>
|
|
345
345
|
<span class="cline-any cline-neutral"> </span>
|
|
346
346
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -511,7 +511,7 @@ export class TaskStore extends ReducerBackedStore<TaskEntry, TaskReducerState
|
|
|
511
511
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
512
512
|
Code coverage generated by
|
|
513
513
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
514
|
-
at 2026-06-
|
|
514
|
+
at 2026-06-18T20:54:08.775Z
|
|
515
515
|
</div>
|
|
516
516
|
<script src="../prettify.js"></script>
|
|
517
517
|
<script>
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
132
132
|
Code coverage generated by
|
|
133
133
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
134
|
-
at 2026-06-
|
|
134
|
+
at 2026-06-18T20:54:08.775Z
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -417,13 +417,13 @@
|
|
|
417
417
|
<span class="cline-any cline-neutral"> </span>
|
|
418
418
|
<span class="cline-any cline-neutral"> </span>
|
|
419
419
|
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-yes">
|
|
420
|
+
<span class="cline-any cline-yes">38x</span>
|
|
421
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
422
|
<span class="cline-any cline-neutral"> </span>
|
|
423
423
|
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-yes">
|
|
425
|
-
<span class="cline-any cline-yes">
|
|
426
|
-
<span class="cline-any cline-yes">
|
|
424
|
+
<span class="cline-any cline-yes">16x</span>
|
|
425
|
+
<span class="cline-any cline-yes">5x</span>
|
|
426
|
+
<span class="cline-any cline-yes">5x</span>
|
|
427
427
|
<span class="cline-any cline-no"> </span>
|
|
428
428
|
<span class="cline-any cline-neutral"> </span>
|
|
429
429
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
<span class="cline-any cline-no"> </span>
|
|
440
440
|
<span class="cline-any cline-neutral"> </span>
|
|
441
441
|
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-yes">
|
|
442
|
+
<span class="cline-any cline-yes">16x</span>
|
|
443
443
|
<span class="cline-any cline-neutral"> </span>
|
|
444
444
|
<span class="cline-any cline-neutral"> </span>
|
|
445
445
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -465,9 +465,9 @@
|
|
|
465
465
|
<span class="cline-any cline-neutral"> </span>
|
|
466
466
|
<span class="cline-any cline-neutral"> </span>
|
|
467
467
|
<span class="cline-any cline-neutral"> </span>
|
|
468
|
-
<span class="cline-any cline-yes">
|
|
468
|
+
<span class="cline-any cline-yes">61x</span>
|
|
469
469
|
<span class="cline-any cline-neutral"> </span>
|
|
470
|
-
<span class="cline-any cline-yes">
|
|
470
|
+
<span class="cline-any cline-yes">61x</span>
|
|
471
471
|
<span class="cline-any cline-neutral"> </span>
|
|
472
472
|
<span class="cline-any cline-neutral"> </span>
|
|
473
473
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -535,14 +535,14 @@
|
|
|
535
535
|
<span class="cline-any cline-neutral"> </span>
|
|
536
536
|
<span class="cline-any cline-neutral"> </span>
|
|
537
537
|
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-yes">
|
|
538
|
+
<span class="cline-any cline-yes">16x</span>
|
|
539
539
|
<span class="cline-any cline-neutral"> </span>
|
|
540
540
|
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-yes">
|
|
541
|
+
<span class="cline-any cline-yes">16x</span>
|
|
542
542
|
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-yes">
|
|
544
|
-
<span class="cline-any cline-yes">
|
|
545
|
-
<span class="cline-any cline-yes">
|
|
543
|
+
<span class="cline-any cline-yes">16x</span>
|
|
544
|
+
<span class="cline-any cline-yes">5x</span>
|
|
545
|
+
<span class="cline-any cline-yes">5x</span>
|
|
546
546
|
<span class="cline-any cline-yes">11x</span>
|
|
547
547
|
<span class="cline-any cline-yes">11x</span>
|
|
548
548
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -557,10 +557,10 @@
|
|
|
557
557
|
<span class="cline-any cline-neutral"> </span>
|
|
558
558
|
<span class="cline-any cline-neutral"> </span>
|
|
559
559
|
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-yes">
|
|
561
|
-
<span class="cline-any cline-yes">
|
|
560
|
+
<span class="cline-any cline-yes">16x</span>
|
|
561
|
+
<span class="cline-any cline-yes">16x</span>
|
|
562
562
|
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-yes">
|
|
563
|
+
<span class="cline-any cline-yes">16x</span>
|
|
564
564
|
<span class="cline-any cline-neutral"> </span>
|
|
565
565
|
<span class="cline-any cline-neutral"> </span>
|
|
566
566
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -568,9 +568,9 @@
|
|
|
568
568
|
<span class="cline-any cline-neutral"> </span>
|
|
569
569
|
<span class="cline-any cline-neutral"> </span>
|
|
570
570
|
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-yes">
|
|
571
|
+
<span class="cline-any cline-yes">16x</span>
|
|
572
572
|
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-yes">
|
|
573
|
+
<span class="cline-any cline-yes">16x</span>
|
|
574
574
|
<span class="cline-any cline-no"> </span>
|
|
575
575
|
<span class="cline-any cline-no"> </span>
|
|
576
576
|
<span class="cline-any cline-no"> </span>
|
|
@@ -586,16 +586,16 @@
|
|
|
586
586
|
<span class="cline-any cline-neutral"> </span>
|
|
587
587
|
<span class="cline-any cline-neutral"> </span>
|
|
588
588
|
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-yes">
|
|
590
|
-
<span class="cline-any cline-yes">
|
|
589
|
+
<span class="cline-any cline-yes">16x</span>
|
|
590
|
+
<span class="cline-any cline-yes">16x</span>
|
|
591
591
|
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-yes">
|
|
592
|
+
<span class="cline-any cline-yes">16x</span>
|
|
593
593
|
<span class="cline-any cline-neutral"> </span>
|
|
594
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
595
|
<span class="cline-any cline-neutral"> </span>
|
|
596
596
|
<span class="cline-any cline-neutral"> </span>
|
|
597
597
|
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-yes">
|
|
598
|
+
<span class="cline-any cline-yes">16x</span>
|
|
599
599
|
<span class="cline-any cline-neutral"> </span>
|
|
600
600
|
<span class="cline-any cline-neutral"> </span>
|
|
601
601
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -608,7 +608,7 @@
|
|
|
608
608
|
<span class="cline-any cline-neutral"> </span>
|
|
609
609
|
<span class="cline-any cline-neutral"> </span>
|
|
610
610
|
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-yes">
|
|
611
|
+
<span class="cline-any cline-yes">61x</span>
|
|
612
612
|
<span class="cline-any cline-neutral"> </span>
|
|
613
613
|
<span class="cline-any cline-neutral"> </span>
|
|
614
614
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -644,7 +644,7 @@
|
|
|
644
644
|
<span class="cline-any cline-neutral"> </span>
|
|
645
645
|
<span class="cline-any cline-neutral"> </span>
|
|
646
646
|
<span class="cline-any cline-neutral"> </span>
|
|
647
|
-
<span class="cline-any cline-yes">
|
|
647
|
+
<span class="cline-any cline-yes">61x</span>
|
|
648
648
|
<span class="cline-any cline-neutral"> </span>
|
|
649
649
|
<span class="cline-any cline-neutral"> </span>
|
|
650
650
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -985,7 +985,7 @@ Use "pause" to temporarily stop a loop without removing it. Use "delete" to perm
|
|
|
985
985
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
986
986
|
Code coverage generated by
|
|
987
987
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
988
|
-
at 2026-06-
|
|
988
|
+
at 2026-06-18T20:54:08.775Z
|
|
989
989
|
</div>
|
|
990
990
|
<script src="../../prettify.js"></script>
|
|
991
991
|
<script>
|
|
@@ -256,9 +256,9 @@
|
|
|
256
256
|
<span class="cline-any cline-neutral"> </span>
|
|
257
257
|
<span class="cline-any cline-neutral"> </span>
|
|
258
258
|
<span class="cline-any cline-neutral"> </span>
|
|
259
|
-
<span class="cline-any cline-yes">
|
|
259
|
+
<span class="cline-any cline-yes">61x</span>
|
|
260
260
|
<span class="cline-any cline-neutral"> </span>
|
|
261
|
-
<span class="cline-any cline-yes">
|
|
261
|
+
<span class="cline-any cline-yes">61x</span>
|
|
262
262
|
<span class="cline-any cline-neutral"> </span>
|
|
263
263
|
<span class="cline-any cline-neutral"> </span>
|
|
264
264
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -324,7 +324,7 @@
|
|
|
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
|
-
<span class="cline-any cline-yes">
|
|
327
|
+
<span class="cline-any cline-yes">61x</span>
|
|
328
328
|
<span class="cline-any cline-neutral"> </span>
|
|
329
329
|
<span class="cline-any cline-neutral"> </span>
|
|
330
330
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -354,7 +354,7 @@
|
|
|
354
354
|
<span class="cline-any cline-neutral"> </span>
|
|
355
355
|
<span class="cline-any cline-neutral"> </span>
|
|
356
356
|
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-yes">
|
|
357
|
+
<span class="cline-any cline-yes">61x</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>
|
|
@@ -532,7 +532,7 @@ Use MonitorList to find the monitor ID, then stop it with this tool.`,
|
|
|
532
532
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
533
|
Code coverage generated by
|
|
534
534
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
535
|
-
at 2026-06-
|
|
535
|
+
at 2026-06-18T20:54:08.775Z
|
|
536
536
|
</div>
|
|
537
537
|
<script src="../../prettify.js"></script>
|
|
538
538
|
<script>
|
|
@@ -234,9 +234,9 @@
|
|
|
234
234
|
<span class="cline-any cline-neutral"> </span>
|
|
235
235
|
<span class="cline-any cline-neutral"> </span>
|
|
236
236
|
<span class="cline-any cline-neutral"> </span>
|
|
237
|
-
<span class="cline-any cline-yes">
|
|
237
|
+
<span class="cline-any cline-yes">45x</span>
|
|
238
238
|
<span class="cline-any cline-neutral"> </span>
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
239
|
+
<span class="cline-any cline-yes">45x</span>
|
|
240
240
|
<span class="cline-any cline-neutral"> </span>
|
|
241
241
|
<span class="cline-any cline-neutral"> </span>
|
|
242
242
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -278,7 +278,7 @@
|
|
|
278
278
|
<span class="cline-any cline-neutral"> </span>
|
|
279
279
|
<span class="cline-any cline-neutral"> </span>
|
|
280
280
|
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-yes">
|
|
281
|
+
<span class="cline-any cline-yes">45x</span>
|
|
282
282
|
<span class="cline-any cline-neutral"> </span>
|
|
283
283
|
<span class="cline-any cline-neutral"> </span>
|
|
284
284
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -303,7 +303,7 @@
|
|
|
303
303
|
<span class="cline-any cline-neutral"> </span>
|
|
304
304
|
<span class="cline-any cline-neutral"> </span>
|
|
305
305
|
<span class="cline-any cline-neutral"> </span>
|
|
306
|
-
<span class="cline-any cline-yes">
|
|
306
|
+
<span class="cline-any cline-yes">45x</span>
|
|
307
307
|
<span class="cline-any cline-neutral"> </span>
|
|
308
308
|
<span class="cline-any cline-neutral"> </span>
|
|
309
309
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -345,7 +345,7 @@
|
|
|
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
|
-
<span class="cline-any cline-yes">
|
|
348
|
+
<span class="cline-any cline-yes">45x</span>
|
|
349
349
|
<span class="cline-any cline-neutral"> </span>
|
|
350
350
|
<span class="cline-any cline-neutral"> </span>
|
|
351
351
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -520,7 +520,7 @@ Parameters: id (required), status, subject, description`,
|
|
|
520
520
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
521
521
|
Code coverage generated by
|
|
522
522
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
523
|
-
at 2026-06-
|
|
523
|
+
at 2026-06-18T20:54:08.775Z
|
|
524
524
|
</div>
|
|
525
525
|
<script src="../../prettify.js"></script>
|
|
526
526
|
<script>
|
|
@@ -224,15 +224,15 @@
|
|
|
224
224
|
<span class="cline-any cline-neutral"> </span>
|
|
225
225
|
<span class="cline-any cline-neutral"> </span>
|
|
226
226
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-yes">
|
|
228
|
-
<span class="cline-any cline-yes">
|
|
229
|
-
<span class="cline-any cline-yes">
|
|
227
|
+
<span class="cline-any cline-yes">121x</span>
|
|
228
|
+
<span class="cline-any cline-yes">121x</span>
|
|
229
|
+
<span class="cline-any cline-yes">121x</span>
|
|
230
230
|
<span class="cline-any cline-neutral"> </span>
|
|
231
231
|
<span class="cline-any cline-neutral"> </span>
|
|
232
|
-
<span class="cline-any cline-yes">
|
|
233
|
-
<span class="cline-any cline-yes">
|
|
234
|
-
<span class="cline-any cline-yes">
|
|
235
|
-
<span class="cline-any cline-yes">
|
|
232
|
+
<span class="cline-any cline-yes">121x</span>
|
|
233
|
+
<span class="cline-any cline-yes">121x</span>
|
|
234
|
+
<span class="cline-any cline-yes">121x</span>
|
|
235
|
+
<span class="cline-any cline-yes">121x</span>
|
|
236
236
|
<span class="cline-any cline-neutral"> </span>
|
|
237
237
|
<span class="cline-any cline-neutral"> </span>
|
|
238
238
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -250,10 +250,10 @@
|
|
|
250
250
|
<span class="cline-any cline-neutral"> </span>
|
|
251
251
|
<span class="cline-any cline-neutral"> </span>
|
|
252
252
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
254
|
-
<span class="cline-any cline-yes">
|
|
253
|
+
<span class="cline-any cline-yes">36x</span>
|
|
254
|
+
<span class="cline-any cline-yes">16x</span>
|
|
255
255
|
<span class="cline-any cline-neutral"> </span>
|
|
256
|
-
<span class="cline-any cline-yes">
|
|
256
|
+
<span class="cline-any cline-yes">36x</span>
|
|
257
257
|
<span class="cline-any cline-yes">29x</span>
|
|
258
258
|
<span class="cline-any cline-yes">29x</span>
|
|
259
259
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -532,7 +532,7 @@ export class TriggerSystem {
|
|
|
532
532
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
533
|
Code coverage generated by
|
|
534
534
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
535
|
-
at 2026-06-
|
|
535
|
+
at 2026-06-18T20:54:08.775Z
|
|
536
536
|
</div>
|
|
537
537
|
<script src="../prettify.js"></script>
|
|
538
538
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at 2026-06-
|
|
104
|
+
at 2026-06-18T20:54:08.775Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -147,44 +147,44 @@
|
|
|
147
147
|
<span class="cline-any cline-neutral"> </span>
|
|
148
148
|
<span class="cline-any cline-neutral"> </span>
|
|
149
149
|
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-yes">
|
|
151
|
-
<span class="cline-any cline-yes">
|
|
150
|
+
<span class="cline-any cline-yes">68x</span>
|
|
151
|
+
<span class="cline-any cline-yes">68x</span>
|
|
152
152
|
<span class="cline-any cline-neutral"> </span>
|
|
153
153
|
<span class="cline-any cline-neutral"> </span>
|
|
154
154
|
<span class="cline-any cline-neutral"> </span>
|
|
155
|
-
<span class="cline-any cline-yes">
|
|
155
|
+
<span class="cline-any cline-yes">107x</span>
|
|
156
156
|
<span class="cline-any cline-neutral"> </span>
|
|
157
157
|
<span class="cline-any cline-neutral"> </span>
|
|
158
158
|
<span class="cline-any cline-neutral"> </span>
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
159
|
+
<span class="cline-any cline-yes">46x</span>
|
|
160
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
161
|
<span class="cline-any cline-neutral"> </span>
|
|
162
162
|
<span class="cline-any cline-neutral"> </span>
|
|
163
|
-
<span class="cline-any cline-yes">
|
|
163
|
+
<span class="cline-any cline-yes">63x</span>
|
|
164
164
|
<span class="cline-any cline-neutral"> </span>
|
|
165
165
|
<span class="cline-any cline-neutral"> </span>
|
|
166
166
|
<span class="cline-any cline-neutral"> </span>
|
|
167
|
-
<span class="cline-any cline-yes">
|
|
168
|
-
<span class="cline-any cline-yes">
|
|
167
|
+
<span class="cline-any cline-yes">192x</span>
|
|
168
|
+
<span class="cline-any cline-yes">164x</span>
|
|
169
169
|
<span class="cline-any cline-neutral"> </span>
|
|
170
170
|
<span class="cline-any cline-neutral"> </span>
|
|
171
171
|
<span class="cline-any cline-neutral"> </span>
|
|
172
|
-
<span class="cline-any cline-yes">
|
|
173
|
-
<span class="cline-any cline-yes">
|
|
174
|
-
<span class="cline-any cline-yes">
|
|
172
|
+
<span class="cline-any cline-yes">164x</span>
|
|
173
|
+
<span class="cline-any cline-yes">164x</span>
|
|
174
|
+
<span class="cline-any cline-yes">164x</span>
|
|
175
175
|
<span class="cline-any cline-neutral"> </span>
|
|
176
|
-
<span class="cline-any cline-yes">
|
|
177
|
-
<span class="cline-any cline-yes">
|
|
176
|
+
<span class="cline-any cline-yes">164x</span>
|
|
177
|
+
<span class="cline-any cline-yes">68x</span>
|
|
178
178
|
<span class="cline-any cline-neutral"> </span>
|
|
179
179
|
<span class="cline-any cline-neutral"> </span>
|
|
180
|
-
<span class="cline-any cline-yes">
|
|
181
|
-
<span class="cline-any cline-yes">
|
|
182
|
-
<span class="cline-any cline-yes">
|
|
183
|
-
<span class="cline-any cline-yes">
|
|
180
|
+
<span class="cline-any cline-yes">96x</span>
|
|
181
|
+
<span class="cline-any cline-yes">96x</span>
|
|
182
|
+
<span class="cline-any cline-yes">96x</span>
|
|
183
|
+
<span class="cline-any cline-yes">96x</span>
|
|
184
184
|
<span class="cline-any cline-neutral"> </span>
|
|
185
|
-
<span class="cline-any cline-yes">
|
|
186
|
-
<span class="cline-any cline-yes">
|
|
187
|
-
<span class="cline-any cline-yes">
|
|
185
|
+
<span class="cline-any cline-yes">96x</span>
|
|
186
|
+
<span class="cline-any cline-yes">96x</span>
|
|
187
|
+
<span class="cline-any cline-yes">96x</span>
|
|
188
188
|
<span class="cline-any cline-neutral"> </span>
|
|
189
189
|
<span class="cline-any cline-neutral"> </span>
|
|
190
190
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -193,13 +193,13 @@
|
|
|
193
193
|
<span class="cline-any cline-neutral"> </span>
|
|
194
194
|
<span class="cline-any cline-neutral"> </span>
|
|
195
195
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
-
<span class="cline-any cline-yes">
|
|
196
|
+
<span class="cline-any cline-yes">120x</span>
|
|
197
197
|
<span class="cline-any cline-neutral"> </span>
|
|
198
198
|
<span class="cline-any cline-neutral"> </span>
|
|
199
199
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
-
<span class="cline-any cline-yes">
|
|
201
|
-
<span class="cline-any cline-yes">
|
|
202
|
-
<span class="cline-any cline-yes">
|
|
200
|
+
<span class="cline-any cline-yes">45x</span>
|
|
201
|
+
<span class="cline-any cline-yes">44x</span>
|
|
202
|
+
<span class="cline-any cline-yes">6x</span>
|
|
203
203
|
<span class="cline-any cline-neutral"> </span>
|
|
204
204
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { ExtensionUIContext } from "@earendil-works/pi-coding-agent";
|
|
205
205
|
import type { MonitorManager } from "../monitor-manager.js";
|
|
@@ -277,7 +277,7 @@ function isStatusVisibleLoop(loop: LoopEntry): boolean {
|
|
|
277
277
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
278
278
|
Code coverage generated by
|
|
279
279
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
280
|
-
at 2026-06-
|
|
280
|
+
at 2026-06-18T20:54:08.775Z
|
|
281
281
|
</div>
|
|
282
282
|
<script src="../../prettify.js"></script>
|
|
283
283
|
<script>
|
package/dist/index.js
CHANGED
|
@@ -46,6 +46,9 @@ export default function (pi) {
|
|
|
46
46
|
let scheduler;
|
|
47
47
|
let triggerSystem;
|
|
48
48
|
const widget = new LoopWidget(store, monitorManager);
|
|
49
|
+
// Repaint the status bar when a monitor finishes/prunes on its own (no tool
|
|
50
|
+
// call), so stale monitors don't linger in the count between turns.
|
|
51
|
+
monitorManager.setOnChange(() => widget.update());
|
|
49
52
|
widget.setTaskSummaryProvider(() => {
|
|
50
53
|
if (!nativeTaskStore)
|
|
51
54
|
return { count: 0 };
|
|
@@ -4,9 +4,18 @@ export declare class MonitorManager {
|
|
|
4
4
|
private pi;
|
|
5
5
|
private processes;
|
|
6
6
|
private nextId;
|
|
7
|
+
private onChange;
|
|
7
8
|
constructor(pi: ExtensionAPI);
|
|
9
|
+
/**
|
|
10
|
+
* Register a callback fired when a monitor's status changes or it is pruned
|
|
11
|
+
* (e.g. autonomous completion/error/stop/prune with no tool call). Used to
|
|
12
|
+
* repaint the status widget, which otherwise only refreshes on turn
|
|
13
|
+
* boundaries and explicit tool actions. Not fired for output lines.
|
|
14
|
+
*/
|
|
15
|
+
setOnChange(cb: () => void): void;
|
|
8
16
|
private toReducerState;
|
|
9
17
|
private applyReducerEvent;
|
|
18
|
+
private schedulePrune;
|
|
10
19
|
create(command: string, description?: string, timeout?: number): MonitorEntry;
|
|
11
20
|
get(id: string): MonitorEntry | undefined;
|
|
12
21
|
list(): MonitorEntry[];
|
package/dist/monitor-manager.js
CHANGED
|
@@ -4,9 +4,19 @@ export class MonitorManager {
|
|
|
4
4
|
pi;
|
|
5
5
|
processes = new Map();
|
|
6
6
|
nextId = 1;
|
|
7
|
+
onChange;
|
|
7
8
|
constructor(pi) {
|
|
8
9
|
this.pi = pi;
|
|
9
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Register a callback fired when a monitor's status changes or it is pruned
|
|
13
|
+
* (e.g. autonomous completion/error/stop/prune with no tool call). Used to
|
|
14
|
+
* repaint the status widget, which otherwise only refreshes on turn
|
|
15
|
+
* boundaries and explicit tool actions. Not fired for output lines.
|
|
16
|
+
*/
|
|
17
|
+
setOnChange(cb) {
|
|
18
|
+
this.onChange = cb;
|
|
19
|
+
}
|
|
10
20
|
toReducerState() {
|
|
11
21
|
return {
|
|
12
22
|
nextId: this.nextId,
|
|
@@ -24,8 +34,29 @@ export class MonitorManager {
|
|
|
24
34
|
}
|
|
25
35
|
process.entry = updated;
|
|
26
36
|
}
|
|
37
|
+
// Repaint on status/set transitions, but not on the frequent output-line
|
|
38
|
+
// events (which never change the visible count).
|
|
39
|
+
if (event.type !== "MONITOR_OUTPUT" && event.type !== "MONITOR_ONDONE_REGISTERED") {
|
|
40
|
+
this.onChange?.();
|
|
41
|
+
}
|
|
27
42
|
return result;
|
|
28
43
|
}
|
|
44
|
+
// Remove a finished monitor (completed/errored/stopped) after a brief delay so
|
|
45
|
+
// tool consumers can still read its final state via MonitorList. Shared by
|
|
46
|
+
// finish() and stop() so every terminal status is pruned consistently — a
|
|
47
|
+
// stopped monitor that is never pruned lingers in list() and the widget count.
|
|
48
|
+
schedulePrune(id) {
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
this.applyReducerEvent({
|
|
51
|
+
type: "MONITOR_PRUNED",
|
|
52
|
+
at: Date.now(),
|
|
53
|
+
source: "system",
|
|
54
|
+
entityType: "monitor",
|
|
55
|
+
entityId: id,
|
|
56
|
+
payload: { id },
|
|
57
|
+
});
|
|
58
|
+
}, 30000);
|
|
59
|
+
}
|
|
29
60
|
create(command, description, timeout = 300000) {
|
|
30
61
|
const now = Date.now();
|
|
31
62
|
const result = reduceMonitorState(this.toReducerState(), {
|
|
@@ -120,18 +151,7 @@ export class MonitorManager {
|
|
|
120
151
|
for (const resolve of bp.waiters)
|
|
121
152
|
resolve();
|
|
122
153
|
bp.waiters = [];
|
|
123
|
-
|
|
124
|
-
// consumers have time to read the final state via MonitorList.
|
|
125
|
-
setTimeout(() => {
|
|
126
|
-
this.applyReducerEvent({
|
|
127
|
-
type: "MONITOR_PRUNED",
|
|
128
|
-
at: Date.now(),
|
|
129
|
-
source: "system",
|
|
130
|
-
entityType: "monitor",
|
|
131
|
-
entityId: id,
|
|
132
|
-
payload: { id },
|
|
133
|
-
});
|
|
134
|
-
}, 30000);
|
|
154
|
+
this.schedulePrune(id);
|
|
135
155
|
};
|
|
136
156
|
child.on("close", (code) => {
|
|
137
157
|
if (bp.entry.status === "running") {
|
|
@@ -197,6 +217,7 @@ export class MonitorManager {
|
|
|
197
217
|
reason: "manual",
|
|
198
218
|
},
|
|
199
219
|
});
|
|
220
|
+
this.schedulePrune(id);
|
|
200
221
|
bp.proc.kill("SIGTERM");
|
|
201
222
|
await new Promise((resolve) => {
|
|
202
223
|
const timer = setTimeout(() => {
|