@trevonistrevon/pi-loop 0.5.8 → 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.
Files changed (127) hide show
  1. package/.release-please-manifest.json +3 -0
  2. package/AGENTS.md +52 -12
  3. package/CHANGELOG.md +59 -0
  4. package/CONTRIBUTING.md +13 -3
  5. package/Dockerfile +17 -0
  6. package/README.md +47 -0
  7. package/coverage/coverage-final.json +35 -31
  8. package/coverage/index.html +64 -49
  9. package/coverage/src/api.ts.html +193 -0
  10. package/coverage/src/commands/index.html +32 -32
  11. package/coverage/src/commands/loop-command.ts.html +170 -170
  12. package/coverage/src/commands/tasks-command.ts.html +135 -135
  13. package/coverage/src/coordinator.ts.html +26 -26
  14. package/coverage/src/index.html +61 -106
  15. package/coverage/src/index.ts.html +280 -94
  16. package/coverage/src/loop-parse.ts.html +90 -57
  17. package/coverage/src/loop-reducer.ts.html +25 -25
  18. package/coverage/src/monitor-completion-coordinator.ts.html +1 -1
  19. package/coverage/src/monitor-manager.ts.html +95 -71
  20. package/coverage/src/monitor-reducer.ts.html +15 -15
  21. package/coverage/src/notification-reducer.ts.html +7 -7
  22. package/coverage/src/reducer-backed-store.ts.html +57 -57
  23. package/coverage/src/rpc/channels.ts.html +376 -0
  24. package/coverage/src/rpc/cross-extension-rpc.ts.html +541 -0
  25. package/coverage/src/rpc/index.html +131 -0
  26. package/coverage/src/runtime/index.html +89 -29
  27. package/coverage/src/{goal-coordinator.ts.html → runtime/loop-events.ts.html} +79 -73
  28. package/coverage/src/runtime/monitor-ondone-runtime.ts.html +5 -5
  29. package/coverage/src/runtime/native-task-rpc.ts.html +502 -0
  30. package/coverage/src/runtime/notification-runtime.ts.html +14 -14
  31. package/coverage/src/runtime/scope.ts.html +17 -17
  32. package/coverage/src/runtime/session-runtime.ts.html +40 -40
  33. package/coverage/src/runtime/task-backlog-runtime.ts.html +66 -24
  34. package/coverage/src/runtime/task-events.ts.html +208 -0
  35. package/coverage/src/runtime/task-mutations.ts.html +394 -0
  36. package/coverage/src/runtime/task-rpc.ts.html +106 -118
  37. package/coverage/src/scheduler.ts.html +12 -12
  38. package/coverage/src/store.ts.html +20 -20
  39. package/coverage/src/task-backlog-coordinator.ts.html +8 -8
  40. package/coverage/src/task-reducer.ts.html +42 -42
  41. package/coverage/src/task-store.ts.html +49 -49
  42. package/coverage/src/tools/index.html +39 -24
  43. package/coverage/src/tools/loop-tools.ts.html +12 -21
  44. package/coverage/src/tools/monitor-tools.ts.html +12 -21
  45. package/coverage/src/tools/native-task-tools.ts.html +52 -94
  46. package/coverage/src/tools/tool-result.ts.html +97 -0
  47. package/coverage/src/trigger-system.ts.html +12 -12
  48. package/coverage/src/ui/index.html +1 -1
  49. package/coverage/src/ui/widget.ts.html +23 -23
  50. package/dist/api.d.ts +11 -0
  51. package/dist/api.js +10 -0
  52. package/dist/commands/loop-command.js +2 -2
  53. package/dist/commands/tasks-command.js +3 -3
  54. package/dist/coordinator.d.ts +1 -1
  55. package/dist/index.js +80 -20
  56. package/dist/loop-parse.js +14 -5
  57. package/dist/monitor-manager.d.ts +4 -1
  58. package/dist/monitor-manager.js +5 -3
  59. package/dist/reducer-backed-store.d.ts +1 -1
  60. package/dist/reducer-backed-store.js +1 -1
  61. package/dist/rpc/channels.d.ts +73 -0
  62. package/dist/rpc/channels.js +30 -0
  63. package/dist/rpc/cross-extension-rpc.d.ts +59 -0
  64. package/dist/rpc/cross-extension-rpc.js +117 -0
  65. package/dist/runtime/loop-events.d.ts +26 -0
  66. package/dist/runtime/loop-events.js +26 -0
  67. package/dist/runtime/native-task-rpc.d.ts +22 -0
  68. package/dist/runtime/native-task-rpc.js +50 -0
  69. package/dist/runtime/task-backlog-runtime.d.ts +3 -0
  70. package/dist/runtime/task-backlog-runtime.js +4 -1
  71. package/dist/runtime/task-mutations.d.ts +39 -0
  72. package/dist/runtime/task-mutations.js +68 -0
  73. package/dist/runtime/task-rpc.d.ts +4 -0
  74. package/dist/runtime/task-rpc.js +40 -58
  75. package/dist/scheduler.js +1 -1
  76. package/dist/tools/loop-tools.js +1 -3
  77. package/dist/tools/monitor-tools.js +1 -3
  78. package/dist/tools/native-task-tools.d.ts +2 -6
  79. package/dist/tools/native-task-tools.js +25 -55
  80. package/dist/tools/tool-result.d.ts +8 -0
  81. package/dist/tools/tool-result.js +4 -0
  82. package/docker-compose.yml +12 -0
  83. package/docs/architecture/state-machine-migration.md +0 -44
  84. package/docs/architecture/state-machine-reducer-event-model.md +2 -3
  85. package/package.json +6 -1
  86. package/release-please-config.json +9 -0
  87. package/src/api.ts +36 -0
  88. package/src/commands/loop-command.ts +2 -2
  89. package/src/commands/tasks-command.ts +3 -3
  90. package/src/coordinator.ts +1 -1
  91. package/src/index.ts +84 -22
  92. package/src/loop-parse.ts +18 -7
  93. package/src/monitor-manager.ts +11 -3
  94. package/src/reducer-backed-store.ts +3 -3
  95. package/src/rpc/channels.ts +97 -0
  96. package/src/rpc/cross-extension-rpc.ts +152 -0
  97. package/src/runtime/loop-events.ts +60 -0
  98. package/src/runtime/native-task-rpc.ts +139 -0
  99. package/src/runtime/task-backlog-runtime.ts +14 -0
  100. package/src/runtime/task-mutations.ts +103 -0
  101. package/src/runtime/task-rpc.ts +48 -54
  102. package/src/scheduler.ts +1 -1
  103. package/src/tools/loop-tools.ts +1 -4
  104. package/src/tools/monitor-tools.ts +1 -4
  105. package/src/tools/native-task-tools.ts +31 -52
  106. package/src/tools/tool-result.ts +4 -0
  107. package/src/trigger-system.ts +4 -4
  108. package/vitest.config.ts +11 -7
  109. package/coverage/src/goal-reducer.ts.html +0 -982
  110. package/coverage/src/goal-store.ts.html +0 -742
  111. package/coverage/src/goal-verifier.ts.html +0 -808
  112. package/dist/goal-coordinator.d.ts +0 -22
  113. package/dist/goal-coordinator.js +0 -28
  114. package/dist/goal-reducer.d.ts +0 -98
  115. package/dist/goal-reducer.js +0 -190
  116. package/dist/goal-store.d.ts +0 -22
  117. package/dist/goal-store.js +0 -188
  118. package/dist/goal-types.d.ts +0 -82
  119. package/dist/goal-types.js +0 -1
  120. package/dist/goal-verifier.d.ts +0 -20
  121. package/dist/goal-verifier.js +0 -198
  122. package/docs/architecture/goal-state-schema.md +0 -505
  123. package/src/goal-coordinator.ts +0 -58
  124. package/src/goal-reducer.ts +0 -299
  125. package/src/goal-store.ts +0 -219
  126. package/src/goal-types.ts +0 -104
  127. package/src/goal-verifier.ts +0 -241
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.75% </span>
26
+ <span class="strong">90.67% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1057/1152</span>
28
+ <span class='fraction'>836/922</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">83.85% </span>
33
+ <span class="strong">83.54% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>509/607</span>
35
+ <span class='fraction'>401/480</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">98.77% </span>
40
+ <span class="strong">98.5% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>241/244</span>
42
+ <span class='fraction'>197/200</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">94.07% </span>
47
+ <span class="strong">93.34% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>952/1012</span>
49
+ <span class='fraction'>757/811</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,108 +79,63 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
+ <td class="file empty" data-value="api.ts"><a href="api.ts.html">api.ts</a></td>
83
+ <td data-value="0" class="pic empty">
84
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
+ </td>
86
+ <td data-value="0" class="pct empty">0%</td>
87
+ <td data-value="0" class="abs empty">0/0</td>
88
+ <td data-value="0" class="pct empty">0%</td>
89
+ <td data-value="0" class="abs empty">0/0</td>
90
+ <td data-value="0" class="pct empty">0%</td>
91
+ <td data-value="0" class="abs empty">0/0</td>
92
+ <td data-value="0" class="pct empty">0%</td>
93
+ <td data-value="0" class="abs empty">0/0</td>
94
+ </tr>
95
+
96
+ <tr>
82
97
  <td class="file high" data-value="coordinator.ts"><a href="coordinator.ts.html">coordinator.ts</a></td>
