@selesai/code 0.13.39 → 0.14.0

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 (1401) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/bun/runtime-setup.js +4 -1
  3. package/dist/cli/args.d.ts +3 -1
  4. package/dist/cli/args.js +76 -33
  5. package/dist/cli/auth-check.d.ts +18 -0
  6. package/dist/cli/auth-check.js +49 -0
  7. package/dist/cli/credential-print.d.ts +5 -15
  8. package/dist/cli/credential-print.js +42 -82
  9. package/dist/cli/file-processor.d.ts +1 -1
  10. package/dist/cli/file-processor.js +2 -1
  11. package/dist/cli/list-models.d.ts +1 -1
  12. package/dist/cli/list-models.js +2 -2
  13. package/dist/cli/startup-ui.js +38 -30
  14. package/dist/config.d.ts +35 -6
  15. package/dist/config.js +95 -17
  16. package/dist/core/agent-session-custom-tools.test.js +64 -0
  17. package/dist/core/agent-session-length-continuation.test.js +7 -3
  18. package/dist/core/agent-session-runtime.js +2 -2
  19. package/dist/core/agent-session-services.d.ts +1 -0
  20. package/dist/core/agent-session-services.js +14 -0
  21. package/dist/core/agent-session.d.ts +180 -40
  22. package/dist/core/agent-session.js +1061 -485
  23. package/dist/core/auth-storage.d.ts +25 -15
  24. package/dist/core/auth-storage.js +242 -66
  25. package/dist/core/bash-executor.js +42 -52
  26. package/dist/core/bug-report.js +1 -1
  27. package/dist/core/cache-warmer.d.ts +1 -0
  28. package/dist/core/cache-warmer.js +15 -1
  29. package/dist/core/compaction/branch-summarization.js +3 -0
  30. package/dist/core/compaction/compaction.d.ts +3 -1
  31. package/dist/core/compaction/compaction.js +156 -79
  32. package/dist/core/compaction/utils.d.ts +2 -1
  33. package/dist/core/compaction/utils.js +25 -18
  34. package/dist/core/crash-log.d.ts +5 -0
  35. package/dist/core/crash-log.js +69 -0
  36. package/dist/core/defaults.d.ts +1 -1
  37. package/dist/core/defaults.js +1 -1
  38. package/dist/core/export-html/template.css +10 -0
  39. package/dist/core/export-html/template.js +72 -18
  40. package/dist/core/export-html/tool-renderer.d.ts +3 -3
  41. package/dist/core/export-html/tool-renderer.js +5 -3
  42. package/dist/core/extensions/index.d.ts +2 -2
  43. package/dist/core/extensions/index.js +1 -1
  44. package/dist/core/extensions/loader.js +138 -55
  45. package/dist/core/extensions/runner.d.ts +38 -5
  46. package/dist/core/extensions/runner.js +220 -7
  47. package/dist/core/extensions/types.d.ts +438 -51
  48. package/dist/core/extensions/types.js +3 -0
  49. package/dist/core/extensions/virtual-modules.js +6 -0
  50. package/dist/core/extensions/wrapper.d.ts +2 -2
  51. package/dist/core/extensions/wrapper.js +3 -3
  52. package/dist/core/footer-data-provider.d.ts +1 -1
  53. package/dist/core/footer-data-provider.js +1 -1
  54. package/dist/core/handoff.d.ts +0 -1
  55. package/dist/core/handoff.js +0 -1
  56. package/dist/core/http-dispatcher.js +5 -0
  57. package/dist/core/index.d.ts +1 -1
  58. package/dist/core/intercom-rpc.d.ts +135 -0
  59. package/dist/core/intercom-rpc.js +64 -0
  60. package/dist/core/keybindings.d.ts +25 -24
  61. package/dist/core/keybindings.js +27 -6
  62. package/dist/core/mcp-servers.d.ts +134 -0
  63. package/dist/core/mcp-servers.js +223 -0
  64. package/dist/core/model-config.d.ts +122 -5
  65. package/dist/core/model-config.js +35 -1
  66. package/dist/core/model-registry.d.ts +23 -15
  67. package/dist/core/model-registry.js +46 -22
  68. package/dist/core/model-resolver.d.ts +6 -5
  69. package/dist/core/model-resolver.js +51 -21
  70. package/dist/core/model-runtime.d.ts +73 -14
  71. package/dist/core/model-runtime.js +398 -104
  72. package/dist/core/models-store.d.ts +12 -7
  73. package/dist/core/models-store.js +85 -15
  74. package/dist/core/nested-tool-calls.d.ts +102 -0
  75. package/dist/core/nested-tool-calls.js +178 -0
  76. package/dist/core/package-manager.d.ts +8 -1
  77. package/dist/core/package-manager.js +144 -61
  78. package/dist/core/package-manager.test.js +5 -5
  79. package/dist/core/pi-manifest.d.ts +9 -0
  80. package/dist/core/pi-manifest.js +25 -0
  81. package/dist/core/prompt-templates.d.ts +6 -1
  82. package/dist/core/prompt-templates.js +61 -35
  83. package/dist/core/provider-composer.d.ts +44 -19
  84. package/dist/core/provider-composer.js +166 -64
  85. package/dist/core/radius.d.ts +2 -0
  86. package/dist/core/radius.js +2 -0
  87. package/dist/core/release-rpc.d.ts +137 -0
  88. package/dist/core/release-rpc.js +77 -0
  89. package/dist/core/remote-catalog-provider.d.ts +8 -1
  90. package/dist/core/remote-catalog-provider.js +25 -13
  91. package/dist/core/resource-loader.d.ts +12 -1
  92. package/dist/core/resource-loader.js +180 -45
  93. package/dist/core/runtime-credentials.d.ts +5 -5
  94. package/dist/core/runtime-credentials.js +11 -8
  95. package/dist/core/sdk.d.ts +16 -7
  96. package/dist/core/sdk.js +57 -24
  97. package/dist/core/session-manager.d.ts +45 -9
  98. package/dist/core/session-manager.js +124 -31
  99. package/dist/core/settings-diagnostics.d.ts +8 -0
  100. package/dist/core/settings-diagnostics.js +20 -0
  101. package/dist/core/settings-manager.d.ts +62 -32
  102. package/dist/core/settings-manager.js +147 -69
  103. package/dist/core/skills.d.ts +5 -2
  104. package/dist/core/skills.js +58 -35
  105. package/dist/core/slash-commands.js +2 -1
  106. package/dist/core/source-info.d.ts +8 -0
  107. package/dist/core/source-info.js +16 -0
  108. package/dist/core/subagent-rpc.d.ts +110 -0
  109. package/dist/core/subagent-rpc.js +60 -0
  110. package/dist/core/system-prompt.d.ts +9 -3
  111. package/dist/core/system-prompt.js +9 -12
  112. package/dist/core/system-prompt.test.js +2 -7
  113. package/dist/core/tools/bash.d.ts +12 -0
  114. package/dist/core/tools/bash.js +33 -2
  115. package/dist/core/tools/edit-diff.d.ts +0 -5
  116. package/dist/core/tools/edit-diff.js +2 -5
  117. package/dist/core/tools/edit.d.ts +4 -0
  118. package/dist/core/tools/edit.js +31 -11
  119. package/dist/core/tools/find.d.ts +7 -0
  120. package/dist/core/tools/find.js +16 -19
  121. package/dist/core/tools/grep.d.ts +4 -0
  122. package/dist/core/tools/grep.js +5 -1
  123. package/dist/core/tools/index.d.ts +1 -1
  124. package/dist/core/tools/index.js +11 -2
  125. package/dist/core/tools/ls.d.ts +4 -0
  126. package/dist/core/tools/ls.js +5 -1
  127. package/dist/core/tools/output-accumulator.d.ts +11 -0
  128. package/dist/core/tools/output-accumulator.js +40 -10
  129. package/dist/core/tools/read.d.ts +17 -2
  130. package/dist/core/tools/read.js +23 -2
  131. package/dist/core/tools/render-utils.d.ts +6 -0
  132. package/dist/core/tools/render-utils.js +26 -0
  133. package/dist/core/tools/renderers/bash.js +19 -35
  134. package/dist/core/tools/renderers/edit.js +5 -4
  135. package/dist/core/tools/renderers/index.d.ts +2 -2
  136. package/dist/core/tools/renderers/read.js +3 -2
  137. package/dist/core/tools/tool-definition-wrapper.d.ts +5 -3
  138. package/dist/core/tools/tool-definition-wrapper.js +3 -1
  139. package/dist/core/tools/truncate.d.ts +14 -0
  140. package/dist/core/tools/truncate.js +29 -0
  141. package/dist/core/tools/write.d.ts +4 -0
  142. package/dist/core/tools/write.js +6 -2
  143. package/dist/core/trust-manager.js +3 -1
  144. package/dist/core/usage-totals.d.ts +2 -0
  145. package/dist/core/usage-totals.js +23 -0
  146. package/dist/core/virtual-models.d.ts +116 -0
  147. package/dist/core/virtual-models.js +123 -0
  148. package/dist/defaults/models.json +32 -0
  149. package/dist/defaults/settings.json +1 -9
  150. package/dist/extensions/agent-browser.ts +9 -0
  151. package/dist/extensions/codemode/execute.d.ts +15 -0
  152. package/dist/extensions/codemode/execute.js +633 -0
  153. package/dist/extensions/codemode/execute.lazy.d.ts +2 -0
  154. package/dist/extensions/codemode/execute.lazy.js +2 -0
  155. package/dist/extensions/codemode/index.d.ts +20 -0
  156. package/dist/extensions/codemode/index.js +31 -0
  157. package/dist/extensions/codemode/renderer.d.ts +11 -0
  158. package/dist/extensions/codemode/renderer.js +136 -0
  159. package/dist/extensions/codemode/tool.d.ts +129 -0
  160. package/dist/extensions/codemode/tool.js +275 -0
  161. package/dist/extensions/context-compaction-reminder.ts +1 -1
  162. package/dist/extensions/grep-app/index.ts +2 -10
  163. package/dist/extensions/herdr-agent-state.ts +1 -1
  164. package/dist/extensions/{pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/index.d.ts → index.d.ts} +0 -1
  165. package/dist/extensions/index.js +12 -0
  166. package/dist/extensions/jev/classifier-context.ts +54 -0
  167. package/dist/extensions/jev/classifier.test.ts +85 -0
  168. package/dist/extensions/jev/classifier.ts +105 -0
  169. package/dist/extensions/jev/decisions.test.ts +35 -47
  170. package/dist/extensions/jev/decisions.ts +58 -104
  171. package/dist/extensions/jev/test-support.ts +33 -38
  172. package/dist/extensions/jev-advisory-lifecycle.test.ts +12 -12
  173. package/dist/extensions/jev-advisory-memory.test.ts +9 -9
  174. package/dist/extensions/jev-advisory-recommendations.test.ts +8 -8
  175. package/dist/extensions/jev-ask-tool.test.ts +41 -45
  176. package/dist/extensions/jev-ask-tool.ts +10 -38
  177. package/dist/extensions/jev-find-source.test.ts +26 -0
  178. package/dist/extensions/jev-find-source.ts +58 -19
  179. package/dist/{core → extensions}/llama/client.d.ts +2 -0
  180. package/dist/{core → extensions}/llama/client.js +7 -3
  181. package/dist/{core → extensions}/llama/index.js +13 -2
  182. package/dist/{core → extensions}/llama/provider.d.ts +1 -1
  183. package/dist/extensions/llama/provider.js +235 -0
  184. package/dist/extensions/mcp/cli.d.ts +20 -0
  185. package/dist/extensions/mcp/cli.js +496 -0
  186. package/dist/extensions/mcp/cli.lazy.d.ts +2 -0
  187. package/dist/extensions/mcp/cli.lazy.js +2 -0
  188. package/dist/extensions/mcp/config.d.ts +83 -0
  189. package/dist/extensions/mcp/config.js +193 -0
  190. package/dist/extensions/mcp/index.d.ts +78 -0
  191. package/dist/extensions/mcp/index.js +1201 -0
  192. package/dist/extensions/mcp/log.d.ts +15 -0
  193. package/dist/extensions/mcp/log.js +65 -0
  194. package/dist/extensions/mcp/oauth.d.ts +97 -0
  195. package/dist/extensions/mcp/oauth.js +401 -0
  196. package/dist/extensions/mcp/resources.d.ts +41 -0
  197. package/dist/extensions/mcp/resources.js +260 -0
  198. package/dist/extensions/mcp/runtime.d.ts +96 -0
  199. package/dist/extensions/mcp/runtime.js +412 -0
  200. package/dist/extensions/mcp/runtime.lazy.d.ts +2 -0
  201. package/dist/extensions/mcp/runtime.lazy.js +2 -0
  202. package/dist/extensions/mcp/tools.d.ts +86 -0
  203. package/dist/extensions/mcp/tools.js +252 -0
  204. package/dist/extensions/mcp/ui.d.ts +59 -0
  205. package/dist/extensions/mcp/ui.js +185 -0
  206. package/dist/extensions/package.json +1 -1
  207. package/dist/extensions/pi-graft/tools.ts +6 -0
  208. package/dist/extensions/pi-hermes-memory/CHANGELOG.md +25 -0
  209. package/dist/extensions/pi-hermes-memory/README.md +140 -4
  210. package/dist/extensions/pi-hermes-memory/package-lock.json +624 -2720
  211. package/dist/extensions/pi-hermes-memory/package.json +9 -7
  212. package/dist/extensions/pi-hermes-memory/scripts/benchmark-memory-startup.mjs +72 -0
  213. package/dist/extensions/pi-hermes-memory/scripts/check-production-install.mjs +107 -0
  214. package/dist/extensions/pi-hermes-memory/src/auto-consolidation-warning.ts +2 -1
  215. package/dist/extensions/pi-hermes-memory/src/config.ts +35 -0
  216. package/dist/extensions/pi-hermes-memory/src/constants.ts +62 -15
  217. package/dist/extensions/pi-hermes-memory/src/handlers/auto-consolidate.ts +374 -50
  218. package/dist/extensions/pi-hermes-memory/src/handlers/background-review.ts +7 -4
  219. package/dist/extensions/pi-hermes-memory/src/handlers/correction-detector.ts +19 -14
  220. package/dist/extensions/pi-hermes-memory/src/handlers/insights.ts +75 -1
  221. package/dist/extensions/pi-hermes-memory/src/handlers/review-memory-ops.ts +322 -22
  222. package/dist/extensions/pi-hermes-memory/src/handlers/session-backfill.ts +8 -0
  223. package/dist/extensions/pi-hermes-memory/src/handlers/session-flush.ts +193 -54
  224. package/dist/extensions/pi-hermes-memory/src/handlers/skills-command.ts +6 -2
  225. package/dist/extensions/pi-hermes-memory/src/handlers/sync-markdown-memories.ts +33 -5
  226. package/dist/extensions/pi-hermes-memory/src/index.ts +116 -47
  227. package/dist/extensions/pi-hermes-memory/src/memory-initialization.ts +101 -0
  228. package/dist/extensions/pi-hermes-memory/src/store/atomic-lock-coordinator.ts +10 -2
  229. package/dist/extensions/pi-hermes-memory/src/store/db.ts +34 -9
  230. package/dist/extensions/pi-hermes-memory/src/store/memory-store.ts +44 -8
  231. package/dist/extensions/pi-hermes-memory/src/store/schema.ts +3 -1
  232. package/dist/extensions/pi-hermes-memory/src/store/sqlite-memory-store.ts +141 -0
  233. package/dist/extensions/pi-hermes-memory/src/store/standing-instructions.ts +17 -6
  234. package/dist/extensions/pi-hermes-memory/src/tools/memory-search-tool.ts +20 -10
  235. package/dist/extensions/pi-hermes-memory/src/tools/memory-tool.ts +1 -17
  236. package/dist/extensions/pi-hermes-memory/src/tools/session-search-tool.ts +2 -10
  237. package/dist/extensions/pi-hermes-memory/src/tools/skill-tool.ts +4 -8
  238. package/dist/extensions/pi-hermes-memory/src/types.ts +48 -0
  239. package/dist/extensions/pi-hermes-memory/tests/config.test.ts +108 -0
  240. package/dist/extensions/pi-hermes-memory/tests/handlers/auto-consolidate.test.ts +1185 -42
  241. package/dist/extensions/pi-hermes-memory/tests/handlers/insights.test.ts +57 -1
  242. package/dist/extensions/pi-hermes-memory/tests/handlers/lazy-memory-hooks.test.ts +128 -0
  243. package/dist/extensions/pi-hermes-memory/tests/handlers/review-memory-ops.test.ts +844 -1
  244. package/dist/extensions/pi-hermes-memory/tests/handlers/session-backfill.test.ts +16 -0
  245. package/dist/extensions/pi-hermes-memory/tests/handlers/session-flush.test.ts +512 -3
  246. package/dist/extensions/pi-hermes-memory/tests/handlers/skills-command.test.ts +38 -0
  247. package/dist/extensions/pi-hermes-memory/tests/handlers/sync-markdown-memories.test.ts +183 -2
  248. package/dist/extensions/pi-hermes-memory/tests/handlers/system-prompt.test.ts +1 -3
  249. package/dist/extensions/pi-hermes-memory/tests/index.test.ts +17 -0
  250. package/dist/extensions/pi-hermes-memory/tests/integration/corruption-recovery-integration.test.ts +21 -0
  251. package/dist/extensions/pi-hermes-memory/tests/lazy-startup.test.ts +313 -0
  252. package/dist/extensions/pi-hermes-memory/tests/memory-initialization.test.ts +182 -0
  253. package/dist/extensions/pi-hermes-memory/tests/prompt-injection.test.ts +184 -0
  254. package/dist/extensions/pi-hermes-memory/tests/skill-discovery-contract.test.ts +60 -0
  255. package/dist/extensions/pi-hermes-memory/tests/store/atomic-lock-lazy-probe.test.ts +80 -0
  256. package/dist/extensions/pi-hermes-memory/tests/store/db.test.ts +2 -0
  257. package/dist/extensions/pi-hermes-memory/tests/store/memory-store.test.ts +79 -0
  258. package/dist/extensions/pi-hermes-memory/tests/store/sqlite-memory-store.test.ts +268 -0
  259. package/dist/extensions/pi-hermes-memory/tests/store/standing-instructions.test.ts +29 -0
  260. package/dist/extensions/pi-hermes-memory/tests/store/usage-tracking.test.ts +170 -0
  261. package/dist/extensions/pi-hermes-memory/tests/tools/memory-search-tool.test.ts +80 -1
  262. package/dist/extensions/pi-hermes-memory/tests/tools/skill-tool.test.ts +51 -0
  263. package/dist/extensions/pi-intercom/CHANGELOG.md +66 -0
  264. package/dist/extensions/pi-intercom/README.md +115 -12
  265. package/dist/extensions/pi-intercom/broker/broker.ts +304 -24
  266. package/dist/extensions/pi-intercom/broker/client.ts +9 -2
  267. package/dist/extensions/pi-intercom/broker/cross-machine-provenance.test.ts +63 -0
  268. package/dist/extensions/pi-intercom/broker/mailbox-persistence.test.ts +523 -0
  269. package/dist/extensions/pi-intercom/broker/paths.test.ts +4 -4
  270. package/dist/extensions/pi-intercom/broker/paths.ts +4 -2
  271. package/dist/extensions/pi-intercom/broker/protocol.ts +64 -0
  272. package/dist/extensions/pi-intercom/broker/spawn.test.ts +58 -169
  273. package/dist/extensions/pi-intercom/broker/spawn.ts +40 -87
  274. package/dist/extensions/pi-intercom/cli.mjs +6 -0
  275. package/dist/extensions/pi-intercom/cli.test.ts +428 -0
  276. package/dist/extensions/pi-intercom/cli.ts +343 -0
  277. package/dist/extensions/pi-intercom/config.test.ts +61 -1
  278. package/dist/extensions/pi-intercom/config.ts +53 -2
  279. package/dist/extensions/pi-intercom/cross-machine-discovery.test.ts +218 -0
  280. package/dist/extensions/pi-intercom/cross-machine-discovery.ts +140 -0
  281. package/dist/extensions/pi-intercom/cross-machine-envelope.test.ts +106 -0
  282. package/dist/extensions/pi-intercom/cross-machine-envelope.ts +92 -0
  283. package/dist/extensions/pi-intercom/cross-machine-integration.test.ts +25 -0
  284. package/dist/extensions/pi-intercom/cross-machine-transport.test.ts +106 -0
  285. package/dist/extensions/pi-intercom/cross-machine-transport.ts +110 -0
  286. package/dist/extensions/pi-intercom/extension-api.ts +24 -0
  287. package/dist/extensions/pi-intercom/handover.test.ts +88 -0
  288. package/dist/extensions/pi-intercom/handover.ts +115 -0
  289. package/dist/extensions/pi-intercom/herdr-location.test.ts +173 -0
  290. package/dist/extensions/pi-intercom/herdr-location.ts +137 -0
  291. package/dist/extensions/pi-intercom/human-priority.pi.test.ts +489 -0
  292. package/dist/extensions/pi-intercom/index.ts +770 -172
  293. package/dist/extensions/pi-intercom/intercom.integration.test.ts +869 -21
  294. package/dist/extensions/pi-intercom/package.json +12 -2
  295. package/dist/extensions/pi-intercom/project-agent.ts +1 -1
  296. package/dist/extensions/pi-intercom/release-readiness.test.ts +116 -0
  297. package/dist/extensions/pi-intercom/release-readiness.ts +93 -0
  298. package/dist/extensions/pi-intercom/skills/pi-intercom/SKILL.md +26 -2
  299. package/dist/extensions/pi-intercom/test/handover-picker.test.ts +134 -0
  300. package/dist/extensions/pi-intercom/test/inline-message.test.ts +43 -0
  301. package/dist/extensions/pi-intercom/types.d.ts +247 -0
  302. package/dist/extensions/pi-intercom/types.js +2 -0
  303. package/dist/extensions/pi-intercom/types.ts +39 -1
  304. package/dist/extensions/pi-intercom/ui/handover-picker.ts +318 -0
  305. package/dist/extensions/pi-intercom/ui/inline-message.ts +10 -3
  306. package/dist/extensions/pi-intercom/ui/session-list.ts +28 -15
  307. package/dist/extensions/pi-subagents/.github/workflows/release.yml +5 -1
  308. package/dist/extensions/pi-subagents/.github/workflows/test.yml +188 -18
  309. package/dist/extensions/pi-subagents/CHANGELOG.md +514 -1
  310. package/dist/extensions/pi-subagents/README.md +7 -5
  311. package/dist/extensions/pi-subagents/VISION.md +6 -0
  312. package/dist/extensions/pi-subagents/agents/reviewer.md +7 -5
  313. package/dist/extensions/pi-subagents/agents/worker.md +1 -1
  314. package/dist/extensions/pi-subagents/docs/agents.md +75 -35
  315. package/dist/extensions/pi-subagents/docs/configuration.md +156 -25
  316. package/dist/extensions/pi-subagents/docs/extension-api.md +121 -29
  317. package/dist/extensions/pi-subagents/docs/missions.md +46 -14
  318. package/dist/extensions/pi-subagents/docs/models.md +22 -84
  319. package/dist/extensions/pi-subagents/docs/observability.md +57 -24
  320. package/dist/extensions/pi-subagents/docs/standalone-background.md +59 -0
  321. package/dist/extensions/pi-subagents/docs/tool-reference.md +167 -116
  322. package/dist/extensions/pi-subagents/docs/watchdog.md +41 -10
  323. package/dist/extensions/pi-subagents/docs/workflows.md +239 -163
  324. package/dist/extensions/pi-subagents/examples/typed-gate/.pi/agents/classifier.md +14 -0
  325. package/dist/extensions/pi-subagents/examples/typed-gate/README.md +42 -0
  326. package/dist/extensions/pi-subagents/examples/typed-gate/classify +38 -0
  327. package/dist/extensions/pi-subagents/examples/typed-gate/workflow.js +32 -0
  328. package/dist/extensions/pi-subagents/index.ts +11 -3
  329. package/dist/extensions/pi-subagents/inspector-runner.mjs +3 -3
  330. package/dist/extensions/pi-subagents/package-lock.json +517 -1129
  331. package/dist/extensions/pi-subagents/package.json +22 -11
  332. package/dist/extensions/pi-subagents/prompts/council.md +7 -4
  333. package/dist/extensions/pi-subagents/prompts/parallel-review.md +2 -2
  334. package/dist/extensions/pi-subagents/prompts/review-loop.md +2 -2
  335. package/dist/extensions/pi-subagents/runner-peer-loader.mjs +21 -0
  336. package/dist/extensions/pi-subagents/runner-peer-preload.mjs +30 -0
  337. package/dist/extensions/pi-subagents/scripts/build-package.mjs +79 -0
  338. package/dist/extensions/pi-subagents/skills/council-mode/SKILL.md +2 -2
  339. package/dist/extensions/pi-subagents/skills/pi-subagents/SKILL.md +46 -27
  340. package/dist/extensions/pi-subagents/skills/pi-subagents/references/constraints-and-recipes.md +11 -7
  341. package/dist/extensions/pi-subagents/skills/pi-subagents/references/execution-controls.md +78 -73
  342. package/dist/extensions/pi-subagents/skills/pi-subagents/references/management-authoring-rpc.md +4 -5
  343. package/dist/extensions/pi-subagents/skills/pi-subagents/references/multi-lane-orchestration.md +10 -2
  344. package/dist/extensions/pi-subagents/skills/pi-subagents/references/prompting-and-roles.md +69 -67
  345. package/dist/extensions/pi-subagents/skills/pi-subagents/references/review-and-validation.md +3 -3
  346. package/dist/extensions/pi-subagents/src/agents/advertised-agent-prompt.ts +21 -10
  347. package/dist/extensions/pi-subagents/src/agents/agent-management.ts +113 -113
  348. package/dist/extensions/pi-subagents/src/agents/agent-memory.ts +91 -4
  349. package/dist/extensions/pi-subagents/src/agents/agent-serializer.ts +15 -9
  350. package/dist/extensions/pi-subagents/src/agents/agents.ts +432 -193
  351. package/dist/extensions/pi-subagents/src/agents/chain-serializer.ts +6 -1
  352. package/dist/extensions/pi-subagents/src/agents/global-npm-root.ts +58 -0
  353. package/dist/extensions/pi-subagents/src/agents/proactive-skills.ts +5 -2
  354. package/dist/extensions/pi-subagents/src/agents/runtime-agent-registry.ts +22 -18
  355. package/dist/extensions/pi-subagents/src/agents/skills.ts +43 -10
  356. package/dist/extensions/pi-subagents/src/api/delegation.ts +20 -1
  357. package/dist/extensions/pi-subagents/src/api/inspectors.ts +27 -0
  358. package/dist/extensions/pi-subagents/src/api/preflight.ts +140 -62
  359. package/dist/extensions/pi-subagents/src/api/required-child-extensions.ts +6 -0
  360. package/dist/extensions/pi-subagents/src/api/shared-types.ts +2 -0
  361. package/dist/extensions/pi-subagents/src/extension/config.ts +24 -40
  362. package/dist/extensions/pi-subagents/src/extension/control-notices.ts +4 -1
  363. package/dist/extensions/pi-subagents/src/extension/doctor.ts +18 -15
  364. package/dist/extensions/pi-subagents/src/extension/fanout-child.ts +87 -13
  365. package/dist/extensions/pi-subagents/src/extension/herdr-pi-bridge.ts +162 -0
  366. package/dist/extensions/pi-subagents/src/extension/index.ts +331 -269
  367. package/dist/extensions/pi-subagents/src/extension/observability.ts +164 -0
  368. package/dist/extensions/pi-subagents/src/extension/public-execution.ts +76 -37
  369. package/dist/extensions/pi-subagents/src/extension/release-readiness.ts +367 -0
  370. package/dist/extensions/pi-subagents/src/extension/reply-workflow-script.ts +67 -0
  371. package/dist/extensions/pi-subagents/src/extension/rpc.ts +42 -12
  372. package/dist/extensions/pi-subagents/src/extension/schemas.ts +116 -205
  373. package/dist/extensions/pi-subagents/src/extension/subagent-guide.ts +13 -5
  374. package/dist/extensions/pi-subagents/src/extension/tool-activation.ts +146 -0
  375. package/dist/extensions/pi-subagents/src/extension/tool-description.ts +77 -90
  376. package/dist/extensions/pi-subagents/src/extension/upgrade-notice.ts +40 -0
  377. package/dist/extensions/pi-subagents/src/inspectors/actions.ts +148 -0
  378. package/dist/extensions/pi-subagents/src/inspectors/ghostty/actions.ts +74 -0
  379. package/dist/extensions/pi-subagents/src/inspectors/ghostty/plugin.ts +29 -0
  380. package/dist/extensions/pi-subagents/src/inspectors/herdr/actions.ts +100 -180
  381. package/dist/extensions/pi-subagents/src/inspectors/herdr/plugin.ts +20 -0
  382. package/dist/extensions/pi-subagents/src/inspectors/herdr/project-panes.ts +2 -2
  383. package/dist/extensions/pi-subagents/src/inspectors/{herdr/inspector-runner.ts → inspector-runner.ts} +13 -13
  384. package/dist/extensions/pi-subagents/src/inspectors/plugins.ts +75 -0
  385. package/dist/extensions/pi-subagents/src/inspectors/{herdr/session-roots-codec.ts → session-roots-codec.ts} +4 -15
  386. package/dist/extensions/pi-subagents/src/inspectors/{herdr/shell-command.ts → shell-command.ts} +1 -1
  387. package/dist/extensions/pi-subagents/src/inspectors/types.ts +51 -0
  388. package/dist/extensions/pi-subagents/src/integrations/herdr-status.ts +38 -53
  389. package/dist/extensions/pi-subagents/src/integrations/pi-web-session-liveness.ts +7 -1
  390. package/dist/extensions/pi-subagents/src/intercom/intercom-bridge.ts +53 -9
  391. package/dist/extensions/pi-subagents/src/intercom/native-supervisor-channel.ts +69 -55
  392. package/dist/extensions/pi-subagents/src/intercom/result-intercom.ts +7 -2
  393. package/dist/extensions/pi-subagents/src/missions/goal-driver.ts +45 -32
  394. package/dist/extensions/pi-subagents/src/missions/store.ts +11 -2
  395. package/dist/extensions/pi-subagents/src/missions/workflow-state.ts +1 -44
  396. package/dist/extensions/pi-subagents/src/policy/authority.ts +5 -1
  397. package/dist/extensions/pi-subagents/src/profiles/profiles.ts +30 -18
  398. package/dist/extensions/pi-subagents/src/runs/background/active-async-capacity.ts +59 -9
  399. package/dist/extensions/pi-subagents/src/runs/background/active-run-index.ts +18 -2
  400. package/dist/extensions/pi-subagents/src/runs/background/async-execution.ts +463 -248
  401. package/dist/extensions/pi-subagents/src/runs/background/async-job-tracker.ts +112 -66
  402. package/dist/extensions/pi-subagents/src/runs/background/async-resume.ts +33 -20
  403. package/dist/extensions/pi-subagents/src/runs/background/async-retention.ts +47 -17
  404. package/dist/extensions/pi-subagents/src/runs/background/async-status.ts +18 -5
  405. package/dist/extensions/pi-subagents/src/runs/background/auto-drain.ts +24 -11
  406. package/dist/extensions/pi-subagents/src/runs/background/await-async-run.ts +78 -0
  407. package/dist/extensions/pi-subagents/src/runs/background/binary-bootstrap.ts +66 -0
  408. package/dist/extensions/pi-subagents/src/runs/background/calendar-schedule.ts +90 -0
  409. package/dist/extensions/pi-subagents/src/runs/background/chain-append.ts +2 -2
  410. package/dist/extensions/pi-subagents/src/runs/background/chain-root-attachment.ts +19 -38
  411. package/dist/extensions/pi-subagents/src/runs/background/control-channel.ts +62 -3
  412. package/dist/extensions/pi-subagents/src/runs/background/fleet-view.ts +82 -10
  413. package/dist/extensions/pi-subagents/src/runs/background/notify.ts +272 -24
  414. package/dist/extensions/pi-subagents/src/runs/background/owned-process-tree.ts +30 -3
  415. package/dist/extensions/pi-subagents/src/runs/background/pid-namespace.ts +18 -0
  416. package/dist/extensions/pi-subagents/src/runs/background/process-terminal-candidate.ts +98 -0
  417. package/dist/extensions/pi-subagents/src/runs/background/process-terminal.ts +18 -97
  418. package/dist/extensions/pi-subagents/src/runs/background/result-delivery-ownership.ts +269 -7
  419. package/dist/extensions/pi-subagents/src/runs/background/result-files.ts +14 -5
  420. package/dist/extensions/pi-subagents/src/runs/background/result-watcher.ts +77 -22
  421. package/dist/extensions/pi-subagents/src/runs/background/retained-children.ts +4 -3
  422. package/dist/extensions/pi-subagents/src/runs/background/retained-nested-route-tracker.ts +15 -3
  423. package/dist/extensions/pi-subagents/src/runs/background/run-child-session.ts +126 -45
  424. package/dist/extensions/pi-subagents/src/runs/background/run-id-resolver.ts +11 -6
  425. package/dist/extensions/pi-subagents/src/runs/background/run-status.ts +18 -7
  426. package/dist/extensions/pi-subagents/src/runs/background/runner-aliases.ts +43 -51
  427. package/dist/extensions/pi-subagents/src/runs/background/runner-child-launch.ts +8 -1
  428. package/dist/extensions/pi-subagents/src/runs/background/runner-child-sessions.ts +5 -4
  429. package/dist/extensions/pi-subagents/src/runs/background/runner-http-dispatcher.ts +119 -0
  430. package/dist/extensions/pi-subagents/src/runs/background/runner-startup-failure.ts +56 -0
  431. package/dist/extensions/pi-subagents/src/runs/background/scheduled-runs.ts +297 -69
  432. package/dist/extensions/pi-subagents/src/runs/background/stale-run-reconciler.ts +67 -16
  433. package/dist/extensions/pi-subagents/src/runs/background/steering.ts +21 -3
  434. package/dist/extensions/pi-subagents/src/runs/background/subagent-runner-bootstrap.ts +276 -0
  435. package/dist/extensions/pi-subagents/src/runs/background/subagent-runner.ts +660 -578
  436. package/dist/extensions/pi-subagents/src/runs/background/subagent-wait.ts +177 -29
  437. package/dist/extensions/pi-subagents/src/runs/background/wait-completions.ts +77 -28
  438. package/dist/extensions/pi-subagents/src/runs/background/wait-subscriptions.ts +10 -4
  439. package/dist/extensions/pi-subagents/src/runs/background/wait-tool.ts +7 -13
  440. package/dist/extensions/pi-subagents/src/runs/background/workflow-terminal-proof.ts +41 -23
  441. package/dist/extensions/pi-subagents/src/runs/foreground/async-steering-action.ts +19 -8
  442. package/dist/extensions/pi-subagents/src/runs/foreground/async-stop-action.ts +130 -7
  443. package/dist/extensions/pi-subagents/src/runs/foreground/command-action.ts +41 -0
  444. package/dist/extensions/pi-subagents/src/runs/foreground/execution.ts +267 -385
  445. package/dist/extensions/pi-subagents/src/runs/foreground/foreground-history.ts +4 -2
  446. package/dist/extensions/pi-subagents/src/runs/foreground/prompt-audit.ts +6 -10
  447. package/dist/extensions/pi-subagents/src/runs/foreground/subagent-executor.ts +1158 -413
  448. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-detach-reconcile.ts +3 -1
  449. package/dist/extensions/pi-subagents/src/runs/foreground/workflow-foreground-steering.ts +2 -1
  450. package/dist/extensions/pi-subagents/src/runs/shared/acceptance.ts +200 -74
  451. package/dist/extensions/pi-subagents/src/runs/shared/async-status-projection.ts +133 -34
  452. package/dist/extensions/pi-subagents/src/runs/shared/capability-ceiling.ts +6 -1
  453. package/dist/extensions/pi-subagents/src/runs/shared/child-commands.ts +228 -0
  454. package/dist/extensions/pi-subagents/src/runs/shared/child-hooks.ts +18 -18
  455. package/dist/extensions/pi-subagents/src/runs/shared/child-launch-plan.ts +16 -4
  456. package/dist/extensions/pi-subagents/src/runs/shared/child-launch.ts +55 -12
  457. package/dist/extensions/pi-subagents/src/runs/shared/child-lifecycle.ts +6 -3
  458. package/dist/extensions/pi-subagents/src/runs/shared/child-runtime-config.ts +11 -1
  459. package/dist/extensions/pi-subagents/src/runs/shared/child-session.ts +367 -74
  460. package/dist/extensions/pi-subagents/src/runs/shared/child-tool-plan.ts +50 -86
  461. package/dist/extensions/pi-subagents/src/runs/shared/claude-code-adapter.ts +288 -0
  462. package/dist/extensions/pi-subagents/src/runs/shared/codex-exec-adapter.ts +129 -0
  463. package/dist/extensions/pi-subagents/src/runs/shared/cursor-agent-adapter.ts +114 -0
  464. package/dist/extensions/pi-subagents/src/runs/shared/dynamic-fanout.ts +5 -5
  465. package/dist/extensions/pi-subagents/src/runs/shared/effective-system-prompt.ts +33 -0
  466. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-contract.ts +49 -10
  467. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-preflight.ts +61 -9
  468. package/dist/extensions/pi-subagents/src/runs/shared/external-cli-runner.ts +16 -9
  469. package/dist/extensions/pi-subagents/src/runs/shared/external-job-bridge.ts +55 -1
  470. package/dist/extensions/pi-subagents/src/runs/shared/git-environment.ts +1 -1
  471. package/dist/extensions/pi-subagents/src/runs/shared/herdr-connection.ts +134 -0
  472. package/dist/extensions/pi-subagents/src/runs/shared/herdr-external-adapters.ts +169 -0
  473. package/dist/extensions/pi-subagents/src/runs/shared/herdr-machine.ts +279 -0
  474. package/dist/extensions/pi-subagents/src/runs/shared/herdr-pi-protocol.ts +59 -0
  475. package/dist/extensions/pi-subagents/src/runs/shared/herdr-placed-run.ts +263 -0
  476. package/dist/extensions/pi-subagents/src/runs/shared/mcp-config-sources.ts +6 -2
  477. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +108 -13
  478. package/dist/extensions/pi-subagents/src/runs/shared/mcp-direct-tool-grant.ts +23 -7
  479. package/dist/extensions/pi-subagents/src/runs/shared/model-resolution-diagnostic.ts +76 -0
  480. package/dist/extensions/pi-subagents/src/runs/shared/{model-fallback.ts → model-resolution.ts} +65 -245
  481. package/dist/extensions/pi-subagents/src/runs/shared/model-scope.ts +30 -11
  482. package/dist/extensions/pi-subagents/src/runs/shared/nested-events.ts +24 -3
  483. package/dist/extensions/pi-subagents/src/runs/shared/orca-progress-tabs.ts +5 -4
  484. package/dist/extensions/pi-subagents/src/runs/shared/parallel-handoff.ts +55 -7
  485. package/dist/extensions/pi-subagents/src/runs/shared/parallel-utils.ts +14 -4
  486. package/dist/extensions/pi-subagents/src/runs/shared/partial-output.ts +48 -0
  487. package/dist/extensions/pi-subagents/src/runs/shared/pi-spawn.ts +12 -4
  488. package/dist/extensions/pi-subagents/src/runs/shared/run-history.ts +88 -1
  489. package/dist/extensions/pi-subagents/src/runs/shared/single-output.ts +12 -3
  490. package/dist/extensions/pi-subagents/src/runs/shared/structured-output.ts +160 -9
  491. package/dist/extensions/pi-subagents/src/runs/shared/subagent-control.ts +49 -35
  492. package/dist/extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.ts +58 -19
  493. package/dist/extensions/pi-subagents/src/runs/shared/tool-availability.ts +2 -2
  494. package/dist/extensions/pi-subagents/src/runs/shared/tool-budget.ts +21 -0
  495. package/dist/extensions/pi-subagents/src/runs/shared/usage-reconciliation.ts +73 -0
  496. package/dist/extensions/pi-subagents/src/runs/shared/workflow-async-child-guidance.ts +18 -0
  497. package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-apply.ts +160 -0
  498. package/dist/extensions/pi-subagents/src/runs/shared/worktree-cleanup-plan.ts +42 -20
  499. package/dist/extensions/pi-subagents/src/runs/shared/worktree-lock.ts +29 -0
  500. package/dist/extensions/pi-subagents/src/runs/shared/worktree-setup-command.ts +27 -4
  501. package/dist/extensions/pi-subagents/src/runs/shared/worktree.ts +94 -26
  502. package/dist/extensions/pi-subagents/src/shared/child-cache-retention.ts +43 -0
  503. package/dist/extensions/pi-subagents/src/shared/child-session-name.ts +5 -3
  504. package/dist/extensions/pi-subagents/src/shared/disabled-features.ts +123 -0
  505. package/dist/extensions/pi-subagents/src/shared/extension-context.ts +14 -1
  506. package/dist/extensions/pi-subagents/src/shared/file-lease.ts +74 -0
  507. package/dist/extensions/pi-subagents/src/shared/fork-context.ts +27 -77
  508. package/dist/extensions/pi-subagents/src/shared/launch-contract.ts +70 -10
  509. package/dist/extensions/pi-subagents/src/shared/model-info.ts +10 -1
  510. package/dist/extensions/pi-subagents/src/shared/opencode-session-headers.ts +30 -0
  511. package/dist/extensions/pi-subagents/src/shared/owner-record.ts +107 -0
  512. package/dist/extensions/pi-subagents/src/shared/package-version.ts +17 -0
  513. package/dist/extensions/pi-subagents/src/shared/parent-wake.ts +66 -0
  514. package/dist/extensions/pi-subagents/src/shared/process-identity.ts +87 -0
  515. package/dist/extensions/pi-subagents/src/shared/pruned-fork.ts +71 -58
  516. package/dist/extensions/pi-subagents/src/shared/required-child-extensions.ts +115 -0
  517. package/dist/extensions/pi-subagents/src/shared/settings-file-lease.ts +36 -0
  518. package/dist/extensions/pi-subagents/src/shared/settings.ts +7 -4
  519. package/dist/extensions/pi-subagents/src/shared/shortcuts.ts +1 -5
  520. package/dist/extensions/pi-subagents/src/shared/types.ts +155 -48
  521. package/dist/extensions/pi-subagents/src/slash/delegation-adapters.ts +28 -2
  522. package/dist/extensions/pi-subagents/src/slash/delegation-request.ts +15 -1
  523. package/dist/extensions/pi-subagents/src/slash/prompt-template-bridge.ts +19 -4
  524. package/dist/extensions/pi-subagents/src/slash/prompt-workflows.ts +13 -2
  525. package/dist/extensions/pi-subagents/src/slash/slash-commands.ts +15 -15
  526. package/dist/extensions/pi-subagents/src/slash/subagent-cost.ts +46 -9
  527. package/dist/extensions/pi-subagents/src/slash/subagents-admin.ts +29 -16
  528. package/dist/extensions/pi-subagents/src/tui/fleet-status.ts +201 -26
  529. package/dist/extensions/pi-subagents/src/tui/fleet.ts +33 -16
  530. package/dist/extensions/pi-subagents/src/tui/render.ts +334 -103
  531. package/dist/extensions/pi-subagents/src/tui/running-tone.ts +28 -0
  532. package/dist/extensions/pi-subagents/src/watchdog/child-status.ts +27 -28
  533. package/dist/extensions/pi-subagents/src/watchdog/diff-tool.ts +47 -12
  534. package/dist/extensions/pi-subagents/src/watchdog/lsp-diagnostics.ts +2 -2
  535. package/dist/extensions/pi-subagents/src/watchdog/model-selection.ts +22 -2
  536. package/dist/extensions/pi-subagents/src/watchdog/permission-arbiter.ts +17 -17
  537. package/dist/extensions/pi-subagents/src/watchdog/register-child.ts +24 -8
  538. package/dist/extensions/pi-subagents/src/watchdog/register-main.ts +43 -39
  539. package/dist/extensions/pi-subagents/src/watchdog/render.ts +2 -2
  540. package/dist/extensions/pi-subagents/src/watchdog/review.ts +127 -78
  541. package/dist/extensions/pi-subagents/src/watchdog/rules.ts +1 -1
  542. package/dist/extensions/pi-subagents/src/watchdog/runtime.ts +107 -31
  543. package/dist/extensions/pi-subagents/src/watchdog/scope.ts +1 -1
  544. package/dist/extensions/pi-subagents/src/watchdog/settings.ts +22 -14
  545. package/dist/extensions/pi-subagents/src/watchdog/tool-actions.ts +14 -13
  546. package/dist/extensions/pi-subagents/src/watchdog/turn-delta.ts +35 -6
  547. package/dist/extensions/pi-subagents/src/watchdog/types.ts +6 -4
  548. package/dist/extensions/pi-subagents/src/watchdog/warning-format.ts +2 -2
  549. package/dist/extensions/pi-subagents/src/workflows/chat-progress.ts +3 -3
  550. package/dist/extensions/pi-subagents/src/workflows/scripted-workflow.ts +500 -65
  551. package/dist/extensions/pi-subagents/src/workflows/structured-workflow-scripts.ts +177 -0
  552. package/dist/extensions/pi-subagents/src/workflows/workflow-checklist.ts +8 -2
  553. package/dist/extensions/pi-subagents/src/workflows/workflow-child-summary.ts +5 -3
  554. package/dist/extensions/pi-subagents/src/workflows/workflow-receipt.ts +70 -10
  555. package/dist/extensions/pi-subagents/src/workflows/workflow-resources.ts +57 -18
  556. package/dist/extensions/pi-subagents/src/workflows/workflow-reuse.ts +120 -0
  557. package/dist/extensions/pi-subagents/src/workflows/workflow-revival.ts +123 -0
  558. package/dist/extensions/pi-subagents/src/workflows/workflow-settlement.ts +5 -2
  559. package/dist/extensions/pi-subagents/test/fixtures/cwd-workflow-child.ts +37 -0
  560. package/dist/extensions/pi-subagents/test/fixtures/herdr-allocation-lock-child.ts +16 -0
  561. package/dist/extensions/pi-subagents/test/fixtures/herdr-provision-child.ts +15 -0
  562. package/dist/extensions/pi-subagents/test/fixtures/native-nested-wait-provider.ts +76 -0
  563. package/dist/extensions/pi-subagents/test/fixtures/runner-bootstrap-harness.ts +36 -0
  564. package/dist/extensions/pi-subagents/test/fixtures/schedule-history-writer.mjs +48 -0
  565. package/dist/extensions/pi-subagents/test/fixtures/settings-race-writer.mjs +57 -0
  566. package/dist/extensions/pi-subagents/test/fixtures/workflow-cwd-access-failure.ts +33 -0
  567. package/dist/extensions/pi-subagents/test/integration/acceptance-file-report.test.ts +40 -7
  568. package/dist/extensions/pi-subagents/test/integration/async-attention-clearing.test.ts +192 -0
  569. package/dist/extensions/pi-subagents/test/integration/async-execution.part-1.test.ts +435 -276
  570. package/dist/extensions/pi-subagents/test/integration/async-execution.part-2.test.ts +435 -397
  571. package/dist/extensions/pi-subagents/test/integration/async-execution.part-3.test.ts +918 -497
  572. package/dist/extensions/pi-subagents/test/integration/async-execution.part-4.test.ts +264 -17
  573. package/dist/extensions/pi-subagents/test/integration/async-job-tracker.test.ts +185 -22
  574. package/dist/extensions/pi-subagents/test/integration/async-status.test.ts +3 -2
  575. package/dist/extensions/pi-subagents/test/integration/claude-code-dispatch.test.ts +127 -0
  576. package/dist/extensions/pi-subagents/test/integration/deadline-checkpoint.test.ts +126 -0
  577. package/dist/extensions/pi-subagents/test/integration/doctor-executor.test.ts +29 -1
  578. package/dist/extensions/pi-subagents/test/integration/error-handling.test.ts +88 -0
  579. package/dist/extensions/pi-subagents/test/integration/external-cli-runner.test.ts +450 -13
  580. package/dist/extensions/pi-subagents/test/integration/foreign-workflow-steering.test.ts +10 -6
  581. package/dist/extensions/pi-subagents/test/integration/fork-context-execution.test.ts +105 -86
  582. package/dist/extensions/pi-subagents/test/integration/in-process-child.test.ts +403 -18
  583. package/dist/extensions/pi-subagents/test/integration/inline-workflow-visibility.test.ts +351 -0
  584. package/dist/extensions/pi-subagents/test/integration/intercom-result-delivery.test.ts +195 -10
  585. package/dist/extensions/pi-subagents/test/integration/model-resolution-diagnostic.test.ts +108 -0
  586. package/dist/extensions/pi-subagents/test/integration/nested-async-wait.test.ts +61 -0
  587. package/dist/extensions/pi-subagents/test/integration/orca-progress-tabs.test.ts +5 -4
  588. package/dist/extensions/pi-subagents/test/integration/recovered-assistant-error.test.ts +1 -1
  589. package/dist/extensions/pi-subagents/test/integration/render-fork-badge.test.ts +6 -4
  590. package/dist/extensions/pi-subagents/test/integration/render-widget-mouse.test.ts +84 -0
  591. package/dist/extensions/pi-subagents/test/integration/render-widget.test.ts +242 -16
  592. package/dist/extensions/pi-subagents/test/integration/result-publication.test.ts +2 -2
  593. package/dist/extensions/pi-subagents/test/integration/result-watcher.test.ts +221 -4
  594. package/dist/extensions/pi-subagents/test/integration/single-execution.part-1.test.ts +1435 -248
  595. package/dist/extensions/pi-subagents/test/integration/single-execution.part-2.test.ts +454 -515
  596. package/dist/extensions/pi-subagents/test/integration/slash-commands.test.ts +140 -21
  597. package/dist/extensions/pi-subagents/test/integration/stop-all-background.test.ts +142 -0
  598. package/dist/extensions/pi-subagents/test/integration/structured-workflows.test.ts +105 -0
  599. package/dist/extensions/pi-subagents/test/integration/workflow-result-publication.test.ts +90 -11
  600. package/dist/extensions/pi-subagents/test/integration/workflow-steer-inbox.test.ts +18 -15
  601. package/dist/extensions/pi-subagents/test/integration/workflow-worktree-admission.test.ts +100 -0
  602. package/dist/extensions/pi-subagents/test/smoke/clean-install.mjs +106 -0
  603. package/dist/extensions/pi-subagents/test/smoke/npm-background.mjs +43 -0
  604. package/dist/extensions/pi-subagents/test/smoke/packed-runner-selection.mjs +42 -0
  605. package/dist/extensions/pi-subagents/test/smoke/runner-loader-capability.mjs +50 -0
  606. package/dist/extensions/pi-subagents/test/smoke/sdk-child.ts +57 -0
  607. package/dist/extensions/pi-subagents/test/smoke/{pi085-extension.ts → sdk-extension.ts} +2 -2
  608. package/dist/extensions/pi-subagents/test/smoke/standalone-background.mjs +140 -0
  609. package/dist/extensions/pi-subagents/test/smoke/standalone-fault.ts +43 -0
  610. package/dist/extensions/pi-subagents/test/smoke/standalone-matrix.mjs +65 -0
  611. package/dist/extensions/pi-subagents/test/smoke/standalone-observer.ts +8 -0
  612. package/dist/extensions/pi-subagents/test/smoke/standalone-parent.ts +220 -0
  613. package/dist/extensions/pi-subagents/test/smoke/standalone-provider.ts +58 -0
  614. package/dist/extensions/pi-subagents/test/smoke/standalone-release.json +8 -0
  615. package/dist/extensions/pi-subagents/test/smoke/standalone-revival.ts +109 -0
  616. package/dist/extensions/pi-subagents/test/smoke/standalone-shared.ts +79 -0
  617. package/dist/extensions/pi-subagents/test/smoke/tool-activation.test.ts +128 -0
  618. package/dist/extensions/pi-subagents/test/support/async-execution-fixture.ts +6 -25
  619. package/dist/extensions/pi-subagents/test/support/async-result-timeout-evidence.ts +61 -0
  620. package/dist/extensions/pi-subagents/test/support/fake-child-session.ts +130 -9
  621. package/dist/extensions/pi-subagents/test/support/foreign-workflow-steer-host.mjs +15 -7
  622. package/dist/extensions/pi-subagents/test/support/helpers.ts +11 -14
  623. package/dist/extensions/pi-subagents/test/support/isolated-temp-root.mjs +21 -3
  624. package/dist/extensions/pi-subagents/test/support/native-peer-loader.mjs +15 -0
  625. package/dist/extensions/pi-subagents/test/support/node-command.ts +29 -6
  626. package/dist/extensions/pi-subagents/test/support/notify-diagnostics-fixture.ts +5 -3
  627. package/dist/extensions/pi-subagents/test/support/single-execution-fixture.ts +7 -15
  628. package/dist/extensions/pi-subagents/test/support/watchdog-stable-host-loader.mjs +23 -0
  629. package/dist/extensions/pi-subagents/test/unit/acceptance-compaction.test.ts +3 -3
  630. package/dist/extensions/pi-subagents/test/unit/acceptance.test.ts +158 -155
  631. package/dist/extensions/pi-subagents/test/unit/active-async-capacity.test.ts +52 -1
  632. package/dist/extensions/pi-subagents/test/unit/advertised-agent-prompt.test.ts +21 -17
  633. package/dist/extensions/pi-subagents/test/unit/advertised-agent-refresh.test.ts +105 -36
  634. package/dist/extensions/pi-subagents/test/unit/advertisement-barrier.test.ts +151 -0
  635. package/dist/extensions/pi-subagents/test/unit/agent-disabled.test.ts +1 -2
  636. package/dist/extensions/pi-subagents/test/unit/agent-eject-disable.test.ts +33 -3
  637. package/dist/extensions/pi-subagents/test/unit/agent-end-auto-drain.test.ts +149 -0
  638. package/dist/extensions/pi-subagents/test/unit/agent-exclude-dirs.test.ts +246 -0
  639. package/dist/extensions/pi-subagents/test/unit/agent-frontmatter.test.ts +62 -87
  640. package/dist/extensions/pi-subagents/test/unit/agent-global-root-override.test.ts +86 -0
  641. package/dist/extensions/pi-subagents/test/unit/agent-management.test.ts +398 -48
  642. package/dist/extensions/pi-subagents/test/unit/agent-memory.test.ts +126 -1
  643. package/dist/extensions/pi-subagents/test/unit/agent-name-resolution.test.ts +75 -0
  644. package/dist/extensions/pi-subagents/test/unit/agent-overrides.test.ts +94 -42
  645. package/dist/extensions/pi-subagents/test/unit/async-execution.test.ts +73 -3
  646. package/dist/extensions/pi-subagents/test/unit/async-interrupt-action.test.ts +428 -2
  647. package/dist/extensions/pi-subagents/test/unit/async-permission-session.test.ts +4 -4
  648. package/dist/extensions/pi-subagents/test/unit/async-recovery-descriptor.test.ts +112 -1
  649. package/dist/extensions/pi-subagents/test/unit/async-result-timeout-evidence.test.ts +53 -0
  650. package/dist/extensions/pi-subagents/test/unit/async-resume.test.ts +92 -4
  651. package/dist/extensions/pi-subagents/test/unit/async-retention.test.ts +58 -6
  652. package/dist/extensions/pi-subagents/test/unit/async-run-history.test.ts +123 -0
  653. package/dist/extensions/pi-subagents/test/unit/async-spawn-package-dir.test.ts +203 -0
  654. package/dist/extensions/pi-subagents/test/unit/async-spawn-preload.test.ts +26 -35
  655. package/dist/extensions/pi-subagents/test/unit/async-status-projection.test.ts +185 -0
  656. package/dist/extensions/pi-subagents/test/unit/authority-policy.test.ts +9 -1
  657. package/dist/extensions/pi-subagents/test/unit/auto-drain.test.ts +106 -1
  658. package/dist/extensions/pi-subagents/test/unit/await-async-run.test.ts +202 -0
  659. package/dist/extensions/pi-subagents/test/unit/binary-async-spawn.test.ts +115 -0
  660. package/dist/extensions/pi-subagents/test/unit/binary-pi-spawn.test.ts +27 -0
  661. package/dist/extensions/pi-subagents/test/unit/calendar-schedule.test.ts +70 -0
  662. package/dist/extensions/pi-subagents/test/unit/capability-ceiling-agent-allowlist.test.ts +38 -0
  663. package/dist/extensions/pi-subagents/test/unit/chain-root-attachment.test.ts +10 -2
  664. package/dist/extensions/pi-subagents/test/unit/changelog-format.test.ts +11 -0
  665. package/dist/extensions/pi-subagents/test/unit/child-cache-retention.test.ts +87 -0
  666. package/dist/extensions/pi-subagents/test/unit/child-commands.test.ts +243 -0
  667. package/dist/extensions/pi-subagents/test/unit/child-external-job-bridge.test.ts +126 -0
  668. package/dist/extensions/pi-subagents/test/unit/child-launch-plan.test.ts +12 -1
  669. package/dist/extensions/pi-subagents/test/unit/child-lifecycle.test.ts +36 -0
  670. package/dist/extensions/pi-subagents/test/unit/child-runtime-config.test.ts +24 -0
  671. package/dist/extensions/pi-subagents/test/unit/child-session-commands.test.ts +162 -0
  672. package/dist/extensions/pi-subagents/test/unit/child-session-host-sdk.test.ts +226 -0
  673. package/dist/extensions/pi-subagents/test/unit/child-session-parent-providers.test.ts +200 -0
  674. package/dist/extensions/pi-subagents/test/unit/child-session-queued.test.ts +260 -0
  675. package/dist/extensions/pi-subagents/test/unit/child-tool-plan-permission-system.test.ts +3 -98
  676. package/dist/extensions/pi-subagents/test/unit/child-tool-plan.test.ts +222 -1
  677. package/dist/extensions/pi-subagents/test/unit/claude-code-adapter.test.ts +314 -0
  678. package/dist/extensions/pi-subagents/test/unit/claude-code-dispatch.test.ts +182 -0
  679. package/dist/extensions/pi-subagents/test/unit/codex-exec-adapter.test.ts +157 -0
  680. package/dist/extensions/pi-subagents/test/unit/command-action.test.ts +50 -0
  681. package/dist/extensions/pi-subagents/test/unit/compaction-resume.test.ts +25 -11
  682. package/dist/extensions/pi-subagents/test/unit/completion-replay.test.ts +3 -1
  683. package/dist/extensions/pi-subagents/test/unit/control-channel.test.ts +18 -0
  684. package/dist/extensions/pi-subagents/test/unit/control-notices.test.ts +7 -1
  685. package/dist/extensions/pi-subagents/test/unit/cursor-agent-adapter.test.ts +220 -0
  686. package/dist/extensions/pi-subagents/test/unit/default-extensions.test.ts +104 -32
  687. package/dist/extensions/pi-subagents/test/unit/delegation-api.test.ts +138 -1
  688. package/dist/extensions/pi-subagents/test/unit/disabled-features.test.ts +227 -0
  689. package/dist/extensions/pi-subagents/test/unit/doctor.test.ts +48 -9
  690. package/dist/extensions/pi-subagents/test/unit/dynamic-fanout.test.ts +7 -4
  691. package/dist/extensions/pi-subagents/test/unit/extension-lazy-loading.test.ts +21 -0
  692. package/dist/extensions/pi-subagents/test/unit/extension-maintenance-lifecycle.test.ts +66 -0
  693. package/dist/extensions/pi-subagents/test/unit/extension-module-preload.test.ts +49 -0
  694. package/dist/extensions/pi-subagents/test/unit/external-cli-runner.test.ts +104 -3
  695. package/dist/extensions/pi-subagents/test/unit/file-lease.test.ts +17 -0
  696. package/dist/extensions/pi-subagents/test/unit/fleet-status.test.ts +316 -0
  697. package/dist/extensions/pi-subagents/test/unit/fleet.test.ts +58 -7
  698. package/dist/extensions/pi-subagents/test/unit/fork-context.test.ts +25 -96
  699. package/dist/extensions/pi-subagents/test/unit/ghostty-inspector.test.ts +92 -0
  700. package/dist/extensions/pi-subagents/test/unit/global-npm-root.test.ts +108 -0
  701. package/dist/extensions/pi-subagents/test/unit/herdr-connection.test.ts +43 -0
  702. package/dist/extensions/pi-subagents/test/unit/herdr-external-adapters.test.ts +89 -0
  703. package/dist/extensions/pi-subagents/test/unit/herdr-inspector-bootstrap.test.ts +11 -20
  704. package/dist/extensions/pi-subagents/test/unit/herdr-inspector.test.ts +113 -19
  705. package/dist/extensions/pi-subagents/test/unit/herdr-machine.test.ts +161 -0
  706. package/dist/extensions/pi-subagents/test/unit/herdr-native-placement.test.ts +187 -0
  707. package/dist/extensions/pi-subagents/test/unit/herdr-session-roots-codec.test.ts +7 -12
  708. package/dist/extensions/pi-subagents/test/unit/herdr-shell-command.test.ts +2 -2
  709. package/dist/extensions/pi-subagents/test/unit/herdr-status-bridge.test.ts +182 -87
  710. package/dist/extensions/pi-subagents/test/unit/host-peer-runtime-imports.test.ts +68 -49
  711. package/dist/extensions/pi-subagents/test/unit/index-child-registration.test.ts +295 -135
  712. package/dist/extensions/pi-subagents/test/unit/inspect-rpc.test.ts +3 -3
  713. package/dist/extensions/pi-subagents/test/unit/inspector-authority-policy.test.ts +144 -0
  714. package/dist/extensions/pi-subagents/test/unit/inspector-registration.test.ts +128 -0
  715. package/dist/extensions/pi-subagents/test/unit/intercom-bridge.test.ts +49 -1
  716. package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-grant.test.ts +74 -1
  717. package/dist/extensions/pi-subagents/test/unit/mcp-direct-tool-resolution.test.ts +112 -0
  718. package/dist/extensions/pi-subagents/test/unit/mission-global-projection.test.ts +215 -0
  719. package/dist/extensions/pi-subagents/test/unit/mission-goal-driver.test.ts +65 -1
  720. package/dist/extensions/pi-subagents/test/unit/mission-store.test.ts +2 -1
  721. package/dist/extensions/pi-subagents/test/unit/model-resolution-diagnostic.test.ts +78 -0
  722. package/dist/extensions/pi-subagents/test/unit/model-resolution.test.ts +153 -0
  723. package/dist/extensions/pi-subagents/test/unit/model-scope.test.ts +43 -1
  724. package/dist/extensions/pi-subagents/test/unit/mutation-evidence.test.ts +1 -21
  725. package/dist/extensions/pi-subagents/test/unit/native-supervisor-channel.test.ts +279 -2
  726. package/dist/extensions/pi-subagents/test/unit/nested-control-fanout.test.ts +73 -0
  727. package/dist/extensions/pi-subagents/test/unit/nested-control.test.ts +297 -3
  728. package/dist/extensions/pi-subagents/test/unit/notify-diagnostics.test.ts +1 -1
  729. package/dist/extensions/pi-subagents/test/unit/notify.test.ts +431 -23
  730. package/dist/extensions/pi-subagents/test/unit/observability.test.ts +198 -0
  731. package/dist/extensions/pi-subagents/test/unit/opencode-session-headers.test.ts +32 -0
  732. package/dist/extensions/pi-subagents/test/unit/orca-progress-tabs.test.ts +89 -21
  733. package/dist/extensions/pi-subagents/test/unit/owned-process-tree.test.ts +31 -1
  734. package/dist/extensions/pi-subagents/test/unit/package-manifest.test.ts +18 -24
  735. package/dist/extensions/pi-subagents/test/unit/parent-wake.test.ts +206 -0
  736. package/dist/extensions/pi-subagents/test/unit/partial-output.test.ts +53 -0
  737. package/dist/extensions/pi-subagents/test/unit/pi-coding-agent-dir.test.ts +216 -32
  738. package/dist/extensions/pi-subagents/test/unit/pi-spawn-host-root.test.ts +82 -0
  739. package/dist/extensions/pi-subagents/test/unit/pi-subagents-policy-guidance.test.ts +28 -0
  740. package/dist/extensions/pi-subagents/test/unit/preflight.test.ts +193 -104
  741. package/dist/extensions/pi-subagents/test/unit/proactive-skills.test.ts +16 -1
  742. package/dist/extensions/pi-subagents/test/unit/process-identity.test.ts +75 -0
  743. package/dist/extensions/pi-subagents/test/unit/process-terminal.test.ts +17 -1
  744. package/dist/extensions/pi-subagents/test/unit/profiles.test.ts +89 -9
  745. package/dist/extensions/pi-subagents/test/unit/prompt-audit-optional-peers.test.ts +6 -0
  746. package/dist/extensions/pi-subagents/test/unit/prompt-audit-provider-routing.test.ts +69 -0
  747. package/dist/extensions/pi-subagents/test/unit/prompt-template-bridge.test.ts +2 -2
  748. package/dist/extensions/pi-subagents/test/unit/prompt-workflows.test.ts +23 -1
  749. package/dist/extensions/pi-subagents/test/unit/pruned-fork.test.ts +117 -3
  750. package/dist/extensions/pi-subagents/test/unit/public-execution.test.ts +35 -14
  751. package/dist/extensions/pi-subagents/test/unit/readonly-drain-observation.test.ts +3 -2
  752. package/dist/extensions/pi-subagents/test/unit/release-readiness.test.ts +715 -0
  753. package/dist/extensions/pi-subagents/test/unit/render-helpers.test.ts +261 -9
  754. package/dist/extensions/pi-subagents/test/unit/reply-workflow-script.test.ts +37 -0
  755. package/dist/extensions/pi-subagents/test/unit/required-child-extensions.test.ts +114 -0
  756. package/dist/extensions/pi-subagents/test/unit/result-intercom.test.ts +11 -1
  757. package/dist/extensions/pi-subagents/test/unit/result-takeover.test.ts +332 -0
  758. package/dist/extensions/pi-subagents/test/unit/retained-children.test.ts +22 -2
  759. package/dist/extensions/pi-subagents/test/unit/rpc.test.ts +125 -18
  760. package/dist/extensions/pi-subagents/test/unit/run-child-session.test.ts +230 -0
  761. package/dist/extensions/pi-subagents/test/unit/run-id-resolver.test.ts +50 -1
  762. package/dist/extensions/pi-subagents/test/unit/run-status.test.ts +301 -4
  763. package/dist/extensions/pi-subagents/test/unit/runner-bootstrap.test.ts +182 -0
  764. package/dist/extensions/pi-subagents/test/unit/runner-http-dispatcher.test.ts +136 -0
  765. package/dist/extensions/pi-subagents/test/unit/runner-peer-loader.test.ts +68 -0
  766. package/dist/extensions/pi-subagents/test/unit/runner-peer-symlinks.test.ts +50 -0
  767. package/dist/extensions/pi-subagents/test/unit/running-tone.test.ts +13 -0
  768. package/dist/extensions/pi-subagents/test/unit/runtime-agent-registration.test.ts +155 -4
  769. package/dist/extensions/pi-subagents/test/unit/schedule-claim-initialization.test.ts +71 -0
  770. package/dist/extensions/pi-subagents/test/unit/schedule-claim-preservation.test.ts +98 -0
  771. package/dist/extensions/pi-subagents/test/unit/schedule-history-transactions.test.ts +201 -0
  772. package/dist/extensions/pi-subagents/test/unit/scheduled-mission.test.ts +317 -0
  773. package/dist/extensions/pi-subagents/test/unit/scheduled-runs.test.ts +412 -11
  774. package/dist/extensions/pi-subagents/test/unit/scheduled-store-root.test.ts +2 -8
  775. package/dist/extensions/pi-subagents/test/unit/schemas.test.ts +70 -71
  776. package/dist/extensions/pi-subagents/test/unit/scripted-workflow.test.ts +748 -5
  777. package/dist/extensions/pi-subagents/test/unit/session-liveness-delivery.test.ts +337 -0
  778. package/dist/extensions/pi-subagents/test/unit/settings-atomic-save.test.ts +419 -0
  779. package/dist/extensions/pi-subagents/test/unit/settings-transactions.test.ts +88 -0
  780. package/dist/extensions/pi-subagents/test/unit/single-output.test.ts +13 -1
  781. package/dist/extensions/pi-subagents/test/unit/skills-disable-model-invocation.test.ts +164 -0
  782. package/dist/extensions/pi-subagents/test/unit/skills-fallback.test.ts +35 -2
  783. package/dist/extensions/pi-subagents/test/unit/slash-bridge.test.ts +2 -2
  784. package/dist/extensions/pi-subagents/test/unit/stale-run-reconciler.test.ts +334 -9
  785. package/dist/extensions/pi-subagents/test/unit/steering-action.test.ts +170 -0
  786. package/dist/extensions/pi-subagents/test/unit/steering.test.ts +34 -5
  787. package/dist/extensions/pi-subagents/test/unit/structured-output-validation.test.ts +199 -0
  788. package/dist/extensions/pi-subagents/test/unit/structured-workflow-resources.test.ts +241 -0
  789. package/dist/extensions/pi-subagents/test/unit/subagent-control.test.ts +47 -38
  790. package/dist/extensions/pi-subagents/test/unit/subagent-cost.test.ts +97 -0
  791. package/dist/extensions/pi-subagents/test/unit/subagent-guide.test.ts +10 -0
  792. package/dist/extensions/pi-subagents/test/unit/subagent-prompt-runtime.test.ts +343 -44
  793. package/dist/extensions/pi-subagents/test/unit/subagent-wait.test.ts +410 -11
  794. package/dist/extensions/pi-subagents/test/unit/supervisor-ask-registration.test.ts +459 -22
  795. package/dist/extensions/pi-subagents/test/unit/temp-paths.test.ts +43 -3
  796. package/dist/extensions/pi-subagents/test/unit/timeout-defaults.test.ts +11 -1
  797. package/dist/extensions/pi-subagents/test/unit/tool-activation-stale-peer.test.ts +32 -0
  798. package/dist/extensions/pi-subagents/test/unit/tool-activation.test.ts +313 -0
  799. package/dist/extensions/pi-subagents/test/unit/tool-budget.test.ts +14 -0
  800. package/dist/extensions/pi-subagents/test/unit/tool-description.test.ts +76 -89
  801. package/dist/extensions/pi-subagents/test/unit/typed-gate-output.test.ts +141 -0
  802. package/dist/extensions/pi-subagents/test/unit/upgrade-notice.test.ts +31 -0
  803. package/dist/extensions/pi-subagents/test/unit/usage-reconciliation-owners.test.ts +66 -0
  804. package/dist/extensions/pi-subagents/test/unit/usage-reconciliation.test.ts +23 -0
  805. package/dist/extensions/pi-subagents/test/unit/wait-completions.test.ts +195 -1
  806. package/dist/extensions/pi-subagents/test/unit/wait-subscriptions.test.ts +3 -1
  807. package/dist/extensions/pi-subagents/test/unit/watchdog-child-status.test.ts +48 -45
  808. package/dist/extensions/pi-subagents/test/unit/watchdog-compaction-scope.test.ts +94 -0
  809. package/dist/extensions/pi-subagents/test/unit/watchdog-diff-tool.test.ts +48 -3
  810. package/dist/extensions/pi-subagents/test/unit/watchdog-native-scheduling.test.ts +107 -0
  811. package/dist/extensions/pi-subagents/test/unit/watchdog-permission-arbiter.test.ts +95 -7
  812. package/dist/extensions/pi-subagents/test/unit/watchdog-register-child.test.ts +79 -0
  813. package/dist/extensions/pi-subagents/test/unit/watchdog-render.test.ts +7 -4
  814. package/dist/extensions/pi-subagents/test/unit/watchdog-review.test.ts +111 -24
  815. package/dist/extensions/pi-subagents/test/unit/watchdog-rules.test.ts +1 -1
  816. package/dist/extensions/pi-subagents/test/unit/watchdog-runtime.test.ts +283 -2
  817. package/dist/extensions/pi-subagents/test/unit/watchdog-scope.test.ts +3 -0
  818. package/dist/extensions/pi-subagents/test/unit/watchdog-settings.test.ts +12 -1
  819. package/dist/extensions/pi-subagents/test/unit/watchdog-stable-host-layout.test.ts +23 -0
  820. package/dist/extensions/pi-subagents/test/unit/watchdog-tool-actions.test.ts +30 -0
  821. package/dist/extensions/pi-subagents/test/unit/watchdog-turn-delta.test.ts +39 -2
  822. package/dist/extensions/pi-subagents/test/unit/widget-nested-render.test.ts +18 -1
  823. package/dist/extensions/pi-subagents/test/unit/workflow-chat-progress.test.ts +8 -4
  824. package/dist/extensions/pi-subagents/test/unit/workflow-child-summary.test.ts +10 -0
  825. package/dist/extensions/pi-subagents/test/unit/workflow-detach-reconcile.test.ts +6 -3
  826. package/dist/extensions/pi-subagents/test/unit/workflow-launch-params.test.ts +44 -1
  827. package/dist/extensions/pi-subagents/test/unit/workflow-receipt.test.ts +28 -1
  828. package/dist/extensions/pi-subagents/test/unit/workflow-revival.test.ts +85 -0
  829. package/dist/extensions/pi-subagents/test/unit/workflow-scripts-feature.test.ts +177 -0
  830. package/dist/extensions/pi-subagents/test/unit/workflow-terminal-proof.test.ts +8 -0
  831. package/dist/extensions/pi-subagents/test/unit/workflow-worktree-admission.test.ts +29 -0
  832. package/dist/extensions/pi-subagents/test/unit/worktree-cleanup-plan.test.ts +343 -4
  833. package/dist/extensions/pi-subagents/test/unit/worktree-lock.test.ts +123 -0
  834. package/dist/extensions/pi-subagents/test/unit/worktree.test.ts +252 -22
  835. package/dist/extensions/pi-subagents/tsconfig.build.json +13 -0
  836. package/dist/extensions/pi-tool-display/tests/custom-tool-overrides.test.ts +1 -1
  837. package/dist/extensions/pi-tool-display/tests/tool-overrides-config.test.ts +1 -1
  838. package/dist/extensions/pi-tool-display/tests/tool-overrides-mcp.test.ts +24 -1
  839. package/dist/extensions/pi-tool-display/tests/tool-overrides-registration.test.ts +6 -2
  840. package/dist/extensions/pi-web-agent/src/extension.ts +1 -5
  841. package/dist/extensions/pi-zentui/.github/workflows/ci.yml +67 -4
  842. package/dist/extensions/pi-zentui/AGENTS.md +3 -2
  843. package/dist/extensions/pi-zentui/README.md +60 -32
  844. package/dist/extensions/pi-zentui/docs/configuration.md +662 -51
  845. package/dist/extensions/pi-zentui/docs/footer-format.md +174 -5
  846. package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-editor.ts +15 -4
  847. package/dist/extensions/pi-zentui/extensions/zentui/average-token-rate.ts +146 -0
  848. package/dist/extensions/pi-zentui/extensions/zentui/codex-quota-display.ts +34 -0
  849. package/dist/extensions/pi-zentui/extensions/zentui/codex-quota.ts +298 -0
  850. package/dist/extensions/pi-zentui/extensions/zentui/component-colors.ts +172 -0
  851. package/dist/extensions/pi-zentui/extensions/zentui/component-settings.ts +243 -0
  852. package/dist/extensions/pi-zentui/extensions/zentui/config.ts +851 -114
  853. package/dist/extensions/pi-zentui/extensions/zentui/custom-value-colors.ts +93 -0
  854. package/dist/extensions/pi-zentui/extensions/zentui/custom-variable-demand.ts +61 -0
  855. package/dist/extensions/pi-zentui/extensions/zentui/custom-variable-format.ts +80 -0
  856. package/dist/extensions/pi-zentui/extensions/zentui/custom-variables.ts +152 -0
  857. package/dist/extensions/pi-zentui/extensions/zentui/editor-metadata-format.ts +138 -23
  858. package/dist/extensions/pi-zentui/extensions/zentui/editor-mouse.ts +89 -0
  859. package/dist/extensions/pi-zentui/extensions/zentui/extension-status-controller.ts +148 -0
  860. package/dist/extensions/pi-zentui/extensions/zentui/extension-status-settings.ts +40 -0
  861. package/dist/extensions/pi-zentui/extensions/zentui/extension-status.ts +109 -1
  862. package/dist/extensions/pi-zentui/extensions/zentui/footer-format.ts +203 -23
  863. package/dist/extensions/pi-zentui/extensions/zentui/footer-layout.ts +80 -3
  864. package/dist/extensions/pi-zentui/extensions/zentui/footer-text.ts +1 -1
  865. package/dist/extensions/pi-zentui/extensions/zentui/footer.ts +432 -125
  866. package/dist/extensions/pi-zentui/extensions/zentui/format.ts +92 -4
  867. package/dist/extensions/pi-zentui/extensions/zentui/git.ts +47 -30
  868. package/dist/extensions/pi-zentui/extensions/zentui/github-status.ts +575 -0
  869. package/dist/extensions/pi-zentui/extensions/zentui/host-project-changes.ts +25 -0
  870. package/dist/extensions/pi-zentui/extensions/zentui/host-template-values.ts +29 -0
  871. package/dist/extensions/pi-zentui/extensions/zentui/icons.ts +53 -13
  872. package/dist/extensions/pi-zentui/extensions/zentui/index.ts +778 -258
  873. package/dist/extensions/pi-zentui/extensions/zentui/interaction-summary.ts +70 -5
  874. package/dist/extensions/pi-zentui/extensions/zentui/layered-editor.ts +55 -0
  875. package/dist/extensions/pi-zentui/extensions/zentui/live-context.ts +6 -1
  876. package/dist/extensions/pi-zentui/extensions/zentui/live-metadata-demand.ts +72 -0
  877. package/dist/extensions/pi-zentui/extensions/zentui/live-metadata-display.ts +21 -0
  878. package/dist/extensions/pi-zentui/extensions/zentui/live-metadata.ts +255 -0
  879. package/dist/extensions/pi-zentui/extensions/zentui/minimalist-editor.ts +476 -36
  880. package/dist/extensions/pi-zentui/extensions/zentui/minimalist-settings.ts +118 -0
  881. package/dist/extensions/pi-zentui/extensions/zentui/minimalist-template.ts +177 -0
  882. package/dist/extensions/pi-zentui/extensions/zentui/omp-editor-frame.ts +148 -0
  883. package/dist/extensions/pi-zentui/extensions/zentui/omp-statusline.ts +569 -0
  884. package/dist/extensions/pi-zentui/extensions/zentui/omp-template-lookups.ts +344 -0
  885. package/dist/extensions/pi-zentui/extensions/zentui/omp-template-metrics.ts +91 -0
  886. package/dist/extensions/pi-zentui/extensions/zentui/omp-template-modes.ts +323 -0
  887. package/dist/extensions/pi-zentui/extensions/zentui/omp-ui.ts +210 -0
  888. package/dist/extensions/pi-zentui/extensions/zentui/package-version.ts +30 -12
  889. package/dist/extensions/pi-zentui/extensions/zentui/project-demand.ts +46 -0
  890. package/dist/extensions/pi-zentui/extensions/zentui/project-discovery.ts +58 -0
  891. package/dist/extensions/pi-zentui/extensions/zentui/project-refresh.ts +10 -3
  892. package/dist/extensions/pi-zentui/extensions/zentui/project-state.ts +37 -0
  893. package/dist/extensions/pi-zentui/extensions/zentui/repository-root.ts +1 -0
  894. package/dist/extensions/pi-zentui/extensions/zentui/runtime.ts +119 -43
  895. package/dist/extensions/pi-zentui/extensions/zentui/selector-border.ts +40 -29
  896. package/dist/extensions/pi-zentui/extensions/zentui/settings-command.ts +1268 -722
  897. package/dist/extensions/pi-zentui/extensions/zentui/settings-keys.ts +59 -0
  898. package/dist/extensions/pi-zentui/extensions/zentui/settings-list-selection.ts +13 -0
  899. package/dist/extensions/pi-zentui/extensions/zentui/settings-previews.ts +11 -4
  900. package/dist/extensions/pi-zentui/extensions/zentui/state.ts +24 -11
  901. package/dist/extensions/pi-zentui/extensions/zentui/style.ts +6 -0
  902. package/dist/extensions/pi-zentui/extensions/zentui/telemetry.ts +113 -11
  903. package/dist/extensions/pi-zentui/extensions/zentui/thinking-experimental.ts +234 -46
  904. package/dist/extensions/pi-zentui/extensions/zentui/thinking-steps.ts +20 -5
  905. package/dist/extensions/pi-zentui/extensions/zentui/token-rate.ts +313 -0
  906. package/dist/extensions/pi-zentui/extensions/zentui/turn-summary-format.ts +59 -0
  907. package/dist/extensions/pi-zentui/extensions/zentui/turn-summary-rate.ts +52 -0
  908. package/dist/extensions/pi-zentui/extensions/zentui/ui.ts +640 -172
  909. package/dist/extensions/pi-zentui/extensions/zentui/user-message-styles.ts +72 -34
  910. package/dist/extensions/pi-zentui/extensions/zentui/user-message.ts +219 -34
  911. package/dist/extensions/pi-zentui/extensions/zentui/working-line.ts +495 -119
  912. package/dist/extensions/pi-zentui/omp.ts +157 -0
  913. package/dist/extensions/pi-zentui/package-lock.json +3762 -1507
  914. package/dist/extensions/pi-zentui/package.json +50 -12
  915. package/dist/extensions/pi-zentui/test/accent-rail-editor.test.ts +13 -2
  916. package/dist/extensions/pi-zentui/test/average-token-rate.test.ts +297 -0
  917. package/dist/extensions/pi-zentui/test/behavior-compatibility.mjs +89 -0
  918. package/dist/extensions/pi-zentui/test/codex-quota-lifecycle.test.ts +284 -0
  919. package/dist/extensions/pi-zentui/test/codex-quota-rendering.test.ts +466 -0
  920. package/dist/extensions/pi-zentui/test/codex-quota.test.ts +440 -0
  921. package/dist/extensions/pi-zentui/test/component-colors.test.ts +554 -0
  922. package/dist/extensions/pi-zentui/test/component-settings.test.ts +364 -0
  923. package/dist/extensions/pi-zentui/test/config-component-independence.test.ts +402 -0
  924. package/dist/extensions/pi-zentui/test/config-extension-status-choice.test.ts +233 -0
  925. package/dist/extensions/pi-zentui/test/config-hidden-extension-status-colors.test.ts +118 -0
  926. package/dist/extensions/pi-zentui/test/config-hidden-extension-status-placement.test.ts +142 -0
  927. package/dist/extensions/pi-zentui/test/config-minimalist-templates.test.ts +240 -0
  928. package/dist/extensions/pi-zentui/test/config-template-variables.test.ts +85 -0
  929. package/dist/extensions/pi-zentui/test/config.test.ts +80 -17
  930. package/dist/extensions/pi-zentui/test/custom-value-colors-integration.test.ts +453 -0
  931. package/dist/extensions/pi-zentui/test/custom-value-colors.test.ts +399 -0
  932. package/dist/extensions/pi-zentui/test/custom-variable-alias-prototypes.test.ts +177 -0
  933. package/dist/extensions/pi-zentui/test/custom-variable-consumers.test.ts +194 -0
  934. package/dist/extensions/pi-zentui/test/custom-variable-demand.test.ts +169 -0
  935. package/dist/extensions/pi-zentui/test/custom-variable-probe-reservation.test.ts +141 -0
  936. package/dist/extensions/pi-zentui/test/custom-variables-lifecycle.integration.test.ts +365 -0
  937. package/dist/extensions/pi-zentui/test/custom-variables.test.ts +330 -0
  938. package/dist/extensions/pi-zentui/test/editor-metadata-format.test.ts +121 -0
  939. package/dist/extensions/pi-zentui/test/editor-mouse.test.ts +507 -0
  940. package/dist/extensions/pi-zentui/test/editor-viewport-indicators.test.ts +247 -20
  941. package/dist/extensions/pi-zentui/test/extension-compliance.test.ts +204 -260
  942. package/dist/extensions/pi-zentui/test/extension-status-controller.test.ts +323 -0
  943. package/dist/extensions/pi-zentui/test/extension-status-lifecycle.integration.test.ts +466 -0
  944. package/dist/extensions/pi-zentui/test/extension-status-settings.test.ts +79 -0
  945. package/dist/extensions/pi-zentui/test/footer-alignment.test.ts +135 -0
  946. package/dist/extensions/pi-zentui/test/footer-authority.test.ts +69 -0
  947. package/dist/extensions/pi-zentui/test/footer-auto-compaction.test.ts +148 -0
  948. package/dist/extensions/pi-zentui/test/footer-format-cache.test.ts +186 -0
  949. package/dist/extensions/pi-zentui/test/footer-format.test.ts +154 -4
  950. package/dist/extensions/pi-zentui/test/footer-hidden.test.ts +312 -0
  951. package/dist/extensions/pi-zentui/test/footer-hyperlink.test.ts +22 -0
  952. package/dist/extensions/pi-zentui/test/footer-layout.test.ts +80 -0
  953. package/dist/extensions/pi-zentui/test/footer-thinking-level.test.ts +123 -0
  954. package/dist/extensions/pi-zentui/test/format.test.ts +75 -1
  955. package/dist/extensions/pi-zentui/test/git-probes.test.ts +182 -0
  956. package/dist/extensions/pi-zentui/test/github-status.test.ts +931 -0
  957. package/dist/extensions/pi-zentui/test/host-template-surfaces.test.ts +287 -0
  958. package/dist/extensions/pi-zentui/test/icons.test.ts +86 -16
  959. package/dist/extensions/pi-zentui/test/layered-editor.test.ts +53 -0
  960. package/dist/extensions/pi-zentui/test/live-context-integration.test.ts +154 -7
  961. package/dist/extensions/pi-zentui/test/live-context.test.ts +45 -0
  962. package/dist/extensions/pi-zentui/test/live-metadata-lifecycle.integration.test.ts +963 -0
  963. package/dist/extensions/pi-zentui/test/live-metadata.test.ts +767 -0
  964. package/dist/extensions/pi-zentui/test/minimalist-cache-hit-colors.test.ts +183 -0
  965. package/dist/extensions/pi-zentui/test/minimalist-editor.test.ts +222 -4
  966. package/dist/extensions/pi-zentui/test/minimalist-settings.test.ts +103 -0
  967. package/dist/extensions/pi-zentui/test/minimalist-templates.test.ts +489 -0
  968. package/dist/extensions/pi-zentui/test/omp-editor-composers.test.ts +324 -0
  969. package/dist/extensions/pi-zentui/test/omp-statusline.test.ts +579 -0
  970. package/dist/extensions/pi-zentui/test/omp-template-lookups.test.ts +630 -0
  971. package/dist/extensions/pi-zentui/test/omp-template-metrics.test.ts +72 -0
  972. package/dist/extensions/pi-zentui/test/omp-template-modes.test.ts +557 -0
  973. package/dist/extensions/pi-zentui/test/omp-ui.test.ts +93 -0
  974. package/dist/extensions/pi-zentui/test/package-contents.mjs +1 -0
  975. package/dist/extensions/pi-zentui/test/pi-version-policy.test.ts +37 -0
  976. package/dist/extensions/pi-zentui/test/project-demand-integration.test.ts +542 -0
  977. package/dist/extensions/pi-zentui/test/project-discovery.test.ts +412 -0
  978. package/dist/extensions/pi-zentui/test/project-refresh.test.ts +44 -0
  979. package/dist/extensions/pi-zentui/test/project-state.test.ts +38 -1
  980. package/dist/extensions/pi-zentui/test/responsive-dependencies.test.ts +7 -7
  981. package/dist/extensions/pi-zentui/test/runtime.test.ts +127 -2
  982. package/dist/extensions/pi-zentui/test/selesai-v030-gate.json +939 -0
  983. package/dist/extensions/pi-zentui/test/settings-command.test.ts +1330 -82
  984. package/dist/extensions/pi-zentui/test/settings-keys.test.ts +41 -0
  985. package/dist/extensions/pi-zentui/test/settings-list-selection.test.ts +88 -0
  986. package/dist/extensions/pi-zentui/test/settings-previews.test.ts +4 -1
  987. package/dist/extensions/pi-zentui/test/state.test.ts +15 -1
  988. package/dist/extensions/pi-zentui/test/telemetry-lifecycle-integration.test.ts +214 -12
  989. package/dist/extensions/pi-zentui/test/telemetry-snapshot.test.ts +246 -0
  990. package/dist/extensions/pi-zentui/test/thinking-experimental-cache.test.ts +246 -0
  991. package/dist/extensions/pi-zentui/test/thinking-experimental-rows.test.ts +22 -0
  992. package/dist/extensions/pi-zentui/test/thinking-experimental-tui.mjs +113 -51
  993. package/dist/extensions/pi-zentui/test/thinking-experimental.test.ts +576 -76
  994. package/dist/extensions/pi-zentui/test/thinking-steps.test.ts +23 -0
  995. package/dist/extensions/pi-zentui/test/token-rate.test.ts +450 -0
  996. package/dist/extensions/pi-zentui/test/turn-summary-format.test.ts +207 -0
  997. package/dist/extensions/pi-zentui/test/turn-summary-lifecycle.integration.test.ts +72 -5
  998. package/dist/extensions/pi-zentui/test/turn-summary-rate.test.ts +158 -0
  999. package/dist/extensions/pi-zentui/test/usage-lifecycle-integration.test.ts +421 -0
  1000. package/dist/extensions/pi-zentui/test/usage-snapshot.test.ts +154 -0
  1001. package/dist/extensions/pi-zentui/test/user-message-cache.test.ts +239 -0
  1002. package/dist/extensions/pi-zentui/test/user-message-native-reduced-capabilities.test.ts +61 -0
  1003. package/dist/extensions/pi-zentui/test/user-message-native.test.ts +447 -0
  1004. package/dist/extensions/pi-zentui/test/user-message-styles.test.ts +2 -2
  1005. package/dist/extensions/pi-zentui/test/working-line-editor-placement.test.ts +317 -0
  1006. package/dist/extensions/pi-zentui/test/working-line-generation-cache.test.ts +238 -0
  1007. package/dist/extensions/pi-zentui/test/working-line-lifecycle.integration.test.ts +674 -179
  1008. package/dist/extensions/pi-zentui/test/working-line-message-ownership.test.ts +239 -0
  1009. package/dist/extensions/pi-zentui/test/working-line-metric-animation.test.ts +284 -0
  1010. package/dist/extensions/pi-zentui/test/working-line-placement.test.ts +298 -0
  1011. package/dist/extensions/pi-zentui/test/working-line.test.ts +386 -18
  1012. package/dist/extensions/pi-zentui/test/wrapped-editor-consumers.integration.test.ts +579 -0
  1013. package/dist/extensions/pi-zentui/test/wrapped-editor-usage.integration.test.ts +298 -0
  1014. package/dist/extensions/pi-zentui/tsconfig.json +1 -1
  1015. package/dist/extensions/pi-zentui/vitest.host.config.ts +33 -0
  1016. package/dist/extensions/question/index.ts +1 -5
  1017. package/dist/extensions/rtk.test.ts +28 -15
  1018. package/dist/extensions/rtk.ts +22 -22
  1019. package/dist/extensions/skills-index/index.test.ts +99 -0
  1020. package/dist/extensions/skills-index/index.ts +105 -0
  1021. package/dist/extensions/skills-index/package.json +9 -0
  1022. package/dist/extensions/tokenin-onboarding.ts +52 -210
  1023. package/dist/extensions/tool-search/index.d.ts +11 -0
  1024. package/dist/extensions/tool-search/index.js +14 -0
  1025. package/dist/extensions/tool-search/tool.d.ts +72 -0
  1026. package/dist/extensions/tool-search/tool.js +188 -0
  1027. package/dist/index.d.ts +21 -9
  1028. package/dist/index.js +17 -5
  1029. package/dist/main.d.ts +10 -0
  1030. package/dist/main.js +107 -43
  1031. package/dist/migrations.js +4 -3
  1032. package/dist/modes/index.d.ts +2 -1
  1033. package/dist/modes/interactive/bug-report.js +4 -0
  1034. package/dist/modes/interactive/components/armin.d.ts +3 -0
  1035. package/dist/modes/interactive/components/armin.js +7 -5
  1036. package/dist/modes/interactive/components/assistant-message.js +1 -1
  1037. package/dist/modes/interactive/components/auth-url.d.ts +13 -0
  1038. package/dist/modes/interactive/components/auth-url.js +36 -0
  1039. package/dist/modes/interactive/components/bash-execution.d.ts +5 -1
  1040. package/dist/modes/interactive/components/bash-execution.js +17 -14
  1041. package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
  1042. package/dist/modes/interactive/components/branch-summary-message.js +5 -2
  1043. package/dist/modes/interactive/components/compaction-summary-message.d.ts +2 -1
  1044. package/dist/modes/interactive/components/compaction-summary-message.js +5 -2
  1045. package/dist/modes/interactive/components/config-selector.js +13 -3
  1046. package/dist/modes/interactive/components/custom-editor.js +7 -0
  1047. package/dist/modes/interactive/components/custom-entry.d.ts +3 -1
  1048. package/dist/modes/interactive/components/custom-entry.js +8 -2
  1049. package/dist/modes/interactive/components/custom-message.js +1 -0
  1050. package/dist/modes/interactive/components/first-time-setup.d.ts +4 -4
  1051. package/dist/modes/interactive/components/first-time-setup.js +8 -2
  1052. package/dist/modes/interactive/components/footer.d.ts +7 -0
  1053. package/dist/modes/interactive/components/footer.js +44 -4
  1054. package/dist/modes/interactive/components/index.d.ts +0 -1
  1055. package/dist/modes/interactive/components/index.js +0 -1
  1056. package/dist/modes/interactive/components/login-dialog.d.ts +2 -0
  1057. package/dist/modes/interactive/components/login-dialog.js +11 -5
  1058. package/dist/modes/interactive/components/mermaid.d.ts +10 -0
  1059. package/dist/modes/interactive/components/mermaid.js +74 -0
  1060. package/dist/modes/interactive/components/model-selector.d.ts +14 -9
  1061. package/dist/modes/interactive/components/model-selector.js +79 -31
  1062. package/dist/modes/interactive/components/oauth-selector.d.ts +8 -2
  1063. package/dist/modes/interactive/components/oauth-selector.js +24 -21
  1064. package/dist/modes/interactive/components/pi-logo.d.ts +18 -0
  1065. package/dist/modes/interactive/components/pi-logo.js +36 -0
  1066. package/dist/modes/interactive/components/radius-login-selector.d.ts +14 -0
  1067. package/dist/modes/interactive/components/radius-login-selector.js +84 -0
  1068. package/dist/modes/interactive/components/scoped-models-selector.d.ts +4 -0
  1069. package/dist/modes/interactive/components/scoped-models-selector.js +26 -0
  1070. package/dist/modes/interactive/components/settings-selector.d.ts +8 -11
  1071. package/dist/modes/interactive/components/settings-selector.js +60 -102
  1072. package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
  1073. package/dist/modes/interactive/components/skill-invocation-message.js +5 -2
  1074. package/dist/modes/interactive/components/themed-text.d.ts +16 -0
  1075. package/dist/modes/interactive/components/themed-text.js +28 -0
  1076. package/dist/modes/interactive/components/tool-execution.d.ts +11 -18
  1077. package/dist/modes/interactive/components/tool-execution.js +34 -47
  1078. package/dist/modes/interactive/components/tree-selector.js +7 -0
  1079. package/dist/modes/interactive/components/user-message.d.ts +3 -1
  1080. package/dist/modes/interactive/components/user-message.js +14 -6
  1081. package/dist/modes/interactive/components/visual-truncate.d.ts +27 -3
  1082. package/dist/modes/interactive/components/visual-truncate.js +39 -6
  1083. package/dist/modes/interactive/external-editor.js +2 -1
  1084. package/dist/modes/interactive/interactive-mode.d.ts +41 -8
  1085. package/dist/modes/interactive/interactive-mode.js +854 -492
  1086. package/dist/modes/interactive/program-status-reporter.d.ts +33 -0
  1087. package/dist/modes/interactive/program-status-reporter.js +109 -0
  1088. package/dist/modes/interactive/theme/dark.json +59 -72
  1089. package/dist/modes/interactive/theme/light.json +57 -69
  1090. package/dist/modes/interactive/theme/system-theme.d.ts +54 -0
  1091. package/dist/modes/interactive/theme/system-theme.js +545 -0
  1092. package/dist/modes/interactive/theme/theme-controller.d.ts +46 -6
  1093. package/dist/modes/interactive/theme/theme-controller.js +127 -47
  1094. package/dist/modes/interactive/theme/theme-json.d.ts +1 -0
  1095. package/dist/modes/interactive/theme/theme-json.js +3 -1
  1096. package/dist/modes/interactive/theme/theme-schema.json +7 -2
  1097. package/dist/modes/interactive/theme/theme.d.ts +66 -39
  1098. package/dist/modes/interactive/theme/theme.js +243 -320
  1099. package/dist/modes/interactive/tui-renderer.d.ts +2 -1
  1100. package/dist/modes/interactive/tui-renderer.js +1 -0
  1101. package/dist/modes/json-event.d.ts +33 -0
  1102. package/dist/modes/json-event.js +28 -0
  1103. package/dist/modes/print-mode.js +12 -2
  1104. package/dist/modes/rpc/intercom-bridge.d.ts +14 -0
  1105. package/dist/modes/rpc/intercom-bridge.js +75 -0
  1106. package/dist/modes/rpc/intercom-bridge.test.js +65 -0
  1107. package/dist/modes/rpc/release-bridge.d.ts +35 -0
  1108. package/dist/modes/rpc/release-bridge.js +159 -0
  1109. package/dist/modes/rpc/release-bridge.test.d.ts +1 -0
  1110. package/dist/modes/rpc/release-bridge.test.js +347 -0
  1111. package/dist/modes/rpc/rpc-client.d.ts +43 -27
  1112. package/dist/modes/rpc/rpc-client.js +97 -37
  1113. package/dist/modes/rpc/rpc-intercom-transport.test.d.ts +1 -0
  1114. package/dist/modes/rpc/rpc-intercom-transport.test.js +85 -0
  1115. package/dist/modes/rpc/rpc-mode.d.ts +1 -13
  1116. package/dist/modes/rpc/rpc-mode.js +250 -34
  1117. package/dist/modes/rpc/rpc-release-transport.test.d.ts +1 -0
  1118. package/dist/modes/rpc/rpc-release-transport.test.js +329 -0
  1119. package/dist/modes/rpc/rpc-subagent-transport.test.d.ts +1 -0
  1120. package/dist/modes/rpc/rpc-subagent-transport.test.js +60 -0
  1121. package/dist/modes/rpc/rpc-types.d.ts +22 -23
  1122. package/dist/modes/rpc/rpc-types.js +0 -6
  1123. package/dist/modes/rpc/subagent-bridge.d.ts +23 -0
  1124. package/dist/modes/rpc/subagent-bridge.js +93 -0
  1125. package/dist/modes/rpc/test-fixtures/intercom-host.d.ts +1 -0
  1126. package/dist/modes/rpc/test-fixtures/intercom-host.js +13 -0
  1127. package/dist/package-manager-cli.js +16 -5
  1128. package/dist/rpc-entry.js +1 -0
  1129. package/dist/skills/pi-subagents/SKILL.md +109 -35
  1130. package/dist/skills/pi-subagents/references/constraints-and-recipes.md +38 -238
  1131. package/dist/skills/pi-subagents/references/execution-controls.md +181 -83
  1132. package/dist/skills/pi-subagents/references/management-authoring-rpc.md +9 -9
  1133. package/dist/skills/pi-subagents/references/multi-lane-orchestration.md +24 -2
  1134. package/dist/skills/pi-subagents/references/prompting-and-roles.md +121 -91
  1135. package/dist/skills/pi-subagents/references/review-and-validation.md +73 -0
  1136. package/dist/utils/ansi.d.ts +8 -0
  1137. package/dist/utils/ansi.js +30 -11
  1138. package/dist/utils/clipboard-image.js +14 -17
  1139. package/dist/utils/clipboard.d.ts +2 -0
  1140. package/dist/utils/clipboard.js +17 -11
  1141. package/dist/utils/frontmatter.js +2 -1
  1142. package/dist/utils/image-convert.d.ts +12 -0
  1143. package/dist/utils/image-convert.js +45 -6
  1144. package/dist/utils/image-resize-core.d.ts +12 -0
  1145. package/dist/utils/image-resize-core.js +5 -0
  1146. package/dist/utils/image-resize-worker.js +3 -2
  1147. package/dist/utils/image-resize.js +9 -10
  1148. package/dist/utils/mime.js +1 -1
  1149. package/dist/utils/output-files.d.ts +14 -0
  1150. package/dist/utils/output-files.js +29 -0
  1151. package/dist/utils/paths.d.ts +6 -3
  1152. package/dist/utils/paths.js +28 -5
  1153. package/dist/utils/shell.d.ts +1 -3
  1154. package/dist/utils/shell.js +3 -30
  1155. package/dist/utils/syntax-highlight.d.ts +1 -0
  1156. package/dist/utils/syntax-highlight.js +68 -2
  1157. package/dist/utils/tool-result-images.d.ts +20 -0
  1158. package/dist/utils/tool-result-images.js +47 -0
  1159. package/dist/utils/tools-manager.d.ts +5 -0
  1160. package/dist/utils/tools-manager.js +6 -6
  1161. package/dist/utils/version-check.d.ts +4 -0
  1162. package/dist/utils/version-check.js +20 -2
  1163. package/docs/cli-integration.md +104 -0
  1164. package/docs/cli.md +333 -0
  1165. package/docs/codemode.md +230 -0
  1166. package/docs/configuration.md +47 -0
  1167. package/docs/environment-variables.md +5 -0
  1168. package/docs/extensions.md +107 -30
  1169. package/docs/json.md +8 -4
  1170. package/docs/keybindings.md +10 -10
  1171. package/docs/mcp.md +262 -0
  1172. package/docs/models.md +104 -3
  1173. package/docs/providers.md +20 -2
  1174. package/docs/rpc-subagent.schema.json +491 -0
  1175. package/docs/rpc.md +223 -13
  1176. package/docs/sdk.md +41 -33
  1177. package/docs/security.md +21 -20
  1178. package/docs/settings.md +18 -46
  1179. package/docs/terminal-setup.md +14 -0
  1180. package/docs/virtual-models.md +114 -0
  1181. package/examples/extensions/jev-router.ts +113 -0
  1182. package/examples/extensions/tokenin-usage-widget.ts +124 -0
  1183. package/examples/rpc-client.ts +35 -0
  1184. package/examples/sdk/14-codemode-mcp.ts +67 -0
  1185. package/package.json +16 -8
  1186. package/dist/core/agent-session-auto-handoff.test.js +0 -195
  1187. package/dist/core/built-in-extensions.d.ts +0 -2
  1188. package/dist/core/built-in-extensions.js +0 -2
  1189. package/dist/core/llama/provider.js +0 -143
  1190. package/dist/core/settings-manager-auto-handoff.test.js +0 -53
  1191. package/dist/extensions/capability-gateway/catalog.ts +0 -177
  1192. package/dist/extensions/capability-gateway/index.test.ts +0 -226
  1193. package/dist/extensions/capability-gateway/index.ts +0 -669
  1194. package/dist/extensions/capability-gateway/integration.test.ts +0 -803
  1195. package/dist/extensions/capability-gateway/package.json +0 -16
  1196. package/dist/extensions/capability-gateway/routing.test.ts +0 -574
  1197. package/dist/extensions/capability-gateway/routing.ts +0 -403
  1198. package/dist/extensions/pi-subagents/runner-server-preload.mjs +0 -13
  1199. package/dist/extensions/pi-subagents/src/runs/shared/completion-evidence.ts +0 -89
  1200. package/dist/extensions/pi-subagents/src/runs/shared/completion-guard.ts +0 -259
  1201. package/dist/extensions/pi-subagents/src/runs/shared/llm-intent-arbiter.ts +0 -312
  1202. package/dist/extensions/pi-subagents/src/runs/shared/model-exclusions.ts +0 -374
  1203. package/dist/extensions/pi-subagents/src/runs/shared/readonly-model-continuation.ts +0 -69
  1204. package/dist/extensions/pi-subagents/src/runs/shared/readonly-session-evidence.ts +0 -307
  1205. package/dist/extensions/pi-subagents/src/runs/shared/task-intent.ts +0 -211
  1206. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/cli.d.ts +0 -3
  1207. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/register-bedrock.d.ts +0 -2
  1208. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/bun/restore-sandbox-env.d.ts +0 -17
  1209. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/args.d.ts +0 -57
  1210. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/config-selector.d.ts +0 -16
  1211. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/file-processor.d.ts +0 -15
  1212. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/initial-message.d.ts +0 -18
  1213. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/list-models.d.ts +0 -9
  1214. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/project-trust.d.ts +0 -10
  1215. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/session-picker.d.ts +0 -10
  1216. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli/startup-ui.d.ts +0 -20
  1217. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/cli.d.ts +0 -3
  1218. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/config.d.ts +0 -96
  1219. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-runtime.d.ts +0 -119
  1220. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session-services.d.ts +0 -85
  1221. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/agent-session.d.ts +0 -620
  1222. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-guidance.d.ts +0 -5
  1223. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/auth-storage.d.ts +0 -56
  1224. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/bash-executor.d.ts +0 -32
  1225. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/cache-stats.d.ts +0 -49
  1226. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/branch-summarization.d.ts +0 -93
  1227. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/compaction.d.ts +0 -128
  1228. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/index.d.ts +0 -7
  1229. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/compaction/utils.d.ts +0 -38
  1230. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/defaults.d.ts +0 -3
  1231. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/diagnostics.d.ts +0 -15
  1232. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/event-bus.d.ts +0 -9
  1233. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/exec.d.ts +0 -29
  1234. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/experimental.d.ts +0 -2
  1235. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/ansi-to-html.d.ts +0 -22
  1236. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/index.d.ts +0 -37
  1237. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/export-html/tool-renderer.d.ts +0 -34
  1238. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/index.d.ts +0 -12
  1239. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/loader.d.ts +0 -23
  1240. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/runner.d.ts +0 -171
  1241. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/types.d.ts +0 -1261
  1242. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/extensions/wrapper.d.ts +0 -20
  1243. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/footer-data-provider.d.ts +0 -54
  1244. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/http-dispatcher.d.ts +0 -22
  1245. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/index.d.ts +0 -13
  1246. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/keybindings.d.ts +0 -358
  1247. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/messages.d.ts +0 -77
  1248. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-config.d.ts +0 -512
  1249. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-registry.d.ts +0 -43
  1250. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-resolver.d.ts +0 -121
  1251. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/model-runtime.d.ts +0 -82
  1252. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/models-store.d.ts +0 -17
  1253. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/output-guard.d.ts +0 -7
  1254. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/package-manager.d.ts +0 -210
  1255. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/project-trust.d.ts +0 -15
  1256. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/prompt-templates.d.ts +0 -54
  1257. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-attribution.d.ts +0 -4
  1258. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/provider-composer.d.ts +0 -55
  1259. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/radius.d.ts +0 -2
  1260. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/remote-catalog-provider.d.ts +0 -5
  1261. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resolve-config-value.d.ts +0 -30
  1262. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/resource-loader.d.ts +0 -206
  1263. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/runtime-credentials.d.ts +0 -15
  1264. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/sdk.d.ts +0 -106
  1265. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-cwd.d.ts +0 -19
  1266. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/session-manager.d.ts +0 -356
  1267. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/settings-manager.d.ts +0 -297
  1268. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/skills.d.ts +0 -60
  1269. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/slash-commands.d.ts +0 -15
  1270. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/source-info.d.ts +0 -18
  1271. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/system-prompt.d.ts +0 -28
  1272. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/telemetry.d.ts +0 -3
  1273. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/timings.d.ts +0 -10
  1274. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/bash.d.ts +0 -68
  1275. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit-diff.d.ts +0 -106
  1276. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/edit.d.ts +0 -51
  1277. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/file-mutation-queue.d.ts +0 -6
  1278. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/find.d.ts +0 -35
  1279. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/grep.d.ts +0 -37
  1280. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/index.d.ts +0 -40
  1281. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/ls.d.ts +0 -37
  1282. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/output-accumulator.d.ts +0 -52
  1283. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/path-utils.d.ts +0 -10
  1284. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/read.d.ts +0 -35
  1285. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/render-utils.d.ts +0 -24
  1286. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/tool-definition-wrapper.d.ts +0 -14
  1287. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/truncate.d.ts +0 -70
  1288. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/tools/write.d.ts +0 -26
  1289. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/trust-manager.d.ts +0 -36
  1290. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/core/usage-totals.d.ts +0 -19
  1291. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/client.d.ts +0 -61
  1292. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/huggingface.d.ts +0 -23
  1293. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/index.d.ts +0 -3
  1294. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/provider.d.ts +0 -10
  1295. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/extensions/llama/ui.d.ts +0 -42
  1296. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/index.d.ts +0 -35
  1297. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/main.d.ts +0 -12
  1298. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/migrations.d.ts +0 -33
  1299. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/index.d.ts +0 -9
  1300. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/armin.d.ts +0 -34
  1301. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/assistant-message.d.ts +0 -22
  1302. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bash-execution.d.ts +0 -34
  1303. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/bordered-loader.d.ts +0 -16
  1304. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/branch-summary-message.d.ts +0 -16
  1305. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/compaction-summary-message.d.ts +0 -16
  1306. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/config-selector.d.ts +0 -102
  1307. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/countdown-timer.d.ts +0 -14
  1308. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-editor.d.ts +0 -21
  1309. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-entry.d.ts +0 -19
  1310. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/custom-message.d.ts +0 -20
  1311. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/daxnuts.d.ts +0 -23
  1312. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/diff.d.ts +0 -12
  1313. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/dynamic-border.d.ts +0 -15
  1314. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/earendil-announcement.d.ts +0 -5
  1315. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-editor.d.ts +0 -22
  1316. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-input.d.ts +0 -23
  1317. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/extension-selector.d.ts +0 -26
  1318. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/first-time-setup.d.ts +0 -25
  1319. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/footer.d.ts +0 -32
  1320. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/index.d.ts +0 -34
  1321. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/keybinding-hints.d.ts +0 -13
  1322. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/login-dialog.d.ts +0 -52
  1323. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/model-selector.d.ts +0 -54
  1324. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/oauth-selector.d.ts +0 -33
  1325. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/scoped-models-selector.d.ts +0 -42
  1326. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector-search.d.ts +0 -23
  1327. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/session-selector.d.ts +0 -95
  1328. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/settings-selector.d.ts +0 -77
  1329. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/show-images-selector.d.ts +0 -10
  1330. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/skill-invocation-message.d.ts +0 -17
  1331. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/status-indicator.d.ts +0 -28
  1332. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/theme-selector.d.ts +0 -11
  1333. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/thinking-selector.d.ts +0 -11
  1334. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tool-execution.d.ts +0 -63
  1335. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/tree-selector.d.ts +0 -94
  1336. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/trust-selector.d.ts +0 -23
  1337. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message-selector.d.ts +0 -30
  1338. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/user-message.d.ts +0 -14
  1339. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/components/visual-truncate.d.ts +0 -24
  1340. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/interactive-mode.d.ts +0 -394
  1341. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/model-search.d.ts +0 -12
  1342. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme-controller.d.ts +0 -29
  1343. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/interactive/theme/theme.d.ts +0 -120
  1344. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/print-mode.d.ts +0 -28
  1345. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/jsonl.d.ts +0 -17
  1346. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-client.d.ts +0 -246
  1347. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-mode.d.ts +0 -20
  1348. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/modes/rpc/rpc-types.d.ts +0 -457
  1349. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/package-manager-cli.d.ts +0 -8
  1350. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/rpc-entry.d.ts +0 -3
  1351. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/ansi.d.ts +0 -2
  1352. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/changelog.d.ts +0 -22
  1353. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/child-process.d.ts +0 -18
  1354. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-image.d.ts +0 -11
  1355. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard-native.d.ts +0 -11
  1356. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/clipboard.d.ts +0 -4
  1357. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/deprecation.d.ts +0 -4
  1358. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/exif-orientation.d.ts +0 -5
  1359. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/frontmatter.d.ts +0 -8
  1360. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/fs-watch.d.ts +0 -5
  1361. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/git.d.ts +0 -26
  1362. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/html.d.ts +0 -7
  1363. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-convert.d.ts +0 -10
  1364. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-process.d.ts +0 -18
  1365. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-core.d.ts +0 -30
  1366. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize-worker.d.ts +0 -2
  1367. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/image-resize.d.ts +0 -16
  1368. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/json.d.ts +0 -3
  1369. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/mime.d.ts +0 -3
  1370. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/open-browser.d.ts +0 -9
  1371. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/paths.d.ts +0 -31
  1372. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/photon.d.ts +0 -21
  1373. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/pi-user-agent.d.ts +0 -2
  1374. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/shell.d.ts +0 -31
  1375. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/sleep.d.ts +0 -5
  1376. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/syntax-highlight.d.ts +0 -12
  1377. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/tools-manager.d.ts +0 -3
  1378. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/version-check.d.ts +0 -15
  1379. package/dist/extensions/pi-subagents/test/fixtures/pi-coding-agent-shim/dist/utils/windows-self-update.d.ts +0 -3
  1380. package/dist/extensions/pi-subagents/test/smoke/pi085-child.ts +0 -31
  1381. package/dist/extensions/pi-subagents/test/smoke/pi085-clean-install.mjs +0 -74
  1382. package/dist/extensions/pi-subagents/test/unit/completion-evidence.test.ts +0 -150
  1383. package/dist/extensions/pi-subagents/test/unit/completion-guard.test.ts +0 -766
  1384. package/dist/extensions/pi-subagents/test/unit/llm-intent-arbiter.test.ts +0 -327
  1385. package/dist/extensions/pi-subagents/test/unit/model-exclusions.test.ts +0 -309
  1386. package/dist/extensions/pi-subagents/test/unit/model-fallback.test.ts +0 -1093
  1387. package/dist/extensions/pi-subagents/test/unit/readonly-model-continuation.test.ts +0 -94
  1388. package/dist/extensions/pi-subagents/test/unit/readonly-session-evidence.test.ts +0 -1329
  1389. package/dist/extensions/pi-subagents/test/unit/task-intent.test.ts +0 -153
  1390. package/dist/extensions/pi-zentui/extensions/zentui/accent-rail-layout-patch.ts +0 -457
  1391. package/dist/extensions/pi-zentui/test/accent-rail-layout-patch.test.ts +0 -669
  1392. package/dist/extensions/pi-zentui/test/thinking-experimental-docs.test.ts +0 -51
  1393. package/dist/modes/interactive/components/daxnuts.d.ts +0 -22
  1394. package/dist/modes/interactive/components/daxnuts.js +0 -139
  1395. /package/dist/core/{agent-session-auto-handoff.test.d.ts → agent-session-custom-tools.test.d.ts} +0 -0
  1396. /package/dist/{core → extensions}/llama/huggingface.d.ts +0 -0
  1397. /package/dist/{core → extensions}/llama/huggingface.js +0 -0
  1398. /package/dist/{core → extensions}/llama/index.d.ts +0 -0
  1399. /package/dist/{core → extensions}/llama/ui.d.ts +0 -0
  1400. /package/dist/{core → extensions}/llama/ui.js +0 -0
  1401. /package/dist/{core/settings-manager-auto-handoff.test.d.ts → modes/rpc/intercom-bridge.test.d.ts} +0 -0
