@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
@@ -321,30 +321,30 @@
321
321
  <span class="cline-any cline-neutral">&nbsp;</span>
322
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
323
  <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-yes">60x</span>
324
+ <span class="cline-any cline-yes">61x</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">60x</span>
326
+ <span class="cline-any cline-yes">61x</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
330
  <span class="cline-any cline-neutral">&nbsp;</span>
331
331
  <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-yes">60x</span>
333
- <span class="cline-any cline-yes">60x</span>
332
+ <span class="cline-any cline-yes">61x</span>
333
+ <span class="cline-any cline-yes">61x</span>
334
334
  <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-yes">60x</span>
336
- <span class="cline-any cline-yes">62x</span>
337
- <span class="cline-any cline-yes">62x</span>
338
- <span class="cline-any cline-yes">62x</span>
335
+ <span class="cline-any cline-yes">61x</span>
336
+ <span class="cline-any cline-yes">63x</span>
337
+ <span class="cline-any cline-yes">63x</span>
338
+ <span class="cline-any cline-yes">63x</span>
339
339
  <span class="cline-any cline-neutral">&nbsp;</span>
340
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-yes">60x</span>
341
+ <span class="cline-any cline-yes">61x</span>
342
342
  <span class="cline-any cline-neutral">&nbsp;</span>
343
343
  <span class="cline-any cline-neutral">&nbsp;</span>
344
344
  <span class="cline-any cline-neutral">&nbsp;</span>
345
345
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-yes">32x</span>
347
- <span class="cline-any cline-yes">32x</span>
346
+ <span class="cline-any cline-yes">33x</span>
347
+ <span class="cline-any cline-yes">33x</span>
348
348
  <span class="cline-any cline-neutral">&nbsp;</span>
349
349
  <span class="cline-any cline-neutral">&nbsp;</span>
350
350
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -352,13 +352,13 @@
352
352
  <span class="cline-any cline-neutral">&nbsp;</span>
353
353
  <span class="cline-any cline-neutral">&nbsp;</span>
354
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-yes">183x</span>
356
- <span class="cline-any cline-yes">183x</span>
357
- <span class="cline-any cline-yes">183x</span>
355
+ <span class="cline-any cline-yes">187x</span>
356
+ <span class="cline-any cline-yes">187x</span>
357
+ <span class="cline-any cline-yes">187x</span>
358
358
  <span class="cline-any cline-neutral">&nbsp;</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
360
360
  <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-yes">139x</span>
361
+ <span class="cline-any cline-yes">141x</span>
362
362
  <span class="cline-any cline-neutral">&nbsp;</span>
363
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
364
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -371,7 +371,7 @@
371
371
  <span class="cline-any cline-neutral">&nbsp;</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">39x</span>
374
+ <span class="cline-any cline-yes">41x</span>
375
375
  <span class="cline-any cline-neutral">&nbsp;</span>
376
376
  <span class="cline-any cline-neutral">&nbsp;</span>
377
377
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -379,21 +379,21 @@
379
379
  <span class="cline-any cline-neutral">&nbsp;</span>
380
380
  <span class="cline-any cline-neutral">&nbsp;</span>
381
381
  <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-yes">39x</span>
383
- <span class="cline-any cline-yes">39x</span>
384
- <span class="cline-any cline-yes">39x</span>
382
+ <span class="cline-any cline-yes">41x</span>
383
+ <span class="cline-any cline-yes">41x</span>
384
+ <span class="cline-any cline-yes">41x</span>
385
385
  <span class="cline-any cline-neutral">&nbsp;</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">39x</span>
388
+ <span class="cline-any cline-yes">41x</span>
389
389
  <span class="cline-any cline-neutral">&nbsp;</span>
390
390
  <span class="cline-any cline-neutral">&nbsp;</span>
391
391
  <span class="cline-any cline-neutral">&nbsp;</span>
392
392
  <span class="cline-any cline-neutral">&nbsp;</span>
393
393
  <span class="cline-any cline-neutral">&nbsp;</span>
394
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
- <span class="cline-any cline-yes">39x</span>
396
- <span class="cline-any cline-yes">39x</span>
395
+ <span class="cline-any cline-yes">41x</span>
396
+ <span class="cline-any cline-yes">41x</span>
397
397
  <span class="cline-any cline-neutral">&nbsp;</span>
398
398
  <span class="cline-any cline-neutral">&nbsp;</span>
399
399
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -401,7 +401,7 @@
401
401
  <span class="cline-any cline-neutral">&nbsp;</span>
402
402
  <span class="cline-any cline-neutral">&nbsp;</span>
403
403
  <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-yes">32x</span>
404
+ <span class="cline-any cline-yes">33x</span>
405
405
  <span class="cline-any cline-yes">11x</span>
406
406
  <span class="cline-any cline-yes">11x</span>
407
407
  <span class="cline-any cline-yes">2x</span>
@@ -410,8 +410,8 @@
410
410
  <span class="cline-any cline-neutral">&nbsp;</span>