83
98
  <td data-value="97.05" class="pic high">
84
99
  <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
85
100
  </td>
86
101
  <td data-value="97.05" class="pct high">97.05%</td>
87
102
  <td data-value="34" class="abs high">33/34</td>
88
- <td data-value="92" class="pct high">92%</td>
89
- <td data-value="25" class="abs high">23/25</td>
103
+ <td data-value="88" class="pct high">88%</td>
104
+ <td data-value="25" class="abs high">22/25</td>
90
105
  <td data-value="100" class="pct high">100%</td>
91
106
  <td data-value="6" class="abs high">6/6</td>
92
107
  <td data-value="96.77" class="pct high">96.77%</td>
93
108
  <td data-value="31" class="abs high">30/31</td>
94
109
  </tr>
95
110
 
96
- <tr>
97
- <td class="file high" data-value="goal-coordinator.ts"><a href="goal-coordinator.ts.html">goal-coordinator.ts</a></td>
98
- <td data-value="90.9" class="pic high">
99
- <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
100
- </td>
101
- <td data-value="90.9" class="pct high">90.9%</td>
102
- <td data-value="11" class="abs high">10/11</td>
103
- <td data-value="83.33" class="pct high">83.33%</td>
104
- <td data-value="6" class="abs high">5/6</td>
105
- <td data-value="100" class="pct high">100%</td>
106
- <td data-value="3" class="abs high">3/3</td>
107
- <td data-value="100" class="pct high">100%</td>
108
- <td data-value="8" class="abs high">8/8</td>
109
- </tr>
110
-
111
- <tr>
112
- <td class="file high" data-value="goal-reducer.ts"><a href="goal-reducer.ts.html">goal-reducer.ts</a></td>
113
- <td data-value="92.38" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
115
- </td>
116
- <td data-value="92.38" class="pct high">92.38%</td>
117
- <td data-value="105" class="abs high">97/105</td>
118
- <td data-value="85.96" class="pct high">85.96%</td>
119
- <td data-value="57" class="abs high">49/57</td>
120
- <td data-value="100" class="pct high">100%</td>
121
- <td data-value="6" class="abs high">6/6</td>
122
- <td data-value="94.68" class="pct high">94.68%</td>
123
- <td data-value="94" class="abs high">89/94</td>
124
- </tr>
125
-
126
- <tr>
127
- <td class="file high" data-value="goal-store.ts"><a href="goal-store.ts.html">goal-store.ts</a></td>
128
- <td data-value="96.72" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
130
- </td>
131
- <td data-value="96.72" class="pct high">96.72%</td>
132
- <td data-value="61" class="abs high">59/61</td>
133
- <td data-value="77.77" class="pct medium">77.77%</td>
134
- <td data-value="27" class="abs medium">21/27</td>
135
- <td data-value="100" class="pct high">100%</td>
136
- <td data-value="27" class="abs high">27/27</td>
137
- <td data-value="96.07" class="pct high">96.07%</td>
138
- <td data-value="51" class="abs high">49/51</td>
139
- </tr>
140
-
141
- <tr>
142
- <td class="file high" data-value="goal-verifier.ts"><a href="goal-verifier.ts.html">goal-verifier.ts</a></td>
143
- <td data-value="90.12" class="pic high">
144
- <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
145
- </td>
146
- <td data-value="90.12" class="pct high">90.12%</td>
147
- <td data-value="81" class="abs high">73/81</td>
148
- <td data-value="78.57" class="pct medium">78.57%</td>
149
- <td data-value="70" class="abs medium">55/70</td>
150
- <td data-value="100" class="pct high">100%</td>
151
- <td data-value="20" class="abs high">20/20</td>
152
- <td data-value="91.78" class="pct high">91.78%</td>
153
- <td data-value="73" class="abs high">67/73</td>
154
- </tr>
155
-
156
111
  <tr>
