@trevonistrevon/pi-loop 0.5.7 → 0.5.9

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 (61) hide show
  1. package/.release-please-manifest.json +3 -0
  2. package/Dockerfile +17 -0
  3. package/coverage/coverage-final.json +28 -27
  4. package/coverage/index.html +47 -47
  5. package/coverage/src/commands/index.html +15 -15
  6. package/coverage/src/commands/loop-command.ts.html +3 -3
  7. package/coverage/src/commands/tasks-command.ts.html +23 -23
  8. package/coverage/src/coordinator.ts.html +20 -20
  9. package/coverage/src/goal-coordinator.ts.html +1 -1
  10. package/coverage/src/goal-reducer.ts.html +1 -1
  11. package/coverage/src/goal-store.ts.html +1 -1
  12. package/coverage/src/goal-verifier.ts.html +1 -1
  13. package/coverage/src/index.html +42 -42
  14. package/coverage/src/index.ts.html +122 -74
  15. package/coverage/src/loop-parse.ts.html +61 -61
  16. package/coverage/src/loop-reducer.ts.html +25 -25
  17. package/coverage/src/monitor-completion-coordinator.ts.html +3 -3
  18. package/coverage/src/monitor-manager.ts.html +73 -67
  19. package/coverage/src/monitor-reducer.ts.html +27 -27
  20. package/coverage/src/notification-reducer.ts.html +7 -7
  21. package/coverage/src/reducer-backed-store.ts.html +53 -53
  22. package/coverage/src/runtime/index.html +66 -51
  23. package/coverage/src/runtime/monitor-ondone-runtime.ts.html +39 -39
  24. package/coverage/src/runtime/notification-runtime.ts.html +14 -14
  25. package/coverage/src/runtime/scope.ts.html +34 -34
  26. package/coverage/src/runtime/session-runtime.ts.html +63 -57
  27. package/coverage/src/runtime/task-backlog-runtime.ts.html +48 -48
  28. package/coverage/src/runtime/task-events.ts.html +208 -0
  29. package/coverage/src/runtime/task-rpc.ts.html +88 -82
  30. package/coverage/src/scheduler.ts.html +34 -34
  31. package/coverage/src/store.ts.html +21 -21
  32. package/coverage/src/task-backlog-coordinator.ts.html +8 -8
  33. package/coverage/src/task-reducer.ts.html +39 -39
  34. package/coverage/src/task-store.ts.html +55 -55
  35. package/coverage/src/tools/index.html +43 -43
  36. package/coverage/src/tools/loop-tools.ts.html +94 -94
  37. package/coverage/src/tools/monitor-tools.ts.html +53 -53
  38. package/coverage/src/tools/native-task-tools.ts.html +99 -78
  39. package/coverage/src/trigger-system.ts.html +8 -8
  40. package/coverage/src/ui/index.html +1 -1
  41. package/coverage/src/ui/widget.ts.html +5 -5
  42. package/dist/commands/tasks-command.js +12 -9
  43. package/dist/index.js +34 -19
  44. package/dist/monitor-manager.d.ts +4 -1
  45. package/dist/monitor-manager.js +8 -4
  46. package/dist/runtime/session-runtime.js +3 -1
  47. package/dist/runtime/task-events.d.ts +15 -0
  48. package/dist/runtime/task-events.js +13 -0
  49. package/dist/runtime/task-rpc.js +2 -0
  50. package/dist/tools/native-task-tools.js +20 -9
  51. package/docker-compose.yml +12 -0
  52. package/package.json +1 -1
  53. package/release-please-config.json +9 -0
  54. package/src/commands/tasks-command.ts +9 -9
  55. package/src/index.ts +37 -21
  56. package/src/monitor-manager.ts +14 -4
  57. package/src/runtime/session-runtime.ts +3 -1
  58. package/src/runtime/task-events.ts +41 -0
  59. package/src/runtime/task-rpc.ts +2 -0
  60. package/src/tools/native-task-tools.ts +16 -9
  61. package/vitest.config.ts +11 -7
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">80.76% </span>
26
+ <span class="strong">86.53% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>42/52</span>
28
+ <span class='fraction'>45/52</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">78.72% </span>
33
+ <span class="strong">85.1% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>37/47</span>
35
+ <span class='fraction'>40/47</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">81.63% </span>
47
+ <span class="strong">87.75% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>40/49</span>
49
+ <span class='fraction'>43/49</span>
50
50
  </div>
51
51
 
52
52
 
