@selesai/code 0.13.11 → 0.13.13

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 (1750) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +1 -1
  3. package/dist/bun/cli.d.ts +0 -2
  4. package/dist/bun/cli.js +0 -10
  5. package/dist/bun/register-bedrock.d.ts +0 -1
  6. package/dist/bun/register-bedrock.js +0 -3
  7. package/dist/bun/restore-sandbox-env.d.ts +0 -16
  8. package/dist/bun/restore-sandbox-env.js +0 -35
  9. package/dist/cli/args.d.ts +0 -59
  10. package/dist/cli/args.js +0 -428
  11. package/dist/cli/args.test.d.ts +0 -1
  12. package/dist/cli/args.test.js +0 -32
  13. package/dist/cli/config-selector.d.ts +0 -15
  14. package/dist/cli/config-selector.js +0 -30
  15. package/dist/cli/credential-print.d.ts +0 -22
  16. package/dist/cli/credential-print.js +0 -116
  17. package/dist/cli/file-processor.d.ts +0 -14
  18. package/dist/cli/file-processor.js +0 -69
  19. package/dist/cli/initial-message.d.ts +0 -17
  20. package/dist/cli/initial-message.js +0 -21
  21. package/dist/cli/list-models.d.ts +0 -8
  22. package/dist/cli/list-models.js +0 -97
  23. package/dist/cli/project-trust.d.ts +0 -9
  24. package/dist/cli/project-trust.js +0 -47
  25. package/dist/cli/session-picker.d.ts +0 -9
  26. package/dist/cli/session-picker.js +0 -35
  27. package/dist/cli/startup-ui.d.ts +0 -22
  28. package/dist/cli/startup-ui.js +0 -172
  29. package/dist/cli.d.ts +0 -2
  30. package/dist/cli.js +0 -17
  31. package/dist/config.d.ts +0 -181
  32. package/dist/config.js +0 -788
  33. package/dist/core/agent-session-auto-handoff.test.d.ts +0 -1
  34. package/dist/core/agent-session-auto-handoff.test.js +0 -183
  35. package/dist/core/agent-session-runtime.d.ts +0 -118
  36. package/dist/core/agent-session-runtime.js +0 -305
  37. package/dist/core/agent-session-services.d.ts +0 -84
  38. package/dist/core/agent-session-services.js +0 -132
  39. package/dist/core/agent-session-skill-block.test.d.ts +0 -1
  40. package/dist/core/agent-session-skill-block.test.js +0 -19
  41. package/dist/core/agent-session.d.ts +0 -712
  42. package/dist/core/agent-session.js +0 -3031
  43. package/dist/core/agents.d.ts +0 -52
  44. package/dist/core/agents.js +0 -237
  45. package/dist/core/auth-guidance.d.ts +0 -4
  46. package/dist/core/auth-guidance.js +0 -20
  47. package/dist/core/auth-storage.d.ts +0 -61
  48. package/dist/core/auth-storage.js +0 -249
  49. package/dist/core/bash-executor.d.ts +0 -31
  50. package/dist/core/bash-executor.js +0 -110
  51. package/dist/core/built-in-extensions.d.ts +0 -2
  52. package/dist/core/built-in-extensions.js +0 -2
  53. package/dist/core/cache-stats.d.ts +0 -48
  54. package/dist/core/cache-stats.js +0 -100
  55. package/dist/core/compaction/branch-summarization.d.ts +0 -97
  56. package/dist/core/compaction/branch-summarization.js +0 -246
  57. package/dist/core/compaction/compaction.d.ts +0 -141
  58. package/dist/core/compaction/compaction.js +0 -659
  59. package/dist/core/compaction/index.d.ts +0 -6
  60. package/dist/core/compaction/index.js +0 -6
  61. package/dist/core/compaction/utils.d.ts +0 -37
  62. package/dist/core/compaction/utils.js +0 -141
  63. package/dist/core/defaults.d.ts +0 -3
  64. package/dist/core/defaults.js +0 -10
  65. package/dist/core/diagnostics.d.ts +0 -15
  66. package/dist/core/diagnostics.js +0 -1
  67. package/dist/core/event-bus.d.ts +0 -8
  68. package/dist/core/event-bus.js +0 -24
  69. package/dist/core/exec.d.ts +0 -28
  70. package/dist/core/exec.js +0 -74
  71. package/dist/core/experimental.d.ts +0 -5
  72. package/dist/core/experimental.js +0 -7
  73. package/dist/core/export-html/ansi-to-html.d.ts +0 -21
  74. package/dist/core/export-html/ansi-to-html.js +0 -248
  75. package/dist/core/export-html/index.d.ts +0 -36
  76. package/dist/core/export-html/index.js +0 -225
  77. package/dist/core/export-html/template.css +0 -1066
  78. package/dist/core/export-html/template.html +0 -55
  79. package/dist/core/export-html/template.js +0 -1864
  80. package/dist/core/export-html/tool-renderer.d.ts +0 -33
  81. package/dist/core/export-html/tool-renderer.js +0 -107
  82. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  83. package/dist/core/export-html/vendor/marked.min.js +0 -78
  84. package/dist/core/extensions/index.d.ts +0 -11
  85. package/dist/core/extensions/index.js +0 -8
  86. package/dist/core/extensions/loader.d.ts +0 -22
  87. package/dist/core/extensions/loader.js +0 -632
  88. package/dist/core/extensions/loader.test.d.ts +0 -1
  89. package/dist/core/extensions/loader.test.js +0 -21
  90. package/dist/core/extensions/runner.d.ts +0 -176
  91. package/dist/core/extensions/runner.js +0 -1016
  92. package/dist/core/extensions/types.d.ts +0 -1313
  93. package/dist/core/extensions/types.js +0 -44
  94. package/dist/core/extensions/wrapper.d.ts +0 -19
  95. package/dist/core/extensions/wrapper.js +0 -40
  96. package/dist/core/footer-data-provider.d.ts +0 -63
  97. package/dist/core/footer-data-provider.js +0 -337
  98. package/dist/core/git-command.d.ts +0 -8
  99. package/dist/core/git-command.js +0 -48
  100. package/dist/core/handoff.d.ts +0 -11
  101. package/dist/core/handoff.js +0 -49
  102. package/dist/core/http-dispatcher.d.ts +0 -21
  103. package/dist/core/http-dispatcher.js +0 -90
  104. package/dist/core/index.d.ts +0 -12
  105. package/dist/core/index.js +0 -12
  106. package/dist/core/keybindings.d.ts +0 -421
  107. package/dist/core/keybindings.js +0 -295
  108. package/dist/core/llama/client.d.ts +0 -66
  109. package/dist/core/llama/client.js +0 -308
  110. package/dist/core/llama/huggingface.d.ts +0 -22
  111. package/dist/core/llama/huggingface.js +0 -140
  112. package/dist/core/llama/index.d.ts +0 -2
  113. package/dist/core/llama/index.js +0 -207
  114. package/dist/core/llama/provider.d.ts +0 -11
  115. package/dist/core/llama/provider.js +0 -143
  116. package/dist/core/llama/ui.d.ts +0 -41
  117. package/dist/core/llama/ui.js +0 -415
  118. package/dist/core/messages.d.ts +0 -76
  119. package/dist/core/messages.js +0 -122
  120. package/dist/core/model-config.d.ts +0 -547
  121. package/dist/core/model-config.js +0 -278
  122. package/dist/core/model-registry.d.ts +0 -45
  123. package/dist/core/model-registry.js +0 -107
  124. package/dist/core/model-resolver.d.ts +0 -122
  125. package/dist/core/model-resolver.js +0 -558
  126. package/dist/core/model-runtime.d.ts +0 -86
  127. package/dist/core/model-runtime.js +0 -472
  128. package/dist/core/models-store.d.ts +0 -16
  129. package/dist/core/models-store.js +0 -44
  130. package/dist/core/output-guard.d.ts +0 -6
  131. package/dist/core/output-guard.js +0 -88
  132. package/dist/core/package-manager.d.ts +0 -221
  133. package/dist/core/package-manager.js +0 -2232
  134. package/dist/core/package-manager.test.d.ts +0 -1
  135. package/dist/core/package-manager.test.js +0 -58
  136. package/dist/core/project-trust.d.ts +0 -14
  137. package/dist/core/project-trust.js +0 -58
  138. package/dist/core/prompt-templates.d.ts +0 -53
  139. package/dist/core/prompt-templates.js +0 -235
  140. package/dist/core/provider-attribution.d.ts +0 -3
  141. package/dist/core/provider-attribution.js +0 -71
  142. package/dist/core/provider-composer.d.ts +0 -54
  143. package/dist/core/provider-composer.js +0 -387
  144. package/dist/core/radius.d.ts +0 -1
  145. package/dist/core/radius.js +0 -1
  146. package/dist/core/remote-catalog-provider.d.ts +0 -4
  147. package/dist/core/remote-catalog-provider.js +0 -119
  148. package/dist/core/resolve-config-value.d.ts +0 -29
  149. package/dist/core/resolve-config-value.js +0 -246
  150. package/dist/core/resource-loader.d.ts +0 -256
  151. package/dist/core/resource-loader.js +0 -974
  152. package/dist/core/runtime-credentials.d.ts +0 -16
  153. package/dist/core/runtime-credentials.js +0 -41
  154. package/dist/core/sdk.d.ts +0 -107
  155. package/dist/core/sdk.js +0 -279
  156. package/dist/core/session-cwd.d.ts +0 -18
  157. package/dist/core/session-cwd.js +0 -37
  158. package/dist/core/session-manager.d.ts +0 -355
  159. package/dist/core/session-manager.js +0 -1339
  160. package/dist/core/settings-manager-auto-handoff.test.d.ts +0 -1
  161. package/dist/core/settings-manager-auto-handoff.test.js +0 -42
  162. package/dist/core/settings-manager.d.ts +0 -350
  163. package/dist/core/settings-manager.js +0 -1076
  164. package/dist/core/skills.d.ts +0 -70
  165. package/dist/core/skills.js +0 -401
  166. package/dist/core/slash-commands.d.ts +0 -14
  167. package/dist/core/slash-commands.js +0 -27
  168. package/dist/core/source-info.d.ts +0 -17
  169. package/dist/core/source-info.js +0 -18
  170. package/dist/core/system-prompt.d.ts +0 -30
  171. package/dist/core/system-prompt.js +0 -129
  172. package/dist/core/system-prompt.test.d.ts +0 -1
  173. package/dist/core/system-prompt.test.js +0 -94
  174. package/dist/core/telemetry.d.ts +0 -2
  175. package/dist/core/telemetry.js +0 -8
  176. package/dist/core/timings.d.ts +0 -9
  177. package/dist/core/timings.js +0 -40
  178. package/dist/core/tools/bash.d.ts +0 -86
  179. package/dist/core/tools/bash.js +0 -409
  180. package/dist/core/tools/edit-diff.d.ts +0 -105
  181. package/dist/core/tools/edit-diff.js +0 -423
  182. package/dist/core/tools/edit.d.ts +0 -50
  183. package/dist/core/tools/edit.js +0 -285
  184. package/dist/core/tools/file-mutation-queue.d.ts +0 -5
  185. package/dist/core/tools/file-mutation-queue.js +0 -51
  186. package/dist/core/tools/find.d.ts +0 -34
  187. package/dist/core/tools/find.js +0 -304
  188. package/dist/core/tools/grep.d.ts +0 -36
  189. package/dist/core/tools/grep.js +0 -303
  190. package/dist/core/tools/index.d.ts +0 -42
  191. package/dist/core/tools/index.js +0 -119
  192. package/dist/core/tools/ls.d.ts +0 -36
  193. package/dist/core/tools/ls.js +0 -166
  194. package/dist/core/tools/output-accumulator.d.ts +0 -51
  195. package/dist/core/tools/output-accumulator.js +0 -183
  196. package/dist/core/tools/path-utils.d.ts +0 -9
  197. package/dist/core/tools/path-utils.js +0 -98
  198. package/dist/core/tools/powershell.d.ts +0 -15
  199. package/dist/core/tools/powershell.js +0 -38
  200. package/dist/core/tools/powershell.test.d.ts +0 -1
  201. package/dist/core/tools/powershell.test.js +0 -20
  202. package/dist/core/tools/read-vision.test.d.ts +0 -1
  203. package/dist/core/tools/read-vision.test.js +0 -122
  204. package/dist/core/tools/read.d.ts +0 -46
  205. package/dist/core/tools/read.js +0 -327
  206. package/dist/core/tools/render-utils.d.ts +0 -23
  207. package/dist/core/tools/render-utils.js +0 -64
  208. package/dist/core/tools/tool-definition-wrapper.d.ts +0 -13
  209. package/dist/core/tools/tool-definition-wrapper.js +0 -35
  210. package/dist/core/tools/truncate.d.ts +0 -69
  211. package/dist/core/tools/truncate.js +0 -214
  212. package/dist/core/tools/write.d.ts +0 -25
  213. package/dist/core/tools/write.js +0 -198
  214. package/dist/core/trust-manager.d.ts +0 -35
  215. package/dist/core/trust-manager.js +0 -201
  216. package/dist/core/usage-totals.d.ts +0 -20
  217. package/dist/core/usage-totals.js +0 -61
  218. package/dist/core/vision-caption.d.ts +0 -30
  219. package/dist/core/vision-caption.js +0 -62
  220. package/dist/defaults/models.json +0 -335
  221. package/dist/defaults/settings.json +0 -61
  222. package/dist/extensions/agent-browser.test.ts +0 -371
  223. package/dist/extensions/agent-browser.ts +0 -160
  224. package/dist/extensions/auto-session-name.test.ts +0 -169
  225. package/dist/extensions/auto-session-name.ts +0 -100
  226. package/dist/extensions/context-compaction-reminder.test.ts +0 -82
  227. package/dist/extensions/context-compaction-reminder.ts +0 -28
  228. package/dist/extensions/copy-turn.test.ts +0 -383
  229. package/dist/extensions/copy-turn.ts +0 -146
  230. package/dist/extensions/cost-reconcile.test.ts +0 -272
  231. package/dist/extensions/cost-reconcile.ts +0 -264
  232. package/dist/extensions/grep-app/index.test.ts +0 -406
  233. package/dist/extensions/grep-app/index.ts +0 -216
  234. package/dist/extensions/handoff-new.test.ts +0 -434
  235. package/dist/extensions/handoff-new.ts +0 -129
  236. package/dist/extensions/herdr-agent-state.ts +0 -310
  237. package/dist/extensions/inline-skills.test.ts +0 -204
  238. package/dist/extensions/inline-skills.ts +0 -102
  239. package/dist/extensions/package.json +0 -32
  240. package/dist/extensions/pi-hermes-memory/CHANGELOG.md +0 -371
  241. package/dist/extensions/pi-hermes-memory/LICENSE +0 -21
  242. package/dist/extensions/pi-hermes-memory/README.md +0 -643
  243. package/dist/extensions/pi-hermes-memory/docs/0.1/TASKS.md +0 -197
  244. package/dist/extensions/pi-hermes-memory/docs/0.2/PLAN.md +0 -290
  245. package/dist/extensions/pi-hermes-memory/docs/0.2/TASKS.md +0 -134
  246. package/dist/extensions/pi-hermes-memory/docs/0.2/TEST-PLAN.md +0 -216
  247. package/dist/extensions/pi-hermes-memory/docs/0.3/PLAN.md +0 -330
  248. package/dist/extensions/pi-hermes-memory/docs/0.3/TASKS.md +0 -125
  249. package/dist/extensions/pi-hermes-memory/docs/0.4/PLAN.md +0 -160
  250. package/dist/extensions/pi-hermes-memory/docs/0.4/TASKS.md +0 -113
  251. package/dist/extensions/pi-hermes-memory/docs/0.6/CHANGELOG.md +0 -57
  252. package/dist/extensions/pi-hermes-memory/docs/0.6/PLAN.md +0 -202
  253. package/dist/extensions/pi-hermes-memory/docs/0.6/TASKS.md +0 -144
  254. package/dist/extensions/pi-hermes-memory/docs/0.7/PLAN.md +0 -349
  255. package/dist/extensions/pi-hermes-memory/docs/0.7/TASKS.md +0 -110
  256. package/dist/extensions/pi-hermes-memory/docs/PUBLISHING.md +0 -149
  257. package/dist/extensions/pi-hermes-memory/docs/ROADMAP.md +0 -468
  258. package/dist/extensions/pi-hermes-memory/docs/images/memory-architecture.svg +0 -1
  259. package/dist/extensions/pi-hermes-memory/docs/images/pi-logo.svg +0 -22
  260. package/dist/extensions/pi-hermes-memory/docs/images/pi_memory.png +0 -0
  261. package/dist/extensions/pi-hermes-memory/docs/images/pi_memory.svg +0 -19
  262. package/dist/extensions/pi-hermes-memory/docs/images/security-flow.svg +0 -1
  263. package/dist/extensions/pi-hermes-memory/docs/images/session-lifecycle.svg +0 -1
  264. package/dist/extensions/pi-hermes-memory/docs/images/source-architecture.svg +0 -1
  265. package/dist/extensions/pi-hermes-memory/docs/mermaid/memory-architecture.mmd +0 -49
  266. package/dist/extensions/pi-hermes-memory/docs/mermaid/security-flow.mmd +0 -40
  267. package/dist/extensions/pi-hermes-memory/docs/mermaid/session-lifecycle.mmd +0 -56
  268. package/dist/extensions/pi-hermes-memory/docs/mermaid/source-architecture.mmd +0 -54
  269. package/dist/extensions/pi-hermes-memory/package-lock.json +0 -3799
  270. package/dist/extensions/pi-hermes-memory/package.json +0 -66
  271. package/dist/extensions/pi-hermes-memory/scripts/check-min-sdk.mjs +0 -99
  272. package/dist/extensions/pi-hermes-memory/scripts/ensure-dev.mjs +0 -57
  273. package/dist/extensions/pi-hermes-memory/src/auto-consolidation-warning.ts +0 -6
  274. package/dist/extensions/pi-hermes-memory/src/config.ts +0 -178
  275. package/dist/extensions/pi-hermes-memory/src/constants.ts +0 -424
  276. package/dist/extensions/pi-hermes-memory/src/extension-root-migration.ts +0 -639
  277. package/dist/extensions/pi-hermes-memory/src/handlers/auto-consolidate.ts +0 -401
  278. package/dist/extensions/pi-hermes-memory/src/handlers/background-review.ts +0 -297
  279. package/dist/extensions/pi-hermes-memory/src/handlers/child-process-watchdog.mjs +0 -90
  280. package/dist/extensions/pi-hermes-memory/src/handlers/correction-detector.ts +0 -300
  281. package/dist/extensions/pi-hermes-memory/src/handlers/index-sessions.ts +0 -86
  282. package/dist/extensions/pi-hermes-memory/src/handlers/insights.ts +0 -78
  283. package/dist/extensions/pi-hermes-memory/src/handlers/interview.ts +0 -37
  284. package/dist/extensions/pi-hermes-memory/src/handlers/learn-memory.ts +0 -186
  285. package/dist/extensions/pi-hermes-memory/src/handlers/message-parts.ts +0 -27
  286. package/dist/extensions/pi-hermes-memory/src/handlers/pi-child-process.ts +0 -485
  287. package/dist/extensions/pi-hermes-memory/src/handlers/preview-context.ts +0 -105
  288. package/dist/extensions/pi-hermes-memory/src/handlers/review-memory-ops.ts +0 -506
  289. package/dist/extensions/pi-hermes-memory/src/handlers/session-backfill.ts +0 -145
  290. package/dist/extensions/pi-hermes-memory/src/handlers/session-flush.ts +0 -151
  291. package/dist/extensions/pi-hermes-memory/src/handlers/session-live-index.ts +0 -94
  292. package/dist/extensions/pi-hermes-memory/src/handlers/skills-command.ts +0 -1334
  293. package/dist/extensions/pi-hermes-memory/src/handlers/standing-pin.ts +0 -111
  294. package/dist/extensions/pi-hermes-memory/src/handlers/switch-project.ts +0 -75
  295. package/dist/extensions/pi-hermes-memory/src/handlers/sync-markdown-memories.ts +0 -266
  296. package/dist/extensions/pi-hermes-memory/src/index.ts +0 -378
  297. package/dist/extensions/pi-hermes-memory/src/lifecycle-timing.ts +0 -54
  298. package/dist/extensions/pi-hermes-memory/src/paths.ts +0 -61
  299. package/dist/extensions/pi-hermes-memory/src/project-context.ts +0 -13
  300. package/dist/extensions/pi-hermes-memory/src/project-memory-migration.ts +0 -93
  301. package/dist/extensions/pi-hermes-memory/src/project.ts +0 -157
  302. package/dist/extensions/pi-hermes-memory/src/prompt-context.ts +0 -55
  303. package/dist/extensions/pi-hermes-memory/src/store/atomic-lock-coordinator.ts +0 -375
  304. package/dist/extensions/pi-hermes-memory/src/store/canonical-storage-path.ts +0 -54
  305. package/dist/extensions/pi-hermes-memory/src/store/content-scanner.ts +0 -101
  306. package/dist/extensions/pi-hermes-memory/src/store/db.ts +0 -1180
  307. package/dist/extensions/pi-hermes-memory/src/store/fts-query.ts +0 -101
  308. package/dist/extensions/pi-hermes-memory/src/store/markdown-mutation-lock.ts +0 -38
  309. package/dist/extensions/pi-hermes-memory/src/store/memory-lookup.ts +0 -24
  310. package/dist/extensions/pi-hermes-memory/src/store/memory-store.ts +0 -1191
  311. package/dist/extensions/pi-hermes-memory/src/store/recovery-maintenance.ts +0 -66
  312. package/dist/extensions/pi-hermes-memory/src/store/schema.ts +0 -118
  313. package/dist/extensions/pi-hermes-memory/src/store/session-anchor-search.ts +0 -472
  314. package/dist/extensions/pi-hermes-memory/src/store/session-indexer.ts +0 -511
  315. package/dist/extensions/pi-hermes-memory/src/store/session-parser.ts +0 -213
  316. package/dist/extensions/pi-hermes-memory/src/store/session-search.ts +0 -234
  317. package/dist/extensions/pi-hermes-memory/src/store/skill-store.ts +0 -950
  318. package/dist/extensions/pi-hermes-memory/src/store/skill-utils.ts +0 -133
  319. package/dist/extensions/pi-hermes-memory/src/store/sqlite-memory-store.ts +0 -1002
  320. package/dist/extensions/pi-hermes-memory/src/store/sqlite-native.ts +0 -241
  321. package/dist/extensions/pi-hermes-memory/src/store/standing-instructions.ts +0 -247
  322. package/dist/extensions/pi-hermes-memory/src/tools/memory-search-tool.ts +0 -95
  323. package/dist/extensions/pi-hermes-memory/src/tools/memory-tool.ts +0 -469
  324. package/dist/extensions/pi-hermes-memory/src/tools/session-search-tool.ts +0 -246
  325. package/dist/extensions/pi-hermes-memory/src/tools/shared-output-view.ts +0 -170
  326. package/dist/extensions/pi-hermes-memory/src/tools/skill-tool.ts +0 -333
  327. package/dist/extensions/pi-hermes-memory/src/tools/tool-result-views.ts +0 -105
  328. package/dist/extensions/pi-hermes-memory/src/types.ts +0 -214
  329. package/dist/extensions/pi-hermes-memory/tests/config.test.ts +0 -434
  330. package/dist/extensions/pi-hermes-memory/tests/extension-root-migration.test.ts +0 -368
  331. package/dist/extensions/pi-hermes-memory/tests/handlers/auto-consolidate.test.ts +0 -984
  332. package/dist/extensions/pi-hermes-memory/tests/handlers/background-review.test.ts +0 -950
  333. package/dist/extensions/pi-hermes-memory/tests/handlers/correction-detector.test.ts +0 -671
  334. package/dist/extensions/pi-hermes-memory/tests/handlers/insights.test.ts +0 -157
  335. package/dist/extensions/pi-hermes-memory/tests/handlers/interview.test.ts +0 -127
  336. package/dist/extensions/pi-hermes-memory/tests/handlers/pi-child-process.test.ts +0 -905
  337. package/dist/extensions/pi-hermes-memory/tests/handlers/preview-context.test.ts +0 -152
  338. package/dist/extensions/pi-hermes-memory/tests/handlers/prompt-context.test.ts +0 -166
  339. package/dist/extensions/pi-hermes-memory/tests/handlers/resources-discover.test.ts +0 -71
  340. package/dist/extensions/pi-hermes-memory/tests/handlers/review-memory-ops.test.ts +0 -614
  341. package/dist/extensions/pi-hermes-memory/tests/handlers/session-backfill.test.ts +0 -192
  342. package/dist/extensions/pi-hermes-memory/tests/handlers/session-flush.test.ts +0 -677
  343. package/dist/extensions/pi-hermes-memory/tests/handlers/session-live-index.test.ts +0 -225
  344. package/dist/extensions/pi-hermes-memory/tests/handlers/skills-command.test.ts +0 -827
  345. package/dist/extensions/pi-hermes-memory/tests/handlers/standing-pin.test.ts +0 -134
  346. package/dist/extensions/pi-hermes-memory/tests/handlers/sync-markdown-memories.test.ts +0 -491
  347. package/dist/extensions/pi-hermes-memory/tests/handlers/system-prompt.test.ts +0 -199
  348. package/dist/extensions/pi-hermes-memory/tests/handlers/thinking-max.test.ts +0 -64
  349. package/dist/extensions/pi-hermes-memory/tests/index.test.ts +0 -30
  350. package/dist/extensions/pi-hermes-memory/tests/integration/flow.test.ts +0 -126
  351. package/dist/extensions/pi-hermes-memory/tests/lifecycle-timing.test.ts +0 -76
  352. package/dist/extensions/pi-hermes-memory/tests/paths.test.ts +0 -23
  353. package/dist/extensions/pi-hermes-memory/tests/project-memory-migration.test.ts +0 -80
  354. package/dist/extensions/pi-hermes-memory/tests/project-rebinding.test.ts +0 -115
  355. package/dist/extensions/pi-hermes-memory/tests/project.test.ts +0 -120
  356. package/dist/extensions/pi-hermes-memory/tests/run-all-timeout.test.ts +0 -107
  357. package/dist/extensions/pi-hermes-memory/tests/run-all.sh +0 -45
  358. package/dist/extensions/pi-hermes-memory/tests/store/atomic-lock-coordinator.test.ts +0 -381
  359. package/dist/extensions/pi-hermes-memory/tests/store/content-scanner.test.ts +0 -388
  360. package/dist/extensions/pi-hermes-memory/tests/store/db.test.ts +0 -1046
  361. package/dist/extensions/pi-hermes-memory/tests/store/markdown-mutation-lock.test.ts +0 -34
  362. package/dist/extensions/pi-hermes-memory/tests/store/memory-store.test.ts +0 -2150
  363. package/dist/extensions/pi-hermes-memory/tests/store/recovery-maintenance.test.ts +0 -170
  364. package/dist/extensions/pi-hermes-memory/tests/store/session-anchor-search.test.ts +0 -210
  365. package/dist/extensions/pi-hermes-memory/tests/store/session-indexer.test.ts +0 -643
  366. package/dist/extensions/pi-hermes-memory/tests/store/session-parser.test.ts +0 -282
  367. package/dist/extensions/pi-hermes-memory/tests/store/session-search.test.ts +0 -287
  368. package/dist/extensions/pi-hermes-memory/tests/store/skill-store.test.ts +0 -678
  369. package/dist/extensions/pi-hermes-memory/tests/store/skill-utils.test.ts +0 -21
  370. package/dist/extensions/pi-hermes-memory/tests/store/sqlite-lazy-load.test.ts +0 -78
  371. package/dist/extensions/pi-hermes-memory/tests/store/sqlite-memory-store.test.ts +0 -543
  372. package/dist/extensions/pi-hermes-memory/tests/store/sqlite-native.test.ts +0 -164
  373. package/dist/extensions/pi-hermes-memory/tests/store/standing-instructions.test.ts +0 -171
  374. package/dist/extensions/pi-hermes-memory/tests/tools/memory-search-tool.test.ts +0 -84
  375. package/dist/extensions/pi-hermes-memory/tests/tools/memory-tool.test.ts +0 -709
  376. package/dist/extensions/pi-hermes-memory/tests/tools/session-search-tool.test.ts +0 -345
  377. package/dist/extensions/pi-hermes-memory/tests/tools/shared-output-view.test.ts +0 -362
  378. package/dist/extensions/pi-hermes-memory/tests/tools/skill-tool.test.ts +0 -478
  379. package/dist/extensions/pi-hermes-memory/tests/tools/tool-result-renderer-wiring.test.ts +0 -40
  380. package/dist/extensions/pi-hermes-memory/tsconfig.json +0 -19
  381. package/dist/extensions/pi-intercom/CHANGELOG.md +0 -321
  382. package/dist/extensions/pi-intercom/LICENSE +0 -21
  383. package/dist/extensions/pi-intercom/README.md +0 -598
  384. package/dist/extensions/pi-intercom/banner.png +0 -0
  385. package/dist/extensions/pi-intercom/broker/broker.ts +0 -1721
  386. package/dist/extensions/pi-intercom/broker/client-liveness.test.ts +0 -173
  387. package/dist/extensions/pi-intercom/broker/client.test.ts +0 -83
  388. package/dist/extensions/pi-intercom/broker/client.ts +0 -793
  389. package/dist/extensions/pi-intercom/broker/extension-state.ts +0 -197
  390. package/dist/extensions/pi-intercom/broker/extension.test.ts +0 -486
  391. package/dist/extensions/pi-intercom/broker/framing.test.ts +0 -114
  392. package/dist/extensions/pi-intercom/broker/framing.ts +0 -115
  393. package/dist/extensions/pi-intercom/broker/paths.test.ts +0 -153
  394. package/dist/extensions/pi-intercom/broker/paths.ts +0 -134
  395. package/dist/extensions/pi-intercom/broker/protocol.ts +0 -208
  396. package/dist/extensions/pi-intercom/broker/runtime-claim.test.ts +0 -34
  397. package/dist/extensions/pi-intercom/broker/runtime-claim.ts +0 -21
  398. package/dist/extensions/pi-intercom/broker/spawn.test.ts +0 -252
  399. package/dist/extensions/pi-intercom/broker/spawn.ts +0 -420
  400. package/dist/extensions/pi-intercom/config.test.ts +0 -104
  401. package/dist/extensions/pi-intercom/config.ts +0 -163
  402. package/dist/extensions/pi-intercom/cwd.test.ts +0 -40
  403. package/dist/extensions/pi-intercom/cwd.ts +0 -31
  404. package/dist/extensions/pi-intercom/extension-api.ts +0 -84
  405. package/dist/extensions/pi-intercom/format-context.test.ts +0 -31
  406. package/dist/extensions/pi-intercom/format-context.ts +0 -32
  407. package/dist/extensions/pi-intercom/index.ts +0 -2821
  408. package/dist/extensions/pi-intercom/intercom.integration.test.ts +0 -4232
  409. package/dist/extensions/pi-intercom/package.json +0 -49
  410. package/dist/extensions/pi-intercom/project-agent.test.ts +0 -145
  411. package/dist/extensions/pi-intercom/project-agent.ts +0 -324
  412. package/dist/extensions/pi-intercom/reply-tracker.test.ts +0 -239
  413. package/dist/extensions/pi-intercom/reply-tracker.ts +0 -160
  414. package/dist/extensions/pi-intercom/skills/pi-intercom/SKILL.md +0 -452
  415. package/dist/extensions/pi-intercom/test/inline-message.test.ts +0 -184
  416. package/dist/extensions/pi-intercom/test/overlay-width.test.ts +0 -66
  417. package/dist/extensions/pi-intercom/types.ts +0 -165
  418. package/dist/extensions/pi-intercom/ui/compose.ts +0 -143
  419. package/dist/extensions/pi-intercom/ui/inline-message.ts +0 -118
  420. package/dist/extensions/pi-intercom/ui/session-list.ts +0 -166
  421. package/dist/extensions/pi-rewind-hook/README.md +0 -248
  422. package/dist/extensions/pi-rewind-hook/index.ts +0 -1575
  423. package/dist/extensions/pi-rewind-hook/package.json +0 -31
  424. package/dist/extensions/pi-subagents/.github/assets/subagent-fleet-inspector.png +0 -0
  425. package/dist/extensions/pi-subagents/.github/workflows/release.yml +0 -28
  426. package/dist/extensions/pi-subagents/.github/workflows/test.yml +0 -51
  427. package/dist/extensions/pi-subagents/.greptile/config.json +0 -33
  428. package/dist/extensions/pi-subagents/.greptile/files.json +0 -8
  429. package/dist/extensions/pi-subagents/.greptile/rules.md +0 -16
  430. package/dist/extensions/pi-subagents/.oxlintrc.json +0 -43
  431. package/dist/extensions/pi-subagents/AGENTS.md +0 -5
  432. package/dist/extensions/pi-subagents/CHANGELOG.md +0 -2249
  433. package/dist/extensions/pi-subagents/LICENSE +0 -21
  434. package/dist/extensions/pi-subagents/README.md +0 -126
  435. package/dist/extensions/pi-subagents/VISION.md +0 -81
  436. package/dist/extensions/pi-subagents/agents/delegate.md +0 -14
  437. package/dist/extensions/pi-subagents/agents/oracle.md +0 -78
  438. package/dist/extensions/pi-subagents/agents/researcher.md +0 -52
  439. package/dist/extensions/pi-subagents/agents/reviewer.md +0 -89
  440. package/dist/extensions/pi-subagents/agents/scout.md +0 -50
  441. package/dist/extensions/pi-subagents/agents/worker.md +0 -60
  442. package/dist/extensions/pi-subagents/async-retention-discovery-worker.mjs +0 -180
  443. package/dist/extensions/pi-subagents/docs/agents.md +0 -375
  444. package/dist/extensions/pi-subagents/docs/configuration.md +0 -508
  445. package/dist/extensions/pi-subagents/docs/extension-api.md +0 -443
  446. package/dist/extensions/pi-subagents/docs/missions.md +0 -121
  447. package/dist/extensions/pi-subagents/docs/models.md +0 -258
  448. package/dist/extensions/pi-subagents/docs/observability.md +0 -262
  449. package/dist/extensions/pi-subagents/docs/tool-reference.md +0 -482
  450. package/dist/extensions/pi-subagents/docs/watchdog.md +0 -176
  451. package/dist/extensions/pi-subagents/docs/workflows.md +0 -475
  452. package/dist/extensions/pi-subagents/index.ts +0 -10
  453. package/dist/extensions/pi-subagents/inspector-runner.mjs +0 -11
  454. package/dist/extensions/pi-subagents/install.mjs +0 -94
  455. package/dist/extensions/pi-subagents/package-lock.json +0 -1872
  456. package/dist/extensions/pi-subagents/package.json +0 -109
  457. package/dist/extensions/pi-subagents/prompts/council.md +0 -60
  458. package/dist/extensions/pi-subagents/prompts/gather-context-and-clarify.md +0 -13
  459. package/dist/extensions/pi-subagents/prompts/parallel-cleanup.md +0 -59
  460. package/dist/extensions/pi-subagents/prompts/parallel-research.md +0 -50
  461. package/dist/extensions/pi-subagents/prompts/parallel-review.md +0 -58
  462. package/dist/extensions/pi-subagents/prompts/review-loop.md +0 -47
  463. package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +0 -59
  464. package/dist/extensions/pi-subagents/skills/council-mode/references/pass-contracts.md +0 -150
  465. package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +0 -103
  466. package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +0 -70
  467. package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +0 -539
  468. package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +0 -161
  469. package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +0 -51
  470. package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +0 -295
  471. package/dist/extensions/pi-subagents/skills/pi-subagents/references/review-and-validation.md +0 -73
  472. package/dist/extensions/pi-subagents/src/agents/agent-management.ts +0 -1336
  473. package/dist/extensions/pi-subagents/src/agents/agent-memory.ts +0 -254
  474. package/dist/extensions/pi-subagents/src/agents/agent-refinements.ts +0 -624
  475. package/dist/extensions/pi-subagents/src/agents/agent-scope.ts +0 -6
  476. package/dist/extensions/pi-subagents/src/agents/agent-selection.ts +0 -25
  477. package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +0 -176
  478. package/dist/extensions/pi-subagents/src/agents/agents.ts +0 -2794
  479. package/dist/extensions/pi-subagents/src/agents/builtin-names.ts +0 -9
  480. package/dist/extensions/pi-subagents/src/agents/chain-serializer.ts +0 -280
  481. package/dist/extensions/pi-subagents/src/agents/frontmatter.ts +0 -153
  482. package/dist/extensions/pi-subagents/src/agents/identity.ts +0 -30
  483. package/dist/extensions/pi-subagents/src/agents/proactive-skills.ts +0 -194
  484. package/dist/extensions/pi-subagents/src/agents/runtime-agent-events.ts +0 -70
  485. package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +0 -425
  486. package/dist/extensions/pi-subagents/src/agents/skills.ts +0 -754
  487. package/dist/extensions/pi-subagents/src/api/agents.ts +0 -12
  488. package/dist/extensions/pi-subagents/src/api/background-work.ts +0 -206
  489. package/dist/extensions/pi-subagents/src/api/capability-ceiling.ts +0 -17
  490. package/dist/extensions/pi-subagents/src/api/control-channel.ts +0 -4
  491. package/dist/extensions/pi-subagents/src/api/delegation.ts +0 -112
  492. package/dist/extensions/pi-subagents/src/api/external-job-provider.ts +0 -195
  493. package/dist/extensions/pi-subagents/src/api/external-runs.ts +0 -282
  494. package/dist/extensions/pi-subagents/src/api/intercom-bridge.ts +0 -3
  495. package/dist/extensions/pi-subagents/src/api/pi-args.ts +0 -5
  496. package/dist/extensions/pi-subagents/src/api/preflight.ts +0 -497
  497. package/dist/extensions/pi-subagents/src/api/project-panes.ts +0 -32
  498. package/dist/extensions/pi-subagents/src/api/shared-types.ts +0 -24
  499. package/dist/extensions/pi-subagents/src/extension/config.ts +0 -235
  500. package/dist/extensions/pi-subagents/src/extension/control-notices.ts +0 -58
  501. package/dist/extensions/pi-subagents/src/extension/doctor.ts +0 -278
  502. package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +0 -205
  503. package/dist/extensions/pi-subagents/src/extension/index.ts +0 -1093
  504. package/dist/extensions/pi-subagents/src/extension/public-execution.ts +0 -209
  505. package/dist/extensions/pi-subagents/src/extension/rpc.ts +0 -860
  506. package/dist/extensions/pi-subagents/src/extension/schemas.ts +0 -415
  507. package/dist/extensions/pi-subagents/src/extension/steering-notices.ts +0 -35
  508. package/dist/extensions/pi-subagents/src/extension/subagent-guide.ts +0 -39
  509. package/dist/extensions/pi-subagents/src/extension/tool-description.ts +0 -204
  510. package/dist/extensions/pi-subagents/src/extension/tool-result.ts +0 -19
  511. package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +0 -235
  512. package/dist/extensions/pi-subagents/src/inspectors/herdr/client.ts +0 -130
  513. package/dist/extensions/pi-subagents/src/inspectors/herdr/focus.ts +0 -55
  514. package/dist/extensions/pi-subagents/src/inspectors/herdr/inspector-runner.ts +0 -147
  515. package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +0 -730
  516. package/dist/extensions/pi-subagents/src/inspectors/herdr/session-roots-codec.ts +0 -42
  517. package/dist/extensions/pi-subagents/src/inspectors/herdr/shell-command.ts +0 -16
  518. package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +0 -396
  519. package/dist/extensions/pi-subagents/src/intercom/intercom-bridge.ts +0 -191
  520. package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +0 -812
  521. package/dist/extensions/pi-subagents/src/intercom/result-intercom.ts +0 -423
  522. package/dist/extensions/pi-subagents/src/missions/actions.ts +0 -433
  523. package/dist/extensions/pi-subagents/src/missions/goal-driver.ts +0 -164
  524. package/dist/extensions/pi-subagents/src/missions/lifecycle.ts +0 -367
  525. package/dist/extensions/pi-subagents/src/missions/store.ts +0 -584
  526. package/dist/extensions/pi-subagents/src/missions/types.ts +0 -190
  527. package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +0 -260
  528. package/dist/extensions/pi-subagents/src/policy/authority.ts +0 -46
  529. package/dist/extensions/pi-subagents/src/profiles/profiles.ts +0 -662
  530. package/dist/extensions/pi-subagents/src/runs/background/active-async-capacity.ts +0 -498
  531. package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +0 -139
  532. package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +0 -2000
  533. package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +0 -781
  534. package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +0 -627
  535. package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +0 -903
  536. package/dist/extensions/pi-subagents/src/runs/background/async-status-snapshot.ts +0 -48
  537. package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +0 -745
  538. package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +0 -68
  539. package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +0 -321
  540. package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +0 -270
  541. package/dist/extensions/pi-subagents/src/runs/background/completion-batcher.ts +0 -168
  542. package/dist/extensions/pi-subagents/src/runs/background/completion-dedupe.ts +0 -58
  543. package/dist/extensions/pi-subagents/src/runs/background/completion-replay.ts +0 -287
  544. package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +0 -768
  545. package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +0 -620
  546. package/dist/extensions/pi-subagents/src/runs/background/index-segment.ts +0 -59
  547. package/dist/extensions/pi-subagents/src/runs/background/inspect-rpc.ts +0 -443
  548. package/dist/extensions/pi-subagents/src/runs/background/notify.ts +0 -594
  549. package/dist/extensions/pi-subagents/src/runs/background/owned-process-tree.ts +0 -104
  550. package/dist/extensions/pi-subagents/src/runs/background/parallel-groups.ts +0 -45
  551. package/dist/extensions/pi-subagents/src/runs/background/process-terminal.ts +0 -294
  552. package/dist/extensions/pi-subagents/src/runs/background/result-delivery-ownership.ts +0 -45
  553. package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +0 -519
  554. package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +0 -792
  555. package/dist/extensions/pi-subagents/src/runs/background/resume-guidance.ts +0 -56
  556. package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +0 -135
  557. package/dist/extensions/pi-subagents/src/runs/background/run-id-query.ts +0 -7
  558. package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +0 -175
  559. package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +0 -694
  560. package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +0 -908
  561. package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +0 -410
  562. package/dist/extensions/pi-subagents/src/runs/background/steering.ts +0 -239
  563. package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +0 -5626
  564. package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +0 -725
  565. package/dist/extensions/pi-subagents/src/runs/background/terminal-run-index.ts +0 -138
  566. package/dist/extensions/pi-subagents/src/runs/background/top-level-async.ts +0 -14
  567. package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +0 -196
  568. package/dist/extensions/pi-subagents/src/runs/background/wait-config.ts +0 -50
  569. package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +0 -348
  570. package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +0 -49
  571. package/dist/extensions/pi-subagents/src/runs/foreground/async-dismiss-action.ts +0 -86
  572. package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +0 -262
  573. package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +0 -86
  574. package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +0 -2430
  575. package/dist/extensions/pi-subagents/src/runs/foreground/foreground-control.ts +0 -153
  576. package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +0 -160
  577. package/dist/extensions/pi-subagents/src/runs/foreground/prompt-audit.ts +0 -172
  578. package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +0 -6918
  579. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +0 -299
  580. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +0 -188
  581. package/dist/extensions/pi-subagents/src/runs/shared/abort-recovery.ts +0 -119
  582. package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +0 -1448
  583. package/dist/extensions/pi-subagents/src/runs/shared/agent-contract.ts +0 -38
  584. package/dist/extensions/pi-subagents/src/runs/shared/async-status-projection.ts +0 -597
  585. package/dist/extensions/pi-subagents/src/runs/shared/background-process-options.ts +0 -9
  586. package/dist/extensions/pi-subagents/src/runs/shared/capability-ceiling.ts +0 -209
  587. package/dist/extensions/pi-subagents/src/runs/shared/chain-outputs.ts +0 -116
  588. package/dist/extensions/pi-subagents/src/runs/shared/child-identity.ts +0 -51
  589. package/dist/extensions/pi-subagents/src/runs/shared/child-launch-plan.ts +0 -151
  590. package/dist/extensions/pi-subagents/src/runs/shared/child-protocol.ts +0 -415
  591. package/dist/extensions/pi-subagents/src/runs/shared/completion-evidence.ts +0 -89
  592. package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +0 -252
  593. package/dist/extensions/pi-subagents/src/runs/shared/context-mode.ts +0 -44
  594. package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +0 -297
  595. package/dist/extensions/pi-subagents/src/runs/shared/extension-bindings.ts +0 -78
  596. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-contract.ts +0 -138
  597. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-preflight.ts +0 -122
  598. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +0 -429
  599. package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +0 -460
  600. package/dist/extensions/pi-subagents/src/runs/shared/external-job-runner.ts +0 -389
  601. package/dist/extensions/pi-subagents/src/runs/shared/fast-mode-extension.ts +0 -10
  602. package/dist/extensions/pi-subagents/src/runs/shared/host-step-status.ts +0 -231
  603. package/dist/extensions/pi-subagents/src/runs/shared/lane-metadata.ts +0 -105
  604. package/dist/extensions/pi-subagents/src/runs/shared/launch-cwd.ts +0 -16
  605. package/dist/extensions/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +0 -302
  606. package/dist/extensions/pi-subagents/src/runs/shared/long-running-guard.ts +0 -221
  607. package/dist/extensions/pi-subagents/src/runs/shared/mcp-config-sources.ts +0 -422
  608. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +0 -483
  609. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-grant.ts +0 -194
  610. package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +0 -305
  611. package/dist/extensions/pi-subagents/src/runs/shared/model-fallback.ts +0 -578
  612. package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +0 -205
  613. package/dist/extensions/pi-subagents/src/runs/shared/mutation-evidence.ts +0 -199
  614. package/dist/extensions/pi-subagents/src/runs/shared/nested-events.ts +0 -1086
  615. package/dist/extensions/pi-subagents/src/runs/shared/nested-path.ts +0 -52
  616. package/dist/extensions/pi-subagents/src/runs/shared/nested-render.ts +0 -127
  617. package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +0 -499
  618. package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +0 -692
  619. package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +0 -279
  620. package/dist/extensions/pi-subagents/src/runs/shared/permissions.ts +0 -99
  621. package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +0 -1044
  622. package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +0 -163
  623. package/dist/extensions/pi-subagents/src/runs/shared/process-signal.ts +0 -32
  624. package/dist/extensions/pi-subagents/src/runs/shared/run-fanout-budget.ts +0 -280
  625. package/dist/extensions/pi-subagents/src/runs/shared/run-history.ts +0 -201
  626. package/dist/extensions/pi-subagents/src/runs/shared/runtime-acknowledged-extensions.ts +0 -71
  627. package/dist/extensions/pi-subagents/src/runs/shared/session-lease.ts +0 -293
  628. package/dist/extensions/pi-subagents/src/runs/shared/single-output.ts +0 -304
  629. package/dist/extensions/pi-subagents/src/runs/shared/spawn-budget.ts +0 -128
  630. package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +0 -196
  631. package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +0 -290
  632. package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +0 -808
  633. package/dist/extensions/pi-subagents/src/runs/shared/subagent-startup-retry.ts +0 -116
  634. package/dist/extensions/pi-subagents/src/runs/shared/task-intent.ts +0 -197
  635. package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +0 -81
  636. package/dist/extensions/pi-subagents/src/runs/shared/tool-budget.ts +0 -80
  637. package/dist/extensions/pi-subagents/src/runs/shared/tool-timeout.ts +0 -93
  638. package/dist/extensions/pi-subagents/src/runs/shared/usage-budget.ts +0 -65
  639. package/dist/extensions/pi-subagents/src/runs/shared/workflow-graph.ts +0 -225
  640. package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-plan.ts +0 -847
  641. package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +0 -802
  642. package/dist/extensions/pi-subagents/src/shared/accessible-dir.ts +0 -47
  643. package/dist/extensions/pi-subagents/src/shared/agent-stream-options.ts +0 -5
  644. package/dist/extensions/pi-subagents/src/shared/artifacts.ts +0 -281
  645. package/dist/extensions/pi-subagents/src/shared/atomic-json.ts +0 -81
  646. package/dist/extensions/pi-subagents/src/shared/capacity-resilient-json.ts +0 -102
  647. package/dist/extensions/pi-subagents/src/shared/child-session-name.ts +0 -46
  648. package/dist/extensions/pi-subagents/src/shared/child-transcript.ts +0 -264
  649. package/dist/extensions/pi-subagents/src/shared/completion-owner.ts +0 -14
  650. package/dist/extensions/pi-subagents/src/shared/display-text.ts +0 -150
  651. package/dist/extensions/pi-subagents/src/shared/extension-context.ts +0 -24
  652. package/dist/extensions/pi-subagents/src/shared/file-coalescer.ts +0 -49
  653. package/dist/extensions/pi-subagents/src/shared/file-system-retry.ts +0 -95
  654. package/dist/extensions/pi-subagents/src/shared/fork-context.ts +0 -305
  655. package/dist/extensions/pi-subagents/src/shared/formatters.ts +0 -146
  656. package/dist/extensions/pi-subagents/src/shared/jsonl-writer.ts +0 -81
  657. package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +0 -135
  658. package/dist/extensions/pi-subagents/src/shared/model-info.ts +0 -101
  659. package/dist/extensions/pi-subagents/src/shared/node-executable.ts +0 -21
  660. package/dist/extensions/pi-subagents/src/shared/post-exit-stdio-guard.ts +0 -85
  661. package/dist/extensions/pi-subagents/src/shared/prompt-resources.ts +0 -11
  662. package/dist/extensions/pi-subagents/src/shared/pruned-fork.ts +0 -450
  663. package/dist/extensions/pi-subagents/src/shared/session-file-trust.ts +0 -19
  664. package/dist/extensions/pi-subagents/src/shared/session-identity.ts +0 -10
  665. package/dist/extensions/pi-subagents/src/shared/session-tokens.ts +0 -55
  666. package/dist/extensions/pi-subagents/src/shared/settings.ts +0 -409
  667. package/dist/extensions/pi-subagents/src/shared/shortcuts.ts +0 -17
  668. package/dist/extensions/pi-subagents/src/shared/status-format.ts +0 -55
  669. package/dist/extensions/pi-subagents/src/shared/thinking-ceiling.ts +0 -52
  670. package/dist/extensions/pi-subagents/src/shared/types.ts +0 -2834
  671. package/dist/extensions/pi-subagents/src/shared/utf8.ts +0 -11
  672. package/dist/extensions/pi-subagents/src/shared/utils.ts +0 -590
  673. package/dist/extensions/pi-subagents/src/shared/watch-strategy.ts +0 -10
  674. package/dist/extensions/pi-subagents/src/shared/workflow-child-permit.ts +0 -207
  675. package/dist/extensions/pi-subagents/src/slash/delegation-adapters.ts +0 -426
  676. package/dist/extensions/pi-subagents/src/slash/delegation-json.ts +0 -108
  677. package/dist/extensions/pi-subagents/src/slash/delegation-request.ts +0 -162
  678. package/dist/extensions/pi-subagents/src/slash/prompt-template-bridge.ts +0 -419
  679. package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +0 -287
  680. package/dist/extensions/pi-subagents/src/slash/selector.ts +0 -147
  681. package/dist/extensions/pi-subagents/src/slash/slash-bridge.ts +0 -192
  682. package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +0 -1345
  683. package/dist/extensions/pi-subagents/src/slash/slash-live-state.ts +0 -310
  684. package/dist/extensions/pi-subagents/src/slash/subagents-admin.ts +0 -435
  685. package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +0 -905
  686. package/dist/extensions/pi-subagents/src/tui/fleet-transcript.ts +0 -536
  687. package/dist/extensions/pi-subagents/src/tui/fleet.ts +0 -1436
  688. package/dist/extensions/pi-subagents/src/tui/render-helpers.ts +0 -111
  689. package/dist/extensions/pi-subagents/src/tui/render.ts +0 -3146
  690. package/dist/extensions/pi-subagents/src/types/pi-runtime-compat.d.ts +0 -8
  691. package/dist/extensions/pi-subagents/src/watchdog/change-signature.ts +0 -260
  692. package/dist/extensions/pi-subagents/src/watchdog/child-status.ts +0 -205
  693. package/dist/extensions/pi-subagents/src/watchdog/emission-guard.ts +0 -123
  694. package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +0 -538
  695. package/dist/extensions/pi-subagents/src/watchdog/model-selection.ts +0 -167
  696. package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +0 -154
  697. package/dist/extensions/pi-subagents/src/watchdog/register-child.ts +0 -117
  698. package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +0 -440
  699. package/dist/extensions/pi-subagents/src/watchdog/render.ts +0 -54
  700. package/dist/extensions/pi-subagents/src/watchdog/review.ts +0 -303
  701. package/dist/extensions/pi-subagents/src/watchdog/runtime.ts +0 -868
  702. package/dist/extensions/pi-subagents/src/watchdog/scope.ts +0 -62
  703. package/dist/extensions/pi-subagents/src/watchdog/settings.ts +0 -568
  704. package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +0 -155
  705. package/dist/extensions/pi-subagents/src/watchdog/turn-delta.ts +0 -161
  706. package/dist/extensions/pi-subagents/src/watchdog/types.ts +0 -198
  707. package/dist/extensions/pi-subagents/src/watchdog/warning-format.ts +0 -73
  708. package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +0 -151
  709. package/dist/extensions/pi-subagents/src/workflows/host-command.ts +0 -235
  710. package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +0 -2183
  711. package/dist/extensions/pi-subagents/src/workflows/workflow-child-summary.ts +0 -121
  712. package/dist/extensions/pi-subagents/src/workflows/workflow-preflight.ts +0 -270
  713. package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +0 -330
  714. package/dist/extensions/pi-subagents/src/workflows/workflow-resources.ts +0 -150
  715. package/dist/extensions/pi-subagents/src/workflows/workflow-settlement.ts +0 -246
  716. package/dist/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts +0 -224
  717. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +0 -3
  718. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +0 -2
  719. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +0 -17
  720. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +0 -57
  721. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +0 -16
  722. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +0 -15
  723. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +0 -18
  724. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +0 -9
  725. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +0 -10
  726. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +0 -10
  727. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +0 -20
  728. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +0 -3
  729. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +0 -96
  730. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +0 -119
  731. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +0 -85
  732. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +0 -620
  733. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +0 -5
  734. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +0 -56
  735. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +0 -32
  736. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +0 -49
  737. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +0 -93
  738. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +0 -128
  739. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +0 -7
  740. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +0 -38
  741. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +0 -3
  742. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +0 -15
  743. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +0 -9
  744. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +0 -29
  745. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +0 -2
  746. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +0 -22
  747. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +0 -37
  748. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +0 -34
  749. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +0 -12
  750. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +0 -23
  751. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +0 -171
  752. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +0 -1261
  753. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +0 -20
  754. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +0 -54
  755. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +0 -22
  756. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +0 -13
  757. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +0 -358
  758. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +0 -77
  759. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +0 -512
  760. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +0 -43
  761. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +0 -121
  762. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +0 -82
  763. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +0 -17
  764. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +0 -7
  765. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +0 -210
  766. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +0 -15
  767. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +0 -54
  768. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +0 -4
  769. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +0 -55
  770. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +0 -2
  771. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +0 -5
  772. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +0 -30
  773. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +0 -206
  774. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +0 -15
  775. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +0 -106
  776. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +0 -19
  777. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +0 -356
  778. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +0 -297
  779. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +0 -60
  780. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +0 -15
  781. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +0 -18
  782. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +0 -28
  783. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +0 -3
  784. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +0 -10
  785. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +0 -68
  786. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +0 -106
  787. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +0 -51
  788. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +0 -6
  789. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +0 -35
  790. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +0 -37
  791. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +0 -40
  792. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +0 -37
  793. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +0 -52
  794. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +0 -10
  795. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +0 -35
  796. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +0 -24
  797. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  798. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +0 -70
  799. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +0 -26
  800. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +0 -36
  801. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +0 -19
  802. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +0 -3
  803. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +0 -61
  804. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +0 -23
  805. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +0 -3
  806. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +0 -10
  807. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +0 -42
  808. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +0 -35
  809. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +0 -12
  810. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +0 -33
  811. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +0 -9
  812. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +0 -34
  813. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +0 -22
  814. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  815. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  816. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  817. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  818. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +0 -102
  819. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  820. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  821. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +0 -19
  822. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +0 -20
  823. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  824. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +0 -12
  825. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  826. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  827. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +0 -22
  828. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +0 -23
  829. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +0 -26
  830. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
  831. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +0 -32
  832. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +0 -34
  833. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
  834. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +0 -52
  835. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +0 -54
  836. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
  837. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
  838. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  839. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +0 -95
  840. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +0 -77
  841. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  842. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  843. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +0 -28
  844. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  845. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  846. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +0 -63
  847. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +0 -94
  848. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +0 -23
  849. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  850. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +0 -14
  851. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  852. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +0 -394
  853. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +0 -12
  854. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +0 -29
  855. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +0 -120
  856. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +0 -28
  857. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +0 -17
  858. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +0 -246
  859. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +0 -20
  860. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +0 -457
  861. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +0 -8
  862. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +0 -3
  863. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +0 -2
  864. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +0 -22
  865. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +0 -18
  866. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +0 -11
  867. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +0 -11
  868. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +0 -4
  869. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +0 -4
  870. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +0 -5
  871. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +0 -8
  872. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +0 -5
  873. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +0 -26
  874. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +0 -7
  875. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +0 -10
  876. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +0 -18
  877. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +0 -30
  878. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +0 -2
  879. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +0 -16
  880. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +0 -3
  881. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +0 -3
  882. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +0 -9
  883. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +0 -31
  884. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +0 -21
  885. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +0 -2
  886. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +0 -31
  887. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +0 -5
  888. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +0 -12
  889. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +0 -3
  890. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +0 -15
  891. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +0 -3
  892. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/index.mjs +0 -84
  893. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/package.json +0 -14
  894. package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +0 -472
  895. package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +0 -6672
  896. package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +0 -1997
  897. package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +0 -1300
  898. package/dist/extensions/pi-subagents/test/integration/detect-error.test.ts +0 -249
  899. package/dist/extensions/pi-subagents/test/integration/doctor-executor.test.ts +0 -128
  900. package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +0 -281
  901. package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +0 -167
  902. package/dist/extensions/pi-subagents/test/integration/foreground-result-size.test.ts +0 -188
  903. package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +0 -1352
  904. package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +0 -1947
  905. package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +0 -214
  906. package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +0 -1408
  907. package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +0 -2091
  908. package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +0 -2442
  909. package/dist/extensions/pi-subagents/test/integration/session-tokens.test.ts +0 -62
  910. package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +0 -9007
  911. package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +0 -1516
  912. package/dist/extensions/pi-subagents/test/integration/slash-live-state.test.ts +0 -166
  913. package/dist/extensions/pi-subagents/test/integration/template-resolution.test.ts +0 -344
  914. package/dist/extensions/pi-subagents/test/integration/top-level-async.test.ts +0 -43
  915. package/dist/extensions/pi-subagents/test/support/cursor-smoke-inputs.ts +0 -51
  916. package/dist/extensions/pi-subagents/test/support/helpers.ts +0 -225
  917. package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +0 -9
  918. package/dist/extensions/pi-subagents/test/support/mock-pi-script.mjs +0 -432
  919. package/dist/extensions/pi-subagents/test/support/mock-pi.ts +0 -159
  920. package/dist/extensions/pi-subagents/test/support/node-command.ts +0 -15
  921. package/dist/extensions/pi-subagents/test/support/real-session-child-cli.mjs +0 -185
  922. package/dist/extensions/pi-subagents/test/support/real-session-runner.ts +0 -311
  923. package/dist/extensions/pi-subagents/test/support/register-loader.mjs +0 -16
  924. package/dist/extensions/pi-subagents/test/support/session-lease-child.mjs +0 -42
  925. package/dist/extensions/pi-subagents/test/support/ts-loader.mjs +0 -100
  926. package/dist/extensions/pi-subagents/test/unit/abort-recovery.test.ts +0 -152
  927. package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +0 -1475
  928. package/dist/extensions/pi-subagents/test/unit/accessible-dir.test.ts +0 -82
  929. package/dist/extensions/pi-subagents/test/unit/active-async-capacity.test.ts +0 -415
  930. package/dist/extensions/pi-subagents/test/unit/agent-contract.test.ts +0 -14
  931. package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +0 -213
  932. package/dist/extensions/pi-subagents/test/unit/agent-discovery-cache.test.ts +0 -232
  933. package/dist/extensions/pi-subagents/test/unit/agent-eject-disable.test.ts +0 -343
  934. package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +0 -2304
  935. package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +0 -1195
  936. package/dist/extensions/pi-subagents/test/unit/agent-memory.test.ts +0 -420
  937. package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +0 -1153
  938. package/dist/extensions/pi-subagents/test/unit/agent-refinements.test.ts +0 -178
  939. package/dist/extensions/pi-subagents/test/unit/agent-scope.test.ts +0 -20
  940. package/dist/extensions/pi-subagents/test/unit/agent-selection.test.ts +0 -88
  941. package/dist/extensions/pi-subagents/test/unit/agent-stream-options.test.ts +0 -14
  942. package/dist/extensions/pi-subagents/test/unit/anti-slop-oxlint.test.ts +0 -98
  943. package/dist/extensions/pi-subagents/test/unit/artifacts.test.ts +0 -78
  944. package/dist/extensions/pi-subagents/test/unit/async-execution.test.ts +0 -254
  945. package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +0 -1022
  946. package/dist/extensions/pi-subagents/test/unit/async-permission-session.test.ts +0 -100
  947. package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +0 -188
  948. package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +0 -976
  949. package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +0 -632
  950. package/dist/extensions/pi-subagents/test/unit/async-status-projection.test.ts +0 -246
  951. package/dist/extensions/pi-subagents/test/unit/async-status-snapshot.test.ts +0 -204
  952. package/dist/extensions/pi-subagents/test/unit/atomic-json.test.ts +0 -176
  953. package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +0 -22
  954. package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +0 -83
  955. package/dist/extensions/pi-subagents/test/unit/background-process-options.test.ts +0 -17
  956. package/dist/extensions/pi-subagents/test/unit/background-work.test.ts +0 -365
  957. package/dist/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts +0 -102
  958. package/dist/extensions/pi-subagents/test/unit/capability-ceiling-pi-args.test.ts +0 -84
  959. package/dist/extensions/pi-subagents/test/unit/capability-ceiling.test.ts +0 -68
  960. package/dist/extensions/pi-subagents/test/unit/capacity-resilient-json.test.ts +0 -155
  961. package/dist/extensions/pi-subagents/test/unit/chain-append.test.ts +0 -283
  962. package/dist/extensions/pi-subagents/test/unit/chain-root-attachment.test.ts +0 -236
  963. package/dist/extensions/pi-subagents/test/unit/chain-serializer.test.ts +0 -229
  964. package/dist/extensions/pi-subagents/test/unit/child-launch-plan.test.ts +0 -94
  965. package/dist/extensions/pi-subagents/test/unit/child-protocol.test.ts +0 -202
  966. package/dist/extensions/pi-subagents/test/unit/child-session-name.test.ts +0 -50
  967. package/dist/extensions/pi-subagents/test/unit/child-transcript.test.ts +0 -267
  968. package/dist/extensions/pi-subagents/test/unit/close-grace-timer.test.ts +0 -101
  969. package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +0 -98
  970. package/dist/extensions/pi-subagents/test/unit/completion-batcher.test.ts +0 -230
  971. package/dist/extensions/pi-subagents/test/unit/completion-dedupe.test.ts +0 -35
  972. package/dist/extensions/pi-subagents/test/unit/completion-evidence.test.ts +0 -150
  973. package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +0 -715
  974. package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +0 -305
  975. package/dist/extensions/pi-subagents/test/unit/config-dir-runtime.test.ts +0 -107
  976. package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +0 -630
  977. package/dist/extensions/pi-subagents/test/unit/control-notices.test.ts +0 -110
  978. package/dist/extensions/pi-subagents/test/unit/cursor-smoke-inputs.test.ts +0 -77
  979. package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +0 -219
  980. package/dist/extensions/pi-subagents/test/unit/delegation-api.test.ts +0 -588
  981. package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +0 -201
  982. package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +0 -219
  983. package/dist/extensions/pi-subagents/test/unit/ensure-accessible-dir.test.ts +0 -125
  984. package/dist/extensions/pi-subagents/test/unit/extension-bindings.test.ts +0 -79
  985. package/dist/extensions/pi-subagents/test/unit/extension-context.test.ts +0 -27
  986. package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +0 -339
  987. package/dist/extensions/pi-subagents/test/unit/external-job-runner.test.ts +0 -961
  988. package/dist/extensions/pi-subagents/test/unit/external-runs.test.ts +0 -261
  989. package/dist/extensions/pi-subagents/test/unit/extra-agent-dirs.test.ts +0 -88
  990. package/dist/extensions/pi-subagents/test/unit/fast-mode-extension.test.ts +0 -27
  991. package/dist/extensions/pi-subagents/test/unit/file-coalescer.test.ts +0 -83
  992. package/dist/extensions/pi-subagents/test/unit/file-system-retry.test.ts +0 -64
  993. package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +0 -1356
  994. package/dist/extensions/pi-subagents/test/unit/fleet-transcript.test.ts +0 -435
  995. package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +0 -1773
  996. package/dist/extensions/pi-subagents/test/unit/foreground-control.test.ts +0 -125
  997. package/dist/extensions/pi-subagents/test/unit/foreground-tool-call-compaction.test.ts +0 -115
  998. package/dist/extensions/pi-subagents/test/unit/fork-cache-key.test.ts +0 -91
  999. package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +0 -588
  1000. package/dist/extensions/pi-subagents/test/unit/formatters.test.ts +0 -14
  1001. package/dist/extensions/pi-subagents/test/unit/get-final-output.test.ts +0 -149
  1002. package/dist/extensions/pi-subagents/test/unit/herdr-inspector-bootstrap.test.ts +0 -101
  1003. package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +0 -458
  1004. package/dist/extensions/pi-subagents/test/unit/herdr-session-roots-codec.test.ts +0 -63
  1005. package/dist/extensions/pi-subagents/test/unit/herdr-shell-command.test.ts +0 -59
  1006. package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +0 -716
  1007. package/dist/extensions/pi-subagents/test/unit/host-command.test.ts +0 -157
  1008. package/dist/extensions/pi-subagents/test/unit/host-peer-runtime-imports.test.ts +0 -157
  1009. package/dist/extensions/pi-subagents/test/unit/host-step-status.test.ts +0 -98
  1010. package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +0 -1311
  1011. package/dist/extensions/pi-subagents/test/unit/index-segment.test.ts +0 -96
  1012. package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +0 -617
  1013. package/dist/extensions/pi-subagents/test/unit/intercom-bridge.test.ts +0 -220
  1014. package/dist/extensions/pi-subagents/test/unit/jsonl-writer.test.ts +0 -119
  1015. package/dist/extensions/pi-subagents/test/unit/llm-intent-arbiter.test.ts +0 -226
  1016. package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-grant.test.ts +0 -155
  1017. package/dist/extensions/pi-subagents/test/unit/mission-goal-driver.test.ts +0 -180
  1018. package/dist/extensions/pi-subagents/test/unit/mission-lifecycle.test.ts +0 -300
  1019. package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +0 -470
  1020. package/dist/extensions/pi-subagents/test/unit/mock-pi.test.ts +0 -22
  1021. package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +0 -258
  1022. package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +0 -903
  1023. package/dist/extensions/pi-subagents/test/unit/model-info.test.ts +0 -162
  1024. package/dist/extensions/pi-subagents/test/unit/model-scope-settings.test.ts +0 -101
  1025. package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +0 -198
  1026. package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +0 -177
  1027. package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +0 -796
  1028. package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +0 -655
  1029. package/dist/extensions/pi-subagents/test/unit/nested-events.test.ts +0 -492
  1030. package/dist/extensions/pi-subagents/test/unit/node-executable.test.ts +0 -26
  1031. package/dist/extensions/pi-subagents/test/unit/notify.test.ts +0 -751
  1032. package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +0 -545
  1033. package/dist/extensions/pi-subagents/test/unit/owned-process-tree.test.ts +0 -69
  1034. package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +0 -241
  1035. package/dist/extensions/pi-subagents/test/unit/parallel-handoff.test.ts +0 -563
  1036. package/dist/extensions/pi-subagents/test/unit/parallel-utils.test.ts +0 -269
  1037. package/dist/extensions/pi-subagents/test/unit/path-handling.test.ts +0 -108
  1038. package/dist/extensions/pi-subagents/test/unit/path-resolution.test.ts +0 -103
  1039. package/dist/extensions/pi-subagents/test/unit/permissions.test.ts +0 -46
  1040. package/dist/extensions/pi-subagents/test/unit/pi-args-permission-system.test.ts +0 -437
  1041. package/dist/extensions/pi-subagents/test/unit/pi-args.test.ts +0 -2241
  1042. package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +0 -461
  1043. package/dist/extensions/pi-subagents/test/unit/pi-spawn.test.ts +0 -375
  1044. package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +0 -958
  1045. package/dist/extensions/pi-subagents/test/unit/proactive-skills.test.ts +0 -118
  1046. package/dist/extensions/pi-subagents/test/unit/process-terminal.test.ts +0 -257
  1047. package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +0 -372
  1048. package/dist/extensions/pi-subagents/test/unit/project-panes-public-api.test.ts +0 -285
  1049. package/dist/extensions/pi-subagents/test/unit/prompt-template-bridge.test.ts +0 -244
  1050. package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +0 -167
  1051. package/dist/extensions/pi-subagents/test/unit/pruned-fork.test.ts +0 -214
  1052. package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +0 -182
  1053. package/dist/extensions/pi-subagents/test/unit/reads-resolution.test.ts +0 -66
  1054. package/dist/extensions/pi-subagents/test/unit/recursion-guard.test.ts +0 -265
  1055. package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +0 -560
  1056. package/dist/extensions/pi-subagents/test/unit/result-delivery-ownership.test.ts +0 -34
  1057. package/dist/extensions/pi-subagents/test/unit/result-files.test.ts +0 -501
  1058. package/dist/extensions/pi-subagents/test/unit/result-intercom.test.ts +0 -258
  1059. package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +0 -191
  1060. package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +0 -1124
  1061. package/dist/extensions/pi-subagents/test/unit/run-fanout-budget.test.ts +0 -191
  1062. package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +0 -247
  1063. package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +0 -1477
  1064. package/dist/extensions/pi-subagents/test/unit/runtime-acknowledged-extensions.test.ts +0 -52
  1065. package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +0 -332
  1066. package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +0 -816
  1067. package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +0 -67
  1068. package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +0 -655
  1069. package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +0 -2501
  1070. package/dist/extensions/pi-subagents/test/unit/selector.test.ts +0 -57
  1071. package/dist/extensions/pi-subagents/test/unit/session-lease.test.ts +0 -339
  1072. package/dist/extensions/pi-subagents/test/unit/single-output.test.ts +0 -361
  1073. package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +0 -709
  1074. package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +0 -115
  1075. package/dist/extensions/pi-subagents/test/unit/spawn-budget.test.ts +0 -124
  1076. package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +0 -440
  1077. package/dist/extensions/pi-subagents/test/unit/status-format.test.ts +0 -26
  1078. package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +0 -435
  1079. package/dist/extensions/pi-subagents/test/unit/steering-notices.test.ts +0 -58
  1080. package/dist/extensions/pi-subagents/test/unit/steering.test.ts +0 -211
  1081. package/dist/extensions/pi-subagents/test/unit/streamed-progress-bounds.test.ts +0 -78
  1082. package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +0 -85
  1083. package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +0 -329
  1084. package/dist/extensions/pi-subagents/test/unit/subagent-guide.test.ts +0 -37
  1085. package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +0 -1510
  1086. package/dist/extensions/pi-subagents/test/unit/subagent-startup-retry.test.ts +0 -104
  1087. package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +0 -1367
  1088. package/dist/extensions/pi-subagents/test/unit/task-intent.test.ts +0 -126
  1089. package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +0 -97
  1090. package/dist/extensions/pi-subagents/test/unit/thinking-ceiling.test.ts +0 -73
  1091. package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +0 -138
  1092. package/dist/extensions/pi-subagents/test/unit/tool-budget.test.ts +0 -67
  1093. package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +0 -309
  1094. package/dist/extensions/pi-subagents/test/unit/tool-timeout.test.ts +0 -108
  1095. package/dist/extensions/pi-subagents/test/unit/total-cost.test.ts +0 -61
  1096. package/dist/extensions/pi-subagents/test/unit/ts-loader.test.ts +0 -33
  1097. package/dist/extensions/pi-subagents/test/unit/types-fork-preamble.test.ts +0 -23
  1098. package/dist/extensions/pi-subagents/test/unit/wait-completions.test.ts +0 -76
  1099. package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +0 -664
  1100. package/dist/extensions/pi-subagents/test/unit/watch-strategy.test.ts +0 -24
  1101. package/dist/extensions/pi-subagents/test/unit/watchdog-change-signature.test.ts +0 -434
  1102. package/dist/extensions/pi-subagents/test/unit/watchdog-child-status.test.ts +0 -110
  1103. package/dist/extensions/pi-subagents/test/unit/watchdog-emission-guard.test.ts +0 -62
  1104. package/dist/extensions/pi-subagents/test/unit/watchdog-lsp-diagnostics.test.ts +0 -144
  1105. package/dist/extensions/pi-subagents/test/unit/watchdog-model-selection.test.ts +0 -121
  1106. package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +0 -115
  1107. package/dist/extensions/pi-subagents/test/unit/watchdog-render.test.ts +0 -76
  1108. package/dist/extensions/pi-subagents/test/unit/watchdog-review.test.ts +0 -327
  1109. package/dist/extensions/pi-subagents/test/unit/watchdog-runtime.test.ts +0 -1072
  1110. package/dist/extensions/pi-subagents/test/unit/watchdog-scope.test.ts +0 -33
  1111. package/dist/extensions/pi-subagents/test/unit/watchdog-settings.test.ts +0 -322
  1112. package/dist/extensions/pi-subagents/test/unit/watchdog-tool-actions.test.ts +0 -91
  1113. package/dist/extensions/pi-subagents/test/unit/watchdog-turn-delta.test.ts +0 -130
  1114. package/dist/extensions/pi-subagents/test/unit/widget-nested-render.test.ts +0 -171
  1115. package/dist/extensions/pi-subagents/test/unit/windows-hide-spawn.test.ts +0 -49
  1116. package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +0 -551
  1117. package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +0 -777
  1118. package/dist/extensions/pi-subagents/test/unit/workflow-graph.test.ts +0 -134
  1119. package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +0 -358
  1120. package/dist/extensions/pi-subagents/test/unit/workflow-preflight.test.ts +0 -155
  1121. package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +0 -461
  1122. package/dist/extensions/pi-subagents/test/unit/workflow-resources.test.ts +0 -98
  1123. package/dist/extensions/pi-subagents/test/unit/workflow-resume-hint.test.ts +0 -365
  1124. package/dist/extensions/pi-subagents/test/unit/worktree-cleanup-plan.test.ts +0 -349
  1125. package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +0 -695
  1126. package/dist/extensions/pi-subagents/test/unit/writer-budget-guidance.test.ts +0 -25
  1127. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/effect/index.ts +0 -13
  1128. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/effect/rules/no-service-constructor-imports.ts +0 -52
  1129. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/index.ts +0 -41
  1130. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-chained-type-assertions.ts +0 -77
  1131. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-conditional-empty-object-spread.ts +0 -49
  1132. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-known-value-widening.ts +0 -247
  1133. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-module-mocking.ts +0 -91
  1134. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-object-parameters.ts +0 -126
  1135. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-reflect-apply.ts +0 -28
  1136. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-reflect-get.ts +0 -28
  1137. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-runtime-typeof.ts +0 -67
  1138. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-shape-in-symbol-names.ts +0 -39
  1139. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-parameters.ts +0 -83
  1140. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-returns.ts +0 -115
  1141. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unknown-type-aliases.ts +0 -72
  1142. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-unsafe-dictionary-type.ts +0 -134
  1143. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/no-widen-then-assert.ts +0 -366
  1144. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/rules/require-safety-comment-for-type-assertion.ts +0 -62
  1145. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/dictionary-types.ts +0 -502
  1146. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/lexical-type-parameters.ts +0 -60
  1147. package/dist/extensions/pi-subagents/tools/oxlint/anti-slop/shared/reflect-method.ts +0 -35
  1148. package/dist/extensions/pi-subagents/tsconfig.json +0 -15
  1149. package/dist/extensions/pi-tool-display/CHANGELOG.md +0 -329
  1150. package/dist/extensions/pi-tool-display/LICENSE +0 -21
  1151. package/dist/extensions/pi-tool-display/README.md +0 -417
  1152. package/dist/extensions/pi-tool-display/config/config.example.json +0 -40
  1153. package/dist/extensions/pi-tool-display/index.ts +0 -3
  1154. package/dist/extensions/pi-tool-display/package-lock.json +0 -2555
  1155. package/dist/extensions/pi-tool-display/package.json +0 -86
  1156. package/dist/extensions/pi-tool-display/src/agent-dir.ts +0 -35
  1157. package/dist/extensions/pi-tool-display/src/ansi-utils.ts +0 -116
  1158. package/dist/extensions/pi-tool-display/src/bash-display.ts +0 -213
  1159. package/dist/extensions/pi-tool-display/src/capabilities.ts +0 -88
  1160. package/dist/extensions/pi-tool-display/src/config-modal.ts +0 -541
  1161. package/dist/extensions/pi-tool-display/src/config-store.ts +0 -304
  1162. package/dist/extensions/pi-tool-display/src/debug-logger.ts +0 -150
  1163. package/dist/extensions/pi-tool-display/src/diff-presentation.ts +0 -72
  1164. package/dist/extensions/pi-tool-display/src/diff-renderer.ts +0 -2517
  1165. package/dist/extensions/pi-tool-display/src/disposable.ts +0 -34
  1166. package/dist/extensions/pi-tool-display/src/extension-lifecycle.ts +0 -14
  1167. package/dist/extensions/pi-tool-display/src/index.ts +0 -109
  1168. package/dist/extensions/pi-tool-display/src/line-width-safety.ts +0 -93
  1169. package/dist/extensions/pi-tool-display/src/modal-icons.ts +0 -57
  1170. package/dist/extensions/pi-tool-display/src/pending-diff-preview.ts +0 -370
  1171. package/dist/extensions/pi-tool-display/src/presets.ts +0 -117
  1172. package/dist/extensions/pi-tool-display/src/render-utils.ts +0 -186
  1173. package/dist/extensions/pi-tool-display/src/settings-inspector-modal.ts +0 -475
  1174. package/dist/extensions/pi-tool-display/src/thinking-label.ts +0 -343
  1175. package/dist/extensions/pi-tool-display/src/tool-call-box.ts +0 -181
  1176. package/dist/extensions/pi-tool-display/src/tool-metadata.ts +0 -139
  1177. package/dist/extensions/pi-tool-display/src/tool-overrides.ts +0 -2168
  1178. package/dist/extensions/pi-tool-display/src/types.ts +0 -109
  1179. package/dist/extensions/pi-tool-display/src/user-message-box-markdown.ts +0 -64
  1180. package/dist/extensions/pi-tool-display/src/user-message-box-native.ts +0 -66
  1181. package/dist/extensions/pi-tool-display/src/user-message-box-patch.ts +0 -72
  1182. package/dist/extensions/pi-tool-display/src/user-message-box-renderer.ts +0 -419
  1183. package/dist/extensions/pi-tool-display/src/user-message-box-utils.ts +0 -106
  1184. package/dist/extensions/pi-tool-display/src/write-display-utils.ts +0 -31
  1185. package/dist/extensions/pi-tool-display/src/zellij-modal.ts +0 -1027
  1186. package/dist/extensions/pi-tool-display/tests/active-backlog-red.test.ts +0 -65
  1187. package/dist/extensions/pi-tool-display/tests/ansi-utils.test.ts +0 -345
  1188. package/dist/extensions/pi-tool-display/tests/bash-display.test.ts +0 -442
  1189. package/dist/extensions/pi-tool-display/tests/capabilities-edge.test.ts +0 -360
  1190. package/dist/extensions/pi-tool-display/tests/capabilities.test.ts +0 -54
  1191. package/dist/extensions/pi-tool-display/tests/config-modal.test.ts +0 -360
  1192. package/dist/extensions/pi-tool-display/tests/config-store.test.ts +0 -87
  1193. package/dist/extensions/pi-tool-display/tests/custom-tool-overrides.test.ts +0 -415
  1194. package/dist/extensions/pi-tool-display/tests/debug-logger-edge.test.ts +0 -630
  1195. package/dist/extensions/pi-tool-display/tests/debug-logger.test.ts +0 -62
  1196. package/dist/extensions/pi-tool-display/tests/diff-renderer-ansi.test.ts +0 -55
  1197. package/dist/extensions/pi-tool-display/tests/diff-renderer-edge.test.ts +0 -886
  1198. package/dist/extensions/pi-tool-display/tests/diff-renderer-numbering.test.ts +0 -135
  1199. package/dist/extensions/pi-tool-display/tests/diff-renderer-width.test.ts +0 -454
  1200. package/dist/extensions/pi-tool-display/tests/diff-renderer-wrap.test.ts +0 -169
  1201. package/dist/extensions/pi-tool-display/tests/index-integration.test.ts +0 -354
  1202. package/dist/extensions/pi-tool-display/tests/pending-diff-preview.test.ts +0 -79
  1203. package/dist/extensions/pi-tool-display/tests/presets-edge.test.ts +0 -229
  1204. package/dist/extensions/pi-tool-display/tests/presets.test.ts +0 -26
  1205. package/dist/extensions/pi-tool-display/tests/reload-behavior.test.ts +0 -1241
  1206. package/dist/extensions/pi-tool-display/tests/render-utils.test.ts +0 -710
  1207. package/dist/extensions/pi-tool-display/tests/settings-inspector.test.ts +0 -450
  1208. package/dist/extensions/pi-tool-display/tests/thinking-label-edge.test.ts +0 -904
  1209. package/dist/extensions/pi-tool-display/tests/thinking-label.test.ts +0 -72
  1210. package/dist/extensions/pi-tool-display/tests/tool-call-box.test.ts +0 -105
  1211. package/dist/extensions/pi-tool-display/tests/tool-overrides-config.test.ts +0 -613
  1212. package/dist/extensions/pi-tool-display/tests/tool-overrides-mcp.test.ts +0 -499
  1213. package/dist/extensions/pi-tool-display/tests/tool-overrides-registration.test.ts +0 -315
  1214. package/dist/extensions/pi-tool-display/tests/tool-overrides-write-meta.test.ts +0 -68
  1215. package/dist/extensions/pi-tool-display/tests/tool-ui-utils.test.ts +0 -413
  1216. package/dist/extensions/pi-tool-display/tests/user-message-box-performance-red.test.ts +0 -176
  1217. package/dist/extensions/pi-tool-display/tests/user-message-box.test.ts +0 -908
  1218. package/dist/extensions/pi-tool-display/tests/zellij-modal.test.ts +0 -848
  1219. package/dist/extensions/pi-tool-display/tool-display-api-consumer.d.ts +0 -30
  1220. package/dist/extensions/pi-tool-display/tool-display-api-consumer.js +0 -40
  1221. package/dist/extensions/pi-web-agent/CHANGELOG.md +0 -410
  1222. package/dist/extensions/pi-web-agent/README.md +0 -131
  1223. package/dist/extensions/pi-web-agent/package.json +0 -33
  1224. package/dist/extensions/pi-web-agent/src/backends/config.ts +0 -262
  1225. package/dist/extensions/pi-web-agent/src/backends/doctor.ts +0 -272
  1226. package/dist/extensions/pi-web-agent/src/backends/factory.ts +0 -242
  1227. package/dist/extensions/pi-web-agent/src/backends/settings-reader.ts +0 -25
  1228. package/dist/extensions/pi-web-agent/src/cache/ttl-cache.ts +0 -28
  1229. package/dist/extensions/pi-web-agent/src/changelog-notice.ts +0 -136
  1230. package/dist/extensions/pi-web-agent/src/commands/web-agent-config.ts +0 -1082
  1231. package/dist/extensions/pi-web-agent/src/extension.ts +0 -163
  1232. package/dist/extensions/pi-web-agent/src/extract/readability.ts +0 -126
  1233. package/dist/extensions/pi-web-agent/src/fetch/browser-resolution.ts +0 -199
  1234. package/dist/extensions/pi-web-agent/src/fetch/firecrawl-fetch.ts +0 -100
  1235. package/dist/extensions/pi-web-agent/src/fetch/headless-fetch.ts +0 -117
  1236. package/dist/extensions/pi-web-agent/src/fetch/http-fetch.ts +0 -67
  1237. package/dist/extensions/pi-web-agent/src/orchestration/answer-synthesizer.ts +0 -60
  1238. package/dist/extensions/pi-web-agent/src/orchestration/candidate-selector.ts +0 -51
  1239. package/dist/extensions/pi-web-agent/src/orchestration/direct-url.ts +0 -29
  1240. package/dist/extensions/pi-web-agent/src/orchestration/evidence-quality.ts +0 -108
  1241. package/dist/extensions/pi-web-agent/src/orchestration/evidence-ranker.ts +0 -47
  1242. package/dist/extensions/pi-web-agent/src/orchestration/index.ts +0 -28
  1243. package/dist/extensions/pi-web-agent/src/orchestration/query-planner.ts +0 -47
  1244. package/dist/extensions/pi-web-agent/src/orchestration/research-orchestrator.ts +0 -441
  1245. package/dist/extensions/pi-web-agent/src/orchestration/research-types.ts +0 -71
  1246. package/dist/extensions/pi-web-agent/src/orchestration/research-worker.ts +0 -206
  1247. package/dist/extensions/pi-web-agent/src/orchestration/source-profile.ts +0 -105
  1248. package/dist/extensions/pi-web-agent/src/orchestration/stop-decider.ts +0 -81
  1249. package/dist/extensions/pi-web-agent/src/orchestration/url.ts +0 -35
  1250. package/dist/extensions/pi-web-agent/src/presentation/config-store.ts +0 -210
  1251. package/dist/extensions/pi-web-agent/src/presentation/config.ts +0 -75
  1252. package/dist/extensions/pi-web-agent/src/presentation/explore-presentation.ts +0 -73
  1253. package/dist/extensions/pi-web-agent/src/presentation/fetch-presentation.ts +0 -54
  1254. package/dist/extensions/pi-web-agent/src/presentation/search-presentation.ts +0 -53
  1255. package/dist/extensions/pi-web-agent/src/presentation/select-view.ts +0 -20
  1256. package/dist/extensions/pi-web-agent/src/presentation/types.ts +0 -63
  1257. package/dist/extensions/pi-web-agent/src/readers/github-reader.ts +0 -150
  1258. package/dist/extensions/pi-web-agent/src/readers/limits.ts +0 -3
  1259. package/dist/extensions/pi-web-agent/src/readers/pdf-reader.ts +0 -87
  1260. package/dist/extensions/pi-web-agent/src/readers/resolver.ts +0 -25
  1261. package/dist/extensions/pi-web-agent/src/readers/types.ts +0 -11
  1262. package/dist/extensions/pi-web-agent/src/readers/youtube-reader.ts +0 -79
  1263. package/dist/extensions/pi-web-agent/src/search/brave.ts +0 -114
  1264. package/dist/extensions/pi-web-agent/src/search/duckduckgo.ts +0 -99
  1265. package/dist/extensions/pi-web-agent/src/search/exa.ts +0 -109
  1266. package/dist/extensions/pi-web-agent/src/search/fanout.ts +0 -154
  1267. package/dist/extensions/pi-web-agent/src/search/searxng.ts +0 -96
  1268. package/dist/extensions/pi-web-agent/src/search/tavily.ts +0 -113
  1269. package/dist/extensions/pi-web-agent/src/search/youcom.ts +0 -109
  1270. package/dist/extensions/pi-web-agent/src/tools/web-explore.ts +0 -71
  1271. package/dist/extensions/pi-web-agent/src/tools/web-fetch-headless.ts +0 -31
  1272. package/dist/extensions/pi-web-agent/src/tools/web-fetch.ts +0 -31
  1273. package/dist/extensions/pi-web-agent/src/tools/web-search.ts +0 -170
  1274. package/dist/extensions/pi-web-agent/src/types.ts +0 -103
  1275. package/dist/extensions/pi-zentui/.editorconfig +0 -12
  1276. package/dist/extensions/pi-zentui/.github/CODEOWNERS +0 -1
  1277. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/bug_report.yml +0 -110
  1278. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/config.yml +0 -8
  1279. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/config_question.yml +0 -56
  1280. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/feature_request.yml +0 -63
  1281. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/rendering_issue.yml +0 -106
  1282. package/dist/extensions/pi-zentui/.github/ISSUE_TEMPLATE/runtime_detection.yml +0 -103
  1283. package/dist/extensions/pi-zentui/.github/dependabot.yml +0 -47
  1284. package/dist/extensions/pi-zentui/.github/pull_request_template.md +0 -34
  1285. package/dist/extensions/pi-zentui/.github/release.yml +0 -18
  1286. package/dist/extensions/pi-zentui/.github/workflows/ci.yml +0 -79
  1287. package/dist/extensions/pi-zentui/.github/workflows/publish.yml +0 -63
  1288. package/dist/extensions/pi-zentui/AGENTS.md +0 -107
  1289. package/dist/extensions/pi-zentui/CONTRIBUTING.md +0 -68
  1290. package/dist/extensions/pi-zentui/LICENSE +0 -21
  1291. package/dist/extensions/pi-zentui/README.md +0 -188
  1292. package/dist/extensions/pi-zentui/SECURITY.md +0 -18
  1293. package/dist/extensions/pi-zentui/assets/main-cover.png +0 -0
  1294. package/dist/extensions/pi-zentui/assets/screenshots/editor-accent-rail.png +0 -0
  1295. package/dist/extensions/pi-zentui/assets/screenshots/editor-minimalist.png +0 -0
  1296. package/dist/extensions/pi-zentui/assets/screenshots/editor-opencode-copy-friendly.png +0 -0
  1297. package/dist/extensions/pi-zentui/assets/screenshots/editor-opencode.png +0 -0
  1298. package/dist/extensions/pi-zentui/assets/screenshots/user-message-compact.png +0 -0
  1299. package/dist/extensions/pi-zentui/assets/screenshots/user-message-framed-copy-friendly.png +0 -0
  1300. package/dist/extensions/pi-zentui/assets/screenshots/user-message-framed.png +0 -0
  1301. package/dist/extensions/pi-zentui/assets/screenshots/user-message-labeled.png +0 -0
  1302. package/dist/extensions/pi-zentui/assets/zentui.png +0 -0
  1303. package/dist/extensions/pi-zentui/biome.json +0 -31
  1304. package/dist/extensions/pi-zentui/docs/configuration.md +0 -509
  1305. package/dist/extensions/pi-zentui/docs/footer-format.md +0 -162
  1306. package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-editor.ts +0 -99
  1307. package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-layout-patch.ts +0 -457
  1308. package/dist/extensions/pi-zentui/extensions/zentui/completion-menu.ts +0 -157
  1309. package/dist/extensions/pi-zentui/extensions/zentui/config.ts +0 -2100
  1310. package/dist/extensions/pi-zentui/extensions/zentui/editor-metadata-format.ts +0 -321
  1311. package/dist/extensions/pi-zentui/extensions/zentui/editor-transfer.ts +0 -73
  1312. package/dist/extensions/pi-zentui/extensions/zentui/extension-status.ts +0 -89
  1313. package/dist/extensions/pi-zentui/extensions/zentui/footer-format.ts +0 -364
  1314. package/dist/extensions/pi-zentui/extensions/zentui/footer-layout.ts +0 -122
  1315. package/dist/extensions/pi-zentui/extensions/zentui/footer.ts +0 -812
  1316. package/dist/extensions/pi-zentui/extensions/zentui/format.ts +0 -620
  1317. package/dist/extensions/pi-zentui/extensions/zentui/git.ts +0 -384
  1318. package/dist/extensions/pi-zentui/extensions/zentui/icons.ts +0 -252
  1319. package/dist/extensions/pi-zentui/extensions/zentui/index.ts +0 -1416
  1320. package/dist/extensions/pi-zentui/extensions/zentui/interaction-summary.ts +0 -1049
  1321. package/dist/extensions/pi-zentui/extensions/zentui/live-context.ts +0 -75
  1322. package/dist/extensions/pi-zentui/extensions/zentui/minimalist-editor.ts +0 -463
  1323. package/dist/extensions/pi-zentui/extensions/zentui/package-version.ts +0 -651
  1324. package/dist/extensions/pi-zentui/extensions/zentui/project-refresh.ts +0 -120
  1325. package/dist/extensions/pi-zentui/extensions/zentui/project-state.ts +0 -59
  1326. package/dist/extensions/pi-zentui/extensions/zentui/prototype-patch-registry.ts +0 -166
  1327. package/dist/extensions/pi-zentui/extensions/zentui/repository-root.ts +0 -98
  1328. package/dist/extensions/pi-zentui/extensions/zentui/runtime.ts +0 -841
  1329. package/dist/extensions/pi-zentui/extensions/zentui/selector-border.ts +0 -93
  1330. package/dist/extensions/pi-zentui/extensions/zentui/session-lifecycle.ts +0 -60
  1331. package/dist/extensions/pi-zentui/extensions/zentui/settings-command.ts +0 -1796
  1332. package/dist/extensions/pi-zentui/extensions/zentui/settings-previews.ts +0 -128
  1333. package/dist/extensions/pi-zentui/extensions/zentui/state.ts +0 -94
  1334. package/dist/extensions/pi-zentui/extensions/zentui/style.ts +0 -424
  1335. package/dist/extensions/pi-zentui/extensions/zentui/telemetry.ts +0 -82
  1336. package/dist/extensions/pi-zentui/extensions/zentui/ui.ts +0 -1290
  1337. package/dist/extensions/pi-zentui/extensions/zentui/user-message-osc.ts +0 -248
  1338. package/dist/extensions/pi-zentui/extensions/zentui/user-message-styles.ts +0 -215
  1339. package/dist/extensions/pi-zentui/extensions/zentui/user-message.ts +0 -206
  1340. package/dist/extensions/pi-zentui/extensions/zentui/working-line-messages.ts +0 -24
  1341. package/dist/extensions/pi-zentui/extensions/zentui/working-line-spinners.ts +0 -54
  1342. package/dist/extensions/pi-zentui/extensions/zentui/working-line.ts +0 -1433
  1343. package/dist/extensions/pi-zentui/package-lock.json +0 -5311
  1344. package/dist/extensions/pi-zentui/package.json +0 -60
  1345. package/dist/extensions/pi-zentui/test/accent-rail-editor.test.ts +0 -232
  1346. package/dist/extensions/pi-zentui/test/accent-rail-layout-patch.test.ts +0 -669
  1347. package/dist/extensions/pi-zentui/test/completion-menu.test.ts +0 -265
  1348. package/dist/extensions/pi-zentui/test/config.test.ts +0 -3119
  1349. package/dist/extensions/pi-zentui/test/editor-metadata-format.test.ts +0 -405
  1350. package/dist/extensions/pi-zentui/test/editor-transfer.test.ts +0 -260
  1351. package/dist/extensions/pi-zentui/test/editor-viewport-indicators.test.ts +0 -1286
  1352. package/dist/extensions/pi-zentui/test/extension-compliance.test.ts +0 -7196
  1353. package/dist/extensions/pi-zentui/test/extension-status.test.ts +0 -182
  1354. package/dist/extensions/pi-zentui/test/fixtures/starship-nerd-font-symbols.toml +0 -172
  1355. package/dist/extensions/pi-zentui/test/footer-format.test.ts +0 -431
  1356. package/dist/extensions/pi-zentui/test/footer-layout.test.ts +0 -113
  1357. package/dist/extensions/pi-zentui/test/footer-repository-path.test.ts +0 -123
  1358. package/dist/extensions/pi-zentui/test/format.test.ts +0 -927
  1359. package/dist/extensions/pi-zentui/test/git.test.ts +0 -212
  1360. package/dist/extensions/pi-zentui/test/icons.test.ts +0 -69
  1361. package/dist/extensions/pi-zentui/test/interaction-summary.test.ts +0 -1402
  1362. package/dist/extensions/pi-zentui/test/live-context-integration.test.ts +0 -378
  1363. package/dist/extensions/pi-zentui/test/live-context.test.ts +0 -139
  1364. package/dist/extensions/pi-zentui/test/minimalist-editor.test.ts +0 -811
  1365. package/dist/extensions/pi-zentui/test/package-version.test.ts +0 -321
  1366. package/dist/extensions/pi-zentui/test/project-refresh.test.ts +0 -250
  1367. package/dist/extensions/pi-zentui/test/project-state.test.ts +0 -159
  1368. package/dist/extensions/pi-zentui/test/repository-root.test.ts +0 -108
  1369. package/dist/extensions/pi-zentui/test/responsive-dependencies.test.ts +0 -825
  1370. package/dist/extensions/pi-zentui/test/runtime.test.ts +0 -183
  1371. package/dist/extensions/pi-zentui/test/session-lifecycle.test.ts +0 -40
  1372. package/dist/extensions/pi-zentui/test/settings-command.test.ts +0 -1381
  1373. package/dist/extensions/pi-zentui/test/settings-previews.test.ts +0 -347
  1374. package/dist/extensions/pi-zentui/test/state.test.ts +0 -84
  1375. package/dist/extensions/pi-zentui/test/telemetry-lifecycle-integration.test.ts +0 -276
  1376. package/dist/extensions/pi-zentui/test/telemetry.test.ts +0 -105
  1377. package/dist/extensions/pi-zentui/test/turn-summary-lifecycle.integration.test.ts +0 -327
  1378. package/dist/extensions/pi-zentui/test/user-message-osc.test.ts +0 -164
  1379. package/dist/extensions/pi-zentui/test/user-message-styles.test.ts +0 -292
  1380. package/dist/extensions/pi-zentui/test/working-line-lifecycle.integration.test.ts +0 -730
  1381. package/dist/extensions/pi-zentui/test/working-line-messages.test.ts +0 -34
  1382. package/dist/extensions/pi-zentui/test/working-line.test.ts +0 -1990
  1383. package/dist/extensions/pi-zentui/tsconfig.json +0 -16
  1384. package/dist/extensions/ponytail/index.js +0 -176
  1385. package/dist/extensions/ponytail/package.json +0 -8
  1386. package/dist/extensions/ponytail/ponytail-config.cjs +0 -151
  1387. package/dist/extensions/ponytail/ponytail-instructions.cjs +0 -112
  1388. package/dist/extensions/ponytail/test/extension.test.js +0 -299
  1389. package/dist/extensions/ponytail/test/helpers.test.js +0 -312
  1390. package/dist/extensions/question/batch.ts +0 -103
  1391. package/dist/extensions/question/constants.ts +0 -31
  1392. package/dist/extensions/question/helpers.ts +0 -58
  1393. package/dist/extensions/question/index.ts +0 -688
  1394. package/dist/extensions/question/navigation.ts +0 -14
  1395. package/dist/extensions/question/package.json +0 -19
  1396. package/dist/extensions/question/question-list.ts +0 -533
  1397. package/dist/extensions/question/row-layout.ts +0 -165
  1398. package/dist/extensions/question/schemas.ts +0 -43
  1399. package/dist/extensions/question/selection-mode.ts +0 -47
  1400. package/dist/extensions/question/shortcuts.ts +0 -44
  1401. package/dist/extensions/question/tests/batch.test.ts +0 -113
  1402. package/dist/extensions/question/tests/exp.test.ts +0 -70
  1403. package/dist/extensions/question/tests/exp2.test.ts +0 -59
  1404. package/dist/extensions/question/tests/exp3.test.ts +0 -47
  1405. package/dist/extensions/question/tests/helpers.test.ts +0 -93
  1406. package/dist/extensions/question/tests/question-list.test.ts +0 -694
  1407. package/dist/extensions/question/tests/row-layout.test.ts +0 -215
  1408. package/dist/extensions/question/tests/schemas.test.ts +0 -53
  1409. package/dist/extensions/question/tests/selection-mode.test.ts +0 -54
  1410. package/dist/extensions/question/tests/shortcuts.test.ts +0 -107
  1411. package/dist/extensions/question/tests/wizard.test.ts +0 -839
  1412. package/dist/extensions/question/tests/zz-ig3.test.ts +0 -20
  1413. package/dist/extensions/question/tests/zz-probe.test.ts +0 -29
  1414. package/dist/extensions/question/types.ts +0 -132
  1415. package/dist/extensions/rtk.test.ts +0 -320
  1416. package/dist/extensions/rtk.ts +0 -123
  1417. package/dist/extensions/test-resolve-hook-impl.mjs +0 -7
  1418. package/dist/extensions/test-resolve-hook.mjs +0 -7
  1419. package/dist/extensions/tokenin-onboarding.ts +0 -883
  1420. package/dist/extensions/tps.test.ts +0 -38
  1421. package/dist/extensions/tps.ts +0 -349
  1422. package/dist/extensions/undo.test.ts +0 -720
  1423. package/dist/extensions/undo.ts +0 -298
  1424. package/dist/extensions/web-agent-onboarding.test.ts +0 -415
  1425. package/dist/extensions/web-agent-onboarding.ts +0 -222
  1426. package/dist/index.d.ts +0 -36
  1427. package/dist/index.js +0 -48
  1428. package/dist/main.d.ts +0 -11
  1429. package/dist/main.js +0 -768
  1430. package/dist/migrations.d.ts +0 -32
  1431. package/dist/migrations.js +0 -280
  1432. package/dist/modes/index.d.ts +0 -8
  1433. package/dist/modes/index.js +0 -7
  1434. package/dist/modes/interactive/assets/clankolas.png +0 -0
  1435. package/dist/modes/interactive/components/armin.d.ts +0 -33
  1436. package/dist/modes/interactive/components/armin.js +0 -332
  1437. package/dist/modes/interactive/components/assistant-message.d.ts +0 -21
  1438. package/dist/modes/interactive/components/assistant-message.js +0 -142
  1439. package/dist/modes/interactive/components/bash-execution.d.ts +0 -33
  1440. package/dist/modes/interactive/components/bash-execution.js +0 -174
  1441. package/dist/modes/interactive/components/bordered-loader.d.ts +0 -15
  1442. package/dist/modes/interactive/components/bordered-loader.js +0 -53
  1443. package/dist/modes/interactive/components/branch-summary-message.d.ts +0 -15
  1444. package/dist/modes/interactive/components/branch-summary-message.js +0 -43
  1445. package/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -15
  1446. package/dist/modes/interactive/components/compaction-summary-message.js +0 -44
  1447. package/dist/modes/interactive/components/config-selector.d.ts +0 -101
  1448. package/dist/modes/interactive/components/config-selector.js +0 -760
  1449. package/dist/modes/interactive/components/countdown-timer.d.ts +0 -13
  1450. package/dist/modes/interactive/components/countdown-timer.js +0 -32
  1451. package/dist/modes/interactive/components/custom-editor.d.ts +0 -20
  1452. package/dist/modes/interactive/components/custom-editor.js +0 -69
  1453. package/dist/modes/interactive/components/custom-entry.d.ts +0 -18
  1454. package/dist/modes/interactive/components/custom-entry.js +0 -51
  1455. package/dist/modes/interactive/components/custom-message.d.ts +0 -21
  1456. package/dist/modes/interactive/components/custom-message.js +0 -86
  1457. package/dist/modes/interactive/components/daxnuts.d.ts +0 -22
  1458. package/dist/modes/interactive/components/daxnuts.js +0 -139
  1459. package/dist/modes/interactive/components/diff.d.ts +0 -11
  1460. package/dist/modes/interactive/components/diff.js +0 -132
  1461. package/dist/modes/interactive/components/dynamic-border.d.ts +0 -14
  1462. package/dist/modes/interactive/components/dynamic-border.js +0 -20
  1463. package/dist/modes/interactive/components/earendil-announcement.d.ts +0 -4
  1464. package/dist/modes/interactive/components/earendil-announcement.js +0 -39
  1465. package/dist/modes/interactive/components/extension-editor.d.ts +0 -20
  1466. package/dist/modes/interactive/components/extension-editor.js +0 -97
  1467. package/dist/modes/interactive/components/extension-input.d.ts +0 -22
  1468. package/dist/modes/interactive/components/extension-input.js +0 -60
  1469. package/dist/modes/interactive/components/extension-selector.d.ts +0 -25
  1470. package/dist/modes/interactive/components/extension-selector.js +0 -82
  1471. package/dist/modes/interactive/components/first-time-setup.d.ts +0 -24
  1472. package/dist/modes/interactive/components/first-time-setup.js +0 -116
  1473. package/dist/modes/interactive/components/footer.d.ts +0 -31
  1474. package/dist/modes/interactive/components/footer.js +0 -221
  1475. package/dist/modes/interactive/components/index.d.ts +0 -33
  1476. package/dist/modes/interactive/components/index.js +0 -34
  1477. package/dist/modes/interactive/components/keybinding-hints.d.ts +0 -12
  1478. package/dist/modes/interactive/components/keybinding-hints.js +0 -35
  1479. package/dist/modes/interactive/components/login-dialog.d.ts +0 -51
  1480. package/dist/modes/interactive/components/login-dialog.js +0 -187
  1481. package/dist/modes/interactive/components/model-selector.d.ts +0 -63
  1482. package/dist/modes/interactive/components/model-selector.js +0 -321
  1483. package/dist/modes/interactive/components/oauth-selector.d.ts +0 -32
  1484. package/dist/modes/interactive/components/oauth-selector.js +0 -162
  1485. package/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -41
  1486. package/dist/modes/interactive/components/scoped-models-selector.js +0 -301
  1487. package/dist/modes/interactive/components/session-selector-search.d.ts +0 -22
  1488. package/dist/modes/interactive/components/session-selector-search.js +0 -154
  1489. package/dist/modes/interactive/components/session-selector.d.ts +0 -94
  1490. package/dist/modes/interactive/components/session-selector.js +0 -866
  1491. package/dist/modes/interactive/components/settings-selector.d.ts +0 -103
  1492. package/dist/modes/interactive/components/settings-selector.js +0 -726
  1493. package/dist/modes/interactive/components/show-images-selector.d.ts +0 -9
  1494. package/dist/modes/interactive/components/show-images-selector.js +0 -38
  1495. package/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -16
  1496. package/dist/modes/interactive/components/skill-invocation-message.js +0 -46
  1497. package/dist/modes/interactive/components/startup-box.d.ts +0 -38
  1498. package/dist/modes/interactive/components/startup-box.js +0 -90
  1499. package/dist/modes/interactive/components/status-indicator.d.ts +0 -30
  1500. package/dist/modes/interactive/components/status-indicator.js +0 -64
  1501. package/dist/modes/interactive/components/theme-selector.d.ts +0 -10
  1502. package/dist/modes/interactive/components/theme-selector.js +0 -49
  1503. package/dist/modes/interactive/components/thinking-selector.d.ts +0 -10
  1504. package/dist/modes/interactive/components/thinking-selector.js +0 -51
  1505. package/dist/modes/interactive/components/tool-execution.d.ts +0 -62
  1506. package/dist/modes/interactive/components/tool-execution.js +0 -325
  1507. package/dist/modes/interactive/components/tree-selector.d.ts +0 -93
  1508. package/dist/modes/interactive/components/tree-selector.js +0 -1244
  1509. package/dist/modes/interactive/components/trust-selector.d.ts +0 -22
  1510. package/dist/modes/interactive/components/trust-selector.js +0 -90
  1511. package/dist/modes/interactive/components/user-message-selector.d.ts +0 -29
  1512. package/dist/modes/interactive/components/user-message-selector.js +0 -113
  1513. package/dist/modes/interactive/components/user-message.d.ts +0 -13
  1514. package/dist/modes/interactive/components/user-message.js +0 -41
  1515. package/dist/modes/interactive/components/visual-truncate.d.ts +0 -23
  1516. package/dist/modes/interactive/components/visual-truncate.js +0 -32
  1517. package/dist/modes/interactive/external-editor.d.ts +0 -11
  1518. package/dist/modes/interactive/external-editor.js +0 -36
  1519. package/dist/modes/interactive/interactive-mode.d.ts +0 -447
  1520. package/dist/modes/interactive/interactive-mode.js +0 -5489
  1521. package/dist/modes/interactive/model-catalog-refresh.d.ts +0 -6
  1522. package/dist/modes/interactive/model-catalog-refresh.js +0 -33
  1523. package/dist/modes/interactive/model-search.d.ts +0 -11
  1524. package/dist/modes/interactive/model-search.js +0 -14
  1525. package/dist/modes/interactive/theme/dark.json +0 -90
  1526. package/dist/modes/interactive/theme/light.json +0 -89
  1527. package/dist/modes/interactive/theme/theme-controller.d.ts +0 -39
  1528. package/dist/modes/interactive/theme/theme-controller.js +0 -124
  1529. package/dist/modes/interactive/theme/theme-schema.json +0 -348
  1530. package/dist/modes/interactive/theme/theme.d.ts +0 -121
  1531. package/dist/modes/interactive/theme/theme.js +0 -1090
  1532. package/dist/modes/print-mode.d.ts +0 -27
  1533. package/dist/modes/print-mode.js +0 -141
  1534. package/dist/modes/rpc/jsonl.d.ts +0 -16
  1535. package/dist/modes/rpc/jsonl.js +0 -48
  1536. package/dist/modes/rpc/rpc-client.d.ts +0 -438
  1537. package/dist/modes/rpc/rpc-client.js +0 -712
  1538. package/dist/modes/rpc/rpc-mode.d.ts +0 -19
  1539. package/dist/modes/rpc/rpc-mode.js +0 -1459
  1540. package/dist/modes/rpc/rpc-types.d.ts +0 -902
  1541. package/dist/modes/rpc/rpc-types.js +0 -7
  1542. package/dist/package-manager-cli.d.ts +0 -7
  1543. package/dist/package-manager-cli.js +0 -789
  1544. package/dist/rpc-entry.d.ts +0 -2
  1545. package/dist/rpc-entry.js +0 -9
  1546. package/dist/skills/agent-browser/SKILL.md +0 -53
  1547. package/dist/skills/batch-grill-me/SKILL.md +0 -20
  1548. package/dist/skills/brandkit/SKILL.md +0 -800
  1549. package/dist/skills/design-references/SKILL.md +0 -32
  1550. package/dist/skills/design-references/references/clickhouse/DESIGN.md +0 -544
  1551. package/dist/skills/design-taste-frontend/SKILL.md +0 -1208
  1552. package/dist/skills/design-taste-frontend-v1/SKILL.md +0 -228
  1553. package/dist/skills/full-output-enforcement/SKILL.md +0 -51
  1554. package/dist/skills/gpt-taste/SKILL.md +0 -76
  1555. package/dist/skills/grill-me/SKILL.md +0 -11
  1556. package/dist/skills/handoff/SKILL.md +0 -17
  1557. package/dist/skills/handoff-text/SKILL.md +0 -15
  1558. package/dist/skills/high-end-visual-design/SKILL.md +0 -100
  1559. package/dist/skills/image-to-code/SKILL.md +0 -1230
  1560. package/dist/skills/imagegen-frontend-mobile/SKILL.md +0 -1467
  1561. package/dist/skills/imagegen-frontend-web/SKILL.md +0 -989
  1562. package/dist/skills/implanger/SKILL.md +0 -70
  1563. package/dist/skills/improve-codebase/REFERENCE.md +0 -78
  1564. package/dist/skills/improve-codebase/SKILL.md +0 -180
  1565. package/dist/skills/industrial-brutalist-ui/SKILL.md +0 -94
  1566. package/dist/skills/minimalist-ui/SKILL.md +0 -87
  1567. package/dist/skills/pi-subagents/SKILL.md +0 -50
  1568. package/dist/skills/pi-subagents/references/constraints-and-recipes.md +0 -274
  1569. package/dist/skills/pi-subagents/references/execution-controls.md +0 -463
  1570. package/dist/skills/pi-subagents/references/management-authoring-rpc.md +0 -161
  1571. package/dist/skills/pi-subagents/references/multi-lane-orchestration.md +0 -39
  1572. package/dist/skills/pi-subagents/references/prompting-and-roles.md +0 -267
  1573. package/dist/skills/planger/SKILL.md +0 -167
  1574. package/dist/skills/ponytail/SKILL.md +0 -121
  1575. package/dist/skills/ponytail-audit/SKILL.md +0 -42
  1576. package/dist/skills/ponytail-debt/SKILL.md +0 -45
  1577. package/dist/skills/ponytail-gain/SKILL.md +0 -51
  1578. package/dist/skills/ponytail-help/SKILL.md +0 -72
  1579. package/dist/skills/ponytail-review/SKILL.md +0 -58
  1580. package/dist/skills/redesign-existing-projects/SKILL.md +0 -180
  1581. package/dist/skills/selesai-handoff/SKILL.md +0 -21
  1582. package/dist/skills/stitch-design-taste/SKILL.md +0 -186
  1583. package/dist/skills/unlazy/CHANGELOG.md +0 -109
  1584. package/dist/skills/unlazy/CONTRIBUTING.md +0 -63
  1585. package/dist/skills/unlazy/LICENSE +0 -21
  1586. package/dist/skills/unlazy/README.md +0 -228
  1587. package/dist/skills/unlazy/SECURITY.md +0 -60
  1588. package/dist/skills/unlazy/SKILL.md +0 -93
  1589. package/dist/skills/unlazy/package.json +0 -13
  1590. package/dist/skills/unlazy/references/dispatch.md +0 -79
  1591. package/dist/skills/unlazy/references/gates.md +0 -132
  1592. package/dist/skills/unlazy/references/method.md +0 -49
  1593. package/dist/skills/unlazy/references/orchestration.md +0 -98
  1594. package/dist/skills/unlazy/references/parallel.md +0 -111
  1595. package/dist/skills/unlazy/references/token-economy.md +0 -39
  1596. package/dist/skills/unlazy/research/validation-protocol.md +0 -81
  1597. package/dist/skills/unlazy/scripts/dispatch-check.mjs +0 -108
  1598. package/dist/skills/unlazy/scripts/gate-check.mjs +0 -879
  1599. package/dist/skills/unlazy/scripts/gate-lint.mjs +0 -178
  1600. package/dist/skills/unlazy/scripts/lib/check-supervisor.mjs +0 -46
  1601. package/dist/skills/unlazy/scripts/lib/dispatch.mjs +0 -283
  1602. package/dist/skills/unlazy/scripts/lib/gates.mjs +0 -625
  1603. package/dist/skills/unlazy/scripts/lib/process-tree.mjs +0 -161
  1604. package/dist/skills/unlazy/scripts/lib/regex-worker.mjs +0 -9
  1605. package/dist/skills/unlazy/templates/PLAN.md +0 -65
  1606. package/dist/skills/unlazy/templates/gates-leaf.md +0 -51
  1607. package/dist/skills/unlazy/templates/gates-node.md +0 -50
  1608. package/dist/skills/unlazy/tests/contract-tests.mjs +0 -127
  1609. package/dist/skills/unlazy/tests/dispatch-tests.mjs +0 -296
  1610. package/dist/skills/unlazy/tests/hardening-tests.mjs +0 -900
  1611. package/dist/skills/unlazy/tests/lint-tests.mjs +0 -242
  1612. package/dist/skills/unlazy/tests/run-tests.mjs +0 -360
  1613. package/dist/skills/unlazy/tests/self-check.mjs +0 -152
  1614. package/dist/skills/unlazy/tests/stress-tests.mjs +0 -165
  1615. package/dist/skills/web-design-guidelines/SKILL.md +0 -41
  1616. package/dist/skills/workflow/SKILL.md +0 -95
  1617. package/dist/themes/adventure.json +0 -84
  1618. package/dist/themes/adwaita-dark.json +0 -84
  1619. package/dist/themes/arcoiris.json +0 -84
  1620. package/dist/themes/arthur.json +0 -84
  1621. package/dist/themes/atom.json +0 -84
  1622. package/dist/themes/aura.json +0 -84
  1623. package/dist/themes/black-metal-bathory.json +0 -84
  1624. package/dist/themes/black-metal-burzum.json +0 -84
  1625. package/dist/themes/black-metal-khold.json +0 -84
  1626. package/dist/themes/box.json +0 -84
  1627. package/dist/themes/brogrammer.json +0 -84
  1628. package/dist/themes/carbonfox.json +0 -84
  1629. package/dist/themes/catppuccin-mocha.json +0 -84
  1630. package/dist/themes/citruszest.json +0 -84
  1631. package/dist/themes/cursor-dark.json +0 -84
  1632. package/dist/themes/cutie-pro.json +0 -84
  1633. package/dist/themes/dark-modern.json +0 -84
  1634. package/dist/themes/dark-pastel.json +0 -84
  1635. package/dist/themes/dimmed-monokai.json +0 -84
  1636. package/dist/themes/doom-peacock.json +0 -84
  1637. package/dist/themes/dracula-plus.json +0 -84
  1638. package/dist/themes/dracula.json +0 -80
  1639. package/dist/themes/earthsong.json +0 -84
  1640. package/dist/themes/everforest-dark-hard.json +0 -84
  1641. package/dist/themes/everforest-dark.json +0 -80
  1642. package/dist/themes/fahrenheit.json +0 -84
  1643. package/dist/themes/flatland.json +0 -84
  1644. package/dist/themes/flexoki-dark.json +0 -84
  1645. package/dist/themes/front-end-delight.json +0 -84
  1646. package/dist/themes/fun-forrest.json +0 -84
  1647. package/dist/themes/galizur.json +0 -84
  1648. package/dist/themes/github-dark-colorblind.json +0 -84
  1649. package/dist/themes/github-dark-high-contrast.json +0 -84
  1650. package/dist/themes/glacier.json +0 -84
  1651. package/dist/themes/gruber-darker.json +0 -84
  1652. package/dist/themes/gruvbox-dark-hard.json +0 -84
  1653. package/dist/themes/gruvbox-dark.json +0 -84
  1654. package/dist/themes/gruvbox-material.json +0 -84
  1655. package/dist/themes/guezwhoz.json +0 -84
  1656. package/dist/themes/hacktober.json +0 -84
  1657. package/dist/themes/hardcore.json +0 -84
  1658. package/dist/themes/havn-skumring.json +0 -84
  1659. package/dist/themes/ic-orange-ppl.json +0 -84
  1660. package/dist/themes/iterm2-smoooooth.json +0 -84
  1661. package/dist/themes/iterm2-tango-dark.json +0 -84
  1662. package/dist/themes/japanesque.json +0 -84
  1663. package/dist/themes/jellybeans.json +0 -84
  1664. package/dist/themes/kanagawa-wave.json +0 -84
  1665. package/dist/themes/kurokula.json +0 -84
  1666. package/dist/themes/later-this-evening.json +0 -84
  1667. package/dist/themes/lovelace.json +0 -84
  1668. package/dist/themes/material-darker.json +0 -84
  1669. package/dist/themes/matte-black.json +0 -84
  1670. package/dist/themes/mellow.json +0 -84
  1671. package/dist/themes/miasma.json +0 -84
  1672. package/dist/themes/nord.json +0 -80
  1673. package/dist/themes/nvim-dark.json +0 -84
  1674. package/dist/themes/one-dark.json +0 -80
  1675. package/dist/themes/popping-and-locking.json +0 -84
  1676. package/dist/themes/rose-pine.json +0 -80
  1677. package/dist/themes/sea-shells.json +0 -84
  1678. package/dist/themes/sleepy-hollow.json +0 -84
  1679. package/dist/themes/smyck.json +0 -84
  1680. package/dist/themes/solarized-dark.json +0 -80
  1681. package/dist/themes/tokyo-night.json +0 -80
  1682. package/dist/themes/tomorrow-night-bright.json +0 -84
  1683. package/dist/themes/tomorrow-night-burns.json +0 -84
  1684. package/dist/themes/tomorrow-night.json +0 -84
  1685. package/dist/themes/twilight.json +0 -84
  1686. package/dist/themes/vague.json +0 -84
  1687. package/dist/themes/vesper.json +0 -84
  1688. package/dist/themes/xcode-dark-hc.json +0 -84
  1689. package/dist/utils/abort.d.ts +0 -4
  1690. package/dist/utils/abort.js +0 -47
  1691. package/dist/utils/ansi.d.ts +0 -1
  1692. package/dist/utils/ansi.js +0 -51
  1693. package/dist/utils/changelog.d.ts +0 -21
  1694. package/dist/utils/changelog.js +0 -164
  1695. package/dist/utils/child-process.d.ts +0 -17
  1696. package/dist/utils/child-process.js +0 -105
  1697. package/dist/utils/clipboard-image.d.ts +0 -10
  1698. package/dist/utils/clipboard-image.js +0 -250
  1699. package/dist/utils/clipboard-native.d.ts +0 -10
  1700. package/dist/utils/clipboard-native.js +0 -19
  1701. package/dist/utils/clipboard.d.ts +0 -3
  1702. package/dist/utils/clipboard.js +0 -140
  1703. package/dist/utils/deprecation.d.ts +0 -3
  1704. package/dist/utils/deprecation.js +0 -12
  1705. package/dist/utils/exif-orientation.d.ts +0 -4
  1706. package/dist/utils/exif-orientation.js +0 -157
  1707. package/dist/utils/frontmatter.d.ts +0 -7
  1708. package/dist/utils/frontmatter.js +0 -25
  1709. package/dist/utils/fs-watch.d.ts +0 -4
  1710. package/dist/utils/fs-watch.js +0 -24
  1711. package/dist/utils/git.d.ts +0 -25
  1712. package/dist/utils/git.js +0 -194
  1713. package/dist/utils/html.d.ts +0 -6
  1714. package/dist/utils/html.js +0 -39
  1715. package/dist/utils/image-convert.d.ts +0 -9
  1716. package/dist/utils/image-convert.js +0 -44
  1717. package/dist/utils/image-process.d.ts +0 -17
  1718. package/dist/utils/image-process.js +0 -82
  1719. package/dist/utils/image-resize-core.d.ts +0 -29
  1720. package/dist/utils/image-resize-core.js +0 -123
  1721. package/dist/utils/image-resize-worker.d.ts +0 -1
  1722. package/dist/utils/image-resize-worker.js +0 -30
  1723. package/dist/utils/image-resize.d.ts +0 -15
  1724. package/dist/utils/image-resize.js +0 -96
  1725. package/dist/utils/json.d.ts +0 -2
  1726. package/dist/utils/json.js +0 -6
  1727. package/dist/utils/mime.d.ts +0 -2
  1728. package/dist/utils/mime.js +0 -132
  1729. package/dist/utils/open-browser.d.ts +0 -8
  1730. package/dist/utils/open-browser.js +0 -21
  1731. package/dist/utils/paths.d.ts +0 -30
  1732. package/dist/utils/paths.js +0 -91
  1733. package/dist/utils/photon.d.ts +0 -20
  1734. package/dist/utils/photon.js +0 -120
  1735. package/dist/utils/pi-user-agent.d.ts +0 -1
  1736. package/dist/utils/pi-user-agent.js +0 -4
  1737. package/dist/utils/shell.d.ts +0 -33
  1738. package/dist/utils/shell.js +0 -215
  1739. package/dist/utils/sleep.d.ts +0 -4
  1740. package/dist/utils/sleep.js +0 -16
  1741. package/dist/utils/syntax-highlight.d.ts +0 -11
  1742. package/dist/utils/syntax-highlight.js +0 -117
  1743. package/dist/utils/thinking-tags.d.ts +0 -6
  1744. package/dist/utils/thinking-tags.js +0 -62
  1745. package/dist/utils/tools-manager.d.ts +0 -7
  1746. package/dist/utils/tools-manager.js +0 -402
  1747. package/dist/utils/version-check.d.ts +0 -19
  1748. package/dist/utils/version-check.js +0 -72
  1749. package/dist/utils/windows-self-update.d.ts +0 -2
  1750. package/dist/utils/windows-self-update.js +0 -76