157
112
  <td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
158
- <td data-value="94.89" class="pic high">
113
+ <td data-value="94.4" class="pic high">
159
114
  <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
160
115
  </td>
161
- <td data-value="94.89" class="pct high">94.89%</td>
162
- <td data-value="137" class="abs high">130/137</td>
163
- <td data-value="88.63" class="pct high">88.63%</td>
164
- <td data-value="44" class="abs high">39/44</td>
165
- <td data-value="96.55" class="pct high">96.55%</td>
166
- <td data-value="58" class="abs high">56/58</td>
167
- <td data-value="96.72" class="pct high">96.72%</td>
168
- <td data-value="122" class="abs high">118/122</td>
116
+ <td data-value="94.4" class="pct high">94.4%</td>
117
+ <td data-value="161" class="abs high">152/161</td>
118
+ <td data-value="85.71" class="pct high">85.71%</td>
119
+ <td data-value="56" class="abs high">48/56</td>
120
+ <td data-value="98.55" class="pct high">98.55%</td>
121
+ <td data-value="69" class="abs high">68/69</td>
122
+ <td data-value="96.52" class="pct high">96.52%</td>
123
+ <td data-value="144" class="abs high">139/144</td>
169
124
  </tr>
170
125
 
171
126
  <tr>
172
127
  <td class="file high" data-value="loop-parse.ts"><a href="loop-parse.ts.html">loop-parse.ts</a></td>
