@absolutejs/ai 0.3.2 → 0.3.4

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +19 -0
  3. package/changelog.json +33 -0
  4. package/dist/ai/client/index.js +1 -3
  5. package/dist/ai/client/index.js.map +2 -2
  6. package/dist/ai/index.js +7818 -7753
  7. package/dist/ai/index.js.map +20 -20
  8. package/dist/ai/models/index.js +1 -71
  9. package/dist/ai/models/index.js.map +2 -2
  10. package/dist/ai/providers/anthropic.js +33 -29
  11. package/dist/ai/providers/anthropic.js.map +3 -3
  12. package/dist/ai/providers/gemini.js +11 -13
  13. package/dist/ai/providers/gemini.js.map +2 -2
  14. package/dist/ai/providers/ollama.js +3 -5
  15. package/dist/ai/providers/ollama.js.map +2 -2
  16. package/dist/ai/providers/openai.js +38 -40
  17. package/dist/ai/providers/openai.js.map +2 -2
  18. package/dist/ai/providers/openaiCompatible.js +56 -58
  19. package/dist/ai/providers/openaiCompatible.js.map +2 -2
  20. package/dist/ai/providers/openaiResponses.js +18 -20
  21. package/dist/ai/providers/openaiResponses.js.map +2 -2
  22. package/dist/ai/providers/openrouter.js +130 -126
  23. package/dist/ai/providers/openrouter.js.map +3 -3
  24. package/dist/ai/providers/openrouterSDK.js +1 -3
  25. package/dist/ai/providers/openrouterSDK.js.map +2 -2
  26. package/dist/ai/research.js +2 -4
  27. package/dist/ai/research.js.map +2 -2
  28. package/dist/ai/tools/index.js +55 -58
  29. package/dist/ai/tools/index.js.map +5 -5
  30. package/dist/ai/tools/untrusted.js +1 -3
  31. package/dist/ai/tools/untrusted.js.map +2 -2
  32. package/dist/ai/ui/index.js +83 -87
  33. package/dist/ai/ui/index.js.map +4 -4
  34. package/dist/angular/ai/index.js +1 -1
  35. package/dist/angular/ai/index.js.map +1 -1
  36. package/dist/react/ai/index.js +4 -74
  37. package/dist/react/ai/index.js.map +2 -2
  38. package/dist/src/ai/ui/catalog.d.ts +3 -0
  39. package/dist/src/ai/ui/index.d.ts +2 -2
  40. package/dist/src/ai/ui/uiCards.d.ts +9 -3
  41. package/dist/svelte/ai/index.js +1 -71
  42. package/dist/svelte/ai/index.js.map +2 -2
  43. package/dist/vue/ai/index.js +1 -71
  44. package/dist/vue/ai/index.js.map +2 -2
  45. package/package.json +1 -1
