@cjhyy/code-shell-core 0.7.1 → 0.8.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 (594) hide show
  1. package/README.md +36 -23
  2. package/dist/agent/agent-definition-registry.d.ts +2 -2
  3. package/dist/agent/agent-definition-registry.js +47 -10
  4. package/dist/agent/agent-definition.d.ts +5 -0
  5. package/dist/agent/agent-definition.js +14 -0
  6. package/dist/automation/index.d.ts +7 -4
  7. package/dist/automation/index.js +4 -2
  8. package/dist/automation/runner.js +3 -1
  9. package/dist/automation/scheduler.d.ts +57 -1
  10. package/dist/automation/scheduler.js +123 -23
  11. package/dist/automation/store.d.ts +6 -2
  12. package/dist/automation/store.js +7 -3
  13. package/dist/capabilities/index.d.ts +109 -0
  14. package/dist/capabilities/index.js +80 -0
  15. package/dist/capability-control/disabled-lists.d.ts +2 -1
  16. package/dist/capability-control/disabled-lists.js +3 -5
  17. package/dist/capability-control/overlay.d.ts +14 -1
  18. package/dist/capability-control/overlay.js +40 -0
  19. package/dist/capability-control/service.js +6 -4
  20. package/dist/cli/agent-server-stdio.d.ts +1 -1
  21. package/dist/cli/agent-server-stdio.js +66 -6
  22. package/dist/cli/agent-server-tcp.js +7 -3
  23. package/dist/context/compaction.d.ts +39 -3
  24. package/dist/context/compaction.js +151 -39
  25. package/dist/context/manager.d.ts +17 -1
  26. package/dist/context/manager.js +36 -1
  27. package/dist/credentials/access.d.ts +3 -1
  28. package/dist/credentials/access.js +24 -3
  29. package/dist/credentials/index.d.ts +1 -1
  30. package/dist/credentials/index.js +1 -1
  31. package/dist/credentials/oauth.d.ts +4 -1
  32. package/dist/credentials/oauth.js +14 -0
  33. package/dist/credentials/store.d.ts +15 -1
  34. package/dist/credentials/store.js +17 -4
  35. package/dist/credentials/types.d.ts +24 -0
  36. package/dist/credentials/use-credential-tool.js +15 -1
  37. package/dist/engine/auxiliary-pipeline.d.ts +40 -0
  38. package/dist/engine/auxiliary-pipeline.js +181 -0
  39. package/dist/{settings → engine}/disk-defaults.d.ts +2 -2
  40. package/dist/{settings → engine}/disk-defaults.js +5 -2
  41. package/dist/engine/dynamic-tool-defs.d.ts +4 -0
  42. package/dist/engine/dynamic-tool-defs.js +4 -0
  43. package/dist/engine/engine.d.ts +254 -195
  44. package/dist/engine/engine.js +1812 -2041
  45. package/dist/engine/file-history-hook.d.ts +11 -0
  46. package/dist/engine/file-history-hook.js +31 -0
  47. package/dist/engine/goal-judge-context.d.ts +9 -0
  48. package/dist/engine/goal-judge-context.js +234 -0
  49. package/dist/engine/injected-context-cache.d.ts +6 -0
  50. package/dist/engine/injected-context-cache.js +13 -0
  51. package/dist/engine/input-attachments.d.ts +1 -1
  52. package/dist/engine/model-facade.d.ts +3 -3
  53. package/dist/engine/model-facade.js +15 -14
  54. package/dist/engine/permission-controller.d.ts +55 -0
  55. package/dist/engine/permission-controller.js +148 -0
  56. package/dist/engine/prompt-cache-diagnostics.d.ts +58 -0
  57. package/dist/engine/prompt-cache-diagnostics.js +178 -0
  58. package/dist/engine/run-accounting.d.ts +41 -0
  59. package/dist/engine/run-accounting.js +126 -0
  60. package/dist/engine/run-context.d.ts +44 -0
  61. package/dist/engine/run-context.js +88 -0
  62. package/dist/engine/run-environment.d.ts +30 -0
  63. package/dist/engine/run-environment.js +77 -0
  64. package/dist/engine/run-finalize.d.ts +58 -0
  65. package/dist/engine/run-finalize.js +245 -0
  66. package/dist/engine/run-goal.d.ts +58 -0
  67. package/dist/engine/run-goal.js +188 -0
  68. package/dist/engine/run-image-input.d.ts +1 -1
  69. package/dist/engine/run-image-input.js +5 -3
  70. package/dist/engine/run-session-open.d.ts +41 -0
  71. package/dist/engine/run-session-open.js +186 -0
  72. package/dist/engine/run-setup.d.ts +42 -0
  73. package/dist/engine/run-setup.js +58 -0
  74. package/dist/engine/run-tooling.d.ts +125 -0
  75. package/dist/engine/run-tooling.js +283 -0
  76. package/dist/engine/run-types.d.ts +139 -0
  77. package/dist/engine/run-types.js +12 -0
  78. package/dist/engine/run-workspace.d.ts +50 -0
  79. package/dist/engine/run-workspace.js +114 -0
  80. package/dist/engine/steer-queue.d.ts +1 -1
  81. package/dist/engine/subagent-spawner.d.ts +32 -0
  82. package/dist/engine/subagent-spawner.js +287 -0
  83. package/dist/engine/tool-summary.d.ts +2 -2
  84. package/dist/engine/tool-summary.js +2 -2
  85. package/dist/engine/turn-loop.d.ts +49 -10
  86. package/dist/engine/turn-loop.js +370 -104
  87. package/dist/engine/types.d.ts +30 -3
  88. package/dist/engine/types.js +1 -1
  89. package/dist/{engine/goal.d.ts → goal/lifecycle.d.ts} +76 -4
  90. package/dist/goal/lifecycle.js +482 -0
  91. package/dist/hooks/events.d.ts +24 -10
  92. package/dist/hooks/goal-stop-hook.d.ts +17 -28
  93. package/dist/hooks/goal-stop-hook.js +110 -465
  94. package/dist/hooks/registry.js +1 -1
  95. package/dist/index.d.ts +48 -108
  96. package/dist/index.extension.d.ts +51 -0
  97. package/dist/index.extension.js +39 -0
  98. package/dist/index.internal.d.ts +86 -0
  99. package/dist/index.internal.js +92 -0
  100. package/dist/index.js +34 -123
  101. package/dist/links/cli.d.ts +48 -0
  102. package/dist/links/cli.js +617 -0
  103. package/dist/links/http.d.ts +40 -0
  104. package/dist/links/http.js +166 -0
  105. package/dist/links/index.d.ts +4 -0
  106. package/dist/links/index.js +3 -0
  107. package/dist/links/link-action-tool.d.ts +5 -0
  108. package/dist/links/link-action-tool.js +241 -0
  109. package/dist/links/providers.d.ts +8 -0
  110. package/dist/links/providers.js +665 -0
  111. package/dist/links/types.d.ts +44 -0
  112. package/dist/llm/client-base.d.ts +7 -0
  113. package/dist/llm/client-base.js +60 -0
  114. package/dist/llm/model-pool.d.ts +1 -1
  115. package/dist/llm/model-pool.js +1 -1
  116. package/dist/llm/providers/anthropic.d.ts +1 -0
  117. package/dist/llm/providers/anthropic.js +9 -0
  118. package/dist/llm/providers/openai.d.ts +1 -0
  119. package/dist/llm/providers/openai.js +17 -0
  120. package/dist/model-catalog/index.js +15 -2
  121. package/dist/model-catalog/resolve.d.ts +13 -1
  122. package/dist/model-catalog/resolve.js +37 -2
  123. package/dist/model-catalog/types.d.ts +74 -48
  124. package/dist/model-catalog/types.js +16 -5
  125. package/dist/model-catalog/upsert.d.ts +3 -1
  126. package/dist/model-catalog/upsert.js +9 -0
  127. package/dist/onboarding.d.ts +0 -1
  128. package/dist/onboarding.js +1 -22
  129. package/dist/panel-apps/bindings.d.ts +24 -0
  130. package/dist/panel-apps/bindings.js +69 -0
  131. package/dist/panel-apps/github-archive.d.ts +21 -0
  132. package/dist/panel-apps/github-archive.js +98 -0
  133. package/dist/panel-apps/index.d.ts +4 -0
  134. package/dist/panel-apps/index.js +4 -0
  135. package/dist/panel-apps/installer.d.ts +68 -0
  136. package/dist/panel-apps/installer.js +622 -0
  137. package/dist/panel-apps/manifest.d.ts +364 -0
  138. package/dist/panel-apps/manifest.js +189 -0
  139. package/dist/panel-apps/paths.d.ts +13 -0
  140. package/dist/panel-apps/paths.js +38 -0
  141. package/dist/panel-apps/registry.d.ts +51 -0
  142. package/dist/panel-apps/registry.js +99 -0
  143. package/dist/panel-apps/runtime.d.ts +80 -0
  144. package/dist/panel-apps/runtime.js +154 -0
  145. package/dist/plugins/gitOps.js +8 -1
  146. package/dist/plugins/installedPlugins.d.ts +2 -1
  147. package/dist/plugins/installedPlugins.js +146 -8
  148. package/dist/plugins/installer/codex/convertAgents.d.ts +4 -1
  149. package/dist/plugins/installer/codex/convertAgents.js +62 -8
  150. package/dist/plugins/installer/codex/convertCommands.d.ts +5 -5
  151. package/dist/plugins/installer/codex/convertCommands.js +35 -12
  152. package/dist/plugins/installer/codex/convertHooks.d.ts +10 -0
  153. package/dist/plugins/installer/codex/convertHooks.js +82 -0
  154. package/dist/plugins/installer/codex/convertSkills.js +41 -6
  155. package/dist/plugins/installer/install.d.ts +7 -1
  156. package/dist/plugins/installer/install.js +21 -87
  157. package/dist/plugins/installer/installFromArchive.d.ts +26 -4
  158. package/dist/plugins/installer/installFromArchive.js +44 -27
  159. package/dist/plugins/installer/installFromNpm.d.ts +31 -0
  160. package/dist/plugins/installer/installFromNpm.js +273 -0
  161. package/dist/plugins/installer/loadPluginAgents.js +17 -4
  162. package/dist/plugins/installer/loadPluginMcp.d.ts +14 -0
  163. package/dist/plugins/installer/loadPluginMcp.js +245 -35
  164. package/dist/plugins/installer/normalizeManifest.d.ts +13 -0
  165. package/dist/plugins/installer/normalizeManifest.js +306 -0
  166. package/dist/plugins/installer/npmTar.d.ts +13 -0
  167. package/dist/plugins/installer/npmTar.js +321 -0
  168. package/dist/plugins/installer/parseSource.d.ts +11 -0
  169. package/dist/plugins/installer/parseSource.js +48 -0
  170. package/dist/plugins/installer/preview.d.ts +101 -0
  171. package/dist/plugins/installer/preview.js +336 -0
  172. package/dist/plugins/installer/projectPluginSource.d.ts +14 -0
  173. package/dist/plugins/installer/projectPluginSource.js +140 -0
  174. package/dist/plugins/installer/types.d.ts +775 -0
  175. package/dist/plugins/installer/types.js +100 -0
  176. package/dist/plugins/installer/unzip.d.ts +11 -0
  177. package/dist/plugins/installer/unzip.js +123 -9
  178. package/dist/plugins/installer/update.d.ts +2 -2
  179. package/dist/plugins/installer/update.js +43 -4
  180. package/dist/plugins/loadPluginHooks.d.ts +19 -2
  181. package/dist/plugins/loadPluginHooks.js +97 -86
  182. package/dist/plugins/pluginAutomationTemplates.d.ts +18 -0
  183. package/dist/plugins/pluginAutomationTemplates.js +50 -0
  184. package/dist/plugins/pluginCatalog.d.ts +45 -0
  185. package/dist/plugins/pluginCatalog.js +87 -0
  186. package/dist/plugins/pluginCommandHook.d.ts +6 -0
  187. package/dist/plugins/pluginCommandHook.js +25 -8
  188. package/dist/plugins/pluginCommandsLoader.d.ts +19 -0
  189. package/dist/plugins/pluginCommandsLoader.js +181 -7
  190. package/dist/plugins/pluginContent.d.ts +10 -1
  191. package/dist/plugins/pluginContent.js +87 -30
  192. package/dist/plugins/pluginHookApproval.d.ts +30 -0
  193. package/dist/plugins/pluginHookApproval.js +160 -0
  194. package/dist/plugins/pluginHookIntegrity.d.ts +69 -0
  195. package/dist/plugins/pluginHookIntegrity.js +361 -0
  196. package/dist/plugins/pluginInstaller.js +71 -12
  197. package/dist/plugins/pluginMcpApproval.d.ts +19 -0
  198. package/dist/plugins/pluginMcpApproval.js +110 -0
  199. package/dist/plugins/pluginMcpIntegrity.d.ts +21 -0
  200. package/dist/plugins/pluginMcpIntegrity.js +74 -0
  201. package/dist/plugins/types.d.ts +30 -0
  202. package/dist/plugins/varRewrite.d.ts +9 -5
  203. package/dist/plugins/varRewrite.js +26 -17
  204. package/dist/preset/index.d.ts +11 -8
  205. package/dist/preset/index.js +62 -203
  206. package/dist/product/define.js +9 -3
  207. package/dist/product/types.d.ts +0 -2
  208. package/dist/profile/activation.d.ts +36 -0
  209. package/dist/profile/activation.js +57 -0
  210. package/dist/profile/catalog-store.d.ts +77 -0
  211. package/dist/profile/catalog-store.js +346 -0
  212. package/dist/profile/catalog.d.ts +54 -0
  213. package/dist/profile/catalog.js +152 -0
  214. package/dist/profile/index.d.ts +7 -0
  215. package/dist/profile/index.js +7 -0
  216. package/dist/profile/requirements.d.ts +76 -0
  217. package/dist/profile/requirements.js +117 -0
  218. package/dist/profile/resolve.d.ts +11 -0
  219. package/dist/profile/resolve.js +41 -0
  220. package/dist/profile/store.d.ts +17 -0
  221. package/dist/profile/store.js +167 -0
  222. package/dist/profile/types.d.ts +321 -0
  223. package/dist/profile/types.js +104 -0
  224. package/dist/prompt/composer.d.ts +46 -7
  225. package/dist/prompt/composer.js +78 -48
  226. package/dist/prompt/instruction-scanner.d.ts +6 -5
  227. package/dist/prompt/instruction-scanner.js +8 -23
  228. package/dist/prompt/section-loader.d.ts +2 -2
  229. package/dist/prompt/section-loader.js +7 -4
  230. package/dist/prompt/sections/browser.md +10 -9
  231. package/dist/prompt/sections/harness-base.md +9 -0
  232. package/dist/protocol/chat-session-manager.d.ts +64 -1
  233. package/dist/protocol/chat-session-manager.js +104 -0
  234. package/dist/protocol/chat-session.d.ts +61 -10
  235. package/dist/protocol/chat-session.js +135 -25
  236. package/dist/protocol/client.d.ts +33 -3
  237. package/dist/protocol/client.js +96 -5
  238. package/dist/protocol/index.d.ts +2 -2
  239. package/dist/protocol/index.js +2 -2
  240. package/dist/protocol/mobile-remote-types.d.ts +406 -0
  241. package/dist/protocol/mobile-remote-types.js +1 -0
  242. package/dist/protocol/server.d.ts +127 -3
  243. package/dist/protocol/server.js +1309 -182
  244. package/dist/protocol/types.d.ts +152 -34
  245. package/dist/protocol/types.js +16 -0
  246. package/dist/run/ArtifactTracker.d.ts +6 -1
  247. package/dist/run/ArtifactTracker.js +29 -21
  248. package/dist/run/EngineRunner.d.ts +2 -0
  249. package/dist/run/EngineRunner.js +1 -0
  250. package/dist/run/RunManager.d.ts +26 -0
  251. package/dist/run/RunManager.js +82 -11
  252. package/dist/run/factory.d.ts +3 -0
  253. package/dist/run/factory.js +2 -0
  254. package/dist/runtime/safe-spawn.d.ts +6 -0
  255. package/dist/runtime/safe-spawn.js +8 -13
  256. package/dist/services/auto-dream.d.ts +13 -1
  257. package/dist/services/auto-dream.js +56 -8
  258. package/dist/services/dream-consolidation.js +10 -1
  259. package/dist/services/memory-orchestrator.js +6 -2
  260. package/dist/services/oauth.js +4 -1
  261. package/dist/services/session-memory.d.ts +4 -4
  262. package/dist/services/session-memory.js +13 -10
  263. package/dist/session/memory.d.ts +26 -7
  264. package/dist/session/memory.js +79 -21
  265. package/dist/session/session-manager.d.ts +182 -28
  266. package/dist/session/session-manager.js +910 -130
  267. package/dist/session/session-message.d.ts +22 -0
  268. package/dist/session/session-message.js +1 -0
  269. package/dist/session/transcript.d.ts +46 -5
  270. package/dist/session/transcript.js +159 -3
  271. package/dist/settings/feature-flags.d.ts +40 -0
  272. package/dist/settings/feature-flags.js +40 -0
  273. package/dist/settings/manager.d.ts +39 -1
  274. package/dist/settings/manager.js +102 -41
  275. package/dist/settings/migrate-config.js +4 -2
  276. package/dist/settings/schema.d.ts +511 -177
  277. package/dist/settings/schema.js +98 -25
  278. package/dist/skills/scanner.d.ts +6 -2
  279. package/dist/skills/scanner.js +160 -9
  280. package/dist/sources/adapter.d.ts +14 -0
  281. package/dist/sources/adapter.js +7 -0
  282. package/dist/sources/adapters/local-files.d.ts +10 -0
  283. package/dist/sources/adapters/local-files.js +127 -0
  284. package/dist/sources/adapters/mcp-resource.d.ts +17 -0
  285. package/dist/sources/adapters/mcp-resource.js +41 -0
  286. package/dist/sources/adapters/mock.d.ts +3 -0
  287. package/dist/sources/adapters/mock.js +29 -0
  288. package/dist/sources/binding.d.ts +6 -0
  289. package/dist/sources/binding.js +24 -0
  290. package/dist/sources/catalog.d.ts +6 -0
  291. package/dist/sources/catalog.js +64 -0
  292. package/dist/sources/context-summary.d.ts +8 -0
  293. package/dist/sources/context-summary.js +13 -0
  294. package/dist/sources/credential-status.d.ts +2 -0
  295. package/dist/sources/credential-status.js +13 -0
  296. package/dist/sources/index.d.ts +10 -0
  297. package/dist/sources/index.js +10 -0
  298. package/dist/sources/resolve.d.ts +28 -0
  299. package/dist/sources/resolve.js +47 -0
  300. package/dist/sources/truncate-utf8.d.ts +7 -0
  301. package/dist/sources/truncate-utf8.js +18 -0
  302. package/dist/sources/types.d.ts +71 -0
  303. package/dist/sources/types.js +26 -0
  304. package/dist/testing/fetch-stub.d.ts +32 -0
  305. package/dist/testing/fetch-stub.js +24 -0
  306. package/dist/themes/image.d.ts +18 -0
  307. package/dist/themes/image.js +117 -0
  308. package/dist/themes/index.d.ts +4 -0
  309. package/dist/themes/index.js +4 -0
  310. package/dist/themes/installer.d.ts +50 -0
  311. package/dist/themes/installer.js +290 -0
  312. package/dist/themes/manifest.d.ts +102 -0
  313. package/dist/themes/manifest.js +86 -0
  314. package/dist/themes/paths.d.ts +14 -0
  315. package/dist/themes/paths.js +33 -0
  316. package/dist/tool-system/browser-bridge.d.ts +53 -11
  317. package/dist/tool-system/browser-bridge.js +8 -9
  318. package/dist/tool-system/builtin/agent-heartbeat.d.ts +2 -2
  319. package/dist/tool-system/builtin/agent-heartbeat.js +20 -6
  320. package/dist/tool-system/builtin/agent-notifications.d.ts +127 -72
  321. package/dist/tool-system/builtin/agent-notifications.js +291 -101
  322. package/dist/tool-system/builtin/agent-output-file.js +1 -3
  323. package/dist/tool-system/builtin/agent-progress.d.ts +6 -0
  324. package/dist/tool-system/builtin/agent-progress.js +83 -0
  325. package/dist/tool-system/builtin/agent-registry.d.ts +38 -2
  326. package/dist/tool-system/builtin/agent-registry.js +178 -9
  327. package/dist/tool-system/builtin/agent-transcript-translator.js +1 -1
  328. package/dist/tool-system/builtin/agent.d.ts +2 -0
  329. package/dist/tool-system/builtin/agent.js +274 -33
  330. package/dist/tool-system/builtin/background-jobs.d.ts +55 -2
  331. package/dist/tool-system/builtin/background-jobs.js +96 -4
  332. package/dist/tool-system/builtin/background-work.d.ts +6 -0
  333. package/dist/tool-system/builtin/background-work.js +8 -1
  334. package/dist/tool-system/builtin/bash.js +5 -2
  335. package/dist/tool-system/builtin/browser-tools.d.ts +6 -3
  336. package/dist/tool-system/builtin/browser-tools.js +89 -23
  337. package/dist/tool-system/builtin/edit-model-catalog.d.ts +6 -0
  338. package/dist/tool-system/builtin/edit-model-catalog.js +172 -12
  339. package/dist/tool-system/builtin/edit.js +2 -6
  340. package/dist/tool-system/builtin/file-cache.d.ts +2 -0
  341. package/dist/tool-system/builtin/file-cache.js +4 -0
  342. package/dist/tool-system/builtin/generate-image.js +17 -10
  343. package/dist/tool-system/builtin/generate-video.js +26 -7
  344. package/dist/tool-system/builtin/grep.js +2 -2
  345. package/dist/tool-system/builtin/image-uploader.js +7 -1
  346. package/dist/tool-system/builtin/index.d.ts +32 -7
  347. package/dist/tool-system/builtin/index.js +237 -167
  348. package/dist/tool-system/builtin/memory.d.ts +6 -0
  349. package/dist/tool-system/builtin/memory.js +36 -15
  350. package/dist/tool-system/builtin/panel.d.ts +9 -0
  351. package/dist/tool-system/builtin/panel.js +314 -0
  352. package/dist/tool-system/builtin/read.js +5 -1
  353. package/dist/tool-system/builtin/send-message-to-session.d.ts +6 -0
  354. package/dist/tool-system/builtin/send-message-to-session.js +67 -0
  355. package/dist/tool-system/builtin/sources.d.ts +8 -0
  356. package/dist/tool-system/builtin/sources.js +137 -0
  357. package/dist/tool-system/builtin/tool-search.js +7 -2
  358. package/dist/tool-system/builtin/update-automation-memory.js +2 -0
  359. package/dist/tool-system/builtin/web-fetch.js +17 -13
  360. package/dist/tool-system/builtin/web-search.js +1 -3
  361. package/dist/tool-system/capability-module.d.ts +93 -0
  362. package/dist/tool-system/capability-module.js +53 -0
  363. package/dist/tool-system/context.d.ts +77 -19
  364. package/dist/tool-system/executor.js +75 -50
  365. package/dist/tool-system/external-tool-exposure.d.ts +60 -0
  366. package/dist/tool-system/external-tool-exposure.js +304 -0
  367. package/dist/tool-system/mcp-manager.d.ts +11 -1
  368. package/dist/tool-system/mcp-manager.js +19 -4
  369. package/dist/tool-system/mcp-tool-policy.d.ts +9 -0
  370. package/dist/tool-system/mcp-tool-policy.js +34 -0
  371. package/dist/tool-system/panel-bridge.d.ts +53 -0
  372. package/dist/tool-system/panel-bridge.js +1 -0
  373. package/dist/tool-system/permission.d.ts +26 -0
  374. package/dist/tool-system/permission.js +46 -0
  375. package/dist/tool-system/registry.d.ts +12 -1
  376. package/dist/tool-system/registry.js +31 -7
  377. package/dist/tool-system/sandbox/index.js +3 -8
  378. package/dist/tool-system/sandbox/seatbelt.js +2 -6
  379. package/dist/tool-system/session-tool-host.d.ts +139 -0
  380. package/dist/tool-system/session-tool-host.js +167 -0
  381. package/dist/tool-system/testing/tool-registry-harness.d.ts +31 -0
  382. package/dist/tool-system/testing/tool-registry-harness.js +51 -0
  383. package/dist/tool-system/validation.d.ts +14 -7
  384. package/dist/tool-system/validation.js +701 -7
  385. package/dist/types.d.ts +186 -20
  386. package/dist/{cc-orchestrator → utils}/cwd-normalize.d.ts +1 -0
  387. package/dist/{cc-orchestrator → utils}/cwd-normalize.js +1 -0
  388. package/dist/utils/file-mutex.d.ts +65 -0
  389. package/dist/utils/file-mutex.js +145 -0
  390. package/dist/utils/json.d.ts +2 -4
  391. package/dist/utils/json.js +2 -4
  392. package/dist/utils/lockfile.d.ts +30 -1
  393. package/dist/utils/lockfile.js +2 -2
  394. package/dist/utils/secret-scrubber.d.ts +8 -0
  395. package/dist/utils/secret-scrubber.js +227 -0
  396. package/dist/utils/toolDisplay.js +1 -1
  397. package/package.json +20 -5
  398. package/THIRD_PARTY_NOTICES.md +0 -206
  399. package/dist/arena/arena.d.ts +0 -45
  400. package/dist/arena/arena.js +0 -362
  401. package/dist/arena/context/context-tools.d.ts +0 -16
  402. package/dist/arena/context/context-tools.js +0 -272
  403. package/dist/arena/context/within-root.d.ts +0 -7
  404. package/dist/arena/context/within-root.js +0 -15
  405. package/dist/arena/detect-mode.d.ts +0 -20
  406. package/dist/arena/detect-mode.js +0 -78
  407. package/dist/arena/digest-builder.d.ts +0 -25
  408. package/dist/arena/digest-builder.js +0 -120
  409. package/dist/arena/index.d.ts +0 -29
  410. package/dist/arena/index.js +0 -29
  411. package/dist/arena/iterate/convergence.d.ts +0 -25
  412. package/dist/arena/iterate/convergence.js +0 -103
  413. package/dist/arena/iterate/formats/index.d.ts +0 -22
  414. package/dist/arena/iterate/formats/index.js +0 -283
  415. package/dist/arena/iterate/index.d.ts +0 -11
  416. package/dist/arena/iterate/index.js +0 -9
  417. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  418. package/dist/arena/iterate/iterative-arena.js +0 -237
  419. package/dist/arena/iterate/parse.d.ts +0 -42
  420. package/dist/arena/iterate/parse.js +0 -123
  421. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  422. package/dist/arena/iterate/phases/argue.js +0 -165
  423. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  424. package/dist/arena/iterate/phases/revise.js +0 -62
  425. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  426. package/dist/arena/iterate/phases/tournament.js +0 -113
  427. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  428. package/dist/arena/iterate/tools/web-tools.js +0 -54
  429. package/dist/arena/iterate/types.d.ts +0 -152
  430. package/dist/arena/iterate/types.js +0 -8
  431. package/dist/arena/ledger.d.ts +0 -47
  432. package/dist/arena/ledger.js +0 -159
  433. package/dist/arena/lenses/architecture.d.ts +0 -5
  434. package/dist/arena/lenses/architecture.js +0 -22
  435. package/dist/arena/lenses/engineering.d.ts +0 -5
  436. package/dist/arena/lenses/engineering.js +0 -22
  437. package/dist/arena/lenses/general.d.ts +0 -5
  438. package/dist/arena/lenses/general.js +0 -20
  439. package/dist/arena/lenses/index.d.ts +0 -16
  440. package/dist/arena/lenses/index.js +0 -47
  441. package/dist/arena/lenses/product.d.ts +0 -5
  442. package/dist/arena/lenses/product.js +0 -22
  443. package/dist/arena/model-presets.d.ts +0 -23
  444. package/dist/arena/model-presets.js +0 -44
  445. package/dist/arena/phases/adjudication.d.ts +0 -25
  446. package/dist/arena/phases/adjudication.js +0 -142
  447. package/dist/arena/phases/build-consensus.d.ts +0 -30
  448. package/dist/arena/phases/build-consensus.js +0 -85
  449. package/dist/arena/phases/claim-registry.d.ts +0 -26
  450. package/dist/arena/phases/claim-registry.js +0 -60
  451. package/dist/arena/phases/cross-review.d.ts +0 -47
  452. package/dist/arena/phases/cross-review.js +0 -224
  453. package/dist/arena/phases/debate-rounds.d.ts +0 -28
  454. package/dist/arena/phases/debate-rounds.js +0 -161
  455. package/dist/arena/phases/participant-research.d.ts +0 -39
  456. package/dist/arena/phases/participant-research.js +0 -316
  457. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -39
  458. package/dist/arena/phases/planning-detail-expansion.js +0 -120
  459. package/dist/arena/planner.d.ts +0 -28
  460. package/dist/arena/planner.js +0 -312
  461. package/dist/arena/providers/docs.d.ts +0 -7
  462. package/dist/arena/providers/docs.js +0 -111
  463. package/dist/arena/providers/git.d.ts +0 -8
  464. package/dist/arena/providers/git.js +0 -174
  465. package/dist/arena/providers/index.d.ts +0 -32
  466. package/dist/arena/providers/index.js +0 -132
  467. package/dist/arena/providers/none.d.ts +0 -7
  468. package/dist/arena/providers/none.js +0 -11
  469. package/dist/arena/providers/repo.d.ts +0 -7
  470. package/dist/arena/providers/repo.js +0 -258
  471. package/dist/arena/render/session.d.ts +0 -17
  472. package/dist/arena/render/session.js +0 -190
  473. package/dist/arena/render/terminal.d.ts +0 -34
  474. package/dist/arena/render/terminal.js +0 -286
  475. package/dist/arena/strategies/discussion.d.ts +0 -25
  476. package/dist/arena/strategies/discussion.js +0 -143
  477. package/dist/arena/strategies/index.d.ts +0 -15
  478. package/dist/arena/strategies/index.js +0 -28
  479. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  480. package/dist/arena/strategies/language-wrapper.js +0 -102
  481. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  482. package/dist/arena/strategies/lens-wrapper.js +0 -236
  483. package/dist/arena/strategies/planning.d.ts +0 -30
  484. package/dist/arena/strategies/planning.js +0 -225
  485. package/dist/arena/strategies/review.d.ts +0 -26
  486. package/dist/arena/strategies/review.js +0 -168
  487. package/dist/arena/strategies/utils.d.ts +0 -36
  488. package/dist/arena/strategies/utils.js +0 -603
  489. package/dist/arena/tools/selector.d.ts +0 -17
  490. package/dist/arena/tools/selector.js +0 -61
  491. package/dist/arena/transitions.d.ts +0 -53
  492. package/dist/arena/transitions.js +0 -97
  493. package/dist/arena/types.d.ts +0 -518
  494. package/dist/arena/types.js +0 -27
  495. package/dist/cc-orchestrator/agent-adapter.d.ts +0 -54
  496. package/dist/cc-orchestrator/agent-adapter.js +0 -143
  497. package/dist/cc-orchestrator/cc-capability.d.ts +0 -19
  498. package/dist/cc-orchestrator/cc-capability.js +0 -53
  499. package/dist/cc-orchestrator/codex-session-discovery.d.ts +0 -24
  500. package/dist/cc-orchestrator/codex-session-discovery.js +0 -191
  501. package/dist/cc-orchestrator/codex-session-history.d.ts +0 -38
  502. package/dist/cc-orchestrator/codex-session-history.js +0 -247
  503. package/dist/cc-orchestrator/external-agent-bindings.d.ts +0 -27
  504. package/dist/cc-orchestrator/external-agent-bindings.js +0 -150
  505. package/dist/cc-orchestrator/external-agent-changes.d.ts +0 -19
  506. package/dist/cc-orchestrator/external-agent-changes.js +0 -231
  507. package/dist/cc-orchestrator/external-agent-driver.d.ts +0 -19
  508. package/dist/cc-orchestrator/external-agent-driver.js +0 -284
  509. package/dist/cc-orchestrator/external-agent-session-store.d.ts +0 -23
  510. package/dist/cc-orchestrator/external-agent-session-store.js +0 -146
  511. package/dist/cc-orchestrator/index.d.ts +0 -8
  512. package/dist/cc-orchestrator/index.js +0 -8
  513. package/dist/cc-orchestrator/relevance-judge.d.ts +0 -15
  514. package/dist/cc-orchestrator/relevance-judge.js +0 -29
  515. package/dist/cc-orchestrator/session-discovery.d.ts +0 -46
  516. package/dist/cc-orchestrator/session-discovery.js +0 -125
  517. package/dist/cc-orchestrator/session-history.d.ts +0 -54
  518. package/dist/cc-orchestrator/session-history.js +0 -150
  519. package/dist/cron/cron-runtime.d.ts +0 -2
  520. package/dist/cron/cron-runtime.js +0 -2
  521. package/dist/cron/cron-store.d.ts +0 -2
  522. package/dist/cron/cron-store.js +0 -2
  523. package/dist/cron/scheduler.d.ts +0 -7
  524. package/dist/cron/scheduler.js +0 -7
  525. package/dist/engine/goal.js +0 -206
  526. package/dist/external-agents/config.d.ts +0 -2
  527. package/dist/external-agents/config.js +0 -15
  528. package/dist/external-agents/types.d.ts +0 -31
  529. package/dist/git/parse-log.d.ts +0 -13
  530. package/dist/git/parse-log.js +0 -21
  531. package/dist/git/utils.d.ts +0 -49
  532. package/dist/git/utils.js +0 -161
  533. package/dist/git/worktree/crud.d.ts +0 -72
  534. package/dist/git/worktree/crud.js +0 -235
  535. package/dist/git/worktree/diff.d.ts +0 -14
  536. package/dist/git/worktree/diff.js +0 -82
  537. package/dist/git/worktree/git-exec.d.ts +0 -7
  538. package/dist/git/worktree/git-exec.js +0 -87
  539. package/dist/git/worktree/index.d.ts +0 -5
  540. package/dist/git/worktree/index.js +0 -5
  541. package/dist/git/worktree/query.d.ts +0 -43
  542. package/dist/git/worktree/query.js +0 -128
  543. package/dist/git/worktree/slug.d.ts +0 -11
  544. package/dist/git/worktree/slug.js +0 -58
  545. package/dist/git/worktree.d.ts +0 -1
  546. package/dist/git/worktree.js +0 -5
  547. package/dist/lsp/client.d.ts +0 -41
  548. package/dist/lsp/client.js +0 -186
  549. package/dist/lsp/manager.d.ts +0 -40
  550. package/dist/lsp/manager.js +0 -155
  551. package/dist/lsp/root-path.d.ts +0 -9
  552. package/dist/lsp/root-path.js +0 -12
  553. package/dist/lsp/servers.d.ts +0 -16
  554. package/dist/lsp/servers.js +0 -60
  555. package/dist/prompt/sections/coding.md +0 -35
  556. package/dist/quota/credentials.d.ts +0 -3
  557. package/dist/quota/credentials.js +0 -80
  558. package/dist/quota/index.d.ts +0 -36
  559. package/dist/quota/index.js +0 -155
  560. package/dist/quota/types.d.ts +0 -48
  561. package/dist/quota/types.js +0 -13
  562. package/dist/review/review-prompt.d.ts +0 -28
  563. package/dist/review/review-prompt.js +0 -81
  564. package/dist/state.d.ts +0 -160
  565. package/dist/state.js +0 -267
  566. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  567. package/dist/tool-system/builtin/apply-patch/applier.js +0 -308
  568. package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +0 -10
  569. package/dist/tool-system/builtin/apply-patch/backup-targets.js +0 -30
  570. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -20
  571. package/dist/tool-system/builtin/apply-patch/index.js +0 -105
  572. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  573. package/dist/tool-system/builtin/apply-patch/parser.js +0 -212
  574. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  575. package/dist/tool-system/builtin/apply-patch/seek-sequence.js +0 -123
  576. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  577. package/dist/tool-system/builtin/apply-patch/types.js +0 -13
  578. package/dist/tool-system/builtin/arena.d.ts +0 -31
  579. package/dist/tool-system/builtin/arena.js +0 -416
  580. package/dist/tool-system/builtin/brief.d.ts +0 -6
  581. package/dist/tool-system/builtin/brief.js +0 -41
  582. package/dist/tool-system/builtin/check-quota.d.ts +0 -15
  583. package/dist/tool-system/builtin/check-quota.js +0 -34
  584. package/dist/tool-system/builtin/drive-claude-code.d.ts +0 -51
  585. package/dist/tool-system/builtin/drive-claude-code.js +0 -698
  586. package/dist/tool-system/builtin/lsp.d.ts +0 -7
  587. package/dist/tool-system/builtin/lsp.js +0 -144
  588. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -7
  589. package/dist/tool-system/builtin/notebook-edit.js +0 -127
  590. package/dist/tool-system/builtin/worktree.d.ts +0 -11
  591. package/dist/tool-system/builtin/worktree.js +0 -363
  592. /package/dist/{external-agents → links}/types.js +0 -0
  593. /package/dist/{engine/session-usage.d.ts → session/usage.d.ts} +0 -0
  594. /package/dist/{engine/session-usage.js → session/usage.js} +0 -0
