@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
@@ -1,111 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { Type } from "typebox";
3
- import { Value } from "typebox/value";
4
- import { SettingsManager } from "../settings-manager.js";
5
- import { stripSchemaDescriptions, stripToolParameterDescriptions } from "./schema-prune.js";
6
- describe("stripSchemaDescriptions", () => {
7
- it("removes description keys at all depths (properties, anyOf arrays, items)", () => {
8
- const schema = {
9
- type: "object",
10
- description: "root",
11
- properties: {
12
- name: { type: "string", description: "the name" },
13
- tags: {
14
- type: "array",
15
- description: "the tags",
16
- items: { type: "string", description: "a tag" },
17
- },
18
- choice: {
19
- anyOf: [{ type: "string", description: "string branch" }, { type: "number" }],
20
- },
21
- },
22
- };
23
- const stripped = stripSchemaDescriptions(schema);
24
- expect("description" in stripped).toBe(false);
25
- expect("description" in stripped.properties).toBe(false);
26
- expect("description" in stripped.properties.tags).toBe(false);
27
- expect("description" in stripped.properties.tags.items).toBe(false);
28
- expect("description" in stripped.properties.choice.anyOf[0]).toBe(false);
29
- });
30
- it("preserves non-description keys such as type, enum, required, minimum, additionalProperties", () => {
31
- const schema = {
32
- type: "object",
33
- properties: {
34
- level: { type: "string", enum: ["a", "b"], description: "level desc" },
35
- count: { type: "integer", minimum: 1, description: "count desc" },
36
- },
37
- required: ["level"],
38
- additionalProperties: false,
39
- };
40
- const stripped = stripSchemaDescriptions(schema);
41
- expect(stripped).toEqual({
42
- type: "object",
43
- properties: {
44
- level: { type: "string", enum: ["a", "b"] },
45
- count: { type: "integer", minimum: 1 },
46
- },
47
- required: ["level"],
48
- additionalProperties: false,
49
- });
50
- });
51
- it("never mutates the input schema", () => {
52
- const schema = {
53
- type: "object",
54
- properties: { name: { type: "string", description: "the name" } },
55
- };
56
- const snapshot = structuredClone(schema);
57
- stripSchemaDescriptions(schema);
58
- expect(schema).toEqual(snapshot);
59
- expect(schema.properties.name.description).toBe("the name");
60
- });
61
- it("memoizes stripped clones per original root", () => {
62
- const schema = {
63
- type: "object",
64
- properties: { name: { type: "string", description: "the name" } },
65
- };
66
- const first = stripSchemaDescriptions(schema);
67
- const second = stripSchemaDescriptions(schema);
68
- expect(first).toBe(second);
69
- });
70
- it("keeps real TypeBox schemas valid after stripping (symbols survive)", () => {
71
- const schema = Type.Object({
72
- name: Type.String({ description: "the name" }),
73
- age: Type.Optional(Type.Integer({ minimum: 0, description: "the age" })),
74
- });
75
- const stripped = stripSchemaDescriptions(schema);
76
- expect(Value.Check(schema, { name: "pi", age: 3 })).toBe(true);
77
- expect(Value.Check(stripped, { name: "pi", age: 3 })).toBe(true);
78
- expect(Value.Check(stripped, { name: "pi", age: -1 })).toBe(false);
79
- });
80
- });
81
- describe("stripToolParameterDescriptions", () => {
82
- it("keeps the tool description and name while stripping parameter descriptions", () => {
83
- const tool = {
84
- name: "read",
85
- label: "Read",
86
- description: "Read a file",
87
- parameters: {
88
- type: "object",
89
- properties: { path: { type: "string", description: "file path" } },
90
- },
91
- execute: () => Promise.resolve({ content: [], details: {} }),
92
- };
93
- const stripped = stripToolParameterDescriptions(tool);
94
- expect(stripped).not.toBe(tool);
95
- expect(stripped.name).toBe("read");
96
- expect(stripped.description).toBe("Read a file");
97
- expect("description" in stripped.parameters.properties.path).toBe(false);
98
- // Original tool is untouched.
99
- expect("description" in tool.parameters.properties.path).toBe(true);
100
- });
101
- });
102
- describe("pruneToolDescriptions setting", () => {
103
- it("defaults to true", () => {
104
- const manager = SettingsManager.inMemory();
105
- expect(manager.getPruneToolDescriptions()).toBe(true);
106
- });
107
- it("respects explicit true and false", () => {
108
- expect(SettingsManager.inMemory({ pruneToolDescriptions: true }).getPruneToolDescriptions()).toBe(true);
109
- expect(SettingsManager.inMemory({ pruneToolDescriptions: false }).getPruneToolDescriptions()).toBe(false);
110
- });
111
- });
@@ -1,172 +0,0 @@
1
- # Upstream v0.50.0 merge mapping
2
-
3
- Selesai fork of `nicobailon/pi-subagents` updated from v0.48.0 to upstream **v0.50.0**
4
- (v0.49.0 + v0.50.0). This file is the exact reconciliation map: for every changed file,
5
- what upstream did, what the fork had done, and what the merged tree contains. Regenerate
6
- on the next upstream merge (the merge base is always the previously vendored tag).
7
-
8
- Merge method: no shared git history exists (the fork vendors upstream as squashed
9
- commits), so the merge was a file-level 3-way: base = upstream v0.48.0, ours = fork at
10
- HEAD-before-merge, theirs = upstream v0.50.0. For each file, "theirs" was taken as the
11
- new base and the fork's v0.48.0-based hunks were re-applied; hunks that no longer
12
- matched were resolved by hand (listed below).
13
-
14
- Result: `tsc --noEmit` clean, `tsgo` clean for the whole host monorepo, 2060 unit tests
15
- pass (3 skipped), 777 integration tests pass.
16
-
17
- ## Numbers
18
-
19
- | Set | Count | Handling |
20
- | --- | --- | --- |
21
- | Files changed by both fork and upstream (src) | 37 | 3-way merge, hunks re-applied |
22
- | Files changed only by upstream (src) | 33 | v0.50.0 adopted wholesale (+ branding on 3) |
23
- | Files changed only by the fork (src) | 38 | fork versions kept |
24
- | Fork "new" files | 6 | exist **verbatim** in upstream v0.50.0 (our features were upstreamed) |
25
- | Upstream-only test changes | 48 files | v0.50.0 adopted |
26
- | Fork-only test changes | 80 files patched, 7 new files | fork hunks re-applied; 12 files took fork versions, then fixed |
27
-
28
- ## Fork features that upstream v0.50.0 already contains verbatim
29
-
30
- These six fork additions were merged into upstream before v0.50.0; the merged tree uses
31
- the upstream copies (identical content):
32
-
33
- - `src/slash/inline-subagents.ts` (#agent-name inline invocation + autocomplete)
34
- - `src/workflows/workflow-auto-relaunch.ts` (relaunch decision module — note: upstream
35
- ships the module but **does not wire it**; the fork wires it, see below)
36
- - `src/agents/task-aware-routing.ts`
37
- - `src/extension/chain-validation.ts`
38
- - `src/shared/env.ts` (PI_SUBAGENT* → SELESAI_SUBAGENT* legacy shim)
39
- - `src/shared/session-lineage.ts`
40
-
41
- ## Both-changed files (37) — resolutions
42
-
43
- Base for every file is v0.50.0; fork hunks were re-applied. Hand-resolved files:
44
-
45
- | File | Upstream (v0.48→v0.50) | Fork (vs v0.48) | Resolution |
46
- | --- | --- | --- | --- |
47
- | `src/extension/index.ts` | Orca tabs, external jobs, async-status snapshot, detach shortcut, resumable retained children, result-index reload work | branding; lineage goal continuation; resources_discover prompt paths; adoptedActive capacity; formatActiveWorkflowSummary; resetSessionState(previousSessionFile) | v0.50.0 + fork hunks; hand-added: lineage/adoption bits in `resetSessionState`, `formatActiveWorkflowSummary` definition (was referenced but missing), `resources_discover`, adopted-job capacity accounting |
48
- | `src/extension/public-execution.ts` | structured single-child (converts `{agent,task}` → `runs.run("main",…)`), rejects legacy top-level chain/tasks | restores chain/tasks/clarify as first-class | v0.50.0 + fork policy: `clarify` rejected only with workflowScript, top-level `chain`/`tasks` pass through, `schedule.create` accepts direct execution fields, single-child conversion kept (fork executor is v0.50's) |
49
- | `src/extension/schemas.ts` | task param, toolTimeoutMs, debug.run descriptions, agentContract integer bounds (#1095) | top-level `chain`/`tasks`/`clarify`, chatProgress 5-value enum, legacyChainControls trim comment | v0.50.0 + fork's top-level `chain`/`tasks`/`clarify` + 5-value chatProgress enum; v0.50's bounds fix and new descriptions kept |
50
- | `src/extension/tool-description.ts` | rewrote FULL/COMPACT text (single-child + retained resumability) | fork text describing all four modes | fork's FULL/COMPACT text kept (matches fork schema), v0.50's resumable-children wording folded in |
51
- | `src/agents/agents.ts` | `tools: "inherit"`, model validation | branding, extra builtins, home-dir guard, extra-agent-dirs env | v0.50.0 + fork branding/builtins (fork's splitToolList was already upstreamed) |
52
- | `src/runs/background/retained-children.ts` | resumable/not-resumable states | `listRetainedChildren` accepts multiple session ids | v0.50.0 + signature widened to `string \| string[]` (lineage callers) |
53
- | `src/runs/foreground/subagent-executor.ts` | result-files/async-status refactors, detached children as paused | auto-relaunch wiring (fan-out budget exhaustion) | v0.50.0 + re-wired fork auto-relaunch loop around `runWorkflowScript` (async path), with cap-exhaustion → failed run + `relaunchNote` summaries |
54
- | `src/runs/shared/llm-intent-arbiter.ts` | confidence levels, registry-method auth call, fail-closed >8k | simpler arbitration, head+tail truncation | v0.50.0 wholesale (strictly better) + `SELESAI_SUBAGENTS_LLM_INTENT_ARBITER` env rebrand |
55
- | `src/runs/shared/model-fallback.ts` | `resolveRequiredSubagentModelCandidate` (rejects unknown models, #1093) | same-model transient retry (503/429/no-body/econnreset), `MODEL_RETRY_DELAYS_MS`, `formatModelRetryNote` | both: v0.50.0's strict resolution + fork's retry schedule/exports (used by runner/execution) |
56
- | `src/shared/types.ts` | async-status snapshot types, artifact default "session" | `AsyncJobState.adopted`, artifact default "project" + `.pi-subagents` comment | v0.50.0 + `adopted` flag; fork's `DEFAULT_ARTIFACT_CONFIG.dir = "project"` kept (deliberate fork behavior) |
57
- | `src/shared/artifacts.ts` | packaging-warning work | `getArtifactsDir`/`getChainRunsDir` default "project" | v0.50.0 + fork default "project" restored |
58
- | `src/runs/background/result-watcher.ts` | indexed result inbox, session/observer/tool-call indexing | lineage adoption of old-session results | v0.50.0 + fork lineage logic, plus a fork-specific flat-file scan bounded to the adoption window (v0.50's scan only reads the index) |
59
- | `src/slash/slash-commands.ts` | detach command/shortcut, live-state work | export `launchSlashSubagent` (host workflow extension imports it), branding | v0.50.0 + `export` on `launchSlashSubagent` + import rebrand + inline invocation import |
60
- | `src/slash/slash-live-state.ts` | structured single-child initial results | `buildWorkflowInitialResult` + workflow update path | v0.50.0 + fork's workflow preview builder (+ `background` flag for async) |
61
- | `src/tui/fleet-status.ts` | nested-run tree (#1086), spacing config | nested rows (older own implementation) | v0.50.0 wholesale + import rebrand (upstream's tree supersedes fork's) |
62
- | `src/watchdog/review.ts`, `src/watchdog/permission-arbiter.ts`, `src/runs/foreground/prompt-audit.ts` | `agentStreamOptions()` host-API adapter | bare `streamFn` + auth | v0.50.0 wholesale + `@selesai/code` import rebrand (agentStreamOptions emits both `streamFn` and `streamFunction`, compatible with host pi-agent-core 0.84.1) |
63
-
64
- Remaining both-changed files (20) merged mechanically: fork hunks re-applied over v0.50.0
65
- with no conflicts — `extension/config.ts`, `extension/rpc.ts`, `intercom/native-supervisor-channel.ts`,
66
- `runs/background/{async-execution, async-job-tracker, async-status, run-id-resolver, run-status,
67
- scheduled-runs, subagent-runner, subagent-wait}.ts`, `runs/foreground/{chain-execution,
68
- execution}.ts`, `runs/shared/{nested-events, subagent-prompt-runtime}.ts`,
69
- `slash/slash-live-state.ts` (see above), `tui/{fleet, fleet-transcript, render}.ts`,
70
- `workflows/chat-progress.ts`.
71
-
72
- ## Upstream-only files (33 src) — adopted wholesale
73
-
74
- v0.50.0 content taken as-is, then the fork branding transform applied where tokens
75
- appeared. Only three needed it:
76
-
77
- - `src/runs/shared/tool-timeout.ts` — `TOOL_TIMEOUT_ENV` → `SELESAI_SUBAGENT_TOOL_TIMEOUT_MS`, reads via `readSubagentEnv` (PI_ fallback)
78
- - `src/runs/shared/orca-progress-tabs.ts` — `PI_SUBAGENT_ORCA_BINARY` → `SELESAI_SUBAGENT_ORCA_BINARY` via `readSubagentEnv`
79
- - `src/runs/background/async-status-snapshot.ts` — widget prefix → `SELESAI_SUBAGENT_ASYNC_JSON:`
80
-
81
- The other 30 (agent-serializer, api/external-runs, api/preflight, herdr/*, intercom-bridge,
82
- missions/goal-driver, missions/store, result-files, active-*-capacity/index, async-resume,
83
- chain-root-attachment, completion-replay, fleet-view, resume-guidance, stale-run-reconciler,
84
- wait-completions, async-dismiss-action, completion-guard, external-cli-runner, parallel-utils,
85
- subagent-control, subagent-startup-retry, agent-stream-options, display-text, node-executable,
86
- scripted-workflow) are upstream's latest with no fork content to preserve.
87
-
88
- ## Fork-only files (38 src) — kept
89
-
90
- Fork versions kept (upstream did not touch them): agent-management, agent-memory,
91
- agent-refinements, control-notices, doctor, fanout-child, steering-notices, profiles,
92
- notify, wait-config/wait-subscriptions/wait-tool, chain-clarify, foreground-history,
93
- capability-ceiling, permissions, pi-args, pi-spawn, run-fanout-budget,
94
- runtime-acknowledged-extensions, structured-output, tool-availability, tool-budget,
95
- worktree, fork-context, utils, prompt-workflows (`/chain` `/parallel` `/run-chain`
96
- `/chain-prompts`), selector, slash-bridge, subagents-admin, render-helpers,
97
- watchdog/{change-signature, child-status, model-selection, register-child, register-main,
98
- runtime, tool-actions}.
99
-
100
- ## Deliberate fork-vs-upstream behavior decisions (the "how far" answer)
101
-
102
- Kept as fork behavior:
103
-
104
- 1. **Execution surface** — top-level `chain` / `tasks` / `clarify` remain first-class
105
- alongside `{ agent, task }` and `workflowScript`. Upstream v0.50.0 only exposes
106
- structured single-child + workflowScript at the top level; our schemas, public
107
- boundary, tool text, and skill docs advertise all four modes.
108
- 2. **Artifact default** — `DEFAULT_ARTIFACT_CONFIG.dir = "project"` (cwd `.pi-subagents/`).
109
- Upstream moved the default to "session" (#1062) so worktrees stay clean; the fork
110
- keeps project-scoped artifacts and gitignores `.pi-subagents/` subdirs. Consequence:
111
- a worktree with artifacts is not `git status`-clean; the upstream worktree-clean test
112
- is adapted to expect exactly `.pi-subagents/`.
113
- 3. **Mission storage** — upstream relocates automatic mission records out of project
114
- worktrees (`<agentDir>/missions/projects/<hash>`); adopted as-is (fork's
115
- `.pi-subagents/missions` was runtime state, not load-bearing).
116
- 4. **Workflow auto-relaunch wiring** — upstream ships the decision module only; the fork
117
- wires `config.maxWorkflowAutoRelaunches` into the async workflow loop with fresh
118
- fan-out budgets per relaunch and a failed-run outcome at the cap.
119
- 5. **Same-model transient retry** — fork's `MODEL_RETRY_DELAYS_MS` retry schedule on
120
- 503/429/no-body/econnreset, in addition to upstream's fallback-model switching.
121
- 6. **Lineage carry-over** — upstream adopted the fork's session-lineage machinery; the
122
- fork additionally (a) counts adopted jobs against the per-session active async cap,
123
- (b) labels adopted jobs in carry-over summaries, and (c) scans flat result files
124
- during the adoption window (upstream only scans its indexed inbox).
125
- 7. **Branding** — `@selesai/code` host import, `~/.selesai` config dirs, `.pi-subagents`
126
- runtime dir, `SELESAI_SUBAGENT*` / `SELESAI_SUBAGENTS_*` env vars with legacy `PI_`
127
- fallback, extra builtin agents (architect, builder, commentator, explorer, recapper),
128
- `SELESAI_SUBAGENT_EXTRA_AGENT_DIRS`, home directory never treated as a project root.
129
-
130
- Adopted as upstream behavior (fork's prior code superseded):
131
-
132
- 1. Structured single-child converts to a `runs.run("main", …)` workflow internally.
133
- 2. Generic `intercom` tool removed from supervisor coordination (#1107); ceiling audit
134
- removes only `write` + `contact_supervisor`.
135
- 3. `needs_attention` escalation for repeated mutating tool failures (was
136
- `active_long_running` in the fork).
137
- 4. `tools: "inherit"` builtin overrides, model-registry validation before spawn (#1093),
138
- `agentContract.version` integer bounds (#1095).
139
- 5. Retained-children resumability states, detached workflow children shown as paused.
140
- 6. Result inbox indexing, async-status snapshots, Orca progress tabs, external-job
141
- FleetView API, foreground detach shortcut, per-tool-call timeouts, debug.run.
142
-
143
- ## Non-src mapping
144
-
145
- | Area | Resolution |
146
- | --- | --- |
147
- | `package.json` / `package-lock.json` | v0.50.0 (version 0.50.0, no new deps) + fork description + `@selesai/code` renames |
148
- | `CHANGELOG.md` | v0.50.0 changelog + branding transform + rewritten "Selesai fork (0.50.0)" section |
149
- | `README.md` | v0.50.0 + branding + fork's 12-row builtin-agent table |
150
- | `docs/*.md` (9 files) | v0.50.0 + mechanical branding transform (fork doc delta was pure branding) |
151
- | `skills/pi-subagents/SKILL.md` | fork version (upstream didn't change it) |
152
- | `skills/…/references/*.md` (4 files) | 3-way: v0.50.0 base + fork hunks; hand-added fork's Chain/Parallel execution sections and technique sections (context-build, handoff-plan) |
153
- | `agents/*.md` | upstream's oracle/reviewer/scout/worker/delegate updates + fork's researcher (Selesai-custom) + fork's architect/builder/commentator/explorer/recapper |
154
- | `prompts/*.md` | upstream's 5 + fork's parallel-context-build / parallel-handoff-plan |
155
- | `test/` | v0.50.0 base + fork hunks; 12 behavioral files took fork versions, then adjusted to merged behavior (single-child conversion, `needs_attention`, mission store location, `.pi-subagents`/`.selesai` paths, `SELESAI_*` env names, worktree-clean exception); 7 fork test files copied |
156
-
157
- ## Test adjustments made after the merge (merged behavior wins)
158
-
159
- - `agent-overrides/agent-frontmatter/index-child-registration/pi-coding-agent-dir` —
160
- `.selesai` paths and `SELESAI_CODING_AGENT_DIR` (v0.50 tests still used `.pi`).
161
- - `async-execution` — capability audit removes `["write", "contact_supervisor"]` (no `intercom`).
162
- - `external-cli-runner` — `sessionId: "session-external"` (v0.50 result-files requirement).
163
- - `orca-progress-tabs` — jiti path via `import.meta.resolve`, `SELESAI_*` env.
164
- - `single-execution` — live-activity uses `needs_attention`; detach test expects
165
- `/run detaches: detached/`; mission tests rewritten to upstream's agent-dir store
166
- (`resolveMissionStoreLocation`/`missionStatePath`); worktree-clean test expects
167
- `.pi-subagents/` (fork artifact default); mutating-failure escalation → `needs_attention`.
168
- - `public-execution` / `schemas` / `slash-*` / `mission-lifecycle` / `builtin-agent-documentation`
169
- — expectations aligned with merged surface (single→workflowScript conversion, four-mode
170
- schema, "Workflow running." initial slash message, mode "workflow" snapshots,
171
- `.pi-subagents` mission paths, 12-row README builtin table).
172
- - `tool-timeout` / `orca` unit tests — `SELESAI_*` env with `PI_` fallback assertions.
@@ -1,55 +0,0 @@
1
- ---
2
- description: Parallel context builders for planning handoff
3
- ---
4
-
5
- Launch fresh-context `explorer` subagents in parallel to build grounded handoff context for planning or implementation.
6
-
7
- Use the `subagent` tool with `workflowScript` and `runs.all(...)`; assign each child a distinct absolute or durable output path. Use `context: "fresh"` unless I explicitly ask for forked context. Give every parallel task a distinct `output` path, `label`, and `as` name, for example:
8
-
9
- - `context-build/request-and-scope.md`
10
- - `context-build/codebase-and-patterns.md`
11
- - `context-build/validation-and-risks.md`
12
-
13
- Use one phase such as `phase: "Context build"` for the parallel tasks so async status is readable. A later synthesis step can reference specific outputs with `{outputs.requestScope}`, `{outputs.codebasePatterns}`, and `{outputs.validationRisks}` instead of relying only on `{previous}`.
14
-
15
- Do not write these context artifacts into the repository unless I explicitly ask for persistent files.
16
-
17
- Treat the slash command arguments as the primary request, target, or focus:
18
-
19
- $@
20
-
21
- If the invocation provides a URL, issue link, file path, plan path, or freeform request, read or fetch that target before assigning builder angles, then pass the target explicitly into every `explorer` task.
22
-
23
- Choose two or three strong builders based on the request. Prefer three only when the scope benefits from independent context slices. These are examples, not fixed defaults:
24
-
25
- 1. Request and scope
26
- Clarify the actual goal, user intent, constraints, non-goals, open questions, and decisions that affect the handoff.
27
-
28
- 2. Codebase and patterns
29
- Inspect relevant files, call paths, existing abstractions, tests, package constraints, and local conventions that the next agent must follow.
30
-
31
- 3. Validation and risks
32
- Identify likely failure modes, edge cases, test strategy, commands to run, dependency/API concerns, and escalation rules.
33
-
34
- Adapt the angles when the request calls for it:
35
- - Issue or PR URL: include issue requirements, acceptance criteria, linked discussion, and likely affected files.
36
- - Plan file: include plan consistency, missing context, implementation sequence, and validation readiness.
37
- - External API/library work: include current docs or primary sources through `web_search` when needed.
38
- - Large refactor: include module boundaries, dependency direction, migration/cutover risks, and testability.
39
- - UI/product work: include user flow, accessibility, copy, visual constraints, and implementation touchpoints.
40
-
41
- Ask each builder to produce a compact handoff file with:
42
- - relevant files and line ranges;
43
- - key snippets or patterns, not full dumps;
44
- - constraints and invariants;
45
- - risks and unknowns;
46
- - validation commands or next-best checks;
47
- - a `meta-prompt` section for the next architect or role subagent.
48
-
49
- After the builders return, synthesize their outputs into:
50
- - the most important context the next agent needs;
51
- - the recommended meta-prompt to use next;
52
- - open questions or assumptions;
53
- - the output artifact paths.
54
-
55
- Do not start implementation from this command unless I explicitly ask for it.
@@ -1,61 +0,0 @@
1
- ---
2
- description: Parallel research/context builders into an implementation handoff plan
3
- ---
4
-
5
- Use parallel subagents to understand the request, compare any external references, inspect the local codebase, and produce a grounded implementation handoff plan with a final implementation-ready meta-prompt.
6
-
7
- Primary request, target, or focus:
8
-
9
- $@
10
-
11
- Use `context: "fresh"` unless I explicitly ask for forked context. First read or fetch any URLs, issue links, PRs, screenshots, plans, docs, or local files mentioned in the request. Treat them as primary scope, not optional context.
12
-
13
- Use the `subagent` tool with `workflowScript`:
14
-
15
- 1. First step: a parallel group.
16
- - `researcher`, when the request includes external references, APIs, libraries, docs, current best practices, or prompt-guidance research.
17
- - `explorer` for local codebase context.
18
- - Add a second `explorer` only when the scope is large enough to benefit from a separate implementation-strategy pass.
19
-
20
- 2. Second step: a synthesis `explorer` that reads the parallel findings and writes the final handoff plan and meta-prompt.
21
-
22
- Use distinct output paths, `label` values, and `as` names under the chain directory. Example outputs:
23
- - `handoff/external-reference.md`
24
- - `handoff/local-context.md`
25
- - `handoff/implementation-strategy.md`
26
- - `handoff/final-handoff-plan.md`
27
-
28
- Use phases such as `Research`, `Local context`, and `Synthesis` so async status is readable. Prefer `{outputs.externalReference}`, `{outputs.localContext}`, and `{outputs.implementationStrategy}` in the synthesis task when those specific inputs are available; keep `{previous}` only when the whole parallel fan-in summary is the desired input.
29
-
30
- Do not write these artifacts into the repository unless I explicitly ask for persistent files.
31
-
32
- Role guidance:
33
-
34
- External reference researcher:
35
- - Study linked projects, docs, issues, examples, source code, or prompt guidance.
36
- - Identify the behavior, API, implementation files, constraints, and transferable ideas.
37
- - Conduct web research if needed. Use `web_search` if it is available; otherwise use whatever equivalent research capability is available.
38
- - Return source links, repo paths, key evidence, risks, and what matters for this implementation.
39
-
40
- Local explorer:
41
- - Read all files needed to fully understand the local issue, not just the first match.
42
- - Follow imports, callers, tests, fixtures, configuration, docs, and adjacent patterns until the local problem, solution space, and validation path are clear.
43
- - Return relevant file paths and line ranges, current architecture, constraints, tests, risks, and open questions.
44
-
45
- Implementation-strategy explorer, when used:
46
- - Compare the external evidence against the local architecture.
47
- - Propose the safest implementation shape, files likely to change, edge cases, validation commands, and decisions that need approval.
48
- - Stay review/planning-only unless I explicitly ask for implementation.
49
-
50
- Final synthesis explorer:
51
- - Read the parallel outputs and produce one concise handoff plan.
52
- - Include what the feature/change should do, what the external reference teaches, what the local codebase implies, the recommended approach, likely files to change, constraints, non-goals, validation, risks, and unresolved questions.
53
- - End with a compact implementation-ready meta-prompt for the next builder/architect.
54
-
55
- After the chain returns, synthesize the result for me with:
56
- - the recommended approach;
57
- - artifact paths;
58
- - the final meta-prompt;
59
- - any questions or assumptions that remain.
60
-
61
- Do not start implementation from this command unless I explicitly ask for it.
@@ -1,132 +0,0 @@
1
- /**
2
- * Pure task-aware advisory agent recommender.
3
- *
4
- * Given an already-discovered, effective agent set and the current capability
5
- * ceiling, deterministically selects at most one canonical agent to recommend
6
- * for a task, or returns recovery guidance when intent is unknown or no safe
7
- * candidate exists. This module is deliberately pure: it performs no
8
- * filesystem/discovery access, no alias/chains/executor/RPC/preflight/settings
9
- * access, no mutation, launch, scheduling, or persistence, and never writes to
10
- * params. Launching stays explicit: the caller must make a separate execution
11
- * call with the recommended canonical `agent.name`.
12
- */
13
-
14
- import type { AgentConfig, AgentSource } from "./agents.ts";
15
- import { agentHasWriteTools } from "./agent-memory.ts";
16
- import { classifyTaskMutationIntent } from "../runs/shared/task-intent.ts";
17
- import { isAgentAllowedByCapabilityCeiling, type ResolvedSubagentCapabilityCeiling } from "../runs/shared/capability-ceiling.ts";
18
-
19
- function resolveAgentRoutingRole(name: string, acceptanceRole: AgentConfig["acceptanceRole"]): "writer" | "read-only" | undefined {
20
- if (acceptanceRole === "writer" || acceptanceRole === "read-only") return acceptanceRole;
21
- if (/^(?:builder|developer|coder|implementer|develop)$/i.test(name)) return "writer";
22
- if (/^(?:architect|commentator|explorer|researcher|recapper)$/i.test(name)) return "read-only";
23
- return undefined;
24
- }
25
-
26
- /** Core tools that make an implementation agent able to write (matches agent-memory). */
27
- const WRITER_TOOLS = new Set(["edit", "write", "bash"]);
28
-
29
- /** Source precedence for deterministic ordering: project > user > package > builtin. */
30
- const AGENT_SOURCE_PRECEDENCE: Record<AgentSource, number> = { builtin: 0, package: 1, user: 2, project: 3 };
31
-
32
- export type TaskAwareAgentIntent = "implementation" | "read-only" | "unknown";
33
-
34
- export interface TaskAwareAgentRecommendationAgent {
35
- /** Canonical runtime agent name accepted by execution; never an alias. */
36
- name: string;
37
- source: AgentSource;
38
- role: "writer" | "read-only";
39
- roleBasis: "declared" | "inferred";
40
- reason: string;
41
- }
42
-
43
- export interface TaskAwareAgentRecommendation {
44
- intent: TaskAwareAgentIntent;
45
- agent?: TaskAwareAgentRecommendationAgent;
46
- /** Recovery guidance when no safe recommendation exists (unknown intent or no candidate). */
47
- next?: string;
48
- }
49
-
50
- /**
51
- * Recommend a canonical agent for a trimmed non-empty task, or `undefined` for
52
- * an empty/whitespace task (no-op). Never recommends disabled or
53
- * capability-disallowed agents, never guesses for unknown intent, and never
54
- * outputs an alias or a role-incompatible agent.
55
- */
56
- export function recommendTaskAwareAgent(input: {
57
- task: string;
58
- agents: AgentConfig[];
59
- capabilityCeiling?: ResolvedSubagentCapabilityCeiling;
60
- }): TaskAwareAgentRecommendation | undefined {
61
- const task = input.task.trim();
62
- if (!task) return undefined;
63
-
64
- const intent = classifyTaskMutationIntent("builder", task).kind;
65
- if (intent === "unknown") {
66
- return {
67
- intent,
68
- next: "Clarify whether the task is read-only analysis/review or implementation allowed to edit files.",
69
- };
70
- }
71
-
72
- const candidates: TaskAwareAgentRecommendationAgent[] = [];
73
- for (const agent of input.agents) {
74
- if (agent.disabled) continue;
75
- if (!isAgentAllowedByCapabilityCeiling(agent.name, input.capabilityCeiling)) continue;
76
- const role = resolveAgentRoutingRole(agent.name, agent.acceptanceRole);
77
- if (!role) continue;
78
- const hasWriteTools = agentHasWriteTools(agent);
79
- if (intent === "implementation") {
80
- if (role !== "writer" || !hasWriteTools) continue;
81
- const allowedTools = input.capabilityCeiling?.allowedTools;
82
- if (allowedTools !== undefined && !allowedTools.some((tool) => WRITER_TOOLS.has(tool))) continue;
83
- } else {
84
- if (role !== "read-only" || hasWriteTools) continue;
85
- }
86
- const roleBasis = agent.acceptanceRole !== undefined ? "declared" : "inferred";
87
- candidates.push({
88
- name: agent.name,
89
- source: agent.source,
90
- role,
91
- roleBasis,
92
- reason: intent === "implementation"
93
- ? `${roleBasis} writer role with write tools`
94
- : `${roleBasis} read-only role without known write tools`,
95
- });
96
- }
97
-
98
- candidates.sort((a, b) => {
99
- const sourceOrder = AGENT_SOURCE_PRECEDENCE[b.source] - AGENT_SOURCE_PRECEDENCE[a.source];
100
- if (sourceOrder !== 0) return sourceOrder;
101
- const declaredOrder = (a.roleBasis === "declared" ? 0 : 1) - (b.roleBasis === "declared" ? 0 : 1);
102
- if (declaredOrder !== 0) return declaredOrder;
103
- return a.name < b.name ? -1 : a.name > b.name ? 1 : 0;
104
- });
105
-
106
- const agent = candidates[0];
107
- if (!agent) {
108
- return {
109
- intent,
110
- next: intent === "implementation"
111
- ? "No executable agent has a writer role with write tools for this task. Check the executable/restricted sections above or adjust the capability ceiling."
112
- : "No executable agent has a read-only role without known write tools for this task. Check the executable/restricted sections above.",
113
- };
114
- }
115
- return { intent, agent };
116
- }
117
-
118
- /** Text-only advisory lines; `undefined` (empty-task no-op) renders nothing. */
119
- export function formatTaskAwareAgentRecommendation(recommendation: TaskAwareAgentRecommendation | undefined): string[] {
120
- if (!recommendation) return [];
121
- const lines = ["Task-aware advisory routing:", `- Intent: ${recommendation.intent}`];
122
- if (recommendation.agent) {
123
- lines.push(`- Recommended: ${recommendation.agent.name} (${recommendation.agent.source})`);
124
- lines.push(`- Reason: ${recommendation.agent.reason}`);
125
- lines.push("- Advisory only: no subagent was launched. To proceed, explicitly call subagent with this canonical agent name and the task.");
126
- } else {
127
- lines.push("- Recommendation: none");
128
- lines.push(`- Next: ${recommendation.next ?? "Refine the task wording and retry."}`);
129
- lines.push("- Advisory only: no subagent was launched.");
130
- }
131
- return lines;
132
- }