@@ -175,18 +175,18 @@
175
175
  <span class="cline-any cline-yes">5x</span>
176
176
  <span class="cline-any cline-neutral">&nbsp;</span>
177
177
  <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">34x</span>
179
- <span class="cline-any cline-yes">34x</span>
178
+ <span class="cline-any cline-yes">33x</span>
179
+ <span class="cline-any cline-yes">33x</span>
180
180
  <span class="cline-any cline-neutral">&nbsp;</span>
181
181
  <span class="cline-any cline-no">&nbsp;</span>
182
182
  <span class="cline-any cline-neutral">&nbsp;</span>
183
183
  <span class="cline-any cline-neutral">&nbsp;</span>
184
184
  <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-yes">132x</span>
185
+ <span class="cline-any cline-yes">134x</span>
186
186
  <span class="cline-any cline-neutral">&nbsp;</span>
187
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-yes">132x</span>
189
- <span class="cline-any cline-yes">132x</span>
188
+ <span class="cline-any cline-yes">134x</span>
189
+ <span class="cline-any cline-yes">134x</span>
190
190
  <span class="cline-any cline-neutral">&nbsp;</span>
191
191
  <span class="cline-any cline-neutral">&nbsp;</span>
192
192
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -217,33 +217,33 @@
217
217
  <span class="cline-any cline-neutral">&nbsp;</span>
218
218
  <span class="cline-any cline-neutral">&nbsp;</span>
219
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">34x</span>
220
+ <span class="cline-any cline-yes">33x</span>
221
221
  <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">34x</span>
223
- <span class="cline-any cline-yes">34x</span>
224
- <span class="cline-any cline-yes">34x</span>
225
- <span class="cline-any cline-yes">34x</span>
226
- <span class="cline-any cline-yes">34x</span>
222
+ <span class="cline-any cline-yes">33x</span>
223
+ <span class="cline-any cline-yes">33x</span>
224
+ <span class="cline-any cline-yes">33x</span>
225
+ <span class="cline-any cline-yes">33x</span>
226
+ <span class="cline-any cline-yes">33x</span>
227
227
  <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">34x</span>
228
+ <span class="cline-any cline-yes">33x</span>
229
229
  <span class="cline-any cline-yes">1x</span>
230
230
  <span class="cline-any cline-yes">1x</span>
231
231
  <span class="cline-any cline-neutral">&nbsp;</span>
232
232
  <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">33x</span>
233
+ <span class="cline-any cline-yes">32x</span>
234
234
  <span class="cline-any cline-neutral">&nbsp;</span>
235
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
236
  <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-yes">149x</span>
238
- <span class="cline-any cline-yes">82x</span>
237
+ <span class="cline-any cline-yes">171x</span>
238
+ <span class="cline-any cline-yes">72x</span>
239
239
  <span class="cline-any cline-neutral">&nbsp;</span>
240
- <span class="cline-any cline-yes">21x</span>
241
- <span class="cline-any cline-yes">21x</span>
240
+ <span class="cline-any cline-yes">22x</span>
241
+ <span class="cline-any cline-yes">22x</span>
242
242
  <span class="cline-any cline-yes">1x</span>
243
243
  <span class="cline-any cline-yes">1x</span>
244
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
245
  <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-yes">20x</span>
246
+ <span class="cline-any cline-yes">21x</span>
247
247
  <span class="cline-any cline-neutral">&nbsp;</span>
248
248
  <span class="cline-any cline-yes">10x</span>
249
249
  <span class="cline-any cline-no">&nbsp;</span>
@@ -260,13 +260,13 @@
260
260
  <span class="cline-any cline-neutral">&nbsp;</span>
261
261
  <span class="cline-any cline-neutral">&nbsp;</span>
262
262
  <span class="cline-any cline-yes">10x</span>
263
- <span class="cline-any cline-no">&nbsp;</span>
264
- <span class="cline-any cline-no">&nbsp;</span>
265
- <span class="cline-any cline-no">&nbsp;</span>
263
+ <span class="cline-any cline-yes">1x</span>
264
+ <span class="cline-any cline-yes">1x</span>
265
+ <span class="cline-any cline-yes">1x</span>
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-yes">10x</span>
269
- <span class="cline-any cline-yes">8x</span>
268
+ <span class="cline-any cline-yes">9x</span>
269
+ <span class="cline-any cline-yes">7x</span>
270
270
  <span class="cline-any cline-neutral">&nbsp;</span>
