sliccy 6.43.0 → 6.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node-server/electron-controller.d.ts +34 -2
- package/dist/node-server/electron-controller.js +21 -4
- package/dist/node-server/index.js +8 -0
- package/dist/ui/assets/{account-store-BzC0x752.js → account-store-BfqIrMMe.js} +30 -30
- package/dist/ui/assets/account-store-BkG4BDQC.js +42 -0
- package/dist/ui/assets/{adobe-KfCyFC0w.js → adobe-AHM3MRvp.js} +1 -1
- package/dist/ui/assets/{adobe-CoeG8AXw.js → adobe-C6T_0i0A.js} +1 -1
- package/dist/ui/assets/{anthropic-messages-CwKCE8PD.js → anthropic-messages-CTRXVqwn.js} +2 -2
- package/dist/ui/assets/{anthropic-messages-DPd961JX.js → anthropic-messages-EYoOyCX6.js} +2 -2
- package/dist/ui/assets/{apply-layout-Bt4lk2Me.js → apply-layout-DPvksNi2.js} +1 -1
- package/dist/ui/assets/{apps-4osfSnfB.js → apps-3MvdDBMc.js} +1 -1
- package/dist/ui/assets/{azure-openai-B8P4TPnO.js → azure-openai-ChaObvN0.js} +1 -1
- package/dist/ui/assets/{azure-openai-Bmb5Ncn6.js → azure-openai-DauBJZ6w.js} +1 -1
- package/dist/ui/assets/azure-openai-responses-DhklLm0Z.js +1 -0
- package/dist/ui/assets/azure-openai-responses-eJTO6o5G.js +1 -0
- package/dist/ui/assets/bedrock-camp-BfNg24Ce.js +1 -0
- package/dist/ui/assets/bedrock-camp-DMGplF70.js +1 -0
- package/dist/ui/assets/{cerebras-DXkRDNk9.js → cerebras-B1M_Nhi8.js} +1 -1
- package/dist/ui/assets/{cerebras-DTX8p8iF.js → cerebras-M2wuTTRu.js} +1 -1
- package/dist/ui/assets/compat-C0CyHyoL.js +2 -0
- package/dist/ui/assets/{composer-speech-CNhvMpkj.js → composer-speech-DjrdK6qX.js} +1 -1
- package/dist/ui/assets/{connect-surface-EVVLAHmG.js → connect-surface-C1kBb_wz.js} +1 -1
- package/dist/ui/assets/{context-compaction-DDaM9TWa.js → context-compaction-MXRS4Kb2.js} +1 -1
- package/dist/ui/assets/{ensure-speech-assets-Djt8o5f7.js → ensure-speech-assets-DO-sSGi6.js} +1 -1
- package/dist/ui/assets/{error-body-CqsCxuQ4.js → error-body-pkrba6pf.js} +1 -1
- package/dist/ui/assets/fs-CEdcSaaF.js +2 -0
- package/dist/ui/assets/fs-CwhZvLDc.js +1 -0
- package/dist/ui/assets/{github-copilot-BYeR_g6J.js → github-copilot-DzYB2zAw.js} +1 -1
- package/dist/ui/assets/{github-copilot-CVI88qdz.js → github-copilot-q5qtLl1S.js} +1 -1
- package/dist/ui/assets/{github-TCKAE5Uh.js → github-h8ItWdXm.js} +1 -1
- package/dist/ui/assets/{github-install-BuPC3YZw.js → github-install-DIeJprV5.js} +1 -1
- package/dist/ui/assets/github-xXbjvj_q.js +2 -0
- package/dist/ui/assets/{github-zip-Dlg-Q2ue.js → github-zip-DSYHJoT0.js} +1 -1
- package/dist/ui/assets/google-generative-ai-DEcgNsJh.js +1 -0
- package/dist/ui/assets/google-generative-ai-u7R_TH9o.js +1 -0
- package/dist/ui/assets/google-shared-BPNUreTT.js +371 -0
- package/dist/ui/assets/google-shared-CjO3-4_Q.js +11 -0
- package/dist/ui/assets/google-vertex-CTrzlewG.js +1 -0
- package/dist/ui/assets/google-vertex-bmq-ZPFH.js +1 -0
- package/dist/ui/assets/{hear-krvcqhL7.js → hear-CorI8zW2.js} +1 -1
- package/dist/ui/assets/{hear-C4KEOBVf.js → hear-DyYjYZXw.js} +1 -1
- package/dist/ui/assets/{kernel-worker-DEHxwjq6.js → kernel-worker-BksrbsiK.js} +117 -117
- package/dist/ui/assets/{kokoro-engine-CiPWAMSR.js → kokoro-engine-u_9YkV7P.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-DAkrHYf9.js → legacy-api-aliases-C0CAIWhd.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-BVP0Ho8x.js → legacy-api-aliases-qI5FdR49.js} +1 -1
- package/dist/ui/assets/{local-llm-D8ts0-Qm.js → local-llm-B1inFenw.js} +1 -1
- package/dist/ui/assets/{local-llm-CB_9Ui8j.js → local-llm-Bi8giqeq.js} +1 -1
- package/dist/ui/assets/{main-CYhcxAYn.js → main-BgdEVXnN.js} +3 -3
- package/dist/ui/assets/{mistral-conversations-Cyp2kssI.js → mistral-conversations-CunWHeDt.js} +2 -2
- package/dist/ui/assets/{mistral-conversations-gFwkX5N9.js → mistral-conversations-DWRsBsfa.js} +1 -1
- package/dist/ui/assets/models-BSkXF4T6.js +1 -0
- package/dist/ui/assets/{mount-Wax857ht.js → mount-BhXjPSMe.js} +1 -1
- package/dist/ui/assets/{mount-Dh40D48l.js → mount-DsBbQvRx.js} +2 -2
- package/dist/ui/assets/{mount-recovery-D3-N1o_E.js → mount-recovery-DapDhhBv.js} +1 -1
- package/dist/ui/assets/{new-session-PVPeVFQc.js → new-session-D0GziV3t.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-onRgf3Is.js → oauth-bootstrap-exJhjKek.js} +2 -2
- package/dist/ui/assets/{openai-codex-DgZ9eDkQ.js → openai-codex-B5d5fatr.js} +1 -1
- package/dist/ui/assets/{openai-codex-DF2vOI8z.js → openai-codex-_wi2GlfO.js} +1 -1
- package/dist/ui/assets/openai-codex-responses-8wXA5Dto.js +7 -0
- package/dist/ui/assets/openai-codex-responses-BYAXyTDg.js +7 -0
- package/dist/ui/assets/openai-completions-CfjF1o-N.js +5 -0
- package/dist/ui/assets/openai-completions-DAIm60Lb.js +5 -0
- package/dist/ui/assets/openai-responses-01Q5Zv3q.js +1 -0
- package/dist/ui/assets/openai-responses-B7rl8DAX.js +1 -0
- package/dist/ui/assets/{openai-responses-shared-uSSusU2w.js → openai-responses-shared-B_T0yMQn.js} +3 -3
- package/dist/ui/assets/{openai-responses-shared-DajOm-sC.js → openai-responses-shared-BrIGUa2e.js} +3 -3
- package/dist/ui/assets/{openrouter-KaXerwGG.js → openrouter-DF11pL27.js} +1 -1
- package/dist/ui/assets/{openrouter-BbF3Yuh_.js → openrouter-PxN34b-T.js} +1 -1
- package/dist/ui/assets/{openrouter-images-7cFnqg4_.js → openrouter-images-CeBDTy7a.js} +1 -1
- package/dist/ui/assets/{openrouter-images-eEy7Fej8.js → openrouter-images-JzygwjVz.js} +1 -1
- package/dist/ui/assets/{openrouter-models-gCCUSdgw.js → openrouter-models-BVfLgK5R.js} +1 -1
- package/dist/ui/assets/{openrouter-models-DmontTTG.js → openrouter-models-Ds9BfRxR.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CyGkjg56.js → openrouter-oauth-6UZDhQTB.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-Dx8hVsUq.js → openrouter-oauth-DQLx11_A.js} +1 -1
- package/dist/ui/assets/openrouter.models-CrhNqqEN.js +1 -0
- package/dist/ui/assets/openrouter.models-DkPWoMvu.js +1 -0
- package/dist/ui/assets/{panel-rpc-handlers-B7p25iL1.js → panel-rpc-handlers-CDZ2M3GK.js} +2 -2
- package/dist/ui/assets/{provider-C3zSzTlr.js → provider-Bw_Z5wgp.js} +1 -1
- package/dist/ui/assets/{provider-CdACKvd3.js → provider-Cg9DqCH6.js} +2 -2
- package/dist/ui/assets/{provider-settings-B8PQoEsb.js → provider-settings-0ASsdEo7.js} +1 -1
- package/dist/ui/assets/{provider-settings-DBbKsRoG.js → provider-settings-CqsZtmc2.js} +1 -1
- package/dist/ui/assets/provider-store-access-BJPtEdx_.js +2 -0
- package/dist/ui/assets/provider-store-access-Zeas5UVO.js +1 -0
- package/dist/ui/assets/{providers-CQOF0OxI.js → providers-D2SzyuS_.js} +2 -2
- package/dist/ui/assets/{providers-DW9h25Xk.js → providers-DTkQsdaJ.js} +1 -1
- package/dist/ui/assets/{quick-llm-YdXmDgWO.js → quick-llm-B1IKnoro.js} +1 -1
- package/dist/ui/assets/{recovery-screen-BBq0CbOW.js → recovery-screen-vCthBaZL.js} +1 -1
- package/dist/ui/assets/{redirect-uri-BtFxK4OI.js → redirect-uri-pK4MGnYj.js} +1 -1
- package/dist/ui/assets/{session-freezer-D2xY_37i.js → session-freezer-CWeTl5Ug.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-Dq70lhlj.js → setup-feature-flags-remote-DCnULnlG.js} +1 -1
- package/dist/ui/assets/{setup-standalone-prelude-TJXZI1xV.js → setup-standalone-prelude-CFakSgWH.js} +1 -1
- package/dist/ui/assets/{setup-sudo-DqKSTbxO.js → setup-sudo-DLsSOUDP.js} +2 -2
- package/dist/ui/assets/sidecar-merge-ChbmI6Wr.js +1 -0
- package/dist/ui/assets/sidecar-merge-DP5Rveo5.js +1 -0
- package/dist/ui/assets/sidecar-repair-CfVdKYNb.js +1 -0
- package/dist/ui/assets/sidecar-repair-cn5xY6Gb.js +1 -0
- package/dist/ui/assets/{skills-BXWN2lD6.js → skills-BAv4QH3_.js} +1 -1
- package/dist/ui/assets/{speak-DLj1bEBh.js → speak-3ERYo9mh.js} +1 -1
- package/dist/ui/assets/{speak-BqGkX52J.js → speak-BJfvdDl7.js} +1 -1
- package/dist/ui/assets/{store-C-oC5Dsv.js → store-DmIA09wr.js} +1 -1
- package/dist/ui/assets/{store-DsiNO53b.js → store-VHFEG-KZ.js} +1 -1
- package/dist/ui/assets/{sudo-BIuk1k1q.js → sudo-DMWEEnXF.js} +1 -1
- package/dist/ui/assets/transform-messages-DEFauvrq.js +1 -0
- package/dist/ui/assets/transform-messages-XkZ1QnTb.js +1 -0
- package/dist/ui/assets/{transformers-env-CflaNVb-.js → transformers-env-B2igCBi6.js} +1 -1
- package/dist/ui/assets/{transformers-env-XCYT1oxA.js → transformers-env-DU9KkwRf.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-DrziRNRB.js → upgrade-detection-kOnlsa6m.js} +1 -1
- package/dist/ui/assets/{voice-reply-AGGoZ9Ey.js → voice-reply-DuabCBM2.js} +1 -1
- package/dist/ui/assets/{wc-extension-VX3ZakVl.js → wc-extension-Csg9tKxf.js} +2 -2
- package/dist/ui/assets/{wc-follower-DzPdgiZN.js → wc-follower-C5ErFyaa.js} +3 -3
- package/dist/ui/assets/{wc-live-B5H5aWbX.js → wc-live-DiqRwfJl.js} +3 -3
- package/dist/ui/assets/{wc-nav-DYKStk4A.js → wc-nav-_JOvFwfI.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-fMXbJHE6.js → wc-onboarding-BSs6x2FR.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-zyLzZm58.js → wc-placeholder-UxILszwu.js} +2 -2
- package/dist/ui/assets/{wc-settings-BXhukZUh.js → wc-settings-CzWoxwvc.js} +2 -2
- package/dist/ui/assets/{wc-shell-C5zb79_R.js → wc-shell-FLfdSQyK.js} +7 -7
- package/dist/ui/assets/{wc-sprinkles-DBXkVV3r.js → wc-sprinkles-CCAwa0Z7.js} +2 -2
- package/dist/ui/assets/{wc-tray-DyqmeJQK.js → wc-tray-DV5jBUwL.js} +2 -2
- package/dist/ui/assets/{whisper-engine-i7jnYUoj.js → whisper-engine-DKSa8auO.js} +1 -1
- package/dist/ui/assets/{whisper-session-hMgosjVG.js → whisper-session-CnbZ_WW2.js} +2 -2
- package/dist/ui/assets/{xai-grok-DxaYAHiB.js → xai-grok-BANdowXb.js} +1 -1
- package/dist/ui/assets/{xai-grok-CGVh0Pwi.js → xai-grok-DgvHKcEu.js} +1 -1
- package/dist/ui/index.html +12 -12
- package/dist/ui/packages/webapp/index.html +12 -12
- package/package.json +2 -2
- package/dist/ui/assets/account-store-C1tZH-mA.js +0 -42
- package/dist/ui/assets/azure-openai-responses-CtOKUN00.js +0 -1
- package/dist/ui/assets/azure-openai-responses-oRGXQA3K.js +0 -1
- package/dist/ui/assets/bedrock-camp-BDCjQMZx.js +0 -1
- package/dist/ui/assets/bedrock-camp-CFmElpzZ.js +0 -1
- package/dist/ui/assets/compat-Bn8HnC3L.js +0 -2
- package/dist/ui/assets/fs-DJwfGyA1.js +0 -2
- package/dist/ui/assets/fs-DOqDOgs2.js +0 -1
- package/dist/ui/assets/github-t4MIUh5J.js +0 -2
- package/dist/ui/assets/google-generative-ai-BL_SqY5W.js +0 -1
- package/dist/ui/assets/google-generative-ai-DDF2tpZq.js +0 -1
- package/dist/ui/assets/google-shared-DPuPo5mO.js +0 -11
- package/dist/ui/assets/google-shared-biiFuSpC.js +0 -371
- package/dist/ui/assets/google-vertex-CobhNXpX.js +0 -1
- package/dist/ui/assets/google-vertex-VXUUgM7o.js +0 -1
- package/dist/ui/assets/models-DgdVqaw5.js +0 -1
- package/dist/ui/assets/openai-codex-responses-BJOy6BEd.js +0 -7
- package/dist/ui/assets/openai-codex-responses-BfT5s3yO.js +0 -7
- package/dist/ui/assets/openai-completions-CmslRX3-.js +0 -5
- package/dist/ui/assets/openai-completions-DDas47cy.js +0 -5
- package/dist/ui/assets/openai-responses-CHXkcom_.js +0 -1
- package/dist/ui/assets/openai-responses-DWlnQ-B0.js +0 -1
- package/dist/ui/assets/openrouter.models-Byp0hyfF.js +0 -1
- package/dist/ui/assets/openrouter.models-C8HitxAG.js +0 -1
- package/dist/ui/assets/provider-store-access-ChzjVdqD.js +0 -1
- package/dist/ui/assets/provider-store-access-Dcy68Vs8.js +0 -2
- package/dist/ui/assets/sidecar-repair-B31h6Aw0.js +0 -1
- package/dist/ui/assets/sidecar-repair-DVW7uarV.js +0 -1
- package/dist/ui/assets/transform-messages-D27pVLZ-.js +0 -1
- package/dist/ui/assets/transform-messages-DgR3h-Ck.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./diagnostics-DN_idNHx.js";import{
|
|
1
|
+
import{i as e}from"./diagnostics-DN_idNHx.js";import{a as t,i as n,r,s as i,t as a}from"./transform-messages-DEFauvrq.js";import{n as o,t as s}from"./json-parse-ClXMvBdK.js";import{t as c}from"./provider-env-CILujRmO.js";import{t as l}from"./deferred-tools-DNuoafg8.js";import{t as u}from"./headers-CbDaTl3c.js";import{t as d}from"./provider-retry-C8PJzY_l.js";import{t as f}from"./sanitize-unicode-DmIE6hZJ.js";import{a as p}from"./constrained-sampling-DafcjXU6.js";import{n as ee,t as m}from"./github-copilot-headers-DRgtIyTm.js";function h(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function g(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}let te=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return te=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))};function ne(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}const re=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};var _=class extends Error{},v=class e extends _{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new ie({message:r,cause:re(n)});let a=n,o=a?.error?.type;return t===400?new oe(t,a,r,i,o):t===401?new se(t,a,r,i,o):t===403?new ce(t,a,r,i,o):t===404?new le(t,a,r,i,o):t===409?new ue(t,a,r,i,o):t===422?new de(t,a,r,i,o):t===429?new fe(t,a,r,i,o):t>=500?new pe(t,a,r,i,o):new e(t,a,r,i,o)}},y=class extends v{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},ie=class extends v{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},ae=class extends ie{constructor({message:e}={}){super({message:e??`Request timed out.`})}},oe=class extends v{},se=class extends v{},ce=class extends v{},le=class extends v{},ue=class extends v{},de=class extends v{},fe=class extends v{},pe=class extends v{};const me=/^[a-z][a-z0-9+.-]*:/i,he=e=>me.test(e);let ge=e=>(ge=Array.isArray,ge(e)),_e=ge;function ve(e){return typeof e==`object`?e??{}:{}}function ye(e){if(!e)return!0;for(let t in e)return!1;return!0}function be(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const xe=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new _(`${e} must be an integer`);if(t<0)throw new _(`${e} must be a positive integer`);return t},Se=e=>{try{return JSON.parse(e)}catch{return}},Ce=e=>new Promise(t=>setTimeout(t,e)),b=`0.91.1`,we=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function Te(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}const Ee=()=>{let e=Te();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":ke(Deno.build.os),"X-Stainless-Arch":Oe(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":ke(globalThis.process.platform??`unknown`),"X-Stainless-Arch":Oe(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=De();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":b,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function De(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}const Oe=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,ke=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`);let Ae;const je=()=>Ae??=Ee();function Me(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Ne(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function Pe(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return Ne({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function Fe(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function Ie(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}const Le=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)});function Re(e){return Object.entries(e).filter(([e,t])=>t!==void 0).map(([e,t])=>{if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(e)}=`;throw new _(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(`&`)}function ze(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}let Be;function Ve(e){let t;return(Be??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}let He;function Ue(e){let t;return(He??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var x,S,We=class{constructor(){x.set(this,void 0),S.set(this,void 0),h(this,x,new Uint8Array,`f`),h(this,S,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?Ve(e):e;h(this,x,ze([g(this,x,`f`),t]),`f`);let n=[],r;for(;(r=Ge(g(this,x,`f`),g(this,S,`f`)))!=null;){if(r.carriage&&g(this,S,`f`)==null){h(this,S,r.index,`f`);continue}if(g(this,S,`f`)!=null&&(r.index!==g(this,S,`f`)+1||r.carriage)){n.push(Ue(g(this,x,`f`).subarray(0,g(this,S,`f`)-1))),h(this,x,g(this,x,`f`).subarray(g(this,S,`f`)),`f`),h(this,S,null,`f`);continue}let e=g(this,S,`f`)===null?r.preceding:r.preceding-1,t=Ue(g(this,x,`f`).subarray(0,e));n.push(t),h(this,x,g(this,x,`f`).subarray(r.index),`f`),h(this,S,null,`f`)}return n}flush(){return g(this,x,`f`).length?this.decode(`
|
|
2
2
|
`):[]}};x=new WeakMap,S=new WeakMap,We.NEWLINE_CHARS=new Set([`
|
|
3
3
|
`,`\r`]),We.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ge(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Ke(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}const qe={off:0,error:200,warn:300,info:400,debug:500},Je=(e,t,n)=>{if(e){if(be(qe,e))return e;w(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(qe))}`)}};function C(){}function Ye(e,t,n){return!t||qe[e]>qe[n]?C:t[e].bind(t)}const Xe={error:C,warn:C,info:C,debug:C};let Ze=new WeakMap;function w(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Xe;let r=Ze.get(t);if(r&&r[0]===n)return r[1];let i={error:Ye(`error`,t,n),warn:Ye(`warn`,t,n),info:Ye(`info`,t,n),debug:Ye(`debug`,t,n)};return Ze.set(t,[n,i]),i}const T=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`x-api-key`||e.toLowerCase()===`authorization`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);var Qe,$e=class e{constructor(e,t,n){this.iterator=e,Qe.set(this,void 0),this.controller=t,h(this,Qe,n,`f`)}static fromSSEResponse(t,n,r){let i=!1,a=r?w(r):console;async function*o(){if(i)throw new _("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let e of et(t,n)){if(e.event===`completion`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event===`message_start`||e.event===`message_delta`||e.event===`message_stop`||e.event===`content_block_start`||e.event===`content_block_delta`||e.event===`content_block_stop`||e.event===`message`||e.event===`user.message`||e.event===`user.interrupt`||e.event===`user.tool_confirmation`||e.event===`user.custom_tool_result`||e.event===`agent.message`||e.event===`agent.thinking`||e.event===`agent.tool_use`||e.event===`agent.tool_result`||e.event===`agent.mcp_tool_use`||e.event===`agent.mcp_tool_result`||e.event===`agent.custom_tool_use`||e.event===`agent.thread_context_compacted`||e.event===`session.status_running`||e.event===`session.status_idle`||e.event===`session.status_rescheduled`||e.event===`session.status_terminated`||e.event===`session.error`||e.event===`session.deleted`||e.event===`span.model_request_start`||e.event===`span.model_request_end`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event!==`ping`&&e.event===`error`){let n=Se(e.data)??e.data,r=n?.error?.type;throw new v(void 0,n,void 0,t.headers,r)}}e=!0}catch(e){if(ne(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new We,n=Fe(t);for await(let t of n)for(let n of e.decode(t))yield n;for(let t of e.flush())yield t}async function*o(){if(i)throw new _("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(ne(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Qe=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,g(this,Qe,`f`)),new e(()=>i(n),this.controller,g(this,Qe,`f`))]}toReadableStream(){let e=this,t;return Ne({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=Ve(JSON.stringify(n)+`
|
|
4
4
|
`);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}};async function*et(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new _(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new _(`Attempted to iterate over a response with no body`);let n=new nt,r=new We,i=Fe(e.body);for await(let e of tt(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*tt(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Ve(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=Ke(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}var nt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
|
|
@@ -36,4 +36,4 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
|
36
36
|
`));let t=e.map(e=>e.type===`text`?{type:`text`,text:f(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}});return t.some(e=>e.type===`text`)||t.unshift({type:`text`,text:`(see attached image)`}),t}function jr(e){return{supportsEagerToolInputStreaming:e.compat?.supportsEagerToolInputStreaming??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,sendSessionAffinityHeaders:e.compat?.sendSessionAffinityHeaders??!1,supportsCacheControlOnTools:e.compat?.supportsCacheControlOnTools??!0,supportsTemperature:e.compat?.supportsTemperature??!0,allowEmptySignature:e.compat?.allowEmptySignature??!1,supportsStrictTools:e.compat?.supportsStrictTools??!1,supportsToolReferences:e.compat?.supportsToolReferences??Mr(e)}}function Mr(e){if(e.provider!==`anthropic`||e.id.includes(`haiku`))return!1;let t=e.id.match(/^claude-(?:opus|sonnet|fable)-(\d+)(?:-(\d+))?(?:-|$)/);if(!t)return!1;let n=Number(t[1]),r=t[2]&&t[2].length<8?Number(t[2]):0;return n>4||n===4&&r>=5}function Nr(...e){let t={};for(let n of e)n&&Object.assign(t,n);return t}function Pr(e,t){if(!e)return!1;let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n&&r!==null&&r.trim().length>0)return!0;return!1}function Fr(e,t,n){if(!t&&!(Pr(n,`authorization`)||Pr(n,`x-api-key`)||Pr(n,`cf-aig-authorization`)))throw Error(`No API key for provider: ${e}`)}const Ir=new Set([`message_start`,`message_delta`,`message_stop`,`content_block_start`,`content_block_delta`,`content_block_stop`]);function Lr(e){if(!e.event&&e.data.length===0)return null;let t={event:e.event,data:e.data.join(`
|
|
37
37
|
`),raw:[...e.raw]};return e.event=null,e.data=[],e.raw=[],t}function Rr(e,t){if(e===``)return Lr(t);if(t.raw.push(e),e.startsWith(`:`))return null;let n=e.indexOf(`:`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n+1);return i.startsWith(` `)&&(i=i.slice(1)),r===`event`?t.event=i:r===`data`&&t.data.push(i),null}function zr(e){let t=e.indexOf(`\r`),n=e.indexOf(`
|
|
38
38
|
`);return t===-1?n:n===-1?t:Math.min(t,n)}function Br(e){let t=zr(e);if(t===-1)return null;let n=t+1;return e[t]===`\r`&&e[n]===`
|
|
39
|
-
`&&(n+=1),{line:e.slice(0,t),rest:e.slice(n)}}async function*Vr(e,t){let n=e.getReader(),r=new TextDecoder,i={event:null,data:[],raw:[]},a=``;try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{value:e,done:o}=await n.read();if(o)break;a+=r.decode(e,{stream:!0});let s=Br(a);for(;s;){a=s.rest;let e=Rr(s.line,i);e&&(yield e),s=Br(a)}}a+=r.decode();let e=Br(a);for(;e;){a=e.rest;let t=Rr(e.line,i);t&&(yield t),e=Br(a)}if(a.length>0){let e=Rr(a,i);e&&(yield e)}let o=Lr(i);o&&(yield o)}finally{n.releaseLock()}}async function*Hr(e,t){if(!e.body)throw Error(`Attempted to iterate over an Anthropic response with no body`);let n=!1,r=!1;for await(let i of Vr(e.body,t)){if(i.event===`error`)throw Error(i.data);if(Ir.has(i.event??``))try{let e=s(i.data);e.type===`message_start`?n=!0:e.type===`message_stop`&&(r=!0),yield e}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Could not parse Anthropic SSE event ${i.event}: ${t}; data=${i.data}; raw=${i.raw.join(`\\n`)}`)}}if(n&&!r)throw Error(`Anthropic stream ended before message_stop`)}const Ur=(t,n,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let s,c;if(i?.client)s=i.client,c=!1;else{let e=i?.apiKey;Fr(t.provider,e,i?.headers);let r;if(t.provider===`github-copilot`){let e=ee(n.messages);r=m({messages:n.messages,hasImages:e})}let a=Tr(i?.cacheRetention,i?.env)===`none`?void 0:i?.sessionId,o=qr(t,e,i?.interleavedThinking??!0,Qr(t,n),i?.headers,i?.fetch,r,a);s=o.client,c=o.isOAuthToken}let l=Jr(t,n,c,i),f=await i?.onPayload?.(l,t);f!==void 0&&(l=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:0},h=await d(()=>s.messages.create({...l,stream:!0},p).asResponse(),{maxRetries:i?.maxRetries,maxRetryDelayMs:i?.maxRetryDelayMs,signal:i?.signal});await i?.onResponse?.({status:h.status,headers:u(h.headers)},t),a.push({type:`start`,partial:e});let g=e.content;for await(let s of Hr(h,i?.signal))if(s.type===`message_start`)e.responseId=s.message.id,e.usage.input=s.message.usage.input_tokens||0,e.usage.output=s.message.usage.output_tokens||0,e.usage.cacheRead=s.message.usage.cache_read_input_tokens||0,e.usage.cacheWrite=s.message.usage.cache_creation_input_tokens||0,e.usage.cacheWrite1h=s.message.usage.cache_creation?.ephemeral_1h_input_tokens||0,e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,r(t,e.usage);else if(s.type===`content_block_start`){if(s.content_block.type===`text`){let t={type:`text`,text:``,index:s.index};e.content.push(t),a.push({type:`text_start`,contentIndex:e.content.length-1,partial:e})}else if(s.content_block.type===`thinking`){let t={type:`thinking`,thinking:``,thinkingSignature:``,index:s.index};e.content.push(t),a.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e})}else if(s.content_block.type===`redacted_thinking`){let t={type:`thinking`,thinking:`[Reasoning redacted]`,thinkingSignature:s.content_block.data,redacted:!0,index:s.index};e.content.push(t),a.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e})}else if(s.content_block.type===`tool_use`){let t={type:`toolCall`,id:s.content_block.id,name:c?kr(s.content_block.name,n.tools):s.content_block.name,arguments:s.content_block.input??{},partialJson:``,index:s.index};e.content.push(t),a.push({type:`toolcall_start`,contentIndex:e.content.length-1,partial:e})}}else if(s.type===`content_block_delta`){if(s.delta.type===`text_delta`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&n.type===`text`&&(n.text+=s.delta.text,a.push({type:`text_delta`,contentIndex:t,delta:s.delta.text,partial:e}))}else if(s.delta.type===`thinking_delta`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&n.type===`thinking`&&(n.thinking+=s.delta.thinking,a.push({type:`thinking_delta`,contentIndex:t,delta:s.delta.thinking,partial:e}))}else if(s.delta.type===`input_json_delta`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&n.type===`toolCall`&&(n.partialJson+=s.delta.partial_json,n.arguments=o(n.partialJson),a.push({type:`toolcall_delta`,contentIndex:t,delta:s.delta.partial_json,partial:e}))}else if(s.delta.type===`signature_delta`){let e=g[g.findIndex(e=>e.index===s.index)];e&&e.type===`thinking`&&(e.thinkingSignature=e.thinkingSignature||``,e.thinkingSignature+=s.delta.signature)}}else if(s.type===`content_block_stop`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&(delete n.index,n.type===`text`?a.push({type:`text_end`,contentIndex:t,content:n.text,partial:e}):n.type===`thinking`?a.push({type:`thinking_end`,contentIndex:t,content:n.thinking,partial:e}):n.type===`toolCall`&&(n.arguments=o(n.partialJson),delete n.partialJson,a.push({type:`toolcall_end`,contentIndex:t,toolCall:n,partial:e})))}else if(s.type===`message_delta`){if(s.delta.stop_reason){e.rawStopReason=s.delta.stop_reason;let t=ei(s.delta.stop_reason,s.delta.stop_details);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage)}if(s.usage){s.usage.input_tokens!=null&&(e.usage.input=s.usage.input_tokens),s.usage.output_tokens!=null&&(e.usage.output=s.usage.output_tokens),s.usage.cache_read_input_tokens!=null&&(e.usage.cacheRead=s.usage.cache_read_input_tokens),s.usage.cache_creation_input_tokens!=null&&(e.usage.cacheWrite=s.usage.cache_creation_input_tokens);let t=s.usage.output_tokens_details?.thinking_tokens;t!=null&&(e.usage.reasoning=t)}e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,r(t,e.usage)}if(i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Anthropic stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a};function Wr(e,t){let n=t?e.thinkingLevelMap?.[t]:void 0;if(typeof n==`string`)return n;switch(t){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`high`:return`high`;default:return`high`}}const Gr=(e,r,a)=>{Fr(e.provider,a?.apiKey,a?.headers);let o=i(e,r,a,a?.apiKey);if(!a?.reasoning)return Ur(e,r,{...o,thinkingEnabled:!1});if(e.compat?.forceAdaptiveThinking===!0){let t=Wr(e,a.reasoning);return Ur(e,r,{...o,thinkingEnabled:!0,effort:t})}let s=n(o.maxTokens,e.maxTokens,a.reasoning,a.thinkingBudgets),c=t(e,r,s.maxTokens);return Ur(e,r,{...o,maxTokens:c,thinkingEnabled:!0,thinkingBudgetTokens:Math.min(s.thinkingBudget,Math.max(0,c-1024))})};function Kr(e){return e.includes(`sk-ant-oat`)}function qr(e,t,n,r,i,a,o,s){let c=n&&e.compat?.forceAdaptiveThinking!==!0,l=[];if(r&&l.push(`fine-grained-tool-streaming-2025-05-14`),c&&l.push(`interleaved-thinking-2025-05-14`),e.provider===`github-copilot`)return{client:new $({apiKey:null,authToken:t??null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},e.headers,o,i)}),isOAuthToken:!1};if(t&&Kr(t))return{client:new $({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"anthropic-beta":[`claude-code-20250219`,`oauth-2025-04-20`,...l].join(`,`),"user-agent":`claude-cli/2.1.75`,"x-app":`cli`},e.headers,i)}),isOAuthToken:!0};let u=s&&jr(e).sendSessionAffinityHeaders?{"x-session-affinity":s}:{},d=Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},u,e.headers,i);return{client:new $({apiKey:t??null,authToken:null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:d}),isOAuthToken:!1}}function Jr(e,t,n,r){let{cacheControl:i}=Er(e,r?.cacheRetention,r?.env),o=jr(e),s=a(t.messages,e,Yr),c=n?Or:e=>e,u=l({...t,messages:s},o.supportsToolReferences,c),d=u.immediate,p=[...u.deferred.values()];d.length===0&&p.length>0&&(d=p,p=[]);let ee=new Set(p.map(e=>c(e.name))),m={model:e.id,messages:Zr(s,n,i,o.allowEmptySignature,ee,c),max_tokens:r?.maxTokens??e.maxTokens,stream:!0};if(n?(m.system=[{type:`text`,text:`You are Claude Code, Anthropic's official CLI for Claude.`,...i?{cache_control:i}:{}}],t.systemPrompt&&m.system.push({type:`text`,text:f(t.systemPrompt),...i?{cache_control:i}:{}})):t.systemPrompt&&(m.system=[{type:`text`,text:f(t.systemPrompt),...i?{cache_control:i}:{}}]),r?.temperature!==void 0&&!r?.thinkingEnabled&&o.supportsTemperature&&(m.temperature=r.temperature),(d.length>0||p.length>0)&&(m.tools=[...$r(d,n,o.supportsEagerToolInputStreaming,o.supportsStrictTools,o.supportsCacheControlOnTools?i:void 0),...$r(p,n,o.supportsEagerToolInputStreaming,o.supportsStrictTools,void 0,!0)]),e.reasoning)if(r?.thinkingEnabled){let t=r.thinkingDisplay??`summarized`;e.compat?.forceAdaptiveThinking===!0?(m.thinking={type:`adaptive`,display:t},r.effort&&(m.output_config=(r.effort,{effort:r.effort}))):m.thinking={type:`enabled`,budget_tokens:r.thinkingBudgetTokens||1024,display:t}}else r?.thinkingEnabled===!1&&e.thinkingLevelMap?.off!==null&&(m.thinking={type:`disabled`});if(r?.metadata){let e=r.metadata.user_id;typeof e==`string`&&(m.metadata={user_id:e})}return r?.toolChoice&&(m.tool_choice=typeof r.toolChoice==`string`?{type:r.toolChoice}:r.toolChoice),m}function Yr(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function Xr(e,t,n,r,i){let a=[];for(let o of e.addedToolNames??[]){let e=i(o);!n.has(e)||r.has(e)||(r.add(e),a.push({type:`tool_reference`,tool_name:t?Or(o):o}))}let o=Ar(e.content);return{toolResult:{type:`tool_result`,tool_use_id:e.toolCallId,content:a.length>0?a:o,is_error:e.isError},siblingContent:a.length===0?[]:typeof o==`string`?[{type:`text`,text:o}]:o}}function Zr(e,t,n,r=!1,i=new Set,a=e=>e){let o=[],s=new Set;for(let n=0;n<e.length;n++){let c=e[n];if(c.role===`user`)if(typeof c.content==`string`)c.content.trim().length>0&&o.push({role:`user`,content:f(c.content)});else{let e=c.content.map(e=>e.type===`text`?{type:`text`,text:f(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}}).filter(e=>e.type!==`text`||e.text.trim().length>0);if(e.length===0)continue;o.push({role:`user`,content:e})}else if(c.role===`assistant`){let e=[];for(let n of c.content)if(n.type===`text`){if(n.text.trim().length===0)continue;e.push({type:`text`,text:f(n.text)})}else if(n.type===`thinking`){if(n.redacted){e.push({type:`redacted_thinking`,data:n.thinkingSignature});continue}let t=n.thinkingSignature,i=!!t&&t.trim().length>0;if(n.thinking.trim().length===0&&!i)continue;i?e.push({type:`thinking`,thinking:f(n.thinking),signature:t}):e.push(r?{type:`thinking`,thinking:f(n.thinking),signature:``}:{type:`text`,text:f(n.thinking)})}else n.type===`toolCall`&&e.push({type:`tool_use`,id:n.id,name:t?Or(n.name):n.name,input:n.arguments??{}});if(e.length===0)continue;o.push({role:`assistant`,content:e})}else if(c.role===`toolResult`){let r=[],c=[],l=n;for(;l<e.length&&e[l].role===`toolResult`;){let n=Xr(e[l],t,i,s,a);r.push(n.toolResult),c.push(...n.siblingContent),l++}n=l-1,o.push({role:`user`,content:[...r,...c]})}}if(n&&o.length>0){let e=o[o.length-1];if(e.role===`user`)if(Array.isArray(e.content)){let t=e.content[e.content.length-1];t&&(t.type===`text`||t.type===`image`||t.type===`tool_result`)&&(t.cache_control=n)}else typeof e.content==`string`&&(e.content=[{type:`text`,text:e.content,cache_control:n}])}return o}function Qr(e,t){return!!t.tools?.length&&!jr(e).supportsEagerToolInputStreaming}function $r(e,t,n,r,i,a=!1){return e?e.map((o,s)=>{let c=p(o,r),l=o.parameters,u={type:`object`,properties:l.properties??{},required:l.required??[]},d=c===!0?{...o.parameters,...u}:u;return{name:t?Or(o.name):o.name,description:o.description,...n?{eager_input_streaming:!0}:{},...c===!0?{strict:!0}:{},input_schema:d,...a?{defer_loading:!0}:{},...i&&s===e.length-1?{cache_control:i}:{}}}):[]}function ei(e,t){switch(e){case`end_turn`:return{stopReason:`stop`};case`max_tokens`:return{stopReason:`length`};case`tool_use`:return{stopReason:`toolUse`};case`refusal`:return{stopReason:`error`,errorMessage:t?.explanation||`The model refused to complete the request`};case`pause_turn`:return{stopReason:`stop`};case`stop_sequence`:return{stopReason:`stop`};case`sensitive`:return{stopReason:`error`,errorMessage:`Provider stopped with: sensitive`};default:throw Error(`Unhandled stop reason: ${e}`)}}export{Ur as stream,Gr as streamSimple};
|
|
39
|
+
`&&(n+=1),{line:e.slice(0,t),rest:e.slice(n)}}async function*Vr(e,t){let n=e.getReader(),r=new TextDecoder,i={event:null,data:[],raw:[]},a=``;try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{value:e,done:o}=await n.read();if(o)break;a+=r.decode(e,{stream:!0});let s=Br(a);for(;s;){a=s.rest;let e=Rr(s.line,i);e&&(yield e),s=Br(a)}}a+=r.decode();let e=Br(a);for(;e;){a=e.rest;let t=Rr(e.line,i);t&&(yield t),e=Br(a)}if(a.length>0){let e=Rr(a,i);e&&(yield e)}let o=Lr(i);o&&(yield o)}finally{n.releaseLock()}}async function*Hr(e,t){if(!e.body)throw Error(`Attempted to iterate over an Anthropic response with no body`);let n=!1,r=!1;for await(let i of Vr(e.body,t)){if(i.event===`error`)throw Error(i.data);if(Ir.has(i.event??``))try{let e=s(i.data);e.type===`message_start`?n=!0:e.type===`message_stop`&&(r=!0),yield e}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Could not parse Anthropic SSE event ${i.event}: ${t}; data=${i.data}; raw=${i.raw.join(`\\n`)}`)}}if(n&&!r)throw Error(`Anthropic stream ended before message_stop`)}const Ur=(t,n,r)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let s,c;if(r?.client)s=r.client,c=!1;else{let e=r?.apiKey;Fr(t.provider,e,r?.headers);let i;if(t.provider===`github-copilot`){let e=ee(n.messages);i=m({messages:n.messages,hasImages:e})}let a=Tr(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,o=qr(t,e,r?.interleavedThinking??!0,Qr(t,n),r?.headers,r?.fetch,i,a);s=o.client,c=o.isOAuthToken}let l=Jr(t,n,c,r),f=await r?.onPayload?.(l,t);f!==void 0&&(l=f);let p={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},h=await d(()=>s.messages.create({...l,stream:!0},p).asResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});await r?.onResponse?.({status:h.status,headers:u(h.headers)},t),a.push({type:`start`,partial:e});let g=e.content;for await(let s of Hr(h,r?.signal))if(s.type===`message_start`)e.responseId=s.message.id,e.usage.input=s.message.usage.input_tokens||0,e.usage.output=s.message.usage.output_tokens||0,e.usage.cacheRead=s.message.usage.cache_read_input_tokens||0,e.usage.cacheWrite=s.message.usage.cache_creation_input_tokens||0,e.usage.cacheWrite1h=s.message.usage.cache_creation?.ephemeral_1h_input_tokens||0,e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,i(t,e.usage);else if(s.type===`content_block_start`){if(s.content_block.type===`text`){let t={type:`text`,text:s.content_block.text??``,index:s.index};e.content.push(t),a.push({type:`text_start`,contentIndex:e.content.length-1,partial:e})}else if(s.content_block.type===`thinking`){let t={type:`thinking`,thinking:s.content_block.thinking??``,thinkingSignature:s.content_block.signature??``,index:s.index};e.content.push(t),a.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e})}else if(s.content_block.type===`redacted_thinking`){let t={type:`thinking`,thinking:`[Reasoning redacted]`,thinkingSignature:s.content_block.data,redacted:!0,index:s.index};e.content.push(t),a.push({type:`thinking_start`,contentIndex:e.content.length-1,partial:e})}else if(s.content_block.type===`tool_use`){let t={type:`toolCall`,id:s.content_block.id,name:c?kr(s.content_block.name,n.tools):s.content_block.name,arguments:s.content_block.input??{},partialJson:``,index:s.index};e.content.push(t),a.push({type:`toolcall_start`,contentIndex:e.content.length-1,partial:e})}}else if(s.type===`content_block_delta`){if(s.delta.type===`text_delta`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&n.type===`text`&&(n.text+=s.delta.text,a.push({type:`text_delta`,contentIndex:t,delta:s.delta.text,partial:e}))}else if(s.delta.type===`thinking_delta`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&n.type===`thinking`&&(n.thinking+=s.delta.thinking,a.push({type:`thinking_delta`,contentIndex:t,delta:s.delta.thinking,partial:e}))}else if(s.delta.type===`input_json_delta`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&n.type===`toolCall`&&(n.partialJson+=s.delta.partial_json,n.arguments=o(n.partialJson),a.push({type:`toolcall_delta`,contentIndex:t,delta:s.delta.partial_json,partial:e}))}else if(s.delta.type===`signature_delta`){let e=g[g.findIndex(e=>e.index===s.index)];e&&e.type===`thinking`&&(e.thinkingSignature=e.thinkingSignature||``,e.thinkingSignature+=s.delta.signature)}}else if(s.type===`content_block_stop`){let t=g.findIndex(e=>e.index===s.index),n=g[t];n&&(delete n.index,n.type===`text`?a.push({type:`text_end`,contentIndex:t,content:n.text,partial:e}):n.type===`thinking`?a.push({type:`thinking_end`,contentIndex:t,content:n.thinking,partial:e}):n.type===`toolCall`&&(n.arguments=o(n.partialJson),delete n.partialJson,a.push({type:`toolcall_end`,contentIndex:t,toolCall:n,partial:e})))}else if(s.type===`message_delta`){if(s.delta.stop_reason){e.rawStopReason=s.delta.stop_reason;let t=ei(s.delta.stop_reason,s.delta.stop_details);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage)}if(s.usage){s.usage.input_tokens!=null&&(e.usage.input=s.usage.input_tokens),s.usage.output_tokens!=null&&(e.usage.output=s.usage.output_tokens),s.usage.cache_read_input_tokens!=null&&(e.usage.cacheRead=s.usage.cache_read_input_tokens),s.usage.cache_creation_input_tokens!=null&&(e.usage.cacheWrite=s.usage.cache_creation_input_tokens);let t=s.usage.output_tokens_details?.thinking_tokens;t!=null&&(e.usage.reasoning=t)}e.usage.totalTokens=e.usage.input+e.usage.output+e.usage.cacheRead+e.usage.cacheWrite,i(t,e.usage)}if(r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`Anthropic stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=t instanceof Error?t.message:JSON.stringify(t),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a};function Wr(e,t){let n=t?e.thinkingLevelMap?.[t]:void 0;if(typeof n==`string`)return n;switch(t){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`high`:return`high`;default:return`high`}}const Gr=(e,i,a)=>{Fr(e.provider,a?.apiKey,a?.headers);let o=n(e,i,a,a?.apiKey);if(!a?.reasoning)return Ur(e,i,{...o,thinkingEnabled:!1});if(e.compat?.forceAdaptiveThinking===!0){let t=Wr(e,a.reasoning);return Ur(e,i,{...o,thinkingEnabled:!0,effort:t})}let s=r(o.maxTokens,e.maxTokens,a.reasoning,a.thinkingBudgets),c=t(e,i,s.maxTokens);return Ur(e,i,{...o,maxTokens:c,thinkingEnabled:!0,thinkingBudgetTokens:Math.min(s.thinkingBudget,Math.max(0,c-1024))})};function Kr(e){return e.includes(`sk-ant-oat`)}function qr(e,t,n,r,i,a,o,s){let c=n&&e.compat?.forceAdaptiveThinking!==!0,l=[];if(r&&l.push(`fine-grained-tool-streaming-2025-05-14`),c&&l.push(`interleaved-thinking-2025-05-14`),e.provider===`github-copilot`)return{client:new $({apiKey:null,authToken:t??null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},e.headers,o,i)}),isOAuthToken:!1};if(t&&Kr(t))return{client:new $({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,"anthropic-beta":[`claude-code-20250219`,`oauth-2025-04-20`,...l].join(`,`),"user-agent":`claude-cli/2.1.75`,"x-app":`cli`},e.headers,i)}),isOAuthToken:!0};let u=s&&jr(e).sendSessionAffinityHeaders?{"x-session-affinity":s}:{},d=Nr({accept:`application/json`,"anthropic-dangerous-direct-browser-access":`true`,...l.length>0?{"anthropic-beta":l.join(`,`)}:{}},u,e.headers,i);return{client:new $({apiKey:t??null,authToken:null,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:d}),isOAuthToken:!1}}function Jr(e,t,n,r){let{cacheControl:i}=Er(e,r?.cacheRetention,r?.env),o=jr(e),s=a(t.messages,e,Yr),c=n?Or:e=>e,u=l({...t,messages:s},o.supportsToolReferences,c),d=u.immediate,p=[...u.deferred.values()];d.length===0&&p.length>0&&(d=p,p=[]);let ee=new Set(p.map(e=>c(e.name))),m={model:e.id,messages:Zr(s,n,i,o.allowEmptySignature,ee,c),max_tokens:r?.maxTokens??e.maxTokens,stream:!0};if(n?(m.system=[{type:`text`,text:`You are Claude Code, Anthropic's official CLI for Claude.`,...i?{cache_control:i}:{}}],t.systemPrompt&&m.system.push({type:`text`,text:f(t.systemPrompt),...i?{cache_control:i}:{}})):t.systemPrompt&&(m.system=[{type:`text`,text:f(t.systemPrompt),...i?{cache_control:i}:{}}]),r?.temperature!==void 0&&!r?.thinkingEnabled&&o.supportsTemperature&&(m.temperature=r.temperature),(d.length>0||p.length>0)&&(m.tools=[...$r(d,n,o.supportsEagerToolInputStreaming,o.supportsStrictTools,o.supportsCacheControlOnTools?i:void 0),...$r(p,n,o.supportsEagerToolInputStreaming,o.supportsStrictTools,void 0,!0)]),e.reasoning)if(r?.thinkingEnabled){let t=r.thinkingDisplay??`summarized`;e.compat?.forceAdaptiveThinking===!0?(m.thinking={type:`adaptive`,display:t},r.effort&&(m.output_config=(r.effort,{effort:r.effort}))):m.thinking={type:`enabled`,budget_tokens:r.thinkingBudgetTokens||1024,display:t}}else r?.thinkingEnabled===!1&&e.thinkingLevelMap?.off!==null&&(m.thinking={type:`disabled`});if(r?.metadata){let e=r.metadata.user_id;typeof e==`string`&&(m.metadata={user_id:e})}return r?.toolChoice&&(m.tool_choice=typeof r.toolChoice==`string`?{type:r.toolChoice}:r.toolChoice),m}function Yr(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function Xr(e,t,n,r,i){let a=[];for(let o of e.addedToolNames??[]){let e=i(o);!n.has(e)||r.has(e)||(r.add(e),a.push({type:`tool_reference`,tool_name:t?Or(o):o}))}let o=Ar(e.content);return{toolResult:{type:`tool_result`,tool_use_id:e.toolCallId,content:a.length>0?a:o,is_error:e.isError},siblingContent:a.length===0?[]:typeof o==`string`?[{type:`text`,text:o}]:o}}function Zr(e,t,n,r=!1,i=new Set,a=e=>e){let o=[],s=new Set;for(let n=0;n<e.length;n++){let c=e[n];if(c.role===`user`)if(typeof c.content==`string`)c.content.trim().length>0&&o.push({role:`user`,content:f(c.content)});else{let e=c.content.map(e=>e.type===`text`?{type:`text`,text:f(e.text)}:{type:`image`,source:{type:`base64`,media_type:e.mimeType,data:e.data}}).filter(e=>e.type!==`text`||e.text.trim().length>0);if(e.length===0)continue;o.push({role:`user`,content:e})}else if(c.role===`assistant`){let e=[];for(let n of c.content)if(n.type===`text`){if(n.text.trim().length===0)continue;e.push({type:`text`,text:f(n.text)})}else if(n.type===`thinking`){if(n.redacted){e.push({type:`redacted_thinking`,data:n.thinkingSignature});continue}let t=n.thinkingSignature,i=!!t&&t.trim().length>0;if(n.thinking.trim().length===0&&!i)continue;i?e.push({type:`thinking`,thinking:f(n.thinking),signature:t}):e.push(r?{type:`thinking`,thinking:f(n.thinking),signature:``}:{type:`text`,text:f(n.thinking)})}else n.type===`toolCall`&&e.push({type:`tool_use`,id:n.id,name:t?Or(n.name):n.name,input:n.arguments??{}});if(e.length===0)continue;o.push({role:`assistant`,content:e})}else if(c.role===`toolResult`){let r=[],c=[],l=n;for(;l<e.length&&e[l].role===`toolResult`;){let n=Xr(e[l],t,i,s,a);r.push(n.toolResult),c.push(...n.siblingContent),l++}n=l-1,o.push({role:`user`,content:[...r,...c]})}}if(n&&o.length>0){let e=o[o.length-1];if(e.role===`user`)if(Array.isArray(e.content)){let t=e.content[e.content.length-1];t&&(t.type===`text`||t.type===`image`||t.type===`tool_result`)&&(t.cache_control=n)}else typeof e.content==`string`&&(e.content=[{type:`text`,text:e.content,cache_control:n}])}return o}function Qr(e,t){return!!t.tools?.length&&!jr(e).supportsEagerToolInputStreaming}function $r(e,t,n,r,i,a=!1){return e?e.map((o,s)=>{let c=p(o,r),l=o.parameters,u={type:`object`,properties:l.properties??{},required:l.required??[]},d=c===!0?{...o.parameters,...u}:u;return{name:t?Or(o.name):o.name,description:o.description,...n?{eager_input_streaming:!0}:{},...c===!0?{strict:!0}:{},input_schema:d,...a?{defer_loading:!0}:{},...i&&s===e.length-1?{cache_control:i}:{}}}):[]}function ei(e,t){switch(e){case`end_turn`:return{stopReason:`stop`};case`max_tokens`:return{stopReason:`length`};case`tool_use`:return{stopReason:`toolUse`};case`refusal`:return{stopReason:`error`,errorMessage:t?.explanation||`The model refused to complete the request`};case`pause_turn`:return{stopReason:`stop`};case`stop_sequence`:return{stopReason:`stop`};case`sensitive`:return{stopReason:`error`,errorMessage:`Provider stopped with: sensitive`};default:throw Error(`Unhandled stop reason: ${e}`)}}export{Ur as stream,Gr as streamSimple};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CHAT_SURFACE_ID as e}from"./wc-sprinkles-
|
|
1
|
+
import{CHAT_SURFACE_ID as e}from"./wc-sprinkles-CCAwa0Z7.js";var t=`focus`,n={type:`leaf`,surfaceId:`chat`};function r(e,t={},n={}){return{zones:{top:null,left:null,middle:null,right:null,bottom:null,...e},rowFr:{top:1,center:1,bottom:1,...n},colFr:{left:1,middle:1,right:1,...t}}}var i={focus:{name:`focus`,tree:r({left:n},{left:3,middle:1})}};function a(e){return i[e]??null}function o(n,r){switch(r.kind){case`set`:n.applyLayout(r.tree);break;case`reset`:{let e=a(t);e&&n.applyLayout(e.tree);break}case`chat`:n.moveSurfaceToZone(e,r.zone);break;case`open`:n.placeSurface(r.zone,r.surfaceId);break;case`close`:n.removeSurface(r.surfaceId);break;case`move`:n.moveSurfaceToZone(r.surfaceId,r.zone);break;case`size`:n.setSurfaceSize(r.surfaceId,r.size)}}export{o as applyLayout};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./types-idfTVsM8.js";import{t as n}from"./global-db-DJXlpNui.js";const r=e(`mcp-apps`),i=`/workspace/.mcp/sprinkles`;async function a(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import{t}from"./types-idfTVsM8.js";import{t as n}from"./global-db-DJXlpNui.js";const r=e(`mcp-apps`),i=`/workspace/.mcp/sprinkles`;async function a(e){if(e)return e;let{VirtualFS:t}=await import(`./fs-CwhZvLDc.js`).then(e=>e.t);return await t.create({dbName:n})}function o(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,64)||`app`}function s(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function c(e,t){let n=s(t.title??t.name),r=t.description?s(t.description):``,i=s(t.templateUri??`about:blank`),a=JSON.stringify(e),o=JSON.stringify(t.name);return`<div class="mcp-app" data-sprinkle-title="${n}" style="display:flex;flex-direction:column;height:100%;min-height:0;">
|
|
2
2
|
<header class="mcp-app__header" style="padding:8px 12px;border-bottom:1px solid var(--s2-border-subtle,#3a3a3a);">
|
|
3
3
|
<h2 style="font-size:14px;font-weight:600;margin:0;">${n}</h2>${r?`\n <p style="font-size:12px;margin:4px 0 0;color:var(--s2-content-secondary,#a0a0a0);">${r}</p>`:``}
|
|
4
4
|
</header>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,g as t}from"./account-store-
|
|
1
|
+
import{b as e,g as t}from"./account-store-BfqIrMMe.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{i as r,s as i,t as a}from"./transform-messages-DEFauvrq.js";import{p as o}from"./bedrock-camp-BfNg24Ce.js";import{t as s}from"./openai-DehfWK3N.js";const c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=a(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}function g(e){return{role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()}}function _(e,n){let r=n.apiKey;if(!r)throw Error(`Azure API key is required`);let i=e.baseUrl;if(!i)throw Error(`Azure endpoint is required`);let a={};e.headers&&Object.assign(a,e.headers),n.headers&&Object.assign(a,n.headers);let o=t(c)||l,u=e.id;return{client:new s({endpoint:i.replace(/\/+$/,``),apiKey:r,deployment:u,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:a}),deployment:u}}function v(e,t){return[...e.systemPrompt?[{role:`system`,content:e.systemPrompt}]:[],...f(e,t)]}function y(e,t,n){n&&(e.usage.input=n.prompt_tokens??0,e.usage.output=n.completion_tokens??0,e.usage.totalTokens=n.total_tokens??0,i(t,e.usage))}function b(e){return e===`tool_calls`?`toolUse`:e===`length`?`length`:`stop`}function x(e,t,n){let{block:r,index:i}=m(t);r.text===``&&e.push({type:`text_start`,contentIndex:i,partial:t}),r.text+=n,e.push({type:`text_delta`,contentIndex:i,delta:n,partial:t})}function S(e,t,n){let r=n.id?h(t,n.id):void 0;if(r||!n.id)return r;let i={type:`toolCall`,id:n.id,name:n.function?.name??``,arguments:{},_partialJson:``};return t.content.push(i),e.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t}),i}function C(e,t,n,r){n._partialJson+=r;try{n.arguments=JSON.parse(n._partialJson)}catch{}e.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:r,partial:t})}function w(e,t,n){for(let r of n){let n=S(e,t,r);n&&r.function?.arguments&&C(e,t,n,r.function.arguments)}}function T(e,t,n){let r=n.delta;r&&(r.content&&x(e,t,r.content),r.tool_calls&&w(e,t,r.tool_calls),n.finish_reason&&(t.stopReason=b(n.finish_reason)))}function E(e,t,n,r){try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,e.push({type:`toolcall_end`,contentIndex:r,toolCall:n,partial:t})}function D(e,t){for(let n=0;n<t.content.length;n+=1){let r=t.content[n];r.type===`toolCall`?E(e,t,r,n):r.type===`text`&&e.push({type:`text_end`,contentIndex:n,content:r.text,partial:t})}}async function O(e,t,n,r,i){let{client:a,deployment:o}=_(n,i),s=p(r.tools),c=await a.chat.completions.create({model:o,messages:v(r,n),stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...s?{tools:s}:{}});e.push({type:`start`,partial:t});for await(let r of c){y(t,n,r.usage);for(let n of r.choices??[])T(e,t,n)}D(e,t),e.push({type:`done`,reason:t.stopReason,message:t}),e.end()}function k(e,t,n,r){t.stopReason=r?`aborted`:`error`,t.errorMessage=n instanceof Error?n.message:JSON.stringify(n),e.push({type:`error`,reason:t.stopReason,error:t}),e.end()}const A=(e,t,r={})=>{let i=n(),a=g(e);return O(i,a,e,t,r).catch(e=>{k(i,a,e,!!r.signal?.aborted)}),i},j=(e,t,n)=>{let i=n?.apiKey;if(!i)throw Error(`Azure API key is required`);let a=r(e,n,i);return A(e,t,{...a})};function M(){o({api:`azure-openai-anthropic`,stream:A,streamSimple:j})}export{u as config,M as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,g as t}from"./account-store-
|
|
1
|
+
import{b as e,g as t}from"./account-store-BkG4BDQC.js";import{a as n}from"./diagnostics-DN_idNHx.js";import{t as r}from"./models-BSkXF4T6.js";import{a as i}from"./compat-C0CyHyoL.js";import{i as a,t as o}from"./transform-messages-XkZ1QnTb.js";import{t as s}from"./openai-DQxsE__c.js";var c=`azure-openai`,l=`2024-12-01-preview`,u={id:c,name:`Azure OpenAI`,description:`GPT models via Azure AI Foundry`,requiresApiKey:!0,apiKeyPlaceholder:`Azure API key`,apiKeyEnvVar:`AZURE_OPENAI_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://your-resource.cognitiveservices.azure.com/`,baseUrlDescription:`Azure resource endpoint`,requiresDeployment:!0,deploymentPlaceholder:`gpt-4.1-mini, gpt-4o, o4-mini`,deploymentDescription:`Comma-separated deployment names (from Azure Portal → Deployments)`,requiresApiVersion:!0,apiVersionDefault:l,apiVersionDescription:`Azure OpenAI API version`,getModelIds:()=>{let t=e(c);if(!t)return[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}];let n=t.split(`,`).map(e=>e.trim()).filter(Boolean);return n.length===0?[{id:`azure-unconfigured`,name:`Azure OpenAI (set deployments in Settings)`}]:n.map(e=>{let t=e.startsWith(`o1`)||e.startsWith(`o3`)||e.startsWith(`o4`);return{id:e,name:`${e} (Azure)`,reasoning:t,input:[`text`,`image`]}})}};function d(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,64)}function f(e,t){let n=o(e.messages,t,d),r=[];for(let e of n)if(e.role===`user`)if(typeof e.content==`string`)r.push({role:`user`,content:e.content});else{let t=e.content.map(e=>e.type===`text`?{type:`text`,text:e.text??``}:e.type===`image`?{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}}:{type:`text`,text:JSON.stringify(e)});r.push({role:`user`,content:t})}else if(e.role===`assistant`){let t=e.content,n=t.filter(e=>e.type===`text`).map(e=>e.text??``).join(``),i=t.filter(e=>e.type===`toolCall`).map(e=>({id:e.id??``,type:`function`,function:{name:e.name??``,arguments:JSON.stringify(e.arguments??{})}}));i.length?r.push({role:`assistant`,content:n||null,tool_calls:i}):r.push({role:`assistant`,content:n})}else if(e.role===`toolResult`){let t=e.content;r.push({role:`tool`,tool_call_id:e.toolCallId??``,content:t?.map(e=>e.type===`text`?e.text??``:JSON.stringify(e)).join(``)||``})}return r}function p(e){if(e?.length)return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}function m(e){let t=e.content.find(e=>e.type===`text`);if(t)return{block:t,index:e.content.indexOf(t)};let n={type:`text`,text:``};return e.content.push(n),{block:n,index:e.content.length-1}}function h(e,t){return e.content.find(e=>e.type===`toolCall`&&e.id===t)}function g(e){return{role:`assistant`,content:[],api:`azure-openai-anthropic`,provider:c,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()}}function _(e,n){let r=n.apiKey;if(!r)throw Error(`Azure API key is required`);let i=e.baseUrl;if(!i)throw Error(`Azure endpoint is required`);let a={};e.headers&&Object.assign(a,e.headers),n.headers&&Object.assign(a,n.headers);let o=t(c)||l,u=e.id;return{client:new s({endpoint:i.replace(/\/+$/,``),apiKey:r,deployment:u,apiVersion:o,dangerouslyAllowBrowser:!0,defaultHeaders:a}),deployment:u}}function v(e,t){return[...e.systemPrompt?[{role:`system`,content:e.systemPrompt}]:[],...f(e,t)]}function y(e,t,n){n&&(e.usage.input=n.prompt_tokens??0,e.usage.output=n.completion_tokens??0,e.usage.totalTokens=n.total_tokens??0,r(t,e.usage))}function b(e){return e===`tool_calls`?`toolUse`:e===`length`?`length`:`stop`}function x(e,t,n){let{block:r,index:i}=m(t);r.text===``&&e.push({type:`text_start`,contentIndex:i,partial:t}),r.text+=n,e.push({type:`text_delta`,contentIndex:i,delta:n,partial:t})}function S(e,t,n){let r=n.id?h(t,n.id):void 0;if(r||!n.id)return r;let i={type:`toolCall`,id:n.id,name:n.function?.name??``,arguments:{},_partialJson:``};return t.content.push(i),e.push({type:`toolcall_start`,contentIndex:t.content.length-1,partial:t}),i}function C(e,t,n,r){n._partialJson+=r;try{n.arguments=JSON.parse(n._partialJson)}catch{}e.push({type:`toolcall_delta`,contentIndex:t.content.indexOf(n),delta:r,partial:t})}function w(e,t,n){for(let r of n){let n=S(e,t,r);n&&r.function?.arguments&&C(e,t,n,r.function.arguments)}}function T(e,t,n){let r=n.delta;r&&(r.content&&x(e,t,r.content),r.tool_calls&&w(e,t,r.tool_calls),n.finish_reason&&(t.stopReason=b(n.finish_reason)))}function E(e,t,n,r){try{n.arguments=JSON.parse(n._partialJson||`{}`)}catch{}delete n._partialJson,e.push({type:`toolcall_end`,contentIndex:r,toolCall:n,partial:t})}function D(e,t){for(let n=0;n<t.content.length;n+=1){let r=t.content[n];r.type===`toolCall`?E(e,t,r,n):r.type===`text`&&e.push({type:`text_end`,contentIndex:n,content:r.text,partial:t})}}async function O(e,t,n,r,i){let{client:a,deployment:o}=_(n,i),s=p(r.tools),c=await a.chat.completions.create({model:o,messages:v(r,n),stream:!0,stream_options:{include_usage:!0},...i.maxTokens?{max_completion_tokens:i.maxTokens}:{},...i.temperature===void 0?{}:{temperature:i.temperature},...s?{tools:s}:{}});e.push({type:`start`,partial:t});for await(let r of c){y(t,n,r.usage);for(let n of r.choices??[])T(e,t,n)}D(e,t),e.push({type:`done`,reason:t.stopReason,message:t}),e.end()}function k(e,t,n,r){t.stopReason=r?`aborted`:`error`,t.errorMessage=n instanceof Error?n.message:JSON.stringify(n),e.push({type:`error`,reason:t.stopReason,error:t}),e.end()}var A=(e,t,r={})=>{let i=n(),a=g(e);return O(i,a,e,t,r).catch(e=>{k(i,a,e,!!r.signal?.aborted)}),i},j=(e,t,n)=>{let r=n?.apiKey;if(!r)throw Error(`Azure API key is required`);return A(e,t,{...a(e,n,r)})};function M(){i({api:`azure-openai-anthropic`,stream:A,streamSimple:j})}export{u as config,M as register};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-DN_idNHx.js";import{n as t}from"./models-BSkXF4T6.js";import{t as n}from"./provider-env-CTOcDKrQ.js";import{i as r}from"./transform-messages-XkZ1QnTb.js";import{t as i}from"./headers-CbDaTl3c.js";import{t as a}from"./provider-retry-C8PJzY_l.js";import{n as o}from"./constrained-sampling-DafcjXU6.js";import{t as s}from"./openai-DQxsE__c.js";import{n as c,t as l}from"./error-body-pkrba6pf.js";import{t as u}from"./openai-prompt-cache-DXo9f3w5.js";import{n as d,r as f,t as p}from"./openai-responses-shared-BrIGUa2e.js";var m=`v1`,h=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]),g=16;function _(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function v(e,t){return t?.azureDeploymentName?t.azureDeploymentName:_(n(`AZURE_OPENAI_DEPLOYMENT_NAME_MAP`,t?.env)).get(e.id)||e.id}function y(e){return l(c(e),`Azure OpenAI API error`)}var b=(t,n,r)=>{let s=new e;return(async()=>{let e=v(t,r),c={role:`assistant`,content:[],api:`azure-openai-responses`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let l=r?.apiKey;if(!l)throw Error(`No API key for provider: ${t.provider}`);let u=T(t,l,r),d=o(n.tools,t.compat?.supportsOpenAIGrammarTools??!1),p=E(t,n,r,e,d),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let h={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:g,response:_}=await a(()=>u.responses.create(p,h).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});if(await r?.onResponse?.({status:_.status,headers:i(_.headers)},t),s.push({type:`start`,partial:c}),await f(g,c,s,t,{grammarToolInputProperties:d}),r?.signal?.aborted)throw Error(`Request was aborted`);if(c.stopReason===`pending`)throw Error(`Azure OpenAI Responses stream ended without a stop reason`);if(c.stopReason===`aborted`||c.stopReason===`error`)throw Error(c.errorMessage||`An unknown error occurred`);s.push({type:`done`,reason:c.stopReason,message:c}),s.end()}catch(e){for(let e of c.content)delete e.index,delete e.partialJson,delete e.customInput;c.stopReason=r?.signal?.aborted?`aborted`:`error`,c.errorMessage=y(e),s.push({type:`error`,reason:c.stopReason,error:c}),s.end()}})(),s},x=(e,n,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=r(e,n,i,a),s=i?.reasoning?t(e,i.reasoning):void 0,c=s===`off`?void 0:s;return b(e,n,{...o,reasoningEffort:c})};function S(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`)||n.hostname.endsWith(`.ai.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`||i===`/openai/v1/responses`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function C(e){return`https://${e}.openai.azure.com/openai/v1`}function w(e,t){let r=t?.azureApiVersion||n(`AZURE_OPENAI_API_VERSION`,t?.env)||m,i=t?.azureBaseUrl?.trim()||n(`AZURE_OPENAI_BASE_URL`,t?.env)?.trim()||void 0,a=t?.azureResourceName||n(`AZURE_OPENAI_RESOURCE_NAME`,t?.env),o=i;if(!o&&a&&(o=C(a)),!o&&e.baseUrl&&(o=e.baseUrl),!o)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:S(o),apiVersion:r}}function T(e,t,n){let r={...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:i,apiVersion:a}=w(e,n);return new s({apiKey:t,apiVersion:a,dangerouslyAllowBrowser:!0,fetch:n?.fetch,defaultHeaders:r,baseURL:i})}function E(e,t,n,r,i=o(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let a={model:r,input:p(e,t,h,{grammarToolInputProperties:i}),stream:!0,prompt_cache_key:u(n?.sessionId),store:!1};return n?.maxTokens&&(a.max_output_tokens=Math.max(n.maxTokens,g)),n?.temperature!==void 0&&(a.temperature=n?.temperature),t.tools&&t.tools.length>0&&(a.tools=d(t.tools,{supportsStrictMode:e.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1})),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(a.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},a.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(a.reasoning={effort:e.thinkingLevelMap?.off??`none`})),n?.samplingParams&&Object.assign(a,n.samplingParams),a}export{b as stream,x as streamSimple};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-DN_idNHx.js";import{c as t,i as n}from"./transform-messages-DEFauvrq.js";import{t as r}from"./provider-env-CILujRmO.js";import{t as i}from"./headers-CbDaTl3c.js";import{t as a}from"./provider-retry-C8PJzY_l.js";import{n as o}from"./constrained-sampling-DafcjXU6.js";import{t as s}from"./openai-DehfWK3N.js";import{n as c,t as l}from"./error-body-pkrba6pf.js";import{t as u}from"./openai-prompt-cache-DXo9f3w5.js";import{n as d,r as f,t as p}from"./openai-responses-shared-B_T0yMQn.js";const m=new Set([`openai`,`openai-codex`,`opencode`,`azure-openai-responses`]);function h(e){let t=new Map;if(!e)return t;for(let n of e.split(`,`)){let e=n.trim();if(!e)continue;let[r,i]=e.split(`=`,2);!r||!i||t.set(r.trim(),i.trim())}return t}function g(e,t){return t?.azureDeploymentName?t.azureDeploymentName:h(r(`AZURE_OPENAI_DEPLOYMENT_NAME_MAP`,t?.env)).get(e.id)||e.id}function _(e){return l(c(e),`Azure OpenAI API error`)}const v=(t,n,r)=>{let s=new e;return(async()=>{let e=g(t,r),c={role:`assistant`,content:[],api:`azure-openai-responses`,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`pending`,timestamp:Date.now()};try{let l=r?.apiKey;if(!l)throw Error(`No API key for provider: ${t.provider}`);let u=C(t,l,r),d=o(n.tools,t.compat?.supportsOpenAIGrammarTools??!1),p=w(t,n,r,e,d),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let h={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:g,response:_}=await a(()=>u.responses.create(p,h).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});if(await r?.onResponse?.({status:_.status,headers:i(_.headers)},t),s.push({type:`start`,partial:c}),await f(g,c,s,t,{grammarToolInputProperties:d}),r?.signal?.aborted)throw Error(`Request was aborted`);if(c.stopReason===`pending`)throw Error(`Azure OpenAI Responses stream ended without a stop reason`);if(c.stopReason===`aborted`||c.stopReason===`error`)throw Error(c.errorMessage||`An unknown error occurred`);s.push({type:`done`,reason:c.stopReason,message:c}),s.end()}catch(e){for(let e of c.content)delete e.index,delete e.partialJson,delete e.customInput;c.stopReason=r?.signal?.aborted?`aborted`:`error`,c.errorMessage=_(e),s.push({type:`error`,reason:c.stopReason,error:c}),s.end()}})(),s},y=(e,r,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=n(e,r,i,a),s=i?.reasoning?t(e,i.reasoning):void 0,c=s===`off`?void 0:s;return v(e,r,{...o,reasoningEffort:c})};function b(e){let t=e.trim().replace(/\/+$/,``),n;try{n=new URL(t)}catch{throw Error(`Invalid Azure OpenAI base URL: ${e}`)}let r=n.hostname.endsWith(`.openai.azure.com`)||n.hostname.endsWith(`.cognitiveservices.azure.com`)||n.hostname.endsWith(`.ai.azure.com`),i=n.pathname.replace(/\/+$/,``);return r&&(i===``||i===`/`||i===`/openai`||i===`/openai/v1/responses`)&&(n.pathname=`/openai/v1`,n.search=``),n.toString().replace(/\/+$/,``)}function x(e){return`https://${e}.openai.azure.com/openai/v1`}function S(e,t){let n=t?.azureApiVersion||r(`AZURE_OPENAI_API_VERSION`,t?.env)||`v1`,i=t?.azureBaseUrl?.trim()||r(`AZURE_OPENAI_BASE_URL`,t?.env)?.trim()||void 0,a=t?.azureResourceName||r(`AZURE_OPENAI_RESOURCE_NAME`,t?.env),o=i;if(!o&&a&&(o=x(a)),!o&&e.baseUrl&&(o=e.baseUrl),!o)throw Error(`Azure OpenAI base URL is required. Set AZURE_OPENAI_BASE_URL or AZURE_OPENAI_RESOURCE_NAME, or pass azureBaseUrl, azureResourceName, or model.baseUrl.`);return{baseUrl:b(o),apiVersion:n}}function C(e,t,n){let r={...e.headers};n?.headers&&Object.assign(r,n.headers);let{baseUrl:i,apiVersion:a}=S(e,n);return new s({apiKey:t,apiVersion:a,dangerouslyAllowBrowser:!0,fetch:n?.fetch,defaultHeaders:r,baseURL:i})}function w(e,t,n,r,i=o(t.tools,e.compat?.supportsOpenAIGrammarTools??!1)){let a={model:r,input:p(e,t,m,{grammarToolInputProperties:i}),stream:!0,prompt_cache_key:u(n?.sessionId),store:!1};return n?.maxTokens&&(a.max_output_tokens=Math.max(n.maxTokens,16)),n?.temperature!==void 0&&(a.temperature=n?.temperature),t.tools&&t.tools.length>0&&(a.tools=d(t.tools,{supportsStrictMode:e.compat?.supportsStrictMode??!0,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1})),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(a.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},a.include=[`reasoning.encrypted_content`]):e.thinkingLevelMap?.off!==null&&(a.reasoning={effort:e.thinkingLevelMap?.off??`none`})),n?.samplingParams&&Object.assign(a,n.samplingParams),a}export{v as stream,y as streamSimple};
|