@trevonistrevon/pi-loop 0.5.9 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/AGENTS.md +52 -12
- package/CHANGELOG.md +59 -0
- package/CONTRIBUTING.md +13 -3
- package/README.md +47 -0
- package/coverage/coverage-final.json +35 -32
- package/coverage/index.html +64 -49
- package/coverage/src/api.ts.html +193 -0
- package/coverage/src/commands/index.html +32 -32
- package/coverage/src/commands/loop-command.ts.html +170 -170
- package/coverage/src/commands/tasks-command.ts.html +129 -129
- package/coverage/src/coordinator.ts.html +26 -26
- package/coverage/src/index.html +61 -106
- package/coverage/src/index.ts.html +224 -86
- package/coverage/src/loop-parse.ts.html +106 -73
- package/coverage/src/loop-reducer.ts.html +21 -21
- package/coverage/src/monitor-completion-coordinator.ts.html +1 -1
- package/coverage/src/monitor-manager.ts.html +95 -71
- package/coverage/src/monitor-reducer.ts.html +15 -15
- package/coverage/src/notification-reducer.ts.html +6 -6
- package/coverage/src/reducer-backed-store.ts.html +57 -57
- package/coverage/src/rpc/channels.ts.html +376 -0
- package/coverage/src/rpc/cross-extension-rpc.ts.html +541 -0
- package/coverage/src/rpc/index.html +131 -0
- package/coverage/src/runtime/index.html +68 -23
- package/coverage/src/{goal-coordinator.ts.html → runtime/loop-events.ts.html} +79 -73
- package/coverage/src/runtime/monitor-ondone-runtime.ts.html +5 -5
- package/coverage/src/runtime/native-task-rpc.ts.html +502 -0
- package/coverage/src/runtime/notification-runtime.ts.html +22 -22
- package/coverage/src/runtime/scope.ts.html +14 -14
- package/coverage/src/runtime/session-runtime.ts.html +32 -32
- package/coverage/src/runtime/task-backlog-runtime.ts.html +65 -23
- package/coverage/src/runtime/task-events.ts.html +2 -2
- package/coverage/src/runtime/task-mutations.ts.html +394 -0
- package/coverage/src/runtime/task-rpc.ts.html +102 -120
- package/coverage/src/scheduler.ts.html +29 -29
- package/coverage/src/store.ts.html +27 -27
- package/coverage/src/task-backlog-coordinator.ts.html +8 -8
- package/coverage/src/task-reducer.ts.html +42 -42
- package/coverage/src/task-store.ts.html +49 -49
- package/coverage/src/tools/index.html +39 -24
- package/coverage/src/tools/loop-tools.ts.html +12 -21
- package/coverage/src/tools/monitor-tools.ts.html +12 -21
- package/coverage/src/tools/native-task-tools.ts.html +57 -120
- package/coverage/src/tools/tool-result.ts.html +97 -0
- package/coverage/src/trigger-system.ts.html +12 -12
- package/coverage/src/ui/index.html +1 -1
- package/coverage/src/ui/widget.ts.html +23 -23
- package/dist/api.d.ts +11 -0
- package/dist/api.js +10 -0
- package/dist/commands/loop-command.js +2 -2
- package/dist/commands/tasks-command.js +3 -3
- package/dist/coordinator.d.ts +1 -1
- package/dist/index.js +48 -3
- package/dist/loop-parse.js +14 -5
- package/dist/reducer-backed-store.d.ts +1 -1
- package/dist/reducer-backed-store.js +1 -1
- package/dist/rpc/channels.d.ts +73 -0
- package/dist/rpc/channels.js +30 -0
- package/dist/rpc/cross-extension-rpc.d.ts +59 -0
- package/dist/rpc/cross-extension-rpc.js +117 -0
- package/dist/runtime/loop-events.d.ts +26 -0
- package/dist/runtime/loop-events.js +26 -0
- package/dist/runtime/native-task-rpc.d.ts +22 -0
- package/dist/runtime/native-task-rpc.js +50 -0
- package/dist/runtime/task-backlog-runtime.d.ts +3 -0
- package/dist/runtime/task-backlog-runtime.js +4 -1
- package/dist/runtime/task-mutations.d.ts +39 -0
- package/dist/runtime/task-mutations.js +68 -0
- package/dist/runtime/task-rpc.d.ts +4 -0
- package/dist/runtime/task-rpc.js +40 -58
- package/dist/scheduler.js +1 -1
- package/dist/tools/loop-tools.js +1 -3
- package/dist/tools/monitor-tools.js +1 -3
- package/dist/tools/native-task-tools.d.ts +2 -6
- package/dist/tools/native-task-tools.js +25 -55
- package/dist/tools/tool-result.d.ts +8 -0
- package/dist/tools/tool-result.js +4 -0
- package/docs/architecture/state-machine-migration.md +0 -44
- package/docs/architecture/state-machine-reducer-event-model.md +2 -3
- package/package.json +6 -1
- package/src/api.ts +36 -0
- package/src/commands/loop-command.ts +2 -2
- package/src/commands/tasks-command.ts +3 -3
- package/src/coordinator.ts +1 -1
- package/src/index.ts +49 -3
- package/src/loop-parse.ts +18 -7
- package/src/reducer-backed-store.ts +3 -3
- package/src/rpc/channels.ts +97 -0
- package/src/rpc/cross-extension-rpc.ts +152 -0
- package/src/runtime/loop-events.ts +60 -0
- package/src/runtime/native-task-rpc.ts +139 -0
- package/src/runtime/task-backlog-runtime.ts +14 -0
- package/src/runtime/task-mutations.ts +103 -0
- package/src/runtime/task-rpc.ts +48 -54
- package/src/scheduler.ts +1 -1
- package/src/tools/loop-tools.ts +1 -4
- package/src/tools/monitor-tools.ts +1 -4
- package/src/tools/native-task-tools.ts +31 -52
- package/src/tools/tool-result.ts +4 -0
- package/src/trigger-system.ts +4 -4
- package/vitest.config.ts +7 -7
- package/coverage/src/goal-reducer.ts.html +0 -982
- package/coverage/src/goal-store.ts.html +0 -742
- package/coverage/src/goal-verifier.ts.html +0 -808
- package/dist/goal-coordinator.d.ts +0 -22
- package/dist/goal-coordinator.js +0 -28
- package/dist/goal-reducer.d.ts +0 -98
- package/dist/goal-reducer.js +0 -190
- package/dist/goal-store.d.ts +0 -22
- package/dist/goal-store.js +0 -188
- package/dist/goal-types.d.ts +0 -82
- package/dist/goal-types.js +0 -1
- package/dist/goal-verifier.d.ts +0 -20
- package/dist/goal-verifier.js +0 -198
- package/docs/architecture/goal-state-schema.md +0 -505
- package/src/goal-coordinator.ts +0 -58
- package/src/goal-reducer.ts +0 -299
- package/src/goal-store.ts +0 -219
- package/src/goal-types.ts +0 -104
- package/src/goal-verifier.ts +0 -241
|
@@ -111,30 +111,30 @@
|
|
|
111
111
|
<span class="cline-any cline-neutral"> </span>
|
|
112
112
|
<span class="cline-any cline-neutral"> </span>
|
|
113
113
|
<span class="cline-any cline-neutral"> </span>
|
|
114
|
-
<span class="cline-any cline-yes">
|
|
115
|
-
<span class="cline-any cline-yes">
|
|
114
|
+
<span class="cline-any cline-yes">121x</span>
|
|
115
|
+
<span class="cline-any cline-yes">121x</span>
|
|
116
116
|
<span class="cline-any cline-neutral"> </span>
|
|
117
|
+
<span class="cline-any cline-yes">121x</span>
|
|
118
|
+
<span class="cline-any cline-yes">120x</span>
|
|
117
119
|
<span class="cline-any cline-yes">118x</span>
|
|
118
120
|
<span class="cline-any cline-yes">117x</span>
|
|
119
|
-
<span class="cline-any cline-yes">
|
|
121
|
+
<span class="cline-any cline-yes">116x</span>
|
|
120
122
|
<span class="cline-any cline-yes">114x</span>
|
|
121
|
-
<span class="cline-any cline-yes">
|
|
122
|
-
<span class="cline-any cline-yes">111x</span>
|
|
123
|
-
<span class="cline-any cline-yes">47x</span>
|
|
123
|
+
<span class="cline-any cline-yes">48x</span>
|
|
124
124
|
<span class="cline-any cline-neutral"> </span>
|
|
125
|
-
<span class="cline-any cline-yes">
|
|
125
|
+
<span class="cline-any cline-yes">66x</span>
|
|
126
126
|
<span class="cline-any cline-yes">1x</span>
|
|
127
127
|
<span class="cline-any cline-neutral"> </span>
|
|
128
128
|
<span class="cline-any cline-neutral"> </span>
|
|
129
129
|
<span class="cline-any cline-neutral"> </span>
|
|
130
|
-
<span class="cline-any cline-yes">
|
|
131
|
-
<span class="cline-any cline-yes">
|
|
130
|
+
<span class="cline-any cline-yes">54x</span>
|
|
131
|
+
<span class="cline-any cline-yes">54x</span>
|
|
132
132
|
<span class="cline-any cline-neutral"> </span>
|
|
133
|
-
<span class="cline-any cline-yes">
|
|
134
|
-
<span class="cline-any cline-yes">
|
|
135
|
-
<span class="cline-any cline-yes">
|
|
133
|
+
<span class="cline-any cline-yes">54x</span>
|
|
134
|
+
<span class="cline-any cline-yes">52x</span>
|
|
135
|
+
<span class="cline-any cline-yes">18x</span>
|
|
136
136
|
<span class="cline-any cline-neutral"> </span>
|
|
137
|
-
<span class="cline-any cline-yes">
|
|
137
|
+
<span class="cline-any cline-yes">34x</span>
|
|
138
138
|
<span class="cline-any cline-yes">2x</span>
|
|
139
139
|
<span class="cline-any cline-neutral"> </span>
|
|
140
140
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { join, resolve } from "node:path";
|
|
@@ -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-
|
|
184
|
+
at 2026-07-02T19:31:50.067Z
|
|
185
185
|
</div>
|
|
186
186
|
<script src="../../prettify.js"></script>
|
|
187
187
|
<script>
|
|
@@ -311,10 +311,10 @@
|
|
|
311
311
|
<span class="cline-any cline-neutral"> </span>
|
|
312
312
|
<span class="cline-any cline-neutral"> </span>
|
|
313
313
|
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-yes">
|
|
314
|
+
<span class="cline-any cline-yes">69x</span>
|
|
315
315
|
<span class="cline-any cline-neutral"> </span>
|
|
316
|
-
<span class="cline-any cline-yes">
|
|
317
|
-
<span class="cline-any cline-yes">
|
|
316
|
+
<span class="cline-any cline-yes">69x</span>
|
|
317
|
+
<span class="cline-any cline-yes">69x</span>
|
|
318
318
|
<span class="cline-any cline-neutral"> </span>
|
|
319
319
|
<span class="cline-any cline-neutral"> </span>
|
|
320
320
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -322,13 +322,13 @@
|
|
|
322
322
|
<span class="cline-any cline-neutral"> </span>
|
|
323
323
|
<span class="cline-any cline-neutral"> </span>
|
|
324
324
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-yes">
|
|
326
|
-
<span class="cline-any cline-yes">
|
|
325
|
+
<span class="cline-any cline-yes">57x</span>
|
|
326
|
+
<span class="cline-any cline-yes">50x</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-yes">93x</span>
|
|
330
330
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
-
<span class="cline-any cline-yes">
|
|
331
|
+
<span class="cline-any cline-yes">50x</span>
|
|
332
332
|
<span class="cline-any cline-neutral"> </span>
|
|
333
333
|
<span class="cline-any cline-neutral"> </span>
|
|
334
334
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -338,11 +338,11 @@
|
|
|
338
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
339
|
<span class="cline-any cline-neutral"> </span>
|
|
340
340
|
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-yes">
|
|
342
|
-
<span class="cline-any cline-yes">
|
|
343
|
-
<span class="cline-any cline-yes">
|
|
341
|
+
<span class="cline-any cline-yes">60x</span>
|
|
342
|
+
<span class="cline-any cline-yes">53x</span>
|
|
343
|
+
<span class="cline-any cline-yes">47x</span>
|
|
344
344
|
<span class="cline-any cline-neutral"> </span>
|
|
345
|
-
<span class="cline-any cline-yes">
|
|
345
|
+
<span class="cline-any cline-yes">53x</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>
|
|
@@ -360,30 +360,30 @@
|
|
|
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">
|
|
365
|
-
<span class="cline-any cline-yes">
|
|
366
|
-
<span class="cline-any cline-yes">
|
|
363
|
+
<span class="cline-any cline-yes">167x</span>
|
|
364
|
+
<span class="cline-any cline-yes">167x</span>
|
|
365
|
+
<span class="cline-any cline-yes">70x</span>
|
|
366
|
+
<span class="cline-any cline-yes">70x</span>
|
|
367
367
|
<span class="cline-any cline-yes">13x</span>
|
|
368
368
|
<span class="cline-any cline-yes">13x</span>
|
|
369
369
|
<span class="cline-any cline-yes">13x</span>
|
|
370
|
-
<span class="cline-any cline-yes">
|
|
371
|
-
<span class="cline-any cline-yes">
|
|
370
|
+
<span class="cline-any cline-yes">7x</span>
|
|
371
|
+
<span class="cline-any cline-yes">7x</span>
|
|
372
372
|
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-yes">
|
|
373
|
+
<span class="cline-any cline-yes">167x</span>
|
|
374
374
|
<span class="cline-any cline-neutral"> </span>
|
|
375
375
|
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-yes">
|
|
377
|
-
<span class="cline-any cline-yes">
|
|
378
|
-
<span class="cline-any cline-yes">
|
|
379
|
-
<span class="cline-any cline-yes">
|
|
380
|
-
<span class="cline-any cline-yes">
|
|
381
|
-
<span class="cline-any cline-yes">
|
|
382
|
-
<span class="cline-any cline-yes">
|
|
383
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">69x</span>
|
|
377
|
+
<span class="cline-any cline-yes">50x</span>
|
|
378
|
+
<span class="cline-any cline-yes">50x</span>
|
|
379
|
+
<span class="cline-any cline-yes">50x</span>
|
|
380
|
+
<span class="cline-any cline-yes">50x</span>
|
|
381
|
+
<span class="cline-any cline-yes">50x</span>
|
|
382
|
+
<span class="cline-any cline-yes">50x</span>
|
|
383
|
+
<span class="cline-any cline-yes">50x</span>
|
|
384
384
|
<span class="cline-any cline-neutral"> </span>
|
|
385
385
|
<span class="cline-any cline-neutral"> </span>
|
|
386
|
-
<span class="cline-any cline-yes">
|
|
386
|
+
<span class="cline-any cline-yes">69x</span>
|
|
387
387
|
<span class="cline-any cline-yes">7x</span>
|
|
388
388
|
<span class="cline-any cline-yes">7x</span>
|
|
389
389
|
<span class="cline-any cline-yes">7x</span>
|
|
@@ -392,7 +392,7 @@
|
|
|
392
392
|
<span class="cline-any cline-yes">7x</span>
|
|
393
393
|
<span class="cline-any cline-neutral"> </span>
|
|
394
394
|
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-yes">
|
|
395
|
+
<span class="cline-any cline-yes">69x</span>
|
|
396
396
|
<span class="cline-any cline-yes">20x</span>
|
|
397
397
|
<span class="cline-any cline-neutral"> </span>
|
|
398
398
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
<span class="cline-any cline-yes">20x</span>
|
|
402
402
|
<span class="cline-any cline-neutral"> </span>
|
|
403
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-yes">
|
|
404
|
+
<span class="cline-any cline-yes">69x</span>
|
|
405
405
|
<span class="cline-any cline-yes">24x</span>
|
|
406
406
|
<span class="cline-any cline-yes">24x</span>
|
|
407
407
|
<span class="cline-any cline-yes">24x</span>
|
|
@@ -413,12 +413,12 @@
|
|
|
413
413
|
<span class="cline-any cline-yes">24x</span>
|
|
414
414
|
<span class="cline-any cline-neutral"> </span>
|
|
415
415
|
<span class="cline-any cline-neutral"> </span>
|
|
416
|
-
<span class="cline-any cline-yes">
|
|
416
|
+
<span class="cline-any cline-yes">69x</span>
|
|
417
417
|
<span class="cline-any cline-yes">4x</span>
|
|
418
418
|
<span class="cline-any cline-yes">4x</span>
|
|
419
419
|
<span class="cline-any cline-neutral"> </span>
|
|
420
420
|
<span class="cline-any cline-neutral"> </span>
|
|
421
|
-
<span class="cline-any cline-yes">
|
|
421
|
+
<span class="cline-any cline-yes">69x</span>
|
|
422
422
|
<span class="cline-any cline-yes">3x</span>
|
|
423
423
|
<span class="cline-any cline-yes">3x</span>
|
|
424
424
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -439,7 +439,7 @@
|
|
|
439
439
|
<span class="cline-any cline-yes">3x</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">69x</span>
|
|
443
443
|
<span class="cline-any cline-yes">3x</span>
|
|
444
444
|
<span class="cline-any cline-yes">3x</span>
|
|
445
445
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -664,7 +664,7 @@ export function registerSessionRuntimeHooks(options: SessionRuntimeOptions): voi
|
|
|
664
664
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
665
665
|
Code coverage generated by
|
|
666
666
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
667
|
-
at 2026-
|
|
667
|
+
at 2026-07-02T19:31:50.067Z
|
|
668
668
|
</div>
|
|
669
669
|
<script src="../../prettify.js"></script>
|
|
670
670
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">96.07% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>49/51</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>11/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
47
|
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>45/45</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -226,7 +226,27 @@
|
|
|
226
226
|
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
227
|
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
228
|
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-neutral"> </span>
|
|
246
|
+
<span class="cline-any cline-neutral"> </span>
|
|
247
|
+
<span class="cline-any cline-neutral"> </span>
|
|
248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
230
250
|
<span class="cline-any cline-neutral"> </span>
|
|
231
251
|
<span class="cline-any cline-neutral"> </span>
|
|
232
252
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -279,7 +299,11 @@
|
|
|
279
299
|
<span class="cline-any cline-neutral"> </span>
|
|
280
300
|
<span class="cline-any cline-neutral"> </span>
|
|
281
301
|
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-
|
|
302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
|
+
<span class="cline-any cline-yes">77x</span>
|
|
283
307
|
<span class="cline-any cline-neutral"> </span>
|
|
284
308
|
<span class="cline-any cline-neutral"> </span>
|
|
285
309
|
<span class="cline-any cline-yes">15x</span>
|
|
@@ -298,14 +322,18 @@
|
|
|
298
322
|
<span class="cline-any cline-neutral"> </span>
|
|
299
323
|
<span class="cline-any cline-neutral"> </span>
|
|
300
324
|
<span class="cline-any cline-neutral"> </span>
|
|
301
|
-
<span class="cline-any cline-yes">
|
|
302
|
-
<span class="cline-any cline-yes">
|
|
325
|
+
<span class="cline-any cline-yes">40x</span>
|
|
326
|
+
<span class="cline-any cline-yes">40x</span>
|
|
303
327
|
<span class="cline-any cline-neutral"> </span>
|
|
304
328
|
<span class="cline-any cline-yes">8x</span>
|
|
305
329
|
<span class="cline-any cline-yes">8x</span>
|
|
306
330
|
<span class="cline-any cline-neutral"> </span>
|
|
307
331
|
<span class="cline-any cline-yes">5x</span>
|
|
308
332
|
<span class="cline-any cline-yes">5x</span>
|
|
333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
334
|
+
<span class="cline-any cline-yes">40x</span>
|
|
335
|
+
<span class="cline-any cline-yes">5x</span>
|
|
336
|
+
<span class="cline-any cline-yes">5x</span>
|
|
309
337
|
<span class="cline-any cline-yes">5x</span>
|
|
310
338
|
<span class="cline-any cline-yes">5x</span>
|
|
311
339
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -337,15 +365,15 @@
|
|
|
337
365
|
<span class="cline-any cline-neutral"> </span>
|
|
338
366
|
<span class="cline-any cline-neutral"> </span>
|
|
339
367
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-yes">
|
|
341
|
-
<span class="cline-any cline-yes">
|
|
368
|
+
<span class="cline-any cline-yes">77x</span>
|
|
369
|
+
<span class="cline-any cline-yes">77x</span>
|
|
342
370
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-yes">77x</span>
|
|
372
|
+
<span class="cline-any cline-yes">75x</span>
|
|
343
373
|
<span class="cline-any cline-yes">75x</span>
|
|
344
|
-
<span class="cline-any cline-yes">72x</span>
|
|
345
|
-
<span class="cline-any cline-yes">72x</span>
|
|
346
374
|
<span class="cline-any cline-neutral"> </span>
|
|
347
375
|
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">77x</span>
|
|
349
377
|
<span class="cline-any cline-neutral"> </span>
|
|
350
378
|
<span class="cline-any cline-neutral"> </span>
|
|
351
379
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -353,18 +381,18 @@
|
|
|
353
381
|
<span class="cline-any cline-yes">8x</span>
|
|
354
382
|
<span class="cline-any cline-neutral"> </span>
|
|
355
383
|
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-yes">
|
|
384
|
+
<span class="cline-any cline-yes">12x</span>
|
|
357
385
|
<span class="cline-any cline-neutral"> </span>
|
|
358
386
|
<span class="cline-any cline-neutral"> </span>
|
|
359
387
|
<span class="cline-any cline-neutral"> </span>
|
|
360
388
|
<span class="cline-any cline-neutral"> </span>
|
|
361
389
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
364
|
-
<span class="cline-any cline-yes">
|
|
365
|
-
<span class="cline-any cline-yes">
|
|
390
|
+
<span class="cline-any cline-yes">75x</span>
|
|
391
|
+
<span class="cline-any cline-yes">75x</span>
|
|
392
|
+
<span class="cline-any cline-yes">75x</span>
|
|
393
|
+
<span class="cline-any cline-yes">75x</span>
|
|
366
394
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">
|
|
395
|
+
<span class="cline-any cline-yes">75x</span>
|
|
368
396
|
<span class="cline-any cline-neutral"> </span>
|
|
369
397
|
<span class="cline-any cline-neutral"> </span>
|
|
370
398
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -372,15 +400,15 @@
|
|
|
372
400
|
<span class="cline-any cline-neutral"> </span>
|
|
373
401
|
<span class="cline-any cline-neutral"> </span>
|
|
374
402
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-yes">
|
|
376
|
-
<span class="cline-any cline-yes">
|
|
403
|
+
<span class="cline-any cline-yes">75x</span>
|
|
404
|
+
<span class="cline-any cline-yes">75x</span>
|
|
377
405
|
<span class="cline-any cline-neutral"> </span>
|
|
378
406
|
<span class="cline-any cline-neutral"> </span>
|
|
379
407
|
<span class="cline-any cline-neutral"> </span>
|
|
380
408
|
<span class="cline-any cline-neutral"> </span>
|
|
381
409
|
<span class="cline-any cline-neutral"> </span>
|
|
382
410
|
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-yes">
|
|
411
|
+
<span class="cline-any cline-yes">77x</span>
|
|
384
412
|
<span class="cline-any cline-neutral"> </span>
|
|
385
413
|
<span class="cline-any cline-neutral"> </span>
|
|
386
414
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -400,6 +428,12 @@ import {
|
|
|
400
428
|
} from "../task-backlog-coordinator.js";
|
|
401
429
|
import type { TaskStore } from "../task-store.js";
|
|
402
430
|
import type { LoopEntry, Trigger } from "../types.js";
|
|
431
|
+
import {
|
|
432
|
+
buildLoopAutodeletedPayload,
|
|
433
|
+
buildTaskBacklogEmptyPayload,
|
|
434
|
+
type LoopAutodeletedPayload,
|
|
435
|
+
type TaskBacklogEmptyPayload,
|
|
436
|
+
} from "./loop-events.js";
|
|
403
437
|
|
|
404
438
|
export const AUTO_TASK_WORKER_THRESHOLD = 5;
|
|
405
439
|
export const AUTO_TASK_WORKER_PROMPT = "Run TaskList, pick next pending task, mark it in_progress, implement it, run validation, complete it. If no pending tasks remain, call LoopDelete on your own loop ID.";
|
|
@@ -418,6 +452,8 @@ export interface TaskBacklogRuntimeOptions {
|
|
|
418
452
|
hasPendingTasks: () => Promise<number>;
|
|
419
453
|
bootstrapTaskLoop: (entry: LoopEntry) => Promise<boolean>;
|
|
420
454
|
triggerHasEventSource: (trigger: Trigger | string, source: string) => boolean;
|
|
455
|
+
emitLoopAutodeleted?: (payload: LoopAutodeletedPayload) => void;
|
|
456
|
+
emitTaskBacklogEmpty?: (payload: TaskBacklogEmptyPayload) => void;
|
|
421
457
|
debug?: (...args: unknown[]) => void;
|
|
422
458
|
}
|
|
423
459
|
|
|
@@ -441,6 +477,8 @@ export function createTaskBacklogRuntime(options: TaskBacklogRuntimeOptions): Ta
|
|
|
441
477
|
hasPendingTasks,
|
|
442
478
|
bootstrapTaskLoop,
|
|
443
479
|
triggerHasEventSource,
|
|
480
|
+
emitLoopAutodeleted,
|
|
481
|
+
emitTaskBacklogEmpty,
|
|
444
482
|
debug,
|
|
445
483
|
} = options;
|
|
446
484
|
|
|
@@ -467,10 +505,14 @@ export function createTaskBacklogRuntime(options: TaskBacklogRuntimeOptions): Ta
|
|
|
467
505
|
const pending = await hasPendingTasks();
|
|
468
506
|
if (pending < 0 || pending > 0) return 0;
|
|
469
507
|
|
|
508
|
+
emitTaskBacklogEmpty?.(
|
|
509
|
+
buildTaskBacklogEmptyPayload(backlogLoops.map((entry) => entry.id)),
|
|
510
|
+
);
|
|
470
511
|
for (const entry of backlogLoops) {
|
|
471
512
|
debug?.(`task backlog loop #${entry.id} — no pending tasks remain, deleting`);
|
|
472
513
|
removeTrigger(entry.id);
|
|
473
514
|
deleteLoop(entry.id);
|
|
515
|
+
emitLoopAutodeleted?.(buildLoopAutodeletedPayload(entry, pending));
|
|
474
516
|
}
|
|
475
517
|
updateWidget();
|
|
476
518
|
return backlogLoops.length;
|
|
@@ -559,7 +601,7 @@ export function createTaskBacklogRuntime(options: TaskBacklogRuntimeOptions): Ta
|
|
|
559
601
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
560
602
|
Code coverage generated by
|
|
561
603
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
562
|
-
at 2026-
|
|
604
|
+
at 2026-07-02T19:31:50.067Z
|
|
563
605
|
</div>
|
|
564
606
|
<script src="../../prettify.js"></script>
|
|
565
607
|
<script>
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
<span class="cline-any cline-neutral"> </span>
|
|
134
134
|
<span class="cline-any cline-neutral"> </span>
|
|
135
135
|
<span class="cline-any cline-neutral"> </span>
|
|
136
|
-
<span class="cline-any cline-yes">
|
|
136
|
+
<span class="cline-any cline-yes">96x</span>
|
|
137
137
|
<span class="cline-any cline-neutral"> </span>
|
|
138
138
|
<span class="cline-any cline-neutral"> </span>
|
|
139
139
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -193,7 +193,7 @@ export function emitNativeTaskEvent(
|
|
|
193
193
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
194
194
|
Code coverage generated by
|
|
195
195
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
196
|
-
at 2026-
|
|
196
|
+
at 2026-07-02T19:31:50.067Z
|
|
197
197
|
</div>
|
|
198
198
|
<script src="../../prettify.js"></script>
|
|
199
199
|
<script>
|