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

135 lines (134 loc) • 5.72 kB
/** * zod validator for the single-JSON provider catalog authoring format. * Mirrors src/lib/types/providerCatalog.ts field-for-field with * z.strictObject (unknown keys are authoring mistakes) plus the * cross-field refinements the plain types cannot express. See * docs/superpowers/plans/2026-08-28-provider-json-catalog-spec.md. * * provider-catalog.schema.json is a hand-kept JSON Schema mirror for * editor validation only — this file is the authoritative validator. */ import { z } from "zod"; import type { ProviderCatalogJson } from "../../types/index.js"; export declare const providerCatalogJsonSchema: z.ZodObject<{ $schema: z.ZodOptional<z.ZodString>; id: z.ZodString; displayName: z.ZodString; enumTypeName: z.ZodOptional<z.ZodString>; credentialsKey: z.ZodOptional<z.ZodString>; aliases: z.ZodArray<z.ZodString>; tier: z.ZodLiteral<2>; wire: z.ZodObject<{ baseURL: z.ZodOptional<z.ZodString>; baseURLTemplate: z.ZodOptional<z.ZodString>; extraCredentials: z.ZodOptional<z.ZodArray<z.ZodString>>; missingCredentialMessage: z.ZodOptional<z.ZodString>; apiKeyFallbackEnvVars: z.ZodOptional<z.ZodArray<z.ZodString>>; envOverrides: z.ZodOptional<z.ZodObject<{ apiKey: z.ZodOptional<z.ZodString>; baseURL: z.ZodOptional<z.ZodString>; model: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; }, z.core.$strict>; models: z.ZodObject<{ default: z.ZodString; fallbacks: z.ZodArray<z.ZodString>; fallbackModelName: z.ZodOptional<z.ZodString>; registryDefaultModel: z.ZodOptional<z.ZodString>; defaultContextWindow: z.ZodNumber; defaultMaxOutputTokens: z.ZodNumber; catalog: z.ZodRecord<z.ZodString, z.ZodObject<{ contextWindow: z.ZodOptional<z.ZodNumber>; maxOutputTokens: z.ZodOptional<z.ZodNumber>; pricingPerMTok: z.ZodOptional<z.ZodObject<{ input: z.ZodNumber; output: z.ZodNumber; cachedInput: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; vision: z.ZodBoolean; status: z.ZodEnum<{ production: "production"; preview: "preview"; retired: "retired"; }>; description: z.ZodString; enumMember: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; topModels: z.ZodOptional<z.ZodArray<z.ZodString>>; visionModel: z.ZodOptional<z.ZodString>; testModel: z.ZodOptional<z.ZodString>; }, z.core.$strict>; capabilities: z.ZodObject<{ text: z.ZodBoolean; streaming: z.ZodBoolean; tools: z.ZodUnion<readonly [z.ZodBoolean, z.ZodLiteral<"model-dependent">]>; toolsWithStreaming: z.ZodBoolean; structuredOutput: z.ZodBoolean; structuredOutputWithTools: z.ZodBoolean; embeddings: z.ZodBoolean; thinking: z.ZodBoolean; }, z.core.$strict>; errorRules: z.ZodArray<z.ZodObject<{ status: z.ZodOptional<z.ZodNumber>; pattern: z.ZodOptional<z.ZodString>; patternStatuses: z.ZodOptional<z.ZodArray<z.ZodNumber>>; class: z.ZodEnum<{ network: "network"; provider: "provider"; authentication: "authentication"; "invalid-model": "invalid-model"; "rate-limit": "rate-limit"; }>; message: z.ZodString; }, z.core.$strict>>; quirks: z.ZodOptional<z.ZodObject<{ timeoutErrorClass: z.ZodOptional<z.ZodLiteral<"provider">>; messageContentFormat: z.ZodOptional<z.ZodLiteral<"string">>; registryDefaultIgnoresModelEnvVar: z.ZodOptional<z.ZodBoolean>; responseFormatDowngrade: z.ZodOptional<z.ZodLiteral<"json-schema-to-json-object">>; replayReasoningContent: z.ZodOptional<z.ZodBoolean>; authHeaderStyle: z.ZodOptional<z.ZodLiteral<"x-api-key">>; }, z.core.$strict>>; timeouts: z.ZodOptional<z.ZodObject<{ generateMs: z.ZodOptional<z.ZodNumber>; streamMs: z.ZodOptional<z.ZodNumber>; }, z.core.$strict>>; autoSelectPriority: z.ZodOptional<z.ZodNumber>; setup: z.ZodObject<{ url: z.ZodString; apiKeyFormat: z.ZodNullable<z.ZodString>; billingPolicy: z.ZodEnum<{ "no-free-tier": "no-free-tier"; "free-tier": "free-tier"; "free-with-card": "free-with-card"; }>; instructions: z.ZodArray<z.ZodString>; description: z.ZodOptional<z.ZodString>; }, z.core.$strict>; evidence: z.ZodObject<{ rosterVerified: z.ZodObject<{ date: z.ZodString; status: z.ZodOptional<z.ZodNumber>; code: z.ZodOptional<z.ZodString>; method: z.ZodOptional<z.ZodString>; }, z.core.$strict>; authProbe: z.ZodOptional<z.ZodObject<{ date: z.ZodString; status: z.ZodOptional<z.ZodNumber>; code: z.ZodOptional<z.ZodString>; method: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; billingProbe: z.ZodOptional<z.ZodObject<{ date: z.ZodString; status: z.ZodOptional<z.ZodNumber>; code: z.ZodOptional<z.ZodString>; method: z.ZodOptional<z.ZodString>; }, z.core.$strict>>; liveMatrix: z.ZodNullable<z.ZodObject<{ date: z.ZodString; result: z.ZodString; }, z.core.$strict>>; addedInPR: z.ZodString; }, z.core.$strict>; }, z.core.$strict>; export declare function parseProviderCatalogJson(raw: unknown, sourcePath: string): ProviderCatalogJson;