@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.
Files changed (121) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/AGENTS.md +52 -12
  3. package/CHANGELOG.md +59 -0
  4. package/CONTRIBUTING.md +13 -3
  5. package/README.md +47 -0
  6. package/coverage/coverage-final.json +35 -32
  7. package/coverage/index.html +64 -49
  8. package/coverage/src/api.ts.html +193 -0
  9. package/coverage/src/commands/index.html +32 -32
  10. package/coverage/src/commands/loop-command.ts.html +170 -170
  11. package/coverage/src/commands/tasks-command.ts.html +129 -129
  12. package/coverage/src/coordinator.ts.html +26 -26
  13. package/coverage/src/index.html +61 -106
  14. package/coverage/src/index.ts.html +224 -86
  15. package/coverage/src/loop-parse.ts.html +106 -73
  16. package/coverage/src/loop-reducer.ts.html +21 -21
  17. package/coverage/src/monitor-completion-coordinator.ts.html +1 -1
  18. package/coverage/src/monitor-manager.ts.html +95 -71
  19. package/coverage/src/monitor-reducer.ts.html +15 -15
  20. package/coverage/src/notification-reducer.ts.html +6 -6
  21. package/coverage/src/reducer-backed-store.ts.html +57 -57
  22. package/coverage/src/rpc/channels.ts.html +376 -0
  23. package/coverage/src/rpc/cross-extension-rpc.ts.html +541 -0
  24. package/coverage/src/rpc/index.html +131 -0
  25. package/coverage/src/runtime/index.html +68 -23
  26. package/coverage/src/{goal-coordinator.ts.html → runtime/loop-events.ts.html} +79 -73
  27. package/coverage/src/runtime/monitor-ondone-runtime.ts.html +5 -5
  28. package/coverage/src/runtime/native-task-rpc.ts.html +502 -0
  29. package/coverage/src/runtime/notification-runtime.ts.html +22 -22
  30. package/coverage/src/runtime/scope.ts.html +14 -14
  31. package/coverage/src/runtime/session-runtime.ts.html +32 -32
  32. package/coverage/src/runtime/task-backlog-runtime.ts.html +65 -23
  33. package/coverage/src/runtime/task-events.ts.html +2 -2
  34. package/coverage/src/runtime/task-mutations.ts.html +394 -0
  35. package/coverage/src/runtime/task-rpc.ts.html +102 -120
  36. package/coverage/src/scheduler.ts.html +29 -29
  37. package/coverage/src/store.ts.html +27 -27
  38. package/coverage/src/task-backlog-coordinator.ts.html +8 -8
  39. package/coverage/src/task-reducer.ts.html +42 -42
  40. package/coverage/src/task-store.ts.html +49 -49
  41. package/coverage/src/tools/index.html +39 -24
  42. package/coverage/src/tools/loop-tools.ts.html +12 -21
  43. package/coverage/src/tools/monitor-tools.ts.html +12 -21
  44. package/coverage/src/tools/native-task-tools.ts.html +57 -120
  45. package/coverage/src/tools/tool-result.ts.html +97 -0
  46. package/coverage/src/trigger-system.ts.html +12 -12
  47. package/coverage/src/ui/index.html +1 -1
  48. package/coverage/src/ui/widget.ts.html +23 -23
  49. package/dist/api.d.ts +11 -0
  50. package/dist/api.js +10 -0
  51. package/dist/commands/loop-command.js +2 -2
  52. package/dist/commands/tasks-command.js +3 -3
  53. package/dist/coordinator.d.ts +1 -1
  54. package/dist/index.js +48 -3
  55. package/dist/loop-parse.js +14 -5
  56. package/dist/reducer-backed-store.d.ts +1 -1
  57. package/dist/reducer-backed-store.js +1 -1
  58. package/dist/rpc/channels.d.ts +73 -0
  59. package/dist/rpc/channels.js +30 -0
  60. package/dist/rpc/cross-extension-rpc.d.ts +59 -0
  61. package/dist/rpc/cross-extension-rpc.js +117 -0
  62. package/dist/runtime/loop-events.d.ts +26 -0
  63. package/dist/runtime/loop-events.js +26 -0
  64. package/dist/runtime/native-task-rpc.d.ts +22 -0
  65. package/dist/runtime/native-task-rpc.js +50 -0
  66. package/dist/runtime/task-backlog-runtime.d.ts +3 -0
  67. package/dist/runtime/task-backlog-runtime.js +4 -1
  68. package/dist/runtime/task-mutations.d.ts +39 -0
  69. package/dist/runtime/task-mutations.js +68 -0
  70. package/dist/runtime/task-rpc.d.ts +4 -0
  71. package/dist/runtime/task-rpc.js +40 -58
  72. package/dist/scheduler.js +1 -1
  73. package/dist/tools/loop-tools.js +1 -3
  74. package/dist/tools/monitor-tools.js +1 -3
  75. package/dist/tools/native-task-tools.d.ts +2 -6
  76. package/dist/tools/native-task-tools.js +25 -55
  77. package/dist/tools/tool-result.d.ts +8 -0
  78. package/dist/tools/tool-result.js +4 -0
  79. package/docs/architecture/state-machine-migration.md +0 -44
  80. package/docs/architecture/state-machine-reducer-event-model.md +2 -3
  81. package/package.json +6 -1
  82. package/src/api.ts +36 -0
  83. package/src/commands/loop-command.ts +2 -2
  84. package/src/commands/tasks-command.ts +3 -3
  85. package/src/coordinator.ts +1 -1
  86. package/src/index.ts +49 -3
  87. package/src/loop-parse.ts +18 -7
  88. package/src/reducer-backed-store.ts +3 -3
  89. package/src/rpc/channels.ts +97 -0
  90. package/src/rpc/cross-extension-rpc.ts +152 -0
  91. package/src/runtime/loop-events.ts +60 -0
  92. package/src/runtime/native-task-rpc.ts +139 -0
  93. package/src/runtime/task-backlog-runtime.ts +14 -0
  94. package/src/runtime/task-mutations.ts +103 -0
  95. package/src/runtime/task-rpc.ts +48 -54
  96. package/src/scheduler.ts +1 -1
  97. package/src/tools/loop-tools.ts +1 -4
  98. package/src/tools/monitor-tools.ts +1 -4
  99. package/src/tools/native-task-tools.ts +31 -52
  100. package/src/tools/tool-result.ts +4 -0
  101. package/src/trigger-system.ts +4 -4
  102. package/vitest.config.ts +7 -7
  103. package/coverage/src/goal-reducer.ts.html +0 -982
  104. package/coverage/src/goal-store.ts.html +0 -742
  105. package/coverage/src/goal-verifier.ts.html +0 -808
  106. package/dist/goal-coordinator.d.ts +0 -22
  107. package/dist/goal-coordinator.js +0 -28
  108. package/dist/goal-reducer.d.ts +0 -98
  109. package/dist/goal-reducer.js +0 -190
  110. package/dist/goal-store.d.ts +0 -22
  111. package/dist/goal-store.js +0 -188
  112. package/dist/goal-types.d.ts +0 -82
  113. package/dist/goal-types.js +0 -1
  114. package/dist/goal-verifier.d.ts +0 -20
  115. package/dist/goal-verifier.js +0 -198
  116. package/docs/architecture/goal-state-schema.md +0 -505
  117. package/src/goal-coordinator.ts +0 -58
  118. package/src/goal-reducer.ts +0 -299
  119. package/src/goal-store.ts +0 -219
  120. package/src/goal-types.ts +0 -104
  121. 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">84.36% </span>