271
271
  <span class="cline-any cline-yes">2x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -364,10 +364,10 @@ export class CronScheduler {
364
364
  <span class="cstat-no" title="statement not covered" > continue;</span>
365
365
  }
366
366
  &nbsp;
367
- <span class="missing-if-branch" title="if path not taken" >I</span>if (fresh.recurring &amp;&amp; fresh.<span class="branch-2 cbranch-no" title="branch not covered" >maxFires &amp;&amp; (fresh.fireCount ?? 0) &gt;= fresh.maxFires) {</span>
368
- <span class="cstat-no" title="statement not covered" > this.store.delete(id);</span>
369
- <span class="cstat-no" title="statement not covered" > this.fireTimes.delete(id);</span>
370
- <span class="cstat-no" title="statement not covered" > continue;</span>
367
+ if (fresh.recurring &amp;&amp; fresh.maxFires &amp;&amp; (fresh.fireCount ?? <span class="branch-1 cbranch-no" title="branch not covered" >0) &gt;= f</span>resh.maxFires) {
368
+ this.store.delete(id);
369
+ this.fireTimes.delete(id);
370
+ continue;
371
371
  }
372
372
  &nbsp;
373
373
  if (fresh.recurring) {
@@ -385,7 +385,7 @@ export class CronScheduler {
385
385
  <div class='footer quiet pad2 space-top1 center small'>
386
386
  Code coverage generated by
387
387
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
388
- at 2026-06-18T20:54:08.775Z
388
+ at 2026-06-23T21:49:18.784Z
389
389
  </div>
390
390
  <script src="../prettify.js"></script>
391
391
  <script>
@@ -263,31 +263,31 @@
263
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
264
  <span class="cline-any cline-neutral">&nbsp;</span>
265
265
  <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-yes">7x</span>
267
- <span class="cline-any cline-yes">7x</span>
266
+ <span class="cline-any cline-yes">9x</span>
267
+ <span class="cline-any cline-yes">9x</span>
268
268
  <span class="cline-any cline-neutral">&nbsp;</span>
269
269
  <span class="cline-any cline-neutral">&nbsp;</span>
270
270
  <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">180x</span>
271
+ <span class="cline-any cline-yes">202x</span>
272
272
  <span class="cline-any cline-neutral">&nbsp;</span>
273
273
  <span class="cline-any cline-neutral">&nbsp;</span>
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>
274
+ <span class="cline-any cline-yes">192x</span>
275
+ <span class="cline-any cline-yes">192x</span>
276
+ <span class="cline-any cline-yes">192x</span>
277
+ <span class="cline-any cline-yes">62x</span>
278
+ <span class="cline-any cline-yes">38x</span>
279
279
  <span class="cline-any cline-neutral">&nbsp;</span>
280
280
  <span class="cline-any cline-neutral">&nbsp;</span>
281
281
  <span class="cline-any cline-neutral">&nbsp;</span>
282
282
  <span class="cline-any cline-neutral">&nbsp;</span>
283
283
  <span class="cline-any cline-neutral">&nbsp;</span>
284
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-yes">118x</span>
286
- <span class="cline-any cline-yes">118x</span>
285
+ <span class="cline-any cline-yes">130x</span>
286
+ <span class="cline-any cline-yes">130x</span>
287
287
  <span class="cline-any cline-yes">1x</span>
288
288
  <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-yes">117x</span>
290
- <span class="cline-any cline-yes">117x</span>
289
+ <span class="cline-any cline-yes">129x</span>
290
+ <span class="cline-any cline-yes">129x</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
292
292
  <span class="cline-any cline-neutral">&nbsp;</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -302,15 +302,15 @@
302
302
  <span class="cline-any cline-neutral">&nbsp;</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-yes">117x</span>
305
+ <span class="cline-any cline-yes">129x</span>
306
306
  <span class="cline-any cline-neutral">&nbsp;</span>
307
307
  <span class="cline-any cline-neutral">&nbsp;</span>
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-yes">7x</span>
311
+ <span class="cline-any cline-yes">7x</span>
312
+ <span class="cline-any cline-yes">7x</span>
310
313
  <span class="cline-any cline-yes">6x</span>
311
- <span class="cline-any cline-yes">6x</span>
312
- <span class="cline-any cline-yes">6x</span>
313
- <span class="cline-any cline-yes">5x</span>
314
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
315
  <span class="cline-any cline-neutral">&nbsp;</span>
316
316
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -318,7 +318,7 @@
318
318
  <span class="cline-any cline-neutral">&nbsp;</span>
319
319
  <span class="cline-any cline-neutral">&nbsp;</span>
320
320
  <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-yes">5x</span>
321
+ <span class="cline-any cline-yes">6x</span>
322
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
323
  <span class="cline-any cline-neutral">&nbsp;</span>
324
324
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -379,9 +379,9 @@
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">26x</span>
383
+ <span class="cline-any cline-yes">26x</span>
382
384
  <span class="cline-any cline-yes">23x</span>
383
- <span class="cline-any cline-yes">23x</span>
384
- <span class="cline-any cline-yes">21x</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>
@@ -389,7 +389,7 @@
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
- <span class="cline-any cline-yes">21x</span>
392
+ <span class="cline-any cline-yes">23x</span>
393
393
  <span class="cline-any cline-neutral">&nbsp;</span>
394
394
  <span class="cline-any cline-neutral">&nbsp;</span>
395
395
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -652,7 +652,7 @@ export class LoopStore extends ReducerBackedStore&lt;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-18T20:54:08.775Z
655
+ at 2026-06-23T21:49:18.784Z
656
656
  </div>
657
657
  <script src="../prettify.js"></script>
658
658
  <script>
@@ -107,19 +107,19 @@
107
107
  <span class="cline-any cline-neutral">&nbsp;</span>
108
108
  <span class="cline-any cline-neutral">&nbsp;</span>
109
109
  <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-yes">74x</span>
110
+ <span class="cline-any cline-yes">76x</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-yes">74x</span>
113
- <span class="cline-any cline-yes">74x</span>
114
- <span class="cline-any cline-yes">74x</span>
115
- <span class="cline-any cline-yes">11x</span>
112
+ <span class="cline-any cline-yes">76x</span>
113
+ <span class="cline-any cline-yes">76x</span>
114
+ <span class="cline-any cline-yes">76x</span>
115
+ <span class="cline-any cline-yes">12x</span>
116
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
117
  <span class="cline-any cline-neutral">&nbsp;</span>
118
118
  <span class="cline-any cline-neutral">&nbsp;</span>
119
119
  <span class="cline-any cline-neutral">&nbsp;</span>
120
120
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-yes">63x</span>
122
- <span class="cline-any cline-yes">9x</span>
121
+ <span class="cline-any cline-yes">64x</span>
122
+ <span class="cline-any cline-yes">10x</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
125
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -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-18T20:54:08.775Z
169
+ at 2026-06-23T21:49:18.784Z
170
170
  </div>
171
171
  <script src="../prettify.js"></script>
172
172
  <script>
@@ -289,17 +289,17 @@
289
289
  <span class="cline-any cline-neutral">&nbsp;</span>
290
290
  <span class="cline-any cline-neutral">&nbsp;</span>
291
291
  <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-yes">105x</span>
292
+ <span class="cline-any cline-yes">146x</span>
293
293
  <span class="cline-any cline-neutral">&nbsp;</span>
294
294
  <span class="cline-any cline-neutral">&nbsp;</span>
295
295
  <span class="cline-any cline-neutral">&nbsp;</span>
296
296
  <span class="cline-any cline-neutral">&nbsp;</span>
297
297
  <span class="cline-any cline-neutral">&nbsp;</span>
298
298
  <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-yes">106x</span>
300
- <span class="cline-any cline-yes">56x</span>
301
- <span class="cline-any cline-yes">56x</span>
302
- <span class="cline-any cline-yes">56x</span>
299
+ <span class="cline-any cline-yes">147x</span>
300
+ <span class="cline-any cline-yes">89x</span>
301
+ <span class="cline-any cline-yes">89x</span>
302
+ <span class="cline-any cline-yes">89x</span>
303
303
  <span class="cline-any cline-neutral">&nbsp;</span>
304
304
  <span class="cline-any cline-neutral">&nbsp;</span>
305
305
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -308,67 +308,67 @@
308
308
  <span class="cline-any cline-neutral">&nbsp;</span>
309
309
  <span class="cline-any cline-neutral">&nbsp;</span>
310
310
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">56x</span>
312
- <span class="cline-any cline-yes">56x</span>
311
+ <span class="cline-any cline-yes">89x</span>
312
+ <span class="cline-any cline-yes">89x</span>
313
313
  <span class="cline-any cline-neutral">&nbsp;</span>
314
314
  <span class="cline-any cline-neutral">&nbsp;</span>
315
315
  <span class="cline-any cline-neutral">&nbsp;</span>
316
316
  <span class="cline-any cline-neutral">&nbsp;</span>
317
317
  <span class="cline-any cline-neutral">&nbsp;</span>
318
- <span class="cline-any cline-yes">50x</span>
319
- <span class="cline-any cline-yes">6x</span>
320
- <span class="cline-any cline-yes">6x</span>
321
- <span class="cline-any cline-yes">6x</span>
322
- <span class="cline-any cline-yes">11x</span>
318
+ <span class="cline-any cline-yes">58x</span>
319
+ <span class="cline-any cline-yes">7x</span>
323
320
  <span class="cline-any cline-yes">7x</span>
324
321
  <span class="cline-any cline-yes">7x</span>
322
+ <span class="cline-any cline-yes">12x</span>
323
+ <span class="cline-any cline-yes">8x</span>
324
+ <span class="cline-any cline-yes">8x</span>
325
325
  <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">6x</span>
326
+ <span class="cline-any cline-yes">7x</span>
327
327
  <span class="cline-any cline-neutral">&nbsp;</span>
328
328
  <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">44x</span>
330
- <span class="cline-any cline-yes">44x</span>
331
- <span class="cline-any cline-yes">44x</span>
329
+ <span class="cline-any cline-yes">51x</span>
330
+ <span class="cline-any cline-yes">51x</span>
331
+ <span class="cline-any cline-yes">51x</span>
332
332
  <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-yes">43x</span>
334
- <span class="cline-any cline-yes">1x</span>
335
- <span class="cline-any cline-yes">1x</span>
336
- <span class="cline-any cline-yes">1x</span>
333
+ <span class="cline-any cline-yes">50x</span>
334
+ <span class="cline-any cline-yes">2x</span>
335
+ <span class="cline-any cline-yes">2x</span>
336
+ <span class="cline-any cline-yes">2x</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
340
  <span class="cline-any cline-neutral">&nbsp;</span>
341
341
  <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-yes">42x</span>
343
- <span class="cline-any cline-yes">42x</span>
342
+ <span class="cline-any cline-yes">48x</span>
343
+ <span class="cline-any cline-yes">48x</span>
344
344
  <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-yes">42x</span>
346
- <span class="cline-any cline-yes">8x</span>
347
- <span class="cline-any cline-yes">8x</span>
345
+ <span class="cline-any cline-yes">48x</span>
346
+ <span class="cline-any cline-yes">10x</span>
347
+ <span class="cline-any cline-yes">10x</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">42x</span>
351
- <span class="cline-any cline-yes">23x</span>
352
- <span class="cline-any cline-yes">23x</span>
353
- <span class="cline-any cline-yes">23x</span>
350
+ <span class="cline-any cline-yes">48x</span>
351
+ <span class="cline-any cline-yes">25x</span>
352
+ <span class="cline-any cline-yes">25x</span>
353
+ <span class="cline-any cline-yes">25x</span>
354
354
  <span class="cline-any cline-neutral">&nbsp;</span>
355
355
  <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-yes">42x</span>
357
- <span class="cline-any cline-yes">8x</span>
358
- <span class="cline-any cline-yes">8x</span>
356
+ <span class="cline-any cline-yes">48x</span>
357
+ <span class="cline-any cline-yes">9x</span>
358
+ <span class="cline-any cline-yes">9x</span>
359
359
  <span class="cline-any cline-neutral">&nbsp;</span>
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
363
  <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-yes">42x</span>
365
- <span class="cline-any cline-yes">3x</span>
366
- <span class="cline-any cline-yes">3x</span>
367
- <span class="cline-any cline-yes">3x</span>
364
+ <span class="cline-any cline-yes">48x</span>
365
+ <span class="cline-any cline-yes">4x</span>
366
+ <span class="cline-any cline-yes">4x</span>
367
+ <span class="cline-any cline-yes">4x</span>
368
368
  <span class="cline-any cline-neutral">&nbsp;</span>
369
369
  <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-yes">42x</span>
371
- <span class="cline-any cline-yes">42x</span>
370
+ <span class="cline-any cline-yes">48x</span>
371
+ <span class="cline-any cline-yes">48x</span>
372
372
  <span class="cline-any cline-neutral">&nbsp;</span>
373
373
  <span class="cline-any cline-neutral">&nbsp;</span>
374
374
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -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-18T20:54:08.775Z
538
+ at 2026-06-23T21:49:18.784Z
539
539
  </div>
540
540
  <script src="../prettify.js"></script>
541
541
  <script>