@@ -1,73 +1,3 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __name = (target, name) => {
5
- Object.defineProperty(target, "name", {
6
- value: name,
7
- enumerable: false,
8
- configurable: true
9
- });
10
- return target;
11
- };
12
- var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
13
- var __typeError = (msg) => {
14
- throw TypeError(msg);
15
- };
16
- var __defNormalProp = (obj, key, value) => (key in obj) ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
18
- var __privateIn = (member, obj) => Object(obj) !== obj ? __typeError('Cannot use the "in" operator on this value') : member.has(obj);
19
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
20
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
21
- var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
22
- var __decoratorStart = (base) => [, , , __create(base?.[__knownSymbol("metadata")] ?? null)];
23
- var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
24
- var __expectFn = (fn) => fn !== undefined && typeof fn !== "function" ? __typeError("Function expected") : fn;
25
- var __decoratorContext = (kind, name, done, metadata, fns) => ({
26
- kind: __decoratorStrings[kind],
27
- name,
28
- metadata,
29
- addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null))
30
- });
31
- var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
32
- var __runInitializers = (array, flags, self, value) => {
33
- for (var i = 0, fns = array[flags >> 1], n = fns && fns.length;i < n; i++)
34
- flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
35
- return value;
36
- };
37
- var __decorateElement = (array, flags, name, decorators, target, extra) => {
38
- var fn, it, done, ctx, access, k = flags & 7, s = !!(flags & 8), p = !!(flags & 16);
39
- var j = k > 3 ? array.length + 1 : k ? s ? 1 : 2 : 0, key = __decoratorStrings[k + 5];
40
- var initializers = k > 3 && (array[j - 1] = []), extraInitializers = array[j] || (array[j] = []);
41
- var desc = k && (!p && !s && (target = target.prototype), k < 5 && (k > 3 || !p) && __getOwnPropDesc(k < 4 ? target : {
42
- get [name]() {
43
- return __privateGet(this, extra);
44
- },
45
- set [name](x) {
46
- __privateSet(this, extra, x);
47
- }
48
- }, name));
49
- k ? p && k < 4 && __name(extra, (k > 2 ? "set " : k > 1 ? "get " : "") + name) : __name(target, name);
50
- for (var i = decorators.length - 1;i >= 0; i--) {
51
- ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
52
- if (k) {
53
- ctx.static = s, ctx.private = p, access = ctx.access = { has: p ? (x) => __privateIn(target, x) : (x) => (name in x) };
54
- if (k ^ 3)
55
- access.get = p ? (x) => (k ^ 1 ? __privateGet : __privateMethod)(x, target, k ^ 4 ? extra : desc.get) : (x) => x[name];
56
- if (k > 2)
57
- access.set = p ? (x, y) => __privateSet(x, target, y, k ^ 4 ? extra : desc.set) : (x, y) => x[name] = y;
58
- }
59
- it = (0, decorators[i])(k ? k < 4 ? p ? extra : desc[key] : k > 4 ? undefined : { get: desc.get, set: desc.set } : target, ctx);
60
- done._ = 1;
61
- if (k ^ 4 || it === undefined)
62
- __expectFn(it) && (k > 4 ? initializers.unshift(it) : k ? p ? extra = it : desc[key] = it : target = it);
63
- else if (typeof it !== "object" || it === null)
64
- __typeError("Object expected");
65
- else
66
- __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
67
- }
68
- return k || __decoratorMetadata(array, target), desc && __defProp(target, name, desc), p ? k ^ 4 ? extra : desc : target;
69
- };
70
-
71
1
  // src/ai/models/catalog.ts