package/docs/rpc.md CHANGED
@@ -78,9 +78,11 @@ With `queueWhileCompacting: true` the prompt is accepted into a buffer (`success
78
78
 
79
79
  Response:
80
80
  ```json
81
- {"id": "req-1", "type": "response", "command": "prompt", "success": true}
81
+ {"id": "req-1", "type": "response", "command": "prompt", "success": true, "data": {"disposition": "started"}}
82
82
  ```
83
83
 
84
+ `data.disposition` is `"started"`, `"queued"`, or `"handled"` for this input, not the session's streaming state. Extension commands or input hooks can handle a prompt without starting an agent run. A compaction-buffered prompt returns `"queued"`. `RpcClient.prompt()` returns this disposition; its legacy boolean third argument still controls compaction buffering. `promptAndWait()` returns promptly for handled inputs and waits for `agent_settled` otherwise.
85
+
84
86
  `success: true` means the prompt was accepted, queued, or handled immediately. `success: false` means the prompt was rejected before acceptance. Failures after acceptance are reported through the normal event and message stream, not as a second `response` for the same request id.
85
87
 
86
88
  The `images` field is optional. Each image uses `ImageContent` format: `{"type": "image", "data": "base64-encoded-data", "mimeType": "image/png"}`.
@@ -102,7 +104,7 @@ The `images` field is optional. Each image uses `ImageContent` format (same as `
102
104
 
103
105
  Response:
104
106
  ```json
105
- {"type": "response", "command": "steer", "success": true}
107
+ {"type": "response", "command": "steer", "success": true, "data": {"disposition": "queued"}}
106
108
  ```
107
109
 
108
110
  See [set_steering_mode](#set_steering_mode) for controlling how steering messages are processed.
@@ -124,7 +126,7 @@ The `images` field is optional. Each image uses `ImageContent` format (same as `
124
126
 
125
127
  Response:
126
128
  ```json
127
- {"type": "response", "command": "follow_up", "success": true}
129
+ {"type": "response", "command": "follow_up", "success": true, "data": {"disposition": "queued"}}
128
130
  ```
129
131
 
130
132
  See [set_follow_up_mode](#set_follow_up_mode) for controlling how follow-up messages are processed.
@@ -186,6 +188,7 @@ Response:
186
188
  "thinkingLevel": "medium",
187
189
  "isStreaming": false,
188
190
  "isCompacting": false,
191
+ "isRetrying": false,
189
192
  "steeringMode": "all",
190
193
  "followUpMode": "one-at-a-time",
191
194
  "sessionFile": "/path/to/session.jsonl",
@@ -198,7 +201,7 @@ Response:
198
201
  }
199
202
  ```
200
203
 
201
- The `model` field is a full [Model](#model) object or `null`. The `sessionName` field is the display name set via `set_session_name`, or omitted if not set.
204
+ The `model` field is a full [Model](#model) object or `null`. `isRetrying` is true while an auto-retry is in flight, including the backoff sleep between attempts (`isStreaming` can be false then). The `sessionName` field is the display name set via `set_session_name`, or omitted if not set.
202
205
 
203
206
  #### get_messages
204
207
 
@@ -857,6 +860,214 @@ Optional `themeName` selects the export theme:
857
860
 
858
861
  Response: `{"command": "share_gist", "success": true, "data": {"url": "https://github.com/user/...", "gistUrl": "https://gist.github.com/..."}}`
859
862
 
863
+ ### Subagent observability (Desktop / headless clients)
864
+
865
+ `subagent_status` is a dedicated **read-only** command. It does not invoke an LLM, the `subagent` tool, a slash command, or the generic internal RPC/event bus. It reads the loaded extension's current native foreground controls/history and tracker-fed async/fleet state. No arbitrary user paths are scanned. Spawn/manage/steer/stop/resume are **not** exposed by this stdio contract.
866
+
867
+ ```json
868
+ {"type":"subagent_status","id":"status-1","version":1}
869
+ {"type":"response","id":"status-1","command":"subagent_status","success":true,"data":{"version":1,"available":true,"capabilities":{"snapshot":true,"events":true},"sessionId":"host-session-id","epoch":"bind-uuid","revision":2,"fleet":{"version":1,"entries":[{"key":"fleet-1","agent":"worker","startedAt":1733234500000,"tokens":{"input":12,"output":3,"total":15}}],"totalActive":1,"topLevelAsyncCapacity":{"used":1,"limit":3},"omitted":0},"runs":[{"key":"node-opaque","runId":"run-1","status":"running","startedAt":1733234500000,"children":[{"key":"node-child-opaque","agent":"worker","status":"running","currentTool":"read","tokens":{"input":12,"output":3,"total":15},"children":[],"omittedChildren":0}],"omittedChildren":0}],"omitted":{"runs":0,"children":0}}}
870
+ ```
871
+
872
+ The exact machine-readable JSON Schema for commands, success responses, events, snapshots, fleet and recursive nodes is [rpc-subagent.schema.json](rpc-subagent.schema.json); TypeScript definitions are in [`src/core/subagent-rpc.ts`](../src/core/subagent-rpc.ts). `version:1` is required; missing/unknown versions, extra command fields, non-string/overlong IDs and malformed backend projections fail with normal `success:false` responses. Optional `id` is at most 128 characters without CR/LF. Unknown future wire fields should be ignored by clients.
873
+
874
+ Missing extension (also after disposal) is explicit, **not** an empty healthy fleet:
875
+
876
+ ```json
877
+ {"type":"response","command":"subagent_status","success":true,"data":{"version":1,"available":false,"capabilities":{"snapshot":true,"events":false},"sessionId":"host-session-id","epoch":"bind-uuid","revision":1,"fleet":{"version":1,"entries":[],"totalActive":0,"topLevelAsyncCapacity":{"used":0,"limit":0},"omitted":0},"runs":[],"omitted":{"runs":0,"children":0}}}
878
+ {"type":"response","command":"subagent_status","success":false,"error":"Unsupported subagent_status version; expected 1"}
879
+ ```
880
+
881
+ An initial `subagent_event` is emitted after extension binding, including when unavailable, and again for every session switch/rebind/reload. Each event is a **full replacement snapshot**, identical to the authoritative status projection at its revision, not a patch:
882
+
883
+ ```json
884
+ {"type":"subagent_event","version":1,"sessionId":"host-session-id","epoch":"bind-uuid","revision":1,"snapshot":{"version":1,"available":true,"capabilities":{"snapshot":true,"events":true},"sessionId":"host-session-id","epoch":"bind-uuid","revision":1,"fleet":{"version":1,"entries":[],"totalActive":0,"topLevelAsyncCapacity":{"used":0,"limit":0},"omitted":0},"runs":[],"omitted":{"runs":0,"children":0}}}
885
+ ```
886
+
887
+ Scope and recovery:
888
+ - `sessionId` is the **bare host parent SDK session ID**, never an artifact path or broker endpoint. Internally, native run ownership can use a session-file path; the adapter filters on that native identity without exposing it as a node identity.
889
+ - `epoch` is a fresh host-binding UUID shared with Intercom's nested `scope`. Rebinding the same session/reloading rotates it. Revision starts at 1 after binding and increases monotonically on projection changes; querying unchanged status does not advance it. A status query may publish a fresh changed snapshot immediately. Native progress changes are sampled/coalesced at 250 ms while subscribed; identical snapshots emit nothing.
890
+ - Desktop should retain the current `(sessionId, epoch)` from the current binding/status, reject obsolete scopes and revisions, and replace the whole projection. Reconnect by requesting status; events are not a durable log. Late callbacks from disposed bindings are ignored and subscriptions/timers are released. Parent `agent_end` is **not** child completion: async work remains active until its own runtime lifecycle changes.
891
+ - `available:true` means the native observation backend is loaded, not that any child, model, or task is healthy. `capabilities.snapshot` is always true; `events` is true only with the backend. Unavailable snapshots contain zero counters as unavailable placeholders, not evidence of an idle fleet.
892
+
893
+ Node semantics and bounds:
894
+ - `runs` holds bounded native foreground controls, retained foreground child rows, and current/recent async records. It is a runtime display window, **not a durable run ledger**. Foreground retained child rows have the parent `runId`; async records use their native async run ID. A `workflowId` is only present when native workflow ownership is known. `key` is opaque; reconcile keys only inside the current epoch, never parse them or use paths as IDs. Fleet keys are a separate active-child display namespace; do not join fleet keys to run keys.
895
+ - `status` is the native lifecycle: `queued|pending|running|complete|completed|failed|partial|paused|stopped|rejected|detached`. Optional `activity` is separate: `waiting_supervisor` comes only from an actual registered pending native supervisor request; `needs_attention` comes only from native control activity. Clearing a pending request removes the wait hint. Do not infer activity from parent streaming, elapsed time, output text or tool names.
896
+ - Optional numeric `startedAt`, `updatedAt`, `endedAt` are native millisecond timestamps. `progress` is a bounded latest-output/description projection (256 characters), `currentTool` is at most 96 characters, `agent` 96, `error` 256, `reason` 128. No arguments, transcripts, arbitrary artifacts, or paths-as-identity are included; display strings can naturally mention paths and are not a secret-redaction API.
897
+ - `tokens`, when genuinely present, is `{input,output,total,window?,windowPeak?}` with nonnegative safe integers. Do not invent missing counters. Fleet retains the existing DTO's zero-counter fallback for absent usage; run/node tokens are omitted if unknown.
898
+ - Optional `outcome:{status,success?,exitCode?}` is only copied from an explicit native `execution` projection. A lifecycle `complete`/`completed`, terminal timestamp, exit code in other metadata, or output presence does **not** establish task success. `processTerminal:{state,observedAt?,reason?}` independently copies native runner proof (`pending|observed|unknown|not-started`); never infer it from task outcome or lifecycle. Both may be absent, and a failed task may have observed process closure.
899
+ - Fleet has at most 16 entries and 256 candidate records. `totalActive` counts native active children before the display bound; `omitted = totalActive - entries.length`, including malformed display rows. `topLevelAsyncCapacity.limit:0` means that native opt-in cap is disabled.
900
+ - At most 32 run roots, 64 total run/child nodes, 16 immediate children per node, and child depth 4 are emitted. The serialized projection reserves 1 KiB inside a 64 KiB budget for wire scope/envelope. Overflow/malformed records are omitted. `omitted.runs` counts excluded root candidates; every emitted node has `omittedChildren`, counting excluded **immediate child candidates** (not recursively enumerating hidden descendants). `omitted.children` is the sum of these counts over emitted nodes. Entire roots can be removed to meet the byte budget. These counts describe this projection window only, not expired native history or undiscovered artifacts.
901
+
902
+ TypeScript: `RpcClient.subagentStatus(): Promise<SubagentRpcSnapshot>` and `RpcEvent`/`SubagentRpcEvent` are exported with `SubagentRpcCommand`, `SubagentRpcResponse`, `SubagentRpcNode`, `SubagentRpcFleet`, `SubagentRpcTokens`, `SubagentRpcLifecycle`, and `RpcObservationScope` from `@selesai/code`. The dedicated internal source bridge is not an external extension-bus RPC invocation API.
903
+
904
+ ### Release readiness (Desktop / headless clients)
905
+
906
+ `release_readiness` answers one question authoritatively: **is it safe to stop this process right now, and if not, why?** A host that spawns one `--mode rpc` child per session uses it to decide when an idle child may be released (gracefully stopped) without losing background subagent runs, intercom asks, armed session-only schedules, queued prompts, open extension dialogs or retrying turns. It is read-only and never invokes a model. Call it from events (navigate away, turn end, background result delivered), not on a timer.
907
+
908
+ ```json
909
+ {"type":"release_readiness","id":"r-1","version":1}
910
+ {"type":"response","id":"r-1","command":"release_readiness","success":true,"data":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid","safe":false,"contributors":["subagents","intercom","scheduler"],"blockers":[{"source":"subagents","kind":"async_run","id":"run-1","detail":"Async single running: worker","since":1733234500000}]}}
911
+ {"type":"response","command":"release_readiness","success":false,"error":"Unsupported release_readiness version; expected 1"}
912
+ ```
913
+
914
+ - `version` must be `1`; unknown keys and an `id` longer than 128 characters or containing line breaks are rejected with a failure response. After a session switch/reload the previous binding answers `"Release readiness session ended"`.
915
+ - `safe` is `true` **only** when `blockers` is empty. Treat any failure response as "not safe".
916
+ - `sessionId` and `epoch` are the same scope as `subagent_status`/Intercom events. Drop answers whose `(sessionId, epoch)` is obsolete; the epoch rotates on `new_session`, `switch_session`, fork/clone, import and reload.
917
+ - `contributors` lists the extension contributors that answered (`subagents`, `intercom`, `scheduler`). **`safe: true` with an empty `contributors` list means no extension reported**, e.g. the extensions are not loaded. Core blockers are always evaluated. A host that requires extension coverage should check the list.
918
+ - **Fail closed.** A contributor that throws, returns malformed blockers, or fails while reconciling a run yields a `contributor_error` blocker instead of silently answering safe. Over-long contributions are truncated with a `contributor_error` marker (64 blockers per contributor, 256 total).
919
+ - A dead background runner is **not** a blocker: it is repaired into a failed result first and then reported as `undelivered_result` until that result is delivered to the session.
920
+
921
+ Blocker fields: `source` (`core`, `subagents`, `intercom`, `scheduler`, or another extension name), `kind` (stable token), optional `id`, human-readable `detail`, optional `since` (epoch ms; for `armed_schedule` it is the next run time).
922
+
923
+ | source | kind | Reported when |
924
+ |---|---|---|
925
+ | core | `streaming` | an agent run (or its post-run continuation) is active |
926
+ | core | `compacting` | compaction or branch summarization is running |
927
+ | core | `retrying` | an auto-retry is in flight (also `isRetrying` in `get_state`) |
928
+ | core | `queued_messages` | steering/follow-up messages are queued |
929
+ | core | `pending_tool_calls` | tool calls are in flight |
930
+ | core | `pending_bash` | a `bash` command is running or its output awaits flushing |
931
+ | core | `extension_dialog` | an extension UI request awaits an `extension_ui_response` |
932
+ | core | `compaction_prompt_queue` | prompts are buffered until compaction ends |
933
+ | core | `prompt_in_flight` | a `prompt` command has not finished processing |
934
+ | core | `session_transition` | a session switch/new/fork/reload/rebind is in progress |
935
+ | core | `releasing` | a `release` command has been committed and the process is shutting down (see [`release`](#release-atomic-release-if-safe)) |
936
+ | subagents | `async_run` | a background run is queued/running, has live nested descendants, or a retained nested route may still be live (`id` = run id, `since` = start) |
937
+ | subagents | `foreground_run` | a foreground subagent run is in progress |
938
+ | subagents | `undelivered_result` | a repaired/finished run's result, a queued completion notification, or a persisted result owned by this process has not been delivered |
939
+ | intercom | `inbound_ask` | an ask is awaiting our reply (`id` = message id) |
940
+ | intercom | `outbound_ask` | our blocking ask awaits a reply |
941
+ | intercom | `outbound_message` | an outbox send from another extension has not settled |
942
+ | scheduler | `armed_schedule` | a **session-only** schedule holds an armed timer in this process (it would be lost on exit). Project schedules persist on disk and never block. An armed schedule whose record cannot be read is reported too (fail closed) |
943
+ | scheduler | `scheduled_run_pending` | a scheduled run (of any schedule kind) is still awaiting completion |
944
+ | any | `contributor_error` | a contributor failed (fail closed) |
945
+
946
+ Extension contract (internal, not an external RPC API): the host emits `release:readiness:v1` on the session event bus with `{version:1, sessionId, contribute(name, blockers)}`. Listeners call `contribute` synchronously, many contributors are accepted, and listeners must ignore requests whose `sessionId` is not the session they host (`answerReleaseReadiness` from `@selesai/code` implements the gate and the fail-closed try/catch).
947
+
948
+ TypeScript: `RpcClient.releaseReadiness(): Promise<ReleaseReadiness>`; `ReleaseReadinessCommand`, `ReleaseReadinessResponse`, `ReleaseReadiness` and `ReleaseBlocker` are exported types.
949
+
950
+ #### `release`: atomic release-if-safe
951
+
952
+ Asking `release_readiness` and then closing stdin is racy: stdin EOF shuts the process down immediately, so work that starts between the "safe" answer and the EOF (a schedule timer fires, an intercom message triggers a turn, a background result arrives) is lost. `release` closes that window by making the check and the commitment one step inside the process.
953
+
954
+ ```json
955
+ {"type":"release","id":"r-2","version":1}
956
+ {"type":"response","id":"r-2","command":"release","success":true,"data":{"released":true,"readiness":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid","safe":true,"contributors":["subagents","intercom","scheduler"],"blockers":[]}}}
957
+ {"type":"response","id":"r-3","command":"release","success":true,"data":{"released":false,"readiness":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid","safe":false,"contributors":["subagents","intercom","scheduler"],"blockers":[{"source":"core","kind":"pending_bash","detail":"Bash command running"}]}}}
958
+ ```
959
+
960
+ - Request fields and validation are identical to `release_readiness` (`version` must be `1`, no unknown keys, `id` at most 128 characters without line breaks); a malformed request gets a failure response and nothing is committed.
961
+ - The process computes readiness exactly as `release_readiness` does (core blockers plus every extension contributor) and, in the same synchronous step, decides:
962
+ - **Releasable** = `safe` **and** at least one contributor answered. The response is `released: true`. The process then rejects every later command with `success:false, error:"Session is releasing"` and, once the response is flushed, takes the normal graceful shutdown path: extensions receive `session_shutdown`, **nothing is aborted**, and the exit code is `0`. Because releasable implies idle, there is no in-flight turn to lose. Stdin EOF after a committed release is harmless.
963
+ - **Not releasable**: `released: false` with the full `readiness` (the blockers). The process keeps running normally and nothing changed.
964
+ - **Nobody answered is not released.** `safe: true` with an empty `contributors` list (extensions not loaded) yields `released: false`, because the process cannot prove that no background work exists. The `readiness` in the response shows `safe: true, contributors: []`; hosts that want to stop such a process anyway must do so themselves.
965
+ - After a committed release: `release` is answered idempotently with `released: true` (and the committed `readiness`); `release_readiness` answers `safe: false` with a core `releasing` blocker; every other command fails with `Session is releasing`. `extension_ui_response` lines are still routed.
966
+ - Residual window: work that bypasses the RPC command loop (extension timers such as session-only schedules, intercom-triggered turns, background results) is not refused by the flag; between the commit and the process exit (the stdout flush plus extension disposal, typically milliseconds) such work would be cut off by the shutdown. This is the same disposal that stdin EOF triggers, but without the unbounded gap between the readiness answer and the EOF.
967
+ - Prefer `release` over `release_readiness` + closing stdin. For CLIs that predate it (the `release` command fails with `Unknown command: release`), fall back to `release_readiness` and, only when `safe` with a non-empty `contributors`, close stdin.
968
+
969
+ TypeScript: `RpcClient.release(): Promise<ReleaseResult>`; `ReleaseCommand`, `ReleaseResponse` and `ReleaseResult` are exported types.
970
+
971
+ #### `stop_all_background`: kill switch for "Quit anyway"
972
+
973
+ `release` and `release_readiness` never stop work. `stop_all_background` is the opposite: **one destructive command that leaves nothing of this session running or armed.** It is intended only for an explicit user decision such as a "Quit anyway" button after a quit warning built from `release_readiness` blockers; never call it from automatic release, idle, cap or navigation logic. Afterwards the host exits the child gently (close stdin) or kills it.
974
+
975
+ ```json
976
+ {"type":"stop_all_background","id":"k-1","version":1}
977
+ {"type":"response","id":"k-1","command":"stop_all_background","success":true,"data":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid","stopped":[{"source":"core","kind":"turn","detail":"Aborted in-flight agent turn","ok":true},{"source":"scheduler","kind":"schedule","id":"nightly","detail":"Paused session-only schedule nightly and cleared its timer (schedule.resume re-arms it)","ok":true},{"source":"subagents","kind":"async_run","id":"run-1","detail":"Stopped Async single (worker) run-1","ok":true},{"source":"intercom","kind":"inbound_ask","id":"m-7","detail":"cannot cancel inbound: ask from planner is awaiting our reply and keeps waiting","ok":false,"error":"cannot cancel inbound"}],"remaining":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid","safe":false,"contributors":["subagents","intercom","scheduler"],"blockers":[{"source":"intercom","kind":"inbound_ask","id":"m-7","detail":"Ask from planner is awaiting our reply"}]}}}
978
+ {"type":"response","command":"stop_all_background","success":false,"error":"Unsupported stop_all_background version; expected 1"}
979
+ ```
980
+
981
+ - Request fields and validation are identical to `release_readiness` and `release` (`version` must be `1`, no unknown keys, `id` at most 128 characters without line breaks). `success:false` is returned **only** for a malformed request, while the session is releasing (`error:"Session is releasing"`, like every other command after a committed `release`), or when the binding was replaced during the stop. Individual failures never fail the command: they are `ok:false` items.
982
+ - `stopped` lists everything that was running, armed or pending when the command arrived, one item per thing: `{source, kind, id?, detail, ok, error?}`. `ok:true` means it is no longer running/armed/pending; `ok:false` carries a short `error` (`timeout`, `cannot cancel inbound`, `foreign_session`, or the failure text). An idle session yields `stopped: []`. Items are ordered by contributor: `core`, then extensions in registration order.
983
+ - `remaining` is the same `ReleaseReadiness` that `release_readiness` returns, computed **after** the stop: show it to explain what could not be stopped. Note that a run which was just stopped usually still appears as `undelivered_result` (its `stopped` result has not been delivered to the parent); that is not running work.
984
+ - **Idempotent.** A second call finds nothing left to stop: `stopped` only repeats things that cannot be stopped (inbound asks, runs of another session), usually `[]`.
985
+ - **Bounded.** The core abort and every extension's stop start together (synchronously inside the call) and are awaited under ONE total budget of about 5 seconds. A part that has not finished by then is reported `ok:false, error:"timeout"` and the response is sent anyway; its stop request stays in effect.
986
+
987
+ What is stopped:
988
+
989
+ | Source | What | How |
990
+ | --- | --- | --- |
991
+ | core | the in-flight agent turn, auto-retry, compaction and branch summarization | the same path as the `abort` command (`abortBranchSummary`, `abortCompaction`, `session.abort()`), plus: a running `bash` command is killed, and queued steer/follow-up messages and prompts buffered until compaction ends are dropped first so nothing restarts the turn after the abort |
992
+ | core / subagents | **foreground** subagent runs | they belong to the turn: the abort signal kills their child processes. The subagents handler only waits (within the budget) for them to leave and reports each as `foreground_run` |
993
+ | subagents | every live **async / detached** run of this session (`async_run`), runs a scheduled run is still awaiting (`scheduled_run`, the `scheduled_run_pending` blockers) and live nested descendants (`nested_run`) | the same machinery as the subagents RPC `stop` method: a stop request file is written to the run's control inbox (`<run dir>/control/stop-requests/`). The detached runner consumes it by itself, ends with status `stopped`, and exits; nothing depends on the CLI process staying alive, and the request is written before the call's first asynchronous step, so exiting right after the response is safe. Each item is `ok:true` once the runner's status is terminal |
994
+ | scheduler | **session-only** schedules armed in this process | **paused** (persisted) and their timers cleared, so they neither fire now nor on the next launch (`catchUp: "latest"` cannot revive a paused schedule). Pause rather than delete: it is reversible with `schedule.resume`, keeps the history and works while a run is active (delete refuses then) |
995
+ | intercom | this session's blocking **outbound ask** | broker `cancel_ask` (drops the ask edge and its pending-ask record), the blocked tool call/RPC ask returns `Cancelled: session background work was stopped`, and the recipient is asked to drop the message (`cancel_message`, best-effort; the detail says whether it was reached) |
996
+
997
+ What is **not** stopped:
998
+
999
+ - **Project schedules** (decision D11): they live on the project and re-arm on any launch. An armed timer whose record cannot be read is left alone and reported `ok:false` (it might be a project schedule).
1000
+ - **Inbound intercom asks** waiting on this session: the receiver cannot cancel the asker's ask. They are reported `ok:false, error:"cannot cancel inbound"` and stay in `remaining`. Outbound messages from other extensions that have not settled (`outbound_message`) and pending extension dialogs are also left alone.
1001
+ - **Runs of another session** that happen to be listed in this process are never touched (`ok:false, error:"foreign_session"`).
1002
+ - **Undelivered results** of stopped runs: they are delivered when the session is resumed (ownership takeover).
1003
+ - A wedged detached runner that never consumes its stop file: the control channel is file based on purpose (no PID signalling, a PID cannot be proven to belong to the runner), so it is reported `timeout` and stays in `remaining`; the host may still kill the process tree it knows about.
1004
+ - New work started during the stop window (for example a new prompt sent by the host in parallel) is not prevented; send the command, wait for the response, then exit.
1005
+
1006
+ TypeScript: `RpcClient.stopAllBackground(): Promise<StopAllBackgroundResult>`; `StopAllBackgroundCommand`, `StopAllBackgroundResponse`, `StopAllBackgroundResult` and `StopAllBackgroundItem` are exported types. Extension contract (internal): the host emits `release:stop-all:v1` with `{version:1, sessionId, deadline, contribute(name, items | Promise<items>)}`; extensions register a handler next to their `release:readiness:v1` contributor (`answerStopAllBackground` from `@selesai/code` implements the session gate and the fail-closed try/catch), start the stop synchronously and settle by `deadline`.
1007
+
1008
+ ### Intercom (Desktop / headless clients)
1009
+
1010
+ These dedicated commands use the loaded `pi-intercom` extension's existing local broker connection. They do not invoke a model, run `/intercom` (a TUI overlay), or expose arbitrary extension events/tools. They work while the agent is idle or busy. `list_sessions` lists saved transcripts; `intercom_list` lists **live broker-connected endpoints**, including self, within the current routing scope.
1011
+
1012
+ | Command | Fields | Successful `data` |
1013
+ | --- | --- | --- |
1014
+ | `intercom_status` | none | `{enabled, connected, sessionId, name?, scope:{version:1,sessionId,epoch}}` (snapshot; does not initiate a connection) |
1015
+ | `intercom_list` | none | `{sessionId, sessions: SessionInfo[]}` |
1016
+ | `intercom_pending` | none | `{asks: [{from, message, receivedAt}]}` (unresolved inbound asks) |
1017
+ | `intercom_send` | `to`, `message`, `attachments?`, `replyTo?` | Delivery object below |
1018
+ | `intercom_ask` | `to`, `message`, `attachments?`, `replyTo?`, `timeoutMs?` | Delivery object plus `reply: Message` |
1019
+ | `intercom_reply` | `message`, `to?`, `replyTo?`, `attachments?` | Delivery object with exact `replyTo` |
1020
+
1021
+ Targets use existing name/full-ID/unique-ID-prefix resolution; ambiguous and self targets fail. Prefer full IDs from a fresh live list. Text and targets must be non-empty strings; attachments use `{type: "file"|"snippet"|"context", name, content, language?}`. `reply` uses the current turn's inbound message or single pending ask; specify `replyTo` when there are multiple asks. Ordinary `send` infers the sole pending ask from its target, with the same active-turn misdirection guard as the model tool.
1022
+
1023
+ ```json
1024
+ {"id":"status-1","type":"intercom_status"}
1025
+ {"id":"peers-1","type":"intercom_list"}
1026
+ {"id":"send-1","type":"intercom_send","to":"peer-full-id","message":"Build finished."}
1027
+ {"id":"send-1","type":"response","command":"intercom_send","success":true,"data":{"messageId":"msg-1","to":"peer-full-id","delivered":true,"delivery":"socket_delivered","retryable":false,"outcomeKnown":true}}
1028
+ {"id":"ask-1","type":"intercom_ask","to":"peer-full-id","message":"Approve the change?","timeoutMs":60000}
1029
+ {"id":"ask-1","type":"response","command":"intercom_ask","success":true,"data":{"messageId":"question-1","to":"peer-full-id","delivered":true,"delivery":"socket_delivered","retryable":false,"outcomeKnown":true,"reply":{"id":"answer-1","timestamp":1733234567890,"replyTo":"question-1","content":{"text":"Approved."}}}}
1030
+ {"id":"pending-1","type":"intercom_pending"}
1031
+ {"id":"reply-1","type":"intercom_reply","replyTo":"question-2","message":"Proceed."}
1032
+ ```
1033
+
1034
+ RPC `id` correlates the terminal command response, not the Intercom message. `data.messageId` correlates delivery/receipts and `reply.replyTo`; `data.to` is the resolved target. Delivery is `socket_delivered` or `queued`; it does **not** mean the recipient model processed the message. Delivery failures return `success:false` and an error (diagnostic delivery events can include `code`, `reason`, `retryable`, `outcomeKnown`).
1035
+
1036
+ `ask` waits without an LLM turn and requires a live recipient. Its `timeoutMs` is an integer from 1 to 600000, default 600000; only one shared ask waiter (RPC or model tool) is allowed per session. Concurrent asks fail rather than replacing it. A timeout is **not cancellation** of already delivered work. Other bridge operations are bounded to 30 seconds (with a one-second host cleanup margin). Replacement, reload, shutdown, and disconnect settle pending operations; stale session events/results are discarded.
1037
+
1038
+ The extension's confirmation policy is unchanged: with `confirmSend:true`, ordinary and inferred sends emit `extension_ui_request` with `method:"confirm"`; respond with a matching `extension_ui_response`. Refusal, missing UI, or a 30-second confirmation timeout fails closed. Explicit `replyTo`, `reply`, and `ask` skip confirmation, as in the existing Intercom tool. A missing extension fails promptly with `Intercom extension unavailable`; a disabled extension reports `enabled:false` in status and rejects other operations.
1039
+
1040
+ #### Structured Intercom events
1041
+
1042
+ These stream even without an active prompt and while the agent is busy:
1043
+
1044
+ Every Intercom event and `intercom_status.data` includes **`scope: {version:1, sessionId: string|null, epoch: string}`**. `scope.sessionId` is the host parent SDK session ID (as in `get_state`), never a session-file path or broker endpoint ID. Existing top-level `sessionId` is unchanged: self broker endpoint in status/connection, departing peer endpoint in `intercom_session_left`. `from.id`, `session.id`, and list IDs also remain broker endpoints. `scope.epoch` is the host binding UUID shared with subagent snapshots; it rotates on every rebind/reload, including rebinding the same session. Reject events from an obsolete `(scope.sessionId, scope.epoch)` pair. Broker reconnects within the same binding do not rotate the epoch; connection events report reconnect state. Status does not initiate a broker connection.
1045
+
1046
+ ```json
1047
+ {"id":"status-1","type":"response","command":"intercom_status","success":true,"data":{"enabled":true,"connected":true,"sessionId":"broker-self-id","scope":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid"}}}
1048
+ ```
1049
+
1050
+ | Event | Payload |
1051
+ | --- | --- |
1052
+ | `intercom_connection` | `enabled`, `connected`, `sessionId`, `reason?` |
1053
+ | `intercom_session_joined` | `session: SessionInfo` |
1054
+ | `intercom_session_left` | `sessionId` |
1055
+ | `intercom_presence` | `session: SessionInfo` (name, cwd, model, lifecycle status, optional context usage) |
1056
+ | `intercom_message` | `from: SessionInfo`, `message: Message` (including attachments and threading) |
1057
+ | `intercom_delivery` | `result: {type:"delivered"|"delivery_failed", messageId, delivery, retryable, outcomeKnown, code?, reason?}` |
1058
+ | `intercom_receipt` | `from: SessionInfo`, `receipt: {messageId, status, timestamp, detail?}` |
1059
+
1060
+ ```json
1061
+ {"type":"intercom_connection","enabled":true,"connected":true,"sessionId":"self-id","scope":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid"}}
1062
+ {"type":"intercom_session_left","sessionId":"peer-full-id","scope":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid"}}
1063
+ {"type":"intercom_message","from":{"id":"peer-full-id","name":"reviewer","cwd":"/project","model":"model-id","pid":123,"startedAt":1733234500000,"lastActivity":1733234567890},"message":{"id":"question-2","timestamp":1733234567890,"expectsReply":true,"content":{"text":"Can I proceed?"}},"scope":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid"}}
1064
+ {"type":"intercom_receipt","from":{"id":"peer-full-id","cwd":"/project","model":"model-id","pid":123,"startedAt":1733234500000,"lastActivity":1733234567890},"receipt":{"messageId":"msg-1","status":"injected","timestamp":1733234567890},"scope":{"version":1,"sessionId":"host-session-id","epoch":"bind-uuid"}}
1065
+ ```
1066
+
1067
+ Incoming events are deduplicated per sender/message ID and include replies consumed by an ask waiter. They do not replace the normal custom-message/transcript stream; avoid rendering both as separate copies. Inbound triggering remains governed by `inboundTrigger`: idle recipients may start a turn and busy RPC recipients receive steering at the next safe boundary. Receipt statuses include `receiver_received`, `acknowledged`, `injected`, `queued`, `expired`, `cancelled`, `superseded`, and `cancellation_requested`.
1068
+
1069
+ TypeScript: `RpcClient` provides `intercomStatus`, `intercomList`, `intercomSend`, `intercomAsk`, `intercomReply`, `intercomPending`; `onEvent` accepts the exported `RpcEvent` union, including `IntercomRpcEvent` and extension UI requests. The `IntercomRpcCommand`, `IntercomRpcDataMap`, delivery/status/message option types are exported from `@selesai/code`.
1070
+
860
1071
  ### Commands
861
1072
 
862
1073
  #### get_commands
@@ -1002,17 +1213,16 @@ Emitted when a message begins and completes. The `message` field contains an `Ag
1002
1213
 
1003
1214
  ### message_update (Streaming)
1004
1215
 
1005
- Emitted during streaming of assistant messages. Contains both the partial message and a streaming delta event.
1216
+ Emitted during streaming of assistant messages. Wire records contain cumulative `usage` and a streaming delta event, not cumulative message snapshots. `message` and `assistantMessageEvent.partial` are omitted to keep stream size linear. SDK events still contain those snapshots; `message_end.message` is the authoritative final message.
1006
1217
 
1007
1218
  ```json
1008
1219
  {
1009
1220
  "type": "message_update",
1010
- "message": {...},
1221
+ "usage": {"input": 100, "output": 1, "cacheRead": 0, "cacheWrite": 0, "totalTokens": 101, "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "total": 0}},
1011
1222
  "assistantMessageEvent": {
1012
1223
  "type": "text_delta",
1013
1224
  "contentIndex": 0,
1014
- "delta": "Hello ",
1015
- "partial": {...}
1225
+ "delta": "Hello "
1016
1226
  }
1017
1227
  }
1018
1228
  ```
@@ -1028,7 +1238,7 @@ The `assistantMessageEvent` field contains one of these delta types:
1028
1238
  | `thinking_start` | Thinking block started |
1029
1239
  | `thinking_delta` | Thinking content chunk |
1030
1240
  | `thinking_end` | Thinking block ended |
1031
- | `toolcall_start` | Tool call started |
1241
+ | `toolcall_start` | Tool call started (includes `id` and `toolName`) |
1032
1242
  | `toolcall_delta` | Tool call arguments chunk |
1033
1243
  | `toolcall_end` | Tool call ended (includes full `toolCall` object) |
1034
1244
  | `done` | Message complete (reason: `"stop"`, `"length"`, `"toolUse"`) |
@@ -1036,10 +1246,10 @@ The `assistantMessageEvent` field contains one of these delta types:
1036
1246
 
1037
1247
  Example streaming a text response:
1038
1248
  ```json
1039
- {"type":"message_update","message":{...},"assistantMessageEvent":{"type":"text_start","contentIndex":0,"partial":{...}}}
1040
- {"type":"message_update","message":{...},"assistantMessageEvent":{"type":"text_delta","contentIndex":0,"delta":"Hello","partial":{...}}}
1041
- {"type":"message_update","message":{...},"assistantMessageEvent":{"type":"text_delta","contentIndex":0,"delta":" world","partial":{...}}}
1042
- {"type":"message_update","message":{...},"assistantMessageEvent":{"type":"text_end","contentIndex":0,"content":"Hello world","partial":{...}}}
1249
+ {"type":"message_update","usage":{...},"assistantMessageEvent":{"type":"text_start","contentIndex":0}}
1250
+ {"type":"message_update","usage":{...},"assistantMessageEvent":{"type":"text_delta","contentIndex":0,"delta":"Hello"}}
1251
+ {"type":"message_update","usage":{...},"assistantMessageEvent":{"type":"text_delta","contentIndex":0,"delta":" world"}}
1252
+ {"type":"message_update","usage":{...},"assistantMessageEvent":{"type":"text_end","contentIndex":0,"content":"Hello world"}}
1043
1253
  ```
1044
1254
 
1045
1255
  ### bash_execution_update
package/docs/sdk.md CHANGED
@@ -16,7 +16,7 @@ See [examples/sdk/](../examples/sdk/) for working examples from minimal to full
16
16
  ## Quick Start
17
17
 
18
18
  ```typescript
19
- import { AuthStorage, createAgentSession, ModelRegistry, SessionManager } from "@earendil-works/pi-coding-agent";
19
+ import { AuthStorage, createAgentSession, ModelRegistry, SessionManager } from "@selesai/code";
20
20
 
21
21
  // Set up credential storage and model registry
22
22
  const authStorage = AuthStorage.create();
@@ -40,7 +40,7 @@ await session.prompt("What files are in the current directory?");
40
40
  ## Installation
41
41
 
42
42
  ```bash
43
- npm install @earendil-works/pi-coding-agent
43
+ npm install @selesai/code
44
44
  ```
45
45
 
46
46
  The SDK is included in the main package. No separate installation needed.
@@ -54,7 +54,7 @@ The main factory function for a single `AgentSession`.
54
54
  `createAgentSession()` uses a `ResourceLoader` to supply extensions, skills, prompt templates, themes, and context files. If you do not provide one, it uses `DefaultResourceLoader` with standard discovery.
55
55
 
56
56
  ```typescript
57
- import { createAgentSession, SessionManager } from "@earendil-works/pi-coding-agent";
57
+ import { createAgentSession, SessionManager } from "@selesai/code";
58
58
 
59
59
  // Minimal: defaults with DefaultResourceLoader
60
60
  const { session } = await createAgentSession();
@@ -132,7 +132,7 @@ import {
132
132
  createAgentSessionServices,
133
133
  getAgentDir,
134
134
  SessionManager,
135
- } from "@earendil-works/pi-coding-agent";
135
+ } from "@selesai/code";
136
136
 
137
137
  const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
138
138
  const services = await createAgentSessionServices({ cwd });
@@ -338,23 +338,23 @@ const { session } = await createAgentSession({
338
338
  cwd: process.cwd(), // default
339
339
 
340
340
  // Global config directory
341
- agentDir: "~/.pi/agent", // default (expands ~)
341
+ agentDir: "~/.selesai/agent", // default (expands ~)
342
342
  });
343
343
  ```
344
344
 
345
345
  `cwd` is used by `DefaultResourceLoader` for:
346
- - Project extensions (`.pi/extensions/`)
346
+ - Project extensions (`.selesai/extensions/`)
347
347
  - Project skills:
348
- - `.pi/skills/`
348
+ - `.selesai/skills/`
349
349
  - `.agents/skills/` in `cwd` and ancestor directories (up to git repo root, or filesystem root when not in a repo)
350
- - Project prompts (`.pi/prompts/`)
350
+ - Project prompts (`.selesai/prompts/`)
351
351
  - Context files (`AGENTS.md` walking up from cwd)
352
352
  - Session directory naming
353
353
 
354
354
  `agentDir` is used by `DefaultResourceLoader` for:
355
355
  - Global extensions (`extensions/`)
356
356
  - Global skills:
357
- - `skills/` under `agentDir` (for example `~/.pi/agent/skills/`)
357
+ - `skills/` under `agentDir` (for example `~/.selesai/agent/skills/`)
358
358
  - `~/.agents/skills/`
359
359
  - Global prompts (`prompts/`)
360
360
  - Global context file (`AGENTS.md`)
@@ -369,7 +369,7 @@ When you pass a custom `ResourceLoader`, `cwd` and `agentDir` no longer control
369
369
 
370
370
  ```typescript
371
371
  import { getModel } from "@earendil-works/pi-ai";
372
- import { AuthStorage, ModelRegistry } from "@earendil-works/pi-coding-agent";
372
+ import { AuthStorage, ModelRegistry } from "@selesai/code";
373
373
 
374
374
  const authStorage = AuthStorage.create();
375
375
  const modelRegistry = ModelRegistry.create(authStorage);
@@ -416,9 +416,9 @@ API key resolution priority (handled by AuthStorage):
416
416
  4. Fallback resolver (for custom provider keys from `models.json`)
417
417
 
418
418
  ```typescript
419
- import { AuthStorage, ModelRegistry } from "@earendil-works/pi-coding-agent";
419
+ import { AuthStorage, ModelRegistry } from "@selesai/code";
420
420
 
421
- // Default: uses ~/.pi/agent/auth.json and ~/.pi/agent/models.json
421
+ // Default: uses ~/.selesai/agent/auth.json and ~/.selesai/agent/models.json
422
422
  const authStorage = AuthStorage.create();
423
423
  const modelRegistry = ModelRegistry.create(authStorage);
424
424
 
@@ -452,7 +452,7 @@ const simpleRegistry = ModelRegistry.inMemory(authStorage);
452
452
  Use a `ResourceLoader` to override the system prompt:
453
453
 
454
454
  ```typescript
455
- import { createAgentSession, DefaultResourceLoader } from "@earendil-works/pi-coding-agent";
455
+ import { createAgentSession, DefaultResourceLoader } from "@selesai/code";
456
456
 
457
457
  const loader = new DefaultResourceLoader({
458
458
  systemPromptOverride: () => "You are a helpful assistant.",
@@ -469,16 +469,16 @@ const { session } = await createAgentSession({ resourceLoader: loader });
469
469
  Specify which built-in tools to enable:
470
470
 
471
471
  - Built-in tool names: `read`, `bash`, `powershell`, `edit`, `write`, `grep`, `find`, `ls`
472
- - Default built-ins: `read`, `bash`, `edit`, `write`
472
+ - Default built-ins: `read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`
473
473
  - `noTools: "all"` disables all tools
474
- - Extension and custom tools are inactive by default; include their names in `tools` to enable them
474
+ - Extension and custom tools use their declared `exposure` and `defaultActive`; an explicit `tools` allowlist must include each tool you want enabled
475
475
  - `noTools: "builtin"` disables default built-ins and enables extension and custom tools
476
476
  - `excludeTools` disables specific built-in, extension, or custom tool names after any `tools` allowlist is applied
477
477
 
478
478
  The `edit` tool returns `details.diff` for Pi's TUI display and `details.patch` as a standard unified patch for SDK consumers.
479
479
 
480
480
  ```typescript
481
- import { createAgentSession } from "@earendil-works/pi-coding-agent";
481
+ import { createAgentSession } from "@selesai/code";
482
482
 
483
483
  // Read-only mode
484
484
  const { session } = await createAgentSession({
@@ -501,7 +501,7 @@ const { session } = await createAgentSession({
501
501
  When you pass a custom `cwd`, `createAgentSession()` builds selected built-in tools for that cwd.
502
502
 
503
503
  ```typescript
504
- import { createAgentSession, SessionManager } from "@earendil-works/pi-coding-agent";
504
+ import { createAgentSession, SessionManager } from "@selesai/code";
505
505
 
506
506
  const cwd = "/path/to/project";
507
507
 
@@ -525,7 +525,7 @@ const { session } = await createAgentSession({
525
525
 
526
526
  ```typescript
527
527
  import { Type } from "typebox";
528
- import { createAgentSession, defineTool } from "@earendil-works/pi-coding-agent";
528
+ import { createAgentSession, defineTool } from "@selesai/code";
529
529
 
530
530
  // Inline custom tool
531
531
  const myTool = defineTool({
@@ -557,10 +557,10 @@ If you pass `tools`, include each custom or extension tool name you want enabled
557
557
 
558
558
  ### Extensions
559
559
 
560
- Extensions are loaded by the `ResourceLoader`. `DefaultResourceLoader` discovers extensions from `~/.pi/agent/extensions/`, `.pi/extensions/`, and settings.json extension sources.
560
+ Extensions are loaded by the `ResourceLoader`. `DefaultResourceLoader` discovers extensions from `~/.selesai/agent/extensions/`, `.selesai/extensions/`, and settings.json extension sources.
561
561
 
562
562
  ```typescript
563
- import { createAgentSession, DefaultResourceLoader } from "@earendil-works/pi-coding-agent";
563
+ import { createAgentSession, DefaultResourceLoader } from "@selesai/code";
564
564
 
565
565
  const loader = new DefaultResourceLoader({
566
566
  additionalExtensionPaths: ["/path/to/my-extension.ts"],
@@ -582,7 +582,7 @@ Extensions can register tools, subscribe to events, add commands, and more. See
582
582
  **Event Bus:** Extensions can communicate via `pi.events`. Pass a shared `eventBus` to `DefaultResourceLoader` if you need to emit or listen from outside:
583
583
 
584
584
  ```typescript
585
- import { createEventBus, DefaultResourceLoader } from "@earendil-works/pi-coding-agent";
585
+ import { createEventBus, DefaultResourceLoader } from "@selesai/code";
586
586
 
587
587
  const eventBus = createEventBus();
588
588
  const loader = new DefaultResourceLoader({
@@ -602,7 +602,7 @@ import {
602
602
  createAgentSession,
603
603
  DefaultResourceLoader,
604
604
  type Skill,
605
- } from "@earendil-works/pi-coding-agent";
605
+ } from "@selesai/code";
606
606
 
607
607
  const customSkill: Skill = {
608
608
  name: "my-skill",
@@ -628,7 +628,7 @@ const { session } = await createAgentSession({ resourceLoader: loader });
628
628
  ### Context Files
629
629
 
630
630
  ```typescript
631
- import { createAgentSession, DefaultResourceLoader } from "@earendil-works/pi-coding-agent";
631
+ import { createAgentSession, DefaultResourceLoader } from "@selesai/code";
632
632
 
633
633
  const loader = new DefaultResourceLoader({
634
634
  agentsFilesOverride: (current) => ({
@@ -652,7 +652,7 @@ import {
652
652
  createAgentSession,
653
653
  DefaultResourceLoader,
654
654
  type PromptTemplate,
655
- } from "@earendil-works/pi-coding-agent";
655
+ } from "@selesai/code";
656
656
 
657
657
  const customCommand: PromptTemplate = {
658
658
  name: "deploy",
@@ -687,7 +687,7 @@ import {
687
687
  createAgentSessionServices,
688
688
  getAgentDir,
689
689
  SessionManager,
690
- } from "@earendil-works/pi-coding-agent";
690
+ } from "@selesai/code";
691
691
 
692
692
  // In-memory (no persistence)
693
693
  const { session } = await createAgentSession({
@@ -781,7 +781,7 @@ sm.createBranchedSession(leafId); // Extract path to new file
781
781
  ### Settings Management
782
782
 
783
783
  ```typescript
784
- import { createAgentSession, SettingsManager, SessionManager } from "@earendil-works/pi-coding-agent";
784
+ import { createAgentSession, SettingsManager, SessionManager } from "@selesai/code";
785
785
 
786
786
  // Default: loads from files (global + project merged)
787
787
  const { session } = await createAgentSession({
@@ -815,8 +815,8 @@ const { session } = await createAgentSession({
815
815
  **Project-specific settings:**
816
816
 
817
817
  Settings load from two locations and merge:
818
- 1. Global: `~/.pi/agent/settings.json`
819
- 2. Project: `<cwd>/.pi/settings.json`
818
+ 1. Global: `~/.selesai/agent/settings.json`
819
+ 2. Project: `<cwd>/.selesai/settings.json`
820
820
 
821
821
  Project overrides global. Nested objects merge keys. Setters modify global settings by default.
822
822
 
@@ -837,7 +837,7 @@ Use `DefaultResourceLoader` to discover extensions, skills, prompts, themes, and
837
837
  import {
838
838
  DefaultResourceLoader,
839
839
  getAgentDir,
840
- } from "@earendil-works/pi-coding-agent";
840
+ } from "@selesai/code";
841
841
 
842
842
  const loader = new DefaultResourceLoader({
843
843
  cwd,
@@ -888,7 +888,7 @@ import {
888
888
  ModelRegistry,
889
889
  SessionManager,
890
890
  SettingsManager,
891
- } from "@earendil-works/pi-coding-agent";
891
+ } from "@selesai/code";
892
892
 
893
893
  // Set up auth storage (custom location)
894
894
  const authStorage = AuthStorage.create("/custom/agent/auth.json");
@@ -973,7 +973,7 @@ import {
973
973
  getAgentDir,
974
974
  InteractiveMode,
975
975
  SessionManager,
976
- } from "@earendil-works/pi-coding-agent";
976
+ } from "@selesai/code";
977
977
 
978
978
  const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
979
979
  const services = await createAgentSessionServices({ cwd });
@@ -1013,7 +1013,7 @@ import {
1013
1013
  getAgentDir,
1014
1014
  runPrintMode,
1015
1015
  SessionManager,
1016
- } from "@earendil-works/pi-coding-agent";
1016
+ } from "@selesai/code";
1017
1017
 
1018
1018
  const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
1019
1019
  const services = await createAgentSessionServices({ cwd });
@@ -1050,7 +1050,7 @@ import {
1050
1050
  getAgentDir,
1051
1051
  runRpcMode,
1052
1052
  SessionManager,
1053
- } from "@earendil-works/pi-coding-agent";
1053
+ } from "@selesai/code";
1054
1054
 
1055
1055
  const createRuntime: CreateAgentSessionRuntimeFactory = async ({ cwd, sessionManager, sessionStartEvent }) => {
1056
1056
  const services = await createAgentSessionServices({ cwd });
@@ -1142,3 +1142,11 @@ type Tool
1142
1142
  ```
1143
1143
 
1144
1144
  For extension types, see [extensions.md](extensions.md) for the full API.
1145
+
1146
+ ## Codemode and MCP
1147
+
1148
+ SDK sessions do not automatically load the CLI's built-in extensions. Add `createCodemodeExtension()`, `createToolSearchExtension()`, and `createMcpExtension()` through `DefaultResourceLoader.extensionFactories`, reload the loader, and pass it to `createAgentSession()`.
1149
+
1150
+ Keep SDK base defaults (`read`, `bash`, `edit`, `write`, `grep`, `find`, `ls`) by using additive settings such as `defaultTools: ["+codemode", "+tool_search"]`. A plain `tools` allowlist replaces the selection. Calling `session.bindExtensions({})` emits `session_start` and starts configured MCP connections. Before disposal, await `session.extensionRunner.emit({ type: "session_shutdown", reason: "quit" })` so handlers close MCP processes and other long-lived resources. `dispose()` invalidates the runtime and disconnects listeners; it does not await shutdown handlers. Always dispose in a `finally` block even if shutdown fails.
1151
+
1152
+ See [examples/sdk/14-codemode-mcp.ts](../examples/sdk/14-codemode-mcp.ts) for a complete example, [MCP](mcp.md) for exposure/authentication, and [Codemode](codemode.md) for tool discovery, classifiers, and image generation. Factory CLI `+codemode` settings do not change the SDK's seven-tool default contract.