@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,212 +0,0 @@
1
- // Adapted from openai/codex codex-rs/apply-patch/src/parser.rs (Apache-2.0).
2
- //
3
- // V4A patch grammar (lenient form):
4
- //
5
- // start := begin_patch hunk* end_patch
6
- // begin_patch := "*** Begin Patch" LF
7
- // end_patch := "*** End Patch" LF?
8
- // hunk := add_hunk | delete_hunk | update_hunk
9
- // add_hunk := "*** Add File: " path LF ("+" line LF)+
10
- // delete_hunk := "*** Delete File: " path LF
11
- // update_hunk := "*** Update File: " path LF change_move? change?
12
- // change_move := "*** Move to: " path LF
13
- // change := (change_context | change_line)+ eof_line?
14
- // change_line := (" " | "+" | "-") text LF
15
- // eof_line := "*** End of File" LF
16
- //
17
- // Lenient extras:
18
- // - Leading/trailing whitespace around begin/end markers tolerated.
19
- // - First Update chunk may omit the leading `@@` context marker.
20
- // - Patch text may be wrapped in <<EOF / <<'EOF' / <<"EOF" heredoc; we strip
21
- // it so misformatted shell-style invocations still parse.
22
- import { PatchParseError } from "./types.js";
23
- export const BEGIN_PATCH_MARKER = "*** Begin Patch";
24
- export const END_PATCH_MARKER = "*** End Patch";
25
- export const ADD_FILE_MARKER = "*** Add File: ";
26
- export const DELETE_FILE_MARKER = "*** Delete File: ";
27
- export const UPDATE_FILE_MARKER = "*** Update File: ";
28
- export const MOVE_TO_MARKER = "*** Move to: ";
29
- export const EOF_MARKER = "*** End of File";
30
- export const CHANGE_CONTEXT_MARKER = "@@ ";
31
- export const EMPTY_CHANGE_CONTEXT_MARKER = "@@";
32
- export function parsePatch(text, mode = "lenient") {
33
- const trimmed = text.trim();
34
- const lines = trimmed.length === 0 ? [] : trimmed.split("\n");
35
- const inner = mode === "strict"
36
- ? checkBoundariesStrict(lines)
37
- : checkBoundariesLenient(lines);
38
- const hunks = [];
39
- let lineNumber = 2;
40
- let i = 0;
41
- while (i < inner.body.length) {
42
- const { hunk, consumed } = parseOneHunk(inner.body, i, lineNumber);
43
- hunks.push(hunk);
44
- lineNumber += consumed;
45
- i += consumed;
46
- }
47
- return { hunks, patch: inner.allLines.join("\n") };
48
- }
49
- function checkBoundariesStrict(lines) {
50
- const first = lines[0]?.trim();
51
- const last = lines[lines.length - 1]?.trim();
52
- if (first !== BEGIN_PATCH_MARKER) {
53
- throw new PatchParseError("InvalidPatch", "The first line of the patch must be '*** Begin Patch'");
54
- }
55
- if (lines.length < 2 || last !== END_PATCH_MARKER) {
56
- throw new PatchParseError("InvalidPatch", "The last line of the patch must be '*** End Patch'");
57
- }
58
- return { allLines: lines, body: lines.slice(1, lines.length - 1) };
59
- }
60
- function checkBoundariesLenient(lines) {
61
- try {
62
- return checkBoundariesStrict(lines);
63
- }
64
- catch (err) {
65
- const original = err;
66
- if (lines.length >= 4) {
67
- const first = lines[0];
68
- const last = lines[lines.length - 1];
69
- const isHeredoc = (first === "<<EOF" || first === "<<'EOF'" || first === '<<"EOF"') &&
70
- last.endsWith("EOF");
71
- if (isHeredoc) {
72
- return checkBoundariesStrict(lines.slice(1, lines.length - 1));
73
- }
74
- }
75
- throw original;
76
- }
77
- }
78
- function parseOneHunk(lines, offset, lineNumber) {
79
- const first = lines[offset].trim();
80
- if (first.startsWith(ADD_FILE_MARKER)) {
81
- const path = first.slice(ADD_FILE_MARKER.length);
82
- let contents = "";
83
- let consumed = 1;
84
- for (let i = offset + 1; i < lines.length; i++) {
85
- const line = lines[i];
86
- if (line.startsWith("+")) {
87
- contents += line.slice(1) + "\n";
88
- consumed++;
89
- }
90
- else {
91
- break;
92
- }
93
- }
94
- return { hunk: { kind: "add", path, contents }, consumed };
95
- }
96
- if (first.startsWith(DELETE_FILE_MARKER)) {
97
- return {
98
- hunk: { kind: "delete", path: first.slice(DELETE_FILE_MARKER.length) },
99
- consumed: 1,
100
- };
101
- }
102
- if (first.startsWith(UPDATE_FILE_MARKER)) {
103
- const path = first.slice(UPDATE_FILE_MARKER.length);
104
- let cursor = offset + 1;
105
- let consumed = 1;
106
- let movePath;
107
- if (cursor < lines.length && lines[cursor].startsWith(MOVE_TO_MARKER)) {
108
- movePath = lines[cursor].slice(MOVE_TO_MARKER.length);
109
- cursor++;
110
- consumed++;
111
- }
112
- const chunks = [];
113
- while (cursor < lines.length) {
114
- // Skip blank lines between chunks.
115
- if (lines[cursor].trim() === "") {
116
- cursor++;
117
- consumed++;
118
- continue;
119
- }
120
- // Stop at any other top-level marker (`*** ...`).
121
- if (lines[cursor].startsWith("*"))
122
- break;
123
- const result = parseUpdateChunk(lines, cursor, lineNumber + consumed, chunks.length === 0);
124
- chunks.push(result.chunk);
125
- cursor += result.consumed;
126
- consumed += result.consumed;
127
- }
128
- if (chunks.length === 0) {
129
- throw new PatchParseError("InvalidHunk", `Update file hunk for path '${path}' is empty`, lineNumber);
130
- }
131
- return {
132
- hunk: { kind: "update", path, movePath, chunks },
133
- consumed,
134
- };
135
- }
136
- throw new PatchParseError("InvalidHunk", `'${first}' is not a valid hunk header. Valid hunk headers: ` +
137
- `'*** Add File: {path}', '*** Delete File: {path}', '*** Update File: {path}'`, lineNumber);
138
- }
139
- function parseUpdateChunk(lines, offset, lineNumber, allowMissingContext) {
140
- if (offset >= lines.length) {
141
- throw new PatchParseError("InvalidHunk", "Update hunk does not contain any lines", lineNumber);
142
- }
143
- const head = lines[offset];
144
- let changeContext;
145
- let cursor = offset;
146
- if (head === EMPTY_CHANGE_CONTEXT_MARKER) {
147
- cursor = offset + 1;
148
- }
149
- else if (head.startsWith(CHANGE_CONTEXT_MARKER)) {
150
- changeContext = head.slice(CHANGE_CONTEXT_MARKER.length);
151
- cursor = offset + 1;
152
- }
153
- else if (!allowMissingContext) {
154
- throw new PatchParseError("InvalidHunk", `Expected update hunk to start with a @@ context marker, got: '${head}'`, lineNumber);
155
- }
156
- if (cursor >= lines.length) {
157
- throw new PatchParseError("InvalidHunk", "Update hunk does not contain any lines", lineNumber + 1);
158
- }
159
- const oldLines = [];
160
- const newLines = [];
161
- let isEndOfFile = false;
162
- let bodyConsumed = 0;
163
- for (let i = cursor; i < lines.length; i++) {
164
- const line = lines[i];
165
- if (line === EOF_MARKER) {
166
- if (bodyConsumed === 0) {
167
- throw new PatchParseError("InvalidHunk", "Update hunk does not contain any lines", lineNumber + 1);
168
- }
169
- isEndOfFile = true;
170
- bodyConsumed++;
171
- break;
172
- }
173
- if (line.length === 0) {
174
- // Blank line — treat as a context line containing the empty string.
175
- oldLines.push("");
176
- newLines.push("");
177
- bodyConsumed++;
178
- continue;
179
- }
180
- const marker = line[0];
181
- const rest = line.slice(1);
182
- if (marker === " ") {
183
- oldLines.push(rest);
184
- newLines.push(rest);
185
- }
186
- else if (marker === "+") {
187
- newLines.push(rest);
188
- }
189
- else if (marker === "-") {
190
- oldLines.push(rest);
191
- }
192
- else {
193
- // First unrecognized character at position 0 with no body yet → error.
194
- // Otherwise, assume this is the start of the next hunk.
195
- if (bodyConsumed === 0) {
196
- throw new PatchParseError("InvalidHunk", `Unexpected line found in update hunk: '${line}'. Every line should start ` +
197
- `with ' ' (context line), '+' (added line), or '-' (removed line)`, lineNumber + 1);
198
- }
199
- break;
200
- }
201
- bodyConsumed++;
202
- }
203
- return {
204
- chunk: {
205
- changeContext,
206
- oldLines,
207
- newLines,
208
- isEndOfFile,
209
- },
210
- consumed: bodyConsumed + (cursor - offset),
211
- };
212
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Locate `pattern` within `lines` starting at or after `start`.
3
- *
4
- * Tries four passes with decreasing strictness:
5
- * 1. exact equality
6
- * 2. trailing whitespace ignored
7
- * 3. leading + trailing whitespace ignored
8
- * 4. Unicode punctuation normalized to ASCII (smart quotes, em-dashes, NBSP, …)
9
- *
10
- * When `eof` is true, search begins at the position that would let `pattern`
11
- * end exactly at the end of `lines` — useful for chunks marked
12
- * `*** End of File`. Falls back to `start` if that position is out of range.
13
- *
14
- * Defensive cases:
15
- * - Empty pattern returns `start` (no-op match).
16
- * - Pattern longer than input returns `null`.
17
- */
18
- export declare function seekSequence(lines: string[], pattern: string[], start: number, eof: boolean): number | null;
@@ -1,123 +0,0 @@
1
- // Adapted from openai/codex codex-rs/apply-patch/src/seek_sequence.rs (Apache-2.0).
2
- /**
3
- * Locate `pattern` within `lines` starting at or after `start`.
4
- *
5
- * Tries four passes with decreasing strictness:
6
- * 1. exact equality
7
- * 2. trailing whitespace ignored
8
- * 3. leading + trailing whitespace ignored
9
- * 4. Unicode punctuation normalized to ASCII (smart quotes, em-dashes, NBSP, …)
10
- *
11
- * When `eof` is true, search begins at the position that would let `pattern`
12
- * end exactly at the end of `lines` — useful for chunks marked
13
- * `*** End of File`. Falls back to `start` if that position is out of range.
14
- *
15
- * Defensive cases:
16
- * - Empty pattern returns `start` (no-op match).
17
- * - Pattern longer than input returns `null`.
18
- */
19
- export function seekSequence(lines, pattern, start, eof) {
20
- if (pattern.length === 0)
21
- return start;
22
- if (pattern.length > lines.length)
23
- return null;
24
- const searchStart = eof && lines.length >= pattern.length ? lines.length - pattern.length : start;
25
- const lastStart = lines.length - pattern.length;
26
- // Pass 1: exact equality.
27
- for (let i = searchStart; i <= lastStart; i++) {
28
- let ok = true;
29
- for (let p = 0; p < pattern.length; p++) {
30
- if (lines[i + p] !== pattern[p]) {
31
- ok = false;
32
- break;
33
- }
34
- }
35
- if (ok)
36
- return i;
37
- }
38
- // Pass 2: trim trailing whitespace.
39
- for (let i = searchStart; i <= lastStart; i++) {
40
- let ok = true;
41
- for (let p = 0; p < pattern.length; p++) {
42
- if (rtrim(lines[i + p]) !== rtrim(pattern[p])) {
43
- ok = false;
44
- break;
45
- }
46
- }
47
- if (ok)
48
- return i;
49
- }
50
- // Pass 3: trim both sides.
51
- for (let i = searchStart; i <= lastStart; i++) {
52
- let ok = true;
53
- for (let p = 0; p < pattern.length; p++) {
54
- if (lines[i + p].trim() !== pattern[p].trim()) {
55
- ok = false;
56
- break;
57
- }
58
- }
59
- if (ok)
60
- return i;
61
- }
62
- // Pass 4: Unicode normalize (smart quotes / dashes / NBSP → ASCII).
63
- for (let i = searchStart; i <= lastStart; i++) {
64
- let ok = true;
65
- for (let p = 0; p < pattern.length; p++) {
66
- if (normalize(lines[i + p]) !== normalize(pattern[p])) {
67
- ok = false;
68
- break;
69
- }
70
- }
71
- if (ok)
72
- return i;
73
- }
74
- return null;
75
- }
76
- function rtrim(s) {
77
- return s.replace(/[\s\uFEFF\xA0]+$/u, "");
78
- }
79
- function normalize(s) {
80
- let out = "";
81
- for (const ch of s.trim()) {
82
- const code = ch.codePointAt(0);
83
- // Various dash / hyphen code-points → ASCII '-'
84
- if (code === 0x2010 ||
85
- code === 0x2011 ||
86
- code === 0x2012 ||
87
- code === 0x2013 ||
88
- code === 0x2014 ||
89
- code === 0x2015 ||
90
- code === 0x2212) {
91
- out += "-";
92
- }
93
- else if (
94
- // Fancy single quotes → '
95
- code === 0x2018 ||
96
- code === 0x2019 ||
97
- code === 0x201a ||
98
- code === 0x201b) {
99
- out += "'";
100
- }
101
- else if (
102
- // Fancy double quotes → "
103
- code === 0x201c ||
104
- code === 0x201d ||
105
- code === 0x201e ||
106
- code === 0x201f) {
107
- out += '"';
108
- }
109
- else if (
110
- // Non-breaking and exotic spaces → regular space
111
- code === 0x00a0 ||
112
- (code >= 0x2002 && code <= 0x200a) ||
113
- code === 0x202f ||
114
- code === 0x205f ||
115
- code === 0x3000) {
116
- out += " ";
117
- }
118
- else {
119
- out += ch;
120
- }
121
- }
122
- return out;
123
- }
@@ -1,49 +0,0 @@
1
- /**
2
- * V4A patch AST. A parsed patch is a list of Hunks; each Hunk targets one file.
3
- *
4
- * Three variants:
5
- * - AddFile: create a new file with the given contents
6
- * - DeleteFile: remove an existing file
7
- * - UpdateFile: in-place edit (optionally with a rename via movePath),
8
- * expressed as one or more UpdateFileChunks.
9
- */
10
- export type Hunk = {
11
- kind: "add";
12
- path: string;
13
- contents: string;
14
- } | {
15
- kind: "delete";
16
- path: string;
17
- } | {
18
- kind: "update";
19
- path: string;
20
- movePath?: string;
21
- chunks: UpdateFileChunk[];
22
- };
23
- export interface UpdateFileChunk {
24
- /** Optional `@@ <context>` anchor that narrows where this chunk applies. */
25
- changeContext?: string;
26
- /** Lines that must match in the existing file (` ` and `-` markers). */
27
- oldLines: string[];
28
- /** Lines that should appear after the edit (` ` and `+` markers). */
29
- newLines: string[];
30
- /** True if this chunk ended with `*** End of File`; matches only at EOF. */
31
- isEndOfFile: boolean;
32
- }
33
- export declare class PatchParseError extends Error {
34
- readonly kind: "InvalidPatch" | "InvalidHunk";
35
- readonly lineNumber?: number;
36
- constructor(kind: "InvalidPatch" | "InvalidHunk", message: string, lineNumber?: number);
37
- }
38
- /**
39
- * Result of staging (dry-run) a single file's planned change.
40
- *
41
- * A rename is represented as two PlannedFileChange entries: one for the
42
- * source path with `newContent: null` (delete) and one for the destination
43
- * path with the new content.
44
- */
45
- export interface PlannedFileChange {
46
- path: string;
47
- /** null = delete; string = create-or-overwrite with this content. */
48
- newContent: string | null;
49
- }
@@ -1,13 +0,0 @@
1
- // Adapted from openai/codex codex-rs/apply-patch (Apache-2.0).
2
- // Original Rust source: https://github.com/openai/codex/tree/main/codex-rs/apply-patch
3
- // See LICENSE-codex in this directory.
4
- export class PatchParseError extends Error {
5
- kind;
6
- lineNumber;
7
- constructor(kind, message, lineNumber) {
8
- super(message);
9
- this.name = "PatchParseError";
10
- this.kind = kind;
11
- this.lineNumber = lineNumber;
12
- }
13
- }
@@ -1,31 +0,0 @@
1
- /**
2
- * Built-in Arena tool — multi-model collaborative analysis.
3
- *
4
- * Launches an arena session where multiple LLM participants independently
5
- * research a topic, cross-review each other's findings, and build consensus.
6
- *
7
- * The LLM config (baseUrl, apiKey) is injected at runtime by the Engine via
8
- * setArenaLLMConfig(), following the same pattern as setAskUserFn() and
9
- * setSubAgentConfig().
10
- */
11
- import type { ToolDefinition } from "../../types.js";
12
- import type { ToolContext } from "../context.js";
13
- export declare const arenaToolDef: ToolDefinition;
14
- /**
15
- * Snapshot of what Arena would do right now if invoked. Used by the
16
- * `/arena` REPL command (via the protocol `arena_status` query) so
17
- * users can see participants/endpoint before launching a run.
18
- */
19
- export interface ArenaStatus {
20
- endpoint?: string;
21
- defaultParticipants: Array<{
22
- name: string;
23
- model: string;
24
- source: "pool" | "preset" | "raw";
25
- compatible: boolean;
26
- reason?: string;
27
- }>;
28
- poolSize: number;
29
- }
30
- export declare function getArenaStatus(): ArenaStatus;
31
- export declare function arenaTool(args: Record<string, unknown>, ctx?: ToolContext): Promise<string>;