mu-agent 0.1.8 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/README.md +34 -30
  3. package/dist/bundle/chunks/anthropic-messages-4PAJY4R6.js +6 -0
  4. package/dist/bundle/chunks/anthropic.js +1 -1
  5. package/dist/bundle/chunks/azure-openai-responses-Y4BBWQ3N.js +2 -0
  6. package/dist/bundle/chunks/bedrock-converse-stream.js +12 -9
  7. package/dist/bundle/chunks/{chunk-NG4PO5FP.js → chunk-3J3HSHLX.js} +128 -110
  8. package/dist/bundle/chunks/{chunk-TRDNDS6A.js → chunk-3V45WARH.js} +6 -3
  9. package/dist/bundle/chunks/{chunk-S3GGRYIO.js → chunk-5AGIVGSV.js} +1 -1
  10. package/dist/bundle/chunks/chunk-6QGV3IWD.js +6 -0
  11. package/dist/bundle/chunks/{chunk-4OBXYPH4.js → chunk-6Z2347ML.js} +1 -1
  12. package/dist/bundle/chunks/{chunk-F5ZABL6Z.js → chunk-7CBJINYJ.js} +2 -2
  13. package/dist/bundle/chunks/{chunk-DRQDKNXA.js → chunk-7DDKXS2Q.js} +1 -1
  14. package/dist/bundle/chunks/{chunk-H3QXYIF7.js → chunk-CF5GWZHW.js} +1 -1
  15. package/dist/bundle/chunks/{chunk-RLZVFGW4.js → chunk-DYTENXHX.js} +29 -92
  16. package/dist/bundle/chunks/{chunk-NTSWBG4X.js → chunk-FLHKNMLQ.js} +1 -1
  17. package/dist/bundle/chunks/chunk-FTJT2X6E.js +2 -0
  18. package/dist/bundle/chunks/{chunk-4L3WN2XY.js → chunk-JXWJOIH4.js} +1 -1
  19. package/dist/bundle/chunks/{chunk-TAOL3JFA.js → chunk-KIDDRTZP.js} +4 -4
  20. package/dist/bundle/chunks/chunk-LHRPMXVI.js +2 -0
  21. package/dist/bundle/chunks/chunk-LMNWTX2L.js +11 -0
  22. package/dist/bundle/chunks/chunk-LPXNMA2W.js +2 -0
  23. package/dist/bundle/chunks/chunk-LT2C56HV.js +130 -0
  24. package/dist/bundle/chunks/{chunk-6CYCI3EJ.js → chunk-LVVZS2NO.js} +1 -1
  25. package/dist/bundle/chunks/chunk-MF3VB62R.js +91 -0
  26. package/dist/bundle/chunks/chunk-NN4BEPYX.js +2 -0
  27. package/dist/bundle/chunks/{chunk-LD2P6SFZ.js → chunk-PMRZO46Y.js} +1 -1
  28. package/dist/bundle/chunks/chunk-R4VPBBDS.js +2 -0
  29. package/dist/bundle/chunks/chunk-RDZVAGPR.js +2 -0
  30. package/dist/bundle/chunks/chunk-TMTOQ7H7.js +2 -0
  31. package/dist/bundle/chunks/chunk-UKVNB6C4.js +2 -0
  32. package/dist/bundle/chunks/chunk-URBBMV3M.js +9 -0
  33. package/dist/bundle/chunks/chunk-WCGU75WO.js +11 -0
  34. package/dist/bundle/chunks/chunk-WCJNJQO5.js +9 -0
  35. package/dist/bundle/chunks/chunk-WDURT4ZM.js +2 -0
  36. package/dist/bundle/chunks/{cli-AOVD3SSZ.js → cli-M4YBZZ6Q.js} +4 -4
  37. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-MEZHQVNP.js +2 -0
  38. package/dist/bundle/chunks/codemode-worker.js +117 -13
  39. package/dist/bundle/chunks/easter-egg-3d-VFY3YRQR.js +2 -0
  40. package/dist/bundle/chunks/execute-FKI7Y4XR.js +499 -0
  41. package/dist/bundle/chunks/github-copilot.js +1 -1
  42. package/dist/bundle/chunks/{google-generative-ai-XMFHGQC5.js → google-generative-ai-D2VJQBTK.js} +1 -1
  43. package/dist/bundle/chunks/{google-vertex-4XRRNP74.js → google-vertex-SQG2BO6C.js} +1 -1
  44. package/dist/bundle/chunks/https-proxy-agent-LVOO5TPL.js +13 -0
  45. package/dist/bundle/chunks/image-resize-worker.js +1 -1
  46. package/dist/bundle/chunks/{jiti-loader-C3NU2SDH.js → jiti-loader-GL4HJFAD.js} +1 -1
  47. package/dist/bundle/chunks/{jiti-static-loader-E6ANQD5T.js → jiti-static-loader-2RCDI6B4.js} +1 -1
  48. package/dist/bundle/chunks/{lib-TEDK3E5I.js → lib-4AVRLBHM.js} +1 -1
  49. package/dist/bundle/chunks/{llama-cpp-classify-XT44PI3C.js → llama-cpp-classify-5YHLY3RC.js} +2 -2
  50. package/dist/bundle/chunks/mistral-conversations-BDARVJTT.js +5 -0
  51. package/dist/bundle/chunks/{multipart-parser-SQ6GDJL7.js → multipart-parser-FMGQ7342.js} +1 -1
  52. package/dist/bundle/chunks/{node-TWVVAGPO.js → node-AUOGOBCN.js} +1 -1
  53. package/dist/bundle/chunks/{node-N5BSDOA5.js → node-KCMANYC2.js} +1 -1
  54. package/dist/bundle/chunks/openai-chatgpt.js +1 -1
  55. package/dist/bundle/chunks/openai-codex-responses-CECGTDYD.js +10 -0
  56. package/dist/bundle/chunks/openai-codex.js +1 -1
  57. package/dist/bundle/chunks/openai-completions-UOA7MELD.js +7 -0
  58. package/dist/bundle/chunks/openai-decisions-HLM372N6.js +5 -0
  59. package/dist/bundle/chunks/openai-responses-TII7ZY5X.js +3 -0
  60. package/dist/bundle/chunks/{openrouter-images-ZVXWCSIM.js → openrouter-images-7T452AS5.js} +1 -1
  61. package/dist/bundle/chunks/{pi-messages-TM5SOOIW.js → pi-messages-2UDKLKOO.js} +1 -1
  62. package/dist/bundle/chunks/runtime-IKE5OQIW.js +2 -0
  63. package/dist/bundle/chunks/{src-UK77SYZE.js → src-QKGKDFSU.js} +1 -1
  64. package/dist/bundle/chunks/typesafe-system-one-KNCICMO5.js +2 -0
  65. package/dist/bundle/chunks/virtual-modules-TJPHLTRT.js +2 -0
  66. package/dist/bundle/cli-runtime.js +1 -1
  67. package/dist/bundle/index.js +1 -1
  68. package/dist/bundle/rpc-entry.js +1 -1
  69. package/dist/core/export-html/template.js +21 -16
  70. package/dist/modes/interactive/theme/dark.json +1 -1
  71. package/dist/modes/interactive/theme/light.json +1 -1
  72. package/dist/modes/interactive/theme/theme-schema.d.ts +28 -0
  73. package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -0
  74. package/dist/modes/interactive/theme/theme-schema.js +105 -0
  75. package/dist/modes/interactive/theme/theme-schema.js.map +1 -0
  76. package/dist/modes/interactive/theme/theme-tokens.d.ts +257 -0
  77. package/dist/modes/interactive/theme/theme-tokens.d.ts.map +1 -0
  78. package/dist/modes/interactive/theme/theme-tokens.js +94 -0
  79. package/dist/modes/interactive/theme/theme-tokens.js.map +1 -0
  80. package/dist/modes/interactive/theme/theme.d.ts +13 -16
  81. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  82. package/dist/modes/interactive/theme/theme.js +22 -29
  83. package/dist/modes/interactive/theme/theme.js.map +1 -1
  84. package/docs/cli-integration.md +1 -1
  85. package/docs/cli.md +22 -10
  86. package/docs/codemode.md +29 -6
  87. package/docs/compaction.md +5 -5
  88. package/docs/custom-provider.md +53 -1
  89. package/docs/docs.json +8 -0
  90. package/docs/environment-variables.md +3 -1
  91. package/docs/extensions.md +122 -13
  92. package/docs/json.md +3 -3
  93. package/docs/keybindings.md +5 -4
  94. package/docs/llama-cpp.md +9 -2
  95. package/docs/mcp.md +4 -2
  96. package/docs/message-types.md +22 -4
  97. package/docs/models-configuration.md +187 -0
  98. package/docs/models.md +18 -2
  99. package/docs/nvidia-rtx-llama-cpp.md +96 -0
  100. package/docs/providers.md +47 -0
  101. package/docs/sessions.md +1 -1
  102. package/docs/settings.md +9 -6
  103. package/docs/terminal-setup.md +14 -0
  104. package/docs/themes.md +4 -2
  105. package/docs/tui.md +71 -1
  106. package/docs/usage.md +1 -1
  107. package/examples/README.md +0 -3
  108. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  109. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  110. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  111. package/examples/extensions/dynamic-resources/dynamic.json +1 -1
  112. package/examples/extensions/gondolin/package-lock.json +2 -2
  113. package/examples/extensions/gondolin/package.json +1 -1
  114. package/examples/extensions/minimal-mode.ts +4 -5
  115. package/examples/extensions/overlay-test.ts +2 -2
  116. package/examples/extensions/plan-mode/index.ts +6 -2
  117. package/examples/extensions/sandbox/package-lock.json +2 -2
  118. package/examples/extensions/sandbox/package.json +1 -1
  119. package/examples/extensions/subagent/index.ts +4 -6
  120. package/examples/extensions/with-deps/package-lock.json +2 -2
  121. package/examples/extensions/with-deps/package.json +1 -1
  122. package/judge/dist/auth.js +91 -35
  123. package/judge/dist/chrome.js +2 -2
  124. package/judge/dist/import.js +852 -175
  125. package/judge/dist/setup.js +240 -153
  126. package/judge/manifest.json +2512 -546
  127. package/judge/mu/chunk-3NQ5BIBI.js +4773 -0
  128. package/judge/mu/chunk-SKGYWHW6.js +51 -0
  129. package/judge/mu/chunk-WQM4MV6L.js +58 -0
  130. package/judge/mu/cloud-code-V7FOGB4J.js +22802 -0
  131. package/judge/mu/dist-75PS4OC4.js +1283 -0
  132. package/judge/{dist/kyrn-judge.js → mu/index.js} +5365 -32809
  133. package/judge/mu/multipart-parser-ZDXVIOOP.js +372 -0
  134. package/judge/mu/src-TVVA5ZK2.js +1409 -0
  135. package/judge/themes/mu-dark.json +80 -0
  136. package/judge/themes/mu-light.json +80 -0
  137. package/kyrn/bin/kyrn-doctor +44 -19
  138. package/kyrn/bin/kyrn-judge-local +43 -14
  139. package/kyrn/bin/kyrn-ledger +16 -1
  140. package/kyrn/bin/mu.mjs +142 -61
  141. package/kyrn/local-judge/server.py +26 -14
  142. package/package.json +8 -6
  143. package/dist/bundle/chunks/anthropic-messages-MI4QHRXW.js +0 -6
  144. package/dist/bundle/chunks/azure-openai-responses-E3QGN4VN.js +0 -2
  145. package/dist/bundle/chunks/chunk-33KL6IIQ.js +0 -20
  146. package/dist/bundle/chunks/chunk-A3JYRWB6.js +0 -2
  147. package/dist/bundle/chunks/chunk-C47CLQZK.js +0 -2
  148. package/dist/bundle/chunks/chunk-HQHD6PZI.js +0 -2
  149. package/dist/bundle/chunks/chunk-KJUDFE6Y.js +0 -11
  150. package/dist/bundle/chunks/chunk-TE3GUV6H.js +0 -9
  151. package/dist/bundle/chunks/chunk-VIV3CWXG.js +0 -2
  152. package/dist/bundle/chunks/chunk-WE4MXUQS.js +0 -11
  153. package/dist/bundle/chunks/chunk-Y2PP32XV.js +0 -2
  154. package/dist/bundle/chunks/chunk-YLY6CKPK.js +0 -132
  155. package/dist/bundle/chunks/chunk-ZE5FMF3V.js +0 -99
  156. package/dist/bundle/chunks/cloudflare-workers-ai-system-one-NM3JRRWQ.js +0 -2
  157. package/dist/bundle/chunks/easter-egg-3d-G2LUBEMZ.js +0 -2
  158. package/dist/bundle/chunks/execute-MZVUC6BB.js +0 -388
  159. package/dist/bundle/chunks/https-proxy-agent-2VXB7436.js +0 -13
  160. package/dist/bundle/chunks/mistral-conversations-Q22M3IBG.js +0 -5
  161. package/dist/bundle/chunks/openai-codex-responses-4MYQSO5E.js +0 -10
  162. package/dist/bundle/chunks/openai-completions-OSRCWAAA.js +0 -7
  163. package/dist/bundle/chunks/openai-responses-UHF3DHNG.js +0 -3
  164. package/dist/bundle/chunks/runtime-VJMMDLVH.js +0 -2
  165. package/dist/bundle/chunks/typesafe-system-one-PRR5K6CI.js +0 -2
  166. package/dist/bundle/chunks/virtual-modules-RJXJGCPI.js +0 -2
  167. package/dist/modes/interactive/theme/theme-json.d.ts +0 -85
  168. package/dist/modes/interactive/theme/theme-json.d.ts.map +0 -1
  169. package/dist/modes/interactive/theme/theme-json.js +0 -132
  170. package/dist/modes/interactive/theme/theme-json.js.map +0 -1
  171. package/dist/modes/interactive/theme/theme-schema.json +0 -361
  172. package/examples/plugins/pi-example-plugin/README.md +0 -38
  173. package/examples/plugins/pi-example-plugin/package.json +0 -10
  174. package/examples/plugins/pi-example-plugin/src/contract.ts +0 -13
  175. package/examples/plugins/pi-example-plugin/src/session.ts +0 -24
  176. package/examples/plugins/pi-example-plugin/src/tui.ts +0 -31
