@cjhyy/code-shell-core 0.7.0 → 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 (621) 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 +20 -5
  23. package/dist/context/compaction.d.ts +39 -3
  24. package/dist/context/compaction.js +151 -39
  25. package/dist/context/manager.d.ts +20 -4
  26. package/dist/context/manager.js +42 -7
  27. package/dist/context/token-counter.js +5 -3
  28. package/dist/context/tool-result-storage.d.ts +6 -0
  29. package/dist/context/tool-result-storage.js +25 -4
  30. package/dist/credentials/access.d.ts +13 -2
  31. package/dist/credentials/access.js +99 -4
  32. package/dist/credentials/index.d.ts +3 -2
  33. package/dist/credentials/index.js +2 -1
  34. package/dist/credentials/oauth.d.ts +9 -1
  35. package/dist/credentials/oauth.js +80 -1
  36. package/dist/credentials/store.d.ts +16 -2
  37. package/dist/credentials/store.js +33 -11
  38. package/dist/credentials/types.d.ts +62 -1
  39. package/dist/credentials/types.js +16 -1
  40. package/dist/credentials/use-credential-tool.js +15 -1
  41. package/dist/engine/auxiliary-pipeline.d.ts +40 -0
  42. package/dist/engine/auxiliary-pipeline.js +181 -0
  43. package/dist/{settings → engine}/disk-defaults.d.ts +2 -2
  44. package/dist/{settings → engine}/disk-defaults.js +5 -2
  45. package/dist/engine/dynamic-tool-defs.d.ts +4 -0
  46. package/dist/engine/dynamic-tool-defs.js +4 -0
  47. package/dist/engine/engine.d.ts +272 -184
  48. package/dist/engine/engine.js +1869 -1864
  49. package/dist/engine/file-history-hook.d.ts +11 -0
  50. package/dist/engine/file-history-hook.js +31 -0
  51. package/dist/engine/goal-judge-context.d.ts +9 -0
  52. package/dist/engine/goal-judge-context.js +234 -0
  53. package/dist/engine/injected-context-cache.d.ts +6 -0
  54. package/dist/engine/injected-context-cache.js +13 -0
  55. package/dist/engine/input-attachments.d.ts +1 -1
  56. package/dist/engine/model-facade.d.ts +3 -3
  57. package/dist/engine/model-facade.js +15 -14
  58. package/dist/engine/permission-controller.d.ts +55 -0
  59. package/dist/engine/permission-controller.js +148 -0
  60. package/dist/engine/prompt-cache-diagnostics.d.ts +58 -0
  61. package/dist/engine/prompt-cache-diagnostics.js +178 -0
  62. package/dist/engine/run-accounting.d.ts +41 -0
  63. package/dist/engine/run-accounting.js +126 -0
  64. package/dist/engine/run-context.d.ts +44 -0
  65. package/dist/engine/run-context.js +88 -0
  66. package/dist/engine/run-environment.d.ts +30 -0
  67. package/dist/engine/run-environment.js +77 -0
  68. package/dist/engine/run-finalize.d.ts +58 -0
  69. package/dist/engine/run-finalize.js +245 -0
  70. package/dist/engine/run-goal.d.ts +58 -0
  71. package/dist/engine/run-goal.js +188 -0
  72. package/dist/engine/run-image-input.d.ts +1 -1
  73. package/dist/engine/run-image-input.js +5 -3
  74. package/dist/engine/run-session-open.d.ts +41 -0
  75. package/dist/engine/run-session-open.js +186 -0
  76. package/dist/engine/run-setup.d.ts +42 -0
  77. package/dist/engine/run-setup.js +58 -0
  78. package/dist/engine/run-tooling.d.ts +125 -0
  79. package/dist/engine/run-tooling.js +283 -0
  80. package/dist/engine/run-types.d.ts +139 -0
  81. package/dist/engine/run-types.js +12 -0
  82. package/dist/engine/run-workspace.d.ts +50 -0
  83. package/dist/engine/run-workspace.js +114 -0
  84. package/dist/engine/session-title.d.ts +2 -1
  85. package/dist/engine/session-title.js +4 -1
  86. package/dist/engine/steer-queue.d.ts +1 -1
  87. package/dist/engine/subagent-spawner.d.ts +32 -0
  88. package/dist/engine/subagent-spawner.js +287 -0
  89. package/dist/engine/tool-summary.d.ts +2 -2
  90. package/dist/engine/tool-summary.js +2 -2
  91. package/dist/engine/turn-loop.d.ts +67 -10
  92. package/dist/engine/turn-loop.js +538 -97
  93. package/dist/engine/types.d.ts +35 -4
  94. package/dist/engine/types.js +1 -1
  95. package/dist/{engine/goal.d.ts → goal/lifecycle.d.ts} +80 -6
  96. package/dist/goal/lifecycle.js +482 -0
  97. package/dist/hooks/events.d.ts +26 -9
  98. package/dist/hooks/events.js +0 -3
  99. package/dist/hooks/goal-stop-hook.d.ts +28 -29
  100. package/dist/hooks/goal-stop-hook.js +344 -144
  101. package/dist/hooks/registry.js +4 -1
  102. package/dist/hooks/shell-runner.d.ts +12 -1
  103. package/dist/hooks/shell-runner.js +160 -9
  104. package/dist/index.d.ts +51 -110
  105. package/dist/index.extension.d.ts +51 -0
  106. package/dist/index.extension.js +39 -0
  107. package/dist/index.internal.d.ts +86 -0
  108. package/dist/index.internal.js +92 -0
  109. package/dist/index.js +37 -125
  110. package/dist/links/cli.d.ts +48 -0
  111. package/dist/links/cli.js +617 -0
  112. package/dist/links/http.d.ts +40 -0
  113. package/dist/links/http.js +166 -0
  114. package/dist/links/index.d.ts +4 -0
  115. package/dist/links/index.js +3 -0
  116. package/dist/links/link-action-tool.d.ts +5 -0
  117. package/dist/links/link-action-tool.js +241 -0
  118. package/dist/links/providers.d.ts +8 -0
  119. package/dist/links/providers.js +665 -0
  120. package/dist/links/types.d.ts +44 -0
  121. package/dist/llm/client-base.d.ts +7 -0
  122. package/dist/llm/client-base.js +72 -10
  123. package/dist/llm/model-pool.d.ts +1 -1
  124. package/dist/llm/model-pool.js +1 -1
  125. package/dist/llm/providers/anthropic.d.ts +1 -0
  126. package/dist/llm/providers/anthropic.js +9 -0
  127. package/dist/llm/providers/openai.d.ts +1 -0
  128. package/dist/llm/providers/openai.js +17 -0
  129. package/dist/llm/types.d.ts +12 -5
  130. package/dist/model-catalog/index.js +15 -2
  131. package/dist/model-catalog/resolve.d.ts +13 -1
  132. package/dist/model-catalog/resolve.js +37 -2
  133. package/dist/model-catalog/types.d.ts +74 -48
  134. package/dist/model-catalog/types.js +16 -5
  135. package/dist/model-catalog/upsert.d.ts +3 -1
  136. package/dist/model-catalog/upsert.js +9 -0
  137. package/dist/onboarding.d.ts +0 -1
  138. package/dist/onboarding.js +1 -22
  139. package/dist/panel-apps/bindings.d.ts +24 -0
  140. package/dist/panel-apps/bindings.js +69 -0
  141. package/dist/panel-apps/github-archive.d.ts +21 -0
  142. package/dist/panel-apps/github-archive.js +98 -0
  143. package/dist/panel-apps/index.d.ts +4 -0
  144. package/dist/panel-apps/index.js +4 -0
  145. package/dist/panel-apps/installer.d.ts +68 -0
  146. package/dist/panel-apps/installer.js +622 -0
  147. package/dist/panel-apps/manifest.d.ts +364 -0
  148. package/dist/panel-apps/manifest.js +189 -0
  149. package/dist/panel-apps/paths.d.ts +13 -0
  150. package/dist/panel-apps/paths.js +38 -0
  151. package/dist/panel-apps/registry.d.ts +51 -0
  152. package/dist/panel-apps/registry.js +99 -0
  153. package/dist/panel-apps/runtime.d.ts +80 -0
  154. package/dist/panel-apps/runtime.js +154 -0
  155. package/dist/plugins/gitOps.js +8 -1
  156. package/dist/plugins/installedPlugins.d.ts +2 -1
  157. package/dist/plugins/installedPlugins.js +146 -8
  158. package/dist/plugins/installer/codex/convertAgents.d.ts +4 -1
  159. package/dist/plugins/installer/codex/convertAgents.js +62 -8
  160. package/dist/plugins/installer/codex/convertCommands.d.ts +5 -5
  161. package/dist/plugins/installer/codex/convertCommands.js +35 -12
  162. package/dist/plugins/installer/codex/convertHooks.d.ts +10 -0
  163. package/dist/plugins/installer/codex/convertHooks.js +82 -0
  164. package/dist/plugins/installer/codex/convertSkills.js +41 -6
  165. package/dist/plugins/installer/install.d.ts +7 -1
  166. package/dist/plugins/installer/install.js +21 -87
  167. package/dist/plugins/installer/installFromArchive.d.ts +26 -4
  168. package/dist/plugins/installer/installFromArchive.js +44 -27
  169. package/dist/plugins/installer/installFromNpm.d.ts +31 -0
  170. package/dist/plugins/installer/installFromNpm.js +273 -0
  171. package/dist/plugins/installer/loadPluginAgents.js +17 -4
  172. package/dist/plugins/installer/loadPluginMcp.d.ts +14 -0
  173. package/dist/plugins/installer/loadPluginMcp.js +245 -35
  174. package/dist/plugins/installer/normalizeManifest.d.ts +13 -0
  175. package/dist/plugins/installer/normalizeManifest.js +306 -0
  176. package/dist/plugins/installer/npmTar.d.ts +13 -0
  177. package/dist/plugins/installer/npmTar.js +321 -0
  178. package/dist/plugins/installer/parseSource.d.ts +11 -0
  179. package/dist/plugins/installer/parseSource.js +48 -0
  180. package/dist/plugins/installer/preview.d.ts +101 -0
  181. package/dist/plugins/installer/preview.js +336 -0
  182. package/dist/plugins/installer/projectPluginSource.d.ts +14 -0
  183. package/dist/plugins/installer/projectPluginSource.js +140 -0
  184. package/dist/plugins/installer/types.d.ts +775 -0
  185. package/dist/plugins/installer/types.js +100 -0
  186. package/dist/plugins/installer/unzip.d.ts +11 -0
  187. package/dist/plugins/installer/unzip.js +123 -9
  188. package/dist/plugins/installer/update.d.ts +2 -2
  189. package/dist/plugins/installer/update.js +43 -4
  190. package/dist/plugins/loadPluginHooks.d.ts +19 -2
  191. package/dist/plugins/loadPluginHooks.js +97 -86
  192. package/dist/plugins/pluginAutomationTemplates.d.ts +18 -0
  193. package/dist/plugins/pluginAutomationTemplates.js +50 -0
  194. package/dist/plugins/pluginCatalog.d.ts +45 -0
  195. package/dist/plugins/pluginCatalog.js +87 -0
  196. package/dist/plugins/pluginCommandHook.d.ts +10 -4
  197. package/dist/plugins/pluginCommandHook.js +133 -18
  198. package/dist/plugins/pluginCommandsLoader.d.ts +19 -0
  199. package/dist/plugins/pluginCommandsLoader.js +181 -7
  200. package/dist/plugins/pluginContent.d.ts +10 -1
  201. package/dist/plugins/pluginContent.js +87 -30
  202. package/dist/plugins/pluginHookApproval.d.ts +30 -0
  203. package/dist/plugins/pluginHookApproval.js +160 -0
  204. package/dist/plugins/pluginHookIntegrity.d.ts +69 -0
  205. package/dist/plugins/pluginHookIntegrity.js +361 -0
  206. package/dist/plugins/pluginInstaller.js +71 -12
  207. package/dist/plugins/pluginMcpApproval.d.ts +19 -0
  208. package/dist/plugins/pluginMcpApproval.js +110 -0
  209. package/dist/plugins/pluginMcpIntegrity.d.ts +21 -0
  210. package/dist/plugins/pluginMcpIntegrity.js +74 -0
  211. package/dist/plugins/types.d.ts +30 -0
  212. package/dist/plugins/varRewrite.d.ts +9 -5
  213. package/dist/plugins/varRewrite.js +26 -17
  214. package/dist/preset/index.d.ts +11 -8
  215. package/dist/preset/index.js +62 -203
  216. package/dist/product/define.js +9 -3
  217. package/dist/product/types.d.ts +0 -2
  218. package/dist/profile/activation.d.ts +36 -0
  219. package/dist/profile/activation.js +57 -0
  220. package/dist/profile/catalog-store.d.ts +77 -0
  221. package/dist/profile/catalog-store.js +346 -0
  222. package/dist/profile/catalog.d.ts +54 -0
  223. package/dist/profile/catalog.js +152 -0
  224. package/dist/profile/index.d.ts +7 -0
  225. package/dist/profile/index.js +7 -0
  226. package/dist/profile/requirements.d.ts +76 -0
  227. package/dist/profile/requirements.js +117 -0
  228. package/dist/profile/resolve.d.ts +11 -0
  229. package/dist/profile/resolve.js +41 -0
  230. package/dist/profile/store.d.ts +17 -0
  231. package/dist/profile/store.js +167 -0
  232. package/dist/profile/types.d.ts +321 -0
  233. package/dist/profile/types.js +104 -0
  234. package/dist/prompt/composer.d.ts +46 -7
  235. package/dist/prompt/composer.js +78 -48
  236. package/dist/prompt/instruction-scanner.d.ts +6 -5
  237. package/dist/prompt/instruction-scanner.js +8 -23
  238. package/dist/prompt/section-loader.d.ts +2 -2
  239. package/dist/prompt/section-loader.js +7 -4
  240. package/dist/prompt/sections/browser.md +10 -9
  241. package/dist/prompt/sections/harness-base.md +9 -0
  242. package/dist/protocol/chat-session-manager.d.ts +77 -3
  243. package/dist/protocol/chat-session-manager.js +194 -18
  244. package/dist/protocol/chat-session.d.ts +72 -9
  245. package/dist/protocol/chat-session.js +151 -16
  246. package/dist/protocol/client.d.ts +37 -4
  247. package/dist/protocol/client.js +118 -6
  248. package/dist/protocol/index.d.ts +2 -2
  249. package/dist/protocol/index.js +2 -2
  250. package/dist/protocol/mobile-remote-types.d.ts +406 -0
  251. package/dist/protocol/mobile-remote-types.js +1 -0
  252. package/dist/protocol/server.d.ts +152 -14
  253. package/dist/protocol/server.js +1574 -229
  254. package/dist/protocol/types.d.ts +182 -32
  255. package/dist/protocol/types.js +18 -0
  256. package/dist/run/ArtifactTracker.d.ts +6 -1
  257. package/dist/run/ArtifactTracker.js +29 -21
  258. package/dist/run/EngineRunner.d.ts +2 -0
  259. package/dist/run/EngineRunner.js +1 -0
  260. package/dist/run/RunManager.d.ts +26 -0
  261. package/dist/run/RunManager.js +82 -11
  262. package/dist/run/factory.d.ts +3 -0
  263. package/dist/run/factory.js +2 -0
  264. package/dist/runtime/safe-spawn.d.ts +6 -0
  265. package/dist/runtime/safe-spawn.js +8 -13
  266. package/dist/services/auto-dream.d.ts +13 -1
  267. package/dist/services/auto-dream.js +56 -8
  268. package/dist/services/dream-consolidation.d.ts +3 -0
  269. package/dist/services/dream-consolidation.js +14 -2
  270. package/dist/services/index.d.ts +1 -1
  271. package/dist/services/index.js +1 -1
  272. package/dist/services/memory-orchestrator.js +6 -2
  273. package/dist/services/oauth.d.ts +34 -10
  274. package/dist/services/oauth.js +236 -98
  275. package/dist/services/session-memory.d.ts +4 -4
  276. package/dist/services/session-memory.js +13 -10
  277. package/dist/session/memory.d.ts +26 -7
  278. package/dist/session/memory.js +79 -21
  279. package/dist/session/session-manager.d.ts +208 -25
  280. package/dist/session/session-manager.js +1232 -116
  281. package/dist/session/session-message.d.ts +22 -0
  282. package/dist/session/session-message.js +1 -0
  283. package/dist/session/transcript.d.ts +76 -6
  284. package/dist/session/transcript.js +278 -7
  285. package/dist/settings/feature-flags.d.ts +40 -0
  286. package/dist/settings/feature-flags.js +40 -0
  287. package/dist/settings/manager.d.ts +39 -1
  288. package/dist/settings/manager.js +102 -41
  289. package/dist/settings/migrate-config.js +4 -2
  290. package/dist/settings/schema.d.ts +511 -177
  291. package/dist/settings/schema.js +98 -25
  292. package/dist/skills/scanner.d.ts +6 -2
  293. package/dist/skills/scanner.js +160 -9
  294. package/dist/sources/adapter.d.ts +14 -0
  295. package/dist/sources/adapter.js +7 -0
  296. package/dist/sources/adapters/local-files.d.ts +10 -0
  297. package/dist/sources/adapters/local-files.js +127 -0
  298. package/dist/sources/adapters/mcp-resource.d.ts +17 -0
  299. package/dist/sources/adapters/mcp-resource.js +41 -0
  300. package/dist/sources/adapters/mock.d.ts +3 -0
  301. package/dist/sources/adapters/mock.js +29 -0
  302. package/dist/sources/binding.d.ts +6 -0
  303. package/dist/sources/binding.js +24 -0
  304. package/dist/sources/catalog.d.ts +6 -0
  305. package/dist/sources/catalog.js +64 -0
  306. package/dist/sources/context-summary.d.ts +8 -0
  307. package/dist/sources/context-summary.js +13 -0
  308. package/dist/sources/credential-status.d.ts +2 -0
  309. package/dist/sources/credential-status.js +13 -0
  310. package/dist/sources/index.d.ts +10 -0
  311. package/dist/sources/index.js +10 -0
  312. package/dist/sources/resolve.d.ts +28 -0
  313. package/dist/sources/resolve.js +47 -0
  314. package/dist/sources/truncate-utf8.d.ts +7 -0
  315. package/dist/sources/truncate-utf8.js +18 -0
  316. package/dist/sources/types.d.ts +71 -0
  317. package/dist/sources/types.js +26 -0
  318. package/dist/testing/fetch-stub.d.ts +32 -0
  319. package/dist/testing/fetch-stub.js +24 -0
  320. package/dist/themes/image.d.ts +18 -0
  321. package/dist/themes/image.js +117 -0
  322. package/dist/themes/index.d.ts +4 -0
  323. package/dist/themes/index.js +4 -0
  324. package/dist/themes/installer.d.ts +50 -0
  325. package/dist/themes/installer.js +290 -0
  326. package/dist/themes/manifest.d.ts +102 -0
  327. package/dist/themes/manifest.js +86 -0
  328. package/dist/themes/paths.d.ts +14 -0
  329. package/dist/themes/paths.js +33 -0
  330. package/dist/tool-system/browser-bridge.d.ts +53 -11
  331. package/dist/tool-system/browser-bridge.js +8 -9
  332. package/dist/tool-system/builtin/agent-heartbeat.d.ts +2 -2
  333. package/dist/tool-system/builtin/agent-heartbeat.js +20 -6
  334. package/dist/tool-system/builtin/agent-notifications.d.ts +127 -72
  335. package/dist/tool-system/builtin/agent-notifications.js +291 -101
  336. package/dist/tool-system/builtin/agent-output-file.js +1 -3
  337. package/dist/tool-system/builtin/agent-progress.d.ts +6 -0
  338. package/dist/tool-system/builtin/agent-progress.js +83 -0
  339. package/dist/tool-system/builtin/agent-registry.d.ts +38 -2
  340. package/dist/tool-system/builtin/agent-registry.js +178 -9
  341. package/dist/tool-system/builtin/agent-transcript-translator.js +1 -1
  342. package/dist/tool-system/builtin/agent.d.ts +2 -0
  343. package/dist/tool-system/builtin/agent.js +279 -34
  344. package/dist/tool-system/builtin/background-jobs.d.ts +63 -7
  345. package/dist/tool-system/builtin/background-jobs.js +111 -15
  346. package/dist/tool-system/builtin/background-work.d.ts +12 -1
  347. package/dist/tool-system/builtin/background-work.js +12 -1
  348. package/dist/tool-system/builtin/bash.d.ts +3 -5
  349. package/dist/tool-system/builtin/bash.js +14 -6
  350. package/dist/tool-system/builtin/browser-tools.d.ts +8 -5
  351. package/dist/tool-system/builtin/browser-tools.js +89 -23
  352. package/dist/tool-system/builtin/edit-model-catalog.d.ts +6 -0
  353. package/dist/tool-system/builtin/edit-model-catalog.js +172 -12
  354. package/dist/tool-system/builtin/edit.d.ts +2 -1
  355. package/dist/tool-system/builtin/edit.js +14 -10
  356. package/dist/tool-system/builtin/file-cache.d.ts +2 -0
  357. package/dist/tool-system/builtin/file-cache.js +4 -0
  358. package/dist/tool-system/builtin/generate-image.js +17 -10
  359. package/dist/tool-system/builtin/generate-video.d.ts +4 -0
  360. package/dist/tool-system/builtin/generate-video.js +164 -28
  361. package/dist/tool-system/builtin/glob.d.ts +2 -1
  362. package/dist/tool-system/builtin/glob.js +28 -3
  363. package/dist/tool-system/builtin/grep.d.ts +1 -0
  364. package/dist/tool-system/builtin/grep.js +82 -17
  365. package/dist/tool-system/builtin/image-uploader.js +7 -1
  366. package/dist/tool-system/builtin/index.d.ts +57 -18
  367. package/dist/tool-system/builtin/index.js +280 -167
  368. package/dist/tool-system/builtin/memory.d.ts +6 -0
  369. package/dist/tool-system/builtin/memory.js +36 -15
  370. package/dist/tool-system/builtin/panel.d.ts +9 -0
  371. package/dist/tool-system/builtin/panel.js +314 -0
  372. package/dist/tool-system/builtin/read.js +5 -1
  373. package/dist/tool-system/builtin/send-message-to-session.d.ts +6 -0
  374. package/dist/tool-system/builtin/send-message-to-session.js +67 -0
  375. package/dist/tool-system/builtin/sources.d.ts +8 -0
  376. package/dist/tool-system/builtin/sources.js +137 -0
  377. package/dist/tool-system/builtin/tool-search.js +7 -2
  378. package/dist/tool-system/builtin/update-automation-memory.js +2 -0
  379. package/dist/tool-system/builtin/video-providers.d.ts +12 -15
  380. package/dist/tool-system/builtin/video-providers.js +1 -0
  381. package/dist/tool-system/builtin/view-image.d.ts +2 -2
  382. package/dist/tool-system/builtin/web-fetch.js +60 -15
  383. package/dist/tool-system/builtin/web-search.js +1 -3
  384. package/dist/tool-system/builtin/write.d.ts +2 -1
  385. package/dist/tool-system/builtin/write.js +14 -4
  386. package/dist/tool-system/capability-module.d.ts +93 -0
  387. package/dist/tool-system/capability-module.js +53 -0
  388. package/dist/tool-system/context.d.ts +94 -24
  389. package/dist/tool-system/executor.js +99 -58
  390. package/dist/tool-system/external-tool-exposure.d.ts +60 -0
  391. package/dist/tool-system/external-tool-exposure.js +304 -0
  392. package/dist/tool-system/mcp-manager.d.ts +17 -1
  393. package/dist/tool-system/mcp-manager.js +72 -7
  394. package/dist/tool-system/mcp-tool-policy.d.ts +9 -0
  395. package/dist/tool-system/mcp-tool-policy.js +34 -0
  396. package/dist/tool-system/panel-bridge.d.ts +53 -0
  397. package/dist/tool-system/panel-bridge.js +1 -0
  398. package/dist/tool-system/path-policy.d.ts +19 -0
  399. package/dist/tool-system/path-policy.js +62 -1
  400. package/dist/tool-system/permission.d.ts +69 -3
  401. package/dist/tool-system/permission.js +429 -30
  402. package/dist/tool-system/registry.d.ts +15 -3
  403. package/dist/tool-system/registry.js +82 -40
  404. package/dist/tool-system/sandbox/index.js +3 -8
  405. package/dist/tool-system/sandbox/seatbelt.js +2 -6
  406. package/dist/tool-system/session-tool-host.d.ts +139 -0
  407. package/dist/tool-system/session-tool-host.js +167 -0
  408. package/dist/tool-system/testing/tool-registry-harness.d.ts +31 -0
  409. package/dist/tool-system/testing/tool-registry-harness.js +51 -0
  410. package/dist/tool-system/validation.d.ts +14 -7
  411. package/dist/tool-system/validation.js +701 -7
  412. package/dist/types.d.ts +201 -20
  413. package/dist/{cc-orchestrator → utils}/cwd-normalize.d.ts +1 -0
  414. package/dist/{cc-orchestrator → utils}/cwd-normalize.js +1 -0
  415. package/dist/utils/file-mutex.d.ts +65 -0
  416. package/dist/utils/file-mutex.js +145 -0
  417. package/dist/utils/json.d.ts +2 -4
  418. package/dist/utils/json.js +2 -4
  419. package/dist/utils/lockfile.d.ts +30 -1
  420. package/dist/utils/lockfile.js +2 -2
  421. package/dist/utils/secret-scrubber.d.ts +8 -0
  422. package/dist/utils/secret-scrubber.js +227 -0
  423. package/dist/utils/toolDisplay.js +1 -1
  424. package/package.json +20 -5
  425. package/THIRD_PARTY_NOTICES.md +0 -206
  426. package/dist/arena/arena.d.ts +0 -43
  427. package/dist/arena/arena.js +0 -333
  428. package/dist/arena/context/context-tools.d.ts +0 -16
  429. package/dist/arena/context/context-tools.js +0 -272
  430. package/dist/arena/context/within-root.d.ts +0 -7
  431. package/dist/arena/context/within-root.js +0 -15
  432. package/dist/arena/detect-mode.d.ts +0 -20
  433. package/dist/arena/detect-mode.js +0 -78
  434. package/dist/arena/digest-builder.d.ts +0 -25
  435. package/dist/arena/digest-builder.js +0 -120
  436. package/dist/arena/index.d.ts +0 -29
  437. package/dist/arena/index.js +0 -29
  438. package/dist/arena/iterate/convergence.d.ts +0 -25
  439. package/dist/arena/iterate/convergence.js +0 -103
  440. package/dist/arena/iterate/formats/index.d.ts +0 -22
  441. package/dist/arena/iterate/formats/index.js +0 -283
  442. package/dist/arena/iterate/index.d.ts +0 -11
  443. package/dist/arena/iterate/index.js +0 -9
  444. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  445. package/dist/arena/iterate/iterative-arena.js +0 -237
  446. package/dist/arena/iterate/parse.d.ts +0 -42
  447. package/dist/arena/iterate/parse.js +0 -123
  448. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  449. package/dist/arena/iterate/phases/argue.js +0 -165
  450. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  451. package/dist/arena/iterate/phases/revise.js +0 -62
  452. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  453. package/dist/arena/iterate/phases/tournament.js +0 -113
  454. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  455. package/dist/arena/iterate/tools/web-tools.js +0 -54
  456. package/dist/arena/iterate/types.d.ts +0 -152
  457. package/dist/arena/iterate/types.js +0 -8
  458. package/dist/arena/ledger.d.ts +0 -47
  459. package/dist/arena/ledger.js +0 -159
  460. package/dist/arena/lenses/architecture.d.ts +0 -5
  461. package/dist/arena/lenses/architecture.js +0 -22
  462. package/dist/arena/lenses/engineering.d.ts +0 -5
  463. package/dist/arena/lenses/engineering.js +0 -22
  464. package/dist/arena/lenses/general.d.ts +0 -5
  465. package/dist/arena/lenses/general.js +0 -20
  466. package/dist/arena/lenses/index.d.ts +0 -16
  467. package/dist/arena/lenses/index.js +0 -47
  468. package/dist/arena/lenses/product.d.ts +0 -5
  469. package/dist/arena/lenses/product.js +0 -22
  470. package/dist/arena/model-presets.d.ts +0 -23
  471. package/dist/arena/model-presets.js +0 -44
  472. package/dist/arena/phases/adjudication.d.ts +0 -24
  473. package/dist/arena/phases/adjudication.js +0 -141
  474. package/dist/arena/phases/build-consensus.d.ts +0 -29
  475. package/dist/arena/phases/build-consensus.js +0 -83
  476. package/dist/arena/phases/claim-registry.d.ts +0 -26
  477. package/dist/arena/phases/claim-registry.js +0 -60
  478. package/dist/arena/phases/cross-review.d.ts +0 -45
  479. package/dist/arena/phases/cross-review.js +0 -218
  480. package/dist/arena/phases/debate-rounds.d.ts +0 -27
  481. package/dist/arena/phases/debate-rounds.js +0 -159
  482. package/dist/arena/phases/participant-research.d.ts +0 -38
  483. package/dist/arena/phases/participant-research.js +0 -314
  484. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -38
  485. package/dist/arena/phases/planning-detail-expansion.js +0 -119
  486. package/dist/arena/planner.d.ts +0 -27
  487. package/dist/arena/planner.js +0 -311
  488. package/dist/arena/providers/docs.d.ts +0 -7
  489. package/dist/arena/providers/docs.js +0 -111
  490. package/dist/arena/providers/git.d.ts +0 -8
  491. package/dist/arena/providers/git.js +0 -174
  492. package/dist/arena/providers/index.d.ts +0 -32
  493. package/dist/arena/providers/index.js +0 -132
  494. package/dist/arena/providers/none.d.ts +0 -7
  495. package/dist/arena/providers/none.js +0 -11
  496. package/dist/arena/providers/repo.d.ts +0 -7
  497. package/dist/arena/providers/repo.js +0 -258
  498. package/dist/arena/render/session.d.ts +0 -17
  499. package/dist/arena/render/session.js +0 -190
  500. package/dist/arena/render/terminal.d.ts +0 -34
  501. package/dist/arena/render/terminal.js +0 -286
  502. package/dist/arena/strategies/discussion.d.ts +0 -25
  503. package/dist/arena/strategies/discussion.js +0 -143
  504. package/dist/arena/strategies/index.d.ts +0 -15
  505. package/dist/arena/strategies/index.js +0 -28
  506. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  507. package/dist/arena/strategies/language-wrapper.js +0 -102
  508. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  509. package/dist/arena/strategies/lens-wrapper.js +0 -236
  510. package/dist/arena/strategies/planning.d.ts +0 -30
  511. package/dist/arena/strategies/planning.js +0 -225
  512. package/dist/arena/strategies/review.d.ts +0 -26
  513. package/dist/arena/strategies/review.js +0 -168
  514. package/dist/arena/strategies/utils.d.ts +0 -36
  515. package/dist/arena/strategies/utils.js +0 -603
  516. package/dist/arena/tools/selector.d.ts +0 -17
  517. package/dist/arena/tools/selector.js +0 -61
  518. package/dist/arena/transitions.d.ts +0 -53
  519. package/dist/arena/transitions.js +0 -97
  520. package/dist/arena/types.d.ts +0 -514
  521. package/dist/arena/types.js +0 -27
  522. package/dist/cc-orchestrator/agent-adapter.d.ts +0 -54
  523. package/dist/cc-orchestrator/agent-adapter.js +0 -143
  524. package/dist/cc-orchestrator/cc-capability.d.ts +0 -19
  525. package/dist/cc-orchestrator/cc-capability.js +0 -53
  526. package/dist/cc-orchestrator/codex-session-discovery.d.ts +0 -24
  527. package/dist/cc-orchestrator/codex-session-discovery.js +0 -191
  528. package/dist/cc-orchestrator/codex-session-history.d.ts +0 -38
  529. package/dist/cc-orchestrator/codex-session-history.js +0 -247
  530. package/dist/cc-orchestrator/external-agent-bindings.d.ts +0 -27
  531. package/dist/cc-orchestrator/external-agent-bindings.js +0 -150
  532. package/dist/cc-orchestrator/external-agent-changes.d.ts +0 -19
  533. package/dist/cc-orchestrator/external-agent-changes.js +0 -231
  534. package/dist/cc-orchestrator/external-agent-driver.d.ts +0 -19
  535. package/dist/cc-orchestrator/external-agent-driver.js +0 -284
  536. package/dist/cc-orchestrator/external-agent-session-store.d.ts +0 -23
  537. package/dist/cc-orchestrator/external-agent-session-store.js +0 -146
  538. package/dist/cc-orchestrator/index.d.ts +0 -8
  539. package/dist/cc-orchestrator/index.js +0 -8
  540. package/dist/cc-orchestrator/relevance-judge.d.ts +0 -15
  541. package/dist/cc-orchestrator/relevance-judge.js +0 -29
  542. package/dist/cc-orchestrator/session-discovery.d.ts +0 -46
  543. package/dist/cc-orchestrator/session-discovery.js +0 -125
  544. package/dist/cc-orchestrator/session-history.d.ts +0 -54
  545. package/dist/cc-orchestrator/session-history.js +0 -150
  546. package/dist/cron/cron-runtime.d.ts +0 -2
  547. package/dist/cron/cron-runtime.js +0 -2
  548. package/dist/cron/cron-store.d.ts +0 -2
  549. package/dist/cron/cron-store.js +0 -2
  550. package/dist/cron/scheduler.d.ts +0 -7
  551. package/dist/cron/scheduler.js +0 -7
  552. package/dist/engine/goal.js +0 -206
  553. package/dist/external-agents/config.d.ts +0 -2
  554. package/dist/external-agents/config.js +0 -15
  555. package/dist/external-agents/types.d.ts +0 -31
  556. package/dist/git/parse-log.d.ts +0 -13
  557. package/dist/git/parse-log.js +0 -21
  558. package/dist/git/utils.d.ts +0 -49
  559. package/dist/git/utils.js +0 -161
  560. package/dist/git/worktree/crud.d.ts +0 -69
  561. package/dist/git/worktree/crud.js +0 -206
  562. package/dist/git/worktree/diff.d.ts +0 -14
  563. package/dist/git/worktree/diff.js +0 -82
  564. package/dist/git/worktree/git-exec.d.ts +0 -7
  565. package/dist/git/worktree/git-exec.js +0 -51
  566. package/dist/git/worktree/index.d.ts +0 -5
  567. package/dist/git/worktree/index.js +0 -5
  568. package/dist/git/worktree/query.d.ts +0 -42
  569. package/dist/git/worktree/query.js +0 -121
  570. package/dist/git/worktree/slug.d.ts +0 -11
  571. package/dist/git/worktree/slug.js +0 -58
  572. package/dist/git/worktree.d.ts +0 -1
  573. package/dist/git/worktree.js +0 -5
  574. package/dist/lsp/client.d.ts +0 -41
  575. package/dist/lsp/client.js +0 -186
  576. package/dist/lsp/manager.d.ts +0 -40
  577. package/dist/lsp/manager.js +0 -155
  578. package/dist/lsp/root-path.d.ts +0 -9
  579. package/dist/lsp/root-path.js +0 -12
  580. package/dist/lsp/servers.d.ts +0 -16
  581. package/dist/lsp/servers.js +0 -60
  582. package/dist/prompt/sections/coding.md +0 -35
  583. package/dist/quota/credentials.d.ts +0 -3
  584. package/dist/quota/credentials.js +0 -80
  585. package/dist/quota/index.d.ts +0 -36
  586. package/dist/quota/index.js +0 -155
  587. package/dist/quota/types.d.ts +0 -48
  588. package/dist/quota/types.js +0 -13
  589. package/dist/review/review-prompt.d.ts +0 -28
  590. package/dist/review/review-prompt.js +0 -81
  591. package/dist/state.d.ts +0 -160
  592. package/dist/state.js +0 -267
  593. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  594. package/dist/tool-system/builtin/apply-patch/applier.js +0 -308
  595. package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +0 -10
  596. package/dist/tool-system/builtin/apply-patch/backup-targets.js +0 -30
  597. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -20
  598. package/dist/tool-system/builtin/apply-patch/index.js +0 -105
  599. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  600. package/dist/tool-system/builtin/apply-patch/parser.js +0 -212
  601. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  602. package/dist/tool-system/builtin/apply-patch/seek-sequence.js +0 -123
  603. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  604. package/dist/tool-system/builtin/apply-patch/types.js +0 -13
  605. package/dist/tool-system/builtin/arena.d.ts +0 -31
  606. package/dist/tool-system/builtin/arena.js +0 -415
  607. package/dist/tool-system/builtin/brief.d.ts +0 -6
  608. package/dist/tool-system/builtin/brief.js +0 -41
  609. package/dist/tool-system/builtin/check-quota.d.ts +0 -15
  610. package/dist/tool-system/builtin/check-quota.js +0 -34
  611. package/dist/tool-system/builtin/drive-claude-code.d.ts +0 -51
  612. package/dist/tool-system/builtin/drive-claude-code.js +0 -698
  613. package/dist/tool-system/builtin/lsp.d.ts +0 -7
  614. package/dist/tool-system/builtin/lsp.js +0 -144
  615. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -7
  616. package/dist/tool-system/builtin/notebook-edit.js +0 -127
  617. package/dist/tool-system/builtin/worktree.d.ts +0 -11
  618. package/dist/tool-system/builtin/worktree.js +0 -345
  619. /package/dist/{external-agents → links}/types.js +0 -0
  620. /package/dist/{engine/session-usage.d.ts → session/usage.d.ts} +0 -0
  621. /package/dist/{engine/session-usage.js → session/usage.js} +0 -0
