@selesai/code 0.9.11 → 0.9.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 (580) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/config.d.ts +4 -6
  3. package/dist/config.js +10 -14
  4. package/dist/core/agent-session.d.ts +0 -1
  5. package/dist/core/agent-session.js +3 -49
  6. package/dist/core/extensions/types.d.ts +0 -2
  7. package/dist/core/settings-manager.d.ts +0 -2
  8. package/dist/core/settings-manager.js +0 -3
  9. package/dist/core/tools/index.d.ts +0 -1
  10. package/dist/core/tools/index.js +0 -1
  11. package/dist/defaults/settings.json +2 -3
  12. package/dist/extensions/model-prompt-injector/index.test.ts +0 -10
  13. package/dist/extensions/model-prompt-injector/index.ts +0 -3
  14. package/dist/extensions/pi-intercom/CHANGELOG.md +53 -16
  15. package/dist/extensions/pi-intercom/README.md +41 -8
  16. package/dist/extensions/pi-intercom/banner.png +0 -0
  17. package/dist/extensions/pi-intercom/broker/broker.ts +498 -215
  18. package/dist/extensions/pi-intercom/broker/client.ts +39 -12
  19. package/dist/extensions/pi-intercom/broker/extension.test.ts +102 -3
  20. package/dist/extensions/pi-intercom/broker/paths.test.ts +2 -2
  21. package/dist/extensions/pi-intercom/broker/protocol.ts +26 -0
  22. package/dist/extensions/pi-intercom/broker/spawn.test.ts +5 -20
  23. package/dist/extensions/pi-intercom/config.test.ts +41 -0
  24. package/dist/extensions/pi-intercom/config.ts +21 -0
  25. package/dist/extensions/pi-intercom/extension-api.ts +40 -0
  26. package/dist/extensions/pi-intercom/index.ts +362 -26
  27. package/dist/extensions/pi-intercom/intercom.integration.test.ts +819 -13
  28. package/dist/extensions/pi-intercom/package.json +1 -1
  29. package/dist/extensions/pi-intercom/project-agent.ts +2 -2
  30. package/dist/extensions/pi-intercom/skills/pi-intercom/SKILL.md +8 -110
  31. package/dist/extensions/pi-intercom/types.ts +32 -5
  32. package/dist/extensions/pi-intercom/ui/inline-message.ts +6 -0
  33. package/dist/extensions/pi-subagents/.github/assets/subagent-fleet-inspector.png +0 -0
  34. package/dist/extensions/pi-subagents/.github/workflows/release.yml +28 -0
  35. package/dist/extensions/pi-subagents/.github/workflows/test.yml +51 -0
  36. package/dist/extensions/pi-subagents/.greptile/config.json +33 -0
  37. package/dist/extensions/pi-subagents/.greptile/files.json +8 -0
  38. package/dist/extensions/pi-subagents/.greptile/rules.md +16 -0
  39. package/dist/extensions/pi-subagents/CHANGELOG.md +309 -87
  40. package/dist/extensions/pi-subagents/README.md +15 -17
  41. package/dist/extensions/pi-subagents/agents/oracle.md +3 -1
  42. package/dist/extensions/pi-subagents/agents/researcher.md +32 -13
  43. package/dist/extensions/pi-subagents/agents/reviewer.md +13 -2
  44. package/dist/extensions/pi-subagents/agents/scout.md +2 -2
  45. package/dist/extensions/pi-subagents/agents/worker.md +2 -1
  46. package/dist/extensions/pi-subagents/async-retention-discovery-worker.mjs +180 -0
  47. package/dist/extensions/pi-subagents/docs/configuration.md +106 -27
  48. package/dist/extensions/pi-subagents/docs/extension-api.md +85 -21
  49. package/dist/extensions/pi-subagents/docs/missions.md +41 -4
  50. package/dist/extensions/pi-subagents/docs/models.md +52 -9
  51. package/dist/extensions/pi-subagents/docs/observability.md +103 -16
  52. package/dist/extensions/pi-subagents/docs/tool-reference.md +60 -45
  53. package/dist/extensions/pi-subagents/docs/watchdog.md +60 -3
  54. package/dist/extensions/pi-subagents/docs/workflows.md +181 -7
  55. package/dist/extensions/pi-subagents/index.ts +10 -1
  56. package/dist/extensions/pi-subagents/install.mjs +4 -4
  57. package/dist/extensions/pi-subagents/package-lock.json +1483 -1470
  58. package/dist/extensions/pi-subagents/package.json +6 -3
  59. package/dist/extensions/pi-subagents/prompts/council.md +60 -0
  60. package/dist/extensions/pi-subagents/prompts/parallel-review.md +5 -1
  61. package/dist/extensions/pi-subagents/prompts/review-loop.md +9 -5
  62. package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +254 -0
  63. package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +18 -17
  64. package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +31 -9
  65. package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +107 -140
  66. package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +9 -12
  67. package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +39 -0
  68. package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +44 -92
  69. package/dist/extensions/pi-subagents/src/agents/agent-management.ts +261 -368
  70. package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +6 -2
  71. package/dist/extensions/pi-subagents/src/agents/agents.ts +388 -85
  72. package/dist/extensions/pi-subagents/src/agents/builtin-names.ts +14 -0
  73. package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +418 -0
  74. package/dist/extensions/pi-subagents/src/agents/skills.ts +1 -1
  75. package/dist/extensions/pi-subagents/src/api/agents.ts +7 -0
  76. package/dist/extensions/pi-subagents/src/api/external-job-provider.ts +195 -0
  77. package/dist/extensions/pi-subagents/src/api/preflight.ts +88 -27
  78. package/dist/extensions/pi-subagents/src/api/project-panes.ts +2 -0
  79. package/dist/extensions/pi-subagents/src/api/shared-types.ts +2 -0
  80. package/dist/extensions/pi-subagents/src/extension/config.ts +20 -11
  81. package/dist/extensions/pi-subagents/src/extension/doctor.ts +14 -6
  82. package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +5 -4
  83. package/dist/extensions/pi-subagents/src/extension/index.ts +270 -187
  84. package/dist/extensions/pi-subagents/src/extension/public-execution.ts +65 -28
  85. package/dist/extensions/pi-subagents/src/extension/rpc.ts +120 -11
  86. package/dist/extensions/pi-subagents/src/extension/schemas.ts +46 -64
  87. package/dist/extensions/pi-subagents/src/extension/tool-description.ts +51 -37
  88. package/dist/extensions/pi-subagents/src/extension/tool-result.ts +19 -0
  89. package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +2 -2
  90. package/dist/extensions/pi-subagents/src/inspectors/herdr/client.ts +3 -3
  91. package/dist/extensions/pi-subagents/src/inspectors/herdr/focus.ts +55 -0
  92. package/dist/extensions/pi-subagents/src/inspectors/herdr/inspector-runner.ts +2 -1
  93. package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +230 -46
  94. package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +26 -4
  95. package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +32 -10
  96. package/dist/extensions/pi-subagents/src/missions/lifecycle.ts +6 -1
  97. package/dist/extensions/pi-subagents/src/missions/store.ts +4 -9
  98. package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +2 -2
  99. package/dist/extensions/pi-subagents/src/policy/authority.ts +2 -0
  100. package/dist/extensions/pi-subagents/src/profiles/profiles.ts +3 -1
  101. package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +31 -8
  102. package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +210 -52
  103. package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +63 -33
  104. package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +71 -17
  105. package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +886 -0
  106. package/dist/extensions/pi-subagents/src/runs/background/async-status-snapshot.ts +14 -5
  107. package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +49 -56
  108. package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +1 -0
  109. package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +3 -33
  110. package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +5 -0
  111. package/dist/extensions/pi-subagents/src/runs/background/completion-dedupe.ts +5 -1
  112. package/dist/extensions/pi-subagents/src/runs/background/completion-replay.ts +22 -12
  113. package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +105 -71
  114. package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +68 -19
  115. package/dist/extensions/pi-subagents/src/runs/background/index-segment.ts +59 -0
  116. package/dist/extensions/pi-subagents/src/runs/background/inspect-rpc.ts +443 -0
  117. package/dist/extensions/pi-subagents/src/runs/background/notify.ts +94 -10
  118. package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +158 -90
  119. package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +141 -53
  120. package/dist/extensions/pi-subagents/src/runs/background/resume-guidance.ts +8 -5
  121. package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +14 -4
  122. package/dist/extensions/pi-subagents/src/runs/background/run-id-query.ts +7 -0
  123. package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +13 -14
  124. package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +46 -25
  125. package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +823 -0
  126. package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +9 -3
  127. package/dist/extensions/pi-subagents/src/runs/background/steering.ts +11 -1
  128. package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +594 -216
  129. package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +17 -13
  130. package/dist/extensions/pi-subagents/src/runs/background/terminal-run-index.ts +138 -0
  131. package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +23 -4
  132. package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +82 -4
  133. package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +5 -3
  134. package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +21 -14
  135. package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +23 -2
  136. package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +153 -58
  137. package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +7 -9
  138. package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +1283 -1657
  139. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +274 -0
  140. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +6 -5
  141. package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +59 -10
  142. package/dist/extensions/pi-subagents/src/runs/shared/agent-contract.ts +1 -1
  143. package/dist/extensions/pi-subagents/src/runs/shared/chain-outputs.ts +1 -3
  144. package/dist/extensions/pi-subagents/src/runs/shared/child-identity.ts +36 -0
  145. package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +52 -2
  146. package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +1 -1
  147. package/dist/extensions/pi-subagents/src/runs/shared/extension-bindings.ts +78 -0
  148. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +2 -0
  149. package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +460 -0
  150. package/dist/extensions/pi-subagents/src/runs/shared/external-job-runner.ts +389 -0
  151. package/dist/extensions/pi-subagents/src/runs/shared/fast-mode-extension.ts +10 -0
  152. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +14 -0
  153. package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +243 -0
  154. package/dist/extensions/pi-subagents/src/runs/shared/model-fallback.ts +201 -85
  155. package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +106 -39
  156. package/dist/extensions/pi-subagents/src/runs/shared/mutation-evidence.ts +145 -0
  157. package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +150 -27
  158. package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +46 -4
  159. package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +19 -15
  160. package/dist/extensions/pi-subagents/src/runs/shared/permissions.ts +5 -1
  161. package/dist/extensions/pi-subagents/src/runs/shared/pi-args.ts +86 -2
  162. package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +9 -9
  163. package/dist/extensions/pi-subagents/src/runs/shared/session-lease.ts +0 -6
  164. package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +18 -4
  165. package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +51 -7
  166. package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +62 -21
  167. package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +1 -3
  168. package/dist/extensions/pi-subagents/src/runs/shared/tool-timeout.ts +1 -3
  169. package/dist/extensions/pi-subagents/src/runs/shared/workflow-graph.ts +1 -23
  170. package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +14 -2
  171. package/dist/extensions/pi-subagents/src/shared/artifacts.ts +2 -2
  172. package/dist/extensions/pi-subagents/src/shared/atomic-json.ts +22 -2
  173. package/dist/extensions/pi-subagents/src/shared/capacity-resilient-json.ts +102 -0
  174. package/dist/extensions/pi-subagents/src/shared/completion-owner.ts +14 -0
  175. package/dist/extensions/pi-subagents/src/shared/file-system-retry.ts +49 -1
  176. package/dist/extensions/pi-subagents/src/shared/fork-context.ts +59 -1
  177. package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +12 -5
  178. package/dist/extensions/pi-subagents/src/shared/model-info.ts +20 -0
  179. package/dist/extensions/pi-subagents/src/shared/prompt-resources.ts +0 -40
  180. package/dist/extensions/pi-subagents/src/shared/settings.ts +11 -30
  181. package/dist/extensions/pi-subagents/src/shared/thinking-ceiling.ts +52 -0
  182. package/dist/extensions/pi-subagents/src/shared/types.ts +228 -49
  183. package/dist/extensions/pi-subagents/src/shared/utils.ts +11 -3
  184. package/dist/extensions/pi-subagents/src/shared/watch-strategy.ts +10 -0
  185. package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +0 -162
  186. package/dist/extensions/pi-subagents/src/slash/slash-bridge.ts +2 -5
  187. package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +105 -13
  188. package/dist/extensions/pi-subagents/src/slash/slash-live-state.ts +6 -36
  189. package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +829 -0
  190. package/dist/extensions/pi-subagents/src/tui/fleet.ts +1415 -0
  191. package/dist/extensions/pi-subagents/src/tui/render.ts +78 -7
  192. package/dist/extensions/pi-subagents/src/watchdog/change-signature.ts +1 -1
  193. package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +1 -0
  194. package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +59 -51
  195. package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +8 -2
  196. package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +2 -1
  197. package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +4 -4
  198. package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +471 -86
  199. package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +140 -0
  200. package/dist/extensions/pi-subagents/test/e2e/real-session-subagent.test.ts +2 -2
  201. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +3 -0
  202. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +2 -0
  203. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +17 -0
  204. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +57 -0
  205. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +16 -0
  206. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +15 -0
  207. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +18 -0
  208. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +9 -0
  209. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +10 -0
  210. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +10 -0
  211. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +20 -0
  212. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +3 -0
  213. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +96 -0
  214. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +119 -0
  215. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +85 -0
  216. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +620 -0
  217. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +5 -0
  218. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +56 -0
  219. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +32 -0
  220. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +49 -0
  221. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +93 -0
  222. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +128 -0
  223. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +7 -0
  224. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +38 -0
  225. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +3 -0
  226. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +15 -0
  227. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +9 -0
  228. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +29 -0
  229. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +2 -0
  230. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +22 -0
  231. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +37 -0
  232. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +34 -0
  233. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +12 -0
  234. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +23 -0
  235. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +171 -0
  236. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +1261 -0
  237. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +20 -0
  238. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +54 -0
  239. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +22 -0
  240. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +13 -0
  241. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +358 -0
  242. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +77 -0
  243. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +512 -0
  244. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +43 -0
  245. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +121 -0
  246. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +82 -0
  247. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +17 -0
  248. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +7 -0
  249. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +210 -0
  250. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +15 -0
  251. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +54 -0
  252. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +4 -0
  253. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +55 -0
  254. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +2 -0
  255. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +5 -0
  256. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +30 -0
  257. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +206 -0
  258. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +15 -0
  259. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +106 -0
  260. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +19 -0
  261. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +356 -0
  262. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +297 -0
  263. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +60 -0
  264. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +15 -0
  265. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +18 -0
  266. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +28 -0
  267. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +3 -0
  268. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +10 -0
  269. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +68 -0
  270. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +106 -0
  271. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +51 -0
  272. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +6 -0
  273. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +35 -0
  274. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +37 -0
  275. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +40 -0
  276. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +37 -0
  277. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +52 -0
  278. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +10 -0
  279. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +35 -0
  280. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +24 -0
  281. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +14 -0
  282. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +70 -0
  283. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +26 -0
  284. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +36 -0
  285. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +19 -0
  286. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts +3 -0
  287. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +61 -0
  288. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +23 -0
  289. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +3 -0
  290. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +10 -0
  291. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +42 -0
  292. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +35 -0
  293. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +12 -0
  294. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +33 -0
  295. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +9 -0
  296. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +34 -0
  297. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +22 -0
  298. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +34 -0
  299. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +16 -0
  300. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +16 -0
  301. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +16 -0
  302. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +102 -0
  303. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +14 -0
  304. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +21 -0
  305. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +19 -0
  306. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +20 -0
  307. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +23 -0
  308. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +12 -0
  309. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +15 -0
  310. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +5 -0
  311. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +22 -0
  312. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +23 -0
  313. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +26 -0
  314. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +25 -0
  315. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +32 -0
  316. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +34 -0
  317. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +13 -0
  318. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +52 -0
  319. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +54 -0
  320. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +33 -0
  321. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +42 -0
  322. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +23 -0
  323. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +95 -0
  324. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +77 -0
  325. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +10 -0
  326. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +17 -0
  327. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +28 -0
  328. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +11 -0
  329. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +11 -0
  330. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +63 -0
  331. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +94 -0
  332. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +23 -0
  333. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +30 -0
  334. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +14 -0
  335. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +24 -0
  336. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +394 -0
  337. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +12 -0
  338. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +29 -0
  339. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +120 -0
  340. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +28 -0
  341. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +17 -0
  342. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +246 -0
  343. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +20 -0
  344. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +457 -0
  345. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +8 -0
  346. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +3 -0
  347. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +2 -0
  348. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +22 -0
  349. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +18 -0
  350. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +11 -0
  351. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +11 -0
  352. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +4 -0
  353. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +4 -0
  354. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +5 -0
  355. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +8 -0
  356. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +5 -0
  357. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +26 -0
  358. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +7 -0
  359. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +10 -0
  360. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +18 -0
  361. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +30 -0
  362. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +2 -0
  363. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +16 -0
  364. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +3 -0
  365. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +3 -0
  366. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +9 -0
  367. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +31 -0
  368. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +21 -0
  369. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +2 -0
  370. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +31 -0
  371. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +5 -0
  372. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +12 -0
  373. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +3 -0
  374. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +15 -0
  375. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +3 -0
  376. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/index.mjs +1 -1
  377. package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +0 -54
  378. package/dist/extensions/pi-subagents/test/integration/async-execution.test.ts +1053 -414
  379. package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +194 -4
  380. package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +59 -4
  381. package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +0 -77
  382. package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +107 -6
  383. package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +211 -897
  384. package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +265 -375
  385. package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +77 -7
  386. package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +1 -1
  387. package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +10 -10
  388. package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +547 -30
  389. package/dist/extensions/pi-subagents/test/integration/single-execution.test.ts +2112 -310
  390. package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +274 -34
  391. package/dist/extensions/pi-subagents/test/integration/slash-live-state.test.ts +1 -1
  392. package/dist/extensions/pi-subagents/test/integration/template-resolution.test.ts +20 -3
  393. package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +9 -0
  394. package/dist/extensions/pi-subagents/test/support/mock-pi-script.mjs +30 -5
  395. package/dist/extensions/pi-subagents/test/support/mock-pi.ts +2 -0
  396. package/dist/extensions/pi-subagents/test/support/real-session-runner.ts +4 -2
  397. package/dist/extensions/pi-subagents/test/support/register-loader.mjs +1 -0
  398. package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +197 -0
  399. package/dist/extensions/pi-subagents/test/unit/agent-contract.test.ts +14 -0
  400. package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +1 -1
  401. package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +204 -27
  402. package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +444 -145
  403. package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +256 -4
  404. package/dist/extensions/pi-subagents/test/unit/artifacts.test.ts +9 -7
  405. package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +152 -22
  406. package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +29 -0
  407. package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +205 -23
  408. package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +579 -0
  409. package/dist/extensions/pi-subagents/test/unit/atomic-json.test.ts +24 -0
  410. package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +1 -0
  411. package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +3 -3
  412. package/dist/extensions/pi-subagents/test/unit/capacity-resilient-json.test.ts +155 -0
  413. package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +2 -2
  414. package/dist/extensions/pi-subagents/test/unit/completion-dedupe.test.ts +7 -0
  415. package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +123 -0
  416. package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +81 -3
  417. package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +109 -7
  418. package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +2 -2
  419. package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +5 -2
  420. package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +3 -2
  421. package/dist/extensions/pi-subagents/test/unit/extension-bindings.test.ts +79 -0
  422. package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +22 -0
  423. package/dist/extensions/pi-subagents/test/unit/external-job-runner.test.ts +961 -0
  424. package/dist/extensions/pi-subagents/test/unit/file-system-retry.test.ts +64 -0
  425. package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +1110 -0
  426. package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +1664 -0
  427. package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +81 -1
  428. package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +138 -11
  429. package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +41 -2
  430. package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +210 -79
  431. package/dist/extensions/pi-subagents/test/unit/index-segment.test.ts +95 -0
  432. package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +596 -0
  433. package/dist/extensions/pi-subagents/test/unit/mission-lifecycle.test.ts +10 -1
  434. package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +3 -5
  435. package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +167 -0
  436. package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +319 -18
  437. package/dist/extensions/pi-subagents/test/unit/model-info.test.ts +78 -0
  438. package/dist/extensions/pi-subagents/test/unit/model-scope-settings.test.ts +19 -5
  439. package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +44 -0
  440. package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +129 -0
  441. package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +231 -2
  442. package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +28 -1
  443. package/dist/extensions/pi-subagents/test/unit/notify.test.ts +106 -2
  444. package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +204 -7
  445. package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +59 -4
  446. package/dist/extensions/pi-subagents/test/unit/path-handling.test.ts +2 -6
  447. package/dist/extensions/pi-subagents/test/unit/pi-args-permission-system.test.ts +34 -2
  448. package/dist/extensions/pi-subagents/test/unit/pi-args.test.ts +116 -6
  449. package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +12 -3
  450. package/dist/extensions/pi-subagents/test/unit/pi-spawn.test.ts +56 -61
  451. package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +416 -1
  452. package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +9 -2
  453. package/dist/extensions/pi-subagents/test/unit/project-panes-public-api.test.ts +42 -0
  454. package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +21 -30
  455. package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +86 -11
  456. package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +49 -1
  457. package/dist/extensions/pi-subagents/test/unit/result-files.test.ts +233 -5
  458. package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +28 -5
  459. package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +323 -20
  460. package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +66 -10
  461. package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +68 -5
  462. package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +174 -0
  463. package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +679 -0
  464. package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +67 -0
  465. package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +55 -44
  466. package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +399 -84
  467. package/dist/extensions/pi-subagents/test/unit/session-lease.test.ts +13 -0
  468. package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +1 -1
  469. package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +15 -10
  470. package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +11 -7
  471. package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +2 -0
  472. package/dist/extensions/pi-subagents/test/unit/steering.test.ts +40 -1
  473. package/dist/extensions/pi-subagents/test/unit/subagent-action-recovery.test.ts +10 -2
  474. package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +38 -3
  475. package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +110 -12
  476. package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +204 -19
  477. package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +25 -0
  478. package/dist/extensions/pi-subagents/test/unit/thinking-ceiling.test.ts +73 -0
  479. package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +90 -50
  480. package/dist/extensions/pi-subagents/test/unit/tool-timeout.test.ts +1 -2
  481. package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +234 -7
  482. package/dist/extensions/pi-subagents/test/unit/watch-strategy.test.ts +24 -0
  483. package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +36 -0
  484. package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +37 -9
  485. package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +302 -0
  486. package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +167 -7
  487. package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +113 -0
  488. package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +6 -6
  489. package/dist/extensions/ponytail/index.js +31 -25
  490. package/dist/extensions/ponytail/ponytail-config.cjs +34 -7
  491. package/dist/extensions/ponytail/ponytail-instructions.cjs +7 -9
  492. package/dist/extensions/ponytail/test/extension.test.js +7 -8
  493. package/dist/extensions/ponytail/test/helpers.test.js +1 -1
  494. package/dist/skills/brandkit/SKILL.md +799 -0
  495. package/dist/skills/design-taste-frontend/SKILL.md +1207 -0
  496. package/dist/skills/design-taste-frontend-v1/SKILL.md +227 -0
  497. package/dist/skills/full-output-enforcement/SKILL.md +50 -0
  498. package/dist/skills/gpt-taste/SKILL.md +75 -0
  499. package/dist/skills/high-end-visual-design/SKILL.md +99 -0
  500. package/dist/skills/image-to-code/SKILL.md +1229 -0
  501. package/dist/skills/imagegen-frontend-mobile/SKILL.md +1466 -0
  502. package/dist/skills/imagegen-frontend-web/SKILL.md +988 -0
  503. package/dist/skills/industrial-brutalist-ui/SKILL.md +93 -0
  504. package/dist/skills/minimalist-ui/SKILL.md +86 -0
  505. package/dist/skills/pi-subagents/SKILL.md +18 -17
  506. package/dist/skills/pi-subagents/references/constraints-and-recipes.md +31 -9
  507. package/dist/skills/pi-subagents/references/execution-controls.md +95 -143
  508. package/dist/skills/pi-subagents/references/management-authoring-rpc.md +9 -12
  509. package/dist/skills/pi-subagents/references/multi-lane-orchestration.md +39 -0
  510. package/dist/skills/pi-subagents/references/prompting-and-roles.md +45 -94
  511. package/dist/skills/ponytail/SKILL.md +12 -8
  512. package/dist/skills/ponytail-audit/SKILL.md +0 -1
  513. package/dist/skills/ponytail-debt/SKILL.md +0 -1
  514. package/dist/skills/ponytail-gain/SKILL.md +0 -1
  515. package/dist/skills/ponytail-help/SKILL.md +4 -3
  516. package/dist/skills/ponytail-review/SKILL.md +0 -1
  517. package/dist/skills/redesign-existing-projects/SKILL.md +179 -0
  518. package/dist/skills/stitch-design-taste/SKILL.md +185 -0
  519. package/dist/skills/unlazy/CHANGELOG.md +100 -0
  520. package/dist/skills/unlazy/CONTRIBUTING.md +66 -0
  521. package/dist/skills/unlazy/LICENSE +21 -0
  522. package/dist/skills/unlazy/README.md +242 -0
  523. package/dist/skills/unlazy/SECURITY.md +70 -0
  524. package/dist/skills/unlazy/SKILL.md +100 -0
  525. package/dist/skills/unlazy/package.json +13 -0
  526. package/dist/skills/unlazy/references/dispatch.md +82 -0
  527. package/dist/skills/unlazy/references/gates.md +132 -0
  528. package/dist/skills/unlazy/references/method.md +49 -0
  529. package/dist/skills/unlazy/references/orchestration.md +99 -0
  530. package/dist/skills/unlazy/references/parallel.md +123 -0
  531. package/dist/skills/unlazy/references/token-economy.md +39 -0
  532. package/dist/skills/unlazy/research/validation-protocol.md +81 -0
  533. package/dist/skills/unlazy/scripts/dispatch-check.mjs +108 -0
  534. package/dist/skills/unlazy/scripts/gate-check.mjs +894 -0
  535. package/dist/skills/unlazy/scripts/gate-lint.mjs +178 -0
  536. package/dist/skills/unlazy/scripts/install-hooks.mjs +206 -0
  537. package/dist/skills/unlazy/scripts/lib/check-supervisor.mjs +46 -0
  538. package/dist/skills/unlazy/scripts/lib/dispatch.mjs +283 -0
  539. package/dist/skills/unlazy/scripts/lib/gates.mjs +629 -0
  540. package/dist/skills/unlazy/scripts/lib/process-tree.mjs +161 -0
  541. package/dist/skills/unlazy/scripts/lib/regex-worker.mjs +9 -0
  542. package/dist/skills/unlazy/scripts/stop-hook.mjs +174 -0
  543. package/dist/skills/unlazy/templates/PLAN.md +65 -0
  544. package/dist/skills/unlazy/templates/gates-leaf.md +51 -0
  545. package/dist/skills/unlazy/templates/gates-node.md +50 -0
  546. package/dist/skills/unlazy/tests/contract-tests.mjs +127 -0
  547. package/dist/skills/unlazy/tests/dispatch-tests.mjs +481 -0
  548. package/dist/skills/unlazy/tests/hardening-tests.mjs +903 -0
  549. package/dist/skills/unlazy/tests/lint-tests.mjs +242 -0
  550. package/dist/skills/unlazy/tests/run-tests.mjs +554 -0
  551. package/dist/skills/unlazy/tests/self-check.mjs +165 -0
  552. package/dist/skills/unlazy/tests/stress-tests.mjs +356 -0
  553. package/dist/skills/web-design-guidelines/SKILL.md +40 -0
  554. package/docs/settings.md +0 -5
  555. package/package.json +1 -1
  556. package/dist/core/tools/schema-prune.d.ts +0 -16
  557. package/dist/core/tools/schema-prune.js +0 -39
  558. package/dist/core/tools/schema-prune.test.d.ts +0 -1
  559. package/dist/core/tools/schema-prune.test.js +0 -111
  560. package/dist/extensions/pi-subagents/UPSTREAM-V0.50-MAPPING.md +0 -172
  561. package/dist/extensions/pi-subagents/prompts/parallel-context-build.md +0 -55
  562. package/dist/extensions/pi-subagents/prompts/parallel-handoff-plan.md +0 -61
  563. package/dist/extensions/pi-subagents/src/agents/task-aware-routing.ts +0 -132
  564. package/dist/extensions/pi-subagents/src/extension/chain-validation.ts +0 -181
  565. package/dist/extensions/pi-subagents/src/runs/foreground/chain-clarify.ts +0 -1354
  566. package/dist/extensions/pi-subagents/src/runs/foreground/chain-execution.ts +0 -1581
  567. package/dist/extensions/pi-subagents/src/shared/env.ts +0 -16
  568. package/dist/extensions/pi-subagents/src/shared/session-lineage.ts +0 -71
  569. package/dist/extensions/pi-subagents/src/slash/inline-subagents.ts +0 -136
  570. package/dist/extensions/pi-subagents/src/workflows/workflow-auto-relaunch.ts +0 -41
  571. package/dist/extensions/pi-subagents/test/integration/chain-clarify.test.ts +0 -466
  572. package/dist/extensions/pi-subagents/test/integration/chain-execution.test.ts +0 -1859
  573. package/dist/extensions/pi-subagents/test/integration/parallel-execution.test.ts +0 -733
  574. package/dist/extensions/pi-subagents/test/unit/builtin-agent-documentation.test.ts +0 -63
  575. package/dist/extensions/pi-subagents/test/unit/chain-validation.test.ts +0 -326
  576. package/dist/extensions/pi-subagents/test/unit/handoff-adoption.test.ts +0 -103
  577. package/dist/extensions/pi-subagents/test/unit/inline-subagents.test.ts +0 -127
  578. package/dist/extensions/pi-subagents/test/unit/session-lineage.test.ts +0 -73
  579. package/dist/extensions/pi-subagents/test/unit/task-aware-routing.test.ts +0 -213
  580. package/dist/extensions/pi-subagents/test/unit/workflow-auto-relaunch.test.ts +0 -65
