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

75 lines (74 loc) • 2.41 kB
/** Operator-configured proxy token caps. All caps are optional and disabled by default. */ export type ProxyTokenBudgetPolicy = { /** Per-provider/account estimated outstanding input plus maximum output. */ maxInFlightTokens?: number; /** Charged tokens in the account's fixed window, including outstanding reservations. */ accountWindowTokens?: number; /** Charged tokens across providers/accounts sharing the same client session. */ sessionWindowTokens?: number; windowMs?: number; }; export type ProxyTokenBudgetReservation = { provider: string; accountKey: string; sessionKey: string; requestId: string; reservationTokens: number; policy?: ProxyTokenBudgetPolicy; estimateProvenance?: string; }; export type ProxyTokenBudgetSnapshot = { scope: "disabled" | "process" | "supervisor"; reservationTokens: number; accountChargedTokens: number; accountInFlightTokens: number; sessionChargedTokens: number; sessionInFlightTokens: number; windowMs: number; estimateProvenance: string; settlement?: "provider_reported" | "estimate_retained" | "cancelled_before_dispatch" | "unconfirmed"; }; export type ProxyTokenBudgetLease = { leaseId: string; snapshot: ProxyTokenBudgetSnapshot; settle: (actualTotalTokens?: number) => Promise<void>; cancelBeforeDispatch: () => Promise<void>; }; export type ProxyTokenBudgetBucket = { chargedTokens: number; inFlightTokens: number; startedAt: number; windowMs: number; lastTouched: number; }; export type ProxyTokenBudgetRecord = { owner: string; accountKey: string; sessionKey: string; estimate: number; snapshot: ProxyTokenBudgetSnapshot; }; export type ProxyTokenBudgetRpcRequest = { type: "proxy-budget:request"; rpcId: string; pid: number; generation: number; action: "reserve" | "settle" | "cancel"; reservation?: ProxyTokenBudgetReservation; leaseId?: string; actualTotalTokens?: number; }; export type ProxyTokenBudgetRpcResponse = { type: "proxy-budget:response"; rpcId: string; ok: boolean; leaseId?: string; snapshot?: ProxyTokenBudgetSnapshot; errorCode?: string; error?: string; }; export type ProxyTokenBudgetRpcPending = { resolve: (result: ProxyTokenBudgetRpcResponse) => void; reject: (error: Error) => void; timer: NodeJS.Timeout; };