@@ -1,1436 +0,0 @@
1
- import * as fs from "node:fs";
2
- import * as path from "node:path";
3
- import type { AgentToolResult } from "@earendil-works/pi-agent-core";
4
- import { getMarkdownTheme, type ExtensionContext } from "@selesai/code";
5
- import { matchesKey, truncateToWidth, visibleWidth, wrapTextWithAnsi, type Component, type MarkdownTheme } from "@earendil-works/pi-tui";
6
- import { snapshotExternalRuns, type ExternalRun } from "../api/external-runs.ts";
7
- import { getArtifactPaths, getArtifactsDir } from "../shared/artifacts.ts";
8
- import { formatDuration, formatModelThinking, formatTokens, formatTokenUsage, shortenPath } from "../shared/formatters.ts";
9
- import { DIRS, type AsyncJobState, type AsyncJobStep, type Details, type FleetKeybindingAction, type FleetKeybindingsConfig, type ForegroundChildControl, type ForegroundResumeChild, type ForegroundResumeRun, type ForegroundRunControl, type SubagentState } from "../shared/types.ts";
10
- import { decodeUtf8Tail } from "../shared/utf8.ts";
11
- import { readStatus } from "../shared/utils.ts";
12
- import { formatAsyncRunTranscript } from "../runs/background/fleet-view.ts";
13
- import { listAsyncRuns, type AsyncRunSummary } from "../runs/background/async-status.ts";
14
- import { steerAsyncRun } from "../runs/foreground/async-steering-action.ts";
15
- import type { SteerDeliveryMode } from "../runs/background/control-channel.ts";
16
- import { stopAsyncRun } from "../runs/foreground/async-stop-action.ts";
17
- import { resolveWorkflowForegroundSteeringTarget, steerWorkflowForegroundTarget } from "../runs/foreground/workflow-foreground-steering.ts";
18
- import { contextModeBadge, contextModeLabel } from "../runs/shared/context-mode.ts";
19
- import { FLEET_STATUS_WIDGET_KEY } from "./fleet-status.ts";
20
- import { readFleetTranscript, renderFleetTranscript, type FleetTranscript } from "./fleet-transcript.ts";
21
- import { handleHerdrInspectorAction } from "../inspectors/herdr/actions.ts";
22
- import type { HerdrClient } from "../inspectors/herdr/client.ts";
23
- import { getLivePromptAudit, type LivePromptAudit, type PromptAuditView } from "../runs/foreground/prompt-audit.ts";
24
-
25
- const REFRESH_MS = 750;
26
- const MIN_REFRESH_MS = 250;
27
- const MAX_RECENT_ASYNC_RUNS = 20;
28
- const MAX_FLEET_HISTORY_CANDIDATES = 100;
29
- const TRANSCRIPT_LINES = 200;
30
- const OUTPUT_TAIL_BYTES = 64 * 1024;
31
- const PROMPT_AUDIT_SUMMARY_WIDTH = 160;
32
-
33
- export const DEFAULT_FLEET_KEYBINDINGS: Record<FleetKeybindingAction, string[]> = {
34
- close: ["escape", "ctrl+c", "q"],
35
- scrollUp: ["K"],
36
- scrollDown: ["J"],
37
- selectUp: ["up", "k"],
38
- selectDown: ["down", "j"],
39
- selectFirst: ["home"],
40
- selectLast: ["end"],
41
- pageUp: ["pageUp"],
42
- pageDown: ["pageDown"],
43
- refresh: ["r", "R"],
44
- steer: ["s"],
45
- inspect: ["H"],
46
- stop: ["D"],
47
- toggleTools: ["x", "X", "ctrl+o"],
48
- };
49
-
50
- type ResolvedFleetKeybindings = Record<FleetKeybindingAction, string[]>;
51
-
52
- export function resolveFleetKeybindings(config: FleetKeybindingsConfig | undefined): ResolvedFleetKeybindings {
53
- return Object.fromEntries(
54
- Object.entries(DEFAULT_FLEET_KEYBINDINGS).map(([action, defaults]) => [action, config?.[action as FleetKeybindingAction] ?? defaults]),
55
- ) as ResolvedFleetKeybindings;
56
- }
57
-
58
- function matchesFleetBinding(data: string, binding: string): boolean {
59
- const key = /^[A-Z]$/.test(binding) ? `shift+${binding.toLowerCase()}` : binding;
60
- return matchesKey(data, key as Parameters<typeof matchesKey>[1]);
61
- }
62
-
63
- function matchesFleetAction(data: string, bindings: ResolvedFleetKeybindings, action: FleetKeybindingAction): boolean {
64
- return bindings[action].some((binding) => matchesFleetBinding(data, binding));
65
- }
66
-
67
- function bindingLabel(bindings: ResolvedFleetKeybindings, action: FleetKeybindingAction): string {
68
- return bindings[action]
69
- .map((binding) => binding === "up" ? "↑" : binding === "down" ? "↓" : binding === "escape" ? "Esc" : binding === "return" ? "Enter" : binding)
70
- .join("/");
71
- }
72
-
73
- type Theme = ExtensionContext["ui"]["theme"];
74
- type FleetTui = {
75
- terminal?: { rows: number };
76
- requestRender(): void;
77
- };
78
- type AsyncStep = AsyncRunSummary["steps"][number];
79
-
80
- export type FleetItem = (
81
- | { key: string; kind: "foreground-active"; runId: string; index?: number; agent: string; state: "running"; updatedAt: number; control: ForegroundRunControl; activeChild?: ForegroundChildControl }
82
- | { key: string; kind: "foreground-recent"; runId: string; index: number; agent: string; state: ForegroundResumeChild["status"]; updatedAt: number; run: ForegroundResumeRun; child: ForegroundResumeChild }
83
- | { key: string; kind: "async"; runId: string; index?: number; agent: string; state: string; updatedAt: number; run: AsyncRunSummary; step?: AsyncStep }
84
- | { key: string; kind: "external"; runId: string; agent: string; state: ExternalRun["state"]; updatedAt: number; run: ExternalRun }
85
- ) & { description?: string };
86
-
87
- export interface FleetSnapshot {
88
- items: FleetItem[];
89
- error?: string;
90
- }
91
-
92
- export interface FleetActionResult {
93
- text: string;
94
- isError?: boolean;
95
- }
96
-
97
- export interface FleetActionHandlers {
98
- steer(input: { runId: string; asyncDir: string; index?: number; message: string; mode: SteerDeliveryMode }): Promise<FleetActionResult>;
99
- stop(input: { runId: string; asyncDir: string; index?: number }): Promise<FleetActionResult> | FleetActionResult;
100
- inspect?(input: { runId: string; asyncDir: string; index?: number }): Promise<FleetActionResult>;
101
- redoPrompt?(input: { runId: string; index: number; guidance: string; control?: ForegroundRunControl }): Promise<FleetActionResult>;
102
- }
103
-
104
- export interface FleetViewOptions {
105
- asyncDirRoot?: string;
106
- resultsDir?: string;
107
- refreshMs?: number;
108
- initialKey?: string;
109
- markdownTheme?: MarkdownTheme;
110
- fleetKeybindings?: FleetKeybindingsConfig;
111
- actions?: FleetActionHandlers;
112
- copyText?: (text: string) => Promise<void> | void;
113
- herdrClient?: HerdrClient;
114
- }
115
-
116
- function belongsToCurrentSession(sessionId: string | undefined, currentSessionId: string | null): boolean {
117
- return !currentSessionId || sessionId === currentSessionId;
118
- }
119
-
120
- function trackedJobSummary(job: AsyncJobState): AsyncRunSummary {
121
- const startedAt = job.startedAt ?? job.updatedAt ?? Date.now();
122
- return {
123
- id: job.asyncId,
124
- asyncDir: job.asyncDir,
125
- ...(job.sessionId ? { sessionId: job.sessionId } : {}),
126
- state: job.status,
127
- activityState: job.activityState,
128
- lastActivityAt: job.lastActivityAt,
129
- currentTool: job.currentTool,
130
- currentToolStartedAt: job.currentToolStartedAt,
131
- currentPath: job.currentPath,
132
- turnCount: job.turnCount,
133
- toolCount: job.toolCount,
134
- steering: job.steering,
135
- mode: job.mode ?? "single",
136
- ...(job.context ? { context: job.context } : {}),
137
- ...(job.cwd ? { cwd: job.cwd } : {}),
138
- startedAt,
139
- ...(job.updatedAt !== undefined ? { lastUpdate: job.updatedAt } : {}),
140
- ...(job.timeoutMs !== undefined ? { timeoutMs: job.timeoutMs } : {}),
141
- ...(job.deadlineAt !== undefined ? { deadlineAt: job.deadlineAt } : {}),
142
- ...(job.timedOut !== undefined ? { timedOut: job.timedOut } : {}),
143
- ...(job.stopped !== undefined ? { stopped: job.stopped } : {}),
144
- ...(job.turnBudget ? { turnBudget: job.turnBudget } : {}),
145
- ...(job.turnBudgetExceeded !== undefined ? { turnBudgetExceeded: job.turnBudgetExceeded } : {}),
146
- ...(job.wrapUpRequested !== undefined ? { wrapUpRequested: job.wrapUpRequested } : {}),
147
- ...(job.currentStep !== undefined ? { currentStep: job.currentStep } : {}),
148
- ...(job.chainStepCount !== undefined ? { chainStepCount: job.chainStepCount } : {}),
149
- ...(job.parallelGroups?.length ? { parallelGroups: job.parallelGroups } : {}),
150
- ...(job.preflight ? { preflight: job.preflight } : {}),
151
- steps: (job.steps ?? job.agents?.map((agent, index) => ({ agent, index, status: job.status === "queued" ? "pending" as const : job.status })) ?? []).map((step, index) => ({
152
- ...step,
153
- index: step.index ?? index,
154
- })),
155
- ...(job.sessionDir ? { sessionDir: job.sessionDir } : {}),
156
- ...(job.outputFile ? { outputFile: job.outputFile } : {}),
157
- ...(job.totalTokens ? { totalTokens: job.totalTokens } : {}),
158
- ...(job.sessionFile ? { sessionFile: job.sessionFile } : {}),
159
- ...(job.nestedChildren?.length ? { nestedChildren: job.nestedChildren } : {}),
160
- };
161
- }
162
-
163
- function asyncItems(run: AsyncRunSummary, description?: string): FleetItem[] {
164
- const updatedAt = run.lastUpdate ?? run.endedAt ?? run.startedAt;
165
- if (run.steps.length === 0 || run.mode === "workflow") {
166
- return [{ key: `async:${run.id}`, kind: "async", runId: run.id, agent: run.mode, state: run.state, updatedAt, run, ...(description ? { description } : {}) }];
167
- }
168
- return run.steps.map((step) => ({
169
- key: `async:${run.id}:${step.index}`,
170
- kind: "async" as const,
171
- runId: run.id,
172
- index: step.index,
173
- agent: step.label ? `${step.label} (${step.agent})` : step.agent,
174
- state: step.status,
175
- updatedAt: step.lastActivityAt ?? updatedAt,
176
- run,
177
- step,
178
- ...(description ? { description } : {}),
179
- }));
180
- }
181
-
182
- function orderFleetAsyncRuns(runs: AsyncRunSummary[], terminalLimit: number): AsyncRunSummary[] {
183
- const updatedAt = (run: AsyncRunSummary) => run.lastUpdate ?? run.endedAt ?? run.startedAt;
184
- const byNewest = (left: AsyncRunSummary, right: AsyncRunSummary) => updatedAt(right) - updatedAt(left);
185
- const active = runs.filter((run) => run.state === "queued" || run.state === "running").sort(byNewest);
186
- const terminal = runs.filter((run) => run.state !== "queued" && run.state !== "running").sort(byNewest);
187
- return [...active, ...terminal.slice(0, terminalLimit)];
188
- }
189
-
190
- export function collectFleetSnapshot(
191
- state: SubagentState,
192
- options: { asyncDirRoot?: string; resultsDir?: string; limit?: number } = {},
193
- ): FleetSnapshot {
194
- const items: FleetItem[] = [];
195
- const activeForegroundIds = new Set<string>();
196
- const trackedJobs = state.fleetJobs ?? state.asyncJobs;
197
- const workflowParentIds = new Set([...trackedJobs.values()]
198
- .filter((job) => job.mode === "workflow" && belongsToCurrentSession(job.sessionId, state.currentSessionId))
199
- .map((job) => job.asyncId));
200
- const workflowForegroundChildCounts = new Map<string, number>();
201
- const liveWorkflowForegroundControls = new Set<ForegroundRunControl>();
202
- for (const control of state.foregroundControls.values()) {
203
- const activeChildCount = control.activeChildren?.size ?? 0;
204
- if (!control.parentWorkflowRunId
205
- || !workflowParentIds.has(control.parentWorkflowRunId)
206
- || !belongsToCurrentSession(control.sessionId, state.currentSessionId)
207
- || !control.workflowSteeringDir
208
- || activeChildCount === 0) continue;
209
- liveWorkflowForegroundControls.add(control);
210
- workflowForegroundChildCounts.set(control.parentWorkflowRunId, (workflowForegroundChildCounts.get(control.parentWorkflowRunId) ?? 0) + activeChildCount);
211
- }
212
- for (const control of [...state.foregroundControls.values()].sort((left, right) => right.updatedAt - left.updatedAt)) {
213
- activeForegroundIds.add(control.runId);
214
- if (control.parentWorkflowRunId && workflowParentIds.has(control.parentWorkflowRunId)
215
- && ((workflowForegroundChildCounts.get(control.parentWorkflowRunId) ?? 0) <= 1 || !liveWorkflowForegroundControls.has(control))) continue;
216
- if (control.activeChildren) {
217
- for (const child of [...control.activeChildren.values()].sort((left, right) => left.index - right.index)) {
218
- items.push({
219
- key: `foreground-active:${control.runId}:${child.index}`,
220
- kind: "foreground-active",
221
- runId: control.runId,
222
- index: child.index,
223
- agent: child.agent,
224
- state: "running",
225
- updatedAt: child.updatedAt,
226
- control,
227
- activeChild: child,
228
- ...(child.description ? { description: child.description } : {}),
229
- });
230
- }
231
- continue;
232
- }
233
- items.push({
234
- key: `foreground-active:${control.runId}:${control.currentIndex ?? 0}`,
235
- kind: "foreground-active",
236
- runId: control.runId,
237
- ...(control.currentIndex !== undefined ? { index: control.currentIndex } : {}),
238
- agent: control.currentAgent ?? control.mode,
239
- state: "running",
240
- updatedAt: control.updatedAt,
241
- control,
242
- ...(control.description ? { description: control.description } : {}),
243
- });
244
- }
245
-
246
- let error: string | undefined;
247
- try {
248
- let runs: AsyncRunSummary[];
249
- const descriptions = new Map<string, string>();
250
- const tracked = [...trackedJobs.values()]
251
- .filter((job) => belongsToCurrentSession(job.sessionId, state.currentSessionId));
252
- const byUpdate = (left: AsyncJobState, right: AsyncJobState) => (right.updatedAt ?? right.startedAt ?? 0) - (left.updatedAt ?? left.startedAt ?? 0);
253
- const active = tracked.filter((job) => job.status === "queued" || job.status === "running").sort(byUpdate);
254
- const recent = tracked.filter((job) => job.status !== "queued" && job.status !== "running").sort(byUpdate).slice(0, options.limit ?? MAX_RECENT_ASYNC_RUNS);
255
- const trackedRuns: AsyncRunSummary[] = [];
256
- for (const job of [...active, ...recent]) {
257
- try {
258
- trackedRuns.push(trackedJobSummary(job));
259
- if (job.description) descriptions.set(job.asyncId, job.description);
260
- } catch (cause) {
261
- error = `Failed to inspect async run '${job.asyncId}': ${cause instanceof Error ? cause.message : String(cause)}`;
262
- }
263
- }
264
- if (options.asyncDirRoot !== undefined) {
265
- const trackedIds = new Set(trackedRuns.map((run) => run.id));
266
- const history = listAsyncRuns(options.asyncDirRoot, {
267
- ...(state.currentSessionId ? { sessionId: state.currentSessionId } : {}),
268
- entryLimit: MAX_FLEET_HISTORY_CANDIDATES,
269
- resultsDir: options.resultsDir ?? DIRS.results,
270
- reconcile: false,
271
- }).filter((run) => !trackedIds.has(run.id));
272
- runs = [...trackedRuns, ...history];
273
- } else {
274
- runs = trackedRuns;
275
- }
276
- for (const run of orderFleetAsyncRuns(runs, options.limit ?? MAX_RECENT_ASYNC_RUNS)) {
277
- items.push(...asyncItems(run, descriptions.get(run.id)));
278
- }
279
- } catch (cause) {
280
- error = cause instanceof Error ? cause.message : String(cause);
281
- }
282
-
283
- if (state.currentSessionId) {
284
- try {
285
- for (const run of snapshotExternalRuns(state.currentSessionId, { ignoreMalformed: true, onMalformedRecord: (message) => console.warn(`[pi-subagents] Removed ${message}`) })) {
286
- items.push({
287
- key: `external:${run.id}`,
288
- kind: "external",
289
- runId: run.id,
290
- agent: run.label,
291
- state: run.state,
292
- updatedAt: run.updatedAt ?? run.endedAt ?? run.startedAt,
293
- run,
294
- ...(run.currentAction ? { description: run.currentAction } : {}),
295
- });
296
- }
297
- } catch (cause) {
298
- const message = `Failed to inspect external jobs: ${cause instanceof Error ? cause.message : String(cause)}`;
299
- error = error ? `${error}; ${message}` : message;
300
- }
301
- }
302
-
303
- const recentForeground = [...(state.foregroundRuns?.values() ?? [])]
304
- .filter((run) => belongsToCurrentSession(run.sessionId, state.currentSessionId) && !activeForegroundIds.has(run.runId))
305
- .sort((left, right) => right.updatedAt - left.updatedAt);
306
- for (const run of recentForeground) {
307
- for (const child of run.children) {
308
- items.push({
309
- key: `foreground-recent:${run.runId}:${child.index}`,
310
- kind: "foreground-recent",
311
- runId: run.runId,
312
- index: child.index,
313
- agent: child.agent,
314
- state: child.status,
315
- updatedAt: child.updatedAt ?? run.updatedAt,
316
- run,
317
- child,
318
- });
319
- }
320
- }
321
- return { items, ...(error ? { error } : {}) };
322
- }
323
-
324
- function visibleWorkflowParentKeyForForegroundKey(state: SubagentState, key: string, items: FleetItem[]): string | undefined {
325
- for (const control of state.foregroundControls.values()) {
326
- if (!control.parentWorkflowRunId) continue;
327
- let matches = false;
328
- if (control.activeChildren) {
329
- for (const child of control.activeChildren.values()) {
330
- if (`foreground-active:${control.runId}:${child.index}` === key) {
331
- matches = true;
332
- break;
333
- }
334
- }
335
- } else {
336
- matches = `foreground-active:${control.runId}:${control.currentIndex ?? 0}` === key;
337
- }
338
- if (!matches) continue;
339
- const parentKey = `async:${control.parentWorkflowRunId}`;
340
- return items.some((item) => item.key === parentKey) ? parentKey : undefined;
341
- }
342
- return undefined;
343
- }
344
-
345
- function statusGlyph(item: FleetItem, theme: Theme): string {
346
- if (item.state === "running") return theme.fg("accent", "●");
347
- if (item.state === "queued" || item.state === "pending") return theme.fg("muted", "◦");
348
- if (item.state === "complete" || item.state === "completed") return theme.fg("success", "✓");
349
- if (item.state === "paused" || item.state === "stopped" || item.state === "detached") return theme.fg("warning", "■");
350
- return theme.fg("error", "✗");
351
- }
352
-
353
- function foregroundPromptAuditCount(item: Extract<FleetItem, { kind: "foreground-active" }>, state: SubagentState): number {
354
- if (!state.currentSessionId || item.control.sessionId !== state.currentSessionId) return 0;
355
- if (!item.control.activeChildren) return getLivePromptAudit(item.control, item.index ?? 0) ? 1 : 0;
356
- return [...item.control.activeChildren.keys()].filter((index) => getLivePromptAudit(item.control, index)).length;
357
- }
358
-
359
- function promptAuditString(value: unknown): string | undefined {
360
- return typeof value === "string" ? value : undefined;
361
- }
362
-
363
- function authoredPromptSummary(text: unknown): string | undefined {
364
- if (typeof text !== "string") return undefined;
365
- const summary = text.replace(/\s+/g, " ").trim();
366
- return summary ? truncateToWidth(summary, PROMPT_AUDIT_SUMMARY_WIDTH, "…") : undefined;
367
- }
368
-
369
- function foregroundAuthoredPromptSummary(item: Extract<FleetItem, { kind: "foreground-active" }>, state: SubagentState): string | undefined {
370
- if (!state.currentSessionId || item.control.sessionId !== state.currentSessionId) return undefined;
371
- const prompt = getLivePromptAudit(item.control, item.index ?? 0);
372
- return prompt ? authoredPromptSummary(prompt.authoredTask) : undefined;
373
- }
374
-
375
- function promptAuditText(prompt: LivePromptAudit, view: PromptAuditView): string | undefined {
376
- switch (view) {
377
- case "authored": return promptAuditString(prompt.authoredTask);
378
- case "runtime": return promptAuditString(prompt.runtimeAdditions);
379
- case "effective": return promptAuditString(prompt.finalEffectivePrompt);
380
- }
381
- }
382
-
383
- function promptAuditViewLabel(view: PromptAuditView): string {
384
- switch (view) {
385
- case "authored": return "[1] Authored task";
386
- case "runtime": return "[2] Runtime additions";
387
- case "effective": return "[3] Final effective prompt";
388
- }
389
- }
390
-
391
- function foregroundActiveDetail(item: Extract<FleetItem, { kind: "foreground-active" }>, state: SubagentState): string[] {
392
- const { control } = item;
393
- const live = item.activeChild ?? control;
394
- const modelThinking = formatModelThinking(live.model, live.thinking);
395
- const promptAuditCount = foregroundPromptAuditCount(item, state);
396
- const promptSummary = foregroundAuthoredPromptSummary(item, state);
397
- const lines = [
398
- `Run: ${item.runId}`,
399
- "Source: foreground",
400
- `State: running`,
401
- `Mode: ${control.mode}`,
402
- control.parentWorkflowRunId ? `Workflow child of: ${control.parentWorkflowRunId}${control.workflowKey ? ` (${control.workflowKey})` : ""}` : undefined,
403
- control.sourceRunId ? `Redo source: ${control.sourceRunId}` : undefined,
404
- control.supersededByRunId ? `Superseded by: ${control.supersededByRunId}` : undefined,
405
- item.index !== undefined ? `Child: ${item.index} (${item.agent})` : `Agent: ${item.agent}`,
406
- modelThinking ? `Model: ${modelThinking}` : undefined,
407
- promptSummary ? `Task: ${promptSummary}` : undefined,
408
- `Started: ${new Date(live.startedAt).toISOString()}`,
409
- live.currentTool ? `Current tool: ${live.currentTool}${live.currentPath ? ` · ${shortenPath(live.currentPath)}` : ""}` : undefined,
410
- live.turnCount !== undefined ? `Turns: ${live.turnCount}` : undefined,
411
- live.toolCount !== undefined ? `Tools: ${live.toolCount}` : undefined,
412
- live.tokens !== undefined
413
- ? `Tokens: ${formatTokenUsage({ input: live.inputTokens ?? 0, output: live.outputTokens ?? 0, total: live.tokens, ...(live.window !== undefined ? { window: live.window } : {}), ...(live.windowPeak !== undefined ? { windowPeak: live.windowPeak } : {}) }, "tokens")}`
414
- : undefined,
415
- promptAuditCount > 0 ? `Prompt audit: ${promptAuditCount} live · 3 views · p opens` : undefined,
416
- "",
417
- "Transcript",
418
- "Live foreground output remains in the expanded subagent tool result. Persisted output and session paths appear here after the child settles.",
419
- ];
420
- return lines.filter((line): line is string => line !== undefined);
421
- }
422
-
423
- function pathWithin(base: string, candidate: string): boolean {
424
- const resolvedBase = path.resolve(base);
425
- const resolvedCandidate = path.resolve(candidate);
426
- return resolvedCandidate === resolvedBase || resolvedCandidate.startsWith(`${resolvedBase}${path.sep}`);
427
- }
428
-
429
- function trustedFileTail(filePath: string, trustedRoots: string[]): { text?: string; warning?: string; unavailable?: string } {
430
- const resolvedPath = path.resolve(filePath);
431
- if (trustedRoots.length === 0 || !trustedRoots.some((root) => pathWithin(root, resolvedPath))) return { warning: `output artifact is outside trusted roots: ${filePath}` };
432
- let stat: fs.Stats;
433
- try {
434
- stat = fs.lstatSync(resolvedPath);
435
- } catch (error) {
436
- if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") return { unavailable: `output artifact unavailable: ${filePath}` };
437
- return { warning: `output artifact could not be inspected: ${error instanceof Error ? error.message : String(error)}` };
438
- }
439
- if (stat.isSymbolicLink()) return { warning: `output artifact refused a symlink: ${filePath}` };
440
- if (!stat.isFile()) return { warning: `output artifact is not a file: ${filePath}` };
441
- try {
442
- const realPath = fs.realpathSync(resolvedPath);
443
- const realRoots = trustedRoots.filter((root) => fs.existsSync(root)).map((root) => fs.realpathSync(root));
444
- if (!realRoots.some((root) => pathWithin(root, realPath))) return { warning: `output artifact resolves outside trusted roots: ${filePath}` };
445
- const fd = fs.openSync(realPath, "r");
446
- try {
447
- const bytes = Math.min(stat.size, OUTPUT_TAIL_BYTES);
448
- const buffer = Buffer.alloc(bytes);
449
- fs.readSync(fd, buffer, 0, bytes, stat.size - bytes);
450
- return { text: decodeUtf8Tail(buffer) };
451
- } finally {
452
- fs.closeSync(fd);
453
- }
454
- } catch (error) {
455
- return { warning: `output artifact could not be read: ${error instanceof Error ? error.message : String(error)}` };
456
- }
457
- }
458
-
459
- function foregroundRecentOutputLines(item: Extract<FleetItem, { kind: "foreground-recent" }>, state: SubagentState): string[] {
460
- const outputPath = item.child.artifactPaths?.outputPath ?? item.child.savedOutputPath;
461
- const output = item.child.finalOutput
462
- ? { text: item.child.finalOutput }
463
- : outputPath
464
- ? trustedFileTail(path.isAbsolute(outputPath) ? outputPath : path.resolve(item.run.cwd, outputPath), uniquePaths([
465
- fleetArtifactsRoot(state, item.run.cwd),
466
- fleetArtifactsRoot(state, state.baseCwd),
467
- ]))
468
- : undefined;
469
- if (output?.warning) return [`(${output.warning})`];
470
- if (output?.unavailable) return [`(${output.unavailable})`];
471
- const outputLines = (output?.text ?? "").split(/\r?\n/).filter((line) => line.trim()).slice(-TRANSCRIPT_LINES);
472
- return outputLines.length ? outputLines : ["(no recovered output available)"];
473
- }
474
-
475
- function foregroundRecentDetail(item: Extract<FleetItem, { kind: "foreground-recent" }>, state: SubagentState): string[] {
476
- const { child, run } = item;
477
- const outputPath = child.artifactPaths?.outputPath ?? child.savedOutputPath;
478
- const modelThinking = formatModelThinking(child.model, child.thinking);
479
- const lines = [
480
- `Run: ${item.runId}`,
481
- "Source: foreground",
482
- `State: ${child.status}`,
483
- `Mode: ${run.mode}`,
484
- `Child: ${child.index} (${child.agent})${contextModeLabel(child.context) ? ` ${contextModeLabel(child.context)}` : ""}`,
485
- modelThinking ? `Model: ${modelThinking}` : undefined,
486
- `Updated: ${new Date(child.updatedAt ?? run.updatedAt).toISOString()}`,
487
- outputPath ? `Output: ${outputPath}` : undefined,
488
- child.sessionFile ? `Session: ${child.sessionFile}` : undefined,
489
- child.transcriptPath ? `Transcript file: ${child.transcriptPath}` : undefined,
490
- child.error ? `Error: ${child.error}` : undefined,
491
- child.outputSaveError ? `Output warning: ${child.outputSaveError}` : undefined,
492
- child.transcriptError ? `Transcript warning: ${child.transcriptError}` : undefined,
493
- "",
494
- "Result transcript tail",
495
- ];
496
- lines.push(...foregroundRecentOutputLines(item, state));
497
- return lines.filter((line): line is string => line !== undefined);
498
- }
499
-
500
- function externalElapsedEnd(run: ExternalRun): number {
501
- const terminal = run.state !== "queued" && run.state !== "running";
502
- return terminal ? (run.endedAt ?? run.updatedAt ?? Date.now()) : Date.now();
503
- }
504
-
505
- function workflowStepLabel(step: AsyncJobStep, index: number): string {
506
- const key = step.workflowKey ?? `step ${index + 1}`;
507
- const label = step.label && step.label !== key ? ` · ${step.label}` : "";
508
- const phase = step.phase ? `${step.phase}: ` : "";
509
- return `${phase}${key}${label} (${step.agent})`;
510
- }
511
-
512
- function workflowStepActivity(step: AsyncJobStep): string | undefined {
513
- if (step.currentTool) return `tool ${step.currentTool}`;
514
- if (step.currentPath) return shortenPath(step.currentPath);
515
- if (step.activityState === "needs_attention") return "needs attention";
516
- if (step.activityState === "active_long_running") return "long-running";
517
- if (step.turnCount !== undefined) return `${step.turnCount} turns`;
518
- if (step.toolCount !== undefined) return `${step.toolCount} tools`;
519
- return undefined;
520
- }
521
-
522
- function visibleWorkflowProgressSteps(steps: AsyncJobStep[], visibleLimit: number): Array<{ step: AsyncJobStep; index: number } | { hidden: number }> {
523
- if (steps.length <= visibleLimit) return steps.map((step, index) => ({ step, index }));
524
- const selected = new Set<number>();
525
- for (const [index, step] of steps.entries()) {
526
- if (step.status !== "complete" && step.status !== "completed") selected.add(index);
527
- if (selected.size >= visibleLimit) break;
528
- }
529
- for (let index = steps.length - 1; index >= 0 && selected.size < visibleLimit; index--) selected.add(index);
530
- const visible = [...selected].sort((left, right) => left - right).map((index) => ({ step: steps[index]!, index }));
531
- return [{ hidden: steps.length - visible.length }, ...visible];
532
- }
533
-
534
- function workflowProgressLines(steps: AsyncJobStep[] | undefined): string[] {
535
- if (!steps?.length) return [];
536
- const lines = ["Workflow progress:"];
537
- for (const row of visibleWorkflowProgressSteps(steps, 8)) {
538
- if ("hidden" in row) {
539
- lines.push(` +${row.hidden} hidden workflow steps`);
540
- continue;
541
- }
542
- const activity = workflowStepActivity(row.step);
543
- const context = contextModeLabel(row.step.context);
544
- const details = [row.step.status, activity, context, row.step.tokens ? formatTokenUsage(row.step.tokens) : undefined].filter(Boolean).join(" · ");
545
- lines.push(` ${row.index + 1}. ${workflowStepLabel(row.step, row.index)}${details ? ` — ${details}` : ""}`);
546
- }
547
- return lines;
548
- }
549
-
550
- function asyncDetail(item: Extract<FleetItem, { kind: "async" }>, state: SubagentState): string[] {
551
- const status = readStatus(item.run.asyncDir);
552
- if (status) {
553
- const trackedJob = state.fleetJobs?.get(item.runId) ?? state.asyncJobs.get(item.runId);
554
- const lines = formatAsyncRunTranscript(status, item.run.asyncDir, {
555
- index: item.index,
556
- lines: TRANSCRIPT_LINES,
557
- sessionRoots: uniquePaths([...(state.trustedSessionRoots ?? []), trackedJob?.sessionRoot]),
558
- trustedSessionFiles: [item.step?.sessionFile ?? item.run.sessionFile].filter((value): value is string => Boolean(value)),
559
- trustedSessionFileRoot: state.trustedSessionFileRoot,
560
- }).split("\n");
561
- if (status.mode === "workflow" && item.index === undefined) {
562
- const progress = workflowProgressLines((status.steps ?? item.run.steps) as AsyncJobStep[]);
563
- if (progress.length) {
564
- const modeIndex = lines.findIndex((line) => line.startsWith("Mode:"));
565
- lines.splice(modeIndex >= 0 ? modeIndex + 1 : 0, 0, "", ...progress);
566
- }
567
- }
568
- return lines;
569
- }
570
- const outputPath = item.index !== undefined ? path.join(item.run.asyncDir, `output-${item.index}.log`) : undefined;
571
- return [
572
- `Run: ${item.runId}`,
573
- "Source: async",
574
- `State: ${item.state}`,
575
- `Mode: ${item.run.mode}${contextModeLabel(item.run.context) ? ` ${contextModeLabel(item.run.context)}` : ""}`,
576
- item.index !== undefined ? `Child: ${item.index} (${item.agent})${contextModeLabel(item.step?.context) ? ` ${contextModeLabel(item.step?.context)}` : ""}` : `Agent: ${item.agent}${contextModeLabel(item.run.context) ? ` ${contextModeLabel(item.run.context)}` : ""}`,
577
- outputPath ? `Output: ${outputPath}` : undefined,
578
- item.step?.sessionFile ? `Session: ${item.step.sessionFile}` : item.run.sessionFile ? `Session: ${item.run.sessionFile}` : undefined,
579
- "",
580
- "Transcript",
581
- "(status is no longer available)",
582
- ].filter((line): line is string => line !== undefined);
583
- }
584
-
585
- function externalDetail(item: Extract<FleetItem, { kind: "external" }>): string[] {
586
- return [
587
- `Run: ${item.runId}`,
588
- "Source: external · display-only",
589
- `Owner: ${item.run.source}`,
590
- `State: ${item.state}`,
591
- `Started: ${new Date(item.run.startedAt).toISOString()}`,
592
- item.run.updatedAt !== undefined ? `Updated: ${new Date(item.run.updatedAt).toISOString()}` : undefined,
593
- item.run.endedAt !== undefined ? `Ended: ${new Date(item.run.endedAt).toISOString()}` : undefined,
594
- `Elapsed: ${formatDuration(Math.max(0, externalElapsedEnd(item.run) - item.run.startedAt))}`,
595
- item.run.currentAction ? `Current action: ${item.run.currentAction}` : undefined,
596
- item.run.reportPath ? `Report path: ${item.run.reportPath}` : undefined,
597
- item.run.transcriptPath ? `Transcript path: ${item.run.transcriptPath}` : undefined,
598
- "",
599
- "Preview",
600
- item.run.preview ?? "(no preview supplied)",
601
- "",
602
- "The owning extension controls execution, persistence, cancellation, and results.",
603
- ].filter((line): line is string => line !== undefined);
604
- }
605
-
606
- function detailLines(item: FleetItem | undefined, error: string | undefined, state: SubagentState): string[] {
607
- if (!item) return [error ? `Fleet scan failed: ${error}` : "No current-session Fleet jobs.", "", "New jobs appear here automatically while this inspector remains open."];
608
- const lines = item.kind === "foreground-active"
609
- ? foregroundActiveDetail(item, state)
610
- : item.kind === "foreground-recent"
611
- ? foregroundRecentDetail(item, state)
612
- : item.kind === "external"
613
- ? externalDetail(item)
614
- : asyncDetail(item, state);
615
- if (error) lines.unshift(`Fleet scan warning: ${error}`, "");
616
- return lines;
617
- }
618
-
619
- function isActionableAsyncState(state: string): boolean {
620
- return state === "running" || state === "queued" || state === "pending";
621
- }
622
-
623
- function firstToolResultText(result: AgentToolResult<Details> | null, fallback: string): FleetActionResult {
624
- if (!result) return { text: fallback, isError: true };
625
- const text = result.content.find((item) => item.type === "text")?.text ?? fallback;
626
- return { text, ...(result.isError ? { isError: true } : {}) };
627
- }
628
-
629
- function uniquePaths(values: Array<string | undefined>): string[] {
630
- return [...new Set(values.filter((value): value is string => Boolean(value)).map((value) => path.resolve(value)))];
631
- }
632
-
633
- function fleetArtifactsRoot(state: SubagentState, cwd: string): string {
634
- return getArtifactsDir(
635
- state.parentSessionFile ?? null,
636
- cwd,
637
- state.artifactDirPreference,
638
- );
639
- }
640
-
641
- function transcriptTarget(item: FleetItem, state: SubagentState): { path: string; trustedRoots: string[]; trustedFiles?: string[]; trustedFileRoot?: string } | undefined {
642
- if (item.kind === "external") return undefined;
643
- if (item.kind === "foreground-active") {
644
- const artifactsRoot = fleetArtifactsRoot(state, item.control.cwd ?? state.baseCwd);
645
- return {
646
- path: getArtifactPaths(artifactsRoot, item.runId, item.agent, item.index ?? 0).transcriptPath,
647
- trustedRoots: [artifactsRoot],
648
- };
649
- }
650
- if (item.kind === "foreground-recent") {
651
- if (!item.child.transcriptPath) return undefined;
652
- const transcriptPath = path.isAbsolute(item.child.transcriptPath)
653
- ? item.child.transcriptPath
654
- : path.resolve(item.run.cwd, item.child.transcriptPath);
655
- return {
656
- path: transcriptPath,
657
- trustedRoots: uniquePaths([
658
- fleetArtifactsRoot(state, item.run.cwd),
659
- fleetArtifactsRoot(state, state.baseCwd),
660
- ]),
661
- };
662
- }
663
- const step = item.step ?? (item.run.steps.length === 1 ? item.run.steps[0] : undefined);
664
- const recordedSessionFile = step?.sessionFile ?? item.run.sessionFile;
665
- const recordedPath = step?.transcriptPath ?? recordedSessionFile;
666
- if (!recordedPath) return undefined;
667
- const transcriptPath = path.isAbsolute(recordedPath)
668
- ? recordedPath
669
- : path.resolve(item.run.asyncDir, recordedPath);
670
- const trackedJob = state.fleetJobs?.get(item.runId) ?? state.asyncJobs.get(item.runId);
671
- return {
672
- path: transcriptPath,
673
- trustedRoots: uniquePaths([
674
- item.run.asyncDir,
675
- fleetArtifactsRoot(state, state.baseCwd),
676
- trackedJob?.cwd ? fleetArtifactsRoot(state, trackedJob.cwd) : undefined,
677
- item.run.sessionFile ? getArtifactsDir(item.run.sessionFile, item.run.cwd ?? state.baseCwd, state.artifactDirPreference) : undefined,
678
- ]),
679
- ...(!step?.transcriptPath && recordedSessionFile ? { trustedFiles: [recordedSessionFile], trustedFileRoot: state.trustedSessionFileRoot } : {}),
680
- };
681
- }
682
-
683
- function itemContext(item: FleetItem): string | undefined {
684
- if (item.kind === "async") return contextModeLabel(item.step?.context ?? item.run.context);
685
- if (item.kind === "foreground-recent") return contextModeLabel(item.child.context);
686
- return undefined;
687
- }
688
-
689
- function itemMode(item: FleetItem): string {
690
- if (item.kind === "external") return "display-only";
691
- return item.kind === "foreground-active" ? item.control.mode : item.run.mode;
692
- }
693
-
694
- function itemSource(item: FleetItem): string {
695
- if (item.kind === "external") return `external · ${item.run.source}`;
696
- if (item.kind === "async") return "background";
697
- return item.kind === "foreground-active" ? "foreground · live" : "foreground · recent";
698
- }
699
-
700
- function itemStats(item: FleetItem): string[] {
701
- let model: string | undefined;
702
- let tokens: number | undefined;
703
- let tokenUsage: AsyncJobStep["tokens"];
704
- let tools: number | undefined;
705
- let durationMs: number | undefined;
706
- if (item.kind === "foreground-active") {
707
- const live = item.activeChild ?? item.control;
708
- model = formatModelThinking(live.model, live.thinking) || undefined;
709
- tokens = live.tokens;
710
- if (tokens !== undefined) tokenUsage = { input: live.inputTokens ?? 0, output: live.outputTokens ?? 0, total: tokens, ...(live.window !== undefined ? { window: live.window } : {}), ...(live.windowPeak !== undefined ? { windowPeak: live.windowPeak } : {}) };
711
- tools = live.toolCount;
712
- durationMs = Math.max(0, Date.now() - live.startedAt);
713
- } else if (item.kind === "foreground-recent") {
714
- model = formatModelThinking(item.child.model, item.child.thinking) || undefined;
715
- tokens = item.child.tokens;
716
- if (tokens !== undefined) tokenUsage = { input: 0, output: 0, total: tokens, ...(item.child.window !== undefined ? { window: item.child.window } : {}), ...(item.child.windowPeak !== undefined ? { windowPeak: item.child.windowPeak } : {}) };
717
- tools = item.child.toolCount;
718
- } else if (item.kind === "external") {
719
- durationMs = Math.max(0, externalElapsedEnd(item.run) - item.run.startedAt);
720
- } else {
721
- model = formatModelThinking(item.step?.model, item.step?.thinking) || undefined;
722
- tokenUsage = item.step?.tokens ?? (item.index === undefined ? item.run.totalTokens : undefined);
723
- tokens = tokenUsage?.total;
724
- tools = item.step?.toolCount ?? (item.index === undefined ? item.run.toolCount : undefined);
725
- const terminalRun = item.state !== "queued" && item.state !== "running" && item.state !== "pending";
726
- const endTime = item.run.endedAt ?? (terminalRun ? item.run.lastUpdate : undefined) ?? Date.now();
727
- durationMs = item.step?.durationMs ?? Math.max(0, endTime - item.run.startedAt);
728
- }
729
- return [
730
- model,
731
- tokenUsage ? formatTokenUsage(tokenUsage) : tokens !== undefined ? `${formatTokens(tokens)} tok` : undefined,
732
- tools !== undefined ? `${tools} tool${tools === 1 ? "" : "s"}` : undefined,
733
- durationMs !== undefined ? formatDuration(durationMs) : undefined,
734
- ].filter((value): value is string => Boolean(value));
735
- }
736
-
737
- function structuredHeader(item: FleetItem, width: number, theme: Theme, conversationState: string, promptSummary?: string): string[] {
738
- const lines: string[] = [];
739
- lines.push(rightAligned(` ${statusGlyph(item, theme)} ${theme.bold(item.agent)}`, theme.fg("dim", item.state), width));
740
- const child = "index" in item && item.index !== undefined ? ` · child ${item.index + 1}` : "";
741
- const context = itemContext(item);
742
- const identity = `${itemSource(item)} · ${item.runId.slice(0, 8)}${child} · ${itemMode(item)}${context ? ` ${context}` : ""}`;
743
- lines.push(` ${theme.fg("dim", identity)}`);
744
- const stats = itemStats(item);
745
- if (stats.length) lines.push(` ${theme.fg("muted", stats.join(" · "))}`);
746
- if (promptSummary) lines.push(` ${theme.fg("muted", `Task: ${promptSummary}`)}`);
747
- lines.push(`${theme.fg("accent", "Conversation")} ${theme.fg("dim", `· ${conversationState}`)}`);
748
- return lines.map((line) => truncateToWidth(line, width));
749
- }
750
-
751
- function fit(text: string, width: number): string {
752
- const clipped = truncateToWidth(text, Math.max(0, width));
753
- return clipped + " ".repeat(Math.max(0, width - visibleWidth(clipped)));
754
- }
755
-
756
- function rightAligned(left: string, right: string, width: number): string {
757
- const rightWidth = visibleWidth(right);
758
- const leftWidth = Math.max(0, width - rightWidth - 1);
759
- return fit(left, leftWidth) + " ".repeat(Math.max(1, width - leftWidth - rightWidth)) + fit(right, rightWidth);
760
- }
761
-
762
- interface FleetDetailSections {
763
- header: string[];
764
- body: string[];
765
- }
766
-
767
- interface FleetTranscriptCache {
768
- path: string;
769
- fingerprint: string;
770
- width: number;
771
- expandedTools: boolean;
772
- transcript: FleetTranscript;
773
- body: string[];
774
- }
775
-
776
- function transcriptFingerprint(filePath: string): string {
777
- try {
778
- const stat = fs.statSync(filePath);
779
- return `${stat.size}:${stat.mtimeMs}`;
780
- } catch {
781
- return "missing";
782
- }
783
- }
784
-
785
- export class SubagentFleetComponent implements Component {
786
- private snapshot: FleetSnapshot = { items: [] };
787
- private selected = 0;
788
- private selectedKey: string | undefined;
789
- private detailScroll = 0;
790
- private detailAutoFollow = true;
791
- private detailLineCount = 0;
792
- private detailViewportHeight = 8;
793
- private bodyHeight = 8;
794
- private expandedTools = false;
795
- private promptAuditOpen = false;
796
- private promptAuditView: PromptAuditView = "authored";
797
- private actionNotice: FleetActionResult | undefined;
798
- private steerDraft: string | undefined;
799
- private redoGuidanceDraft: string | undefined;
800
- private steerMode: SteerDeliveryMode = "steer";
801
- private stopConfirming = false;
802
- private actionBusy = false;
803
- private transcriptCache: FleetTranscriptCache | undefined;
804
- private disposed = false;
805
- private refreshTimer: ReturnType<typeof setTimeout> | undefined;
806
- private readonly refreshMs: number;
807
- private readonly tui: FleetTui;
808
- private readonly theme: Theme;
809
- private readonly markdownTheme: MarkdownTheme;
810
- private readonly state: SubagentState;
811
- private readonly done: (result: undefined) => void;
812
- private readonly options: FleetViewOptions;
813
- private readonly keybindings: ResolvedFleetKeybindings;
814
-
815
- constructor(
816
- tui: FleetTui,
817
- theme: Theme,
818
- state: SubagentState,
819
- done: (result: undefined) => void,
820
- options: FleetViewOptions = {},
821
- ) {
822
- this.tui = tui;
823
- this.theme = theme;
824
- this.markdownTheme = options.markdownTheme ?? getMarkdownTheme();
825
- this.state = state;
826
- this.done = done;
827
- this.options = options;
828
- this.keybindings = resolveFleetKeybindings(options.fleetKeybindings);
829
- this.refreshMs = Math.max(MIN_REFRESH_MS, options.refreshMs ?? REFRESH_MS);
830
- this.selectedKey = options.initialKey;
831
- this.refresh();
832
- this.scheduleRefresh();
833
- }
834
-
835
- private scheduleRefresh(): void {
836
- if (this.disposed || this.refreshTimer) return;
837
- this.refreshTimer = setTimeout(() => {
838
- this.refreshTimer = undefined;
839
- if (this.disposed) return;
840
- try {
841
- this.invalidate();
842
- this.tui.requestRender();
843
- } finally {
844
- this.scheduleRefresh();
845
- }
846
- }, this.refreshMs);
847
- this.refreshTimer.unref?.();
848
- }
849
-
850
- private stopRefresh(): void {
851
- this.disposed = true;
852
- if (this.refreshTimer) clearTimeout(this.refreshTimer);
853
- this.refreshTimer = undefined;
854
- }
855
-
856
- private refresh(): void {
857
- const previousKey = this.snapshot.items[this.selected]?.key ?? this.selectedKey;
858
- this.snapshot = collectFleetSnapshot(this.state, this.options);
859
- let preserved = previousKey ? this.snapshot.items.findIndex((item) => item.key === previousKey) : -1;
860
- if (preserved < 0 && previousKey) {
861
- const parentKey = visibleWorkflowParentKeyForForegroundKey(this.state, previousKey, this.snapshot.items);
862
- if (parentKey) preserved = this.snapshot.items.findIndex((item) => item.key === parentKey);
863
- }
864
- this.selected = preserved >= 0 ? preserved : Math.min(this.selected, Math.max(0, this.snapshot.items.length - 1));
865
- this.selectedKey = this.snapshot.items[this.selected]?.key;
866
- }
867
-
868
- private moveSelection(delta: number): void {
869
- if (this.snapshot.items.length === 0) return;
870
- this.selected = Math.max(0, Math.min(this.snapshot.items.length - 1, this.selected + delta));
871
- this.selectedKey = this.snapshot.items[this.selected]?.key;
872
- this.detailAutoFollow = true;
873
- this.resetActionInput();
874
- this.tui.requestRender();
875
- }
876
-
877
- private selectedPromptAudit(): LivePromptAudit | undefined {
878
- const item = this.snapshot.items[this.selected];
879
- if (item?.kind !== "foreground-active") return undefined;
880
- if (!this.state.currentSessionId || item.control.sessionId !== this.state.currentSessionId) return undefined;
881
- return getLivePromptAudit(item.control, item.index ?? 0);
882
- }
883
-
884
- private promptAuditItems(): Array<{ item: Extract<FleetItem, { kind: "foreground-active" }>; prompt: LivePromptAudit }> {
885
- const selected = this.snapshot.items[this.selected];
886
- if (selected?.kind !== "foreground-active" || !this.state.currentSessionId || selected.control.sessionId !== this.state.currentSessionId) return [];
887
- return this.snapshot.items.flatMap((item) => {
888
- if (item.kind !== "foreground-active" || item.control !== selected.control) return [];
889
- const prompt = getLivePromptAudit(item.control, item.index ?? 0);
890
- return prompt ? [{ item, prompt }] : [];
891
- });
892
- }
893
-
894
- private selectedPromptText(): string | undefined {
895
- const prompt = this.selectedPromptAudit();
896
- return prompt ? promptAuditText(prompt, this.promptAuditView) : undefined;
897
- }
898
-
899
- private movePromptSelection(delta: number): void {
900
- const items = this.promptAuditItems();
901
- if (items.length === 0) return;
902
- const currentKey = this.snapshot.items[this.selected]?.key;
903
- const current = Math.max(0, items.findIndex(({ item }) => item.key === currentKey));
904
- const target = items[Math.max(0, Math.min(items.length - 1, current + delta))]?.item;
905
- if (!target) return;
906
- this.selected = this.snapshot.items.findIndex((item) => item.key === target.key);
907
- this.selectedKey = target.key;
908
- this.detailScroll = 0;
909
- this.detailAutoFollow = false;
910
- this.tui.requestRender();
911
- }
912
-
913
- private resetActionInput(): void {
914
- this.steerDraft = undefined;
915
- this.redoGuidanceDraft = undefined;
916
- this.steerMode = "steer";
917
- this.stopConfirming = false;
918
- }
919
-
920
- private selectedAsyncAction(): { item: Extract<FleetItem, { kind: "async" }> } | { reason: string } {
921
- const item = this.snapshot.items[this.selected];
922
- if (!item) return { reason: "No child is selected." };
923
- if (item.kind === "external") return { reason: "External jobs are display-only and remain controlled by their owning extension." };
924
- if (item.kind !== "async") return { reason: "Fleet controls are available for current-session top-level async runs only." };
925
- if (!isActionableAsyncState(item.run.state) || !isActionableAsyncState(item.state)) return { reason: `Selected child is ${item.state}; controls require a running or queued async child.` };
926
- return { item };
927
- }
928
-
929
- private selectedSteerAction(): { runId: string; asyncDir: string; index?: number } | { reason: string } {
930
- const item = this.snapshot.items[this.selected];
931
- if (item?.kind === "foreground-active" && item.control.parentWorkflowRunId) {
932
- const parent = this.state.asyncJobs.get(item.control.parentWorkflowRunId) ?? this.state.fleetJobs?.get(item.control.parentWorkflowRunId);
933
- if (!parent || !isActionableAsyncState(parent.status)) return { reason: "The parent workflow is no longer available for steering." };
934
- return { runId: item.runId, asyncDir: parent.asyncDir, ...(item.index !== undefined ? { index: item.index } : {}) };
935
- }
936
- const target = this.selectedAsyncAction();
937
- if ("reason" in target) return target;
938
- return { runId: target.item.runId, asyncDir: target.item.run.asyncDir, ...(target.item.index !== undefined ? { index: target.item.index } : {}) };
939
- }
940
-
941
- private selectedHerdrInspectAction(): { runId: string; asyncDir: string; index?: number } | { reason: string } {
942
- const item = this.snapshot.items[this.selected];
943
- if (!item) return { reason: "No child is selected." };
944
- if (item.kind === "external") return { reason: "External jobs are display-only and have no Herdr controls." };
945
- if (item.kind === "async") {
946
- if (!isActionableAsyncState(item.run.state) || !isActionableAsyncState(item.state)) return { reason: `Selected child is ${item.state}; controls require a running or queued async child.` };
947
- return { runId: item.runId, asyncDir: item.run.asyncDir, ...(item.index !== undefined ? { index: item.index } : {}) };
948
- }
949
- if (item.kind !== "foreground-active" || !item.control.parentWorkflowRunId) return { reason: "Fleet controls are available for current-session top-level async runs only." };
950
- const parent = this.state.asyncJobs.get(item.control.parentWorkflowRunId) ?? this.state.fleetJobs?.get(item.control.parentWorkflowRunId);
951
- if (!parent || !isActionableAsyncState(parent.status)) return { reason: "The parent workflow is no longer available for Herdr inspection." };
952
- return { runId: parent.asyncId, asyncDir: parent.asyncDir };
953
- }
954
-
955
- private actionLines(): string[] {
956
- const lines: string[] = [];
957
- if (this.actionBusy) lines.push(this.theme.fg("accent", "Action pending..."));
958
- if (this.steerDraft !== undefined) {
959
- lines.push(this.theme.fg("accent", `Steer message (${this.steerMode}): ${this.steerDraft}${this.theme.fg("dim", "▌")}`));
960
- lines.push(this.theme.fg("dim", "Enter sends · Tab changes mode · Esc cancels · Backspace edits"));
961
- } else if (this.redoGuidanceDraft !== undefined) {
962
- lines.push(this.theme.fg("accent", `Redo guidance: ${this.redoGuidanceDraft}${this.theme.fg("dim", "▌")}`));
963
- lines.push(this.theme.fg("dim", "Enter rewrites and reruns · Esc cancels · Backspace edits"));
964
- } else if (this.stopConfirming) {
965
- const selected = this.snapshot.items[this.selected];
966
- lines.push(this.theme.fg("warning", `Confirm stop for async run ${selected?.runId ?? "selected run"}?`));
967
- lines.push(this.theme.fg("dim", "Stop ends the run; use interrupt for a resumable pause. Enter/Y confirms · N returns · Esc cancels"));
968
- } else if (this.actionNotice) {
969
- lines.push(this.theme.fg(this.actionNotice.isError ? "error" : "success", this.actionNotice.text));
970
- }
971
- return lines;
972
- }
973
-
974
- private withActionLines(body: string[]): string[] {
975
- const actionLines = this.actionLines();
976
- return actionLines.length ? [...actionLines, "", ...body] : body;
977
- }
978
-
979
- private setActionNotice(result: FleetActionResult): void {
980
- this.actionNotice = result;
981
- this.resetActionInput();
982
- this.detailAutoFollow = false;
983
- this.detailScroll = 0;
984
- this.refresh();
985
- this.tui.requestRender();
986
- }
987
-
988
- private runAction(action: () => Promise<FleetActionResult>): void {
989
- if (this.actionBusy) return;
990
- this.actionBusy = true;
991
- this.actionNotice = undefined;
992
- this.tui.requestRender();
993
- void action()
994
- .then((result) => this.setActionNotice(result))
995
- .catch((error) => this.setActionNotice({ text: error instanceof Error ? error.message : String(error), isError: true }))
996
- .finally(() => {
997
- this.actionBusy = false;
998
- if (!this.disposed) this.tui.requestRender();
999
- });
1000
- }
1001
-
1002
- private scrollDetail(delta: number): void {
1003
- const maxScroll = Math.max(0, this.detailLineCount - this.detailViewportHeight);
1004
- this.detailScroll = Math.max(0, Math.min(maxScroll, this.detailScroll + delta));
1005
- this.detailAutoFollow = this.detailScroll >= maxScroll;
1006
- this.tui.requestRender();
1007
- }
1008
-
1009
- handleInput(data: string): void {
1010
- if (this.promptAuditOpen && this.redoGuidanceDraft !== undefined) {
1011
- if (matchesKey(data, "escape") || matchesKey(data, "ctrl+c")) {
1012
- this.resetActionInput();
1013
- this.tui.requestRender();
1014
- return;
1015
- }
1016
- if (matchesKey(data, "return") || data === "\r" || data === "\n") {
1017
- const guidance = this.redoGuidanceDraft.trim();
1018
- if (!guidance) {
1019
- this.setActionNotice({ text: "Redo guidance cannot be empty.", isError: true });
1020
- return;
1021
- }
1022
- const selected = this.snapshot.items[this.selected];
1023
- if (selected?.kind !== "foreground-active" || !this.options.actions?.redoPrompt) {
1024
- this.setActionNotice({ text: "Redo is unavailable for this prompt.", isError: true });
1025
- return;
1026
- }
1027
- this.runAction(() => this.options.actions!.redoPrompt!({ runId: selected.runId, index: selected.index ?? 0, guidance, control: selected.control }));
1028
- return;
1029
- }
1030
- if (matchesKey(data, "backspace") || data === "\x7f") {
1031
- this.redoGuidanceDraft = this.redoGuidanceDraft.slice(0, -1);
1032
- this.tui.requestRender();
1033
- return;
1034
- }
1035
- if (data.length === 1 && data >= " " && data !== "\x7f") {
1036
- this.redoGuidanceDraft += data;
1037
- this.tui.requestRender();
1038
- }
1039
- return;
1040
- }
1041
- if (this.promptAuditOpen) {
1042
- if (matchesKey(data, "escape") || matchesKey(data, "ctrl+c")) {
1043
- this.promptAuditOpen = false;
1044
- this.detailAutoFollow = true;
1045
- this.tui.requestRender();
1046
- return;
1047
- }
1048
- if (data === "j") return this.movePromptSelection(1);
1049
- if (data === "k") return this.movePromptSelection(-1);
1050
- if (data === "1" || data === "2" || data === "3") {
1051
- this.promptAuditView = data === "1" ? "authored" : data === "2" ? "runtime" : "effective";
1052
- this.detailScroll = 0;
1053
- this.tui.requestRender();
1054
- return;
1055
- }
1056
- if (data === "g") {
1057
- const prompt = this.selectedPromptAudit();
1058
- if (!prompt) this.setActionNotice({ text: "Prompt Audit is available only for a live child owned by this session.", isError: true });
1059
- else if (!prompt.rerun) this.setActionNotice({ text: "Redo is not safe for this prompt in this slice.", isError: true });
1060
- else if (!this.options.actions?.redoPrompt) this.setActionNotice({ text: "Redo controls are unavailable in this context.", isError: true });
1061
- else {
1062
- this.actionNotice = undefined;
1063
- this.redoGuidanceDraft = "";
1064
- this.detailAutoFollow = false;
1065
- this.detailScroll = 0;
1066
- this.tui.requestRender();
1067
- }
1068
- return;
1069
- }
1070
- if (data === "c") {
1071
- const text = this.selectedPromptText();
1072
- if (!text) this.setActionNotice({ text: "No prompt view is available to copy.", isError: true });
1073
- else if (!this.options.copyText) this.setActionNotice({ text: "Clipboard is unavailable in this context.", isError: true });
1074
- else this.runAction(async () => {
1075
- await this.options.copyText!(text);
1076
- return { text: "Copied visible prompt view." };
1077
- });
1078
- return;
1079
- }
1080
- if (matchesFleetAction(data, this.keybindings, "scrollUp")) return this.scrollDetail(-1);
1081
- if (matchesFleetAction(data, this.keybindings, "scrollDown")) return this.scrollDetail(1);
1082
- if (matchesFleetAction(data, this.keybindings, "pageUp")) return this.scrollDetail(-this.detailViewportHeight);
1083
- if (matchesFleetAction(data, this.keybindings, "pageDown")) return this.scrollDetail(this.detailViewportHeight);
1084
- return;
1085
- }
1086
- if (this.steerDraft !== undefined) {
1087
- if (matchesKey(data, "escape") || matchesKey(data, "ctrl+c")) {
1088
- this.resetActionInput();
1089
- this.tui.requestRender();
1090
- return;
1091
- }
1092
- if (matchesKey(data, "return") || data === "\r" || data === "\n") {
1093
- const message = this.steerDraft.trim();
1094
- if (!message) {
1095
- this.setActionNotice({ text: "Steer message cannot be empty.", isError: true });
1096
- return;
1097
- }
1098
- const target = this.selectedSteerAction();
1099
- if ("reason" in target || !this.options.actions) {
1100
- this.setActionNotice({ text: "reason" in target ? target.reason : "Fleet controls are unavailable in this context.", isError: true });
1101
- return;
1102
- }
1103
- this.runAction(() => this.options.actions!.steer({ ...target, message, mode: this.steerMode }));
1104
- return;
1105
- }
1106
- if (matchesKey(data, "tab") || data === "\t") {
1107
- const modes: SteerDeliveryMode[] = ["steer", "follow_up", "auto"];
1108
- this.steerMode = modes[(modes.indexOf(this.steerMode) + 1) % modes.length]!;
1109
- this.tui.requestRender();
1110
- return;
1111
- }
1112
- if (matchesKey(data, "backspace") || data === "\x7f") {
1113
- this.steerDraft = this.steerDraft.slice(0, -1);
1114
- this.tui.requestRender();
1115
- return;
1116
- }
1117
- if (data.length === 1 && data >= " " && data !== "\x7f") {
1118
- this.steerDraft += data;
1119
- this.tui.requestRender();
1120
- }
1121
- return;
1122
- }
1123
- if (this.stopConfirming) {
1124
- if (matchesKey(data, "return") || data.toLowerCase() === "y") {
1125
- const target = this.selectedAsyncAction();
1126
- if ("reason" in target || !this.options.actions) {
1127
- this.setActionNotice({ text: "reason" in target ? target.reason : "Fleet controls are unavailable in this context.", isError: true });
1128
- return;
1129
- }
1130
- this.runAction(() => Promise.resolve(this.options.actions!.stop({ runId: target.item.runId, asyncDir: target.item.run.asyncDir, ...(target.item.index !== undefined ? { index: target.item.index } : {}) })));
1131
- return;
1132
- }
1133
- if (matchesKey(data, "escape") || matchesKey(data, "ctrl+c") || data.toLowerCase() === "n" || matchesKey(data, "backspace")) {
1134
- this.resetActionInput();
1135
- this.tui.requestRender();
1136
- }
1137
- return;
1138
- }
1139
- if (matchesFleetAction(data, this.keybindings, "close")) {
1140
- this.stopRefresh();
1141
- this.done(undefined);
1142
- return;
1143
- }
1144
- if (matchesFleetAction(data, this.keybindings, "scrollUp")) return this.scrollDetail(-1);
1145
- if (matchesFleetAction(data, this.keybindings, "scrollDown")) return this.scrollDetail(1);
1146
- if (matchesFleetAction(data, this.keybindings, "selectUp")) return this.moveSelection(-1);
1147
- if (matchesFleetAction(data, this.keybindings, "selectDown")) return this.moveSelection(1);
1148
- if (matchesFleetAction(data, this.keybindings, "selectFirst")) return this.moveSelection(-this.snapshot.items.length);
1149
- if (matchesFleetAction(data, this.keybindings, "selectLast")) return this.moveSelection(this.snapshot.items.length);
1150
- if (matchesFleetAction(data, this.keybindings, "pageUp")) return this.scrollDetail(-this.detailViewportHeight);
1151
- if (matchesFleetAction(data, this.keybindings, "pageDown")) return this.scrollDetail(this.detailViewportHeight);
1152
- if (matchesFleetAction(data, this.keybindings, "refresh")) {
1153
- this.transcriptCache = undefined;
1154
- this.refresh();
1155
- this.tui.requestRender();
1156
- return;
1157
- }
1158
- if (data === "p") {
1159
- if (!this.selectedPromptAudit()) this.setActionNotice({ text: "Prompt Audit is available only for a live child owned by this session.", isError: true });
1160
- else {
1161
- this.promptAuditOpen = true;
1162
- this.promptAuditView = "authored";
1163
- this.detailScroll = 0;
1164
- this.detailAutoFollow = false;
1165
- this.actionNotice = undefined;
1166
- this.tui.requestRender();
1167
- }
1168
- return;
1169
- }
1170
- if (matchesFleetAction(data, this.keybindings, "steer")) {
1171
- const target = this.selectedSteerAction();
1172
- if ("reason" in target || !this.options.actions) this.setActionNotice({ text: "reason" in target ? target.reason : "Fleet controls are unavailable in this context.", isError: true });
1173
- else {
1174
- this.actionNotice = undefined;
1175
- this.steerDraft = "";
1176
- this.detailAutoFollow = false;
1177
- this.detailScroll = 0;
1178
- this.tui.requestRender();
1179
- }
1180
- return;
1181
- }
1182
- if (matchesFleetAction(data, this.keybindings, "inspect")) {
1183
- const target = this.selectedHerdrInspectAction();
1184
- if ("reason" in target || !this.options.actions?.inspect) this.setActionNotice({ text: "reason" in target ? target.reason : "Herdr inspector controls are unavailable in this context.", isError: true });
1185
- else this.runAction(() => this.options.actions!.inspect!(target));
1186
- return;
1187
- }
1188
- if (matchesFleetAction(data, this.keybindings, "stop")) {
1189
- const target = this.selectedAsyncAction();
1190
- if ("reason" in target || !this.options.actions) this.setActionNotice({ text: "reason" in target ? target.reason : "Fleet controls are unavailable in this context.", isError: true });
1191
- else {
1192
- this.actionNotice = undefined;
1193
- this.stopConfirming = true;
1194
- this.detailAutoFollow = false;
1195
- this.detailScroll = 0;
1196
- this.tui.requestRender();
1197
- }
1198
- return;
1199
- }
1200
- if (matchesFleetAction(data, this.keybindings, "toggleTools")) {
1201
- this.expandedTools = !this.expandedTools;
1202
- this.transcriptCache = undefined;
1203
- this.tui.requestRender();
1204
- }
1205
- }
1206
-
1207
- private rosterLines(width: number): string[] {
1208
- if (this.snapshot.items.length === 0) return [this.theme.fg("dim", "No tracked children")];
1209
- const start = Math.max(0, Math.min(this.selected - this.bodyHeight + 1, Math.max(0, this.snapshot.items.length - this.bodyHeight)));
1210
- return this.snapshot.items.slice(start, start + this.bodyHeight).map((item, offset) => {
1211
- const index = start + offset;
1212
- const marker = index === this.selected ? this.theme.fg("accent", "›") : " ";
1213
- const context = item.kind === "async" ? contextModeBadge(this.theme, item.step?.context ?? item.run.context) : item.kind === "foreground-recent" ? contextModeBadge(this.theme, item.child.context) : "";
1214
- const agent = index === this.selected ? this.theme.bold(item.agent) : item.agent;
1215
- const identity = item.runId.slice(0, 8);
1216
- const left = `${marker} ${statusGlyph(item, this.theme)} ${agent}${context} ${this.theme.fg("dim", `· ${identity}`)}`;
1217
- return rightAligned(left, this.theme.fg("dim", item.state), width);
1218
- });
1219
- }
1220
-
1221
- private renderedTranscript(target: { path: string; trustedRoots: string[]; trustedFiles?: string[]; trustedFileRoot?: string }, width: number): { transcript: FleetTranscript; body: string[] } {
1222
- const fingerprint = `${target.trustedRoots.join("\0")}|${target.trustedFiles?.join("\0") ?? ""}|${target.trustedFileRoot ?? ""}|${transcriptFingerprint(target.path)}`;
1223
- if (this.transcriptCache
1224
- && this.transcriptCache.path === target.path
1225
- && this.transcriptCache.fingerprint === fingerprint
1226
- && this.transcriptCache.width === width
1227
- && this.transcriptCache.expandedTools === this.expandedTools) {
1228
- return { transcript: this.transcriptCache.transcript, body: [...this.transcriptCache.body] };
1229
- }
1230
- const transcript = readFleetTranscript(target.path, {
1231
- trustedRoots: target.trustedRoots,
1232
- ...(target.trustedFiles ? { trustedFiles: target.trustedFiles } : {}),
1233
- ...(target.trustedFileRoot ? { trustedFileRoot: target.trustedFileRoot } : {}),
1234
- });
1235
- const body = transcript.events.length > 0
1236
- ? renderFleetTranscript(transcript, width, this.theme, this.markdownTheme, { expandedTools: this.expandedTools })
1237
- : [];
1238
- this.transcriptCache = { path: target.path, fingerprint, width, expandedTools: this.expandedTools, transcript, body };
1239
- return { transcript, body: [...body] };
1240
- }
1241
-
1242
- private promptAuditDetail(width: number): FleetDetailSections {
1243
- const selected = this.snapshot.items[this.selected];
1244
- const prompt = this.selectedPromptAudit();
1245
- const items = this.promptAuditItems();
1246
- const selectedPosition = selected ? items.findIndex(({ item }) => item.key === selected.key) : -1;
1247
- const live = selected?.kind === "foreground-active" ? selected.activeChild ?? selected.control : undefined;
1248
- const viewLabel = promptAuditViewLabel(this.promptAuditView);
1249
- const promptText = this.selectedPromptText()
1250
- ?? this.theme.fg("muted", "Selected prompt unavailable.");
1251
- const raw = [
1252
- this.theme.bold("Prompt Audit"),
1253
- this.theme.fg("dim", "Retention: live memory only · no storage"),
1254
- selected?.kind === "foreground-active" ? `Run: ${selected.runId}${selected.index !== undefined ? ` · Child: ${selected.index}` : ""} · Agent: ${selected.agent}` : "Selected prompt unavailable",
1255
- live ? `Started: ${new Date(live.startedAt).toISOString()}` : undefined,
1256
- live ? `Model: ${formatModelThinking(live.model, live.thinking) || "default"}` : undefined,
1257
- prompt?.cwd ? `Cwd: ${prompt.cwd}` : undefined,
1258
- prompt?.outputPath ? `Output: ${prompt.outputPath}` : undefined,
1259
- this.theme.fg("dim", `Live children: ${items.map(({ item }) => item.agent).join(", ") || "none"}`),
1260
- this.theme.fg("dim", selectedPosition >= 0 ? `Selected: ${selectedPosition + 1}/${items.length}` : "Selected prompt unavailable"),
1261
- "",
1262
- this.theme.fg("accent", viewLabel),
1263
- promptText,
1264
- ];
1265
- const body = raw.filter((line): line is string => line !== undefined).flatMap((line) => wrapTextWithAnsi(line, Math.max(1, width)));
1266
- return { header: [], body: this.withActionLines(body) };
1267
- }
1268
-
1269
- private wrappedDetail(width: number): FleetDetailSections {
1270
- if (this.promptAuditOpen) return this.promptAuditDetail(width);
1271
- const selected = this.snapshot.items[this.selected];
1272
- let transcriptWarning: string | undefined;
1273
- if (selected) {
1274
- const target = transcriptTarget(selected, this.state);
1275
- if (target) {
1276
- const { transcript, body } = this.renderedTranscript(target, width);
1277
- transcriptWarning = transcript.warning;
1278
- if (transcript.events.length > 0) {
1279
- if (this.snapshot.error) body.unshift(this.theme.fg("warning", `Fleet scan warning: ${this.snapshot.error}`), "");
1280
- const latest = transcript.events.at(-1);
1281
- const conversationState = latest?.kind === "assistant"
1282
- ? "assistant response"
1283
- : latest?.kind === "user"
1284
- ? "supervisor message"
1285
- : latest?.kind === "tool"
1286
- ? `${latest.name} · ${latest.status}`
1287
- : "activity";
1288
- const promptSummary = selected.kind === "foreground-active" ? foregroundAuthoredPromptSummary(selected, this.state) : undefined;
1289
- return { header: structuredHeader(selected, width, this.theme, conversationState, promptSummary), body: this.withActionLines(body) };
1290
- }
1291
- }
1292
- }
1293
-
1294
- const raw = detailLines(selected, this.snapshot.error, this.state);
1295
- if (transcriptWarning) raw.unshift(`Transcript preview warning: ${transcriptWarning}`, "");
1296
- const lines: string[] = [];
1297
- for (const line of raw) {
1298
- const styled = /^(Run|State|Mode|Source|Child|Agent|Model|Task):/.test(line)
1299
- ? this.theme.bold(line)
1300
- : /^(Transcript|Result transcript tail)/.test(line)
1301
- ? this.theme.fg("accent", line)
1302
- : /^(Output|Session|Transcript file|Artifacts):/.test(line)
1303
- ? this.theme.fg("muted", line)
1304
- : /^Transcript preview warning:/.test(line)
1305
- ? this.theme.fg("warning", line)
1306
- : line;
1307
- const wrapped = wrapTextWithAnsi(styled, Math.max(1, width));
1308
- lines.push(...(wrapped.length ? wrapped : [""]));
1309
- }
1310
- return { header: [], body: this.withActionLines(lines) };
1311
- }
1312
-
1313
- render(width: number): string[] {
1314
- if (width < 36) return [truncateToWidth("Subagent fleet needs at least 36 columns. Esc closes.", width)];
1315
- const innerWidth = width - 2;
1316
- const rows = this.tui.terminal?.rows ?? 32;
1317
- this.bodyHeight = Math.max(2, Math.floor(rows * 0.85) - 6);
1318
- const rosterWidth = Math.max(22, Math.min(46, Math.floor((innerWidth - 1) * 0.38)));
1319
- const detailWidth = Math.max(1, innerWidth - rosterWidth - 1);
1320
- const roster = this.rosterLines(rosterWidth);
1321
- const detail = this.wrappedDetail(detailWidth);
1322
- const detailHeader = detail.header.slice(0, Math.max(0, this.bodyHeight - 1));
1323
- this.detailViewportHeight = Math.max(1, this.bodyHeight - detailHeader.length);
1324
- this.detailLineCount = detail.body.length;
1325
- const maxDetailScroll = Math.max(0, detail.body.length - this.detailViewportHeight);
1326
- if (this.detailAutoFollow) this.detailScroll = maxDetailScroll;
1327
- else if (this.detailScroll > maxDetailScroll) this.detailScroll = maxDetailScroll;
1328
- const visibleDetails = [
1329
- ...detailHeader,
1330
- ...detail.body.slice(this.detailScroll, this.detailScroll + this.detailViewportHeight),
1331
- ];
1332
- const lines = [this.theme.fg("border", `╭${"─".repeat(innerWidth)}╮`)];
1333
- const selected = this.snapshot.items[this.selected];
1334
- const title = selected?.kind === "external"
1335
- ? ` ${this.theme.bold("Fleet inspector")} ${this.theme.fg("dim", "· external display-only")}`
1336
- : ` ${this.theme.bold("Subagent fleet inspector")} ${this.theme.fg("dim", "· live controls")}`;
1337
- const selectedStatus = selected
1338
- ? `${statusGlyph(selected, this.theme)} ${selected.agent} · ${selected.state} `
1339
- : this.theme.fg("dim", "no children ");
1340
- lines.push(this.theme.fg("border", "│") + rightAligned(title, selectedStatus, innerWidth) + this.theme.fg("border", "│"));
1341
- lines.push(this.theme.fg("border", `├${"─".repeat(rosterWidth)}┬${"─".repeat(detailWidth)}┤`));
1342
- for (let index = 0; index < this.bodyHeight; index++) {
1343
- lines.push(
1344
- this.theme.fg("border", "│")
1345
- + fit(roster[index] ?? "", rosterWidth)
1346
- + this.theme.fg("border", "│")
1347
- + fit(visibleDetails[index] ?? "", detailWidth)
1348
- + this.theme.fg("border", "│"),
1349
- );
1350
- }
1351
- lines.push(this.theme.fg("border", `├${"─".repeat(rosterWidth)}┴${"─".repeat(detailWidth)}┤`));
1352
- const position = this.snapshot.items.length ? `${this.selected + 1}/${this.snapshot.items.length}` : "0/0";
1353
- const footer = this.promptAuditOpen
1354
- ? ` j/k child · 1/2/3 view · g redo with guidance · c copy · Esc close Prompt Audit · ${position}`
1355
- : selected?.kind === "external"
1356
- ? ` ${bindingLabel(this.keybindings, "selectUp")}/${bindingLabel(this.keybindings, "selectDown")} job · display-only · ${bindingLabel(this.keybindings, "refresh")} refresh · ${bindingLabel(this.keybindings, "close")} close · ${position}`
1357
- : ` ${bindingLabel(this.keybindings, "selectUp")}/${bindingLabel(this.keybindings, "selectDown")} agent · p Prompt Audit · ${bindingLabel(this.keybindings, "inspect")} Herdr · ${bindingLabel(this.keybindings, "steer")} steer · ${bindingLabel(this.keybindings, "stop")} stop · ${bindingLabel(this.keybindings, "toggleTools")} tools · ${bindingLabel(this.keybindings, "refresh")} refresh · ${bindingLabel(this.keybindings, "close")} close · ${position}`;
1358
- lines.push(this.theme.fg("border", "│") + fit(this.theme.fg("dim", footer), innerWidth) + this.theme.fg("border", "│"));
1359
- lines.push(this.theme.fg("border", `╰${"─".repeat(innerWidth)}╯`));
1360
- return lines.map((line) => truncateToWidth(line, width));
1361
- }
1362
-
1363
- invalidate(): void {
1364
- this.transcriptCache = undefined;
1365
- this.refresh();
1366
- }
1367
-
1368
- dispose(): void {
1369
- this.stopRefresh();
1370
- }
1371
- }
1372
-
1373
- export async function openSubagentFleet(ctx: ExtensionContext, state: SubagentState, options: FleetViewOptions = {}): Promise<void> {
1374
- const wasOpen = state.fleetInspectorOpen === true;
1375
- state.fleetInspectorOpen = true;
1376
- if (typeof ctx.ui.setWidget === "function") ctx.ui.setWidget(FLEET_STATUS_WIDGET_KEY, undefined);
1377
- const copyText = options.copyText ?? (async (text: string) => {
1378
- const module = await import("@selesai/code");
1379
- const copyToClipboard = (module as { copyToClipboard?: (value: string) => Promise<void> | void }).copyToClipboard;
1380
- if (!copyToClipboard) throw new Error("Clipboard is unavailable in this Pi version.");
1381
- await copyToClipboard(text);
1382
- });
1383
- const actions = options.actions ?? {
1384
- steer: async (input: { runId: string; asyncDir: string; index?: number; message: string; mode: SteerDeliveryMode }) => {
1385
- const status = readStatus(input.asyncDir);
1386
- const liveWorkflowRunId = status?.mode === "workflow" && state.workflowControllers?.has(status.runId || input.runId)
1387
- ? status.runId || input.runId
1388
- : undefined;
1389
- if (liveWorkflowRunId) {
1390
- const route = state.foregroundControls.get(input.runId)?.parentWorkflowRunId === liveWorkflowRunId
1391
- ? resolveWorkflowForegroundSteeringTarget({ state, childRunId: input.runId, asyncDirRoot: options.asyncDirRoot ?? DIRS.async })
1392
- : resolveWorkflowForegroundSteeringTarget({ state, workflowRunId: liveWorkflowRunId, asyncDirRoot: options.asyncDirRoot ?? DIRS.async });
1393
- if (!route.ok) return { text: route.message, isError: true };
1394
- return firstToolResultText(await steerWorkflowForegroundTarget({ target: route.target, message: input.message, mode: input.mode, ...(input.index !== undefined ? { index: input.index } : {}) }), `Failed to steer foreground run ${input.runId}.`);
1395
- }
1396
- return firstToolResultText(await steerAsyncRun({
1397
- state,
1398
- runId: input.runId,
1399
- ...(input.index !== undefined ? { index: input.index } : {}),
1400
- message: input.message,
1401
- mode: input.mode,
1402
- location: { asyncDir: input.asyncDir, resolvedId: input.runId } as Parameters<typeof steerAsyncRun>[0]["location"],
1403
- }), `Failed to steer async run ${input.runId}.`);
1404
- },
1405
- stop: (input: { runId: string; asyncDir: string; index?: number }) => firstToolResultText(stopAsyncRun(state, input.runId, undefined, { asyncDir: input.asyncDir, resolvedId: input.runId }), `Failed to stop async run ${input.runId}.`),
1406
- inspect: async (input: { runId: string; asyncDir: string; index?: number }) => firstToolResultText(await handleHerdrInspectorAction("inspector.open", {
1407
- id: input.runId,
1408
- dir: input.asyncDir,
1409
- focus: true,
1410
- ...(input.index !== undefined ? { index: input.index } : {}),
1411
- }, {
1412
- state,
1413
- sessionRoots: state.trustedSessionRoots,
1414
- cwd: state.baseCwd,
1415
- ...(options.herdrClient ? { client: options.herdrClient } : {}),
1416
- ...(state.authorityPolicy ? { authorityPolicy: state.authorityPolicy } : {}),
1417
- ...(state.missionStoreConfig ? { missions: state.missionStoreConfig } : {}),
1418
- }), `Failed to open Herdr inspector for async run ${input.runId}.`),
1419
- redoPrompt: async (input: { runId: string; index: number; guidance: string; control?: ForegroundRunControl }) => {
1420
- const control = input.control ?? state.foregroundControls.get(input.runId);
1421
- if (!control?.promptAuditRedo) return { text: "Redo is not available for this live child.", isError: true };
1422
- return control.promptAuditRedo(input.index, input.guidance);
1423
- },
1424
- } satisfies FleetActionHandlers;
1425
- try {
1426
- await ctx.ui.custom<undefined>(
1427
- (tui, theme, _keybindings, done) => new SubagentFleetComponent(tui, theme, state, done, { ...options, actions, copyText }),
1428
- {
1429
- overlay: true,
1430
- overlayOptions: { anchor: "center", width: "95%", minWidth: 60, maxHeight: "85%", margin: 1 },
1431
- },
1432
- );
1433
- } finally {
1434
- state.fleetInspectorOpen = wasOpen;
1435
- }
1436
- }