@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.
- package/README.md +36 -23
- package/dist/agent/agent-definition-registry.d.ts +2 -2
- package/dist/agent/agent-definition-registry.js +47 -10
- package/dist/agent/agent-definition.d.ts +5 -0
- package/dist/agent/agent-definition.js +14 -0
- package/dist/automation/index.d.ts +7 -4
- package/dist/automation/index.js +4 -2
- package/dist/automation/runner.js +3 -1
- package/dist/automation/scheduler.d.ts +57 -1
- package/dist/automation/scheduler.js +123 -23
- package/dist/automation/store.d.ts +6 -2
- package/dist/automation/store.js +7 -3
- package/dist/capabilities/index.d.ts +109 -0
- package/dist/capabilities/index.js +80 -0
- package/dist/capability-control/disabled-lists.d.ts +2 -1
- package/dist/capability-control/disabled-lists.js +3 -5
- package/dist/capability-control/overlay.d.ts +14 -1
- package/dist/capability-control/overlay.js +40 -0
- package/dist/capability-control/service.js +6 -4
- package/dist/cli/agent-server-stdio.d.ts +1 -1
- package/dist/cli/agent-server-stdio.js +66 -6
- package/dist/cli/agent-server-tcp.js +7 -3
- package/dist/context/compaction.d.ts +39 -3
- package/dist/context/compaction.js +151 -39
- package/dist/context/manager.d.ts +17 -1
- package/dist/context/manager.js +36 -1
- package/dist/credentials/access.d.ts +3 -1
- package/dist/credentials/access.js +24 -3
- package/dist/credentials/index.d.ts +1 -1
- package/dist/credentials/index.js +1 -1
- package/dist/credentials/oauth.d.ts +4 -1
- package/dist/credentials/oauth.js +14 -0
- package/dist/credentials/store.d.ts +15 -1
- package/dist/credentials/store.js +17 -4
- package/dist/credentials/types.d.ts +24 -0
- package/dist/credentials/use-credential-tool.js +15 -1
- package/dist/engine/auxiliary-pipeline.d.ts +40 -0
- package/dist/engine/auxiliary-pipeline.js +181 -0
- package/dist/{settings → engine}/disk-defaults.d.ts +2 -2
- package/dist/{settings → engine}/disk-defaults.js +5 -2
- package/dist/engine/dynamic-tool-defs.d.ts +4 -0
- package/dist/engine/dynamic-tool-defs.js +4 -0
- package/dist/engine/engine.d.ts +254 -195
- package/dist/engine/engine.js +1812 -2041
- package/dist/engine/file-history-hook.d.ts +11 -0
- package/dist/engine/file-history-hook.js +31 -0
- package/dist/engine/goal-judge-context.d.ts +9 -0
- package/dist/engine/goal-judge-context.js +234 -0
- package/dist/engine/injected-context-cache.d.ts +6 -0
- package/dist/engine/injected-context-cache.js +13 -0
- package/dist/engine/input-attachments.d.ts +1 -1
- package/dist/engine/model-facade.d.ts +3 -3
- package/dist/engine/model-facade.js +15 -14
- package/dist/engine/permission-controller.d.ts +55 -0
- package/dist/engine/permission-controller.js +148 -0
- package/dist/engine/prompt-cache-diagnostics.d.ts +58 -0
- package/dist/engine/prompt-cache-diagnostics.js +178 -0
- package/dist/engine/run-accounting.d.ts +41 -0
- package/dist/engine/run-accounting.js +126 -0
- package/dist/engine/run-context.d.ts +44 -0
- package/dist/engine/run-context.js +88 -0
- package/dist/engine/run-environment.d.ts +30 -0
- package/dist/engine/run-environment.js +77 -0
- package/dist/engine/run-finalize.d.ts +58 -0
- package/dist/engine/run-finalize.js +245 -0
- package/dist/engine/run-goal.d.ts +58 -0
- package/dist/engine/run-goal.js +188 -0
- package/dist/engine/run-image-input.d.ts +1 -1
- package/dist/engine/run-image-input.js +5 -3
- package/dist/engine/run-session-open.d.ts +41 -0
- package/dist/engine/run-session-open.js +186 -0
- package/dist/engine/run-setup.d.ts +42 -0
- package/dist/engine/run-setup.js +58 -0
- package/dist/engine/run-tooling.d.ts +125 -0
- package/dist/engine/run-tooling.js +283 -0
- package/dist/engine/run-types.d.ts +139 -0
- package/dist/engine/run-types.js +12 -0
- package/dist/engine/run-workspace.d.ts +50 -0
- package/dist/engine/run-workspace.js +114 -0
- package/dist/engine/steer-queue.d.ts +1 -1
- package/dist/engine/subagent-spawner.d.ts +32 -0
- package/dist/engine/subagent-spawner.js +287 -0
- package/dist/engine/tool-summary.d.ts +2 -2
- package/dist/engine/tool-summary.js +2 -2
- package/dist/engine/turn-loop.d.ts +49 -10
- package/dist/engine/turn-loop.js +370 -104
- package/dist/engine/types.d.ts +30 -3
- package/dist/engine/types.js +1 -1
- package/dist/{engine/goal.d.ts → goal/lifecycle.d.ts} +76 -4
- package/dist/goal/lifecycle.js +482 -0
- package/dist/hooks/events.d.ts +24 -10
- package/dist/hooks/goal-stop-hook.d.ts +17 -28
- package/dist/hooks/goal-stop-hook.js +110 -465
- package/dist/hooks/registry.js +1 -1
- package/dist/index.d.ts +48 -108
- package/dist/index.extension.d.ts +51 -0
- package/dist/index.extension.js +39 -0
- package/dist/index.internal.d.ts +86 -0
- package/dist/index.internal.js +92 -0
- package/dist/index.js +34 -123
- package/dist/links/cli.d.ts +48 -0
- package/dist/links/cli.js +617 -0
- package/dist/links/http.d.ts +40 -0
- package/dist/links/http.js +166 -0
- package/dist/links/index.d.ts +4 -0
- package/dist/links/index.js +3 -0
- package/dist/links/link-action-tool.d.ts +5 -0
- package/dist/links/link-action-tool.js +241 -0
- package/dist/links/providers.d.ts +8 -0
- package/dist/links/providers.js +665 -0
- package/dist/links/types.d.ts +44 -0
- package/dist/llm/client-base.d.ts +7 -0
- package/dist/llm/client-base.js +60 -0
- package/dist/llm/model-pool.d.ts +1 -1
- package/dist/llm/model-pool.js +1 -1
- package/dist/llm/providers/anthropic.d.ts +1 -0
- package/dist/llm/providers/anthropic.js +9 -0
- package/dist/llm/providers/openai.d.ts +1 -0
- package/dist/llm/providers/openai.js +17 -0
- package/dist/model-catalog/index.js +15 -2
- package/dist/model-catalog/resolve.d.ts +13 -1
- package/dist/model-catalog/resolve.js +37 -2
- package/dist/model-catalog/types.d.ts +74 -48
- package/dist/model-catalog/types.js +16 -5
- package/dist/model-catalog/upsert.d.ts +3 -1
- package/dist/model-catalog/upsert.js +9 -0
- package/dist/onboarding.d.ts +0 -1
- package/dist/onboarding.js +1 -22
- package/dist/panel-apps/bindings.d.ts +24 -0
- package/dist/panel-apps/bindings.js +69 -0
- package/dist/panel-apps/github-archive.d.ts +21 -0
- package/dist/panel-apps/github-archive.js +98 -0
- package/dist/panel-apps/index.d.ts +4 -0
- package/dist/panel-apps/index.js +4 -0
- package/dist/panel-apps/installer.d.ts +68 -0
- package/dist/panel-apps/installer.js +622 -0
- package/dist/panel-apps/manifest.d.ts +364 -0
- package/dist/panel-apps/manifest.js +189 -0
- package/dist/panel-apps/paths.d.ts +13 -0
- package/dist/panel-apps/paths.js +38 -0
- package/dist/panel-apps/registry.d.ts +51 -0
- package/dist/panel-apps/registry.js +99 -0
- package/dist/panel-apps/runtime.d.ts +80 -0
- package/dist/panel-apps/runtime.js +154 -0
- package/dist/plugins/gitOps.js +8 -1
- package/dist/plugins/installedPlugins.d.ts +2 -1
- package/dist/plugins/installedPlugins.js +146 -8
- package/dist/plugins/installer/codex/convertAgents.d.ts +4 -1
- package/dist/plugins/installer/codex/convertAgents.js +62 -8
- package/dist/plugins/installer/codex/convertCommands.d.ts +5 -5
- package/dist/plugins/installer/codex/convertCommands.js +35 -12
- package/dist/plugins/installer/codex/convertHooks.d.ts +10 -0
- package/dist/plugins/installer/codex/convertHooks.js +82 -0
- package/dist/plugins/installer/codex/convertSkills.js +41 -6
- package/dist/plugins/installer/install.d.ts +7 -1
- package/dist/plugins/installer/install.js +21 -87
- package/dist/plugins/installer/installFromArchive.d.ts +26 -4
- package/dist/plugins/installer/installFromArchive.js +44 -27
- package/dist/plugins/installer/installFromNpm.d.ts +31 -0
- package/dist/plugins/installer/installFromNpm.js +273 -0
- package/dist/plugins/installer/loadPluginAgents.js +17 -4
- package/dist/plugins/installer/loadPluginMcp.d.ts +14 -0
- package/dist/plugins/installer/loadPluginMcp.js +245 -35
- package/dist/plugins/installer/normalizeManifest.d.ts +13 -0
- package/dist/plugins/installer/normalizeManifest.js +306 -0
- package/dist/plugins/installer/npmTar.d.ts +13 -0
- package/dist/plugins/installer/npmTar.js +321 -0
- package/dist/plugins/installer/parseSource.d.ts +11 -0
- package/dist/plugins/installer/parseSource.js +48 -0
- package/dist/plugins/installer/preview.d.ts +101 -0
- package/dist/plugins/installer/preview.js +336 -0
- package/dist/plugins/installer/projectPluginSource.d.ts +14 -0
- package/dist/plugins/installer/projectPluginSource.js +140 -0
- package/dist/plugins/installer/types.d.ts +775 -0
- package/dist/plugins/installer/types.js +100 -0
- package/dist/plugins/installer/unzip.d.ts +11 -0
- package/dist/plugins/installer/unzip.js +123 -9
- package/dist/plugins/installer/update.d.ts +2 -2
- package/dist/plugins/installer/update.js +43 -4
- package/dist/plugins/loadPluginHooks.d.ts +19 -2
- package/dist/plugins/loadPluginHooks.js +97 -86
- package/dist/plugins/pluginAutomationTemplates.d.ts +18 -0
- package/dist/plugins/pluginAutomationTemplates.js +50 -0
- package/dist/plugins/pluginCatalog.d.ts +45 -0
- package/dist/plugins/pluginCatalog.js +87 -0
- package/dist/plugins/pluginCommandHook.d.ts +6 -0
- package/dist/plugins/pluginCommandHook.js +25 -8
- package/dist/plugins/pluginCommandsLoader.d.ts +19 -0
- package/dist/plugins/pluginCommandsLoader.js +181 -7
- package/dist/plugins/pluginContent.d.ts +10 -1
- package/dist/plugins/pluginContent.js +87 -30
- package/dist/plugins/pluginHookApproval.d.ts +30 -0
- package/dist/plugins/pluginHookApproval.js +160 -0
- package/dist/plugins/pluginHookIntegrity.d.ts +69 -0
- package/dist/plugins/pluginHookIntegrity.js +361 -0
- package/dist/plugins/pluginInstaller.js +71 -12
- package/dist/plugins/pluginMcpApproval.d.ts +19 -0
- package/dist/plugins/pluginMcpApproval.js +110 -0
- package/dist/plugins/pluginMcpIntegrity.d.ts +21 -0
- package/dist/plugins/pluginMcpIntegrity.js +74 -0
- package/dist/plugins/types.d.ts +30 -0
- package/dist/plugins/varRewrite.d.ts +9 -5
- package/dist/plugins/varRewrite.js +26 -17
- package/dist/preset/index.d.ts +11 -8
- package/dist/preset/index.js +62 -203
- package/dist/product/define.js +9 -3
- package/dist/product/types.d.ts +0 -2
- package/dist/profile/activation.d.ts +36 -0
- package/dist/profile/activation.js +57 -0
- package/dist/profile/catalog-store.d.ts +77 -0
- package/dist/profile/catalog-store.js +346 -0
- package/dist/profile/catalog.d.ts +54 -0
- package/dist/profile/catalog.js +152 -0
- package/dist/profile/index.d.ts +7 -0
- package/dist/profile/index.js +7 -0
- package/dist/profile/requirements.d.ts +76 -0
- package/dist/profile/requirements.js +117 -0
- package/dist/profile/resolve.d.ts +11 -0
- package/dist/profile/resolve.js +41 -0
- package/dist/profile/store.d.ts +17 -0
- package/dist/profile/store.js +167 -0
- package/dist/profile/types.d.ts +321 -0
- package/dist/profile/types.js +104 -0
- package/dist/prompt/composer.d.ts +46 -7
- package/dist/prompt/composer.js +78 -48
- package/dist/prompt/instruction-scanner.d.ts +6 -5
- package/dist/prompt/instruction-scanner.js +8 -23
- package/dist/prompt/section-loader.d.ts +2 -2
- package/dist/prompt/section-loader.js +7 -4
- package/dist/prompt/sections/browser.md +10 -9
- package/dist/prompt/sections/harness-base.md +9 -0
- package/dist/protocol/chat-session-manager.d.ts +64 -1
- package/dist/protocol/chat-session-manager.js +104 -0
- package/dist/protocol/chat-session.d.ts +61 -10
- package/dist/protocol/chat-session.js +135 -25
- package/dist/protocol/client.d.ts +33 -3
- package/dist/protocol/client.js +96 -5
- package/dist/protocol/index.d.ts +2 -2
- package/dist/protocol/index.js +2 -2
- package/dist/protocol/mobile-remote-types.d.ts +406 -0
- package/dist/protocol/mobile-remote-types.js +1 -0
- package/dist/protocol/server.d.ts +127 -3
- package/dist/protocol/server.js +1309 -182
- package/dist/protocol/types.d.ts +152 -34
- package/dist/protocol/types.js +16 -0
- package/dist/run/ArtifactTracker.d.ts +6 -1
- package/dist/run/ArtifactTracker.js +29 -21
- package/dist/run/EngineRunner.d.ts +2 -0
- package/dist/run/EngineRunner.js +1 -0
- package/dist/run/RunManager.d.ts +26 -0
- package/dist/run/RunManager.js +82 -11
- package/dist/run/factory.d.ts +3 -0
- package/dist/run/factory.js +2 -0
- package/dist/runtime/safe-spawn.d.ts +6 -0
- package/dist/runtime/safe-spawn.js +8 -13
- package/dist/services/auto-dream.d.ts +13 -1
- package/dist/services/auto-dream.js +56 -8
- package/dist/services/dream-consolidation.js +10 -1
- package/dist/services/memory-orchestrator.js +6 -2
- package/dist/services/oauth.js +4 -1
- package/dist/services/session-memory.d.ts +4 -4
- package/dist/services/session-memory.js +13 -10
- package/dist/session/memory.d.ts +26 -7
- package/dist/session/memory.js +79 -21
- package/dist/session/session-manager.d.ts +182 -28
- package/dist/session/session-manager.js +910 -130
- package/dist/session/session-message.d.ts +22 -0
- package/dist/session/session-message.js +1 -0
- package/dist/session/transcript.d.ts +46 -5
- package/dist/session/transcript.js +159 -3
- package/dist/settings/feature-flags.d.ts +40 -0
- package/dist/settings/feature-flags.js +40 -0
- package/dist/settings/manager.d.ts +39 -1
- package/dist/settings/manager.js +102 -41
- package/dist/settings/migrate-config.js +4 -2
- package/dist/settings/schema.d.ts +511 -177
- package/dist/settings/schema.js +98 -25
- package/dist/skills/scanner.d.ts +6 -2
- package/dist/skills/scanner.js +160 -9
- package/dist/sources/adapter.d.ts +14 -0
- package/dist/sources/adapter.js +7 -0
- package/dist/sources/adapters/local-files.d.ts +10 -0
- package/dist/sources/adapters/local-files.js +127 -0
- package/dist/sources/adapters/mcp-resource.d.ts +17 -0
- package/dist/sources/adapters/mcp-resource.js +41 -0
- package/dist/sources/adapters/mock.d.ts +3 -0
- package/dist/sources/adapters/mock.js +29 -0
- package/dist/sources/binding.d.ts +6 -0
- package/dist/sources/binding.js +24 -0
- package/dist/sources/catalog.d.ts +6 -0
- package/dist/sources/catalog.js +64 -0
- package/dist/sources/context-summary.d.ts +8 -0
- package/dist/sources/context-summary.js +13 -0
- package/dist/sources/credential-status.d.ts +2 -0
- package/dist/sources/credential-status.js +13 -0
- package/dist/sources/index.d.ts +10 -0
- package/dist/sources/index.js +10 -0
- package/dist/sources/resolve.d.ts +28 -0
- package/dist/sources/resolve.js +47 -0
- package/dist/sources/truncate-utf8.d.ts +7 -0
- package/dist/sources/truncate-utf8.js +18 -0
- package/dist/sources/types.d.ts +71 -0
- package/dist/sources/types.js +26 -0
- package/dist/testing/fetch-stub.d.ts +32 -0
- package/dist/testing/fetch-stub.js +24 -0
- package/dist/themes/image.d.ts +18 -0
- package/dist/themes/image.js +117 -0
- package/dist/themes/index.d.ts +4 -0
- package/dist/themes/index.js +4 -0
- package/dist/themes/installer.d.ts +50 -0
- package/dist/themes/installer.js +290 -0
- package/dist/themes/manifest.d.ts +102 -0
- package/dist/themes/manifest.js +86 -0
- package/dist/themes/paths.d.ts +14 -0
- package/dist/themes/paths.js +33 -0
- package/dist/tool-system/browser-bridge.d.ts +53 -11
- package/dist/tool-system/browser-bridge.js +8 -9
- package/dist/tool-system/builtin/agent-heartbeat.d.ts +2 -2
- package/dist/tool-system/builtin/agent-heartbeat.js +20 -6
- package/dist/tool-system/builtin/agent-notifications.d.ts +127 -72
- package/dist/tool-system/builtin/agent-notifications.js +291 -101
- package/dist/tool-system/builtin/agent-output-file.js +1 -3
- package/dist/tool-system/builtin/agent-progress.d.ts +6 -0
- package/dist/tool-system/builtin/agent-progress.js +83 -0
- package/dist/tool-system/builtin/agent-registry.d.ts +38 -2
- package/dist/tool-system/builtin/agent-registry.js +178 -9
- package/dist/tool-system/builtin/agent-transcript-translator.js +1 -1
- package/dist/tool-system/builtin/agent.d.ts +2 -0
- package/dist/tool-system/builtin/agent.js +274 -33
- package/dist/tool-system/builtin/background-jobs.d.ts +55 -2
- package/dist/tool-system/builtin/background-jobs.js +96 -4
- package/dist/tool-system/builtin/background-work.d.ts +6 -0
- package/dist/tool-system/builtin/background-work.js +8 -1
- package/dist/tool-system/builtin/bash.js +5 -2
- package/dist/tool-system/builtin/browser-tools.d.ts +6 -3
- package/dist/tool-system/builtin/browser-tools.js +89 -23
- package/dist/tool-system/builtin/edit-model-catalog.d.ts +6 -0
- package/dist/tool-system/builtin/edit-model-catalog.js +172 -12
- package/dist/tool-system/builtin/edit.js +2 -6
- package/dist/tool-system/builtin/file-cache.d.ts +2 -0
- package/dist/tool-system/builtin/file-cache.js +4 -0
- package/dist/tool-system/builtin/generate-image.js +17 -10
- package/dist/tool-system/builtin/generate-video.js +26 -7
- package/dist/tool-system/builtin/grep.js +2 -2
- package/dist/tool-system/builtin/image-uploader.js +7 -1
- package/dist/tool-system/builtin/index.d.ts +32 -7
- package/dist/tool-system/builtin/index.js +237 -167
- package/dist/tool-system/builtin/memory.d.ts +6 -0
- package/dist/tool-system/builtin/memory.js +36 -15
- package/dist/tool-system/builtin/panel.d.ts +9 -0
- package/dist/tool-system/builtin/panel.js +314 -0
- package/dist/tool-system/builtin/read.js +5 -1
- package/dist/tool-system/builtin/send-message-to-session.d.ts +6 -0
- package/dist/tool-system/builtin/send-message-to-session.js +67 -0
- package/dist/tool-system/builtin/sources.d.ts +8 -0
- package/dist/tool-system/builtin/sources.js +137 -0
- package/dist/tool-system/builtin/tool-search.js +7 -2
- package/dist/tool-system/builtin/update-automation-memory.js +2 -0
- package/dist/tool-system/builtin/web-fetch.js +17 -13
- package/dist/tool-system/builtin/web-search.js +1 -3
- package/dist/tool-system/capability-module.d.ts +93 -0
- package/dist/tool-system/capability-module.js +53 -0
- package/dist/tool-system/context.d.ts +77 -19
- package/dist/tool-system/executor.js +75 -50
- package/dist/tool-system/external-tool-exposure.d.ts +60 -0
- package/dist/tool-system/external-tool-exposure.js +304 -0
- package/dist/tool-system/mcp-manager.d.ts +11 -1
- package/dist/tool-system/mcp-manager.js +19 -4
- package/dist/tool-system/mcp-tool-policy.d.ts +9 -0
- package/dist/tool-system/mcp-tool-policy.js +34 -0
- package/dist/tool-system/panel-bridge.d.ts +53 -0
- package/dist/tool-system/panel-bridge.js +1 -0
- package/dist/tool-system/path-policy.js +99 -2
- package/dist/tool-system/permission.d.ts +26 -0
- package/dist/tool-system/permission.js +46 -0
- package/dist/tool-system/registry.d.ts +12 -1
- package/dist/tool-system/registry.js +31 -7
- package/dist/tool-system/sandbox/index.js +3 -8
- package/dist/tool-system/sandbox/seatbelt.js +2 -6
- package/dist/tool-system/session-tool-host.d.ts +139 -0
- package/dist/tool-system/session-tool-host.js +167 -0
- package/dist/tool-system/testing/tool-registry-harness.d.ts +31 -0
- package/dist/tool-system/testing/tool-registry-harness.js +51 -0
- package/dist/tool-system/validation.d.ts +14 -7
- package/dist/tool-system/validation.js +701 -7
- package/dist/types.d.ts +186 -20
- package/dist/{cc-orchestrator → utils}/cwd-normalize.d.ts +1 -0
- package/dist/{cc-orchestrator → utils}/cwd-normalize.js +1 -0
- package/dist/utils/file-mutex.d.ts +65 -0
- package/dist/utils/file-mutex.js +145 -0
- package/dist/utils/json.d.ts +2 -4
- package/dist/utils/json.js +2 -4
- package/dist/utils/lockfile.d.ts +30 -1
- package/dist/utils/lockfile.js +2 -2
- package/dist/utils/secret-scrubber.d.ts +8 -0
- package/dist/utils/secret-scrubber.js +227 -0
- package/dist/utils/toolDisplay.js +1 -1
- package/package.json +20 -5
- package/THIRD_PARTY_NOTICES.md +0 -206
- package/dist/arena/arena.d.ts +0 -45
- package/dist/arena/arena.js +0 -362
- package/dist/arena/context/context-tools.d.ts +0 -16
- package/dist/arena/context/context-tools.js +0 -272
- package/dist/arena/context/within-root.d.ts +0 -7
- package/dist/arena/context/within-root.js +0 -15
- package/dist/arena/detect-mode.d.ts +0 -20
- package/dist/arena/detect-mode.js +0 -78
- package/dist/arena/digest-builder.d.ts +0 -25
- package/dist/arena/digest-builder.js +0 -120
- package/dist/arena/index.d.ts +0 -29
- package/dist/arena/index.js +0 -29
- package/dist/arena/iterate/convergence.d.ts +0 -25
- package/dist/arena/iterate/convergence.js +0 -103
- package/dist/arena/iterate/formats/index.d.ts +0 -22
- package/dist/arena/iterate/formats/index.js +0 -283
- package/dist/arena/iterate/index.d.ts +0 -11
- package/dist/arena/iterate/index.js +0 -9
- package/dist/arena/iterate/iterative-arena.d.ts +0 -23
- package/dist/arena/iterate/iterative-arena.js +0 -237
- package/dist/arena/iterate/parse.d.ts +0 -42
- package/dist/arena/iterate/parse.js +0 -123
- package/dist/arena/iterate/phases/argue.d.ts +0 -22
- package/dist/arena/iterate/phases/argue.js +0 -165
- package/dist/arena/iterate/phases/revise.d.ts +0 -16
- package/dist/arena/iterate/phases/revise.js +0 -62
- package/dist/arena/iterate/phases/tournament.d.ts +0 -34
- package/dist/arena/iterate/phases/tournament.js +0 -113
- package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
- package/dist/arena/iterate/tools/web-tools.js +0 -54
- package/dist/arena/iterate/types.d.ts +0 -152
- package/dist/arena/iterate/types.js +0 -8
- package/dist/arena/ledger.d.ts +0 -47
- package/dist/arena/ledger.js +0 -159
- package/dist/arena/lenses/architecture.d.ts +0 -5
- package/dist/arena/lenses/architecture.js +0 -22
- package/dist/arena/lenses/engineering.d.ts +0 -5
- package/dist/arena/lenses/engineering.js +0 -22
- package/dist/arena/lenses/general.d.ts +0 -5
- package/dist/arena/lenses/general.js +0 -20
- package/dist/arena/lenses/index.d.ts +0 -16
- package/dist/arena/lenses/index.js +0 -47
- package/dist/arena/lenses/product.d.ts +0 -5
- package/dist/arena/lenses/product.js +0 -22
- package/dist/arena/model-presets.d.ts +0 -23
- package/dist/arena/model-presets.js +0 -44
- package/dist/arena/phases/adjudication.d.ts +0 -25
- package/dist/arena/phases/adjudication.js +0 -142
- package/dist/arena/phases/build-consensus.d.ts +0 -30
- package/dist/arena/phases/build-consensus.js +0 -85
- package/dist/arena/phases/claim-registry.d.ts +0 -26
- package/dist/arena/phases/claim-registry.js +0 -60
- package/dist/arena/phases/cross-review.d.ts +0 -47
- package/dist/arena/phases/cross-review.js +0 -224
- package/dist/arena/phases/debate-rounds.d.ts +0 -28
- package/dist/arena/phases/debate-rounds.js +0 -161
- package/dist/arena/phases/participant-research.d.ts +0 -39
- package/dist/arena/phases/participant-research.js +0 -316
- package/dist/arena/phases/planning-detail-expansion.d.ts +0 -39
- package/dist/arena/phases/planning-detail-expansion.js +0 -120
- package/dist/arena/planner.d.ts +0 -28
- package/dist/arena/planner.js +0 -312
- package/dist/arena/providers/docs.d.ts +0 -7
- package/dist/arena/providers/docs.js +0 -111
- package/dist/arena/providers/git.d.ts +0 -8
- package/dist/arena/providers/git.js +0 -174
- package/dist/arena/providers/index.d.ts +0 -32
- package/dist/arena/providers/index.js +0 -132
- package/dist/arena/providers/none.d.ts +0 -7
- package/dist/arena/providers/none.js +0 -11
- package/dist/arena/providers/repo.d.ts +0 -7
- package/dist/arena/providers/repo.js +0 -258
- package/dist/arena/render/session.d.ts +0 -17
- package/dist/arena/render/session.js +0 -190
- package/dist/arena/render/terminal.d.ts +0 -34
- package/dist/arena/render/terminal.js +0 -286
- package/dist/arena/strategies/discussion.d.ts +0 -25
- package/dist/arena/strategies/discussion.js +0 -143
- package/dist/arena/strategies/index.d.ts +0 -15
- package/dist/arena/strategies/index.js +0 -28
- package/dist/arena/strategies/language-wrapper.d.ts +0 -17
- package/dist/arena/strategies/language-wrapper.js +0 -102
- package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
- package/dist/arena/strategies/lens-wrapper.js +0 -236
- package/dist/arena/strategies/planning.d.ts +0 -30
- package/dist/arena/strategies/planning.js +0 -225
- package/dist/arena/strategies/review.d.ts +0 -26
- package/dist/arena/strategies/review.js +0 -168
- package/dist/arena/strategies/utils.d.ts +0 -36
- package/dist/arena/strategies/utils.js +0 -603
- package/dist/arena/tools/selector.d.ts +0 -17
- package/dist/arena/tools/selector.js +0 -61
- package/dist/arena/transitions.d.ts +0 -53
- package/dist/arena/transitions.js +0 -97
- package/dist/arena/types.d.ts +0 -518
- package/dist/arena/types.js +0 -27
- package/dist/cc-orchestrator/agent-adapter.d.ts +0 -54
- package/dist/cc-orchestrator/agent-adapter.js +0 -143
- package/dist/cc-orchestrator/cc-capability.d.ts +0 -19
- package/dist/cc-orchestrator/cc-capability.js +0 -53
- package/dist/cc-orchestrator/codex-session-discovery.d.ts +0 -24
- package/dist/cc-orchestrator/codex-session-discovery.js +0 -191
- package/dist/cc-orchestrator/codex-session-history.d.ts +0 -38
- package/dist/cc-orchestrator/codex-session-history.js +0 -247
- package/dist/cc-orchestrator/external-agent-bindings.d.ts +0 -27
- package/dist/cc-orchestrator/external-agent-bindings.js +0 -150
- package/dist/cc-orchestrator/external-agent-changes.d.ts +0 -19
- package/dist/cc-orchestrator/external-agent-changes.js +0 -231
- package/dist/cc-orchestrator/external-agent-driver.d.ts +0 -19
- package/dist/cc-orchestrator/external-agent-driver.js +0 -284
- package/dist/cc-orchestrator/external-agent-session-store.d.ts +0 -23
- package/dist/cc-orchestrator/external-agent-session-store.js +0 -146
- package/dist/cc-orchestrator/index.d.ts +0 -8
- package/dist/cc-orchestrator/index.js +0 -8
- package/dist/cc-orchestrator/relevance-judge.d.ts +0 -15
- package/dist/cc-orchestrator/relevance-judge.js +0 -29
- package/dist/cc-orchestrator/session-discovery.d.ts +0 -46
- package/dist/cc-orchestrator/session-discovery.js +0 -125
- package/dist/cc-orchestrator/session-history.d.ts +0 -54
- package/dist/cc-orchestrator/session-history.js +0 -150
- package/dist/cron/cron-runtime.d.ts +0 -2
- package/dist/cron/cron-runtime.js +0 -2
- package/dist/cron/cron-store.d.ts +0 -2
- package/dist/cron/cron-store.js +0 -2
- package/dist/cron/scheduler.d.ts +0 -7
- package/dist/cron/scheduler.js +0 -7
- package/dist/engine/goal.js +0 -206
- package/dist/external-agents/config.d.ts +0 -2
- package/dist/external-agents/config.js +0 -15
- package/dist/external-agents/types.d.ts +0 -31
- package/dist/git/parse-log.d.ts +0 -13
- package/dist/git/parse-log.js +0 -21
- package/dist/git/utils.d.ts +0 -49
- package/dist/git/utils.js +0 -161
- package/dist/git/worktree/crud.d.ts +0 -72
- package/dist/git/worktree/crud.js +0 -235
- package/dist/git/worktree/diff.d.ts +0 -14
- package/dist/git/worktree/diff.js +0 -82
- package/dist/git/worktree/git-exec.d.ts +0 -7
- package/dist/git/worktree/git-exec.js +0 -87
- package/dist/git/worktree/index.d.ts +0 -5
- package/dist/git/worktree/index.js +0 -5
- package/dist/git/worktree/query.d.ts +0 -43
- package/dist/git/worktree/query.js +0 -128
- package/dist/git/worktree/slug.d.ts +0 -11
- package/dist/git/worktree/slug.js +0 -58
- package/dist/git/worktree.d.ts +0 -1
- package/dist/git/worktree.js +0 -5
- package/dist/lsp/client.d.ts +0 -41
- package/dist/lsp/client.js +0 -186
- package/dist/lsp/manager.d.ts +0 -40
- package/dist/lsp/manager.js +0 -155
- package/dist/lsp/root-path.d.ts +0 -9
- package/dist/lsp/root-path.js +0 -12
- package/dist/lsp/servers.d.ts +0 -16
- package/dist/lsp/servers.js +0 -60
- package/dist/prompt/sections/coding.md +0 -35
- package/dist/quota/credentials.d.ts +0 -3
- package/dist/quota/credentials.js +0 -80
- package/dist/quota/index.d.ts +0 -36
- package/dist/quota/index.js +0 -155
- package/dist/quota/types.d.ts +0 -48
- package/dist/quota/types.js +0 -13
- package/dist/review/review-prompt.d.ts +0 -28
- package/dist/review/review-prompt.js +0 -81
- package/dist/state.d.ts +0 -160
- package/dist/state.js +0 -267
- package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
- package/dist/tool-system/builtin/apply-patch/applier.js +0 -308
- package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +0 -10
- package/dist/tool-system/builtin/apply-patch/backup-targets.js +0 -30
- package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -20
- package/dist/tool-system/builtin/apply-patch/index.js +0 -105
- package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
- package/dist/tool-system/builtin/apply-patch/parser.js +0 -212
- package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
- package/dist/tool-system/builtin/apply-patch/seek-sequence.js +0 -123
- package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
- package/dist/tool-system/builtin/apply-patch/types.js +0 -13
- package/dist/tool-system/builtin/arena.d.ts +0 -31
- package/dist/tool-system/builtin/arena.js +0 -416
- package/dist/tool-system/builtin/brief.d.ts +0 -6
- package/dist/tool-system/builtin/brief.js +0 -41
- package/dist/tool-system/builtin/check-quota.d.ts +0 -15
- package/dist/tool-system/builtin/check-quota.js +0 -34
- package/dist/tool-system/builtin/drive-claude-code.d.ts +0 -51
- package/dist/tool-system/builtin/drive-claude-code.js +0 -698
- package/dist/tool-system/builtin/lsp.d.ts +0 -7
- package/dist/tool-system/builtin/lsp.js +0 -144
- package/dist/tool-system/builtin/notebook-edit.d.ts +0 -7
- package/dist/tool-system/builtin/notebook-edit.js +0 -127
- package/dist/tool-system/builtin/worktree.d.ts +0 -11
- package/dist/tool-system/builtin/worktree.js +0 -363
- /package/dist/{external-agents → links}/types.js +0 -0
- /package/dist/{engine/session-usage.d.ts → session/usage.d.ts} +0 -0
- /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>;
|