@cjhyy/code-shell-core 0.5.0-rc.2 → 0.6.0-rc.2
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 +56 -0
- package/dist/context/compaction.js +186 -0
- package/dist/context/manager.js +25 -4
- 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 +267 -138
- package/dist/engine/engine.js +957 -191
- 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 +66 -0
- package/dist/engine/model-facade.d.ts +10 -0
- package/dist/engine/model-facade.js +25 -0
- package/dist/engine/patch-orphaned-tools.js +3 -0
- package/dist/engine/resolve-llm-config.d.ts +16 -0
- package/dist/engine/resolve-llm-config.js +44 -0
- package/dist/engine/runtime.js +2 -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 +19 -0
- package/dist/engine/session-usage.js +25 -0
- package/dist/engine/steer-queue.d.ts +32 -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 +67 -3
- package/dist/engine/turn-loop.js +292 -41
- 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.js +11 -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 +49 -6
- package/dist/index.js +60 -4
- 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 +4 -0
- 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 +14 -0
- package/dist/llm/model-pool.js +13 -0
- 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 +407 -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 +7 -1
- package/dist/preset/index.js +96 -6
- package/dist/product/types.d.ts +1 -1
- package/dist/prompt/composer.d.ts +27 -0
- package/dist/prompt/composer.js +67 -21
- package/dist/prompt/instruction-scanner.js +5 -3
- package/dist/prompt/section-loader.js +1 -0
- package/dist/prompt/sections/base.md +1 -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 +8 -2
- package/dist/protocol/chat-session-manager.js +36 -0
- package/dist/protocol/chat-session.d.ts +65 -0
- package/dist/protocol/chat-session.js +94 -2
- package/dist/protocol/client.d.ts +27 -0
- package/dist/protocol/client.js +38 -0
- package/dist/protocol/server.d.ts +112 -0
- package/dist/protocol/server.js +586 -16
- package/dist/protocol/transport.js +3 -2
- package/dist/protocol/types.d.ts +46 -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 +495 -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 +15 -34
- package/dist/runtime/spawn-common.d.ts +148 -0
- package/dist/runtime/spawn-common.js +303 -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 +113 -3
- package/dist/session/simple-diff.d.ts +23 -0
- package/dist/session/simple-diff.js +84 -0
- package/dist/session/transcript.d.ts +25 -1
- package/dist/session/transcript.js +35 -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 +98 -62
- 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 +55 -3
- 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 +94 -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 +361 -0
- package/dist/tool-system/builtin/glob.js +0 -7
- package/dist/tool-system/builtin/grep.js +6 -8
- 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 +7 -1
- package/dist/tool-system/builtin/index.js +249 -25
- 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 +4 -1
- 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 +3 -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 +154 -6
- package/dist/tool-system/executor.d.ts +3 -1
- package/dist/tool-system/executor.js +172 -88
- 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 +186 -20
- 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 +36 -1
- package/dist/tool-system/permission.js +281 -69
- 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/validate-tool-metadata.d.ts +36 -0
- package/dist/tool-system/validate-tool-metadata.js +63 -0
- package/dist/types.d.ts +217 -6
- 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 +40 -0
- package/dist/utils/exec.js +144 -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
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Runtime accessor for the OpenRouter model snapshot
|
|
2
|
+
* Runtime accessor for the OpenRouter model snapshot (model pricing / context /
|
|
3
|
+
* modality metadata). Consumers: cost-tracker, model-pool, model-fetcher,
|
|
4
|
+
* onboarding, and the TUI connect screen.
|
|
3
5
|
*
|
|
4
|
-
* The snapshot is
|
|
5
|
-
*
|
|
6
|
-
*
|
|
6
|
+
* The snapshot is a committed JSON file (`openrouter-models.json`), regenerated
|
|
7
|
+
* manually by `scripts/sync-models.ts` (NOT run automatically during build —
|
|
8
|
+
* copy-assets ships the existing file). It is `require`d ONCE at module load.
|
|
7
9
|
*
|
|
8
|
-
* If the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* If the file is missing at load (e.g. it was deleted, mis-gitignored, or
|
|
11
|
+
* copy-assets was broken), the require falls back to an EMPTY snapshot instead
|
|
12
|
+
* of throwing — the whole module would otherwise crash at import, taking down
|
|
13
|
+
* everything that transitively imports it. Callers already treat an empty
|
|
14
|
+
* `models: []` as "no metadata, use hardcoded defaults" (see model-fetcher's
|
|
15
|
+
* static-catalog fallback), so degrading to empty is safe.
|
|
11
16
|
*/
|
|
12
17
|
export interface OpenRouterModel {
|
|
13
18
|
id: string;
|
|
@@ -25,6 +30,12 @@ interface Snapshot {
|
|
|
25
30
|
count: number;
|
|
26
31
|
models: OpenRouterModel[];
|
|
27
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Coerce an arbitrary `require`d value into a valid Snapshot, or the empty
|
|
35
|
+
* snapshot if it's malformed (missing/non-array `models`). Pure + exported so
|
|
36
|
+
* the missing/corrupt-file degradation is unit-testable without touching disk.
|
|
37
|
+
*/
|
|
38
|
+
export declare function coerceSnapshot(raw: unknown): Snapshot;
|
|
28
39
|
/** Replace the in-memory snapshot for the rest of this process. */
|
|
29
40
|
export declare function setOpenRouterSnapshot(next: Snapshot): void;
|
|
30
41
|
export declare function getOpenRouterSnapshot(): Snapshot;
|
|
@@ -1,18 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Runtime accessor for the OpenRouter model snapshot
|
|
2
|
+
* Runtime accessor for the OpenRouter model snapshot (model pricing / context /
|
|
3
|
+
* modality metadata). Consumers: cost-tracker, model-pool, model-fetcher,
|
|
4
|
+
* onboarding, and the TUI connect screen.
|
|
3
5
|
*
|
|
4
|
-
* The snapshot is
|
|
5
|
-
*
|
|
6
|
-
*
|
|
6
|
+
* The snapshot is a committed JSON file (`openrouter-models.json`), regenerated
|
|
7
|
+
* manually by `scripts/sync-models.ts` (NOT run automatically during build —
|
|
8
|
+
* copy-assets ships the existing file). It is `require`d ONCE at module load.
|
|
7
9
|
*
|
|
8
|
-
* If the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
10
|
+
* If the file is missing at load (e.g. it was deleted, mis-gitignored, or
|
|
11
|
+
* copy-assets was broken), the require falls back to an EMPTY snapshot instead
|
|
12
|
+
* of throwing — the whole module would otherwise crash at import, taking down
|
|
13
|
+
* everything that transitively imports it. Callers already treat an empty
|
|
14
|
+
* `models: []` as "no metadata, use hardcoded defaults" (see model-fetcher's
|
|
15
|
+
* static-catalog fallback), so degrading to empty is safe.
|
|
11
16
|
*/
|
|
12
17
|
import { createRequire } from "node:module";
|
|
13
18
|
const requireJson = createRequire(import.meta.url);
|
|
14
|
-
const
|
|
19
|
+
const EMPTY_SNAPSHOT = { fetchedAt: "", source: "", count: 0, models: [] };
|
|
20
|
+
const bundled = loadBundled();
|
|
15
21
|
let runtimeOverride = null;
|
|
22
|
+
/**
|
|
23
|
+
* Coerce an arbitrary `require`d value into a valid Snapshot, or the empty
|
|
24
|
+
* snapshot if it's malformed (missing/non-array `models`). Pure + exported so
|
|
25
|
+
* the missing/corrupt-file degradation is unit-testable without touching disk.
|
|
26
|
+
*/
|
|
27
|
+
export function coerceSnapshot(raw) {
|
|
28
|
+
if (raw && typeof raw === "object" && Array.isArray(raw.models)) {
|
|
29
|
+
return raw;
|
|
30
|
+
}
|
|
31
|
+
return EMPTY_SNAPSHOT;
|
|
32
|
+
}
|
|
33
|
+
/** require the committed snapshot once; degrade to empty (never throw) if the
|
|
34
|
+
* file is missing/corrupt so importing this module can't crash the process. */
|
|
35
|
+
function loadBundled() {
|
|
36
|
+
try {
|
|
37
|
+
return coerceSnapshot(requireJson("./openrouter-models.json"));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return EMPTY_SNAPSHOT;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
16
43
|
function loadSnapshot() {
|
|
17
44
|
return runtimeOverride ?? bundled;
|
|
18
45
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* resolveAuxKey — pick the pool key for the background/aux client. Reads the
|
|
3
|
+
* unified store's settings.defaults.auxText (a connection id, also the pool
|
|
4
|
+
* key). Empty strings are treated as unset. (legacy settings.auxModelKey 已删除)
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveAuxKey(settings: {
|
|
7
|
+
defaults?: {
|
|
8
|
+
auxText?: string;
|
|
9
|
+
};
|
|
10
|
+
}): string | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* resolveAuxKey — pick the pool key for the background/aux client. Reads the
|
|
3
|
+
* unified store's settings.defaults.auxText (a connection id, also the pool
|
|
4
|
+
* key). Empty strings are treated as unset. (legacy settings.auxModelKey 已删除)
|
|
5
|
+
*/
|
|
6
|
+
export function resolveAuxKey(settings) {
|
|
7
|
+
const unified = settings.defaults?.auxText;
|
|
8
|
+
if (unified)
|
|
9
|
+
return unified;
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ToolDefinition } from "../types.js";
|
|
2
|
+
import type { AgentDefinitionRegistry } from "../agent/agent-definition-registry.js";
|
|
3
|
+
/**
|
|
4
|
+
* Rewrite a single tool definition with the live, per-engine dynamic bits the
|
|
5
|
+
* static def can't carry (the model only ever sees what we hand it each turn):
|
|
6
|
+
*
|
|
7
|
+
* - Agent: append the available-agent-types listing to the description AND
|
|
8
|
+
* forward the rebuilt inputSchema. The schema carries the `agent_type` enum
|
|
9
|
+
* of loaded role names — forwarding ONLY the description (the prior bug) left
|
|
10
|
+
* agent_type a free optional string, so the model silently omitted it and the
|
|
11
|
+
* configured roles' model/tools/skills never applied.
|
|
12
|
+
* - GenerateImage / GenerateVideo: name the configured providers in the
|
|
13
|
+
* description (these defs never rebuild inputSchema, so description-only is
|
|
14
|
+
* correct and intentional for them).
|
|
15
|
+
*
|
|
16
|
+
* Non-matching tools are returned by identity (no allocation). Pure: it never
|
|
17
|
+
* mutates the input or any shared const.
|
|
18
|
+
*/
|
|
19
|
+
export declare function applyDynamicToolDef(t: ToolDefinition, agentDefinitions: AgentDefinitionRegistry | undefined, guardCwd: string): ToolDefinition;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { agentToolDefWithTypes } from "../tool-system/builtin/agent.js";
|
|
2
|
+
import { generateImageToolDefFor } from "../tool-system/builtin/generate-image.js";
|
|
3
|
+
import { generateVideoToolDefFor } from "../tool-system/builtin/generate-video.js";
|
|
4
|
+
import { useCredentialToolDefFor } from "../credentials/use-credential-tool.js";
|
|
5
|
+
/**
|
|
6
|
+
* Rewrite a single tool definition with the live, per-engine dynamic bits the
|
|
7
|
+
* static def can't carry (the model only ever sees what we hand it each turn):
|
|
8
|
+
*
|
|
9
|
+
* - Agent: append the available-agent-types listing to the description AND
|
|
10
|
+
* forward the rebuilt inputSchema. The schema carries the `agent_type` enum
|
|
11
|
+
* of loaded role names — forwarding ONLY the description (the prior bug) left
|
|
12
|
+
* agent_type a free optional string, so the model silently omitted it and the
|
|
13
|
+
* configured roles' model/tools/skills never applied.
|
|
14
|
+
* - GenerateImage / GenerateVideo: name the configured providers in the
|
|
15
|
+
* description (these defs never rebuild inputSchema, so description-only is
|
|
16
|
+
* correct and intentional for them).
|
|
17
|
+
*
|
|
18
|
+
* Non-matching tools are returned by identity (no allocation). Pure: it never
|
|
19
|
+
* mutates the input or any shared const.
|
|
20
|
+
*/
|
|
21
|
+
export function applyDynamicToolDef(t, agentDefinitions, guardCwd) {
|
|
22
|
+
if (t.name === "Agent") {
|
|
23
|
+
const def = agentToolDefWithTypes(agentDefinitions);
|
|
24
|
+
return { ...t, description: def.description, inputSchema: def.inputSchema };
|
|
25
|
+
}
|
|
26
|
+
if (t.name === "GenerateImage") {
|
|
27
|
+
return { ...t, description: generateImageToolDefFor(guardCwd).description };
|
|
28
|
+
}
|
|
29
|
+
if (t.name === "GenerateVideo") {
|
|
30
|
+
return { ...t, description: generateVideoToolDefFor(guardCwd).description };
|
|
31
|
+
}
|
|
32
|
+
if (t.name === "UseCredential") {
|
|
33
|
+
return { ...t, description: useCredentialToolDefFor(guardCwd).description };
|
|
34
|
+
}
|
|
35
|
+
return t;
|
|
36
|
+
}
|