@@ -7,7 +7,24 @@
7
7
  * Server → Client: notifications (stream events, approval requests)
8
8
  * Server → Client: responses (results of requests)
9
9
  */
10
- import type { StreamEvent, TokenUsage, TerminalReason, ApprovalRequest, ApprovalResult, PermissionMode, SessionForkLineage, SessionWorkspace } from "../types.js";
10
+ import type { InputAttachmentMeta, LegacyPetWorkspaceOption, LegacyPetWorkDelegation, StreamEvent, TokenUsage, TerminalReason, ApprovalRequest, ApprovalResult, PermissionMode, SessionForkLineage, SessionKind, SessionWorkspace } from "../types.js";
11
+ import type { RunBehaviorMode } from "../engine/run-types.js";
12
+ import type { SessionMessageTarget } from "../session/session-message.js";
13
+ export type PendingApprovalKind = "tool_approval" | "ask_user" | "internal";
14
+ /** Resolver-free metadata retained beside a pending approval callback. */
15
+ export interface PendingApprovalMetadata {
16
+ sessionId: string;
17
+ requestId: string;
18
+ routeGeneration?: number;
19
+ workerGeneration: number;
20
+ kind: PendingApprovalKind;
21
+ title: string;
22
+ toolName?: string;
23
+ riskLevel?: "low" | "medium" | "high";
24
+ createdAt: number;
25
+ expiresAt?: number;
26
+ surfaceable: boolean;
27
+ }
11
28
  export interface RpcRequest {
12
29
  jsonrpc: "2.0";
13
30
  id: string | number;
@@ -47,43 +64,27 @@ export declare const ErrorCodes: {
47
64
  */
48
65
  readonly Cancelled: -32005;
49
66
  };
50
- export type InputAttachmentKind = "image" | "file" | "directory";
51
- export type InputAttachmentOrigin = "paste" | "os-drop" | "file-panel" | "picker" | "mention" | "generated" | "mobile" | "tool";
52
- export interface InputAttachmentMeta {
53
- id: string;
54
- sessionId: string;
55
- kind: InputAttachmentKind;
56
- origin: InputAttachmentOrigin;
57
- path: string;
58
- absPath: string;
59
- relPath?: string;
60
- mime?: string;
61
- size: number;
62
- sha256: string;
63
- originalName?: string;
64
- createdAt: number;
65
- sourcePath?: string;
66
- width?: number;
67
- height?: number;
68
- vision?: {
69
- include: boolean;
70
- mediaPath?: string;
71
- detail?: "low" | "standard" | "high";
72
- };
73
- directory?: {
74
- treePath?: string;
75
- truncated?: boolean;
76
- entryCount?: number;
77
- };
78
- }
67
+ export type { InputAttachmentKind, InputAttachmentOrigin, InputAttachmentMeta } from "../types.js";
79
68
  /** Start an agent run with a user task. */
80
69
  export interface RunParams {
81
70
  sessionId: string;
82
71
  task: string;
72
+ /**
73
+ * Optional user-facing representation of `task`. The model still receives
74
+ * the full task, while session feeds and transcript replay show this text.
75
+ * Host-owned surfaces use it to hide transport/context envelopes without
76
+ * hiding the user's actual input.
77
+ */
78
+ displayText?: string;
83
79
  /** Structured input attachments. Legacy `<codeshell-image>` task blocks remain supported. */
84
80
  attachments?: InputAttachmentMeta[];
85
81
  /** Stable id for the user's submit intent; duplicate ids are idempotent. */
86
82
  clientMessageId?: string;
83
+ /**
84
+ * Host-generated system reminder. Persisted with an injected marker so disk
85
+ * transcript readers hide it as a user bubble while retaining the assistant reply.
86
+ */
87
+ injected?: boolean;
87
88
  /**
88
89
  * Working directory for this run. When omitted, the Engine uses its
89
90
  * configured cwd.
@@ -113,6 +114,39 @@ export interface RunParams {
113
114
  * this run; when omitted, the engine keeps its configured default.
114
115
  */
115
116
  planMode?: boolean;
117
+ /** Named behavior profile for a product-specific per-run interaction mode. */
118
+ behaviorMode?: RunBehaviorMode;
119
+ /**
120
+ * Generic per-run parameters consumed by the active behavior profile
121
+ * (delivered as non-durable run context; never appended to the task or
122
+ * transcript).
123
+ */
124
+ profileParams?: Record<string, unknown>;
125
+ /** Digital human to bind to this Work Session. */
126
+ workspaceProfile?: string;
127
+ /**
128
+ * Standing brief for this Session, injected as a system section on every run
129
+ * (see SessionState.sessionBrief). Set when a team is summoned; a planned
130
+ * Session has no engine state yet, so the host resends it each turn until the
131
+ * Session persists it.
132
+ */
133
+ sessionBrief?: string;
134
+ /** Closed same-project Session catalog available to SendMessageToSession. */
135
+ sessionMessageTargets?: SessionMessageTarget[];
136
+ /**
137
+ * Host-built bounded Pet world JSON for this invocation. It is delivered as
138
+ * non-durable system context and must never be appended to the user task or
139
+ * transcript. Valid only for an explicitly durable Pet run.
140
+ * @deprecated Compat alias for `profileParams.runtimeContext`.
141
+ */
142
+ petRuntimeContext?: string;
143
+ /**
144
+ * Closed Workspace choices exposed to Mimi's DelegateWork tool.
145
+ * @deprecated Compat alias for `profileParams.workspaces`.
146
+ */
147
+ petWorkspaces?: LegacyPetWorkspaceOption[];
148
+ /** Durable classification used only when creating a new session. */
149
+ kind?: SessionKind;
116
150
  /**
117
151
  * Require the target session to already exist on disk. When true and the
118
152
  * session is absent, the run is rejected with `SessionNotFound` instead of
@@ -130,7 +164,7 @@ export interface RunParams {
130
164
  * Accepts a bare objective string or a full GoalConfig (objective +
131
165
  * optional token/time budgets). Normalized at the engine run boundary.
132
166
  */
133
- goal?: string | import("../engine/goal.js").GoalConfig;
167
+ goal?: string | import("../goal/lifecycle.js").GoalConfig;
134
168
  }
135
169
  export interface RunResult {
136
170
  text: string;
@@ -138,17 +172,31 @@ export interface RunResult {
138
172
  sessionId: string;
139
173
  turnCount: number;
140
174
  usage: TokenUsage;
175
+ /** Structured results reported by the active behavior profile. */
176
+ extensions?: Record<string, unknown>;
177
+ petWorkDelegation?: LegacyPetWorkDelegation;
141
178
  }
142
- export interface ForkSessionParams {
179
+ export interface FullForkSessionParams {
143
180
  sourceSessionId: string;
144
181
  targetSessionId?: string;
145
182
  mode: "full";
183
+ /** Ephemeral side fork: snapshot only the last completed conversation turn. */
184
+ forkKind?: "side";
146
185
  /** Inclusive source event cursor; omitted freezes the current tail. */
147
186
  throughEventId?: string;
148
187
  /** Desktop host ownership generation; ignored by protocol-only hosts. */
149
188
  quickChatClaimId?: string;
150
189
  }
151
- export interface ForkSessionResult {
190
+ export interface SummaryForkSessionParams {
191
+ sourceSessionId: string;
192
+ targetSessionId?: string;
193
+ mode: "summary";
194
+ /** Inclusive stable source event range. */
195
+ fromEventId: string;
196
+ toEventId: string;
197
+ }
198
+ export type ForkSessionParams = FullForkSessionParams | SummaryForkSessionParams;
199
+ export interface FullForkSessionResult {
152
200
  sessionId: string;
153
201
  mode: "full";
154
202
  forkedFrom: SessionForkLineage;
@@ -156,6 +204,20 @@ export interface ForkSessionResult {
156
204
  copiedEventCount: number;
157
205
  titleSuggestion?: string;
158
206
  }
207
+ export interface SummaryForkSessionResult {
208
+ sessionId: string;
209
+ mode: "summary";
210
+ summary: string;
211
+ sourceRange: {
212
+ fromEventId: string;
213
+ toEventId: string;
214
+ };
215
+ estimatedTokens: number;
216
+ forkedFrom: SessionForkLineage;
217
+ workspace: SessionWorkspace;
218
+ titleSuggestion?: string;
219
+ }
220
+ export type ForkSessionResult = FullForkSessionResult | SummaryForkSessionResult;
159
221
  /** Respond to an approval request from the server. */
160
222
  export interface ApproveParams {
161
223
  sessionId: string;
@@ -179,6 +241,11 @@ export interface CloseSessionParams {
179
241
  export interface ReleaseWorkspaceParams {
180
242
  sessionId: string;
181
243
  }
244
+ /** Persist and rebase a session workspace through its owning Engine. */
245
+ export interface SetWorkspaceParams {
246
+ sessionId: string;
247
+ workspace: SessionWorkspace;
248
+ }
182
249
  /** Inject context into a session transcript. */
183
250
  export interface InjectParams {
184
251
  sessionId: string;
@@ -201,6 +268,36 @@ export interface UnsteerParams {
201
268
  sessionId: string;
202
269
  id: string;
203
270
  }
271
+ /** Discover renderer-safe metadata for enabled installed plugin commands. */
272
+ export interface PluginCommandsListParams {
273
+ cwd: string;
274
+ }
275
+ export interface ProtocolPluginCommandDescriptor {
276
+ name: string;
277
+ pluginName: string;
278
+ description: string;
279
+ argumentHint?: string;
280
+ }
281
+ export interface PluginCommandsListResult {
282
+ commands: ProtocolPluginCommandDescriptor[];
283
+ }
284
+ /** Expand one enabled command inside the trusted host; command bodies stay server-side. */
285
+ export interface PluginCommandExpandParams {
286
+ cwd: string;
287
+ name: string;
288
+ rawArguments?: string;
289
+ }
290
+ export interface PluginCommandExpandResult {
291
+ prompt: string;
292
+ }
293
+ /** Edit or pause/resume a persisted goal without replacing its identity. */
294
+ export interface GoalUpdateParams {
295
+ sessionId: string;
296
+ objective?: string;
297
+ paused?: boolean;
298
+ expectedGoalId: string;
299
+ expectedRevision: number;
300
+ }
204
301
  /** Update runtime configuration. */
205
302
  export interface ConfigureParams {
206
303
  /** When present, configure that specific chat session. Otherwise worker-global. */
@@ -230,7 +327,8 @@ export interface ConfigureParams {
230
327
  }
231
328
  /** Query server state. */
232
329
  export interface QueryParams {
233
- type: "sessions" | "tools" | "config" | "session_detail" | "compact" | "config_set" | "config_get" | "permission_set" | "models" | "providers" | "arena_status" | "provider_add" | "provider_refresh" | "provider_delete" | "model_add" | "model_delete";
330
+ /** Built-in query name or a trusted CapabilityModule query contribution. */
331
+ type: string;
234
332
  sessionId?: string;
235
333
  /** Used by config_set / permission_set: dotted key path or mode field */
236
334
  key?: string;
@@ -240,6 +338,10 @@ export interface QueryParams {
240
338
  provider?: unknown;
241
339
  /** Used by model_add: the new model entry */
242
340
  model?: unknown;
341
+ /** Used by archive_range: half-open message-index window start (inclusive). */
342
+ start?: unknown;
343
+ /** Used by archive_range: half-open message-index window end (exclusive). */
344
+ end?: unknown;
243
345
  }
244
346
  export interface QueryResult {
245
347
  type: string;
@@ -355,8 +457,14 @@ export declare const Methods: {
355
457
  readonly CloseSession: "agent/closeSession";
356
458
  /** Reset a session's workspace binding to main without closing it. */
357
459
  readonly ReleaseWorkspace: "agent/releaseWorkspace";
460
+ /** Persist a workspace pointer through the live session owner. */
461
+ readonly SetWorkspace: "agent/setWorkspace";
358
462
  /** Extend a running goal's turn/budget ceilings mid-run (TODO 3.1). */
359
463
  readonly GoalExtend: "agent/goalExtend";
464
+ /** Edit or pause/resume a session's persisted goal. */
465
+ readonly GoalUpdate: "agent/goalUpdate";
466
+ /** Delete a persisted goal (explicit alias of goalClear). */
467
+ readonly GoalDelete: "agent/goalDelete";
360
468
  /** Clear a session's persisted active goal (CC /goal clear). */
361
469
  readonly GoalClear: "agent/goalClear";
362
470
  /** Read a session's persisted active goal, to re-surface it on session load. */
@@ -367,6 +475,12 @@ export declare const Methods: {
367
475
  * for the desktop background panel. Output/kill of a shell still goes through
368
476
  * BackgroundShells by shellId; this is list-only across all three kinds. */
369
477
  readonly BackgroundWork: "agent/backgroundWork";
478
+ /** Read-only bounded Pet projection plus the ordered-delta cursor. */
479
+ readonly GetPetProjectionSnapshot: "agent/getPetProjectionSnapshot";
480
+ /** Discover enabled plugin slash commands without exposing their source bodies or file paths. */
481
+ readonly PluginCommandsList: "pluginCommands/list";
482
+ /** Expand one enabled plugin command into a reviewable prompt draft. */
483
+ readonly PluginCommandExpand: "pluginCommands/expand";
370
484
  readonly RunAccepted: "agent/runAccepted";
371
485
  readonly StreamEvent: "agent/streamEvent";
372
486
  readonly ApprovalRequest: "agent/approvalRequest";
@@ -374,6 +488,10 @@ export declare const Methods: {
374
488
  * AskUserQuestion that timed out) so every client can dismiss its stale card
375
489
  * without a user decision. Same envelope the desktop main broadcasts. */
376
490
  readonly ApprovalResolved: "agent/approvalResolved";
491
+ /** A worker-side settings resource changed on disk and mounted clients
492
+ * should invalidate their cached settings/catalog reads. */
493
+ readonly SettingsChanged: "agent/settingsChanged";
494
+ readonly PetProjectionDelta: "agent/petProjectionDelta";
377
495
  readonly Status: "agent/status";
378
496
  };
379
497
  export declare function createRequest(method: string, params?: Record<string, unknown>): RpcRequest;
@@ -44,8 +44,14 @@ export const Methods = {
44
44
  CloseSession: "agent/closeSession",
45
45
  /** Reset a session's workspace binding to main without closing it. */
46
46
  ReleaseWorkspace: "agent/releaseWorkspace",
47
+ /** Persist a workspace pointer through the live session owner. */
48
+ SetWorkspace: "agent/setWorkspace",
47
49
  /** Extend a running goal's turn/budget ceilings mid-run (TODO 3.1). */
48
50
  GoalExtend: "agent/goalExtend",
51
+ /** Edit or pause/resume a session's persisted goal. */
52
+ GoalUpdate: "agent/goalUpdate",
53
+ /** Delete a persisted goal (explicit alias of goalClear). */
54
+ GoalDelete: "agent/goalDelete",
49
55
  /** Clear a session's persisted active goal (CC /goal clear). */
50
56
  GoalClear: "agent/goalClear",
51
57
  /** Read a session's persisted active goal, to re-surface it on session load. */
@@ -56,6 +62,12 @@ export const Methods = {
56
62
  * for the desktop background panel. Output/kill of a shell still goes through
57
63
  * BackgroundShells by shellId; this is list-only across all three kinds. */
58
64
  BackgroundWork: "agent/backgroundWork",
65
+ /** Read-only bounded Pet projection plus the ordered-delta cursor. */
66
+ GetPetProjectionSnapshot: "agent/getPetProjectionSnapshot",
67
+ /** Discover enabled plugin slash commands without exposing their source bodies or file paths. */
68
+ PluginCommandsList: "pluginCommands/list",
69
+ /** Expand one enabled plugin command into a reviewable prompt draft. */
70
+ PluginCommandExpand: "pluginCommands/expand",
59
71
  // Server → Client (notifications, no id)
60
72
  RunAccepted: "agent/runAccepted",
61
73
  StreamEvent: "agent/streamEvent",
@@ -64,6 +76,10 @@ export const Methods = {
64
76
  * AskUserQuestion that timed out) so every client can dismiss its stale card
65
77
  * without a user decision. Same envelope the desktop main broadcasts. */
66
78
  ApprovalResolved: "agent/approvalResolved",
79
+ /** A worker-side settings resource changed on disk and mounted clients
80
+ * should invalidate their cached settings/catalog reads. */
81
+ SettingsChanged: "agent/settingsChanged",
82
+ PetProjectionDelta: "agent/petProjectionDelta",
67
83
  Status: "agent/status",
68
84
  };
69
85
  // ─── Helpers ────────────────────────────────────────────────────────
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Listens to StreamEvents and identifies:
5
5
  * - Files written or edited (Write / Edit tool results)
6
- * - Files created by Bash commands (mkdir, touch, cp, git commit, etc.)
6
+ * - Files created by generic Bash redirection/copy commands
7
+ * - Domain-specific outputs recognized by capability detectors
7
8
  * - Structured outputs (e.g., generated configs, test results)
8
9
  *
9
10
  * Design constraint (§14):
@@ -13,14 +14,17 @@
13
14
  */
14
15
  import type { StreamEvent } from "../types.js";
15
16
  import type { RunStore } from "./RunStore.js";
17
+ import type { CapabilityArtifactDetector } from "../capabilities/index.js";
16
18
  export interface ArtifactTrackerConfig {
17
19
  runId: string;
18
20
  store: RunStore;
21
+ detectors?: readonly CapabilityArtifactDetector[];
19
22
  }
20
23
  export declare class ArtifactTracker {
21
24
  private readonly config;
22
25
  private readonly pendingCalls;
23
26
  private readonly recordedPaths;
27
+ private readonly recordedLocators;
24
28
  constructor(config: ArtifactTrackerConfig);
25
29
  /**
26
30
  * Feed a StreamEvent to the tracker.
@@ -30,6 +34,7 @@ export declare class ArtifactTracker {
30
34
  getRecordedPaths(): string[];
31
35
  private processToolResult;
32
36
  private recordFileArtifact;
37
+ private recordArtifact;
33
38
  /**
34
39
  * Extract artifact refs from Bash commands.
35
40
  * Only track commands that clearly produce files.
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Listens to StreamEvents and identifies:
5
5
  * - Files written or edited (Write / Edit tool results)
6
- * - Files created by Bash commands (mkdir, touch, cp, git commit, etc.)
6
+ * - Files created by generic Bash redirection/copy commands
7
+ * - Domain-specific outputs recognized by capability detectors
7
8
  * - Structured outputs (e.g., generated configs, test results)
8
9
  *
9
10
  * Design constraint (§14):
@@ -17,6 +18,7 @@ export class ArtifactTracker {
17
18
  config;
18
19
  pendingCalls = new Map();
19
20
  recordedPaths = new Set();
21
+ recordedLocators = new Set();
20
22
  constructor(config) {
21
23
  this.config = config;
22
24
  }
@@ -60,11 +62,16 @@ export class ArtifactTracker {
60
62
  case "Bash":
61
63
  await this.extractBashArtifacts(call.args.command, resultText);
62
64
  break;
63
- case "NotebookEdit":
64
- if (call.args.notebook_path) {
65
- await this.recordFileArtifact(call.args.notebook_path, "output", "document");
66
- }
67
- break;
65
+ }
66
+ for (const detector of this.config.detectors ?? []) {
67
+ const detected = detector({
68
+ toolName: call.toolName,
69
+ args: call.args,
70
+ resultText,
71
+ });
72
+ for (const artifact of detected ? (Array.isArray(detected) ? detected : [detected]) : []) {
73
+ await this.recordArtifact(artifact);
74
+ }
68
75
  }
69
76
  }
70
77
  async recordFileArtifact(filePath, role, kind) {
@@ -77,6 +84,7 @@ export class ArtifactTracker {
77
84
  if (this.recordedPaths.has(filePath))
78
85
  return;
79
86
  this.recordedPaths.add(filePath);
87
+ this.recordedLocators.add(filePath);
80
88
  const ref = {
81
89
  artifactRefId: nanoid(12),
82
90
  runId: this.config.runId,
@@ -89,6 +97,21 @@ export class ArtifactTracker {
89
97
  };
90
98
  await this.config.store.appendArtifactRef(ref);
91
99
  }
100
+ async recordArtifact(artifact) {
101
+ if (!artifact.locator || this.recordedLocators.has(artifact.locator))
102
+ return;
103
+ this.recordedLocators.add(artifact.locator);
104
+ await this.config.store.appendArtifactRef({
105
+ artifactRefId: nanoid(12),
106
+ runId: this.config.runId,
107
+ kind: artifact.kind,
108
+ title: artifact.title,
109
+ locator: artifact.locator,
110
+ role: artifact.role,
111
+ version: null,
112
+ metadata: artifact.metadata ?? {},
113
+ });
114
+ }
92
115
  /**
93
116
  * Extract artifact refs from Bash commands.
94
117
  * Only track commands that clearly produce files.
@@ -97,21 +120,6 @@ export class ArtifactTracker {
97
120
  if (!command)
98
121
  return;
99
122
  const trimmed = command.trim();
100
- // git commit — the commit itself is an artifact
101
- if (/^git\s+commit\b/.test(trimmed)) {
102
- const ref = {
103
- artifactRefId: nanoid(12),
104
- runId: this.config.runId,
105
- kind: "resource",
106
- title: "git commit",
107
- locator: "git:HEAD",
108
- role: "output",
109
- version: null,
110
- metadata: { command: trimmed.slice(0, 200) },
111
- };
112
- await this.config.store.appendArtifactRef(ref);
113
- return;
114
- }
115
123
  // Redirect output: command > file or command >> file (quoted-path aware)
116
124
  const redirectTarget = parseRedirectTarget(trimmed);
117
125
  if (redirectTarget) {
@@ -13,6 +13,7 @@ import type { ClientDefaults, LLMConfig, RegisteredTool } from "../types.js";
13
13
  import type { RunSnapshot, RunExecutionContext, RunExecutionResult } from "./types.js";
14
14
  import { type RunLifecycleHooks } from "./RunApprovalBackend.js";
15
15
  import type { ApprovalBackend } from "../tool-system/permission.js";
16
+ import type { CapabilityModule } from "../capabilities/index.js";
16
17
  /** Unattended runs (those with an injected approval backend) run headless so
17
18
  * the in-process AgentServer does not wire an interactive askUser. Exported
18
19
  * for unit testing the decision rule. */
@@ -72,6 +73,7 @@ export interface EngineRunnerConfig {
72
73
  permissionMode?: EngineConfig["permissionMode"];
73
74
  enabledBuiltinTools?: string[];
74
75
  disabledBuiltinTools?: string[];
76
+ capabilities?: readonly CapabilityModule[];
75
77
  customSystemPrompt?: string;
76
78
  appendSystemPrompt?: string;
77
79
  mcpServers?: EngineConfig["mcpServers"];
@@ -85,6 +85,7 @@ export class EngineRunner {
85
85
  preset: run.preset,
86
86
  enabledBuiltinTools: this.config.enabledBuiltinTools,
87
87
  disabledBuiltinTools: this.config.disabledBuiltinTools,
88
+ capabilities: this.config.capabilities,
88
89
  customSystemPrompt: this.config.customSystemPrompt,
89
90
  // NOTE: callers must not pass appendSystemPrompt in engineConfigOverrides
90
91
  // below, or it will clobber this composed (automation note + host) value.
@@ -14,6 +14,7 @@ import type { RunStore } from "./RunStore.js";
14
14
  import { type EngineRunnerConfig, type RunExecutor } from "./EngineRunner.js";
15
15
  import { type Evaluator } from "./Evaluator.js";
16
16
  import type { RunSnapshot, RunEvent, SubmitRunInput, ResumeRunInput, ListRunsQuery, RunStreamCallback, DetachFn } from "./types.js";
17
+ import { type CapabilityModule } from "../capabilities/index.js";
17
18
  export interface RunManagerConfig {
18
19
  store: RunStore;
19
20
  /**
@@ -35,6 +36,8 @@ export interface RunManagerConfig {
35
36
  defaultTags?: string[];
36
37
  /** Metadata merged into every submitted run. Submit input wins on conflicts. */
37
38
  defaultMetadata?: Record<string, unknown>;
39
+ /** Product/domain capabilities used by the built-in runner and artifact tracker. */
40
+ capabilities?: readonly CapabilityModule[];
38
41
  }
39
42
  export declare class RunManager {
40
43
  private readonly store;
@@ -42,9 +45,19 @@ export declare class RunManager {
42
45
  private readonly runner;
43
46
  private readonly lock;
44
47
  private readonly heartbeat;
48
+ /**
49
+ * Page size for crash-recovery scans (see listAllByStatus).
50
+ *
51
+ * Deliberately NOT a constructor option: hosts have no reason to tune it, and
52
+ * exposing it would invite a caller to re-introduce the UI's 50-row default.
53
+ * Tests override it to exercise the multi-page loop cheaply.
54
+ */
55
+ private recoverPageSize;
45
56
  private readonly evaluator;
46
57
  private readonly defaultTags;
47
58
  private readonly defaultMetadata;
59
+ private readonly defaultPreset;
60
+ private readonly artifactDetectors;
48
61
  private readonly subscribers;
49
62
  private readonly abortControllers;
50
63
  /** Active execution handles — used to resolve pending approvals/input while Engine is suspended */
@@ -81,6 +94,19 @@ export declare class RunManager {
81
94
  * Returns the IDs of recovered runs.
82
95
  */
83
96
  recover(): Promise<string[]>;
97
+ /**
98
+ * Drain EVERY run with the given status, page by page.
99
+ *
100
+ * `store.list()` defaults to `limit: 50` because it backs a UI list. Crash
101
+ * recovery must not inherit a UI page size: with 55 stale running runs, the
102
+ * bare `list({ status })` call recovered the first 50 and left the remaining 5
103
+ * pinned in "running" forever (no later pass would revisit them, because
104
+ * recovery only runs at startup).
105
+ *
106
+ * Pages until a short page arrives. `maxPages` is a runaway guard for a store
107
+ * that ignores `offset` — without it a buggy store would loop forever.
108
+ */
109
+ private listAllByStatus;
84
110
  /**
85
111
  * Graceful shutdown — stop all heartbeats and release all locks.
86
112
  */