anygate 0.6.1 → 0.6.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 +1 -1
- package/dist/{chunk-BY4AKT2X.js → chunk-EMBABL33.js} +5 -2
- package/dist/{chunk-BY4AKT2X.js.map → chunk-EMBABL33.js.map} +1 -1
- package/dist/{chunk-UE2I2ETX.js → chunk-S5WL3M5G.js} +2 -2
- package/dist/{chunk-UE2I2ETX.js.map → chunk-S5WL3M5G.js.map} +1 -1
- package/dist/cli.js +136 -23
- package/dist/cli.js.map +1 -1
- package/dist/{command-XIDZGWNR.js → command-N3R2ZVVS.js} +3 -3
- package/dist/{constants-WLMOLKEO.js → constants-U356SKNS.js} +2 -2
- package/dist/ui/dist/assets/{index-Bnth1xGD.js → index-q6tXB_gH.js} +1 -1
- package/dist/ui/dist/index.html +1 -1
- package/package.json +1 -1
- /package/dist/{command-XIDZGWNR.js.map → command-N3R2ZVVS.js.map} +0 -0
- /package/dist/{constants-WLMOLKEO.js.map → constants-U356SKNS.js.map} +0 -0
|
@@ -7,7 +7,7 @@ import { join } from "path";
|
|
|
7
7
|
// package.json
|
|
8
8
|
var package_default = {
|
|
9
9
|
name: "anygate",
|
|
10
|
-
version: "0.6.
|
|
10
|
+
version: "0.6.2",
|
|
11
11
|
publishConfig: {
|
|
12
12
|
access: "public"
|
|
13
13
|
},
|
|
@@ -189,4 +189,4 @@ export {
|
|
|
189
189
|
classifyModelFormat,
|
|
190
190
|
VERSION
|
|
191
191
|
};
|
|
192
|
-
//# sourceMappingURL=chunk-
|
|
192
|
+
//# sourceMappingURL=chunk-S5WL3M5G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/config/constants.ts","../package.json"],"sourcesContent":["// src/constants.ts\nimport { homedir } from 'node:os'\nimport { join } from 'node:path'\nimport pkg from '../../package.json' with { type: 'json' }\nimport type { BackendConfig, ModelFormat } from '../types/index.js'\n\nexport const BACKENDS: Record<'zen' | 'go', BackendConfig> = {\n zen: {\n id: 'zen',\n name: 'OpenCode Zen',\n // No /v1 suffix — the Anthropic SDK appends /v1/messages automatically\n baseUrl: 'https://opencode.ai/zen',\n },\n go: {\n id: 'go',\n name: 'OpenCode Go',\n baseUrl: 'https://opencode.ai/zen/go',\n },\n}\n\n// ChatGPT Codex Responses-Lite WebSocket transport (used by models the backend\n// flags with prefer_websockets, e.g. gpt-5.6-luna).\nexport const CODEX_RESPONSES_LITE_WS_URL = 'wss://chatgpt.com/backend-api/codex/responses'\n// `version` header the Codex backend expects on Responses-Lite requests. The\n// official Codex CLI sends its own version here; OpenAI may require this to be\n// bumped over time — confirm via --trace if Luna requests start failing.\nexport const CODEX_RESPONSES_LITE_VERSION = '0.144.1'\n// OpenAI-Beta opt-in for the WebSocket Responses transport.\nexport const CODEX_RESPONSES_WEBSOCKETS_BETA = 'responses_websockets=2026-02-06'\n\n// These must be removed from the child process environment to avoid conflicts\n// with Vertex AI, Bedrock, AWS, Foundry, and any stale Anthropic config.\nexport const CONFLICTING_ENV_VARS = [\n 'CLAUDE_CODE_USE_VERTEX',\n 'ANTHROPIC_VERTEX_PROJECT_ID',\n 'ANTHROPIC_VERTEX_BASE_URL',\n 'CLOUD_ML_REGION',\n 'ANTHROPIC_BEDROCK_BASE_URL',\n 'ANTHROPIC_AWS_BASE_URL',\n 'ANTHROPIC_AWS_API_KEY',\n 'ANTHROPIC_AWS_WORKSPACE_ID',\n 'ANTHROPIC_FOUNDRY_API_KEY',\n 'ANTHROPIC_FOUNDRY_BASE_URL',\n 'ANTHROPIC_AUTH_TOKEN',\n 'ANTHROPIC_API_KEY',\n 'ANTHROPIC_BASE_URL',\n 'ANTHROPIC_MODEL',\n 'ANTHROPIC_DEFAULT_OPUS_MODEL',\n 'ANTHROPIC_DEFAULT_SONNET_MODEL',\n 'ANTHROPIC_DEFAULT_HAIKU_MODEL',\n] as const\n\nexport type ConflictingEnvVar = (typeof CONFLICTING_ENV_VARS)[number]\n\n// Optional enrichment from OpenCode CLI (~/.cache/opencode/models.json) — not a runtime dependency.\nexport const OPENCODE_CACHE_PATH = join(homedir(), '.cache', 'opencode', 'models.json')\n\n/** Max models in favorites list and mid-session /model switch catalog. */\nexport const MAX_MODEL_CATALOG = 20\n\n// Fixed port the `anygate server` gateway binds to. The doctor command probes\n// this same port so users catch clashes before launching the server.\nexport const GATEWAY_PORT = 17645\n\n/** Gateway rate limiting: max requests per client per window. */\nexport const RATE_LIMIT_MAX_REQUESTS = 120\n\n/** Gateway rate limiting: time window in milliseconds. */\nexport const RATE_LIMIT_WINDOW_MS = 60_000\n\n/** Maximum request body size in bytes (10 MB). */\nexport const MAX_REQUEST_BODY_BYTES = 10 * 1024 * 1024\n\n/** Vercel AI SDK package for Anthropic Claude models on Google Vertex AI (ADC auth). */\nexport const VERTEX_ANTHROPIC_NPM = '@ai-sdk/google-vertex/anthropic'\n\n// Classify a model's API format based on cache provider data or ID heuristics.\n// Used to decide whether to route directly or through the translation proxy.\nexport function classifyModelFormat(modelId: string, providerNpm: string | undefined): ModelFormat {\n if (providerNpm === '@ai-sdk/anthropic') return 'anthropic'\n if (providerNpm === '@ai-sdk/openai') return 'unsupported'\n if (providerNpm === '@ai-sdk/google') return 'unsupported'\n\n // Fallback: ID-prefix heuristics for models not in cache\n const lower = modelId.toLowerCase()\n if (lower.startsWith('claude-')) return 'anthropic'\n if (lower.startsWith('gpt-')) return 'unsupported'\n if (lower.startsWith('gemini-')) return 'unsupported'\n\n return 'openai'\n}\n\nexport const VERSION = pkg.version\n","{\n \"name\": \"anygate\",\n \"version\": \"0.6.1\",\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"description\": \"Route any model into any coding agent — launch Claude Code, Codex, and more with multi-provider gateways\",\n \"author\": \"ramananbuilds\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/ramananbuilds/anygate.git\"\n },\n \"homepage\": \"https://github.com/ramananbuilds/anygate#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/ramananbuilds/anygate/issues\"\n },\n \"keywords\": [\n \"claude\",\n \"claude-code\",\n \"codex\",\n \"ai\",\n \"llm\",\n \"cli\",\n \"gateway\",\n \"vertex\"\n ],\n \"type\": \"module\",\n \"bin\": {\n \"anygate\": \"dist/cli.js\"\n },\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n },\n \"scripts\": {\n \"build\": \"tsup && npm run ui:build && node scripts/copy-ui-assets.mjs\",\n \"dev\": \"tsup --watch\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage\",\n \"typecheck\": \"tsc --noEmit\",\n \"refresh:models-dev\": \"node scripts/refresh-models-dev-cache.mjs\",\n \"audit:context-windows\": \"tsx scripts/audit-context-windows.ts\",\n \"generate:context-rules\": \"tsx scripts/generate-context-rules.ts\",\n \"lint\": \"eslint src/ --ext .ts\",\n \"lint:fix\": \"eslint src/ --ext .ts --fix\",\n \"format\": \"prettier --write \\\"src/**/*.ts\\\"\",\n \"format:check\": \"prettier --check \\\"src/**/*.ts\\\"\",\n \"prepublishOnly\": \"node -e \\\"if (require('./package.json').version !== require('./package-lock.json').version) { console.error('Error: package.json and package-lock.json versions are out of sync! Run npm install to sync.'); process.exit(1); }\\\" && npm run build\",\n \"ui:dev\": \"npm --prefix src/ui/app run dev\",\n \"ui:build\": \"npm --prefix src/ui/app run build\",\n \"prepare\": \"husky\"\n },\n \"dependencies\": {\n \"@ai-sdk/alibaba\": \"^1.0.26\",\n \"@ai-sdk/amazon-bedrock\": \"^4.0.113\",\n \"@ai-sdk/anthropic\": \"^3.0.81\",\n \"@ai-sdk/azure\": \"^3.0.70\",\n \"@ai-sdk/cerebras\": \"^2.0.54\",\n \"@ai-sdk/cohere\": \"^3.0.36\",\n \"@ai-sdk/deepinfra\": \"^2.0.52\",\n \"@ai-sdk/gateway\": \"^3.0.125\",\n \"@ai-sdk/google\": \"^3.0.80\",\n \"@ai-sdk/google-vertex\": \"^4.0.142\",\n \"@ai-sdk/groq\": \"^3.0.39\",\n \"@ai-sdk/mistral\": \"^3.0.37\",\n \"@ai-sdk/openai\": \"^3.0.68\",\n \"@ai-sdk/openai-compatible\": \"^2.0.48\",\n \"@ai-sdk/perplexity\": \"^3.0.33\",\n \"@ai-sdk/provider-utils\": \"^4.0.27\",\n \"@ai-sdk/togetherai\": \"^2.0.53\",\n \"@ai-sdk/vercel\": \"^2.0.50\",\n \"@ai-sdk/xai\": \"^3.0.93\",\n \"@clack/prompts\": \"^0.9.1\",\n \"@openrouter/ai-sdk-provider\": \"^2.9.0\",\n \"ai\": \"^6.0.197\",\n \"gitlab-ai-provider\": \"^6.8.0\",\n \"ipaddr.js\": \"^2.4.0\",\n \"open\": \"^11.0.0\",\n \"picocolors\": \"^1.1.1\",\n \"smol-toml\": \"^1.6.1\",\n \"venice-ai-sdk-provider\": \"^2.0.2\",\n \"ws\": \"^8.21.0\",\n \"zod\": \"^3.25.76\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"@types/ws\": \"^8.18.1\",\n \"@typescript-eslint/eslint-plugin\": \"^8.0.0\",\n \"@typescript-eslint/parser\": \"^8.0.0\",\n \"@vitest/coverage-v8\": \"^2.1.9\",\n \"eslint\": \"^9.0.0\",\n \"eslint-config-prettier\": \"^9.1.0\",\n \"husky\": \"^9.1.7\",\n \"lint-staged\": \"^16.4.0\",\n \"prettier\": \"^3.3.0\",\n \"tsup\": \"^8.0.0\",\n \"typescript\": \"^5.5.0\",\n \"typescript-eslint\": \"^8.65.0\",\n \"vitest\": \"^2.0.0\"\n },\n \"optionalDependencies\": {\n \"@napi-rs/keyring\": \"^1.3.0\"\n },\n \"overrides\": {\n \"ws\": \"^8.21.0\"\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/config/constants.ts","../package.json"],"sourcesContent":["// src/constants.ts\nimport { homedir } from 'node:os'\nimport { join } from 'node:path'\nimport pkg from '../../package.json' with { type: 'json' }\nimport type { BackendConfig, ModelFormat } from '../types/index.js'\n\nexport const BACKENDS: Record<'zen' | 'go', BackendConfig> = {\n zen: {\n id: 'zen',\n name: 'OpenCode Zen',\n // No /v1 suffix — the Anthropic SDK appends /v1/messages automatically\n baseUrl: 'https://opencode.ai/zen',\n },\n go: {\n id: 'go',\n name: 'OpenCode Go',\n baseUrl: 'https://opencode.ai/zen/go',\n },\n}\n\n// ChatGPT Codex Responses-Lite WebSocket transport (used by models the backend\n// flags with prefer_websockets, e.g. gpt-5.6-luna).\nexport const CODEX_RESPONSES_LITE_WS_URL = 'wss://chatgpt.com/backend-api/codex/responses'\n// `version` header the Codex backend expects on Responses-Lite requests. The\n// official Codex CLI sends its own version here; OpenAI may require this to be\n// bumped over time — confirm via --trace if Luna requests start failing.\nexport const CODEX_RESPONSES_LITE_VERSION = '0.144.1'\n// OpenAI-Beta opt-in for the WebSocket Responses transport.\nexport const CODEX_RESPONSES_WEBSOCKETS_BETA = 'responses_websockets=2026-02-06'\n\n// These must be removed from the child process environment to avoid conflicts\n// with Vertex AI, Bedrock, AWS, Foundry, and any stale Anthropic config.\nexport const CONFLICTING_ENV_VARS = [\n 'CLAUDE_CODE_USE_VERTEX',\n 'ANTHROPIC_VERTEX_PROJECT_ID',\n 'ANTHROPIC_VERTEX_BASE_URL',\n 'CLOUD_ML_REGION',\n 'ANTHROPIC_BEDROCK_BASE_URL',\n 'ANTHROPIC_AWS_BASE_URL',\n 'ANTHROPIC_AWS_API_KEY',\n 'ANTHROPIC_AWS_WORKSPACE_ID',\n 'ANTHROPIC_FOUNDRY_API_KEY',\n 'ANTHROPIC_FOUNDRY_BASE_URL',\n 'ANTHROPIC_AUTH_TOKEN',\n 'ANTHROPIC_API_KEY',\n 'ANTHROPIC_BASE_URL',\n 'ANTHROPIC_MODEL',\n 'ANTHROPIC_DEFAULT_OPUS_MODEL',\n 'ANTHROPIC_DEFAULT_SONNET_MODEL',\n 'ANTHROPIC_DEFAULT_HAIKU_MODEL',\n] as const\n\nexport type ConflictingEnvVar = (typeof CONFLICTING_ENV_VARS)[number]\n\n// Optional enrichment from OpenCode CLI (~/.cache/opencode/models.json) — not a runtime dependency.\nexport const OPENCODE_CACHE_PATH = join(homedir(), '.cache', 'opencode', 'models.json')\n\n/** Max models in favorites list and mid-session /model switch catalog. */\nexport const MAX_MODEL_CATALOG = 20\n\n// Fixed port the `anygate server` gateway binds to. The doctor command probes\n// this same port so users catch clashes before launching the server.\nexport const GATEWAY_PORT = 17645\n\n/** Gateway rate limiting: max requests per client per window. */\nexport const RATE_LIMIT_MAX_REQUESTS = 120\n\n/** Gateway rate limiting: time window in milliseconds. */\nexport const RATE_LIMIT_WINDOW_MS = 60_000\n\n/** Maximum request body size in bytes (10 MB). */\nexport const MAX_REQUEST_BODY_BYTES = 10 * 1024 * 1024\n\n/** Vercel AI SDK package for Anthropic Claude models on Google Vertex AI (ADC auth). */\nexport const VERTEX_ANTHROPIC_NPM = '@ai-sdk/google-vertex/anthropic'\n\n// Classify a model's API format based on cache provider data or ID heuristics.\n// Used to decide whether to route directly or through the translation proxy.\nexport function classifyModelFormat(modelId: string, providerNpm: string | undefined): ModelFormat {\n if (providerNpm === '@ai-sdk/anthropic') return 'anthropic'\n if (providerNpm === '@ai-sdk/openai') return 'unsupported'\n if (providerNpm === '@ai-sdk/google') return 'unsupported'\n\n // Fallback: ID-prefix heuristics for models not in cache\n const lower = modelId.toLowerCase()\n if (lower.startsWith('claude-')) return 'anthropic'\n if (lower.startsWith('gpt-')) return 'unsupported'\n if (lower.startsWith('gemini-')) return 'unsupported'\n\n return 'openai'\n}\n\nexport const VERSION = pkg.version\n","{\n \"name\": \"anygate\",\n \"version\": \"0.6.2\",\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"description\": \"Route any model into any coding agent — launch Claude Code, Codex, and more with multi-provider gateways\",\n \"author\": \"ramananbuilds\",\n \"license\": \"MIT\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/ramananbuilds/anygate.git\"\n },\n \"homepage\": \"https://github.com/ramananbuilds/anygate#readme\",\n \"bugs\": {\n \"url\": \"https://github.com/ramananbuilds/anygate/issues\"\n },\n \"keywords\": [\n \"claude\",\n \"claude-code\",\n \"codex\",\n \"ai\",\n \"llm\",\n \"cli\",\n \"gateway\",\n \"vertex\"\n ],\n \"type\": \"module\",\n \"bin\": {\n \"anygate\": \"dist/cli.js\"\n },\n \"files\": [\n \"dist\",\n \"README.md\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n },\n \"scripts\": {\n \"build\": \"tsup && npm run ui:build && node scripts/copy-ui-assets.mjs\",\n \"dev\": \"tsup --watch\",\n \"test\": \"vitest run\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage\",\n \"typecheck\": \"tsc --noEmit\",\n \"refresh:models-dev\": \"node scripts/refresh-models-dev-cache.mjs\",\n \"audit:context-windows\": \"tsx scripts/audit-context-windows.ts\",\n \"generate:context-rules\": \"tsx scripts/generate-context-rules.ts\",\n \"lint\": \"eslint src/ --ext .ts\",\n \"lint:fix\": \"eslint src/ --ext .ts --fix\",\n \"format\": \"prettier --write \\\"src/**/*.ts\\\"\",\n \"format:check\": \"prettier --check \\\"src/**/*.ts\\\"\",\n \"prepublishOnly\": \"node -e \\\"if (require('./package.json').version !== require('./package-lock.json').version) { console.error('Error: package.json and package-lock.json versions are out of sync! Run npm install to sync.'); process.exit(1); }\\\" && npm run build\",\n \"ui:dev\": \"npm --prefix src/ui/app run dev\",\n \"ui:build\": \"npm --prefix src/ui/app run build\",\n \"prepare\": \"husky\"\n },\n \"dependencies\": {\n \"@ai-sdk/alibaba\": \"^1.0.26\",\n \"@ai-sdk/amazon-bedrock\": \"^4.0.113\",\n \"@ai-sdk/anthropic\": \"^3.0.81\",\n \"@ai-sdk/azure\": \"^3.0.70\",\n \"@ai-sdk/cerebras\": \"^2.0.54\",\n \"@ai-sdk/cohere\": \"^3.0.36\",\n \"@ai-sdk/deepinfra\": \"^2.0.52\",\n \"@ai-sdk/gateway\": \"^3.0.125\",\n \"@ai-sdk/google\": \"^3.0.80\",\n \"@ai-sdk/google-vertex\": \"^4.0.142\",\n \"@ai-sdk/groq\": \"^3.0.39\",\n \"@ai-sdk/mistral\": \"^3.0.37\",\n \"@ai-sdk/openai\": \"^3.0.68\",\n \"@ai-sdk/openai-compatible\": \"^2.0.48\",\n \"@ai-sdk/perplexity\": \"^3.0.33\",\n \"@ai-sdk/provider-utils\": \"^4.0.27\",\n \"@ai-sdk/togetherai\": \"^2.0.53\",\n \"@ai-sdk/vercel\": \"^2.0.50\",\n \"@ai-sdk/xai\": \"^3.0.93\",\n \"@clack/prompts\": \"^0.9.1\",\n \"@openrouter/ai-sdk-provider\": \"^2.9.0\",\n \"ai\": \"^6.0.197\",\n \"gitlab-ai-provider\": \"^6.8.0\",\n \"ipaddr.js\": \"^2.4.0\",\n \"open\": \"^11.0.0\",\n \"picocolors\": \"^1.1.1\",\n \"smol-toml\": \"^1.6.1\",\n \"venice-ai-sdk-provider\": \"^2.0.2\",\n \"ws\": \"^8.21.0\",\n \"zod\": \"^3.25.76\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^22.0.0\",\n \"@types/ws\": \"^8.18.1\",\n \"@typescript-eslint/eslint-plugin\": \"^8.0.0\",\n \"@typescript-eslint/parser\": \"^8.0.0\",\n \"@vitest/coverage-v8\": \"^2.1.9\",\n \"eslint\": \"^9.0.0\",\n \"eslint-config-prettier\": \"^9.1.0\",\n \"husky\": \"^9.1.7\",\n \"lint-staged\": \"^16.4.0\",\n \"prettier\": \"^3.3.0\",\n \"tsup\": \"^8.0.0\",\n \"typescript\": \"^5.5.0\",\n \"typescript-eslint\": \"^8.65.0\",\n \"vitest\": \"^2.0.0\"\n },\n \"optionalDependencies\": {\n \"@napi-rs/keyring\": \"^1.3.0\"\n },\n \"overrides\": {\n \"ws\": \"^8.21.0\"\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/cli.js
CHANGED
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
confirmLaunchMessage,
|
|
33
33
|
createGatewayModelCatalog,
|
|
34
34
|
createLanguageModel,
|
|
35
|
+
dedupeByKey,
|
|
35
36
|
deepMergeProviderOptions,
|
|
36
37
|
detectConflicts,
|
|
37
38
|
effectiveProviderBaseUrl,
|
|
@@ -172,7 +173,7 @@ import {
|
|
|
172
173
|
validateModels,
|
|
173
174
|
writeSecureLogLine,
|
|
174
175
|
zenRegistryStub
|
|
175
|
-
} from "./chunk-
|
|
176
|
+
} from "./chunk-EMBABL33.js";
|
|
176
177
|
import {
|
|
177
178
|
BACKENDS,
|
|
178
179
|
CONFLICTING_ENV_VARS,
|
|
@@ -180,7 +181,7 @@ import {
|
|
|
180
181
|
MAX_MODEL_CATALOG,
|
|
181
182
|
VERSION,
|
|
182
183
|
VERTEX_ANTHROPIC_NPM
|
|
183
|
-
} from "./chunk-
|
|
184
|
+
} from "./chunk-S5WL3M5G.js";
|
|
184
185
|
import {
|
|
185
186
|
filterTemplates,
|
|
186
187
|
getTemplateById,
|
|
@@ -2209,11 +2210,11 @@ async function runProvidersRemove(id, interactive = false) {
|
|
|
2209
2210
|
return 1;
|
|
2210
2211
|
}
|
|
2211
2212
|
if (interactive) {
|
|
2212
|
-
const
|
|
2213
|
+
const confirm12 = await p5.confirm({
|
|
2213
2214
|
message: `Remove ${provider.name} (${id})?`,
|
|
2214
2215
|
initialValue: false
|
|
2215
2216
|
});
|
|
2216
|
-
if (p5.isCancel(
|
|
2217
|
+
if (p5.isCancel(confirm12) || !confirm12) {
|
|
2217
2218
|
p5.cancel("Cancelled.");
|
|
2218
2219
|
return 0;
|
|
2219
2220
|
}
|
|
@@ -2806,6 +2807,7 @@ async function handleClaudeCommand(parsed) {
|
|
|
2806
2807
|
const { dryRun, setup, trace, launchProvider } = parsed;
|
|
2807
2808
|
const launchAllModels = parsed.launchAllModels || parsed.launchModel === "All";
|
|
2808
2809
|
const launchModel = launchAllModels && !parsed.launchModel ? "All" : parsed.launchModel;
|
|
2810
|
+
const launchWithClaude = Boolean(parsed.launchWithClaude);
|
|
2809
2811
|
const claudeArgs = normalizeClaudeAgentArgs(parsed.claudeArgs);
|
|
2810
2812
|
const agentStdout = wantsCleanAgentStdout("claude", claudeArgs);
|
|
2811
2813
|
setAgentStdoutMode(agentStdout);
|
|
@@ -3039,6 +3041,71 @@ Error: ${launchPlan.error}
|
|
|
3039
3041
|
}
|
|
3040
3042
|
}
|
|
3041
3043
|
const localProviders = catalog.length > 0 ? catalog : null;
|
|
3044
|
+
const claudeCodeProvider = allProviders.find(
|
|
3045
|
+
(lp) => lp.id === "claude-code" && lp.inRegistry && lp.models.length > 0
|
|
3046
|
+
);
|
|
3047
|
+
const claudeMixEligible = catalogMode === false && activeProvider.id !== "claude-code" && Boolean(claudeCodeProvider);
|
|
3048
|
+
if (claudeMixEligible && launchWithClaude) {
|
|
3049
|
+
catalogMode = "provider-plus-claude";
|
|
3050
|
+
} else if (claudeMixEligible && !agentStdout && !dryRun && !launchPlan.skip) {
|
|
3051
|
+
const keepClaude = await p6.confirm({
|
|
3052
|
+
message: "Keep your normal Claude models available too?",
|
|
3053
|
+
active: `Yes \u2014 add ${claudeCodeProvider.models.length} Anthropic-subscription models to /model`,
|
|
3054
|
+
inactive: "No \u2014 launch with the anygate model only",
|
|
3055
|
+
initialValue: true
|
|
3056
|
+
});
|
|
3057
|
+
if (p6.isCancel(keepClaude)) {
|
|
3058
|
+
p6.cancel("Cancelled.");
|
|
3059
|
+
return 0;
|
|
3060
|
+
}
|
|
3061
|
+
if (keepClaude) catalogMode = "provider-plus-claude";
|
|
3062
|
+
} else if (launchWithClaude && !claudeCodeProvider && !agentStdout) {
|
|
3063
|
+
p6.log.warn(
|
|
3064
|
+
"Ignoring --with-claude: no authenticated Claude Code provider found. Run `anygate providers auth claude-code` first."
|
|
3065
|
+
);
|
|
3066
|
+
}
|
|
3067
|
+
if (catalogMode === "provider-plus-claude") {
|
|
3068
|
+
const resolveRoute = makeRouteResolver(localProviders);
|
|
3069
|
+
const startingRoute = resolveRoute(activeProvider.id, selectedModel.id) ?? null;
|
|
3070
|
+
if (!startingRoute) {
|
|
3071
|
+
p6.log.error("Could not resolve a proxy route for the selected model.");
|
|
3072
|
+
return 1;
|
|
3073
|
+
}
|
|
3074
|
+
const claudeRoutes = (claudeCodeProvider?.models ?? []).map((m) => resolveRoute("claude-code", m.id)).filter((r) => r !== void 0);
|
|
3075
|
+
const { routes: favoriteRoutes } = buildCatalogRoutes(startingRoute, favorites, resolveRoute);
|
|
3076
|
+
const catalogRoutes = dedupeByKey(
|
|
3077
|
+
[
|
|
3078
|
+
startingRoute,
|
|
3079
|
+
...claudeRoutes,
|
|
3080
|
+
...favoriteRoutes.filter((r) => r.aliasId !== startingRoute.aliasId)
|
|
3081
|
+
],
|
|
3082
|
+
(r) => r.aliasId,
|
|
3083
|
+
MAX_MODEL_CATALOG
|
|
3084
|
+
);
|
|
3085
|
+
if (dryRun) {
|
|
3086
|
+
console.log("");
|
|
3087
|
+
console.log(pc5.bold(pc5.cyan(" DRY RUN \u2014 would execute (Anthropic + anygate mixed mode):")));
|
|
3088
|
+
console.log("");
|
|
3089
|
+
console.log(` ${pc5.bold("Provider:")} ${activeProvider.name}`);
|
|
3090
|
+
console.log(` ${pc5.bold("Starting model:")} ${selectedModel.id}`);
|
|
3091
|
+
console.log(
|
|
3092
|
+
` ${pc5.bold("Claude models:")} ${claudeRoutes.length} (from your Anthropic subscription)`
|
|
3093
|
+
);
|
|
3094
|
+
console.log(` ${pc5.bold("/model catalog:")} ${catalogRoutes.length} model(s)`);
|
|
3095
|
+
catalogRoutes.forEach((r) => console.log(` ${pc5.dim(r.displayName)}`));
|
|
3096
|
+
console.log("");
|
|
3097
|
+
console.log(pc5.dim(" (dry run complete \u2014 Claude Code was NOT launched)"));
|
|
3098
|
+
console.log("");
|
|
3099
|
+
return 0;
|
|
3100
|
+
}
|
|
3101
|
+
return launchClaudeViaCatalog(
|
|
3102
|
+
catalogRoutes,
|
|
3103
|
+
startingRoute,
|
|
3104
|
+
selectedModel.contextWindow,
|
|
3105
|
+
trace ?? false,
|
|
3106
|
+
claudeArgs
|
|
3107
|
+
);
|
|
3108
|
+
}
|
|
3042
3109
|
if (catalogMode === "favorites") {
|
|
3043
3110
|
const resolveRoute = makeRouteResolver(localProviders);
|
|
3044
3111
|
const startingRoute = resolveRoute(activeProvider.id, selectedModel.id) ?? null;
|
|
@@ -3215,11 +3282,32 @@ Error: ${launchPlan.error}
|
|
|
3215
3282
|
selectedModel.contextWindow
|
|
3216
3283
|
);
|
|
3217
3284
|
} else if (selectedModel.modelFormat === "anthropic") {
|
|
3285
|
+
try {
|
|
3286
|
+
proxyHandle = await startProxy(
|
|
3287
|
+
selectedModel.baseUrl ?? "https://api.anthropic.com",
|
|
3288
|
+
selectedModel.id,
|
|
3289
|
+
trace ?? false,
|
|
3290
|
+
selectedModel.contextWindow,
|
|
3291
|
+
{
|
|
3292
|
+
providerId: activeProvider.id,
|
|
3293
|
+
authType: activeProvider.authType,
|
|
3294
|
+
providerData: activeProvider.providerData,
|
|
3295
|
+
modelFormat: "anthropic",
|
|
3296
|
+
headers: activeProvider.headers,
|
|
3297
|
+
app: "Claude"
|
|
3298
|
+
},
|
|
3299
|
+
launchApiKey
|
|
3300
|
+
);
|
|
3301
|
+
if (!isAgentStdoutMode()) p6.log.info(`Proxy started on port ${proxyHandle.port}`);
|
|
3302
|
+
} catch (err) {
|
|
3303
|
+
p6.log.error(`Failed to start proxy: ${err instanceof Error ? err.message : String(err)}`);
|
|
3304
|
+
return 1;
|
|
3305
|
+
}
|
|
3218
3306
|
childEnv = buildChildEnv(
|
|
3219
|
-
|
|
3307
|
+
`http://127.0.0.1:${proxyHandle.port}`,
|
|
3220
3308
|
selectedModel.id,
|
|
3221
|
-
|
|
3222
|
-
|
|
3309
|
+
proxyHandle.token,
|
|
3310
|
+
proxyHandle.port,
|
|
3223
3311
|
selectedModel.contextWindow
|
|
3224
3312
|
);
|
|
3225
3313
|
} else {
|
|
@@ -3264,12 +3352,31 @@ Error: ${launchPlan.error}
|
|
|
3264
3352
|
selectedModel.contextWindow
|
|
3265
3353
|
);
|
|
3266
3354
|
}
|
|
3267
|
-
if (selectedModel.modelFormat === "anthropic" && !isOAuthAnthropic) {
|
|
3268
|
-
childEnv["CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS"] = "1";
|
|
3269
|
-
}
|
|
3270
3355
|
const debugLogPath = prepareClaudeTraceLog();
|
|
3271
3356
|
const traceArgs = trace ? ["--debug-file", debugLogPath] : [];
|
|
3272
3357
|
if (trace) p6.log.info(`Debug log: ${debugLogPath}`);
|
|
3358
|
+
if (trace) {
|
|
3359
|
+
writeSecureLogLine(
|
|
3360
|
+
debugLogPath,
|
|
3361
|
+
`childEnv: ANTHROPIC_BASE_URL=${childEnv["ANTHROPIC_BASE_URL"] ?? "(unset)"}`
|
|
3362
|
+
);
|
|
3363
|
+
writeSecureLogLine(
|
|
3364
|
+
debugLogPath,
|
|
3365
|
+
`childEnv: ANTHROPIC_API_KEY set=${Boolean(childEnv["ANTHROPIC_API_KEY"])}`
|
|
3366
|
+
);
|
|
3367
|
+
writeSecureLogLine(
|
|
3368
|
+
debugLogPath,
|
|
3369
|
+
`childEnv: ANTHROPIC_AUTH_TOKEN set=${Boolean(childEnv["ANTHROPIC_AUTH_TOKEN"])}`
|
|
3370
|
+
);
|
|
3371
|
+
writeSecureLogLine(
|
|
3372
|
+
debugLogPath,
|
|
3373
|
+
`childEnv: ANTHROPIC_MODEL=${childEnv["ANTHROPIC_MODEL"] ?? "(unset)"}`
|
|
3374
|
+
);
|
|
3375
|
+
writeSecureLogLine(
|
|
3376
|
+
debugLogPath,
|
|
3377
|
+
`childEnv: CLAUDE_CODE_MAX_CONTEXT_TOKENS=${childEnv["CLAUDE_CODE_MAX_CONTEXT_TOKENS"] ?? "(unset)"}`
|
|
3378
|
+
);
|
|
3379
|
+
}
|
|
3273
3380
|
const exitCode = await launchClaude(
|
|
3274
3381
|
childEnv,
|
|
3275
3382
|
claudeCodeClientModelId(selectedModel.id, selectedModel.contextWindow),
|
|
@@ -6703,7 +6810,7 @@ Error: ${launchPlan.error}
|
|
|
6703
6810
|
// src/cli/codex.ts
|
|
6704
6811
|
async function handleCodexCommand(parsed) {
|
|
6705
6812
|
if (parsed.showVersion) {
|
|
6706
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
6813
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
6707
6814
|
console.log(VERSION2);
|
|
6708
6815
|
return 0;
|
|
6709
6816
|
}
|
|
@@ -7846,7 +7953,7 @@ async function runCodexAppCommand(args, opts = {}) {
|
|
|
7846
7953
|
// src/cli/codex-app.ts
|
|
7847
7954
|
async function handleCodexAppCommand(parsed) {
|
|
7848
7955
|
if (parsed.showVersion) {
|
|
7849
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
7956
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
7850
7957
|
console.log(VERSION2);
|
|
7851
7958
|
return 0;
|
|
7852
7959
|
}
|
|
@@ -8471,7 +8578,7 @@ ${pc10.bold("Claude Desktop 3P Mode Active")}`);
|
|
|
8471
8578
|
// src/cli/claude-app.ts
|
|
8472
8579
|
async function handleClaudeAppCommand(parsed) {
|
|
8473
8580
|
if (parsed.showVersion) {
|
|
8474
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
8581
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
8475
8582
|
console.log(VERSION2);
|
|
8476
8583
|
return 0;
|
|
8477
8584
|
}
|
|
@@ -9696,7 +9803,7 @@ Error: ${launchPlan.error}
|
|
|
9696
9803
|
// src/cli/gemini.ts
|
|
9697
9804
|
async function handleGeminiCommand(parsed) {
|
|
9698
9805
|
if (parsed.showVersion) {
|
|
9699
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
9806
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
9700
9807
|
console.log(VERSION2);
|
|
9701
9808
|
return 0;
|
|
9702
9809
|
}
|
|
@@ -13155,7 +13262,7 @@ Examples:
|
|
|
13155
13262
|
`;
|
|
13156
13263
|
async function handleAgyCommand(parsed) {
|
|
13157
13264
|
if (parsed.showVersion) {
|
|
13158
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
13265
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
13159
13266
|
console.log(VERSION2);
|
|
13160
13267
|
return 0;
|
|
13161
13268
|
}
|
|
@@ -13171,7 +13278,7 @@ async function handleAgyCommand(parsed) {
|
|
|
13171
13278
|
}
|
|
13172
13279
|
async function handleAntigravityAppCommand(parsed) {
|
|
13173
13280
|
if (parsed.showVersion) {
|
|
13174
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
13281
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
13175
13282
|
console.log(VERSION2);
|
|
13176
13283
|
return 0;
|
|
13177
13284
|
}
|
|
@@ -13187,7 +13294,7 @@ async function handleAntigravityAppCommand(parsed) {
|
|
|
13187
13294
|
}
|
|
13188
13295
|
async function handleAntigravityIdeCommand(parsed) {
|
|
13189
13296
|
if (parsed.showVersion) {
|
|
13190
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
13297
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
13191
13298
|
console.log(VERSION2);
|
|
13192
13299
|
return 0;
|
|
13193
13300
|
}
|
|
@@ -13293,7 +13400,7 @@ Options:
|
|
|
13293
13400
|
`);
|
|
13294
13401
|
return 0;
|
|
13295
13402
|
}
|
|
13296
|
-
const { runUiCommand } = await import("./command-
|
|
13403
|
+
const { runUiCommand } = await import("./command-N3R2ZVVS.js");
|
|
13297
13404
|
return runUiCommand({ trace: parsed.trace });
|
|
13298
13405
|
}
|
|
13299
13406
|
|
|
@@ -13722,7 +13829,7 @@ async function runValidateSubcommand(parsed) {
|
|
|
13722
13829
|
// src/cli/providers.ts
|
|
13723
13830
|
async function handleProvidersCommand(parsed) {
|
|
13724
13831
|
if (parsed.showVersion) {
|
|
13725
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
13832
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
13726
13833
|
console.log(VERSION2);
|
|
13727
13834
|
return 0;
|
|
13728
13835
|
}
|
|
@@ -13835,7 +13942,7 @@ async function runDoctorCommand(_dryRun) {
|
|
|
13835
13942
|
// src/cli/doctor.ts
|
|
13836
13943
|
async function handleDoctorCommand(parsed) {
|
|
13837
13944
|
if (parsed.showVersion) {
|
|
13838
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
13945
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
13839
13946
|
console.log(VERSION2);
|
|
13840
13947
|
return 0;
|
|
13841
13948
|
}
|
|
@@ -13975,7 +14082,7 @@ function runCompletionsCommand(shellArg) {
|
|
|
13975
14082
|
// src/cli/completions.ts
|
|
13976
14083
|
async function handleCompletionsCommand(parsed) {
|
|
13977
14084
|
if (parsed.showVersion) {
|
|
13978
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
14085
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
13979
14086
|
console.log(VERSION2);
|
|
13980
14087
|
return 0;
|
|
13981
14088
|
}
|
|
@@ -14067,7 +14174,7 @@ async function runUpdateCommand(dryRun) {
|
|
|
14067
14174
|
// src/cli/update.ts
|
|
14068
14175
|
async function handleUpdateCommand(parsed) {
|
|
14069
14176
|
if (parsed.showVersion) {
|
|
14070
|
-
const { VERSION: VERSION2 } = await import("./constants-
|
|
14177
|
+
const { VERSION: VERSION2 } = await import("./constants-U356SKNS.js");
|
|
14071
14178
|
console.log(VERSION2);
|
|
14072
14179
|
return 0;
|
|
14073
14180
|
}
|
|
@@ -14131,12 +14238,16 @@ var STARTER_CLAUDE_FLAGS = /* @__PURE__ */ new Set([
|
|
|
14131
14238
|
"--version",
|
|
14132
14239
|
"-v"
|
|
14133
14240
|
]);
|
|
14134
|
-
var GATEWAY_LAUNCH_FLAGS = /* @__PURE__ */ new Set(["--provider", "--model"]);
|
|
14241
|
+
var GATEWAY_LAUNCH_FLAGS = /* @__PURE__ */ new Set(["--provider", "--model", "--all-models", "--with-claude"]);
|
|
14135
14242
|
function parseGatewayLaunchFlag(arg, rest, index, parsed) {
|
|
14136
14243
|
if (arg === "--all-models") {
|
|
14137
14244
|
parsed.launchAllModels = true;
|
|
14138
14245
|
return index;
|
|
14139
14246
|
}
|
|
14247
|
+
if (arg === "--with-claude") {
|
|
14248
|
+
parsed.launchWithClaude = true;
|
|
14249
|
+
return index;
|
|
14250
|
+
}
|
|
14140
14251
|
if (arg === "--provider" || arg === "--model") {
|
|
14141
14252
|
const value = rest[index + 1];
|
|
14142
14253
|
if (!value || value.startsWith("-")) {
|
|
@@ -14649,6 +14760,8 @@ ${pc18.bold("Options:")}
|
|
|
14649
14760
|
--trace Write debug logs to ~/.anygate/logs/ and show errors on exit
|
|
14650
14761
|
--provider Boot provider id (skip wizard when paired with --model or in print mode)
|
|
14651
14762
|
--model Boot model id (skip wizard when paired with --provider or in print mode)
|
|
14763
|
+
--all-models Launch with every model from --provider in the /model switcher
|
|
14764
|
+
--with-claude Keep your Anthropic-subscription models in /model alongside the anygate model
|
|
14652
14765
|
--help Show this command help
|
|
14653
14766
|
--version Show version
|
|
14654
14767
|
|