72
2
  var MODEL_METADATA = {
73
3
  "anthropic:claude-opus-5-5": {
@@ -790,5 +720,5 @@ export {
790
720
  supportsReasoningSelection
791
721
  };
792
722
 
793
- //# debugId=B00BA05FE5829EFA64756E2164756E21
723
+ //# debugId=84C9753B943C804C64756E2164756E21
794
724
  //# sourceMappingURL=index.js.map
@@ -7,7 +7,7 @@
7
7
  "import { getModelMetadata } from \"./catalog\";\nimport { getModelReasoning } from \"./reasoning\";\nimport { modelCapabilities } from \"./index\";\n\n/** Display names for the providers the directory covers. */\nexport const MODEL_PROVIDERS: Readonly<Record<string, string>> = {\n anthropic: \"Anthropic\",\n openai: \"OpenAI\",\n google: \"Google\",\n xai: \"xAI\",\n deepseek: \"DeepSeek\",\n mistral: \"Mistral\",\n alibaba: \"Alibaba\",\n moonshot: \"Moonshot AI\",\n meta: \"Meta\",\n};\n\nexport type ModelTier = \"frontier\" | \"balanced\" | \"fast\";\n\nexport type ModelDirectoryEntry = {\n provider: string;\n /** The exact model ID sent to the provider. */\n id: string;\n name: string;\n /** One short, plain sentence for pickers. */\n description: string;\n /** The provider's current frontier model; at most one per provider. */\n featured?: boolean;\n /** Relative capability within the provider's current line, for recommendations. */\n tier?: ModelTier;\n /** Superseded by a newer model in the same line; hide by default. */\n legacy?: boolean;\n};\n\n/**\n * Human-facing model directory for pickers, newest first within each provider.\n * Capabilities and context windows come from MODEL_METADATA, not from here.\n * Anthropic entries were checked against the Models API on 2026-09-25.\n */\nexport const MODEL_DIRECTORY: readonly ModelDirectoryEntry[] = [\n {\n provider: \"anthropic\",\n id: \"claude-opus-5-5\",\n name: \"Claude Opus 5.5\",\n description: \"Anthropic’s newest Opus, for the most demanding work.\",\n featured: true,\n tier: \"frontier\",\n },\n {\n provider: \"anthropic\",\n id: \"claude-fable-5-1\",\n name: \"Claude Fable 5.1\",\n description: \"Deep reasoning and long-running agentic work.\",\n },\n {\n provider: \"anthropic\",\n id: \"claude-opus-5\",\n name: \"Claude Opus 5\",\n description: \"Complex coding and ambitious projects.\",\n },\n {\n provider: \"anthropic\",\n id: \"claude-sonnet-5\",\n name: \"Claude Sonnet 5\",\n description: \"Balanced speed and intelligence.\",\n tier: \"balanced\",\n },\n {\n provider: \"anthropic\",\n id: \"claude-fable-5\",\n name: \"Claude Fable 5\",\n description: \"The earlier Fable release.\",\n legacy: true,\n },\n {\n provider: \"anthropic\",\n id: \"claude-opus-4-8\",\n name: \"Claude Opus 4.8\",\n description: \"The last Opus 4 release.\",\n legacy: true,\n },\n {\n provider: \"anthropic\",\n id: \"claude-opus-4-7\",\n name: \"Claude Opus 4.7\",\n description: \"An earlier Opus 4 release.\",\n legacy: true,\n },\n {\n provider: \"anthropic\",\n id: \"claude-sonnet-4-6\",\n name: \"Claude Sonnet 4.6\",\n description: \"Dependable everyday work.\",\n },\n {\n provider: \"anthropic\",\n id: \"claude-opus-4-6\",\n name: \"Claude Opus 4.6\",\n description: \"Detailed coding and architecture.\",\n legacy: true,\n },\n {\n provider: \"anthropic\",\n id: \"claude-haiku-4-5\",\n name: \"Claude Haiku 4.5\",\n description: \"Quick, focused tasks.\",\n tier: \"fast\",\n },\n {\n provider: \"anthropic\",\n id: \"claude-opus-4-5\",\n name: \"Claude Opus 4.5\",\n description: \"Older generation, kept for compatibility.\",\n legacy: true,\n },\n {\n provider: \"anthropic\",\n id: \"claude-sonnet-4-5\",\n name: \"Claude Sonnet 4.5\",\n description: \"Older generation, kept for compatibility.\",\n legacy: true,\n },\n {\n provider: \"openai\",\n id: \"gpt-6-astra\",\n name: \"GPT-6 Astra\",\n description: \"Frontier reasoning for demanding work.\",\n featured: true,\n tier: \"frontier\",\n },\n {\n provider: \"openai\",\n id: \"gpt-5.6-sol\",\n name: \"GPT-5.6 Sol\",\n description: \"Complex professional and coding work.\",\n },\n {\n provider: \"openai\",\n id: \"gpt-5.6-terra\",\n name: \"GPT-5.6 Terra\",\n description: \"Balances capability and efficiency.\",\n tier: \"balanced\",\n },\n {\n provider: \"openai\",\n id: \"gpt-5.6-luna\",\n name: \"GPT-5.6 Luna\",\n description: \"Fast, economical everyday work.\",\n tier: \"fast\",\n },\n {\n provider: \"google\",\n id: \"gemini-3.8-flash\",\n name: \"Gemini 3.8 Flash\",\n description: \"Fast reasoning and long-horizon software work.\",\n featured: true,\n },\n {\n provider: \"google\",\n id: \"gemini-3.1-pro-preview\",\n name: \"Gemini 3.1 Pro\",\n description: \"Complex reasoning with multimodal context.\",\n },\n {\n provider: \"google\",\n id: \"gemini-2.5-flash\",\n name: \"Gemini 2.5 Flash\",\n description: \"Efficient, low-latency assistance.\",\n legacy: true,\n },\n {\n provider: \"xai\",\n id: \"grok-4.6\",\n name: \"Grok 4.6\",\n description: \"Reasoning, code, and agentic tool use.\",\n featured: true,\n },\n {\n provider: \"deepseek\",\n id: \"deepseek-flash\",\n name: \"DeepSeek V4.1 Flash\",\n description: \"Efficient reasoning with a large context window.\",\n featured: true,\n },\n {\n provider: \"deepseek\",\n id: \"deepseek-v4-pro\",\n name: \"DeepSeek V4 Pro\",\n description: \"Detailed reasoning and code generation.\",\n },\n {\n provider: \"mistral\",\n id: \"mistral-medium-3-5\",\n name: \"Mistral Medium 3.5\",\n description: \"Agentic coding and multimodal work.\",\n featured: true,\n },\n {\n provider: \"mistral\",\n id: \"mistral-small-latest\",\n name: \"Mistral Small\",\n description: \"Compact, efficient assistance.\",\n },\n {\n provider: \"alibaba\",\n id: \"qwen3.8-max\",\n name: \"Qwen3.8 Max\",\n description: \"Advanced reasoning from the Qwen family.\",\n featured: true,\n },\n {\n provider: \"alibaba\",\n id: \"qwen3.7-plus\",\n name: \"Qwen3.7 Plus\",\n description: \"Balanced reasoning and everyday work.\",\n },\n {\n provider: \"moonshot\",\n id: \"kimi-k3\",\n name: \"Kimi K3\",\n description: \"Long-horizon coding and agentic tasks.\",\n featured: true,\n },\n {\n provider: \"moonshot\",\n id: \"kimi-k2.7-code\",\n name: \"Kimi K2.7 Code\",\n description: \"Focused coding assistance.\",\n },\n {\n provider: \"meta\",\n id: \"Llama-4-Maverick-17B-128E-Instruct-FP8\",\n name: \"Llama 4 Maverick\",\n description: \"Hosted multimodal reasoning from Meta.\",\n featured: true,\n },\n];\n\nexport const modelKey = (model: { provider: string; id: string }) =>\n `${model.provider}:${model.id}`;\n\nexport type ListedModel = ModelDirectoryEntry & {\n key: string;\n providerName: string;\n capabilities: ReturnType<typeof modelCapabilities>;\n contextWindow: number | null;\n reasoningEfforts: readonly string[];\n};\n\n/** Directory entries joined with reviewed metadata, ready for a picker. */\nexport const listModels = (\n options: { providers?: readonly string[]; includeLegacy?: boolean } = {},\n): ListedModel[] =>\n MODEL_DIRECTORY.filter(\n (entry) =>\n (!options.providers || options.providers.includes(entry.provider)) &&\n (options.includeLegacy || !entry.legacy),\n ).map((entry) => {\n const metadata = getModelMetadata(entry.provider, entry.id);\n return {\n ...entry,\n key: modelKey(entry),\n providerName: MODEL_PROVIDERS[entry.provider] ?? entry.provider,\n capabilities: modelCapabilities(metadata),\n contextWindow: metadata?.contextWindow ?? null,\n reasoningEfforts:\n getModelReasoning(entry.provider, entry.id)?.efforts ?? [],\n };\n });\n\nexport const findModel = (provider: string, id: string) =>\n MODEL_DIRECTORY.find(\n (entry) => entry.provider === provider && entry.id === id,\n );\n\nconst DEEP_WORK =\n /\\b(architect(ure)?|design|strategy|plan (the|a|an)|refactor|migrat(e|ion)|security|audit|investigate|root cause|debug|analy[sz]e|compare|trade-?offs?|proposal|roadmap)\\b/i;\nconst SUBSTANTIAL_WORK =\n /\\b(auth|authentication|login|sign-?in|payment|database|api|backend|integration|workflow|implement|build|and then|also)\\b/i;\nconst SMALL_EDIT =\n /^(please\\s+)?(change|rename|replace|remove|update|fix|reword|shorten)\\b.{0,100}\\b(label|heading|title|text|copy|wording|typo|name|date|color|colour)\\b/i;\nconst SIMPLE_QUESTION =\n /^(what|where|which|who|when|explain|show|find|list|summari[sz]e)\\b/i;\nconst SMALL_REQUEST = 240;\nconst LARGE_REQUEST = 2000;\n\n/** Chooses a tier from the request text: quick edits and simple questions are\n * fast, deep analysis or very long requests are frontier, everything else is\n * balanced. `depth: \"deep\"` forces frontier. Adapted from AbsoluteJS PAAS. */\nexport const recommendTier = (input: {\n message: string;\n depth?: \"auto\" | \"deep\";\n}): ModelTier => {\n const message = input.message.trim();\n if (\n input.depth === \"deep\" ||\n message.length > LARGE_REQUEST ||\n DEEP_WORK.test(message)\n )\n return \"frontier\";\n if (\n message.length <= SMALL_REQUEST &&\n !SUBSTANTIAL_WORK.test(message) &&\n (SMALL_EDIT.test(message) || SIMPLE_QUESTION.test(message))\n )\n return \"fast\";\n return \"balanced\";\n};\n\n/** Picks a current model for a request from the first listed provider that\n * has one at the recommended tier. Providers are in preference order and\n * should only include ones the application can call. */\nexport const recommendModel = (input: {\n message: string;\n providers: readonly string[];\n depth?: \"auto\" | \"deep\";\n}): (ModelDirectoryEntry & { tier: ModelTier }) | undefined => {\n const tier = recommendTier(input);\n for (const provider of input.providers) {\n const match = MODEL_DIRECTORY.find(\n (entry) =>\n entry.provider === provider && entry.tier === tier && !entry.legacy,\n );\n if (match) return { ...match, tier };\n }\n return undefined;\n};\n",
8
8
  "/** Client-safe model discovery. Missing metadata means unknown, never unsupported. */\nexport type ModelModality = \"text\" | \"image\" | \"pdf\" | \"audio\" | \"video\";\nexport type ModelFeature =\n | \"reasoning\"\n | \"tools\"\n | \"structured-output\"\n | \"prompt-cache\"\n | \"web-search\";\nexport type ModelMetadata = {\n input: readonly ModelModality[];\n output: readonly ModelModality[];\n features: readonly ModelFeature[];\n contextWindow?: number;\n sources: readonly string[];\n reviewedAt: string;\n};\nexport const MODEL_CAPABILITY_DESCRIPTIONS = {\n Fast: \"Suited to quick edits and lightweight tasks; actual speed varies with the request.\",\n Reasoning: \"Can spend extra thinking time on complex problems.\",\n Tools:\n \"Supports function calls for actions such as inspecting and editing code.\",\n Vision: \"Understands images. This does not mean it generates images.\",\n PDF: \"Accepts PDF documents, including their text and visual content.\",\n Audio: \"Understands audio input. This does not mean it generates speech.\",\n Video: \"Understands video input. This does not mean it generates videos.\",\n \"Image generation\": \"Produces images as model output.\",\n \"Speech generation\": \"Produces audio as model output.\",\n \"Video generation\": \"Produces video as model output.\",\n Structured:\n \"Supports schema-constrained output for reliable structured data.\",\n Caching:\n \"The provider can reuse matching prompt content to reduce repeated processing. Cache hits are not guaranteed.\",\n Search:\n \"Supports a provider-hosted web-search tool when enabled by the application.\",\n \"Long context\":\n \"A documented context window of at least 200,000 tokens. Application and request limits may be lower.\",\n} as const;\nexport type ModelCapability = keyof typeof MODEL_CAPABILITY_DESCRIPTIONS;\nconst INPUT_BADGES: Partial<Record<ModelModality, ModelCapability>> = {\n image: \"Vision\",\n pdf: \"PDF\",\n audio: \"Audio\",\n video: \"Video\",\n};\nconst OUTPUT_BADGES: Partial<Record<ModelModality, ModelCapability>> = {\n image: \"Image generation\",\n audio: \"Speech generation\",\n video: \"Video generation\",\n};\nconst FEATURE_BADGES: Record<ModelFeature, ModelCapability> = {\n reasoning: \"Reasoning\",\n tools: \"Tools\",\n \"structured-output\": \"Structured\",\n \"prompt-cache\": \"Caching\",\n \"web-search\": \"Search\",\n};\n/** Derive badges from explicit evidence; do not infer support from model names. */\nexport const modelCapabilities = (\n metadata?: ModelMetadata,\n): ModelCapability[] => {\n if (!metadata) return [];\n const badges = new Set<ModelCapability>();\n for (const feature of metadata.features) badges.add(FEATURE_BADGES[feature]);\n for (const input of metadata.input) {\n const badge = INPUT_BADGES[input];\n if (badge) badges.add(badge);\n }\n for (const output of metadata.output) {\n const badge = OUTPUT_BADGES[output];\n if (badge) badges.add(badge);\n }\n if (metadata.contextWindow && metadata.contextWindow >= 200_000)\n badges.add(\"Long context\");\n return [...badges];\n};\nexport { MODEL_METADATA, getModelMetadata } from \"./catalog\";\n\nexport {\n MODEL_REASONING,\n REASONING_EFFORTS,\n getModelReasoning,\n isReasoningSelection,\n supportsReasoningSelection,\n reasoningSelectionLabel,\n type ModelReasoning,\n type ReasoningSelection,\n} from \"./reasoning\";\n\nexport {\n MODEL_DIRECTORY,\n MODEL_PROVIDERS,\n findModel,\n listModels,\n modelKey,\n recommendModel,\n recommendTier,\n type ListedModel,\n type ModelDirectoryEntry,\n type ModelTier,\n} from \"./directory\";\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "B00BA05FE5829EFA64756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "84C9753B943C804C64756E2164756E21",
12
12
  "names": []
13
13
  }
@@ -1,6 +1,4 @@
1
1
  // @bun
2
- var __require = import.meta.require;
3
-
4
2
  // src/ai/inputCapacity.ts
5
3
  class AIInputError extends Error {
6
4
  code;
@@ -575,13 +573,13 @@ var compatibleReasoningBody = (provider, model, reasoning) => {
575
573
  var geminiThinkingConfig = (model, reasoning) => {
576
574
  if (!reasoning)
577
575
  return;
578
- const profile2 = getModelReasoning("google", model);
576
+ const profile = getModelReasoning("google", model);
579
577
  const effort = resolveEffort(reasoning);
580
- if (!profile2 || !effort)
578
+ if (!profile || !effort)
581
579
  return;
582
- if (!profile2.efforts.includes(effort))
580
+ if (!profile.efforts.includes(effort))
583
581
  throw new Error(`Unsupported reasoning effort ${effort} for ${model}`);
584
- if (profile2.kind === "effort")
582
+ if (profile.kind === "effort")
585
583
  return { thinkingLevel: effort };
586
584
  const budgets = {
587
585
  none: 0,
@@ -735,9 +733,15 @@ var buildRequestBody = (params, configuredMax, configCaching) => {
735
733
  const options = requestOptionsFor(params);
736
734
  const messages = params.messages.filter((msg) => msg.role !== "system").map(mapMessage);
737
735
  if (caching && messages.length > 1) {
738
- const last = messages[messages.length - 1];
736
+ const lastIndex = messages.length - 1;
737
+ const last = messages[lastIndex];
739
738
  if (last) {
740
- messages[messages.length - 1] = cacheLastContentBlock(last);
739
+ messages[lastIndex] = cacheLastContentBlock(last);
740
+ }
741
+ const previousUserIndex = messages.findLastIndex((message, index) => index < lastIndex - 1 && message.role === "user");
742
+ const previous = messages[previousUserIndex];
743
+ if (previous) {
744
+ messages[previousUserIndex] = cacheLastContentBlock(previous);
741
745
  }
742
746
  }
743
747
  const max = typeof params.maxTokens === "number" ? params.maxTokens : configuredMax;
@@ -1156,16 +1160,16 @@ async function* parseSSEStream(body, providerName, signal) {
1156
1160
  reader.releaseLock();
1157
1161
  }
1158
1162
  }
1159
- var fetchAndStream = async function* (baseUrl, config2, params, configuredMax, promptCaching, providerName) {
1163
+ var fetchAndStream = async function* (baseUrl, config, params, configuredMax, promptCaching, providerName) {
1160
1164
  const builtBody = buildRequestBody(params, configuredMax, promptCaching);
1161
- const body = config2.transformRequestBody ? config2.transformRequestBody(builtBody, params) : builtBody;
1165
+ const body = config.transformRequestBody ? config.transformRequestBody(builtBody, params) : builtBody;
1162
1166
  const target = `${baseUrl}/v1/messages`;
1163
- const fetchImpl = config2.fetch ?? fetch;
1164
- const token = config2.tokenSource ? await Promise.resolve(config2.tokenSource()) : config2.apiKey;
1165
- const suppliedHeaders = typeof config2.headers === "function" ? await config2.headers(params) : config2.headers ?? {};
1167
+ const fetchImpl = config.fetch ?? fetch;
1168
+ const token = config.tokenSource ? await Promise.resolve(config.tokenSource()) : config.apiKey;
1169
+ const suppliedHeaders = typeof config.headers === "function" ? await config.headers(params) : config.headers ?? {};
1166
1170
  const requestHeaders = new Headers(suppliedHeaders);
1167
1171
  requestHeaders.set("Content-Type", "application/json");
1168
- if (config2.authStyle === "bearer") {
1172
+ if (config.authStyle === "bearer") {
1169
1173
  requestHeaders.set("Authorization", `Bearer ${token}`);
1170
1174
  } else {
1171
1175
  requestHeaders.set("anthropic-version", API_VERSION);
@@ -1191,24 +1195,24 @@ var fetchAndStream = async function* (baseUrl, config2, params, configuredMax, p
1191
1195
  }
1192
1196
  yield* parseSSEStream(response.body, providerName, params.signal);
1193
1197
  };
1194
- var anthropic = (config2) => {
1195
- if (!config2.apiKey && !config2.tokenSource)
1198
+ var anthropic = (config) => {
1199
+ if (!config.apiKey && !config.tokenSource)
1196
1200
  throw new Error("anthropic() requires either apiKey or tokenSource");
1197
- const baseUrl = config2.baseUrl ?? DEFAULT_BASE_URL;
1198
- const configuredMax = config2.maxTokens ?? DEFAULT_MAX_TOKENS;
1199
- const promptCaching = config2.promptCaching ?? true;
1200
- const providerName = config2.providerName ?? "anthropic";
1201
+ const baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;
1202
+ const configuredMax = config.maxTokens ?? DEFAULT_MAX_TOKENS;
1203
+ const promptCaching = config.promptCaching ?? true;
1204
+ const providerName = config.providerName ?? "anthropic";
1201
1205
  const capacityRequest = async (params, path, body) => {
1202
- const token = config2.tokenSource ? await config2.tokenSource() : config2.apiKey;
1203
- const headers = new Headers(typeof config2.headers === "function" ? await config2.headers(params) : config2.headers);
1206
+ const token = config.tokenSource ? await config.tokenSource() : config.apiKey;
1207
+ const headers = new Headers(typeof config.headers === "function" ? await config.headers(params) : config.headers);
1204
1208
  headers.set("Content-Type", "application/json");
1205
- if (config2.authStyle === "bearer")
1209
+ if (config.authStyle === "bearer")
1206
1210
  headers.set("Authorization", `Bearer ${token}`);
1207
1211
  else {
1208
1212
  headers.set("anthropic-version", API_VERSION);
1209
1213
  headers.set("x-api-key", token);
1210
1214
  }
1211
- return capacityJson(await (config2.fetch ?? fetch)(`${baseUrl}${path}`, {
1215
+ return capacityJson(await (config.fetch ?? fetch)(`${baseUrl}${path}`, {
1212
1216
  method: body ? "POST" : "GET",
1213
1217
  headers,
1214
1218
  body: body ? JSON.stringify(body) : undefined,
@@ -1217,7 +1221,7 @@ var anthropic = (config2) => {
1217
1221
  };
1218
1222
  const countingRequest = (params) => {
1219
1223
  const built = buildRequestBody(params, configuredMax, promptCaching);
1220
- const body = config2.transformRequestBody ? config2.transformRequestBody(built, params) : built;
1224
+ const body = config.transformRequestBody ? config.transformRequestBody(built, params) : built;
1221
1225
  const counted = {};
1222
1226
  for (const key of [
1223
1227
  "model",
@@ -1247,7 +1251,7 @@ var anthropic = (config2) => {
1247
1251
  const inputCapacity = {
1248
1252
  outputTokens: (params) => {
1249
1253
  const built = buildRequestBody(params, configuredMax, promptCaching);
1250
- const body = config2.transformRequestBody ? config2.transformRequestBody(built, params) : built;
1254
+ const body = config.transformRequestBody ? config.transformRequestBody(built, params) : built;
1251
1255
  return positiveTokenLimit(body.max_tokens);
1252
1256
  },
1253
1257
  getLimits: cacheModelLimits(async (params) => {
@@ -1258,7 +1262,7 @@ var anthropic = (config2) => {
1258
1262
  contextWindowTokens: context,
1259
1263
  maxOutputTokens: positiveTokenLimit(data.max_tokens)
1260
1264
  };
1261
- }, config2.tokenSource || typeof config2.headers === "function" ? 0 : 300000),
1265
+ }, config.tokenSource || typeof config.headers === "function" ? 0 : 300000),
1262
1266
  countScope: (params) => countingRequest(params).scope,
1263
1267
  countTokens: async (params) => {
1264
1268
  const { counted } = countingRequest(params);
@@ -1267,12 +1271,12 @@ var anthropic = (config2) => {
1267
1271
  };
1268
1272
  return instrumentAIProvider({
1269
1273
  inputCapacity,
1270
- stream: (params) => fetchAndStream(baseUrl, config2, params, configuredMax, promptCaching, providerName)
1274
+ stream: (params) => fetchAndStream(baseUrl, config, params, configuredMax, promptCaching, providerName)
1271
1275
  }, providerName);
1272
1276
  };
1273
1277
  export {
1274
1278
  anthropic
1275
1279
  };
1276
1280
 
1277
- //# debugId=DEE7CAB27B404EC764756E2164756E21
1281
+ //# debugId=0F1301D0EAAFB06664756E2164756E21
1278
1282
  //# sourceMappingURL=anthropic.js.map