@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
76 lines (75 loc) • 3.65 kB
JSON
{
"$schema": "./provider-catalog.schema.json",
"id": "openai-decisions",
"displayName": "OpenAI Decisions",
"enumTypeName": "OpenAIDecisionsModels",
"aliases": [],
"inferenceKinds": ["decide"],
"wire": {
"baseURL": "https://api.openai.com",
"envOverrides": { "apiKey": "OPENAI_API_KEY" }
},
"models": {
"default": "gpt-6-luna",
"topModels": ["gpt-6-luna"],
"catalog": {
"gpt-6-luna": {
"contextWindow": 1050000,
"maxOutputTokens": 256,
"vision": true,
"status": "preview",
"description": "GPT-6 Luna on OpenAI's Decisions API (public beta): text and images"
}
}
},
"timeouts": { "decideMs": 10000 },
"decisionLimits": {
"maxStateTokens": 922000,
"advisory": true,
"media": { "maxImages": 8, "video": false, "maxRequestBytes": 33554432 }
},
"decide": {
"dialect": "openai-decisions",
"order": 7,
"baseURLNormalize": ["strip-trailing-slash", "strip-v1-suffix"],
"baseURLShape": "origin",
"ambientKeyGuard": {
"baseURLEnvVars": ["OPENAI_BASE_URL", "OPENAI_API_BASE"],
"trustedOrigins": ["https://api.openai.com"],
"credentialBaseURLs": [{ "key": "openai", "field": "baseURL" }]
},
"endpoint": "{baseURL}/v1/decisions",
"model": { "placement": "body" },
"requestIdHeaders": ["x-request-id"],
"errors": {
"rules": [
{ "status": 401, "kind": "authentication" },
{ "status": 429, "kind": "rate_limit", "retryable": false },
{ "status": 503, "kind": "overloaded" },
{ "statusMin": 500, "kind": "server" }
],
"default": "invalid_request",
"bodyShapes": [{ "path": "error.message" }]
}
},
"setup": {
"url": "https://platform.openai.com/api-keys",
"apiKeyFormat": null,
"billingPolicy": "no-free-tier",
"description": "OpenAI API key (the same OPENAI_API_KEY the openai chat provider reads)",
"instructions": [
"1. Create an API key at https://platform.openai.com/api-keys",
"2. Set {apiKeyEnvVar}; it is shared with the openai chat provider",
"3. With no other decision provider configured, {apiKeyEnvVar} alone makes openai-decisions the default decision provider (the last resort, after every other one, as PERPLEXITY_API_KEY does for perplexity-decider), unless OPENAI_BASE_URL, OPENAI_API_BASE or credentials.openai.baseURL names a host other than https://api.openai.com: the key is then taken to be a gateway's and is not used by default. To use it while another provider is configured, name it in a call (provider: \"openai-decisions\" or --provider openai-decisions), but only if the key is OpenAI's, because a named call sends the environment key to api.openai.com. Behind a gateway, route it on purpose with OPENAI_DECISIONS_BASE_URL or credentials.openaiDecisions, or do not use it",
"4. Optional: OPENAI_DECISIONS_BASE_URL (an origin) and OPENAI_DECISIONS_MODEL (default gpt-6-luna)"
]
},
"evidence": {
"rosterVerified": {
"date": "2026-10-07",
"method": "OpenAI's Decisions guide and gpt-6-luna model page saved 2026-10-07: gpt-6-luna is the only model the endpoint supports. Read from documentation; no live call"
},
"liveMatrix": null,
"addedInPR": "https://github.com/juspay/neurolink/pull/1996"
}
}