UNPKG

iobroker.javascript

Version:
10 lines 109 kB
import{c as cr,j as E}from"./createSvgIcon-C_ElRFrf.js";import{i as Z}from"./iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js";import{i as j,c as hn,C as lr}from"./index-DeFm7TiX.js";import{i as U,h as ur}from"./index-BUU5hWiL.js";import{_ as hr}from"./preload-helper-Dp1pzeXC.js";import{C as dr,t as fr}from"./index-BompUVvy.js";import mr from"./ScriptEditorVanillaMonaco-BWe9MiKn.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js";import"./inheritsLoose-CLw44UEv.js";const pr=cr(E.jsx("path",{d:"M11.07 12.85c.77-1.39 2.25-2.21 3.11-3.44.91-1.29.4-3.7-2.18-3.7-1.69 0-2.52 1.28-2.87 2.34L6.54 6.96C7.25 4.83 9.18 3 11.99 3c2.35 0 3.96 1.07 4.78 2.41.7 1.15 1.11 3.3.03 4.9-1.2 1.77-2.35 2.31-2.97 3.45-.25.46-.35.76-.35 2.24h-2.89c-.01-.78-.13-2.05.48-3.15M14 20c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2"}),"QuestionMark");function C(s,e,t,n,r){if(typeof e=="function"?s!==e||!0:!e.has(s))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(s,t),t}function o(s,e,t,n){if(t==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?s!==e||!n:!e.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?n:t==="a"?n.call(s):n?n.value:e.get(s)}let Dn=function(){const{crypto:s}=globalThis;if(s!=null&&s.randomUUID)return Dn=s.randomUUID.bind(s),s.randomUUID();const e=new Uint8Array(1),t=s?()=>s.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^t()&15>>+n/4).toString(16))};function Ot(s){return typeof s=="object"&&s!==null&&("name"in s&&s.name==="AbortError"||"message"in s&&String(s.message).includes("FetchRequestCanceledException"))}const Et=s=>{if(s instanceof Error)return s;if(typeof s=="object"&&s!==null){try{if(Object.prototype.toString.call(s)==="[object Error]"){const e=new Error(s.message,s.cause?{cause:s.cause}:{});return s.stack&&(e.stack=s.stack),s.cause&&!e.cause&&(e.cause=s.cause),s.name&&(e.name=s.name),e}}catch{}try{return new Error(JSON.stringify(s))}catch{}}return new Error(s)};class I extends Error{}class H extends I{constructor(e,t,n,r){super(`${H.makeMessage(e,t,n)}`),this.status=e,this.headers=r,this.requestID=r==null?void 0:r.get("x-request-id"),this.error=t;const a=t;this.code=a==null?void 0:a.code,this.param=a==null?void 0:a.param,this.type=a==null?void 0:a.type}static makeMessage(e,t,n){const r=t!=null&&t.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,t,n,r){if(!e||!r)return new mt({message:n,cause:Et(t)});const a=t==null?void 0:t.error;return e===400?new Bn(e,a,n,r):e===401?new Wn(e,a,n,r):e===403?new Un(e,a,n,r):e===404?new qn(e,a,n,r):e===409?new Jn(e,a,n,r):e===422?new Hn(e,a,n,r):e===429?new Xn(e,a,n,r):e>=500?new Kn(e,a,n,r):new H(e,a,n,r)}}class z extends H{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class mt extends H{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class qt extends mt{constructor({message:e}={}){super({message:e??"Request timed out."})}}class Bn extends H{}class Wn extends H{}class Un extends H{}class qn extends H{}class Jn extends H{}class Hn extends H{}class Xn extends H{}class Kn extends H{}class Vn extends I{constructor(){super("Could not parse response content as the length limit was reached")}}class Gn extends I{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class Re extends Error{constructor(e){super(e)}}const gr=/^[a-z][a-z0-9+.-]*:/i,_r=s=>gr.test(s);let K=s=>(K=Array.isArray,K(s)),dn=K;function yr(s){return typeof s!="object"?{}:s??{}}function wr(s){if(!s)return!0;for(const e in s)return!1;return!0}function br(s,e){return Object.prototype.hasOwnProperty.call(s,e)}function St(s){return s!=null&&typeof s=="object"&&!Array.isArray(s)}const Sr=(s,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new I(`${s} must be an integer`);if(e<0)throw new I(`${s} must be a positive integer`);return e},xr=s=>{try{return JSON.parse(s)}catch{return}},Be=s=>new Promise(e=>setTimeout(e,s)),we="5.10.2",Ar=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function vr(){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 Cr=()=>{var t;const s=vr();if(s==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":we,"X-Stainless-OS":mn(Deno.build.os),"X-Stainless-Arch":fn(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:((t=Deno.version)==null?void 0:t.deno)??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":we,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(s==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":we,"X-Stainless-OS":mn(globalThis.process.platform??"unknown"),"X-Stainless-Arch":fn(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};const e=Ir();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":we,"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":we,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function Ir(){if(typeof navigator>"u"||!navigator)return null;const s=[{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 s){const n=t.exec(navigator.userAgent);if(n){const r=n[1]||0,a=n[2]||0,i=n[3]||0;return{browser:e,version:`${r}.${a}.${i}`}}}return null}const fn=s=>s==="x32"?"x32":s==="x86_64"||s==="x64"?"x64":s==="arm"?"arm":s==="aarch64"||s==="arm64"?"arm64":s?`other:${s}`:"unknown",mn=s=>(s=s.toLowerCase(),s.includes("ios")?"iOS":s==="android"?"Android":s==="darwin"?"MacOS":s==="win32"?"Windows":s==="freebsd"?"FreeBSD":s==="openbsd"?"OpenBSD":s==="linux"?"Linux":s?`Other:${s}`:"Unknown");let pn;const Rr=()=>pn??(pn=Cr());function kr(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Qn(...s){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(...s)}function zn(s){let e=Symbol.asyncIterator in s?s[Symbol.asyncIterator]():s[Symbol.iterator]();return Qn({start(){},async pull(t){const{done:n,value:r}=await e.next();n?t.close():t.enqueue(r)},async cancel(){var t;await((t=e.return)==null?void 0:t.call(e))}})}function Yn(s){if(s[Symbol.asyncIterator])return s;const e=s.getReader();return{async next(){try{const t=await e.read();return t!=null&&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 $r(s){var n,r;if(s===null||typeof s!="object")return;if(s[Symbol.asyncIterator]){await((r=(n=s[Symbol.asyncIterator]()).return)==null?void 0:r.call(n));return}const e=s.getReader(),t=e.cancel();e.releaseLock(),await t}const Or=({headers:s,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)}),Zn="RFC3986",es=s=>String(s),gn={RFC1738:s=>String(s).replace(/%20/g,"+"),RFC3986:es},Er="RFC1738";let Pt=(s,e)=>(Pt=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),Pt(s,e));const ee=(()=>{const s=[];for(let e=0;e<256;++e)s.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return s})(),xt=1024,Pr=(s,e,t,n,r)=>{if(s.length===0)return s;let a=s;if(typeof s=="symbol"?a=Symbol.prototype.toString.call(s):typeof s!="string"&&(a=String(s)),t==="iso-8859-1")return escape(a).replace(/%u[0-9a-f]{4}/gi,function(c){return"%26%23"+parseInt(c.slice(2),16)+"%3B"});let i="";for(let c=0;c<a.length;c+=xt){const l=a.length>=xt?a.slice(c,c+xt):a,u=[];for(let m=0;m<l.length;++m){let h=l.charCodeAt(m);if(h===45||h===46||h===95||h===126||h>=48&&h<=57||h>=65&&h<=90||h>=97&&h<=122||r===Er&&(h===40||h===41)){u[u.length]=l.charAt(m);continue}if(h<128){u[u.length]=ee[h];continue}if(h<2048){u[u.length]=ee[192|h>>6]+ee[128|h&63];continue}if(h<55296||h>=57344){u[u.length]=ee[224|h>>12]+ee[128|h>>6&63]+ee[128|h&63];continue}m+=1,h=65536+((h&1023)<<10|l.charCodeAt(m)&1023),u[u.length]=ee[240|h>>18]+ee[128|h>>12&63]+ee[128|h>>6&63]+ee[128|h&63]}i+=u.join("")}return i};function Tr(s){return!s||typeof s!="object"?!1:!!(s.constructor&&s.constructor.isBuffer&&s.constructor.isBuffer(s))}function _n(s,e){if(K(s)){const t=[];for(let n=0;n<s.length;n+=1)t.push(e(s[n]));return t}return e(s)}const ts={brackets(s){return String(s)+"[]"},comma:"comma",indices(s,e){return String(s)+"["+e+"]"},repeat(s){return String(s)}},ns=function(s,e){Array.prototype.push.apply(s,K(e)?e:[e])};let yn;const B={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Pr,encodeValuesOnly:!1,format:Zn,formatter:es,indices:!1,serializeDate(s){return(yn??(yn=Function.prototype.call.bind(Date.prototype.toISOString)))(s)},skipNulls:!1,strictNullHandling:!1};function Mr(s){return typeof s=="string"||typeof s=="number"||typeof s=="boolean"||typeof s=="symbol"||typeof s=="bigint"}const At={};function ss(s,e,t,n,r,a,i,c,l,u,m,h,g,d,b,w,A,O){let p=s,y=O,_=0,v=!1;for(;(y=y.get(At))!==void 0&&!v;){const T=y.get(s);if(_+=1,typeof T<"u"){if(T===_)throw new RangeError("Cyclic object value");v=!0}typeof y.get(At)>"u"&&(_=0)}if(typeof u=="function"?p=u(e,p):p instanceof Date?p=g==null?void 0:g(p):t==="comma"&&K(p)&&(p=_n(p,function(T){return T instanceof Date?g==null?void 0:g(T):T})),p===null){if(a)return l&&!w?l(e,B.encoder,A,"key",d):e;p=""}if(Mr(p)||Tr(p)){if(l){const T=w?e:l(e,B.encoder,A,"key",d);return[(b==null?void 0:b(T))+"="+(b==null?void 0:b(l(p,B.encoder,A,"value",d)))]}return[(b==null?void 0:b(e))+"="+(b==null?void 0:b(String(p)))]}const $=[];if(typeof p>"u")return $;let R;if(t==="comma"&&K(p))w&&l&&(p=_n(p,l)),R=[{value:p.length>0?p.join(",")||null:void 0}];else if(K(u))R=u;else{const T=Object.keys(p);R=m?T.sort(m):T}const F=c?String(e).replace(/\./g,"%2E"):String(e),x=n&&K(p)&&p.length===1?F+"[]":F;if(r&&K(p)&&p.length===0)return x+"[]";for(let T=0;T<R.length;++T){const M=R[T],se=typeof M=="object"&&typeof M.value<"u"?M.value:p[M];if(i&&se===null)continue;const me=h&&c?M.replace(/\./g,"%2E"):M,N=K(p)?typeof t=="function"?t(x,me):x:x+(h?"."+me:"["+me+"]");O.set(s,_);const ie=new WeakMap;ie.set(At,O),ns($,ss(se,N,t,n,r,a,i,c,t==="comma"&&w&&K(p)?null:l,u,m,h,g,d,b,w,A,ie))}return $}function Nr(s=B){if(typeof s.allowEmptyArrays<"u"&&typeof s.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof s.encodeDotInKeys<"u"&&typeof s.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(s.encoder!==null&&typeof s.encoder<"u"&&typeof s.encoder!="function")throw new TypeError("Encoder has to be a function.");const e=s.charset||B.charset;if(typeof s.charset<"u"&&s.charset!=="utf-8"&&s.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let t=Zn;if(typeof s.format<"u"){if(!Pt(gn,s.format))throw new TypeError("Unknown format option provided.");t=s.format}const n=gn[t];let r=B.filter;(typeof s.filter=="function"||K(s.filter))&&(r=s.filter);let a;if(s.arrayFormat&&s.arrayFormat in ts?a=s.arrayFormat:"indices"in s?a=s.indices?"indices":"repeat":a=B.arrayFormat,"commaRoundTrip"in s&&typeof s.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");const i=typeof s.allowDots>"u"?s.encodeDotInKeys?!0:B.allowDots:!!s.allowDots;return{addQueryPrefix:typeof s.addQueryPrefix=="boolean"?s.addQueryPrefix:B.addQueryPrefix,allowDots:i,allowEmptyArrays:typeof s.allowEmptyArrays=="boolean"?!!s.allowEmptyArrays:B.allowEmptyArrays,arrayFormat:a,charset:e,charsetSentinel:typeof s.charsetSentinel=="boolean"?s.charsetSentinel:B.charsetSentinel,commaRoundTrip:!!s.commaRoundTrip,delimiter:typeof s.delimiter>"u"?B.delimiter:s.delimiter,encode:typeof s.encode=="boolean"?s.encode:B.encode,encodeDotInKeys:typeof s.encodeDotInKeys=="boolean"?s.encodeDotInKeys:B.encodeDotInKeys,encoder:typeof s.encoder=="function"?s.encoder:B.encoder,encodeValuesOnly:typeof s.encodeValuesOnly=="boolean"?s.encodeValuesOnly:B.encodeValuesOnly,filter:r,format:t,formatter:n,serializeDate:typeof s.serializeDate=="function"?s.serializeDate:B.serializeDate,skipNulls:typeof s.skipNulls=="boolean"?s.skipNulls:B.skipNulls,sort:typeof s.sort=="function"?s.sort:null,strictNullHandling:typeof s.strictNullHandling=="boolean"?s.strictNullHandling:B.strictNullHandling}}function jr(s,e={}){let t=s;const n=Nr(e);let r,a;typeof n.filter=="function"?(a=n.filter,t=a("",t)):K(n.filter)&&(a=n.filter,r=a);const i=[];if(typeof t!="object"||t===null)return"";const c=ts[n.arrayFormat],l=c==="comma"&&n.commaRoundTrip;r||(r=Object.keys(t)),n.sort&&r.sort(n.sort);const u=new WeakMap;for(let g=0;g<r.length;++g){const d=r[g];n.skipNulls&&t[d]===null||ns(i,ss(t[d],d,c,l,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,u))}const m=i.join(n.delimiter);let h=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?h+="utf8=%26%2310003%3B&":h+="utf8=%E2%9C%93&"),m.length>0?h+m:""}function Fr(s){let e=0;for(const r of s)e+=r.length;const t=new Uint8Array(e);let n=0;for(const r of s)t.set(r,n),n+=r.length;return t}let wn;function Jt(s){let e;return(wn??(e=new globalThis.TextEncoder,wn=e.encode.bind(e)))(s)}let bn;function Sn(s){let e;return(bn??(e=new globalThis.TextDecoder,bn=e.decode.bind(e)))(s)}var V,G;class pt{constructor(){V.set(this,void 0),G.set(this,void 0),C(this,V,new Uint8Array),C(this,G,null)}decode(e){if(e==null)return[];const t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Jt(e):e;C(this,V,Fr([o(this,V,"f"),t]));const n=[];let r;for(;(r=Lr(o(this,V,"f"),o(this,G,"f")))!=null;){if(r.carriage&&o(this,G,"f")==null){C(this,G,r.index);continue}if(o(this,G,"f")!=null&&(r.index!==o(this,G,"f")+1||r.carriage)){n.push(Sn(o(this,V,"f").subarray(0,o(this,G,"f")-1))),C(this,V,o(this,V,"f").subarray(o(this,G,"f"))),C(this,G,null);continue}const a=o(this,G,"f")!==null?r.preceding-1:r.preceding,i=Sn(o(this,V,"f").subarray(0,a));n.push(i),C(this,V,o(this,V,"f").subarray(r.index)),C(this,G,null)}return n}flush(){return o(this,V,"f").length?this.decode(` `):[]}}V=new WeakMap,G=new WeakMap;pt.NEWLINE_CHARS=new Set([` `,"\r"]);pt.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Lr(s,e){for(let r=e??0;r<s.length;r++){if(s[r]===10)return{preceding:r,index:r+1,carriage:!1};if(s[r]===13)return{preceding:r,index:r+1,carriage:!0}}return null}function Dr(s){for(let n=0;n<s.length-1;n++){if(s[n]===10&&s[n+1]===10||s[n]===13&&s[n+1]===13)return n+2;if(s[n]===13&&s[n+1]===10&&n+3<s.length&&s[n+2]===13&&s[n+3]===10)return n+4}return-1}const ot={off:0,error:200,warn:300,info:400,debug:500},xn=(s,e,t)=>{if(s){if(br(ot,s))return s;q(t).warn(`${e} was set to ${JSON.stringify(s)}, expected one of ${JSON.stringify(Object.keys(ot))}`)}};function ke(){}function Je(s,e,t){return!e||ot[s]>ot[t]?ke:e[s].bind(e)}const Br={error:ke,warn:ke,info:ke,debug:ke};let An=new WeakMap;function q(s){const e=s.logger,t=s.logLevel??"off";if(!e)return Br;const n=An.get(e);if(n&&n[0]===t)return n[1];const r={error:Je("error",e,t),warn:Je("warn",e,t),info:Je("info",e,t),debug:Je("debug",e,t)};return An.set(e,[t,r]),r}const le=s=>(s.options&&(s.options={...s.options},delete s.options.headers),s.headers&&(s.headers=Object.fromEntries((s.headers instanceof Headers?[...s.headers]:Object.entries(s.headers)).map(([e,t])=>[e,e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in s&&(s.retryOfRequestLogID&&(s.retryOf=s.retryOfRequestLogID),delete s.retryOfRequestLogID),s);var Ie;class ne{constructor(e,t,n){this.iterator=e,Ie.set(this,void 0),this.controller=t,C(this,Ie,n)}static fromSSEResponse(e,t,n){let r=!1;const a=n?q(n):console;async function*i(){if(r)throw new I("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let c=!1;try{for await(const l of Wr(e,t))if(!c){if(l.data.startsWith("[DONE]")){c=!0;continue}if(l.event===null||l.event.startsWith("response.")||l.event.startsWith("image_edit.")||l.event.startsWith("image_generation.")||l.event.startsWith("transcript.")){let u;try{u=JSON.parse(l.data)}catch(m){throw a.error("Could not parse message into JSON:",l.data),a.error("From chunk:",l.raw),m}if(u&&u.error)throw new H(void 0,u.error,void 0,e.headers);yield u}else{let u;try{u=JSON.parse(l.data)}catch(m){throw console.error("Could not parse message into JSON:",l.data),console.error("From chunk:",l.raw),m}if(l.event=="error")throw new H(void 0,u.error,u.message,void 0);yield{event:l.event,data:u}}}c=!0}catch(l){if(Ot(l))return;throw l}finally{c||t.abort()}}return new ne(i,t,n)}static fromReadableStream(e,t,n){let r=!1;async function*a(){const c=new pt,l=Yn(e);for await(const u of l)for(const m of c.decode(u))yield m;for(const u of c.flush())yield u}async function*i(){if(r)throw new I("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");r=!0;let c=!1;try{for await(const l of a())c||l&&(yield JSON.parse(l));c=!0}catch(l){if(Ot(l))return;throw l}finally{c||t.abort()}}return new ne(i,t,n)}[(Ie=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){const e=[],t=[],n=this.iterator(),r=a=>({next:()=>{if(a.length===0){const i=n.next();e.push(i),t.push(i)}return a.shift()}});return[new ne(()=>r(e),this.controller,o(this,Ie,"f")),new ne(()=>r(t),this.controller,o(this,Ie,"f"))]}toReadableStream(){const e=this;let t;return Qn({async start(){t=e[Symbol.asyncIterator]()},async pull(n){try{const{value:r,done:a}=await t.next();if(a)return n.close();const i=Jt(JSON.stringify(r)+` `);n.enqueue(i)}catch(r){n.error(r)}},async cancel(){var n;await((n=t.return)==null?void 0:n.call(t))}})}}async function*Wr(s,e){if(!s.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new I("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 I("Attempted to iterate over a response with no body");const t=new qr,n=new pt,r=Yn(s.body);for await(const a of Ur(r))for(const i of n.decode(a)){const c=t.decode(i);c&&(yield c)}for(const a of n.flush()){const i=t.decode(a);i&&(yield i)}}async function*Ur(s){let e=new Uint8Array;for await(const t of s){if(t==null)continue;const n=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?Jt(t):t;let r=new Uint8Array(e.length+n.length);r.set(e),r.set(n,e.length),e=r;let a;for(;(a=Dr(e))!==-1;)yield e.slice(0,a),e=e.slice(a)}e.length>0&&(yield e)}class qr{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 a={event:this.event,data:this.data.join(` `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,n,r]=Jr(e,":");return r.startsWith(" ")&&(r=r.substring(1)),t==="event"?this.event=r:t==="data"&&this.data.push(r),null}}function Jr(s,e){const t=s.indexOf(e);return t!==-1?[s.substring(0,t),e,s.substring(t+e.length)]:[s,"",""]}async function rs(s,e){const{response:t,requestLogID:n,retryOfRequestLogID:r,startTime:a}=e,i=await(async()=>{var h;if(e.options.stream)return q(s).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller,s):ne.fromSSEResponse(t,e.controller,s);if(t.status===204)return null;if(e.options.__binaryResponse)return t;const c=t.headers.get("content-type"),l=(h=c==null?void 0:c.split(";")[0])==null?void 0:h.trim();if((l==null?void 0:l.includes("application/json"))||(l==null?void 0:l.endsWith("+json"))){const g=await t.json();return as(g,t)}return await t.text()})();return q(s).debug(`[${n}] response parsed`,le({retryOfRequestLogID:r,url:t.url,status:t.status,body:i,durationMs:Date.now()-a})),i}function as(s,e){return!s||typeof s!="object"||Array.isArray(s)?s:Object.defineProperty(s,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var $e;class gt extends Promise{constructor(e,t,n=rs){super(r=>{r(null)}),this.responsePromise=t,this.parseResponse=n,$e.set(this,void 0),C(this,$e,e)}_thenUnwrap(e){return new gt(o(this,$e,"f"),this.responsePromise,async(t,n)=>as(e(await this.parseResponse(t,n),n),n.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("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(o(this,$e,"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)}}$e=new WeakMap;var He;class is{constructor(e,t,n,r){He.set(this,void 0),C(this,He,e),this.options=r,this.response=t,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){const e=this.nextPageRequestOptions();if(!e)throw new I("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await o(this,He,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(He=new WeakMap,Symbol.asyncIterator)](){for await(const e of this.iterPages())for(const t of e.getPaginatedItems())yield t}}class Hr extends gt{constructor(e,t,n){super(e,t,async(r,a)=>new n(r,a.response,await rs(r,a),a.options))}async*[Symbol.asyncIterator](){const e=await this;for await(const t of e)yield t}}class _t extends is{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class L extends is{constructor(e,t,n,r){super(e,t,n,r),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){var n;const e=this.getPaginatedItems(),t=(n=e[e.length-1])==null?void 0:n.id;return t?{...this.options,query:{...yr(this.options.query),after:t}}:null}}const os=()=>{var s;if(typeof File>"u"){const{process:e}=globalThis,t=typeof((s=e==null?void 0:e.versions)==null?void 0:s.node)=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function je(s,e,t){return os(),new File(s,e??"unknown_file",t)}function Ye(s){return(typeof s=="object"&&s!==null&&("name"in s&&s.name&&String(s.name)||"url"in s&&s.url&&String(s.url)||"filename"in s&&s.filename&&String(s.filename)||"path"in s&&s.path&&String(s.path))||"").split(/[\\/]/).pop()||void 0}const cs=s=>s!=null&&typeof s=="object"&&typeof s[Symbol.asyncIterator]=="function",fe=async(s,e)=>({...s,body:await Kr(s.body,e)}),vn=new WeakMap;function Xr(s){const e=typeof s=="function"?s:s.fetch,t=vn.get(e);if(t)return t;const n=(async()=>{try{const r="Response"in e?e.Response:(await e("data:,")).constructor,a=new FormData;return a.toString()!==await new r(a).text()}catch{return!0}})();return vn.set(e,n),n}const Kr=async(s,e)=>{if(!await Xr(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(s||{}).map(([n,r])=>Tt(t,n,r))),t},Vr=s=>s instanceof Blob&&"name"in s,Tt=async(s,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")s.append(e,String(t));else if(t instanceof Response)s.append(e,je([await t.blob()],Ye(t)));else if(cs(t))s.append(e,je([await new Response(zn(t)).blob()],Ye(t)));else if(Vr(t))s.append(e,t,Ye(t));else if(Array.isArray(t))await Promise.all(t.map(n=>Tt(s,e+"[]",n)));else if(typeof t=="object")await Promise.all(Object.entries(t).map(([n,r])=>Tt(s,`${e}[${n}]`,r)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${t} instead`)}},ls=s=>s!=null&&typeof s=="object"&&typeof s.size=="number"&&typeof s.type=="string"&&typeof s.text=="function"&&typeof s.slice=="function"&&typeof s.arrayBuffer=="function",Gr=s=>s!=null&&typeof s=="object"&&typeof s.name=="string"&&typeof s.lastModified=="number"&&ls(s),Qr=s=>s!=null&&typeof s=="object"&&typeof s.url=="string"&&typeof s.blob=="function";async function zr(s,e,t){if(os(),s=await s,Gr(s))return s instanceof File?s:je([await s.arrayBuffer()],s.name);if(Qr(s)){const r=await s.blob();return e||(e=new URL(s.url).pathname.split(/[\\/]/).pop()),je(await Mt(r),e,t)}const n=await Mt(s);if(e||(e=Ye(s)),!(t!=null&&t.type)){const r=n.find(a=>typeof a=="object"&&"type"in a&&a.type);typeof r=="string"&&(t={...t,type:r})}return je(n,e,t)}async function Mt(s){var t;let e=[];if(typeof s=="string"||ArrayBuffer.isView(s)||s instanceof ArrayBuffer)e.push(s);else if(ls(s))e.push(s instanceof Blob?s:await s.arrayBuffer());else if(cs(s))for await(const n of s)e.push(...await Mt(n));else{const n=(t=s==null?void 0:s.constructor)==null?void 0:t.name;throw new Error(`Unexpected data type: ${typeof s}${n?`; constructor: ${n}`:""}${Yr(s)}`)}return e}function Yr(s){return typeof s!="object"||s===null?"":`; props: [${Object.getOwnPropertyNames(s).map(t=>`"${t}"`).join(", ")}]`}class k{constructor(e){this._client=e}}function us(s){return s.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}const Cn=Object.freeze(Object.create(null)),Zr=(s=us)=>function(t,...n){if(t.length===1)return t[0];let r=!1;const a=[],i=t.reduce((m,h,g)=>{var w;/[?#]/.test(h)&&(r=!0);const d=n[g];let b=(r?encodeURIComponent:s)(""+d);return g!==n.length&&(d==null||typeof d=="object"&&d.toString===((w=Object.getPrototypeOf(Object.getPrototypeOf(d.hasOwnProperty??Cn)??Cn))==null?void 0:w.toString))&&(b=d+"",a.push({start:m.length+h.length,length:b.length,error:`Value of type ${Object.prototype.toString.call(d).slice(8,-1)} is not a valid path parameter`})),m+h+(g===n.length?"":b)},""),c=i.split(/[?#]/,1)[0],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;let u;for(;(u=l.exec(c))!==null;)a.push({start:u.index,length:u[0].length,error:`Value "${u[0]}" can't be safely passed as a path parameter`});if(a.sort((m,h)=>m.start-h.start),a.length>0){let m=0;const h=a.reduce((g,d)=>{const b=" ".repeat(d.start-m),w="^".repeat(d.length);return m=d.start+d.length,g+b+w},"");throw new I(`Path parameters result in path with invalid segments: ${a.map(g=>g.error).join(` `)} ${i} ${h}`)}return i},f=Zr(us);let hs=class extends k{list(e,t={},n){return this._client.getAPIList(f`/chat/completions/${e}/messages`,L,{query:t,...n})}};function ea(s){return typeof s.parse=="function"}const ct=s=>(s==null?void 0:s.role)==="assistant",ds=s=>(s==null?void 0:s.role)==="tool";var Nt,Ze,et,Oe,Ee,tt,Pe,ae,Te,lt,ut,be,fs;class Ht{constructor(){Nt.add(this),this.controller=new AbortController,Ze.set(this,void 0),et.set(this,()=>{}),Oe.set(this,()=>{}),Ee.set(this,void 0),tt.set(this,()=>{}),Pe.set(this,()=>{}),ae.set(this,{}),Te.set(this,!1),lt.set(this,!1),ut.set(this,!1),be.set(this,!1),C(this,Ze,new Promise((e,t)=>{C(this,et,e,"f"),C(this,Oe,t,"f")})),C(this,Ee,new Promise((e,t)=>{C(this,tt,e,"f"),C(this,Pe,t,"f")})),o(this,Ze,"f").catch(()=>{}),o(this,Ee,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},o(this,Nt,"m",fs).bind(this))},0)}_connected(){this.ended||(o(this,et,"f").call(this),this._emit("connect"))}get ended(){return o(this,Te,"f")}get errored(){return o(this,lt,"f")}get aborted(){return o(this,ut,"f")}abort(){this.controller.abort()}on(e,t){return(o(this,ae,"f")[e]||(o(this,ae,"f")[e]=[])).push({listener:t}),this}off(e,t){const n=o(this,ae,"f")[e];if(!n)return this;const r=n.findIndex(a=>a.listener===t);return r>=0&&n.splice(r,1),this}once(e,t){return(o(this,ae,"f")[e]||(o(this,ae,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,n)=>{C(this,be,!0),e!=="error"&&this.once("error",n),this.once(e,t)})}async done(){C(this,be,!0),await o(this,Ee,"f")}_emit(e,...t){if(o(this,Te,"f"))return;e==="end"&&(C(this,Te,!0),o(this,tt,"f").call(this));const n=o(this,ae,"f")[e];if(n&&(o(this,ae,"f")[e]=n.filter(r=>!r.once),n.forEach(({listener:r})=>r(...t))),e==="abort"){const r=t[0];!o(this,be,"f")&&!(n!=null&&n.length)&&Promise.reject(r),o(this,Oe,"f").call(this,r),o(this,Pe,"f").call(this,r),this._emit("end");return}if(e==="error"){const r=t[0];!o(this,be,"f")&&!(n!=null&&n.length)&&Promise.reject(r),o(this,Oe,"f").call(this,r),o(this,Pe,"f").call(this,r),this._emit("end")}}_emitFinal(){}}Ze=new WeakMap,et=new WeakMap,Oe=new WeakMap,Ee=new WeakMap,tt=new WeakMap,Pe=new WeakMap,ae=new WeakMap,Te=new WeakMap,lt=new WeakMap,ut=new WeakMap,be=new WeakMap,Nt=new WeakSet,fs=function(e){if(C(this,lt,!0),e instanceof Error&&e.name==="AbortError"&&(e=new z),e instanceof z)return C(this,ut,!0),this._emit("abort",e);if(e instanceof I)return this._emit("error",e);if(e instanceof Error){const t=new I(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new I(String(e)))};function Xt(s){return(s==null?void 0:s.$brand)==="auto-parseable-response-format"}function We(s){return(s==null?void 0:s.$brand)==="auto-parseable-tool"}function ta(s,e){return!e||!ms(e)?{...s,choices:s.choices.map(t=>({...t,message:{...t.message,parsed:null,...t.message.tool_calls?{tool_calls:t.message.tool_calls}:void 0}}))}:Kt(s,e)}function Kt(s,e){const t=s.choices.map(n=>{var r;if(n.finish_reason==="length")throw new Vn;if(n.finish_reason==="content_filter")throw new Gn;return{...n,message:{...n.message,...n.message.tool_calls?{tool_calls:((r=n.message.tool_calls)==null?void 0:r.map(a=>sa(e,a)))??void 0}:void 0,parsed:n.message.content&&!n.message.refusal?na(e,n.message.content):null}}});return{...s,choices:t}}function na(s,e){var t,n;return((t=s.response_format)==null?void 0:t.type)!=="json_schema"?null:((n=s.response_format)==null?void 0:n.type)==="json_schema"?"$parseRaw"in s.response_format?s.response_format.$parseRaw(e):JSON.parse(e):null}function sa(s,e){var n;const t=(n=s.tools)==null?void 0:n.find(r=>{var a;return((a=r.function)==null?void 0:a.name)===e.function.name});return{...e,function:{...e.function,parsed_arguments:We(t)?t.$parseRaw(e.function.arguments):t!=null&&t.function.strict?JSON.parse(e.function.arguments):null}}}function ra(s,e){var n;if(!s)return!1;const t=(n=s.tools)==null?void 0:n.find(r=>{var a;return((a=r.function)==null?void 0:a.name)===e.function.name});return We(t)||(t==null?void 0:t.function.strict)||!1}function ms(s){var e;return Xt(s.response_format)?!0:((e=s.tools)==null?void 0:e.some(t=>We(t)||t.type==="function"&&t.function.strict===!0))??!1}function aa(s){for(const e of s??[]){if(e.type!=="function")throw new I(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new I(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var X,jt,ht,Ft,Lt,Dt,ps,gs;const ia=10;class _s extends Ht{constructor(){super(...arguments),X.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){var n;this._chatCompletions.push(e),this._emit("chatCompletion",e);const t=(n=e.choices[0])==null?void 0:n.message;return t&&this._addMessage(t),e}_addMessage(e,t=!0){if("content"in e||(e.content=null),this.messages.push(e),t){if(this._emit("message",e),ds(e)&&e.content)this._emit("functionToolCallResult",e.content);else if(ct(e)&&e.tool_calls)for(const n of e.tool_calls)n.type==="function"&&this._emit("functionToolCall",n.function)}}async finalChatCompletion(){await this.done();const e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new I("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),o(this,X,"m",jt).call(this)}async finalMessage(){return await this.done(),o(this,X,"m",ht).call(this)}async finalFunctionToolCall(){return await this.done(),o(this,X,"m",Ft).call(this)}async finalFunctionToolCallResult(){return await this.done(),o(this,X,"m",Lt).call(this)}async totalUsage(){return await this.done(),o(this,X,"m",Dt).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){const e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);const t=o(this,X,"m",ht).call(this);t&&this._emit("finalMessage",t);const n=o(this,X,"m",jt).call(this);n&&this._emit("finalContent",n);const r=o(this,X,"m",Ft).call(this);r&&this._emit("finalFunctionToolCall",r);const a=o(this,X,"m",Lt).call(this);a!=null&&this._emit("finalFunctionToolCallResult",a),this._chatCompletions.some(i=>i.usage)&&this._emit("totalUsage",o(this,X,"m",Dt).call(this))}async _createChatCompletion(e,t,n){const r=n==null?void 0:n.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),o(this,X,"m",ps).call(this,t);const a=await e.chat.completions.create({...t,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Kt(a,t))}async _runChatCompletion(e,t,n){for(const r of t.messages)this._addMessage(r,!1);return await this._createChatCompletion(e,t,n)}async _runTools(e,t,n){var d,b,w;const r="tool",{tool_choice:a="auto",stream:i,...c}=t,l=typeof a!="string"&&((d=a==null?void 0:a.function)==null?void 0:d.name),{maxChatCompletions:u=ia}=n||{},m=t.tools.map(A=>{if(We(A)){if(!A.$callback)throw new I("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:A.$callback,name:A.function.name,description:A.function.description||"",parameters:A.function.parameters,parse:A.$parseRaw,strict:!0}}}return A}),h={};for(const A of m)A.type==="function"&&(h[A.function.name||A.function.function.name]=A.function);const g="tools"in t?m.map(A=>A.type==="function"?{type:"function",function:{name:A.function.name||A.function.function.name,parameters:A.function.parameters,description:A.function.description,strict:A.function.strict}}:A):void 0;for(const A of t.messages)this._addMessage(A,!1);for(let A=0;A<u;++A){const p=(b=(await this._createChatCompletion(e,{...c,tool_choice:a,tools:g,messages:[...this.messages]},n)).choices[0])==null?void 0:b.message;if(!p)throw new I("missing message in ChatCompletion response");if(!((w=p.tool_calls)!=null&&w.length))return;for(const y of p.tool_calls){if(y.type!=="function")continue;const _=y.id,{name:v,arguments:$}=y.function,R=h[v];if(R){if(l&&l!==v){const M=`Invalid tool_call: ${JSON.stringify(v)}. ${JSON.stringify(l)} requested. Please try again`;this._addMessage({role:r,tool_call_id:_,content:M});continue}}else{const M=`Invalid tool_call: ${JSON.stringify(v)}. Available options are: ${Object.keys(h).map(se=>JSON.stringify(se)).join(", ")}. Please try again`;this._addMessage({role:r,tool_call_id:_,content:M});continue}let F;try{F=ea(R)?await R.parse($):$}catch(M){const se=M instanceof Error?M.message:String(M);this._addMessage({role:r,tool_call_id:_,content:se});continue}const x=await R.function(F,this),T=o(this,X,"m",gs).call(this,x);if(this._addMessage({role:r,tool_call_id:_,content:T}),l)return}}}}X=new WeakSet,jt=function(){return o(this,X,"m",ht).call(this).content??null},ht=function(){let e=this.messages.length;for(;e-- >0;){const t=this.messages[e];if(ct(t))return{...t,content:t.content??null,refusal:t.refusal??null}}throw new I("stream ended without producing a ChatCompletionMessage with role=assistant")},Ft=function(){var e,t;for(let n=this.messages.length-1;n>=0;n--){const r=this.messages[n];if(ct(r)&&((e=r==null?void 0:r.tool_calls)!=null&&e.length))return(t=r.tool_calls.at(-1))==null?void 0:t.function}},Lt=function(){for(let e=this.messages.length-1;e>=0;e--){const t=this.messages[e];if(ds(t)&&t.content!=null&&typeof t.content=="string"&&this.messages.some(n=>{var r;return n.role==="assistant"&&((r=n.tool_calls)==null?void 0:r.some(a=>a.type==="function"&&a.id===t.tool_call_id))}))return t.content}},Dt=function(){const e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(const{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},ps=function(e){if(e.n!=null&&e.n>1)throw new I("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},gs=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};class Vt extends _s{static runTools(e,t,n){const r=new Vt,a={...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"runTools"}};return r._run(()=>r._runTools(e,t,a)),r}_addMessage(e,t=!0){super._addMessage(e,t),ct(e)&&e.content&&this._emit("content",e.content)}}const ys=1,ws=2,bs=4,Ss=8,xs=16,As=32,vs=64,Cs=128,Is=256,Rs=Cs|Is,ks=xs|As|Rs|vs,$s=ys|ws|ks,Os=bs|Ss,oa=$s|Os,W={STR:ys,NUM:ws,ARR:bs,OBJ:Ss,NULL:xs,BOOL:As,NAN:vs,INFINITY:Cs,MINUS_INFINITY:Is,INF:Rs,SPECIAL:ks,ATOM:$s,COLLECTION:Os,ALL:oa};class ca extends Error{}class la extends Error{}function ua(s,e=W.ALL){if(typeof s!="string")throw new TypeError(`expecting str, got ${typeof s}`);if(!s.trim())throw new Error(`${s} is empty`);return ha(s.trim(),e)}const ha=(s,e)=>{const t=s.length;let n=0;const r=g=>{throw new ca(`${g} at position ${n}`)},a=g=>{throw new la(`${g} at position ${n}`)},i=()=>(h(),n>=t&&r("Unexpected end of input"),s[n]==='"'?c():s[n]==="{"?l():s[n]==="["?u():s.substring(n,n+4)==="null"||W.NULL&e&&t-n<4&&"null".startsWith(s.substring(n))?(n+=4,null):s.substring(n,n+4)==="true"||W.BOOL&e&&t-n<4&&"true".startsWith(s.substring(n))?(n+=4,!0):s.substring(n,n+5)==="false"||W.BOOL&e&&t-n<5&&"false".startsWith(s.substring(n))?(n+=5,!1):s.substring(n,n+8)==="Infinity"||W.INFINITY&e&&t-n<8&&"Infinity".startsWith(s.substring(n))?(n+=8,1/0):s.substring(n,n+9)==="-Infinity"||W.MINUS_INFINITY&e&&1<t-n&&t-n<9&&"-Infinity".startsWith(s.substring(n))?(n+=9,-1/0):s.substring(n,n+3)==="NaN"||W.NAN&e&&t-n<3&&"NaN".startsWith(s.substring(n))?(n+=3,NaN):m()),c=()=>{const g=n;let d=!1;for(n++;n<t&&(s[n]!=='"'||d&&s[n-1]==="\\");)d=s[n]==="\\"?!d:!1,n++;if(s.charAt(n)=='"')try{return JSON.parse(s.substring(g,++n-Number(d)))}catch(b){a(String(b))}else if(W.STR&e)try{return JSON.parse(s.substring(g,n-Number(d))+'"')}catch{return JSON.parse(s.substring(g,s.lastIndexOf("\\"))+'"')}r("Unterminated string literal")},l=()=>{n++,h();const g={};try{for(;s[n]!=="}";){if(h(),n>=t&&W.OBJ&e)return g;const d=c();h(),n++;try{const b=i();Object.defineProperty(g,d,{value:b,writable:!0,enumerable:!0,configurable:!0})}catch(b){if(W.OBJ&e)return g;throw b}h(),s[n]===","&&n++}}catch{if(W.OBJ&e)return g;r("Expected '}' at end of object")}return n++,g},u=()=>{n++;const g=[];try{for(;s[n]!=="]";)g.push(i()),h(),s[n]===","&&n++}catch{if(W.ARR&e)return g;r("Expected ']' at end of array")}return n++,g},m=()=>{if(n===0){s==="-"&&W.NUM&e&&r("Not sure what '-' is");try{return JSON.parse(s)}catch(d){if(W.NUM&e)try{return s[s.length-1]==="."?JSON.parse(s.substring(0,s.lastIndexOf("."))):JSON.parse(s.substring(0,s.lastIndexOf("e")))}catch{}a(String(d))}}const g=n;for(s[n]==="-"&&n++;s[n]&&!",]}".includes(s[n]);)n++;n==t&&!(W.NUM&e)&&r("Unterminated number literal");try{return JSON.parse(s.substring(g,n))}catch{s.substring(g,n)==="-"&&W.NUM&e&&r("Not sure what '-' is");try{return JSON.parse(s.substring(g,s.lastIndexOf("e")))}catch(b){a(String(b))}}},h=()=>{for(;n<t&&` \r `.includes(s[n]);)n++};return i()},In=s=>ua(s,W.ALL^W.NUM);var D,re,pe,oe,vt,Xe,Ct,It,Rt,Ke,kt,Rn;class De extends _s{constructor(e){super(),D.add(this),re.set(this,void 0),pe.set(this,void 0),oe.set(this,void 0),C(this,re,e),C(this,pe,[])}get currentChatCompletionSnapshot(){return o(this,oe,"f")}static fromReadableStream(e){const t=new De(null);return t._run(()=>t._fromReadableStream(e)),t}static createChatCompletion(e,t,n){const r=new De(t);return r._run(()=>r._runChatCompletion(e,{...t,stream:!0},{...n,headers:{...n==null?void 0:n.headers,"X-Stainless-Helper-Method":"stream"}})),r}async _createChatCompletion(e,t,n){var i;super._createChatCompletion;const r=n==null?void 0:n.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),o(this,D,"m",vt).call(this);const a=await e.chat.completions.create({...t,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(const c of a)o(this,D,"m",Ct).call(this,c);if((i=a.controller.signal)!=null&&i.aborted)throw new z;return this._addChatCompletion(o(this,D,"m",Ke).call(this))}async _fromReadableStream(e,t){var i;const n=t==null?void 0:t.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),o(this,D,"m",vt).call(this),this._connected();const r=ne.fromReadableStream(e,this.controller);let a;for await(const c of r)a&&a!==c.id&&this._addChatCompletion(o(this,D,"m",Ke).call(this)),o(this,D,"m",Ct).call(this,c),a=c.id;if((i=r.controller.signal)!=null&&i.aborted)throw new z;return this._addChatCompletion(o(this,D,"m",Ke).call(this))}[(re=new WeakMap,pe=new WeakMap,oe=new WeakMap,D=new WeakSet,vt=function(){this.ended||C(this,oe,void 0)},Xe=function(t){let n=o(this,pe,"f")[t.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},o(this,pe,"f")[t.index]=n,n)},Ct=function(t){var r,a,i,c,l,u,m,h,g,d,b,w,A,O,p;if(this.ended)return;const n=o(this,D,"m",Rn).call(this,t);this._emit("chunk",t,n);for(const y of t.choices){const _=n.choices[y.index];y.delta.content!=null&&((r=_.message)==null?void 0:r.role)==="assistant"&&((a=_.message)!=null&&a.content)&&(this._emit("content",y.delta.content,_.message.content),this._emit("content.delta",{delta:y.delta.content,snapshot:_.message.content,parsed:_.message.parsed})),y.delta.refusal!=null&&((i=_.message)==null?void 0:i.role)==="assistant"&&((c=_.message)!=null&&c.refusal)&&this._emit("refusal.delta",{delta:y.delta.refusal,snapshot:_.message.refusal}),((l=y.logprobs)==null?void 0:l.content)!=null&&((u=_.message)==null?void 0:u.role)==="assistant"&&this._emit("logprobs.content.delta",{content:(m=y.logprobs)==null?void 0:m.content,snapshot:((h=_.logprobs)==null?void 0:h.content)??[]}),((g=y.logprobs)==null?void 0:g.refusal)!=null&&((d=_.message)==null?void 0:d.role)==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:(b=y.logprobs)==null?void 0:b.refusal,snapshot:((w=_.logprobs)==null?void 0:w.refusal)??[]});const v=o(this,D,"m",Xe).call(this,_);_.finish_reason&&(o(this,D,"m",Rt).call(this,_),v.current_tool_call_index!=null&&o(this,D,"m",It).call(this,_,v.current_tool_call_index));for(const $ of y.delta.tool_calls??[])v.current_tool_call_index!==$.index&&(o(this,D,"m",Rt).call(this,_),v.current_tool_call_index!=null&&o(this,D,"m",It).call(this,_,v.current_tool_call_index)),v.current_tool_call_index=$.index;for(const $ of y.delta.tool_calls??[]){const R=(A=_.message.tool_calls)==null?void 0:A[$.index];R!=null&&R.type&&((R==null?void 0:R.type)==="function"?this._emit("tool_calls.function.arguments.delta",{name:(O=R.function)==null?void 0:O.name,index:$.index,arguments:R.function.arguments,parsed_arguments:R.function.parsed_arguments,arguments_delta:((p=$.function)==null?void 0:p.arguments)??""}):(R==null||R.type,void 0))}}},It=function(t,n){var i,c,l;if(o(this,D,"m",Xe).call(this,t).done_tool_calls.has(n))return;const a=(i=t.message.tool_calls)==null?void 0:i[n];if(!a)throw new Error("no tool call snapshot");if(!a.type)throw new Error("tool call snapshot missing `type`");if(a.type==="function"){const u=(l=(c=o(this,re,"f"))==null?void 0:c.tools)==null?void 0:l.find(m=>m.type==="function"&&m.function.name===a.function.name);this._emit("tool_calls.function.arguments.done",{name:a.function.name,index:n,arguments:a.function.arguments,parsed_arguments:We(u)?u.$parseRaw(a.function.arguments):u!=null&&u.function.strict?JSON.parse(a.function.arguments):null})}else a.type},Rt=function(t){var r,a;const n=o(this,D,"m",Xe).call(this,t);if(t.message.content&&!n.content_done){n.content_done=!0;const i=o(this,D,"m",kt).call(this);this._emit("content.done",{content:t.message.content,parsed:i?i.$parseRaw(t.message.content):null})}t.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:t.message.refusal})),(r=t.logprobs)!=null&&r.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:t.logprobs.content})),(a=t.logprobs)!=null&&a.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:t.logprobs.refusal}))},Ke=function(){if(this.ended)throw new I("stream has ended, this shouldn't happen");const t=o(this,oe,"f");if(!t)throw new I("request ended without sending any chunks");return C(this,oe,void 0),C(this,pe,[]),da(t,o(this,re,"f"))},kt=function(){var n;const t=(n=o(this,re,"f"))==null?void 0:n.response_format;return Xt(t)?t:null},Rn=function(t){var n,r,a,i;let c=o(this,oe,"f");const{choices:l,...u}=t;c?Object.assign(c,u):c=C(this,oe,{...u,choices:[]});for(const{delta:m,finish_reason:h,index:g,logprobs:d=null,...b}of t.choices){let w=c.choices[g];if(w||(w=c.choices[g]={finish_reason:h,index:g,message:{},logprobs:d,...b}),d)if(!w.logprobs)w.logprobs=Object.assign({},d);else{const{content:$,refusal:R,...F}=d;Object.assign(w.logprobs,F),$&&((n=w.logprobs).content??(n.content=[]),w.logprobs.content.push(...$)),R&&((r=w.logprobs).refusal??(r.refusal=[]),w.logprobs.refusal.push(...R))}if(h&&(w.finish_reason=h,o(this,re,"f")&&ms(o(this,re,"f")))){if(h==="length")throw new Vn;if(h==="content_filter")throw new Gn}if(Object.assign(w,b),!m)continue;const{content:A,refusal:O,function_call:p,role:y,tool_calls:_,...v}=m;if(Object.assign(w.message,v),O&&(w.message.refusal=(w.message.refusal||"")+O),y&&(w.message.role=y),p&&(w.message.function_call?(p.name&&(w.message.function_call.name=p.name),p.arguments&&((a=w.message.function_call).arguments??(a.arguments=""),w.message.function_call.arguments+=p.arguments)):w.message.function_call=p),A&&(w.message.content=(w.message.content||"")+A,!w.message.refusal&&o(this,D,"m",kt).call(this)&&(w.message.parsed=In(w.message.content))),_){w.message.tool_calls||(w.message.tool_calls=[]);for(const{index:$,id:R,type:F,function:x,...T}of _){const M=(i=w.message.tool_calls)[$]??(i[$]={});Object.assign(M,T),R&&(M.id=R),F&&(M.type=F),x&&(M.function??(M.function={name:x.name??"",arguments:""})),x!=null&&x.name&&(M.function.name=x.name),x!=null&&x.arguments&&(M.function.arguments+=x.arguments,ra(o(this,re,"f"),M)&&(M.function.parsed_arguments=In(M.function.arguments)))}}}return c},Symbol.asyncIterator)](){const e=[],t=[];let n=!1;return this.on("chunk",r=>{const a=t.shift();a?a.resolve(r):e.push(r)}),this.on("end",()=>{n=!0;for(const r of t)r.resolve(void 0);t.length=0}),this.on("abort",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),this.on("error",r=>{n=!0;for(const a of t)a.reject(r);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((a,i)=>t.push({resolve:a,reject:i})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new ne(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function da(s,e){const{id:t,choices:n,created:r,model:a,system_fingerprint:i,...c}=s,l={...c,id:t,choices:n.map(({message:u,finish_reason:m,index:h,logprobs:g,...d})=>{if(!m)throw new I(`missing finish_reason for choice ${h}`);const{content:b=null,function_call:w,tool_calls:A,...O}=u,p=u.role;if(!p)throw new I(`missing role for choice ${h}`);if(w){const{arguments:y,name:_}=w;if(y==null)throw new I(`missing function_call.arguments for choice ${h}`);if(!_)throw new I(`missing function_call.name for choice ${h}`);return{...d,message:{content:b,function_call:{arguments:y,name:_},role:p,refusal