@juspay/neurolink 12.38.1 → 12.39.1

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/README.md +1 -1
  3. package/dist/browser/neurolink.min.js +475 -473
  4. package/dist/constants/enums.d.ts +226 -0
  5. package/dist/constants/enums.js +246 -0
  6. package/dist/neurolink.js +6 -0
  7. package/dist/providers/catalog/above-dev.json +194 -0
  8. package/dist/providers/catalog/aiand.json +204 -0
  9. package/dist/providers/catalog/ambient.json +117 -0
  10. package/dist/providers/catalog/bee-heossi.json +174 -0
  11. package/dist/providers/catalog/charm-hyper.json +349 -0
  12. package/dist/providers/catalog/chutes.json +236 -0
  13. package/dist/providers/catalog/deepinfra.json +157 -0
  14. package/dist/providers/catalog/empiriolabs.json +143 -0
  15. package/dist/providers/catalog/featherless-ai.json +212 -0
  16. package/dist/providers/catalog/inco.json +196 -0
  17. package/dist/providers/catalog/index.generated.d.ts +1 -1
  18. package/dist/providers/catalog/index.generated.js +60 -0
  19. package/dist/providers/catalog/inference-net.json +172 -0
  20. package/dist/providers/catalog/koscompute.json +81 -0
  21. package/dist/providers/catalog/lilac.json +107 -0
  22. package/dist/providers/catalog/llmtech.json +63 -0
  23. package/dist/providers/catalog/moark.json +94 -0
  24. package/dist/providers/catalog/neuralwatt.json +179 -0
  25. package/dist/providers/catalog/ovhcloud.json +232 -0
  26. package/dist/providers/catalog/pareto-inference.json +74 -0
  27. package/dist/providers/catalog/sarvam.json +72 -0
  28. package/dist/providers/catalog/schema.d.ts +2 -2
  29. package/dist/providers/catalog/synthetic.json +205 -0
  30. package/dist/providers/googleAiStudio/client.js +687 -263
  31. package/dist/providers/googleNativeGemini3/utils.d.ts +44 -1
  32. package/dist/providers/googleNativeGemini3/utils.js +300 -1
  33. package/dist/types/providerCatalog.generated.d.ts +2 -2
  34. package/dist/types/providers.d.ts +80 -0
  35. package/docs-site/static/search-index.json +211 -4
  36. package/package.json +1 -1
package/dist/neurolink.js CHANGED
@@ -4250,6 +4250,12 @@ Current user's request: ${currentInput}`;
4250
4250
  provider: options.provider,
4251
4251
  model: options.model,
4252
4252
  temperature: options.temperature,
4253
+ // Listed explicitly because this literal is the only road into the
4254
+ // provider: `topP` is declared on both `GenerateOptions` and
4255
+ // `TextGenerationOptions`, but it was missing here and so was silently
4256
+ // dropped on every generate() call regardless of provider, while
4257
+ // stream() (which spreads its options) already forwarded it.
4258
+ topP: options.topP,
4253
4259
  maxTokens: options.maxTokens,
4254
4260
  systemPrompt: options.systemPrompt,
4255
4261
  schema: options.schema,