173
- <td data-value="88.54" class="pic high">
174
- <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
128
+ <td data-value="87.75" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
175
130
  </td>
176
- <td data-value="88.54" class="pct high">88.54%</td>
177
- <td data-value="96" class="abs high">85/96</td>
178
- <td data-value="81.35" class="pct high">81.35%</td>
179
- <td data-value="59" class="abs high">48/59</td>
131
+ <td data-value="87.75" class="pct high">87.75%</td>
132
+ <td data-value="98" class="abs high">86/98</td>
133
+ <td data-value="78.94" class="pct medium">78.94%</td>
134
+ <td data-value="76" class="abs medium">60/76</td>
180
135
  <td data-value="100" class="pct high">100%</td>
181
136
  <td data-value="7" class="abs high">7/7</td>
182
- <td data-value="91.35" class="pct high">91.35%</td>
183
- <td data-value="81" class="abs high">74/81</td>
137
+ <td data-value="90.36" class="pct high">90.36%</td>
138
+ <td data-value="83" class="abs high">75/83</td>
184
139
  </tr>
185
140
 
186
141
  <tr>
@@ -215,17 +170,17 @@
215
170
 
216
171
  <tr>
217
172
  <td class="file high" data-value="monitor-manager.ts"><a href="monitor-manager.ts.html">monitor-manager.ts</a></td>