411
411
  <span class="cline-any cline-neutral">&nbsp;</span>
412
412
  <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-yes">30x</span>
414
- <span class="cline-any cline-yes">30x</span>
413
+ <span class="cline-any cline-yes">31x</span>
414
+ <span class="cline-any cline-yes">31x</span>
415
415
  <span class="cline-any cline-neutral">&nbsp;</span>
416
416
  <span class="cline-any cline-neutral">&nbsp;</span>
417
417
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -427,38 +427,38 @@
427
427
  <span class="cline-any cline-neutral">&nbsp;</span>
428
428
  <span class="cline-any cline-neutral">&nbsp;</span>
429
429
  <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-yes">30x</span>
430
+ <span class="cline-any cline-yes">31x</span>
431
431
  <span class="cline-any cline-neutral">&nbsp;</span>
432
432
  <span class="cline-any cline-neutral">&nbsp;</span>
433
433
  <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-yes">63x</span>
434
+ <span class="cline-any cline-yes">65x</span>
435
435
  <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-yes">60x</span>
437
- <span class="cline-any cline-yes">60x</span>
436
+ <span class="cline-any cline-yes">61x</span>
437
+ <span class="cline-any cline-yes">61x</span>
438
438
  <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-yes">60x</span>
440
- <span class="cline-any cline-yes">62x</span>
441
- <span class="cline-any cline-yes">62x</span>
442
- <span class="cline-any cline-yes">62x</span>
439
+ <span class="cline-any cline-yes">61x</span>
440
+ <span class="cline-any cline-yes">63x</span>
441
+ <span class="cline-any cline-yes">63x</span>
442
+ <span class="cline-any cline-yes">63x</span>
443
443
  <span class="cline-any cline-neutral">&nbsp;</span>
444
444
  <span class="cline-any cline-neutral">&nbsp;</span>
445
445
  <span class="cline-any cline-neutral">&nbsp;</span>
446
446
  <span class="cline-any cline-neutral">&nbsp;</span>
447
447
  <span class="cline-any cline-neutral">&nbsp;</span>
448
448
  <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-yes">62x</span>
450
- <span class="cline-any cline-yes">32x</span>
449
+ <span class="cline-any cline-yes">63x</span>
450
+ <span class="cline-any cline-yes">33x</span>
451
451
  <span class="cline-any cline-neutral">&nbsp;</span>
452
452
  <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-yes">60x</span>
453
+ <span class="cline-any cline-yes">61x</span>
454
454
  <span class="cline-any cline-neutral">&nbsp;</span>
455
455
  <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-yes">60x</span>
456
+ <span class="cline-any cline-yes">61x</span>
457
457
  <span class="cline-any cline-neutral">&nbsp;</span>
458
458
  <span class="cline-any cline-neutral">&nbsp;</span>
459
459
  <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">39x</span>
461
- <span class="cline-any cline-yes">39x</span>
460
+ <span class="cline-any cline-yes">41x</span>
461
+ <span class="cline-any cline-yes">41x</span>
462
462
  <span class="cline-any cline-neutral">&nbsp;</span>
463
463
  <span class="cline-any cline-neutral">&nbsp;</span>
464
464
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -466,7 +466,7 @@
466
466
  <span class="cline-any cline-neutral">&nbsp;</span>
467
467
  <span class="cline-any cline-neutral">&nbsp;</span>
468
468
  <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-yes">39x</span>
469
+ <span class="cline-any cline-yes">41x</span>
470
470
  <span class="cline-any cline-neutral">&nbsp;</span>
471
471
  <span class="cline-any cline-neutral">&nbsp;</span>
472
472
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -480,7 +480,7 @@
480
480
  <span class="cline-any cline-neutral">&nbsp;</span>
481
481
  <span class="cline-any cline-neutral">&nbsp;</span>
482
482
  <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-yes">60x</span>
483
+ <span class="cline-any cline-yes">61x</span>
484
484
  <span class="cline-any cline-neutral">&nbsp;</span>
485
485
  <span class="cline-any cline-neutral">&nbsp;</span>
486
486
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -706,7 +706,7 @@ export function createNotificationRuntime(options: NotificationRuntimeOptions):
706
706
  <div class='footer quiet pad2 space-top1 center small'>
707
707
  Code coverage generated by
708
708
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at 2026-06-18T14:16:07.591Z
709
+ at 2026-06-19T00:56:38.236Z
710
710
  </div>
711
711
  <script src="../../prettify.js"></script>
712
712
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">76.92% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/26</span>
28
+ <span class='fraction'>26/26</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">78.57% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>22/28</span>
35
+ <span class='fraction'>28/28</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.88% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>16/18</span>
49
+ <span class='fraction'>18/18</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -111,31 +111,31 @@
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
113
  <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-yes">105x</span>