@@ -1,53 +0,0 @@
1
- /**
2
- * Claim state machine — centralized transition rules.
3
- *
4
- * All claim status changes go through this module to enforce
5
- * consistent state transitions across phases.
6
- *
7
- * State machine:
8
- * proposed → under_review | unresolved
9
- * under_review → verified | contested | rejected | unresolved
10
- * contested → under_review | unresolved | verified | rejected
11
- *
12
- * `unresolved` is reachable from proposed/under_review (not just contested):
13
- * adjudication sweeps any claims left in those states when the round/budget
14
- * is exhausted (adjudication.ts) — without these edges markUnresolved() would
15
- * silently no-op and the claims would be dropped from the consensus summary.
16
- */
17
- import type { ClaimRecord, ClaimStatus, ClaimChallenge } from "./types.js";
18
- /**
19
- * Attempt to transition a claim to a new status.
20
- * Returns true if the transition was applied, false if invalid.
21
- */
22
- export declare function transitionClaim(claim: ClaimRecord, to: ClaimStatus): boolean;
23
- /**
24
- * Determine the next status for a claim based on its challenges.
25
- *
26
- * Rules:
27
- * - No challenges → stays as-is (unreviewed is NOT verified)
28
- * - Any "disagree" → contested
29
- * - Any "needs_evidence" → contested
30
- * - Pending checks exist → contested
31
- * - At least one explicit "agree" and all others "agree"/"refine" → verified
32
- */
33
- export declare function resolveClaimStatus(claim: ClaimRecord, challenges: ClaimChallenge[], hasPendingChecks: boolean): ClaimStatus;
34
- /**
35
- * Mark a claim as entering review.
36
- */
37
- export declare function markUnderReview(claim: ClaimRecord): boolean;
38
- /**
39
- * Apply review results to a claim and transition appropriately.
40
- */
41
- export declare function applyReviewResult(claim: ClaimRecord, challenges: ClaimChallenge[], hasPendingChecks: boolean): void;
42
- /**
43
- * Mark a contested claim as unresolved (budget/round exhausted).
44
- */
45
- export declare function markUnresolved(claim: ClaimRecord): boolean;
46
- /**
47
- * Check if a claim is in a terminal state (no further transitions possible).
48
- */
49
- export declare function isTerminal(claim: ClaimRecord): boolean;
50
- /**
51
- * Get valid next statuses for a claim.
52
- */
53
- export declare function validTransitions(claim: ClaimRecord): ClaimStatus[];
@@ -1,97 +0,0 @@
1
- /**
2
- * Claim state machine — centralized transition rules.
3
- *
4
- * All claim status changes go through this module to enforce
5
- * consistent state transitions across phases.
6
- *
7
- * State machine:
8
- * proposed → under_review | unresolved
9
- * under_review → verified | contested | rejected | unresolved
10
- * contested → under_review | unresolved | verified | rejected
11
- *
12
- * `unresolved` is reachable from proposed/under_review (not just contested):
13
- * adjudication sweeps any claims left in those states when the round/budget
14
- * is exhausted (adjudication.ts) — without these edges markUnresolved() would
15
- * silently no-op and the claims would be dropped from the consensus summary.
16
- */
17
- /** Valid transitions from each status */
18
- const VALID_TRANSITIONS = {
19
- proposed: ["under_review", "unresolved"],
20
- under_review: ["verified", "contested", "rejected", "unresolved"],
21
- contested: ["under_review", "unresolved", "verified", "rejected"],
22
- verified: [],
23
- rejected: [],
24
- unresolved: [],
25
- };
26
- /**
27
- * Attempt to transition a claim to a new status.
28
- * Returns true if the transition was applied, false if invalid.
29
- */
30
- export function transitionClaim(claim, to) {
31
- const allowed = VALID_TRANSITIONS[claim.status];
32
- if (!allowed.includes(to)) {
33
- return false;
34
- }
35
- claim.status = to;
36
- return true;
37
- }
38
- /**
39
- * Determine the next status for a claim based on its challenges.
40
- *
41
- * Rules:
42
- * - No challenges → stays as-is (unreviewed is NOT verified)
43
- * - Any "disagree" → contested
44
- * - Any "needs_evidence" → contested
45
- * - Pending checks exist → contested
46
- * - At least one explicit "agree" and all others "agree"/"refine" → verified
47
- */
48
- export function resolveClaimStatus(claim, challenges, hasPendingChecks) {
49
- // No challenges = no review happened — do not auto-verify
50
- if (challenges.length === 0)
51
- return claim.status;
52
- const verdicts = challenges.map((c) => c.verdict);
53
- if (verdicts.includes("disagree") || verdicts.includes("needs_evidence")) {
54
- return "contested";
55
- }
56
- if (hasPendingChecks) {
57
- return "contested";
58
- }
59
- // Require at least one explicit "agree" to mark as verified
60
- // (not just all "refine" with no agreement)
61
- if (verdicts.includes("agree")) {
62
- return "verified";
63
- }
64
- // All "refine" without any "agree" — keep under review, not yet verified
65
- return claim.status;
66
- }
67
- /**
68
- * Mark a claim as entering review.
69
- */
70
- export function markUnderReview(claim) {
71
- return transitionClaim(claim, "under_review");
72
- }
73
- /**
74
- * Apply review results to a claim and transition appropriately.
75
- */
76
- export function applyReviewResult(claim, challenges, hasPendingChecks) {
77
- const nextStatus = resolveClaimStatus(claim, challenges, hasPendingChecks);
78
- transitionClaim(claim, nextStatus);
79
- }
80
- /**
81
- * Mark a contested claim as unresolved (budget/round exhausted).
82
- */
83
- export function markUnresolved(claim) {
84
- return transitionClaim(claim, "unresolved");
85
- }
86
- /**
87
- * Check if a claim is in a terminal state (no further transitions possible).
88
- */
89
- export function isTerminal(claim) {
90
- return VALID_TRANSITIONS[claim.status].length === 0;
91
- }
92
- /**
93
- * Get valid next statuses for a claim.
94
- */
95
- export function validTransitions(claim) {
96
- return VALID_TRANSITIONS[claim.status];
97
- }
@@ -1,514 +0,0 @@
1
- /**
2
- * Arena types — multi-model review, discussion, and planning.
3
- *
4
- * V2 architecture: shared facts → independent research → findings → cross-review → consensus.
5
- */
6
- import type { ClientDefaults, LLMConfig } from "../types.js";
7
- /** Arena operating mode — determines prompts, output format, and default rounds */
8
- export type ArenaMode = "review" | "discussion" | "planning";
9
- /** Analysis lens — the perspective from which participants analyze */
10
- export type ArenaLensName = "engineering" | "product" | "architecture" | "general";
11
- /** Lens reference with optional weight for multi-lens scenarios */
12
- export interface ArenaLensRef {
13
- name: ArenaLensName;
14
- weight?: number;
15
- }
16
- /** A lens defines roles, criteria, and emphasis for a given perspective */
17
- export interface ArenaLens {
18
- name: ArenaLensName;
19
- label: string;
20
- participantRole: string;
21
- reviewerRole: string;
22
- moderatorRole: string;
23
- summaryLabel: string;
24
- criteria: string[];
25
- preferredFindingKinds: FindingKind[];
26
- }
27
- /** Evidence source kind — where to collect facts */
28
- export type ArenaSourceKind = "git" | "repo" | "docs" | "web" | "none";
29
- /** Source specification with optional targets and tool pack */
30
- export interface ArenaSourceSpec {
31
- kind: ArenaSourceKind;
32
- targets?: string[];
33
- toolPack?: string;
34
- }
35
- /** Subject of the arena session */
36
- export interface ArenaSubject {
37
- kind: "changes" | "files" | "docs" | "topic" | "mixed";
38
- label: string;
39
- targets?: string[];
40
- }
41
- /** Output shape hints for rendering */
42
- export interface ArenaOutputShape {
43
- overviewLabel: string;
44
- emphasize: Array<"strength" | "improvement" | "risk" | "question">;
45
- }
46
- /** The full plan produced by the Planner — drives the entire pipeline */
47
- export interface ArenaPlan {
48
- mode: ArenaMode;
49
- lenses: ArenaLensRef[];
50
- sources: ArenaSourceSpec[];
51
- subject: ArenaSubject;
52
- outputShape: ArenaOutputShape;
53
- confidence: "high" | "medium" | "low";
54
- followUpQuestion?: string;
55
- }
56
- /** Unified artifact — all providers output this, replacing codeFacts/gitFacts split */
57
- export interface ArenaArtifact {
58
- id: string;
59
- kind: "diff" | "file" | "tree" | "grep" | "doc" | "web";
60
- source: ArenaSourceKind;
61
- title: string;
62
- ref?: string;
63
- preview: string;
64
- metadata?: Record<string, unknown>;
65
- }
66
- /** Tool pack — a named set of tools available during research */
67
- export interface ArenaToolPack {
68
- name: string;
69
- toolNames: string[];
70
- }
71
- /** Context provider interface — collects evidence from a source */
72
- export interface ArenaContextProvider {
73
- kind: ArenaSourceKind;
74
- collect(plan: ArenaPlan, topic: string): ArenaArtifact[] | Promise<ArenaArtifact[]>;
75
- }
76
- /** Quick fact — high-signal summary entry */
77
- export interface ArenaQuickFact {
78
- label: string;
79
- value: string;
80
- }
81
- /** Default max discussion rounds per mode */
82
- export declare const ARENA_MODE_DEFAULTS: Record<ArenaMode, {
83
- maxDiscussionRounds: number;
84
- convergenceThreshold: number;
85
- }>;
86
- /** A participant in the arena (a model instance) */
87
- export interface ArenaParticipant {
88
- /** Display name, e.g. "Claude Sonnet", "GPT-4o" */
89
- name: string;
90
- /** LLM config for this participant (pure model identity) */
91
- llm: LLMConfig;
92
- /**
93
- * Cross-model client knobs (temperature/timeout/etc.). Arena hardcodes
94
- * temperature here so debate participants speak with consistent sampling
95
- * regardless of the user's session preference.
96
- */
97
- clientDefaults?: ClientDefaults;
98
- }
99
- export interface ArenaBaseContext {
100
- /** Evidence-driven plan that drives the session */
101
- plan: ArenaPlan;
102
- /** Unified artifacts from all providers */
103
- artifacts: ArenaArtifact[];
104
- /** High-signal summary facts */
105
- quickFacts: ArenaQuickFact[];
106
- }
107
- export type FindingKind = "strength" | "improvement" | "risk" | "question";
108
- export interface ArenaFinding {
109
- id: string;
110
- kind: FindingKind;
111
- title: string;
112
- summary: string;
113
- severity?: "high" | "medium" | "low";
114
- confidence: number;
115
- evidence: Array<{
116
- type: "file" | "diff" | "grep" | "git" | "doc";
117
- ref: string;
118
- note: string;
119
- }>;
120
- affectedFiles: string[];
121
- suggestedChange?: string;
122
- }
123
- export interface ParticipantContextRequest {
124
- participant: string;
125
- requests: Array<{
126
- tool: string;
127
- reason: string;
128
- args: Record<string, unknown>;
129
- }>;
130
- }
131
- export interface ParticipantReport {
132
- participant: string;
133
- contextSummary: string;
134
- findings: ArenaFinding[];
135
- }
136
- /** Record of a single tool invocation during research or review */
137
- export interface ToolTrace {
138
- round: number;
139
- toolName: string;
140
- args: Record<string, unknown>;
141
- resultRef?: string;
142
- keptAsEvidence?: boolean;
143
- }
144
- /** A discrete packet of evidence collected during research or review */
145
- export interface EvidencePacket {
146
- packetId: string;
147
- participant: string;
148
- source: ArenaSourceKind;
149
- title: string;
150
- refs: string[];
151
- summary: string;
152
- excerpts: Array<{
153
- ref: string;
154
- snippet: string;
155
- note: string;
156
- }>;
157
- }
158
- /** Explicit link between a finding and its supporting evidence packets */
159
- export interface FindingEvidenceLink {
160
- findingId: string;
161
- evidencePacketIds: string[];
162
- }
163
- /** Full research output — preserves evidence trail alongside findings */
164
- export interface ResearchDossier {
165
- participant: string;
166
- contextSummary: string;
167
- findings: ArenaFinding[];
168
- toolTrace: ToolTrace[];
169
- evidencePackets: EvidencePacket[];
170
- findingEvidenceLinks: FindingEvidenceLink[];
171
- }
172
- export type PeerVerdict = "agree" | "refine" | "disagree" | "needs_evidence";
173
- export type ClaimStatus = "proposed" | "under_review" | "contested" | "verified" | "rejected" | "unresolved";
174
- export interface RequestedCheck {
175
- requestId: string;
176
- claimId: string;
177
- requester: string;
178
- description: string;
179
- refs?: string[];
180
- priority?: "high" | "medium" | "low";
181
- }
182
- export interface ClaimChallenge {
183
- reviewer: string;
184
- claimId: string;
185
- verdict: PeerVerdict;
186
- reason: string;
187
- supportingEvidenceRefs?: string[];
188
- requestedChecks?: RequestedCheck[];
189
- }
190
- export interface DebateTurn {
191
- participant: string;
192
- stance: "support" | "oppose" | "narrow" | "uncertain";
193
- summary: string;
194
- newEvidenceRefs?: string[];
195
- }
196
- export interface DebateRound {
197
- round: number;
198
- claimId: string;
199
- participants: DebateTurn[];
200
- resolved: boolean;
201
- resolutionNote?: string;
202
- }
203
- export interface ClaimAdjudication {
204
- claimId: string;
205
- outcome: "accepted" | "accepted_with_revision" | "rejected" | "unresolved";
206
- rationale: string;
207
- finalSummary: string;
208
- supportingEvidenceRefs: string[];
209
- }
210
- /** The minimum unit of debate — a finding elevated to a trackable claim */
211
- export interface ClaimRecord {
212
- claimId: string;
213
- owner: string;
214
- finding: ArenaFinding;
215
- evidenceRefs: string[];
216
- evidencePacketIds: string[];
217
- status: ClaimStatus;
218
- challenges: ClaimChallenge[];
219
- debateRounds: DebateRound[];
220
- adjudication?: ClaimAdjudication;
221
- }
222
- /** Append-only shared state across all rounds of research, review, debate */
223
- export interface SharedResearchLedger {
224
- dossiers: ResearchDossier[];
225
- evidencePackets: EvidencePacket[];
226
- toolTraces: ToolTrace[];
227
- claims: ClaimRecord[];
228
- challenges: ClaimChallenge[];
229
- requestedChecks: RequestedCheck[];
230
- adjudications: ClaimAdjudication[];
231
- }
232
- /** Per-round digest — a filtered view of the ledger for prompt injection */
233
- export interface RoundResearchDigest {
234
- round: number;
235
- relevantClaimIds: string[];
236
- evidencePackets: EvidencePacket[];
237
- toolTraceSummary: Array<{
238
- participant: string;
239
- toolName: string;
240
- ref?: string;
241
- }>;
242
- recentChallenges: ClaimChallenge[];
243
- requestedChecks: RequestedCheck[];
244
- priorAdjudications: ClaimAdjudication[];
245
- }
246
- /** Task for executing a targeted re-research check */
247
- export interface TargetedCheckTask {
248
- request: RequestedCheck;
249
- assignee: string;
250
- status: "pending" | "running" | "done" | "skipped";
251
- producedPacketIds: string[];
252
- }
253
- /** Global caps to prevent cost explosion in review/debate phases */
254
- export interface ArenaExecutionLimits {
255
- maxClaimsForReview: number;
256
- maxContestedClaimsForDebate: number;
257
- maxRequestedChecksPerClaimPerRound: number;
258
- maxReviewersPerClaim: number;
259
- /** Max roadmap phases in planning mode */
260
- maxRoadmapPhases: number;
261
- /** Max phases to expand with detail in planning mode */
262
- maxExpandedPhasesPerRun: number;
263
- }
264
- export declare const DEFAULT_EXECUTION_LIMITS: ArenaExecutionLimits;
265
- export interface FindingReview {
266
- reviewer: string;
267
- findingId: string;
268
- verdict: PeerVerdict;
269
- reason: string;
270
- extraEvidence?: string[];
271
- }
272
- export interface ArenaConsensusItem {
273
- title: string;
274
- summary: string;
275
- support: string[];
276
- challenge: string[];
277
- confidence: number;
278
- evidenceRefs: string[];
279
- }
280
- export interface ArenaRoadmapPhase {
281
- title: string;
282
- priority: "high" | "medium" | "low";
283
- goal: string;
284
- scope: string[];
285
- deliverables: string[];
286
- dependencies: string[];
287
- risks: string[];
288
- successCriteria: string[];
289
- relatedFindings: string[];
290
- }
291
- /** Repo-level implementation detail for a roadmap phase (planning mode) */
292
- export interface ArenaRoadmapPhaseDetail {
293
- phaseTitle: string;
294
- objective: string;
295
- targetFiles: string[];
296
- codeChanges: string[];
297
- interfaces: string[];
298
- migrationSteps: string[];
299
- validation: string[];
300
- effort: "small" | "medium" | "large";
301
- blockers: string[];
302
- evidenceRefs: string[];
303
- }
304
- export interface ArenaConsensus {
305
- /** Overall assessment */
306
- summary: string;
307
- /** Subject summary — rendered as "What Changed" / "Current Scope" / "Problem Framing" per mode */
308
- subjectSummary?: string;
309
- strengths: ArenaConsensusItem[];
310
- improvements: ArenaConsensusItem[];
311
- risks: ArenaConsensusItem[];
312
- openQuestions: ArenaConsensusItem[];
313
- roadmap: ArenaRoadmapPhase[];
314
- /** Repo-level implementation details per roadmap phase (planning mode) */
315
- roadmapDetails?: ArenaRoadmapPhaseDetail[];
316
- nextActions: Array<{
317
- title: string;
318
- priority: "high" | "medium" | "low";
319
- rationale: string;
320
- relatedFindings: string[];
321
- }>;
322
- }
323
- export interface ArenaResultV2 {
324
- topic: string;
325
- mode: ArenaMode;
326
- participants: string[];
327
- plan: ArenaPlan;
328
- baseContext: ArenaBaseContext;
329
- reports: ParticipantReport[];
330
- /** Research dossiers with evidence trails (Phase 3+) */
331
- dossiers?: ResearchDossier[];
332
- /** Registered claims derived from findings (Phase 3+) */
333
- claims?: ClaimRecord[];
334
- reviews: FindingReview[];
335
- /** Debate rounds for contested claims (Phase 3+) */
336
- debateRounds?: DebateRound[];
337
- /** Claim adjudications (Phase 3+) */
338
- adjudications?: ClaimAdjudication[];
339
- consensus: ArenaConsensus;
340
- }
341
- /**
342
- * ArenaStrategy — encapsulates mode-specific behavior for prompts and parsing.
343
- *
344
- * V2 strategies produce structured findings instead of free-text opinions.
345
- */
346
- export interface ArenaStrategy {
347
- /** Build the system prompt for participant research phase */
348
- researchSystemPrompt(participantName: string): string;
349
- /** Build the user prompt for participant research, given base context */
350
- researchUserPrompt(topic: string, baseContext: ArenaBaseContext): string;
351
- /** Parse participant research response into structured report */
352
- parseResearchResponse(participant: string, text: string): ParticipantReport;
353
- /** Build the system prompt for cross-review phase */
354
- crossReviewSystemPrompt(reviewerName: string): string;
355
- /** Build the user prompt for cross-reviewing other participants' findings */
356
- crossReviewUserPrompt(topic: string, myReport: ParticipantReport, otherReports: ParticipantReport[]): string;
357
- /** Parse cross-review response into finding reviews */
358
- parseCrossReviewResponse(reviewer: string, text: string): FindingReview[];
359
- /** Build the system prompt for consensus building */
360
- consensusSystemPrompt(): string;
361
- /** Build the user prompt for consensus building */
362
- consensusUserPrompt(topic: string, reports: ParticipantReport[], reviews: FindingReview[]): string;
363
- /** Parse consensus response */
364
- parseConsensusResponse(text: string): ArenaConsensus;
365
- /** Finding kinds this mode emphasizes */
366
- preferredFindingKinds(): FindingKind[];
367
- }
368
- /**
369
- * ArenaStrategyV2 — extends ArenaStrategy with claim-aware prompt methods.
370
- *
371
- * Strategies implementing V2 participate in the full evidence-driven loop:
372
- * verification review, debate, adjudication, and claim-aware consensus.
373
- *
374
- * Strategies that only implement ArenaStrategy continue to work via
375
- * automatic fallback paths in each phase.
376
- */
377
- export interface ArenaStrategyV2 extends ArenaStrategy {
378
- /** Build verification-review user prompt with claim data and digest */
379
- verificationReviewUserPrompt(topic: string, myReport: ParticipantReport, claimsToReview: ClaimRecord[], digest: RoundResearchDigest): string;
380
- /** Parse verification review into ClaimChallenge records */
381
- parseVerificationReviewResponse(reviewer: string, text: string): ClaimChallenge[];
382
- /** Build debate turn prompt for a participant on a specific claim */
383
- debateTurnUserPrompt(topic: string, claim: ClaimRecord, priorTurns: DebateTurn[], digest: RoundResearchDigest): string;
384
- /** Parse a debate turn response */
385
- parseDebateTurnResponse(participant: string, text: string): DebateTurn;
386
- /** Build adjudication prompt for the moderator */
387
- adjudicationUserPrompt(topic: string, claim: ClaimRecord, debateRounds: DebateRound[], digest: RoundResearchDigest): string;
388
- /** Parse adjudication response */
389
- parseAdjudicationResponse(text: string): ClaimAdjudication;
390
- /** Build claim-aware consensus prompt */
391
- claimAwareConsensusUserPrompt(topic: string, reports: ParticipantReport[], reviews: FindingReview[], claimSummary: ClaimStatusSummary): string;
392
- }
393
- /**
394
- * ArenaStrategyPlanning — extends ArenaStrategyV2 with planning-specific methods.
395
- *
396
- * Strategies implementing this participate in the planning-specific flow:
397
- * merge-oriented review and detail expansion.
398
- */
399
- export interface ArenaStrategyPlanning extends ArenaStrategyV2 {
400
- /** Build merge-oriented review prompt for planning mode */
401
- mergeReviewUserPrompt(topic: string, myReport: ParticipantReport, claimsToReview: ClaimRecord[], digest: RoundResearchDigest): string;
402
- /** Parse merge-review response into challenges with planning semantics */
403
- parseMergeReviewResponse(reviewer: string, text: string): ClaimChallenge[];
404
- /** Build detail expansion system prompt */
405
- detailExpansionSystemPrompt(): string;
406
- /** Build detail expansion user prompt for a single roadmap phase */
407
- detailExpansionUserPrompt(topic: string, phase: ArenaRoadmapPhase, digest: RoundResearchDigest): string;
408
- /** Parse detail expansion response */
409
- parseDetailExpansionResponse(text: string): ArenaRoadmapPhaseDetail;
410
- }
411
- /** Type guard: does a strategy implement ArenaStrategyPlanning? */
412
- export declare function isStrategyPlanning(s: ArenaStrategy): s is ArenaStrategyPlanning;
413
- /** Grouped claims by terminal status — used in claim-aware consensus */
414
- export interface ClaimStatusSummary {
415
- verified: ClaimRecord[];
416
- contested: ClaimRecord[];
417
- unresolved: ClaimRecord[];
418
- rejected: ClaimRecord[];
419
- }
420
- /** Type guard: does a strategy implement ArenaStrategyV2? */
421
- export declare function isStrategyV2(s: ArenaStrategy): s is ArenaStrategyV2;
422
- /** Arena configuration */
423
- export interface ArenaConfig {
424
- /** Participants (models) in the arena */
425
- participants: ArenaParticipant[];
426
- /** Arena mode (default: "review") */
427
- mode?: ArenaMode;
428
- /** Maximum discussion rounds after initial opinions (overrides mode default if set) */
429
- maxDiscussionRounds?: number;
430
- /** Which participant generates the final conclusion (default: first) */
431
- concluder?: string;
432
- /** Optional custom strategy — overrides mode-based strategy selection */
433
- strategy?: ArenaStrategy;
434
- /**
435
- * Enable read-only context tools (read_file, grep_code, list_files) during
436
- * participant research. Participants can request additional source context.
437
- */
438
- enableContextTools?: boolean;
439
- /** Execution limits for review/debate/adjudication phases */
440
- executionLimits?: ArenaExecutionLimits;
441
- /** Callback for streaming arena progress */
442
- onProgress?: (event: ArenaProgressEvent) => void;
443
- /** AbortSignal for cancelling a running arena session */
444
- signal?: AbortSignal;
445
- }
446
- export type ArenaProgressEvent = {
447
- type: "plan_resolved";
448
- plan: ArenaPlan;
449
- } | {
450
- type: "evidence_started";
451
- source: ArenaSourceKind;
452
- } | {
453
- type: "evidence_source_done";
454
- source: ArenaSourceKind;
455
- count: number;
456
- durationMs: number;
457
- timedOut: boolean;
458
- } | {
459
- type: "evidence_collected";
460
- artifacts: ArenaArtifact[];
461
- } | {
462
- type: "research_start";
463
- participant: string;
464
- } | {
465
- type: "research_done";
466
- participant: string;
467
- report: ParticipantReport;
468
- } | {
469
- type: "context_lookup";
470
- participant: string;
471
- tools: string[];
472
- } | {
473
- type: "claims_registered";
474
- claimCount: number;
475
- } | {
476
- type: "cross_review_start";
477
- round: number;
478
- } | {
479
- type: "cross_review_done";
480
- reviews: FindingReview[];
481
- } | {
482
- type: "verification_start";
483
- } | {
484
- type: "verification_done";
485
- challengeCount: number;
486
- } | {
487
- type: "debate_round_start";
488
- round: number;
489
- claims: string[];
490
- } | {
491
- type: "debate_round_done";
492
- round: number;
493
- resolved: number;
494
- } | {
495
- type: "adjudication_done";
496
- accepted: number;
497
- unresolved: number;
498
- } | {
499
- type: "planning_merge_review_start";
500
- } | {
501
- type: "planning_merge_review_done";
502
- mergeCount: number;
503
- } | {
504
- type: "roadmap_expansion_start";
505
- phaseCount: number;
506
- } | {
507
- type: "roadmap_expansion_done";
508
- detailCount: number;
509
- } | {
510
- type: "consensus_start";
511
- } | {
512
- type: "consensus_done";
513
- consensus: ArenaConsensus;
514
- };
@@ -1,27 +0,0 @@
1
- /**
2
- * Arena types — multi-model review, discussion, and planning.
3
- *
4
- * V2 architecture: shared facts → independent research → findings → cross-review → consensus.
5
- */
6
- /** Default max discussion rounds per mode */
7
- export const ARENA_MODE_DEFAULTS = {
8
- review: { maxDiscussionRounds: 3, convergenceThreshold: 200 },
9
- discussion: { maxDiscussionRounds: 4, convergenceThreshold: 300 },
10
- planning: { maxDiscussionRounds: 5, convergenceThreshold: 400 },
11
- };
12
- export const DEFAULT_EXECUTION_LIMITS = {
13
- maxClaimsForReview: 12,
14
- maxContestedClaimsForDebate: 5,
15
- maxRequestedChecksPerClaimPerRound: 2,
16
- maxReviewersPerClaim: 2,
17
- maxRoadmapPhases: 6,
18
- maxExpandedPhasesPerRun: 6,
19
- };
20
- /** Type guard: does a strategy implement ArenaStrategyPlanning? */
21
- export function isStrategyPlanning(s) {
22
- return typeof s.detailExpansionUserPrompt === "function";
23
- }
24
- /** Type guard: does a strategy implement ArenaStrategyV2? */
25
- export function isStrategyV2(s) {
26
- return typeof s.verificationReviewUserPrompt === "function";
27
- }