26
+ <span class="strong">90.7% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>1613/1912</span>
28
+ <span class='fraction'>1590/1753</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75.69% </span>
33
+ <span class="strong">82.38% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>816/1078</span>
35
+ <span class='fraction'>823/999</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">95.48% </span>
40
+ <span class="strong">98.45% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>338/354</span>
42
+ <span class='fraction'>319/324</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.47% </span>
47
+ <span class="strong">93.63% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>1451/1678</span>
49
+ <span class='fraction'>1441/1539</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,62 +80,77 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="91.72" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
83
+ <td data-value="90.67" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
85
85
  </td>
86
- <td data-value="91.72" class="pct high">91.72%</td>
87
- <td data-value="1160" class="abs high">1064/1160</td>
88
- <td data-value="83.79" class="pct high">83.79%</td>
89
- <td data-value="611" class="abs high">512/611</td>
90
- <td data-value="98.78" class="pct high">98.78%</td>
91
- <td data-value="246" class="abs high">243/246</td>
92
- <td data-value="94.01" class="pct high">94.01%</td>
93
- <td data-value="1020" class="abs high">959/1020</td>
86
+ <td data-value="90.67" class="pct high">90.67%</td>
87
+ <td data-value="922" class="abs high">836/922</td>
88
+ <td data-value="83.54" class="pct high">83.54%</td>
89
+ <td data-value="480" class="abs high">401/480</td>
90
+ <td data-value="98.5" class="pct high">98.5%</td>
91
+ <td data-value="200" class="abs high">197/200</td>
92
+ <td data-value="93.34" class="pct high">93.34%</td>
93
+ <td data-value="811" class="abs high">757/811</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file low" data-value="src/commands"><a href="src/commands/index.html">src/commands</a></td>
98
- <td data-value="17.85" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 17%"></div><div class="cover-empty" style="width: 83%"></div></div>
97
+ <td class="file high" data-value="src/commands"><a href="src/commands/index.html">src/commands</a></td>
98
+ <td data-value="81.12" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
100
100
  </td>
