@codemieai/code 0.15.1 → 0.15.3
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/CHANGELOG.md +75 -0
- package/bin/codemie.js +52 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +6 -0
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +25 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +137 -127
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/session/BaseProcessor.d.ts +10 -0
- package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -1
- package/dist/agents/core/session/BaseProcessor.js +11 -1
- package/dist/agents/core/session/BaseProcessor.js.map +1 -1
- package/dist/agents/core/session/BaseSessionAdapter.d.ts +4 -0
- package/dist/agents/core/session/BaseSessionAdapter.d.ts.map +1 -1
- package/dist/agents/core/types.d.ts +11 -5
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.models.js +12 -11
- package/dist/agents/plugins/claude/claude.models.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +3 -3
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +14 -13
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts +17 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +31 -1
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/hooks/hooks.json +7 -7
- package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex.plugin.js +7 -6
- package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js +5 -2
- package/dist/agents/plugins/copilot-cli/copilot-cli.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini/extension/gemini-extension.json +1 -1
- package/dist/agents/plugins/gemini/extension/hooks/hooks.json +7 -7
- package/dist/agents/plugins/gemini/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini/gemini.plugin.js +7 -6
- package/dist/agents/plugins/gemini/gemini.plugin.js.map +1 -1
- package/dist/agents/plugins/kimi/kimi.hook-config-injector.d.ts.map +1 -1
- package/dist/agents/plugins/kimi/kimi.hook-config-injector.js +26 -5
- package/dist/agents/plugins/kimi/kimi.hook-config-injector.js.map +1 -1
- package/dist/agents/plugins/kimi/kimi.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/kimi/kimi.plugin.js +5 -2
- package/dist/agents/plugins/kimi/kimi.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js +3 -4
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
- package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
- package/dist/agents/plugins/pi/pi.models.js +3 -3
- package/dist/agents/plugins/pi/pi.models.js.map +1 -1
- package/dist/bin/proxy-daemon.js +8 -1
- package/dist/bin/proxy-daemon.js.map +1 -1
- package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts +6 -0
- package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js +115 -0
- package/dist/cli/commands/analytics/cost/claude-dispatch-allocation.js.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts +6 -0
- package/dist/cli/commands/analytics/cost/claude-lifecycle.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-lifecycle.js +107 -0
- package/dist/cli/commands/analytics/cost/claude-lifecycle.js.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-native.d.ts +54 -0
- package/dist/cli/commands/analytics/cost/claude-native.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-native.js +14 -0
- package/dist/cli/commands/analytics/cost/claude-native.js.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-ownership.d.ts +23 -0
- package/dist/cli/commands/analytics/cost/claude-ownership.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-ownership.js +99 -0
- package/dist/cli/commands/analytics/cost/claude-ownership.js.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-trace.d.ts +28 -0
- package/dist/cli/commands/analytics/cost/claude-trace.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/claude-trace.js +120 -0
- package/dist/cli/commands/analytics/cost/claude-trace.js.map +1 -0
- package/dist/cli/commands/analytics/cost/cost-enricher.d.ts +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.js +34 -43
- package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
- package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts +18 -0
- package/dist/cli/commands/analytics/cost/dispatch-allocation.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/dispatch-allocation.js +53 -0
- package/dist/cli/commands/analytics/cost/dispatch-allocation.js.map +1 -0
- package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts +8 -13
- package/dist/cli/commands/analytics/cost/dispatch-extractor.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/dispatch-extractor.js +131 -69
- package/dist/cli/commands/analytics/cost/dispatch-extractor.js.map +1 -1
- package/dist/cli/commands/analytics/cost/types.d.ts +39 -0
- package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/types.js.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts +2 -0
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.js +14 -3
- package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
- package/dist/cli/commands/analytics/data-loader.d.ts +13 -0
- package/dist/cli/commands/analytics/data-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/data-loader.js +6 -0
- package/dist/cli/commands/analytics/data-loader.js.map +1 -1
- package/dist/cli/commands/analytics/native-loader.d.ts +1 -1
- package/dist/cli/commands/analytics/native-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/native-loader.js +25 -3
- package/dist/cli/commands/analytics/native-loader.js.map +1 -1
- package/dist/cli/commands/analytics/otel-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/otel-loader.js +5 -0
- package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
- package/dist/cli/commands/analytics/report/client/app.js +302 -125
- package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
- package/dist/cli/commands/analytics/report/payload-builder.js +64 -13
- package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
- package/dist/cli/commands/analytics/report/template.html +50 -2
- package/dist/cli/commands/analytics/report/types.d.ts +16 -0
- package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.d.ts +4 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.js +4 -0
- package/dist/cli/commands/assistants/constants.js.map +1 -1
- package/dist/cli/commands/assistants/setup/data.d.ts +1 -0
- package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/data.js +55 -10
- package/dist/cli/commands/assistants/setup/data.js.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.js +2 -5
- package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
- package/dist/cli/commands/assistants/setup/index.d.ts +12 -0
- package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/index.js +148 -20
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts +6 -0
- package/dist/cli/commands/doctor/checks/AgentsCheck.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/AgentsCheck.js +37 -33
- package/dist/cli/commands/doctor/checks/AgentsCheck.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +11 -0
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +72 -12
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +5 -9
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/mcp/index.d.ts.map +1 -1
- package/dist/cli/commands/mcp/index.js +68 -17
- package/dist/cli/commands/mcp/index.js.map +1 -1
- package/dist/cli/commands/profile/display.d.ts +5 -1
- package/dist/cli/commands/profile/display.d.ts.map +1 -1
- package/dist/cli/commands/profile/display.js +5 -1
- package/dist/cli/commands/profile/display.js.map +1 -1
- package/dist/cli/commands/profile/index.d.ts.map +1 -1
- package/dist/cli/commands/profile/index.js +7 -4
- package/dist/cli/commands/profile/index.js.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.js +3 -4
- package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.d.ts +15 -12
- package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.js +36 -38
- package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts +19 -0
- package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/model-name-resolver.js +126 -0
- package/dist/cli/commands/proxy/connectors/model-name-resolver.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts +11 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.js +108 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +49 -19
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +3 -3
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.js +28 -28
- package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.d.ts +3 -2
- package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.js +78 -39
- package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +72 -24
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/shared/headless.d.ts +69 -0
- package/dist/cli/commands/shared/headless.d.ts.map +1 -0
- package/dist/cli/commands/shared/headless.js +83 -0
- package/dist/cli/commands/shared/headless.js.map +1 -0
- package/dist/cli/commands/shared/helpers.d.ts +21 -0
- package/dist/cli/commands/shared/helpers.d.ts.map +1 -1
- package/dist/cli/commands/shared/helpers.js +73 -1
- package/dist/cli/commands/shared/helpers.js.map +1 -1
- package/dist/cli/commands/shared/identifier-resolution.d.ts +23 -0
- package/dist/cli/commands/shared/identifier-resolution.d.ts.map +1 -0
- package/dist/cli/commands/shared/identifier-resolution.js +55 -0
- package/dist/cli/commands/shared/identifier-resolution.js.map +1 -0
- package/dist/cli/commands/skills/setup/data.d.ts +3 -2
- package/dist/cli/commands/skills/setup/data.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/data.js +75 -13
- package/dist/cli/commands/skills/setup/data.js.map +1 -1
- package/dist/cli/commands/skills/setup/helpers.d.ts +1 -1
- package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/helpers.js +2 -5
- package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
- package/dist/cli/commands/skills/setup/index.d.ts +17 -1
- package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/index.js +190 -19
- package/dist/cli/commands/skills/setup/index.js.map +1 -1
- package/dist/cli/commands/tips.d.ts +10 -0
- package/dist/cli/commands/tips.d.ts.map +1 -0
- package/dist/cli/commands/tips.js +142 -0
- package/dist/cli/commands/tips.js.map +1 -0
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +12 -10
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/whatsnew.d.ts +6 -0
- package/dist/cli/commands/whatsnew.d.ts.map +1 -0
- package/dist/cli/commands/whatsnew.js +37 -0
- package/dist/cli/commands/whatsnew.js.map +1 -0
- package/dist/cli/first-time.d.ts.map +1 -1
- package/dist/cli/first-time.js +4 -0
- package/dist/cli/first-time.js.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/providers/core/types.d.ts +15 -0
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/core/types.js.map +1 -1
- package/dist/providers/integration/setup-ui.d.ts +5 -3
- package/dist/providers/integration/setup-ui.d.ts.map +1 -1
- package/dist/providers/integration/setup-ui.js +6 -4
- package/dist/providers/integration/setup-ui.js.map +1 -1
- package/dist/providers/plugins/ollama/ollama.library.d.ts +37 -0
- package/dist/providers/plugins/ollama/ollama.library.d.ts.map +1 -0
- package/dist/providers/plugins/ollama/ollama.library.js +105 -0
- package/dist/providers/plugins/ollama/ollama.library.js.map +1 -0
- package/dist/providers/plugins/ollama/ollama.models.d.ts +3 -1
- package/dist/providers/plugins/ollama/ollama.models.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.models.js +5 -39
- package/dist/providers/plugins/ollama/ollama.models.js.map +1 -1
- package/dist/providers/plugins/ollama/ollama.setup-steps.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.setup-steps.js +196 -6
- package/dist/providers/plugins/ollama/ollama.setup-steps.js.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.d.ts.map +1 -1
- package/dist/providers/plugins/ollama/ollama.template.js +12 -32
- package/dist/providers/plugins/ollama/ollama.template.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts +41 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js +115 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +101 -7
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts +4 -0
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +28 -3
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +5 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +1 -0
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/providers/plugins/sso/session/BaseProcessor.d.ts +4 -0
- package/dist/providers/plugins/sso/session/BaseProcessor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +12 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.js +89 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js +75 -41
- package/dist/providers/plugins/sso/session/processors/conversations/syncProcessor.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +11 -2
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +25 -5
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +30 -6
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js +33 -3
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js.map +1 -1
- package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts +58 -0
- package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts.map +1 -0
- package/dist/telemetry/runtime/DesktopRepositoryResolver.js +370 -0
- package/dist/telemetry/runtime/DesktopRepositoryResolver.js.map +1 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts +1 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +89 -6
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
- package/dist/telemetry/runtime/types.d.ts +2 -0
- package/dist/telemetry/runtime/types.d.ts.map +1 -1
- package/dist/utils/auth.d.ts +13 -2
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +7 -3
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/cli-updater.d.ts.map +1 -1
- package/dist/utils/cli-updater.js +2 -8
- package/dist/utils/cli-updater.js.map +1 -1
- package/dist/utils/config.d.ts +21 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +69 -7
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/env.d.ts +12 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +18 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errors.d.ts +14 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +25 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/hook-command.d.ts +6 -0
- package/dist/utils/hook-command.d.ts.map +1 -1
- package/dist/utils/hook-command.js +40 -1
- package/dist/utils/hook-command.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -2
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +11 -9
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/pricing.json +14 -6
- package/dist/utils/processes.d.ts +12 -0
- package/dist/utils/processes.d.ts.map +1 -1
- package/dist/utils/processes.js +15 -0
- package/dist/utils/processes.js.map +1 -1
- package/dist/utils/tips.d.ts +103 -0
- package/dist/utils/tips.d.ts.map +1 -0
- package/dist/utils/tips.js +221 -0
- package/dist/utils/tips.js.map +1 -0
- package/dist/utils/version-warnings.d.ts +41 -0
- package/dist/utils/version-warnings.d.ts.map +1 -0
- package/dist/utils/version-warnings.js +93 -0
- package/dist/utils/version-warnings.js.map +1 -0
- package/dist/utils/whatsnew.d.ts +83 -0
- package/dist/utils/whatsnew.d.ts.map +1 -0
- package/dist/utils/whatsnew.js +200 -0
- package/dist/utils/whatsnew.js.map +1 -0
- package/package.json +4 -1
- package/scripts/release.sh +6 -0
- package/src/utils/tips.json +806 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared tenant model-name resolver for the VS Code Copilot BYOK and Claude
|
|
3
|
+
* Desktop connectors.
|
|
4
|
+
*
|
|
5
|
+
* Generalizes `codex-model-resolver.ts`'s date-stripping identity-parse shape
|
|
6
|
+
* to also strip known vendor prefixes (GPT) and match both token orders
|
|
7
|
+
* (Claude family-first vs. version-first tenant naming). Kept separate from
|
|
8
|
+
* `codex-model-resolver.ts` on purpose — that module is proven for Codex and
|
|
9
|
+
* out of scope for this change.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Release date embedded in a tenant model id, matched in either of the two
|
|
13
|
+
* shapes real CodeMie deployments use: separator-delimited (`-2026-07-09`) or
|
|
14
|
+
* concatenated (`-20260709`, e.g. `claude-opus-4-5-20251101`). Not anchored to
|
|
15
|
+
* end-of-string: a deployment may carry a suffix after the date. The
|
|
16
|
+
* `(?!\d)` guard stops the concatenated alternative from matching only part
|
|
17
|
+
* of a longer digit run.
|
|
18
|
+
*/
|
|
19
|
+
const RELEASE_DATE_PATTERN = /[-._](?:(?:20\d{2})[-._](?:\d{2})[-._](?:\d{2})|(?:20\d{2})(?:\d{2})(?:\d{2}))(?!\d)/;
|
|
20
|
+
const GPT_VENDOR_PREFIXES = ['openai.'];
|
|
21
|
+
const CLAUDE_SEGMENT_PATTERN = /opus|sonnet|haiku/i;
|
|
22
|
+
const VERTEX_SUFFIX_PATTERN = /-vertex$/i;
|
|
23
|
+
function stripReleaseDate(name) {
|
|
24
|
+
const match = name.match(RELEASE_DATE_PATTERN);
|
|
25
|
+
return match ? name.slice(0, match.index) : name;
|
|
26
|
+
}
|
|
27
|
+
/** Numeric [year, month, day] embedded in `id`, or `null` when it carries no release date. */
|
|
28
|
+
function extractReleaseDate(id) {
|
|
29
|
+
const match = id.match(RELEASE_DATE_PATTERN);
|
|
30
|
+
if (!match)
|
|
31
|
+
return null;
|
|
32
|
+
const digits = match[0].match(/\d+/g) ?? [];
|
|
33
|
+
const joined = digits.join('');
|
|
34
|
+
if (joined.length < 8)
|
|
35
|
+
return null;
|
|
36
|
+
return [Number(joined.slice(0, 4)), Number(joined.slice(4, 6)), Number(joined.slice(6, 8))];
|
|
37
|
+
}
|
|
38
|
+
function parseGptIdentity(rawName) {
|
|
39
|
+
let name = stripReleaseDate(rawName.toLowerCase());
|
|
40
|
+
for (const prefix of GPT_VENDOR_PREFIXES) {
|
|
41
|
+
if (name.startsWith(prefix)) {
|
|
42
|
+
name = name.slice(prefix.length);
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const canonical = name.replace(/\./g, '-').replace(/-+$/, '');
|
|
47
|
+
const versionMatch = canonical.match(/^gpt-(\d+)(?:-(\d+))?/);
|
|
48
|
+
if (!versionMatch)
|
|
49
|
+
return null;
|
|
50
|
+
const rest = canonical.slice(versionMatch[0].length).replace(/^-/, '');
|
|
51
|
+
return { vendor: 'gpt', segment: rest, major: Number(versionMatch[1]), minor: Number(versionMatch[2] ?? 0) };
|
|
52
|
+
}
|
|
53
|
+
function parseClaudeIdentity(rawName) {
|
|
54
|
+
const name = stripReleaseDate(rawName.toLowerCase()).replace(VERTEX_SUFFIX_PATTERN, '');
|
|
55
|
+
if (!name.startsWith('claude-'))
|
|
56
|
+
return null;
|
|
57
|
+
const tokens = name.slice('claude-'.length).split('-').filter(Boolean);
|
|
58
|
+
const segmentToken = tokens.find((t) => CLAUDE_SEGMENT_PATTERN.test(t));
|
|
59
|
+
if (!segmentToken)
|
|
60
|
+
return null;
|
|
61
|
+
const numbers = tokens.filter((t) => /^\d+$/.test(t)).map(Number);
|
|
62
|
+
return { vendor: 'claude', segment: segmentToken, major: numbers[0] ?? 0, minor: numbers[1] ?? 0 };
|
|
63
|
+
}
|
|
64
|
+
function sameIdentity(a, b) {
|
|
65
|
+
return a !== null && a.vendor === b.vendor && a.segment === b.segment
|
|
66
|
+
&& a.major === b.major && a.minor === b.minor;
|
|
67
|
+
}
|
|
68
|
+
function scoreForRecency(id) {
|
|
69
|
+
return {
|
|
70
|
+
id,
|
|
71
|
+
nonVertexRank: VERTEX_SUFFIX_PATTERN.test(id) ? 0 : 1,
|
|
72
|
+
date: extractReleaseDate(id) ?? [0, 0, 0],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Rank same-identity candidates and return the best one.
|
|
77
|
+
*
|
|
78
|
+
* `sameIdentity` only guarantees vendor/segment/major/minor equality — not a
|
|
79
|
+
* shared textual shape — so candidates can legitimately mix a vendor-prefixed
|
|
80
|
+
* undated id, a dashed/concatenated dated id, and a `-vertex`-suffixed id for
|
|
81
|
+
* the very same model. Plain lexicographic comparison sorts those by their
|
|
82
|
+
* first differing character, not by recency, which silently prefers the
|
|
83
|
+
* wrong deployment. Rank instead by an explicit precedence: canonical
|
|
84
|
+
* (non-vertex) ids before `-vertex` ones, then the parsed release date
|
|
85
|
+
* (newest first, `[0, 0, 0]` for an undated id sorts last), then id text as a
|
|
86
|
+
* final deterministic tiebreak.
|
|
87
|
+
*/
|
|
88
|
+
function pickMostRecent(ids) {
|
|
89
|
+
const [best] = ids
|
|
90
|
+
.map(scoreForRecency)
|
|
91
|
+
.sort((a, b) => {
|
|
92
|
+
if (a.nonVertexRank !== b.nonVertexRank)
|
|
93
|
+
return b.nonVertexRank - a.nonVertexRank;
|
|
94
|
+
for (let i = 0; i < a.date.length; i++) {
|
|
95
|
+
if (a.date[i] !== b.date[i])
|
|
96
|
+
return b.date[i] - a.date[i];
|
|
97
|
+
}
|
|
98
|
+
return b.id.localeCompare(a.id);
|
|
99
|
+
});
|
|
100
|
+
return best.id;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Resolve a capability-table family name (e.g. `gpt-5.6-luna`, `claude-opus-5`)
|
|
104
|
+
* to the exact tenant deployment id that serves it, or `undefined` when no
|
|
105
|
+
* tenant deployment matches. Returns the tenant's id byte-for-byte — never a
|
|
106
|
+
* normalized/canonical form — so the caller can use it directly as the
|
|
107
|
+
* gateway model id.
|
|
108
|
+
*/
|
|
109
|
+
export function resolveTenantModelId(family, available) {
|
|
110
|
+
if (available.includes(family))
|
|
111
|
+
return family;
|
|
112
|
+
const gptWanted = parseGptIdentity(family);
|
|
113
|
+
if (gptWanted) {
|
|
114
|
+
const matches = available.filter((id) => sameIdentity(parseGptIdentity(id), gptWanted));
|
|
115
|
+
if (matches.length > 0)
|
|
116
|
+
return pickMostRecent(matches);
|
|
117
|
+
}
|
|
118
|
+
const claudeWanted = parseClaudeIdentity(family);
|
|
119
|
+
if (claudeWanted) {
|
|
120
|
+
const matches = available.filter((id) => sameIdentity(parseClaudeIdentity(id), claudeWanted));
|
|
121
|
+
if (matches.length > 0)
|
|
122
|
+
return pickMostRecent(matches);
|
|
123
|
+
}
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=model-name-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-name-resolver.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/model-name-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch every deployment id the tenant's gateway exposes, unfiltered.
|
|
3
|
+
*
|
|
4
|
+
* Modeled on `desktop.ts`'s `fetchClaudeModels`, minus its Claude-family
|
|
5
|
+
* filter and vertex/curated-list fallback — this is a generic catalog read
|
|
6
|
+
* consumed by connectors (VS Code Copilot BYOK) that must intersect the
|
|
7
|
+
* result against their own capability table rather than a Claude-specific
|
|
8
|
+
* curated list.
|
|
9
|
+
*/
|
|
10
|
+
export declare function fetchTenantModelCatalog(proxyUrl: string, gatewayKey: string): Promise<string[]>;
|
|
11
|
+
//# sourceMappingURL=tenant-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-catalog.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/tenant-catalog.ts"],"names":[],"mappings":"AAiGA;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgDrG"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { ConfigurationError } from '../../../../utils/errors.js';
|
|
2
|
+
import { logger } from '../../../../utils/logger.js';
|
|
3
|
+
import { sanitizeLogArgs } from '../../../../utils/security.js';
|
|
4
|
+
/** Bounds how long a hung gateway can block `codemie proxy connect`. */
|
|
5
|
+
const CATALOG_FETCH_TIMEOUT_MS = 10_000;
|
|
6
|
+
async function fetchWithTimeout(url, init, timeoutMs) {
|
|
7
|
+
const controller = new AbortController();
|
|
8
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
9
|
+
try {
|
|
10
|
+
return await fetch(url, { ...init, signal: controller.signal });
|
|
11
|
+
}
|
|
12
|
+
finally {
|
|
13
|
+
clearTimeout(timer);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/** Same `id || base_name || deployment_name` fallback chain for every response shape. */
|
|
17
|
+
function extractModelId(model) {
|
|
18
|
+
return model.id || model.base_name || model.deployment_name;
|
|
19
|
+
}
|
|
20
|
+
function parseCatalogResponseIds(json) {
|
|
21
|
+
const models = Array.isArray(json) ? json : (json.data ?? []);
|
|
22
|
+
return models
|
|
23
|
+
.map(extractModelId)
|
|
24
|
+
.filter((id) => typeof id === 'string');
|
|
25
|
+
}
|
|
26
|
+
function buildCatalogHttpError(response, endpoint) {
|
|
27
|
+
return new ConfigurationError(response.status === 401
|
|
28
|
+
? `Local proxy model discovery was rejected with 401 Unauthorized at ${endpoint}. ` +
|
|
29
|
+
'The local gateway key was not accepted by the proxy or was forwarded upstream incorrectly.'
|
|
30
|
+
: `Local proxy model discovery failed at ${endpoint}: ${response.status} ${response.statusText}`);
|
|
31
|
+
}
|
|
32
|
+
function logCatalogFetchStart(endpoint, proxyUrl, gatewayKey) {
|
|
33
|
+
logger.info('[proxy] Fetching tenant model catalog from gateway', ...sanitizeLogArgs({
|
|
34
|
+
endpoint,
|
|
35
|
+
inferenceGatewayBaseUrl: proxyUrl,
|
|
36
|
+
inferenceGatewayApiKey: gatewayKey,
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
function logCatalogFetchFailed(endpoint, response, proxyUrl) {
|
|
40
|
+
logger.warn('[proxy] Tenant model catalog discovery failed', ...sanitizeLogArgs({
|
|
41
|
+
endpoint,
|
|
42
|
+
status: response.status,
|
|
43
|
+
statusText: response.statusText,
|
|
44
|
+
inferenceGatewayBaseUrl: proxyUrl,
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
function logCatalogFetchCompleted(endpoint, ids) {
|
|
48
|
+
logger.info('[proxy] Tenant model catalog discovery completed', ...sanitizeLogArgs({ endpoint, totalModelCount: ids.length }));
|
|
49
|
+
}
|
|
50
|
+
function logCatalogFetchThrew(endpoint, proxyUrl, error) {
|
|
51
|
+
logger.warn('[proxy] Tenant model catalog discovery threw before completion', ...sanitizeLogArgs({
|
|
52
|
+
endpoint,
|
|
53
|
+
inferenceGatewayBaseUrl: proxyUrl,
|
|
54
|
+
error: error instanceof Error ? error.message : String(error),
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
function isAbortError(error) {
|
|
58
|
+
return error instanceof Error && error.name === 'AbortError';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Fetch every deployment id the tenant's gateway exposes, unfiltered.
|
|
62
|
+
*
|
|
63
|
+
* Modeled on `desktop.ts`'s `fetchClaudeModels`, minus its Claude-family
|
|
64
|
+
* filter and vertex/curated-list fallback — this is a generic catalog read
|
|
65
|
+
* consumed by connectors (VS Code Copilot BYOK) that must intersect the
|
|
66
|
+
* result against their own capability table rather than a Claude-specific
|
|
67
|
+
* curated list.
|
|
68
|
+
*/
|
|
69
|
+
export async function fetchTenantModelCatalog(proxyUrl, gatewayKey) {
|
|
70
|
+
let endpoint;
|
|
71
|
+
try {
|
|
72
|
+
endpoint = new URL('/v1/llm_models?include_all=true', proxyUrl).toString();
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
throw new ConfigurationError(`Local proxy model discovery could not build a request URL from proxyUrl "${proxyUrl}". ` +
|
|
76
|
+
`Reason: ${error instanceof Error ? error.message : String(error)}`);
|
|
77
|
+
}
|
|
78
|
+
logCatalogFetchStart(endpoint, proxyUrl, gatewayKey);
|
|
79
|
+
try {
|
|
80
|
+
const response = await fetchWithTimeout(endpoint, { headers: { Authorization: `Bearer ${gatewayKey}` } }, CATALOG_FETCH_TIMEOUT_MS);
|
|
81
|
+
if (!response.ok) {
|
|
82
|
+
logCatalogFetchFailed(endpoint, response, proxyUrl);
|
|
83
|
+
throw buildCatalogHttpError(response, endpoint);
|
|
84
|
+
}
|
|
85
|
+
const contentType = response.headers.get('content-type') ?? '';
|
|
86
|
+
if (!contentType.includes('application/json')) {
|
|
87
|
+
throw new ConfigurationError(`Local proxy model discovery received an unexpected response (${contentType || 'no content-type'}) from ${endpoint}. ` +
|
|
88
|
+
`Your SSO session may have expired — run \`codemie proxy stop && codemie profile login\` ` +
|
|
89
|
+
`to re-authenticate, then run \`codemie proxy connect\` again.`);
|
|
90
|
+
}
|
|
91
|
+
const json = await response.json();
|
|
92
|
+
const ids = parseCatalogResponseIds(json);
|
|
93
|
+
logCatalogFetchCompleted(endpoint, ids);
|
|
94
|
+
return ids;
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error instanceof ConfigurationError) {
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
logCatalogFetchThrew(endpoint, proxyUrl, error);
|
|
101
|
+
if (isAbortError(error)) {
|
|
102
|
+
throw new ConfigurationError(`Local proxy model discovery timed out after ${CATALOG_FETCH_TIMEOUT_MS}ms reaching ${endpoint}.`);
|
|
103
|
+
}
|
|
104
|
+
throw new ConfigurationError(`Local proxy model discovery could not reach ${endpoint}. ` +
|
|
105
|
+
`Reason: ${error instanceof Error ? error.message : String(error)}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=tenant-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant-catalog.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/tenant-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-claude-code.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vscode-claude-code.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,UAAQ,GAAG,MAAM,CAYxE;AAoHD;;;;;;GAMG;AACH,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,iCAAiC,CAAC,CAsD5C;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,UAAQ,GACf,OAAO,CAAC,iCAAiC,CAAC,CAM5C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
+
import { applyEdits, modify, parse, printParseErrorCode, } from 'jsonc-parser';
|
|
4
5
|
import { ConfigurationError } from '../../../../utils/errors.js';
|
|
5
6
|
import { logger } from '../../../../utils/logger.js';
|
|
6
7
|
import { sanitizeLogArgs } from '../../../../utils/security.js';
|
|
@@ -25,9 +26,14 @@ export function getVsCodeClaudeCodeSettingsPath(insiders = false) {
|
|
|
25
26
|
}
|
|
26
27
|
return join(productDir, 'User', 'settings.json');
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Read `settings.json` tolerating the comments and trailing commas VS Code
|
|
31
|
+
* itself writes and accepts (JSONC), instead of the strict `JSON.parse` that
|
|
32
|
+
* previously rejected any hand-edited settings file on its first `//` line.
|
|
33
|
+
*/
|
|
28
34
|
async function readSettings(configPath) {
|
|
29
35
|
if (!existsSync(configPath))
|
|
30
|
-
return {};
|
|
36
|
+
return { settings: {}, raw: '' };
|
|
31
37
|
let raw;
|
|
32
38
|
try {
|
|
33
39
|
raw = await readFile(configPath, 'utf-8');
|
|
@@ -37,23 +43,35 @@ async function readSettings(configPath) {
|
|
|
37
43
|
`${error instanceof Error ? error.message : String(error)}`);
|
|
38
44
|
}
|
|
39
45
|
if (raw.trim().length === 0)
|
|
40
|
-
return {};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return parsed;
|
|
46
|
+
return { settings: {}, raw: '' };
|
|
47
|
+
const errors = [];
|
|
48
|
+
const parsed = parse(raw, errors, { allowTrailingComma: true });
|
|
49
|
+
if (errors.length > 0) {
|
|
50
|
+
throw new ConfigurationError(`VS Code settings at ${configPath} could not be read: ` +
|
|
51
|
+
`${printParseErrorCode(errors[0].error)} at offset ${errors[0].offset}. The file was not changed.`);
|
|
47
52
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
throw error;
|
|
51
|
-
throw new ConfigurationError(`VS Code settings at ${configPath} are not valid JSON and were not changed.`);
|
|
53
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
54
|
+
throw new ConfigurationError(`VS Code settings must contain a JSON object: ${configPath}`);
|
|
52
55
|
}
|
|
56
|
+
return { settings: parsed, raw };
|
|
53
57
|
}
|
|
54
58
|
function isEnvVarEntry(value) {
|
|
55
59
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
56
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Detect the indentation and line ending an existing `settings.json` already
|
|
63
|
+
* uses, so `modify()` edits match it instead of jsonc-parser's own default —
|
|
64
|
+
* passing `{}` as `ModificationOptions` leaves `formattingOptions` undefined,
|
|
65
|
+
* which per jsonc-parser's contract inserts the edit completely unformatted
|
|
66
|
+
* (no newline, no indent) rather than falling back to a 4-space/tab default.
|
|
67
|
+
*/
|
|
68
|
+
function detectFormattingOptions(raw) {
|
|
69
|
+
const eol = raw.includes('\r\n') ? '\r\n' : '\n';
|
|
70
|
+
const indentMatch = raw.match(/\r?\n([ \t]+)\S/);
|
|
71
|
+
const indent = indentMatch?.[1] ?? ' ';
|
|
72
|
+
const insertSpaces = !indent.startsWith('\t');
|
|
73
|
+
return { insertSpaces, tabSize: insertSpaces ? indent.length : 4, eol };
|
|
74
|
+
}
|
|
57
75
|
/**
|
|
58
76
|
* Upsert the two CodeMie-managed entries into an existing `claudeCode.environmentVariables`
|
|
59
77
|
* value, tolerating a malformed existing value instead of crashing or silently discarding data:
|
|
@@ -100,14 +118,26 @@ function upsertManagedEnvVars(existing, gatewayUrl, gatewayKey) {
|
|
|
100
118
|
* CodeMie-managed and get overwritten.
|
|
101
119
|
*/
|
|
102
120
|
export async function writeVsCodeClaudeCodeConfigAtPath(configPath, gatewayUrl, gatewayKey) {
|
|
103
|
-
const settings = await readSettings(configPath);
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
121
|
+
const { settings, raw } = await readSettings(configPath);
|
|
122
|
+
const envVars = upsertManagedEnvVars(settings['claudeCode.environmentVariables'], gatewayUrl, gatewayKey);
|
|
123
|
+
// An absent/empty file has no formatting worth preserving — fall back to the
|
|
124
|
+
// plain re-serialization path. Otherwise apply targeted edits against the
|
|
125
|
+
// ORIGINAL text so comments and trailing commas the user already had survive.
|
|
126
|
+
let nextText;
|
|
127
|
+
if (raw.trim().length === 0) {
|
|
128
|
+
nextText = `${JSON.stringify({
|
|
129
|
+
...settings,
|
|
130
|
+
'claudeCode.disableLoginPrompt': true,
|
|
131
|
+
'claudeCode.environmentVariables': envVars,
|
|
132
|
+
}, null, '\t')}\n`;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const formattingOptions = detectFormattingOptions(raw);
|
|
136
|
+
const afterFirst = applyEdits(raw, modify(raw, ['claudeCode.disableLoginPrompt'], true, { formattingOptions }));
|
|
137
|
+
nextText = applyEdits(afterFirst, modify(afterFirst, ['claudeCode.environmentVariables'], envVars, { formattingOptions }));
|
|
138
|
+
}
|
|
109
139
|
try {
|
|
110
|
-
await writeAtomically(configPath,
|
|
140
|
+
await writeAtomically(configPath, nextText);
|
|
111
141
|
}
|
|
112
142
|
catch (error) {
|
|
113
143
|
throw new ConfigurationError(`Failed to update VS Code Claude Code settings at ${configPath}: ` +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-claude-code.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AACpD,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AACxD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAa1F;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,QAAQ,GAAG,KAAK;IAC9D,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,WAAW,GAAG,QAAQ;YAC1B,CAAC,CAAC,gDAAgD;YAClD,CAAC,CAAC,uDAAuD,CAAC;QAC5D,MAAM,IAAI,kBAAkB,CAC1B,GAAG,OAAO,yCAAyC,UAAU,MAAM,WAAW,EAAE,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;AACnD,CAAC;
|
|
1
|
+
{"version":3,"file":"vscode-claude-code.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export type VsCodeApiType = 'chat-completions' | 'responses' | 'messages';
|
|
2
2
|
export type VsCodeReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
3
|
-
export interface
|
|
4
|
-
|
|
3
|
+
export interface VsCodeCapabilityEntry {
|
|
4
|
+
family: string;
|
|
5
5
|
apiType: VsCodeApiType;
|
|
6
6
|
vision: boolean;
|
|
7
7
|
thinking: boolean;
|
|
@@ -17,5 +17,5 @@ export interface VsCodeModelDefinition {
|
|
|
17
17
|
maxInputTokens: number;
|
|
18
18
|
maxOutputTokens: number;
|
|
19
19
|
}
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const VS_CODE_CAPABILITY_TABLE: readonly VsCodeCapabilityEntry[];
|
|
21
21
|
//# sourceMappingURL=vscode-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-models.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-models.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,qBAAqB;IACpC,
|
|
1
|
+
{"version":3,"file":"vscode-models.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode-models.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,WAAW,GAAG,UAAU,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAC7B,MAAM,GACN,SAAS,GACT,KAAK,GACL,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,QAAQ,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC,CAAC;IACH,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,uBAAuB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3D,qBAAqB,CAAC,EAAE,kBAAkB,GAAG,WAAW,CAAC;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;CACzB;AAeD,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAgRpE,CAAC"}
|