UNPKG

@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

80 lines (79 loc) • 8.92 kB
{ "$schema": "./provider-catalog.schema.json", "id": "poolside", "displayName": "Poolside", "aliases": [], "tier": 2, "wire": { "baseURL": "https://inference.poolside.ai/v1" }, "models": { "default": "poolside/laguna-s-2.1", "fallbacks": ["poolside/laguna-s-2.1"], "defaultContextWindow": 128000, "defaultMaxOutputTokens": 32768, "catalog": { "poolside/laguna-s-2.1": { "vision": false, "status": "production", "description": "NeuroLink default. Vendor statements about Laguna S 2.1 on https://docs.poolside.ai/get-started/supported-models.md (retrieved 2026-09-29): Parameters \"118B total, 8B active per token\"; Context window \"1M tokens\"; Model type \"Mixture of Experts\"; Modality \"Text-to-text\"; Reasoning \"Native reasoning with thinking on or off per request\". The same page says \"Model availability, provider-specific variants, and model IDs can vary by access method.\" https://docs.poolside.ai/release-notes/models.md (retrieved 2026-09-29) says Laguna S 2.1 is \"built for agentic coding and long-horizon work\" and \"is text-to-text and does not support vision inputs\", so vision is false. The id poolside/laguna-s-2.1 is the model id in the quickstart on https://docs.poolside.ai/api/overview.md and in the examples on https://docs.poolside.ai/api/openai-api-examples.md, which use base URL https://inference.poolside.ai/v1." } }, "topModels": ["poolside/laguna-s-2.1"] }, "capabilities": { "text": true, "streaming": true, "tools": true, "toolsWithStreaming": false, "structuredOutput": false, "structuredOutputWithTools": false, "embeddings": false, "thinking": false }, "errorRules": [ { "status": 401, "class": "authentication", "message": "Poolside rejected the request's authentication (HTTP 401; an unauthenticated GET of /models answered the plain-text body \"No Authorization header provided\", and https://docs.poolside.ai/api/overview.md says \"Send it as a Bearer token in the Authorization header\"). Check {apiKeyEnvVar}. Create a key: {setupUrl}" }, { "status": 403, "class": "authentication", "message": "Poolside returned HTTP 403 (https://docs.poolside.ai/cli/troubleshooting.md lists \"403 Forbidden: please check the api-key you provided\" under \"Fix API key or token errors\"). Check {apiKeyEnvVar}. Create a key: {setupUrl}" } ], "quirks": { "replayReasoningContent": true }, "setup": { "url": "https://platform.poolside.ai/", "apiKeyFormat": null, "billingPolicy": "free-tier", "instructions": [ "1. Visit: https://platform.poolside.ai/ — https://docs.poolside.ai/get-started/log-in.md says of the Poolside Platform option: \"sign in to Poolside Platform or create an account\"", "2. Create an API key: https://docs.poolside.ai/api/overview.md says \"Sign in to Poolside Platform, open the API Keys tab, and click New key.\"", "3. Billing as the vendor states it: https://docs.poolside.ai/get-started/log-in.md describes the Poolside Platform option as \"free developer access\" and says \"The API key created through Poolside Platform is for Poolside-hosted inference.\"", "4. Authentication is HTTP Bearer: https://docs.poolside.ai/api/overview.md shows the header \"Authorization: Bearer <api-key>\" and exports the key as POOLSIDE_API_KEY, the name NeuroLink reads. Set {apiKeyEnvVar} in your .env file" ], "description": "Docs-verified only: the vendor's GET https://inference.poolside.ai/v1/models needs a key (it answers HTTP 401 without one), so the model id comes from the Poolside API page (https://docs.poolside.ai/api/overview.md, retrieved 2026-09-29) and the roster has not been checked; the entry is not yet live-verified. OpenAI-compatible endpoint at https://inference.poolside.ai/v1: the overview page opens with \"Call Poolside models through an OpenAI-compatible API.\", its Access methods table lists \"Poolside-hosted inference\" with base URL https://inference.poolside.ai/v1, its Available endpoints table lists GET /v1/models and POST /v1/chat/completions, and its quickstart shows the OpenAI Python SDK and the OpenAI TypeScript SDK with base URL \"https://inference.poolside.ai/v1\". Unauthenticated GETs made 2026-09-29: /models answered HTTP 401 with content-type text/plain and the body \"No Authorization header provided\"; /chat/completions answered HTTP 405 with an empty body. No POST request was sent. errorRules: the 401 rule is built from the observed /models response (a plain-text body, so the rule matches the status code); the 403 rule is built from https://docs.poolside.ai/cli/troubleshooting.md, which lists \"403 Forbidden: please check the api-key you provided\" under \"Fix API key or token errors\". capabilities.streaming is true because https://docs.poolside.ai/api/openai-api-examples.md documents setting stream to true to receive \"a series of chunks returned as server-sent events\". capabilities.tools is true because that page's \"Extend models with tools\" section says \"You can extend a model's capabilities by providing tools that it can call during a conversation.\" and shows a tools array and a returned tool_calls array on poolside/laguna-s-2.1 against https://inference.poolside.ai/v1/chat/completions. capabilities.toolsWithStreaming and capabilities.structuredOutputWithTools are false because no request combining them was sent. capabilities.structuredOutput is false because no request using response_format was sent. capabilities.embeddings is false; the overview page's Available endpoints table lists two endpoints, GET /v1/models and POST /v1/chat/completions. capabilities.thinking is false because this entry sends no thinking request parameter; https://docs.poolside.ai/api/openai-api-examples.md documents setting chat_template_kwargs.enable_thinking to false to turn thinking off for a request. quirks.replayReasoningContent is set because https://docs.poolside.ai/api/openai-api-examples.md says \"For agentic workflows with Poolside models, preserve reasoning_content from assistant responses when you include those responses in follow-up requests.\" and \"Dropping previous reasoning content can prevent the model from reasoning in later steps.\"; no multi-turn request was sent. models.defaultContextWindow (128000) is a placeholder, not a vendor figure; it applies to poolside/laguna-s-2.1 because the catalog entry sets no contextWindow for it. models.defaultMaxOutputTokens (32768) equals the max_tokens default in the Control generation table on https://docs.poolside.ai/api/openai-api-examples.md; it is not a per-model limit. The model's status field holds production, a placeholder for a value the catalog schema requires; it is not a vendor statement. billingPolicy holds free-tier, one of the three values the catalog schema allows (free-tier, free-with-card, no-free-tier). Vendor wording, from https://docs.poolside.ai/get-started/log-in.md: the Poolside Platform option is for \"free developer access\", and \"The API key created through Poolside Platform is for Poolside-hosted inference.\" apiKeyFormat is null, so NeuroLink's key-format check is not applied." }, "evidence": { "rosterVerified": { "date": "2026-09-29", "status": 401, "method": "docs-only — unauthenticated GET https://inference.poolside.ai/v1/models answers 401 without a key, so model ids are taken from https://docs.poolside.ai/api/overview.md (retrieved 2026-09-29); roster not verified" }, "authProbe": { "date": "2026-09-29", "status": 401, "method": "unauthenticated GET https://inference.poolside.ai/v1/models with no credentials — HTTP 401, content-type text/plain; charset=utf-8, plain-text body \"No Authorization header provided\"; the body is not JSON and has no code field, so no code is recorded; the same day an unauthenticated GET https://inference.poolside.ai/v1/chat/completions answered HTTP 405 with an empty body; credential-free, no key used, no POST request sent" }, "billingProbe": { "date": "2026-09-29", "method": "public page https://docs.poolside.ai/get-started/log-in.md (the Poolside Platform login option described as \"free developer access\"; \"The API key created through Poolside Platform is for Poolside-hosted inference.\"); https://platform.poolside.ai/ opened and shows the title Poolside Platform; credential-free, no signup performed" }, "liveMatrix": null, "addedInPR": "https://github.com/juspay/neurolink/pull/1862" } }