101
- <td data-value="17.85" class="pct low">17.85%</td>
102
- <td data-value="196" class="abs low">35/196</td>
103
- <td data-value="6.77" class="pct low">6.77%</td>
104
- <td data-value="118" class="abs low">8/118</td>
105
- <td data-value="35.71" class="pct low">35.71%</td>
106
- <td data-value="14" class="abs low">5/14</td>
107
- <td data-value="20.23" class="pct low">20.23%</td>
108
- <td data-value="173" class="abs low">35/173</td>
101
+ <td data-value="81.12" class="pct high">81.12%</td>
102
+ <td data-value="196" class="abs high">159/196</td>
103
+ <td data-value="65.83" class="pct medium">65.83%</td>
104
+ <td data-value="120" class="abs medium">79/120</td>
105
+ <td data-value="92.85" class="pct high">92.85%</td>
106
+ <td data-value="14" class="abs high">13/14</td>
107
+ <td data-value="86.7" class="pct high">86.7%</td>
108
+ <td data-value="173" class="abs high">150/173</td>
109
+ </tr>
110
+
111
+ <tr>
112
+ <td class="file high" data-value="src/rpc"><a href="src/rpc/index.html">src/rpc</a></td>
113
+ <td data-value="96.07" class="pic high">
114
+ <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
115
+ </td>
116
+ <td data-value="96.07" class="pct high">96.07%</td>
117
+ <td data-value="51" class="abs high">49/51</td>
118
+ <td data-value="88.23" class="pct high">88.23%</td>
119
+ <td data-value="34" class="abs high">30/34</td>
120
+ <td data-value="100" class="pct high">100%</td>
121
+ <td data-value="9" class="abs high">9/9</td>
122
+ <td data-value="100" class="pct high">100%</td>
123
+ <td data-value="48" class="abs high">48/48</td>
109
124
  </tr>
110
125
 
111
126
  <tr>
112
127
  <td class="file high" data-value="src/runtime"><a href="src/runtime/index.html">src/runtime</a></td>
113
- <td data-value="92.63" class="pic high">
114
- <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
128
+ <td data-value="94.83" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
115
130
  </td>
116
- <td data-value="92.63" class="pct high">92.63%</td>
117
- <td data-value="326" class="abs high">302/326</td>
118
- <td data-value="85.62" class="pct high">85.62%</td>
119
- <td data-value="160" class="abs high">137/160</td>
120
- <td data-value="93.75" class="pct high">93.75%</td>
121
- <td data-value="64" class="abs high">60/64</td>
122
- <td data-value="95.13" class="pct high">95.13%</td>
123
- <td data-value="288" class="abs high">274/288</td>
131
+ <td data-value="94.83" class="pct high">94.83%</td>
132
+ <td data-value="387" class="abs high">367/387</td>
133
+ <td data-value="85.78" class="pct high">85.78%</td>
134
+ <td data-value="204" class="abs high">175/204</td>
135
+ <td data-value="98.61" class="pct high">98.61%</td>
136
+ <td data-value="72" class="abs high">71/72</td>
137
+ <td data-value="97.92" class="pct high">97.92%</td>
138
+ <td data-value="337" class="abs high">330/337</td>
124
139
  </tr>
