murmur-rag 0.1.2 → 1.1.0
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/README.md +23 -19
- package/dist/cdn/anthropic-dc7h9prc.js +2 -0
- package/dist/cdn/chunk-hpx6rpea.js +1 -0
- package/dist/cdn/{embed-hn0r8fmg.js → embed-6gef7ym5.js} +2 -2
- package/dist/cdn/{embed-59r4jck6.js → embed-acjpjh6t.js} +3 -3
- package/dist/cdn/embed-fd96s8qk.js +44 -0
- package/dist/cdn/embed-jdraznwg.js +83 -0
- package/dist/cdn/{embed-q6y6vgv1.js → embed-krrjjyf5.js} +4 -4
- package/dist/cdn/{embed-we24qtes.js → embed-ssqsb38w.js} +2 -2
- package/dist/cdn/embed-z32y952f.js +9 -0
- package/dist/cdn/google-yywkqdph.js +14 -0
- package/dist/cdn/index-bq0x71h1.js +1 -0
- package/dist/cdn/index-gyd02jvt.js +9 -0
- package/dist/cdn/index-jt6n0d28.js +1 -0
- package/dist/cdn/index-nesgnf2n.js +1 -0
- package/dist/cdn/index-wgzgvzaf.js +1 -0
- package/dist/cdn/mistral-0mg4kk7s.js +3 -0
- package/dist/cdn/murmur-j1ky5vmr.js +5 -0
- package/dist/cdn/murmur.js +24 -5
- package/dist/cdn/openai-compatible-zhaj1r43.js +11 -0
- package/dist/cdn/openai-g1685z9v.js +18 -0
- package/dist/cdn/retriever-dqxzjaqk.js +1 -0
- package/dist/cdn/transformers.web-3kmbvcbt.js +46 -0
- package/dist/cli.js +10 -5
- package/dist/lib/chunks/{index-fs6gmhz9.js → index-8h9c8ekq.js} +4 -2
- package/dist/lib/chunks/{index-0x7gav29.js → index-92w507gk.js} +304 -27
- package/dist/lib/chunks/{index-6re28wc1.js → index-b77xqap3.js} +13 -1
- package/dist/lib/chunks/{index-z8pn9sdj.js → index-p86sy3y4.js} +17 -4
- package/dist/lib/chunks/{murmur-wq1d15n7.js → murmur-t36hd4vt.js} +2 -2
- package/dist/lib/chunks/{retriever-1rw4z2n6.js → retriever-wxshtnm0.js} +1 -1
- package/dist/lib/embed.js +4 -2
- package/dist/lib/index.js +5 -3
- package/dist/lib/indexer/index.js +10 -5
- package/dist/lib/local/index.js +163 -0
- package/dist/lib/rag/index.js +13 -11
- package/dist/lib/widget/index.js +2 -2
- package/dist/types/local/index.d.ts +56 -0
- package/dist/types/rag/ground.d.ts +7 -0
- package/dist/types/rag/index.d.ts +1 -1
- package/dist/types/widget/element.d.ts +3 -0
- package/dist/types/widget/i18n.d.ts +14 -0
- package/dist/types/widget/session.d.ts +20 -1
- package/dist/types/widget/styles.d.ts +1 -1
- package/package.json +18 -3
- package/dist/cdn/anthropic-w7nkjk5e.js +0 -2
- package/dist/cdn/chunk-e0j28zmb.js +0 -1
- package/dist/cdn/embed-2xm309sb.js +0 -7
- package/dist/cdn/embed-n7jskdxd.js +0 -44
- package/dist/cdn/embed-sgjh2kg2.js +0 -83
- package/dist/cdn/google-qha5xyx4.js +0 -14
- package/dist/cdn/index-11c9cspb.js +0 -1
- package/dist/cdn/index-e5entetm.js +0 -1
- package/dist/cdn/index-kk9hgxdc.js +0 -1
- package/dist/cdn/index-zrmby2xc.js +0 -9
- package/dist/cdn/mistral-16bekg8b.js +0 -3
- package/dist/cdn/murmur-5vkc01ns.js +0 -5
- package/dist/cdn/openai-compatible-za7hc1fv.js +0 -11
- package/dist/cdn/openai-dhy4fp4c.js +0 -18
- package/dist/cdn/retriever-k9mmdcz5.js +0 -1
package/README.md
CHANGED
|
@@ -12,17 +12,18 @@ An AI chat bubble for any website that answers from the site's own pages, cites
|
|
|
12
12
|
|
|
13
13
|
Paste the line before `</body>`. Without options, the bubble answers from the page the visitor is on and each visitor brings their own AI key. The [configurator](https://maxgfr.github.io/murmur/#wire) writes the line for you.
|
|
14
14
|
|
|
15
|
-
| Attribute |
|
|
16
|
-
| ---------------------------------------------------------------- |
|
|
17
|
-
| `data-index` | URL of the index written by `murmur index` (`/murmur-index.json`). Without it, the current page is read
|
|
18
|
-
| `data-endpoint` | Your OpenAI-compatible proxy (https): visitors chat without a key
|
|
19
|
-
| `data-
|
|
20
|
-
| `data-
|
|
21
|
-
| `data-
|
|
22
|
-
| `data-
|
|
23
|
-
| `data-
|
|
24
|
-
| `data-
|
|
25
|
-
| `data-
|
|
15
|
+
| Attribute | |
|
|
16
|
+
| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| `data-index` | URL of the index written by `murmur index` (`/murmur-index.json`). Without it, the current page is read |
|
|
18
|
+
| `data-endpoint` | Your OpenAI-compatible proxy (https): visitors chat without a key |
|
|
19
|
+
| `data-local` | `true`: a model runs in the visitor's browser on WebGPU (LFM3 1.7B, about 1.1 GB once). No key, no server |
|
|
20
|
+
| `data-provider`, `data-model` | Provider and model preselected for visitors, or the model asked of the proxy |
|
|
21
|
+
| `data-instructions` | Your instructions to the assistant |
|
|
22
|
+
| `data-title`, `data-greeting`, `data-placeholder`, `data-button` | Texts of the panel |
|
|
23
|
+
| `data-lang` | `en` or `fr` (default: the page's `lang`, then the browser's) |
|
|
24
|
+
| `data-position` | `bottom-right` (default) or `bottom-left` |
|
|
25
|
+
| `data-accent`, `data-theme` | Any CSS colour; `auto`, `light` or `dark` |
|
|
26
|
+
| `data-open`, `data-storage-key` | Open on load; prefix of what the widget stores |
|
|
26
27
|
|
|
27
28
|
The widget lives in a Shadow DOM and is restyled through `--murmur-accent`, `--murmur-accent-ink`, `--murmur-font`, `--murmur-radius` and `--murmur-z`. It emits `murmur:state` events (`searching`, `streaming`, `done`, `error`) with the passages found and cited.
|
|
28
29
|
|
|
@@ -39,6 +40,7 @@ Reads every `.html`, `.md` and `.txt` file (or a live `sitemap.xml`), keeps the
|
|
|
39
40
|
A key in a web page is readable by anyone, so murmur never puts one there:
|
|
40
41
|
|
|
41
42
|
- **Your proxy holds the key.** Deploy [`examples/cloudflare-worker`](examples/cloudflare-worker) (about 40 lines): it keeps the key as a secret, allows only your origin, fixes the model and caps answers. Then `data-endpoint="https://murmur-proxy.you.workers.dev/v1"`.
|
|
43
|
+
- **No key at all.** `data-local="true"` runs [LFM3 1.7B](https://huggingface.co/LiquidAI/LFM3-1.7B) (Liquid AI, October 2026) in the visitor's browser on WebGPU through Transformers.js. The widget asks before downloading about 1.1 GB, then the weights stay in the browser's cache and questions never leave the device. Slower and less precise than a hosted model; visitors can also pick it from the AI settings.
|
|
42
44
|
- **Each visitor brings theirs.** The first question opens the AI settings, built on llm-connect's store: provider and model from the [llm-models](https://github.com/maxgfr/llm-models) catalog, the key encrypted with AES-GCM under a non-extractable browser key and sent only to that provider, or a local Ollama / LM Studio.
|
|
43
45
|
|
|
44
46
|
## npm package
|
|
@@ -47,14 +49,15 @@ A key in a web page is readable by anyone, so murmur never puts one there:
|
|
|
47
49
|
npm install murmur-rag
|
|
48
50
|
```
|
|
49
51
|
|
|
50
|
-
| Import |
|
|
51
|
-
| -------------------- |
|
|
52
|
-
| `murmur-rag` | `createMurmur({ index \| retriever, model })`: `ask()` streams an answer and its cited passages, no UI
|
|
53
|
-
| `murmur-rag/rag` | `bm25Retriever`, `buildIndex`, `splitText`, `formatSources`, `citedSources`, the `Retriever` interface
|
|
54
|
-
| `murmur-rag/indexer` | `indexPages`, `indexDocument`, `extractSections` (Node or browser)
|
|
55
|
-
| `murmur-rag/llm` | `proxySettings`, `visitorStore`, `resolveSettings` on top of llm-connect
|
|
56
|
-
| `murmur-rag/
|
|
57
|
-
| `murmur-rag/
|
|
52
|
+
| Import | |
|
|
53
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
54
|
+
| `murmur-rag` | `createMurmur({ index \| retriever, model })`: `ask()` streams an answer and its cited passages, no UI |
|
|
55
|
+
| `murmur-rag/rag` | `bm25Retriever`, `buildIndex`, `splitText`, `formatSources`, `citedSources`, the `Retriever` interface |
|
|
56
|
+
| `murmur-rag/indexer` | `indexPages`, `indexDocument`, `extractSections` (Node or browser) |
|
|
57
|
+
| `murmur-rag/llm` | `proxySettings`, `visitorStore`, `resolveSettings` on top of llm-connect |
|
|
58
|
+
| `murmur-rag/local` | `localModel()`: an AI SDK model running in the page on WebGPU (needs the optional peer `@huggingface/transformers`) |
|
|
59
|
+
| `murmur-rag/widget` | `mountMurmur`, `defineMurmurChat`, `MurmurChat`, `renderMarkdown` |
|
|
60
|
+
| `murmur-rag/embed` | The script-tag entry |
|
|
58
61
|
|
|
59
62
|
```ts
|
|
60
63
|
import { createMurmur } from "murmur-rag";
|
|
@@ -79,6 +82,7 @@ Any object with `search(query)` returning passages replaces BM25 (embeddings, a
|
|
|
79
82
|
- The index downloads with the first question: fine for hundreds of pages, not tens of thousands.
|
|
80
83
|
- In visitor-key mode the provider must accept browser calls (CORS).
|
|
81
84
|
- Grounding reduces invented answers; it does not end them.
|
|
85
|
+
- The in-browser model needs WebGPU and about 1.1 GB on first use, and answers with less nuance than a hosted model.
|
|
82
86
|
|
|
83
87
|
## Privacy
|
|
84
88
|
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{oe,qt,Be,ht,gt}from"./embed-6gef7ym5.js";import{et}from"./embed-acjpjh6t.js";import{w,b,P,Ge,u,e,r,c,v,Ae,o,t,U,l,f,ce,y,bn,i,n,G,k,T,d,ae,N,M,we,le,xe,st,qe,q,z,de,C,R,Fe,L,he,pe,W,Se,it,ge,Q,a,s,x,j,h,g,ne,re,S,_,O,H,I,D,p,_e,E,pt,Y,Ke}from"./embed-jdraznwg.js";var Io=a(()=>s(t({type:n("error"),error:t({type:e(),message:e()})}))),ct=I({errorSchema:Io,errorToMessage:(m)=>m.error.message}),Ao=a(()=>s(t({id:e(),type:n("file"),filename:e(),mime_type:e(),size_bytes:r(),created_at:e(),downloadable:c().nullish()}))),Ro=class{get provider(){return this.config.provider}constructor(m){this.config=m,this.specificationVersion="v4"}async uploadFile({data:m,mediaType:A,filename:B,abortSignal:V,headers:me}){let Ne=we(m),K=new Blob([Ne],{type:A}),ie=new FormData;if(B!=null)ie.append("file",K,B);else ie.append("file",K);let{value:se}=await ne({url:`${this.config.baseURL}/files`,headers:d(await _(this.config.headers),{"anthropic-beta":"files-api-2025-04-14"},me),formData:ie,failedResponseHandler:ct,successfulResponseHandler:p(Ao),abortSignal:V,fetch:this.config.fetch});return{warnings:[],providerReference:{anthropic:se.id},mediaType:se.mime_type??A,filename:se.filename??B,providerMetadata:{anthropic:{filename:se.filename,mimeType:se.mime_type,sizeBytes:se.size_bytes,createdAt:se.created_at,...se.downloadable!=null?{downloadable:se.downloadable}:{}}}}}};function Bt(m,A){if(m.type==="web_search_result_location"||m.type==="search_result_location"){let V=m.type==="web_search_result_location"?m.url:m.source;return{source:{type:"source",sourceType:"url",id:V,url:V,title:m.title??void 0,providerMetadata:{anthropic:{...m}}},citedText:m.cited_text}}let B=A[m.document_index];return{source:{type:"source",sourceType:"document",id:m.file_id??String(m.document_index),mediaType:B?.mediaType??"text/plain",title:m.document_title??B?.title??`Document ${m.document_index}`,filename:B?.filename,providerMetadata:{anthropic:{...m}}},citedText:m.cited_text}}var Ut=()=>t({type:n("fallback"),from:t({model:e()}),to:t({model:e()})}),Bo=a(()=>s(Ut())),ao=()=>t({type:e(),category:e().nullish(),explanation:e().nullish(),recommended_model:e().nullish()}),io=()=>t({type:e(),status:t({type:e(),tool_uses:y(e(),t({type:e(),outcome:e().nullish(),explanation:e().nullish()})).nullish()})}),ut=()=>l([t({type:n("code_execution_20250825"),tool_id:e()}),t({type:n("code_execution_20260120"),tool_id:e()}),t({type:n("direct")})]),so=()=>f("type",[t({type:n("web_search_result_location"),cited_text:e(),url:e(),title:e().nullable(),encrypted_index:e()}),t({type:n("page_location"),cited_text:e(),document_index:r(),document_title:e().nullable(),start_page_number:r(),end_page_number:r(),file_id:e().nullish()}),t({type:n("char_location"),cited_text:e(),document_index:r(),document_title:e().nullable(),start_char_index:r(),end_char_index:r(),file_id:e().nullish()}),t({type:n("content_block_location"),cited_text:e(),document_index:r(),document_title:e().nullable(),start_block_index:r(),end_block_index:r(),file_id:e().nullable()}),t({type:n("search_result_location"),cited_text:e(),search_result_index:r(),source:e(),title:e().nullable(),start_block_index:r(),end_block_index:r()})]),lo=()=>l([e(),o(l([e(),t({type:n("text"),text:e(),citations:o(G()).nullable().optional()})]))]),Et=()=>t({type:e(),path:e(),reason:e()}),Ct=a(()=>s(t({type:n("message"),id:e().nullish(),model:e().nullish(),content:o(f("type",[t({type:n("text"),text:e(),citations:o(so()).nullable().optional()}),t({type:n("thinking"),thinking:e(),signature:e()}),t({type:n("redacted_thinking"),data:e()}),t({type:n("compaction"),content:e().nullish(),signature:e().nullish()}),t({type:n("tool_use"),id:e(),name:e(),input:v(),caller:ut().optional(),toolset_name:e().nullish()}),t({type:n("server_tool_use"),id:e(),name:e(),input:y(e(),v()).nullish(),caller:ut().optional()}),t({type:n("mcp_tool_use"),id:e(),name:e(),input:v(),server_name:e()}),t({type:n("mcp_tool_result"),tool_use_id:e(),is_error:c(),content:lo()}),t({type:n("web_fetch_tool_result"),tool_use_id:e(),caller:ut().optional(),content:l([t({type:n("web_fetch_result"),url:e(),retrieved_at:e().nullable(),content:t({type:n("document"),title:e().nullable(),citations:t({enabled:c()}).optional(),source:l([t({type:n("base64"),media_type:n("application/pdf"),data:e()}),t({type:n("text"),media_type:n("text/plain"),data:e()})])})}),t({type:n("web_fetch_tool_result_error"),error_code:e()})])}),t({type:n("web_search_tool_result"),tool_use_id:e(),caller:ut().optional(),content:l([o(t({type:n("web_search_result"),url:e(),title:e().nullable(),encrypted_content:e(),page_age:e().nullish()})),t({type:n("web_search_tool_result_error"),error_code:e()})])}),t({type:n("code_execution_tool_result"),tool_use_id:e(),content:l([t({type:n("code_execution_result"),stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("encrypted_code_execution_result"),encrypted_stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("code_execution_tool_result_error"),error_code:e()})])}),t({type:n("bash_code_execution_tool_result"),tool_use_id:e(),content:f("type",[t({type:n("bash_code_execution_result"),content:o(t({type:n("bash_code_execution_output"),file_id:e()})),stdout:e(),stderr:e(),return_code:r()}),t({type:n("bash_code_execution_tool_result_error"),error_code:e()})])}),t({type:n("text_editor_code_execution_tool_result"),tool_use_id:e(),content:f("type",[t({type:n("text_editor_code_execution_tool_result_error"),error_code:e()}),t({type:n("text_editor_code_execution_view_result"),content:e(),file_type:e(),num_lines:r().nullable(),start_line:r().nullable(),total_lines:r().nullable()}),t({type:n("text_editor_code_execution_create_result"),is_file_update:c()}),t({type:n("text_editor_code_execution_str_replace_result"),lines:o(e()).nullable(),new_lines:r().nullable(),new_start:r().nullable(),old_lines:r().nullable(),old_start:r().nullable()})])}),t({type:n("tool_search_tool_result"),tool_use_id:e(),content:l([t({type:n("tool_search_tool_search_result"),tool_references:o(t({type:n("tool_reference"),tool_name:e()}))}),t({type:n("tool_search_tool_result_error"),error_code:e()})])}),t({type:n("container_upload"),file_id:e()}),t({type:n("advisor_tool_result"),tool_use_id:e(),content:f("type",[t({type:n("advisor_result"),text:e(),stop_reason:e().nullish()}),t({type:n("advisor_redacted_result"),encrypted_content:e(),stop_reason:e().nullish()}),t({type:n("advisor_tool_result_error"),error_code:e()})])}),Ut()])),stop_reason:e().nullish(),stop_sequence:e().nullish(),stop_details:ao().nullish(),input_transformations:o(Et()).nullish(),safeguard_results:o(io()).nullish(),usage:U({input_tokens:r(),output_tokens:r(),output_tokens_details:t({thinking_tokens:r().nullish()}).nullish(),cache_creation_input_tokens:r().nullish(),cache_read_input_tokens:r().nullish(),iterations:o(t({type:l([n("compaction"),n("message"),n("advisor_message"),n("fallback_message")]),model:e().nullish(),input_tokens:r(),output_tokens:r(),cache_creation_input_tokens:r().nullish(),cache_read_input_tokens:r().nullish()})).nullish()}),container:t({expires_at:e(),id:e(),skills:o(t({type:l([n("anthropic"),n("custom")]),skill_id:e(),version:e()})).nullish()}).nullish(),context_management:t({applied_edits:o(l([t({type:n("clear_tool_uses_20250919"),cleared_tool_uses:r(),cleared_input_tokens:r()}),t({type:n("clear_thinking_20251015"),cleared_thinking_turns:r(),cleared_input_tokens:r()}),t({type:n("compact_20260112")})]))}).nullish()}))),Eo=a(()=>s(f("type",[t({type:n("message_start"),message:t({id:e().nullish(),model:e().nullish(),role:e().nullish(),usage:U({input_tokens:r(),cache_creation_input_tokens:r().nullish(),cache_read_input_tokens:r().nullish()}),content:o(f("type",[t({type:n("tool_use"),id:e(),name:e(),input:v(),caller:ut().optional(),toolset_name:e().nullish()})])).nullish(),stop_reason:e().nullish(),input_transformations:o(Et()).nullish(),container:t({expires_at:e(),id:e()}).nullish()})}),t({type:n("content_block_start"),index:r(),content_block:f("type",[t({type:n("text"),text:e()}),t({type:n("thinking"),thinking:e()}),t({type:n("tool_use"),id:e(),name:e(),input:y(e(),v()).optional(),caller:ut().optional(),toolset_name:e().nullish()}),t({type:n("redacted_thinking"),data:e()}),t({type:n("compaction"),content:e().nullish(),signature:e().nullish()}),t({type:n("server_tool_use"),id:e(),name:e(),input:y(e(),v()).nullish(),caller:ut().optional()}),t({type:n("mcp_tool_use"),id:e(),name:e(),input:v(),server_name:e()}),t({type:n("mcp_tool_result"),tool_use_id:e(),is_error:c(),content:lo()}),t({type:n("web_fetch_tool_result"),tool_use_id:e(),caller:ut().optional(),content:l([t({type:n("web_fetch_result"),url:e(),retrieved_at:e().nullable(),content:t({type:n("document"),title:e().nullable(),citations:t({enabled:c()}).optional(),source:l([t({type:n("base64"),media_type:n("application/pdf"),data:e()}),t({type:n("text"),media_type:n("text/plain"),data:e()})])})}),t({type:n("web_fetch_tool_result_error"),error_code:e()})])}),t({type:n("web_search_tool_result"),tool_use_id:e(),caller:ut().optional(),content:l([o(t({type:n("web_search_result"),url:e(),title:e().nullable(),encrypted_content:e(),page_age:e().nullish()})),t({type:n("web_search_tool_result_error"),error_code:e()})])}),t({type:n("code_execution_tool_result"),tool_use_id:e(),content:l([t({type:n("code_execution_result"),stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("encrypted_code_execution_result"),encrypted_stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("code_execution_tool_result_error"),error_code:e()})])}),t({type:n("bash_code_execution_tool_result"),tool_use_id:e(),content:f("type",[t({type:n("bash_code_execution_result"),content:o(t({type:n("bash_code_execution_output"),file_id:e()})),stdout:e(),stderr:e(),return_code:r()}),t({type:n("bash_code_execution_tool_result_error"),error_code:e()})])}),t({type:n("text_editor_code_execution_tool_result"),tool_use_id:e(),content:f("type",[t({type:n("text_editor_code_execution_tool_result_error"),error_code:e()}),t({type:n("text_editor_code_execution_view_result"),content:e(),file_type:e(),num_lines:r().nullable(),start_line:r().nullable(),total_lines:r().nullable()}),t({type:n("text_editor_code_execution_create_result"),is_file_update:c()}),t({type:n("text_editor_code_execution_str_replace_result"),lines:o(e()).nullable(),new_lines:r().nullable(),new_start:r().nullable(),old_lines:r().nullable(),old_start:r().nullable()})])}),t({type:n("tool_search_tool_result"),tool_use_id:e(),content:l([t({type:n("tool_search_tool_search_result"),tool_references:o(t({type:n("tool_reference"),tool_name:e()}))}),t({type:n("tool_search_tool_result_error"),error_code:e()})])}),t({type:n("advisor_tool_result"),tool_use_id:e(),content:f("type",[t({type:n("advisor_result"),text:e(),stop_reason:e().nullish()}),t({type:n("advisor_redacted_result"),encrypted_content:e(),stop_reason:e().nullish()}),t({type:n("advisor_tool_result_error"),error_code:e()})])}),Ut()])}),t({type:n("content_block_delta"),index:r(),delta:f("type",[t({type:n("input_json_delta"),partial_json:e()}),t({type:n("text_delta"),text:e()}),t({type:n("thinking_delta"),thinking:e()}),t({type:n("signature_delta"),signature:e()}),t({type:n("compaction_delta"),content:e().nullish()}),t({type:n("citations_delta"),citation:so()})])}),t({type:n("content_block_stop"),index:r()}),t({type:n("error"),error:t({type:e(),message:e(),code:l([e(),r()]).nullish(),statusCode:r().nullish(),isRetryable:c().nullish(),data:v().nullish()})}),t({type:n("message_delta"),delta:t({stop_reason:e().nullish(),stop_sequence:e().nullish(),stop_details:ao().nullish(),safeguard_results:o(io()).nullish(),container:t({expires_at:e(),id:e(),skills:o(t({type:l([n("anthropic"),n("custom")]),skill_id:e(),version:e()})).nullish()}).nullish()}),usage:U({input_tokens:r().nullish(),output_tokens:r(),output_tokens_details:t({thinking_tokens:r().nullish()}).nullish(),cache_creation_input_tokens:r().nullish(),cache_read_input_tokens:r().nullish(),iterations:o(t({type:l([n("compaction"),n("message"),n("advisor_message"),n("fallback_message")]),model:e().nullish(),input_tokens:r(),output_tokens:r(),cache_creation_input_tokens:r().nullish(),cache_read_input_tokens:r().nullish()})).nullish()}),input_transformations:o(Et()).nullish(),context_management:t({applied_edits:o(l([t({type:n("clear_tool_uses_20250919"),cleared_tool_uses:r(),cleared_input_tokens:r()}),t({type:n("clear_thinking_20251015"),cleared_thinking_turns:r(),cleared_input_tokens:r()}),t({type:n("compact_20260112")})]))}).nullish()}),t({type:n("message_stop")}),t({type:n("ping")})]))),Mo=a(()=>s(t({signature:e().optional(),redactedData:e().optional()}))),It=a(()=>s(t({containerUpload:c().optional(),citations:t({enabled:c()}).optional(),title:e().optional(),context:e().optional()}))),Uo=a(()=>s(t({clearAt:n("next_user_message").optional(),effort:i(["low","medium","high","xhigh","max"]).optional(),toolChanges:o(f("type",[t({type:n("tool_addition"),toolName:e()}),t({type:n("tool_removal"),toolName:e()})])).optional()}))),Jt=a(()=>s(t({sendReasoning:c().optional(),structuredOutputMode:i(["outputFormat","jsonTool","auto"]).optional(),thinking:l([f("type",[t({type:n("adaptive"),display:i(["omitted","summarized","updates"]).optional(),blockBinding:t({prefixMismatchBehavior:i(["error","drop_block"])}).optional()}),t({type:n("enabled"),budgetTokens:r().optional()}),t({type:n("disabled")}),t({type:n("between_tools")})]),t({type:Ae().optional(),blockBinding:t({prefixMismatchBehavior:i(["error","drop_block"])})})]).optional(),disableParallelToolUse:c().optional(),cacheControl:t({type:n("ephemeral"),ttl:l([n("5m"),n("1h")]).optional()}).optional(),metadata:t({userId:e().optional()}).optional(),mcpServers:o(t({type:n("url"),name:e(),url:e(),authorizationToken:e().nullish(),toolConfiguration:t({enabled:c().nullish(),allowedTools:o(e()).nullish()}).nullish()})).optional(),container:t({id:e().optional(),skills:o(f("type",[t({type:n("anthropic"),skillId:e(),version:e().optional()}),t({type:n("custom"),providerReference:y(e(),e()),version:e().optional()})])).optional()}).optional(),toolStreaming:c().optional(),effort:i(["low","medium","high","xhigh","max"]).optional(),taskBudget:t({type:n("tokens"),total:r().int().min(20000),remaining:r().int().min(0).optional()}).optional(),speed:i(["fast","standard"]).optional(),serviceTier:i(["auto","standard_only"]).optional(),inferenceGeo:i(["us","global"]).optional(),fallbacks:l([n("default"),o(t({model:e(),max_tokens:r().int().optional(),thinking:y(e(),v()).optional(),output_config:y(e(),v()).optional(),speed:i(["fast","standard"]).optional()}))]).optional(),anthropicBeta:o(e()).optional(),safeguards:o(t({type:n("dangerous_tool_use"),classifierContext:y(e(),v()).optional()})).optional(),compaction:t({type:n("summarize"),instructions:e().optional()}).optional(),contextManagement:t({edits:o(f("type",[t({type:n("clear_tool_uses_20250919"),trigger:f("type",[t({type:n("input_tokens"),value:r()}),t({type:n("tool_uses"),value:r()})]).optional(),keep:t({type:n("tool_uses"),value:r()}).optional(),clearAtLeast:t({type:n("input_tokens"),value:r()}).optional(),clearToolInputs:c().optional(),excludeTools:o(e()).optional()}),t({type:n("clear_thinking_20251015"),keep:l([n("all"),t({type:n("thinking_turns"),value:r()})]).optional()}),t({type:n("compact_20260112"),trigger:t({type:n("input_tokens"),value:r()}).optional(),pauseAfterCompaction:c().optional(),instructions:e().optional()})]))}).optional()}))),Kt=4;function $o(m,A){let B=m?.[A],V=m?.anthropic;return B?.cacheControl??B?.cache_control??V?.cacheControl??V?.cache_control}var $t=class{constructor(m="anthropic"){this.providerOptionsName=m,this.breakpointCount=0,this.warnings=[]}getCacheControl(m,A){let B=$o(m,this.providerOptionsName);if(!B)return;if(!A.canCache){this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${A.type}. It will be ignored.`});return}if(this.breakpointCount++,this.breakpointCount>Kt){this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum ${Kt} cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`});return}return B}getWarnings(){return this.warnings}},qo=a(()=>s(t({model:e(),maxUses:r().optional(),maxTokens:r().int().min(1024).optional(),caching:t({type:n("ephemeral"),ttl:l([n("5m"),n("1h")])}).optional()}))),co=a(()=>s(f("type",[t({type:n("advisor_result"),text:e(),stopReason:e().optional()}),t({type:n("advisor_redacted_result"),encryptedContent:e(),stopReason:e().optional()}),t({type:n("advisor_tool_result_error"),errorCode:e()})]))),Do=a(()=>s(t({}).strict())),Ho=S({id:"anthropic.advisor_20260301",inputSchema:Do,outputSchema:co,supportsDeferredResults:!0}),Po=(m)=>Ho(m),uo=["screenshot","zoom","left_click","right_click","middle_click","double_click","triple_click","left_click_drag","mouse_move","left_mouse_down","left_mouse_up","cursor_position","scroll","type","key","hold_key","wait"],Lo=a(()=>s(t({action:i(uo),coordinate:ce([r().int(),r().int()]).optional(),duration:r().optional(),region:ce([r().int(),r().int(),r().int(),r().int()]).optional(),repeat:r().int().optional(),scroll_amount:r().optional(),scroll_direction:i(["up","down","left","right"]).optional(),start_coordinate:ce([r().int(),r().int()]).optional(),text:e().optional()}))),Fo=a(()=>s(t({configs:bn(i(uo),t({enabled:c().optional(),deferLoading:c().optional()})).optional()}))),Jo=re({id:"anthropic.computer_toolset_20260801",inputSchema:Lo}),Ko=a(()=>s(t({maxCharacters:r().optional()}))),zo=a(()=>s(t({command:i(["view","create","str_replace","insert"]),path:e(),file_text:e().optional(),insert_line:r().int().optional(),new_str:e().optional(),insert_text:e().optional(),old_str:e().optional(),view_range:o(r().int()).optional()}))),Wo=re({id:"anthropic.text_editor_20250728",inputSchema:zo}),Vo=(m={})=>Wo(m),Xo=a(()=>s(t({maxUses:r().optional(),allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional(),userLocation:t({type:n("approximate"),city:e().optional(),region:e().optional(),country:e().optional(),timezone:e().optional()}).optional(),responseInclusion:i(["full","excluded"]).optional()}))),Go=a(()=>s(o(t({url:e(),title:e().nullable(),pageAge:e().nullable(),encryptedContent:e(),type:n("web_search_result")})))),Zo=a(()=>s(t({query:e()}))),Yo=S({id:"anthropic.web_search_20260318",inputSchema:Zo,outputSchema:Go,supportsDeferredResults:!0}),Qo=(m={})=>Yo(m),en=a(()=>s(t({maxUses:r().optional(),allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional(),userLocation:t({type:n("approximate"),city:e().optional(),region:e().optional(),country:e().optional(),timezone:e().optional()}).optional()}))),tn=a(()=>s(o(t({url:e(),title:e().nullable(),pageAge:e().nullable(),encryptedContent:e(),type:n("web_search_result")})))),on=a(()=>s(t({query:e()}))),nn=S({id:"anthropic.web_search_20260209",inputSchema:on,outputSchema:tn,supportsDeferredResults:!0}),rn=(m={})=>nn(m),an=a(()=>s(t({maxUses:r().optional(),allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional(),userLocation:t({type:n("approximate"),city:e().optional(),region:e().optional(),country:e().optional(),timezone:e().optional()}).optional()}))),po=a(()=>s(o(t({url:e(),title:e().nullable(),pageAge:e().nullable(),encryptedContent:e(),type:n("web_search_result")})))),sn=a(()=>s(t({query:e()}))),ln=S({id:"anthropic.web_search_20250305",inputSchema:sn,outputSchema:po,supportsDeferredResults:!0}),cn=(m={})=>ln(m),un=a(()=>s(t({maxUses:r().optional(),allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional(),citations:t({enabled:c()}).optional(),maxContentTokens:r().optional(),useCache:c().optional(),responseInclusion:i(["full","excluded"]).optional()}))),pn=a(()=>s(t({type:n("web_fetch_result"),url:e(),content:t({type:n("document"),title:e().nullable(),citations:t({enabled:c()}).optional(),source:l([t({type:n("base64"),mediaType:n("application/pdf"),data:e()}),t({type:n("text"),mediaType:n("text/plain"),data:e()})])}),retrievedAt:e().nullable()}))),dn=a(()=>s(t({url:e()}))),_n=S({id:"anthropic.web_fetch_20260318",inputSchema:dn,outputSchema:pn,supportsDeferredResults:!0}),hn=(m={})=>_n(m),mn=a(()=>s(t({maxUses:r().optional(),allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional(),citations:t({enabled:c()}).optional(),maxContentTokens:r().optional()}))),gn=a(()=>s(t({type:n("web_fetch_result"),url:e(),content:t({type:n("document"),title:e().nullable(),citations:t({enabled:c()}).optional(),source:l([t({type:n("base64"),mediaType:n("application/pdf"),data:e()}),t({type:n("text"),mediaType:n("text/plain"),data:e()})])}),retrievedAt:e().nullable()}))),fn=a(()=>s(t({url:e()}))),yn=S({id:"anthropic.web_fetch_20260209",inputSchema:fn,outputSchema:gn,supportsDeferredResults:!0}),xn=(m={})=>yn(m),vn=a(()=>s(t({maxUses:r().optional(),allowedDomains:o(e()).optional(),blockedDomains:o(e()).optional(),citations:t({enabled:c()}).optional(),maxContentTokens:r().optional()}))),_o=a(()=>s(t({type:n("web_fetch_result"),url:e(),content:t({type:n("document"),title:e().nullable(),citations:t({enabled:c()}).optional(),source:l([t({type:n("base64"),mediaType:n("application/pdf"),data:e()}),t({type:n("text"),mediaType:n("text/plain"),data:e()})])}),retrievedAt:e().nullable()}))),kn=a(()=>s(t({url:e()}))),wn=S({id:"anthropic.web_fetch_20250910",inputSchema:kn,outputSchema:_o,supportsDeferredResults:!0}),jn=(m={})=>wn(m);async function Tn({tools:m,toolChoice:A,disableParallelToolUse:B,cacheControlValidator:V,supportsStructuredOutput:me,supportsStrictTools:Ne,defaultEagerInputStreaming:K=!1,rejectsForcedToolUse:ie=!1}){m=m?.length?m:void 0;let se=[],fe=new Set,$e=V||new $t;if(m==null)return{tools:void 0,toolChoice:void 0,toolWarnings:se,betas:fe};let Ce=[];for(let ve of m)switch(ve.type){case"function":{let ke=$e.getCacheControl(ve.providerOptions,{type:"tool definition",canCache:!0}),Me=ve.providerOptions?.anthropic,Ve=Me?.eagerInputStreaming??K,Je=Me?.deferLoading,Le=Me?.allowedCallers;if(!Ne&&ve.strict===!0)se.push({type:"unsupported",feature:"strict",details:`Tool '${ve.name}' has strict: ${ve.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`});if(Ce.push({name:ve.name,description:ve.description,input_schema:ve.inputSchema,cache_control:ke,...Ve?{eager_input_streaming:!0}:{},...Ne===!0&&ve.strict!=null?{strict:ve.strict}:{},...Je!=null?{defer_loading:Je}:{},...Le!=null?{allowed_callers:Le}:{},...ve.inputExamples!=null?{input_examples:ve.inputExamples.map((Re)=>Re.input)}:{}}),me===!0)fe.add("structured-outputs-2025-11-13");if(ve.inputExamples!=null||Le!=null)fe.add("advanced-tool-use-2025-11-20");break}case"provider":switch(ve.id){case"anthropic.code_execution_20250522":fe.add("code-execution-2025-05-22"),Ce.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break;case"anthropic.code_execution_20250825":fe.add("code-execution-2025-08-25"),Ce.push({type:"code_execution_20250825",name:"code_execution"});break;case"anthropic.code_execution_20260120":Ce.push({type:"code_execution_20260120",name:"code_execution"});break;case"anthropic.computer_20250124":fe.add("computer-use-2025-01-24"),Ce.push({name:"computer",type:"computer_20250124",display_width_px:ve.args.displayWidthPx,display_height_px:ve.args.displayHeightPx,display_number:ve.args.displayNumber,cache_control:void 0});break;case"anthropic.computer_20251124":fe.add("computer-use-2025-11-24"),Ce.push({name:"computer",type:"computer_20251124",display_width_px:ve.args.displayWidthPx,display_height_px:ve.args.displayHeightPx,display_number:ve.args.displayNumber,enable_zoom:ve.args.enableZoom,cache_control:void 0});break;case"anthropic.computer_toolset_20260801":{let ke=await x({value:ve.args,schema:Fo}),Me=ke.configs!=null?Object.fromEntries(Object.entries(ke.configs).map(([Ve,Je])=>[Ve,{...Je?.enabled!=null&&{enabled:Je.enabled},...Je?.deferLoading!=null&&{defer_loading:Je.deferLoading}}])):void 0;Ce.push({type:"computer_toolset_20260801",...Me!=null&&{configs:Me},cache_control:void 0});break}case"anthropic.computer_20241022":fe.add("computer-use-2024-10-22"),Ce.push({name:"computer",type:"computer_20241022",display_width_px:ve.args.displayWidthPx,display_height_px:ve.args.displayHeightPx,display_number:ve.args.displayNumber,cache_control:void 0});break;case"anthropic.text_editor_20250124":fe.add("computer-use-2025-01-24"),Ce.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break;case"anthropic.text_editor_20241022":fe.add("computer-use-2024-10-22"),Ce.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break;case"anthropic.text_editor_20250429":fe.add("computer-use-2025-01-24"),Ce.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break;case"anthropic.text_editor_20250728":{let ke=await x({value:ve.args,schema:Ko});Ce.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:ke.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":fe.add("computer-use-2025-01-24"),Ce.push({name:"bash",type:"bash_20250124",cache_control:void 0});break;case"anthropic.bash_20241022":fe.add("computer-use-2024-10-22"),Ce.push({name:"bash",type:"bash_20241022",cache_control:void 0});break;case"anthropic.memory_20250818":fe.add("context-management-2025-06-27"),Ce.push({name:"memory",type:"memory_20250818"});break;case"anthropic.web_fetch_20250910":{fe.add("web-fetch-2025-09-10");let ke=await x({value:ve.args,schema:vn});Ce.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:ke.maxUses,allowed_domains:ke.allowedDomains,blocked_domains:ke.blockedDomains,citations:ke.citations,max_content_tokens:ke.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{fe.add("code-execution-web-tools-2026-02-09");let ke=await x({value:ve.args,schema:mn});Ce.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:ke.maxUses,allowed_domains:ke.allowedDomains,blocked_domains:ke.blockedDomains,citations:ke.citations,max_content_tokens:ke.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260318":{let ke=await x({value:ve.args,schema:un});Ce.push({type:"web_fetch_20260318",name:"web_fetch",max_uses:ke.maxUses,allowed_domains:ke.allowedDomains,blocked_domains:ke.blockedDomains,citations:ke.citations,max_content_tokens:ke.maxContentTokens,use_cache:ke.useCache,response_inclusion:ke.responseInclusion,cache_control:void 0});break}case"anthropic.web_search_20250305":{let ke=await x({value:ve.args,schema:an});Ce.push({type:"web_search_20250305",name:"web_search",max_uses:ke.maxUses,allowed_domains:ke.allowedDomains,blocked_domains:ke.blockedDomains,user_location:ke.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{fe.add("code-execution-web-tools-2026-02-09");let ke=await x({value:ve.args,schema:en});Ce.push({type:"web_search_20260209",name:"web_search",max_uses:ke.maxUses,allowed_domains:ke.allowedDomains,blocked_domains:ke.blockedDomains,user_location:ke.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260318":{let ke=await x({value:ve.args,schema:Xo});Ce.push({type:"web_search_20260318",name:"web_search",max_uses:ke.maxUses,allowed_domains:ke.allowedDomains,blocked_domains:ke.blockedDomains,user_location:ke.userLocation,response_inclusion:ke.responseInclusion,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":Ce.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break;case"anthropic.tool_search_bm25_20251119":Ce.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break;case"anthropic.advisor_20260301":{fe.add("advisor-tool-2026-03-01");let ke=await x({value:ve.args,schema:qo});Ce.push({type:"advisor_20260301",name:"advisor",model:ke.model,...ke.maxUses!==void 0&&{max_uses:ke.maxUses},...ke.maxTokens!==void 0&&{max_tokens:ke.maxTokens},...ke.caching!==void 0&&{caching:ke.caching}});break}default:se.push({type:"unsupported",feature:`provider-defined tool ${ve.id}`})}break;default:se.push({type:"unsupported",feature:`tool ${ve}`})}if(A==null)return{tools:Ce,toolChoice:B?{type:"auto",disable_parallel_tool_use:B}:void 0,toolWarnings:se,betas:fe};let Ze=A.type;switch(Ze){case"auto":return{tools:Ce,toolChoice:{type:"auto",disable_parallel_tool_use:B},toolWarnings:se,betas:fe};case"required":if(ie)return se.push({type:"unsupported",feature:"toolChoice",details:"toolChoice 'required' is not supported with this model or thinking configuration. Using 'auto' instead. Instruct the model to use a tool in the prompt and verify that a tool call was made."}),{tools:Ce,toolChoice:{type:"auto",disable_parallel_tool_use:B},toolWarnings:se,betas:fe};return{tools:Ce,toolChoice:{type:"any",disable_parallel_tool_use:B},toolWarnings:se,betas:fe};case"none":return{tools:Ce,toolChoice:{type:"none"},toolWarnings:se,betas:fe};case"tool":if(ie)return se.push({type:"unsupported",feature:"toolChoice",details:`toolChoice 'tool' is not supported with this model or thinking configuration. Only the '${A.toolName}' tool is sent with 'auto' tool choice. Instruct the model to use the tool in the prompt and verify that a tool call was made.`}),{tools:Ce.filter((ve)=>("name"in ve)&&ve.name===A.toolName),toolChoice:{type:"auto",disable_parallel_tool_use:B},toolWarnings:se,betas:fe};return{tools:Ce,toolChoice:{type:"tool",name:A.toolName,disable_parallel_tool_use:B},toolWarnings:se,betas:fe};default:throw new u({functionality:`tool choice type: ${Ze}`})}}function Mt({usage:m,rawUsage:A}){let B=m.cache_creation_input_tokens??0,V=m.cache_read_input_tokens??0,me=m.output_tokens_details?.thinking_tokens??void 0,Ne,K,ie=m.iterations?.some((se)=>se.type==="fallback_message");if(m.iterations&&m.iterations.length>0&&!ie){let se=m.iterations.filter((fe)=>fe.type==="compaction"||fe.type==="message");if(se.length>0){let fe=se.reduce(($e,Ce)=>({input:$e.input+Ce.input_tokens,output:$e.output+Ce.output_tokens}),{input:0,output:0});Ne=fe.input,K=fe.output}else Ne=m.input_tokens,K=m.output_tokens}else Ne=m.input_tokens,K=m.output_tokens;return{inputTokens:{total:Ne+B+V,noCache:Ne,cacheRead:V,cacheWrite:B},outputTokens:{total:K,text:me==null?void 0:K-me,reasoning:me},raw:A??m}}var ho=a(()=>s(t({type:n("code_execution_result"),stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}))),Cn=a(()=>s(t({code:e()}))),Sn=S({id:"anthropic.code_execution_20250522",inputSchema:Cn,outputSchema:ho}),Nn=(m={})=>Sn(m),mo=a(()=>s(f("type",[t({type:n("code_execution_result"),stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("bash_code_execution_result"),content:o(t({type:n("bash_code_execution_output"),file_id:e()})),stdout:e(),stderr:e(),return_code:r()}),t({type:n("bash_code_execution_tool_result_error"),error_code:e()}),t({type:n("text_editor_code_execution_tool_result_error"),error_code:e()}),t({type:n("text_editor_code_execution_view_result"),content:e(),file_type:e(),num_lines:r().nullable(),start_line:r().nullable(),total_lines:r().nullable()}),t({type:n("text_editor_code_execution_create_result"),is_file_update:c()}),t({type:n("text_editor_code_execution_str_replace_result"),lines:o(e()).nullable(),new_lines:r().nullable(),new_start:r().nullable(),old_lines:r().nullable(),old_start:r().nullable()})]))),On=a(()=>s(f("type",[t({type:n("programmatic-tool-call"),code:e()}),t({type:n("bash_code_execution"),command:e()}),f("command",[t({type:n("text_editor_code_execution"),command:n("view"),path:e()}),t({type:n("text_editor_code_execution"),command:n("create"),path:e(),file_text:e().nullish()}),t({type:n("text_editor_code_execution"),command:n("str_replace"),path:e(),old_str:e(),new_str:e()})])]))),In=S({id:"anthropic.code_execution_20250825",inputSchema:On,outputSchema:mo,supportsDeferredResults:!0}),An=(m={})=>Ke(In(m),{type:"provider",prepareProviderOptions:(A)=>{let B=A?.anthropic;return{...A,anthropic:{...B,allowedCallers:[...new Set([...B?.allowedCallers??[],"code_execution_20250825"])]}}}}),go=a(()=>s(f("type",[t({type:n("code_execution_result"),stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("encrypted_code_execution_result"),encrypted_stdout:e(),stderr:e(),return_code:r(),content:o(t({type:n("code_execution_output"),file_id:e()})).optional().default([])}),t({type:n("bash_code_execution_result"),content:o(t({type:n("bash_code_execution_output"),file_id:e()})),stdout:e(),stderr:e(),return_code:r()}),t({type:n("bash_code_execution_tool_result_error"),error_code:e()}),t({type:n("text_editor_code_execution_tool_result_error"),error_code:e()}),t({type:n("text_editor_code_execution_view_result"),content:e(),file_type:e(),num_lines:r().nullable(),start_line:r().nullable(),total_lines:r().nullable()}),t({type:n("text_editor_code_execution_create_result"),is_file_update:c()}),t({type:n("text_editor_code_execution_str_replace_result"),lines:o(e()).nullable(),new_lines:r().nullable(),new_start:r().nullable(),old_lines:r().nullable(),old_start:r().nullable()})]))),Rn=a(()=>s(f("type",[t({type:n("programmatic-tool-call"),code:e()}),t({type:n("bash_code_execution"),command:e()}),f("command",[t({type:n("text_editor_code_execution"),command:n("view"),path:e()}),t({type:n("text_editor_code_execution"),command:n("create"),path:e(),file_text:e().nullish()}),t({type:n("text_editor_code_execution"),command:n("str_replace"),path:e(),old_str:e(),new_str:e()})])]))),Bn=S({id:"anthropic.code_execution_20260120",inputSchema:Rn,outputSchema:go,supportsDeferredResults:!0}),En=(m={})=>Ke(Bn(m),{type:"provider",prepareProviderOptions:(A)=>{let B=A?.anthropic;return{...A,anthropic:{...B,allowedCallers:[...new Set([...B?.allowedCallers??[],"code_execution_20260120"])]}}}}),fo=a(()=>s(o(t({type:n("tool_reference"),toolName:e()})))),Mn=a(()=>s(t({pattern:e(),limit:r().optional()}))),Un=S({id:"anthropic.tool_search_regex_20251119",inputSchema:Mn,outputSchema:fo,supportsDeferredResults:!0}),$n=(m={})=>Un(m);function qn(m){if(typeof m==="string")return new TextDecoder().decode(N(m));return new TextDecoder().decode(m)}function At(m){try{if(typeof m==="string")return Q(m);else if(typeof m==="object"&&m!==null)return m}catch{let A=m?.errorCode;return{errorCode:typeof A==="string"?A:"unavailable"}}return{}}async function Dn({prompt:m,sendReasoning:A,warnings:B,cacheControlValidator:V,toolNameMapping:me,toolsetNames:Ne={},convertMediaPart:K}){let ie=new Set,se=Hn(m),fe=V||new $t,$e=void 0,Ce=[],Ze=-1;async function ve(Le){return(await h({provider:"anthropic",providerOptions:Le,schema:It}))?.citations?.enabled??!1}async function ke(Le){return(await h({provider:"anthropic",providerOptions:Le,schema:It}))?.containerUpload??!1}async function Me(Le){let Re=await h({provider:"anthropic",providerOptions:Le,schema:It});return{title:Re?.title,context:Re?.context}}for(let Le=0;Le<se.length;Le++){let Re=se[Le],J=Le===se.length-1,Ee=Re.type;switch(Ee){case"system":{let ye=[];for(let{content:He,providerOptions:X}of Re.messages){let Te=await h({provider:"anthropic",providerOptions:X,schema:Uo}),Xe=Te?.toolChanges??[],Z=[];if(He!==""||Xe.length===0&&Te?.clearAt==null&&Te?.effort==null)Z.push({type:"text",text:He,cache_control:fe.getCacheControl(X,{type:"system message",canCache:!0})});for(let nt of Xe)Z.push({type:nt.type,tool:{type:"tool_reference",name:me.toProviderToolName(nt.toolName)}});ye.push({content:Z,clearAt:Te?.clearAt,effort:Te?.effort,toolChangeCount:Xe.length})}let Pe=ye.reduce((He,X)=>He+X.toolChangeCount,0),ot=ye.some((He)=>He.clearAt!=null||He.effort!=null);if(Le===0||$e==null&&Pe===0&&!ot){if(Pe>0)B.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."});for(let He of ye)if(He.content.length===0&&He.clearAt==null&&He.effort!=null)Ce.push({role:"system",content:[],output_config:{effort:He.effort}}),ie.add("mid-conversation-output-config-2026-07-01");else if(He.clearAt!=null||He.effort!=null)B.push({type:"other",message:"clearAt and effort on this initial system message are not supported by Anthropic. Use a separate effort-only system message with empty content to set effort. These options have been ignored."});$e=ye.flatMap((He)=>He.content.filter((X)=>X.type==="text"))}else{ie.add("mid-conversation-system-2026-04-07");for(let He of ye){if(Ce.push({role:"system",content:He.content,...He.clearAt!=null&&{clear_at:He.clearAt},...He.effort!=null&&{output_config:{effort:He.effort}}}),He.toolChangeCount>0)ie.add("mid-conversation-tool-changes-2026-07-01");if(He.clearAt!=null)ie.add("mid-conversation-system-clear-at-2026-08-21");if(He.effort!=null)ie.add("mid-conversation-output-config-2026-07-01")}}break}case"user":{let ye=[];for(let Pe of Re.messages){let{role:ot,content:He}=Pe;switch(ot){case"user":if(He.length>0)Ze=Ce.length;for(let X=0;X<He.length;X++){let Te=He[X],Xe=X===He.length-1,Z=fe.getCacheControl(Te.providerOptions,{type:"user message part",canCache:!0})??(Xe?fe.getCacheControl(Pe.providerOptions,{type:"user message",canCache:!0}):void 0);switch(Te.type){case"text":ye.push({type:"text",text:Te.text,cache_control:Z});break;case"file":{let nt=await K?.(Te);if(nt!=null){ye.push({...nt,cache_control:Z});break}switch(Te.data.type){case"reference":{let Ue=H({reference:Te.data.reference,provider:"anthropic"});if(ie.add("files-api-2025-04-14"),await ke(Te.providerOptions))ye.push({type:"container_upload",file_id:Ue});else if(z(Te.mediaType)==="image")ye.push({type:"image",source:{type:"file",file_id:Ue},cache_control:Z});else ye.push({type:"document",source:{type:"file",file_id:Ue},cache_control:Z});break}case"text":{let Ue=await ve(Te.providerOptions),Oe=await Me(Te.providerOptions);ye.push({type:"document",source:{type:"text",media_type:"text/plain",data:Te.data.text},title:Oe.title??Te.filename,...Oe.context&&{context:Oe.context},...Ue&&{citations:{enabled:!0}},cache_control:Z});break}case"url":case"data":{let Ue=z(Te.mediaType);if(Ue==="image")ye.push({type:"image",source:Te.data.type==="url"?{type:"url",url:Te.data.url.toString()}:{type:"base64",media_type:O({part:Te}),data:M(Te.data.data)},cache_control:Z});else if(Ue==="application"&&(Te.data.type==="url"?Te.mediaType==="application/pdf":O({part:Te})==="application/pdf")){ie.add("pdfs-2024-09-25");let Oe=await ve(Te.providerOptions),We=await Me(Te.providerOptions);ye.push({type:"document",source:Te.data.type==="url"?{type:"url",url:Te.data.url.toString()}:{type:"base64",media_type:"application/pdf",data:M(Te.data.data)},title:We.title??Te.filename,...We.context&&{context:We.context},...Oe&&{citations:{enabled:!0}},cache_control:Z})}else if(Te.mediaType==="text/plain"){let Oe=await ve(Te.providerOptions),We=await Me(Te.providerOptions);ye.push({type:"document",source:Te.data.type==="url"?{type:"url",url:Te.data.url.toString()}:{type:"text",media_type:"text/plain",data:qn(Te.data.data)},title:We.title??Te.filename,...We.context&&{context:We.context},...Oe&&{citations:{enabled:!0}},cache_control:Z})}else throw new u({functionality:`media type: ${Te.mediaType}`});break}}break}}}break;case"tool":for(let X=0;X<He.length;X++){let Te=He[X];if(Te.type==="tool-approval-response")continue;let Xe=Te.output,Z="providerOptions"in Xe?Xe.providerOptions:Xe.type==="content"?Xe.value.find((te)=>te.providerOptions!=null)?.providerOptions:void 0,nt=X===He.length-1,Ue=fe.getCacheControl(Te.providerOptions,{type:"tool result part",canCache:!0})??fe.getCacheControl(Z,{type:"tool result output",canCache:!0})??(nt?fe.getCacheControl(Pe.providerOptions,{type:"tool result message",canCache:!0}):void 0),Oe;switch(Xe.type){case"content":Oe=Xe.value.map((te)=>{switch(te.type){case"text":return{type:"text",text:te.text};case"file":{let ue=z(te.mediaType);if(te.data.type==="reference"){let Ye=H({reference:te.data.reference,provider:"anthropic"});if(ie.add("files-api-2025-04-14"),ue==="image")return{type:"image",source:{type:"file",file_id:Ye}};return{type:"document",source:{type:"file",file_id:Ye}}}if(te.data.type==="url"){if(ue==="image")return{type:"image",source:{type:"url",url:te.data.url.toString()}};return{type:"document",source:{type:"url",url:te.data.url.toString()}}}if(te.data.type==="data"){if(ue==="image")return{type:"image",source:{type:"base64",media_type:O({part:te}),data:M(te.data.data)}};if(O({part:te})==="application/pdf")return ie.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:"application/pdf",data:M(te.data.data)}};B.push({type:"other",message:`unsupported tool content part type: ${te.type} with media type: ${te.mediaType}`});return}B.push({type:"other",message:`unsupported tool content part type: ${te.type} with data type: ${te.data.type}`});return}case"custom":{let ue=te.providerOptions?.anthropic;if(ue?.type==="tool-reference")return{type:"tool_reference",tool_name:ue.toolName};B.push({type:"other",message:"unsupported custom tool content part"});return}default:B.push({type:"other",message:`unsupported tool content part type: ${te.type}`});return}}).filter(Fe);break;case"text":case"error-text":Oe=Xe.value;break;case"execution-denied":Oe=Xe.reason??"Tool call execution denied.";break;default:Oe=JSON.stringify(Xe.value)}let We=zt({toolName:Te.toolName,providerOptions:Te.providerOptions,toolsetNames:Ne});ye.push({type:"tool_result",tool_use_id:Te.toolCallId,...We!=null&&{toolset_name:We},content:Oe,is_error:Xe.type==="error-text"||Xe.type==="error-json"?!0:void 0,cache_control:Ue})}break;default:throw Error(`Unsupported role: ${ot}`)}}Ce.push({role:"user",content:ye});break}case"assistant":{let ye=[],Pe=new Set;for(let ot=0;ot<Re.messages.length;ot++){let He=Re.messages[ot],X=ot===Re.messages.length-1,{content:Te}=He;for(let Xe=0;Xe<Te.length;Xe++){let Z=Te[Xe],nt=Xe===Te.length-1,Ue=fe.getCacheControl(Z.providerOptions,{type:"assistant message part",canCache:!0})??(nt?fe.getCacheControl(He.providerOptions,{type:"assistant message",canCache:!0}):void 0);switch(Z.type){case"text":{let Oe=Z.providerOptions?.anthropic;if(Oe?.type==="compaction"){if(Z.text==="")break;if(typeof Oe.signature==="string")ie.add("compact-2026-09-04");ye.push({type:"compaction",content:Z.text,...typeof Oe.signature==="string"&&{signature:Oe.signature},cache_control:Ue})}else ye.push({type:"text",text:J&&X&&nt?Z.text.trim():Z.text,...Oe?.citations!=null&&{citations:Oe.citations},cache_control:Ue});break}case"reasoning":if(A){let Oe=await h({provider:"anthropic",providerOptions:Z.providerOptions,schema:Mo});if(Oe!=null)if(Oe.signature!=null)fe.getCacheControl(Z.providerOptions,{type:"thinking block",canCache:!1}),ye.push({type:"thinking",thinking:Z.text,signature:Oe.signature});else if(Oe.redactedData!=null)fe.getCacheControl(Z.providerOptions,{type:"redacted thinking block",canCache:!1}),ye.push({type:"redacted_thinking",data:Oe.redactedData});else B.push({type:"other",message:"unsupported reasoning metadata"});else B.push({type:"other",message:"unsupported reasoning metadata"})}else B.push({type:"other",message:"sending reasoning content is disabled for this model"});break;case"custom":{if(Z.kind!=="anthropic.fallback")break;let Oe=await j({value:Z.providerOptions?.anthropic,schema:Bo});if(!Oe.success){B.push({type:"other",message:"anthropic fallback metadata must include from.model and to.model"});break}ie.add("server-side-fallback-2026-06-01"),ye.push({type:"fallback",from:Oe.value.from,to:Oe.value.to});break}case"tool-call":{let Oe=Wt(Z.providerOptions);if(Z.providerExecuted){let te=me.toProviderToolName(Z.toolName);if(Z.providerOptions?.anthropic?.type==="mcp-tool-use"){Pe.add(Z.toolCallId);let ue=Z.providerOptions?.anthropic?.serverName;if(ue==null||typeof ue!=="string"){B.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}ye.push({type:"mcp_tool_use",id:Z.toolCallId,name:Z.toolName,input:Z.input,server_name:ue,cache_control:Ue})}else if(te==="code_execution"&&Z.input!=null&&typeof Z.input==="object"&&"type"in Z.input&&typeof Z.input.type==="string"&&(Z.input.type==="bash_code_execution"||Z.input.type==="text_editor_code_execution")){let{type:ue,...Ye}=Z.input;ye.push({type:"server_tool_use",id:Z.toolCallId,name:ue,input:Ye,...Oe&&{caller:Oe},cache_control:Ue})}else if(te==="code_execution"&&Z.input!=null&&typeof Z.input==="object"&&"type"in Z.input&&Z.input.type==="programmatic-tool-call"){let{type:ue,...Ye}=Z.input;ye.push({type:"server_tool_use",id:Z.toolCallId,name:"code_execution",input:Ye,...Oe&&{caller:Oe},cache_control:Ue})}else if(te==="code_execution"||te==="web_fetch"||te==="web_search")ye.push({type:"server_tool_use",id:Z.toolCallId,name:te,input:Z.input,...Oe&&{caller:Oe},cache_control:Ue});else if(te==="tool_search_tool_regex"||te==="tool_search_tool_bm25")ye.push({type:"server_tool_use",id:Z.toolCallId,name:te,input:Z.input,...Oe&&{caller:Oe},cache_control:Ue});else if(te==="advisor")ye.push({type:"server_tool_use",id:Z.toolCallId,name:"advisor",input:{},...Oe&&{caller:Oe},cache_control:Ue});else B.push({type:"other",message:`provider executed tool call for tool ${Z.toolName} is not supported`});break}let We=zt({toolName:Z.toolName,providerOptions:Z.providerOptions,toolsetNames:Ne});if(We!=null){let te=Vt(Z.input),{action:ue}=te,Ye=typeof ue==="string";if(!Ye)B.push({type:"other",message:`toolset tool call for tool ${Z.toolName} is missing the action`});ye.push({type:"tool_use",id:Z.toolCallId,name:Ye?ue:We,toolset_name:We,input:te,...Oe&&{caller:Oe},cache_control:Ue});break}ye.push({type:"tool_use",id:Z.toolCallId,name:Z.toolName,input:Vt(Z.input),...Oe&&{caller:Oe},cache_control:Ue});break}case"tool-result":{let Oe=me.toProviderToolName(Z.toolName),We=Wt(Z.providerOptions);if(Pe.has(Z.toolCallId)){let te=Z.output;if(te.type!=="json"&&te.type!=="error-json"){B.push({type:"other",message:`provider executed tool result output type ${te.type} for tool ${Z.toolName} is not supported`});break}ye.push({type:"mcp_tool_result",tool_use_id:Z.toolCallId,is_error:te.type==="error-json",content:te.value,cache_control:Ue})}else if(Oe==="code_execution"){let te=Z.output;if(te.type==="error-text"||te.type==="error-json"){let ue={};try{if(typeof te.value==="string")ue=Q(te.value);else if(typeof te.value==="object"&&te.value!==null)ue=te.value}catch{}if(ue.type==="code_execution_tool_result_error")ye.push({type:"code_execution_tool_result",tool_use_id:Z.toolCallId,content:{type:"code_execution_tool_result_error",error_code:ue.errorCode??"unknown"},cache_control:Ue});else ye.push({type:"bash_code_execution_tool_result",tool_use_id:Z.toolCallId,cache_control:Ue,content:{type:"bash_code_execution_tool_result_error",error_code:ue.errorCode??"unknown"}});break}if(te.type!=="json"){B.push({type:"other",message:`provider executed tool result output type ${te.type} for tool ${Z.toolName} is not supported`});break}if(te.value==null||typeof te.value!=="object"||!("type"in te.value)||typeof te.value.type!=="string"){B.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${Z.toolName}`});break}if(te.value.type==="code_execution_result"){let ue=await x({value:te.value,schema:ho});ye.push({type:"code_execution_tool_result",tool_use_id:Z.toolCallId,content:{type:ue.type,stdout:ue.stdout,stderr:ue.stderr,return_code:ue.return_code,content:ue.content??[]},cache_control:Ue})}else if(te.value.type==="encrypted_code_execution_result"){let ue=await x({value:te.value,schema:go});if(ue.type==="encrypted_code_execution_result")ye.push({type:"code_execution_tool_result",tool_use_id:Z.toolCallId,content:{type:ue.type,encrypted_stdout:ue.encrypted_stdout,stderr:ue.stderr,return_code:ue.return_code,content:ue.content??[]},cache_control:Ue})}else{let ue=await x({value:te.value,schema:mo});if(ue.type==="code_execution_result")ye.push({type:"code_execution_tool_result",tool_use_id:Z.toolCallId,content:{type:ue.type,stdout:ue.stdout,stderr:ue.stderr,return_code:ue.return_code,content:ue.content??[]},cache_control:Ue});else if(ue.type==="bash_code_execution_result"||ue.type==="bash_code_execution_tool_result_error")ye.push({type:"bash_code_execution_tool_result",tool_use_id:Z.toolCallId,cache_control:Ue,content:ue.type==="bash_code_execution_result"?{type:ue.type,stdout:ue.stdout,stderr:ue.stderr,return_code:ue.return_code,content:ue.content}:ue});else ye.push({type:"text_editor_code_execution_tool_result",tool_use_id:Z.toolCallId,cache_control:Ue,content:ue})}break}if(Oe==="web_fetch"){let te=Z.output;if(te.type==="error-json"){ye.push({type:"web_fetch_tool_result",tool_use_id:Z.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:At(te.value).errorCode??"unavailable"},...We&&{caller:We},cache_control:Ue});break}if(te.type!=="json"){B.push({type:"other",message:`provider executed tool result output type ${te.type} for tool ${Z.toolName} is not supported`});break}let ue=await x({value:te.value,schema:_o});ye.push({type:"web_fetch_tool_result",tool_use_id:Z.toolCallId,content:{type:"web_fetch_result",url:ue.url,retrieved_at:ue.retrievedAt,content:{type:"document",title:ue.content.title,citations:ue.content.citations,source:{type:ue.content.source.type,media_type:ue.content.source.mediaType,data:ue.content.source.data}}},...We&&{caller:We},cache_control:Ue});break}if(Oe==="web_search"){let te=Z.output;if(te.type==="error-json"){ye.push({type:"web_search_tool_result",tool_use_id:Z.toolCallId,content:{type:"web_search_tool_result_error",error_code:At(te.value).errorCode??"unavailable"},...We&&{caller:We},cache_control:Ue});break}if(te.type!=="json"){B.push({type:"other",message:`provider executed tool result output type ${te.type} for tool ${Z.toolName} is not supported`});break}let ue=await x({value:te.value,schema:po});ye.push({type:"web_search_tool_result",tool_use_id:Z.toolCallId,content:ue.map((Ye)=>({url:Ye.url,title:Ye.title,page_age:Ye.pageAge,encrypted_content:Ye.encryptedContent,type:Ye.type})),...We&&{caller:We},cache_control:Ue});break}if(Oe==="tool_search_tool_regex"||Oe==="tool_search_tool_bm25"){let te=Z.output;if(te.type==="error-json"||te.type==="json"&&te.value!=null&&typeof te.value==="object"&&!Array.isArray(te.value)&&"type"in te.value&&te.value.type==="tool_search_tool_result_error"){ye.push({type:"tool_search_tool_result",tool_use_id:Z.toolCallId,content:{type:"tool_search_tool_result_error",error_code:At(te.value).errorCode??"unavailable"},cache_control:Ue});break}if(te.type!=="json"){B.push({type:"other",message:`provider executed tool result output type ${te.type} for tool ${Z.toolName} is not supported`});break}let ue=(await x({value:te.value,schema:fo})).map((Ye)=>({type:"tool_reference",tool_name:Ye.toolName}));ye.push({type:"tool_search_tool_result",tool_use_id:Z.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:ue},cache_control:Ue});break}if(Oe==="advisor"){let te=Z.output;if(te.type!=="json"&&te.type!=="error-json"){B.push({type:"other",message:`provider executed tool result output type ${te.type} for tool ${Z.toolName} is not supported`});break}let ue=await x({value:te.value,schema:co});if(ue.type==="advisor_result")ye.push({type:"advisor_tool_result",tool_use_id:Z.toolCallId,content:{type:"advisor_result",text:ue.text,...ue.stopReason!==void 0&&{stop_reason:ue.stopReason}},cache_control:Ue});else if(ue.type==="advisor_redacted_result")ye.push({type:"advisor_tool_result",tool_use_id:Z.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:ue.encryptedContent,...ue.stopReason!==void 0&&{stop_reason:ue.stopReason}},cache_control:Ue});else ye.push({type:"advisor_tool_result",tool_use_id:Z.toolCallId,content:{type:"advisor_tool_result_error",error_code:ue.errorCode},cache_control:Ue});break}B.push({type:"other",message:`provider executed tool result for tool ${Z.toolName} is not supported`});break}}}}if(ye.length>0)Ce.push({role:"assistant",content:Pn(ye)});break}default:throw Error(`content type: ${Ee}`)}}let Ve=new Set;for(let Le of Ce){if(Le.role!=="assistant")continue;for(let Re of Le.content)if(Re.type==="server_tool_use"&&Re.name==="code_execution")Ve.add(Re.id)}let Je=new Set;for(let Le=0;Le<Ze;Le++){let Re=Ce[Le];if(Re.role!=="assistant")continue;for(let J of Re.content){if(!("caller"in J))continue;let Ee=J.caller;if(Ee==null||Ee.type==="direct"||Ve.has(Ee.tool_id))continue;let ye="id"in J?J.id:J.tool_use_id;if(delete J.caller,!Je.has(ye))Je.add(ye),B.push({type:"other",message:`Omitted caller metadata for tool ${ye} because source code execution tool ${Ee.tool_id} is missing from the conversation history.`})}}return{prompt:{system:$e,messages:Ce},betas:ie}}function Hn(m){let A=[],B=void 0;for(let V of m){let{role:me}=V;switch(me){case"system":if(B?.type!=="system")B={type:"system",messages:[]},A.push(B);B.messages.push(V);break;case"assistant":if(B?.type!=="assistant")B={type:"assistant",messages:[]},A.push(B);B.messages.push(V);break;case"user":if(B?.type!=="user")B={type:"user",messages:[]},A.push(B);B.messages.push(V);break;case"tool":if(B?.type!=="user")B={type:"user",messages:[]},A.push(B);B.messages.push(V);break;default:throw Error(`Unsupported role: ${me}`)}}return A}function Pn(m){let A=[],B=[];function V(){A.push(...B.filter((me)=>me.type!=="tool_use"),...B.filter((me)=>me.type==="tool_use")),B=[]}for(let me of m)if(me.type==="thinking"||me.type==="redacted_thinking"||me.type==="fallback")V(),A.push(me);else B.push(me);return V(),A}function zt({toolName:m,providerOptions:A,toolsetNames:B}){let V=B[m];if(V!=null)return V;let me=A?.anthropic?.toolsetName;return typeof me==="string"?me:void 0}function Wt(m){let A=m?.anthropic?.caller;if((A?.type==="code_execution_20250825"||A?.type==="code_execution_20260120")&&A.toolId)return{type:A.type,tool_id:A.toolId};return A?.type==="direct"?{type:"direct"}:void 0}function Vt(m){return typeof m==="object"&&m!==null&&!Array.isArray(m)?m:{rawInvalidInput:m}}function St({finishReason:m,isJsonResponseFromTool:A}){switch(m){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return A?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"compaction":return"other";default:return"other"}}var yo=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),Ln=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function Fn(m){return bo(m)}function mt(m){if(typeof m==="boolean"||!L(m))return m;return bo(m)}function bo(m){let A={},B=m;if(m.$ref!=null)return{$ref:m.$ref};if(m.$schema!=null)A.$schema=m.$schema;if(m.$id!=null)A.$id=m.$id;if(m.title!=null)A.title=m.title;if(m.description!=null)A.description=m.description;if(m.default!==void 0)A.default=m.default;if(m.const!==void 0)A.const=m.const;if(m.enum!=null)A.enum=m.enum;if(m.type!=null)A.type=m.type;if(m.anyOf!=null)A.anyOf=m.anyOf.map(mt);else if(m.oneOf!=null)A.anyOf=m.oneOf.map(mt);if(m.allOf!=null)A.allOf=m.allOf.map(mt);if(m.definitions!=null)A.definitions=Object.fromEntries(Object.entries(m.definitions).map(([me,Ne])=>[me,mt(Ne)]));if(B.$defs!=null){let me=A;me.$defs=Object.fromEntries(Object.entries(B.$defs).map(([Ne,K])=>[Ne,mt(K)]))}if(m.type==="object"||m.properties!=null){if(m.properties!=null)A.properties=Object.fromEntries(Object.entries(m.properties).map(([me,Ne])=>[me,mt(Ne)]));if(A.additionalProperties=!1,m.required!=null)A.required=m.required}if(m.items!=null)A.items=Array.isArray(m.items)?m.items.map(mt):mt(m.items);if(typeof m.format==="string"&&yo.has(m.format))A.format=m.format;let V=Jn(m);if(V!=null)A.description=A.description==null?V:`${A.description}
|
|
2
|
+
${V}`;return A}function Jn(m){let A=Ln.flatMap((B)=>{let V=m[B];if(V==null||V===!1)return[];return`${Kn(B)}: ${zn(V)}`});if(typeof m.format==="string"&&!yo.has(m.format))A.push(`format: ${m.format}`);return A.length===0?void 0:`${A.join("; ")}.`}function Kn(m){return m.replace(/[A-Z]/g,(A)=>` ${A.toLowerCase()}`)}function zn(m){if(typeof m==="string")return m;return JSON.stringify(m)}function Wn(m){let A=Vn(m.type);return xe({message:m.message,type:m.type,code:m.code??void 0,statusCode:m.statusCode??A.statusCode,isRetryable:m.isRetryable??A.isRetryable,data:"data"in m?m.data:m})}function Vn(m){switch(m){case"api_error":return{statusCode:500,isRetryable:!0};case"overloaded_error":return{statusCode:529,isRetryable:!0};case"rate_limit_error":return{statusCode:429,isRetryable:!0};case"request_too_large":return{statusCode:413,isRetryable:!1};case"authentication_error":return{statusCode:401,isRetryable:!1};case"permission_error":return{statusCode:403,isRetryable:!1};case"not_found_error":return{statusCode:404,isRetryable:!1};case"billing_error":case"invalid_request_error":return{statusCode:400,isRetryable:!1};default:return{}}}function Nt(m,A,B){if(m.type==="web_search_result_location")return{type:"source",sourceType:"url",id:B(),url:m.url,title:m.title??void 0,providerMetadata:{anthropic:{citedText:m.cited_text,encryptedIndex:m.encrypted_index}}};if(m.type!=="page_location"&&m.type!=="char_location")return;let V=A[m.document_index];if(!V)return;return{type:"source",sourceType:"document",id:B(),mediaType:V.mediaType,title:m.document_title??V.title,filename:V.filename,providerMetadata:{anthropic:m.type==="page_location"?{citedText:m.cited_text,startPageNumber:m.start_page_number,endPageNumber:m.end_page_number}:{citedText:m.cited_text,startCharIndex:m.start_char_index,endCharIndex:m.end_char_index}}}}function vt(m){return m==null?void 0:{type:m.type,toolId:"tool_id"in m?m.tool_id:void 0}}function at(m){let A=vt(m);return A==null?{}:{providerMetadata:{anthropic:{caller:A}}}}function Xn(m){let A={};for(let B of m??[])if(B.type==="provider"&&B.id==="anthropic.computer_toolset_20260801")A[B.name]="computer";return A}function Xt({memberName:m,input:A}){return{action:m,...typeof A==="object"&&A!==null&&!Array.isArray(A)?A:{}}}function Gt(m){let A=m.indexOf(".");return A===-1?m:m.substring(0,A)}var xo=class m{static[k](A){return E({modelId:A.modelId,config:A.config})}static[T](A){return new m(A.modelId,A.config)}constructor(A,B){this.specificationVersion="v4",this.modelId=A,this.config=B,this.generateId=B.generateId??C}supportsUrl(A){return A.protocol==="https:"}get provider(){return this.config.provider}get supportedUrls(){return this.config.supportedUrls?.()??{}}static async prepareRequest({modelId:A,config:B,options:{userSuppliedBetas:V,prompt:me,maxOutputTokens:Ne,temperature:K,topP:ie,topK:se,frequencyPenalty:fe,presencePenalty:$e,stopSequences:Ce,responseFormat:Ze,seed:ve,tools:ke,toolChoice:Me,reasoning:Ve,providerOptions:Je,stream:Le}}){let Re=[];if(fe!=null)Re.push({type:"unsupported",feature:"frequencyPenalty"});if($e!=null)Re.push({type:"unsupported",feature:"presencePenalty"});if(ve!=null)Re.push({type:"unsupported",feature:"seed"});let J=B.maxTemperature??1,Ee=B.maxTemperature==null?"anthropic":Gt(B.provider);if(K!=null&&K>J)Re.push({type:"unsupported",feature:"temperature",details:`${K} exceeds ${Ee} maximum of ${J.toFixed(1)}. clamped to ${J.toFixed(1)}`}),K=J;else if(K!=null&&K<0)Re.push({type:"unsupported",feature:"temperature",details:`${K} is below ${Ee} minimum of 0. clamped to 0`}),K=0;if(Ze?.type==="json"){if(Ze.schema==null)Re.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."})}let ye=Gt(B.provider),Pe=await h({provider:"anthropic",providerOptions:Je,schema:Jt}),ot=ye!=="anthropic"?await h({provider:ye,providerOptions:Je,schema:Jt}):null,He=ot!=null,X=Object.assign({},Pe??{},ot??{}),{maxOutputTokens:Te,supportsStructuredOutput:Xe,supportsAdaptiveThinking:Z,rejectsSamplingParameters:nt,supportsXhighEffort:Ue,rejectsThinkingDisabledAboveHighEffort:Oe,rejectsThinkingDisabled:We,rejectsBudgetThinking:te,rejectsForcedToolUse:ue,supportsBetweenToolsThinking:Ye,isKnownModel:ft}=Gn(A);if(!ft&&Ne==null)Re.push({type:"compatibility",feature:"maxOutputTokens",details:`The model "${A}" is unknown. The max output tokens have been limited to ${Te}. Set maxOutputTokens explicitly to override this limit.`});if(nt){if(K!=null)Re.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${A} and will be ignored`}),K=void 0;if(se!=null)Re.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${A} and will be ignored`}),se=void 0;if(ie!=null)Re.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${A} and will be ignored`}),ie=void 0}let yt=ft||A.includes("claude-"),bt=(B.supportsNativeStructuredOutput??!0)&&Xe,kt=(B.supportsStrictTools??!0)&&Xe,dt=X?.structuredOutputMode??"auto",Qe=dt==="outputFormat"||dt==="auto"&&bt;if(!Qe&&ue&&bt&&Ze?.type==="json"&&Ze.schema!=null)Re.push({type:"unsupported",feature:"providerOptions.anthropic.structuredOutputMode",details:`structuredOutputMode 'jsonTool' is not supported by ${A} because it rejects forced tool use. Using 'outputFormat' instead.`}),Qe=!0;let je=Ze?.type==="json"&&Ze.schema!=null&&!Qe?{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:Ze.schema}:void 0;if(je!=null&&X?.disableParallelToolUse===!1)Re.push({type:"unsupported",feature:"providerOptions.anthropic.disableParallelToolUse",details:"`disableParallelToolUse: false` is ignored when using the JSON response tool. Parallel tool use is disabled to ensure a single coherent JSON tool call."});let ee=X?.contextManagement,F=X?.compaction;if(ee!=null&&F!=null)throw new b({argument:"providerOptions",message:"Anthropic provider options `compaction` and `contextManagement` cannot be used together."});let De=new $t(B.cacheControlProviderOptionsName),be=le({tools:ke,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.computer_20251124":"computer","anthropic.computer_toolset_20260801":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_search_20260318":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.web_fetch_20260318":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),ze=Xn(ke),{prompt:_t,betas:tt}=await Dn({prompt:me,sendReasoning:X?.sendReasoning??!0,warnings:Re,cacheControlValidator:De,toolNameMapping:be,toolsetNames:ze,convertMediaPart:B.convertMediaPart});if(W(Ve)&&X?.effort==null){let Ie=Zn({reasoning:Ve,modelId:A,supportsAdaptiveThinking:Z,supportsXhighEffort:Ue,rejectsThinkingDisabled:We,supportsBetweenToolsThinking:Ye,maxOutputTokensForModel:Te,warnings:Re});if(Ie!=null){if(X.thinking==null)X.thinking=Ie.thinking;if(Ie.effort!=null&&X.thinking?.type!=="disabled")X.effort=Ie.effort}}if(We&&X?.thinking!=null){let Ie=X.thinking;if(Ie.type==="disabled"&&Ye)Re.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${A}. Using 'between_tools' thinking, the lowest thinking setting, instead.`}),X.thinking={type:"between_tools"};else if(Ie.type==="disabled")Re.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${A}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`}),X.thinking=void 0}if(te&&X?.thinking?.type==="enabled")Re.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:We?`budget-based thinking is not supported by ${A}; it always uses adaptive thinking. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`:`budget-based thinking is not supported by ${A}. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`}),X.thinking={type:"adaptive"};if(Oe&&X?.thinking?.type==="disabled"&&(X.effort==="xhigh"||X.effort==="max"))Re.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${X.effort}' is not supported by ${A} when thinking is disabled. The effort has been lowered to 'high'.`}),X.effort="high";if(X?.thinking?.type==="between_tools"&&(X.effort==="xhigh"||X.effort==="max"))Re.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${X.effort}' is not supported with 'between_tools' thinking. The effort has been lowered to 'high'.`}),X.effort="high";let rt=X?.thinking?.type,Ht=rt==="enabled"||rt==="adaptive"||rt==="between_tools",wt=X?.thinking!=null&&"blockBinding"in X.thinking?X.thinking.blockBinding:void 0,jo=Ht||rt==="disabled"||wt!=null,xt=rt==="enabled"?X?.thinking?.budgetTokens:void 0,Ot=rt==="adaptive"?X?.thinking?.display:void 0,Pt=Ne??Te,lt={model:A,max_tokens:Pt,temperature:K,top_k:se,top_p:ie,stop_sequences:Ce,...jo&&{thinking:{...rt!=null&&{type:rt},...xt!=null&&{budget_tokens:xt},...Ot!=null&&{display:Ot},...wt!=null&&{block_binding:{prefix_mismatch_behavior:wt.prefixMismatchBehavior}}}},...(X?.effort||X?.taskBudget||Qe&&Ze?.type==="json"&&Ze.schema!=null)&&{output_config:{...X?.effort&&{effort:X.effort},...X?.taskBudget&&{task_budget:{type:X.taskBudget.type,total:X.taskBudget.total,...X.taskBudget.remaining!=null&&{remaining:X.taskBudget.remaining}}},...Qe&&Ze?.type==="json"&&Ze.schema!=null&&{format:{type:"json_schema",schema:Fn(Ze.schema)}}}},...X?.speed&&{speed:X.speed},...X?.serviceTier&&{service_tier:X.serviceTier},...X?.inferenceGeo&&{inference_geo:X.inferenceGeo},...X?.fallbacks!=null&&(X.fallbacks==="default"||X.fallbacks.length>0)&&{fallbacks:X.fallbacks},...X?.cacheControl&&{cache_control:X.cacheControl},...X?.metadata?.userId!=null&&{metadata:{user_id:X.metadata.userId}},...X?.mcpServers&&X.mcpServers.length>0&&{mcp_servers:X.mcpServers.map((Ie)=>({type:Ie.type,name:Ie.name,url:Ie.url,authorization_token:Ie.authorizationToken,tool_configuration:Ie.toolConfiguration?{allowed_tools:Ie.toolConfiguration.allowedTools,enabled:Ie.toolConfiguration.enabled}:void 0}))},...X?.container&&{container:X.container.skills&&X.container.skills.length>0?{id:X.container.id,skills:X.container.skills.map((Ie)=>({type:Ie.type,skill_id:Ie.type==="custom"?H({reference:Ie.providerReference,provider:"anthropic"}):Ie.skillId,version:Ie.version}))}:X.container.id},system:_t.system,messages:_t.messages,...X?.safeguards&&X.safeguards.length>0&&{safeguards:X.safeguards.map((Ie)=>({type:Ie.type,...Ie.classifierContext!==void 0&&{classifier_context:Ie.classifierContext}}))},...F&&{compaction:{type:F.type,...F.instructions!==void 0&&{instructions:F.instructions}}},...ee&&{context_management:{edits:ee.edits.map((Ie)=>{let Ft=Ie.type;switch(Ft){case"clear_tool_uses_20250919":return{type:Ie.type,...Ie.trigger!==void 0&&{trigger:Ie.trigger},...Ie.keep!==void 0&&{keep:Ie.keep},...Ie.clearAtLeast!==void 0&&{clear_at_least:Ie.clearAtLeast},...Ie.clearToolInputs!==void 0&&{clear_tool_inputs:Ie.clearToolInputs},...Ie.excludeTools!==void 0&&{exclude_tools:Ie.excludeTools}};case"clear_thinking_20251015":return{type:Ie.type,...Ie.keep!==void 0&&{keep:Ie.keep}};case"compact_20260112":return{type:Ie.type,...Ie.trigger!==void 0&&{trigger:Ie.trigger},...Ie.pauseAfterCompaction!==void 0&&{pause_after_compaction:Ie.pauseAfterCompaction},...Ie.instructions!==void 0&&{instructions:Ie.instructions}};default:Re.push({type:"other",message:`Unknown context management strategy: ${Ft}`});return}}).filter((Ie)=>Ie!==void 0)}}};if(Ht){if(rt==="enabled"&&xt==null)Re.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),lt.thinking={type:"enabled",budget_tokens:1024},xt=1024;if(lt.temperature!=null&&!B.supportsTemperatureAndTopPWithThinking)lt.temperature=void 0,Re.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"});if(se!=null)lt.top_k=void 0,Re.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"});if(ie!=null&&!B.supportsTemperatureAndTopPWithThinking)lt.top_p=void 0,Re.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"});lt.max_tokens=Pt+(xt??0)}else if(yt&&ie!=null&&K!=null)Re.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),lt.top_p=void 0;if(ft&<.max_tokens>Te){if(Ne!=null)Re.push({type:"unsupported",feature:"maxOutputTokens",details:`${lt.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${A} ${Te} max output tokens. The max output tokens have been limited to ${Te}.`});lt.max_tokens=Te}if(X?.mcpServers&&X.mcpServers.length>0)tt.add("mcp-client-2025-04-04");if(X?.safeguards&&X.safeguards.length>0)tt.add("dangerous-tool-use-2026-09-03");if(F)tt.add("compact-2026-09-04");if(ee){if(tt.add("context-management-2025-06-27"),ee.edits.some((Ie)=>Ie.type==="compact_20260112"))tt.add("compact-2026-01-12")}if(X?.container&&X.container.skills&&X.container.skills.length>0){if(tt.add("code-execution-2025-08-25"),tt.add("skills-2025-10-02"),tt.add("files-api-2025-04-14"),!ke?.some((Ie)=>Ie.type==="provider"&&(Ie.id==="anthropic.code_execution_20250825"||Ie.id==="anthropic.code_execution_20260120")))Re.push({type:"other",message:"code execution tool is required when using skills"})}if(X?.taskBudget)tt.add("task-budgets-2026-03-13");if(X?.speed==="fast")tt.add("fast-mode-2026-02-01");if(Ot==="updates")tt.add("thinking-display-updates-2026-08-18");if(wt!=null)tt.add("thinking-binding-controls-2026-08-01");if(X?.fallbacks==="default")tt.add("server-side-fallback-2026-07-01");else if(X?.fallbacks&&X.fallbacks.length>0)tt.add("server-side-fallback-2026-06-01");let Lt=Le&&(X?.toolStreaming??!0),{tools:To,toolChoice:Co,toolWarnings:So,betas:No}=await Tn(je!=null?{tools:[...ke??[],je],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:De,supportsStructuredOutput:!1,supportsStrictTools:kt,defaultEagerInputStreaming:Lt,rejectsForcedToolUse:ue||rt==="enabled"}:{tools:ke??[],toolChoice:Me,disableParallelToolUse:X?.disableParallelToolUse,cacheControlValidator:De,supportsStructuredOutput:bt,supportsStrictTools:kt,defaultEagerInputStreaming:Lt,rejectsForcedToolUse:ue||rt==="enabled"}),Oo=De.getWarnings();return{args:{...lt,tools:To,tool_choice:Co,stream:Le===!0?!0:void 0},warnings:[...Re,...So,...Oo],betas:new Set([...tt,...No,...V,...X?.anthropicBeta??[]]),usesJsonResponseTool:je!=null,toolNameMapping:be,providerOptionsName:ye,usedCustomProviderKey:He}}getArgs(A){return m.prepareRequest({modelId:this.modelId,config:this.config,options:A})}async getHeaders({betas:A,configHeaders:B,headers:V,providerOptions:me}){let Ne=d(B,V,A.size>0?{"anthropic-beta":Array.from(A).join(",")}:{});return this.config.transformRequestHeaders?this.config.transformRequestHeaders(Ne,me):Ne}getBetasFromHeaders(A,B){let V=A?.["anthropic-beta"]??"",me=B?.["anthropic-beta"]??"";return new Set([...V.toLowerCase().split(","),...me.toLowerCase().split(",")].map((Ne)=>Ne.trim()).filter((Ne)=>Ne!==""))}buildRequestUrl(A){return this.config.buildRequestUrl?.(this.config.baseURL,A)??`${this.config.baseURL}/messages`}transformRequestBody(A,B){return this.config.transformRequestBody?.(A,B)??A}extractCitationDocuments(A){let B=(V)=>{if(V.type!=="file")return!1;if(V.mediaType!=="application/pdf"&&V.mediaType!=="text/plain")return!1;return V.providerOptions?.anthropic?.citations?.enabled??!1};return A.filter((V)=>V.role==="user").flatMap((V)=>V.content).filter(B).map((V)=>{let me=V;return{title:me.filename??"Untitled Document",filename:me.filename,mediaType:me.mediaType}})}async doGenerate(A){let B=this.config.headers?await _(this.config.headers):void 0,{args:V,warnings:me,betas:Ne,usesJsonResponseTool:K,toolNameMapping:ie,providerOptionsName:se,usedCustomProviderKey:fe}=await this.getArgs({...A,stream:!1,userSuppliedBetas:this.getBetasFromHeaders(B,A.headers)}),$e=[...this.extractCitationDocuments(A.prompt)],Ce=Zt(V.tools),{responseHeaders:Ze,value:ve,rawValue:ke}=await g({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:Ne,configHeaders:B,headers:A.headers,providerOptions:A.providerOptions}),body:this.transformRequestBody(V,Ne),failedResponseHandler:ct,successfulResponseHandler:p(Ct),abortSignal:A.abortSignal,fetch:this.config.fetch}),Me=[],Ve={},Je={},Le=!1,Re=ve.content.some((J)=>J.type==="web_search_tool_result"&&Array.isArray(J.content)&&J.content.length>0);for(let J of ve.content)switch(J.type){case"text":if(!K){let Ee=J.citations??[];if(Me.push({type:"text",text:J.text,...Ee.length>0&&{citations:Ee.map((ye)=>Bt(ye,$e))},...Ee.length>0&&{providerMetadata:{anthropic:{citations:Ee}}}}),J.citations)for(let ye of J.citations){if(ye.type==="web_search_result_location"&&Re)continue;let Pe=Nt(ye,$e,this.generateId);if(Pe)Me.push(Pe)}}break;case"thinking":Me.push({type:"reasoning",text:J.thinking,providerMetadata:{anthropic:{signature:J.signature}}});break;case"redacted_thinking":Me.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:J.data}}});break;case"container_upload":Me.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:J.file_id}}});break;case"compaction":if(!J.content)break;Me.push({type:"text",text:J.content,providerMetadata:{anthropic:{type:"compaction",...J.signature!=null&&{signature:J.signature}}}});break;case"tool_use":if(K&&J.name==="json")Le=!0,Me.push({type:"text",text:JSON.stringify(J.input)});else if(J.toolset_name!=null)Me.push({type:"tool-call",toolCallId:J.id,toolName:ie.toCustomToolName(J.toolset_name),input:JSON.stringify(Xt({memberName:J.name,input:J.input})),providerMetadata:{anthropic:{toolsetName:J.toolset_name,...at(J.caller).providerMetadata?.anthropic}}});else Me.push({type:"tool-call",toolCallId:J.id,toolName:J.name,input:JSON.stringify(J.input),...at(J.caller)});break;case"server_tool_use":if(J.name==="text_editor_code_execution"||J.name==="bash_code_execution")Me.push({type:"tool-call",toolCallId:J.id,toolName:ie.toCustomToolName("code_execution"),input:JSON.stringify({type:J.name,...J.input}),providerExecuted:!0,...Ce?{dynamic:!0}:{},...at(J.caller)});else if(J.name==="web_search"||J.name==="code_execution"||J.name==="web_fetch"){let Ee=J.name==="code_execution"&&J.input!=null&&typeof J.input==="object"&&"code"in J.input&&!("type"in J.input)?{type:"programmatic-tool-call",...J.input}:J.input;Me.push({type:"tool-call",toolCallId:J.id,toolName:ie.toCustomToolName(J.name),input:JSON.stringify(Ee),providerExecuted:!0,...Ce&&J.name==="code_execution"?{dynamic:!0}:{},...at(J.caller)})}else if(J.name==="tool_search_tool_regex"||J.name==="tool_search_tool_bm25")Je[J.id]=J.name,Me.push({type:"tool-call",toolCallId:J.id,toolName:ie.toCustomToolName(J.name),input:JSON.stringify(J.input),providerExecuted:!0,...at(J.caller)});else if(J.name==="advisor")Me.push({type:"tool-call",toolCallId:J.id,toolName:ie.toCustomToolName("advisor"),input:JSON.stringify(J.input),providerExecuted:!0,...at(J.caller)});break;case"mcp_tool_use":Ve[J.id]={type:"tool-call",toolCallId:J.id,toolName:J.name,input:JSON.stringify(J.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:J.server_name}}},Me.push(Ve[J.id]);break;case"mcp_tool_result":Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:Ve[J.tool_use_id].toolName,isError:J.is_error,result:J.content,dynamic:!0,providerMetadata:Ve[J.tool_use_id].providerMetadata});break;case"web_fetch_tool_result":if(J.content.type==="web_fetch_result")$e.push({title:J.content.content.title??J.content.url,mediaType:J.content.content.source.media_type}),Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:J.content.url,retrievedAt:J.content.retrieved_at,content:{type:J.content.content.type,title:J.content.content.title,citations:J.content.content.citations,source:{type:J.content.content.source.type,mediaType:J.content.content.source.media_type,data:J.content.content.source.data}}},...at(J.caller)});else if(J.content.type==="web_fetch_tool_result_error")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:J.content.error_code},...at(J.caller)});break;case"web_search_tool_result":if(Array.isArray(J.content)){Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("web_search"),result:J.content.map((Ee)=>({url:Ee.url,...Ee.title!=null?{title:Ee.title}:{},pageAge:Ee.page_age??null,encryptedContent:Ee.encrypted_content,type:Ee.type})),...at(J.caller)});for(let Ee of J.content)Me.push({type:"source",sourceType:"url",id:this.generateId(),url:Ee.url,...Ee.title!=null?{title:Ee.title}:{},providerMetadata:{anthropic:{pageAge:Ee.page_age??null}}})}else Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:J.content.error_code},...at(J.caller)});break;case"code_execution_tool_result":if(J.content.type==="code_execution_result")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("code_execution"),result:{type:J.content.type,stdout:J.content.stdout,stderr:J.content.stderr,return_code:J.content.return_code,content:J.content.content??[]}});else if(J.content.type==="encrypted_code_execution_result")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("code_execution"),result:{type:J.content.type,encrypted_stdout:J.content.encrypted_stdout,stderr:J.content.stderr,return_code:J.content.return_code,content:J.content.content??[]}});else if(J.content.type==="code_execution_tool_result_error")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:J.content.error_code}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName("code_execution"),result:J.content});break;case"tool_search_tool_result":{let Ee=Je[J.tool_use_id];if(Ee==null){let ye=ie.toCustomToolName("tool_search_tool_bm25"),Pe=ie.toCustomToolName("tool_search_tool_regex");if(ye!=="tool_search_tool_bm25")Ee="tool_search_tool_bm25";else if(Pe!=="tool_search_tool_regex")Ee="tool_search_tool_regex";else Ee="tool_search_tool_regex"}if(J.content.type==="tool_search_tool_search_result")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName(Ee),result:J.content.tool_references.map((ye)=>({type:ye.type,toolName:ye.tool_name}))});else Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:ie.toCustomToolName(Ee),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:J.content.error_code}});break}case"advisor_tool_result":{let Ee=ie.toCustomToolName("advisor");if(J.content.type==="advisor_result")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:Ee,result:{type:"advisor_result",text:J.content.text,...J.content.stop_reason!=null&&{stopReason:J.content.stop_reason}}});else if(J.content.type==="advisor_redacted_result")Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:Ee,result:{type:"advisor_redacted_result",encryptedContent:J.content.encrypted_content,...J.content.stop_reason!=null&&{stopReason:J.content.stop_reason}}});else Me.push({type:"tool-result",toolCallId:J.tool_use_id,toolName:Ee,isError:!0,result:{type:"advisor_tool_result_error",errorCode:J.content.error_code}});break}case"fallback":Me.push({type:"custom",kind:"anthropic.fallback",providerMetadata:{anthropic:{type:"fallback",from:J.from,to:J.to}}})}return{content:Me,finishReason:{unified:St({finishReason:ve.stop_reason,isJsonResponseFromTool:Le}),raw:ve.stop_reason??void 0},usage:Mt({usage:ve.usage}),request:{body:V},response:{id:ve.id??void 0,modelId:ve.model??void 0,headers:Ze,body:ke},warnings:me,providerMetadata:(()=>{let J=Qt(ve.stop_details),Ee={usage:ve.usage,stopSequence:ve.stop_sequence??null,...J!=null?{stopDetails:J}:{},...ve.input_transformations!=null?{inputTransformations:ve.input_transformations}:{},...ve.safeguard_results!=null?{safeguardResults:ve.safeguard_results}:{},iterations:ve.usage.iterations?ve.usage.iterations.map((Pe)=>({type:Pe.type,...Pe.model!=null?{model:Pe.model}:{},inputTokens:Pe.input_tokens,outputTokens:Pe.output_tokens,...Pe.cache_creation_input_tokens?{cacheCreationInputTokens:Pe.cache_creation_input_tokens}:{},...Pe.cache_read_input_tokens?{cacheReadInputTokens:Pe.cache_read_input_tokens}:{}})):null,container:ve.container?{expiresAt:ve.container.expires_at,id:ve.container.id,skills:ve.container.skills?.map((Pe)=>({type:Pe.type,skillId:Pe.skill_id,version:Pe.version}))??null}:null,contextManagement:Yt(ve.context_management)??null},ye={anthropic:Ee};if(fe&&se!=="anthropic")ye[se]=Ee;return ye})()}}async doStream(A){let B=this.config.headers?await _(this.config.headers):void 0,{args:V,warnings:me,betas:Ne,usesJsonResponseTool:K,toolNameMapping:ie,providerOptionsName:se,usedCustomProviderKey:fe}=await this.getArgs({...A,stream:!0,userSuppliedBetas:this.getBetasFromHeaders(B,A.headers)}),$e=[...this.extractCitationDocuments(A.prompt)],Ce=Zt(V.tools),Ze=this.buildRequestUrl(!0),{responseHeaders:ve,value:ke}=await g({url:Ze,headers:await this.getHeaders({betas:Ne,configHeaders:B,headers:A.headers,providerOptions:A.providerOptions}),body:this.transformRequestBody(V,Ne),failedResponseHandler:ct,successfulResponseHandler:D(Eo),abortSignal:A.abortSignal,fetch:this.config.fetch}),Me={unified:"other",raw:void 0},Ve={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},Je={},Le={},Re={},J=null,Ee=void 0,ye=null,Pe=void 0,ot,He,X=null,Te=!1,Xe=!1,Z=[],nt=!1,Ue,Oe=!1,We=void 0,te=this.generateId,ue=ke.pipeThrough(new TransformStream({start(Qe){Qe.enqueue({type:"stream-start",warnings:me})},transform(Qe,je){if(Oe)return;if(A.includeRawChunks)je.enqueue({type:"raw",rawValue:Qe.rawValue});if(!Qe.success){je.enqueue({type:"error",error:Qe.error});return}let ee=Qe.value;switch(ee.type){case"ping":return;case"content_block_start":{let F=ee.content_block,De=F.type;if(De==="fallback"){je.enqueue({type:"custom",kind:"anthropic.fallback",providerMetadata:{anthropic:{type:"fallback",from:F.from,to:F.to}}});return}switch(We=De,De){case"text":if(K)return;Je[ee.index]={type:"text",citations:[]},je.enqueue({type:"text-start",id:String(ee.index)});return;case"thinking":Je[ee.index]={type:"reasoning"},je.enqueue({type:"reasoning-start",id:String(ee.index)});return;case"redacted_thinking":Je[ee.index]={type:"reasoning"},je.enqueue({type:"reasoning-start",id:String(ee.index),providerMetadata:{anthropic:{redactedData:F.data}}});return;case"compaction":if(Je[ee.index]={type:"text",citations:[]},je.enqueue({type:"text-start",id:String(ee.index),providerMetadata:{anthropic:{type:"compaction",...F.signature!=null&&{signature:F.signature}}}}),F.signature!=null&&F.content!=null&&F.content!=="")je.enqueue({type:"text-delta",id:String(ee.index),delta:F.content});return;case"tool_use":if(K&&F.name==="json")Te=!0,Je[ee.index]={type:"text",citations:[]},je.enqueue({type:"text-start",id:String(ee.index)});else if(F.toolset_name!=null){let be=vt(F.caller),ze=ie.toCustomToolName(F.toolset_name),_t=F.input&&Object.keys(F.input).length>0;Je[ee.index]={type:"tool-call",toolCallId:F.id,toolName:ze,input:_t?JSON.stringify(F.input):"",firstDelta:!0,toolset:{name:F.toolset_name,memberName:F.name},...be&&{caller:be}},je.enqueue({type:"tool-input-start",id:F.id,toolName:ze})}else{let be=vt(F.caller),ze=F.input&&Object.keys(F.input).length>0?JSON.stringify(F.input):"";Je[ee.index]={type:"tool-call",toolCallId:F.id,toolName:F.name,input:ze,firstDelta:ze.length===0,...be&&{caller:be}},je.enqueue({type:"tool-input-start",id:F.id,toolName:F.name})}return;case"server_tool_use":{let be=vt(F.caller);if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(F.name)){let ze=F.name==="text_editor_code_execution"||F.name==="bash_code_execution"?"code_execution":F.name,_t=F.name==="text_editor_code_execution"||F.name==="bash_code_execution"?F.name:F.name==="code_execution"?"programmatic-tool-call":void 0,tt=ie.toCustomToolName(ze),rt=F.input!=null&&typeof F.input==="object"&&Object.keys(F.input).length>0?JSON.stringify(F.input):"";Je[ee.index]={type:"tool-call",toolCallId:F.id,toolName:tt,input:rt,providerExecuted:!0,...Ce&&ze==="code_execution"?{dynamic:!0}:{},firstDelta:rt.length===0,providerToolName:ze,providerToolInputType:_t,...be&&{caller:be}},je.enqueue({type:"tool-input-start",id:F.id,toolName:tt,providerExecuted:!0,...Ce&&ze==="code_execution"?{dynamic:!0}:{}})}else if(F.name==="tool_search_tool_regex"||F.name==="tool_search_tool_bm25"){Re[F.id]=F.name;let ze=ie.toCustomToolName(F.name);Je[ee.index]={type:"tool-call",toolCallId:F.id,toolName:ze,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:F.name,...be&&{caller:be}},je.enqueue({type:"tool-input-start",id:F.id,toolName:ze,providerExecuted:!0})}else if(F.name==="advisor"){let ze=ie.toCustomToolName("advisor");Je[ee.index]={type:"tool-call",toolCallId:F.id,toolName:ze,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:F.name,...be&&{caller:be}},je.enqueue({type:"tool-input-start",id:F.id,toolName:ze,providerExecuted:!0})}return}case"web_fetch_tool_result":if(F.content.type==="web_fetch_result")$e.push({title:F.content.content.title??F.content.url,mediaType:F.content.content.source.media_type}),je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:F.content.url,retrievedAt:F.content.retrieved_at,content:{type:F.content.content.type,title:F.content.content.title,citations:F.content.content.citations,source:{type:F.content.content.source.type,mediaType:F.content.content.source.media_type,data:F.content.content.source.data}}},...at(F.caller)});else if(F.content.type==="web_fetch_tool_result_error")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:F.content.error_code},...at(F.caller)});return;case"web_search_tool_result":if(Array.isArray(F.content)){je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("web_search"),result:F.content.map((be)=>({url:be.url,...be.title!=null?{title:be.title}:{},pageAge:be.page_age??null,encryptedContent:be.encrypted_content,type:be.type})),...at(F.caller)});for(let be of F.content)Xe=!0,je.enqueue({type:"source",sourceType:"url",id:te(),url:be.url,...be.title!=null?{title:be.title}:{},providerMetadata:{anthropic:{pageAge:be.page_age??null}}})}else je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:F.content.error_code},...at(F.caller)});return;case"code_execution_tool_result":if(F.content.type==="code_execution_result")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("code_execution"),result:{type:F.content.type,stdout:F.content.stdout,stderr:F.content.stderr,return_code:F.content.return_code,content:F.content.content??[]}});else if(F.content.type==="encrypted_code_execution_result")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("code_execution"),result:{type:F.content.type,encrypted_stdout:F.content.encrypted_stdout,stderr:F.content.stderr,return_code:F.content.return_code,content:F.content.content??[]}});else if(F.content.type==="code_execution_tool_result_error")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:F.content.error_code}});return;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName("code_execution"),result:F.content});return;case"tool_search_tool_result":{let be=Re[F.tool_use_id];if(be==null){let ze=ie.toCustomToolName("tool_search_tool_bm25"),_t=ie.toCustomToolName("tool_search_tool_regex");if(ze!=="tool_search_tool_bm25")be="tool_search_tool_bm25";else if(_t!=="tool_search_tool_regex")be="tool_search_tool_regex";else be="tool_search_tool_regex"}if(F.content.type==="tool_search_tool_search_result")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName(be),result:F.content.tool_references.map((ze)=>({type:ze.type,toolName:ze.tool_name}))});else je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:ie.toCustomToolName(be),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:F.content.error_code}});return}case"advisor_tool_result":{let be=ie.toCustomToolName("advisor");if(F.content.type==="advisor_result")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:be,result:{type:"advisor_result",text:F.content.text,...F.content.stop_reason!=null&&{stopReason:F.content.stop_reason}}});else if(F.content.type==="advisor_redacted_result")je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:be,result:{type:"advisor_redacted_result",encryptedContent:F.content.encrypted_content,...F.content.stop_reason!=null&&{stopReason:F.content.stop_reason}}});else je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:be,isError:!0,result:{type:"advisor_tool_result_error",errorCode:F.content.error_code}});return}case"mcp_tool_use":Le[F.id]={type:"tool-call",toolCallId:F.id,toolName:F.name,input:JSON.stringify(F.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:F.server_name}}},je.enqueue(Le[F.id]);return;case"mcp_tool_result":je.enqueue({type:"tool-result",toolCallId:F.tool_use_id,toolName:Le[F.tool_use_id].toolName,isError:F.is_error,result:F.content,dynamic:!0,providerMetadata:Le[F.tool_use_id].providerMetadata});return;default:throw Error(`Unsupported content block type: ${De}`)}}case"content_block_stop":if(Je[ee.index]!=null){let F=Je[ee.index];switch(F.type){case"text":je.enqueue({type:"text-end",id:String(ee.index),...F.citations.length>0&&{citations:F.citations.map((De)=>Bt(De,$e)),providerMetadata:{anthropic:{citations:F.citations}}}});break;case"reasoning":je.enqueue({type:"reasoning-end",id:String(ee.index)});break;case"tool-call":if(!(K&&F.toolName==="json")){if(F.toolset!=null){let be={};try{be=F.input===""?{}:Q(F.input)}catch{be=void 0}F.input=be===void 0?F.input:JSON.stringify(Xt({memberName:F.toolset.memberName,input:be})),je.enqueue({type:"tool-input-delta",id:F.toolCallId,delta:F.input})}je.enqueue({type:"tool-input-end",id:F.toolCallId});let De=F.input===""?"{}":F.input;if(F.providerToolName==="code_execution")try{let be=Q(De);if(be!=null&&typeof be==="object"&&"code"in be&&!("type"in be))De=JSON.stringify({type:"programmatic-tool-call",...be})}catch{}je.enqueue({type:"tool-call",toolCallId:F.toolCallId,toolName:F.toolName,input:De,providerExecuted:F.providerExecuted,...Ce&&F.providerToolName==="code_execution"?{dynamic:!0}:{},...(F.caller||F.toolset)&&{providerMetadata:{anthropic:{...F.toolset&&{toolsetName:F.toolset.name},...F.caller&&{caller:F.caller}}}}})}}delete Je[ee.index]}We=void 0;return;case"content_block_delta":{let F=ee.delta.type;switch(F){case"text_delta":if(K)return;je.enqueue({type:"text-delta",id:String(ee.index),delta:ee.delta.text});return;case"thinking_delta":je.enqueue({type:"reasoning-delta",id:String(ee.index),delta:ee.delta.thinking});return;case"signature_delta":if(We==="thinking")je.enqueue({type:"reasoning-delta",id:String(ee.index),delta:"",providerMetadata:{anthropic:{signature:ee.delta.signature}}});return;case"compaction_delta":if(ee.delta.content!=null)je.enqueue({type:"text-delta",id:String(ee.index),delta:ee.delta.content});return;case"input_json_delta":{let De=Je[ee.index],be=ee.delta.partial_json;if(be.length===0)return;if(Te){if(De?.type!=="text")return;je.enqueue({type:"text-delta",id:String(ee.index),delta:be})}else{if(De?.type!=="tool-call")return;if(De.toolset!=null){De.input+=be;return}if(De.firstDelta&&De.providerToolInputType!=null)be=`{"type": "${De.providerToolInputType}",${be.substring(1)}`;je.enqueue({type:"tool-input-delta",id:De.toolCallId,delta:be}),De.input+=be,De.firstDelta=!1}return}case"citations_delta":{let De=ee.delta.citation,be=Je[ee.index];if(be?.type==="text")be.citations.push(De);if(De.type==="web_search_result_location")Z.push(De);else{let ze=Nt(De,$e,te);if(ze)je.enqueue(ze)}return}default:throw Error(`Unsupported delta type: ${F}`)}}case"message_start":if(nt){if(Ue===ee.message.id)return;Oe=!0,je.enqueue({type:"error",error:new P({data:ee,message:`Received message_start for message ${JSON.stringify(ee.message.id)} while message ${JSON.stringify(Ue)} is still open.`})});return}if(nt=!0,Ue=ee.message.id,Ve.input_tokens=ee.message.usage.input_tokens,Ve.cache_read_input_tokens=ee.message.usage.cache_read_input_tokens??0,Ve.cache_creation_input_tokens=ee.message.usage.cache_creation_input_tokens??0,Ee={...ee.message.usage},ee.message.input_transformations!=null)ot=ee.message.input_transformations;if(ee.message.container!=null)X={expiresAt:ee.message.container.expires_at,id:ee.message.container.id,skills:null};if(ee.message.stop_reason!=null)Me={unified:St({finishReason:ee.message.stop_reason,isJsonResponseFromTool:Te}),raw:ee.message.stop_reason};if(je.enqueue({type:"response-metadata",id:ee.message.id??void 0,modelId:ee.message.model??void 0}),je.enqueue({type:"custom",kind:"anthropic.message_start",providerMetadata:{anthropic:{id:ee.message.id??null,model:ee.message.model??null,usage:Ee}}}),ee.message.content!=null)for(let F=0;F<ee.message.content.length;F++){let De=ee.message.content[F];if(De.type==="tool_use"){let be=vt(De.caller);je.enqueue({type:"tool-input-start",id:De.id,toolName:De.name});let ze=JSON.stringify(De.input??{});je.enqueue({type:"tool-input-delta",id:De.id,delta:ze}),je.enqueue({type:"tool-input-end",id:De.id}),je.enqueue({type:"tool-call",toolCallId:De.id,toolName:De.name,input:ze,...be&&{providerMetadata:{anthropic:{caller:be}}}})}}return;case"message_delta":if(ee.usage.input_tokens!=null&&Ve.input_tokens!==ee.usage.input_tokens)Ve.input_tokens=ee.usage.input_tokens;if(Ve.output_tokens=ee.usage.output_tokens,ee.usage.output_tokens_details!=null)Ve.output_tokens_details=ee.usage.output_tokens_details;if(ee.usage.cache_read_input_tokens!=null)Ve.cache_read_input_tokens=ee.usage.cache_read_input_tokens;if(ee.usage.cache_creation_input_tokens!=null)Ve.cache_creation_input_tokens=ee.usage.cache_creation_input_tokens;if(ee.usage.iterations!=null)Ve.iterations=ee.usage.iterations;if(Me={unified:St({finishReason:ee.delta.stop_reason,isJsonResponseFromTool:Te}),raw:ee.delta.stop_reason??void 0},ye=ee.delta.stop_sequence??null,Pe=Qt(ee.delta.stop_details),X=ee.delta.container!=null?{expiresAt:ee.delta.container.expires_at,id:ee.delta.container.id,skills:ee.delta.container.skills?.map((F)=>({type:F.type,skillId:F.skill_id,version:F.version}))??null}:null,ee.context_management)J=Yt(ee.context_management);if(ee.input_transformations!=null)ot=ee.input_transformations;if(ee.delta.safeguard_results!=null)He=ee.delta.safeguard_results;Ee={...Ee,...ee.usage};return;case"message_stop":{nt=!1,Ue=void 0;let F={usage:Ee??null,stopSequence:ye,...Pe!=null?{stopDetails:Pe}:{},...ot!=null?{inputTransformations:ot}:{},...He!=null?{safeguardResults:He}:{},iterations:Ve.iterations?Ve.iterations.map((be)=>({type:be.type,...be.model!=null?{model:be.model}:{},inputTokens:be.input_tokens,outputTokens:be.output_tokens,...be.cache_creation_input_tokens?{cacheCreationInputTokens:be.cache_creation_input_tokens}:{},...be.cache_read_input_tokens?{cacheReadInputTokens:be.cache_read_input_tokens}:{}})):null,container:X,contextManagement:J},De={anthropic:F};if(fe&&se!=="anthropic")De[se]=F;if(!Xe)for(let be of Z){let ze=Nt(be,$e,te);if(ze)je.enqueue(ze)}Z.length=0,je.enqueue({type:"finish",finishReason:Me,usage:Mt({usage:Ve,rawUsage:Ee}),providerMetadata:De});return}case"error":je.enqueue({type:"error",error:Wn(ee.error)});return;default:throw Error(`Unsupported chunk type: ${ee}`)}}})),Ye=!1,ft=!1,yt,[bt,kt]=ue.pipeThrough(new TransformStream({transform(Qe,je){switch(Qe.type){case"response-metadata":Ye=!1;break;case"finish":Ye=!1,yt=Qe;break;case"error":ft=!0;break;case"text-delta":case"reasoning-delta":case"tool-input-delta":Ye||=Qe.delta.length>0;break;case"tool-call":Ye=!0}je.enqueue(Qe)},flush(Qe){if(Ye&&!ft)Qe.enqueue({type:"finish",finishReason:{unified:"interrupted",raw:void 0},usage:yt?.usage??{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0}},...yt?.providerMetadata!=null?{providerMetadata:yt.providerMetadata}:{}})}})).tee(),dt=bt.getReader();try{await dt.read();let Qe=await dt.read();if(Qe.value?.type==="raw")Qe=await dt.read();if(Qe.value?.type==="error"){let je=Qe.value.error;if(!st(je))throw Error("Expected a normalized Anthropic stream error");throw new w({message:je.message,url:Ze,requestBodyValues:V,statusCode:je.statusCode??500,responseHeaders:ve,responseBody:JSON.stringify(je.data),isRetryable:je.isRetryable??!1})}}finally{dt.cancel().catch(()=>{}),dt.releaseLock()}return{stream:kt,request:{body:V},response:{headers:ve}}}};function Gn(m){if(m.includes("claude-sonnet-5-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!0,isKnownModel:!0};else if(m.includes("claude-opus-5-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-haiku-5-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!0,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-opus-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-fable-5-1"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-fable-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-opus-4-8")||m.includes("claude-opus-4-7")||m.includes("claude-sonnet-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-sonnet-4-6")||m.includes("claude-opus-4-6"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-sonnet-4-5")||m.includes("claude-opus-4-5")||m.includes("claude-haiku-4-5"))return{maxOutputTokens:64000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-opus-4-1"))return{maxOutputTokens:32000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-sonnet-4(?:-|@)/.test(m))return{maxOutputTokens:64000,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-opus-4(?:-|@)/.test(m))return{maxOutputTokens:32000,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(m.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-(?:instant(?:-|$)|v?2(?=$|[-.:])|3(?=$|[-.]))/.test(m))return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1};else if(m.includes("claude-"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,supportsAdaptiveThinking:!0,rejectsSamplingParameters:!0,supportsXhighEffort:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,supportsAdaptiveThinking:!1,rejectsSamplingParameters:!1,supportsXhighEffort:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1}}function Zt(m){if(!m)return!1;let A=!1,B=!1;for(let V of m){if("type"in V&&(V.type==="web_fetch_20260209"||V.type==="web_fetch_20260318"||V.type==="web_search_20260209"||V.type==="web_search_20260318")){A=!0;continue}if("type"in V&&(V.type==="code_execution_20250522"||V.type==="code_execution_20250825"||V.type==="code_execution_20260120")){B=!0;break}}return A&&!B}function Zn({reasoning:m,modelId:A,supportsAdaptiveThinking:B,supportsXhighEffort:V,rejectsThinkingDisabled:me,supportsBetweenToolsThinking:Ne,maxOutputTokensForModel:K,warnings:ie}){if(!W(m))return;if(m==="none"){if(Ne)return{thinking:{type:"between_tools"}};if(me)return ie.push({type:"compatibility",feature:"reasoning",details:`reasoning 'none' is not supported by ${A}; it always uses adaptive thinking. Using effort 'low' to minimize thinking instead.`}),{effort:"low"};return{thinking:{type:"disabled"}}}if(B)return{thinking:{type:"adaptive",display:"summarized"},effort:Se({reasoning:m,effortMap:{minimal:"low",low:"low",medium:"medium",high:"high",xhigh:V?"xhigh":"max",max:"max"},warnings:ie})};let se=it({reasoning:m,maxOutputTokens:K,maxReasoningBudget:K,warnings:ie});if(se==null)return;return{thinking:{type:"enabled",budgetTokens:se}}}function Yt(m){return m?{appliedEdits:m.applied_edits.map((A)=>{switch(A.type){case"clear_tool_uses_20250919":return{type:A.type,clearedToolUses:A.cleared_tool_uses,clearedInputTokens:A.cleared_input_tokens};case"clear_thinking_20251015":return{type:A.type,clearedThinkingTurns:A.cleared_thinking_turns,clearedInputTokens:A.cleared_input_tokens};case"compact_20260112":return{type:A.type}}}).filter((A)=>A!==void 0)}:null}function Qt(m){if(m==null)return;return{type:m.type,...m.category!=null?{category:m.category}:{},...m.explanation!=null?{explanation:m.explanation}:{},...m.recommended_model!=null?{recommendedModel:m.recommended_model}:{}}}var Yn=/^[A-Za-z0-9_-]{1,64}$/,eo=a(()=>s(t({anthropicBeta:o(e()).optional()}))),vo=()=>t({id:e(),type:n("message_batch"),processing_status:e(),request_counts:t({processing:r(),succeeded:r(),errored:r(),canceled:r(),expired:r()}),created_at:e(),expires_at:e(),archived_at:e().nullish(),cancel_initiated_at:e().nullish(),ended_at:e().nullish(),results_url:e().nullish()}),Rt=a(()=>s(vo())),Qn=a(()=>s(t({data:o(vo()),has_more:c(),last_id:e().nullish()}))),er=new Set(["advisor_tool_result","bash_code_execution_tool_result","code_execution_tool_result","compaction","container_upload","fallback","mcp_tool_result","mcp_tool_use","redacted_thinking","server_tool_use","text","text_editor_code_execution_tool_result","thinking","tool_search_tool_result","tool_use","web_fetch_tool_result","web_search_tool_result"]),tr=a(()=>s(f("type",[t({type:n("succeeded"),message:v()}),t({type:n("errored"),error:t({type:n("error"),error:t({type:e(),message:e()}),request_id:e().nullish()})}),t({type:n("canceled")}),t({type:n("expired")})]))),or=a(()=>s(t({custom_id:e(),result:v()})));function nr(m){for(let A of m){let B=A.type;if(B!=="text")throw new u({functionality:`batch request type: ${B}`,message:`The Anthropic Message Batches API does not support batch requests with type "${B}".`})}}var rr=class{constructor(m){this.options=m,this.specificationVersion="v4",this.provider=m.provider,this.supportedUrls=m.supportedUrls,this.generateId=m.config.generateId??C}async doStartBatch({requests:m,providerOptions:A,headers:B,abortSignal:V,webhookUrl:me}){nr(m),ar(m);let Ne=new Set(await to({provider:this.options.config.provider,providerOptions:A})),K=new Set(Ne),ie=[],se=me==null?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The Anthropic Message Batches API does not support completion webhooks."}}];for(let $e of m){if((await to({provider:this.options.config.provider,providerOptions:$e.options.providerOptions})).length>0)throw new u({functionality:"per-request providerOptions.anthropic.anthropicBeta",message:`Anthropic Message Batches do not support per-request betas (request "${$e.id}"). Set providerOptions.anthropic.anthropicBeta on startBatch instead.`});let Ce=await xo.prepareRequest({modelId:$e.modelId,config:this.options.config,options:{...$e.options,stream:!1,userSuppliedBetas:new Set(Ne)}});if(Ce.usesJsonResponseTool)throw new u({functionality:"batch responseFormat JSON-tool fallback",message:`Anthropic Message Batches cannot decode the JSON-tool structured-output fallback (request "${$e.id}") because batch results are retrieved independently of the start call. Use a model that supports native output_format structured outputs.`});let Ze=$e.options.tools?.find((ke)=>ke.type==="provider"&&Ce.toolNameMapping.toProviderToolName(ke.name)!==ke.name);if(Ze!=null)throw new u({functionality:"aliased provider tool names in batches",message:`Anthropic Message Batches cannot restore the custom provider-tool name "${Ze.name}" when results are retrieved independently of the start call (request "${$e.id}"). Use the provider's canonical tool name.`});let ve=this.options.config.transformRequestBody?.(Ce.args,Ce.betas)??Ce.args;ir({body:ve,requestId:$e.id}),ie.push({custom_id:$e.id,params:ve});for(let ke of Ce.betas)K.add(ke);for(let ke of Ce.warnings)se.push({requestId:$e.id,warning:ke})}let{value:fe}=await g({url:this.getBatchUrl(""),headers:await this.getStartBatchHeaders({betas:K,headers:B}),body:{requests:ie},failedResponseHandler:ct,successfulResponseHandler:p(Rt),abortSignal:V,fetch:this.options.config.fetch});return{batchId:fe.id,...jt(fe),warnings:se}}async doGetBatchStatus(m){return jt(await this.retrieveBatch(m))}async doCancelBatch(m){return await g({url:this.getBatchUrl(`/${encodeURIComponent(m.batchId)}/cancel`),headers:await this.getBatchHeaders(m.headers),body:{},failedResponseHandler:ct,successfulResponseHandler:p(Rt),abortSignal:m.abortSignal,fetch:this.options.config.fetch}),{}}async doListBatches(m){let A=new URL(this.getBatchUrl(""));if(m.limit!=null)A.searchParams.set("limit",String(m.limit));if(m.cursor!=null)A.searchParams.set("after_id",m.cursor);let{value:B}=await R({url:A.toString(),validateUrl:!1,headers:await this.getBatchHeaders(m.headers),failedResponseHandler:ct,successfulResponseHandler:p(Qn),abortSignal:m.abortSignal,fetch:this.options.config.fetch});return{batches:B.data.map((V)=>({batchId:V.id,...jt(V)})),...B.has_more&&B.last_id!=null?{nextCursor:B.last_id}:{}}}async doGetBatchResults(m){let A=await this.retrieveBatch(m);if(jt(A).status==="pending")throw new b({argument:"batchId",message:`Anthropic batch "${m.batchId}" is not complete.`});if(A.archived_at!=null)throw new b({argument:"batchId",message:`Anthropic batch "${m.batchId}" results are no longer available.`});if(A.results_url==null)throw new P({data:A,message:`Anthropic batch "${m.batchId}" completed without batch output.`});let{value:B}=await R({url:A.results_url,validateUrl:!0,credentialedOrigin:this.options.config.baseURL,trustedOrigin:this.options.config.baseURL,headers:await this.getBatchHeaders(m.headers),failedResponseHandler:ct,successfulResponseHandler:_e(or,{maxLineBytes:this.options.maxLineBytes}),abortSignal:m.abortSignal,fetch:this.options.config.fetch});return ae(this.iterateBatchResults(B))}async retrieveBatch(m){let{value:A}=await R({url:this.getBatchUrl(`/${encodeURIComponent(m.batchId)}`),validateUrl:!1,headers:await this.getBatchHeaders(m.headers),failedResponseHandler:ct,successfulResponseHandler:p(Rt),abortSignal:m.abortSignal,fetch:this.options.config.fetch});return A}async*iterateBatchResults(m){for await(let A of m)yield await cr(A,this.generateId)}getBatchUrl(m){return`${this.options.config.baseURL}/messages/batches${m}`}async getStartBatchHeaders({betas:m,headers:A}){return d(qe(await this.getBatchHeaders(A)),{"anthropic-beta":m.size>0?Array.from(m).join(","):void 0})}async getBatchHeaders(m){return d(this.options.config.headers?await _(this.options.config.headers):void 0,m)}};async function to({provider:m,providerOptions:A}){let B=m.split(".")[0],V=await h({provider:"anthropic",providerOptions:A,schema:eo}),me=B!=="anthropic"?await h({provider:B,providerOptions:A,schema:eo}):void 0;return Object.assign({},V??{},me??{}).anthropicBeta??[]}function ar(m){let A=new Set;for(let B of m){if(!Yn.test(B.id))throw new b({argument:"requests",message:`Anthropic batch request ID "${B.id}" must match ^[A-Za-z0-9_-]{1,64}$.`});if(A.has(B.id))throw new b({argument:"requests",message:`Anthropic batch request IDs must be unique; duplicate ID "${B.id}".`});A.add(B.id)}}function ir({body:m,requestId:A}){if(m.speed!=null)throw new u({functionality:"providerOptions.anthropic.speed",message:`Anthropic Message Batches do not support speed (request "${A}").`});if(Array.isArray(m.fallbacks)&&m.fallbacks.some((B)=>B!=null&&typeof B==="object"&&("speed"in B)&&B.speed!=null))throw new u({functionality:"providerOptions.anthropic.fallbacks[].speed",message:`Anthropic Message Batches do not support fallback speed (request "${A}").`})}function jt(m){let A=lr(m.request_counts);return{status:sr(m.processing_status),rawStatus:m.processing_status,...A!=null?{requestCounts:A}:{},createdAt:m.created_at,expiresAt:m.expires_at,providerMetadata:{anthropic:{archivedAt:m.archived_at??null,cancelInitiatedAt:m.cancel_initiated_at??null,endedAt:m.ended_at??null,requestCounts:m.request_counts,resultsUrl:m.results_url??null}}}}function sr(m){switch(m){case"ended":return"completed";default:return"pending"}}function lr(m){return ge({total:m.processing+m.succeeded+m.errored+m.canceled+m.expired,pending:m.processing,completed:m.succeeded,failed:m.errored+m.canceled+m.expired})}async function cr(m,A){let B=await j({value:m.result,schema:tr});if(!B.success)return oo(m.custom_id);let V=B.value;switch(V.type){case"canceled":return{type:"text",id:m.custom_id,status:"cancelled"};case"expired":return{type:"text",id:m.custom_id,status:"expired"};case"errored":{let me=V.error.request_id;return{type:"text",id:m.custom_id,status:"failed",error:{message:V.error.error.message,type:V.error.error.type},...me!=null?{providerMetadata:{anthropic:{requestId:me}}}:{}}}case"succeeded":{let me=await ur(V.message);if(me==null)return oo(m.custom_id);return{type:"text",id:m.custom_id,status:"succeeded",result:pr(me,A)}}}}function oo(m){return{type:"text",id:m,status:"failed",error:{message:"Anthropic returned an invalid Message batch result.",code:"invalid_response"}}}async function ur(m){let A=await j({value:m,schema:Ct});if(A.success)return A.value;if(!L(m)||!Array.isArray(m.content))return;let B=[];for(let me of m.content){let Ne=await j({value:{...m,content:[me]},schema:Ct});if(Ne.success){let[K]=Ne.value.content;if(K!=null)B.push(K)}else if(!L(me)||typeof me.type!=="string"||er.has(me.type))return}let V=await j({value:{...m,content:B},schema:Ct});return V.success?V.value:void 0}function pr(m,A){let B=[],V={},me={},Ne=m.content.some((K)=>K.type==="web_search_tool_result"&&Array.isArray(K.content)&&K.content.length>0);for(let K of m.content)switch(K.type){case"text":let ie=K.citations;B.push({type:"text",text:K.text,...ie!=null&&ie.length>0&&{citations:ie.map((se)=>Bt(se,[]))},...ie!=null&&ie.length>0&&{providerMetadata:{anthropic:{citations:ie}}}});for(let se of K.citations??[])if(se.type==="web_search_result_location"&&!Ne){let fe=Nt(se,[],A);if(fe)B.push(fe)}break;case"thinking":B.push({type:"reasoning",text:K.thinking,providerMetadata:{anthropic:{signature:K.signature}}});break;case"redacted_thinking":B.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:K.data}}});break;case"container_upload":B.push({type:"custom",kind:"anthropic.container_upload",providerMetadata:{anthropic:{fileId:K.file_id}}});break;case"compaction":if(!K.content)break;B.push({type:"text",text:K.content,providerMetadata:{anthropic:{type:"compaction",...K.signature!=null&&{signature:K.signature}}}});break;case"tool_use":B.push({type:"tool-call",toolCallId:K.id,toolName:K.name,input:JSON.stringify(K.input),...Tt(K.caller)});break;case"server_tool_use":{let se=K.name==="bash_code_execution"||K.name==="text_editor_code_execution",fe=se||K.name==="code_execution",$e=se?"code_execution":K.name;if(K.name==="tool_search_tool_bm25"||K.name==="tool_search_tool_regex")me[K.id]=K.name;B.push({type:"tool-call",toolCallId:K.id,toolName:$e,input:JSON.stringify(se?{type:K.name,...K.input}:K.name==="code_execution"&&K.input!=null&&("code"in K.input)&&!("type"in K.input)?{type:"programmatic-tool-call",...K.input}:K.input),providerExecuted:!0,...fe?{dynamic:!0}:{},...Tt(K.caller)});break}case"mcp_tool_use":{let se={type:"tool-call",toolCallId:K.id,toolName:K.name,input:JSON.stringify(K.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{serverName:K.server_name,type:"mcp-tool-use"}}};V[K.id]=se,B.push(se);break}case"mcp_tool_result":{let se=V[K.tool_use_id];B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:se?.toolName??"mcp",isError:K.is_error,result:K.content,dynamic:!0,...se?.providerMetadata!=null&&{providerMetadata:se.providerMetadata}});break}case"web_fetch_tool_result":B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"web_fetch",...K.content.type==="web_fetch_tool_result_error"?{isError:!0,result:{errorCode:K.content.error_code,type:K.content.type}}:{result:{content:{citations:K.content.content.citations,source:{data:K.content.content.source.data,mediaType:K.content.content.source.media_type,type:K.content.content.source.type},title:K.content.content.title,type:K.content.content.type},retrievedAt:K.content.retrieved_at,type:K.content.type,url:K.content.url}},...Tt(K.caller)});break;case"web_search_tool_result":if(B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"web_search",...Array.isArray(K.content)?{result:K.content.map((se)=>({encryptedContent:se.encrypted_content,pageAge:se.page_age??null,...se.title!=null?{title:se.title}:{},type:se.type,url:se.url}))}:{isError:!0,result:{errorCode:K.content.error_code,type:K.content.type}},...Tt(K.caller)}),Array.isArray(K.content))for(let se of K.content)B.push({type:"source",sourceType:"url",id:A(),url:se.url,...se.title!=null?{title:se.title}:{},providerMetadata:{anthropic:{pageAge:se.page_age??null}}});break;case"code_execution_tool_result":B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"code_execution",...K.content.type==="code_execution_tool_result_error"?{isError:!0,result:{errorCode:K.content.error_code,type:K.content.type}}:{result:K.content}});break;case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"code_execution",result:K.content});break;case"tool_search_tool_result":{let se=me[K.tool_use_id]??"tool_search_tool_regex";B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:se,...K.content.type==="tool_search_tool_result_error"?{isError:!0,result:{errorCode:K.content.error_code,type:K.content.type}}:{result:K.content.tool_references.map((fe)=>({toolName:fe.tool_name,type:fe.type}))}});break}case"advisor_tool_result":if(K.content.type==="advisor_result")B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"advisor",result:{type:K.content.type,text:K.content.text,...K.content.stop_reason!=null?{stopReason:K.content.stop_reason}:{}}});else if(K.content.type==="advisor_redacted_result")B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"advisor",result:{type:K.content.type,encryptedContent:K.content.encrypted_content,...K.content.stop_reason!=null?{stopReason:K.content.stop_reason}:{}}});else B.push({type:"tool-result",toolCallId:K.tool_use_id,toolName:"advisor",isError:!0,result:{errorCode:K.content.error_code,type:K.content.type}});break;case"fallback":B.push({type:"custom",kind:"anthropic.fallback",providerMetadata:{anthropic:{type:"fallback",from:K.from,to:K.to}}})}return{content:B,finishReason:{unified:St({finishReason:m.stop_reason}),raw:m.stop_reason??void 0},usage:Mt({usage:m.usage}),response:{id:m.id??void 0,modelId:m.model??void 0},warnings:[],providerMetadata:{anthropic:dr(m)}}}function Tt(m){return m==null?{}:{providerMetadata:{anthropic:{caller:{type:m.type,toolId:m.tool_id}}}}}function dr(m){let A=hr(m.stop_details);return{usage:m.usage,stopSequence:m.stop_sequence??null,...A!=null?{stopDetails:A}:{},...m.input_transformations!=null?{inputTransformations:m.input_transformations}:{},...m.safeguard_results!=null?{safeguardResults:m.safeguard_results}:{},iterations:m.usage.iterations?m.usage.iterations.map((B)=>({type:B.type,...B.model!=null?{model:B.model}:{},inputTokens:B.input_tokens,outputTokens:B.output_tokens,...B.cache_creation_input_tokens?{cacheCreationInputTokens:B.cache_creation_input_tokens}:{},...B.cache_read_input_tokens?{cacheReadInputTokens:B.cache_read_input_tokens}:{}})):null,container:m.container?{expiresAt:m.container.expires_at,id:m.container.id,skills:m.container.skills?.map((B)=>({type:B.type,skillId:B.skill_id,version:B.version}))??null}:null,contextManagement:_r(m.context_management)}}function _r(m){return m?{appliedEdits:m.applied_edits.map((A)=>{switch(A.type){case"clear_tool_uses_20250919":return{type:A.type,clearedToolUses:A.cleared_tool_uses,clearedInputTokens:A.cleared_input_tokens};case"clear_thinking_20251015":return{type:A.type,clearedThinkingTurns:A.cleared_thinking_turns,clearedInputTokens:A.cleared_input_tokens};case"compact_20260112":return{type:A.type}}})}:null}function hr(m){if(m==null)return;return{type:m.type,...m.category!=null?{category:m.category}:{},...m.explanation!=null?{explanation:m.explanation}:{},...m.recommended_model!=null?{recommendedModel:m.recommended_model}:{}}}var mr=a(()=>s(t({command:e(),restart:c().optional()}))),no=re({id:"anthropic.bash_20241022",inputSchema:mr});function gr(m={}){let{execute:A,...B}=m;if(A===void 0)return no({...B,execute:async({command:V},{abortSignal:me,experimental_sandbox:Ne})=>{if(!Ne)throw Error("Sandbox session is not available");return await Ne.run({command:V,abortSignal:me})}});return no({...B,...A===null?{}:{execute:A}})}var fr=a(()=>s(t({command:e(),restart:c().optional()}))),ro=re({id:"anthropic.bash_20250124",inputSchema:fr});function yr(m={}){let{execute:A,...B}=m;if(A===void 0)return ro({...B,execute:async({command:V},{abortSignal:me,experimental_sandbox:Ne})=>{if(!Ne)throw Error("Sandbox session is not available");return await Ne.run({command:V,abortSignal:me})}});return ro({...B,...A===null?{}:{execute:A}})}var br=a(()=>s(t({action:i(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:o(r().int()).optional(),text:e().optional()}))),xr=re({id:"anthropic.computer_20241022",inputSchema:br}),vr=a(()=>s(t({action:i(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:ce([r().int(),r().int()]).optional(),duration:r().optional(),scroll_amount:r().optional(),scroll_direction:i(["up","down","left","right"]).optional(),start_coordinate:ce([r().int(),r().int()]).optional(),text:e().optional()}))),kr=re({id:"anthropic.computer_20250124",inputSchema:vr}),wr=a(()=>s(t({action:i(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:ce([r().int(),r().int()]).optional(),duration:r().optional(),region:ce([r().int(),r().int(),r().int(),r().int()]).optional(),scroll_amount:r().optional(),scroll_direction:i(["up","down","left","right"]).optional(),start_coordinate:ce([r().int(),r().int()]).optional(),text:e().optional()}))),jr=re({id:"anthropic.computer_20251124",inputSchema:wr}),Tr=a(()=>s(f("command",[t({command:n("view"),path:e(),view_range:ce([r(),r()]).optional()}),t({command:n("create"),path:e(),file_text:e()}),t({command:n("str_replace"),path:e(),old_str:e(),new_str:e()}),t({command:n("insert"),path:e(),insert_line:r(),insert_text:e()}),t({command:n("delete"),path:e()}),t({command:n("rename"),old_path:e(),new_path:e()})]))),Cr=re({id:"anthropic.memory_20250818",inputSchema:Tr}),Sr=a(()=>s(t({command:i(["view","create","str_replace","insert","undo_edit"]),path:e(),file_text:e().optional(),insert_line:r().int().optional(),new_str:e().optional(),insert_text:e().optional(),old_str:e().optional(),view_range:o(r().int()).optional()}))),Nr=re({id:"anthropic.text_editor_20241022",inputSchema:Sr}),Or=a(()=>s(t({command:i(["view","create","str_replace","insert","undo_edit"]),path:e(),file_text:e().optional(),insert_line:r().int().optional(),new_str:e().optional(),insert_text:e().optional(),old_str:e().optional(),view_range:o(r().int()).optional()}))),Ir=re({id:"anthropic.text_editor_20250124",inputSchema:Or}),Ar=a(()=>s(t({command:i(["view","create","str_replace","insert"]),path:e(),file_text:e().optional(),insert_line:r().int().optional(),new_str:e().optional(),insert_text:e().optional(),old_str:e().optional(),view_range:o(r().int()).optional()}))),Rr=re({id:"anthropic.text_editor_20250429",inputSchema:Ar}),Br=a(()=>s(o(t({type:n("tool_reference"),toolName:e()})))),Er=a(()=>s(t({query:e(),limit:r().optional()}))),Mr=S({id:"anthropic.tool_search_bm25_20251119",inputSchema:Er,outputSchema:Br,supportsDeferredResults:!0}),Ur=(m={})=>Mr(m),$r={advisor_20260301:Po,bash_20241022:gr,bash_20250124:yr,codeExecution_20250522:Nn,codeExecution_20250825:An,codeExecution_20260120:En,computer_20241022:xr,computer_20250124:kr,computer_20251124:jr,computerToolset_20260801:Jo,memory_20250818:Cr,textEditor_20241022:Nr,textEditor_20250124:Ir,textEditor_20250429:Rr,textEditor_20250728:Vo,webFetch_20250910:jn,webFetch_20260209:xn,webFetch_20260318:hn,webSearch_20250305:cn,webSearch_20260209:rn,webSearch_20260318:Qo,toolSearchRegex_20251119:$n,toolSearchBm25_20251119:Ur},qr=a(()=>s(t({id:e(),display_title:e().nullish(),name:e().nullish(),description:e().nullish(),latest_version:e().nullish(),source:e(),created_at:e(),updated_at:e()})));a(()=>s(t({data:o(t({version:e()}))})));var Dr=a(()=>s(t({type:e(),skill_id:e(),name:e().nullish(),description:e().nullish()}))),Hr=class{get provider(){return this.config.provider}constructor(m){this.config=m,this.specificationVersion="v4"}async getHeaders(){return d(await _(this.config.headers),{"anthropic-beta":"skills-2025-10-02"})}async fetchVersionMetadata({skillId:m,version:A}){let{value:B}=await R({url:`${this.config.baseURL}/skills/${de(m)}/versions/${de(A)}`,validateUrl:!1,headers:await this.getHeaders(),failedResponseHandler:ct,successfulResponseHandler:p(Dr),fetch:this.config.fetch});return{...B.name!=null?{name:B.name}:{},...B.description!=null?{description:B.description}:{}}}async uploadSkill(m){let A=[],B=new FormData;if(m.displayTitle!=null)B.append("display_title",m.displayTitle);for(let ie of m.files){let se=we(ie.data);B.append("files[]",new Blob([se]),ie.path)}let{value:V}=await ne({url:`${this.config.baseURL}/skills`,headers:await this.getHeaders(),formData:B,failedResponseHandler:ct,successfulResponseHandler:p(qr),fetch:this.config.fetch}),me=V.latest_version!=null?await this.fetchVersionMetadata({skillId:V.id,version:V.latest_version}):{},Ne=me.name??V.name,K=me.description??V.description;return{providerReference:{anthropic:V.id},...V.display_title!=null?{displayTitle:V.display_title}:{},...Ne!=null?{name:Ne}:{},...K!=null?{description:K}:{},...V.latest_version!=null?{latestVersion:V.latest_version}:{},providerMetadata:{anthropic:{...V.source!=null?{source:V.source}:{},...V.created_at!=null?{createdAt:V.created_at}:{},...V.updated_at!=null?{updatedAt:V.updated_at}:{}}},warnings:A}}},Pr="4.0.90",ko="https://api.anthropic.com",wo=`${ko}/v1`;function Lr(m){let A=Y(pt(m));return A===ko?wo:A}function Dt(m={}){let A=Lr(pe({settingValue:m.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"}))??wo,B=m.name??"anthropic.messages",V={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]};if(m.apiKey&&m.authToken)throw new b({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let me=async()=>{let $e=m.authToken?{Authorization:`Bearer ${await _(m.authToken)}`}:{"x-api-key":he({apiKey:m.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return q({"anthropic-version":"2023-06-01",...$e,...m.headers},`ai-sdk-anthropic/${Pr}`)},Ne={provider:B,baseURL:A,headers:me,fetch:m.fetch,generateId:m.generateId??C,supportedUrls:()=>V},K=($e)=>new xo($e,Ne),ie=()=>new rr({provider:`${B.replace(/\.messages$/,"")}.batch`,maxLineBytes:m.batchResultDownloads?.maxLineBytes,config:Ne,supportedUrls:V}),se=()=>new Hr({provider:`${B.replace(".messages","")}.skills`,baseURL:A,headers:me,fetch:m.fetch}),fe=function($e){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return K($e)};return fe.specificationVersion="v4",fe.languageModel=K,fe.chat=K,fe.messages=K,fe.decisionModel=($e)=>new et({model:K($e),provider:`${B.replace(/\.messages$/,"")}.decision`}),fe.evaluationModel=fe.decisionModel,fe.experimental_batch=ie,fe.embeddingModel=($e)=>{throw new Ge({modelId:$e,modelType:"embeddingModel"})},fe.textEmbeddingModel=fe.embeddingModel,fe.imageModel=($e)=>{throw new Ge({modelId:$e,modelType:"imageModel"})},fe.files=()=>new Ro({provider:B,baseURL:A,headers:me,fetch:m.fetch}),fe.skills=se,fe.tools=$r,fe}var Xr=Dt();var Fr=(m)=>Dt({apiKey:m.apiKey,...m.baseURL&&{baseURL:ht(m.baseURL)},headers:{...m.headers,...Be(m.baseURL??qt.anthropic)&&{[gt]:"true"}},...m.fetch&&{fetch:m.fetch}})(m.model);function aa(){oe("anthropic",Fr)}export{aa as register};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{kt,mt,wn,Tt,vn}from"./embed-krrjjyf5.js";export{kt as MAX_CHUNK,Tt as buildIndex,vn as isMurmurIndex,wn as markdownSections,mt as slugify};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{F}from"./embed-z32y952f.js";var re=["@ai-sdk/anthropic","@ai-sdk/google","@ai-sdk/mistral","@ai-sdk/openai","@ai-sdk/openai-compatible"];function K(e){if(!e)return;if(e.defaultModel&&e.models[e.defaultModel])return e.defaultModel;return Object.keys(e.models)[0]}function ne(e,t=""){if(!e)return[];let r=Object.values(e.models),n=t.trim().toLowerCase();if(!n)return r;return r.filter((i)=>i.name.toLowerCase().includes(n)||i.id.toLowerCase().includes(n))}var se="llm-connect-catalog",ce=3600000;var Ke=["content-type","etag","last-modified"];function Fe(){try{return globalThis.caches}catch{return}}function Ge(e){let t=globalThis.location;if(!t)return!0;try{return new URL(e,t.href).origin===t.origin}catch{return!1}}function He(e){if(typeof e==="string")return e;if(e instanceof URL)return e.href;return e.url}function ae(e){if(!e?.aborted)return!1;return e.reason?.name!=="TimeoutError"}async function ie(e,t,r,n){let i=new Headers({["x-llm-connect-stored-at"]:String(Date.now())});for(let l of Ke){let d=n.get(l);if(d)i.set(l,d)}try{await e.put(t,new Response(r,{headers:i}))}catch{}return new Response(r,{status:200,headers:i})}function le(e={}){let{cacheName:t="llm-connect-catalog",ttlMs:r=3600000}=e,n=(d,f)=>(e.fetch??globalThis.fetch)(d,f),i,l=()=>(i??=(async()=>{let d=e.caches??Fe();if(!d)return null;try{return await d.open(t)}catch{return null}})(),i);return async(d,f)=>{let m=(f?.method??(d instanceof Request?d.method:"GET")).toUpperCase()==="GET"?await l():null;if(!m)return n(d,f);let p=He(d),c=await m.match(p).catch(()=>{return}),h=Number(c?.headers.get("x-llm-connect-stored-at"));if(c&&Date.now()-h<r)return c;let b=new Headers(f?.headers),w=c?.headers.get("etag");if(w&&Ge(p))b.set("If-None-Match",w);let E;try{E=await n(p,{...f,headers:b})}catch(a){if(c&&!ae(f?.signal))return c;throw a}if(c&&E.status===304)return ie(m,p,await c.text(),c.headers);if(!E.ok)return c??E;let o;try{o=await E.text()}catch(a){if(c&&!ae(f?.signal))return c;throw a}return ie(m,p,o,E.headers)}}var Re=["openai","anthropic","google","mistral"],B=new Map;function M(e,t=globalThis.fetch){let r=B.get(e);if(!r)r=t(e).then((n)=>{if(!n.ok)throw Error(`Model list unavailable (${n.status})`);return n.json()}).catch((n)=>{throw B.delete(e),n}),B.set(e,r);return r}async function qe(e){let{buildSlimCatalog:t}=await (F("t87kf8t0"),import("./browser-t87kf8t0.js"));return t(e)}function ft(e={}){let{fallbackUrl:t,npm:r=re,required:n,build:i=qe,cacheName:l=se,cacheTtlMs:d=ce}=e,f=(c,h)=>(e.fetch??globalThis.fetch)(c,h),u=l===!1?f:le({cacheName:l,ttlMs:d,fetch:f,...e.cacheStorage?{caches:e.cacheStorage}:{}}),m=null;async function p(){try{let c=await i({npm:r,...n?{required:n}:{},fetch:u});if(Object.keys(c).length===0)throw Error("Empty catalog");return c}catch(c){if(!t)throw c;return M(t,e.fetch)}}return()=>{if(!m)m=p().catch((c)=>{throw m=null,c});return m}}function G(e,t){if(!e)return{recommended:[],others:[]};let r=t.map((i)=>e[i]).filter((i)=>!!i),n=Object.values(e).filter((i)=>!t.includes(i.id)).sort((i,l)=>i.name.localeCompare(l.name));return{recommended:r,others:n}}var H={providerId:"openai",providerName:"OpenAI",providerNpm:"@ai-sdk/openai",providerApi:"https://api.openai.com/v1"};function q(e,t){let r=e?.[t];if(!r)return null;return{providerId:r.id,providerName:r.name,providerNpm:r.npm,providerApi:r.api??""}}var R={authentication_error:"auth",permission_error:"auth",rate_limit_error:"rate-limit",overloaded_error:"overloaded",api_error:"server",not_found_error:"not-found",invalid_request_error:"invalid-request",request_too_large:"invalid-request",context_length_exceeded:"context-length",insufficient_quota:"rate-limit"},je=/prompt is too long|context[ _-]?length|context window|maximum context|too many (input )?tokens|input is too long|exceeds the model'?s? (maximum|context)/i,We=/api key not valid|invalid api key|incorrect api key|invalid x-api-key/i,$e=/failed to fetch|fetch failed|networkerror|network error|load failed|cannot connect|network connection/i,Je=new Set(["auth-or-network","rate-limit","overloaded","server"]);function T(e,t){let r=e;if(t&&t.length>=4)r=r.split(t).join("***");return r.length>500?`${r.slice(0,500)}…`:r}function S(e){return typeof e==="object"&&e!==null}function ue(e,t){if(!S(e))return!1;return e[Symbol.for(`vercel.ai.error.${t}`)]===!0}var y=(e)=>typeof e==="string"&&e.length>0?e:void 0;function Ve(e){let t=Array.isArray(e)?e[0]:e;if(!S(t))return{};let r=S(t.error)?t.error:t,n=y(r.message)??y(r.msg)??y(t.message)??y(t.msg)??(typeof t.error==="string"?t.error:void 0);return{type:y(r.type)??y(r.status),code:y(r.code),message:n}}var Ye=["choices","content","candidates","output","data","models"];function j(e){let t=typeof e==="string"?Number(e):e;return typeof t==="number"&&Number.isInteger(t)&&t>=400&&t<=599?t:void 0}function L(e){let t=Array.isArray(e)&&e.length===1?e[0]:e;if(!S(t)||Array.isArray(t))return null;if(Ye.some((l)=>t[l]!==void 0))return null;let r=S(t.error)?t.error:void 0,n=y(t.msg)!==void 0||y(t.message)!==void 0;if(!(r!==void 0||y(t.error)!==void 0||t.type==="error"||t.success===!1||j(t.code)!==void 0&&n))return null;return j(t.code)??j(r?.code)??502}function ze(e){if(typeof e!=="string"||!e)return;try{return JSON.parse(e)}catch{return}}function Xe(e,t){let r=t.code&&R[t.code]||t.type&&R[t.type]||void 0;if(r==="context-length"||je.test(t.message)){if(e===400||e===413||e===422||r==="context-length")return"context-length"}if(e===401||e===403)return"auth";if(e===429)return r==="overloaded"?"overloaded":"rate-limit";if(e===529||e===503||r==="overloaded")return"overloaded";if(e===404)return"not-found";if(e>=500)return"server";if(e===400||e===413||e===422)return r==="auth"||We.test(t.message)?"auth":"invalid-request";return r??"unknown"}function O(e,t,r,n){return{code:e,message:T(t,r),...n===void 0?{}:{status:n},retryable:Je.has(e)}}function Ze(e){let t=e;for(let r=0;r<5&&t instanceof Error;r++){if($e.test(t.message))return!0;t=t.cause}return!1}function De(e,t){if(ue(e,"AI_RetryError")&&S(e)&&e.lastError!==void 0)return De(e.lastError,t);if(S(e)){let r=ue(e,"AI_APICallError"),n=r?ze(e.responseBody):void 0,i=Ve(e.data??n),l=y(e.type)??i.type,d=y(e.code)??i.code,f=typeof e.statusCode==="number"?e.statusCode:void 0,u=i.message??y(e.message)??"";if(f!==void 0)return O(Xe(f,{type:l,code:d,message:u}),u,t,r?f:void 0);let m=l&&R[l]||d&&R[d]||void 0;if(m)return O(m,u,t)}if(Ze(e))return O("auth-or-network",e instanceof Error?e.message:"",t);return O("unknown",e instanceof Error?e.message:String(e),t)}var de=Symbol.for("llm-connect.registry"),fe=globalThis;fe[de]??=new Map;var W=fe[de],et={"@ai-sdk/openai":"openai","@ai-sdk/anthropic":"anthropic","@ai-sdk/google":"google","@ai-sdk/mistral":"mistral","@ai-sdk/openai-compatible":"openai-compatible"};function v(e){return et[e]??e}function oe(e,t){W.set(v(e),t)}var C="https://api.openai.com/v1";function tt(e){return e.trim().replace(/\/+$/,"")===C}function Ie(e){return(t)=>{let r=e({apiKey:t.apiKey,...t.baseURL&&{baseURL:t.baseURL},...t.headers&&{headers:t.headers},...t.fetch&&{fetch:t.fetch}});if(t.baseURL&&!tt(t.baseURL)&&typeof r.chat==="function")return r.chat(t.model);return r(t.model)}}function me(e){return W.has(v(e))}var rt={openai:"openai",anthropic:"anthropic",google:"google",mistral:"mistral","openai-compatible":"openai-compatible"};function pe(e){let t=v(e),r=W.get(t);if(r)return r;let n=rt[t],i=n?` import { register } from "llm-connect/providers/${n}";
|
|
2
2
|
register();
|
|
3
3
|
|
|
4
4
|
or let loadModel() import it on demand.`:` import { registerProvider } from "llm-connect";
|
|
@@ -7,4 +7,4 @@ or let loadModel() import it on demand.`:` import { registerProvider } from "ll
|
|
|
7
7
|
Register it before calling AI functions:
|
|
8
8
|
|
|
9
9
|
${i}
|
|
10
|
-
`)}var jt={anthropic:"https://api.anthropic.com/v1",openai:C,google:"https://generativelanguage.googleapis.com/v1beta",mistral:"https://api.mistral.ai/v1"},ot="api.anthropic.com";function he(e){return e.trim().replace(/\/+$/,"")}function ge(e){if(e.customEndpoint)return"openai-compatible";let t=v(e.providerNpm||"openai");if(t==="openai"&&e.providerApi&&he(e.providerApi)!==C)return"openai-compatible";return t}function Be(e){if(!e)return!1;try{return new URL(e).hostname===ot}catch{return!1}}function ft(e){let t=he(e);try{let{pathname:r}=new URL(t);return/\/v\d+$/.test(r)?t:`${t}/v1`}catch{return t}}var ht="anthropic-dangerous-direct-browser-access",nt={anthropic:["x-api-key","anthropic-version","anthropic-beta",ht],openai:["authorization"],google:["x-goog-api-key"],mistral:["authorization"],"openai-compatible":["authorization"]},at="server-side-fallback-2026-06-01";function it(e){return typeof Request<"u"&&e instanceof Request?e.url:String(e)}function st(e,t){let r=t["anthropic-beta"];if(r===void 0||typeof e!=="string"||!e.includes('"fallbacks"'))return;let n;try{n=JSON.parse(e)}catch{return}if(n?.fallbacks!=="default")return;let i=r.split(",").filter((l)=>l.trim()!==at);if(i.length>0)t["anthropic-beta"]=i.join(",");else delete t["anthropic-beta"]}async function ct(e){if(!e.ok||!(e.headers.get("content-type")??"").includes("json"))return e;let t,r;try{t=await e.clone().text(),r=L(JSON.parse(t))}catch{return e}if(r===null)return e;return new Response(t,{status:r,headers:e.headers})}function ye(e,t={}){let r=nt[e],n=t.strictHeaders&&r?new Set(["content-type","accept",...r]):void 0;return(i,l)=>{let d=it(i),f=l?.headers??(typeof Request<"u"&&i instanceof Request?i.headers:void 0),u={};if(new Headers(f).forEach((p,c)=>{if(c==="user-agent")return;if(n&&!n.has(c))return;if(c===ht&&!Be(d))return;u[c]=p}),e==="anthropic")st(l?.body,u);return(t.fetch??globalThis.fetch)(i instanceof URL||typeof i==="string"?d:i,{...l,headers:u}).then(ct)}}function J(e){if(e.customEndpoint)return"openai";return v(e.providerNpm||"openai")}function be(e,t={}){let r=pe(J(e)),n=ye(ge(e),t);if(e.customEndpoint)return r({apiKey:e.apiKey||"",model:e.customModel||e.model||"",baseURL:e.customEndpoint,...e.headers&&{headers:e.headers},fetch:n});return r({apiKey:e.apiKey,model:e.model||"",...e.providerApi&&{baseURL:e.providerApi},...e.headers&&{headers:e.headers},fetch:n})}async function lt(e){switch(e){case"openai":(await (G("dhy4fp4c"),import("./openai-dhy4fp4c.js"))).register();return;case"anthropic":(await (G("w7nkjk5e"),import("./anthropic-w7nkjk5e.js"))).register();return;case"google":(await (G("qha5xyx4"),import("./google-qha5xyx4.js"))).register();return;case"mistral":(await (G("16bekg8b"),import("./mistral-16bekg8b.js"))).register();return;case"openai-compatible":(await (G("za7hc1fv"),import("./openai-compatible-za7hc1fv.js"))).register();return}}async function Qe(e,t={}){let r=J(e);if(!me(r))await lt(r);return be(e,t)}function $e(e){if(e?.customEndpoint?.trim())return!!e.customModel?.trim();return!!e?.apiKey?.trim()}function k(e){return e.custom?e.customApiKey:e.apiKey}function N(e){return e.custom?!!e.customEndpoint.trim()&&!!e.customModel.trim():!!e.apiKey.trim()&&!!e.model}function V(e){return e.custom?!!e.customEndpoint.trim():!!e.apiKey.trim()}function Ae(e){let t=e.toLowerCase();return t==="localhost"||t.endsWith(".localhost")||t==="[::1]"||/^127(?:\.\d{1,3}){3}$/.test(t)}function _(e){let t;try{t=new URL(e.trim())}catch{return"invalid-endpoint"}if(t.username||t.password)return"invalid-endpoint";if(t.protocol==="https:")return null;if(t.protocol!=="http:")return"invalid-endpoint";return Ae(t.hostname)?null:"insecure-endpoint"}function Fe(e){if(_(e))return null;return e.trim().replace(/\/+$/,"")}var mn={ollama:{id:"ollama",name:"Ollama",endpoint:"http://localhost:11434/v1",model:"llama3.2"},lmstudio:{id:"lmstudio",name:"LM Studio",endpoint:"http://localhost:1234/v1",model:"local-model"},jan:{id:"jan",name:"Jan",endpoint:"http://localhost:1337/v1"}};function Y(e){try{return globalThis[e]??null}catch{return null}}function z(e,t){try{return Y(e)?.getItem(t)??null}catch{return null}}function X(e,t,r){try{Y(e)?.setItem(t,r)}catch{}}function I(e,t){try{Y(e)?.removeItem(t)}catch{}}var ut=["model","providerId","providerName","providerNpm","providerApi","customEndpoint","customModel","language"];function Se(e){let t=z("localStorage",e);if(t===null)return null;let r={};try{let i=JSON.parse(t);if(i&&typeof i==="object"&&!Array.isArray(i))r=i}catch{}let n={...r,apiKey:"",model:""};for(let i of ut){let l=r[i];if(typeof l==="string"&&l)n[i]=l;else if(i!=="model")delete n[i]}return n.rememberKey=r.rememberKey===!0,n}var Q="kv",Z="crypto-key",P="api-key";function ee(){try{return!!globalThis.indexedDB&&!!globalThis.crypto?.subtle}catch{return!1}}function ve(e){let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function we(e){let t=atob(e),r=new Uint8Array(new ArrayBuffer(t.length));for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function gt({prefsKey:e,dbName:t,sessionKey:r=`${e}-key`}){let n=null;function i(){return new Promise((o,a)=>{let s=indexedDB.open(t,1);s.onupgradeneeded=()=>s.result.createObjectStore(Q),s.onsuccess=()=>o(s.result),s.onerror=()=>a(s.error)})}async function l(o,a){let s=await i();try{return await new Promise((g,A)=>{let x=s.transaction(Q,o),Ne=a(x.objectStore(Q));x.oncomplete=()=>g(Ne.result),x.onerror=()=>A(x.error),x.onabort=()=>A(x.error)})}finally{s.close()}}let d=(o)=>l("readonly",(a)=>a.get(o)),f=(o,a)=>l("readwrite",(s)=>s.put(a,o)),u=(o)=>l("readwrite",(a)=>a.delete(o));async function m(o){let a=await d(Z);if(a||!o)return a;let s=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!1,["encrypt","decrypt"]);return await f(Z,s),s}async function p(o){let a=await m(!0);if(!a)throw Error("No encryption key");let s=crypto.getRandomValues(new Uint8Array(new ArrayBuffer(12))),g=await crypto.subtle.encrypt({name:"AES-GCM",iv:s},a,new TextEncoder().encode(o));return{iv:s,ciphertext:g}}async function c(o){let a=o&&await m(!1);if(!o||!a)return"";let s=await crypto.subtle.decrypt({name:"AES-GCM",iv:o.iv},a,o.ciphertext);return new TextDecoder().decode(s)}function h(){let o=z("sessionStorage",r);if(!o)return;try{let{iv:a,ciphertext:s}=JSON.parse(o);return{iv:we(a),ciphertext:we(s).buffer}}catch{return}}async function b(o){if(!ee())return"";try{return await c(o?await d(P):h())}catch{return""}}async function w(o,a){if(I("sessionStorage",r),!ee())return;try{if(!o||!a)await u(P);if(!o)return;let s=await p(o);if(a)await f(P,s);else X("sessionStorage",r,JSON.stringify({iv:ve(s.iv),ciphertext:ve(new Uint8Array(s.ciphertext))}))}catch{}}async function E(){let o=Se(e);if(!o)return null;if(n===null)n=await b(o.rememberKey===!0);return{...o,apiKey:n}}return{loadDraft:E,async load(){let o=await E();return $e(o)?o:null},async save(o,{rememberKey:a}){let{apiKey:s,...g}=o;X("localStorage",e,JSON.stringify({...g,rememberKey:a})),n=s,await w(s,a)},async clear(){if(n=null,I("localStorage",e),I("sessionStorage",r),!ee())return;try{await u(P),await u(Z)}catch{}}}}var _e=5000,dt=1e4;function Te(e){return e.trim().replace(/\/+$/,"")}function Le(e,t,r){let n=t.trim();if(!n)return{};if(e==="@ai-sdk/anthropic")return{"x-api-key":n,"anthropic-version":"2023-06-01",...Be(r)&&{"anthropic-dangerous-direct-browser-access":"true"}};if(e==="@ai-sdk/google")return{"x-goog-api-key":n};return{Authorization:`Bearer ${n}`}}function D(e,t){return e instanceof Error&&e.name===t}function pt(e){let t=e;if(Array.isArray(t?.data))return t.data.map((r)=>r?.id).filter((r)=>typeof r==="string");if(Array.isArray(t?.models))return t.models.map((r)=>r?.name).filter((r)=>typeof r==="string").map((r)=>r.replace(/^models\//,""));return[]}function te(e,t){return{ok:!1,reason:e===401||e===403?"auth":"http",status:e,...t?{message:t}:{}}}function Et(e){if(typeof AbortSignal.any==="function")return AbortSignal.any(e);let t=new AbortController;for(let r of e){if(r.aborted){t.abort(r.reason);break}r.addEventListener("abort",()=>t.abort(r.reason),{once:!0})}return t.signal}function Me(e,t){let r=t?AbortSignal.timeout(t):void 0;if(e&&r)return Et([e,r]);return e??r}async function Oe(e,t,r,n){let i=r.fetch??globalThis.fetch;try{let l=await i(e,{headers:t,signal:Me(r.signal,r.timeoutMs)});if(!l.ok)return te(l.status);let d=await l.json().catch(()=>null),f=L(d);if(f!==null){let{message:m}=Ue({statusCode:f,data:d},n.trim());return te(f,m||void 0)}let u=pt(d);return{ok:!0,modelCount:u.length,models:u}}catch(l){if(r.signal?.aborted)throw l;if(D(l,"TimeoutError")||D(l,"AbortError"))return{ok:!1,reason:"timeout"};return{ok:!1,reason:"cors",...l instanceof Error?{message:T(l.message,n.trim())}:{}}}}function yt(e,t="",r={}){let n=`${Te(e)}/models`;return Oe(n,Le(void 0,t,n),{timeoutMs:_e,...r},t)}function bt(e){let t=[];for(let r=e;r instanceof Error&&t.length<4;r=r.cause)t.push(r.message);return t.some((r)=>/failed to fetch|fetch failed|networkerror|load failed|cannot connect to api/i.test(r))}async function xe(e,t){try{let[{generateText:r},n]=await Promise.all([(G("kk9hgxdc"),import("./index-kk9hgxdc.js")),Qe(e,t.fetch?{fetch:t.fetch}:{})]);return await r({model:n,prompt:"Reply with OK.",maxOutputTokens:16,maxRetries:0,abortSignal:Me(t.signal,t.timeoutMs)}),{ok:!0}}catch(r){if(t.signal?.aborted)throw r;if(D(r,"TimeoutError")||D(r,"AbortError"))return{ok:!1,reason:"timeout"};let n=T(r instanceof Error?r.message:String(r),e.apiKey?.trim()),i=r?.statusCode;if(typeof i==="number")return te(i,n);if(bt(r))return{ok:!1,reason:"cors",message:n};return{ok:!1,reason:"config",message:n}}}var At=new Set([404,405,501]);function St(e){if(e.ok)return!1;if(e.reason==="cors")return!0;return e.reason==="http"&&e.status!==void 0&&At.has(e.status)}async function vt(e,t){if(e.customEndpoint)return yt(e.customEndpoint,e.apiKey,{signal:t.signal,fetch:t.fetch,timeoutMs:t.timeoutMs??_e});let r=Te(e.providerApi??""),n=r&&e.providerNpm==="@ai-sdk/anthropic"?ft(r):r;if(!n)return null;let i=`${n}/models`;return Oe(i,Le(e.providerNpm,e.apiKey,i),{signal:t.signal,fetch:t.fetch,timeoutMs:t.timeoutMs??dt},e.apiKey)}async function Re(e,t={}){if(e.customEndpoint){let n=_(e.customEndpoint);if(n==="insecure-endpoint")return{ok:!1,reason:"insecure",message:"Plain http is only allowed to this machine: use https"};if(n)return{ok:!1,reason:"config",message:"Invalid endpoint URL"}}if(t.mode==="generate")return xe(e,t);let r=await vt(e,t);if(t.mode==="auto"&&(!r||St(r)))return xe(e,t);return r??{ok:!1,reason:"config",message:"No API URL for this provider"}}var wt=[{code:"en",name:"English",label:"English"},{code:"fr",name:"French",label:"Français"},{code:"es",name:"Spanish",label:"Español"},{code:"de",name:"German",label:"Deutsch"},{code:"it",name:"Italian",label:"Italiano"},{code:"pt",name:"Portuguese",label:"Português"},{code:"nl",name:"Dutch",label:"Nederlands"},{code:"ru",name:"Russian",label:"Русский"},{code:"zh",name:"Chinese",label:"中文"},{code:"ja",name:"Japanese",label:"日本語"},{code:"ko",name:"Korean",label:"한국어"},{code:"ar",name:"Arabic",label:"العربية"},{code:"hi",name:"Hindi",label:"हिन्दी"},{code:"tr",name:"Turkish",label:"Türkçe"},{code:"pl",name:"Polish",label:"Polski"},{code:"sv",name:"Swedish",label:"Svenska"}];function Ce(e){let t=e?.trim().toLowerCase();if(!t)return;let r=t.split(/[-_]/)[0];return wt.find((n)=>n.code===r||n.name.toLowerCase()===t||n.label.toLowerCase()===t)}function U(e){return Ce(e)?.code??"en"}function ke(){try{let e=globalThis.navigator?.languages??[globalThis.navigator?.language];for(let t of e){let r=Ce(t);if(r)return r.code}}catch{}return"en"}function _t(e){let t=e.recommended??Pe,r=e.catalog??e.catalogUrl;if(!r)throw Error("createLlmSettingsStore: `catalog` is required");let n=r,i={providerId:e.defaults?.providerId??t[0]??"openai",model:e.defaults?.model??"",rememberKey:e.defaults?.rememberKey??!1},l=()=>e.defaults?.language?U(e.defaults.language):ke();function d(o){let a=!!o?.customEndpoint,s=o?.apiKey??"";return{custom:a,providerId:o?.providerId||i.providerId,model:o?.model||i.model,apiKey:a?"":s,customApiKey:a?s:"",customEndpoint:o?.customEndpoint??"",customModel:o?.customModel??"",rememberKey:o?.rememberKey??i.rememberKey,language:o?.language?U(o.language):l()}}function f(o){let a=o.catalog?.[o.draft.providerId]??null,s=ne(a,o.search),g=a?.defaultModel;return{...o,provider:a,providers:B(o.catalog,t),isRecommendedProvider:t.includes(o.draft.providerId),models:s,recommendedModel:g?s.find((A)=>A.id===g)??null:null,apiKey:k(o.draft),canSave:N(o.draft),canTest:V(o.draft)}}let u=f({catalog:null,catalogStatus:"idle",catalogError:null,saved:null,draft:d(null),search:"",testing:!1,testResult:null}),m=new Set,p=!1;function c(o){let a={...u,...o};if(!a.draft.model&&a.catalog){let s=K(a.catalog[a.draft.providerId]);if(s)a.draft={...a.draft,model:s}}u=f(a);for(let s of m)s(u)}function h(o){p=!0,c({draft:{...u.draft,...o},testResult:null})}function b(){if(u.catalogStatus==="loading"||u.catalogStatus==="ready")return;c({catalogStatus:"loading",catalogError:null}),(typeof n==="string"?M(n,e.fetch):n()).then((a)=>c({catalog:a,catalogStatus:"ready",catalogError:null}),(a)=>c({catalogStatus:"error",catalogError:a instanceof Error?a.message:"Model list unavailable"}))}function w(){let{draft:o,catalog:a,saved:s}=u,g=q(a,o.providerId);if(g)return g;if(s?.providerId===o.providerId)return{providerId:o.providerId,providerName:s.providerName??o.providerId,providerNpm:s.providerNpm??"",providerApi:s.providerApi??""};return H}function E(){let{draft:o}=u;return{apiKey:k(o),model:o.model,...w(),language:o.language,...o.custom?{customEndpoint:Fe(o.customEndpoint)??o.customEndpoint.trim(),customModel:o.customModel.trim()}:{}}}return{getState:()=>u,subscribe(o){return m.add(o),o(u),()=>{m.delete(o)}},async load(){let o=await(e.storage.loadDraft??e.storage.load)();if(p)c({saved:o});else c({saved:o,draft:d(o),search:"",testResult:null});return o},reset(o){p=!1,c({saved:o,draft:d(o),search:"",testResult:null})},open(){p=!1,c({draft:d(u.saved),search:"",testing:!1,testResult:null}),b()},retryCatalog:b,selectProvider(o){let a=K(u.catalog?.[o])??"";p=!0,c({draft:{...u.draft,providerId:o,model:a},search:"",testResult:null})},selectModel:(o)=>h({model:o}),setApiKey(o){h(u.draft.custom?{customApiKey:o}:{apiKey:o})},setSearch:(o)=>c({search:o}),toggleCustom(o){h({custom:o??!u.draft.custom})},applyPreset(o){h({customEndpoint:o.endpoint,...!u.draft.customModel.trim()&&o.model?{customModel:o.model}:{}})},setEndpoint:(o)=>h({customEndpoint:o}),setCustomModel:(o)=>h({customModel:o}),setRememberKey:(o)=>h({rememberKey:o}),setLanguage:(o)=>h({language:U(o)}),settings:E,async test(o={}){c({testing:!0,testResult:null});try{let a=await Re(E(),{mode:e.testMode??"models",signal:o.signal,fetch:e.fetch});return c({testing:!1,testResult:a}),a}catch(a){throw c({testing:!1}),a}},async save(o){let{draft:a}=u;if(!N(a))return{ok:!1,reason:"incomplete"};let s=a.custom?_(a.customEndpoint):null;if(s)return{ok:!1,reason:s};let g={...E(),...o};await e.storage.save(g,{rememberKey:a.rememberKey});let A={...g,rememberKey:a.rememberKey};return c({saved:A}),{ok:!0,settings:A}},async clear(){await e.storage.clear(),c({saved:null,draft:{...u.draft,custom:!1,apiKey:"",customApiKey:"",customEndpoint:"",customModel:"",language:l()},testResult:null})}}}export{Pe,mt,Ue,oe,Ee,jt,Be,ft,ht,Qe,$e,Fe,mn,gt,_t};
|
|
10
|
+
`)}var qt={anthropic:"https://api.anthropic.com/v1",openai:C,google:"https://generativelanguage.googleapis.com/v1beta",mistral:"https://api.mistral.ai/v1"},ot="api.anthropic.com";function he(e){return e.trim().replace(/\/+$/,"")}function ge(e){if(e.customEndpoint)return"openai-compatible";let t=v(e.providerNpm||"openai");if(t==="openai"&&e.providerApi&&he(e.providerApi)!==C)return"openai-compatible";return t}function Be(e){if(!e)return!1;try{return new URL(e).hostname===ot}catch{return!1}}function ht(e){let t=he(e);try{let{pathname:r}=new URL(t);return/\/v\d+$/.test(r)?t:`${t}/v1`}catch{return t}}var gt="anthropic-dangerous-direct-browser-access",nt={anthropic:["x-api-key","anthropic-version","anthropic-beta",gt],openai:["authorization"],google:["x-goog-api-key"],mistral:["authorization"],"openai-compatible":["authorization"]},at="server-side-fallback-2026-06-01";function it(e){return typeof Request<"u"&&e instanceof Request?e.url:String(e)}function st(e,t){let r=t["anthropic-beta"];if(r===void 0||typeof e!=="string"||!e.includes('"fallbacks"'))return;let n;try{n=JSON.parse(e)}catch{return}if(n?.fallbacks!=="default")return;let i=r.split(",").filter((l)=>l.trim()!==at);if(i.length>0)t["anthropic-beta"]=i.join(",");else delete t["anthropic-beta"]}async function ct(e){if(!e.ok||!(e.headers.get("content-type")??"").includes("json"))return e;let t,r;try{t=await e.clone().text(),r=L(JSON.parse(t))}catch{return e}if(r===null)return e;return new Response(t,{status:r,headers:e.headers})}function Ee(e,t={}){let r=nt[e],n=t.strictHeaders&&r?new Set(["content-type","accept",...r]):void 0;return(i,l)=>{let d=it(i),f=l?.headers??(typeof Request<"u"&&i instanceof Request?i.headers:void 0),u={};if(new Headers(f).forEach((p,c)=>{if(c==="user-agent")return;if(n&&!n.has(c))return;if(c===gt&&!Be(d))return;u[c]=p}),e==="anthropic")st(l?.body,u);return(t.fetch??globalThis.fetch)(i instanceof URL||typeof i==="string"?d:i,{...l,headers:u}).then(ct)}}function J(e){if(e.customEndpoint)return"openai";return v(e.providerNpm||"openai")}function ye(e,t={}){let r=pe(J(e)),n=Ee(ge(e),t);if(e.customEndpoint)return r({apiKey:e.apiKey||"",model:e.customModel||e.model||"",baseURL:e.customEndpoint,...e.headers&&{headers:e.headers},fetch:n});return r({apiKey:e.apiKey,model:e.model||"",...e.providerApi&&{baseURL:e.providerApi},...e.headers&&{headers:e.headers},fetch:n})}async function lt(e){switch(e){case"openai":(await (F("g1685z9v"),import("./openai-g1685z9v.js"))).register();return;case"anthropic":(await (F("dc7h9prc"),import("./anthropic-dc7h9prc.js"))).register();return;case"google":(await (F("yywkqdph"),import("./google-yywkqdph.js"))).register();return;case"mistral":(await (F("0mg4kk7s"),import("./mistral-0mg4kk7s.js"))).register();return;case"openai-compatible":(await (F("zhaj1r43"),import("./openai-compatible-zhaj1r43.js"))).register();return}}async function Qe(e,t={}){let r=J(e);if(!me(r))await lt(r);return ye(e,t)}function Le(e){if(e?.customEndpoint?.trim())return!!e.customModel?.trim();return!!e?.apiKey?.trim()}function k(e){return e.custom?e.customApiKey:e.apiKey}function N(e){return e.custom?!!e.customEndpoint.trim()&&!!e.customModel.trim():!!e.apiKey.trim()&&!!e.model}function V(e){return e.custom?!!e.customEndpoint.trim():!!e.apiKey.trim()}function be(e){let t=e.toLowerCase();return t==="localhost"||t.endsWith(".localhost")||t==="[::1]"||/^127(?:\.\d{1,3}){3}$/.test(t)}function _(e){let t;try{t=new URL(e.trim())}catch{return"invalid-endpoint"}if(t.username||t.password)return"invalid-endpoint";if(t.protocol==="https:")return null;if(t.protocol!=="http:")return"invalid-endpoint";return be(t.hostname)?null:"insecure-endpoint"}function Ue(e){if(_(e))return null;return e.trim().replace(/\/+$/,"")}var gn={ollama:{id:"ollama",name:"Ollama",endpoint:"http://localhost:11434/v1",model:"llama3.2"},lmstudio:{id:"lmstudio",name:"LM Studio",endpoint:"http://localhost:1234/v1",model:"local-model"},jan:{id:"jan",name:"Jan",endpoint:"http://localhost:1337/v1"}};function Y(e){try{return globalThis[e]??null}catch{return null}}function z(e,t){try{return Y(e)?.getItem(t)??null}catch{return null}}function X(e,t,r){try{Y(e)?.setItem(t,r)}catch{}}function I(e,t){try{Y(e)?.removeItem(t)}catch{}}var ut=["model","providerId","providerName","providerNpm","providerApi","customEndpoint","customModel","language"];function Ae(e){let t=z("localStorage",e);if(t===null)return null;let r={};try{let i=JSON.parse(t);if(i&&typeof i==="object"&&!Array.isArray(i))r=i}catch{}let n={...r,apiKey:"",model:""};for(let i of ut){let l=r[i];if(typeof l==="string"&&l)n[i]=l;else if(i!=="model")delete n[i]}return n.rememberKey=r.rememberKey===!0,n}var Q="kv",Z="crypto-key",P="api-key";function ee(){try{return!!globalThis.indexedDB&&!!globalThis.crypto?.subtle}catch{return!1}}function Se(e){let t="";for(let r of e)t+=String.fromCharCode(r);return btoa(t)}function ve(e){let t=atob(e),r=new Uint8Array(new ArrayBuffer(t.length));for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function _t({prefsKey:e,dbName:t,sessionKey:r=`${e}-key`}){let n=null;function i(){return new Promise((o,a)=>{let s=indexedDB.open(t,1);s.onupgradeneeded=()=>s.result.createObjectStore(Q),s.onsuccess=()=>o(s.result),s.onerror=()=>a(s.error)})}async function l(o,a){let s=await i();try{return await new Promise((g,A)=>{let x=s.transaction(Q,o),Pe=a(x.objectStore(Q));x.oncomplete=()=>g(Pe.result),x.onerror=()=>A(x.error),x.onabort=()=>A(x.error)})}finally{s.close()}}let d=(o)=>l("readonly",(a)=>a.get(o)),f=(o,a)=>l("readwrite",(s)=>s.put(a,o)),u=(o)=>l("readwrite",(a)=>a.delete(o));async function m(o){let a=await d(Z);if(a||!o)return a;let s=await crypto.subtle.generateKey({name:"AES-GCM",length:256},!1,["encrypt","decrypt"]);return await f(Z,s),s}async function p(o){let a=await m(!0);if(!a)throw Error("No encryption key");let s=crypto.getRandomValues(new Uint8Array(new ArrayBuffer(12))),g=await crypto.subtle.encrypt({name:"AES-GCM",iv:s},a,new TextEncoder().encode(o));return{iv:s,ciphertext:g}}async function c(o){let a=o&&await m(!1);if(!o||!a)return"";let s=await crypto.subtle.decrypt({name:"AES-GCM",iv:o.iv},a,o.ciphertext);return new TextDecoder().decode(s)}function h(){let o=z("sessionStorage",r);if(!o)return;try{let{iv:a,ciphertext:s}=JSON.parse(o);return{iv:ve(a),ciphertext:ve(s).buffer}}catch{return}}async function b(o){if(!ee())return"";try{return await c(o?await d(P):h())}catch{return""}}async function w(o,a){if(I("sessionStorage",r),!ee())return;try{if(!o||!a)await u(P);if(!o)return;let s=await p(o);if(a)await f(P,s);else X("sessionStorage",r,JSON.stringify({iv:Se(s.iv),ciphertext:Se(new Uint8Array(s.ciphertext))}))}catch{}}async function E(){let o=Ae(e);if(!o)return null;if(n===null)n=await b(o.rememberKey===!0);return{...o,apiKey:n}}return{loadDraft:E,async load(){let o=await E();return Le(o)?o:null},async save(o,{rememberKey:a}){let{apiKey:s,...g}=o;X("localStorage",e,JSON.stringify({...g,rememberKey:a})),n=s,await w(s,a)},async clear(){if(n=null,I("localStorage",e),I("sessionStorage",r),!ee())return;try{await u(P),await u(Z)}catch{}}}}var xe=5000,dt=1e4;function _e(e){return e.trim().replace(/\/+$/,"")}function Te(e,t,r){let n=t.trim();if(!n)return{};if(e==="@ai-sdk/anthropic")return{"x-api-key":n,"anthropic-version":"2023-06-01",...Be(r)&&{"anthropic-dangerous-direct-browser-access":"true"}};if(e==="@ai-sdk/google")return{"x-goog-api-key":n};return{Authorization:`Bearer ${n}`}}function D(e,t){return e instanceof Error&&e.name===t}function mt(e){let t=e;if(Array.isArray(t?.data))return t.data.map((r)=>r?.id).filter((r)=>typeof r==="string");if(Array.isArray(t?.models))return t.models.map((r)=>r?.name).filter((r)=>typeof r==="string").map((r)=>r.replace(/^models\//,""));return[]}function te(e,t){return{ok:!1,reason:e===401||e===403?"auth":"http",status:e,...t?{message:t}:{}}}function pt(e){if(typeof AbortSignal.any==="function")return AbortSignal.any(e);let t=new AbortController;for(let r of e){if(r.aborted){t.abort(r.reason);break}r.addEventListener("abort",()=>t.abort(r.reason),{once:!0})}return t.signal}function Me(e,t){let r=t?AbortSignal.timeout(t):void 0;if(e&&r)return pt([e,r]);return e??r}async function Oe(e,t,r,n){let i=r.fetch??globalThis.fetch;try{let l=await i(e,{headers:t,signal:Me(r.signal,r.timeoutMs)});if(!l.ok)return te(l.status);let d=await l.json().catch(()=>null),f=L(d);if(f!==null){let{message:m}=De({statusCode:f,data:d},n.trim());return te(f,m||void 0)}let u=mt(d);return{ok:!0,modelCount:u.length,models:u}}catch(l){if(r.signal?.aborted)throw l;if(D(l,"TimeoutError")||D(l,"AbortError"))return{ok:!1,reason:"timeout"};return{ok:!1,reason:"cors",...l instanceof Error?{message:T(l.message,n.trim())}:{}}}}function Et(e,t="",r={}){let n=`${_e(e)}/models`;return Oe(n,Te(void 0,t,n),{timeoutMs:xe,...r},t)}function bt(e){let t=[];for(let r=e;r instanceof Error&&t.length<4;r=r.cause)t.push(r.message);return t.some((r)=>/failed to fetch|fetch failed|networkerror|load failed|cannot connect to api/i.test(r))}async function we(e,t){try{let[{generateText:r},n]=await Promise.all([(F("wgzgvzaf"),import("./index-wgzgvzaf.js")),Qe(e,t.fetch?{fetch:t.fetch}:{})]);return await r({model:n,prompt:"Reply with OK.",maxOutputTokens:16,maxRetries:0,abortSignal:Me(t.signal,t.timeoutMs)}),{ok:!0}}catch(r){if(t.signal?.aborted)throw r;if(D(r,"TimeoutError")||D(r,"AbortError"))return{ok:!1,reason:"timeout"};let n=T(r instanceof Error?r.message:String(r),e.apiKey?.trim()),i=r?.statusCode;if(typeof i==="number")return te(i,n);if(bt(r))return{ok:!1,reason:"cors",message:n};return{ok:!1,reason:"config",message:n}}}var At=new Set([404,405,501]);function St(e){if(e.ok)return!1;if(e.reason==="cors")return!0;return e.reason==="http"&&e.status!==void 0&&At.has(e.status)}async function vt(e,t){if(e.customEndpoint)return Et(e.customEndpoint,e.apiKey,{signal:t.signal,fetch:t.fetch,timeoutMs:t.timeoutMs??xe});let r=_e(e.providerApi??""),n=r&&e.providerNpm==="@ai-sdk/anthropic"?ht(r):r;if(!n)return null;let i=`${n}/models`;return Oe(i,Te(e.providerNpm,e.apiKey,i),{signal:t.signal,fetch:t.fetch,timeoutMs:t.timeoutMs??dt},e.apiKey)}async function Ce(e,t={}){if(e.customEndpoint){let n=_(e.customEndpoint);if(n==="insecure-endpoint")return{ok:!1,reason:"insecure",message:"Plain http is only allowed to this machine: use https"};if(n)return{ok:!1,reason:"config",message:"Invalid endpoint URL"}}if(t.mode==="generate")return we(e,t);let r=await vt(e,t);if(t.mode==="auto"&&(!r||St(r)))return we(e,t);return r??{ok:!1,reason:"config",message:"No API URL for this provider"}}var wt=[{code:"en",name:"English",label:"English"},{code:"fr",name:"French",label:"Français"},{code:"es",name:"Spanish",label:"Español"},{code:"de",name:"German",label:"Deutsch"},{code:"it",name:"Italian",label:"Italiano"},{code:"pt",name:"Portuguese",label:"Português"},{code:"nl",name:"Dutch",label:"Nederlands"},{code:"ru",name:"Russian",label:"Русский"},{code:"zh",name:"Chinese",label:"中文"},{code:"ja",name:"Japanese",label:"日本語"},{code:"ko",name:"Korean",label:"한국어"},{code:"ar",name:"Arabic",label:"العربية"},{code:"hi",name:"Hindi",label:"हिन्दी"},{code:"tr",name:"Turkish",label:"Türkçe"},{code:"pl",name:"Polish",label:"Polski"},{code:"sv",name:"Swedish",label:"Svenska"}];function ke(e){let t=e?.trim().toLowerCase();if(!t)return;let r=t.split(/[-_]/)[0];return wt.find((n)=>n.code===r||n.name.toLowerCase()===t||n.label.toLowerCase()===t)}function U(e){return ke(e)?.code??"en"}function Ne(){try{let e=globalThis.navigator?.languages??[globalThis.navigator?.language];for(let t of e){let r=ke(t);if(r)return r.code}}catch{}return"en"}function yt(e){let t=e.recommended??Re,r=e.catalog??e.catalogUrl;if(!r)throw Error("createLlmSettingsStore: `catalog` is required");let n=r,i={providerId:e.defaults?.providerId??t[0]??"openai",model:e.defaults?.model??"",rememberKey:e.defaults?.rememberKey??!1},l=()=>e.defaults?.language?U(e.defaults.language):Ne();function d(o){let a=!!o?.customEndpoint,s=o?.apiKey??"";return{custom:a,providerId:o?.providerId||i.providerId,model:o?.model||i.model,apiKey:a?"":s,customApiKey:a?s:"",customEndpoint:o?.customEndpoint??"",customModel:o?.customModel??"",rememberKey:o?.rememberKey??i.rememberKey,language:o?.language?U(o.language):l()}}function f(o){let a=o.catalog?.[o.draft.providerId]??null,s=ne(a,o.search),g=a?.defaultModel;return{...o,provider:a,providers:G(o.catalog,t),isRecommendedProvider:t.includes(o.draft.providerId),models:s,recommendedModel:g?s.find((A)=>A.id===g)??null:null,apiKey:k(o.draft),canSave:N(o.draft),canTest:V(o.draft)}}let u=f({catalog:null,catalogStatus:"idle",catalogError:null,saved:null,draft:d(null),search:"",testing:!1,testResult:null}),m=new Set,p=!1;function c(o){let a={...u,...o};if(!a.draft.model&&a.catalog){let s=K(a.catalog[a.draft.providerId]);if(s)a.draft={...a.draft,model:s}}u=f(a);for(let s of m)s(u)}function h(o){p=!0,c({draft:{...u.draft,...o},testResult:null})}function b(){if(u.catalogStatus==="loading"||u.catalogStatus==="ready")return;c({catalogStatus:"loading",catalogError:null}),(typeof n==="string"?M(n,e.fetch):n()).then((a)=>c({catalog:a,catalogStatus:"ready",catalogError:null}),(a)=>c({catalogStatus:"error",catalogError:a instanceof Error?a.message:"Model list unavailable"}))}function w(){let{draft:o,catalog:a,saved:s}=u,g=q(a,o.providerId);if(g)return g;if(s?.providerId===o.providerId)return{providerId:o.providerId,providerName:s.providerName??o.providerId,providerNpm:s.providerNpm??"",providerApi:s.providerApi??""};return H}function E(){let{draft:o}=u;return{apiKey:k(o),model:o.model,...w(),language:o.language,...o.custom?{customEndpoint:Ue(o.customEndpoint)??o.customEndpoint.trim(),customModel:o.customModel.trim()}:{}}}return{getState:()=>u,subscribe(o){return m.add(o),o(u),()=>{m.delete(o)}},async load(){let o=await(e.storage.loadDraft??e.storage.load)();if(p)c({saved:o});else c({saved:o,draft:d(o),search:"",testResult:null});return o},reset(o){p=!1,c({saved:o,draft:d(o),search:"",testResult:null})},open(){p=!1,c({draft:d(u.saved),search:"",testing:!1,testResult:null}),b()},retryCatalog:b,selectProvider(o){let a=K(u.catalog?.[o])??"";p=!0,c({draft:{...u.draft,providerId:o,model:a},search:"",testResult:null})},selectModel:(o)=>h({model:o}),setApiKey(o){h(u.draft.custom?{customApiKey:o}:{apiKey:o})},setSearch:(o)=>c({search:o}),toggleCustom(o){h({custom:o??!u.draft.custom})},applyPreset(o){h({customEndpoint:o.endpoint,...!u.draft.customModel.trim()&&o.model?{customModel:o.model}:{}})},setEndpoint:(o)=>h({customEndpoint:o}),setCustomModel:(o)=>h({customModel:o}),setRememberKey:(o)=>h({rememberKey:o}),setLanguage:(o)=>h({language:U(o)}),settings:E,async test(o={}){c({testing:!0,testResult:null});try{let a=await Ce(E(),{mode:e.testMode??"models",signal:o.signal,fetch:e.fetch});return c({testing:!1,testResult:a}),a}catch(a){throw c({testing:!1}),a}},async save(o){let{draft:a}=u;if(!N(a))return{ok:!1,reason:"incomplete"};let s=a.custom?_(a.customEndpoint):null;if(s)return{ok:!1,reason:s};let g={...E(),...o};await e.storage.save(g,{rememberKey:a.rememberKey});let A={...g,rememberKey:a.rememberKey};return c({saved:A}),{ok:!0,settings:A}},async clear(){await e.storage.clear(),c({saved:null,draft:{...u.draft,custom:!1,apiKey:"",customApiKey:"",customEndpoint:"",customModel:"",language:l()},testResult:null})}}}export{Re,ft,De,oe,Ie,qt,Be,ht,gt,Qe,Le,Ue,gn,_t,yt};
|