115
- <span class="cline-any cline-yes">105x</span>
114
+ <span class="cline-any cline-yes">116x</span>
115
+ <span class="cline-any cline-yes">116x</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-yes">105x</span>
118
- <span class="cline-any cline-yes">105x</span>
119
- <span class="cline-any cline-yes">105x</span>
120
- <span class="cline-any cline-yes">105x</span>
121
- <span class="cline-any cline-yes">105x</span>
122
- <span class="cline-any cline-yes">104x</span>
123
- <span class="cline-any cline-yes">45x</span>
117
+ <span class="cline-any cline-yes">116x</span>
118
+ <span class="cline-any cline-yes">115x</span>
119
+ <span class="cline-any cline-yes">113x</span>
120
+ <span class="cline-any cline-yes">112x</span>
121
+ <span class="cline-any cline-yes">111x</span>
122
+ <span class="cline-any cline-yes">109x</span>
123
+ <span class="cline-any cline-yes">47x</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">59x</span>
126
- <span class="cline-any cline-no">&nbsp;</span>
125
+ <span class="cline-any cline-yes">62x</span>
126
+ <span class="cline-any cline-yes">1x</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
129
  <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-yes">44x</span>
131
- <span class="cline-any cline-yes">44x</span>
130
+ <span class="cline-any cline-yes">50x</span>
131
+ <span class="cline-any cline-yes">50x</span>
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-yes">44x</span>
134
- <span class="cline-any cline-yes">43x</span>
135
- <span class="cline-any cline-yes">15x</span>
133
+ <span class="cline-any cline-yes">50x</span>
134
+ <span class="cline-any cline-yes">48x</span>
135
+ <span class="cline-any cline-yes">16x</span>
136
136
  <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-yes">28x</span>
138
- <span class="cline-any cline-no">&nbsp;</span>
137
+ <span class="cline-any cline-yes">32x</span>
138
+ <span class="cline-any cline-yes">2x</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { join, resolve } from "node:path";
141
141
  &nbsp;
@@ -151,16 +151,16 @@ export function resolveLoopStorePath(options: ScopeOptions, sessionId?: string):
151
151
  const cwd = options.cwd ?? process.cwd();
152
152
  const { piLoopEnv, loopScope } = options;
153
153
  &nbsp;
154
- <span class="missing-if-branch" title="if path not taken" >I</span>if (piLoopEnv === "off") <span class="cstat-no" title="statement not covered" >return undefined;</span>
155
- <span class="missing-if-branch" title="if path not taken" >I</span>if (piLoopEnv?.startsWith("/")) <span class="cstat-no" title="statement not covered" >return piLoopEnv;</span>
156
- <span class="missing-if-branch" title="if path not taken" >I</span>if (piLoopEnv?.startsWith(".")) <span class="cstat-no" title="statement not covered" >return resolve(piLoopEnv);</span>
157
- <span class="missing-if-branch" title="if path not taken" >I</span>if (piLoopEnv) <span class="cstat-no" title="statement not covered" >return piLoopEnv;</span>
154
+ if (piLoopEnv === "off") return undefined;
155
+ if (piLoopEnv?.startsWith("/")) return piLoopEnv;
156
+ if (piLoopEnv?.startsWith(".")) return resolve(piLoopEnv);
157
+ if (piLoopEnv) return piLoopEnv;
158
158
  if (loopScope === "memory") return undefined;
159
159
  if (loopScope === "session" &amp;&amp; sessionId) {
160
160
  return join(cwd, ".pi", "loops", `loops-${sessionId}.json`);
161
161
  }
162
- <span class="missing-if-branch" title="else path not taken" >E</span>if (loopScope === "session") return undefined;
163
- <span class="cstat-no" title="statement not covered" > return join(cwd, ".pi", "loops", "loops.json");</span>
162
+ if (loopScope === "session") return undefined;
163
+ return join(cwd, ".pi", "loops", "loops.json");
164
164
  }
165
165
  &nbsp;
166
166
  export function resolveTaskStorePath(options: ScopeOptions, sessionId?: string): string | undefined {
@@ -171,8 +171,8 @@ export function resolveTaskStorePath(options: ScopeOptions, sessionId?: string):
171
171
  if (loopScope === "session" &amp;&amp; sessionId) {
172
172
  return join(cwd, ".pi", "tasks", `tasks-${sessionId}.json`);
173
173
  }
174
- <span class="missing-if-branch" title="else path not taken" >E</span>if (loopScope === "session") return undefined;
175
- <span class="cstat-no" title="statement not covered" > return join(cwd, ".pi", "tasks", "tasks.json");</span>
174
+ if (loopScope === "session") return undefined;
175
+ return join(cwd, ".pi", "tasks", "tasks.json");
176
176
  }
177
177
  &nbsp;</pre></td></tr></table></pre>
178
178
 
@@ -181,7 +181,7 @@ export function resolveTaskStorePath(options: ScopeOptions, sessionId?: string):
181
181
  <div class='footer quiet pad2 space-top1 center small'>
182
182
  Code coverage generated by
183
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2026-06-18T14:16:07.591Z
184
+ at 2026-06-19T00:56:38.236Z
185
185
  </div>
186
186
  <script src="../../prettify.js"></script>
187
187
  <script>