@@ -0,0 +1,194 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "above-dev",
4
+ "displayName": "above.dev",
5
+ "aliases": [],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://api.above.dev/v1"
9
+ },
10
+ "models": {
11
+ "default": "deepseek-v4.1-flash",
12
+ "fallbacks": [
13
+ "glm-5.3-flash",
14
+ "mimo-v2.6-flash",
15
+ "deepseek-v4-pro",
16
+ "glm-5.2",
17
+ "mimo-v2.6-pro",
18
+ "glm-5.2-fast",
19
+ "qwen3.8-max",
20
+ "mimo-v2.6-pro-ultraspeed"
21
+ ],
22
+ "defaultContextWindow": 1000000,
23
+ "defaultMaxOutputTokens": 131072,
24
+ "catalog": {
25
+ "deepseek-v4.1-flash": {
26
+ "contextWindow": 1000000,
27
+ "maxOutputTokens": 131072,
28
+ "vision": true,
29
+ "status": "production",
30
+ "description": "DeepSeek V4.1 Flash (also addressable as deepseek-v4-flash), tier T1. above.dev's own default: naming no model routes here (\"the cheapest model in the catalog\", https://above.dev/docs, retrieved 2026-09-28). GET /v1/models (unauthenticated, 2026-09-28) self-reports supports_tool_calls, supports_streaming, supports_json_mode, supports_structured_output and supports_vision all true, and supports_reasoning true, but none of this was independently probed — no key was used. Pricing uses above.dev's documented time-of-day split (peak 01:00-04:00 and 06:00-10:00 UTC weekdays, else off-peak; weekends fully off-peak in Beijing time) so pricingPerMTok is omitted rather than collapsed to one number: input $0.165-$0.33/M, cache-hit $0.0033-$0.0066/M, output $0.66-$1.32/M (https://above.dev/docs, retrieved 2026-09-28)."
31
+ },
32
+ "deepseek-v4-pro": {
33
+ "contextWindow": 1000000,
34
+ "maxOutputTokens": 131072,
35
+ "vision": false,
36
+ "status": "production",
37
+ "description": "DeepSeek V4 Pro, tier T2 (\"Agentic — multi-step, tool-capable\" per the docs' tier table). Roster-listed via unauthenticated GET /v1/models (2026-09-28); not capability-probed. Time-of-day pricing per https://above.dev/docs (retrieved 2026-09-28) — input $0.726-$1.452/M, cache-hit $0.0242-$0.0484/M, output $2.178-$4.356/M — so pricingPerMTok is omitted (see deepseek-v4.1-flash for why)."
38
+ },
39
+ "glm-5.2": {
40
+ "contextWindow": 1048576,
41
+ "maxOutputTokens": 131072,
42
+ "pricingPerMTok": {
43
+ "input": 1.54,
44
+ "output": 4.84,
45
+ "cachedInput": 0.154
46
+ },
47
+ "vision": false,
48
+ "status": "production",
49
+ "description": "Zhipu GLM 5.2, tier T2. Roster-listed via unauthenticated GET /v1/models (2026-09-28); not capability-probed. Flat (non-time-of-day) pricing per https://above.dev/docs, retrieved 2026-09-28."
50
+ },
51
+ "glm-5.3-flash": {
52
+ "contextWindow": 1048576,
53
+ "maxOutputTokens": 131072,
54
+ "pricingPerMTok": {
55
+ "input": 0.165,
56
+ "output": 0.55,
57
+ "cachedInput": 0.0319
58
+ },
59
+ "vision": true,
60
+ "status": "production",
61
+ "description": "Zhipu GLM 5.3 Flash, tier T1. Roster-listed via unauthenticated GET /v1/models (2026-09-28), which self-reports supports_vision true for this id; not capability-probed with a real image. Flat pricing per https://above.dev/docs, retrieved 2026-09-28. Note: a separate id, glm-5.3-flash-modal, is named in the docs' Limits section as one of two \"free-tier routes\" capped at 16,384 output tokens — that id does not appear in the current /v1/models roster and is a distinct route from this one; not represented in this catalog."
62
+ },
63
+ "glm-5.2-fast": {
64
+ "contextWindow": 1048576,
65
+ "maxOutputTokens": 131072,
66
+ "pricingPerMTok": {
67
+ "input": 2.31,
68
+ "output": 7.26,
69
+ "cachedInput": 0.231
70
+ },
71
+ "vision": false,
72
+ "status": "production",
73
+ "description": "Zhipu GLM 5.2 Fast, tier T3 (\"Highest capability in the catalog\" per the docs' tier table). Roster-listed via unauthenticated GET /v1/models (2026-09-28); not capability-probed. Flat pricing per https://above.dev/docs, retrieved 2026-09-28."
74
+ },
75
+ "qwen3.8-max": {
76
+ "contextWindow": 1000000,
77
+ "maxOutputTokens": 131072,
78
+ "pricingPerMTok": {
79
+ "input": 2.2,
80
+ "output": 6.6,
81
+ "cachedInput": 0.275
82
+ },
83
+ "vision": true,
84
+ "status": "production",
85
+ "description": "Alibaba Qwen 3.8 Max, tier T3. Roster-listed via unauthenticated GET /v1/models (2026-09-28), which self-reports supports_vision true for this id; not capability-probed with a real image. Flat pricing per https://above.dev/docs, retrieved 2026-09-28."
86
+ },
87
+ "mimo-v2.6-pro": {
88
+ "contextWindow": 1000000,
89
+ "maxOutputTokens": 131072,
90
+ "pricingPerMTok": {
91
+ "input": 0.5077,
92
+ "output": 1.0154,
93
+ "cachedInput": 0.0042
94
+ },
95
+ "vision": false,
96
+ "status": "production",
97
+ "description": "MiMo V2.6 Pro (also addressable as mimo-v2.5-pro), tier T2. Roster-listed via unauthenticated GET /v1/models (2026-09-28); not capability-probed. Flat pricing per https://above.dev/docs, retrieved 2026-09-28."
98
+ },
99
+ "mimo-v2.6-flash": {
100
+ "contextWindow": 1000000,
101
+ "maxOutputTokens": 131072,
102
+ "pricingPerMTok": {
103
+ "input": 0.1692,
104
+ "output": 0.3385,
105
+ "cachedInput": 0.0034
106
+ },
107
+ "vision": false,
108
+ "status": "production",
109
+ "description": "MiMo V2.6 Flash, tier T1. Roster-listed via unauthenticated GET /v1/models (2026-09-28); not capability-probed. Flat pricing per https://above.dev/docs, retrieved 2026-09-28."
110
+ },
111
+ "mimo-v2.6-pro-ultraspeed": {
112
+ "contextWindow": 1000000,
113
+ "maxOutputTokens": 131072,
114
+ "pricingPerMTok": {
115
+ "input": 5.0769,
116
+ "output": 10.1538,
117
+ "cachedInput": 0.0423
118
+ },
119
+ "vision": false,
120
+ "status": "production",
121
+ "description": "MiMo V2.6 Pro UltraSpeed, tier T3. Roster-listed via unauthenticated GET /v1/models (2026-09-28); not capability-probed. Flat pricing per https://above.dev/docs, retrieved 2026-09-28."
122
+ }
123
+ },
124
+ "topModels": [
125
+ "deepseek-v4.1-flash",
126
+ "glm-5.3-flash",
127
+ "mimo-v2.6-flash",
128
+ "deepseek-v4-pro",
129
+ "glm-5.2",
130
+ "mimo-v2.6-pro",
131
+ "glm-5.2-fast",
132
+ "qwen3.8-max",
133
+ "mimo-v2.6-pro-ultraspeed"
134
+ ]
135
+ },
136
+ "capabilities": {
137
+ "text": true,
138
+ "streaming": true,
139
+ "tools": "model-dependent",
140
+ "toolsWithStreaming": false,
141
+ "structuredOutput": false,
142
+ "structuredOutputWithTools": false,
143
+ "embeddings": false,
144
+ "thinking": false
145
+ },
146
+ "errorRules": [
147
+ {
148
+ "status": 401,
149
+ "class": "authentication",
150
+ "message": "Invalid or missing above.dev API key (401 Unauthorised). Check {apiKeyEnvVar}. Get one at {setupUrl}"
151
+ },
152
+ {
153
+ "status": 402,
154
+ "class": "provider",
155
+ "message": "above.dev account balance is insufficient (402 payment required). Top up at https://above.dev/pricing"
156
+ },
157
+ {
158
+ "status": 403,
159
+ "class": "invalid-model",
160
+ "message": "above.dev model '{model}' is not enabled for this key (403 model_not_allowed_for_key) — it may be plan-restricted or in private beta. Pick another model or contact above.dev."
161
+ },
162
+ {
163
+ "status": 429,
164
+ "class": "rate-limit",
165
+ "message": "above.dev rate limit exceeded (429 rate_limit_exceeded, 300 requests/minute per account). Retry after the documented Retry-After header."
166
+ },
167
+ {
168
+ "status": 504,
169
+ "class": "network",
170
+ "message": "above.dev upstream model did not respond in time (504 provider_timeout). Retry the request."
171
+ }
172
+ ],
173
+ "setup": {
174
+ "url": "https://above.dev/pricing",
175
+ "apiKeyFormat": "^sk-gw-.+$",
176
+ "billingPolicy": "no-free-tier",
177
+ "instructions": [
178
+ "1. Visit: https://above.dev/pricing and purchase credit — API keys are issued only after purchase, there is no free signup",
179
+ "2. Copy the issued key — it starts with sk-gw- (the docs give only the prefix, not a full character-set spec)",
180
+ "3. Manage or rotate the key from https://above.dev/dashboard if it is ever compromised — a key grants full access to your credit balance",
181
+ "4. Set {apiKeyEnvVar} in your .env file"
182
+ ],
183
+ "description": "OpenAI-compatible gateway at https://api.above.dev/v1, routing to a small DeepSeek/GLM/Qwen/MiMo catalog. POST /v1/chat/completions is documented as an alias that delegates to the vendor's native POST /v1/messages with \"identical behaviour\". No free tier for account access — a key is issued only after purchase at above.dev/pricing (the docs separately mention two lower-cap \"free-tier routes\", glm-5.3-flash-modal and deepseek-v4.1-flash-modal, but those ids are outside the current /v1/models roster and still require a purchased key). Account-wide rate limit is 300 requests/minute; every current model accepts up to 131,072 output tokens. The docs describe the `tools` and `response_format` request fields only as routing signals (\"presence influences routing toward tool-capable models\" / \"scores toward structured-output models\"), in explicit contrast to `tool_choice` and `temperature`, which the same table states are \"passed through to the model\" — so this entry does not assert tool calling or structured output as a confirmed, working capability without a live probe."
184
+ },
185
+ "evidence": {
186
+ "rosterVerified": {
187
+ "date": "2026-09-28",
188
+ "method": "unauthenticated GET https://api.above.dev/v1/models — 9 models; credential-free, no key used",
189
+ "status": 200
190
+ },
191
+ "liveMatrix": null,
192
+ "addedInPR": "https://github.com/juspay/neurolink/pull/1848"
193
+ }
194
+ }
@@ -0,0 +1,204 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "aiand",
4
+ "displayName": "ai&",
5
+ "aliases": [],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://api.aiand.com/v1"
9
+ },
10
+ "models": {
11
+ "default": "openai/gpt-oss-120b",
12
+ "fallbacks": [
13
+ "zai-org/glm-5.3",
14
+ "zai-org/glm-5.2",
15
+ "deepseek-ai/deepseek-v4-pro",
16
+ "deepseek-ai/deepseek-v4-flash",
17
+ "moonshotai/kimi-k3",
18
+ "moonshotai/kimi-k2.7-code",
19
+ "qwen/qwen3.8-27b",
20
+ "qwen/qwen3.6-27b",
21
+ "motif-technologies/motif-3",
22
+ "google/gemma-4-31b-it"
23
+ ],
24
+ "defaultContextWindow": 131072,
25
+ "defaultMaxOutputTokens": 131072,
26
+ "catalog": {
27
+ "openai/gpt-oss-120b": {
28
+ "contextWindow": 131072,
29
+ "pricingPerMTok": {
30
+ "input": 0.15,
31
+ "output": 0.6,
32
+ "cachedInput": 0.08
33
+ },
34
+ "vision": false,
35
+ "status": "production",
36
+ "description": "Default — the model used in ai&'s own quickstart curl example (https://docs.aiand.com/, retrieved 2026-09-28): 'curl https://api.aiand.com/v1/chat/completions -H \"Authorization: Bearer sk-your-api-key\" -d {\"model\": \"openai/gpt-oss-120b\", ...}'. Vendor description (GET /v1/models, 2026-09-28): \"Open GPT reasoning model for self-hosted agents and controllable deployments\". Cheapest model on the roster. Documents `reasoning` + `tool_calling` capabilities and a `reasoning_effort` request parameter with model-specific values low/medium/high (default medium) — see https://docs.aiand.com/api/chat-completions/. No `vision` capability listed, so image/video input is expected to be rejected. Docs- and roster-verified only — no API key was used, so no live chat/stream/tool call was made against this or any other model in this catalog."
37
+ },
38
+ "zai-org/glm-5.3": {
39
+ "contextWindow": 1048576,
40
+ "pricingPerMTok": {
41
+ "input": 1.0,
42
+ "output": 4.0,
43
+ "cachedInput": 0.3
44
+ },
45
+ "vision": false,
46
+ "status": "production",
47
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Flagship GLM model for long-horizon coding, agents, and complex project delivery\". reasoning_effort values low/high/max, default max. 1M context. Roster-listed and priced only, not itself capability-probed; fallback."
48
+ },
49
+ "zai-org/glm-5.2": {
50
+ "contextWindow": 1048576,
51
+ "pricingPerMTok": {
52
+ "input": 1.0,
53
+ "output": 4.0,
54
+ "cachedInput": 0.3
55
+ },
56
+ "vision": false,
57
+ "status": "production",
58
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Open flagship GLM for long-horizon coding agents and million-token context work\". reasoning_effort values none/high/max, default max. Roster-listed only; fallback."
59
+ },
60
+ "deepseek-ai/deepseek-v4-pro": {
61
+ "contextWindow": 1048576,
62
+ "pricingPerMTok": {
63
+ "input": 1.0,
64
+ "output": 2.5,
65
+ "cachedInput": 0.25
66
+ },
67
+ "vision": false,
68
+ "status": "production",
69
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Open MoE flagship with million-token context for coding and long agent runs\". reasoning_effort values none/high/max, default none. Roster-listed only; fallback."
70
+ },
71
+ "deepseek-ai/deepseek-v4-flash": {
72
+ "contextWindow": 1048576,
73
+ "pricingPerMTok": {
74
+ "input": 0.15,
75
+ "output": 0.25,
76
+ "cachedInput": 0.08
77
+ },
78
+ "vision": false,
79
+ "status": "production",
80
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work\". reasoning_effort values none/high/max, default none. Roster-listed only; fallback."
81
+ },
82
+ "moonshotai/kimi-k3": {
83
+ "contextWindow": 1048576,
84
+ "pricingPerMTok": {
85
+ "input": 3.0,
86
+ "output": 12.5,
87
+ "cachedInput": 0.5
88
+ },
89
+ "vision": true,
90
+ "status": "production",
91
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Multimodal Kimi model with 1M context and toggleable max-effort thinking for long-horizon agent work\". reasoning_effort values low/high/max, default max. Lists `vision` in its capabilities array, but ai&'s vision docs (https://docs.aiand.com/capabilities/vision/) describe images/video as uploaded via the Files API first and referenced by `file_id` — not the inline base64 `image_url` data-URI shape NeuroLink's other providers use — and that flow was not exercised (no key used). Roster-listed only; fallback."
92
+ },
93
+ "moonshotai/kimi-k2.7-code": {
94
+ "contextWindow": 262144,
95
+ "pricingPerMTok": {
96
+ "input": 0.75,
97
+ "output": 3.5,
98
+ "cachedInput": 0.2
99
+ },
100
+ "vision": true,
101
+ "status": "production",
102
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Coding-focused Kimi model, stronger on long-horizon repo work with less overthinking\". reasoning_effort fixed to high (only value listed). Lists `vision`; see the kimi-k3 note above on ai&'s Files-API-based image/video flow being unverified here. Roster-listed only; fallback."
103
+ },
104
+ "qwen/qwen3.8-27b": {
105
+ "contextWindow": 262144,
106
+ "pricingPerMTok": {
107
+ "input": 0.4,
108
+ "output": 3.0,
109
+ "cachedInput": 0.2
110
+ },
111
+ "vision": true,
112
+ "status": "production",
113
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Dense 27B vision-language model for coding, agent tasks, and image and video understanding\". reasoning_effort values none/low/medium/xhigh, default medium. Lists `vision`; see the kimi-k3 note above on ai&'s Files-API-based image/video flow being unverified here. Roster-listed only; fallback."
114
+ },
115
+ "qwen/qwen3.6-27b": {
116
+ "contextWindow": 262144,
117
+ "pricingPerMTok": {
118
+ "input": 0.32,
119
+ "output": 3.2,
120
+ "cachedInput": 0.2
121
+ },
122
+ "vision": true,
123
+ "status": "production",
124
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Qwen vision-language model for visual reasoning, documents, and agent tasks\". reasoning_effort values none/high, default high. Lists `vision`; see the kimi-k3 note above on ai&'s Files-API-based image/video flow being unverified here. Roster-listed only; fallback."
125
+ },
126
+ "motif-technologies/motif-3": {
127
+ "contextWindow": 262144,
128
+ "pricingPerMTok": {
129
+ "input": 0.5,
130
+ "output": 2.0,
131
+ "cachedInput": 0.2
132
+ },
133
+ "vision": false,
134
+ "status": "production",
135
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Motif 3 is a large-scale, decoder-only Mixture-of-Experts (MoE) language model with 314 billion total parameters and 13.2 billion parameters activated per token.\" reasoning_effort values none/high, default high. Roster-listed only; fallback."
136
+ },
137
+ "google/gemma-4-31b-it": {
138
+ "contextWindow": 262144,
139
+ "pricingPerMTok": {
140
+ "input": 0.2,
141
+ "output": 0.5,
142
+ "cachedInput": 0.05
143
+ },
144
+ "vision": true,
145
+ "status": "production",
146
+ "description": "Vendor description (GET /v1/models, 2026-09-28): \"Largest Gemma 4 instruction model for open, self-hosted chat and reasoning\". reasoning_effort values none/high, default none. Lists `vision`; see the kimi-k3 note above on ai&'s Files-API-based image/video flow being unverified here. Roster-listed only; fallback."
147
+ }
148
+ },
149
+ "topModels": [
150
+ "openai/gpt-oss-120b",
151
+ "zai-org/glm-5.3",
152
+ "deepseek-ai/deepseek-v4-flash",
153
+ "moonshotai/kimi-k3",
154
+ "qwen/qwen3.8-27b",
155
+ "zai-org/glm-5.2",
156
+ "google/gemma-4-31b-it"
157
+ ]
158
+ },
159
+ "capabilities": {
160
+ "text": true,
161
+ "streaming": true,
162
+ "tools": true,
163
+ "toolsWithStreaming": true,
164
+ "structuredOutput": true,
165
+ "structuredOutputWithTools": false,
166
+ "embeddings": false,
167
+ "thinking": true
168
+ },
169
+ "errorRules": [
170
+ {
171
+ "status": 401,
172
+ "pattern": "invalid_api_key|authentication_error",
173
+ "class": "authentication",
174
+ "message": "Invalid ai& API key. Check {apiKeyEnvVar}. Get one at {setupUrl}"
175
+ },
176
+ {
177
+ "status": 429,
178
+ "pattern": "rate_limit_exceeded|rate_limit_error",
179
+ "class": "rate-limit",
180
+ "message": "ai& rate limit exceeded. Check the X-RateLimit-Policy response header and retry with backoff, or review your plan at {setupUrl}"
181
+ }
182
+ ],
183
+ "setup": {
184
+ "url": "https://console.aiand.com/playground",
185
+ "apiKeyFormat": null,
186
+ "billingPolicy": "no-free-tier",
187
+ "instructions": [
188
+ "1. Visit: https://console.aiand.com/playground and sign in (Google, GitHub, or a magic-link email — https://docs.aiand.com/authentication/)",
189
+ "2. Create an organization API key under Organizations → API Keys (https://docs.aiand.com/organizations/api-keys/) — shown in full only once, and starts with sk-",
190
+ "3. ai& is prepaid only, no free tier: add credits via Stripe Checkout before making requests (https://docs.aiand.com/billing/credits/) — a zero balance returns HTTP 402 until credits are added",
191
+ "4. Set {apiKeyEnvVar} in your .env file"
192
+ ],
193
+ "description": "OpenAI-compatible endpoint at https://api.aiand.com/v1 (also exposes Anthropic-shaped /v1/messages, a Responses endpoint, and legacy Completions), serving zai-org GLM, Qwen, Kimi (moonshotai), DeepSeek V4, Google Gemma 4, Motif-3 and OpenAI gpt-oss open-weight models, each with a documented per-model `reasoning_effort` control. Prepaid credit billing only — no free tier; failed requests are not billed."
194
+ },
195
+ "evidence": {
196
+ "rosterVerified": {
197
+ "date": "2026-09-28",
198
+ "method": "unauthenticated GET https://api.aiand.com/v1/models — 11 models; credential-free, no key used",
199
+ "status": 200
200
+ },
201
+ "liveMatrix": null,
202
+ "addedInPR": "https://github.com/juspay/neurolink/pull/1848"
203
+ }
204
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "$schema": "./provider-catalog.schema.json",
3
+ "id": "ambient",
4
+ "displayName": "Ambient",
5
+ "aliases": [],
6
+ "tier": 2,
7
+ "wire": {
8
+ "baseURL": "https://api.ambient.xyz/v1"
9
+ },
10
+ "models": {
11
+ "default": "ambient/large",
12
+ "fallbacks": ["z-ai/glm-5.2", "qwen/qwen3.6-27b", "qwen/qwen3.8-27b"],
13
+ "defaultContextWindow": 202752,
14
+ "defaultMaxOutputTokens": 202752,
15
+ "catalog": {
16
+ "ambient/large": {
17
+ "contextWindow": 202752,
18
+ "maxOutputTokens": 202752,
19
+ "pricingPerMTok": {
20
+ "input": 0.6,
21
+ "output": 2.0,
22
+ "cachedInput": 0.15
23
+ },
24
+ "vision": false,
25
+ "status": "production",
26
+ "description": "Ambient's own recommended default — the model id used in every example on the vendor's docs (the plain chat-completions curl example and the streaming curl example both send model: \"ambient/large\"). Documented as \"an Ambient-managed alias rather than a distinct model. Its specs mirror whatever concrete model it currently points to\" (https://ambient.xyz/docs/build/models, retrieved 2026-09-28); today it mirrors z-ai/glm-5.2 exactly — identical context_length, max_output_length and pricing in the unauthenticated GET https://api.ambient.xyz/v1/models response taken 2026-09-28. Text-only (input_modalities: [\"text\"]); no vision. The live roster's supported_features for this id are tools, json_mode, structured_outputs, reasoning, logprobs — this is the vendor's own server-reported metadata, not a live POST probe (none was possible credential-free), so capabilities.tools and capabilities.structuredOutput are marked true on that basis alone, while the combined capabilities (tools+response_format in one request, tool-call deltas under streaming) are unverified and both structuredOutputWithTools and toolsWithStreaming are left false pending a live-keyed probe. maxOutputTokens equals the context window in the vendor's own catalog entry (202,752 tokens each, i.e. \"198K\" as rounded on the docs models page)."
27
+ },
28
+ "z-ai/glm-5.2": {
29
+ "contextWindow": 202752,
30
+ "maxOutputTokens": 202752,
31
+ "pricingPerMTok": {
32
+ "input": 0.6,
33
+ "output": 2.0,
34
+ "cachedInput": 0.15
35
+ },
36
+ "vision": false,
37
+ "status": "production",
38
+ "description": "The concrete underlying model that ambient/large currently aliases. The vendor's docs models page states \"GLM 5.2 ... is the supported production model\" (https://ambient.xyz/docs/build/models, retrieved 2026-09-28); other catalog ids may be previews with no guarantees. Text-only, no vision. Same live-roster numbers (unauthenticated GET https://api.ambient.xyz/v1/models, 2026-09-28) and the same unverified-combined-capability caveats as ambient/large — kept as a fallback pinned to a concrete id in case the ambient/large alias target changes underneath it."
39
+ },
40
+ "qwen/qwen3.6-27b": {
41
+ "contextWindow": 32768,
42
+ "maxOutputTokens": 8192,
43
+ "pricingPerMTok": {
44
+ "input": 0.32,
45
+ "output": 3.2,
46
+ "cachedInput": 0.16
47
+ },
48
+ "vision": true,
49
+ "status": "preview",
50
+ "description": "Qwen3.6 27B. The live roster's input_modalities are [\"text\",\"image\"] and the vendor's own description reads \"natively multimodal (text + image) dense 27B, hybrid attention. Served FP8 at 32k context, thinking off.\" (unauthenticated GET https://api.ambient.xyz/v1/models, 2026-09-28). The vendor's docs models page marks non-GLM-5.2 entries as possible previews served with no guarantees, so status is preview here. vision: true is taken from input_modalities; set as models.visionModel since the default (ambient/large) is text-only. Same unverified-combined-capability caveats as the other entries (no live POST probe was possible)."
51
+ },
52
+ "qwen/qwen3.8-27b": {
53
+ "contextWindow": 32768,
54
+ "maxOutputTokens": 8192,
55
+ "pricingPerMTok": {
56
+ "input": 0.32,
57
+ "output": 3.2,
58
+ "cachedInput": 0.16
59
+ },
60
+ "vision": true,
61
+ "status": "preview",
62
+ "description": "Qwen3.8 27B. The live roster's own description calls it \"natively multimodal (text + image + video) dense 27B, Apache 2.0, hybrid attention\" but input_modalities lists only [\"text\",\"image\"] — no \"video\" entry — so vision: true here is based on input_modalities, not the prose \"video\" claim, and no video-input support is declared. Same preview status and unverified-combined-capability caveats as qwen3.6-27b (unauthenticated GET https://api.ambient.xyz/v1/models, 2026-09-28)."
63
+ }
64
+ },
65
+ "topModels": [
66
+ "ambient/large",
67
+ "z-ai/glm-5.2",
68
+ "qwen/qwen3.6-27b",
69
+ "qwen/qwen3.8-27b"
70
+ ],
71
+ "visionModel": "qwen/qwen3.6-27b"
72
+ },
73
+ "capabilities": {
74
+ "text": true,
75
+ "streaming": true,
76
+ "tools": true,
77
+ "toolsWithStreaming": false,
78
+ "structuredOutput": true,
79
+ "structuredOutputWithTools": false,
80
+ "embeddings": false,
81
+ "thinking": true
82
+ },
83
+ "errorRules": [
84
+ {
85
+ "status": 401,
86
+ "class": "authentication",
87
+ "message": "Invalid Ambient API key. Check {apiKeyEnvVar}. Get one at {setupUrl}"
88
+ },
89
+ {
90
+ "status": 400,
91
+ "pattern": "Unknown model",
92
+ "class": "invalid-model",
93
+ "message": "Ambient model '{model}' not found. Pick a current model from the unauthenticated GET https://api.ambient.xyz/v1/models roster or {setupUrl}"
94
+ }
95
+ ],
96
+ "setup": {
97
+ "url": "https://app.ambient.xyz",
98
+ "apiKeyFormat": null,
99
+ "billingPolicy": "no-free-tier",
100
+ "instructions": [
101
+ "1. Visit: https://app.ambient.xyz and sign in",
102
+ "2. Click \"Get API key\" to create a key",
103
+ "3. Ambient has no free tier — the cheapest option is the $1/mo Starter plan (https://ambient.xyz/pricing); confirm current billing terms before use",
104
+ "4. Set {apiKeyEnvVar} in your .env file"
105
+ ],
106
+ "description": "OpenAI- and Anthropic-compatible endpoint at https://api.ambient.xyz/v1 (vendor's own docs: \"Point your OpenAI or Anthropic SDK at Ambient and get verified inference in minutes, no rewrite required\"). Pay-per-token API billing; no free tier. Inference is cryptographically verified via the vendor's \"Proof of Logits\" protocol."
107
+ },
108
+ "evidence": {
109
+ "rosterVerified": {
110
+ "date": "2026-09-28",
111
+ "method": "unauthenticated GET https://api.ambient.xyz/v1/models — 4 models; credential-free, no key used",
112
+ "status": 200
113
+ },
114
+ "liveMatrix": null,
115
+ "addedInPR": "https://github.com/juspay/neurolink/pull/1848"
116
+ }
117
+ }