@happyvertical/ai 0.102.0 → 0.102.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENT.md +1 -1
- package/README.md +123 -2
- package/dist/chunks/{anthropic-6ZDF32jo.js → anthropic-CxOrttgj.js} +3 -4
- package/dist/chunks/{anthropic-6ZDF32jo.js.map → anthropic-CxOrttgj.js.map} +1 -1
- package/dist/chunks/{bedrock-BQi3Z9jR.js → bedrock-B0cNEXFa.js} +3 -4
- package/dist/chunks/{bedrock-BQi3Z9jR.js.map → bedrock-B0cNEXFa.js.map} +1 -1
- package/dist/chunks/{bifrost-DsI2I4ka.js → bifrost-CyO3-hBv.js} +4 -4
- package/dist/chunks/{bifrost-DsI2I4ka.js.map → bifrost-CyO3-hBv.js.map} +1 -1
- package/dist/chunks/{byteplus-modelark-Dq8AgCQD.js → byteplus-modelark-DZ0YL2vl.js} +3 -4
- package/dist/chunks/{byteplus-modelark-Dq8AgCQD.js.map → byteplus-modelark-DZ0YL2vl.js.map} +1 -1
- package/dist/chunks/{claude-cli-DIFxvG3c.js → claude-cli-CtBp-Uk-.js} +3 -4
- package/dist/chunks/{claude-cli-DIFxvG3c.js.map → claude-cli-CtBp-Uk-.js.map} +1 -1
- package/dist/chunks/{continuation-D0NisZA1.js → continuation-7o7400bp.js} +3 -3
- package/dist/chunks/continuation-7o7400bp.js.map +1 -0
- package/dist/chunks/{gateway-audio-models-Dn7Wrc6P.js → gateway-audio-models-BSZGgjd8.js} +2 -2
- package/dist/chunks/{gateway-audio-models-Dn7Wrc6P.js.map → gateway-audio-models-BSZGgjd8.js.map} +1 -1
- package/dist/chunks/{gemini-BLFwWN90.js → gemini-DUk4ssth.js} +3 -4
- package/dist/chunks/{gemini-BLFwWN90.js.map → gemini-DUk4ssth.js.map} +1 -1
- package/dist/chunks/{huggingface-BuRwlABZ.js → huggingface-C41BZOoI.js} +3 -4
- package/dist/chunks/{huggingface-BuRwlABZ.js.map → huggingface-C41BZOoI.js.map} +1 -1
- package/dist/chunks/{litellm-CpfCT6jN.js → litellm-BLR5cs8B.js} +4 -4
- package/dist/chunks/{litellm-CpfCT6jN.js.map → litellm-BLR5cs8B.js.map} +1 -1
- package/dist/chunks/{ollama-CnrskTUg.js → ollama--y88p8Bz.js} +4 -5
- package/dist/chunks/{ollama-CnrskTUg.js.map → ollama--y88p8Bz.js.map} +1 -1
- package/dist/chunks/{openai-compat-video-CJIDdkUO.js → openai-compat-video-erarPEz-.js} +3 -4
- package/dist/chunks/{openai-compat-video-CJIDdkUO.js.map → openai-compat-video-erarPEz-.js.map} +1 -1
- package/dist/chunks/{qwen-tts-PzEkWcEb.js → qwen-tts-C9w7teY6.js} +2 -2
- package/dist/chunks/{qwen-tts-PzEkWcEb.js.map → qwen-tts-C9w7teY6.js.map} +1 -1
- package/dist/chunks/{rate-limit-BzWfHA0e.js → rate-limit-Bln_w0rH.js} +3 -280
- package/dist/chunks/rate-limit-Bln_w0rH.js.map +1 -0
- package/dist/chunks/rolldown-runtime-D7D4PA-g.js +13 -0
- package/dist/chunks/{seevio-D2y5Io7C.js → seevio-CosohVa0.js} +3 -4
- package/dist/chunks/{seevio-D2y5Io7C.js.map → seevio-CosohVa0.js.map} +1 -1
- package/dist/chunks/{src-CLT6r1W0.js → src-DDEz_uOe.js} +25 -30
- package/dist/chunks/{src-CLT6r1W0.js.map → src-DDEz_uOe.js.map} +1 -1
- package/dist/chunks/{typesafe-CVUqQ8N1.js → typesafe-BNM-QAJ2.js} +3 -4
- package/dist/chunks/{typesafe-CVUqQ8N1.js.map → typesafe-BNM-QAJ2.js.map} +1 -1
- package/dist/chunks/usage-BaQKo8bc.js +484 -0
- package/dist/chunks/usage-BaQKo8bc.js.map +1 -0
- package/dist/chunks/webllm-CWgY5nnP.js +584 -0
- package/dist/chunks/webllm-CWgY5nnP.js.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/local.d.ts +33 -0
- package/dist/local.d.ts.map +1 -0
- package/dist/local.js +3 -0
- package/dist/node/factory.d.ts +6 -2
- package/dist/node/factory.d.ts.map +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +4 -5
- package/dist/node.js.map +1 -1
- package/dist/shared/client.d.ts +3 -3
- package/dist/shared/client.d.ts.map +1 -1
- package/dist/shared/continuation.d.ts +2 -2
- package/dist/shared/continuation.d.ts.map +1 -1
- package/dist/shared/factory.d.ts +6 -2
- package/dist/shared/factory.d.ts.map +1 -1
- package/dist/shared/message.d.ts +1 -1
- package/dist/shared/message.d.ts.map +1 -1
- package/dist/shared/providers/anthropic.d.ts +8 -1
- package/dist/shared/providers/anthropic.d.ts.map +1 -1
- package/dist/shared/providers/bedrock.d.ts +4 -1
- package/dist/shared/providers/bedrock.d.ts.map +1 -1
- package/dist/shared/providers/bifrost.d.ts +3 -3
- package/dist/shared/providers/bifrost.d.ts.map +1 -1
- package/dist/shared/providers/byteplus-modelark.d.ts +24 -1
- package/dist/shared/providers/byteplus-modelark.d.ts.map +1 -1
- package/dist/shared/providers/claude-cli.d.ts +14 -1
- package/dist/shared/providers/claude-cli.d.ts.map +1 -1
- package/dist/shared/providers/gateway-admin.d.ts +1 -1
- package/dist/shared/providers/gateway-admin.d.ts.map +1 -1
- package/dist/shared/providers/gemini.d.ts +4 -1
- package/dist/shared/providers/gemini.d.ts.map +1 -1
- package/dist/shared/providers/huggingface.d.ts +4 -1
- package/dist/shared/providers/huggingface.d.ts.map +1 -1
- package/dist/shared/providers/litellm.d.ts +3 -3
- package/dist/shared/providers/litellm.d.ts.map +1 -1
- package/dist/shared/providers/ollama.d.ts +8 -1
- package/dist/shared/providers/ollama.d.ts.map +1 -1
- package/dist/shared/providers/openai-compat-video.d.ts +23 -1
- package/dist/shared/providers/openai-compat-video.d.ts.map +1 -1
- package/dist/shared/providers/openai.d.ts +9 -1
- package/dist/shared/providers/openai.d.ts.map +1 -1
- package/dist/shared/providers/qwen-tts.d.ts +12 -1
- package/dist/shared/providers/qwen-tts.d.ts.map +1 -1
- package/dist/shared/providers/seevio.d.ts +10 -1
- package/dist/shared/providers/seevio.d.ts.map +1 -1
- package/dist/shared/providers/typesafe.d.ts +7 -1
- package/dist/shared/providers/typesafe.d.ts.map +1 -1
- package/dist/shared/providers/usage.d.ts +7 -1
- package/dist/shared/providers/usage.d.ts.map +1 -1
- package/dist/shared/providers/webllm-shim.d.ts +9 -0
- package/dist/shared/providers/webllm-shim.d.ts.map +1 -0
- package/dist/shared/providers/webllm.d.ts +115 -0
- package/dist/shared/providers/webllm.d.ts.map +1 -0
- package/dist/shared/rate-limit.d.ts +3 -2
- package/dist/shared/rate-limit.d.ts.map +1 -1
- package/dist/shared/safety.d.ts +1 -1
- package/dist/shared/safety.d.ts.map +1 -1
- package/dist/shared/thread.d.ts +3 -3
- package/dist/shared/thread.d.ts.map +1 -1
- package/dist/shared/tool-messages.d.ts +11 -1
- package/dist/shared/tool-messages.d.ts.map +1 -1
- package/dist/shared/types.d.ts +73 -2
- package/dist/shared/types.d.ts.map +1 -1
- package/metadata.json +1 -0
- package/package.json +15 -2
- package/dist/chunks/continuation-D0NisZA1.js.map +0 -1
- package/dist/chunks/rate-limit-BzWfHA0e.js.map +0 -1
- package/dist/chunks/types-DB5W6_F-.js +0 -153
- package/dist/chunks/types-DB5W6_F-.js.map +0 -1
- package/dist/chunks/usage-C1Y1Nlg4.js +0 -35
- package/dist/chunks/usage-C1Y1Nlg4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
|
package/metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/ai",
|
|
3
|
-
"version": "0.102.
|
|
3
|
+
"version": "0.102.2",
|
|
4
4
|
"description": "Standardized AI interface supporting chat, embeddings, media, and TypeSafe/Jev typed decisions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"./node": {
|
|
14
14
|
"import": "./dist/node.js",
|
|
15
15
|
"types": "./dist/node.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./local": {
|
|
18
|
+
"import": "./dist/local.js",
|
|
19
|
+
"types": "./dist/local.d.ts"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"bin": {
|
|
@@ -43,16 +47,25 @@
|
|
|
43
47
|
"@anthropic-ai/sdk": "0.90.0",
|
|
44
48
|
"@aws-sdk/client-bedrock-runtime": "3.1034.0",
|
|
45
49
|
"@google/genai": "1.50.1",
|
|
46
|
-
"@happyvertical/utils": "0.102.
|
|
50
|
+
"@happyvertical/utils": "0.102.2",
|
|
47
51
|
"openai": "6.34.0"
|
|
48
52
|
},
|
|
49
53
|
"devDependencies": {
|
|
54
|
+
"@mlc-ai/web-llm": "^0.2.85",
|
|
50
55
|
"@types/node": "25.0.10",
|
|
51
56
|
"typescript": "5.9.3",
|
|
52
57
|
"vite": "8.1.4",
|
|
53
58
|
"vite-plugin-dts": "4.5.4",
|
|
54
59
|
"vitest": "4.1.10"
|
|
55
60
|
},
|
|
61
|
+
"peerDependencies": {
|
|
62
|
+
"@mlc-ai/web-llm": ">=0.2.80"
|
|
63
|
+
},
|
|
64
|
+
"peerDependenciesMeta": {
|
|
65
|
+
"@mlc-ai/web-llm": {
|
|
66
|
+
"optional": true
|
|
67
|
+
}
|
|
68
|
+
},
|
|
56
69
|
"scripts": {
|
|
57
70
|
"test": "vitest --config ../../vitest.package.config.ts run",
|
|
58
71
|
"test:watch": "vitest --config ../../vitest.package.config.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"continuation-D0NisZA1.js","names":[],"sources":["../../src/shared/continuation.ts"],"sourcesContent":["import type {\n AIFinishReason,\n AIInterface,\n AIMessage,\n AIResponse,\n BaseAIOptions,\n ChatOptions,\n ContinueOnLengthOption,\n TokenUsage,\n} from './types';\nimport { AIError } from './types';\n\n/** Default number of extra requests allowed after the first one. */\nexport const DEFAULT_MAX_CONTINUATIONS = 3;\n\n/** Shortest seam overlap (in characters) that is trimmed as a repeat. */\nconst MIN_OVERLAP = 12;\n/** Longest seam overlap (in characters) that is searched for. */\nconst MAX_OVERLAP = 400;\n\nexport const CONTINUE_PROMPT =\n 'Continue exactly where you stopped. Do not repeat anything you already wrote and do not add an introduction.';\n\ninterface ResolvedContinuation {\n maxContinuations: number;\n}\n\n/**\n * Resolve the per-call option over the client default. Returns undefined when\n * continuation is off. Structured output and tool use never continue because\n * stitching two JSON documents or tool-call turns is not safe.\n */\nexport function resolveContinuation(\n providerOptions: BaseAIOptions,\n options: Pick<ChatOptions, 'tools' | 'responseFormat'> & {\n continueOnLength?: ContinueOnLengthOption;\n },\n): ResolvedContinuation | undefined {\n const setting = options.continueOnLength ?? providerOptions.continueOnLength;\n if (!setting) return undefined;\n if (options.tools?.length || options.responseFormat?.type === 'json_object') {\n return undefined;\n }\n const requested =\n typeof setting === 'object'\n ? (setting.maxContinuations ?? DEFAULT_MAX_CONTINUATIONS)\n : DEFAULT_MAX_CONTINUATIONS;\n if (!Number.isFinite(requested) || requested < 0) {\n throw new AIError(\n 'continueOnLength.maxContinuations must be a non-negative finite number',\n 'AI_LIMIT_INVALID',\n );\n }\n const maxContinuations = Math.trunc(requested);\n return maxContinuations > 0 ? { maxContinuations } : undefined;\n}\n\n/**\n * Continuation replies usually start without a leading space. When the text\n * so far ends a sentence and the addition starts a new one, add the space the\n * model dropped at the seam (\"over.\" + \"Next\" -> \"over. Next\"). Only a capital\n * letter or an opening quote/bracket counts as a new sentence, so a word or\n * number split across parts (\"exam\" + \"ple\", \"1.\" + \"5\") is left joined.\n */\nfunction spaceSeam(accumulated: string, addition: string): string {\n if (!addition || /\\s$/.test(accumulated) || /^\\s/.test(addition)) {\n return addition;\n }\n return /[.!?:;][\"')\\]\\u201d\\u2019]?$/.test(accumulated) &&\n /^[\\p{Lu}\"'([\\u201c\\u2018]/u.test(addition)\n ? ` ${addition}`\n : addition;\n}\n\n/**\n * The text to append after `accumulated`: `next` minus any leading run that\n * repeats the end of `accumulated`. Whitespace already emitted is kept, and a\n * dropped space between sentences is restored.\n */\nexport function continuationAddition(\n accumulated: string,\n next: string,\n): string {\n const tail = accumulated.trimEnd();\n const head = next.trimStart();\n const max = Math.min(tail.length, head.length, MAX_OVERLAP);\n for (let length = max; length >= MIN_OVERLAP; length--) {\n if (tail.endsWith(head.slice(0, length))) {\n return spaceSeam(accumulated, head.slice(length));\n }\n }\n return spaceSeam(accumulated, next);\n}\n\nfunction continuationMessages(\n messages: AIMessage[],\n accumulated: string,\n): AIMessage[] {\n return [\n ...messages,\n // Some providers reject an assistant turn that ends in whitespace.\n { role: 'assistant', content: accumulated.trimEnd() },\n { role: 'user', content: CONTINUE_PROMPT },\n ];\n}\n\n/** Do not start another (billed) part once the caller has aborted. */\nfunction throwIfAborted(signal: AbortSignal | undefined): void {\n if (signal?.aborted) {\n throw new AIError('AI request aborted by caller', 'AI_ABORTED');\n }\n}\n\nfunction addUsage(\n a: TokenUsage | undefined,\n b: TokenUsage | undefined,\n): TokenUsage | undefined {\n if (!a) return b;\n if (!b) return a;\n return {\n promptTokens: a.promptTokens + b.promptTokens,\n completionTokens: a.completionTokens + b.completionTokens,\n totalTokens: a.totalTokens + b.totalTokens,\n };\n}\n\n/**\n * Run a chat call and, when the reply stopped on the output limit, keep asking\n * the model to continue and stitch the pieces together.\n */\nexport async function chatWithContinuation(\n chat: (messages: AIMessage[], options?: ChatOptions) => Promise<AIResponse>,\n providerOptions: BaseAIOptions,\n messages: AIMessage[],\n options: ChatOptions & { continueOnLength?: ContinueOnLengthOption } = {},\n): Promise<AIResponse> {\n const config = resolveContinuation(providerOptions, options);\n const first = await chat(messages, options);\n const hitLimit = (response: AIResponse) =>\n response.finishReason === 'length' && !response.toolCalls?.length;\n\n // A first part with no text (reasoning used the whole budget) has nothing to\n // continue from, and providers reject an empty assistant turn.\n if (!config || !hitLimit(first) || !first.content.trim()) {\n return first.finishReason === 'length'\n ? { ...first, truncated: true }\n : first;\n }\n\n // Parts after the first are deduplicated, so progress is reported once with\n // the stitched text instead of with each raw chunk.\n const { onProgress, ...partOptions } = options;\n let content = first.content;\n let usage = first.usage;\n let last = first;\n let parts = 1;\n\n while (parts <= config.maxContinuations && hitLimit(last)) {\n throwIfAborted(options.signal);\n const next = await chat(continuationMessages(messages, content), {\n ...partOptions,\n stream: false,\n });\n parts++;\n usage = addUsage(usage, next.usage);\n last = next;\n const addition = continuationAddition(content, next.content);\n if (!addition) break; // no new text: stop looping\n content += addition;\n if (onProgress) onProgress(addition);\n }\n\n return {\n ...last,\n content,\n usage,\n model: last.model ?? first.model,\n parts,\n truncated: hitLimit(last),\n };\n}\n\n/**\n * Stream a reply across continuations as one continuous stream. A continuation\n * part's first characters are held back briefly so a repeated seam can be\n * trimmed before it reaches the consumer.\n */\nexport async function* streamWithContinuation(\n stream: (\n messages: AIMessage[],\n options?: ChatOptions,\n ) => AsyncIterable<string>,\n providerOptions: BaseAIOptions,\n messages: AIMessage[],\n options: ChatOptions & { continueOnLength?: ContinueOnLengthOption } = {},\n): AsyncIterable<string> {\n const config = resolveContinuation(providerOptions, options);\n if (!config) {\n yield* stream(messages, options);\n return;\n }\n\n const { onProgress, onFinishReason, ...rest } = options;\n let accumulated = '';\n // Reported once, for the last part: an earlier part's 'length' is not the\n // reply's finish reason.\n let reason: AIFinishReason = 'stop';\n for (let part = 0; part <= config.maxContinuations; part++) {\n const finish: { reason?: AIFinishReason } = {};\n const partOptions: ChatOptions = {\n ...rest,\n onFinishReason: (value) => {\n finish.reason = value;\n },\n };\n if (part > 0) throwIfAborted(options.signal);\n const source = stream(\n part === 0 ? messages : continuationMessages(messages, accumulated),\n partOptions,\n );\n let pending = '';\n let seam = part > 0;\n const emit = (text: string) => {\n if (!text) return null;\n accumulated += text;\n onProgress?.(text);\n return text;\n };\n for await (const chunk of source) {\n if (!seam) {\n const out = emit(chunk);\n if (out) yield out;\n continue;\n }\n pending += chunk;\n if (pending.length >= MAX_OVERLAP + MIN_OVERLAP) {\n seam = false;\n const out = emit(continuationAddition(accumulated, pending));\n if (out) yield out;\n pending = '';\n }\n }\n if (seam && pending) {\n const out = emit(continuationAddition(accumulated, pending));\n if (out) yield out;\n }\n reason = finish.reason ?? 'stop';\n // Stop unless the part hit the limit and there is text to continue from\n // (see chatWithContinuation).\n if (reason !== 'length' || !accumulated.trim()) break;\n }\n onFinishReason?.(reason);\n}\n\n/**\n * Wrap a provider so chat, complete, message and stream continue replies that\n * stop on the output limit. Continuation is off unless the call (or the\n * client's `continueOnLength` option) enables it.\n *\n * `client` is what each request goes through, normally the rate-limited\n * provider, so every continuation part is paced and retried on its own and a\n * rate-limit retry on part N never re-requests parts 1..N-1. `adapter` is the\n * unwrapped provider: a continued `complete`/`message` runs the adapter's own\n * method against this proxy so its internal `this.chat` reaches the continuing\n * (and per-part paced) chat instead of being paced as one opaque call.\n */\nexport function createContinuingAI<T extends AIInterface>(\n client: T,\n providerOptions: BaseAIOptions,\n adapter: AIInterface = client,\n): T {\n const wrapped = new Map<PropertyKey, unknown>();\n const proxy: T = new Proxy(client, {\n get(target, property) {\n const value = Reflect.get(target, property, target);\n if (typeof value !== 'function') return value;\n if (!wrapped.has(property)) {\n let fn: unknown;\n switch (property) {\n case 'chat':\n fn = (messages: AIMessage[], options?: ChatOptions) =>\n chatWithContinuation(\n (m, o) => value.call(target, m, o),\n providerOptions,\n messages,\n options,\n );\n break;\n case 'stream':\n fn = (messages: AIMessage[], options?: ChatOptions) =>\n streamWithContinuation(\n (m, o) => value.call(target, m, o),\n providerOptions,\n messages,\n options,\n );\n break;\n case 'complete':\n case 'message':\n fn = (...args: unknown[]) => {\n const options = (args[1] ?? {}) as Parameters<\n typeof resolveContinuation\n >[1];\n if (!resolveContinuation(providerOptions, options)) {\n return value.apply(target, args);\n }\n // Adapters implement these through this.chat, so run the\n // adapter's method against the proxy to reach the continuing\n // chat().\n const own = Reflect.get(adapter, property, adapter) as (\n ...a: unknown[]\n ) => unknown;\n return own.apply(proxy, args);\n };\n break;\n default:\n fn = value.bind(target);\n }\n wrapped.set(property, fn);\n }\n return wrapped.get(property);\n },\n });\n return proxy;\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limit-BzWfHA0e.js","names":[],"sources":["../../src/shared/safety.ts","../../src/shared/rate-limit.ts"],"sourcesContent":["import type {\n AIGenerationLimits,\n AIInterface,\n AIReasoningOptions,\n AIRequestControls,\n AIRequestEvent,\n AIRequestOperation,\n AIRequestStatus,\n BaseAIOptions,\n ChatOptions,\n ImageGenerationOptions,\n} from './types';\nimport { AIError } from './types';\n\nexport const DEFAULT_AI_TIMEOUT_MS = 120_000;\nexport const DEFAULT_AI_MAX_RETRIES = 0;\n\nexport const DEFAULT_AI_GENERATION_LIMITS: Readonly<AIGenerationLimits> =\n Object.freeze({\n // Hard ceiling: a deployment-set value is enforced; the default sits above\n // every current model's documented output limit so an explicit caller\n // request is only bounded by the model/provider.\n maxOutputTokens: 131_072,\n // Used only when the caller does not pass maxTokens (spend guardrail).\n defaultOutputTokens: 4096,\n maxReasoningTokens: 1024,\n maxImagesPerRequest: 1,\n onExceeded: 'error',\n });\n\nexport interface NormalizedBaseAIOptions extends BaseAIOptions {\n timeout: number;\n maxRetries: number;\n generationLimits: AIGenerationLimits;\n}\n\nexport interface PreparedRequestControls {\n signal: AbortSignal;\n timeout: number;\n cleanup(): void;\n didTimeout(): boolean;\n}\n\nfunction positiveInteger(\n value: number | undefined,\n fallback: number,\n field: string,\n): number {\n if (value === undefined) return fallback;\n if (!Number.isFinite(value) || value <= 0) {\n throw new AIError(\n `${field} must be a positive finite number`,\n 'AI_LIMIT_INVALID',\n );\n }\n return Math.trunc(value);\n}\n\nexport function normalizeBaseAIOptions<T extends BaseAIOptions>(\n options: T,\n): T & NormalizedBaseAIOptions {\n const configuredLimits = options.generationLimits || {};\n const generationLimits: AIGenerationLimits = {\n maxOutputTokens: positiveInteger(\n configuredLimits.maxOutputTokens,\n DEFAULT_AI_GENERATION_LIMITS.maxOutputTokens,\n 'generationLimits.maxOutputTokens',\n ),\n defaultOutputTokens: Math.min(\n positiveInteger(\n configuredLimits.defaultOutputTokens,\n DEFAULT_AI_GENERATION_LIMITS.defaultOutputTokens as number,\n 'generationLimits.defaultOutputTokens',\n ),\n positiveInteger(\n configuredLimits.maxOutputTokens,\n DEFAULT_AI_GENERATION_LIMITS.maxOutputTokens,\n 'generationLimits.maxOutputTokens',\n ),\n ),\n maxReasoningTokens: positiveInteger(\n configuredLimits.maxReasoningTokens,\n DEFAULT_AI_GENERATION_LIMITS.maxReasoningTokens,\n 'generationLimits.maxReasoningTokens',\n ),\n maxImagesPerRequest: positiveInteger(\n configuredLimits.maxImagesPerRequest,\n DEFAULT_AI_GENERATION_LIMITS.maxImagesPerRequest,\n 'generationLimits.maxImagesPerRequest',\n ),\n onExceeded:\n configuredLimits.onExceeded || DEFAULT_AI_GENERATION_LIMITS.onExceeded,\n };\n\n if (!['error', 'clamp'].includes(generationLimits.onExceeded)) {\n throw new AIError(\n 'generationLimits.onExceeded must be \"error\" or \"clamp\"',\n 'AI_LIMIT_INVALID',\n );\n }\n\n return {\n ...options,\n timeout: positiveInteger(options.timeout, DEFAULT_AI_TIMEOUT_MS, 'timeout'),\n maxRetries: (() => {\n if (options.maxRetries === undefined) return DEFAULT_AI_MAX_RETRIES;\n if (!Number.isFinite(options.maxRetries) || options.maxRetries < 0) {\n throw new AIError(\n 'maxRetries must be a non-negative finite number',\n 'AI_LIMIT_INVALID',\n );\n }\n return Math.trunc(options.maxRetries);\n })(),\n generationLimits,\n };\n}\n\nfunction reasoningTokensForEffort(\n effort: AIReasoningOptions['effort'] | false | undefined,\n): number | undefined {\n switch (effort) {\n case false:\n case 'none':\n return 0;\n case 'minimal':\n return 1024;\n case 'low':\n return 2048;\n case 'medium':\n return 4096;\n case 'high':\n return 8192;\n default:\n return undefined;\n }\n}\n\nfunction enforceLimit(\n requested: number,\n limit: number,\n behavior: AIGenerationLimits['onExceeded'],\n label: string,\n provider?: string,\n model?: string,\n): number {\n if (!Number.isFinite(requested) || requested < 0) {\n throw new AIError(\n `${label} must be a non-negative finite number`,\n 'AI_LIMIT_INVALID',\n provider,\n model,\n );\n }\n const normalized = Math.trunc(requested);\n if (normalized <= limit) return normalized;\n if (behavior === 'clamp') return limit;\n throw new AIError(\n `${label} ${normalized} exceeds configured ceiling ${limit}`,\n 'AI_LIMIT_EXCEEDED',\n provider,\n model,\n );\n}\n\nexport function normalizeChatOptions<\n T extends AIRequestControls & {\n maxTokens?: number;\n thinkingLevel?: ChatOptions['thinkingLevel'];\n includeThoughts?: boolean;\n },\n>(\n providerOptions: BaseAIOptions,\n options: T,\n provider?: string,\n model?: string,\n): T & { maxTokens: number; reasoning: AIReasoningOptions } {\n const normalizedProvider = normalizeBaseAIOptions(providerOptions);\n const limits = normalizedProvider.generationLimits;\n const requestedOutput =\n options.maxTokens ?? limits.defaultOutputTokens ?? limits.maxOutputTokens;\n const legacyEffort =\n options.thinkingLevel ??\n (\n providerOptions as BaseAIOptions & {\n thinkingLevel?: ChatOptions['thinkingLevel'];\n }\n ).thinkingLevel;\n const reasoningWasRequested =\n options.reasoning !== undefined ||\n legacyEffort !== undefined ||\n options.includeThoughts === true;\n const requestedReasoning = reasoningWasRequested\n ? (options.reasoning?.maxTokens ??\n reasoningTokensForEffort(options.reasoning?.effort ?? legacyEffort) ??\n limits.maxReasoningTokens)\n : 0;\n\n return {\n ...options,\n maxTokens: enforceLimit(\n requestedOutput,\n limits.maxOutputTokens,\n limits.onExceeded,\n 'maxTokens',\n provider,\n model,\n ),\n reasoning: {\n ...options.reasoning,\n maxTokens: enforceLimit(\n requestedReasoning,\n limits.maxReasoningTokens,\n limits.onExceeded,\n 'reasoning.maxTokens',\n provider,\n model,\n ),\n includeThoughts:\n options.reasoning?.includeThoughts ?? options.includeThoughts,\n },\n };\n}\n\nexport function normalizeImageGenerationOptions<\n T extends ImageGenerationOptions,\n>(\n providerOptions: BaseAIOptions,\n options: T,\n provider?: string,\n model?: string,\n): T & { n: number } {\n const normalizedProvider = normalizeBaseAIOptions(providerOptions);\n const limits = normalizedProvider.generationLimits;\n return {\n ...options,\n n: enforceLimit(\n options.n ?? 1,\n limits.maxImagesPerRequest,\n limits.onExceeded,\n 'n',\n provider,\n model,\n ),\n };\n}\n\nexport function prepareRequestControls(\n providerOptions: BaseAIOptions,\n requestOptions: AIRequestControls = {},\n): PreparedRequestControls {\n const normalized = normalizeBaseAIOptions(providerOptions);\n const timeout = positiveInteger(\n requestOptions.timeout,\n normalized.timeout,\n 'timeout',\n );\n const controller = new AbortController();\n let timedOut = false;\n\n const abortFromCaller = () => controller.abort(requestOptions.signal?.reason);\n if (requestOptions.signal?.aborted) {\n abortFromCaller();\n } else {\n requestOptions.signal?.addEventListener('abort', abortFromCaller, {\n once: true,\n });\n }\n\n const timer = setTimeout(() => {\n timedOut = true;\n controller.abort(new Error(`AI request timed out after ${timeout}ms`));\n }, timeout);\n\n return {\n signal: controller.signal,\n timeout,\n didTimeout: () => timedOut,\n cleanup: () => {\n clearTimeout(timer);\n requestOptions.signal?.removeEventListener('abort', abortFromCaller);\n },\n };\n}\n\nfunction mergeTags(\n providerOptions: BaseAIOptions,\n callTags?: Record<string, string>,\n): Record<string, string> | undefined {\n return providerOptions.usageTags || callTags\n ? { ...providerOptions.usageTags, ...callTags }\n : undefined;\n}\n\nexport function emitRequestEvent(\n providerOptions: BaseAIOptions,\n event: Omit<AIRequestEvent, 'tags'> & {\n tags?: Record<string, string>;\n },\n): void {\n if (!providerOptions.onRequest) return;\n try {\n providerOptions.onRequest({\n ...event,\n tags: mergeTags(providerOptions, event.tags),\n });\n } catch {\n // Consumer telemetry must never affect an AI request.\n }\n}\n\nexport function classifyRequestFailure(\n error: unknown,\n didTimeout = false,\n): { status: AIRequestStatus; errorCode?: string } {\n const code = error instanceof AIError ? error.code : undefined;\n if (code === 'AI_LIMIT_EXCEEDED' || code === 'AI_LIMIT_INVALID') {\n return { status: 'rejected', errorCode: code };\n }\n if (\n didTimeout ||\n code === 'AI_TIMEOUT' ||\n code === 'TIMEOUT' ||\n code === 'REQUEST_TIMEOUT'\n ) {\n return { status: 'timed_out', errorCode: code || 'AI_TIMEOUT' };\n }\n if (error instanceof Error && error.name === 'AbortError') {\n return { status: 'aborted', errorCode: 'ABORTED' };\n }\n if (code === 'AI_ABORTED' || code === 'REQUEST_ABORTED') {\n return { status: 'aborted', errorCode: code };\n }\n return {\n status: 'failed',\n errorCode: code || (error instanceof Error ? error.name : undefined),\n };\n}\n\nexport function requestEventBase(options: {\n providerOptions: BaseAIOptions;\n provider: string;\n model: string;\n operation: AIRequestOperation;\n callOptions?: { maxTokens?: number; usageTags?: Record<string, string> };\n effectiveMaxOutputTokens?: number;\n}): Omit<AIRequestEvent, 'status' | 'duration'> & {\n tags?: Record<string, string>;\n} {\n const normalized = normalizeBaseAIOptions(options.providerOptions);\n return {\n provider: options.provider,\n model: options.model,\n operation: options.operation,\n attempts: normalized.maxRetries + 1,\n requestedMaxOutputTokens:\n options.operation === 'decide'\n ? undefined\n : options.callOptions?.maxTokens,\n effectiveMaxOutputTokens:\n options.operation === 'decide' ||\n options.operation === 'generateImage' ||\n VIDEO_GENERATION_OPERATIONS.has(options.operation)\n ? undefined\n : (options.effectiveMaxOutputTokens ??\n Math.min(\n options.callOptions?.maxTokens ??\n normalized.generationLimits.defaultOutputTokens ??\n normalized.generationLimits.maxOutputTokens,\n normalized.generationLimits.maxOutputTokens,\n )),\n tags: options.callOptions?.usageTags,\n };\n}\n\nconst OBSERVED_OPERATIONS = new Set<AIRequestOperation>([\n 'decide',\n 'chat',\n 'complete',\n 'message',\n 'describeImage',\n 'generateImage',\n 'stream',\n 'submitVideoGenerationJob',\n 'getVideoGenerationJob',\n 'fetchVideoGenerationResult',\n 'cancelVideoGenerationJob',\n]);\n\n/**\n * `getVideoGenerationJob` / `fetchVideoGenerationResult` /\n * `cancelVideoGenerationJob` take a `VideoGenerationJob` handle as their\n * first (and only) argument rather than a chat-shaped `options` object as\n * the second argument. The handle still carries a `model` field, so\n * `callOptionsFor` reads it from the same position as `submitVideoGenerationJob`'s\n * `options` (index 0) rather than index 1.\n */\nconst VIDEO_HANDLE_OPERATIONS = new Set<AIRequestOperation>([\n 'getVideoGenerationJob',\n 'fetchVideoGenerationResult',\n 'cancelVideoGenerationJob',\n]);\n\nconst VIDEO_GENERATION_OPERATIONS = new Set<AIRequestOperation>([\n 'submitVideoGenerationJob',\n ...VIDEO_HANDLE_OPERATIONS,\n]);\n\nfunction callOptionsFor(\n operation: AIRequestOperation,\n args: unknown[],\n):\n | (AIRequestControls & {\n model?: string;\n maxTokens?: number;\n usageTags?: Record<string, string>;\n })\n | undefined {\n const index =\n operation === 'decide'\n ? 1\n : operation === 'describeImage'\n ? 2\n : operation === 'submitVideoGenerationJob' ||\n VIDEO_HANDLE_OPERATIONS.has(operation)\n ? 0\n : 1;\n const value = args[index];\n return value && typeof value === 'object'\n ? (value as AIRequestControls & {\n model?: string;\n maxTokens?: number;\n usageTags?: Record<string, string>;\n })\n : undefined;\n}\n\nfunction providerName(options: BaseAIOptions): string {\n const configured = (options as BaseAIOptions & { type?: string }).type;\n return configured || 'openai';\n}\n\nfunction effectiveOutputTokens(\n operation: AIRequestOperation,\n providerOptions: BaseAIOptions,\n callOptions:\n | (AIRequestControls & {\n model?: string;\n maxTokens?: number;\n n?: number;\n })\n | undefined,\n): number | undefined {\n if (\n operation === 'decide' ||\n operation === 'generateImage' ||\n VIDEO_GENERATION_OPERATIONS.has(operation)\n ) {\n // maxTokens/reasoning concepts don't apply to video-generation jobs;\n // avoid attaching a misleading chat-shaped token ceiling to the event.\n if (operation === 'generateImage') {\n normalizeImageGenerationOptions(\n providerOptions,\n callOptions || {},\n providerName(providerOptions),\n callOptions?.model,\n );\n }\n return undefined;\n }\n\n return normalizeChatOptions(\n providerOptions,\n callOptions || {},\n providerName(providerOptions),\n callOptions?.model || providerOptions.defaultModel,\n ).maxTokens;\n}\n\n/**\n * Wrap a public provider instance with prompt-free lifecycle observation.\n * Provider adapters still enforce limits internally so direct construction is\n * protected; this wrapper adds one terminal event to the public getAI() path.\n */\nexport function createObservedAI<T extends AIInterface>(\n client: T,\n providerOptions: BaseAIOptions,\n): T {\n if (!providerOptions.onRequest) return client;\n\n return new Proxy(client, {\n get(target, property, receiver) {\n const value = Reflect.get(target, property, receiver);\n if (\n typeof property !== 'string' ||\n typeof value !== 'function' ||\n !OBSERVED_OPERATIONS.has(property as AIRequestOperation)\n ) {\n return typeof value === 'function' ? value.bind(target) : value;\n }\n\n const operation = property as AIRequestOperation;\n if (operation === 'stream') {\n return async function* (...args: unknown[]) {\n const startedAt = Date.now();\n const callOptions = callOptionsFor(operation, args);\n let base: ReturnType<typeof requestEventBase> | undefined;\n try {\n base = requestEventBase({\n providerOptions,\n provider: providerName(providerOptions),\n model:\n callOptions?.model || providerOptions.defaultModel || 'unknown',\n operation,\n callOptions,\n effectiveMaxOutputTokens: effectiveOutputTokens(\n operation,\n providerOptions,\n callOptions,\n ),\n });\n const iterable = Reflect.apply(\n value,\n target,\n args,\n ) as AsyncIterable<string>;\n for await (const chunk of iterable) yield chunk;\n emitRequestEvent(providerOptions, {\n ...base,\n status: 'succeeded',\n duration: Date.now() - startedAt,\n });\n } catch (error) {\n const failure = classifyRequestFailure(error);\n base ||= requestEventBase({\n providerOptions,\n provider: providerName(providerOptions),\n model:\n callOptions?.model || providerOptions.defaultModel || 'unknown',\n operation,\n callOptions,\n });\n emitRequestEvent(providerOptions, {\n ...base,\n ...failure,\n duration: Date.now() - startedAt,\n });\n throw error;\n }\n };\n }\n\n return async (...args: unknown[]) => {\n const startedAt = Date.now();\n const callOptions = callOptionsFor(operation, args);\n let base: ReturnType<typeof requestEventBase> | undefined;\n try {\n base = requestEventBase({\n providerOptions,\n provider: providerName(providerOptions),\n model:\n callOptions?.model || providerOptions.defaultModel || 'unknown',\n operation,\n callOptions,\n effectiveMaxOutputTokens: effectiveOutputTokens(\n operation,\n providerOptions,\n callOptions,\n ),\n });\n const result = await Reflect.apply(value, target, args);\n emitRequestEvent(providerOptions, {\n ...base,\n status: 'succeeded',\n duration: Date.now() - startedAt,\n });\n return result;\n } catch (error) {\n const failure = classifyRequestFailure(error);\n base ||= requestEventBase({\n providerOptions,\n provider: providerName(providerOptions),\n model:\n callOptions?.model || providerOptions.defaultModel || 'unknown',\n operation,\n callOptions,\n });\n emitRequestEvent(providerOptions, {\n ...base,\n ...failure,\n duration: Date.now() - startedAt,\n });\n throw error;\n }\n };\n },\n });\n}\n","import type { AIClientOptions } from './client';\nimport { DEFAULT_AI_TIMEOUT_MS } from './safety';\nimport type {\n AIInterface,\n AIRateLimitOptions,\n AIRequestControls,\n GetAIOptions,\n} from './types';\nimport {\n AIError,\n DEFAULT_RATE_LIMIT_MAX_RETRY_DELAY_MS,\n isRateLimitRetryableSoon,\n RateLimitError,\n} from './types';\n\nconst RATE_LIMITED_METHODS = new Set<keyof AIInterface>([\n 'decide',\n 'chat',\n 'complete',\n 'message',\n 'embed',\n 'embedImage',\n 'describeImage',\n 'generateImage',\n 'getModels',\n 'synthesizeSpeech',\n 'cloneVoice',\n 'designVoice',\n 'getVoices',\n 'submitVideoGenerationJob',\n]);\n\n/**\n * Where each paced method takes its request controls (`timeout`, `signal`).\n * For these, the timeout covers the whole call: time queued behind other calls\n * on the same key, pacing and retry waits, and the request itself.\n */\nconst REQUEST_CONTROLS_INDEX: Partial<Record<keyof AIInterface, number>> = {\n decide: 1,\n chat: 1,\n complete: 1,\n message: 1,\n describeImage: 2,\n generateImage: 1,\n submitVideoGenerationJob: 0,\n};\n\nconst MAX_BUDGET_COORDINATORS = 128;\nconst BUDGET_COORDINATOR_TTL_MS = 15 * 60 * 1000;\n\ninterface NormalizedRateLimitConfig {\n cooldownMs: number;\n initialDelayMs: number;\n key: string;\n maxAttempts: number;\n maxRetryDelayMs: number;\n}\n\n/** One call's limits while it waits for its turn on a budget key. */\ninterface CallBudget {\n provider: string;\n /** Epoch ms by which the whole call must finish; undefined = no limit. */\n deadline?: number;\n timeoutMs?: number;\n signal?: AbortSignal;\n}\n\nfunction queueTimeoutError(budget: CallBudget): AIError {\n return new AIError(\n `AI request timed out after ${budget.timeoutMs}ms, including time waiting for its rate-limit turn`,\n 'AI_TIMEOUT',\n budget.provider,\n );\n}\n\nfunction abortedError(budget: CallBudget): AIError {\n return new AIError(\n 'AI request aborted by caller',\n 'AI_ABORTED',\n budget.provider,\n );\n}\n\nclass BudgetCoordinator {\n private nextAvailableAt = 0;\n private pendingSchedules = 0;\n private tail: Promise<void> = Promise.resolve();\n private lastUsedAt = Date.now();\n /** The rate-limit error that holds the key closed until `blockedUntil`. */\n private blockedBy?: RateLimitError;\n private blockedUntil = 0;\n\n touch(): void {\n this.lastUsedAt = Date.now();\n }\n\n /**\n * Run `work` after every earlier call on this key. While the call is still\n * queued, its deadline or abort signal releases the caller, and the work is\n * skipped when its turn comes.\n */\n schedule<T>(work: () => Promise<T>, budget: CallBudget): Promise<T> {\n this.pendingSchedules += 1;\n this.touch();\n\n let gaveUp: AIError | undefined;\n let started: (() => void) | undefined;\n const guarded = () => {\n if (gaveUp) return Promise.reject(gaveUp);\n started?.();\n return work();\n };\n const run = this.tail.then(guarded, guarded);\n this.tail = run.then(\n () => undefined,\n () => undefined,\n );\n\n const result = run.finally(() => {\n this.pendingSchedules = Math.max(0, this.pendingSchedules - 1);\n this.touch();\n });\n if (budget.deadline === undefined && !budget.signal) return result;\n\n return new Promise<T>((resolve, reject) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n const stopWaiting = () => {\n if (timer) clearTimeout(timer);\n budget.signal?.removeEventListener('abort', onAbort);\n };\n const giveUp = (error: AIError) => {\n gaveUp = error;\n stopWaiting();\n reject(error);\n };\n const onAbort = () => giveUp(abortedError(budget));\n // Once the work starts, its own timeout and signal take over.\n started = stopWaiting;\n if (budget.deadline !== undefined) {\n timer = setTimeout(\n () => giveUp(queueTimeoutError(budget)),\n Math.max(0, budget.deadline - Date.now()),\n );\n }\n if (budget.signal?.aborted) {\n onAbort();\n } else {\n budget.signal?.addEventListener('abort', onAbort, { once: true });\n }\n result.then(\n (value) => {\n stopWaiting();\n resolve(value);\n },\n (error) => {\n stopWaiting();\n reject(error);\n },\n );\n });\n }\n\n /**\n * Wait out pacing before a request. When the wait would run past the call's\n * deadline, fail now: with a RateLimitError (reason and time until the key\n * reopens) when a rate limit closed the key, else with a timeout.\n */\n async waitUntilReady(\n budget: CallBudget,\n config: NormalizedRateLimitConfig,\n ): Promise<void> {\n this.touch();\n const now = Date.now();\n const delayMs = this.nextAvailableAt - now;\n if (delayMs > 0) {\n if (budget.deadline !== undefined && now + delayMs >= budget.deadline) {\n const blockedBy = this.blockedUntil > now ? this.blockedBy : undefined;\n if (blockedBy) {\n throw new RateLimitError(blockedBy.provider, undefined, {\n reason: blockedBy.reason,\n retryAfterMs: Math.max(0, this.blockedUntil - now),\n limitWindowMs: blockedBy.limitWindowMs,\n model: blockedBy.model,\n cause: blockedBy,\n maxRetryDelayMs: config.maxRetryDelayMs,\n });\n }\n throw queueTimeoutError(budget);\n }\n await sleep(delayMs, budget.signal);\n if (budget.signal?.aborted) throw abortedError(budget);\n }\n }\n\n delayFor(delayMs: number, cause?: RateLimitError): void {\n this.touch();\n if (delayMs <= 0) {\n return;\n }\n\n const until = Date.now() + delayMs;\n this.nextAvailableAt = Math.max(this.nextAvailableAt, until);\n if (cause && until >= this.blockedUntil) {\n this.blockedBy = cause;\n this.blockedUntil = until;\n }\n }\n\n isEvictable(now: number): boolean {\n return this.pendingSchedules === 0 && now >= this.nextAvailableAt;\n }\n\n isExpired(now: number): boolean {\n return (\n this.isEvictable(now) &&\n now - this.lastUsedAt >= BUDGET_COORDINATOR_TTL_MS\n );\n }\n\n getLastUsedAt(): number {\n return this.lastUsedAt;\n }\n}\n\nconst budgetCoordinators = new Map<string, BudgetCoordinator>();\n\n/** Sleep; an abort ends the sleep early (the caller checks the signal). */\nfunction sleep(delayMs: number, signal?: AbortSignal): Promise<void> {\n return new Promise((resolve) => {\n const done = () => {\n clearTimeout(timer);\n signal?.removeEventListener('abort', done);\n resolve();\n };\n const timer = setTimeout(done, delayMs);\n signal?.addEventListener('abort', done, { once: true });\n });\n}\n\nfunction pruneBudgetCoordinators(): void {\n const now = Date.now();\n\n for (const [key, coordinator] of budgetCoordinators.entries()) {\n if (coordinator.isExpired(now)) {\n budgetCoordinators.delete(key);\n }\n }\n\n while (budgetCoordinators.size > MAX_BUDGET_COORDINATORS) {\n const evictableEntries = [...budgetCoordinators.entries()]\n .filter(([, coordinator]) => coordinator.isEvictable(now))\n .sort(\n ([, leftCoordinator], [, rightCoordinator]) =>\n leftCoordinator.getLastUsedAt() - rightCoordinator.getLastUsedAt(),\n );\n\n if (evictableEntries.length === 0) {\n break;\n }\n\n budgetCoordinators.delete(evictableEntries[0][0]);\n }\n}\n\nfunction getBudgetCoordinator(key: string): BudgetCoordinator {\n pruneBudgetCoordinators();\n\n let coordinator = budgetCoordinators.get(key);\n if (!coordinator) {\n coordinator = new BudgetCoordinator();\n budgetCoordinators.set(key, coordinator);\n pruneBudgetCoordinators();\n }\n\n coordinator.touch();\n return coordinator;\n}\n\nfunction hasPacingConfig(rateLimit?: AIRateLimitOptions): boolean {\n if (!rateLimit || rateLimit.enabled === false) {\n return false;\n }\n\n return (\n rateLimit.enabled === true ||\n rateLimit.key !== undefined ||\n rateLimit.cooldownMs !== undefined ||\n rateLimit.initialDelayMs !== undefined ||\n rateLimit.maxAttempts !== undefined ||\n rateLimit.maxRetryDelayMs !== undefined\n );\n}\n\nfunction normalizeNonNegativeInteger(\n value: number | undefined,\n fallback: number,\n): number {\n if (typeof value !== 'number' || !Number.isFinite(value)) {\n return fallback;\n }\n\n return Math.max(0, Math.trunc(value));\n}\n\nfunction hashKey(value: string): string {\n let hash = 2166136261;\n\n for (let index = 0; index < value.length; index += 1) {\n hash ^= value.charCodeAt(index);\n hash = Math.imul(hash, 16777619);\n }\n\n return (hash >>> 0).toString(36);\n}\n\nfunction deriveBudgetKey(options: GetAIOptions | AIClientOptions): string {\n const type = (options as { type?: string }).type;\n const provider = typeof type === 'string' && type ? type : 'openai';\n\n const credentialLikeValues = [\n 'apiKey' in options ? options.apiKey : undefined,\n 'apiToken' in options ? options.apiToken : undefined,\n 'credentials' in options ? options.credentials?.accessKeyId : undefined,\n 'endpoint' in options ? options.endpoint : undefined,\n 'baseUrl' in options ? options.baseUrl : undefined,\n 'cliPath' in options ? options.cliPath : undefined,\n ];\n\n const seed = credentialLikeValues.find(\n (value): value is string => typeof value === 'string' && value.length > 0,\n );\n\n return seed ? `${provider}:${hashKey(seed)}` : `${provider}:default`;\n}\n\nfunction normalizeRateLimitConfig(\n options: GetAIOptions | AIClientOptions,\n): NormalizedRateLimitConfig | null {\n const rateLimit = 'rateLimit' in options ? options.rateLimit : undefined;\n\n if (!hasPacingConfig(rateLimit)) {\n return null;\n }\n\n return {\n cooldownMs: normalizeNonNegativeInteger(rateLimit?.cooldownMs, 0),\n initialDelayMs: normalizeNonNegativeInteger(\n rateLimit?.initialDelayMs,\n 5000,\n ),\n key: rateLimit?.key?.trim() || deriveBudgetKey(options),\n maxAttempts: Math.max(\n 1,\n normalizeNonNegativeInteger(rateLimit?.maxAttempts, 1),\n ),\n maxRetryDelayMs: normalizeNonNegativeInteger(\n rateLimit?.maxRetryDelayMs,\n DEFAULT_RATE_LIMIT_MAX_RETRY_DELAY_MS,\n ),\n };\n}\n\nfunction getRetryDelayMs(\n error: RateLimitError,\n config: NormalizedRateLimitConfig,\n): number {\n const hintedDelayMs =\n typeof error.retryAfterMs === 'number' &&\n Number.isFinite(error.retryAfterMs)\n ? Math.max(0, Math.ceil(error.retryAfterMs))\n : typeof error.retryAfter === 'number' &&\n Number.isFinite(error.retryAfter)\n ? Math.max(0, Math.ceil(error.retryAfter * 1000))\n : undefined;\n\n if (hintedDelayMs !== undefined) {\n return Math.max(config.cooldownMs, hintedDelayMs);\n }\n\n return Math.max(config.cooldownMs, config.initialDelayMs);\n}\n\nasync function invokeWithPacing<T>(\n execute: (remainingMs: number | undefined) => Promise<T>,\n coordinator: BudgetCoordinator,\n config: NormalizedRateLimitConfig,\n budget: CallBudget,\n allowRetry = true,\n): Promise<T> {\n let attempt = 1;\n\n while (true) {\n await coordinator.waitUntilReady(budget, config);\n\n const remainingMs =\n budget.deadline === undefined ? undefined : budget.deadline - Date.now();\n if (remainingMs !== undefined && remainingMs <= 0) {\n throw queueTimeoutError(budget);\n }\n\n try {\n const result = await execute(remainingMs);\n coordinator.delayFor(config.cooldownMs);\n return result;\n } catch (error) {\n if (error instanceof RateLimitError) {\n const retryDelayMs = getRetryDelayMs(error, config);\n coordinator.delayFor(retryDelayMs, error);\n // This client's threshold decides whether the reset is near enough\n // to retry; a far reset is surfaced as not retryable soon.\n error.retryable = isRateLimitRetryableSoon(\n error.retryAfterMs ?? error.limitWindowMs,\n config.maxRetryDelayMs,\n );\n\n const fitsDeadline =\n budget.deadline === undefined ||\n Date.now() + retryDelayMs < budget.deadline;\n if (\n allowRetry &&\n error.retryable &&\n fitsDeadline &&\n attempt < config.maxAttempts\n ) {\n attempt += 1;\n continue;\n }\n }\n\n throw error;\n }\n }\n}\n\nexport function parseRetryAfterSeconds(\n retryAfter: number | string | null | undefined,\n): number | undefined {\n if (typeof retryAfter === 'number' && Number.isFinite(retryAfter)) {\n return Math.max(0, retryAfter);\n }\n\n if (typeof retryAfter !== 'string') {\n return undefined;\n }\n\n const trimmed = retryAfter.trim();\n if (!trimmed) {\n return undefined;\n }\n\n const seconds = Number.parseFloat(trimmed);\n if (!Number.isNaN(seconds)) {\n return Math.max(0, seconds);\n }\n\n const retryAt = Date.parse(trimmed);\n if (Number.isNaN(retryAt)) {\n return undefined;\n }\n\n return Math.max(0, Math.ceil((retryAt - Date.now()) / 1000));\n}\n\nfunction getHeaderValue(\n headers: unknown,\n headerName: string,\n): number | string | undefined {\n if (!headers || typeof headers !== 'object') {\n return undefined;\n }\n\n if ('get' in headers && typeof headers.get === 'function') {\n return headers.get(headerName) ?? headers.get(headerName.toLowerCase());\n }\n\n const objectHeaders = headers as Record<string, number | string | undefined>;\n return objectHeaders[headerName] ?? objectHeaders[headerName.toLowerCase()];\n}\n\nexport function extractRetryAfterSeconds(error: unknown): number | undefined {\n if (!error || typeof error !== 'object') {\n return undefined;\n }\n\n if ('retryAfter' in error) {\n const retryAfter = parseRetryAfterSeconds(\n (error as { retryAfter?: number | string | null }).retryAfter,\n );\n if (retryAfter !== undefined) {\n return retryAfter;\n }\n }\n\n if ('headers' in error) {\n const retryAfter = parseRetryAfterSeconds(\n getHeaderValue((error as { headers?: unknown }).headers, 'retry-after'),\n );\n if (retryAfter !== undefined) {\n return retryAfter;\n }\n }\n\n const message =\n 'message' in error && typeof error.message === 'string'\n ? error.message\n : '';\n\n const retryAfterMatch =\n message.match(/retry after\\s+(\\d+(?:\\.\\d+)?)\\s*s?/i) ??\n message.match(/retryDelay[^\\d]*(\\d+(?:\\.\\d+)?)s/i);\n\n return retryAfterMatch\n ? parseRetryAfterSeconds(retryAfterMatch[1])\n : undefined;\n}\n\nconst DURATION_UNITS_MS: Record<string, number> = {\n ms: 1,\n millisecond: 1,\n milliseconds: 1,\n s: 1000,\n sec: 1000,\n secs: 1000,\n second: 1000,\n seconds: 1000,\n m: 60_000,\n min: 60_000,\n mins: 60_000,\n minute: 60_000,\n minutes: 60_000,\n h: 3_600_000,\n hr: 3_600_000,\n hrs: 3_600_000,\n hour: 3_600_000,\n hours: 3_600_000,\n d: 86_400_000,\n day: 86_400_000,\n days: 86_400_000,\n};\n\nconst DURATION_PART =\n '\\\\d+(?:\\\\.\\\\d+)?\\\\s*(?:milliseconds?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d)(?![a-z])';\nconst DURATION = `${DURATION_PART}(?:\\\\s*${DURATION_PART})*`;\n\n/**\n * Parse a duration such as `20s`, `6m0s`, `1h`, `250ms` or `2 minutes` into\n * milliseconds. Returns undefined for anything else.\n */\nexport function parseDurationMs(text: string): number | undefined {\n const trimmed = text.trim();\n if (!new RegExp(`^${DURATION}$`, 'i').test(trimmed)) return undefined;\n let total = 0;\n for (const match of trimmed.matchAll(/(\\d+(?:\\.\\d+)?)\\s*([a-z]+)/gi)) {\n total +=\n Number.parseFloat(match[1]) * DURATION_UNITS_MS[match[2].toLowerCase()];\n }\n return Number.isFinite(total) ? Math.ceil(total) : undefined;\n}\n\n/** Reset headers that name when a limit lifts, as a duration or a timestamp. */\nconst RESET_HEADERS = [\n 'x-ratelimit-reset-requests',\n 'x-ratelimit-reset-tokens',\n 'anthropic-ratelimit-requests-reset',\n 'anthropic-ratelimit-tokens-reset',\n 'anthropic-ratelimit-input-tokens-reset',\n 'anthropic-ratelimit-output-tokens-reset',\n];\n\nfunction resetHeaderMs(headers: unknown): number | undefined {\n let latest: number | undefined;\n for (const name of RESET_HEADERS) {\n const raw = getHeaderValue(headers, name);\n if (raw === undefined || raw === null || raw === '') continue;\n const text = String(raw).trim();\n let ms = parseDurationMs(text);\n if (ms === undefined && /\\d{4}-\\d{2}-\\d{2}T/.test(text)) {\n const at = Date.parse(text);\n if (!Number.isNaN(at)) ms = Math.max(0, at - Date.now());\n }\n if (ms !== undefined) latest = Math.max(latest ?? 0, ms);\n }\n return latest;\n}\n\nfunction stringAt(value: unknown, ...path: string[]): string | undefined {\n let current = value;\n for (const key of path) {\n if (!current || typeof current !== 'object') return undefined;\n current = (current as Record<string, unknown>)[key];\n }\n return typeof current === 'string' && current.trim() ? current : undefined;\n}\n\n/**\n * The provider's own reason text from an SDK error or response body, for\n * example `token limit exceeded (277867/250000, resets every 1h)`.\n */\nexport function extractRateLimitReason(error: unknown): string | undefined {\n const fromBody =\n stringAt(error, 'error', 'error', 'message') ?? // Anthropic SDK body\n stringAt(error, 'error', 'message') ?? // OpenAI SDK body.error\n stringAt(error, 'body', 'error', 'message') ??\n stringAt(error, 'body', 'message');\n if (fromBody) return fromBody;\n const message = stringAt(error, 'message');\n if (!message) return undefined;\n // A raw HTTP body handed over as the message: read the JSON error text.\n if (/^\\s*\\{/.test(message)) {\n try {\n const body: unknown = JSON.parse(message);\n const text =\n stringAt(body, 'error', 'message') ??\n stringAt(body, 'message') ??\n stringAt(body, 'error');\n if (text) return text;\n } catch {\n // Not JSON: use the text as-is below.\n }\n }\n // SDKs prefix the HTTP status (\"429 ...\"); a bare status line has no reason.\n const reason = message.replace(/^\\d{3}\\s+/, '').trim();\n return /^(?:status code \\(no body\\)|too many requests|rate limit(?:ed| exceeded)?)\\.?$/i.test(\n reason,\n )\n ? undefined\n : reason;\n}\n\n/**\n * Build a RateLimitError that keeps what the provider said: its reason text,\n * any `Retry-After` or reset hint (headers or text), and a named limit window.\n */\nexport function rateLimitErrorFrom(\n provider: string,\n error: unknown,\n extra: { reason?: string; model?: string } = {},\n): RateLimitError {\n const reason = extra.reason?.trim() || extractRateLimitReason(error);\n const retryAfter = extractRetryAfterSeconds(error);\n const headers =\n error && typeof error === 'object' && 'headers' in error\n ? (error as { headers?: unknown }).headers\n : undefined;\n let retryAfterMs =\n retryAfter !== undefined ? retryAfter * 1000 : resetHeaderMs(headers);\n let limitWindowMs: number | undefined;\n if (reason) {\n if (retryAfterMs === undefined) {\n const inMatch = reason.match(\n new RegExp(\n `(?:try again|retry|resets?|available)\\\\s+in\\\\s+(${DURATION})`,\n 'i',\n ),\n );\n if (inMatch) retryAfterMs = parseDurationMs(inMatch[1]);\n }\n const everyMatch = reason.match(\n new RegExp(`resets?\\\\s+(?:every|each)\\\\s+(${DURATION})`, 'i'),\n );\n if (everyMatch) limitWindowMs = parseDurationMs(everyMatch[1]);\n }\n return new RateLimitError(provider, retryAfter, {\n reason,\n retryAfterMs,\n limitWindowMs,\n model: extra.model,\n cause: error,\n });\n}\n\nexport function createRateLimitedAI<T extends AIInterface>(\n client: T,\n options: GetAIOptions | AIClientOptions,\n): T {\n const config = normalizeRateLimitConfig(options);\n if (!config) {\n return client;\n }\n\n const wrappedMethods = new Map<PropertyKey, unknown>();\n const provider =\n typeof options.type === 'string' && options.type ? options.type : 'openai';\n const clientTimeoutMs = positiveTimeout(\n 'timeout' in options ? options.timeout : undefined,\n );\n // Seevio does not document idempotency for billed video-task submission.\n // Existing providers retain their established pacing-retry behavior.\n const allowSeevioSubmitRetry = options.type !== 'seevio';\n\n return new Proxy(client, {\n get(target, property, receiver) {\n const value = Reflect.get(target, property, receiver);\n\n if (typeof value !== 'function') {\n return value;\n }\n\n if (!RATE_LIMITED_METHODS.has(property as keyof AIInterface)) {\n if (!wrappedMethods.has(property)) {\n wrappedMethods.set(property, value.bind(target));\n }\n\n return wrappedMethods.get(property);\n }\n\n if (!wrappedMethods.has(property)) {\n const controlsIndex =\n REQUEST_CONTROLS_INDEX[property as keyof AIInterface];\n wrappedMethods.set(property, (...args: unknown[]) => {\n const coordinator = getBudgetCoordinator(config.key);\n const controls =\n controlsIndex === undefined\n ? undefined\n : (args[controlsIndex] as AIRequestControls | undefined);\n // The timeout bounds the whole call from the caller's side. Methods\n // without request controls only use a client-level timeout.\n const timeoutMs =\n controlsIndex === undefined\n ? clientTimeoutMs\n : controls?.timeout !== undefined\n ? positiveTimeout(controls.timeout)\n : (clientTimeoutMs ?? DEFAULT_AI_TIMEOUT_MS);\n const budget: CallBudget = {\n provider,\n timeoutMs,\n deadline:\n timeoutMs === undefined ? undefined : Date.now() + timeoutMs,\n signal: controls?.signal,\n };\n return coordinator.schedule(\n () =>\n invokeWithPacing(\n (remainingMs) => {\n const callArgs = [...args];\n if (\n controlsIndex !== undefined &&\n remainingMs !== undefined\n ) {\n // The request gets only what is left of the call's timeout.\n callArgs[controlsIndex] = {\n ...controls,\n timeout: Math.max(1, Math.floor(remainingMs)),\n };\n }\n return Reflect.apply(\n value,\n target,\n callArgs,\n ) as Promise<unknown>;\n },\n coordinator,\n config,\n budget,\n property !== 'submitVideoGenerationJob' ||\n allowSeevioSubmitRetry,\n ),\n budget,\n );\n });\n }\n\n return wrappedMethods.get(property);\n },\n }) as T;\n}\n\n/** A usable timeout, or undefined so the provider reports a bad value itself. */\nfunction positiveTimeout(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n ? Math.trunc(value)\n : undefined;\n}\n\nexport function __resetAIRateLimitStateForTests(): void {\n budgetCoordinators.clear();\n}\n\nexport function __getAIRateLimitStateForTests(): {\n count: number;\n maxBudgetCoordinators: number;\n ttlMs: number;\n} {\n return {\n count: budgetCoordinators.size,\n maxBudgetCoordinators: MAX_BUDGET_COORDINATORS,\n ttlMs: BUDGET_COORDINATOR_TTL_MS,\n };\n}\n\nexport function isRetryableAIError(error: unknown): error is AIError {\n return error instanceof AIError && error.retryable;\n}\n"],"mappings":"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"}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
//#region src/shared/types.ts
|
|
2
|
-
/**
|
|
3
|
-
* Supported AI provider types
|
|
4
|
-
*/
|
|
5
|
-
var AI_PROVIDER_TYPES = [
|
|
6
|
-
"openai",
|
|
7
|
-
"litellm",
|
|
8
|
-
"bifrost",
|
|
9
|
-
"ollama",
|
|
10
|
-
"gemini",
|
|
11
|
-
"anthropic",
|
|
12
|
-
"huggingface",
|
|
13
|
-
"bedrock",
|
|
14
|
-
"claude-cli",
|
|
15
|
-
"qwen3-tts",
|
|
16
|
-
"openai-compat-video",
|
|
17
|
-
"byteplus-modelark",
|
|
18
|
-
"seevio",
|
|
19
|
-
"typesafe"
|
|
20
|
-
];
|
|
21
|
-
/**
|
|
22
|
-
* Extract text content from a message content field.
|
|
23
|
-
*
|
|
24
|
-
* Handles both simple string content and multimodal content arrays,
|
|
25
|
-
* extracting only the text parts and concatenating them.
|
|
26
|
-
*
|
|
27
|
-
* @param content - The message content (string or ContentPart array)
|
|
28
|
-
* @returns The extracted text content
|
|
29
|
-
*/
|
|
30
|
-
function extractTextContent(content) {
|
|
31
|
-
if (typeof content === "string") return content;
|
|
32
|
-
return content.filter((part) => part.type === "text").map((part) => part.text).join("\n");
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Base error class for all AI operations.
|
|
36
|
-
* Provider-specific errors are mapped to subclasses for structured error handling.
|
|
37
|
-
*
|
|
38
|
-
* @param message - Human-readable error description
|
|
39
|
-
* @param code - Machine-readable error code (e.g., 'AUTH_ERROR', 'RATE_LIMIT')
|
|
40
|
-
* @param provider - Provider that raised the error (e.g., 'openai', 'anthropic')
|
|
41
|
-
* @param model - Model involved in the error, if applicable
|
|
42
|
-
*/
|
|
43
|
-
var AIError = class extends Error {
|
|
44
|
-
code;
|
|
45
|
-
provider;
|
|
46
|
-
model;
|
|
47
|
-
retryable;
|
|
48
|
-
constructor(message, code, provider, model, retryable = false) {
|
|
49
|
-
super(message);
|
|
50
|
-
this.code = code;
|
|
51
|
-
this.provider = provider;
|
|
52
|
-
this.model = model;
|
|
53
|
-
this.retryable = retryable;
|
|
54
|
-
this.name = "AIError";
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Thrown when API key or credentials are invalid or missing.
|
|
59
|
-
*
|
|
60
|
-
* @param provider - Provider that rejected authentication
|
|
61
|
-
*/
|
|
62
|
-
var AuthenticationError = class extends AIError {
|
|
63
|
-
constructor(provider) {
|
|
64
|
-
super("Authentication failed", "AUTH_ERROR", provider, void 0, false);
|
|
65
|
-
this.name = "AuthenticationError";
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Default for {@link RateLimitErrorDetails.maxRetryDelayMs}: a rate limit that
|
|
70
|
-
* resets more than a minute away is not worth retrying in-process.
|
|
71
|
-
*/
|
|
72
|
-
var DEFAULT_RATE_LIMIT_MAX_RETRY_DELAY_MS = 6e4;
|
|
73
|
-
/**
|
|
74
|
-
* Whether a rate limit that lifts after `waitMs` is worth retrying soon, given
|
|
75
|
-
* the longest acceptable wait. An unknown wait counts as retryable.
|
|
76
|
-
*/
|
|
77
|
-
function isRateLimitRetryableSoon(waitMs, maxRetryDelayMs = DEFAULT_RATE_LIMIT_MAX_RETRY_DELAY_MS) {
|
|
78
|
-
return waitMs === void 0 || waitMs <= maxRetryDelayMs;
|
|
79
|
-
}
|
|
80
|
-
var MAX_RATE_LIMIT_REASON_LENGTH = 500;
|
|
81
|
-
/**
|
|
82
|
-
* Thrown when the provider's rate limit has been exceeded.
|
|
83
|
-
*
|
|
84
|
-
* @param provider - Provider that enforced the rate limit
|
|
85
|
-
* @param retryAfter - Seconds to wait before retrying, if provided by the API
|
|
86
|
-
* @param details - The provider's reason text and reset hints
|
|
87
|
-
*/
|
|
88
|
-
var RateLimitError = class extends AIError {
|
|
89
|
-
/** Seconds until the limit resets, when the provider said so. */
|
|
90
|
-
retryAfter;
|
|
91
|
-
/** Milliseconds until the limit resets, when the provider said so. */
|
|
92
|
-
retryAfterMs;
|
|
93
|
-
/** Length of a limit window named without a reset time (see details). */
|
|
94
|
-
limitWindowMs;
|
|
95
|
-
/** The provider's own reason text, when it sent one. */
|
|
96
|
-
reason;
|
|
97
|
-
constructor(provider, retryAfter, details = {}) {
|
|
98
|
-
const retryAfterMs = finiteNonNegative(details.retryAfterMs ?? (retryAfter !== void 0 ? retryAfter * 1e3 : void 0));
|
|
99
|
-
const seconds = finiteNonNegative(retryAfter) ?? (retryAfterMs !== void 0 ? Math.ceil(retryAfterMs / 1e3) : void 0);
|
|
100
|
-
const reason = details.reason?.replace(/\s+/g, " ").trim().slice(0, MAX_RATE_LIMIT_REASON_LENGTH);
|
|
101
|
-
super(`Rate limit exceeded${reason ? `: ${reason}` : ""}${seconds ? `, retry after ${seconds}s` : ""}`, "RATE_LIMIT", provider, details.model, true);
|
|
102
|
-
this.name = "RateLimitError";
|
|
103
|
-
this.retryAfter = seconds;
|
|
104
|
-
this.retryAfterMs = retryAfterMs;
|
|
105
|
-
this.limitWindowMs = finiteNonNegative(details.limitWindowMs);
|
|
106
|
-
this.retryable = isRateLimitRetryableSoon(this.retryAfterMs ?? this.limitWindowMs, details.maxRetryDelayMs);
|
|
107
|
-
this.reason = reason || void 0;
|
|
108
|
-
if (details.cause !== void 0) this.cause = details.cause;
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
function finiteNonNegative(value) {
|
|
112
|
-
return typeof value === "number" && Number.isFinite(value) ? Math.max(0, value) : void 0;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Thrown when the requested model does not exist or is not available.
|
|
116
|
-
*
|
|
117
|
-
* @param model - The model identifier that was not found
|
|
118
|
-
* @param provider - Provider that was queried
|
|
119
|
-
*/
|
|
120
|
-
var ModelNotFoundError = class extends AIError {
|
|
121
|
-
constructor(model, provider) {
|
|
122
|
-
super(`Model not found: ${model}`, "MODEL_NOT_FOUND", provider, model, false);
|
|
123
|
-
this.name = "ModelNotFoundError";
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* Thrown when the input exceeds the model's maximum context window.
|
|
128
|
-
*
|
|
129
|
-
* @param provider - Provider that reported the error
|
|
130
|
-
* @param model - Model whose context limit was exceeded
|
|
131
|
-
*/
|
|
132
|
-
var ContextLengthError = class extends AIError {
|
|
133
|
-
constructor(provider, model) {
|
|
134
|
-
super("Input exceeds maximum context length", "CONTEXT_LENGTH_EXCEEDED", provider, model, false);
|
|
135
|
-
this.name = "ContextLengthError";
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
/**
|
|
139
|
-
* Thrown when content is blocked by the provider's safety/content filters.
|
|
140
|
-
*
|
|
141
|
-
* @param provider - Provider that filtered the content
|
|
142
|
-
* @param model - Model that triggered the filter
|
|
143
|
-
*/
|
|
144
|
-
var ContentFilterError = class extends AIError {
|
|
145
|
-
constructor(provider, model) {
|
|
146
|
-
super("Content filtered by safety systems", "CONTENT_FILTERED", provider, model, false);
|
|
147
|
-
this.name = "ContentFilterError";
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
//#endregion
|
|
151
|
-
export { ContextLengthError as a, RateLimitError as c, ContentFilterError as i, extractTextContent as l, AI_PROVIDER_TYPES as n, DEFAULT_RATE_LIMIT_MAX_RETRY_DELAY_MS as o, AuthenticationError as r, ModelNotFoundError as s, AIError as t, isRateLimitRetryableSoon as u };
|
|
152
|
-
|
|
153
|
-
//# sourceMappingURL=types-DB5W6_F-.js.map
|