@@ -1,2 +1,2 @@
1
1
  import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
- import{__require}from"./chunk-4L3WN2XY.js";var procEnvCache=null;function getBunSandboxEnvValue(name){if(!(typeof process>"u"||!process.versions?.bun||Object.keys(process.env).length>0)){if(procEnvCache===null){procEnvCache=new Map;try{let{readFileSync}=__require("node:fs"),data=readFileSync("/proc/self/environ","utf-8");for(let entry of data.split("\0")){let idx=entry.indexOf("=");idx>0&&procEnvCache.set(entry.slice(0,idx),entry.slice(idx+1))}}catch{}}return procEnvCache.get(name)}}function getProviderEnvValue(name,env){return env?.[name]||(typeof process<"u"?process.env[name]:void 0)||getBunSandboxEnvValue(name)||void 0}export{getProviderEnvValue};
2
+ import{__require}from"./chunk-JXWJOIH4.js";var procEnvCache=null;function getBunSandboxEnvValue(name){if(!(typeof process>"u"||!process.versions?.bun||Object.keys(process.env).length>0)){if(procEnvCache===null){procEnvCache=new Map;try{let{readFileSync}=__require("node:fs"),data=readFileSync("/proc/self/environ","utf-8");for(let entry of data.split("\0")){let idx=entry.indexOf("=");idx>0&&procEnvCache.set(entry.slice(0,idx),entry.slice(idx+1))}}catch{}}return procEnvCache.get(name)}}function getProviderEnvValue(name,env){return env?.[name]||(typeof process<"u"?process.env[name]:void 0)||getBunSandboxEnvValue(name)||void 0}export{getProviderEnvValue};
@@ -1,5 +1,5 @@
1
1
  import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
