sliccy 6.78.1 → 6.78.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node-server/cloud-status.d.ts +9 -0
- package/dist/node-server/cloud-status.js +9 -1
- package/dist/ui/.vite/manifest.json +215 -227
- package/dist/ui/assets/{account-store-DFPhEmuH.js → account-store-Bwe7JMH-.js} +1 -1
- package/dist/ui/assets/{account-store-CqA9SSU8.js → account-store-Ch65aCFb.js} +1 -1
- package/dist/ui/assets/{adobe-DxnLH0tB.js → adobe-Bz9Td5du.js} +1 -1
- package/dist/ui/assets/{adobe-C9LIkjuB.js → adobe-DsgfMMl7.js} +1 -1
- package/dist/ui/assets/anthropic-messages-BX4DpK10.js +39 -0
- package/dist/ui/assets/anthropic-messages-C-orWG7m.js +39 -0
- package/dist/ui/assets/{apply-layout-Ba_t-LU-.js → apply-layout-CFIXh5fS.js} +1 -1
- package/dist/ui/assets/{apps-yLGS328q.js → apps-Cs8oR4Lg.js} +1 -1
- package/dist/ui/assets/azure-openai-Cm4-SPmb.js +18 -0
- package/dist/ui/assets/azure-openai-V4ydKR70.js +18 -0
- package/dist/ui/assets/{azure-openai-responses-eJTO6o5G.js → azure-openai-responses-C2LleG-4.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-qqQXNCHy.js → azure-openai-responses-Df9YPxyp.js} +1 -1
- package/dist/ui/assets/bedrock-camp-B0KF_4RS.js +1 -0
- package/dist/ui/assets/bedrock-camp-qpZqnqLa.js +2 -0
- package/dist/ui/assets/{browser-BAL8RehA.js → browser-2rCVqcqy.js} +1 -1
- package/dist/ui/assets/{cerebras-CO_bCsX2.js → cerebras-C51m3zHq.js} +1 -1
- package/dist/ui/assets/{cerebras-Bjmz0nDq.js → cerebras-Cr72hzB7.js} +1 -1
- package/dist/ui/assets/{connect-surface-CKT9YR66.js → connect-surface-BgLFvMBr.js} +1 -1
- package/dist/ui/assets/constrained-sampling-BNmnoM-i.js +1 -0
- package/dist/ui/assets/constrained-sampling-Zzx2ko9x.js +1 -0
- package/dist/ui/assets/dist-DTAqvnM4.js +18 -0
- package/dist/ui/assets/{ensure-speech-assets-DDGWBTuw.js → ensure-speech-assets-DvFwJX-M.js} +1 -1
- package/dist/ui/assets/es-BDNIRkLU.js +51 -0
- package/dist/ui/assets/esptool-operations-BmdosN6N.js +13 -0
- package/dist/ui/assets/{esptool-operations-CDJhOTdU.js → esptool-operations-CbgLIJzi.js} +4 -4
- package/dist/ui/assets/{fs-BGYdXvQe.js → fs-CHduR_z-.js} +2 -2
- package/dist/ui/assets/{fs-BgcV7gMH.js → fs-CrXC-O2d.js} +1 -1
- package/dist/ui/assets/{github-CWDyelVA.js → github-BGfSga5-.js} +1 -1
- package/dist/ui/assets/{github-DigiqZkc.js → github-BIU4tpUD.js} +2 -2
- package/dist/ui/assets/{github-copilot-D3QxDFpn.js → github-copilot-D9Lwnwqf.js} +1 -1
- package/dist/ui/assets/{github-copilot-BUvhiBqo.js → github-copilot-DVH5IrYn.js} +1 -1
- package/dist/ui/assets/{github-install-J_iRe0Qn.js → github-install-BdNHZlYI.js} +1 -1
- package/dist/ui/assets/{github-zip-DA7KS0q8.js → github-zip-CpmjWt7A.js} +1 -1
- package/dist/ui/assets/google-generative-ai-C9uw7Zks.js +1 -0
- package/dist/ui/assets/google-generative-ai-DHBc1oKV.js +1 -0
- package/dist/ui/assets/google-shared-BMJ_JErv.js +11 -0
- package/dist/ui/assets/google-shared-YqcyR4cm.js +371 -0
- package/dist/ui/assets/google-vertex-BaT3InWy.js +1 -0
- package/dist/ui/assets/google-vertex-DX8CfGr6.js +1 -0
- package/dist/ui/assets/icons-ZLR7gmJ4.js +1 -0
- package/dist/ui/assets/{installer-CyaKvN2m.js → installer-DW4F27JY.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-BnUM21eR.js → js-realm-worker-MY0pjZ9h.js} +4 -4
- package/dist/ui/assets/{kernel-worker-yw857ueT.js → kernel-worker-BKxUtfmY.js} +300 -300
- package/dist/ui/assets/{legacy-api-aliases-C2CCsk4u.js → legacy-api-aliases-CsTVszvY.js} +1 -1
- package/dist/ui/assets/{legacy-api-aliases-qI5FdR49.js → legacy-api-aliases-nSD9C16V.js} +1 -1
- package/dist/ui/assets/{local-llm-BGW1wtLE.js → local-llm-D1NRQkzz.js} +1 -1
- package/dist/ui/assets/{local-llm-COK65VbN.js → local-llm-HqLsF79p.js} +1 -1
- package/dist/ui/assets/{main-E8Y9fUEO.js → main-BAZcY8aY.js} +3 -3
- package/dist/ui/assets/mistral-conversations-BXo-tb0V.js +4 -0
- package/dist/ui/assets/mistral-conversations-Ck257tvp.js +4 -0
- package/dist/ui/assets/{mount-D8qNPn6f.js → mount-DG1bfETF.js} +2 -2
- package/dist/ui/assets/{mount-BRFa6t-4.js → mount-M6zAHrfJ.js} +1 -1
- package/dist/ui/assets/{mount-recovery-CHVRcxtq.js → mount-recovery-_TjykwtG.js} +1 -1
- package/dist/ui/assets/{new-session-BGczu0FG.js → new-session--SSmR5Ga.js} +2 -2
- package/dist/ui/assets/{oauth-bootstrap-4fK_96El.js → oauth-bootstrap-BsYaFcYA.js} +2 -2
- package/dist/ui/assets/openai-CjBvzZcB.js +17 -0
- package/dist/ui/assets/openai-ZcrxEOGB.js +17 -0
- package/dist/ui/assets/{openai-codex-C8wVJf5e.js → openai-codex-C5laLxy5.js} +1 -1
- package/dist/ui/assets/{openai-codex-B81Bro8k.js → openai-codex-ChaoxQtS.js} +1 -1
- package/dist/ui/assets/openai-codex-responses-BQzefg3i.js +7 -0
- package/dist/ui/assets/openai-codex-responses-JtcU5b3J.js +7 -0
- package/dist/ui/assets/openai-completions-D-HjYi8x.js +5 -0
- package/dist/ui/assets/openai-completions-QMfwfjiE.js +5 -0
- package/dist/ui/assets/openai-responses-BVHnEPuG.js +1 -0
- package/dist/ui/assets/openai-responses-Ca0oWhbv.js +1 -0
- package/dist/ui/assets/openai-responses-shared-DhnqxYC9.js +10 -0
- package/dist/ui/assets/openai-responses-shared-DxcsuzHF.js +10 -0
- package/dist/ui/assets/{openrouter-DNcyWZsw.js → openrouter-5bo3AK5r.js} +1 -1
- package/dist/ui/assets/{openrouter-BReb0eBy.js → openrouter-BglEF0gx.js} +1 -1
- package/dist/ui/assets/{openrouter-images-CeBDTy7a.js → openrouter-images-C93KT7V_.js} +1 -1
- package/dist/ui/assets/{openrouter-images-JzygwjVz.js → openrouter-images-CiM-JPBO.js} +1 -1
- package/dist/ui/assets/{openrouter-models-BVfLgK5R.js → openrouter-models-BhgPe74G.js} +1 -1
- package/dist/ui/assets/{openrouter-models-Ds9BfRxR.js → openrouter-models-DYeJmDu6.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-CdzR0HLG.js → openrouter-oauth-B_qwkZyM.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DtQkXo85.js → openrouter-oauth-lWgqXvCt.js} +1 -1
- package/dist/ui/assets/openrouter.models-DEX-YTLI.js +1 -0
- package/dist/ui/assets/openrouter.models-gbjkpjE_.js +1 -0
- package/dist/ui/assets/{panel-rpc-handlers-B6g2obdo.js → panel-rpc-handlers-DOaYtEJ2.js} +2 -2
- package/dist/ui/assets/{panelize-shell-BZuH5tPw.js → panelize-shell-BiuM5F3-.js} +1 -1
- package/dist/ui/assets/pdfjs-BspLIDsM.js +100 -0
- package/dist/ui/assets/pi-user-agent-6Rm79QmC.js +1 -0
- package/dist/ui/assets/pi-user-agent-BlGZrXbX.js +1 -0
- package/dist/ui/assets/{provider-BnYcq1I8.js → provider-D5-Ws4A3.js} +1 -1
- package/dist/ui/assets/{provider-O2Fsi2E6.js → provider-DGKy0rlK.js} +2 -2
- package/dist/ui/assets/{provider-settings-CHVLgGD4.js → provider-settings-BkIna1v7.js} +1 -1
- package/dist/ui/assets/{provider-settings-B4ty6gIx.js → provider-settings-DrEGQ7ef.js} +1 -1
- package/dist/ui/assets/provider-store-access-BK4wRKW6.js +1 -0
- package/dist/ui/assets/{provider-store-access-DO8lATOK.js → provider-store-access-Dr5cJrix.js} +2 -2
- package/dist/ui/assets/{providers-UBBok802.js → providers-B9Tcuh9N.js} +1 -1
- package/dist/ui/assets/{providers-DTdEhTSN.js → providers-DiWgfJHV.js} +2 -2
- package/dist/ui/assets/{quick-llm-CmyRUCMf.js → quick-llm-CSEzJrdv.js} +1 -1
- package/dist/ui/assets/{recovery-screen-_f8iC-Fq.js → recovery-screen-BAeZAnd3.js} +1 -1
- package/dist/ui/assets/{redirect-uri-CMVLNgtY.js → redirect-uri-BmNItvHl.js} +1 -1
- package/dist/ui/assets/{session-freezer-CvPl-bDp.js → session-freezer-BU7ggIXE.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-CHIJc86J.js → setup-feature-flags-remote-B7CMO8xS.js} +1 -1
- package/dist/ui/assets/{setup-standalone-prelude-DUERSTfj.js → setup-standalone-prelude-Dg0BO-ug.js} +1 -1
- package/dist/ui/assets/{setup-sudo-D2RYRZR7.js → setup-sudo-w0slorYi.js} +2 -2
- package/dist/ui/assets/{skills-BFj_C0zu.js → skills-Qu2Xx97d.js} +1 -1
- package/dist/ui/assets/slicc-version-BJsqUhbP.js +1 -0
- package/dist/ui/assets/{sprinkle-manager-BMj0BniN.js → sprinkle-manager-2UUakPAV.js} +1 -1
- package/dist/ui/assets/src-Cj-AoUM3.js +2 -0
- package/dist/ui/assets/{src-jZxFomYR.js → src-DDn9o2XK.js} +1 -1
- package/dist/ui/assets/{store-PIfsltkW.js → store-BY8jHah-.js} +1 -1
- package/dist/ui/assets/{store-B_azjzWK.js → store-DLe-z7qR.js} +1 -1
- package/dist/ui/assets/{sudo-B_q1NKKG.js → sudo-B-8VnvDn.js} +1 -1
- package/dist/ui/assets/{sync-dialog-BXZHMjrc.js → sync-dialog-ACgl0n-p.js} +1 -1
- package/dist/ui/assets/{telemetry-DeLkquP_.js → telemetry-BVzuNdvW.js} +1 -1
- package/dist/ui/assets/{telemetry-BugxTkxX.js → telemetry-BwapcULJ.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-DPiDPtcB.js → upgrade-detection-Bsw9PDXL.js} +1 -1
- package/dist/ui/assets/{wc-attach-C4L2GyF0.js → wc-attach-BsqldTbU.js} +2 -2
- package/dist/ui/assets/{wc-extension-BO9vRQwT.js → wc-extension-DYDuh0JO.js} +2 -2
- package/dist/ui/assets/{wc-follower-CZfJ2TtN.js → wc-follower-ww51bVZi.js} +3 -3
- package/dist/ui/assets/{wc-live-Bs4FhY5U.js → wc-live-B-tu9Zmf.js} +5 -5
- package/dist/ui/assets/{wc-nav-CxJPwpP-.js → wc-nav-DTKff66m.js} +2 -2
- package/dist/ui/assets/{wc-onboarding-Da7hSB-p.js → wc-onboarding-W9IFk-VE.js} +2 -2
- package/dist/ui/assets/{wc-placeholder-Dxzwmbbc.js → wc-placeholder-BHMU_r6O.js} +2 -2
- package/dist/ui/assets/{wc-settings-LBH0HADM.js → wc-settings-DXjEjm0D.js} +2 -2
- package/dist/ui/assets/wc-shell-Csh9APE_.js +119 -0
- package/dist/ui/assets/{wc-sprinkles-kW8sZ7l_.js → wc-sprinkles-DzajqLC2.js} +2 -2
- package/dist/ui/assets/{wc-tray-Z8PDTCsn.js → wc-tray-DNQ32Rxm.js} +2 -2
- package/dist/ui/assets/{xai-grok-Bj6T-qsO.js → xai-grok-Bjjeqaxc.js} +1 -1
- package/dist/ui/assets/{xai-grok-CNmzJXMK.js → xai-grok-D9twjPSS.js} +1 -1
- package/dist/ui/index.html +9 -9
- package/dist/ui/lucide-icons.js +1788 -1707
- package/dist/ui/packages/webapp/index.html +9 -9
- package/package.json +10 -10
- package/dist/ui/assets/anthropic-messages-DzEs7DmW.js +0 -39
- package/dist/ui/assets/anthropic-messages-EYoOyCX6.js +0 -39
- package/dist/ui/assets/azure-openai-BjzhxW0m.js +0 -18
- package/dist/ui/assets/azure-openai-Cv0yG7CG.js +0 -18
- package/dist/ui/assets/bedrock-camp-BfNg24Ce.js +0 -1
- package/dist/ui/assets/bedrock-camp-C8bCNVSq.js +0 -2
- package/dist/ui/assets/completionchunk-CVTjxyMe.js +0 -65
- package/dist/ui/assets/completionchunk-CksvMkXE.js +0 -65
- package/dist/ui/assets/constrained-sampling-DafcjXU6.js +0 -1
- package/dist/ui/assets/dist-CZvQ4trc.js +0 -15
- package/dist/ui/assets/es-D8T2ybXa.js +0 -53
- package/dist/ui/assets/esptool-operations-3FBbK-fD.js +0 -13
- package/dist/ui/assets/google-generative-ai-C9Is_VVN.js +0 -1
- package/dist/ui/assets/google-generative-ai-u7R_TH9o.js +0 -1
- package/dist/ui/assets/google-shared-BPNUreTT.js +0 -371
- package/dist/ui/assets/google-shared-Cde0njMr.js +0 -11
- package/dist/ui/assets/google-vertex-DzrD0kHC.js +0 -1
- package/dist/ui/assets/google-vertex-bmq-ZPFH.js +0 -1
- package/dist/ui/assets/icons-DtQGhvkp.js +0 -1
- package/dist/ui/assets/mistral-conversations-BKWQGrhA.js +0 -8
- package/dist/ui/assets/mistral-conversations-CunWHeDt.js +0 -7
- package/dist/ui/assets/openai-DQxsE__c.js +0 -16
- package/dist/ui/assets/openai-DehfWK3N.js +0 -16
- package/dist/ui/assets/openai-codex-responses-8wXA5Dto.js +0 -7
- package/dist/ui/assets/openai-codex-responses-CeLTmOkk.js +0 -7
- package/dist/ui/assets/openai-completions-CfjF1o-N.js +0 -5
- package/dist/ui/assets/openai-completions-q2lvopuz.js +0 -5
- package/dist/ui/assets/openai-responses-B7rl8DAX.js +0 -1
- package/dist/ui/assets/openai-responses-Cpj4YO2E.js +0 -1
- package/dist/ui/assets/openai-responses-shared-B_T0yMQn.js +0 -10
- package/dist/ui/assets/openai-responses-shared-iNFeCdoC.js +0 -10
- package/dist/ui/assets/openrouter.models-CrhNqqEN.js +0 -1
- package/dist/ui/assets/openrouter.models-DkPWoMvu.js +0 -1
- package/dist/ui/assets/otel-BVv11zKU.js +0 -3
- package/dist/ui/assets/otel-BZA5WuO2.js +0 -3
- package/dist/ui/assets/pdfjs-CRuE4vGw.js +0 -54
- package/dist/ui/assets/provider-store-access-DojveU92.js +0 -1
- package/dist/ui/assets/slicc-version-C2rv26Z3.js +0 -1
- package/dist/ui/assets/src-C9oNvq2b.js +0 -2
- package/dist/ui/assets/wc-shell-DXji2EMu.js +0 -117
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-DN_idNHx.js";import{c as t,i as n,n as r,o as i,s as a,t as o}from"./transform-messages-DEFauvrq.js";import{n as s}from"./json-parse-ClXMvBdK.js";import{t as c}from"./provider-env-CILujRmO.js";import{t as l}from"./headers-CbDaTl3c.js";import{t as u}from"./provider-retry-C8PJzY_l.js";import{t as d}from"./sanitize-unicode-DmIE6hZJ.js";import{a as f,i as p,n as m,o as h,r as g,t as _}from"./constrained-sampling-BNmnoM-i.js";import{n as v,t as y}from"./github-copilot-headers-DRgtIyTm.js";import{n as b}from"./openai-CjBvzZcB.js";import{n as x,t as S}from"./error-body-pkrba6pf.js";import{t as C}from"./openai-prompt-cache-DXo9f3w5.js";import{t as w}from"./hash-yQufAZII.js";function T(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 E(e,t,n){if(t)return t;if(T(n,`authorization`)||T(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function D(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 O(e){let t=new Set;for(let n of e)if(n.role===`toolResult`)for(let e of n.addedToolNames??[])t.add(e);return t}function k(e,t){if(!e)return[];let n=new Map(e.map(e=>[e.name,e]));return Array.from(t).map(e=>n.get(e)).filter(e=>e!==void 0)}function A(e){return e.type===`text`}function j(e){return e.type===`thinking`}function M(e){return e.type===`toolCall`}function N(e){return e.type===`image`}function P(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 F(e,t){return e||(c(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}const I=(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:`pending`,timestamp:Date.now()};try{let a=E(t.provider,r?.apiKey,r?.headers),o=$(t),c=m(n.tools,o.supportsOpenAIGrammarTools),d=F(r?.cacheRetention,r?.env),f=d===`none`?void 0:r?.sessionId,p=R(t,n,a,r?.headers,r?.fetch,f,o),h=z(t,n,r,o,d,c),g=await r?.onPayload?.(h,t);g!==void 0&&(h=g);let v={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:y,response:b}=await u(()=>p.chat.completions.create(h,v).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});await r?.onResponse?.({status:b.status,headers:l(b.headers)},t),i.push({type:`start`,partial:e});let x=null,S=null,C=!1,w=new Map,T=new Map,D=new Map,O=e.content,k=e=>O.indexOf(e),A=e=>{let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``},j=(e,t,n)=>{let r=e.customInput;if(!r)return;let i=_(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i},M=t=>{let n=k(t);if(n!==-1){if(t.type===`text`)i.push({type:`text_end`,contentIndex:n,content:t.text,partial:e});else if(t.type===`thinking`)i.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:e});else if(t.type===`toolCall`){if(t.customInput){let r=j(t,A(t),!0);r!==void 0&&i.push({type:`toolcall_delta`,contentIndex:n,delta:r,partial:e})}else t.arguments=s(t.partialArgs);delete t.partialArgs,delete t.customInput,delete t.streamIndex,i.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:e})}}},N=()=>(x||(x={type:`text`,text:``},O.push(x),i.push({type:`text_start`,contentIndex:k(x),partial:e})),x),I=t=>(S||(S={type:`thinking`,thinking:``,thinkingSignature:t},O.push(S),i.push({type:`thinking_start`,contentIndex:k(S),partial:e})),S),L=e=>{if(!e.id)return;let t=D.get(e.id);t&&(e.thoughtSignature=t,D.delete(e.id))},B=t=>{let n=typeof t.index==`number`?t.index:void 0,r=t.function?.name??t.custom?.name??``,a=n===void 0?void 0:w.get(n);if(!a&&t.id&&(a=T.get(t.id)),!a){let o=t.custom&&!t.function?c.get(r)??`input`:void 0,s=o!==void 0;a={type:`toolCall`,id:t.id||``,name:r,arguments:s?{[o]:``}:{},partialArgs:s?void 0:``,customInput:s?{property:o,jsonBuffer:{input:``,started:!1,closed:!1}}:void 0,streamIndex:n},n!==void 0&&w.set(n,a),t.id&&T.set(t.id,a),O.push(a),i.push({type:`toolcall_start`,contentIndex:k(a),partial:e})}if(n!==void 0&&a.streamIndex===void 0&&(a.streamIndex=n,w.set(n,a)),t.id&&T.set(t.id,a),!a.name&&r&&(a.name=r),t.custom&&!t.function&&!a.customInput){let e=c.get(a.name)??`input`;a.arguments={[e]:``},a.customInput={property:e,jsonBuffer:{input:``,started:!1,closed:!1}},delete a.partialArgs}return L(a),a};for await(let n of y){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=Q(n.usage,t));let r=Array.isArray(n.choices)?n.choices[0]:void 0;if(r){if(!n.usage&&r.usage&&(e.usage=Q(r.usage,t)),r.finish_reason){e.rawStopReason=r.finish_reason;let t=ee(r.finish_reason);e.stopReason=t.stopReason,t.errorMessage&&(e.errorMessage=t.errorMessage),C=!0}if(r.delta){if(r.delta.content!==null&&r.delta.content!==void 0&&r.delta.content.length>0){let t=N();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,o=null;for(let e of n){let t=a[e];if(typeof t==`string`&&t.length>0){o=e;break}}if(o){let n=a[o];if(typeof n==`string`&&n.length>0){let r=I(t.provider===`opencode-go`&&o===`reasoning`?`reasoning_content`:o);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=B(t);!n.id&&t.id&&(n.id=t.id,T.set(t.id,n));let r=t.function?.name??t.custom?.name;!n.name&&r&&(n.name=r);let a=``;t.function?.arguments?(a=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=s(n.partialArgs)):t.custom?.input&&(a=j(n,A(n)+t.custom.input,!1)??``),i.push({type:`toolcall_delta`,contentIndex:k(n),delta:a,partial:e})}let c=r.delta.reasoning_details;if(Array.isArray(c)){for(let e of c)if(P(e)){let t=JSON.stringify(e),n=T.get(e.id);n?n.thoughtSignature=t:D.set(e.id,t)}}}}}for(let e of O)M(e);if(r?.signal?.aborted||e.stopReason===`aborted`)throw Error(`Request was aborted`);if(!C&&!o.supportsFinishReason&&(e.stopReason=e.content.some(e=>e.type===`toolCall`)?`toolUse`:`stop`),e.stopReason===`error`)throw Error(e.errorMessage||`Provider returned an error stop reason`);if(o.supportsFinishReason&&!C||e.stopReason===`pending`)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.customInput,delete t.streamIndex;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=S(x(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},L=(e,r,i)=>{E(e.provider,i?.apiKey,i?.headers);let a=n(e,r,i,i?.apiKey),o=i?.reasoning?t(e,i.reasoning):void 0,s=o===`off`?void 0:o,c=i?.toolChoice;return I(e,r,{...a,reasoningEffort:s,toolChoice:c,thinkingBudgets:i?.thinkingBudgets})};function R(e,t,n,r,i,a,o=$(e)){let s={...e.headers};if(e.provider===`github-copilot`){let e=v(t.messages),n=y({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&o.sendSessionAffinityHeaders&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a,s[`x-session-affinity`]=a)),r&&Object.assign(s,r),new b({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function z(e,t,n,a=$(e),o=F(n?.cacheRetention,n?.env),s=m(t.tools,a.supportsOpenAIGrammarTools)){let c=X(e,t,a,{grammarToolInputProperties:s}),l=H(a,o),u={model:e.id,messages:c,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&o!==`none`||o===`long`&&a.supportsLongCacheRetention?C(n?.sessionId):void 0,prompt_cache_retention:o===`long`&&a.supportsLongCacheRetention?`24h`:void 0};a.supportsUsageInStreaming!==!1&&(u.stream_options={include_usage:!0}),a.supportsStore&&(u.store=!1),n?.maxTokens&&(a.maxTokensField===`max_tokens`?u.max_tokens=n.maxTokens:u.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(u.temperature=n.temperature);let d=a.deferredToolsMode===`kimi`?O(t.messages):new Set,f=t.tools?.filter(e=>!d.has(e.name));if(f&&f.length>0?(u.tools=Z(f,a),a.zaiToolStream&&(u.tool_stream=!0)):D(t.messages)&&(u.tools=[]),l&&U(c,u.tools,l),n?.toolChoice&&(u.tool_choice=n.toolChoice),a.thinkingFormat===`zai`&&e.reasoning){let t=u;if(t.thinking=n?.reasoningEffort?{type:`enabled`,clear_thinking:!1}:{type:`disabled`},n?.reasoningEffort&&a.supportsReasoningEffort){let r=e.thinkingLevelMap?.[n.reasoningEffort],i=r===void 0?n.reasoningEffort:r;typeof i==`string`&&(t.reasoning_effort=i)}}else if(a.thinkingFormat===`qwen`&&e.reasoning){if(u.enable_thinking=!!n?.reasoningEffort,n?.reasoningEffort&&a.supportsReasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;typeof t==`string`&&(u.reasoning_effort=t)}}else if(a.thinkingFormat===`qwen-chat-template`&&e.reasoning)u.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(a.thinkingFormat===`chat-template`&&e.reasoning){let t=B(e,n,a.chatTemplateKwargs);t&&(u.chat_template_kwargs=t)}else if(a.thinkingFormat===`baseten`&&e.reasoning){let t=u,r=B(e,n,a.chatTemplateArgs);if(r&&(t.chat_template_args=r),a.supportsReasoningEffort){let r=n?.reasoningEffort,i=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off,a=i===void 0?r:i;typeof a==`string`&&(t.reasoning_effort=a)}}else if(a.thinkingFormat===`deepseek`&&e.reasoning)n?.reasoningEffort?u.thinking={type:`enabled`}:e.thinkingLevelMap?.off!==null&&(u.thinking={type:`disabled`}),n?.reasoningEffort&&a.supportsReasoningEffort&&(u.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(a.thinkingFormat===`openrouter`&&e.reasoning){let t=u;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(a.thinkingFormat===`ant-ling`&&e.reasoning&&n?.reasoningEffort){let t=e.thinkingLevelMap?.[n.reasoningEffort];typeof t==`string`&&(u.reasoning={effort:t})}else if(a.thinkingFormat===`together`&&e.reasoning){let t=u;t.reasoning={enabled:!!n?.reasoningEffort},n?.reasoningEffort&&a.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort)}else if(a.thinkingFormat===`string-thinking`&&e.reasoning){let t=u;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&&a.supportsReasoningEffort)u.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&a.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(u.reasoning_effort=t)}if(a.supportsThinkingTokenBudget&&n?.reasoningEffort&&e.reasoning){let t=i(n.reasoningEffort),a={minimal:1024,low:2048,medium:8192,high:16384,...n.thinkingBudgets},o=u.max_tokens??u.max_completion_tokens??e.maxTokens,s=Math.min(a[t],Math.max(0,o-r));s>0&&(u.thinking_token_budget=s)}if(e.compat?.openRouterRouting&&(u.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),u.providerOptions={gateway:e}}}return n?.samplingParams&&Object.assign(u,n.samplingParams),u}function B(e,t,n){let r={};for(let[i,a]of Object.entries(n)){let n=V(e,t,a);n!==void 0&&(r[i]=n)}return Object.keys(r).length>0?r:void 0}function V(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 H(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 U(e,t,n){W(e,n),K(t,n),G(e,n)}function W(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){q(n,t);return}}function G(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`||r.role===`tool`)&&J(r,t))return}}function K(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function q(e,t){return Y(e,t)}function J(e,t){return e.role===`user`||e.role===`assistant`||e.role===`tool`?Y(e,t):!1}function Y(e,t){let n=e.content;if(typeof n==`string`)return n.length!==0&&(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 X(e,t,n,r){let i=[],a=t=>{if(t.includes(`|`)){let e=t.indexOf(`|`),n=t.slice(0,e).replace(/[^a-zA-Z0-9_-]/g,`_`),r=t.slice(e+1).replace(/[^a-zA-Z0-9_-]/g,`_`),i=r.length>0?`${n}_${r}`:n;if(i.length<=40)return i;let a=w(t).slice(0,8);return`${n.slice(0,Math.max(1,40-a.length-1))}_${a}`}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},s=o(t.messages,e,e=>a(e));if(t.systemPrompt){let r=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;i.push({role:r,content:d(t.systemPrompt)})}let c=null;for(let a=0;a<s.length;a++){let o=s[a];if(n.requiresAssistantAfterToolResult&&c===`toolResult`&&o.role===`user`&&i.push({role:`assistant`,content:`I have processed the tool results.`}),o.role===`user`)if(typeof o.content==`string`)i.push({role:`user`,content:d(o.content)});else{let e=o.content.map(e=>e.type===`text`?{type:`text`,text:d(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;i.push({role:`user`,content:e})}else if(o.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=o.content.filter(A).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:d(e.text)})),s=a.map(e=>e.text).join(``),c=o.content.filter(j).filter(e=>e.thinking.trim().length>0);if(c.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:c.map(e=>d(e.thinking)).join(`
|
|
2
|
+
|
|
3
|
+
`)},...a];else{s.length>0&&(t.content=s);let n=c[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&n.length>0&&(t[n]=c.map(e=>e.thinking).join(`
|
|
4
|
+
`))}else s.length>0&&(t.content=s);let l=o.content.filter(M);if(l.length>0){t.tool_calls=l.map(e=>{let t=r?.grammarToolInputProperties?.get(e.name);return t===void 0?{id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}:{id:e.id,type:`custom`,custom:{name:e.name,input:d(g(e.name,e.arguments,t))}}});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;i.push(t)}else if(o.role===`toolResult`){let r=[],o=new Set,l=a;for(;l<s.length&&s[l].role===`toolResult`;l++){let t=s[l],a=t.content.filter(A).map(e=>e.text).join(`
|
|
5
|
+
`),c=t.content.some(e=>e.type===`image`),u=a.length>0?a:c?`(see attached image)`:`(no tool output)`,f={role:`tool`,content:d(u),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(f.name=t.toolName),i.push(f),n.deferredToolsMode===`kimi`)for(let e of t.addedToolNames??[])o.add(e);if(c&&e.input.includes(`image`))for(let e of t.content)N(e)&&r.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}if(a=l-1,r.length>0?(n.requiresAssistantAfterToolResult&&i.push({role:`assistant`,content:`I have processed the tool results.`}),i.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...r]}),c=`user`):c=`toolResult`,o.size>0){let e=k(t.tools,o);if(e.length>0){let t={role:`system`,tools:Z(e,n)};i.push(t)}}continue}c=o.role}return i}function Z(e,t){return e.map(e=>{let n=f(e,t.supportsOpenAIGrammarTools);if(n)return{type:`custom`,custom:{name:e.name,description:e.description,format:{type:`grammar`,grammar:{syntax:n.format,definition:n.definition}}}};let r=h(e,t.supportsStrictMode!==!1);return{type:`function`,function:{name:e.name,description:e.description,parameters:p(e,r),...t.supportsStrictMode!==!1&&{strict:r??!1}}}})}function Q(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,i=e.prompt_tokens_details?.cache_write_tokens||0,o=Math.max(0,n-r-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:r,cacheWrite:i,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:o+s+r+i,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return a(t,c),c}function ee(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 te(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=t===`deepseek`||n.toLowerCase().includes(`deepseek.com`),f=l||t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||d||r||a||t===`opencode`||n.includes(`opencode.ai`)||s||c||u,p=n.includes(`chutes.ai`)||d||a||c||i||l||u||r,m=t===`xai`||n.includes(`api.x.ai`),h=o&&(e.id.startsWith(`anthropic/`)||e.id.startsWith(`openai/`)),g=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!f,supportsDeveloperRole:h||!f&&!o,supportsReasoningEffort:!m&&!r&&!a&&!i&&!c&&!l&&!u,supportsUsageInStreaming:!0,supportsFinishReason:!0,maxTokensField:p?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:d,thinkingFormat:d?`deepseek`:r?`zai`:i?`together`:u?`ant-ling`:o?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},chatTemplateArgs:{},zaiToolStream:!1,supportsThinkingTokenBudget:!1,supportsStrictMode:!a&&!i&&!c&&!l,supportsOpenAIGrammarTools:!1,cacheControlFormat:g,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:o?`openrouter`:`openai`,supportsLongCacheRetention:!(i||s||c||l||u)}}function $(e){let t=te(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,supportsFinishReason:e.compat.supportsFinishReason??t.supportsFinishReason,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,chatTemplateArgs:e.compat.chatTemplateArgs??t.chatTemplateArgs,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsThinkingTokenBudget:e.compat.supportsThinkingTokenBudget??t.supportsThinkingTokenBudget,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??t.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??t.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??t.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{X as convertMessages,I as stream,L as streamSimple};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-DN_idNHx.js";import{c as t,i as n}from"./transform-messages-DEFauvrq.js";import{t as r}from"./provider-env-CILujRmO.js";import{t as i}from"./deferred-tools-DNuoafg8.js";import{t as a}from"./headers-CbDaTl3c.js";import{t as o}from"./provider-retry-C8PJzY_l.js";import{n as s}from"./constrained-sampling-BNmnoM-i.js";import{n as c,t as l}from"./github-copilot-headers-DRgtIyTm.js";import{n as u}from"./openai-CjBvzZcB.js";import{n as d,t as f}from"./error-body-pkrba6pf.js";import{t as p}from"./openai-prompt-cache-DXo9f3w5.js";import{n as m,r as h,t as g}from"./openai-responses-shared-DxcsuzHF.js";const _=new Set([`openai`,`openai-codex`,`opencode`]);function v(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 y(e,t,n){if(t)return t;if(v(n,`authorization`)||v(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function b(e){return e.provider===`openrouter`||e.baseUrl.includes(`openrouter.ai`)?`openrouter`:`openai`}function x(e,t){return e||(r(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function S(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,sessionAffinityFormat:e.compat?.sessionAffinityFormat??b(e),supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,supportsStrictMode:e.compat?.supportsStrictMode??!1,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1,supportsAdditionalTools:e.compat?.supportsAdditionalTools??!1,supportsToolSearch:e.compat?.supportsToolSearch??!1,supportsExplicitPromptCacheMode:e.compat?.supportsExplicitPromptCacheMode??!1}}function C(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function w(e){return f(d(e),`OpenAI API error`)}const T=(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:`pending`,timestamp:Date.now()};try{let c=y(t.provider,r?.apiKey,r?.headers),l=x(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,u=S(t),d=s(n.tools,u.supportsOpenAIGrammarTools),f=D(t,n,c,r?.headers,r?.fetch,l),p=O(t,n,r,u,d),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let g={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:_,response:v}=await o(()=>f.responses.create(p,g).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});if(await r?.onResponse?.({status:v.status,headers:a(v.headers)},t),i.push({type:`start`,partial:e}),await h(_,e,i,t,{serviceTier:r?.serviceTier,grammarToolInputProperties:d,applyServiceTierPricing:(e,n)=>A(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson,delete t.customInput;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=w(t),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},E=(e,r,i)=>{y(e.provider,i?.apiKey,i?.headers);let a=n(e,r,i,i?.apiKey),o=i?.reasoning?t(e,i.reasoning):void 0,s=o===`off`?void 0:o;return T(e,r,{...a,reasoningEffort:s})};function D(e,t,n,r,i,a){let o=S(e),s={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a)),r&&Object.assign(s,r),new u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function O(e,t,n,r=S(e),a=s(t.tools,r.supportsOpenAIGrammarTools)){let o=r.supportsAdditionalTools?`additional-tools`:r.supportsToolSearch?`tool-search`:void 0,c=i(t,o!==void 0),l=g(e,t,_,{grammarToolInputProperties:a,deferredTools:c.deferred,deferredToolsMode:o,toolOptions:{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools}}),u=x(n?.cacheRetention,n?.env),d=u===`none`&&r.supportsExplicitPromptCacheMode,f={model:e.id,input:l,stream:!0,prompt_cache_key:u===`none`?void 0:p(n?.sessionId),prompt_cache_retention:C(r,u),prompt_cache_options:d?{mode:`explicit`}:void 0,store:!1};return n?.maxTokens&&(f.max_output_tokens=Math.max(n.maxTokens,16)),n?.temperature!==void 0&&(f.temperature=n?.temperature),n?.serviceTier!==void 0&&(f.service_tier=n.serviceTier),c.immediate.length>0&&(f.tools=m(c.immediate,{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools})),n?.toolChoice!==void 0&&(f.tool_choice=n.toolChoice),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(f.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},f.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(f.reasoning={effort:e.thinkingLevelMap?.off??`none`}),e.provider===`xai`&&(f.include=[`reasoning.encrypted_content`])),n?.samplingParams&&Object.assign(f,n.samplingParams),f}function k(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function A(e,t,n){let r=k(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{T as stream,E as streamSimple};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./diagnostics-DN_idNHx.js";import{c as t,i as n}from"./transform-messages-N_eMsP2M.js";import{t as r}from"./provider-env-CTOcDKrQ.js";import{t as i}from"./deferred-tools-C1IEsG5C.js";import{t as a}from"./headers-CbDaTl3c.js";import{t as o}from"./provider-retry-C8PJzY_l.js";import{n as s}from"./constrained-sampling-Zzx2ko9x.js";import{n as c,t as l}from"./github-copilot-headers-DRgtIyTm.js";import{n as u}from"./openai-ZcrxEOGB.js";import{n as d,t as f}from"./error-body-pkrba6pf.js";import{t as p}from"./openai-prompt-cache-DXo9f3w5.js";import{n as m,r as h,t as g}from"./openai-responses-shared-DhnqxYC9.js";var _=new Set([`openai`,`openai-codex`,`opencode`]),v=16;function y(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 b(e,t,n){if(t)return t;if(y(n,`authorization`)||y(n,`cf-aig-authorization`))return`unused`;throw Error(`No API key for provider: ${e}`)}function x(e){return e.provider===`openrouter`||e.baseUrl.includes(`openrouter.ai`)?`openrouter`:`openai`}function S(e,t){return e||(r(`PI_CACHE_RETENTION`,t)===`long`?`long`:`short`)}function C(e){return{supportsDeveloperRole:e.compat?.supportsDeveloperRole??!0,sessionAffinityFormat:e.compat?.sessionAffinityFormat??x(e),supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0,supportsStrictMode:e.compat?.supportsStrictMode??!1,supportsOpenAIGrammarTools:e.compat?.supportsOpenAIGrammarTools??!1,supportsAdditionalTools:e.compat?.supportsAdditionalTools??!1,supportsToolSearch:e.compat?.supportsToolSearch??!1,supportsExplicitPromptCacheMode:e.compat?.supportsExplicitPromptCacheMode??!1}}function w(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function T(e){return f(d(e),`OpenAI API error`)}var E=(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:`pending`,timestamp:Date.now()};try{let c=b(t.provider,r?.apiKey,r?.headers),l=S(r?.cacheRetention,r?.env)===`none`?void 0:r?.sessionId,u=C(t),d=s(n.tools,u.supportsOpenAIGrammarTools),f=O(t,n,c,r?.headers,r?.fetch,l),p=k(t,n,r,u,d),m=await r?.onPayload?.(p,t);m!==void 0&&(p=m);let g={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},maxRetries:0},{data:_,response:v}=await o(()=>f.responses.create(p,g).withResponse(),{maxRetries:r?.maxRetries,maxRetryDelayMs:r?.maxRetryDelayMs,signal:r?.signal});if(await r?.onResponse?.({status:v.status,headers:a(v.headers)},t),i.push({type:`start`,partial:e}),await h(_,e,i,t,{serviceTier:r?.serviceTier,grammarToolInputProperties:d,applyServiceTierPricing:(e,n)=>j(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`pending`)throw Error(`OpenAI Responses stream ended without a stop reason`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(e.errorMessage||`An unknown error occurred`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson,delete t.customInput;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=T(t),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},D=(e,r,i)=>{b(e.provider,i?.apiKey,i?.headers);let a=n(e,r,i,i?.apiKey),o=i?.reasoning?t(e,i.reasoning):void 0,s=o===`off`?void 0:o;return E(e,r,{...a,reasoningEffort:s})};function O(e,t,n,r,i,a){let o=C(e),s={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=l({messages:t.messages,hasImages:e});Object.assign(s,n)}return a&&(o.sessionAffinityFormat===`openrouter`?s[`x-session-id`]=a:(o.sessionAffinityFormat===`openai`&&(s.session_id=a),s[`x-client-request-id`]=a)),r&&Object.assign(s,r),new u({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,fetch:i,defaultHeaders:s})}function k(e,t,n,r=C(e),a=s(t.tools,r.supportsOpenAIGrammarTools)){let o=r.supportsAdditionalTools?`additional-tools`:r.supportsToolSearch?`tool-search`:void 0,c=i(t,o!==void 0),l=g(e,t,_,{grammarToolInputProperties:a,deferredTools:c.deferred,deferredToolsMode:o,toolOptions:{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools}}),u=S(n?.cacheRetention,n?.env),d=u===`none`&&r.supportsExplicitPromptCacheMode,f={model:e.id,input:l,stream:!0,prompt_cache_key:u===`none`?void 0:p(n?.sessionId),prompt_cache_retention:w(r,u),prompt_cache_options:d?{mode:`explicit`}:void 0,store:!1};return n?.maxTokens&&(f.max_output_tokens=Math.max(n.maxTokens,v)),n?.temperature!==void 0&&(f.temperature=n?.temperature),n?.serviceTier!==void 0&&(f.service_tier=n.serviceTier),c.immediate.length>0&&(f.tools=m(c.immediate,{supportsStrictMode:r.supportsStrictMode,supportsOpenAIGrammarTools:r.supportsOpenAIGrammarTools})),n?.toolChoice!==void 0&&(f.tool_choice=n.toolChoice),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(f.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},f.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(f.reasoning={effort:e.thinkingLevelMap?.off??`none`}),e.provider===`xai`&&(f.include=[`reasoning.encrypted_content`])),n?.samplingParams&&Object.assign(f,n.samplingParams),f}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)}export{E as stream,D as streamSimple};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{s as e,t}from"./transform-messages-N_eMsP2M.js";import{n}from"./json-parse-CgFfIg4Q.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{a as i,i as a,o,r as s,t as c}from"./constrained-sampling-Zzx2ko9x.js";import{t as l}from"./hash-yQufAZII.js";function u(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function d(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 f(e,t){let n=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`),i=t.filter(e=>e.type===`image`),a=n.length>0;if(i.length===0||!e.input.includes(`image`))return r(a?n:i.length>0?`(see attached image)`:`(no tool output)`);let o=[];a&&o.push({type:`input_text`,text:r(n)});for(let e of i)o.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return o}function p(e,n,i,a){let o=[],c=new Set,u=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},p=e=>{let t=`fc_${l(e)}`;return t.length>64?t.slice(0,64):t},h=t(n.messages,e,(t,n,r)=>{if(!i.has(e.provider)||!t.includes(`|`))return u(t);let[a,o]=t.split(`|`),s=u(a),c=r.provider!==e.provider||r.api!==e.api?p(o):u(o);return c.startsWith(`fc_`)||(c=u(`fc_${c}`)),`${s}|${c}`});if((a?.includeSystemPrompt??!0)&&n.systemPrompt){let t=e.compat,i=e.reasoning&&t?.supportsDeveloperRole!==!1?`developer`:`system`;o.push({role:i,content:r(n.systemPrompt)})}let g=0;for(let t of h){if(t.role===`user`)if(typeof t.content==`string`)o.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;o.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],i=t,c=i.provider===e.provider&&i.api===e.api,u=c&&i.model===e.id,f=c&&i.model!==e.id,p=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,i=d(t.textSignature),a=p===0?`msg_pi_${g}`:`msg_pi_${g}_${p}`;p++;let o=i?.id;o?o.length>64&&(o=`msg_${l(o)}`):o=a,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:o,phase:i?.phase})}else if(e.type===`toolCall`){let t=e,[i,o]=t.id.split(`|`),c=a?.grammarToolInputProperties?.get(t.name),l=o;(f&&l?.startsWith(`fc_`)||c===void 0&&!l?.startsWith(`fc_`))&&(l=void 0);let d=u||a?.deferredTools?.has(t.name)===!0;c===void 0?n.push({type:`function_call`,id:l,call_id:i,name:t.name,arguments:JSON.stringify(t.arguments),...d&&t.namespace!==void 0?{namespace:t.namespace}:{}}):n.push({type:`custom_tool_call`,id:l,call_id:i,name:t.name,input:r(s(t.name,t.arguments,c)),...d&&t.namespace!==void 0?{namespace:t.namespace}:{}})}if(n.length===0)continue;o.push(...n)}else if(t.role===`toolResult`){let[n]=t.toolCallId.split(`|`),r=f(e,t.content);a?.grammarToolInputProperties?.has(t.toolName)?o.push({type:`custom_tool_call_output`,call_id:n,output:r}):o.push({type:`function_call_output`,call_id:n,output:r});let i=[];for(let e of t.addedToolNames??[]){let t=a?.deferredTools?.get(e);!t||c.has(e)||(c.add(e),i.push(t))}if(i.length>0&&a?.deferredToolsMode===`additional-tools`)o.push({type:`additional_tools`,role:`developer`,tools:m(i,a.toolOptions)});else if(i.length>0&&a?.deferredToolsMode===`tool-search`){let e=i.map(e=>e.name),n=`pi_tool_load_${l(`${t.toolCallId}:${e.join(`,`)}`)}`;o.push({type:`tool_search_call`,call_id:n,execution:`client`,status:`completed`,arguments:{query:e.join(` `),limit:e.length}}),o.push({type:`tool_search_output`,call_id:n,execution:`client`,status:`completed`,tools:m(i,{...a.toolOptions,deferLoading:!0})})}}g++}return o}function m(e,t){let n=t?.strict!==void 0&&t.strict,r=t?.supportsStrictMode??!0,s=t?.supportsOpenAIGrammarTools??!1;return e.map(e=>{let c=i(e,s);if(c)return{type:`custom`,name:e.name,description:e.description,format:{type:`grammar`,syntax:c.format,definition:c.definition},...t?.deferLoading?{defer_loading:!0}:{}};let l=o(e,r)??n,u={type:`function`,name:e.name,description:e.description,parameters:a(e,l===!0),...t?.deferLoading?{defer_loading:!0}:{}};return r&&(u.strict=l),u})}function h(e){let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``}function g(e,t,n){let r=e.customInput;if(!r)return;let i=c(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i}async function _(t,r,i,a,o){let s=!1,c=new Map,l=new Map,d=e=>{e.type===`message`&&e.phase===`final_answer`&&(r.stopReason=`stop`)},f=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},p=(e,t)=>{t!==void 0&&i.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:t,partial:r})},m=(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 c.set(e,n),i.push({type:`thinking_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`message`){d(t);let n={type:`text`,text:``};r.content.push(n);let a={type:`text`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`text_start`,contentIndex:a.contentIndex,partial:r}),a}if(t.type===`function_call`){let n={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{},...t.namespace===void 0?{}:{namespace:t.namespace},partialJson:t.arguments||``};r.content.push(n);let a={type:`toolCall`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:r}),a}if(t.type===`custom_tool_call`){let n=o?.grammarToolInputProperties?.get(t.name)??`input`,a=t.input||``,s={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{[n]:a},...t.namespace===void 0?{}:{namespace:t.namespace},customInput:{property:n,jsonBuffer:{input:``,started:!1,closed:!1}}};r.content.push(s);let l={type:`toolCall`,block:s,contentIndex:r.content.length-1};return c.set(e,l),i.push({type:`toolcall_start`,contentIndex:l.contentIndex,partial:r}),l}},_=(e,t)=>c.get(e)??m(e,t),y=e=>{for(let t of e){if(t.type!==`reasoning`||!t.encrypted_content)continue;let e=l.get(t.id);if(!e?.thinkingSignature)continue;let n=JSON.parse(e.thinkingSignature);n.encrypted_content||(e.thinkingSignature=JSON.stringify({...n,encrypted_content:t.encrypted_content}))}},b=t=>{if(s=!0,y(t.output??[]),t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details,n=e?.cached_tokens||0,i=e?.cache_write_tokens||0;r.usage={input:Math.max(0,(t.usage.input_tokens||0)-n-i),output:t.usage.output_tokens||0,cacheRead:n,cacheWrite:i,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(a,r.usage),o?.applyServiceTierPricing){let e=o.resolveServiceTier?o.resolveServiceTier(t?.service_tier,o.serviceTier):t?.service_tier??o.serviceTier;o.applyServiceTierPricing(r.usage,e)}let n=t?.status,i=t?.incomplete_details,c=typeof i?.reason==`string`?i.reason:void 0;r.rawStopReason=c?`${n}.${c}`:n;let l=v(n,c);r.stopReason=l.stopReason,r.errorMessage=l.errorMessage,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`)m(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=f(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=f(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=f(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=f(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=f(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=f(e.output_index,`toolCall`);if(!t||t.block.partialJson===void 0)continue;t.block.partialJson+=e.delta,t.block.arguments=n(t.block.partialJson),p(t,e.delta)}else if(e.type===`response.function_call_arguments.done`){let t=f(e.output_index,`toolCall`);if(!t||t.block.partialJson===void 0)continue;let r=t.block.partialJson;if(t.block.partialJson=e.arguments,t.block.arguments=n(t.block.partialJson),e.arguments.startsWith(r)){let n=e.arguments.slice(r.length);n.length>0&&p(t,n)}}else if(e.type===`response.custom_tool_call_input.delta`){let t=f(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;p(t,g(t.block,h(t.block)+e.delta,!1))}else if(e.type===`response.custom_tool_call_input.done`){let t=f(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;p(t,g(t.block,e.input,!0))}else if(e.type===`response.output_item.done`){let t=e.item;d(t);let a=_(e.output_index,t);if(t.type===`reasoning`&&a?.type===`thinking`){let n=t.summary?.map(e=>e.text).join(`
|
|
7
|
+
|
|
8
|
+
`)||``,o=t.content?.map(e=>e.text).join(`
|
|
9
|
+
|
|
10
|
+
`)||``;a.block.thinking=n||o||a.block.thinking,a.block.thinkingSignature=JSON.stringify(t),l.set(t.id,a.block),i.push({type:`thinking_end`,contentIndex:a.contentIndex,content:a.block.thinking,partial:r}),c.delete(e.output_index)}else t.type===`message`&&a?.type===`text`?(a.block.text=t.content?.map(e=>e.type===`output_text`?e.text:e.refusal).join(``)||``,a.block.textSignature=u(t.id,t.phase??void 0),i.push({type:`text_end`,contentIndex:a.contentIndex,content:a.block.text,partial:r}),c.delete(e.output_index)):t.type===`function_call`&&a?.type===`toolCall`&&a.block.partialJson!==void 0?(a.block.arguments=n(t.arguments||a.block.partialJson||`{}`),t.namespace!==void 0&&(a.block.namespace=t.namespace),delete a.block.partialJson,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index)):t.type===`custom_tool_call`&&a?.type===`toolCall`&&a.block.customInput&&(p(a,g(a.block,t.input??h(a.block),!0)),t.namespace!==void 0&&(a.block.namespace=t.namespace),delete a.block.customInput,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index))}else if(e.type===`response.completed`||e.type===`response.incomplete`)b(e.response);else if(e.type===`error`)throw Error(`Error Code ${e.code}: ${e.message}`||`Unknown error`);else if(e.type===`response.failed`){s=!0,r.rawStopReason=e.response?.status;let t=e.response?.error,n=e.response?.incomplete_details,i=t?`${t.code||`unknown`}: ${t.message||`no message`}`:n?.reason?`incomplete: ${n.reason}`:`Unknown error (no error details in response)`;throw Error(i)}if(!s)throw Error(`OpenAI Responses stream ended before a terminal response event`)}function v(e,t){if(!e)return{stopReason:`stop`};switch(e){case`completed`:return{stopReason:`stop`};case`incomplete`:return t===`max_output_tokens`?{stopReason:`length`}:{stopReason:`error`,errorMessage:t?`Response incomplete: ${t}`:`Response incomplete without a provider reason`};case`failed`:case`cancelled`:return{stopReason:`error`};case`in_progress`:case`queued`:return{stopReason:`stop`};default:throw Error(`Unhandled stop reason: ${e}`)}}export{m as n,_ as r,p as t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{s as e,t}from"./transform-messages-DEFauvrq.js";import{n}from"./json-parse-ClXMvBdK.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{a as i,i as a,o,r as s,t as c}from"./constrained-sampling-BNmnoM-i.js";import{t as l}from"./hash-yQufAZII.js";function u(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function d(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 f(e,t){let n=t.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
2
|
+
`),i=t.filter(e=>e.type===`image`),a=n.length>0;if(i.length===0||!e.input.includes(`image`))return r(a?n:i.length>0?`(see attached image)`:`(no tool output)`);let o=[];a&&o.push({type:`input_text`,text:r(n)});for(let e of i)o.push({type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});return o}function p(e,n,i,a){let o=[],c=new Set,u=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},p=e=>{let t=`fc_${l(e)}`;return t.length>64?t.slice(0,64):t},h=t(n.messages,e,(t,n,r)=>{if(!i.has(e.provider)||!t.includes(`|`))return u(t);let[a,o]=t.split(`|`),s=u(a),c=r.provider!==e.provider||r.api!==e.api?p(o):u(o);return c.startsWith(`fc_`)||(c=u(`fc_${c}`)),`${s}|${c}`});if((a?.includeSystemPrompt??!0)&&n.systemPrompt){let t=e.compat,i=e.reasoning&&t?.supportsDeveloperRole!==!1?`developer`:`system`;o.push({role:i,content:r(n.systemPrompt)})}let g=0;for(let t of h){if(t.role===`user`)if(typeof t.content==`string`)o.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;o.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],i=t,c=i.provider===e.provider&&i.api===e.api,u=c&&i.model===e.id,f=c&&i.model!==e.id,p=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,i=d(t.textSignature),a=p===0?`msg_pi_${g}`:`msg_pi_${g}_${p}`;p++;let o=i?.id;o?o.length>64&&(o=`msg_${l(o)}`):o=a,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:o,phase:i?.phase})}else if(e.type===`toolCall`){let t=e,[i,o]=t.id.split(`|`),c=a?.grammarToolInputProperties?.get(t.name),l=o;(f&&l?.startsWith(`fc_`)||c===void 0&&!l?.startsWith(`fc_`))&&(l=void 0);let d=u||a?.deferredTools?.has(t.name)===!0;c===void 0?n.push({type:`function_call`,id:l,call_id:i,name:t.name,arguments:JSON.stringify(t.arguments),...d&&t.namespace!==void 0?{namespace:t.namespace}:{}}):n.push({type:`custom_tool_call`,id:l,call_id:i,name:t.name,input:r(s(t.name,t.arguments,c)),...d&&t.namespace!==void 0?{namespace:t.namespace}:{}})}if(n.length===0)continue;o.push(...n)}else if(t.role===`toolResult`){let[n]=t.toolCallId.split(`|`),r=f(e,t.content);a?.grammarToolInputProperties?.has(t.toolName)?o.push({type:`custom_tool_call_output`,call_id:n,output:r}):o.push({type:`function_call_output`,call_id:n,output:r});let i=[];for(let e of t.addedToolNames??[]){let t=a?.deferredTools?.get(e);!t||c.has(e)||(c.add(e),i.push(t))}if(i.length>0&&a?.deferredToolsMode===`additional-tools`)o.push({type:`additional_tools`,role:`developer`,tools:m(i,a.toolOptions)});else if(i.length>0&&a?.deferredToolsMode===`tool-search`){let e=i.map(e=>e.name),n=`pi_tool_load_${l(`${t.toolCallId}:${e.join(`,`)}`)}`;o.push({type:`tool_search_call`,call_id:n,execution:`client`,status:`completed`,arguments:{query:e.join(` `),limit:e.length}}),o.push({type:`tool_search_output`,call_id:n,execution:`client`,status:`completed`,tools:m(i,{...a.toolOptions,deferLoading:!0})})}}g++}return o}function m(e,t){let n=t?.strict!==void 0&&t.strict,r=t?.supportsStrictMode??!0,s=t?.supportsOpenAIGrammarTools??!1;return e.map(e=>{let c=i(e,s);if(c)return{type:`custom`,name:e.name,description:e.description,format:{type:`grammar`,syntax:c.format,definition:c.definition},...t?.deferLoading?{defer_loading:!0}:{}};let l=o(e,r)??n,u={type:`function`,name:e.name,description:e.description,parameters:a(e,l===!0),...t?.deferLoading?{defer_loading:!0}:{}};return r&&(u.strict=l),u})}function h(e){let t=e.customInput?.property;if(t===void 0)return``;let n=e.arguments[t];return typeof n==`string`?n:``}function g(e,t,n){let r=e.customInput;if(!r)return;let i=c(r.jsonBuffer,r.property,t,n);return e.arguments={[r.property]:t},i}async function _(t,r,i,a,o){let s=!1,c=new Map,l=new Map,d=e=>{e.type===`message`&&e.phase===`final_answer`&&(r.stopReason=`stop`)},f=(e,t)=>{let n=c.get(e);return n?.type===t?n:void 0},p=(e,t)=>{t!==void 0&&i.push({type:`toolcall_delta`,contentIndex:e.contentIndex,delta:t,partial:r})},m=(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 c.set(e,n),i.push({type:`thinking_start`,contentIndex:n.contentIndex,partial:r}),n}if(t.type===`message`){d(t);let n={type:`text`,text:``};r.content.push(n);let a={type:`text`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`text_start`,contentIndex:a.contentIndex,partial:r}),a}if(t.type===`function_call`){let n={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{},...t.namespace===void 0?{}:{namespace:t.namespace},partialJson:t.arguments||``};r.content.push(n);let a={type:`toolCall`,block:n,contentIndex:r.content.length-1};return c.set(e,a),i.push({type:`toolcall_start`,contentIndex:a.contentIndex,partial:r}),a}if(t.type===`custom_tool_call`){let n=o?.grammarToolInputProperties?.get(t.name)??`input`,a=t.input||``,s={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:{[n]:a},...t.namespace===void 0?{}:{namespace:t.namespace},customInput:{property:n,jsonBuffer:{input:``,started:!1,closed:!1}}};r.content.push(s);let l={type:`toolCall`,block:s,contentIndex:r.content.length-1};return c.set(e,l),i.push({type:`toolcall_start`,contentIndex:l.contentIndex,partial:r}),l}},_=(e,t)=>c.get(e)??m(e,t),y=e=>{for(let t of e){if(t.type!==`reasoning`||!t.encrypted_content)continue;let e=l.get(t.id);if(!e?.thinkingSignature)continue;let n=JSON.parse(e.thinkingSignature);n.encrypted_content||(e.thinkingSignature=JSON.stringify({...n,encrypted_content:t.encrypted_content}))}},b=t=>{if(s=!0,y(t.output??[]),t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details,n=e?.cached_tokens||0,i=e?.cache_write_tokens||0;r.usage={input:Math.max(0,(t.usage.input_tokens||0)-n-i),output:t.usage.output_tokens||0,cacheRead:n,cacheWrite:i,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(a,r.usage),o?.applyServiceTierPricing){let e=o.resolveServiceTier?o.resolveServiceTier(t?.service_tier,o.serviceTier):t?.service_tier??o.serviceTier;o.applyServiceTierPricing(r.usage,e)}let n=t?.status,i=t?.incomplete_details,c=typeof i?.reason==`string`?i.reason:void 0;r.rawStopReason=c?`${n}.${c}`:n;let l=v(n,c);r.stopReason=l.stopReason,r.errorMessage=l.errorMessage,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`)m(e.output_index,e.item);else if(e.type===`response.reasoning_summary_text.delta`){let t=f(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=f(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=f(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=f(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=f(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=f(e.output_index,`toolCall`);if(!t||t.block.partialJson===void 0)continue;t.block.partialJson+=e.delta,t.block.arguments=n(t.block.partialJson),p(t,e.delta)}else if(e.type===`response.function_call_arguments.done`){let t=f(e.output_index,`toolCall`);if(!t||t.block.partialJson===void 0)continue;let r=t.block.partialJson;if(t.block.partialJson=e.arguments,t.block.arguments=n(t.block.partialJson),e.arguments.startsWith(r)){let n=e.arguments.slice(r.length);n.length>0&&p(t,n)}}else if(e.type===`response.custom_tool_call_input.delta`){let t=f(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;p(t,g(t.block,h(t.block)+e.delta,!1))}else if(e.type===`response.custom_tool_call_input.done`){let t=f(e.output_index,`toolCall`);if(!t||!t.block.customInput)continue;p(t,g(t.block,e.input,!0))}else if(e.type===`response.output_item.done`){let t=e.item;d(t);let a=_(e.output_index,t);if(t.type===`reasoning`&&a?.type===`thinking`){let n=t.summary?.map(e=>e.text).join(`
|
|
7
|
+
|
|
8
|
+
`)||``,o=t.content?.map(e=>e.text).join(`
|
|
9
|
+
|
|
10
|
+
`)||``;a.block.thinking=n||o||a.block.thinking,a.block.thinkingSignature=JSON.stringify(t),l.set(t.id,a.block),i.push({type:`thinking_end`,contentIndex:a.contentIndex,content:a.block.thinking,partial:r}),c.delete(e.output_index)}else t.type===`message`&&a?.type===`text`?(a.block.text=t.content?.map(e=>e.type===`output_text`?e.text:e.refusal).join(``)||``,a.block.textSignature=u(t.id,t.phase??void 0),i.push({type:`text_end`,contentIndex:a.contentIndex,content:a.block.text,partial:r}),c.delete(e.output_index)):t.type===`function_call`&&a?.type===`toolCall`&&a.block.partialJson!==void 0?(a.block.arguments=n(t.arguments||a.block.partialJson||`{}`),t.namespace!==void 0&&(a.block.namespace=t.namespace),delete a.block.partialJson,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index)):t.type===`custom_tool_call`&&a?.type===`toolCall`&&a.block.customInput&&(p(a,g(a.block,t.input??h(a.block),!0)),t.namespace!==void 0&&(a.block.namespace=t.namespace),delete a.block.customInput,i.push({type:`toolcall_end`,contentIndex:a.contentIndex,toolCall:a.block,partial:r}),c.delete(e.output_index))}else if(e.type===`response.completed`||e.type===`response.incomplete`)b(e.response);else if(e.type===`error`)throw Error(`Error Code ${e.code}: ${e.message}`||`Unknown error`);else if(e.type===`response.failed`){s=!0,r.rawStopReason=e.response?.status;let t=e.response?.error,n=e.response?.incomplete_details,i=t?`${t.code||`unknown`}: ${t.message||`no message`}`:n?.reason?`incomplete: ${n.reason}`:`Unknown error (no error details in response)`;throw Error(i)}if(!s)throw Error(`OpenAI Responses stream ended before a terminal response event`)}function v(e,t){if(!e)return{stopReason:`stop`};switch(e){case`completed`:return{stopReason:`stop`};case`incomplete`:return t===`max_output_tokens`?{stopReason:`length`}:{stopReason:`error`,errorMessage:t?`Response incomplete: ${t}`:`Response incomplete without a provider reason`};case`failed`:case`cancelled`:return{stopReason:`error`};case`in_progress`:case`queued`:return{stopReason:`stop`};default:throw Error(`Unhandled stop reason: ${e}`)}}export{m as n,_ as r,p as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,h as t}from"./account-store-
|
|
1
|
+
import{H as e,h as t}from"./account-store-Ch65aCFb.js";import{p as n}from"./bedrock-camp-qpZqnqLa.js";import{r,s as i}from"./legacy-api-aliases-CsTVszvY.js";import"./provider-settings-DrEGQ7ef.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-BhgPe74G.js";import{loginIntercepted as s}from"./openrouter-oauth-B_qwkZyM.js";var c=`openrouter`,l=`https://openrouter.ai/api/v1`,u=`openai-completions`,d=`${c}-openai`,f={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function p(e){return{...e,baseUrl:l,api:u}}function m(e){return{...e??{},...f}}var h=(e,n,i={})=>r(p(e),n,{...i,apiKey:t(c)??i.apiKey,headers:m(i.headers)}),g=(e,n,r={})=>i(p(e),n,{...r,apiKey:t(c)??r.apiKey,headers:m(r.headers)}),_={id:c,name:`OpenRouter`,description:`Access OpenRouter models with one-click PKCE login. No pasted API key is required.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`anthropic/claude-sonnet-4.6`,oauthTokenDomains:[`openrouter.ai`,`*.openrouter.ai`],getModelIds:o,refreshModels:async()=>{await a()},onOAuthLoginIntercepted:async(e,t,n)=>{await s(e,()=>void 0,n),await a().catch(()=>void 0),t()},onOAuthLogout:async()=>{await e({providerId:c,accessToken:``})}};function v(){n({api:d,stream:h,streamSimple:g})}export{_ as config,v as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,h as t}from"./account-store-
|
|
1
|
+
import{H as e,h as t}from"./account-store-Bwe7JMH-.js";import{p as n}from"./bedrock-camp-B0KF_4RS.js";import{r,s as i}from"./legacy-api-aliases-nSD9C16V.js";import"./provider-settings-BkIna1v7.js";import{fetchModels as a,getCatalog as o}from"./openrouter-models-DYeJmDu6.js";import{loginIntercepted as s}from"./openrouter-oauth-lWgqXvCt.js";const c=`openrouter`,l=`${c}-openai`,u={"HTTP-Referer":`https://sliccy.ai`,"X-Title":`SLICC`};function d(e){return{...e,baseUrl:`https://openrouter.ai/api/v1`,api:`openai-completions`}}function f(e){return{...e??{},...u}}const p=(e,n,i={})=>r(d(e),n,{...i,apiKey:t(c)??i.apiKey,headers:f(i.headers)}),m=(e,n,r={})=>i(d(e),n,{...r,apiKey:t(c)??r.apiKey,headers:f(r.headers)}),h={id:c,name:`OpenRouter`,description:`Access OpenRouter models with one-click PKCE login. No pasted API key is required.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`anthropic/claude-sonnet-4.6`,oauthTokenDomains:[`openrouter.ai`,`*.openrouter.ai`],getModelIds:o,refreshModels:async()=>{await a()},onOAuthLoginIntercepted:async(e,t,n)=>{await s(e,()=>void 0,n),await a().catch(()=>void 0),t()},onOAuthLogout:async()=>{await e({providerId:c,accessToken:``})}};function g(){n({api:l,stream:p,streamSimple:m})}export{h as config,g as register};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./headers-CbDaTl3c.js";import{t as n}from"./provider-retry-C8PJzY_l.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-
|
|
1
|
+
import{n as e,t}from"./headers-CbDaTl3c.js";import{t as n}from"./provider-retry-C8PJzY_l.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-CjBvzZcB.js";import{n as a,t as o}from"./error-body-pkrba6pf.js";const s=async(e,r,i)=>{let s={api:e.api,provider:e.provider,model:e.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=c(e,a,i?.headers,i?.fetch),d=l(e,r),f=await i?.onPayload?.(d,e);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:0},{data:m,response:h}=await n(()=>o.chat.completions.create(d,p).withResponse(),{maxRetries:i?.maxRetries,maxRetryDelayMs:i?.maxRetryDelayMs,signal:i?.signal});await i?.onResponse?.({status:h.status,headers:t(h.headers)},e);let g=m;s.responseId=g.id,g.usage&&(s.usage=u(g.usage,e));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&s.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&s.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return s}catch(e){return s.stopReason=i?.signal?.aborted?`aborted`:`error`,s.errorMessage=o(a(e)),s}};function c(t,n,r,a){return new i({apiKey:n,baseURL:t.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:e({...t.headers,...r})})}function l(e,t){let n=t.input.map(e=>e.type===`text`?{type:`text`,text:r(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:n}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function u(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{s as generateImages};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./headers-CbDaTl3c.js";import{t as n}from"./provider-retry-C8PJzY_l.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-
|
|
1
|
+
import{n as e,t}from"./headers-CbDaTl3c.js";import{t as n}from"./provider-retry-C8PJzY_l.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{n as i}from"./openai-ZcrxEOGB.js";import{n as a,t as o}from"./error-body-pkrba6pf.js";var s=async(e,r,i)=>{let s={api:e.api,provider:e.provider,model:e.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let a=i?.apiKey;if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=c(e,a,i?.headers,i?.fetch),d=l(e,r),f=await i?.onPayload?.(d,e);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},maxRetries:0},{data:m,response:h}=await n(()=>o.chat.completions.create(d,p).withResponse(),{maxRetries:i?.maxRetries,maxRetryDelayMs:i?.maxRetryDelayMs,signal:i?.signal});await i?.onResponse?.({status:h.status,headers:t(h.headers)},e);let g=m;s.responseId=g.id,g.usage&&(s.usage=u(g.usage,e));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&s.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&s.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return s}catch(e){return s.stopReason=i?.signal?.aborted?`aborted`:`error`,s.errorMessage=o(a(e)),s}};function c(t,n,r,a){return new i({apiKey:n,baseURL:t.baseUrl,dangerouslyAllowBrowser:!0,fetch:a,defaultHeaders:e({...t.headers,...r})})}function l(e,t){let n=t.input.map(e=>e.type===`text`?{type:`text`,text:r(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:n}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function u(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{s as generateImages};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./openrouter.models-
|
|
1
|
+
import{t as e}from"./openrouter.models-gbjkpjE_.js";var t=`https://openrouter.ai/api/v1/models`,n=`slicc.openrouter.models`,r=`slicc.openrouter.modelFilter`,i=1e4,a=[`*`],o=null;function s(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(n);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch{return[]}}function c(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(n,JSON.stringify(e))}catch{}}async function l(){let e=await fetch(t,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(i)});if(!e.ok)throw Error(`Failed to fetch OpenRouter models: ${e.status} ${e.statusText}`.trim());let n=await e.json();if(!Array.isArray(n.data))throw Error(`Failed to fetch OpenRouter models: response did not contain a data array`);let r=n.data;return o=r,c(r),r}function u(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`.*`);return RegExp(`^${t}$`)}function d(e,t=a){let n=(t.length>0?t:a).map(u);return e.filter(e=>n.some(t=>t.test(e.id)))}function f(){if(typeof localStorage>`u`)return[...a];try{let e=localStorage.getItem(r);if(!e)return[...a];let t=JSON.parse(e);if(!Array.isArray(t))return[...a];let n=t.filter(e=>typeof e==`string`&&e.length>0);return n.length>0?n:[...a]}catch{return[...a]}}function p(e){let t=e.architecture?.input_modalities??e.input??[`text`];return{id:e.id,name:e.name,api:`openai`,context_window:e.context_length??e.contextWindow??128e3,max_tokens:e.top_provider?.max_completion_tokens??e.maxTokens??16384,reasoning:e.supported_parameters?.includes(`include_reasoning`)??e.reasoning??!1,input:t.includes(`image`)?[`text`,`image`]:[`text`]}}function m(){let t=s();return d(o??(t.length>0?t:Object.values(e)),f()).map(p)}export{l as fetchModels,d as filterModels,m as getCatalog,s as loadCache,f as loadFilterPatterns,c as saveCache,p as toModelMetadata};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./openrouter.models-
|
|
1
|
+
import{t as e}from"./openrouter.models-DEX-YTLI.js";const t=`slicc.openrouter.models`,n=[`*`];let r=null;function i(){if(typeof localStorage>`u`)return[];try{let e=localStorage.getItem(t);if(!e)return[];let n=JSON.parse(e);return Array.isArray(n)?n:[]}catch{return[]}}function a(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(t,JSON.stringify(e))}catch{}}async function o(){let e=await fetch(`https://openrouter.ai/api/v1/models`,{headers:{Accept:`application/json`},signal:AbortSignal.timeout(1e4)});if(!e.ok)throw Error(`Failed to fetch OpenRouter models: ${e.status} ${e.statusText}`.trim());let t=await e.json();if(!Array.isArray(t.data))throw Error(`Failed to fetch OpenRouter models: response did not contain a data array`);let n=t.data;return r=n,a(n),n}function s(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*/g,`.*`);return RegExp(`^${t}$`)}function c(e,t=n){let r=(t.length>0?t:n).map(s);return e.filter(e=>r.some(t=>t.test(e.id)))}function l(){if(typeof localStorage>`u`)return[...n];try{let e=localStorage.getItem(`slicc.openrouter.modelFilter`);if(!e)return[...n];let t=JSON.parse(e);if(!Array.isArray(t))return[...n];let r=t.filter(e=>typeof e==`string`&&e.length>0);return r.length>0?r:[...n]}catch{return[...n]}}function u(e){let t=e.architecture?.input_modalities??e.input??[`text`];return{id:e.id,name:e.name,api:`openai`,context_window:e.context_length??e.contextWindow??128e3,max_tokens:e.top_provider?.max_completion_tokens??e.maxTokens??16384,reasoning:e.supported_parameters?.includes(`include_reasoning`)??e.reasoning??!1,input:t.includes(`image`)?[`text`,`image`]:[`text`]}}function d(){let t=i();return c(r??(t.length>0?t:Object.values(e)),l()).map(u)}export{o as fetchModels,c as filterModels,d as getCatalog,i as loadCache,l as loadFilterPatterns,a as saveCache,u as toModelMetadata};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e}from"./account-store-
|
|
1
|
+
import{H as e}from"./account-store-Ch65aCFb.js";import"./provider-settings-DrEGQ7ef.js";import{n as t,t as n}from"./pkce-hGf_TEnP.js";var r=`https://openrouter.ai/auth`,i=`https://openrouter.ai/api/v1/auth/keys`,a=`https://openrouter.ai/api/v1`,o=`http://127.0.0.1:3000/callback`,s=`http://127.0.0.1:3000/*`;function c(e,t){let n=new URL(r);return n.searchParams.set(`callback_url`,e),n.searchParams.set(`code_challenge`,t),n.searchParams.set(`code_challenge_method`,`S256`),n.toString()}function l(e){if(!e)throw Error(`OpenRouter OAuth login was cancelled or timed out`);let t;try{t=new URL(e)}catch{throw Error(`OpenRouter OAuth returned an invalid callback URL`)}let n=t.searchParams.get(`code`);if(!n)throw Error(`OpenRouter OAuth redirect did not include an authorization code`);return n}async function u(e,t,n=fetch){let r=await n(i,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:e,code_verifier:t,code_challenge_method:`S256`}),signal:AbortSignal.timeout(3e4)});if(!r.ok){let e=await r.text();throw Error(`OpenRouter key exchange failed (${r.status}): ${e||`(empty response body)`}`)}let a;try{a=await r.json()}catch{throw Error(`OpenRouter key exchange returned invalid JSON`)}let o=a&&typeof a==`object`&&typeof a.key==`string`?a.key.trim():``;if(!o)throw Error(`OpenRouter key exchange returned an empty or invalid API key`);return o}async function d(r,i,d){let f=t(),p=await u(l(await r({authorizeUrl:c(o,await n(f)),redirectUriPattern:s,onCapture:`close`})),f);await e({providerId:`openrouter`,accessToken:p,tokenExpiresAt:2**53-1,baseUrl:a}),i()}export{o as OPENROUTER_CALLBACK_URL,s as OPENROUTER_REDIRECT_URI_PATTERN,c as buildAuthorizeUrl,n as deriveCodeChallenge,u as exchangeCodeForKey,t as generateCodeVerifier,d as loginIntercepted,l as parseCallbackCode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e}from"./account-store-
|
|
1
|
+
import{H as e}from"./account-store-Bwe7JMH-.js";import"./provider-settings-BkIna1v7.js";import{n as t,t as n}from"./pkce-hGf_TEnP.js";const r=`http://127.0.0.1:3000/callback`,i=`http://127.0.0.1:3000/*`;function a(e,t){let n=new URL(`https://openrouter.ai/auth`);return n.searchParams.set(`callback_url`,e),n.searchParams.set(`code_challenge`,t),n.searchParams.set(`code_challenge_method`,`S256`),n.toString()}function o(e){if(!e)throw Error(`OpenRouter OAuth login was cancelled or timed out`);let t;try{t=new URL(e)}catch{throw Error(`OpenRouter OAuth returned an invalid callback URL`)}let n=t.searchParams.get(`code`);if(!n)throw Error(`OpenRouter OAuth redirect did not include an authorization code`);return n}async function s(e,t,n=fetch){let r=await n(`https://openrouter.ai/api/v1/auth/keys`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({code:e,code_verifier:t,code_challenge_method:`S256`}),signal:AbortSignal.timeout(3e4)});if(!r.ok){let e=await r.text();throw Error(`OpenRouter key exchange failed (${r.status}): ${e||`(empty response body)`}`)}let i;try{i=await r.json()}catch{throw Error(`OpenRouter key exchange returned invalid JSON`)}let a=i&&typeof i==`object`&&typeof i.key==`string`?i.key.trim():``;if(!a)throw Error(`OpenRouter key exchange returned an empty or invalid API key`);return a}async function c(c,l,u){let d=t(),f=await n(d),p=await s(o(await c({authorizeUrl:a(r,f),redirectUriPattern:i,onCapture:`close`})),d);await e({providerId:`openrouter`,accessToken:p,tokenExpiresAt:2**53-1,baseUrl:`https://openrouter.ai/api/v1`}),l()}export{r as OPENROUTER_CALLBACK_URL,i as OPENROUTER_REDIRECT_URI_PATTERN,a as buildAuthorizeUrl,n as deriveCodeChallenge,s as exchangeCodeForKey,t as generateCodeVerifier,c as loginIntercepted,o as parseCallbackCode};
|