UNPKG

@neuroequality/neuroadapt-ai

Version:

AI-powered accessibility personalization for neurodivergent users

18 lines (16 loc) 59 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function u(n,e,t,s,r){if(typeof e=="function"?n!==e||!0:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(n,t),t}function a(n,e,t,s){if(t==="a"&&!s)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!s:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?s:t==="a"?s.call(n):s?s.value:e.get(n)}let It=function(){const{crypto:n}=globalThis;if(n?.randomUUID)return It=n.randomUUID.bind(n),n.randomUUID();const e=new Uint8Array(1),t=n?()=>n.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,s=>(+s^t()&15>>+s/4).toString(16))};function se(n){return typeof n=="object"&&n!==null&&("name"in n&&n.name==="AbortError"||"message"in n&&String(n.message).includes("FetchRequestCanceledException"))}const We=n=>{if(n instanceof Error)return n;if(typeof n=="object"&&n!==null){try{if(Object.prototype.toString.call(n)==="[object Error]"){const e=new Error(n.message,n.cause?{cause:n.cause}:{});return n.stack&&(e.stack=n.stack),n.cause&&!e.cause&&(e.cause=n.cause),n.name&&(e.name=n.name),e}}catch{}try{return new Error(JSON.stringify(n))}catch{}}return new Error(n)};class d extends Error{}class y extends d{constructor(e,t,s,r){super(`${y.makeMessage(e,t,s)}`),this.status=e,this.headers=r,this.requestID=r?.get("request-id"),this.error=t}static makeMessage(e,t,s){const r=t?.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):s;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,t,s,r){if(!e||!r)return new ne({message:s,cause:We(t)});const i=t;return e===400?new Ve(e,i,s,r):e===401?new ze(e,i,s,r):e===403?new Qe(e,i,s,r):e===404?new Ge(e,i,s,r):e===409?new Ye(e,i,s,r):e===422?new Ze(e,i,s,r):e===429?new et(e,i,s,r):e>=500?new tt(e,i,s,r):new y(e,i,s,r)}}class x extends y{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class ne extends y{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class Ke extends ne{constructor({message:e}={}){super({message:e??"Request timed out."})}}class Ve extends y{}class ze extends y{}class Qe extends y{}class Ge extends y{}class Ye extends y{}class Ze extends y{}class et extends y{}class tt extends y{}const es=/^[a-z][a-z0-9+.-]*:/i,ts=n=>es.test(n);let De=n=>(De=Array.isArray,De(n)),ut=De;function ht(n){return typeof n!="object"?{}:n??{}}function ss(n){if(!n)return!0;for(const e in n)return!1;return!0}function ns(n,e){return Object.prototype.hasOwnProperty.call(n,e)}const rs=(n,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new d(`${n} must be an integer`);if(e<0)throw new d(`${n} must be a positive integer`);return e},Nt=n=>{try{return JSON.parse(n)}catch{return}},is=n=>new Promise(e=>setTimeout(e,n)),C="0.56.0",as=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function os(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}const cs=()=>{const n=os();if(n==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C,"X-Stainless-OS":ft(Deno.build.os),"X-Stainless-Arch":dt(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(n==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C,"X-Stainless-OS":ft(globalThis.process.platform??"unknown"),"X-Stainless-Arch":dt(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};const e=ls();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function ls(){if(typeof navigator>"u"||!navigator)return null;const n=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(const{key:e,pattern:t}of n){const s=t.exec(navigator.userAgent);if(s){const r=s[1]||0,i=s[2]||0,o=s[3]||0;return{browser:e,version:`${r}.${i}.${o}`}}}return null}const dt=n=>n==="x32"?"x32":n==="x86_64"||n==="x64"?"x64":n==="arm"?"arm":n==="aarch64"||n==="arm64"?"arm64":n?`other:${n}`:"unknown",ft=n=>(n=n.toLowerCase(),n.includes("ios")?"iOS":n==="android"?"Android":n==="darwin"?"MacOS":n==="win32"?"Windows":n==="freebsd"?"FreeBSD":n==="openbsd"?"OpenBSD":n==="linux"?"Linux":n?`Other:${n}`:"Unknown");let pt;const us=()=>pt??(pt=cs());function hs(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function jt(...n){const e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...n)}function Lt(n){let e=Symbol.asyncIterator in n?n[Symbol.asyncIterator]():n[Symbol.iterator]();return jt({start(){},async pull(t){const{done:s,value:r}=await e.next();s?t.close():t.enqueue(r)},async cancel(){await e.return?.()}})}function st(n){if(n[Symbol.asyncIterator])return n;const e=n.getReader();return{async next(){try{const t=await e.read();return t?.done&&e.releaseLock(),t}catch(t){throw e.releaseLock(),t}},async return(){const t=e.cancel();return e.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function ds(n){if(n===null||typeof n!="object")return;if(n[Symbol.asyncIterator]){await n[Symbol.asyncIterator]().return?.();return}const e=n.getReader(),t=e.cancel();e.releaseLock(),await t}const fs=({headers:n,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});function ps(n){let e=0;for(const r of n)e+=r.length;const t=new Uint8Array(e);let s=0;for(const r of n)t.set(r,s),s+=r.length;return t}let gt;function nt(n){let e;return(gt??(e=new globalThis.TextEncoder,gt=e.encode.bind(e)))(n)}let mt;function _t(n){let e;return(mt??(e=new globalThis.TextDecoder,mt=e.decode.bind(e)))(n)}var w,S;class re{constructor(){w.set(this,void 0),S.set(this,void 0),u(this,w,new Uint8Array),u(this,S,null)}decode(e){if(e==null)return[];const t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?nt(e):e;u(this,w,ps([a(this,w,"f"),t]));const s=[];let r;for(;(r=gs(a(this,w,"f"),a(this,S,"f")))!=null;){if(r.carriage&&a(this,S,"f")==null){u(this,S,r.index);continue}if(a(this,S,"f")!=null&&(r.index!==a(this,S,"f")+1||r.carriage)){s.push(_t(a(this,w,"f").subarray(0,a(this,S,"f")-1))),u(this,w,a(this,w,"f").subarray(a(this,S,"f"))),u(this,S,null);continue}const i=a(this,S,"f")!==null?r.preceding-1:r.preceding,o=_t(a(this,w,"f").subarray(0,i));s.push(o),u(this,w,a(this,w,"f").subarray(r.index)),u(this,S,null)}return s}flush(){return a(this,w,"f").length?this.decode(` `):[]}}w=new WeakMap,S=new WeakMap;re.NEWLINE_CHARS=new Set([` `,"\r"]);re.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function gs(n,e){for(let r=e??0;r<n.length;r++){if(n[r]===10)return{preceding:r,index:r+1,carriage:!1};if(n[r]===13)return{preceding:r,index:r+1,carriage:!0}}return null}function ms(n){for(let s=0;s<n.length-1;s++){if(n[s]===10&&n[s+1]===10||n[s]===13&&n[s+1]===13)return s+2;if(n[s]===13&&n[s+1]===10&&s+3<n.length&&n[s+2]===13&&n[s+3]===10)return s+4}return-1}const Ee={off:0,error:200,warn:300,info:400,debug:500},yt=(n,e,t)=>{if(n){if(ns(Ee,n))return n;b(t).warn(`${e} was set to ${JSON.stringify(n)}, expected one of ${JSON.stringify(Object.keys(Ee))}`)}};function ee(){}function le(n,e,t){return!e||Ee[n]>Ee[t]?ee:e[n].bind(e)}const _s={error:ee,warn:ee,info:ee,debug:ee};let bt=new WeakMap;function b(n){const e=n.logger,t=n.logLevel??"off";if(!e)return _s;const s=bt.get(e);if(s&&s[0]===t)return s[1];const r={error:le("error",e,t),warn:le("warn",e,t),info:le("info",e,t),debug:le("debug",e,t)};return bt.set(e,[t,r]),r}const B=n=>(n.options&&(n.options={...n.options},delete n.options.headers),n.headers&&(n.headers=Object.fromEntries((n.headers instanceof Headers?[...n.headers]:Object.entries(n.headers)).map(([e,t])=>[e,e.toLowerCase()==="x-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in n&&(n.retryOfRequestLogID&&(n.retryOf=n.retryOfRequestLogID),delete n.retryOfRequestLogID),n);var D;class A{constructor(e,t,s){this.iterator=e,D.set(this,void 0),this.controller=t,u(this,D,s)}static fromSSEResponse(e,t,s){let r=!1;const i=s?b(s):console;async function*o(){if(r)throw new d("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let c=!1;try{for await(const l of ys(e,t)){if(l.event==="completion")try{yield JSON.parse(l.data)}catch(f){throw i.error("Could not parse message into JSON:",l.data),i.error("From chunk:",l.raw),f}if(l.event==="message_start"||l.event==="message_delta"||l.event==="message_stop"||l.event==="content_block_start"||l.event==="content_block_delta"||l.event==="content_block_stop")try{yield JSON.parse(l.data)}catch(f){throw i.error("Could not parse message into JSON:",l.data),i.error("From chunk:",l.raw),f}if(l.event!=="ping"&&l.event==="error")throw new y(void 0,Nt(l.data)??l.data,void 0,e.headers)}c=!0}catch(l){if(se(l))return;throw l}finally{c||t.abort()}}return new A(o,t,s)}static fromReadableStream(e,t,s){let r=!1;async function*i(){const c=new re,l=st(e);for await(const f of l)for(const m of c.decode(f))yield m;for(const f of c.flush())yield f}async function*o(){if(r)throw new d("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let c=!1;try{for await(const l of i())c||l&&(yield JSON.parse(l));c=!0}catch(l){if(se(l))return;throw l}finally{c||t.abort()}}return new A(o,t,s)}[(D=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){const e=[],t=[],s=this.iterator(),r=i=>({next:()=>{if(i.length===0){const o=s.next();e.push(o),t.push(o)}return i.shift()}});return[new A(()=>r(e),this.controller,a(this,D,"f")),new A(()=>r(t),this.controller,a(this,D,"f"))]}toReadableStream(){const e=this;let t;return jt({async start(){t=e[Symbol.asyncIterator]()},async pull(s){try{const{value:r,done:i}=await t.next();if(i)return s.close();const o=nt(JSON.stringify(r)+` `);s.enqueue(o)}catch(r){s.error(r)}},async cancel(){await t.return?.()}})}}async function*ys(n,e){if(!n.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new d("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new d("Attempted to iterate over a response with no body");const t=new ws,s=new re,r=st(n.body);for await(const i of bs(r))for(const o of s.decode(i)){const c=t.decode(o);c&&(yield c)}for(const i of s.flush()){const o=t.decode(i);o&&(yield o)}}async function*bs(n){let e=new Uint8Array;for await(const t of n){if(t==null)continue;const s=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?nt(t):t;let r=new Uint8Array(e.length+s.length);r.set(e),r.set(s,e.length),e=r;let i;for(;(i=ms(e))!==-1;)yield e.slice(0,i),e=e.slice(i)}e.length>0&&(yield e)}class ws{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;const i={event:this.event,data:this.data.join(` `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],i}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,s,r]=Ss(e,":");return r.startsWith(" ")&&(r=r.substring(1)),t==="event"?this.event=r:t==="data"&&this.data.push(r),null}}function Ss(n,e){const t=n.indexOf(e);return t!==-1?[n.substring(0,t),e,n.substring(t+e.length)]:[n,"",""]}async function Bt(n,e){const{response:t,requestLogID:s,retryOfRequestLogID:r,startTime:i}=e,o=await(async()=>{if(e.options.stream)return b(n).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller,n):A.fromSSEResponse(t,e.controller,n);if(t.status===204)return null;if(e.options.__binaryResponse)return t;const l=t.headers.get("content-type")?.split(";")[0]?.trim();if(l?.includes("application/json")||l?.endsWith("+json")){const _=await t.json();return qt(_,t)}return await t.text()})();return b(n).debug(`[${s}] response parsed`,B({retryOfRequestLogID:r,url:t.url,status:t.status,body:o,durationMs:Date.now()-i})),o}function qt(n,e){return!n||typeof n!="object"||Array.isArray(n)?n:Object.defineProperty(n,"_request_id",{value:e.headers.get("request-id"),enumerable:!1})}var te;class ie extends Promise{constructor(e,t,s=Bt){super(r=>{r(null)}),this.responsePromise=t,this.parseResponse=s,te.set(this,void 0),u(this,te,e)}_thenUnwrap(e){return new ie(a(this,te,"f"),this.responsePromise,async(t,s)=>qt(e(await this.parseResponse(t,s),s),s.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){const[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(a(this,te,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}te=new WeakMap;var ue;class ks{constructor(e,t,s,r){ue.set(this,void 0),u(this,ue,e),this.options=r,this.response=t,this.body=s}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){const e=this.nextPageRequestOptions();if(!e)throw new d("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await a(this,ue,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(ue=new WeakMap,Symbol.asyncIterator)](){for await(const e of this.iterPages())for(const t of e.getPaginatedItems())yield t}}class vt extends ie{constructor(e,t,s){super(e,t,async(r,i)=>new s(r,i.response,await Bt(r,i),i.options))}async*[Symbol.asyncIterator](){const e=await this;for await(const t of e)yield t}}class ae extends ks{constructor(e,t,s,r){super(e,t,s,r),this.data=s.data||[],this.has_more=s.has_more||!1,this.first_id=s.first_id||null,this.last_id=s.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){const t=this.first_id;return t?{...this.options,query:{...ht(this.options.query),before_id:t}}:null}const e=this.last_id;return e?{...this.options,query:{...ht(this.options.query),after_id:e}}:null}}const Ut=()=>{if(typeof File>"u"){const{process:n}=globalThis,e=typeof n?.versions?.node=="string"&&parseInt(n.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(e?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function W(n,e,t){return Ut(),new File(n,e??"unknown_file",t)}function Re(n){return(typeof n=="object"&&n!==null&&("name"in n&&n.name&&String(n.name)||"url"in n&&n.url&&String(n.url)||"filename"in n&&n.filename&&String(n.filename)||"path"in n&&n.path&&String(n.path))||"").split(/[\\/]/).pop()||void 0}const Ct=n=>n!=null&&typeof n=="object"&&typeof n[Symbol.asyncIterator]=="function",Ms=async(n,e)=>({...n,body:await Rs(n.body,e)}),wt=new WeakMap;function xs(n){const e=typeof n=="function"?n:n.fetch,t=wt.get(e);if(t)return t;const s=(async()=>{try{const r="Response"in e?e.Response:(await e("data:,")).constructor,i=new FormData;return i.toString()!==await new r(i).text()}catch{return!0}})();return wt.set(e,s),s}const Rs=async(n,e)=>{if(!await xs(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");const t=new FormData;return await Promise.all(Object.entries(n||{}).map(([s,r])=>He(t,s,r))),t},Ps=n=>n instanceof Blob&&"name"in n,He=async(n,e,t)=>{if(t!==void 0){if(t==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")n.append(e,String(t));else if(t instanceof Response){let s={};const r=t.headers.get("Content-Type");r&&(s={type:r}),n.append(e,W([await t.blob()],Re(t),s))}else if(Ct(t))n.append(e,W([await new Response(Lt(t)).blob()],Re(t)));else if(Ps(t))n.append(e,W([t],Re(t),{type:t.type}));else if(Array.isArray(t))await Promise.all(t.map(s=>He(n,e+"[]",s)));else if(typeof t=="object")await Promise.all(Object.entries(t).map(([s,r])=>He(n,`${e}[${s}]`,r)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${t} instead`)}},Ft=n=>n!=null&&typeof n=="object"&&typeof n.size=="number"&&typeof n.type=="string"&&typeof n.text=="function"&&typeof n.slice=="function"&&typeof n.arrayBuffer=="function",Es=n=>n!=null&&typeof n=="object"&&typeof n.name=="string"&&typeof n.lastModified=="number"&&Ft(n),Ts=n=>n!=null&&typeof n=="object"&&typeof n.url=="string"&&typeof n.blob=="function";async function Wt(n,e,t){if(Ut(),n=await n,e||(e=Re(n)),Es(n))return n instanceof File&&e==null&&t==null?n:W([await n.arrayBuffer()],e??n.name,{type:n.type,lastModified:n.lastModified,...t});if(Ts(n)){const r=await n.blob();return e||(e=new URL(n.url).pathname.split(/[\\/]/).pop()),W(await Xe(r),e,t)}const s=await Xe(n);if(!t?.type){const r=s.find(i=>typeof i=="object"&&"type"in i&&i.type);typeof r=="string"&&(t={...t,type:r})}return W(s,e,t)}async function Xe(n){let e=[];if(typeof n=="string"||ArrayBuffer.isView(n)||n instanceof ArrayBuffer)e.push(n);else if(Ft(n))e.push(n instanceof Blob?n:await n.arrayBuffer());else if(Ct(n))for await(const t of n)e.push(...await Xe(t));else{const t=n?.constructor?.name;throw new Error(`Unexpected data type: ${typeof n}${t?`; constructor: ${t}`:""}${As(n)}`)}return e}function As(n){return typeof n!="object"||n===null?"":`; props: [${Object.getOwnPropertyNames(n).map(t=>`"${t}"`).join(", ")}]`}class N{constructor(e){this._client=e}}const Dt=Symbol.for("brand.privateNullableHeaders");function*Os(n){if(!n)return;if(Dt in n){const{values:s,nulls:r}=n;yield*s.entries();for(const i of r)yield[i,null];return}let e=!1,t;n instanceof Headers?t=n.entries():ut(n)?t=n:(e=!0,t=Object.entries(n??{}));for(let s of t){const r=s[0];if(typeof r!="string")throw new TypeError("expected header name to be a string");const i=ut(s[1])?s[1]:[s[1]];let o=!1;for(const c of i)c!==void 0&&(e&&!o&&(o=!0,yield[r,null]),yield[r,c])}}const p=n=>{const e=new Headers,t=new Set;for(const s of n){const r=new Set;for(const[i,o]of Os(s)){const c=i.toLowerCase();r.has(c)||(e.delete(i),r.add(c)),o===null?(e.delete(i),t.add(c)):(e.append(i,o),t.delete(c))}}return{[Dt]:!0,values:e,nulls:t}};function Ht(n){return n.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}const St=Object.freeze(Object.create(null)),$s=(n=Ht)=>function(t,...s){if(t.length===1)return t[0];let r=!1;const i=[],o=t.reduce((m,_,R)=>{/[?#]/.test(_)&&(r=!0);const h=s[R];let P=(r?encodeURIComponent:n)(""+h);return R!==s.length&&(h==null||typeof h=="object"&&h.toString===Object.getPrototypeOf(Object.getPrototypeOf(h.hasOwnProperty??St)??St)?.toString)&&(P=h+"",i.push({start:m.length+_.length,length:P.length,error:`Value of type ${Object.prototype.toString.call(h).slice(8,-1)} is not a valid path parameter`})),m+_+(R===s.length?"":P)},""),c=o.split(/[?#]/,1)[0],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;let f;for(;(f=l.exec(c))!==null;)i.push({start:f.index,length:f[0].length,error:`Value "${f[0]}" can't be safely passed as a path parameter`});if(i.sort((m,_)=>m.start-_.start),i.length>0){let m=0;const _=i.reduce((R,h)=>{const P=" ".repeat(h.start-m),$e="^".repeat(h.length);return m=h.start+h.length,R+P+$e},"");throw new d(`Path parameters result in path with invalid segments: ${i.map(R=>R.error).join(` `)} ${o} ${_}`)}return o},E=$s(Ht);class Xt extends N{list(e={},t){const{betas:s,...r}=e??{};return this._client.getAPIList("/v1/files",ae,{query:r,...t,headers:p([{"anthropic-beta":[...s??[],"files-api-2025-04-14"].toString()},t?.headers])})}delete(e,t={},s){const{betas:r}=t??{};return this._client.delete(E`/v1/files/${e}`,{...s,headers:p([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},s?.headers])})}download(e,t={},s){const{betas:r}=t??{};return this._client.get(E`/v1/files/${e}/content`,{...s,headers:p([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},s?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},s){const{betas:r}=t??{};return this._client.get(E`/v1/files/${e}`,{...s,headers:p([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},s?.headers])})}upload(e,t){const{betas:s,...r}=e;return this._client.post("/v1/files",Ms({body:r,...t,headers:p([{"anthropic-beta":[...s??[],"files-api-2025-04-14"].toString()},t?.headers])},this._client))}}let Jt=class extends N{retrieve(e,t={},s){const{betas:r}=t??{};return this._client.get(E`/v1/models/${e}?beta=true`,{...s,headers:p([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},s?.headers])})}list(e={},t){const{betas:s,...r}=e??{};return this._client.getAPIList("/v1/models?beta=true",ae,{query:r,...t,headers:p([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers])})}};class Oe{constructor(e,t){this.iterator=e,this.controller=t}async*decoder(){const e=new re;for await(const t of this.iterator)for(const s of e.decode(t))yield JSON.parse(s);for(const t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(e,t){if(!e.body)throw t.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new d("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new d("Attempted to iterate over a response with no body");return new Oe(st(e.body),t)}}let Kt=class extends N{create(e,t){const{betas:s,...r}=e;return this._client.post("/v1/messages/batches?beta=true",{body:r,...t,headers:p([{"anthropic-beta":[...s??[],"message-batches-2024-09-24"].toString()},t?.headers])})}retrieve(e,t={},s){const{betas:r}=t??{};return this._client.get(E`/v1/messages/batches/${e}?beta=true`,{...s,headers:p([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},s?.headers])})}list(e={},t){const{betas:s,...r}=e??{};return this._client.getAPIList("/v1/messages/batches?beta=true",ae,{query:r,...t,headers:p([{"anthropic-beta":[...s??[],"message-batches-2024-09-24"].toString()},t?.headers])})}delete(e,t={},s){const{betas:r}=t??{};return this._client.delete(E`/v1/messages/batches/${e}?beta=true`,{...s,headers:p([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},s?.headers])})}cancel(e,t={},s){const{betas:r}=t??{};return this._client.post(E`/v1/messages/batches/${e}/cancel?beta=true`,{...s,headers:p([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},s?.headers])})}async results(e,t={},s){const r=await this.retrieve(e);if(!r.results_url)throw new d(`No batch \`results_url\`; Has it finished processing? ${r.processing_status} - ${r.id}`);const{betas:i}=t??{};return this._client.get(r.results_url,{...s,headers:p([{"anthropic-beta":[...i??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},s?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((o,c)=>Oe.fromResponse(c.response,c.controller))}};const Is=n=>{let e=0,t=[];for(;e<n.length;){let s=n[e];if(s==="\\"){e++;continue}if(s==="{"){t.push({type:"brace",value:"{"}),e++;continue}if(s==="}"){t.push({type:"brace",value:"}"}),e++;continue}if(s==="["){t.push({type:"paren",value:"["}),e++;continue}if(s==="]"){t.push({type:"paren",value:"]"}),e++;continue}if(s===":"){t.push({type:"separator",value:":"}),e++;continue}if(s===","){t.push({type:"delimiter",value:","}),e++;continue}if(s==='"'){let c="",l=!1;for(s=n[++e];s!=='"';){if(e===n.length){l=!0;break}if(s==="\\"){if(e++,e===n.length){l=!0;break}c+=s+n[e],s=n[++e]}else c+=s,s=n[++e]}s=n[++e],l||t.push({type:"string",value:c});continue}if(s&&/\s/.test(s)){e++;continue}let i=/[0-9]/;if(s&&i.test(s)||s==="-"||s==="."){let c="";for(s==="-"&&(c+=s,s=n[++e]);s&&i.test(s)||s===".";)c+=s,s=n[++e];t.push({type:"number",value:c});continue}let o=/[a-z]/i;if(s&&o.test(s)){let c="";for(;s&&o.test(s)&&e!==n.length;)c+=s,s=n[++e];if(c=="true"||c=="false"||c==="null")t.push({type:"name",value:c});else{e++;continue}continue}e++}return t},F=n=>{if(n.length===0)return n;let e=n[n.length-1];switch(e.type){case"separator":return n=n.slice(0,n.length-1),F(n);case"number":let t=e.value[e.value.length-1];if(t==="."||t==="-")return n=n.slice(0,n.length-1),F(n);case"string":let s=n[n.length-2];if(s?.type==="delimiter")return n=n.slice(0,n.length-1),F(n);if(s?.type==="brace"&&s.value==="{")return n=n.slice(0,n.length-1),F(n);break;case"delimiter":return n=n.slice(0,n.length-1),F(n)}return n},Ns=n=>{let e=[];return n.map(t=>{t.type==="brace"&&(t.value==="{"?e.push("}"):e.splice(e.lastIndexOf("}"),1)),t.type==="paren"&&(t.value==="["?e.push("]"):e.splice(e.lastIndexOf("]"),1))}),e.length>0&&e.reverse().map(t=>{t==="}"?n.push({type:"brace",value:"}"}):t==="]"&&n.push({type:"paren",value:"]"})}),n},js=n=>{let e="";return n.map(t=>{switch(t.type){case"string":e+='"'+t.value+'"';break;default:e+=t.value;break}}),e},Vt=n=>JSON.parse(js(Ns(F(Is(n)))));var k,j,H,he,X,J,de,K,$,V,fe,pe,v,ge,me,Ne,kt,_e,je,Le,Be,Mt;const xt="__json_buf";function Rt(n){return n.type==="tool_use"||n.type==="server_tool_use"||n.type==="mcp_tool_use"}class Te{constructor(){k.add(this),this.messages=[],this.receivedMessages=[],j.set(this,void 0),this.controller=new AbortController,H.set(this,void 0),he.set(this,()=>{}),X.set(this,()=>{}),J.set(this,void 0),de.set(this,()=>{}),K.set(this,()=>{}),$.set(this,{}),V.set(this,!1),fe.set(this,!1),pe.set(this,!1),v.set(this,!1),ge.set(this,void 0),me.set(this,void 0),_e.set(this,e=>{if(u(this,fe,!0),se(e)&&(e=new x),e instanceof x)return u(this,pe,!0),this._emit("abort",e);if(e instanceof d)return this._emit("error",e);if(e instanceof Error){const t=new d(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new d(String(e)))}),u(this,H,new Promise((e,t)=>{u(this,he,e,"f"),u(this,X,t,"f")})),u(this,J,new Promise((e,t)=>{u(this,de,e,"f"),u(this,K,t,"f")})),a(this,H,"f").catch(()=>{}),a(this,J,"f").catch(()=>{})}get response(){return a(this,ge,"f")}get request_id(){return a(this,me,"f")}async withResponse(){const e=await a(this,H,"f");if(!e)throw new Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){const t=new Te;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,s){const r=new Te;for(const i of t.messages)r._addMessageParam(i);return r._run(()=>r._createMessage(e,{...t,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},a(this,_e,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,s){const r=s?.signal;let i;r&&(r.aborted&&this.controller.abort(),i=this.controller.abort.bind(this.controller),r.addEventListener("abort",i));try{a(this,k,"m",je).call(this);const{response:o,data:c}=await e.create({...t,stream:!0},{...s,signal:this.controller.signal}).withResponse();this._connected(o);for await(const l of c)a(this,k,"m",Le).call(this,l);if(c.controller.signal?.aborted)throw new x;a(this,k,"m",Be).call(this)}finally{r&&i&&r.removeEventListener("abort",i)}}_connected(e){this.ended||(u(this,ge,e),u(this,me,e?.headers.get("request-id")),a(this,he,"f").call(this,e),this._emit("connect"))}get ended(){return a(this,V,"f")}get errored(){return a(this,fe,"f")}get aborted(){return a(this,pe,"f")}abort(){this.controller.abort()}on(e,t){return(a(this,$,"f")[e]||(a(this,$,"f")[e]=[])).push({listener:t}),this}off(e,t){const s=a(this,$,"f")[e];if(!s)return this;const r=s.findIndex(i=>i.listener===t);return r>=0&&s.splice(r,1),this}once(e,t){return(a(this,$,"f")[e]||(a(this,$,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,s)=>{u(this,v,!0),e!=="error"&&this.once("error",s),this.once(e,t)})}async done(){u(this,v,!0),await a(this,J,"f")}get currentMessage(){return a(this,j,"f")}async finalMessage(){return await this.done(),a(this,k,"m",Ne).call(this)}async finalText(){return await this.done(),a(this,k,"m",kt).call(this)}_emit(e,...t){if(a(this,V,"f"))return;e==="end"&&(u(this,V,!0),a(this,de,"f").call(this));const s=a(this,$,"f")[e];if(s&&(a(this,$,"f")[e]=s.filter(r=>!r.once),s.forEach(({listener:r})=>r(...t))),e==="abort"){const r=t[0];!a(this,v,"f")&&!s?.length&&Promise.reject(r),a(this,X,"f").call(this,r),a(this,K,"f").call(this,r),this._emit("end");return}if(e==="error"){const r=t[0];!a(this,v,"f")&&!s?.length&&Promise.reject(r),a(this,X,"f").call(this,r),a(this,K,"f").call(this,r),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",a(this,k,"m",Ne).call(this))}async _fromReadableStream(e,t){const s=t?.signal;let r;s&&(s.aborted&&this.controller.abort(),r=this.controller.abort.bind(this.controller),s.addEventListener("abort",r));try{a(this,k,"m",je).call(this),this._connected(null);const i=A.fromReadableStream(e,this.controller);for await(const o of i)a(this,k,"m",Le).call(this,o);if(i.controller.signal?.aborted)throw new x;a(this,k,"m",Be).call(this)}finally{s&&r&&s.removeEventListener("abort",r)}}[(j=new WeakMap,H=new WeakMap,he=new WeakMap,X=new WeakMap,J=new WeakMap,de=new WeakMap,K=new WeakMap,$=new WeakMap,V=new WeakMap,fe=new WeakMap,pe=new WeakMap,v=new WeakMap,ge=new WeakMap,me=new WeakMap,_e=new WeakMap,k=new WeakSet,Ne=function(){if(this.receivedMessages.length===0)throw new d("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},kt=function(){if(this.receivedMessages.length===0)throw new d("stream ended without producing a Message with role=assistant");const t=this.receivedMessages.at(-1).content.filter(s=>s.type==="text").map(s=>s.text);if(t.length===0)throw new d("stream ended without producing a content block with type=text");return t.join(" ")},je=function(){this.ended||u(this,j,void 0)},Le=function(t){if(this.ended)return;const s=a(this,k,"m",Mt).call(this,t);switch(this._emit("streamEvent",t,s),t.type){case"content_block_delta":{const r=s.content.at(-1);switch(t.delta.type){case"text_delta":{r.type==="text"&&this._emit("text",t.delta.text,r.text||"");break}case"citations_delta":{r.type==="text"&&this._emit("citation",t.delta.citation,r.citations??[]);break}case"input_json_delta":{Rt(r)&&r.input&&this._emit("inputJson",t.delta.partial_json,r.input);break}case"thinking_delta":{r.type==="thinking"&&this._emit("thinking",t.delta.thinking,r.thinking);break}case"signature_delta":{r.type==="thinking"&&this._emit("signature",r.signature);break}default:t.delta}break}case"message_stop":{this._addMessageParam(s),this._addMessage(s,!0);break}case"content_block_stop":{this._emit("contentBlock",s.content.at(-1));break}case"message_start":{u(this,j,s);break}}},Be=function(){if(this.ended)throw new d("stream has ended, this shouldn't happen");const t=a(this,j,"f");if(!t)throw new d("request ended without sending any chunks");return u(this,j,void 0),t},Mt=function(t){let s=a(this,j,"f");if(t.type==="message_start"){if(s)throw new d(`Unexpected event order, got ${t.type} before receiving "message_stop"`);return t.message}if(!s)throw new d(`Unexpected event order, got ${t.type} before "message_start"`);switch(t.type){case"message_stop":return s;case"message_delta":return s.container=t.delta.container,s.stop_reason=t.delta.stop_reason,s.stop_sequence=t.delta.stop_sequence,s.usage.output_tokens=t.usage.output_tokens,t.usage.input_tokens!=null&&(s.usage.input_tokens=t.usage.input_tokens),t.usage.cache_creation_input_tokens!=null&&(s.usage.cache_creation_input_tokens=t.usage.cache_creation_input_tokens),t.usage.cache_read_input_tokens!=null&&(s.usage.cache_read_input_tokens=t.usage.cache_read_input_tokens),t.usage.server_tool_use!=null&&(s.usage.server_tool_use=t.usage.server_tool_use),s;case"content_block_start":return s.content.push(t.content_block),s;case"content_block_delta":{const r=s.content.at(t.index);switch(t.delta.type){case"text_delta":{r?.type==="text"&&(s.content[t.index]={...r,text:(r.text||"")+t.delta.text});break}case"citations_delta":{r?.type==="text"&&(s.content[t.index]={...r,citations:[...r.citations??[],t.delta.citation]});break}case"input_json_delta":{if(r&&Rt(r)){let i=r[xt]||"";i+=t.delta.partial_json;const o={...r};if(Object.defineProperty(o,xt,{value:i,enumerable:!1,writable:!0}),i)try{o.input=Vt(i)}catch(c){const l=new d(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${c}. JSON: ${i}`);a(this,_e,"f").call(this,l)}s.content[t.index]=o}break}case"thinking_delta":{r?.type==="thinking"&&(s.content[t.index]={...r,thinking:r.thinking+t.delta.thinking});break}case"signature_delta":{r?.type==="thinking"&&(s.content[t.index]={...r,signature:t.delta.signature});break}default:t.delta}return s}case"content_block_stop":return s}},Symbol.asyncIterator)](){const e=[],t=[];let s=!1;return this.on("streamEvent",r=>{const i=t.shift();i?i.resolve(r):e.push(r)}),this.on("end",()=>{s=!0;for(const r of t)r.resolve(void 0);t.length=0}),this.on("abort",r=>{s=!0;for(const i of t)i.reject(r);t.length=0}),this.on("error",r=>{s=!0;for(const i of t)i.reject(r);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((i,o)=>t.push({resolve:i,reject:o})).then(i=>i?{value:i,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new A(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}const zt={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192},Pt={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025"};let rt=class extends N{constructor(){super(...arguments),this.batches=new Kt(this._client)}create(e,t){const{betas:s,...r}=e;r.model in Pt&&console.warn(`The model '${r.model}' is deprecated and will reach end-of-life on ${Pt[r.model]} Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let i=this._client._options.timeout;if(!r.stream&&i==null){const o=zt[r.model]??void 0;i=this._client.calculateNonstreamingTimeout(r.max_tokens,o)}return this._client.post("/v1/messages?beta=true",{body:r,timeout:i??6e5,...t,headers:p([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}stream(e,t){return Te.createMessage(this,e,t)}countTokens(e,t){const{betas:s,...r}=e;return this._client.post("/v1/messages/count_tokens?beta=true",{body:r,...t,headers:p([{"anthropic-beta":[...s??[],"token-counting-2024-11-01"].toString()},t?.headers])})}};rt.Batches=Kt;class oe extends N{constructor(){super(...arguments),this.models=new Jt(this._client),this.messages=new rt(this._client),this.files=new Xt(this._client)}}oe.Models=Jt;oe.Messages=rt;oe.Files=Xt;class Qt extends N{create(e,t){const{betas:s,...r}=e;return this._client.post("/v1/complete",{body:r,timeout:this._client._options.timeout??6e5,...t,headers:p([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}}var M,L,z,ye,Q,G,be,Y,I,Z,we,Se,U,ke,Me,qe,Et,ve,Ue,Ce,Fe,Tt;const At="__json_buf";function Ot(n){return n.type==="tool_use"||n.type==="server_tool_use"}class Ae{constructor(){M.add(this),this.messages=[],this.receivedMessages=[],L.set(this,void 0),this.controller=new AbortController,z.set(this,void 0),ye.set(this,()=>{}),Q.set(this,()=>{}),G.set(this,void 0),be.set(this,()=>{}),Y.set(this,()=>{}),I.set(this,{}),Z.set(this,!1),we.set(this,!1),Se.set(this,!1),U.set(this,!1),ke.set(this,void 0),Me.set(this,void 0),ve.set(this,e=>{if(u(this,we,!0),se(e)&&(e=new x),e instanceof x)return u(this,Se,!0),this._emit("abort",e);if(e instanceof d)return this._emit("error",e);if(e instanceof Error){const t=new d(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new d(String(e)))}),u(this,z,new Promise((e,t)=>{u(this,ye,e,"f"),u(this,Q,t,"f")})),u(this,G,new Promise((e,t)=>{u(this,be,e,"f"),u(this,Y,t,"f")})),a(this,z,"f").catch(()=>{}),a(this,G,"f").catch(()=>{})}get response(){return a(this,ke,"f")}get request_id(){return a(this,Me,"f")}async withResponse(){const e=await a(this,z,"f");if(!e)throw new Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){const t=new Ae;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,s){const r=new Ae;for(const i of t.messages)r._addMessageParam(i);return r._run(()=>r._createMessage(e,{...t,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},a(this,ve,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,s){const r=s?.signal;let i;r&&(r.aborted&&this.controller.abort(),i=this.controller.abort.bind(this.controller),r.addEventListener("abort",i));try{a(this,M,"m",Ue).call(this);const{response:o,data:c}=await e.create({...t,stream:!0},{...s,signal:this.controller.signal}).withResponse();this._connected(o);for await(const l of c)a(this,M,"m",Ce).call(this,l);if(c.controller.signal?.aborted)throw new x;a(this,M,"m",Fe).call(this)}finally{r&&i&&r.removeEventListener("abort",i)}}_connected(e){this.ended||(u(this,ke,e),u(this,Me,e?.headers.get("request-id")),a(this,ye,"f").call(this,e),this._emit("connect"))}get ended(){return a(this,Z,"f")}get errored(){return a(this,we,"f")}get aborted(){return a(this,Se,"f")}abort(){this.controller.abort()}on(e,t){return(a(this,I,"f")[e]||(a(this,I,"f")[e]=[])).push({listener:t}),this}off(e,t){const s=a(this,I,"f")[e];if(!s)return this;const r=s.findIndex(i=>i.listener===t);return r>=0&&s.splice(r,1),this}once(e,t){return(a(this,I,"f")[e]||(a(this,I,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,s)=>{u(this,U,!0),e!=="error"&&this.once("error",s),this.once(e,t)})}async done(){u(this,U,!0),await a(this,G,"f")}get currentMessage(){return a(this,L,"f")}async finalMessage(){return await this.done(),a(this,M,"m",qe).call(this)}async finalText(){return await this.done(),a(this,M,"m",Et).call(this)}_emit(e,...t){if(a(this,Z,"f"))return;e==="end"&&(u(this,Z,!0),a(this,be,"f").call(this));const s=a(this,I,"f")[e];if(s&&(a(this,I,"f")[e]=s.filter(r=>!r.once),s.forEach(({listener:r})=>r(...t))),e==="abort"){const r=t[0];!a(this,U,"f")&&!s?.length&&Promise.reject(r),a(this,Q,"f").call(this,r),a(this,Y,"f").call(this,r),this._emit("end");return}if(e==="error"){const r=t[0];!a(this,U,"f")&&!s?.length&&Promise.reject(r),a(this,Q,"f").call(this,r),a(this,Y,"f").call(this,r),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",a(this,M,"m",qe).call(this))}async _fromReadableStream(e,t){const s=t?.signal;let r;s&&(s.aborted&&this.controller.abort(),r=this.controller.abort.bind(this.controller),s.addEventListener("abort",r));try{a(this,M,"m",Ue).call(this),this._connected(null);const i=A.fromReadableStream(e,this.controller);for await(const o of i)a(this,M,"m",Ce).call(this,o);if(i.controller.signal?.aborted)throw new x;a(this,M,"m",Fe).call(this)}finally{s&&r&&s.removeEventListener("abort",r)}}[(L=new WeakMap,z=new WeakMap,ye=new WeakMap,Q=new WeakMap,G=new WeakMap,be=new WeakMap,Y=new WeakMap,I=new WeakMap,Z=new WeakMap,we=new WeakMap,Se=new WeakMap,U=new WeakMap,ke=new WeakMap,Me=new WeakMap,ve=new WeakMap,M=new WeakSet,qe=function(){if(this.receivedMessages.length===0)throw new d("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},Et=function(){if(this.receivedMessages.length===0)throw new d("stream ended without producing a Message with role=assistant");const t=this.receivedMessages.at(-1).content.filter(s=>s.type==="text").map(s=>s.text);if(t.length===0)throw new d("stream ended without producing a content block with type=text");return t.join(" ")},Ue=function(){this.ended||u(this,L,void 0)},Ce=function(t){if(this.ended)return;const s=a(this,M,"m",Tt).call(this,t);switch(this._emit("streamEvent",t,s),t.type){case"content_block_delta":{const r=s.content.at(-1);switch(t.delta.type){case"text_delta":{r.type==="text"&&this._emit("text",t.delta.text,r.text||"");break}case"citations_delta":{r.type==="text"&&this._emit("citation",t.delta.citation,r.citations??[]);break}case"input_json_delta":{Ot(r)&&r.input&&this._emit("inputJson",t.delta.partial_json,r.input);break}case"thinking_delta":{r.type==="thinking"&&this._emit("thinking",t.delta.thinking,r.thinking);break}case"signature_delta":{r.type==="thinking"&&this._emit("signature",r.signature);break}default:t.delta}break}case"message_stop":{this._addMessageParam(s),this._addMessage(s,!0);break}case"content_block_stop":{this._emit("contentBlock",s.content.at(-1));break}case"message_start":{u(this,L,s);break}}},Fe=function(){if(this.ended)throw new d("stream has ended, this shouldn't happen");const t=a(this,L,"f");if(!t)throw new d("request ended without sending any chunks");return u(this,L,void 0),t},Tt=function(t){let s=a(this,L,"f");if(t.type==="message_start"){if(s)throw new d(`Unexpected event order, got ${t.type} before receiving "message_stop"`);return t.message}if(!s)throw new d(`Unexpected event order, got ${t.type} before "message_start"`);switch(t.type){case"message_stop":return s;case"message_delta":return s.stop_reason=t.delta.stop_reason,s.stop_sequence=t.delta.stop_sequence,s.usage.output_tokens=t.usage.output_tokens,t.usage.input_tokens!=null&&(s.usage.input_tokens=t.usage.input_tokens),t.usage.cache_creation_input_tokens!=null&&(s.usage.cache_creation_input_tokens=t.usage.cache_creation_input_tokens),t.usage.cache_read_input_tokens!=null&&(s.usage.cache_read_input_tokens=t.usage.cache_read_input_tokens),t.usage.server_tool_use!=null&&(s.usage.server_tool_use=t.usage.server_tool_use),s;case"content_block_start":return s.content.push({...t.content_block}),s;case"content_block_delta":{const r=s.content.at(t.index);switch(t.delta.type){case"text_delta":{r?.type==="text"&&(s.content[t.index]={...r,text:(r.text||"")+t.delta.text});break}case"citations_delta":{r?.type==="text"&&(s.content[t.index]={...r,citations:[...r.citations??[],t.delta.citation]});break}case"input_json_delta":{if(r&&Ot(r)){let i=r[At]||"";i+=t.delta.partial_json;const o={...r};Object.defineProperty(o,At,{value:i,enumerable:!1,writable:!0}),i&&(o.input=Vt(i)),s.content[t.index]=o}break}case"thinking_delta":{r?.type==="thinking"&&(s.content[t.index]={...r,thinking:r.thinking+t.delta.thinking});break}case"signature_delta":{r?.type==="thinking"&&(s.content[t.index]={...r,signature:t.delta.signature});break}default:t.delta}return s}case"content_block_stop":return s}},Symbol.asyncIterator)](){const e=[],t=[];let s=!1;return this.on("streamEvent",r=>{const i=t.shift();i?i.resolve(r):e.push(r)}),this.on("end",()=>{s=!0;for(const r of t)r.resolve(void 0);t.length=0}),this.on("abort",r=>{s=!0;for(const i of t)i.reject(r);t.length=0}),this.on("error",r=>{s=!0;for(const i of t)i.reject(r);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((i,o)=>t.push({resolve:i,reject:o})).then(i=>i?{value:i,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new A(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}class Gt extends N{create(e,t){return this._client.post("/v1/messages/batches",{body:e,...t})}retrieve(e,t){return this._client.get(E`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/v1/messages/batches",ae,{query:e,...t})}delete(e,t){return this._client.delete(E`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(E`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){const s=await this.retrieve(e);if(!s.results_url)throw new d(`No batch \`results_url\`; Has it finished processing? ${s.processing_status} - ${s.id}`);return this._client.get(s.results_url,{...t,headers:p([{Accept:"application/binary"},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((r,i)=>Oe.fromResponse(i.response,i.controller))}}class it extends N{constructor(){super(...arguments),this.batches=new Gt(this._client)}create(e,t){e.model in $t&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${$t[e.model]} Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let s=this._client._options.timeout;if(!e.stream&&s==null){const r=zt[e.model]??void 0;s=this._client.calculateNonstreamingTimeout(e.max_tokens,r)}return this._client.post("/v1/messages",{body:e,timeout:s??6e5,...t,stream:e.stream??!1})}stream(e,t){return Ae.createMessage(this,e,t)}countTokens(e,t){return this._client.post("/v1/messages/count_tokens",{body:e,...t})}}const $t={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025"};it.Batches=Gt;class Yt extends N{retrieve(e,t={},s){const{betas:r}=t??{};return this._client.get(E`/v1/models/${e}`,{...s,headers:p([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},s?.headers])})}list(e={},t){const{betas:s,...r}=e??{};return this._client.getAPIList("/v1/models",ae,{query:r,...t,headers:p([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers])})}}const xe=n=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[n]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(n)?.trim()};var Je,at,Pe,Zt;class g{constructor({baseURL:e=xe("ANTHROPIC_BASE_URL"),apiKey:t=xe("ANTHROPIC_API_KEY")??null,authToken:s=xe("ANTHROPIC_AUTH_TOKEN")??null,...r}={}){Je.add(this),Pe.set(this,void 0);const i={apiKey:t,authToken:s,...r,baseURL:e||"https://api.anthropic.com"};if(!i.dangerouslyAllowBrowser&&as())throw new d(`It looks like you're running in a browser-like environment. This is disabled by default, as it risks exposing your secret API credentials to attackers. If you understand the risks and have appropriate mitigations in place, you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g., new Anthropic({ apiKey, dangerouslyAllowBrowser: true }); `);this.baseURL=i.baseURL,this.timeout=i.timeout??at.DEFAULT_TIMEOUT,this.logger=i.logger??console;const o="warn";this.logLevel=o,this.logLevel=yt(i.logLevel,"ClientOptions.logLevel",this)??yt(xe("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??o,this.fetchOptions=i.fetchOptions,this.maxRetries=i.maxRetries??2,this.fetch=i.fetch??hs(),u(this,Pe,fs),this._options=i,this.apiKey=t,this.authToken=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(this.apiKey&&e.get("x-api-key"))&&!t.has("x-api-key")&&!(this.authToken&&e.get("authorization"))&&!t.has("authorization"))throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}authHeaders(e){return p([this.apiKeyAuth(e),this.bearerAuth(e)])}apiKeyAuth(e){if(this.apiKey!=