@juspay/neurolink 12.15.1 → 12.16.0

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.
@@ -18,6 +18,7 @@ export declare enum AIProviderName {
18
18
  NVIDIA_NIM = "nvidia-nim",
19
19
  LM_STUDIO = "lm-studio",
20
20
  LLAMACPP = "llamacpp",
21
+ API_ROUTE = "api-route",
21
22
  BASETEN = "baseten",
22
23
  CEREBRAS = "cerebras",
23
24
  CLOUDFLARE = "cloudflare",
@@ -816,6 +817,16 @@ export declare enum ReplicateModels {
816
817
  * authentication failures during ongoing operations
817
818
  */
818
819
  export declare const TOKEN_EXPIRY_BUFFER_MS: number;
820
+ export declare enum ApiRouteModels {
821
+ CLAUDE_SONNET_4_6 = "claude-sonnet-4-6",
822
+ CLAUDE_HAIKU_4_5 = "claude-haiku-4-5",
823
+ DEEPSEEK_V4_FLASH = "deepseek-v4-flash",
824
+ DEEPSEEK_V4_PRO = "deepseek-v4-pro",
825
+ GEMINI_3_8_FLASH = "gemini-3.8-flash",
826
+ QWEN3_8_FLASH = "qwen3.8-flash",
827
+ KIMI_K2_7_CODE = "kimi-k2.7-code",
828
+ GLM_5_3_FLASH = "glm-5.3-flash"
829
+ }
819
830
  export declare enum BasetenModels {
820
831
  OPENAI_GPT_OSS_120B = "openai/gpt-oss-120b",
821
832
  ZAI_ORG_GLM_4_7 = "zai-org/GLM-4.7",
@@ -23,6 +23,7 @@ export var AIProviderName;
23
23
  AIProviderName["LM_STUDIO"] = "lm-studio";
24
24
  AIProviderName["LLAMACPP"] = "llamacpp";
25
25
  // ── BEGIN GENERATED(provider-members): provider catalog (pnpm run codegen:catalog) ──
26
+ AIProviderName["API_ROUTE"] = "api-route";
26
27
  AIProviderName["BASETEN"] = "baseten";
27
28
  AIProviderName["CEREBRAS"] = "cerebras";
28
29
  AIProviderName["CLOUDFLARE"] = "cloudflare";
@@ -1070,6 +1071,17 @@ export var ReplicateModels;
1070
1071
  */
1071
1072
  export const TOKEN_EXPIRY_BUFFER_MS = 5 * 60 * 1000; // 5 minutes
1072
1073
  // ── BEGIN GENERATED(models-enums): provider catalog (pnpm run codegen:catalog) ──
1074
+ export var ApiRouteModels;
1075
+ (function (ApiRouteModels) {
1076
+ ApiRouteModels["CLAUDE_SONNET_4_6"] = "claude-sonnet-4-6";
1077
+ ApiRouteModels["CLAUDE_HAIKU_4_5"] = "claude-haiku-4-5";
1078
+ ApiRouteModels["DEEPSEEK_V4_FLASH"] = "deepseek-v4-flash";
1079
+ ApiRouteModels["DEEPSEEK_V4_PRO"] = "deepseek-v4-pro";
1080
+ ApiRouteModels["GEMINI_3_8_FLASH"] = "gemini-3.8-flash";
1081
+ ApiRouteModels["QWEN3_8_FLASH"] = "qwen3.8-flash";
1082
+ ApiRouteModels["KIMI_K2_7_CODE"] = "kimi-k2.7-code";
1083
+ ApiRouteModels["GLM_5_3_FLASH"] = "glm-5.3-flash";
1084
+ })(ApiRouteModels || (ApiRouteModels = {}));
1073
1085
  export var BasetenModels;
1074
1086
  (function (BasetenModels) {
1075
1087
  BasetenModels["OPENAI_GPT_OSS_120B"] = "openai/gpt-oss-120b";
@@ -0,0 +1,130 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "api-route",
4
+ "displayName": "API Route",
5
+ "aliases": ["apiroute"],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://global.api-route.com/v1"
9
+ },
10
+ "models": {
11
+ "default": "claude-sonnet-4-6",
12
+ "fallbacks": ["claude-haiku-4-5", "deepseek-v4-flash", "gemini-3.8-flash"],
13
+ "defaultContextWindow": 1000000,
14
+ "defaultMaxOutputTokens": 64000,
15
+ "catalog": {
16
+ "claude-sonnet-4-6": {
17
+ "contextWindow": 1000000,
18
+ "maxOutputTokens": 64000,
19
+ "vision": true,
20
+ "status": "production",
21
+ "description": "Claude Sonnet 4.6 — flagship model with 1M context, tool calling, and multimodal vision"
22
+ },
23
+ "claude-haiku-4-5": {
24
+ "contextWindow": 200000,
25
+ "maxOutputTokens": 32768,
26
+ "vision": true,
27
+ "status": "production",
28
+ "description": "Claude Haiku 4.5 — fast, high-efficiency model with 200K context, tool calling, and vision"
29
+ },
30
+ "deepseek-v4-flash": {
31
+ "contextWindow": 1000000,
32
+ "maxOutputTokens": 64000,
33
+ "vision": false,
34
+ "status": "production",
35
+ "description": "DeepSeek V4 Flash — fast, cost-effective reasoning model with 1M context"
36
+ },
37
+ "deepseek-v4-pro": {
38
+ "contextWindow": 1000000,
39
+ "maxOutputTokens": 64000,
40
+ "vision": false,
41
+ "status": "production",
42
+ "description": "DeepSeek V4 Pro — powerful reasoning model with 1M context"
43
+ },
44
+ "gemini-3.8-flash": {
45
+ "contextWindow": 1000000,
46
+ "maxOutputTokens": 64000,
47
+ "vision": true,
48
+ "status": "production",
49
+ "description": "Gemini 3.8 Flash — high-speed multimodal model supporting image input and streaming"
50
+ },
51
+ "qwen3.8-flash": {
52
+ "contextWindow": 128000,
53
+ "maxOutputTokens": 16384,
54
+ "vision": false,
55
+ "status": "production",
56
+ "description": "Qwen 3.8 Flash — versatile, fast model for general instruction and coding tasks"
57
+ },
58
+ "kimi-k2.7-code": {
59
+ "contextWindow": 256000,
60
+ "maxOutputTokens": 32768,
61
+ "vision": false,
62
+ "status": "production",
63
+ "description": "Kimi K2.7 Code — specialized for coding and multi-step reasoning"
64
+ },
65
+ "glm-5.3-flash": {
66
+ "contextWindow": 128000,
67
+ "maxOutputTokens": 16384,
68
+ "vision": false,
69
+ "status": "production",
70
+ "description": "GLM 5.3 Flash — lightweight, fast conversational and instruction-following model"
71
+ }
72
+ },
73
+ "visionModel": "claude-sonnet-4-6",
74
+ "topModels": [
75
+ "claude-sonnet-4-6",
76
+ "claude-haiku-4-5",
77
+ "deepseek-v4-flash",
78
+ "gemini-3.8-flash",
79
+ "qwen3.8-flash"
80
+ ]
81
+ },
82
+ "capabilities": {
83
+ "text": true,
84
+ "streaming": true,
85
+ "tools": true,
86
+ "toolsWithStreaming": true,
87
+ "structuredOutput": true,
88
+ "structuredOutputWithTools": true,
89
+ "embeddings": false,
90
+ "thinking": false
91
+ },
92
+ "errorRules": [
93
+ {
94
+ "pattern": "该分组下模型无可用渠道|model_not_found",
95
+ "class": "invalid-model",
96
+ "message": "Model '{model}' not found or has no available channels on API Route."
97
+ },
98
+ {
99
+ "pattern": "无效的令牌",
100
+ "class": "authentication",
101
+ "message": "Invalid API Route API key. Check {apiKeyEnvVar}."
102
+ }
103
+ ],
104
+ "setup": {
105
+ "url": "https://api-route.com",
106
+ "apiKeyFormat": null,
107
+ "billingPolicy": "free-tier",
108
+ "instructions": [
109
+ "1. Visit: https://api-route.com and create an account",
110
+ "2. Generate an API key in your console / dashboard",
111
+ "3. Set {apiKeyEnvVar} in your .env file"
112
+ ]
113
+ },
114
+ "evidence": {
115
+ "rosterVerified": {
116
+ "date": "2026-09-17",
117
+ "method": "authenticated GET /v1/models",
118
+ "status": 200
119
+ },
120
+ "authProbe": {
121
+ "date": "2026-09-17",
122
+ "status": 401
123
+ },
124
+ "liveMatrix": {
125
+ "date": "2026-09-17",
126
+ "result": "Verified live against https://global.api-route.com/v1: GET /v1/models returned 70 models. Chat completions, streaming, function calling, streamed function calling, and structured JSON output (json_object and json_schema) verified. Multimodal vision verified on claude-sonnet-4-6, claude-haiku-4-5, and gemini-3.8-flash. Invalid API key returns 401 (无效的令牌) and invalid model returns 503 (model_not_found)."
127
+ },
128
+ "addedInPR": "pending"
129
+ }
130
+ }
@@ -1,3 +1,3 @@
1
1
  import type { ProviderCatalogJson } from "../../types/index.js";
2
2
  export declare const CATALOG_JSON_ENTRIES: ProviderCatalogJson[];
3
- export declare const CATALOG_PROVIDER_IDS: readonly ["baseten", "cerebras", "cloudflare", "fireworks", "gmicloud", "groq", "inception-labs", "io-intelligence", "mancer", "mistral", "perplexity", "sambanova", "together-ai", "upstage", "xai"];
3
+ export declare const CATALOG_PROVIDER_IDS: readonly ["api-route", "baseten", "cerebras", "cloudflare", "fireworks", "gmicloud", "groq", "inception-labs", "io-intelligence", "mancer", "mistral", "perplexity", "sambanova", "together-ai", "upstage", "xai"];
@@ -1,5 +1,6 @@
1
1
  // GENERATED FILE — do not edit. Regenerate with `pnpm run codegen:catalog`.
2
2
  // Source of truth: the per-provider JSON files in this directory.
3
+ import apiRouteJson from "./api-route.json" with { type: "json" };
3
4
  import basetenJson from "./baseten.json" with { type: "json" };
4
5
  import cerebrasJson from "./cerebras.json" with { type: "json" };
5
6
  import cloudflareJson from "./cloudflare.json" with { type: "json" };
@@ -16,6 +17,7 @@ import togetherAiJson from "./together-ai.json" with { type: "json" };
16
17
  import upstageJson from "./upstage.json" with { type: "json" };
17
18
  import xaiJson from "./xai.json" with { type: "json" };
18
19
  export const CATALOG_JSON_ENTRIES = [
20
+ apiRouteJson,
19
21
  basetenJson,
20
22
  cerebrasJson,
21
23
  cloudflareJson,
@@ -33,6 +35,7 @@ export const CATALOG_JSON_ENTRIES = [
33
35
  xaiJson,
34
36
  ];
35
37
  export const CATALOG_PROVIDER_IDS = [
38
+ "api-route",
36
39
  "baseten",
37
40
  "cerebras",
38
41
  "cloudflare",
@@ -73,8 +73,8 @@ export declare const providerCatalogJsonSchema: z.ZodObject<{
73
73
  class: z.ZodEnum<{
74
74
  network: "network";
75
75
  provider: "provider";
76
- authentication: "authentication";
77
76
  "invalid-model": "invalid-model";
77
+ authentication: "authentication";
78
78
  "rate-limit": "rate-limit";
79
79
  }>;
80
80
  message: z.ZodString;
@@ -1,2 +1,2 @@
1
- export type CatalogProviderName = "baseten" | "cerebras" | "cloudflare" | "fireworks" | "gmicloud" | "groq" | "inception-labs" | "io-intelligence" | "mancer" | "mistral" | "perplexity" | "sambanova" | "together-ai" | "upstage" | "xai";
2
- export type CatalogCredentialKey = "baseten" | "cerebras" | "cloudflare" | "fireworks" | "gmicloud" | "groq" | "inceptionLabs" | "ioIntelligence" | "mancer" | "mistral" | "perplexity" | "sambanova" | "together" | "upstage" | "xai";
1
+ export type CatalogProviderName = "api-route" | "baseten" | "cerebras" | "cloudflare" | "fireworks" | "gmicloud" | "groq" | "inception-labs" | "io-intelligence" | "mancer" | "mistral" | "perplexity" | "sambanova" | "together-ai" | "upstage" | "xai";
2
+ export type CatalogCredentialKey = "apiRoute" | "baseten" | "cerebras" | "cloudflare" | "fireworks" | "gmicloud" | "groq" | "inceptionLabs" | "ioIntelligence" | "mancer" | "mistral" | "perplexity" | "sambanova" | "together" | "upstage" | "xai";
@@ -178,6 +178,10 @@ export type NeurolinkCredentials = {
178
178
  apiKey?: string;
179
179
  baseURL?: string;
180
180
  };
181
+ apiRoute?: {
182
+ apiKey?: string;
183
+ baseURL?: string;
184
+ };
181
185
  baseten?: {
182
186
  apiKey?: string;
183
187
  baseURL?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juspay/neurolink",
3
- "version": "12.15.1",
3
+ "version": "12.16.0",
4
4
  "packageManager": "pnpm@10.15.1",
5
5
  "description": "TypeScript AI SDK with 24+ LLM providers behind one consistent API. MCP-native (connect any MCP server), voice TTS/STT/realtime, RAG, agents, memory, context compaction. OpenAI · Anthropic · Gemini · Bedrock · Azure · Ollama · DeepSeek · NVIDIA NIM and more.",
6
6
  "author": {