@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
@@ -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,518 +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, TokenUsage } from "../types.js";
7
- /** Receives usage for each completed Arena provider request. */
8
- export type ArenaUsageRecorder = (usage: TokenUsage | undefined) => void;
9
- /** Arena operating mode — determines prompts, output format, and default rounds */
10
- export type ArenaMode = "review" | "discussion" | "planning";
11
- /** Analysis lens — the perspective from which participants analyze */
12
- export type ArenaLensName = "engineering" | "product" | "architecture" | "general";
13
- /** Lens reference with optional weight for multi-lens scenarios */
14
- export interface ArenaLensRef {
15
- name: ArenaLensName;
16
- weight?: number;
17
- }
18
- /** A lens defines roles, criteria, and emphasis for a given perspective */
19
- export interface ArenaLens {
20
- name: ArenaLensName;
21
- label: string;
22
- participantRole: string;
23
- reviewerRole: string;
24
- moderatorRole: string;
25
- summaryLabel: string;
26
- criteria: string[];
27
- preferredFindingKinds: FindingKind[];
28
- }
29
- /** Evidence source kind — where to collect facts */
30
- export type ArenaSourceKind = "git" | "repo" | "docs" | "web" | "none";
31
- /** Source specification with optional targets and tool pack */
32
- export interface ArenaSourceSpec {
33
- kind: ArenaSourceKind;
34
- targets?: string[];
35
- toolPack?: string;
36
- }
37
- /** Subject of the arena session */
38
- export interface ArenaSubject {
39
- kind: "changes" | "files" | "docs" | "topic" | "mixed";
40
- label: string;
41
- targets?: string[];
42
- }
43
- /** Output shape hints for rendering */
44
- export interface ArenaOutputShape {
45
- overviewLabel: string;
46
- emphasize: Array<"strength" | "improvement" | "risk" | "question">;
47
- }
48
- /** The full plan produced by the Planner — drives the entire pipeline */
49
- export interface ArenaPlan {
50
- mode: ArenaMode;
51
- lenses: ArenaLensRef[];
52
- sources: ArenaSourceSpec[];
53
- subject: ArenaSubject;
54
- outputShape: ArenaOutputShape;
55
- confidence: "high" | "medium" | "low";
56
- followUpQuestion?: string;
57
- }
58
- /** Unified artifact — all providers output this, replacing codeFacts/gitFacts split */
59
- export interface ArenaArtifact {
60
- id: string;
61
- kind: "diff" | "file" | "tree" | "grep" | "doc" | "web";
62
- source: ArenaSourceKind;
63
- title: string;
64
- ref?: string;
65
- preview: string;
66
- metadata?: Record<string, unknown>;
67
- }
68
- /** Tool pack — a named set of tools available during research */
69
- export interface ArenaToolPack {
70
- name: string;
71
- toolNames: string[];
72
- }
73
- /** Context provider interface — collects evidence from a source */
74
- export interface ArenaContextProvider {
75
- kind: ArenaSourceKind;
76
- collect(plan: ArenaPlan, topic: string): ArenaArtifact[] | Promise<ArenaArtifact[]>;
77
- }
78
- /** Quick fact — high-signal summary entry */
79
- export interface ArenaQuickFact {
80
- label: string;
81
- value: string;
82
- }
83
- /** Default max discussion rounds per mode */
84
- export declare const ARENA_MODE_DEFAULTS: Record<ArenaMode, {
85
- maxDiscussionRounds: number;
86
- convergenceThreshold: number;
87
- }>;
88
- /** A participant in the arena (a model instance) */
89
- export interface ArenaParticipant {
90
- /** Display name, e.g. "Claude Sonnet", "GPT-4o" */
91
- name: string;
92
- /** LLM config for this participant (pure model identity) */
93
- llm: LLMConfig;
94
- /**
95
- * Cross-model client knobs (temperature/timeout/etc.). Arena hardcodes
96
- * temperature here so debate participants speak with consistent sampling
97
- * regardless of the user's session preference.
98
- */
99
- clientDefaults?: ClientDefaults;
100
- }
101
- export interface ArenaBaseContext {
102
- /** Evidence-driven plan that drives the session */
103
- plan: ArenaPlan;
104
- /** Unified artifacts from all providers */
105
- artifacts: ArenaArtifact[];
106
- /** High-signal summary facts */
107
- quickFacts: ArenaQuickFact[];
108
- }
109
- export type FindingKind = "strength" | "improvement" | "risk" | "question";
110
- export interface ArenaFinding {
111
- id: string;
112
- kind: FindingKind;
113
- title: string;
114
- summary: string;
115
- severity?: "high" | "medium" | "low";
116
- confidence: number;
117
- evidence: Array<{
118
- type: "file" | "diff" | "grep" | "git" | "doc";
119
- ref: string;
120
- note: string;
121
- }>;
122
- affectedFiles: string[];
123
- suggestedChange?: string;
124
- }
125
- export interface ParticipantContextRequest {
126
- participant: string;
127
- requests: Array<{
128
- tool: string;
129
- reason: string;
130
- args: Record<string, unknown>;
131
- }>;
132
- }
133
- export interface ParticipantReport {
134
- participant: string;
135
- contextSummary: string;
136
- findings: ArenaFinding[];
137
- }
138
- /** Record of a single tool invocation during research or review */
139
- export interface ToolTrace {
140
- round: number;
141
- toolName: string;
142
- args: Record<string, unknown>;
143
- resultRef?: string;
144
- keptAsEvidence?: boolean;
145
- }
146
- /** A discrete packet of evidence collected during research or review */
147
- export interface EvidencePacket {
148
- packetId: string;
149
- participant: string;
150
- source: ArenaSourceKind;
151
- title: string;
152
- refs: string[];
153
- summary: string;
154
- excerpts: Array<{
155
- ref: string;
156
- snippet: string;
157
- note: string;
158
- }>;
159
- }
160
- /** Explicit link between a finding and its supporting evidence packets */
161
- export interface FindingEvidenceLink {
162
- findingId: string;
163
- evidencePacketIds: string[];
164
- }
165
- /** Full research output — preserves evidence trail alongside findings */
166
- export interface ResearchDossier {
167
- participant: string;
168
- contextSummary: string;
169
- findings: ArenaFinding[];
170
- toolTrace: ToolTrace[];
171
- evidencePackets: EvidencePacket[];
172
- findingEvidenceLinks: FindingEvidenceLink[];
173
- }
174
- export type PeerVerdict = "agree" | "refine" | "disagree" | "needs_evidence";
175
- export type ClaimStatus = "proposed" | "under_review" | "contested" | "verified" | "rejected" | "unresolved";
176
- export interface RequestedCheck {
177
- requestId: string;
178
- claimId: string;
179
- requester: string;
180
- description: string;
181
- refs?: string[];
182
- priority?: "high" | "medium" | "low";
183
- }
184
- export interface ClaimChallenge {
185
- reviewer: string;
186
- claimId: string;
187
- verdict: PeerVerdict;
188
- reason: string;
189
- supportingEvidenceRefs?: string[];
190
- requestedChecks?: RequestedCheck[];
191
- }
192
- export interface DebateTurn {
193
- participant: string;
194
- stance: "support" | "oppose" | "narrow" | "uncertain";
195
- summary: string;
196
- newEvidenceRefs?: string[];
197
- }
198
- export interface DebateRound {
199
- round: number;
200
- claimId: string;
201
- participants: DebateTurn[];
202
- resolved: boolean;
203
- resolutionNote?: string;
204
- }
205
- export interface ClaimAdjudication {
206
- claimId: string;
207
- outcome: "accepted" | "accepted_with_revision" | "rejected" | "unresolved";
208
- rationale: string;
209
- finalSummary: string;
210
- supportingEvidenceRefs: string[];
211
- }
212
- /** The minimum unit of debate — a finding elevated to a trackable claim */
213
- export interface ClaimRecord {
214
- claimId: string;
215
- owner: string;
216
- finding: ArenaFinding;
217
- evidenceRefs: string[];
218
- evidencePacketIds: string[];
219
- status: ClaimStatus;
220
- challenges: ClaimChallenge[];
221
- debateRounds: DebateRound[];
222
- adjudication?: ClaimAdjudication;
223
- }
224
- /** Append-only shared state across all rounds of research, review, debate */
225
- export interface SharedResearchLedger {
226
- dossiers: ResearchDossier[];
227
- evidencePackets: EvidencePacket[];
228
- toolTraces: ToolTrace[];
229
- claims: ClaimRecord[];
230
- challenges: ClaimChallenge[];
231
- requestedChecks: RequestedCheck[];
232
- adjudications: ClaimAdjudication[];
233
- }
234
- /** Per-round digest — a filtered view of the ledger for prompt injection */
235
- export interface RoundResearchDigest {
236
- round: number;
237
- relevantClaimIds: string[];
238
- evidencePackets: EvidencePacket[];
239
- toolTraceSummary: Array<{
240
- participant: string;
241
- toolName: string;
242
- ref?: string;
243
- }>;
244
- recentChallenges: ClaimChallenge[];
245
- requestedChecks: RequestedCheck[];
246
- priorAdjudications: ClaimAdjudication[];
247
- }
248
- /** Task for executing a targeted re-research check */
249
- export interface TargetedCheckTask {
250
- request: RequestedCheck;
251
- assignee: string;
252
- status: "pending" | "running" | "done" | "skipped";
253
- producedPacketIds: string[];
254
- }
255
- /** Global caps to prevent cost explosion in review/debate phases */
256
- export interface ArenaExecutionLimits {
257
- maxClaimsForReview: number;
258
- maxContestedClaimsForDebate: number;
259
- maxRequestedChecksPerClaimPerRound: number;
260
- maxReviewersPerClaim: number;
261
- /** Max roadmap phases in planning mode */
262
- maxRoadmapPhases: number;
263
- /** Max phases to expand with detail in planning mode */
264
- maxExpandedPhasesPerRun: number;
265
- }
266
- export declare const DEFAULT_EXECUTION_LIMITS: ArenaExecutionLimits;
267
- export interface FindingReview {
268
- reviewer: string;
269
- findingId: string;
270
- verdict: PeerVerdict;
271
- reason: string;
272
- extraEvidence?: string[];
273
- }
274
- export interface ArenaConsensusItem {
275
- title: string;
276
- summary: string;
277
- support: string[];
278
- challenge: string[];
279
- confidence: number;
280
- evidenceRefs: string[];
281
- }
282
- export interface ArenaRoadmapPhase {
283
- title: string;
284
- priority: "high" | "medium" | "low";
285
- goal: string;
286
- scope: string[];
287
- deliverables: string[];
288
- dependencies: string[];
289
- risks: string[];
290
- successCriteria: string[];
291
- relatedFindings: string[];
292
- }
293
- /** Repo-level implementation detail for a roadmap phase (planning mode) */
294
- export interface ArenaRoadmapPhaseDetail {
295
- phaseTitle: string;
296
- objective: string;
297
- targetFiles: string[];
298
- codeChanges: string[];
299
- interfaces: string[];
300
- migrationSteps: string[];
301
- validation: string[];
302
- effort: "small" | "medium" | "large";
303
- blockers: string[];
304
- evidenceRefs: string[];
305
- }
306
- export interface ArenaConsensus {
307
- /** Overall assessment */
308
- summary: string;
309
- /** Subject summary — rendered as "What Changed" / "Current Scope" / "Problem Framing" per mode */
310
- subjectSummary?: string;
311
- strengths: ArenaConsensusItem[];
312
- improvements: ArenaConsensusItem[];
313
- risks: ArenaConsensusItem[];
314
- openQuestions: ArenaConsensusItem[];
315
- roadmap: ArenaRoadmapPhase[];
316
- /** Repo-level implementation details per roadmap phase (planning mode) */
317
- roadmapDetails?: ArenaRoadmapPhaseDetail[];
318
- nextActions: Array<{
319
- title: string;
320
- priority: "high" | "medium" | "low";
321
- rationale: string;
322
- relatedFindings: string[];
323
- }>;
324
- }
325
- export interface ArenaResultV2 {
326
- topic: string;
327
- mode: ArenaMode;
328
- participants: string[];
329
- plan: ArenaPlan;
330
- baseContext: ArenaBaseContext;
331
- reports: ParticipantReport[];
332
- /** Research dossiers with evidence trails (Phase 3+) */
333
- dossiers?: ResearchDossier[];
334
- /** Registered claims derived from findings (Phase 3+) */
335
- claims?: ClaimRecord[];
336
- reviews: FindingReview[];
337
- /** Debate rounds for contested claims (Phase 3+) */
338
- debateRounds?: DebateRound[];
339
- /** Claim adjudications (Phase 3+) */
340
- adjudications?: ClaimAdjudication[];
341
- consensus: ArenaConsensus;
342
- /** Aggregate of every provider request made by this Arena run. */
343
- usage: TokenUsage;
344
- }
345
- /**
346
- * ArenaStrategy — encapsulates mode-specific behavior for prompts and parsing.
347
- *
348
- * V2 strategies produce structured findings instead of free-text opinions.
349
- */
350
- export interface ArenaStrategy {
351
- /** Build the system prompt for participant research phase */
352
- researchSystemPrompt(participantName: string): string;
353
- /** Build the user prompt for participant research, given base context */
354
- researchUserPrompt(topic: string, baseContext: ArenaBaseContext): string;
355
- /** Parse participant research response into structured report */
356
- parseResearchResponse(participant: string, text: string): ParticipantReport;
357
- /** Build the system prompt for cross-review phase */
358
- crossReviewSystemPrompt(reviewerName: string): string;
359
- /** Build the user prompt for cross-reviewing other participants' findings */
360
- crossReviewUserPrompt(topic: string, myReport: ParticipantReport, otherReports: ParticipantReport[]): string;
361
- /** Parse cross-review response into finding reviews */
362
- parseCrossReviewResponse(reviewer: string, text: string): FindingReview[];
363
- /** Build the system prompt for consensus building */
364
- consensusSystemPrompt(): string;
365
- /** Build the user prompt for consensus building */
366
- consensusUserPrompt(topic: string, reports: ParticipantReport[], reviews: FindingReview[]): string;
367
- /** Parse consensus response */
368
- parseConsensusResponse(text: string): ArenaConsensus;
369
- /** Finding kinds this mode emphasizes */
370
- preferredFindingKinds(): FindingKind[];
371
- }
372
- /**
373
- * ArenaStrategyV2 — extends ArenaStrategy with claim-aware prompt methods.
374
- *
375
- * Strategies implementing V2 participate in the full evidence-driven loop:
376
- * verification review, debate, adjudication, and claim-aware consensus.
377
- *
378
- * Strategies that only implement ArenaStrategy continue to work via
379
- * automatic fallback paths in each phase.
380
- */
381
- export interface ArenaStrategyV2 extends ArenaStrategy {
382
- /** Build verification-review user prompt with claim data and digest */
383
- verificationReviewUserPrompt(topic: string, myReport: ParticipantReport, claimsToReview: ClaimRecord[], digest: RoundResearchDigest): string;
384
- /** Parse verification review into ClaimChallenge records */
385
- parseVerificationReviewResponse(reviewer: string, text: string): ClaimChallenge[];
386
- /** Build debate turn prompt for a participant on a specific claim */
387
- debateTurnUserPrompt(topic: string, claim: ClaimRecord, priorTurns: DebateTurn[], digest: RoundResearchDigest): string;
388
- /** Parse a debate turn response */
389
- parseDebateTurnResponse(participant: string, text: string): DebateTurn;
390
- /** Build adjudication prompt for the moderator */
391
- adjudicationUserPrompt(topic: string, claim: ClaimRecord, debateRounds: DebateRound[], digest: RoundResearchDigest): string;
392
- /** Parse adjudication response */
393
- parseAdjudicationResponse(text: string): ClaimAdjudication;
394
- /** Build claim-aware consensus prompt */
395
- claimAwareConsensusUserPrompt(topic: string, reports: ParticipantReport[], reviews: FindingReview[], claimSummary: ClaimStatusSummary): string;
396
- }
397
- /**
398
- * ArenaStrategyPlanning — extends ArenaStrategyV2 with planning-specific methods.
399
- *
400
- * Strategies implementing this participate in the planning-specific flow:
401
- * merge-oriented review and detail expansion.
402
- */
403
- export interface ArenaStrategyPlanning extends ArenaStrategyV2 {
404
- /** Build merge-oriented review prompt for planning mode */
405
- mergeReviewUserPrompt(topic: string, myReport: ParticipantReport, claimsToReview: ClaimRecord[], digest: RoundResearchDigest): string;
406
- /** Parse merge-review response into challenges with planning semantics */
407
- parseMergeReviewResponse(reviewer: string, text: string): ClaimChallenge[];
408
- /** Build detail expansion system prompt */
409
- detailExpansionSystemPrompt(): string;
410
- /** Build detail expansion user prompt for a single roadmap phase */
411
- detailExpansionUserPrompt(topic: string, phase: ArenaRoadmapPhase, digest: RoundResearchDigest): string;
412
- /** Parse detail expansion response */
413
- parseDetailExpansionResponse(text: string): ArenaRoadmapPhaseDetail;
414
- }
415
- /** Type guard: does a strategy implement ArenaStrategyPlanning? */
416
- export declare function isStrategyPlanning(s: ArenaStrategy): s is ArenaStrategyPlanning;
417
- /** Grouped claims by terminal status — used in claim-aware consensus */
418
- export interface ClaimStatusSummary {
419
- verified: ClaimRecord[];
420
- contested: ClaimRecord[];
421
- unresolved: ClaimRecord[];
422
- rejected: ClaimRecord[];
423
- }
424
- /** Type guard: does a strategy implement ArenaStrategyV2? */
425
- export declare function isStrategyV2(s: ArenaStrategy): s is ArenaStrategyV2;
426
- /** Arena configuration */
427
- export interface ArenaConfig {
428
- /** Participants (models) in the arena */
429
- participants: ArenaParticipant[];
430
- /** Arena mode (default: "review") */
431
- mode?: ArenaMode;
432
- /** Maximum discussion rounds after initial opinions (overrides mode default if set) */
433
- maxDiscussionRounds?: number;
434
- /** Which participant generates the final conclusion (default: first) */
435
- concluder?: string;
436
- /** Optional custom strategy — overrides mode-based strategy selection */
437
- strategy?: ArenaStrategy;
438
- /**
439
- * Enable read-only context tools (read_file, grep_code, list_files) during
440
- * participant research. Participants can request additional source context.
441
- */
442
- enableContextTools?: boolean;
443
- /** Execution limits for review/debate/adjudication phases */
444
- executionLimits?: ArenaExecutionLimits;
445
- /** Callback for streaming arena progress */
446
- onProgress?: (event: ArenaProgressEvent) => void;
447
- /** AbortSignal for cancelling a running arena session */
448
- signal?: AbortSignal;
449
- }
450
- export type ArenaProgressEvent = {
451
- type: "plan_resolved";
452
- plan: ArenaPlan;
453
- } | {
454
- type: "evidence_started";
455
- source: ArenaSourceKind;
456
- } | {
457
- type: "evidence_source_done";
458
- source: ArenaSourceKind;
459
- count: number;
460
- durationMs: number;
461
- timedOut: boolean;
462
- } | {
463
- type: "evidence_collected";
464
- artifacts: ArenaArtifact[];
465
- } | {
466
- type: "research_start";
467
- participant: string;
468
- } | {
469
- type: "research_done";
470
- participant: string;
471
- report: ParticipantReport;
472
- } | {
473
- type: "context_lookup";
474
- participant: string;
475
- tools: string[];
476
- } | {
477
- type: "claims_registered";
478
- claimCount: number;
479
- } | {
480
- type: "cross_review_start";
481
- round: number;
482
- } | {
483
- type: "cross_review_done";
484
- reviews: FindingReview[];
485
- } | {
486
- type: "verification_start";
487
- } | {
488
- type: "verification_done";
489
- challengeCount: number;
490
- } | {
491
- type: "debate_round_start";
492
- round: number;
493
- claims: string[];
494
- } | {
495
- type: "debate_round_done";
496
- round: number;
497
- resolved: number;
498
- } | {
499
- type: "adjudication_done";
500
- accepted: number;
501
- unresolved: number;
502
- } | {
503
- type: "planning_merge_review_start";
504
- } | {
505
- type: "planning_merge_review_done";
506
- mergeCount: number;
507
- } | {
508
- type: "roadmap_expansion_start";
509
- phaseCount: number;
510
- } | {
511
- type: "roadmap_expansion_done";
512
- detailCount: number;
513
- } | {
514
- type: "consensus_start";
515
- } | {
516
- type: "consensus_done";
517
- consensus: ArenaConsensus;
518
- };
@@ -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
- }