anygate 0.6.0 → 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.
@@ -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.0",
10
+ version: "0.6.2",
11
11
  publishConfig: {
12
12
  access: "public"
13
13
  },
@@ -65,6 +65,7 @@ var package_default = {
65
65
  dependencies: {
66
66
  "@ai-sdk/alibaba": "^1.0.26",
67
67
  "@ai-sdk/amazon-bedrock": "^4.0.113",
68
+ "@ai-sdk/anthropic": "^3.0.81",
68
69
  "@ai-sdk/azure": "^3.0.70",
69
70
  "@ai-sdk/cerebras": "^2.0.54",
70
71
  "@ai-sdk/cohere": "^3.0.36",
@@ -77,6 +78,7 @@ var package_default = {
77
78
  "@ai-sdk/openai": "^3.0.68",
78
79
  "@ai-sdk/openai-compatible": "^2.0.48",
79
80
  "@ai-sdk/perplexity": "^3.0.33",
81
+ "@ai-sdk/provider-utils": "^4.0.27",
80
82
  "@ai-sdk/togetherai": "^2.0.53",
81
83
  "@ai-sdk/vercel": "^2.0.50",
82
84
  "@ai-sdk/xai": "^3.0.93",
@@ -187,4 +189,4 @@ export {
187
189
  classifyModelFormat,
188
190
  VERSION
189
191
  };
190
- //# sourceMappingURL=chunk-QLHVQYQN.js.map
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.0\",\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/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/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":[]}