@cline/core 0.0.95 → 0.2.0-nightly.1793312794

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 (175) hide show
  1. package/dist/ClineCore.d.ts +6 -1
  2. package/dist/account/rpc.d.ts +3 -1
  3. package/dist/account/types.d.ts +2 -0
  4. package/dist/artifacts/cloud/fetch.d.ts +8 -0
  5. package/dist/artifacts/cloud/publish.d.ts +6 -0
  6. package/dist/artifacts/publish.d.ts +30 -0
  7. package/dist/cline-core/runtime-services.d.ts +4 -2
  8. package/dist/cloud/computer-use-prompt.d.ts +9 -0
  9. package/dist/cloud/controller.d.ts +26 -4
  10. package/dist/cloud/hub-client.d.ts +53 -0
  11. package/dist/cloud/hub-protocol.d.ts +32 -0
  12. package/dist/cloud/index.d.ts +5 -0
  13. package/dist/cloud/index.js +34 -17
  14. package/dist/cloud/types.d.ts +4 -1
  15. package/dist/extensions/context/compaction-shared.d.ts +1 -0
  16. package/dist/extensions/context/compaction.d.ts +7 -0
  17. package/dist/extensions/context/summarize-conversation.d.ts +7 -0
  18. package/dist/extensions/context/summary-generation.d.ts +14 -0
  19. package/dist/extensions/mcp/apps.d.ts +16 -0
  20. package/dist/extensions/mcp/client.d.ts +1 -0
  21. package/dist/extensions/mcp/index.d.ts +5 -1
  22. package/dist/extensions/mcp/manager.d.ts +2 -1
  23. package/dist/extensions/mcp/session-apps.d.ts +28 -0
  24. package/dist/extensions/mcp/types.d.ts +22 -0
  25. package/dist/extensions/plugin/plugin-command-origin.d.ts +8 -0
  26. package/dist/extensions/plugin/plugin-registry.d.ts +1 -0
  27. package/dist/extensions/plugin/plugin-runtime.d.ts +7 -0
  28. package/dist/hub/client/index.d.ts +6 -0
  29. package/dist/hub/client/managed-hub-build-watcher.d.ts +2 -0
  30. package/dist/hub/client/plugin-commands.d.ts +4 -0
  31. package/dist/hub/client/session-client.d.ts +2 -0
  32. package/dist/hub/daemon/entry.js +248 -229
  33. package/dist/hub/daemon/index.d.ts +2 -0
  34. package/dist/hub/index.d.ts +1 -0
  35. package/dist/hub/index.js +238 -219
  36. package/dist/hub/runtime-host/hub-runtime-host.d.ts +6 -0
  37. package/dist/hub/server/cloud-session-service.d.ts +52 -0
  38. package/dist/hub/server/handlers/capability-handlers.d.ts +18 -1
  39. package/dist/hub/server/handlers/context.d.ts +13 -2
  40. package/dist/hub/server/handlers/mcp-apps-handlers.d.ts +5 -0
  41. package/dist/hub/server/handlers/session-handlers.d.ts +4 -0
  42. package/dist/hub/server/hub-server-options.d.ts +3 -0
  43. package/dist/hub/server/hub-server-transport.d.ts +2 -0
  44. package/dist/index.d.ts +10 -5
  45. package/dist/index.js +284 -258
  46. package/dist/plugin-runtime/node_modules/@cline/agents/dist/index.js +76 -0
  47. package/dist/plugin-runtime/node_modules/@cline/agents/package.json +1 -0
  48. package/dist/plugin-runtime/node_modules/@cline/core/dist/ai-sdk-bdvd54cj.js +1 -0
  49. package/dist/plugin-runtime/node_modules/@cline/core/dist/anthropic-d88t4w67.js +1 -0
  50. package/dist/plugin-runtime/node_modules/@cline/core/dist/bedrock-4rh6dw0e.js +1 -0
  51. package/dist/plugin-runtime/node_modules/@cline/core/dist/cline-dex049wz.js +1 -0
  52. package/dist/plugin-runtime/node_modules/@cline/core/dist/cloud/index.js +38 -0
  53. package/dist/plugin-runtime/node_modules/@cline/core/dist/community-adrseffv.js +1 -0
  54. package/dist/plugin-runtime/node_modules/@cline/core/dist/foundation-models-embedding-model-strategy-SAVQFBF4-vf44v1q1.js +1 -0
  55. package/dist/plugin-runtime/node_modules/@cline/core/dist/foundation-models-language-model-strategy-BPQO66W7-np6pavev.js +1 -0
  56. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-bsd-1xg0n8py.js +1 -0
  57. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-bsd-2h2811k3.js +1 -0
  58. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-darwin-918h9zb6.js +2 -0
  59. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-darwin-9g9qz8kw.js +2 -0
  60. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-linux-8p52y0t4.js +1 -0
  61. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-linux-cr4wnstr.js +1 -0
  62. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-unsupported-aa72jh2v.js +1 -0
  63. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-unsupported-k2y10eep.js +1 -0
  64. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-win-1hvm2h6v.js +1 -0
  65. package/dist/plugin-runtime/node_modules/@cline/core/dist/getMachineId-win-7nqbajdc.js +1 -0
  66. package/dist/plugin-runtime/node_modules/@cline/core/dist/google-nqn5r579.js +1 -0
  67. package/dist/plugin-runtime/node_modules/@cline/core/dist/hub/daemon/entry.js +1166 -0
  68. package/dist/plugin-runtime/node_modules/@cline/core/dist/hub/index.js +1153 -0
  69. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-0ahmqye5.js +2 -0
  70. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-1jwj53tz.js +2 -0
  71. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-3qy7846d.js +14 -0
  72. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-418gvd4a.js +2 -0
  73. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-4etvmc8g.js +2 -0
  74. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-4pm9q9we.js +1 -0
  75. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-4tgv599k.js +2 -0
  76. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-5hwscy9s.js +15 -0
  77. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-6dpcn5cw.js +9 -0
  78. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-7ycwqbm0.js +1 -0
  79. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-8qjtgvqw.js +9 -0
  80. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-8zb5grad.js +1210 -0
  81. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-94jdgxt6.js +2 -0
  82. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-9g67p34k.js +2 -0
  83. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-a9d2sjh0.js +85 -0
  84. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-agemt17a.js +3 -0
  85. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-bhf7enwn.js +1 -0
  86. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-bnwxdgvg.js +1 -0
  87. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-brjxtvsh.js +4 -0
  88. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-bvb7f701.js +1 -0
  89. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-bwet95hr.js +2 -0
  90. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-cadyf2yp.js +14 -0
  91. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-cxfnnrmh.js +9 -0
  92. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-cyyvppz9.js +6 -0
  93. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-d4pbedxj.js +137 -0
  94. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ddwn220p.js +12 -0
  95. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-edf1hmcw.js +62 -0
  96. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ejyd73x5.js +1 -0
  97. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-f25bf131.js +4 -0
  98. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-f4rfmj6q.js +3 -0
  99. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-fet3kwk6.js +1 -0
  100. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ffna8yzn.js +121 -0
  101. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-g2y6ptdc.js +213 -0
  102. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ge184xvn.js +6 -0
  103. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-gevnedsc.js +13 -0
  104. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-hkmarmve.js +190 -0
  105. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-kqacxn3s.js +39 -0
  106. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-m3gtj35r.js +14 -0
  107. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-neczvge6.js +21 -0
  108. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-p5k5hnam.js +75 -0
  109. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-sdvqs19c.js +20 -0
  110. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-t75m2pgm.js +146 -0
  111. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v4-qqb2kabr.js +1 -0
  112. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v6mehmme.js +12 -0
  113. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-v80fh3x3.js +16 -0
  114. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-vd605jwp.js +2 -0
  115. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-vryppqt1.js +1 -0
  116. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-w55v4n1n.js +2 -0
  117. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-w9n2kgjk.js +140 -0
  118. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-yjbp9r76.js +142 -0
  119. package/dist/plugin-runtime/node_modules/@cline/core/dist/index-ztb3cjfh.js +3 -0
  120. package/dist/plugin-runtime/node_modules/@cline/core/dist/index.js +1 -0
  121. package/dist/plugin-runtime/node_modules/@cline/core/dist/jiti-static-kj4rdeey.js +473 -0
  122. package/dist/plugin-runtime/node_modules/@cline/core/dist/jiti-y9tt7gmq.js +1 -0
  123. package/dist/plugin-runtime/node_modules/@cline/core/dist/langfuse-stream-telemetry-bg81k3qh.js +1 -0
  124. package/dist/plugin-runtime/node_modules/@cline/core/dist/langfuse-telemetry-tkbfbx5w.js +1 -0
  125. package/dist/plugin-runtime/node_modules/@cline/core/dist/mistral-mkw95amh.js +1 -0
  126. package/dist/plugin-runtime/node_modules/@cline/core/dist/multipart-parser-9z19cm6q.js +2 -0
  127. package/dist/plugin-runtime/node_modules/@cline/core/dist/ollama-sjp09b7p.js +1 -0
  128. package/dist/plugin-runtime/node_modules/@cline/core/dist/openai-1eyn4hw0.js +1 -0
  129. package/dist/plugin-runtime/node_modules/@cline/core/dist/openai-compatible-f99c7syq.js +1 -0
  130. package/dist/plugin-runtime/node_modules/@cline/core/dist/orchestration-embedding-model-strategy-GT27AFII-19936r1a.js +1 -0
  131. package/dist/plugin-runtime/node_modules/@cline/core/dist/orchestration-language-model-strategy-YEQPUCOT-eavx3zc3.js +1 -0
  132. package/dist/plugin-runtime/node_modules/@cline/core/dist/services/feature-flags/posthog.js +2 -0
  133. package/dist/plugin-runtime/node_modules/@cline/core/dist/services/telemetry/index.js +1 -0
  134. package/dist/plugin-runtime/node_modules/@cline/core/dist/token-04d0mwe8.js +1 -0
  135. package/dist/plugin-runtime/node_modules/@cline/core/dist/token-util-mt7pvm61.js +1 -0
  136. package/dist/plugin-runtime/node_modules/@cline/core/dist/vertex-6armtc3s.js +1 -0
  137. package/dist/plugin-runtime/node_modules/@cline/core/package.json +1 -0
  138. package/dist/plugin-runtime/node_modules/@cline/llms/dist/index.browser.js +16 -0
  139. package/dist/plugin-runtime/node_modules/@cline/llms/dist/index.js +1 -0
  140. package/dist/plugin-runtime/node_modules/@cline/llms/package.json +1 -0
  141. package/dist/plugin-runtime/node_modules/@cline/sdk/dist/index.js +1 -0
  142. package/dist/plugin-runtime/node_modules/@cline/sdk/package.json +1 -0
  143. package/dist/plugin-runtime/node_modules/@cline/shared/dist/automation/index.js +57 -0
  144. package/dist/plugin-runtime/node_modules/@cline/shared/dist/db/index.js +127 -0
  145. package/dist/plugin-runtime/node_modules/@cline/shared/dist/index.browser.js +110 -0
  146. package/dist/plugin-runtime/node_modules/@cline/shared/dist/index.js +1 -0
  147. package/dist/plugin-runtime/node_modules/@cline/shared/dist/node.js +1 -0
  148. package/dist/plugin-runtime/node_modules/@cline/shared/dist/remote-config/index.js +68 -0
  149. package/dist/plugin-runtime/node_modules/@cline/shared/dist/storage/index.js +1 -0
  150. package/dist/plugin-runtime/node_modules/@cline/shared/dist/types/index.js +1 -0
  151. package/dist/plugin-runtime/node_modules/@cline/shared/package.json +1 -0
  152. package/dist/plugin-runtime/package.json +1 -0
  153. package/dist/{extensions → plugin-runtime}/plugin-sandbox-bootstrap.js +129 -129
  154. package/dist/remote/remote-environments.d.ts +1 -0
  155. package/dist/runtime/config/agent-runtime-config-builder.d.ts +2 -0
  156. package/dist/runtime/host/local-runtime-host.d.ts +10 -0
  157. package/dist/runtime/host/runtime-host.d.ts +6 -0
  158. package/dist/runtime/orchestration/runtime-oauth-token-manager.d.ts +3 -0
  159. package/dist/runtime/orchestration/session-runtime-orchestrator.d.ts +10 -1
  160. package/dist/runtime/orchestration/session-runtime.d.ts +2 -0
  161. package/dist/runtime/tools/subprocess-sandbox.d.ts +22 -0
  162. package/dist/services/cloud-handoff/git-preparation.d.ts +22 -0
  163. package/dist/services/global-settings.d.ts +6 -0
  164. package/dist/services/llms/cline-recommended-models.d.ts +2 -0
  165. package/dist/services/local-runtime-bootstrap.d.ts +1 -0
  166. package/dist/services/plugin-command-api.d.ts +47 -0
  167. package/dist/services/plugin-commands.d.ts +25 -27
  168. package/dist/services/skills-cli.d.ts +2 -0
  169. package/dist/services/telemetry/core-events.d.ts +26 -0
  170. package/dist/services/telemetry/index.js +1 -1
  171. package/dist/services/telemetry/run-health.d.ts +40 -0
  172. package/dist/services/telemetry/stall-signals.d.ts +12 -0
  173. package/dist/types/config.d.ts +1 -0
  174. package/dist/types/session.d.ts +7 -0
  175. package/package.json +6 -5