- import{__commonJS,__export,__toESM}from"./chunk-4L3WN2XY.js";var require_x509_transport_state=__commonJS({"packages/ai/node_modules/openai/internal/auth/x509-transport-state.js"(exports,module){"use strict";if(typeof module<"u"&&module!==globalThis.module&&typeof exports<"u"&&module.exports===exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.findX509Credential=exports.rememberX509Credential=exports.findX509OAuthError=exports.rememberX509OAuthError=exports.isApprovedX509Client=exports.markApprovedX509Client=exports.isRetryableX509IssuerError=exports.markRetryableX509IssuerError=exports.isTransientX509ConnectionError=exports.markTransientX509ConnectionError=exports.rememberRegisteredX509Transport=exports.findRegisteredX509Transport=void 0;let registeredX509Transports2=new WeakMap,transientX509ConnectionErrors2=new WeakSet,retryableX509IssuerErrors2=new WeakSet,approvedX509Clients2=new WeakSet,approvedX509OAuthErrors2=new WeakMap,approvedX509Credentials2=new WeakMap;exports.findRegisteredX509Transport=WeakMap.prototype.get.bind(registeredX509Transports2),exports.rememberRegisteredX509Transport=WeakMap.prototype.set.bind(registeredX509Transports2),exports.markTransientX509ConnectionError=WeakSet.prototype.add.bind(transientX509ConnectionErrors2),exports.isTransientX509ConnectionError=WeakSet.prototype.has.bind(transientX509ConnectionErrors2),exports.markRetryableX509IssuerError=WeakSet.prototype.add.bind(retryableX509IssuerErrors2),exports.isRetryableX509IssuerError=WeakSet.prototype.has.bind(retryableX509IssuerErrors2),exports.markApprovedX509Client=WeakSet.prototype.add.bind(approvedX509Clients2),exports.isApprovedX509Client=WeakSet.prototype.has.bind(approvedX509Clients2),exports.rememberX509OAuthError=WeakMap.prototype.set.bind(approvedX509OAuthErrors2),exports.findX509OAuthError=WeakMap.prototype.get.bind(approvedX509OAuthErrors2),exports.rememberX509Credential=WeakMap.prototype.set.bind(approvedX509Credentials2),exports.findX509Credential=WeakMap.prototype.get.bind(approvedX509Credentials2)}}});function __classPrivateFieldSet(receiver,state2,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state2.set(receiver,value),value}function __classPrivateFieldGet(receiver,state2,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state2.get(receiver)}var uuid4=function(){let{crypto:crypto2}=globalThis;if(crypto2?.randomUUID)return uuid4=crypto2.randomUUID.bind(crypto2),crypto2.randomUUID();let u8=new Uint8Array(1),randomByte=crypto2?()=>crypto2.getRandomValues(u8)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,c=>(+c^randomByte()&15>>+c/4).toString(16))};function isAbortError(err){return typeof err=="object"&&err!==null&&("name"in err&&err.name==="AbortError"||"message"in err&&String(err.message).includes("FetchRequestCanceledException"))}var castToError=err=>{if(err instanceof Error)return err;if(typeof err=="object"&&err!==null){try{if(Object.prototype.toString.call(err)==="[object Error]"){let hasCause="cause"in err,error=new Error(err.message,hasCause?{cause:err.cause}:{});return err.stack&&(error.stack=err.stack),hasCause&&!Object.prototype.hasOwnProperty.call(error,"cause")&&(error.cause=err.cause),err.name&&(error.name=err.name),error}}catch{}try{return new Error(JSON.stringify(err))}catch{}}return new Error(err)};var OpenAIError=class extends Error{},APIError=class _APIError extends OpenAIError{constructor(status,error,message,headers){super(`${_APIError.makeMessage(status,error,message)}`),this.status=status,this.headers=headers,this.requestID=headers?.get("x-request-id"),this.error=error;let data=error;this.code=data?.code,this.param=data?.param,this.type=data?.type}static makeMessage(status,error,message){let msg=error?.message?typeof error.message=="string"?error.message:JSON.stringify(error.message):error?JSON.stringify(error):message;return status&&msg?`${status} ${msg}`:status?`${status} status code (no body)`:msg||"(no status code or body)"}static generate(status,errorResponse,message,headers){if(!status||!headers)return new APIConnectionError({message,cause:castToError(errorResponse)});let error=errorResponse?.error;return status===400?new BadRequestError(status,error,message,headers):status===401?new AuthenticationError(status,error,message,headers):status===403?new PermissionDeniedError(status,error,message,headers):status===404?new NotFoundError(status,error,message,headers):status===409?new ConflictError(status,error,message,headers):status===422?new UnprocessableEntityError(status,error,message,headers):status===429?new RateLimitError(status,error,message,headers):status>=500?new InternalServerError(status,error,message,headers):new _APIError(status,error,message,headers)}},APIUserAbortError=class extends APIError{constructor({message}={}){super(void 0,void 0,message||"Request was aborted.",void 0)}},APIConnectionError=class extends APIError{constructor({message,cause}){super(void 0,void 0,message||"Connection error.",void 0),cause&&(this.cause=cause)}},APIConnectionTimeoutError=class extends APIConnectionError{constructor({message}={}){super({message:message??"Request timed out."})}},BadRequestError=class extends APIError{},AuthenticationError=class extends APIError{},PermissionDeniedError=class extends APIError{},NotFoundError=class extends APIError{},ConflictError=class extends APIError{},UnprocessableEntityError=class extends APIError{},RateLimitError=class extends APIError{},InternalServerError=class extends APIError{},LengthFinishReasonError=class extends OpenAIError{constructor(){super("Could not parse response content as the length limit was reached")}},ContentFilterFinishReasonError=class extends OpenAIError{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},InvalidWebhookSignatureError=class extends Error{constructor(message){super(message)}},OAuthError=class extends APIError{constructor(status,error,headers){let finalMessage="OAuth2 authentication error",error_code;if(error&&typeof error=="object"){let errorData=error;error_code=errorData.error;let description=errorData.error_description;description&&typeof description=="string"?finalMessage=description:error_code&&(finalMessage=error_code)}super(status,error,finalMessage,headers),this.error_code=error_code}},SubjectTokenProviderError=class extends OpenAIError{constructor(message,provider,cause){super(message),this.provider=provider,this.cause=cause}};var startsWithSchemeRegexp=/^[a-z][a-z0-9+.-]*:/i,isAbsoluteURL=url=>startsWithSchemeRegexp.test(url),isArray=val=>(isArray=Array.isArray,isArray(val)),isReadonlyArray=isArray;function maybeObj(x){return typeof x!="object"?{}:x??{}}function isEmptyObj(obj){if(!obj)return!0;for(let _k in obj)return!1;return!0}function hasOwn(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}function isObj(obj){return obj!=null&&typeof obj=="object"&&!Array.isArray(obj)}var validatePositiveInteger=(name,n)=>{if(typeof n!="number"||!Number.isInteger(n))throw new OpenAIError(`${name} must be an integer`);if(n<0)throw new OpenAIError(`${name} must be a positive integer`);return n};var safeJSON=text=>{try{return JSON.parse(text)}catch{return}};var sleep=(ms,...signals)=>new Promise((resolve,reject)=>{let activeSignals=[...new Set(signals.filter(signal=>signal!=null))],timeout,settled=!1,cleanup=()=>{for(let signal of activeSignals)try{signal.removeEventListener("abort",abort)}catch{}},settle=callback=>{settled||(settled=!0,timeout!==void 0&&(clearTimeout(timeout),timeout=void 0),cleanup(),callback())},abort=()=>{settle(()=>reject())};if(activeSignals.some(signal=>signal.aborted)){abort();return}timeout=setTimeout(()=>{settle(resolve)},ms);for(let signal of activeSignals){if(settled)break;try{signal.addEventListener("abort",abort,{once:!0})}catch(error){settle(()=>reject(error))}}activeSignals.some(signal=>signal.aborted)&&abort()});var weakGlobals=globalThis,finalizer=typeof weakGlobals.FinalizationRegistry=="function"?new weakGlobals.FinalizationRegistry(cleanup=>{try{cleanup()}catch{}}):void 0,callbackOwners=new WeakMap,subscriptions=new WeakMap;function subscribeWeakly(signal,reference,registry){let subscription=subscriptions.get(signal);if(!subscription){let callbacks=new Set,abort=()=>{subscriptions.delete(signal);for(let callback of callbacks)registry.unregister(callback),callback.deref()?.();callbacks.clear()};subscription={callbacks,abort},signal.addEventListener("abort",abort,{once:!0}),subscriptions.set(signal,subscription)}let owner=subscription;return owner.callbacks.add(reference),()=>{owner.callbacks.delete(reference),registry.unregister(reference),owner.callbacks.size===0&&(subscriptions.get(signal)===owner&&subscriptions.delete(signal),signal.removeEventListener("abort",owner.abort))}}function releaseOnAbort(signal,callbacks,abort){signal.addEventListener("abort",()=>callbacks.deref()?.delete(abort),{once:!0})}function retainRequestAbortCallback(owner,abort,requestSignal){if(typeof weakGlobals.WeakRef=="function"&&finalizer&&!requestSignal.aborted){let callbacks=callbackOwners.get(owner);callbacks||(callbacks=new Set,callbackOwners.set(owner,callbacks)),callbacks.add(abort),releaseOnAbort(requestSignal,new weakGlobals.WeakRef(callbacks),abort)}}function addRequestAbortListener(signal,abort,requestSignal){if(signal.aborted)return abort(),()=>{};if(typeof weakGlobals.WeakRef!="function"||!finalizer)return signal.addEventListener("abort",abort,{once:!0}),()=>signal.removeEventListener("abort",abort);let reference=new weakGlobals.WeakRef(abort),cleanup=subscribeWeakly(signal,reference,finalizer);return finalizer.register(abort,cleanup,reference),retainRequestAbortCallback(requestSignal,abort,requestSignal),cleanup}function getDefaultFetch(){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 makeReadableStream(...args){let ReadableStream2=globalThis.ReadableStream;if(typeof ReadableStream2>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new ReadableStream2(...args)}function ReadableStreamFrom(iterable){let iter=Symbol.asyncIterator in iterable?iterable[Symbol.asyncIterator]():iterable[Symbol.iterator]();return makeReadableStream({start(){},async pull(controller){let{done,value}=await iter.next();done?controller.close():controller.enqueue(value)},async cancel(){await iter.return?.()}})}function ReadableStreamToAsyncIterable(stream){if(stream[Symbol.asyncIterator])return stream;let reader=stream.getReader();return{async next(){try{let result=await reader.read();return result?.done&&reader.releaseLock(),result}catch(e){throw reader.releaseLock(),e}},async return(){let cancelPromise=reader.cancel();return reader.releaseLock(),await cancelPromise,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function CancelReadableStream(stream){if(stream===null||typeof stream!="object")return;if(stream[Symbol.asyncIterator]){await stream[Symbol.asyncIterator]().return?.();return}let reader=stream.getReader(),cancelPromise=reader.cancel();reader.releaseLock(),await cancelPromise}var encodeUTF8_;function encodeUTF8(str){let encoder;return(encodeUTF8_??(encoder=new globalThis.TextEncoder,encodeUTF8_=encoder.encode.bind(encoder)))(str)}var decodeUTF8_;function decodeUTF8(bytes){let decoder;return(decodeUTF8_??(decoder=new globalThis.TextDecoder,decodeUTF8_=decoder.decode.bind(decoder)))(bytes)}var _LineDecoder_instances,_LineDecoder_buffer,_LineDecoder_start,_LineDecoder_end,_LineDecoder_searchIndex,_LineDecoder_skipLeadingLF,_LineDecoder_append,MAX_RETAINED_BUFFER_BYTES=64*1024,LineDecoder=class{constructor(){_LineDecoder_instances.add(this),_LineDecoder_buffer.set(this,void 0),_LineDecoder_start.set(this,void 0),_LineDecoder_end.set(this,void 0),_LineDecoder_searchIndex.set(this,void 0),_LineDecoder_skipLeadingLF.set(this,void 0),__classPrivateFieldSet(this,_LineDecoder_buffer,new Uint8Array,"f"),__classPrivateFieldSet(this,_LineDecoder_start,0,"f"),__classPrivateFieldSet(this,_LineDecoder_end,0,"f"),__classPrivateFieldSet(this,_LineDecoder_searchIndex,0,"f"),__classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!1,"f")}decode(chunk){if(chunk==null)return[];let binaryChunk;if(chunk instanceof ArrayBuffer?binaryChunk=new Uint8Array(chunk):typeof chunk=="string"?binaryChunk=encodeUTF8(chunk):binaryChunk=chunk,binaryChunk.length===0)return[];if(__classPrivateFieldGet(this,_LineDecoder_skipLeadingLF,"f")&&(__classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!1,"f"),binaryChunk[0]===10&&(binaryChunk=binaryChunk.subarray(1)),binaryChunk.length===0))return[];__classPrivateFieldGet(this,_LineDecoder_instances,"m",_LineDecoder_append).call(this,binaryChunk);let lines=[],patternIndex;for(;(patternIndex=findNewlineIndex(__classPrivateFieldGet(this,_LineDecoder_buffer,"f"),__classPrivateFieldGet(this,_LineDecoder_searchIndex,"f"),__classPrivateFieldGet(this,_LineDecoder_end,"f")))!=null;){let line=decodeUTF8(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(__classPrivateFieldGet(this,_LineDecoder_start,"f"),patternIndex.preceding));lines.push(line),__classPrivateFieldSet(this,_LineDecoder_start,patternIndex.index,"f"),patternIndex.carriage&&(__classPrivateFieldGet(this,_LineDecoder_start,"f")<__classPrivateFieldGet(this,_LineDecoder_end,"f")&&__classPrivateFieldGet(this,_LineDecoder_buffer,"f")[__classPrivateFieldGet(this,_LineDecoder_start,"f")]===10?__classPrivateFieldSet(this,_LineDecoder_start,__classPrivateFieldGet(this,_LineDecoder_start,"f")+1,"f"):__classPrivateFieldGet(this,_LineDecoder_start,"f")===__classPrivateFieldGet(this,_LineDecoder_end,"f")&&__classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!0,"f")),__classPrivateFieldSet(this,_LineDecoder_searchIndex,__classPrivateFieldGet(this,_LineDecoder_start,"f"),"f")}if(__classPrivateFieldSet(this,_LineDecoder_searchIndex,__classPrivateFieldGet(this,_LineDecoder_end,"f"),"f"),__classPrivateFieldGet(this,_LineDecoder_start,"f")===__classPrivateFieldGet(this,_LineDecoder_end,"f"))__classPrivateFieldSet(this,_LineDecoder_start,0,"f"),__classPrivateFieldSet(this,_LineDecoder_end,0,"f"),__classPrivateFieldSet(this,_LineDecoder_searchIndex,0,"f"),__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length>MAX_RETAINED_BUFFER_BYTES&&__classPrivateFieldSet(this,_LineDecoder_buffer,new Uint8Array,"f");else if(lines.length>0&&__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length>MAX_RETAINED_BUFFER_BYTES){let length=__classPrivateFieldGet(this,_LineDecoder_end,"f")-__classPrivateFieldGet(this,_LineDecoder_start,"f");if(length<=MAX_RETAINED_BUFFER_BYTES||__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length>length*4){let capacity=length<=MAX_RETAINED_BUFFER_BYTES?Math.min(Math.max(length*2,256),MAX_RETAINED_BUFFER_BYTES):length*2,buffer=new Uint8Array(capacity);buffer.set(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(__classPrivateFieldGet(this,_LineDecoder_start,"f"),__classPrivateFieldGet(this,_LineDecoder_end,"f"))),__classPrivateFieldSet(this,_LineDecoder_buffer,buffer,"f"),__classPrivateFieldSet(this,_LineDecoder_start,0,"f"),__classPrivateFieldSet(this,_LineDecoder_end,length,"f"),__classPrivateFieldSet(this,_LineDecoder_searchIndex,length,"f")}}return lines}flush(){return __classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!1,"f"),__classPrivateFieldGet(this,_LineDecoder_start,"f")===__classPrivateFieldGet(this,_LineDecoder_end,"f")?[]:this.decode(`
2
+ import{__commonJS,__export,__toESM}from"./chunk-JXWJOIH4.js";var require_x509_transport_state=__commonJS({"packages/ai/node_modules/openai/internal/auth/x509-transport-state.js"(exports,module){"use strict";if(typeof module<"u"&&module!==globalThis.module&&typeof exports<"u"&&module.exports===exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.findX509Credential=exports.rememberX509Credential=exports.findX509OAuthError=exports.rememberX509OAuthError=exports.isApprovedX509Client=exports.markApprovedX509Client=exports.isRetryableX509IssuerError=exports.markRetryableX509IssuerError=exports.isTransientX509ConnectionError=exports.markTransientX509ConnectionError=exports.rememberRegisteredX509Transport=exports.findRegisteredX509Transport=void 0;let registeredX509Transports2=new WeakMap,transientX509ConnectionErrors2=new WeakSet,retryableX509IssuerErrors2=new WeakSet,approvedX509Clients2=new WeakSet,approvedX509OAuthErrors2=new WeakMap,approvedX509Credentials2=new WeakMap;exports.findRegisteredX509Transport=WeakMap.prototype.get.bind(registeredX509Transports2),exports.rememberRegisteredX509Transport=WeakMap.prototype.set.bind(registeredX509Transports2),exports.markTransientX509ConnectionError=WeakSet.prototype.add.bind(transientX509ConnectionErrors2),exports.isTransientX509ConnectionError=WeakSet.prototype.has.bind(transientX509ConnectionErrors2),exports.markRetryableX509IssuerError=WeakSet.prototype.add.bind(retryableX509IssuerErrors2),exports.isRetryableX509IssuerError=WeakSet.prototype.has.bind(retryableX509IssuerErrors2),exports.markApprovedX509Client=WeakSet.prototype.add.bind(approvedX509Clients2),exports.isApprovedX509Client=WeakSet.prototype.has.bind(approvedX509Clients2),exports.rememberX509OAuthError=WeakMap.prototype.set.bind(approvedX509OAuthErrors2),exports.findX509OAuthError=WeakMap.prototype.get.bind(approvedX509OAuthErrors2),exports.rememberX509Credential=WeakMap.prototype.set.bind(approvedX509Credentials2),exports.findX509Credential=WeakMap.prototype.get.bind(approvedX509Credentials2)}}});function __classPrivateFieldSet(receiver,state2,value,kind,f){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a setter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f.call(receiver,value):f?f.value=value:state2.set(receiver,value),value}function __classPrivateFieldGet(receiver,state2,kind,f){if(kind==="a"&&!f)throw new TypeError("Private accessor was defined without a getter");if(typeof state2=="function"?receiver!==state2||!f:!state2.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f:kind==="a"?f.call(receiver):f?f.value:state2.get(receiver)}var uuid4=function(){let{crypto:crypto2}=globalThis;if(crypto2?.randomUUID)return uuid4=crypto2.randomUUID.bind(crypto2),crypto2.randomUUID();let u8=new Uint8Array(1),randomByte=crypto2?()=>crypto2.getRandomValues(u8)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,c=>(+c^randomByte()&15>>+c/4).toString(16))};function isAbortError(err){return typeof err=="object"&&err!==null&&("name"in err&&err.name==="AbortError"||"message"in err&&String(err.message).includes("FetchRequestCanceledException"))}var castToError=err=>{if(err instanceof Error)return err;if(typeof err=="object"&&err!==null){try{if(Object.prototype.toString.call(err)==="[object Error]"){let hasCause="cause"in err,error=new Error(err.message,hasCause?{cause:err.cause}:{});return err.stack&&(error.stack=err.stack),hasCause&&!Object.prototype.hasOwnProperty.call(error,"cause")&&(error.cause=err.cause),err.name&&(error.name=err.name),error}}catch{}try{return new Error(JSON.stringify(err))}catch{}}return new Error(err)};var OpenAIError=class extends Error{},APIError=class _APIError extends OpenAIError{constructor(status,error,message,headers){super(`${_APIError.makeMessage(status,error,message)}`),this.status=status,this.headers=headers,this.requestID=headers?.get("x-request-id"),this.error=error;let data=error;this.code=data?.code,this.param=data?.param,this.type=data?.type}static makeMessage(status,error,message){let msg=error?.message?typeof error.message=="string"?error.message:JSON.stringify(error.message):error?JSON.stringify(error):message;return status&&msg?`${status} ${msg}`:status?`${status} status code (no body)`:msg||"(no status code or body)"}static generate(status,errorResponse,message,headers){if(!status||!headers)return new APIConnectionError({message,cause:castToError(errorResponse)});let error=errorResponse?.error;return status===400?new BadRequestError(status,error,message,headers):status===401?new AuthenticationError(status,error,message,headers):status===403?new PermissionDeniedError(status,error,message,headers):status===404?new NotFoundError(status,error,message,headers):status===409?new ConflictError(status,error,message,headers):status===422?new UnprocessableEntityError(status,error,message,headers):status===429?new RateLimitError(status,error,message,headers):status>=500?new InternalServerError(status,error,message,headers):new _APIError(status,error,message,headers)}},APIUserAbortError=class extends APIError{constructor({message}={}){super(void 0,void 0,message||"Request was aborted.",void 0)}},APIConnectionError=class extends APIError{constructor({message,cause}){super(void 0,void 0,message||"Connection error.",void 0),cause&&(this.cause=cause)}},APIConnectionTimeoutError=class extends APIConnectionError{constructor({message}={}){super({message:message??"Request timed out."})}},BadRequestError=class extends APIError{},AuthenticationError=class extends APIError{},PermissionDeniedError=class extends APIError{},NotFoundError=class extends APIError{},ConflictError=class extends APIError{},UnprocessableEntityError=class extends APIError{},RateLimitError=class extends APIError{},InternalServerError=class extends APIError{},LengthFinishReasonError=class extends OpenAIError{constructor(){super("Could not parse response content as the length limit was reached")}},ContentFilterFinishReasonError=class extends OpenAIError{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},InvalidWebhookSignatureError=class extends Error{constructor(message){super(message)}},OAuthError=class extends APIError{constructor(status,error,headers){let finalMessage="OAuth2 authentication error",error_code;if(error&&typeof error=="object"){let errorData=error;error_code=errorData.error;let description=errorData.error_description;description&&typeof description=="string"?finalMessage=description:error_code&&(finalMessage=error_code)}super(status,error,finalMessage,headers),this.error_code=error_code}},SubjectTokenProviderError=class extends OpenAIError{constructor(message,provider,cause){super(message),this.provider=provider,this.cause=cause}};var startsWithSchemeRegexp=/^[a-z][a-z0-9+.-]*:/i,isAbsoluteURL=url=>startsWithSchemeRegexp.test(url),isArray=val=>(isArray=Array.isArray,isArray(val)),isReadonlyArray=isArray;function maybeObj(x){return typeof x!="object"?{}:x??{}}function isEmptyObj(obj){if(!obj)return!0;for(let _k in obj)return!1;return!0}function hasOwn(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}function isObj(obj){return obj!=null&&typeof obj=="object"&&!Array.isArray(obj)}var validatePositiveInteger=(name,n)=>{if(typeof n!="number"||!Number.isInteger(n))throw new OpenAIError(`${name} must be an integer`);if(n<0)throw new OpenAIError(`${name} must be a positive integer`);return n};var safeJSON=text=>{try{return JSON.parse(text)}catch{return}};var sleep=(ms,...signals)=>new Promise((resolve,reject)=>{let activeSignals=[...new Set(signals.filter(signal=>signal!=null))],timeout,settled=!1,cleanup=()=>{for(let signal of activeSignals)try{signal.removeEventListener("abort",abort)}catch{}},settle=callback=>{settled||(settled=!0,timeout!==void 0&&(clearTimeout(timeout),timeout=void 0),cleanup(),callback())},abort=()=>{settle(()=>reject())};if(activeSignals.some(signal=>signal.aborted)){abort();return}timeout=setTimeout(()=>{settle(resolve)},ms);for(let signal of activeSignals){if(settled)break;try{signal.addEventListener("abort",abort,{once:!0})}catch(error){settle(()=>reject(error))}}activeSignals.some(signal=>signal.aborted)&&abort()});var weakGlobals=globalThis,finalizer=typeof weakGlobals.FinalizationRegistry=="function"?new weakGlobals.FinalizationRegistry(cleanup=>{try{cleanup()}catch{}}):void 0,callbackOwners=new WeakMap,subscriptions=new WeakMap;function subscribeWeakly(signal,reference,registry){let subscription=subscriptions.get(signal);if(!subscription){let callbacks=new Set,abort=()=>{subscriptions.delete(signal);for(let callback of callbacks)registry.unregister(callback),callback.deref()?.();callbacks.clear()};subscription={callbacks,abort},signal.addEventListener("abort",abort,{once:!0}),subscriptions.set(signal,subscription)}let owner=subscription;return owner.callbacks.add(reference),()=>{owner.callbacks.delete(reference),registry.unregister(reference),owner.callbacks.size===0&&(subscriptions.get(signal)===owner&&subscriptions.delete(signal),signal.removeEventListener("abort",owner.abort))}}function releaseOnAbort(signal,callbacks,abort){signal.addEventListener("abort",()=>callbacks.deref()?.delete(abort),{once:!0})}function retainRequestAbortCallback(owner,abort,requestSignal){if(typeof weakGlobals.WeakRef=="function"&&finalizer&&!requestSignal.aborted){let callbacks=callbackOwners.get(owner);callbacks||(callbacks=new Set,callbackOwners.set(owner,callbacks)),callbacks.add(abort),releaseOnAbort(requestSignal,new weakGlobals.WeakRef(callbacks),abort)}}function addRequestAbortListener(signal,abort,requestSignal){if(signal.aborted)return abort(),()=>{};if(typeof weakGlobals.WeakRef!="function"||!finalizer)return signal.addEventListener("abort",abort,{once:!0}),()=>signal.removeEventListener("abort",abort);let reference=new weakGlobals.WeakRef(abort),cleanup=subscribeWeakly(signal,reference,finalizer);return finalizer.register(abort,cleanup,reference),retainRequestAbortCallback(requestSignal,abort,requestSignal),cleanup}function getDefaultFetch(){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 makeReadableStream(...args){let ReadableStream2=globalThis.ReadableStream;if(typeof ReadableStream2>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new ReadableStream2(...args)}function ReadableStreamFrom(iterable){let iter=Symbol.asyncIterator in iterable?iterable[Symbol.asyncIterator]():iterable[Symbol.iterator]();return makeReadableStream({start(){},async pull(controller){let{done,value}=await iter.next();done?controller.close():controller.enqueue(value)},async cancel(){await iter.return?.()}})}function ReadableStreamToAsyncIterable(stream){if(stream[Symbol.asyncIterator])return stream;let reader=stream.getReader();return{async next(){try{let result=await reader.read();return result?.done&&reader.releaseLock(),result}catch(e){throw reader.releaseLock(),e}},async return(){let cancelPromise=reader.cancel();return reader.releaseLock(),await cancelPromise,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function CancelReadableStream(stream){if(stream===null||typeof stream!="object")return;if(stream[Symbol.asyncIterator]){await stream[Symbol.asyncIterator]().return?.();return}let reader=stream.getReader(),cancelPromise=reader.cancel();reader.releaseLock(),await cancelPromise}var encodeUTF8_;function encodeUTF8(str){let encoder;return(encodeUTF8_??(encoder=new globalThis.TextEncoder,encodeUTF8_=encoder.encode.bind(encoder)))(str)}var decodeUTF8_;function decodeUTF8(bytes){let decoder;return(decodeUTF8_??(decoder=new globalThis.TextDecoder,decodeUTF8_=decoder.decode.bind(decoder)))(bytes)}var _LineDecoder_instances,_LineDecoder_buffer,_LineDecoder_start,_LineDecoder_end,_LineDecoder_searchIndex,_LineDecoder_skipLeadingLF,_LineDecoder_append,MAX_RETAINED_BUFFER_BYTES=64*1024,LineDecoder=class{constructor(){_LineDecoder_instances.add(this),_LineDecoder_buffer.set(this,void 0),_LineDecoder_start.set(this,void 0),_LineDecoder_end.set(this,void 0),_LineDecoder_searchIndex.set(this,void 0),_LineDecoder_skipLeadingLF.set(this,void 0),__classPrivateFieldSet(this,_LineDecoder_buffer,new Uint8Array,"f"),__classPrivateFieldSet(this,_LineDecoder_start,0,"f"),__classPrivateFieldSet(this,_LineDecoder_end,0,"f"),__classPrivateFieldSet(this,_LineDecoder_searchIndex,0,"f"),__classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!1,"f")}decode(chunk){if(chunk==null)return[];let binaryChunk;if(chunk instanceof ArrayBuffer?binaryChunk=new Uint8Array(chunk):typeof chunk=="string"?binaryChunk=encodeUTF8(chunk):binaryChunk=chunk,binaryChunk.length===0)return[];if(__classPrivateFieldGet(this,_LineDecoder_skipLeadingLF,"f")&&(__classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!1,"f"),binaryChunk[0]===10&&(binaryChunk=binaryChunk.subarray(1)),binaryChunk.length===0))return[];__classPrivateFieldGet(this,_LineDecoder_instances,"m",_LineDecoder_append).call(this,binaryChunk);let lines=[],patternIndex;for(;(patternIndex=findNewlineIndex(__classPrivateFieldGet(this,_LineDecoder_buffer,"f"),__classPrivateFieldGet(this,_LineDecoder_searchIndex,"f"),__classPrivateFieldGet(this,_LineDecoder_end,"f")))!=null;){let line=decodeUTF8(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(__classPrivateFieldGet(this,_LineDecoder_start,"f"),patternIndex.preceding));lines.push(line),__classPrivateFieldSet(this,_LineDecoder_start,patternIndex.index,"f"),patternIndex.carriage&&(__classPrivateFieldGet(this,_LineDecoder_start,"f")<__classPrivateFieldGet(this,_LineDecoder_end,"f")&&__classPrivateFieldGet(this,_LineDecoder_buffer,"f")[__classPrivateFieldGet(this,_LineDecoder_start,"f")]===10?__classPrivateFieldSet(this,_LineDecoder_start,__classPrivateFieldGet(this,_LineDecoder_start,"f")+1,"f"):__classPrivateFieldGet(this,_LineDecoder_start,"f")===__classPrivateFieldGet(this,_LineDecoder_end,"f")&&__classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!0,"f")),__classPrivateFieldSet(this,_LineDecoder_searchIndex,__classPrivateFieldGet(this,_LineDecoder_start,"f"),"f")}if(__classPrivateFieldSet(this,_LineDecoder_searchIndex,__classPrivateFieldGet(this,_LineDecoder_end,"f"),"f"),__classPrivateFieldGet(this,_LineDecoder_start,"f")===__classPrivateFieldGet(this,_LineDecoder_end,"f"))__classPrivateFieldSet(this,_LineDecoder_start,0,"f"),__classPrivateFieldSet(this,_LineDecoder_end,0,"f"),__classPrivateFieldSet(this,_LineDecoder_searchIndex,0,"f"),__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length>MAX_RETAINED_BUFFER_BYTES&&__classPrivateFieldSet(this,_LineDecoder_buffer,new Uint8Array,"f");else if(lines.length>0&&__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length>MAX_RETAINED_BUFFER_BYTES){let length=__classPrivateFieldGet(this,_LineDecoder_end,"f")-__classPrivateFieldGet(this,_LineDecoder_start,"f");if(length<=MAX_RETAINED_BUFFER_BYTES||__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length>length*4){let capacity=length<=MAX_RETAINED_BUFFER_BYTES?Math.min(Math.max(length*2,256),MAX_RETAINED_BUFFER_BYTES):length*2,buffer=new Uint8Array(capacity);buffer.set(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(__classPrivateFieldGet(this,_LineDecoder_start,"f"),__classPrivateFieldGet(this,_LineDecoder_end,"f"))),__classPrivateFieldSet(this,_LineDecoder_buffer,buffer,"f"),__classPrivateFieldSet(this,_LineDecoder_start,0,"f"),__classPrivateFieldSet(this,_LineDecoder_end,length,"f"),__classPrivateFieldSet(this,_LineDecoder_searchIndex,length,"f")}}return lines}flush(){return __classPrivateFieldSet(this,_LineDecoder_skipLeadingLF,!1,"f"),__classPrivateFieldGet(this,_LineDecoder_start,"f")===__classPrivateFieldGet(this,_LineDecoder_end,"f")?[]:this.decode(`
3
3
  `)}};_LineDecoder_buffer=new WeakMap,_LineDecoder_start=new WeakMap,_LineDecoder_end=new WeakMap,_LineDecoder_searchIndex=new WeakMap,_LineDecoder_skipLeadingLF=new WeakMap,_LineDecoder_instances=new WeakSet,_LineDecoder_append=function(chunk){if(__classPrivateFieldGet(this,_LineDecoder_end,"f")+chunk.length>__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length){let length=__classPrivateFieldGet(this,_LineDecoder_end,"f")-__classPrivateFieldGet(this,_LineDecoder_start,"f");if(__classPrivateFieldGet(this,_LineDecoder_start,"f")>=__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length/2&&length+chunk.length<=__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length)__classPrivateFieldGet(this,_LineDecoder_buffer,"f").copyWithin(0,__classPrivateFieldGet(this,_LineDecoder_start,"f"),__classPrivateFieldGet(this,_LineDecoder_end,"f"));else{let capacity=Math.max(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").length*2,length+chunk.length,256),buffer=new Uint8Array(capacity);buffer.set(__classPrivateFieldGet(this,_LineDecoder_buffer,"f").subarray(__classPrivateFieldGet(this,_LineDecoder_start,"f"),__classPrivateFieldGet(this,_LineDecoder_end,"f"))),__classPrivateFieldSet(this,_LineDecoder_buffer,buffer,"f")}__classPrivateFieldSet(this,_LineDecoder_searchIndex,__classPrivateFieldGet(this,_LineDecoder_searchIndex,"f")-__classPrivateFieldGet(this,_LineDecoder_start,"f"),"f"),__classPrivateFieldSet(this,_LineDecoder_end,length,"f"),__classPrivateFieldSet(this,_LineDecoder_start,0,"f")}__classPrivateFieldGet(this,_LineDecoder_buffer,"f").set(chunk,__classPrivateFieldGet(this,_LineDecoder_end,"f")),__classPrivateFieldSet(this,_LineDecoder_end,__classPrivateFieldGet(this,_LineDecoder_end,"f")+chunk.length,"f")};LineDecoder.NEWLINE_CHARS=new Set([`
4
4
  `,"\r"]);LineDecoder.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function findNewlineIndex(buffer,start,end){for(let i=start;i<end;i++){if(buffer[i]===10)return{preceding:i,index:i+1,carriage:!1};if(buffer[i]===13)return{preceding:i,index:i+1,carriage:!0}}return null}function findDoubleNewlineIndex(buffer){for(let i=0;i<buffer.length-1;i++){let firstEndingLength=lineEndingLength(buffer,i);if(firstEndingLength>0){let secondEndingIndex=i+firstEndingLength,secondEndingLength=lineEndingLength(buffer,secondEndingIndex);if(secondEndingLength>0)return secondEndingIndex+secondEndingLength}}return-1}function lineEndingLength(buffer,index){return buffer[index]===10?1:buffer[index]===13?buffer[index+1]===10?2:1:0}var levelNumbers={off:0,error:200,warn:300,info:400,debug:500},parseLogLevel=(maybeLevel,sourceName,client)=>{if(maybeLevel){if(hasOwn(levelNumbers,maybeLevel))return maybeLevel;loggerFor(client).warn(`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(Object.keys(levelNumbers))}`)}};function noop(){}function makeLogFn(fnLevel,logger,logLevel){return!logger||levelNumbers[fnLevel]>levelNumbers[logLevel]?noop:logger[fnLevel].bind(logger)}var noopLogger={error:noop,warn:noop,info:noop,debug:noop},cachedLoggers=new WeakMap;function loggerFor(client){let logger=client.logger,logLevel=client.logLevel??"off";if(!logger)return noopLogger;let cachedLogger=cachedLoggers.get(logger);if(cachedLogger&&cachedLogger[0]===logLevel)return cachedLogger[1];let levelLogger={error:makeLogFn("error",logger,logLevel),warn:makeLogFn("warn",logger,logLevel),info:makeLogFn("info",logger,logLevel),debug:makeLogFn("debug",logger,logLevel)};return cachedLoggers.set(logger,[logLevel,levelLogger]),levelLogger}var sensitiveQueryNames=new Set(["apikey","accesstoken","refreshtoken","sessiontoken","sessionid","idtoken","authtoken","authorization","token","password","clientsecret","signingsecret","xamzsecuritytoken","xamzsignature","xamzcredential"]);function isSensitiveQueryParameter(name){let normalized=name.toLowerCase().replace(/[-_]/gu,"");return sensitiveQueryNames.has(normalized)||sensitiveQueryNames.has(normalized.replace(/^x/u,""))}var sensitiveHeaderNames=new Set(["authorization","proxy-authorization","api-key","x-api-key","x-amz-security-token","cookie","set-cookie","x-session-token","x-session-id","x-auth-token","x-id-token"]);function isSensitiveHeader(name){return sensitiveHeaderNames.has(name.toLowerCase().replace(/_/gu,"-"))||isSensitiveQueryParameter(name)}function redactURL(value){let url=new URL(value);url.username="",url.password="",url.hash="";for(let name of url.searchParams.keys())isSensitiveQueryParameter(name)&&url.searchParams.set(name,"***");return url.href}var formatRequestDetails=details=>{if(details.options){if(details.options={...details.options},delete details.options.headers,details.options.path){let path2=details.options.path,redacted=new URL(redactURL(new URL(path2,"https://redacted.invalid").href));details.options.path=redacted.origin==="https://redacted.invalid"?`${path2.startsWith("/")?"/":""}${redacted.pathname.slice(1)}${redacted.search}`:redacted.href}details.options.query&&(details.options.query=Object.fromEntries(Object.entries(details.options.query).map(([name,value])=>[name,isSensitiveQueryParameter(name)?"***":value])))}return details.url&&(details.url=redactURL(details.url)),details.headers&&(details.headers=Object.fromEntries((details.headers instanceof Headers?[...details.headers]:Object.entries(details.headers)).map(([name,value])=>[name,isSensitiveHeader(name)?"***":value]))),"retryOfRequestLogID"in details&&(details.retryOfRequestLogID&&(details.retryOf=details.retryOfRequestLogID),delete details.retryOfRequestLogID),details};var _Stream_instances,_Stream_client,_Stream_isTeeBranch,_Stream_cancelIterator;function isTransportAbortError(error){return!(error instanceof APIError)&&isAbortError(error)}function createStreamTeeQueue(){let entries=[],head=0,canceled=!1;return{get length(){return entries.length-head},get canceled(){return canceled},enqueue(value){canceled||entries.push(value)},dequeue(){if(head===entries.length)return;let value=entries[head];return entries[head]=void 0,head+=1,head===entries.length?(entries=[],head=0):head>=1024&&head*2>=entries.length&&(entries=entries.slice(head),head=0),value},cancel(){canceled=!0,entries.length=0,head=0}}}var Stream=class _Stream{constructor(iterator,controller,client){_Stream_instances.add(this),_Stream_client.set(this,void 0),_Stream_isTeeBranch.set(this,!1),this.iterator=iterator,this.controller=controller,__classPrivateFieldSet(this,_Stream_client,client,"f")}static fromSSEResponse(response,controller,client,synthesizeEventData){let consumed=!1,logger=client?loggerFor(client):console;async function*iterator(){if(consumed)throw new OpenAIError("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");consumed=!0;let done=!1,receivedCompletionSentinel=!1,messages=_iterSSEMessages(response,controller),closeMessages=messages.return.bind(messages);messages.return=value=>(receivedCompletionSentinel||controller.abort(),closeMessages(value));try{for await(let sse of messages){if(sse.data==="[DONE]"){receivedCompletionSentinel=!0;break}if(sse.event===null||!sse.event.startsWith("thread.")){let data;try{data=JSON.parse(sse.data)}catch{throw logger.error("Could not parse message into JSON:"),logger.error("From chunk:"),new SyntaxError("Error reading response: malformed server-sent event JSON.")}if(sse.event==="error")throw new APIError(void 0,data?.error??data,void 0,response.headers);if(data&&data.error)throw new APIError(void 0,data.error,void 0,response.headers);yield synthesizeEventData?{event:sse.event,data}:data}else{let data;try{data=JSON.parse(sse.data)}catch{throw logger.error("Could not parse message into JSON:"),logger.error("From chunk:"),new SyntaxError("Error reading response: malformed server-sent event JSON.")}yield{event:sse.event,data}}}done=!0}catch(e){if(receivedCompletionSentinel||isTransportAbortError(e)||controller.signal.aborted&&e===controller.signal.reason)return;throw e}finally{done||controller.abort()}}return new _Stream(iterator,controller,client)}static fromReadableStream(readableStream,controller,client){let consumed=!1;async function*iterLines(){let lineDecoder=new LineDecoder,reader=readableStream.getReader(),closed=!1,cancelPromise,cancel=()=>{cancelPromise??(cancelPromise=reader.cancel()),cancelPromise.catch(()=>{})};controller.signal.addEventListener("abort",cancel,{once:!0});try{if(controller.signal.aborted){cancel();return}for(;;){let{value:chunk,done}=await reader.read();if(done){closed=!0;break}if(controller.signal.aborted)return;for(let line of lineDecoder.decode(chunk)){if(controller.signal.aborted)return;yield line}}if(controller.signal.aborted)return;for(let line of lineDecoder.flush()){if(controller.signal.aborted)return;yield line}}finally{controller.signal.removeEventListener("abort",cancel),closed||cancel(),reader.releaseLock()}}async function*iterator(){if(consumed)throw new OpenAIError("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");consumed=!0;let done=!1;try{for await(let line of iterLines())if(line){let data;try{data=JSON.parse(line)}catch(error){throw error instanceof SyntaxError?new SyntaxError("Error reading response: malformed newline-delimited JSON."):error}yield data}done=!0}catch(e){if(controller.signal.aborted||isAbortError(e))return;throw e}finally{done||controller.abort()}}return new _Stream(iterator,controller,client)}[(_Stream_client=new WeakMap,_Stream_isTeeBranch=new WeakMap,_Stream_instances=new WeakSet,Symbol.asyncIterator)](){return this.iterator()}tee(){let{controller}=this,left=createStreamTeeQueue(),right=createStreamTeeQueue(),iterator=this.iterator(),teeIterator=queue=>({next:()=>{if(queue.canceled)return Promise.resolve({value:void 0,done:!0});if(queue.length===0){let result=iterator.next();left.enqueue(result),right.enqueue(result)}return queue.dequeue()},return:async()=>(queue.canceled||(queue.cancel(),left.canceled&&right.canceled&&await __classPrivateFieldGet(this,_Stream_instances,"m",_Stream_cancelIterator).call(this,iterator,controller)),{value:void 0,done:!0})}),branch=queue=>{let stream=new _Stream(()=>teeIterator(queue),controller,__classPrivateFieldGet(this,_Stream_client,"f"));return __classPrivateFieldSet(stream,_Stream_isTeeBranch,!0,"f"),stream};return[branch(left),branch(right)]}toReadableStream(){let{controller}=this,iter,cancellation,cancel=()=>cancellation??(cancellation=__classPrivateFieldGet(this,_Stream_instances,"m",_Stream_cancelIterator).call(this,iter,controller));return makeReadableStream({start:async()=>{iter=this[Symbol.asyncIterator]()},async pull(ctrl){try{let{value,done}=await iter.next();if(done)return ctrl.close();let bytes=encodeUTF8(JSON.stringify(value)+`
5
5
  `);ctrl.enqueue(bytes)}catch(err){ctrl.error(err),cancel().catch(()=>{})}},cancel})}};_Stream_cancelIterator=async function(iterator,controller){let returnMethod=iterator.return;returnMethod&&(__classPrivateFieldGet(this,_Stream_isTeeBranch,"f")||controller.abort(),await Reflect.apply(returnMethod,iterator,[]))};function createAbortableSSESource(body,signal){let reader=typeof body.getReader=="function"?body.getReader():void 0,source=reader?{next:()=>reader.read(),return:()=>reader.cancel()}:ReadableStreamToAsyncIterable(body)[Symbol.asyncIterator](),ended={value:void 0,done:!0},closed=!1,canceled=!1,cancellation,interrupt,waitForAbort=()=>new Promise(resolve=>{interrupt=resolve}),cancel=()=>{if(canceled||closed)return cancellation;canceled=!0;try{cancellation=Promise.resolve(source.return?.())}catch(error){cancellation=Promise.reject(error)}return cancellation.catch(()=>{}),cancellation},abort=()=>{queueMicrotask(()=>{interrupt?.(),cancel()})};return{iterator:{async next(){if(signal.aborted)return ended;let aborted=waitForAbort().then(()=>ended);try{let result=await Promise.race([source.next(),aborted]);return signal.aborted?ended:result.done?(closed=!0,ended):{value:result.value,done:!1}}catch(error){if(signal.aborted&&(isAbortError(error)||error===signal.reason))return ended;throw error}finally{interrupt=void 0}},async return(){let pending=cancel();if(pending&&!signal.aborted){let aborted=waitForAbort();try{signal.aborted||await Promise.race([pending,aborted])}finally{interrupt=void 0}}return ended},[Symbol.asyncIterator](){return this}},start(){signal.addEventListener("abort",abort,{once:!0}),signal.aborted&&abort()},async cleanup(failed){let cleanupError;try{signal.removeEventListener("abort",abort)}catch(error){cleanupError=error}if(!closed){let pending=cancel();if(pending&&!failed&&!signal.aborted)try{await pending}catch(error){cleanupError??(cleanupError=error)}}if(reader)try{reader.releaseLock()}catch(error){cleanupError??(cleanupError=error)}if(cleanupError!==void 0&&!failed&&!signal.aborted)throw cleanupError}}}async function*_iterSSEMessages(response,controller){if(!response.body)throw controller.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product==="ReactNative"?new OpenAIError("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 OpenAIError("Attempted to iterate over a response with no body");let sseDecoder=new SSEDecoder,lineDecoder=new LineDecoder,{signal}=controller,source=createAbortableSSESource(response.body,signal),failed=!1;try{source.start();for await(let sseChunk of iterSSEChunks(source.iterator)){if(signal.aborted)return;for(let line of lineDecoder.decode(sseChunk)){if(signal.aborted)return;let sse=sseDecoder.decode(line);sse&&(yield sse)}}if(signal.aborted)return;for(let line of lineDecoder.flush()){if(signal.aborted)return;let sse=sseDecoder.decode(line);sse&&(yield sse)}if(signal.aborted)return;let pending=sseDecoder.flush();pending&&(yield pending)}catch(error){if(failed=!0,!signal.aborted||!isAbortError(error)&&error!==signal.reason)throw error}finally{await source.cleanup(failed)}}var DOUBLE_NEWLINE_DELIMITER_MAX_OVERLAP_BYTES=3;async function*iterSSEChunks(iterator){let data=new Uint8Array,dataStart=0,dataEnd=0,searchStartIndex=0;for await(let chunk of iterator){if(chunk==null)continue;let binaryChunk;if(chunk instanceof ArrayBuffer?binaryChunk=new Uint8Array(chunk):typeof chunk=="string"?binaryChunk=encodeUTF8(chunk):binaryChunk=chunk,dataEnd+binaryChunk.length>data.length){let bufferedLength=dataEnd-dataStart;if(dataStart>=data.length/2&&bufferedLength+binaryChunk.length<=data.length)data.copyWithin(0,dataStart,dataEnd);else{let newData=new Uint8Array(Math.max(data.length*2,bufferedLength+binaryChunk.length));newData.set(data.subarray(dataStart,dataEnd)),data=newData}searchStartIndex-=dataStart,dataStart=0,dataEnd=bufferedLength}data.set(binaryChunk,dataEnd),dataEnd+=binaryChunk.length;let patternIndex;for(;(patternIndex=findDoubleNewlineIndex(data.subarray(searchStartIndex,dataEnd)))!==-1;)patternIndex+=searchStartIndex,yield data.slice(dataStart,patternIndex),dataStart=patternIndex,searchStartIndex=dataStart;searchStartIndex=Math.max(dataStart,dataEnd-DOUBLE_NEWLINE_DELIMITER_MAX_OVERLAP_BYTES)}dataEnd>dataStart&&(yield data.slice(dataStart,dataEnd))}var SSEDecoder=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(line){if(line.endsWith("\r")&&(line=line.slice(0,-1)),!line){if(!this.event&&!this.data.length)return null;let sse={event:this.event,data:this.data.join(`