@cjhyy/code-shell-core 0.7.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/README.md +36 -23
  2. package/dist/agent/agent-definition-registry.d.ts +2 -2
  3. package/dist/agent/agent-definition-registry.js +47 -10
  4. package/dist/agent/agent-definition.d.ts +5 -0
  5. package/dist/agent/agent-definition.js +14 -0
  6. package/dist/automation/index.d.ts +7 -4
  7. package/dist/automation/index.js +4 -2
  8. package/dist/automation/runner.js +3 -1
  9. package/dist/automation/scheduler.d.ts +57 -1
  10. package/dist/automation/scheduler.js +123 -23
  11. package/dist/automation/store.d.ts +6 -2
  12. package/dist/automation/store.js +7 -3
  13. package/dist/capabilities/index.d.ts +109 -0
  14. package/dist/capabilities/index.js +80 -0
  15. package/dist/capability-control/disabled-lists.d.ts +2 -1
  16. package/dist/capability-control/disabled-lists.js +3 -5
  17. package/dist/capability-control/overlay.d.ts +14 -1
  18. package/dist/capability-control/overlay.js +40 -0
  19. package/dist/capability-control/service.js +6 -4
  20. package/dist/cli/agent-server-stdio.d.ts +1 -1
  21. package/dist/cli/agent-server-stdio.js +66 -6
  22. package/dist/cli/agent-server-tcp.js +7 -3
  23. package/dist/context/compaction.d.ts +39 -3
  24. package/dist/context/compaction.js +151 -39
  25. package/dist/context/manager.d.ts +17 -1
  26. package/dist/context/manager.js +36 -1
  27. package/dist/credentials/access.d.ts +3 -1
  28. package/dist/credentials/access.js +24 -3
  29. package/dist/credentials/index.d.ts +1 -1
  30. package/dist/credentials/index.js +1 -1
  31. package/dist/credentials/oauth.d.ts +4 -1
  32. package/dist/credentials/oauth.js +14 -0
  33. package/dist/credentials/store.d.ts +15 -1
  34. package/dist/credentials/store.js +17 -4
  35. package/dist/credentials/types.d.ts +24 -0
  36. package/dist/credentials/use-credential-tool.js +15 -1
  37. package/dist/engine/auxiliary-pipeline.d.ts +40 -0
  38. package/dist/engine/auxiliary-pipeline.js +181 -0
  39. package/dist/{settings → engine}/disk-defaults.d.ts +2 -2
  40. package/dist/{settings → engine}/disk-defaults.js +5 -2
  41. package/dist/engine/dynamic-tool-defs.d.ts +4 -0
  42. package/dist/engine/dynamic-tool-defs.js +4 -0
  43. package/dist/engine/engine.d.ts +254 -195
  44. package/dist/engine/engine.js +1812 -2041
  45. package/dist/engine/file-history-hook.d.ts +11 -0
  46. package/dist/engine/file-history-hook.js +31 -0
  47. package/dist/engine/goal-judge-context.d.ts +9 -0
  48. package/dist/engine/goal-judge-context.js +234 -0
  49. package/dist/engine/injected-context-cache.d.ts +6 -0
  50. package/dist/engine/injected-context-cache.js +13 -0
  51. package/dist/engine/input-attachments.d.ts +1 -1
  52. package/dist/engine/model-facade.d.ts +3 -3
  53. package/dist/engine/model-facade.js +15 -14
  54. package/dist/engine/permission-controller.d.ts +55 -0
  55. package/dist/engine/permission-controller.js +148 -0
  56. package/dist/engine/prompt-cache-diagnostics.d.ts +58 -0
  57. package/dist/engine/prompt-cache-diagnostics.js +178 -0
  58. package/dist/engine/run-accounting.d.ts +41 -0
  59. package/dist/engine/run-accounting.js +126 -0
  60. package/dist/engine/run-context.d.ts +44 -0
  61. package/dist/engine/run-context.js +88 -0
  62. package/dist/engine/run-environment.d.ts +30 -0
  63. package/dist/engine/run-environment.js +77 -0
  64. package/dist/engine/run-finalize.d.ts +58 -0
  65. package/dist/engine/run-finalize.js +245 -0
  66. package/dist/engine/run-goal.d.ts +58 -0
  67. package/dist/engine/run-goal.js +188 -0
  68. package/dist/engine/run-image-input.d.ts +1 -1
  69. package/dist/engine/run-image-input.js +5 -3
  70. package/dist/engine/run-session-open.d.ts +41 -0
  71. package/dist/engine/run-session-open.js +186 -0
  72. package/dist/engine/run-setup.d.ts +42 -0
  73. package/dist/engine/run-setup.js +58 -0
  74. package/dist/engine/run-tooling.d.ts +125 -0
  75. package/dist/engine/run-tooling.js +283 -0
  76. package/dist/engine/run-types.d.ts +139 -0
  77. package/dist/engine/run-types.js +12 -0
  78. package/dist/engine/run-workspace.d.ts +50 -0
  79. package/dist/engine/run-workspace.js +114 -0
  80. package/dist/engine/steer-queue.d.ts +1 -1
  81. package/dist/engine/subagent-spawner.d.ts +32 -0
  82. package/dist/engine/subagent-spawner.js +287 -0
  83. package/dist/engine/tool-summary.d.ts +2 -2
  84. package/dist/engine/tool-summary.js +2 -2
  85. package/dist/engine/turn-loop.d.ts +49 -10
  86. package/dist/engine/turn-loop.js +370 -104
  87. package/dist/engine/types.d.ts +30 -3
  88. package/dist/engine/types.js +1 -1
  89. package/dist/{engine/goal.d.ts → goal/lifecycle.d.ts} +76 -4
  90. package/dist/goal/lifecycle.js +482 -0
  91. package/dist/hooks/events.d.ts +24 -10
  92. package/dist/hooks/goal-stop-hook.d.ts +17 -28
  93. package/dist/hooks/goal-stop-hook.js +110 -465
  94. package/dist/hooks/registry.js +1 -1
  95. package/dist/index.d.ts +48 -108
  96. package/dist/index.extension.d.ts +51 -0
  97. package/dist/index.extension.js +39 -0
  98. package/dist/index.internal.d.ts +86 -0
  99. package/dist/index.internal.js +92 -0
  100. package/dist/index.js +34 -123
  101. package/dist/links/cli.d.ts +48 -0
  102. package/dist/links/cli.js +617 -0
  103. package/dist/links/http.d.ts +40 -0
  104. package/dist/links/http.js +166 -0
  105. package/dist/links/index.d.ts +4 -0
  106. package/dist/links/index.js +3 -0
  107. package/dist/links/link-action-tool.d.ts +5 -0
  108. package/dist/links/link-action-tool.js +241 -0
  109. package/dist/links/providers.d.ts +8 -0
  110. package/dist/links/providers.js +665 -0
  111. package/dist/links/types.d.ts +44 -0
  112. package/dist/llm/client-base.d.ts +7 -0
  113. package/dist/llm/client-base.js +60 -0
  114. package/dist/llm/model-pool.d.ts +1 -1
  115. package/dist/llm/model-pool.js +1 -1
  116. package/dist/llm/providers/anthropic.d.ts +1 -0
  117. package/dist/llm/providers/anthropic.js +9 -0
  118. package/dist/llm/providers/openai.d.ts +1 -0
  119. package/dist/llm/providers/openai.js +17 -0
  120. package/dist/model-catalog/index.js +15 -2
  121. package/dist/model-catalog/resolve.d.ts +13 -1
  122. package/dist/model-catalog/resolve.js +37 -2
  123. package/dist/model-catalog/types.d.ts +74 -48
  124. package/dist/model-catalog/types.js +16 -5
  125. package/dist/model-catalog/upsert.d.ts +3 -1
  126. package/dist/model-catalog/upsert.js +9 -0
  127. package/dist/onboarding.d.ts +0 -1
  128. package/dist/onboarding.js +1 -22
  129. package/dist/panel-apps/bindings.d.ts +24 -0
  130. package/dist/panel-apps/bindings.js +69 -0
  131. package/dist/panel-apps/github-archive.d.ts +21 -0
  132. package/dist/panel-apps/github-archive.js +98 -0
  133. package/dist/panel-apps/index.d.ts +4 -0
  134. package/dist/panel-apps/index.js +4 -0
  135. package/dist/panel-apps/installer.d.ts +68 -0
  136. package/dist/panel-apps/installer.js +622 -0
  137. package/dist/panel-apps/manifest.d.ts +364 -0
  138. package/dist/panel-apps/manifest.js +189 -0
  139. package/dist/panel-apps/paths.d.ts +13 -0
  140. package/dist/panel-apps/paths.js +38 -0
  141. package/dist/panel-apps/registry.d.ts +51 -0
  142. package/dist/panel-apps/registry.js +99 -0
  143. package/dist/panel-apps/runtime.d.ts +80 -0
  144. package/dist/panel-apps/runtime.js +154 -0
  145. package/dist/plugins/gitOps.js +8 -1
  146. package/dist/plugins/installedPlugins.d.ts +2 -1
  147. package/dist/plugins/installedPlugins.js +146 -8
  148. package/dist/plugins/installer/codex/convertAgents.d.ts +4 -1
  149. package/dist/plugins/installer/codex/convertAgents.js +62 -8
  150. package/dist/plugins/installer/codex/convertCommands.d.ts +5 -5
  151. package/dist/plugins/installer/codex/convertCommands.js +35 -12
  152. package/dist/plugins/installer/codex/convertHooks.d.ts +10 -0
  153. package/dist/plugins/installer/codex/convertHooks.js +82 -0
  154. package/dist/plugins/installer/codex/convertSkills.js +41 -6
  155. package/dist/plugins/installer/install.d.ts +7 -1
  156. package/dist/plugins/installer/install.js +21 -87
  157. package/dist/plugins/installer/installFromArchive.d.ts +26 -4
  158. package/dist/plugins/installer/installFromArchive.js +44 -27
  159. package/dist/plugins/installer/installFromNpm.d.ts +31 -0
  160. package/dist/plugins/installer/installFromNpm.js +273 -0
  161. package/dist/plugins/installer/loadPluginAgents.js +17 -4
  162. package/dist/plugins/installer/loadPluginMcp.d.ts +14 -0
  163. package/dist/plugins/installer/loadPluginMcp.js +245 -35
  164. package/dist/plugins/installer/normalizeManifest.d.ts +13 -0
  165. package/dist/plugins/installer/normalizeManifest.js +306 -0
  166. package/dist/plugins/installer/npmTar.d.ts +13 -0
  167. package/dist/plugins/installer/npmTar.js +321 -0
  168. package/dist/plugins/installer/parseSource.d.ts +11 -0
  169. package/dist/plugins/installer/parseSource.js +48 -0
  170. package/dist/plugins/installer/preview.d.ts +101 -0
  171. package/dist/plugins/installer/preview.js +336 -0
  172. package/dist/plugins/installer/projectPluginSource.d.ts +14 -0
  173. package/dist/plugins/installer/projectPluginSource.js +140 -0
  174. package/dist/plugins/installer/types.d.ts +775 -0
  175. package/dist/plugins/installer/types.js +100 -0
  176. package/dist/plugins/installer/unzip.d.ts +11 -0
  177. package/dist/plugins/installer/unzip.js +123 -9
  178. package/dist/plugins/installer/update.d.ts +2 -2
  179. package/dist/plugins/installer/update.js +43 -4
  180. package/dist/plugins/loadPluginHooks.d.ts +19 -2
  181. package/dist/plugins/loadPluginHooks.js +97 -86
  182. package/dist/plugins/pluginAutomationTemplates.d.ts +18 -0
  183. package/dist/plugins/pluginAutomationTemplates.js +50 -0
  184. package/dist/plugins/pluginCatalog.d.ts +45 -0
  185. package/dist/plugins/pluginCatalog.js +87 -0
  186. package/dist/plugins/pluginCommandHook.d.ts +6 -0
  187. package/dist/plugins/pluginCommandHook.js +25 -8
  188. package/dist/plugins/pluginCommandsLoader.d.ts +19 -0
  189. package/dist/plugins/pluginCommandsLoader.js +181 -7
  190. package/dist/plugins/pluginContent.d.ts +10 -1
  191. package/dist/plugins/pluginContent.js +87 -30
  192. package/dist/plugins/pluginHookApproval.d.ts +30 -0
  193. package/dist/plugins/pluginHookApproval.js +160 -0
  194. package/dist/plugins/pluginHookIntegrity.d.ts +69 -0
  195. package/dist/plugins/pluginHookIntegrity.js +361 -0
  196. package/dist/plugins/pluginInstaller.js +71 -12
  197. package/dist/plugins/pluginMcpApproval.d.ts +19 -0
  198. package/dist/plugins/pluginMcpApproval.js +110 -0
  199. package/dist/plugins/pluginMcpIntegrity.d.ts +21 -0
  200. package/dist/plugins/pluginMcpIntegrity.js +74 -0
  201. package/dist/plugins/types.d.ts +30 -0
  202. package/dist/plugins/varRewrite.d.ts +9 -5
  203. package/dist/plugins/varRewrite.js +26 -17
  204. package/dist/preset/index.d.ts +11 -8
  205. package/dist/preset/index.js +62 -203
  206. package/dist/product/define.js +9 -3
  207. package/dist/product/types.d.ts +0 -2
  208. package/dist/profile/activation.d.ts +36 -0
  209. package/dist/profile/activation.js +57 -0
  210. package/dist/profile/catalog-store.d.ts +77 -0
  211. package/dist/profile/catalog-store.js +346 -0
  212. package/dist/profile/catalog.d.ts +54 -0
  213. package/dist/profile/catalog.js +152 -0
  214. package/dist/profile/index.d.ts +7 -0
  215. package/dist/profile/index.js +7 -0
  216. package/dist/profile/requirements.d.ts +76 -0
  217. package/dist/profile/requirements.js +117 -0
  218. package/dist/profile/resolve.d.ts +11 -0
  219. package/dist/profile/resolve.js +41 -0
  220. package/dist/profile/store.d.ts +17 -0
  221. package/dist/profile/store.js +167 -0
  222. package/dist/profile/types.d.ts +321 -0
  223. package/dist/profile/types.js +104 -0
  224. package/dist/prompt/composer.d.ts +46 -7
  225. package/dist/prompt/composer.js +78 -48
  226. package/dist/prompt/instruction-scanner.d.ts +6 -5
  227. package/dist/prompt/instruction-scanner.js +8 -23
  228. package/dist/prompt/section-loader.d.ts +2 -2
  229. package/dist/prompt/section-loader.js +7 -4
  230. package/dist/prompt/sections/browser.md +10 -9
  231. package/dist/prompt/sections/harness-base.md +9 -0
  232. package/dist/protocol/chat-session-manager.d.ts +64 -1
  233. package/dist/protocol/chat-session-manager.js +104 -0
  234. package/dist/protocol/chat-session.d.ts +61 -10
  235. package/dist/protocol/chat-session.js +135 -25
  236. package/dist/protocol/client.d.ts +33 -3
  237. package/dist/protocol/client.js +96 -5
  238. package/dist/protocol/index.d.ts +2 -2
  239. package/dist/protocol/index.js +2 -2
  240. package/dist/protocol/mobile-remote-types.d.ts +406 -0
  241. package/dist/protocol/mobile-remote-types.js +1 -0
  242. package/dist/protocol/server.d.ts +127 -3
  243. package/dist/protocol/server.js +1309 -182
  244. package/dist/protocol/types.d.ts +152 -34
  245. package/dist/protocol/types.js +16 -0
  246. package/dist/run/ArtifactTracker.d.ts +6 -1
  247. package/dist/run/ArtifactTracker.js +29 -21
  248. package/dist/run/EngineRunner.d.ts +2 -0
  249. package/dist/run/EngineRunner.js +1 -0
  250. package/dist/run/RunManager.d.ts +26 -0
  251. package/dist/run/RunManager.js +82 -11
  252. package/dist/run/factory.d.ts +3 -0
  253. package/dist/run/factory.js +2 -0
  254. package/dist/runtime/safe-spawn.d.ts +6 -0
  255. package/dist/runtime/safe-spawn.js +8 -13
  256. package/dist/services/auto-dream.d.ts +13 -1
  257. package/dist/services/auto-dream.js +56 -8
  258. package/dist/services/dream-consolidation.js +10 -1
  259. package/dist/services/memory-orchestrator.js +6 -2
  260. package/dist/services/oauth.js +4 -1
  261. package/dist/services/session-memory.d.ts +4 -4
  262. package/dist/services/session-memory.js +13 -10
  263. package/dist/session/memory.d.ts +26 -7
  264. package/dist/session/memory.js +79 -21
  265. package/dist/session/session-manager.d.ts +182 -28
  266. package/dist/session/session-manager.js +910 -130
  267. package/dist/session/session-message.d.ts +22 -0
  268. package/dist/session/session-message.js +1 -0
  269. package/dist/session/transcript.d.ts +46 -5
  270. package/dist/session/transcript.js +159 -3
  271. package/dist/settings/feature-flags.d.ts +40 -0
  272. package/dist/settings/feature-flags.js +40 -0
  273. package/dist/settings/manager.d.ts +39 -1
  274. package/dist/settings/manager.js +102 -41
  275. package/dist/settings/migrate-config.js +4 -2
  276. package/dist/settings/schema.d.ts +511 -177
  277. package/dist/settings/schema.js +98 -25
  278. package/dist/skills/scanner.d.ts +6 -2
  279. package/dist/skills/scanner.js +160 -9
  280. package/dist/sources/adapter.d.ts +14 -0
  281. package/dist/sources/adapter.js +7 -0
  282. package/dist/sources/adapters/local-files.d.ts +10 -0
  283. package/dist/sources/adapters/local-files.js +127 -0
  284. package/dist/sources/adapters/mcp-resource.d.ts +17 -0
  285. package/dist/sources/adapters/mcp-resource.js +41 -0
  286. package/dist/sources/adapters/mock.d.ts +3 -0
  287. package/dist/sources/adapters/mock.js +29 -0
  288. package/dist/sources/binding.d.ts +6 -0
  289. package/dist/sources/binding.js +24 -0
  290. package/dist/sources/catalog.d.ts +6 -0
  291. package/dist/sources/catalog.js +64 -0
  292. package/dist/sources/context-summary.d.ts +8 -0
  293. package/dist/sources/context-summary.js +13 -0
  294. package/dist/sources/credential-status.d.ts +2 -0
  295. package/dist/sources/credential-status.js +13 -0
  296. package/dist/sources/index.d.ts +10 -0
  297. package/dist/sources/index.js +10 -0
  298. package/dist/sources/resolve.d.ts +28 -0
  299. package/dist/sources/resolve.js +47 -0
  300. package/dist/sources/truncate-utf8.d.ts +7 -0
  301. package/dist/sources/truncate-utf8.js +18 -0
  302. package/dist/sources/types.d.ts +71 -0
  303. package/dist/sources/types.js +26 -0
  304. package/dist/testing/fetch-stub.d.ts +32 -0
  305. package/dist/testing/fetch-stub.js +24 -0
  306. package/dist/themes/image.d.ts +18 -0
  307. package/dist/themes/image.js +117 -0
  308. package/dist/themes/index.d.ts +4 -0
  309. package/dist/themes/index.js +4 -0
  310. package/dist/themes/installer.d.ts +50 -0
  311. package/dist/themes/installer.js +290 -0
  312. package/dist/themes/manifest.d.ts +102 -0
  313. package/dist/themes/manifest.js +86 -0
  314. package/dist/themes/paths.d.ts +14 -0
  315. package/dist/themes/paths.js +33 -0
  316. package/dist/tool-system/browser-bridge.d.ts +53 -11
  317. package/dist/tool-system/browser-bridge.js +8 -9
  318. package/dist/tool-system/builtin/agent-heartbeat.d.ts +2 -2
  319. package/dist/tool-system/builtin/agent-heartbeat.js +20 -6
  320. package/dist/tool-system/builtin/agent-notifications.d.ts +127 -72
  321. package/dist/tool-system/builtin/agent-notifications.js +291 -101
  322. package/dist/tool-system/builtin/agent-output-file.js +1 -3
  323. package/dist/tool-system/builtin/agent-progress.d.ts +6 -0
  324. package/dist/tool-system/builtin/agent-progress.js +83 -0
  325. package/dist/tool-system/builtin/agent-registry.d.ts +38 -2
  326. package/dist/tool-system/builtin/agent-registry.js +178 -9
  327. package/dist/tool-system/builtin/agent-transcript-translator.js +1 -1
  328. package/dist/tool-system/builtin/agent.d.ts +2 -0
  329. package/dist/tool-system/builtin/agent.js +274 -33
  330. package/dist/tool-system/builtin/background-jobs.d.ts +55 -2
  331. package/dist/tool-system/builtin/background-jobs.js +96 -4
  332. package/dist/tool-system/builtin/background-work.d.ts +6 -0
  333. package/dist/tool-system/builtin/background-work.js +8 -1
  334. package/dist/tool-system/builtin/bash.js +5 -2
  335. package/dist/tool-system/builtin/browser-tools.d.ts +6 -3
  336. package/dist/tool-system/builtin/browser-tools.js +89 -23
  337. package/dist/tool-system/builtin/edit-model-catalog.d.ts +6 -0
  338. package/dist/tool-system/builtin/edit-model-catalog.js +172 -12
  339. package/dist/tool-system/builtin/edit.js +2 -6
  340. package/dist/tool-system/builtin/file-cache.d.ts +2 -0
  341. package/dist/tool-system/builtin/file-cache.js +4 -0
  342. package/dist/tool-system/builtin/generate-image.js +17 -10
  343. package/dist/tool-system/builtin/generate-video.js +26 -7
  344. package/dist/tool-system/builtin/grep.js +2 -2
  345. package/dist/tool-system/builtin/image-uploader.js +7 -1
  346. package/dist/tool-system/builtin/index.d.ts +32 -7
  347. package/dist/tool-system/builtin/index.js +237 -167
  348. package/dist/tool-system/builtin/memory.d.ts +6 -0
  349. package/dist/tool-system/builtin/memory.js +36 -15
  350. package/dist/tool-system/builtin/panel.d.ts +9 -0
  351. package/dist/tool-system/builtin/panel.js +314 -0
  352. package/dist/tool-system/builtin/read.js +5 -1
  353. package/dist/tool-system/builtin/send-message-to-session.d.ts +6 -0
  354. package/dist/tool-system/builtin/send-message-to-session.js +67 -0
  355. package/dist/tool-system/builtin/sources.d.ts +8 -0
  356. package/dist/tool-system/builtin/sources.js +137 -0
  357. package/dist/tool-system/builtin/tool-search.js +7 -2
  358. package/dist/tool-system/builtin/update-automation-memory.js +2 -0
  359. package/dist/tool-system/builtin/web-fetch.js +17 -13
  360. package/dist/tool-system/builtin/web-search.js +1 -3
  361. package/dist/tool-system/capability-module.d.ts +93 -0
  362. package/dist/tool-system/capability-module.js +53 -0
  363. package/dist/tool-system/context.d.ts +77 -19
  364. package/dist/tool-system/executor.js +75 -50
  365. package/dist/tool-system/external-tool-exposure.d.ts +60 -0
  366. package/dist/tool-system/external-tool-exposure.js +304 -0
  367. package/dist/tool-system/mcp-manager.d.ts +11 -1
  368. package/dist/tool-system/mcp-manager.js +19 -4
  369. package/dist/tool-system/mcp-tool-policy.d.ts +9 -0
  370. package/dist/tool-system/mcp-tool-policy.js +34 -0
  371. package/dist/tool-system/panel-bridge.d.ts +53 -0
  372. package/dist/tool-system/panel-bridge.js +1 -0
  373. package/dist/tool-system/permission.d.ts +26 -0
  374. package/dist/tool-system/permission.js +46 -0
  375. package/dist/tool-system/registry.d.ts +12 -1
  376. package/dist/tool-system/registry.js +31 -7
  377. package/dist/tool-system/sandbox/index.js +3 -8
  378. package/dist/tool-system/sandbox/seatbelt.js +2 -6
  379. package/dist/tool-system/session-tool-host.d.ts +139 -0
  380. package/dist/tool-system/session-tool-host.js +167 -0
  381. package/dist/tool-system/testing/tool-registry-harness.d.ts +31 -0
  382. package/dist/tool-system/testing/tool-registry-harness.js +51 -0
  383. package/dist/tool-system/validation.d.ts +14 -7
  384. package/dist/tool-system/validation.js +701 -7
  385. package/dist/types.d.ts +186 -20
  386. package/dist/{cc-orchestrator → utils}/cwd-normalize.d.ts +1 -0
  387. package/dist/{cc-orchestrator → utils}/cwd-normalize.js +1 -0
  388. package/dist/utils/file-mutex.d.ts +65 -0
  389. package/dist/utils/file-mutex.js +145 -0
  390. package/dist/utils/json.d.ts +2 -4
  391. package/dist/utils/json.js +2 -4
  392. package/dist/utils/lockfile.d.ts +30 -1
  393. package/dist/utils/lockfile.js +2 -2
  394. package/dist/utils/secret-scrubber.d.ts +8 -0
  395. package/dist/utils/secret-scrubber.js +227 -0
  396. package/dist/utils/toolDisplay.js +1 -1
  397. package/package.json +20 -5
  398. package/THIRD_PARTY_NOTICES.md +0 -206
  399. package/dist/arena/arena.d.ts +0 -45
  400. package/dist/arena/arena.js +0 -362
  401. package/dist/arena/context/context-tools.d.ts +0 -16
  402. package/dist/arena/context/context-tools.js +0 -272
  403. package/dist/arena/context/within-root.d.ts +0 -7
  404. package/dist/arena/context/within-root.js +0 -15
  405. package/dist/arena/detect-mode.d.ts +0 -20
  406. package/dist/arena/detect-mode.js +0 -78
  407. package/dist/arena/digest-builder.d.ts +0 -25
  408. package/dist/arena/digest-builder.js +0 -120
  409. package/dist/arena/index.d.ts +0 -29
  410. package/dist/arena/index.js +0 -29
  411. package/dist/arena/iterate/convergence.d.ts +0 -25
  412. package/dist/arena/iterate/convergence.js +0 -103
  413. package/dist/arena/iterate/formats/index.d.ts +0 -22
  414. package/dist/arena/iterate/formats/index.js +0 -283
  415. package/dist/arena/iterate/index.d.ts +0 -11
  416. package/dist/arena/iterate/index.js +0 -9
  417. package/dist/arena/iterate/iterative-arena.d.ts +0 -23
  418. package/dist/arena/iterate/iterative-arena.js +0 -237
  419. package/dist/arena/iterate/parse.d.ts +0 -42
  420. package/dist/arena/iterate/parse.js +0 -123
  421. package/dist/arena/iterate/phases/argue.d.ts +0 -22
  422. package/dist/arena/iterate/phases/argue.js +0 -165
  423. package/dist/arena/iterate/phases/revise.d.ts +0 -16
  424. package/dist/arena/iterate/phases/revise.js +0 -62
  425. package/dist/arena/iterate/phases/tournament.d.ts +0 -34
  426. package/dist/arena/iterate/phases/tournament.js +0 -113
  427. package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
  428. package/dist/arena/iterate/tools/web-tools.js +0 -54
  429. package/dist/arena/iterate/types.d.ts +0 -152
  430. package/dist/arena/iterate/types.js +0 -8
  431. package/dist/arena/ledger.d.ts +0 -47
  432. package/dist/arena/ledger.js +0 -159
  433. package/dist/arena/lenses/architecture.d.ts +0 -5
  434. package/dist/arena/lenses/architecture.js +0 -22
  435. package/dist/arena/lenses/engineering.d.ts +0 -5
  436. package/dist/arena/lenses/engineering.js +0 -22
  437. package/dist/arena/lenses/general.d.ts +0 -5
  438. package/dist/arena/lenses/general.js +0 -20
  439. package/dist/arena/lenses/index.d.ts +0 -16
  440. package/dist/arena/lenses/index.js +0 -47
  441. package/dist/arena/lenses/product.d.ts +0 -5
  442. package/dist/arena/lenses/product.js +0 -22
  443. package/dist/arena/model-presets.d.ts +0 -23
  444. package/dist/arena/model-presets.js +0 -44
  445. package/dist/arena/phases/adjudication.d.ts +0 -25
  446. package/dist/arena/phases/adjudication.js +0 -142
  447. package/dist/arena/phases/build-consensus.d.ts +0 -30
  448. package/dist/arena/phases/build-consensus.js +0 -85
  449. package/dist/arena/phases/claim-registry.d.ts +0 -26
  450. package/dist/arena/phases/claim-registry.js +0 -60
  451. package/dist/arena/phases/cross-review.d.ts +0 -47
  452. package/dist/arena/phases/cross-review.js +0 -224
  453. package/dist/arena/phases/debate-rounds.d.ts +0 -28
  454. package/dist/arena/phases/debate-rounds.js +0 -161
  455. package/dist/arena/phases/participant-research.d.ts +0 -39
  456. package/dist/arena/phases/participant-research.js +0 -316
  457. package/dist/arena/phases/planning-detail-expansion.d.ts +0 -39
  458. package/dist/arena/phases/planning-detail-expansion.js +0 -120
  459. package/dist/arena/planner.d.ts +0 -28
  460. package/dist/arena/planner.js +0 -312
  461. package/dist/arena/providers/docs.d.ts +0 -7
  462. package/dist/arena/providers/docs.js +0 -111
  463. package/dist/arena/providers/git.d.ts +0 -8
  464. package/dist/arena/providers/git.js +0 -174
  465. package/dist/arena/providers/index.d.ts +0 -32
  466. package/dist/arena/providers/index.js +0 -132
  467. package/dist/arena/providers/none.d.ts +0 -7
  468. package/dist/arena/providers/none.js +0 -11
  469. package/dist/arena/providers/repo.d.ts +0 -7
  470. package/dist/arena/providers/repo.js +0 -258
  471. package/dist/arena/render/session.d.ts +0 -17
  472. package/dist/arena/render/session.js +0 -190
  473. package/dist/arena/render/terminal.d.ts +0 -34
  474. package/dist/arena/render/terminal.js +0 -286
  475. package/dist/arena/strategies/discussion.d.ts +0 -25
  476. package/dist/arena/strategies/discussion.js +0 -143
  477. package/dist/arena/strategies/index.d.ts +0 -15
  478. package/dist/arena/strategies/index.js +0 -28
  479. package/dist/arena/strategies/language-wrapper.d.ts +0 -17
  480. package/dist/arena/strategies/language-wrapper.js +0 -102
  481. package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
  482. package/dist/arena/strategies/lens-wrapper.js +0 -236
  483. package/dist/arena/strategies/planning.d.ts +0 -30
  484. package/dist/arena/strategies/planning.js +0 -225
  485. package/dist/arena/strategies/review.d.ts +0 -26
  486. package/dist/arena/strategies/review.js +0 -168
  487. package/dist/arena/strategies/utils.d.ts +0 -36
  488. package/dist/arena/strategies/utils.js +0 -603
  489. package/dist/arena/tools/selector.d.ts +0 -17
  490. package/dist/arena/tools/selector.js +0 -61
  491. package/dist/arena/transitions.d.ts +0 -53
  492. package/dist/arena/transitions.js +0 -97
  493. package/dist/arena/types.d.ts +0 -518
  494. package/dist/arena/types.js +0 -27
  495. package/dist/cc-orchestrator/agent-adapter.d.ts +0 -54
  496. package/dist/cc-orchestrator/agent-adapter.js +0 -143
  497. package/dist/cc-orchestrator/cc-capability.d.ts +0 -19
  498. package/dist/cc-orchestrator/cc-capability.js +0 -53
  499. package/dist/cc-orchestrator/codex-session-discovery.d.ts +0 -24
  500. package/dist/cc-orchestrator/codex-session-discovery.js +0 -191
  501. package/dist/cc-orchestrator/codex-session-history.d.ts +0 -38
  502. package/dist/cc-orchestrator/codex-session-history.js +0 -247
  503. package/dist/cc-orchestrator/external-agent-bindings.d.ts +0 -27
  504. package/dist/cc-orchestrator/external-agent-bindings.js +0 -150
  505. package/dist/cc-orchestrator/external-agent-changes.d.ts +0 -19
  506. package/dist/cc-orchestrator/external-agent-changes.js +0 -231
  507. package/dist/cc-orchestrator/external-agent-driver.d.ts +0 -19
  508. package/dist/cc-orchestrator/external-agent-driver.js +0 -284
  509. package/dist/cc-orchestrator/external-agent-session-store.d.ts +0 -23
  510. package/dist/cc-orchestrator/external-agent-session-store.js +0 -146
  511. package/dist/cc-orchestrator/index.d.ts +0 -8
  512. package/dist/cc-orchestrator/index.js +0 -8
  513. package/dist/cc-orchestrator/relevance-judge.d.ts +0 -15
  514. package/dist/cc-orchestrator/relevance-judge.js +0 -29
  515. package/dist/cc-orchestrator/session-discovery.d.ts +0 -46
  516. package/dist/cc-orchestrator/session-discovery.js +0 -125
  517. package/dist/cc-orchestrator/session-history.d.ts +0 -54
  518. package/dist/cc-orchestrator/session-history.js +0 -150
  519. package/dist/cron/cron-runtime.d.ts +0 -2
  520. package/dist/cron/cron-runtime.js +0 -2
  521. package/dist/cron/cron-store.d.ts +0 -2
  522. package/dist/cron/cron-store.js +0 -2
  523. package/dist/cron/scheduler.d.ts +0 -7
  524. package/dist/cron/scheduler.js +0 -7
  525. package/dist/engine/goal.js +0 -206
  526. package/dist/external-agents/config.d.ts +0 -2
  527. package/dist/external-agents/config.js +0 -15
  528. package/dist/external-agents/types.d.ts +0 -31
  529. package/dist/git/parse-log.d.ts +0 -13
  530. package/dist/git/parse-log.js +0 -21
  531. package/dist/git/utils.d.ts +0 -49
  532. package/dist/git/utils.js +0 -161
  533. package/dist/git/worktree/crud.d.ts +0 -72
  534. package/dist/git/worktree/crud.js +0 -235
  535. package/dist/git/worktree/diff.d.ts +0 -14
  536. package/dist/git/worktree/diff.js +0 -82
  537. package/dist/git/worktree/git-exec.d.ts +0 -7
  538. package/dist/git/worktree/git-exec.js +0 -87
  539. package/dist/git/worktree/index.d.ts +0 -5
  540. package/dist/git/worktree/index.js +0 -5
  541. package/dist/git/worktree/query.d.ts +0 -43
  542. package/dist/git/worktree/query.js +0 -128
  543. package/dist/git/worktree/slug.d.ts +0 -11
  544. package/dist/git/worktree/slug.js +0 -58
  545. package/dist/git/worktree.d.ts +0 -1
  546. package/dist/git/worktree.js +0 -5
  547. package/dist/lsp/client.d.ts +0 -41
  548. package/dist/lsp/client.js +0 -186
  549. package/dist/lsp/manager.d.ts +0 -40
  550. package/dist/lsp/manager.js +0 -155
  551. package/dist/lsp/root-path.d.ts +0 -9
  552. package/dist/lsp/root-path.js +0 -12
  553. package/dist/lsp/servers.d.ts +0 -16
  554. package/dist/lsp/servers.js +0 -60
  555. package/dist/prompt/sections/coding.md +0 -35
  556. package/dist/quota/credentials.d.ts +0 -3
  557. package/dist/quota/credentials.js +0 -80
  558. package/dist/quota/index.d.ts +0 -36
  559. package/dist/quota/index.js +0 -155
  560. package/dist/quota/types.d.ts +0 -48
  561. package/dist/quota/types.js +0 -13
  562. package/dist/review/review-prompt.d.ts +0 -28
  563. package/dist/review/review-prompt.js +0 -81
  564. package/dist/state.d.ts +0 -160
  565. package/dist/state.js +0 -267
  566. package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
  567. package/dist/tool-system/builtin/apply-patch/applier.js +0 -308
  568. package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +0 -10
  569. package/dist/tool-system/builtin/apply-patch/backup-targets.js +0 -30
  570. package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -20
  571. package/dist/tool-system/builtin/apply-patch/index.js +0 -105
  572. package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
  573. package/dist/tool-system/builtin/apply-patch/parser.js +0 -212
  574. package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
  575. package/dist/tool-system/builtin/apply-patch/seek-sequence.js +0 -123
  576. package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
  577. package/dist/tool-system/builtin/apply-patch/types.js +0 -13
  578. package/dist/tool-system/builtin/arena.d.ts +0 -31
  579. package/dist/tool-system/builtin/arena.js +0 -416
  580. package/dist/tool-system/builtin/brief.d.ts +0 -6
  581. package/dist/tool-system/builtin/brief.js +0 -41
  582. package/dist/tool-system/builtin/check-quota.d.ts +0 -15
  583. package/dist/tool-system/builtin/check-quota.js +0 -34
  584. package/dist/tool-system/builtin/drive-claude-code.d.ts +0 -51
  585. package/dist/tool-system/builtin/drive-claude-code.js +0 -698
  586. package/dist/tool-system/builtin/lsp.d.ts +0 -7
  587. package/dist/tool-system/builtin/lsp.js +0 -144
  588. package/dist/tool-system/builtin/notebook-edit.d.ts +0 -7
  589. package/dist/tool-system/builtin/notebook-edit.js +0 -127
  590. package/dist/tool-system/builtin/worktree.d.ts +0 -11
  591. package/dist/tool-system/builtin/worktree.js +0 -363
  592. /package/dist/{external-agents → links}/types.js +0 -0
  593. /package/dist/{engine/session-usage.d.ts → session/usage.d.ts} +0 -0
  594. /package/dist/{engine/session-usage.js → session/usage.js} +0 -0
@@ -1,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>;