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

49 lines (48 loc) • 2.33 kB
import { AIProviderName } from "../constants/enums.js"; import type { NeurolinkCredentials, ProviderDescriptor } from "../types/index.js"; /** * Single source of truth for provider identity, credentials, defaults, and * runtime behavior classification — the hand-maintained providers plus the * JSON-catalog providers derived above. */ export declare const PROVIDER_DESCRIPTORS: readonly ProviderDescriptor[]; /** O(1) canonical-name → descriptor lookup. */ export declare const PROVIDER_DESCRIPTORS_BY_NAME: ReadonlyMap<AIProviderName, ProviderDescriptor>; /** * O(1) alias → canonical-name lookup, covering both `aliases` and each * descriptor's own lowercased `name`. Replaces the O(n) linear scan in * ProviderFactory.normalizeProviderName(). */ export declare const PROVIDER_ALIAS_INDEX: ReadonlyMap<string, AIProviderName>; /** * Providers that serve the `decide` inference type, derived from each * descriptor's `inferenceKinds`. A provider that declares nothing is a text * provider, so it is not here. */ export declare const DECISION_PROVIDERS: readonly ProviderDescriptor[]; /** * The decision provider to use when a caller names none: the first * DECISION_PROVIDERS entry that is fully configured, from the environment or * from `credentials`. * * This is where "if somebody configures it, we start using it" is * implemented. Returns undefined when none is configured, which every * internal consumer treats as "carry on exactly as before". */ export declare function resolveDefaultDecisionProvider(credentials?: NeurolinkCredentials): string | undefined; /** * Names of the decision providers that accept images, or, with `video`, the * ones that accept video too: a hint that names a provider which would refuse * the same request is worse than none. */ export declare function listMediaDecisionProviders(needs?: { video?: boolean; }): string[]; /** * The variables that would configure each decision provider, one clause per * provider in precedence order, e.g. "TYPESAFE_API_KEY or AI_GATEWAY_API_KEY * for typesafe, or LAYA_API_KEY and LAYA_BASE_URL for laya". Derived from * DECISION_PROVIDERS so a new decision provider appears in every "nothing is * configured" message without anyone editing one. */ export declare function describeDecisionProviderKeys(): string;