125
140
 
126
141
  <tr>
127
142
  <td class="file high" data-value="src/tools"><a href="src/tools/index.html">src/tools</a></td>
128
- <td data-value="90.95" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 90%"></div><div class="cover-empty" style="width: 10%"></div></div>
143
+ <td data-value="89.15" class="pic high">
144
+ <div class="chart"><div class="cover-fill" style="width: 89%"></div><div class="cover-empty" style="width: 11%"></div></div>
130
145
  </td>
131
- <td data-value="90.95" class="pct high">90.95%</td>
132
- <td data-value="199" class="abs high">181/199</td>
133
- <td data-value="81.7" class="pct high">81.7%</td>
134
- <td data-value="164" class="abs high">134/164</td>
146
+ <td data-value="89.15" class="pct high">89.15%</td>
147
+ <td data-value="166" class="abs high">148/166</td>
148
+ <td data-value="83.08" class="pct high">83.08%</td>
149
+ <td data-value="136" class="abs high">113/136</td>
135
150
  <td data-value="100" class="pct high">100%</td>
136
- <td data-value="21" class="abs high">21/21</td>
137
- <td data-value="91.9" class="pct high">91.9%</td>
138
- <td data-value="173" class="abs high">159/173</td>
151
+ <td data-value="20" class="abs high">20/20</td>
152
+ <td data-value="90.41" class="pct high">90.41%</td>
153
+ <td data-value="146" class="abs high">132/146</td>
139
154
  </tr>
140
155
 
141
156
  <tr>
@@ -161,7 +176,7 @@
161
176
  <div class='footer quiet pad2 space-top1 center small'>
162
177
  Code coverage generated by
163
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2026-06-23T21:49:18.784Z
179
+ at 2026-07-02T19:31:50.067Z
165
180
  </div>
166
181
  <script src="prettify.js"></script>
167
182
  <script>
@@ -0,0 +1,193 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/api.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> api.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/0</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/0</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/0</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-neutral">&nbsp;</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
114
+ <span class="cline-any cline-neutral">&nbsp;</span>
115
+ <span class="cline-any cline-neutral">&nbsp;</span>
116
+ <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-neutral">&nbsp;</span>
118
+ <span class="cline-any cline-neutral">&nbsp;</span>
119
+ <span class="cline-any cline-neutral">&nbsp;</span>
120
+ <span class="cline-any cline-neutral">&nbsp;</span>
121
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
+ <span class="cline-any cline-neutral">&nbsp;</span>
123
+ <span class="cline-any cline-neutral">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
125
+ <span class="cline-any cline-neutral">&nbsp;</span>
126
+ <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
128
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
139
+ * Public API surface for sibling extensions (imported as
140
+ * `@trevonistrevon/pi-loop/api`). Everything else under src/ is internal —
141
+ * the package `exports` map deliberately blocks deep imports.
142
+ */
143
+ export {
144
+ type CleanReply,
145
+ type CreateTaskParams,
146
+ type CreateTaskReply,
147
+ type PendingReply,
148
+ type PingReply,
149
+ replyChannel,
150
+ type SpawnParams,
151
+ type SpawnReply,
152
+ SUBAGENTS_RPC,
153
+ TASK_EVENTS,
154
+ TASKS_RPC,
155
+ type TaskEntryWire,
156
+ type TaskStatusWire,
157
+ type UpdateTaskParams,
158
+ type UpdateTaskReply,
159
+ } from "./rpc/channels.js";
160
+ export {
161
+ type HandleRpcOptions,
162
+ handleRpc,
163
+ PROTOCOL_VERSION,
164
+ RpcError,
165
+ type RpcEventBus,
166
+ type RpcReply,
167
+ rpcCall,
168
+ rpcProbe,
169
+ } from "./rpc/cross-extension-rpc.js";
170
+ export { NATIVE_TASKS_PROVIDER } from "./runtime/native-task-rpc.js";
171
+ export { resolveLoopStorePath, resolveTaskStorePath } from "./runtime/scope.js";
172
+ export { TaskStore } from "./task-store.js";
173
+ export type { TaskEntry, TaskStatus, TaskStoreData } from "./task-types.js";
174
+ &nbsp;</pre></td></tr></table></pre>
175
+
176
+ <div class='push'></div><!-- for sticky footer -->
177
+ </div><!-- /wrapper -->
178
+ <div class='footer quiet pad2 space-top1 center small'>
179
+ Code coverage generated by
180
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
+ at 2026-07-02T19:31:50.067Z
182
+ </div>
183
+ <script src="../prettify.js"></script>
184
+ <script>
185
+ window.onload = function () {
186
+ prettyPrint();
187
+ };
188
+ </script>
189
+ <script src="../sorter.js"></script>
190
+ <script src="../block-navigation.js"></script>
191
+ </body>
192
+ </html>
193
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">17.85% </span>
26
+ <span class="strong">81.12% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>35/196</span>
28
+ <span class='fraction'>159/196</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">6.77% </span>
33
+ <span class="strong">65.83% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>8/118</span>
35
+ <span class='fraction'>79/120</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">35.71% </span>
40
+ <span class="strong">92.85% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>5/14</span>
42
+ <span class='fraction'>13/14</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">20.23% </span>
47
+ <span class="strong">86.7% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>35/173</span>
49
+ <span class='fraction'>150/173</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 low'></div>
64
+ <div class='status-line high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -79,33 +79,33 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
- <td class="file low" data-value="loop-command.ts"><a href="loop-command.ts.html">loop-command.ts</a></td>
83
- <td data-value="17.14" class="pic low">
84
- <div class="chart"><div class="cover-fill" style="width: 17%"></div><div class="cover-empty" style="width: 83%"></div></div>
82
+ <td class="file high" data-value="loop-command.ts"><a href="loop-command.ts.html">loop-command.ts</a></td>
83
+ <td data-value="86.66" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
85
85
  </td>
