@juspay/neurolink 12.38.0 → 12.39.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.
- package/CHANGELOG.md +2 -2
- package/README.md +1 -1
- package/dist/browser/neurolink.min.js +464 -464
- package/dist/constants/enums.d.ts +226 -0
- package/dist/constants/enums.js +246 -0
- package/dist/core/modelConfiguration.js +1 -0
- package/dist/providers/anthropic/client.js +8 -1
- package/dist/providers/catalog/above-dev.json +194 -0
- package/dist/providers/catalog/aiand.json +204 -0
- package/dist/providers/catalog/ambient.json +117 -0
- package/dist/providers/catalog/bee-heossi.json +174 -0
- package/dist/providers/catalog/charm-hyper.json +349 -0
- package/dist/providers/catalog/chutes.json +236 -0
- package/dist/providers/catalog/deepinfra.json +157 -0
- package/dist/providers/catalog/empiriolabs.json +143 -0
- package/dist/providers/catalog/featherless-ai.json +212 -0
- package/dist/providers/catalog/inco.json +196 -0
- package/dist/providers/catalog/index.generated.d.ts +1 -1
- package/dist/providers/catalog/index.generated.js +60 -0
- package/dist/providers/catalog/inference-net.json +172 -0
- package/dist/providers/catalog/koscompute.json +81 -0
- package/dist/providers/catalog/lilac.json +107 -0
- package/dist/providers/catalog/llmtech.json +63 -0
- package/dist/providers/catalog/moark.json +94 -0
- package/dist/providers/catalog/neuralwatt.json +179 -0
- package/dist/providers/catalog/ovhcloud.json +232 -0
- package/dist/providers/catalog/pareto-inference.json +74 -0
- package/dist/providers/catalog/sarvam.json +72 -0
- package/dist/providers/catalog/schema.d.ts +2 -2
- package/dist/providers/catalog/synthetic.json +205 -0
- package/dist/providers/openRouter/client.js +1 -0
- package/dist/providers/openaiChatCompletionsBase.js +37 -1
- package/dist/types/openaiCompatible.d.ts +10 -0
- package/dist/types/providerCatalog.generated.d.ts +2 -2
- package/dist/types/providers.d.ts +80 -0
- package/docs-site/static/search-index.json +221 -4
- package/package.json +2 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "neuralwatt",
|
|
4
|
+
"displayName": "Neuralwatt",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://api.neuralwatt.com/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "glm-5.3",
|
|
12
|
+
"fallbacks": [
|
|
13
|
+
"glm-5.3-flash",
|
|
14
|
+
"qwen-3.8-27b",
|
|
15
|
+
"qwen3.6-35b",
|
|
16
|
+
"kimi-k2.7-code",
|
|
17
|
+
"kimi-k3",
|
|
18
|
+
"deepseek-v4.1-flash",
|
|
19
|
+
"gemma-4-31b"
|
|
20
|
+
],
|
|
21
|
+
"defaultContextWindow": 1048560,
|
|
22
|
+
"defaultMaxOutputTokens": 4096,
|
|
23
|
+
"visionModel": "qwen-3.8-27b",
|
|
24
|
+
"catalog": {
|
|
25
|
+
"glm-5.3": {
|
|
26
|
+
"contextWindow": 1048560,
|
|
27
|
+
"pricingPerMTok": {
|
|
28
|
+
"input": 1.45,
|
|
29
|
+
"output": 4.5,
|
|
30
|
+
"cachedInput": 0.145
|
|
31
|
+
},
|
|
32
|
+
"vision": false,
|
|
33
|
+
"status": "production",
|
|
34
|
+
"description": "ZhipuAI GLM 5.3 (fp8-native, zai-org/GLM-5.3) — the model used in every quickstart code sample on https://docs.neuralwatt.com/quickstart (curl, Python and Node.js all default to \"glm-5.3\"), so it is treated as Neuralwatt's own recommended default here. Roster metadata (GET /v1/models, 2026-09-28) marks reasoning mandatory (default effort \"max\") and declares tools:true and json_mode:true, but neither claim was independently probed — this onboarding is fully credential-free, no POST request was made. json_mode is not backed by a documented `response_format` parameter anywhere in the chat-completions API reference (https://docs.neuralwatt.com/api-reference/inference/create-a-chat-completion, retrieved 2026-09-28), so capabilities.structuredOutput is left false rather than trusting the flag alone. limits.max_output_tokens is null for this model in the live roster — omitted here rather than invented; models.defaultMaxOutputTokens (4096) is a generic placeholder, not a Neuralwatt-stated ceiling for this model. Pricing per the same roster response: $1.45 / $4.50 per MTok input/output, $0.145 cached input."
|
|
35
|
+
},
|
|
36
|
+
"glm-5.3-flash": {
|
|
37
|
+
"contextWindow": 1048560,
|
|
38
|
+
"pricingPerMTok": {
|
|
39
|
+
"input": 0.15,
|
|
40
|
+
"output": 0.5,
|
|
41
|
+
"cachedInput": 0.03
|
|
42
|
+
},
|
|
43
|
+
"vision": true,
|
|
44
|
+
"status": "production",
|
|
45
|
+
"description": "ZhipuAI GLM 5.3 Flash — lighter/cheaper sibling of the default. Roster-listed only (GET /v1/models, 2026-09-28); not itself exercised in any code sample; fallback. vision:true and max_output_tokens are as declared by the roster response — the latter is null there, so it is omitted rather than invented."
|
|
46
|
+
},
|
|
47
|
+
"qwen-3.8-27b": {
|
|
48
|
+
"contextWindow": 262128,
|
|
49
|
+
"maxOutputTokens": 131072,
|
|
50
|
+
"pricingPerMTok": {
|
|
51
|
+
"input": 0.45,
|
|
52
|
+
"output": 3.2,
|
|
53
|
+
"cachedInput": 0.25
|
|
54
|
+
},
|
|
55
|
+
"vision": true,
|
|
56
|
+
"status": "production",
|
|
57
|
+
"description": "Qwen 3.8 27B (Qwen/Qwen3.8-27B-FP8) — dense 27B VL model with native 262K context; the first entry in Neuralwatt's own /v1/models roster (GET, 2026-09-28) and one of the few catalog entries with a documented max_output_tokens ceiling (131,072) and image limits (max_images:20, max_images_total:200), so it is used as models.visionModel. Roster-listed and roster-priced only; fallback, not capability-probed (credential-free onboarding, no POST made)."
|
|
58
|
+
},
|
|
59
|
+
"qwen3.6-35b": {
|
|
60
|
+
"contextWindow": 262128,
|
|
61
|
+
"pricingPerMTok": {
|
|
62
|
+
"input": 0.29,
|
|
63
|
+
"output": 1.15,
|
|
64
|
+
"cachedInput": 0.029
|
|
65
|
+
},
|
|
66
|
+
"vision": true,
|
|
67
|
+
"status": "production",
|
|
68
|
+
"description": "Qwen 3.6 35B — roster-listed only (GET /v1/models, 2026-09-28); not capability-probed; fallback. max_output_tokens is null in the roster response, so it is omitted here."
|
|
69
|
+
},
|
|
70
|
+
"kimi-k2.7-code": {
|
|
71
|
+
"contextWindow": 262128,
|
|
72
|
+
"pricingPerMTok": {
|
|
73
|
+
"input": 0.95,
|
|
74
|
+
"output": 4.0,
|
|
75
|
+
"cachedInput": 0.095
|
|
76
|
+
},
|
|
77
|
+
"vision": true,
|
|
78
|
+
"status": "production",
|
|
79
|
+
"description": "MoonshotAI Kimi K2.7 Code (moonshotai/Kimi-K2.7-Code) — \"quant-agnostic canonical name for the Kimi K2.7 Code family\" per the roster's own description field (GET /v1/models, 2026-09-28). Roster-listed and roster-priced only; not capability-probed; fallback. max_output_tokens is null in the roster response, so it is omitted here."
|
|
80
|
+
},
|
|
81
|
+
"kimi-k3": {
|
|
82
|
+
"contextWindow": 1048560,
|
|
83
|
+
"pricingPerMTok": {
|
|
84
|
+
"input": 3.0,
|
|
85
|
+
"output": 15.0,
|
|
86
|
+
"cachedInput": 0.3
|
|
87
|
+
},
|
|
88
|
+
"vision": true,
|
|
89
|
+
"status": "production",
|
|
90
|
+
"description": "MoonshotAI Kimi K3 — general-purpose sibling of the Code line, 1M context per the roster (GET /v1/models, 2026-09-28). Roster-listed only; not capability-probed; fallback. max_output_tokens is null in the roster response, so it is omitted here."
|
|
91
|
+
},
|
|
92
|
+
"deepseek-v4.1-flash": {
|
|
93
|
+
"contextWindow": 1048560,
|
|
94
|
+
"maxOutputTokens": 393216,
|
|
95
|
+
"pricingPerMTok": {
|
|
96
|
+
"input": 0.15,
|
|
97
|
+
"output": 0.6,
|
|
98
|
+
"cachedInput": 0.015
|
|
99
|
+
},
|
|
100
|
+
"vision": true,
|
|
101
|
+
"status": "production",
|
|
102
|
+
"description": "DeepSeek V4.1 Flash — roster-listed with a documented max_output_tokens ceiling (393,216) and vision:true (GET /v1/models, 2026-09-28). Not capability-probed; fallback."
|
|
103
|
+
},
|
|
104
|
+
"gemma-4-31b": {
|
|
105
|
+
"contextWindow": 262128,
|
|
106
|
+
"maxOutputTokens": 16384,
|
|
107
|
+
"pricingPerMTok": {
|
|
108
|
+
"input": 0.144,
|
|
109
|
+
"output": 0.42,
|
|
110
|
+
"cachedInput": 0.0144
|
|
111
|
+
},
|
|
112
|
+
"vision": true,
|
|
113
|
+
"status": "production",
|
|
114
|
+
"description": "NVIDIA's Gemma 4 31B build (owned_by/provider \"nvidia\" per the roster, GET /v1/models, 2026-09-28) — the only catalog entry from that provider label. Roster-listed with a documented max_output_tokens ceiling (16,384); not capability-probed; fallback."
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"topModels": [
|
|
118
|
+
"glm-5.3",
|
|
119
|
+
"glm-5.3-flash",
|
|
120
|
+
"qwen-3.8-27b",
|
|
121
|
+
"qwen3.6-35b",
|
|
122
|
+
"kimi-k2.7-code",
|
|
123
|
+
"kimi-k3",
|
|
124
|
+
"deepseek-v4.1-flash",
|
|
125
|
+
"gemma-4-31b"
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"capabilities": {
|
|
129
|
+
"text": true,
|
|
130
|
+
"streaming": true,
|
|
131
|
+
"tools": "model-dependent",
|
|
132
|
+
"toolsWithStreaming": false,
|
|
133
|
+
"structuredOutput": false,
|
|
134
|
+
"structuredOutputWithTools": false,
|
|
135
|
+
"embeddings": false,
|
|
136
|
+
"thinking": true
|
|
137
|
+
},
|
|
138
|
+
"errorRules": [
|
|
139
|
+
{
|
|
140
|
+
"status": 401,
|
|
141
|
+
"pattern": "Invalid API key|invalid_api_key|authentication_error",
|
|
142
|
+
"class": "authentication",
|
|
143
|
+
"message": "Invalid Neuralwatt API key. Check {apiKeyEnvVar}. Get one at {setupUrl}"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"status": 404,
|
|
147
|
+
"pattern": "model_not_found|not\\s+found",
|
|
148
|
+
"class": "invalid-model",
|
|
149
|
+
"message": "Neuralwatt model '{model}' not found. Pick a current model from the unauthenticated GET https://api.neuralwatt.com/v1/models roster or {setupUrl}"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"status": 429,
|
|
153
|
+
"pattern": "rate_limit_exceeded|concurrent_budget_exceeded|tpm_uncached_exceeded",
|
|
154
|
+
"class": "rate-limit",
|
|
155
|
+
"message": "Neuralwatt rate limit hit for {model}. The error body includes retry_after and a retry_strategy — back off and retry rather than failing immediately."
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"setup": {
|
|
159
|
+
"url": "https://portal.neuralwatt.com",
|
|
160
|
+
"apiKeyFormat": null,
|
|
161
|
+
"billingPolicy": "free-with-card",
|
|
162
|
+
"instructions": [
|
|
163
|
+
"1. Visit: https://portal.neuralwatt.com and sign up",
|
|
164
|
+
"2. Add a payment method in Dashboard > Billing — new accounts start with a $0 balance, and adding a card grants $1.00 in free trial credit (no charge is made; the credit is valid for 30 days)",
|
|
165
|
+
"3. Navigate to Dashboard > API Keys and create a new key — copy it immediately, it is shown in full only once and starts with sk-",
|
|
166
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
167
|
+
],
|
|
168
|
+
"description": "OpenAI-compatible endpoint at https://api.neuralwatt.com/v1 (\"Neuralwatt Cloud\"), serving 21 hosted open-weight models across Qwen, MoonshotAI Kimi, ZhipuAI GLM, DeepSeek and an NVIDIA Gemma build, with per-request energy and cost reporting (SSE comment lines / X-Request-Cost-USD headers). New accounts start at a $0 balance; adding a payment method grants a $1.00 trial credit valid 30 days, then usage is pay-per-token. Not all models support tool calling per Neuralwatt's own tool-calling guide — check a given model's capabilities on the /v1/models roster before relying on it."
|
|
169
|
+
},
|
|
170
|
+
"evidence": {
|
|
171
|
+
"rosterVerified": {
|
|
172
|
+
"date": "2026-09-28",
|
|
173
|
+
"method": "unauthenticated GET https://api.neuralwatt.com/v1/models — 21 models; credential-free, no key used",
|
|
174
|
+
"status": 200
|
|
175
|
+
},
|
|
176
|
+
"liveMatrix": null,
|
|
177
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1848"
|
|
178
|
+
}
|
|
179
|
+
}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "ovhcloud",
|
|
4
|
+
"displayName": "OVHcloud AI Endpoints",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://oai.endpoints.kepler.ai.cloud.ovh.net/v1",
|
|
9
|
+
"envOverrides": {
|
|
10
|
+
"apiKey": "OVH_AI_ENDPOINTS_ACCESS_TOKEN"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"models": {
|
|
14
|
+
"default": "gpt-oss-120b",
|
|
15
|
+
"fallbacks": [
|
|
16
|
+
"gpt-oss-20b",
|
|
17
|
+
"Meta-Llama-3_3-70B-Instruct",
|
|
18
|
+
"Qwen3.6-27B",
|
|
19
|
+
"Mistral-Small-3.2-24B-Instruct-2506",
|
|
20
|
+
"Qwen3.5-9B"
|
|
21
|
+
],
|
|
22
|
+
"defaultContextWindow": 131072,
|
|
23
|
+
"defaultMaxOutputTokens": 131072,
|
|
24
|
+
"catalog": {
|
|
25
|
+
"gpt-oss-120b": {
|
|
26
|
+
"contextWindow": 131072,
|
|
27
|
+
"maxOutputTokens": 131072,
|
|
28
|
+
"pricingPerMTok": {
|
|
29
|
+
"input": 0.09,
|
|
30
|
+
"output": 0.47
|
|
31
|
+
},
|
|
32
|
+
"vision": false,
|
|
33
|
+
"status": "production",
|
|
34
|
+
"description": "Recommended default — OpenAI's open-weight gpt-oss-120b, the exact model OVHcloud's own getting-started guide uses for every code sample (docs.ovhcloud.com/en/guides/public-cloud/ai-machine-learning/ai-endpoints-getting-started, retrieved 2026-09-28), and the most fully documented model on the public catalog card (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/gpt-oss-120b/, retrieved 2026-09-28). That card's own \"Supported Features\" list names exactly Function calling, Reasoning and Streaming; its \"Output Formats\" list names raw_text, json_object and json_schema. The card's Python example builds the request with `Authorization: f\"Bearer {os.getenv('OVH_AI_ENDPOINTS_ACCESS_TOKEN')}\"` against https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions, and reads a `reasoning_effort` generation parameter (low/medium/high) plus a `reasoning_content` response field — the basis for capabilities.thinking. No sign-in or API key was used to read any of this; it is all public documentation plus the unauthenticated GET on /v1/models. contextWindow and maxOutputTokens are the live, unauthenticated /v1/models response's own context_length/max_completion_tokens fields for this id (GET run 2026-09-28, HTTP 200). Pricing is that same response's per-token USD pricing (prompt/completion fields) converted to $/MTok; the EUR-denominated marketing catalog card quotes the same model at €0.08 in / €0.4 out per Mtoken, consistent with the API's USD figures at roughly current EUR/USD. No live request of any kind (chat, streaming, tool call) was made against this model — the entry is docs- and roster-verified only; see evidence.liveMatrix (null)."
|
|
35
|
+
},
|
|
36
|
+
"gpt-oss-20b": {
|
|
37
|
+
"contextWindow": 131072,
|
|
38
|
+
"maxOutputTokens": 131072,
|
|
39
|
+
"pricingPerMTok": {
|
|
40
|
+
"input": 0.05,
|
|
41
|
+
"output": 0.18
|
|
42
|
+
},
|
|
43
|
+
"vision": false,
|
|
44
|
+
"status": "production",
|
|
45
|
+
"description": "OpenAI's smaller open-weight gpt-oss-20b. Listed on the public catalog card (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) as a \"Reasoning LLM\" with Function calling: Yes, priced €0.04 in / €0.15 out per Mtoken — consistent with this id's per-token USD pricing on the live, unauthenticated GET /v1/models response (2026-09-28, HTTP 200), which also supplies contextWindow/maxOutputTokens. Not individually probed; roster-verified fallback."
|
|
46
|
+
},
|
|
47
|
+
"Qwen3.6-27B": {
|
|
48
|
+
"contextWindow": 262144,
|
|
49
|
+
"maxOutputTokens": 262144,
|
|
50
|
+
"pricingPerMTok": {
|
|
51
|
+
"input": 0.47,
|
|
52
|
+
"output": 3.19
|
|
53
|
+
},
|
|
54
|
+
"vision": true,
|
|
55
|
+
"status": "production",
|
|
56
|
+
"description": "Qwen3.6-27B, listed on the public catalog card as \"Visual LLM (New)\" with Vision: Yes and Function calling: Yes (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28), priced €0.4 in / €2.7 out per Mtoken there — consistent with this id's per-token USD pricing on the live, unauthenticated GET /v1/models (2026-09-28, HTTP 200), which also supplies contextWindow/maxOutputTokens. Not individually probed; roster-verified fallback. No image-input wire format is documented, so it is not set as models.visionModel."
|
|
57
|
+
},
|
|
58
|
+
"Qwen3.8-27B": {
|
|
59
|
+
"contextWindow": 262144,
|
|
60
|
+
"maxOutputTokens": 262144,
|
|
61
|
+
"pricingPerMTok": {
|
|
62
|
+
"input": 0.47,
|
|
63
|
+
"output": 3.19
|
|
64
|
+
},
|
|
65
|
+
"vision": true,
|
|
66
|
+
"status": "production",
|
|
67
|
+
"description": "Qwen3.8-27B, a newer sibling of Qwen3.6-27B on the same catalog card, same \"Visual LLM (New)\" row: Vision: Yes, Function calling: Yes, €0.4 in / €2.7 out per Mtoken (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) — consistent with this id's per-token USD pricing on the live GET /v1/models (2026-09-28). Not individually probed; roster-verified fallback."
|
|
68
|
+
},
|
|
69
|
+
"Qwen3.5-397B-A17B": {
|
|
70
|
+
"contextWindow": 262144,
|
|
71
|
+
"maxOutputTokens": 262144,
|
|
72
|
+
"pricingPerMTok": {
|
|
73
|
+
"input": 0.71,
|
|
74
|
+
"output": 4.25
|
|
75
|
+
},
|
|
76
|
+
"vision": true,
|
|
77
|
+
"status": "production",
|
|
78
|
+
"description": "Qwen3.5-397B-A17B, the largest model in this roster (397B-parameter MoE, ~17B active). Catalog card: \"Visual LLM (New)\", Vision: Yes, Function calling: Yes, €0.6 in / €3.6 out per Mtoken (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) — consistent with this id's per-token USD pricing on the live GET /v1/models (2026-09-28). Not individually probed; roster-verified fallback."
|
|
79
|
+
},
|
|
80
|
+
"Qwen3.5-9B": {
|
|
81
|
+
"contextWindow": 262144,
|
|
82
|
+
"maxOutputTokens": 262144,
|
|
83
|
+
"pricingPerMTok": {
|
|
84
|
+
"input": 0.12,
|
|
85
|
+
"output": 0.18
|
|
86
|
+
},
|
|
87
|
+
"vision": true,
|
|
88
|
+
"status": "production",
|
|
89
|
+
"description": "Qwen3.5-9B, the smallest of the Qwen3.x \"Visual LLM (New)\" row: Vision: Yes, Function calling: Yes, €0.1 in / €0.15 out per Mtoken (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) — consistent with this id's per-token USD pricing on the live GET /v1/models (2026-09-28). Not individually probed; roster-verified fallback."
|
|
90
|
+
},
|
|
91
|
+
"Meta-Llama-3_3-70B-Instruct": {
|
|
92
|
+
"contextWindow": 131072,
|
|
93
|
+
"maxOutputTokens": 131072,
|
|
94
|
+
"pricingPerMTok": {
|
|
95
|
+
"input": 0.74,
|
|
96
|
+
"output": 0.74
|
|
97
|
+
},
|
|
98
|
+
"vision": false,
|
|
99
|
+
"status": "production",
|
|
100
|
+
"description": "Meta Llama 3.3 70B Instruct, a plain non-reasoning chat model. Catalog card: \"LLM\" category, Vision: No, Function calling: Yes, €0.67 in / €0.67 out per Mtoken (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) — consistent with this id's per-token USD pricing on the live GET /v1/models (2026-09-28). Not individually probed; roster-verified fallback."
|
|
101
|
+
},
|
|
102
|
+
"Qwen2.5-VL-72B-Instruct": {
|
|
103
|
+
"contextWindow": 32768,
|
|
104
|
+
"maxOutputTokens": 32768,
|
|
105
|
+
"pricingPerMTok": {
|
|
106
|
+
"input": 1.01,
|
|
107
|
+
"output": 1.01
|
|
108
|
+
},
|
|
109
|
+
"vision": true,
|
|
110
|
+
"status": "production",
|
|
111
|
+
"description": "Qwen2.5-VL-72B-Instruct — a dedicated vision-language model (\"VL\"). Catalog card: \"Visual LLM\" category, Vision: Yes, Function calling: No, €0.91 in / €0.91 out per Mtoken (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) — the only model in this roster the vendor's own catalog explicitly marks Vision: Yes together with a specific, non-reasoning-family name, so it is set as models.visionModel. No image wire format (base64 vs. URL, content-parts shape) is documented, and no image request was sent (credential-free). Pricing/context/output-cap consistent with the live GET /v1/models (2026-09-28). Not individually probed; roster-verified."
|
|
112
|
+
},
|
|
113
|
+
"Qwen3-Coder-30B-A3B-Instruct": {
|
|
114
|
+
"contextWindow": 262144,
|
|
115
|
+
"maxOutputTokens": 262144,
|
|
116
|
+
"pricingPerMTok": {
|
|
117
|
+
"input": 0.07,
|
|
118
|
+
"output": 0.26
|
|
119
|
+
},
|
|
120
|
+
"vision": false,
|
|
121
|
+
"status": "production",
|
|
122
|
+
"description": "Qwen3-Coder-30B-A3B-Instruct — present on the live, unauthenticated GET /v1/models response (2026-09-28, HTTP 200: id, context_length=262144, max_completion_tokens=262144, USD pricing) but not yet on the public marketing catalog card (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, checked 2026-09-28 — that page lists 20 of the API's 24 live ids; this is one of the 4 not yet listed there). vision:false follows the model family naming (a code-instruct Qwen3 build, no \"VL\"/visual designation) rather than an explicit per-model vision flag; tools support is likewise not individually confirmed for this id — roster-verified only, not capability-probed."
|
|
123
|
+
},
|
|
124
|
+
"Mistral-Small-3.2-24B-Instruct-2506": {
|
|
125
|
+
"contextWindow": 131072,
|
|
126
|
+
"maxOutputTokens": 131072,
|
|
127
|
+
"pricingPerMTok": {
|
|
128
|
+
"input": 0.1,
|
|
129
|
+
"output": 0.31
|
|
130
|
+
},
|
|
131
|
+
"vision": false,
|
|
132
|
+
"status": "production",
|
|
133
|
+
"description": "Mistral Small 3.2 24B Instruct (2506 snapshot) — present on the live, unauthenticated GET /v1/models response (2026-09-28, HTTP 200) but not yet on the public marketing catalog card (checked 2026-09-28, one of the 4 live ids not yet listed there). Mistral's own upstream Small 3.2 release is text-only in its OVH deployment name (no \"VL\"/visual designation); vision:false and tools support are not individually confirmed for this id — roster-verified only."
|
|
134
|
+
},
|
|
135
|
+
"Mistral-7B-Instruct-v0.3": {
|
|
136
|
+
"contextWindow": 65536,
|
|
137
|
+
"maxOutputTokens": 65536,
|
|
138
|
+
"pricingPerMTok": {
|
|
139
|
+
"input": 0.11,
|
|
140
|
+
"output": 0.11
|
|
141
|
+
},
|
|
142
|
+
"vision": false,
|
|
143
|
+
"status": "production",
|
|
144
|
+
"description": "Mistral 7B Instruct v0.3 — present on the live, unauthenticated GET /v1/models response (2026-09-28, HTTP 200) but not on the public marketing catalog card (checked 2026-09-28). Small, plain instruct model; vision:false and tools support are not individually confirmed for this id — roster-verified fallback only."
|
|
145
|
+
},
|
|
146
|
+
"Mistral-Nemo-Instruct-2407": {
|
|
147
|
+
"contextWindow": 65536,
|
|
148
|
+
"maxOutputTokens": 65536,
|
|
149
|
+
"pricingPerMTok": {
|
|
150
|
+
"input": 0.14,
|
|
151
|
+
"output": 0.14
|
|
152
|
+
},
|
|
153
|
+
"vision": false,
|
|
154
|
+
"status": "production",
|
|
155
|
+
"description": "Mistral Nemo Instruct (2407 snapshot) — present on the live, unauthenticated GET /v1/models response (2026-09-28, HTTP 200) but not on the public marketing catalog card (checked 2026-09-28). Plain instruct model; vision:false and tools support are not individually confirmed for this id — roster-verified fallback only."
|
|
156
|
+
},
|
|
157
|
+
"Qwen3Guard-Gen-8B": {
|
|
158
|
+
"contextWindow": 32768,
|
|
159
|
+
"maxOutputTokens": 16384,
|
|
160
|
+
"pricingPerMTok": {
|
|
161
|
+
"input": 0,
|
|
162
|
+
"output": 0
|
|
163
|
+
},
|
|
164
|
+
"vision": false,
|
|
165
|
+
"status": "preview",
|
|
166
|
+
"description": "Qwen3Guard-Gen-8B — a moderation/safety classifier, not a general-purpose chat model. Catalog card: \"LLM Guard (Beta)\" category, priced Free (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28) — the live GET /v1/models response (2026-09-28) shows prompt/completion pricing of 0 for this id, confirming it. status is \"preview\" because the vendor explicitly labels it Beta. Kept out of models.fallbacks/topModels since it answers moderation prompts, not open-ended generation."
|
|
167
|
+
},
|
|
168
|
+
"Qwen3Guard-Gen-0.6B": {
|
|
169
|
+
"contextWindow": 32768,
|
|
170
|
+
"maxOutputTokens": 16384,
|
|
171
|
+
"pricingPerMTok": {
|
|
172
|
+
"input": 0,
|
|
173
|
+
"output": 0
|
|
174
|
+
},
|
|
175
|
+
"vision": false,
|
|
176
|
+
"status": "preview",
|
|
177
|
+
"description": "Qwen3Guard-Gen-0.6B — smaller sibling of Qwen3Guard-Gen-8B, same moderation/safety-classifier role. Catalog card: \"LLM Guard (Beta)\" category, priced Free (ovhcloud.com/en/public-cloud/ai-endpoints/catalog/, retrieved 2026-09-28); the live GET /v1/models response (2026-09-28) confirms 0 pricing for this id. status \"preview\" per the vendor's own Beta label. Kept out of models.fallbacks/topModels for the same reason as the 8B variant."
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"topModels": [
|
|
181
|
+
"gpt-oss-120b",
|
|
182
|
+
"gpt-oss-20b",
|
|
183
|
+
"Qwen3.6-27B",
|
|
184
|
+
"Qwen3.8-27B",
|
|
185
|
+
"Qwen3.5-397B-A17B",
|
|
186
|
+
"Qwen3.5-9B",
|
|
187
|
+
"Meta-Llama-3_3-70B-Instruct",
|
|
188
|
+
"Qwen2.5-VL-72B-Instruct",
|
|
189
|
+
"Mistral-Small-3.2-24B-Instruct-2506"
|
|
190
|
+
],
|
|
191
|
+
"visionModel": "Qwen2.5-VL-72B-Instruct"
|
|
192
|
+
},
|
|
193
|
+
"capabilities": {
|
|
194
|
+
"text": true,
|
|
195
|
+
"streaming": true,
|
|
196
|
+
"tools": "model-dependent",
|
|
197
|
+
"toolsWithStreaming": false,
|
|
198
|
+
"structuredOutput": true,
|
|
199
|
+
"structuredOutputWithTools": false,
|
|
200
|
+
"embeddings": false,
|
|
201
|
+
"thinking": true
|
|
202
|
+
},
|
|
203
|
+
"errorRules": [
|
|
204
|
+
{
|
|
205
|
+
"status": 403,
|
|
206
|
+
"pattern": "Authentication Failed",
|
|
207
|
+
"class": "authentication",
|
|
208
|
+
"message": "Invalid or revoked OVHcloud AI Endpoints access token. Check {apiKeyEnvVar}. Get one at {setupUrl}"
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
"setup": {
|
|
212
|
+
"url": "https://www.ovhcloud.com/en/public-cloud/ai-endpoints/",
|
|
213
|
+
"apiKeyFormat": null,
|
|
214
|
+
"billingPolicy": "free-with-card",
|
|
215
|
+
"instructions": [
|
|
216
|
+
"1. Visit: https://www.ovhcloud.com/en/public-cloud/ai-endpoints/ and click Start now, which signs you in to (or creates) an OVHcloud Public Cloud manager account",
|
|
217
|
+
"2. In the manager, open Public Cloud > your project > AI & Machine Learning > AI Endpoints, and add a payment method to the project — OVHcloud states that projects in Discovery mode (no payment method) cannot use the service",
|
|
218
|
+
"3. Create an AI Endpoints API access token in that section; it is shown only once, so store it yourself, and note it can be given an expiration date and revoked",
|
|
219
|
+
"4. Set {apiKeyEnvVar} in your .env file (the vendor's own docs name this exact variable)"
|
|
220
|
+
],
|
|
221
|
+
"description": "OpenAI-compatible endpoint at https://oai.endpoints.kepler.ai.cloud.ovh.net/v1, documented as \"compatible with the OpenAI specifications\" (docs.ovhcloud.com/en/guides/public-cloud/ai-machine-learning/ai-endpoints-getting-started). Several models (both Qwen3Guard classifiers, stable-diffusion-xl, the four NVIDIA Riva TTS voices) are billed at €0/free, but the account itself requires a payment method on the Public Cloud project before any API key can be used — OVHcloud's own docs: \"projects in Discovery mode (without a payment method) cannot use the service.\" A very limited anonymous tier also exists (2 requests/minute per IP per model, undocumented auth shape) but is not what {apiKeyEnvVar} configures. Authenticated rate limit is documented as 400 requests/minute per project per model; over that returns HTTP 429. This catalog entry covers only the chat-completions models; OVHcloud AI Endpoints also serves speech-to-text (Whisper), text-to-speech (NVIDIA Riva), image generation (Stable Diffusion XL) and embeddings (bge-m3, bge-multilingual-gemma2, Qwen3-Embedding-8B) models on the same platform, which are out of scope for this Tier-2 chat-completions integration."
|
|
222
|
+
},
|
|
223
|
+
"evidence": {
|
|
224
|
+
"rosterVerified": {
|
|
225
|
+
"date": "2026-09-28",
|
|
226
|
+
"method": "unauthenticated GET https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/models — 24 models; credential-free, no key used",
|
|
227
|
+
"status": 200
|
|
228
|
+
},
|
|
229
|
+
"liveMatrix": null,
|
|
230
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1848"
|
|
231
|
+
}
|
|
232
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "pareto-inference",
|
|
4
|
+
"displayName": "Pareto Inference",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://api.paretoinference.com/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "z-ai/glm-5.3-flash",
|
|
12
|
+
"fallbacks": ["z-ai/glm-5.3-flash"],
|
|
13
|
+
"defaultContextWindow": 131072,
|
|
14
|
+
"defaultMaxOutputTokens": 131072,
|
|
15
|
+
"catalog": {
|
|
16
|
+
"z-ai/glm-5.3-flash": {
|
|
17
|
+
"maxOutputTokens": 131072,
|
|
18
|
+
"pricingPerMTok": {
|
|
19
|
+
"input": 0.03,
|
|
20
|
+
"output": 0.1,
|
|
21
|
+
"cachedInput": 0.006
|
|
22
|
+
},
|
|
23
|
+
"vision": false,
|
|
24
|
+
"status": "production",
|
|
25
|
+
"description": "Recommended - the only model Pareto serves; GLM 5.3 Flash (Zhipu/Z.ai), run on Pareto's own GPUs. Confirmed live via an unauthenticated GET https://api.paretoinference.com/v1/models on 2026-09-28 (HTTP 200, exactly one id: z-ai/glm-5.3-flash, owned_by z-ai) - no key used, matching the docs' note that GET /models needs no API key. The docs also document a bare alias, glm-5.3-flash, for the same model (https://docs.paretoinference.com/api-reference, retrieved 2026-09-28). Wire is OpenAI Chat Completions: POST /chat/completions with required model + messages ('Use the OpenAI message format'), the answer read from choices[0].message.content, SSE streaming with text in choices[0].delta.content and tool calls in choices[0].delta.tool_calls, a final usage event when stream_options.include_usage is true, and a terminal 'data: [DONE]' (https://docs.paretoinference.com/api-reference, retrieved 2026-09-28). Output tokens (max_tokens / max_completion_tokens - send only one) range 1-131,072, defaulting to 131,072 when both are omitted - that figure is this entry's defaultMaxOutputTokens and maxOutputTokens. Pareto documents no separate context-length figure anywhere: 'We do not disclose the technical details of our GLM 5.3 Flash serving system' (https://docs.paretoinference.com/how-pareto-works, retrieved 2026-09-28), and no context-window number appears on the quickstart, API reference, how-it-works, errors, or pricing pages, so models.defaultContextWindow above (131,072) reuses the documented output ceiling as a conservative floor rather than a vendor-stated context length - correct it once Pareto publishes one or an authenticated probe reveals one; contextWindow is deliberately left unset on this model entry rather than restating that same undocumented floor as a per-model fact. Pricing from https://docs.paretoinference.com/pricing, retrieved 2026-09-28: $0.03 per 1M input tokens, $0.10 per 1M output tokens, $0.006 per 1M cached-input tokens ('a cache hit is not guaranteed'). tools ('Sends OpenAI function tools') and response_format ('Requests a structured response') are both documented request parameters, but the same request-parameters table hedges both of them - plus tool_choice and logprobs - with 'Model support can differ'; there is no model-specific confirmation for z-ai/glm-5.3-flash and no live probe was possible credential-free, so capabilities.tools is 'model-dependent' here and toolsWithStreaming/structuredOutput/structuredOutputWithTools are left false rather than asserted from a hedged parameter table. reasoning_effort ('Sets the reasoning level') is documented as a plain, unhedged request parameter - unlike tools/response_format/tool_choice/logprobs it carries no 'Model support can differ' caveat - which is the basis for capabilities.thinking: true. Vision/image input and an embeddings endpoint are not documented anywhere on docs.paretoinference.com, so vision stays false and models.visionModel is left unset. No live capability probe was run: this is credential-free onboarding, no Pareto API key was ever created, and no POST request was ever sent to the vendor - see evidence.liveMatrix: null."
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"topModels": ["z-ai/glm-5.3-flash"]
|
|
29
|
+
},
|
|
30
|
+
"capabilities": {
|
|
31
|
+
"text": true,
|
|
32
|
+
"streaming": true,
|
|
33
|
+
"tools": "model-dependent",
|
|
34
|
+
"toolsWithStreaming": false,
|
|
35
|
+
"structuredOutput": false,
|
|
36
|
+
"structuredOutputWithTools": false,
|
|
37
|
+
"embeddings": false,
|
|
38
|
+
"thinking": true
|
|
39
|
+
},
|
|
40
|
+
"errorRules": [
|
|
41
|
+
{
|
|
42
|
+
"status": 401,
|
|
43
|
+
"class": "authentication",
|
|
44
|
+
"message": "Invalid Pareto Inference API key. Check {apiKeyEnvVar}. Pareto documents 401 as \"the chat API key is missing, invalid, or no longer active\" (unauthenticated GET /models needs no key, so this only affects POST /chat/completions) but publishes no example error body - get or replace a key at {setupUrl}"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"status": 429,
|
|
48
|
+
"pattern": "credit_exhausted|credit_insufficient|model_capacity",
|
|
49
|
+
"class": "rate-limit",
|
|
50
|
+
"message": "Pareto rate/credit limit hit for {model}. Documented causes: credit_exhausted (no credits left - buy more), credit_insufficient (held credits below what max_tokens could use - lower max_tokens or buy credits), or model_capacity (the model is at capacity, not an account limit - honor Retry-After). See {setupUrl}"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"setup": {
|
|
54
|
+
"url": "https://paretoinference.com/dashboard",
|
|
55
|
+
"apiKeyFormat": null,
|
|
56
|
+
"billingPolicy": "no-free-tier",
|
|
57
|
+
"instructions": [
|
|
58
|
+
"1. Visit: https://paretoinference.com/dashboard and sign in",
|
|
59
|
+
"2. Add a payment card - Pareto has no free tier; a card and prepaid credits are required before a key is issued (https://docs.paretoinference.com/pricing)",
|
|
60
|
+
"3. Buy prepaid credits, then create your API key from the dashboard",
|
|
61
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
62
|
+
],
|
|
63
|
+
"description": "OpenAI-compatible Chat Completions endpoint at https://api.paretoinference.com/v1, serving exactly one hosted model - z-ai/glm-5.3-flash (GLM 5.3 Flash), also reachable via the documented alias glm-5.3-flash - on Pareto's own GPUs. No free tier: a payment card and prepaid credits are required before a key is issued. Pareto offers zero data retention (ZDR) and does not keep request content after a request finishes."
|
|
64
|
+
},
|
|
65
|
+
"evidence": {
|
|
66
|
+
"rosterVerified": {
|
|
67
|
+
"date": "2026-09-28",
|
|
68
|
+
"method": "unauthenticated GET https://api.paretoinference.com/v1/models - 1 model; credential-free, no key used",
|
|
69
|
+
"status": 200
|
|
70
|
+
},
|
|
71
|
+
"liveMatrix": null,
|
|
72
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1848"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./provider-catalog.schema.json",
|
|
3
|
+
"id": "sarvam",
|
|
4
|
+
"displayName": "Sarvam AI",
|
|
5
|
+
"aliases": [],
|
|
6
|
+
"tier": 2,
|
|
7
|
+
"wire": {
|
|
8
|
+
"baseURL": "https://api.sarvam.ai/v1"
|
|
9
|
+
},
|
|
10
|
+
"models": {
|
|
11
|
+
"default": "sarvam-105b",
|
|
12
|
+
"fallbacks": ["sarvam-105b-conversations"],
|
|
13
|
+
"defaultContextWindow": 128000,
|
|
14
|
+
"defaultMaxOutputTokens": 2048,
|
|
15
|
+
"catalog": {
|
|
16
|
+
"sarvam-105b": {
|
|
17
|
+
"contextWindow": 128000,
|
|
18
|
+
"vision": false,
|
|
19
|
+
"status": "production",
|
|
20
|
+
"description": "Recommended - Sarvam's flagship chat model, documented as \"(128K context) for complex reasoning and agentic tasks\" (https://docs.sarvam.ai/api-reference-docs/chat/chat-completions, retrieved 2026-09-28). The /v1/chat/completions endpoint serves only sarvam-105b and sarvam-105b-conversations per the vendor's own reference — confirmed live by an unauthenticated GET https://api.sarvam.ai/v1/models on 2026-09-28 (HTTP 200, exactly these 2 ids, no key used). Request/response wire shape is OpenAI-compatible: messages[] with system/developer/user/assistant/tool roles, choices[].message/finish_reason (stop, length, tool_calls, content_filter, deprecated function_call), object: \"chat.completion\". tools + tool_choice (function calling) and response_format json_schema/json_object (Structured Outputs) are both documented generically for this endpoint, not per model — none of this was live-probed, since onboarding was credential-free (no API key, no POST request made to the vendor's API). Sarvam-specific reasoning_effort (low/high/max, default medium, disable by sending null) plus a reasoning_content field on the response message are documented — the basis for capabilities.thinking here. max_tokens defaults to 2048 if the caller omits it and the docs state no maximum output ceiling, so defaultMaxOutputTokens below reflects that documented default rather than a hard cap; maxOutputTokens is left unset on this entry rather than inventing one. Pricing is documented only in Indian Rupees — ₹29.28 input / ₹73.2 output / ₹10.98 cached-input per 1M tokens (https://docs.sarvam.ai/api/getting-started/pricing.md, retrieved 2026-09-28); pricingPerMTok is left unset here rather than placing an INR figure in a field every other catalog entry uses for USD, since the vendor states no INR/USD rate to convert by without inventing a number. The message content-part schema also declares an image_url part (standard OpenAI-compatible shape), but the vendor documents no vision/multimodal capability for either model, so vision stays false and models.visionModel is left unset.",
|
|
21
|
+
"enumMember": "SARVAM_105B"
|
|
22
|
+
},
|
|
23
|
+
"sarvam-105b-conversations": {
|
|
24
|
+
"contextWindow": 32000,
|
|
25
|
+
"vision": false,
|
|
26
|
+
"status": "production",
|
|
27
|
+
"description": "Sarvam's conversational variant, documented as \"(32K context) for real-time conversational and voice-agent workloads\" (https://docs.sarvam.ai/api-reference-docs/chat/chat-completions, retrieved 2026-09-28) — kept as the fallback behind the larger-context sarvam-105b. Same endpoint, same OpenAI-compatible wire shape, tools/response_format documentation and reasoning_effort/reasoning_content fields as sarvam-105b (see that entry); confirmed live alongside it by the same unauthenticated GET https://api.sarvam.ai/v1/models on 2026-09-28 (HTTP 200). Pricing per the vendor's pricing page is identical to sarvam-105b — ₹29.28 input / ₹73.2 output / ₹10.98 cached-input per 1M tokens, stated only in INR — so pricingPerMTok is left unset for the same reason.",
|
|
28
|
+
"enumMember": "SARVAM_105B_CONVERSATIONS"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"topModels": ["sarvam-105b", "sarvam-105b-conversations"]
|
|
32
|
+
},
|
|
33
|
+
"capabilities": {
|
|
34
|
+
"text": true,
|
|
35
|
+
"streaming": true,
|
|
36
|
+
"tools": true,
|
|
37
|
+
"toolsWithStreaming": true,
|
|
38
|
+
"structuredOutput": true,
|
|
39
|
+
"structuredOutputWithTools": false,
|
|
40
|
+
"embeddings": false,
|
|
41
|
+
"thinking": true
|
|
42
|
+
},
|
|
43
|
+
"errorRules": [
|
|
44
|
+
{
|
|
45
|
+
"status": 403,
|
|
46
|
+
"pattern": "invalid_api_key_error|Invalid API key",
|
|
47
|
+
"class": "authentication",
|
|
48
|
+
"message": "Invalid Sarvam AI API key. Check {apiKeyEnvVar}. Get one at {setupUrl}"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"setup": {
|
|
52
|
+
"url": "https://dashboard.sarvam.ai",
|
|
53
|
+
"apiKeyFormat": "^sk_[A-Za-z0-9_-]+$",
|
|
54
|
+
"billingPolicy": "free-tier",
|
|
55
|
+
"instructions": [
|
|
56
|
+
"1. Visit: https://dashboard.sarvam.ai and sign in or create an account",
|
|
57
|
+
"2. Create an API subscription key from the dashboard (documented format: sk_xxx)",
|
|
58
|
+
"3. Every new account receives ₹100 in starter credits, then usage-based billing applies (https://docs.sarvam.ai/api/getting-started/pricing.md) — no ongoing free tier beyond that starter credit is documented",
|
|
59
|
+
"4. Set {apiKeyEnvVar} in your .env file"
|
|
60
|
+
],
|
|
61
|
+
"description": "OpenAI-compatible endpoint at https://api.sarvam.ai/v1, serving only sarvam-105b and sarvam-105b-conversations via POST /v1/chat/completions. The vendor's own API reference authenticates its raw HTTP examples with a standard Authorization: Bearer <token> header — what NeuroLink's generic OpenAI-compatible provider sends. Sarvam's stated preference is instead an api-subscription-key header, which its Python/TypeScript SDKs use; both are documented as accepted on every endpoint, so no custom auth-header quirk is needed here."
|
|
62
|
+
},
|
|
63
|
+
"evidence": {
|
|
64
|
+
"rosterVerified": {
|
|
65
|
+
"date": "2026-09-28",
|
|
66
|
+
"method": "unauthenticated GET https://api.sarvam.ai/v1/models — 2 models (sarvam-105b, sarvam-105b-conversations); credential-free, no key used",
|
|
67
|
+
"status": 200
|
|
68
|
+
},
|
|
69
|
+
"liveMatrix": null,
|
|
70
|
+
"addedInPR": "https://github.com/juspay/neurolink/pull/1848"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -48,8 +48,8 @@ export declare const providerCatalogJsonSchema: z.ZodObject<{
|
|
|
48
48
|
vision: z.ZodBoolean;
|
|
49
49
|
status: z.ZodEnum<{
|
|
50
50
|
production: "production";
|
|
51
|
-
retired: "retired";
|
|
52
51
|
preview: "preview";
|
|
52
|
+
retired: "retired";
|
|
53
53
|
}>;
|
|
54
54
|
description: z.ZodString;
|
|
55
55
|
enumMember: z.ZodOptional<z.ZodString>;
|
|
@@ -96,9 +96,9 @@ export declare const providerCatalogJsonSchema: z.ZodObject<{
|
|
|
96
96
|
url: z.ZodString;
|
|
97
97
|
apiKeyFormat: z.ZodNullable<z.ZodString>;
|
|
98
98
|
billingPolicy: z.ZodEnum<{
|
|
99
|
+
"no-free-tier": "no-free-tier";
|
|
99
100
|
"free-tier": "free-tier";
|
|
100
101
|
"free-with-card": "free-with-card";
|
|
101
|
-
"no-free-tier": "no-free-tier";
|
|
102
102
|
}>;
|
|
103
103
|
instructions: z.ZodArray<z.ZodString>;
|
|
104
104
|
description: z.ZodOptional<z.ZodString>;
|