@esso0428/pi-subagents 0.17.16 → 0.17.18

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 (359) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/ROADMAP.md +87 -0
  3. package/docs/post-0.17.6-agents-roster-viewer-spec.md +42 -0
  4. package/docs/post-0.17.6-durable-history-spec.md +41 -0
  5. package/docs/post-0.17.6-feature-specs.md +50 -0
  6. package/docs/post-0.17.6-nested-agents-spec.md +38 -0
  7. package/docs/post-0.17.6-recovery-shutdown-spec.md +46 -0
  8. package/docs/post-0.17.6-ui-latency-baseline-spec.md +46 -0
  9. package/docs/post-0.17.6-workflow-rpc-lifecycle-spec.md +54 -0
  10. package/package.json +1 -1
  11. package/src/agent-history.ts +2 -54
  12. package/src/agent-manager.ts +406 -1288
  13. package/src/agent-runner.ts +27 -251
  14. package/src/agent-types.ts +32 -188
  15. package/src/cross-extension-rpc.ts +20 -96
  16. package/src/custom-agents.ts +13 -170
  17. package/src/index.ts +480 -1920
  18. package/src/invocation-config.ts +3 -118
  19. package/src/model-resolver.ts +0 -18
  20. package/src/output-file.ts +6 -61
  21. package/src/prompts.ts +2 -45
  22. package/src/schedule.ts +14 -35
  23. package/src/settings.ts +2 -301
  24. package/src/status-note.ts +1 -66
  25. package/src/types.ts +10 -177
  26. package/src/ui/agent-widget.ts +57 -278
  27. package/src/ui/conversation-blocks.ts +0 -6
  28. package/src/ui/conversation-timeline.ts +25 -139
  29. package/src/ui/conversation-viewer.ts +48 -212
  30. package/src/ui/schedule-menu.ts +8 -9
  31. package/src/usage.ts +2 -109
  32. package/src/worktree.ts +55 -69
  33. package/dist/abortable.d.ts +0 -13
  34. package/dist/abortable.d.ts.map +0 -1
  35. package/dist/abortable.js +0 -43
  36. package/dist/abortable.js.map +0 -1
  37. package/dist/agent-color.d.ts +0 -36
  38. package/dist/agent-color.d.ts.map +0 -1
  39. package/dist/agent-color.js +0 -124
  40. package/dist/agent-color.js.map +0 -1
  41. package/dist/agent-file-toggle.d.ts +0 -126
  42. package/dist/agent-file-toggle.d.ts.map +0 -1
  43. package/dist/agent-file-toggle.js +0 -259
  44. package/dist/agent-file-toggle.js.map +0 -1
  45. package/dist/agent-history-list.d.ts +0 -19
  46. package/dist/agent-history-list.d.ts.map +0 -1
  47. package/dist/agent-history-list.js +0 -69
  48. package/dist/agent-history-list.js.map +0 -1
  49. package/dist/agent-history.d.ts +0 -35
  50. package/dist/agent-history.d.ts.map +0 -1
  51. package/dist/agent-history.js +0 -188
  52. package/dist/agent-history.js.map +0 -1
  53. package/dist/agent-manager.d.ts +0 -503
  54. package/dist/agent-manager.d.ts.map +0 -1
  55. package/dist/agent-manager.js +0 -1572
  56. package/dist/agent-manager.js.map +0 -1
  57. package/dist/agent-recovery.d.ts +0 -37
  58. package/dist/agent-recovery.d.ts.map +0 -1
  59. package/dist/agent-recovery.js +0 -171
  60. package/dist/agent-recovery.js.map +0 -1
  61. package/dist/agent-runner.d.ts +0 -303
  62. package/dist/agent-runner.d.ts.map +0 -1
  63. package/dist/agent-runner.js +0 -1003
  64. package/dist/agent-runner.js.map +0 -1
  65. package/dist/agent-types.d.ts +0 -120
  66. package/dist/agent-types.d.ts.map +0 -1
  67. package/dist/agent-types.js +0 -301
  68. package/dist/agent-types.js.map +0 -1
  69. package/dist/child-context.d.ts +0 -3
  70. package/dist/child-context.d.ts.map +0 -1
  71. package/dist/child-context.js +0 -13
  72. package/dist/child-context.js.map +0 -1
  73. package/dist/context.d.ts +0 -13
  74. package/dist/context.d.ts.map +0 -1
  75. package/dist/context.js +0 -57
  76. package/dist/context.js.map +0 -1
  77. package/dist/cross-extension-rpc.d.ts +0 -67
  78. package/dist/cross-extension-rpc.d.ts.map +0 -1
  79. package/dist/cross-extension-rpc.js +0 -139
  80. package/dist/cross-extension-rpc.js.map +0 -1
  81. package/dist/custom-agents.d.ts +0 -55
  82. package/dist/custom-agents.d.ts.map +0 -1
  83. package/dist/custom-agents.js +0 -309
  84. package/dist/custom-agents.js.map +0 -1
  85. package/dist/default-agents.d.ts +0 -8
  86. package/dist/default-agents.d.ts.map +0 -1
  87. package/dist/default-agents.js +0 -123
  88. package/dist/default-agents.js.map +0 -1
  89. package/dist/enabled-models.d.ts +0 -50
  90. package/dist/enabled-models.d.ts.map +0 -1
  91. package/dist/enabled-models.js +0 -146
  92. package/dist/enabled-models.js.map +0 -1
  93. package/dist/env.d.ts +0 -7
  94. package/dist/env.d.ts.map +0 -1
  95. package/dist/env.js +0 -29
  96. package/dist/env.js.map +0 -1
  97. package/dist/group-join.d.ts +0 -33
  98. package/dist/group-join.d.ts.map +0 -1
  99. package/dist/group-join.js +0 -117
  100. package/dist/group-join.js.map +0 -1
  101. package/dist/index.d.ts +0 -51
  102. package/dist/index.d.ts.map +0 -1
  103. package/dist/index.js +0 -3687
  104. package/dist/index.js.map +0 -1
  105. package/dist/invocation-config.d.ts +0 -108
  106. package/dist/invocation-config.d.ts.map +0 -1
  107. package/dist/invocation-config.js +0 -84
  108. package/dist/invocation-config.js.map +0 -1
  109. package/dist/memory.d.ts +0 -54
  110. package/dist/memory.d.ts.map +0 -1
  111. package/dist/memory.js +0 -166
  112. package/dist/memory.js.map +0 -1
  113. package/dist/mention-clone.d.ts +0 -88
  114. package/dist/mention-clone.d.ts.map +0 -1
  115. package/dist/mention-clone.js +0 -154
  116. package/dist/mention-clone.js.map +0 -1
  117. package/dist/mention.d.ts +0 -82
  118. package/dist/mention.d.ts.map +0 -1
  119. package/dist/mention.js +0 -132
  120. package/dist/mention.js.map +0 -1
  121. package/dist/model-resolver.d.ts +0 -37
  122. package/dist/model-resolver.d.ts.map +0 -1
  123. package/dist/model-resolver.js +0 -96
  124. package/dist/model-resolver.js.map +0 -1
  125. package/dist/model-scope.d.ts +0 -50
  126. package/dist/model-scope.d.ts.map +0 -1
  127. package/dist/model-scope.js +0 -49
  128. package/dist/model-scope.js.map +0 -1
  129. package/dist/nested-tools.d.ts +0 -57
  130. package/dist/nested-tools.d.ts.map +0 -1
  131. package/dist/nested-tools.js +0 -301
  132. package/dist/nested-tools.js.map +0 -1
  133. package/dist/nico-overrides.d.ts +0 -54
  134. package/dist/nico-overrides.d.ts.map +0 -1
  135. package/dist/nico-overrides.js +0 -170
  136. package/dist/nico-overrides.js.map +0 -1
  137. package/dist/output-file.d.ts +0 -44
  138. package/dist/output-file.d.ts.map +0 -1
  139. package/dist/output-file.js +0 -156
  140. package/dist/output-file.js.map +0 -1
  141. package/dist/prompts.d.ts +0 -56
  142. package/dist/prompts.d.ts.map +0 -1
  143. package/dist/prompts.js +0 -92
  144. package/dist/prompts.js.map +0 -1
  145. package/dist/schedule-store.d.ts +0 -39
  146. package/dist/schedule-store.d.ts.map +0 -1
  147. package/dist/schedule-store.js +0 -156
  148. package/dist/schedule-store.js.map +0 -1
  149. package/dist/schedule.d.ts +0 -110
  150. package/dist/schedule.d.ts.map +0 -1
  151. package/dist/schedule.js +0 -360
  152. package/dist/schedule.js.map +0 -1
  153. package/dist/settings.d.ts +0 -354
  154. package/dist/settings.d.ts.map +0 -1
  155. package/dist/settings.js +0 -247
  156. package/dist/settings.js.map +0 -1
  157. package/dist/skill-loader.d.ts +0 -25
  158. package/dist/skill-loader.d.ts.map +0 -1
  159. package/dist/skill-loader.js +0 -94
  160. package/dist/skill-loader.js.map +0 -1
  161. package/dist/status-note.d.ts +0 -62
  162. package/dist/status-note.d.ts.map +0 -1
  163. package/dist/status-note.js +0 -86
  164. package/dist/status-note.js.map +0 -1
  165. package/dist/structured-output.d.ts +0 -62
  166. package/dist/structured-output.d.ts.map +0 -1
  167. package/dist/structured-output.js +0 -113
  168. package/dist/structured-output.js.map +0 -1
  169. package/dist/types.d.ts +0 -372
  170. package/dist/types.d.ts.map +0 -1
  171. package/dist/types.js +0 -6
  172. package/dist/types.js.map +0 -1
  173. package/dist/ui/agent-mention.d.ts +0 -83
  174. package/dist/ui/agent-mention.d.ts.map +0 -1
  175. package/dist/ui/agent-mention.js +0 -188
  176. package/dist/ui/agent-mention.js.map +0 -1
  177. package/dist/ui/agent-widget.d.ts +0 -241
  178. package/dist/ui/agent-widget.d.ts.map +0 -1
  179. package/dist/ui/agent-widget.js +0 -992
  180. package/dist/ui/agent-widget.js.map +0 -1
  181. package/dist/ui/ccstyle/diff/ansi-utils.d.ts +0 -11
  182. package/dist/ui/ccstyle/diff/ansi-utils.d.ts.map +0 -1
  183. package/dist/ui/ccstyle/diff/ansi-utils.js +0 -145
  184. package/dist/ui/ccstyle/diff/ansi-utils.js.map +0 -1
  185. package/dist/ui/ccstyle/diff/diff-presentation.d.ts +0 -12
  186. package/dist/ui/ccstyle/diff/diff-presentation.d.ts.map +0 -1
  187. package/dist/ui/ccstyle/diff/diff-presentation.js +0 -48
  188. package/dist/ui/ccstyle/diff/diff-presentation.js.map +0 -1
  189. package/dist/ui/ccstyle/diff/diff-renderer.d.ts +0 -46
  190. package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +0 -1
  191. package/dist/ui/ccstyle/diff/diff-renderer.js +0 -2049
  192. package/dist/ui/ccstyle/diff/diff-renderer.js.map +0 -1
  193. package/dist/ui/ccstyle/diff/line-width-safety.d.ts +0 -12
  194. package/dist/ui/ccstyle/diff/line-width-safety.d.ts.map +0 -1
  195. package/dist/ui/ccstyle/diff/line-width-safety.js +0 -58
  196. package/dist/ui/ccstyle/diff/line-width-safety.js.map +0 -1
  197. package/dist/ui/ccstyle/diff/render-utils.d.ts +0 -6
  198. package/dist/ui/ccstyle/diff/render-utils.d.ts.map +0 -1
  199. package/dist/ui/ccstyle/diff/render-utils.js +0 -25
  200. package/dist/ui/ccstyle/diff/render-utils.js.map +0 -1
  201. package/dist/ui/ccstyle/diff/shiki-highlight.d.ts +0 -19
  202. package/dist/ui/ccstyle/diff/shiki-highlight.d.ts.map +0 -1
  203. package/dist/ui/ccstyle/diff/shiki-highlight.js +0 -85
  204. package/dist/ui/ccstyle/diff/shiki-highlight.js.map +0 -1
  205. package/dist/ui/ccstyle/diff/types.d.ts +0 -22
  206. package/dist/ui/ccstyle/diff/types.d.ts.map +0 -1
  207. package/dist/ui/ccstyle/diff/types.js +0 -10
  208. package/dist/ui/ccstyle/diff/types.js.map +0 -1
  209. package/dist/ui/ccstyle/diff/write-display-utils.d.ts +0 -2
  210. package/dist/ui/ccstyle/diff/write-display-utils.d.ts.map +0 -1
  211. package/dist/ui/ccstyle/diff/write-display-utils.js +0 -12
  212. package/dist/ui/ccstyle/diff/write-display-utils.js.map +0 -1
  213. package/dist/ui/ccstyle/tool-renderer.d.ts +0 -17
  214. package/dist/ui/ccstyle/tool-renderer.d.ts.map +0 -1
  215. package/dist/ui/ccstyle/tool-renderer.js +0 -74
  216. package/dist/ui/ccstyle/tool-renderer.js.map +0 -1
  217. package/dist/ui/ccstyle/tool-result.d.ts +0 -44
  218. package/dist/ui/ccstyle/tool-result.d.ts.map +0 -1
  219. package/dist/ui/ccstyle/tool-result.js +0 -423
  220. package/dist/ui/ccstyle/tool-result.js.map +0 -1
  221. package/dist/ui/conversation-blocks.d.ts +0 -46
  222. package/dist/ui/conversation-blocks.d.ts.map +0 -1
  223. package/dist/ui/conversation-blocks.js +0 -313
  224. package/dist/ui/conversation-blocks.js.map +0 -1
  225. package/dist/ui/conversation-nvim.d.ts +0 -8
  226. package/dist/ui/conversation-nvim.d.ts.map +0 -1
  227. package/dist/ui/conversation-nvim.js +0 -117
  228. package/dist/ui/conversation-nvim.js.map +0 -1
  229. package/dist/ui/conversation-role.d.ts +0 -13
  230. package/dist/ui/conversation-role.d.ts.map +0 -1
  231. package/dist/ui/conversation-role.js +0 -39
  232. package/dist/ui/conversation-role.js.map +0 -1
  233. package/dist/ui/conversation-search.d.ts +0 -39
  234. package/dist/ui/conversation-search.d.ts.map +0 -1
  235. package/dist/ui/conversation-search.js +0 -124
  236. package/dist/ui/conversation-search.js.map +0 -1
  237. package/dist/ui/conversation-timeline.d.ts +0 -102
  238. package/dist/ui/conversation-timeline.d.ts.map +0 -1
  239. package/dist/ui/conversation-timeline.js +0 -555
  240. package/dist/ui/conversation-timeline.js.map +0 -1
  241. package/dist/ui/conversation-viewer.d.ts +0 -138
  242. package/dist/ui/conversation-viewer.d.ts.map +0 -1
  243. package/dist/ui/conversation-viewer.js +0 -1175
  244. package/dist/ui/conversation-viewer.js.map +0 -1
  245. package/dist/ui/schedule-menu.d.ts +0 -17
  246. package/dist/ui/schedule-menu.d.ts.map +0 -1
  247. package/dist/ui/schedule-menu.js +0 -95
  248. package/dist/ui/schedule-menu.js.map +0 -1
  249. package/dist/ui/select-item.d.ts +0 -28
  250. package/dist/ui/select-item.d.ts.map +0 -1
  251. package/dist/ui/select-item.js +0 -35
  252. package/dist/ui/select-item.js.map +0 -1
  253. package/dist/ui/viewer-keys.d.ts +0 -21
  254. package/dist/ui/viewer-keys.d.ts.map +0 -1
  255. package/dist/ui/viewer-keys.js +0 -18
  256. package/dist/ui/viewer-keys.js.map +0 -1
  257. package/dist/ui/workflow-card.d.ts +0 -176
  258. package/dist/ui/workflow-card.d.ts.map +0 -1
  259. package/dist/ui/workflow-card.js +0 -333
  260. package/dist/ui/workflow-card.js.map +0 -1
  261. package/dist/ui/workflow-dialog.d.ts +0 -306
  262. package/dist/ui/workflow-dialog.d.ts.map +0 -1
  263. package/dist/ui/workflow-dialog.js +0 -844
  264. package/dist/ui/workflow-dialog.js.map +0 -1
  265. package/dist/ui/workflow-menu.d.ts +0 -42
  266. package/dist/ui/workflow-menu.d.ts.map +0 -1
  267. package/dist/ui/workflow-menu.js +0 -127
  268. package/dist/ui/workflow-menu.js.map +0 -1
  269. package/dist/usage.d.ts +0 -136
  270. package/dist/usage.d.ts.map +0 -1
  271. package/dist/usage.js +0 -121
  272. package/dist/usage.js.map +0 -1
  273. package/dist/workflow/collisions.d.ts +0 -96
  274. package/dist/workflow/collisions.d.ts.map +0 -1
  275. package/dist/workflow/collisions.js +0 -89
  276. package/dist/workflow/collisions.js.map +0 -1
  277. package/dist/workflow/entry.d.ts +0 -33
  278. package/dist/workflow/entry.d.ts.map +0 -1
  279. package/dist/workflow/entry.js +0 -30
  280. package/dist/workflow/entry.js.map +0 -1
  281. package/dist/workflow/host.d.ts +0 -63
  282. package/dist/workflow/host.d.ts.map +0 -1
  283. package/dist/workflow/host.js +0 -363
  284. package/dist/workflow/host.js.map +0 -1
  285. package/dist/workflow/journal.d.ts +0 -98
  286. package/dist/workflow/journal.d.ts.map +0 -1
  287. package/dist/workflow/journal.js +0 -121
  288. package/dist/workflow/journal.js.map +0 -1
  289. package/dist/workflow/json-schema.d.ts +0 -52
  290. package/dist/workflow/json-schema.d.ts.map +0 -1
  291. package/dist/workflow/json-schema.js +0 -112
  292. package/dist/workflow/json-schema.js.map +0 -1
  293. package/dist/workflow/meta.d.ts +0 -68
  294. package/dist/workflow/meta.d.ts.map +0 -1
  295. package/dist/workflow/meta.js +0 -318
  296. package/dist/workflow/meta.js.map +0 -1
  297. package/dist/workflow/progress.d.ts +0 -225
  298. package/dist/workflow/progress.d.ts.map +0 -1
  299. package/dist/workflow/progress.js +0 -362
  300. package/dist/workflow/progress.js.map +0 -1
  301. package/dist/workflow/runtime.d.ts +0 -335
  302. package/dist/workflow/runtime.d.ts.map +0 -1
  303. package/dist/workflow/runtime.js +0 -831
  304. package/dist/workflow/runtime.js.map +0 -1
  305. package/dist/workflow/saved.d.ts +0 -91
  306. package/dist/workflow/saved.d.ts.map +0 -1
  307. package/dist/workflow/saved.js +0 -204
  308. package/dist/workflow/saved.js.map +0 -1
  309. package/dist/workflow/task.d.ts +0 -137
  310. package/dist/workflow/task.d.ts.map +0 -1
  311. package/dist/workflow/task.js +0 -208
  312. package/dist/workflow/task.js.map +0 -1
  313. package/dist/workflow/tool-description.d.ts +0 -39
  314. package/dist/workflow/tool-description.d.ts.map +0 -1
  315. package/dist/workflow/tool-description.js +0 -200
  316. package/dist/workflow/tool-description.js.map +0 -1
  317. package/dist/workflow/worker-source.d.ts +0 -48
  318. package/dist/workflow/worker-source.d.ts.map +0 -1
  319. package/dist/workflow/worker-source.js +0 -779
  320. package/dist/workflow/worker-source.js.map +0 -1
  321. package/dist/worktree.d.ts +0 -53
  322. package/dist/worktree.d.ts.map +0 -1
  323. package/dist/worktree.js +0 -165
  324. package/dist/worktree.js.map +0 -1
  325. package/dist/write-execution.d.ts +0 -42
  326. package/dist/write-execution.d.ts.map +0 -1
  327. package/dist/write-execution.js +0 -138
  328. package/dist/write-execution.js.map +0 -1
  329. package/dist/xml.d.ts +0 -11
  330. package/dist/xml.d.ts.map +0 -1
  331. package/dist/xml.js +0 -13
  332. package/dist/xml.js.map +0 -1
  333. package/src/abortable.ts +0 -43
  334. package/src/agent-color.ts +0 -161
  335. package/src/agent-file-toggle.ts +0 -269
  336. package/src/child-context.ts +0 -15
  337. package/src/mention-clone.ts +0 -196
  338. package/src/mention.ts +0 -141
  339. package/src/model-scope.ts +0 -70
  340. package/src/nested-tools.ts +0 -424
  341. package/src/structured-output.ts +0 -130
  342. package/src/ui/agent-mention.ts +0 -216
  343. package/src/ui/select-item.ts +0 -45
  344. package/src/ui/workflow-card.ts +0 -470
  345. package/src/ui/workflow-dialog.ts +0 -1115
  346. package/src/ui/workflow-menu.ts +0 -166
  347. package/src/workflow/collisions.ts +0 -123
  348. package/src/workflow/entry.ts +0 -47
  349. package/src/workflow/host.ts +0 -403
  350. package/src/workflow/journal.ts +0 -164
  351. package/src/workflow/json-schema.ts +0 -128
  352. package/src/workflow/meta.ts +0 -325
  353. package/src/workflow/progress.ts +0 -550
  354. package/src/workflow/runtime.ts +0 -1219
  355. package/src/workflow/saved.ts +0 -217
  356. package/src/workflow/task.ts +0 -302
  357. package/src/workflow/tool-description.ts +0 -200
  358. package/src/workflow/worker-source.ts +0 -781
  359. package/src/xml.ts +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/workflow/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- /**
2
- * saved.ts — resolve `SubagentWorkflow({ name })` to a script on disk.
3
- *
4
- * A saved workflow is a plain `.js` file whose contents are exactly what
5
- * `script` would have carried. Nothing is parsed here: `extractMeta` still runs
6
- * over the source at the call site, so a saved file and an inline one fail the
7
- * same way on a bad `meta` block.
8
- *
9
- * Roots mirror `loadCustomAgents` rather than inventing a fourth convention —
10
- * project `.pi` is the authority, the shared `.agents` workspace is an extra
11
- * read location, and the user's agent dir is the fallback:
12
- *
13
- * 1. <cwd>/.pi/workflows/<name>.js
14
- * 2. <cwd>/.agents/workflows/<name>.js
15
- * 3. getAgentDir()/workflows/<name>.js (default ~/.pi/agent/workflows)
16
- *
17
- * Precedence is expressed as first-hit-wins here, not last-write-wins as in the
18
- * agent loader, because a name resolves to one file — there is no map to
19
- * overwrite.
20
- *
21
- * Symlinks are rejected through `safeReadFile`, and the name is whitelisted
22
- * before it is ever joined to a path: `name` arrives from a model, and
23
- * `../../etc/passwd` must not become a readable workflow.
24
- *
25
- * ## Not every `.js` in the folder is a workflow
26
- *
27
- * These are ordinary directories. `.agents/workflows/` is shared across tools
28
- * and the user's agent dir is theirs to fill; either may hold a build artifact,
29
- * a config, or a scratch script. A file is only treated as a workflow if it
30
- * carries the `export const meta =` declaration every workflow opens with.
31
- *
32
- * Nothing is ever executed to decide this — the check is a regex over the
33
- * source, and even the real parse only evaluates the `meta` object literal in
34
- * an empty vm. What the filter buys is honesty: a listing that offers `utils.js`
35
- * as a runnable workflow invites the model to try it, and naming it should say
36
- * "that is not a workflow" rather than produce a parser error about a block the
37
- * author never intended to write.
38
- */
39
- /** The roots a `name` is looked up in, highest priority first. */
40
- export declare function savedWorkflowRoots(cwd: string): string[];
41
- export type SavedWorkflow = {
42
- ok: true;
43
- script: string;
44
- path: string;
45
- } | {
46
- ok: false;
47
- message: string;
48
- };
49
- /**
50
- * Read the saved workflow called `name`.
51
- *
52
- * Failure carries the roots that were searched and, when there are any, the
53
- * names that do exist — a model that guessed the name can correct itself from
54
- * the error instead of spending a turn asking.
55
- */
56
- export declare function readSavedWorkflow(name: string, cwd: string): SavedWorkflow;
57
- /**
58
- * Resolve a reference — a saved name, or a path — to source.
59
- *
60
- * The one place that decides what a reference means, so the tool's `name` /
61
- * `scriptPath` parameters and a script's nested `workflow()` cannot drift apart
62
- * on precedence or on what counts as a workflow.
63
- */
64
- export declare function resolveWorkflowSource(ref: {
65
- name?: string;
66
- scriptPath?: string;
67
- }, cwd: string): SavedWorkflow;
68
- /** Every saved workflow name, de-duplicated across roots and sorted. */
69
- export declare function listSavedWorkflows(cwd: string): string[];
70
- /**
71
- * Resolve which source a `SubagentWorkflow` call runs.
72
- *
73
- * `scriptPath` wins over `script`, which wins over `name` — Claude Code's
74
- * order — and at least one is required: a call with none is a mistake worth
75
- * naming rather than an empty run. Lives beside {@link resolveWorkflowSource}
76
- * because that is the function it defers to once precedence is settled, so the
77
- * two cannot disagree about what a reference means.
78
- */
79
- export declare function resolveWorkflowScript(params: {
80
- script?: string;
81
- scriptPath?: string;
82
- name?: string;
83
- }, cwd: string): {
84
- ok: true;
85
- script: string;
86
- scriptPath?: string;
87
- } | {
88
- ok: false;
89
- message: string;
90
- };
91
- //# sourceMappingURL=saved.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"saved.d.ts","sourceRoot":"","sources":["../../src/workflow/saved.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAYH,kEAAkE;AAClE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAMxD;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAuC1E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC3C,GAAG,EAAE,MAAM,GACV,aAAa,CAgBf;AAED,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBxD;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,GAAG,EAAE,MAAM,GACV;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA4BpF"}
@@ -1,204 +0,0 @@
1
- /**
2
- * saved.ts — resolve `SubagentWorkflow({ name })` to a script on disk.
3
- *
4
- * A saved workflow is a plain `.js` file whose contents are exactly what
5
- * `script` would have carried. Nothing is parsed here: `extractMeta` still runs
6
- * over the source at the call site, so a saved file and an inline one fail the
7
- * same way on a bad `meta` block.
8
- *
9
- * Roots mirror `loadCustomAgents` rather than inventing a fourth convention —
10
- * project `.pi` is the authority, the shared `.agents` workspace is an extra
11
- * read location, and the user's agent dir is the fallback:
12
- *
13
- * 1. <cwd>/.pi/workflows/<name>.js
14
- * 2. <cwd>/.agents/workflows/<name>.js
15
- * 3. getAgentDir()/workflows/<name>.js (default ~/.pi/agent/workflows)
16
- *
17
- * Precedence is expressed as first-hit-wins here, not last-write-wins as in the
18
- * agent loader, because a name resolves to one file — there is no map to
19
- * overwrite.
20
- *
21
- * Symlinks are rejected through `safeReadFile`, and the name is whitelisted
22
- * before it is ever joined to a path: `name` arrives from a model, and
23
- * `../../etc/passwd` must not become a readable workflow.
24
- *
25
- * ## Not every `.js` in the folder is a workflow
26
- *
27
- * These are ordinary directories. `.agents/workflows/` is shared across tools
28
- * and the user's agent dir is theirs to fill; either may hold a build artifact,
29
- * a config, or a scratch script. A file is only treated as a workflow if it
30
- * carries the `export const meta =` declaration every workflow opens with.
31
- *
32
- * Nothing is ever executed to decide this — the check is a regex over the
33
- * source, and even the real parse only evaluates the `meta` object literal in
34
- * an empty vm. What the filter buys is honesty: a listing that offers `utils.js`
35
- * as a runnable workflow invites the model to try it, and naming it should say
36
- * "that is not a workflow" rather than produce a parser error about a block the
37
- * author never intended to write.
38
- */
39
- import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
40
- import { isAbsolute, join } from "node:path";
41
- import { getAgentDir } from "@earendil-works/pi-coding-agent";
42
- import { isSymlink, isUnsafeName, safeReadFile } from "../memory.js";
43
- import { hasMetaDeclaration } from "./meta.js";
44
- import { MAX_SCRIPT_LENGTH } from "./runtime.js";
45
- /** Extension a saved workflow file carries. */
46
- const WORKFLOW_EXTENSION = ".js";
47
- /** The roots a `name` is looked up in, highest priority first. */
48
- export function savedWorkflowRoots(cwd) {
49
- return [
50
- join(cwd, ".pi", "workflows"),
51
- join(cwd, ".agents", "workflows"),
52
- join(getAgentDir(), "workflows"),
53
- ];
54
- }
55
- /**
56
- * Read the saved workflow called `name`.
57
- *
58
- * Failure carries the roots that were searched and, when there are any, the
59
- * names that do exist — a model that guessed the name can correct itself from
60
- * the error instead of spending a turn asking.
61
- */
62
- export function readSavedWorkflow(name, cwd) {
63
- const trimmed = name.trim();
64
- if (isUnsafeName(trimmed)) {
65
- return {
66
- ok: false,
67
- message: `"${name}" is not a usable workflow name. Use letters, digits, dots, hyphens and underscores only ` +
68
- "— a path is what `scriptPath` is for.",
69
- };
70
- }
71
- const roots = savedWorkflowRoots(cwd);
72
- for (const root of roots) {
73
- if (isSymlink(root))
74
- continue; // reject a symlinked root entirely, as skill-loader does
75
- const path = join(root, `${trimmed}${WORKFLOW_EXTENSION}`);
76
- const script = safeReadFile(path);
77
- if (script === undefined)
78
- continue;
79
- // Found the file, so stop looking — a shadowing name that turns out not to
80
- // be a workflow is worth reporting, not worth silently reaching past.
81
- if (!hasMetaDeclaration(script)) {
82
- return {
83
- ok: false,
84
- message: `"${path}" is not a workflow script — it has no \`export const meta = { name, description }\` ` +
85
- "declaration. Nothing was run.",
86
- };
87
- }
88
- return { ok: true, script, path };
89
- }
90
- const known = listSavedWorkflows(cwd);
91
- return {
92
- ok: false,
93
- message: `No saved workflow named "${trimmed}". Looked in: ${roots.join(", ")}. ` +
94
- (known.length > 0
95
- ? `Available: ${known.join(", ")}.`
96
- : "Save one as `<name>.js` in one of those directories, or pass `script`/`scriptPath` instead."),
97
- };
98
- }
99
- /**
100
- * Resolve a reference — a saved name, or a path — to source.
101
- *
102
- * The one place that decides what a reference means, so the tool's `name` /
103
- * `scriptPath` parameters and a script's nested `workflow()` cannot drift apart
104
- * on precedence or on what counts as a workflow.
105
- */
106
- export function resolveWorkflowSource(ref, cwd) {
107
- const path = ref.scriptPath?.trim();
108
- if (path !== undefined && path !== "") {
109
- const resolved = isAbsolute(path) ? path : join(cwd, path);
110
- try {
111
- return { ok: true, script: readFileSync(resolved, "utf-8"), path: resolved };
112
- }
113
- catch (err) {
114
- return {
115
- ok: false,
116
- message: `Could not read workflow script "${resolved}": ${err instanceof Error ? err.message : String(err)}`,
117
- };
118
- }
119
- }
120
- const name = ref.name?.trim();
121
- if (name !== undefined && name !== "")
122
- return readSavedWorkflow(name, cwd);
123
- return { ok: false, message: "A workflow reference needs a `name` or a `scriptPath`." };
124
- }
125
- /** Every saved workflow name, de-duplicated across roots and sorted. */
126
- export function listSavedWorkflows(cwd) {
127
- const names = new Set();
128
- for (const root of savedWorkflowRoots(cwd)) {
129
- if (!existsSync(root) || isSymlink(root))
130
- continue;
131
- let entries;
132
- try {
133
- entries = readdirSync(root);
134
- }
135
- catch {
136
- continue; // an unreadable root is not worth failing a lookup over
137
- }
138
- for (const entry of entries) {
139
- if (!entry.endsWith(WORKFLOW_EXTENSION))
140
- continue;
141
- const name = entry.slice(0, -WORKFLOW_EXTENSION.length);
142
- if (isUnsafeName(name))
143
- continue;
144
- if (isWorkflowFile(join(root, entry)))
145
- names.add(name);
146
- }
147
- }
148
- return [...names].sort();
149
- }
150
- /**
151
- * Whether the file at `path` is a workflow rather than some other script.
152
- *
153
- * Size-guarded before reading: the listing runs over a whole directory, and a
154
- * file too large to be a workflow at all should not be pulled into memory just
155
- * to check its first line.
156
- */
157
- function isWorkflowFile(path) {
158
- try {
159
- if (statSync(path).size > MAX_SCRIPT_LENGTH)
160
- return false;
161
- }
162
- catch {
163
- return false;
164
- }
165
- const source = safeReadFile(path);
166
- return source !== undefined && hasMetaDeclaration(source);
167
- }
168
- /**
169
- * Resolve which source a `SubagentWorkflow` call runs.
170
- *
171
- * `scriptPath` wins over `script`, which wins over `name` — Claude Code's
172
- * order — and at least one is required: a call with none is a mistake worth
173
- * naming rather than an empty run. Lives beside {@link resolveWorkflowSource}
174
- * because that is the function it defers to once precedence is settled, so the
175
- * two cannot disagree about what a reference means.
176
- */
177
- export function resolveWorkflowScript(params, cwd) {
178
- const path = params.scriptPath?.trim();
179
- if (path !== undefined && path !== "") {
180
- const resolved = resolveWorkflowSource({ scriptPath: path }, cwd);
181
- return resolved.ok ? { ok: true, script: resolved.script, scriptPath: resolved.path } : resolved;
182
- }
183
- const script = params.script;
184
- if (script !== undefined && script.trim() !== "")
185
- return { ok: true, script };
186
- // A saved workflow is the same source by another route, so it reports its
187
- // file as `scriptPath`: the "edit the file and re-run" loop then works on a
188
- // named workflow without the author having to find where it lives. Shared
189
- // with a script's nested `workflow()`, so one definition decides what a
190
- // reference means.
191
- const name = params.name?.trim();
192
- if (name !== undefined && name !== "") {
193
- const saved = resolveWorkflowSource({ name }, cwd);
194
- return saved.ok ? { ok: true, script: saved.script, scriptPath: saved.path } : saved;
195
- }
196
- const known = listSavedWorkflows(cwd);
197
- return {
198
- ok: false,
199
- message: "Provide `script` (inline source), `scriptPath` (a file to read), or `name` (a saved workflow). " +
200
- "`scriptPath` takes precedence, then `script`, then `name`." +
201
- (known.length > 0 ? ` Saved workflows: ${known.join(", ")}.` : ""),
202
- };
203
- }
204
- //# sourceMappingURL=saved.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"saved.js","sourceRoot":"","sources":["../../src/workflow/saved.ts"],"names":[],"mappings":"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"}
@@ -1,137 +0,0 @@
1
- /**
2
- * task.ts — the background record one workflow run lives in.
3
- *
4
- * A `SubagentWorkflow` tool call returns a task id immediately and the run continues
5
- * without it, so the run's state cannot live in the tool call's closure: the
6
- * inline card, the completion notification and (later) the `/agents → Workflows` dialog
7
- * all read it after `execute` has returned. This is that record, shaped after
8
- * Claude Code's `local_workflow` task so the fields line up with what the
9
- * renderers already expect.
10
- *
11
- * The progress log is append-only and collapses by index (see `progress.ts`),
12
- * so every derived counter here is recomputed from the log rather than
13
- * incremented as entries arrive — a re-emitted agent entry replaces its
14
- * predecessor, and adding its tokens on top would double-count them.
15
- */
16
- import type { WorkflowJournalEntry } from "./journal.js";
17
- import type { WorkflowMeta } from "./meta.js";
18
- import { type WorkflowEntry, type WorkflowRunStatus } from "./progress.js";
19
- import type { WorkflowControl, WorkflowRunResult } from "./runtime.js";
20
- /** `wf_` + hex, matching Claude Code's `^wf_[a-z0-9-]{6,}$` run ids. */
21
- export declare function workflowRunId(): string;
22
- export interface WorkflowTask {
23
- /** Discriminator, alongside Claude Code's `local_agent` / `local_bash`. */
24
- type: "local_workflow";
25
- id: string;
26
- status: WorkflowRunStatus;
27
- script: string;
28
- /** Where the script can be edited and re-run from. */
29
- scriptPath?: string;
30
- args?: unknown;
31
- meta?: WorkflowMeta;
32
- workflowName?: string;
33
- /** The `tool_use_id` of the call that started this, when one did. */
34
- toolCallId?: string;
35
- /**
36
- * Pause, skip and retry, once the run is up.
37
- *
38
- * Absent before the runtime hands it over and after the run settles — the
39
- * dialog treats "no control" as "those keys do nothing", which is the same
40
- * thing it does for a run that has finished.
41
- */
42
- control?: WorkflowControl;
43
- /** When the current pause started, so `totalPausedMs` can be closed out. */
44
- pausedAt?: number;
45
- /** Where this run records its own settled calls, for a later resume. */
46
- journalPath?: string;
47
- /** A previous run's journal, when this call asked to resume one. */
48
- replay?: readonly WorkflowJournalEntry[];
49
- /** The run id this one resumed, for the result line that says so. */
50
- resumedFrom?: string;
51
- /** How many agents came back from {@link replay} instead of being spawned. */
52
- replayedCount: number;
53
- /** The append-only event log, in emission order. */
54
- workflowProgress: WorkflowEntry[];
55
- /** Bumped once per applied batch, so a renderer can tell nothing changed. */
56
- progressVersion: number;
57
- agentCount: number;
58
- /**
59
- * Agents that have settled successfully, recomputed with the other counters.
60
- *
61
- * Cached rather than derived on read because the fleet list asks five times a
62
- * second: deriving it there would walk the whole append-only log on every
63
- * tick, which for a thousand-agent run is real work in the render loop.
64
- */
65
- doneCount: number;
66
- totalTokens: number;
67
- totalToolCalls: number;
68
- logs: string[];
69
- abortController: AbortController;
70
- startTime: number;
71
- endTime?: number;
72
- /** Excluded from the elapsed clock the header shows. */
73
- totalPausedMs: number;
74
- /** The script's return value, once the run produced one. */
75
- value?: unknown;
76
- error?: string;
77
- }
78
- export declare function createWorkflowTask(init: {
79
- id: string;
80
- script: string;
81
- scriptPath?: string;
82
- args?: unknown;
83
- meta?: WorkflowMeta;
84
- toolCallId?: string;
85
- startTime?: number;
86
- journalPath?: string;
87
- replay?: readonly WorkflowJournalEntry[];
88
- resumedFrom?: string;
89
- }): WorkflowTask;
90
- /**
91
- * Apply one batch of progress entries.
92
- *
93
- * Batched rather than per-entry because that is how the worker emits them, and
94
- * because every counter below is an O(log) recompute — doing it once per fan-out
95
- * frame instead of once per agent is the difference that keeps a 200-agent run
96
- * cheap to render.
97
- */
98
- export declare function updateWorkflowProgressBatch(task: WorkflowTask, entries: readonly WorkflowEntry[]): void;
99
- /**
100
- * Hold the run, and stop its clock.
101
- *
102
- * The elapsed figure every surface shows subtracts `totalPausedMs`, so a run
103
- * left paused overnight does not come back reading as a twelve-hour run.
104
- */
105
- export declare function pauseWorkflowTask(task: WorkflowTask, now?: number): boolean;
106
- /** Let it go again, banking however long it was held. */
107
- export declare function resumeWorkflowTask(task: WorkflowTask, now?: number): boolean;
108
- /** Settle a task from the run's own result. */
109
- export declare function completeWorkflowTask(task: WorkflowTask, result: WorkflowRunResult): void;
110
- /**
111
- * Settle a task that never produced a result — a script rejected before the
112
- * worker started (bad `meta`, oversized source, non-JSON `args`).
113
- */
114
- export declare function failWorkflowTask(task: WorkflowTask, error: string): void;
115
- /** The run's outcome as text, for the notification and the LLM-facing result. */
116
- export declare function workflowResultText(task: WorkflowTask): string;
117
- /**
118
- * Resolve a `resumeFromRunId` against the runs this session has seen.
119
- *
120
- * Same-session only, and deliberately so: the journal lives beside the
121
- * session's task files, and a run id from another session would silently find
122
- * nothing to replay — reporting that as "resumed" would be a lie the caller
123
- * could not see through. An unknown id is an error rather than a cold start,
124
- * because a caller that asked to resume is expecting not to pay.
125
- */
126
- export declare function resolveResumeTarget(runId: string | undefined, tasks: ReadonlyMap<string, WorkflowTask>): undefined | {
127
- ok: true;
128
- runId: string;
129
- journalPath: string;
130
- scriptPath: string;
131
- } | {
132
- ok: false;
133
- message: string;
134
- };
135
- /** `<task-notification>`, in the same shape a finished background agent sends. */
136
- export declare function formatWorkflowNotification(task: WorkflowTask, now?: number): string;
137
- //# sourceMappingURL=task.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/workflow/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAA8B,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvG,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEvE,wEAAwE;AACxE,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,CAAC;IAEtB,oDAAoD;IACpD,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,YAAY,CA0Bf;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,SAAS,aAAa,EAAE,GAChC,IAAI,CAuBN;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAa,GAAG,OAAO,CAM/E;AAED,yDAAyD;AACzD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAa,GAAG,OAAO,CAOhF;AAED,+CAA+C;AAC/C,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAkBxF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMxE;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAK7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,GAEtC,SAAS,GACT;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiCjC;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAa,GAAG,MAAM,CAoBvF"}