@@ -0,0 +1 @@
1
+ import{se,Bh,mo,V2,id,$h,qh,tu,Hs,Kr,zh,nd,ad,Js,Xs,od,rd,sd,cd,ld,bi,Zs,pd,ec,dd,md,hd,Q2,YT}from"./index-g2y6ptdc.js";import"./index-d4pbedxj.js";import{we,b,T,ee}from"./index-w9n2kgjk.js";import{v,n,a}from"./index-edf1hmcw.js";import{createRequire as x}from"module";import{createRequire as M}from"module";var W=M(import.meta.url),g=new Map,f=new Map;function w(e){let t=f.get(e);if(t)return t;let r=I(e);return f.set(e,r),r.catch(()=>{f.delete(e)}),r}function E(e){let t=g.get(e);if(t)return t;let r=R(e);return g.set(e,r),r.catch(()=>{g.delete(e)}),r}async function I(e){if(e==="foundation-models"){let{AzureOpenAiEmbeddingClient:o}=await import("./index-7ycwqbm0.js"),{FoundationModelsEmbeddingModelStrategy:i}=await import("./foundation-models-embedding-model-strategy-SAVQFBF4-vf44v1q1.js");return new i(o)}let{OrchestrationEmbeddingClient:t}=await import("./index-bvb7f701.js"),{OrchestrationEmbeddingModelStrategy:r}=await import("./orchestration-embedding-model-strategy-GT27AFII-19936r1a.js");return new r(t)}async function R(e){if(e==="foundation-models"){let{AzureOpenAiChatClient:o}=await import("./index-7ycwqbm0.js"),{FoundationModelsLanguageModelStrategy:i}=await import("./foundation-models-language-model-strategy-BPQO66W7-np6pavev.js");return new i(o)}let{OrchestrationClient:t}=await import("./index-bvb7f701.js"),{OrchestrationLanguageModelStrategy:r}=await import("./orchestration-language-model-strategy-YEQPUCOT-eavx3zc3.js");return new r(t)}var L=2048,V=n().int().positive().or(a(1/0)),y=class{maxEmbeddingsPerCall;modelId;provider;specificationVersion="v3";supportsParallelCalls=!0;config;settings;constructor(e,t={},r){if(t.modelParams)V2(t.modelParams);this.modelId=e,this.settings=t,this.config=r,this.provider=r.provider,this.maxEmbeddingsPerCall=V.parse(t.maxEmbeddingsPerCall??L)}async doEmbed(e){let t=mo(this.config.provider),r=await T({provider:t,providerOptions:e.providerOptions,schema:qh}),o=nd(this.config.providerApi,this.settings.api,r?.api);ad({api:o,embeddingSettings:this.settings,invocationSettings:r?{api:r.api}:void 0,modelApi:this.settings.api});let i=await w(o),d={deploymentConfig:this.config.deploymentConfig,destination:this.config.destination,modelId:this.modelId,parsedProviderOptions:r,provider:this.config.provider,requestConfig:this.config.requestConfig};return i.doEmbed(d,this.settings,e,this.maxEmbeddingsPerCall)}},P=class{modelId;specificationVersion="v3";get provider(){return this.config.provider}get supportedUrls(){return{"image/*":[/^https:\/\/.+$/i,/^data:image\/.*$/]}}config;settings;constructor(e,t,r){if(t.modelParams)id(t.modelParams);this.settings=t,this.config=r,this.modelId=e}async doGenerate(e){let{strategy:t,strategyConfig:r}=await this.prepareInvocation(e);return t.doGenerate(r,this.settings,e)}async doStream(e){let{strategy:t,strategyConfig:r}=await this.prepareInvocation(e);return t.doStream(r,this.settings,e)}supportsUrl(e){if(e.protocol==="https:")return!0;if(e.protocol==="data:")return/^data:image\//i.test(e.href);return!1}async prepareInvocation(e){let t=mo(this.config.provider),r=await T({provider:t,providerOptions:e.providerOptions,schema:$h}),o=nd(this.config.providerApi,this.settings.api,r?.api);ad({api:o,invocationSettings:r?{api:r.api,escapeTemplatePlaceholders:r.escapeTemplatePlaceholders,orchestrationConfigRef:r.orchestrationConfigRef,placeholderValues:r.placeholderValues,promptTemplateRef:r.promptTemplateRef}:void 0,modelApi:this.settings.api,modelSettings:this.settings});let i=await E(o),d={deploymentConfig:this.config.deploymentConfig,destination:this.config.destination,modelId:this.modelId,parsedProviderOptions:r,provider:this.config.provider,requestConfig:this.config.requestConfig};return{strategy:i,strategyConfig:d}}};var A=v(se(),1);var de=x(import.meta.url),q=class{maxEmbeddingsPerCall;modelId;provider;specificationVersion="v4";supportsParallelCalls=!0;internalModel;constructor(e,t,r){this.internalModel=new y(e,t,r),this.provider=this.internalModel.provider,this.modelId=this.internalModel.modelId,this.maxEmbeddingsPerCall=this.internalModel.maxEmbeddingsPerCall,this.supportsParallelCalls=this.internalModel.supportsParallelCalls}doEmbed(e){return this.internalModel.doEmbed(e)}};function _(e){return{...e,content:e.content.map((t)=>t.type==="file"?{...t,data:{data:t.data,type:"data"}}:t)}}function G(e){if(e.type!=="file")return e;return{...e,data:{data:e.data,type:"data"}}}function z(e){return e.pipeThrough(new TransformStream({transform(t,r){r.enqueue(G(t))}}))}var F="V4 provider reference file data has no top-level V3 prompt equivalent and is not fetched. Resolve the reference before calling the model.";function U(e){return e.map((t)=>{switch(t.role){case"assistant":return{content:t.content.map(D),providerOptions:t.providerOptions,role:"assistant"};case"system":return{content:t.content,providerOptions:t.providerOptions,role:"system"};case"tool":return{content:t.content.map((r)=>r.type==="tool-result"?S(r):r),providerOptions:t.providerOptions,role:"tool"};case"user":return{content:t.content.map(C),providerOptions:t.providerOptions,role:"user"}}})}function D(e){switch(e.type){case"custom":case"reasoning-file":throw new b({functionality:`Assistant content type '${e.type}' has no V3 equivalent.`});case"file":return C(e);case"tool-result":return S(e);default:return e}}function N(e){if(e.type==="text"||e.type==="custom")return e;switch(e.data.type){case"data":{let t=h(e);return{data:typeof e.data.data==="string"?e.data.data:hd(e.data.data),...e.filename?{filename:e.filename}:{},mediaType:ee({part:t}),providerOptions:e.providerOptions,type:"file-data"}}case"reference":return{fileId:e.data.reference,providerOptions:e.providerOptions,type:"file-id"};case"text":return{providerOptions:e.providerOptions,text:e.data.text,type:"text"};case"url":{let t=md(e.data.url);if(t===void 0)throw new b({functionality:"V4 tool-result URL data is not a genuine URL."});return{providerOptions:e.providerOptions,type:"file-url",url:t}}}}function h(e){let t=e.mediaType.toLowerCase();return t===e.mediaType?e:{...e,mediaType:t}}function k(e){switch(e.type){case"content":return{...e,value:e.value.map((t)=>N(t))};case"error-json":case"error-text":case"execution-denied":case"json":case"text":return e}}function S(e){return{...e,output:k(e.output)}}function C(e){if(e.type==="text")return e;switch(e.data.type){case"data":{let t=h(e);return{...t,data:e.data.data,mediaType:ee({part:t})}}case"reference":throw new b({functionality:F});case"text":return{providerOptions:e.providerOptions,text:e.data.text,type:"text"};case"url":{let t=h(e);return{...t,data:e.data.url,mediaType:t.mediaType==="image"||t.mediaType==="image/*"?"image/*":ee({part:t})}}}}var B=class{modelId;specificationVersion="v4";get provider(){return this.internalModel.provider}get supportedUrls(){return this.internalModel.supportedUrls}internalModel;constructor(e,t,r){this.modelId=e,this.internalModel=new P(e,t,r)}async doGenerate(e){let t=await this.internalModel.doGenerate(O(e));return _(t)}async doStream(e){let t=await this.internalModel.doStream(O(e));return{request:t.request,response:t.response,stream:z(t.stream)}}};function O(e){let{prompt:t,reasoning:r,...o}=e;return{...o,...r!==void 0&&r!=="provider-default"?{reasoning:r}:{},prompt:U(t)}}function j(e={}){if(e.defaultSettings?.modelParams)id(e.defaultSettings.modelParams);let t=e.name??Bh,r=e.resourceGroup??"default";if((e.warnOnAmbiguousConfig??!0)&&e.deploymentId&&e.resourceGroup)console.warn("createSAPAIProviderV4: both 'deploymentId' and 'resourceGroup' were provided; using 'deploymentId' and ignoring 'resourceGroup'.");if(typeof process>"u"||!process.env.SAP_CLOUD_SDK_LOG_LEVEL){let s=e.logLevel??"warn";A.setGlobalLogLevel(s)}let i=e.deploymentId?{deploymentId:e.deploymentId}:{resourceGroup:r},d=e.api??"orchestration",p=(s,c={})=>{let u=zh(e.defaultSettings,c,d);return new B(s,u,{deploymentConfig:i,destination:e.destination,provider:`${t}.chat`,providerApi:d,requestConfig:e.requestConfig})},m=(s,c={})=>{let u=zh(e.defaultSettings,c,d);return new q(s,u,{deploymentConfig:i,destination:e.destination,provider:`${t}.embedding`,providerApi:d,requestConfig:e.requestConfig})},l=function(s,c){if(new.target)throw Error("The SAP AI provider function cannot be called with the new keyword.");return p(s,c)};return l.chat=p,l.languageModel=p,l.embedding=m,l.embeddingModel=m,l.textEmbeddingModel=m,l.imageModel=(s)=>{throw new we({message:`SAP AI Core does not support image generation. Model '${s}' is not available.`,modelId:s,modelType:"imageModel"})},l.specificationVersion="v4",l}var he=j();export{tu as ApiSwitchError,pd as OrchestrationClient,dd as OrchestrationEmbeddingClient,ec as OrchestrationEmbeddingResponse,Zs as OrchestrationResponse,bi as OrchestrationStream,Xs as OrchestrationStreamChunkResponse,Js as OrchestrationStreamResponse,q as SAPAIEmbeddingModel,B as SAPAILanguageModel,Bh as SAP_AI_PROVIDER_NAME,Hs as UnsupportedFeatureError,Kr as VERSION,od as buildAzureContentSafetyFilter,sd as buildDocumentGroundingConfig,cd as buildDpiMaskingProvider,rd as buildLlamaGuard38BFilter,ld as buildTranslationConfig,j as createSAPAIProvider,Q2 as escapeOrchestrationPlaceholders,mo as getProviderName,nd as resolveApi,qh as sapAIEmbeddingProviderOptions,$h as sapAILanguageModelProviderOptions,he as sapai,YT as unescapeOrchestrationPlaceholders,ad as validateSettings};
@@ -0,0 +1,12 @@
1
+ import{v,i,bt,c}from"./index-edf1hmcw.js";var Ln=i(function(vt,Mn){(function(m,u){typeof vt==="object"&&typeof Mn<"u"?u(vt):typeof define==="function"&&define.amd?define(["exports"],u):(m=typeof globalThis<"u"?globalThis:m||self,u(m.WebStreamsPolyfill={}))})(vt,function(m){function u(){return}function l(e){return typeof e==="object"&&e!==null||typeof e==="function"}let p=u;function f(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch(r){}}let C=Promise,T=Promise.prototype.then,be=Promise.reject.bind(C);function q(e){return new C(e)}function S(e){return q((t)=>t(e))}function h(e){return be(e)}function F(e,t,r){return T.call(e,t,r)}function A(e,t,r){F(F(e,t,r),void 0,p)}function N(e,t){A(e,t)}function Y(e,t){A(e,void 0,t)}function x(e,t,r){return F(e,t,r)}function ve(e){F(e,void 0,p)}let me=(e)=>{if(typeof queueMicrotask==="function")me=queueMicrotask;else{let t=S(void 0);me=(r)=>F(t,r)}return me(e)};function pe(e,t,r){if(typeof e!=="function")throw TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function ae(e,t,r){try{return S(pe(e,t,r))}catch(n){return h(n)}}let yr=16384;class z{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(e){let t=this._back,r=t;if(t._elements.length===yr-1)r={_elements:[],_next:void 0};if(t._elements.push(e),r!==t)this._back=r,t._next=r;++this._size}shift(){let e=this._front,t=e,r=this._cursor,n=r+1,o=e._elements,a=o[r];if(n===yr)t=e._next,n=0;if(--this._size,this._cursor=n,e!==t)this._front=t;return o[r]=void 0,a}forEach(e){let t=this._cursor,r=this._front,n=r._elements;while(t!==n.length||r._next!==void 0){if(t===n.length){if(r=r._next,n=r._elements,t=0,n.length===0)break}e(n[t]),++t}}peek(){let e=this._front,t=this._cursor;return e._elements[t]}}let gr=Symbol("[[AbortSteps]]"),Sr=Symbol("[[ErrorSteps]]"),Et=Symbol("[[CancelSteps]]"),qt=Symbol("[[PullSteps]]"),At=Symbol("[[ReleaseSteps]]");function wr(e,t){if(e._ownerReadableStream=t,t._reader=e,t._state==="readable")Wt(e);else if(t._state==="closed")Gn(e);else Rr(e,t._storedError)}function kt(e,t){let r=e._ownerReadableStream;return D(r,t)}function Z(e){let t=e._ownerReadableStream;if(t._state==="readable")Bt(e,TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));else Yn(e,TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));t._readableStreamController[At](),t._reader=void 0,e._ownerReadableStream=void 0}function Je(e){return TypeError("Cannot "+e+" a stream using a released reader")}function Wt(e){e._closedPromise=q((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Rr(e,t){Wt(e),Bt(e,t)}function Gn(e){Wt(e),Cr(e)}function Bt(e,t){if(e._closedPromise_reject===void 0)return;ve(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}function Yn(e,t){Rr(e,t)}function Cr(e){if(e._closedPromise_resolve===void 0)return;e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0}let Pr=Number.isFinite||function(e){return typeof e==="number"&&isFinite(e)},xn=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Zn(e){return typeof e==="object"||typeof e==="function"}function U(e,t){if(e!==void 0&&!Zn(e))throw TypeError(`${t} is not an object.`)}function I(e,t){if(typeof e!=="function")throw TypeError(`${t} is not a function.`)}function Xn(e){return typeof e==="object"&&e!==null||typeof e==="function"}function Tr(e,t){if(!Xn(e))throw TypeError(`${t} is not an object.`)}function X(e,t,r){if(e===void 0)throw TypeError(`Parameter ${t} is required in '${r}'.`)}function Ft(e,t,r){if(e===void 0)throw TypeError(`${t} is required in '${r}'.`)}function zt(e){return Number(e)}function vr(e){return e===0?0:e}function Jn(e){return vr(xn(e))}function Ot(e,t){let n=Number.MAX_SAFE_INTEGER,o=Number(e);if(o=vr(o),!Pr(o))throw TypeError(`${t} is not a finite number`);if(o=Jn(o),o<0||o>n)throw TypeError(`${t} is outside the accepted range of 0 to ${n}, inclusive`);if(!Pr(o)||o===0)return 0;return o}function It(e,t){if(!de(e))throw TypeError(`${t} is not a ReadableStream.`)}function Ee(e){return new J(e)}function Er(e,t){e._reader._readRequests.push(t)}function jt(e,t,r){let o=e._reader._readRequests.shift();if(r)o._closeSteps();else o._chunkSteps(t)}function Ke(e){return e._reader._readRequests.length}function qr(e){let t=e._reader;if(t===void 0)return!1;if(!se(t))return!1;return!0}class J{constructor(e){if(X(e,1,"ReadableStreamDefaultReader"),It(e,"First parameter"),ce(e))throw TypeError("This stream has already been locked for exclusive reading by another reader");wr(this,e),this._readRequests=new z}get closed(){if(!se(this))return h(et("closed"));return this._closedPromise}cancel(e=void 0){if(!se(this))return h(et("cancel"));if(this._ownerReadableStream===void 0)return h(Je("cancel"));return kt(this,e)}read(){if(!se(this))return h(et("read"));if(this._ownerReadableStream===void 0)return h(Je("read from"));let e,t,r=q((o,a)=>{e=o,t=a});return Me(this,{_chunkSteps:(o)=>e({value:o,done:!1}),_closeSteps:()=>e({value:void 0,done:!0}),_errorSteps:(o)=>t(o)}),r}releaseLock(){if(!se(this))throw et("releaseLock");if(this._ownerReadableStream===void 0)return;Kn(this)}}if(Object.defineProperties(J.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),f(J.prototype.cancel,"cancel"),f(J.prototype.read,"read"),f(J.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(J.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function se(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_readRequests"))return!1;return e instanceof J}function Me(e,t){let r=e._ownerReadableStream;if(r._disturbed=!0,r._state==="closed")t._closeSteps();else if(r._state==="errored")t._errorSteps(r._storedError);else r._readableStreamController[qt](t)}function Kn(e){Z(e);let t=TypeError("Reader was released");Ar(e,t)}function Ar(e,t){let r=e._readRequests;e._readRequests=new z,r.forEach((n)=>{n._errorSteps(t)})}function et(e){return TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}let eo=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class Mt{constructor(e,t){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=e,this._preventCancel=t}next(){let e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?x(this._ongoingPromise,e,e):e(),this._ongoingPromise}return(e){let t=()=>this._returnSteps(e);return this._ongoingPromise?x(this._ongoingPromise,t,t):t()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let e=this._reader,t,r,n=q((a,s)=>{t=a,r=s});return Me(e,{_chunkSteps:(a)=>{this._ongoingPromise=void 0,me(()=>t({value:a,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Z(e),t({value:void 0,done:!0})},_errorSteps:(a)=>{this._ongoingPromise=void 0,this._isFinished=!0,Z(e),r(a)}}),n}_returnSteps(e){if(this._isFinished)return Promise.resolve({value:e,done:!0});this._isFinished=!0;let t=this._reader;if(!this._preventCancel){let r=kt(t,e);return Z(t),x(r,()=>({value:e,done:!0}))}return Z(t),S({value:e,done:!0})}}let kr={next(){if(!Wr(this))return h(Br("next"));return this._asyncIteratorImpl.next()},return(e){if(!Wr(this))return h(Br("return"));return this._asyncIteratorImpl.return(e)}};Object.setPrototypeOf(kr,eo);function to(e,t){let r=Ee(e),n=new Mt(r,t),o=Object.create(kr);return o._asyncIteratorImpl=n,o}function Wr(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof Mt}catch(t){return!1}}function Br(e){return TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}let Fr=Number.isNaN||function(e){return e!==e};var Lt,$t,Dt;function Le(e){return e.slice()}function zr(e,t,r,n,o){new Uint8Array(e).set(new Uint8Array(r,n,o),t)}let K=(e)=>{if(typeof e.transfer==="function")K=(t)=>t.transfer();else if(typeof structuredClone==="function")K=(t)=>structuredClone(t,{transfer:[t]});else K=(t)=>t;return K(e)},ue=(e)=>{if(typeof e.detached==="boolean")ue=(t)=>t.detached;else ue=(t)=>t.byteLength===0;return ue(e)};function Or(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,o=new ArrayBuffer(n);return zr(o,0,e,t,n),o}function tt(e,t){let r=e[t];if(r===void 0||r===null)return;if(typeof r!=="function")throw TypeError(`${String(t)} is not a function`);return r}function ro(e){let t={[Symbol.iterator]:()=>e.iterator},r=async function*(){return yield*t}(),n=r.next;return{iterator:r,nextMethod:n,done:!1}}let Nt=(Dt=(Lt=Symbol.asyncIterator)!==null&&Lt!==void 0?Lt:($t=Symbol.for)===null||$t===void 0?void 0:$t.call(Symbol,"Symbol.asyncIterator"))!==null&&Dt!==void 0?Dt:"@@asyncIterator";function Ir(e,t="sync",r){if(r===void 0)if(t==="async"){if(r=tt(e,Nt),r===void 0){let a=tt(e,Symbol.iterator),s=Ir(e,"sync",a);return ro(s)}}else r=tt(e,Symbol.iterator);if(r===void 0)throw TypeError("The object is not iterable");let n=pe(r,e,[]);if(!l(n))throw TypeError("The iterator method must return an object");let o=n.next;return{iterator:n,nextMethod:o,done:!1}}function no(e){let t=pe(e.nextMethod,e.iterator,[]);if(!l(t))throw TypeError("The iterator.next() method must return an object");return t}function oo(e){return Boolean(e.done)}function io(e){return e.value}function ao(e){if(typeof e!=="number")return!1;if(Fr(e))return!1;if(e<0)return!1;return!0}function jr(e){let t=Or(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function Ut(e){let t=e._queue.shift();if(e._queueTotalSize-=t.size,e._queueTotalSize<0)e._queueTotalSize=0;return t.value}function Vt(e,t,r){if(!ao(r)||r===1/0)throw RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function so(e){return e._queue.peek().value}function le(e){e._queue=new z,e._queueTotalSize=0}function Mr(e){return e===DataView}function uo(e){return Mr(e.constructor)}function lo(e){if(Mr(e))return 1;return e.BYTES_PER_ELEMENT}class fe{constructor(){throw TypeError("Illegal constructor")}get view(){if(!Ht(this))throw Zt("view");return this._view}respond(e){if(!Ht(this))throw Zt("respond");if(X(e,1,"respond"),e=Ot(e,"First parameter"),this._associatedReadableByteStreamController===void 0)throw TypeError("This BYOB request has been invalidated");if(ue(this._view.buffer))throw TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");it(this._associatedReadableByteStreamController,e)}respondWithNewView(e){if(!Ht(this))throw Zt("respondWithNewView");if(X(e,1,"respondWithNewView"),!ArrayBuffer.isView(e))throw TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw TypeError("This BYOB request has been invalidated");if(ue(e.buffer))throw TypeError("The given view's buffer has been detached and so cannot be used as a response");at(this._associatedReadableByteStreamController,e)}}if(Object.defineProperties(fe.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),f(fe.prototype.respond,"respond"),f(fe.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(fe.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class V{constructor(){throw TypeError("Illegal constructor")}get byobRequest(){if(!_e(this))throw De("byobRequest");return xt(this)}get desiredSize(){if(!_e(this))throw De("desiredSize");return xr(this)}close(){if(!_e(this))throw De("close");if(this._closeRequested)throw TypeError("The stream has already been closed; do not close it again!");let e=this._controlledReadableByteStream._state;if(e!=="readable")throw TypeError(`The stream (in ${e} state) is not in the readable state and cannot be closed`);$e(this)}enqueue(e){if(!_e(this))throw De("enqueue");if(X(e,1,"enqueue"),!ArrayBuffer.isView(e))throw TypeError("chunk must be an array buffer view");if(e.byteLength===0)throw TypeError("chunk must have non-zero byteLength");if(e.buffer.byteLength===0)throw TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw TypeError("stream is closed or draining");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw TypeError(`The stream (in ${t} state) is not in the readable state and cannot be enqueued to`);ot(this,e)}error(e=void 0){if(!_e(this))throw De("error");j(this,e)}[Et](e){Lr(this),le(this);let t=this._cancelAlgorithm(e);return nt(this),t}[qt](e){let t=this._controlledReadableByteStream;if(this._queueTotalSize>0){Yr(this,e);return}let r=this._autoAllocateChunkSize;if(r!==void 0){let n;try{n=new ArrayBuffer(r)}catch(a){e._errorSteps(a);return}let o={buffer:n,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(o)}Er(t,e),ye(this)}[At](){if(this._pendingPullIntos.length>0){let e=this._pendingPullIntos.peek();e.readerType="none",this._pendingPullIntos=new z,this._pendingPullIntos.push(e)}}}if(Object.defineProperties(V.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),f(V.prototype.close,"close"),f(V.prototype.enqueue,"enqueue"),f(V.prototype.error,"error"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(V.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function _e(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream"))return!1;return e instanceof V}function Ht(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController"))return!1;return e instanceof fe}function ye(e){if(!mo(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();A(r,()=>{if(e._pulling=!1,e._pullAgain)e._pullAgain=!1,ye(e);return null},(n)=>(j(e,n),null))}function Lr(e){Gt(e),e._pendingPullIntos=new z}function Qt(e,t){let r=!1;if(e._state==="closed")r=!0;let n=$r(t);if(t.readerType==="default")jt(e,n,r);else wo(e,n,r)}function $r(e){let{bytesFilled:t,elementSize:r}=e;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function rt(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function Dr(e,t,r,n){let o;try{o=Or(t,r,r+n)}catch(a){throw j(e,a),a}rt(e,o,0,n)}function Nr(e,t){if(t.bytesFilled>0)Dr(e,t.buffer,t.byteOffset,t.bytesFilled);qe(e)}function Ur(e,t){let r=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),n=t.bytesFilled+r,o=r,a=!1,s=n%t.elementSize,d=n-s;if(d>=t.minimumFill)o=d-t.bytesFilled,a=!0;let b=e._queue;while(o>0){let y=b.peek(),g=Math.min(o,y.byteLength),w=t.byteOffset+t.bytesFilled;if(zr(t.buffer,w,y.buffer,y.byteOffset,g),y.byteLength===g)b.shift();else y.byteOffset+=g,y.byteLength-=g;e._queueTotalSize-=g,Vr(e,g,t),o-=g}return a}function Vr(e,t,r){r.bytesFilled+=t}function Qr(e){if(e._queueTotalSize===0&&e._closeRequested)nt(e),Ge(e._controlledReadableByteStream);else ye(e)}function Gt(e){if(e._byobRequest===null)return;e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null}function Yt(e){while(e._pendingPullIntos.length>0){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();if(Ur(e,t))qe(e),Qt(e._controlledReadableByteStream,t)}}function fo(e){let t=e._controlledReadableByteStream._reader;while(t._readRequests.length>0){if(e._queueTotalSize===0)return;let r=t._readRequests.shift();Yr(e,r)}}function co(e,t,r,n){let o=e._controlledReadableByteStream,a=t.constructor,s=lo(a),{byteOffset:d,byteLength:b}=t,y=r*s,g;try{g=K(t.buffer)}catch(P){n._errorSteps(P);return}let w={buffer:g,bufferByteLength:g.byteLength,byteOffset:d,byteLength:b,bytesFilled:0,minimumFill:y,elementSize:s,viewConstructor:a,readerType:"byob"};if(e._pendingPullIntos.length>0){e._pendingPullIntos.push(w),Jr(o,n);return}if(o._state==="closed"){let P=new a(w.buffer,w.byteOffset,0);n._closeSteps(P);return}if(e._queueTotalSize>0){if(Ur(e,w)){let P=$r(w);Qr(e),n._chunkSteps(P);return}if(e._closeRequested){let P=TypeError("Insufficient bytes to fill elements in the given buffer");j(e,P),n._errorSteps(P);return}}e._pendingPullIntos.push(w),Jr(o,n),ye(e)}function ho(e,t){if(t.readerType==="none")qe(e);let r=e._controlledReadableByteStream;if(Xt(r))while(Kr(r)>0){let n=qe(e);Qt(r,n)}}function bo(e,t,r){if(Vr(e,t,r),r.readerType==="none"){Nr(e,r),Yt(e);return}if(r.bytesFilled<r.minimumFill)return;qe(e);let n=r.bytesFilled%r.elementSize;if(n>0){let o=r.byteOffset+r.bytesFilled;Dr(e,r.buffer,o-n,n)}r.bytesFilled-=n,Qt(e._controlledReadableByteStream,r),Yt(e)}function Gr(e,t){let r=e._pendingPullIntos.peek();if(Gt(e),e._controlledReadableByteStream._state==="closed")ho(e,r);else bo(e,t,r);ye(e)}function qe(e){return e._pendingPullIntos.shift()}function mo(e){let t=e._controlledReadableByteStream;if(t._state!=="readable")return!1;if(e._closeRequested)return!1;if(!e._started)return!1;if(qr(t)&&Ke(t)>0)return!0;if(Xt(t)&&Kr(t)>0)return!0;if(xr(e)>0)return!0;return!1}function nt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function $e(e){let t=e._controlledReadableByteStream;if(e._closeRequested||t._state!=="readable")return;if(e._queueTotalSize>0){e._closeRequested=!0;return}if(e._pendingPullIntos.length>0){let r=e._pendingPullIntos.peek();if(r.bytesFilled%r.elementSize!==0){let n=TypeError("Insufficient bytes to fill elements in the given buffer");throw j(e,n),n}}nt(e),Ge(t)}function ot(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let{buffer:n,byteOffset:o,byteLength:a}=t;if(ue(n))throw TypeError("chunk's buffer is detached and so cannot be enqueued");let s=K(n);if(e._pendingPullIntos.length>0){let d=e._pendingPullIntos.peek();if(ue(d.buffer))throw TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");if(Gt(e),d.buffer=K(d.buffer),d.readerType==="none")Nr(e,d)}if(qr(r))if(fo(e),Ke(r)===0)rt(e,s,o,a);else{if(e._pendingPullIntos.length>0)qe(e);let d=new Uint8Array(s,o,a);jt(r,d,!1)}else if(Xt(r))rt(e,s,o,a),Yt(e);else rt(e,s,o,a);ye(e)}function j(e,t){let r=e._controlledReadableByteStream;if(r._state!=="readable")return;Lr(e),le(e),nt(e),Pn(r,t)}function Yr(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,Qr(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function xt(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(fe.prototype);_o(n,e,r),e._byobRequest=n}return e._byobRequest}function xr(e){let t=e._controlledReadableByteStream._state;if(t==="errored")return null;if(t==="closed")return 0;return e._strategyHWM-e._queueTotalSize}function it(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw RangeError("bytesWritten out of range")}r.buffer=K(r.buffer),Gr(e,t)}function at(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw RangeError("The region specified by view is larger than byobRequest");let o=t.byteLength;r.buffer=K(t.buffer),Gr(e,o)}function Zr(e,t,r,n,o,a,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,le(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=o,t._autoAllocateChunkSize=s,t._pendingPullIntos=new z,e._readableStreamController=t;let d=r();A(S(d),()=>(t._started=!0,ye(t),null),(b)=>(j(t,b),null))}function po(e,t,r){let n=Object.create(V.prototype),o,a,s;if(t.start!==void 0)o=()=>t.start(n);else o=()=>{return};if(t.pull!==void 0)a=()=>t.pull(n);else a=()=>S(void 0);if(t.cancel!==void 0)s=(b)=>t.cancel(b);else s=()=>S(void 0);let d=t.autoAllocateChunkSize;if(d===0)throw TypeError("autoAllocateChunkSize must be greater than 0");Zr(e,n,o,a,s,r,d)}function _o(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}function Zt(e){return TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function De(e){return TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function yo(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.mode;return{mode:r===void 0?void 0:go(r,`${t} has member 'mode' that`)}}function go(e,t){if(e=`${e}`,e!=="byob")throw TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function So(e,t){var r;U(e,t);let n=(r=e===null||e===void 0?void 0:e.min)!==null&&r!==void 0?r:1;return{min:Ot(n,`${t} has member 'min' that`)}}function Xr(e){return new ee(e)}function Jr(e,t){e._reader._readIntoRequests.push(t)}function wo(e,t,r){let o=e._reader._readIntoRequests.shift();if(r)o._closeSteps(t);else o._chunkSteps(t)}function Kr(e){return e._reader._readIntoRequests.length}function Xt(e){let t=e._reader;if(t===void 0)return!1;if(!ge(t))return!1;return!0}class ee{constructor(e){if(X(e,1,"ReadableStreamBYOBReader"),It(e,"First parameter"),ce(e))throw TypeError("This stream has already been locked for exclusive reading by another reader");if(!_e(e._readableStreamController))throw TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");wr(this,e),this._readIntoRequests=new z}get closed(){if(!ge(this))return h(st("closed"));return this._closedPromise}cancel(e=void 0){if(!ge(this))return h(st("cancel"));if(this._ownerReadableStream===void 0)return h(Je("cancel"));return kt(this,e)}read(e,t={}){if(!ge(this))return h(st("read"));if(!ArrayBuffer.isView(e))return h(TypeError("view must be an array buffer view"));if(e.byteLength===0)return h(TypeError("view must have non-zero byteLength"));if(e.buffer.byteLength===0)return h(TypeError("view's buffer must have non-zero byteLength"));if(ue(e.buffer))return h(TypeError("view's buffer has been detached"));let r;try{r=So(t,"options")}catch(b){return h(b)}let n=r.min;if(n===0)return h(TypeError("options.min must be greater than 0"));if(!uo(e)){if(n>e.length)return h(RangeError("options.min must be less than or equal to view's length"))}else if(n>e.byteLength)return h(RangeError("options.min must be less than or equal to view's byteLength"));if(this._ownerReadableStream===void 0)return h(Je("read from"));let o,a,s=q((b,y)=>{o=b,a=y});return en(this,e,n,{_chunkSteps:(b)=>o({value:b,done:!1}),_closeSteps:(b)=>o({value:b,done:!0}),_errorSteps:(b)=>a(b)}),s}releaseLock(){if(!ge(this))throw st("releaseLock");if(this._ownerReadableStream===void 0)return;Ro(this)}}if(Object.defineProperties(ee.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),f(ee.prototype.cancel,"cancel"),f(ee.prototype.read,"read"),f(ee.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(ee.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function ge(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests"))return!1;return e instanceof ee}function en(e,t,r,n){let o=e._ownerReadableStream;if(o._disturbed=!0,o._state==="errored")n._errorSteps(o._storedError);else co(o._readableStreamController,t,r,n)}function Ro(e){Z(e);let t=TypeError("Reader was released");tn(e,t)}function tn(e,t){let r=e._readIntoRequests;e._readIntoRequests=new z,r.forEach((n)=>{n._errorSteps(t)})}function st(e){return TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function Ne(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(Fr(r)||r<0)throw RangeError("Invalid highWaterMark");return r}function ut(e){let{size:t}=e;if(!t)return()=>1;return t}function lt(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.highWaterMark,n=e===null||e===void 0?void 0:e.size;return{highWaterMark:r===void 0?void 0:zt(r),size:n===void 0?void 0:Co(n,`${t} has member 'size' that`)}}function Co(e,t){return I(e,t),(r)=>zt(e(r))}function Po(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.abort,n=e===null||e===void 0?void 0:e.close,o=e===null||e===void 0?void 0:e.start,a=e===null||e===void 0?void 0:e.type,s=e===null||e===void 0?void 0:e.write;return{abort:r===void 0?void 0:To(r,e,`${t} has member 'abort' that`),close:n===void 0?void 0:vo(n,e,`${t} has member 'close' that`),start:o===void 0?void 0:Eo(o,e,`${t} has member 'start' that`),write:s===void 0?void 0:qo(s,e,`${t} has member 'write' that`),type:a}}function To(e,t,r){return I(e,r),(n)=>ae(e,t,[n])}function vo(e,t,r){return I(e,r),()=>ae(e,t,[])}function Eo(e,t,r){return I(e,r),(n)=>pe(e,t,[n])}function qo(e,t,r){return I(e,r),(n,o)=>ae(e,t,[n,o])}function rn(e,t){if(!Ae(e))throw TypeError(`${t} is not a WritableStream.`)}function Ao(e){if(typeof e!=="object"||e===null)return!1;try{return typeof e.aborted==="boolean"}catch(t){return!1}}let ko=typeof AbortController==="function";function Wo(){if(ko)return new AbortController;return}class te{constructor(e={},t={}){if(e===void 0)e=null;else Tr(e,"First parameter");let r=lt(t,"Second parameter"),n=Po(e,"First parameter");if(on(this),n.type!==void 0)throw RangeError("Invalid type is specified");let a=ut(r),s=Ne(r,1);Qo(this,n,s,a)}get locked(){if(!Ae(this))throw mt("locked");return ke(this)}abort(e=void 0){if(!Ae(this))return h(mt("abort"));if(ke(this))return h(TypeError("Cannot abort a stream that already has a writer"));return ft(this,e)}close(){if(!Ae(this))return h(mt("close"));if(ke(this))return h(TypeError("Cannot close a stream that already has a writer"));if(H(this))return h(TypeError("Cannot close an already-closing stream"));return an(this)}getWriter(){if(!Ae(this))throw mt("getWriter");return nn(this)}}if(Object.defineProperties(te.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),f(te.prototype.abort,"abort"),f(te.prototype.close,"close"),f(te.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(te.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function nn(e){return new Q(e)}function Bo(e,t,r,n,o=1,a=()=>1){let s=Object.create(te.prototype);on(s);let d=Object.create(we.prototype);return cn(s,d,e,t,r,n,o,a),s}function on(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new z,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function Ae(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_writableStreamController"))return!1;return e instanceof te}function ke(e){if(e._writer===void 0)return!1;return!0}function ft(e,t){var r;if(e._state==="closed"||e._state==="errored")return S(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return S(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let o=!1;if(n==="erroring")o=!0,t=void 0;let a=q((s,d)=>{e._pendingAbortRequest={_promise:void 0,_resolve:s,_reject:d,_reason:t,_wasAlreadyErroring:o}});if(e._pendingAbortRequest._promise=a,!o)Kt(e,t);return a}function an(e){let t=e._state;if(t==="closed"||t==="errored")return h(TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=q((o,a)=>{let s={_resolve:o,_reject:a};e._closeRequest=s}),n=e._writer;if(n!==void 0&&e._backpressure&&t==="writable")sr(n);return Go(e._writableStreamController),r}function Fo(e){return q((r,n)=>{let o={_resolve:r,_reject:n};e._writeRequests.push(o)})}function Jt(e,t){if(e._state==="writable"){Kt(e,t);return}er(e)}function Kt(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;if(n!==void 0)un(n,t);if(!Lo(e)&&r._started)er(e)}function er(e){e._state="errored",e._writableStreamController[Sr]();let t=e._storedError;if(e._writeRequests.forEach((o)=>{o._reject(t)}),e._writeRequests=new z,e._pendingAbortRequest===void 0){dt(e);return}let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring){r._reject(t),dt(e);return}let n=e._writableStreamController[gr](r._reason);A(n,()=>(r._resolve(),dt(e),null),(o)=>(r._reject(o),dt(e),null))}function Oo(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}function Io(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,Jt(e,t)}function jo(e){if(e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,e._state==="erroring"){if(e._storedError=void 0,e._pendingAbortRequest!==void 0)e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0}e._state="closed";let r=e._writer;if(r!==void 0)pn(r)}function Mo(e,t){if(e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,e._pendingAbortRequest!==void 0)e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0;Jt(e,t)}function H(e){if(e._closeRequest===void 0&&e._inFlightCloseRequest===void 0)return!1;return!0}function Lo(e){if(e._inFlightWriteRequest===void 0&&e._inFlightCloseRequest===void 0)return!1;return!0}function $o(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0}function Do(e){e._inFlightWriteRequest=e._writeRequests.shift()}function dt(e){if(e._closeRequest!==void 0)e._closeRequest._reject(e._storedError),e._closeRequest=void 0;let t=e._writer;if(t!==void 0)ir(t,e._storedError)}function tr(e,t){let r=e._writer;if(r!==void 0&&t!==e._backpressure)if(t)ei(r);else sr(r);e._backpressure=t}class Q{constructor(e){if(X(e,1,"WritableStreamDefaultWriter"),rn(e,"First parameter"),ke(e))throw TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=e,e._writer=this;let t=e._state;if(t==="writable"){if(!H(e)&&e._backpressure)_t(this);else _n(this);pt(this)}else if(t==="erroring")ar(this,e._storedError),pt(this);else if(t==="closed")_n(this),Jo(this);else{let r=e._storedError;ar(this,r),mn(this,r)}}get closed(){if(!Se(this))return h(Re("closed"));return this._closedPromise}get desiredSize(){if(!Se(this))throw Re("desiredSize");if(this._ownerWritableStream===void 0)throw Ve("desiredSize");return Ho(this)}get ready(){if(!Se(this))return h(Re("ready"));return this._readyPromise}abort(e=void 0){if(!Se(this))return h(Re("abort"));if(this._ownerWritableStream===void 0)return h(Ve("abort"));return No(this,e)}close(){if(!Se(this))return h(Re("close"));let e=this._ownerWritableStream;if(e===void 0)return h(Ve("close"));if(H(e))return h(TypeError("Cannot close an already-closing stream"));return sn(this)}releaseLock(){if(!Se(this))throw Re("releaseLock");if(this._ownerWritableStream===void 0)return;ln(this)}write(e=void 0){if(!Se(this))return h(Re("write"));if(this._ownerWritableStream===void 0)return h(Ve("write to"));return fn(this,e)}}if(Object.defineProperties(Q.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),f(Q.prototype.abort,"abort"),f(Q.prototype.close,"close"),f(Q.prototype.releaseLock,"releaseLock"),f(Q.prototype.write,"write"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(Q.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function Se(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream"))return!1;return e instanceof Q}function No(e,t){let r=e._ownerWritableStream;return ft(r,t)}function sn(e){let t=e._ownerWritableStream;return an(t)}function Uo(e){let t=e._ownerWritableStream,r=t._state;if(H(t)||r==="closed")return S(void 0);if(r==="errored")return h(t._storedError);return sn(e)}function Vo(e,t){if(e._closedPromiseState==="pending")ir(e,t);else Ko(e,t)}function un(e,t){if(e._readyPromiseState==="pending")yn(e,t);else ti(e,t)}function Ho(e){let t=e._ownerWritableStream,r=t._state;if(r==="errored"||r==="erroring")return null;if(r==="closed")return 0;return hn(t._writableStreamController)}function ln(e){let t=e._ownerWritableStream,r=TypeError("Writer was released and can no longer be used to monitor the stream's closedness");un(e,r),Vo(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function fn(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,o=Yo(n,t);if(r!==e._ownerWritableStream)return h(Ve("write to"));let a=r._state;if(a==="errored")return h(r._storedError);if(H(r)||a==="closed")return h(TypeError("The stream is closing or closed and cannot be written to"));if(a==="erroring")return h(r._storedError);let s=Fo(r);return xo(n,t,o),s}let dn={};class we{constructor(){throw TypeError("Illegal constructor")}get abortReason(){if(!rr(this))throw or("abortReason");return this._abortReason}get signal(){if(!rr(this))throw or("signal");if(this._abortController===void 0)throw TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(e=void 0){if(!rr(this))throw or("error");if(this._controlledWritableStream._state!=="writable")return;bn(this,e)}[gr](e){let t=this._abortAlgorithm(e);return ct(this),t}[Sr](){le(this)}}if(Object.defineProperties(we.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag==="symbol")Object.defineProperty(we.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function rr(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream"))return!1;return e instanceof we}function cn(e,t,r,n,o,a,s,d){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,le(t),t._abortReason=void 0,t._abortController=Wo(),t._started=!1,t._strategySizeAlgorithm=d,t._strategyHWM=s,t._writeAlgorithm=n,t._closeAlgorithm=o,t._abortAlgorithm=a;let b=nr(t);tr(e,b);let y=r(),g=S(y);A(g,()=>(t._started=!0,ht(t),null),(w)=>(t._started=!0,Jt(e,w),null))}function Qo(e,t,r,n){let o=Object.create(we.prototype),a,s,d,b;if(t.start!==void 0)a=()=>t.start(o);else a=()=>{return};if(t.write!==void 0)s=(y)=>t.write(y,o);else s=()=>S(void 0);if(t.close!==void 0)d=()=>t.close();else d=()=>S(void 0);if(t.abort!==void 0)b=(y)=>t.abort(y);else b=()=>S(void 0);cn(e,o,a,s,d,b,r,n)}function ct(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Go(e){Vt(e,dn,0),ht(e)}function Yo(e,t){try{return e._strategySizeAlgorithm(t)}catch(r){return Ue(e,r),1}}function hn(e){return e._strategyHWM-e._queueTotalSize}function xo(e,t,r){try{Vt(e,t,r)}catch(o){Ue(e,o);return}let n=e._controlledWritableStream;if(!H(n)&&n._state==="writable"){let o=nr(e);tr(n,o)}ht(e)}function ht(e){let t=e._controlledWritableStream;if(!e._started)return;if(t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring"){er(t);return}if(e._queue.length===0)return;let n=so(e);if(n===dn)Zo(e);else Xo(e,n)}function Ue(e,t){if(e._controlledWritableStream._state==="writable")bn(e,t)}function Zo(e){let t=e._controlledWritableStream;$o(t),Ut(e);let r=e._closeAlgorithm();ct(e),A(r,()=>(jo(t),null),(n)=>(Mo(t,n),null))}function Xo(e,t){let r=e._controlledWritableStream;Do(r);let n=e._writeAlgorithm(t);A(n,()=>{Oo(r);let o=r._state;if(Ut(e),!H(r)&&o==="writable"){let a=nr(e);tr(r,a)}return ht(e),null},(o)=>{if(r._state==="writable")ct(e);return Io(r,o),null})}function nr(e){return hn(e)<=0}function bn(e,t){let r=e._controlledWritableStream;ct(e),Kt(r,t)}function mt(e){return TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function or(e){return TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Re(e){return TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function Ve(e){return TypeError("Cannot "+e+" a stream using a released writer")}function pt(e){e._closedPromise=q((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function mn(e,t){pt(e),ir(e,t)}function Jo(e){pt(e),pn(e)}function ir(e,t){if(e._closedPromise_reject===void 0)return;ve(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected"}function Ko(e,t){mn(e,t)}function pn(e){if(e._closedPromise_resolve===void 0)return;e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved"}function _t(e){e._readyPromise=q((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function ar(e,t){_t(e),yn(e,t)}function _n(e){_t(e),sr(e)}function yn(e,t){if(e._readyPromise_reject===void 0)return;ve(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected"}function ei(e){_t(e)}function ti(e,t){ar(e,t)}function sr(e){if(e._readyPromise_resolve===void 0)return;e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled"}function ri(){if(typeof globalThis<"u")return globalThis;else if(typeof self<"u")return self;else if(typeof global<"u")return global;return}let ur=ri();function ni(e){if(!(typeof e==="function"||typeof e==="object"))return!1;if(e.name!=="DOMException")return!1;try{return new e,!0}catch(t){return!1}}function oi(){let e=ur===null||ur===void 0?void 0:ur.DOMException;return ni(e)?e:void 0}function ii(){let e=function(r,n){if(this.message=r||"",this.name=n||"Error",Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)};return f(e,"DOMException"),e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}let ai=oi()||ii();function gn(e,t,r,n,o,a){let s=Ee(e),d=nn(t);e._disturbed=!0;let b=!1,y=S(void 0);return q((g,w)=>{let P;if(a!==void 0){if(P=()=>{let _=a.reason!==void 0?a.reason:new ai("Aborted","AbortError"),R=[];if(!n)R.push(()=>{if(t._state==="writable")return ft(t,_);return S(void 0)});if(!o)R.push(()=>{if(e._state==="readable")return D(e,_);return S(void 0)});B(()=>Promise.all(R.map((E)=>E())),!0,_)},a.aborted){P();return}a.addEventListener("abort",P)}function ne(){return q((_,R)=>{function E(O){if(O)_();else F(ze(),E,R)}E(!1)})}function ze(){if(b)return S(!0);return F(d._readyPromise,()=>q((_,R)=>{Me(s,{_chunkSteps:(E)=>{y=F(fn(d,E),void 0,u),_(!1)},_closeSteps:()=>_(!0),_errorSteps:R})}))}if(oe(e,s._closedPromise,(_)=>{if(!n)B(()=>ft(t,_),!0,_);else M(!0,_);return null}),oe(t,d._closedPromise,(_)=>{if(!o)B(()=>D(e,_),!0,_);else M(!0,_);return null}),W(e,s._closedPromise,()=>{if(!r)B(()=>Uo(d));else M();return null}),H(t)||t._state==="closed"){let _=TypeError("the destination writable stream closed before all data could be piped to it");if(!o)B(()=>D(e,_),!0,_);else M(!0,_)}ve(ne());function he(){let _=y;return F(y,()=>_!==y?he():void 0)}function oe(_,R,E){if(_._state==="errored")E(_._storedError);else Y(R,E)}function W(_,R,E){if(_._state==="closed")E();else N(R,E)}function B(_,R,E){if(b)return;if(b=!0,t._state==="writable"&&!H(t))N(he(),O);else O();function O(){return A(_(),()=>ie(R,E),(Oe)=>ie(!0,Oe)),null}}function M(_,R){if(b)return;if(b=!0,t._state==="writable"&&!H(t))N(he(),()=>ie(_,R));else ie(_,R)}function ie(_,R){if(ln(d),Z(s),a!==void 0)a.removeEventListener("abort",P);if(_)w(R);else g(void 0);return null}})}class G{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!yt(this))throw St("desiredSize");return lr(this)}close(){if(!yt(this))throw St("close");if(!Be(this))throw TypeError("The stream is not in a state that permits close");Ce(this)}enqueue(e=void 0){if(!yt(this))throw St("enqueue");if(!Be(this))throw TypeError("The stream is not in a state that permits enqueue");return We(this,e)}error(e=void 0){if(!yt(this))throw St("error");L(this,e)}[Et](e){le(this);let t=this._cancelAlgorithm(e);return gt(this),t}[qt](e){let t=this._controlledReadableStream;if(this._queue.length>0){let r=Ut(this);if(this._closeRequested&&this._queue.length===0)gt(this),Ge(t);else He(this);e._chunkSteps(r)}else Er(t,e),He(this)}[At](){}}if(Object.defineProperties(G.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),f(G.prototype.close,"close"),f(G.prototype.enqueue,"enqueue"),f(G.prototype.error,"error"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(G.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function yt(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream"))return!1;return e instanceof G}function He(e){if(!Sn(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();A(r,()=>{if(e._pulling=!1,e._pullAgain)e._pullAgain=!1,He(e);return null},(n)=>(L(e,n),null))}function Sn(e){let t=e._controlledReadableStream;if(!Be(e))return!1;if(!e._started)return!1;if(ce(t)&&Ke(t)>0)return!0;if(lr(e)>0)return!0;return!1}function gt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function Ce(e){if(!Be(e))return;let t=e._controlledReadableStream;if(e._closeRequested=!0,e._queue.length===0)gt(e),Ge(t)}function We(e,t){if(!Be(e))return;let r=e._controlledReadableStream;if(ce(r)&&Ke(r)>0)jt(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(o){throw L(e,o),o}try{Vt(e,t,n)}catch(o){throw L(e,o),o}}He(e)}function L(e,t){let r=e._controlledReadableStream;if(r._state!=="readable")return;le(e),gt(e),Pn(r,t)}function lr(e){let t=e._controlledReadableStream._state;if(t==="errored")return null;if(t==="closed")return 0;return e._strategyHWM-e._queueTotalSize}function si(e){if(Sn(e))return!1;return!0}function Be(e){let t=e._controlledReadableStream._state;if(!e._closeRequested&&t==="readable")return!0;return!1}function wn(e,t,r,n,o,a,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,le(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=a,t._pullAlgorithm=n,t._cancelAlgorithm=o,e._readableStreamController=t;let d=r();A(S(d),()=>(t._started=!0,He(t),null),(b)=>(L(t,b),null))}function ui(e,t,r,n){let o=Object.create(G.prototype),a,s,d;if(t.start!==void 0)a=()=>t.start(o);else a=()=>{return};if(t.pull!==void 0)s=()=>t.pull(o);else s=()=>S(void 0);if(t.cancel!==void 0)d=(b)=>t.cancel(b);else d=()=>S(void 0);wn(e,o,a,s,d,r,n)}function St(e){return TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function li(e,t){if(_e(e._readableStreamController))return di(e);return fi(e)}function fi(e,t){let r=Ee(e),n=!1,o=!1,a=!1,s=!1,d,b,y,g,w,P=q((W)=>{w=W});function ne(){if(n)return o=!0,S(void 0);return n=!0,Me(r,{_chunkSteps:(B)=>{me(()=>{o=!1;let M=B,ie=B;if(!a)We(y._readableStreamController,M);if(!s)We(g._readableStreamController,ie);if(n=!1,o)ne()})},_closeSteps:()=>{if(n=!1,!a)Ce(y._readableStreamController);if(!s)Ce(g._readableStreamController);if(!a||!s)w(void 0)},_errorSteps:()=>{n=!1}}),S(void 0)}function ze(W){if(a=!0,d=W,s){let B=Le([d,b]),M=D(e,B);w(M)}return P}function he(W){if(s=!0,b=W,a){let B=Le([d,b]),M=D(e,B);w(M)}return P}function oe(){}return y=Qe(oe,ne,ze),g=Qe(oe,ne,he),Y(r._closedPromise,(W)=>{if(L(y._readableStreamController,W),L(g._readableStreamController,W),!a||!s)w(void 0);return null}),[y,g]}function di(e){let t=Ee(e),r=!1,n=!1,o=!1,a=!1,s=!1,d,b,y,g,w,P=q((_)=>{w=_});function ne(_){Y(_._closedPromise,(R)=>{if(_!==t)return null;if(j(y._readableStreamController,R),j(g._readableStreamController,R),!a||!s)w(void 0);return null})}function ze(){if(ge(t))Z(t),t=Ee(e),ne(t);Me(t,{_chunkSteps:(R)=>{me(()=>{n=!1,o=!1;let E=R,O=R;if(!a&&!s)try{O=jr(R)}catch(Oe){j(y._readableStreamController,Oe),j(g._readableStreamController,Oe),w(D(e,Oe));return}if(!a)ot(y._readableStreamController,E);if(!s)ot(g._readableStreamController,O);if(r=!1,n)oe();else if(o)W()})},_closeSteps:()=>{if(r=!1,!a)$e(y._readableStreamController);if(!s)$e(g._readableStreamController);if(y._readableStreamController._pendingPullIntos.length>0)it(y._readableStreamController,0);if(g._readableStreamController._pendingPullIntos.length>0)it(g._readableStreamController,0);if(!a||!s)w(void 0)},_errorSteps:()=>{r=!1}})}function he(_,R){if(se(t))Z(t),t=Xr(e),ne(t);let E=R?g:y,O=R?y:g;en(t,_,1,{_chunkSteps:(Ie)=>{me(()=>{n=!1,o=!1;let je=R?s:a;if(!(R?a:s)){let jn;try{jn=jr(Ie)}catch(br){j(E._readableStreamController,br),j(O._readableStreamController,br),w(D(e,br));return}if(!je)at(E._readableStreamController,Ie);ot(O._readableStreamController,jn)}else if(!je)at(E._readableStreamController,Ie);if(r=!1,n)oe();else if(o)W()})},_closeSteps:(Ie)=>{r=!1;let je=R?s:a,Tt=R?a:s;if(!je)$e(E._readableStreamController);if(!Tt)$e(O._readableStreamController);if(Ie!==void 0){if(!je)at(E._readableStreamController,Ie);if(!Tt&&O._readableStreamController._pendingPullIntos.length>0)it(O._readableStreamController,0)}if(!je||!Tt)w(void 0)},_errorSteps:()=>{r=!1}})}function oe(){if(r)return n=!0,S(void 0);r=!0;let _=xt(y._readableStreamController);if(_===null)ze();else he(_._view,!1);return S(void 0)}function W(){if(r)return o=!0,S(void 0);r=!0;let _=xt(g._readableStreamController);if(_===null)ze();else he(_._view,!0);return S(void 0)}function B(_){if(a=!0,d=_,s){let R=Le([d,b]),E=D(e,R);w(E)}return P}function M(_){if(s=!0,b=_,a){let R=Le([d,b]),E=D(e,R);w(E)}return P}function ie(){return}return y=Cn(ie,oe,B),g=Cn(ie,W,M),ne(t),[y,g]}function ci(e){return l(e)&&typeof e.getReader<"u"}function hi(e){if(ci(e))return mi(e.getReader());return bi(e)}function bi(e){let t,r=Ir(e,"async"),n=u;function o(){let s;try{s=no(r)}catch(b){return h(b)}let d=S(s);return x(d,(b)=>{if(!l(b))throw TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(oo(b))Ce(t._readableStreamController);else{let g=io(b);We(t._readableStreamController,g)}})}function a(s){let d=r.iterator,b;try{b=tt(d,"return")}catch(w){return h(w)}if(b===void 0)return S(void 0);let y;try{y=pe(b,d,[s])}catch(w){return h(w)}let g=S(y);return x(g,(w)=>{if(!l(w))throw TypeError("The promise returned by the iterator.return() method must fulfill with an object");return})}return t=Qe(n,o,a,0),t}function mi(e){let t,r=u;function n(){let a;try{a=e.read()}catch(s){return h(s)}return x(a,(s)=>{if(!l(s))throw TypeError("The promise returned by the reader.read() method must fulfill with an object");if(s.done)Ce(t._readableStreamController);else{let d=s.value;We(t._readableStreamController,d)}})}function o(a){try{return S(e.cancel(a))}catch(s){return h(s)}}return t=Qe(r,n,o,0),t}function pi(e,t){U(e,t);let r=e,n=r===null||r===void 0?void 0:r.autoAllocateChunkSize,o=r===null||r===void 0?void 0:r.cancel,a=r===null||r===void 0?void 0:r.pull,s=r===null||r===void 0?void 0:r.start,d=r===null||r===void 0?void 0:r.type;return{autoAllocateChunkSize:n===void 0?void 0:Ot(n,`${t} has member 'autoAllocateChunkSize' that`),cancel:o===void 0?void 0:_i(o,r,`${t} has member 'cancel' that`),pull:a===void 0?void 0:yi(a,r,`${t} has member 'pull' that`),start:s===void 0?void 0:gi(s,r,`${t} has member 'start' that`),type:d===void 0?void 0:Si(d,`${t} has member 'type' that`)}}function _i(e,t,r){return I(e,r),(n)=>ae(e,t,[n])}function yi(e,t,r){return I(e,r),(n)=>ae(e,t,[n])}function gi(e,t,r){return I(e,r),(n)=>pe(e,t,[n])}function Si(e,t){if(e=`${e}`,e!=="bytes")throw TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function wi(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.preventCancel;return{preventCancel:Boolean(r)}}function Rn(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.preventAbort,n=e===null||e===void 0?void 0:e.preventCancel,o=e===null||e===void 0?void 0:e.preventClose,a=e===null||e===void 0?void 0:e.signal;if(a!==void 0)Ri(a,`${t} has member 'signal' that`);return{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(o),signal:a}}function Ri(e,t){if(!Ao(e))throw TypeError(`${t} is not an AbortSignal.`)}function Ci(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.readable;Ft(r,"readable","ReadableWritablePair"),It(r,`${t} has member 'readable' that`);let n=e===null||e===void 0?void 0:e.writable;return Ft(n,"writable","ReadableWritablePair"),rn(n,`${t} has member 'writable' that`),{readable:r,writable:n}}class k{constructor(e={},t={}){if(e===void 0)e=null;else Tr(e,"First parameter");let r=lt(t,"Second parameter"),n=pi(e,"First parameter");if(fr(this),n.type==="bytes"){if(r.size!==void 0)throw RangeError("The strategy for a byte stream cannot have a size function");let o=Ne(r,0);po(this,n,o)}else{let o=ut(r),a=Ne(r,1);ui(this,n,a,o)}}get locked(){if(!de(this))throw Pe("locked");return ce(this)}cancel(e=void 0){if(!de(this))return h(Pe("cancel"));if(ce(this))return h(TypeError("Cannot cancel a stream that already has a reader"));return D(this,e)}getReader(e=void 0){if(!de(this))throw Pe("getReader");if(yo(e,"First parameter").mode===void 0)return Ee(this);return Xr(this)}pipeThrough(e,t={}){if(!de(this))throw Pe("pipeThrough");X(e,1,"pipeThrough");let r=Ci(e,"First parameter"),n=Rn(t,"Second parameter");if(ce(this))throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(ke(r.writable))throw TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let o=gn(this,r.writable,n.preventClose,n.preventAbort,n.preventCancel,n.signal);return ve(o),r.readable}pipeTo(e,t={}){if(!de(this))return h(Pe("pipeTo"));if(e===void 0)return h("Parameter 1 is required in 'pipeTo'.");if(!Ae(e))return h(TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let r;try{r=Rn(t,"Second parameter")}catch(n){return h(n)}if(ce(this))return h(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream"));if(ke(e))return h(TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream"));return gn(this,e,r.preventClose,r.preventAbort,r.preventCancel,r.signal)}tee(){if(!de(this))throw Pe("tee");let e=li(this);return Le(e)}values(e=void 0){if(!de(this))throw Pe("values");let t=wi(e,"First parameter");return to(this,t.preventCancel)}[Nt](e){return this.values(e)}static from(e){return hi(e)}}if(Object.defineProperties(k,{from:{enumerable:!0}}),Object.defineProperties(k.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),f(k.from,"from"),f(k.prototype.cancel,"cancel"),f(k.prototype.getReader,"getReader"),f(k.prototype.pipeThrough,"pipeThrough"),f(k.prototype.pipeTo,"pipeTo"),f(k.prototype.tee,"tee"),f(k.prototype.values,"values"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(k.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0});Object.defineProperty(k.prototype,Nt,{value:k.prototype.values,writable:!0,configurable:!0});function Qe(e,t,r,n=1,o=()=>1){let a=Object.create(k.prototype);fr(a);let s=Object.create(G.prototype);return wn(a,s,e,t,r,n,o),a}function Cn(e,t,r){let n=Object.create(k.prototype);fr(n);let o=Object.create(V.prototype);return Zr(n,o,e,t,r,0,void 0),n}function fr(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function de(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_readableStreamController"))return!1;return e instanceof k}function ce(e){if(e._reader===void 0)return!1;return!0}function D(e,t){if(e._disturbed=!0,e._state==="closed")return S(void 0);if(e._state==="errored")return h(e._storedError);Ge(e);let r=e._reader;if(r!==void 0&&ge(r)){let o=r._readIntoRequests;r._readIntoRequests=new z,o.forEach((a)=>{a._closeSteps(void 0)})}let n=e._readableStreamController[Et](t);return x(n,u)}function Ge(e){e._state="closed";let t=e._reader;if(t===void 0)return;if(Cr(t),se(t)){let r=t._readRequests;t._readRequests=new z,r.forEach((n)=>{n._closeSteps()})}}function Pn(e,t){e._state="errored",e._storedError=t;let r=e._reader;if(r===void 0)return;if(Bt(r,t),se(r))Ar(r,t);else tn(r,t)}function Pe(e){return TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Tn(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.highWaterMark;return Ft(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:zt(r)}}let vn=(e)=>e.byteLength;f(vn,"size");class Ye{constructor(e){X(e,1,"ByteLengthQueuingStrategy"),e=Tn(e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!qn(this))throw En("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!qn(this))throw En("size");return vn}}if(Object.defineProperties(Ye.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag==="symbol")Object.defineProperty(Ye.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function En(e){return TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function qn(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark"))return!1;return e instanceof Ye}let An=()=>1;f(An,"size");class xe{constructor(e){X(e,1,"CountQueuingStrategy"),e=Tn(e,"First parameter"),this._countQueuingStrategyHighWaterMark=e.highWaterMark}get highWaterMark(){if(!Wn(this))throw kn("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!Wn(this))throw kn("size");return An}}if(Object.defineProperties(xe.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag==="symbol")Object.defineProperty(xe.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function kn(e){return TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function Wn(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark"))return!1;return e instanceof xe}function Pi(e,t){U(e,t);let r=e===null||e===void 0?void 0:e.cancel,n=e===null||e===void 0?void 0:e.flush,o=e===null||e===void 0?void 0:e.readableType,a=e===null||e===void 0?void 0:e.start,s=e===null||e===void 0?void 0:e.transform,d=e===null||e===void 0?void 0:e.writableType;return{cancel:r===void 0?void 0:qi(r,e,`${t} has member 'cancel' that`),flush:n===void 0?void 0:Ti(n,e,`${t} has member 'flush' that`),readableType:o,start:a===void 0?void 0:vi(a,e,`${t} has member 'start' that`),transform:s===void 0?void 0:Ei(s,e,`${t} has member 'transform' that`),writableType:d}}function Ti(e,t,r){return I(e,r),(n)=>ae(e,t,[n])}function vi(e,t,r){return I(e,r),(n)=>pe(e,t,[n])}function Ei(e,t,r){return I(e,r),(n,o)=>ae(e,t,[n,o])}function qi(e,t,r){return I(e,r),(n)=>ae(e,t,[n])}class Ze{constructor(e={},t={},r={}){if(e===void 0)e=null;let n=lt(t,"Second parameter"),o=lt(r,"Third parameter"),a=Pi(e,"First parameter");if(a.readableType!==void 0)throw RangeError("Invalid readableType specified");if(a.writableType!==void 0)throw RangeError("Invalid writableType specified");let s=Ne(o,0),d=ut(o),b=Ne(n,1),y=ut(n),g,w=q((P)=>{g=P});if(Ai(this,w,b,y,s,d),Wi(this,a),a.start!==void 0)g(a.start(this._transformStreamController));else g(void 0)}get readable(){if(!Bn(this))throw In("readable");return this._readable}get writable(){if(!Bn(this))throw In("writable");return this._writable}}if(Object.defineProperties(Ze.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag==="symbol")Object.defineProperty(Ze.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Ai(e,t,r,n,o,a){function s(){return t}function d(P){return zi(e,P)}function b(P){return Oi(e,P)}function y(){return Ii(e)}e._writable=Bo(s,d,y,b,r,n);function g(){return ji(e)}function w(P){return Mi(e,P)}e._readable=Qe(s,g,w,o,a),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,wt(e,!0),e._transformStreamController=void 0}function Bn(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_transformStreamController"))return!1;return e instanceof Ze}function Fn(e,t){L(e._readable._readableStreamController,t),dr(e,t)}function dr(e,t){Ct(e._transformStreamController),Ue(e._writable._writableStreamController,t),cr(e)}function cr(e){if(e._backpressure)wt(e,!1)}function wt(e,t){if(e._backpressureChangePromise!==void 0)e._backpressureChangePromise_resolve();e._backpressureChangePromise=q((r)=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}class re{constructor(){throw TypeError("Illegal constructor")}get desiredSize(){if(!Rt(this))throw Pt("desiredSize");let e=this._controlledTransformStream._readable._readableStreamController;return lr(e)}enqueue(e=void 0){if(!Rt(this))throw Pt("enqueue");zn(this,e)}error(e=void 0){if(!Rt(this))throw Pt("error");Bi(this,e)}terminate(){if(!Rt(this))throw Pt("terminate");Fi(this)}}if(Object.defineProperties(re.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),f(re.prototype.enqueue,"enqueue"),f(re.prototype.error,"error"),f(re.prototype.terminate,"terminate"),typeof Symbol.toStringTag==="symbol")Object.defineProperty(re.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Rt(e){if(!l(e))return!1;if(!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream"))return!1;return e instanceof re}function ki(e,t,r,n,o){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n,t._cancelAlgorithm=o,t._finishPromise=void 0,t._finishPromise_resolve=void 0,t._finishPromise_reject=void 0}function Wi(e,t){let r=Object.create(re.prototype),n,o,a;if(t.transform!==void 0)n=(s)=>t.transform(s,r);else n=(s)=>{try{return zn(r,s),S(void 0)}catch(d){return h(d)}};if(t.flush!==void 0)o=()=>t.flush(r);else o=()=>S(void 0);if(t.cancel!==void 0)a=(s)=>t.cancel(s);else a=()=>S(void 0);ki(e,r,n,o,a)}function Ct(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0,e._cancelAlgorithm=void 0}function zn(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Be(n))throw TypeError("Readable side is not in a state that permits enqueue");try{We(n,t)}catch(a){throw dr(r,a),r._readable._storedError}if(si(n)!==r._backpressure)wt(r,!0)}function Bi(e,t){Fn(e._controlledTransformStream,t)}function On(e,t){let r=e._transformAlgorithm(t);return x(r,void 0,(n)=>{throw Fn(e._controlledTransformStream,n),n})}function Fi(e){let t=e._controlledTransformStream,r=t._readable._readableStreamController;Ce(r);let n=TypeError("TransformStream terminated");dr(t,n)}function zi(e,t){let r=e._transformStreamController;if(e._backpressure){let n=e._backpressureChangePromise;return x(n,()=>{let o=e._writable;if(o._state==="erroring")throw o._storedError;return On(r,t)})}return On(r,t)}function Oi(e,t){let r=e._transformStreamController;if(r._finishPromise!==void 0)return r._finishPromise;let n=e._readable;r._finishPromise=q((a,s)=>{r._finishPromise_resolve=a,r._finishPromise_reject=s});let o=r._cancelAlgorithm(t);return Ct(r),A(o,()=>{if(n._state==="errored")Fe(r,n._storedError);else L(n._readableStreamController,t),hr(r);return null},(a)=>(L(n._readableStreamController,a),Fe(r,a),null)),r._finishPromise}function Ii(e){let t=e._transformStreamController;if(t._finishPromise!==void 0)return t._finishPromise;let r=e._readable;t._finishPromise=q((o,a)=>{t._finishPromise_resolve=o,t._finishPromise_reject=a});let n=t._flushAlgorithm();return Ct(t),A(n,()=>{if(r._state==="errored")Fe(t,r._storedError);else Ce(r._readableStreamController),hr(t);return null},(o)=>(L(r._readableStreamController,o),Fe(t,o),null)),t._finishPromise}function ji(e){return wt(e,!1),e._backpressureChangePromise}function Mi(e,t){let r=e._transformStreamController;if(r._finishPromise!==void 0)return r._finishPromise;let n=e._writable;r._finishPromise=q((a,s)=>{r._finishPromise_resolve=a,r._finishPromise_reject=s});let o=r._cancelAlgorithm(t);return Ct(r),A(o,()=>{if(n._state==="errored")Fe(r,n._storedError);else Ue(n._writableStreamController,t),cr(e),hr(r);return null},(a)=>(Ue(n._writableStreamController,a),cr(e),Fe(r,a),null)),r._finishPromise}function Pt(e){return TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function hr(e){if(e._finishPromise_resolve===void 0)return;e._finishPromise_resolve(),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0}function Fe(e,t){if(e._finishPromise_reject===void 0)return;ve(e._finishPromise),e._finishPromise_reject(t),e._finishPromise_resolve=void 0,e._finishPromise_reject=void 0}function In(e){return TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}m.ByteLengthQueuingStrategy=Ye,m.CountQueuingStrategy=xe,m.ReadableByteStreamController=V,m.ReadableStream=k,m.ReadableStreamBYOBReader=ee,m.ReadableStreamBYOBRequest=fe,m.ReadableStreamDefaultController=G,m.ReadableStreamDefaultReader=J,m.TransformStream=Ze,m.TransformStreamDefaultController=re,m.WritableStream=te,m.WritableStreamDefaultController=we,m.WritableStreamDefaultWriter=Q})});var $n=i(function(){if(!globalThis.ReadableStream)try{let m=c("node:process"),{emitWarning:u}=m;try{m.emitWarning=()=>{},Object.assign(globalThis,c("node:stream/web")),m.emitWarning=u}catch(l){throw m.emitWarning=u,l}}catch(m){Object.assign(globalThis,Ln())}try{let{Blob:m}=c("buffer");if(m&&!m.prototype.stream)m.prototype.stream=function(l){let p=0,f=this;return new ReadableStream({type:"bytes",async pull(C){let be=await f.slice(p,Math.min(f.size,p+65536)).arrayBuffer();if(p+=be.byteLength,C.enqueue(new Uint8Array(be)),p===f.size)C.close()}})}}catch(m){}});async function*mr(m,u=!0){for(let l of m)if("stream"in l)yield*l.stream();else if(ArrayBuffer.isView(l))if(u){let p=l.byteOffset,f=l.byteOffset+l.byteLength;while(p!==f){let C=Math.min(f-p,Dn),T=l.buffer.slice(p,p+C);p+=T.byteLength,yield new Uint8Array(T)}}else yield l;else{let p=0,f=l;while(p!==f.size){let T=await f.slice(p,Math.min(f.size,p+Dn)).arrayBuffer();p+=T.byteLength,yield new Uint8Array(T)}}}var xi,Dn=65536,Nn,Li,zo;var au=bt(()=>{xi=v($n(),1);/*! fetch-blob. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */Nn=class m{#e=[];#t="";#r=0;#n="transparent";constructor(u=[],l={}){if(typeof u!=="object"||u===null)throw TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(typeof u[Symbol.iterator]!=="function")throw TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof l!=="object"&&typeof l!=="function")throw TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");if(l===null)l={};let p=new TextEncoder;for(let C of u){let T;if(ArrayBuffer.isView(C))T=new Uint8Array(C.buffer.slice(C.byteOffset,C.byteOffset+C.byteLength));else if(C instanceof ArrayBuffer)T=new Uint8Array(C.slice(0));else if(C instanceof m)T=C;else T=p.encode(`${C}`);this.#r+=ArrayBuffer.isView(T)?T.byteLength:T.size,this.#e.push(T)}this.#n=`${l.endings===void 0?"transparent":l.endings}`;let f=l.type===void 0?"":String(l.type);this.#t=/^[\x20-\x7E]*$/.test(f)?f:""}get size(){return this.#r}get type(){return this.#t}async text(){let u=new TextDecoder,l="";for await(let p of mr(this.#e,!1))l+=u.decode(p,{stream:!0});return l+=u.decode(),l}async arrayBuffer(){let u=new Uint8Array(this.size),l=0;for await(let p of mr(this.#e,!1))u.set(p,l),l+=p.length;return u.buffer}stream(){let u=mr(this.#e,!0);return new globalThis.ReadableStream({type:"bytes",async pull(l){let p=await u.next();p.done?l.close():l.enqueue(p.value)},async cancel(){await u.return()}})}slice(u=0,l=this.size,p=""){let{size:f}=this,C=u<0?Math.max(f+u,0):Math.min(u,f),T=l<0?Math.max(f+l,0):Math.min(l,f),be=Math.max(T-C,0),q=this.#e,S=[],h=0;for(let A of q){if(h>=be)break;let N=ArrayBuffer.isView(A)?A.byteLength:A.size;if(C&&N<=C)C-=N,T-=N;else{let Y;if(ArrayBuffer.isView(A))Y=A.subarray(C,Math.min(N,T)),h+=Y.byteLength;else Y=A.slice(C,Math.min(N,T)),h+=Y.size;T-=N,S.push(Y),C=0}}let F=new m([],{type:String(p).toLowerCase()});return F.#r=be,F.#e=S,F}get[Symbol.toStringTag](){return"Blob"}static[Symbol.hasInstance](u){return u&&typeof u==="object"&&typeof u.constructor==="function"&&(typeof u.stream==="function"||typeof u.arrayBuffer==="function")&&/^(Blob|File)$/.test(u[Symbol.toStringTag])}};Object.defineProperties(Nn.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Li=Nn,zo=Li});var $i,Di,ou;var pr=bt(()=>{au();$i=class extends zo{#e=0;#t="";constructor(u,l,p={}){if(arguments.length<2)throw TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);super(u,p);if(p===null)p={};let f=p.lastModified===void 0?Date.now():Number(p.lastModified);if(!Number.isNaN(f))this.#e=f;this.#t=String(l)}get name(){return this.#t}get lastModified(){return this.#e}get[Symbol.toStringTag](){return"File"}static[Symbol.hasInstance](u){return!!u&&u instanceof zo&&/^(File)$/.test(u[Symbol.toStringTag])}},Di=$i,ou=Di});function Y2(m,u=zo){var l=`${Un()}${Un()}`.replace(/\./g,"").slice(-28).padStart(32,"-"),p=[],f=`--${l}\r
2
+ Content-Disposition: form-data; name="`;return m.forEach((C,T)=>typeof C=="string"?p.push(f+_r(T)+`"\r
3
+ \r
4
+ ${C.replace(/\r(?!\n)|(?<!\r)\n/g,`\r
5
+ `)}\r
6
+ `):p.push(f+_r(T)+`"; filename="${_r(C.name,1)}"\r
7
+ Content-Type: ${C.type||"application/octet-stream"}\r
8
+ \r
9
+ `,C,`\r
10
+ `)),p.push(`--${l}--`),new u(p,{type:"multipart/form-data; boundary="+l})}var Xe,Ni,Ui,Un,Vi,Vn=(m,u,l)=>(m+="",/^(Blob|File)$/.test(u&&u[Xe])?[(l=l!==void 0?l+"":u[Xe]=="File"?u.name:"blob",m),u.name!==l||u[Xe]=="blob"?new ou([u],l,u):u]:[m,u+""]),_r=(m,u)=>(u?m:m.replace(/\r?\n|\r/g,`\r
11
+ `)).replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),Te=(m,u,l)=>{if(u.length<l)throw TypeError(`Failed to execute '${m}' on 'FormData': ${l} arguments required, but only ${u.length} present.`)},Hr;var ru=bt(()=>{au();pr();/*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */({toStringTag:Xe,iterator:Ni,hasInstance:Ui}=Symbol),Un=Math.random,Vi="append,set,get,getAll,delete,keys,values,entries,forEach,constructor".split(","),Hr=class{#e=[];constructor(...u){if(u.length)throw TypeError("Failed to construct 'FormData': parameter 1 is not of type 'HTMLFormElement'.")}get[Xe](){return"FormData"}[Ni](){return this.entries()}static[Ui](u){return u&&typeof u==="object"&&u[Xe]==="FormData"&&!Vi.some((l)=>typeof u[l]!="function")}append(...u){Te("append",arguments,2),this.#e.push(Vn(...u))}delete(u){Te("delete",arguments,1),u+="",this.#e=this.#e.filter(([l])=>l!==u)}get(u){Te("get",arguments,1),u+="";for(var l=this.#e,p=l.length,f=0;f<p;f++)if(l[f][0]===u)return l[f][1];return null}getAll(u,l){return Te("getAll",arguments,1),l=[],u+="",this.#e.forEach((p)=>p[0]===u&&l.push(p[1])),l}has(u){return Te("has",arguments,1),u+="",this.#e.some((l)=>l[0]===u)}forEach(u,l){Te("forEach",arguments,1);for(var[p,f]of this)u.call(l,f,p,this)}set(...u){Te("set",arguments,2);var l=[],p=!0;u=Vn(...u),this.#e.forEach((f)=>{f[0]===u[0]?p&&(p=!l.push(u)):l.push(f)}),p&&l.push(u),this.#e=l}*entries(){yield*this.#e}*keys(){for(var[u]of this)yield u}*values(){for(var[,u]of this)yield u}}});var Qn=i(function(ra,Hn){/*! node-domexception. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> */if(!globalThis.DOMException)try{let{MessageChannel:m}=c("worker_threads"),u=new m().port1,l=new ArrayBuffer;u.postMessage(l,[l,l])}catch(m){m.constructor.name==="DOMException"&&(globalThis.DOMException=m.constructor)}Hn.exports=globalThis.DOMException});import{statSync as oa,createReadStream as ia,promises as Hi}from"node:fs";var Qi,ua;var gd=bt(()=>{pr();au();Qi=v(Qn(),1),{stat:ua}=Hi});
12
+ export{zo,au,ou,Hr,Y2,ru,gd};
@@ -0,0 +1,16 @@
1
+ import{N,It,we,b,nt,fe,Ae,C,T}from"./index-w9n2kgjk.js";import{Ay}from"./index-bhf7enwn.js";import{ie,e,n,r,Ht,L,m,o,t,p,w,d,s,a}from"./index-edf1hmcw.js";import{spawn as it}from"child_process";import{randomUUID as xe,randomBytes as Xt}from"crypto";import{createRequire as ot}from"module";import{mkdtempSync as ke,writeFileSync as at,rmSync as ne,readFileSync as Yt}from"fs";import{tmpdir as Re}from"os";import De,{join as X,dirname as Fe}from"path";import{createServer as er}from"http";import{EventEmitter as tr}from"events";import rr from"readline";var nr={debug:(i)=>console.debug(`[DEBUG] ${i}`),info:(i)=>console.info(`[INFO] ${i}`),warn:(i)=>console.warn(`[WARN] ${i}`),error:(i)=>console.error(`[ERROR] ${i}`)},sr={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};function oe(i){if(i===!1)return sr;if(i===void 0)return nr;return i}function dt(i,c=!1){if(c)return i;return{debug:()=>{},info:()=>{},warn:i.warn.bind(i),error:i.error.bind(i)}}var ir=/^[A-Za-z0-9_-]+$/,or=/^[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*$/;function ct(i){return ir.test(i)}function qe(i){return or.test(i)}function Y(i){if(!ct(i))throw Error(`Invalid MCP server name '${i}'. Names must match /^[A-Za-z0-9_-]+$/.`);return i}function ut(i){if(!qe(i))throw Error(`Invalid config override key '${i}'. Keys must match /^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+)*$/.`);return i}function me(){return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0}}function G(i,c){if(i===void 0&&c===void 0)return;return(i??0)+(c??0)}function ze(i){return typeof i==="object"&&i!==null&&!Array.isArray(i)}function ar(i,c){if(!ze(i))return c;if(!ze(c))return i;let u={...i};for(let[l,h]of Object.entries(c)){let f=u[l];u[l]=typeof h==="number"&&typeof f==="number"?f+h:h}return u}function dr(i,c){return{inputTokens:{total:G(i.inputTokens.total,c.inputTokens.total),noCache:G(i.inputTokens.noCache,c.inputTokens.noCache),cacheRead:G(i.inputTokens.cacheRead,c.inputTokens.cacheRead),cacheWrite:G(i.inputTokens.cacheWrite,c.inputTokens.cacheWrite)},outputTokens:{total:G(i.outputTokens.total,c.outputTokens.total),text:G(i.outputTokens.text,c.outputTokens.text),reasoning:G(i.outputTokens.reasoning,c.outputTokens.reasoning)},raw:ar(i.raw,c.raw)}}function cr(i){switch(i){case"stop":case"end_turn":case void 0:return{unified:"stop",raw:i};case"length":case"max_tokens":return{unified:"length",raw:i};case"content_filter":return{unified:"content-filter",raw:i};case"tool_calls":return{unified:"tool-calls",raw:i};case"error":return{unified:"error",raw:i};default:return{unified:"other",raw:i}}}var lt=Object.freeze({"on-failure":"on-request"});function pt(i){if(typeof i!=="string")return i;let c=lt[i];return c===void 0?i:c}function ye(i){return typeof i==="string"&&Object.hasOwn(lt,i)}function ur(i){return typeof i==="object"&&i!==null&&!Array.isArray(i)&&Object.prototype.toString.call(i)==="[object Object]"}function se(i){if(typeof i!=="object"||i===null)return i;if(Array.isArray(i))return i.map((l)=>se(l));let c=i,u={};for(let[l,h]of Object.entries(c)){if(l==="properties"&&typeof h==="object"&&h!==null&&!Array.isArray(h)){let f=h,g={};for(let[y,v]of Object.entries(f))g[y]=se(v);u[l]=g;continue}if(l==="$schema"||l==="$id"||l==="$ref"||l==="$defs"||l==="definitions"||l==="title"||l==="examples"||l==="default"||l==="format"||l==="pattern")continue;u[l]=se(h)}return u}function ht(i){if(typeof i==="string")return i;try{return JSON.stringify(i)}catch{return String(i)}}function Se(i,c){if(c!==void 0){if(Object.keys(c).length===0)return{};return{...i??{},...c}}if(i)return{...i};return}function lr(i){if(i===void 0)return;return Object.fromEntries(Object.entries(i).filter(([c])=>c.toLowerCase()!=="authorization"))}function pr(i){let c=i.httpHeaders?{...i.httpHeaders}:void 0;if(i.bearerToken===void 0)return c;let u=Object.keys(c??{}).some((l)=>l.toLowerCase()==="authorization");return{...c??{},...u?{}:{Authorization:`Bearer ${i.bearerToken}`}}}function ft(i,c){if(!i||i.transport!==c.transport)return{...c};if(c.transport==="stdio"){let v=i;return{transport:"stdio",command:c.command,args:c.args??v.args,env:Se(v.env,c.env),cwd:c.cwd??v.cwd,enabled:c.enabled??i.enabled,startupTimeoutSec:c.startupTimeoutSec??i.startupTimeoutSec,toolTimeoutSec:c.toolTimeoutSec??i.toolTimeoutSec,enabledTools:c.enabledTools??i.enabledTools,disabledTools:c.disabledTools??i.disabledTools}}let u=i,l=c.bearerToken!==void 0||c.bearerTokenEnvVar!==void 0,h=l?c.bearerToken:u.bearerToken,f=l?c.bearerTokenEnvVar:u.bearerTokenEnvVar,g=l?lr(u.httpHeaders):u.httpHeaders;return{transport:"http",url:c.url,bearerToken:h,bearerTokenEnvVar:f,httpHeaders:Se(g,c.httpHeaders),envHttpHeaders:Se(u.envHttpHeaders,c.envHttpHeaders),enabled:c.enabled??i.enabled,startupTimeoutSec:c.startupTimeoutSec??i.startupTimeoutSec,toolTimeoutSec:c.toolTimeoutSec??i.toolTimeoutSec,enabledTools:c.enabledTools??i.enabledTools,disabledTools:c.disabledTools??i.disabledTools}}function hr(i,c){if(!i&&!c)return;let u={};for(let[h,f]of Object.entries(i??{})){let g=Y(h);u[g]=f}if(!c)return u;let l={...u};for(let[h,f]of Object.entries(c)){let g=Y(h),y=l[g];l[g]=ft(y,f)}return l}function mt(i){let c=[],u=(h,f)=>{if(h!==void 0)c.push({type:"unsupported",feature:f,details:`Codex CLI does not support ${f}; it will be ignored.`})};u(i.temperature,"temperature"),u(i.topP,"topP"),u(i.topK,"topK"),u(i.maxOutputTokens,"maxOutputTokens"),u(i.presencePenalty,"presencePenalty"),u(i.frequencyPenalty,"frequencyPenalty"),u(i.stopSequences?.length?i.stopSequences:void 0,"stopSequences"),u(i.seed,"seed"),u(i.tools,"tools");let l=i.toolChoice;return u(l!==void 0&&l.type==="auto"?void 0:l,"toolChoice"),c}function fr(i,c){let u={},l=(h,f)=>{ut(h),u[h]=f};if(c!==void 0)l("features.rmcp_client",c);if(!i)return u;for(let[h,f]of Object.entries(i)){let y=`mcp_servers.${Y(h)}`;if(f.enabled!==void 0)l(`${y}.enabled`,f.enabled);if(f.startupTimeoutSec!==void 0)l(`${y}.startup_timeout_sec`,f.startupTimeoutSec);if(f.toolTimeoutSec!==void 0)l(`${y}.tool_timeout_sec`,f.toolTimeoutSec);if(f.enabledTools!==void 0)l(`${y}.enabled_tools`,f.enabledTools);if(f.disabledTools!==void 0)l(`${y}.disabled_tools`,f.disabledTools);if(f.transport==="stdio"){if(l(`${y}.command`,f.command),f.args!==void 0)l(`${y}.args`,f.args);if(f.env!==void 0)l(`${y}.env`,f.env);if(f.cwd)l(`${y}.cwd`,f.cwd)}else{if(l(`${y}.url`,f.url),f.bearerTokenEnvVar!==void 0)l(`${y}.bearer_token_env_var`,f.bearerTokenEnvVar);let v=pr(f);if(v!==void 0)l(`${y}.http_headers`,v);if(f.envHttpHeaders!==void 0)l(`${y}.env_http_headers`,f.envHttpHeaders)}}return u}var mr=["none","minimal","low","medium","high","xhigh","max","ultra"],gt=t({debug:L().refine((i)=>typeof i==="function",{message:"debug must be a function"}),info:L().refine((i)=>typeof i==="function",{message:"info must be a function"}),warn:L().refine((i)=>typeof i==="function",{message:"warn must be a function"}),error:L().refine((i)=>typeof i==="function",{message:"error must be a function"})}),yt=t({enabled:r().optional(),startupTimeoutSec:n().int().positive().optional(),toolTimeoutSec:n().int().positive().optional(),enabledTools:o(e()).optional(),disabledTools:o(e()).optional()}),gr=yt.extend({transport:a("stdio"),command:e().min(1),args:o(e()).optional(),env:d(e(),e()).optional(),cwd:e().optional()}),yr=yt.extend({transport:a("http"),url:e().min(1),bearerToken:e().optional(),bearerTokenEnvVar:e().optional(),httpHeaders:d(e(),e()).optional(),envHttpHeaders:d(e(),e()).optional()}),vt=w("transport",[gr,yr]),$e=e().min(1).refine((i)=>ct(i),{message:"MCP server names must match /^[A-Za-z0-9_-]+$/."}),Tt=d($e,vt),vr=t({name:$e,_start:L().refine((i)=>typeof i==="function",{message:"_start must be a function"}),_stop:L().refine((i)=>typeof i==="function",{message:"_stop must be a function"})}).passthrough(),bt=d($e,p([vt,vr])),Tr=e().min(1).refine((i)=>qe(i),{message:"configOverrides keys must match /^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+)*$/."}),ve=s(mr),_e=d(Tr,p([e(),n(),r(),t({}).passthrough(),o(L())])).optional(),br=t({cwd:e().optional(),approvalMode:s(["untrusted","on-failure","on-request","never"]).optional(),sandboxMode:s(["read-only","workspace-write","danger-full-access"]).optional(),env:d(e(),e()).optional(),verbose:r().optional(),logger:p([a(!1),gt]).optional(),reasoningEffort:ve.optional(),reasoningSummary:s(["auto","detailed"]).optional(),reasoningSummaryFormat:s(["none","experimental"]).optional(),modelVerbosity:s(["low","medium","high"]).optional(),mcpServers:Tt.optional(),rmcpClient:r().optional(),configOverrides:_e}).strict(),wr=br.extend({codexPath:e().optional(),addDirs:o(e().min(1)).optional(),fullAuto:r().optional(),dangerouslyBypassApprovalsAndSandbox:r().optional(),skipGitRepoCheck:r().optional(),color:s(["always","never","auto"]).optional(),allowNpx:r().optional(),outputLastMessageFile:e().optional(),profile:e().optional(),oss:r().optional(),webSearch:r().optional()}).strict(),Ir=t({reject:t({sandbox_approval:r(),rules:r(),mcp_elicitations:r()})}),xr=t({granular:t({sandbox_approval:r(),rules:r(),mcp_elicitations:r(),skill_approval:r().optional(),request_permissions:r().optional()})}),wt=p([s(["untrusted","on-failure","on-request","never"]),xr,Ir]),xt=p([s(["read-only","workspace-write","danger-full-access"]),t({type:e()}).passthrough()]),St=t({onCommandExecutionApproval:L().refine((i)=>i===void 0||typeof i==="function",{message:"onCommandExecutionApproval must be a function"}).optional(),onFileChangeApproval:L().refine((i)=>i===void 0||typeof i==="function",{message:"onFileChangeApproval must be a function"}).optional(),onSkillApproval:L().refine((i)=>i===void 0||typeof i==="function",{message:"onSkillApproval must be a function"}).optional(),onMcpElicitation:L().refine((i)=>i===void 0||typeof i==="function",{message:"onMcpElicitation must be a function"}).optional(),onToolRequestUserInput:L().refine((i)=>i===void 0||typeof i==="function",{message:"onToolRequestUserInput must be a function"}).optional(),onDynamicToolCall:L().refine((i)=>i===void 0||typeof i==="function",{message:"onDynamicToolCall must be a function"}).optional(),onAuthRefresh:L().refine((i)=>i===void 0||typeof i==="function",{message:"onAuthRefresh must be a function"}).optional(),onUnhandled:L().refine((i)=>i===void 0||typeof i==="function",{message:"onUnhandled must be a function"}).optional()}).strict().optional(),Sr=t({codexPath:e().optional(),cwd:e().optional(),env:d(e(),e()).optional(),verbose:r().optional(),logger:p([a(!1),gt]).optional(),personality:s(["none","friendly","pragmatic"]).optional(),effort:ve.optional(),summary:s(["auto","concise","detailed","none"]).optional(),approvalPolicy:wt.optional(),sandboxPolicy:xt.optional(),baseInstructions:e().optional(),developerInstructions:e().optional(),mcpServers:bt.optional(),rmcpClient:r().optional(),configOverrides:_e,autoApprove:r().optional(),persistExtendedHistory:r().optional(),connectionTimeoutMs:n().int().positive().optional(),requestTimeoutMs:n().int().positive().optional(),idleTimeoutMs:n().int().positive().optional(),minCodexVersion:e().regex(/^\d+\.\d+\.\d+(-[A-Za-z0-9.-]+)?$/,"minCodexVersion must be a semver string").optional(),threadMode:s(["stateless","persistent"]).optional(),resume:e().optional(),includeRawChunks:r().optional(),serverRequests:St,onSessionCreated:L().refine((i)=>i===void 0||typeof i==="function",{message:"onSessionCreated must be a function"}).optional()}).strict(),Cr=t({threadId:e().optional(),resume:e().optional(),threadMode:s(["stateless","persistent"]).optional(),includeRawChunks:r().optional(),personality:s(["none","friendly","pragmatic"]).optional(),effort:ve.optional(),summary:s(["auto","concise","detailed","none"]).optional(),approvalPolicy:wt.optional(),sandboxPolicy:xt.optional(),baseInstructions:e().optional(),developerInstructions:e().optional(),mcpServers:bt.optional(),rmcpClient:r().optional(),configOverrides:_e,autoApprove:r().optional(),persistExtendedHistory:r().optional(),serverRequests:St,onSessionCreated:L().refine((i)=>i===void 0||typeof i==="function",{message:"onSessionCreated must be a function"}).optional()}).strict();function Ct(i){let c=[];if(i&&typeof i==="object"){let{issues:u,errors:l}=i;if(Array.isArray(u))c=u;else if(Array.isArray(l))c=l}return c.map((u)=>{let l=Array.isArray(u?.path)?u.path.join("."):"",h=u?.message||"Invalid value";return`${l?l+": ":""}${h}`})}function kr(i,c){if(!i.success)return{valid:!1,warnings:c,errors:Ct(i.error)};return{valid:!0,warnings:c,errors:[]}}function He(i){let c=[],u=wr.safeParse(i);if(!u.success)return kr(u,c);let l=u.data;if(l.fullAuto&&l.dangerouslyBypassApprovalsAndSandbox)c.push("Both fullAuto and dangerouslyBypassApprovalsAndSandbox specified; fullAuto takes precedence.");if(l.fullAuto&&l.sandboxMode!==void 0&&l.sandboxMode!=="workspace-write")c.push(`fullAuto is deprecated (Codex CLI 0.147 removed --full-auto); its sandbox mapping is ignored because sandboxMode '${l.sandboxMode}' is set explicitly (its approvalMode 'never' default and its precedence over dangerouslyBypassApprovalsAndSandbox still apply).`);else if(l.fullAuto)c.push("fullAuto is deprecated (Codex CLI 0.147 removed --full-auto); it now defaults sandboxMode to 'workspace-write' and approvalMode to 'never' unless those are set explicitly.");if(ye(l.approvalMode))c.push(`approvalMode '${l.approvalMode}' is deprecated (retired by Codex CLI 0.143); it is sent as 'on-request'.`);return{valid:!0,warnings:c,errors:[]}}function Ve(i){let c=[],u=Sr.safeParse(i);if(!u.success)return{valid:!1,warnings:c,errors:Ct(u.error)};let l=u.data;if(l.autoApprove&&l.approvalPolicy!==void 0)c.push("autoApprove overrides approvalPolicy for server-initiated approval requests.");if(ye(l.approvalPolicy))c.push(`approvalPolicy '${l.approvalPolicy}' is deprecated (retired by Codex CLI 0.143 and rejected by app-server >= 0.144); it is sent as 'on-request'.`);else if(typeof l.approvalPolicy==="object"&&l.approvalPolicy!==null&&"reject"in l.approvalPolicy)c.push("approvalPolicy { reject } is deprecated (removed from the Codex app-server protocol); it is translated to the equivalent { granular } policy.");if(l.threadMode==="persistent"&&l.resume)c.push("threadMode=persistent ignores resume when an explicit thread is already active.");return{valid:!0,warnings:c,errors:[]}}function Rr(i){if(!i||i.trim()==="")return"Model ID cannot be empty";return}function Er(i){if(typeof i!=="object"||i===null||!("type"in i))return!1;return i.type==="data"||i.type==="url"||i.type==="reference"||i.type==="text"}function Mr(i,c){if(Ae(i))return i;let u=typeof c==="string"||c instanceof Uint8Array?c:c instanceof ArrayBuffer?new Uint8Array(c):void 0;if(u!==void 0){let l=nt({data:u,topLevelType:fe(i)});if(l)return l}return"image/png"}function Ce(i){if(typeof i!=="object"||i===null)return null;let c=i,u=c.type==="file",l=u?c.mediaType||"image/png":c.mimeType||"image/png";if(u&&fe(l).toLowerCase()!=="image")return null;let h=u?c.data:c.image;if(Er(h))if(h.type==="data")h=h.data;else if(h.type==="url")h=h.url;else return null;let f=Mr(l,h);if(typeof h==="string")return te(h,f);if(typeof h==="object"&&h!==null&&h instanceof URL){if(h.protocol==="data:"){let g=h.toString();return te(g,f)}return null}if(Buffer.isBuffer(h)){let g=h.toString("base64");return{data:`data:${f};base64,${g}`,mimeType:f}}if(Ar(h)){let y=Buffer.from(h).toString("base64");return{data:`data:${f};base64,${y}`,mimeType:f}}if(u&&typeof c.url==="string")return te(c.url,f);if(!u&&typeof c.data==="string")return te(c.data,f);if(!u&&typeof c.url==="string")return te(c.url,f);return null}function te(i,c){let u=i.trim();if(/^file:\/\//i.test(u))return null;if(/^https?:\/\//i.test(u))return null;if(u.startsWith("data:")){let h=u.match(/^data:([^;,]+);base64,([^,]+)$/);if(!h)return null;let f=Me(h[2]??"");if(!f)return null;let g=h[1]||c;return{data:`data:${g};base64,${f}`,mimeType:g}}let l=Me(u);if(!l)return null;return{data:`data:${c};base64,${l}`,mimeType:c}}function Ar(i){if(i instanceof ArrayBuffer)return!0;return i instanceof Uint8Array}function kt(i){let c=ke(X(Re(),"codex-img-")),u=Pr(i.mimeType),l=X(c,`image.${u}`),h=i.data.match(/^data:[^;]+;base64,(.+)$/);if(!h)throw Error("Invalid data URL format: expected data:[type];base64,[data]");let f=Me(h[1]??"");if(!f)throw Error("Invalid base64 image payload");let g=Buffer.from(f,"base64");return at(l,g),l}function Ee(i){for(let c of i)try{ne(c,{force:!0});let u=c.replace(/[/\\][^/\\]+$/,"");if(u.includes("codex-img-"))ne(u,{force:!0,recursive:!0})}catch{}}function Pr(i){if(!i)return"png";return{"image/png":"png","image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/webp":"webp","image/bmp":"bmp","image/svg+xml":"svg"}[i.toLowerCase()]||i.split("/")[1]||"png"}function Me(i){let c=i.replace(/\s+/g,"");if(!c)return null;if(!/^[A-Za-z0-9+/]*={0,2}$/.test(c))return null;if(c.length%4===1)return null;let u=c.padEnd(Math.ceil(c.length/4)*4,"=");try{if(Buffer.from(u,"base64").toString("base64")!==u)return null;return u}catch{return null}}function We(i){return/^https?:\/\//i.test(i.trim())}function Q(i){if(i instanceof URL)return i.protocol==="file:";if(typeof i==="string")return/^file:\/\//i.test(i.trim());return!1}function ue(i){if(i instanceof URL){let c=i.toString();return We(c)?c:void 0}if(typeof i==="string")return We(i)?i.trim():void 0;return}function Rt(i){return fe(i).toLowerCase()==="image"}function Oe(i){return i.type==="file"&&"mediaType"in i&&typeof i.mediaType==="string"}function Et(i){return i.type==="image"}function jr(i){if(typeof i!=="object"||i===null||!("type"in i))return!1;return i.type==="data"||i.type==="url"||i.type==="reference"||i.type==="text"}function qr(i){if(Oe(i)){if(!Rt(i.mediaType))return{kind:"unsupported",warning:`Unsupported file mediaType "${i.mediaType}"; only image/* is supported.`};let c=i.data;if(jr(c)){if(c.type==="reference")return{kind:"unsupported",warning:"File reference data is not supported for images."};if(c.type==="text")return{kind:"unsupported",warning:"Inline text file data is not supported for images."};if(c.type==="url"){let f=ue(c.url);if(f)return{kind:"remote",url:f};if(Q(c.url))return{kind:"unsupported",warning:"file:// image URLs are not supported."}}let h=Ce(i);if(h)return{kind:"local",image:h};return{kind:"unsupported",warning:"Unsupported image format in message."}}let u=ue(c);if(u)return{kind:"remote",url:u};let l=Ce(i);if(l)return{kind:"local",image:l};if(Q(c)||"url"in i&&Q(i.url))return{kind:"unsupported",warning:"file:// image URLs are not supported."};return{kind:"unsupported",warning:"Unsupported image format in message."}}if(Et(i)){let c=ue(i.image)??ue(i.url);if(c)return{kind:"remote",url:c};let u=Ce(i);if(u)return{kind:"local",image:u};if(Q(i.image)||Q(i.url)||Q(i.data))return{kind:"unsupported",warning:"file:// image URLs are not supported."};return{kind:"unsupported",warning:"Unsupported image format in message."}}return}function Pe(i){if(i===void 0)return"";if(typeof i==="string")return i;try{return JSON.stringify(i)}catch{return"[unserializable]"}}function re(i){if(typeof i==="object"&&i!==null&&"type"in i)return String(i.type);return"unknown"}function Mt(i){switch(i.type){case"text":return{text:i.value,warnings:[]};case"json":return{text:Pe(i.value),warnings:[]};case"execution-denied":return{text:i.reason?`Execution denied: ${i.reason}`:"Execution denied",warnings:[]};case"error-text":return{text:`Tool error: ${i.value}`,warnings:[]};case"error-json":return{text:`Tool error: ${Pe(i.value)}`,warnings:[]};case"content":{let c=[];return{text:i.value.map((l)=>{if(l.type==="text")return l.text;if(l.type==="file"){let h=Rt(l.mediaType)?"image":"file",f=l.data;if(f.type==="data")return h==="image"?`[image-data: ${l.mediaType}]`:`[file-data: ${l.mediaType}${l.filename?`, ${l.filename}`:""}]`;if(f.type==="url")return`[${h}-url: ${f.url}]`;if(f.type==="reference")return h==="image"?"[image-file-id]":"[file-id]";if(f.type==="text")return f.text;return c.push({type:"unsupported",feature:"tool-result.content.file",details:`Unsupported tool file content data type "${re(f)}".`}),"[unsupported-tool-content-part]"}if(l.type==="custom")return c.push({type:"unsupported",feature:"tool-result.content.custom",details:"Custom tool content parts are not supported."}),"";return c.push({type:"unsupported",feature:`tool-result.content.${re(l)}`,details:`Unsupported tool content part "${re(l)}".`}),"[unsupported-tool-content-part]"}).filter((l)=>l.length>0).join(`
2
+ `),warnings:c}}default:return{text:"[unsupported-tool-result-output]",warnings:[{type:"unsupported",feature:`tool-result.output.${re(i)}`,details:`Unsupported tool result output type "${re(i)}".`}]}}}function Ue(i){return i.type==="text"&&typeof i.text==="string"}function $r(i){return i.type==="reasoning"&&typeof i.text==="string"}function _r(i){let c=i;return i.type==="tool-call"&&typeof c.toolName==="string"&&typeof c.toolCallId==="string"&&"input"in c}function At(i){let c=i;return i.type==="tool-result"&&typeof c.toolName==="string"&&c.output!==void 0}function Or(i){let c=i;return i.type==="tool-approval-response"&&typeof c.approvalId==="string"&&typeof c.approved==="boolean"&&(c.reason===void 0||typeof c.reason==="string")}function Pt(i){let c=[];for(let u of i){if(u.role!=="system")continue;if(typeof u.content==="string"){let l=u.content.trim();if(l.length>0)c.push(l);continue}for(let l of u.content){if(!Ue(l))continue;let h=l.text.trim();if(h.length>0)c.push(h)}}if(c.length===0)return;return c.join(`
3
+
4
+ `)}function jt(i){let c=[],u=[],l=[],h=[],f=!1;for(let g of i){if(g.role!=="user")continue;if(typeof g.content==="string"){let S=g.content.trim();if(S.length>0)h.push(S);continue}let y=[];for(let S of g.content){if(Ue(S)){let R=S.text.trim();if(R.length>0)y.push(R);continue}if(Oe(S)||Et(S)){let R=qr(S);if(!R)continue;if(f=!0,R.kind==="local")u.push(R.image);else if(R.kind==="remote")l.push(R.url);else c.push({type:"unsupported",feature:`prompt.user.${S.type}`,details:R.warning});continue}c.push({type:"unsupported",feature:`prompt.user.${S.type}`,details:`Unsupported user content part "${S.type}".`})}let v=y.join(`
5
+ `).trim();if(v.length>0)h.push(v)}return{text:h.join(`
6
+ `).trim(),localImages:u,remoteImageUrls:l,warnings:c,sawImages:f}}function Ur(i){let c=[],u=[],l=[];for(let f of i){if(Ue(f)){let g=f.text.trim();if(g.length>0)l.push(g);continue}if($r(f)){let g=f.text.trim();if(g.length>0)u.push(`Assistant Reasoning: ${g}`);continue}if(f.type==="tool-call"){if(_r(f))u.push(`Tool Call (${f.toolName}): ${Pe(f.input)}`);else c.push({type:"unsupported",feature:"prompt.assistant.tool-call.malformed",details:"Malformed assistant tool-call part; expected toolName, toolCallId, and input."});continue}if(At(f)){let g=Mt(f.output);u.push(`Tool Result (${f.toolName}): ${g.text}`),c.push(...g.warnings);continue}if(Oe(f)){u.push(`[assistant-file: ${f.mediaType}]`);continue}if(f.type==="custom"){let g="kind"in f&&typeof f.kind==="string"?f.kind:void 0;c.push({type:"unsupported",feature:"prompt.assistant.custom",details:`Custom content parts are not supported${g?` (kind "${g}")`:""}.`});continue}if(f.type==="reasoning-file"){c.push({type:"unsupported",feature:"prompt.assistant.reasoning-file",details:"Reasoning file parts are not supported."});continue}c.push({type:"unsupported",feature:`prompt.assistant.${f.type}`,details:`Unsupported assistant content part "${f.type}".`})}let h=l.join(`
7
+ `).trim();if(h.length>0)u.unshift(`Assistant: ${h}`);return{lines:u,warnings:c}}function Nr(i){let c=[],u=[];for(let l of i){if(At(l)){let h=Mt(l.output);u.push(`Tool Result (${l.toolName}): ${h.text}`),c.push(...h.warnings);continue}if(Or(l)){let h=l.approved?"approved":"denied",f=l.reason?` (${l.reason})`:"";u.push(`Tool Approval (${l.approvalId}): ${h}${f}`);continue}c.push({type:"unsupported",feature:`prompt.tool.${l.type}`,details:`Unsupported tool message content part "${l.type}".`})}return{lines:u,warnings:c}}function Lr(i,c){let u=[],l=[],h=[],f=[],g=c?.includeRemoteImagesInMarkers??!0;for(let y of i){if(y.role==="system")continue;if(y.role==="user"){let v=jt([y]);u.push(...v.warnings),h.push(...v.localImages),f.push(...v.remoteImageUrls);let S=v.localImages.length+(g?v.remoteImageUrls.length:0),R=v.sawImages&&S>0?`[${S} image${S===1?"":"s"} attached]`:"",I=[v.text,R].filter((E)=>E.length>0).join(`
8
+ `).trim();if(I.length>0)l.push(`User: ${I}`);continue}if(y.role==="assistant"){let v=Array.isArray(y.content)?y.content:[{type:"text",text:String(y.content)}],S=Ur(v);l.push(...S.lines),u.push(...S.warnings);continue}if(y.role==="tool"){let v=Array.isArray(y.content)?y.content:[{type:"text",text:String(y.content)}],S=Nr(v);l.push(...S.lines),u.push(...S.warnings);continue}}return{text:l.join(`
9
+
10
+ `).trim(),localImages:h,remoteImageUrls:f,warnings:u}}function Br(i){let c=[],u=!1;for(let l=i.length-1;l>=0;l-=1){let h=i[l];if(!h)continue;if(h.role==="system")continue;if(h.role==="user"){c.push(h),u=!0;continue}if(u)break}if(c.length>0)return c.reverse();for(let l=i.length-1;l>=0;l-=1){let h=i[l];if(!h)continue;if(h.role==="user")return[h]}return[]}function Dr(i){let c=Br(i),u=jt(c),l=i.filter((g)=>g.role!=="system").length,h=c.length,f=[...u.warnings];if(l>h)f.push({type:"other",message:"Stateful mode ignores earlier prompt messages and only sends the latest user turn."});return{text:u.text,localImages:u.localImages,remoteImageUrls:u.remoteImageUrls,warnings:f}}function qt(i){let c=Pt(i.prompt),u=i.mode==="persistent"?Dr(i.prompt):Lr(i.prompt,{includeRemoteImagesInMarkers:i.includeRemoteImagesInMarkers});return{systemInstruction:c,text:u.text,localImages:u.localImages,remoteImageUrls:u.remoteImageUrls,warnings:u.warnings}}function Fr(i){let c=qt({prompt:i,mode:"stateless",includeRemoteImagesInMarkers:!1}),u=c.warnings.map((h)=>h.type==="unsupported"?{type:"unsupported",feature:h.feature,details:h.details}:{type:"other",message:h.message});if(c.remoteImageUrls.length>0)u.push({type:"unsupported",feature:"prompt.user.image.remote-url.exec",details:"Unsupported image format in message (HTTP URLs not supported)"});let l=[];if(c.systemInstruction)l.push(c.systemInstruction);if(c.text)l.push(c.text);return{promptText:l.join(`
11
+
12
+ `),images:c.localImages,...u.length>0?{warnings:u}:{}}}var je=class extends b{feature;minCodexVersion;serverVersion;constructor({feature:i,minCodexVersion:c,serverVersion:u,message:l}){let h=l??`Feature '${i}' is not supported by this codex app-server`+(u?` (detected ${u})`:"")+(c?`. Requires codex CLI >= ${c}.`:".");super({functionality:i,message:h});this.name="UnsupportedFeatureError",this.feature=i,this.minCodexVersion=c,this.serverVersion=u}};function he({message:i,code:c,exitCode:u,stderr:l,promptExcerpt:h,provider:f="exec",isRetryable:g=!1}){return new N({message:i,isRetryable:g,url:f==="app-server"?"codex-cli://app-server":"codex-cli://exec",requestBodyValues:h?{prompt:h}:void 0,data:{code:c,exitCode:u,stderr:l,promptExcerpt:h}})}function zr(i){return new It({message:i||"Authentication failed. Ensure Codex CLI is logged in (codex login)."})}function Ws(i){if(i instanceof It)return!0;if(i instanceof N){let c=i.data;if(c?.code!==void 0){let u=String(c.code).trim().toLowerCase();if(u==="401"||u==="unauthorized"||u==="auth")return!0}}return!1}function Js(i){return i instanceof je}function Hr(i){return i==="agent_message"||i==="assistant_message"}var Vr={none:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0,ultra:!0},Wr=t({reasoningEffort:ve.optional(),reasoningSummary:s(["auto","detailed"]).optional(),reasoningSummaryFormat:s(["none","experimental"]).optional(),textVerbosity:s(["low","medium","high"]).optional(),addDirs:o(e().min(1)).optional(),configOverrides:d(e().refine((i)=>qe(i),{message:"configOverrides keys must match /^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+)*$/."}),p([e(),n(),r(),t({}).passthrough(),o(L())])).optional(),mcpServers:Tt.optional(),rmcpClient:r().optional()}).strict();function Jr(i,c){if(i){let u=i.toLowerCase();if(u.endsWith(".js")||u.endsWith(".mjs")||u.endsWith(".cjs"))return{cmd:"node",args:[i]};return{cmd:i,args:[]}}try{return{cmd:"node",args:[ot(import.meta.url).resolve("@openai/codex/package.json").replace(/package\.json$/,"")+"bin/codex.js"]}}catch{if(c)return{cmd:"npx",args:["-y","@openai/codex"]};return{cmd:"codex",args:[]}}}var Zr=class{specificationVersion="v4";provider="codex-cli";supportedUrls={};modelId;settings;logger;sessionId;deprecationWarningsEmitted=new Set;constructor(i){this.modelId=i.id,this.settings=i.settings??{};let c=oe(this.settings.logger);if(this.logger=dt(c,this.settings.verbose??!1),!this.modelId||this.modelId.trim()==="")throw new we({modelId:this.modelId,modelType:"languageModel"});let u=Rr(this.modelId);if(u)this.logger.warn(`Codex CLI model: ${u}`)}warnDeprecatedOnce(i,c){if(this.deprecationWarningsEmitted.has(i))return;this.deprecationWarningsEmitted.add(i),this.logger.warn(`[codex-cli] ${c}`)}mergeSettings(i){if(!i)return this.settings;let c=i.configOverrides||this.settings.configOverrides?{...this.settings.configOverrides??{},...i.configOverrides??{}}:void 0,u=i.addDirs||this.settings.addDirs?[...this.settings.addDirs??[],...i.addDirs??[]]:void 0,l=hr(this.settings.mcpServers,i.mcpServers);return{...this.settings,reasoningEffort:i.reasoningEffort??this.settings.reasoningEffort,reasoningSummary:i.reasoningSummary??this.settings.reasoningSummary,reasoningSummaryFormat:i.reasoningSummaryFormat??this.settings.reasoningSummaryFormat,modelVerbosity:i.textVerbosity??this.settings.modelVerbosity,configOverrides:c,addDirs:u,mcpServers:l,rmcpClient:i.rmcpClient??this.settings.rmcpClient}}getItemType(i){if(!i)return;let c=i,u=typeof c.item_type==="string"?c.item_type:void 0,l=typeof c.type==="string"?c.type:void 0;return u??l}buildArgs(i=[],c,u=this.settings){let l=Jr(u.codexPath,u.allowNpx),h=[...l.args,"exec","--experimental-json"];if(u.dangerouslyBypassApprovalsAndSandbox&&!u.fullAuto)h.push("--dangerously-bypass-approvals-and-sandbox");else{let I=u.approvalMode??(u.fullAuto?"never":"on-request");if(ye(I))this.warnDeprecatedOnce(`approvalMode:${I}`,`approvalMode '${I}' is deprecated (retired by Codex CLI 0.143); sending 'on-request' instead.`);let E=pt(I);h.push("-c",`approval_policy=${E}`);let A=u.sandboxMode??"workspace-write";h.push("-c",`sandbox_mode=${A}`)}if(u.skipGitRepoCheck!==!1)h.push("--skip-git-repo-check");if(u.reasoningEffort)h.push("-c",`model_reasoning_effort=${u.reasoningEffort}`);if(u.reasoningSummary)h.push("-c",`model_reasoning_summary=${u.reasoningSummary}`);if(u.reasoningSummaryFormat)h.push("-c",`model_reasoning_summary_format=${u.reasoningSummaryFormat}`);if(u.modelVerbosity)h.push("-c",`model_verbosity=${u.modelVerbosity}`);if(u.profile)h.push("--profile",u.profile);if(u.oss)h.push("--oss");if(u.webSearch)h.push("-c","tools.web_search=true");let f=this.applyMcpSettings(h,u);if(u.color)h.push("--color",u.color);if(this.modelId)h.push("-m",this.modelId);if(u.addDirs?.length){for(let I of u.addDirs)if(typeof I==="string"&&I.trim().length>0)h.push("--add-dir",I)}if(u.configOverrides)for(let[I,E]of Object.entries(u.configOverrides))this.addConfigOverride(h,I,E);let g;if(c?.type==="json"&&c.schema){let I=typeof c.schema==="object"?c.schema:{},E=se(I);if(Object.keys(E).length>0){let O=ke(X(Re(),"codex-schema-"));g=X(O,"schema.json");let P={...E,additionalProperties:!1};at(g,JSON.stringify(P,null,2)),h.push("--output-schema",g)}}let y=[];for(let I of i)try{let E=kt(I);y.push(E),h.push("--image",E)}catch(E){this.logger.warn(`[codex-cli] Failed to write image to temp file: ${String(E)}`)}let v={...process.env,...u.env||{},...f,RUST_LOG:process.env.RUST_LOG||"error"},S=u.outputLastMessageFile,R=!1;if(!S){let I=ke(X(Re(),"codex-cli-"));S=X(I,"last-message.txt"),R=!0}if(h.push("--output-last-message",S),y.length>0)h.push("--");return h.push("-"),{cmd:l.cmd,args:h,env:v,cwd:u.cwd,lastMessagePath:S,lastMessageIsTemp:R,schemaPath:g,tempImagePaths:y.length>0?y:void 0}}applyMcpSettings(i,c){if(c.rmcpClient)this.addConfigOverride(i,"features.rmcp_client",!0);if(!c.mcpServers)return;let u={};for(let[l,h]of Object.entries(c.mcpServers)){let f=Y(l),g=`mcp_servers.${f}`;if(h.enabled!==void 0)this.addConfigOverride(i,`${g}.enabled`,h.enabled);if(h.startupTimeoutSec!==void 0)this.addConfigOverride(i,`${g}.startup_timeout_sec`,h.startupTimeoutSec);if(h.toolTimeoutSec!==void 0)this.addConfigOverride(i,`${g}.tool_timeout_sec`,h.toolTimeoutSec);if(h.enabledTools!==void 0)this.addConfigOverride(i,`${g}.enabled_tools`,h.enabledTools);if(h.disabledTools!==void 0)this.addConfigOverride(i,`${g}.disabled_tools`,h.disabledTools);if(h.transport==="stdio"){if(this.addConfigOverride(i,`${g}.command`,h.command),h.args!==void 0)this.addConfigOverride(i,`${g}.args`,h.args);if(h.env!==void 0)this.addConfigOverride(i,`${g}.env`,h.env);if(h.cwd)this.addConfigOverride(i,`${g}.cwd`,h.cwd)}else{this.addConfigOverride(i,`${g}.url`,h.url);let y=Object.keys(h.httpHeaders??{}).some((v)=>v.toLowerCase()==="authorization");if(h.bearerTokenEnvVar){if(this.addConfigOverride(i,`${g}.bearer_token_env_var`,h.bearerTokenEnvVar),h.bearerToken!==void 0)this.logger.warn(`[codex-cli] MCP server '${f}': both bearerToken and bearerTokenEnvVar are set; using bearerTokenEnvVar and ignoring the inline token.`)}else if(h.bearerToken!==void 0&&!y){let v=this.allocateBearerTokenEnvVar(f,u);u[v]=h.bearerToken,this.addConfigOverride(i,`${g}.bearer_token_env_var`,v)}if(h.httpHeaders!==void 0)this.addConfigOverride(i,`${g}.http_headers`,h.httpHeaders);if(h.envHttpHeaders!==void 0)this.addConfigOverride(i,`${g}.env_http_headers`,h.envHttpHeaders)}}return Object.keys(u).length>0?u:void 0}allocateBearerTokenEnvVar(i,c){let u=`CODEX_MCP_${i.toUpperCase().replace(/-/g,"_")}_BEARER_TOKEN`,l=u,h=2;while(l in c)l=`${u}_${h}`,h+=1;return l}addConfigOverride(i,c,u){if(ut(c),ur(u)){let h=Object.entries(u);if(h.length===0){i.push("-c",`${c}={}`);return}for(let[f,g]of h)this.addConfigOverride(i,`${c}.${f}`,g);return}let l=this.serializeConfigValue(u);i.push("-c",`${c}=${l}`)}serializeConfigValue(i){if(typeof i==="string")return i;if(typeof i==="number"||typeof i==="boolean")return String(i);if(Array.isArray(i))try{return JSON.stringify(i)}catch{return String(i)}if(i&&typeof i==="object")try{return JSON.stringify(i)}catch{return String(i)}return String(i)}parseExperimentalJsonEvent(i){try{return JSON.parse(i)}catch{return}}extractUsage(i){let c=i.usage;if(!c)return;let u=c.input_tokens??0,l=c.output_tokens??0,h=c.cached_input_tokens??0,f=typeof c.cache_write_input_tokens==="number"?c.cache_write_input_tokens:void 0,g=typeof c.reasoning_output_tokens==="number"?c.reasoning_output_tokens:void 0;return{inputTokens:{total:u,noCache:Math.max(0,u-h-(f??0)),cacheRead:h,cacheWrite:f},outputTokens:{total:l,text:void 0,reasoning:g},raw:c}}getToolName(i){if(!i)return;switch(this.getItemType(i)){case"command_execution":return"exec";case"file_change":return"patch";case"mcp_tool_call":{let u=i.tool;if(typeof u==="string"&&u.length>0)return u;return"mcp_tool"}case"web_search":return"web_search";default:return}}buildToolInputPayload(i){if(!i)return;let c=i;switch(this.getItemType(i)){case"command_execution":{let u={};if(typeof c.command==="string")u.command=c.command;if(typeof c.status==="string")u.status=c.status;if(typeof c.cwd==="string")u.cwd=c.cwd;return Object.keys(u).length?u:void 0}case"file_change":{let u={};if(Array.isArray(c.changes))u.changes=c.changes;if(typeof c.status==="string")u.status=c.status;return Object.keys(u).length?u:void 0}case"mcp_tool_call":{let u={};if(typeof c.server==="string")u.server=c.server;if(typeof c.tool==="string")u.tool=c.tool;if(typeof c.status==="string")u.status=c.status;if(c.arguments!==void 0)u.arguments=c.arguments;return Object.keys(u).length?u:void 0}case"web_search":{let u={};if(typeof c.query==="string")u.query=c.query;return Object.keys(u).length?u:void 0}default:return}}buildToolResultPayload(i){if(!i)return{result:{}};let c=i,u={},l=this.getItemType(i);if(typeof l==="string")u.itemType=l;if(typeof i.id==="string")u.itemId=i.id;if(typeof c.status==="string")u.status=c.status;let h=(f)=>({result:f,metadata:Object.keys(u).length?u:void 0});switch(l){case"command_execution":{let f={};if(typeof c.command==="string")f.command=c.command;if(typeof c.aggregated_output==="string")f.aggregatedOutput=c.aggregated_output;if(typeof c.exit_code==="number")f.exitCode=c.exit_code;if(typeof c.status==="string")f.status=c.status;return h(f)}case"file_change":{let f={};if(Array.isArray(c.changes))f.changes=c.changes;if(typeof c.status==="string")f.status=c.status;return h(f)}case"mcp_tool_call":{let f={};if(typeof c.server==="string")f.server=c.server,u.server=c.server;if(typeof c.tool==="string")f.tool=c.tool;if(typeof c.status==="string")f.status=c.status;if(c.result!==void 0)f.result=c.result;if(c.error!==void 0)f.error=c.error;return h(f)}case"web_search":{let f={};if(typeof c.query==="string")f.query=c.query;if(typeof c.status==="string")f.status=c.status;return h(f)}default:{let f={...c};return h(f)}}}emitToolInvocation(i,c,u,l){let h=ht(l);if(i.enqueue({type:"tool-input-start",id:c,toolName:u,providerExecuted:!0,dynamic:!0}),h)i.enqueue({type:"tool-input-delta",id:c,delta:h});i.enqueue({type:"tool-input-end",id:c}),i.enqueue({type:"tool-call",toolCallId:c,toolName:u,input:h,providerExecuted:!0,dynamic:!0})}emitToolResult(i,c,u,l,h,f){let g={...f??{}},y=this.getItemType(l);if(y&&g.itemType===void 0)g.itemType=y;if(l.id&&g.itemId===void 0)g.itemId=l.id;let v;if(y==="command_execution"){let S=l,R=typeof S.exit_code==="number"?S.exit_code:void 0,I=typeof S.status==="string"?S.status:void 0;if(R!==void 0&&R!==0||I==="failed")v=!0}i.enqueue({type:"tool-result",toolCallId:c,toolName:u,result:h??{},dynamic:!0,...v?{isError:!0}:{},...Object.keys(g).length?{providerMetadata:{"codex-cli":g}}:{}})}handleSpawnError(i,c){let u=i&&typeof i==="object"?i:void 0,l=String((u?.message??i)||"Failed to run Codex CLI");if(/login|auth|unauthorized|not\s+logged/i.test(l))return zr(l);return he({message:l,code:typeof u?.code==="string"?u.code:void 0,exitCode:typeof u?.exitCode==="number"?u.exitCode:void 0,stderr:typeof u?.stderr==="string"?u.stderr:void 0,promptExcerpt:c})}async doGenerate(i){this.logger.debug(`[codex-cli] Starting doGenerate request with model: ${this.modelId}`);let{stream:c,request:u}=await this.doStream(i),l=[],h=new Map,f=new Map,g,y,v={id:C(),timestamp:new Date,modelId:this.modelId},S=me(),R={unified:"other",raw:void 0},I=[],E,A=(x,M)=>{let _=h.get(x);if(_){if(M)_.providerMetadata=M;return _}let U={type:"text",text:"",...M?{providerMetadata:M}:{}};return h.set(x,U),l.push(U),U},O=(x,M)=>{let _=f.get(x);if(_){if(M)_.providerMetadata=M;return _}let U={type:"reasoning",text:"",...M?{providerMetadata:M}:{}};return f.set(x,U),l.push(U),U},P=(x)=>{l.push(x)};for await(let x of c){if(x.type==="stream-start"){I=x.warnings;continue}if(x.type==="response-metadata"){v={id:x.id,timestamp:x.timestamp,modelId:x.modelId};continue}if(x.type==="text-start"){g=x.id,A(x.id,x.providerMetadata);continue}if(x.type==="text-delta"){let M=typeof x.id==="string"?x.id:g??"__default_text_block__";g=M;let _=A(M,x.providerMetadata);_.text=`${_.text}${x.delta}`;continue}if(x.type==="text-end"){let M=typeof x.id==="string"?x.id:g;if(M){let _=A(M,x.providerMetadata);if(x.providerMetadata)_.providerMetadata=x.providerMetadata}if(g===M)g=void 0;continue}if(x.type==="reasoning-start"){y=x.id,O(x.id,x.providerMetadata);continue}if(x.type==="reasoning-delta"){let M=typeof x.id==="string"?x.id:y??"__default_reasoning_block__";y=M;let _=O(M,x.providerMetadata);_.text=`${_.text}${x.delta}`;continue}if(x.type==="reasoning-end"){let M=typeof x.id==="string"?x.id:y;if(M){let _=O(M,x.providerMetadata);if(x.providerMetadata)_.providerMetadata=x.providerMetadata}if(y===M)y=void 0;continue}if(x.type==="file"){P(x);continue}if(x.type==="source"){P(x);continue}if(x.type==="tool-approval-request"){P(x);continue}if(x.type==="tool-call"){P(x);continue}if(x.type==="tool-result"){P(x);continue}if(x.type==="finish")S=x.usage,R=x.finishReason,E=x.providerMetadata}let q=l.filter((x)=>{if(x.type==="text")return x.text.trim().length>0;if(x.type==="reasoning")return x.text.trim().length>0;return!0}),k=E&&typeof E==="object"?{...E}:{};if(this.sessionId){let x=k["codex-cli"],M=x&&typeof x==="object"&&!Array.isArray(x)?x:{};k["codex-cli"]={...M,sessionId:this.sessionId}}return{content:q,usage:S,finishReason:R,warnings:I,response:v,request:u,...Object.keys(k).length>0?{providerMetadata:k}:{}}}async doStream(i){this.logger.debug(`[codex-cli] Starting doStream request with model: ${this.modelId}`);let{promptText:c,images:u,warnings:l}=Fr(i.prompt),h=c.slice(0,200),f=[...mt({temperature:i.temperature,topP:i.topP,topK:i.topK,maxOutputTokens:i.maxOutputTokens,presencePenalty:i.presencePenalty,frequencyPenalty:i.frequencyPenalty,stopSequences:i.stopSequences,seed:i.seed,tools:i.tools,toolChoice:i.toolChoice}),...l??[]];this.logger.debug(`[codex-cli] Converted ${i.prompt.length} messages (${u.length} images) for streaming, response format: ${i.responseFormat?.type??"none"}`);let g=await T({provider:this.provider,providerOptions:i.providerOptions,schema:Wr}),y=this.mergeSettings(g),v=i.reasoning;if(v!==void 0&&v!=="provider-default"&&g?.reasoningEffort===void 0)if(Object.hasOwn(Vr,v))y={...y,reasoningEffort:v};else f.push({type:"unsupported",feature:"reasoning",details:`Codex CLI does not support reasoning effort '${v}'; it will be ignored.`});let S=i.responseFormat?.type==="json"?{type:"json",schema:i.responseFormat.schema}:void 0,{cmd:R,args:I,env:E,cwd:A,lastMessagePath:O,lastMessageIsTemp:P,schemaPath:q,tempImagePaths:k}=this.buildArgs(u,S,y);return this.logger.debug(`[codex-cli] Executing Codex CLI for streaming: ${R} with ${I.length} arguments`),{stream:new ReadableStream({start:(M)=>{let _=Date.now(),U=it(R,I,{env:E,cwd:A,stdio:["pipe","pipe","pipe"]});U.stdin.write(c),U.stdin.end(),M.enqueue({type:"stream-start",warnings:f});let D="",ae="",K="",Te=new Map,de=!1,Le,Z,ee=()=>{if(!P||!O)return;try{ne(O,{force:!0})}catch{}try{ne(Fe(O),{recursive:!0,force:!0})}catch{}},be=()=>{if(q)try{let B=Fe(q);ne(B,{recursive:!0,force:!0})}catch{}if(k?.length)Ee(k)},ce=(B={})=>{M.enqueue({type:"response-metadata",id:xe(),timestamp:new Date,modelId:this.modelId,...Object.keys(B).length?{providerMetadata:{"codex-cli":B}}:{}})},Zt=(B)=>{let j=B.item;if(!j)return;if(B.type==="item.completed"&&Hr(this.getItemType(j))&&typeof j.text==="string"){ae=j.text,this.logger.debug(`[codex-cli] Received assistant message, length: ${j.text.length}`);return}let F=this.getToolName(j);if(!F)return;this.logger.debug(`[codex-cli] Tool detected: ${F}, item type: ${this.getItemType(j)}`);let H=typeof j.id==="string"&&j.id.length>0?j.id:xe(),z=Te.get(H),V=this.buildToolInputPayload(j);if(!z)z={toolCallId:H,toolName:F,inputPayload:V,hasEmittedCall:!1},Te.set(H,z);else if(z.toolName=F,V!==void 0)z.inputPayload=V;if(!z.hasEmittedCall)this.logger.debug(`[codex-cli] Emitting tool invocation: ${z.toolName}`),this.emitToolInvocation(M,z.toolCallId,z.toolName,z.inputPayload),z.hasEmittedCall=!0;if(B.type==="item.completed"){let{result:Gt,metadata:Qt}=this.buildToolResultPayload(j);this.logger.debug(`[codex-cli] Tool completed: ${z.toolName}`),this.emitToolResult(M,z.toolCallId,z.toolName,j,Gt,Qt),Te.delete(H)}},Ie=()=>{U.kill("SIGTERM")};if(i.abortSignal){if(i.abortSignal.aborted){U.on("close",ee),U.on("error",ee),U.kill("SIGTERM"),be(),ee(),M.error(i.abortSignal.reason??Error("Request aborted"));return}i.abortSignal.addEventListener("abort",Ie,{once:!0})}let Kt=(B)=>{let j=Date.now()-_;if(B!==0){this.logger.error(`[codex-cli] Stream process exited with code ${B} after ${j}ms`),M.error(he({message:`Codex CLI exited with code ${B}`,exitCode:B??void 0,stderr:D,promptExcerpt:h}));return}if(Z){this.logger.error(`[codex-cli] Stream failed: ${Z}`),M.error(he({message:Z,stderr:D,promptExcerpt:h}));return}let F=ae;if(!F&&O)try{let V=Yt(O,"utf8");if(V)F=V.trim()}catch{}if(F){let V=xe();M.enqueue({type:"text-start",id:V}),M.enqueue({type:"text-delta",id:V,delta:F}),M.enqueue({type:"text-end",id:V})}let H=Le??me(),z=(H.inputTokens.total??0)+(H.outputTokens.total??0);this.logger.info(`[codex-cli] Stream completed - Session: ${this.sessionId??"N/A"}, Duration: ${j}ms, Tokens: ${z}`),this.logger.debug(`[codex-cli] Token usage - Input: ${H.inputTokens.total??0}, Output: ${H.outputTokens.total??0}, Total: ${z}`),M.enqueue({type:"finish",finishReason:cr(void 0),usage:H}),M.close()},Be=(B)=>{let j=this.parseExperimentalJsonEvent(B);if(!j)return;if(this.logger.debug(`[codex-cli] Stream event: ${j.type??"unknown"}`),j.type==="thread.started"&&typeof j.thread_id==="string"){if(this.sessionId=j.thread_id,this.logger.debug(`[codex-cli] Stream session started: ${this.sessionId}`),!de)de=!0,ce();return}if(j.type==="session.created"&&typeof j.session_id==="string"){if(this.sessionId=j.session_id,this.logger.debug(`[codex-cli] Stream session created: ${this.sessionId}`),!de)de=!0,ce();return}if(j.type==="turn.completed"){let F=this.extractUsage(j);if(F)Le=F;return}if(j.type==="turn.failed"){Z=(j.error&&typeof j.error.message==="string"&&j.error.message||(typeof j.message==="string"?j.message:void 0))??Z??"Codex turn failed",this.logger.error(`[codex-cli] Stream turn failed: ${Z}`),ce({error:Z});return}if(j.type==="error"){let H=(typeof j.message==="string"?j.message:void 0)??"Codex error";Z=Z??H,this.logger.error(`[codex-cli] Stream error event: ${H}`),ce({error:H});return}if(j.type&&j.type.startsWith("item."))Zt(j)};U.stderr.on("data",(B)=>D+=String(B)),U.stdout.setEncoding("utf8"),U.stdout.on("data",(B)=>{let j=(K+B).split(/\r?\n/);K=j.pop()??"";for(let F of j){if(!F)continue;Be(F)}}),U.on("error",(B)=>{if(this.logger.error(`[codex-cli] Stream spawn error: ${String(B)}`),i.abortSignal)i.abortSignal.removeEventListener("abort",Ie);be(),ee(),M.error(this.handleSpawnError(B,h))}),U.on("close",(B)=>{if(i.abortSignal)i.abortSignal.removeEventListener("abort",Ie);be(),setImmediate(()=>{try{if(K)Be(K),K="";Kt(B)}finally{ee()}})})},cancel:()=>{}}),request:{body:c}}}};function Kr(i={}){let c=oe(i.defaultSettings?.logger);if(i.defaultSettings){let h=He(i.defaultSettings);if(!h.valid)throw Error(`Invalid default settings: ${h.errors.join(", ")}`);for(let f of h.warnings)c.warn(`Codex CLI Provider: ${f}`)}let u=(h,f={})=>{let g={...i.defaultSettings,...f},y=He(g);if(!y.valid)throw Error(`Invalid settings: ${y.errors.join(", ")}`);for(let v of y.warnings)c.warn(`Codex CLI: ${v}`);return new Zr({id:h,settings:g})},l=Object.assign(function(h,f){if(new.target)throw Error("The Codex CLI provider function cannot be called with new.");return u(h,f)},{specificationVersion:"v4"});return l.languageModel=u,l.chat=u,l.embeddingModel=(h)=>{throw new we({modelId:h,modelType:"embeddingModel"})},l.imageModel=(h)=>{throw new we({modelId:h,modelType:"imageModel"})},l}var Zs=Kr();function Gr(i){switch(i.type){case"text":return{type:"text",text:i.text,text_elements:[]};case"image":return{type:"image",url:i.imageUrl,imageUrl:i.imageUrl};case"localImage":return{type:"localImage",path:i.path};default:throw Error(`Unsupported input type: ${String(i)}`)}}var Qr=class{threadId;modelId;client;defaultTurnParams;requestHandlers;autoApprove;currentTurnId=null;active=!1;constructor(i){this.threadId=i.threadId,this.modelId=i.modelId,this.client=i.client,this.defaultTurnParams=i.defaultTurnParams??{},this.requestHandlers=i.requestHandlers??{},this.autoApprove=i.autoApprove}get turnId(){return this.currentTurnId}isTurnCompleted(i){return this.client.hasTurnCompleted?.(i)??!1}refreshActiveState(){if(!this.active||!this.currentTurnId)return;if(this.isTurnCompleted(this.currentTurnId))this.active=!1}isActive(){return this.refreshActiveState(),this.active}setTurnId(i){this.currentTurnId=i,this.active=!this.isTurnCompleted(i)}setInactive(i){if(i&&this.currentTurnId&&i!==this.currentTurnId)return;this.active=!1}async injectMessage(i){let c=typeof i==="string"?[{type:"text",text:i}]:i;if(c.length===0)return;let u=c.map(Gr),l=await this.client.withThreadLock(this.threadId,async()=>{let g=this.client.registerRequestContext(this.threadId,{handlers:this.requestHandlers,autoApprove:this.autoApprove});try{let y=await this.client.turnStart({threadId:this.threadId,input:u,model:this.modelId,...this.defaultTurnParams});return this.client.bindRequestContext(g,String(y.turn.id)),y}catch(y){throw this.client.clearRequestContext(g),y}}),h=String(l.turn.id),f=this.isTurnCompleted(h);this.currentTurnId=h,this.active=!f}async interrupt(){if(this.refreshActiveState(),!this.active||!this.currentTurnId)return;let i=this.currentTurnId;if(await this.client.turnInterrupt({threadId:this.threadId,turnId:i}),this.currentTurnId===i)this.active=!1}},Xr=class{activeToolNames=new Map;activeToolStarts=new Map;stats={totalCalls:0,totalDurationMs:0,byType:{exec:0,patch:0,mcp:0,web_search:0,other:0}};start(i,c){this.activeToolNames.set(i,c),this.activeToolStarts.set(i,Date.now())}get(i){return this.activeToolNames.get(i)}resolve(i,c){return this.activeToolNames.get(i)??c}complete(i,c,u){let l=this.resolve(i,c),h=this.activeToolStarts.get(i),f=h!==void 0?Math.max(0,Date.now()-h):void 0;return this.recordCompletion(l.toolName,u??f),this.activeToolNames.delete(i),this.activeToolStarts.delete(i),l}getStats(){return{totalCalls:this.stats.totalCalls,totalDurationMs:this.stats.totalDurationMs,byType:{...this.stats.byType}}}toolTypeFromName(i){if(i==="exec")return"exec";if(i==="patch")return"patch";if(i==="web_search")return"web_search";if(i.startsWith("mcp__"))return"mcp";return"other"}recordCompletion(i,c){if(this.stats.totalCalls+=1,this.stats.byType[this.toolTypeFromName(i)]+=1,typeof c==="number"&&Number.isFinite(c)&&c>=0)this.stats.totalDurationMs+=c}};function $t(i){return i.toLowerCase()}function Je(i){let c=$t(i.type);if(c==="commandexecution")return{toolName:"exec",dynamic:!0};if(c==="filechange")return{toolName:"patch",dynamic:!0};if(c==="mcptoolcall"){let u=typeof i.server==="string"?i.server||"server":"server",l=typeof i.tool==="string"?i.tool||"tool":"tool";return{toolName:`mcp__${u}__${l}`,dynamic:!0}}if(c==="dynamictoolcall"){let u="tool"in i&&typeof i.tool==="string"&&i.tool?i.tool:"tool",l="namespace"in i&&typeof i.namespace==="string"&&i.namespace?i.namespace:void 0;return{toolName:l?`${l}__${u}`:u,dynamic:!0}}if(c==="websearch")return{toolName:"web_search",dynamic:!0};return}function Ze(i){return i.inputTokens>0||i.outputTokens>0}function Yr(i,c,u){if(!c||!u)return Ze(i)?i:void 0;let l=(f,g)=>Math.max(0,f-(g??0)),h={totalTokens:l(c.totalTokens,u.totalTokens),inputTokens:l(c.inputTokens,u.inputTokens),cachedInputTokens:l(c.cachedInputTokens,u.cachedInputTokens),outputTokens:l(c.outputTokens,u.outputTokens),reasoningOutputTokens:l(c.reasoningOutputTokens,u.reasoningOutputTokens)};if(typeof c.cacheWriteInputTokens==="number")h.cacheWriteInputTokens=l(c.cacheWriteInputTokens,u.cacheWriteInputTokens);return Ze(h)?h:void 0}function en(i){let c,u=!1,l=(g)=>(y)=>{if(!i.isSameTurn(y)||typeof y.delta!=="string")return;let v=typeof y.itemId==="string"?y.itemId:C();i.reasoningItemIdsWithDelta.add(v),i.emitter.emitReasoningDelta(y.delta,g,v)},h=(g)=>{if(!i.isSameTurn(g))return;if(!g.item||typeof g.item!=="object")return;let y=g.item,v=$t(y.type);if(v==="agentmessage"){let E=typeof y.id==="string"?y.id:C(),A=y.text;if(!i.textItemIdsWithDelta.has(E)&&typeof A==="string"&&A.length>0)i.emitter.emitTextDelta(A,E);return}if(v==="reasoning"){let E=typeof y.id==="string"?y.id:C();if(!i.reasoningItemIdsWithDelta.has(E)){let{summary:A,content:O}=y;if(Array.isArray(A)&&A.length>0)i.emitter.emitReasoningDelta(A.join(`
13
+ `),!0,E);if(typeof A==="string"&&A.length>0)i.emitter.emitReasoningDelta(A,!0,E);if(Array.isArray(O)&&O.length>0)i.emitter.emitReasoningDelta(O.join(`
14
+ `),!1,E);if(typeof O==="string"&&O.length>0)i.emitter.emitReasoningDelta(O,!1,E)}return}let S=Je(y);if(!S)return;let R=typeof y.id==="string"?y.id:C(),I=i.toolTracker.complete(R,S,typeof y.durationMs==="number"?y.durationMs:void 0);i.emitter.emitToolResult(R,I.toolName,y,I.dynamic,y.status==="failed")},f=(g)=>(y)=>{if(!i.isSameTurn(y)||typeof y.delta!=="string")return;let v=typeof y.itemId==="string"?y.itemId:C(),S=i.toolTracker.get(v);i.emitter.emitToolOutputDelta(v,S?.toolName??g,y.delta,S?.dynamic??!0)};return{"item/agentMessage/delta":(g)=>{if(!i.isSameTurn(g)||typeof g.delta!=="string")return;let y=typeof g.itemId==="string"?g.itemId:C();i.textItemIdsWithDelta.add(y),i.emitter.emitTextDelta(g.delta,y)},reasoningTextDelta:l(!1),"item/reasoning/textDelta":l(!1),reasoningSummaryTextDelta:l(!0),"item/reasoning/summaryTextDelta":l(!0),"item/started":(g)=>{if(!i.isSameTurn(g))return;if(!g.item||typeof g.item!=="object")return;let y=g.item,v=Je(y);if(!v)return;let S=typeof y.id==="string"?y.id:C();i.toolTracker.start(S,v),i.emitter.emitToolCall(S,v.toolName,ht(y),v.dynamic)},"item/completed":h,"item/commandExecution/outputDelta":f("exec"),"item/fileChange/outputDelta":f("patch"),"thread/tokenUsage/updated":(g)=>{if(!i.isSameTurn(g))return;let y=g,v=y.tokenUsage?.last;if(!v)return;let S=y.tokenUsage?.total;if(!u){u=!0;let E=i.getBoundTurnId()??y.turnId;c=typeof E==="string"?i.getTokenUsageTotalBeforeTurn(E):void 0}let R=Yr(v,S,c);if(S)c=S;if(!R)return;let I=typeof R.cacheWriteInputTokens==="number"?R.cacheWriteInputTokens:void 0;i.onUsage({inputTokens:{total:R.inputTokens,noCache:Math.max(0,R.inputTokens-R.cachedInputTokens-(I??0)),cacheRead:R.cachedInputTokens,cacheWrite:I},outputTokens:{total:R.outputTokens,text:void 0,reasoning:R.reasoningOutputTokens},raw:{...R}})},"turn/completed":(g)=>{if(!g.turn||typeof g.turn!=="object")return;let y=g.turn,v=i.getBoundTurnId();if(v&&y.id!==v)return;i.onTurnCompleted(y)},error:(g)=>{if(!i.isSameTurn(g))return;if(g.willRetry===!0)return;let y=g.error;if(y&&typeof y==="object"&&typeof y.message==="string")i.onError(Error(y.message))}}}function tn(i){return{"item/commandExecution/requestApproval":(c)=>{if(!i.isSameTurn(c))return;let u=typeof c.itemId==="string"?c.itemId:C();i.emitter.emitApprovalRequest(u)},"item/fileChange/requestApproval":(c)=>{if(!i.isSameTurn(c))return;let u=typeof c.itemId==="string"?c.itemId:C();i.emitter.emitApprovalRequest(u)}}}var rn=class{client;emitter;threadId;onUsage;onThreadTurnCompleted;onTurnCompleted;onError;turnId;bufferedTurnScopedEvents=[];toolTracker=new Xr;textItemIdsWithDelta=new Set;reasoningItemIdsWithDelta=new Set;notificationHandlers;serverRequestHandlers;notificationListener;serverRequestListener;constructor(i){this.client=i.client,this.emitter=i.emitter,this.threadId=i.threadId,this.onUsage=i.onUsage,this.onThreadTurnCompleted=i.onThreadTurnCompleted,this.onTurnCompleted=i.onTurnCompleted,this.onError=i.onError,this.notificationHandlers=en({emitter:this.emitter,toolTracker:this.toolTracker,textItemIdsWithDelta:this.textItemIdsWithDelta,reasoningItemIdsWithDelta:this.reasoningItemIdsWithDelta,onUsage:this.onUsage,onTurnCompleted:this.onTurnCompleted,onError:this.onError,isSameTurn:(c)=>this.isSameTurn(c),getBoundTurnId:()=>this.turnId,getTokenUsageTotalBeforeTurn:(c)=>this.client.getTokenUsageTotalBeforeTurn?.(this.threadId,c)}),this.serverRequestHandlers=tn({emitter:this.emitter,isSameTurn:(c)=>this.isSameTurn(c)})}setTurnId(i){this.turnId=i,this.flushBufferedTurnScopedEvents()}getToolExecutionStats(){return this.toolTracker.getStats()}subscribe(){return this.notificationListener=(i,c)=>{if(!this.isSameThread(c))return;if(i==="turn/completed"&&c.turn&&typeof c.turn==="object")this.onThreadTurnCompleted?.(c.turn);if(this.bufferTurnScopedEventBeforeBinding({kind:"notification",method:i,params:c}))return;this.emitter.emitRaw(i,c),this.handleNotification(i,c)},this.client.on("notification",this.notificationListener),this.serverRequestListener=(i,c,u)=>{if(!this.isSameThread(c))return;if(this.bufferTurnScopedEventBeforeBinding({kind:"server-request",method:i,params:c,id:u}))return;this.emitter.emitRaw(i,c,u),this.handleServerRequest(i,c)},this.client.on("server-request",this.serverRequestListener),()=>this.unsubscribe()}unsubscribe(){if(this.notificationListener)this.client.off("notification",this.notificationListener),this.notificationListener=void 0;if(this.serverRequestListener)this.client.off("server-request",this.serverRequestListener),this.serverRequestListener=void 0;this.bufferedTurnScopedEvents=[]}isSameThread(i){return(typeof i.threadId==="string"?i.threadId:void 0)===this.threadId}getTurnIdFromParams(i){let c=i.turn&&typeof i.turn==="object"?i.turn:void 0;return typeof i.turnId==="string"?i.turnId:typeof c?.id==="string"?c.id:void 0}bufferTurnScopedEventBeforeBinding(i){if(this.turnId)return!1;if(this.getTurnIdFromParams(i.params)===void 0)return!1;return this.bufferedTurnScopedEvents.push(i),!0}flushBufferedTurnScopedEvents(){if(!this.turnId||this.bufferedTurnScopedEvents.length===0)return;let i=this.bufferedTurnScopedEvents;this.bufferedTurnScopedEvents=[];for(let c of i){if(!this.isSameThread(c.params))continue;if(this.getTurnIdFromParams(c.params)!==this.turnId)continue;if(c.kind==="notification")this.emitter.emitRaw(c.method,c.params),this.handleNotification(c.method,c.params);else this.emitter.emitRaw(c.method,c.params,c.id),this.handleServerRequest(c.method,c.params)}}isSameTurn(i){let c=this.getTurnIdFromParams(i);if(!this.turnId)return c===void 0;return c===void 0||c===this.turnId}handleNotification(i,c){if(!this.isSameThread(c))return;let u=this.notificationHandlers[i];if(!u)return;u(c)}handleServerRequest(i,c){if(!this.isSameThread(c))return;let u=this.serverRequestHandlers[i];if(!u)return;u(c)}},nn=class{constructor(i,c){this.controller=i,this.options=c,this.jsonModeLastTextBlockOnly=Boolean(c.jsonModeLastTextBlockOnly)}controller;options;textId;reasoningId;jsonModeLastTextBlockOnly;bufferedCurrentJsonText="";lastCompletedJsonTextId;lastCompletedJsonText="";closed=!1;safeEnqueue(i){if(this.closed)return;try{this.controller.enqueue(i)}catch{this.closed=!0}}emitStreamStart(i){this.safeEnqueue({type:"stream-start",warnings:i})}emitResponseMetadata(){this.safeEnqueue({type:"response-metadata",id:C(),timestamp:new Date,modelId:this.options.modelId})}emitRaw(i,c,u){if(!this.options.includeRawChunks)return;this.safeEnqueue({type:"raw",rawValue:{method:i,params:c,id:u}})}emitTextDelta(i,c){if(this.jsonModeLastTextBlockOnly){let l=c??this.textId??C();if(this.textId&&this.textId!==l)this.lastCompletedJsonTextId=this.textId,this.lastCompletedJsonText=this.bufferedCurrentJsonText,this.textId=void 0,this.bufferedCurrentJsonText="";if(!this.textId)this.textId=l,this.bufferedCurrentJsonText="";this.bufferedCurrentJsonText=`${this.bufferedCurrentJsonText}${i}`;return}let u=c??this.textId??C();if(this.textId&&this.textId!==u)this.safeEnqueue({type:"text-end",id:this.textId}),this.textId=void 0;if(!this.textId)this.textId=u,this.safeEnqueue({type:"text-start",id:this.textId});this.safeEnqueue({type:"text-delta",id:this.textId,delta:i})}emitReasoningDelta(i,c=!1,u){let l=u??this.reasoningId??C();if(this.reasoningId&&this.reasoningId!==l)this.safeEnqueue({type:"reasoning-end",id:this.reasoningId}),this.reasoningId=void 0;if(!this.reasoningId)this.reasoningId=l,this.safeEnqueue({type:"reasoning-start",id:this.reasoningId});this.safeEnqueue({type:"reasoning-delta",id:this.reasoningId,delta:i,...c?{providerMetadata:{"codex-app-server":{isSummary:!0}}}:{}})}emitToolCall(i,c,u,l){if(this.safeEnqueue({type:"tool-input-start",id:i,toolName:c,providerExecuted:!0,...l?{dynamic:!0}:{}}),u)this.safeEnqueue({type:"tool-input-delta",id:i,delta:u});this.safeEnqueue({type:"tool-input-end",id:i}),this.safeEnqueue({type:"tool-call",toolCallId:i,toolName:c,input:u,providerExecuted:!0,...l?{dynamic:!0}:{}})}emitToolOutputDelta(i,c,u,l){this.safeEnqueue({type:"tool-result",toolCallId:i,toolName:c,preliminary:!0,result:{type:"output-delta",delta:u},...l?{dynamic:!0}:{}})}emitToolResult(i,c,u,l,h){this.safeEnqueue({type:"tool-result",toolCallId:i,toolName:c,result:u??{},...l?{dynamic:!0}:{},...h?{isError:!0}:{}})}emitApprovalRequest(i){this.safeEnqueue({type:"tool-approval-request",approvalId:i,toolCallId:i})}emitFinish(i,c,u){if(this.jsonModeLastTextBlockOnly){if(this.textId)this.lastCompletedJsonTextId=this.textId,this.lastCompletedJsonText=this.bufferedCurrentJsonText,this.textId=void 0,this.bufferedCurrentJsonText="";let l=this.lastCompletedJsonTextId;if(l){let h=this.lastCompletedJsonText;if(this.safeEnqueue({type:"text-start",id:l}),h.length>0)this.safeEnqueue({type:"text-delta",id:l,delta:h});this.safeEnqueue({type:"text-end",id:l})}this.lastCompletedJsonTextId=void 0,this.lastCompletedJsonText=""}else if(this.textId)this.safeEnqueue({type:"text-end",id:this.textId});if(this.reasoningId)this.safeEnqueue({type:"reasoning-end",id:this.reasoningId});this.safeEnqueue({type:"finish",finishReason:i,usage:c,...u?{providerMetadata:u}:{}})}close(){if(this.closed)return;this.closed=!0;try{this.controller.close()}catch{}}error(i){if(this.closed)return;this.closed=!0;try{this.controller.error(i)}catch{}}},sn=5000;function on(i,c){return new Promise((u)=>{let l=!1,h=setTimeout(()=>{if(l)return;l=!0,u(void 0)},c);i.then((f)=>{if(l)return;l=!0,clearTimeout(h),u(f)}).catch(()=>{if(l)return;l=!0,clearTimeout(h),u(void 0)})})}function an(i){let c=String(i?.message??i);return/thread.*not found/i.test(c)}function dn(i){return Error(`Thread '${i}' not found after server restart. Create a new thread by omitting threadId.`)}function cn(i){switch(i.status){case"completed":return{unified:"stop",raw:"completed"};case"interrupted":return{unified:"stop",raw:"interrupted"};case"failed":{let c=i.error?.codexErrorInfo;if(c==="contextWindowExceeded")return{unified:"length",raw:"context_window_exceeded"};if(c==="usageLimitExceeded")return{unified:"length",raw:"usage_limit_exceeded"};return{unified:"error",raw:i.error?.message??"failed"}}default:return{unified:"other",raw:i.status}}}var un=class{constructor(i){this.options=i}options;state="created";usage=me();turnId;requestContextId;cleanedUp=!1;pendingCancelReason;cancelBeforeTurnId=!1;pendingAbortReason;interruptWaitPromise;cancelWaitPromise;settleTurn;turnCompletionPromise=new Promise(()=>{return});emitter;router;unsubscribeRouter;onAbort;isTerminalState(){return this.state==="closed"||this.state==="errored"||this.state==="finishing"}isClosedState(){return this.state==="closed"}async start(i){if(this.state!=="created")return;if(this.state="starting",this.turnCompletionPromise=new Promise((c,u)=>{this.settleTurn={resolve:c,reject:u}}),this.emitter=new nn(i,{modelId:this.options.modelId,threadId:this.options.threadId,includeRawChunks:this.options.includeRawChunks,jsonModeLastTextBlockOnly:this.options.jsonModeLastTextBlockOnly}),this.emitter.emitStreamStart(this.options.warnings),this.emitter.emitResponseMetadata(),this.router=new rn({client:this.options.client,emitter:this.emitter,threadId:this.options.threadId,onUsage:(c)=>{this.usage=dr(this.usage,c)},onThreadTurnCompleted:(c)=>{this.options.session?.setInactive(c.id)},onTurnCompleted:(c)=>{this.settleTurn?.resolve(c)},onError:(c)=>{this.settleTurn?.reject(c)}}),this.unsubscribeRouter=this.router.subscribe(),this.attachAbortSignal(),this.pendingCancelReason!==void 0){if(await this.requestCancel(this.pendingCancelReason),this.isClosedState())return}if(this.pendingAbortReason!==void 0){await this.failWithError(this.pendingAbortReason);return}try{this.state="awaiting_turn_id";let c=this.options.shouldSerializeTurnStart?await this.options.client.withThreadLock(this.options.threadId,async()=>await this.startTurnWithContext()):await this.startTurnWithContext();if(this.turnId=c.turn.id,this.router.setTurnId(this.turnId),this.options.session?.setTurnId(this.turnId),this.isClosedState()){if(this.pendingCancelReason!==void 0&&this.cancelBeforeTurnId)await this.requestCancel(this.pendingCancelReason);return}if(this.state="running",this.pendingCancelReason!==void 0){await this.requestCancel(this.pendingCancelReason);return}if(this.pendingAbortReason!==void 0)throw await this.interruptAndAwaitCompletion(),this.pendingAbortReason;let u=await this.turnCompletionPromise;if(this.pendingCancelReason!==void 0){this.finishSilently();return}if(this.pendingAbortReason!==void 0)throw this.pendingAbortReason;if(this.isTerminalState())return;this.state="finishing";let l=this.router.getToolExecutionStats();this.emitter.emitFinish(cn(u),this.usage,{"codex-app-server":{threadId:this.options.threadId,...this.turnId?{turnId:this.turnId}:{},toolExecutionStats:l}}),this.emitter.close(),this.cleanup(),this.state="closed"}catch(c){if(this.pendingCancelReason!==void 0){if(this.turnId)await this.requestCancel(this.pendingCancelReason);else this.finishSilently();return}if(this.options.hadInitialThreadId&&an(c)){if(this.options.threadResolution.persistent&&!this.options.threadResolution.explicit)this.options.clearPersistentThreadState(this.options.threadId);await this.failWithError(dn(this.options.threadId));return}if(this.pendingAbortReason!==void 0&&this.turnId)await this.interruptAndAwaitCompletion();await this.failWithError(c)}}async cancel(i){switch(this.pendingCancelReason=i??this.pendingCancelReason??Error("Stream canceled"),this.state){case"closed":case"errored":case"finishing":return;case"interrupting":await this.cancelWaitPromise;return;default:await this.requestCancel(i)}}async startTurnWithContext(){this.requestContextId=this.options.client.registerRequestContext(this.options.threadId,{handlers:this.options.requestHandlers??{},autoApprove:this.options.autoApprove});try{let i=await this.options.client.turnStart(this.options.turnStartParams);return this.options.client.bindRequestContext(this.requestContextId,i.turn.id),i}catch(i){if(this.requestContextId)this.options.client.clearRequestContext(this.requestContextId),this.requestContextId=void 0;throw i}}attachAbortSignal(){let i=this.options.abortSignal;if(!i)return;if(i.aborted){this.pendingAbortReason=i.reason??Error("Request aborted");return}this.onAbort=()=>{if(this.pendingAbortReason=i.reason??Error("Request aborted"),!this.turnId)return;(async()=>{await this.interruptAndAwaitCompletion(),await this.failWithError(this.pendingAbortReason)})()},i.addEventListener("abort",this.onAbort,{once:!0})}async requestCancel(i){if(this.pendingCancelReason=i??this.pendingCancelReason??Error("Stream canceled"),!this.turnId){this.cancelBeforeTurnId=this.state==="starting"||this.state==="awaiting_turn_id",this.finishSilently();return}if(this.isTerminalState()&&!this.cancelBeforeTurnId)return;if(!this.cancelWaitPromise)this.cancelWaitPromise=(async()=>{if(this.state="interrupting",this.cancelBeforeTurnId)await this.options.client.turnInterrupt({threadId:this.options.threadId,turnId:this.turnId}).catch(()=>{return}),this.cancelBeforeTurnId=!1;else await this.interruptAndAwaitCompletion();this.finishSilently()})();await this.cancelWaitPromise}async interruptAndAwaitCompletion(){if(!this.turnId)return;if(!this.interruptWaitPromise)this.interruptWaitPromise=(async()=>{await this.options.client.turnInterrupt({threadId:this.options.threadId,turnId:this.turnId}).catch(()=>{return}),await on(this.turnCompletionPromise.then(()=>{return}),sn)})();await this.interruptWaitPromise}async failWithError(i){if(this.isTerminalState())return;this.state="errored",this.emitter?.error(i),this.cleanup()}finishSilently(){if(this.isTerminalState())return;this.cleanup(),this.state="closed"}cleanup(){if(this.cleanedUp)return;if(this.cleanedUp=!0,this.unsubscribeRouter?.(),this.unsubscribeRouter=void 0,this.turnId)this.options.client.clearRequestContextForTurn(this.turnId);if(this.requestContextId)this.options.client.clearRequestContext(this.requestContextId),this.requestContextId=void 0;if(this.options.abortSignal&&this.onAbort)this.options.abortSignal.removeEventListener("abort",this.onAbort);this.onAbort=void 0,this.options.releaseResources()}};function ln(i){return{threadId:i.threadId,input:i.input,cwd:i.settings.cwd,approvalPolicy:i.settings.approvalPolicy,sandboxPolicy:i.settings.sandboxPolicy,model:i.modelId,effort:i.settings.effort,summary:i.settings.summary,personality:i.settings.personality,...i.responseFormat?.type==="json"&&i.responseFormat.schema?{outputSchema:se(i.responseFormat.schema)}:{}}}var pn=1048576;function _t(i){let c=i.trim();return(c.startsWith("[")&&c.endsWith("]")?c.slice(1,-1):c).toLowerCase()}function hn(i){let c=_t(i);return c==="localhost"||c==="::1"||c==="0:0:0:0:0:0:0:1"||c.startsWith("127.")}function fn(i){let c=_t(i);return c.includes(":")?`[${c}]`:c}function mn(i){if(typeof i==="string")return i;let c=JSON.stringify(i);if(c!==void 0)return c;return String(i)}async function gn(i){let{name:c,tools:u,port:l=0,host:h="127.0.0.1",allowNonLoopbackHost:f=!1}=i;if(!hn(h)&&!f)throw Error(`Refusing to bind local MCP server to non-loopback host '${h}'. Set allowNonLoopbackHost: true to override.`);let g=new Map(u.map((P)=>[P.name,P])),y=Xt(32).toString("hex"),v=`Bearer ${y}`,S=async(P)=>{let q=P.id;if(P.method==="initialize")return{jsonrpc:"2.0",id:q,result:{protocolVersion:"2024-11-05",capabilities:{tools:{}},serverInfo:{name:c,version:"1.0.0"}}};if(P.method==="tools/list")return{jsonrpc:"2.0",id:q,result:{tools:u.map((k)=>({name:k.name,description:k.description,inputSchema:k.inputSchema}))}};if(P.method==="tools/call"){let k=typeof P.params?.name==="string"?P.params.name:void 0,x=P.params?.arguments;if(!k||!g.has(k))return{jsonrpc:"2.0",id:q,error:{code:-32602,message:`Unknown tool: ${String(k)}`}};let M=g.get(k);try{let _=await M.execute(x);return{jsonrpc:"2.0",id:q,result:{content:[{type:"text",text:mn(_)}]}}}catch(_){return{jsonrpc:"2.0",id:q,error:{code:-32603,message:_ instanceof Error?_.message:String(_)}}}}if(P.method==="notifications/initialized")return{jsonrpc:"2.0",id:q,result:{}};return{jsonrpc:"2.0",id:q,error:{code:-32601,message:`Method not found: ${P.method}`}}},I=er((P,q)=>{(async()=>{if(P.method!=="POST"){q.writeHead(405,{"Content-Type":"application/json"}),q.end(JSON.stringify({error:"Method not allowed"}));return}let k=P.headers["content-type"];if(typeof k!=="string"||!k.includes("application/json")){q.writeHead(415,{"Content-Type":"application/json"}),q.end(JSON.stringify({error:"Unsupported media type"}));return}if(P.headers.authorization!==v){q.writeHead(401,{"Content-Type":"application/json","WWW-Authenticate":"Bearer"}),q.end(JSON.stringify({error:"Unauthorized"}));return}let M=[],_=0;for await(let ae of P){let K=ae;if(_+=K.length,_>pn){q.writeHead(413,{"Content-Type":"application/json"}),q.end(JSON.stringify({error:"Request body too large"}));return}M.push(K)}let U;try{U=JSON.parse(Buffer.concat(M).toString("utf8"))}catch{q.writeHead(400,{"Content-Type":"application/json"}),q.end(JSON.stringify({jsonrpc:"2.0",error:{code:-32700,message:"Parse error"}}));return}if(U.id===void 0){q.writeHead(202,{"Content-Type":"application/json"}),q.end();return}let D=await S(U);q.writeHead(200,{"Content-Type":"application/json"}),q.end(JSON.stringify(D))})()});await new Promise((P,q)=>{I.once("error",q),I.listen(l,h,()=>{I.off("error",q),P()})});let E=I.address();if(!E||typeof E==="string")throw Error("Failed to resolve local MCP server address");let A=E.port,O=`http://${fn(h)}:${A}`;return{config:{transport:"http",url:O,bearerToken:y},url:O,port:A,stop:async()=>{await new Promise((P,q)=>{I.close((k)=>{if(k){q(k);return}P()})})}}}var Ot=Symbol.for("ai-sdk-provider-codex-cli.sdkMcpServer");function Ks(i){let{name:c,cacheKey:u,tools:l}=i,h,f,g;return{[Ot]:!0,name:c,cacheKey:u?.trim()||void 0,tools:l,get _server(){return h},set _server(y){h=y},async _start(){while(!0){if(h)return h.config;if(f)return(await f).config;if(g){await g;continue}let y=(async()=>{let v=await gn({name:c,tools:l});return h=v,v})();f=y;try{return(await y).config}finally{if(f===y)f=void 0}}},async _stop(){if(g){await g;return}let y=(async()=>{if(f)await f.catch(()=>{return});let v=h;if(h=void 0,v)await v.stop()})();g=y;try{await y}finally{if(g===y)g=void 0;f=void 0}}}}function ge(i){let c=typeof i==="object"&&i!==null?i[Ot]:void 0;return typeof i==="object"&&i!==null&&c===!0&&typeof i._start==="function"&&typeof i._stop==="function"}var yn={none:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0,ultra:!0};function vn(i){if(i.providerEffort!==void 0)return{effort:i.providerEffort};let{reasoning:c}=i;if(c===void 0||c==="provider-default")return{effort:i.defaultEffort};if(Object.hasOwn(yn,c))return{effort:c};return{effort:i.defaultEffort,warning:{type:"unsupported",feature:"reasoning",details:`Codex app-server does not support reasoning effort '${c}'; it will be ignored.`}}}function Tn(i){let c=String(i?.message??i);return/thread.*not found/i.test(c)}function bn(i){return Error(`Thread '${i}' not found after server restart. Create a new thread by omitting threadId.`)}function Ke(i){let c=i.sandboxPolicy;if(!c)return;if(typeof c==="string")return c;if(c.type==="readOnly")return"read-only";if(c.type==="workspaceWrite")return"workspace-write";if(c.type==="dangerFullAccess")return"danger-full-access";return}function Ge(i){let c=i.sandboxPolicy;if(!c)return;if(typeof c!=="string")return c;if(c==="read-only")return{type:"readOnly"};if(c==="workspace-write")return{type:"workspaceWrite"};if(c==="danger-full-access")return{type:"dangerFullAccess"};return}function wn(i,c){if(i===void 0)return;if(ye(i)){let u=pt(i);return c?.(`approvalPolicy:${i}`,`approvalPolicy '${i}' is deprecated (retired by Codex CLI 0.143 and rejected by app-server >= 0.144); sending '${u}' instead.`),u}if(typeof i==="object"&&i!==null&&"reject"in i){let{reject:u}=i;return c?.("approvalPolicy:reject","approvalPolicy { reject } is deprecated (removed from the Codex app-server protocol); sending the equivalent { granular } policy instead."),{granular:{sandbox_approval:!u.sandbox_approval,rules:!u.rules,mcp_elicitations:!u.mcp_elicitations,skill_approval:!0,request_permissions:!0}}}return i}function In(i,c){if(!i&&!c)return;return{...i??{},...c??{}}}function xn(i,c){if(!i&&!c)return;let u={};for(let[l,h]of Object.entries(i??{})){let f=Y(l);u[f]=h}if(!c)return u;for(let[l,h]of Object.entries(c)){let f=Y(l),g=u[f];if(!g||ge(g)||ge(h)){u[f]=h;continue}if(g.transport===h.transport)u[f]=ft(g,h);else u[f]=h}return u}var Sn=class{specificationVersion="v4";provider="codex-app-server";supportedUrls={};modelId;settings;client;logger;onSdkMcpServerUsed;onSdkMcpServerReleased;persistentThreadId;persistentThreadRawEventsEnabled;rawEventsByThreadId=new Map;persistentSession;persistentBootstrapLock=Promise.resolve();deprecationWarningsEmitted=new Set;constructor(i){this.modelId=i.id,this.settings=i.settings??{},this.client=i.client,this.onSdkMcpServerUsed=i.onSdkMcpServerUsed,this.onSdkMcpServerReleased=i.onSdkMcpServerReleased;let c=oe(this.settings.logger);if(this.logger=dt(c,this.settings.verbose??!1),!this.modelId||this.modelId.trim()==="")throw new we({modelId:this.modelId,modelType:"languageModel"})}warnDeprecatedOnce(i,c){if(this.deprecationWarningsEmitted.has(i))return;this.deprecationWarningsEmitted.add(i),this.logger.warn(`[codex-app-server] ${c}`)}mapApprovalPolicy(i){return wn(i.approvalPolicy,(c,u)=>this.warnDeprecatedOnce(c,u))}mergeSettings(i){if(!i)return this.settings;let c={...this.settings,personality:i.personality??this.settings.personality,effort:i.effort??this.settings.effort,summary:i.summary??this.settings.summary,approvalPolicy:i.approvalPolicy??this.settings.approvalPolicy,sandboxPolicy:i.sandboxPolicy??this.settings.sandboxPolicy,baseInstructions:i.baseInstructions??this.settings.baseInstructions,developerInstructions:i.developerInstructions??this.settings.developerInstructions,autoApprove:i.autoApprove??this.settings.autoApprove,persistExtendedHistory:i.persistExtendedHistory??this.settings.persistExtendedHistory,threadMode:i.threadMode??this.settings.threadMode,resume:i.resume??this.settings.resume,includeRawChunks:i.includeRawChunks??this.settings.includeRawChunks,rmcpClient:i.rmcpClient??this.settings.rmcpClient,configOverrides:{...this.settings.configOverrides??{},...i.configOverrides??{}},serverRequests:In(this.settings.serverRequests,i.serverRequests),onSessionCreated:i.onSessionCreated??this.settings.onSessionCreated};return c.mcpServers=xn(this.settings.mcpServers,i.mcpServers),c}resolveThreadMode(i,c){return c?.threadMode??i.threadMode??"stateless"}resolveTargetThreadId(i,c){let u=this.resolveThreadMode(i,c),l=c?.threadId??c?.resume??i.resume;if(l)return{threadId:l,explicit:!0,persistent:u==="persistent"};if(u==="persistent"&&this.persistentThreadId)return{threadId:this.persistentThreadId,explicit:!1,persistent:!0};return{threadId:void 0,explicit:!1,persistent:u==="persistent"}}resolveIncludeRawChunks(i,c,u){return(i??u?.includeRawChunks??c.includeRawChunks)===!0}async resolveConfig(i,c){let u={},l=[];try{for(let[g,y]of Object.entries(i.mcpServers??{})){if(ge(y)){let v=await y._start();this.onSdkMcpServerUsed?.(y,c),l.push(y),u[g]=v;continue}u[g]=y}}catch(g){if(c==="request")for(let y of l)this.onSdkMcpServerReleased?.(y);throw g}let f={...fr(Object.keys(u).length>0?u:void 0,i.rmcpClient),...i.configOverrides??{}};return{configOverrides:Object.keys(f).length>0?f:void 0,usedSdkMcpServers:l}}async buildUserInput(i,c){let u=[],l=[];if(i.trim().length>0)u.push({type:"text",text:i,text_elements:[]});for(let h of c){if(h.type==="remote"){u.push({type:"image",url:h.url,imageUrl:h.url});continue}try{let f=kt(h.data);l.push(f),u.push({type:"localImage",path:f})}catch(f){this.logger.warn(`[codex-app-server] Failed to write image to temp file: ${String(f)}`)}}return{input:u,tempImagePaths:l}}async startOrResumeThread(i){let{settings:c,providerOptions:u,configOverrides:l,developerInstructionsOverride:h,systemInstruction:f,includeRawChunks:g}=i,y=this.resolveTargetThreadId(c,u),v=async(R)=>(await this.client.threadStart({model:this.modelId,cwd:c.cwd,approvalPolicy:this.mapApprovalPolicy(c),sandbox:Ke(c),config:l,baseInstructions:c.baseInstructions,developerInstructions:h??f,personality:c.personality,ephemeral:R,experimentalRawEvents:g,persistExtendedHistory:c.persistExtendedHistory??!1})).thread.id,S=async()=>{let R=async(I)=>{try{await this.client.threadResume({threadId:I.threadId,model:this.modelId,cwd:c.cwd,approvalPolicy:this.mapApprovalPolicy(c),sandbox:Ke(c),config:l,baseInstructions:c.baseInstructions,developerInstructions:h??f,personality:c.personality,persistExtendedHistory:c.persistExtendedHistory??!1});let E=this.rawEventsByThreadId.get(I.threadId),A=E??(I.persistent&&this.persistentThreadId===I.threadId?this.persistentThreadRawEventsEnabled:void 0);if(E!==void 0)this.rememberThreadRawEvents(I.threadId,E);if(I.persistent)this.persistentThreadId=I.threadId,this.persistentThreadRawEventsEnabled=A;return{threadId:I.threadId,persistent:I.persistent,explicit:I.explicit,resumed:!0,rawEventsNegotiated:A}}catch(E){if(!Tn(E))throw E;if(I.persistent&&!I.explicit)this.clearPersistentThreadState(I.threadId);throw bn(I.threadId)}};if(!y.threadId&&y.persistent){if(this.persistentThreadId)return await R({threadId:this.persistentThreadId,persistent:!0,explicit:!1});let I=await v(!1);return this.rememberThreadRawEvents(I,g),this.persistentThreadId=I,this.persistentThreadRawEventsEnabled=g,{threadId:I,persistent:!0,explicit:!1,resumed:!1,rawEventsNegotiated:g}}if(!y.threadId){let I=await v(!y.persistent);if(this.rememberThreadRawEvents(I,g),y.persistent)this.persistentThreadId=I,this.persistentThreadRawEventsEnabled=g;return{threadId:I,persistent:y.persistent,explicit:!1,resumed:!1,rawEventsNegotiated:g}}return await R({threadId:y.threadId,persistent:y.persistent,explicit:y.explicit})};if(y.persistent&&!y.explicit)return await this.withPersistentBootstrapLock(S);return await S()}async withPersistentBootstrapLock(i){let c=this.persistentBootstrapLock,u,l=new Promise((f)=>{u=f}),h=c.then(()=>l);this.persistentBootstrapLock=h,await c;try{return await i()}finally{if(u?.(),this.persistentBootstrapLock===h)this.persistentBootstrapLock=Promise.resolve()}}rememberThreadRawEvents(i,c){if(this.rawEventsByThreadId.delete(i),this.rawEventsByThreadId.set(i,c),this.rawEventsByThreadId.size<=256)return;let u=this.rawEventsByThreadId.keys().next().value;if(typeof u==="string")this.rawEventsByThreadId.delete(u)}clearPersistentThreadState(i){if(i&&this.persistentThreadId&&this.persistentThreadId!==i)return;if(this.persistentThreadId=void 0,this.persistentThreadRawEventsEnabled=void 0,i)this.rawEventsByThreadId.delete(i);if(!i||this.persistentSession?.threadId===i)this.persistentSession=void 0}async createOrReuseSession(i){let{threadId:c,settings:u,providerOptions:l}=i,h=l?.onSessionCreated??u.onSessionCreated;if(!h)return;let f=this.resolveThreadMode(u,l)==="persistent";if(f&&this.persistentSession&&this.persistentSession.threadId===c)return this.persistentSession;let g=new Qr({threadId:c,modelId:this.modelId,client:this.client,defaultTurnParams:{cwd:u.cwd,approvalPolicy:this.mapApprovalPolicy(u),sandboxPolicy:Ge(u),effort:u.effort,summary:u.summary,personality:u.personality},requestHandlers:u.serverRequests??{},autoApprove:u.autoApprove});if(await h(g),f)this.persistentSession=g;return g}preparePrompt(i,c){let u=qt({prompt:i,mode:c?"persistent":"stateless"});return{promptText:u.text,images:[...u.localImages.map((l)=>({type:"local",data:l})),...u.remoteImageUrls.map((l)=>({type:"remote",url:l}))],warnings:u.warnings.map((l)=>l.type==="unsupported"?{type:"unsupported",feature:l.feature,details:l.details}:{type:"other",message:l.message}),systemInstruction:u.systemInstruction}}async doGenerate(i){let{stream:c,request:u}=await this.doStream(i),l=[],h=new Map,f=new Map,g,y,v={id:C(),timestamp:new Date,modelId:this.modelId},S=me(),R={unified:"other",raw:void 0},I=[],E,A=(k,x)=>{let M=h.get(k);if(M){if(x)M.providerMetadata=x;return M}let _={type:"text",text:"",...x?{providerMetadata:x}:{}};return h.set(k,_),l.push(_),_},O=(k,x)=>{let M=f.get(k);if(M){if(x)M.providerMetadata=x;return M}let _={type:"reasoning",text:"",...x?{providerMetadata:x}:{}};return f.set(k,_),l.push(_),_},P=(k)=>{l.push(k)};for await(let k of c){if(k.type==="stream-start"){I=k.warnings;continue}if(k.type==="response-metadata"){v={id:k.id,timestamp:k.timestamp,modelId:k.modelId};continue}if(k.type==="text-start"){g=k.id,A(k.id,k.providerMetadata);continue}if(k.type==="text-delta"){let x=typeof k.id==="string"?k.id:g??"__default_text_block__";g=x;let M=A(x,k.providerMetadata);M.text=`${M.text}${k.delta}`;continue}if(k.type==="text-end"){let x=typeof k.id==="string"?k.id:g;if(x){let M=A(x,k.providerMetadata);if(k.providerMetadata)M.providerMetadata=k.providerMetadata}if(g===x)g=void 0;continue}if(k.type==="reasoning-start"){y=k.id,O(k.id,k.providerMetadata);continue}if(k.type==="reasoning-delta"){let x=typeof k.id==="string"?k.id:y??"__default_reasoning_block__";y=x;let M=O(x,k.providerMetadata);M.text=`${M.text}${k.delta}`;continue}if(k.type==="reasoning-end"){let x=typeof k.id==="string"?k.id:y;if(x){let M=O(x,k.providerMetadata);if(k.providerMetadata)M.providerMetadata=k.providerMetadata}if(y===x)y=void 0;continue}if(k.type==="file"){P(k);continue}if(k.type==="source"){P(k);continue}if(k.type==="tool-approval-request"){P(k);continue}if(k.type==="tool-call"){P(k);continue}if(k.type==="tool-result"){P(k);continue}if(k.type==="finish")S=k.usage,R=k.finishReason,E=k.providerMetadata}return{content:l.filter((k)=>{if(k.type==="text")return k.text.trim().length>0;if(k.type==="reasoning")return k.text.trim().length>0;return!0}),usage:S,finishReason:R,warnings:I,response:v,request:u,...E?{providerMetadata:E}:{}}}async doStream(i){let c=await T({provider:this.provider,providerOptions:i.providerOptions,schema:Cr}),u=this.mergeSettings(c),l=vn({reasoning:i.reasoning,providerEffort:c?.effort,defaultEffort:u.effort}),h=l.effort===u.effort?u:{...u,effort:l.effort},f=this.resolveThreadMode(h,c)==="persistent"?"provider":"request",g=this.resolveIncludeRawChunks(i.includeRawChunks,h,c),y=[...mt({temperature:i.temperature,topP:i.topP,topK:i.topK,maxOutputTokens:i.maxOutputTokens,presencePenalty:i.presencePenalty,frequencyPenalty:i.frequencyPenalty,stopSequences:i.stopSequences,seed:i.seed,tools:i.tools,toolChoice:i.toolChoice})];if(l.warning)y.push(l.warning);let v=c?.developerInstructions??h.developerInstructions,S=Pt(i.prompt),R=await this.resolveConfig(h,f),I=!1,E=()=>{if(I||f!=="request")return;I=!0;for(let D of R.usedSdkMcpServers)this.onSdkMcpServerReleased?.(D)},A;try{A=await this.startOrResumeThread({settings:h,providerOptions:c,configOverrides:R.configOverrides,developerInstructionsOverride:v,systemInstruction:S,includeRawChunks:g})}catch(D){throw E(),D}let O=A.threadId;if(g&&A.resumed&&A.rawEventsNegotiated!==!0)y.push({type:"other",message:"includeRawChunks was requested while resuming an existing thread that may not emit raw events. Start a new thread to guarantee raw chunk events."});let P=this.preparePrompt(i.prompt,A.resumed);y.push(...P.warnings);let q=[],k=[],x;try{let D=await this.buildUserInput(P.promptText,P.images);q=D.input,k=D.tempImagePaths,x=await this.createOrReuseSession({threadId:O,settings:h,providerOptions:c})}catch(D){throw Ee(k),E(),D}let M=ln({threadId:O,modelId:this.modelId,input:q,settings:{cwd:h.cwd,approvalPolicy:this.mapApprovalPolicy(h),sandboxPolicy:Ge(h),effort:h.effort,summary:h.summary,personality:h.personality},responseFormat:i.responseFormat}),_=new un({client:this.client,modelId:this.modelId,threadId:O,warnings:y,includeRawChunks:g,jsonModeLastTextBlockOnly:i.responseFormat?.type==="json",turnStartParams:M,requestHandlers:h.serverRequests,autoApprove:h.autoApprove,session:x,abortSignal:i.abortSignal,shouldSerializeTurnStart:A.persistent||A.explicit,hadInitialThreadId:A.resumed,threadResolution:{persistent:A.persistent,explicit:A.explicit},releaseResources:()=>{Ee(k),E()},clearPersistentThreadState:(D)=>{this.clearPersistentThreadState(D)}});return{stream:new ReadableStream({start:async(D)=>{await _.start(D)},cancel:async(D)=>{await _.cancel(D)}}),request:{body:P.promptText}}}},J=p([n(),e()]),Cn=t({id:J,method:e().min(1),params:d(e(),m()).optional()}).passthrough(),kn=t({id:J,result:m()}).refine((i)=>Object.prototype.hasOwnProperty.call(i,"result"),{message:"result field is required"}).passthrough(),Rn=t({id:p([J,Ht()]),error:t({code:n(),message:e(),data:m().optional()}).passthrough()}).passthrough(),En=t({method:e().min(1),params:d(e(),m()).optional()}).passthrough(),Mn=t({type:a("text"),text:e(),text_elements:o(m())}).passthrough(),An=t({type:a("image"),url:e().optional(),imageUrl:e().optional()}).refine((i)=>typeof i.url==="string"||typeof i.imageUrl==="string",{message:"image input must provide url or imageUrl"}).passthrough(),Pn=t({type:a("localImage"),path:e()}).passthrough(),jn=t({type:a("skill"),name:e(),path:e()}).passthrough(),qn=t({type:a("mention"),name:e(),path:e()}).passthrough(),$n=w("type",[Mn,An,Pn,jn,qn]),_n=t({type:a("userMessage"),id:e(),content:o($n)}).passthrough(),On=t({type:a("agentMessage"),id:e(),text:e(),phase:e().nullable()}).passthrough(),Un=t({type:a("plan"),id:e(),text:e()}).passthrough(),Nn=t({type:a("reasoning"),id:e(),summary:o(e()),content:o(e())}).passthrough(),Ln=t({type:a("commandExecution"),id:e(),command:e(),cwd:e(),processId:e().nullable(),status:e(),commandActions:o(m()),aggregatedOutput:e().nullable(),exitCode:n().nullable(),durationMs:n().nullable()}).passthrough(),Bn=t({type:a("fileChange"),id:e(),changes:o(m()),status:e()}).passthrough(),Dn=t({type:a("mcpToolCall"),id:e(),server:e(),tool:e(),status:e(),arguments:m(),result:m().nullable(),error:m().nullable(),durationMs:n().nullable()}).passthrough(),Fn=t({type:a("collabAgentToolCall"),id:e(),tool:e(),status:e(),senderThreadId:e(),receiverThreadIds:o(e()),prompt:e().nullable(),agentsStates:d(e(),m())}).passthrough(),zn=t({type:a("webSearch"),id:e(),query:e(),action:m().nullable()}).passthrough(),Hn=t({type:a("imageView"),id:e(),path:e()}).passthrough(),Vn=t({type:a("enteredReviewMode"),id:e(),review:e()}).passthrough(),Wn=t({type:a("exitedReviewMode"),id:e(),review:e()}).passthrough(),Jn=t({type:a("contextCompaction"),id:e()}).passthrough(),Zn=t({type:a("hookPrompt"),id:e(),fragments:o(m())}).passthrough(),Kn=t({type:a("dynamicToolCall"),id:e(),namespace:e().nullable(),tool:e(),arguments:m(),status:e(),contentItems:o(m()).nullable(),success:r().nullable(),durationMs:n().nullable()}).passthrough(),Gn=t({type:a("subAgentActivity"),id:e(),kind:e(),agentThreadId:e(),agentPath:e()}).passthrough(),Qn=t({type:a("sleep"),id:e(),durationMs:n()}).passthrough(),Xn=t({type:a("imageGeneration"),id:e(),status:e(),revisedPrompt:e().nullable(),result:e(),savedPath:e().optional()}).passthrough(),Yn=t({type:e()}).passthrough(),es=w("type",[_n,On,Un,Nn,Ln,Bn,Dn,Kn,Fn,Zn,Gn,Qn,Xn,zn,Hn,Vn,Wn,Jn]),Ne=es.or(Yn),le=t({httpStatusCode:n().nullable()}).passthrough(),Ut=p([s(["contextWindowExceeded","usageLimitExceeded","rateLimitExceeded","sessionBudgetExceeded","misalignmentPolicyViolation","serverOverloaded","cyberPolicy","internalServerError","unauthorized","badRequest","threadRollbackFailed","sandboxError","other"]),t({httpConnectionFailed:le}).passthrough(),t({responseStreamConnectionFailed:le}).passthrough(),t({responseStreamDisconnected:le}).passthrough(),t({responseTooManyFailedAttempts:le}).passthrough(),t({activeTurnNotSteerable:t({turnKind:e()}).passthrough()}).passthrough(),e(),d(e(),m())]),Nt=t({id:e(),items:o(Ne),status:e(),error:t({message:e(),codexErrorInfo:Ut.nullish(),additionalDetails:e().nullish()}).nullish()}).passthrough(),ts=t({thread:t({id:e()}).passthrough()}).passthrough(),rs=t({threadId:e(),turn:Nt}).passthrough(),ns=t({threadId:e(),turn:Nt}).passthrough(),ss=t({item:Ne,threadId:e(),turnId:e()}).passthrough(),is=t({item:Ne,threadId:e(),turnId:e()}).passthrough(),os=t({threadId:e(),turnId:e(),itemId:e(),delta:e()}).passthrough(),Qe=t({threadId:e(),turnId:e(),itemId:e(),delta:e()}).passthrough(),Xe=t({threadId:e(),turnId:e(),itemId:e(),delta:e()}).passthrough(),as=t({threadId:e(),turnId:e(),itemId:e(),delta:e()}).passthrough(),ds=t({threadId:e(),turnId:e(),itemId:e(),delta:e()}).passthrough(),Ye=t({totalTokens:n(),inputTokens:n(),cachedInputTokens:n(),cacheWriteInputTokens:n().optional(),outputTokens:n(),reasoningOutputTokens:n()}).passthrough(),cs=t({threadId:e(),turnId:e(),tokenUsage:t({total:Ye,last:Ye,modelContextWindow:n().nullable()}).passthrough()}).passthrough(),us=t({error:t({message:e(),codexErrorInfo:Ut.nullable(),additionalDetails:e().nullable()}).passthrough(),willRetry:r(),threadId:e(),turnId:e()}).passthrough(),Lt=t({threadId:e(),turnId:e(),itemId:e(),approvalId:e().nullable().optional(),reason:e().nullable().optional(),networkApprovalContext:m().nullable().optional(),command:e().nullable().optional(),cwd:e().nullable().optional(),commandActions:o(m()).nullable().optional(),proposedExecpolicyAmendment:m().nullable().optional()}).passthrough(),Bt=t({threadId:e(),turnId:e(),itemId:e(),reason:e().nullable().optional(),grantRoot:e().nullable().optional()}).passthrough(),Dt=t({threadId:e(),turnId:e(),itemId:e(),questions:o(m())}).passthrough(),Ft=t({itemId:e(),skillName:e()}).passthrough(),zt=t({threadId:e(),turnId:e().nullable().optional(),serverName:e(),mode:e().optional(),message:e().optional(),requestedSchema:m().optional(),url:e().optional(),elicitationId:e().optional(),_meta:d(e(),m()).nullable().optional()}).passthrough(),Vt=t({threadId:e(),turnId:e(),callId:e(),tool:e(),arguments:m()}).passthrough(),Wt=t({reason:e(),previousAccountId:e().nullable().optional()}).passthrough(),ls={"item/commandExecution/requestApproval":Lt,"item/fileChange/requestApproval":Bt,"item/tool/requestUserInput":Dt,"mcpServer/elicitation/request":zt,"skill/requestApproval":Ft,"item/tool/call":Vt,"account/chatgptAuthTokens/refresh":Wt};s(Object.keys(ls));var ps=w("method",[t({id:J,method:a("item/commandExecution/requestApproval"),params:Lt}).passthrough(),t({id:J,method:a("item/fileChange/requestApproval"),params:Bt}).passthrough(),t({id:J,method:a("item/tool/requestUserInput"),params:Dt}).passthrough(),t({id:J,method:a("mcpServer/elicitation/request"),params:zt}).passthrough(),t({id:J,method:a("skill/requestApproval"),params:Ft}).passthrough(),t({id:J,method:a("item/tool/call"),params:Vt}).passthrough(),t({id:J,method:a("account/chatgptAuthTokens/refresh"),params:Wt}).passthrough()]),hs={"thread/started":ts,"turn/started":rs,"turn/completed":ns,"item/started":ss,"item/completed":is,"item/agentMessage/delta":os,reasoningTextDelta:Qe,reasoningSummaryTextDelta:Xe,"item/reasoning/textDelta":Qe,"item/reasoning/summaryTextDelta":Xe,"item/commandExecution/outputDelta":as,"item/fileChange/outputDelta":ds,"thread/tokenUsage/updated":cs,error:us},fs=30000,ms=1024,gs=256,ys=4,pe="0.156.0";function vs(i){if(i){let c=i.toLowerCase();if(c.endsWith(".js")||c.endsWith(".mjs")||c.endsWith(".cjs"))return{cmd:"node",args:[i]};return{cmd:i,args:[]}}try{let u=ot(import.meta.url).resolve("@openai/codex/package.json"),l=De.dirname(u);return{cmd:"node",args:[De.join(l,"bin","codex.js")]}}catch{return{cmd:"codex",args:[]}}}function Ts(i){return i.match(/(\d+\.\d+\.\d+(?:-[A-Za-z0-9.-]+)?)/)?.[1]}function et(i){let c=i.match(/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/);if(!c)return;return{major:Number(c[1]),minor:Number(c[2]),patch:Number(c[3]),prerelease:c[4]?c[4].split("."):[]}}function bs(i,c){let u=/^\d+$/.test(i),l=/^\d+$/.test(c);if(u&&l){let h=Number(i),f=Number(c);if(h>f)return 1;if(h<f)return-1;return 0}if(u&&!l)return-1;if(!u&&l)return 1;return i.localeCompare(c)}function ws(i,c){let u=et(i),l=et(c);if(!u||!l)return;if(u.major!==l.major)return u.major>l.major?1:-1;if(u.minor!==l.minor)return u.minor>l.minor?1:-1;if(u.patch!==l.patch)return u.patch>l.patch?1:-1;let h=u.prerelease,f=l.prerelease;if(h.length===0&&f.length===0)return 0;if(h.length===0)return 1;if(f.length===0)return-1;let g=Math.max(h.length,f.length);for(let y=0;y<g;y++){let v=h[y],S=f[y];if(v===void 0)return-1;if(S===void 0)return 1;let R=bs(v,S);if(R!==0)return R}return 0}var tt=class extends Error{code;constructor(i,c){super(`JSON-RPC error ${i}: ${c}`);this.name="JsonRpcRequestError",this.code=i}},Jt=class extends tr{settings;logger;requestTimeoutMs;clientVersion;child;stdoutReader;state="idle";initPromise;nextId=1;nextRequestContextId=1;pending=new Map;threadLocks=new Map;pendingRequestContexts=new Map;pendingRequestContextIdsByThread=new Map;activeRequestContextsByTurn=new Map;completedTurnIds=new Set;tokenUsageTotalsByThread=new Map;lastStderr="";lastCrashHadStderr=!1;idleTimer;serverCapabilities;expectedExitSignal;writeQueue=Promise.resolve();serverVersion;constructor(i={}){super();this.settings=i.settings??{},this.logger=oe(i.logger??this.settings.logger),this.requestTimeoutMs=i.requestTimeoutMs??this.settings.requestTimeoutMs??fs,this.clientVersion=i.clientVersion??"0.0.0"}async ensureReady(){if(this.state==="ready")return;if(this.state==="closed")throw Error("AppServerRpcClient is closed");if(this.initPromise){await this.initPromise;return}let i=this.state==="error";this.state="starting",this.initPromise=this.startAndInitialize().then(()=>{if(this.state="ready",i)this.emit("reconnected")}).catch((c)=>{throw this.cleanupAfterInitializationFailure(c),c}).finally(()=>{this.initPromise=void 0}),await this.initPromise,this.touchActivity()}async request(i,c,u){return await this.ensureReady(),this.touchActivity(),await this.requestInternal(i,c,u)}async requestInternal(i,c,u){let l=this.nextId++,h={id:l,method:i,...c?{params:c}:{}};return await new Promise((f,g)=>{let y=setTimeout(()=>{this.pending.delete(l),g(Error(`Request timed out for method '${i}'`))},u??this.requestTimeoutMs);this.pending.set(l,{resolve:(v)=>f(v),reject:g,timer:y}),this.writeMessage(h).catch((v)=>{let S=this.pending.get(l);if(!S)return;clearTimeout(S.timer),this.pending.delete(l),S.reject(v)})})}notify(i,c){if(this.state!=="ready")throw Error(`Cannot send notification '${i}' while client is not ready`);this.writeMessage({method:i,...c?{params:c}:{}}).catch((u)=>{this.logger.warn(`[codex-app-server] Failed to send notification '${i}': ${String(u)}`)})}async threadStart(i){return await this.request("thread/start",i)}async threadResume(i){return await this.request("thread/resume",i)}async turnStart(i){return await this.request("turn/start",i)}async turnInterrupt(i){return await this.request("turn/interrupt",i)}async modelList(i){if(await this.ensureReady(),this.touchActivity(),this.serverCapabilities?.modelList===!1)throw new je({feature:"model/list",minCodexVersion:this.settings.minCodexVersion??pe,serverVersion:this.serverVersion});try{return await this.requestInternal("model/list",i)}catch(c){if(c instanceof tt&&c.code===-32601)throw new je({feature:"model/list",minCodexVersion:this.settings.minCodexVersion??pe,serverVersion:this.serverVersion});throw c}}registerRequestContext(i,c){let u=`ctx_${this.nextRequestContextId++}`;this.pendingRequestContexts.set(u,{threadId:i,context:{handlers:c.handlers,autoApprove:c.autoApprove}});let l=this.pendingRequestContextIdsByThread.get(i)??new Set;return l.add(u),this.pendingRequestContextIdsByThread.set(i,l),u}bindRequestContext(i,c){let u=this.pendingRequestContexts.get(i);if(!u)return;if(this.completedTurnIds.has(c)){this.clearRequestContext(i);return}this.activeRequestContextsByTurn.set(c,{handlers:u.context.handlers,autoApprove:u.context.autoApprove}),this.clearRequestContext(i)}clearRequestContext(i){let c=this.pendingRequestContexts.get(i);if(!c)return;this.pendingRequestContexts.delete(i);let u=this.pendingRequestContextIdsByThread.get(c.threadId);if(!u)return;if(u.delete(i),u.size===0)this.pendingRequestContextIdsByThread.delete(c.threadId)}clearRequestContextForTurn(i){this.activeRequestContextsByTurn.delete(i)}hasTurnCompleted(i){return this.completedTurnIds.has(i)}async withThreadLock(i,c){let u=this.threadLocks.get(i)??Promise.resolve(),l,h=new Promise((g)=>{l=g}),f=u.then(()=>h);this.threadLocks.set(i,f),await u;try{return await c()}finally{if(l?.(),this.threadLocks.get(i)===f)this.threadLocks.delete(i)}}async close(){this.state="closed",this.clearIdleTimer(),this.stdoutReader?.close(),this.stdoutReader=void 0;for(let[i,c]of this.pending.entries())clearTimeout(c.timer),c.reject(Error(`Client closed while request ${String(i)} was in flight`));if(this.pending.clear(),this.threadLocks.clear(),this.pendingRequestContexts.clear(),this.pendingRequestContextIdsByThread.clear(),this.activeRequestContextsByTurn.clear(),this.completedTurnIds.clear(),this.tokenUsageTotalsByThread.clear(),this.serverCapabilities=void 0,this.child)this.expectedExitSignal="SIGTERM",this.child.kill("SIGTERM"),this.child=void 0;this.writeQueue=Promise.resolve()}async dispose(){await this.close()}async startAndInitialize(){let i=vs(this.settings.codexPath),c=[...i.args,"app-server","--listen","stdio://"];this.lastStderr="",this.lastCrashHadStderr=!1,this.expectedExitSignal=void 0,this.child=it(i.cmd,c,{stdio:["pipe","pipe","pipe"],env:{...process.env,...this.settings.env??{},RUST_LOG:process.env.RUST_LOG||"error"},cwd:this.settings.cwd});let u=this.child,l="";u.stderr.setEncoding("utf8"),u.stderr.on("data",(g)=>{if(l=(l+String(g)).slice(-4000),this.child===u)this.lastStderr=l}),u.on("error",(g)=>{this.logger.error(`[codex-app-server] process error: ${String(g)}`);let y=String(g),v=this.withStderrTail(y,l);this.lastCrashHadStderr=v!==y,this.handleCrash(Error(v))}),u.on("exit",(g,y)=>{let v=`codex app-server exited (code=${String(g)}, signal=${String(y)})`,S=this.state==="closed"||y!==null&&y===this.expectedExitSignal;if(this.expectedExitSignal=void 0,S){this.logger.info(`[codex-app-server] ${v}`);return}let R=this.markCrashed();if(!R)return;let I=!1,E=()=>{if(I)return;I=!0,u.off("close",E),clearTimeout(A);let O=`codex app-server exited (code=${String(g)}, signal=${String(y)})`,P=this.withStderrTail(O,l);if(this.child===void 0)this.lastStderr=l,this.lastCrashHadStderr=P!==O;this.logger.warn(`[codex-app-server] ${P}`),this.rejectCrashedPending(R,Error(P))};u.once("close",E);let A=setTimeout(E,120);A.unref?.()}),this.stdoutReader=rr.createInterface({input:u.stdout,crlfDelay:1/0}),this.stdoutReader.on("line",(g)=>this.handleLine(g));let h={clientInfo:{name:"ai-sdk-provider-codex-cli",version:this.clientVersion},capabilities:{experimentalApi:!0,optOutNotificationMethods:null}},f;try{f=await this.requestInternal("initialize",h,this.settings.connectionTimeoutMs??this.requestTimeoutMs)}catch(g){let y=String(g?.message??g);if(y.includes("unknown subcommand")||this.lastStderr.includes("unknown subcommand"))throw Error(this.withStderrTail(`codex app-server requires codex CLI >= ${this.settings.minCodexVersion??pe}. Run 'codex --version' to check.`));if(y.includes("ENOENT")||this.lastStderr.includes("ENOENT"))throw Error(this.withStderrTail("codex app-server failed to start: codex executable not found (ENOENT). Check that the codex CLI is installed and its native binary is intact — a corrupted @openai/codex npm install can cause this. Run 'codex --version' to verify."));let v=this.lastCrashHadStderr?y:this.withStderrTail(y);throw he({message:`Failed to initialize codex app-server: ${v}`,stderr:this.lastStderr,provider:"app-server"})}await this.writeMessage({method:"initialized"}),this.checkVersion(f.userAgent),this.serverCapabilities=f.capabilities??null}checkVersion(i){let c=Ts(i);if(!c){this.logger.warn(`[codex-app-server] Could not parse server version from userAgent: ${i}`);return}this.serverVersion=c;let u=this.settings.minCodexVersion??pe,l=ws(c,u);if(l===void 0){this.logger.warn(`[codex-app-server] Could not semver-compare '${c}' against '${u}'.`);return}if(l<0)throw Error(`codex app-server version '${c}' is below required minimum '${u}'.`)}cleanupAfterInitializationFailure(i){if(this.state==="closed")return;this.state="error",this.clearIdleTimer(),this.stdoutReader?.close(),this.stdoutReader=void 0;for(let[c,u]of this.pending.entries())clearTimeout(u.timer),u.reject(Error(`Request ${String(c)} failed during app-server initialization: ${String(i)}`));if(this.pending.clear(),this.threadLocks.clear(),this.pendingRequestContexts.clear(),this.pendingRequestContextIdsByThread.clear(),this.activeRequestContextsByTurn.clear(),this.completedTurnIds.clear(),this.serverCapabilities=void 0,this.child)this.expectedExitSignal="SIGTERM",this.child.kill("SIGTERM"),this.child=void 0;this.writeQueue=Promise.resolve()}markCrashed(){if(this.state==="closed"||this.state==="error")return;if(this.state="error",this.clearIdleTimer(),this.stdoutReader?.close(),this.stdoutReader=void 0,this.child)this.expectedExitSignal="SIGTERM",this.child.kill("SIGTERM"),this.child=void 0;let i=new Map(this.pending);for(let[,c]of i)clearTimeout(c.timer);return this.pending.clear(),this.threadLocks.clear(),this.pendingRequestContexts.clear(),this.pendingRequestContextIdsByThread.clear(),this.activeRequestContextsByTurn.clear(),this.completedTurnIds.clear(),this.serverCapabilities=void 0,this.writeQueue=Promise.resolve(),i}rejectCrashedPending(i,c){for(let[u,l]of i)l.reject(Error(`Request ${String(u)} failed after app-server crash: ${String(c)}`))}handleCrash(i){let c=this.markCrashed();if(!c)return;this.rejectCrashedPending(c,i)}stderrExcerpt(i){if(!i)return"";let c=String.fromCharCode(27),u=new RegExp(`${c}(?:\\[[0-?]*[ -/]*[@-~]|\\][^\\u0007]*(?:\\u0007|${c}\\\\))`,"g"),l=i.replace(u,""),f=Array.from(l).filter((g)=>{let y=g.charCodeAt(0);return g===`
15
+ `||y>=32&&(y<127||y>159)}).join("").split(/\r?\n/).map((g)=>g.trim()).filter(Boolean).slice(-5).join("; ");if(f.length>600)return`…${f.slice(-600)}`;return f}withStderrTail(i,c=this.lastStderr){let u=this.stderrExcerpt(c);return u?`${i} | stderr (tail): ${u}`:i}handleLine(i){let c=i.trim();if(!c)return;this.touchActivity();let u;try{u=JSON.parse(c)}catch{this.logger.warn(`[codex-app-server] Ignoring non-JSON line: ${c.slice(0,200)}`);return}let l=kn.safeParse(u);if(l.success){this.handleResponse(l.data);return}let h=Rn.safeParse(u);if(h.success){this.handleErrorResponse(h.data.id,h.data.error);return}let f=Cn.safeParse(u);if(f.success){let y=f.data;this.handleServerRequest(y.id,y.method,y.params??{}).catch((v)=>{this.logger.warn(`[codex-app-server] Failed to handle server request '${y.method}': ${String(v)}`)});return}let g=En.safeParse(u);if(g.success){let y=g.data,v=hs[y.method];if(v){if(!v.safeParse(y.params??{}).success){this.logger.warn(`[codex-app-server] Notification '${y.method}' failed schema validation; dropping.`);return}}if(y.method==="turn/completed"){let S=y.params,R=typeof S?.turn?.id==="string"?S.turn.id:void 0;if(R)this.clearRequestContextForTurn(R),this.rememberCompletedTurn(R)}if(y.method==="thread/tokenUsage/updated")this.recordThreadTokenUsage(y.params);this.emit("notification",y.method,y.params??{});return}this.logger.warn("[codex-app-server] Received unrecognized JSON-RPC message")}handleResponse(i){this.touchActivity();let c=this.pending.get(i.id);if(!c)return;clearTimeout(c.timer),this.pending.delete(i.id),c.resolve(i.result)}handleErrorResponse(i,c){if(this.touchActivity(),i===null){this.logger.error(`[codex-app-server] JSON-RPC error: ${c.message}`);return}let u=this.pending.get(i);if(!u)return;clearTimeout(u.timer),this.pending.delete(i),u.reject(new tt(c.code,c.message))}getThreadIdFromServerRequest(i){return typeof i.threadId==="string"?i.threadId:void 0}getTurnIdFromServerRequest(i){return typeof i.turnId==="string"?i.turnId:void 0}getPendingContextsForThread(i){let c=this.pendingRequestContextIdsByThread.get(i);if(!c||c.size===0)return[];let u=[];for(let l of c){let h=this.pendingRequestContexts.get(l);if(h)u.push(h.context)}return u}getContextForRequest(i){let c=this.getTurnIdFromServerRequest(i);if(c){let f=this.activeRequestContextsByTurn.get(c);if(f)return f}let u=this.getThreadIdFromServerRequest(i);if(u){let f=this.getPendingContextsForThread(u);if(f.length===1)return f[0];if(f.length>1)this.logger.debug(`[codex-app-server] Received server request for thread '${u}' before turn binding with multiple pending contexts; using settings-level handlers.`);return}let l=this.activeRequestContextsByTurn.size,h=this.pendingRequestContexts.size;if(l+h===1){if(l===1)return this.activeRequestContextsByTurn.values().next().value;return this.pendingRequestContexts.values().next().value?.context}if(l+h>1)this.logger.debug("[codex-app-server] Received threadless server request while multiple request contexts are active; using settings-level handlers.");return}async handleServerRequest(i,c,u){let l=ps.safeParse({id:i,method:c,params:u}),h=l.success?l.data:{id:i,method:c,params:u},f=async(I)=>{try{await this.writeMessage({id:h.id,result:I})}catch(E){this.logger.warn(`[codex-app-server] Failed to send server request result for '${h.method}': ${String(E)}`)}},g=async(I,E)=>{try{await this.writeMessage({id:h.id,error:{code:I,message:E}})}catch(A){this.logger.warn(`[codex-app-server] Failed to send server request error for '${h.method}': ${String(A)}`)}},y=this.getContextForRequest(h.params),v=y?.handlers??this.settings.serverRequests??{},S=y?.autoApprove??this.settings.autoApprove??!1;this.emit("server-request",h.method,h.params,h.id);let R=async(I)=>{if(!I)return;try{let E=I();if(!E)return;return await E}catch(E){this.logger.warn(`[codex-app-server] request handler failed for '${h.method}': ${String(E)}`);return}};switch(h.method){case"item/commandExecution/requestApproval":{let I=await R(()=>v.onCommandExecutionApproval?.(h));if(I!==void 0){await f(I);return}await f({decision:S?"accept":"decline"});return}case"item/fileChange/requestApproval":{let I=await R(()=>v.onFileChangeApproval?.(h));if(I!==void 0){await f(I);return}await f({decision:S?"accept":"decline"});return}case"skill/requestApproval":{let I=await R(()=>v.onSkillApproval?.(h));if(I!==void 0){await f(I);return}await f({decision:S?"approve":"decline"});return}case"mcpServer/elicitation/request":{let I=await R(()=>v.onMcpElicitation?.(h));if(I!==void 0){await f(I);return}let E=await R(()=>v.onUnhandled?.(h));if(E!==void 0){await f(E);return}if(h.params._meta?.codex_approval_kind==="mcp_tool_call"&&S)await f({action:"accept",content:{}});else await f({action:"decline",content:null});return}case"item/tool/requestUserInput":{let I=await R(()=>v.onToolRequestUserInput?.(h));if(I!==void 0){await f(I);return}await f({answers:{}});return}case"item/tool/call":{let I=await R(()=>v.onDynamicToolCall?.(h));if(I!==void 0){await f(I);return}await f({contentItems:[],success:!1});return}case"account/chatgptAuthTokens/refresh":{let I=await R(()=>v.onAuthRefresh?.(h));if(I!==void 0){await f(I);return}await g(-32603,"Auth token refresh not supported by this client");return}default:{let I=await R(()=>v.onUnhandled?.(h));if(I!==void 0){await f(I);return}}await g(-32601,"Method not supported")}}async writeMessage(i){let c=`${JSON.stringify(i)}
16
+ `,u=async()=>{if(!this.child?.stdin.writable)throw Error("codex app-server stdin is not writable");let h=this.child.stdin;if(!h.write(c))await new Promise((g,y)=>{let v=()=>{I(),g()},S=(E)=>{I(),y(E)},R=()=>{I(),y(Error("codex app-server stdin closed before drain"))},I=()=>{h.off("drain",v),h.off("error",S),h.off("close",R)};h.once("drain",v),h.once("error",S),h.once("close",R)});this.touchActivity()},l=this.writeQueue.then(u,u);this.writeQueue=l.catch(()=>{return}),await l}getTokenUsageTotalBeforeTurn(i,c){let u=this.tokenUsageTotalsByThread.get(i);if(!u)return;for(let l=u.length-1;l>=0;l-=1){let h=u[l];if(h&&h.turnId!==c)return h.total}return}recordThreadTokenUsage(i){if(!i||typeof i!=="object")return;let{threadId:c,turnId:u,tokenUsage:l}=i,h=l?.total;if(typeof c!=="string"||!h||typeof h!=="object")return;let f=typeof u==="string"?u:void 0,g=(this.tokenUsageTotalsByThread.get(c)??[]).filter((y)=>y.turnId!==f);if(g.push({turnId:f,total:h}),g.length>ys)g.shift();if(this.tokenUsageTotalsByThread.delete(c),this.tokenUsageTotalsByThread.set(c,g),this.tokenUsageTotalsByThread.size>gs){let y=this.tokenUsageTotalsByThread.keys().next().value;if(typeof y==="string")this.tokenUsageTotalsByThread.delete(y)}}rememberCompletedTurn(i){if(this.completedTurnIds.add(i),this.completedTurnIds.size<=ms)return;let c=this.completedTurnIds.values().next().value;if(typeof c==="string")this.completedTurnIds.delete(c)}clearIdleTimer(){if(this.idleTimer)clearTimeout(this.idleTimer),this.idleTimer=void 0}touchActivity(){let i=this.settings.idleTimeoutMs;if(!i||i<=0||this.state!=="ready")return;this.clearIdleTimer(),this.idleTimer=setTimeout(()=>{if(this.state!=="ready")return;if(this.pending.size>0||this.activeRequestContextsByTurn.size>0||this.pendingRequestContexts.size>0){this.touchActivity();return}if(this.child)this.logger.info(`[codex-app-server] Closing idle app-server process after ${i}ms inactivity.`),this.expectedExitSignal="SIGTERM",this.child.kill("SIGTERM"),this.child=void 0;this.stdoutReader?.close(),this.stdoutReader=void 0,this.state="idle",this.threadLocks.clear(),this.pendingRequestContexts.clear(),this.pendingRequestContextIdsByThread.clear(),this.activeRequestContextsByTurn.clear(),this.completedTurnIds.clear(),this.serverCapabilities=void 0,this.writeQueue=Promise.resolve(),this.emit("idle-timeout")},i)}};function Is(i){return{codexPath:i.codexPath,cwd:i.cwd,env:i.env,logger:i.logger,connectionTimeoutMs:i.connectionTimeoutMs,requestTimeoutMs:i.requestTimeoutMs,idleTimeoutMs:i.idleTimeoutMs,minCodexVersion:i.minCodexVersion}}function xs(i,c){let u=i.env&&Object.keys(i.env).length>0?Object.entries(i.env).sort(([l],[h])=>l.localeCompare(h)):void 0;return JSON.stringify({codexPath:i.codexPath??null,cwd:i.cwd??null,connectionTimeoutMs:i.connectionTimeoutMs??null,requestTimeoutMs:i.requestTimeoutMs??null,idleTimeoutMs:i.idleTimeoutMs??null,minCodexVersion:i.minCodexVersion??null,env:u??null,logger:c.loggerIdentity(i.logger)})}function Ss(i){let c=new Map;return{getOrCreate(u){let l=Is(u),h=xs(l,i),f=c.get(h);if(f)return f;let g=new Jt({settings:l,logger:l.logger});return c.set(h,g),g},async closeAll(){await Promise.allSettled(Array.from(c.values()).map(async(u)=>{await u.close()})),c.clear()}}}function Cs(i){let c=Object.getPrototypeOf(i);return c===Object.prototype||c===null}function ks(i){let c=(u,l=new WeakSet)=>{if(u===null||u===void 0||typeof u==="string"||typeof u==="number"||typeof u==="boolean")return u;if(typeof u==="bigint")return{__bigint:u.toString()};if(typeof u==="symbol")return{__symbol:String(u)};if(typeof u==="function")return{__functionIdentity:i.functionIdentity(u)};if(Array.isArray(u))return u.map((h)=>c(h,l));if(typeof u==="object"){if(l.has(u))return{__objectRef:i.objectIdentity(u)};if(l.add(u),ge(u)){if(u.cacheKey)return{__sdkMcpServerCacheKey:u.cacheKey};let f=u.tools.map((g)=>({name:g.name,description:g.description,inputSchema:c(g.inputSchema,l),execute:c(g.execute,l)})).sort((g,y)=>g.name.localeCompare(y.name));return{__sdkMcpServer:{name:u.name,tools:f}}}if(!Cs(u))return{__objectIdentity:i.objectIdentity(u)};let h={};for(let f of Object.keys(u).sort((g,y)=>g.localeCompare(y)))h[f]=c(u[f],l);return h}return String(u)};return{createPersistentModelKey(u,l){let h={...l,logger:l.logger===!1?!1:l.logger?{__loggerIdentity:i.loggerIdentity(l.logger)}:void 0};return JSON.stringify({modelId:u,settings:c(h)})}}}function Rs(){let i=new Map;return{get(c){return i.get(c)},set(c,u){i.set(c,u)},clear(){i.clear()}}}function Es(i){let c=new Set,u=new Set,l=new Map;return{markUsed(h,f){if(c.add(h),f==="provider"){u.add(h);return}let g=l.get(h)??0;l.set(h,g+1)},releaseRequestScoped(h){let f=l.get(h);if(f===void 0)return;if(f>1){l.set(h,f-1);return}if(l.delete(h),u.has(h))return;h._stop().then(()=>{if(!u.has(h)&&!l.has(h))c.delete(h)}).catch((g)=>{i.warn(`[codex-app-server] Failed to stop request-scoped SDK MCP server: ${String(g)}`)})},async closeAll(){await Promise.allSettled(Array.from(c).map(async(h)=>{await h._stop()})),c.clear(),u.clear(),l.clear()}}}function Ms(){let i=new WeakMap,c=new WeakMap,u=new WeakMap,l=1,h=1;return{loggerIdentity(f){if(f===!1)return"logger:false";if(!f)return"logger:default";let g=i.get(f);if(g!==void 0)return`logger:${g}`;let y=l++;return i.set(f,y),`logger:${y}`},functionIdentity(f){let g=c.get(f);if(g!==void 0)return`fn:${g}`;let y=h++;return c.set(f,y),`fn:${y}`},objectIdentity(f){let g=u.get(f);if(g!==void 0)return`obj:${g}`;let y=h++;return u.set(f,y),`obj:${y}`}}}function As(i={}){let c=oe(i.defaultSettings?.logger);if(i.defaultSettings){let S=Ve(i.defaultSettings);if(!S.valid)throw Error(`Invalid default settings: ${S.errors.join(", ")}`);for(let R of S.warnings)c.warn(`Codex App Server Provider: ${R}`)}let u=Ms(),l=ks(u),h=Ss(u),f=Rs(),g=Es(c),y=(S,R={})=>{let I={...i.defaultSettings,...R,configOverrides:{...i.defaultSettings?.configOverrides??{},...R.configOverrides??{}}},E=Ve(I);if(!E.valid)throw Error(`Invalid settings: ${E.errors.join(", ")}`);for(let k of E.warnings)c.warn(`Codex App Server: ${k}`);let A=()=>new Sn({id:S,settings:I,client:h.getOrCreate(I),onSdkMcpServerUsed:(k,x)=>{g.markUsed(k,x)},onSdkMcpServerReleased:(k)=>{g.releaseRequestScoped(k)}});if((I.threadMode??"stateless")!=="persistent")return A();let O=l.createPersistentModelKey(S,I),P=f.get(O);if(P)return P;let q=A();return f.set(O,q),q},v=Object.assign(function(S,R){if(new.target)throw Error("The Codex app-server provider function cannot be called with new.");return y(S,R)},{specificationVersion:"v4"});return v.languageModel=y,v.chat=y,v.embeddingModel=(S)=>{throw new we({modelId:S,modelType:"embeddingModel"})},v.imageModel=(S)=>{throw new we({modelId:S,modelType:"imageModel"})},v.close=async()=>{await g.closeAll(),await h.closeAll(),f.clear()},v.dispose=v.close,v.listModels=async(S)=>{let I=await h.getOrCreate(i.defaultSettings??{}).modelList({modelProviders:S??null}),E=I.data??[];return{models:E,defaultModel:E.find((A)=>A.isDefault===!0),nextCursor:I.nextCursor}},v}var Gs=As();async function Qs(i={}){let c=new Jt({settings:{codexPath:i.codexPath,env:i.env,cwd:i.cwd,minCodexVersion:i.minCodexVersion,connectionTimeoutMs:i.connectionTimeoutMs,requestTimeoutMs:i.requestTimeoutMs,logger:!1}});try{let u=await c.modelList({modelProviders:i.modelProviders??null}),l=u.data??[];return{models:l,defaultModel:l.find((h)=>h.isDefault===!0),nextCursor:u.nextCursor}}finally{await c.dispose()}}function Ps(i){let c=i;if(typeof c.toJSON!=="function")return;try{return c.toJSON()}catch{return}}function js(i){let c=Ay;if(typeof c.toJSONSchema!=="function")return;try{let u=c.toJSONSchema(i,{io:"input",target:"jsonSchema7"});if(u&&typeof u==="object")return u}catch{return}return}function rt(i){return i._def??{}}function st(i){let c=i.typeName;if(typeof c==="string")return c;let u=i.type;if(typeof u==="string")return`Zod${u.charAt(0).toUpperCase()}${u.slice(1)}`;return}function qs(i){let c=rt(i),u=st(c);if(u==="ZodString")return{type:"string"};if(u==="ZodNumber")return{type:"number"};if(u==="ZodBoolean")return{type:"boolean"};if(u==="ZodNull")return{type:"null"};if(u==="ZodAny"||u==="ZodUnknown")return{};if(u==="ZodLiteral"){let l=c.value;if(l===null)return{type:"null",const:l};return{type:typeof l,const:l}}if(u==="ZodEnum"){let l=c.values;if(Array.isArray(l))return{type:"string",enum:l}}if(u==="ZodObject"){let l=c.shape,h=typeof l==="function"?l():l,f={},g=[];if(h&&typeof h==="object")for(let[v,S]of Object.entries(h)){if(!(S instanceof ie))continue;f[v]=W(S);let R=rt(S),I=st(R);if(I!=="ZodOptional"&&I!=="ZodDefault")g.push(v)}let y={type:"object",properties:f};if(g.length>0)y.required=g;return y}if(u==="ZodArray"){let l=c.type;if(l instanceof ie)return{type:"array",items:W(l)};return{type:"array",items:{}}}if(u==="ZodTuple"){let l=c.items;if(Array.isArray(l)){let h=l.filter((f)=>f instanceof ie).map((f)=>W(f));return{type:"array",prefixItems:h,minItems:h.length,maxItems:h.length}}return{type:"array"}}if(u==="ZodRecord"){let l=c.valueType;if(l instanceof ie)return{type:"object",additionalProperties:W(l)};return{type:"object",additionalProperties:{}}}if(u==="ZodOptional"||u==="ZodDefault"){let l=c.innerType;if(l instanceof ie)return W(l);return{}}if(u==="ZodNullable"){let l=c.innerType;if(l instanceof ie)return{anyOf:[W(l),{type:"null"}]};return{anyOf:[{},{type:"null"}]}}if(u==="ZodUnion"){let l=c.options;if(Array.isArray(l))return{anyOf:l.filter((f)=>f instanceof ie).map((f)=>W(f))}}if(u==="ZodDiscriminatedUnion"){let l=c.options;if(l&&typeof l==="object")return{anyOf:Array.from(l.values()).filter((f)=>f instanceof ie).map((f)=>W(f))}}if(u==="ZodEffects"||u==="ZodPipeline"){let l=c.schema??c.in??c.out;if(l instanceof ie)return W(l)}return{type:"object"}}function W(i){return Ps(i)??js(i)??qs(i)}function Xs(i){let{name:c,description:u,parameters:l,execute:h}=i;return{name:c,description:u,inputSchema:W(l),execute:async(f)=>{let g=l.parse(f);return await h(g)}}}export{mr as CODEX_REASONING_EFFORTS,Zr as CodexCliLanguageModel,pe as DEFAULT_MIN_CODEX_VERSION,Zr as ExecLanguageModel,je as UnsupportedFeatureError,Gs as codexAppServer,Zs as codexCli,Zs as codexExec,As as createCodexAppServer,Kr as createCodexCli,Kr as createCodexExec,gn as createLocalMcpServer,Ks as createSdkMcpServer,Ws as isAuthenticationError,Js as isUnsupportedFeatureError,Qs as listModels,Xs as tool};
@@ -0,0 +1,2 @@
1
+ import{In,ky,$w,Iy,lo,Sy,Ey,at,qw,Ry,zw,Gw,Bs}from"./index-w9n2kgjk.js";import{fo}from"./index-m3gtj35r.js";import{Xe,pn}from"./index-bwet95hr.js";import{v}from"./index-edf1hmcw.js";var m=v(Xe(),1),x=v(fo(),1),S=v(pn(),1);var C=class{constructor(e){this.pendingMediaUploads=new Set,this.apiClient=e.apiClient}get logger(){return lo()}async flush(){await Promise.all(Array.from(this.pendingMediaUploads))}async process(e){var t;let n=[at.OBSERVATION_INPUT,at.TRACE_INPUT,at.OBSERVATION_OUTPUT,at.TRACE_OUTPUT,at.OBSERVATION_METADATA,at.TRACE_METADATA];for(let i of n){let c=Object.keys(e.attributes).filter((a)=>a.startsWith(i));for(let a of c){let s=e.attributes[a];if(typeof s!=="string"){this.logger.warn(`Span attribute ${i} is not a stringified object. Skipping media handling.`);continue}let r=s,d=/data:[^;]+;base64,[A-Za-z0-9+/]+=*/g,u=[...new Set((t=s.match(d))!=null?t:[])];if(u.length===0)continue;for(let p of u){let o=new Ry({base64DataUri:p,source:"base64_data_uri"}),l=await o.getTag();if(!l){this.logger.warn("Failed to create Langfuse media tag. Skipping media item.");continue}this.scheduleUpload({span:e,media:o,field:i.includes("input")?"input":i.includes("output")?"output":"metadata"}),r=r.replaceAll(p,l)}e.attributes[a]=r}}if(["ai","gen_ai"].includes(e.instrumentationScope.name)){let i=["ai.prompt.messages","ai.prompt"];for(let a of i){let s=e.attributes[a];if(!s||typeof s!=="string")continue;let r=s;try{let d=JSON.parse(s);if(Array.isArray(d)){for(let u of d)if(Array.isArray(u.content)){let p=u.content;for(let o of p)if(o.type==="file"){let l=null,g=o.mediaType;if(typeof o.data==="string"&&!o.data.startsWith("http"))l=o.data;if(typeof o.image==="string"&&!o.image.startsWith("http"))l=o.image;if(!l||typeof g!=="string")continue;r=await this.replaceBytesMedia({span:e,mediaReplacedValue:r,base64Content:l,contentType:g,field:"input"})}}}e.attributes[a]=r}catch(d){this.logger.warn(`Failed to handle media for AI SDK attribute ${a} for span ${e.spanContext().spanId}`,d)}}let c=[{attribute:"gen_ai.input.messages",field:"input"},{attribute:"gen_ai.output.messages",field:"output"}];for(let{attribute:a,field:s}of c){let r=e.attributes[a];if(!r||typeof r!=="string")continue;let d=r;try{let u=JSON.parse(r);if(Array.isArray(u))for(let p of u){if(!Array.isArray(p.parts))continue;for(let o of p.parts){let{content:l,mime_type:g}=o;if(o.type!=="blob"||typeof l!=="string"||!l||typeof g!=="string"||l.startsWith("http"))continue;let h=O(l);if(!h)continue;d=await this.replaceBytesMedia({span:e,mediaReplacedValue:d,base64Content:h.base64Content,contentToReplace:l,contentType:g,field:s})}}e.attributes[a]=d}catch(u){this.logger.warn(`Failed to handle media for AI SDK v7 attribute ${a} for span ${e.spanContext().spanId}`,u)}}}}async replaceBytesMedia(e){var t;let n=new Ry({contentType:e.contentType,contentBytes:ky(e.base64Content),source:"bytes"}),i=await n.getTag();if(!i)return this.logger.warn("Failed to create Langfuse media tag. Skipping media item."),e.mediaReplacedValue;return this.scheduleUpload({span:e.span,media:n,field:e.field}),e.mediaReplacedValue.replaceAll((t=e.contentToReplace)!=null?t:e.base64Content,i)}scheduleUpload(e){let{span:t,field:n,media:i}=e,c=this.handleUpload({media:i,traceId:t.spanContext().traceId,observationId:t.spanContext().spanId,field:n}).catch((a)=>{this.logger.error("Media upload failed with error: ",a)});this.pendingMediaUploads.add(c),c.finally(()=>{this.pendingMediaUploads.delete(c)})}async handleUpload({media:e,traceId:t,observationId:n,field:i}){try{await zw({apiClient:this.apiClient,media:e,traceId:t,observationId:n,field:i,logger:this.logger})}catch(c){this.logger.error(`Error processing media item: ${c}`)}}};function O(e){if(!e.startsWith("data:"))return{base64Content:e};let t=e.indexOf(";base64,");if(t===-1)return;let n=e.slice(t+8);if(!n)return;return{base64Content:n}}var R=[Sy,"agent_framework","ai","haystack","langsmith","litellm","openinference","opentelemetry.instrumentation.anthropic","opentelemetry.instrumentation.aws_bedrock","opentelemetry.instrumentation.bedrock","opentelemetry.instrumentation.gemini","opentelemetry.instrumentation.google_genai","opentelemetry.instrumentation.google_generativeai","opentelemetry.instrumentation.openai","opentelemetry.instrumentation.openai_v2","opentelemetry.instrumentation.vertex_ai","opentelemetry.instrumentation.vertexai","strands-agents","vllm"],M=new Set(["ai"]);function k(e){return e.instrumentationScope.name===Sy}function P(e){return Object.keys(e.attributes).some((t)=>t.startsWith("gen_ai."))}function B(e){let t=e.instrumentationScope.name;return R.some((n)=>t===n||!M.has(n)&&t.startsWith(`${n}.`))}function F(e){return k(e)||P(e)||B(e)}var K=class{constructor(e){this.pendingEndedSpans=new Set,this.spanExportExpectationById=new Map;var t,n,i,c,a,s,r,d,u,p,o,l,g,h;let E=lo(),f=(t=e==null?void 0:e.publicKey)!=null?t:In("LANGFUSE_PUBLIC_KEY"),A=(n=e==null?void 0:e.secretKey)!=null?n:In("LANGFUSE_SECRET_KEY"),b=(a=(c=(i=e==null?void 0:e.baseUrl)!=null?i:In("LANGFUSE_BASE_URL"))!=null?c:In("LANGFUSE_BASEURL"))!=null?a:"https://cloud.langfuse.com";if(!(e==null?void 0:e.exporter)&&!f)E.warn("No exporter configured and no public key provided in constructor or as LANGFUSE_PUBLIC_KEY env var. Span exports will fail.");if(!(e==null?void 0:e.exporter)&&!A)E.warn("No exporter configured and no secret key provided in constructor or as LANGFUSE_SECRET_KEY env var. Span exports will fail.");let y=(s=e==null?void 0:e.flushAt)!=null?s:In("LANGFUSE_FLUSH_AT"),_=(r=e==null?void 0:e.flushInterval)!=null?r:In("LANGFUSE_FLUSH_INTERVAL"),L=$w(`${f}:${A}`),T=(u=e==null?void 0:e.timeout)!=null?u:Number((d=In("LANGFUSE_TIMEOUT"))!=null?d:5),I=In("LANGFUSE_MEDIA_UPLOAD_ENABLED"),N=(p=e==null?void 0:e.mediaUploadEnabled)!=null?p:I?!["false","0"].includes(I.toLowerCase()):!0,U=(o=e==null?void 0:e.exporter)!=null?o:new x.OTLPTraceExporter({url:`${b}/api/public/otel/v1/traces`,headers:{Authorization:`Basic ${L}`,"x-langfuse-sdk-name":"javascript","x-langfuse-sdk-version":Ey,"x-langfuse-public-key":f!=null?f:"<missing>",...e==null?void 0:e.additionalHeaders},timeoutMillis:T*1000});this.processor=(e==null?void 0:e.exportMode)==="immediate"?new S.SimpleSpanProcessor(U):new S.BatchSpanProcessor(U,{maxExportBatchSize:y?Number(y):void 0,scheduledDelayMillis:_?Number(_)*1000:void 0}),this.publicKey=f,this.baseUrl=b,this.environment=(l=e==null?void 0:e.environment)!=null?l:In("LANGFUSE_TRACING_ENVIRONMENT"),this.release=(g=e==null?void 0:e.release)!=null?g:In("LANGFUSE_RELEASE"),this.mask=e==null?void 0:e.mask,this.shouldExportSpan=(h=e==null?void 0:e.shouldExportSpan)!=null?h:({otelSpan:w})=>F(w),this.mediaUploadEnabled=N,this.apiClient=new qw({baseUrl:this.baseUrl,username:this.publicKey,password:A,xLangfusePublicKey:this.publicKey,xLangfuseSdkVersion:Ey,xLangfuseSdkName:"javascript",environment:"",headers:e==null?void 0:e.additionalHeaders}),this.mediaService=new C({apiClient:this.apiClient}),E.debug("Initialized LangfuseSpanProcessor with params:",{publicKey:f,baseUrl:b,environment:this.environment,release:this.release,timeoutSeconds:T,flushAt:y,flushIntervalSeconds:_,mediaUploadEnabled:N})}get logger(){return lo()}onStart(e,t){let n=Bs(t);if(e.attributes[at.OBSERVATION_PROMPT_NAME]!=null)delete n[at.OBSERVATION_PROMPT_NAME],delete n[at.OBSERVATION_PROMPT_VERSION];e.setAttributes({[at.ENVIRONMENT]:this.environment,[at.RELEASE]:this.release,...n});try{this.markAppRootCandidate(e,t)}catch(i){this.logger.debug("App-root start-time check failed. Span will not be marked as app root.",{spanName:e.name},i)}return this.processor.onStart(e,t)}onEnd(e){this.spanExportExpectationById.delete(e.spanContext().spanId);let t=this.processEndedSpan(e).catch((n)=>{this.logger.error(n)});this.pendingEndedSpans.add(t),t.finally(()=>this.pendingEndedSpans.delete(t))}async flush(){await Promise.all(Array.from(this.pendingEndedSpans)),await this.mediaService.flush()}async forceFlush(){return await this.flush(),this.processor.forceFlush()}async shutdown(){return await this.flush(),this.processor.shutdown()}async processEndedSpan(e){var t,n;try{if(this.shouldExportSpan({otelSpan:e})===!1){this.logger.debug("Dropped span due to shouldExportSpan filter.",{spanName:e.name,instrumentationScope:e.instrumentationScope.name});return}}catch(i){this.logger.error("shouldExportSpan failed with error. Dropping span.",{spanName:e.name,instrumentationScope:e.instrumentationScope.name},i);return}if(await this.applyMaskInPlace(e),this.mediaUploadEnabled)await this.mediaService.process(e);if(this.logger.isLevelEnabled(Iy.DEBUG))this.logger.debug(`Processed span:
2
+ ${JSON.stringify({name:e.name,traceId:e.spanContext().traceId,spanId:e.spanContext().spanId,parentSpanId:(n=(t=e.parentSpanContext)==null?void 0:t.spanId)!=null?n:null,attributes:e.attributes,startTime:new Date(m.hrTimeToMilliseconds(e.startTime)),endTime:new Date(m.hrTimeToMilliseconds(e.endTime)),durationMs:m.hrTimeToMilliseconds(e.duration),kind:e.kind,status:e.status,resource:e.resource.attributes,instrumentationScope:e.instrumentationScope},null,2)}`);this.processor.onEnd(e)}markAppRootCandidate(e,t){var n;let i=e.spanContext().traceId,c=e.spanContext().spanId,a=(n=e.parentSpanContext)==null?void 0:n.spanId,s=this.isExpectedExportedAtStart(e),r=Gw(t),d=a!==void 0?this.spanExportExpectationById.get(a)===!0:!1,u=r===i;if(this.spanExportExpectationById.set(c,s),s&&!d&&!u)e.setAttribute(at.IS_APP_ROOT,!0)}isExpectedExportedAtStart(e){let t=e;try{return this.shouldExportSpan({otelSpan:t})===!0}catch(n){return this.logger.debug("shouldExportSpan threw during app-root start-time check. Span will not be marked as app root.",{spanName:e.name,instrumentationScope:t.instrumentationScope.name},n),!1}}async applyMaskInPlace(e){let t=[at.OBSERVATION_INPUT,at.TRACE_INPUT,at.OBSERVATION_OUTPUT,at.TRACE_OUTPUT,at.OBSERVATION_METADATA,at.TRACE_METADATA];for(let n of t)if(n in e.attributes)e.attributes[n]=await this.applyMask(e.attributes[n])}async applyMask(e){if(!this.mask)return e;try{return await this.mask({data:e})}catch(t){return this.logger.warn(`Applying mask function failed due to error, fully masking property. Error: ${t}`),"<fully masked due to failed mask function>"}}};export{K as LangfuseSpanProcessor};
@@ -0,0 +1 @@
1
+ import{DE}from"./index-w9n2kgjk.js";export{DE as propagateAttributes};
@@ -0,0 +1,2 @@
1
+ import{K2,ho,Ys}from"./index-g2y6ptdc.js";import{St}from"./index-edf1hmcw.js";import{createRequire as q}from"module";var P=q(import.meta.url);function b(e,t,n,s,r){for(let o of r){let a=(o.optionKey?t[o.optionKey]:void 0)??(o.camelCaseKey?n?.[o.camelCaseKey]:void 0)??(o.camelCaseKey?s?.[o.camelCaseKey]:void 0);if(a!==void 0)e[o.outputKey]=a;if(o.camelCaseKey&&o.camelCaseKey!==o.outputKey)delete e[o.camelCaseKey]}}function Nh(e){let t=e?.prompt_tokens_details?.cache_creation_token_details;if(!t||(t.ephemeral_5m_input_tokens??0)===0&&(t.ephemeral_1h_input_tokens??0)===0)return{};return{cacheUsage:t}}function j2(e){let{embeddings:t,modelId:n,providerName:s,requestId:r,responseHeaders:o,totalTokens:a,version:i,warnings:c}=e,u={[s]:{model:n,...r?{requestId:r}:{},version:i}};return{embeddings:t,providerMetadata:u,...o?{response:{headers:o}}:{},usage:{tokens:a},warnings:c?[...c]:[]}}function $2(e){let{providerName:t,requestBody:n,requestId:s,response:r,responseHeaders:o,version:a,warnings:i}=e,c=[],u=r.getTokenUsage(),d=r.getFinishReason(),m=td(d),f=r.getContent(),y=r.getToolCalls();if(f)c.push({text:f,type:"text"});for(let l of y??[])c.push({input:l.function.arguments,toolCallId:l.id,toolName:l.function.name,type:"tool-call"});let v={content:f,finishReason:d,tokenUsage:u,toolCalls:y},h=r.getCitations?.();if(h?.length)for(let l of h)c.push({id:String(l.ref_id??l.url),sourceType:"url",title:l.title,type:"source",url:l.url});let g=r.getIntermediateFailures?.();return{content:c,finishReason:m,providerMetadata:{[t]:{...Nh(u),finishReason:d??"unknown",finishReasonMapped:m,...g?.length?{intermediateFailures:Uh(g)}:{},...s?{requestId:s}:{},version:a}},request:{body:n},response:{body:v,headers:o,...r.responseMetadata},usage:Lh(u),warnings:i}}function Jl(e,t){let n=e.deploymentConfig;if("deploymentId"in n)return{deploymentId:n.deploymentId};let s="resourceGroup"in n?n.resourceGroup:void 0;return{modelName:e.modelId,...t&&{modelVersion:t},...s&&{resourceGroup:s}}}function q2(e){let{options:t,paramMappings:n,providerModelParams:s,settingsModelParams:r}=e,o=[],a=ho(r??{},s??{});if(b(a,t,s,r,n),t.stopSequences&&t.stopSequences.length>0)a.stop=t.stopSequences;return K2({frequencyPenalty:t.frequencyPenalty,maxTokens:t.maxOutputTokens,presencePenalty:t.presencePenalty,temperature:t.temperature,topP:t.topP},o),{modelParams:a,warnings:o}}function p(e){let t=e.type;if(t!==void 0&&t!=="object")return{properties:{},required:[],type:"object"};let n=e.properties&&typeof e.properties==="object"?e.properties:{},s=Array.isArray(e.required)&&e.required.every((o)=>typeof o==="string")?e.required:[],r=Object.fromEntries(Object.entries(e).filter(([o])=>o!=="type"&&o!=="properties"&&o!=="required"));return{properties:n,required:s,type:"object",...r}}function k(e,t,n){if(e==null)return;if(t==null&&n==null)return e;return Math.max(0,e-(t??0)-(n??0))}function Xl(e,t){let n,s;if(e?.type==="json")n=e.schema?{json_schema:{description:e.description,name:e.name??"response",schema:e.schema,strict:null},type:"json_schema"}:{type:"json_object"};else if(t)n=t;if(n&&n.type!=="text")s={message:"responseFormat JSON mode is forwarded to the underlying model; support and schema adherence depend on the model/deployment.",type:"other"};return{responseFormat:n,warning:s}}function Zl(e,t={}){let{parser:n,warnings:s}=t,r=[];if(!e||e.length===0)return{tools:void 0,warnings:r};let o=e.map((a)=>{if(a.type==="function"){let i=a,{parameters:c,warning:u}=C(i);if(u)r.push(u);let d=n?.(i.providerOptions,s)?.cacheControl;return{...d?{cache_control:d}:{},function:{name:a.name,parameters:c,...i.strict!==void 0?{strict:i.strict}:{},...a.description?{description:a.description}:{}},type:"function"}}else return r.push({details:"Only 'function' tool type is supported.",feature:`tool type for ${a.name}`,type:"unsupported"}),null}).filter((a)=>a!==null);return{tools:o.length>0?o:void 0,warnings:r}}function ed(e){return{hasImageParts:e.prompt.some((t)=>t.role==="user"&&t.content.some((n)=>n.type==="file"&&n.mediaType.startsWith("image/"))),maxOutputTokens:e.maxOutputTokens,promptMessages:e.prompt.length,responseFormatType:e.responseFormat?.type,seed:e.seed,stopSequences:e.stopSequences?.length,temperature:e.temperature,toolChoiceType:e.toolChoice?.type,tools:e.tools?.length??0,topK:e.topK,topP:e.topP}}function z2(e,t){let n;try{n=e.rawResponse?.data}catch{}n??=e._data;for(let r of t)if(n!==null&&typeof n==="object"&&r in n)n=n[r];else{n=void 0;break}let s={};if(n!==null&&typeof n==="object"){let r=n;if(typeof r.id==="string"&&r.id.length>0)s.id=r.id;if(typeof r.model==="string"&&r.model.length>0)s.modelId=r.model;if(typeof r.created==="number"&&Number.isFinite(r.created)){let o=new Date(r.created*1000);if(Number.isFinite(o.getTime()))s.timestamp=o}}if(s.id===void 0&&typeof e.getRequestId==="function")try{let r=e.getRequestId();if(typeof r==="string"&&r.length>0)s.id=r}catch{}return s}function Vr(e,t){let n,s=e?.getRequestId;if(typeof s==="function")try{let a=s.call(e);n=typeof a==="string"&&a.length>0?a:void 0}catch{n=void 0}if(n===void 0){let a=e?._data;if(typeof a?.request_id==="string"&&a.request_id.length>0)n=a.request_id}let r;try{r=e?.[t]?.headers}catch{r=void 0}let o=r===void 0?void 0:Ys(r);if(n===void 0&&typeof o?.["x-request-id"]==="string")n=o["x-request-id"];return{headers:o,requestId:n}}function C(e){let t=e.inputSchema,n=e;if(n.parameters&&w(n.parameters))try{let r=St(n.parameters);return delete r.$schema,{parameters:p(r)}}catch(s){return{parameters:p({}),warning:{details:`Failed to convert tool Zod schema: ${s instanceof Error?s.message:String(s)}. Falling back to empty object schema.`,feature:`tool schema conversion for ${e.name}`,type:"unsupported"}}}if(t)return{parameters:p(t)};return{parameters:p({})}}function S(e){return typeof e.parse==="function"}function On(e){return Object.keys(e).length>0}function w(e){if(e===null||typeof e!=="object")return!1;let t=e;return"_def"in t&&"parse"in t&&S(t)}function td(e){let t=e??void 0;if(!e)return{raw:t,unified:"other"};switch(e.toLowerCase()){case"content_filter":case"guardrail_intervened":return{raw:t,unified:"content-filter"};case"end_turn":case"eos":case"stop":case"stop_sequence":return{raw:t,unified:"stop"};case"error":return{raw:t,unified:"error"};case"function_call":case"tool_call":case"tool_calls":case"tool_use":return{raw:t,unified:"tool-calls"};case"length":case"max_tokens":case"max_tokens_reached":return{raw:t,unified:"length"};default:return{raw:t,unified:"other"}}}function Lh(e){let t=e?.prompt_tokens_details?.cached_tokens,n=e?.prompt_tokens_details?.cache_creation_tokens,s=e?.completion_tokens_details?.reasoning_tokens,r=e?.prompt_tokens,o=e?.prompt_tokens_details,a=e?.completion_tokens_details,i=o?.audio_tokens!=null||a?.audio_tokens!=null||a?.accepted_prediction_tokens!=null||a?.rejected_prediction_tokens!=null;return{inputTokens:{cacheRead:t,cacheWrite:n,noCache:k(r,t,n),total:r},outputTokens:{reasoning:s,text:e?.completion_tokens==null?void 0:Math.max(0,e.completion_tokens-(s??0)),total:e?.completion_tokens},...i&&e?{raw:T(e)}:{}}}function G2(e){if(!e)return;switch(e.type){case"auto":return"auto";case"none":return"none";case"required":return"required";case"tool":return{function:{name:e.toolName},type:"function"};default:return}}function Oc(e,t,n){let{signal:s,...r}=e??{},o=Ys(n);if(o){let a=Object.fromEntries(Object.entries(r.headers??{}).map(([i,c])=>[i.toLowerCase(),c]));r.headers={...a,...o}}if(t)return{...r,signal:t};return Object.keys(r).length>0?r:void 0}function eu(e){if(Array.isArray(e))return e;let t=Buffer.from(e,"base64"),n=new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT);return Array.from(n)}var _=(e,t)=>typeof t==="bigint"?t.toString():t;function Uh(e){try{return JSON.parse(JSON.stringify(e,_))}catch{return[]}}function T(e){try{return JSON.parse(JSON.stringify(e,_))}catch{return{}}}
2
+ export{Nh,j2,$2,Jl,q2,Xl,Zl,ed,z2,Vr,On,td,Lh,G2,Oc,eu,Uh};