@cjhyy/code-shell-core 0.7.1 → 0.8.1

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 (595) 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/path-policy.js +99 -2
  374. package/dist/tool-system/permission.d.ts +26 -0
  375. package/dist/tool-system/permission.js +46 -0
  376. package/dist/tool-system/registry.d.ts +12 -1
  377. package/dist/tool-system/registry.js +31 -7
  378. package/dist/tool-system/sandbox/index.js +3 -8
  379. package/dist/tool-system/sandbox/seatbelt.js +2 -6
  380. package/dist/tool-system/session-tool-host.d.ts +139 -0
  381. package/dist/tool-system/session-tool-host.js +167 -0
  382. package/dist/tool-system/testing/tool-registry-harness.d.ts +31 -0
  383. package/dist/tool-system/testing/tool-registry-harness.js +51 -0
  384. package/dist/tool-system/validation.d.ts +14 -7
  385. package/dist/tool-system/validation.js +701 -7
  386. package/dist/types.d.ts +186 -20
  387. package/dist/{cc-orchestrator → utils}/cwd-normalize.d.ts +1 -0
  388. package/dist/{cc-orchestrator → utils}/cwd-normalize.js +1 -0
  389. package/dist/utils/file-mutex.d.ts +65 -0
  390. package/dist/utils/file-mutex.js +145 -0
  391. package/dist/utils/json.d.ts +2 -4
  392. package/dist/utils/json.js +2 -4
  393. package/dist/utils/lockfile.d.ts +30 -1
  394. package/dist/utils/lockfile.js +2 -2
  395. package/dist/utils/secret-scrubber.d.ts +8 -0
  396. package/dist/utils/secret-scrubber.js +227 -0
  397. package/dist/utils/toolDisplay.js +1 -1
  398. package/package.json +20 -5
  399. package/THIRD_PARTY_NOTICES.md +0 -206
  400. package/dist/arena/arena.d.ts +0 -45
  401. package/dist/arena/arena.js +0 -362
  402. package/dist/arena/context/context-tools.d.ts +0 -16
  403. package/dist/arena/context/context-tools.js +0 -272
  404. package/dist/arena/context/within-root.d.ts +0 -7
  405. package/dist/arena/context/within-root.js +0 -15
  406. package/dist/arena/detect-mode.d.ts +0 -20
  407. package/dist/arena/detect-mode.js +0 -78
  408. package/dist/arena/digest-builder.d.ts +0 -25
  409. package/dist/arena/digest-builder.js +0 -120
  410. package/dist/arena/index.d.ts +0 -29
  411. package/dist/arena/index.js +0 -29
  412. package/dist/arena/iterate/convergence.d.ts +0 -25
  413. package/dist/arena/iterate/convergence.js +0 -103
  414. package/dist/arena/iterate/formats/index.d.ts +0 -22
  415. package/dist/arena/iterate/formats/index.js +0 -283
  416. package/dist/arena/iterate/index.d.ts +0 -11
  417. package/dist/arena/iterate/index.js +0 -9
  418. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  419. package/dist/arena/iterate/iterative-arena.js +0 -237
  420. package/dist/arena/iterate/parse.d.ts +0 -42
  421. package/dist/arena/iterate/parse.js +0 -123
  422. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  423. package/dist/arena/iterate/phases/argue.js +0 -165
  424. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  425. package/dist/arena/iterate/phases/revise.js +0 -62
  426. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  427. package/dist/arena/iterate/phases/tournament.js +0 -113
  428. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  429. package/dist/arena/iterate/tools/web-tools.js +0 -54
  430. package/dist/arena/iterate/types.d.ts +0 -152
  431. package/dist/arena/iterate/types.js +0 -8
  432. package/dist/arena/ledger.d.ts +0 -47
  433. package/dist/arena/ledger.js +0 -159
  434. package/dist/arena/lenses/architecture.d.ts +0 -5
  435. package/dist/arena/lenses/architecture.js +0 -22
  436. package/dist/arena/lenses/engineering.d.ts +0 -5
  437. package/dist/arena/lenses/engineering.js +0 -22
  438. package/dist/arena/lenses/general.d.ts +0 -5
  439. package/dist/arena/lenses/general.js +0 -20
  440. package/dist/arena/lenses/index.d.ts +0 -16
  441. package/dist/arena/lenses/index.js +0 -47
  442. package/dist/arena/lenses/product.d.ts +0 -5
  443. package/dist/arena/lenses/product.js +0 -22
  444. package/dist/arena/model-presets.d.ts +0 -23
  445. package/dist/arena/model-presets.js +0 -44
  446. package/dist/arena/phases/adjudication.d.ts +0 -25
  447. package/dist/arena/phases/adjudication.js +0 -142
  448. package/dist/arena/phases/build-consensus.d.ts +0 -30
  449. package/dist/arena/phases/build-consensus.js +0 -85
  450. package/dist/arena/phases/claim-registry.d.ts +0 -26
  451. package/dist/arena/phases/claim-registry.js +0 -60
  452. package/dist/arena/phases/cross-review.d.ts +0 -47
  453. package/dist/arena/phases/cross-review.js +0 -224
  454. package/dist/arena/phases/debate-rounds.d.ts +0 -28
  455. package/dist/arena/phases/debate-rounds.js +0 -161
  456. package/dist/arena/phases/participant-research.d.ts +0 -39
  457. package/dist/arena/phases/participant-research.js +0 -316
  458. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -39
  459. package/dist/arena/phases/planning-detail-expansion.js +0 -120
  460. package/dist/arena/planner.d.ts +0 -28
  461. package/dist/arena/planner.js +0 -312
  462. package/dist/arena/providers/docs.d.ts +0 -7
  463. package/dist/arena/providers/docs.js +0 -111
  464. package/dist/arena/providers/git.d.ts +0 -8
  465. package/dist/arena/providers/git.js +0 -174
  466. package/dist/arena/providers/index.d.ts +0 -32
  467. package/dist/arena/providers/index.js +0 -132
  468. package/dist/arena/providers/none.d.ts +0 -7
  469. package/dist/arena/providers/none.js +0 -11
  470. package/dist/arena/providers/repo.d.ts +0 -7
  471. package/dist/arena/providers/repo.js +0 -258
  472. package/dist/arena/render/session.d.ts +0 -17
  473. package/dist/arena/render/session.js +0 -190
  474. package/dist/arena/render/terminal.d.ts +0 -34
  475. package/dist/arena/render/terminal.js +0 -286
  476. package/dist/arena/strategies/discussion.d.ts +0 -25
  477. package/dist/arena/strategies/discussion.js +0 -143
  478. package/dist/arena/strategies/index.d.ts +0 -15
  479. package/dist/arena/strategies/index.js +0 -28
  480. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  481. package/dist/arena/strategies/language-wrapper.js +0 -102
  482. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  483. package/dist/arena/strategies/lens-wrapper.js +0 -236
  484. package/dist/arena/strategies/planning.d.ts +0 -30
  485. package/dist/arena/strategies/planning.js +0 -225
  486. package/dist/arena/strategies/review.d.ts +0 -26
  487. package/dist/arena/strategies/review.js +0 -168
  488. package/dist/arena/strategies/utils.d.ts +0 -36
  489. package/dist/arena/strategies/utils.js +0 -603
  490. package/dist/arena/tools/selector.d.ts +0 -17
  491. package/dist/arena/tools/selector.js +0 -61
  492. package/dist/arena/transitions.d.ts +0 -53
  493. package/dist/arena/transitions.js +0 -97
  494. package/dist/arena/types.d.ts +0 -518
  495. package/dist/arena/types.js +0 -27
  496. package/dist/cc-orchestrator/agent-adapter.d.ts +0 -54
  497. package/dist/cc-orchestrator/agent-adapter.js +0 -143
  498. package/dist/cc-orchestrator/cc-capability.d.ts +0 -19
  499. package/dist/cc-orchestrator/cc-capability.js +0 -53
  500. package/dist/cc-orchestrator/codex-session-discovery.d.ts +0 -24
  501. package/dist/cc-orchestrator/codex-session-discovery.js +0 -191
  502. package/dist/cc-orchestrator/codex-session-history.d.ts +0 -38
  503. package/dist/cc-orchestrator/codex-session-history.js +0 -247
  504. package/dist/cc-orchestrator/external-agent-bindings.d.ts +0 -27
  505. package/dist/cc-orchestrator/external-agent-bindings.js +0 -150
  506. package/dist/cc-orchestrator/external-agent-changes.d.ts +0 -19
  507. package/dist/cc-orchestrator/external-agent-changes.js +0 -231
  508. package/dist/cc-orchestrator/external-agent-driver.d.ts +0 -19
  509. package/dist/cc-orchestrator/external-agent-driver.js +0 -284
  510. package/dist/cc-orchestrator/external-agent-session-store.d.ts +0 -23
  511. package/dist/cc-orchestrator/external-agent-session-store.js +0 -146
  512. package/dist/cc-orchestrator/index.d.ts +0 -8
  513. package/dist/cc-orchestrator/index.js +0 -8
  514. package/dist/cc-orchestrator/relevance-judge.d.ts +0 -15
  515. package/dist/cc-orchestrator/relevance-judge.js +0 -29
  516. package/dist/cc-orchestrator/session-discovery.d.ts +0 -46
  517. package/dist/cc-orchestrator/session-discovery.js +0 -125
  518. package/dist/cc-orchestrator/session-history.d.ts +0 -54
  519. package/dist/cc-orchestrator/session-history.js +0 -150
  520. package/dist/cron/cron-runtime.d.ts +0 -2
  521. package/dist/cron/cron-runtime.js +0 -2
  522. package/dist/cron/cron-store.d.ts +0 -2
  523. package/dist/cron/cron-store.js +0 -2
  524. package/dist/cron/scheduler.d.ts +0 -7
  525. package/dist/cron/scheduler.js +0 -7
  526. package/dist/engine/goal.js +0 -206
  527. package/dist/external-agents/config.d.ts +0 -2
  528. package/dist/external-agents/config.js +0 -15
  529. package/dist/external-agents/types.d.ts +0 -31
  530. package/dist/git/parse-log.d.ts +0 -13
  531. package/dist/git/parse-log.js +0 -21
  532. package/dist/git/utils.d.ts +0 -49
  533. package/dist/git/utils.js +0 -161
  534. package/dist/git/worktree/crud.d.ts +0 -72
  535. package/dist/git/worktree/crud.js +0 -235
  536. package/dist/git/worktree/diff.d.ts +0 -14
  537. package/dist/git/worktree/diff.js +0 -82
  538. package/dist/git/worktree/git-exec.d.ts +0 -7
  539. package/dist/git/worktree/git-exec.js +0 -87
  540. package/dist/git/worktree/index.d.ts +0 -5
  541. package/dist/git/worktree/index.js +0 -5
  542. package/dist/git/worktree/query.d.ts +0 -43
  543. package/dist/git/worktree/query.js +0 -128
  544. package/dist/git/worktree/slug.d.ts +0 -11
  545. package/dist/git/worktree/slug.js +0 -58
  546. package/dist/git/worktree.d.ts +0 -1
  547. package/dist/git/worktree.js +0 -5
  548. package/dist/lsp/client.d.ts +0 -41
  549. package/dist/lsp/client.js +0 -186
  550. package/dist/lsp/manager.d.ts +0 -40
  551. package/dist/lsp/manager.js +0 -155
  552. package/dist/lsp/root-path.d.ts +0 -9
  553. package/dist/lsp/root-path.js +0 -12
  554. package/dist/lsp/servers.d.ts +0 -16
  555. package/dist/lsp/servers.js +0 -60
  556. package/dist/prompt/sections/coding.md +0 -35
  557. package/dist/quota/credentials.d.ts +0 -3
  558. package/dist/quota/credentials.js +0 -80
  559. package/dist/quota/index.d.ts +0 -36
  560. package/dist/quota/index.js +0 -155
  561. package/dist/quota/types.d.ts +0 -48
  562. package/dist/quota/types.js +0 -13
  563. package/dist/review/review-prompt.d.ts +0 -28
  564. package/dist/review/review-prompt.js +0 -81
  565. package/dist/state.d.ts +0 -160
  566. package/dist/state.js +0 -267
  567. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  568. package/dist/tool-system/builtin/apply-patch/applier.js +0 -308
  569. package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +0 -10
  570. package/dist/tool-system/builtin/apply-patch/backup-targets.js +0 -30
  571. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -20
  572. package/dist/tool-system/builtin/apply-patch/index.js +0 -105
  573. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  574. package/dist/tool-system/builtin/apply-patch/parser.js +0 -212
  575. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  576. package/dist/tool-system/builtin/apply-patch/seek-sequence.js +0 -123
  577. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  578. package/dist/tool-system/builtin/apply-patch/types.js +0 -13
  579. package/dist/tool-system/builtin/arena.d.ts +0 -31
  580. package/dist/tool-system/builtin/arena.js +0 -416
  581. package/dist/tool-system/builtin/brief.d.ts +0 -6
  582. package/dist/tool-system/builtin/brief.js +0 -41
  583. package/dist/tool-system/builtin/check-quota.d.ts +0 -15
  584. package/dist/tool-system/builtin/check-quota.js +0 -34
  585. package/dist/tool-system/builtin/drive-claude-code.d.ts +0 -51
  586. package/dist/tool-system/builtin/drive-claude-code.js +0 -698
  587. package/dist/tool-system/builtin/lsp.d.ts +0 -7
  588. package/dist/tool-system/builtin/lsp.js +0 -144
  589. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -7
  590. package/dist/tool-system/builtin/notebook-edit.js +0 -127
  591. package/dist/tool-system/builtin/worktree.d.ts +0 -11
  592. package/dist/tool-system/builtin/worktree.js +0 -363
  593. /package/dist/{external-agents → links}/types.js +0 -0
  594. /package/dist/{engine/session-usage.d.ts → session/usage.d.ts} +0 -0
  595. /package/dist/{engine/session-usage.js → session/usage.js} +0 -0