@@ -8,10 +8,12 @@ import type { Message } from "@earendil-works/pi-ai";
8
8
  import type { AgentConfig } from "../agents/agents.ts";
9
9
  import type { FSWatcher } from "node:fs";
10
10
  import type { ExtensionContext } from "@selesai/code";
11
- import type { ModelScopeConfig } from "../runs/shared/model-scope.ts";
11
+ import type { ModelScopeRule } from "../runs/shared/model-scope.ts";
12
12
  import type { ResolvedSubagentCapabilityCeiling, SubagentCapabilityAudit } from "../runs/shared/capability-ceiling.ts";
13
13
  import type { AuthorityPolicyConfig } from "../policy/authority.ts";
14
+ import type { ThinkingLevel } from "./model-info.ts";
14
15
  import type { GlobalMissionIndexRecord, MissionRecord, MissionStoreConfig } from "../missions/types.ts";
16
+ import type { ExtensionBindings } from "../runs/shared/extension-bindings.ts";
15
17
 
16
18
  // ============================================================================
17
19
  // Basic Types
@@ -41,7 +43,7 @@ export type WorkflowNodeStatus = "pending" | "running" | "completed" | "failed"
41
43
 
42
44
  export interface WorkflowGraphNode {
43
45
  id: string;
44
- kind: "step" | "parallel-group" | "dynamic-parallel-group" | "agent" | "checkpoint";
46
+ kind: "step" | "parallel-group" | "dynamic-parallel-group" | "agent";
45
47
  agent?: string;
46
48
  phase?: string;
47
49
  label: string;
@@ -61,16 +63,6 @@ export interface WorkflowGraphNode {
61
63
  structured?: boolean;
62
64
  acceptanceStatus?: AcceptanceLedgerStatus;
63
65
  error?: string;
64
- checkpoint?: ChainCheckpointState;
65
- }
66
-
67
- export interface ChainCheckpointState {
68
- name: string;
69
- message?: string;
70
- status: "pending" | "approved" | "rejected";
71
- stepIndex: number;
72
- approvedAt?: number;
73
- rejectedAt?: number;
74
66
  }
75
67
 
76
68
  export interface WorkflowGraphSnapshot {
@@ -81,6 +73,29 @@ export interface WorkflowGraphSnapshot {
81
73
  currentNodeId?: string;
82
74
  }
83
75
 
76
+ export type WorkflowReceiptState = "complete" | "failed" | "paused" | "stopped";
77
+
78
+ type WorkflowReceiptEntryResumability =
79
+ | { latestRunId: string; resumability: { state: "resumable" } }
80
+ | { latestRunId?: string; resumability: { state: "not-resumable"; reason: string } };
81
+
82
+ export type WorkflowReceiptEntry = WorkflowReceiptEntryResumability & {
83
+ key: string;
84
+ agent?: string;
85
+ requestedContext?: "fresh" | "fork";
86
+ resolvedContext?: "fresh" | "fork" | "mixed";
87
+ outputReference?: string;
88
+ continuation: { runIds: string[] };
89
+ };
90
+
91
+ export interface WorkflowReceipt {
92
+ version: 1;
93
+ workflowRunId: string;
94
+ state: WorkflowReceiptState;
95
+ createdAt: number;
96
+ entries: Record<string, WorkflowReceiptEntry>;
97
+ }
98
+
84
99
  export interface SavedOutputReference {
85
100
  path: string;
86
101
  bytes: number;
@@ -171,6 +186,7 @@ export interface ControlConfig {
171
186
  export interface ResolvedControlConfig {
172
187
  enabled: boolean;
173
188
  needsAttentionAfterMs: number;
189
+ needsAttentionAfterMsIsExplicit?: boolean;
174
190
  activeNoticeAfterMs: number;
175
191
  activeNoticeAfterTurns?: number;
176
192
  activeNoticeAfterTokens?: number;
@@ -224,6 +240,10 @@ export interface ControlEvent {
224
240
  currentPath?: string;
225
241
  elapsedMs?: number;
226
242
  recentFailureSummary?: string;
243
+ workflowKey?: string;
244
+ phase?: string;
245
+ label?: string;
246
+ taskPreview?: string;
227
247
  }
228
248
 
229
249
  export type SubagentResultStatus = "completed" | "failed" | "paused" | "stopped" | "detached";
@@ -282,7 +302,7 @@ export interface ParallelHandoffGroup {
282
302
  export interface ParallelHandoffManifest {
283
303
  version: 1;
284
304
  runId: string;
285
- mode: "parallel" | "chain";
305
+ mode: "single" | "parallel" | "chain";
286
306
  source: "foreground" | "async";
287
307
  cwd: string;
288
308
  createdAt: number;
@@ -324,17 +344,54 @@ export interface ReviewProjection {
324
344
  }
325
345
 
326
346
  export interface FileMutationEffect {
327
- status: "not-requested" | "not-applicable" | "observed" | "missing";
347
+ status: "not-requested" | "not-applicable" | "observed" | "missing" | "blocked";
328
348
  expected: boolean;
329
349
  attempted: boolean;
330
350
  message?: string;
331
351
  resolvedBy?: "llm-intent-arbiter";
352
+ evidence?: TrackedMutationEvidence;
332
353
  }
333
354
 
334
355
  export interface EffectsProjection {
335
356
  fileMutation?: FileMutationEffect;
336
357
  }
337
358
 
359
+ export interface TrackedMutationSnapshot {
360
+ source: "tracked-files";
361
+ trackedOnly: true;
362
+ cwd: string;
363
+ gitRoot?: string;
364
+ dirtyFiles: string[];
365
+ fingerprints: Record<string, TrackedMutationFingerprint>;
366
+ truncated?: boolean;
367
+ unavailable?: string;
368
+ }
369
+
370
+ export type TrackedMutationFingerprint = { kind: "diff"; digest: string };
371
+
372
+ export interface TrackedMutationEvidence {
373
+ source: "tracked-files";
374
+ trackedOnly: true;
375
+ changedFiles: string[];
376
+ attemptedMutation: boolean;
377
+ truncated?: boolean;
378
+ unavailable?: string;
379
+ }
380
+
381
+ export interface TimeoutRecoverySummary {
382
+ termination: "timed-out" | "stopped";
383
+ changedFiles: string[];
384
+ truncated?: boolean;
385
+ currentTool?: string;
386
+ currentToolArgs?: string;
387
+ currentPath?: string;
388
+ sessionFile?: string;
389
+ transcriptPath?: string;
390
+ artifactPaths?: ArtifactPaths;
391
+ warning: string;
392
+ message: string;
393
+ }
394
+
338
395
  export const SUBAGENT_LIFECYCLE_ARTIFACT_VERSION = 3;
339
396
  export type SubagentLifecycleArtifactVersion = typeof SUBAGENT_LIFECYCLE_ARTIFACT_VERSION;
340
397
 
@@ -415,6 +472,12 @@ export type ProcessTerminalV1 =
415
472
  diagnostic?: string;
416
473
  });
417
474
 
475
+ /** Identifies the durable schedule that launched a run, so its completion is attributable. */
476
+ export interface ScheduleOrigin {
477
+ id: string;
478
+ name?: string;
479
+ }
480
+
418
481
  export type SteeringActionState = "delivered" | "scheduled" | "pending" | "partial" | "recovered" | "failed";
419
482
  export type SteeringTargetState = "scheduled" | "pending" | "routed" | "queued" | "delivered" | "late" | "failed" | "recovered";
420
483
 
@@ -501,6 +564,7 @@ export interface RunFanoutRejection extends RunFanoutBudgetSnapshot {
501
564
  export interface SteeringRecoveryDescriptor {
502
565
  version: 1;
503
566
  launchContractDigest?: string;
567
+ extensionBindings?: ExtensionBindings;
504
568
  runFanoutBudget: RunFanoutBudgetDescriptor;
505
569
  sourceRunId: string;
506
570
  agentContract?: AgentContract;
@@ -508,8 +572,12 @@ export interface SteeringRecoveryDescriptor {
508
572
  sessionFile?: string;
509
573
  cwd: string;
510
574
  model?: string;
575
+ modelProvider?: string;
576
+ modelOverrideFromParent?: boolean;
511
577
  fallbackModels?: string[];
578
+ fast?: boolean;
512
579
  thinking?: string;
580
+ thinkingCeiling?: ThinkingLevel;
513
581
  tools?: string[];
514
582
  extensions?: string[];
515
583
  subagentOnlyExtensions?: string[];
@@ -528,6 +596,8 @@ export interface SteeringRecoveryDescriptor {
528
596
  structuredOutputSchema?: JsonSchemaObject;
529
597
  acceptance?: AcceptanceInput;
530
598
  controlConfig?: ResolvedControlConfig;
599
+ /** Resolved launch context for this async child. */
600
+ context?: "fresh" | "fork";
531
601
  /** Raw per-run bridge override. Omitted descriptors continue to use global config. */
532
602
  intercomBridge?: IntercomBridgeConfig;
533
603
  absoluteDeadlineAt?: number;
@@ -911,6 +981,7 @@ export interface SingleResult {
911
981
  context?: "fresh" | "fork";
912
982
  exitCode: number;
913
983
  processSignal?: string | null;
984
+ timeoutRecovery?: TimeoutRecoverySummary;
914
985
  detached?: boolean;
915
986
  detachedReason?: string;
916
987
  interrupted?: boolean;
@@ -930,6 +1001,13 @@ export interface SingleResult {
930
1001
  modelAttempts?: ModelAttempt[];
931
1002
  controlEvents?: ControlEvent[];
932
1003
  error?: string;
1004
+ /**
1005
+ * True when the dispatch failed because the input exceeded the model's
1006
+ * context window. The model fallback loop stops immediately (retrying the
1007
+ * same input on another model cannot succeed). Callers should treat this as
1008
+ * a signal to reduce input size or re-decompose the task.
1009
+ */
1010
+ contextOverflow?: boolean;
933
1011
  protocolError?: ProtocolOutputLimit;
934
1012
  sessionFile?: string;
935
1013
  skills?: string[];
@@ -995,6 +1073,7 @@ export interface WaitCompletionChild {
995
1073
  outputState?: SubagentOutputState;
996
1074
  error?: string;
997
1075
  model?: string;
1076
+ contextOverflow?: boolean;
998
1077
  artifactPaths?: Partial<ArtifactPaths>;
999
1078
  }
1000
1079
 
@@ -1057,7 +1136,6 @@ export interface Details {
1057
1136
  totalSteps?: number; // Total steps in chain
1058
1137
  currentStepIndex?: number; // 0-indexed current step (for running chains)
1059
1138
  workflowGraph?: WorkflowGraphSnapshot;
1060
- checkpoint?: ChainCheckpointState;
1061
1139
  outputs?: ChainOutputMap;
1062
1140
  // Aggregated child usage across all agents in the run
1063
1141
  totalChildUsage?: Usage;
@@ -1087,9 +1165,9 @@ export interface Details {
1087
1165
  workflow?: {
1088
1166
  value?: unknown;
1089
1167
  trace: Array<{
1090
- operation: "run" | "status";
1168
+ operation: "run" | "status" | "steer";
1091
1169
  key: string;
1092
- state: "started" | "completed" | "failed" | "detached" | "stopped" | "reused";
1170
+ state: "started" | "completed" | "failed" | "detached" | "stopped" | "reused" | "queued" | "delivered" | "missed";
1093
1171
  agent?: string;
1094
1172
  runId?: string;
1095
1173
  phase?: string;
@@ -1099,9 +1177,11 @@ export interface Details {
1099
1177
  }>;
1100
1178
  emits: unknown[];
1101
1179
  console: Array<{ level: "log" | "info" | "warn" | "error"; text: string }>;
1180
+ /** Terminal keyed child receipt. Async workflows also persist it beside status.json. */
1181
+ receipt?: WorkflowReceipt;
1102
1182
  };
1103
1183
  chatProgress?: {
1104
- mode: "off" | "terminal" | "milestones" | "live-card";
1184
+ mode: "off" | "live-card";
1105
1185
  repoRelation: "same" | "other";
1106
1186
  repoLabel?: string;
1107
1187
  };
@@ -1266,6 +1346,7 @@ export interface AsyncStartedEvent {
1266
1346
  sessionRoot?: string;
1267
1347
  pid?: number;
1268
1348
  sessionId?: string;
1349
+ completionOwnerId?: string;
1269
1350
  mode?: SubagentRunMode;
1270
1351
  agent?: string;
1271
1352
  agents?: string[];
@@ -1277,7 +1358,6 @@ export interface AsyncStartedEvent {
1277
1358
  chainStepCount?: number;
1278
1359
  parallelGroups?: AsyncParallelGroupStatus[];
1279
1360
  workflowGraph?: WorkflowGraphSnapshot;
1280
- checkpoint?: ChainCheckpointState;
1281
1361
  launchContractDigest?: string;
1282
1362
  launchResolvedExtensions?: LaunchResolvedChildExtensionsV1;
1283
1363
  runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1;
@@ -1298,6 +1378,11 @@ export type AgentRunnerConfig =
1298
1378
  command: string;
1299
1379
  args?: string[];
1300
1380
  promptDelivery?: "stdin";
1381
+ }
1382
+ | {
1383
+ type: "external-job";
1384
+ provider: string;
1385
+ options?: Record<string, unknown>;
1301
1386
  };
1302
1387
 
1303
1388
  export interface ExternalCliRunnerStatus {
@@ -1314,6 +1399,41 @@ export interface ExternalCliRunnerStatus {
1314
1399
  };
1315
1400
  }
1316
1401
 
1402
+ export interface ExternalJobRunnerStatus {
1403
+ type: "external-job";
1404
+ provider: string;
1405
+ options: Record<string, unknown>;
1406
+ capabilities: {
1407
+ stop: false;
1408
+ steer: false;
1409
+ resume: false;
1410
+ structuredOutput: false;
1411
+ toolEvents: false;
1412
+ };
1413
+ }
1414
+
1415
+ export interface ExternalJobStatus {
1416
+ provider: string;
1417
+ providerJobId?: string;
1418
+ promptDigest: string;
1419
+ operation?: "start" | "follow-up";
1420
+ sourceRunId?: string;
1421
+ sourceStepIndex?: number;
1422
+ parentProviderJobId?: string;
1423
+ requestId?: string;
1424
+ requestDigest?: string;
1425
+ options: Record<string, unknown>;
1426
+ handleUrl?: string;
1427
+ conversationUrl?: string;
1428
+ resultArtifactPath?: string;
1429
+ state: "queued" | "running" | "completed" | "failed" | "stopped" | "blocked";
1430
+ failureCode?: string;
1431
+ failureMessage?: string;
1432
+ blockingJobId?: string;
1433
+ startedAt?: number;
1434
+ updatedAt?: number;
1435
+ }
1436
+
1317
1437
  export interface ExternalProcessStatus {
1318
1438
  pid?: number;
1319
1439
  startedAt: number;
@@ -1328,6 +1448,8 @@ export interface ExternalProcessStatus {
1328
1448
  export interface AsyncStatus {
1329
1449
  lifecycleArtifactVersion?: SubagentLifecycleArtifactVersion;
1330
1450
  runId: string;
1451
+ /** Parent Pi process/window that owns local completion delivery. */
1452
+ completionOwnerId?: string;
1331
1453
  /** Host tool-call id retained when it differs from the internal run id. */
1332
1454
  toolCallId?: string;
1333
1455
  sessionId?: string;
@@ -1361,14 +1483,13 @@ export interface AsyncStatus {
1361
1483
  usageBudget?: UsageBudgetState;
1362
1484
  pid?: number;
1363
1485
  cwd?: string;
1486
+ /** Parent-resolved child session root retained for trusted restored transcript lookup. */
1487
+ sessionRoot?: string;
1364
1488
  currentStep?: number;
1365
1489
  chainStepCount?: number;
1366
1490
  pendingAppends?: number;
1367
1491
  parallelGroups?: AsyncParallelGroupStatus[];
1368
1492
  workflowGraph?: WorkflowGraphSnapshot;
1369
- /** Auto-relaunch count when a workflow budget result triggered a fresh top-level run. */
1370
- workflowRelaunchCount?: number;
1371
- checkpoint?: ChainCheckpointState;
1372
1493
  processTerminal?: ProcessTerminalV1;
1373
1494
  runFanoutBudget?: RunFanoutBudgetSnapshot;
1374
1495
  runFanoutBudgetDescriptor?: RunFanoutBudgetDescriptor;
@@ -1380,10 +1501,15 @@ export interface AsyncStatus {
1380
1501
  workflow?: Details["workflow"];
1381
1502
  parentWorkflowRunId?: string;
1382
1503
  workflowKey?: string;
1504
+ /** Set when a durable schedule launched this run, so completions can name their origin. */
1505
+ scheduleOrigin?: ScheduleOrigin;
1383
1506
  steps?: Array<{
1507
+ /** Stable caller-facing child identity for inspect/status/stop. */
1508
+ childId?: string;
1384
1509
  agent: string;
1385
- runner?: ExternalCliRunnerStatus;
1510
+ runner?: ExternalCliRunnerStatus | ExternalJobRunnerStatus;
1386
1511
  externalProcess?: ExternalProcessStatus;
1512
+ externalJob?: ExternalJobStatus;
1387
1513
  /** Resolved launch context for this child step. */
1388
1514
  context?: "fresh" | "fork";
1389
1515
  /** Short caller-facing task/goal shown in fleet surfaces when available. */
@@ -1398,8 +1524,9 @@ export interface AsyncStatus {
1398
1524
  parentWorkflowRunId?: string;
1399
1525
  outputName?: string;
1400
1526
  structured?: boolean;
1401
- checkpoint?: ChainCheckpointState;
1402
1527
  status: "pending" | "running" | "complete" | "completed" | "failed" | "paused" | "stopped" | "rejected";
1528
+ stopRequested?: boolean;
1529
+ stopRequestedAt?: number;
1403
1530
  children?: NestedRunSummary[];
1404
1531
  sessionFile?: string;
1405
1532
  transcriptPath?: string;
@@ -1419,6 +1546,7 @@ export interface AsyncStatus {
1419
1546
  durationMs?: number;
1420
1547
  exitCode?: number | null;
1421
1548
  timedOut?: boolean;
1549
+ timeoutRecovery?: TimeoutRecoverySummary;
1422
1550
  stopped?: boolean;
1423
1551
  turnBudget?: TurnBudgetState;
1424
1552
  turnBudgetExceeded?: boolean;
@@ -1429,8 +1557,11 @@ export interface AsyncStatus {
1429
1557
  skills?: string[];
1430
1558
  model?: string;
1431
1559
  thinking?: string;
1560
+ thinkingCeiling?: ThinkingLevel;
1432
1561
  attemptedModels?: string[];
1433
1562
  modelAttempts?: ModelAttempt[];
1563
+ /** True when the child input exceeded the model context window. */
1564
+ contextOverflow?: boolean;
1434
1565
  totalCost?: CostSummary;
1435
1566
  steering?: SteeringStatus;
1436
1567
  error?: string;
@@ -1467,8 +1598,6 @@ export type AsyncJobStep = NonNullable<AsyncStatus["steps"]>[number] & {
1467
1598
  export interface AsyncJobState {
1468
1599
  asyncId: string;
1469
1600
  asyncDir: string;
1470
- /** True when the job was adopted from a previous session via lineage carry-over. */
1471
- adopted?: boolean;
1472
1601
  /** Host tool-call id retained when it differs from the internal run id. */
1473
1602
  toolCallId?: string;
1474
1603
  /** Parent-resolved launch directory retained for trusted live artifact lookup. */
@@ -1480,6 +1609,7 @@ export interface AsyncJobState {
1480
1609
  description?: string;
1481
1610
  pid?: number;
1482
1611
  sessionId?: string;
1612
+ completionOwnerId?: string;
1483
1613
  activityState?: ActivityState;
1484
1614
  lastActivityAt?: number;
1485
1615
  currentTool?: string;
@@ -1496,7 +1626,6 @@ export interface AsyncJobState {
1496
1626
  chainStepCount?: number;
1497
1627
  parallelGroups?: AsyncParallelGroupStatus[];
1498
1628
  steps?: AsyncJobStep[];
1499
- checkpoint?: ChainCheckpointState;
1500
1629
  stepsTotal?: number;
1501
1630
  runningSteps?: number;
1502
1631
  completedSteps?: number;
@@ -1557,6 +1686,8 @@ export interface ForegroundResumeChild {
1557
1686
  acceptance?: AcceptanceLedger;
1558
1687
  agentContract?: AgentContract;
1559
1688
  launchContractDigest?: string;
1689
+ /** Private retained launch authority. Never project into status or result output. */
1690
+ extensionBindings?: ExtensionBindings;
1560
1691
  launchResolvedExtensions?: LaunchResolvedChildExtensionsV1;
1561
1692
  runtimeAcknowledgedExtensions?: RuntimeAcknowledgedChildExtensionsV1;
1562
1693
  execution?: ExecutionProjection;
@@ -1574,7 +1705,6 @@ export interface ForegroundResumeRun {
1574
1705
  /** Originating parent session. Detached exits can outlive the active session. */
1575
1706
  sessionId?: string;
1576
1707
  updatedAt: number;
1577
- checkpoint?: ChainCheckpointState;
1578
1708
  children: ForegroundResumeChild[];
1579
1709
  }
1580
1710
 
@@ -1667,12 +1797,8 @@ export interface ActiveAsyncCapacitySnapshot {
1667
1797
  export interface SubagentState {
1668
1798
  baseCwd: string;
1669
1799
  currentSessionId: string | null;
1670
- /** Ordered session identities (session file paths) whose workflow estate this session adopts, self first. */
1671
- sessionLineage?: string[];
1672
- /** Earliest result-file mtime eligible for adoption from lineage sessions (replay guard). */
1673
- adoptedResultWindowStart?: number;
1674
- /** Set when a session switch adopted live workflows; consumed on the first settled turn to inject a carry-over summary. */
1675
- handoffResumePending?: boolean;
1800
+ /** Reload-stable identity for this parent Pi process/window. */
1801
+ completionOwnerId?: string;
1676
1802
  /** Runtime-owned artifact resolution inputs used by Fleet transcript targeting. */
1677
1803
  artifactDirPreference?: ArtifactDirPreference;
1678
1804
  /** Runtime authority snapshot used by optional inspector controls. */
@@ -1696,6 +1822,8 @@ export interface SubagentState {
1696
1822
  };
1697
1823
  /** Current-session top-level async capacity projection. */
1698
1824
  activeAsyncCapacity?: ActiveAsyncCapacitySnapshot;
1825
+ /** Herdr project panes opened by this Pi session, keyed by project root. */
1826
+ herdrProjectPanes?: Map<string, HerdrProjectPaneSnapshot>;
1699
1827
  asyncJobs: Map<string, AsyncJobState>;
1700
1828
  /** Current-session active and recent async runs for the native fleet inspector. */
1701
1829
  fleetJobs?: Map<string, AsyncJobState>;
@@ -1722,6 +1850,26 @@ export interface SubagentState {
1722
1850
  waitSubscriptions?: Map<string, WaitSubscriptionRecord>;
1723
1851
  /** Live in-process workflow controllers. Durable status remains on disk after settlement. */
1724
1852
  workflowControllers?: Map<string, AbortController>;
1853
+ /** Live in-process workflow child stoppers keyed by parent workflow run id. */
1854
+ workflowChildStops?: Map<string, (childId: string, message?: string) => boolean>;
1855
+ }
1856
+
1857
+ export interface HerdrProjectPaneSnapshot {
1858
+ projectRoot: string;
1859
+ bindingPath: string;
1860
+ paneId: string;
1861
+ openedAt: string;
1862
+ lastFocusedAt?: string;
1863
+ state: "open" | "stale";
1864
+ agentStatus: string;
1865
+ ownership: "verified" | "unknown" | "mismatch";
1866
+ safeToClose: boolean;
1867
+ refreshedAt: number;
1868
+ summary?: string;
1869
+ tabId?: string;
1870
+ workspaceId?: string;
1871
+ terminalTitle?: string;
1872
+ staleReason?: string;
1725
1873
  }
1726
1874
 
1727
1875
  // ============================================================================
@@ -1757,9 +1905,28 @@ export const SUBAGENT_FOREGROUND_COMPLETE_EVENT = "subagent:foreground-complete"
1757
1905
  export const SUBAGENT_CONTROL_EVENT = "subagent:control-event";
1758
1906
  export const SUBAGENT_CONTROL_INTERCOM_EVENT = "subagent:control-intercom";
1759
1907
  export const SUBAGENT_STEERING_NOTICE_EVENT = "subagent:steering-notice";
1908
+ export const SUBAGENT_CHILD_STATUS_EVENT = "subagent:child-status";
1760
1909
  export const SUBAGENT_RESULT_INTERCOM_EVENT = "subagent:result-intercom";
1761
1910
  export const SUBAGENT_RESULT_INTERCOM_DELIVERY_EVENT = "subagent:result-intercom-delivery";
1762
1911
 
1912
+ export interface SubagentChildStatusEvent {
1913
+ type: "subagent.child-status";
1914
+ version: 1;
1915
+ runId: string;
1916
+ childId: string;
1917
+ status: "stopping" | "stopped";
1918
+ ts: number;
1919
+ reason?: string;
1920
+ source?: "rpc" | "async";
1921
+ asyncDir?: string;
1922
+ stepIndex?: number;
1923
+ agent?: string;
1924
+ childRunId?: string;
1925
+ workflowKey?: string;
1926
+ phase?: string;
1927
+ label?: string;
1928
+ }
1929
+
1763
1930
  // ============================================================================
1764
1931
  // Execution Options
1765
1932
  // ============================================================================
@@ -1821,22 +1988,29 @@ export interface RunSyncOptions {
1821
1988
  nestedRoute?: NestedRouteInfo;
1822
1989
  /** Override the agent's default model (format: "provider/id" or just "id") */
1823
1990
  modelOverride?: string;
1991
+ /** Opt into priority service tier for supported native OpenAI-Codex launches. */
1992
+ fast?: boolean;
1993
+ /** The override came from the running parent session, not configuration. */
1994
+ modelOverrideFromParent?: boolean;
1824
1995
  /** LLM intent arbiter for the completion mutation guard (rescues read-only review runs). */
1825
1996
  llmIntentArbiter?: import("../runs/shared/llm-intent-arbiter.ts").TaskMutationArbiter;
1826
1997
  /** Override the agent's default thinking level for this run */
1827
1998
  thinkingOverride?: AgentConfig["thinking"];
1999
+ thinkingCeiling?: ThinkingLevel;
2000
+ extensionBindings?: ExtensionBindings;
1828
2001
  /** Registry models available for heuristic bare-model resolution */
1829
2002
  availableModels?: Array<{ provider: string; id: string; fullId: string }>;
1830
2003
  /** Current parent-session provider to prefer for ambiguous bare model ids */
1831
2004
  preferredModelProvider?: string;
1832
2005
  /** Optional subagent model-scope enforcement for fallback candidates */
1833
- modelScope?: ModelScopeConfig;
2006
+ modelScope?: ModelScopeRule | ModelScopeRule[];
1834
2007
  /** Skills to make available (overrides agent default if provided) */
1835
2008
  skills?: string[];
1836
2009
  structuredOutput?: {
1837
2010
  schema: JsonSchemaObject;
1838
2011
  schemaPath: string;
1839
2012
  outputPath: string;
2013
+ acceptanceReportPath?: string;
1840
2014
  };
1841
2015
  agentContract?: AgentContract;
1842
2016
  acceptance?: AcceptanceInput;
@@ -1912,7 +2086,7 @@ export type FleetKeybindingAction = typeof FLEET_KEYBINDING_ACTIONS[number];
1912
2086
  export type FleetKeybindingsConfig = Partial<Record<FleetKeybindingAction, string[]>>;
1913
2087
 
1914
2088
  export interface OrcaProgressTabsConfig {
1915
- /** Create one Orca terminal tab per running subagent. Experimental and opt-in. */
2089
+ /** Create one Orca observer tab per top-level subagent call. Experimental and opt-in. */
1916
2090
  enabled?: boolean;
1917
2091
  }
1918
2092
 
@@ -1925,6 +2099,8 @@ export interface MainWindowRendererConfig {
1925
2099
 
1926
2100
  export interface ExtensionConfig {
1927
2101
  asyncByDefault?: boolean;
2102
+ /** Set the context for launches that omit an explicit context. */
2103
+ defaultSubagentContext?: "fresh" | "fork";
1928
2104
  /** Optional shortcut that detaches the active foreground single-subagent run. */
1929
2105
  foregroundDetachShortcut?: string;
1930
2106
  /** Show the Claude Code-style navigable fleet. Defaults to true. */
@@ -1935,10 +2111,8 @@ export interface ExtensionConfig {
1935
2111
  fleetKeybindings?: FleetKeybindingsConfig;
1936
2112
  /** Show the under-editor async runs widget. Defaults to true, including when FleetView is enabled. */
1937
2113
  asyncWidget?: boolean;
1938
- /** Tool description variant registered for the parent-facing subagent tool. Defaults to compact. */
2114
+ /** Tool description variant registered for the parent-facing subagent tool. Defaults to split metadata. */
1939
2115
  toolDescriptionMode?: ToolDescriptionMode;
1940
- /** Include legacy append-step and checkpoint controls in the registered tool schema. Defaults to false. */
1941
- legacyChainControls?: boolean;
1942
2116
  /** Inline chat rendering for the subagent tool. Defaults to rich. */
1943
2117
  inlineToolDisplay?: InlineToolDisplay;
1944
2118
  /** Density controls for the main chat subagent call/result renderer. */
@@ -1954,12 +2128,6 @@ export interface ExtensionConfig {
1954
2128
  maxSubagentSpawnsPerSession?: number;
1955
2129
  /** Cumulative logical-child cap for one top-level run tree. Defaults to 64. */
1956
2130
  maxSubagentSpawnsPerRun?: number;
1957
- /**
1958
- * Max auto-relaunches when a scripted workflow ends with a fan-out budget
1959
- * result before the goal is clean. Each relaunch is a fresh top-level run
1960
- * with a new fan-out budget. Defaults to 12; 0 means unlimited.
1961
- */
1962
- maxWorkflowAutoRelaunches?: number;
1963
2131
  /** Optional active top-level async run cap per parent session. Unset or 0 means unlimited. */
1964
2132
  maxActiveAsyncRunsPerSession?: number;
1965
2133
  /** Global cap on simultaneously-running subagent tasks within a single run. Defaults to 20. */
@@ -1995,11 +2163,18 @@ export interface ExtensionConfig {
1995
2163
  worktreeSetupHook?: string;
1996
2164
  worktreeSetupHookTimeoutMs?: number;
1997
2165
  worktreeBaseDir?: string;
1998
- /** Where to store subagent artifact files. Defaults to "project" (cwd/.pi-subagents). Set to "session" for pi session dir, or "temp" for OS temp. */
2166
+ /** Where to store subagent artifact files. Defaults to "session" (the pi session directory, or OS temp when unavailable). Set to "project" for cwd/.pi-subagents. */
1999
2167
  artifactDir?: ArtifactDirPreference;
2000
2168
  /** Artifact cleanup retention. Set cleanupDays to 0 to disable cleanup. */
2001
2169
  artifactConfig?: Pick<ArtifactConfig, "cleanupDays">;
2002
2170
  intercomBridge?: IntercomBridgeConfig;
2171
+ /** Control how slow result-index scans are logged. Defaults to \"activity\".
2172
+ * - \"all\": log every slow scan, including scans that find nothing.
2173
+ * - \"activity\": log only slow scans that found or scheduled work. Silences
2174
+ * the periodic healthy rescan that inspects zero files while no async runs
2175
+ * are pending, which otherwise spams the session transcript.
2176
+ * - \"off\": never log slow result-index scans. */
2177
+ resultScanLogging?: "all" | "activity" | "off";
2003
2178
  proactiveSkillSubagents?: ProactiveSkillSubagentsConfig | false;
2004
2179
  scheduledRuns?: ScheduledRunsConfig;
2005
2180
  /** Durable mission behavior. Missions are automatic by default; set enabled:false to disable auto-create. Explicit mission actions/fields still work. */
@@ -2019,7 +2194,7 @@ export const DEFAULT_MAX_OUTPUT: Required<MaxOutputConfig> = {
2019
2194
 
2020
2195
  export const DEFAULT_ARTIFACT_CONFIG: ArtifactConfig = {
2021
2196
  enabled: true,
2022
- dir: "project",
2197
+ dir: "session",
2023
2198
  includeInput: true,
2024
2199
  includeOutput: true,
2025
2200
  includeJsonl: false,
@@ -2083,7 +2258,10 @@ export function resolveTempScopeId(options?: {
2083
2258
 
2084
2259
  const MAX_PARALLEL = 8;
2085
2260
  export const MAX_CONCURRENCY = 4;
2086
- export const TEMP_ROOT_DIR = path.join(os.tmpdir(), `pi-subagents-${resolveTempScopeId()}`);
2261
+ const configuredTempRoot = process.env.SELESAI_SUBAGENTS_TEMP_ROOT?.trim();
2262
+ export const TEMP_ROOT_DIR = configuredTempRoot
2263
+ ? path.resolve(configuredTempRoot)
2264
+ : path.join(os.tmpdir(), `pi-subagents-${resolveTempScopeId()}`);
2087
2265
  export const RESULTS_DIR = path.join(TEMP_ROOT_DIR, "async-subagent-results");
2088
2266
  export const ASYNC_DIR = path.join(TEMP_ROOT_DIR, "async-subagent-runs");
2089
2267
  export const CHAIN_RUNS_DIR = path.join(TEMP_ROOT_DIR, "chain-runs");
@@ -2104,9 +2282,10 @@ export const SLASH_SUBAGENT_RESPONSE_EVENT = "subagent:slash:response";
2104
2282
  export const SLASH_SUBAGENT_UPDATE_EVENT = "subagent:slash:update";
2105
2283
  export const SLASH_SUBAGENT_CANCEL_EVENT = "subagent:slash:cancel";
2106
2284
  export const POLL_INTERVAL_MS = 250;
2285
+ export const WIDGET_ANIMATION_INTERVAL_MS = 1000;
2107
2286
  export const MAX_WIDGET_JOBS = 4;
2108
2287
  export const DEFAULT_SUBAGENT_MAX_DEPTH = 2;
2109
- export const SUBAGENT_ACTIONS = ["list", "get", "models", "children.list", "guide", "create", "update", "delete", "eject", "disable", "enable", "reset", "mission.create", "mission.list", "mission.show", "mission.update", "mission.resolve-decision", "mission.attach-run", "mission.close", "worktree.discard", "refine", "refine.show", "refine.rollback", "inspector.open", "inspector.status", "inspector.close", "project.open", "project.status", "project.close", "status", "debug.run", "grant-spawn-budget", "interrupt", "resume", "steer", "stop", "dismiss", "append-step", "approve-checkpoint", "reject-checkpoint", "doctor", "watchdog.status", "watchdog.check"] as const;
2288
+ export const SUBAGENT_ACTIONS = ["list", "get", "models", "children.list", "guide", "create", "update", "delete", "eject", "disable", "enable", "reset", "mission.create", "mission.list", "mission.show", "mission.update", "mission.resolve-decision", "mission.attach-run", "mission.close", "worktree.discard", "refine", "refine.show", "refine.rollback", "inspector.open", "inspector.status", "inspector.close", "project.open", "project.status", "project.close", "status", "debug.run", "grant-spawn-budget", "interrupt", "resume", "steer", "stop", "dismiss", "doctor", "watchdog.status", "watchdog.check", "watchdog.configure", "watchdog.recommend-model", "schedule.create", "schedule.list", "schedule.show", "schedule.history", "schedule.pause", "schedule.resume", "schedule.run", "schedule.run-due", "schedule.delete"] as const;
2110
2289
 
2111
2290
  export const DEFAULT_FORK_PREAMBLE =
2112
2291
  "You are a delegated subagent running from a fork of the parent session. " +
@@ -15,8 +15,8 @@ import type { AgentProgress, AsyncStatus, Details, DisplayItem, ErrorInfo, Neste
15
15
  // ============================================================================
16
16
 
17
17
  const DEFAULT_CONFIG_DIR_NAME = ".selesai";
18
- const PI_CODING_AGENT_PACKAGE_NAME = "@selesai/code";
19
- export const SELESAI_CODING_AGENT_PACKAGE_ROOT_ENV = "SELESAI_SUBAGENTS_SELESAI_PACKAGE_ROOT";
18
+ const SELESAI_CODING_AGENT_PACKAGE_NAME = "@selesai/code";
19
+ export const SELESAI_CODING_AGENT_PACKAGE_ROOT_ENV = "SELESAI_SUBAGENTS_CODING_AGENT_PACKAGE_ROOT";
20
20
  export const PROMPT_REDACTED = "[prompt redacted]";
21
21
 
22
22
  export function resolveWatchPath(
@@ -42,7 +42,7 @@ function readConfigDirNameFromPackageRoot(packageRoot: string | undefined): stri
42
42
  name?: unknown;
43
43
  piConfig?: { configDir?: unknown };
44
44
  };
45
- if (pkg.name !== PI_CODING_AGENT_PACKAGE_NAME) return undefined;
45
+ if (pkg.name !== SELESAI_CODING_AGENT_PACKAGE_NAME) return undefined;
46
46
  return validConfigDirName(pkg.piConfig?.configDir);
47
47
  } catch {
48
48
  return undefined;
@@ -102,6 +102,7 @@ export function getAgentDir(): string {
102
102
  }
103
103
 
104
104
  const statusCache = new Map<string, { mtime: number; ctime: number; size: number; ino: number; status: AsyncStatus }>();
105
+ const MAX_STATUS_CACHE_ENTRIES = 512;
105
106
 
106
107
  export function pruneStatusCacheForAsyncRoot(asyncDirRoot: string, runIds: Iterable<string>): number {
107
108
  const root = path.resolve(asyncDirRoot);
@@ -163,6 +164,8 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
163
164
  && cached.size === stat.size
164
165
  && cached.ino === stat.ino
165
166
  ) {
167
+ statusCache.delete(statusPath);
168
+ statusCache.set(statusPath, cached);
166
169
  return cached.status;
167
170
  }
168
171
 
@@ -195,6 +198,11 @@ export function readStatus(asyncDir: string): AsyncStatus | null {
195
198
  ino: stat.ino,
196
199
  status,
197
200
  });
201
+ while (statusCache.size > MAX_STATUS_CACHE_ENTRIES) {
202
+ const oldest = statusCache.keys().next().value as string | undefined;
203
+ if (oldest === undefined) break;
204
+ statusCache.delete(oldest);
205
+ }
198
206
  return status;
199
207
  }
200
208