@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
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
* const result = await client.run("fix the bug");
|
|
12
12
|
*/
|
|
13
13
|
import type { Transport } from "./transport.js";
|
|
14
|
-
import { type RunParams, type RunResult, type ForkSessionParams, type ForkSessionResult, type AgentStreamEventNotification, type ConfigureParams, type QueryParams, type QueryResult, type ApprovalRequestNotification, type ApprovalResolvedNotification } from "./types.js";
|
|
15
|
-
import type { ApprovalRequest, ApprovalResult, PermissionMode, BackgroundAgentCompletedEvent } from "../types.js";
|
|
14
|
+
import { type RunParams, type RunResult, type ForkSessionParams, type ForkSessionResult, type AgentStreamEventNotification, type ConfigureParams, type QueryParams, type QueryResult, type PluginCommandsListResult, type PluginCommandExpandResult, type ApprovalRequestNotification, type ApprovalResolvedNotification } from "./types.js";
|
|
15
|
+
import type { ApprovalRequest, ApprovalResult, PermissionMode, BackgroundAgentCompletedEvent, SessionKind } from "../types.js";
|
|
16
|
+
import type { RunBehaviorMode } from "../engine/run-types.js";
|
|
17
|
+
import type { GoalConfig } from "../goal/lifecycle.js";
|
|
16
18
|
export type ApprovalRequestMeta = Pick<ApprovalRequestNotification, "connectionId" | "sessionId" | "generation">;
|
|
17
19
|
export type ApprovalResolvedEvent = ApprovalResolvedNotification;
|
|
18
20
|
export interface AgentClientEvents {
|
|
@@ -28,6 +30,8 @@ export interface AgentRunOptions {
|
|
|
28
30
|
permissionMode?: PermissionMode;
|
|
29
31
|
model?: string;
|
|
30
32
|
planMode?: boolean;
|
|
33
|
+
behaviorMode?: RunBehaviorMode;
|
|
34
|
+
kind?: SessionKind;
|
|
31
35
|
}
|
|
32
36
|
export type BackgroundAgentCompletedHandler = (sessionId: string, event: BackgroundAgentCompletedEvent) => void;
|
|
33
37
|
export declare class AgentClient {
|
|
@@ -54,7 +58,7 @@ export declare class AgentClient {
|
|
|
54
58
|
* for multi-session servers) or the legacy string form `(task, sessionId?)`
|
|
55
59
|
* for backward compatibility with createInProcessClient callers.
|
|
56
60
|
*/
|
|
57
|
-
run(taskOrParams: string | RunParams, sessionIdOrOptions?: string | AgentRunOptions): Promise<RunResult>;
|
|
61
|
+
run(taskOrParams: string | RunParams, sessionIdOrOptions?: string | AgentRunOptions, onTransportResponse?: () => void): Promise<RunResult>;
|
|
58
62
|
/**
|
|
59
63
|
* Respond to an approval request from the server.
|
|
60
64
|
*
|
|
@@ -76,6 +80,20 @@ export declare class AgentClient {
|
|
|
76
80
|
* a goal was actually cleared (false = there was none).
|
|
77
81
|
*/
|
|
78
82
|
goalClear(sessionId?: string): Promise<boolean>;
|
|
83
|
+
/** Delete a persisted goal. Kept separate from goalClear for UI semantics. */
|
|
84
|
+
goalDelete(sessionId: string, expected: {
|
|
85
|
+
goalId: string;
|
|
86
|
+
revision: number;
|
|
87
|
+
}): Promise<boolean>;
|
|
88
|
+
/** Edit or pause/resume a goal while preserving its goalId. */
|
|
89
|
+
goalUpdate(sessionId: string, patch: {
|
|
90
|
+
objective?: string;
|
|
91
|
+
paused?: boolean;
|
|
92
|
+
expectedGoalId: string;
|
|
93
|
+
expectedRevision: number;
|
|
94
|
+
}): Promise<GoalConfig | null>;
|
|
95
|
+
/** Read the full persisted goal control state. */
|
|
96
|
+
goalGetState(sessionId: string): Promise<GoalConfig | null>;
|
|
79
97
|
/**
|
|
80
98
|
* Read a session's persisted active goal objective, or null when there's
|
|
81
99
|
* none. The host calls this on session load to re-surface the goal block +
|
|
@@ -109,6 +127,13 @@ export declare class AgentClient {
|
|
|
109
127
|
* Query server state.
|
|
110
128
|
*/
|
|
111
129
|
query(type: QueryParams["type"], arg?: string | Record<string, unknown>, ...extra: unknown[]): Promise<QueryResult>;
|
|
130
|
+
/** Discover enabled installed plugin commands for one workspace. */
|
|
131
|
+
listPluginCommands(cwd: string): Promise<PluginCommandsListResult>;
|
|
132
|
+
/**
|
|
133
|
+
* Expand one plugin command inside the trusted server. The command source
|
|
134
|
+
* body and install path never cross the protocol boundary.
|
|
135
|
+
*/
|
|
136
|
+
expandPluginCommand(cwd: string, name: string, rawArguments?: string): Promise<PluginCommandExpandResult>;
|
|
112
137
|
/**
|
|
113
138
|
* Inject context into the session transcript without triggering a LLM turn.
|
|
114
139
|
* Used to make arena results, tool outputs, etc. visible to subsequent LLM calls.
|
|
@@ -139,5 +164,10 @@ export declare class AgentClient {
|
|
|
139
164
|
private request;
|
|
140
165
|
private handleResponse;
|
|
141
166
|
private handleNotification;
|
|
167
|
+
/** Subscribe to an extension-owned server notification method. */
|
|
168
|
+
onExtensionNotification(method: string, handler: (params: Record<string, unknown>) => void): void;
|
|
169
|
+
offExtensionNotification(method: string, handler: (params: Record<string, unknown>) => void): void;
|
|
170
|
+
/** Issue a request to an extension-registered protocol method. */
|
|
171
|
+
requestExtension(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
142
172
|
close(): void;
|
|
143
173
|
}
|
package/dist/protocol/client.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* client.onApprovalRequest((reqId, request) => { ... });
|
|
11
11
|
* const result = await client.run("fix the bug");
|
|
12
12
|
*/
|
|
13
|
-
import { Methods, createRequest, isResponse, isNotification, } from "./types.js";
|
|
13
|
+
import { Methods, createRequest, isResponse, isNotification, ErrorCodes, } from "./types.js";
|
|
14
14
|
import { EventEmitter } from "node:events";
|
|
15
15
|
import { logger } from "../logging/logger.js";
|
|
16
16
|
export class AgentClient {
|
|
@@ -46,7 +46,7 @@ export class AgentClient {
|
|
|
46
46
|
* for multi-session servers) or the legacy string form `(task, sessionId?)`
|
|
47
47
|
* for backward compatibility with createInProcessClient callers.
|
|
48
48
|
*/
|
|
49
|
-
async run(taskOrParams, sessionIdOrOptions) {
|
|
49
|
+
async run(taskOrParams, sessionIdOrOptions, onTransportResponse) {
|
|
50
50
|
let params;
|
|
51
51
|
if (typeof taskOrParams === "string") {
|
|
52
52
|
// Form: run(task, sessionId | options?)
|
|
@@ -72,7 +72,7 @@ export class AgentClient {
|
|
|
72
72
|
// first call of a brand-new session, when sessionId is undefined.
|
|
73
73
|
if (params.sessionId)
|
|
74
74
|
logger.setSid(params.sessionId);
|
|
75
|
-
const result = (await this.request(Methods.Run, params));
|
|
75
|
+
const result = (await this.request(Methods.Run, params, onTransportResponse));
|
|
76
76
|
if (result.sessionId)
|
|
77
77
|
logger.setSid(result.sessionId);
|
|
78
78
|
return result;
|
|
@@ -120,6 +120,51 @@ export class AgentClient {
|
|
|
120
120
|
const res = (await this.request(Methods.GoalClear, { sessionId }));
|
|
121
121
|
return res?.cleared === true;
|
|
122
122
|
}
|
|
123
|
+
/** Delete a persisted goal. Kept separate from goalClear for UI semantics. */
|
|
124
|
+
async goalDelete(sessionId, expected) {
|
|
125
|
+
try {
|
|
126
|
+
const res = (await this.request(Methods.GoalDelete, {
|
|
127
|
+
sessionId,
|
|
128
|
+
expectedGoalId: expected.goalId,
|
|
129
|
+
expectedRevision: expected.revision,
|
|
130
|
+
}));
|
|
131
|
+
return res?.deleted === true;
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
// Compatibility only: old servers do not know GoalDelete and expose the
|
|
135
|
+
// unfenced GoalClear method. Never downgrade on a stale/validation error.
|
|
136
|
+
if (err.code !== ErrorCodes.MethodNotFound)
|
|
137
|
+
throw err;
|
|
138
|
+
return this.goalClear(sessionId);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/** Edit or pause/resume a goal while preserving its goalId. */
|
|
142
|
+
async goalUpdate(sessionId, patch) {
|
|
143
|
+
const res = (await this.request(Methods.GoalUpdate, {
|
|
144
|
+
sessionId,
|
|
145
|
+
...patch,
|
|
146
|
+
}));
|
|
147
|
+
if (res?.updated !== true || !res.goal)
|
|
148
|
+
return null;
|
|
149
|
+
return {
|
|
150
|
+
objective: res.goal,
|
|
151
|
+
...(res.goalId ? { goalId: res.goalId } : {}),
|
|
152
|
+
...(res.revision ? { revision: res.revision } : {}),
|
|
153
|
+
...(res.paused === true ? { paused: true } : {}),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/** Read the full persisted goal control state. */
|
|
157
|
+
async goalGetState(sessionId) {
|
|
158
|
+
const res = (await this.request(Methods.GoalGet, { sessionId }));
|
|
159
|
+
if (!res?.goal)
|
|
160
|
+
return null;
|
|
161
|
+
return {
|
|
162
|
+
objective: res.goal,
|
|
163
|
+
...(res.goalId ? { goalId: res.goalId } : {}),
|
|
164
|
+
...(res.revision ? { revision: res.revision } : {}),
|
|
165
|
+
...(res.paused === true ? { paused: true } : {}),
|
|
166
|
+
};
|
|
167
|
+
}
|
|
123
168
|
/**
|
|
124
169
|
* Read a session's persisted active goal objective, or null when there's
|
|
125
170
|
* none. The host calls this on session load to re-surface the goal block +
|
|
@@ -199,6 +244,21 @@ export class AgentClient {
|
|
|
199
244
|
}
|
|
200
245
|
return this.request(Methods.Query, params);
|
|
201
246
|
}
|
|
247
|
+
/** Discover enabled installed plugin commands for one workspace. */
|
|
248
|
+
async listPluginCommands(cwd) {
|
|
249
|
+
return this.request(Methods.PluginCommandsList, { cwd });
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Expand one plugin command inside the trusted server. The command source
|
|
253
|
+
* body and install path never cross the protocol boundary.
|
|
254
|
+
*/
|
|
255
|
+
async expandPluginCommand(cwd, name, rawArguments = "") {
|
|
256
|
+
return this.request(Methods.PluginCommandExpand, {
|
|
257
|
+
cwd,
|
|
258
|
+
name,
|
|
259
|
+
rawArguments,
|
|
260
|
+
});
|
|
261
|
+
}
|
|
202
262
|
/**
|
|
203
263
|
* Inject context into the session transcript without triggering a LLM turn.
|
|
204
264
|
* Used to make arena results, tool outputs, etc. visible to subsequent LLM calls.
|
|
@@ -260,10 +320,10 @@ export class AgentClient {
|
|
|
260
320
|
this.emitter.off("stream", wrapper);
|
|
261
321
|
}
|
|
262
322
|
// ─── Internals ──────────────────────────────────────────────────
|
|
263
|
-
request(method, params) {
|
|
323
|
+
request(method, params, onResponse) {
|
|
264
324
|
return new Promise((resolve, reject) => {
|
|
265
325
|
const req = createRequest(method, params);
|
|
266
|
-
this.pendingRequests.set(req.id, { resolve, reject });
|
|
326
|
+
this.pendingRequests.set(req.id, { onResponse, resolve, reject });
|
|
267
327
|
this.transport.send(req);
|
|
268
328
|
});
|
|
269
329
|
}
|
|
@@ -272,6 +332,19 @@ export class AgentClient {
|
|
|
272
332
|
if (!pending)
|
|
273
333
|
return;
|
|
274
334
|
this.pendingRequests.delete(res.id);
|
|
335
|
+
// Emit before resolving/rejecting: Promise continuations run in a later
|
|
336
|
+
// microtask, while the transport may synchronously parse the next queued
|
|
337
|
+
// session_started notification in the same chunk.
|
|
338
|
+
if (pending.onResponse) {
|
|
339
|
+
try {
|
|
340
|
+
pending.onResponse();
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
logger.warn("client.run_response_handler_failed", {
|
|
344
|
+
error: error instanceof Error ? error.message : String(error),
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
}
|
|
275
348
|
if (res.error) {
|
|
276
349
|
// Attach both message and code so callers can do toMatchObject({ code }).
|
|
277
350
|
const err = new Error(`[${res.error.code}] ${res.error.message}`);
|
|
@@ -327,8 +400,26 @@ export class AgentClient {
|
|
|
327
400
|
this.emitter.emit("status", status, message);
|
|
328
401
|
break;
|
|
329
402
|
}
|
|
403
|
+
default: {
|
|
404
|
+
// Extension-owned notification methods (e.g. projection deltas pushed
|
|
405
|
+
// by a ProtocolObserver via host.notify) surface through a generic
|
|
406
|
+
// per-method channel; core knows nothing about their payloads.
|
|
407
|
+
this.emitter.emit(`notification:${notif.method}`, params);
|
|
408
|
+
break;
|
|
409
|
+
}
|
|
330
410
|
}
|
|
331
411
|
}
|
|
412
|
+
/** Subscribe to an extension-owned server notification method. */
|
|
413
|
+
onExtensionNotification(method, handler) {
|
|
414
|
+
this.emitter.on(`notification:${method}`, handler);
|
|
415
|
+
}
|
|
416
|
+
offExtensionNotification(method, handler) {
|
|
417
|
+
this.emitter.off(`notification:${method}`, handler);
|
|
418
|
+
}
|
|
419
|
+
/** Issue a request to an extension-registered protocol method. */
|
|
420
|
+
async requestExtension(method, params) {
|
|
421
|
+
return this.request(method, params);
|
|
422
|
+
}
|
|
332
423
|
close() {
|
|
333
424
|
// Reject all pending requests
|
|
334
425
|
for (const [, pending] of this.pendingRequests) {
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { AgentServer, type AgentServerOptions } from "./server.js";
|
|
2
2
|
export { AgentClient } from "./client.js";
|
|
3
|
-
export { createInProcessTransport, StdioTransport, type Transport
|
|
4
|
-
export { Methods, ErrorCodes, type RpcMessage, type RunResult } from "./types.js";
|
|
3
|
+
export { createInProcessTransport, StdioTransport, type Transport } from "./transport.js";
|
|
4
|
+
export { Methods, ErrorCodes, type RpcMessage, type RunResult, type PluginCommandsListParams, type PluginCommandsListResult, type ProtocolPluginCommandDescriptor, type PluginCommandExpandParams, type PluginCommandExpandResult, } from "./types.js";
|
package/dist/protocol/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { AgentServer } from "./server.js";
|
|
2
2
|
export { AgentClient } from "./client.js";
|
|
3
|
-
export { createInProcessTransport, StdioTransport
|
|
4
|
-
export { Methods, ErrorCodes } from "./types.js";
|
|
3
|
+
export { createInProcessTransport, StdioTransport } from "./transport.js";
|
|
4
|
+
export { Methods, ErrorCodes, } from "./types.js";
|
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mobile remote wire-protocol DTOs (pairing / rooms / attachments / CC rooms).
|
|
3
|
+
* Moved here from @cjhyy/code-shell-server so that client packages (web) can
|
|
4
|
+
* consume the protocol contract without depending on the server implementation
|
|
5
|
+
* package — this file must stay pure types (no runtime code).
|
|
6
|
+
*/
|
|
7
|
+
import type { PermissionMode as CorePermissionMode } from "../types.js";
|
|
8
|
+
/** Permission modes supported by the mobile remote wire protocol. */
|
|
9
|
+
export type MobileRemotePermissionMode = Extract<CorePermissionMode, "default" | "acceptEdits" | "bypassPermissions">;
|
|
10
|
+
type PermissionMode = MobileRemotePermissionMode;
|
|
11
|
+
export interface TrustedDevice {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
secretHash: string;
|
|
15
|
+
createdAt: number;
|
|
16
|
+
lastSeenAt?: number;
|
|
17
|
+
revokedAt?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface TrustedDevicePublic {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
createdAt: number;
|
|
23
|
+
lastSeenAt?: number;
|
|
24
|
+
revokedAt?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface PairingToken {
|
|
27
|
+
value: string;
|
|
28
|
+
expiresAt: number;
|
|
29
|
+
}
|
|
30
|
+
/** Where a remembered permission grant applies (mirrors desktop approve). */
|
|
31
|
+
export type ApprovalScope = "once" | "session" | "project";
|
|
32
|
+
/** Path breadth for a remembered grant (path-scoped tools only). */
|
|
33
|
+
export type ApprovalPathScope = "file" | "dir" | "tool";
|
|
34
|
+
/** Mirror of core DiscoveredSession (mobile-remote can't import core). */
|
|
35
|
+
export interface CcDiscoveredSession {
|
|
36
|
+
sessionId: string;
|
|
37
|
+
/** External CLI's authoritative cwd. Older hosts may omit it. */
|
|
38
|
+
cwd?: string;
|
|
39
|
+
firstMessage: string;
|
|
40
|
+
lastModified: number;
|
|
41
|
+
messageCount: number;
|
|
42
|
+
}
|
|
43
|
+
/** Mirror of core HistoryMessage. */
|
|
44
|
+
export interface CcHistoryMessage {
|
|
45
|
+
role: "user" | "assistant";
|
|
46
|
+
text: string;
|
|
47
|
+
tools?: {
|
|
48
|
+
name: string;
|
|
49
|
+
summary: string;
|
|
50
|
+
args?: Record<string, unknown>;
|
|
51
|
+
}[];
|
|
52
|
+
ts?: number;
|
|
53
|
+
}
|
|
54
|
+
/** Mirror of cc-room ApprovalDecision. `answer` carries the user's
|
|
55
|
+
* AskUserQuestion choice (string; multiSelect joins labels with ", "). */
|
|
56
|
+
export type CcApprovalDecision = {
|
|
57
|
+
behavior: "allow";
|
|
58
|
+
updatedInput?: unknown;
|
|
59
|
+
answer?: string;
|
|
60
|
+
} | {
|
|
61
|
+
behavior: "deny";
|
|
62
|
+
message: string;
|
|
63
|
+
};
|
|
64
|
+
export interface MobilePermissionModeSnapshotEntry {
|
|
65
|
+
sessionId: string;
|
|
66
|
+
mode: PermissionMode;
|
|
67
|
+
}
|
|
68
|
+
export interface MobileProjectMeta {
|
|
69
|
+
path: string;
|
|
70
|
+
name: string;
|
|
71
|
+
addedAt?: number;
|
|
72
|
+
pinned?: boolean;
|
|
73
|
+
}
|
|
74
|
+
export type MobileImageMime = "image/png" | "image/jpeg" | "image/webp" | "image/gif";
|
|
75
|
+
export interface MobileImageBase {
|
|
76
|
+
clientId: string;
|
|
77
|
+
name: string;
|
|
78
|
+
mime: MobileImageMime;
|
|
79
|
+
size: number;
|
|
80
|
+
}
|
|
81
|
+
export type MobileImageAttachment = (MobileImageBase & {
|
|
82
|
+
transport: "inline";
|
|
83
|
+
dataUrl: string;
|
|
84
|
+
}) | (MobileImageBase & {
|
|
85
|
+
transport: "upload";
|
|
86
|
+
uploadId: string;
|
|
87
|
+
});
|
|
88
|
+
export type MobileAttachmentSummary = MobileImageBase;
|
|
89
|
+
export type MobileClientEvent = {
|
|
90
|
+
type: "auth.device";
|
|
91
|
+
deviceId: string;
|
|
92
|
+
secretHash: string;
|
|
93
|
+
} | {
|
|
94
|
+
type: "pair.complete";
|
|
95
|
+
token: string;
|
|
96
|
+
name: string;
|
|
97
|
+
secretHash: string;
|
|
98
|
+
} | {
|
|
99
|
+
type: "chat.send";
|
|
100
|
+
text: string;
|
|
101
|
+
sessionId?: string;
|
|
102
|
+
clientMessageId?: string;
|
|
103
|
+
attachments?: MobileImageAttachment[];
|
|
104
|
+
} | {
|
|
105
|
+
type: "attachment.upload.begin";
|
|
106
|
+
clientId: string;
|
|
107
|
+
name: string;
|
|
108
|
+
mime: string;
|
|
109
|
+
size: number;
|
|
110
|
+
} | {
|
|
111
|
+
type: "session.select";
|
|
112
|
+
sessionId: string;
|
|
113
|
+
} | {
|
|
114
|
+
type: "session.create";
|
|
115
|
+
cwd?: string | null;
|
|
116
|
+
name?: string;
|
|
117
|
+
} | {
|
|
118
|
+
type: "run.stop";
|
|
119
|
+
sessionId?: string;
|
|
120
|
+
} | {
|
|
121
|
+
type: "approval.respond";
|
|
122
|
+
approvalId: string;
|
|
123
|
+
decision: "approve" | "reject";
|
|
124
|
+
sessionId?: string;
|
|
125
|
+
reason?: string;
|
|
126
|
+
answer?: string;
|
|
127
|
+
scope?: ApprovalScope;
|
|
128
|
+
pathScope?: ApprovalPathScope;
|
|
129
|
+
} | {
|
|
130
|
+
type: "session.list";
|
|
131
|
+
} | {
|
|
132
|
+
type: "session.history";
|
|
133
|
+
sessionId: string;
|
|
134
|
+
} | {
|
|
135
|
+
type: "session.sync";
|
|
136
|
+
sessionId: string;
|
|
137
|
+
sinceSeq?: number;
|
|
138
|
+
} | {
|
|
139
|
+
type: "permission.setMode";
|
|
140
|
+
sessionId?: string;
|
|
141
|
+
mode: PermissionMode;
|
|
142
|
+
} | {
|
|
143
|
+
type: "model.set";
|
|
144
|
+
model: string;
|
|
145
|
+
} | {
|
|
146
|
+
type: "goal.extend";
|
|
147
|
+
sessionId: string;
|
|
148
|
+
addTurns?: number;
|
|
149
|
+
addTokenBudget?: number;
|
|
150
|
+
addTimeBudgetMs?: number;
|
|
151
|
+
addStopBlocks?: number;
|
|
152
|
+
} | {
|
|
153
|
+
type: "goal.clear";
|
|
154
|
+
sessionId: string;
|
|
155
|
+
} | {
|
|
156
|
+
type: "room.list";
|
|
157
|
+
} | {
|
|
158
|
+
type: "room.projects";
|
|
159
|
+
} | {
|
|
160
|
+
type: "room.create";
|
|
161
|
+
name?: string;
|
|
162
|
+
cwd: string;
|
|
163
|
+
kind?: "claude-code" | "codex";
|
|
164
|
+
permissionMode?: "default" | "acceptEdits" | "bypassPermissions";
|
|
165
|
+
} | {
|
|
166
|
+
type: "room.open";
|
|
167
|
+
roomId: string;
|
|
168
|
+
} | {
|
|
169
|
+
type: "room.close";
|
|
170
|
+
roomId: string;
|
|
171
|
+
} | {
|
|
172
|
+
type: "room.send";
|
|
173
|
+
roomId: string;
|
|
174
|
+
text: string;
|
|
175
|
+
clientMessageId?: string;
|
|
176
|
+
attachments?: MobileImageAttachment[];
|
|
177
|
+
} | {
|
|
178
|
+
type: "room.history";
|
|
179
|
+
roomId: string;
|
|
180
|
+
sinceSeq?: number;
|
|
181
|
+
} | {
|
|
182
|
+
type: "ccRoom.probe";
|
|
183
|
+
force?: boolean;
|
|
184
|
+
kind?: "claude-code" | "codex";
|
|
185
|
+
} | {
|
|
186
|
+
type: "ccRoom.listSessions";
|
|
187
|
+
cwd: string;
|
|
188
|
+
kind?: "claude-code" | "codex";
|
|
189
|
+
} | {
|
|
190
|
+
type: "ccRoom.openSession";
|
|
191
|
+
sessionId: string;
|
|
192
|
+
cwd: string;
|
|
193
|
+
mode: PermissionMode;
|
|
194
|
+
kind?: "claude-code" | "codex";
|
|
195
|
+
} | {
|
|
196
|
+
type: "ccRoom.subscribeTranscript";
|
|
197
|
+
roomId: string;
|
|
198
|
+
sessionId: string;
|
|
199
|
+
cwd: string;
|
|
200
|
+
limit: number;
|
|
201
|
+
kind?: "claude-code" | "codex";
|
|
202
|
+
} | {
|
|
203
|
+
type: "ccRoom.unsubscribeTranscript";
|
|
204
|
+
roomId: string;
|
|
205
|
+
} | {
|
|
206
|
+
type: "ccRoom.readHistory";
|
|
207
|
+
cwd: string;
|
|
208
|
+
sessionId: string;
|
|
209
|
+
limit: number;
|
|
210
|
+
kind?: "claude-code" | "codex";
|
|
211
|
+
} | {
|
|
212
|
+
type: "ccRoom.respondApproval";
|
|
213
|
+
roomId: string;
|
|
214
|
+
requestId: string;
|
|
215
|
+
decision: CcApprovalDecision;
|
|
216
|
+
};
|
|
217
|
+
export type MobileServerEvent = {
|
|
218
|
+
type: "auth.ok";
|
|
219
|
+
device: TrustedDevicePublic;
|
|
220
|
+
} | {
|
|
221
|
+
type: "auth.failed";
|
|
222
|
+
message: string;
|
|
223
|
+
} | {
|
|
224
|
+
type: "pair.ok";
|
|
225
|
+
device: TrustedDevicePublic;
|
|
226
|
+
} | {
|
|
227
|
+
type: "pair.failed";
|
|
228
|
+
message: string;
|
|
229
|
+
} | {
|
|
230
|
+
type: "chat.accepted";
|
|
231
|
+
sessionId?: string;
|
|
232
|
+
cwd?: string | null;
|
|
233
|
+
clientMessageId?: string;
|
|
234
|
+
attachments?: MobileAttachmentSummary[];
|
|
235
|
+
} | {
|
|
236
|
+
type: "room.accepted";
|
|
237
|
+
roomId: string;
|
|
238
|
+
clientMessageId: string;
|
|
239
|
+
} | {
|
|
240
|
+
type: "attachment.upload.ready";
|
|
241
|
+
clientId: string;
|
|
242
|
+
uploadId: string;
|
|
243
|
+
putUrl: string;
|
|
244
|
+
expiresAt: number;
|
|
245
|
+
} | {
|
|
246
|
+
type: "attachment.upload.failed";
|
|
247
|
+
clientId: string;
|
|
248
|
+
message: string;
|
|
249
|
+
} | {
|
|
250
|
+
type: "approval.request";
|
|
251
|
+
approvalId: string;
|
|
252
|
+
title: string;
|
|
253
|
+
risk: "low" | "medium" | "high";
|
|
254
|
+
body: string;
|
|
255
|
+
} | {
|
|
256
|
+
type: "approval.resolved";
|
|
257
|
+
approvalId: string;
|
|
258
|
+
sessionId?: string;
|
|
259
|
+
approved?: boolean;
|
|
260
|
+
} | {
|
|
261
|
+
type: "error";
|
|
262
|
+
message: string;
|
|
263
|
+
clientMessageId?: string;
|
|
264
|
+
} | {
|
|
265
|
+
type: "session.list.ok";
|
|
266
|
+
sessions: MobileSessionMeta[];
|
|
267
|
+
activeSessionId?: string;
|
|
268
|
+
} | {
|
|
269
|
+
type: "session.history.ok";
|
|
270
|
+
sessionId: string;
|
|
271
|
+
events: unknown[];
|
|
272
|
+
} | {
|
|
273
|
+
type: "session.snapshot";
|
|
274
|
+
sessionId: string;
|
|
275
|
+
entries: Array<{
|
|
276
|
+
seq: number;
|
|
277
|
+
event: unknown;
|
|
278
|
+
}>;
|
|
279
|
+
nextSeq: number;
|
|
280
|
+
} | {
|
|
281
|
+
type: "session.stream";
|
|
282
|
+
sessionId: string;
|
|
283
|
+
seq: number;
|
|
284
|
+
event: unknown;
|
|
285
|
+
} | {
|
|
286
|
+
type: "permission.mode";
|
|
287
|
+
sessionId?: string;
|
|
288
|
+
mode: PermissionMode;
|
|
289
|
+
} | {
|
|
290
|
+
type: "model.current";
|
|
291
|
+
model: string;
|
|
292
|
+
available?: string[];
|
|
293
|
+
} | {
|
|
294
|
+
type: "goal.extended";
|
|
295
|
+
sessionId: string;
|
|
296
|
+
ok: boolean;
|
|
297
|
+
message?: string;
|
|
298
|
+
} | {
|
|
299
|
+
type: "goal.cleared";
|
|
300
|
+
sessionId: string;
|
|
301
|
+
ok: boolean;
|
|
302
|
+
cleared?: boolean;
|
|
303
|
+
message?: string;
|
|
304
|
+
} | {
|
|
305
|
+
type: "room.list.ok";
|
|
306
|
+
rooms: RoomPublic[];
|
|
307
|
+
} | {
|
|
308
|
+
type: "room.projects.ok";
|
|
309
|
+
projects: MobileProjectMeta[];
|
|
310
|
+
} | {
|
|
311
|
+
type: "room.opened";
|
|
312
|
+
roomId: string;
|
|
313
|
+
status: "running" | "missing" | "observing";
|
|
314
|
+
} | {
|
|
315
|
+
type: "room.message";
|
|
316
|
+
roomId: string;
|
|
317
|
+
msg: unknown;
|
|
318
|
+
} | {
|
|
319
|
+
type: "room.history.ok";
|
|
320
|
+
roomId: string;
|
|
321
|
+
messages: unknown[];
|
|
322
|
+
latestSeq: number;
|
|
323
|
+
} | {
|
|
324
|
+
type: "room.closed";
|
|
325
|
+
roomId: string;
|
|
326
|
+
} | {
|
|
327
|
+
type: "room.error";
|
|
328
|
+
roomId?: string;
|
|
329
|
+
message: string;
|
|
330
|
+
clientMessageId?: string;
|
|
331
|
+
} | {
|
|
332
|
+
type: "ccRoom.approvalRequest";
|
|
333
|
+
roomId: string;
|
|
334
|
+
req: {
|
|
335
|
+
requestId: string;
|
|
336
|
+
toolName: string;
|
|
337
|
+
displayName?: string;
|
|
338
|
+
input: unknown;
|
|
339
|
+
description?: string;
|
|
340
|
+
/** AskUserQuestion only: parsed prompt + option labels for a choice card. */
|
|
341
|
+
askUser?: {
|
|
342
|
+
question: string;
|
|
343
|
+
header?: string;
|
|
344
|
+
options: string[];
|
|
345
|
+
multiSelect: boolean;
|
|
346
|
+
};
|
|
347
|
+
};
|
|
348
|
+
} | {
|
|
349
|
+
type: "ccRoom.probe.ok";
|
|
350
|
+
available: boolean;
|
|
351
|
+
command?: string;
|
|
352
|
+
version?: string;
|
|
353
|
+
reason?: "not-found" | "not-executable";
|
|
354
|
+
kind: "claude-code" | "codex";
|
|
355
|
+
} | {
|
|
356
|
+
type: "ccRoom.listSessions.ok";
|
|
357
|
+
cwd: string;
|
|
358
|
+
sessions: CcDiscoveredSession[];
|
|
359
|
+
kind: "claude-code" | "codex";
|
|
360
|
+
} | {
|
|
361
|
+
type: "ccRoom.opened";
|
|
362
|
+
roomId: string;
|
|
363
|
+
sessionId: string;
|
|
364
|
+
status: "running" | "missing" | "observing";
|
|
365
|
+
} | {
|
|
366
|
+
type: "ccRoom.transcriptSubscribed";
|
|
367
|
+
roomId: string;
|
|
368
|
+
sessionId: string;
|
|
369
|
+
active: boolean;
|
|
370
|
+
messages: CcHistoryMessage[];
|
|
371
|
+
hasMore: boolean;
|
|
372
|
+
totalCount: number;
|
|
373
|
+
roomCursor: number;
|
|
374
|
+
} | {
|
|
375
|
+
type: "ccRoom.readHistory.ok";
|
|
376
|
+
sessionId: string;
|
|
377
|
+
messages: CcHistoryMessage[];
|
|
378
|
+
hasMore: boolean;
|
|
379
|
+
totalCount: number;
|
|
380
|
+
} | {
|
|
381
|
+
type: "ccRoom.approvalResolved";
|
|
382
|
+
roomId: string;
|
|
383
|
+
requestId: string;
|
|
384
|
+
decision: CcApprovalDecision;
|
|
385
|
+
};
|
|
386
|
+
export interface RoomPublic {
|
|
387
|
+
id: string;
|
|
388
|
+
name: string;
|
|
389
|
+
cwd: string;
|
|
390
|
+
kind: "claude-code" | "codex";
|
|
391
|
+
permissionMode: "default" | "acceptEdits" | "bypassPermissions";
|
|
392
|
+
createdAt: number;
|
|
393
|
+
lastActiveAt: number;
|
|
394
|
+
open: boolean;
|
|
395
|
+
/** True when the room is bound for transcript observation and cannot send. */
|
|
396
|
+
observing: boolean;
|
|
397
|
+
}
|
|
398
|
+
/** A desktop session the phone can see + drive (from listDiskSessions). */
|
|
399
|
+
export interface MobileSessionMeta {
|
|
400
|
+
id: string;
|
|
401
|
+
title: string;
|
|
402
|
+
cwd: string;
|
|
403
|
+
updatedAt: number;
|
|
404
|
+
origin: "desktop" | "automation";
|
|
405
|
+
}
|
|
406
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|