@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
41 lines (40 loc) • 2.42 kB
TypeScript
import type { ProxyTokenBudgetLease, ProxyTokenBudgetPolicy, ProxyTokenBudgetReservation, ProxyTokenBudgetRpcResponse, ProxyTokenBudgetSnapshot } from "../types/index.js";
/** Shared private session scope across every protocol and provider fallback. */
export declare function getProxyTokenBudgetSessionKey(headers: Pick<Headers, "get">): string;
/** Local admission failures must not be hidden by automatic provider fallback. */
export declare function getProxyTokenBudgetError(error: unknown): {
code: string;
status: 400 | 429 | 503;
retryable: false;
message: string;
} | null;
/** Invalid configured limits fail closed instead of silently disabling protection. */
export declare function parseProxyTokenBudgetPolicy(value: unknown): ProxyTokenBudgetPolicy;
export declare function getProxyTokenBudgetPolicy(): ProxyTokenBudgetPolicy | undefined;
/** One atomic coordinator per supervisor; requests never write budget state to disk. */
export declare class ProxyTokenBudgetCoordinator {
private readonly scope;
private readonly now;
private readonly maxKeys;
private readonly maxLeases;
private readonly buckets;
private readonly leases;
constructor(scope?: "process" | "supervisor", now?: () => number, maxKeys?: number, maxLeases?: number);
private bucket;
reserve(input: ProxyTokenBudgetReservation, owner?: string): {
leaseId: string;
snapshot: ProxyTokenBudgetSnapshot;
};
settle(leaseId: string, owner: string, actualTotalTokens?: number, cancelled?: boolean): ProxyTokenBudgetSnapshot | undefined;
ownerExited(owner: string): void;
}
/** Parent-side IPC hook is shared by every active and draining generation. */
export declare function handleProxyTokenBudgetMessage(value: unknown, owner: {
pid: number;
generation: number;
}, reply: (response: ProxyTokenBudgetRpcResponse) => void): boolean;
export declare function releaseProxyTokenBudgetOwner(pid: number, generation: number): void;
/** Reserve before each upstream attempt; unknown provider usage retains its estimate. */
export declare function reserveProxyTokenBudget(input: ProxyTokenBudgetReservation): Promise<ProxyTokenBudgetLease>;
/** Accounting acknowledgement loss must not turn delivered provider success into a stream failure. */
export declare function settleProxyTokenBudget(lease: ProxyTokenBudgetLease, actualTotalTokens?: number): Promise<void>;