@@ -1,152 +0,0 @@
1
- /**
2
- * Iterate mode — multi-model authoring loop.
3
- *
4
- * Author writes → critics argue → author revises → ... → final draft.
5
- * v1 uses a tournament: every participant writes a candidate, then the
6
- * author merges (anonymized inputs) into a single v1.
7
- */
8
- import type { ArenaParticipant } from "../types.js";
9
- export type IterateFormat = "code" | "document";
10
- export interface IterateSubject {
11
- /** What the author is producing — short descriptive label. */
12
- label: string;
13
- /** Full instruction to the author / critics. */
14
- description: string;
15
- /** Optional source artifacts (file paths, urls) to ground the work. */
16
- sources?: string[];
17
- }
18
- /** A v1 candidate produced by one participant during the tournament. */
19
- export interface DraftCandidate {
20
- author: string;
21
- anonymousLabel: string;
22
- content: string;
23
- }
24
- export interface Draft {
25
- version: number;
26
- author: string;
27
- format: IterateFormat;
28
- content: string;
29
- /**
30
- * For v1 with tournament strategy: the candidates that were merged.
31
- * For v2+: undefined.
32
- */
33
- draftCandidates?: DraftCandidate[];
34
- /** Author's explanation of how candidates were merged into v1. */
35
- mergeRationale?: string;
36
- /**
37
- * For v2+: which critique IDs were addressed and how.
38
- */
39
- acceptedCritiques?: string[];
40
- rejectedCritiques?: Array<{
41
- id: string;
42
- reason: string;
43
- }>;
44
- /** Free-form note from author: what changed and why. */
45
- changelog?: string;
46
- }
47
- export type CritiqueSeverity = "blocker" | "major" | "minor" | "nit" | "praise";
48
- export type CritiqueCategory = "correctness" | "completeness" | "clarity" | "evidence" | "structure" | "style" | "fabrication" | "other";
49
- export interface CritiqueEvidence {
50
- url: string;
51
- snippet?: string;
52
- }
53
- export interface Critique {
54
- id: string;
55
- critic: string;
56
- /** 5-15 word quote from the draft for precise location. */
57
- anchor: string;
58
- severity: CritiqueSeverity;
59
- category: CritiqueCategory;
60
- comment: string;
61
- /** Optional concrete suggestion. */
62
- suggestion?: string;
63
- /** Optional URLs the critic consulted to back up the critique. */
64
- evidence?: CritiqueEvidence[];
65
- }
66
- export interface ConvergenceSignal {
67
- blockerCount: number;
68
- majorCount: number;
69
- totalCritiques: number;
70
- /** Levenshtein-ratio-like 0..1, where 0 = identical, 1 = totally different. */
71
- diffFromPrevious: number;
72
- shouldStop: boolean;
73
- reason: "blockers_zero_and_stable" | "all_minor_or_praise" | "max_rounds" | "user_stop" | "user_force_continue" | "diff_below_threshold" | "running";
74
- }
75
- export interface Round {
76
- round: number;
77
- draft: Draft;
78
- critiques: Critique[];
79
- convergence: ConvergenceSignal;
80
- }
81
- export type AuthorRotation = "fixed" | "round-robin" | "best-critic";
82
- export interface CheckpointContext {
83
- round: number;
84
- draft: Draft;
85
- critiques: Critique[];
86
- convergence: ConvergenceSignal;
87
- }
88
- export type CheckpointAction = "continue" | "stop" | "force-continue";
89
- export type CheckpointFn = (ctx: CheckpointContext) => Promise<CheckpointAction>;
90
- export interface IterateProgressEvent {
91
- type: "v1_tournament_start" | "v1_candidate_done" | "v1_merge_start" | "v1_merge_done" | "round_start" | "argue_start" | "argue_done" | "revise_start" | "revise_done" | "round_done" | "checkpoint_pause" | "iterate_complete";
92
- round?: number;
93
- participant?: string;
94
- data?: Record<string, unknown>;
95
- }
96
- export interface IterateConfig {
97
- subject: IterateSubject;
98
- format: IterateFormat;
99
- /** The participant who merges v1 and main-authors v2+. Required. */
100
- author: ArenaParticipant;
101
- /** Critic participants. Each must have unique `name`. */
102
- critics: ArenaParticipant[];
103
- /** Default 5. */
104
- maxRounds?: number;
105
- /**
106
- * v1 strategy.
107
- * - "tournament" (default): author + all critics each write a candidate,
108
- * author merges anonymized candidates into v1.
109
- * - "single": author writes v1 alone (no tournament).
110
- */
111
- v1Strategy?: "tournament" | "single";
112
- /** Default "fixed". */
113
- authorRotation?: AuthorRotation;
114
- /**
115
- * If provided, called after each round; arena pauses for the response.
116
- * Default: undefined (no checkpoints).
117
- */
118
- humanCheckpoint?: CheckpointFn;
119
- /**
120
- * Convergence rules. "default" applies built-in heuristics.
121
- * Custom function returns true → stop after this round.
122
- */
123
- convergenceStrategy?: "default" | ((ctx: {
124
- round: number;
125
- critiques: Critique[];
126
- draft: Draft;
127
- previousDraft?: Draft;
128
- }) => boolean);
129
- /** Minimum content length per draft (chars). Used both as length budget hint and to retry-on-shrinkage. Default 800 for document, 200 for code. */
130
- minDraftLength?: number;
131
- /**
132
- * Whether critics get web_search/web_fetch tools during the argue phase.
133
- * Requires SERPER_API_KEY / TAVILY_API_KEY / SEARXNG_URL in env. Default false.
134
- * When true, each argue call becomes a tool-use loop (critics may search
135
- * before producing critiques) — significantly more tokens and time, but
136
- * dramatically reduces fabrication.
137
- */
138
- enableWebSearch?: boolean;
139
- /** Cap tool-use rounds per critic per argue phase. Default 8. */
140
- maxArgueToolRounds?: number;
141
- signal?: AbortSignal;
142
- onProgress?: (event: IterateProgressEvent) => void;
143
- }
144
- export type StoppedReason = "converged" | "max_rounds" | "user_stop" | "errored" | "aborted";
145
- export interface IterateResult {
146
- subject: IterateSubject;
147
- format: IterateFormat;
148
- rounds: Round[];
149
- finalDraft: Draft;
150
- stoppedAt: StoppedReason;
151
- durationMs: number;
152
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Iterate mode — multi-model authoring loop.
3
- *
4
- * Author writes → critics argue → author revises → ... → final draft.
5
- * v1 uses a tournament: every participant writes a candidate, then the
6
- * author merges (anonymized inputs) into a single v1.
7
- */
8
- export {};
@@ -1,47 +0,0 @@
1
- /**
2
- * SharedResearchLedger — append-only shared state across all arena rounds.
3
- *
4
- * Design constraints (from architecture doc):
5
- * - All objects have stable IDs
6
- * - Append-only: history preserved, never overwritten
7
- * - Query layer supports latest-view aggregation
8
- * - Supports by-id, by-claim, by-participant, by-round filtering
9
- */
10
- import type { SharedResearchLedger, ResearchDossier, EvidencePacket, ClaimRecord, ClaimChallenge, RequestedCheck, ClaimAdjudication } from "./types.js";
11
- /**
12
- * Manages the shared research ledger — the single source of truth
13
- * for all evidence, claims, challenges, and adjudications in an arena session.
14
- */
15
- export declare class ArenaLedger {
16
- private ledger;
17
- private index;
18
- constructor();
19
- /** Check if ledger is approaching memory limits and log warnings */
20
- private checkGrowth;
21
- appendDossier(dossier: ResearchDossier): void;
22
- appendEvidencePacket(packet: EvidencePacket): void;
23
- appendClaim(claim: ClaimRecord): void;
24
- appendChallenge(challenge: ClaimChallenge): void;
25
- appendRequestedCheck(check: RequestedCheck): void;
26
- appendAdjudication(adjudication: ClaimAdjudication): void;
27
- /**
28
- * Return a read-only reference to the full ledger.
29
- *
30
- * Note: `Readonly<>` is shallow — inner arrays are still mutable at the
31
- * type level. Callers MUST NOT mutate the returned object; use the
32
- * append* methods instead. A deep-freeze or structural clone can be
33
- * added later if external consumers need a truly immutable snapshot.
34
- */
35
- getSnapshot(): Readonly<SharedResearchLedger>;
36
- getClaimById(claimId: string): ClaimRecord | undefined;
37
- getPacketById(packetId: string): EvidencePacket | undefined;
38
- getAllClaims(): ClaimRecord[];
39
- getClaimsByStatus(...statuses: ClaimRecord["status"][]): ClaimRecord[];
40
- getClaimsByOwner(owner: string): ClaimRecord[];
41
- getChallengesForClaim(claimId: string): ClaimChallenge[];
42
- getPendingChecks(): RequestedCheck[];
43
- getPendingChecksForClaim(claimId: string): RequestedCheck[];
44
- getPacketsForClaim(claimId: string): EvidencePacket[];
45
- getDossiers(): ResearchDossier[];
46
- getDossierByParticipant(participant: string): ResearchDossier | undefined;
47
- }
@@ -1,159 +0,0 @@
1
- /**
2
- * SharedResearchLedger — append-only shared state across all arena rounds.
3
- *
4
- * Design constraints (from architecture doc):
5
- * - All objects have stable IDs
6
- * - Append-only: history preserved, never overwritten
7
- * - Query layer supports latest-view aggregation
8
- * - Supports by-id, by-claim, by-participant, by-round filtering
9
- */
10
- import { logger } from "../logging/logger.js";
11
- /** Thresholds for memory warnings */
12
- const WARN_CLAIMS = 50;
13
- const WARN_PACKETS = 200;
14
- const WARN_CHALLENGES = 100;
15
- /**
16
- * Manages the shared research ledger — the single source of truth
17
- * for all evidence, claims, challenges, and adjudications in an arena session.
18
- */
19
- export class ArenaLedger {
20
- ledger;
21
- index;
22
- constructor() {
23
- this.ledger = {
24
- dossiers: [],
25
- evidencePackets: [],
26
- toolTraces: [],
27
- claims: [],
28
- challenges: [],
29
- requestedChecks: [],
30
- adjudications: [],
31
- };
32
- this.index = {
33
- claimsById: new Map(),
34
- packetsById: new Map(),
35
- requestsById: new Map(),
36
- };
37
- }
38
- // ─── Append operations ──────────────────────────────────────
39
- /** Check if ledger is approaching memory limits and log warnings */
40
- checkGrowth() {
41
- const claims = this.ledger.claims.length;
42
- const packets = this.ledger.evidencePackets.length;
43
- const challenges = this.ledger.challenges.length;
44
- if (claims === WARN_CLAIMS || packets === WARN_PACKETS || challenges === WARN_CHALLENGES) {
45
- logger.warn("arena.ledger_growth", { claims, packets, challenges, toolTraces: this.ledger.toolTraces.length });
46
- }
47
- }
48
- appendDossier(dossier) {
49
- this.ledger.dossiers.push(dossier);
50
- for (const packet of dossier.evidencePackets) {
51
- this.appendEvidencePacket(packet);
52
- }
53
- for (const trace of dossier.toolTrace) {
54
- this.ledger.toolTraces.push(trace);
55
- }
56
- }
57
- appendEvidencePacket(packet) {
58
- // Deduplicate by packetId — reuse existing if same ID
59
- if (!this.index.packetsById.has(packet.packetId)) {
60
- this.ledger.evidencePackets.push(packet);
61
- this.index.packetsById.set(packet.packetId, packet);
62
- }
63
- }
64
- appendClaim(claim) {
65
- this.ledger.claims.push(claim);
66
- this.index.claimsById.set(claim.claimId, claim);
67
- this.checkGrowth();
68
- }
69
- appendChallenge(challenge) {
70
- this.ledger.challenges.push(challenge);
71
- // Also add to the claim's challenges array. If the claimId doesn't resolve
72
- // the challenge still lives in ledger.challenges but is invisible to any
73
- // code reading claim.challenges directly — surface that inconsistency.
74
- const claim = this.index.claimsById.get(challenge.claimId);
75
- if (claim) {
76
- claim.challenges.push(challenge);
77
- }
78
- else {
79
- logger.warn("arena.challenge_for_unknown_claim", { claimId: challenge.claimId });
80
- }
81
- this.checkGrowth();
82
- // Register any requested checks
83
- if (challenge.requestedChecks) {
84
- for (const check of challenge.requestedChecks) {
85
- this.appendRequestedCheck(check);
86
- }
87
- }
88
- }
89
- appendRequestedCheck(check) {
90
- if (!this.index.requestsById.has(check.requestId)) {
91
- this.ledger.requestedChecks.push(check);
92
- this.index.requestsById.set(check.requestId, check);
93
- }
94
- }
95
- appendAdjudication(adjudication) {
96
- this.ledger.adjudications.push(adjudication);
97
- // Also attach to the claim
98
- const claim = this.index.claimsById.get(adjudication.claimId);
99
- if (claim) {
100
- claim.adjudication = adjudication;
101
- }
102
- else {
103
- logger.warn("arena.adjudication_for_unknown_claim", { claimId: adjudication.claimId });
104
- }
105
- }
106
- // ─── Query operations ───────────────────────────────────────
107
- /**
108
- * Return a read-only reference to the full ledger.
109
- *
110
- * Note: `Readonly<>` is shallow — inner arrays are still mutable at the
111
- * type level. Callers MUST NOT mutate the returned object; use the
112
- * append* methods instead. A deep-freeze or structural clone can be
113
- * added later if external consumers need a truly immutable snapshot.
114
- */
115
- getSnapshot() {
116
- return this.ledger;
117
- }
118
- getClaimById(claimId) {
119
- return this.index.claimsById.get(claimId);
120
- }
121
- getPacketById(packetId) {
122
- return this.index.packetsById.get(packetId);
123
- }
124
- getAllClaims() {
125
- return this.ledger.claims;
126
- }
127
- getClaimsByStatus(...statuses) {
128
- const set = new Set(statuses);
129
- return this.ledger.claims.filter((c) => set.has(c.status));
130
- }
131
- getClaimsByOwner(owner) {
132
- return this.ledger.claims.filter((c) => c.owner === owner);
133
- }
134
- getChallengesForClaim(claimId) {
135
- return this.ledger.challenges.filter((c) => c.claimId === claimId);
136
- }
137
- getPendingChecks() {
138
- return this.ledger.requestedChecks;
139
- }
140
- getPendingChecksForClaim(claimId) {
141
- return this.ledger.requestedChecks.filter((c) => c.claimId === claimId);
142
- }
143
- getPacketsForClaim(claimId) {
144
- const claim = this.index.claimsById.get(claimId);
145
- if (!claim)
146
- return [];
147
- return claim.evidencePacketIds
148
- .map((id) => this.index.packetsById.get(id))
149
- .filter((p) => p !== undefined);
150
- }
151
- getDossiers() {
152
- return this.ledger.dossiers;
153
- }
154
- getDossierByParticipant(participant) {
155
- // Return the latest dossier for this participant (supports multi-round)
156
- const dossiers = this.ledger.dossiers.filter((d) => d.participant === participant);
157
- return dossiers[dossiers.length - 1];
158
- }
159
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Architecture lens — system boundaries, modularity, evolution path.
3
- */
4
- import type { ArenaLens } from "../types.js";
5
- export declare const architectureLens: ArenaLens;
@@ -1,22 +0,0 @@
1
- /**
2
- * Architecture lens — system boundaries, modularity, evolution path.
3
- */
4
- export const architectureLens = {
5
- name: "architecture",
6
- label: "Architecture",
7
- participantRole: "a system architect focused on boundaries, modularity, and evolution paths",
8
- reviewerRole: "an architecture reviewer evaluating structural decisions and trade-offs",
9
- moderatorRole: "a chief architect synthesizing architectural perspectives into design guidance",
10
- summaryLabel: "Architecture Assessment",
11
- criteria: [
12
- "Module boundaries and responsibility separation",
13
- "Coupling and cohesion",
14
- "Extensibility and evolution path",
15
- "Dependency management",
16
- "Data flow and state management",
17
- "API surface area and abstraction levels",
18
- "Migration and backward compatibility strategy",
19
- "Operational concerns (monitoring, debugging, deployment)",
20
- ],
21
- preferredFindingKinds: ["improvement", "risk", "question", "strength"],
22
- };
@@ -1,5 +0,0 @@
1
- /**
2
- * Engineering lens — code quality, correctness, performance, maintainability.
3
- */
4
- import type { ArenaLens } from "../types.js";
5
- export declare const engineeringLens: ArenaLens;
@@ -1,22 +0,0 @@
1
- /**
2
- * Engineering lens — code quality, correctness, performance, maintainability.
3
- */
4
- export const engineeringLens = {
5
- name: "engineering",
6
- label: "Engineering",
7
- participantRole: "a software engineer focused on code quality, correctness, and maintainability",
8
- reviewerRole: "an engineering peer reviewer evaluating technical rigor and code health",
9
- moderatorRole: "a tech lead synthesizing engineering perspectives into actionable conclusions",
10
- summaryLabel: "Engineering Assessment",
11
- criteria: [
12
- "Code correctness and edge case handling",
13
- "Error handling and resilience",
14
- "Performance and scalability implications",
15
- "API design and interface clarity",
16
- "Test coverage and testability",
17
- "Maintainability and readability",
18
- "Security considerations",
19
- "Backward compatibility",
20
- ],
21
- preferredFindingKinds: ["risk", "improvement", "strength", "question"],
22
- };
@@ -1,5 +0,0 @@
1
- /**
2
- * General lens — broad analysis without a specific domain focus.
3
- */
4
- import type { ArenaLens } from "../types.js";
5
- export declare const generalLens: ArenaLens;
@@ -1,20 +0,0 @@
1
- /**
2
- * General lens — broad analysis without a specific domain focus.
3
- */
4
- export const generalLens = {
5
- name: "general",
6
- label: "General",
7
- participantRole: "an analyst providing a broad, balanced perspective",
8
- reviewerRole: "a peer reviewer evaluating clarity, logic, and completeness",
9
- moderatorRole: "a neutral moderator synthesizing diverse perspectives into balanced conclusions",
10
- summaryLabel: "General Assessment",
11
- criteria: [
12
- "Logical coherence and consistency",
13
- "Completeness of analysis",
14
- "Trade-off identification",
15
- "Assumption clarity",
16
- "Evidence quality",
17
- "Actionability of recommendations",
18
- ],
19
- preferredFindingKinds: ["strength", "risk", "question", "improvement"],
20
- };
@@ -1,16 +0,0 @@
1
- /**
2
- * Lens registry — analysis perspectives for Arena sessions.
3
- */
4
- import type { ArenaLens, ArenaLensName, ArenaLensRef } from "../types.js";
5
- export { engineeringLens } from "./engineering.js";
6
- export { productLens } from "./product.js";
7
- export { architectureLens } from "./architecture.js";
8
- export { generalLens } from "./general.js";
9
- /** Get a lens by name. */
10
- export declare function getLens(name: ArenaLensName): ArenaLens;
11
- /** Resolve lens refs into full ArenaLens objects. */
12
- export declare function resolveLenses(refs: ArenaLensRef[]): ArenaLens[];
13
- /** Build a combined lens prompt fragment for participant system prompts. */
14
- export declare function buildLensPrompt(lenses: ArenaLens[], phase: "participant" | "reviewer" | "moderator"): string;
15
- /** All available lens names */
16
- export declare const LENS_NAMES: ArenaLensName[];
@@ -1,47 +0,0 @@
1
- /**
2
- * Lens registry — analysis perspectives for Arena sessions.
3
- */
4
- import { engineeringLens } from "./engineering.js";
5
- import { productLens } from "./product.js";
6
- import { architectureLens } from "./architecture.js";
7
- import { generalLens } from "./general.js";
8
- export { engineeringLens } from "./engineering.js";
9
- export { productLens } from "./product.js";
10
- export { architectureLens } from "./architecture.js";
11
- export { generalLens } from "./general.js";
12
- const LENS_MAP = {
13
- engineering: engineeringLens,
14
- product: productLens,
15
- architecture: architectureLens,
16
- general: generalLens,
17
- };
18
- /** Get a lens by name. */
19
- export function getLens(name) {
20
- return LENS_MAP[name];
21
- }
22
- /** Resolve lens refs into full ArenaLens objects. */
23
- export function resolveLenses(refs) {
24
- return refs.map((ref) => LENS_MAP[ref.name]);
25
- }
26
- /** Build a combined lens prompt fragment for participant system prompts. */
27
- export function buildLensPrompt(lenses, phase) {
28
- if (lenses.length === 0)
29
- return "";
30
- const roleKey = phase === "participant" ? "participantRole"
31
- : phase === "reviewer" ? "reviewerRole"
32
- : "moderatorRole";
33
- const roles = lenses.map((l) => l[roleKey]);
34
- const allCriteria = lenses.flatMap((l) => l.criteria);
35
- const uniqueCriteria = [...new Set(allCriteria)];
36
- const roleDesc = lenses.length === 1
37
- ? `You are ${roles[0]}.`
38
- : `You combine multiple perspectives: ${roles.join("; ")}.`;
39
- return [
40
- roleDesc,
41
- "",
42
- "Evaluation criteria (prioritized):",
43
- ...uniqueCriteria.map((c) => `- ${c}`),
44
- ].join("\n");
45
- }
46
- /** All available lens names */
47
- export const LENS_NAMES = ["engineering", "product", "architecture", "general"];
@@ -1,5 +0,0 @@
1
- /**
2
- * Product lens — user value, completeness, edge cases, acceptance criteria.
3
- */
4
- import type { ArenaLens } from "../types.js";
5
- export declare const productLens: ArenaLens;
@@ -1,22 +0,0 @@
1
- /**
2
- * Product lens — user value, completeness, edge cases, acceptance criteria.
3
- */
4
- export const productLens = {
5
- name: "product",
6
- label: "Product",
7
- participantRole: "a product analyst focused on user value, completeness, and edge cases",
8
- reviewerRole: "a product reviewer evaluating requirements coverage and user impact",
9
- moderatorRole: "a product lead synthesizing product perspectives into prioritized insights",
10
- summaryLabel: "Product Assessment",
11
- criteria: [
12
- "Requirements completeness and coverage",
13
- "User experience and usability",
14
- "Edge cases and boundary conditions",
15
- "Acceptance criteria clarity",
16
- "Feature scope — too broad or too narrow",
17
- "User journey coherence",
18
- "Metric and success criteria definition",
19
- "Stakeholder alignment",
20
- ],
21
- preferredFindingKinds: ["question", "improvement", "risk", "strength"],
22
- };
@@ -1,23 +0,0 @@
1
- /**
2
- * Arena model presets — known models with their max output token limits.
3
- *
4
- * Used by arena participant resolution to set appropriate maxTokens
5
- * so that LLM output is not prematurely truncated.
6
- */
7
- export interface ModelPreset {
8
- provider: string;
9
- model: string;
10
- maxOutputTokens: number;
11
- }
12
- export declare const MODEL_PRESETS: Record<string, ModelPreset>;
13
- /**
14
- * Look up max output tokens for a model string, falling back to a safe default.
15
- *
16
- * Lookup order:
17
- * 1. Arena preset key (e.g. "claude", "gpt") — short aliases used in arena UX
18
- * 2. Arena preset model path (e.g. "anthropic/claude-opus-4.6")
19
- * 3. resolveMaxOutput — the canonical table in onboarding.ts that also covers
20
- * direct-provider IDs (deepseek-v4-pro, …) and OpenRouter snapshot
21
- * 4. 8192 — final safe fallback
22
- */
23
- export declare function getMaxOutputTokens(model: string): number;
@@ -1,44 +0,0 @@
1
- /**
2
- * Arena model presets — known models with their max output token limits.
3
- *
4
- * Used by arena participant resolution to set appropriate maxTokens
5
- * so that LLM output is not prematurely truncated.
6
- */
7
- import { resolveMaxOutput } from "../onboarding.js";
8
- export const MODEL_PRESETS = {
9
- claude: { provider: "openai", model: "anthropic/claude-opus-4.6", maxOutputTokens: 32000 },
10
- "claude-sonnet": { provider: "openai", model: "anthropic/claude-sonnet-4.6", maxOutputTokens: 16000 },
11
- "claude-haiku": { provider: "openai", model: "anthropic/claude-haiku-4.5", maxOutputTokens: 8192 },
12
- gpt: { provider: "openai", model: "openai/gpt-5.5", maxOutputTokens: 32000 },
13
- "gpt4o": { provider: "openai", model: "openai/gpt-4o", maxOutputTokens: 16384 },
14
- o4: { provider: "openai", model: "openai/o4-mini", maxOutputTokens: 100000 },
15
- o3: { provider: "openai", model: "openai/o3", maxOutputTokens: 100000 },
16
- deepseek: { provider: "openai", model: "deepseek/deepseek-v3.2", maxOutputTokens: 8192 },
17
- "deepseek-r1": { provider: "openai", model: "deepseek/deepseek-r1", maxOutputTokens: 8192 },
18
- gemini: { provider: "openai", model: "google/gemini-3.1-pro-preview", maxOutputTokens: 65536 },
19
- "gemini-2.5": { provider: "openai", model: "google/gemini-2.5-pro", maxOutputTokens: 65536 },
20
- "gemini-flash": { provider: "openai", model: "google/gemini-3-flash-preview", maxOutputTokens: 65536 },
21
- qwen: { provider: "openai", model: "qwen/qwen3-235b-a22b", maxOutputTokens: 8192 },
22
- "qwen-coder": { provider: "openai", model: "qwen/qwen3-coder", maxOutputTokens: 16384 },
23
- llama: { provider: "openai", model: "meta-llama/llama-4-maverick", maxOutputTokens: 32000 },
24
- devstral: { provider: "openai", model: "mistralai/devstral-medium", maxOutputTokens: 24000 },
25
- };
26
- /**
27
- * Look up max output tokens for a model string, falling back to a safe default.
28
- *
29
- * Lookup order:
30
- * 1. Arena preset key (e.g. "claude", "gpt") — short aliases used in arena UX
31
- * 2. Arena preset model path (e.g. "anthropic/claude-opus-4.6")
32
- * 3. resolveMaxOutput — the canonical table in onboarding.ts that also covers
33
- * direct-provider IDs (deepseek-v4-pro, …) and OpenRouter snapshot
34
- * 4. 8192 — final safe fallback
35
- */
36
- export function getMaxOutputTokens(model) {
37
- const byKey = MODEL_PRESETS[model];
38
- if (byKey)
39
- return byKey.maxOutputTokens;
40
- const byModel = Object.values(MODEL_PRESETS).find((p) => p.model === model);
41
- if (byModel)
42
- return byModel.maxOutputTokens;
43
- return resolveMaxOutput(model) ?? 8192;
44
- }
@@ -1,25 +0,0 @@
1
- /**
2
- * Adjudication — the moderator makes evidence-based rulings on contested claims.
3
- *
4
- * For each contested/debated claim, the moderator sees the full claim context
5
- * (evidence, challenges, debate rounds) and produces a ClaimAdjudication.
6
- *
7
- * Claims that were verified without contest get synthetic adjudication records.
8
- */
9
- import type { ArenaParticipant, ArenaStrategy, ClaimAdjudication, ArenaProgressEvent, ArenaUsageRecorder } from "../types.js";
10
- import type { ArenaLedger } from "../ledger.js";
11
- interface AdjudicationOptions {
12
- concluder: ArenaParticipant;
13
- strategy: ArenaStrategy;
14
- topic: string;
15
- ledger: ArenaLedger;
16
- signal?: AbortSignal;
17
- onProgress?: (event: ArenaProgressEvent) => void;
18
- onUsage?: ArenaUsageRecorder;
19
- }
20
- /**
21
- * Run adjudication phase. The moderator rules on contested claims.
22
- * Verified claims get synthetic adjudications.
23
- */
24
- export declare function runAdjudication(options: AdjudicationOptions): Promise<ClaimAdjudication[]>;
25
- export {};