218
- <td data-value="86.11" class="pic high">
219
- <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
173
+ <td data-value="80.9" class="pic high">
174
+ <div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
220
175
  </td>
221
- <td data-value="86.11" class="pct high">86.11%</td>
222
- <td data-value="108" class="abs high">93/108</td>
223
- <td data-value="81.08" class="pct high">81.08%</td>
224
- <td data-value="37" class="abs high">30/37</td>
225
- <td data-value="95.83" class="pct high">95.83%</td>
226
- <td data-value="24" class="abs high">23/24</td>
227
- <td data-value="90.72" class="pct high">90.72%</td>
228
- <td data-value="97" class="abs high">88/97</td>
176
+ <td data-value="80.9" class="pct high">80.9%</td>
177
+ <td data-value="110" class="abs high">89/110</td>
178
+ <td data-value="76.92" class="pct medium">76.92%</td>
179
+ <td data-value="39" class="abs medium">30/39</td>
180
+ <td data-value="92" class="pct high">92%</td>
181
+ <td data-value="25" class="abs high">23/25</td>
182
+ <td data-value="85.71" class="pct high">85.71%</td>
183
+ <td data-value="98" class="abs high">84/98</td>
229
184
  </tr>
230
185
 
231
186
  <tr>
@@ -280,8 +235,8 @@
280
235
  </td>
281
236
  <td data-value="86.53" class="pct high">86.53%</td>
282
237
  <td data-value="52" class="abs high">45/52</td>
283
- <td data-value="85.1" class="pct high">85.1%</td>
284
- <td data-value="47" class="abs high">40/47</td>
238
+ <td data-value="83.67" class="pct high">83.67%</td>
239
+ <td data-value="49" class="abs high">41/49</td>
285
240
  <td data-value="100" class="pct high">100%</td>
286
241
  <td data-value="9" class="abs high">9/9</td>
287
242
  <td data-value="87.75" class="pct high">87.75%</td>
@@ -325,8 +280,8 @@
325
280
  </td>
326
281
  <td data-value="100" class="pct high">100%</td>
327
282
  <td data-value="44" class="abs high">44/44</td>
328
- <td data-value="95.45" class="pct high">95.45%</td>
329
- <td data-value="22" class="abs high">21/22</td>
283
+ <td data-value="100" class="pct high">100%</td>
284
+ <td data-value="22" class="abs high">22/22</td>
330
285
  <td data-value="100" class="pct high">100%</td>
331
286
  <td data-value="2" class="abs high">2/2</td>
332
287
  <td data-value="100" class="pct high">100%</td>
@@ -335,11 +290,11 @@
335
290
 
336
291
  <tr>
337
292
  <td class="file high" data-value="task-store.ts"><a href="task-store.ts.html">task-store.ts</a></td>
338
- <td data-value="96.36" class="pic high">
339
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
293
+ <td data-value="94.54" class="pic high">
294
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
340
295
  </td>
341
- <td data-value="96.36" class="pct high">96.36%</td>
342
- <td data-value="55" class="abs high">53/55</td>
296
+ <td data-value="94.54" class="pct high">94.54%</td>
297
+ <td data-value="55" class="abs high">52/55</td>
343
298
  <td data-value="85" class="pct high">85%</td>
344
299
  <td data-value="20" class="abs high">17/20</td>
345
300
  <td data-value="100" class="pct high">100%</td>
@@ -371,7 +326,7 @@
371
326
  <div class='footer quiet pad2 space-top1 center small'>
372
327
  Code coverage generated by
373
328
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
374
- at 2026-06-19T00:56:38.236Z
329
+ at 2026-07-02T19:31:50.067Z
375
330
  </div>
376
331
  <script src="../prettify.js"></script>
377
332
  <script>