@esso0428/pi-subagents 0.17.16 → 0.17.17

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 +6 -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":"agent-manager.js","sourceRoot":"","sources":["../src/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- /** Durable checkpoints for agents that may be interrupted by a catchable lifecycle event. */
2
- import type { AgentInvocation } from "./types.js";
3
- import type { LifetimeUsage } from "./usage.js";
4
- type ActiveStatus = "running" | "queued";
5
- type TerminalStatus = "completed" | "steered" | "stopped" | "aborted" | "error";
6
- export type AgentRecoveryStatus = ActiveStatus | TerminalStatus;
7
- export interface AgentRecoveryCheckpoint {
8
- version: 1;
9
- id: string;
10
- type: string;
11
- description: string;
12
- status: AgentRecoveryStatus;
13
- startedAt: number;
14
- completedAt?: number;
15
- result?: string;
16
- error?: string;
17
- toolUses: number;
18
- lifetimeUsage: LifetimeUsage;
19
- compactionCount: number;
20
- transcriptPath?: string;
21
- invocation?: AgentInvocation;
22
- }
23
- /** Validate untrusted JSON before it can enter the manager or UI. */
24
- export declare function isAgentRecoveryCheckpoint(value: unknown): value is AgentRecoveryCheckpoint;
25
- /** Return the on-disk path for an agent's single deduplicated checkpoint. */
26
- export declare function agentRecoveryCheckpointPath(cwd: string, agentId: string): string;
27
- /**
28
- * Atomically write one checkpoint. Repeated writes for the same agent replace
29
- * the same file; identical payloads are skipped, so shutdown + abort callbacks
30
- * cannot create duplicate recovery records.
31
- */
32
- export declare function removeAgentRecoveryCheckpoint(cwd: string, agentId: string): boolean;
33
- export declare function writeAgentRecoveryCheckpoint(cwd: string, checkpoint: AgentRecoveryCheckpoint): boolean;
34
- /** Load valid checkpoints, ignoring orphan, malformed, and corrupt files. */
35
- export declare function readAgentRecoveryCheckpoints(cwd: string): AgentRecoveryCheckpoint[];
36
- export {};
37
- //# sourceMappingURL=agent-recovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-recovery.d.ts","sourceRoot":"","sources":["../src/agent-recovery.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAM7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQhD,KAAK,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AACzC,KAAK,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,cAAc,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAmDD,qEAAqE;AACrE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CA0B1F;AAMD,6EAA6E;AAC7E,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAOnF;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAsBtG;AAED,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAqBnF"}
@@ -1,171 +0,0 @@
1
- /** Durable checkpoints for agents that may be interrupted by a catchable lifecycle event. */
2
- import { randomUUID } from "node:crypto";
3
- import { existsSync, mkdirSync, readdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
4
- import { join } from "node:path";
5
- import { ensureSubagentsGitignore } from "./agent-history.js";
6
- const SUBAGENTS_DIR = ".pi-subagents";
7
- const CHECKPOINTS_DIR = "agent-checkpoints";
8
- const CHECKPOINT_VERSION = 1;
9
- const TERMINAL_STATUSES = new Set(["completed", "steered", "stopped", "aborted", "error"]);
10
- const THINKING_LEVELS = new Set(["minimal", "low", "medium", "high", "xhigh", "max", "off"]);
11
- function isSafeString(value, maxLength) {
12
- return typeof value === "string" && value.length > 0 && value.length <= maxLength && !/[\0\r\n]/.test(value);
13
- }
14
- function isFiniteTimestamp(value) {
15
- return typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value >= 0;
16
- }
17
- function isUsage(value) {
18
- if (!value || typeof value !== "object")
19
- return false;
20
- const usage = value;
21
- return ["input", "output", "cacheWrite"].every((key) => {
22
- const n = usage[key];
23
- return typeof n === "number" && Number.isFinite(n) && n >= 0;
24
- });
25
- }
26
- function isInvocation(value) {
27
- if (!value || typeof value !== "object")
28
- return false;
29
- const invocation = value;
30
- for (const key of ["modelName", "effectiveModelName"]) {
31
- if (invocation[key] !== undefined && !isSafeString(invocation[key], 512))
32
- return false;
33
- }
34
- for (const key of ["thinking", "effectiveThinking"]) {
35
- if (invocation[key] !== undefined && (typeof invocation[key] !== "string" || !THINKING_LEVELS.has(invocation[key])))
36
- return false;
37
- }
38
- if (invocation.maxTurns !== undefined && (!Number.isInteger(invocation.maxTurns) || invocation.maxTurns < 0))
39
- return false;
40
- for (const key of ["isolated", "inheritContext", "runInBackground"]) {
41
- if (invocation[key] !== undefined && typeof invocation[key] !== "boolean")
42
- return false;
43
- }
44
- return invocation.isolation === undefined || invocation.isolation === "worktree";
45
- }
46
- function isActiveStatus(value) {
47
- return value === "running" || value === "queued";
48
- }
49
- function isTerminalStatus(value) {
50
- return TERMINAL_STATUSES.has(value);
51
- }
52
- function isSafeTranscriptPath(value) {
53
- return typeof value === "string"
54
- && /^\.pi-subagents\/agent-transcripts\/[^/]+\.jsonl$/.test(value)
55
- && !value.includes("..")
56
- && !value.includes("\\")
57
- && !value.includes("\0");
58
- }
59
- /** Validate untrusted JSON before it can enter the manager or UI. */
60
- export function isAgentRecoveryCheckpoint(value) {
61
- if (!value || typeof value !== "object")
62
- return false;
63
- const checkpoint = value;
64
- if (checkpoint.version !== CHECKPOINT_VERSION
65
- || !isSafeString(checkpoint.id, 256)
66
- || !isSafeString(checkpoint.type, 256)
67
- || !isSafeString(checkpoint.description, 4096)
68
- || typeof checkpoint.status !== "string"
69
- || !isFiniteTimestamp(checkpoint.startedAt)
70
- || !Number.isInteger(checkpoint.toolUses)
71
- || checkpoint.toolUses < 0
72
- || !isUsage(checkpoint.lifetimeUsage)
73
- || !Number.isInteger(checkpoint.compactionCount)
74
- || checkpoint.compactionCount < 0)
75
- return false;
76
- const status = checkpoint.status;
77
- if (!isActiveStatus(status) && !isTerminalStatus(status))
78
- return false;
79
- if (checkpoint.completedAt !== undefined && !isFiniteTimestamp(checkpoint.completedAt))
80
- return false;
81
- if (isTerminalStatus(status)
82
- && (checkpoint.completedAt === undefined || checkpoint.completedAt < checkpoint.startedAt))
83
- return false;
84
- if (isActiveStatus(status) && checkpoint.completedAt !== undefined)
85
- return false;
86
- if (checkpoint.result !== undefined && !isSafeString(checkpoint.result, 2_000_000))
87
- return false;
88
- if (checkpoint.error !== undefined && !isSafeString(checkpoint.error, 64_000))
89
- return false;
90
- if (checkpoint.transcriptPath !== undefined && !isSafeTranscriptPath(checkpoint.transcriptPath))
91
- return false;
92
- if (checkpoint.invocation !== undefined && !isInvocation(checkpoint.invocation))
93
- return false;
94
- return true;
95
- }
96
- function checkpointDirectory(cwd) {
97
- return join(cwd, SUBAGENTS_DIR, CHECKPOINTS_DIR);
98
- }
99
- /** Return the on-disk path for an agent's single deduplicated checkpoint. */
100
- export function agentRecoveryCheckpointPath(cwd, agentId) {
101
- const safeId = agentId.replace(/[^A-Za-z0-9._-]+/g, "-") || "agent";
102
- return join(checkpointDirectory(cwd), `${safeId}.json`);
103
- }
104
- /**
105
- * Atomically write one checkpoint. Repeated writes for the same agent replace
106
- * the same file; identical payloads are skipped, so shutdown + abort callbacks
107
- * cannot create duplicate recovery records.
108
- */
109
- export function removeAgentRecoveryCheckpoint(cwd, agentId) {
110
- try {
111
- unlinkSync(agentRecoveryCheckpointPath(cwd, agentId));
112
- return true;
113
- }
114
- catch {
115
- return false;
116
- }
117
- }
118
- export function writeAgentRecoveryCheckpoint(cwd, checkpoint) {
119
- if (!isAgentRecoveryCheckpoint(checkpoint))
120
- return false;
121
- try {
122
- ensureSubagentsGitignore(cwd);
123
- const directory = checkpointDirectory(cwd);
124
- mkdirSync(directory, { recursive: true });
125
- const path = agentRecoveryCheckpointPath(cwd, checkpoint.id);
126
- const contents = `${JSON.stringify(checkpoint)}\n`;
127
- try {
128
- if (readFileSync(path, "utf8") === contents)
129
- return false;
130
- }
131
- catch {
132
- // The file is new, missing, or unreadable; replace it below.
133
- }
134
- const temporary = `${path}.${process.pid}.${randomUUID()}.tmp`;
135
- writeFileSync(temporary, contents, { encoding: "utf8", mode: 0o600 });
136
- renameSync(temporary, path);
137
- return true;
138
- }
139
- catch {
140
- // Recovery must never make a spawn or shutdown fail. A later checkpoint
141
- // gets another chance to persist if the filesystem becomes available.
142
- return false;
143
- }
144
- }
145
- /** Load valid checkpoints, ignoring orphan, malformed, and corrupt files. */
146
- export function readAgentRecoveryCheckpoints(cwd) {
147
- const directory = checkpointDirectory(cwd);
148
- if (!existsSync(directory))
149
- return [];
150
- let names;
151
- try {
152
- names = readdirSync(directory).filter((name) => /^[A-Za-z0-9._-]+\.json$/.test(name));
153
- }
154
- catch {
155
- return [];
156
- }
157
- const latest = new Map();
158
- for (const name of names) {
159
- try {
160
- const value = JSON.parse(readFileSync(join(directory, name), "utf8"));
161
- if (!isAgentRecoveryCheckpoint(value))
162
- continue;
163
- latest.set(value.id, value);
164
- }
165
- catch {
166
- // Ignore a partially written/corrupt checkpoint and continue indexing.
167
- }
168
- }
169
- return [...latest.values()];
170
- }
171
- //# sourceMappingURL=agent-recovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-recovery.js","sourceRoot":"","sources":["../src/agent-recovery.ts"],"names":[],"mappings":"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"}
@@ -1,303 +0,0 @@
1
- /**
2
- * agent-runner.ts — Core execution engine: creates sessions, runs agents, collects results.
3
- */
4
- import type { Model } from "@earendil-works/pi-ai";
5
- import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
6
- import { type AgentSession, DefaultResourceLoader, type ExtensionAPI } from "@earendil-works/pi-coding-agent";
7
- import { type NestedAgentManager } from "./nested-tools.js";
8
- import type { SubagentType, ThinkingLevel } from "./types.js";
9
- import type { LifetimeUsage } from "./usage.js";
10
- import type { CompiledSchema } from "./workflow/json-schema.js";
11
- /**
12
- * Tool names registered by THIS extension. Single source of truth so the
13
- * registration sites (index.ts) and the subagent exclusion list below can't
14
- * drift apart. These are our own tools, not pi built-ins, so they can't be
15
- * derived from pi — but they only need defining once.
16
- */
17
- export declare const SUBAGENT_TOOL_NAMES: {
18
- readonly AGENT: "Agent";
19
- readonly WORKFLOW: "SubagentWorkflow";
20
- readonly GET_RESULT: "get_subagent_result";
21
- readonly STEER: "steer_subagent";
22
- };
23
- /**
24
- * Canonical name of an extension for `extensions: [...]` allowlist matching.
25
- * Lowercased — extension names match case-insensitively so `extensions: [Mcp]`
26
- * resolves the same as `[mcp]`. Tool names within `ext:foo/bar` are not affected.
27
- * Directory extensions (`foo/index.ts`) resolve to the parent directory name;
28
- * single-file extensions to the basename minus `.ts`/`.js`.
29
- */
30
- export declare function extensionCanonicalName(extPath: string): string;
31
- /**
32
- * All names an extension answers to for allowlist matching (lowercased): its
33
- * path-derived {@link extensionCanonicalName} plus, when a pi package manifest
34
- * declares this entry, that package's unscoped short name (`@scope/foo` → `foo`).
35
- * #143: an extension installed via `pi.extensions: ["./src/index.ts"]` would
36
- * otherwise only ever match as `src` (the source directory), never by its
37
- * package name. The path-derived name is preserved, so it keeps matching too.
38
- */
39
- export declare function extensionCanonicalNames(extPath: string): string[];
40
- /**
41
- * Classify `extensions: string[]` frontmatter entries for the loader-level filter.
42
- *
43
- * An entry is a PATH iff it contains a path separator or starts with `~`; otherwise
44
- * it is a NAME. `"*"` sets the wildcard flag (keep all default-discovered extensions).
45
- *
46
- * Path entries are resolved (`~` expanded, made absolute against `cwd`) into `paths`
47
- * — and their canonical name is also added to `names`. The loader override matches
48
- * everything by canonical name, so path-loaded extensions are matched via their name
49
- * rather than their post-staging `Extension.path`.
50
- */
51
- export declare function parseExtensionsSpec(entries: string[], cwd: string): {
52
- names: Set<string>;
53
- paths: string[];
54
- wildcard: boolean;
55
- };
56
- /**
57
- * Parse raw `ext:` selector strings (from the `tools:` CSV) into the set of
58
- * extension names to keep loaded and a per-extension tool-narrowing map.
59
- *
60
- * `ext:foo` → `extNames` has `foo`, no narrowing entry (all of foo's tools).
61
- * `ext:foo/bar` → `extNames` has `foo`, `narrowing.foo` has `bar` (only `bar`).
62
- * A name lands in `narrowing` only when a `/tool` form is seen, so a bare
63
- * `ext:foo` alongside `ext:foo/bar` leaves narrowing in effect (narrowing wins).
64
- * The split is on the first `/`; extension canonical names never contain `/`.
65
- */
66
- export declare function parseExtSelectors(entries: string[]): {
67
- extNames: Set<string>;
68
- narrowing: Map<string, Set<string>>;
69
- };
70
- /**
71
- * Keep a subagent's tool scope correct as extensions register tools over time.
72
- *
73
- * Extensions may call `registerTool` long after load — pi-mcp from `session_start`,
74
- * context-mode from `before_agent_start` — so scope has to be re-derived rather than
75
- * snapshotted. `registerTool` writes into the very `extension.tools` maps this reads,
76
- * so `inScope()` sees late arrivals on the next call.
77
- *
78
- * Two enforcement points, because neither covers the whole picture:
79
- *
80
- * - `turn_end` re-narrows the ACTIVE set. pi emits `turn_end` immediately before
81
- * `prepareNextTurn` re-snapshots `agent.state.tools`, and session listeners run
82
- * synchronously, so the narrow lands in time for turns 2..N.
83
- * - `beforeToolCall` blocks out-of-scope calls. Turn 1 cannot be narrowed at all:
84
- * `before_agent_start` fires INSIDE `prompt()` and may widen the tool set, but
85
- * `createContextSnapshot()` freezes that turn's tools immediately after — there
86
- * is no hook in between. A call-time check is the only correct guard there.
87
- *
88
- * Both are installed on the session and deliberately NOT unsubscribed: they must
89
- * outlive the `runAgent` call so resumed/steered turns stay scoped. pi's `dispose()`
90
- * clears `_eventListeners`, so they die with the session rather than leaking.
91
- *
92
- * Only meaningful when extensions are loaded — under `noExtensions`/`isolated` the
93
- * static `allowedToolNames` allowlist already gates the registry itself.
94
- */
95
- export declare function installExtensionToolScope(session: AgentSession, ctx: {
96
- loader: DefaultResourceLoader;
97
- toolNames: string[];
98
- disallowedSet: Set<string> | undefined;
99
- extNames: Set<string>;
100
- narrowing: Map<string, Set<string>>;
101
- /**
102
- * Injected `customTools` to keep active regardless of the built-in list.
103
- *
104
- * Two kinds arrive here and they are blocked for different reasons: opt-in
105
- * nested-delegation tools share EXCLUDED_TOOL_NAMES' names, and
106
- * StructuredOutput is simply not a built-in, so neither survives a `keep`
107
- * seeded from `toolNames`.
108
- */
109
- readmitToolNames: Set<string>;
110
- }): void;
111
- /** Normalize max turns. undefined or 0 = unlimited, otherwise minimum 1. */
112
- export declare function normalizeMaxTurns(n: number | undefined): number | undefined;
113
- /** Get the default max turns value. undefined = unlimited. */
114
- export declare function getDefaultMaxTurns(): number | undefined;
115
- /** Set the default max turns value. undefined or 0 = unlimited, otherwise minimum 1. */
116
- export declare function setDefaultMaxTurns(n: number | undefined): void;
117
- /**
118
- * The turn limit a run of `type` will actually enforce: an explicit value if the
119
- * caller supplied one, else the agent's own `max_turns`, else the project
120
- * default. `undefined` = unlimited.
121
- *
122
- * Exported because the widget's turn counter (`↻3≤20`) has to predict this
123
- * before the run starts, and a second copy of the expression would drift from
124
- * the one below that enforces it.
125
- */
126
- export declare function resolveEffectiveMaxTurns(type: string, explicit?: number): number | undefined;
127
- /** Whether subagent sessions are persisted by default. */
128
- export declare function getRememberAgents(): boolean;
129
- /** Set whether subagent sessions are persisted by default. */
130
- export declare function setRememberAgents(b: boolean): void;
131
- /** Get the grace turns value. */
132
- export declare function getGraceTurns(): number;
133
- /** Set the grace turns value (minimum 1). */
134
- export declare function setGraceTurns(n: number): void;
135
- /**
136
- * Try to find the right model for an agent type.
137
- * Priority: explicit option > config.model > parent model.
138
- */
139
- export declare function resolveDefaultModel(parentModel: Model<any> | undefined, registry: {
140
- find(provider: string, modelId: string): Model<any> | undefined;
141
- getAvailable?(): Model<any>[];
142
- }, configModel?: string): Model<any> | undefined;
143
- /** Info about a tool event in the subagent. */
144
- export interface ToolActivity {
145
- type: "start" | "end";
146
- toolName: string;
147
- }
148
- export interface RunOptions {
149
- /** ExtensionAPI instance — used for pi.exec() instead of execSync. */
150
- pi: ExtensionAPI;
151
- /** Manager-assigned id; suffixes session name to disambiguate parallel spawns (e.g. `Explore#a1b2c3d4`). */
152
- agentId?: string;
153
- model?: Model<any>;
154
- maxTurns?: number;
155
- signal?: AbortSignal;
156
- isolated?: boolean;
157
- inheritContext?: boolean;
158
- thinkingLevel?: ThinkingLevel;
159
- /**
160
- * Reopen this pi session file rather than starting an empty conversation.
161
- * `createAgentSession` seeds itself from whatever its SessionManager holds,
162
- * so pointing it at an existing file rehydrates that agent's history and the
163
- * prompt continues it. Everything else — tools, model, system prompt, turn
164
- * caps — is still resolved from the agent type, so the continuation runs
165
- * under the type's *current* definition, not the one the original run used.
166
- */
167
- resumeSessionFile?: string;
168
- /**
169
- * True when another agent spawned this one. Only top-level agents get a
170
- * handle, so only they can be reopened by name — which is the whole reason
171
- * `rememberAgents` persists a session at all. A nested run's transcript would
172
- * be unreachable by anything, so it stays in memory unless its own
173
- * frontmatter asks otherwise.
174
- */
175
- nested?: boolean;
176
- /**
177
- * True when a workflow run spawned this agent. Its final text is the value
178
- * `agent()` resolves to rather than a report a person reads, and the prompt
179
- * says so — but only when `structuredOutput` is unset, since that child
180
- * already has a `StructuredOutput` tool to answer through and two competing
181
- * "this is how you return your answer" instructions is worse than one.
182
- */
183
- workflow?: boolean;
184
- /** Override working directory (e.g. for worktree isolation). */
185
- cwd?: string;
186
- /**
187
- * Directory the worktree copy was created from. Set only when `cwd` points
188
- * into a worktree — the prompt then tells the agent to stay in the copy
189
- * instead of following the inherited parent prompt back to the main tree.
190
- */
191
- worktreeBase?: string;
192
- /**
193
- * Where .pi config is discovered (project extensions, skills, pi settings,
194
- * agent memory). Default: same as the working directory. The manager sets
195
- * this to the parent session's cwd when `SpawnOptions.cwd` points the
196
- * working directory elsewhere — the agent works *there* but carries the
197
- * parent project's config (the target's `.pi` extensions never execute).
198
- *
199
- * WARNING for future callers: if you pass `cwd` pointing at a directory the
200
- * user didn't open, you almost certainly must pass `configCwd` too —
201
- * omitting it makes the target's `.pi` extensions execute in this process.
202
- * (Worktree isolation is the one intentional exception: its copy IS the
203
- * parent's repo, so config resolving inside it is correct.)
204
- */
205
- configCwd?: string;
206
- /** Called on tool start/end with activity info. */
207
- onToolActivity?: (activity: ToolActivity) => void;
208
- /** Called on streaming text deltas from the assistant response. */
209
- onTextDelta?: (delta: string, fullText: string) => void;
210
- onSessionCreated?: (session: AgentSession) => void;
211
- /** Called at the end of each agentic turn with the cumulative count. */
212
- onTurnEnd?: (turnCount: number) => void;
213
- /**
214
- * Called once per assistant message_end with that message's usage delta.
215
- * Lets callers maintain a lifetime accumulator that survives compaction
216
- * (which replaces session.state.messages and resets stats-derived sums).
217
- *
218
- * `cost` is pi's own `usage.cost.total` for that message — priced from the
219
- * model's rates, so it is 0 (not missing) for a model pi has no pricing for.
220
- * We never price anything ourselves; every dollar figure this extension shows
221
- * or reports traces back to this field.
222
- */
223
- onAssistantUsage?: (usage: LifetimeUsage) => void;
224
- /**
225
- * Called when the session successfully compacts. `tokensBefore` is upstream's
226
- * pre-compaction context size estimate. Aborted compactions don't fire.
227
- */
228
- onCompaction?: (info: {
229
- reason: "manual" | "threshold" | "overflow";
230
- tokensBefore: number;
231
- }) => void;
232
- /**
233
- * Make this child report through a `StructuredOutput` tool built from this
234
- * schema, and put the validated payload on {@link RunResult.structuredJson}.
235
- *
236
- * Already compiled by the caller, so a schema this runtime cannot validate
237
- * fails at the call that wrote it rather than inside the child.
238
- */
239
- structuredOutput?: CompiledSchema;
240
- /** Runtime bridge for opt-in child-safe nested delegation. */
241
- nestedRuntime?: {
242
- manager: NestedAgentManager;
243
- parentAgentId: string;
244
- depth: number;
245
- maxSubagentDepth?: number;
246
- };
247
- }
248
- export interface RunResult {
249
- responseText: string;
250
- session: AgentSession;
251
- /** True if the agent was hard-aborted (max_turns + grace exceeded). */
252
- aborted: boolean;
253
- /** True if the agent was steered to wrap up (hit soft turn limit) but finished in time. */
254
- steered: boolean;
255
- /**
256
- * A failure message for the run's FINAL assistant turn, when that turn failed:
257
- * a provider error (stopReason "error"), or a "length" stop that produced no
258
- * text (a silent max-token death). pi resolves an exhausted-retries failure
259
- * normally instead of rejecting, so without this the manager would report such
260
- * a run as completed — with an empty result, or worse, an earlier turn's text
261
- * presented as the answer (#144). Undefined for a clean stop, or a "length"
262
- * stop that produced text (a legitimate truncated answer).
263
- */
264
- failure?: string;
265
- /**
266
- * The validated `StructuredOutput` payload as canonical JSON, when the caller
267
- * asked for a schema and the child produced one.
268
- *
269
- * Deliberately not folded into {@link responseText}: `record.result` picks up
270
- * a worktree branch note on the way out, which would leave the caller with
271
- * unparseable JSON, and merging the two would make "produced structured
272
- * output" indistinguishable from "happened to answer in JSON".
273
- */
274
- structuredJson?: string;
275
- /** Whether the extra structured-output prompt had to be sent. */
276
- structuredRetried?: boolean;
277
- }
278
- export declare function runAgent(ctx: ExtensionContext, type: SubagentType, prompt: string, options: RunOptions): Promise<RunResult>;
279
- /**
280
- * Send a new prompt to an existing session (resume).
281
- */
282
- export declare function resumeAgent(session: AgentSession, prompt: string, options?: {
283
- onToolActivity?: (activity: ToolActivity) => void;
284
- onAssistantUsage?: (usage: LifetimeUsage) => void;
285
- onCompaction?: (info: {
286
- reason: "manual" | "threshold" | "overflow";
287
- tokensBefore: number;
288
- }) => void;
289
- signal?: AbortSignal;
290
- }): Promise<{
291
- text: string;
292
- failure?: string;
293
- }>;
294
- /**
295
- * Send a steering message to a running subagent.
296
- * The message will interrupt the agent after its current tool execution.
297
- */
298
- export declare function steerAgent(session: AgentSession, message: string): Promise<void>;
299
- /**
300
- * Get the subagent's conversation messages as formatted text.
301
- */
302
- export declare function getAgentConversation(session: AgentSession): string;
303
- //# sourceMappingURL=agent-runner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,iCAAiC,CAAC;AAC9F,OAAO,EACL,KAAK,YAAY,EAGjB,qBAAqB,EACrB,KAAK,YAAY,EAIlB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAkD,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5G,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAKX;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAM9D;AAkDD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAIjE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,GACV;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAwB5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACpD,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACrC,CAwBA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,YAAY,EACrB,GAAG,EAAE;IACH,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACtB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC;;;;;;;OAOG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/B,GACA,IAAI,CA4DN;AAKD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAG3E;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAA4B;AACpF,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAA4C;AAE3G;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5F;AAWD,0DAA0D;AAC1D,wBAAgB,iBAAiB,IAAI,OAAO,CAA2B;AACvE,8DAA8D;AAC9D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAwB;AAK3E,iCAAiC;AACjC,wBAAgB,aAAa,IAAI,MAAM,CAAuB;AAC9D,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAiC;AAE/E;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,EACnC,QAAQ,EAAE;IAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAAC,YAAY,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAA;CAAE,EAC5G,WAAW,CAAC,EAAE,MAAM,GACnB,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAqBxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,sEAAsE;IACtE,EAAE,EAAE,YAAY,CAAC;IACjB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,wEAAwE;IACxE,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrG;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,8DAA8D;IAC9D,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,kBAAkB,CAAC;QAC5B,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAsFD,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,SAAS,CAAC,CAshBpB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrG,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB,GACL,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwC7C;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA0BlE"}