86
- <td data-value="17.14" class="pct low">17.14%</td>
87
- <td data-value="105" class="abs low">18/105</td>
88
- <td data-value="5.17" class="pct low">5.17%</td>
89
- <td data-value="58" class="abs low">3/58</td>
90
- <td data-value="25" class="pct low">25%</td>
91
- <td data-value="8" class="abs low">2/8</td>
92
- <td data-value="19.78" class="pct low">19.78%</td>
93
- <td data-value="91" class="abs low">18/91</td>
86
+ <td data-value="86.66" class="pct high">86.66%</td>
87
+ <td data-value="105" class="abs high">91/105</td>
88
+ <td data-value="70" class="pct medium">70%</td>
89
+ <td data-value="60" class="abs medium">42/60</td>
90
+ <td data-value="87.5" class="pct high">87.5%</td>
91
+ <td data-value="8" class="abs high">7/8</td>
92
+ <td data-value="92.3" class="pct high">92.3%</td>
93
+ <td data-value="91" class="abs high">84/91</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file low" data-value="tasks-command.ts"><a href="tasks-command.ts.html">tasks-command.ts</a></td>
98
- <td data-value="18.68" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 18%"></div><div class="cover-empty" style="width: 82%"></div></div>
97
+ <td class="file medium" data-value="tasks-command.ts"><a href="tasks-command.ts.html">tasks-command.ts</a></td>
98
+ <td data-value="74.72" class="pic medium">
99
+ <div class="chart"><div class="cover-fill" style="width: 74%"></div><div class="cover-empty" style="width: 26%"></div></div>
100
100
  </td>
101
- <td data-value="18.68" class="pct low">18.68%</td>
102
- <td data-value="91" class="abs low">17/91</td>
103
- <td data-value="8.33" class="pct low">8.33%</td>
104
- <td data-value="60" class="abs low">5/60</td>
105
- <td data-value="50" class="pct medium">50%</td>
106
- <td data-value="6" class="abs medium">3/6</td>
107
- <td data-value="20.73" class="pct low">20.73%</td>
108
- <td data-value="82" class="abs low">17/82</td>
101
+ <td data-value="74.72" class="pct medium">74.72%</td>
102
+ <td data-value="91" class="abs medium">68/91</td>
103
+ <td data-value="61.66" class="pct medium">61.66%</td>
104
+ <td data-value="60" class="abs medium">37/60</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="6" class="abs high">6/6</td>
107
+ <td data-value="80.48" class="pct high">80.48%</td>
108
+ <td data-value="82" class="abs high">66/82</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-06-23T21:49:18.784Z
119
+ at 2026-07-02T19:31:50.067Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>