@cjhyy/code-shell-core 0.5.0-rc.2 → 0.6.0-rc.10
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 +13 -10
- package/dist/agent/agent-definition-registry.d.ts +3 -0
- package/dist/agent/agent-definition-registry.js +3 -1
- package/dist/agent/agent-definition.d.ts +15 -0
- package/dist/agent/agent-definition.js +27 -3
- package/dist/arena/context/context-tools.js +47 -4
- package/dist/arena/ledger.js +9 -1
- package/dist/arena/strategies/utils.d.ts +1 -4
- package/dist/arena/strategies/utils.js +7 -84
- package/dist/automation/cron-expr.d.ts +10 -0
- package/dist/automation/cron-expr.js +23 -5
- package/dist/automation/runner.d.ts +21 -4
- package/dist/automation/runner.js +48 -12
- package/dist/automation/scheduler.d.ts +38 -0
- package/dist/automation/scheduler.js +89 -12
- package/dist/automation/store.js +5 -2
- package/dist/capability-control/disabled-lists.d.ts +25 -0
- package/dist/capability-control/disabled-lists.js +57 -0
- package/dist/capability-control/overlay.d.ts +15 -0
- package/dist/capability-control/overlay.js +27 -0
- package/dist/cc-orchestrator/agent-adapter.d.ts +50 -0
- package/dist/cc-orchestrator/agent-adapter.js +133 -0
- package/dist/cc-orchestrator/cc-capability.d.ts +19 -0
- package/dist/cc-orchestrator/cc-capability.js +53 -0
- package/dist/cc-orchestrator/codex-session-discovery.d.ts +24 -0
- package/dist/cc-orchestrator/codex-session-discovery.js +191 -0
- package/dist/cc-orchestrator/codex-session-history.d.ts +25 -0
- package/dist/cc-orchestrator/codex-session-history.js +187 -0
- package/dist/cc-orchestrator/external-agent-changes.d.ts +19 -0
- package/dist/cc-orchestrator/external-agent-changes.js +214 -0
- package/dist/cc-orchestrator/external-agent-driver.d.ts +18 -0
- package/dist/cc-orchestrator/external-agent-driver.js +69 -0
- package/dist/cc-orchestrator/index.d.ts +8 -0
- package/dist/cc-orchestrator/index.js +8 -0
- package/dist/cc-orchestrator/relevance-judge.d.ts +15 -0
- package/dist/cc-orchestrator/relevance-judge.js +29 -0
- package/dist/cc-orchestrator/session-discovery.d.ts +46 -0
- package/dist/cc-orchestrator/session-discovery.js +125 -0
- package/dist/cc-orchestrator/session-history.d.ts +19 -0
- package/dist/cc-orchestrator/session-history.js +67 -0
- package/dist/cli/agent-server-stdio.d.ts +15 -1
- package/dist/cli/agent-server-stdio.js +115 -17
- package/dist/cli/agent-server-tcp.js +40 -26
- package/dist/context/compaction.d.ts +86 -0
- package/dist/context/compaction.js +279 -0
- package/dist/context/manager.d.ts +18 -0
- package/dist/context/manager.js +181 -48
- package/dist/context/token-counter.js +13 -0
- package/dist/cost-tracker.js +5 -61
- package/dist/credentials/cipher.d.ts +49 -0
- package/dist/credentials/cipher.js +45 -0
- package/dist/credentials/cookie-jar.d.ts +24 -0
- package/dist/credentials/cookie-jar.js +40 -0
- package/dist/credentials/index.d.ts +7 -0
- package/dist/credentials/index.js +5 -0
- package/dist/credentials/inject-credential-tool.d.ts +20 -0
- package/dist/credentials/inject-credential-tool.js +130 -0
- package/dist/credentials/store.d.ts +72 -0
- package/dist/credentials/store.js +184 -0
- package/dist/credentials/types.d.ts +56 -0
- package/dist/credentials/use-credential-tool.d.ts +29 -0
- package/dist/credentials/use-credential-tool.js +205 -0
- package/dist/credentials/use-gate.d.ts +56 -0
- package/dist/credentials/use-gate.js +52 -0
- package/dist/data/model-metadata.d.ts +77 -0
- package/dist/data/model-metadata.js +56 -0
- package/dist/data/model-metadata.json +216 -0
- package/dist/data/openrouter-models.d.ts +18 -7
- package/dist/data/openrouter-models.js +35 -8
- package/dist/engine/aux-key.d.ts +10 -0
- package/dist/engine/aux-key.js +11 -0
- package/dist/engine/dynamic-tool-defs.d.ts +19 -0
- package/dist/engine/dynamic-tool-defs.js +36 -0
- package/dist/engine/engine.d.ts +280 -141
- package/dist/engine/engine.js +1193 -245
- package/dist/engine/friendly-error.d.ts +18 -0
- package/dist/engine/friendly-error.js +63 -0
- package/dist/engine/goal.d.ts +145 -0
- package/dist/engine/goal.js +144 -0
- package/dist/engine/image-policy.d.ts +13 -0
- package/dist/engine/image-policy.js +24 -0
- package/dist/engine/model-connections-pool.d.ts +17 -0
- package/dist/engine/model-connections-pool.js +67 -0
- package/dist/engine/model-facade.d.ts +10 -0
- package/dist/engine/model-facade.js +15 -0
- package/dist/engine/patch-orphaned-tools.js +3 -0
- package/dist/engine/query.js +2 -0
- package/dist/engine/resolve-llm-config.d.ts +16 -0
- package/dist/engine/resolve-llm-config.js +44 -0
- package/dist/engine/runtime.d.ts +2 -0
- package/dist/engine/runtime.js +27 -1
- package/dist/engine/sandbox-cache-key.d.ts +10 -0
- package/dist/engine/sandbox-cache-key.js +9 -0
- package/dist/engine/sandbox-config.d.ts +31 -0
- package/dist/engine/sandbox-config.js +38 -0
- package/dist/engine/session-usage.d.ts +31 -0
- package/dist/engine/session-usage.js +81 -0
- package/dist/engine/steer-queue.d.ts +33 -0
- package/dist/engine/steer-queue.js +26 -0
- package/dist/engine/streaming-tool-queue.d.ts +12 -0
- package/dist/engine/streaming-tool-queue.js +50 -10
- package/dist/engine/turn-loop.d.ts +94 -4
- package/dist/engine/turn-loop.js +432 -54
- package/dist/engine/types.d.ts +175 -0
- package/dist/engine/types.js +13 -0
- package/dist/external-agents/config.d.ts +2 -0
- package/dist/external-agents/config.js +15 -0
- package/dist/external-agents/types.d.ts +31 -0
- package/dist/external-agents/types.js +1 -0
- package/dist/git/utils.d.ts +12 -0
- package/dist/git/utils.js +38 -6
- package/dist/git/worktree.d.ts +48 -0
- package/dist/git/worktree.js +86 -10
- package/dist/hooks/goal-stop-hook.d.ts +28 -0
- package/dist/hooks/goal-stop-hook.js +186 -9
- package/dist/hooks/registry.d.ts +8 -0
- package/dist/hooks/registry.js +19 -0
- package/dist/hooks/shell-runner.js +10 -21
- package/dist/index.d.ts +51 -7
- package/dist/index.js +62 -5
- package/dist/llm/capabilities/param-specs.d.ts +14 -0
- package/dist/llm/capabilities/param-specs.js +62 -0
- package/dist/llm/capabilities/rules.js +5 -1
- package/dist/llm/capabilities/types.d.ts +10 -0
- package/dist/llm/client-base.d.ts +28 -1
- package/dist/llm/client-base.js +119 -13
- package/dist/llm/model-cache.js +4 -2
- package/dist/llm/model-pool.d.ts +21 -0
- package/dist/llm/model-pool.js +21 -1
- package/dist/llm/provider-auth.d.ts +41 -0
- package/dist/llm/provider-auth.js +76 -0
- package/dist/llm/provider-catalog.d.ts +4 -0
- package/dist/llm/providers/anthropic.js +64 -14
- package/dist/llm/providers/openai.d.ts +36 -0
- package/dist/llm/providers/openai.js +257 -51
- package/dist/llm/reasoning-setting.d.ts +3 -3
- package/dist/llm/reasoning-setting.js +9 -1
- package/dist/llm/stream-watchdog.js +5 -1
- package/dist/llm/token-counter.js +9 -2
- package/dist/llm/types.d.ts +4 -0
- package/dist/logging/sanitize-messages.js +22 -0
- package/dist/lsp/manager.d.ts +1 -1
- package/dist/lsp/manager.js +40 -10
- package/dist/model-catalog/builtin.d.ts +12 -0
- package/dist/model-catalog/builtin.js +412 -0
- package/dist/model-catalog/gen-connections.d.ts +20 -0
- package/dist/model-catalog/gen-connections.js +28 -0
- package/dist/model-catalog/index.d.ts +41 -0
- package/dist/model-catalog/index.js +90 -0
- package/dist/model-catalog/params.d.ts +20 -0
- package/dist/model-catalog/params.js +45 -0
- package/dist/model-catalog/resolve.d.ts +48 -0
- package/dist/model-catalog/resolve.js +33 -0
- package/dist/model-catalog/save-entry.d.ts +32 -0
- package/dist/model-catalog/save-entry.js +104 -0
- package/dist/model-catalog/types.d.ts +561 -0
- package/dist/model-catalog/types.js +93 -0
- package/dist/model-catalog/upsert.d.ts +9 -0
- package/dist/model-catalog/upsert.js +8 -0
- package/dist/onboarding.d.ts +12 -82
- package/dist/onboarding.js +61 -326
- package/dist/plugins/gitOps.d.ts +19 -0
- package/dist/plugins/gitOps.js +73 -4
- package/dist/plugins/installer/checkUpdate.d.ts +16 -0
- package/dist/plugins/installer/checkUpdate.js +32 -0
- package/dist/plugins/installer/codex/convertCommands.d.ts +19 -0
- package/dist/plugins/installer/codex/convertCommands.js +46 -0
- package/dist/plugins/installer/codex/convertMcp.d.ts +5 -2
- package/dist/plugins/installer/codex/convertMcp.js +45 -5
- package/dist/plugins/installer/install.js +25 -1
- package/dist/plugins/installer/installFromArchive.d.ts +43 -0
- package/dist/plugins/installer/installFromArchive.js +134 -0
- package/dist/plugins/installer/installFromSource.js +8 -2
- package/dist/plugins/installer/loadPluginAgents.js +6 -2
- package/dist/plugins/installer/loadPluginMcp.d.ts +9 -2
- package/dist/plugins/installer/loadPluginMcp.js +35 -2
- package/dist/plugins/installer/pruneDisabled.d.ts +24 -0
- package/dist/plugins/installer/pruneDisabled.js +73 -0
- package/dist/plugins/installer/types.d.ts +5 -2
- package/dist/plugins/installer/types.js +1 -0
- package/dist/plugins/installer/uninstall.js +4 -0
- package/dist/plugins/installer/unzip.d.ts +14 -0
- package/dist/plugins/installer/unzip.js +82 -0
- package/dist/plugins/installer/update.d.ts +14 -0
- package/dist/plugins/installer/update.js +53 -21
- package/dist/plugins/loadPluginHooks.d.ts +47 -1
- package/dist/plugins/loadPluginHooks.js +73 -1
- package/dist/plugins/marketplaceManager.d.ts +7 -0
- package/dist/plugins/marketplaceManager.js +20 -0
- package/dist/plugins/pluginCommandHook.js +4 -18
- package/dist/plugins/pluginContent.d.ts +30 -0
- package/dist/plugins/pluginContent.js +83 -0
- package/dist/plugins/pluginInstaller.d.ts +13 -0
- package/dist/plugins/pluginInstaller.js +42 -8
- package/dist/plugins/schemas.js +1 -0
- package/dist/plugins/types.d.ts +6 -0
- package/dist/preset/index.d.ts +11 -1
- package/dist/preset/index.js +115 -6
- package/dist/product/types.d.ts +1 -1
- package/dist/prompt/composer.d.ts +32 -0
- package/dist/prompt/composer.js +75 -21
- package/dist/prompt/instruction-scanner.js +5 -3
- package/dist/prompt/section-loader.js +1 -0
- package/dist/prompt/sections/base.md +2 -0
- package/dist/prompt/sections/browser.md +10 -0
- package/dist/prompt/sections/coding.md +4 -0
- package/dist/protocol/chat-session-manager.d.ts +9 -2
- package/dist/protocol/chat-session-manager.js +38 -0
- package/dist/protocol/chat-session.d.ts +69 -1
- package/dist/protocol/chat-session.js +102 -4
- package/dist/protocol/client.d.ts +31 -0
- package/dist/protocol/client.js +44 -0
- package/dist/protocol/server.d.ts +120 -7
- package/dist/protocol/server.js +753 -51
- package/dist/protocol/transport.js +3 -2
- package/dist/protocol/types.d.ts +60 -0
- package/dist/protocol/types.js +16 -0
- package/dist/quota/credentials.d.ts +3 -0
- package/dist/quota/credentials.js +80 -0
- package/dist/quota/index.d.ts +36 -0
- package/dist/quota/index.js +155 -0
- package/dist/quota/types.d.ts +48 -0
- package/dist/quota/types.js +13 -0
- package/dist/review/review-prompt.d.ts +28 -0
- package/dist/review/review-prompt.js +81 -0
- package/dist/run/FileRunStore.js +8 -3
- package/dist/run/RunApprovalBackend.js +25 -5
- package/dist/run/RunManager.d.ts +12 -0
- package/dist/run/RunManager.js +35 -0
- package/dist/run/factory.d.ts +1 -1
- package/dist/runtime/background-shell.d.ts +139 -0
- package/dist/runtime/background-shell.js +509 -0
- package/dist/runtime/output-clean.d.ts +24 -0
- package/dist/runtime/output-clean.js +41 -0
- package/dist/runtime/ring-file.d.ts +64 -0
- package/dist/runtime/ring-file.js +174 -0
- package/dist/runtime/safe-spawn.js +98 -39
- package/dist/runtime/spawn-common.d.ts +159 -0
- package/dist/runtime/spawn-common.js +404 -0
- package/dist/runtime/truncate-output.d.ts +22 -0
- package/dist/runtime/truncate-output.js +49 -0
- package/dist/runtime/utf8-cut.d.ts +11 -0
- package/dist/runtime/utf8-cut.js +23 -0
- package/dist/services/auto-dream.d.ts +4 -0
- package/dist/services/auto-dream.js +26 -26
- package/dist/services/diagnostics.d.ts +1 -2
- package/dist/services/diagnostics.js +12 -7
- package/dist/services/extract-memories.d.ts +14 -1
- package/dist/services/extract-memories.js +45 -6
- package/dist/services/memory-orchestrator.d.ts +21 -0
- package/dist/services/memory-orchestrator.js +125 -50
- package/dist/services/session-memory.js +24 -12
- package/dist/session/file-history.d.ts +124 -1
- package/dist/session/file-history.js +222 -6
- package/dist/session/memory.d.ts +116 -2
- package/dist/session/memory.js +250 -28
- package/dist/session/session-manager.d.ts +40 -0
- package/dist/session/session-manager.js +119 -3
- package/dist/session/simple-diff.d.ts +23 -0
- package/dist/session/simple-diff.js +84 -0
- package/dist/session/transcript.d.ts +29 -1
- package/dist/session/transcript.js +56 -2
- package/dist/session/undo-target.d.ts +67 -0
- package/dist/session/undo-target.js +144 -0
- package/dist/settings/disk-defaults.d.ts +9 -2
- package/dist/settings/disk-defaults.js +11 -2
- package/dist/settings/feature-flags.d.ts +64 -0
- package/dist/settings/feature-flags.js +61 -0
- package/dist/settings/manager.d.ts +68 -1
- package/dist/settings/manager.js +266 -29
- package/dist/settings/migrate-config.d.ts +45 -0
- package/dist/settings/migrate-config.js +125 -0
- package/dist/settings/schema-export.d.ts +25 -0
- package/dist/settings/schema-export.js +38 -0
- package/dist/settings/schema.d.ts +1186 -771
- package/dist/settings/schema.js +268 -97
- package/dist/skills/scanner.d.ts +9 -0
- package/dist/skills/scanner.js +30 -2
- package/dist/stt/resolve-transcribe.d.ts +31 -0
- package/dist/stt/resolve-transcribe.js +108 -0
- package/dist/stt/transcribe.d.ts +51 -0
- package/dist/stt/transcribe.js +65 -0
- package/dist/tool-system/browser-bridge.d.ts +226 -0
- package/dist/tool-system/browser-bridge.js +163 -0
- package/dist/tool-system/builtin/agent-heartbeat.d.ts +49 -0
- package/dist/tool-system/builtin/agent-heartbeat.js +89 -0
- package/dist/tool-system/builtin/agent-notifications.d.ts +12 -3
- package/dist/tool-system/builtin/agent-notifications.js +9 -3
- package/dist/tool-system/builtin/agent-output-file.d.ts +38 -0
- package/dist/tool-system/builtin/agent-output-file.js +72 -0
- package/dist/tool-system/builtin/agent-registry.d.ts +12 -0
- package/dist/tool-system/builtin/agent-registry.js +8 -0
- package/dist/tool-system/builtin/agent.d.ts +21 -1
- package/dist/tool-system/builtin/agent.js +489 -42
- package/dist/tool-system/builtin/apply-patch/applier.js +66 -8
- package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +10 -0
- package/dist/tool-system/builtin/apply-patch/backup-targets.js +30 -0
- package/dist/tool-system/builtin/apply-patch/index.js +0 -15
- package/dist/tool-system/builtin/background-jobs.d.ts +76 -0
- package/dist/tool-system/builtin/background-jobs.js +124 -0
- package/dist/tool-system/builtin/background-shell-tools.d.ts +20 -0
- package/dist/tool-system/builtin/background-shell-tools.js +108 -0
- package/dist/tool-system/builtin/background-work.d.ts +67 -0
- package/dist/tool-system/builtin/background-work.js +86 -0
- package/dist/tool-system/builtin/bash-output-style.d.ts +32 -0
- package/dist/tool-system/builtin/bash-output-style.js +40 -0
- package/dist/tool-system/builtin/bash.d.ts +5 -2
- package/dist/tool-system/builtin/bash.js +101 -64
- package/dist/tool-system/builtin/browser-tools.d.ts +33 -0
- package/dist/tool-system/builtin/browser-tools.js +312 -0
- package/dist/tool-system/builtin/cancel-goal.d.ts +31 -0
- package/dist/tool-system/builtin/cancel-goal.js +64 -0
- package/dist/tool-system/builtin/check-quota.d.ts +15 -0
- package/dist/tool-system/builtin/check-quota.js +34 -0
- package/dist/tool-system/builtin/config.js +7 -0
- package/dist/tool-system/builtin/cron.d.ts +7 -0
- package/dist/tool-system/builtin/cron.js +64 -4
- package/dist/tool-system/builtin/drive-claude-code.d.ts +30 -0
- package/dist/tool-system/builtin/drive-claude-code.js +157 -0
- package/dist/tool-system/builtin/edit-model-catalog.d.ts +3 -0
- package/dist/tool-system/builtin/edit-model-catalog.js +104 -0
- package/dist/tool-system/builtin/edit.js +20 -16
- package/dist/tool-system/builtin/eol.d.ts +29 -0
- package/dist/tool-system/builtin/eol.js +37 -0
- package/dist/tool-system/builtin/file-cache.d.ts +6 -0
- package/dist/tool-system/builtin/file-cache.js +8 -0
- package/dist/tool-system/builtin/generate-image.d.ts +35 -0
- package/dist/tool-system/builtin/generate-image.js +278 -50
- package/dist/tool-system/builtin/generate-video.d.ts +55 -0
- package/dist/tool-system/builtin/generate-video.js +364 -0
- package/dist/tool-system/builtin/glob.js +0 -7
- package/dist/tool-system/builtin/grep.d.ts +9 -0
- package/dist/tool-system/builtin/grep.js +106 -11
- package/dist/tool-system/builtin/image-providers.d.ts +86 -0
- package/dist/tool-system/builtin/image-providers.js +190 -0
- package/dist/tool-system/builtin/image-uploader.d.ts +33 -0
- package/dist/tool-system/builtin/image-uploader.js +74 -0
- package/dist/tool-system/builtin/index.d.ts +10 -2
- package/dist/tool-system/builtin/index.js +251 -27
- package/dist/tool-system/builtin/mcp-tools.js +23 -3
- package/dist/tool-system/builtin/memory.js +45 -7
- package/dist/tool-system/builtin/notebook-edit.js +0 -7
- package/dist/tool-system/builtin/powershell.js +8 -2
- package/dist/tool-system/builtin/read.js +10 -10
- package/dist/tool-system/builtin/repl.js +4 -1
- package/dist/tool-system/builtin/skill.js +9 -0
- package/dist/tool-system/builtin/sleep.js +8 -2
- package/dist/tool-system/builtin/tool-search.js +25 -7
- package/dist/tool-system/builtin/video-providers.d.ts +154 -0
- package/dist/tool-system/builtin/video-providers.js +235 -0
- package/dist/tool-system/builtin/web-fetch.js +12 -2
- package/dist/tool-system/builtin/web-search.js +21 -7
- package/dist/tool-system/builtin/worktree.d.ts +2 -1
- package/dist/tool-system/builtin/worktree.js +31 -4
- package/dist/tool-system/builtin/write.js +0 -6
- package/dist/tool-system/context.d.ts +164 -6
- package/dist/tool-system/executor.d.ts +3 -1
- package/dist/tool-system/executor.js +197 -90
- package/dist/tool-system/investigation-guard.js +1 -1
- package/dist/tool-system/mcp-manager.d.ts +42 -4
- package/dist/tool-system/mcp-manager.js +203 -20
- package/dist/tool-system/mcp-stdio-diagnostics.d.ts +9 -0
- package/dist/tool-system/mcp-stdio-diagnostics.js +93 -0
- package/dist/tool-system/path-policy.d.ts +5 -0
- package/dist/tool-system/path-policy.js +307 -8
- package/dist/tool-system/permission.d.ts +39 -2
- package/dist/tool-system/permission.js +283 -70
- package/dist/tool-system/plan-mode-allowlist.d.ts +13 -2
- package/dist/tool-system/plan-mode-allowlist.js +24 -2
- package/dist/tool-system/registry.d.ts +1 -0
- package/dist/tool-system/registry.js +16 -2
- package/dist/tool-system/sandbox/index.d.ts +8 -0
- package/dist/tool-system/sandbox/index.js +7 -2
- package/dist/tool-system/sandbox/off.js +7 -1
- package/dist/tool-system/validate-tool-metadata.d.ts +36 -0
- package/dist/tool-system/validate-tool-metadata.js +63 -0
- package/dist/types.d.ts +252 -7
- package/dist/updater.js +20 -9
- package/dist/utils/envUtils.d.ts +0 -9
- package/dist/utils/envUtils.js +3 -28
- package/dist/utils/exec.d.ts +48 -0
- package/dist/utils/exec.js +154 -0
- package/dist/utils/json.d.ts +12 -0
- package/dist/utils/json.js +92 -0
- package/dist/utils/theme.d.ts +1 -1
- package/dist/utils/theme.js +1 -1
- package/dist/utils/toolDisplay.js +0 -1
- package/package.json +13 -7
- package/dist/agent/coordinator.d.ts +0 -49
- package/dist/agent/coordinator.js +0 -77
- package/dist/settings/manager.test.js +0 -73
- package/dist/tool-system/builtin/remote-trigger.d.ts +0 -6
- package/dist/tool-system/builtin/remote-trigger.js +0 -54
- package/dist/tool-system/builtin/send-message.d.ts +0 -6
- package/dist/tool-system/builtin/send-message.js +0 -47
- /package/dist/{settings/manager.test.d.ts → credentials/types.js} +0 -0
package/dist/protocol/client.js
CHANGED
|
@@ -99,6 +99,50 @@ export class AgentClient {
|
|
|
99
99
|
async cancel(sessionId, reason) {
|
|
100
100
|
await this.request(Methods.Cancel, { sessionId, reason });
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Clear a session's persisted active goal (CC `/goal clear`). Returns whether
|
|
104
|
+
* a goal was actually cleared (false = there was none).
|
|
105
|
+
*/
|
|
106
|
+
async goalClear(sessionId) {
|
|
107
|
+
const res = (await this.request(Methods.GoalClear, { sessionId }));
|
|
108
|
+
return res?.cleared === true;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Read a session's persisted active goal objective, or null when there's
|
|
112
|
+
* none. The host calls this on session load to re-surface the goal block +
|
|
113
|
+
* Cancel button after a reload (a persistent goal isn't replayed from the
|
|
114
|
+
* transcript, so the live stream never re-announces it).
|
|
115
|
+
*/
|
|
116
|
+
async goalGet(sessionId) {
|
|
117
|
+
const res = (await this.request(Methods.GoalGet, { sessionId }));
|
|
118
|
+
return res?.goal ?? null;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Steer an in-flight run: queue a user message spliced in at the next
|
|
122
|
+
* turn-loop step (不打断 — does not abort the current step). `id` is a stable
|
|
123
|
+
* host-side handle that rides through to the steer_injected event and lets
|
|
124
|
+
* unsteer() revoke a still-pending entry. Mirrors the server's handleSteer +
|
|
125
|
+
* the desktop preload's steer(); without it the SDK can't reach the method
|
|
126
|
+
* (request() is private) — the protocol was asymmetric after the steer merge.
|
|
127
|
+
*/
|
|
128
|
+
async steer(sessionId, text, id, clientMessageId) {
|
|
129
|
+
const res = (await this.request(Methods.Steer, {
|
|
130
|
+
sessionId,
|
|
131
|
+
text,
|
|
132
|
+
id,
|
|
133
|
+
clientMessageId,
|
|
134
|
+
}));
|
|
135
|
+
return { accepted: res?.accepted === true, id: res?.id };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Revoke a still-pending steer entry by id (before the loop consumes it).
|
|
139
|
+
* Returns false when the loop already consumed it (not an error — it will
|
|
140
|
+
* arrive as a normal user bubble).
|
|
141
|
+
*/
|
|
142
|
+
async unsteer(sessionId, id) {
|
|
143
|
+
const res = (await this.request(Methods.Unsteer, { sessionId, id }));
|
|
144
|
+
return res?.removed === true;
|
|
145
|
+
}
|
|
102
146
|
/**
|
|
103
147
|
* Update runtime configuration on the server.
|
|
104
148
|
*/
|
|
@@ -38,6 +38,18 @@ export interface AgentServerOptions {
|
|
|
38
38
|
* When absent, `configure({ reloadSettings })` returns an explicit error.
|
|
39
39
|
*/
|
|
40
40
|
settingsReader?: () => ValidatedSettings;
|
|
41
|
+
/**
|
|
42
|
+
* Disk-only active-goal reader, used by agent/goalGet when the session is NOT
|
|
43
|
+
* live in chatManager. In worker (chatManager) mode there is no legacyEngine
|
|
44
|
+
* to fall back to, and a reopened-after-restart session isn't a live
|
|
45
|
+
* ChatSession yet (one is only created on agent/run), so chatManager.get()
|
|
46
|
+
* misses — without this the handler returned goal:null even though state.json
|
|
47
|
+
* still held the goal, and the UI's goal block never re-surfaced ("goal 还在
|
|
48
|
+
* 但页面不显示"). Wire it to SessionManager.readActiveGoal. Optional: legacy
|
|
49
|
+
* mode already reads disk via the engine, and tests that don't exercise the
|
|
50
|
+
* reopened-session path can omit it.
|
|
51
|
+
*/
|
|
52
|
+
readActiveGoalFromDisk?: (sessionId: string) => import("../engine/goal.js").GoalConfig | undefined;
|
|
41
53
|
}
|
|
42
54
|
export declare class AgentServer {
|
|
43
55
|
private readonly chatManager;
|
|
@@ -46,6 +58,8 @@ export declare class AgentServer {
|
|
|
46
58
|
private transport;
|
|
47
59
|
/** Fresh-disk settings reader for config hot-reload; null when not wired. */
|
|
48
60
|
private readonly settingsReader;
|
|
61
|
+
/** Disk-only active-goal reader for agent/goalGet on a non-live session. */
|
|
62
|
+
private readonly readActiveGoalFromDisk;
|
|
49
63
|
/**
|
|
50
64
|
* Monotonic config-reload version, bumped per reloadSettings request so each
|
|
51
65
|
* Engine.refreshRuntimeConfig can drop out-of-order (stale) deliveries (Q5).
|
|
@@ -78,31 +92,122 @@ export declare class AgentServer {
|
|
|
78
92
|
*/
|
|
79
93
|
private bgAgentBusUnsubscribe;
|
|
80
94
|
constructor(options: AgentServerOptions);
|
|
95
|
+
/**
|
|
96
|
+
* Wake an IDLE chatManager session that has pending background-completion
|
|
97
|
+
* notifications, by enqueueing one turn whose task is the drained
|
|
98
|
+
* notification(s). The model then sees the completion and continues; the
|
|
99
|
+
* session's persisted goal (if any) is judged on that turn.
|
|
100
|
+
*
|
|
101
|
+
* Guards:
|
|
102
|
+
* - chatManager path only (the legacy single-engine / headless path drives
|
|
103
|
+
* its own loop and has no idle-session-resume concept).
|
|
104
|
+
* - Session must exist AND be idle. If it's busy, we do nothing: the in-flight
|
|
105
|
+
* run's end-of-turn `drainAll` already collects every pending notification,
|
|
106
|
+
* so a second run would be redundant — and `enqueueTurn` while busy would
|
|
107
|
+
* queue a spurious extra turn.
|
|
108
|
+
* - We `drainAll` exactly here and feed the items into the woken turn. This
|
|
109
|
+
* also merges a burst of near-simultaneous completions into one wakeup:
|
|
110
|
+
* the first drains all currently-pending items; subsequent bus events for
|
|
111
|
+
* the same session find it busy (or find an empty queue) and no-op.
|
|
112
|
+
*
|
|
113
|
+
* INVARIANT (the burst-merge correctness depends on it): the merge only
|
|
114
|
+
* holds because (a) the bus fans out to subscribers SYNCHRONOUSLY, and (b)
|
|
115
|
+
* `enqueueTurn` sets the session's `active` (→ isBusy()===true) SYNCHRONOUSLY
|
|
116
|
+
* before its first await. So when bus events #2..N arrive — still on the same
|
|
117
|
+
* synchronous fan-out as #1 — they already see the session as busy and no-op.
|
|
118
|
+
* If either path is ever made async (e.g. an await is added inside
|
|
119
|
+
* enqueueTurn before `active` is set, or the bus starts deferring delivery),
|
|
120
|
+
* this degrades into N concurrent wakeups for N completions. Keep both
|
|
121
|
+
* synchronous, or replace this comment's assumption with an explicit
|
|
122
|
+
* "wakeup in flight" guard flag.
|
|
123
|
+
*/
|
|
124
|
+
private maybeWakeIdleSession;
|
|
81
125
|
private handleRequest;
|
|
82
126
|
private handleRun;
|
|
83
127
|
private handleRunMulti;
|
|
84
128
|
private handleRunLegacy;
|
|
85
129
|
private handleApprove;
|
|
86
130
|
private handleCancel;
|
|
131
|
+
/**
|
|
132
|
+
* Extend a running goal's turn/budget ceilings mid-run (TODO 3.1). Routed to
|
|
133
|
+
* a specific session (multi-session path). Returns the resulting effective
|
|
134
|
+
* limits, or an error if no session / no active run.
|
|
135
|
+
*/
|
|
136
|
+
private handleGoalExtend;
|
|
137
|
+
/**
|
|
138
|
+
* Clear a session's persisted active goal (CC /goal clear). Routes to the
|
|
139
|
+
* named session, falling back to the legacy single engine (mirrors
|
|
140
|
+
* handleGoalExtend / handleCancel's dual path). Returns { ok, cleared }.
|
|
141
|
+
*/
|
|
142
|
+
private handleGoalClear;
|
|
143
|
+
/**
|
|
144
|
+
* Read a session's persisted active goal so the host can re-surface the goal
|
|
145
|
+
* block + Cancel button on session load. A persistent goal lives only in
|
|
146
|
+
* state.activeGoal and is never replayed from the transcript, so a reloaded
|
|
147
|
+
* (or disk-rebuilt) session has no other way to learn it. Prefers a live
|
|
148
|
+
* chatManager session, else falls through to a disk read (readActiveGoalFromDisk
|
|
149
|
+
* in worker mode, or the legacy engine's disk read in single-engine mode) — the
|
|
150
|
+
* bug case is an aborted/reloaded session that is NOT live. Returns { ok, goal } where goal
|
|
151
|
+
* is the objective string, or null when there's no goal / unknown session.
|
|
152
|
+
* Never errors on "no goal" — null is the normal "nothing to show" answer.
|
|
153
|
+
*/
|
|
154
|
+
private handleGoalGet;
|
|
155
|
+
/**
|
|
156
|
+
* Query/control a session's background shells for the desktop UI panel (TODO
|
|
157
|
+
* 3.2). Reads the singleton BackgroundShellManager directly (shells outlive
|
|
158
|
+
* the run that spawned them, so we don't need a live ChatSession). Actions:
|
|
159
|
+
* - (default) list → the session's shells
|
|
160
|
+
* - output → full retained output of one shell
|
|
161
|
+
* - kill → terminate one shell's process group
|
|
162
|
+
* All scoped by sessionId (manager enforces ownership on output/kill).
|
|
163
|
+
*/
|
|
164
|
+
private handleBackgroundShells;
|
|
165
|
+
/**
|
|
166
|
+
* BackgroundWork — unified, list-only view of a session's background work
|
|
167
|
+
* across all three registries (shells + sub-agents + jobs) for the desktop
|
|
168
|
+
* background panel. Per-shell output/kill still flow through BackgroundShells
|
|
169
|
+
* (by shellId); this just answers "what's running in the background right now".
|
|
170
|
+
*/
|
|
171
|
+
private handleBackgroundWork;
|
|
87
172
|
private handleCloseSession;
|
|
88
173
|
private handleConfigure;
|
|
89
174
|
private handleQuery;
|
|
90
175
|
private handleInject;
|
|
176
|
+
private handleSteer;
|
|
177
|
+
private handleUnsteer;
|
|
91
178
|
/**
|
|
92
179
|
* Ask the client to approve a tool operation (legacy single-engine path).
|
|
93
180
|
*/
|
|
94
181
|
private requestApprovalFromClient;
|
|
95
182
|
/**
|
|
96
|
-
*
|
|
183
|
+
* Per-session AskUserQuestion for the chatManager path. Resolves via the
|
|
184
|
+
* SESSION's pendingApprovals (the chatManager approve handler looks there,
|
|
185
|
+
* keyed by sessionId+requestId) and tags the notify with sessionId so the
|
|
186
|
+
* renderer routes the question to the right chat tab. This intentionally has
|
|
187
|
+
* no wall-clock timeout; Stop/cancel drains the pending ask.
|
|
97
188
|
*/
|
|
189
|
+
private requestAskUserForSession;
|
|
98
190
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* (the
|
|
102
|
-
*
|
|
103
|
-
*
|
|
191
|
+
* Build a BrowserBridge whose every method routes a browser action to the
|
|
192
|
+
* client over the session's pendingApprovals channel (same as askUser). The
|
|
193
|
+
* client (Electron main) drives the webview via CDP and replies with a JSON
|
|
194
|
+
* result string we parse back into the typed result. On timeout / malformed
|
|
195
|
+
* reply we degrade to a safe error result rather than throwing.
|
|
196
|
+
*/
|
|
197
|
+
private makeBrowserBridge;
|
|
198
|
+
private requestBrowserActionForSession;
|
|
199
|
+
/**
|
|
200
|
+
* Ask the client (Electron main) to inject a cookie credential into the
|
|
201
|
+
* built-in browser. Same pendingApprovals channel as browser actions; main
|
|
202
|
+
* calls restoreCookiesToBrowser and replies with a JSON result string we
|
|
203
|
+
* parse into { ok, count?, error? }. Degrades to ok:false on timeout/malformed.
|
|
204
|
+
*/
|
|
205
|
+
private requestCredentialInjectForSession;
|
|
206
|
+
/**
|
|
207
|
+
* Ask the client to answer a question from the agent (legacy single-engine
|
|
208
|
+
* path). This intentionally has no wall-clock timeout; Stop/cancel drains
|
|
209
|
+
* the pending ask.
|
|
104
210
|
*/
|
|
105
|
-
private requestAskUserForSession;
|
|
106
211
|
private requestAskUserFromClient;
|
|
107
212
|
private notify;
|
|
108
213
|
/**
|
|
@@ -115,5 +220,13 @@ export declare class AgentServer {
|
|
|
115
220
|
private anyEngine;
|
|
116
221
|
close(): void;
|
|
117
222
|
private clearApprovalTimer;
|
|
223
|
+
/**
|
|
224
|
+
* Resolve all of a chat session's pending approvals as cancelled and clear
|
|
225
|
+
* any matching server-side approval timers. Used by handleCancel's
|
|
226
|
+
* per-session path so a Stop while a tool is awaiting approval doesn't leave
|
|
227
|
+
* the tool hanging. Bounded request types have same-keyed timer entries;
|
|
228
|
+
* AskUserQuestion does not.
|
|
229
|
+
*/
|
|
230
|
+
private cancelSessionApprovals;
|
|
118
231
|
private clearAllApprovalTimers;
|
|
119
232
|
}
|