sliccy 5.67.1 → 5.67.2
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/ui/assets/account-store-BIF64n8-.js +94 -0
- package/dist/ui/assets/{account-store-D7kMPjMl.js → account-store-CovklOkk.js} +1 -1
- package/dist/ui/assets/adobe-17vWB0a6.js +1 -0
- package/dist/ui/assets/adobe-TXieKYY5.js +2 -0
- package/dist/ui/assets/amazon-bedrock-Cg62P8pR.json +1 -0
- package/dist/ui/assets/anthropic-4_qTN2Mu.json +1 -0
- package/dist/ui/assets/anthropic-messages-6XWFkWWy.js +39 -0
- package/dist/ui/assets/anthropic-messages-D42B1WVl.js +39 -0
- package/dist/ui/assets/{apps-BoOkGG9c.js → apps-BIcLdFeM.js} +1 -1
- package/dist/ui/assets/azure-openai-C1W6dEpq.js +1 -0
- package/dist/ui/assets/azure-openai-DWOa9B_t.js +1 -0
- package/dist/ui/assets/azure-openai-responses-BvEv9lZE.js +1 -0
- package/dist/ui/assets/azure-openai-responses-DE9sINqp.json +1 -0
- package/dist/ui/assets/azure-openai-responses-DRSA640t.js +1 -0
- package/dist/ui/assets/bedrock-camp-BuUxtnu3.js +1 -0
- package/dist/ui/assets/bedrock-camp-Dn7pj03H.js +1 -0
- package/dist/ui/assets/cerebras-CztfMhyd.js +1 -0
- package/dist/ui/assets/cerebras-QbxVz39_.js +1 -0
- package/dist/ui/assets/cloudflare-ai-gateway-DDb7hKDm.json +1 -0
- package/dist/ui/assets/cloudflare-workers-ai-hYVOS3es.json +1 -0
- package/dist/ui/assets/compat-D-WVLG85.js +2 -0
- package/dist/ui/assets/{connect-surface-C-7W435s.js → connect-surface-CHYTf_sk.js} +1 -1
- package/dist/ui/assets/{context-compaction-dcYYajWb.js → context-compaction-2cZIhnSb.js} +1 -1
- package/dist/ui/assets/deferred-tools-C1IEsG5C.js +1 -0
- package/dist/ui/assets/deferred-tools-DNuoafg8.js +1 -0
- package/dist/ui/assets/diagnostics-BsVbaNHR.js +1 -0
- package/dist/ui/assets/event-stream-qbAZIAKV.js +1 -0
- package/dist/ui/assets/fireworks-B7kEGNCU.json +1 -0
- package/dist/ui/assets/{fs-D_yANcgX.js → fs-CanwjxXu.js} +2 -2
- package/dist/ui/assets/{fs-D5H4qV90.js → fs-DXkVA9oH.js} +1 -1
- package/dist/ui/assets/{github-BpqJV3zd.js → github-BuNlwy6Z.js} +1 -1
- package/dist/ui/assets/{github-O8AoJ7u2.js → github-Dr94t9Ca.js} +2 -2
- package/dist/ui/assets/github-copilot-DRg525a9.js +1 -0
- package/dist/ui/assets/github-copilot-K9C_HNHm.json +1 -0
- package/dist/ui/assets/github-copilot-WImjMwBU.js +2 -0
- package/dist/ui/assets/google-F4XgvJ1y.json +1 -0
- package/dist/ui/assets/google-generative-ai-BqEHWDKc.js +1 -0
- package/dist/ui/assets/google-generative-ai-DOAY2Bef.js +1 -0
- package/dist/ui/assets/{google-shared-CCJkdw81.js → google-shared-2WQG4pNx.js} +1 -1
- package/dist/ui/assets/{google-shared-p5XdfI6c.js → google-shared-CGD-JGZx.js} +1 -1
- package/dist/ui/assets/google-vertex-C-dQj0iH.js +1 -0
- package/dist/ui/assets/google-vertex-CiTExP0E.js +1 -0
- package/dist/ui/assets/huggingface-BjNadu0v.json +1 -0
- package/dist/ui/assets/{kernel-worker-uWACBBhV.js → kernel-worker-0dC64i4h.js} +592 -588
- package/dist/ui/assets/{legacy-api-aliases-BEwZmDvB.js → legacy-api-aliases-CI-iGRFs.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-BQSsmFIS.js → legacy-api-aliases-CaOObRpi.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-TTCR56gq.js → lick-ws-bridge-CZk5y_uS.js} +1 -1
- package/dist/ui/assets/{local-llm-DuSay7Zm.js → local-llm-CvlXyUsR.js} +1 -1
- package/dist/ui/assets/{local-llm-DtdiuuN-.js → local-llm-Dz9k2lTQ.js} +2 -2
- package/dist/ui/assets/{main-DXAgi47H.js → main-Nb-8QjGQ.js} +3 -3
- package/dist/ui/assets/mistral-CLEcIOtP.json +1 -0
- package/dist/ui/assets/{mistral-conversations-DbKikZnf.js → mistral-conversations-BIHTMTfL.js} +1 -1
- package/dist/ui/assets/{mistral-conversations-CLDzxp2F.js → mistral-conversations-CFKNSaPt.js} +2 -2
- package/dist/ui/assets/models-Bnh9VDA1.js +1 -0
- package/dist/ui/assets/moonshotai-8QShYhhE.json +1 -0
- package/dist/ui/assets/moonshotai-cn-7hHZff5z.json +1 -0
- package/dist/ui/assets/{mount-C5cBuZIQ.js → mount-ClX16Vqy.js} +1 -1
- package/dist/ui/assets/{mount-B6AQ9wuU.js → mount-DvJJTEk6.js} +2 -2
- package/dist/ui/assets/{mount-recovery-DUunzxUB.js → mount-recovery-_mFoJDg1.js} +1 -1
- package/dist/ui/assets/new-session-D0IePVky.js +2 -0
- package/dist/ui/assets/nvidia-dA6GzUPm.json +1 -0
- package/dist/ui/assets/oauth-bootstrap-zfn3CvH_.js +2 -0
- package/dist/ui/assets/openai-BehvdaXx.json +1 -0
- package/dist/ui/assets/openai-codex-Dmvgi9kk.js +1 -0
- package/dist/ui/assets/openai-codex-qgJYbHcs.js +1 -0
- package/dist/ui/assets/openai-codex-responses-B7cFMjWk.js +7 -0
- package/dist/ui/assets/openai-codex-responses-DqxoDEwc.js +7 -0
- package/dist/ui/assets/openai-completions-Z1aRkqWe.js +5 -0
- package/dist/ui/assets/openai-completions-o78dOizF.js +5 -0
- package/dist/ui/assets/openai-responses-SPfzkTJm.js +1 -0
- package/dist/ui/assets/openai-responses-shared-BHsJFKuB.js +10 -0
- package/dist/ui/assets/openai-responses-shared-Dg5Ojqlw.js +10 -0
- package/dist/ui/assets/openai-responses-xSdsW9lw.js +1 -0
- package/dist/ui/assets/opencode-4chvZrBR.json +1 -0
- package/dist/ui/assets/opencode-go-Chp1OOUx.json +1 -0
- package/dist/ui/assets/openrouter-ZLTwKIjA.json +1 -0
- package/dist/ui/assets/{panel-rpc-handlers-C7cI_wpd.js → panel-rpc-handlers-L5pGVFBu.js} +2 -2
- package/dist/ui/assets/pi-messages-DRdk3sMN.js +7 -0
- package/dist/ui/assets/pi-messages-fKU_b1SK.js +7 -0
- package/dist/ui/assets/{provider-B_beyvZ1.js → provider-DAA4g3_k.js} +1 -1
- package/dist/ui/assets/{provider-mNJ81Nmf.js → provider-m1X4CbVe.js} +2 -2
- package/dist/ui/assets/{provider-settings-Bynyth1-.js → provider-settings-Cf7eXAWa.js} +1 -1
- package/dist/ui/assets/{provider-settings-Br12uT6y.js → provider-settings-Cuugd-fj.js} +1 -1
- package/dist/ui/assets/{provider-store-access-DPdIt2P7.js → provider-store-access-CgDL1cUd.js} +2 -2
- package/dist/ui/assets/provider-store-access-D9WNmF0Z.js +1 -0
- package/dist/ui/assets/providers-BuWMF3xT.js +2 -0
- package/dist/ui/assets/providers-Lwh3Mkv2.js +1 -0
- package/dist/ui/assets/{quick-llm-DAjUwXji.js → quick-llm-CmF1euCZ.js} +1 -1
- package/dist/ui/assets/qwen-token-plan-BpxmzamU.json +1 -0
- package/dist/ui/assets/qwen-token-plan-cn-CPhDR0u_.json +1 -0
- package/dist/ui/assets/{session-freezer-ByN74MO5.js → session-freezer-CvrIXOah.js} +3 -3
- package/dist/ui/assets/setup-sudo-C9KnyJVv.js +2 -0
- package/dist/ui/assets/{skills-BMDzPReO.js → skills-3PZmUeNA.js} +1 -1
- package/dist/ui/assets/{store-Bo-VXhKX.js → store-DdPbOMzR.js} +1 -1
- package/dist/ui/assets/{sudo-CIRZ-EUo.js → sudo--Rx9zaD2.js} +1 -1
- package/dist/ui/assets/together-CYZ-lBBF.json +1 -0
- package/dist/ui/assets/transform-messages-Bp94o3FD.js +1 -0
- package/dist/ui/assets/transform-messages-wECJwtH0.js +1 -0
- package/dist/ui/assets/{upgrade-detection-BGS7lBbj.js → upgrade-detection-Dy4tXX0j.js} +1 -1
- package/dist/ui/assets/vercel-ai-gateway-ZtkcQH_C.json +1 -0
- package/dist/ui/assets/{wc-extension-BS1GKkBY.js → wc-extension-RKYMPCAR.js} +2 -2
- package/dist/ui/assets/wc-follower-Bmun4Cco.js +17 -0
- package/dist/ui/assets/{wc-live-BU8bhGYQ.js → wc-live-huAxuC_m.js} +3 -3
- package/dist/ui/assets/wc-nav-C6eP4gqM.js +2 -0
- package/dist/ui/assets/{wc-onboarding-oXM_3rWS.js → wc-onboarding-sj3cY89G.js} +2 -2
- package/dist/ui/assets/wc-placeholder-CfRJDlgb.js +4 -0
- package/dist/ui/assets/{wc-settings-CwYBG83C.js → wc-settings-BmoBEcXH.js} +2 -2
- package/dist/ui/assets/{wc-shell-APVSI6kq.js → wc-shell-BpzhLQbu.js} +2 -2
- package/dist/ui/assets/{wc-sprinkles-XTLYtBLP.js → wc-sprinkles-COGCgdJj.js} +2 -2
- package/dist/ui/assets/wc-tray-Cx2T5bzX.js +2 -0
- package/dist/ui/assets/xai-grok-B5OVP1_6.js +1 -0
- package/dist/ui/assets/xai-grok-D7tkzbHx.js +1 -0
- package/dist/ui/index.html +11 -10
- package/dist/ui/packages/webapp/index.html +11 -10
- package/package.json +3 -2
- package/dist/ui/assets/account-store-DpZitlUY.js +0 -98
- package/dist/ui/assets/adobe-Bmh-_khT.js +0 -2
- package/dist/ui/assets/adobe-DyH_9qJK.js +0 -1
- package/dist/ui/assets/anthropic-messages-CIsUSIzG.js +0 -39
- package/dist/ui/assets/anthropic-messages-_fPAePlR.js +0 -39
- package/dist/ui/assets/azure-openai-Dm2kMacy.js +0 -1
- package/dist/ui/assets/azure-openai-rcs4Z0Nm.js +0 -1
- package/dist/ui/assets/azure-openai-responses-DhzbC_tL.js +0 -1
- package/dist/ui/assets/azure-openai-responses-bHfWNMbx.js +0 -1
- package/dist/ui/assets/bedrock-camp-BqDUcxBp.js +0 -1
- package/dist/ui/assets/bedrock-camp-DdoLg8ey.js +0 -1
- package/dist/ui/assets/cerebras-Bb96dS8U.js +0 -1
- package/dist/ui/assets/cerebras-Ih70UTEx.js +0 -1
- package/dist/ui/assets/compat-DyT25qXb.js +0 -2
- package/dist/ui/assets/github-copilot-Bf-iW8mK.js +0 -2
- package/dist/ui/assets/github-copilot-C_R0Ma0E.js +0 -1
- package/dist/ui/assets/google-generative-ai-CyS9qbzb.js +0 -1
- package/dist/ui/assets/google-generative-ai-DkRyuoBH.js +0 -1
- package/dist/ui/assets/google-vertex-Cp9ldPyE.js +0 -1
- package/dist/ui/assets/google-vertex-D7VRnbrL.js +0 -1
- package/dist/ui/assets/models-CzSI8IsT.js +0 -1
- package/dist/ui/assets/new-session-CgnPWa_k.js +0 -2
- package/dist/ui/assets/oauth-bootstrap-CmurjaMI.js +0 -2
- package/dist/ui/assets/openai-codex-D-gmV2fj.js +0 -1
- package/dist/ui/assets/openai-codex-Dv3Zo1Dx.js +0 -1
- package/dist/ui/assets/openai-codex-responses-B_k2rCqO.js +0 -7
- package/dist/ui/assets/openai-codex-responses-RviMslSH.js +0 -7
- package/dist/ui/assets/openai-completions-CGLtJfv2.js +0 -5
- package/dist/ui/assets/openai-completions-COYKlBqA.js +0 -5
- package/dist/ui/assets/openai-responses-C4mUX6jK.js +0 -1
- package/dist/ui/assets/openai-responses-D02gU0ey.js +0 -1
- package/dist/ui/assets/openai-responses-shared-CCTyKL6A.js +0 -10
- package/dist/ui/assets/openai-responses-shared-bVKJbQt9.js +0 -10
- package/dist/ui/assets/provider-store-access-CeFzxjQ9.js +0 -1
- package/dist/ui/assets/providers-DiQPQy2w.js +0 -2
- package/dist/ui/assets/providers-t50k54fw.js +0 -1
- package/dist/ui/assets/setup-sudo-PBmKBl1V.js +0 -2
- package/dist/ui/assets/transform-messages-CVIV-EgO.js +0 -1
- package/dist/ui/assets/transform-messages-fFaW-DLG.js +0 -1
- package/dist/ui/assets/wc-follower-BWvESj7q.js +0 -17
- package/dist/ui/assets/wc-nav-CPVp8Fk2.js +0 -2
- package/dist/ui/assets/wc-placeholder-BvLEsaiK.js +0 -4
- package/dist/ui/assets/wc-tray-CUbKbp0U.js +0 -2
- package/dist/ui/assets/xai-grok-B5CWbUwl.js +0 -1
- package/dist/ui/assets/xai-grok-models-B0Tf--xf.js +0 -1
- package/dist/ui/assets/xai-grok-models-CeEBaUMC.js +0 -1
- package/dist/ui/assets/xai-grok-qyS7ZUXU.js +0 -1
- package/dist/ui/assets/xai-grok-sanitize-CR2JoOJd.js +0 -5
- package/dist/ui/assets/xai-grok-sanitize-CV6qvaEF.js +0 -5
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/clipboard-DuHpK59o.js","assets/rolldown-runtime-aKtaBQYM.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{s as e}from"./models-CzSI8IsT.js";import{t}from"./preload-helper-Czpn1I53.js";import{a as n,n as r,r as i}from"./compat-DyT25qXb.js";import{a,c as o,i as s,r as c,s as l,t as u}from"./legacy-api-aliases-BQSsmFIS.js";import{R as d,d as f}from"./account-store-D7kMPjMl.js";import"./provider-settings-Bynyth1-.js";var p=`github-copilot`,m=atob(`SXYxLmI1MDdhMDhjODdlY2ZlOTg=`),h=`https://github.com/login/device/code`,g=`https://github.com/login/oauth/access_token`,_=`https://api.github.com/copilot_internal/v2/token`,v={Accept:`application/json`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`},y={Accept:`application/json`,"Content-Type":`application/x-www-form-urlencoded`},b=`https://github.com/login/device/success*`;function x(){return f().find(e=>e.providerId===p)}async function S(){let e=await fetch(h,{method:`POST`,headers:y,body:new URLSearchParams({client_id:m,scope:`read:user`})});if(!e.ok)throw Error(`GitHub device-code request failed: ${e.status} ${e.statusText} — ${await e.text().catch(()=>``)}`);let t=await e.json();if(typeof t.device_code!=`string`||typeof t.user_code!=`string`||typeof t.verification_uri!=`string`||typeof t.expires_in!=`number`||typeof t.interval!=`number`)throw Error(`GitHub device-code response had an unexpected shape`);return t}async function C(e,t){let n=Date.now()+e.expires_in*1e3,r=Math.max(1e3,Math.floor(e.interval*1e3)),i=1.2;for(;Date.now()<n;){if(t.aborted)throw Error(`Copilot login cancelled`);await w(Math.ceil(r*i),t);let n=await fetch(g,{method:`POST`,headers:y,body:new URLSearchParams({client_id:m,device_code:e.device_code,grant_type:`urn:ietf:params:oauth:grant-type:device_code`})});if(!n.ok)throw Error(`GitHub token poll failed: ${n.status} ${n.statusText} — ${await n.text().catch(()=>``)}`);let a=await n.json();if(typeof a.access_token==`string`&&a.access_token.length>0)return a.access_token;if(a.error!==`authorization_pending`){if(a.error===`slow_down`){r=typeof a.interval==`number`?a.interval*1e3:r+5e3,i=1.4;continue}if(a.error){let e=a.error_description?`: ${a.error_description}`:``;throw Error(`Device flow failed (${a.error})${e}`)}}}throw Error(`Copilot device flow timed out (device code expired)`)}function w(e,t){return new Promise((n,r)=>{if(t.aborted){r(Error(`Copilot login cancelled`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Copilot login cancelled`))},{once:!0})})}function T(e){let t=e.match(/proxy-ep=([^;]+)/);return t?`https://${t[1].replace(/^proxy\./,`api.`)}`:null}async function E(e){let t=await fetch(_,{headers:{...v,Authorization:`Bearer ${e}`}});if(!t.ok){let e=await t.text().catch(()=>``);throw Error(`Copilot token exchange failed: ${t.status} ${t.statusText} — ${e.slice(0,300)}`)}let n=await t.json();if(typeof n.token!=`string`||typeof n.expires_at!=`number`)throw Error(`Copilot token exchange returned an unexpected payload`);if(n.chat_enabled===!1)throw Error(`GitHub Copilot Chat is disabled for this account (no chat features granted)`);return{copilotToken:n.token,expiresAtMs:n.expires_at*1e3-300*1e3,apiBaseUrl:T(n.token)??`https://api.individual.githubcopilot.com`,githubAccessToken:e}}var D=`github-copilot.models.v1`;function O(e){let t=e.supported_endpoints??[],n=(e.vendor??``).toLowerCase(),r=e.id;return n===`anthropic`&&t.includes(`/v1/messages`)?`anthropic-messages`:n===`openai`&&(/^gpt-5/i.test(r)||/codex/i.test(r)||/^o\d/i.test(r))?`openai-responses`:`openai-completions`}function k(e){if(!e||typeof e!=`object`)return[];let t=e.data;if(!Array.isArray(t))return[];let n=[];for(let e of t)e.capabilities?.type&&e.capabilities.type!==`chat`||e.model_picker_enabled!==!1&&e.id&&n.push({id:e.id,name:e.name??e.id,vendor:e.vendor??``,api:O(e),contextWindow:e.capabilities?.limits?.max_context_window_tokens??e.capabilities?.limits?.max_prompt_tokens??128e3,maxTokens:e.capabilities?.limits?.max_output_tokens??8192,supportsTools:e.capabilities?.supports?.tool_calls===!0,supportsStreaming:e.capabilities?.supports?.streaming!==!1,supportsVision:e.capabilities?.supports?.vision===!0,supportsReasoning:e.capabilities?.supports?.adaptive_thinking===!0||Array.isArray(e.capabilities?.supports?.reasoning_effort),policyState:e.policy?.state??`enabled`});return n}async function A(e){let t=await fetch(`${e.apiBaseUrl}/models`,{headers:{...v,Authorization:`Bearer ${e.copilotToken}`,Accept:`application/json`}});if(!t.ok)throw Error(`Copilot /models returned ${t.status} ${t.statusText}`);return k(await t.json())}function j(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(D);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function M(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(D,JSON.stringify(e))}catch{}}function N(e){return j().find(t=>t.id===e)??null}async function P(e){let t;try{t=await A(e)}catch(e){console.warn(`[github-copilot] Catalog refresh failed; keeping previous cache.`,e instanceof Error?e.message:String(e));return}M(t),await Promise.all(t.filter(e=>e.policyState===`disabled`).map(async t=>{let n=`${e.apiBaseUrl}/models/${encodeURIComponent(t.id)}/policy`;try{let r=await fetch(n,{method:`POST`,headers:{...v,"Content-Type":`application/json`,Authorization:`Bearer ${e.copilotToken}`,"openai-intent":`chat-policy`,"x-interaction-type":`chat-policy`},body:JSON.stringify({state:`enabled`})});r.ok?t.policyState=`enabled`:r.status!==404&&r.status!==400&&console.warn(`[github-copilot] enable policy for ${t.id} returned ${r.status} ${r.statusText}`)}catch(e){console.warn(`[github-copilot] enable policy for ${t.id} failed:`,e instanceof Error?e.message:String(e))}})),M(t)}async function F(e,t){await d({providerId:p,accessToken:e.copilotToken,refreshToken:e.githubAccessToken,tokenExpiresAt:e.expiresAtMs,baseUrl:e.apiBaseUrl,userName:t})}async function I(){let e=x();if(!e?.accessToken||!e.refreshToken)throw Error(`Not logged in to GitHub Copilot — click "Login" in the provider settings`);let t=e.tokenExpiresAt??0;if(Date.now()<t-6e4)return e.accessToken;let n=await E(e.refreshToken);return await F(n,e.userName),n.copilotToken}var L=[`mini`,`nano`,`flash`,`haiku`,`lite`,`embedding`];function R(e){let t=[e.id,e.name??``].flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]});return!L.some(e=>t.some(t=>t.includes(e)))}function z(){if(!x()?.accessToken)return[];let e=j();if(e.length>0)return e.filter(e=>!e.policyState.startsWith(`unavailable:`)).filter(e=>R(e)).map(e=>({id:e.id,name:e.name,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.supportsReasoning,input:e.supportsVision?[`text`,`image`]:[`text`]}));let t;try{t=i(`github-copilot`)}catch{return[]}return t.filter(e=>R({id:e.id,name:e.name})).map(e=>({id:e.id,name:e.name??e.id,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.reasoning,input:e.input}))}function B(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:e.api,provider:p,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}var V={"User-Agent":`GitHubCopilotChat/0.35.0`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`};function H(e){let t=x(),n=t?.baseUrl??`https://api.individual.githubcopilot.com`,i=N(e);if(i)return{api:i.api,baseUrl:n,headers:{...V}};try{let n=r(`github-copilot`,e);return{api:n.api,baseUrl:t?.baseUrl??n.baseUrl,headers:{...n.headers??{},...V}}}catch{return null}}function U(e,t){let n=j(),r=n.findIndex(t=>t.id===e);r<0||(n[r]={...n[r],policyState:`unavailable:${t}`},M(n))}function W(e,t){return`GitHub Copilot rejected "${e}" with model_not_supported. This usually means the model isn't included in your Copilot plan (Opus and other premium models require Copilot Pro / Pro+ / Business / Enterprise). Try Claude Sonnet 4.6 or another model that appears in the picker after a fresh login. Original error: ${t}`}function G(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.type!==`error`)return null;if(t.error&&typeof t.error==`object`){let e=t.error.errorMessage;if(typeof e==`string`)return e}return typeof t.errorMessage==`string`?t.errorMessage:null}function K(e,t){return e===`anthropic-messages`?t?a:u:e===`openai-responses`?t?o:s:t?l:c}function q(e,t,n){let r=G(n);if(r&&/model_not_supported/i.test(r)){U(t.id,`model_not_supported`);let n=W(t.id,r);return console.error(`[github-copilot] Plan-gated model rejection:`,n),e.push(B(t,Error(n))),e.end(),!0}return e.push(n),!1}function J(e,t,n){let r=n instanceof Error?n.message:String(n),i=n;/model_not_supported/i.test(r)&&(U(t.id,`model_not_supported`),i=Error(W(t.id,r))),console.error(`[github-copilot] Stream error:`,i instanceof Error?i.message:String(i)),e.push(B(t,i)),e.end()}async function Y(e,t,n,r,i){try{let a=await I(),o=H(t.id);if(!o)throw Error(`GitHub Copilot does not recognize "${t.id}" — open the picker (the model list refreshes on login) and pick a current model.`);let s={...t,api:o.api,baseUrl:o.baseUrl,headers:o.headers,provider:`github-copilot`},c={...r,apiKey:a},l=K(o.api,i)(s,n,c);for await(let n of l)if(q(e,t,n))return;e.end()}catch(n){J(e,t,n)}}function X(t){return(n,r,i={})=>{let a=e();return Y(a,n,r,i,t),a}}var Z=X(!1),Q=X(!0),$=({userCode:e,verificationUrl:n})=>typeof document>`u`?(console.info(`[github-copilot] Device verification code: ${e} — open ${n} in a browser to authorize.`),Promise.resolve(`continue`)):new Promise(n=>{let r=document.createElement(`div`);r.setAttribute(`data-slicc-overlay`,`github-copilot-device`),r.style.cssText=[`position:fixed`,`top:24px`,`right:24px`,`z-index:2147483647`,`background:#0d1117`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:10px`,`padding:16px 18px`,`box-shadow:0 8px 32px rgba(0,0,0,0.45)`,`font:13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`,`min-width:260px`,`max-width:340px`].join(`;`);let i=document.createElement(`div`);i.textContent=`GitHub Copilot — verification code`,i.style.cssText=`font-weight:600;margin-bottom:8px;color:#7ee787`;let a=document.createElement(`div`);a.textContent=e,a.style.cssText=[`font:600 22px ui-monospace, SFMono-Regular, Menlo, monospace`,`letter-spacing:2px`,`background:#161b22`,`border:1px solid #30363d`,`border-radius:6px`,`padding:10px 12px`,`text-align:center`,`margin-bottom:10px`,`user-select:all`,`cursor:text`].join(`;`);let o=document.createElement(`div`);o.style.cssText=`color:#8b949e;font-size:12px;line-height:1.5`,o.textContent=`Copy the code, then click Continue to open the GitHub authorization page in a new tab.`;let s=document.createElement(`div`);s.style.cssText=`display:flex;gap:8px;margin-top:12px;justify-content:flex-end`;let c=document.createElement(`button`);c.type=`button`,c.textContent=`Cancel`,c.style.cssText=[`background:transparent`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let l=document.createElement(`button`);l.type=`button`,l.textContent=`Copy & Continue`,l.style.cssText=[`background:#238636`,`color:#fff`,`border:0`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let u=()=>{try{r.remove()}catch{}};c.addEventListener(`click`,()=>{u(),n(`cancel`)}),l.addEventListener(`click`,()=>{(async()=>{try{let{copyTextToClipboard:n}=await t(async()=>{let{copyTextToClipboard:e}=await import(`./clipboard-DuHpK59o.js`).then(e=>e.t);return{copyTextToClipboard:e}},__vite__mapDeps([0,1]));await n(e)}catch{}u(),n(`continue`)})()}),s.appendChild(c),s.appendChild(l),r.appendChild(i),r.appendChild(a),r.appendChild(o),r.appendChild(s),document.body.appendChild(r)}),ee={id:p,name:`GitHub Copilot`,description:`Use your GitHub Copilot subscription to access Claude, GPT-5, Codex, Gemini, and Grok models. Sign in with the GitHub device-code flow.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`claude-sonnet-4.6`,oauthTokenDomains:[`*.githubcopilot.com`,`api.individual.githubcopilot.com`,`api.business.githubcopilot.com`,`api.enterprise.githubcopilot.com`],getModelIds:z,onOAuthLoginIntercepted:async(e,t,n)=>{let r=await S(),i=new URL(r.verification_uri);if(i.searchParams.set(`user_code`,r.user_code),await(n?.presentDeviceCode??$)({userCode:r.user_code,verificationUrl:i.toString(),expiresInSeconds:r.expires_in})===`cancel`)throw Error(`GitHub Copilot login cancelled`);let a=new AbortController,o=e({authorizeUrl:i.toString(),redirectUriPattern:b,onCapture:`close`,timeoutMs:r.expires_in*1e3}).catch(e=>(console.warn(`[github-copilot] Launcher failed:`,e instanceof Error?e.message:String(e)),null)),s;try{s=await C(r,a.signal)}catch(e){throw a.abort(),await o,e}await o;let c=await E(s),l;try{let e=await fetch(`https://api.github.com/user`,{headers:{Authorization:`Bearer ${s}`,Accept:`application/json`}});if(e.ok){let t=await e.json();l=t.name||t.login}}catch{}await F(c,l),await P(c),t()},onOAuthLogout:async()=>{await d({providerId:p,accessToken:``})},onSilentRenew:async()=>{let e=x();if(!e?.refreshToken)return null;try{let t=await E(e.refreshToken);return await F(t,e.userName),await P(t),t.copilotToken}catch(e){return console.warn(`[github-copilot] Silent renew failed:`,e instanceof Error?e.message:String(e)),null}}};function te(){n({api:`github-copilot-anthropic`,stream:Z,streamSimple:Q}),n({api:`github-copilot-openai`,stream:Z,streamSimple:Q})}export{ee as config,R as isCopilotConeCompatible,te as register};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,i as t}from"./account-store-DpZitlUY.js";import{p as n}from"./transform-messages-CVIV-EgO.js";import{d as r,p as i,u as a}from"./bedrock-camp-BqDUcxBp.js";import{a as o,c as s,i as c,r as l,s as u,t as d}from"./legacy-api-aliases-BEwZmDvB.js";import"./provider-settings-Br12uT6y.js";const f=`github-copilot`,p=atob(`SXYxLmI1MDdhMDhjODdlY2ZlOTg=`),m={Accept:`application/json`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`},h={Accept:`application/json`,"Content-Type":`application/x-www-form-urlencoded`};function g(){return t().find(e=>e.providerId===f)}async function _(){let e=await fetch(`https://github.com/login/device/code`,{method:`POST`,headers:h,body:new URLSearchParams({client_id:p,scope:`read:user`})});if(!e.ok)throw Error(`GitHub device-code request failed: ${e.status} ${e.statusText} — ${await e.text().catch(()=>``)}`);let t=await e.json();if(typeof t.device_code!=`string`||typeof t.user_code!=`string`||typeof t.verification_uri!=`string`||typeof t.expires_in!=`number`||typeof t.interval!=`number`)throw Error(`GitHub device-code response had an unexpected shape`);return t}async function v(e,t){let n=Date.now()+e.expires_in*1e3,r=Math.max(1e3,Math.floor(e.interval*1e3)),i=1.2;for(;Date.now()<n;){if(t.aborted)throw Error(`Copilot login cancelled`);await y(Math.ceil(r*i),t);let n=await fetch(`https://github.com/login/oauth/access_token`,{method:`POST`,headers:h,body:new URLSearchParams({client_id:p,device_code:e.device_code,grant_type:`urn:ietf:params:oauth:grant-type:device_code`})});if(!n.ok)throw Error(`GitHub token poll failed: ${n.status} ${n.statusText} — ${await n.text().catch(()=>``)}`);let a=await n.json();if(typeof a.access_token==`string`&&a.access_token.length>0)return a.access_token;if(a.error!==`authorization_pending`){if(a.error===`slow_down`){r=typeof a.interval==`number`?a.interval*1e3:r+5e3,i=1.4;continue}if(a.error){let e=a.error_description?`: ${a.error_description}`:``;throw Error(`Device flow failed (${a.error})${e}`)}}}throw Error(`Copilot device flow timed out (device code expired)`)}function y(e,t){return new Promise((n,r)=>{if(t.aborted){r(Error(`Copilot login cancelled`));return}let i=setTimeout(n,e);t.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Copilot login cancelled`))},{once:!0})})}function b(e){let t=e.match(/proxy-ep=([^;]+)/);return t?`https://${t[1].replace(/^proxy\./,`api.`)}`:null}async function x(e){let t=await fetch(`https://api.github.com/copilot_internal/v2/token`,{headers:{...m,Authorization:`Bearer ${e}`}});if(!t.ok){let e=await t.text().catch(()=>``);throw Error(`Copilot token exchange failed: ${t.status} ${t.statusText} — ${e.slice(0,300)}`)}let n=await t.json();if(typeof n.token!=`string`||typeof n.expires_at!=`number`)throw Error(`Copilot token exchange returned an unexpected payload`);if(n.chat_enabled===!1)throw Error(`GitHub Copilot Chat is disabled for this account (no chat features granted)`);return{copilotToken:n.token,expiresAtMs:n.expires_at*1e3-300*1e3,apiBaseUrl:b(n.token)??`https://api.individual.githubcopilot.com`,githubAccessToken:e}}const S=`github-copilot.models.v1`;function C(e){let t=e.supported_endpoints??[],n=(e.vendor??``).toLowerCase(),r=e.id;return n===`anthropic`&&t.includes(`/v1/messages`)?`anthropic-messages`:n===`openai`&&(/^gpt-5/i.test(r)||/codex/i.test(r)||/^o\d/i.test(r))?`openai-responses`:`openai-completions`}function w(e){if(!e||typeof e!=`object`)return[];let t=e.data;if(!Array.isArray(t))return[];let n=[];for(let e of t)e.capabilities?.type&&e.capabilities.type!==`chat`||e.model_picker_enabled!==!1&&e.id&&n.push({id:e.id,name:e.name??e.id,vendor:e.vendor??``,api:C(e),contextWindow:e.capabilities?.limits?.max_context_window_tokens??e.capabilities?.limits?.max_prompt_tokens??128e3,maxTokens:e.capabilities?.limits?.max_output_tokens??8192,supportsTools:e.capabilities?.supports?.tool_calls===!0,supportsStreaming:e.capabilities?.supports?.streaming!==!1,supportsVision:e.capabilities?.supports?.vision===!0,supportsReasoning:e.capabilities?.supports?.adaptive_thinking===!0||Array.isArray(e.capabilities?.supports?.reasoning_effort),policyState:e.policy?.state??`enabled`});return n}async function T(e){let t=await fetch(`${e.apiBaseUrl}/models`,{headers:{...m,Authorization:`Bearer ${e.copilotToken}`,Accept:`application/json`}});if(!t.ok)throw Error(`Copilot /models returned ${t.status} ${t.statusText}`);return w(await t.json())}function E(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(S);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function D(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(S,JSON.stringify(e))}catch{}}function O(e){return E().find(t=>t.id===e)??null}async function k(e){let t;try{t=await T(e)}catch(e){console.warn(`[github-copilot] Catalog refresh failed; keeping previous cache.`,e instanceof Error?e.message:String(e));return}D(t),await Promise.all(t.filter(e=>e.policyState===`disabled`).map(async t=>{let n=`${e.apiBaseUrl}/models/${encodeURIComponent(t.id)}/policy`;try{let r=await fetch(n,{method:`POST`,headers:{...m,"Content-Type":`application/json`,Authorization:`Bearer ${e.copilotToken}`,"openai-intent":`chat-policy`,"x-interaction-type":`chat-policy`},body:JSON.stringify({state:`enabled`})});r.ok?t.policyState=`enabled`:r.status!==404&&r.status!==400&&console.warn(`[github-copilot] enable policy for ${t.id} returned ${r.status} ${r.statusText}`)}catch(e){console.warn(`[github-copilot] enable policy for ${t.id} failed:`,e instanceof Error?e.message:String(e))}})),D(t)}async function A(t,n){await e({providerId:f,accessToken:t.copilotToken,refreshToken:t.githubAccessToken,tokenExpiresAt:t.expiresAtMs,baseUrl:t.apiBaseUrl,userName:n})}async function j(){let e=g();if(!e?.accessToken||!e.refreshToken)throw Error(`Not logged in to GitHub Copilot — click "Login" in the provider settings`);let t=e.tokenExpiresAt??0;if(Date.now()<t-6e4)return e.accessToken;let n=await x(e.refreshToken);return await A(n,e.userName),n.copilotToken}const M=[`mini`,`nano`,`flash`,`haiku`,`lite`,`embedding`];function N(e){let t=[e.id,e.name??``].flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]});return!M.some(e=>t.some(t=>t.includes(e)))}function P(){if(!g()?.accessToken)return[];let e=E();if(e.length>0)return e.filter(e=>!e.policyState.startsWith(`unavailable:`)).filter(e=>N(e)).map(e=>({id:e.id,name:e.name,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.supportsReasoning,input:e.supportsVision?[`text`,`image`]:[`text`]}));let t;try{t=r(`github-copilot`)}catch{return[]}return t.filter(e=>N({id:e.id,name:e.name})).map(e=>({id:e.id,name:e.name??e.id,api:e.api===`anthropic-messages`?`anthropic`:`openai`,context_window:e.contextWindow,max_tokens:e.maxTokens,reasoning:e.reasoning,input:e.input}))}function F(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:e.api,provider:f,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const I={"User-Agent":`GitHubCopilotChat/0.35.0`,"Editor-Version":`vscode/1.107.0`,"Editor-Plugin-Version":`copilot-chat/0.35.0`,"Copilot-Integration-Id":`vscode-chat`};function L(e){let t=g(),n=t?.baseUrl??`https://api.individual.githubcopilot.com`,r=O(e);if(r)return{api:r.api,baseUrl:n,headers:{...I}};try{let n=a(`github-copilot`,e);return{api:n.api,baseUrl:t?.baseUrl??n.baseUrl,headers:{...n.headers??{},...I}}}catch{return null}}function R(e,t){let n=E(),r=n.findIndex(t=>t.id===e);r<0||(n[r]={...n[r],policyState:`unavailable:${t}`},D(n))}function z(e,t){return`GitHub Copilot rejected "${e}" with model_not_supported. This usually means the model isn't included in your Copilot plan (Opus and other premium models require Copilot Pro / Pro+ / Business / Enterprise). Try Claude Sonnet 4.6 or another model that appears in the picker after a fresh login. Original error: ${t}`}function B(e){if(!e||typeof e!=`object`)return null;let t=e;if(t.type!==`error`)return null;if(t.error&&typeof t.error==`object`){let e=t.error.errorMessage;if(typeof e==`string`)return e}return typeof t.errorMessage==`string`?t.errorMessage:null}function V(e,t){return e===`anthropic-messages`?t?o:d:e===`openai-responses`?t?s:c:t?u:l}function H(e,t,n){let r=B(n);if(r&&/model_not_supported/i.test(r)){R(t.id,`model_not_supported`);let n=z(t.id,r);return console.error(`[github-copilot] Plan-gated model rejection:`,n),e.push(F(t,Error(n))),e.end(),!0}return e.push(n),!1}function U(e,t,n){let r=n instanceof Error?n.message:String(n),i=n;/model_not_supported/i.test(r)&&(R(t.id,`model_not_supported`),i=Error(z(t.id,r))),console.error(`[github-copilot] Stream error:`,i instanceof Error?i.message:String(i)),e.push(F(t,i)),e.end()}async function W(e,t,n,r,i){try{let a=await j(),o=L(t.id);if(!o)throw Error(`GitHub Copilot does not recognize "${t.id}" — open the picker (the model list refreshes on login) and pick a current model.`);let s={...t,api:o.api,baseUrl:o.baseUrl,headers:o.headers,provider:`github-copilot`},c={...r,apiKey:a},l=V(o.api,i)(s,n,c);for await(let n of l)if(H(e,t,n))return;e.end()}catch(n){U(e,t,n)}}function G(e){return(t,r,i={})=>{let a=n();return W(a,t,r,i,e),a}}const K=G(!1),q=G(!0),J=({userCode:e,verificationUrl:t})=>typeof document>`u`?(console.info(`[github-copilot] Device verification code: ${e} — open ${t} in a browser to authorize.`),Promise.resolve(`continue`)):new Promise(t=>{let n=document.createElement(`div`);n.setAttribute(`data-slicc-overlay`,`github-copilot-device`),n.style.cssText=[`position:fixed`,`top:24px`,`right:24px`,`z-index:2147483647`,`background:#0d1117`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:10px`,`padding:16px 18px`,`box-shadow:0 8px 32px rgba(0,0,0,0.45)`,`font:13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`,`min-width:260px`,`max-width:340px`].join(`;`);let r=document.createElement(`div`);r.textContent=`GitHub Copilot — verification code`,r.style.cssText=`font-weight:600;margin-bottom:8px;color:#7ee787`;let i=document.createElement(`div`);i.textContent=e,i.style.cssText=[`font:600 22px ui-monospace, SFMono-Regular, Menlo, monospace`,`letter-spacing:2px`,`background:#161b22`,`border:1px solid #30363d`,`border-radius:6px`,`padding:10px 12px`,`text-align:center`,`margin-bottom:10px`,`user-select:all`,`cursor:text`].join(`;`);let a=document.createElement(`div`);a.style.cssText=`color:#8b949e;font-size:12px;line-height:1.5`,a.textContent=`Copy the code, then click Continue to open the GitHub authorization page in a new tab.`;let o=document.createElement(`div`);o.style.cssText=`display:flex;gap:8px;margin-top:12px;justify-content:flex-end`;let s=document.createElement(`button`);s.type=`button`,s.textContent=`Cancel`,s.style.cssText=[`background:transparent`,`color:#e6edf3`,`border:1px solid #30363d`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let c=document.createElement(`button`);c.type=`button`,c.textContent=`Copy & Continue`,c.style.cssText=[`background:#238636`,`color:#fff`,`border:0`,`border-radius:6px`,`padding:6px 12px`,`font:600 12px inherit`,`cursor:pointer`].join(`;`);let l=()=>{try{n.remove()}catch{}};s.addEventListener(`click`,()=>{l(),t(`cancel`)}),c.addEventListener(`click`,()=>{(async()=>{try{let{copyTextToClipboard:t}=await import(`./clipboard-Bd1Wp2vH.js`).then(e=>e.t);await t(e)}catch{}l(),t(`continue`)})()}),o.appendChild(s),o.appendChild(c),n.appendChild(r),n.appendChild(i),n.appendChild(a),n.appendChild(o),document.body.appendChild(n)}),Y={id:f,name:`GitHub Copilot`,description:`Use your GitHub Copilot subscription to access Claude, GPT-5, Codex, Gemini, and Grok models. Sign in with the GitHub device-code flow.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`claude-sonnet-4.6`,oauthTokenDomains:[`*.githubcopilot.com`,`api.individual.githubcopilot.com`,`api.business.githubcopilot.com`,`api.enterprise.githubcopilot.com`],getModelIds:P,onOAuthLoginIntercepted:async(e,t,n)=>{let r=await _(),i=new URL(r.verification_uri);if(i.searchParams.set(`user_code`,r.user_code),await(n?.presentDeviceCode??J)({userCode:r.user_code,verificationUrl:i.toString(),expiresInSeconds:r.expires_in})===`cancel`)throw Error(`GitHub Copilot login cancelled`);let a=new AbortController,o=e({authorizeUrl:i.toString(),redirectUriPattern:`https://github.com/login/device/success*`,onCapture:`close`,timeoutMs:r.expires_in*1e3}).catch(e=>(console.warn(`[github-copilot] Launcher failed:`,e instanceof Error?e.message:String(e)),null)),s;try{s=await v(r,a.signal)}catch(e){throw a.abort(),await o,e}await o;let c=await x(s),l;try{let e=await fetch(`https://api.github.com/user`,{headers:{Authorization:`Bearer ${s}`,Accept:`application/json`}});if(e.ok){let t=await e.json();l=t.name||t.login}}catch{}await A(c,l),await k(c),t()},onOAuthLogout:async()=>{await e({providerId:f,accessToken:``})},onSilentRenew:async()=>{let e=g();if(!e?.refreshToken)return null;try{let t=await x(e.refreshToken);return await A(t,e.userName),await k(t),t.copilotToken}catch(e){return console.warn(`[github-copilot] Silent renew failed:`,e instanceof Error?e.message:String(e)),null}}};function X(){i({api:`github-copilot-anthropic`,stream:K,streamSimple:q}),i({api:`github-copilot-openai`,stream:K,streamSimple:q})}export{Y as config,N as isCopilotConeCompatible,X as register};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as e,o as t,r as n,s as r}from"./transform-messages-CVIV-EgO.js";import{n as i}from"./headers-CbDaTl3c.js";import{t as a}from"./sanitize-unicode-DmIE6hZJ.js";import{n as o,t as s}from"./error-body-C0EnfbdK.js";import{a as c,i as l,n as u,o as d,r as f,s as p,t as m}from"./google-shared-p5XdfI6c.js";let h=0;const g=(n,r,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-generative-ai`,provider:n.provider,model:n.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()};try{let o=i?.apiKey;if(!o)throw Error(`No API key for provider: ${n.provider}`);let s=v(n,o,i?.headers),c=y(n,r,i),u=await i?.onPayload?.(c,n);u!==void 0&&(c=u);let p=await s.models.generateContentStream(c);a.push({type:`start`,partial:e});let m=null,g=e.content,_=()=>g.length-1;for await(let r of p){e.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=f(t);(!m||n&&m.type!==`thinking`||!n&&m.type!==`text`)&&(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:g.length-1,content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:e})),n?(m={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(m),a.push({type:`thinking_start`,contentIndex:_(),partial:e})):(m={type:`text`,text:``},e.content.push(m),a.push({type:`text_start`,contentIndex:_(),partial:e}))),m.type===`thinking`?(m.thinking+=t.text,m.thinkingSignature=d(m.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:_(),delta:t.text,partial:e})):(m.text+=t.text,m.textSignature=d(m.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:_(),delta:t.text,partial:e}))}if(t.functionCall){m&&=(m.type===`text`?a.push({type:`text_end`,contentIndex:_(),content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++h}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:_(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:_(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:_(),toolCall:r,partial:e})}}i?.finishReason&&(e.stopReason=l(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&(e.stopReason=`toolUse`)),r.usageMetadata&&(e.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},t(n,e.usage))}if(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:_(),content:m.text,partial:e}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=s(o(t)),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},_=(e,t,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=n(e,t,i,a);if(!i?.reasoning)return g(e,t,{...o,thinking:{enabled:!1}});let s=r(e,i.reasoning),c=s===`off`?`high`:s,l=e;return x(l)||S(l)||b(l)?g(e,t,{...o,thinking:{enabled:!0,level:w(c,l)}}):g(e,t,{...o,thinking:{enabled:!0,budgetTokens:T(l,c,i.thinkingBudgets)}})};function v(e,t,n){let r={};e.baseUrl&&(r.baseUrl=e.baseUrl,r.apiVersion=``);let a=i({...e.headers,...n});return a&&(r.headers=a),new p({apiKey:t,httpOptions:Object.keys(r).length>0?r:void 0})}function y(e,t,n={}){let r=m(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let o={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:a(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:u(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?o.toolConfig={functionCallingConfig:{mode:c(n.toolChoice)}}:o.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=n.thinking.level,o.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(o.thinkingConfig=C(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);o.abortSignal=n.signal}return{model:e.id,contents:r,config:o}}function b(e){return/gemma-?4/.test(e.id.toLowerCase())}function x(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function S(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function C(e){return x(e)?{thinkingLevel:`LOW`}:S(e)||b(e)?{thinkingLevel:`MINIMAL`}:{thinkingBudget:0}}function w(e,t){if(x(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}if(b(t))switch(e){case`minimal`:case`low`:return`MINIMAL`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function T(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash-lite`)?{minimal:512,low:2048,medium:8192,high:24576}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{g as stream,_ as streamSimple};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./models-CzSI8IsT.js";import{r}from"./transform-messages-fFaW-DLG.js";import{n as i}from"./headers-CbDaTl3c.js";import{t as a}from"./sanitize-unicode-DmIE6hZJ.js";import{n as o,t as s}from"./error-body-C0EnfbdK.js";import{a as c,i as l,n as u,o as d,r as f,s as p,t as m}from"./google-shared-CCJkdw81.js";var h=0,g=(e,r,i)=>{let a=new t;return(async()=>{let t={role:`assistant`,content:[],api:`google-generative-ai`,provider:e.provider,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()};try{let o=i?.apiKey;if(!o)throw Error(`No API key for provider: ${e.provider}`);let s=v(e,o,i?.headers),c=y(e,r,i),u=await i?.onPayload?.(c,e);u!==void 0&&(c=u);let p=await s.models.generateContentStream(c);a.push({type:`start`,partial:t});let m=null,g=t.content,_=()=>g.length-1;for await(let r of p){t.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let e of i.content.parts){if(e.text!==void 0){let n=f(e);(!m||n&&m.type!==`thinking`||!n&&m.type!==`text`)&&(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:g.length-1,content:m.text,partial:t}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:t})),n?(m={type:`thinking`,thinking:``,thinkingSignature:void 0},t.content.push(m),a.push({type:`thinking_start`,contentIndex:_(),partial:t})):(m={type:`text`,text:``},t.content.push(m),a.push({type:`text_start`,contentIndex:_(),partial:t}))),m.type===`thinking`?(m.thinking+=e.text,m.thinkingSignature=d(m.thinkingSignature,e.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:_(),delta:e.text,partial:t})):(m.text+=e.text,m.textSignature=d(m.textSignature,e.thoughtSignature),a.push({type:`text_delta`,contentIndex:_(),delta:e.text,partial:t}))}if(e.functionCall){m&&=(m.type===`text`?a.push({type:`text_end`,contentIndex:_(),content:m.text,partial:t}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:t}),null);let n=e.functionCall.id,r={type:`toolCall`,id:!n||t.content.some(e=>e.type===`toolCall`&&e.id===n)?`${e.functionCall.name}_${Date.now()}_${++h}`:n,name:e.functionCall.name||``,arguments:e.functionCall.args??{},...e.thoughtSignature&&{thoughtSignature:e.thoughtSignature}};t.content.push(r),a.push({type:`toolcall_start`,contentIndex:_(),partial:t}),a.push({type:`toolcall_delta`,contentIndex:_(),delta:JSON.stringify(r.arguments),partial:t}),a.push({type:`toolcall_end`,contentIndex:_(),toolCall:r,partial:t})}}i?.finishReason&&(t.stopReason=l(i.finishReason),t.content.some(e=>e.type===`toolCall`)&&(t.stopReason=`toolUse`)),r.usageMetadata&&(t.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},n(e,t.usage))}if(m&&(m.type===`text`?a.push({type:`text_end`,contentIndex:_(),content:m.text,partial:t}):a.push({type:`thinking_end`,contentIndex:_(),content:m.thinking,partial:t})),i?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)`index`in e&&delete e.index;t.stopReason=i?.signal?.aborted?`aborted`:`error`,t.errorMessage=s(o(e)),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},_=(t,n,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${t.provider}`);let o=r(t,n,i,a);if(!i?.reasoning)return g(t,n,{...o,thinking:{enabled:!1}});let s=e(t,i.reasoning),c=s===`off`?`high`:s,l=t;return x(l)||S(l)||b(l)?g(t,n,{...o,thinking:{enabled:!0,level:w(c,l)}}):g(t,n,{...o,thinking:{enabled:!0,budgetTokens:T(l,c,i.thinkingBudgets)}})};function v(e,t,n){let r={};e.baseUrl&&(r.baseUrl=e.baseUrl,r.apiVersion=``);let a=i({...e.headers,...n});return a&&(r.headers=a),new p({apiKey:t,httpOptions:Object.keys(r).length>0?r:void 0})}function y(e,t,n={}){let r=m(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let o={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:a(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:u(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?o.toolConfig={functionCallingConfig:{mode:c(n.toolChoice)}}:o.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=n.thinking.level,o.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(o.thinkingConfig=C(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);o.abortSignal=n.signal}return{model:e.id,contents:r,config:o}}function b(e){return/gemma-?4/.test(e.id.toLowerCase())}function x(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function S(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function C(e){return x(e)?{thinkingLevel:`LOW`}:S(e)||b(e)?{thinkingLevel:`MINIMAL`}:{thinkingBudget:0}}function w(e,t){if(x(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}if(b(t))switch(e){case`minimal`:case`low`:return`MINIMAL`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function T(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash-lite`)?{minimal:512,low:2048,medium:8192,high:24576}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{g as stream,_ as streamSimple};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as e,o as t,r as n,s as r}from"./transform-messages-CVIV-EgO.js";import{t as i}from"./provider-env-DwY8YuMk.js";import{n as a}from"./headers-CbDaTl3c.js";import{t as o}from"./sanitize-unicode-DmIE6hZJ.js";import{n as s,t as c}from"./error-body-C0EnfbdK.js";import{a as l,c as u,i as d,l as f,n as p,o as m,r as h,s as g,t as _}from"./google-shared-p5XdfI6c.js";const v={THINKING_LEVEL_UNSPECIFIED:f.THINKING_LEVEL_UNSPECIFIED,MINIMAL:f.MINIMAL,LOW:f.LOW,MEDIUM:f.MEDIUM,HIGH:f.HIGH};let y=0;const b=(n,r,i)=>{let a=new e;return(async()=>{let e={role:`assistant`,content:[],api:`google-vertex`,provider:n.provider,model:n.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()};try{let o=O(i),s=o?C(n,o,i?.headers):S(n,A(i),j(i),i?.headers,i?.env),c=M(n,r,i),l=await i?.onPayload?.(c,n);l!==void 0&&(c=l);let u=await s.models.generateContentStream(c);a.push({type:`start`,partial:e});let f=null,p=e.content,g=()=>p.length-1;for await(let r of u){e.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let t of i.content.parts){if(t.text!==void 0){let n=h(t);(!f||n&&f.type!==`thinking`||!n&&f.type!==`text`)&&(f&&(f.type===`text`?a.push({type:`text_end`,contentIndex:p.length-1,content:f.text,partial:e}):a.push({type:`thinking_end`,contentIndex:g(),content:f.thinking,partial:e})),n?(f={type:`thinking`,thinking:``,thinkingSignature:void 0},e.content.push(f),a.push({type:`thinking_start`,contentIndex:g(),partial:e})):(f={type:`text`,text:``},e.content.push(f),a.push({type:`text_start`,contentIndex:g(),partial:e}))),f.type===`thinking`?(f.thinking+=t.text,f.thinkingSignature=m(f.thinkingSignature,t.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:g(),delta:t.text,partial:e})):(f.text+=t.text,f.textSignature=m(f.textSignature,t.thoughtSignature),a.push({type:`text_delta`,contentIndex:g(),delta:t.text,partial:e}))}if(t.functionCall){f&&=(f.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:f.text,partial:e}):a.push({type:`thinking_end`,contentIndex:g(),content:f.thinking,partial:e}),null);let n=t.functionCall.id,r={type:`toolCall`,id:!n||e.content.some(e=>e.type===`toolCall`&&e.id===n)?`${t.functionCall.name}_${Date.now()}_${++y}`:n,name:t.functionCall.name||``,arguments:t.functionCall.args??{},...t.thoughtSignature&&{thoughtSignature:t.thoughtSignature}};e.content.push(r),a.push({type:`toolcall_start`,contentIndex:g(),partial:e}),a.push({type:`toolcall_delta`,contentIndex:g(),delta:JSON.stringify(r.arguments),partial:e}),a.push({type:`toolcall_end`,contentIndex:g(),toolCall:r,partial:e})}}i?.finishReason&&(e.stopReason=d(i.finishReason),e.content.some(e=>e.type===`toolCall`)&&(e.stopReason=`toolUse`)),r.usageMetadata&&(e.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},t(n,e.usage))}if(f&&(f.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:f.text,partial:e}):a.push({type:`thinking_end`,contentIndex:g(),content:f.thinking,partial:e})),i?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:e.stopReason,message:e}),a.end()}catch(t){for(let t of e.content)`index`in t&&delete t.index;e.stopReason=i?.signal?.aborted?`aborted`:`error`,e.errorMessage=c(s(t)),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},x=(e,t,i)=>{let a=n(e,t,i,void 0);if(!i?.reasoning)return b(e,t,{...a,thinking:{enabled:!1}});let o=r(e,i.reasoning),s=o===`off`?`high`:o,c=e;return N(c)||P(c)?b(e,t,{...a,thinking:{enabled:!0,level:I(s,c)}}):b(e,t,{...a,thinking:{enabled:!0,budgetTokens:L(c,s,i.thinkingBudgets)}})};function S(e,t,n,r,i){let a=D(i);return new g({vertexai:!0,project:t,location:n,apiVersion:`v1`,...a?{googleAuthOptions:a}:{},httpOptions:w(e,r)})}function C(e,t,n){return new g({vertexai:!0,apiKey:t,apiVersion:`v1`,httpOptions:w(e,n)})}function w(e,t){let n={},r=T(e.baseUrl);r&&(n.baseUrl=r,n.baseUrlResourceScope=u.COLLECTION,E(r)&&(n.apiVersion=``));let i=a({...e.headers,...t});return i&&(n.headers=i),Object.keys(n).length>0?n:void 0}function T(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function E(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function D(e){let t=i(`GOOGLE_APPLICATION_CREDENTIALS`,e);return t?{keyFilename:t}:void 0}function O(e){let t=e?.apiKey?.trim();if(!(!t||t===`gcp-vertex-credentials`||k(t)))return t}function k(e){return/^<[^>]+>$/.test(e)}function A(e){let t=e?.project||i(`GOOGLE_CLOUD_PROJECT`,e?.env)||i(`GCLOUD_PROJECT`,e?.env);if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function j(e){let t=e?.location||i(`GOOGLE_CLOUD_LOCATION`,e?.env);if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function M(e,t,n={}){let r=_(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let a={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:o(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:p(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?a.toolConfig={functionCallingConfig:{mode:l(n.toolChoice)}}:a.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=v[n.thinking.level],a.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(a.thinkingConfig=F(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);a.abortSignal=n.signal}return{model:e.id,contents:r,config:a}}function N(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function P(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function F(e){let t=e;return N(t)?{thinkingLevel:f.LOW}:P(t)?{thinkingLevel:f.MINIMAL}:{thinkingBudget:0}}function I(e,t){if(N(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function L(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{b as stream,x as streamSimple};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./models-CzSI8IsT.js";import{t as r}from"./provider-env-D37PhSJu.js";import{r as i}from"./transform-messages-fFaW-DLG.js";import{n as a}from"./headers-CbDaTl3c.js";import{t as o}from"./sanitize-unicode-DmIE6hZJ.js";import{n as s,t as c}from"./error-body-C0EnfbdK.js";import{a as l,c as u,i as d,l as f,n as p,o as m,r as h,s as g,t as _}from"./google-shared-CCJkdw81.js";var v=`v1`,y=`gcp-vertex-credentials`,b={THINKING_LEVEL_UNSPECIFIED:f.THINKING_LEVEL_UNSPECIFIED,MINIMAL:f.MINIMAL,LOW:f.LOW,MEDIUM:f.MEDIUM,HIGH:f.HIGH},x=0,S=(e,r,i)=>{let a=new t;return(async()=>{let t={role:`assistant`,content:[],api:`google-vertex`,provider:e.provider,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()};try{let o=A(i),s=o?T(e,o,i?.headers):w(e,M(i),N(i),i?.headers,i?.env),c=P(e,r,i),l=await i?.onPayload?.(c,e);l!==void 0&&(c=l);let u=await s.models.generateContentStream(c);a.push({type:`start`,partial:t});let f=null,p=t.content,g=()=>p.length-1;for await(let r of u){t.responseId||=r.responseId;let i=r.candidates?.[0];if(i?.content?.parts)for(let e of i.content.parts){if(e.text!==void 0){let n=h(e);(!f||n&&f.type!==`thinking`||!n&&f.type!==`text`)&&(f&&(f.type===`text`?a.push({type:`text_end`,contentIndex:p.length-1,content:f.text,partial:t}):a.push({type:`thinking_end`,contentIndex:g(),content:f.thinking,partial:t})),n?(f={type:`thinking`,thinking:``,thinkingSignature:void 0},t.content.push(f),a.push({type:`thinking_start`,contentIndex:g(),partial:t})):(f={type:`text`,text:``},t.content.push(f),a.push({type:`text_start`,contentIndex:g(),partial:t}))),f.type===`thinking`?(f.thinking+=e.text,f.thinkingSignature=m(f.thinkingSignature,e.thoughtSignature),a.push({type:`thinking_delta`,contentIndex:g(),delta:e.text,partial:t})):(f.text+=e.text,f.textSignature=m(f.textSignature,e.thoughtSignature),a.push({type:`text_delta`,contentIndex:g(),delta:e.text,partial:t}))}if(e.functionCall){f&&=(f.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:f.text,partial:t}):a.push({type:`thinking_end`,contentIndex:g(),content:f.thinking,partial:t}),null);let n=e.functionCall.id,r={type:`toolCall`,id:!n||t.content.some(e=>e.type===`toolCall`&&e.id===n)?`${e.functionCall.name}_${Date.now()}_${++x}`:n,name:e.functionCall.name||``,arguments:e.functionCall.args??{},...e.thoughtSignature&&{thoughtSignature:e.thoughtSignature}};t.content.push(r),a.push({type:`toolcall_start`,contentIndex:g(),partial:t}),a.push({type:`toolcall_delta`,contentIndex:g(),delta:JSON.stringify(r.arguments),partial:t}),a.push({type:`toolcall_end`,contentIndex:g(),toolCall:r,partial:t})}}i?.finishReason&&(t.stopReason=d(i.finishReason),t.content.some(e=>e.type===`toolCall`)&&(t.stopReason=`toolUse`)),r.usageMetadata&&(t.usage={input:(r.usageMetadata.promptTokenCount||0)-(r.usageMetadata.cachedContentTokenCount||0),output:(r.usageMetadata.candidatesTokenCount||0)+(r.usageMetadata.thoughtsTokenCount||0),cacheRead:r.usageMetadata.cachedContentTokenCount||0,cacheWrite:0,reasoning:r.usageMetadata.thoughtsTokenCount||0,totalTokens:r.usageMetadata.totalTokenCount||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},n(e,t.usage))}if(f&&(f.type===`text`?a.push({type:`text_end`,contentIndex:g(),content:f.text,partial:t}):a.push({type:`thinking_end`,contentIndex:g(),content:f.thinking,partial:t})),i?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)`index`in e&&delete e.index;t.stopReason=i?.signal?.aborted?`aborted`:`error`,t.errorMessage=c(s(e)),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},C=(t,n,r)=>{let a=i(t,n,r,void 0);if(!r?.reasoning)return S(t,n,{...a,thinking:{enabled:!1}});let o=e(t,r.reasoning),s=o===`off`?`high`:o,c=t;return F(c)||I(c)?S(t,n,{...a,thinking:{enabled:!0,level:R(s,c)}}):S(t,n,{...a,thinking:{enabled:!0,budgetTokens:z(c,s,r.thinkingBudgets)}})};function w(e,t,n,r,i){let a=k(i);return new g({vertexai:!0,project:t,location:n,apiVersion:v,...a?{googleAuthOptions:a}:{},httpOptions:E(e,r)})}function T(e,t,n){return new g({vertexai:!0,apiKey:t,apiVersion:v,httpOptions:E(e,n)})}function E(e,t){let n={},r=D(e.baseUrl);r&&(n.baseUrl=r,n.baseUrlResourceScope=u.COLLECTION,O(r)&&(n.apiVersion=``));let i=a({...e.headers,...t});return i&&(n.headers=i),Object.keys(n).length>0?n:void 0}function D(e){let t=e.trim();if(!(!t||t.includes(`{location}`)))return t}function O(e){try{return new URL(e).pathname.split(`/`).some(e=>/^v\d+(?:beta\d*)?$/.test(e))}catch{return/(?:^|\/)v\d+(?:beta\d*)?(?:\/|$)/.test(e)}}function k(e){let t=r(`GOOGLE_APPLICATION_CREDENTIALS`,e);return t?{keyFilename:t}:void 0}function A(e){let t=e?.apiKey?.trim();if(!(!t||t===y||j(t)))return t}function j(e){return/^<[^>]+>$/.test(e)}function M(e){let t=e?.project||r(`GOOGLE_CLOUD_PROJECT`,e?.env)||r(`GCLOUD_PROJECT`,e?.env);if(!t)throw Error(`Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.`);return t}function N(e){let t=e?.location||r(`GOOGLE_CLOUD_LOCATION`,e?.env);if(!t)throw Error(`Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.`);return t}function P(e,t,n={}){let r=_(e,t),i={};n.temperature!==void 0&&(i.temperature=n.temperature),n.maxTokens!==void 0&&(i.maxOutputTokens=n.maxTokens);let a={...Object.keys(i).length>0&&i,...t.systemPrompt&&{systemInstruction:o(t.systemPrompt)},...t.tools&&t.tools.length>0&&{tools:p(t.tools)}};if(t.tools&&t.tools.length>0&&n.toolChoice?a.toolConfig={functionCallingConfig:{mode:l(n.toolChoice)}}:a.toolConfig=void 0,n.thinking?.enabled&&e.reasoning){let e={includeThoughts:!0};n.thinking.level===void 0?n.thinking.budgetTokens!==void 0&&(e.thinkingBudget=n.thinking.budgetTokens):e.thinkingLevel=b[n.thinking.level],a.thinkingConfig=e}else e.reasoning&&n.thinking&&!n.thinking.enabled&&(a.thinkingConfig=L(e));if(n.signal){if(n.signal.aborted)throw Error(`Request aborted`);a.abortSignal=n.signal}return{model:e.id,contents:r,config:a}}function F(e){return/gemini-3(?:\.\d+)?-pro/.test(e.id.toLowerCase())}function I(e){let t=e.id.toLowerCase();return/gemini-3(?:\.\d+)?-flash/.test(t)||t===`gemini-flash-latest`||t===`gemini-flash-lite-latest`}function L(e){let t=e;return F(t)?{thinkingLevel:f.LOW}:I(t)?{thinkingLevel:f.MINIMAL}:{thinkingBudget:0}}function R(e,t){if(F(t))switch(e){case`minimal`:case`low`:return`LOW`;case`medium`:case`high`:return`HIGH`}switch(e){case`minimal`:return`MINIMAL`;case`low`:return`LOW`;case`medium`:return`MEDIUM`;case`high`:return`HIGH`}}function z(e,t,n){return n?.[t]===void 0?e.id.includes(`2.5-pro`)?{minimal:128,low:2048,medium:8192,high:32768}[t]:e.id.includes(`2.5-flash`)?{minimal:128,low:2048,medium:8192,high:24576}[t]:-1:n[t]}export{S as stream,C as streamSimple};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";var t=class{queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;isComplete;extractResult;constructor(e,t){this.isComplete=e,this.extractResult=t,this.finalResultPromise=new Promise(e=>{this.resolveFinalResult=e})}push(e){if(this.done)return;this.isComplete(e)&&(this.done=!0,this.resolveFinalResult(this.extractResult(e)));let t=this.waiting.shift();t?t({value:e,done:!1}):this.queue.push(e)}end(e){for(this.done=!0,e!==void 0&&this.resolveFinalResult(e);this.waiting.length>0;)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){for(;;)if(this.queue.length>0)yield this.queue.shift();else if(this.done)return;else{let e=await new Promise(e=>this.waiting.push(e));if(e.done)return;yield e.value}}result(){return this.finalResultPromise}},n=class extends t{constructor(){super(e=>e.type===`done`||e.type===`error`,e=>{if(e.type===`done`)return e.message;if(e.type===`error`)return e.error;throw Error(`Unexpected event type for final result`)})}};function r(){return new n}function i(e,t){return{role:`assistant`,content:[],api:e.api,provider:e.provider,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function a(e,t){(async()=>{for await(let n of t)e.push(n);e.end()})()}function o(e,t){let r=new n;return t().then(e=>{a(r,e)}).catch(t=>{let n=i(e,t);r.push({type:`error`,reason:`error`,error:n}),r.end(n)}),r}function s(e){return{stream:(t,n,r)=>o(t,async()=>(await e()).stream(t,n,r)),streamSimple:(t,n,r)=>o(t,async()=>(await e()).streamSimple(t,n,r))}}var c=function(e,t){return typeof e==`string`&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,i,a){return n?t?`.jsx`:`.js`:r&&(!i||!a)?e:r+i+`.`+a.toLowerCase()+`js`}):e},l=t=>e(()=>import(c(t)),[]);function u(){return globalThis.process?.env}function d(){return{async env(e){let t=u()?.[e];return typeof t==`string`&&t.trim().length>0?t:void 0},async fileExists(e){try{let t=await l(`node:fs/promises`),n=e;return n.startsWith(`~`)&&(n=(await l(`node:os`)).homedir()+n.slice(1)),await t.access(n),!0}catch{return!1}}}}var f=class{credentials=new Map;chains=new Map;enqueue(e,t){let n=this.chains.get(e)??Promise.resolve(),r=(async()=>(await n.catch(()=>{}),t()))();return this.chains.set(e,r.catch(()=>{})),r}async read(e){return this.credentials.get(e)}modify(e,t){return this.enqueue(e,async()=>{let n=this.credentials.get(e),r=await t(n);return r!==void 0&&this.credentials.set(e,r),r??n})}delete(e){return this.enqueue(e,async()=>{this.credentials.delete(e)})}},p=class extends Error{code;constructor(e,t,n){super(t,n),this.name=`ModelsError`,this.code=e}};async function m(e,t,n,r,i){let a=i?.env?h(r,i.env):r;if(i?.apiKey!==void 0&&e.auth.apiKey)return _(a,e.auth.apiKey,t,{type:`api_key`,key:i.apiKey,env:i.env});let o=await v(n,e.id);if(o){if(o.type===`oauth`&&e.auth.oauth)return g(n,e.id,e.auth.oauth,o);if(o.type===`api_key`&&e.auth.apiKey){let n=i?.env?{...o,env:{...o.env,...i.env}}:o;return _(a,e.auth.apiKey,t,n)}return}return e.auth.apiKey?_(a,e.auth.apiKey,t,void 0):void 0}function h(e,t){return{env:async n=>t[n]||await e.env(n),fileExists:t=>e.fileExists(t)}}async function g(e,t,n,r){let i=r;if(Date.now()>=i.expires){let r;try{r=await e.modify(t,async e=>{if(e?.type===`oauth`&&!(Date.now()<e.expires))try{return await n.refresh(e)}catch(e){throw new p(`oauth`,`OAuth refresh failed for ${t}`,{cause:e})}})}catch(e){throw e instanceof p?e:new p(`auth`,`Credential store modify failed for ${t}`,{cause:e})}if(r?.type!==`oauth`)return;i=r}try{return{auth:await n.toAuth(i),source:`OAuth`}}catch(e){throw new p(`oauth`,`OAuth auth derivation failed for ${t}`,{cause:e})}}async function _(e,t,n,r){try{return await t.resolve({model:n,ctx:e,credential:r})}catch(e){throw new p(`auth`,`API key auth failed for provider ${n.provider}`,{cause:e})}}async function v(e,t){try{return await e.read(t)}catch(e){throw new p(`auth`,`Credential store read failed for ${t}`,{cause:e})}}var y=class{providers=new Map;credentials;authContext;constructor(e){this.credentials=e?.credentials??new f,this.authContext=e?.authContext??d()}setProvider(e){this.providers.set(e.id,e)}deleteProvider(e){this.providers.delete(e)}clearProviders(){this.providers.clear()}getProviders(){return Array.from(this.providers.values())}getProvider(e){return this.providers.get(e)}getModels(e){if(e!==void 0){let t=this.providers.get(e);if(!t)return[];try{return t.getModels()}catch{return[]}}let t=[];for(let e of this.providers.values())try{t.push(...e.getModels())}catch{}return t}getModel(e,t){return this.getModels(e).find(e=>e.id===t)}async refresh(e){if(e!==void 0){let t=this.providers.get(e);if(!t?.refreshModels)return;try{await t.refreshModels()}catch(t){throw t instanceof p?t:new p(`model_source`,`Model refresh failed for ${e}`,{cause:t})}return}await Promise.allSettled(Array.from(this.providers.values(),async e=>e.refreshModels?.()))}async getAuth(e){let t=this.providers.get(e.provider);if(t)return m(t,e,this.credentials,this.authContext)}requireProvider(e){let t=this.providers.get(e.provider);if(!t)throw new p(`provider`,`Unknown provider: ${e.provider}`);return t}async applyAuth(e,t){let n=await m(this.requireProvider(e),e,this.credentials,this.authContext,{apiKey:t?.apiKey,env:t?.env}),r=n?.auth;if(!r)return{requestModel:e,requestOptions:t};let i=r.baseUrl?{...e,baseUrl:r.baseUrl}:e,a=t?.apiKey??r.apiKey,o=r.headers||t?.headers?{...r.headers,...t?.headers}:void 0,s=n.env||t?.env?{...n.env??{},...t?.env??{}}:void 0;return{requestModel:i,requestOptions:{...t,apiKey:a,headers:o,env:s}}}stream(e,t,n){return o(e,async()=>{let r=this.requireProvider(e),{requestModel:i,requestOptions:a}=await this.applyAuth(e,n);return r.stream(i,t,a)})}async complete(e,t,n){return this.stream(e,t,n).result()}streamSimple(e,t,n){return o(e,async()=>{let r=this.requireProvider(e),{requestModel:i,requestOptions:a}=await this.applyAuth(e,n);return r.streamSimple(i,t,a)})}async completeSimple(e,t,n){return this.streamSimple(e,t,n).result()}};function b(e){return new y(e)}function x(e){let t=e.models,n,r=e.refreshModels,i=typeof e.api.stream==`function`?e.api:void 0,a=i?void 0:e.api,s=e=>i??a?.[e.api],c=(t,n)=>{let r=s(t);return r?n(r):o(t,async()=>{throw new p(`stream`,`Provider ${e.id} has no API implementation for "${t.api}"`)})};return{id:e.id,name:e.name??e.id,baseUrl:e.baseUrl,headers:e.headers,auth:e.auth,getModels:()=>t,refreshModels:r?()=>(n??=(async()=>{try{t=await r()}finally{n=void 0}})(),n):void 0,stream:(e,t,n)=>c(e,r=>r.stream(e,t,n)),streamSimple:(e,t,n)=>c(e,r=>r.streamSimple(e,t,n))}}function S(e,t){let n=t.cacheWrite1h??0,r=t.cacheWrite-n;return t.cost.input=e.cost.input/1e6*t.input,t.cost.output=e.cost.output/1e6*t.output,t.cost.cacheRead=e.cost.cacheRead/1e6*t.cacheRead,t.cost.cacheWrite=(e.cost.cacheWrite*r+e.cost.input*2*n)/1e6,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}var C=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function w(e){return e.reasoning?C.filter(t=>{let n=e.thinkingLevelMap?.[t];return n===null?!1:t!==`xhigh`||n!==void 0}):[`off`]}function T(e,t){let n=w(e);if(n.includes(t))return t;let r=C.indexOf(t);if(r===-1)return n[0]??`off`;for(let e=r;e<C.length;e++){let t=C[e];if(n.includes(t))return t}for(let e=r-1;e>=0;e--){let t=C[e];if(n.includes(t))return t}return n[0]??`off`}export{s as a,x as i,T as n,n as o,b as r,r as s,S as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/quick-llm-DAjUwXji.js","assets/rolldown-runtime-aKtaBQYM.js","assets/compat-DyT25qXb.js","assets/models-CzSI8IsT.js","assets/preload-helper-Czpn1I53.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/account-store-D7kMPjMl.js","assets/context-compaction-dcYYajWb.js","assets/logger-DDBAeTLF.js","assets/src-CS5gSDhT.js","assets/proxied-fetch-D5h5REZy.js","assets/base64-DpPqYZJF.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-CptRwAX3.js","assets/secrets-bridge-client-D6nwnBvr.js","assets/port-bridge-client-CoFZLSYm.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DiQPQy2w.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DdoLg8ey.js","assets/transform-messages-fFaW-DLG.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{F as t,m as n}from"./account-store-D7kMPjMl.js";import{t as r}from"./logger-DDBAeTLF.js";import"./provider-settings-Bynyth1-.js";import{t as i}from"./llm-session-id-bZQs6gBN.js";import{n as a,r as o}from"./session-freezer-ByN74MO5.js";import{SessionStore as s}from"./session-store-DAM8GRJ0.js";var c=r(`new-session`),l=`ui-new-session`,u=2e4,d=250;async function f(e,t,n,r){for(let i of n){let n=`${t}/${i.name}`;r.has(n)||i.type===`directory`&&(await f(e,n,await e.readDir(n),r),[...r].some(e=>e.startsWith(`${n}/`)))||await e.rm(n)}}async function p(e){let t=new Set((await e.listMountPoints()).map(({path:e})=>e).filter(e=>e===`/tmp`||e.startsWith(`/tmp/`)));if(t.has(`/tmp`))return;let n;try{n=await e.readDir(`/tmp`)}catch(t){if(t?.code!==`ENOENT`)throw t;await e.mkdir(`/tmp`,{recursive:!0});return}await f(e,`/tmp`,n,t),await e.mkdir(`/tmp`,{recursive:!0})}async function m(r){let d=r.enrichmentRaceMs??u,f=n()??void 0,p;try{p=t()}catch(e){c.info(`No active model — freezing without LLM enrichment`,{error:e instanceof Error?e.message:String(e)})}let m=p?.provider===`adobe`?{"X-Session-Id":i(l)}:void 0,g=new s;try{await g.init()}catch(e){return c.warn(`SessionStore init failed — cannot freeze`,{error:e instanceof Error?e.message:String(e)}),null}let _=await o({sessionStore:g,vfs:r.vfs,mode:`quick`});if(!_)return null;if(!f||!p)return c.info(`Frozen without enrichment (no LLM credentials) — left pending`,{filename:_.filename}),_;let v=p,y=a(r.vfs,_,{model:v,apiKey:f,headers:m,pickIcon:t=>e(async()=>{let{pickLucideIcon:e}=await import(`./quick-llm-DAjUwXji.js`).then(e=>e.n);return{pickLucideIcon:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])).then(({pickLucideIcon:e})=>e(t))}).catch(e=>(c.warn(`Single-click enrichment threw (entry stays pending)`,{filename:_.filename,error:e instanceof Error?e.message:String(e)}),null)),b=await h(y,d,r.onProgress);return b.kind===`llm`?b.updated?{...b.updated,archive:_.archive}:_:(y.then(e=>{c.info(`Background enrichment resolved after race window`,{filename:_.filename,enriched:e?.filename??null}),r.onBackgroundEnriched?.(e)}),_)}async function h(e,t,n){let r=Date.now(),i,a;n?.(0),n&&(i=setInterval(()=>{n(Math.min(1,(Date.now()-r)/t))},d));let o=new Promise(e=>{a=setTimeout(()=>e({kind:`timer`}),t)}),s=e.then(e=>({kind:`llm`,updated:e}));try{return await Promise.race([s,o])}finally{i&&clearInterval(i),a&&clearTimeout(a),n?.(null)}}async function g(e){let t=new s;try{await t.init()}catch(e){return c.warn(`SessionStore init failed — cannot quick-freeze`,{error:e instanceof Error?e.message:String(e)}),null}return o({sessionStore:t,vfs:e.vfs,mode:`quick`})}export{p as resetNewSessionTmp,m as runNewSessionFreeze,g as runNewSessionFreezeQuick};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/provider-mNJ81Nmf.js","assets/preload-helper-Czpn1I53.js","assets/account-store-D7kMPjMl.js","assets/rolldown-runtime-aKtaBQYM.js","assets/compat-DyT25qXb.js","assets/models-CzSI8IsT.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/context-compaction-dcYYajWb.js","assets/logger-DDBAeTLF.js","assets/src-CS5gSDhT.js","assets/proxied-fetch-D5h5REZy.js","assets/base64-DpPqYZJF.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-CptRwAX3.js","assets/secrets-bridge-client-D6nwnBvr.js","assets/port-bridge-client-CoFZLSYm.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DiQPQy2w.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DdoLg8ey.js","assets/transform-messages-fFaW-DLG.js","assets/provider-store-access-DPdIt2P7.js","assets/global-db-CbuLl-zx.js","assets/types-idfTVsM8.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./preload-helper-Czpn1I53.js";import{R as t,d as n}from"./account-store-D7kMPjMl.js";import{t as r}from"./logger-DDBAeTLF.js";import{t as i}from"./providers-DiQPQy2w.js";import"./provider-settings-Bynyth1-.js";var a=r(`oauth-bootstrap`),o=6e4;async function s(){try{let{ensureAllMcpProvidersRegistered:t}=await e(async()=>{let{ensureAllMcpProvidersRegistered:e}=await import(`./provider-mNJ81Nmf.js`);return{ensureAllMcpProvidersRegistered:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),n=await t();n.length>0&&a.debug(`Pre-registered MCP providers for OAuth bootstrap`,{count:n.length})}catch(e){a.warn(`Failed to pre-register MCP providers for OAuth bootstrap`,{error:e instanceof Error?e.message:String(e)})}let r=n();a.info(`Bootstrap OAuth replicas`,{count:r.length});for(let e of r){if(!e.accessToken){a.debug(`Skipping account without token`,{providerId:e.providerId});continue}if((e.tokenExpiresAt??1/0)-Date.now()<=o){let t=i(e.providerId);if(t?.onSilentRenew)try{if(await t.onSilentRenew()){a.info(`Silently renewed OAuth token`,{providerId:e.providerId});continue}a.warn(`Silent renewal yielded no token; user must re-authenticate`,{providerId:e.providerId});continue}catch(t){a.warn(`Silent renewal failed`,{providerId:e.providerId,error:t instanceof Error?t.message:String(t)});continue}a.debug(`Skipping expired account (no silent-renew hook)`,{providerId:e.providerId});continue}try{await t({providerId:e.providerId,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar}),a.debug(`Bootstrapped OAuth replica`,{providerId:e.providerId})}catch(t){a.error(`OAuth bootstrap failed`,{providerId:e.providerId,error:t instanceof Error?t.message:String(t)})}}}export{s as bootstrapOAuthReplicas};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./models-CzSI8IsT.js";import{a as t}from"./compat-DyT25qXb.js";import{n,o as r}from"./legacy-api-aliases-BQSsmFIS.js";import{R as i,d as a}from"./account-store-D7kMPjMl.js";import"./provider-settings-Bynyth1-.js";var o=`openai-codex`,s=`app_EMoamEEZ73f0CkXaXp7hrann`,c=`https://auth.openai.com/oauth/authorize`,l=`https://auth.openai.com/oauth/token`,u=`openid profile email offline_access`,d=`http://localhost:1455/auth/callback`,f=`http://localhost:1455/auth/callback*`,p=`https://chatgpt.com/backend-api`,m=`openai-codex-responses`,h=`${o}-openai`,g={xhigh:`xhigh`,minimal:`low`},_=[{id:`gpt-5.5`,name:`GPT-5.5`,input:[`text`,`image`]},{id:`gpt-5.4`,name:`GPT-5.4`,input:[`text`,`image`]},{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,input:[`text`,`image`]},{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,input:[`text`,`image`]},{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,input:[`text`]},{id:`gpt-5.2`,name:`GPT-5.2`,input:[`text`,`image`]}].map(e=>({...e,api:`openai`,reasoning:!0,context_window:272e3,max_tokens:128e3,thinkingLevelMap:g}));function v(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function y(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function b(){return v(y(32))}async function x(e){let t=new TextEncoder().encode(e);return v(new Uint8Array(await crypto.subtle.digest(`SHA-256`,t)))}function S(){return v(y(16))}async function C(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,client_id:s,code:e,code_verifier:t,redirect_uri:d}),r=await fetch(l,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw Error(`OpenAI Codex token exchange failed: ${r.status} ${await r.text()}`);let i=await r.json();if(!i.access_token)throw Error(`OpenAI Codex token exchange did not return access_token.`);return i}async function w(e){try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:s}),n=await fetch(l,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});return n.ok?await n.json():(console.error(`[openai-codex] refresh failed:`,n.status,await n.text()),null)}catch(e){return console.error(`[openai-codex] refresh error:`,e instanceof Error?e.message:String(e)),null}}function T(e){try{let t=e.split(`.`);if(t.length!==3)return;let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`);return n.length%4&&(n+=`=`.repeat(4-n.length%4)),JSON.parse(atob(n))}catch{return}}function E(e){let t=T(e)?.[`https://api.openai.com/profile`];return typeof t?.email==`string`?t.email:void 0}function D(e){let t=T(e)?.[`https://api.openai.com/auth`],n=E(e),r=typeof t?.chatgpt_plan_type==`string`?t.chatgpt_plan_type:void 0,i=r?r.charAt(0).toUpperCase()+r.slice(1):void 0;if(n&&i)return`${n} (${i})`;if(n)return n;if(i)return`ChatGPT ${i}`}async function O(e){let t=E(e);if(t)try{let e=t.trim().toLowerCase(),n=new Uint8Array(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e)));return`https://www.gravatar.com/avatar/${Array.from(n).map(e=>e.toString(16).padStart(2,`0`)).join(``)}?s=128&d=404`}catch{return}}function k(){return a().find(e=>e.providerId===o)}async function A(){let e=k();if(!e?.accessToken)throw Error("Not signed in to OpenAI Codex — run `oauth-token openai-codex` or /login");let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await w(e.refreshToken);if(t?.access_token)return await i({providerId:o,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??3600)*1e3,baseUrl:p,userName:D(t.access_token),userAvatar:await O(t.access_token)}),t.access_token}return e.accessToken}function j(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:h,provider:o,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}var M=(t,r,i={})=>{let a=e();return(async()=>{try{let e=await A(),o=n({...t,baseUrl:p,api:m},r,{...i,apiKey:e,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(e){console.error(`[openai-codex] Stream error:`,e instanceof Error?e.message:String(e)),a.push(j(t,e)),a.end()}})(),a},N=(t,n,i)=>{let a=e();return(async()=>{try{let e=await A(),o=r({...t,baseUrl:p,api:m},n,{...i,apiKey:e,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(e){console.error(`[openai-codex] Stream error:`,e instanceof Error?e.message:String(e)),a.push(j(t,e)),a.end()}})(),a},P={id:o,name:`OpenAI Codex (ChatGPT Subscription)`,description:`GPT-5 Codex via your ChatGPT Plus/Pro/Business subscription — OAuth login, no API key needed. Default model is GPT-5.5.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`gpt-5.5`,oauthTokenDomains:[`chatgpt.com`,`*.chatgpt.com`,`auth.openai.com`,`api.openai.com`],getModelIds:()=>_,onOAuthLoginIntercepted:async(e,t,n)=>{let r=b(),a=await x(r),l=S(),m=new URL(c);m.searchParams.set(`response_type`,`code`),m.searchParams.set(`client_id`,s),m.searchParams.set(`redirect_uri`,d),m.searchParams.set(`scope`,n?.scopes??u),m.searchParams.set(`code_challenge`,a),m.searchParams.set(`code_challenge_method`,`S256`),m.searchParams.set(`state`,l),m.searchParams.set(`id_token_add_organizations`,`true`),m.searchParams.set(`codex_cli_simplified_flow`,`true`),m.searchParams.set(`originator`,`pi`);let h=await e({authorizeUrl:m.toString(),redirectUriPattern:f,onCapture:`close`});if(!h)throw Error(`OpenAI Codex OAuth login was cancelled or timed out`);let g=new URL(h),_=g.searchParams.get(`code`),v=g.searchParams.get(`state`);if(!_)throw Error(`OpenAI Codex OAuth redirect did not include a code`);if(v!==l)throw Error(`OpenAI Codex OAuth state mismatch — possible CSRF, aborting`);let y=await C(_,r);await i({providerId:o,accessToken:y.access_token,refreshToken:y.refresh_token,tokenExpiresAt:Date.now()+(y.expires_in??3600)*1e3,baseUrl:p,userName:D(y.access_token),userAvatar:await O(y.access_token)}),t()},onOAuthLogout:async()=>{await i({providerId:o,accessToken:``})},onSilentRenew:async()=>{let e=k();if(!e?.refreshToken)return null;let t=await w(e.refreshToken);return t?.access_token?(await i({providerId:o,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??3600)*1e3,baseUrl:p,userName:D(t.access_token),userAvatar:await O(t.access_token)}),t.access_token):null}};function F(){t({api:h,stream:M,streamSimple:N})}export{P as config,F as register};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e,i as t}from"./account-store-DpZitlUY.js";import{p as n}from"./transform-messages-CVIV-EgO.js";import{p as r}from"./bedrock-camp-BqDUcxBp.js";import{n as i,o as a}from"./legacy-api-aliases-BEwZmDvB.js";import"./provider-settings-Br12uT6y.js";const o=`openai-codex`,s=`app_EMoamEEZ73f0CkXaXp7hrann`,c=`https://auth.openai.com/oauth/token`,l=`http://localhost:1455/auth/callback`,u=`https://chatgpt.com/backend-api`,d=`openai-codex-responses`,f=`${o}-openai`,p={xhigh:`xhigh`,minimal:`low`},m=[{id:`gpt-5.5`,name:`GPT-5.5`,input:[`text`,`image`]},{id:`gpt-5.4`,name:`GPT-5.4`,input:[`text`,`image`]},{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,input:[`text`,`image`]},{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,input:[`text`,`image`]},{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,input:[`text`]},{id:`gpt-5.2`,name:`GPT-5.2`,input:[`text`,`image`]}].map(e=>({...e,api:`openai`,reasoning:!0,context_window:272e3,max_tokens:128e3,thinkingLevelMap:p}));function h(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function g(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function _(){return h(g(32))}async function v(e){let t=new TextEncoder().encode(e);return h(new Uint8Array(await crypto.subtle.digest(`SHA-256`,t)))}function y(){return h(g(16))}async function b(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,client_id:s,code:e,code_verifier:t,redirect_uri:l}),r=await fetch(c,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw Error(`OpenAI Codex token exchange failed: ${r.status} ${await r.text()}`);let i=await r.json();if(!i.access_token)throw Error(`OpenAI Codex token exchange did not return access_token.`);return i}async function x(e){try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:s}),n=await fetch(c,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});return n.ok?await n.json():(console.error(`[openai-codex] refresh failed:`,n.status,await n.text()),null)}catch(e){return console.error(`[openai-codex] refresh error:`,e instanceof Error?e.message:String(e)),null}}function S(e){try{let t=e.split(`.`);if(t.length!==3)return;let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`);return n.length%4&&(n+=`=`.repeat(4-n.length%4)),JSON.parse(atob(n))}catch{return}}function C(e){let t=S(e)?.[`https://api.openai.com/profile`];return typeof t?.email==`string`?t.email:void 0}function w(e){let t=S(e)?.[`https://api.openai.com/auth`],n=C(e),r=typeof t?.chatgpt_plan_type==`string`?t.chatgpt_plan_type:void 0,i=r?r.charAt(0).toUpperCase()+r.slice(1):void 0;if(n&&i)return`${n} (${i})`;if(n)return n;if(i)return`ChatGPT ${i}`}async function T(e){let t=C(e);if(t)try{let e=t.trim().toLowerCase(),n=new Uint8Array(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e)));return`https://www.gravatar.com/avatar/${Array.from(n).map(e=>e.toString(16).padStart(2,`0`)).join(``)}?s=128&d=404`}catch{return}}function E(){return t().find(e=>e.providerId===o)}async function D(){let t=E();if(!t?.accessToken)throw Error("Not signed in to OpenAI Codex — run `oauth-token openai-codex` or /login");let n=t.tokenExpiresAt??0;if(n&&Date.now()+6e4<n)return t.accessToken;if(t.refreshToken){let n=await x(t.refreshToken);if(n?.access_token)return await e({providerId:o,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??3600)*1e3,baseUrl:u,userName:w(n.access_token),userAvatar:await T(n.access_token)}),n.access_token}return t.accessToken}function O(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:f,provider:o,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:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const k=(e,t,r={})=>{let a=n();return(async()=>{try{let n=await D(),o=i({...e,baseUrl:u,api:d},t,{...r,apiKey:n,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(t){console.error(`[openai-codex] Stream error:`,t instanceof Error?t.message:String(t)),a.push(O(e,t)),a.end()}})(),a},A=(e,t,r)=>{let i=n();return(async()=>{try{let n=await D(),o=a({...e,baseUrl:u,api:d},t,{...r,apiKey:n,transport:`sse`});for await(let e of o)i.push(e);i.end()}catch(t){console.error(`[openai-codex] Stream error:`,t instanceof Error?t.message:String(t)),i.push(O(e,t)),i.end()}})(),i},j={id:o,name:`OpenAI Codex (ChatGPT Subscription)`,description:`GPT-5 Codex via your ChatGPT Plus/Pro/Business subscription — OAuth login, no API key needed. Default model is GPT-5.5.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`gpt-5.5`,oauthTokenDomains:[`chatgpt.com`,`*.chatgpt.com`,`auth.openai.com`,`api.openai.com`],getModelIds:()=>m,onOAuthLoginIntercepted:async(t,n,r)=>{let i=_(),a=await v(i),c=y(),d=new URL(`https://auth.openai.com/oauth/authorize`);d.searchParams.set(`response_type`,`code`),d.searchParams.set(`client_id`,s),d.searchParams.set(`redirect_uri`,l),d.searchParams.set(`scope`,r?.scopes??`openid profile email offline_access`),d.searchParams.set(`code_challenge`,a),d.searchParams.set(`code_challenge_method`,`S256`),d.searchParams.set(`state`,c),d.searchParams.set(`id_token_add_organizations`,`true`),d.searchParams.set(`codex_cli_simplified_flow`,`true`),d.searchParams.set(`originator`,`pi`);let f=await t({authorizeUrl:d.toString(),redirectUriPattern:`http://localhost:1455/auth/callback*`,onCapture:`close`});if(!f)throw Error(`OpenAI Codex OAuth login was cancelled or timed out`);let p=new URL(f),m=p.searchParams.get(`code`),h=p.searchParams.get(`state`);if(!m)throw Error(`OpenAI Codex OAuth redirect did not include a code`);if(h!==c)throw Error(`OpenAI Codex OAuth state mismatch — possible CSRF, aborting`);let g=await b(m,i);await e({providerId:o,accessToken:g.access_token,refreshToken:g.refresh_token,tokenExpiresAt:Date.now()+(g.expires_in??3600)*1e3,baseUrl:u,userName:w(g.access_token),userAvatar:await T(g.access_token)}),n()},onOAuthLogout:async()=>{await e({providerId:o,accessToken:``})},onSilentRenew:async()=>{let t=E();if(!t?.refreshToken)return null;let n=await x(t.refreshToken);return n?.access_token?(await e({providerId:o,accessToken:n.access_token,refreshToken:n.refresh_token??t.refreshToken,tokenExpiresAt:Date.now()+(n.expires_in??3600)*1e3,baseUrl:u,userName:w(n.access_token),userAvatar:await T(n.access_token)}),n.access_token):null}};function M(){r({api:f,stream:k,streamSimple:A})}export{j as config,M as register};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t}from"./models-CzSI8IsT.js";import{t as n}from"./preload-helper-Czpn1I53.js";import{t as r}from"./provider-env-D37PhSJu.js";import{r as i}from"./transform-messages-fFaW-DLG.js";import{t as a}from"./headers-CbDaTl3c.js";import{n as o,t as s}from"./error-body-C0EnfbdK.js";import{t as c}from"./openai-prompt-cache-DXo9f3w5.js";import{n as l,r as u,t as d}from"./openai-responses-shared-CCTyKL6A.js";var f=new Set;function p(e){return f.add(e),()=>{f.delete(e)}}function m(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:String(e)}function h(e){if(!(e instanceof Error))return{name:`ThrownValue`,message:m(e)};let t=e.code;return{name:e.name||void 0,message:e.message||e.name,stack:e.stack,code:typeof t==`string`||typeof t==`number`?t:void 0}}function g(e,t,n){return{type:e,timestamp:Date.now(),error:h(t),details:n}}function _(e,t){e.diagnostics=[...e.diagnostics??[],t]}function v(e){let t=e.filter(e=>e!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let n=new AbortController,r=[],i=e=>{n.signal.aborted||n.abort(e.reason)};for(let e of t){if(e.aborted){i(e);break}let t=()=>i(e);e.addEventListener(`abort`,t,{once:!0}),r.push({signal:e,listener:t})}return{signal:n.signal,cleanup:()=>{for(let{signal:e,listener:t}of r)e.removeEventListener(`abort`,t)}}}var y={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function b(e,t){let n=e.toLowerCase(),i=e.toUpperCase();return t?.[n]||t?.[i]||r(n)||r(i)||``}function x(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function S(e,t,n){let r=b(`no_proxy`,n).toLowerCase();return!r||r!==`*`&&r.split(/[,\s]/).every(n=>{if(!n)return!0;let r=n.match(/^(.+):(\d+)$/),i=r?r[1]:n,a=r?Number.parseInt(r[2],10):0;return a&&a!==t?!0:/^[.*]/.test(i)?(i.startsWith(`*`)&&(i=i.slice(1)),!e.endsWith(i)):e!==i})}function C(e,t){let n=x(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!S(n.host.replace(/:\d*$/,``),Number.parseInt(n.port,10)||y[r]||0,t))return``;let i=b(`${r}_proxy`,t)||b(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}var ee=`Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL.`;function te(e,t){let n=C(e,t);if(!n)return;let r;try{r=new URL(n)}catch(e){throw Error(`Invalid proxy URL ${JSON.stringify(n)}: ${e instanceof Error?e.message:String(e)}`)}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`${ee} Got ${r.protocol}`);return r}var w=function(e,t){return typeof e==`string`&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,i,a){return n?t?`.jsx`:`.js`:r&&(!i||!a)?e:r+i+`.`+a.toLowerCase()+`js`}):e},T=null;typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(e=>n(()=>import(w(e)),[]))(`node:os`).then(e=>{T=e});var ne=`https://chatgpt.com/backend-api`,re=`https://api.openai.com/auth`,ie=0,E=1e3,ae=6e4,oe=15e3,D=new Set([`openai`,`openai-codex`,`opencode`]),se=1009,ce=`websocket_connection_limit_reached`,le=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function ue(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function de(e,t){return e===429&&ue(t)?!1:e===429||e===500||e===502||e===503||e===504||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function fe(e){let t=e.get(`retry-after-ms`);if(t!==null){let e=Number(t);if(Number.isFinite(e))return Math.max(0,e)}let n=e.get(`retry-after`);if(!n)return;let r=Number(n);if(Number.isFinite(r))return Math.max(0,r*1e3);let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,i-Date.now())}function pe(e,t){let n=t?.maxRetryDelayMs??ae;return n>0?Math.min(e,n):e}function O(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}function k(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}var A=(e,n,r)=>{let i=new t;return(async()=>{let t={role:`assistant`,content:[],api:`openai-codex-responses`,provider:e.provider,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()};try{let o=r?.apiKey;if(!o)throw Error(`No API key for provider: ${e.provider}`);let s=Ve(o),c=he(e,n,r),l=await r?.onPayload?.(c,e);l!==void 0&&(c=l);let u=r?.sessionId||He(),d=Ue(e.headers,r?.headers,s,o,r?.sessionId),f=We(e.headers,r?.headers,s,o,u),p=JSON.stringify(c),m=k(r?.timeoutMs),h=k(r?.websocketConnectTimeoutMs),y=r?.transport||`auto`,b=y!==`sse`&&H(r?.sessionId);if(b&&U(r?.sessionId),y!==`sse`&&!b){let n=!1,a=!1;for(;;){n=!1;try{if(await ze(_e(e.baseUrl),c,f,t,i,e,()=>{n=!0},m,h,r),r?.signal?.aborted)throw Error(`Request was aborted`);i.push({type:`done`,reason:t.stopReason,message:t}),i.end();return}catch(e){let i=r?.signal?.aborted,o=!n&&be(e);if(!i&&o&&!a){a=!0;continue}if(i||ye(e)&&!o||(_(t,g(`provider_transport_failure`,e,{configuredTransport:y,fallbackTransport:n?void 0:`sse`,eventsEmitted:n,phase:n?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(p).byteLength})),Oe(r?.sessionId,e),n))throw e;U(r?.sessionId);break}}}let x,S,C=r?.maxRetries??ie;for(let t=0;t<=C;t++){if(r?.signal?.aborted)throw Error(`Request was aborted`);try{let n=m!==void 0&&m>0?AbortSignal.timeout(m):void 0,i=v([r?.signal,n]);try{x=await fetch(N(e.baseUrl),{method:`POST`,headers:d,body:p,signal:i.signal})}catch(e){throw n?.aborted&&!r?.signal?.aborted?Error(`Codex SSE response headers timed out after ${m}ms`):e}finally{i.cleanup()}if(await r?.onResponse?.({status:x.status,headers:a(x.headers)},e),x.ok)break;let o=await x.text();if(t<C&&de(x.status,o)){let e=fe(x.headers);await O(e===void 0?E*2**t:x.status===429?pe(e,r):e,r?.signal);continue}let s=await Be(new Response(o,{status:x.status,statusText:x.statusText}));throw Error(s.friendlyMessage||s.message)}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.message===`Request was aborted`))throw Error(`Request was aborted`);if(S=e instanceof Error?e:Error(String(e)),t<C&&!S.message.includes(`usage limit`)){await O(E*2**t,r?.signal);continue}throw S}}if(!x?.ok)throw S??Error(`Failed after retries`);if(!x.body)throw Error(`No response body`);if(i.push({type:`start`,partial:t}),await ve(x,t,i,e,r),r?.signal?.aborted)throw Error(`Request was aborted`);i.push({type:`done`,reason:t.stopReason,message:t}),i.end()}catch(e){for(let e of t.content)delete e.partialJson;t.stopReason=r?.signal?.aborted?`aborted`:`error`,t.errorMessage=s(o(e)),i.push({type:`error`,reason:t.stopReason,error:t}),i.end()}})(),i},me=(t,n,r)=>{let a=r?.apiKey;if(!a)throw Error(`No API key for provider: ${t.provider}`);let o=i(t,n,r,a),s=r?.reasoning?e(t,r.reasoning):void 0,c=s===`off`?void 0:s;return A(t,n,{...o,reasoningEffort:c})};function he(e,t,n){let r=d(e,t,D,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:c(n?.sessionId),tool_choice:`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=l(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function ge(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function j(e,t,n){let r=ge(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function M(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function N(e){let t=(e&&e.trim().length>0?e:ne).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function _e(e){let t=new URL(N(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function ve(e,t,n,r,i){await u(I(Ce(e,i?.signal)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:M,applyServiceTierPricing:(e,t)=>j(e,t,r)})}var P=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},F=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function ye(e){return e instanceof P||e instanceof F}function be(e){return e instanceof P&&e.code===ce}function xe(e){let t=e.error&&typeof e.error==`object`?e.error:void 0;return{code:typeof e.code==`string`?e.code:typeof t?.code==`string`?t.code:void 0,message:typeof e.message==`string`?e.message:typeof t?.message==`string`?t.message:void 0}}async function*I(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let{code:e,message:n}=xe(t);throw new P(`Codex error: ${n||e||JSON.stringify(t)}`,{code:e,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new P(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:Se(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function Se(e){if(typeof e==`string`)return le.has(e)?e:void 0}async function*Ce(e,t){if(!e.body)return;let n=e.body.getReader(),r=new TextDecoder,i=``,a=()=>{n.cancel().catch(()=>{})};t?.addEventListener(`abort`,a,{once:!0});try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{done:e,value:a}=await n.read();if(t?.aborted)throw Error(`Request was aborted`);if(e)break;i+=r.decode(a,{stream:!0});let o=i.indexOf(`
|
|
2
|
-
|
|
3
|
-
`);for(;o!==-1;){let e=i.slice(0,o);i=i.slice(o+2);let t=e.split(`
|
|
4
|
-
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
|
|
5
|
-
`).trim();if(e&&e!==`[DONE]`)try{yield JSON.parse(e)}catch(t){throw new F(`Invalid Codex SSE JSON: ${m(t)}`,{cause:t,payload:e})}}o=i.indexOf(`
|
|
6
|
-
|
|
7
|
-
`)}}}finally{t?.removeEventListener(`abort`,a);try{await n.cancel()}catch{}try{n.releaseLock()}catch{}}}var we=`responses_websockets=2026-02-06`,Te=300*1e3,L=new Map,R=new Map,z=new Set;function B(e){let t=R.get(e);return t||(t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},R.set(e,t)),t}function Ee(e){let t=R.get(e);return t?{...t}:void 0}function De(e){if(e){R.delete(e),z.delete(e);return}R.clear(),z.clear()}function V(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),K(e.socket,1e3,`debug_close`)};if(e){let n=L.get(e);n&&t(n),L.delete(e);return}for(let e of L.values())t(e);L.clear()}p(V);function H(e){return e?z.has(e):!1}function U(e){if(!e)return;let t=B(e);t.sseFallbacks++,t.websocketFallbackActive=H(e)}function Oe(e,t){if(!e)return;z.add(e);let n=B(e);n.websocketFailures++,n.lastWebSocketError=m(t),n.websocketFallbackActive=!0}var W=null;async function ke(e){if(!e&&W)return W;if(typeof process<`u`&&process.versions?.bun){let t=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=te(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`),e);super(t,{...r,...i?{proxy:i.toString()}:{}})}};return e||(W=t),t}let t=globalThis.WebSocket;return typeof t==`function`?t:null}var Ae=class extends Error{code;reason;wasClean;constructor(e,t){super(e),this.name=`WebSocketCloseError`,this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}};function je(e){let t=e.readyState;return typeof t==`number`?t:void 0}function G(e){let t=je(e);return t===void 0||t===1}function K(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function q(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(K(t.socket,1e3,`idle_timeout`),L.delete(e))},Te)}async function J(e,t,n,r=oe,i){let o=await ke(i);if(!o)throw Error(`WebSocket transport is not available in this runtime`);let s=a(t);return delete s[`OpenAI-Beta`],new Promise((t,i)=>{let a=!1,c,l;try{l=new o(e,{headers:s})}catch(e){i(e instanceof Error?e:Error(String(e)));return}let u=()=>{c&&=(clearTimeout(c),void 0),l.removeEventListener(`open`,f),l.removeEventListener(`error`,p),l.removeEventListener(`close`,m),n?.removeEventListener(`abort`,h)},d=(e,t)=>{a||(a=!0,u(),t&&K(l,1e3,t),i(e))},f=()=>{a||(a=!0,u(),t(l))},p=e=>{d(Y(e))},m=e=>{d(X(e))},h=()=>{d(Error(`Request was aborted`),`aborted`)};l.addEventListener(`open`,f),l.addEventListener(`error`,p),l.addEventListener(`close`,m),n?.addEventListener(`abort`,h),r>0&&(c=setTimeout(()=>{d(Error(`WebSocket connect timeout after ${r}ms`),`connect_timeout`)},r)),n?.aborted&&h()})}async function Me(e,t,n,r,i,a){if(!n){let n=await J(e,t,r,i,a);return{socket:n,reused:!1,release:()=>K(n)}}let o=L.get(n);if(o){if(o.idleTimer&&=(clearTimeout(o.idleTimer),void 0),!o.busy&&G(o.socket))return o.busy=!0,{socket:o.socket,entry:o,reused:!0,release:({keep:e}={})=>{if(!e||!G(o.socket)){K(o.socket),L.delete(n);return}o.busy=!1,q(n,o)}};if(o.busy){let n=await J(e,t,r,i,a);return{socket:n,reused:!1,release:()=>{K(n)}}}G(o.socket)||(K(o.socket),L.delete(n))}let s=await J(e,t,r,i,a),c={socket:s,busy:!0};return L.set(n,c),{socket:s,entry:c,reused:!1,release:({keep:e}={})=>{if(!e||!G(c.socket)){K(c.socket),c.idleTimer&&clearTimeout(c.idleTimer),L.get(n)===c&&L.delete(n);return}c.busy=!1,q(n,c)}}}function Y(e){if(e&&typeof e==`object`){let t=`message`in e?e.message:void 0;if(typeof t==`string`&&t.length>0)return Error(t);let n=`error`in e?e.error:void 0;if(n instanceof Error&&n.message.length>0)return n;if(n&&typeof n==`object`&&`message`in n){let e=n.message;if(typeof e==`string`&&e.length>0)return Error(e)}}return Error(`WebSocket error`)}function X(e){if(e&&typeof e==`object`){let t=`code`in e?e.code:void 0,n=`reason`in e?e.reason:void 0,r=`wasClean`in e?e.wasClean:void 0,i=typeof t==`number`?` ${t}`:``,a=typeof n==`string`&&n.length>0?` ${n}`:``;return!a&&t===se&&(a=` message too big`),new Ae(`WebSocket closed${i}${a}`.trim(),{code:typeof t==`number`?t:void 0,reason:typeof n==`string`&&n.length>0?n:void 0,wasClean:typeof r==`boolean`?r:void 0})}return Error(`WebSocket closed`)}async function Ne(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==`object`&&`arrayBuffer`in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*Pe(e,t,n){let r=[],i=null,a=!1,o=null,s=!1,c=()=>{if(!i)return;let e=i;i=null,e()},l=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await Ne(e.data),!t))return;let n=JSON.parse(t),i=typeof n.type==`string`?n.type:``;(i===`response.completed`||i===`response.done`||i===`response.incomplete`)&&(s=!0,a=!0),r.push(n),c()}catch(e){o=new F(`Invalid Codex WebSocket JSON: ${m(e)}`,{cause:e,payload:t}),a=!0,c()}})()},u=e=>{o=Y(e),a=!0,c()},d=e=>{if(s){a=!0,c();return}o||=X(e),a=!0,c()},f=()=>{o=Error(`Request was aborted`),a=!0,c()};e.addEventListener(`message`,l),e.addEventListener(`error`,u),e.addEventListener(`close`,d),t?.addEventListener(`abort`,f);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(r.length>0){yield r.shift();continue}if(a)break;let s;await new Promise((t,r)=>{i=t,n!==void 0&&n>0&&(s=setTimeout(()=>{let t=Error(`WebSocket idle timeout after ${n}ms`);o=t,a=!0,i=null,K(e,1e3,`idle_timeout`),r(t)},n))}).finally(()=>{s&&clearTimeout(s)})}if(o)throw o;if(!s)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,l),e.removeEventListener(`error`,u),e.removeEventListener(`close`,d),t?.removeEventListener(`abort`,f)}}function Z(e){let{input:t,previous_response_id:n,...r}=e;return r}function Fe(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function Q(e,t){return JSON.stringify(Z(e))===JSON.stringify(Z(t))}function Ie(e,t){if(!Q(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&Fe(n.slice(0,r.length),r))return n.slice(r.length)}function Le(e,t){let n=e.continuation;if(!n)return t;let r=Ie(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*Re(e,t,n,r){let i=!1;for await(let a of e)i||(i=!0,r(),n.push({type:`start`,partial:t})),yield a}async function ze(e,t,n,r,i,a,o,s,c,l){let{socket:f,entry:p,reused:m,release:h}=await Me(e,n,l?.sessionId,l?.signal,c,l?.env),g=!0,_=l?.transport===`websocket-cached`||l?.transport===`auto`,v=t,y=_&&p?Le(p,v):v,b=l?.sessionId?B(l.sessionId):void 0;b&&(b.requests++,m?b.connectionsReused++:b.connectionsCreated++,_&&b.cachedContextRequests++,y.store===!0&&b.storeTrueRequests++,b.lastInputItems=y.input?.length??0,y.previous_response_id?(b.deltaRequests++,b.lastDeltaInputItems=y.input?.length??0,b.lastPreviousResponseId=y.previous_response_id):(b.fullContextRequests++,b.lastDeltaInputItems=void 0,b.lastPreviousResponseId=void 0));try{if(f.send(JSON.stringify({type:`response.create`,...y})),await u(Re(I(Pe(f,l?.signal,s)),r,i,o),r,i,a,{serviceTier:l?.serviceTier,resolveServiceTier:M,applyServiceTierPricing:(e,t)=>j(e,t,a)}),l?.signal?.aborted)g=!1;else if(_&&p&&r.responseId){let e=d(a,{messages:[r]},D,{includeSystemPrompt:!1}).filter(e=>e.type!==`function_call_output`);p.continuation={lastRequestBody:v,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw p&&(p.continuation=void 0),g=!1,e}finally{h({keep:g})}}async function Be(e){let t=await e.text(),n=t||e.statusText||`Request failed`,r;try{let i=JSON.parse(t)?.error;if(i){let t=i.code||i.type||``;if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(t)||e.status===429){let e=i.plan_type?` (${i.plan_type.toLowerCase()} plan)`:``,t=i.resets_at?Math.max(0,Math.round((i.resets_at*1e3-Date.now())/6e4)):void 0;r=`You have hit your ChatGPT usage limit${e}.${t===void 0?``:` Try again in ~${t} min.`}`.trim()}n=i.message||r||n}}catch{}return{message:n,friendlyMessage:r}}function Ve(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[re]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function He(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function $(e,t,n,r){let i=new Headers(e);for(let[e,n]of Object.entries(t||{}))n===null?i.delete(e):i.set(e,n);i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i.set(`originator`,`pi`);let a=T?`pi (${T.platform()} ${T.release()}; ${T.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function Ue(e,t,n,r,i){let a=$(e,t,n,r);return a.set(`OpenAI-Beta`,`responses=experimental`),a.set(`accept`,`text/event-stream`),a.set(`content-type`,`application/json`),i&&(a.set(`session-id`,i),a.set(`x-client-request-id`,i)),a}function We(e,t,n,r,i){let a=$(e,t,n,r);return a.delete(`accept`),a.delete(`content-type`),a.delete(`OpenAI-Beta`),a.delete(`openai-beta`),a.set(`OpenAI-Beta`,we),a.set(`x-client-request-id`,i),a.set(`session-id`,i),a}export{V as closeOpenAICodexWebSocketSessions,Ee as getOpenAICodexWebSocketDebugStats,De as resetOpenAICodexWebSocketDebugStats,A as stream,me as streamSimple};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{f as e,r as t,s as n}from"./transform-messages-CVIV-EgO.js";import{t as r}from"./provider-env-DwY8YuMk.js";import{t as i}from"./headers-CbDaTl3c.js";import{n as a,t as o}from"./error-body-C0EnfbdK.js";import{t as s}from"./openai-prompt-cache-DXo9f3w5.js";import{n as c,r as l,t as u}from"./openai-responses-shared-bVKJbQt9.js";const d=new Set;function f(e){return d.add(e),()=>{d.delete(e)}}function p(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:String(e)}function m(e){if(!(e instanceof Error))return{name:`ThrownValue`,message:p(e)};let t=e.code;return{name:e.name||void 0,message:e.message||e.name,stack:e.stack,code:typeof t==`string`||typeof t==`number`?t:void 0}}function h(e,t,n){return{type:e,timestamp:Date.now(),error:m(t),details:n}}function g(e,t){e.diagnostics=[...e.diagnostics??[],t]}function _(e){let t=e.filter(e=>e!==void 0);if(t.length===0)return{cleanup:()=>{}};if(t.length===1)return{signal:t[0],cleanup:()=>{}};let n=new AbortController,r=[],i=e=>{n.signal.aborted||n.abort(e.reason)};for(let e of t){if(e.aborted){i(e);break}let t=()=>i(e);e.addEventListener(`abort`,t,{once:!0}),r.push({signal:e,listener:t})}return{signal:n.signal,cleanup:()=>{for(let{signal:e,listener:t}of r)e.removeEventListener(`abort`,t)}}}const v={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function y(e,t){let n=e.toLowerCase(),i=e.toUpperCase();return t?.[n]||t?.[i]||r(n)||r(i)||``}function b(e){if(e instanceof URL)return e;try{return new URL(e)}catch{return}}function x(e,t,n){let r=y(`no_proxy`,n).toLowerCase();return!r||r!==`*`&&r.split(/[,\s]/).every(n=>{if(!n)return!0;let r=n.match(/^(.+):(\d+)$/),i=r?r[1]:n,a=r?Number.parseInt(r[2],10):0;return a&&a!==t?!0:/^[.*]/.test(i)?(i.startsWith(`*`)&&(i=i.slice(1)),!e.endsWith(i)):e!==i})}function S(e,t){let n=b(e);if(!n?.protocol||!n.host)return``;let r=n.protocol.split(`:`,1)[0];if(!x(n.host.replace(/:\d*$/,``),Number.parseInt(n.port,10)||v[r]||0,t))return``;let i=y(`${r}_proxy`,t)||y(`all_proxy`,t);return i&&!i.includes(`://`)&&(i=`${r}://${i}`),i}function C(e,t){let n=S(e,t);if(!n)return;let r;try{r=new URL(n)}catch(e){throw Error(`Invalid proxy URL ${JSON.stringify(n)}: ${e instanceof Error?e.message:String(e)}`)}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`Unsupported proxy protocol. SOCKS and PAC proxy URLs are not supported; use an HTTP or HTTPS proxy URL. Got ${r.protocol}`);return r}var ee=function(e,t){return typeof e==`string`&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(e,n,r,i,a){return n?t?`.jsx`:`.js`:r&&(!i||!a)?e:r+i+`.`+a.toLowerCase()+`js`}):e};let w=null;typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(e=>import(ee(e)))(`node:os`).then(e=>{w=e});const T=1e3,E=new Set([`openai`,`openai-codex`,`opencode`]),te=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function ne(e){return/GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(e)}function re(e,t){return e===429&&ne(t)?!1:e===429||e===500||e===502||e===503||e===504||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function ie(e){let t=e.get(`retry-after-ms`);if(t!==null){let e=Number(t);if(Number.isFinite(e))return Math.max(0,e)}let n=e.get(`retry-after`);if(!n)return;let r=Number(n);if(Number.isFinite(r))return Math.max(0,r*1e3);let i=Date.parse(n);if(!Number.isNaN(i))return Math.max(0,i-Date.now())}function ae(e,t){let n=t?.maxRetryDelayMs??6e4;return n>0?Math.min(e,n):e}function D(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}function O(e){if(e!==void 0){if(!Number.isFinite(e)||e<0)throw Error(`Invalid timeoutMs: ${String(e)}`);return Math.floor(e)}}const k=(t,n,r)=>{let s=new e;return(async()=>{let e={role:`assistant`,content:[],api:`openai-codex-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:`stop`,timestamp:Date.now()};try{let a=r?.apiKey;if(!a)throw Error(`No API key for provider: ${t.provider}`);let o=Ae(a),c=se(t,n,r),l=await r?.onPayload?.(c,t);l!==void 0&&(c=l);let u=r?.sessionId||je(),d=Me(t.headers,r?.headers,o,a,r?.sessionId),f=Ne(t.headers,r?.headers,o,a,u),p=JSON.stringify(c),m=O(r?.timeoutMs),v=O(r?.websocketConnectTimeoutMs),y=r?.transport||`auto`,b=y!==`sse`&&H(r?.sessionId);if(b&&U(r?.sessionId),y!==`sse`&&!b){let n=!1,i=!1;for(;;){n=!1;try{if(await Q(ce(t.baseUrl),c,f,e,s,t,()=>{n=!0},m,v,r),r?.signal?.aborted)throw Error(`Request was aborted`);s.push({type:`done`,reason:e.stopReason,message:e}),s.end();return}catch(t){let a=r?.signal?.aborted,o=!n&&de(t);if(!a&&o&&!i){i=!0;continue}if(a||ue(t)&&!o||(g(e,h(`provider_transport_failure`,t,{configuredTransport:y,fallbackTransport:n?void 0:`sse`,eventsEmitted:n,phase:n?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(p).byteLength})),_e(r?.sessionId,t),n))throw t;U(r?.sessionId);break}}}let x,S,C=r?.maxRetries??0;for(let e=0;e<=C;e++){if(r?.signal?.aborted)throw Error(`Request was aborted`);try{let n=m!==void 0&&m>0?AbortSignal.timeout(m):void 0,a=_([r?.signal,n]);try{x=await fetch(N(t.baseUrl),{method:`POST`,headers:d,body:p,signal:a.signal})}catch(e){throw n?.aborted&&!r?.signal?.aborted?Error(`Codex SSE response headers timed out after ${m}ms`):e}finally{a.cleanup()}if(await r?.onResponse?.({status:x.status,headers:i(x.headers)},t),x.ok)break;let o=await x.text();if(e<C&&re(x.status,o)){let t=ie(x.headers);await D(t===void 0?T*2**e:x.status===429?ae(t,r):t,r?.signal);continue}let s=await ke(new Response(o,{status:x.status,statusText:x.statusText}));throw Error(s.friendlyMessage||s.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(S=t instanceof Error?t:Error(String(t)),e<C&&!S.message.includes(`usage limit`)){await D(T*2**e,r?.signal);continue}throw S}}if(!x?.ok)throw S??Error(`Failed after retries`);if(!x.body)throw Error(`No response body`);if(s.push({type:`start`,partial:e}),await le(x,e,s,t,r),r?.signal?.aborted)throw Error(`Request was aborted`);s.push({type:`done`,reason:e.stopReason,message:e}),s.end()}catch(t){for(let t of e.content)delete t.partialJson;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=o(a(t)),s.push({type:`error`,reason:e.stopReason,error:e}),s.end()}})(),s},oe=(e,r,i)=>{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=t(e,r,i,a),s=i?.reasoning?n(e,i.reasoning):void 0,c=s===`off`?void 0:s;return k(e,r,{...o,reasoningEffort:c})};function se(e,t,n){let r=u(e,t,E,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:s(n?.sessionId),tool_choice:`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=c(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function A(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function j(e,t,n){let r=A(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function M(e,t){return e==="default"&&(t===`flex`||t===`priority`)?t:e??t}function N(e){let t=(e&&e.trim().length>0?e:`https://chatgpt.com/backend-api`).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function ce(e){let t=new URL(N(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function le(e,t,n,r,i){await l(I(me(e,i?.signal)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:M,applyServiceTierPricing:(e,t)=>j(e,t,r)})}var P=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},F=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function ue(e){return e instanceof P||e instanceof F}function de(e){return e instanceof P&&e.code===`websocket_connection_limit_reached`}function fe(e){let t=e.error&&typeof e.error==`object`?e.error:void 0;return{code:typeof e.code==`string`?e.code:typeof t?.code==`string`?t.code:void 0,message:typeof e.message==`string`?e.message:typeof t?.message==`string`?t.message:void 0}}async function*I(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let{code:e,message:n}=fe(t);throw new P(`Codex error: ${n||e||JSON.stringify(t)}`,{code:e,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new P(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:pe(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function pe(e){if(typeof e==`string`)return te.has(e)?e:void 0}async function*me(e,t){if(!e.body)return;let n=e.body.getReader(),r=new TextDecoder,i=``,a=()=>{n.cancel().catch(()=>{})};t?.addEventListener(`abort`,a,{once:!0});try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);let{done:e,value:a}=await n.read();if(t?.aborted)throw Error(`Request was aborted`);if(e)break;i+=r.decode(a,{stream:!0});let o=i.indexOf(`
|
|
2
|
-
|
|
3
|
-
`);for(;o!==-1;){let e=i.slice(0,o);i=i.slice(o+2);let t=e.split(`
|
|
4
|
-
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
|
|
5
|
-
`).trim();if(e&&e!==`[DONE]`)try{yield JSON.parse(e)}catch(t){throw new F(`Invalid Codex SSE JSON: ${p(t)}`,{cause:t,payload:e})}}o=i.indexOf(`
|
|
6
|
-
|
|
7
|
-
`)}}}finally{t?.removeEventListener(`abort`,a);try{await n.cancel()}catch{}try{n.releaseLock()}catch{}}}const L=new Map,R=new Map,z=new Set;function B(e){let t=R.get(e);return t||(t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},R.set(e,t)),t}function he(e){let t=R.get(e);return t?{...t}:void 0}function ge(e){if(e){R.delete(e),z.delete(e);return}R.clear(),z.clear()}function V(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),K(e.socket,1e3,`debug_close`)};if(e){let n=L.get(e);n&&t(n),L.delete(e);return}for(let e of L.values())t(e);L.clear()}f(V);function H(e){return e?z.has(e):!1}function U(e){if(!e)return;let t=B(e);t.sseFallbacks++,t.websocketFallbackActive=H(e)}function _e(e,t){if(!e)return;z.add(e);let n=B(e);n.websocketFailures++,n.lastWebSocketError=p(t),n.websocketFallbackActive=!0}let W=null;async function ve(e){if(!e&&W)return W;if(typeof process<`u`&&process.versions?.bun){let t=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=C(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`),e);super(t,{...r,...i?{proxy:i.toString()}:{}})}};return e||(W=t),t}let t=globalThis.WebSocket;return typeof t==`function`?t:null}var ye=class extends Error{code;reason;wasClean;constructor(e,t){super(e),this.name=`WebSocketCloseError`,this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}};function be(e){let t=e.readyState;return typeof t==`number`?t:void 0}function G(e){let t=be(e);return t===void 0||t===1}function K(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function q(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(K(t.socket,1e3,`idle_timeout`),L.delete(e))},3e5)}async function J(e,t,n,r=15e3,a){let o=await ve(a);if(!o)throw Error(`WebSocket transport is not available in this runtime`);let s=i(t);return delete s[`OpenAI-Beta`],new Promise((t,i)=>{let a=!1,c,l;try{l=new o(e,{headers:s})}catch(e){i(e instanceof Error?e:Error(String(e)));return}let u=()=>{c&&=(clearTimeout(c),void 0),l.removeEventListener(`open`,f),l.removeEventListener(`error`,p),l.removeEventListener(`close`,m),n?.removeEventListener(`abort`,h)},d=(e,t)=>{a||(a=!0,u(),t&&K(l,1e3,t),i(e))},f=()=>{a||(a=!0,u(),t(l))},p=e=>{d(Y(e))},m=e=>{d(X(e))},h=()=>{d(Error(`Request was aborted`),`aborted`)};l.addEventListener(`open`,f),l.addEventListener(`error`,p),l.addEventListener(`close`,m),n?.addEventListener(`abort`,h),r>0&&(c=setTimeout(()=>{d(Error(`WebSocket connect timeout after ${r}ms`),`connect_timeout`)},r)),n?.aborted&&h()})}async function xe(e,t,n,r,i,a){if(!n){let n=await J(e,t,r,i,a);return{socket:n,reused:!1,release:()=>K(n)}}let o=L.get(n);if(o){if(o.idleTimer&&=(clearTimeout(o.idleTimer),void 0),!o.busy&&G(o.socket))return o.busy=!0,{socket:o.socket,entry:o,reused:!0,release:({keep:e}={})=>{if(!e||!G(o.socket)){K(o.socket),L.delete(n);return}o.busy=!1,q(n,o)}};if(o.busy){let n=await J(e,t,r,i,a);return{socket:n,reused:!1,release:()=>{K(n)}}}G(o.socket)||(K(o.socket),L.delete(n))}let s=await J(e,t,r,i,a),c={socket:s,busy:!0};return L.set(n,c),{socket:s,entry:c,reused:!1,release:({keep:e}={})=>{if(!e||!G(c.socket)){K(c.socket),c.idleTimer&&clearTimeout(c.idleTimer),L.get(n)===c&&L.delete(n);return}c.busy=!1,q(n,c)}}}function Y(e){if(e&&typeof e==`object`){let t=`message`in e?e.message:void 0;if(typeof t==`string`&&t.length>0)return Error(t);let n=`error`in e?e.error:void 0;if(n instanceof Error&&n.message.length>0)return n;if(n&&typeof n==`object`&&`message`in n){let e=n.message;if(typeof e==`string`&&e.length>0)return Error(e)}}return Error(`WebSocket error`)}function X(e){if(e&&typeof e==`object`){let t=`code`in e?e.code:void 0,n=`reason`in e?e.reason:void 0,r=`wasClean`in e?e.wasClean:void 0,i=typeof t==`number`?` ${t}`:``,a=typeof n==`string`&&n.length>0?` ${n}`:``;return!a&&t===1009&&(a=` message too big`),new ye(`WebSocket closed${i}${a}`.trim(),{code:typeof t==`number`?t:void 0,reason:typeof n==`string`&&n.length>0?n:void 0,wasClean:typeof r==`boolean`?r:void 0})}return Error(`WebSocket closed`)}async function Se(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==`object`&&`arrayBuffer`in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*Ce(e,t,n){let r=[],i=null,a=!1,o=null,s=!1,c=()=>{if(!i)return;let e=i;i=null,e()},l=e=>{(async()=>{let t=null;try{if(!e||typeof e!=`object`||!(`data`in e)||(t=await Se(e.data),!t))return;let n=JSON.parse(t),i=typeof n.type==`string`?n.type:``;(i===`response.completed`||i===`response.done`||i===`response.incomplete`)&&(s=!0,a=!0),r.push(n),c()}catch(e){o=new F(`Invalid Codex WebSocket JSON: ${p(e)}`,{cause:e,payload:t}),a=!0,c()}})()},u=e=>{o=Y(e),a=!0,c()},d=e=>{if(s){a=!0,c();return}o||=X(e),a=!0,c()},f=()=>{o=Error(`Request was aborted`),a=!0,c()};e.addEventListener(`message`,l),e.addEventListener(`error`,u),e.addEventListener(`close`,d),t?.addEventListener(`abort`,f);try{for(;;){if(t?.aborted)throw Error(`Request was aborted`);if(r.length>0){yield r.shift();continue}if(a)break;let s;await new Promise((t,r)=>{i=t,n!==void 0&&n>0&&(s=setTimeout(()=>{let t=Error(`WebSocket idle timeout after ${n}ms`);o=t,a=!0,i=null,K(e,1e3,`idle_timeout`),r(t)},n))}).finally(()=>{s&&clearTimeout(s)})}if(o)throw o;if(!s)throw Error(`WebSocket stream closed before response.completed`)}finally{e.removeEventListener(`message`,l),e.removeEventListener(`error`,u),e.removeEventListener(`close`,d),t?.removeEventListener(`abort`,f)}}function Z(e){let{input:t,previous_response_id:n,...r}=e;return r}function we(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function Te(e,t){return JSON.stringify(Z(e))===JSON.stringify(Z(t))}function Ee(e,t){if(!Te(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&we(n.slice(0,r.length),r))return n.slice(r.length)}function De(e,t){let n=e.continuation;if(!n)return t;let r=Ee(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*Oe(e,t,n,r){let i=!1;for await(let a of e)i||(i=!0,r(),n.push({type:`start`,partial:t})),yield a}async function Q(e,t,n,r,i,a,o,s,c,d){let{socket:f,entry:p,reused:m,release:h}=await xe(e,n,d?.sessionId,d?.signal,c,d?.env),g=!0,_=d?.transport===`websocket-cached`||d?.transport===`auto`,v=t,y=_&&p?De(p,v):v,b=d?.sessionId?B(d.sessionId):void 0;b&&(b.requests++,m?b.connectionsReused++:b.connectionsCreated++,_&&b.cachedContextRequests++,y.store===!0&&b.storeTrueRequests++,b.lastInputItems=y.input?.length??0,y.previous_response_id?(b.deltaRequests++,b.lastDeltaInputItems=y.input?.length??0,b.lastPreviousResponseId=y.previous_response_id):(b.fullContextRequests++,b.lastDeltaInputItems=void 0,b.lastPreviousResponseId=void 0));try{if(f.send(JSON.stringify({type:`response.create`,...y})),await l(Oe(I(Ce(f,d?.signal,s)),r,i,o),r,i,a,{serviceTier:d?.serviceTier,resolveServiceTier:M,applyServiceTierPricing:(e,t)=>j(e,t,a)}),d?.signal?.aborted)g=!1;else if(_&&p&&r.responseId){let e=u(a,{messages:[r]},E,{includeSystemPrompt:!1}).filter(e=>e.type!==`function_call_output`);p.continuation={lastRequestBody:v,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw p&&(p.continuation=void 0),g=!1,e}finally{h({keep:g})}}async function ke(e){let t=await e.text(),n=t||e.statusText||`Request failed`,r;try{let i=JSON.parse(t)?.error;if(i){let t=i.code||i.type||``;if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(t)||e.status===429){let e=i.plan_type?` (${i.plan_type.toLowerCase()} plan)`:``,t=i.resets_at?Math.max(0,Math.round((i.resets_at*1e3-Date.now())/6e4)):void 0;r=`You have hit your ChatGPT usage limit${e}.${t===void 0?``:` Try again in ~${t} min.`}`.trim()}n=i.message||r||n}}catch{}return{message:n,friendlyMessage:r}}function Ae(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[`https://api.openai.com/auth`]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function je(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function $(e,t,n,r){let i=new Headers(e);for(let[e,n]of Object.entries(t||{}))n===null?i.delete(e):i.set(e,n);i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i.set(`originator`,`pi`);let a=w?`pi (${w.platform()} ${w.release()}; ${w.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function Me(e,t,n,r,i){let a=$(e,t,n,r);return a.set(`OpenAI-Beta`,`responses=experimental`),a.set(`accept`,`text/event-stream`),a.set(`content-type`,`application/json`),i&&(a.set(`session-id`,i),a.set(`x-client-request-id`,i)),a}function Ne(e,t,n,r,i){let a=$(e,t,n,r);return a.delete(`accept`),a.delete(`content-type`),a.delete(`OpenAI-Beta`),a.delete(`openai-beta`),a.set(`OpenAI-Beta`,`responses_websockets=2026-02-06`),a.set(`x-client-request-id`,i),a.set(`session-id`,i),a}export{V as closeOpenAICodexWebSocketSessions,he as getOpenAICodexWebSocketDebugStats,ge as resetOpenAICodexWebSocketDebugStats,k as stream,oe as streamSimple};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t,t as n}from"./models-CzSI8IsT.js";import{t as r}from"./provider-env-D37PhSJu.js";import{n as i}from"./json-parse-rb7sUwcH.js";import{r as a,t as o}from"./transform-messages-fFaW-DLG.js";import{t as s}from"./headers-CbDaTl3c.js";import{t as c}from"./sanitize-unicode-DmIE6hZJ.js";import{n as l,t as u}from"./github-copilot-headers-DRgtIyTm.js";import{n as d}from"./openai-BxFF4GUL.js";import{n as f,t as p}from"./error-body-C0EnfbdK.js";import{t as m}from"./openai-prompt-cache-DXo9f3w5.js";function h(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 g(e,t,n){if(t)return t;if(h(n,`authorization`)||h(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function _(e){for(let t of e)if(t.role===`toolResult`||t.role===`assistant`&&t.content.some(e=>e.type===`toolCall`))return!0;return!1}function v(e){return e.type===`text`}function y(e){return e.type===`thinking`}function b(e){return e.type===`toolCall`}function x(e){return e.type===`image`}function S(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`reasoning.encrypted`&&typeof t.id==`string`&&t.id.length>0&&typeof t.data==`string`&&t.data.length>0}function C(e,t){return e||(r(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}var w=(e,n,r)=>{let a=new t;return(async()=>{let t={role:`assistant`,content:[],api:e.api,provider:e.provider,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()};try{let o=g(e.provider,r?.apiKey,r?.headers),c=U(e),l=C(r?.cacheRetention,r?.env),u=l===`none`?void 0:r?.sessionId,d=E(e,n,o,r?.headers,u,c),f=D(e,n,r,c,l),p=await r?.onPayload?.(f,e);p!==void 0&&(f=p);let m={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:r?.maxRetries??0},{data:h,response:_}=await d.chat.completions.create(f,m).withResponse();await r?.onResponse?.({status:_.status,headers:s(_.headers)},e),a.push({type:`start`,partial:t});let v=null,y=null,b=!1,x=new Map,w=new Map,T=new Map,O=t.content,k=e=>O.indexOf(e),A=e=>{let n=k(e);n!==-1&&(e.type===`text`?a.push({type:`text_end`,contentIndex:n,content:e.text,partial:t}):e.type===`thinking`?a.push({type:`thinking_end`,contentIndex:n,content:e.thinking,partial:t}):e.type===`toolCall`&&(e.arguments=i(e.partialArgs),delete e.partialArgs,delete e.streamIndex,a.push({type:`toolcall_end`,contentIndex:n,toolCall:e,partial:t})))},j=()=>(v||(v={type:`text`,text:``},O.push(v),a.push({type:`text_start`,contentIndex:k(v),partial:t})),v),M=e=>(y||(y={type:`thinking`,thinking:``,thinkingSignature:e},O.push(y),a.push({type:`thinking_start`,contentIndex:k(y),partial:t})),y),N=e=>{if(!e.id)return;let t=T.get(e.id);t&&(e.thoughtSignature=t,T.delete(e.id))},P=e=>{let n=typeof e.index==`number`?e.index:void 0,r=n===void 0?void 0:x.get(n);return!r&&e.id&&(r=w.get(e.id)),r||(r={type:`toolCall`,id:e.id||``,name:e.function?.name||``,arguments:{},partialArgs:``,streamIndex:n},n!==void 0&&x.set(n,r),e.id&&w.set(e.id,r),O.push(r),a.push({type:`toolcall_start`,contentIndex:k(r),partial:t})),n!==void 0&&r.streamIndex===void 0&&(r.streamIndex=n,x.set(n,r)),e.id&&w.set(e.id,r),N(r),r};for await(let n of h){if(!n||typeof n!=`object`)continue;t.responseId||=n.id,typeof n.model==`string`&&n.model.length>0&&n.model!==e.id&&(t.responseModel||=n.model),n.usage&&(t.usage=B(n.usage,e));let r=Array.isArray(n.choices)?n.choices[0]:void 0;if(r){if(!n.usage&&r.usage&&(t.usage=B(r.usage,e)),r.finish_reason){let e=V(r.finish_reason);t.stopReason=e.stopReason,e.errorMessage&&(t.errorMessage=e.errorMessage),b=!0}if(r.delta){if(r.delta.content!==null&&r.delta.content!==void 0&&r.delta.content.length>0){let e=j();e.text+=r.delta.content,a.push({type:`text_delta`,contentIndex:k(e),delta:r.delta.content,partial:t})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],o=r.delta,s=null;for(let e of n){let t=o[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let n=o[s];if(typeof n==`string`&&n.length>0){let r=M(e.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);r.thinking+=n,a.push({type:`thinking_delta`,contentIndex:k(r),delta:n,partial:t})}}if(r?.delta?.tool_calls)for(let e of r.delta.tool_calls){let n=P(e);!n.id&&e.id&&(n.id=e.id,w.set(e.id,n)),!n.name&&e.function?.name&&(n.name=e.function.name);let r=``;e.function?.arguments&&(r=e.function.arguments,n.partialArgs=(n.partialArgs??``)+e.function.arguments,n.arguments=i(n.partialArgs)),a.push({type:`toolcall_delta`,contentIndex:k(n),delta:r,partial:t})}let c=r.delta.reasoning_details;if(Array.isArray(c)){for(let e of c)if(S(e)){let t=JSON.stringify(e),n=w.get(e.id);n?n.thoughtSignature=t:T.set(e.id,t)}}}}}for(let e of O)A(e);if(r?.signal?.aborted||t.stopReason===`aborted`)throw Error(`Request was aborted`);if(t.stopReason===`error`)throw Error(t.errorMessage||`Provider returned an error stop reason`);if(!b)throw Error(`Stream ended without finish_reason`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialArgs,delete e.streamIndex;t.stopReason=r?.signal?.aborted?`aborted`:`error`,t.errorMessage=p(f(e));let n=e?.error?.metadata?.raw;n&&!t.errorMessage.includes(String(n))&&(t.errorMessage+=`\n${n}`),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},T=(t,n,r)=>{g(t.provider,r?.apiKey,r?.headers);let i=a(t,n,r,r?.apiKey),o=r?.reasoning?e(t,r.reasoning):void 0,s=o===`off`?void 0:o,c=r?.toolChoice;return w(t,n,{...i,reasoningEffort:s,toolChoice:c})};function E(e,t,n,r,i,a=U(e)){let o={...e.headers};if(e.provider===`github-copilot`){let e=l(t.messages),n=u({messages:t.messages,hasImages:e});Object.assign(o,n)}return i&&a.sendSessionAffinityHeaders&&(o.session_id=i,o[`x-client-request-id`]=i,o[`x-session-affinity`]=i),r&&Object.assign(o,r),new d({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:o})}function D(e,t,n,r=U(e),i=C(n?.cacheRetention,n?.env)){let a=R(e,t,r),o=A(r,i),s={model:e.id,messages:a,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&i!==`none`||i===`long`&&r.supportsLongCacheRetention?m(n?.sessionId):void 0,prompt_cache_retention:i===`long`&&r.supportsLongCacheRetention?`24h`:void 0};if(r.supportsUsageInStreaming!==!1&&(s.stream_options={include_usage:!0}),r.supportsStore&&(s.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?s.max_tokens=n.maxTokens:s.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(s.temperature=n.temperature),t.tools&&t.tools.length>0?(s.tools=z(t.tools,r),r.zaiToolStream&&(s.tool_stream=!0)):_(t.messages)&&(s.tools=[]),o&&j(a,s.tools,o),n?.toolChoice&&(s.tool_choice=n.toolChoice),r.thinkingFormat===`zai`&&e.reasoning){let t=s;if(t.thinking=n?.reasoningEffort?{type:`enabled`,clear_thinking:!1}:{type:`disabled`},n?.reasoningEffort&&r.supportsReasoningEffort){let r=e.thinkingLevelMap?.[n.reasoningEffort],i=r===void 0?n.reasoningEffort:r;typeof i==`string`&&(t.reasoning_effort=i)}}else if(r.thinkingFormat===`qwen`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)s.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`chat-template`&&e.reasoning){let t=O(e,n,r);t&&(s.chat_template_kwargs=t)}else if(r.thinkingFormat===`deepseek`&&e.reasoning)n?.reasoningEffort?s.thinking={type:`enabled`}:e.thinkingLevelMap?.off!==null&&(s.thinking={type:`disabled`}),n?.reasoningEffort&&r.supportsReasoningEffort&&(s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=s;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(r.thinkingFormat===`ant-ling`&&e.reasoning&&n?.reasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort];typeof t==`string`&&(s.reasoning={effort:t})}else if(r.thinkingFormat===`together`&&e.reasoning){let t=s;t.reasoning={enabled:!!n?.reasoningEffort},n?.reasoningEffort&&r.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort)}else if(r.thinkingFormat===`string-thinking`&&e.reasoning){let t=s;n?.reasoningEffort?t.thinking=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:e.thinkingLevelMap?.off!==null&&(t.thinking=e.thinkingLevelMap?.off??`none`)}else if(n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(s.reasoning_effort=t)}if(e.compat?.openRouterRouting&&(s.provider=e.compat.openRouterRouting),e.compat?.vercelGatewayRouting){let t=e.compat.vercelGatewayRouting;if(t.only||t.order){let e={};t.only&&(e.only=t.only),t.order&&(e.order=t.order),s.providerOptions={gateway:e}}}return s}function O(e,t,n){let r={};for(let[i,a]of Object.entries(n.chatTemplateKwargs)){let n=k(e,t,a);n!==void 0&&(r[i]=n)}return Object.keys(r).length>0?r:void 0}function k(e,t,n){if(typeof n!=`object`||!n)return n;let r=t?.reasoningEffort;if(!r&&n.omitWhenOff)return;if(n.$var===`thinking.enabled`)return!!r;let i=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return i===void 0?r:typeof i==`string`?i:void 0}function A(e,t){if(e.cacheControlFormat!==`anthropic`||t===`none`)return;let n=t===`long`&&e.supportsLongCacheRetention?`1h`:void 0;return{type:`ephemeral`,...n?{ttl:n}:{}}}function j(e,t,n){M(e,n),P(t,n),N(e,n)}function M(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){F(n,t);return}}function N(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`)&&I(r,t))return}}function P(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function F(e,t){return L(e,t)}function I(e,t){return e.role===`user`||e.role===`assistant`?L(e,t):!1}function L(e,t){let n=e.content;if(typeof n==`string`)return n.length===0?!1:(e.content=[{type:`text`,text:n,cache_control:t}],!0);if(!Array.isArray(n))return!1;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r?.type===`text`){let e=r;return e.cache_control=t,!0}}return!1}function R(e,t,n){let r=[],i=t=>{if(t.includes(`|`)){let[e]=t.split(`|`);return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,40)}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},a=o(t.messages,e,e=>i(e));if(t.systemPrompt){let i=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;r.push({role:i,content:c(t.systemPrompt)})}let s=null;for(let t=0;t<a.length;t++){let i=a[t];if(n.requiresAssistantAfterToolResult&&s===`toolResult`&&i.role===`user`&&r.push({role:`assistant`,content:`I have processed the tool results.`}),i.role===`user`)if(typeof i.content==`string`)r.push({role:`user`,content:c(i.content)});else{let e=i.content.map(e=>e.type===`text`?{type:`text`,text:c(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;r.push({role:`user`,content:e})}else if(i.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=i.content.filter(v).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:c(e.text)})),o=a.map(e=>e.text).join(``),s=i.content.filter(y).filter(e=>e.thinking.trim().length>0);if(s.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:s.map(e=>c(e.thinking)).join(`
|
|
2
|
-
|
|
3
|
-
`)},...a];else{o.length>0&&(t.content=o);let n=s[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&n.length>0&&(t[n]=s.map(e=>e.thinking).join(`
|
|
4
|
-
`))}else o.length>0&&(t.content=o);let l=i.content.filter(b);if(l.length>0){t.tool_calls=l.map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}));let e=l.filter(e=>e.thoughtSignature).map(e=>{try{return JSON.parse(e.thoughtSignature)}catch{return null}}).filter(Boolean);e.length>0&&(t.reasoning_details=e)}n.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let u=t.content;if(!(u!=null&&u.length>0)&&!t.tool_calls)continue;r.push(t)}else if(i.role===`toolResult`){let i=[],o=t;for(;o<a.length&&a[o].role===`toolResult`;o++){let t=a[o],s=t.content.filter(v).map(e=>e.text).join(`
|
|
5
|
-
`),l=t.content.some(e=>e.type===`image`),u={role:`tool`,content:c(s.length>0?s:`(see attached image)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(u.name=t.toolName),r.push(u),l&&e.input.includes(`image`))for(let e of t.content)x(e)&&i.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=o-1,i.length>0?(n.requiresAssistantAfterToolResult&&r.push({role:`assistant`,content:`I have processed the tool results.`}),r.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...i]}),s=`user`):s=`toolResult`;continue}s=i.role}return r}function z(e,t){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:!1}}}))}function B(e,t){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=Math.max(0,r-i-a),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:i,cacheWrite:a,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:o+s+i+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return n(t,c),c}function V(e){if(e===null)return{stopReason:`stop`};switch(e){case`stop`:case`end`:return{stopReason:`stop`};case`length`:return{stopReason:`length`};case`function_call`:case`tool_calls`:return{stopReason:`toolUse`};case`content_filter`:return{stopReason:`error`,errorMessage:`Provider finish_reason: content_filter`};case`network_error`:return{stopReason:`error`,errorMessage:`Provider finish_reason: network_error`};default:return{stopReason:`error`,errorMessage:`Provider finish_reason: ${e}`}}}function H(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||t===`zai-coding-cn`||n.includes(`api.z.ai`)||n.includes(`open.bigmodel.cn`),i=t===`together`||n.includes(`api.together.ai`)||n.includes(`api.together.xyz`),a=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),o=t===`openrouter`||n.includes(`openrouter.ai`),s=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),c=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),l=t===`nvidia`||n.includes(`integrate.api.nvidia.com`),u=t===`ant-ling`||n.includes(`api.ant-ling.com`),d=l||t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||n.includes(`deepseek.com`)||r||a||t===`opencode`||n.includes(`opencode.ai`)||s||c||u,f=n.includes(`chutes.ai`)||a||c||i||l||u,p=t===`xai`||n.includes(`api.x.ai`),m=t===`deepseek`||n.includes(`deepseek.com`),h=o&&(e.id.startsWith(`anthropic/`)||e.id.startsWith(`openai/`)),g=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!d,supportsDeveloperRole:h||!d&&!o,supportsReasoningEffort:!p&&!r&&!a&&!i&&!c&&!l&&!u,supportsUsageInStreaming:!0,maxTokensField:f?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:m,thinkingFormat:m?`deepseek`:r?`zai`:i?`together`:u?`ant-ling`:o?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!a&&!i&&!c&&!l,cacheControlFormat:g,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!(i||s||c||l||u)}}function U(e){let t=H(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??t.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??t.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??t.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??t.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??t.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??t.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{R as convertMessages,w as stream,T as streamSimple};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{f as e,o as t,r as n,s as r,t as i}from"./transform-messages-CVIV-EgO.js";import{t as a}from"./provider-env-DwY8YuMk.js";import{n as o}from"./json-parse-CpLf0aqK.js";import{t as s}from"./headers-CbDaTl3c.js";import{t as c}from"./sanitize-unicode-DmIE6hZJ.js";import{n as l,t as u}from"./github-copilot-headers-DRgtIyTm.js";import{n as d}from"./openai-CmTnPr9N.js";import{n as f,t as p}from"./error-body-C0EnfbdK.js";import{t as m}from"./openai-prompt-cache-DXo9f3w5.js";function h(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 g(e,t,n){if(t)return t;if(h(n,`authorization`)||h(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function _(e){for(let t of e)if(t.role===`toolResult`||t.role===`assistant`&&t.content.some(e=>e.type===`toolCall`))return!0;return!1}function v(e){return e.type===`text`}function y(e){return e.type===`thinking`}function b(e){return e.type===`toolCall`}function x(e){return e.type===`image`}function S(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`reasoning.encrypted`&&typeof t.id==`string`&&t.id.length>0&&typeof t.data==`string`&&t.data.length>0}function C(e,t){return e||(a(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}const w=(t,n,r)=>{let i=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:`stop`,timestamp:Date.now()};try{let a=g(t.provider,r?.apiKey,r?.headers),c=U(t),l=C(r?.cacheRetention,r?.env),u=l===`none`?void 0:r?.sessionId,d=E(t,n,a,r?.headers,u,c),f=D(t,n,r,c,l),p=await r?.onPayload?.(f,t);p!==void 0&&(f=p);let m={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:r?.maxRetries??0},{data:h,response:_}=await d.chat.completions.create(f,m).withResponse();await r?.onResponse?.({status:_.status,headers:s(_.headers)},t),i.push({type:`start`,partial:e});let v=null,y=null,b=!1,x=new Map,w=new Map,T=new Map,O=e.content,k=e=>O.indexOf(e),A=t=>{let n=k(t);n!==-1&&(t.type===`text`?i.push({type:`text_end`,contentIndex:n,content:t.text,partial:e}):t.type===`thinking`?i.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e}):t.type===`toolCall`&&(t.arguments=o(t.partialArgs),delete t.partialArgs,delete t.streamIndex,i.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})))},j=()=>(v||(v={type:`text`,text:``},O.push(v),i.push({type:`text_start`,contentIndex:k(v),partial:e})),v),M=t=>(y||(y={type:`thinking`,thinking:``,thinkingSignature:t},O.push(y),i.push({type:`thinking_start`,contentIndex:k(y),partial:e})),y),N=e=>{if(!e.id)return;let t=T.get(e.id);t&&(e.thoughtSignature=t,T.delete(e.id))},P=t=>{let n=typeof t.index==`number`?t.index:void 0,r=n===void 0?void 0:x.get(n);return!r&&t.id&&(r=w.get(t.id)),r||(r={type:`toolCall`,id:t.id||``,name:t.function?.name||``,arguments:{},partialArgs:``,streamIndex:n},n!==void 0&&x.set(n,r),t.id&&w.set(t.id,r),O.push(r),i.push({type:`toolcall_start`,contentIndex:k(r),partial:e})),n!==void 0&&r.streamIndex===void 0&&(r.streamIndex=n,x.set(n,r)),t.id&&w.set(t.id,r),N(r),r};for await(let n of h){if(!n||typeof n!=`object`)continue;e.responseId||=n.id,typeof n.model==`string`&&n.model.length>0&&n.model!==t.id&&(e.responseModel||=n.model),n.usage&&(e.usage=B(n.usage,t));let r=Array.isArray(n.choices)?n.choices[0]:void 0;if(r){if(!n.usage&&r.usage&&(e.usage=B(r.usage,t)),r.finish_reason){let t=V(r.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),b=!0}if(r.delta){if(r.delta.content!==null&&r.delta.content!==void 0&&r.delta.content.length>0){let t=j();t.text+=r.delta.content,i.push({type:`text_delta`,contentIndex:k(t),delta:r.delta.content,partial:e})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],a=r.delta,s=null;for(let e of n){let t=a[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let n=a[s];if(typeof n==`string`&&n.length>0){let r=M(t.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);r.thinking+=n,i.push({type:`thinking_delta`,contentIndex:k(r),delta:n,partial:e})}}if(r?.delta?.tool_calls)for(let t of r.delta.tool_calls){let n=P(t);!n.id&&t.id&&(n.id=t.id,w.set(t.id,n)),!n.name&&t.function?.name&&(n.name=t.function.name);let r=``;t.function?.arguments&&(r=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=o(n.partialArgs)),i.push({type:`toolcall_delta`,contentIndex:k(n),delta:r,partial:e})}let c=r.delta.reasoning_details;if(Array.isArray(c)){for(let e of c)if(S(e)){let t=JSON.stringify(e),n=w.get(e.id);n?n.thoughtSignature=t:T.set(e.id,t)}}}}}for(let e of O)A(e);if(r?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);if(!b)throw Error(`Stream ended without finish_reason`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialArgs,delete t.streamIndex;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=p(f(t));let n=t?.error?.metadata?.raw;n&&!e.errorMessage.includes(String(n))&&(e.errorMessage+=`\n${n}`),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},T=(e,t,i)=>{g(e.provider,i?.apiKey,i?.headers);let a=n(e,t,i,i?.apiKey),o=i?.reasoning?r(e,i.reasoning):void 0,s=o===`off`?void 0:o,c=i?.toolChoice;return w(e,t,{...a,reasoningEffort:s,toolChoice:c})};function E(e,t,n,r,i,a=U(e)){let o={...e.headers};if(e.provider===`github-copilot`){let e=l(t.messages),n=u({messages:t.messages,hasImages:e});Object.assign(o,n)}return i&&a.sendSessionAffinityHeaders&&(o.session_id=i,o[`x-client-request-id`]=i,o[`x-session-affinity`]=i),r&&Object.assign(o,r),new d({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:o})}function D(e,t,n,r=U(e),i=C(n?.cacheRetention,n?.env)){let a=R(e,t,r),o=A(r,i),s={model:e.id,messages:a,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&i!==`none`||i===`long`&&r.supportsLongCacheRetention?m(n?.sessionId):void 0,prompt_cache_retention:i===`long`&&r.supportsLongCacheRetention?`24h`:void 0};if(r.supportsUsageInStreaming!==!1&&(s.stream_options={include_usage:!0}),r.supportsStore&&(s.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?s.max_tokens=n.maxTokens:s.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(s.temperature=n.temperature),t.tools&&t.tools.length>0?(s.tools=z(t.tools,r),r.zaiToolStream&&(s.tool_stream=!0)):_(t.messages)&&(s.tools=[]),o&&j(a,s.tools,o),n?.toolChoice&&(s.tool_choice=n.toolChoice),r.thinkingFormat===`zai`&&e.reasoning){let t=s;if(t.thinking=n?.reasoningEffort?{type:`enabled`,clear_thinking:!1}:{type:`disabled`},n?.reasoningEffort&&r.supportsReasoningEffort){let r=e.thinkingLevelMap?.[n.reasoningEffort],i=r===void 0?n.reasoningEffort:r;typeof i==`string`&&(t.reasoning_effort=i)}}else if(r.thinkingFormat===`qwen`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)s.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`chat-template`&&e.reasoning){let t=O(e,n,r);t&&(s.chat_template_kwargs=t)}else if(r.thinkingFormat===`deepseek`&&e.reasoning)n?.reasoningEffort?s.thinking={type:`enabled`}:e.thinkingLevelMap?.off!==null&&(s.thinking={type:`disabled`}),n?.reasoningEffort&&r.supportsReasoningEffort&&(s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=s;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(r.thinkingFormat===`ant-ling`&&e.reasoning&&n?.reasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort];typeof t==`string`&&(s.reasoning={effort:t})}else if(r.thinkingFormat===`together`&&e.reasoning){let t=s;t.reasoning={enabled:!!n?.reasoningEffort},n?.reasoningEffort&&r.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort)}else if(r.thinkingFormat===`string-thinking`&&e.reasoning){let t=s;n?.reasoningEffort?t.thinking=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:e.thinkingLevelMap?.off!==null&&(t.thinking=e.thinkingLevelMap?.off??`none`)}else if(n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(s.reasoning_effort=t)}if(e.compat?.openRouterRouting&&(s.provider=e.compat.openRouterRouting),e.compat?.vercelGatewayRouting){let t=e.compat.vercelGatewayRouting;if(t.only||t.order){let e={};t.only&&(e.only=t.only),t.order&&(e.order=t.order),s.providerOptions={gateway:e}}}return s}function O(e,t,n){let r={};for(let[i,a]of Object.entries(n.chatTemplateKwargs)){let n=k(e,t,a);n!==void 0&&(r[i]=n)}return Object.keys(r).length>0?r:void 0}function k(e,t,n){if(typeof n!=`object`||!n)return n;let r=t?.reasoningEffort;if(!r&&n.omitWhenOff)return;if(n.$var===`thinking.enabled`)return!!r;let i=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return i===void 0?r:typeof i==`string`?i:void 0}function A(e,t){if(e.cacheControlFormat!==`anthropic`||t===`none`)return;let n=t===`long`&&e.supportsLongCacheRetention?`1h`:void 0;return{type:`ephemeral`,...n?{ttl:n}:{}}}function j(e,t,n){M(e,n),P(t,n),N(e,n)}function M(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){F(n,t);return}}function N(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`)&&I(r,t))return}}function P(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function F(e,t){return L(e,t)}function I(e,t){return e.role===`user`||e.role===`assistant`?L(e,t):!1}function L(e,t){let n=e.content;if(typeof n==`string`)return n.length===0?!1:(e.content=[{type:`text`,text:n,cache_control:t}],!0);if(!Array.isArray(n))return!1;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r?.type===`text`){let e=r;return e.cache_control=t,!0}}return!1}function R(e,t,n){let r=[],a=t=>{if(t.includes(`|`)){let[e]=t.split(`|`);return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,40)}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},o=i(t.messages,e,e=>a(e));if(t.systemPrompt){let i=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;r.push({role:i,content:c(t.systemPrompt)})}let s=null;for(let t=0;t<o.length;t++){let i=o[t];if(n.requiresAssistantAfterToolResult&&s===`toolResult`&&i.role===`user`&&r.push({role:`assistant`,content:`I have processed the tool results.`}),i.role===`user`)if(typeof i.content==`string`)r.push({role:`user`,content:c(i.content)});else{let e=i.content.map(e=>e.type===`text`?{type:`text`,text:c(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;r.push({role:`user`,content:e})}else if(i.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=i.content.filter(v).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:c(e.text)})),o=a.map(e=>e.text).join(``),s=i.content.filter(y).filter(e=>e.thinking.trim().length>0);if(s.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:s.map(e=>c(e.thinking)).join(`
|
|
2
|
-
|
|
3
|
-
`)},...a];else{o.length>0&&(t.content=o);let n=s[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&n.length>0&&(t[n]=s.map(e=>e.thinking).join(`
|
|
4
|
-
`))}else o.length>0&&(t.content=o);let l=i.content.filter(b);if(l.length>0){t.tool_calls=l.map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}));let e=l.filter(e=>e.thoughtSignature).map(e=>{try{return JSON.parse(e.thoughtSignature)}catch{return null}}).filter(Boolean);e.length>0&&(t.reasoning_details=e)}n.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let u=t.content;if(!(u!=null&&u.length>0)&&!t.tool_calls)continue;r.push(t)}else if(i.role===`toolResult`){let i=[],a=t;for(;a<o.length&&o[a].role===`toolResult`;a++){let t=o[a],s=t.content.filter(v).map(e=>e.text).join(`
|
|
5
|
-
`),l=t.content.some(e=>e.type===`image`),u={role:`tool`,content:c(s.length>0?s:`(see attached image)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(u.name=t.toolName),r.push(u),l&&e.input.includes(`image`))for(let e of t.content)x(e)&&i.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=a-1,i.length>0?(n.requiresAssistantAfterToolResult&&r.push({role:`assistant`,content:`I have processed the tool results.`}),r.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...i]}),s=`user`):s=`toolResult`;continue}s=i.role}return r}function z(e,t){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:!1}}}))}function B(e,n){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=Math.max(0,r-i-a),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:i,cacheWrite:a,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:o+s+i+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return t(n,c),c}function V(e){if(e===null)return{stopReason:`stop`};switch(e){case`stop`:case`end`:return{stopReason:`stop`};case`length`:return{stopReason:`length`};case`function_call`:case`tool_calls`:return{stopReason:`toolUse`};case`content_filter`:return{stopReason:`error`,errorMessage:`Provider finish_reason: content_filter`};case`network_error`:return{stopReason:`error`,errorMessage:`Provider finish_reason: network_error`};default:return{stopReason:`error`,errorMessage:`Provider finish_reason: ${e}`}}}function H(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||t===`zai-coding-cn`||n.includes(`api.z.ai`)||n.includes(`open.bigmodel.cn`),i=t===`together`||n.includes(`api.together.ai`)||n.includes(`api.together.xyz`),a=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),o=t===`openrouter`||n.includes(`openrouter.ai`),s=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),c=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),l=t===`nvidia`||n.includes(`integrate.api.nvidia.com`),u=t===`ant-ling`||n.includes(`api.ant-ling.com`),d=l||t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||n.includes(`deepseek.com`)||r||a||t===`opencode`||n.includes(`opencode.ai`)||s||c||u,f=n.includes(`chutes.ai`)||a||c||i||l||u,p=t===`xai`||n.includes(`api.x.ai`),m=t===`deepseek`||n.includes(`deepseek.com`),h=o&&(e.id.startsWith(`anthropic/`)||e.id.startsWith(`openai/`)),g=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!d,supportsDeveloperRole:h||!d&&!o,supportsReasoningEffort:!p&&!r&&!a&&!i&&!c&&!l&&!u,supportsUsageInStreaming:!0,maxTokensField:f?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:m,thinkingFormat:m?`deepseek`:r?`zai`:i?`together`:u?`ant-ling`:o?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!a&&!i&&!c&&!l,cacheControlFormat:g,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!(i||s||c||l||u)}}function U(e){let t=H(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??t.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??t.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??t.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??t.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??t.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??t.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{R as convertMessages,w as stream,T as streamSimple};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,o as t}from"./models-CzSI8IsT.js";import{t as n}from"./provider-env-D37PhSJu.js";import{r}from"./transform-messages-fFaW-DLG.js";import{t as i}from"./headers-CbDaTl3c.js";import{n as a,t as o}from"./github-copilot-headers-DRgtIyTm.js";import{n as s}from"./openai-BxFF4GUL.js";import{n as c,t as l}from"./error-body-C0EnfbdK.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-CCTyKL6A.js";var m=new Set([`openai`,`openai-codex`,`opencode`]);function h(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 g(e,t,n){if(t)return t;if(h(n,`authorization`)||h(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function _(e,t){return e||(n(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function v(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function y(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function b(e){return l(c(e),`OpenAI API error`)}var x=(e,n,r)=>{let a=new t;return(async()=>{let t={role:`assistant`,content:[],api:e.api,provider:e.provider,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()};try{let o=g(e.provider,r?.apiKey,r?.headers),s=_(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,c=C(e,n,o,r?.headers,s),l=w(e,n,r),u=await r?.onPayload?.(l,e);u!==void 0&&(l=u);let d={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:r?.maxRetries??0},{data:p,response:m}=await c.responses.create(l,d).withResponse();if(await r?.onResponse?.({status:m.status,headers:i(m.headers)},e),a.push({type:`start`,partial:t}),await f(p,t,a,e,{serviceTier:r?.serviceTier,applyServiceTierPricing:(t,n)=>E(t,n,e)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(`An unknown error occurred`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialJson;t.stopReason=r?.signal?.aborted?`aborted`:`error`,t.errorMessage=b(e),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},S=(t,n,i)=>{g(t.provider,i?.apiKey,i?.headers);let a=r(t,n,i,i?.apiKey),o=i?.reasoning?e(t,i.reasoning):void 0,s=o===`off`?void 0:o;return x(t,n,{...a,reasoningEffort:s})};function C(e,t,n,r,i){let c=v(e),l={...e.headers};if(e.provider===`github-copilot`){let e=a(t.messages),n=o({messages:t.messages,hasImages:e});Object.assign(l,n)}return i&&(c.sendSessionIdHeader&&(l.session_id=i),l[`x-client-request-id`]=i),r&&Object.assign(l,r),new s({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:l})}function w(e,t,n){let r=p(e,t,m),i=_(n?.cacheRetention,n?.env),a=v(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:u(n?.sessionId),prompt_cache_retention:y(a,i),store:!1};return n?.maxTokens&&(o.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(o.temperature=n?.temperature),n?.serviceTier!==void 0&&(o.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(o.tools=d(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}function T(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function E(e,t,n){let r=T(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}export{x as stream,S as streamSimple};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as e,r as t,s as n}from"./transform-messages-CVIV-EgO.js";import{t as r}from"./provider-env-DwY8YuMk.js";import{t as i}from"./headers-CbDaTl3c.js";import{n as a,t as o}from"./github-copilot-headers-DRgtIyTm.js";import{n as s}from"./openai-CmTnPr9N.js";import{n as c,t as l}from"./error-body-C0EnfbdK.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-bVKJbQt9.js";const m=new Set([`openai`,`openai-codex`,`opencode`]);function h(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 g(e,t,n){if(t)return t;if(h(n,`authorization`)||h(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function _(e,t){return e||(r(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function v(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function y(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function b(e){return l(c(e),`OpenAI API error`)}const x=(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:`stop`,timestamp:Date.now()};try{let o=g(t.provider,r?.apiKey,r?.headers),s=_(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,c=C(t,n,o,r?.headers,s),l=w(t,n,r),u=await r?.onPayload?.(l,t);u!==void 0&&(l=u);let d={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:r?.maxRetries??0},{data:p,response:m}=await c.responses.create(l,d).withResponse();if(await r?.onResponse?.({status:m.status,headers:i(m.headers)},t),a.push({type:`start`,partial:e}),await f(p,e,a,t,{serviceTier:r?.serviceTier,applyServiceTierPricing:(e,n)=>E(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`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=b(t),a.push({type:`error`,reason:e.stopReason,error:e}),a.end()}})(),a},S=(e,r,i)=>{g(e.provider,i?.apiKey,i?.headers);let a=t(e,r,i,i?.apiKey),o=i?.reasoning?n(e,i.reasoning):void 0,s=o===`off`?void 0:o;return x(e,r,{...a,reasoningEffort:s})};function C(e,t,n,r,i){let c=v(e),l={...e.headers};if(e.provider===`github-copilot`){let e=a(t.messages),n=o({messages:t.messages,hasImages:e});Object.assign(l,n)}return i&&(c.sendSessionIdHeader&&(l.session_id=i),l[`x-client-request-id`]=i),r&&Object.assign(l,r),new s({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:l})}function w(e,t,n){let r=p(e,t,m),i=_(n?.cacheRetention,n?.env),a=v(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:u(n?.sessionId),prompt_cache_retention:y(a,i),store:!1};return n?.maxTokens&&(o.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(o.temperature=n?.temperature),n?.serviceTier!==void 0&&(o.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(o.tools=d(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}function T(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function E(e,t,n){let r=T(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}export{x as stream,S as streamSimple};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./models-CzSI8IsT.js";import{n as t}from"./json-parse-rb7sUwcH.js";import{t as n}from"./transform-messages-fFaW-DLG.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{t as i}from"./hash-yQufAZII.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,t,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=n(t.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&t.systemPrompt){let n=e.compat,i=e.reasoning&&n?.supportsDeveloperRole!==!1?`developer`:`system`;c.push({role:i,content:r(t.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:r(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api,l=0;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);n.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=l===0?`msg_pi_${f}`:`msg_pi_${f}_${l}`;l++;let c=a?.id;c?c.length>64&&(c=`msg_${i(c)}`):c=s,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:c,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[r,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),n.push({type:`function_call`,id:a,call_id:r,name:t.name,arguments:JSON.stringify(t.arguments)})}if(n.length===0)continue;c.push(...n)}else if(t.role===`toolResult`){let n=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
-
`),i=t.content.some(e=>e.type===`image`),a=n.length>0,[o]=t.toolCallId.split(`|`),s;if(i&&e.input.includes(`image`)){let e=[];a&&e.push({type:`input_text`,text:r(n)});for(let n of t.content)n.type===`image`&&e.push({type:`input_image`,detail:`auto`,image_url:`data:${n.mimeType};base64,${n.data}`});s=e}else s=r(a?n:`(see attached image)`);c.push({type:`function_call_output`,call_id:o,output:s})}f++}return c}function c(e,t){let n=t?.strict!==void 0&&t.strict;return e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:e.parameters,strict:n}))}async function l(n,r,i,o,s){let c=!1,l=new Map,d=(e,t)=>{let n=l.get(e);return n?.type===t?n:void 0},f=(e,t)=>{if(t.type===`reasoning`){let t={type:`thinking`,thinking:``};r.content.push(t);let n={type:`thinking`,block:t,contentIndex:r.content.length-1};return l.set(e,n),i.push({type:`thinking_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`message`){let t={type:`text`,text:``};r.content.push(t);let n={type:`text`,block:t,contentIndex:r.content.length-1};return l.set(e,n),i.push({type:`text_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`function_call`){let n={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{},partialJson:t.arguments||``};r.content.push(n);let a={type:`toolCall`,block:n,contentIndex:r.content.length-1};return l.set(e,a),i.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:r}),a}},p=(e,t)=>l.get(e)??f(e,t),m=t=>{if(c=!0,t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details?.cached_tokens||0;r.usage={input:(t.usage.input_tokens||0)-e,output:t.usage.output_tokens||0,cacheRead:e,cacheWrite:0,reasoning:t.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:t.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(e(o,r.usage),s?.applyServiceTierPricing){let e=s.resolveServiceTier?s.resolveServiceTier(t?.service_tier,s.serviceTier):t?.service_tier??s.serviceTier;s.applyServiceTierPricing(r.usage,e)}r.stopReason=u(t?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)};for await(let e of n)if(e.type===`response.created`)r.responseId=e.response.id;else if(e.type===`response.output_item.added`)f(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.reasoning_summary_part.done`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=`
|
|
3
|
-
|
|
4
|
-
`,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:`
|
|
5
|
-
|
|
6
|
-
`,partial:r})}else if(e.type===`response.reasoning_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.output_text.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.refusal.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.function_call_arguments.delta`){let n=d(e.output_index,`toolCall`);if(!n)continue;n.block.partialJson+=e.delta,n.block.arguments=t(n.block.partialJson),i.push({type:`toolcall_delta`,contentIndex:n.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.function_call_arguments.done`){let n=d(e.output_index,`toolCall`);if(!n)continue;let a=n.block.partialJson;if(n.block.partialJson=e.arguments,n.block.arguments=t(n.block.partialJson),e.arguments.startsWith(a)){let t=e.arguments.slice(a.length);t.length>0&&i.push({type:`toolcall_delta`,contentIndex:n.contentIndex,delta:t,partial:r})}}else if(e.type===`response.output_item.done`){let n=e.item,o=p(e.output_index,n);if(n.type===`reasoning`&&o?.type===`thinking`){let t=n.summary?.map(e=>e.text).join(`
|
|
7
|
-
|
|
8
|
-
`)||``,a=n.content?.map(e=>e.text).join(`
|
|
9
|
-
|
|
10
|
-
`)||``;o.block.thinking=t||a||o.block.thinking,o.block.thinkingSignature=JSON.stringify(n),i.push({type:`thinking_end`,contentIndex:o.contentIndex,content:o.block.thinking,partial:r}),l.delete(e.output_index)}else n.type===`message`&&o?.type===`text`?(o.block.text=n.content?.map(e=>e.type===`output_text`?e.text:e.refusal).join(``)||``,o.block.textSignature=a(n.id,n.phase??void 0),i.push({type:`text_end`,contentIndex:o.contentIndex,content:o.block.text,partial:r}),l.delete(e.output_index)):n.type===`function_call`&&o?.type===`toolCall`&&(o.block.arguments=t(n.arguments||o.block.partialJson||`{}`),delete o.block.partialJson,i.push({type:`toolcall_end`,contentIndex:o.contentIndex,toolCall:o.block,partial:r}),l.delete(e.output_index))}else if(e.type===`response.completed`||e.type===`response.incomplete`)m(e.response);else if(e.type===`error`)throw Error(`Error Code ${e.code}: ${e.message}`||`Unknown error`);else if(e.type===`response.failed`){c=!0;let t=e.response?.error,n=e.response?.incomplete_details,r=t?`${t.code||`unknown`}: ${t.message||`no message`}`:n?.reason?`incomplete: ${n.reason}`:`Unknown error (no error details in response)`;throw Error(r)}if(!c)throw Error(`OpenAI Responses stream ended before a terminal response event`)}function u(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{c as n,l as r,s as t};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{o as e,t}from"./transform-messages-CVIV-EgO.js";import{n}from"./json-parse-CpLf0aqK.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{t as i}from"./hash-yQufAZII.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,n,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=t(n.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&n.systemPrompt){let t=e.compat,i=e.reasoning&&t?.supportsDeveloperRole!==!1?`developer`:`system`;c.push({role:i,content:r(n.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:r(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api,l=0;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);n.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=l===0?`msg_pi_${f}`:`msg_pi_${f}_${l}`;l++;let c=a?.id;c?c.length>64&&(c=`msg_${i(c)}`):c=s,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:c,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[r,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),n.push({type:`function_call`,id:a,call_id:r,name:t.name,arguments:JSON.stringify(t.arguments)})}if(n.length===0)continue;c.push(...n)}else if(t.role===`toolResult`){let n=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
-
`),i=t.content.some(e=>e.type===`image`),a=n.length>0,[o]=t.toolCallId.split(`|`),s;if(i&&e.input.includes(`image`)){let e=[];a&&e.push({type:`input_text`,text:r(n)});for(let n of t.content)n.type===`image`&&e.push({type:`input_image`,detail:`auto`,image_url:`data:${n.mimeType};base64,${n.data}`});s=e}else s=r(a?n:`(see attached image)`);c.push({type:`function_call_output`,call_id:o,output:s})}f++}return c}function c(e,t){let n=t?.strict!==void 0&&t.strict;return e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:e.parameters,strict:n}))}async function l(t,r,i,o,s){let c=!1,l=new Map,d=(e,t)=>{let n=l.get(e);return n?.type===t?n:void 0},f=(e,t)=>{if(t.type===`reasoning`){let t={type:`thinking`,thinking:``};r.content.push(t);let n={type:`thinking`,block:t,contentIndex:r.content.length-1};return l.set(e,n),i.push({type:`thinking_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`message`){let t={type:`text`,text:``};r.content.push(t);let n={type:`text`,block:t,contentIndex:r.content.length-1};return l.set(e,n),i.push({type:`text_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`function_call`){let n={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{},partialJson:t.arguments||``};r.content.push(n);let a={type:`toolCall`,block:n,contentIndex:r.content.length-1};return l.set(e,a),i.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:r}),a}},p=(e,t)=>l.get(e)??f(e,t),m=t=>{if(c=!0,t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details?.cached_tokens||0;r.usage={input:(t.usage.input_tokens||0)-e,output:t.usage.output_tokens||0,cacheRead:e,cacheWrite:0,reasoning:t.usage.output_tokens_details?.reasoning_tokens||0,totalTokens:t.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(e(o,r.usage),s?.applyServiceTierPricing){let e=s.resolveServiceTier?s.resolveServiceTier(t?.service_tier,s.serviceTier):t?.service_tier??s.serviceTier;s.applyServiceTierPricing(r.usage,e)}r.stopReason=u(t?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)};for await(let e of t)if(e.type===`response.created`)r.responseId=e.response.id;else if(e.type===`response.output_item.added`)f(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.reasoning_summary_part.done`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=`
|
|
3
|
-
|
|
4
|
-
`,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:`
|
|
5
|
-
|
|
6
|
-
`,partial:r})}else if(e.type===`response.reasoning_text.delta`){let t=d(e.output_index,`thinking`);if(!t)continue;t.block.thinking+=e.delta,i.push({type:`thinking_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.output_text.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.refusal.delta`){let t=d(e.output_index,`text`);if(!t)continue;t.block.text+=e.delta,i.push({type:`text_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.function_call_arguments.delta`){let t=d(e.output_index,`toolCall`);if(!t)continue;t.block.partialJson+=e.delta,t.block.arguments=n(t.block.partialJson),i.push({type:`toolcall_delta`,contentIndex:t.contentIndex,delta:e.delta,partial:r})}else if(e.type===`response.function_call_arguments.done`){let t=d(e.output_index,`toolCall`);if(!t)continue;let a=t.block.partialJson;if(t.block.partialJson=e.arguments,t.block.arguments=n(t.block.partialJson),e.arguments.startsWith(a)){let n=e.arguments.slice(a.length);n.length>0&&i.push({type:`toolcall_delta`,contentIndex:t.contentIndex,delta:n,partial:r})}}else if(e.type===`response.output_item.done`){let t=e.item,o=p(e.output_index,t);if(t.type===`reasoning`&&o?.type===`thinking`){let n=t.summary?.map(e=>e.text).join(`
|
|
7
|
-
|
|
8
|
-
`)||``,a=t.content?.map(e=>e.text).join(`
|
|
9
|
-
|
|
10
|
-
`)||``;o.block.thinking=n||a||o.block.thinking,o.block.thinkingSignature=JSON.stringify(t),i.push({type:`thinking_end`,contentIndex:o.contentIndex,content:o.block.thinking,partial:r}),l.delete(e.output_index)}else t.type===`message`&&o?.type===`text`?(o.block.text=t.content?.map(e=>e.type===`output_text`?e.text:e.refusal).join(``)||``,o.block.textSignature=a(t.id,t.phase??void 0),i.push({type:`text_end`,contentIndex:o.contentIndex,content:o.block.text,partial:r}),l.delete(e.output_index)):t.type===`function_call`&&o?.type===`toolCall`&&(o.block.arguments=n(t.arguments||o.block.partialJson||`{}`),delete o.block.partialJson,i.push({type:`toolcall_end`,contentIndex:o.contentIndex,toolCall:o.block,partial:r}),l.delete(e.output_index))}else if(e.type===`response.completed`||e.type===`response.incomplete`)m(e.response);else if(e.type===`error`)throw Error(`Error Code ${e.code}: ${e.message}`||`Unknown error`);else if(e.type===`response.failed`){c=!0;let t=e.response?.error,n=e.response?.incomplete_details,r=t?`${t.code||`unknown`}: ${t.message||`no message`}`:n?.reason?`incomplete: ${n.reason}`:`Unknown error (no error details in response)`;throw Error(r)}if(!c)throw Error(`OpenAI Responses stream ended before a terminal response event`)}function u(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{c as n,l as r,s as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./store-Bo-VXhKX.js";export{e as readMcpAuthEntries};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/azure-openai-rcs4Z0Nm.js","assets/models-CzSI8IsT.js","assets/preload-helper-Czpn1I53.js","assets/compat-DyT25qXb.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/rolldown-runtime-aKtaBQYM.js","assets/account-store-D7kMPjMl.js","assets/context-compaction-dcYYajWb.js","assets/logger-DDBAeTLF.js","assets/src-CS5gSDhT.js","assets/proxied-fetch-D5h5REZy.js","assets/base64-DpPqYZJF.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/secret-topology-CptRwAX3.js","assets/secrets-bridge-client-D6nwnBvr.js","assets/port-bridge-client-CoFZLSYm.js","assets/tool-ui-DfXu6quJ.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DdoLg8ey.js","assets/transform-messages-fFaW-DLG.js","assets/openai-BxFF4GUL.js","assets/local-llm-DtdiuuN-.js","assets/legacy-api-aliases-BQSsmFIS.js","assets/adobe-Bmh-_khT.js","assets/provider-settings-Bynyth1-.js","assets/tray-runtime-config-DquE2Rx9.js","assets/messages-BD4p8GuF.js","assets/tray-follower-status-CyJIKXH4.js","assets/clipboard-DuHpK59o.js","assets/telemetry-C8rZr13D.js","assets/tray-join-url-BIvzbiFR.js","assets/adobe-oauth-state-Csa5ciQS.js","assets/bridge-launch-params-jegYRGJ6.js","assets/electron-overlay-route-CjT6k9Df.js","assets/oauth-service-lE9AyywH.js","assets/wc-permissions-registry-Blyunq37.js","assets/llm-session-id-bZQs6gBN.js","assets/cerebras-Bb96dS8U.js","assets/github-copilot-Bf-iW8mK.js","assets/github-O8AoJ7u2.js","assets/global-db-CbuLl-zx.js","assets/openai-codex-D-gmV2fj.js","assets/xai-grok-sanitize-CR2JoOJd.js","assets/xai-grok-models-CeEBaUMC.js","assets/xai-grok-B5CWbUwl.js","assets/xai-grok-errors-bnlIBeu-.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";var n={include:[`*`],exclude:[`amazon-bedrock`]},r=e({getRegisteredProviderConfig:()=>d,getRegisteredProviderIds:()=>f,registerProviderConfig:()=>p,registerProviders:()=>u,shouldIncludeProvider:()=>a}),i=Object.assign({"/packages/dev-tools/providers.build.json":n})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function a(e){let{include:t,exclude:n}=i;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}var o=Object.assign({"./built-in/azure-ai-foundry.ts":()=>t(()=>import(`./azure-ai-foundry-Bo0FAJyX.js`),[]),"./built-in/azure-openai.ts":()=>t(()=>import(`./azure-openai-rcs4Z0Nm.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22])),"./built-in/bedrock-camp.ts":()=>t(()=>import(`./bedrock-camp-DdoLg8ey.js`).then(e=>e.n),__vite__mapDeps([20,6,1,2,3,4,5,21])),"./built-in/local-llm.ts":()=>t(()=>import(`./local-llm-DtdiuuN-.js`),__vite__mapDeps([23,1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]))}),s=Object.assign({"/packages/webapp/providers/adobe.ts":()=>t(()=>import(`./adobe-Bmh-_khT.js`),__vite__mapDeps([25,1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,26,27,28,29,30,31,32,33,34,35,36,37,38])),"/packages/webapp/providers/cerebras.ts":()=>t(()=>import(`./cerebras-Bb96dS8U.js`),__vite__mapDeps([39,1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),"/packages/webapp/providers/github-copilot.ts":()=>t(()=>import(`./github-copilot-Bf-iW8mK.js`),__vite__mapDeps([40,1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,26,27,28,29,30,31,32])),"/packages/webapp/providers/github.ts":()=>t(()=>import(`./github-O8AoJ7u2.js`),__vite__mapDeps([41,2,7,6,3,1,4,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,27,28,26,29,30,31,32,33,34,35,36,37,42])),"/packages/webapp/providers/openai-codex.ts":()=>t(()=>import(`./openai-codex-D-gmV2fj.js`),__vite__mapDeps([43,1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,26,27,28,29,30,31,32])),"/packages/webapp/providers/xai-grok-errors.ts":()=>t(()=>import(`./xai-grok-errors-bnlIBeu-.js`),[]),"/packages/webapp/providers/xai-grok-models.ts":()=>t(()=>import(`./xai-grok-models-CeEBaUMC.js`),[]),"/packages/webapp/providers/xai-grok-sanitize.ts":()=>t(()=>import(`./xai-grok-sanitize-CR2JoOJd.js`),__vite__mapDeps([44,45])),"/packages/webapp/providers/xai-grok.ts":()=>t(()=>import(`./xai-grok-B5CWbUwl.js`),__vite__mapDeps([46,1,2,3,4,5,6,24,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,26,27,28,29,30,31,32,47,45,44]))}),c=new Map,l=null;function u(){return l||(l=(async()=>{for(let[e,t]of Object.entries(o)){let e=await t();e.config&&a(e.config.id)&&(c.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(s)){let e=await t();e.config&&(c.set(e.config.id,e.config),e.register?.())}})(),l)}function d(e){return c.get(e)}function f(){return[...c.keys()]}function p(e){c.set(e.id,e)}export{u as a,p as i,f as n,a as o,r,d as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";var t={include:[`*`],exclude:[`amazon-bedrock`]},n=e({getRegisteredProviderConfig:()=>u,getRegisteredProviderIds:()=>d,registerProviderConfig:()=>f,registerProviders:()=>l,shouldIncludeProvider:()=>i,unregisterProviderConfig:()=>p});const r=Object.assign({"/packages/dev-tools/providers.build.json":t})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function i(e){let{include:t,exclude:n}=r;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const a=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-Dm2kMacy.js`),"./built-in/bedrock-camp.ts":()=>import(`./bedrock-camp-BqDUcxBp.js`).then(e=>e.n),"./built-in/local-llm.ts":()=>import(`./local-llm-DuSay7Zm.js`).then(e=>e.n)}),o=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-DyH_9qJK.js`),"/packages/webapp/providers/cerebras.ts":()=>import(`./cerebras-Ih70UTEx.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-C_R0Ma0E.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-BpqJV3zd.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-Dv3Zo1Dx.js`),"/packages/webapp/providers/xai-grok-errors.ts":()=>import(`./xai-grok-errors-ByEMMSoz.js`),"/packages/webapp/providers/xai-grok-models.ts":()=>import(`./xai-grok-models-B0Tf--xf.js`),"/packages/webapp/providers/xai-grok-sanitize.ts":()=>import(`./xai-grok-sanitize-CV6qvaEF.js`),"/packages/webapp/providers/xai-grok.ts":()=>import(`./xai-grok-qyS7ZUXU.js`)}),s=new Map;let c=null;function l(){return c||(c=(async()=>{for(let[e,t]of Object.entries(a)){let e=await t();e.config&&i(e.config.id)&&(s.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(o)){let e=await t();e.config&&(s.set(e.config.id,e.config),e.register?.())}})(),c)}function u(e){return s.get(e)}function d(){return[...s.keys()]}function f(e){s.set(e.id,e)}function p(e){return s.delete(e)}export{l as a,f as i,d as n,i as o,n as r,p as s,u as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/sudo-CIRZ-EUo.js","assets/preload-helper-Czpn1I53.js","assets/logger-DDBAeTLF.js","assets/proxied-fetch-D5h5REZy.js","assets/rolldown-runtime-aKtaBQYM.js","assets/base64-DpPqYZJF.js","assets/src-CS5gSDhT.js","assets/runtime-env-DH4NDw4t.js","assets/fetch-body-D2PwksUW.js","assets/quick-llm-DAjUwXji.js","assets/compat-DyT25qXb.js","assets/models-CzSI8IsT.js","assets/provider-env-D37PhSJu.js","assets/__vite-browser-external-SwrSgYTf.js","assets/account-store-D7kMPjMl.js","assets/context-compaction-dcYYajWb.js","assets/secret-topology-CptRwAX3.js","assets/secrets-bridge-client-D6nwnBvr.js","assets/port-bridge-client-CoFZLSYm.js","assets/tool-ui-DfXu6quJ.js","assets/providers-DiQPQy2w.js","assets/panel-rpc-DmJSNs0I.js","assets/bedrock-camp-DdoLg8ey.js","assets/transform-messages-fFaW-DLG.js","assets/llm-session-id-bZQs6gBN.js","assets/icons-C5g936Qd.js","assets/panel-responder-BKgfV-nl.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e}from"./rolldown-runtime-aKtaBQYM.js";import{t}from"./preload-helper-Czpn1I53.js";var n=e({setupSudoExtension:()=>i,setupSudoStandalone:()=>r});async function r(e){let{installSudoTestHook:n}=await t(async()=>{let{installSudoTestHook:e}=await import(`./sudo-CIRZ-EUo.js`);return{installSudoTestHook:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]));n()}async function i(e){let{installPanelSudoResponder:n}=await t(async()=>{let{installPanelSudoResponder:e}=await import(`./sudo-CIRZ-EUo.js`);return{installPanelSudoResponder:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]));n()}export{n,r as t};
|