sliccy 3.23.0 → 3.23.1
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/{adobe-O8TgWyny.js → adobe-BxhZRPmp.js} +2 -2
- package/dist/ui/assets/{adobe-Bx6YX_9F.js → adobe-Lc8rM8GZ.js} +1 -1
- package/dist/ui/assets/{agent-bridge-Dl768bk5.js → agent-bridge-DjmNF3FX.js} +1 -1
- package/dist/ui/assets/{agent-message-to-chat-dacAjbZg.js → agent-message-to-chat-C-gtegkI.js} +1 -1
- package/dist/ui/assets/{anthropic-BR8AXUsG.js → anthropic-BdZzwv8V.js} +1 -1
- package/dist/ui/assets/{anthropic-DsWYizrD.js → anthropic-BnloFG5q.js} +1 -1
- package/dist/ui/assets/{apps-BnUtzM9-.js → apps-D3Pk2_W4.js} +1 -1
- package/dist/ui/assets/{azure-openai-BCkYyuIi.js → azure-openai-DgVAdOfO.js} +1 -1
- package/dist/ui/assets/{azure-openai-eSDFUS9m.js → azure-openai-qb_N2oZh.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-CtIXAjaG.js → azure-openai-responses-M8Xdh2fO.js} +1 -1
- package/dist/ui/assets/{azure-openai-responses-QpdQfiCu.js → azure-openai-responses-XC9CvU1t.js} +1 -1
- package/dist/ui/assets/{biome_wasm-x3DwV2rt.js → biome_wasm-aOjrlpxf.js} +1 -1
- package/dist/ui/assets/{bsh-watchdog-HgKNlLnO.js → bsh-watchdog-O3nNUvMz.js} +1 -1
- package/dist/ui/assets/{cdp-Cu7LW0Bt.js → cdp-Ba0KWE9_.js} +3 -3
- package/dist/ui/assets/{cdp-ws-page-bridge-CbG2XN4O.js → cdp-ws-page-bridge-C7wrICZg.js} +1 -1
- package/dist/ui/assets/{common--IEKDtxv.js → common-Bj1a6uxW.js} +1 -1
- package/dist/ui/assets/cost-command-BWJsOrJ8.js +1 -0
- package/dist/ui/assets/{es-CuMlC89F.js → es-BskOF7Pz.js} +1 -1
- package/dist/ui/assets/{follower-sprinkle-bridge-s7l1_5A4.js → follower-sprinkle-bridge-DC6TIlG8.js} +1 -1
- package/dist/ui/assets/{github-CoPiTTXt.js → github-CGHmM02f.js} +2 -2
- package/dist/ui/assets/{github-C9g2_8Vh.js → github-VqIPXq5t.js} +1 -1
- package/dist/ui/assets/{github-copilot-0erXdX4H.js → github-copilot-C3JEZT6E.js} +2 -2
- package/dist/ui/assets/{github-copilot-B9JypLbK.js → github-copilot-Ccx_Rtmm.js} +1 -1
- package/dist/ui/assets/{google-CzAFRPHC.js → google-CGQR7JKt.js} +1 -1
- package/dist/ui/assets/{google-JugNwK2X.js → google-Cz7QZHYF.js} +1 -1
- package/dist/ui/assets/{google-shared-CkV8UjEf.js → google-shared-BnuRcyjx.js} +1 -1
- package/dist/ui/assets/{google-shared-C_9iVUrx.js → google-shared-Daje3aa9.js} +1 -1
- package/dist/ui/assets/{google-vertex-Cb6Is-gy.js → google-vertex-B6cs-glT.js} +1 -1
- package/dist/ui/assets/{google-vertex-DNXMcqyG.js → google-vertex-DQtrWu56.js} +1 -1
- package/dist/ui/assets/{intercepted-oauth-KIZ1NEAk.js → intercepted-oauth-CNq6rtmn.js} +1 -1
- package/dist/ui/assets/{kernel-worker-CjULAHvQ.js → kernel-worker-DAqBXzHu.js} +22 -22
- package/dist/ui/assets/{lick-ws-bridge-x2c7gox3.js → lick-ws-bridge-DgFDZ6T5.js} +1 -1
- package/dist/ui/assets/{local-llm-5D5Ih6eI.js → local-llm-DfMYrotT.js} +1 -1
- package/dist/ui/assets/{magick-wasm-CjAru4KB.js → magick-wasm-AfpWmevh.js} +1 -1
- package/dist/ui/assets/{main-D7l-7iRP.js → main-DxMvVnMg.js} +9 -9
- package/dist/ui/assets/{mistral-BnJITO9f.js → mistral-DtNQTtDo.js} +1 -1
- package/dist/ui/assets/{mistral-C-3XpjIj.js → mistral-Vv-Y4leD.js} +1 -1
- package/dist/ui/assets/{nodejs-BTcPcOFo.js → nodejs-DCcNNG1Q.js} +1 -1
- package/dist/ui/assets/{nuke-command-Ck3z3GSc.js → nuke-command-DMKXHy2n.js} +1 -1
- package/dist/ui/assets/{oauth-BVpiDnFn.js → oauth-BJL9G26c.js} +1 -1
- package/dist/ui/assets/{oauth-bootstrap-BLTEErh7.js → oauth-bootstrap-DcdbHrHC.js} +2 -2
- package/dist/ui/assets/{oauth-service-CrkKpOgi.js → oauth-service-6qZcUdpa.js} +1 -1
- package/dist/ui/assets/{oauth-service-DzVLZJ6O.js → oauth-service-CG1zuuwj.js} +1 -1
- package/dist/ui/assets/{offscreen-client-BDRYlJgy.js → offscreen-client-Blc0vgSw.js} +1 -1
- package/dist/ui/assets/{onboarding-orchestrator-C0LGn2uj.js → onboarding-orchestrator-QoQa6ILA.js} +1 -1
- package/dist/ui/assets/{openai-codex-D0fF-yfr.js → openai-codex-C5TdNilz.js} +1 -1
- package/dist/ui/assets/{openai-codex-CC71o1TQ.js → openai-codex-_oDJQjMe.js} +1 -1
- package/dist/ui/assets/{openai-codex-responses-DIfPb_nt.js → openai-codex-responses-BElLL-f3.js} +1 -1
- package/dist/ui/assets/{openai-codex-responses-BCzHbQ_P.js → openai-codex-responses-DGoHvIC2.js} +1 -1
- package/dist/ui/assets/{openai-completions-DBwkWLve.js → openai-completions-Ce8mq2Q9.js} +1 -1
- package/dist/ui/assets/{openai-responses-CuwMBybR.js → openai-responses-BuC6Xc2S.js} +1 -1
- package/dist/ui/assets/{openai-responses-B24wmrd4.js → openai-responses-IPxY3Rnw.js} +1 -1
- package/dist/ui/assets/{openai-responses-shared-sAlmOCee.js → openai-responses-shared-XSNYpDu2.js} +1 -1
- package/dist/ui/assets/{openai-responses-shared-Blh1IgrF.js → openai-responses-shared-wP5mLZ8P.js} +1 -1
- package/dist/ui/assets/{openrouter-Bo9pYE7k.js → openrouter-Bz6Z92c5.js} +1 -1
- package/dist/ui/assets/{openrouter-BufgWN2d.js → openrouter-M2mcmDAV.js} +1 -1
- package/dist/ui/assets/{panel-rpc-handlers-BHCM5KGv.js → panel-rpc-handlers-D_piGFL_.js} +1 -1
- package/dist/ui/assets/{provider-C1j3hGOj.js → provider-B1l7sgkh.js} +1 -1
- package/dist/ui/assets/{provider-DCQQ7Z8j.js → provider-DYBm345X.js} +2 -2
- package/dist/ui/assets/provider-store-access-C3jBAQpi.js +1 -0
- package/dist/ui/assets/provider-store-access-CBJCSBzV.js +1 -0
- package/dist/ui/assets/{proxied-fetch-ByikXyaG.js → proxied-fetch-BgauCnkO.js} +1 -1
- package/dist/ui/assets/{pyodide-BF8v1xIy.js → pyodide-Cv-LjQ35.js} +2 -2
- package/dist/ui/assets/{remote-terminal-view-C3fqiRYe.js → remote-terminal-view-CJw9r9_J.js} +1 -1
- package/dist/ui/assets/{secret-env-CjaA9Kwn.js → secret-env-Drt2kiVf.js} +1 -1
- package/dist/ui/assets/{slicc-editor-CEA11eY2.js → slicc-editor-BpdboEpa.js} +1 -1
- package/dist/ui/assets/{spawn-CC-04rvH.js → spawn-BkDtGqpc.js} +1 -1
- package/dist/ui/assets/{sql-wasm-C15EuMvL.js → sql-wasm-DKXgC4rq.js} +1 -1
- package/dist/ui/assets/{store-DokqJ5BH.js → store-CZJWOlpp.js} +1 -1
- package/dist/ui/assets/{tray-leave-runtime-CVgDGO_d.js → tray-leave-runtime-DY08Osw2.js} +1 -1
- package/dist/ui/assets/{typescript-Ck1ZeNJ6.js → typescript-w8cgOfKh.js} +1 -1
- package/dist/ui/assets/{upgrade-detection-BcbrUdPz.js → upgrade-detection-Bxy_Rbfk.js} +1 -1
- package/dist/ui/assets/{web-IW1bm3mG.js → web-CsKSf4ac.js} +1 -1
- package/dist/ui/assets/{ws-subscribers-9gtumK1h.js → ws-subscribers-BGtX10Er.js} +1 -1
- package/dist/ui/assets/{xai-grok-DK8dJtpb.js → xai-grok-BOQVSORw.js} +1 -1
- package/dist/ui/assets/{xai-grok-oCGDfomI.js → xai-grok-CNNu6Rag.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/packages/webapp/index.html +1 -1
- package/package.json +1 -1
- package/dist/ui/assets/cost-command-DLZ-4OGZ.js +0 -1
- package/dist/ui/assets/provider-store-access-C250enho.js +0 -1
- package/dist/ui/assets/provider-store-access-DarZOuBn.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e),f=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});const p={DEBUG:0,INFO:1,WARN:2,ERROR:3};let m=p.ERROR;function h(e,t){let n=e;if(t.length>0)try{n+=` `+JSON.stringify(t)}catch{n+=` [unserializable]`}return n.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,`<id>`).replace(/\b[0-9a-f]{8,}\b/gi,`<hex>`).replace(/\b\d{10,}\b/g,`<ts>`).replace(/\b\d+(\.\d+)?\b/g,`<n>`)}var g=class{entries=[];log(e,t,n,r,i){let a=h(r,i),o=Date.now();this.evict(o);let s=this.entries.find(e=>e.fingerprint===a&&e.level===n);if(s)return s.count++,!1;if(this.entries.length>=10){let e=this.entries.shift();this.flushEntry(e)}return this.entries.push({fingerprint:a,count:0,firstSeen:o,level:n,consoleFn:e,prefix:t,message:r}),!0}flush(){for(let e of this.entries)this.flushEntry(e);this.entries=[]}clear(){this.entries=[]}evict(e){for(;this.entries.length>0&&e-this.entries[0].firstSeen>6e4;){let e=this.entries.shift();this.flushEntry(e)}}flushEntry(e){e.count>0&&m<=e.level&&e.consoleFn(e.prefix,`(suppressed ${e.count} similar: "${e.message}")`)}};const _=new Set;function v(e){let t=`[${e}]`,n=new g;_.add(n);function r(e){return(r,...i)=>{if(m>e)return;let a=e===p.DEBUG?console.debug:e===p.INFO?console.info:e===p.WARN?console.warn:console.error;n.log(a,t,e,r,i)&&a(t,r,...i)}}return{debug:r(p.DEBUG),info:r(p.INFO),warn:r(p.WARN),error:r(p.ERROR)}}const y=v(`panel-transport`);function b(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function x(){return{onMessage:e=>{let t=(t,n,r)=>(b(t)&&e(t),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:e=>{chrome.runtime.sendMessage({source:`offscreen`,payload:e}).catch(e=>{let t=e instanceof Error?e.message:String(e);/receiving end does not exist/i.test(t)||y.error(`Offscreen → panel transport send failed`,{error:t})})}}}const S=new Set([`send_message`,`list_scoops`,`list_tasks`]);let C={state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null};function w(){return{...C}}const T=new Set;function E(e){return T.add(e),()=>{T.delete(e)}}function D(e){return e.headers.get(`x-proxy-error`)===`1`}async function O(e){let t=`Proxy error ${e.status}`,n;try{n=await e.text()}catch{return t}return ee(n,t)}function ee(e,t){let n;try{n=JSON.parse(e)}catch{return t}if(!n||typeof n!=`object`)return t;let r=n.error;if(typeof r==`string`&&r.length>0)return r;if(r&&typeof r==`object`){let e=r.message;if(typeof e==`string`&&e.length>0)return e;try{return JSON.stringify(r)}catch{return t}}return t}const k={SCOOPS:`scoops`,MESSAGES:`messages`,SESSIONS:`sessions`,TASKS:`tasks`,STATE:`state`,WEBHOOKS:`webhooks`,CRONTASKS:`crontasks`};let te=null;async function A(){if(te){let e=Object.values(k).every(e=>te.objectStoreNames.contains(e));if(te.version===3&&e)return te;te.close(),te=null}return new Promise((e,t)=>{let n=indexedDB.open(`slicc-groups`,3);n.onupgradeneeded=e=>{let t=e.target.result,n=e.oldVersion;if(n<1){if(!t.objectStoreNames.contains(k.MESSAGES)){let e=t.createObjectStore(k.MESSAGES,{keyPath:`id`});e.createIndex(`chatJid`,`chatJid`),e.createIndex(`timestamp`,`timestamp`),e.createIndex(`chatJid_timestamp`,[`chatJid`,`timestamp`])}t.objectStoreNames.contains(k.SESSIONS)||t.createObjectStore(k.SESSIONS,{keyPath:`groupFolder`}),t.objectStoreNames.contains(k.TASKS)||t.createObjectStore(k.TASKS,{keyPath:`id`}).createIndex(`groupFolder`,`groupFolder`),t.objectStoreNames.contains(k.STATE)||t.createObjectStore(k.STATE,{keyPath:`key`})}if(n<2){let n=e.target.transaction;if(t.objectStoreNames.contains(`groups`)){let e=n.objectStore(`groups`).getAll();e.onsuccess=()=>{let n=e.result;t.deleteObjectStore(`groups`);let r=t.createObjectStore(k.SCOOPS,{keyPath:`jid`});r.createIndex(`type`,`type`);for(let e of n){let t=e.isMain??!1,n={jid:e.jid,name:e.name,folder:e.folder,trigger:t?void 0:e.trigger||`@${e.folder}`,requiresTrigger:!t&&(e.requiresTrigger??!0),isCone:t,type:t?`cone`:`scoop`,assistantLabel:t?`sliccy`:e.config?.assistantName||e.folder,addedAt:e.addedAt,config:e.config?{systemPromptAppend:e.config.systemPromptAppend,timeout:e.config.timeout,assistantName:e.config.assistantName}:void 0};r.put(n)}}}else t.objectStoreNames.contains(k.SCOOPS)||t.createObjectStore(k.SCOOPS,{keyPath:`jid`}).createIndex(`type`,`type`)}n<3&&(t.objectStoreNames.contains(k.WEBHOOKS)||t.createObjectStore(k.WEBHOOKS,{keyPath:`id`}),t.objectStoreNames.contains(k.CRONTASKS)||t.createObjectStore(k.CRONTASKS,{keyPath:`id`}))},n.onsuccess=()=>{te=n.result,e(te)},n.onerror=()=>t(n.error)})}async function j(e,t=`readonly`){return(await A()).transaction(e,t).objectStore(e)}async function ne(e){let t=await j(k.SCOOPS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function re(){let e=await j(k.SCOOPS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>{let e={};for(let t of r.result)e[t.jid]=t;t(e)},r.onerror=()=>n(r.error)})}async function ie(e){let t=await j(k.SCOOPS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function ae(){let e=await j(k.MESSAGES,`readwrite`);return new Promise((t,n)=>{let r=e.clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}async function oe(e){let t=(await j(k.MESSAGES,`readwrite`)).index(`chatJid_timestamp`),n=IDBKeyRange.bound([e,``],[e,``],!1,!1);return new Promise((e,r)=>{let i=t.openCursor(n);i.onsuccess=()=>{let t=i.result;if(!t){e();return}t.delete(),t.continue()},i.onerror=()=>r(i.error)})}async function se(e){let t=await j(k.MESSAGES,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function ce(e){let t=await j(k.MESSAGES,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function le(e){let t=(await j(k.MESSAGES)).index(`chatJid_timestamp`),n=IDBKeyRange.bound([e,``],[e,``],!1,!1);return new Promise((e,r)=>{let i=t.getAll(n);i.onsuccess=()=>e(i.result),i.onerror=()=>r(i.error)})}async function ue(e,t,n){let r=(await j(k.MESSAGES)).index(`chatJid_timestamp`),i=IDBKeyRange.bound([e,t],[e,``],!0,!1);return new Promise((e,t)=>{let a=r.getAll(i);a.onsuccess=()=>{let t=a.result;n&&(t=t.filter(e=>e.senderName!==n)),e(t)},a.onerror=()=>t(a.error)})}async function M(e){let t=await j(k.TASKS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function de(e){let t=await j(k.TASKS);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async function fe(){let e=await j(k.TASKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}async function pe(e){let t=await j(k.TASKS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function me(e){let t=await j(k.STATE);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result?.value??null),i.onerror=()=>r(i.error)})}async function he(e,t){let n=await j(k.STATE,`readwrite`);return new Promise((r,i)=>{let a=n.put({key:e,value:t});a.onsuccess=()=>r(),a.onerror=()=>i(a.error)})}async function ge(){await A()}async function _e(e){let t=await j(k.WEBHOOKS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function ve(){try{let e=await j(k.WEBHOOKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}catch{return[]}}async function ye(e){let t=await j(k.WEBHOOKS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function N(e){let t=await j(k.CRONTASKS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function be(){try{let e=await j(k.CRONTASKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}catch{return[]}}async function xe(e){let t=await j(k.CRONTASKS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}function Se(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``,t.pathname!==`/`&&(t.pathname=t.pathname.replace(/\/+$/,``)||`/`);let n=t.toString();return n.endsWith(`/`)?n.slice(0,-1):n}catch{return null}}const Ce=`slicc.trayWorkerBaseUrl`,we=`https://www.sliccy.ai`;v(`tray-leader`);let P={state:`inactive`,session:null,error:null};function Te(){return{...P,session:P.session?{...P.session}:null}}const F=new Set;function I(e){return F.add(e),()=>{F.delete(e)}}const Ee=v(`tool-ui`),De=new class{pending=new Map;idCounter=0;generateId(){return`tool-ui-${++this.idCounter}-${Date.now().toString(36)}`}register(e,t,n,r){this.pending.set(e,{request:t,resolve:n,reject:r}),Ee.info(`Tool UI registered`,{id:e})}async handleAction(e,t){let n=this.pending.get(e);if(!n){Ee.warn(`Action for unknown tool UI`,{id:e,action:t.action});return}Ee.info(`Tool UI action`,{id:e,action:t.action});try{let e;e=n.request.onAction?await n.request.onAction(t.action,t.data):t,n.resolve(e)}catch(e){n.reject(e instanceof Error?e:Error(String(e)))}finally{this.pending.delete(e)}}cancel(e,t=`cancelled`){let n=this.pending.get(e);n&&(n.reject(Error(t)),this.pending.delete(e),Ee.info(`Tool UI cancelled`,{id:e,reason:t}))}cancelAll(e=`cancelled`){let t=this.pending.size;for(let[t,n]of this.pending)n.reject(Error(e));this.pending.clear(),t>0&&Ee.info(`All tool UIs cancelled`,{reason:e,count:t})}isPending(e){return this.pending.has(e)}getPendingIds(){return[...this.pending.keys()]}};async function Oe(e,t){let n=e.id??De.generateId(),r,i,a=new Promise((e,t)=>{r=e,i=t});return De.register(n,e,r,i),t?t({content:[{type:`tool_ui`,requestId:n,html:e.html}]}):Ee.warn(`showToolUI called without onUpdate callback — UI may not render`),a.finally(()=>{t&&t({content:[{type:`tool_ui_done`,requestId:n}]})})}const ke=[];function Ae(e){return ke.push(e),e}function je(e){let t=ke.lastIndexOf(e);t!==-1&&ke.splice(t,1)}function Me(){return ke.length>0?ke[ke.length-1]:null}async function Ne(e){let t=Me();return t?Oe(e,t.onUpdate):(Ee.warn(`showToolUIFromContext called without execution context`),null)}const Pe=`sessions`;function Fe(){return new Promise((e,t)=>{let n=indexedDB.open(`browser-coding-agent`,1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(Pe)||e.createObjectStore(Pe,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var Ie=class{db=null;async init(){this.db=await Fe()}ensureDb(){if(!this.db)throw Error(`SessionStore not initialized. Call init() first.`);return this.db}async save(e){let t=this.ensureDb();return new Promise((n,r)=>{let i=t.transaction(Pe,`readwrite`);i.objectStore(Pe).put(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=this.ensureDb();return new Promise((n,r)=>{let i=t.transaction(Pe,`readonly`).objectStore(Pe).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async list(){let e=this.ensureDb();return new Promise((t,n)=>{let r=e.transaction(Pe,`readonly`).objectStore(Pe).getAll();r.onsuccess=()=>{t(r.result.sort((e,t)=>t.updatedAt-e.updatedAt).map(e=>e.id))},r.onerror=()=>n(r.error)})}async delete(e){let t=this.ensureDb();return new Promise((n,r)=>{let i=t.transaction(Pe,`readwrite`);i.objectStore(Pe).delete(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async saveMessages(e,t){let n=await this.load(e),r=n?{...n,messages:t,updatedAt:Date.now()}:{id:e,messages:t,createdAt:Date.now(),updatedAt:Date.now()};await this.save(r)}};const Le=v(`offscreen-bridge`);var Re=class{orchestrator=null;browserAPI=null;messageBuffers=new Map;currentMessageId=new Map;scoopStatuses=new Map;sessionStore=null;followerSync=null;_transport;transportUnsubscribe=null;activeScoopJid=null;agentEventListeners=new Set;fanOutMessageId=new Map;constructor(e){this._transport=e??null}get transport(){return this._transport||=x(),this._transport}async bind(e,t){this.orchestrator=e,this.browserAPI=t??null,this.transportUnsubscribe?.(),this.transportUnsubscribe=this.setupMessageListener();let n=new Ie;await n.init(),this.sessionStore=n}static createCallbacks(e){return{onResponse:(t,n,r)=>{let i=e.getOrCreateAssistantMsg(t);r?i.content+=n:(i.content=n,i.isStreaming=!1),e.emit({type:`agent-event`,scoopJid:t,eventType:`text_delta`,text:n})},onResponseDone:t=>{let n=e.currentMessageId.get(t);if(n){let r=e.getBuffer(t).find(e=>e.id===n);r&&(r.isStreaming=!1),e.currentMessageId.delete(t)}e.persistScoop(t),e.emit({type:`agent-event`,scoopJid:t,eventType:`response_done`})},onSendMessage:(t,n)=>{let r=e.getBuffer(t),i=`msg-${ze()}`;r.push({id:i,role:`assistant`,content:n,timestamp:Date.now()}),e.persistScoop(t),e.emit({type:`agent-event`,scoopJid:t,eventType:`text_delta`,text:n}),e.emit({type:`agent-event`,scoopJid:t,eventType:`response_done`})},onStatusChange:(t,n)=>{e.scoopStatuses.set(t,n),n===`ready`&&e.currentMessageId.delete(t),e.emit({type:`scoop-status`,scoopJid:t,status:n}),e.emitScoopList()},onCompactionStateChange:(t,n)=>{e.emit({type:`compaction-state`,scoopJid:t,state:n})},onError:(t,n)=>{e.emit({type:`error`,scoopJid:t,error:n})},onToolStart:(t,n,r)=>{if(S.has(n))return;let i=e.getOrCreateAssistantMsg(t);i.toolCalls||=[],i.toolCalls.push({id:ze(),name:n,input:r}),e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_start`,toolName:n,toolInput:r})},onToolEnd:(t,n,r,i)=>{if(S.has(n))return;let a=e.currentMessageId.get(t);if(a){let o=e.getBuffer(t).find(e=>e.id===a);if(o?.toolCalls){let e=[...o.toolCalls].reverse().find(e=>e.name===n&&e.result===void 0);e&&(e.result=r,e.isError=i)}}e.persistScoop(t),e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_end`,toolName:n,toolResult:r,isError:i})},onToolUI:(t,n,r,i)=>{e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_ui`,toolName:n,requestId:r,html:i})},onToolUIDone:(t,n)=>{e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_ui_done`,requestId:n})},onIncomingMessage:(t,n)=>{let r={id:n.id,role:`user`,content:n.channel===`delegation`?`**[Instructions from sliccy]**\n\n${n.content}`:n.content,attachments:n.attachments,timestamp:new Date(n.timestamp).getTime(),source:n.channel===`delegation`?`delegation`:void 0,channel:n.channel};e.getBuffer(t).push(r),e.persistScoop(t),e.notifyPanelIncomingMessage(t,n)}}}notifyPanelIncomingMessage(e,t){this.emit({type:`incoming-message`,scoopJid:e,message:{id:t.id,content:t.content,attachments:t.attachments,channel:t.channel,senderName:t.senderName,fromAssistant:t.fromAssistant,timestamp:t.timestamp}})}toScoopSnapshot(e){let t=e.config&&(e.config.modelId!==void 0||e.config.thinkingLevel!==void 0)?{...e.config.modelId===void 0?{}:{modelId:e.config.modelId},...e.config.thinkingLevel===void 0?{}:{thinkingLevel:e.config.thinkingLevel}}:void 0;return{jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...t?{config:t}:{}}}buildStateSnapshot(){let e=this.orchestrator?.getScoops().map(e=>this.toScoopSnapshot(e))??[],t=e.find(e=>e.isCone);return{type:`state-snapshot`,scoops:e,activeScoopJid:this.getActiveScoopJid()??t?.jid??null,trayRuntimeStatus:this.buildTrayRuntimeStatus()}}emitTrayRuntimeStatus(){let e=this.buildTrayRuntimeStatus(),t={type:`tray-runtime-status`,leader:e.leader,follower:e.follower};this.emit(t)}buildTrayRuntimeStatus(){let e=Te(),t=w();return{leader:{state:e.state,session:e.session,error:e.error??null,reconnectAttempts:e.reconnectAttempts??0},follower:{state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime}}}setFollowerSync(e){this.followerSync=e}setActiveScoopJid(e){this.activeScoopJid=e}getActiveScoopJid(){return this.activeScoopJid}onAgentEvent(e){return this.agentEventListeners.add(e),()=>{this.agentEventListeners.delete(e)}}fanOutAgentEvent(e){let{scoopJid:t,eventType:n}=e,r=[],i=()=>{let e=this.fanOutMessageId.get(t);return e||(e=`scoop-${t}-${ze()}`,this.fanOutMessageId.set(t,e),r.push({type:`message_start`,messageId:e})),e};switch(n){case`text_delta`:{let t=i();r.push({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=i();r.push({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput});break}case`tool_end`:{let n=this.fanOutMessageId.get(t);if(!n)return;r.push({type:`tool_result`,messageId:n,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError});break}case`tool_ui`:{let t=i();r.push({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});break}case`tool_ui_done`:{let n=this.fanOutMessageId.get(t);if(!n)return;r.push({type:`tool_ui_done`,messageId:n,requestId:e.requestId??``});break}case`response_done`:{let e=this.fanOutMessageId.get(t);if(!e)return;r.push({type:`content_done`,messageId:e}),this.fanOutMessageId.delete(t);break}case`turn_end`:this.fanOutMessageId.delete(t);break}for(let e of r)for(let n of this.agentEventListeners)try{n(t,e)}catch(e){Le.error(`onAgentEvent listener threw`,{error:e instanceof Error?e.message:String(e)})}}getMessagesForJid(e){return this.getBuffer(e)}async routeSprinkleLick(e,t,n){if(!this.orchestrator)return;let r=this.orchestrator.getScoops(),i=n?r.find(e=>e.name===n||e.folder===n||e.folder===`${n}-scoop`):void 0;if(i||=r.find(e=>e.isCone),!i)return;let a=`sprinkle-${e}-${Date.now()}`,o=`[Sprinkle Event: ${e}]\n\`\`\`json\n${JSON.stringify(t,null,2)}\n\`\`\``,s={id:a,chatJid:i.jid,senderId:`sprinkle`,senderName:`sprinkle:${e}`,content:o,timestamp:new Date().toISOString(),fromAssistant:!1,channel:`sprinkle`};this.getBuffer(i.jid).push({id:a,role:`user`,content:o,timestamp:Date.now(),source:`lick`,channel:`sprinkle`}),this.persistScoop(i.jid),await this.orchestrator.handleMessage(s)}applyFollowerSnapshot(e){if(!this.orchestrator)return;let t=this.orchestrator.getScoops().find(e=>e.isCone);if(!t)return;let n=e.map(e=>({id:e.id,role:e.role,content:e.content,attachments:e.attachments,timestamp:e.timestamp,source:e.source,channel:e.channel,toolCalls:e.toolCalls?.map(e=>({id:e.id,name:e.name,input:e.input,result:e.result,isError:e.isError})),isStreaming:e.isStreaming}));if(this.messageBuffers.set(t.jid,n),this.currentMessageId.delete(t.jid),this.fanOutMessageId.delete(t.jid),this.sessionStore){let n=t.isCone?`session-cone`:`session-${t.folder}`;this.sessionStore.saveMessages(n,e).catch(e=>{Le.error(`applyFollowerSnapshot persist failed`,{error:e instanceof Error?e.message:String(e)})})}this.emit({type:`scoop-messages-replaced`,scoopJid:t.jid,messages:n})}getConeJid(){return this.orchestrator?.getScoops().find(e=>e.isCone)?.jid??null}emitFollowerAgentEvent(e){let t=this.getConeJid();if(t)switch(e.type){case`content_delta`:this.emit({type:`agent-event`,scoopJid:t,eventType:`text_delta`,text:e.text});break;case`content_done`:this.emit({type:`agent-event`,scoopJid:t,eventType:`response_done`});break;case`tool_use_start`:this.emit({type:`agent-event`,scoopJid:t,eventType:`tool_start`,toolName:e.toolName,toolInput:e.toolInput});break;case`tool_result`:this.emit({type:`agent-event`,scoopJid:t,eventType:`tool_end`,toolName:e.toolName,toolResult:e.result,isError:e.isError});break;case`turn_end`:this.emit({type:`agent-event`,scoopJid:t,eventType:`turn_end`});break;case`error`:this.emit({type:`error`,scoopJid:t,error:e.error});break}}emitFollowerIncomingMessage(e,t){let n=this.getConeJid();n&&this.emit({type:`incoming-message`,scoopJid:n,message:{id:e,content:t,channel:`web`,senderName:`User`,fromAssistant:!1,timestamp:new Date().toISOString()}})}emitFollowerStatus(e){let t=this.getConeJid();if(!t)return;let n=e===`processing`?`processing`:`ready`;this.scoopStatuses.set(t,n),this.emit({type:`scoop-status`,scoopJid:t,status:n})}async handleRequestScoopMessages(e){if(!this.orchestrator)return;let t=this.orchestrator.getScoops().find(t=>t.jid===e);if(!t)return;let n=this.messageBuffers.get(e);if(n&&n.length>0){this.emit({type:`scoop-messages-replaced`,scoopJid:e,messages:n});return}let r=this.orchestrator.getScoopContext(e);if(r){let{agentMessagesToChatMessages:n}=await import(`./agent-message-to-chat-dacAjbZg.js`),i=r.getAgentMessages();if(i.length>0){let r=n(i,{source:t.isCone?`cone`:t.name??t.folder}).map(e=>({id:e.id,role:e.role,content:e.content,attachments:e.attachments,timestamp:e.timestamp,source:e.source,channel:e.channel,toolCalls:e.toolCalls?.map(e=>({id:e.id,name:e.name,input:e.input,result:e.result,isError:e.isError})),isStreaming:!1}));this.messageBuffers.set(e,r),this.currentMessageId.delete(e),this.fanOutMessageId.delete(e),this.persistScoop(e),this.emit({type:`scoop-messages-replaced`,scoopJid:e,messages:r});return}}if(this.sessionStore){let n=t.isCone?`session-cone`:`session-${t.folder}`;try{let t=(await this.sessionStore.load(n))?.messages??[];t.length>0&&(this.messageBuffers.set(e,t),this.currentMessageId.delete(e),this.fanOutMessageId.delete(e),this.emit({type:`scoop-messages-replaced`,scoopJid:e,messages:t}))}catch(e){Le.error(`sessionStore load failed`,{sessionId:n,error:e instanceof Error?e.message:String(e)})}}}persistScoop(e){if(!this.sessionStore||!this.orchestrator)return;let t=this.orchestrator.getScoops().find(t=>t.jid===e);if(!t)return;let n=t.isCone?`session-cone`:`session-${t.folder}`,r=this.messageBuffers.get(e);!r||r.length===0||this.sessionStore.saveMessages(n,r).catch(e=>{Le.error(`persistScoop failed`,{sessionId:n,error:e instanceof Error?e.message:String(e)})})}getBuffer(e){let t=this.messageBuffers.get(e);return t||(t=[],this.messageBuffers.set(e,t)),t}getOrCreateAssistantMsg(e){let t=this.getBuffer(e),n=this.currentMessageId.get(e);if(n){let e=t.find(e=>e.id===n);if(e)return e}n=`scoop-${e}-${ze()}`,this.currentMessageId.set(e,n);let r=(this.orchestrator?.getScoops()??[]).find(t=>t.jid===e),i=r?.isCone?`cone`:r?.name??`unknown`,a={id:n,role:`assistant`,content:``,timestamp:Date.now(),toolCalls:[],isStreaming:!0,source:i};return t.push(a),a}setupMessageListener(){return this.transport.onMessage(e=>{if(e.source===`panel`){if(e.payload?.type===`sprinkle-op-response`){import(`./sprinkle-proxy-B4nH2NxC.js`).then(({handleSprinkleOpResponse:t})=>{t(e.payload)});return}this.handlePanelMessage(e.payload).catch(t=>{console.error(`[offscreen-bridge] handlePanelMessage error:`,t);let n=e.payload.scoopJid;n&&this.emit({type:`error`,scoopJid:n,error:t instanceof Error?t.message:String(t)})})}})}async handlePanelMessage(e){if(this.orchestrator)switch(e.type){case`user-message`:{if(this.followerSync){this.getBuffer(e.scoopJid).push({id:e.messageId,role:`user`,content:e.text,attachments:e.attachments,timestamp:Date.now()}),this.persistScoop(e.scoopJid),this.followerSync.sendMessage(e.text,e.messageId,e.attachments);break}let t={id:e.messageId,chatJid:e.scoopJid,senderId:`user`,senderName:`User`,content:e.text,attachments:e.attachments,timestamp:new Date().toISOString(),fromAssistant:!1,channel:`web`};this.getBuffer(e.scoopJid).push({id:e.messageId,role:`user`,content:e.text,attachments:e.attachments,timestamp:Date.now()}),this.persistScoop(e.scoopJid),await this.orchestrator.handleMessage(t),this.orchestrator.createScoopTab(e.scoopJid);break}case`cone-create`:{let t={jid:`cone_${Date.now()}`,name:e.name,folder:`cone`,isCone:!0,type:`cone`,requiresTrigger:!1,assistantLabel:`sliccy`,addedAt:new Date().toISOString()};await this.orchestrator.registerScoop(t),this.emit({type:`scoop-created`,scoop:this.toScoopSnapshot(t)});break}case`scoop-feed`:await this.orchestrator.delegateToScoop(e.scoopJid,e.prompt,`sliccy`);break;case`scoop-drop`:{let t=this.orchestrator.getScoops().find(t=>t.jid===e.scoopJid);if(await this.orchestrator.unregisterScoop(e.scoopJid),this.messageBuffers.delete(e.scoopJid),this.currentMessageId.delete(e.scoopJid),this.fanOutMessageId.delete(e.scoopJid),this.scoopStatuses.delete(e.scoopJid),t&&this.sessionStore){let e=t.isCone?`session-cone`:`session-${t.folder}`;this.sessionStore.delete(e).catch(t=>{console.warn(`[offscreen-bridge] Failed to delete session on scoop drop:`,e,t)})}this.emitScoopList();break}case`abort`:this.orchestrator.stopScoop(e.scoopJid),this.orchestrator.clearQueuedMessages(e.scoopJid).catch(e=>{console.warn(`[offscreen-bridge] Failed to clear queued messages on abort:`,e)});break;case`set-model`:this.orchestrator.updateModel();break;case`request-state`:this.emit(this.buildStateSnapshot());break;case`request-scoop-messages`:await this.handleRequestScoopMessages(e.scoopJid);break;case`clear-chat`:{let t=this.orchestrator.getScoops().find(e=>e.isCone)?.jid;t&&await this.orchestrator.clearScoopMessages(t),this.sessionStore&&await this.sessionStore.delete(`session-cone`),t&&(this.messageBuffers.delete(t),this.currentMessageId.delete(t),this.fanOutMessageId.delete(t)),this.emit({type:`clear-chat-ack`,requestId:e.requestId});break}case`clear-filesystem`:try{await this.orchestrator.resetFilesystem()}catch(e){console.error(`[offscreen-bridge] clear-filesystem failed:`,e)}break;case`refresh-model`:this.orchestrator.updateModel();break;case`set-thinking-level`:{let t=e;try{await this.orchestrator.setScoopThinkingLevel(t.scoopJid,t.level)}catch(e){console.error(`[offscreen-bridge] set-thinking-level failed:`,e)}break}case`sprinkle-lick`:{let t=e;await this.routeSprinkleLick(t.sprinkleName,t.body,t.targetScoop);break}case`lick-webhook-event`:this.orchestrator.handleWebhookEvent(e.webhookId,e.headers,e.body);break;case`reload-skills`:this.orchestrator.reloadAllSkills().catch(e=>{console.warn(`[offscreen-bridge] Skill reload failed:`,e)});break;case`panel-cdp-command`:{let{id:t,method:n,params:r,sessionId:i}=e;if(!this.browserAPI){console.warn(`[offscreen-bridge] Panel CDP command received but BrowserAPI is null`),this.emit({type:`panel-cdp-response`,id:t,error:`BrowserAPI not available`});break}try{let e=await this.browserAPI.getTransport().send(n,r,i);this.emit({type:`panel-cdp-response`,id:t,result:e})}catch(e){this.emit({type:`panel-cdp-response`,id:t,error:e instanceof Error?e.message:String(e)})}break}case`tool-ui-action`:{let{requestId:t,action:n,data:r}=e;try{await De.handleAction(t,{action:n,data:r})}catch(e){let r=e instanceof Error?e.message:String(e);console.error(`[offscreen-bridge] Tool UI action failed`,{requestId:t,action:n,error:r}),De.cancel(t,`Action failed: ${r}`)}break}case`local-storage-set`:try{globalThis.localStorage?.setItem(e.key,e.value)}catch(e){console.warn(`[offscreen-bridge] local-storage-set failed:`,e)}break;case`local-storage-remove`:try{globalThis.localStorage?.removeItem(e.key)}catch(e){console.warn(`[offscreen-bridge] local-storage-remove failed:`,e)}break;case`local-storage-clear`:try{globalThis.localStorage?.clear()}catch(e){console.warn(`[offscreen-bridge] local-storage-clear failed:`,e)}break}}emitScoopList(){let e=this.orchestrator?.getScoops().map(e=>this.toScoopSnapshot(e))??[];this.emit({type:`scoop-list`,scoops:e})}emit(e){this.transport.send(e),e.type===`agent-event`&&this.fanOutAgentEvent(e)}};function ze(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}const Be=v(`cdp`);var Ve=class{ws=null;nextId=1;pending=new Map;listeners=new Map;_state=`disconnected`;get state(){return this._state}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3}=e;return this._state=`connecting`,new Promise((e,r)=>{let i=setTimeout(()=>{this.cleanup(),r(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=new WebSocket(t)}catch(e){clearTimeout(i),this._state=`disconnected`,r(e);return}this.ws.onopen=()=>{clearTimeout(i),this._state=`connected`,Be.info(`Connected`,{url:t}),e()},this.ws.onerror=e=>{clearTimeout(i),this._state===`connecting`&&(Be.error(`Connection failed`,{url:t}),this.cleanup(),r(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=()=>{this.handleClose()}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this.cleanup(),Be.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};return t&&(a.params=t),n&&(a.sessionId=n),Be.debug(`Send`,{method:e,id:i,sessionId:n}),new Promise((t,n)=>{let o=setTimeout(()=>{this.pending.delete(i),n(Error(`CDP command timed out after ${r}ms: ${e}`))},r);this.pending.set(i,{resolve:e=>{clearTimeout(o),t(e)},reject:e=>{clearTimeout(o),n(e)}}),this.ws.send(JSON.stringify(a))})}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;Be.debug(`Response`,{id:e.id,hasError:!!e.error});let n=this.pending.get(e.id);n&&(this.pending.delete(e.id),e.error?(Be.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),n.reject(Error(`CDP error: ${e.error.message} (${e.error.code})`))):n.resolve(e.result??{}));return}if(`method`in t){let e=t;Be.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(){Be.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size});for(let[,e]of this.pending)e.reject(Error(`CDP connection closed`));this.cleanup()}cleanup(){this.ws=null,this._state=`disconnected`,this.pending.clear()}};const He=`(function() {
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(e&&(t=e(e=0)),t),s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e),f=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});const p={DEBUG:0,INFO:1,WARN:2,ERROR:3};let m=p.ERROR;function h(e,t){let n=e;if(t.length>0)try{n+=` `+JSON.stringify(t)}catch{n+=` [unserializable]`}return n.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi,`<id>`).replace(/\b[0-9a-f]{8,}\b/gi,`<hex>`).replace(/\b\d{10,}\b/g,`<ts>`).replace(/\b\d+(\.\d+)?\b/g,`<n>`)}var g=class{entries=[];log(e,t,n,r,i){let a=h(r,i),o=Date.now();this.evict(o);let s=this.entries.find(e=>e.fingerprint===a&&e.level===n);if(s)return s.count++,!1;if(this.entries.length>=10){let e=this.entries.shift();this.flushEntry(e)}return this.entries.push({fingerprint:a,count:0,firstSeen:o,level:n,consoleFn:e,prefix:t,message:r}),!0}flush(){for(let e of this.entries)this.flushEntry(e);this.entries=[]}clear(){this.entries=[]}evict(e){for(;this.entries.length>0&&e-this.entries[0].firstSeen>6e4;){let e=this.entries.shift();this.flushEntry(e)}}flushEntry(e){e.count>0&&m<=e.level&&e.consoleFn(e.prefix,`(suppressed ${e.count} similar: "${e.message}")`)}};const _=new Set;function v(e){let t=`[${e}]`,n=new g;_.add(n);function r(e){return(r,...i)=>{if(m>e)return;let a=e===p.DEBUG?console.debug:e===p.INFO?console.info:e===p.WARN?console.warn:console.error;n.log(a,t,e,r,i)&&a(t,r,...i)}}return{debug:r(p.DEBUG),info:r(p.INFO),warn:r(p.WARN),error:r(p.ERROR)}}const y=v(`panel-transport`);function b(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function x(){return{onMessage:e=>{let t=(t,n,r)=>(b(t)&&e(t),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:e=>{chrome.runtime.sendMessage({source:`offscreen`,payload:e}).catch(e=>{let t=e instanceof Error?e.message:String(e);/receiving end does not exist/i.test(t)||y.error(`Offscreen → panel transport send failed`,{error:t})})}}}const S=new Set([`send_message`,`list_scoops`,`list_tasks`]);let C={state:`inactive`,joinUrl:null,trayId:null,error:null,lastPingTime:null,reconnectAttempts:0,attachAttempts:0,lastAttachCode:null,connectingSince:null,lastError:null};function w(){return{...C}}const T=new Set;function E(e){return T.add(e),()=>{T.delete(e)}}function D(e){return e.headers.get(`x-proxy-error`)===`1`}async function O(e){let t=`Proxy error ${e.status}`,n;try{n=await e.text()}catch{return t}return ee(n,t)}function ee(e,t){let n;try{n=JSON.parse(e)}catch{return t}if(!n||typeof n!=`object`)return t;let r=n.error;if(typeof r==`string`&&r.length>0)return r;if(r&&typeof r==`object`){let e=r.message;if(typeof e==`string`&&e.length>0)return e;try{return JSON.stringify(r)}catch{return t}}return t}const k={SCOOPS:`scoops`,MESSAGES:`messages`,SESSIONS:`sessions`,TASKS:`tasks`,STATE:`state`,WEBHOOKS:`webhooks`,CRONTASKS:`crontasks`};let te=null;async function A(){if(te){let e=Object.values(k).every(e=>te.objectStoreNames.contains(e));if(te.version===3&&e)return te;te.close(),te=null}return new Promise((e,t)=>{let n=indexedDB.open(`slicc-groups`,3);n.onupgradeneeded=e=>{let t=e.target.result,n=e.oldVersion;if(n<1){if(!t.objectStoreNames.contains(k.MESSAGES)){let e=t.createObjectStore(k.MESSAGES,{keyPath:`id`});e.createIndex(`chatJid`,`chatJid`),e.createIndex(`timestamp`,`timestamp`),e.createIndex(`chatJid_timestamp`,[`chatJid`,`timestamp`])}t.objectStoreNames.contains(k.SESSIONS)||t.createObjectStore(k.SESSIONS,{keyPath:`groupFolder`}),t.objectStoreNames.contains(k.TASKS)||t.createObjectStore(k.TASKS,{keyPath:`id`}).createIndex(`groupFolder`,`groupFolder`),t.objectStoreNames.contains(k.STATE)||t.createObjectStore(k.STATE,{keyPath:`key`})}if(n<2){let n=e.target.transaction;if(t.objectStoreNames.contains(`groups`)){let e=n.objectStore(`groups`).getAll();e.onsuccess=()=>{let n=e.result;t.deleteObjectStore(`groups`);let r=t.createObjectStore(k.SCOOPS,{keyPath:`jid`});r.createIndex(`type`,`type`);for(let e of n){let t=e.isMain??!1,n={jid:e.jid,name:e.name,folder:e.folder,trigger:t?void 0:e.trigger||`@${e.folder}`,requiresTrigger:!t&&(e.requiresTrigger??!0),isCone:t,type:t?`cone`:`scoop`,assistantLabel:t?`sliccy`:e.config?.assistantName||e.folder,addedAt:e.addedAt,config:e.config?{systemPromptAppend:e.config.systemPromptAppend,timeout:e.config.timeout,assistantName:e.config.assistantName}:void 0};r.put(n)}}}else t.objectStoreNames.contains(k.SCOOPS)||t.createObjectStore(k.SCOOPS,{keyPath:`jid`}).createIndex(`type`,`type`)}n<3&&(t.objectStoreNames.contains(k.WEBHOOKS)||t.createObjectStore(k.WEBHOOKS,{keyPath:`id`}),t.objectStoreNames.contains(k.CRONTASKS)||t.createObjectStore(k.CRONTASKS,{keyPath:`id`}))},n.onsuccess=()=>{te=n.result,e(te)},n.onerror=()=>t(n.error)})}async function j(e,t=`readonly`){return(await A()).transaction(e,t).objectStore(e)}async function ne(e){let t=await j(k.SCOOPS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function re(){let e=await j(k.SCOOPS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>{let e={};for(let t of r.result)e[t.jid]=t;t(e)},r.onerror=()=>n(r.error)})}async function ie(e){let t=await j(k.SCOOPS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function ae(){let e=await j(k.MESSAGES,`readwrite`);return new Promise((t,n)=>{let r=e.clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}async function oe(e){let t=(await j(k.MESSAGES,`readwrite`)).index(`chatJid_timestamp`),n=IDBKeyRange.bound([e,``],[e,``],!1,!1);return new Promise((e,r)=>{let i=t.openCursor(n);i.onsuccess=()=>{let t=i.result;if(!t){e();return}t.delete(),t.continue()},i.onerror=()=>r(i.error)})}async function se(e){let t=await j(k.MESSAGES,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function ce(e){let t=await j(k.MESSAGES,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function le(e){let t=(await j(k.MESSAGES)).index(`chatJid_timestamp`),n=IDBKeyRange.bound([e,``],[e,``],!1,!1);return new Promise((e,r)=>{let i=t.getAll(n);i.onsuccess=()=>e(i.result),i.onerror=()=>r(i.error)})}async function ue(e,t,n){let r=(await j(k.MESSAGES)).index(`chatJid_timestamp`),i=IDBKeyRange.bound([e,t],[e,``],!0,!1);return new Promise((e,t)=>{let a=r.getAll(i);a.onsuccess=()=>{let t=a.result;n&&(t=t.filter(e=>e.senderName!==n)),e(t)},a.onerror=()=>t(a.error)})}async function M(e){let t=await j(k.TASKS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function de(e){let t=await j(k.TASKS);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async function fe(){let e=await j(k.TASKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}async function pe(e){let t=await j(k.TASKS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function me(e){let t=await j(k.STATE);return new Promise((n,r)=>{let i=t.get(e);i.onsuccess=()=>n(i.result?.value??null),i.onerror=()=>r(i.error)})}async function he(e,t){let n=await j(k.STATE,`readwrite`);return new Promise((r,i)=>{let a=n.put({key:e,value:t});a.onsuccess=()=>r(),a.onerror=()=>i(a.error)})}async function ge(){await A()}async function _e(e){let t=await j(k.WEBHOOKS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function ve(){try{let e=await j(k.WEBHOOKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}catch{return[]}}async function ye(e){let t=await j(k.WEBHOOKS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function N(e){let t=await j(k.CRONTASKS,`readwrite`);return new Promise((n,r)=>{let i=t.put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async function be(){try{let e=await j(k.CRONTASKS);return new Promise((t,n)=>{let r=e.getAll();r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}catch{return[]}}async function xe(e){let t=await j(k.CRONTASKS,`readwrite`);return new Promise((n,r)=>{let i=t.delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}function Se(e){if(!e)return null;try{let t=new URL(e.trim());t.search=``,t.hash=``,t.pathname!==`/`&&(t.pathname=t.pathname.replace(/\/+$/,``)||`/`);let n=t.toString();return n.endsWith(`/`)?n.slice(0,-1):n}catch{return null}}const Ce=`slicc.trayWorkerBaseUrl`,we=`https://www.sliccy.ai`;v(`tray-leader`);let P={state:`inactive`,session:null,error:null};function Te(){return{...P,session:P.session?{...P.session}:null}}const F=new Set;function I(e){return F.add(e),()=>{F.delete(e)}}const Ee=v(`tool-ui`),De=new class{pending=new Map;idCounter=0;generateId(){return`tool-ui-${++this.idCounter}-${Date.now().toString(36)}`}register(e,t,n,r){this.pending.set(e,{request:t,resolve:n,reject:r}),Ee.info(`Tool UI registered`,{id:e})}async handleAction(e,t){let n=this.pending.get(e);if(!n){Ee.warn(`Action for unknown tool UI`,{id:e,action:t.action});return}Ee.info(`Tool UI action`,{id:e,action:t.action});try{let e;e=n.request.onAction?await n.request.onAction(t.action,t.data):t,n.resolve(e)}catch(e){n.reject(e instanceof Error?e:Error(String(e)))}finally{this.pending.delete(e)}}cancel(e,t=`cancelled`){let n=this.pending.get(e);n&&(n.reject(Error(t)),this.pending.delete(e),Ee.info(`Tool UI cancelled`,{id:e,reason:t}))}cancelAll(e=`cancelled`){let t=this.pending.size;for(let[t,n]of this.pending)n.reject(Error(e));this.pending.clear(),t>0&&Ee.info(`All tool UIs cancelled`,{reason:e,count:t})}isPending(e){return this.pending.has(e)}getPendingIds(){return[...this.pending.keys()]}};async function Oe(e,t){let n=e.id??De.generateId(),r,i,a=new Promise((e,t)=>{r=e,i=t});return De.register(n,e,r,i),t?t({content:[{type:`tool_ui`,requestId:n,html:e.html}]}):Ee.warn(`showToolUI called without onUpdate callback — UI may not render`),a.finally(()=>{t&&t({content:[{type:`tool_ui_done`,requestId:n}]})})}const ke=[];function Ae(e){return ke.push(e),e}function je(e){let t=ke.lastIndexOf(e);t!==-1&&ke.splice(t,1)}function Me(){return ke.length>0?ke[ke.length-1]:null}async function Ne(e){let t=Me();return t?Oe(e,t.onUpdate):(Ee.warn(`showToolUIFromContext called without execution context`),null)}const Pe=`sessions`;function Fe(){return new Promise((e,t)=>{let n=indexedDB.open(`browser-coding-agent`,1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(Pe)||e.createObjectStore(Pe,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var Ie=class{db=null;async init(){this.db=await Fe()}ensureDb(){if(!this.db)throw Error(`SessionStore not initialized. Call init() first.`);return this.db}async save(e){let t=this.ensureDb();return new Promise((n,r)=>{let i=t.transaction(Pe,`readwrite`);i.objectStore(Pe).put(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=this.ensureDb();return new Promise((n,r)=>{let i=t.transaction(Pe,`readonly`).objectStore(Pe).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async list(){let e=this.ensureDb();return new Promise((t,n)=>{let r=e.transaction(Pe,`readonly`).objectStore(Pe).getAll();r.onsuccess=()=>{t(r.result.sort((e,t)=>t.updatedAt-e.updatedAt).map(e=>e.id))},r.onerror=()=>n(r.error)})}async delete(e){let t=this.ensureDb();return new Promise((n,r)=>{let i=t.transaction(Pe,`readwrite`);i.objectStore(Pe).delete(e),i.oncomplete=()=>n(),i.onerror=()=>r(i.error)})}async saveMessages(e,t){let n=await this.load(e),r=n?{...n,messages:t,updatedAt:Date.now()}:{id:e,messages:t,createdAt:Date.now(),updatedAt:Date.now()};await this.save(r)}};const Le=v(`offscreen-bridge`);var Re=class{orchestrator=null;browserAPI=null;messageBuffers=new Map;currentMessageId=new Map;scoopStatuses=new Map;sessionStore=null;followerSync=null;_transport;transportUnsubscribe=null;activeScoopJid=null;agentEventListeners=new Set;fanOutMessageId=new Map;constructor(e){this._transport=e??null}get transport(){return this._transport||=x(),this._transport}async bind(e,t){this.orchestrator=e,this.browserAPI=t??null,this.transportUnsubscribe?.(),this.transportUnsubscribe=this.setupMessageListener();let n=new Ie;await n.init(),this.sessionStore=n}static createCallbacks(e){return{onResponse:(t,n,r)=>{let i=e.getOrCreateAssistantMsg(t);r?i.content+=n:(i.content=n,i.isStreaming=!1),e.emit({type:`agent-event`,scoopJid:t,eventType:`text_delta`,text:n})},onResponseDone:t=>{let n=e.currentMessageId.get(t);if(n){let r=e.getBuffer(t).find(e=>e.id===n);r&&(r.isStreaming=!1),e.currentMessageId.delete(t)}e.persistScoop(t),e.emit({type:`agent-event`,scoopJid:t,eventType:`response_done`})},onSendMessage:(t,n)=>{let r=e.getBuffer(t),i=`msg-${ze()}`;r.push({id:i,role:`assistant`,content:n,timestamp:Date.now()}),e.persistScoop(t),e.emit({type:`agent-event`,scoopJid:t,eventType:`text_delta`,text:n}),e.emit({type:`agent-event`,scoopJid:t,eventType:`response_done`})},onStatusChange:(t,n)=>{e.scoopStatuses.set(t,n),n===`ready`&&e.currentMessageId.delete(t),e.emit({type:`scoop-status`,scoopJid:t,status:n}),e.emitScoopList()},onCompactionStateChange:(t,n)=>{e.emit({type:`compaction-state`,scoopJid:t,state:n})},onError:(t,n)=>{e.emit({type:`error`,scoopJid:t,error:n})},onToolStart:(t,n,r)=>{if(S.has(n))return;let i=e.getOrCreateAssistantMsg(t);i.toolCalls||=[],i.toolCalls.push({id:ze(),name:n,input:r}),e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_start`,toolName:n,toolInput:r})},onToolEnd:(t,n,r,i)=>{if(S.has(n))return;let a=e.currentMessageId.get(t);if(a){let o=e.getBuffer(t).find(e=>e.id===a);if(o?.toolCalls){let e=[...o.toolCalls].reverse().find(e=>e.name===n&&e.result===void 0);e&&(e.result=r,e.isError=i)}}e.persistScoop(t),e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_end`,toolName:n,toolResult:r,isError:i})},onToolUI:(t,n,r,i)=>{e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_ui`,toolName:n,requestId:r,html:i})},onToolUIDone:(t,n)=>{e.emit({type:`agent-event`,scoopJid:t,eventType:`tool_ui_done`,requestId:n})},onIncomingMessage:(t,n)=>{let r={id:n.id,role:`user`,content:n.channel===`delegation`?`**[Instructions from sliccy]**\n\n${n.content}`:n.content,attachments:n.attachments,timestamp:new Date(n.timestamp).getTime(),source:n.channel===`delegation`?`delegation`:void 0,channel:n.channel};e.getBuffer(t).push(r),e.persistScoop(t),e.notifyPanelIncomingMessage(t,n)}}}notifyPanelIncomingMessage(e,t){this.emit({type:`incoming-message`,scoopJid:e,message:{id:t.id,content:t.content,attachments:t.attachments,channel:t.channel,senderName:t.senderName,fromAssistant:t.fromAssistant,timestamp:t.timestamp}})}toScoopSnapshot(e){let t=e.config&&(e.config.modelId!==void 0||e.config.thinkingLevel!==void 0)?{...e.config.modelId===void 0?{}:{modelId:e.config.modelId},...e.config.thinkingLevel===void 0?{}:{thinkingLevel:e.config.thinkingLevel}}:void 0;return{jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,assistantLabel:e.assistantLabel,status:this.scoopStatuses.get(e.jid)??`ready`,...t?{config:t}:{}}}buildStateSnapshot(){let e=this.orchestrator?.getScoops().map(e=>this.toScoopSnapshot(e))??[],t=e.find(e=>e.isCone);return{type:`state-snapshot`,scoops:e,activeScoopJid:this.getActiveScoopJid()??t?.jid??null,trayRuntimeStatus:this.buildTrayRuntimeStatus()}}emitTrayRuntimeStatus(){let e=this.buildTrayRuntimeStatus(),t={type:`tray-runtime-status`,leader:e.leader,follower:e.follower};this.emit(t)}buildTrayRuntimeStatus(){let e=Te(),t=w();return{leader:{state:e.state,session:e.session,error:e.error??null,reconnectAttempts:e.reconnectAttempts??0},follower:{state:t.state,joinUrl:t.joinUrl,trayId:t.trayId,error:t.error,lastError:t.lastError,reconnectAttempts:t.reconnectAttempts,attachAttempts:t.attachAttempts,lastAttachCode:t.lastAttachCode,connectingSince:t.connectingSince,lastPingTime:t.lastPingTime}}}setFollowerSync(e){this.followerSync=e}setActiveScoopJid(e){this.activeScoopJid=e}getActiveScoopJid(){return this.activeScoopJid}onAgentEvent(e){return this.agentEventListeners.add(e),()=>{this.agentEventListeners.delete(e)}}fanOutAgentEvent(e){let{scoopJid:t,eventType:n}=e,r=[],i=()=>{let e=this.fanOutMessageId.get(t);return e||(e=`scoop-${t}-${ze()}`,this.fanOutMessageId.set(t,e),r.push({type:`message_start`,messageId:e})),e};switch(n){case`text_delta`:{let t=i();r.push({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=i();r.push({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput});break}case`tool_end`:{let n=this.fanOutMessageId.get(t);if(!n)return;r.push({type:`tool_result`,messageId:n,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError});break}case`tool_ui`:{let t=i();r.push({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});break}case`tool_ui_done`:{let n=this.fanOutMessageId.get(t);if(!n)return;r.push({type:`tool_ui_done`,messageId:n,requestId:e.requestId??``});break}case`response_done`:{let e=this.fanOutMessageId.get(t);if(!e)return;r.push({type:`content_done`,messageId:e}),this.fanOutMessageId.delete(t);break}case`turn_end`:this.fanOutMessageId.delete(t);break}for(let e of r)for(let n of this.agentEventListeners)try{n(t,e)}catch(e){Le.error(`onAgentEvent listener threw`,{error:e instanceof Error?e.message:String(e)})}}getMessagesForJid(e){return this.getBuffer(e)}async routeSprinkleLick(e,t,n){if(!this.orchestrator)return;let r=this.orchestrator.getScoops(),i=n?r.find(e=>e.name===n||e.folder===n||e.folder===`${n}-scoop`):void 0;if(i||=r.find(e=>e.isCone),!i)return;let a=`sprinkle-${e}-${Date.now()}`,o=`[Sprinkle Event: ${e}]\n\`\`\`json\n${JSON.stringify(t,null,2)}\n\`\`\``,s={id:a,chatJid:i.jid,senderId:`sprinkle`,senderName:`sprinkle:${e}`,content:o,timestamp:new Date().toISOString(),fromAssistant:!1,channel:`sprinkle`};this.getBuffer(i.jid).push({id:a,role:`user`,content:o,timestamp:Date.now(),source:`lick`,channel:`sprinkle`}),this.persistScoop(i.jid),await this.orchestrator.handleMessage(s)}applyFollowerSnapshot(e){if(!this.orchestrator)return;let t=this.orchestrator.getScoops().find(e=>e.isCone);if(!t)return;let n=e.map(e=>({id:e.id,role:e.role,content:e.content,attachments:e.attachments,timestamp:e.timestamp,source:e.source,channel:e.channel,toolCalls:e.toolCalls?.map(e=>({id:e.id,name:e.name,input:e.input,result:e.result,isError:e.isError})),isStreaming:e.isStreaming}));if(this.messageBuffers.set(t.jid,n),this.currentMessageId.delete(t.jid),this.fanOutMessageId.delete(t.jid),this.sessionStore){let n=t.isCone?`session-cone`:`session-${t.folder}`;this.sessionStore.saveMessages(n,e).catch(e=>{Le.error(`applyFollowerSnapshot persist failed`,{error:e instanceof Error?e.message:String(e)})})}this.emit({type:`scoop-messages-replaced`,scoopJid:t.jid,messages:n})}getConeJid(){return this.orchestrator?.getScoops().find(e=>e.isCone)?.jid??null}emitFollowerAgentEvent(e){let t=this.getConeJid();if(t)switch(e.type){case`content_delta`:this.emit({type:`agent-event`,scoopJid:t,eventType:`text_delta`,text:e.text});break;case`content_done`:this.emit({type:`agent-event`,scoopJid:t,eventType:`response_done`});break;case`tool_use_start`:this.emit({type:`agent-event`,scoopJid:t,eventType:`tool_start`,toolName:e.toolName,toolInput:e.toolInput});break;case`tool_result`:this.emit({type:`agent-event`,scoopJid:t,eventType:`tool_end`,toolName:e.toolName,toolResult:e.result,isError:e.isError});break;case`turn_end`:this.emit({type:`agent-event`,scoopJid:t,eventType:`turn_end`});break;case`error`:this.emit({type:`error`,scoopJid:t,error:e.error});break}}emitFollowerIncomingMessage(e,t){let n=this.getConeJid();n&&this.emit({type:`incoming-message`,scoopJid:n,message:{id:e,content:t,channel:`web`,senderName:`User`,fromAssistant:!1,timestamp:new Date().toISOString()}})}emitFollowerStatus(e){let t=this.getConeJid();if(!t)return;let n=e===`processing`?`processing`:`ready`;this.scoopStatuses.set(t,n),this.emit({type:`scoop-status`,scoopJid:t,status:n})}async handleRequestScoopMessages(e){if(!this.orchestrator)return;let t=this.orchestrator.getScoops().find(t=>t.jid===e);if(!t)return;let n=this.messageBuffers.get(e);if(n&&n.length>0){this.emit({type:`scoop-messages-replaced`,scoopJid:e,messages:n});return}let r=this.orchestrator.getScoopContext(e);if(r){let{agentMessagesToChatMessages:n}=await import(`./agent-message-to-chat-C-gtegkI.js`),i=r.getAgentMessages();if(i.length>0){let r=n(i,{source:t.isCone?`cone`:t.name??t.folder}).map(e=>({id:e.id,role:e.role,content:e.content,attachments:e.attachments,timestamp:e.timestamp,source:e.source,channel:e.channel,toolCalls:e.toolCalls?.map(e=>({id:e.id,name:e.name,input:e.input,result:e.result,isError:e.isError})),isStreaming:!1}));this.messageBuffers.set(e,r),this.currentMessageId.delete(e),this.fanOutMessageId.delete(e),this.persistScoop(e),this.emit({type:`scoop-messages-replaced`,scoopJid:e,messages:r});return}}if(this.sessionStore){let n=t.isCone?`session-cone`:`session-${t.folder}`;try{let t=(await this.sessionStore.load(n))?.messages??[];t.length>0&&(this.messageBuffers.set(e,t),this.currentMessageId.delete(e),this.fanOutMessageId.delete(e),this.emit({type:`scoop-messages-replaced`,scoopJid:e,messages:t}))}catch(e){Le.error(`sessionStore load failed`,{sessionId:n,error:e instanceof Error?e.message:String(e)})}}}persistScoop(e){if(!this.sessionStore||!this.orchestrator)return;let t=this.orchestrator.getScoops().find(t=>t.jid===e);if(!t)return;let n=t.isCone?`session-cone`:`session-${t.folder}`,r=this.messageBuffers.get(e);!r||r.length===0||this.sessionStore.saveMessages(n,r).catch(e=>{Le.error(`persistScoop failed`,{sessionId:n,error:e instanceof Error?e.message:String(e)})})}getBuffer(e){let t=this.messageBuffers.get(e);return t||(t=[],this.messageBuffers.set(e,t)),t}getOrCreateAssistantMsg(e){let t=this.getBuffer(e),n=this.currentMessageId.get(e);if(n){let e=t.find(e=>e.id===n);if(e)return e}n=`scoop-${e}-${ze()}`,this.currentMessageId.set(e,n);let r=(this.orchestrator?.getScoops()??[]).find(t=>t.jid===e),i=r?.isCone?`cone`:r?.name??`unknown`,a={id:n,role:`assistant`,content:``,timestamp:Date.now(),toolCalls:[],isStreaming:!0,source:i};return t.push(a),a}setupMessageListener(){return this.transport.onMessage(e=>{if(e.source===`panel`){if(e.payload?.type===`sprinkle-op-response`){import(`./sprinkle-proxy-B4nH2NxC.js`).then(({handleSprinkleOpResponse:t})=>{t(e.payload)});return}this.handlePanelMessage(e.payload).catch(t=>{console.error(`[offscreen-bridge] handlePanelMessage error:`,t);let n=e.payload.scoopJid;n&&this.emit({type:`error`,scoopJid:n,error:t instanceof Error?t.message:String(t)})})}})}async handlePanelMessage(e){if(this.orchestrator)switch(e.type){case`user-message`:{if(this.followerSync){this.getBuffer(e.scoopJid).push({id:e.messageId,role:`user`,content:e.text,attachments:e.attachments,timestamp:Date.now()}),this.persistScoop(e.scoopJid),this.followerSync.sendMessage(e.text,e.messageId,e.attachments);break}let t={id:e.messageId,chatJid:e.scoopJid,senderId:`user`,senderName:`User`,content:e.text,attachments:e.attachments,timestamp:new Date().toISOString(),fromAssistant:!1,channel:`web`};this.getBuffer(e.scoopJid).push({id:e.messageId,role:`user`,content:e.text,attachments:e.attachments,timestamp:Date.now()}),this.persistScoop(e.scoopJid),await this.orchestrator.handleMessage(t),this.orchestrator.createScoopTab(e.scoopJid);break}case`cone-create`:{let t={jid:`cone_${Date.now()}`,name:e.name,folder:`cone`,isCone:!0,type:`cone`,requiresTrigger:!1,assistantLabel:`sliccy`,addedAt:new Date().toISOString()};await this.orchestrator.registerScoop(t),this.emit({type:`scoop-created`,scoop:this.toScoopSnapshot(t)});break}case`scoop-feed`:await this.orchestrator.delegateToScoop(e.scoopJid,e.prompt,`sliccy`);break;case`scoop-drop`:{let t=this.orchestrator.getScoops().find(t=>t.jid===e.scoopJid);if(await this.orchestrator.unregisterScoop(e.scoopJid),this.messageBuffers.delete(e.scoopJid),this.currentMessageId.delete(e.scoopJid),this.fanOutMessageId.delete(e.scoopJid),this.scoopStatuses.delete(e.scoopJid),t&&this.sessionStore){let e=t.isCone?`session-cone`:`session-${t.folder}`;this.sessionStore.delete(e).catch(t=>{console.warn(`[offscreen-bridge] Failed to delete session on scoop drop:`,e,t)})}this.emitScoopList();break}case`abort`:this.orchestrator.stopScoop(e.scoopJid),this.orchestrator.clearQueuedMessages(e.scoopJid).catch(e=>{console.warn(`[offscreen-bridge] Failed to clear queued messages on abort:`,e)});break;case`set-model`:this.orchestrator.updateModel();break;case`request-state`:this.emit(this.buildStateSnapshot());break;case`request-scoop-messages`:await this.handleRequestScoopMessages(e.scoopJid);break;case`clear-chat`:{let t=this.orchestrator.getScoops().find(e=>e.isCone)?.jid;t&&await this.orchestrator.clearScoopMessages(t),this.sessionStore&&await this.sessionStore.delete(`session-cone`),t&&(this.messageBuffers.delete(t),this.currentMessageId.delete(t),this.fanOutMessageId.delete(t)),this.emit({type:`clear-chat-ack`,requestId:e.requestId});break}case`clear-filesystem`:try{await this.orchestrator.resetFilesystem()}catch(e){console.error(`[offscreen-bridge] clear-filesystem failed:`,e)}break;case`refresh-model`:this.orchestrator.updateModel();break;case`set-thinking-level`:{let t=e;try{await this.orchestrator.setScoopThinkingLevel(t.scoopJid,t.level)}catch(e){console.error(`[offscreen-bridge] set-thinking-level failed:`,e)}break}case`sprinkle-lick`:{let t=e;await this.routeSprinkleLick(t.sprinkleName,t.body,t.targetScoop);break}case`lick-webhook-event`:this.orchestrator.handleWebhookEvent(e.webhookId,e.headers,e.body);break;case`reload-skills`:this.orchestrator.reloadAllSkills().catch(e=>{console.warn(`[offscreen-bridge] Skill reload failed:`,e)});break;case`panel-cdp-command`:{let{id:t,method:n,params:r,sessionId:i}=e;if(!this.browserAPI){console.warn(`[offscreen-bridge] Panel CDP command received but BrowserAPI is null`),this.emit({type:`panel-cdp-response`,id:t,error:`BrowserAPI not available`});break}try{let e=await this.browserAPI.getTransport().send(n,r,i);this.emit({type:`panel-cdp-response`,id:t,result:e})}catch(e){this.emit({type:`panel-cdp-response`,id:t,error:e instanceof Error?e.message:String(e)})}break}case`tool-ui-action`:{let{requestId:t,action:n,data:r}=e;try{await De.handleAction(t,{action:n,data:r})}catch(e){let r=e instanceof Error?e.message:String(e);console.error(`[offscreen-bridge] Tool UI action failed`,{requestId:t,action:n,error:r}),De.cancel(t,`Action failed: ${r}`)}break}case`local-storage-set`:try{globalThis.localStorage?.setItem(e.key,e.value)}catch(e){console.warn(`[offscreen-bridge] local-storage-set failed:`,e)}break;case`local-storage-remove`:try{globalThis.localStorage?.removeItem(e.key)}catch(e){console.warn(`[offscreen-bridge] local-storage-remove failed:`,e)}break;case`local-storage-clear`:try{globalThis.localStorage?.clear()}catch(e){console.warn(`[offscreen-bridge] local-storage-clear failed:`,e)}break}}emitScoopList(){let e=this.orchestrator?.getScoops().map(e=>this.toScoopSnapshot(e))??[];this.emit({type:`scoop-list`,scoops:e})}emit(e){this.transport.send(e),e.type===`agent-event`&&this.fanOutAgentEvent(e)}};function ze(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}const Be=v(`cdp`);var Ve=class{ws=null;nextId=1;pending=new Map;listeners=new Map;_state=`disconnected`;get state(){return this._state}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);if(!e?.url)throw Error(`CDPClient.connect() requires a WebSocket URL`);let{url:t,timeout:n=5e3}=e;return this._state=`connecting`,new Promise((e,r)=>{let i=setTimeout(()=>{this.cleanup(),r(Error(`CDP connection timed out after ${n}ms`))},n);try{this.ws=new WebSocket(t)}catch(e){clearTimeout(i),this._state=`disconnected`,r(e);return}this.ws.onopen=()=>{clearTimeout(i),this._state=`connected`,Be.info(`Connected`,{url:t}),e()},this.ws.onerror=e=>{clearTimeout(i),this._state===`connecting`&&(Be.error(`Connection failed`,{url:t}),this.cleanup(),r(Error(`CDP WebSocket connection failed`)))},this.ws.onmessage=e=>{this.handleMessage(e.data)},this.ws.onclose=()=>{this.handleClose()}})}disconnect(){this.ws&&(this.ws.onclose=null,this.ws.close()),this.cleanup(),Be.info(`Disconnected`)}async send(e,t,n,r=3e4){if(this._state!==`connected`||!this.ws)throw Error(`CDP client is not connected`);let i=this.nextId++,a={id:i,method:e};return t&&(a.params=t),n&&(a.sessionId=n),Be.debug(`Send`,{method:e,id:i,sessionId:n}),new Promise((t,n)=>{let o=setTimeout(()=>{this.pending.delete(i),n(Error(`CDP command timed out after ${r}ms: ${e}`))},r);this.pending.set(i,{resolve:e=>{clearTimeout(o),t(e)},reject:e=>{clearTimeout(o),n(e)}}),this.ws.send(JSON.stringify(a))})}on(e,t){let n=this.listeners.get(e);n||(n=new Set,this.listeners.set(e,n)),n.add(t)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&this.listeners.delete(e))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}handleMessage(e){let t;try{t=JSON.parse(e)}catch{return}if(`id`in t&&typeof t.id==`number`){let e=t;Be.debug(`Response`,{id:e.id,hasError:!!e.error});let n=this.pending.get(e.id);n&&(this.pending.delete(e.id),e.error?(Be.error(`Command error`,{id:e.id,code:e.error.code,message:e.error.message}),n.reject(Error(`CDP error: ${e.error.message} (${e.error.code})`))):n.resolve(e.result??{}));return}if(`method`in t){let e=t;Be.debug(`Event`,{method:e.method,sessionId:e.sessionId});let n=this.listeners.get(e.method);if(n){let t=e.sessionId?{...e.params,sessionId:e.sessionId}:e.params??{};for(let e of n)try{e(t)}catch{}}}}handleClose(){Be.error(`Connection closed unexpectedly`,{pendingCommands:this.pending.size});for(let[,e]of this.pending)e.reject(Error(`CDP connection closed`));this.cleanup()}cleanup(){this.ws=null,this._state=`disconnected`,this.pending.clear()}};const He=`(function() {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
// ===== DOM Utilities =====
|
|
@@ -876,9 +876,9 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
876
876
|
this.scrollIntoView({ block: 'center', inline: 'center' });
|
|
877
877
|
const r = this.getBoundingClientRect();
|
|
878
878
|
return { x: r.x, y: r.y, width: r.width, height: r.height };
|
|
879
|
-
}`,returnByValue:!0},this.sessionId)).result?.value;if(!n||n.width===0||n.height===0)throw Error(`Element with backend node ${e} has no dimensions`);return{x:n.x+n.width/2,y:n.y+n.height/2}}async ensureLocalConnected(){this.localClient.state===`disconnected`&&await this.localClient.connect({url:Ge()})}async ensureConnected(){this.client.state===`disconnected`&&(this.remoteTargetInfo&&this.trayTargetProvider?.removeRemoteTransport&&(this.trayTargetProvider.removeRemoteTransport(this.remoteTargetInfo.runtimeId,this.remoteTargetInfo.localTargetId),this.setClient(this.localClient),this.remoteTargetInfo=null),this.sessionId=null,this.attachedTargetId=null,this.client.state===`disconnected`&&await this.connect())}ensureAttached(){if(!this.sessionId)throw Error(`Not attached to a page. Call attachToPage(targetId) first.`)}addDialogListener(e){e.on(`Page.javascriptDialogOpening`,this.handleJavaScriptDialogOpening)}removeDialogListener(e){e.off(`Page.javascriptDialogOpening`,this.handleJavaScriptDialogOpening)}setClient(e){this.client!==e&&(this.removeDialogListener(this.client),this.client=e,this.addDialogListener(this.client))}async boundingBox(e){await this.client.send(`DOM.enable`,{},this.sessionId);let t=(await this.client.send(`DOM.getDocument`,{depth:0},this.sessionId)).root.nodeId,n;try{n=(await this.client.send(`DOM.querySelector`,{nodeId:t,selector:e},this.sessionId)).nodeId}catch{return null}if(!n)return null;let r=(await this.client.send(`DOM.getBoxModel`,{nodeId:n},this.sessionId)).model;if(!r)return null;let i=r.content;return{x:i[0],y:i[1],width:r.width,height:r.height}}};function qe(e){let t={role:Ue(e.role,`unknown`),name:Ue(e.name)},n=Ue(e.value);n!==``&&(t.value=n);let r=Ue(e.description);return r!==``&&(t.description=r),Array.isArray(e.children)&&e.children.length>0&&(t.children=e.children.map(e=>qe(e)).filter(e=>e.role!==`unknown`)),t}var Je={include:[`*`],exclude:[`amazon-bedrock`]},Ye=c({getRegisteredProviderConfig:()=>tt,getRegisteredProviderIds:()=>nt,registerProviderConfig:()=>rt,registerProviders:()=>et,shouldIncludeProvider:()=>Ze,unregisterProviderConfig:()=>it});const Xe=Object.assign({"/packages/dev-tools/providers.build.json":Je})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function Ze(e){let{include:t,exclude:n}=Xe;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const eee=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-eSDFUS9m.js`),"./built-in/bedrock-camp.ts":()=>Promise.resolve().then(()=>Ffe),"./built-in/local-llm.ts":()=>Promise.resolve().then(()=>L5)}),tee=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-Bx6YX_9F.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-B9JypLbK.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-C9g2_8Vh.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-CC71o1TQ.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-DK8dJtpb.js`)}),Qe=new Map;let $e=null;function et(){return $e||($e=(async()=>{for(let[e,t]of Object.entries(eee)){let e=await t();e.config&&Ze(e.config.id)&&(Qe.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(tee)){let e=await t();e.config&&(Qe.set(e.config.id,e.config),e.register?.())}})(),$e)}function tt(e){return Qe.get(e)}function nt(){return[...Qe.keys()]}function rt(e){Qe.set(e.id,e)}function it(e){return Qe.delete(e)}var nee=class{_state=`disconnected`;nextCommandId=1;listeners=new Map;pendingCommands=new Map;unsubscribe=null;opts;label;constructor(e){this.opts=e,this.label=e.label??`CDP transport`}get state(){return this._state}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);this.unsubscribe=this.opts.subscribeIncoming(e=>this.handleIncoming(e)),this._state=`connected`}disconnect(){this.unsubscribe?.(),this.unsubscribe=null;for(let[,e]of this.pendingCommands)clearTimeout(e.timer),e.reject(Error(`${this.label} disconnected`));this.pendingCommands.clear(),this.listeners.clear(),this._state=`disconnected`}async send(e,t,n,r=3e4){if(this._state!==`connected`)throw Error(`${this.label} is not connected`);let i=this.nextCommandId++,a=this.opts.buildCommandEnvelope(i,e,t,n);return new Promise((t,n)=>{let o=!1,s=setTimeout(()=>{o||(o=!0,this.pendingCommands.delete(i),n(Error(`CDP command timed out after ${r}ms: ${e}`)))},r);this.pendingCommands.set(i,{resolve:e=>{o||(o=!0,t(e))},reject:e=>{o||(o=!0,n(e))},timer:s}),this.opts.sendEnvelope(a).catch(e=>{o||(o=!0,this.pendingCommands.delete(i),clearTimeout(s),n(Error(`Failed to send CDP command: ${e instanceof Error?e.message:String(e)}`)))})})}on(e,t){let n=this.listeners.get(e),r=!n;n||(n=new Set,this.listeners.set(e,n)),n.add(t),r&&this.opts.onSubscribeEvent?.(e)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&(this.listeners.delete(e),this.opts.onUnsubscribeEvent?.(e)))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}handleIncoming(e){let t=this.opts.parseResponse(e);if(t){this.handleResponse(t);return}let n=this.opts.parseEvent(e);n&&this.handleEvent(n)}handleResponse(e){let t=this.pendingCommands.get(e.id);if(!t){this.opts.onUnknownResponseId?.(e.id);return}this.pendingCommands.delete(e.id),clearTimeout(t.timer),e.error?t.reject(Error(e.error)):t.resolve(e.result??{})}handleEvent(e){let t=this.listeners.get(e.method);if(t)for(let n of t)try{n(e.params??{})}catch(t){this.opts.onListenerError?.(e.method,t)}}};function at(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:t=>{e.postMessage(t)}}}function ot(e){let t=at(e);return{onMessage:e=>t.onMessage(e),send:e=>{t.send({source:`offscreen`,payload:e})}}}var ree=class extends nee{constructor(e){let t=at(e);super({label:`WorkerCdpProxy`,buildCommandEnvelope:(e,t,n,r)=>({type:`cdp-cmd`,id:e,method:t,params:n,sessionId:r}),sendEnvelope:e=>(t.send(e),Promise.resolve()),subscribeIncoming:e=>t.onMessage(e),parseResponse:e=>{let t=e;if(t?.type!==`cdp-response`)return null;if(typeof t.id!=`number`||!Number.isFinite(t.id))return console.warn(`[WorkerCdpProxy] dropping cdp-response with invalid id`,t),null;let n=e;return{id:n.id,result:n.result,error:n.error}},parseEvent:e=>{let t=e;if(t?.type!==`cdp-event`)return null;if(typeof t.method!=`string`)return console.warn(`[WorkerCdpProxy] dropping cdp-event with invalid method`,t),null;let n=e;return{method:n.method,params:n.params}},onSubscribeEvent:e=>{t.send({type:`cdp-subscribe`,event:e})},onUnsubscribeEvent:e=>{t.send({type:`cdp-unsubscribe`,event:e})}})}};function st(e,t){if(e==null)return[];let n;if(Array.isArray(e))n=e.join(`, `).replace(/\n/g,`, `);else if(typeof e==`string`)n=e.replace(/\n/g,`, `);else return[];if(n.length===0)return[];let r=[],i=n.length,a=0;for(;a<i&&(a=ct(n,a),!(a>=i));){if(n[a]!==`<`){a=lt(n,a);continue}let e=n.indexOf(`>`,a+1);if(e===-1)break;let o=n.slice(a+1,e);a=e+1;let s=[];for(;a<i&&(a=ct(n,a),!(a>=i));){if(n[a]===`,`){a++;break}if(n[a]!==`;`){a=lt(n,a);break}a++,a=ct(n,a);let e=a;for(;a<i&&oee(n.charCodeAt(a));)a++;if(a<i&&n[a]===`*`&&a++,e===a){a=lt(n,a);break}let t=n.slice(e,a).toLowerCase();a=ct(n,a);let r=``;if(a<i&&n[a]===`=`)if(a++,a=ct(n,a),a<i&&n[a]===`"`){let e=aee(n,a);r=e.value,a=e.end}else{let e=a;for(;a<i&&n[a]!==`;`&&n[a]!==`,`&&!iee(n[a]);)a++;r=n.slice(e,a)}s.push([t,r])}let c=see(o,s,t);c&&r.push(c)}return r}function ct(e,t){for(;t<e.length&&(e[t]===` `||e[t]===` `);)t++;return t}function iee(e){return e===` `||e===` `}function lt(e,t){let n=!1;for(;t<e.length;){let r=e[t];if(n){if(r===`\\`&&t+1<e.length){t+=2;continue}r===`"`&&(n=!1)}else if(r===`"`)n=!0;else if(r===`,`)return t+1;t++}return t}function aee(e,t){t++;let n=``;for(;t<e.length;){let r=e[t];if(r===`\\`)t++,t<e.length&&(n+=e[t],t++);else if(r===`"`)return{value:n,end:t+1};else n+=r,t++}return{value:n,end:t}}function oee(e){if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)return!0;switch(e){case 33:case 35:case 36:case 37:case 38:case 39:case 42:case 43:case 45:case 46:case 94:case 95:case 96:case 124:case 126:return!0}return!1}function see(e,t,n){let r={},i={};for(let[e,n]of t){if(e.endsWith(`*`)){let t=cee(n);t!=null&&(i[e.slice(0,-1)]=t);continue}e===`rel`&&`rel`in r||(r[e]=n)}for(let[e,t]of Object.entries(i))r[e]=t;let a=ut(e,n),o=r.anchor==null?void 0:ut(r.anchor,n),s={href:a,rel:(r.rel??``).split(/[ \t]+/).filter(e=>e.length>0),params:r};return o!=null&&(s.anchor=o),r.type!=null&&(s.type=r.type),r.title!=null&&(s.title=r.title),r.hreflang!=null&&(s.hreflang=r.hreflang),s}function ut(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function cee(e){let t=e.indexOf(`'`);if(t===-1)return null;let n=e.indexOf(`'`,t+1);if(n===-1||e.slice(0,t).toLowerCase()!==`utf-8`)return null;try{return decodeURIComponent(e.slice(n+1))}catch{return null}}function lee(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e))n.toLowerCase()===`link`&&typeof r==`string`&&r.length>0&&t.push(r);return t}function dt(e){let t=e.replace(/\/+$/,``),n=t.toLowerCase();return n.endsWith(`/skill.md`)?t.slice(0,-9):n===`skill.md`?``:t}const ft=/^[A-Za-z0-9._/-]+$/,pt=/^[A-Za-z0-9._/-]+$/;function mt(e){return!(e.length===0||e.length>250||!ft.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.endsWith(`/`)||e.includes(`..`)||e.endsWith(`.lock`))}function ht(e){return!(e.length===0||e.length>1024||!pt.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.includes(`..`))}function gt(e){for(let t of e){if(t.rel.includes(`https://www.sliccy.ai/rel/handoff`)){let e={verb:`handoff`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),e}if(t.rel.includes(`https://www.sliccy.ai/rel/upskill`)){let e={verb:`upskill`,target:t.href};t.title!=null&&t.title.length>0&&(e.instruction=t.title);let n=t.params.branch;typeof n==`string`&&mt(n)&&(e.branch=n);let r=t.params.path;if(typeof r==`string`&&r.length>0){let t=dt(r);t.length>0&&ht(t)&&(e.path=t)}return e}}return null}function uee(e){return[e.verb,e.target,e.branch??``,e.path??``,e.instruction??``].join(`\0`)}function dee(e,t){let n=lee(e);if(n.length===0)return{match:null,links:[]};let r=st(n,t);return{match:gt(r),links:r}}const _t=v(`navigation-watcher`);function vt(e,t){return dee(e,t)}var yt=class{transport;onEvent;sessions=new Map;started=!1;onAttachedToTarget=e=>{this.handleAttachedToTarget(e)};onDetachedFromTarget=e=>{let t=e.sessionId;t&&this.sessions.delete(t)};onTargetInfoChanged=e=>{let t=e.targetInfo;if(t?.targetId)for(let e of this.sessions.values())e.targetId===t.targetId&&(typeof t.title==`string`&&(e.title=t.title),typeof t.url==`string`&&(e.url=t.url))};onTargetCreated=e=>{this.handleTargetCreated(e)};onFrameNavigated=e=>{let t=e.sessionId;if(!t)return;let n=this.sessions.get(t);if(!n)return;let r=e.frame;r?.id&&(r.parentId||(n.rootFrameId=r.id,typeof r.url==`string`&&(n.url=r.url)))};onResponseReceived=e=>{let t=e.sessionId;if(!t)return;let n=this.sessions.get(t);if(!n||e.type!==`Document`)return;let r=e.frameId;if(!r||r!==n.rootFrameId)return;let i=e.response;if(!i)return;let a=typeof i.url==`string`&&i.url.length>0?i.url:n.url;if(!a)return;let{match:o,links:s}=vt(i.headers,a);if(!o)return;let c={url:a,verb:o.verb,target:o.target,links:s,targetId:n.targetId};o.instruction!=null&&(c.instruction=o.instruction),o.branch!=null&&(c.branch=o.branch),o.path!=null&&(c.path=o.path),n.title!=null&&(c.title=n.title),this.onEvent(c)};constructor(e,t){this.transport=e,this.onEvent=t}async start(){if(!this.started){this.transport.on(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.on(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.on(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.on(`Target.targetCreated`,this.onTargetCreated),this.transport.on(`Page.frameNavigated`,this.onFrameNavigated),this.transport.on(`Network.responseReceived`,this.onResponseReceived);try{await this.transport.send(`Target.setDiscoverTargets`,{discover:!0})}catch(e){_t.error(`Failed to enable target discovery`,{error:e instanceof Error?e.message:String(e)}),this.transport.off(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.off(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.off(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.off(`Target.targetCreated`,this.onTargetCreated),this.transport.off(`Page.frameNavigated`,this.onFrameNavigated),this.transport.off(`Network.responseReceived`,this.onResponseReceived);return}this.started=!0;try{let e=(await this.transport.send(`Target.getTargets`)).targetInfos??[];for(let t of e){if(t.type!==`page`)continue;let e=t.attached===!0,n=t.targetId;if(!(e||typeof n!=`string`))try{await this.transport.send(`Target.attachToTarget`,{targetId:n,flatten:!0})}catch(e){_t.debug(`Failed to attach to preexisting target`,{targetId:n,error:e instanceof Error?e.message:String(e)})}}}catch(e){_t.debug(`Failed to enumerate preexisting targets`,{error:e instanceof Error?e.message:String(e)})}}}async stop(){if(this.started){this.started=!1,this.transport.off(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.off(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.off(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.off(`Target.targetCreated`,this.onTargetCreated),this.transport.off(`Page.frameNavigated`,this.onFrameNavigated),this.transport.off(`Network.responseReceived`,this.onResponseReceived),this.sessions.clear();try{await this.transport.send(`Target.setDiscoverTargets`,{discover:!1})}catch(e){_t.debug(`Failed to disable target discovery on stop`,{error:e instanceof Error?e.message:String(e)})}}}async handleTargetCreated(e){let t=e.targetInfo;if(!(t?.type!==`page`||typeof t.targetId!=`string`)&&!t.attached)try{await this.transport.send(`Target.attachToTarget`,{targetId:t.targetId,flatten:!0})}catch(e){_t.debug(`Failed to attach to discovered target`,{targetId:t.targetId,error:e instanceof Error?e.message:String(e)})}}async handleAttachedToTarget(e){let t=e.sessionId,n=e.targetInfo;if(!(!t||!n||n.type!==`page`||typeof n.targetId!=`string`)){this.sessions.set(t,{targetId:n.targetId,rootFrameId:null,title:n.title,url:n.url});try{await this.transport.send(`Page.enable`,{},t),await this.transport.send(`Network.enable`,{},t);let e=(await this.transport.send(`Page.getFrameTree`,{},t)).frameTree?.frame;if(e?.id&&typeof e.id==`string`){let n=this.sessions.get(t);n&&(n.rootFrameId=e.id)}}catch(e){_t.debug(`Failed to enable Page/Network on attached target`,{sessionId:t,error:e instanceof Error?e.message:String(e)})}}}};function L(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e===``||e===`.`||(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function bt(e){let t=L(e);if(t===`/`)return{dir:`/`,base:``};let n=t.lastIndexOf(`/`);return{dir:n===0?`/`:t.slice(0,n),base:t.slice(n+1)}}function xt(e){let t=L(e);return t===`/`?[]:t.slice(1).split(`/`)}function St(...e){return L(e.join(`/`))}const Ct={assign:0,create:0,clone:0,discard:0,update:0};function wt(e,t){return Ct.assign+=1,{...e,...t}}function Tt(e,t,n){return e>=t&&e<=n}function Et(e){return Tt(e,127462,127487)}function Dt(e){return Tt(e,65024,65039)}function Ot(e){return Tt(e,768,879)||Tt(e,6832,6911)||Tt(e,7616,7679)||Tt(e,65056,65071)}function kt(e){return e>65535?2:1}function At(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Ot(n)||Dt(n))t+=kt(n);else break}return t}function jt(e,t){let n=e.codePointAt(t),r=t+kt(n);for(r=At(e,r);r<e.length-1&&e[r]===``;){let t=e.codePointAt(r+1);r+=1+kt(t),r=At(e,r)}return Et(n)&&r<e.length&&Et(e.codePointAt(r))&&(r+=kt(e.codePointAt(r))),r}function Mt(e){return Tt(e,55296,56319)||Tt(e,768,879)||e===8205}function fee(e){let t=0,n=0;for(;n<e.length;)n=jt(e,n),t++;return t}function pee(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=jt(e,r),n++,n>=t)return!0;return!1}function mee(e,t){let n=0,r=0;for(;r<e.length;)if(r=jt(e,r),n++,n>t)return!1;return!0}function hee(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(Mt(e.charCodeAt(n)))return pee(e,t);if(n++,n>=t)return!0}return!1}function gee(e,t){let n=0;for(;n<e.length;){if(Mt(e.charCodeAt(n)))return mee(e,t);if(n++,n>t)return!1}return!0}var _ee=c({Entries:()=>cn,EntriesRegExp:()=>sn,Every:()=>rn,EveryAll:()=>an,GraphemeCount:()=>vee,HasPropertyKey:()=>z,IsArray:()=>Nt,IsAsyncIterator:()=>Pt,IsBigInt:()=>Ft,IsBoolean:()=>It,IsClassInstance:()=>$t,IsConstructor:()=>Lt,IsDeepEqual:()=>dn,IsEqual:()=>R,IsFunction:()=>Rt,IsGreaterEqualThan:()=>Zt,IsGreaterThan:()=>Jt,IsInteger:()=>zt,IsIterator:()=>Bt,IsLessEqualThan:()=>Xt,IsLessThan:()=>Yt,IsMaxLength:()=>tn,IsMinLength:()=>nn,IsMultipleOf:()=>Qt,IsNull:()=>Vt,IsNumber:()=>Ht,IsObject:()=>Wt,IsObjectNotArray:()=>Ut,IsString:()=>Gt,IsSymbol:()=>Kt,IsUndefined:()=>qt,IsValueLike:()=>en,Keys:()=>ln,Symbols:()=>yee,TakeLeft:()=>on,Values:()=>un});function Nt(e){return Array.isArray(e)}function Pt(e){return Wt(e)&&Symbol.asyncIterator in e}function Ft(e){return R(typeof e,`bigint`)}function It(e){return R(typeof e,`boolean`)}function Lt(e){if(qt(e)||!Rt(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Rt(e){return R(typeof e,`function`)}function zt(e){return Number.isInteger(e)}function Bt(e){return Wt(e)&&Symbol.iterator in e}function Vt(e){return R(e,null)}function Ht(e){return Number.isFinite(e)}function Ut(e){return Wt(e)&&!Nt(e)}function Wt(e){return R(typeof e,`object`)&&!Vt(e)}function Gt(e){return R(typeof e,`string`)}function Kt(e){return R(typeof e,`symbol`)}function qt(e){return R(e,void 0)}function R(e,t){return e===t}function Jt(e,t){return e>t}function Yt(e,t){return e<t}function Xt(e,t){return e<=t}function Zt(e,t){return e>=t}function Qt(e,t){if(Ft(e)||Ft(t))return BigInt(e)%BigInt(t)===0n;if(!Ht(e)||zt(e)&&1/t%1==0)return!0;let n=e%t;return Math.min(Math.abs(n),Math.abs(n-t))<1e-10}function $t(e){if(!Wt(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return Vt(t)?!1:R(typeof t.constructor,`function`)&&!(R(t.constructor,globalThis.Object)||R(t.constructor.name,`Object`))}function en(e){return Ft(e)||It(e)||Vt(e)||Ht(e)||Gt(e)||qt(e)}function vee(e){return fee(e)}function tn(e,t){return gee(e,t)}function nn(e,t){return hee(e,t)}function rn(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function an(e,t,n){let r=!0;for(let i=t;i<e.length;i++)n(e[i],i)||(r=!1);return r}function on(e,t,n){return R(e.length,0)?n():t(e[0],e.slice(1))}function z(e,t){return R(t,`__proto__`)||R(t,`constructor`)?Object.prototype.hasOwnProperty.call(e,t):t in e}function sn(e){return ln(e).map(t=>[RegExp(`^${t}$`),e[t]])}function cn(e){return Object.entries(e)}function ln(e){return Object.getOwnPropertyNames(e)}function yee(e){return Object.getOwnPropertySymbols(e)}function un(e){return Object.values(e)}function bee(e,t){if(!Wt(t))return!1;let n=ln(e);return R(n.length,ln(t).length)&&n.every(n=>dn(e[n],t[n]))}function xee(e,t){return Nt(t)&&R(e.length,t.length)&&e.every((n,r)=>dn(e[r],t[r]))}function dn(e,t){return Nt(e)?xee(e,t):Wt(e)?bee(e,t):R(e,t)}const fn=/^[\p{ID_Start}_$][\p{ID_Continue}_$\u200C\u200D]*$/u;function pn(e){return fn.test(e)}function mn(e,t){return`(${e} && ${t})`}function hn(e,t){return`(${e} || ${t})`}function gn(e){return`!(${e})`}function _n(e){return`Array.isArray(${e})`}function vn(e){return`Guard.IsAsyncIterator(${e})`}function yn(e){return`typeof ${e} === "bigint"`}function bn(e){return`typeof ${e} === "boolean"`}function xn(e){return`Number.isInteger(${e})`}function Sn(e){return`Guard.IsIterator(${e})`}function Cn(e){return`${e} === null`}function wn(e){return`Number.isFinite(${e})`}function Tn(e){return mn(En(e),gn(_n(e)))}function En(e){return`typeof ${e} === "object" && ${e} !== null`}function Dn(e){return`typeof ${e} === "string"`}function On(e){return`typeof ${e} === "symbol"`}function kn(e){return`${e} === undefined`}function See(e){return`typeof ${e} === "function"`}function Cee(e){return`Guard.IsConstructor(${e})`}function An(e,t){return`${e} === ${t}`}function jn(e,t){return`${e} > ${t}`}function Mn(e,t){return`${e} < ${t}`}function Nn(e,t){return`${e} <= ${t}`}function Pn(e,t){return`${e} >= ${t}`}function wee(e,t){return`Guard.IsMinLength(${e}, ${t})`}function Tee(e,t){return`Guard.IsMaxLength(${e}, ${t})`}function Fn(e,t,n,r){return R(t,`0`)?`${e}.every((${n[0]}, ${n[1]}) => ${r})`:`((value, callback) => { for(let index = ${t}; index < value.length; index++) if (!callback(value[index], index)) return false; return true })(${e}, (${n[0]}, ${n[1]}) => ${r})`}function In(e){return`Object.entries(${e})`}function Ln(e){return`Object.getOwnPropertyNames(${e})`}function Rn(e,t){return R(t,`"__proto__"`)||R(t,`"constructor"`)?`Object.prototype.hasOwnProperty.call(${e}, ${t})`:`${t} in ${e}`}function zn(e,t){return`Guard.IsDeepEqual(${e}, ${t})`}function Eee(e){return`[${e.join(`, `)}]`}function Bn(e,t){return`((${e.join(`, `)}) => ${t})`}function Vn(e,t){return`${e}(${t.join(`, `)})`}function Hn(e,t){return`new ${e}(${t.join(`, `)})`}function Un(e,t){return`${e}${pn(t)?`.${t}`:`[${Wn(t)}]`}`}function Wn(e){return Gt(e)?JSON.stringify(e):`${e}`}function Gn(e,t,n){return`(${e} ? ${t} : ${n})`}function Kn(e){return`{ ${e.join(`; `)}; }`}function qn(e,t){return`const ${e} = ${t}`}function Jn(e,t){return`if(${e}) { ${t} }`}function Yn(e){return`return ${e}`}function Xn(e){return R(e.length,0)?`true`:e.reduce((e,t)=>mn(e,t))}function Zn(e){return R(e.length,0)?`false`:e.reduce((e,t)=>hn(e,t))}function Qn(e){return`++${e}`}function Dee(e,t){return`Guard.IsMultipleOf(${e}, ${t})`}function Oee(e){return e instanceof Boolean}function kee(e){return e instanceof Number}function Aee(e){return e instanceof String}function $n(e){return globalThis.ArrayBuffer.isView(e)}function jee(e){return e instanceof globalThis.RegExp}function Mee(e){return e instanceof globalThis.Date}function Nee(e){return e instanceof globalThis.Set}function Pee(e){return e instanceof globalThis.Map}function Fee(e){return Wt(e)&&z(e,`~guard`)}function er(e){return e}function tr(e){return e.map(e=>ar(e))}function nr(e){let t={},n=Object.getOwnPropertyDescriptors(e);for(let e of Object.keys(n)){let r=n[e];z(r,`value`)&&Object.defineProperty(t,e,{...r,value:ar(r.value)})}return t}function rr(e){return new RegExp(e.source,e.flags)}function ir(e){return e}function ar(e){return e instanceof RegExp?rr(e):Fee(e)?er(e):Nt(e)?tr(e):Wt(e)?nr(e):ir(e)}function or(e){return Ct.clone+=1,ar(e)}const Iee={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1};function sr(){return Iee}function Lee(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function cr(e,t){return{...e,...t}}function lr(e,t,n={}){Ct.create+=1;let r=sr(),i=cr(t,n),a=r.enumerableKind?cr(i,e):Lee(i,e);return r.immutableTypes?Object.freeze(a):a}function ur(e,t){Ct.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(or(e)),i=new Set(t);for(let e of Object.keys(r))i.has(e)||Object.defineProperty(n,e,r[e]);return n}function dr(e,t,n){Ct.update+=1;let r=sr(),i=or(e);for(let e of Object.keys(t))Object.defineProperty(i,e,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[e]});for(let e of Object.keys(n))Object.defineProperty(i,e,{configurable:!0,enumerable:!0,writable:!0,value:n[e]});return i}function fr(e,t){return Wt(e)&&z(e,`~kind`)&&R(e[`~kind`],t)}function pr(e){return Wt(e)}function mr(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`OptionalAddAction`)&&pr(e.type)}function hr(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`OptionalRemoveAction`)&&pr(e.type)}function gr(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`ReadonlyAddAction`)&&pr(e.type)}function _r(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`ReadonlyRemoveAction`)&&pr(e.type)}function vr(e,t,n){return lr({"~kind":`Deferred`},{action:e,parameters:t,options:n},{})}function yr(e){return fr(e,`Deferred`)}function br(e,t){return lr({"~kind":`Promise`},{type:`promise`,item:e},t)}function xr(e){return fr(e,`Promise`)}function Ree(e){return ur(e,[`~kind`,`type`,`item`])}function zee(e){return dr(e,{"~immutable":!0},{})}function Sr(e){return zee(e)}function Cr(e){return pr(e)&&z(e,`~immutable`)}function wr(e){return ur(e,[`~optional`])}function Tr(e){return dr(e,{"~optional":!0},{})}function Bee(e){return Tr(e)}function Er(e){return pr(e)&&z(e,`~optional`)}function Dr(e){return ur(e,[`~readonly`])}function Or(e){return dr(e,{"~readonly":!0},{})}function kr(e){return Or(e)}function Ar(e){return pr(e)&&z(e,`~readonly`)}function jr(e){return{enumerable:sr().enumerableKind,writable:!1,configurable:!1,value:e}}var Mr=class{constructor(){globalThis.Object.defineProperty(this,`~kind`,jr(`Base`)),globalThis.Object.defineProperty(this,`~guard`,jr({check:e=>this.Check(e),errors:e=>this.Errors(e)}))}Check(e){return!0}Errors(e){return[]}Convert(e){return e}Clean(e){return e}Default(e){return e}Create(){throw Error(`Create not implemented`)}Clone(){throw Error(`Clone not implemented`)}};function Nr(e){return fr(e,`Base`)}function Pr(e,t){return lr({"~kind":`Array`},{type:`array`,items:e},t)}function Fr(e){return fr(e,`Array`)}function Ir(e){return ur(e,[`~kind`,`type`,`items`])}function Lr(e,t){return lr({"~kind":`AsyncIterator`},{type:`asyncIterator`,iteratorItems:e},t)}function Rr(e){return fr(e,`AsyncIterator`)}function zr(e){return ur(e,[`~kind`,`type`,`iteratorItems`])}function Br(e,t,n={}){return lr({"~kind":`Constructor`},{type:`constructor`,parameters:e,instanceType:t},n)}function Vr(e){return fr(e,`Constructor`)}function Vee(e){return ur(e,[`~kind`,`type`,`parameters`,`instanceType`])}function Hr(e,t,n={}){return lr({"~kind":`Function`},{type:`function`,parameters:e,returnType:t},n)}function Ur(e){return fr(e,`Function`)}function Hee(e){return ur(e,[`~kind`,`type`,`parameters`,`returnType`])}function Wr(e,t){return lr({"~kind":`Ref`},{$ref:e},t)}function Gr(e){return fr(e,`Ref`)}function Kr(e,t){return lr({"~kind":`Generic`},{type:`generic`,parameters:e,expression:t})}function qr(e){return fr(e,`Generic`)}function Jr(e){return lr({"~kind":`Any`},{},e)}function Yr(e){return fr(e,`Any`)}function Xr(e){return lr({"~kind":`Never`},{not:{}},e)}function Zr(e){return fr(e,`Never`)}function Qr(e){return ln(e).filter(t=>!Er(e[t]))}function $r(e){return ln(e)}function ei(e){return un(e)}function ti(e,t={}){let n=Qr(e);return lr({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}function ni(e){return fr(e,`Object`)}function ri(e){return ur(e,[`~kind`,`type`,`properties`,`required`])}function ii(e,t={}){return lr({"~kind":`Union`},{anyOf:e},t)}function ai(e){return fr(e,`Union`)}function oi(e){return ur(e,[`~kind`,`anyOf`])}function si(e){return lr({"~kind":`Unknown`},{},e)}function ci(e){return fr(e,`Unknown`)}function li(e,t,n){return lr({"~kind":`Cyclic`},{$defs:ln(e).reduce((t,n)=>({...t,[n]:dr(e[n],{},{$id:n})}),{}),$ref:t},n)}function ui(e){return fr(e,`Cyclic`)}function di(e){return Ut(e)&&z(e,`~unsafe`)&&Vt(e[`~unsafe`])}function fi(e,t){return t[e.length]?.(...e)??(()=>{throw Error(`Invalid Arguments`)})()}function pi(e){return fr(e,`Infer`)}function mi(e){return fr(e,`Enum`)}function hi(e,t={}){return lr({"~kind":`Intersect`},{allOf:e},t)}function gi(e){return fr(e,`Intersect`)}function _i(e){return ur(e,[`~kind`,`allOf`])}let vi;function yi(){try{return xi(`null`)(),!0}catch{return!1}}function bi(){return qt(vi)&&(vi=yi()),vi&&sr().useAcceleration}function xi(...e){return new globalThis.Function(...e)}function Si(){throw Error(`Unreachable`)}var Uee=c({Hash:()=>Pi,HashCode:()=>Ni});function Wee(e){let t=new Set,n=e;for(;n&&n!==Object.prototype;){for(let e of Reflect.ownKeys(n))e!==`constructor`&&typeof e!=`symbol`&&t.add(e);n=Object.getPrototypeOf(n)}return[...t]}function Gee(e){return typeof e==`number`}var Ci;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(Ci||={});let wi=BigInt(`14695981039346656037`);const[Kee,qee]=[BigInt(`1099511628211`),BigInt(`18446744073709551616`)],Jee=Array.from({length:256}).map((e,t)=>BigInt(t)),Ti=new Float64Array(1),Ei=new DataView(Ti.buffer),Di=new Uint8Array(Ti.buffer);function Oi(e){wi^=Jee[e],wi=wi*Kee%qee}function Yee(e){Oi(Ci.Array);for(let t of e)Mi(t)}function Xee(e){Oi(Ci.BigInt),Ei.setBigInt64(0,e);for(let e of Di)Oi(e)}function ki(e){Oi(Ci.Boolean),Oi(+!!e)}function Zee(e){Oi(Ci.Constructor),Mi(e.toString())}function Qee(e){Oi(Ci.Date),Mi(e.getTime())}function $ee(e){Oi(Ci.Function),Mi(e.toString())}function ete(e){Oi(Ci.Null)}function Ai(e){Oi(Ci.Number),Ei.setFloat64(0,e,!0);for(let e of Di)Oi(e)}function tte(e){Oi(Ci.Object);for(let t of Wee(e).sort())Mi(t),Mi(e[t])}function nte(e){Oi(Ci.RegExp),ji(e.toString())}const rte=new TextEncoder;function ji(e){Oi(Ci.String);for(let t of rte.encode(e))Oi(t)}function ite(e){Oi(Ci.Symbol),Mi(e.toString())}function ate(e){Oi(Ci.TypeArray);let t=new Uint8Array(e.buffer);for(let e=0;e<t.length;e++)Oi(t[e])}function ote(e){return Oi(Ci.Undefined)}function Mi(e){return $n(e)?ate(e):Mee(e)?Qee(e):jee(e)?nte(e):Oee(e)?ki(e.valueOf()):Aee(e)?ji(e.valueOf()):kee(e)?Ai(e.valueOf()):Gee(e)?Ai(e):Nt(e)?Yee(e):It(e)?ki(e):Ft(e)?Xee(e):Lt(e)?Zee(e):Vt(e)?ete(e):Wt(e)?tte(e):Gt(e)?ji(e):Kt(e)?ite(e):qt(e)?ote(e):Rt(e)?$ee(e):Si()}function Ni(e){return wi=BigInt(`14695981039346656037`),Mi(e),wi}function Pi(e){return Ni(e).toString(16).padStart(16,`0`)}function ste(e){switch(e.keyword){case`additionalProperties`:return`must not have additional properties`;case`anyOf`:return`must match a schema in anyOf`;case`boolean`:return`schema is false`;case`const`:return`must be equal to constant`;case`contains`:return`must contain at least 1 valid item`;case`dependencies`:return`must have properties ${e.params.dependencies.join(`, `)} when property ${e.params.property} is present`;case`dependentRequired`:return`must have properties ${e.params.dependencies.join(`, `)} when property ${e.params.property} is present`;case`enum`:return`must be equal to one of the allowed values`;case`exclusiveMaximum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`exclusiveMinimum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`format`:return`must match format "${e.params.format}"`;case`if`:return`must match "${e.params.failingKeyword}" schema`;case`maxItems`:return`must not have more than ${e.params.limit} items`;case`maxLength`:return`must not have more than ${e.params.limit} characters`;case`maxProperties`:return`must not have more than ${e.params.limit} properties`;case`maximum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`minItems`:return`must not have fewer than ${e.params.limit} items`;case`minLength`:return`must not have fewer than ${e.params.limit} characters`;case`minProperties`:return`must not have fewer than ${e.params.limit} properties`;case`minimum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`multipleOf`:return`must be multiple of ${e.params.multipleOf}`;case`not`:return`must not be valid`;case`oneOf`:return`must match exactly one schema in oneOf`;case`pattern`:return`must match pattern "${e.params.pattern}"`;case`propertyNames`:return`property names ${e.params.propertyNames.join(`, `)} are invalid`;case`required`:return`must have required properties ${e.params.requiredProperties.join(`, `)}`;case`type`:return typeof e.params.type==`string`?`must be ${e.params.type}`:`must be either ${e.params.type.join(` or `)}`;case`unevaluatedItems`:return`must not have unevaluated items`;case`unevaluatedProperties`:return`must not have unevaluated properties`;case`uniqueItems`:return`must not have duplicate items`;case`~guard`:return`must match check function`;case`~refine`:return e.params.message;default:return`an unknown validation error occurred`}}let cte=ste;function lte(){return cte}function Fi(e){return pr(e)&&z(e,`~codec`)&&Wt(e[`~codec`])&&z(e[`~codec`],`encode`)&&z(e[`~codec`],`decode`)}function ute(e){return lr({"~kind":`BigInt`},{type:`bigint`},e)}function Ii(e){return fr(e,`BigInt`)}function Li(e){return fr(e,`Boolean`)}const Ri=`-?(?:0|[1-9][0-9]*)`;function zi(e){return lr({"~kind":`Integer`},{type:`integer`},e)}function Bi(e){return fr(e,`Integer`)}function Vi(e,t){return lr({"~kind":`Iterator`},{type:`iterator`,iteratorItems:e},t)}function Hi(e){return fr(e,`Iterator`)}function dte(e){return ur(e,[`~kind`,`type`,`iteratorItems`])}var fte=class extends Error{constructor(e){super(`Invalid Literal value`),Object.defineProperty(this,"cause",{value:{value:e},writable:!1,configurable:!1,enumerable:!1})}};function pte(e){return Ft(e)?`bigint`:It(e)?`boolean`:Ht(e)?`number`:Gt(e)?`string`:(()=>{throw new fte(e)})()}function Ui(e,t){return lr({"~kind":`Literal`},{type:pte(e),const:e},t)}function mte(e){return Ft(e)||It(e)||Ht(e)||Gt(e)}function hte(e){return Ki(e)&&Ft(e.const)}function gte(e){return Ki(e)&&It(e.const)}function Wi(e){return Ki(e)&&Ht(e.const)}function Gi(e){return Ki(e)&&Gt(e.const)}function Ki(e){return fr(e,`Literal`)}function qi(e){return lr({"~kind":`Null`},{type:`null`},e)}function Ji(e){return fr(e,`Null`)}const Yi=`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`;function Xi(e){return lr({"~kind":`Number`},{type:`number`},e)}function Zi(e){return fr(e,`Number`)}function _te(e){return lr({"~kind":`Symbol`},{type:`symbol`},e)}function Qi(e){return fr(e,`Symbol`)}function $i(e){return lr({"~kind":`String`},{type:`string`},e)}function ea(e){return fr(e,`String`)}function ta(e){let t=Do(e);return R(t.length,2)?t[0]:[]}function vte(e){return!0}function na(e){return on(e,(e,t)=>yte(e)?na(t):!1,()=>!0)}function ra(e){return R(e.length,0)?!1:na(e)}function yte(e){return ai(e)?ra(e.anyOf):Ki(e)?vte(e.const):!1}function ia(e){return ra(e)}function aa(e){return lr({"~kind":`TemplateLiteral`},{type:`string`,pattern:e},{})}function oa(e,t,n=[]){return on(e,(e,r)=>oa(r,t,[...n,`${e}${t}`]),()=>n)}function bte(e,t){return R(e.length,0)?[`${t}`]:oa(e,t)}function sa(e,t,n=[]){return on(t,(t,r)=>sa(e,r,[...n,...ca(e,t)]),()=>n)}function ca(e,t){return ai(t)?sa(e,t.anyOf):Ki(t)?bte(e,t.const):Si()}function la(e,t){return on(t,(t,n)=>la(ca(e,t),n),()=>e)}function xte(e){return e.map(e=>Ui(e))}function Ste(e){return ii(xte(la([],e)))}function Cte(e){return R(e.length,0)?Si():R(e.length,1)&&Ki(e[0])?e[0]:Ste(e)}function ua(e){let t=ta(e);return R(t.length,0)?$i():ia(t)?Cte(t):aa(e)}function da(e){let t=ua(e);return Jo(t)?$i():t}function fa(e,t){return lr({"~kind":`Record`},{type:`object`,patternProperties:{[e]:t}})}function wte(e){return fa(Ia,e)}function Tte(e){return ti({true:e,false:e})}function Ete(e){return Gt(e)||Ht(e)?Ui(e):Vt(e)?qi():Xr()}function pa(e){return e.map(e=>Ete(e))}function ma(e){return ii(pa(e))}function ha(e){return ma(e.enum)}function Dte(e,t){return Ma(ma(e),t)}function Ote(e,t){return fa(Pa,t)}function ga(e,t={}){let[n,r,i]=[e,e.length,!1];return lr({"~kind":`Tuple`},{type:`array`,additionalItems:i,items:n,minItems:r},t)}function _a(e){return fr(e,`Tuple`)}function kte(e){return ur(e,[`~kind`,`type`,`items`,`minItems`,`additionalItems`])}function va(e){return e.reduceRight((e,t,n)=>({[n]:t,...e}),{})}function Ate(e){return ti(va(e.items))}function jte(e,t){return Ar(e)?!!Ar(t):!1}function Mte(e,t){return Er(e)?!!Er(t):!1}function Nte(e,t){let n=jte(e,t),r=Mte(e,t),i=Dr(wr(wa([e,t])));return n&&r?Or(Tr(i)):n&&!r?Or(i):!n&&r?Tr(i):i}function Pte(e,t,n){return n in e?n in t?Nte(e[n],t[n]):e[n]:n in t?t[n]:Xr()}function Fte(e,t){return[...new Set([...ln(t),...ln(e)])].reduce((n,r)=>({...n,[r]:Pte(e,t,r)}),{})}function ya(e){return ni(e)?e.properties:_a(e)?va(e.items):Si()}function Ite(e,t){return ti(Fte(ya(e),ya(t)))}function Lte(e,t){let n=Ks(e,t);return R(n,`left-inside`)?e:R(n,`right-inside`)||R(n,`equal`)?t:Xr()}function ba(e){return ni(e)||_a(e)}function Rte(e,t){let n=ai(e),r=ai(t);return n||r}function zte(e,t){let n=Ea(e),r=Ea(t),i=Rte(n,r),a=ba(n),o=ba(r);return i?wa([n,r]):a&&o?Ite(n,r):a&&!o?n:!a&&o?r:Lte(n,r)}function xa(e,t,n=[]){return on(t,(t,r)=>xa(e,r,[...n,zte(e,t)]),()=>R(n.length,0)?[e]:n)}function Sa(e,t,n=[]){return on(e,(e,r)=>Sa(r,t,[...n,...Ca([e],t)]),()=>n)}function Ca(e,t=[]){return on(e,(e,n)=>ai(e)?Ca(n,Sa(e.anyOf,t)):Ca(n,xa(e,t)),()=>t)}function wa(e){return Zs(Ca(e))}function Ta(e){return Zs(e)}function Ea(e){return gi(e)?wa(e.allOf):ai(e)?Ta(e.anyOf):e}function Da(e){return R(e.length,1)?e[0]:R(e.length,0)?Xr():ii(e)}function Oa(e,t){return Ma(wa(e),t)}function ka(e,t){return Gt(e)||Ht(e)?ti({[e]:t}):R(e,!1)?ti({false:t}):R(e,!0)?ti({true:t}):ti({})}function Aa(e,t){return fa(Fa,t)}function Bte(e,t){return z(e,`pattern`)&&(Gt(e.pattern)||e.pattern instanceof RegExp)?fa(e.pattern.toString(),t):fa(Ia,t)}function Vte(e,t){return ia(ta(e))?Ma(da(e),t):fa(e,t)}function Hte(e){return ai(e)?ja(e.anyOf):[e]}function ja(e){return e.reduce((e,t)=>[...e,...Hte(t)],[])}function Ute(e){return e.some(e=>ea(e)||Zi(e)||Bi(e))}function Wte(e,t){return R(Ute(e),!0)?fa(Ia,t):void 0}function Gte(e,t){return e.reduce((e,n)=>Ki(n)&&(Gt(n.const)||Ht(n.const))?{...e,[n.const]:t}:e,{})}function Kte(e,t){return ti(Gte(e,t))}function qte(e,t){let n=ja(e),r=Wte(n,t);return pr(r)?r:Kte(n,t)}function Ma(e,t){return Yr(e)?wte(t):Li(e)?Tte(t):mi(e)?Dte(e.enum,t):Bi(e)?Ote(e,t):gi(e)?Oa(e.allOf,t):Ki(e)?ka(e.const,t):Zi(e)?Aa(e,t):ai(e)?qte(e.anyOf,t):ea(e)?Bte(e,t):Jo(e)?Vte(e.pattern,t):ti({})}function Na(e,t,n){return eu([e])?dr(Ma(e,t),{},n):Yte(e,t,n)}function Jte(e,t,n,r,i){return Na(cu(e,t,n),cu(e,t,r),i)}const Pa=`^${Ri}$`,Fa=`^${Yi}$`,Ia=`^.*$`;function Yte(e,t,n={}){return vr(`Record`,[e,t],n)}function Xte(e,t,n={}){return Na(e,t,n)}function La(e,t){return fa(e,t)}function Ra(e){return ln(e.patternProperties)[0]}function za(e){let t=Ra(e);return R(t,Ia)?$i():R(t,Pa)?zi():R(t,Fa)?Xi():ua(t)}function Ba(e){return e.patternProperties[Ra(e)]}function Va(e){return fr(e,`Record`)}function Ha(e){return lr({"~kind":`Rest`},{type:`rest`,items:e},{})}function Ua(e){return fr(e,`Rest`)}function Wa(e){return fr(e,`This`)}function Ga(e){return lr({"~kind":`Undefined`},{type:`undefined`},e)}function Ka(e){return fr(e,`Undefined`)}function qa(e){return fr(e,`Void`)}function Ja(e){return ute()}function Ya(e){return $i()}function Xa(e){return Xi()}function Za(e){return zi()}function Qa(e){return Xr()}function $a(e){return Ui(e)}function eo(e){return e}function Zte(e){return ii(e[1])}function Qte(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function $te(e){return[e[0],...e[1]]}function ene(e){return e}function tne(e){return e[1]}function to(e){return R(e.length,2)}function no(e,t,n){return to(e)?t(e[0],e[1]):n()}function nne(e,t){return R(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function rne(e,t){for(let n=0;n<e.length;n++){let r=nne(e[n],t);if(to(r))return r}return[]}function ro(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}const ine=[...ro(97,122),...ro(65,90)],io=[`0`,...ro(49,57)];function ao(e){let t=e.indexOf(`*/`);return R(t,-1)?``:e.slice(t+2)}function oo(e){let t=e.indexOf(`
|
|
879
|
+
}`,returnByValue:!0},this.sessionId)).result?.value;if(!n||n.width===0||n.height===0)throw Error(`Element with backend node ${e} has no dimensions`);return{x:n.x+n.width/2,y:n.y+n.height/2}}async ensureLocalConnected(){this.localClient.state===`disconnected`&&await this.localClient.connect({url:Ge()})}async ensureConnected(){this.client.state===`disconnected`&&(this.remoteTargetInfo&&this.trayTargetProvider?.removeRemoteTransport&&(this.trayTargetProvider.removeRemoteTransport(this.remoteTargetInfo.runtimeId,this.remoteTargetInfo.localTargetId),this.setClient(this.localClient),this.remoteTargetInfo=null),this.sessionId=null,this.attachedTargetId=null,this.client.state===`disconnected`&&await this.connect())}ensureAttached(){if(!this.sessionId)throw Error(`Not attached to a page. Call attachToPage(targetId) first.`)}addDialogListener(e){e.on(`Page.javascriptDialogOpening`,this.handleJavaScriptDialogOpening)}removeDialogListener(e){e.off(`Page.javascriptDialogOpening`,this.handleJavaScriptDialogOpening)}setClient(e){this.client!==e&&(this.removeDialogListener(this.client),this.client=e,this.addDialogListener(this.client))}async boundingBox(e){await this.client.send(`DOM.enable`,{},this.sessionId);let t=(await this.client.send(`DOM.getDocument`,{depth:0},this.sessionId)).root.nodeId,n;try{n=(await this.client.send(`DOM.querySelector`,{nodeId:t,selector:e},this.sessionId)).nodeId}catch{return null}if(!n)return null;let r=(await this.client.send(`DOM.getBoxModel`,{nodeId:n},this.sessionId)).model;if(!r)return null;let i=r.content;return{x:i[0],y:i[1],width:r.width,height:r.height}}};function qe(e){let t={role:Ue(e.role,`unknown`),name:Ue(e.name)},n=Ue(e.value);n!==``&&(t.value=n);let r=Ue(e.description);return r!==``&&(t.description=r),Array.isArray(e.children)&&e.children.length>0&&(t.children=e.children.map(e=>qe(e)).filter(e=>e.role!==`unknown`)),t}var Je={include:[`*`],exclude:[`amazon-bedrock`]},Ye=c({getRegisteredProviderConfig:()=>tt,getRegisteredProviderIds:()=>nt,registerProviderConfig:()=>rt,registerProviders:()=>et,shouldIncludeProvider:()=>Ze,unregisterProviderConfig:()=>it});const Xe=Object.assign({"/packages/dev-tools/providers.build.json":Je})[`/packages/dev-tools/providers.build.json`]??{include:[`*`],exclude:[]};function Ze(e){let{include:t,exclude:n}=Xe;return n.includes(`*`)||n.includes(e)?!1:!!(t.includes(`*`)||t.includes(e))}const eee=Object.assign({"./built-in/azure-ai-foundry.ts":()=>import(`./azure-ai-foundry-CzkPLAhp.js`),"./built-in/azure-openai.ts":()=>import(`./azure-openai-qb_N2oZh.js`),"./built-in/bedrock-camp.ts":()=>Promise.resolve().then(()=>Ffe),"./built-in/local-llm.ts":()=>Promise.resolve().then(()=>L5)}),tee=Object.assign({"/packages/webapp/providers/adobe.ts":()=>import(`./adobe-Lc8rM8GZ.js`),"/packages/webapp/providers/github-copilot.ts":()=>import(`./github-copilot-Ccx_Rtmm.js`),"/packages/webapp/providers/github.ts":()=>import(`./github-VqIPXq5t.js`),"/packages/webapp/providers/openai-codex.ts":()=>import(`./openai-codex-_oDJQjMe.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-BOQVSORw.js`)}),Qe=new Map;let $e=null;function et(){return $e||($e=(async()=>{for(let[e,t]of Object.entries(eee)){let e=await t();e.config&&Ze(e.config.id)&&(Qe.set(e.config.id,e.config),e.register?.())}for(let[e,t]of Object.entries(tee)){let e=await t();e.config&&(Qe.set(e.config.id,e.config),e.register?.())}})(),$e)}function tt(e){return Qe.get(e)}function nt(){return[...Qe.keys()]}function rt(e){Qe.set(e.id,e)}function it(e){return Qe.delete(e)}var nee=class{_state=`disconnected`;nextCommandId=1;listeners=new Map;pendingCommands=new Map;unsubscribe=null;opts;label;constructor(e){this.opts=e,this.label=e.label??`CDP transport`}get state(){return this._state}async connect(e){if(this._state!==`disconnected`)throw Error(`Cannot connect: state is ${this._state}`);this.unsubscribe=this.opts.subscribeIncoming(e=>this.handleIncoming(e)),this._state=`connected`}disconnect(){this.unsubscribe?.(),this.unsubscribe=null;for(let[,e]of this.pendingCommands)clearTimeout(e.timer),e.reject(Error(`${this.label} disconnected`));this.pendingCommands.clear(),this.listeners.clear(),this._state=`disconnected`}async send(e,t,n,r=3e4){if(this._state!==`connected`)throw Error(`${this.label} is not connected`);let i=this.nextCommandId++,a=this.opts.buildCommandEnvelope(i,e,t,n);return new Promise((t,n)=>{let o=!1,s=setTimeout(()=>{o||(o=!0,this.pendingCommands.delete(i),n(Error(`CDP command timed out after ${r}ms: ${e}`)))},r);this.pendingCommands.set(i,{resolve:e=>{o||(o=!0,t(e))},reject:e=>{o||(o=!0,n(e))},timer:s}),this.opts.sendEnvelope(a).catch(e=>{o||(o=!0,this.pendingCommands.delete(i),clearTimeout(s),n(Error(`Failed to send CDP command: ${e instanceof Error?e.message:String(e)}`)))})})}on(e,t){let n=this.listeners.get(e),r=!n;n||(n=new Set,this.listeners.set(e,n)),n.add(t),r&&this.opts.onSubscribeEvent?.(e)}off(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size===0&&(this.listeners.delete(e),this.opts.onUnsubscribeEvent?.(e)))}once(e,t=3e4){return new Promise((n,r)=>{let i=setTimeout(()=>{this.off(e,a),r(Error(`Timed out waiting for event: ${e}`))},t),a=t=>{clearTimeout(i),this.off(e,a),n(t)};this.on(e,a)})}handleIncoming(e){let t=this.opts.parseResponse(e);if(t){this.handleResponse(t);return}let n=this.opts.parseEvent(e);n&&this.handleEvent(n)}handleResponse(e){let t=this.pendingCommands.get(e.id);if(!t){this.opts.onUnknownResponseId?.(e.id);return}this.pendingCommands.delete(e.id),clearTimeout(t.timer),e.error?t.reject(Error(e.error)):t.resolve(e.result??{})}handleEvent(e){let t=this.listeners.get(e.method);if(t)for(let n of t)try{n(e.params??{})}catch(t){this.opts.onListenerError?.(e.method,t)}}};function at(e){let t=!1,n=()=>{t||(t=!0,typeof e.start==`function`&&e.start())};return{onMessage:t=>{let r=e=>{t(e.data)};return e.addEventListener(`message`,r),n(),()=>{e.removeEventListener(`message`,r)}},send:t=>{e.postMessage(t)}}}function ot(e){let t=at(e);return{onMessage:e=>t.onMessage(e),send:e=>{t.send({source:`offscreen`,payload:e})}}}var ree=class extends nee{constructor(e){let t=at(e);super({label:`WorkerCdpProxy`,buildCommandEnvelope:(e,t,n,r)=>({type:`cdp-cmd`,id:e,method:t,params:n,sessionId:r}),sendEnvelope:e=>(t.send(e),Promise.resolve()),subscribeIncoming:e=>t.onMessage(e),parseResponse:e=>{let t=e;if(t?.type!==`cdp-response`)return null;if(typeof t.id!=`number`||!Number.isFinite(t.id))return console.warn(`[WorkerCdpProxy] dropping cdp-response with invalid id`,t),null;let n=e;return{id:n.id,result:n.result,error:n.error}},parseEvent:e=>{let t=e;if(t?.type!==`cdp-event`)return null;if(typeof t.method!=`string`)return console.warn(`[WorkerCdpProxy] dropping cdp-event with invalid method`,t),null;let n=e;return{method:n.method,params:n.params}},onSubscribeEvent:e=>{t.send({type:`cdp-subscribe`,event:e})},onUnsubscribeEvent:e=>{t.send({type:`cdp-unsubscribe`,event:e})}})}};function st(e,t){if(e==null)return[];let n;if(Array.isArray(e))n=e.join(`, `).replace(/\n/g,`, `);else if(typeof e==`string`)n=e.replace(/\n/g,`, `);else return[];if(n.length===0)return[];let r=[],i=n.length,a=0;for(;a<i&&(a=ct(n,a),!(a>=i));){if(n[a]!==`<`){a=lt(n,a);continue}let e=n.indexOf(`>`,a+1);if(e===-1)break;let o=n.slice(a+1,e);a=e+1;let s=[];for(;a<i&&(a=ct(n,a),!(a>=i));){if(n[a]===`,`){a++;break}if(n[a]!==`;`){a=lt(n,a);break}a++,a=ct(n,a);let e=a;for(;a<i&&oee(n.charCodeAt(a));)a++;if(a<i&&n[a]===`*`&&a++,e===a){a=lt(n,a);break}let t=n.slice(e,a).toLowerCase();a=ct(n,a);let r=``;if(a<i&&n[a]===`=`)if(a++,a=ct(n,a),a<i&&n[a]===`"`){let e=aee(n,a);r=e.value,a=e.end}else{let e=a;for(;a<i&&n[a]!==`;`&&n[a]!==`,`&&!iee(n[a]);)a++;r=n.slice(e,a)}s.push([t,r])}let c=see(o,s,t);c&&r.push(c)}return r}function ct(e,t){for(;t<e.length&&(e[t]===` `||e[t]===` `);)t++;return t}function iee(e){return e===` `||e===` `}function lt(e,t){let n=!1;for(;t<e.length;){let r=e[t];if(n){if(r===`\\`&&t+1<e.length){t+=2;continue}r===`"`&&(n=!1)}else if(r===`"`)n=!0;else if(r===`,`)return t+1;t++}return t}function aee(e,t){t++;let n=``;for(;t<e.length;){let r=e[t];if(r===`\\`)t++,t<e.length&&(n+=e[t],t++);else if(r===`"`)return{value:n,end:t+1};else n+=r,t++}return{value:n,end:t}}function oee(e){if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)return!0;switch(e){case 33:case 35:case 36:case 37:case 38:case 39:case 42:case 43:case 45:case 46:case 94:case 95:case 96:case 124:case 126:return!0}return!1}function see(e,t,n){let r={},i={};for(let[e,n]of t){if(e.endsWith(`*`)){let t=cee(n);t!=null&&(i[e.slice(0,-1)]=t);continue}e===`rel`&&`rel`in r||(r[e]=n)}for(let[e,t]of Object.entries(i))r[e]=t;let a=ut(e,n),o=r.anchor==null?void 0:ut(r.anchor,n),s={href:a,rel:(r.rel??``).split(/[ \t]+/).filter(e=>e.length>0),params:r};return o!=null&&(s.anchor=o),r.type!=null&&(s.type=r.type),r.title!=null&&(s.title=r.title),r.hreflang!=null&&(s.hreflang=r.hreflang),s}function ut(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function cee(e){let t=e.indexOf(`'`);if(t===-1)return null;let n=e.indexOf(`'`,t+1);if(n===-1||e.slice(0,t).toLowerCase()!==`utf-8`)return null;try{return decodeURIComponent(e.slice(n+1))}catch{return null}}function lee(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e))n.toLowerCase()===`link`&&typeof r==`string`&&r.length>0&&t.push(r);return t}function dt(e){let t=e.replace(/\/+$/,``),n=t.toLowerCase();return n.endsWith(`/skill.md`)?t.slice(0,-9):n===`skill.md`?``:t}const ft=/^[A-Za-z0-9._/-]+$/,pt=/^[A-Za-z0-9._/-]+$/;function mt(e){return!(e.length===0||e.length>250||!ft.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.endsWith(`/`)||e.includes(`..`)||e.endsWith(`.lock`))}function ht(e){return!(e.length===0||e.length>1024||!pt.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.includes(`..`))}function gt(e){for(let t of e){if(t.rel.includes(`https://www.sliccy.ai/rel/handoff`)){let e={verb:`handoff`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),e}if(t.rel.includes(`https://www.sliccy.ai/rel/upskill`)){let e={verb:`upskill`,target:t.href};t.title!=null&&t.title.length>0&&(e.instruction=t.title);let n=t.params.branch;typeof n==`string`&&mt(n)&&(e.branch=n);let r=t.params.path;if(typeof r==`string`&&r.length>0){let t=dt(r);t.length>0&&ht(t)&&(e.path=t)}return e}}return null}function uee(e){return[e.verb,e.target,e.branch??``,e.path??``,e.instruction??``].join(`\0`)}function dee(e,t){let n=lee(e);if(n.length===0)return{match:null,links:[]};let r=st(n,t);return{match:gt(r),links:r}}const _t=v(`navigation-watcher`);function vt(e,t){return dee(e,t)}var yt=class{transport;onEvent;sessions=new Map;started=!1;onAttachedToTarget=e=>{this.handleAttachedToTarget(e)};onDetachedFromTarget=e=>{let t=e.sessionId;t&&this.sessions.delete(t)};onTargetInfoChanged=e=>{let t=e.targetInfo;if(t?.targetId)for(let e of this.sessions.values())e.targetId===t.targetId&&(typeof t.title==`string`&&(e.title=t.title),typeof t.url==`string`&&(e.url=t.url))};onTargetCreated=e=>{this.handleTargetCreated(e)};onFrameNavigated=e=>{let t=e.sessionId;if(!t)return;let n=this.sessions.get(t);if(!n)return;let r=e.frame;r?.id&&(r.parentId||(n.rootFrameId=r.id,typeof r.url==`string`&&(n.url=r.url)))};onResponseReceived=e=>{let t=e.sessionId;if(!t)return;let n=this.sessions.get(t);if(!n||e.type!==`Document`)return;let r=e.frameId;if(!r||r!==n.rootFrameId)return;let i=e.response;if(!i)return;let a=typeof i.url==`string`&&i.url.length>0?i.url:n.url;if(!a)return;let{match:o,links:s}=vt(i.headers,a);if(!o)return;let c={url:a,verb:o.verb,target:o.target,links:s,targetId:n.targetId};o.instruction!=null&&(c.instruction=o.instruction),o.branch!=null&&(c.branch=o.branch),o.path!=null&&(c.path=o.path),n.title!=null&&(c.title=n.title),this.onEvent(c)};constructor(e,t){this.transport=e,this.onEvent=t}async start(){if(!this.started){this.transport.on(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.on(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.on(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.on(`Target.targetCreated`,this.onTargetCreated),this.transport.on(`Page.frameNavigated`,this.onFrameNavigated),this.transport.on(`Network.responseReceived`,this.onResponseReceived);try{await this.transport.send(`Target.setDiscoverTargets`,{discover:!0})}catch(e){_t.error(`Failed to enable target discovery`,{error:e instanceof Error?e.message:String(e)}),this.transport.off(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.off(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.off(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.off(`Target.targetCreated`,this.onTargetCreated),this.transport.off(`Page.frameNavigated`,this.onFrameNavigated),this.transport.off(`Network.responseReceived`,this.onResponseReceived);return}this.started=!0;try{let e=(await this.transport.send(`Target.getTargets`)).targetInfos??[];for(let t of e){if(t.type!==`page`)continue;let e=t.attached===!0,n=t.targetId;if(!(e||typeof n!=`string`))try{await this.transport.send(`Target.attachToTarget`,{targetId:n,flatten:!0})}catch(e){_t.debug(`Failed to attach to preexisting target`,{targetId:n,error:e instanceof Error?e.message:String(e)})}}}catch(e){_t.debug(`Failed to enumerate preexisting targets`,{error:e instanceof Error?e.message:String(e)})}}}async stop(){if(this.started){this.started=!1,this.transport.off(`Target.attachedToTarget`,this.onAttachedToTarget),this.transport.off(`Target.detachedFromTarget`,this.onDetachedFromTarget),this.transport.off(`Target.targetInfoChanged`,this.onTargetInfoChanged),this.transport.off(`Target.targetCreated`,this.onTargetCreated),this.transport.off(`Page.frameNavigated`,this.onFrameNavigated),this.transport.off(`Network.responseReceived`,this.onResponseReceived),this.sessions.clear();try{await this.transport.send(`Target.setDiscoverTargets`,{discover:!1})}catch(e){_t.debug(`Failed to disable target discovery on stop`,{error:e instanceof Error?e.message:String(e)})}}}async handleTargetCreated(e){let t=e.targetInfo;if(!(t?.type!==`page`||typeof t.targetId!=`string`)&&!t.attached)try{await this.transport.send(`Target.attachToTarget`,{targetId:t.targetId,flatten:!0})}catch(e){_t.debug(`Failed to attach to discovered target`,{targetId:t.targetId,error:e instanceof Error?e.message:String(e)})}}async handleAttachedToTarget(e){let t=e.sessionId,n=e.targetInfo;if(!(!t||!n||n.type!==`page`||typeof n.targetId!=`string`)){this.sessions.set(t,{targetId:n.targetId,rootFrameId:null,title:n.title,url:n.url});try{await this.transport.send(`Page.enable`,{},t),await this.transport.send(`Network.enable`,{},t);let e=(await this.transport.send(`Page.getFrameTree`,{},t)).frameTree?.frame;if(e?.id&&typeof e.id==`string`){let n=this.sessions.get(t);n&&(n.rootFrameId=e.id)}}catch(e){_t.debug(`Failed to enable Page/Network on attached target`,{sessionId:t,error:e instanceof Error?e.message:String(e)})}}}};function L(e){if(!e||e===`/`)return`/`;e.startsWith(`/`)||(e=`/`+e);let t=e.split(`/`),n=[];for(let e of t)e===``||e===`.`||(e===`..`?n.pop():n.push(e));return`/`+n.join(`/`)}function bt(e){let t=L(e);if(t===`/`)return{dir:`/`,base:``};let n=t.lastIndexOf(`/`);return{dir:n===0?`/`:t.slice(0,n),base:t.slice(n+1)}}function xt(e){let t=L(e);return t===`/`?[]:t.slice(1).split(`/`)}function St(...e){return L(e.join(`/`))}const Ct={assign:0,create:0,clone:0,discard:0,update:0};function wt(e,t){return Ct.assign+=1,{...e,...t}}function Tt(e,t,n){return e>=t&&e<=n}function Et(e){return Tt(e,127462,127487)}function Dt(e){return Tt(e,65024,65039)}function Ot(e){return Tt(e,768,879)||Tt(e,6832,6911)||Tt(e,7616,7679)||Tt(e,65056,65071)}function kt(e){return e>65535?2:1}function At(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Ot(n)||Dt(n))t+=kt(n);else break}return t}function jt(e,t){let n=e.codePointAt(t),r=t+kt(n);for(r=At(e,r);r<e.length-1&&e[r]===``;){let t=e.codePointAt(r+1);r+=1+kt(t),r=At(e,r)}return Et(n)&&r<e.length&&Et(e.codePointAt(r))&&(r+=kt(e.codePointAt(r))),r}function Mt(e){return Tt(e,55296,56319)||Tt(e,768,879)||e===8205}function fee(e){let t=0,n=0;for(;n<e.length;)n=jt(e,n),t++;return t}function pee(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=jt(e,r),n++,n>=t)return!0;return!1}function mee(e,t){let n=0,r=0;for(;r<e.length;)if(r=jt(e,r),n++,n>t)return!1;return!0}function hee(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(Mt(e.charCodeAt(n)))return pee(e,t);if(n++,n>=t)return!0}return!1}function gee(e,t){let n=0;for(;n<e.length;){if(Mt(e.charCodeAt(n)))return mee(e,t);if(n++,n>t)return!1}return!0}var _ee=c({Entries:()=>cn,EntriesRegExp:()=>sn,Every:()=>rn,EveryAll:()=>an,GraphemeCount:()=>vee,HasPropertyKey:()=>z,IsArray:()=>Nt,IsAsyncIterator:()=>Pt,IsBigInt:()=>Ft,IsBoolean:()=>It,IsClassInstance:()=>$t,IsConstructor:()=>Lt,IsDeepEqual:()=>dn,IsEqual:()=>R,IsFunction:()=>Rt,IsGreaterEqualThan:()=>Zt,IsGreaterThan:()=>Jt,IsInteger:()=>zt,IsIterator:()=>Bt,IsLessEqualThan:()=>Xt,IsLessThan:()=>Yt,IsMaxLength:()=>tn,IsMinLength:()=>nn,IsMultipleOf:()=>Qt,IsNull:()=>Vt,IsNumber:()=>Ht,IsObject:()=>Wt,IsObjectNotArray:()=>Ut,IsString:()=>Gt,IsSymbol:()=>Kt,IsUndefined:()=>qt,IsValueLike:()=>en,Keys:()=>ln,Symbols:()=>yee,TakeLeft:()=>on,Values:()=>un});function Nt(e){return Array.isArray(e)}function Pt(e){return Wt(e)&&Symbol.asyncIterator in e}function Ft(e){return R(typeof e,`bigint`)}function It(e){return R(typeof e,`boolean`)}function Lt(e){if(qt(e)||!Rt(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Rt(e){return R(typeof e,`function`)}function zt(e){return Number.isInteger(e)}function Bt(e){return Wt(e)&&Symbol.iterator in e}function Vt(e){return R(e,null)}function Ht(e){return Number.isFinite(e)}function Ut(e){return Wt(e)&&!Nt(e)}function Wt(e){return R(typeof e,`object`)&&!Vt(e)}function Gt(e){return R(typeof e,`string`)}function Kt(e){return R(typeof e,`symbol`)}function qt(e){return R(e,void 0)}function R(e,t){return e===t}function Jt(e,t){return e>t}function Yt(e,t){return e<t}function Xt(e,t){return e<=t}function Zt(e,t){return e>=t}function Qt(e,t){if(Ft(e)||Ft(t))return BigInt(e)%BigInt(t)===0n;if(!Ht(e)||zt(e)&&1/t%1==0)return!0;let n=e%t;return Math.min(Math.abs(n),Math.abs(n-t))<1e-10}function $t(e){if(!Wt(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return Vt(t)?!1:R(typeof t.constructor,`function`)&&!(R(t.constructor,globalThis.Object)||R(t.constructor.name,`Object`))}function en(e){return Ft(e)||It(e)||Vt(e)||Ht(e)||Gt(e)||qt(e)}function vee(e){return fee(e)}function tn(e,t){return gee(e,t)}function nn(e,t){return hee(e,t)}function rn(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function an(e,t,n){let r=!0;for(let i=t;i<e.length;i++)n(e[i],i)||(r=!1);return r}function on(e,t,n){return R(e.length,0)?n():t(e[0],e.slice(1))}function z(e,t){return R(t,`__proto__`)||R(t,`constructor`)?Object.prototype.hasOwnProperty.call(e,t):t in e}function sn(e){return ln(e).map(t=>[RegExp(`^${t}$`),e[t]])}function cn(e){return Object.entries(e)}function ln(e){return Object.getOwnPropertyNames(e)}function yee(e){return Object.getOwnPropertySymbols(e)}function un(e){return Object.values(e)}function bee(e,t){if(!Wt(t))return!1;let n=ln(e);return R(n.length,ln(t).length)&&n.every(n=>dn(e[n],t[n]))}function xee(e,t){return Nt(t)&&R(e.length,t.length)&&e.every((n,r)=>dn(e[r],t[r]))}function dn(e,t){return Nt(e)?xee(e,t):Wt(e)?bee(e,t):R(e,t)}const fn=/^[\p{ID_Start}_$][\p{ID_Continue}_$\u200C\u200D]*$/u;function pn(e){return fn.test(e)}function mn(e,t){return`(${e} && ${t})`}function hn(e,t){return`(${e} || ${t})`}function gn(e){return`!(${e})`}function _n(e){return`Array.isArray(${e})`}function vn(e){return`Guard.IsAsyncIterator(${e})`}function yn(e){return`typeof ${e} === "bigint"`}function bn(e){return`typeof ${e} === "boolean"`}function xn(e){return`Number.isInteger(${e})`}function Sn(e){return`Guard.IsIterator(${e})`}function Cn(e){return`${e} === null`}function wn(e){return`Number.isFinite(${e})`}function Tn(e){return mn(En(e),gn(_n(e)))}function En(e){return`typeof ${e} === "object" && ${e} !== null`}function Dn(e){return`typeof ${e} === "string"`}function On(e){return`typeof ${e} === "symbol"`}function kn(e){return`${e} === undefined`}function See(e){return`typeof ${e} === "function"`}function Cee(e){return`Guard.IsConstructor(${e})`}function An(e,t){return`${e} === ${t}`}function jn(e,t){return`${e} > ${t}`}function Mn(e,t){return`${e} < ${t}`}function Nn(e,t){return`${e} <= ${t}`}function Pn(e,t){return`${e} >= ${t}`}function wee(e,t){return`Guard.IsMinLength(${e}, ${t})`}function Tee(e,t){return`Guard.IsMaxLength(${e}, ${t})`}function Fn(e,t,n,r){return R(t,`0`)?`${e}.every((${n[0]}, ${n[1]}) => ${r})`:`((value, callback) => { for(let index = ${t}; index < value.length; index++) if (!callback(value[index], index)) return false; return true })(${e}, (${n[0]}, ${n[1]}) => ${r})`}function In(e){return`Object.entries(${e})`}function Ln(e){return`Object.getOwnPropertyNames(${e})`}function Rn(e,t){return R(t,`"__proto__"`)||R(t,`"constructor"`)?`Object.prototype.hasOwnProperty.call(${e}, ${t})`:`${t} in ${e}`}function zn(e,t){return`Guard.IsDeepEqual(${e}, ${t})`}function Eee(e){return`[${e.join(`, `)}]`}function Bn(e,t){return`((${e.join(`, `)}) => ${t})`}function Vn(e,t){return`${e}(${t.join(`, `)})`}function Hn(e,t){return`new ${e}(${t.join(`, `)})`}function Un(e,t){return`${e}${pn(t)?`.${t}`:`[${Wn(t)}]`}`}function Wn(e){return Gt(e)?JSON.stringify(e):`${e}`}function Gn(e,t,n){return`(${e} ? ${t} : ${n})`}function Kn(e){return`{ ${e.join(`; `)}; }`}function qn(e,t){return`const ${e} = ${t}`}function Jn(e,t){return`if(${e}) { ${t} }`}function Yn(e){return`return ${e}`}function Xn(e){return R(e.length,0)?`true`:e.reduce((e,t)=>mn(e,t))}function Zn(e){return R(e.length,0)?`false`:e.reduce((e,t)=>hn(e,t))}function Qn(e){return`++${e}`}function Dee(e,t){return`Guard.IsMultipleOf(${e}, ${t})`}function Oee(e){return e instanceof Boolean}function kee(e){return e instanceof Number}function Aee(e){return e instanceof String}function $n(e){return globalThis.ArrayBuffer.isView(e)}function jee(e){return e instanceof globalThis.RegExp}function Mee(e){return e instanceof globalThis.Date}function Nee(e){return e instanceof globalThis.Set}function Pee(e){return e instanceof globalThis.Map}function Fee(e){return Wt(e)&&z(e,`~guard`)}function er(e){return e}function tr(e){return e.map(e=>ar(e))}function nr(e){let t={},n=Object.getOwnPropertyDescriptors(e);for(let e of Object.keys(n)){let r=n[e];z(r,`value`)&&Object.defineProperty(t,e,{...r,value:ar(r.value)})}return t}function rr(e){return new RegExp(e.source,e.flags)}function ir(e){return e}function ar(e){return e instanceof RegExp?rr(e):Fee(e)?er(e):Nt(e)?tr(e):Wt(e)?nr(e):ir(e)}function or(e){return Ct.clone+=1,ar(e)}const Iee={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1};function sr(){return Iee}function Lee(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function cr(e,t){return{...e,...t}}function lr(e,t,n={}){Ct.create+=1;let r=sr(),i=cr(t,n),a=r.enumerableKind?cr(i,e):Lee(i,e);return r.immutableTypes?Object.freeze(a):a}function ur(e,t){Ct.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(or(e)),i=new Set(t);for(let e of Object.keys(r))i.has(e)||Object.defineProperty(n,e,r[e]);return n}function dr(e,t,n){Ct.update+=1;let r=sr(),i=or(e);for(let e of Object.keys(t))Object.defineProperty(i,e,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[e]});for(let e of Object.keys(n))Object.defineProperty(i,e,{configurable:!0,enumerable:!0,writable:!0,value:n[e]});return i}function fr(e,t){return Wt(e)&&z(e,`~kind`)&&R(e[`~kind`],t)}function pr(e){return Wt(e)}function mr(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`OptionalAddAction`)&&pr(e.type)}function hr(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`OptionalRemoveAction`)&&pr(e.type)}function gr(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`ReadonlyAddAction`)&&pr(e.type)}function _r(e){return Wt(e)&&z(e,`~kind`)&&z(e,`type`)&&R(e[`~kind`],`ReadonlyRemoveAction`)&&pr(e.type)}function vr(e,t,n){return lr({"~kind":`Deferred`},{action:e,parameters:t,options:n},{})}function yr(e){return fr(e,`Deferred`)}function br(e,t){return lr({"~kind":`Promise`},{type:`promise`,item:e},t)}function xr(e){return fr(e,`Promise`)}function Ree(e){return ur(e,[`~kind`,`type`,`item`])}function zee(e){return dr(e,{"~immutable":!0},{})}function Sr(e){return zee(e)}function Cr(e){return pr(e)&&z(e,`~immutable`)}function wr(e){return ur(e,[`~optional`])}function Tr(e){return dr(e,{"~optional":!0},{})}function Bee(e){return Tr(e)}function Er(e){return pr(e)&&z(e,`~optional`)}function Dr(e){return ur(e,[`~readonly`])}function Or(e){return dr(e,{"~readonly":!0},{})}function kr(e){return Or(e)}function Ar(e){return pr(e)&&z(e,`~readonly`)}function jr(e){return{enumerable:sr().enumerableKind,writable:!1,configurable:!1,value:e}}var Mr=class{constructor(){globalThis.Object.defineProperty(this,`~kind`,jr(`Base`)),globalThis.Object.defineProperty(this,`~guard`,jr({check:e=>this.Check(e),errors:e=>this.Errors(e)}))}Check(e){return!0}Errors(e){return[]}Convert(e){return e}Clean(e){return e}Default(e){return e}Create(){throw Error(`Create not implemented`)}Clone(){throw Error(`Clone not implemented`)}};function Nr(e){return fr(e,`Base`)}function Pr(e,t){return lr({"~kind":`Array`},{type:`array`,items:e},t)}function Fr(e){return fr(e,`Array`)}function Ir(e){return ur(e,[`~kind`,`type`,`items`])}function Lr(e,t){return lr({"~kind":`AsyncIterator`},{type:`asyncIterator`,iteratorItems:e},t)}function Rr(e){return fr(e,`AsyncIterator`)}function zr(e){return ur(e,[`~kind`,`type`,`iteratorItems`])}function Br(e,t,n={}){return lr({"~kind":`Constructor`},{type:`constructor`,parameters:e,instanceType:t},n)}function Vr(e){return fr(e,`Constructor`)}function Vee(e){return ur(e,[`~kind`,`type`,`parameters`,`instanceType`])}function Hr(e,t,n={}){return lr({"~kind":`Function`},{type:`function`,parameters:e,returnType:t},n)}function Ur(e){return fr(e,`Function`)}function Hee(e){return ur(e,[`~kind`,`type`,`parameters`,`returnType`])}function Wr(e,t){return lr({"~kind":`Ref`},{$ref:e},t)}function Gr(e){return fr(e,`Ref`)}function Kr(e,t){return lr({"~kind":`Generic`},{type:`generic`,parameters:e,expression:t})}function qr(e){return fr(e,`Generic`)}function Jr(e){return lr({"~kind":`Any`},{},e)}function Yr(e){return fr(e,`Any`)}function Xr(e){return lr({"~kind":`Never`},{not:{}},e)}function Zr(e){return fr(e,`Never`)}function Qr(e){return ln(e).filter(t=>!Er(e[t]))}function $r(e){return ln(e)}function ei(e){return un(e)}function ti(e,t={}){let n=Qr(e);return lr({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}function ni(e){return fr(e,`Object`)}function ri(e){return ur(e,[`~kind`,`type`,`properties`,`required`])}function ii(e,t={}){return lr({"~kind":`Union`},{anyOf:e},t)}function ai(e){return fr(e,`Union`)}function oi(e){return ur(e,[`~kind`,`anyOf`])}function si(e){return lr({"~kind":`Unknown`},{},e)}function ci(e){return fr(e,`Unknown`)}function li(e,t,n){return lr({"~kind":`Cyclic`},{$defs:ln(e).reduce((t,n)=>({...t,[n]:dr(e[n],{},{$id:n})}),{}),$ref:t},n)}function ui(e){return fr(e,`Cyclic`)}function di(e){return Ut(e)&&z(e,`~unsafe`)&&Vt(e[`~unsafe`])}function fi(e,t){return t[e.length]?.(...e)??(()=>{throw Error(`Invalid Arguments`)})()}function pi(e){return fr(e,`Infer`)}function mi(e){return fr(e,`Enum`)}function hi(e,t={}){return lr({"~kind":`Intersect`},{allOf:e},t)}function gi(e){return fr(e,`Intersect`)}function _i(e){return ur(e,[`~kind`,`allOf`])}let vi;function yi(){try{return xi(`null`)(),!0}catch{return!1}}function bi(){return qt(vi)&&(vi=yi()),vi&&sr().useAcceleration}function xi(...e){return new globalThis.Function(...e)}function Si(){throw Error(`Unreachable`)}var Uee=c({Hash:()=>Pi,HashCode:()=>Ni});function Wee(e){let t=new Set,n=e;for(;n&&n!==Object.prototype;){for(let e of Reflect.ownKeys(n))e!==`constructor`&&typeof e!=`symbol`&&t.add(e);n=Object.getPrototypeOf(n)}return[...t]}function Gee(e){return typeof e==`number`}var Ci;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(Ci||={});let wi=BigInt(`14695981039346656037`);const[Kee,qee]=[BigInt(`1099511628211`),BigInt(`18446744073709551616`)],Jee=Array.from({length:256}).map((e,t)=>BigInt(t)),Ti=new Float64Array(1),Ei=new DataView(Ti.buffer),Di=new Uint8Array(Ti.buffer);function Oi(e){wi^=Jee[e],wi=wi*Kee%qee}function Yee(e){Oi(Ci.Array);for(let t of e)Mi(t)}function Xee(e){Oi(Ci.BigInt),Ei.setBigInt64(0,e);for(let e of Di)Oi(e)}function ki(e){Oi(Ci.Boolean),Oi(+!!e)}function Zee(e){Oi(Ci.Constructor),Mi(e.toString())}function Qee(e){Oi(Ci.Date),Mi(e.getTime())}function $ee(e){Oi(Ci.Function),Mi(e.toString())}function ete(e){Oi(Ci.Null)}function Ai(e){Oi(Ci.Number),Ei.setFloat64(0,e,!0);for(let e of Di)Oi(e)}function tte(e){Oi(Ci.Object);for(let t of Wee(e).sort())Mi(t),Mi(e[t])}function nte(e){Oi(Ci.RegExp),ji(e.toString())}const rte=new TextEncoder;function ji(e){Oi(Ci.String);for(let t of rte.encode(e))Oi(t)}function ite(e){Oi(Ci.Symbol),Mi(e.toString())}function ate(e){Oi(Ci.TypeArray);let t=new Uint8Array(e.buffer);for(let e=0;e<t.length;e++)Oi(t[e])}function ote(e){return Oi(Ci.Undefined)}function Mi(e){return $n(e)?ate(e):Mee(e)?Qee(e):jee(e)?nte(e):Oee(e)?ki(e.valueOf()):Aee(e)?ji(e.valueOf()):kee(e)?Ai(e.valueOf()):Gee(e)?Ai(e):Nt(e)?Yee(e):It(e)?ki(e):Ft(e)?Xee(e):Lt(e)?Zee(e):Vt(e)?ete(e):Wt(e)?tte(e):Gt(e)?ji(e):Kt(e)?ite(e):qt(e)?ote(e):Rt(e)?$ee(e):Si()}function Ni(e){return wi=BigInt(`14695981039346656037`),Mi(e),wi}function Pi(e){return Ni(e).toString(16).padStart(16,`0`)}function ste(e){switch(e.keyword){case`additionalProperties`:return`must not have additional properties`;case`anyOf`:return`must match a schema in anyOf`;case`boolean`:return`schema is false`;case`const`:return`must be equal to constant`;case`contains`:return`must contain at least 1 valid item`;case`dependencies`:return`must have properties ${e.params.dependencies.join(`, `)} when property ${e.params.property} is present`;case`dependentRequired`:return`must have properties ${e.params.dependencies.join(`, `)} when property ${e.params.property} is present`;case`enum`:return`must be equal to one of the allowed values`;case`exclusiveMaximum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`exclusiveMinimum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`format`:return`must match format "${e.params.format}"`;case`if`:return`must match "${e.params.failingKeyword}" schema`;case`maxItems`:return`must not have more than ${e.params.limit} items`;case`maxLength`:return`must not have more than ${e.params.limit} characters`;case`maxProperties`:return`must not have more than ${e.params.limit} properties`;case`maximum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`minItems`:return`must not have fewer than ${e.params.limit} items`;case`minLength`:return`must not have fewer than ${e.params.limit} characters`;case`minProperties`:return`must not have fewer than ${e.params.limit} properties`;case`minimum`:return`must be ${e.params.comparison} ${e.params.limit}`;case`multipleOf`:return`must be multiple of ${e.params.multipleOf}`;case`not`:return`must not be valid`;case`oneOf`:return`must match exactly one schema in oneOf`;case`pattern`:return`must match pattern "${e.params.pattern}"`;case`propertyNames`:return`property names ${e.params.propertyNames.join(`, `)} are invalid`;case`required`:return`must have required properties ${e.params.requiredProperties.join(`, `)}`;case`type`:return typeof e.params.type==`string`?`must be ${e.params.type}`:`must be either ${e.params.type.join(` or `)}`;case`unevaluatedItems`:return`must not have unevaluated items`;case`unevaluatedProperties`:return`must not have unevaluated properties`;case`uniqueItems`:return`must not have duplicate items`;case`~guard`:return`must match check function`;case`~refine`:return e.params.message;default:return`an unknown validation error occurred`}}let cte=ste;function lte(){return cte}function Fi(e){return pr(e)&&z(e,`~codec`)&&Wt(e[`~codec`])&&z(e[`~codec`],`encode`)&&z(e[`~codec`],`decode`)}function ute(e){return lr({"~kind":`BigInt`},{type:`bigint`},e)}function Ii(e){return fr(e,`BigInt`)}function Li(e){return fr(e,`Boolean`)}const Ri=`-?(?:0|[1-9][0-9]*)`;function zi(e){return lr({"~kind":`Integer`},{type:`integer`},e)}function Bi(e){return fr(e,`Integer`)}function Vi(e,t){return lr({"~kind":`Iterator`},{type:`iterator`,iteratorItems:e},t)}function Hi(e){return fr(e,`Iterator`)}function dte(e){return ur(e,[`~kind`,`type`,`iteratorItems`])}var fte=class extends Error{constructor(e){super(`Invalid Literal value`),Object.defineProperty(this,"cause",{value:{value:e},writable:!1,configurable:!1,enumerable:!1})}};function pte(e){return Ft(e)?`bigint`:It(e)?`boolean`:Ht(e)?`number`:Gt(e)?`string`:(()=>{throw new fte(e)})()}function Ui(e,t){return lr({"~kind":`Literal`},{type:pte(e),const:e},t)}function mte(e){return Ft(e)||It(e)||Ht(e)||Gt(e)}function hte(e){return Ki(e)&&Ft(e.const)}function gte(e){return Ki(e)&&It(e.const)}function Wi(e){return Ki(e)&&Ht(e.const)}function Gi(e){return Ki(e)&&Gt(e.const)}function Ki(e){return fr(e,`Literal`)}function qi(e){return lr({"~kind":`Null`},{type:`null`},e)}function Ji(e){return fr(e,`Null`)}const Yi=`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`;function Xi(e){return lr({"~kind":`Number`},{type:`number`},e)}function Zi(e){return fr(e,`Number`)}function _te(e){return lr({"~kind":`Symbol`},{type:`symbol`},e)}function Qi(e){return fr(e,`Symbol`)}function $i(e){return lr({"~kind":`String`},{type:`string`},e)}function ea(e){return fr(e,`String`)}function ta(e){let t=Do(e);return R(t.length,2)?t[0]:[]}function vte(e){return!0}function na(e){return on(e,(e,t)=>yte(e)?na(t):!1,()=>!0)}function ra(e){return R(e.length,0)?!1:na(e)}function yte(e){return ai(e)?ra(e.anyOf):Ki(e)?vte(e.const):!1}function ia(e){return ra(e)}function aa(e){return lr({"~kind":`TemplateLiteral`},{type:`string`,pattern:e},{})}function oa(e,t,n=[]){return on(e,(e,r)=>oa(r,t,[...n,`${e}${t}`]),()=>n)}function bte(e,t){return R(e.length,0)?[`${t}`]:oa(e,t)}function sa(e,t,n=[]){return on(t,(t,r)=>sa(e,r,[...n,...ca(e,t)]),()=>n)}function ca(e,t){return ai(t)?sa(e,t.anyOf):Ki(t)?bte(e,t.const):Si()}function la(e,t){return on(t,(t,n)=>la(ca(e,t),n),()=>e)}function xte(e){return e.map(e=>Ui(e))}function Ste(e){return ii(xte(la([],e)))}function Cte(e){return R(e.length,0)?Si():R(e.length,1)&&Ki(e[0])?e[0]:Ste(e)}function ua(e){let t=ta(e);return R(t.length,0)?$i():ia(t)?Cte(t):aa(e)}function da(e){let t=ua(e);return Jo(t)?$i():t}function fa(e,t){return lr({"~kind":`Record`},{type:`object`,patternProperties:{[e]:t}})}function wte(e){return fa(Ia,e)}function Tte(e){return ti({true:e,false:e})}function Ete(e){return Gt(e)||Ht(e)?Ui(e):Vt(e)?qi():Xr()}function pa(e){return e.map(e=>Ete(e))}function ma(e){return ii(pa(e))}function ha(e){return ma(e.enum)}function Dte(e,t){return Ma(ma(e),t)}function Ote(e,t){return fa(Pa,t)}function ga(e,t={}){let[n,r,i]=[e,e.length,!1];return lr({"~kind":`Tuple`},{type:`array`,additionalItems:i,items:n,minItems:r},t)}function _a(e){return fr(e,`Tuple`)}function kte(e){return ur(e,[`~kind`,`type`,`items`,`minItems`,`additionalItems`])}function va(e){return e.reduceRight((e,t,n)=>({[n]:t,...e}),{})}function Ate(e){return ti(va(e.items))}function jte(e,t){return Ar(e)?!!Ar(t):!1}function Mte(e,t){return Er(e)?!!Er(t):!1}function Nte(e,t){let n=jte(e,t),r=Mte(e,t),i=Dr(wr(wa([e,t])));return n&&r?Or(Tr(i)):n&&!r?Or(i):!n&&r?Tr(i):i}function Pte(e,t,n){return n in e?n in t?Nte(e[n],t[n]):e[n]:n in t?t[n]:Xr()}function Fte(e,t){return[...new Set([...ln(t),...ln(e)])].reduce((n,r)=>({...n,[r]:Pte(e,t,r)}),{})}function ya(e){return ni(e)?e.properties:_a(e)?va(e.items):Si()}function Ite(e,t){return ti(Fte(ya(e),ya(t)))}function Lte(e,t){let n=Ks(e,t);return R(n,`left-inside`)?e:R(n,`right-inside`)||R(n,`equal`)?t:Xr()}function ba(e){return ni(e)||_a(e)}function Rte(e,t){let n=ai(e),r=ai(t);return n||r}function zte(e,t){let n=Ea(e),r=Ea(t),i=Rte(n,r),a=ba(n),o=ba(r);return i?wa([n,r]):a&&o?Ite(n,r):a&&!o?n:!a&&o?r:Lte(n,r)}function xa(e,t,n=[]){return on(t,(t,r)=>xa(e,r,[...n,zte(e,t)]),()=>R(n.length,0)?[e]:n)}function Sa(e,t,n=[]){return on(e,(e,r)=>Sa(r,t,[...n,...Ca([e],t)]),()=>n)}function Ca(e,t=[]){return on(e,(e,n)=>ai(e)?Ca(n,Sa(e.anyOf,t)):Ca(n,xa(e,t)),()=>t)}function wa(e){return Zs(Ca(e))}function Ta(e){return Zs(e)}function Ea(e){return gi(e)?wa(e.allOf):ai(e)?Ta(e.anyOf):e}function Da(e){return R(e.length,1)?e[0]:R(e.length,0)?Xr():ii(e)}function Oa(e,t){return Ma(wa(e),t)}function ka(e,t){return Gt(e)||Ht(e)?ti({[e]:t}):R(e,!1)?ti({false:t}):R(e,!0)?ti({true:t}):ti({})}function Aa(e,t){return fa(Fa,t)}function Bte(e,t){return z(e,`pattern`)&&(Gt(e.pattern)||e.pattern instanceof RegExp)?fa(e.pattern.toString(),t):fa(Ia,t)}function Vte(e,t){return ia(ta(e))?Ma(da(e),t):fa(e,t)}function Hte(e){return ai(e)?ja(e.anyOf):[e]}function ja(e){return e.reduce((e,t)=>[...e,...Hte(t)],[])}function Ute(e){return e.some(e=>ea(e)||Zi(e)||Bi(e))}function Wte(e,t){return R(Ute(e),!0)?fa(Ia,t):void 0}function Gte(e,t){return e.reduce((e,n)=>Ki(n)&&(Gt(n.const)||Ht(n.const))?{...e,[n.const]:t}:e,{})}function Kte(e,t){return ti(Gte(e,t))}function qte(e,t){let n=ja(e),r=Wte(n,t);return pr(r)?r:Kte(n,t)}function Ma(e,t){return Yr(e)?wte(t):Li(e)?Tte(t):mi(e)?Dte(e.enum,t):Bi(e)?Ote(e,t):gi(e)?Oa(e.allOf,t):Ki(e)?ka(e.const,t):Zi(e)?Aa(e,t):ai(e)?qte(e.anyOf,t):ea(e)?Bte(e,t):Jo(e)?Vte(e.pattern,t):ti({})}function Na(e,t,n){return eu([e])?dr(Ma(e,t),{},n):Yte(e,t,n)}function Jte(e,t,n,r,i){return Na(cu(e,t,n),cu(e,t,r),i)}const Pa=`^${Ri}$`,Fa=`^${Yi}$`,Ia=`^.*$`;function Yte(e,t,n={}){return vr(`Record`,[e,t],n)}function Xte(e,t,n={}){return Na(e,t,n)}function La(e,t){return fa(e,t)}function Ra(e){return ln(e.patternProperties)[0]}function za(e){let t=Ra(e);return R(t,Ia)?$i():R(t,Pa)?zi():R(t,Fa)?Xi():ua(t)}function Ba(e){return e.patternProperties[Ra(e)]}function Va(e){return fr(e,`Record`)}function Ha(e){return lr({"~kind":`Rest`},{type:`rest`,items:e},{})}function Ua(e){return fr(e,`Rest`)}function Wa(e){return fr(e,`This`)}function Ga(e){return lr({"~kind":`Undefined`},{type:`undefined`},e)}function Ka(e){return fr(e,`Undefined`)}function qa(e){return fr(e,`Void`)}function Ja(e){return ute()}function Ya(e){return $i()}function Xa(e){return Xi()}function Za(e){return zi()}function Qa(e){return Xr()}function $a(e){return Ui(e)}function eo(e){return e}function Zte(e){return ii(e[1])}function Qte(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function $te(e){return[e[0],...e[1]]}function ene(e){return e}function tne(e){return e[1]}function to(e){return R(e.length,2)}function no(e,t,n){return to(e)?t(e[0],e[1]):n()}function nne(e,t){return R(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function rne(e,t){for(let n=0;n<e.length;n++){let r=nne(e[n],t);if(to(r))return r}return[]}function ro(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}const ine=[...ro(97,122),...ro(65,90)],io=[`0`,...ro(49,57)];function ao(e){let t=e.indexOf(`*/`);return R(t,-1)?``:e.slice(t+2)}function oo(e){let t=e.indexOf(`
|
|
880
880
|
`);return R(t,-1)?``:e.slice(t)}function ane(e){return e.replace(/^[ \t\r\f\v]+/,``)}function so(e){let t=ane(e);return t.startsWith(`/*`)?so(ao(t.slice(2))):t.startsWith(`//`)?so(oo(t.slice(2))):t}function co(e){let t=e.trimStart();return t.startsWith(`/*`)?co(ao(t.slice(2))):t.startsWith(`//`)?co(oo(t.slice(2))):t}[...io];function lo(e,t){return rne([e],t)}function uo(e,t){return R(e,``)?[``,t]:e.startsWith(`
|
|
881
|
-
`)?lo(e,so(t)):e.startsWith(` `)?lo(e,t):lo(e,co(t))}[...ine,...io],[...io];function one(e){return R(e,``)?[]:[e.slice(0,1),e.slice(1)]}function fo(e,t){let[n,...r]=e;return Gt(n)?t.startsWith(n)?!0:fo(r,t):!1}function po(e,t,n=``){return no(one(t),(r,i)=>fo(e,t)?[n,t]:po(e,i,`${n}${r}`),()=>[])}function mo(e,t){return no(po(e,t),(e,t)=>R(e,``)?[]:[e,t],()=>[])}const ho=(e,t,n=()=>[])=>e.length===2?t(e):n(),go=e=>ho(uo(`-?(?:0|[1-9][0-9]*)n`,e),([e,t])=>[Ja(e),t]),_o=e=>ho(uo(`.*`,e),([e,t])=>[Ya(e),t]),vo=e=>ho(uo(`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,e),([e,t])=>[Xa(e),t]),yo=e=>ho(uo(`-?(?:0|[1-9][0-9]*)`,e),([e,t])=>[Za(e),t]),bo=e=>ho(uo(`(?!)`,e),([e,t])=>[Qa(e),t]),xo=e=>ho(mo([`-?(?:0|[1-9][0-9]*)n`,`.*`,`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,`-?(?:0|[1-9][0-9]*)`,`(?!)`,`(`,`)`,`$`,`|`],e),([e,t])=>[$a(e),t]),So=e=>ho(ho(go(e),([e,t])=>[e,t],()=>ho(_o(e),([e,t])=>[e,t],()=>ho(vo(e),([e,t])=>[e,t],()=>ho(yo(e),([e,t])=>[e,t],()=>ho(bo(e),([e,t])=>[e,t],()=>ho(Co(e),([e,t])=>[e,t],()=>ho(xo(e),([e,t])=>[e,t],()=>[]))))))),([e,t])=>[eo(e),t]),Co=e=>ho(ho(uo(`(`,e),([e,t])=>ho(Eo(t),([t,n])=>ho(uo(`)`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[Zte(e),t]),wo=e=>ho(ho(ho(To(e),([e,t])=>ho(uo(`|`,t),([t,n])=>ho(wo(n),([n,r])=>[[e,t,n],r]))),([e,t])=>[e,t],()=>ho(ho(To(e),([e,t])=>[[e],t]),([e,t])=>[e,t],()=>ho([[],e],([e,t])=>[e,t],()=>[]))),([e,t])=>[Qte(e),t]),To=e=>ho(ho(So(e),([e,t])=>ho(Eo(t),([t,n])=>[[e,t],n])),([e,t])=>[$te(e),t]),Eo=e=>ho(ho(wo(e),([e,t])=>[e,t],()=>ho(To(e),([e,t])=>[e,t],()=>[])),([e,t])=>[ene(e),t]),Do=e=>ho(ho(uo(`^`,e),([e,t])=>ho(Eo(t),([t,n])=>ho(uo(`$`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[tne(e),t]);function Oo(e){return e.join(`|`)}function ko(e){return e.slice(1,e.length-1)}function Ao(e,t,n){return Vo(t,`${n}${e}`)}function jo(e,t){return Vo(e,`${t}-?(?:0|[1-9][0-9]*)n`)}function Mo(e,t){return Vo(e,`${t}${Ri}`)}function No(e,t){return Vo(e,`${t}${Yi}`)}function Po(e,t){return Bo(ii([Ui(`false`),Ui(`true`)]),e,t)}function Fo(e,t){return Vo(e,`${t}.*`)}function Io(e,t,n){return Vo(t,`${n}${ko(e)}`)}function Lo(e,t,n){return Bo(Wo(e,{}),t,n)}function Ro(e,t,n){return zo(pa(e),t,n)}function zo(e,t,n,r=[]){return on(e,(e,i)=>zo(i,t,n,[...r,Bo(e,[],``)]),()=>Vo(t,`${n}(${Oo(r)})`))}function Bo(e,t,n){return mi(e)?Ro(e.enum,t,n):Bi(e)?Mo(t,n):Ki(e)?Ao(e.const,t,n):Ii(e)?jo(t,n):Li(e)?Po(t,n):Zi(e)?No(t,n):ea(e)?Fo(t,n):Jo(e)?Io(e.pattern,t,n):qo(e)?Lo(e.parameters[0],t,n):ai(e)?zo(e.anyOf,t,n):`(?!)`}function Vo(e,t){return on(e,(e,n)=>Bo(e,n,t),()=>t)}function Ho(e){return`^${Vo(e,``)}$`}function Uo(e){return aa(Ho(e))}function Wo(e,t){return eu(e)?dr(Uo(e),{},t):Ko(e,t)}function Go(e,t,n,r){return Wo(ou(e,t,n),r)}function Ko(e,t={}){return vr(`TemplateLiteral`,[e],t)}function qo(e){return pr(e)&&z(e,`action`)&&R(e.action,`TemplateLiteral`)}function Jo(e){return fr(e,`TemplateLiteral`)}function Yo(e){return lr({"~kind":`ExtendsUnion`},{inferred:e})}function Xo(e){return Wt(e)&&z(e,`~kind`)&&z(e,`inferred`)&&R(e[`~kind`],`ExtendsUnion`)&&Wt(e.inferred)}function Zo(e){return lr({"~kind":`ExtendsTrue`},{inferred:e})}function Qo(e){return Wt(e)&&z(e,`~kind`)&&z(e,`inferred`)&&R(e[`~kind`],`ExtendsTrue`)&&Wt(e.inferred)}function $o(){return lr({"~kind":`ExtendsFalse`},{})}function es(e){return Wt(e)&&z(e,`~kind`)&&R(e[`~kind`],`ExtendsFalse`)}function ts(e){return Xo(e)||Qo(e)}function ns(e,t,n){return ts(e)?t(e.inferred):n()}function sne(e,t,n,r){return ns(bs(e,n,r),r=>Zo(wt(wt(e,r),{[t]:n})),()=>$o())}function cne(e,t){return Zo(e)}function lne(e,t,n){return bs(e,t,ma(n))}function rs(e,t,n){return on(n,(n,r)=>ns(bs(e,t,n),e=>rs(e,t,r),()=>$o()),()=>Zo(e))}function une(e,t,n){return bs(e,t,da(n))}function is(e,t,n){return on(n,(n,r)=>ns(bs(e,t,n),e=>Zo(e),()=>is(e,t,r)),()=>$o())}function as(e,t,n){return Yr(n)?cne(e,t):mi(n)?lne(e,t,n.enum):pi(n)?sne(e,n.name,t,n.extends):gi(n)?rs(e,t,n.allOf):Jo(n)?une(e,t,n.pattern):ai(n)?is(e,t,n.anyOf):ci(n)?Zo(e):$o()}function dne(e,t,n){return pi(n)?as(e,t,n):Yr(n)||ci(n)?Zo(e):Yo(e)}function fne(e,t){let n=Cr(e),r=Cr(t);return n&&r||!n&&r?!0:!(n&&!r)}function pne(e,t,n,r){return Fr(r)?fne(t,r)?bs(e,n,r.items):$o():as(e,t,r)}function mne(e,t,n){return Rr(n)?bs(e,t,n.iteratorItems):as(e,Lr(t),n)}function hne(e,t,n){return Ii(n)?Zo(e):as(e,t,n)}function gne(e,t,n){return Li(n)?Zo(e):as(e,t,n)}function _ne(e,t,n,r,i){let a=pi(r)?t:r,o=pi(r)?r:t,s=Er(t),c=Er(r);return!s&&c?$o():ns(bs(e,a,o),e=>os(e,n,i),()=>$o())}function vne(e,t,n,r){return on(r,(r,i)=>_ne(e,t,n,r,i),()=>Er(t)?Zo(e):$o())}function yne(e,t,n){return on(t,(t,r)=>vne(e,t,r,n),()=>Zo(e))}function os(e,t,n){return yne(e,t,n)}function ss(e,t,n){return qa(n)?Zo(e):bs(e,t,n)}function bne(e,t,n,r){return Yr(r)||ci(r)?Zo(e):Vr(r)?ns(os(e,t,r.parameters),e=>ss(e,n,r.instanceType),()=>$o()):$o()}function xne(e,t,n){return bs(e,ha(t),n)}function Sne(e,t,n,r){return Yr(r)||ci(r)?Zo(e):Ur(r)?ns(os(e,t,r.parameters),e=>ss(e,n,r.returnType),()=>$o()):$o()}function Cne(e,t,n){return Bi(n)||Zi(n)?Zo(e):as(e,t,n)}function wne(e,t,n){return bs(e,wa(t),n)}function Tne(e,t,n){return Hi(n)?bs(e,t,n.iteratorItems):as(e,Vi(t),n)}function cs(e,t,n){return t===n?Zo(e):$o()}function Ene(e,t,n){return Ki(n)?cs(e,t,n.const):Ii(n)?Zo(e):as(e,Ui(t),n)}function Dne(e,t,n){return Ki(n)?cs(e,t,n.const):Li(n)?Zo(e):as(e,Ui(t),n)}function One(e,t,n){return Ki(n)?cs(e,t,n.const):Zi(n)?Zo(e):as(e,Ui(t),n)}function kne(e,t,n){return Ki(n)?cs(e,t,n.const):ea(n)?Zo(e):as(e,Ui(t),n)}function Ane(e,t,n){return Ft(t.const)?Ene(e,t.const,n):It(t.const)?Dne(e,t.const,n):Ht(t.const)?One(e,t.const,n):Gt(t.const)?kne(e,t.const,n):Si()}function jne(e,t,n){return pi(n)?as(e,t,n):Zo(e)}function Mne(e,t,n){return Ji(n)?Zo(e):as(e,t,n)}function Nne(e,t,n){return Zi(n)?Zo(e):as(e,t,n)}function Pne(e,t,n){return Er(t)?Er(n)?Zo(e):$o():Zo(e)}function Fne(e,t,n){return pi(n)&&Zr(n.extends)?$o():ns(bs(e,t,n),e=>Pne(e,t,n),()=>$o())}function Ine(e,t){return e.reduce((e,n)=>n in t&&ts(t[n])?{...e,...t[n].inferred}:Si(),{})}function Lne(e,t,n){let r={};for(let i of ln(n))r[i]=i in t?Fne({},t[i],n[i]):Er(n[i])?pi(n[i])?Zo(wt(e,{[n[i].name]:n[i].extends})):Zo(e):$o();let i=un(r).every(e=>ts(e)),a=i?Ine(ln(r),r):{};return i?Zo(a):$o()}function Rne(e,t,n){let r=Lne(e,t,n);return ts(r)?Zo(wt(e,r.inferred)):$o()}function zne(e,t,n){return Rne(e,t,n)}function Bne(e,t,n){return ni(n)?zne(e,t,n.properties):as(e,ti(t),n)}function Vne(e,t,n){return xr(n)?bs(e,t,n.item):as(e,br(t),n)}function Hne(e,t,n){return ea(n)?Zo(e):as(e,t,n)}function Une(e,t,n){return Qi(n)?Zo(e):as(e,t,n)}function Wne(e,t,n){return bs(e,da(t),n)}function ls(e,t){return lr({"~kind":`Inferrable`},{name:e,type:t},{})}function us(e){return Wt(e)&&z(e,`~kind`)&&z(e,`name`)&&z(e,`type`)&&R(e[`~kind`],`Inferrable`)&&Gt(e.name)&&Wt(e.type)}function ds(e){return Ua(e)?pi(e.items)?Fr(e.items.extends)?ls(e.items.name,e.items.extends.items):ci(e.items.extends)?ls(e.items.name,e.items.extends):void 0:Si():void 0}function fs(e){return pi(e)?ls(e.name,e.extends):void 0}function ps(e,t,n=[]){return on(e,(e,r)=>ns(bs({},e,t),()=>ps(r,t,[...n,e]),()=>void 0),()=>n)}function Gne(e,t,n,r){let i=ps(n,r);return Nt(i)?Zo(wt(e,{[t]:ga(i)})):$o()}function ms(e,t,n,r){let i=ps(n,r);return Nt(i)?Zo(wt(e,{[t]:ii(i)})):$o()}function Kne(e){return[...e].reverse()}function hs(e,t){return t?Kne(e):e}function qne(e){let t=e.length>0?e[0]:void 0;return pr(pr(t)?ds(t):void 0)}function Jne(e,t,n,r,i,a){return ns(bs(e,n,i),e=>gs(e,t,r,a),()=>$o())}function Yne(e,t,n,r,i){let a=ds(r);return us(a)?Gne(e,a.name,hs(n,t),a.type):on(n,(n,a)=>Jne(e,t,n,a,r,i),()=>$o())}function Xne(e,t,n,r){return on(r,(r,i)=>Yne(e,t,n,r,i),()=>R(n.length,0)?Zo(e):$o())}function gs(e,t,n,r){return Xne(e,t,n,r)}function Zne(e,t,n){let r=au(e,{callstack:[]},n),i=qne(r);return gs(e,i,hs(t,i),hs(r,i))}function _s(e,t,n){let r=fs(n);return us(r)?ms(e,r.name,t,r.type):on(t,(t,r)=>ns(bs(e,t,n),e=>_s(e,r,n),()=>$o()),()=>Zo(e))}function Qne(e,t,n){let r=au(e,{callstack:[]},t);return _a(n)?Zne(e,r,n.items):Fr(n)?_s(e,r,n.items):as(e,ga(r),n)}function $ne(e,t,n){return qa(n)||Ka(n)?Zo(e):as(e,t,n)}function vs(e,t,n){return on(n,(n,r)=>ns(bs(e,t,n),e=>Zo(e),()=>vs(e,t,r)),()=>$o())}function ys(e,t,n){return on(t,(t,r)=>ns(vs(e,t,n),e=>ys(e,r,n),()=>$o()),()=>Zo(e))}function ere(e,t,n){let r=fs(n);return us(r)?ms(e,r.name,t,r.type):ai(n)?ys(e,t,n.anyOf):ys(e,t,[n])}function tre(e,t,n){return pi(n)?as(e,t,n):Yr(n)||ci(n)?Zo(e):$o()}function nre(e,t,n){return qa(n)?Zo(e):as(e,t,n)}function bs(e,t,n){return Yr(t)?dne(e,t,n):Fr(t)?pne(e,t,t.items,n):Rr(t)?mne(e,t.iteratorItems,n):Ii(t)?hne(e,t,n):Li(t)?gne(e,t,n):Vr(t)?bne(e,t.parameters,t.instanceType,n):mi(t)?xne(e,t,n):Ur(t)?Sne(e,t.parameters,t.returnType,n):Bi(t)?Cne(e,t,n):gi(t)?wne(e,t.allOf,n):Hi(t)?Tne(e,t.iteratorItems,n):Ki(t)?Ane(e,t,n):Zr(t)?jne(e,t,n):Ji(t)?Mne(e,t,n):Zi(t)?Nne(e,t,n):ni(t)?Bne(e,t.properties,n):xr(t)?Vne(e,t.item,n):ea(t)?Hne(e,t,n):Qi(t)?Une(e,t,n):Jo(t)?Wne(e,t.pattern,n):_a(t)?Qne(e,t.items,n):Ka(t)?$ne(e,t,n):ai(t)?ere(e,t.anyOf,n):ci(t)?tre(e,t,n):qa(t)?nre(e,t,n):$o()}function rre(e,t){return wa([...e,ti(t)])}function ire(e,t,n){return eu(e)?dr(rre(e,t),{},n):ore(e,t,n)}function are(e,t,n,r,i){return ire(ou(e,t,n),iu(e,t,r),i)}function ore(e,t,n={}){return vr(`Interface`,[e,t],n)}function xs(e){return pr(e)&&z(e,`action`)&&R(e.action,`Interface`)}function sre(e,t,n){return e.includes(n)?!0:ws([...e,n],t,t[n])}function Ss(e,t,n){return Cs(e,t,ei(n))}function Cs(e,t,n){return on(n,(n,r)=>ws(e,t,n)?!0:Cs(e,t,r),()=>!1)}function ws(e,t,n){return Gr(n)?sre(e,t,n.$ref):Fr(n)?ws(e,t,n.items):Rr(n)?ws(e,t,n.iteratorItems):Vr(n)?Cs(e,t,[...n.parameters,n.instanceType]):Ur(n)?Cs(e,t,[...n.parameters,n.returnType]):xs(n)?Ss(e,t,n.parameters[1]):gi(n)?Cs(e,t,n.allOf):Hi(n)?ws(e,t,n.iteratorItems):ni(n)?Ss(e,t,n.properties):xr(n)?ws(e,t,n.item):ai(n)?Cs(e,t,n.anyOf):_a(n)?Cs(e,t,n.items):Va(n)?ws(e,t,Ba(n)):!1}function Ts(e,t,n){return ws(e,t,n)}function Es(e,t){return t.reduce((t,n)=>n in e?Ts([n],e,e[n])?[...t,n]:t:Si(),[])}function Ds(e){return Es(e,$r(e))}function Os(e,t,n){return n.includes(t)?n:t in e?js(e,e[t],[...n,t]):Si()}function ks(e,t,n){return As(e,ei(t),n)}function As(e,t,n){return t.reduce((t,n)=>js(e,n,t),n)}function js(e,t,n){return Gr(t)?Os(e,t.$ref,n):Fr(t)?js(e,t.items,n):Rr(t)?js(e,t.iteratorItems,n):Vr(t)?As(e,[...t.parameters,t.instanceType],n):Ur(t)?As(e,[...t.parameters,t.returnType],n):xs(t)?ks(e,t.parameters[1],n):gi(t)?As(e,t.allOf,n):Hi(t)?js(e,t.iteratorItems,n):ni(t)?ks(e,t.properties,n):xr(t)?js(e,t.item,n):ai(t)?As(e,t.anyOf,n):_a(t)?As(e,t.items,n):Va(t)?js(e,Ba(t),n):n}function Ms(e,t,n){return js(e,n,[t])}function Ns(e){return Jr()}function Ps(e){return ln(e).reduce((t,n)=>({...t,[n]:Is(e[n])}),{})}function Fs(e){return e.reduce((e,t)=>[...e,Is(t)],[])}function Is(e){return Gr(e)?Ns(e.$ref):Fr(e)?Pr(Is(e.items),Ir(e)):Rr(e)?Lr(Is(e.iteratorItems)):Vr(e)?Br(Fs(e.parameters),Is(e.instanceType)):Ur(e)?Hr(Fs(e.parameters),Is(e.returnType)):gi(e)?hi(Fs(e.allOf)):Hi(e)?Vi(Is(e.iteratorItems)):ni(e)?ti(Ps(e.properties)):xr(e)?br(Is(e.item)):Va(e)?Xte(za(e),Is(Ba(e))):ai(e)?ii(Fs(e.anyOf)):_a(e)?ga(Fs(e.items)):e}function Ls(e,t){return t in e?Is(e[t]):si()}function Rs(e){return Ls(e.$defs,e.$ref)}function zs(e,t,n){let r=ou(e,{callstack:[]},t),i=iu({},{callstack:[]},n);return wa([...r,ti(i)])}function Bs(e,t){return ln(e).filter(e=>t.includes(e)).reduce((t,n)=>{let r=e[n],i=xs(r)?zs(e,r.parameters[0],r.parameters[1]):r;return{...t,[n]:i}},{})}function Vs(e,t,n){return li(Bs(e,Ms(e,t,n)),t)}function Hs(e,t){return t in e?Gr(e[t])?Hs(e,e[t].$ref):e[t]:Xr()}function Us(e,t){return Hs(e,t)}function Ws(e){return ui(e)?Rs(e):di(e)?si():e}function Gs(e,t,n){return bs(e,Ws(t),Ws(n))}function Ks(e,t){let n=[ci(e)?$o():Gs({},e,t),ci(e)?Zo({}):Gs({},t,e)];return ts(n[0])&&ts(n[1])?`equal`:ts(n[0])&&es(n[1])?`left-inside`:es(n[0])&&ts(n[1])?`right-inside`:`disjoint`}function qs(e,t){return t.filter(t=>Ks(e,t)!==`right-inside`)}function Js(e,t){return R(t.some(t=>{let n=Ks(e,t);return R(n,`left-inside`)||R(n,`equal`)}),!1)}function Ys(e,t){let n=Ea(e);return Yr(n)?[n]:Js(n,t)?[...qs(n,t),n]:t}function Xs(e){return e.reduce((e,t)=>ni(t)?[...e,t]:Zr(t)?e:Ys(t,e),[])}function Zs(e){let t=ja(Xs(e));return t.length===0?Xr():t.length===1?t[0]:ii(t)}function Qs(e,t){return dr(Ea(e),{},t)}function $s(e,t,n,r){return Qs(cu(e,t,n),r)}function ec(e,t=[]){return yr(e)&&R(e.action,`Conditional`)?Gr(e.parameters[0])?ec(e.parameters[2],ec(e.parameters[3],[...t,e.parameters[0].$ref])):ec(e.parameters[2],ec(e.parameters[3],t)):yr(e)&&R(e.action,`Mapped`)&&yr(e.parameters[1])&&R(e.parameters[1].action,`KeyOf`)&&Gr(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function tc(e,t){return e.reduce((e,n)=>[...e,t.includes(n.name)],[])}function nc(e,t,n=[]){let[r,...i]=e,[a,...o]=t;return Jt(e.length,0)&&Jt(t.length,0)?nc(i,o,[...n,[a,r]]):n}function rc(e){return ai(e)?[...e.anyOf]:[e]}function ic(e,t){return e.reduce((e,n)=>[...e,[...n,t]],[])}function ac(e,t){return t.reduce((t,n)=>[...t,...ic(e,n)],[])}function oc(e){return e.reduce((e,t)=>R(t[0],!0)?ac(e,rc(t[1])):ac(e,[t[1]]),[[]])}function sc(e,t,n){let r=nc(t,tc(e,ec(n)));return yr(n)&&R(n.action,`Conditional`)||yr(n)&&R(n.action,`Mapped`)?oc(r):[t]}function cc(){return[`(not-resolvable)`,Xr()]}function lc(){return[`(not-generic)`,Xr()]}function uc(e,t,n){return[e,Kr(t,n)]}function dc(e,t,n){return t in e?fc(e,t,e[t],n):cc()}function fc(e,t,n,r){return qr(n)?uc(t,n.parameters,n.expression):Gr(n)?dc(e,n.$ref,r):lc()}function pc(e,t,n){return fc(e,`(anonymous)`,t,n)}function mc(e,t,n){if(pi(t)||Ec(t)||ts(Gs({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function hc(e,t,n,r,i){let a=cu(e,t,i);return mc(n,a,r),wt(e,{[n]:a})}function gc(e,t,n,r,i){let a=cu(e,t,n.extends),o=cu(e,t,n.equals);return on(i,(i,o)=>_c(hc(e,t,n.name,a,i),t,r,o),()=>_c(hc(e,t,n.name,a,o),t,r,[]))}function _c(e,t,n,r){return on(n,(n,i)=>gc(e,t,n,i,r),()=>e)}function vc(e,t,n,r){return _c(e,t,n,r)}function yc(e){return Jt(e.callstack.length,0)?e.callstack[e.callstack.length-1]:``}function bc(e,t){return R(yc(e),t)}function xc(e,t,n,r,i,a){return cu(e,t,cu(vc(e,t,r,a),{callstack:[...t.callstack,n.$ref]},i))}function Sc(e,t,n,r,i,a){return a.reduce((a,o)=>[...a,xc(e,t,n,r,i,o)],[])}function Cc(e,t,n,r,i,a){let o=Sc(e,t,n,r,i,sc(r,a,i));return R(o.length,1)?o[0]:Ta(o)}function wc(e,t,n,r){let i=ou(e,t,r),a=pc(e,n,r),o=a[0],s=a[1];return qr(s)?bc(t,o)?Tc(Wr(o),i):Cc(e,t,Wr(o),s.parameters,s.expression,i):Tc(n,i)}function Tc(e,t){return lr({"~kind":`Call`},{target:e,arguments:t},{})}function Ec(e){return fr(e,`Call`)}function Dc(e,t){return e(t)}function Oc(e,t){return Gt(t)?Ui(Dc(e,t)):Ui(t)}function kc(e,t){return jc(e,da(t))}function Ac(e,t){return ii(t.map(t=>jc(e,t)))}function jc(e,t){return Ki(t)?Oc(e,t.const):Jo(t)?kc(e,t.pattern):ai(t)?Ac(e,t.anyOf):t}function Mc(e,t={}){return vr(`Capitalize`,[e],t)}function Nc(e,t={}){return vr(`Lowercase`,[e],t)}function Pc(e,t={}){return vr(`Uncapitalize`,[e],t)}function Fc(e,t={}){return vr(`Uppercase`,[e],t)}const Ic=e=>e[0].toUpperCase()+e.slice(1),Lc=e=>e.toLowerCase(),Rc=e=>e[0].toLowerCase()+e.slice(1),zc=e=>e.toUpperCase();function Bc(e,t){return eu([e])?dr(jc(Ic,e),{},t):Mc(e,t)}function Vc(e,t){return eu([e])?dr(jc(Lc,e),{},t):Nc(e,t)}function Hc(e,t){return eu([e])?dr(jc(Rc,e),{},t):Pc(e,t)}function Uc(e,t){return eu([e])?dr(jc(zc,e),{},t):Fc(e,t)}function Wc(e,t,n,r){return Bc(cu(e,t,n),r)}function Gc(e,t,n,r){return Vc(cu(e,t,n),r)}function Kc(e,t,n,r){return Hc(cu(e,t,n),r)}function qc(e,t,n,r){return Uc(cu(e,t,n),r)}function Jc(e,t,n,r,i={}){return vr(`Conditional`,[e,t,n,r],i)}function Yc(e,t,n,r,i,a){let o=Gs(e,n,r);return Xo(o)?ii([cu(o.inferred,t,i),cu(e,t,a)]):Qo(o)?cu(o.inferred,t,i):cu(e,t,a)}function Xc(e,t,n,r,i,a,o){return eu([n,r])?dr(Yc(e,t,n,r,i,a),{},o):Jc(n,r,i,a,o)}function cre(e,t,n,r,i,a,o){return Xc(e,t,cu(e,t,n),cu(e,t,r),i,a,o)}function lre(e,t={}){return vr(`ConstructorParameters`,[e],t)}function ure(e){return ga(au({},{callstack:[]},Vr(e)?e.parameters:[]))}function dre(e,t){return eu([e])?dr(ure(e),{},t):lre(e,t)}function fre(e,t,n,r){return dre(cu(e,t,n),r)}function pre(e,t,n={}){return vr(`Exclude`,[e,t],n)}function Zc(e,t){return e.reduce((e,n)=>[...e,...Qc(n,t)],[])}function Qc(e,t){return ts(Gs({},e,t))?[]:[e]}function mre(e,t){return Ta(mi(e)?Zc(pa(e.enum),t):ai(e)?Zc(ja(e.anyOf),t):Qc(e,t))}function $c(e,t,n){return eu([e,t])?dr(mre(e,t),{},n):pre(e,t,n)}function hre(e,t,n,r,i){return $c(cu(e,t,n),cu(e,t,r),i)}function gre(e,t,n={}){return vr(`Extract`,[e,t],n)}function el(e,t){return e.reduce((e,n)=>[...e,...tl(n,t)],[])}function tl(e,t){return ts(Gs({},e,t))?[e]:[]}function _re(e,t){return Ta(mi(e)?el(pa(e.enum),t):ai(e)?el(ja(e.anyOf),t):tl(e,t))}function vre(e,t,n){return eu([e,t])?dr(_re(e,t),{},n):gre(e,t,n)}function yre(e,t,n,r,i){return vre(cu(e,t,n),cu(e,t,r),i)}function bre(e,t,n={}){return vr(`Index`,[e,t],n)}function xre(e,t){return rl(Us(e,t))}function Sre(e,t){let n=ln(e).filter(e=>!z(t,e)),r=ln(t).filter(t=>!z(e,t)),i=ln(e).filter(e=>z(t,e)),a=n.reduce((t,n)=>({...t,[n]:e[n]}),{}),o=r.reduce((e,n)=>({...e,[n]:t[n]}),{}),s=i.reduce((n,r)=>({...n,[r]:wa([e[r],t[r]])}),{});return wt(wt(a,o),s)}function Cre(e){return e.reduce((e,t)=>Sre(e,rl(t)),{})}function wre(e){return e}function Tre(e){return rl(Ate(ga(e)))}function Ere(e,t){return ln(e).filter(e=>e in t).reduce((n,r)=>({...n,[r]:Ta([e[r],t[r]])}),{})}function nl(e,t){return on(e,(e,n)=>nl(n,Ere(t,rl(e))),()=>t)}function Dre(e){return on(e,(e,t)=>nl(t,rl(e)),()=>Si())}function rl(e){return ui(e)?xre(e.$defs,e.$ref):gi(e)?Cre(e.allOf):ai(e)?Dre(e.anyOf):_a(e)?Tre(e.items):ni(e)?wre(e.properties):{}}function il(e){return ti(rl(e))}const Ore=RegExp(`^(?:0|[1-9][0-9]*)$`);function al(e){let t=`${e}`;return Ore.test(t)?parseInt(t):e}function kre(e){return Ui(al(e))}function ol(e){return e.map(e=>sl(e))}function sl(e){return gi(e)?hi(ol(e.allOf)):ai(e)?ii(ol(e.anyOf)):Ki(e)?kre(e.const):e}function Are(e,t){return ts(Gs({},sl(t),Xi()))?e:Ki(t)&&R(t.const,`length`)?Xi():Xr()}function jre(e,t){return ll(Us(e,t))}function cl(e){return e.reduce((e,t)=>[...e,...ll(t)],[])}function Mre(e){return cl(pa(e))}function Nre(e){return ll(wa(e))}function Pre(e){return[`${e}`]}function Fre(e){return ll(da(e))}function ll(e){return ui(e)?jre(e.$defs,e.$ref):mi(e)?Mre(e.enum):gi(e)?Nre(e.allOf):Ki(e)?Pre(e.const):Jo(e)?Fre(e.pattern):ai(e)?cl(e.anyOf):[]}function ul(e){return ll(e)}function dl(e,t){return t.map(t=>fl(e,t))}function fl(e,t){return Fr(t)?Pr(fl(e,t.items)):Rr(t)?Lr(fl(e,t.iteratorItems)):Vr(t)?Br(dl(e,t.parameters),fl(e,t.instanceType)):Ur(t)?Hr(dl(e,t.parameters),fl(e,t.returnType)):Hi(t)?Vi(fl(e,t.iteratorItems)):xr(t)?br(fl(e,t.item)):_a(t)?ga(dl(e,t.items)):ai(t)?ii(dl(e,t.anyOf)):gi(t)?hi(dl(e,t.allOf)):Wa(t)?ti(e):t}function Ire(e,t){return fl(e,t)}function Lre(e,t){return Ire(e,t in e?e[t]:Xr())}function pl(e,t){return t.reduce((t,n)=>[...t,Lre(e,n)],[])}function Rre(e,t){return Ta(pl(e,ul(t)))}const zre=new RegExp(Pa);function Bre(e){return e.filter(e=>zre.test(e))}function Vre(e){return Ta(pl(e,Bre($r(e))))}function Hre(e,t){return Zi(t)?Vre(e):Rre(e,t)}function Ure(e){return Ui(al(e))}function ml(e){return e.map(e=>hl(e))}function hl(e){return gi(e)?hi(ml(e.allOf)):ai(e)?ii(ml(e.anyOf)):Ki(e)?Ure(e.const):e}function Wre(e,t){return e.reduceRight((e,n,r)=>ts(Gs({},Ui(r),t))?[n,...e]:e,[])}function Gre(e,t){return Da(Wre(e,hl(t)))}function Kre(e){return Da(e)}function qre(e,t){return Ki(t)&&R(t.const,`length`)?Ui(e.length):Zi(t)||Bi(t)?Kre(e):Gre(e,t)}function Jre(e,t){return Fr(e)?Are(e.items,t):ni(e)?Hre(e.properties,t):_a(e)?qre(e.items,t):Xr()}function Yre(e){return ui(e)||gi(e)||ai(e)?il(e):e}function Xre(e,t,n){return eu([e,t])?dr(Jre(Yre(e),t),{},n):bre(e,t,n)}function Zre(e,t,n,r,i){return Xre(cu(e,t,n),cu(e,t,r),i)}function Qre(e,t={}){return vr(`InstanceType`,[e],t)}function $re(e){return Vr(e)?e.instanceType:Xr()}function eie(e,t){return eu([e])?dr($re(e),{},t):Qre(e,t)}function tie(e,t,n,r={}){return eie(cu(e,t,n),r)}function nie(e,t={}){return vr(`KeyOf`,[e],t)}function rie(){return ii([Xi(),$i(),_te()])}function iie(e){return Xi()}function aie(e){return e.reduce((e,t)=>mte(t)?[...e,Ui(al(t))]:Si(),[])}function oie(e){return Da(aie(ln(e)))}function sie(e){return za(e)}function cie(e){return Da(e.map((e,t)=>Ui(t)))}function lie(e){return Yr(e)?rie():Fr(e)?iie(e.items):ni(e)?oie(e.properties):Va(e)?sie(e):_a(e)?cie(e.items):Xr()}function uie(e){return ui(e)||gi(e)||ai(e)?il(e):e}function die(e,t){return eu([e])?dr(lie(uie(e)),{},t):nie(e,t)}function fie(e,t,n,r){return die(cu(e,t,n),r)}function pie(e,t,n,r,i={}){return vr(`Mapped`,[e,t,n,r],i)}function mie(e){return _l(da(e))}function gl(e){return e.reduce((e,t)=>[...e,..._l(t)],[])}function hie(e){return Ht(e)?[Ui(`${e}`)]:[Ui(e)]}function _l(e){return mi(e)?gl(pa(e.enum)):Ki(e)?hie(e.const):Jo(e)?mie(e.pattern):ai(e)?gl(e.anyOf):[e]}function gie(e){return _l(e)}function _ie(e){return Jo(e)?da(e.pattern):e}function vie(e,t,n,r,i,a){let o=wt(e,{[n.name]:r}),s=_ie(cu(o,t,i)),c=cu(o,t,a);return Wi(s)||Gi(s)?{[s.const]:c}:{}}function yie(e,t,n,r,i,a){return r.reduce((r,o)=>[...r,vie(e,t,n,o,i,a)],[])}function bie(e){return e.reduce((e,t)=>[...e,ti(t)],[])}function xie(e,t,n,r,i,a){return wa(bie(yie(e,t,n,gie(r),i,a)))}function Sie(e,t,n,r,i,a,o){return eu([r])?dr(xie(e,t,n,r,i,a),{},o):pie(n,r,i,a,o)}function Cie(e,t,n,r,i,a,o){return Sie(e,t,n,cu(e,t,r),i,a,o)}function wie(e,t){return ln(e).filter(e=>t.includes(e)).reduce((t,n)=>({...t,[n]:Vs(e,n,e[n])}),{})}function Tie(e,t){return ln(e).filter(e=>!t.includes(e)).reduce((t,n)=>({...t,[n]:cu(e,{callstack:[]},e[n])}),{})}function Eie(e,t){let n=Ds(e),r=wie(e,n),i=Tie(e,n);return dr({...r,...i},{},t)}function Die(e,t,n,r){return Eie(wt(e,n),r)}function Oie(e,t={}){return vr(`NonNullable`,[e],t)}function kie(e){return $c(e,ii([qi(),Ga()]),{})}function Aie(e,t){return eu([e])?dr(kie(e),{},t):Oie(e,t)}function jie(e,t,n,r){return Aie(cu(e,t,n),r)}function Mie(e,t,n={}){return vr(`Omit`,[e,t],n)}function vl(e){let t=il(e);return ni(t)?t.properties:Si()}function Nie(e,t){return ln(e).reduce((n,r)=>t.includes(r)?n:{...n,[r]:e[r]},{})}function Pie(e,t){return ti(Nie(vl(e),ul(t)))}function Fie(e,t,n){return eu([e,t])?dr(Pie(e,t),{},n):Mie(e,t,n)}function Iie(e,t,n,r,i){return Fie(cu(e,t,n),cu(e,t,r),i)}function Lie(e,t){return vr(`Options`,[e,t],{})}function Rie(e,t){return yl(e,t)}function yl(e,t){return eu([e])?dr(e,{},t):Lie(e,t)}function zie(e,t,n,r){return yl(cu(e,t,n),r)}function Bie(e,t={}){return vr(`Parameters`,[e],t)}function Vie(e){return ga(au({},{callstack:[]},Ur(e)?e.parameters:[]))}function Hie(e,t){return eu([e])?dr(Vie(e),{},t):Bie(e,t)}function Uie(e,t,n,r){return Hie(cu(e,t,n),r)}function Wie(e,t={}){return vr(`Partial`,[e],t)}function Gie(e,t){let n=xl(Us(e,t));return li(wt(e,{[t]:n}),t)}function Kie(e){return wa(e.map(e=>xl(e)))}function qie(e){return ii(e.map(e=>xl(e)))}function bl(e){return ti(ln(e).reduce((t,n)=>({...t,[n]:Bee(e[n])}),{}))}function xl(e){return ui(e)?Gie(e.$defs,e.$ref):gi(e)?Kie(e.allOf):ai(e)?qie(e.anyOf):ni(e)?bl(e.properties):ti({})}function Sl(e,t){return eu([e])?dr(xl(e),{},t):Wie(e,t)}function Cl(e,t,n,r){return Sl(cu(e,t,n),r)}function wl(e,t,n={}){return vr(`Pick`,[e,t],n)}function Tl(e,t){return ln(e).reduce((n,r)=>t.includes(r)?wt(n,{[r]:e[r]}):n,{})}function El(e,t){return ti(Tl(vl(e),ul(t)))}function Dl(e,t,n){return eu([e,t])?dr(El(e,t),{},n):wl(e,t,n)}function Ol(e,t,n,r,i){return Dl(cu(e,t,n),cu(e,t,r),i)}function kl(e,t={}){return vr(`ReadonlyObject`,[e],t)}function Al(e){return Sr(Pr(e))}function jl(e,t){let n=Il(Us(e,t));return li(wt(e,{[t]:n}),t)}function Ml(e){return wa(e.map(e=>Il(e)))}function Nl(e){return ti(ln(e).reduce((t,n)=>({...t,[n]:kr(e[n])}),{}))}function Pl(e){return Sr(ga(e))}function Fl(e){return ii(e.map(e=>Il(e)))}function Il(e){return Fr(e)?Al(e.items):ui(e)?jl(e.$defs,e.$ref):gi(e)?Ml(e.allOf):ni(e)?Nl(e.properties):_a(e)?Pl(e.items):ai(e)?Fl(e.anyOf):e}function Ll(e,t){return eu([e])?dr(Il(e),{},t):kl(e)}function Rl(e,t,n,r){return Ll(cu(e,t,n),r)}function zl(e,t,n,r){return r in e?Ts([r],e,e[r])?n:cu(e,t,e[r]):n}function Bl(e,t){let n=Wl(Us(e,t));return li(wt(e,{[t]:n}),t)}function Vl(e){return wa(e.map(e=>Wl(e)))}function Hl(e){return ii(e.map(e=>Wl(e)))}function Ul(e){return ti(ln(e).reduce((t,n)=>({...t,[n]:wr(e[n])}),{}))}function Wl(e){return ui(e)?Bl(e.$defs,e.$ref):gi(e)?Vl(e.allOf):ai(e)?Hl(e.anyOf):ni(e)?Ul(e.properties):ti({})}function Gl(e,t={}){return vr(`Required`,[e],t)}function Kl(e,t){return eu([e])?dr(Wl(e),{},t):Gl(e,t)}function ql(e,t,n,r){return Kl(cu(e,t,n),r)}function Jl(e,t={}){return vr(`ReturnType`,[e],t)}function Yl(e){return Ur(e)?e.returnType:Xr()}function Xl(e,t){return eu([e])?dr(Yl(e),{},t):Jl(e,t)}function Zl(e,t,n,r={}){return Xl(cu(e,t,n),r)}function Ql(e){return Ua(e)?_a(e.items)?$l(e.items.items):pi(e.items)||Gr(e.items)?[e]:[Xr()]:[e]}function $l(e){return e.reduce((e,t)=>[...e,...Ql(t)],[])}function eu(e){return on(e,(e,t)=>Gr(e)?!1:eu(t),()=>!0)}function tu(e,t,n){return _r(e)?tu(e.type,`remove`,n):hr(e)?tu(e.type,t,`remove`):gr(e)?tu(e.type,`add`,n):mr(e)?tu(e.type,t,`add`):[e,t,n]}function nu(e,t){return R(e,`remove`)?Dr(t):R(e,`add`)?Or(t):t}function ru(e,t){return R(e,`remove`)?wr(t):R(e,`add`)?Tr(t):t}function iu(e,t,n){return ln(n).reduce((r,i)=>({...r,[i]:cu(e,t,n[i])}),{})}function au(e,t,n){return $l(ou(e,t,n))}function ou(e,t,n){return n.map(n=>cu(e,t,n))}function su(e,t,n,r,i){return R(n,`Awaited`)?fu(e,t,r[0],i):R(n,`Capitalize`)?Wc(e,t,r[0],i):R(n,`Conditional`)?cre(e,t,r[0],r[1],r[2],r[3],i):R(n,`ConstructorParameters`)?fre(e,t,r[0],i):R(n,`Evaluate`)?$s(e,t,r[0],i):R(n,`Exclude`)?hre(e,t,r[0],r[1],i):R(n,`Extract`)?yre(e,t,r[0],r[1],i):R(n,`Index`)?Zre(e,t,r[0],r[1],i):R(n,`InstanceType`)?tie(e,t,r[0],i):R(n,`Interface`)?are(e,t,r[0],r[1],i):R(n,`KeyOf`)?fie(e,t,r[0],i):R(n,`Lowercase`)?Gc(e,t,r[0],i):R(n,`Mapped`)?Cie(e,t,r[0],r[1],r[2],r[3],i):R(n,`Module`)?Die(e,t,r[0],i):R(n,`NonNullable`)?jie(e,t,r[0],i):R(n,`Pick`)?Ol(e,t,r[0],r[1],i):R(n,`Options`)?zie(e,t,r[0],r[1]):R(n,`Parameters`)?Uie(e,t,r[0],i):R(n,`Partial`)?Cl(e,t,r[0],i):R(n,`Omit`)?Iie(e,t,r[0],r[1],i):R(n,`ReadonlyObject`)?Rl(e,t,r[0],i):R(n,`Record`)?Jte(e,t,r[0],r[1],i):R(n,`Required`)?ql(e,t,r[0],i):R(n,`ReturnType`)?Zl(e,t,r[0],i):R(n,`TemplateLiteral`)?Go(e,t,r[0],i):R(n,`Uncapitalize`)?Kc(e,t,r[0],i):R(n,`Uppercase`)?qc(e,t,r[0],i):vr(n,r,i)}function cu(e,t,n){let r=Cr(n),i=tu(n,Ar(n)?`add`:`none`,Er(n)?`add`:`none`),a=Nr(i[0])?i[0].Clone():i[0],o=Gr(a)?zl(e,t,a,a.$ref):Fr(a)?Pr(cu(e,t,a.items),Ir(a)):Rr(a)?Lr(cu(e,t,a.iteratorItems),zr(a)):Ec(a)?wc(e,t,a.target,a.arguments):Vr(a)?Br(ou(e,t,a.parameters),cu(e,t,a.instanceType),Vee(a)):yr(a)?su(e,t,a.action,a.parameters,a.options):Ur(a)?Hr(ou(e,t,a.parameters),cu(e,t,a.returnType),Hee(a)):gi(a)?hi(ou(e,t,a.allOf),_i(a)):Hi(a)?Vi(cu(e,t,a.iteratorItems),dte(a)):ni(a)?ti(iu(e,t,a.properties),ri(a)):xr(a)?br(cu(e,t,a.item),Ree(a)):Va(a)?La(Ra(a),cu(e,t,Ba(a))):Ua(a)?Ha(cu(e,t,a.items)):_a(a)?ga(au(e,t,a.items),kte(a)):ai(a)?ii(ou(e,t,a.anyOf),oi(a)):a,s=r?Sr(o):o;return nu(i[1],ru(i[2],s))}function lu(e,t){return cu(e,{callstack:[]},t)}function uu(e){return xr(e)?uu(e.item):e}function du(e,t){return eu([e])?dr(uu(e),{},t):pu(e,t)}function fu(e,t,n,r){return du(cu(e,t,n),r)}function pu(e,t={}){return vr(`Awaited`,[e],t)}function mu(e,t={}){return Qs(e,t)}const hu=new Map;function gu(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function _u(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function vu(e,t){hu.set(e.api,{provider:{api:e.api,stream:gu(e.api,e.stream),streamSimple:_u(e.api,e.streamSimple)},sourceId:t})}function yu(e){return hu.get(e)?.provider}var bu=s(((e,t)=>{t.exports={}}));let xu=null,Su=null,Cu=null;const wu=e=>import(e);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(wu(`node:fs`).then(e=>{xu=e.existsSync}),wu(`node:os`).then(e=>{Su=e.homedir}),wu(`node:path`).then(e=>{Cu=e.join}));let Tu=null;function Eu(e){if(process.versions?.bun&&!(typeof process>`u`)&&!(Object.keys({}).length>0)){if(Tu===null){Tu=new Map;try{let{readFileSync:e}=bu(),t=e(`/proc/self/environ`,`utf-8`);for(let e of t.split(`\0`)){let t=e.indexOf(`=`);t>0&&Tu.set(e.slice(0,t),e.slice(t+1))}}catch{}}return Tu.get(e)}}let Du=null;function Ou(){if(Du===null){if(!xu||!Su||!Cu)return typeof process<`u`&&(process.versions?.node||process.versions?.bun)||(Du=!1),!1;let e={}.GOOGLE_APPLICATION_CREDENTIALS||Eu(`GOOGLE_APPLICATION_CREDENTIALS`);Du=xu(e||Cu(Su(),`.config`,`gcloud`,`application_default_credentials.json`))}return Du}function ku(e){if(e===`github-copilot`)return[`COPILOT_GITHUB_TOKEN`];if(e===`anthropic`)return[`ANTHROPIC_OAUTH_TOKEN`,`ANTHROPIC_API_KEY`];let t={openai:`OPENAI_API_KEY`,"azure-openai-responses":`AZURE_OPENAI_API_KEY`,deepseek:`DEEPSEEK_API_KEY`,google:`GEMINI_API_KEY`,"google-vertex":`GOOGLE_CLOUD_API_KEY`,groq:`GROQ_API_KEY`,cerebras:`CEREBRAS_API_KEY`,xai:`XAI_API_KEY`,openrouter:`OPENROUTER_API_KEY`,"vercel-ai-gateway":`AI_GATEWAY_API_KEY`,zai:`ZAI_API_KEY`,mistral:`MISTRAL_API_KEY`,minimax:`MINIMAX_API_KEY`,"minimax-cn":`MINIMAX_CN_API_KEY`,moonshotai:`MOONSHOT_API_KEY`,"moonshotai-cn":`MOONSHOT_API_KEY`,huggingface:`HF_TOKEN`,fireworks:`FIREWORKS_API_KEY`,together:`TOGETHER_API_KEY`,opencode:`OPENCODE_API_KEY`,"opencode-go":`OPENCODE_API_KEY`,"kimi-coding":`KIMI_API_KEY`,"cloudflare-workers-ai":`CLOUDFLARE_API_KEY`,"cloudflare-ai-gateway":`CLOUDFLARE_API_KEY`,xiaomi:`XIAOMI_API_KEY`,"xiaomi-token-plan-cn":`XIAOMI_TOKEN_PLAN_CN_API_KEY`,"xiaomi-token-plan-ams":`XIAOMI_TOKEN_PLAN_AMS_API_KEY`,"xiaomi-token-plan-sgp":`XIAOMI_TOKEN_PLAN_SGP_API_KEY`}[e];return t?[t]:void 0}function Au(e){let t=ku(e);if(!t)return;let n=t.filter(e=>!!{}[e]||!!Eu(e));return n.length>0?n:void 0}function ju(e){let t=Au(e);if(t?.[0])return{}[t[0]]||Eu(t[0]);if(e===`google-vertex`){let e=Ou(),t=!!({}.GOOGLE_CLOUD_PROJECT||{}.GCLOUD_PROJECT||Eu(`GOOGLE_CLOUD_PROJECT`)||Eu(`GCLOUD_PROJECT`)),n=!!({}.GOOGLE_CLOUD_LOCATION||Eu(`GOOGLE_CLOUD_LOCATION`));if(e&&t&&n)return`<authenticated>`}if(e===`amazon-bedrock`&&({}.AWS_PROFILE||{}.AWS_ACCESS_KEY_ID&&{}.AWS_SECRET_ACCESS_KEY||{}.AWS_BEARER_TOKEN_BEDROCK||{}.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||{}.AWS_CONTAINER_CREDENTIALS_FULL_URI||{}.AWS_WEB_IDENTITY_TOKEN_FILE||Eu(`AWS_PROFILE`)||Eu(`AWS_ACCESS_KEY_ID`)&&Eu(`AWS_SECRET_ACCESS_KEY`)||Eu(`AWS_BEARER_TOKEN_BEDROCK`)||Eu(`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`)||Eu(`AWS_CONTAINER_CREDENTIALS_FULL_URI`)||Eu(`AWS_WEB_IDENTITY_TOKEN_FILE`)))return`<authenticated>`}const Mu={openrouter:{"black-forest-labs/flux.2-flex":{id:`black-forest-labs/flux.2-flex`,name:`Black Forest Labs: FLUX.2 Flex`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"black-forest-labs/flux.2-klein-4b":{id:`black-forest-labs/flux.2-klein-4b`,name:`Black Forest Labs: FLUX.2 Klein 4B`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"black-forest-labs/flux.2-max":{id:`black-forest-labs/flux.2-max`,name:`Black Forest Labs: FLUX.2 Max`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"black-forest-labs/flux.2-pro":{id:`black-forest-labs/flux.2-pro`,name:`Black Forest Labs: FLUX.2 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"bytedance-seed/seedream-4.5":{id:`bytedance-seed/seedream-4.5`,name:`ByteDance Seed: Seedream 4.5`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"google/gemini-2.5-flash-image":{id:`google/gemini-2.5-flash-image`,name:`Google: Nano Banana (Gemini 2.5 Flash Image)`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.08333333333333334}},"google/gemini-3-pro-image-preview":{id:`google/gemini-3-pro-image-preview`,name:`Google: Nano Banana Pro (Gemini 3 Pro Image Preview)`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375}},"google/gemini-3.1-flash-image-preview":{id:`google/gemini-3.1-flash-image-preview`,name:`Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0}},"openai/gpt-5-image":{id:`openai/gpt-5-image`,name:`OpenAI: GPT-5 Image`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:10,output:10,cacheRead:1.25,cacheWrite:0}},"openai/gpt-5-image-mini":{id:`openai/gpt-5-image-mini`,name:`OpenAI: GPT-5 Image Mini`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:2.5,output:2,cacheRead:.25,cacheWrite:0}},"openai/gpt-5.4-image-2":{id:`openai/gpt-5.4-image-2`,name:`OpenAI: GPT-5.4 Image 2`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:8,output:15,cacheRead:2,cacheWrite:0}},"openrouter/auto":{id:`openrouter/auto`,name:`Auto Router`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`text`,`image`],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0}},"recraft/recraft-v3":{id:`recraft/recraft-v3`,name:`Recraft: Recraft V3`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4":{id:`recraft/recraft-v4`,name:`Recraft: Recraft V4`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4-pro":{id:`recraft/recraft-v4-pro`,name:`Recraft: Recraft V4 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4-pro-vector":{id:`recraft/recraft-v4-pro-vector`,name:`Recraft: Recraft V4 Pro Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4-vector":{id:`recraft/recraft-v4-vector`,name:`Recraft: Recraft V4 Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1":{id:`recraft/recraft-v4.1`,name:`Recraft: Recraft V4.1`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-pro":{id:`recraft/recraft-v4.1-pro`,name:`Recraft: Recraft V4.1 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-pro-vector":{id:`recraft/recraft-v4.1-pro-vector`,name:`Recraft: Recraft V4.1 Pro Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-utility":{id:`recraft/recraft-v4.1-utility`,name:`Recraft: Recraft V4.1 Utility`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-utility-pro":{id:`recraft/recraft-v4.1-utility-pro`,name:`Recraft: Recraft V4.1 Utility Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-vector":{id:`recraft/recraft-v4.1-vector`,name:`Recraft: Recraft V4.1 Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-fast":{id:`sourceful/riverflow-v2-fast`,name:`Sourceful: Riverflow V2 Fast`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-fast-preview":{id:`sourceful/riverflow-v2-fast-preview`,name:`Sourceful: Riverflow V2 Fast Preview`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-max-preview":{id:`sourceful/riverflow-v2-max-preview`,name:`Sourceful: Riverflow V2 Max Preview`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-pro":{id:`sourceful/riverflow-v2-pro`,name:`Sourceful: Riverflow V2 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-standard-preview":{id:`sourceful/riverflow-v2-standard-preview`,name:`Sourceful: Riverflow V2 Standard Preview`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}},Nu=new Map;for(let[e,t]of Object.entries(Mu)){let n=new Map;for(let[e,r]of Object.entries(t))n.set(e,r);Nu.set(e,n)}const Pu=new Map;function Fu(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function Iu(e,t){Pu.set(e.api,{provider:{api:e.api,generateImages:Fu(e.api,e.generateImages)},sourceId:t})}let Lu;function Ru(e,t){return{api:e.api,provider:e.provider,model:e.id,output:[],stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function zu(){return Lu||=import(`./openrouter-Bo9pYE7k.js`).then(e=>e),Lu}const Bu=async(e,t,n)=>{try{return await(await zu()).generateImagesOpenRouter(e,t,n)}catch(t){return Ru(e,t)}};function Vu(){Iu({api:`openrouter-images`,generateImages:Bu})}Vu();const Hu={"amazon-bedrock":{"amazon.nova-2-lite-v1:0":{id:`amazon.nova-2-lite-v1:0`,name:`Nova 2 Lite`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.33,output:2.75,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"amazon.nova-lite-v1:0":{id:`amazon.nova-lite-v1:0`,name:`Nova Lite`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.06,output:.24,cacheRead:.015,cacheWrite:0},contextWindow:3e5,maxTokens:8192},"amazon.nova-micro-v1:0":{id:`amazon.nova-micro-v1:0`,name:`Nova Micro`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.035,output:.14,cacheRead:.00875,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"amazon.nova-pro-v1:0":{id:`amazon.nova-pro-v1:0`,name:`Nova Pro`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:3e5,maxTokens:8192},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:`anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"anthropic.claude-opus-4-1-20250805-v1:0":{id:`anthropic.claude-opus-4-1-20250805-v1:0`,name:`Claude Opus 4.1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic.claude-opus-4-5-20251101-v1:0":{id:`anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"anthropic.claude-opus-4-6-v1":{id:`anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic.claude-opus-4-7":{id:`anthropic.claude-opus-4-7`,name:`Claude Opus 4.7`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"anthropic.claude-sonnet-4-6":{id:`anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"au.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`au.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (AU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"au.anthropic.claude-opus-4-6-v1":{id:`au.anthropic.claude-opus-4-6-v1`,name:`AU Anthropic Claude Opus 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:16.5,output:82.5,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"au.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`au.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (AU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"au.anthropic.claude-sonnet-4-6":{id:`au.anthropic.claude-sonnet-4-6`,name:`AU Anthropic Claude Sonnet 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3},"deepseek.r1-v1:0":{id:`deepseek.r1-v1:0`,name:`DeepSeek-R1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:32768},"deepseek.v3-v1:0":{id:`deepseek.v3-v1:0`,name:`DeepSeek-V3.1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.58,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"deepseek.v3.2":{id:`deepseek.v3.2`,name:`DeepSeek-V3.2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`eu.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:`eu.anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"eu.anthropic.claude-opus-4-6-v1":{id:`eu.anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"eu.anthropic.claude-opus-4-7":{id:`eu.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`eu.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"eu.anthropic.claude-sonnet-4-6":{id:`eu.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`global.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:`global.anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"global.anthropic.claude-opus-4-6-v1":{id:`global.anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"global.anthropic.claude-opus-4-7":{id:`global.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`global.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"global.anthropic.claude-sonnet-4-6":{id:`global.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"google.gemma-3-27b-it":{id:`google.gemma-3-27b-it`,name:`Google Gemma 3 27B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.12,output:.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:8192},"google.gemma-3-4b-it":{id:`google.gemma-3-4b-it`,name:`Gemma 3 4B IT`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.04,output:.08,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"jp.anthropic.claude-opus-4-7":{id:`jp.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (JP)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"jp.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`jp.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (JP)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"jp.anthropic.claude-sonnet-4-6":{id:`jp.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (JP)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"meta.llama3-1-70b-instruct-v1:0":{id:`meta.llama3-1-70b-instruct-v1:0`,name:`Llama 3.1 70B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"meta.llama3-1-8b-instruct-v1:0":{id:`meta.llama3-1-8b-instruct-v1:0`,name:`Llama 3.1 8B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"meta.llama3-3-70b-instruct-v1:0":{id:`meta.llama3-3-70b-instruct-v1:0`,name:`Llama 3.3 70B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"meta.llama4-maverick-17b-instruct-v1:0":{id:`meta.llama4-maverick-17b-instruct-v1:0`,name:`Llama 4 Maverick 17B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"meta.llama4-scout-17b-instruct-v1:0":{id:`meta.llama4-scout-17b-instruct-v1:0`,name:`Llama 4 Scout 17B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:35e5,maxTokens:16384},"minimax.minimax-m2":{id:`minimax.minimax-m2`,name:`MiniMax M2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128e3},"minimax.minimax-m2.1":{id:`minimax.minimax-m2.1`,name:`MiniMax M2.1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax.minimax-m2.5":{id:`minimax.minimax-m2.5`,name:`MiniMax M2.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:98304},"mistral.devstral-2-123b":{id:`mistral.devstral-2-123b`,name:`Devstral 2 123B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"mistral.magistral-small-2509":{id:`mistral.magistral-small-2509`,name:`Magistral Small 1.2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e4},"mistral.ministral-3-14b-instruct":{id:`mistral.ministral-3-14b-instruct`,name:`Ministral 14B 3.0`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistral.ministral-3-3b-instruct":{id:`mistral.ministral-3-3b-instruct`,name:`Ministral 3 3B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"mistral.ministral-3-8b-instruct":{id:`mistral.ministral-3-8b-instruct`,name:`Ministral 3 8B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistral.mistral-large-3-675b-instruct":{id:`mistral.mistral-large-3-675b-instruct`,name:`Mistral Large 3`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"mistral.pixtral-large-2502-v1:0":{id:`mistral.pixtral-large-2502-v1:0`,name:`Pixtral Large (25.02)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"mistral.voxtral-mini-3b-2507":{id:`mistral.voxtral-mini-3b-2507`,name:`Voxtral Mini 3B 2507`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistral.voxtral-small-24b-2507":{id:`mistral.voxtral-small-24b-2507`,name:`Voxtral Small 24B 2507`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.35,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:8192},"moonshot.kimi-k2-thinking":{id:`moonshot.kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"moonshotai.kimi-k2.5":{id:`moonshotai.kimi-k2.5`,name:`Kimi K2.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"nvidia.nemotron-nano-12b-v2":{id:`nvidia.nemotron-nano-12b-v2`,name:`NVIDIA Nemotron Nano 12B v2 VL BF16`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"nvidia.nemotron-nano-3-30b":{id:`nvidia.nemotron-nano-3-30b`,name:`NVIDIA Nemotron Nano 3 30B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"nvidia.nemotron-nano-9b-v2":{id:`nvidia.nemotron-nano-9b-v2`,name:`NVIDIA Nemotron Nano 9B v2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.06,output:.23,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"nvidia.nemotron-super-3-120b":{id:`nvidia.nemotron-super-3-120b`,name:`NVIDIA Nemotron 3 Super 120B A12B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.15,output:.65,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"openai.gpt-oss-120b-1:0":{id:`openai.gpt-oss-120b-1:0`,name:`gpt-oss-120b`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai.gpt-oss-20b-1:0":{id:`openai.gpt-oss-20b-1:0`,name:`gpt-oss-20b`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai.gpt-oss-safeguard-120b":{id:`openai.gpt-oss-safeguard-120b`,name:`GPT OSS Safeguard 120B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai.gpt-oss-safeguard-20b":{id:`openai.gpt-oss-safeguard-20b`,name:`GPT OSS Safeguard 20B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.07,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"qwen.qwen3-235b-a22b-2507-v1:0":{id:`qwen.qwen3-235b-a22b-2507-v1:0`,name:`Qwen3 235B A22B 2507`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-32b-v1:0":{id:`qwen.qwen3-32b-v1:0`,name:`Qwen3 32B (dense)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"qwen.qwen3-coder-30b-a3b-v1:0":{id:`qwen.qwen3-coder-30b-a3b-v1:0`,name:`Qwen3 Coder 30B A3B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-coder-480b-a35b-v1:0":{id:`qwen.qwen3-coder-480b-a35b-v1:0`,name:`Qwen3 Coder 480B A35B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-coder-next":{id:`qwen.qwen3-coder-next`,name:`Qwen3 Coder Next`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-next-80b-a3b":{id:`qwen.qwen3-next-80b-a3b`,name:`Qwen/Qwen3-Next-80B-A3B-Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.14,output:1.4,cacheRead:0,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"qwen.qwen3-vl-235b-a22b":{id:`qwen.qwen3-vl-235b-a22b`,name:`Qwen/Qwen3-VL-235B-A22B-Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.3,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`us.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:`us.anthropic.claude-opus-4-1-20250805-v1:0`,name:`Claude Opus 4.1 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:`us.anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"us.anthropic.claude-opus-4-6-v1":{id:`us.anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"us.anthropic.claude-opus-4-7":{id:`us.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`us.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"us.anthropic.claude-sonnet-4-6":{id:`us.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"us.deepseek.r1-v1:0":{id:`us.deepseek.r1-v1:0`,name:`DeepSeek-R1 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:32768},"us.meta.llama4-maverick-17b-instruct-v1:0":{id:`us.meta.llama4-maverick-17b-instruct-v1:0`,name:`Llama 4 Maverick 17B Instruct (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"us.meta.llama4-scout-17b-instruct-v1:0":{id:`us.meta.llama4-scout-17b-instruct-v1:0`,name:`Llama 4 Scout 17B Instruct (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:35e5,maxTokens:16384},"writer.palmyra-x4-v1:0":{id:`writer.palmyra-x4-v1:0`,name:`Palmyra X4`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:122880,maxTokens:8192},"writer.palmyra-x5-v1:0":{id:`writer.palmyra-x5-v1:0`,name:`Palmyra X5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,maxTokens:8192},"zai.glm-4.7":{id:`zai.glm-4.7`,name:`GLM-4.7`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai.glm-4.7-flash":{id:`zai.glm-4.7-flash`,name:`GLM-4.7-Flash`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.07,output:.4,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072},"zai.glm-5":{id:`zai.glm-5`,name:`GLM-5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:101376}},anthropic:{"claude-3-5-haiku-20241022":{id:`claude-3-5-haiku-20241022`,name:`Claude Haiku 3.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3-5-haiku-latest":{id:`claude-3-5-haiku-latest`,name:`Claude Haiku 3.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3-5-sonnet-20240620":{id:`claude-3-5-sonnet-20240620`,name:`Claude Sonnet 3.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:8192},"claude-3-5-sonnet-20241022":{id:`claude-3-5-sonnet-20241022`,name:`Claude Sonnet 3.5 v2`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:8192},"claude-3-7-sonnet-20250219":{id:`claude-3-7-sonnet-20250219`,name:`Claude Sonnet 3.7`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-3-haiku-20240307":{id:`claude-3-haiku-20240307`,name:`Claude Haiku 3`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-3-opus-20240229":{id:`claude-3-opus-20240229`,name:`Claude Opus 3`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:4096},"claude-3-sonnet-20240229":{id:`claude-3-sonnet-20240229`,name:`Claude Sonnet 3`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-haiku-4-5":{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-haiku-4-5-20251001":{id:`claude-haiku-4-5-20251001`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-0":{id:`claude-opus-4-0`,name:`Claude Opus 4 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-1":{id:`claude-opus-4-1`,name:`Claude Opus 4.1 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-1-20250805":{id:`claude-opus-4-1-20250805`,name:`Claude Opus 4.1`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-20250514":{id:`claude-opus-4-20250514`,name:`Claude Opus 4`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-5":{id:`claude-opus-4-5`,name:`Claude Opus 4.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-5-20251101":{id:`claude-opus-4-5-20251101`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-6":{id:`claude-opus-4-6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-opus-4-7":{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-sonnet-4-0":{id:`claude-sonnet-4-0`,name:`Claude Sonnet 4 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-20250514":{id:`claude-sonnet-4-20250514`,name:`Claude Sonnet 4`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5":{id:`claude-sonnet-4-5`,name:`Claude Sonnet 4.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5-20250929":{id:`claude-sonnet-4-5-20250929`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-6":{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3}},"azure-openai-responses":{"gpt-4":{id:`gpt-4`,name:`GPT-4`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:`gpt-4-turbo`,name:`GPT-4 Turbo`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4.1":{id:`gpt-4.1`,name:`GPT-4.1`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:`gpt-4.1-mini`,name:`GPT-4.1 mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:`gpt-4.1-nano`,name:`GPT-4.1 nano`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.03,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-05-13":{id:`gpt-4o-2024-05-13`,name:`GPT-4o (2024-05-13)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4o-2024-08-06":{id:`gpt-4o-2024-08-06`,name:`GPT-4o (2024-08-06)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-11-20":{id:`gpt-4o-2024-11-20`,name:`GPT-4o (2024-11-20)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-mini":{id:`gpt-4o-mini`,name:`GPT-4o mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.08,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5":{id:`gpt-5`,name:`GPT-5`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-chat-latest":{id:`gpt-5-chat-latest`,name:`GPT-5 Chat Latest`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5-codex":{id:`gpt-5-codex`,name:`GPT-5-Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-mini":{id:`gpt-5-mini`,name:`GPT-5 Mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-nano":{id:`gpt-5-nano`,name:`GPT-5 Nano`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-pro":{id:`gpt-5-pro`,name:`GPT-5 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-chat-latest":{id:`gpt-5.1-chat-latest`,name:`GPT-5.1 Chat`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-max":{id:`gpt-5.1-codex-max`,name:`GPT-5.1 Codex Max`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-mini":{id:`gpt-5.1-codex-mini`,name:`GPT-5.1 Codex mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-chat-latest":{id:`gpt-5.2-chat-latest`,name:`GPT-5.2 Chat`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-pro":{id:`gpt-5.2-pro`,name:`GPT-5.2 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-chat-latest":{id:`gpt-5.3-chat-latest`,name:`GPT-5.3 Chat (latest)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex-spark":{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-nano":{id:`gpt-5.4-nano`,name:`GPT-5.4 nano`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-pro":{id:`gpt-5.4-pro`,name:`GPT-5.4 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.5-pro":{id:`gpt-5.5-pro`,name:`GPT-5.5 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},o1:{id:`o1`,name:`o1`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o1-pro":{id:`o1-pro`,name:`o1-pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},o3:{id:`o3`,name:`o3`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-deep-research":{id:`o3-deep-research`,name:`o3-deep-research`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-mini":{id:`o3-mini`,name:`o3-mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-pro":{id:`o3-pro`,name:`o3-pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini":{id:`o4-mini`,name:`o4-mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.28,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini-deep-research":{id:`o4-mini-deep-research`,name:`o4-mini-deep-research`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5}},cerebras:{"gpt-oss-120b":{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!0,input:[`text`],cost:{input:.25,output:.69,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"llama3.1-8b":{id:`llama3.1-8b`,name:`Llama 3.1 8B`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!1,input:[`text`],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:8e3},"qwen-3-235b-a22b-instruct-2507":{id:`qwen-3-235b-a22b-instruct-2507`,name:`Qwen 3 235B Instruct`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!1,input:[`text`],cost:{input:.6,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:32e3},"zai-glm-4.7":{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4e4}},"cloudflare-ai-gateway":{"claude-3-5-haiku":{id:`claude-3-5-haiku`,name:`Claude Haiku 3.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3-haiku":{id:`claude-3-haiku`,name:`Claude Haiku 3`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-3-opus":{id:`claude-3-opus`,name:`Claude Opus 3`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:4096},"claude-3-sonnet":{id:`claude-3-sonnet`,name:`Claude Sonnet 3`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-3.5-haiku":{id:`claude-3.5-haiku`,name:`Claude Haiku 3.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3.5-sonnet":{id:`claude-3.5-sonnet`,name:`Claude Sonnet 3.5 v2`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:8192},"claude-haiku-4-5":{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4":{id:`claude-opus-4`,name:`Claude Opus 4 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-1":{id:`claude-opus-4-1`,name:`Claude Opus 4.1 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-5":{id:`claude-opus-4-5`,name:`Claude Opus 4.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-6":{id:`claude-opus-4-6`,name:`Claude Opus 4.6 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-opus-4-7":{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-sonnet-4":{id:`claude-sonnet-4`,name:`Claude Sonnet 4 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5":{id:`claude-sonnet-4-5`,name:`Claude Sonnet 4.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-6":{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"gpt-4":{id:`gpt-4`,name:`GPT-4`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:`gpt-4-turbo`,name:`GPT-4 Turbo`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-mini":{id:`gpt-4o-mini`,name:`GPT-4o mini`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.08,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},o1:{id:`o1`,name:`o1`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},o3:{id:`o3`,name:`o3`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-mini":{id:`o3-mini`,name:`o3-mini`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-pro":{id:`o3-pro`,name:`o3-pro`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini":{id:`o4-mini`,name:`o4-mini`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.28,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"workers-ai/@cf/moonshotai/kimi-k2.5":{id:`workers-ai/@cf/moonshotai/kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"workers-ai/@cf/moonshotai/kimi-k2.6":{id:`workers-ai/@cf/moonshotai/kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"workers-ai/@cf/nvidia/nemotron-3-120b-a12b":{id:`workers-ai/@cf/nvidia/nemotron-3-120b-a12b`,name:`Nemotron 3 Super 120B`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"workers-ai/@cf/zai-org/glm-4.7-flash":{id:`workers-ai/@cf/zai-org/glm-4.7-flash`,name:`GLM-4.7-Flash`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.06,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072}},"cloudflare-workers-ai":{"@cf/google/gemma-4-26b-a4b-it":{id:`@cf/google/gemma-4-26b-a4b-it`,name:`Gemma 4 26B A4B IT`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:16384},"@cf/meta/llama-4-scout-17b-16e-instruct":{id:`@cf/meta/llama-4-scout-17b-16e-instruct`,name:`Llama 4 Scout 17B 16E Instruct`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!1,input:[`text`,`image`],cost:{input:.27,output:.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"@cf/moonshotai/kimi-k2.5":{id:`@cf/moonshotai/kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"@cf/moonshotai/kimi-k2.6":{id:`@cf/moonshotai/kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"@cf/nvidia/nemotron-3-120b-a12b":{id:`@cf/nvidia/nemotron-3-120b-a12b`,name:`Nemotron 3 Super 120B`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"@cf/openai/gpt-oss-120b":{id:`@cf/openai/gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"@cf/openai/gpt-oss-20b":{id:`@cf/openai/gpt-oss-20b`,name:`GPT OSS 20B`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.2,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"@cf/zai-org/glm-4.7-flash":{id:`@cf/zai-org/glm-4.7-flash`,name:`GLM-4.7-Flash`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.06,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072}},deepseek:{"deepseek-v4-flash":{id:`deepseek-v4-flash`,name:`DeepSeek V4 Flash`,api:`openai-completions`,provider:`deepseek`,baseUrl:`https://api.deepseek.com`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-pro":{id:`deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`deepseek`,baseUrl:`https://api.deepseek.com`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1e6,maxTokens:384e3}},fireworks:{"accounts/fireworks/models/deepseek-v3p1":{id:`accounts/fireworks/models/deepseek-v3p1`,name:`DeepSeek V3.1`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.56,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"accounts/fireworks/models/deepseek-v3p2":{id:`accounts/fireworks/models/deepseek-v3p2`,name:`DeepSeek V3.2`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.56,output:1.68,cacheRead:.28,cacheWrite:0},contextWindow:16e4,maxTokens:16e4},"accounts/fireworks/models/deepseek-v4-pro":{id:`accounts/fireworks/models/deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:1.74,output:3.48,cacheRead:.15,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"accounts/fireworks/models/glm-4p5":{id:`accounts/fireworks/models/glm-4p5`,name:`GLM 4.5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.55,output:2.19,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"accounts/fireworks/models/glm-4p5-air":{id:`accounts/fireworks/models/glm-4p5-air`,name:`GLM 4.5 Air`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"accounts/fireworks/models/glm-4p7":{id:`accounts/fireworks/models/glm-4p7`,name:`GLM 4.7`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.3,cacheWrite:0},contextWindow:198e3,maxTokens:198e3},"accounts/fireworks/models/glm-5":{id:`accounts/fireworks/models/glm-5`,name:`GLM 5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.5,cacheWrite:0},contextWindow:202752,maxTokens:131072},"accounts/fireworks/models/glm-5p1":{id:`accounts/fireworks/models/glm-5p1`,name:`GLM 5.1`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202800,maxTokens:131072},"accounts/fireworks/models/gpt-oss-120b":{id:`accounts/fireworks/models/gpt-oss-120b`,name:`GPT OSS 120B`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"accounts/fireworks/models/gpt-oss-20b":{id:`accounts/fireworks/models/gpt-oss-20b`,name:`GPT OSS 20B`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.05,output:.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"accounts/fireworks/models/kimi-k2-instruct":{id:`accounts/fireworks/models/kimi-k2-instruct`,name:`Kimi K2 Instruct`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"accounts/fireworks/models/kimi-k2-thinking":{id:`accounts/fireworks/models/kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.3,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"accounts/fireworks/models/kimi-k2p5":{id:`accounts/fireworks/models/kimi-k2p5`,name:`Kimi K2.5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"accounts/fireworks/models/kimi-k2p6":{id:`accounts/fireworks/models/kimi-k2p6`,name:`Kimi K2.6`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"accounts/fireworks/models/minimax-m2p1":{id:`accounts/fireworks/models/minimax-m2p1`,name:`MiniMax-M2.1`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:2e5,maxTokens:2e5},"accounts/fireworks/models/minimax-m2p5":{id:`accounts/fireworks/models/minimax-m2p5`,name:`MiniMax-M2.5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:196608,maxTokens:196608},"accounts/fireworks/models/minimax-m2p7":{id:`accounts/fireworks/models/minimax-m2p7`,name:`MiniMax-M2.7`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:196608,maxTokens:196608},"accounts/fireworks/models/qwen3p6-plus":{id:`accounts/fireworks/models/qwen3p6-plus`,name:`Qwen 3.6 Plus`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.1,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:`accounts/fireworks/routers/kimi-k2p5-turbo`,name:`Kimi K2.5 Turbo`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3}},"github-copilot":{"claude-haiku-4.5":{id:`claude-haiku-4.5`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsEagerToolInputStreaming:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:144e3,maxTokens:32e3},"claude-opus-4.5":{id:`claude-opus-4.5`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:16e4,maxTokens:32e3},"claude-opus-4.6":{id:`claude-opus-4.6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"claude-opus-4.7":{id:`claude-opus-4.7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:144e3,maxTokens:64e3},"claude-sonnet-4.5":{id:`claude-sonnet-4.5`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsEagerToolInputStreaming:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:144e3,maxTokens:32e3},"claude-sonnet-4.6":{id:`claude-sonnet-4.6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32e3},"gemini-2.5-pro":{id:`gemini-2.5-pro`,name:`Gemini 2.5 Pro`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"gemini-3-flash-preview":{id:`gemini-3-flash-preview`,name:`Gemini 3 Flash`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"gemini-3.1-pro-preview":{id:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"gpt-4.1":{id:`gpt-4.1`,name:`GPT-4.1`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-5-mini":{id:`gpt-5-mini`,name:`GPT-5-mini`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:264e3,maxTokens:64e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:264e3,maxTokens:64e3},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2-Codex`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3-Codex`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 Mini`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"grok-code-fast-1":{id:`grok-code-fast-1`,name:`Grok Code Fast 1`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3}},google:{"gemini-1.5-flash":{id:`gemini-1.5-flash`,name:`Gemini 1.5 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.01875,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-flash-8b":{id:`gemini-1.5-flash-8b`,name:`Gemini 1.5 Flash-8B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.0375,output:.15,cacheRead:.01,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-pro":{id:`gemini-1.5-pro`,name:`Gemini 1.5 Pro`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:5,cacheRead:.3125,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-2.0-flash":{id:`gemini-2.0-flash`,name:`Gemini 2.0 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.0-flash-lite":{id:`gemini-2.0-flash-lite`,name:`Gemini 2.0 Flash Lite`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.5-flash":{id:`gemini-2.5-flash`,name:`Gemini 2.5 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:`gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-06-17":{id:`gemini-2.5-flash-lite-preview-06-17`,name:`Gemini 2.5 Flash Lite Preview 06-17`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-09-2025":{id:`gemini-2.5-flash-lite-preview-09-2025`,name:`Gemini 2.5 Flash Lite Preview 09-25`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-preview-04-17":{id:`gemini-2.5-flash-preview-04-17`,name:`Gemini 2.5 Flash Preview 04-17`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.0375,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-preview-05-20":{id:`gemini-2.5-flash-preview-05-20`,name:`Gemini 2.5 Flash Preview 05-20`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.0375,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-preview-09-2025":{id:`gemini-2.5-flash-preview-09-2025`,name:`Gemini 2.5 Flash Preview 09-25`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:`gemini-2.5-pro`,name:`Gemini 2.5 Pro`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro-preview-05-06":{id:`gemini-2.5-pro-preview-05-06`,name:`Gemini 2.5 Pro Preview 05-06`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.31,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro-preview-06-05":{id:`gemini-2.5-pro-preview-06-05`,name:`Gemini 2.5 Pro Preview 06-05`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.31,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:`gemini-3-flash-preview`,name:`Gemini 3 Flash Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-pro-preview":{id:`gemini-3-pro-preview`,name:`Gemini 3 Pro Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.1-flash-lite":{id:`gemini-3.1-flash-lite`,name:`Gemini 3.1 Flash Lite`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-lite-preview":{id:`gemini-3.1-flash-lite-preview`,name:`Gemini 3.1 Flash Lite Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview":{id:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:`gemini-3.1-pro-preview-customtools`,name:`Gemini 3.1 Pro Preview Custom Tools`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-latest":{id:`gemini-flash-latest`,name:`Gemini Flash Latest`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-lite-latest":{id:`gemini-flash-lite-latest`,name:`Gemini Flash-Lite Latest`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-live-2.5-flash":{id:`gemini-live-2.5-flash`,name:`Gemini Live 2.5 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"gemini-live-2.5-flash-preview-native-audio":{id:`gemini-live-2.5-flash-preview-native-audio`,name:`Gemini Live 2.5 Flash Preview Native Audio`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`],cost:{input:.5,output:2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemma-3-27b-it":{id:`gemma-3-27b-it`,name:`Gemma 3 27B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"gemma-4-26b-a4b-it":{id:`gemma-4-26b-a4b-it`,name:`Gemma 4 26B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:`MINIMAL`,low:null,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"gemma-4-31b-it":{id:`gemma-4-31b-it`,name:`Gemma 4 31B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:`MINIMAL`,low:null,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192}},"google-vertex":{"gemini-1.5-flash":{id:`gemini-1.5-flash`,name:`Gemini 1.5 Flash (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.01875,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-flash-8b":{id:`gemini-1.5-flash-8b`,name:`Gemini 1.5 Flash-8B (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.0375,output:.15,cacheRead:.01,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-pro":{id:`gemini-1.5-pro`,name:`Gemini 1.5 Pro (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:5,cacheRead:.3125,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-2.0-flash":{id:`gemini-2.0-flash`,name:`Gemini 2.0 Flash (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.0375,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.0-flash-lite":{id:`gemini-2.0-flash-lite`,name:`Gemini 2.0 Flash Lite (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.01875,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash":{id:`gemini-2.5-flash`,name:`Gemini 2.5 Flash (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:`gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-09-2025":{id:`gemini-2.5-flash-lite-preview-09-2025`,name:`Gemini 2.5 Flash Lite Preview 09-25 (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:`gemini-2.5-pro`,name:`Gemini 2.5 Pro (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:`gemini-3-flash-preview`,name:`Gemini 3 Flash Preview (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-pro-preview":{id:`gemini-3-pro-preview`,name:`Gemini 3 Pro Preview (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.1-pro-preview":{id:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:`gemini-3.1-pro-preview-customtools`,name:`Gemini 3.1 Pro Preview Custom Tools (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536}},groq:{"deepseek-r1-distill-llama-70b":{id:`deepseek-r1-distill-llama-70b`,name:`DeepSeek R1 Distill Llama 70B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.75,output:.99,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"gemma2-9b-it":{id:`gemma2-9b-it`,name:`Gemma 2 9B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"groq/compound":{id:`groq/compound`,name:`Compound`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"groq/compound-mini":{id:`groq/compound-mini`,name:`Compound Mini`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"llama-3.1-8b-instant":{id:`llama-3.1-8b-instant`,name:`Llama 3.1 8B Instant`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.05,output:.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"llama-3.3-70b-versatile":{id:`llama-3.3-70b-versatile`,name:`Llama 3.3 70B Versatile`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"llama3-70b-8192":{id:`llama3-70b-8192`,name:`Llama 3 70B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"llama3-8b-8192":{id:`llama3-8b-8192`,name:`Llama 3 8B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.05,output:.08,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"meta-llama/llama-4-maverick-17b-128e-instruct":{id:`meta-llama/llama-4-maverick-17b-128e-instruct`,name:`Llama 4 Maverick 17B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"meta-llama/llama-4-scout-17b-16e-instruct":{id:`meta-llama/llama-4-scout-17b-16e-instruct`,name:`Llama 4 Scout 17B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.11,output:.34,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"mistral-saba-24b":{id:`mistral-saba-24b`,name:`Mistral Saba 24B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.79,output:.79,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"moonshotai/kimi-k2-instruct":{id:`moonshotai/kimi-k2-instruct`,name:`Kimi K2 Instruct`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"moonshotai/kimi-k2-instruct-0905":{id:`moonshotai/kimi-k2-instruct-0905`,name:`Kimi K2 Instruct 0905`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"openai/gpt-oss-120b":{id:`openai/gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-20b":{id:`openai/gpt-oss-20b`,name:`GPT OSS 20B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-safeguard-20b":{id:`openai/gpt-oss-safeguard-20b`,name:`Safety GPT OSS 20B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen-qwq-32b":{id:`qwen-qwq-32b`,name:`Qwen QwQ 32B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.29,output:.39,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-32b":{id:`qwen/qwen3-32b`,name:`Qwen3 32B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`default`},input:[`text`],cost:{input:.29,output:.59,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960}},huggingface:{"MiniMaxAI/MiniMax-M2.1":{id:`MiniMaxAI/MiniMax-M2.1`,name:`MiniMax-M2.1`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.5":{id:`MiniMaxAI/MiniMax-M2.5`,name:`MiniMax-M2.5`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.7":{id:`MiniMaxAI/MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:`Qwen/Qwen3-235B-A22B-Thinking-2507`,name:`Qwen3-235B-A22B-Thinking-2507`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:`Qwen/Qwen3-Coder-480B-A35B-Instruct`,name:`Qwen3-Coder-480B-A35B-Instruct`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Coder-Next":{id:`Qwen/Qwen3-Coder-Next`,name:`Qwen3-Coder-Next`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:.2,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:`Qwen/Qwen3-Next-80B-A3B-Instruct`,name:`Qwen3-Next-80B-A3B-Instruct`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:`Qwen/Qwen3-Next-80B-A3B-Thinking`,name:`Qwen3-Next-80B-A3B-Thinking`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:.3,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3.5-397B-A17B":{id:`Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5-397B-A17B`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"XiaomiMiMo/MiMo-V2-Flash":{id:`XiaomiMiMo/MiMo-V2-Flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"deepseek-ai/DeepSeek-R1-0528":{id:`deepseek-ai/DeepSeek-R1-0528`,name:`DeepSeek-R1-0528`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:3,output:5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"deepseek-ai/DeepSeek-V3.2":{id:`deepseek-ai/DeepSeek-V3.2`,name:`DeepSeek-V3.2`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.28,output:.4,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek-ai/DeepSeek-V4-Pro":{id:`deepseek-ai/DeepSeek-V4-Pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:1.74,output:3.48,cacheRead:.145,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"moonshotai/Kimi-K2-Instruct":{id:`moonshotai/Kimi-K2-Instruct`,name:`Kimi-K2-Instruct`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"moonshotai/Kimi-K2-Instruct-0905":{id:`moonshotai/Kimi-K2-Instruct-0905`,name:`Kimi-K2-Instruct-0905`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"moonshotai/Kimi-K2-Thinking":{id:`moonshotai/Kimi-K2-Thinking`,name:`Kimi-K2-Thinking`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.5":{id:`moonshotai/Kimi-K2.5`,name:`Kimi-K2.5`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.6":{id:`moonshotai/Kimi-K2.6`,name:`Kimi-K2.6`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144},"zai-org/GLM-4.7":{id:`zai-org/GLM-4.7`,name:`GLM-4.7`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.7-Flash":{id:`zai-org/GLM-4.7-Flash`,name:`GLM-4.7-Flash`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"zai-org/GLM-5":{id:`zai-org/GLM-5`,name:`GLM-5`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:202752,maxTokens:131072},"zai-org/GLM-5.1":{id:`zai-org/GLM-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:202752,maxTokens:131072}},"kimi-coding":{"kimi-for-coding":{id:`kimi-for-coding`,name:`Kimi For Coding`,api:`anthropic-messages`,provider:`kimi-coding`,baseUrl:`https://api.kimi.com/coding`,headers:{"User-Agent":`KimiCLI/1.5`},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"kimi-k2-thinking":{id:`kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`anthropic-messages`,provider:`kimi-coding`,baseUrl:`https://api.kimi.com/coding`,headers:{"User-Agent":`KimiCLI/1.5`},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768}},minimax:{"MiniMax-M2.7":{id:`MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`anthropic-messages`,provider:`minimax`,baseUrl:`https://api.minimax.io/anthropic`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:`MiniMax-M2.7-highspeed`,name:`MiniMax-M2.7-highspeed`,api:`anthropic-messages`,provider:`minimax`,baseUrl:`https://api.minimax.io/anthropic`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072}},"minimax-cn":{"MiniMax-M2.7":{id:`MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`anthropic-messages`,provider:`minimax-cn`,baseUrl:`https://api.minimaxi.com/anthropic`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:`MiniMax-M2.7-highspeed`,name:`MiniMax-M2.7-highspeed`,api:`anthropic-messages`,provider:`minimax-cn`,baseUrl:`https://api.minimaxi.com/anthropic`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072}},mistral:{"codestral-latest":{id:`codestral-latest`,name:`Codestral (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.3,output:.9,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"devstral-2512":{id:`devstral-2512`,name:`Devstral 2`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-medium-2507":{id:`devstral-medium-2507`,name:`Devstral Medium`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"devstral-medium-latest":{id:`devstral-medium-latest`,name:`Devstral 2 (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-small-2505":{id:`devstral-small-2505`,name:`Devstral Small 2505`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"devstral-small-2507":{id:`devstral-small-2507`,name:`Devstral Small`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"labs-devstral-small-2512":{id:`labs-devstral-small-2512`,name:`Devstral Small 2`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"magistral-medium-latest":{id:`magistral-medium-latest`,name:`Magistral Medium (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`],cost:{input:2,output:5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"magistral-small":{id:`magistral-small`,name:`Magistral Small`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"ministral-3b-latest":{id:`ministral-3b-latest`,name:`Ministral 3B (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"ministral-8b-latest":{id:`ministral-8b-latest`,name:`Ministral 8B (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"mistral-large-2411":{id:`mistral-large-2411`,name:`Mistral Large 2.1`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"mistral-large-2512":{id:`mistral-large-2512`,name:`Mistral Large 3`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-large-latest":{id:`mistral-large-latest`,name:`Mistral Large (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2505":{id:`mistral-medium-2505`,name:`Mistral Medium 3`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"mistral-medium-2508":{id:`mistral-medium-2508`,name:`Mistral Medium 3.1`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2604":{id:`mistral-medium-2604`,name:`Mistral Medium 3.5`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-3.5":{id:`mistral-medium-3.5`,name:`Mistral Medium 3.5`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-latest":{id:`mistral-medium-latest`,name:`Mistral Medium (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-nemo":{id:`mistral-nemo`,name:`Mistral Nemo`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"mistral-small-2506":{id:`mistral-small-2506`,name:`Mistral Small 3.2`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"mistral-small-2603":{id:`mistral-small-2603`,name:`Mistral Small 4`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"mistral-small-latest":{id:`mistral-small-latest`,name:`Mistral Small (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"open-mistral-7b":{id:`open-mistral-7b`,name:`Mistral 7B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.25,output:.25,cacheRead:0,cacheWrite:0},contextWindow:8e3,maxTokens:8e3},"open-mixtral-8x22b":{id:`open-mixtral-8x22b`,name:`Mixtral 8x22B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:64e3},"open-mixtral-8x7b":{id:`open-mixtral-8x7b`,name:`Mixtral 8x7B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.7,output:.7,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:32e3},"pixtral-12b":{id:`pixtral-12b`,name:`Pixtral 12B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"pixtral-large-latest":{id:`pixtral-large-latest`,name:`Pixtral Large (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3}},moonshotai:{"kimi-k2-0711-preview":{id:`kimi-k2-0711-preview`,name:`Kimi K2 0711`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:131072,maxTokens:16384},"kimi-k2-0905-preview":{id:`kimi-k2-0905-preview`,name:`Kimi K2 0905`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking":{id:`kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking-turbo":{id:`kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-turbo-preview":{id:`kimi-k2-turbo-preview`,name:`Kimi K2 Turbo`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:2.4,output:10,cacheRead:.6,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144}},"moonshotai-cn":{"kimi-k2-0711-preview":{id:`kimi-k2-0711-preview`,name:`Kimi K2 0711`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:131072,maxTokens:16384},"kimi-k2-0905-preview":{id:`kimi-k2-0905-preview`,name:`Kimi K2 0905`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking":{id:`kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking-turbo":{id:`kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-turbo-preview":{id:`kimi-k2-turbo-preview`,name:`Kimi K2 Turbo`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:2.4,output:10,cacheRead:.6,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144}},openai:{"gpt-4":{id:`gpt-4`,name:`GPT-4`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:`gpt-4-turbo`,name:`GPT-4 Turbo`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4.1":{id:`gpt-4.1`,name:`GPT-4.1`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:`gpt-4.1-mini`,name:`GPT-4.1 mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:`gpt-4.1-nano`,name:`GPT-4.1 nano`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.03,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-05-13":{id:`gpt-4o-2024-05-13`,name:`GPT-4o (2024-05-13)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4o-2024-08-06":{id:`gpt-4o-2024-08-06`,name:`GPT-4o (2024-08-06)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-11-20":{id:`gpt-4o-2024-11-20`,name:`GPT-4o (2024-11-20)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-mini":{id:`gpt-4o-mini`,name:`GPT-4o mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.08,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5":{id:`gpt-5`,name:`GPT-5`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-chat-latest":{id:`gpt-5-chat-latest`,name:`GPT-5 Chat Latest`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5-codex":{id:`gpt-5-codex`,name:`GPT-5-Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-mini":{id:`gpt-5-mini`,name:`GPT-5 Mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-nano":{id:`gpt-5-nano`,name:`GPT-5 Nano`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-pro":{id:`gpt-5-pro`,name:`GPT-5 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-chat-latest":{id:`gpt-5.1-chat-latest`,name:`GPT-5.1 Chat`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-max":{id:`gpt-5.1-codex-max`,name:`GPT-5.1 Codex Max`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-mini":{id:`gpt-5.1-codex-mini`,name:`GPT-5.1 Codex mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-chat-latest":{id:`gpt-5.2-chat-latest`,name:`GPT-5.2 Chat`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-pro":{id:`gpt-5.2-pro`,name:`GPT-5.2 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-chat-latest":{id:`gpt-5.3-chat-latest`,name:`GPT-5.3 Chat (latest)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex-spark":{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-nano":{id:`gpt-5.4-nano`,name:`GPT-5.4 nano`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-pro":{id:`gpt-5.4-pro`,name:`GPT-5.4 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.5-pro":{id:`gpt-5.5-pro`,name:`GPT-5.5 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},o1:{id:`o1`,name:`o1`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o1-pro":{id:`o1-pro`,name:`o1-pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},o3:{id:`o3`,name:`o3`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-deep-research":{id:`o3-deep-research`,name:`o3-deep-research`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-mini":{id:`o3-mini`,name:`o3-mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-pro":{id:`o3-pro`,name:`o3-pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini":{id:`o4-mini`,name:`o4-mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.28,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini-deep-research":{id:`o4-mini-deep-research`,name:`o4-mini-deep-research`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5}},"openai-codex":{"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.3-codex-spark":{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:272e3,maxTokens:128e3}},opencode:{"big-pickle":{id:`big-pickle`,name:`Big Pickle`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"claude-haiku-4-5":{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-1":{id:`claude-opus-4-1`,name:`Claude Opus 4.1`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-5":{id:`claude-opus-4-5`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-6":{id:`claude-opus-4-6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-opus-4-7":{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-sonnet-4":{id:`claude-sonnet-4`,name:`Claude Sonnet 4`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5":{id:`claude-sonnet-4-5`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-6":{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"deepseek-v4-flash-free":{id:`deepseek-v4-flash-free`,name:`DeepSeek V4 Flash Free`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"gemini-3-flash":{id:`gemini-3-flash`,name:`Gemini 3 Flash`,api:`google-generative-ai`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro":{id:`gemini-3.1-pro`,name:`Gemini 3.1 Pro Preview`,api:`google-generative-ai`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"glm-5":{id:`glm-5`,name:`GLM-5`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5.1":{id:`glm-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:204800,maxTokens:131072},"gpt-5":{id:`gpt-5`,name:`GPT-5`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-codex":{id:`gpt-5-codex`,name:`GPT-5 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-nano":{id:`gpt-5-nano`,name:`GPT-5 Nano`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-max":{id:`gpt-5.1-codex-max`,name:`GPT-5.1 Codex Max`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-mini":{id:`gpt-5.1-codex-mini`,name:`GPT-5.1 Codex Mini`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 Mini`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-nano":{id:`gpt-5.4-nano`,name:`GPT-5.4 Nano`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-pro":{id:`gpt-5.4-pro`,name:`GPT-5.4 Pro`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5-pro":{id:`gpt-5.5-pro`,name:`GPT-5.5 Pro`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"minimax-m2.5":{id:`minimax-m2.5`,name:`MiniMax M2.5`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m2.5-free":{id:`minimax-m2.5-free`,name:`MiniMax M2.5 Free`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m2.7":{id:`minimax-m2.7`,name:`MiniMax M2.7`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"nemotron-3-super-free":{id:`nemotron-3-super-free`,name:`Nemotron 3 Super Free`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"qwen3.5-plus":{id:`qwen3.5-plus`,name:`Qwen3.5 Plus`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:262144,maxTokens:65536},"qwen3.6-plus":{id:`qwen3.6-plus`,name:`Qwen3.6 Plus`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536},"qwen3.6-plus-free":{id:`qwen3.6-plus-free`,name:`Qwen3.6 Plus Free`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536}},"opencode-go":{"deepseek-v4-flash":{id:`deepseek-v4-flash`,name:`DeepSeek V4 Flash`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-pro":{id:`deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:1.74,output:3.48,cacheRead:.0145,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"glm-5":{id:`glm-5`,name:`GLM-5`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:202752,maxTokens:32768},"glm-5.1":{id:`glm-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202752,maxTokens:32768},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo V2.5`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo V2.5 Pro`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:128e3},"minimax-m2.5":{id:`minimax-m2.5`,name:`MiniMax M2.5`,api:`anthropic-messages`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:65536},"minimax-m2.7":{id:`minimax-m2.7`,name:`MiniMax M2.7`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"qwen3.5-plus":{id:`qwen3.5-plus`,name:`Qwen3.5 Plus`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{thinkingFormat:`qwen`},reasoning:!0,input:[`text`,`image`],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:262144,maxTokens:65536},"qwen3.6-plus":{id:`qwen3.6-plus`,name:`Qwen3.6 Plus`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{thinkingFormat:`qwen`},reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536}},openrouter:{"ai21/jamba-large-1.7":{id:`ai21/jamba-large-1.7`,name:`AI21: Jamba Large 1.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:8,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"alibaba/tongyi-deepresearch-30b-a3b":{id:`alibaba/tongyi-deepresearch-30b-a3b`,name:`Tongyi DeepResearch 30B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09,output:.44999999999999996,cacheRead:.09,cacheWrite:0},contextWindow:131072,maxTokens:131072},"amazon/nova-2-lite-v1":{id:`amazon/nova-2-lite-v1`,name:`Amazon: Nova 2 Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65535},"amazon/nova-lite-v1":{id:`amazon/nova-lite-v1`,name:`Amazon: Nova Lite 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:5120},"amazon/nova-micro-v1":{id:`amazon/nova-micro-v1`,name:`Amazon: Nova Micro 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:5120},"amazon/nova-premier-v1":{id:`amazon/nova-premier-v1`,name:`Amazon: Nova Premier 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:12.5,cacheRead:.625,cacheWrite:0},contextWindow:1e6,maxTokens:32e3},"amazon/nova-pro-v1":{id:`amazon/nova-pro-v1`,name:`Amazon: Nova Pro 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:5120},"anthropic/claude-3-haiku":{id:`anthropic/claude-3-haiku`,name:`Anthropic: Claude 3 Haiku`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"anthropic/claude-3.5-haiku":{id:`anthropic/claude-3.5-haiku`,name:`Anthropic: Claude 3.5 Haiku`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.7999999999999999,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"anthropic/claude-haiku-4.5":{id:`anthropic/claude-haiku-4.5`,name:`Anthropic: Claude Haiku 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4":{id:`anthropic/claude-opus-4`,name:`Anthropic: Claude Opus 4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.1":{id:`anthropic/claude-opus-4.1`,name:`Anthropic: Claude Opus 4.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.5":{id:`anthropic/claude-opus-4.5`,name:`Anthropic: Claude Opus 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4.6":{id:`anthropic/claude-opus-4.6`,name:`Anthropic: Claude Opus 4.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.6-fast":{id:`anthropic/claude-opus-4.6-fast`,name:`Anthropic: Claude Opus 4.6 (Fast)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:30,output:150,cacheRead:3,cacheWrite:37.5},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.7":{id:`anthropic/claude-opus-4.7`,name:`Anthropic: Claude Opus 4.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.7-fast":{id:`anthropic/claude-opus-4.7-fast`,name:`Anthropic: Claude Opus 4.7 (Fast)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:150,cacheRead:3,cacheWrite:37.5},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-sonnet-4":{id:`anthropic/claude-sonnet-4`,name:`Anthropic: Claude Sonnet 4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.5":{id:`anthropic/claude-sonnet-4.5`,name:`Anthropic: Claude Sonnet 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.6":{id:`anthropic/claude-sonnet-4.6`,name:`Anthropic: Claude Sonnet 4.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"arcee-ai/trinity-large-preview":{id:`arcee-ai/trinity-large-preview`,name:`Arcee AI: Trinity Large Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.15,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:4096},"arcee-ai/trinity-large-thinking":{id:`arcee-ai/trinity-large-thinking`,name:`Arcee AI: Trinity Large Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.22,output:.85,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:262144},"arcee-ai/trinity-large-thinking:free":{id:`arcee-ai/trinity-large-thinking:free`,name:`Arcee AI: Trinity Large Thinking (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8e4},"arcee-ai/trinity-mini":{id:`arcee-ai/trinity-mini`,name:`Arcee AI: Trinity Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.045,output:.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"arcee-ai/virtuoso-large":{id:`arcee-ai/virtuoso-large`,name:`Arcee AI: Virtuoso Large`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.75,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:64e3},auto:{id:`auto`,name:`Auto`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:3e4},"baidu/cobuddy:free":{id:`baidu/cobuddy:free`,name:`Baidu Qianfan: CoBuddy (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"baidu/ernie-4.5-21b-a3b":{id:`baidu/ernie-4.5-21b-a3b`,name:`Baidu: ERNIE 4.5 21B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.07,output:.28,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8e3},"baidu/ernie-4.5-vl-28b-a3b":{id:`baidu/ernie-4.5-vl-28b-a3b`,name:`Baidu: ERNIE 4.5 VL 28B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.14,output:.56,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8e3},"bytedance-seed/seed-1.6":{id:`bytedance-seed/seed-1.6`,name:`ByteDance Seed: Seed 1.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-1.6-flash":{id:`bytedance-seed/seed-1.6-flash`,name:`ByteDance Seed: Seed 1.6 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-2.0-lite":{id:`bytedance-seed/seed-2.0-lite`,name:`ByteDance Seed: Seed-2.0-Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"bytedance-seed/seed-2.0-mini":{id:`bytedance-seed/seed-2.0-mini`,name:`ByteDance Seed: Seed-2.0-Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"cohere/command-r-08-2024":{id:`cohere/command-r-08-2024`,name:`Cohere: Command R (08-2024)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"cohere/command-r-plus-08-2024":{id:`cohere/command-r-plus-08-2024`,name:`Cohere: Command R+ (08-2024)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"deepseek/deepseek-chat":{id:`deepseek/deepseek-chat`,name:`DeepSeek: DeepSeek V3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.32,output:.8899999999999999,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16384},"deepseek/deepseek-chat-v3-0324":{id:`deepseek/deepseek-chat-v3-0324`,name:`DeepSeek: DeepSeek V3 0324`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.19999999999999998,output:.77,cacheRead:.135,cacheWrite:0},contextWindow:163840,maxTokens:16384},"deepseek/deepseek-chat-v3.1":{id:`deepseek/deepseek-chat-v3.1`,name:`DeepSeek: DeepSeek V3.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.21,output:.7899999999999999,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-r1":{id:`deepseek/deepseek-r1`,name:`DeepSeek: R1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16e3},"deepseek/deepseek-r1-0528":{id:`deepseek/deepseek-r1-0528`,name:`DeepSeek: R1 0528`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.5,output:2.1500000000000004,cacheRead:.35,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.1-terminus":{id:`deepseek/deepseek-v3.1-terminus`,name:`DeepSeek: DeepSeek V3.1 Terminus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.27,output:.95,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.2":{id:`deepseek/deepseek-v3.2`,name:`DeepSeek: DeepSeek V3.2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.252,output:.378,cacheRead:.0252,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deepseek/deepseek-v3.2-exp":{id:`deepseek/deepseek-v3.2-exp`,name:`DeepSeek: DeepSeek V3.2 Exp`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.27,output:.41,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-v4-flash":{id:`deepseek/deepseek-v4-flash`,name:`DeepSeek: DeepSeek V4 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.112,output:.224,cacheRead:.022,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"deepseek/deepseek-v4-flash:free":{id:`deepseek/deepseek-v4-flash:free`,name:`DeepSeek: DeepSeek V4 Flash (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"deepseek/deepseek-v4-pro":{id:`deepseek/deepseek-v4-pro`,name:`DeepSeek: DeepSeek V4 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"essentialai/rnj-1-instruct":{id:`essentialai/rnj-1-instruct`,name:`EssentialAI: Rnj 1 Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:4096},"google/gemini-2.0-flash-001":{id:`google/gemini-2.0-flash-001`,name:`Google: Gemini 2.0 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:8192},"google/gemini-2.0-flash-lite-001":{id:`google/gemini-2.0-flash-lite-001`,name:`Google: Gemini 2.0 Flash Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"google/gemini-2.5-flash":{id:`google/gemini-2.5-flash`,name:`Google: Gemini 2.5 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite":{id:`google/gemini-2.5-flash-lite`,name:`Google: Gemini 2.5 Flash Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite-preview-09-2025":{id:`google/gemini-2.5-flash-lite-preview-09-2025`,name:`Google: Gemini 2.5 Flash Lite Preview 09-2025`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-pro":{id:`google/gemini-2.5-pro`,name:`Google: Gemini 2.5 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview":{id:`google/gemini-2.5-pro-preview`,name:`Google: Gemini 2.5 Pro Preview 06-05`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview-05-06":{id:`google/gemini-2.5-pro-preview-05-06`,name:`Google: Gemini 2.5 Pro Preview 05-06`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65535},"google/gemini-3-flash-preview":{id:`google/gemini-3-flash-preview`,name:`Google: Gemini 3 Flash Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.049999999999999996,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite":{id:`google/gemini-3.1-flash-lite`,name:`Google: Gemini 3.1 Flash Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite-preview":{id:`google/gemini-3.1-flash-lite-preview`,name:`Google: Gemini 3.1 Flash Lite Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview":{id:`google/gemini-3.1-pro-preview`,name:`Google: Gemini 3.1 Pro Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview-customtools":{id:`google/gemini-3.1-pro-preview-customtools`,name:`Google: Gemini 3.1 Pro Preview Custom Tools`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375},contextWindow:1048756,maxTokens:65536},"google/gemma-3-12b-it":{id:`google/gemma-3-12b-it`,name:`Google: Gemma 3 12B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.04,output:.13,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"google/gemma-3-27b-it":{id:`google/gemma-3-27b-it`,name:`Google: Gemma 3 27B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.08,output:.16,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"google/gemma-4-26b-a4b-it":{id:`google/gemma-4-26b-a4b-it`,name:`Google: Gemma 4 26B A4B `,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.06,output:.33,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"google/gemma-4-26b-a4b-it:free":{id:`google/gemma-4-26b-a4b-it:free`,name:`Google: Gemma 4 26B A4B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google/gemma-4-31b-it":{id:`google/gemma-4-31b-it`,name:`Google: Gemma 4 31B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.12,output:.37,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"google/gemma-4-31b-it:free":{id:`google/gemma-4-31b-it:free`,name:`Google: Gemma 4 31B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"ibm-granite/granite-4.1-8b":{id:`ibm-granite/granite-4.1-8b`,name:`IBM: Granite 4.1 8B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.049999999999999996,output:.09999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:131072},"inception/mercury-2":{id:`inception/mercury-2`,name:`Inception: Mercury 2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`],cost:{input:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:5e4},"inclusionai/ling-2.6-1t":{id:`inclusionai/ling-2.6-1t`,name:`inclusionAI: Ling-2.6-1T`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.3,output:2.5,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-2.6-flash":{id:`inclusionai/ling-2.6-flash`,name:`inclusionAI: Ling-2.6-flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.01,output:.03,cacheRead:.002,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ring-2.6-1t":{id:`inclusionai/ring-2.6-1t`,name:`inclusionAI: Ring-2.6-1T`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.625,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kwaipilot/kat-coder-pro-v2":{id:`kwaipilot/kat-coder-pro-v2`,name:`Kwaipilot: KAT-Coder-Pro V2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:8e4},"meta-llama/llama-3.1-70b-instruct":{id:`meta-llama/llama-3.1-70b-instruct`,name:`Meta: Llama 3.1 70B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.1-8b-instruct":{id:`meta-llama/llama-3.1-8b-instruct`,name:`Meta: Llama 3.1 8B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.02,output:.049999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.3-70b-instruct":{id:`meta-llama/llama-3.3-70b-instruct`,name:`Meta: Llama 3.3 70B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.32,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.3-70b-instruct:free":{id:`meta-llama/llama-3.3-70b-instruct:free`,name:`Meta: Llama 3.3 70B Instruct (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"meta-llama/llama-4-scout":{id:`meta-llama/llama-4-scout`,name:`Meta: Llama 4 Scout`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.08,output:.3,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:16384},"minimax/minimax-m1":{id:`minimax/minimax-m1`,name:`MiniMax: MiniMax M1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.39999999999999997,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4e4},"minimax/minimax-m2":{id:`minimax/minimax-m2`,name:`MiniMax: MiniMax M2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.255,output:1,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.1":{id:`minimax/minimax-m2.1`,name:`MiniMax: MiniMax M2.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.29,output:.95,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.5":{id:`minimax/minimax-m2.5`,name:`MiniMax: MiniMax M2.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.15,output:1.15,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.5:free":{id:`minimax/minimax-m2.5:free`,name:`MiniMax: MiniMax M2.5 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:8192},"minimax/minimax-m2.7":{id:`minimax/minimax-m2.7`,name:`MiniMax: MiniMax M2.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.27899999999999997,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"mistralai/codestral-2508":{id:`mistralai/codestral-2508`,name:`Mistral: Codestral 2508`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.3,output:.8999999999999999,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"mistralai/devstral-2512":{id:`mistralai/devstral-2512`,name:`Mistral: Devstral 2 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/devstral-medium":{id:`mistralai/devstral-medium`,name:`Mistral: Devstral Medium`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/devstral-small":{id:`mistralai/devstral-small`,name:`Mistral: Devstral Small 1.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/ministral-14b-2512":{id:`mistralai/ministral-14b-2512`,name:`Mistral: Ministral 3 14B 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.19999999999999998,output:.19999999999999998,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/ministral-3b-2512":{id:`mistralai/ministral-3b-2512`,name:`Mistral: Ministral 3 3B 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/ministral-8b-2512":{id:`mistralai/ministral-8b-2512`,name:`Mistral: Ministral 3 8B 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-large":{id:`mistralai/mistral-large`,name:`Mistral Large`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistralai/mistral-large-2407":{id:`mistralai/mistral-large-2407`,name:`Mistral Large 2407`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-large-2411":{id:`mistralai/mistral-large-2411`,name:`Mistral Large 2411`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-large-2512":{id:`mistralai/mistral-large-2512`,name:`Mistral: Mistral Large 3 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3":{id:`mistralai/mistral-medium-3`,name:`Mistral: Mistral Medium 3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-medium-3-5":{id:`mistralai/mistral-medium-3-5`,name:`Mistral: Mistral Medium 3.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3.1":{id:`mistralai/mistral-medium-3.1`,name:`Mistral: Mistral Medium 3.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-nemo":{id:`mistralai/mistral-nemo`,name:`Mistral: Mistral Nemo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.02,output:.03,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-saba":{id:`mistralai/mistral-saba`,name:`Mistral: Saba`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.19999999999999998,output:.6,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:4096},"mistralai/mistral-small-2603":{id:`mistralai/mistral-small-2603`,name:`Mistral: Mistral Small 4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-small-3.2-24b-instruct":{id:`mistralai/mistral-small-3.2-24b-instruct`,name:`Mistral: Mistral Small 3.2 24B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"mistralai/mixtral-8x22b-instruct":{id:`mistralai/mixtral-8x22b-instruct`,name:`Mistral: Mixtral 8x22B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:65536,maxTokens:4096},"mistralai/pixtral-large-2411":{id:`mistralai/pixtral-large-2411`,name:`Mistral: Pixtral Large 2411`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/voxtral-small-24b-2507":{id:`mistralai/voxtral-small-24b-2507`,name:`Mistral: Voxtral Small 24B 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:32e3,maxTokens:4096},"moonshotai/kimi-k2":{id:`moonshotai/kimi-k2`,name:`MoonshotAI: Kimi K2 0711`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"moonshotai/kimi-k2-0905":{id:`moonshotai/kimi-k2-0905`,name:`MoonshotAI: Kimi K2 0905`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2-thinking":{id:`moonshotai/kimi-k2-thinking`,name:`MoonshotAI: Kimi K2 Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2.5":{id:`moonshotai/kimi-k2.5`,name:`MoonshotAI: Kimi K2.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.41,output:2.06,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:4096},"moonshotai/kimi-k2.6":{id:`moonshotai/kimi-k2.6`,name:`MoonshotAI: Kimi K2.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.73,output:3.49,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:262142},"nex-agi/deepseek-v3.1-nex-n1":{id:`nex-agi/deepseek-v3.1-nex-n1`,name:`Nex AGI: DeepSeek V3.1 Nex N1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.135,output:.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:163840},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:`nvidia/llama-3.3-nemotron-super-49b-v1.5`,name:`NVIDIA: Llama 3.3 Nemotron Super 49B V1.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"nvidia/nemotron-3-nano-30b-a3b":{id:`nvidia/nemotron-3-nano-30b-a3b`,name:`NVIDIA: Nemotron 3 Nano 30B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.049999999999999996,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:228e3},"nvidia/nemotron-3-nano-30b-a3b:free":{id:`nvidia/nemotron-3-nano-30b-a3b:free`,name:`NVIDIA: Nemotron 3 Nano 30B A3B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,name:`NVIDIA: Nemotron 3 Nano Omni (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:65536},"nvidia/nemotron-3-super-120b-a12b":{id:`nvidia/nemotron-3-super-120b-a12b`,name:`NVIDIA: Nemotron 3 Super`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4096},"nvidia/nemotron-3-super-120b-a12b:free":{id:`nvidia/nemotron-3-super-120b-a12b:free`,name:`NVIDIA: Nemotron 3 Super (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:262144},"nvidia/nemotron-nano-12b-v2-vl:free":{id:`nvidia/nemotron-nano-12b-v2-vl:free`,name:`NVIDIA: Nemotron Nano 12B 2 VL (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"nvidia/nemotron-nano-9b-v2":{id:`nvidia/nemotron-nano-9b-v2`,name:`NVIDIA: Nemotron Nano 9B V2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.04,output:.16,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"nvidia/nemotron-nano-9b-v2:free":{id:`nvidia/nemotron-nano-9b-v2:free`,name:`NVIDIA: Nemotron Nano 9B V2 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-3.5-turbo":{id:`openai/gpt-3.5-turbo`,name:`OpenAI: GPT-3.5 Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-3.5-turbo-0613":{id:`openai/gpt-3.5-turbo-0613`,name:`OpenAI: GPT-3.5 Turbo (older v0613)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:2,cacheRead:0,cacheWrite:0},contextWindow:4095,maxTokens:4096},"openai/gpt-3.5-turbo-16k":{id:`openai/gpt-3.5-turbo-16k`,name:`OpenAI: GPT-3.5 Turbo 16k`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:3,output:4,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-4":{id:`openai/gpt-4`,name:`OpenAI: GPT-4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096},"openai/gpt-4-0314":{id:`openai/gpt-4-0314`,name:`OpenAI: GPT-4 (older v0314)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096},"openai/gpt-4-1106-preview":{id:`openai/gpt-4-1106-preview`,name:`OpenAI: GPT-4 Turbo (older v1106)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4-turbo":{id:`openai/gpt-4-turbo`,name:`OpenAI: GPT-4 Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4-turbo-preview":{id:`openai/gpt-4-turbo-preview`,name:`OpenAI: GPT-4 Turbo Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4.1":{id:`openai/gpt-4.1`,name:`OpenAI: GPT-4.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:4096},"openai/gpt-4.1-mini":{id:`openai/gpt-4.1-mini`,name:`OpenAI: GPT-4.1 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:1.5999999999999999,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:`openai/gpt-4.1-nano`,name:`OpenAI: GPT-4.1 Nano`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:`openai/gpt-4o`,name:`OpenAI: GPT-4o`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-2024-05-13":{id:`openai/gpt-4o-2024-05-13`,name:`OpenAI: GPT-4o (2024-05-13)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4o-2024-08-06":{id:`openai/gpt-4o-2024-08-06`,name:`OpenAI: GPT-4o (2024-08-06)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-2024-11-20":{id:`openai/gpt-4o-2024-11-20`,name:`OpenAI: GPT-4o (2024-11-20)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-audio-preview":{id:`openai/gpt-4o-audio-preview`,name:`OpenAI: GPT-4o Audio`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini":{id:`openai/gpt-4o-mini`,name:`OpenAI: GPT-4o-mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini-2024-07-18":{id:`openai/gpt-4o-mini-2024-07-18`,name:`OpenAI: GPT-4o-mini (2024-07-18)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5":{id:`openai/gpt-5`,name:`OpenAI: GPT-5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-codex":{id:`openai/gpt-5-codex`,name:`OpenAI: GPT-5 Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-mini":{id:`openai/gpt-5-mini`,name:`OpenAI: GPT-5 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-nano":{id:`openai/gpt-5-nano`,name:`OpenAI: GPT-5 Nano`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.049999999999999996,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:4e5,maxTokens:4096},"openai/gpt-5-pro":{id:`openai/gpt-5-pro`,name:`OpenAI: GPT-5 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1":{id:`openai/gpt-5.1`,name:`OpenAI: GPT-5.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-chat":{id:`openai/gpt-5.1-chat`,name:`OpenAI: GPT-5.1 Chat`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.1-codex":{id:`openai/gpt-5.1-codex`,name:`OpenAI: GPT-5.1-Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-max":{id:`openai/gpt-5.1-codex-max`,name:`OpenAI: GPT-5.1-Codex-Max`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-mini":{id:`openai/gpt-5.1-codex-mini`,name:`OpenAI: GPT-5.1-Codex-Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2":{id:`openai/gpt-5.2`,name:`OpenAI: GPT-5.2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-chat":{id:`openai/gpt-5.2-chat`,name:`OpenAI: GPT-5.2 Chat`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"openai/gpt-5.2-codex":{id:`openai/gpt-5.2-codex`,name:`OpenAI: GPT-5.2-Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-pro":{id:`openai/gpt-5.2-pro`,name:`OpenAI: GPT-5.2 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.3-chat":{id:`openai/gpt-5.3-chat`,name:`OpenAI: GPT-5.3 Chat`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.3-codex":{id:`openai/gpt-5.3-codex`,name:`OpenAI: GPT-5.3-Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4":{id:`openai/gpt-5.4`,name:`OpenAI: GPT-5.4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.4-mini":{id:`openai/gpt-5.4-mini`,name:`OpenAI: GPT-5.4 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-nano":{id:`openai/gpt-5.4-nano`,name:`OpenAI: GPT-5.4 Nano`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-pro":{id:`openai/gpt-5.4-pro`,name:`OpenAI: GPT-5.4 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.5":{id:`openai/gpt-5.5`,name:`OpenAI: GPT-5.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.5-pro":{id:`openai/gpt-5.5-pro`,name:`OpenAI: GPT-5.5 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-audio":{id:`openai/gpt-audio`,name:`OpenAI: GPT Audio`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-audio-mini":{id:`openai/gpt-audio-mini`,name:`OpenAI: GPT Audio Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-chat-latest":{id:`openai/gpt-chat-latest`,name:`OpenAI: GPT Chat Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-oss-120b":{id:`openai/gpt-oss-120b`,name:`OpenAI: gpt-oss-120b`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.039,output:.18,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"openai/gpt-oss-120b:free":{id:`openai/gpt-oss-120b:free`,name:`OpenAI: gpt-oss-120b (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b":{id:`openai/gpt-oss-20b`,name:`OpenAI: gpt-oss-20b`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.03,output:.14,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b:free":{id:`openai/gpt-oss-20b:free`,name:`OpenAI: gpt-oss-20b (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-20b":{id:`openai/gpt-oss-safeguard-20b`,name:`OpenAI: gpt-oss-safeguard-20b`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:`openai/o1`,name:`OpenAI: o1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3":{id:`openai/o3`,name:`OpenAI: o3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-deep-research":{id:`openai/o3-deep-research`,name:`OpenAI: o3 Deep Research`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-mini":{id:`openai/o3-mini`,name:`OpenAI: o3 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-mini-high":{id:`openai/o3-mini-high`,name:`OpenAI: o3 Mini High`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-pro":{id:`openai/o3-pro`,name:`OpenAI: o3 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini":{id:`openai/o4-mini`,name:`OpenAI: o4 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini-deep-research":{id:`openai/o4-mini-deep-research`,name:`OpenAI: o4 Mini Deep Research`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini-high":{id:`openai/o4-mini-high`,name:`OpenAI: o4 Mini High`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openrouter/auto":{id:`openrouter/auto`,name:`Auto Router`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:4096},"openrouter/free":{id:`openrouter/free`,name:`Free Models Router`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:4096},"openrouter/owl-alpha":{id:`openrouter/owl-alpha`,name:`Owl Alpha`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048756,maxTokens:262144},"poolside/laguna-m.1:free":{id:`poolside/laguna-m.1:free`,name:`Poolside: Laguna M.1 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"poolside/laguna-xs.2:free":{id:`poolside/laguna-xs.2:free`,name:`Poolside: Laguna XS.2 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"prime-intellect/intellect-3":{id:`prime-intellect/intellect-3`,name:`Prime Intellect: INTELLECT-3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.19999999999999998,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"qwen/qwen-2.5-72b-instruct":{id:`qwen/qwen-2.5-72b-instruct`,name:`Qwen2.5 72B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.36,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen-2.5-7b-instruct":{id:`qwen/qwen-2.5-7b-instruct`,name:`Qwen: Qwen2.5 7B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.04,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen-plus":{id:`qwen/qwen-plus`,name:`Qwen: Qwen-Plus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.26,output:.78,cacheRead:.052000000000000005,cacheWrite:.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28":{id:`qwen/qwen-plus-2025-07-28`,name:`Qwen: Qwen Plus 0728`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.26,output:.78,cacheRead:0,cacheWrite:.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28:thinking":{id:`qwen/qwen-plus-2025-07-28:thinking`,name:`Qwen: Qwen Plus 0728 (thinking)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.26,output:.78,cacheRead:0,cacheWrite:.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen3-14b":{id:`qwen/qwen3-14b`,name:`Qwen: Qwen3 14B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.24,cacheRead:0,cacheWrite:0},contextWindow:131702,maxTokens:40960},"qwen/qwen3-235b-a22b":{id:`qwen/qwen3-235b-a22b`,name:`Qwen: Qwen3 235B A22B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.45499999999999996,output:1.8199999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-235b-a22b-2507":{id:`qwen/qwen3-235b-a22b-2507`,name:`Qwen: Qwen3 235B A22B Instruct 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.071,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-235b-a22b-thinking-2507":{id:`qwen/qwen3-235b-a22b-thinking-2507`,name:`Qwen: Qwen3 235B A22B Thinking 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.14950000000000002,output:1.495,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"qwen/qwen3-30b-a3b":{id:`qwen/qwen3-30b-a3b`,name:`Qwen: Qwen3 30B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:2e4},"qwen/qwen3-30b-a3b-instruct-2507":{id:`qwen/qwen3-30b-a3b-instruct-2507`,name:`Qwen: Qwen3 30B A3B Instruct 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-30b-a3b-thinking-2507":{id:`qwen/qwen3-30b-a3b-thinking-2507`,name:`Qwen: Qwen3 30B A3B Thinking 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.08,output:.39999999999999997,cacheRead:.08,cacheWrite:0},contextWindow:131072,maxTokens:131072},"qwen/qwen3-32b":{id:`qwen/qwen3-32b`,name:`Qwen: Qwen3 32B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.08,output:.28,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-8b":{id:`qwen/qwen3-8b`,name:`Qwen: Qwen3 8B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.049999999999999996,output:.39999999999999997,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-coder":{id:`qwen/qwen3-coder`,name:`Qwen: Qwen3 Coder 480B A35B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.22,output:1.7999999999999998,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"qwen/qwen3-coder-30b-a3b-instruct":{id:`qwen/qwen3-coder-30b-a3b-instruct`,name:`Qwen: Qwen3 Coder 30B A3B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.07,output:.27,cacheRead:0,cacheWrite:0},contextWindow:16e4,maxTokens:32768},"qwen/qwen3-coder-flash":{id:`qwen/qwen3-coder-flash`,name:`Qwen: Qwen3 Coder Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.195,output:.975,cacheRead:.039,cacheWrite:.24375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-coder-next":{id:`qwen/qwen3-coder-next`,name:`Qwen: Qwen3 Coder Next`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.11,output:.7999999999999999,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-coder-plus":{id:`qwen/qwen3-coder-plus`,name:`Qwen: Qwen3 Coder Plus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.65,output:3.25,cacheRead:.13,cacheWrite:.8125},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-coder:free":{id:`qwen/qwen3-coder:free`,name:`Qwen: Qwen3 Coder 480B A35B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:262e3},"qwen/qwen3-max":{id:`qwen/qwen3-max`,name:`Qwen: Qwen3 Max`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.78,output:3.9,cacheRead:.156,cacheWrite:.975},contextWindow:262144,maxTokens:32768},"qwen/qwen3-max-thinking":{id:`qwen/qwen3-max-thinking`,name:`Qwen: Qwen3 Max Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.78,output:3.9,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-next-80b-a3b-instruct":{id:`qwen/qwen3-next-80b-a3b-instruct`,name:`Qwen: Qwen3 Next 80B A3B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-next-80b-a3b-instruct:free":{id:`qwen/qwen3-next-80b-a3b-instruct:free`,name:`Qwen: Qwen3 Next 80B A3B Instruct (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"qwen/qwen3-next-80b-a3b-thinking":{id:`qwen/qwen3-next-80b-a3b-thinking`,name:`Qwen: Qwen3 Next 80B A3B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.0975,output:.78,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-235b-a22b-instruct":{id:`qwen/qwen3-vl-235b-a22b-instruct`,name:`Qwen: Qwen3 VL 235B A22B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.19999999999999998,output:.88,cacheRead:.11,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-vl-235b-a22b-thinking":{id:`qwen/qwen3-vl-235b-a22b-thinking`,name:`Qwen: Qwen3 VL 235B A22B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.26,output:2.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-30b-a3b-instruct":{id:`qwen/qwen3-vl-30b-a3b-instruct`,name:`Qwen: Qwen3 VL 30B A3B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.13,output:.52,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-30b-a3b-thinking":{id:`qwen/qwen3-vl-30b-a3b-thinking`,name:`Qwen: Qwen3 VL 30B A3B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.13,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-32b-instruct":{id:`qwen/qwen3-vl-32b-instruct`,name:`Qwen: Qwen3 VL 32B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.10400000000000001,output:.41600000000000004,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-8b-instruct":{id:`qwen/qwen3-vl-8b-instruct`,name:`Qwen: Qwen3 VL 8B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.08,output:.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32768},"qwen/qwen3-vl-8b-thinking":{id:`qwen/qwen3-vl-8b-thinking`,name:`Qwen: Qwen3 VL 8B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.117,output:1.365,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32768},"qwen/qwen3.5-122b-a10b":{id:`qwen/qwen3.5-122b-a10b`,name:`Qwen: Qwen3.5-122B-A10B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.26,output:2.08,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-27b":{id:`qwen/qwen3.5-27b`,name:`Qwen: Qwen3.5-27B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.195,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-35b-a3b":{id:`qwen/qwen3.5-35b-a3b`,name:`Qwen: Qwen3.5-35B-A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.14,output:1,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.5-397b-a17b":{id:`qwen/qwen3.5-397b-a17b`,name:`Qwen: Qwen3.5 397B A17B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.39,output:2.34,cacheRead:.195,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-9b":{id:`qwen/qwen3.5-9b`,name:`Qwen: Qwen3.5-9B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.04,output:.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.5-flash-02-23":{id:`qwen/qwen3.5-flash-02-23`,name:`Qwen: Qwen3.5-Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.065,output:.26,cacheRead:0,cacheWrite:.08125},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-02-15":{id:`qwen/qwen3.5-plus-02-15`,name:`Qwen: Qwen3.5 Plus 2026-02-15`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.26,output:1.56,cacheRead:0,cacheWrite:.325},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-20260420":{id:`qwen/qwen3.5-plus-20260420`,name:`Qwen: Qwen3.5 Plus 2026-04-20`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:1.7999999999999998,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-27b":{id:`qwen/qwen3.6-27b`,name:`Qwen: Qwen3.6 27B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.32,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.6-35b-a3b":{id:`qwen/qwen3.6-35b-a3b`,name:`Qwen: Qwen3.6 35B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:1,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.6-flash":{id:`qwen/qwen3.6-flash`,name:`Qwen: Qwen3.6 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.1875,output:1.125,cacheRead:0,cacheWrite:.234375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-max-preview":{id:`qwen/qwen3.6-max-preview`,name:`Qwen: Qwen3.6 Max Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.04,output:6.24,cacheRead:0,cacheWrite:1.3},contextWindow:262144,maxTokens:65536},"qwen/qwen3.6-plus":{id:`qwen/qwen3.6-plus`,name:`Qwen: Qwen3.6 Plus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.325,output:1.95,cacheRead:0,cacheWrite:.40625},contextWindow:1e6,maxTokens:65536},"rekaai/reka-edge":{id:`rekaai/reka-edge`,name:`Reka Edge`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"relace/relace-search":{id:`relace/relace-search`,name:`Relace: Relace Search`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:128e3},"sao10k/l3-euryale-70b":{id:`sao10k/l3-euryale-70b`,name:`Sao10k: Llama 3 Euryale 70B v2.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"sao10k/l3.1-euryale-70b":{id:`sao10k/l3.1-euryale-70b`,name:`Sao10K: Llama 3.1 Euryale 70B v2.2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.85,output:.85,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"stepfun/step-3.5-flash":{id:`stepfun/step-3.5-flash`,name:`StepFun: Step 3.5 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"tencent/hy3-preview":{id:`tencent/hy3-preview`,name:`Tencent: Hy3 preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.06599999999999999,output:.26,cacheRead:.029,cacheWrite:0},contextWindow:262144,maxTokens:262144},"thedrummer/rocinante-12b":{id:`thedrummer/rocinante-12b`,name:`TheDrummer: Rocinante 12B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.16999999999999998,output:.43,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"thedrummer/unslopnemo-12b":{id:`thedrummer/unslopnemo-12b`,name:`TheDrummer: UnslopNemo 12B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"upstage/solar-pro-3":{id:`upstage/solar-pro-3`,name:`Upstage: Solar Pro 3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"x-ai/grok-4.20":{id:`x-ai/grok-4.20`,name:`xAI: Grok 4.20`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:4096},"x-ai/grok-4.3":{id:`x-ai/grok-4.3`,name:`xAI: Grok 4.3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:4096},"xiaomi/mimo-v2-flash":{id:`xiaomi/mimo-v2-flash`,name:`Xiaomi: MiMo-V2-Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"xiaomi/mimo-v2-omni":{id:`xiaomi/mimo-v2-omni`,name:`Xiaomi: MiMo-V2-Omni`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:65536},"xiaomi/mimo-v2-pro":{id:`xiaomi/mimo-v2-pro`,name:`Xiaomi: MiMo-V2-Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"xiaomi/mimo-v2.5":{id:`xiaomi/mimo-v2.5`,name:`Xiaomi: MiMo-V2.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"xiaomi/mimo-v2.5-pro":{id:`xiaomi/mimo-v2.5-pro`,name:`Xiaomi: MiMo-V2.5-Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:16384},"z-ai/glm-4-32b":{id:`z-ai/glm-4-32b`,name:`Z.ai: GLM 4 32B `,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"z-ai/glm-4.5":{id:`z-ai/glm-4.5`,name:`Z.ai: GLM 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5-air":{id:`z-ai/glm-4.5-air`,name:`Z.ai: GLM 4.5 Air`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.13,output:.85,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5-air:free":{id:`z-ai/glm-4.5-air:free`,name:`Z.ai: GLM 4.5 Air (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:96e3},"z-ai/glm-4.5v":{id:`z-ai/glm-4.5v`,name:`Z.ai: GLM 4.5V`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:1.7999999999999998,cacheRead:.11,cacheWrite:0},contextWindow:65536,maxTokens:16384},"z-ai/glm-4.6":{id:`z-ai/glm-4.6`,name:`Z.ai: GLM 4.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.43,output:1.74,cacheRead:.08,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-4.6v":{id:`z-ai/glm-4.6v`,name:`Z.ai: GLM 4.6V`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:.8999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:24e3},"z-ai/glm-4.7":{id:`z-ai/glm-4.7`,name:`Z.ai: GLM 4.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.39999999999999997,output:1.75,cacheRead:.08,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-4.7-flash":{id:`z-ai/glm-4.7-flash`,name:`Z.ai: GLM 4.7 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.06,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:202752,maxTokens:16384},"z-ai/glm-5":{id:`z-ai/glm-5`,name:`Z.ai: GLM 5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.6,output:1.9,cacheRead:.119,cacheWrite:0},contextWindow:202752,maxTokens:4096},"z-ai/glm-5-turbo":{id:`z-ai/glm-5-turbo`,name:`Z.ai: GLM 5 Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-5.1":{id:`z-ai/glm-5.1`,name:`Z.ai: GLM 5.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.98,output:3.08,cacheRead:.182,cacheWrite:0},contextWindow:202752,maxTokens:4096},"z-ai/glm-5v-turbo":{id:`z-ai/glm-5v-turbo`,name:`Z.ai: GLM 5V Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"~anthropic/claude-haiku-latest":{id:`~anthropic/claude-haiku-latest`,name:`Anthropic Claude Haiku Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"~anthropic/claude-opus-latest":{id:`~anthropic/claude-opus-latest`,name:`Anthropic: Claude Opus Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"~anthropic/claude-sonnet-latest":{id:`~anthropic/claude-sonnet-latest`,name:`Anthropic Claude Sonnet Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"~google/gemini-flash-latest":{id:`~google/gemini-flash-latest`,name:`Google Gemini Flash Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.049999999999999996,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"~google/gemini-pro-latest":{id:`~google/gemini-pro-latest`,name:`Google Gemini Pro Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"~moonshotai/kimi-latest":{id:`~moonshotai/kimi-latest`,name:`MoonshotAI Kimi Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.73,output:3.49,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:262142},"~openai/gpt-latest":{id:`~openai/gpt-latest`,name:`OpenAI GPT Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"~openai/gpt-mini-latest":{id:`~openai/gpt-mini-latest`,name:`OpenAI GPT Mini Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3}},together:{"MiniMaxAI/MiniMax-M2.5":{id:`MiniMaxAI/MiniMax-M2.5`,name:`MiniMax-M2.5`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null},input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.7":{id:`MiniMaxAI/MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null},input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:202752,maxTokens:131072},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:`Qwen/Qwen3-235B-A22B-Instruct-2507-tput`,name:`Qwen3 235B A22B Instruct 2507 FP8`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:`Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8`,name:`Qwen3 Coder 480B A35B Instruct`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"Qwen/Qwen3-Coder-Next-FP8":{id:`Qwen/Qwen3-Coder-Next-FP8`,name:`Qwen3 Coder Next FP8`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"Qwen/Qwen3.5-397B-A17B":{id:`Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5 397B A17B`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:13e4},"Qwen/Qwen3.6-Plus":{id:`Qwen/Qwen3.6-Plus`,name:`Qwen3.6 Plus`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:5e5},"deepseek-ai/DeepSeek-V3":{id:`deepseek-ai/DeepSeek-V3`,name:`DeepSeek V3`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"deepseek-ai/DeepSeek-V3-1":{id:`deepseek-ai/DeepSeek-V3-1`,name:`DeepSeek V3.1`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.6,output:1.7,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"deepseek-ai/DeepSeek-V4-Pro":{id:`deepseek-ai/DeepSeek-V4-Pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:null},input:[`text`],cost:{input:2.1,output:4.4,cacheRead:.2,cacheWrite:0},contextWindow:512e3,maxTokens:384e3},"essentialai/Rnj-1-Instruct":{id:`essentialai/Rnj-1-Instruct`,name:`Rnj-1 Instruct`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"google/gemma-4-31B-it":{id:`google/gemma-4-31B-it`,name:`Gemma 4 31B Instruct`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:.2,output:.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:`meta-llama/Llama-3.3-70B-Instruct-Turbo`,name:`Llama 3.3 70B`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:.88,output:.88,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"moonshotai/Kimi-K2.5":{id:`moonshotai/Kimi-K2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:.5,output:2.8,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.6":{id:`moonshotai/Kimi-K2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:1.2,output:4.5,cacheRead:.2,cacheWrite:0},contextWindow:262144,maxTokens:131e3},"openai/gpt-oss-120b":{id:`openai/gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`openai`},reasoning:!0,thinkingLevelMap:{off:null,minimal:null},input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"zai-org/GLM-5.1":{id:`zai-org/GLM-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:131072}},"vercel-ai-gateway":{"alibaba/qwen-3-14b":{id:`alibaba/qwen-3-14b`,name:`Qwen3-14B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.12,output:.24,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-235b":{id:`alibaba/qwen-3-235b`,name:`Qwen3 235B A22b Instruct 2507`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.6,output:1.2,cacheRead:.6,cacheWrite:0},contextWindow:131e3,maxTokens:4e4},"alibaba/qwen-3-30b":{id:`alibaba/qwen-3-30b`,name:`Qwen3-30B-A3B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.08,output:.29,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-32b":{id:`alibaba/qwen-3-32b`,name:`Qwen 3 32B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.16,output:.64,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"alibaba/qwen-3.6-max-preview":{id:`alibaba/qwen-3.6-max-preview`,name:`Qwen 3.6 Max Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.3,output:7.8,cacheRead:.26,cacheWrite:1.625},contextWindow:24e4,maxTokens:64e3},"alibaba/qwen3-235b-a22b-thinking":{id:`alibaba/qwen3-235b-a22b-thinking`,name:`Qwen3 VL 235B A22B Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-coder":{id:`alibaba/qwen3-coder`,name:`Qwen3 Coder 480B A35B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.5,output:7.5,cacheRead:.3,cacheWrite:0},contextWindow:262144,maxTokens:65536},"alibaba/qwen3-coder-30b-a3b":{id:`alibaba/qwen3-coder-30b-a3b`,name:`Qwen 3 Coder 30B A3B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192},"alibaba/qwen3-coder-next":{id:`alibaba/qwen3-coder-next`,name:`Qwen3 Coder Next`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"alibaba/qwen3-coder-plus":{id:`alibaba/qwen3-coder-plus`,name:`Qwen3 Coder Plus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1,output:5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"alibaba/qwen3-max":{id:`alibaba/qwen3-max`,name:`Qwen3 Max`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-preview":{id:`alibaba/qwen3-max-preview`,name:`Qwen3 Max Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-thinking":{id:`alibaba/qwen3-max-thinking`,name:`Qwen 3 Max Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0},contextWindow:256e3,maxTokens:65536},"alibaba/qwen3-vl-thinking":{id:`alibaba/qwen3-vl-thinking`,name:`Qwen3 VL 235B A22B Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3.5-flash":{id:`alibaba/qwen3.5-flash`,name:`Qwen 3.5 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.001,cacheWrite:.125},contextWindow:1e6,maxTokens:64e3},"alibaba/qwen3.5-plus":{id:`alibaba/qwen3.5-plus`,name:`Qwen 3.5 Plus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2.4,cacheRead:.04,cacheWrite:.5},contextWindow:1e6,maxTokens:64e3},"alibaba/qwen3.6-27b":{id:`alibaba/qwen3.6-27b`,name:`Qwen 3.6 27B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"alibaba/qwen3.6-plus":{id:`alibaba/qwen3.6-plus`,name:`Qwen 3.6 Plus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.09999999999999999,cacheWrite:.625},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-3-haiku":{id:`anthropic/claude-3-haiku`,name:`Claude 3 Haiku`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"anthropic/claude-3.5-haiku":{id:`anthropic/claude-3.5-haiku`,name:`Claude 3.5 Haiku`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.7999999999999999,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"anthropic/claude-haiku-4.5":{id:`anthropic/claude-haiku-4.5`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4":{id:`anthropic/claude-opus-4`,name:`Claude Opus 4`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.1":{id:`anthropic/claude-opus-4.1`,name:`Claude Opus 4.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.5":{id:`anthropic/claude-opus-4.5`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4.6":{id:`anthropic/claude-opus-4.6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.7":{id:`anthropic/claude-opus-4.7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-sonnet-4":{id:`anthropic/claude-sonnet-4`,name:`Claude Sonnet 4`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.5":{id:`anthropic/claude-sonnet-4.5`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.6":{id:`anthropic/claude-sonnet-4.6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"arcee-ai/trinity-large-preview":{id:`arcee-ai/trinity-large-preview`,name:`Trinity Large Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:131e3},"arcee-ai/trinity-large-thinking":{id:`arcee-ai/trinity-large-thinking`,name:`Trinity Large Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.25,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:8e4},"bytedance/seed-1.6":{id:`bytedance/seed-1.6`,name:`Seed 1.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.25,output:2,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"cohere/command-a":{id:`cohere/command-a`,name:`Command A`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8e3},"deepseek/deepseek-r1":{id:`deepseek/deepseek-r1`,name:`DeepSeek-R1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"deepseek/deepseek-v3":{id:`deepseek/deepseek-v3`,name:`DeepSeek V3 0324`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.77,output:.77,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16384},"deepseek/deepseek-v3.1":{id:`deepseek/deepseek-v3.1`,name:`DeepSeek-V3.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.56,output:1.68,cacheRead:.28,cacheWrite:0},contextWindow:163840,maxTokens:8192},"deepseek/deepseek-v3.1-terminus":{id:`deepseek/deepseek-v3.1-terminus`,name:`DeepSeek V3.1 Terminus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.27,output:1,cacheRead:.135,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deepseek/deepseek-v3.2":{id:`deepseek/deepseek-v3.2`,name:`DeepSeek V3.2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.28,output:.42,cacheRead:.028,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"deepseek/deepseek-v3.2-thinking":{id:`deepseek/deepseek-v3.2-thinking`,name:`DeepSeek V3.2 Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"deepseek/deepseek-v4-flash":{id:`deepseek/deepseek-v4-flash`,name:`DeepSeek V4 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4-pro":{id:`deepseek/deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"google/gemini-2.0-flash":{id:`google/gemini-2.0-flash`,name:`Gemini 2.0 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"google/gemini-2.0-flash-lite":{id:`google/gemini-2.0-flash-lite`,name:`Gemini 2.0 Flash Lite`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.02,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"google/gemini-2.5-flash":{id:`google/gemini-2.5-flash`,name:`Gemini 2.5 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"google/gemini-2.5-flash-lite":{id:`google/gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro":{id:`google/gemini-2.5-pro`,name:`Gemini 2.5 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash":{id:`google/gemini-3-flash`,name:`Gemini 3 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"google/gemini-3-pro-preview":{id:`google/gemini-3-pro-preview`,name:`Gemini 3 Pro Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"google/gemini-3.1-flash-lite":{id:`google/gemini-3.1-flash-lite`,name:`Gemini 3.1 Flash Lite`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"google/gemini-3.1-flash-lite-preview":{id:`google/gemini-3.1-flash-lite-preview`,name:`Gemini 3.1 Flash Lite Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"google/gemini-3.1-pro-preview":{id:`google/gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"google/gemma-4-26b-a4b-it":{id:`google/gemma-4-26b-a4b-it`,name:`Gemma 4 26B A4B IT`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.13,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"google/gemma-4-31b-it":{id:`google/gemma-4-31b-it`,name:`Gemma 4 31B IT`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.14,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"inception/mercury-2":{id:`inception/mercury-2`,name:`Mercury 2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"inception/mercury-coder-small":{id:`inception/mercury-coder-small`,name:`Mercury Coder Small Beta`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:16384},"kwaipilot/kat-coder-pro-v2":{id:`kwaipilot/kat-coder-pro-v2`,name:`Kat Coder Pro V2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"meituan/longcat-flash-chat":{id:`meituan/longcat-flash-chat`,name:`LongCat Flash Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:1e5},"meta/llama-3.1-70b":{id:`meta/llama-3.1-70b`,name:`Llama 3.1 70B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.1-8b":{id:`meta/llama-3.1-8b`,name:`Llama 3.1 8B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.2-11b":{id:`meta/llama-3.2-11b`,name:`Llama 3.2 11B Vision Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.16,output:.16,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.2-90b":{id:`meta/llama-3.2-90b`,name:`Llama 3.2 90B Vision Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.3-70b":{id:`meta/llama-3.3-70b`,name:`Llama 3.3 70B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-4-maverick":{id:`meta/llama-4-maverick`,name:`Llama 4 Maverick 17B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.24,output:.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-4-scout":{id:`meta/llama-4-scout`,name:`Llama 4 Scout 17B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.16999999999999998,output:.66,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"minimax/minimax-m2":{id:`minimax/minimax-m2`,name:`MiniMax M2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:205e3,maxTokens:205e3},"minimax/minimax-m2.1":{id:`minimax/minimax-m2.1`,name:`MiniMax M2.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.1-lightning":{id:`minimax/minimax-m2.1-lightning`,name:`MiniMax M2.1 Lightning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.5":{id:`minimax/minimax-m2.5`,name:`MiniMax M2.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"minimax/minimax-m2.5-highspeed":{id:`minimax/minimax-m2.5-highspeed`,name:`MiniMax M2.5 High Speed`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"minimax/minimax-m2.7":{id:`minimax/minimax-m2.7`,name:`Minimax M2.7`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"minimax/minimax-m2.7-highspeed":{id:`minimax/minimax-m2.7-highspeed`,name:`MiniMax M2.7 High Speed`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131100},"mistral/codestral":{id:`mistral/codestral`,name:`Mistral Codestral`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.3,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/devstral-2":{id:`mistral/devstral-2`,name:`Devstral 2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"mistral/devstral-small":{id:`mistral/devstral-small`,name:`Devstral Small 1.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"mistral/devstral-small-2":{id:`mistral/devstral-small-2`,name:`Devstral Small 2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"mistral/ministral-3b":{id:`mistral/ministral-3b`,name:`Ministral 3B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/ministral-8b":{id:`mistral/ministral-8b`,name:`Ministral 8B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/mistral-medium":{id:`mistral/mistral-medium`,name:`Mistral Medium 3.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"mistral/mistral-small":{id:`mistral/mistral-small`,name:`Mistral Small`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:4e3},"mistral/pixtral-12b":{id:`mistral/pixtral-12b`,name:`Pixtral 12B 2409`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/pixtral-large":{id:`mistral/pixtral-large`,name:`Pixtral Large`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"moonshotai/kimi-k2":{id:`moonshotai/kimi-k2`,name:`Kimi K2 Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"moonshotai/kimi-k2-thinking":{id:`moonshotai/kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2-thinking-turbo":{id:`moonshotai/kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2-turbo":{id:`moonshotai/kimi-k2-turbo`,name:`Kimi K2 Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:16384},"moonshotai/kimi-k2.5":{id:`moonshotai/kimi-k2.5`,name:`Kimi K2.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2.6":{id:`moonshotai/kimi-k2.6`,name:`Kimi K2.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"nvidia/nemotron-nano-12b-v2-vl":{id:`nvidia/nemotron-nano-12b-v2-vl`,name:`Nvidia Nemotron Nano 12B V2 VL`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.19999999999999998,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"nvidia/nemotron-nano-9b-v2":{id:`nvidia/nemotron-nano-9b-v2`,name:`Nvidia Nemotron Nano 9B V2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.06,output:.22999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-4-turbo":{id:`openai/gpt-4-turbo`,name:`GPT-4 Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4.1":{id:`openai/gpt-4.1`,name:`GPT-4.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini":{id:`openai/gpt-4.1-mini`,name:`GPT-4.1 mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:1.5999999999999999,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:`openai/gpt-4.1-nano`,name:`GPT-4.1 nano`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:`openai/gpt-4o`,name:`GPT-4o`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini":{id:`openai/gpt-4o-mini`,name:`GPT-4o mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5":{id:`openai/gpt-5`,name:`GPT-5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-chat":{id:`openai/gpt-5-chat`,name:`GPT 5 Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5-codex":{id:`openai/gpt-5-codex`,name:`GPT-5-Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-mini":{id:`openai/gpt-5-mini`,name:`GPT-5 mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-nano":{id:`openai/gpt-5-nano`,name:`GPT-5 nano`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.049999999999999996,output:.39999999999999997,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-pro":{id:`openai/gpt-5-pro`,name:`GPT-5 pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3},"openai/gpt-5.1-codex":{id:`openai/gpt-5.1-codex`,name:`GPT-5.1-Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-max":{id:`openai/gpt-5.1-codex-max`,name:`GPT 5.1 Codex Max`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-mini":{id:`openai/gpt-5.1-codex-mini`,name:`GPT 5.1 Codex Mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-instant":{id:`openai/gpt-5.1-instant`,name:`GPT-5.1 Instant`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.1-thinking":{id:`openai/gpt-5.1-thinking`,name:`GPT 5.1 Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2":{id:`openai/gpt-5.2`,name:`GPT 5.2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-chat":{id:`openai/gpt-5.2-chat`,name:`GPT 5.2 Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.2-codex":{id:`openai/gpt-5.2-codex`,name:`GPT 5.2 Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-pro":{id:`openai/gpt-5.2-pro`,name:`GPT 5.2 `,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.3-chat":{id:`openai/gpt-5.3-chat`,name:`GPT-5.3 Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.3-codex":{id:`openai/gpt-5.3-codex`,name:`GPT 5.3 Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4":{id:`openai/gpt-5.4`,name:`GPT 5.4`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.4-mini":{id:`openai/gpt-5.4-mini`,name:`GPT 5.4 Mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-nano":{id:`openai/gpt-5.4-nano`,name:`GPT 5.4 Nano`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-pro":{id:`openai/gpt-5.4-pro`,name:`GPT 5.4 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.5":{id:`openai/gpt-5.5`,name:`GPT 5.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"openai/gpt-5.5-pro":{id:`openai/gpt-5.5-pro`,name:`GPT 5.5 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"openai/gpt-oss-20b":{id:`openai/gpt-oss-20b`,name:`GPT OSS 20B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.049999999999999996,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-20b":{id:`openai/gpt-oss-safeguard-20b`,name:`GPT OSS Safeguard 20B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:`openai/o1`,name:`o1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3":{id:`openai/o3`,name:`o3`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-deep-research":{id:`openai/o3-deep-research`,name:`o3-deep-research`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-mini":{id:`openai/o3-mini`,name:`o3-mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-pro":{id:`openai/o3-pro`,name:`o3 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini":{id:`openai/o4-mini`,name:`o4-mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"perplexity/sonar":{id:`perplexity/sonar`,name:`Sonar`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:127e3,maxTokens:8e3},"perplexity/sonar-pro":{id:`perplexity/sonar-pro`,name:`Sonar Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:8e3},"xai/grok-4.1-fast-non-reasoning":{id:`xai/grok-4.1-fast-non-reasoning`,name:`Grok 4.1 Fast Non-Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.1-fast-reasoning":{id:`xai/grok-4.1-fast-reasoning`,name:`Grok 4.1 Fast Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.20-multi-agent":{id:`xai/grok-4.20-multi-agent`,name:`Grok 4.20 Multi-Agent`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-multi-agent-beta":{id:`xai/grok-4.20-multi-agent-beta`,name:`Grok 4.20 Multi Agent Beta`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-non-reasoning":{id:`xai/grok-4.20-non-reasoning`,name:`Grok 4.20 Non-Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-non-reasoning-beta":{id:`xai/grok-4.20-non-reasoning-beta`,name:`Grok 4.20 Beta Non-Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-reasoning":{id:`xai/grok-4.20-reasoning`,name:`Grok 4.20 Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-reasoning-beta":{id:`xai/grok-4.20-reasoning-beta`,name:`Grok 4.20 Beta Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.3":{id:`xai/grok-4.3`,name:`Grok 4.3`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xiaomi/mimo-v2-flash":{id:`xiaomi/mimo-v2-flash`,name:`MiMo V2 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:32e3},"xiaomi/mimo-v2-pro":{id:`xiaomi/mimo-v2-pro`,name:`MiMo V2 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"xiaomi/mimo-v2.5":{id:`xiaomi/mimo-v2.5`,name:`MiMo M2.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.08,cacheWrite:0},contextWindow:105e4,maxTokens:131100},"xiaomi/mimo-v2.5-pro":{id:`xiaomi/mimo-v2.5-pro`,name:`MiMo V2.5 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:105e4,maxTokens:131e3},"zai/glm-4.5":{id:`zai/glm-4.5`,name:`GLM-4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"zai/glm-4.5-air":{id:`zai/glm-4.5-air`,name:`GLM 4.5 Air`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.19999999999999998,output:1.1,cacheRead:.03,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"zai/glm-4.5v":{id:`zai/glm-4.5v`,name:`GLM 4.5V`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.6,output:1.7999999999999998,cacheRead:.11,cacheWrite:0},contextWindow:66e3,maxTokens:16e3},"zai/glm-4.6":{id:`zai/glm-4.6`,name:`GLM 4.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:2e5,maxTokens:96e3},"zai/glm-4.6v":{id:`zai/glm-4.6v`,name:`GLM-4.6V`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:.8999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:128e3,maxTokens:24e3},"zai/glm-4.6v-flash":{id:`zai/glm-4.6v-flash`,name:`GLM-4.6V-Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:24e3},"zai/glm-4.7":{id:`zai/glm-4.7`,name:`GLM 4.7`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:2.25,output:2.75,cacheRead:2.25,cacheWrite:0},contextWindow:131e3,maxTokens:4e4},"zai/glm-4.7-flash":{id:`zai/glm-4.7-flash`,name:`GLM 4.7 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.07,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131e3},"zai/glm-4.7-flashx":{id:`zai/glm-4.7-flashx`,name:`GLM 4.7 FlashX`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.06,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"zai/glm-5":{id:`zai/glm-5`,name:`GLM 5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1,output:3.1999999999999997,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5-turbo":{id:`zai/glm-5-turbo`,name:`GLM 5 Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5.1":{id:`zai/glm-5.1`,name:`GLM 5.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202800,maxTokens:64e3},"zai/glm-5v-turbo":{id:`zai/glm-5v-turbo`,name:`GLM 5V Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:2e5,maxTokens:128e3}},xai:{"grok-2":{id:`grok-2`,name:`Grok 2`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-2-1212":{id:`grok-2-1212`,name:`Grok 2 (1212)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-2-latest":{id:`grok-2-latest`,name:`Grok 2 Latest`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-2-vision":{id:`grok-2-vision`,name:`Grok 2 Vision`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:8192,maxTokens:4096},"grok-2-vision-1212":{id:`grok-2-vision-1212`,name:`Grok 2 Vision (1212)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:8192,maxTokens:4096},"grok-2-vision-latest":{id:`grok-2-vision-latest`,name:`Grok 2 Vision Latest`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:8192,maxTokens:4096},"grok-3":{id:`grok-3`,name:`Grok 3`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:3,output:15,cacheRead:.75,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-3-fast":{id:`grok-3-fast`,name:`Grok 3 Fast`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:5,output:25,cacheRead:1.25,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-4.20-0309-non-reasoning":{id:`grok-4.20-0309-non-reasoning`,name:`Grok 4.20 (Non-Reasoning)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:2e6,maxTokens:3e4},"grok-4.20-0309-reasoning":{id:`grok-4.20-0309-reasoning`,name:`Grok 4.20 (Reasoning)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:2e6,maxTokens:3e4},"grok-4.3":{id:`grok-4.3`,name:`Grok 4.3`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"grok-beta":{id:`grok-beta`,name:`Grok Beta`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:5,output:15,cacheRead:5,cacheWrite:0},contextWindow:131072,maxTokens:4096},"grok-code-fast-1":{id:`grok-code-fast-1`,name:`Grok Code Fast 1`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:.2,output:1.5,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:8192},"grok-vision-beta":{id:`grok-vision-beta`,name:`Grok Vision Beta`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:5,cacheWrite:0},contextWindow:8192,maxTokens:4096}},xiaomi:{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},"xiaomi-token-plan-ams":{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},"xiaomi-token-plan-cn":{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},"xiaomi-token-plan-sgp":{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},zai:{"glm-4.5-air":{id:`glm-4.5-air`,name:`GLM-4.5-Air`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"glm-4.7":{id:`glm-4.7`,name:`GLM-4.7`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5-turbo":{id:`glm-5-turbo`,name:`GLM-5-Turbo`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072},"glm-5.1":{id:`glm-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072},"glm-5v-turbo":{id:`glm-5v-turbo`,name:`GLM-5V-Turbo`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072}}},Uu=new Map;for(let[e,t]of Object.entries(Hu)){let n=new Map;for(let[e,r]of Object.entries(t))n.set(e,r);Uu.set(e,n)}function Wu(e,t){return Uu.get(e)?.get(t)}function Gu(){return Array.from(Uu.keys())}function Ku(e){let t=Uu.get(e);return t?Array.from(t.values()):[]}function qu(e,t){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/1e6*t.cacheWrite,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}const Ju=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function Yu(e){return e.reasoning?Ju.filter(t=>{let n=e.thinkingLevelMap?.[t];return n===null?!1:t===`xhigh`?n!==void 0:!0}):[`off`]}function Xu(e,t){let n=Yu(e);if(n.includes(t))return t;let r=Ju.indexOf(t);if(r===-1)return n[0]??`off`;for(let e=r;e<Ju.length;e++){let t=Ju[e];if(n.includes(t))return t}for(let e=r-1;e>=0;e--){let t=Ju[e];if(n.includes(t))return t}return n[0]??`off`}var Zu=class{isComplete;extractResult;queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;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}},Qu=class extends Zu{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 $u(){return new Qu}const ed=e=>import(e);let td,nd,rd,id,ad,od,sd,cd,ld;function ud(e,t){(async()=>{for await(let n of t)e.push(n);e.end()})()}function dd(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 fd(e){return(t,n,r)=>{let i=new Qu;return e().then(e=>{ud(i,e.stream(t,n,r))}).catch(e=>{let n=dd(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function pd(e){return(t,n,r)=>{let i=new Qu;return e().then(e=>{ud(i,e.streamSimple(t,n,r))}).catch(e=>{let n=dd(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function md(){return td||=import(`./anthropic-DsWYizrD.js`).then(e=>{let t=e;return{stream:t.streamAnthropic,streamSimple:t.streamSimpleAnthropic}}),td}function hd(){return nd||=import(`./azure-openai-responses-QpdQfiCu.js`).then(e=>{let t=e;return{stream:t.streamAzureOpenAIResponses,streamSimple:t.streamSimpleAzureOpenAIResponses}}),nd}function gd(){return rd||=import(`./google-CzAFRPHC.js`).then(e=>{let t=e;return{stream:t.streamGoogle,streamSimple:t.streamSimpleGoogle}}),rd}function _d(){return id||=import(`./google-vertex-DNXMcqyG.js`).then(e=>{let t=e;return{stream:t.streamGoogleVertex,streamSimple:t.streamSimpleGoogleVertex}}),id}function vd(){return ad||=import(`./mistral-C-3XpjIj.js`).then(e=>{let t=e;return{stream:t.streamMistral,streamSimple:t.streamSimpleMistral}}),ad}function yd(){return od||=import(`./openai-codex-responses-DIfPb_nt.js`).then(e=>{let t=e;return{stream:t.streamOpenAICodexResponses,streamSimple:t.streamSimpleOpenAICodexResponses}}),od}function bd(){return sd||=Promise.resolve().then(()=>$Ne).then(e=>{let t=e;return{stream:t.streamOpenAICompletions,streamSimple:t.streamSimpleOpenAICompletions}}),sd}function xd(){return cd||=import(`./openai-responses-B24wmrd4.js`).then(e=>{let t=e;return{stream:t.streamOpenAIResponses,streamSimple:t.streamSimpleOpenAIResponses}}),cd}function Sd(){return ld||=ed(`./amazon-bedrock.js`).then(e=>{let t=e;return{stream:t.streamBedrock,streamSimple:t.streamSimpleBedrock}}),ld}const Cd=fd(md),wd=pd(md),Td=fd(hd),Ed=pd(hd),Dd=fd(gd),Od=pd(gd),kd=fd(_d),Ad=pd(_d),jd=fd(vd),Md=pd(vd),Nd=fd(yd),Pd=pd(yd),Fd=fd(bd),Id=pd(bd),Ld=fd(xd),Rd=pd(xd),zd=fd(Sd),Bd=pd(Sd);function Vd(){vu({api:`anthropic-messages`,stream:Cd,streamSimple:wd}),vu({api:`openai-completions`,stream:Fd,streamSimple:Id}),vu({api:`mistral-conversations`,stream:jd,streamSimple:Md}),vu({api:`openai-responses`,stream:Ld,streamSimple:Rd}),vu({api:`azure-openai-responses`,stream:Td,streamSimple:Ed}),vu({api:`openai-codex-responses`,stream:Nd,streamSimple:Pd}),vu({api:`google-generative-ai`,stream:Dd,streamSimple:Od}),vu({api:`google-vertex`,stream:kd,streamSimple:Ad}),vu({api:`bedrock-converse-stream`,stream:zd,streamSimple:Bd})}Vd();const Hd=new Set;function Ud(e){return Hd.add(e),()=>{Hd.delete(e)}}function Wd(e){let t=yu(e);if(!t)throw Error(`No API provider registered for api: ${e}`);return t}function Gd(e,t,n){return Wd(e.api).streamSimple(e,t,n)}async function Kd(e,t,n){return Gd(e,t,n).result()}function qd(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:String(e)}function Jd(e){if(!(e instanceof Error))return{name:`ThrownValue`,message:qd(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 Yd(e,t,n){return{type:e,timestamp:Date.now(),error:Jd(t),details:n}}function Xd(e,t){e.diagnostics=[...e.diagnostics??[],t]}var Zd=s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Allow=e.ALL=e.COLLECTION=e.ATOM=e.SPECIAL=e.INF=e._INFINITY=e.INFINITY=e.NAN=e.BOOL=e.NULL=e.OBJ=e.ARR=e.NUM=e.STR=void 0,e.STR=1,e.NUM=2,e.ARR=4,e.OBJ=8,e.NULL=16,e.BOOL=32,e.NAN=64,e.INFINITY=128,e._INFINITY=256,e.INF=e.INFINITY|e._INFINITY,e.SPECIAL=e.NULL|e.BOOL|e.INF|e.NAN,e.ATOM=e.STR|e.NUM|e.SPECIAL,e.COLLECTION=e.ARR|e.OBJ,e.ALL=e.ATOM|e.COLLECTION,e.Allow={STR:e.STR,NUM:e.NUM,ARR:e.ARR,OBJ:e.OBJ,NULL:e.NULL,BOOL:e.BOOL,NAN:e.NAN,INFINITY:e.INFINITY,_INFINITY:e._INFINITY,INF:e.INF,SPECIAL:e.SPECIAL,ATOM:e.ATOM,COLLECTION:e.COLLECTION,ALL:e.ALL},e.default=e.Allow})),Qd=s((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.Allow=e.MalformedJSON=e.PartialJSON=e.parseJSON=e.parse=void 0;let r=Zd();Object.defineProperty(e,"Allow",{enumerable:!0,get:function(){return r.Allow}}),n(Zd(),e);var i=class extends Error{};e.PartialJSON=i;var a=class extends Error{};e.MalformedJSON=a;function o(e,t=r.Allow.ALL){if(typeof e!=`string`)throw TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw Error(`${e} is empty`);return s(e.trim(),t)}e.parseJSON=o;let s=(e,t)=>{let n=e.length,o=0,s=e=>{throw new i(`${e} at position ${o}`)},c=e=>{throw new a(`${e} at position ${o}`)},l=()=>(m(),o>=n&&s(`Unexpected end of input`),e[o]===`"`?u():e[o]===`{`?d():e[o]===`[`?f():e.substring(o,o+4)===`null`||r.Allow.NULL&t&&n-o<4&&`null`.startsWith(e.substring(o))?(o+=4,null):e.substring(o,o+4)===`true`||r.Allow.BOOL&t&&n-o<4&&`true`.startsWith(e.substring(o))?(o+=4,!0):e.substring(o,o+5)===`false`||r.Allow.BOOL&t&&n-o<5&&`false`.startsWith(e.substring(o))?(o+=5,!1):e.substring(o,o+8)===`Infinity`||r.Allow.INFINITY&t&&n-o<8&&`Infinity`.startsWith(e.substring(o))?(o+=8,1/0):e.substring(o,o+9)===`-Infinity`||r.Allow._INFINITY&t&&1<n-o&&n-o<9&&`-Infinity`.startsWith(e.substring(o))?(o+=9,-1/0):e.substring(o,o+3)===`NaN`||r.Allow.NAN&t&&n-o<3&&`NaN`.startsWith(e.substring(o))?(o+=3,NaN):p()),u=()=>{let i=o,a=!1;for(o++;o<n&&(e[o]!==`"`||a&&e[o-1]===`\\`);)a=e[o]===`\\`?!a:!1,o++;if(e.charAt(o)==`"`)try{return JSON.parse(e.substring(i,++o-Number(a)))}catch(e){c(String(e))}else if(r.Allow.STR&t)try{return JSON.parse(e.substring(i,o-Number(a))+`"`)}catch{return JSON.parse(e.substring(i,e.lastIndexOf(`\\`))+`"`)}s(`Unterminated string literal`)},d=()=>{o++,m();let i={};try{for(;e[o]!==`}`;){if(m(),o>=n&&r.Allow.OBJ&t)return i;let a=u();m(),o++;try{i[a]=l()}catch(e){if(r.Allow.OBJ&t)return i;throw e}m(),e[o]===`,`&&o++}}catch{if(r.Allow.OBJ&t)return i;s(`Expected '}' at end of object`)}return o++,i},f=()=>{o++;let n=[];try{for(;e[o]!==`]`;)n.push(l()),m(),e[o]===`,`&&o++}catch{if(r.Allow.ARR&t)return n;s(`Expected ']' at end of array`)}return o++,n},p=()=>{if(o===0){e===`-`&&c(`Not sure what '-' is`);try{return JSON.parse(e)}catch(n){if(r.Allow.NUM&t)try{return JSON.parse(e.substring(0,e.lastIndexOf(`e`)))}catch{}c(String(n))}}let i=o;for(e[o]===`-`&&o++;e[o]&&`,]}`.indexOf(e[o])===-1;)o++;o==n&&!(r.Allow.NUM&t)&&s(`Unterminated number literal`);try{return JSON.parse(e.substring(i,o))}catch{e.substring(i,o)===`-`&&s(`Not sure what '-' is`);try{return JSON.parse(e.substring(i,e.lastIndexOf(`e`)))}catch(e){c(String(e))}}},m=()=>{for(;o<n&&`
|
|
881
|
+
`)?lo(e,so(t)):e.startsWith(` `)?lo(e,t):lo(e,co(t))}[...ine,...io],[...io];function one(e){return R(e,``)?[]:[e.slice(0,1),e.slice(1)]}function fo(e,t){let[n,...r]=e;return Gt(n)?t.startsWith(n)?!0:fo(r,t):!1}function po(e,t,n=``){return no(one(t),(r,i)=>fo(e,t)?[n,t]:po(e,i,`${n}${r}`),()=>[])}function mo(e,t){return no(po(e,t),(e,t)=>R(e,``)?[]:[e,t],()=>[])}const ho=(e,t,n=()=>[])=>e.length===2?t(e):n(),go=e=>ho(uo(`-?(?:0|[1-9][0-9]*)n`,e),([e,t])=>[Ja(e),t]),_o=e=>ho(uo(`.*`,e),([e,t])=>[Ya(e),t]),vo=e=>ho(uo(`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,e),([e,t])=>[Xa(e),t]),yo=e=>ho(uo(`-?(?:0|[1-9][0-9]*)`,e),([e,t])=>[Za(e),t]),bo=e=>ho(uo(`(?!)`,e),([e,t])=>[Qa(e),t]),xo=e=>ho(mo([`-?(?:0|[1-9][0-9]*)n`,`.*`,`-?(?:0|[1-9][0-9]*)(?:.[0-9]+)?`,`-?(?:0|[1-9][0-9]*)`,`(?!)`,`(`,`)`,`$`,`|`],e),([e,t])=>[$a(e),t]),So=e=>ho(ho(go(e),([e,t])=>[e,t],()=>ho(_o(e),([e,t])=>[e,t],()=>ho(vo(e),([e,t])=>[e,t],()=>ho(yo(e),([e,t])=>[e,t],()=>ho(bo(e),([e,t])=>[e,t],()=>ho(Co(e),([e,t])=>[e,t],()=>ho(xo(e),([e,t])=>[e,t],()=>[]))))))),([e,t])=>[eo(e),t]),Co=e=>ho(ho(uo(`(`,e),([e,t])=>ho(Eo(t),([t,n])=>ho(uo(`)`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[Zte(e),t]),wo=e=>ho(ho(ho(To(e),([e,t])=>ho(uo(`|`,t),([t,n])=>ho(wo(n),([n,r])=>[[e,t,n],r]))),([e,t])=>[e,t],()=>ho(ho(To(e),([e,t])=>[[e],t]),([e,t])=>[e,t],()=>ho([[],e],([e,t])=>[e,t],()=>[]))),([e,t])=>[Qte(e),t]),To=e=>ho(ho(So(e),([e,t])=>ho(Eo(t),([t,n])=>[[e,t],n])),([e,t])=>[$te(e),t]),Eo=e=>ho(ho(wo(e),([e,t])=>[e,t],()=>ho(To(e),([e,t])=>[e,t],()=>[])),([e,t])=>[ene(e),t]),Do=e=>ho(ho(uo(`^`,e),([e,t])=>ho(Eo(t),([t,n])=>ho(uo(`$`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[tne(e),t]);function Oo(e){return e.join(`|`)}function ko(e){return e.slice(1,e.length-1)}function Ao(e,t,n){return Vo(t,`${n}${e}`)}function jo(e,t){return Vo(e,`${t}-?(?:0|[1-9][0-9]*)n`)}function Mo(e,t){return Vo(e,`${t}${Ri}`)}function No(e,t){return Vo(e,`${t}${Yi}`)}function Po(e,t){return Bo(ii([Ui(`false`),Ui(`true`)]),e,t)}function Fo(e,t){return Vo(e,`${t}.*`)}function Io(e,t,n){return Vo(t,`${n}${ko(e)}`)}function Lo(e,t,n){return Bo(Wo(e,{}),t,n)}function Ro(e,t,n){return zo(pa(e),t,n)}function zo(e,t,n,r=[]){return on(e,(e,i)=>zo(i,t,n,[...r,Bo(e,[],``)]),()=>Vo(t,`${n}(${Oo(r)})`))}function Bo(e,t,n){return mi(e)?Ro(e.enum,t,n):Bi(e)?Mo(t,n):Ki(e)?Ao(e.const,t,n):Ii(e)?jo(t,n):Li(e)?Po(t,n):Zi(e)?No(t,n):ea(e)?Fo(t,n):Jo(e)?Io(e.pattern,t,n):qo(e)?Lo(e.parameters[0],t,n):ai(e)?zo(e.anyOf,t,n):`(?!)`}function Vo(e,t){return on(e,(e,n)=>Bo(e,n,t),()=>t)}function Ho(e){return`^${Vo(e,``)}$`}function Uo(e){return aa(Ho(e))}function Wo(e,t){return eu(e)?dr(Uo(e),{},t):Ko(e,t)}function Go(e,t,n,r){return Wo(ou(e,t,n),r)}function Ko(e,t={}){return vr(`TemplateLiteral`,[e],t)}function qo(e){return pr(e)&&z(e,`action`)&&R(e.action,`TemplateLiteral`)}function Jo(e){return fr(e,`TemplateLiteral`)}function Yo(e){return lr({"~kind":`ExtendsUnion`},{inferred:e})}function Xo(e){return Wt(e)&&z(e,`~kind`)&&z(e,`inferred`)&&R(e[`~kind`],`ExtendsUnion`)&&Wt(e.inferred)}function Zo(e){return lr({"~kind":`ExtendsTrue`},{inferred:e})}function Qo(e){return Wt(e)&&z(e,`~kind`)&&z(e,`inferred`)&&R(e[`~kind`],`ExtendsTrue`)&&Wt(e.inferred)}function $o(){return lr({"~kind":`ExtendsFalse`},{})}function es(e){return Wt(e)&&z(e,`~kind`)&&R(e[`~kind`],`ExtendsFalse`)}function ts(e){return Xo(e)||Qo(e)}function ns(e,t,n){return ts(e)?t(e.inferred):n()}function sne(e,t,n,r){return ns(bs(e,n,r),r=>Zo(wt(wt(e,r),{[t]:n})),()=>$o())}function cne(e,t){return Zo(e)}function lne(e,t,n){return bs(e,t,ma(n))}function rs(e,t,n){return on(n,(n,r)=>ns(bs(e,t,n),e=>rs(e,t,r),()=>$o()),()=>Zo(e))}function une(e,t,n){return bs(e,t,da(n))}function is(e,t,n){return on(n,(n,r)=>ns(bs(e,t,n),e=>Zo(e),()=>is(e,t,r)),()=>$o())}function as(e,t,n){return Yr(n)?cne(e,t):mi(n)?lne(e,t,n.enum):pi(n)?sne(e,n.name,t,n.extends):gi(n)?rs(e,t,n.allOf):Jo(n)?une(e,t,n.pattern):ai(n)?is(e,t,n.anyOf):ci(n)?Zo(e):$o()}function dne(e,t,n){return pi(n)?as(e,t,n):Yr(n)||ci(n)?Zo(e):Yo(e)}function fne(e,t){let n=Cr(e),r=Cr(t);return n&&r||!n&&r?!0:!(n&&!r)}function pne(e,t,n,r){return Fr(r)?fne(t,r)?bs(e,n,r.items):$o():as(e,t,r)}function mne(e,t,n){return Rr(n)?bs(e,t,n.iteratorItems):as(e,Lr(t),n)}function hne(e,t,n){return Ii(n)?Zo(e):as(e,t,n)}function gne(e,t,n){return Li(n)?Zo(e):as(e,t,n)}function _ne(e,t,n,r,i){let a=pi(r)?t:r,o=pi(r)?r:t,s=Er(t),c=Er(r);return!s&&c?$o():ns(bs(e,a,o),e=>os(e,n,i),()=>$o())}function vne(e,t,n,r){return on(r,(r,i)=>_ne(e,t,n,r,i),()=>Er(t)?Zo(e):$o())}function yne(e,t,n){return on(t,(t,r)=>vne(e,t,r,n),()=>Zo(e))}function os(e,t,n){return yne(e,t,n)}function ss(e,t,n){return qa(n)?Zo(e):bs(e,t,n)}function bne(e,t,n,r){return Yr(r)||ci(r)?Zo(e):Vr(r)?ns(os(e,t,r.parameters),e=>ss(e,n,r.instanceType),()=>$o()):$o()}function xne(e,t,n){return bs(e,ha(t),n)}function Sne(e,t,n,r){return Yr(r)||ci(r)?Zo(e):Ur(r)?ns(os(e,t,r.parameters),e=>ss(e,n,r.returnType),()=>$o()):$o()}function Cne(e,t,n){return Bi(n)||Zi(n)?Zo(e):as(e,t,n)}function wne(e,t,n){return bs(e,wa(t),n)}function Tne(e,t,n){return Hi(n)?bs(e,t,n.iteratorItems):as(e,Vi(t),n)}function cs(e,t,n){return t===n?Zo(e):$o()}function Ene(e,t,n){return Ki(n)?cs(e,t,n.const):Ii(n)?Zo(e):as(e,Ui(t),n)}function Dne(e,t,n){return Ki(n)?cs(e,t,n.const):Li(n)?Zo(e):as(e,Ui(t),n)}function One(e,t,n){return Ki(n)?cs(e,t,n.const):Zi(n)?Zo(e):as(e,Ui(t),n)}function kne(e,t,n){return Ki(n)?cs(e,t,n.const):ea(n)?Zo(e):as(e,Ui(t),n)}function Ane(e,t,n){return Ft(t.const)?Ene(e,t.const,n):It(t.const)?Dne(e,t.const,n):Ht(t.const)?One(e,t.const,n):Gt(t.const)?kne(e,t.const,n):Si()}function jne(e,t,n){return pi(n)?as(e,t,n):Zo(e)}function Mne(e,t,n){return Ji(n)?Zo(e):as(e,t,n)}function Nne(e,t,n){return Zi(n)?Zo(e):as(e,t,n)}function Pne(e,t,n){return Er(t)?Er(n)?Zo(e):$o():Zo(e)}function Fne(e,t,n){return pi(n)&&Zr(n.extends)?$o():ns(bs(e,t,n),e=>Pne(e,t,n),()=>$o())}function Ine(e,t){return e.reduce((e,n)=>n in t&&ts(t[n])?{...e,...t[n].inferred}:Si(),{})}function Lne(e,t,n){let r={};for(let i of ln(n))r[i]=i in t?Fne({},t[i],n[i]):Er(n[i])?pi(n[i])?Zo(wt(e,{[n[i].name]:n[i].extends})):Zo(e):$o();let i=un(r).every(e=>ts(e)),a=i?Ine(ln(r),r):{};return i?Zo(a):$o()}function Rne(e,t,n){let r=Lne(e,t,n);return ts(r)?Zo(wt(e,r.inferred)):$o()}function zne(e,t,n){return Rne(e,t,n)}function Bne(e,t,n){return ni(n)?zne(e,t,n.properties):as(e,ti(t),n)}function Vne(e,t,n){return xr(n)?bs(e,t,n.item):as(e,br(t),n)}function Hne(e,t,n){return ea(n)?Zo(e):as(e,t,n)}function Une(e,t,n){return Qi(n)?Zo(e):as(e,t,n)}function Wne(e,t,n){return bs(e,da(t),n)}function ls(e,t){return lr({"~kind":`Inferrable`},{name:e,type:t},{})}function us(e){return Wt(e)&&z(e,`~kind`)&&z(e,`name`)&&z(e,`type`)&&R(e[`~kind`],`Inferrable`)&&Gt(e.name)&&Wt(e.type)}function ds(e){return Ua(e)?pi(e.items)?Fr(e.items.extends)?ls(e.items.name,e.items.extends.items):ci(e.items.extends)?ls(e.items.name,e.items.extends):void 0:Si():void 0}function fs(e){return pi(e)?ls(e.name,e.extends):void 0}function ps(e,t,n=[]){return on(e,(e,r)=>ns(bs({},e,t),()=>ps(r,t,[...n,e]),()=>void 0),()=>n)}function Gne(e,t,n,r){let i=ps(n,r);return Nt(i)?Zo(wt(e,{[t]:ga(i)})):$o()}function ms(e,t,n,r){let i=ps(n,r);return Nt(i)?Zo(wt(e,{[t]:ii(i)})):$o()}function Kne(e){return[...e].reverse()}function hs(e,t){return t?Kne(e):e}function qne(e){let t=e.length>0?e[0]:void 0;return pr(pr(t)?ds(t):void 0)}function Jne(e,t,n,r,i,a){return ns(bs(e,n,i),e=>gs(e,t,r,a),()=>$o())}function Yne(e,t,n,r,i){let a=ds(r);return us(a)?Gne(e,a.name,hs(n,t),a.type):on(n,(n,a)=>Jne(e,t,n,a,r,i),()=>$o())}function Xne(e,t,n,r){return on(r,(r,i)=>Yne(e,t,n,r,i),()=>R(n.length,0)?Zo(e):$o())}function gs(e,t,n,r){return Xne(e,t,n,r)}function Zne(e,t,n){let r=au(e,{callstack:[]},n),i=qne(r);return gs(e,i,hs(t,i),hs(r,i))}function _s(e,t,n){let r=fs(n);return us(r)?ms(e,r.name,t,r.type):on(t,(t,r)=>ns(bs(e,t,n),e=>_s(e,r,n),()=>$o()),()=>Zo(e))}function Qne(e,t,n){let r=au(e,{callstack:[]},t);return _a(n)?Zne(e,r,n.items):Fr(n)?_s(e,r,n.items):as(e,ga(r),n)}function $ne(e,t,n){return qa(n)||Ka(n)?Zo(e):as(e,t,n)}function vs(e,t,n){return on(n,(n,r)=>ns(bs(e,t,n),e=>Zo(e),()=>vs(e,t,r)),()=>$o())}function ys(e,t,n){return on(t,(t,r)=>ns(vs(e,t,n),e=>ys(e,r,n),()=>$o()),()=>Zo(e))}function ere(e,t,n){let r=fs(n);return us(r)?ms(e,r.name,t,r.type):ai(n)?ys(e,t,n.anyOf):ys(e,t,[n])}function tre(e,t,n){return pi(n)?as(e,t,n):Yr(n)||ci(n)?Zo(e):$o()}function nre(e,t,n){return qa(n)?Zo(e):as(e,t,n)}function bs(e,t,n){return Yr(t)?dne(e,t,n):Fr(t)?pne(e,t,t.items,n):Rr(t)?mne(e,t.iteratorItems,n):Ii(t)?hne(e,t,n):Li(t)?gne(e,t,n):Vr(t)?bne(e,t.parameters,t.instanceType,n):mi(t)?xne(e,t,n):Ur(t)?Sne(e,t.parameters,t.returnType,n):Bi(t)?Cne(e,t,n):gi(t)?wne(e,t.allOf,n):Hi(t)?Tne(e,t.iteratorItems,n):Ki(t)?Ane(e,t,n):Zr(t)?jne(e,t,n):Ji(t)?Mne(e,t,n):Zi(t)?Nne(e,t,n):ni(t)?Bne(e,t.properties,n):xr(t)?Vne(e,t.item,n):ea(t)?Hne(e,t,n):Qi(t)?Une(e,t,n):Jo(t)?Wne(e,t.pattern,n):_a(t)?Qne(e,t.items,n):Ka(t)?$ne(e,t,n):ai(t)?ere(e,t.anyOf,n):ci(t)?tre(e,t,n):qa(t)?nre(e,t,n):$o()}function rre(e,t){return wa([...e,ti(t)])}function ire(e,t,n){return eu(e)?dr(rre(e,t),{},n):ore(e,t,n)}function are(e,t,n,r,i){return ire(ou(e,t,n),iu(e,t,r),i)}function ore(e,t,n={}){return vr(`Interface`,[e,t],n)}function xs(e){return pr(e)&&z(e,`action`)&&R(e.action,`Interface`)}function sre(e,t,n){return e.includes(n)?!0:ws([...e,n],t,t[n])}function Ss(e,t,n){return Cs(e,t,ei(n))}function Cs(e,t,n){return on(n,(n,r)=>ws(e,t,n)?!0:Cs(e,t,r),()=>!1)}function ws(e,t,n){return Gr(n)?sre(e,t,n.$ref):Fr(n)?ws(e,t,n.items):Rr(n)?ws(e,t,n.iteratorItems):Vr(n)?Cs(e,t,[...n.parameters,n.instanceType]):Ur(n)?Cs(e,t,[...n.parameters,n.returnType]):xs(n)?Ss(e,t,n.parameters[1]):gi(n)?Cs(e,t,n.allOf):Hi(n)?ws(e,t,n.iteratorItems):ni(n)?Ss(e,t,n.properties):xr(n)?ws(e,t,n.item):ai(n)?Cs(e,t,n.anyOf):_a(n)?Cs(e,t,n.items):Va(n)?ws(e,t,Ba(n)):!1}function Ts(e,t,n){return ws(e,t,n)}function Es(e,t){return t.reduce((t,n)=>n in e?Ts([n],e,e[n])?[...t,n]:t:Si(),[])}function Ds(e){return Es(e,$r(e))}function Os(e,t,n){return n.includes(t)?n:t in e?js(e,e[t],[...n,t]):Si()}function ks(e,t,n){return As(e,ei(t),n)}function As(e,t,n){return t.reduce((t,n)=>js(e,n,t),n)}function js(e,t,n){return Gr(t)?Os(e,t.$ref,n):Fr(t)?js(e,t.items,n):Rr(t)?js(e,t.iteratorItems,n):Vr(t)?As(e,[...t.parameters,t.instanceType],n):Ur(t)?As(e,[...t.parameters,t.returnType],n):xs(t)?ks(e,t.parameters[1],n):gi(t)?As(e,t.allOf,n):Hi(t)?js(e,t.iteratorItems,n):ni(t)?ks(e,t.properties,n):xr(t)?js(e,t.item,n):ai(t)?As(e,t.anyOf,n):_a(t)?As(e,t.items,n):Va(t)?js(e,Ba(t),n):n}function Ms(e,t,n){return js(e,n,[t])}function Ns(e){return Jr()}function Ps(e){return ln(e).reduce((t,n)=>({...t,[n]:Is(e[n])}),{})}function Fs(e){return e.reduce((e,t)=>[...e,Is(t)],[])}function Is(e){return Gr(e)?Ns(e.$ref):Fr(e)?Pr(Is(e.items),Ir(e)):Rr(e)?Lr(Is(e.iteratorItems)):Vr(e)?Br(Fs(e.parameters),Is(e.instanceType)):Ur(e)?Hr(Fs(e.parameters),Is(e.returnType)):gi(e)?hi(Fs(e.allOf)):Hi(e)?Vi(Is(e.iteratorItems)):ni(e)?ti(Ps(e.properties)):xr(e)?br(Is(e.item)):Va(e)?Xte(za(e),Is(Ba(e))):ai(e)?ii(Fs(e.anyOf)):_a(e)?ga(Fs(e.items)):e}function Ls(e,t){return t in e?Is(e[t]):si()}function Rs(e){return Ls(e.$defs,e.$ref)}function zs(e,t,n){let r=ou(e,{callstack:[]},t),i=iu({},{callstack:[]},n);return wa([...r,ti(i)])}function Bs(e,t){return ln(e).filter(e=>t.includes(e)).reduce((t,n)=>{let r=e[n],i=xs(r)?zs(e,r.parameters[0],r.parameters[1]):r;return{...t,[n]:i}},{})}function Vs(e,t,n){return li(Bs(e,Ms(e,t,n)),t)}function Hs(e,t){return t in e?Gr(e[t])?Hs(e,e[t].$ref):e[t]:Xr()}function Us(e,t){return Hs(e,t)}function Ws(e){return ui(e)?Rs(e):di(e)?si():e}function Gs(e,t,n){return bs(e,Ws(t),Ws(n))}function Ks(e,t){let n=[ci(e)?$o():Gs({},e,t),ci(e)?Zo({}):Gs({},t,e)];return ts(n[0])&&ts(n[1])?`equal`:ts(n[0])&&es(n[1])?`left-inside`:es(n[0])&&ts(n[1])?`right-inside`:`disjoint`}function qs(e,t){return t.filter(t=>Ks(e,t)!==`right-inside`)}function Js(e,t){return R(t.some(t=>{let n=Ks(e,t);return R(n,`left-inside`)||R(n,`equal`)}),!1)}function Ys(e,t){let n=Ea(e);return Yr(n)?[n]:Js(n,t)?[...qs(n,t),n]:t}function Xs(e){return e.reduce((e,t)=>ni(t)?[...e,t]:Zr(t)?e:Ys(t,e),[])}function Zs(e){let t=ja(Xs(e));return t.length===0?Xr():t.length===1?t[0]:ii(t)}function Qs(e,t){return dr(Ea(e),{},t)}function $s(e,t,n,r){return Qs(cu(e,t,n),r)}function ec(e,t=[]){return yr(e)&&R(e.action,`Conditional`)?Gr(e.parameters[0])?ec(e.parameters[2],ec(e.parameters[3],[...t,e.parameters[0].$ref])):ec(e.parameters[2],ec(e.parameters[3],t)):yr(e)&&R(e.action,`Mapped`)&&yr(e.parameters[1])&&R(e.parameters[1].action,`KeyOf`)&&Gr(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function tc(e,t){return e.reduce((e,n)=>[...e,t.includes(n.name)],[])}function nc(e,t,n=[]){let[r,...i]=e,[a,...o]=t;return Jt(e.length,0)&&Jt(t.length,0)?nc(i,o,[...n,[a,r]]):n}function rc(e){return ai(e)?[...e.anyOf]:[e]}function ic(e,t){return e.reduce((e,n)=>[...e,[...n,t]],[])}function ac(e,t){return t.reduce((t,n)=>[...t,...ic(e,n)],[])}function oc(e){return e.reduce((e,t)=>R(t[0],!0)?ac(e,rc(t[1])):ac(e,[t[1]]),[[]])}function sc(e,t,n){let r=nc(t,tc(e,ec(n)));return yr(n)&&R(n.action,`Conditional`)||yr(n)&&R(n.action,`Mapped`)?oc(r):[t]}function cc(){return[`(not-resolvable)`,Xr()]}function lc(){return[`(not-generic)`,Xr()]}function uc(e,t,n){return[e,Kr(t,n)]}function dc(e,t,n){return t in e?fc(e,t,e[t],n):cc()}function fc(e,t,n,r){return qr(n)?uc(t,n.parameters,n.expression):Gr(n)?dc(e,n.$ref,r):lc()}function pc(e,t,n){return fc(e,`(anonymous)`,t,n)}function mc(e,t,n){if(pi(t)||Ec(t)||ts(Gs({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function hc(e,t,n,r,i){let a=cu(e,t,i);return mc(n,a,r),wt(e,{[n]:a})}function gc(e,t,n,r,i){let a=cu(e,t,n.extends),o=cu(e,t,n.equals);return on(i,(i,o)=>_c(hc(e,t,n.name,a,i),t,r,o),()=>_c(hc(e,t,n.name,a,o),t,r,[]))}function _c(e,t,n,r){return on(n,(n,i)=>gc(e,t,n,i,r),()=>e)}function vc(e,t,n,r){return _c(e,t,n,r)}function yc(e){return Jt(e.callstack.length,0)?e.callstack[e.callstack.length-1]:``}function bc(e,t){return R(yc(e),t)}function xc(e,t,n,r,i,a){return cu(e,t,cu(vc(e,t,r,a),{callstack:[...t.callstack,n.$ref]},i))}function Sc(e,t,n,r,i,a){return a.reduce((a,o)=>[...a,xc(e,t,n,r,i,o)],[])}function Cc(e,t,n,r,i,a){let o=Sc(e,t,n,r,i,sc(r,a,i));return R(o.length,1)?o[0]:Ta(o)}function wc(e,t,n,r){let i=ou(e,t,r),a=pc(e,n,r),o=a[0],s=a[1];return qr(s)?bc(t,o)?Tc(Wr(o),i):Cc(e,t,Wr(o),s.parameters,s.expression,i):Tc(n,i)}function Tc(e,t){return lr({"~kind":`Call`},{target:e,arguments:t},{})}function Ec(e){return fr(e,`Call`)}function Dc(e,t){return e(t)}function Oc(e,t){return Gt(t)?Ui(Dc(e,t)):Ui(t)}function kc(e,t){return jc(e,da(t))}function Ac(e,t){return ii(t.map(t=>jc(e,t)))}function jc(e,t){return Ki(t)?Oc(e,t.const):Jo(t)?kc(e,t.pattern):ai(t)?Ac(e,t.anyOf):t}function Mc(e,t={}){return vr(`Capitalize`,[e],t)}function Nc(e,t={}){return vr(`Lowercase`,[e],t)}function Pc(e,t={}){return vr(`Uncapitalize`,[e],t)}function Fc(e,t={}){return vr(`Uppercase`,[e],t)}const Ic=e=>e[0].toUpperCase()+e.slice(1),Lc=e=>e.toLowerCase(),Rc=e=>e[0].toLowerCase()+e.slice(1),zc=e=>e.toUpperCase();function Bc(e,t){return eu([e])?dr(jc(Ic,e),{},t):Mc(e,t)}function Vc(e,t){return eu([e])?dr(jc(Lc,e),{},t):Nc(e,t)}function Hc(e,t){return eu([e])?dr(jc(Rc,e),{},t):Pc(e,t)}function Uc(e,t){return eu([e])?dr(jc(zc,e),{},t):Fc(e,t)}function Wc(e,t,n,r){return Bc(cu(e,t,n),r)}function Gc(e,t,n,r){return Vc(cu(e,t,n),r)}function Kc(e,t,n,r){return Hc(cu(e,t,n),r)}function qc(e,t,n,r){return Uc(cu(e,t,n),r)}function Jc(e,t,n,r,i={}){return vr(`Conditional`,[e,t,n,r],i)}function Yc(e,t,n,r,i,a){let o=Gs(e,n,r);return Xo(o)?ii([cu(o.inferred,t,i),cu(e,t,a)]):Qo(o)?cu(o.inferred,t,i):cu(e,t,a)}function Xc(e,t,n,r,i,a,o){return eu([n,r])?dr(Yc(e,t,n,r,i,a),{},o):Jc(n,r,i,a,o)}function cre(e,t,n,r,i,a,o){return Xc(e,t,cu(e,t,n),cu(e,t,r),i,a,o)}function lre(e,t={}){return vr(`ConstructorParameters`,[e],t)}function ure(e){return ga(au({},{callstack:[]},Vr(e)?e.parameters:[]))}function dre(e,t){return eu([e])?dr(ure(e),{},t):lre(e,t)}function fre(e,t,n,r){return dre(cu(e,t,n),r)}function pre(e,t,n={}){return vr(`Exclude`,[e,t],n)}function Zc(e,t){return e.reduce((e,n)=>[...e,...Qc(n,t)],[])}function Qc(e,t){return ts(Gs({},e,t))?[]:[e]}function mre(e,t){return Ta(mi(e)?Zc(pa(e.enum),t):ai(e)?Zc(ja(e.anyOf),t):Qc(e,t))}function $c(e,t,n){return eu([e,t])?dr(mre(e,t),{},n):pre(e,t,n)}function hre(e,t,n,r,i){return $c(cu(e,t,n),cu(e,t,r),i)}function gre(e,t,n={}){return vr(`Extract`,[e,t],n)}function el(e,t){return e.reduce((e,n)=>[...e,...tl(n,t)],[])}function tl(e,t){return ts(Gs({},e,t))?[e]:[]}function _re(e,t){return Ta(mi(e)?el(pa(e.enum),t):ai(e)?el(ja(e.anyOf),t):tl(e,t))}function vre(e,t,n){return eu([e,t])?dr(_re(e,t),{},n):gre(e,t,n)}function yre(e,t,n,r,i){return vre(cu(e,t,n),cu(e,t,r),i)}function bre(e,t,n={}){return vr(`Index`,[e,t],n)}function xre(e,t){return rl(Us(e,t))}function Sre(e,t){let n=ln(e).filter(e=>!z(t,e)),r=ln(t).filter(t=>!z(e,t)),i=ln(e).filter(e=>z(t,e)),a=n.reduce((t,n)=>({...t,[n]:e[n]}),{}),o=r.reduce((e,n)=>({...e,[n]:t[n]}),{}),s=i.reduce((n,r)=>({...n,[r]:wa([e[r],t[r]])}),{});return wt(wt(a,o),s)}function Cre(e){return e.reduce((e,t)=>Sre(e,rl(t)),{})}function wre(e){return e}function Tre(e){return rl(Ate(ga(e)))}function Ere(e,t){return ln(e).filter(e=>e in t).reduce((n,r)=>({...n,[r]:Ta([e[r],t[r]])}),{})}function nl(e,t){return on(e,(e,n)=>nl(n,Ere(t,rl(e))),()=>t)}function Dre(e){return on(e,(e,t)=>nl(t,rl(e)),()=>Si())}function rl(e){return ui(e)?xre(e.$defs,e.$ref):gi(e)?Cre(e.allOf):ai(e)?Dre(e.anyOf):_a(e)?Tre(e.items):ni(e)?wre(e.properties):{}}function il(e){return ti(rl(e))}const Ore=RegExp(`^(?:0|[1-9][0-9]*)$`);function al(e){let t=`${e}`;return Ore.test(t)?parseInt(t):e}function kre(e){return Ui(al(e))}function ol(e){return e.map(e=>sl(e))}function sl(e){return gi(e)?hi(ol(e.allOf)):ai(e)?ii(ol(e.anyOf)):Ki(e)?kre(e.const):e}function Are(e,t){return ts(Gs({},sl(t),Xi()))?e:Ki(t)&&R(t.const,`length`)?Xi():Xr()}function jre(e,t){return ll(Us(e,t))}function cl(e){return e.reduce((e,t)=>[...e,...ll(t)],[])}function Mre(e){return cl(pa(e))}function Nre(e){return ll(wa(e))}function Pre(e){return[`${e}`]}function Fre(e){return ll(da(e))}function ll(e){return ui(e)?jre(e.$defs,e.$ref):mi(e)?Mre(e.enum):gi(e)?Nre(e.allOf):Ki(e)?Pre(e.const):Jo(e)?Fre(e.pattern):ai(e)?cl(e.anyOf):[]}function ul(e){return ll(e)}function dl(e,t){return t.map(t=>fl(e,t))}function fl(e,t){return Fr(t)?Pr(fl(e,t.items)):Rr(t)?Lr(fl(e,t.iteratorItems)):Vr(t)?Br(dl(e,t.parameters),fl(e,t.instanceType)):Ur(t)?Hr(dl(e,t.parameters),fl(e,t.returnType)):Hi(t)?Vi(fl(e,t.iteratorItems)):xr(t)?br(fl(e,t.item)):_a(t)?ga(dl(e,t.items)):ai(t)?ii(dl(e,t.anyOf)):gi(t)?hi(dl(e,t.allOf)):Wa(t)?ti(e):t}function Ire(e,t){return fl(e,t)}function Lre(e,t){return Ire(e,t in e?e[t]:Xr())}function pl(e,t){return t.reduce((t,n)=>[...t,Lre(e,n)],[])}function Rre(e,t){return Ta(pl(e,ul(t)))}const zre=new RegExp(Pa);function Bre(e){return e.filter(e=>zre.test(e))}function Vre(e){return Ta(pl(e,Bre($r(e))))}function Hre(e,t){return Zi(t)?Vre(e):Rre(e,t)}function Ure(e){return Ui(al(e))}function ml(e){return e.map(e=>hl(e))}function hl(e){return gi(e)?hi(ml(e.allOf)):ai(e)?ii(ml(e.anyOf)):Ki(e)?Ure(e.const):e}function Wre(e,t){return e.reduceRight((e,n,r)=>ts(Gs({},Ui(r),t))?[n,...e]:e,[])}function Gre(e,t){return Da(Wre(e,hl(t)))}function Kre(e){return Da(e)}function qre(e,t){return Ki(t)&&R(t.const,`length`)?Ui(e.length):Zi(t)||Bi(t)?Kre(e):Gre(e,t)}function Jre(e,t){return Fr(e)?Are(e.items,t):ni(e)?Hre(e.properties,t):_a(e)?qre(e.items,t):Xr()}function Yre(e){return ui(e)||gi(e)||ai(e)?il(e):e}function Xre(e,t,n){return eu([e,t])?dr(Jre(Yre(e),t),{},n):bre(e,t,n)}function Zre(e,t,n,r,i){return Xre(cu(e,t,n),cu(e,t,r),i)}function Qre(e,t={}){return vr(`InstanceType`,[e],t)}function $re(e){return Vr(e)?e.instanceType:Xr()}function eie(e,t){return eu([e])?dr($re(e),{},t):Qre(e,t)}function tie(e,t,n,r={}){return eie(cu(e,t,n),r)}function nie(e,t={}){return vr(`KeyOf`,[e],t)}function rie(){return ii([Xi(),$i(),_te()])}function iie(e){return Xi()}function aie(e){return e.reduce((e,t)=>mte(t)?[...e,Ui(al(t))]:Si(),[])}function oie(e){return Da(aie(ln(e)))}function sie(e){return za(e)}function cie(e){return Da(e.map((e,t)=>Ui(t)))}function lie(e){return Yr(e)?rie():Fr(e)?iie(e.items):ni(e)?oie(e.properties):Va(e)?sie(e):_a(e)?cie(e.items):Xr()}function uie(e){return ui(e)||gi(e)||ai(e)?il(e):e}function die(e,t){return eu([e])?dr(lie(uie(e)),{},t):nie(e,t)}function fie(e,t,n,r){return die(cu(e,t,n),r)}function pie(e,t,n,r,i={}){return vr(`Mapped`,[e,t,n,r],i)}function mie(e){return _l(da(e))}function gl(e){return e.reduce((e,t)=>[...e,..._l(t)],[])}function hie(e){return Ht(e)?[Ui(`${e}`)]:[Ui(e)]}function _l(e){return mi(e)?gl(pa(e.enum)):Ki(e)?hie(e.const):Jo(e)?mie(e.pattern):ai(e)?gl(e.anyOf):[e]}function gie(e){return _l(e)}function _ie(e){return Jo(e)?da(e.pattern):e}function vie(e,t,n,r,i,a){let o=wt(e,{[n.name]:r}),s=_ie(cu(o,t,i)),c=cu(o,t,a);return Wi(s)||Gi(s)?{[s.const]:c}:{}}function yie(e,t,n,r,i,a){return r.reduce((r,o)=>[...r,vie(e,t,n,o,i,a)],[])}function bie(e){return e.reduce((e,t)=>[...e,ti(t)],[])}function xie(e,t,n,r,i,a){return wa(bie(yie(e,t,n,gie(r),i,a)))}function Sie(e,t,n,r,i,a,o){return eu([r])?dr(xie(e,t,n,r,i,a),{},o):pie(n,r,i,a,o)}function Cie(e,t,n,r,i,a,o){return Sie(e,t,n,cu(e,t,r),i,a,o)}function wie(e,t){return ln(e).filter(e=>t.includes(e)).reduce((t,n)=>({...t,[n]:Vs(e,n,e[n])}),{})}function Tie(e,t){return ln(e).filter(e=>!t.includes(e)).reduce((t,n)=>({...t,[n]:cu(e,{callstack:[]},e[n])}),{})}function Eie(e,t){let n=Ds(e),r=wie(e,n),i=Tie(e,n);return dr({...r,...i},{},t)}function Die(e,t,n,r){return Eie(wt(e,n),r)}function Oie(e,t={}){return vr(`NonNullable`,[e],t)}function kie(e){return $c(e,ii([qi(),Ga()]),{})}function Aie(e,t){return eu([e])?dr(kie(e),{},t):Oie(e,t)}function jie(e,t,n,r){return Aie(cu(e,t,n),r)}function Mie(e,t,n={}){return vr(`Omit`,[e,t],n)}function vl(e){let t=il(e);return ni(t)?t.properties:Si()}function Nie(e,t){return ln(e).reduce((n,r)=>t.includes(r)?n:{...n,[r]:e[r]},{})}function Pie(e,t){return ti(Nie(vl(e),ul(t)))}function Fie(e,t,n){return eu([e,t])?dr(Pie(e,t),{},n):Mie(e,t,n)}function Iie(e,t,n,r,i){return Fie(cu(e,t,n),cu(e,t,r),i)}function Lie(e,t){return vr(`Options`,[e,t],{})}function Rie(e,t){return yl(e,t)}function yl(e,t){return eu([e])?dr(e,{},t):Lie(e,t)}function zie(e,t,n,r){return yl(cu(e,t,n),r)}function Bie(e,t={}){return vr(`Parameters`,[e],t)}function Vie(e){return ga(au({},{callstack:[]},Ur(e)?e.parameters:[]))}function Hie(e,t){return eu([e])?dr(Vie(e),{},t):Bie(e,t)}function Uie(e,t,n,r){return Hie(cu(e,t,n),r)}function Wie(e,t={}){return vr(`Partial`,[e],t)}function Gie(e,t){let n=xl(Us(e,t));return li(wt(e,{[t]:n}),t)}function Kie(e){return wa(e.map(e=>xl(e)))}function qie(e){return ii(e.map(e=>xl(e)))}function bl(e){return ti(ln(e).reduce((t,n)=>({...t,[n]:Bee(e[n])}),{}))}function xl(e){return ui(e)?Gie(e.$defs,e.$ref):gi(e)?Kie(e.allOf):ai(e)?qie(e.anyOf):ni(e)?bl(e.properties):ti({})}function Sl(e,t){return eu([e])?dr(xl(e),{},t):Wie(e,t)}function Cl(e,t,n,r){return Sl(cu(e,t,n),r)}function wl(e,t,n={}){return vr(`Pick`,[e,t],n)}function Tl(e,t){return ln(e).reduce((n,r)=>t.includes(r)?wt(n,{[r]:e[r]}):n,{})}function El(e,t){return ti(Tl(vl(e),ul(t)))}function Dl(e,t,n){return eu([e,t])?dr(El(e,t),{},n):wl(e,t,n)}function Ol(e,t,n,r,i){return Dl(cu(e,t,n),cu(e,t,r),i)}function kl(e,t={}){return vr(`ReadonlyObject`,[e],t)}function Al(e){return Sr(Pr(e))}function jl(e,t){let n=Il(Us(e,t));return li(wt(e,{[t]:n}),t)}function Ml(e){return wa(e.map(e=>Il(e)))}function Nl(e){return ti(ln(e).reduce((t,n)=>({...t,[n]:kr(e[n])}),{}))}function Pl(e){return Sr(ga(e))}function Fl(e){return ii(e.map(e=>Il(e)))}function Il(e){return Fr(e)?Al(e.items):ui(e)?jl(e.$defs,e.$ref):gi(e)?Ml(e.allOf):ni(e)?Nl(e.properties):_a(e)?Pl(e.items):ai(e)?Fl(e.anyOf):e}function Ll(e,t){return eu([e])?dr(Il(e),{},t):kl(e)}function Rl(e,t,n,r){return Ll(cu(e,t,n),r)}function zl(e,t,n,r){return r in e?Ts([r],e,e[r])?n:cu(e,t,e[r]):n}function Bl(e,t){let n=Wl(Us(e,t));return li(wt(e,{[t]:n}),t)}function Vl(e){return wa(e.map(e=>Wl(e)))}function Hl(e){return ii(e.map(e=>Wl(e)))}function Ul(e){return ti(ln(e).reduce((t,n)=>({...t,[n]:wr(e[n])}),{}))}function Wl(e){return ui(e)?Bl(e.$defs,e.$ref):gi(e)?Vl(e.allOf):ai(e)?Hl(e.anyOf):ni(e)?Ul(e.properties):ti({})}function Gl(e,t={}){return vr(`Required`,[e],t)}function Kl(e,t){return eu([e])?dr(Wl(e),{},t):Gl(e,t)}function ql(e,t,n,r){return Kl(cu(e,t,n),r)}function Jl(e,t={}){return vr(`ReturnType`,[e],t)}function Yl(e){return Ur(e)?e.returnType:Xr()}function Xl(e,t){return eu([e])?dr(Yl(e),{},t):Jl(e,t)}function Zl(e,t,n,r={}){return Xl(cu(e,t,n),r)}function Ql(e){return Ua(e)?_a(e.items)?$l(e.items.items):pi(e.items)||Gr(e.items)?[e]:[Xr()]:[e]}function $l(e){return e.reduce((e,t)=>[...e,...Ql(t)],[])}function eu(e){return on(e,(e,t)=>Gr(e)?!1:eu(t),()=>!0)}function tu(e,t,n){return _r(e)?tu(e.type,`remove`,n):hr(e)?tu(e.type,t,`remove`):gr(e)?tu(e.type,`add`,n):mr(e)?tu(e.type,t,`add`):[e,t,n]}function nu(e,t){return R(e,`remove`)?Dr(t):R(e,`add`)?Or(t):t}function ru(e,t){return R(e,`remove`)?wr(t):R(e,`add`)?Tr(t):t}function iu(e,t,n){return ln(n).reduce((r,i)=>({...r,[i]:cu(e,t,n[i])}),{})}function au(e,t,n){return $l(ou(e,t,n))}function ou(e,t,n){return n.map(n=>cu(e,t,n))}function su(e,t,n,r,i){return R(n,`Awaited`)?fu(e,t,r[0],i):R(n,`Capitalize`)?Wc(e,t,r[0],i):R(n,`Conditional`)?cre(e,t,r[0],r[1],r[2],r[3],i):R(n,`ConstructorParameters`)?fre(e,t,r[0],i):R(n,`Evaluate`)?$s(e,t,r[0],i):R(n,`Exclude`)?hre(e,t,r[0],r[1],i):R(n,`Extract`)?yre(e,t,r[0],r[1],i):R(n,`Index`)?Zre(e,t,r[0],r[1],i):R(n,`InstanceType`)?tie(e,t,r[0],i):R(n,`Interface`)?are(e,t,r[0],r[1],i):R(n,`KeyOf`)?fie(e,t,r[0],i):R(n,`Lowercase`)?Gc(e,t,r[0],i):R(n,`Mapped`)?Cie(e,t,r[0],r[1],r[2],r[3],i):R(n,`Module`)?Die(e,t,r[0],i):R(n,`NonNullable`)?jie(e,t,r[0],i):R(n,`Pick`)?Ol(e,t,r[0],r[1],i):R(n,`Options`)?zie(e,t,r[0],r[1]):R(n,`Parameters`)?Uie(e,t,r[0],i):R(n,`Partial`)?Cl(e,t,r[0],i):R(n,`Omit`)?Iie(e,t,r[0],r[1],i):R(n,`ReadonlyObject`)?Rl(e,t,r[0],i):R(n,`Record`)?Jte(e,t,r[0],r[1],i):R(n,`Required`)?ql(e,t,r[0],i):R(n,`ReturnType`)?Zl(e,t,r[0],i):R(n,`TemplateLiteral`)?Go(e,t,r[0],i):R(n,`Uncapitalize`)?Kc(e,t,r[0],i):R(n,`Uppercase`)?qc(e,t,r[0],i):vr(n,r,i)}function cu(e,t,n){let r=Cr(n),i=tu(n,Ar(n)?`add`:`none`,Er(n)?`add`:`none`),a=Nr(i[0])?i[0].Clone():i[0],o=Gr(a)?zl(e,t,a,a.$ref):Fr(a)?Pr(cu(e,t,a.items),Ir(a)):Rr(a)?Lr(cu(e,t,a.iteratorItems),zr(a)):Ec(a)?wc(e,t,a.target,a.arguments):Vr(a)?Br(ou(e,t,a.parameters),cu(e,t,a.instanceType),Vee(a)):yr(a)?su(e,t,a.action,a.parameters,a.options):Ur(a)?Hr(ou(e,t,a.parameters),cu(e,t,a.returnType),Hee(a)):gi(a)?hi(ou(e,t,a.allOf),_i(a)):Hi(a)?Vi(cu(e,t,a.iteratorItems),dte(a)):ni(a)?ti(iu(e,t,a.properties),ri(a)):xr(a)?br(cu(e,t,a.item),Ree(a)):Va(a)?La(Ra(a),cu(e,t,Ba(a))):Ua(a)?Ha(cu(e,t,a.items)):_a(a)?ga(au(e,t,a.items),kte(a)):ai(a)?ii(ou(e,t,a.anyOf),oi(a)):a,s=r?Sr(o):o;return nu(i[1],ru(i[2],s))}function lu(e,t){return cu(e,{callstack:[]},t)}function uu(e){return xr(e)?uu(e.item):e}function du(e,t){return eu([e])?dr(uu(e),{},t):pu(e,t)}function fu(e,t,n,r){return du(cu(e,t,n),r)}function pu(e,t={}){return vr(`Awaited`,[e],t)}function mu(e,t={}){return Qs(e,t)}const hu=new Map;function gu(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function _u(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function vu(e,t){hu.set(e.api,{provider:{api:e.api,stream:gu(e.api,e.stream),streamSimple:_u(e.api,e.streamSimple)},sourceId:t})}function yu(e){return hu.get(e)?.provider}var bu=s(((e,t)=>{t.exports={}}));let xu=null,Su=null,Cu=null;const wu=e=>import(e);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&(wu(`node:fs`).then(e=>{xu=e.existsSync}),wu(`node:os`).then(e=>{Su=e.homedir}),wu(`node:path`).then(e=>{Cu=e.join}));let Tu=null;function Eu(e){if(process.versions?.bun&&!(typeof process>`u`)&&!(Object.keys({}).length>0)){if(Tu===null){Tu=new Map;try{let{readFileSync:e}=bu(),t=e(`/proc/self/environ`,`utf-8`);for(let e of t.split(`\0`)){let t=e.indexOf(`=`);t>0&&Tu.set(e.slice(0,t),e.slice(t+1))}}catch{}}return Tu.get(e)}}let Du=null;function Ou(){if(Du===null){if(!xu||!Su||!Cu)return typeof process<`u`&&(process.versions?.node||process.versions?.bun)||(Du=!1),!1;let e={}.GOOGLE_APPLICATION_CREDENTIALS||Eu(`GOOGLE_APPLICATION_CREDENTIALS`);Du=xu(e||Cu(Su(),`.config`,`gcloud`,`application_default_credentials.json`))}return Du}function ku(e){if(e===`github-copilot`)return[`COPILOT_GITHUB_TOKEN`];if(e===`anthropic`)return[`ANTHROPIC_OAUTH_TOKEN`,`ANTHROPIC_API_KEY`];let t={openai:`OPENAI_API_KEY`,"azure-openai-responses":`AZURE_OPENAI_API_KEY`,deepseek:`DEEPSEEK_API_KEY`,google:`GEMINI_API_KEY`,"google-vertex":`GOOGLE_CLOUD_API_KEY`,groq:`GROQ_API_KEY`,cerebras:`CEREBRAS_API_KEY`,xai:`XAI_API_KEY`,openrouter:`OPENROUTER_API_KEY`,"vercel-ai-gateway":`AI_GATEWAY_API_KEY`,zai:`ZAI_API_KEY`,mistral:`MISTRAL_API_KEY`,minimax:`MINIMAX_API_KEY`,"minimax-cn":`MINIMAX_CN_API_KEY`,moonshotai:`MOONSHOT_API_KEY`,"moonshotai-cn":`MOONSHOT_API_KEY`,huggingface:`HF_TOKEN`,fireworks:`FIREWORKS_API_KEY`,together:`TOGETHER_API_KEY`,opencode:`OPENCODE_API_KEY`,"opencode-go":`OPENCODE_API_KEY`,"kimi-coding":`KIMI_API_KEY`,"cloudflare-workers-ai":`CLOUDFLARE_API_KEY`,"cloudflare-ai-gateway":`CLOUDFLARE_API_KEY`,xiaomi:`XIAOMI_API_KEY`,"xiaomi-token-plan-cn":`XIAOMI_TOKEN_PLAN_CN_API_KEY`,"xiaomi-token-plan-ams":`XIAOMI_TOKEN_PLAN_AMS_API_KEY`,"xiaomi-token-plan-sgp":`XIAOMI_TOKEN_PLAN_SGP_API_KEY`}[e];return t?[t]:void 0}function Au(e){let t=ku(e);if(!t)return;let n=t.filter(e=>!!{}[e]||!!Eu(e));return n.length>0?n:void 0}function ju(e){let t=Au(e);if(t?.[0])return{}[t[0]]||Eu(t[0]);if(e===`google-vertex`){let e=Ou(),t=!!({}.GOOGLE_CLOUD_PROJECT||{}.GCLOUD_PROJECT||Eu(`GOOGLE_CLOUD_PROJECT`)||Eu(`GCLOUD_PROJECT`)),n=!!({}.GOOGLE_CLOUD_LOCATION||Eu(`GOOGLE_CLOUD_LOCATION`));if(e&&t&&n)return`<authenticated>`}if(e===`amazon-bedrock`&&({}.AWS_PROFILE||{}.AWS_ACCESS_KEY_ID&&{}.AWS_SECRET_ACCESS_KEY||{}.AWS_BEARER_TOKEN_BEDROCK||{}.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI||{}.AWS_CONTAINER_CREDENTIALS_FULL_URI||{}.AWS_WEB_IDENTITY_TOKEN_FILE||Eu(`AWS_PROFILE`)||Eu(`AWS_ACCESS_KEY_ID`)&&Eu(`AWS_SECRET_ACCESS_KEY`)||Eu(`AWS_BEARER_TOKEN_BEDROCK`)||Eu(`AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`)||Eu(`AWS_CONTAINER_CREDENTIALS_FULL_URI`)||Eu(`AWS_WEB_IDENTITY_TOKEN_FILE`)))return`<authenticated>`}const Mu={openrouter:{"black-forest-labs/flux.2-flex":{id:`black-forest-labs/flux.2-flex`,name:`Black Forest Labs: FLUX.2 Flex`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"black-forest-labs/flux.2-klein-4b":{id:`black-forest-labs/flux.2-klein-4b`,name:`Black Forest Labs: FLUX.2 Klein 4B`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"black-forest-labs/flux.2-max":{id:`black-forest-labs/flux.2-max`,name:`Black Forest Labs: FLUX.2 Max`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"black-forest-labs/flux.2-pro":{id:`black-forest-labs/flux.2-pro`,name:`Black Forest Labs: FLUX.2 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"bytedance-seed/seedream-4.5":{id:`bytedance-seed/seedream-4.5`,name:`ByteDance Seed: Seedream 4.5`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"google/gemini-2.5-flash-image":{id:`google/gemini-2.5-flash-image`,name:`Google: Nano Banana (Gemini 2.5 Flash Image)`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.08333333333333334}},"google/gemini-3-pro-image-preview":{id:`google/gemini-3-pro-image-preview`,name:`Google: Nano Banana Pro (Gemini 3 Pro Image Preview)`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375}},"google/gemini-3.1-flash-image-preview":{id:`google/gemini-3.1-flash-image-preview`,name:`Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0}},"openai/gpt-5-image":{id:`openai/gpt-5-image`,name:`OpenAI: GPT-5 Image`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:10,output:10,cacheRead:1.25,cacheWrite:0}},"openai/gpt-5-image-mini":{id:`openai/gpt-5-image-mini`,name:`OpenAI: GPT-5 Image Mini`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:2.5,output:2,cacheRead:.25,cacheWrite:0}},"openai/gpt-5.4-image-2":{id:`openai/gpt-5.4-image-2`,name:`OpenAI: GPT-5.4 Image 2`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`image`,`text`],output:[`image`,`text`],cost:{input:8,output:15,cacheRead:2,cacheWrite:0}},"openrouter/auto":{id:`openrouter/auto`,name:`Auto Router`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`text`,`image`],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0}},"recraft/recraft-v3":{id:`recraft/recraft-v3`,name:`Recraft: Recraft V3`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4":{id:`recraft/recraft-v4`,name:`Recraft: Recraft V4`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4-pro":{id:`recraft/recraft-v4-pro`,name:`Recraft: Recraft V4 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4-pro-vector":{id:`recraft/recraft-v4-pro-vector`,name:`Recraft: Recraft V4 Pro Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4-vector":{id:`recraft/recraft-v4-vector`,name:`Recraft: Recraft V4 Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1":{id:`recraft/recraft-v4.1`,name:`Recraft: Recraft V4.1`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-pro":{id:`recraft/recraft-v4.1-pro`,name:`Recraft: Recraft V4.1 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-pro-vector":{id:`recraft/recraft-v4.1-pro-vector`,name:`Recraft: Recraft V4.1 Pro Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-utility":{id:`recraft/recraft-v4.1-utility`,name:`Recraft: Recraft V4.1 Utility`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-utility-pro":{id:`recraft/recraft-v4.1-utility-pro`,name:`Recraft: Recraft V4.1 Utility Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"recraft/recraft-v4.1-vector":{id:`recraft/recraft-v4.1-vector`,name:`Recraft: Recraft V4.1 Vector`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-fast":{id:`sourceful/riverflow-v2-fast`,name:`Sourceful: Riverflow V2 Fast`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-fast-preview":{id:`sourceful/riverflow-v2-fast-preview`,name:`Sourceful: Riverflow V2 Fast Preview`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-max-preview":{id:`sourceful/riverflow-v2-max-preview`,name:`Sourceful: Riverflow V2 Max Preview`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-pro":{id:`sourceful/riverflow-v2-pro`,name:`Sourceful: Riverflow V2 Pro`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"sourceful/riverflow-v2-standard-preview":{id:`sourceful/riverflow-v2-standard-preview`,name:`Sourceful: Riverflow V2 Standard Preview`,api:`openrouter-images`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,input:[`text`,`image`],output:[`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}}}},Nu=new Map;for(let[e,t]of Object.entries(Mu)){let n=new Map;for(let[e,r]of Object.entries(t))n.set(e,r);Nu.set(e,n)}const Pu=new Map;function Fu(e,t){return(n,r,i)=>{if(n.api!==e)throw Error(`Mismatched api: ${n.api} expected ${e}`);return t(n,r,i)}}function Iu(e,t){Pu.set(e.api,{provider:{api:e.api,generateImages:Fu(e.api,e.generateImages)},sourceId:t})}let Lu;function Ru(e,t){return{api:e.api,provider:e.provider,model:e.id,output:[],stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}function zu(){return Lu||=import(`./openrouter-Bz6Z92c5.js`).then(e=>e),Lu}const Bu=async(e,t,n)=>{try{return await(await zu()).generateImagesOpenRouter(e,t,n)}catch(t){return Ru(e,t)}};function Vu(){Iu({api:`openrouter-images`,generateImages:Bu})}Vu();const Hu={"amazon-bedrock":{"amazon.nova-2-lite-v1:0":{id:`amazon.nova-2-lite-v1:0`,name:`Nova 2 Lite`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.33,output:2.75,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"amazon.nova-lite-v1:0":{id:`amazon.nova-lite-v1:0`,name:`Nova Lite`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.06,output:.24,cacheRead:.015,cacheWrite:0},contextWindow:3e5,maxTokens:8192},"amazon.nova-micro-v1:0":{id:`amazon.nova-micro-v1:0`,name:`Nova Micro`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.035,output:.14,cacheRead:.00875,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"amazon.nova-pro-v1:0":{id:`amazon.nova-pro-v1:0`,name:`Nova Pro`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:3e5,maxTokens:8192},"anthropic.claude-haiku-4-5-20251001-v1:0":{id:`anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"anthropic.claude-opus-4-1-20250805-v1:0":{id:`anthropic.claude-opus-4-1-20250805-v1:0`,name:`Claude Opus 4.1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic.claude-opus-4-5-20251101-v1:0":{id:`anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"anthropic.claude-opus-4-6-v1":{id:`anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic.claude-opus-4-7":{id:`anthropic.claude-opus-4-7`,name:`Claude Opus 4.7`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"anthropic.claude-sonnet-4-6":{id:`anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"au.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`au.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (AU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"au.anthropic.claude-opus-4-6-v1":{id:`au.anthropic.claude-opus-4-6-v1`,name:`AU Anthropic Claude Opus 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:16.5,output:82.5,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"au.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`au.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (AU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"au.anthropic.claude-sonnet-4-6":{id:`au.anthropic.claude-sonnet-4-6`,name:`AU Anthropic Claude Sonnet 4.6`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3.3,output:16.5,cacheRead:.33,cacheWrite:4.125},contextWindow:1e6,maxTokens:128e3},"deepseek.r1-v1:0":{id:`deepseek.r1-v1:0`,name:`DeepSeek-R1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:32768},"deepseek.v3-v1:0":{id:`deepseek.v3-v1:0`,name:`DeepSeek-V3.1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.58,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"deepseek.v3.2":{id:`deepseek.v3.2`,name:`DeepSeek-V3.2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:81920},"eu.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`eu.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"eu.anthropic.claude-opus-4-5-20251101-v1:0":{id:`eu.anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"eu.anthropic.claude-opus-4-6-v1":{id:`eu.anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"eu.anthropic.claude-opus-4-7":{id:`eu.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"eu.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`eu.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"eu.anthropic.claude-sonnet-4-6":{id:`eu.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (EU)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.eu-central-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"global.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`global.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"global.anthropic.claude-opus-4-5-20251101-v1:0":{id:`global.anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"global.anthropic.claude-opus-4-6-v1":{id:`global.anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"global.anthropic.claude-opus-4-7":{id:`global.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"global.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`global.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"global.anthropic.claude-sonnet-4-6":{id:`global.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (Global)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"google.gemma-3-27b-it":{id:`google.gemma-3-27b-it`,name:`Google Gemma 3 27B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.12,output:.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:8192},"google.gemma-3-4b-it":{id:`google.gemma-3-4b-it`,name:`Gemma 3 4B IT`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.04,output:.08,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"jp.anthropic.claude-opus-4-7":{id:`jp.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (JP)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"jp.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`jp.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (JP)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"jp.anthropic.claude-sonnet-4-6":{id:`jp.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (JP)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"meta.llama3-1-70b-instruct-v1:0":{id:`meta.llama3-1-70b-instruct-v1:0`,name:`Llama 3.1 70B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"meta.llama3-1-8b-instruct-v1:0":{id:`meta.llama3-1-8b-instruct-v1:0`,name:`Llama 3.1 8B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"meta.llama3-3-70b-instruct-v1:0":{id:`meta.llama3-3-70b-instruct-v1:0`,name:`Llama 3.3 70B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"meta.llama4-maverick-17b-instruct-v1:0":{id:`meta.llama4-maverick-17b-instruct-v1:0`,name:`Llama 4 Maverick 17B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"meta.llama4-scout-17b-instruct-v1:0":{id:`meta.llama4-scout-17b-instruct-v1:0`,name:`Llama 4 Scout 17B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:35e5,maxTokens:16384},"minimax.minimax-m2":{id:`minimax.minimax-m2`,name:`MiniMax M2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204608,maxTokens:128e3},"minimax.minimax-m2.1":{id:`minimax.minimax-m2.1`,name:`MiniMax M2.1`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax.minimax-m2.5":{id:`minimax.minimax-m2.5`,name:`MiniMax M2.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:196608,maxTokens:98304},"mistral.devstral-2-123b":{id:`mistral.devstral-2-123b`,name:`Devstral 2 123B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"mistral.magistral-small-2509":{id:`mistral.magistral-small-2509`,name:`Magistral Small 1.2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e4},"mistral.ministral-3-14b-instruct":{id:`mistral.ministral-3-14b-instruct`,name:`Ministral 14B 3.0`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistral.ministral-3-3b-instruct":{id:`mistral.ministral-3-3b-instruct`,name:`Ministral 3 3B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"mistral.ministral-3-8b-instruct":{id:`mistral.ministral-3-8b-instruct`,name:`Ministral 3 8B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistral.mistral-large-3-675b-instruct":{id:`mistral.mistral-large-3-675b-instruct`,name:`Mistral Large 3`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"mistral.pixtral-large-2502-v1:0":{id:`mistral.pixtral-large-2502-v1:0`,name:`Pixtral Large (25.02)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"mistral.voxtral-mini-3b-2507":{id:`mistral.voxtral-mini-3b-2507`,name:`Voxtral Mini 3B 2507`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistral.voxtral-small-24b-2507":{id:`mistral.voxtral-small-24b-2507`,name:`Voxtral Small 24B 2507`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.35,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:8192},"moonshot.kimi-k2-thinking":{id:`moonshot.kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"moonshotai.kimi-k2.5":{id:`moonshotai.kimi-k2.5`,name:`Kimi K2.5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"nvidia.nemotron-nano-12b-v2":{id:`nvidia.nemotron-nano-12b-v2`,name:`NVIDIA Nemotron Nano 12B v2 VL BF16`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"nvidia.nemotron-nano-3-30b":{id:`nvidia.nemotron-nano-3-30b`,name:`NVIDIA Nemotron Nano 3 30B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"nvidia.nemotron-nano-9b-v2":{id:`nvidia.nemotron-nano-9b-v2`,name:`NVIDIA Nemotron Nano 9B v2`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.06,output:.23,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"nvidia.nemotron-super-3-120b":{id:`nvidia.nemotron-super-3-120b`,name:`NVIDIA Nemotron 3 Super 120B A12B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.15,output:.65,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"openai.gpt-oss-120b-1:0":{id:`openai.gpt-oss-120b-1:0`,name:`gpt-oss-120b`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai.gpt-oss-20b-1:0":{id:`openai.gpt-oss-20b-1:0`,name:`gpt-oss-20b`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.07,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai.gpt-oss-safeguard-120b":{id:`openai.gpt-oss-safeguard-120b`,name:`GPT OSS Safeguard 120B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai.gpt-oss-safeguard-20b":{id:`openai.gpt-oss-safeguard-20b`,name:`GPT OSS Safeguard 20B`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.07,output:.2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"qwen.qwen3-235b-a22b-2507-v1:0":{id:`qwen.qwen3-235b-a22b-2507-v1:0`,name:`Qwen3 235B A22B 2507`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-32b-v1:0":{id:`qwen.qwen3-32b-v1:0`,name:`Qwen3 32B (dense)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"qwen.qwen3-coder-30b-a3b-v1:0":{id:`qwen.qwen3-coder-30b-a3b-v1:0`,name:`Qwen3 Coder 30B A3B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"qwen.qwen3-coder-480b-a35b-v1:0":{id:`qwen.qwen3-coder-480b-a35b-v1:0`,name:`Qwen3 Coder 480B A35B Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-coder-next":{id:`qwen.qwen3-coder-next`,name:`Qwen3 Coder Next`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.22,output:1.8,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen.qwen3-next-80b-a3b":{id:`qwen.qwen3-next-80b-a3b`,name:`Qwen/Qwen3-Next-80B-A3B-Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`],cost:{input:.14,output:1.4,cacheRead:0,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"qwen.qwen3-vl-235b-a22b":{id:`qwen.qwen3-vl-235b-a22b`,name:`Qwen/Qwen3-VL-235B-A22B-Instruct`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.3,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"us.anthropic.claude-haiku-4-5-20251001-v1:0":{id:`us.anthropic.claude-haiku-4-5-20251001-v1:0`,name:`Claude Haiku 4.5 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"us.anthropic.claude-opus-4-1-20250805-v1:0":{id:`us.anthropic.claude-opus-4-1-20250805-v1:0`,name:`Claude Opus 4.1 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"us.anthropic.claude-opus-4-5-20251101-v1:0":{id:`us.anthropic.claude-opus-4-5-20251101-v1:0`,name:`Claude Opus 4.5 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"us.anthropic.claude-opus-4-6-v1":{id:`us.anthropic.claude-opus-4-6-v1`,name:`Claude Opus 4.6 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"us.anthropic.claude-opus-4-7":{id:`us.anthropic.claude-opus-4-7`,name:`Claude Opus 4.7 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"us.anthropic.claude-sonnet-4-5-20250929-v1:0":{id:`us.anthropic.claude-sonnet-4-5-20250929-v1:0`,name:`Claude Sonnet 4.5 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"us.anthropic.claude-sonnet-4-6":{id:`us.anthropic.claude-sonnet-4-6`,name:`Claude Sonnet 4.6 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"us.deepseek.r1-v1:0":{id:`us.deepseek.r1-v1:0`,name:`DeepSeek-R1 (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:32768},"us.meta.llama4-maverick-17b-instruct-v1:0":{id:`us.meta.llama4-maverick-17b-instruct-v1:0`,name:`Llama 4 Maverick 17B Instruct (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.24,output:.97,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:16384},"us.meta.llama4-scout-17b-instruct-v1:0":{id:`us.meta.llama4-scout-17b-instruct-v1:0`,name:`Llama 4 Scout 17B Instruct (US)`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.17,output:.66,cacheRead:0,cacheWrite:0},contextWindow:35e5,maxTokens:16384},"writer.palmyra-x4-v1:0":{id:`writer.palmyra-x4-v1:0`,name:`Palmyra X4`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:122880,maxTokens:8192},"writer.palmyra-x5-v1:0":{id:`writer.palmyra-x5-v1:0`,name:`Palmyra X5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.6,output:6,cacheRead:0,cacheWrite:0},contextWindow:104e4,maxTokens:8192},"zai.glm-4.7":{id:`zai.glm-4.7`,name:`GLM-4.7`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai.glm-4.7-flash":{id:`zai.glm-4.7-flash`,name:`GLM-4.7-Flash`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:.07,output:.4,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072},"zai.glm-5":{id:`zai.glm-5`,name:`GLM-5`,api:`bedrock-converse-stream`,provider:`amazon-bedrock`,baseUrl:`https://bedrock-runtime.us-east-1.amazonaws.com`,reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:101376}},anthropic:{"claude-3-5-haiku-20241022":{id:`claude-3-5-haiku-20241022`,name:`Claude Haiku 3.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3-5-haiku-latest":{id:`claude-3-5-haiku-latest`,name:`Claude Haiku 3.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3-5-sonnet-20240620":{id:`claude-3-5-sonnet-20240620`,name:`Claude Sonnet 3.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:8192},"claude-3-5-sonnet-20241022":{id:`claude-3-5-sonnet-20241022`,name:`Claude Sonnet 3.5 v2`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:8192},"claude-3-7-sonnet-20250219":{id:`claude-3-7-sonnet-20250219`,name:`Claude Sonnet 3.7`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-3-haiku-20240307":{id:`claude-3-haiku-20240307`,name:`Claude Haiku 3`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-3-opus-20240229":{id:`claude-3-opus-20240229`,name:`Claude Opus 3`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:4096},"claude-3-sonnet-20240229":{id:`claude-3-sonnet-20240229`,name:`Claude Sonnet 3`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-haiku-4-5":{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-haiku-4-5-20251001":{id:`claude-haiku-4-5-20251001`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-0":{id:`claude-opus-4-0`,name:`Claude Opus 4 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-1":{id:`claude-opus-4-1`,name:`Claude Opus 4.1 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-1-20250805":{id:`claude-opus-4-1-20250805`,name:`Claude Opus 4.1`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-20250514":{id:`claude-opus-4-20250514`,name:`Claude Opus 4`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-5":{id:`claude-opus-4-5`,name:`Claude Opus 4.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-5-20251101":{id:`claude-opus-4-5-20251101`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-6":{id:`claude-opus-4-6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-opus-4-7":{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-sonnet-4-0":{id:`claude-sonnet-4-0`,name:`Claude Sonnet 4 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-20250514":{id:`claude-sonnet-4-20250514`,name:`Claude Sonnet 4`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5":{id:`claude-sonnet-4-5`,name:`Claude Sonnet 4.5 (latest)`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5-20250929":{id:`claude-sonnet-4-5-20250929`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-6":{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`anthropic`,baseUrl:`https://api.anthropic.com`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3}},"azure-openai-responses":{"gpt-4":{id:`gpt-4`,name:`GPT-4`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:`gpt-4-turbo`,name:`GPT-4 Turbo`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4.1":{id:`gpt-4.1`,name:`GPT-4.1`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:`gpt-4.1-mini`,name:`GPT-4.1 mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:`gpt-4.1-nano`,name:`GPT-4.1 nano`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.03,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-05-13":{id:`gpt-4o-2024-05-13`,name:`GPT-4o (2024-05-13)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4o-2024-08-06":{id:`gpt-4o-2024-08-06`,name:`GPT-4o (2024-08-06)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-11-20":{id:`gpt-4o-2024-11-20`,name:`GPT-4o (2024-11-20)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-mini":{id:`gpt-4o-mini`,name:`GPT-4o mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.08,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5":{id:`gpt-5`,name:`GPT-5`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-chat-latest":{id:`gpt-5-chat-latest`,name:`GPT-5 Chat Latest`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5-codex":{id:`gpt-5-codex`,name:`GPT-5-Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-mini":{id:`gpt-5-mini`,name:`GPT-5 Mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-nano":{id:`gpt-5-nano`,name:`GPT-5 Nano`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-pro":{id:`gpt-5-pro`,name:`GPT-5 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-chat-latest":{id:`gpt-5.1-chat-latest`,name:`GPT-5.1 Chat`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-max":{id:`gpt-5.1-codex-max`,name:`GPT-5.1 Codex Max`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-mini":{id:`gpt-5.1-codex-mini`,name:`GPT-5.1 Codex mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-chat-latest":{id:`gpt-5.2-chat-latest`,name:`GPT-5.2 Chat`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-pro":{id:`gpt-5.2-pro`,name:`GPT-5.2 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-chat-latest":{id:`gpt-5.3-chat-latest`,name:`GPT-5.3 Chat (latest)`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!1,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex-spark":{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-nano":{id:`gpt-5.4-nano`,name:`GPT-5.4 nano`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-pro":{id:`gpt-5.4-pro`,name:`GPT-5.4 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.5-pro":{id:`gpt-5.5-pro`,name:`GPT-5.5 Pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},o1:{id:`o1`,name:`o1`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o1-pro":{id:`o1-pro`,name:`o1-pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},o3:{id:`o3`,name:`o3`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-deep-research":{id:`o3-deep-research`,name:`o3-deep-research`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-mini":{id:`o3-mini`,name:`o3-mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-pro":{id:`o3-pro`,name:`o3-pro`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini":{id:`o4-mini`,name:`o4-mini`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.28,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini-deep-research":{id:`o4-mini-deep-research`,name:`o4-mini-deep-research`,api:`azure-openai-responses`,provider:`azure-openai-responses`,baseUrl:``,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5}},cerebras:{"gpt-oss-120b":{id:`gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!0,input:[`text`],cost:{input:.25,output:.69,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"llama3.1-8b":{id:`llama3.1-8b`,name:`Llama 3.1 8B`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!1,input:[`text`],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:8e3},"qwen-3-235b-a22b-instruct-2507":{id:`qwen-3-235b-a22b-instruct-2507`,name:`Qwen 3 235B Instruct`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!1,input:[`text`],cost:{input:.6,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:32e3},"zai-glm-4.7":{id:`zai-glm-4.7`,name:`Z.AI GLM-4.7`,api:`openai-completions`,provider:`cerebras`,baseUrl:`https://api.cerebras.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2.25,output:2.75,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4e4}},"cloudflare-ai-gateway":{"claude-3-5-haiku":{id:`claude-3-5-haiku`,name:`Claude Haiku 3.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3-haiku":{id:`claude-3-haiku`,name:`Claude Haiku 3`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-3-opus":{id:`claude-3-opus`,name:`Claude Opus 3`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:4096},"claude-3-sonnet":{id:`claude-3-sonnet`,name:`Claude Sonnet 3`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"claude-3.5-haiku":{id:`claude-3.5-haiku`,name:`Claude Haiku 3.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:.8,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"claude-3.5-sonnet":{id:`claude-3.5-sonnet`,name:`Claude Sonnet 3.5 v2`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!1,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:8192},"claude-haiku-4-5":{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4":{id:`claude-opus-4`,name:`Claude Opus 4 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-1":{id:`claude-opus-4-1`,name:`Claude Opus 4.1 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-5":{id:`claude-opus-4-5`,name:`Claude Opus 4.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-6":{id:`claude-opus-4-6`,name:`Claude Opus 4.6 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-opus-4-7":{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-sonnet-4":{id:`claude-sonnet-4`,name:`Claude Sonnet 4 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5":{id:`claude-sonnet-4-5`,name:`Claude Sonnet 4.5 (latest)`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-6":{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"gpt-4":{id:`gpt-4`,name:`GPT-4`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:`gpt-4-turbo`,name:`GPT-4 Turbo`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-mini":{id:`gpt-4o-mini`,name:`GPT-4o mini`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.08,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},o1:{id:`o1`,name:`o1`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},o3:{id:`o3`,name:`o3`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-mini":{id:`o3-mini`,name:`o3-mini`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-pro":{id:`o3-pro`,name:`o3-pro`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini":{id:`o4-mini`,name:`o4-mini`,api:`openai-responses`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.28,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"workers-ai/@cf/moonshotai/kimi-k2.5":{id:`workers-ai/@cf/moonshotai/kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"workers-ai/@cf/moonshotai/kimi-k2.6":{id:`workers-ai/@cf/moonshotai/kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"workers-ai/@cf/nvidia/nemotron-3-120b-a12b":{id:`workers-ai/@cf/nvidia/nemotron-3-120b-a12b`,name:`Nemotron 3 Super 120B`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"workers-ai/@cf/zai-org/glm-4.7-flash":{id:`workers-ai/@cf/zai-org/glm-4.7-flash`,name:`GLM-4.7-Flash`,api:`openai-completions`,provider:`cloudflare-ai-gateway`,baseUrl:`https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.06,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072}},"cloudflare-workers-ai":{"@cf/google/gemma-4-26b-a4b-it":{id:`@cf/google/gemma-4-26b-a4b-it`,name:`Gemma 4 26B A4B IT`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:16384},"@cf/meta/llama-4-scout-17b-16e-instruct":{id:`@cf/meta/llama-4-scout-17b-16e-instruct`,name:`Llama 4 Scout 17B 16E Instruct`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!1,input:[`text`,`image`],cost:{input:.27,output:.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"@cf/moonshotai/kimi-k2.5":{id:`@cf/moonshotai/kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"@cf/moonshotai/kimi-k2.6":{id:`@cf/moonshotai/kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"@cf/nvidia/nemotron-3-120b-a12b":{id:`@cf/nvidia/nemotron-3-120b-a12b`,name:`Nemotron 3 Super 120B`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"@cf/openai/gpt-oss-120b":{id:`@cf/openai/gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.35,output:.75,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"@cf/openai/gpt-oss-20b":{id:`@cf/openai/gpt-oss-20b`,name:`GPT OSS 20B`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.2,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"@cf/zai-org/glm-4.7-flash":{id:`@cf/zai-org/glm-4.7-flash`,name:`GLM-4.7-Flash`,api:`openai-completions`,provider:`cloudflare-workers-ai`,baseUrl:`https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1`,compat:{sendSessionAffinityHeaders:!0},reasoning:!0,input:[`text`],cost:{input:.06,output:.4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072}},deepseek:{"deepseek-v4-flash":{id:`deepseek-v4-flash`,name:`DeepSeek V4 Flash`,api:`openai-completions`,provider:`deepseek`,baseUrl:`https://api.deepseek.com`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-pro":{id:`deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`deepseek`,baseUrl:`https://api.deepseek.com`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1e6,maxTokens:384e3}},fireworks:{"accounts/fireworks/models/deepseek-v3p1":{id:`accounts/fireworks/models/deepseek-v3p1`,name:`DeepSeek V3.1`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.56,output:1.68,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"accounts/fireworks/models/deepseek-v3p2":{id:`accounts/fireworks/models/deepseek-v3p2`,name:`DeepSeek V3.2`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.56,output:1.68,cacheRead:.28,cacheWrite:0},contextWindow:16e4,maxTokens:16e4},"accounts/fireworks/models/deepseek-v4-pro":{id:`accounts/fireworks/models/deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:1.74,output:3.48,cacheRead:.15,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"accounts/fireworks/models/glm-4p5":{id:`accounts/fireworks/models/glm-4p5`,name:`GLM 4.5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.55,output:2.19,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"accounts/fireworks/models/glm-4p5-air":{id:`accounts/fireworks/models/glm-4p5-air`,name:`GLM 4.5 Air`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.22,output:.88,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"accounts/fireworks/models/glm-4p7":{id:`accounts/fireworks/models/glm-4p7`,name:`GLM 4.7`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.3,cacheWrite:0},contextWindow:198e3,maxTokens:198e3},"accounts/fireworks/models/glm-5":{id:`accounts/fireworks/models/glm-5`,name:`GLM 5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.5,cacheWrite:0},contextWindow:202752,maxTokens:131072},"accounts/fireworks/models/glm-5p1":{id:`accounts/fireworks/models/glm-5p1`,name:`GLM 5.1`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202800,maxTokens:131072},"accounts/fireworks/models/gpt-oss-120b":{id:`accounts/fireworks/models/gpt-oss-120b`,name:`GPT OSS 120B`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"accounts/fireworks/models/gpt-oss-20b":{id:`accounts/fireworks/models/gpt-oss-20b`,name:`GPT OSS 20B`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.05,output:.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"accounts/fireworks/models/kimi-k2-instruct":{id:`accounts/fireworks/models/kimi-k2-instruct`,name:`Kimi K2 Instruct`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"accounts/fireworks/models/kimi-k2-thinking":{id:`accounts/fireworks/models/kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.3,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"accounts/fireworks/models/kimi-k2p5":{id:`accounts/fireworks/models/kimi-k2p5`,name:`Kimi K2.5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"accounts/fireworks/models/kimi-k2p6":{id:`accounts/fireworks/models/kimi-k2p6`,name:`Kimi K2.6`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"accounts/fireworks/models/minimax-m2p1":{id:`accounts/fireworks/models/minimax-m2p1`,name:`MiniMax-M2.1`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:2e5,maxTokens:2e5},"accounts/fireworks/models/minimax-m2p5":{id:`accounts/fireworks/models/minimax-m2p5`,name:`MiniMax-M2.5`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:196608,maxTokens:196608},"accounts/fireworks/models/minimax-m2p7":{id:`accounts/fireworks/models/minimax-m2p7`,name:`MiniMax-M2.7`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:196608,maxTokens:196608},"accounts/fireworks/models/qwen3p6-plus":{id:`accounts/fireworks/models/qwen3p6-plus`,name:`Qwen 3.6 Plus`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.1,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"accounts/fireworks/routers/kimi-k2p5-turbo":{id:`accounts/fireworks/routers/kimi-k2p5-turbo`,name:`Kimi K2.5 Turbo`,api:`anthropic-messages`,provider:`fireworks`,baseUrl:`https://api.fireworks.ai/inference`,compat:{sendSessionAffinityHeaders:!0,supportsEagerToolInputStreaming:!1,supportsCacheControlOnTools:!1,supportsLongCacheRetention:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3}},"github-copilot":{"claude-haiku-4.5":{id:`claude-haiku-4.5`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsEagerToolInputStreaming:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:144e3,maxTokens:32e3},"claude-opus-4.5":{id:`claude-opus-4.5`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:16e4,maxTokens:32e3},"claude-opus-4.6":{id:`claude-opus-4.6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"claude-opus-4.7":{id:`claude-opus-4.7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:144e3,maxTokens:64e3},"claude-sonnet-4.5":{id:`claude-sonnet-4.5`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsEagerToolInputStreaming:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:144e3,maxTokens:32e3},"claude-sonnet-4.6":{id:`claude-sonnet-4.6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:32e3},"gemini-2.5-pro":{id:`gemini-2.5-pro`,name:`Gemini 2.5 Pro`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"gemini-3-flash-preview":{id:`gemini-3-flash-preview`,name:`Gemini 3 Flash`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"gemini-3.1-pro-preview":{id:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"gpt-4.1":{id:`gpt-4.1`,name:`GPT-4.1`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-5-mini":{id:`gpt-5-mini`,name:`GPT-5-mini`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:264e3,maxTokens:64e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:264e3,maxTokens:64e3},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2-Codex`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3-Codex`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 Mini`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},reasoning:!0,thinkingLevelMap:{off:null,minimal:`low`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"grok-code-fast-1":{id:`grok-code-fast-1`,name:`Grok Code Fast 1`,api:`openai-completions`,provider:`github-copilot`,baseUrl:`https://api.individual.githubcopilot.com`,headers:{"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`},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3}},google:{"gemini-1.5-flash":{id:`gemini-1.5-flash`,name:`Gemini 1.5 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.01875,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-flash-8b":{id:`gemini-1.5-flash-8b`,name:`Gemini 1.5 Flash-8B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.0375,output:.15,cacheRead:.01,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-pro":{id:`gemini-1.5-pro`,name:`Gemini 1.5 Pro`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:5,cacheRead:.3125,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-2.0-flash":{id:`gemini-2.0-flash`,name:`Gemini 2.0 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.0-flash-lite":{id:`gemini-2.0-flash-lite`,name:`Gemini 2.0 Flash Lite`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.5-flash":{id:`gemini-2.5-flash`,name:`Gemini 2.5 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:`gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-06-17":{id:`gemini-2.5-flash-lite-preview-06-17`,name:`Gemini 2.5 Flash Lite Preview 06-17`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-09-2025":{id:`gemini-2.5-flash-lite-preview-09-2025`,name:`Gemini 2.5 Flash Lite Preview 09-25`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-preview-04-17":{id:`gemini-2.5-flash-preview-04-17`,name:`Gemini 2.5 Flash Preview 04-17`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.0375,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-preview-05-20":{id:`gemini-2.5-flash-preview-05-20`,name:`Gemini 2.5 Flash Preview 05-20`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.0375,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-preview-09-2025":{id:`gemini-2.5-flash-preview-09-2025`,name:`Gemini 2.5 Flash Preview 09-25`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:`gemini-2.5-pro`,name:`Gemini 2.5 Pro`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro-preview-05-06":{id:`gemini-2.5-pro-preview-05-06`,name:`Gemini 2.5 Pro Preview 05-06`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.31,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro-preview-06-05":{id:`gemini-2.5-pro-preview-06-05`,name:`Gemini 2.5 Pro Preview 06-05`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.31,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:`gemini-3-flash-preview`,name:`Gemini 3 Flash Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-pro-preview":{id:`gemini-3-pro-preview`,name:`Gemini 3 Pro Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.1-flash-lite":{id:`gemini-3.1-flash-lite`,name:`Gemini 3.1 Flash Lite`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-flash-lite-preview":{id:`gemini-3.1-flash-lite-preview`,name:`Gemini 3.1 Flash Lite Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview":{id:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:`gemini-3.1-pro-preview-customtools`,name:`Gemini 3.1 Pro Preview Custom Tools`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-latest":{id:`gemini-flash-latest`,name:`Gemini Flash Latest`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.075,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-flash-lite-latest":{id:`gemini-flash-lite-latest`,name:`Gemini Flash-Lite Latest`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-live-2.5-flash":{id:`gemini-live-2.5-flash`,name:`Gemini Live 2.5 Flash`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"gemini-live-2.5-flash-preview-native-audio":{id:`gemini-live-2.5-flash-preview-native-audio`,name:`Gemini Live 2.5 Flash Preview Native Audio`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,input:[`text`],cost:{input:.5,output:2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"gemma-3-27b-it":{id:`gemma-3-27b-it`,name:`Gemma 3 27B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"gemma-4-26b-a4b-it":{id:`gemma-4-26b-a4b-it`,name:`Gemma 4 26B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:`MINIMAL`,low:null,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192},"gemma-4-31b-it":{id:`gemma-4-31b-it`,name:`Gemma 4 31B`,api:`google-generative-ai`,provider:`google`,baseUrl:`https://generativelanguage.googleapis.com/v1beta`,reasoning:!0,thinkingLevelMap:{off:null,minimal:`MINIMAL`,low:null,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8192}},"google-vertex":{"gemini-1.5-flash":{id:`gemini-1.5-flash`,name:`Gemini 1.5 Flash (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.01875,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-flash-8b":{id:`gemini-1.5-flash-8b`,name:`Gemini 1.5 Flash-8B (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.0375,output:.15,cacheRead:.01,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-1.5-pro":{id:`gemini-1.5-pro`,name:`Gemini 1.5 Pro (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:5,cacheRead:.3125,cacheWrite:0},contextWindow:1e6,maxTokens:8192},"gemini-2.0-flash":{id:`gemini-2.0-flash`,name:`Gemini 2.0 Flash (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.0375,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"gemini-2.0-flash-lite":{id:`gemini-2.0-flash-lite`,name:`Gemini 2.0 Flash Lite (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.01875,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash":{id:`gemini-2.5-flash`,name:`Gemini 2.5 Flash (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite":{id:`gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-flash-lite-preview-09-2025":{id:`gemini-2.5-flash-lite-preview-09-2025`,name:`Gemini 2.5 Flash Lite Preview 09-25 (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-2.5-pro":{id:`gemini-2.5-pro`,name:`Gemini 2.5 Pro (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-flash-preview":{id:`gemini-3-flash-preview`,name:`Gemini 3 Flash Preview (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3-pro-preview":{id:`gemini-3-pro-preview`,name:`Gemini 3 Pro Preview (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"gemini-3.1-pro-preview":{id:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro-preview-customtools":{id:`gemini-3.1-pro-preview-customtools`,name:`Gemini 3.1 Pro Preview Custom Tools (Vertex)`,api:`google-vertex`,provider:`google-vertex`,baseUrl:`https://{location}-aiplatform.googleapis.com`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536}},groq:{"deepseek-r1-distill-llama-70b":{id:`deepseek-r1-distill-llama-70b`,name:`DeepSeek R1 Distill Llama 70B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.75,output:.99,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"gemma2-9b-it":{id:`gemma2-9b-it`,name:`Gemma 2 9B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.2,output:.2,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"groq/compound":{id:`groq/compound`,name:`Compound`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"groq/compound-mini":{id:`groq/compound-mini`,name:`Compound Mini`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"llama-3.1-8b-instant":{id:`llama-3.1-8b-instant`,name:`Llama 3.1 8B Instant`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.05,output:.08,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"llama-3.3-70b-versatile":{id:`llama-3.3-70b-versatile`,name:`Llama 3.3 70B Versatile`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"llama3-70b-8192":{id:`llama3-70b-8192`,name:`Llama 3 70B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.59,output:.79,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"llama3-8b-8192":{id:`llama3-8b-8192`,name:`Llama 3 8B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.05,output:.08,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"meta-llama/llama-4-maverick-17b-128e-instruct":{id:`meta-llama/llama-4-maverick-17b-128e-instruct`,name:`Llama 4 Maverick 17B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"meta-llama/llama-4-scout-17b-16e-instruct":{id:`meta-llama/llama-4-scout-17b-16e-instruct`,name:`Llama 4 Scout 17B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.11,output:.34,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"mistral-saba-24b":{id:`mistral-saba-24b`,name:`Mistral Saba 24B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:.79,output:.79,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"moonshotai/kimi-k2-instruct":{id:`moonshotai/kimi-k2-instruct`,name:`Kimi K2 Instruct`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"moonshotai/kimi-k2-instruct-0905":{id:`moonshotai/kimi-k2-instruct-0905`,name:`Kimi K2 Instruct 0905`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"openai/gpt-oss-120b":{id:`openai/gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-20b":{id:`openai/gpt-oss-20b`,name:`GPT OSS 20B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/gpt-oss-safeguard-20b":{id:`openai/gpt-oss-safeguard-20b`,name:`Safety GPT OSS 20B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"qwen-qwq-32b":{id:`qwen-qwq-32b`,name:`Qwen QwQ 32B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,input:[`text`],cost:{input:.29,output:.39,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-32b":{id:`qwen/qwen3-32b`,name:`Qwen3 32B`,api:`openai-completions`,provider:`groq`,baseUrl:`https://api.groq.com/openai/v1`,reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`default`},input:[`text`],cost:{input:.29,output:.59,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:40960}},huggingface:{"MiniMaxAI/MiniMax-M2.1":{id:`MiniMaxAI/MiniMax-M2.1`,name:`MiniMax-M2.1`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.5":{id:`MiniMaxAI/MiniMax-M2.5`,name:`MiniMax-M2.5`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.7":{id:`MiniMaxAI/MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"Qwen/Qwen3-235B-A22B-Thinking-2507":{id:`Qwen/Qwen3-235B-A22B-Thinking-2507`,name:`Qwen3-235B-A22B-Thinking-2507`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.3,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3-Coder-480B-A35B-Instruct":{id:`Qwen/Qwen3-Coder-480B-A35B-Instruct`,name:`Qwen3-Coder-480B-A35B-Instruct`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Coder-Next":{id:`Qwen/Qwen3-Coder-Next`,name:`Qwen3-Coder-Next`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:.2,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"Qwen/Qwen3-Next-80B-A3B-Instruct":{id:`Qwen/Qwen3-Next-80B-A3B-Instruct`,name:`Qwen3-Next-80B-A3B-Instruct`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:66536},"Qwen/Qwen3-Next-80B-A3B-Thinking":{id:`Qwen/Qwen3-Next-80B-A3B-Thinking`,name:`Qwen3-Next-80B-A3B-Thinking`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:.3,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"Qwen/Qwen3.5-397B-A17B":{id:`Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5-397B-A17B`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"XiaomiMiMo/MiMo-V2-Flash":{id:`XiaomiMiMo/MiMo-V2-Flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"deepseek-ai/DeepSeek-R1-0528":{id:`deepseek-ai/DeepSeek-R1-0528`,name:`DeepSeek-R1-0528`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:3,output:5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:163840},"deepseek-ai/DeepSeek-V3.2":{id:`deepseek-ai/DeepSeek-V3.2`,name:`DeepSeek-V3.2`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.28,output:.4,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek-ai/DeepSeek-V4-Pro":{id:`deepseek-ai/DeepSeek-V4-Pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:1.74,output:3.48,cacheRead:.145,cacheWrite:0},contextWindow:1048576,maxTokens:393216},"moonshotai/Kimi-K2-Instruct":{id:`moonshotai/Kimi-K2-Instruct`,name:`Kimi-K2-Instruct`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"moonshotai/Kimi-K2-Instruct-0905":{id:`moonshotai/Kimi-K2-Instruct-0905`,name:`Kimi-K2-Instruct-0905`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"moonshotai/Kimi-K2-Thinking":{id:`moonshotai/Kimi-K2-Thinking`,name:`Kimi-K2-Thinking`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.5":{id:`moonshotai/Kimi-K2.5`,name:`Kimi-K2.5`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.6":{id:`moonshotai/Kimi-K2.6`,name:`Kimi-K2.6`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144},"zai-org/GLM-4.7":{id:`zai-org/GLM-4.7`,name:`GLM-4.7`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:204800,maxTokens:131072},"zai-org/GLM-4.7-Flash":{id:`zai-org/GLM-4.7-Flash`,name:`GLM-4.7-Flash`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"zai-org/GLM-5":{id:`zai-org/GLM-5`,name:`GLM-5`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:202752,maxTokens:131072},"zai-org/GLM-5.1":{id:`zai-org/GLM-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`huggingface`,baseUrl:`https://router.huggingface.co/v1`,compat:{supportsDeveloperRole:!1},reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:202752,maxTokens:131072}},"kimi-coding":{"kimi-for-coding":{id:`kimi-for-coding`,name:`Kimi For Coding`,api:`anthropic-messages`,provider:`kimi-coding`,baseUrl:`https://api.kimi.com/coding`,headers:{"User-Agent":`KimiCLI/1.5`},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"kimi-k2-thinking":{id:`kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`anthropic-messages`,provider:`kimi-coding`,baseUrl:`https://api.kimi.com/coding`,headers:{"User-Agent":`KimiCLI/1.5`},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768}},minimax:{"MiniMax-M2.7":{id:`MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`anthropic-messages`,provider:`minimax`,baseUrl:`https://api.minimax.io/anthropic`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:`MiniMax-M2.7-highspeed`,name:`MiniMax-M2.7-highspeed`,api:`anthropic-messages`,provider:`minimax`,baseUrl:`https://api.minimax.io/anthropic`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072}},"minimax-cn":{"MiniMax-M2.7":{id:`MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`anthropic-messages`,provider:`minimax-cn`,baseUrl:`https://api.minimaxi.com/anthropic`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"MiniMax-M2.7-highspeed":{id:`MiniMax-M2.7-highspeed`,name:`MiniMax-M2.7-highspeed`,api:`anthropic-messages`,provider:`minimax-cn`,baseUrl:`https://api.minimaxi.com/anthropic`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072}},mistral:{"codestral-latest":{id:`codestral-latest`,name:`Codestral (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.3,output:.9,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"devstral-2512":{id:`devstral-2512`,name:`Devstral 2`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-medium-2507":{id:`devstral-medium-2507`,name:`Devstral Medium`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"devstral-medium-latest":{id:`devstral-medium-latest`,name:`Devstral 2 (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"devstral-small-2505":{id:`devstral-small-2505`,name:`Devstral Small 2505`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"devstral-small-2507":{id:`devstral-small-2507`,name:`Devstral Small`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"labs-devstral-small-2512":{id:`labs-devstral-small-2512`,name:`Devstral Small 2`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"magistral-medium-latest":{id:`magistral-medium-latest`,name:`Magistral Medium (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`],cost:{input:2,output:5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"magistral-small":{id:`magistral-small`,name:`Magistral Small`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"ministral-3b-latest":{id:`ministral-3b-latest`,name:`Ministral 3B (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.04,output:.04,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"ministral-8b-latest":{id:`ministral-8b-latest`,name:`Ministral 8B (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.1,output:.1,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"mistral-large-2411":{id:`mistral-large-2411`,name:`Mistral Large 2.1`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"mistral-large-2512":{id:`mistral-large-2512`,name:`Mistral Large 3`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-large-latest":{id:`mistral-large-latest`,name:`Mistral Large (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2505":{id:`mistral-medium-2505`,name:`Mistral Medium 3`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"mistral-medium-2508":{id:`mistral-medium-2508`,name:`Mistral Medium 3.1`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-2604":{id:`mistral-medium-2604`,name:`Mistral Medium 3.5`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-3.5":{id:`mistral-medium-3.5`,name:`Mistral Medium 3.5`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-medium-latest":{id:`mistral-medium-latest`,name:`Mistral Medium (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"mistral-nemo":{id:`mistral-nemo`,name:`Mistral Nemo`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"mistral-small-2506":{id:`mistral-small-2506`,name:`Mistral Small 3.2`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"mistral-small-2603":{id:`mistral-small-2603`,name:`Mistral Small 4`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"mistral-small-latest":{id:`mistral-small-latest`,name:`Mistral Small (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"open-mistral-7b":{id:`open-mistral-7b`,name:`Mistral 7B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.25,output:.25,cacheRead:0,cacheWrite:0},contextWindow:8e3,maxTokens:8e3},"open-mixtral-8x22b":{id:`open-mixtral-8x22b`,name:`Mixtral 8x22B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:64e3},"open-mixtral-8x7b":{id:`open-mixtral-8x7b`,name:`Mixtral 8x7B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`],cost:{input:.7,output:.7,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:32e3},"pixtral-12b":{id:`pixtral-12b`,name:`Pixtral 12B`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"pixtral-large-latest":{id:`pixtral-large-latest`,name:`Pixtral Large (latest)`,api:`mistral-conversations`,provider:`mistral`,baseUrl:`https://api.mistral.ai`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3}},moonshotai:{"kimi-k2-0711-preview":{id:`kimi-k2-0711-preview`,name:`Kimi K2 0711`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:131072,maxTokens:16384},"kimi-k2-0905-preview":{id:`kimi-k2-0905-preview`,name:`Kimi K2 0905`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking":{id:`kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking-turbo":{id:`kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-turbo-preview":{id:`kimi-k2-turbo-preview`,name:`Kimi K2 Turbo`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:2.4,output:10,cacheRead:.6,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`moonshotai`,baseUrl:`https://api.moonshot.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144}},"moonshotai-cn":{"kimi-k2-0711-preview":{id:`kimi-k2-0711-preview`,name:`Kimi K2 0711`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:131072,maxTokens:16384},"kimi-k2-0905-preview":{id:`kimi-k2-0905-preview`,name:`Kimi K2 0905`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking":{id:`kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-thinking-turbo":{id:`kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2-turbo-preview":{id:`kimi-k2-turbo-preview`,name:`Kimi K2 Turbo`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!1,input:[`text`],cost:{input:2.4,output:10,cacheRead:.6,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:262144},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`moonshotai-cn`,baseUrl:`https://api.moonshot.cn/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1},reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144}},openai:{"gpt-4":{id:`gpt-4`,name:`GPT-4`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"gpt-4-turbo":{id:`gpt-4-turbo`,name:`GPT-4 Turbo`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4.1":{id:`gpt-4.1`,name:`GPT-4.1`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-mini":{id:`gpt-4.1-mini`,name:`GPT-4.1 mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.4,output:1.6,cacheRead:.1,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4.1-nano":{id:`gpt-4.1-nano`,name:`GPT-4.1 nano`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.1,output:.4,cacheRead:.03,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"gpt-4o":{id:`gpt-4o`,name:`GPT-4o`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-05-13":{id:`gpt-4o-2024-05-13`,name:`GPT-4o (2024-05-13)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"gpt-4o-2024-08-06":{id:`gpt-4o-2024-08-06`,name:`GPT-4o (2024-08-06)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-2024-11-20":{id:`gpt-4o-2024-11-20`,name:`GPT-4o (2024-11-20)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-4o-mini":{id:`gpt-4o-mini`,name:`GPT-4o mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.08,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5":{id:`gpt-5`,name:`GPT-5`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-chat-latest":{id:`gpt-5-chat-latest`,name:`GPT-5 Chat Latest`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5-codex":{id:`gpt-5-codex`,name:`GPT-5-Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-mini":{id:`gpt-5-mini`,name:`GPT-5 Mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-nano":{id:`gpt-5-nano`,name:`GPT-5 Nano`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-pro":{id:`gpt-5-pro`,name:`GPT-5 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-chat-latest":{id:`gpt-5.1-chat-latest`,name:`GPT-5.1 Chat`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-max":{id:`gpt-5.1-codex-max`,name:`GPT-5.1 Codex Max`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-mini":{id:`gpt-5.1-codex-mini`,name:`GPT-5.1 Codex mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-chat-latest":{id:`gpt-5.2-chat-latest`,name:`GPT-5.2 Chat`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-pro":{id:`gpt-5.2-pro`,name:`GPT-5.2 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-chat-latest":{id:`gpt-5.3-chat-latest`,name:`GPT-5.3 Chat (latest)`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!1,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex-spark":{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-nano":{id:`gpt-5.4-nano`,name:`GPT-5.4 nano`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-pro":{id:`gpt-5.4-pro`,name:`GPT-5.4 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:`none`,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.5-pro":{id:`gpt-5.5-pro`,name:`GPT-5.5 Pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},o1:{id:`o1`,name:`o1`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o1-pro":{id:`o1-pro`,name:`o1-pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:150,output:600,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},o3:{id:`o3`,name:`o3`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-deep-research":{id:`o3-deep-research`,name:`o3-deep-research`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-mini":{id:`o3-mini`,name:`o3-mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o3-pro":{id:`o3-pro`,name:`o3-pro`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini":{id:`o4-mini`,name:`o4-mini`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.28,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"o4-mini-deep-research":{id:`o4-mini-deep-research`,name:`o4-mini-deep-research`,api:`openai-responses`,provider:`openai`,baseUrl:`https://api.openai.com/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5}},"openai-codex":{"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.3-codex-spark":{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-codex-responses`,provider:`openai-codex`,baseUrl:`https://chatgpt.com/backend-api`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`,minimal:`low`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:272e3,maxTokens:128e3}},opencode:{"big-pickle":{id:`big-pickle`,name:`Big Pickle`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"claude-haiku-4-5":{id:`claude-haiku-4-5`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.1,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-1":{id:`claude-opus-4-1`,name:`Claude Opus 4.1`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"claude-opus-4-5":{id:`claude-opus-4-5`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"claude-opus-4-6":{id:`claude-opus-4-6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-opus-4-7":{id:`claude-opus-4-7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"claude-sonnet-4":{id:`claude-sonnet-4`,name:`Claude Sonnet 4`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-5":{id:`claude-sonnet-4-5`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,maxTokens:64e3},"claude-sonnet-4-6":{id:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"deepseek-v4-flash-free":{id:`deepseek-v4-flash-free`,name:`DeepSeek V4 Flash Free`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"gemini-3-flash":{id:`gemini-3-flash`,name:`Gemini 3 Flash`,api:`google-generative-ai`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"gemini-3.1-pro":{id:`gemini-3.1-pro`,name:`Gemini 3.1 Pro Preview`,api:`google-generative-ai`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:`LOW`,medium:null,high:`HIGH`},input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"glm-5":{id:`glm-5`,name:`GLM-5`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5.1":{id:`glm-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:204800,maxTokens:131072},"gpt-5":{id:`gpt-5`,name:`GPT-5`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-codex":{id:`gpt-5-codex`,name:`GPT-5 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5-nano":{id:`gpt-5-nano`,name:`GPT-5 Nano`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1":{id:`gpt-5.1`,name:`GPT-5.1`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex":{id:`gpt-5.1-codex`,name:`GPT-5.1 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-max":{id:`gpt-5.1-codex-max`,name:`GPT-5.1 Codex Max`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.1-codex-mini":{id:`gpt-5.1-codex-mini`,name:`GPT-5.1 Codex Mini`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2":{id:`gpt-5.2`,name:`GPT-5.2`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.2-codex":{id:`gpt-5.2-codex`,name:`GPT-5.2 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.3-codex":{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4":{id:`gpt-5.4`,name:`GPT-5.4`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:272e3,maxTokens:128e3},"gpt-5.4-mini":{id:`gpt-5.4-mini`,name:`GPT-5.4 Mini`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-nano":{id:`gpt-5.4-nano`,name:`GPT-5.4 Nano`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"gpt-5.4-pro":{id:`gpt-5.4-pro`,name:`GPT-5.4 Pro`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5":{id:`gpt-5.5`,name:`GPT-5.5`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"gpt-5.5-pro":{id:`gpt-5.5-pro`,name:`GPT-5.5 Pro`,api:`openai-responses`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,thinkingLevelMap:{off:null,xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"minimax-m2.5":{id:`minimax-m2.5`,name:`MiniMax M2.5`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m2.5-free":{id:`minimax-m2.5-free`,name:`MiniMax M2.5 Free`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"minimax-m2.7":{id:`minimax-m2.7`,name:`MiniMax M2.7`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"nemotron-3-super-free":{id:`nemotron-3-super-free`,name:`Nemotron 3 Super Free`,api:`openai-completions`,provider:`opencode`,baseUrl:`https://opencode.ai/zen/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:128e3},"qwen3.5-plus":{id:`qwen3.5-plus`,name:`Qwen3.5 Plus`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:262144,maxTokens:65536},"qwen3.6-plus":{id:`qwen3.6-plus`,name:`Qwen3.6 Plus`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536},"qwen3.6-plus-free":{id:`qwen3.6-plus-free`,name:`Qwen3.6 Plus Free`,api:`anthropic-messages`,provider:`opencode`,baseUrl:`https://opencode.ai/zen`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536}},"opencode-go":{"deepseek-v4-flash":{id:`deepseek-v4-flash`,name:`DeepSeek V4 Flash`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek-v4-pro":{id:`deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:1.74,output:3.48,cacheRead:.0145,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"glm-5":{id:`glm-5`,name:`GLM-5`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},contextWindow:202752,maxTokens:32768},"glm-5.1":{id:`glm-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202752,maxTokens:32768},"kimi-k2.5":{id:`kimi-k2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.1,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kimi-k2.6":{id:`kimi-k2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo V2.5`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo V2.5 Pro`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:128e3},"minimax-m2.5":{id:`minimax-m2.5`,name:`MiniMax M2.5`,api:`anthropic-messages`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:65536},"minimax-m2.7":{id:`minimax-m2.7`,name:`MiniMax M2.7`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"qwen3.5-plus":{id:`qwen3.5-plus`,name:`Qwen3.5 Plus`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{thinkingFormat:`qwen`},reasoning:!0,input:[`text`,`image`],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:262144,maxTokens:65536},"qwen3.6-plus":{id:`qwen3.6-plus`,name:`Qwen3.6 Plus`,api:`openai-completions`,provider:`opencode-go`,baseUrl:`https://opencode.ai/zen/go/v1`,compat:{thinkingFormat:`qwen`},reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.625},contextWindow:262144,maxTokens:65536}},openrouter:{"ai21/jamba-large-1.7":{id:`ai21/jamba-large-1.7`,name:`AI21: Jamba Large 1.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:8,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"alibaba/tongyi-deepresearch-30b-a3b":{id:`alibaba/tongyi-deepresearch-30b-a3b`,name:`Tongyi DeepResearch 30B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09,output:.44999999999999996,cacheRead:.09,cacheWrite:0},contextWindow:131072,maxTokens:131072},"amazon/nova-2-lite-v1":{id:`amazon/nova-2-lite-v1`,name:`Amazon: Nova 2 Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65535},"amazon/nova-lite-v1":{id:`amazon/nova-lite-v1`,name:`Amazon: Nova Lite 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.06,output:.24,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:5120},"amazon/nova-micro-v1":{id:`amazon/nova-micro-v1`,name:`Amazon: Nova Micro 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.035,output:.14,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:5120},"amazon/nova-premier-v1":{id:`amazon/nova-premier-v1`,name:`Amazon: Nova Premier 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:12.5,cacheRead:.625,cacheWrite:0},contextWindow:1e6,maxTokens:32e3},"amazon/nova-pro-v1":{id:`amazon/nova-pro-v1`,name:`Amazon: Nova Pro 1.0`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.7999999999999999,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:3e5,maxTokens:5120},"anthropic/claude-3-haiku":{id:`anthropic/claude-3-haiku`,name:`Anthropic: Claude 3 Haiku`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"anthropic/claude-3.5-haiku":{id:`anthropic/claude-3.5-haiku`,name:`Anthropic: Claude 3.5 Haiku`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.7999999999999999,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"anthropic/claude-haiku-4.5":{id:`anthropic/claude-haiku-4.5`,name:`Anthropic: Claude Haiku 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4":{id:`anthropic/claude-opus-4`,name:`Anthropic: Claude Opus 4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.1":{id:`anthropic/claude-opus-4.1`,name:`Anthropic: Claude Opus 4.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.5":{id:`anthropic/claude-opus-4.5`,name:`Anthropic: Claude Opus 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4.6":{id:`anthropic/claude-opus-4.6`,name:`Anthropic: Claude Opus 4.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.6-fast":{id:`anthropic/claude-opus-4.6-fast`,name:`Anthropic: Claude Opus 4.6 (Fast)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:30,output:150,cacheRead:3,cacheWrite:37.5},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.7":{id:`anthropic/claude-opus-4.7`,name:`Anthropic: Claude Opus 4.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.7-fast":{id:`anthropic/claude-opus-4.7-fast`,name:`Anthropic: Claude Opus 4.7 (Fast)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:150,cacheRead:3,cacheWrite:37.5},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-sonnet-4":{id:`anthropic/claude-sonnet-4`,name:`Anthropic: Claude Sonnet 4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.5":{id:`anthropic/claude-sonnet-4.5`,name:`Anthropic: Claude Sonnet 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.6":{id:`anthropic/claude-sonnet-4.6`,name:`Anthropic: Claude Sonnet 4.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"arcee-ai/trinity-large-preview":{id:`arcee-ai/trinity-large-preview`,name:`Arcee AI: Trinity Large Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.15,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:4096},"arcee-ai/trinity-large-thinking":{id:`arcee-ai/trinity-large-thinking`,name:`Arcee AI: Trinity Large Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.22,output:.85,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:262144},"arcee-ai/trinity-large-thinking:free":{id:`arcee-ai/trinity-large-thinking:free`,name:`Arcee AI: Trinity Large Thinking (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8e4},"arcee-ai/trinity-mini":{id:`arcee-ai/trinity-mini`,name:`Arcee AI: Trinity Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.045,output:.15,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"arcee-ai/virtuoso-large":{id:`arcee-ai/virtuoso-large`,name:`Arcee AI: Virtuoso Large`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.75,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:64e3},auto:{id:`auto`,name:`Auto`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:3e4},"baidu/cobuddy:free":{id:`baidu/cobuddy:free`,name:`Baidu Qianfan: CoBuddy (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:65536},"baidu/ernie-4.5-21b-a3b":{id:`baidu/ernie-4.5-21b-a3b`,name:`Baidu: ERNIE 4.5 21B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.07,output:.28,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8e3},"baidu/ernie-4.5-vl-28b-a3b":{id:`baidu/ernie-4.5-vl-28b-a3b`,name:`Baidu: ERNIE 4.5 VL 28B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.14,output:.56,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8e3},"bytedance-seed/seed-1.6":{id:`bytedance-seed/seed-1.6`,name:`ByteDance Seed: Seed 1.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-1.6-flash":{id:`bytedance-seed/seed-1.6-flash`,name:`ByteDance Seed: Seed 1.6 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"bytedance-seed/seed-2.0-lite":{id:`bytedance-seed/seed-2.0-lite`,name:`ByteDance Seed: Seed-2.0-Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"bytedance-seed/seed-2.0-mini":{id:`bytedance-seed/seed-2.0-mini`,name:`ByteDance Seed: Seed-2.0-Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"cohere/command-r-08-2024":{id:`cohere/command-r-08-2024`,name:`Cohere: Command R (08-2024)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"cohere/command-r-plus-08-2024":{id:`cohere/command-r-plus-08-2024`,name:`Cohere: Command R+ (08-2024)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"deepseek/deepseek-chat":{id:`deepseek/deepseek-chat`,name:`DeepSeek: DeepSeek V3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.32,output:.8899999999999999,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16384},"deepseek/deepseek-chat-v3-0324":{id:`deepseek/deepseek-chat-v3-0324`,name:`DeepSeek: DeepSeek V3 0324`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.19999999999999998,output:.77,cacheRead:.135,cacheWrite:0},contextWindow:163840,maxTokens:16384},"deepseek/deepseek-chat-v3.1":{id:`deepseek/deepseek-chat-v3.1`,name:`DeepSeek: DeepSeek V3.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.21,output:.7899999999999999,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-r1":{id:`deepseek/deepseek-r1`,name:`DeepSeek: R1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16e3},"deepseek/deepseek-r1-0528":{id:`deepseek/deepseek-r1-0528`,name:`DeepSeek: R1 0528`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.5,output:2.1500000000000004,cacheRead:.35,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.1-terminus":{id:`deepseek/deepseek-v3.1-terminus`,name:`DeepSeek: DeepSeek V3.1 Terminus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.27,output:.95,cacheRead:.13,cacheWrite:0},contextWindow:163840,maxTokens:32768},"deepseek/deepseek-v3.2":{id:`deepseek/deepseek-v3.2`,name:`DeepSeek: DeepSeek V3.2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.252,output:.378,cacheRead:.0252,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deepseek/deepseek-v3.2-exp":{id:`deepseek/deepseek-v3.2-exp`,name:`DeepSeek: DeepSeek V3.2 Exp`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.27,output:.41,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:65536},"deepseek/deepseek-v4-flash":{id:`deepseek/deepseek-v4-flash`,name:`DeepSeek: DeepSeek V4 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.112,output:.224,cacheRead:.022,cacheWrite:0},contextWindow:1048576,maxTokens:4096},"deepseek/deepseek-v4-flash:free":{id:`deepseek/deepseek-v4-flash:free`,name:`DeepSeek: DeepSeek V4 Flash (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"deepseek/deepseek-v4-pro":{id:`deepseek/deepseek-v4-pro`,name:`DeepSeek: DeepSeek V4 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:`max`},input:[`text`],cost:{input:.435,output:.87,cacheRead:.003625,cacheWrite:0},contextWindow:1048576,maxTokens:384e3},"essentialai/rnj-1-instruct":{id:`essentialai/rnj-1-instruct`,name:`EssentialAI: Rnj 1 Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:4096},"google/gemini-2.0-flash-001":{id:`google/gemini-2.0-flash-001`,name:`Google: Gemini 2.0 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:8192},"google/gemini-2.0-flash-lite-001":{id:`google/gemini-2.0-flash-lite-001`,name:`Google: Gemini 2.0 Flash Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"google/gemini-2.5-flash":{id:`google/gemini-2.5-flash`,name:`Google: Gemini 2.5 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite":{id:`google/gemini-2.5-flash-lite`,name:`Google: Gemini 2.5 Flash Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-flash-lite-preview-09-2025":{id:`google/gemini-2.5-flash-lite-preview-09-2025`,name:`Google: Gemini 2.5 Flash Lite Preview 09-2025`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65535},"google/gemini-2.5-pro":{id:`google/gemini-2.5-pro`,name:`Google: Gemini 2.5 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview":{id:`google/gemini-2.5-pro-preview`,name:`Google: Gemini 2.5 Pro Preview 06-05`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro-preview-05-06":{id:`google/gemini-2.5-pro-preview-05-06`,name:`Google: Gemini 2.5 Pro Preview 05-06`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:.375},contextWindow:1048576,maxTokens:65535},"google/gemini-3-flash-preview":{id:`google/gemini-3-flash-preview`,name:`Google: Gemini 3 Flash Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.049999999999999996,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite":{id:`google/gemini-3.1-flash-lite`,name:`Google: Gemini 3.1 Flash Lite`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-flash-lite-preview":{id:`google/gemini-3.1-flash-lite-preview`,name:`Google: Gemini 3.1 Flash Lite Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.024999999999999998,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview":{id:`google/gemini-3.1-pro-preview`,name:`Google: Gemini 3.1 Pro Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"google/gemini-3.1-pro-preview-customtools":{id:`google/gemini-3.1-pro-preview-customtools`,name:`Google: Gemini 3.1 Pro Preview Custom Tools`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375},contextWindow:1048756,maxTokens:65536},"google/gemma-3-12b-it":{id:`google/gemma-3-12b-it`,name:`Google: Gemma 3 12B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.04,output:.13,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"google/gemma-3-27b-it":{id:`google/gemma-3-27b-it`,name:`Google: Gemma 3 27B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.08,output:.16,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"google/gemma-4-26b-a4b-it":{id:`google/gemma-4-26b-a4b-it`,name:`Google: Gemma 4 26B A4B `,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.06,output:.33,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"google/gemma-4-26b-a4b-it:free":{id:`google/gemma-4-26b-a4b-it:free`,name:`Google: Gemma 4 26B A4B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"google/gemma-4-31b-it":{id:`google/gemma-4-31b-it`,name:`Google: Gemma 4 31B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.12,output:.37,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"google/gemma-4-31b-it:free":{id:`google/gemma-4-31b-it:free`,name:`Google: Gemma 4 31B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"ibm-granite/granite-4.1-8b":{id:`ibm-granite/granite-4.1-8b`,name:`IBM: Granite 4.1 8B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.049999999999999996,output:.09999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:131072},"inception/mercury-2":{id:`inception/mercury-2`,name:`Inception: Mercury 2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{off:null},input:[`text`],cost:{input:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:5e4},"inclusionai/ling-2.6-1t":{id:`inclusionai/ling-2.6-1t`,name:`inclusionAI: Ling-2.6-1T`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.3,output:2.5,cacheRead:.06,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ling-2.6-flash":{id:`inclusionai/ling-2.6-flash`,name:`inclusionAI: Ling-2.6-flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.01,output:.03,cacheRead:.002,cacheWrite:0},contextWindow:262144,maxTokens:32768},"inclusionai/ring-2.6-1t":{id:`inclusionai/ring-2.6-1t`,name:`inclusionAI: Ring-2.6-1T`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.625,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:65536},"kwaipilot/kat-coder-pro-v2":{id:`kwaipilot/kat-coder-pro-v2`,name:`Kwaipilot: KAT-Coder-Pro V2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:8e4},"meta-llama/llama-3.1-70b-instruct":{id:`meta-llama/llama-3.1-70b-instruct`,name:`Meta: Llama 3.1 70B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.1-8b-instruct":{id:`meta-llama/llama-3.1-8b-instruct`,name:`Meta: Llama 3.1 8B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.02,output:.049999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.3-70b-instruct":{id:`meta-llama/llama-3.3-70b-instruct`,name:`Meta: Llama 3.3 70B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.32,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"meta-llama/llama-3.3-70b-instruct:free":{id:`meta-llama/llama-3.3-70b-instruct:free`,name:`Meta: Llama 3.3 70B Instruct (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"meta-llama/llama-4-scout":{id:`meta-llama/llama-4-scout`,name:`Meta: Llama 4 Scout`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.08,output:.3,cacheRead:0,cacheWrite:0},contextWindow:1e7,maxTokens:16384},"minimax/minimax-m1":{id:`minimax/minimax-m1`,name:`MiniMax: MiniMax M1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.39999999999999997,output:2.2,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4e4},"minimax/minimax-m2":{id:`minimax/minimax-m2`,name:`MiniMax: MiniMax M2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.255,output:1,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.1":{id:`minimax/minimax-m2.1`,name:`MiniMax: MiniMax M2.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.29,output:.95,cacheRead:.03,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.5":{id:`minimax/minimax-m2.5`,name:`MiniMax: MiniMax M2.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.15,output:1.15,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:196608},"minimax/minimax-m2.5:free":{id:`minimax/minimax-m2.5:free`,name:`MiniMax: MiniMax M2.5 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:8192},"minimax/minimax-m2.7":{id:`minimax/minimax-m2.7`,name:`MiniMax: MiniMax M2.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.27899999999999997,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"mistralai/codestral-2508":{id:`mistralai/codestral-2508`,name:`Mistral: Codestral 2508`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.3,output:.8999999999999999,cacheRead:.03,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"mistralai/devstral-2512":{id:`mistralai/devstral-2512`,name:`Mistral: Devstral 2 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/devstral-medium":{id:`mistralai/devstral-medium`,name:`Mistral: Devstral Medium`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/devstral-small":{id:`mistralai/devstral-small`,name:`Mistral: Devstral Small 1.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/ministral-14b-2512":{id:`mistralai/ministral-14b-2512`,name:`Mistral: Ministral 3 14B 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.19999999999999998,output:.19999999999999998,cacheRead:.02,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/ministral-3b-2512":{id:`mistralai/ministral-3b-2512`,name:`Mistral: Ministral 3 3B 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:.01,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/ministral-8b-2512":{id:`mistralai/ministral-8b-2512`,name:`Mistral: Ministral 3 8B 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.15,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-large":{id:`mistralai/mistral-large`,name:`Mistral Large`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"mistralai/mistral-large-2407":{id:`mistralai/mistral-large-2407`,name:`Mistral Large 2407`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-large-2411":{id:`mistralai/mistral-large-2411`,name:`Mistral Large 2411`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-large-2512":{id:`mistralai/mistral-large-2512`,name:`Mistral: Mistral Large 3 2512`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.5,output:1.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3":{id:`mistralai/mistral-medium-3`,name:`Mistral: Mistral Medium 3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-medium-3-5":{id:`mistralai/mistral-medium-3-5`,name:`Mistral: Mistral Medium 3.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.5,output:7.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-medium-3.1":{id:`mistralai/mistral-medium-3.1`,name:`Mistral: Mistral Medium 3.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.04,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-nemo":{id:`mistralai/mistral-nemo`,name:`Mistral: Mistral Nemo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.02,output:.03,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/mistral-saba":{id:`mistralai/mistral-saba`,name:`Mistral: Saba`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.19999999999999998,output:.6,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:4096},"mistralai/mistral-small-2603":{id:`mistralai/mistral-small-2603`,name:`Mistral: Mistral Small 4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:262144,maxTokens:4096},"mistralai/mistral-small-3.2-24b-instruct":{id:`mistralai/mistral-small-3.2-24b-instruct`,name:`Mistral: Mistral Small 3.2 24B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"mistralai/mixtral-8x22b-instruct":{id:`mistralai/mixtral-8x22b-instruct`,name:`Mistral: Mixtral 8x22B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:65536,maxTokens:4096},"mistralai/pixtral-large-2411":{id:`mistralai/pixtral-large-2411`,name:`Mistral: Pixtral Large 2411`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:4096},"mistralai/voxtral-small-24b-2507":{id:`mistralai/voxtral-small-24b-2507`,name:`Mistral: Voxtral Small 24B 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:32e3,maxTokens:4096},"moonshotai/kimi-k2":{id:`moonshotai/kimi-k2`,name:`MoonshotAI: Kimi K2 0711`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"moonshotai/kimi-k2-0905":{id:`moonshotai/kimi-k2-0905`,name:`MoonshotAI: Kimi K2 0905`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2-thinking":{id:`moonshotai/kimi-k2-thinking`,name:`MoonshotAI: Kimi K2 Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/kimi-k2.5":{id:`moonshotai/kimi-k2.5`,name:`MoonshotAI: Kimi K2.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.41,output:2.06,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:4096},"moonshotai/kimi-k2.6":{id:`moonshotai/kimi-k2.6`,name:`MoonshotAI: Kimi K2.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.73,output:3.49,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:262142},"nex-agi/deepseek-v3.1-nex-n1":{id:`nex-agi/deepseek-v3.1-nex-n1`,name:`Nex AGI: DeepSeek V3.1 Nex N1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.135,output:.5,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:163840},"nvidia/llama-3.3-nemotron-super-49b-v1.5":{id:`nvidia/llama-3.3-nemotron-super-49b-v1.5`,name:`NVIDIA: Llama 3.3 Nemotron Super 49B V1.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"nvidia/nemotron-3-nano-30b-a3b":{id:`nvidia/nemotron-3-nano-30b-a3b`,name:`NVIDIA: Nemotron 3 Nano 30B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.049999999999999996,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:228e3},"nvidia/nemotron-3-nano-30b-a3b:free":{id:`nvidia/nemotron-3-nano-30b-a3b:free`,name:`NVIDIA: Nemotron 3 Nano 30B A3B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:4096},"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free":{id:`nvidia/nemotron-3-nano-omni-30b-a3b-reasoning:free`,name:`NVIDIA: Nemotron 3 Nano Omni (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:65536},"nvidia/nemotron-3-super-120b-a12b":{id:`nvidia/nemotron-3-super-120b-a12b`,name:`NVIDIA: Nemotron 3 Super`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:4096},"nvidia/nemotron-3-super-120b-a12b:free":{id:`nvidia/nemotron-3-super-120b-a12b:free`,name:`NVIDIA: Nemotron 3 Super (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:262144},"nvidia/nemotron-nano-12b-v2-vl:free":{id:`nvidia/nemotron-nano-12b-v2-vl:free`,name:`NVIDIA: Nemotron Nano 12B 2 VL (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"nvidia/nemotron-nano-9b-v2":{id:`nvidia/nemotron-nano-9b-v2`,name:`NVIDIA: Nemotron Nano 9B V2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.04,output:.16,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"nvidia/nemotron-nano-9b-v2:free":{id:`nvidia/nemotron-nano-9b-v2:free`,name:`NVIDIA: Nemotron Nano 9B V2 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-3.5-turbo":{id:`openai/gpt-3.5-turbo`,name:`OpenAI: GPT-3.5 Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-3.5-turbo-0613":{id:`openai/gpt-3.5-turbo-0613`,name:`OpenAI: GPT-3.5 Turbo (older v0613)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:2,cacheRead:0,cacheWrite:0},contextWindow:4095,maxTokens:4096},"openai/gpt-3.5-turbo-16k":{id:`openai/gpt-3.5-turbo-16k`,name:`OpenAI: GPT-3.5 Turbo 16k`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:3,output:4,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096},"openai/gpt-4":{id:`openai/gpt-4`,name:`OpenAI: GPT-4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096},"openai/gpt-4-0314":{id:`openai/gpt-4-0314`,name:`OpenAI: GPT-4 (older v0314)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8191,maxTokens:4096},"openai/gpt-4-1106-preview":{id:`openai/gpt-4-1106-preview`,name:`OpenAI: GPT-4 Turbo (older v1106)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4-turbo":{id:`openai/gpt-4-turbo`,name:`OpenAI: GPT-4 Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4-turbo-preview":{id:`openai/gpt-4-turbo-preview`,name:`OpenAI: GPT-4 Turbo Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4.1":{id:`openai/gpt-4.1`,name:`OpenAI: GPT-4.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:4096},"openai/gpt-4.1-mini":{id:`openai/gpt-4.1-mini`,name:`OpenAI: GPT-4.1 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:1.5999999999999999,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:`openai/gpt-4.1-nano`,name:`OpenAI: GPT-4.1 Nano`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:`openai/gpt-4o`,name:`OpenAI: GPT-4o`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-2024-05-13":{id:`openai/gpt-4o-2024-05-13`,name:`OpenAI: GPT-4o (2024-05-13)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4o-2024-08-06":{id:`openai/gpt-4o-2024-08-06`,name:`OpenAI: GPT-4o (2024-08-06)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-2024-11-20":{id:`openai/gpt-4o-2024-11-20`,name:`OpenAI: GPT-4o (2024-11-20)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-audio-preview":{id:`openai/gpt-4o-audio-preview`,name:`OpenAI: GPT-4o Audio`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini":{id:`openai/gpt-4o-mini`,name:`OpenAI: GPT-4o-mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini-2024-07-18":{id:`openai/gpt-4o-mini-2024-07-18`,name:`OpenAI: GPT-4o-mini (2024-07-18)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5":{id:`openai/gpt-5`,name:`OpenAI: GPT-5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-codex":{id:`openai/gpt-5-codex`,name:`OpenAI: GPT-5 Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-mini":{id:`openai/gpt-5-mini`,name:`OpenAI: GPT-5 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-nano":{id:`openai/gpt-5-nano`,name:`OpenAI: GPT-5 Nano`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.049999999999999996,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:4e5,maxTokens:4096},"openai/gpt-5-pro":{id:`openai/gpt-5-pro`,name:`OpenAI: GPT-5 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1":{id:`openai/gpt-5.1`,name:`OpenAI: GPT-5.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.13,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-chat":{id:`openai/gpt-5.1-chat`,name:`OpenAI: GPT-5.1 Chat`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.1-codex":{id:`openai/gpt-5.1-codex`,name:`OpenAI: GPT-5.1-Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-max":{id:`openai/gpt-5.1-codex-max`,name:`OpenAI: GPT-5.1-Codex-Max`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-mini":{id:`openai/gpt-5.1-codex-mini`,name:`OpenAI: GPT-5.1-Codex-Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.03,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2":{id:`openai/gpt-5.2`,name:`OpenAI: GPT-5.2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-chat":{id:`openai/gpt-5.2-chat`,name:`OpenAI: GPT-5.2 Chat`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:32e3},"openai/gpt-5.2-codex":{id:`openai/gpt-5.2-codex`,name:`OpenAI: GPT-5.2-Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-pro":{id:`openai/gpt-5.2-pro`,name:`OpenAI: GPT-5.2 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.3-chat":{id:`openai/gpt-5.3-chat`,name:`OpenAI: GPT-5.3 Chat`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.3-codex":{id:`openai/gpt-5.3-codex`,name:`OpenAI: GPT-5.3-Codex`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4":{id:`openai/gpt-5.4`,name:`OpenAI: GPT-5.4`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.4-mini":{id:`openai/gpt-5.4-mini`,name:`OpenAI: GPT-5.4 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-nano":{id:`openai/gpt-5.4-nano`,name:`OpenAI: GPT-5.4 Nano`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-pro":{id:`openai/gpt-5.4-pro`,name:`OpenAI: GPT-5.4 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.5":{id:`openai/gpt-5.5`,name:`OpenAI: GPT-5.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.5-pro":{id:`openai/gpt-5.5-pro`,name:`OpenAI: GPT-5.5 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-audio":{id:`openai/gpt-audio`,name:`OpenAI: GPT Audio`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-audio-mini":{id:`openai/gpt-audio-mini`,name:`OpenAI: GPT Audio Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.6,output:2.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-chat-latest":{id:`openai/gpt-chat-latest`,name:`OpenAI: GPT Chat Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-oss-120b":{id:`openai/gpt-oss-120b`,name:`OpenAI: gpt-oss-120b`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.039,output:.18,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:4096},"openai/gpt-oss-120b:free":{id:`openai/gpt-oss-120b:free`,name:`OpenAI: gpt-oss-120b (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b":{id:`openai/gpt-oss-20b`,name:`OpenAI: gpt-oss-20b`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.03,output:.14,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-oss-20b:free":{id:`openai/gpt-oss-20b:free`,name:`OpenAI: gpt-oss-20b (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-20b":{id:`openai/gpt-oss-safeguard-20b`,name:`OpenAI: gpt-oss-safeguard-20b`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:`openai/o1`,name:`OpenAI: o1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3":{id:`openai/o3`,name:`OpenAI: o3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-deep-research":{id:`openai/o3-deep-research`,name:`OpenAI: o3 Deep Research`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-mini":{id:`openai/o3-mini`,name:`OpenAI: o3 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-mini-high":{id:`openai/o3-mini-high`,name:`OpenAI: o3 Mini High`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-pro":{id:`openai/o3-pro`,name:`OpenAI: o3 Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini":{id:`openai/o4-mini`,name:`OpenAI: o4 Mini`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini-deep-research":{id:`openai/o4-mini-deep-research`,name:`OpenAI: o4 Mini Deep Research`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini-high":{id:`openai/o4-mini-high`,name:`OpenAI: o4 Mini High`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openrouter/auto":{id:`openrouter/auto`,name:`Auto Router`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:-1e6,output:-1e6,cacheRead:0,cacheWrite:0},contextWindow:2e6,maxTokens:4096},"openrouter/free":{id:`openrouter/free`,name:`Free Models Router`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:4096},"openrouter/owl-alpha":{id:`openrouter/owl-alpha`,name:`Owl Alpha`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048756,maxTokens:262144},"poolside/laguna-m.1:free":{id:`poolside/laguna-m.1:free`,name:`Poolside: Laguna M.1 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"poolside/laguna-xs.2:free":{id:`poolside/laguna-xs.2:free`,name:`Poolside: Laguna XS.2 (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"prime-intellect/intellect-3":{id:`prime-intellect/intellect-3`,name:`Prime Intellect: INTELLECT-3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.19999999999999998,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"qwen/qwen-2.5-72b-instruct":{id:`qwen/qwen-2.5-72b-instruct`,name:`Qwen2.5 72B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.36,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen-2.5-7b-instruct":{id:`qwen/qwen-2.5-7b-instruct`,name:`Qwen: Qwen2.5 7B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.04,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen-plus":{id:`qwen/qwen-plus`,name:`Qwen: Qwen-Plus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.26,output:.78,cacheRead:.052000000000000005,cacheWrite:.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28":{id:`qwen/qwen-plus-2025-07-28`,name:`Qwen: Qwen Plus 0728`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.26,output:.78,cacheRead:0,cacheWrite:.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen-plus-2025-07-28:thinking":{id:`qwen/qwen-plus-2025-07-28:thinking`,name:`Qwen: Qwen Plus 0728 (thinking)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.26,output:.78,cacheRead:0,cacheWrite:.325},contextWindow:1e6,maxTokens:32768},"qwen/qwen3-14b":{id:`qwen/qwen3-14b`,name:`Qwen: Qwen3 14B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.24,cacheRead:0,cacheWrite:0},contextWindow:131702,maxTokens:40960},"qwen/qwen3-235b-a22b":{id:`qwen/qwen3-235b-a22b`,name:`Qwen: Qwen3 235B A22B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.45499999999999996,output:1.8199999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-235b-a22b-2507":{id:`qwen/qwen3-235b-a22b-2507`,name:`Qwen: Qwen3 235B A22B Instruct 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.071,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-235b-a22b-thinking-2507":{id:`qwen/qwen3-235b-a22b-thinking-2507`,name:`Qwen: Qwen3 235B A22B Thinking 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.14950000000000002,output:1.495,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"qwen/qwen3-30b-a3b":{id:`qwen/qwen3-30b-a3b`,name:`Qwen: Qwen3 30B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09,output:.44999999999999996,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:2e4},"qwen/qwen3-30b-a3b-instruct-2507":{id:`qwen/qwen3-30b-a3b-instruct-2507`,name:`Qwen: Qwen3 30B A3B Instruct 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-30b-a3b-thinking-2507":{id:`qwen/qwen3-30b-a3b-thinking-2507`,name:`Qwen: Qwen3 30B A3B Thinking 2507`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.08,output:.39999999999999997,cacheRead:.08,cacheWrite:0},contextWindow:131072,maxTokens:131072},"qwen/qwen3-32b":{id:`qwen/qwen3-32b`,name:`Qwen: Qwen3 32B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.08,output:.28,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"qwen/qwen3-8b":{id:`qwen/qwen3-8b`,name:`Qwen: Qwen3 8B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.049999999999999996,output:.39999999999999997,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:8192},"qwen/qwen3-coder":{id:`qwen/qwen3-coder`,name:`Qwen: Qwen3 Coder 480B A35B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.22,output:1.7999999999999998,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"qwen/qwen3-coder-30b-a3b-instruct":{id:`qwen/qwen3-coder-30b-a3b-instruct`,name:`Qwen: Qwen3 Coder 30B A3B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.07,output:.27,cacheRead:0,cacheWrite:0},contextWindow:16e4,maxTokens:32768},"qwen/qwen3-coder-flash":{id:`qwen/qwen3-coder-flash`,name:`Qwen: Qwen3 Coder Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.195,output:.975,cacheRead:.039,cacheWrite:.24375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-coder-next":{id:`qwen/qwen3-coder-next`,name:`Qwen: Qwen3 Coder Next`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.11,output:.7999999999999999,cacheRead:.07,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3-coder-plus":{id:`qwen/qwen3-coder-plus`,name:`Qwen: Qwen3 Coder Plus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.65,output:3.25,cacheRead:.13,cacheWrite:.8125},contextWindow:1e6,maxTokens:65536},"qwen/qwen3-coder:free":{id:`qwen/qwen3-coder:free`,name:`Qwen: Qwen3 Coder 480B A35B (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1048576,maxTokens:262e3},"qwen/qwen3-max":{id:`qwen/qwen3-max`,name:`Qwen: Qwen3 Max`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.78,output:3.9,cacheRead:.156,cacheWrite:.975},contextWindow:262144,maxTokens:32768},"qwen/qwen3-max-thinking":{id:`qwen/qwen3-max-thinking`,name:`Qwen: Qwen3 Max Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.78,output:3.9,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-next-80b-a3b-instruct":{id:`qwen/qwen3-next-80b-a3b-instruct`,name:`Qwen: Qwen3 Next 80B A3B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-next-80b-a3b-instruct:free":{id:`qwen/qwen3-next-80b-a3b-instruct:free`,name:`Qwen: Qwen3 Next 80B A3B Instruct (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:4096},"qwen/qwen3-next-80b-a3b-thinking":{id:`qwen/qwen3-next-80b-a3b-thinking`,name:`Qwen: Qwen3 Next 80B A3B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.0975,output:.78,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-235b-a22b-instruct":{id:`qwen/qwen3-vl-235b-a22b-instruct`,name:`Qwen: Qwen3 VL 235B A22B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.19999999999999998,output:.88,cacheRead:.11,cacheWrite:0},contextWindow:262144,maxTokens:16384},"qwen/qwen3-vl-235b-a22b-thinking":{id:`qwen/qwen3-vl-235b-a22b-thinking`,name:`Qwen: Qwen3 VL 235B A22B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.26,output:2.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-30b-a3b-instruct":{id:`qwen/qwen3-vl-30b-a3b-instruct`,name:`Qwen: Qwen3 VL 30B A3B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.13,output:.52,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-30b-a3b-thinking":{id:`qwen/qwen3-vl-30b-a3b-thinking`,name:`Qwen: Qwen3 VL 30B A3B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.13,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"qwen/qwen3-vl-32b-instruct":{id:`qwen/qwen3-vl-32b-instruct`,name:`Qwen: Qwen3 VL 32B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.10400000000000001,output:.41600000000000004,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:32768},"qwen/qwen3-vl-8b-instruct":{id:`qwen/qwen3-vl-8b-instruct`,name:`Qwen: Qwen3 VL 8B Instruct`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.08,output:.5,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32768},"qwen/qwen3-vl-8b-thinking":{id:`qwen/qwen3-vl-8b-thinking`,name:`Qwen: Qwen3 VL 8B Thinking`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.117,output:1.365,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:32768},"qwen/qwen3.5-122b-a10b":{id:`qwen/qwen3.5-122b-a10b`,name:`Qwen: Qwen3.5-122B-A10B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.26,output:2.08,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-27b":{id:`qwen/qwen3.5-27b`,name:`Qwen: Qwen3.5-27B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.195,output:1.56,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-35b-a3b":{id:`qwen/qwen3.5-35b-a3b`,name:`Qwen: Qwen3.5-35B-A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.14,output:1,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.5-397b-a17b":{id:`qwen/qwen3.5-397b-a17b`,name:`Qwen: Qwen3.5 397B A17B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.39,output:2.34,cacheRead:.195,cacheWrite:0},contextWindow:262144,maxTokens:65536},"qwen/qwen3.5-9b":{id:`qwen/qwen3.5-9b`,name:`Qwen: Qwen3.5-9B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.04,output:.15,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.5-flash-02-23":{id:`qwen/qwen3.5-flash-02-23`,name:`Qwen: Qwen3.5-Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.065,output:.26,cacheRead:0,cacheWrite:.08125},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-02-15":{id:`qwen/qwen3.5-plus-02-15`,name:`Qwen: Qwen3.5 Plus 2026-02-15`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.26,output:1.56,cacheRead:0,cacheWrite:.325},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.5-plus-20260420":{id:`qwen/qwen3.5-plus-20260420`,name:`Qwen: Qwen3.5 Plus 2026-04-20`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:1.7999999999999998,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-27b":{id:`qwen/qwen3.6-27b`,name:`Qwen: Qwen3.6 27B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.32,output:3.1999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920},"qwen/qwen3.6-35b-a3b":{id:`qwen/qwen3.6-35b-a3b`,name:`Qwen: Qwen3.6 35B A3B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.15,output:1,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:262144,maxTokens:262144},"qwen/qwen3.6-flash":{id:`qwen/qwen3.6-flash`,name:`Qwen: Qwen3.6 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.1875,output:1.125,cacheRead:0,cacheWrite:.234375},contextWindow:1e6,maxTokens:65536},"qwen/qwen3.6-max-preview":{id:`qwen/qwen3.6-max-preview`,name:`Qwen: Qwen3.6 Max Preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.04,output:6.24,cacheRead:0,cacheWrite:1.3},contextWindow:262144,maxTokens:65536},"qwen/qwen3.6-plus":{id:`qwen/qwen3.6-plus`,name:`Qwen: Qwen3.6 Plus`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.325,output:1.95,cacheRead:0,cacheWrite:.40625},contextWindow:1e6,maxTokens:65536},"rekaai/reka-edge":{id:`rekaai/reka-edge`,name:`Reka Edge`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:16384,maxTokens:16384},"relace/relace-search":{id:`relace/relace-search`,name:`Relace: Relace Search`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:1,output:3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:128e3},"sao10k/l3-euryale-70b":{id:`sao10k/l3-euryale-70b`,name:`Sao10k: Llama 3 Euryale 70B v2.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:1.48,output:1.48,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192},"sao10k/l3.1-euryale-70b":{id:`sao10k/l3.1-euryale-70b`,name:`Sao10K: Llama 3.1 Euryale 70B v2.2`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.85,output:.85,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:16384},"stepfun/step-3.5-flash":{id:`stepfun/step-3.5-flash`,name:`StepFun: Step 3.5 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:65536},"tencent/hy3-preview":{id:`tencent/hy3-preview`,name:`Tencent: Hy3 preview`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.06599999999999999,output:.26,cacheRead:.029,cacheWrite:0},contextWindow:262144,maxTokens:262144},"thedrummer/rocinante-12b":{id:`thedrummer/rocinante-12b`,name:`TheDrummer: Rocinante 12B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.16999999999999998,output:.43,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"thedrummer/unslopnemo-12b":{id:`thedrummer/unslopnemo-12b`,name:`TheDrummer: UnslopNemo 12B`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"upstage/solar-pro-3":{id:`upstage/solar-pro-3`,name:`Upstage: Solar Pro 3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:.015,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"x-ai/grok-4.20":{id:`x-ai/grok-4.20`,name:`xAI: Grok 4.20`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:4096},"x-ai/grok-4.3":{id:`x-ai/grok-4.3`,name:`xAI: Grok 4.3`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:4096},"xiaomi/mimo-v2-flash":{id:`xiaomi/mimo-v2-flash`,name:`Xiaomi: MiMo-V2-Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"xiaomi/mimo-v2-omni":{id:`xiaomi/mimo-v2-omni`,name:`Xiaomi: MiMo-V2-Omni`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:65536},"xiaomi/mimo-v2-pro":{id:`xiaomi/mimo-v2-pro`,name:`Xiaomi: MiMo-V2-Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"xiaomi/mimo-v2.5":{id:`xiaomi/mimo-v2.5`,name:`Xiaomi: MiMo-V2.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"xiaomi/mimo-v2.5-pro":{id:`xiaomi/mimo-v2.5-pro`,name:`Xiaomi: MiMo-V2.5-Pro`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:16384},"z-ai/glm-4-32b":{id:`z-ai/glm-4-32b`,name:`Z.ai: GLM 4 32B `,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"z-ai/glm-4.5":{id:`z-ai/glm-4.5`,name:`Z.ai: GLM 4.5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5-air":{id:`z-ai/glm-4.5-air`,name:`Z.ai: GLM 4.5 Air`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.13,output:.85,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:131072,maxTokens:98304},"z-ai/glm-4.5-air:free":{id:`z-ai/glm-4.5-air:free`,name:`Z.ai: GLM 4.5 Air (free)`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:96e3},"z-ai/glm-4.5v":{id:`z-ai/glm-4.5v`,name:`Z.ai: GLM 4.5V`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:1.7999999999999998,cacheRead:.11,cacheWrite:0},contextWindow:65536,maxTokens:16384},"z-ai/glm-4.6":{id:`z-ai/glm-4.6`,name:`Z.ai: GLM 4.6`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.43,output:1.74,cacheRead:.08,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-4.6v":{id:`z-ai/glm-4.6v`,name:`Z.ai: GLM 4.6V`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:.8999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:131072,maxTokens:24e3},"z-ai/glm-4.7":{id:`z-ai/glm-4.7`,name:`Z.ai: GLM 4.7`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.39999999999999997,output:1.75,cacheRead:.08,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-4.7-flash":{id:`z-ai/glm-4.7-flash`,name:`Z.ai: GLM 4.7 Flash`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.06,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:202752,maxTokens:16384},"z-ai/glm-5":{id:`z-ai/glm-5`,name:`Z.ai: GLM 5`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.6,output:1.9,cacheRead:.119,cacheWrite:0},contextWindow:202752,maxTokens:4096},"z-ai/glm-5-turbo":{id:`z-ai/glm-5-turbo`,name:`Z.ai: GLM 5 Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"z-ai/glm-5.1":{id:`z-ai/glm-5.1`,name:`Z.ai: GLM 5.1`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`],cost:{input:.98,output:3.08,cacheRead:.182,cacheWrite:0},contextWindow:202752,maxTokens:4096},"z-ai/glm-5v-turbo":{id:`z-ai/glm-5v-turbo`,name:`Z.ai: GLM 5V Turbo`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202752,maxTokens:131072},"~anthropic/claude-haiku-latest":{id:`~anthropic/claude-haiku-latest`,name:`Anthropic Claude Haiku Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"~anthropic/claude-opus-latest":{id:`~anthropic/claude-opus-latest`,name:`Anthropic: Claude Opus Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"~anthropic/claude-sonnet-latest":{id:`~anthropic/claude-sonnet-latest`,name:`Anthropic Claude Sonnet Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"~google/gemini-flash-latest":{id:`~google/gemini-flash-latest`,name:`Google Gemini Flash Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.049999999999999996,cacheWrite:.08333333333333334},contextWindow:1048576,maxTokens:65536},"~google/gemini-pro-latest":{id:`~google/gemini-pro-latest`,name:`Google Gemini Pro Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:.375},contextWindow:1048576,maxTokens:65536},"~moonshotai/kimi-latest":{id:`~moonshotai/kimi-latest`,name:`MoonshotAI Kimi Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.73,output:3.49,cacheRead:.25,cacheWrite:0},contextWindow:262144,maxTokens:262142},"~openai/gpt-latest":{id:`~openai/gpt-latest`,name:`OpenAI GPT Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"~openai/gpt-mini-latest":{id:`~openai/gpt-mini-latest`,name:`OpenAI GPT Mini Latest`,api:`openai-completions`,provider:`openrouter`,baseUrl:`https://openrouter.ai/api/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3}},together:{"MiniMaxAI/MiniMax-M2.5":{id:`MiniMaxAI/MiniMax-M2.5`,name:`MiniMax-M2.5`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null},input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:204800,maxTokens:131072},"MiniMaxAI/MiniMax-M2.7":{id:`MiniMaxAI/MiniMax-M2.7`,name:`MiniMax-M2.7`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null},input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:202752,maxTokens:131072},"Qwen/Qwen3-235B-A22B-Instruct-2507-tput":{id:`Qwen/Qwen3-235B-A22B-Instruct-2507-tput`,name:`Qwen3 235B A22B Instruct 2507 FP8`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.2,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8":{id:`Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8`,name:`Qwen3 Coder 480B A35B Instruct`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:2,output:2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"Qwen/Qwen3-Coder-Next-FP8":{id:`Qwen/Qwen3-Coder-Next-FP8`,name:`Qwen3 Coder Next FP8`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"Qwen/Qwen3.5-397B-A17B":{id:`Qwen/Qwen3.5-397B-A17B`,name:`Qwen3.5 397B A17B`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:.6,output:3.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:13e4},"Qwen/Qwen3.6-Plus":{id:`Qwen/Qwen3.6-Plus`,name:`Qwen3.6 Plus`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.5,output:3,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:5e5},"deepseek-ai/DeepSeek-V3":{id:`deepseek-ai/DeepSeek-V3`,name:`DeepSeek V3`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:1.25,output:1.25,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"deepseek-ai/DeepSeek-V3-1":{id:`deepseek-ai/DeepSeek-V3-1`,name:`DeepSeek V3.1`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:.6,output:1.7,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"deepseek-ai/DeepSeek-V4-Pro":{id:`deepseek-ai/DeepSeek-V4-Pro`,name:`DeepSeek V4 Pro`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null,high:`high`,xhigh:null},input:[`text`],cost:{input:2.1,output:4.4,cacheRead:.2,cacheWrite:0},contextWindow:512e3,maxTokens:384e3},"essentialai/Rnj-1-Instruct":{id:`essentialai/Rnj-1-Instruct`,name:`Rnj-1 Instruct`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:32768,maxTokens:32768},"google/gemma-4-31B-it":{id:`google/gemma-4-31B-it`,name:`Gemma 4 31B Instruct`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:.2,output:.5,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"meta-llama/Llama-3.3-70B-Instruct-Turbo":{id:`meta-llama/Llama-3.3-70B-Instruct-Turbo`,name:`Llama 3.3 70B`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1},reasoning:!1,input:[`text`],cost:{input:.88,output:.88,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"moonshotai/Kimi-K2.5":{id:`moonshotai/Kimi-K2.5`,name:`Kimi K2.5`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:.5,output:2.8,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144},"moonshotai/Kimi-K2.6":{id:`moonshotai/Kimi-K2.6`,name:`Kimi K2.6`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`,`image`],cost:{input:1.2,output:4.5,cacheRead:.2,cacheWrite:0},contextWindow:262144,maxTokens:131e3},"openai/gpt-oss-120b":{id:`openai/gpt-oss-120b`,name:`GPT OSS 120B`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`openai`},reasoning:!0,thinkingLevelMap:{off:null,minimal:null},input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"zai-org/GLM-5.1":{id:`zai-org/GLM-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`together`,baseUrl:`https://api.together.ai/v1`,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:`max_tokens`,supportsStrictMode:!1,supportsLongCacheRetention:!1,thinkingFormat:`together`},reasoning:!0,thinkingLevelMap:{minimal:null,low:null,medium:null},input:[`text`],cost:{input:1.4,output:4.4,cacheRead:0,cacheWrite:0},contextWindow:202752,maxTokens:131072}},"vercel-ai-gateway":{"alibaba/qwen-3-14b":{id:`alibaba/qwen-3-14b`,name:`Qwen3-14B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.12,output:.24,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-235b":{id:`alibaba/qwen-3-235b`,name:`Qwen3 235B A22b Instruct 2507`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.6,output:1.2,cacheRead:.6,cacheWrite:0},contextWindow:131e3,maxTokens:4e4},"alibaba/qwen-3-30b":{id:`alibaba/qwen-3-30b`,name:`Qwen3-30B-A3B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.08,output:.29,cacheRead:0,cacheWrite:0},contextWindow:40960,maxTokens:16384},"alibaba/qwen-3-32b":{id:`alibaba/qwen-3-32b`,name:`Qwen 3 32B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.16,output:.64,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"alibaba/qwen-3.6-max-preview":{id:`alibaba/qwen-3.6-max-preview`,name:`Qwen 3.6 Max Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.3,output:7.8,cacheRead:.26,cacheWrite:1.625},contextWindow:24e4,maxTokens:64e3},"alibaba/qwen3-235b-a22b-thinking":{id:`alibaba/qwen3-235b-a22b-thinking`,name:`Qwen3 VL 235B A22B Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3-coder":{id:`alibaba/qwen3-coder`,name:`Qwen3 Coder 480B A35B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.5,output:7.5,cacheRead:.3,cacheWrite:0},contextWindow:262144,maxTokens:65536},"alibaba/qwen3-coder-30b-a3b":{id:`alibaba/qwen3-coder-30b-a3b`,name:`Qwen 3 Coder 30B A3B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:8192},"alibaba/qwen3-coder-next":{id:`alibaba/qwen3-coder-next`,name:`Qwen3 Coder Next`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.5,output:1.2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"alibaba/qwen3-coder-plus":{id:`alibaba/qwen3-coder-plus`,name:`Qwen3 Coder Plus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1,output:5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"alibaba/qwen3-max":{id:`alibaba/qwen3-max`,name:`Qwen3 Max`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-preview":{id:`alibaba/qwen3-max-preview`,name:`Qwen3 Max Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0},contextWindow:262144,maxTokens:32768},"alibaba/qwen3-max-thinking":{id:`alibaba/qwen3-max-thinking`,name:`Qwen 3 Max Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.2,output:6,cacheRead:.24,cacheWrite:0},contextWindow:256e3,maxTokens:65536},"alibaba/qwen3-vl-thinking":{id:`alibaba/qwen3-vl-thinking`,name:`Qwen3 VL 235B A22B Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:4,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:32768},"alibaba/qwen3.5-flash":{id:`alibaba/qwen3.5-flash`,name:`Qwen 3.5 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.001,cacheWrite:.125},contextWindow:1e6,maxTokens:64e3},"alibaba/qwen3.5-plus":{id:`alibaba/qwen3.5-plus`,name:`Qwen 3.5 Plus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2.4,cacheRead:.04,cacheWrite:.5},contextWindow:1e6,maxTokens:64e3},"alibaba/qwen3.6-27b":{id:`alibaba/qwen3.6-27b`,name:`Qwen 3.6 27B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3.5999999999999996,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"alibaba/qwen3.6-plus":{id:`alibaba/qwen3.6-plus`,name:`Qwen 3.6 Plus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.09999999999999999,cacheWrite:.625},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-3-haiku":{id:`anthropic/claude-3-haiku`,name:`Claude 3 Haiku`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.25,output:1.25,cacheRead:.03,cacheWrite:.3},contextWindow:2e5,maxTokens:4096},"anthropic/claude-3.5-haiku":{id:`anthropic/claude-3.5-haiku`,name:`Claude 3.5 Haiku`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.7999999999999999,output:4,cacheRead:.08,cacheWrite:1},contextWindow:2e5,maxTokens:8192},"anthropic/claude-haiku-4.5":{id:`anthropic/claude-haiku-4.5`,name:`Claude Haiku 4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:5,cacheRead:.09999999999999999,cacheWrite:1.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4":{id:`anthropic/claude-opus-4`,name:`Claude Opus 4`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.1":{id:`anthropic/claude-opus-4.1`,name:`Claude Opus 4.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},contextWindow:2e5,maxTokens:32e3},"anthropic/claude-opus-4.5":{id:`anthropic/claude-opus-4.5`,name:`Claude Opus 4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3},"anthropic/claude-opus-4.6":{id:`anthropic/claude-opus-4.6`,name:`Claude Opus 4.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`max`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-opus-4.7":{id:`anthropic/claude-opus-4.7`,name:`Claude Opus 4.7`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3},"anthropic/claude-sonnet-4":{id:`anthropic/claude-sonnet-4`,name:`Claude Sonnet 4`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.5":{id:`anthropic/claude-sonnet-4.5`,name:`Claude Sonnet 4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3},"anthropic/claude-sonnet-4.6":{id:`anthropic/claude-sonnet-4.6`,name:`Claude Sonnet 4.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:128e3},"arcee-ai/trinity-large-preview":{id:`arcee-ai/trinity-large-preview`,name:`Trinity Large Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:131e3,maxTokens:131e3},"arcee-ai/trinity-large-thinking":{id:`arcee-ai/trinity-large-thinking`,name:`Trinity Large Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.25,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:262100,maxTokens:8e4},"bytedance/seed-1.6":{id:`bytedance/seed-1.6`,name:`Seed 1.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.25,output:2,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:256e3,maxTokens:32e3},"cohere/command-a":{id:`cohere/command-a`,name:`Command A`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:2.5,output:10,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:8e3},"deepseek/deepseek-r1":{id:`deepseek/deepseek-r1`,name:`DeepSeek-R1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.35,output:5.4,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"deepseek/deepseek-v3":{id:`deepseek/deepseek-v3`,name:`DeepSeek V3 0324`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.77,output:.77,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16384},"deepseek/deepseek-v3.1":{id:`deepseek/deepseek-v3.1`,name:`DeepSeek-V3.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.56,output:1.68,cacheRead:.28,cacheWrite:0},contextWindow:163840,maxTokens:8192},"deepseek/deepseek-v3.1-terminus":{id:`deepseek/deepseek-v3.1-terminus`,name:`DeepSeek V3.1 Terminus`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.27,output:1,cacheRead:.135,cacheWrite:0},contextWindow:131072,maxTokens:65536},"deepseek/deepseek-v3.2":{id:`deepseek/deepseek-v3.2`,name:`DeepSeek V3.2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.28,output:.42,cacheRead:.028,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"deepseek/deepseek-v3.2-thinking":{id:`deepseek/deepseek-v3.2-thinking`,name:`DeepSeek V3.2 Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.62,output:1.85,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8e3},"deepseek/deepseek-v4-flash":{id:`deepseek/deepseek-v4-flash`,name:`DeepSeek V4 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"deepseek/deepseek-v4-pro":{id:`deepseek/deepseek-v4-pro`,name:`DeepSeek V4 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:0},contextWindow:1e6,maxTokens:384e3},"google/gemini-2.0-flash":{id:`google/gemini-2.0-flash`,name:`Gemini 2.0 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"google/gemini-2.0-flash-lite":{id:`google/gemini-2.0-flash-lite`,name:`Gemini 2.0 Flash Lite`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.075,output:.3,cacheRead:.02,cacheWrite:0},contextWindow:1048576,maxTokens:8192},"google/gemini-2.5-flash":{id:`google/gemini-2.5-flash`,name:`Gemini 2.5 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65536},"google/gemini-2.5-flash-lite":{id:`google/gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-2.5-pro":{id:`google/gemini-2.5-pro`,name:`Gemini 2.5 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536},"google/gemini-3-flash":{id:`google/gemini-3-flash`,name:`Gemini 3 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.5,output:3,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"google/gemini-3-pro-preview":{id:`google/gemini-3-pro-preview`,name:`Gemini 3 Pro Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"google/gemini-3.1-flash-lite":{id:`google/gemini-3.1-flash-lite`,name:`Gemini 3.1 Flash Lite`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"google/gemini-3.1-flash-lite-preview":{id:`google/gemini-3.1-flash-lite-preview`,name:`Gemini 3.1 Flash Lite Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:1.5,cacheRead:.03,cacheWrite:0},contextWindow:1e6,maxTokens:65e3},"google/gemini-3.1-pro-preview":{id:`google/gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro Preview`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:12,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:64e3},"google/gemma-4-26b-a4b-it":{id:`google/gemma-4-26b-a4b-it`,name:`Gemma 4 26B A4B IT`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.13,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"google/gemma-4-31b-it":{id:`google/gemma-4-31b-it`,name:`Gemma 4 31B IT`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.14,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:131072},"inception/mercury-2":{id:`inception/mercury-2`,name:`Mercury 2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.25,output:.75,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:128e3,maxTokens:128e3},"inception/mercury-coder-small":{id:`inception/mercury-coder-small`,name:`Mercury Coder Small Beta`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.25,output:1,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:16384},"kwaipilot/kat-coder-pro-v2":{id:`kwaipilot/kat-coder-pro-v2`,name:`Kat Coder Pro V2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"meituan/longcat-flash-chat":{id:`meituan/longcat-flash-chat`,name:`LongCat Flash Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:1e5},"meta/llama-3.1-70b":{id:`meta/llama-3.1-70b`,name:`Llama 3.1 70B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.1-8b":{id:`meta/llama-3.1-8b`,name:`Llama 3.1 8B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.22,output:.22,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.2-11b":{id:`meta/llama-3.2-11b`,name:`Llama 3.2 11B Vision Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.16,output:.16,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.2-90b":{id:`meta/llama-3.2-90b`,name:`Llama 3.2 90B Vision Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-3.3-70b":{id:`meta/llama-3.3-70b`,name:`Llama 3.3 70B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.72,output:.72,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-4-maverick":{id:`meta/llama-4-maverick`,name:`Llama 4 Maverick 17B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.24,output:.9700000000000001,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"meta/llama-4-scout":{id:`meta/llama-4-scout`,name:`Llama 4 Scout 17B Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.16999999999999998,output:.66,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:8192},"minimax/minimax-m2":{id:`minimax/minimax-m2`,name:`MiniMax M2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:205e3,maxTokens:205e3},"minimax/minimax-m2.1":{id:`minimax/minimax-m2.1`,name:`MiniMax M2.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.1-lightning":{id:`minimax/minimax-m2.1-lightning`,name:`MiniMax M2.1 Lightning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072},"minimax/minimax-m2.5":{id:`minimax/minimax-m2.5`,name:`MiniMax M2.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"minimax/minimax-m2.5-highspeed":{id:`minimax/minimax-m2.5-highspeed`,name:`MiniMax M2.5 High Speed`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.4,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"minimax/minimax-m2.7":{id:`minimax/minimax-m2.7`,name:`Minimax M2.7`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131e3},"minimax/minimax-m2.7-highspeed":{id:`minimax/minimax-m2.7-highspeed`,name:`MiniMax M2.7 High Speed`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:2.4,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131100},"mistral/codestral":{id:`mistral/codestral`,name:`Mistral Codestral`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.3,output:.8999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/devstral-2":{id:`mistral/devstral-2`,name:`Devstral 2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"mistral/devstral-small":{id:`mistral/devstral-small`,name:`Devstral Small 1.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"mistral/devstral-small-2":{id:`mistral/devstral-small-2`,name:`Devstral Small 2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:256e3,maxTokens:256e3},"mistral/ministral-3b":{id:`mistral/ministral-3b`,name:`Ministral 3B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.09999999999999999,output:.09999999999999999,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/ministral-8b":{id:`mistral/ministral-8b`,name:`Ministral 8B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/mistral-medium":{id:`mistral/mistral-medium`,name:`Mistral Medium 3.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:64e3},"mistral/mistral-small":{id:`mistral/mistral-small`,name:`Mistral Small`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.3,cacheRead:0,cacheWrite:0},contextWindow:32e3,maxTokens:4e3},"mistral/pixtral-12b":{id:`mistral/pixtral-12b`,name:`Pixtral 12B 2409`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.15,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"mistral/pixtral-large":{id:`mistral/pixtral-large`,name:`Pixtral Large`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4e3},"moonshotai/kimi-k2":{id:`moonshotai/kimi-k2`,name:`Kimi K2 Instruct`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:.5700000000000001,output:2.3,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"moonshotai/kimi-k2-thinking":{id:`moonshotai/kimi-k2-thinking`,name:`Kimi K2 Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2-thinking-turbo":{id:`moonshotai/kimi-k2-thinking-turbo`,name:`Kimi K2 Thinking Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2-turbo":{id:`moonshotai/kimi-k2-turbo`,name:`Kimi K2 Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`],cost:{input:1.15,output:8,cacheRead:.15,cacheWrite:0},contextWindow:256e3,maxTokens:16384},"moonshotai/kimi-k2.5":{id:`moonshotai/kimi-k2.5`,name:`Kimi K2.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.6,output:3,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:262114,maxTokens:262114},"moonshotai/kimi-k2.6":{id:`moonshotai/kimi-k2.6`,name:`Kimi K2.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262e3,maxTokens:262e3},"nvidia/nemotron-nano-12b-v2-vl":{id:`nvidia/nemotron-nano-12b-v2-vl`,name:`Nvidia Nemotron Nano 12B V2 VL`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.19999999999999998,output:.6,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"nvidia/nemotron-nano-9b-v2":{id:`nvidia/nemotron-nano-9b-v2`,name:`Nvidia Nemotron Nano 9B V2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.06,output:.22999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:131072},"openai/gpt-4-turbo":{id:`openai/gpt-4-turbo`,name:`GPT-4 Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:10,output:30,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096},"openai/gpt-4.1":{id:`openai/gpt-4.1`,name:`GPT-4.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-mini":{id:`openai/gpt-4.1-mini`,name:`GPT-4.1 mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.39999999999999997,output:1.5999999999999999,cacheRead:.09999999999999999,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4.1-nano":{id:`openai/gpt-4.1-nano`,name:`GPT-4.1 nano`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.09999999999999999,output:.39999999999999997,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:1047576,maxTokens:32768},"openai/gpt-4o":{id:`openai/gpt-4o`,name:`GPT-4o`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-4o-mini":{id:`openai/gpt-4o-mini`,name:`GPT-4o mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5":{id:`openai/gpt-5`,name:`GPT-5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-chat":{id:`openai/gpt-5-chat`,name:`GPT 5 Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5-codex":{id:`openai/gpt-5-codex`,name:`GPT-5-Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-mini":{id:`openai/gpt-5-mini`,name:`GPT-5 mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-nano":{id:`openai/gpt-5-nano`,name:`GPT-5 nano`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.049999999999999996,output:.39999999999999997,cacheRead:.005,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5-pro":{id:`openai/gpt-5-pro`,name:`GPT-5 pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:272e3},"openai/gpt-5.1-codex":{id:`openai/gpt-5.1-codex`,name:`GPT-5.1-Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-max":{id:`openai/gpt-5.1-codex-max`,name:`GPT 5.1 Codex Max`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-codex-mini":{id:`openai/gpt-5.1-codex-mini`,name:`GPT 5.1 Codex Mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.25,output:2,cacheRead:.024999999999999998,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.1-instant":{id:`openai/gpt-5.1-instant`,name:`GPT-5.1 Instant`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.1-thinking":{id:`openai/gpt-5.1-thinking`,name:`GPT 5.1 Thinking`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2":{id:`openai/gpt-5.2`,name:`GPT 5.2`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-chat":{id:`openai/gpt-5.2-chat`,name:`GPT 5.2 Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.2-codex":{id:`openai/gpt-5.2-codex`,name:`GPT 5.2 Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.2-pro":{id:`openai/gpt-5.2-pro`,name:`GPT 5.2 `,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.3-chat":{id:`openai/gpt-5.3-chat`,name:`GPT-5.3 Chat`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384},"openai/gpt-5.3-codex":{id:`openai/gpt-5.3-codex`,name:`GPT 5.3 Codex`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4":{id:`openai/gpt-5.4`,name:`GPT 5.4`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.4-mini":{id:`openai/gpt-5.4-mini`,name:`GPT 5.4 Mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-nano":{id:`openai/gpt-5.4-nano`,name:`GPT 5.4 Nano`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:.19999999999999998,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:4e5,maxTokens:128e3},"openai/gpt-5.4-pro":{id:`openai/gpt-5.4-pro`,name:`GPT 5.4 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:105e4,maxTokens:128e3},"openai/gpt-5.5":{id:`openai/gpt-5.5`,name:`GPT 5.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"openai/gpt-5.5-pro":{id:`openai/gpt-5.5-pro`,name:`GPT 5.5 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,thinkingLevelMap:{xhigh:`xhigh`},input:[`text`,`image`],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"openai/gpt-oss-20b":{id:`openai/gpt-oss-20b`,name:`GPT OSS 20B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.049999999999999996,output:.19999999999999998,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:8192},"openai/gpt-oss-safeguard-20b":{id:`openai/gpt-oss-safeguard-20b`,name:`GPT OSS Safeguard 20B`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.075,output:.3,cacheRead:.037,cacheWrite:0},contextWindow:131072,maxTokens:65536},"openai/o1":{id:`openai/o1`,name:`o1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:15,output:60,cacheRead:7.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3":{id:`openai/o3`,name:`o3`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:8,cacheRead:.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-deep-research":{id:`openai/o3-deep-research`,name:`o3-deep-research`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:10,output:40,cacheRead:2.5,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-mini":{id:`openai/o3-mini`,name:`o3-mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o3-pro":{id:`openai/o3-pro`,name:`o3 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:20,output:80,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"openai/o4-mini":{id:`openai/o4-mini`,name:`o4-mini`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0},contextWindow:2e5,maxTokens:1e5},"perplexity/sonar":{id:`perplexity/sonar`,name:`Sonar`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:127e3,maxTokens:8e3},"perplexity/sonar-pro":{id:`perplexity/sonar-pro`,name:`Sonar Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:8e3},"xai/grok-4.1-fast-non-reasoning":{id:`xai/grok-4.1-fast-non-reasoning`,name:`Grok 4.1 Fast Non-Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.1-fast-reasoning":{id:`xai/grok-4.1-fast-reasoning`,name:`Grok 4.1 Fast Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.19999999999999998,output:.5,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xai/grok-4.20-multi-agent":{id:`xai/grok-4.20-multi-agent`,name:`Grok 4.20 Multi-Agent`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-multi-agent-beta":{id:`xai/grok-4.20-multi-agent-beta`,name:`Grok 4.20 Multi Agent Beta`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-non-reasoning":{id:`xai/grok-4.20-non-reasoning`,name:`Grok 4.20 Non-Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-non-reasoning-beta":{id:`xai/grok-4.20-non-reasoning-beta`,name:`Grok 4.20 Beta Non-Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-reasoning":{id:`xai/grok-4.20-reasoning`,name:`Grok 4.20 Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.20-reasoning-beta":{id:`xai/grok-4.20-reasoning-beta`,name:`Grok 4.20 Beta Reasoning`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:2e6,maxTokens:2e6},"xai/grok-4.3":{id:`xai/grok-4.3`,name:`Grok 4.3`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:1e6},"xiaomi/mimo-v2-flash":{id:`xiaomi/mimo-v2-flash`,name:`MiMo V2 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.09999999999999999,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:32e3},"xiaomi/mimo-v2-pro":{id:`xiaomi/mimo-v2-pro`,name:`MiMo V2 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:1e6,maxTokens:128e3},"xiaomi/mimo-v2.5":{id:`xiaomi/mimo-v2.5`,name:`MiMo M2.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.39999999999999997,output:2,cacheRead:.08,cacheWrite:0},contextWindow:105e4,maxTokens:131100},"xiaomi/mimo-v2.5-pro":{id:`xiaomi/mimo-v2.5-pro`,name:`MiMo V2.5 Pro`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1,output:3,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:105e4,maxTokens:131e3},"zai/glm-4.5":{id:`zai/glm-4.5`,name:`GLM-4.5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"zai/glm-4.5-air":{id:`zai/glm-4.5-air`,name:`GLM 4.5 Air`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.19999999999999998,output:1.1,cacheRead:.03,cacheWrite:0},contextWindow:128e3,maxTokens:96e3},"zai/glm-4.5v":{id:`zai/glm-4.5v`,name:`GLM 4.5V`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!1,input:[`text`,`image`],cost:{input:.6,output:1.7999999999999998,cacheRead:.11,cacheWrite:0},contextWindow:66e3,maxTokens:16e3},"zai/glm-4.6":{id:`zai/glm-4.6`,name:`GLM 4.6`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.6,output:2.2,cacheRead:.11,cacheWrite:0},contextWindow:2e5,maxTokens:96e3},"zai/glm-4.6v":{id:`zai/glm-4.6v`,name:`GLM-4.6V`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:.3,output:.8999999999999999,cacheRead:.049999999999999996,cacheWrite:0},contextWindow:128e3,maxTokens:24e3},"zai/glm-4.6v-flash":{id:`zai/glm-4.6v-flash`,name:`GLM-4.6V-Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:24e3},"zai/glm-4.7":{id:`zai/glm-4.7`,name:`GLM 4.7`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:2.25,output:2.75,cacheRead:2.25,cacheWrite:0},contextWindow:131e3,maxTokens:4e4},"zai/glm-4.7-flash":{id:`zai/glm-4.7-flash`,name:`GLM 4.7 Flash`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.07,output:.39999999999999997,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131e3},"zai/glm-4.7-flashx":{id:`zai/glm-4.7-flashx`,name:`GLM 4.7 FlashX`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:.06,output:.39999999999999997,cacheRead:.01,cacheWrite:0},contextWindow:2e5,maxTokens:128e3},"zai/glm-5":{id:`zai/glm-5`,name:`GLM 5`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1,output:3.1999999999999997,cacheRead:.19999999999999998,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5-turbo":{id:`zai/glm-5-turbo`,name:`GLM 5 Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:202800,maxTokens:131100},"zai/glm-5.1":{id:`zai/glm-5.1`,name:`GLM 5.1`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:202800,maxTokens:64e3},"zai/glm-5v-turbo":{id:`zai/glm-5v-turbo`,name:`GLM 5V Turbo`,api:`anthropic-messages`,provider:`vercel-ai-gateway`,baseUrl:`https://ai-gateway.vercel.sh`,reasoning:!0,input:[`text`,`image`],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},contextWindow:2e5,maxTokens:128e3}},xai:{"grok-2":{id:`grok-2`,name:`Grok 2`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-2-1212":{id:`grok-2-1212`,name:`Grok 2 (1212)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-2-latest":{id:`grok-2-latest`,name:`Grok 2 Latest`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-2-vision":{id:`grok-2-vision`,name:`Grok 2 Vision`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:8192,maxTokens:4096},"grok-2-vision-1212":{id:`grok-2-vision-1212`,name:`Grok 2 Vision (1212)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:8192,maxTokens:4096},"grok-2-vision-latest":{id:`grok-2-vision-latest`,name:`Grok 2 Vision Latest`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:10,cacheRead:2,cacheWrite:0},contextWindow:8192,maxTokens:4096},"grok-3":{id:`grok-3`,name:`Grok 3`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:3,output:15,cacheRead:.75,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-3-fast":{id:`grok-3-fast`,name:`Grok 3 Fast`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:5,output:25,cacheRead:1.25,cacheWrite:0},contextWindow:131072,maxTokens:8192},"grok-4.20-0309-non-reasoning":{id:`grok-4.20-0309-non-reasoning`,name:`Grok 4.20 (Non-Reasoning)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:2e6,maxTokens:3e4},"grok-4.20-0309-reasoning":{id:`grok-4.20-0309-reasoning`,name:`Grok 4.20 (Reasoning)`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:2e6,maxTokens:3e4},"grok-4.3":{id:`grok-4.3`,name:`Grok 4.3`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!0,input:[`text`,`image`],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:3e4},"grok-beta":{id:`grok-beta`,name:`Grok Beta`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:5,output:15,cacheRead:5,cacheWrite:0},contextWindow:131072,maxTokens:4096},"grok-code-fast-1":{id:`grok-code-fast-1`,name:`Grok Code Fast 1`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`],cost:{input:.2,output:1.5,cacheRead:.02,cacheWrite:0},contextWindow:32768,maxTokens:8192},"grok-vision-beta":{id:`grok-vision-beta`,name:`Grok Vision Beta`,api:`openai-completions`,provider:`xai`,baseUrl:`https://api.x.ai/v1`,reasoning:!1,input:[`text`,`image`],cost:{input:5,output:15,cacheRead:5,cacheWrite:0},contextWindow:8192,maxTokens:4096}},xiaomi:{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi`,baseUrl:`https://api.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},"xiaomi-token-plan-ams":{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-ams`,baseUrl:`https://token-plan-ams.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},"xiaomi-token-plan-cn":{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-cn`,baseUrl:`https://token-plan-cn.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},"xiaomi-token-plan-sgp":{"mimo-v2-flash":{id:`mimo-v2-flash`,name:`MiMo-V2-Flash`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:.1,output:.3,cacheRead:.01,cacheWrite:0},contextWindow:262144,maxTokens:65536},"mimo-v2-omni":{id:`mimo-v2-omni`,name:`MiMo-V2-Omni`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:262144,maxTokens:131072},"mimo-v2-pro":{id:`mimo-v2-pro`,name:`MiMo-V2-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5":{id:`mimo-v2.5`,name:`MiMo-V2.5`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`,`image`],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},contextWindow:1048576,maxTokens:131072},"mimo-v2.5-pro":{id:`mimo-v2.5-pro`,name:`MiMo-V2.5-Pro`,api:`openai-completions`,provider:`xiaomi-token-plan-sgp`,baseUrl:`https://token-plan-sgp.xiaomimimo.com/v1`,compat:{requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:`deepseek`},reasoning:!0,input:[`text`],cost:{input:1,output:3,cacheRead:.2,cacheWrite:0},contextWindow:1048576,maxTokens:131072}},zai:{"glm-4.5-air":{id:`glm-4.5-air`,name:`GLM-4.5-Air`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:131072,maxTokens:98304},"glm-4.7":{id:`glm-4.7`,name:`GLM-4.7`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:204800,maxTokens:131072},"glm-5-turbo":{id:`glm-5-turbo`,name:`GLM-5-Turbo`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072},"glm-5.1":{id:`glm-5.1`,name:`GLM-5.1`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072},"glm-5v-turbo":{id:`glm-5v-turbo`,name:`GLM-5V-Turbo`,api:`openai-completions`,provider:`zai`,baseUrl:`https://api.z.ai/api/coding/paas/v4`,compat:{supportsDeveloperRole:!1,thinkingFormat:`zai`,zaiToolStream:!0},reasoning:!0,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:2e5,maxTokens:131072}}},Uu=new Map;for(let[e,t]of Object.entries(Hu)){let n=new Map;for(let[e,r]of Object.entries(t))n.set(e,r);Uu.set(e,n)}function Wu(e,t){return Uu.get(e)?.get(t)}function Gu(){return Array.from(Uu.keys())}function Ku(e){let t=Uu.get(e);return t?Array.from(t.values()):[]}function qu(e,t){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/1e6*t.cacheWrite,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite,t.cost}const Ju=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function Yu(e){return e.reasoning?Ju.filter(t=>{let n=e.thinkingLevelMap?.[t];return n===null?!1:t===`xhigh`?n!==void 0:!0}):[`off`]}function Xu(e,t){let n=Yu(e);if(n.includes(t))return t;let r=Ju.indexOf(t);if(r===-1)return n[0]??`off`;for(let e=r;e<Ju.length;e++){let t=Ju[e];if(n.includes(t))return t}for(let e=r-1;e>=0;e--){let t=Ju[e];if(n.includes(t))return t}return n[0]??`off`}var Zu=class{isComplete;extractResult;queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;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}},Qu=class extends Zu{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 $u(){return new Qu}const ed=e=>import(e);let td,nd,rd,id,ad,od,sd,cd,ld;function ud(e,t){(async()=>{for await(let n of t)e.push(n);e.end()})()}function dd(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 fd(e){return(t,n,r)=>{let i=new Qu;return e().then(e=>{ud(i,e.stream(t,n,r))}).catch(e=>{let n=dd(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function pd(e){return(t,n,r)=>{let i=new Qu;return e().then(e=>{ud(i,e.streamSimple(t,n,r))}).catch(e=>{let n=dd(t,e);i.push({type:`error`,reason:`error`,error:n}),i.end(n)}),i}}function md(){return td||=import(`./anthropic-BnloFG5q.js`).then(e=>{let t=e;return{stream:t.streamAnthropic,streamSimple:t.streamSimpleAnthropic}}),td}function hd(){return nd||=import(`./azure-openai-responses-XC9CvU1t.js`).then(e=>{let t=e;return{stream:t.streamAzureOpenAIResponses,streamSimple:t.streamSimpleAzureOpenAIResponses}}),nd}function gd(){return rd||=import(`./google-CGQR7JKt.js`).then(e=>{let t=e;return{stream:t.streamGoogle,streamSimple:t.streamSimpleGoogle}}),rd}function _d(){return id||=import(`./google-vertex-DQtrWu56.js`).then(e=>{let t=e;return{stream:t.streamGoogleVertex,streamSimple:t.streamSimpleGoogleVertex}}),id}function vd(){return ad||=import(`./mistral-Vv-Y4leD.js`).then(e=>{let t=e;return{stream:t.streamMistral,streamSimple:t.streamSimpleMistral}}),ad}function yd(){return od||=import(`./openai-codex-responses-BElLL-f3.js`).then(e=>{let t=e;return{stream:t.streamOpenAICodexResponses,streamSimple:t.streamSimpleOpenAICodexResponses}}),od}function bd(){return sd||=Promise.resolve().then(()=>$Ne).then(e=>{let t=e;return{stream:t.streamOpenAICompletions,streamSimple:t.streamSimpleOpenAICompletions}}),sd}function xd(){return cd||=import(`./openai-responses-IPxY3Rnw.js`).then(e=>{let t=e;return{stream:t.streamOpenAIResponses,streamSimple:t.streamSimpleOpenAIResponses}}),cd}function Sd(){return ld||=ed(`./amazon-bedrock.js`).then(e=>{let t=e;return{stream:t.streamBedrock,streamSimple:t.streamSimpleBedrock}}),ld}const Cd=fd(md),wd=pd(md),Td=fd(hd),Ed=pd(hd),Dd=fd(gd),Od=pd(gd),kd=fd(_d),Ad=pd(_d),jd=fd(vd),Md=pd(vd),Nd=fd(yd),Pd=pd(yd),Fd=fd(bd),Id=pd(bd),Ld=fd(xd),Rd=pd(xd),zd=fd(Sd),Bd=pd(Sd);function Vd(){vu({api:`anthropic-messages`,stream:Cd,streamSimple:wd}),vu({api:`openai-completions`,stream:Fd,streamSimple:Id}),vu({api:`mistral-conversations`,stream:jd,streamSimple:Md}),vu({api:`openai-responses`,stream:Ld,streamSimple:Rd}),vu({api:`azure-openai-responses`,stream:Td,streamSimple:Ed}),vu({api:`openai-codex-responses`,stream:Nd,streamSimple:Pd}),vu({api:`google-generative-ai`,stream:Dd,streamSimple:Od}),vu({api:`google-vertex`,stream:kd,streamSimple:Ad}),vu({api:`bedrock-converse-stream`,stream:zd,streamSimple:Bd})}Vd();const Hd=new Set;function Ud(e){return Hd.add(e),()=>{Hd.delete(e)}}function Wd(e){let t=yu(e);if(!t)throw Error(`No API provider registered for api: ${e}`);return t}function Gd(e,t,n){return Wd(e.api).streamSimple(e,t,n)}async function Kd(e,t,n){return Gd(e,t,n).result()}function qd(e){return e instanceof Error?e.message||e.name:typeof e==`string`?e:String(e)}function Jd(e){if(!(e instanceof Error))return{name:`ThrownValue`,message:qd(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 Yd(e,t,n){return{type:e,timestamp:Date.now(),error:Jd(t),details:n}}function Xd(e,t){e.diagnostics=[...e.diagnostics??[],t]}var Zd=s((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Allow=e.ALL=e.COLLECTION=e.ATOM=e.SPECIAL=e.INF=e._INFINITY=e.INFINITY=e.NAN=e.BOOL=e.NULL=e.OBJ=e.ARR=e.NUM=e.STR=void 0,e.STR=1,e.NUM=2,e.ARR=4,e.OBJ=8,e.NULL=16,e.BOOL=32,e.NAN=64,e.INFINITY=128,e._INFINITY=256,e.INF=e.INFINITY|e._INFINITY,e.SPECIAL=e.NULL|e.BOOL|e.INF|e.NAN,e.ATOM=e.STR|e.NUM|e.SPECIAL,e.COLLECTION=e.ARR|e.OBJ,e.ALL=e.ATOM|e.COLLECTION,e.Allow={STR:e.STR,NUM:e.NUM,ARR:e.ARR,OBJ:e.OBJ,NULL:e.NULL,BOOL:e.BOOL,NAN:e.NAN,INFINITY:e.INFINITY,_INFINITY:e._INFINITY,INF:e.INF,SPECIAL:e.SPECIAL,ATOM:e.ATOM,COLLECTION:e.COLLECTION,ALL:e.ALL},e.default=e.Allow})),Qd=s((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.Allow=e.MalformedJSON=e.PartialJSON=e.parseJSON=e.parse=void 0;let r=Zd();Object.defineProperty(e,"Allow",{enumerable:!0,get:function(){return r.Allow}}),n(Zd(),e);var i=class extends Error{};e.PartialJSON=i;var a=class extends Error{};e.MalformedJSON=a;function o(e,t=r.Allow.ALL){if(typeof e!=`string`)throw TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw Error(`${e} is empty`);return s(e.trim(),t)}e.parseJSON=o;let s=(e,t)=>{let n=e.length,o=0,s=e=>{throw new i(`${e} at position ${o}`)},c=e=>{throw new a(`${e} at position ${o}`)},l=()=>(m(),o>=n&&s(`Unexpected end of input`),e[o]===`"`?u():e[o]===`{`?d():e[o]===`[`?f():e.substring(o,o+4)===`null`||r.Allow.NULL&t&&n-o<4&&`null`.startsWith(e.substring(o))?(o+=4,null):e.substring(o,o+4)===`true`||r.Allow.BOOL&t&&n-o<4&&`true`.startsWith(e.substring(o))?(o+=4,!0):e.substring(o,o+5)===`false`||r.Allow.BOOL&t&&n-o<5&&`false`.startsWith(e.substring(o))?(o+=5,!1):e.substring(o,o+8)===`Infinity`||r.Allow.INFINITY&t&&n-o<8&&`Infinity`.startsWith(e.substring(o))?(o+=8,1/0):e.substring(o,o+9)===`-Infinity`||r.Allow._INFINITY&t&&1<n-o&&n-o<9&&`-Infinity`.startsWith(e.substring(o))?(o+=9,-1/0):e.substring(o,o+3)===`NaN`||r.Allow.NAN&t&&n-o<3&&`NaN`.startsWith(e.substring(o))?(o+=3,NaN):p()),u=()=>{let i=o,a=!1;for(o++;o<n&&(e[o]!==`"`||a&&e[o-1]===`\\`);)a=e[o]===`\\`?!a:!1,o++;if(e.charAt(o)==`"`)try{return JSON.parse(e.substring(i,++o-Number(a)))}catch(e){c(String(e))}else if(r.Allow.STR&t)try{return JSON.parse(e.substring(i,o-Number(a))+`"`)}catch{return JSON.parse(e.substring(i,e.lastIndexOf(`\\`))+`"`)}s(`Unterminated string literal`)},d=()=>{o++,m();let i={};try{for(;e[o]!==`}`;){if(m(),o>=n&&r.Allow.OBJ&t)return i;let a=u();m(),o++;try{i[a]=l()}catch(e){if(r.Allow.OBJ&t)return i;throw e}m(),e[o]===`,`&&o++}}catch{if(r.Allow.OBJ&t)return i;s(`Expected '}' at end of object`)}return o++,i},f=()=>{o++;let n=[];try{for(;e[o]!==`]`;)n.push(l()),m(),e[o]===`,`&&o++}catch{if(r.Allow.ARR&t)return n;s(`Expected ']' at end of array`)}return o++,n},p=()=>{if(o===0){e===`-`&&c(`Not sure what '-' is`);try{return JSON.parse(e)}catch(n){if(r.Allow.NUM&t)try{return JSON.parse(e.substring(0,e.lastIndexOf(`e`)))}catch{}c(String(n))}}let i=o;for(e[o]===`-`&&o++;e[o]&&`,]}`.indexOf(e[o])===-1;)o++;o==n&&!(r.Allow.NUM&t)&&s(`Unterminated number literal`);try{return JSON.parse(e.substring(i,o))}catch{e.substring(i,o)===`-`&&s(`Not sure what '-' is`);try{return JSON.parse(e.substring(i,e.lastIndexOf(`e`)))}catch(e){c(String(e))}}},m=()=>{for(;o<n&&`
|
|
882
882
|
\r `.includes(e[o]);)o++};return l()};e.parse=o}))();const $d=new Set([`"`,`\\`,`/`,`b`,`f`,`n`,`r`,`t`,`u`]);function ef(e){let t=e.codePointAt(0);return t!==void 0&&t>=0&&t<=31}function tf(e){switch(e){case`\b`:return`\\b`;case`\f`:return`\\f`;case`
|
|
883
883
|
`:return`\\n`;case`\r`:return`\\r`;case` `:return`\\t`;default:return`\\u${e.codePointAt(0)?.toString(16).padStart(4,`0`)??`0000`}`}}function nf(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(!n){t+=i,i===`"`&&(n=!0);continue}if(i===`"`){t+=i,n=!1;continue}if(i===`\\`){let n=e[r+1];if(n===void 0){t+=`\\\\`;continue}if(n===`u`){let n=e.slice(r+2,r+6);if(/^[0-9a-fA-F]{4}$/.test(n)){t+=`\\u${n}`,r+=5;continue}}if($d.has(n)){t+=`\\${n}`,r+=1;continue}t+=`\\\\`;continue}t+=ef(i)?tf(i):i}return t}function rf(e){try{return JSON.parse(e)}catch(t){let n=nf(e);if(n!==e)return JSON.parse(n);throw t}}function af(e){if(!e||e.trim()===``)return{};try{return rf(e)}catch{try{return(0,Qd.parse)(e)??{}}catch{try{return(0,Qd.parse)(nf(e))??{}}catch{return{}}}}}const of=[/prompt is too long/i,/request_too_large/i,/input is too long for requested model/i,/exceeds the context window/i,/exceeds (?:the )?(?:model'?s )?maximum context length of [\d,]+ tokens?/i,/input token count.*exceeds the maximum/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/too large for model with \d+ maximum context length/i,/model_context_window_exceeded/i,/prompt too long; exceeded (?:max )?context length/i,/context[_ ]length[_ ]exceeded/i,/too many tokens/i,/token limit exceeded/i,/^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i],sf=[/^(Throttling error|Service unavailable):/i,/rate limit/i,/too many requests/i];function cf(e,t){return!!(e.stopReason===`error`&&e.errorMessage&&!sf.some(t=>t.test(e.errorMessage))&&of.some(t=>t.test(e.errorMessage))||t&&e.stopReason===`stop`&&e.usage.input+e.usage.cacheRead>t||t&&e.stopReason===`length`&&e.usage.output===0&&e.usage.input+e.usage.cacheRead>=t*.99)}function lf(e){return Wt(e)&&z(e,`check`)&&z(e,`errors`)&&Rt(e.check)&&Rt(e.errors)}function uf(e){return z(e,`~guard`)&&lf(e[`~guard`])}function df(e){return z(e,`~refine`)&&Nt(e[`~refine`])&&rn(e[`~refine`],0,e=>Wt(e)&&z(e,`check`)&&z(e,`error`)&&Rt(e.check)&&Rt(e.error))}function ff(e){return Wt(e)&&!Nt(e)}function pf(e){return It(e)}function mf(e){return ff(e)||pf(e)}function hf(e){return z(e,`additionalItems`)&&mf(e.additionalItems)}function gf(e){return z(e,`additionalProperties`)&&mf(e.additionalProperties)}function _f(e){return z(e,`allOf`)&&Nt(e.allOf)&&e.allOf.every(e=>mf(e))}function vf(e){return z(e,`$anchor`)&&Gt(e.$anchor)}function yf(e){return z(e,`anyOf`)&&Nt(e.anyOf)&&e.anyOf.every(e=>mf(e))}function bf(e){return z(e,`const`)}function xf(e){return z(e,`contains`)&&mf(e.contains)}function Sf(e){return z(e,`default`)}function Cf(e){return z(e,`dependencies`)&&Wt(e.dependencies)&&Object.values(e.dependencies).every(e=>mf(e)||Nt(e)&&e.every(e=>Gt(e)))}function wf(e){return z(e,`dependentRequired`)&&Wt(e.dependentRequired)&&Object.values(e.dependentRequired).every(e=>Nt(e)&&e.every(e=>Gt(e)))}function Tf(e){return z(e,`dependentSchemas`)&&Wt(e.dependentSchemas)&&Object.values(e.dependentSchemas).every(e=>mf(e))}function Ef(e){return z(e,`$dynamicAnchor`)&&Gt(e.$dynamicAnchor)}function Df(e){return z(e,`$dynamicRef`)&&Gt(e.$dynamicRef)}function Of(e){return z(e,`else`)&&mf(e.else)}function kf(e){return z(e,`enum`)&&Nt(e.enum)}function Af(e){return z(e,`exclusiveMaximum`)&&(Ht(e.exclusiveMaximum)||Ft(e.exclusiveMaximum))}function jf(e){return z(e,`exclusiveMinimum`)&&(Ht(e.exclusiveMinimum)||Ft(e.exclusiveMinimum))}function Mf(e){return z(e,`format`)&&Gt(e.format)}function Nf(e){return z(e,`$id`)&&Gt(e.$id)}function Pf(e){return z(e,`if`)&&mf(e.if)}function Ff(e){return z(e,`items`)&&(mf(e.items)||Nt(e.items)&&e.items.every(e=>mf(e)))}function If(e){return Ff(e)&&Nt(e.items)}function Lf(e){return z(e,`maximum`)&&(Ht(e.maximum)||Ft(e.maximum))}function Rf(e){return z(e,`maxContains`)&&Ht(e.maxContains)}function zf(e){return z(e,`maxItems`)&&Ht(e.maxItems)}function Bf(e){return z(e,`maxLength`)&&Ht(e.maxLength)}function Vf(e){return z(e,`maxProperties`)&&Ht(e.maxProperties)}function Hf(e){return z(e,`minimum`)&&(Ht(e.minimum)||Ft(e.minimum))}function Uf(e){return z(e,`minContains`)&&Ht(e.minContains)}function Wf(e){return z(e,`minItems`)&&Ht(e.minItems)}function Gf(e){return z(e,`minLength`)&&Ht(e.minLength)}function Kf(e){return z(e,`minProperties`)&&Ht(e.minProperties)}function qf(e){return z(e,`multipleOf`)&&(Ht(e.multipleOf)||Ft(e.multipleOf))}function Jf(e){return z(e,`not`)&&mf(e.not)}function Yf(e){return z(e,`oneOf`)&&Nt(e.oneOf)&&e.oneOf.every(e=>mf(e))}function Xf(e){return z(e,`pattern`)&&(Gt(e.pattern)||e.pattern instanceof RegExp)}function Zf(e){return z(e,`patternProperties`)&&Wt(e.patternProperties)&&Object.values(e.patternProperties).every(e=>mf(e))}function Qf(e){return z(e,`prefixItems`)&&Nt(e.prefixItems)&&e.prefixItems.every(e=>mf(e))}function $f(e){return z(e,`properties`)&&Wt(e.properties)&&Object.values(e.properties).every(e=>mf(e))}function ep(e){return z(e,`propertyNames`)&&(Wt(e.propertyNames)||mf(e.propertyNames))}function Jie(e){return z(e,`$recursiveAnchor`)&&It(e.$recursiveAnchor)}function tp(e){return Jie(e)&&R(e.$recursiveAnchor,!0)}function np(e){return z(e,`$recursiveRef`)&&Gt(e.$recursiveRef)}function rp(e){return z(e,`$ref`)&&Gt(e.$ref)}function ip(e){return z(e,`required`)&&Nt(e.required)&&e.required.every(e=>Gt(e))}function ap(e){return z(e,`then`)&&mf(e.then)}function op(e){return z(e,`type`)&&(Gt(e.type)||Nt(e.type)&&e.type.every(e=>Gt(e)))}function sp(e){return z(e,`uniqueItems`)&&It(e.uniqueItems)}function cp(e){return z(e,`unevaluatedItems`)&&mf(e.unevaluatedItems)}function lp(e){return z(e,`unevaluatedProperties`)&&mf(e.unevaluatedProperties)}function Yie(e){return cp(e)||lp(e)||ln(e).some(t=>up(e[t]))}function Xie(e){return e.some(e=>up(e))}function up(e){return Nt(e)?Xie(e):Wt(e)?Yie(e):!1}function Zie(e,t){return up(t)||ln(e).some(t=>up(e[t]))}var Qie=class{constructor(e){this.hasUnevaluated=e}UseUnevaluated(){return this.hasUnevaluated}Push(){return Vn(Un(`context`,`Push`),[])}Pop(){return Vn(Un(`context`,`Pop`),[])}AddIndex(e){return Vn(Un(`context`,`AddIndex`),[e])}AddKey(e){return Vn(Un(`context`,`AddKey`),[e])}Merge(e){return Vn(Un(`context`,`Merge`),[e])}},dp=class{constructor(){let e=new Set,t=new Set;this.stack=[{indices:e,keys:t}]}Push(){let e=new Set,t=new Set;return this.stack.push({indices:e,keys:t}),!0}Pop(){return this.stack.pop(),!0}AddIndex(e){return this.GetIndices().add(e),!0}AddKey(e){return this.GetKeys().add(e),!0}GetIndices(){return this.stack[this.stack.length-1].indices}GetKeys(){return this.stack[this.stack.length-1].keys}Merge(e){for(let t of e)t.GetIndices().forEach(e=>this.GetIndices().add(e)),t.GetKeys().forEach(e=>this.GetKeys().add(e));return!0}},fp=class extends dp{constructor(e){super(),this.callback=e}AddError(e){return this.callback(e),!1}},pp=class extends fp{constructor(){super(e=>this.errors.push(e)),this.errors=[]}AddError(e){return this.errors.push(e),!1}GetErrors(){return this.errors}};const mp={identifier:`External`,variables:[]};function hp(e){let t=`External[${mp.variables.length}]`;return mp.variables.push(e),t}function $ie(){mp.variables=[]}function eae(){return{...mp}}function tae(e,t,n,r){return Vn(Un(Un(hp(n),`~guard`),`check`),[r])}function nae(e,t,n,r){return n[`~guard`].check(r)}function rae(e,t,n,r,i,a){return i[`~guard`].check(a)||t.AddError({keyword:`~guard`,schemaPath:n,instancePath:r,params:{errors:i[`~guard`].errors(a)}})}function iae(e,t,n,r){return Fn(hp(n[`~refine`].map(e=>e)),Wn(0),[`refinement`,`_`],Vn(Un(`refinement`,`check`),[r]))}function aae(e,t,n,r){return rn(n[`~refine`],0,(e,t)=>e.check(r))}function oae(e,t,n,r,i,a){return an(i[`~refine`],0,(e,i)=>e.check(a)||t.AddError({keyword:`~refine`,schemaPath:n,instancePath:r,params:{index:i,message:e.error(a)}}))}let sae=0;function gp(){return`var_${sae++}`}function _p(e){return Ff(e)&&Nt(e.items)}function cae(e,t,n,r){if(!_p(n))return Wn(!0);let[i,a]=[gp(),gp()],o=Mm(e,t,n.additionalItems,i),s=Mn(a,Wn(n.items.length)),c=t.AddIndex(a),l=t.UseUnevaluated()?hn(s,mn(o,c)):hn(s,o);return Vn(Un(r,`every`),[Bn([i,a],l)])}function lae(e,t,n,r){return _p(n)?r.every((r,i)=>Yt(i,n.items.length)||Pm(e,t,n.additionalItems,r)&&t.AddIndex(i)):!0}function uae(e,t,n,r,i,a){return _p(i)?a.every((a,o)=>{let s=`${n}/additionalItems`,c=`${r}/${o}`;return Yt(o,i.items.length)||Im(e,t,s,c,i.additionalItems,a)&&t.AddIndex(o)}):!0}function dae(e){return`^${e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}$`}function vp(e){let t=[];return Zf(e)&&t.push(...ln(e.patternProperties)),$f(e)&&t.push(...ln(e.properties).map(dae)),R(t.length,0)?`(?!)`:`(${t.join(`|`)})`}function fae(e,t,n){return ip(t)&&$f(t)&&!Zf(t)&&R(t.additionalProperties,!1)&&R(ln(t.properties).length,t.required.length)}function pae(e,t,n){return An(Un(Vn(Un(`Object`,`getOwnPropertyNames`),[n]),`length`),Wn(t.required.length))}function mae(e,t,n,r){let[i,a]=[gp(),gp()],o=hp(new RegExp(vp(n))),s=Mm(e,t,n.additionalProperties,`${r}[${i}]`),c=Vn(Un(o,`test`),[i]),l=t.AddKey(i),u=t.UseUnevaluated()?hn(c,mn(s,l)):hn(c,s);return Fn(Ln(r),Wn(0),[i,a],u)}function hae(e,t,n,r){return fae(t,n,r)?pae(t,n,r):mae(e,t,n,r)}function gae(e,t,n,r){let i=new RegExp(vp(n));return rn(ln(r),0,(a,o)=>i.test(a)||Pm(e,t,n.additionalProperties,r[a])&&t.AddKey(a))}function _ae(e,t,n,r,i,a){let o=new RegExp(vp(i)),s=[];return an(ln(a),0,(c,l)=>{let u=`${n}/additionalProperties`,d=`${r}/${c}`,f=new pp,p=o.test(c)||Im(e,f,u,d,i.additionalProperties,a[c])&&t.AddKey(c);return p||s.push(c),p})||t.AddError({keyword:`additionalProperties`,schemaPath:n,instancePath:r,params:{additionalProperties:s}})}function yp(e,t,n,r,i){let a=qn(`results`,`[]`),o=n.map((e,t)=>qn(`context_${t}`,Hn(`CheckContext`,[]))),s=n.map((n,i)=>qn(`condition_${i}`,Vn(Bn([`context`],Nm(e,t,n,r)),[`context_${i}`]))),c=n.map((e,t)=>Jn(`condition_${t}`,Vn(Un(`results`,`push`),[`context_${t}`]))),l=Yn(mn(i,t.Merge(`results`)));return Vn(Bn([],Kn([a,...o,...s,...c,l])),[])}function vae(e,t,n,r){return yp(e,t,n.allOf,r,An(Un(`results`,`length`),Wn(n.allOf.length)))}function yae(e,t,n,r){return Xn(n.allOf.map(n=>Nm(e,t,n,r)))}function bae(e,t,n,r){return t.UseUnevaluated()?vae(e,t,n,r):yae(e,t,n,r)}function xae(e,t,n,r){let i=n.allOf.reduce((t,n)=>{let i=new dp;return Fm(e,i,n,r)?[...t,i]:t},[]);return R(i.length,n.allOf.length)&&t.Merge(i)}function Sae(e,t,n,r,i,a){let o=[],s=i.allOf.reduce((t,i,s)=>{let c=`${n}/allOf/${s}`,l=new pp,u=Lm(e,l,c,r,i,a);return u||o.push(l),u?[...t,l]:t},[]),c=R(s.length,i.allOf.length)&&t.Merge(s);return c||o.forEach(e=>e.GetErrors().forEach(e=>t.AddError(e))),c}function Cae(e,t,n,r){return yp(e,t,n.anyOf,r,jn(Un(`results`,`length`),Wn(0)))}function wae(e,t,n,r){return Zn(n.anyOf.map(n=>Nm(e,t,n,r)))}function Tae(e,t,n,r){return t.UseUnevaluated()?Cae(e,t,n,r):wae(e,t,n,r)}function bp(e,t,n,r){let i=n.anyOf.reduce((t,n)=>{let i=new dp;return Fm(e,i,n,r)?[...t,i]:t},[]);return Jt(i.length,0)&&t.Merge(i)}function Eae(e,t,n,r,i,a){let o=[],s=i.anyOf.reduce((t,i,s)=>{let c=new pp,l=Lm(e,c,`${n}/anyOf/${s}`,r,i,a);return l||o.push(c),l?[...t,c]:t},[]),c=Jt(s.length,0)&&t.Merge(s);return c||o.forEach(e=>e.GetErrors().forEach(e=>t.AddError(e))),c||t.AddError({keyword:`anyOf`,schemaPath:n,instancePath:r,params:{}})}function Dae(e,t,n,r){return Wn(!!n)}function xp(e,t,n,r){return n}function Oae(e,t,n,r,i,a){return xp(e,t,i,a)||t.AddError({keyword:`boolean`,schemaPath:n,instancePath:r,params:{}})}function kae(e,t,n,r){return en(n.const)?An(r,Wn(n.const)):zn(r,hp(n.const))}function Sp(e,t,n,r){return en(n.const)?R(r,n.const):dn(r,n.const)}function Aae(e,t,n,r,i,a){return Sp(e,t,i,a)||t.AddError({keyword:`const`,schemaPath:n,instancePath:r,params:{allowedValue:i.const}})}function Cp(e){return!(Uf(e)&&R(e.minContains,0))}function jae(e,t,n,r){if(!Cp(n))return Wn(!0);let i=gp();return mn(gn(An(Un(r,`length`),Wn(0))),Vn(Un(r,`some`),[Bn([i],Nm(e,t,n.contains,i))]))}function wp(e,t,n,r){return Cp(n)?!R(r.length,0)&&r.some(r=>Fm(e,t,n.contains,r)):!0}function Mae(e,t,n,r,i,a){return wp(e,t,i,a)||t.AddError({keyword:`contains`,schemaPath:n,instancePath:r,params:{minContains:1}})}function Nae(e,t,n,r){return hn(An(Un(Ln(r),`length`),Wn(0)),Xn(cn(n.dependencies).map(([n,i])=>{let a=gn(Rn(r,Wn(n))),o=Nm(e,t,i,r);return hn(a,Nt(i)?(e=>Xn(e.map(e=>Rn(r,Wn(e)))))(i):o)})))}function Pae(e,t,n,r){let i=R(ln(r).length,0),a=rn(cn(n.dependencies),0,([n,i])=>!z(r,n)||(Nt(i)?i.every(e=>z(r,e)):Fm(e,t,i,r)));return i||a}function Fae(e,t,n,r,i,a){let o=R(ln(a).length,0),s=an(cn(i.dependencies),0,([i,o])=>{let s=`${n}/dependencies/${i}`;return!z(a,i)||(Nt(o)?o.every(e=>z(a,e)||t.AddError({keyword:`dependencies`,schemaPath:n,instancePath:r,params:{property:i,dependencies:o}})):Lm(e,t,s,r,o,a))});return o||s}function Iae(e,t,n,r){return hn(An(Un(Ln(r),`length`),Wn(0)),Xn(cn(n.dependentRequired).map(([e,t])=>hn(gn(Rn(r,Wn(e))),Xn(t.map(e=>Rn(r,Wn(e))))))))}function Lae(e,t,n,r){let i=R(ln(r).length,0),a=rn(cn(n.dependentRequired),0,([e,t])=>!z(r,e)||t.every(e=>z(r,e)));return i||a}function Rae(e,t,n,r,i,a){let o=R(ln(a).length,0),s=an(cn(i.dependentRequired),0,([e,i])=>!z(a,e)||an(i,0,o=>z(a,o)||t.AddError({keyword:`dependentRequired`,schemaPath:n,instancePath:r,params:{property:e,dependencies:i}})));return o||s}function zae(e,t,n,r){return hn(An(Un(Ln(r),`length`),Wn(0)),Xn(cn(n.dependentSchemas).map(([n,i])=>hn(gn(Rn(r,Wn(n))),Nm(e,t,i,r)))))}function Bae(e,t,n,r){let i=R(ln(r).length,0),a=rn(cn(n.dependentSchemas),0,([n,i])=>!z(r,n)||Fm(e,t,i,r));return i||a}function Vae(e,t,n,r,i,a){let o=R(ln(a).length,0),s=an(cn(i.dependentSchemas),0,([i,o])=>{let s=`${n}/dependentSchemas/${i}`;return!z(a,i)||Lm(e,t,s,r,o,a)});return o||s}function Hae(e,t,n,r){return zm(e,t,e.DynamicRef(n)??!1,r)}function Uae(e,t,n,r){let i=e.DynamicRef(n)??!1;return mf(i)&&Fm(e,t,i,r)}function Wae(e,t,n,r,i,a){let o=e.DynamicRef(i)??!1;return mf(o)&&Lm(e,t,`#`,r,o,a)}function Gae(e,t,n,r){return Zn(n.enum.map(e=>en(e)?An(r,Wn(e)):zn(r,hp(e))))}function Tp(e,t,n,r){return n.enum.some(e=>en(e)?R(r,e):dn(r,e))}function Kae(e,t,n,r,i,a){return Tp(e,t,i,a)||t.AddError({keyword:`enum`,schemaPath:n,instancePath:r,params:{allowedValues:i.enum}})}function qae(e,t,n,r){return Mn(r,Wn(n.exclusiveMaximum))}function Ep(e,t,n,r){return Yt(r,n.exclusiveMaximum)}function Jae(e,t,n,r,i,a){return Ep(e,t,i,a)||t.AddError({keyword:`exclusiveMaximum`,schemaPath:n,instancePath:r,params:{comparison:`<`,limit:i.exclusiveMaximum}})}function Yae(e,t,n,r){return jn(r,Wn(n.exclusiveMinimum))}function Dp(e,t,n,r){return Jt(r,n.exclusiveMinimum)}function Xae(e,t,n,r,i,a){return Dp(e,t,i,a)||t.AddError({keyword:`exclusiveMinimum`,schemaPath:n,instancePath:r,params:{comparison:`>`,limit:i.exclusiveMinimum}})}const Zae=[0,31,28,31,30,31,30,31,31,30,31,30,31],Qae=/^(\d\d\d\d)-(\d\d)-(\d\d)$/;function $ae(e){return e%4==0&&(e%100!=0||e%400==0)}function Op(e){let t=Qae.exec(e);if(!t)return!1;let n=+t[1],r=+t[2],i=+t[3];return r>=1&&r<=12&&i>=1&&i<=(r===2&&$ae(n)?29:Zae[r])}const eoe=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(?:Z|([+-])(\d\d):(\d\d))?$/i;function kp(e,t=!0){let n=eoe.exec(e);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4]===`-`?-1:1,s=+(n[5]||0),c=+(n[6]||0);if(s>23||c>59||t&&!n[4]&&e.toLowerCase().indexOf(`z`)===-1)return!1;if(r<=23&&i<=59&&a<60)return!0;let l=i-c*o,u=r-s*o-+(l<0);return(u===23||u===-1)&&(l===59||l===-1)&&a<61}function Ap(e,t=!0){let n=e.split(/T/i);return n.length===2&&Op(n[0])&&kp(n[1],t)}const toe=/^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/;function jp(e){return toe.test(e)}const noe=/^(?!.*\.\.)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;function Mp(e){return noe.test(e)}function roe(e,t,n){e=n?Math.floor(e/700):e>>1,e+=Math.floor(e/t);let r=0;for(;e>455;)e=Math.floor(e/35),r+=36;return r+Math.floor(36*e/(e+38))}function ioe(e){let t=[],n=128,r=0,i=72,a=e.lastIndexOf(`-`);if(a>0)for(let n=0;n<a;n++){let r=e.charCodeAt(n);if(r>=128)throw Error(`Invalid punycode: non-basic before delimiter`);t.push(r)}let o=a<0?0:a+1;for(;o<e.length;){let a=r,s=1,c=36;for(;;){if(o>=e.length)throw Error(`Invalid punycode: unexpected end of input`);let t=e.charCodeAt(o++),n;if(t>=97&&t<=122)n=t-97;else if(t>=48&&t<=57)n=t-48+26;else if(t>=65&&t<=90)n=t-65;else throw Error(`Invalid punycode: bad digit character`);r+=n*s;let a=c<=i?1:c>=i+26?26:c-i;if(n<a)break;s*=36-a,c+=36}let l=t.length+1;i=roe(r-a,l,a===0),n+=Math.floor(r/l),r%=l,t.splice(r,0,n),r++}return globalThis.String.fromCodePoint(...t)}function aoe(e){return/\p{Mn}/u.test(String.fromCodePoint(e))}function ooe(e){return/\p{Mc}/u.test(String.fromCodePoint(e))}function soe(e){return/\p{Me}/u.test(String.fromCodePoint(e))}function coe(e){return aoe(e)||ooe(e)||soe(e)}const loe=new Set([1600,2042,12334,12335,12337,12338,12339,12340,12341,12347]),uoe=new Set([2381,2509,2637,2765,2893,3021,3149,3277,3387,3388,3405,3530,6980,7082,7083,43456,69702,69759,69817,69939,69940,70080,70197,70477,70722,70850,71103,71231,71350,72767,73028,73029]);function doe(e){return/\p{Script=Greek}/u.test(String.fromCodePoint(e))}function foe(e){return/\p{Script=Hebrew}/u.test(String.fromCodePoint(e))}function poe(e){return/\p{Script=Hiragana}/u.test(String.fromCodePoint(e))}function moe(e){return/\p{Script=Katakana}/u.test(String.fromCodePoint(e))}function hoe(e){return/\p{Script=Han}/u.test(String.fromCodePoint(e))}function goe(e){return e>=1632&&e<=1641}function _oe(e){return e>=1776&&e<=1785}function voe(e){return uoe.has(e)}function Np(e){if(e.length===0)return!1;let t=[...e].map(e=>e.codePointAt(0)),n=t.length;if(t[0]===45||t[n-1]===45||n>=4&&t[2]===45&&t[3]===45||coe(t[0]))return!1;let r=!1,i=!1,a=!1;for(let e=0;e<n;e++){let n=t[e];if(loe.has(n))return!1;(poe(n)||moe(n)||hoe(n))&&(r=!0),goe(n)&&(i=!0),_oe(n)&&(a=!0);let o=t[e-1],s=t[e+1];switch(n){case 183:if(o!==108||s!==108)return!1;break;case 885:if(s===void 0||!doe(s))return!1;break;case 1523:case 1524:if(o===void 0||!foe(o))return!1;break;case 8205:if(o===void 0||!voe(o))return!1;break;case 12539:break}}return!(e.includes(`・`)&&!r||i&&a)}function yoe(e){if(e.charCodeAt(0)===45||e.charCodeAt(e.length-1)===45||e.length>=4&&e.charCodeAt(2)===45&&e.charCodeAt(3)===45)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57||n===45))return!1}return!0}function Pp(e){return e.toLowerCase().startsWith(`xn--`)}function Fp(e){try{return Np(ioe(e.slice(4)))}catch{return!1}}function boe(e){return e.length===0||e.length>63?!1:Pp(e)?Fp(e):Np(e)}function xoe(e){return e.length===0||e.length>63?!1:Pp(e)?Fp(e):yoe(e)}function Ip(e){if(e.length===0||e.length>253||e.charCodeAt(e.length-1)===46)return!1;for(let t of e.split(`.`))if(!xoe(t))return!1;return!0}const Soe=/^(?!.*\.\.)[\p{L}\p{N}!#$%&'*+/=?^_`{|}~-]+(?:\.[\p{L}\p{N}!#$%&'*+/=?^_`{|}~-]+)*@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,61}[\p{L}\p{N}])?(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,61}[\p{L}\p{N}])?)*$/iu;function Lp(e){return Soe.test(e)}function Rp(e){if(e.length===0||e.includes(` `))return!1;let t=e.normalize(`NFC`).replace(/[\u002E\u3002\uFF0E\uFF61]/g,`.`);if(t.length>253)return!1;for(let e of t.split(`.`))if(!boe(e))return!1;return!0}function zp(e,t,n){let r=0,i=0,a=0,o=0;for(let s=t;s<n;s++){let t=e.charCodeAt(s);if(t===46){if(a===0||i>255||o===48&&a>1)return!1;r++,i=0,a=0,o=0}else if(t>=48&&t<=57)a===0&&(o=t),i=i*10+(t-48),a++;else return!1}return r===3&&a>0&&i<=255&&!(o===48&&a>1)}function Bp(e){return zp(e,0,e.length)}function Coe(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Vp(e){let t=e.length;if(t===0)return!1;let n=0,r=!1,i=0;if(e.charCodeAt(0)===58&&e.charCodeAt(1)===58){if(t===2)return!0;r=!0,i=2}for(;i<t;){let a=0,o=i;for(;i<t&&Coe(e.charCodeAt(i));)i++,a++;if(a===0)return!1;let s=e.charCodeAt(i);if(s===46){if(!zp(e,o,t))return!1;n+=2,i=t;break}if(a>4)return!1;if(n++,i===t)break;if(s!==58)return!1;if(i++,e.charCodeAt(i)===58){if(r||e.charCodeAt(i+1)===58)return!1;if(r=!0,i++,i===t)break}}return r?n<=7:n===8}function Hp(e){try{return new URL(e,`http://example.com`),!0}catch{return!1}}function Up(e){if(e.includes(` `)||e.includes(`\\`)||/[\x00-\x1F\x7F]/.test(e)||/%(?![0-9a-fA-F]{2})/.test(e))return!1;if(e===``)return!0;let t=e.indexOf(`:`);return t>0&&/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e.substring(0,t))?Hp(e):e.match(/^([a-zA-Z][a-zA-Z0-9+\-.]*)(\/\/)/)&&t===-1?!1:Hp(e)}function Wp(e){try{return new URL(e),!0}catch{return!1}}const woe=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function Gp(e){return woe.test(e)}const Toe=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function Kp(e){return Toe.test(e)}function qp(e){if(e.length===0)return!1;try{return new RegExp(e),!0}catch{return!1}}const Eoe=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function Jp(e){return Eoe.test(e)}const Doe=/^(?!.*[^\x00-\x7F])(?!.*\\)(?:(?:[a-z][a-z0-9+\-.]*:)?(?:\/\/[^\s[\]{}<>^`|]*)?|[^\s[\]{}<>^`|]*)(?:\?[^\s[\]{}<>^`|]*)?(?:#[^\s[\]{}<>^`|]*)?$/i;function Yp(e){return Doe.test(e)}const Ooe=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;function Xp(e){return Ooe.test(e)}function Zp(e){return e>=97&&e<=122||e>=65&&e<=90}function Qp(e){return Zp(e)||e>=48&&e<=57}function $p(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function koe(e){return Qp(e)||e===43||e===45||e===46}function em(e){return Qp(e)||e===45||e===46||e===95||e===126}function tm(e){return e===33||e===36||e===38||e===39||e===40||e===41||e===42||e===43||e===44||e===59||e===61}function Aoe(e){return em(e)||tm(e)||e===58||e===64}function nm(e){let t=e.length;if(t===0||!Zp(e.charCodeAt(0)))return!1;let n=1;for(;n<t;){let t=e.charCodeAt(n);if(t===58)break;if(!koe(t))return!1;n++}if(e.charCodeAt(n)!==58)return!1;if(n++,e.charCodeAt(n)===47&&e.charCodeAt(n+1)===47){n+=2;let r=n,i=-1;for(let r=n;r<t;r++){let t=e.charCodeAt(r);if(t===64){i=r;break}if(t===47||t===63||t===35)break}if(i!==-1){for(let t=r;t<i;t++){let n=e.charCodeAt(t);if(n===91||n===93)return!1;if(n===37){if(t+2>=i||!$p(e.charCodeAt(t+1))||!$p(e.charCodeAt(t+2)))return!1;t+=2}else if(!em(n)&&!tm(n)&&n!==58)return!1}n=i+1}if(e.charCodeAt(n)===91){for(n++;n<t&&e.charCodeAt(n)!==93;)n++;if(e.charCodeAt(n)!==93)return!1;n++}else for(;n<t;){let t=e.charCodeAt(n);if(t===47||t===63||t===35||t===58)break;if(t<128&&!em(t)&&!tm(t))return!1;n++}if(e.charCodeAt(n)===58)for(n++;n<t;){let t=e.charCodeAt(n);if(t===47||t===63||t===35)break;if(t<48||t>57)return!1;n++}}for(;n<t;){let r=e.charCodeAt(n);if(r===37){if(n+2>=t||!$p(e.charCodeAt(n+1))||!$p(e.charCodeAt(n+2)))return!1;n+=2}else if(r>127)return!1;else if(!(Aoe(r)||r===47||r===63||r===35))return!1;n++}return!0}const joe=/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu;function rm(e){return joe.test(e)}const Moe=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function im(e){return Moe.test(e)}const am=new Map;function om(){am.clear()}function Noe(){return[...am.entries()]}function Poe(e,t){am.set(e,t)}function Foe(e){return am.has(e)}function Ioe(e){return am.get(e)}function sm(e,t){return am.get(e)?.(t)??!0}function cm(){om(),am.set(`date-time`,Ap),am.set(`date`,Op),am.set(`duration`,jp),am.set(`email`,Mp),am.set(`hostname`,Ip),am.set(`idn-email`,Lp),am.set(`idn-hostname`,Rp),am.set(`ipv4`,Bp),am.set(`ipv6`,Vp),am.set(`iri-reference`,Up),am.set(`iri`,Wp),am.set(`json-pointer-uri-fragment`,Gp),am.set(`json-pointer`,Kp),am.set(`regex`,qp),am.set(`relative-json-pointer`,Jp),am.set(`time`,kp),am.set(`uri-reference`,Yp),am.set(`uri-template`,Xp),am.set(`uri`,nm),am.set(`url`,rm),am.set(`uuid`,im)}cm();var Loe=c({Clear:()=>om,Entries:()=>Noe,Get:()=>Ioe,Has:()=>Foe,IsDate:()=>Op,IsDateTime:()=>Ap,IsDuration:()=>jp,IsEmail:()=>Mp,IsHostname:()=>Ip,IsIPv4:()=>Bp,IsIPv6:()=>Vp,IsIdnEmail:()=>Lp,IsIdnHostname:()=>Rp,IsIri:()=>Wp,IsIriReference:()=>Up,IsJsonPointer:()=>Kp,IsJsonPointerUriFragment:()=>Gp,IsRegex:()=>qp,IsRelativeJsonPointer:()=>Jp,IsTime:()=>kp,IsUri:()=>nm,IsUriReference:()=>Yp,IsUriTemplate:()=>Xp,IsUrl:()=>rm,IsUuid:()=>im,Reset:()=>cm,Set:()=>Poe,Test:()=>sm});function Roe(e,t,n,r){return Vn(Un(`Format`,`Test`),[Wn(n.format),r])}function lm(e,t,n,r){return sm(n.format,r)}function zoe(e,t,n,r,i,a){return lm(e,t,i,a)||t.AddError({keyword:`format`,schemaPath:n,instancePath:r,params:{format:i.format}})}function Boe(e,t,n,r){let i=ap(n)?n.then:!0,a=Of(n)?n.else:!0;return Gn(Nm(e,t,n.if,r),Nm(e,t,i,r),Nm(e,t,a,r))}function Voe(e,t,n,r){let i=ap(n)?n.then:!0,a=Of(n)?n.else:!0;return Fm(e,t,n.if,r)?Fm(e,t,i,r):Fm(e,t,a,r)}function Hoe(e,t,n,r,i,a){let o=ap(i)?i.then:!0,s=Of(i)?i.else:!0,c=new pp,l=Lm(e,c,`${n}/if`,r,i.if,a)?Lm(e,c,`${n}/then`,r,o,a)||t.AddError({keyword:`if`,schemaPath:n,instancePath:r,params:{failingKeyword:`then`}}):Lm(e,t,`${n}/else`,r,s,a)||t.AddError({keyword:`if`,schemaPath:n,instancePath:r,params:{failingKeyword:`else`}});return l&&t.Merge([c]),l}function Uoe(e,t,n,r){return Xn(n.items.map((n,i)=>{let a=Nn(Un(r,`length`),Wn(i)),o=Mm(e,t,n,`${r}[${i}]`),s=t.AddIndex(Wn(i));return hn(a,t.UseUnevaluated()?mn(o,s):o)}))}function Woe(e,t,n,r){return rn(n.items,0,(n,i)=>Xt(r.length,i)||Pm(e,t,n,r[i])&&t.AddIndex(i))}function Goe(e,t,n,r,i,a){return an(i.items,0,(i,o)=>{let s=`${n}/items/${o}`,c=`${r}/${o}`;return Xt(a.length,o)||Im(e,t,s,c,i,a[o])&&t.AddIndex(o)})}function Koe(e,t,n,r){let i=Qf(n)?n.prefixItems.length:0,a=Mm(e,t,n.items,`element`),o=t.AddIndex(`index`),s=t.UseUnevaluated()?mn(a,o):a;return Fn(r,Wn(i),[`element`,`index`],s)}function qoe(e,t,n,r){return rn(r,Qf(n)?n.prefixItems.length:0,(r,i)=>Pm(e,t,n.items,r)&&t.AddIndex(i))}function Joe(e,t,n,r,i,a){return an(a,Qf(i)?i.prefixItems.length:0,(a,o)=>Im(e,t,`${n}/items`,`${r}/${o}`,i.items,a)&&t.AddIndex(o))}function Yoe(e,t,n,r){return If(n)?Uoe(e,t,n,r):Koe(e,t,n,r)}function Xoe(e,t,n,r){return If(n)?Woe(e,t,n,r):qoe(e,t,n,r)}function Zoe(e,t,n,r,i,a){return If(i)?Goe(e,t,n,r,i,a):Joe(e,t,n,r,i,a)}function um(e){return xf(e)}function Qoe(e,t,n,r){if(!um(n))return Wn(!0);let[i,a]=[gp(),gp()];return Nn(Vn(Un(r,`reduce`),[Bn([i,a],Gn(Nm(e,t,n.contains,a),Qn(i),i)),Wn(0)]),Wn(n.maxContains))}function dm(e,t,n,r){return um(n)?Xt(r.reduce((r,i)=>Fm(e,t,n.contains,i)?++r:r,0),n.maxContains):!0}function $oe(e,t,n,r,i,a){let o=Uf(i)?i.minContains:1;return dm(e,t,i,a)||t.AddError({keyword:`contains`,schemaPath:n,instancePath:r,params:{minContains:o,maxContains:i.maxContains}})}function ese(e,t,n,r){return Nn(r,Wn(n.maximum))}function fm(e,t,n,r){return Xt(r,n.maximum)}function tse(e,t,n,r,i,a){return fm(e,t,i,a)||t.AddError({keyword:`maximum`,schemaPath:n,instancePath:r,params:{comparison:`<=`,limit:i.maximum}})}function nse(e,t,n,r){return Nn(Un(r,`length`),Wn(n.maxItems))}function pm(e,t,n,r){return Xt(r.length,n.maxItems)}function rse(e,t,n,r,i,a){return pm(e,t,i,a)||t.AddError({keyword:`maxItems`,schemaPath:n,instancePath:r,params:{limit:i.maxItems}})}function ise(e,t,n,r){return Tee(r,Wn(n.maxLength))}function mm(e,t,n,r){return tn(r,n.maxLength)}function ase(e,t,n,r,i,a){return mm(e,t,i,a)||t.AddError({keyword:`maxLength`,schemaPath:n,instancePath:r,params:{limit:i.maxLength}})}function ose(e,t,n,r){return Nn(Un(Ln(r),`length`),Wn(n.maxProperties))}function hm(e,t,n,r){return Xt(ln(r).length,n.maxProperties)}function sse(e,t,n,r,i,a){return hm(e,t,i,a)||t.AddError({keyword:`maxProperties`,schemaPath:n,instancePath:r,params:{limit:i.maxProperties}})}function gm(e){return xf(e)}function cse(e,t,n,r){if(!gm(n))return Wn(!0);let[i,a]=[gp(),gp()];return Pn(Vn(Un(r,`reduce`),[Bn([i,a],Gn(Nm(e,t,n.contains,a),Qn(i),i)),Wn(0)]),Wn(n.minContains))}function _m(e,t,n,r){return gm(n)?Zt(r.reduce((r,i)=>Fm(e,t,n.contains,i)?++r:r,0),n.minContains):!0}function lse(e,t,n,r,i,a){return _m(e,t,i,a)||t.AddError({keyword:`contains`,schemaPath:n,instancePath:r,params:{minContains:i.minContains}})}function use(e,t,n,r){return Pn(r,Wn(n.minimum))}function vm(e,t,n,r){return Zt(r,n.minimum)}function dse(e,t,n,r,i,a){return vm(e,t,i,a)||t.AddError({keyword:`minimum`,schemaPath:n,instancePath:r,params:{comparison:`>=`,limit:i.minimum}})}function fse(e,t,n,r){return Pn(Un(r,`length`),Wn(n.minItems))}function ym(e,t,n,r){return Zt(r.length,n.minItems)}function pse(e,t,n,r,i,a){return ym(e,t,i,a)||t.AddError({keyword:`minItems`,schemaPath:n,instancePath:r,params:{limit:i.minItems}})}function mse(e,t,n,r){return wee(r,Wn(n.minLength))}function bm(e,t,n,r){return nn(r,n.minLength)}function hse(e,t,n,r,i,a){return bm(e,t,i,a)||t.AddError({keyword:`minLength`,schemaPath:n,instancePath:r,params:{limit:i.minLength}})}function gse(e,t,n,r){return Pn(Un(Ln(r),`length`),Wn(n.minProperties))}function xm(e,t,n,r){return Zt(ln(r).length,n.minProperties)}function _se(e,t,n,r,i,a){return xm(e,t,i,a)||t.AddError({keyword:`minProperties`,schemaPath:n,instancePath:r,params:{limit:i.minProperties}})}function vse(e,t,n,r){return Dee(r,Wn(n.multipleOf))}function Sm(e,t,n,r){return Qt(r,n.multipleOf)}function yse(e,t,n,r,i,a){return Sm(e,t,i,a)||t.AddError({keyword:`multipleOf`,schemaPath:n,instancePath:r,params:{multipleOf:i.multipleOf}})}function bse(e,t,n,r){return yp(e,t,[n.not],r,gn(An(Un(`results`,`length`),Wn(1))))}function xse(e,t,n,r){return gn(Nm(e,t,n.not,r))}function Sse(e,t,n,r){return t.UseUnevaluated()?bse(e,t,n,r):xse(e,t,n,r)}function Cm(e,t,n,r){let i=new dp;return!Fm(e,i,n.not,r)&&t.Merge([i])}function Cse(e,t,n,r,i,a){return Cm(e,t,i,a)||t.AddError({keyword:`not`,schemaPath:n,instancePath:r,params:{}})}function wse(e,t,n,r){return yp(e,t,n.oneOf,r,An(Un(`results`,`length`),Wn(1)))}function Tse(e,t,n,r){return An(Vn(Un(Eee(n.oneOf.map(n=>Nm(e,t,n,r))),`reduce`),[Bn([`count`,`result`],Gn(An(`result`,Wn(!0)),Qn(`count`),`count`)),Wn(0)]),Wn(1))}function Ese(e,t,n,r){return t.UseUnevaluated()?wse(e,t,n,r):Tse(e,t,n,r)}function Dse(e,t,n,r){let i=n.oneOf.reduce((t,n)=>{let i=new dp;return Fm(e,i,n,r)?[...t,i]:t},[]);return R(i.length,1)&&t.Merge(i)}function Ose(e,t,n,r,i,a){let o=[],s=[],c=i.oneOf.reduce((t,i,c)=>{let l=new pp,u=Lm(e,l,`${n}/oneOf/${c}`,r,i,a);return u&&s.push(c),u||o.push(l),u?[...t,l]:t},[]),l=R(c.length,1)&&t.Merge(c);return!l&&R(s.length,0)&&o.forEach(e=>e.GetErrors().forEach(e=>t.AddError(e))),l||t.AddError({keyword:`oneOf`,schemaPath:n,instancePath:r,params:{passingSchemas:s}})}function kse(e,t,n,r){return Vn(Un(hp(Gt(n.pattern)?new RegExp(n.pattern,`u`):n.pattern),`test`),[r])}function wm(e,t,n,r){return(Gt(n.pattern)?new RegExp(n.pattern,`u`):n.pattern).test(r)}function Ase(e,t,n,r,i,a){return wm(e,t,i,a)||t.AddError({keyword:`pattern`,schemaPath:n,instancePath:r,params:{pattern:i.pattern}})}function jse(e,t,n,r){return Xn(cn(n.patternProperties).map(([n,i])=>{let[a,o]=[gp(),gp()],s=gn(Vn(Un(hp(new RegExp(n,`u`)),`test`),[a])),c=Mm(e,t,i,o),l=t.AddKey(a),u=t.UseUnevaluated()?hn(s,mn(c,l)):hn(s,c);return Fn(In(r),Wn(0),[`[${a}, ${o}]`,`_`],u)}))}function Mse(e,t,n,r){return rn(cn(n.patternProperties),0,([n,i])=>{let a=new RegExp(n,`u`);return rn(cn(r),0,([n,r])=>!a.test(n)||Pm(e,t,i,r)&&t.AddKey(n))})}function Nse(e,t,n,r,i,a){return an(cn(i.patternProperties),0,([i,o])=>{let s=`${n}/patternProperties/${i}`,c=new RegExp(i,`u`);return an(cn(a),0,([n,i])=>{let a=`${r}/${n}`;return!c.test(n)||Im(e,t,s,a,o,i)&&t.AddKey(n)})})}function Pse(e,t,n,r){return Xn(n.prefixItems.map((n,i)=>{let a=Nn(Un(r,`length`),Wn(i)),o=Mm(e,t,n,`${r}[${i}]`),s=t.AddIndex(Wn(i));return hn(a,t.UseUnevaluated()?mn(o,s):o)}))}function Fse(e,t,n,r){return R(r.length,0)||rn(n.prefixItems,0,(n,i)=>Xt(r.length,i)||Pm(e,t,n,r[i])&&t.AddIndex(i))}function Ise(e,t,n,r,i,a){return R(a.length,0)||an(i.prefixItems,0,(i,o)=>{let s=`${n}/prefixItems/${o}`,c=`${r}/${o}`;return Xt(a.length,o)||Im(e,t,s,c,i,a[o])&&t.AddIndex(o)})}function Tm(e,t){return e.includes(t)||sr().exactOptionalPropertyTypes}function Lse(e,t){return kn(Un(e,t))}function Em(e,t){return qt(e[t])}function Rse(e,t,n,r){let i=ip(n)?n.required:[];return Xn(cn(n.properties).map(([n,a])=>{let o=gn(Rn(r,Wn(n))),s=Mm(e,t,a,Un(r,n)),c=t.AddKey(Wn(n)),l=t.UseUnevaluated()?mn(s,c):s,u=i.includes(n)?l:hn(o,l);return Tm(i,n)?u:hn(Lse(r,n),u)}))}function zse(e,t,n,r){let i=ip(n)?n.required:[];return rn(cn(n.properties),0,([n,a])=>{let o=!z(r,n)||Pm(e,t,a,r[n])&&t.AddKey(n);return Tm(i,n)?o:Em(r,n)||o})}function Bse(e,t,n,r,i,a){let o=ip(i)?i.required:[];return an(cn(i.properties),0,([i,s])=>{let c=`${n}/properties/${i}`,l=`${r}/${i}`,u=()=>!z(a,i)||Im(e,t,c,l,s,a[i])&&t.AddKey(i);return Tm(o,i)?u():Em(a,i)||u()})}function Vse(e,t,n,r){let[i,a]=[gp(),gp()];return Fn(Ln(r),Wn(0),[i,a],Nm(e,t,n.propertyNames,i))}function Hse(e,t,n,r){return rn(ln(r),0,(r,i)=>Fm(e,t,n.propertyNames,r))}function Use(e,t,n,r,i,a){let o=[];return an(ln(a),0,(t,a)=>{let s=`${r}/${t}`,c=`${n}/propertyNames`,l=Lm(e,new pp,c,s,i.propertyNames,t);return l||o.push(t),l})||t.AddError({keyword:`propertyNames`,schemaPath:n,instancePath:r,params:{propertyNames:o}})}function Wse(e,t,n,r){return zm(e,t,e.RecursiveRef(n)??!1,r)}function Gse(e,t,n,r){let i=e.RecursiveRef(n)??!1;return mf(i)&&Fm(e,t,i,r)}function Kse(e,t,n,r,i,a){let o=e.RecursiveRef(i)??!1;return mf(o)&&Lm(e,t,`#`,r,o,a)}function qse(e,t,n,r){let i=Bn([`context`,`value`],zm(e,t,n,`value`));return Vn(Bn([`context`,`value`],Kn([qn(`nextContext`,Hn(`CheckContext`,[])),qn(`result`,Vn(i,[`nextContext`,`value`])),Jn(`result`,t.Merge(`[nextContext]`)),Yn(`result`)])),[`context`,r])}function Jse(e,t,n,r){return zm(e,t,n,r)}function Yse(e,t,n,r){let i=e.Ref(n)??!1;return t.UseUnevaluated()?qse(e,t,i,r):Jse(e,t,i,r)}function Xse(e,t,n,r){let i=e.Ref(n)??!1,a=new dp,o=mf(i)&&Fm(e,a,i,r);return o&&t.Merge([a]),o}function Zse(e,t,n,r,i,a){let o=e.Ref(i)??!1,s=new pp,c=mf(o)&&Lm(e,s,`#`,r,o,a);return c&&t.Merge([s]),c||s.GetErrors().forEach(e=>t.AddError(e)),c}function Qse(e,t,n,r){return Xn(n.required.map(e=>Rn(r,Wn(e))))}function $se(e,t,n,r){return rn(n.required,0,e=>z(r,e))}function ece(e,t,n,r,i,a){let o=[];return an(i.required,0,e=>{let t=z(a,e);return t||o.push(e),t})||t.AddError({keyword:`required`,schemaPath:n,instancePath:r,params:{requiredProperties:o}})}function Dm(e,t,n,r){return R(n,`object`)?Tn(r):R(n,`array`)?_n(r):R(n,`boolean`)?bn(r):R(n,`integer`)?xn(r):R(n,`number`)?wn(r):R(n,`null`)?Cn(r):R(n,`string`)?Dn(r):R(n,`asyncIterator`)?vn(r):R(n,`bigint`)?yn(r):R(n,`constructor`)?Cee(r):R(n,`function`)?See(r):R(n,`iterator`)?Sn(r):R(n,`symbol`)?On(r):R(n,`undefined`)||R(n,`void`)?kn(r):Wn(!0)}function Om(e,t,n,r,i){return R(n,`object`)?Ut(i):R(n,`array`)?Nt(i):R(n,`boolean`)?It(i):R(n,`integer`)?zt(i):R(n,`number`)?Ht(i):R(n,`null`)?Vt(i):R(n,`string`)?Gt(i):R(n,`asyncIterator`)?Pt(i):R(n,`bigint`)?Ft(i):R(n,`constructor`)?Lt(i):R(n,`function`)?Rt(i):R(n,`iterator`)?Bt(i):R(n,`symbol`)?Kt(i):R(n,`undefined`)||R(n,`void`)?qt(i):!0}function tce(e,t,n,r){return Zn(n.map(n=>Dm(e,t,n,r)))}function km(e,t,n,r,i){return n.some(n=>Om(e,t,n,r,i))}function nce(e,t,n,r){return Nt(n.type)?tce(e,t,n.type,r):Dm(e,t,n.type,r)}function rce(e,t,n,r){return Nt(n.type)?km(e,t,n.type,n,r):Om(e,t,n.type,n,r)}function ice(e,t,n,r,i,a){return(Nt(i.type)?km(e,t,i.type,i,a):Om(e,t,i.type,i,a))||t.AddError({keyword:`type`,schemaPath:n,instancePath:r,params:{type:i.type}})}function ace(e,t,n,r){let[i,a]=[gp(),gp()],o=Vn(Un(`context`,`GetIndices`),[]),s=Vn(Un(`indices`,`has`),[i]),c=Nm(e,t,n.unevaluatedItems,a),l=Vn(Un(`context`,`AddIndex`),[i]),u=Fn(r,Wn(0),[a,i],mn(hn(s,c),l));return Vn(Bn([`context`],Kn([qn(`indices`,o),Yn(u)])),[`context`])}function oce(e,t,n,r){let i=t.GetIndices();return rn(r,0,(r,a)=>(i.has(a)||Fm(e,t,n.unevaluatedItems,r))&&t.AddIndex(a))}function sce(e,t,n,r,i,a){let o=t.GetIndices(),s=[];return an(a,0,(a,c)=>{let l=new pp,u=(o.has(c)||Lm(e,l,n,r,i.unevaluatedItems,a))&&t.AddIndex(c);return u||s.push(c),u})||t.AddError({keyword:`unevaluatedItems`,schemaPath:n,instancePath:r,params:{unevaluatedItems:s}})}function cce(e,t,n,r){let[i,a]=[gp(),gp()],o=Vn(Un(`context`,`GetKeys`),[]),s=Vn(Un(`keys`,`has`),[i]),c=Vn(Un(`context`,`AddKey`),[i]),l=Nm(e,t,n.unevaluatedProperties,a),u=Fn(In(r),Wn(0),[`[${i}, ${a}]`,`_`],hn(s,mn(l,c)));return Vn(Bn([`context`],Kn([qn(`keys`,o),Yn(u)])),[`context`])}function lce(e,t,n,r){let i=t.GetKeys();return rn(cn(r),0,([r,a])=>i.has(r)||Fm(e,t,n.unevaluatedProperties,a)&&t.AddKey(r))}function uce(e,t,n,r,i,a){let o=t.GetKeys(),s=[];return an(cn(a),0,([a,c])=>{let l=new pp,u=o.has(a)||Lm(e,l,n,r,i.unevaluatedProperties,c)&&t.AddKey(a);return u||s.push(a),u})||t.AddError({keyword:`unevaluatedProperties`,schemaPath:n,instancePath:r,params:{unevaluatedProperties:s}})}function Am(e){return!R(e.uniqueItems,!1)}function dce(e,t,n,r){return Am(n)?An(Un(Hn(`Set`,[Vn(Un(r,`map`),[Un(`Hashing`,`Hash`)])]),`size`),Un(r,`length`)):Wn(!0)}function fce(e,t,n,r){if(!Am(n))return!0;let i=new Set(r.map(Pi)).size,a=r.length;return R(i,a)}function pce(e,t,n,r,i,a){if(!Am(i))return!0;let o=new Set,s=a.reduce((e,t,n)=>{let r=Pi(t);return o.has(r)?[...e,n]:(o.add(r),e)},[]);return R(s.length,0)||t.AddError({keyword:`uniqueItems`,schemaPath:n,instancePath:r,params:{duplicateItems:s}})}function jm(e,t){return op(e)&&(Nt(e.type)&&e.type.includes(t)||R(e.type,t))}function mce(e){return jm(e,`object`)}function hce(e){return ff(e)&&(gf(e)||Cf(e)||wf(e)||Tf(e)||$f(e)||Zf(e)||ep(e)||Kf(e)||Vf(e)||ip(e)||lp(e))}function gce(e){return jm(e,`array`)}function _ce(e){return ff(e)&&(hf(e)||Ff(e)||xf(e)||Rf(e)||zf(e)||Uf(e)||Wf(e)||Qf(e)||cp(e)||sp(e))}function vce(e){return jm(e,`string`)}function yce(e){return ff(e)&&(Gf(e)||Bf(e)||Mf(e)||Xf(e))}function bce(e){return jm(e,`number`)||jm(e,`bigint`)}function xce(e){return ff(e)&&(Hf(e)||Lf(e)||Af(e)||jf(e)||qf(e))}function Mm(e,t,n,r){return t.UseUnevaluated()?mn(mn(t.Push(),Nm(e,t,n,r)),t.Pop()):Nm(e,t,n,r)}function Nm(e,t,n,r){e.Push(n);let i=[];if(pf(n))return Dae(e,t,n,r);if(op(n)&&i.push(nce(e,t,n,r)),hce(n)){let a=[];ip(n)&&a.push(Qse(e,t,n,r)),gf(n)&&a.push(hae(e,t,n,r)),Cf(n)&&a.push(Nae(e,t,n,r)),wf(n)&&a.push(Iae(e,t,n,r)),Tf(n)&&a.push(zae(e,t,n,r)),Zf(n)&&a.push(jse(e,t,n,r)),$f(n)&&a.push(Rse(e,t,n,r)),ep(n)&&a.push(Vse(e,t,n,r)),Kf(n)&&a.push(gse(e,t,n,r)),Vf(n)&&a.push(ose(e,t,n,r));let o=Xn(a),s=hn(gn(Tn(r)),o);i.push(mce(n)?o:s)}if(_ce(n)){let a=[];hf(n)&&a.push(cae(e,t,n,r)),xf(n)&&a.push(jae(e,t,n,r)),Ff(n)&&a.push(Yoe(e,t,n,r)),Rf(n)&&a.push(Qoe(e,t,n,r)),zf(n)&&a.push(nse(e,t,n,r)),Uf(n)&&a.push(cse(e,t,n,r)),Wf(n)&&a.push(fse(e,t,n,r)),Qf(n)&&a.push(Pse(e,t,n,r)),sp(n)&&a.push(dce(e,t,n,r));let o=Xn(a),s=hn(gn(_n(r)),o);i.push(gce(n)?o:s)}if(yce(n)){let a=[];Bf(n)&&a.push(ise(e,t,n,r)),Gf(n)&&a.push(mse(e,t,n,r)),Mf(n)&&a.push(Roe(e,t,n,r)),Xf(n)&&a.push(kse(e,t,n,r));let o=Xn(a),s=hn(gn(Dn(r)),o);i.push(vce(n)?o:s)}if(xce(n)){let a=[];Af(n)&&a.push(qae(e,t,n,r)),jf(n)&&a.push(Yae(e,t,n,r)),Lf(n)&&a.push(ese(e,t,n,r)),Hf(n)&&a.push(use(e,t,n,r)),qf(n)&&a.push(vse(e,t,n,r));let o=Xn(a),s=hn(gn(hn(wn(r),yn(r))),o);i.push(bce(n)?o:s)}rp(n)&&i.push(Yse(e,t,n,r)),np(n)&&i.push(Wse(e,t,n,r)),Df(n)&&i.push(Hae(e,t,n,r)),uf(n)&&i.push(tae(e,t,n,r)),bf(n)&&i.push(kae(e,t,n,r)),kf(n)&&i.push(Gae(e,t,n,r)),Pf(n)&&i.push(Boe(e,t,n,r)),Jf(n)&&i.push(Sse(e,t,n,r)),_f(n)&&i.push(bae(e,t,n,r)),yf(n)&&i.push(Tae(e,t,n,r)),Yf(n)&&i.push(Ese(e,t,n,r)),cp(n)&&i.push(hn(gn(_n(r)),ace(e,t,n,r))),lp(n)&&i.push(hn(gn(En(r)),cce(e,t,n,r))),df(n)&&i.push(iae(e,t,n,r));let a=Xn(i);return e.Pop(n),a}function Pm(e,t,n,r){return t.Push()&&Fm(e,t,n,r)&&t.Pop()}function Fm(e,t,n,r){e.Push(n);let i=pf(n)?xp(e,t,n,r):(!op(n)||rce(e,t,n,r))&&(!(Wt(r)&&!Nt(r))||(!ip(n)||$se(e,t,n,r))&&(!gf(n)||gae(e,t,n,r))&&(!Cf(n)||Pae(e,t,n,r))&&(!wf(n)||Lae(e,t,n,r))&&(!Tf(n)||Bae(e,t,n,r))&&(!Zf(n)||Mse(e,t,n,r))&&(!$f(n)||zse(e,t,n,r))&&(!ep(n)||Hse(e,t,n,r))&&(!Kf(n)||xm(e,t,n,r))&&(!Vf(n)||hm(e,t,n,r)))&&(!Nt(r)||(!hf(n)||lae(e,t,n,r))&&(!xf(n)||wp(e,t,n,r))&&(!Ff(n)||Xoe(e,t,n,r))&&(!Rf(n)||dm(e,t,n,r))&&(!zf(n)||pm(e,t,n,r))&&(!Uf(n)||_m(e,t,n,r))&&(!Wf(n)||ym(e,t,n,r))&&(!Qf(n)||Fse(e,t,n,r))&&(!sp(n)||fce(e,t,n,r)))&&(!Gt(r)||(!Bf(n)||mm(e,t,n,r))&&(!Gf(n)||bm(e,t,n,r))&&(!Mf(n)||lm(e,t,n,r))&&(!Xf(n)||wm(e,t,n,r)))&&(!(Ht(r)||Ft(r))||(!Af(n)||Ep(e,t,n,r))&&(!jf(n)||Dp(e,t,n,r))&&(!Lf(n)||fm(e,t,n,r))&&(!Hf(n)||vm(e,t,n,r))&&(!qf(n)||Sm(e,t,n,r)))&&(!rp(n)||Xse(e,t,n,r))&&(!np(n)||Gse(e,t,n,r))&&(!Df(n)||Uae(e,t,n,r))&&(!uf(n)||nae(e,t,n,r))&&(!bf(n)||Sp(e,t,n,r))&&(!kf(n)||Tp(e,t,n,r))&&(!Pf(n)||Voe(e,t,n,r))&&(!Jf(n)||Cm(e,t,n,r))&&(!_f(n)||xae(e,t,n,r))&&(!yf(n)||bp(e,t,n,r))&&(!Yf(n)||Dse(e,t,n,r))&&(!cp(n)||!Nt(r)||oce(e,t,n,r))&&(!lp(n)||!Wt(r)||lce(e,t,n,r))&&(!df(n)||aae(e,t,n,r));return e.Pop(n),i}function Im(e,t,n,r,i,a){return t.Push()&&Lm(e,t,n,r,i,a)&&t.Pop()}function Lm(e,t,n,r,i,a){e.Push(i);let o=pf(i)?Oae(e,t,n,r,i,a):!!((!op(i)||ice(e,t,n,r,i,a))&+(!(Wt(a)&&!Nt(a))||!!((!ip(i)||ece(e,t,n,r,i,a))&+(!gf(i)||_ae(e,t,n,r,i,a))&(!Cf(i)||Fae(e,t,n,r,i,a))&(!wf(i)||Rae(e,t,n,r,i,a))&(!Tf(i)||Vae(e,t,n,r,i,a))&(!Zf(i)||Nse(e,t,n,r,i,a))&(!$f(i)||Bse(e,t,n,r,i,a))&(!ep(i)||Use(e,t,n,r,i,a))&(!Kf(i)||_se(e,t,n,r,i,a))&(!Vf(i)||sse(e,t,n,r,i,a))))&(!Nt(a)||!!((!hf(i)||uae(e,t,n,r,i,a))&+(!xf(i)||Mae(e,t,n,r,i,a))&(!Ff(i)||Zoe(e,t,n,r,i,a))&(!Rf(i)||$oe(e,t,n,r,i,a))&(!zf(i)||rse(e,t,n,r,i,a))&(!Uf(i)||lse(e,t,n,r,i,a))&(!Wf(i)||pse(e,t,n,r,i,a))&(!Qf(i)||Ise(e,t,n,r,i,a))&(!sp(i)||pce(e,t,n,r,i,a))))&(!Gt(a)||!!((!Bf(i)||ase(e,t,n,r,i,a))&+(!Gf(i)||hse(e,t,n,r,i,a))&(!Mf(i)||zoe(e,t,n,r,i,a))&(!Xf(i)||Ase(e,t,n,r,i,a))))&(!(Ht(a)||Ft(a))||!!((!Af(i)||Jae(e,t,n,r,i,a))&+(!jf(i)||Xae(e,t,n,r,i,a))&(!Lf(i)||tse(e,t,n,r,i,a))&(!Hf(i)||dse(e,t,n,r,i,a))&(!qf(i)||yse(e,t,n,r,i,a))))&(!rp(i)||Zse(e,t,n,r,i,a))&(!np(i)||Kse(e,t,n,r,i,a))&(!Df(i)||Wae(e,t,n,r,i,a))&(!uf(i)||rae(e,t,n,r,i,a))&(!bf(i)||Aae(e,t,n,r,i,a))&(!kf(i)||Kae(e,t,n,r,i,a))&(!Pf(i)||Hoe(e,t,n,r,i,a))&(!Jf(i)||Cse(e,t,n,r,i,a))&(!_f(i)||Sae(e,t,n,r,i,a))&(!yf(i)||Eae(e,t,n,r,i,a))&(!Yf(i)||Ose(e,t,n,r,i,a))&(!cp(i)||!Nt(a)||sce(e,t,n,r,i,a))&(!lp(i)||!Wt(a)||uce(e,t,n,r,i,a)))&&(!df(i)||oae(e,t,n,r,i,a));return e.Pop(i),o}const Rm=new Map;function Sce(e,t,n,r){return e.UseUnevaluated()?Vn(`check_${n}`,[`context`,r]):Vn(`check_${n}`,[r])}function Cce(e,t,n,r){let i=Nm(e,t,n,`value`);return t.UseUnevaluated()?qn(`check_${r}`,Bn([`context`,`value`],i)):qn(`check_${r}`,Bn([`value`],i))}function wce(){Rm.clear()}function Tce(){return[...Rm.values()]}function zm(e,t,n,r){let i=ff(n)?Pi({__baseURL:e.BaseURL().href,...n}):Pi(n),a=Sce(t,n,i,r);return Rm.has(i)?a:(Rm.set(i,``),Rm.set(i,Cce(e,t,n,i)),a)}function Ece(e,t){return Wt(t)?t[e]:void 0}function Dce(e,t){return e.reduce((e,t)=>Ece(t,e),t)}function Oce(e){if(R(e.length,0))return[];let t=e.split(`/`).map(e=>e.replace(/~1/g,`/`).replace(/~0/g,`~`));return t.length>0&&t[0]===``?t.slice(1):t}function kce(e,t){return Dce(Oce(t),e)}function Ace(e,t,n){if(e.$id===n.hash)return e;let r=new URL(e.$id,t.href),i=new URL(n.href,t.href);if(R(r.pathname,i.pathname))return n.hash.startsWith(`#`)?Bm(e,t,n):e}function jce(e,t,n){let r=new URL(`#${e.$anchor}`,t.href),i=new URL(n.href,t.href);return R(r.href,i.href)?e:void 0}function Mce(e,t,n){let r=new URL(`#${e.$dynamicAnchor}`,t.href),i=new URL(n.href,t.href);return R(r.href,i.href)?e:void 0}function Bm(e,t,n){if(n.href.endsWith(`#`))return e;if(!n.hash.startsWith(`#`))return;let r=decodeURIComponent(n.hash.slice(1));if(r.startsWith(`/`))return kce(e,r)}function Nce(e,t,n){if(Nf(e)){let r=Ace(e,t,n);if(!qt(r))return r}if(vf(e)){let r=jce(e,t,n);if(!qt(r))return r}if(Ef(e)){let r=Mce(e,t,n);if(!qt(r))return r}return Bm(e,t,n)}function Pce(e,t,n){return e.reduce((e,r)=>{let i=Vm(r,t,n);return qt(i)?e:i},void 0)}function Fce(e,t,n){return ln(e).reduce((r,i)=>{let a=Vm(e[i],t,n);return qt(a)?r:a},void 0)}function Vm(e,t,n){let r=ff(e)&&Nf(e)?new URL(e.$id,t.href):t;if(ff(e)){let t=Nce(e,r,n);if(!qt(t))return t}if(Nt(e))return Pce(e,r,n);if(Wt(e))return Fce(e,r,n)}function Hm(e,t){let n=new URL(`http://unknown/`),r=Nf(e)?new URL(e.$id,n.href):n;return Vm(e,r,new URL(t,r.href))}function Ice(e,t,n,r){let i=n.$dynamicRef.startsWith(`#`)?Hm(t,n.$dynamicRef):Hm(e,n.$dynamicRef);if(!qt(i))return!ff(i)||!Ef(i)||new URL(n.$dynamicRef,`http://unknown/`).hash.startsWith(`#/`)?i:r.find(e=>e.$dynamicAnchor===i.$dynamicAnchor)??i}var Um=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},Wm,Gm,Km,qm,Jm,Ym=class{constructor(e,t){Wm.add(this),this.context=e,this.schema=t,this.ids=[],this.anchors=[],this.recursiveAnchors=[],this.dynamicAnchors=[]}BaseURL(){return this.ids.reduce((e,t)=>new URL(t.$id,e),new URL(`http://unknown`))}Base(){return this.ids[this.ids.length-1]??this.schema}Push(e){ff(e)&&(Nf(e)&&(this.ids.push(e),Um(this,Wm,`m`,Gm).call(this,e)),vf(e)&&this.anchors.push(e),tp(e)&&this.recursiveAnchors.push(e),Ef(e)&&this.dynamicAnchors.push(e))}Pop(e){ff(e)&&(Nf(e)&&(this.ids.pop(),Um(this,Wm,`m`,Km).call(this,e)),vf(e)&&this.anchors.pop(),tp(e)&&this.recursiveAnchors.pop(),Ef(e)&&this.dynamicAnchors.pop())}Ref(e){return Um(this,Wm,`m`,qm).call(this,e)??Um(this,Wm,`m`,Jm).call(this,e)}RecursiveRef(e){return tp(this.Base())?Hm(this.recursiveAnchors[0],e.$recursiveRef):Hm(this.Base(),e.$recursiveRef)}DynamicRef(e){let t=this.schema;return Ice(t,this.Base(),e,this.dynamicAnchors)}};Wm=new WeakSet,Gm=function e(t,n=!0){if(!ff(t))return;let r=t;if(!(!n&&Nf(r))){!n&&Ef(r)&&this.dynamicAnchors.push(r);for(let t of ln(r))Um(this,Wm,`m`,e).call(this,r[t],!1)}},Km=function e(t,n=!0){if(!ff(t))return;let r=t;if(!(!n&&Nf(r))){!n&&Ef(r)&&this.dynamicAnchors.pop();for(let t of ln(r))Um(this,Wm,`m`,e).call(this,r[t],!1)}},qm=function(e){return z(this.context,e.$ref)?this.context[e.$ref]:void 0},Jm=function(e){let t=this.schema;return e.$ref.startsWith(`#`)?Hm(this.Base(),e.$ref):Hm(t,e.$ref)};function Lce(e){return`${e.Functions().join(`;
|
|
884
884
|
`)}; return (value) => { ${(e.UseUnevaluated()?[`const context = new CheckContext({}, {})`,`return ${e.Call()}`]:[`return ${e.Call()}`]).join(`; `)} }`}function Rce(e,t){return xi(`CheckContext`,`Guard`,`Format`,`Hashing`,e.External().identifier,t)(dp,_ee,Loe,Uee,e.External().variables)}function zce(e){let t=new Ym(e.Context(),e.Schema()),n=new dp;return r=>Fm(t,n,e.Schema(),r)}function Bce(e,t){return bi()?Rce(e,t):zce(e)}var Vce=class{constructor(e,t,n,r,i,a){this.context=e,this.schema=t,this.external=n,this.functions=r,this.call=i,this.useUnevaluated=a}Context(){return this.context}Schema(){return this.schema}UseUnevaluated(){return this.useUnevaluated}External(){return this.external}Functions(){return this.functions}Call(){return this.call}Evaluate(){let e=Lce(this),t=Bce(this,e);return{IsAccelerated:bi(),Code:e,Check:t}}};function Hce(...e){let[t,n]=fi(e,{2:(e,t)=>[e,t],1:e=>[{},e]});$ie(),wce();let r=new Ym(t,n),i=new Qie(Zie(t,n)),a=zm(r,i,n,`value`),o=Tce();return new Vce(t,n,eae(),o,a,i.UseUnevaluated())}function Uce(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]}),i=sr(),a=lte(),o=[];return[Lm(new Ym(t,n),new fp(e=>{if(!Zt(o.length,i.maxErrors))return o.push({...e,message:a(e)})}),`#`,``,n,r),o]}function Wce(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return Fm(new Ym(t,n),new dp,n,r)}function Xm(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return Wce(t,n,r)}function Zm(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]}),[i,a]=Uce(t,n,r);return a}var Qm=class extends Error{constructor(e,t,n){super(e),Object.defineProperty(this,"cause",{value:{source:e,errors:n,value:t},writable:!1,configurable:!1,enumerable:!1})}};function Gce(e,t,n){return Nt(n)?n.map(n=>rh(e,t.items,n)):n}function Kce(e,t,n){return t.Clean(n)}function qce(e,t,n){return rh({...e,...t.$defs},Wr(t.$ref),n)}function Jce(e,t){let n=z(t,`unevaluatedProperties`)?{additionalProperties:t.unevaluatedProperties}:{},r=mu(lu(e,t));return ni(r)?Rie(r,n):r}function Yce(e,t,n){return rh(e,Jce(e,t),n)}function $m(e){return z(e,`additionalProperties`)?e.additionalProperties:void 0}function Xce(e,t,n){if(!Wt(n)||Nt(n))return n;let r=$m(t);for(let i of ln(n)){if(z(t.properties,i)){n[i]=rh(e,t.properties[i],n[i]);continue}if(It(r)&&R(r,!0)||pr(r)&&Xm(e,r,n[i])){n[i]=rh(e,r,n[i]);continue}delete n[i]}return n}function Zce(e,t,n){if(!Wt(n))return n;let r=$m(t),[i,a]=[new RegExp(Ra(t)),Ba(t)];for(let t of ln(n)){if(i.test(t)){n[t]=rh(e,a,n[t]);continue}if(It(r)&&R(r,!0)||pr(r)&&Xm(e,r,n[t])){n[t]=rh(e,r,n[t]);continue}delete n[t]}return n}function Qce(e,t,n){return z(e,t.$ref)?rh(e,e[t.$ref],n):n}function $ce(e,t,n){if(!Nt(n))return n;let r=Math.min(n.length,t.items.length);for(let i=0;i<r;i++)n[i]=rh(e,t.items[i],n[i]);return Jt(n.length,r)?n.slice(0,r):n}function ele(e){return e}function tle(e){let t={};for(let n of Object.getOwnPropertyNames(e))t[n]=eh(e[n]);for(let n of Object.getOwnPropertySymbols(e))t[n]=eh(e[n]);return t}function nle(e){return $t(e)?ele(e):tle(e)}function rle(e){return e.map(e=>eh(e))}function ile(e){return e.slice()}function ale(e){return new Map(eh([...e.entries()]))}function ole(e){return new Set(eh([...e.values()]))}function sle(e){return e}function eh(e){return $n(e)?ile(e):Pee(e)?ale(e):Nee(e)?ole(e):Nt(e)?rle(e):Wt(e)?nle(e):sle(e)}function th(e,t){return JSON.stringify(e).localeCompare(JSON.stringify(t))}function nh(e,t=1){return e.sort((e,n)=>{let r=Ks(e,n);return(R(r,`disjoint`)?th(e,n):R(r,`right-inside`)?1:R(r,`left-inside`)?-1:th(e,n))*t})}function cle(e,t,n){for(let r of nh(t.anyOf)){let t=rh(e,r,eh(n));if(Xm(e,r,t))return t}return n}function rh(e,t,n){return Fr(t)?Gce(e,t,n):Nr(t)?Kce(e,t,n):ui(t)?qce(e,t,n):gi(t)?Yce(e,t,n):ni(t)?Xce(e,t,n):Va(t)?Zce(e,t,n):Gr(t)?Qce(e,t,n):_a(t)?$ce(e,t,n):ai(t)?cle(e,t,n):n}function ih(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return rh(t,n,r)}function ah(e){return Wt(e)&&z(e,`value`)}function oh(e){return{value:e}}function lle(e){return Nt(e)?oh(e):oh([e])}function ule(e){return R(e,!0)?oh(BigInt(1)):oh(BigInt(0))}const dle=/^-?(0|[1-9]\d*)n$/,fle=/^-?(0|[1-9]\d*)\.\d+$/,ple=/^-?(0|[1-9]\d*)$/;function mle(e){return dle.test(e)}function hle(e){return fle.test(e)}function gle(e){return ple.test(e)}function _le(e){let t=e.toLowerCase();return mle(e)?oh(BigInt(e.slice(0,e.length-1))):hle(e)?oh(BigInt(e.split(`.`)[0])):gle(e)?oh(BigInt(e)):R(t,`false`)?oh(BigInt(0)):R(t,`true`)?oh(BigInt(1)):void 0}function sh(e){return Ft(e)?oh(e):It(e)?ule(e):Ht(e)?oh(BigInt(Math.trunc(e))):Vt(e)?oh(BigInt(0)):Gt(e)?_le(e):qt(e)?oh(BigInt(0)):void 0}function vle(e){return R(e,BigInt(0))?oh(!1):R(e,BigInt(1))?oh(!0):void 0}function yle(e){return R(e,0)?oh(!1):R(e,1)?oh(!0):void 0}function ble(e){return R(e.toLowerCase(),`false`)?oh(!1):R(e.toLowerCase(),`true`)?oh(!0):R(e,`0`)?oh(!1):R(e,`1`)?oh(!0):void 0}function ch(e){return Ft(e)?vle(e):It(e)?oh(e):Ht(e)?yle(e):Vt(e)?oh(!1):Gt(e)?ble(e):qt(e)?oh(!1):void 0}function xle(e){return R(e,BigInt(0))?oh(null):void 0}function Sle(e){return R(e,!1)?oh(null):void 0}function Cle(e){return R(e,0)?oh(null):void 0}function wle(e){let t=e.toLowerCase();return R(t,`undefined`)||R(t,`null`)||R(e,``)||R(e,`0`)?oh(null):void 0}function Tle(e){return Ft(e)?xle(e):It(e)?Sle(e):Ht(e)?Cle(e):Vt(e)?oh(null):Gt(e)?wle(e):qt(e)?oh(null):void 0}const lh=BigInt(2**53-1),uh=BigInt(-(2**53-1));function Ele(e){return e<=lh&&e>=uh?oh(Number(e)):void 0}function Dle(e){return oh(+!!e)}function Ole(e){let t=+e;if(Ht(t))return oh(t);let n=e.toLowerCase();if(R(n,`false`))return oh(0);if(R(n,`true`))return oh(1);let r=sh(e);if(ah(r))return r.value<=lh&&r.value>=uh?oh(Number(r.value)):void 0}function dh(e){return Ft(e)?Ele(e):It(e)?Dle(e):Ht(e)?oh(e):Vt(e)?oh(0):Gt(e)?Ole(e):qt(e)?oh(0):void 0}function fh(e){return Ft(e)||It(e)||Ht(e)?oh(e.toString()):Vt(e)?oh(`null`):Gt(e)?oh(e):qt(e)?oh(``):void 0}function kle(e){return R(e,BigInt(0))?oh(void 0):void 0}function Ale(e){return R(e,!1)?oh(void 0):void 0}function jle(e){return R(e,0)?oh(void 0):void 0}function Mle(e){let t=e.toLowerCase();return R(t,`undefined`)||R(t,`null`)||R(e,``)||R(e,`0`)?oh(void 0):void 0}function ph(e){return Ft(e)?kle(e):It(e)?Ale(e):Ht(e)?jle(e):Vt(e)?oh(void 0):Gt(e)?Mle(e):qt(e)?oh(e):void 0}function Nle(e,t,n){return lle(n).value.map(n=>_h(e,t.items,n))}function Ple(e,t,n){return t.Convert(n)}function Fle(e,t,n){let r=sh(n);return ah(r)?r.value:n}function Ile(e,t,n){let r=ch(n);return ah(r)?r.value:n}function Lle(e,t,n){return _h({...e,...t.$defs},Wr(t.$ref),n)}function mh(e,t,n){if(t.anyOf.some(t=>Xm(e,t,n)))return n;let r=t.anyOf.map(t=>_h(e,t,eh(n))).find(n=>Xm(e,t,n));return qt(r)?n:r}function Rle(e,t,n){return mh(e,ha(t),n)}function zle(e,t,n){let r=dh(n);return ah(r)?Math.trunc(r.value):n}function Ble(e,t,n){return _h(e,mu(lu(e,t)),n)}function Vle(e,t,n){let r=sh(n);return ah(r)&&R(t.const,r.value)?r.value:n}function Hle(e,t,n){let r=ch(n);return ah(r)&&R(t.const,r.value)?r.value:n}function Ule(e,t,n){let r=dh(n);return ah(r)&&R(t.const,r.value)?r.value:n}function Wle(e,t,n){let r=fh(n);return ah(r)&&R(t.const,r.value)?r.value:n}function Gle(e,t,n){return R(t.const,n)?n:hte(t)?Vle(e,t,n):gte(t)?Hle(e,t,n):Wi(t)?Ule(e,t,n):Gi(t)?Wle(e,t,n):Si()}function Kle(e,t,n){let r=Tle(n);return ah(r)?r.value:n}function qle(e,t,n){let r=dh(n);return ah(r)?r.value:n}function hh(e,t,n,r){let i=ln(r);for(let[a,o]of t)for(let t of i)a.test(t)||(r[t]=_h(e,n,r[t]));return r}function gh(e,t,n){return Er(e)&&qt(n[t])}function Jle(e,t,n){let r=sn(t.properties),i=ln(n);for(let[t,a]of r)for(let r of i)!t.test(r)||gh(a,r,n)||(n[r]=_h(e,a,n[r]));return z(t,`additionalProperties`)&&Wt(t.additionalProperties)?hh(e,r,t.additionalProperties,n):n}function Yle(e,t,n){return Ut(n)?Jle(e,t,n):n}function Xle(e,t,n){let r=sn(t.patternProperties),i=ln(n);for(let[t,a]of r)for(let r of i)t.test(r)&&(n[r]=_h(e,a,n[r]));return z(t,`additionalProperties`)&&Wt(t.additionalProperties)?hh(e,r,t.additionalProperties,n):n}function Zle(e,t,n){return Ut(n)?Xle(e,t,n):n}function Qle(e,t,n){return z(e,t.$ref)?_h(e,e[t.$ref],n):n}function $le(e,t,n){let r=fh(n);return ah(r)?r.value:n}function eue(e,t,n){return _h(e,da(t.pattern),n)}function tue(e,t,n){if(!Nt(n))return n;for(let r=0;r<Math.min(t.items.length,n.length);r++)n[r]=_h(e,t.items[r],n[r]);return n}function nue(e,t,n){let r=ph(n);return ah(r)?r.value:n}function rue(e,t,n){return ah(ph(n))?void 0:n}function _h(e,t,n){return Fr(t)?Nle(e,t,n):Nr(t)?Ple(e,t,n):Ii(t)?Fle(e,t,n):Li(t)?Ile(e,t,n):ui(t)?Lle(e,t,n):mi(t)?Rle(e,t,n):Bi(t)?zle(e,t,n):gi(t)?Ble(e,t,n):Ki(t)?Gle(e,t,n):Ji(t)?Kle(e,t,n):Zi(t)?qle(e,t,n):ni(t)?Yle(e,t,n):Va(t)?Zle(e,t,n):Gr(t)?Qle(e,t,n):ea(t)?$le(e,t,n):Jo(t)?eue(e,t,n):_a(t)?tue(e,t,n):Ka(t)?nue(e,t,n):ai(t)?mh(e,t,n):qa(t)?rue(e,t,n):n}function vh(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return _h(t,n,r)}function iue(e,t,n){if(!Nt(n))return n;for(let r=0;r<n.length;r++)n[r]=yh(e,t.items,n[r]);return n}function aue(e,t,n){return t.Default(n)}function oue(e,t,n){return yh({...e,...t.$defs},Wr(t.$ref),n)}function sue(e,t){return qt(t)?Rt(e.default)?e.default():eh(e.default):t}function cue(e,t,n){return yh(e,mu(lu(e,t)),n)}function lue(e,t,n){if(!Wt(n))return n;let r=ln(t.properties);for(let i of r)qt(yh(e,t.properties[i],n[i]))&&(Er(t.properties[i])||!z(t.properties[i],`default`))||(n[i]=yh(e,t.properties[i],n[i]));if(!gf(t)||It(t.additionalProperties))return n;for(let i of ln(n))r.includes(i)||(n[i]=yh(e,t.additionalProperties,n[i]));return n}function uue(e,t,n){if(!Wt(n))return n;let[r,i]=[new RegExp(Ra(t)),Ba(t)];for(let t of ln(n))r.test(t)&&Sf(i)&&(n[t]=yh(e,i,n[t]));if(!gf(t))return n;for(let i of ln(n))r.test(i)||(n[i]=yh(e,t.additionalProperties,n[i]));return n}function due(e,t,n){return z(e,t.$ref)?yh(e,e[t.$ref],n):n}function fue(e,t,n){if(!Nt(n))return n;let[r,i]=[t.items,Math.max(t.items.length,n.length)];for(let t=0;t<i;t++)t<r.length&&(n[t]=yh(e,r[t],n[t]));return n}function pue(e,t,n){for(let r of t.anyOf){let t=yh(e,r,eh(n));if(Xm(e,r,t))return t}return n}function yh(e,t,n){let r=Sf(t)?sue(t,n):n;return Fr(t)?iue(e,t,r):Nr(t)?aue(e,t,r):ui(t)?oue(e,t,r):gi(t)?cue(e,t,r):ni(t)?lue(e,t,r):Va(t)?uue(e,t,r):Gr(t)?due(e,t,r):_a(t)?fue(e,t,r):ai(t)?pue(e,t,r):r}function bh(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return yh(t,n,r)}function xh(e){return(...t)=>{let[n,r,i]=fi(t,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return e.reduce((e,t)=>t(n,r,e),i)}}function mue(e,t,n){return t[`~codec`].decode(n)}function hue(e,t,n){return t[`~codec`].encode(n)}function Sh(e,t,n,r){return Fi(n)?R(e,`Decode`)?mue(t,n,r):hue(t,n,r):r}function gue(e,t,n,r){if(!Nt(r))return Si();for(let i=0;i<r.length;i++)r[i]=Eh(e,t,n.items,r[i]);return Sh(e,t,n,r)}function _ue(e,t,n,r){let i=Sh(e,t,n,r);if(!Nt(i))return i;for(let r=0;r<i.length;r++)i[r]=Eh(e,t,n.items,i[r]);return i}function vue(e,t,n,r){return R(e,`Decode`)?gue(e,t,n,r):_ue(e,t,n,r)}function yue(e,t,n,r){return r=Eh(e,{...t,...n.$defs},Wr(n.$ref),r),Sh(e,t,n,r)}function Ch(e){return e.reduce((e,t)=>({...e,...t}),{})}function wh(e,t){for(let n of t)if(!dn(e,n))return n;return e}function bue(e,t,n,r){if(R(n.allOf.length,0))return Sh(e,t,n,r);let i=n.allOf.map(n=>Eh(e,t,n,ih(n,eh(r))));return Sh(e,t,n,i.every(e=>Wt(e))?Ch(i):wh(r,i))}function xue(e,t,n,r){if(R(n.allOf.length,0))return Sh(e,t,n,r);let i=Sh(e,t,n,r),a=n.allOf.map(n=>Eh(e,t,n,ih(n,eh(i))));return a.every(e=>Wt(e))?Ch(a):wh(i,a)}function Sue(e,t,n,r){return R(e,`Decode`)?bue(e,t,n,r):xue(e,t,n,r)}function Cue(e,t,n,r){if(!Ut(r))return Si();for(let i of ln(n.properties))!z(r,i)||gh(n.properties[i],i,r)||(r[i]=Eh(e,t,n.properties[i],r[i]));return Sh(e,t,n,r)}function wue(e,t,n,r){let i=Sh(e,t,n,r);if(!Ut(i))return i;for(let r of ln(n.properties))!z(i,r)||gh(n.properties[r],r,i)||(i[r]=Eh(e,t,n.properties[r],i[r]));return i}function Tue(e,t,n,r){return R(e,`Decode`)?Cue(e,t,n,r):wue(e,t,n,r)}function Eue(e,t,n,r){if(!Ut(r))return Si();let i=new RegExp(Ra(n));for(let a of ln(r))i.test(a)||Si(),r[a]=Eh(e,t,Ba(n),r[a]);return Sh(e,t,n,r)}function Due(e,t,n,r){let i=Sh(e,t,n,r);if(!Ut(i))return i;let a=new RegExp(Ra(n));for(let r of ln(i))a.test(r)&&(i[r]=Eh(e,t,Ba(n),i[r]));return i}function Oue(e,t,n,r){return R(e,`Decode`)?Eue(e,t,n,r):Due(e,t,n,r)}function Th(e,t,n,r){return z(t,n.$ref)?Eh(e,t,t[n.$ref],r):r}function kue(e,t,n,r){return R(e,`Decode`)?Sh(e,t,n,Th(e,t,n,r)):Th(e,t,n,Sh(e,t,n,r))}function Aue(e,t,n,r){if(!Nt(r))return Si();for(let i=0;i<Math.min(n.items.length,r.length);i++)r[i]=Eh(e,t,n.items[i],r[i]);return Sh(e,t,n,r)}function jue(e,t,n,r){let i=Sh(e,t,n,r);if(!Nt(i))return r;for(let r=0;r<Math.min(n.items.length,i.length);r++)i[r]=Eh(e,t,n.items[r],i[r]);return i}function Mue(e,t,n,r){return R(e,`Decode`)?Aue(e,t,n,r):jue(e,t,n,r)}function Nue(e,t,n,r){for(let i of nh(n.anyOf,1))if(Xm(t,i,r))return Sh(e,t,n,Eh(e,t,i,r));return r}function Pue(e,t,n,r){let i=Sh(e,t,n,r);for(let r of nh(n.anyOf,-1)){let n=Eh(e,t,r,eh(i));if(Xm(t,r,n))return n}return i}function Fue(e,t,n,r){return R(e,`Decode`)?Nue(e,t,n,r):Pue(e,t,n,r)}function Eh(e,t,n,r){return Fr(n)?vue(e,t,n,r):ui(n)?yue(e,t,n,r):gi(n)?Sue(e,t,n,r):ni(n)?Tue(e,t,n,r):Va(n)?Oue(e,t,n,r):Gr(n)?kue(e,t,n,r):_a(n)?Mue(e,t,n,r):ai(n)?Fue(e,t,n,r):Sh(e,t,n,r)}var Iue=class extends Qm{constructor(e,t){super(`Decode`,e,t)}};function Lue(e,t,n){if(!Xm(e,t,n))throw new Iue(n,Zm(e,t,n));return n}function Rue(e,t,n){return Eh(`Decode`,e,t,n)}const zue=xh([(e,t,n)=>eh(n),(e,t,n)=>bh(e,t,n),(e,t,n)=>vh(e,t,n),(e,t,n)=>ih(e,t,n),(e,t,n)=>Lue(e,t,n),(e,t,n)=>Rue(e,t,n)]);function Bue(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return zue(t,n,r)}var Vue=class extends Qm{constructor(e,t){super(`Encode`,e,t)}};function Hue(e,t,n){if(!Xm(e,t,n))throw new Vue(n,Zm(e,t,n));return n}function Uue(e,t,n){return Eh(`Encode`,e,t,n)}const Wue=xh([(e,t,n)=>eh(n),(e,t,n)=>Uue(e,t,n),(e,t,n)=>bh(e,t,n),(e,t,n)=>vh(e,t,n),(e,t,n)=>ih(e,t,n),(e,t,n)=>Hue(e,t,n)]);function Gue(...e){let[t,n,r]=fi(e,{3:(e,t,n)=>[e,t,n],2:(e,t)=>[{},e,t]});return Wue(t,n,r)}function Kue(e,t){return Fi(t)||Oh(e,t.items)}function que(e,t){return Fi(t)||Dh({...e,...t.$defs},Wr(t.$ref))}function Jue(e,t){return Fi(t)||t.allOf.some(t=>Oh(e,t))}function Yue(e,t){return Fi(t)||ln(t.properties).some(n=>Oh(e,t.properties[n]))}function Xue(e,t){return Fi(t)||Oh(e,Ba(t))}function Dh(e,t){return kh.has(t.$ref)?!1:(kh.add(t.$ref),Fi(t)||z(e,t.$ref)&&Oh(e,e[t.$ref]))}function Zue(e,t){return Fi(t)||t.items.some(t=>Oh(e,t))}function Que(e,t){return Fi(t)||t.anyOf.some(t=>Oh(e,t))}function Oh(e,t){return Fr(t)?Kue(e,t):ui(t)?que(e,t):gi(t)?Jue(e,t):ni(t)?Yue(e,t):Va(t)?Xue(e,t):Gr(t)?Dh(e,t):_a(t)?Zue(e,t):ai(t)?Que(e,t):Fi(t)}const kh=new Set;function $ue(...e){let[t,n]=fi(e,{2:(e,t)=>[e,t],1:e=>[{},e]});return kh.clear(),Oh(t,n)}var Ah=class extends Error{constructor(e,t){super(t),this.type=e}};function ede(e,t){return Rt(t.default)?t.default(t):Wt(t.default)?eh(t.default):t.default}function tde(e,t){if(sp(t)&&!Sf(t))throw new Ah(t,`Arrays with uniqueItems constraints must specify a default annotation`);let n=Wf(t)?t.minItems:0;return Array.from({length:n},()=>jh(e,t.items))}async function*nde(){}function rde(e,t){return nde()}function ide(e,t){return t.Create()}function ade(e,t){return jf(t)?BigInt(t.exclusiveMinimum)+BigInt(1):Hf(t)?BigInt(t.minimum):BigInt(0)}function ode(e,t){return!1}function sde(e,t){let n=jh(e,t.instanceType);return class{constructor(){Object.assign(this,n)}}}function cde(e,t){return jh({...e,...t.$defs},Wr(t.$ref))}function lde(e,t){return jh(e,ha(t))}function ude(e,t){let n=jh(e,t.returnType);return()=>n}function dde(e,t){return jf(t)&&Ht(t.exclusiveMinimum)?t.exclusiveMinimum+1:Hf(t)?t.minimum:0}function fde(e,t){return jh(e,mu(lu(e,t)))}function*pde(){}function mde(e,t){return pde()}function hde(e,t){return t.const}function gde(e,t){throw new Ah(t,`Cannot create TNever types`)}function _de(e,t){return null}function vde(e,t){return jf(t)&&Ht(t.exclusiveMinimum)?t.exclusiveMinimum+1:Hf(t)?t.minimum:0}function yde(e,t){return(qt(t.required)?[]:t.required).reduce((n,r)=>({...n,[r]:jh(e,t.properties[r])}),{})}function bde(e,t){return Promise.resolve(jh(e,t.item))}function xde(e,t){if(Kf(t)&&!Sf(t))throw new Ah(t,`Record with the minProperties constraint must have a default annotation`);return{}}function Sde(e,t){return z(e,t.$ref)?jh(e,e[t.$ref]):(()=>{throw new Ah(t,`Unable to deref Ref`)})()}function Cde(e,t){if((Xf(t)||Mf(t))&&!Sf(t))throw Error(`Strings with format or pattern constraints must specify default`);let n=Gf(t)?t.minLength:0;return``.padEnd(n)}function wde(e,t){return Symbol()}function Tde(e,t){let n=da(t.pattern);if(ea(n))throw new Ah(t,`Unable to create TemplateLiteral due to infinite type expansion`);return jh(e,n)}function Ede(e,t){return Array.from({length:t.minItems},(n,r)=>jh(e,t.items[r]))}function Dde(e,t){if(R(t.anyOf.length,0))throw Error(`Unable to create Union with no variants`);return jh(e,t.anyOf[0])}function jh(e,t){return Sf(t)?ede(e,t):Fr(t)?tde(e,t):Rr(t)?rde(e,t):Nr(t)?ide(e,t):Ii(t)?ade(e,t):Li(t)?ode(e,t):Vr(t)?sde(e,t):ui(t)?cde(e,t):mi(t)?lde(e,t):Ur(t)?ude(e,t):Bi(t)?dde(e,t):gi(t)?fde(e,t):Hi(t)?mde(e,t):Ki(t)?hde(e,t):Zr(t)?gde(e,t):Ji(t)?_de(e,t):Zi(t)?vde(e,t):ni(t)?yde(e,t):xr(t)?bde(e,t):Va(t)?xde(e,t):Gr(t)?Sde(e,t):ea(t)?Cde(e,t):Qi(t)?wde(e,t):Jo(t)?Tde(e,t):_a(t)?Ede(e,t):Ka(t)?void 0:ai(t)?Dde(e,t):(qa(t),void 0)}function Ode(...e){let[t,n]=fi(e,{2:(e,t)=>[e,t],1:e=>[{},e]});return jh(t,n)}var Mh=class extends Qm{constructor(e,t){super(`Parse`,e,t)}};function kde(e,t,n){if(!Xm(e,t,n))throw new Mh(n,Zm(e,t,n));return n}const Ade=xh([(e,t,n)=>eh(n),(e,t,n)=>bh(e,t,n),(e,t,n)=>vh(e,t,n),(e,t,n)=>ih(e,t,n),(e,t,n)=>kde(e,t,n)]);ii([ti({type:Ui(`insert`),path:$i(),value:si()}),Object({type:Ui(`update`),path:$i(),value:si()}),ti({type:Ui(`delete`),path:$i()})]);var jde=class e extends Mr{constructor(...e){super();let t=fi(e,{6:(e,t,n,r,i,a)=>[e,t,n,r,i,a],2:(e,t)=>[e,t]});if(t.length===6){let[e,n,r,i,a,o]=t;this.context=e,this.type=n,this.isAccelerated=r,this.hasCodec=i,this.code=a,this.check=o}else{let[e,n]=t,r=Hce(e,n).Evaluate();this.hasCodec=$ue(e,n),this.context=e,this.type=n,this.isAccelerated=r.IsAccelerated,this.code=r.Code,this.check=r.Check}}IsAccelerated(){return this.isAccelerated}Context(){return this.context}Type(){return this.type}Code(){return this.code}Check(e){return this.check(e)}Errors(e){return bi()&&this.check(e)?[]:Zm(this.context,this.type,e)}Clean(e){return ih(this.context,this.type,e)}Convert(e){return vh(this.context,this.type,e)}Create(){return Ode(this.context,this.type)}Default(e){return bh(this.context,this.type,e)}Clone(){return new e(this.context,this.type,this.isAccelerated,this.hasCodec,this.code,this.check)}Parse(e){if(this.Check(e))return e;if(sr().correctiveParse)return Ade(this.context,this.type,e);throw new Mh(e,this.Errors(e))}Decode(e){return this.hasCodec?Bue(this.context,this.type,e):this.Parse(e)}Encode(e){return this.hasCodec?Gue(this.context,this.type,e):this.Parse(e)}};function Mde(...e){let[t,n]=fi(e,{2:(e,t)=>[e,t],1:e=>[{},e]});return new jde(t,n)}const Nh=new WeakMap,Nde=Symbol.for(`TypeBox.Kind`);function Ph(e){return typeof e==`object`&&!!e}function Fh(e){return Ph(e)}function Pde(e){return Ph(e)&&Object.getOwnPropertySymbols(e).includes(Nde)}function Fde(e){return typeof e.type==`string`?[e.type]:Array.isArray(e.type)?e.type.filter(e=>typeof e==`string`):[]}function Ide(e,t){switch(t){case`number`:return typeof e==`number`;case`integer`:return typeof e==`number`&&Number.isInteger(e);case`boolean`:return typeof e==`boolean`;case`string`:return typeof e==`string`;case`null`:return e===null;case`array`:return Array.isArray(e);case`object`:return Ph(e)&&!Array.isArray(e);default:return!1}}function Ih(e){return Ph(e)}function Lh(e){if(Ih(e))try{return Hh(e)}catch{return}}function Lde(e,t){switch(t){case`number`:if(e===null)return 0;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isFinite(t))return t}return typeof e==`boolean`?+!!e:e;case`integer`:if(e===null)return 0;if(typeof e==`string`&&e.trim()!==``){let t=Number(e);if(Number.isInteger(t))return t}return typeof e==`boolean`?+!!e:e;case`boolean`:if(e===null)return!1;if(typeof e==`string`){if(e===`true`)return!0;if(e===`false`)return!1}if(typeof e==`number`){if(e===1)return!0;if(e===0)return!1}return e;case`string`:return e===null?``:typeof e==`number`||typeof e==`boolean`?String(e):e;case`null`:return e===``||e===0||e===!1?null:e;default:return e}}function Rh(e,t){let n=t.properties,r=new Set(n?Object.keys(n):[]);if(n)for(let[t,r]of Object.entries(n))t in e&&(e[t]=Vh(e[t],r));if(t.additionalProperties&&Fh(t.additionalProperties))for(let[n,i]of Object.entries(e))r.has(n)||(e[n]=Vh(i,t.additionalProperties))}function zh(e,t){if(Array.isArray(t.items)){for(let n=0;n<e.length;n++){let r=t.items[n];r&&(e[n]=Vh(e[n],r))}return}if(Fh(t.items))for(let n=0;n<e.length;n++)e[n]=Vh(e[n],t.items)}function Bh(e,t){for(let n of t){let t=Vh(structuredClone(e),n);if(Lh(n)?.Check(t))return t}return e}function Vh(e,t){let n=e;if(Array.isArray(t.allOf))for(let e of t.allOf)n=Vh(n,e);Array.isArray(t.anyOf)&&(n=Bh(n,t.anyOf)),Array.isArray(t.oneOf)&&(n=Bh(n,t.oneOf));let r=Fde(t),i=r.length>1&&r.some(e=>Ide(n,e));if(r.length>0&&!i)for(let e of r){let t=Lde(n,e);if(t!==n){n=t;break}}return r.includes(`object`)&&Ph(n)&&!Array.isArray(n)&&Rh(n,t),r.includes(`array`)&&Array.isArray(n)&&zh(n,t),n}function Hh(e){let t=e,n=Nh.get(t);if(n)return n;let r=Mde(e);return Nh.set(t,r),r}function Uh(e){if(e.keyword===`required`){let t=e.params.requiredProperties?.[0];if(t){let n=e.instancePath.replace(/^\//,``).replace(/\//g,`.`);return n?`${n}.${t}`:t}}return e.instancePath.replace(/^\//,``).replace(/\//g,`.`)||`root`}function Rde(e,t){let n=structuredClone(t.arguments);vh(e.parameters,n);let r=Hh(e.parameters);if(!Pde(e.parameters)&&Fh(e.parameters)){let t=Vh(n,e.parameters);if(t!==n)if(Ph(n)&&Ph(t)){for(let e of Object.keys(n))delete n[e];Object.assign(n,t)}else return r.Check(t)?t:n}if(r.Check(n))return n;let i=r.Errors(n).map(e=>` - ${Uh(e)}: ${e.message}`).join(`
|
|
@@ -980,7 +980,7 @@ DO NOT include:
|
|
|
980
980
|
If nothing in the conversation is worth persisting, return exactly the single line:
|
|
981
981
|
NONE
|
|
982
982
|
|
|
983
|
-
Otherwise, output ONLY a markdown bullet list (one bullet per memory), no headers, no preamble, no follow-up. Each bullet is one line. Be specific. Prefer one fact per bullet over multi-clause sentences.`,2048,e.headers,s);if(n?.trim()&&n.trim()!==`NONE`)try{await e.onMemoryUpdates(n.trim()),j_.info(`Memory extraction applied`,{bulletsLength:n.length})}catch(e){j_.warn(`onMemoryUpdates callback threw`,{error:e instanceof Error?e.message:String(e)})}else j_.info(`Memory extraction returned no durable memories`)}catch(e){j_.warn(`Memory extraction call failed (compaction still applied)`,{error:e instanceof Error?e.message:String(e)})}return h(`idle`),[a,...m]}catch(e){j_.warn(`LLM summarization failed, falling back to naive drop`,{error:e instanceof Error?e.message:String(e)})}else u||j_.warn(`No API key available for LLM summarization, falling back to naive drop`);h(`idle`);let _={role:`user`,content:[{type:`text`,text:`[Earlier conversation messages were compacted to save context space]`}],timestamp:Date.now()};return j_.info(`Naive compaction applied`,{originalMessages:o.length,compactedMessages:1+m.length}),[_,...m]}}const yfe={html:`text/html`,htm:`text/html`,css:`text/css`,js:`application/javascript`,mjs:`application/javascript`,json:`application/json`,svg:`image/svg+xml`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,avif:`image/avif`,apng:`image/apng`,bmp:`image/bmp`,ico:`image/x-icon`,woff:`font/woff`,woff2:`font/woff2`,ttf:`font/ttf`,mp3:`audio/mpeg`,mp4:`video/mp4`,webm:`video/webm`,mov:`video/quicktime`,m4v:`video/x-m4v`,ogv:`video/ogg`,pdf:`application/pdf`,txt:`text/plain`,xml:`application/xml`,wasm:`application/wasm`};function L_(e){return yfe[e.split(`.`).pop()?.toLowerCase()??``]??`application/octet-stream`}function bfe(e){return e.startsWith(`image/`)}function xfe(e){return e.startsWith(`video/`)}function Sfe(e){return bfe(e)||xfe(e)}const R_=`sessions`;function Cfe(){return new Promise((e,t)=>{let n=indexedDB.open(`agent-sessions`,1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(R_)||e.createObjectStore(R_,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var wfe=class{dbPromise=null;getDB(){return this.dbPromise||=Cfe(),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(R_,`readwrite`).objectStore(R_).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(R_,`readonly`).objectStore(R_).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(R_,`readwrite`).objectStore(R_).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(R_,`readonly`).objectStore(R_).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(R_,`readwrite`).objectStore(R_).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}};const z_=v(`image-processor`),B_=3932160,Tfe=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function Efe(e){return Tfe.has(e)}function Dfe(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function Ofe(e){if(!Efe(e.mimeType))return z_.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,n=Dfe(e.data,e.mimeType);if(!(t>5242880||n!==null&&(n.width>8e3||n.height>8e3)||n!==null&&Math.max(n.width,n.height)>1568))return e;z_.info(`Image needs processing`,{base64Size:t,dimensions:n?`${n.width}x${n.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let r,i;try{let e=await Promise.resolve().then(()=>q0);r=e.getMagick,i=e.MIME_TO_MAGICK_FORMAT}catch(e){return z_.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let a;try{a=await r()}catch(e){return z_.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let o={data:null,mime:e.mimeType};if(await a.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,a=Math.max(n,r);if(a>1568){let e=1568/a,i=Math.round(n*e),o=Math.round(r*e);t.resize(i,o),z_.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${o}`})}let s=i[e.mimeType]||`JPEG`;t.write(s,e=>{o.data=new Uint8Array(e)}),o.data&&o.data.length>B_&&s!==`JPEG`?(z_.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}),o.mime=`image/jpeg`):o.data&&o.data.length>B_&&(z_.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}))}),!o.data)return z_.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(o.data.length>B_)return z_.warn(`Image still over 5MB after resize+compress`,{size:o.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(o.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<o.data.length;e++)s+=String.fromCharCode(o.data[e]);let c=btoa(s);return z_.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:o.mime}),{type:`image`,data:c,mimeType:o.mime}}catch(n){return z_.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}const kfe=v(`tool-adapter`),Afe=/<img:(data:(image\/[^;]+);base64,([^>]+))>/g;function V_(e){let t=[],n=0;for(let r of e.matchAll(Afe)){let i=e.slice(n,r.index);i.trim()&&t.push({type:`text`,text:i.trimEnd()}),t.push({type:`image`,mimeType:r[2],data:r[3]}),n=r.index+r[0].length}let r=e.slice(n);return(r.trim()||t.length===0)&&t.push({type:`text`,text:r||e}),t}async function jfe(e){let t=V_(e),n=[];for(let e of t)e.type===`image`?n.push(await Ofe(e)):n.push(e);return n}function Mfe(e,t){return{name:e.name,label:e.name,description:e.description,parameters:e.inputSchema,async execute(n,r,i,a){let o;a&&(o=Ae({onUpdate:a,toolName:e.name,toolCallId:n}));let s=t?t.processManager.spawn({kind:`tool`,argv:[e.name,...Nfe(r)],owner:t.owner,ppid:t.getParentPid?.()}):null,c=null;s&&t&&i&&(i.aborted?t.processManager.signal(s.pid,`SIGINT`):i.addEventListener(`abort`,()=>t.processManager.signal(s.pid,`SIGINT`),{once:!0})),s&&t&&(c=t.processManager.onSignal((e,n)=>{e.pid!==s.pid||n!==`SIGKILL`||t.processManager.exit(s.pid,null)}));let l=s?s.abort.signal:i;try{let n=await e.execute(r??{},l),i;try{i=await jfe(n.content)}catch(t){kfe.warn(`Image processing failed, falling back to raw content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),i=V_(n.content)}return s&&t&&t.processManager.exit(s.pid,+!!n.isError),{content:i,details:{isError:n.isError}}}catch(e){throw s&&t&&t.processManager.exit(s.pid,s.abort.signal.aborted?null:1),e}finally{o&&je(o),c?.()}}}}function H_(e,t){return e.map(e=>Mfe(e,t))}function Nfe(e){if(typeof e!=`object`||!e)return[];let t=e;for(let e of[`command`,`file_path`,`path`,`pattern`,`url`,`key`,`name`,`query`,`message`]){let n=t[e];if(typeof n==`string`&&n.length>0)return[n]}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return[e];return[]}function U_(e,t,n){let r=e.maxTokens>0?e.maxTokens>=e.contextWindow-1024?Math.min(e.maxTokens,32e3):e.maxTokens:void 0;return{temperature:t?.temperature,maxTokens:t?.maxTokens??r,signal:t?.signal,apiKey:n||t?.apiKey,transport:t?.transport,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,onResponse:t?.onResponse,timeoutMs:t?.timeoutMs,maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata}}function W_(e){return e===`xhigh`?`high`:e}function G_(e,t,n,r){let i={minimal:1024,low:2048,medium:8192,high:16384,...r}[W_(n)],a=Math.min(e+i,t);return a<=i&&(i=Math.max(0,a-1024)),{maxTokens:a,thinkingBudget:i}}function K_(e,t){let n=[],r=!1;for(let i of e){if(i.type===`image`){r||n.push({type:`text`,text:t}),r=!0;continue}n.push(i),r=i.text===t}return n}function Pfe(e,t){return t.input.includes(`image`)?e:e.map(e=>e.role===`user`&&Array.isArray(e.content)?{...e,content:K_(e.content,`(image omitted: model does not support images)`)}:e.role===`toolResult`?{...e,content:K_(e.content,`(tool image omitted: model does not support images)`)}:e)}function q_(e,t,n){let r=new Map,i=Pfe(e,t).map(e=>{if(e.role===`user`)return e;if(e.role===`toolResult`){let t=r.get(e.toolCallId);return t&&t!==e.toolCallId?{...e,toolCallId:t}:e}if(e.role===`assistant`){let i=e,a=i.provider===t.provider&&i.api===t.api&&i.model===t.id,o=i.content.flatMap(e=>{if(e.type===`thinking`)return e.redacted?a?e:[]:a&&e.thinkingSignature?e:!e.thinking||e.thinking.trim()===``?[]:a?e:{type:`text`,text:e.thinking};if(e.type===`text`)return a?e:{type:`text`,text:e.text};if(e.type===`toolCall`){let o=e,s=o;if(!a&&o.thoughtSignature&&(s={...o},delete s.thoughtSignature),!a&&n){let e=n(o.id,t,i);e!==o.id&&(r.set(o.id,e),s={...s,id:e})}return s}return e});return{...i,content:o}}return e}),a=[],o=[],s=new Set,c=()=>{if(o.length>0){for(let e of o)s.has(e.id)||a.push({role:`toolResult`,toolCallId:e.id,toolName:e.name,content:[{type:`text`,text:`No result provided`}],isError:!0,timestamp:Date.now()});o=[],s=new Set}};for(let e=0;e<i.length;e++){let t=i[e];if(t.role===`assistant`){c();let e=t;if(e.stopReason===`error`||e.stopReason===`aborted`)continue;let n=e.content.filter(e=>e.type===`toolCall`);n.length>0&&(o=n,s=new Set),a.push(t)}else t.role===`toolResult`?(s.add(t.toolCallId),a.push(t)):(t.role===`user`&&c(),a.push(t))}return c(),a}var Ffe=c({bedrockCampRegionFromBaseUrl:()=>Z_,config:()=>Ife,isBedrockCampCompatible:()=>$_,register:()=>Ov,streamBedrockCamp:()=>Ev,streamSimpleBedrockCamp:()=>Dv});const Ife={id:`bedrock-camp`,name:`AWS Bedrock`,description:`Claude on AWS Bedrock via CAMP Bearer token`,requiresApiKey:!0,apiKeyPlaceholder:`ABSK...`,apiKeyEnvVar:`BEDROCK_CAMP_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://bedrock-runtime.us-west-2.amazonaws.com`,baseUrlDescription:`Bedrock runtime endpoint from CAMP portal`,defaultModelId:`claude-sonnet-4-6`},J_=/^(us|eu|global|apac)\./,Y_=/\.anthropic\.claude-(opus|sonnet|haiku)-4/,X_=/bedrock-runtime(?:-fips)?\.([a-z0-9-]+)\.amazonaws\.com(?:\.cn)?$/i;function Z_(e){if(!e)return null;try{let{hostname:t}=new URL(e);return t.toLowerCase().match(X_)?.[1]??null}catch{return null}}function Q_(e,t){return e===`global`?!0:e===`us`?t.startsWith(`us-`):e===`eu`?t.startsWith(`eu-`):e===`apac`?t.startsWith(`ap-`):!1}function $_(e,t){if(!J_.test(e.id)||!Y_.test(e.id))return!1;if(!t)return!0;let n=e.id.split(`.`,1)[0];return Q_(n,t)}function ev(e,t){return!rv(e,t,[`claude-opus-4-7`,`opus-4-7`])}function tv(e){return{onPayload:e.onPayload,onResponse:e.onResponse,toolChoice:e.toolChoice,thinkingDisplay:e.thinkingDisplay,interleavedThinking:e.interleavedThinking,requestMetadata:e.requestMetadata}}function nv(e,t){return(t?[e,t]:[e]).flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]})}function rv(e,t,n){return nv(e,t).some(e=>n.some(t=>e.includes(t)))}function iv(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return t.length>64?t.slice(0,64):t}function av(e){return e?e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,`�`):``}function ov(e,t,n){let r=[],i=q_(e.messages,t,iv);for(let e=0;e<i.length;e++){let n=i[e];switch(n.role){case`user`:r.push({role:`user`,content:typeof n.content==`string`?[{text:av(n.content)}]:n.content.map(e=>{if(e.type===`text`)return{text:av(e.text)};if(e.type===`image`)return{image:sv(e.mimeType,e.data)};throw Error(`Unknown user content type: ${e.type}`)})});break;case`assistant`:{if(n.content.length===0)continue;let e=[];for(let r of n.content)switch(r.type){case`text`:if(r.text.trim().length===0)continue;e.push({text:av(r.text)});break;case`toolCall`:e.push({toolUse:{toolUseId:r.id,name:r.name,input:r.arguments}});break;case`thinking`:if(r.thinking.trim().length===0)continue;lv(t)?!r.thinkingSignature||r.thinkingSignature.trim().length===0?e.push({text:av(r.thinking)}):e.push({reasoningContent:{reasoningText:{text:av(r.thinking),signature:r.thinkingSignature}}}):e.push({reasoningContent:{reasoningText:{text:av(r.thinking)}}});break}if(e.length===0)continue;r.push({role:`assistant`,content:e});break}case`toolResult`:{let t=[];t.push({toolResult:{toolUseId:n.toolCallId,content:n.content.map(e=>e.type===`image`?{image:sv(e.mimeType,e.data)}:{text:av(e.text??e.json??JSON.stringify(e))}),status:n.isError?`error`:`success`}});let a=e+1;for(;a<i.length&&i[a].role===`toolResult`;){let e=i[a];t.push({toolResult:{toolUseId:e.toolCallId,content:e.content.map(e=>e.type===`image`?{image:sv(e.mimeType,e.data)}:{text:av(e.text??e.json??JSON.stringify(e))}),status:e.isError?`error`:`success`}}),a++}e=a-1,r.push({role:`user`,content:t});break}}}if(n!==`none`&&vv(t)&&r.length>0){let e=r[r.length-1];e.role===`user`&&Array.isArray(e.content)&&e.content.push(yv(n))}return r}function sv(e,t){return{source:{bytes:t},format:cv(e)}}function cv(e){switch(e){case`image/jpeg`:case`image/jpg`:return`jpeg`;case`image/png`:return`png`;case`image/gif`:return`gif`;case`image/webp`:return`webp`;default:throw Error(`Unsupported image MIME type: ${e}`)}}function lv(e){return _v(e)}function uv(e,t){return rv(e,t,[`opus-4-6`,`opus-4-7`,`sonnet-4-6`])}function dv(e,t){return rv(e,t,[`opus-4-7`])}function fv(e,t){return rv(e,t,[`opus-4-6`])}function pv(e,t){if(!e?.length||t===`none`)return;let n=e.map(e=>({toolSpec:{name:e.name,description:e.description,inputSchema:{json:e.parameters}}})),r;switch(t){case`auto`:r={auto:{}};break;case`any`:r={any:{}};break;default:t&&typeof t==`object`&&t.type===`tool`&&(r={tool:{name:t.name}})}return{tools:n,toolChoice:r}}function mv(e,t,n){if(e===`xhigh`&&dv(t,n))return`xhigh`;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`high`:return`high`;case`xhigh`:return fv(t,n)?`max`:`high`;default:return`high`}}function hv(e){if(Z_(e.baseUrl)?.toLowerCase().startsWith(`us-gov-`))return!0;let t=e.id.toLowerCase();return t.startsWith(`us-gov.`)||t.startsWith(`arn:aws-us-gov:`)}function gv(e,t){if(!t.reasoning||!e.reasoning||!_v(e))return;let n=hv(e)?void 0:t.thinkingDisplay??`summarized`;if(uv(e.id,e.name))return{thinking:{type:`adaptive`,...n===void 0?{}:{display:n}},output_config:{effort:mv(t.reasoning,e.id,e.name)}};let r={minimal:1024,low:2048,medium:8192,high:16384,xhigh:16384},i=t.reasoning===`xhigh`?`high`:t.reasoning,a={thinking:{type:`enabled`,budget_tokens:t.thinkingBudgets?.[i]??r[t.reasoning],...n===void 0?{}:{display:n}}};return(t.interleavedThinking??!0)&&(a.anthropic_beta=[`interleaved-thinking-2025-05-14`]),a}function _v(e){let t=e.id.toLowerCase(),n=e.name?.toLowerCase()??``;return t.includes(`anthropic.claude`)||t.includes(`anthropic/claude`)||n.includes(`anthropic.claude`)||n.includes(`anthropic/claude`)||n.includes(`claude`)}function vv(e){let t=nv(e.id,e.name);return t.some(e=>e.includes(`claude`))?!!(t.some(e=>e.includes(`-4-`))||t.some(e=>e.includes(`claude-3-7-sonnet`))||t.some(e=>e.includes(`claude-3-5-haiku`))):!1}function yv(e){return{cachePoint:{type:`default`,...e===`long`?{ttl:`1h`}:{}}}}function bv(e,t,n){if(!e)return;let r=[{text:av(e)}];return n!==`none`&&vv(t)&&r.push(yv(n)),r}function xv(e){switch(e){case`end_turn`:case`stop_sequence`:return`stop`;case`max_tokens`:case`model_context_window_exceeded`:return`length`;case`tool_use`:return`toolUse`;default:return`error`}}function Sv(e,t){let n=`Bedrock CAMP API error (${e})`;return e===429?n=`Throttling error: ${n}`:e===503?n=`Service unavailable: ${n}`:e===502||e===504||e>=500?n=`Internal server error: ${n}`:e===400&&(n=`Validation error: ${n}`),`${n}: ${t}`}function Cv(e,t,n,r){r.push({type:`start`,partial:n});let i=e.output?.message;if(i?.content)for(let e=0;e<i.content.length;e++){let t=i.content[e];if(t.text!==void 0){let e={type:`text`,text:t.text};n.content.push(e);let i=n.content.length-1;r.push({type:`text_start`,contentIndex:i,partial:n}),r.push({type:`text_delta`,contentIndex:i,delta:t.text,partial:n}),r.push({type:`text_end`,contentIndex:i,content:t.text,partial:n})}else if(t.toolUse){let e={type:`toolCall`,id:t.toolUse.toolUseId||``,name:t.toolUse.name||``,arguments:t.toolUse.input||{}};n.content.push(e);let i=n.content.length-1;r.push({type:`toolcall_start`,contentIndex:i,partial:n}),r.push({type:`toolcall_end`,contentIndex:i,toolCall:e,partial:n})}else if(t.reasoningContent?.reasoningText){let e={type:`thinking`,thinking:t.reasoningContent.reasoningText.text||``,thinkingSignature:t.reasoningContent.reasoningText.signature||``};n.content.push(e);let i=n.content.length-1;r.push({type:`thinking_start`,contentIndex:i,partial:n}),r.push({type:`thinking_delta`,contentIndex:i,delta:e.thinking,partial:n}),r.push({type:`thinking_end`,contentIndex:i,content:e.thinking,partial:n})}}e.usage&&(n.usage.input=e.usage.inputTokens||0,n.usage.output=e.usage.outputTokens||0,n.usage.cacheRead=e.usage.cacheReadInputTokens||0,n.usage.cacheWrite=e.usage.cacheWriteInputTokens||0,n.usage.totalTokens=e.usage.totalTokens||n.usage.input+n.usage.output,qu(t,n.usage)),n.stopReason=xv(e.stopReason||`end_turn`)}function wv(e){return e??`short`}function Tv(e){let t={};return e.headers.forEach((e,n)=>{t[n.toLowerCase()]=e}),t}const Ev=(e,t,n={})=>{let r=$u();return(async()=>{let i={role:`assistant`,content:[],api:`bedrock-camp-converse`,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 a=n.apiKey;if(!a)throw Error(`API key is required for Bedrock CAMP`);let o=e.baseUrl;if(!o)throw Error(`Base URL is required for Bedrock CAMP`);let s=wv(n.cacheRetention),c={};n.maxTokens!==void 0&&(c.maxTokens=n.maxTokens),n.temperature!==void 0&&ev(e.id,e.name)&&(c.temperature=n.temperature);let l={modelId:e.id,messages:ov(t,e,s),system:bv(t.systemPrompt,e,s),inferenceConfig:c,toolConfig:pv(t.tools,n.toolChoice),additionalModelRequestFields:gv(e,n),...n.requestMetadata===void 0?{}:{requestMetadata:n.requestMetadata}};if(l.system||delete l.system,l.toolConfig||delete l.toolConfig,l.additionalModelRequestFields||delete l.additionalModelRequestFields,n.onPayload){let t=await n.onPayload(l,e);t!==void 0&&(l=t)}let u=`${o.replace(/\/$/,``)}/model/${e.id}/converse`,d={"Content-Type":`application/json`,Authorization:`Bearer ${a}`,...n.headers??{}},f=await fetch(u,{method:`POST`,headers:d,body:JSON.stringify(l),signal:n.signal});if(n.onResponse&&await n.onResponse({status:f.status,headers:Tv(f)},e),!f.ok){let e=await f.text();throw Error(Sv(f.status,e))}if(Cv(await f.json(),e,i,r),i.stopReason===`error`||i.stopReason===`aborted`)throw Error(`An unknown error occurred`);r.push({type:`done`,reason:i.stopReason,message:i}),r.end()}catch(e){for(let e of i.content)delete e.index,delete e.partialJson;i.stopReason=n.signal?.aborted?`aborted`:`error`,i.errorMessage=e instanceof Error?e.message:JSON.stringify(e),r.push({type:`error`,reason:i.stopReason,error:i}),r.end()}})(),r},Dv=(e,t,n)=>{let r=U_(e,n,void 0),i=n?tv(n):{};if(!n?.reasoning)return Ev(e,t,{...r,...i,reasoning:void 0});if(_v(e)){if(uv(e.id,e.name))return Ev(e,t,{...r,...i,reasoning:n.reasoning,thinkingBudgets:n.thinkingBudgets});let a=G_(r.maxTokens||0,e.maxTokens,n.reasoning,n.thinkingBudgets);return Ev(e,t,{...r,...i,maxTokens:a.maxTokens,reasoning:n.reasoning,thinkingBudgets:{...n.thinkingBudgets||{},[W_(n.reasoning)]:a.budgetTokens}})}return Ev(e,t,{...r,...i,reasoning:n.reasoning,thinkingBudgets:n.thinkingBudgets})};function Ov(){vu({api:`bedrock-camp-converse`,stream:Ev,streamSimple:Dv})}var kv=c({copyTextToClipboard:()=>Av});async function Av(e){if(!e)return!1;if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed; opacity:0; pointer-events:none; left:-9999px;`,document.body.appendChild(t),t.select();let n=document.execCommand?.(`copy`)??!1;return document.body.removeChild(t),n}catch{return!1}}const jv=`slicc_oauth_extra_domains`;function Mv(e){try{let t=e.getItem(jv);if(!t)return{};let n=JSON.parse(t);if(typeof n!=`object`||!n||Array.isArray(n))return{};let r={};for(let[e,t]of Object.entries(n)){if(typeof e!=`string`||!Array.isArray(t))continue;let n=t.filter(e=>typeof e==`string`&&e.length>0);n.length>0&&(r[e]=n)}return r}catch{return{}}}function Nv(e,t){try{e.setItem(jv,JSON.stringify(t))}catch(e){throw Error(`Failed to persist OAuth extras (localStorage quota exceeded?): ${e instanceof Error?e.message:String(e)}`)}}[`ghp_`,`gho_`,`ghu_`,`ghs_`,`ghr_`,`github_pat_`,`sk-`,`pk-`,`xoxb-`,`xoxp-`,`xoxa-`,`xoxs-`,`AKIA`,`ABIA`,`ACCA`,`ASIA`,`sk-ant-`,`Bearer `].sort((e,t)=>t.length-e.length);function Pv(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(n===`*`)return!0;if(!n.startsWith(`*.`))return n===r;let i=n.slice(1);return r.length>i.length&&r.endsWith(i)}function Fv(e,t){return e.some(e=>Pv(e,t))}var Iv=c({createPanelRpcClient:()=>zv,getPanelRpcClient:()=>Vv,hasLocalDom:()=>Hv,panelRpcChannelName:()=>Rv});const Lv=`slicc-panel-rpc`;function Rv(e){return e?`${Lv}:${e}`:Lv}function zv(e={}){if(typeof BroadcastChannel!=`function`)return{call:()=>Promise.reject(Error(`panel-rpc: BroadcastChannel is unavailable`)),dispose:()=>{}};let t=Rv(e.instanceId),n=new BroadcastChannel(t),r=new Map;n.addEventListener(`message`,e=>{let t=e.data;if(t?.type!==`panel-rpc-response`)return;let n=r.get(t.id);n&&(r.delete(t.id),clearTimeout(n.timer),typeof t.error==`string`?n.reject(Error(t.error)):n.resolve(t.result))});function i(e,t,i={}){let a=Bv(),o=i.timeoutMs??15e3;return new Promise((i,s)=>{let c=setTimeout(()=>{r.delete(a),s(Error(`panel-rpc: op '${e}' timed out after ${o}ms`))},o);r.set(a,{resolve:i,reject:s,timer:c});let l={type:`panel-rpc-request`,id:a,op:e,payload:t};n.postMessage(l)})}function a(){for(let[,e]of r)clearTimeout(e.timer),e.reject(Error(`panel-rpc: client disposed`));r.clear();try{n.close()}catch{}}return{call:i,dispose:a}}function Bv(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`prpc-${crypto.randomUUID()}`:`prpc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,12)}`}function Vv(){return globalThis.__slicc_panelRpc??null}function Hv(){return typeof window<`u`&&typeof document<`u`}var Uv=c({addAccount:()=>_y,getAccounts:()=>uy,getAllAvailableModels:()=>ly,getAllExtraOAuthDomains:()=>my,getApiKey:()=>ky,getApiKeyForProvider:()=>Sy,getApiVersionForProvider:()=>Ty,getAvailableProviders:()=>ey,getBaseUrlForProvider:()=>Cy,getDeploymentForProvider:()=>wy,getExtraOAuthDomains:()=>dy,getOAuthAccountInfo:()=>iy,getProviderConfig:()=>ty,getProviderModels:()=>ry,getRawApiKeyForProvider:()=>xy,getSelectedModelId:()=>Ey,getSelectedProvider:()=>Oy,isModelHiddenFromPicker:()=>sy,logoutOAuthAccount:()=>yy,migrateLegacyAuthOnlySelection:()=>$v,removeAccount:()=>vy,resolveCurrentModel:()=>jy,resolveModelById:()=>Ay,saveOAuthAccount:()=>by,setExtraOAuthDomains:()=>fy,setExtraOAuthDomainsAsync:()=>py});const Wv=Wu,Gv=Ku,Kv=`slicc_accounts`,qv=`selected-model`,Jv=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],Yv=new Set([`github`]);function Xv(e){let t;try{t=Gu()}catch{return!1}return t.includes(e)&&!Ze(e)}let Zv=!1;function Qv(){if(!Zv){Zv=!0;for(let e of Jv)try{localStorage.removeItem(e)}catch{}$v()}}function $v(){try{let e=localStorage.getItem(qv);if(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t);(Yv.has(n)||Xv(n))&&localStorage.removeItem(qv)}}}catch{}try{let e=localStorage.getItem(Kv);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t))return;let n=t.filter(e=>!(typeof e==`object`&&e&&typeof e.providerId==`string`&&Xv(e.providerId)));n.length!==t.length&&localStorage.setItem(Kv,JSON.stringify(n))}catch{}}function ey(){let e=Gu().filter(Ze),t=nt();return[...new Set([...e,...t])].filter(e=>!tt(e)?.hidden)}function ty(e){return tt(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function ny(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat}),t.thinkingLevelMap!==void 0&&(e.thinkingLevelMap={...e.thinkingLevelMap??{},...t.thinkingLevelMap})}function ry(e){try{if(e===`bedrock-camp`){let e=Z_(Cy(`bedrock-camp`));return Gv(`amazon-bedrock`).filter(t=>$_(t,e)).map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=ty(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return ay.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of Gu())try{for(let t of Gv(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o=a?{...a,api:i,provider:e}:{id:n.id,name:n.name??n.id,provider:e,api:i,baseUrl:``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputCost:0,outputCost:0,cacheReadCost:0,cacheWriteCost:0,reasoning:!0},s=t.modelOverrides?.[n.id];return s&&ny(o,s),ny(o,n),o})}if(t.isOAuth){let n=Gv(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&ny(i,a),i})}return Gv(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return ay.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}function iy(e){let t=uy().find(t=>t.providerId===e);if(!t?.accessToken)return null;let n=!!t.tokenExpiresAt&&Date.now()>t.tokenExpiresAt-6e4;return{token:t.accessToken,maskedValue:t.maskedValue,expiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar,expired:n}}Object.assign({})[`/packages/webapp/providers.json`];const ay=v(`provider-settings`),oy=[/haiku/i];function sy(e){return oy.some(t=>t.test(e))}function cy(e){return e.filter(e=>!sy(e.id))}function ly(){let e=uy();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=ty(n.providerId);if(e.hidden||Xv(n.providerId))continue;let r=cy(ry(n.providerId));if(r.length===0)continue;let i={providerId:n.providerId,providerName:e.name,models:r};t.set(n.providerId,i)}return[...t.values()]}function uy(){Qv();let e=localStorage.getItem(Kv);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function dy(e){return Mv(localStorage)[e]??[]}function fy(e,t){let n=Mv(localStorage),r=t.map(e=>e.trim()).filter(e=>e.length>0);r.length===0?delete n[e]:n[e]=r,Nv(localStorage,n)}async function py(e,t){if(Hv()){fy(e,t);return}let n=Vv();if(!n)throw Error(`setExtraOAuthDomainsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let{storeAfter:r}=await n.call(`oauth-extras-set`,{providerId:e,domains:t});try{Nv(localStorage,r)}catch(t){ay.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{providerId:e,error:t instanceof Error?t.message:String(t)})}}function my(){return Mv(localStorage)}function hy(e){localStorage.setItem(Kv,JSON.stringify(e))}async function gy(e){if(Hv()){hy(e);return}let t=Vv();if(!t)throw Error(`saveAccountsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let n=JSON.stringify(e),{storedJson:r}=await t.call(`save-oauth-accounts`,{accountsJson:n});try{localStorage.setItem(Kv,r)}catch(e){ay.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{error:e instanceof Error?e.message:String(e)})}}function _y(e,t,n,r,i){let a=uy().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),hy(a)}async function vy(e){let t=uy().find(t=>t.providerId===e),n=ty(e);t&&n?.isOAuth&&await yy(e);let r=typeof chrome<`u`&&!!chrome?.runtime?.id;try{if(r)await chrome.storage.local.remove([`oauth.${e}.token`,`oauth.${e}.token_DOMAINS`]);else{let t=await fetch(`/api/secrets/oauth/${e}`,{method:`DELETE`});!t.ok&&t.status!==404&&ay.warn(`OAuth replica DELETE non-ok`,{providerId:e,status:t.status})}}catch(t){ay.error(`OAuth replica removal failed`,{providerId:e,isExtension:r,error:t instanceof Error?t.message:String(t)})}await gy(uy().filter(t=>t.providerId!==e));let i=localStorage.getItem(qv)??``,a=i.indexOf(`:`);a>0&&i.slice(0,a)===e&&localStorage.removeItem(qv)}async function yy(e){let t=uy().find(t=>t.providerId===e);if(!t)return;let n=ty(e);if(!n?.isOAuth)return;if(n.onOAuthLogout)try{await n.onOAuthLogout()}catch(t){ay.warn(`onOAuthLogout failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})}if(n.getOAuthLogoutUrl){let r=n.getOAuthLogoutUrl(t);if(r){let{openIdpLogoutUrl:t}=await import(`./oauth-service-DzVLZJ6O.js`);await t(r).catch(t=>{ay.warn(`IdP logout popup failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})})}}await gy(uy().map(t=>t.providerId===e?{providerId:t.providerId,apiKey:``,baseUrl:t.baseUrl,userName:t.userName,userAvatar:t.userAvatar,loggedOut:!0}:t));let r=typeof chrome<`u`&&!!chrome?.runtime?.id;try{if(r)await chrome.storage.local.remove([`oauth.${e}.token`,`oauth.${e}.token_DOMAINS`]);else{let t=await fetch(`/api/secrets/oauth/${e}`,{method:`DELETE`});!t.ok&&t.status!==404&&ay.warn(`OAuth replica DELETE non-ok during logout`,{providerId:e,status:t.status})}}catch(t){ay.error(`OAuth replica removal failed during logout`,{providerId:e,isExtension:r,error:t instanceof Error?t.message:String(t)})}}async function by(e){let t=uy().find(t=>t.providerId===e.providerId),n=uy().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),await gy(n);let r=ty(e.providerId)?.oauthTokenDomains??[],i=dy(e.providerId),a=new Set,o=[];for(let e of[...r,...i]){let t=e.toLowerCase();a.has(t)||(a.add(t),o.push(e))}if(o.length===0)return;let s=typeof chrome<`u`&&!!chrome?.runtime?.id;try{if(s){await chrome.storage.local.set({[`oauth.${e.providerId}.token`]:e.accessToken,[`oauth.${e.providerId}.token_DOMAINS`]:o.join(`,`)});let t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.mask-oauth-token`,providerId:e.providerId},n=>{chrome.runtime.lastError&&ay.error(`SW mask-oauth-token transport failed`,{providerId:e.providerId,error:chrome.runtime.lastError.message}),t(n??{})})});if(t.error&&ay.warn(`SW mask-oauth-token returned error`,{providerId:e.providerId,error:t.error}),t.maskedValue){let n=uy(),r=n.find(t=>t.providerId===e.providerId);r&&(r.maskedValue=t.maskedValue,await gy(n))}}else{let t=await fetch(`/api/secrets/oauth-update`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerId:e.providerId,accessToken:e.accessToken,domains:o})});if(t.ok){let n=await t.json(),r=uy(),i=r.find(t=>t.providerId===e.providerId);i&&typeof n.maskedValue==`string`&&(i.maskedValue=n.maskedValue,await gy(r))}else ay.warn(`OAuth replica POST non-ok`,{providerId:e.providerId,status:t.status})}}catch(t){ay.error(`OAuth replica sync failed`,{providerId:e.providerId,isExtension:s,error:t instanceof Error?t.message:String(t)})}}function xy(e){let t=uy().find(t=>t.providerId===e);return t&&(t.accessToken||t.apiKey)||null}function Sy(e){let t=uy().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(ty(e).optionalApiKey?`local`:null):null}function Cy(e){return uy().find(t=>t.providerId===e)?.baseUrl??null}function wy(e){return uy().find(t=>t.providerId===e)?.deployment??null}function Ty(e){return uy().find(t=>t.providerId===e)?.apiVersion??null}function Ey(){let e=localStorage.getItem(qv)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function Dy(){return localStorage.getItem(qv)||``}function Oy(){let e=Dy(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=uy();return n.length>0?n[0].providerId:`anthropic`}function ky(){return Sy(Oy())}function Ay(e){if(!e)return jy();let t=Oy(),n=Cy(t);try{let r=ty(t),i=Wv(r.isOAuth||t===`azure-ai-foundry`?`anthropic`:t===`bedrock-camp`?`amazon-bedrock`:t,e);if(!i?.id)throw Error(`Model ${e} not found`);let a=i;return r.isOAuth?a=ry(t).find(t=>t.id===e)||{...a,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(a={...a,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(a={...a,baseUrl:n}),a}catch{return jy()}}function jy(){let e=Oy(),t=Ey(),n=Cy(e),r=ry(e),i=ty(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=ty(e),i=t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e,a=Wv(i,o);if(!a?.id)throw Error(`Model ${o} not found in ${i} registry`);let s=a;return t.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch{let e=r.find(e=>e.id===o);return e?n?{...e,baseUrl:n}:e:Wv(`anthropic`,`claude-sonnet-4-0`)}}const My=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function Ny(e){return typeof e==`string`&&My.includes(e)}const Py=v(`agent-bridge`);function Fy(e,t,n=null,r={}){let i=r.generateName??By,a=r.generateUid??Ly,o=r.resolveModel??Hy;function s(){for(let t=0;t<8;t++){let t=i(),n=`agent_${Vy(t)}`;if(!e.getScoops().some(e=>e.jid===n))return t}return a()}function c(t){if(t===void 0)return null;let n=e.getScoops().find(e=>e.jid===t);if(!n)return null;let r=n.config?.modelId;return r&&r.length>0?r:null}function l(t){if(t===void 0)return null;let n=e.getScoops().find(e=>e.jid===t);if(!n)return null;let r=n.config?.thinkingLevel;return r&&Ny(r)?r:null}async function u(r){let i=r.modelId;if(i!==void 0&&(i===``||o(i)===null))return{finalText:`agent: unknown model: ${i}`,exitCode:1};let a=i??c(r.parentJid)??``,u=r.thinkingLevel;if(u!==void 0&&!Ny(u))return{finalText:`agent: invalid thinking level: ${String(u)} (one of: ${My.join(`, `)})`,exitCode:1};let d=u??l(r.parentJid)??void 0,f=s(),p=`agent-${f}`,m=`agent_${Vy(f)}`,h=`/scoops/${p}`,g=Uy(r.cwd),_={visiblePaths:Wy(r),writablePaths:Gy([g,`/shared/`,`${h}/`,`/tmp/`]),allowedCommands:r.allowedCommands};a&&(_.modelId=a),d!==void 0&&(_.thinkingLevel=d);let v={jid:m,name:p,folder:p,isCone:!1,type:`scoop`,requiresTrigger:!1,assistantLabel:p,addedAt:new Date().toISOString(),config:_,configSchemaVersion:2,notifyOnComplete:!1},y=[],b=``,x=null,S=e.observeScoop(m,{onSendMessage:e=>{y.push(e)},onResponse:(e,t)=>{t?b+=e:b=e},onError:e=>{x===null&&(x=e)}});try{try{await e.registerScoop(v)}catch(e){return{finalText:x??Ky(e),exitCode:1}}return await e.sendPrompt(m,r.prompt,`agent`,`agent`),x===null?{finalText:y.length>0?y[y.length-1]:b,exitCode:0}:{finalText:x,exitCode:1}}catch(e){return{finalText:x??Ky(e),exitCode:1}}finally{S();try{await e.unregisterScoop(m)}catch(e){Py.warn(`unregisterScoop failed`,{jid:m,error:Ky(e)})}try{await t.rm(h,{recursive:!0})}catch(e){qy(e,`ENOENT`)||Py.warn(`scratch folder cleanup failed`,{folder:p,error:Ky(e)})}if(n)try{await n.delete(m)}catch(e){Py.warn(`sessionStore.delete failed`,{jid:m,error:Ky(e)})}}}return{spawn:u}}function Iy(e,t,n=null,r={}){let i=Fy(e,t,n,r);return globalThis.__slicc_agent=i,Py.info(`agent bridge published on globalThis.__slicc_agent`),i}function Ly(){let e=globalThis;return typeof e.crypto?.randomUUID==`function`?e.crypto.randomUUID().replace(/-/g,``).slice(0,12):`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`}const Ry=`amber.bouncy.breezy.bubbly.cheeky.chilly.cozy.dapper.dreamy.eager.exuberant.fluffy.frosty.gentle.giddy.glossy.jolly.lucky.mellow.merry.nimble.plucky.quirky.salty.sleepy.snappy.sparkly.spiffy.sunny.sweet.toasty.velvety.whimsy.zesty`.split(`.`),zy=`blueberry.butterscotch.caramel.cherry.chocolate.cinnamon.coconut.coffee.cookies.custard.espresso.fudge.gelato.hazelnut.honeycomb.lavender.lemon.mango.maple.marzipan.matcha.mint.mocha.neapolitan.nougat.peach.pecan.pistachio.praline.raspberry.sherbet.sorbet.stracciatella.strawberry.tiramisu.toffee.vanilla`.split(`.`);function By(){return`${Ry[Math.floor(Math.random()*Ry.length)]}-${zy[Math.floor(Math.random()*zy.length)]}`}function Vy(e){return e.replace(/-/g,`_`)}function Hy(e){try{let t=ly();for(let n of t)if(n.models.some(t=>t.id===e))return e;return null}catch{return null}}function Uy(e){let t=L(e);return t.endsWith(`/`)?t:`${t}/`}function Wy(e){if(e.visiblePaths!==void 0)return e.visiblePaths.map(Uy);let t=[`/workspace/`];return e.invokingCwd&&e.invokingCwd.length>0&&t.push(Uy(e.invokingCwd)),Gy(t)}function Gy(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function Ky(e){return e instanceof Error?e.message:String(e)}function qy(e,t){if(typeof e!=`object`||!e)return!1;let n=e.code;return typeof n==`string`&&n===t}const Jy=v(`mount-picker-popup`);function Yy(e){let t=e??`mount-${Date.now().toString(36)}`;return new Promise(e=>{let n=chrome.runtime.getURL(`mount-popup.html?requestId=${encodeURIComponent(t)}`),r=()=>{clearTimeout(i),chrome.runtime.onMessage.removeListener(a)},i=setTimeout(()=>{r(),e({cancelled:!0})},6e4),a=n=>{let i=n;i?.source!==`mount-popup`||i.requestId!==t||(r(),e(i))};chrome.runtime.onMessage.addListener(a),chrome.windows.create({url:n,type:`popup`,width:300,height:80,focused:!0}).catch(n=>{r(),Jy.error(`chrome.windows.create failed for mount picker popup`,{requestId:t,error:n instanceof Error?n.message:String(n),name:n instanceof Error?n.name:void 0}),e({error:`Failed to open directory picker window`})})})}async function Xy(e){let t=await new Promise((e,t)=>{let n=indexedDB.open(`slicc-pending-mount`,1);n.onupgradeneeded=()=>{n.result.objectStoreNames.contains(`handles`)||n.result.createObjectStore(`handles`)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),n=t.transaction(`handles`,`readwrite`),r=n.objectStore(`handles`),i=r.get(e),a=r.delete(e);a.onerror=()=>{Jy.warn(`Failed to delete pending handle from IDB`,{idbKey:e,error:a.error})};let o=await new Promise((e,t)=>{n.oncomplete=()=>e(i.result??null),i.onerror=()=>t(i.error??Error(`IDB get failed`)),n.onerror=()=>t(n.error??Error(`IDB transaction failed`)),n.onabort=()=>t(n.error??Error(`IDB transaction aborted`))});return t.close(),o}async function Zy(e){let t=e;if(t.requestPermission){let n=await t.requestPermission({mode:`readwrite`});if(n!==`granted`)throw Error(`Permission denied for "${e.name}" (${n})`)}}var B=class extends Error{code;path;constructor(e,t,n){super(`${e}: ${t}${n?` '${n}'`:``}`),this.code=e,this.path=n,this.name=`FsError`}};const Qy=Symbol(`mount:timeout`);var $y=class e{kind=`local`;source=void 0;profile=void 0;mountId;handle;closed=!1;constructor(e,t){this.handle=e,this.mountId=t.mountId}static fromHandle(t,n){return new e(t,n)}static async create(t){if(t.isScoop())throw Error(`mount: cannot mount local directories from a scoop (no UI). Ask the cone.`);let n;if(t.toolContext){let e=De.generateId(),r=!1,i=Oe({id:e,html:`
|
|
983
|
+
Otherwise, output ONLY a markdown bullet list (one bullet per memory), no headers, no preamble, no follow-up. Each bullet is one line. Be specific. Prefer one fact per bullet over multi-clause sentences.`,2048,e.headers,s);if(n?.trim()&&n.trim()!==`NONE`)try{await e.onMemoryUpdates(n.trim()),j_.info(`Memory extraction applied`,{bulletsLength:n.length})}catch(e){j_.warn(`onMemoryUpdates callback threw`,{error:e instanceof Error?e.message:String(e)})}else j_.info(`Memory extraction returned no durable memories`)}catch(e){j_.warn(`Memory extraction call failed (compaction still applied)`,{error:e instanceof Error?e.message:String(e)})}return h(`idle`),[a,...m]}catch(e){j_.warn(`LLM summarization failed, falling back to naive drop`,{error:e instanceof Error?e.message:String(e)})}else u||j_.warn(`No API key available for LLM summarization, falling back to naive drop`);h(`idle`);let _={role:`user`,content:[{type:`text`,text:`[Earlier conversation messages were compacted to save context space]`}],timestamp:Date.now()};return j_.info(`Naive compaction applied`,{originalMessages:o.length,compactedMessages:1+m.length}),[_,...m]}}const yfe={html:`text/html`,htm:`text/html`,css:`text/css`,js:`application/javascript`,mjs:`application/javascript`,json:`application/json`,svg:`image/svg+xml`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,avif:`image/avif`,apng:`image/apng`,bmp:`image/bmp`,ico:`image/x-icon`,woff:`font/woff`,woff2:`font/woff2`,ttf:`font/ttf`,mp3:`audio/mpeg`,mp4:`video/mp4`,webm:`video/webm`,mov:`video/quicktime`,m4v:`video/x-m4v`,ogv:`video/ogg`,pdf:`application/pdf`,txt:`text/plain`,xml:`application/xml`,wasm:`application/wasm`};function L_(e){return yfe[e.split(`.`).pop()?.toLowerCase()??``]??`application/octet-stream`}function bfe(e){return e.startsWith(`image/`)}function xfe(e){return e.startsWith(`video/`)}function Sfe(e){return bfe(e)||xfe(e)}const R_=`sessions`;function Cfe(){return new Promise((e,t)=>{let n=indexedDB.open(`agent-sessions`,1);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(R_)||e.createObjectStore(R_,{keyPath:`id`})},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}var wfe=class{dbPromise=null;getDB(){return this.dbPromise||=Cfe(),this.dbPromise}async save(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(R_,`readwrite`).objectStore(R_).put(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async load(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(R_,`readonly`).objectStore(R_).get(e);i.onsuccess=()=>n(i.result??null),i.onerror=()=>r(i.error)})}async delete(e){let t=await this.getDB();return new Promise((n,r)=>{let i=t.transaction(R_,`readwrite`).objectStore(R_).delete(e);i.onsuccess=()=>n(),i.onerror=()=>r(i.error)})}async list(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(R_,`readonly`).objectStore(R_).getAll();r.onsuccess=()=>{t((r.result??[]).map(e=>({id:e.id,updatedAt:e.updatedAt})))},r.onerror=()=>n(r.error)})}async clearAll(){let e=await this.getDB();return new Promise((t,n)=>{let r=e.transaction(R_,`readwrite`).objectStore(R_).clear();r.onsuccess=()=>t(),r.onerror=()=>n(r.error)})}static newId(){return`session-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}static createSession(e,t){let n=Date.now();return{id:e,messages:[],config:t,createdAt:n,updatedAt:n}}static updateMessages(e,t){return{...e,messages:t,updatedAt:Date.now()}}};const z_=v(`image-processor`),B_=3932160,Tfe=new Set([`image/jpeg`,`image/png`,`image/gif`,`image/webp`]);function Efe(e){return Tfe.has(e)}function Dfe(e,t){try{if(t===`image/png`){if(e.length<32)return null;let t=atob(e.slice(0,32)),n=t.charCodeAt(16)<<24|t.charCodeAt(17)<<16|t.charCodeAt(18)<<8|t.charCodeAt(19),r=t.charCodeAt(20)<<24|t.charCodeAt(21)<<16|t.charCodeAt(22)<<8|t.charCodeAt(23);return n>0&&r>0?{width:n,height:r}:null}if(t===`image/gif`){if(e.length<16)return null;let t=atob(e.slice(0,16)),n=t.charCodeAt(6)|t.charCodeAt(7)<<8,r=t.charCodeAt(8)|t.charCodeAt(9)<<8;return n>0&&r>0?{width:n,height:r}:null}if(t===`image/jpeg`){let t=Math.min(21846*4,e.length),n=atob(e.slice(0,t));for(let e=0;e<n.length-8;e++)if(n.charCodeAt(e)===255){let t=n.charCodeAt(e+1);if(t===192||t===194){let t=n.charCodeAt(e+5)<<8|n.charCodeAt(e+6),r=n.charCodeAt(e+7)<<8|n.charCodeAt(e+8);return r>0&&t>0?{width:r,height:t}:null}}}}catch{}return null}async function Ofe(e){if(!Efe(e.mimeType))return z_.warn(`Unsupported image format`,{mimeType:e.mimeType}),{type:`text`,text:`[Image removed: unsupported format "${e.mimeType}". Supported: JPEG, PNG, GIF, WebP]`};let t=e.data.length,n=Dfe(e.data,e.mimeType);if(!(t>5242880||n!==null&&(n.width>8e3||n.height>8e3)||n!==null&&Math.max(n.width,n.height)>1568))return e;z_.info(`Image needs processing`,{base64Size:t,dimensions:n?`${n.width}x${n.height}`:`unknown`,reason:t>5242880?`size`:`dimensions`});let r,i;try{let e=await Promise.resolve().then(()=>q0);r=e.getMagick,i=e.MIME_TO_MAGICK_FORMAT}catch(e){return z_.error(`ImageMagick WASM module unavailable`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (ImageMagick WASM could not be loaded)]`}}let a;try{a=await r()}catch(e){return z_.error(`ImageMagick WASM initialization failed`,{error:e instanceof Error?e.message:String(e)}),{type:`text`,text:`[Image removed: resize service unavailable (WASM init failed)]`}}try{let n=atob(e.data),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);let o={data:null,mime:e.mimeType};if(await a.ImageMagick.read(r,async t=>{let n=t.width,r=t.height,a=Math.max(n,r);if(a>1568){let e=1568/a,i=Math.round(n*e),o=Math.round(r*e);t.resize(i,o),z_.info(`Resized image`,{from:`${n}x${r}`,to:`${i}x${o}`})}let s=i[e.mimeType]||`JPEG`;t.write(s,e=>{o.data=new Uint8Array(e)}),o.data&&o.data.length>B_&&s!==`JPEG`?(z_.info(`Still over 5MB, compressing to JPEG q80`),t.quality=80,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}),o.mime=`image/jpeg`):o.data&&o.data.length>B_&&(z_.info(`Still over 5MB as JPEG, reducing quality to 60`),t.quality=60,t.write(`JPEG`,e=>{o.data=new Uint8Array(e)}))}),!o.data)return z_.warn(`ImageMagick produced no output`),{type:`text`,text:`[Image removed: could not be processed (empty output from resize)]`};if(o.data.length>B_)return z_.warn(`Image still over 5MB after resize+compress`,{size:o.data.length}),{type:`text`,text:`[Image removed: still ${Math.round(o.data.length/1024/1024*10)/10}MB after resize and compression, exceeds 5MB API limit]`};let s=``;for(let e=0;e<o.data.length;e++)s+=String.fromCharCode(o.data[e]);let c=btoa(s);return z_.info(`Image processed successfully`,{originalBase64:t,newBase64:c.length,mimeType:o.mime}),{type:`image`,data:c,mimeType:o.mime}}catch(n){return z_.error(`Image data processing failed (corrupt or unreadable)`,{mimeType:e.mimeType,estimatedBytes:t,error:n instanceof Error?n.message:String(n)}),{type:`text`,text:`[Image removed: image data could not be processed (${n instanceof Error?n.message:`corrupt or unreadable`})]`}}}const kfe=v(`tool-adapter`),Afe=/<img:(data:(image\/[^;]+);base64,([^>]+))>/g;function V_(e){let t=[],n=0;for(let r of e.matchAll(Afe)){let i=e.slice(n,r.index);i.trim()&&t.push({type:`text`,text:i.trimEnd()}),t.push({type:`image`,mimeType:r[2],data:r[3]}),n=r.index+r[0].length}let r=e.slice(n);return(r.trim()||t.length===0)&&t.push({type:`text`,text:r||e}),t}async function jfe(e){let t=V_(e),n=[];for(let e of t)e.type===`image`?n.push(await Ofe(e)):n.push(e);return n}function Mfe(e,t){return{name:e.name,label:e.name,description:e.description,parameters:e.inputSchema,async execute(n,r,i,a){let o;a&&(o=Ae({onUpdate:a,toolName:e.name,toolCallId:n}));let s=t?t.processManager.spawn({kind:`tool`,argv:[e.name,...Nfe(r)],owner:t.owner,ppid:t.getParentPid?.()}):null,c=null;s&&t&&i&&(i.aborted?t.processManager.signal(s.pid,`SIGINT`):i.addEventListener(`abort`,()=>t.processManager.signal(s.pid,`SIGINT`),{once:!0})),s&&t&&(c=t.processManager.onSignal((e,n)=>{e.pid!==s.pid||n!==`SIGKILL`||t.processManager.exit(s.pid,null)}));let l=s?s.abort.signal:i;try{let n=await e.execute(r??{},l),i;try{i=await jfe(n.content)}catch(t){kfe.warn(`Image processing failed, falling back to raw content`,{tool:e.name,error:t instanceof Error?t.message:String(t)}),i=V_(n.content)}return s&&t&&t.processManager.exit(s.pid,+!!n.isError),{content:i,details:{isError:n.isError}}}catch(e){throw s&&t&&t.processManager.exit(s.pid,s.abort.signal.aborted?null:1),e}finally{o&&je(o),c?.()}}}}function H_(e,t){return e.map(e=>Mfe(e,t))}function Nfe(e){if(typeof e!=`object`||!e)return[];let t=e;for(let e of[`command`,`file_path`,`path`,`pattern`,`url`,`key`,`name`,`query`,`message`]){let n=t[e];if(typeof n==`string`&&n.length>0)return[n]}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return[e];return[]}function U_(e,t,n){let r=e.maxTokens>0?e.maxTokens>=e.contextWindow-1024?Math.min(e.maxTokens,32e3):e.maxTokens:void 0;return{temperature:t?.temperature,maxTokens:t?.maxTokens??r,signal:t?.signal,apiKey:n||t?.apiKey,transport:t?.transport,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,onResponse:t?.onResponse,timeoutMs:t?.timeoutMs,maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata}}function W_(e){return e===`xhigh`?`high`:e}function G_(e,t,n,r){let i={minimal:1024,low:2048,medium:8192,high:16384,...r}[W_(n)],a=Math.min(e+i,t);return a<=i&&(i=Math.max(0,a-1024)),{maxTokens:a,thinkingBudget:i}}function K_(e,t){let n=[],r=!1;for(let i of e){if(i.type===`image`){r||n.push({type:`text`,text:t}),r=!0;continue}n.push(i),r=i.text===t}return n}function Pfe(e,t){return t.input.includes(`image`)?e:e.map(e=>e.role===`user`&&Array.isArray(e.content)?{...e,content:K_(e.content,`(image omitted: model does not support images)`)}:e.role===`toolResult`?{...e,content:K_(e.content,`(tool image omitted: model does not support images)`)}:e)}function q_(e,t,n){let r=new Map,i=Pfe(e,t).map(e=>{if(e.role===`user`)return e;if(e.role===`toolResult`){let t=r.get(e.toolCallId);return t&&t!==e.toolCallId?{...e,toolCallId:t}:e}if(e.role===`assistant`){let i=e,a=i.provider===t.provider&&i.api===t.api&&i.model===t.id,o=i.content.flatMap(e=>{if(e.type===`thinking`)return e.redacted?a?e:[]:a&&e.thinkingSignature?e:!e.thinking||e.thinking.trim()===``?[]:a?e:{type:`text`,text:e.thinking};if(e.type===`text`)return a?e:{type:`text`,text:e.text};if(e.type===`toolCall`){let o=e,s=o;if(!a&&o.thoughtSignature&&(s={...o},delete s.thoughtSignature),!a&&n){let e=n(o.id,t,i);e!==o.id&&(r.set(o.id,e),s={...s,id:e})}return s}return e});return{...i,content:o}}return e}),a=[],o=[],s=new Set,c=()=>{if(o.length>0){for(let e of o)s.has(e.id)||a.push({role:`toolResult`,toolCallId:e.id,toolName:e.name,content:[{type:`text`,text:`No result provided`}],isError:!0,timestamp:Date.now()});o=[],s=new Set}};for(let e=0;e<i.length;e++){let t=i[e];if(t.role===`assistant`){c();let e=t;if(e.stopReason===`error`||e.stopReason===`aborted`)continue;let n=e.content.filter(e=>e.type===`toolCall`);n.length>0&&(o=n,s=new Set),a.push(t)}else t.role===`toolResult`?(s.add(t.toolCallId),a.push(t)):(t.role===`user`&&c(),a.push(t))}return c(),a}var Ffe=c({bedrockCampRegionFromBaseUrl:()=>Z_,config:()=>Ife,isBedrockCampCompatible:()=>$_,register:()=>Ov,streamBedrockCamp:()=>Ev,streamSimpleBedrockCamp:()=>Dv});const Ife={id:`bedrock-camp`,name:`AWS Bedrock`,description:`Claude on AWS Bedrock via CAMP Bearer token`,requiresApiKey:!0,apiKeyPlaceholder:`ABSK...`,apiKeyEnvVar:`BEDROCK_CAMP_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`https://bedrock-runtime.us-west-2.amazonaws.com`,baseUrlDescription:`Bedrock runtime endpoint from CAMP portal`,defaultModelId:`claude-sonnet-4-6`},J_=/^(us|eu|global|apac)\./,Y_=/\.anthropic\.claude-(opus|sonnet|haiku)-4/,X_=/bedrock-runtime(?:-fips)?\.([a-z0-9-]+)\.amazonaws\.com(?:\.cn)?$/i;function Z_(e){if(!e)return null;try{let{hostname:t}=new URL(e);return t.toLowerCase().match(X_)?.[1]??null}catch{return null}}function Q_(e,t){return e===`global`?!0:e===`us`?t.startsWith(`us-`):e===`eu`?t.startsWith(`eu-`):e===`apac`?t.startsWith(`ap-`):!1}function $_(e,t){if(!J_.test(e.id)||!Y_.test(e.id))return!1;if(!t)return!0;let n=e.id.split(`.`,1)[0];return Q_(n,t)}function ev(e,t){return!rv(e,t,[`claude-opus-4-7`,`opus-4-7`])}function tv(e){return{onPayload:e.onPayload,onResponse:e.onResponse,toolChoice:e.toolChoice,thinkingDisplay:e.thinkingDisplay,interleavedThinking:e.interleavedThinking,requestMetadata:e.requestMetadata}}function nv(e,t){return(t?[e,t]:[e]).flatMap(e=>{let t=e.toLowerCase();return[t,t.replace(/[\s_.:]+/g,`-`)]})}function rv(e,t,n){return nv(e,t).some(e=>n.some(t=>e.includes(t)))}function iv(e){let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return t.length>64?t.slice(0,64):t}function av(e){return e?e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,`�`):``}function ov(e,t,n){let r=[],i=q_(e.messages,t,iv);for(let e=0;e<i.length;e++){let n=i[e];switch(n.role){case`user`:r.push({role:`user`,content:typeof n.content==`string`?[{text:av(n.content)}]:n.content.map(e=>{if(e.type===`text`)return{text:av(e.text)};if(e.type===`image`)return{image:sv(e.mimeType,e.data)};throw Error(`Unknown user content type: ${e.type}`)})});break;case`assistant`:{if(n.content.length===0)continue;let e=[];for(let r of n.content)switch(r.type){case`text`:if(r.text.trim().length===0)continue;e.push({text:av(r.text)});break;case`toolCall`:e.push({toolUse:{toolUseId:r.id,name:r.name,input:r.arguments}});break;case`thinking`:if(r.thinking.trim().length===0)continue;lv(t)?!r.thinkingSignature||r.thinkingSignature.trim().length===0?e.push({text:av(r.thinking)}):e.push({reasoningContent:{reasoningText:{text:av(r.thinking),signature:r.thinkingSignature}}}):e.push({reasoningContent:{reasoningText:{text:av(r.thinking)}}});break}if(e.length===0)continue;r.push({role:`assistant`,content:e});break}case`toolResult`:{let t=[];t.push({toolResult:{toolUseId:n.toolCallId,content:n.content.map(e=>e.type===`image`?{image:sv(e.mimeType,e.data)}:{text:av(e.text??e.json??JSON.stringify(e))}),status:n.isError?`error`:`success`}});let a=e+1;for(;a<i.length&&i[a].role===`toolResult`;){let e=i[a];t.push({toolResult:{toolUseId:e.toolCallId,content:e.content.map(e=>e.type===`image`?{image:sv(e.mimeType,e.data)}:{text:av(e.text??e.json??JSON.stringify(e))}),status:e.isError?`error`:`success`}}),a++}e=a-1,r.push({role:`user`,content:t});break}}}if(n!==`none`&&vv(t)&&r.length>0){let e=r[r.length-1];e.role===`user`&&Array.isArray(e.content)&&e.content.push(yv(n))}return r}function sv(e,t){return{source:{bytes:t},format:cv(e)}}function cv(e){switch(e){case`image/jpeg`:case`image/jpg`:return`jpeg`;case`image/png`:return`png`;case`image/gif`:return`gif`;case`image/webp`:return`webp`;default:throw Error(`Unsupported image MIME type: ${e}`)}}function lv(e){return _v(e)}function uv(e,t){return rv(e,t,[`opus-4-6`,`opus-4-7`,`sonnet-4-6`])}function dv(e,t){return rv(e,t,[`opus-4-7`])}function fv(e,t){return rv(e,t,[`opus-4-6`])}function pv(e,t){if(!e?.length||t===`none`)return;let n=e.map(e=>({toolSpec:{name:e.name,description:e.description,inputSchema:{json:e.parameters}}})),r;switch(t){case`auto`:r={auto:{}};break;case`any`:r={any:{}};break;default:t&&typeof t==`object`&&t.type===`tool`&&(r={tool:{name:t.name}})}return{tools:n,toolChoice:r}}function mv(e,t,n){if(e===`xhigh`&&dv(t,n))return`xhigh`;switch(e){case`minimal`:case`low`:return`low`;case`medium`:return`medium`;case`high`:return`high`;case`xhigh`:return fv(t,n)?`max`:`high`;default:return`high`}}function hv(e){if(Z_(e.baseUrl)?.toLowerCase().startsWith(`us-gov-`))return!0;let t=e.id.toLowerCase();return t.startsWith(`us-gov.`)||t.startsWith(`arn:aws-us-gov:`)}function gv(e,t){if(!t.reasoning||!e.reasoning||!_v(e))return;let n=hv(e)?void 0:t.thinkingDisplay??`summarized`;if(uv(e.id,e.name))return{thinking:{type:`adaptive`,...n===void 0?{}:{display:n}},output_config:{effort:mv(t.reasoning,e.id,e.name)}};let r={minimal:1024,low:2048,medium:8192,high:16384,xhigh:16384},i=t.reasoning===`xhigh`?`high`:t.reasoning,a={thinking:{type:`enabled`,budget_tokens:t.thinkingBudgets?.[i]??r[t.reasoning],...n===void 0?{}:{display:n}}};return(t.interleavedThinking??!0)&&(a.anthropic_beta=[`interleaved-thinking-2025-05-14`]),a}function _v(e){let t=e.id.toLowerCase(),n=e.name?.toLowerCase()??``;return t.includes(`anthropic.claude`)||t.includes(`anthropic/claude`)||n.includes(`anthropic.claude`)||n.includes(`anthropic/claude`)||n.includes(`claude`)}function vv(e){let t=nv(e.id,e.name);return t.some(e=>e.includes(`claude`))?!!(t.some(e=>e.includes(`-4-`))||t.some(e=>e.includes(`claude-3-7-sonnet`))||t.some(e=>e.includes(`claude-3-5-haiku`))):!1}function yv(e){return{cachePoint:{type:`default`,...e===`long`?{ttl:`1h`}:{}}}}function bv(e,t,n){if(!e)return;let r=[{text:av(e)}];return n!==`none`&&vv(t)&&r.push(yv(n)),r}function xv(e){switch(e){case`end_turn`:case`stop_sequence`:return`stop`;case`max_tokens`:case`model_context_window_exceeded`:return`length`;case`tool_use`:return`toolUse`;default:return`error`}}function Sv(e,t){let n=`Bedrock CAMP API error (${e})`;return e===429?n=`Throttling error: ${n}`:e===503?n=`Service unavailable: ${n}`:e===502||e===504||e>=500?n=`Internal server error: ${n}`:e===400&&(n=`Validation error: ${n}`),`${n}: ${t}`}function Cv(e,t,n,r){r.push({type:`start`,partial:n});let i=e.output?.message;if(i?.content)for(let e=0;e<i.content.length;e++){let t=i.content[e];if(t.text!==void 0){let e={type:`text`,text:t.text};n.content.push(e);let i=n.content.length-1;r.push({type:`text_start`,contentIndex:i,partial:n}),r.push({type:`text_delta`,contentIndex:i,delta:t.text,partial:n}),r.push({type:`text_end`,contentIndex:i,content:t.text,partial:n})}else if(t.toolUse){let e={type:`toolCall`,id:t.toolUse.toolUseId||``,name:t.toolUse.name||``,arguments:t.toolUse.input||{}};n.content.push(e);let i=n.content.length-1;r.push({type:`toolcall_start`,contentIndex:i,partial:n}),r.push({type:`toolcall_end`,contentIndex:i,toolCall:e,partial:n})}else if(t.reasoningContent?.reasoningText){let e={type:`thinking`,thinking:t.reasoningContent.reasoningText.text||``,thinkingSignature:t.reasoningContent.reasoningText.signature||``};n.content.push(e);let i=n.content.length-1;r.push({type:`thinking_start`,contentIndex:i,partial:n}),r.push({type:`thinking_delta`,contentIndex:i,delta:e.thinking,partial:n}),r.push({type:`thinking_end`,contentIndex:i,content:e.thinking,partial:n})}}e.usage&&(n.usage.input=e.usage.inputTokens||0,n.usage.output=e.usage.outputTokens||0,n.usage.cacheRead=e.usage.cacheReadInputTokens||0,n.usage.cacheWrite=e.usage.cacheWriteInputTokens||0,n.usage.totalTokens=e.usage.totalTokens||n.usage.input+n.usage.output,qu(t,n.usage)),n.stopReason=xv(e.stopReason||`end_turn`)}function wv(e){return e??`short`}function Tv(e){let t={};return e.headers.forEach((e,n)=>{t[n.toLowerCase()]=e}),t}const Ev=(e,t,n={})=>{let r=$u();return(async()=>{let i={role:`assistant`,content:[],api:`bedrock-camp-converse`,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 a=n.apiKey;if(!a)throw Error(`API key is required for Bedrock CAMP`);let o=e.baseUrl;if(!o)throw Error(`Base URL is required for Bedrock CAMP`);let s=wv(n.cacheRetention),c={};n.maxTokens!==void 0&&(c.maxTokens=n.maxTokens),n.temperature!==void 0&&ev(e.id,e.name)&&(c.temperature=n.temperature);let l={modelId:e.id,messages:ov(t,e,s),system:bv(t.systemPrompt,e,s),inferenceConfig:c,toolConfig:pv(t.tools,n.toolChoice),additionalModelRequestFields:gv(e,n),...n.requestMetadata===void 0?{}:{requestMetadata:n.requestMetadata}};if(l.system||delete l.system,l.toolConfig||delete l.toolConfig,l.additionalModelRequestFields||delete l.additionalModelRequestFields,n.onPayload){let t=await n.onPayload(l,e);t!==void 0&&(l=t)}let u=`${o.replace(/\/$/,``)}/model/${e.id}/converse`,d={"Content-Type":`application/json`,Authorization:`Bearer ${a}`,...n.headers??{}},f=await fetch(u,{method:`POST`,headers:d,body:JSON.stringify(l),signal:n.signal});if(n.onResponse&&await n.onResponse({status:f.status,headers:Tv(f)},e),!f.ok){let e=await f.text();throw Error(Sv(f.status,e))}if(Cv(await f.json(),e,i,r),i.stopReason===`error`||i.stopReason===`aborted`)throw Error(`An unknown error occurred`);r.push({type:`done`,reason:i.stopReason,message:i}),r.end()}catch(e){for(let e of i.content)delete e.index,delete e.partialJson;i.stopReason=n.signal?.aborted?`aborted`:`error`,i.errorMessage=e instanceof Error?e.message:JSON.stringify(e),r.push({type:`error`,reason:i.stopReason,error:i}),r.end()}})(),r},Dv=(e,t,n)=>{let r=U_(e,n,void 0),i=n?tv(n):{};if(!n?.reasoning)return Ev(e,t,{...r,...i,reasoning:void 0});if(_v(e)){if(uv(e.id,e.name))return Ev(e,t,{...r,...i,reasoning:n.reasoning,thinkingBudgets:n.thinkingBudgets});let a=G_(r.maxTokens||0,e.maxTokens,n.reasoning,n.thinkingBudgets);return Ev(e,t,{...r,...i,maxTokens:a.maxTokens,reasoning:n.reasoning,thinkingBudgets:{...n.thinkingBudgets||{},[W_(n.reasoning)]:a.budgetTokens}})}return Ev(e,t,{...r,...i,reasoning:n.reasoning,thinkingBudgets:n.thinkingBudgets})};function Ov(){vu({api:`bedrock-camp-converse`,stream:Ev,streamSimple:Dv})}var kv=c({copyTextToClipboard:()=>Av});async function Av(e){if(!e)return!1;if(typeof navigator<`u`&&navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}if(typeof document>`u`)return!1;try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed; opacity:0; pointer-events:none; left:-9999px;`,document.body.appendChild(t),t.select();let n=document.execCommand?.(`copy`)??!1;return document.body.removeChild(t),n}catch{return!1}}const jv=`slicc_oauth_extra_domains`;function Mv(e){try{let t=e.getItem(jv);if(!t)return{};let n=JSON.parse(t);if(typeof n!=`object`||!n||Array.isArray(n))return{};let r={};for(let[e,t]of Object.entries(n)){if(typeof e!=`string`||!Array.isArray(t))continue;let n=t.filter(e=>typeof e==`string`&&e.length>0);n.length>0&&(r[e]=n)}return r}catch{return{}}}function Nv(e,t){try{e.setItem(jv,JSON.stringify(t))}catch(e){throw Error(`Failed to persist OAuth extras (localStorage quota exceeded?): ${e instanceof Error?e.message:String(e)}`)}}[`ghp_`,`gho_`,`ghu_`,`ghs_`,`ghr_`,`github_pat_`,`sk-`,`pk-`,`xoxb-`,`xoxp-`,`xoxa-`,`xoxs-`,`AKIA`,`ABIA`,`ACCA`,`ASIA`,`sk-ant-`,`Bearer `].sort((e,t)=>t.length-e.length);function Pv(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(n===`*`)return!0;if(!n.startsWith(`*.`))return n===r;let i=n.slice(1);return r.length>i.length&&r.endsWith(i)}function Fv(e,t){return e.some(e=>Pv(e,t))}var Iv=c({createPanelRpcClient:()=>zv,getPanelRpcClient:()=>Vv,hasLocalDom:()=>Hv,panelRpcChannelName:()=>Rv});const Lv=`slicc-panel-rpc`;function Rv(e){return e?`${Lv}:${e}`:Lv}function zv(e={}){if(typeof BroadcastChannel!=`function`)return{call:()=>Promise.reject(Error(`panel-rpc: BroadcastChannel is unavailable`)),dispose:()=>{}};let t=Rv(e.instanceId),n=new BroadcastChannel(t),r=new Map;n.addEventListener(`message`,e=>{let t=e.data;if(t?.type!==`panel-rpc-response`)return;let n=r.get(t.id);n&&(r.delete(t.id),clearTimeout(n.timer),typeof t.error==`string`?n.reject(Error(t.error)):n.resolve(t.result))});function i(e,t,i={}){let a=Bv(),o=i.timeoutMs??15e3;return new Promise((i,s)=>{let c=setTimeout(()=>{r.delete(a),s(Error(`panel-rpc: op '${e}' timed out after ${o}ms`))},o);r.set(a,{resolve:i,reject:s,timer:c});let l={type:`panel-rpc-request`,id:a,op:e,payload:t};n.postMessage(l)})}function a(){for(let[,e]of r)clearTimeout(e.timer),e.reject(Error(`panel-rpc: client disposed`));r.clear();try{n.close()}catch{}}return{call:i,dispose:a}}function Bv(){return typeof crypto<`u`&&typeof crypto.randomUUID==`function`?`prpc-${crypto.randomUUID()}`:`prpc-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,12)}`}function Vv(){return globalThis.__slicc_panelRpc??null}function Hv(){return typeof window<`u`&&typeof document<`u`}var Uv=c({addAccount:()=>_y,getAccounts:()=>uy,getAllAvailableModels:()=>ly,getAllExtraOAuthDomains:()=>my,getApiKey:()=>ky,getApiKeyForProvider:()=>Sy,getApiVersionForProvider:()=>Ty,getAvailableProviders:()=>ey,getBaseUrlForProvider:()=>Cy,getDeploymentForProvider:()=>wy,getExtraOAuthDomains:()=>dy,getOAuthAccountInfo:()=>iy,getProviderConfig:()=>ty,getProviderModels:()=>ry,getRawApiKeyForProvider:()=>xy,getSelectedModelId:()=>Ey,getSelectedProvider:()=>Oy,isModelHiddenFromPicker:()=>sy,logoutOAuthAccount:()=>yy,migrateLegacyAuthOnlySelection:()=>$v,removeAccount:()=>vy,resolveCurrentModel:()=>jy,resolveModelById:()=>Ay,saveOAuthAccount:()=>by,setExtraOAuthDomains:()=>fy,setExtraOAuthDomainsAsync:()=>py});const Wv=Wu,Gv=Ku,Kv=`slicc_accounts`,qv=`selected-model`,Jv=[`slicc_provider`,`slicc_api_key`,`slicc_base_url`,`anthropic_api_key`,`api_provider`,`azure_resource`,`bedrock_region`],Yv=new Set([`github`]);function Xv(e){let t;try{t=Gu()}catch{return!1}return t.includes(e)&&!Ze(e)}let Zv=!1;function Qv(){if(!Zv){Zv=!0;for(let e of Jv)try{localStorage.removeItem(e)}catch{}$v()}}function $v(){try{let e=localStorage.getItem(qv);if(e){let t=e.indexOf(`:`);if(t>0){let n=e.slice(0,t);(Yv.has(n)||Xv(n))&&localStorage.removeItem(qv)}}}catch{}try{let e=localStorage.getItem(Kv);if(!e)return;let t=JSON.parse(e);if(!Array.isArray(t))return;let n=t.filter(e=>!(typeof e==`object`&&e&&typeof e.providerId==`string`&&Xv(e.providerId)));n.length!==t.length&&localStorage.setItem(Kv,JSON.stringify(n))}catch{}}function ey(){let e=Gu().filter(Ze),t=nt();return[...new Set([...e,...t])].filter(e=>!tt(e)?.hidden)}function ty(e){return tt(e)||{id:e,name:e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `),description:`${e} provider`,requiresApiKey:!0,requiresBaseUrl:!1}}function ny(e,t){t.context_window!==void 0&&(e.contextWindow=t.context_window),t.max_tokens!==void 0&&(e.maxTokens=t.max_tokens),t.reasoning!==void 0&&(e.reasoning=t.reasoning),t.input!==void 0&&(e.input=t.input),t.compat!==void 0&&(e.compat={...e.compat??{},...t.compat}),t.thinkingLevelMap!==void 0&&(e.thinkingLevelMap={...e.thinkingLevelMap??{},...t.thinkingLevelMap})}function ry(e){try{if(e===`bedrock-camp`){let e=Z_(Cy(`bedrock-camp`));return Gv(`amazon-bedrock`).filter(t=>$_(t,e)).map(e=>({...e,api:`bedrock-camp-converse`,provider:`bedrock-camp`}))}let t=ty(e);if(t.getModelIds){let n;try{n=t.getModelIds()}catch(t){return ay.error(`Provider getModelIds callback failed`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}let r=new Map;for(let e of Gu())try{for(let t of Gv(e))r.set(t.id,t)}catch{}return n.map(n=>{let i=`${e}-${n.api===`openai`?`openai`:`anthropic`}`,a=r.get(n.id),o=a?{...a,api:i,provider:e}:{id:n.id,name:n.name??n.id,provider:e,api:i,baseUrl:``,contextWindow:2e5,maxTokens:16384,input:[`text`,`image`],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},inputCost:0,outputCost:0,cacheReadCost:0,cacheWriteCost:0,reasoning:!0},s=t.modelOverrides?.[n.id];return s&&ny(o,s),ny(o,n),o})}if(t.isOAuth){let n=Gv(`anthropic`),r=`${e}-anthropic`;return n.map(n=>{let i={...n,api:r,provider:e},a=t.modelOverrides?.[n.id];return a&&ny(i,a),i})}return Gv(e===`azure-ai-foundry`?`anthropic`:e)}catch(t){return ay.error(`Failed to load models`,{providerId:e,error:t instanceof Error?t.message:String(t)}),[]}}function iy(e){let t=uy().find(t=>t.providerId===e);if(!t?.accessToken)return null;let n=!!t.tokenExpiresAt&&Date.now()>t.tokenExpiresAt-6e4;return{token:t.accessToken,maskedValue:t.maskedValue,expiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar,expired:n}}Object.assign({})[`/packages/webapp/providers.json`];const ay=v(`provider-settings`),oy=[/haiku/i];function sy(e){return oy.some(t=>t.test(e))}function cy(e){return e.filter(e=>!sy(e.id))}function ly(){let e=uy();if(e.length===0)return[];let t=new Map;for(let n of e){if(t.has(n.providerId))continue;let e=ty(n.providerId);if(e.hidden||Xv(n.providerId))continue;let r=cy(ry(n.providerId));if(r.length===0)continue;let i={providerId:n.providerId,providerName:e.name,models:r};t.set(n.providerId,i)}return[...t.values()]}function uy(){Qv();let e=localStorage.getItem(Kv);if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.providerId==`string`&&typeof e.apiKey==`string`):[]}catch{return[]}}function dy(e){return Mv(localStorage)[e]??[]}function fy(e,t){let n=Mv(localStorage),r=t.map(e=>e.trim()).filter(e=>e.length>0);r.length===0?delete n[e]:n[e]=r,Nv(localStorage,n)}async function py(e,t){if(Hv()){fy(e,t);return}let n=Vv();if(!n)throw Error(`setExtraOAuthDomainsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let{storeAfter:r}=await n.call(`oauth-extras-set`,{providerId:e,domains:t});try{Nv(localStorage,r)}catch(t){ay.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{providerId:e,error:t instanceof Error?t.message:String(t)})}}function my(){return Mv(localStorage)}function hy(e){localStorage.setItem(Kv,JSON.stringify(e))}async function gy(e){if(Hv()){hy(e);return}let t=Vv();if(!t)throw Error(`saveAccountsAsync: no DOM and no panel-rpc client — cannot persist to page localStorage`);let n=JSON.stringify(e),{storedJson:r}=await t.call(`save-oauth-accounts`,{accountsJson:n});try{localStorage.setItem(Kv,r)}catch(e){ay.warn(`worker-shim mirror failed after successful page write — reload to refresh`,{error:e instanceof Error?e.message:String(e)})}}function _y(e,t,n,r,i){let a=uy().filter(t=>t.providerId!==e),o={providerId:e,apiKey:t};n&&(o.baseUrl=n),r&&(o.deployment=r),i&&(o.apiVersion=i),a.push(o),hy(a)}async function vy(e){let t=uy().find(t=>t.providerId===e),n=ty(e);t&&n?.isOAuth&&await yy(e);let r=typeof chrome<`u`&&!!chrome?.runtime?.id;try{if(r)await chrome.storage.local.remove([`oauth.${e}.token`,`oauth.${e}.token_DOMAINS`]);else{let t=await fetch(`/api/secrets/oauth/${e}`,{method:`DELETE`});!t.ok&&t.status!==404&&ay.warn(`OAuth replica DELETE non-ok`,{providerId:e,status:t.status})}}catch(t){ay.error(`OAuth replica removal failed`,{providerId:e,isExtension:r,error:t instanceof Error?t.message:String(t)})}await gy(uy().filter(t=>t.providerId!==e));let i=localStorage.getItem(qv)??``,a=i.indexOf(`:`);a>0&&i.slice(0,a)===e&&localStorage.removeItem(qv)}async function yy(e){let t=uy().find(t=>t.providerId===e);if(!t)return;let n=ty(e);if(!n?.isOAuth)return;if(n.onOAuthLogout)try{await n.onOAuthLogout()}catch(t){ay.warn(`onOAuthLogout failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})}if(n.getOAuthLogoutUrl){let r=n.getOAuthLogoutUrl(t);if(r){let{openIdpLogoutUrl:t}=await import(`./oauth-service-CG1zuuwj.js`);await t(r).catch(t=>{ay.warn(`IdP logout popup failed`,{providerId:e,error:t instanceof Error?t.message:String(t)})})}}await gy(uy().map(t=>t.providerId===e?{providerId:t.providerId,apiKey:``,baseUrl:t.baseUrl,userName:t.userName,userAvatar:t.userAvatar,loggedOut:!0}:t));let r=typeof chrome<`u`&&!!chrome?.runtime?.id;try{if(r)await chrome.storage.local.remove([`oauth.${e}.token`,`oauth.${e}.token_DOMAINS`]);else{let t=await fetch(`/api/secrets/oauth/${e}`,{method:`DELETE`});!t.ok&&t.status!==404&&ay.warn(`OAuth replica DELETE non-ok during logout`,{providerId:e,status:t.status})}}catch(t){ay.error(`OAuth replica removal failed during logout`,{providerId:e,isExtension:r,error:t instanceof Error?t.message:String(t)})}}async function by(e){let t=uy().find(t=>t.providerId===e.providerId),n=uy().filter(t=>t.providerId!==e.providerId);n.push({providerId:e.providerId,apiKey:``,accessToken:e.accessToken,refreshToken:e.refreshToken,tokenExpiresAt:e.tokenExpiresAt,userName:e.userName,userAvatar:e.userAvatar,baseUrl:e.baseUrl??t?.baseUrl}),await gy(n);let r=ty(e.providerId)?.oauthTokenDomains??[],i=dy(e.providerId),a=new Set,o=[];for(let e of[...r,...i]){let t=e.toLowerCase();a.has(t)||(a.add(t),o.push(e))}if(o.length===0)return;let s=typeof chrome<`u`&&!!chrome?.runtime?.id;try{if(s){await chrome.storage.local.set({[`oauth.${e.providerId}.token`]:e.accessToken,[`oauth.${e.providerId}.token_DOMAINS`]:o.join(`,`)});let t=await new Promise(t=>{chrome.runtime.sendMessage({type:`secrets.mask-oauth-token`,providerId:e.providerId},n=>{chrome.runtime.lastError&&ay.error(`SW mask-oauth-token transport failed`,{providerId:e.providerId,error:chrome.runtime.lastError.message}),t(n??{})})});if(t.error&&ay.warn(`SW mask-oauth-token returned error`,{providerId:e.providerId,error:t.error}),t.maskedValue){let n=uy(),r=n.find(t=>t.providerId===e.providerId);r&&(r.maskedValue=t.maskedValue,await gy(n))}}else{let t=await fetch(`/api/secrets/oauth-update`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({providerId:e.providerId,accessToken:e.accessToken,domains:o})});if(t.ok){let n=await t.json(),r=uy(),i=r.find(t=>t.providerId===e.providerId);i&&typeof n.maskedValue==`string`&&(i.maskedValue=n.maskedValue,await gy(r))}else ay.warn(`OAuth replica POST non-ok`,{providerId:e.providerId,status:t.status})}}catch(t){ay.error(`OAuth replica sync failed`,{providerId:e.providerId,isExtension:s,error:t instanceof Error?t.message:String(t)})}}function xy(e){let t=uy().find(t=>t.providerId===e);return t&&(t.accessToken||t.apiKey)||null}function Sy(e){let t=uy().find(t=>t.providerId===e);return t?t.accessToken||t.apiKey||(ty(e).optionalApiKey?`local`:null):null}function Cy(e){return uy().find(t=>t.providerId===e)?.baseUrl??null}function wy(e){return uy().find(t=>t.providerId===e)?.deployment??null}function Ty(e){return uy().find(t=>t.providerId===e)?.apiVersion??null}function Ey(){let e=localStorage.getItem(qv)||``,t=e.indexOf(`:`);return t>=0?e.slice(t+1):e}function Dy(){return localStorage.getItem(qv)||``}function Oy(){let e=Dy(),t=e.indexOf(`:`);if(t>0)return e.slice(0,t);let n=uy();return n.length>0?n[0].providerId:`anthropic`}function ky(){return Sy(Oy())}function Ay(e){if(!e)return jy();let t=Oy(),n=Cy(t);try{let r=ty(t),i=Wv(r.isOAuth||t===`azure-ai-foundry`?`anthropic`:t===`bedrock-camp`?`amazon-bedrock`:t,e);if(!i?.id)throw Error(`Model ${e} not found`);let a=i;return r.isOAuth?a=ry(t).find(t=>t.id===e)||{...a,api:`${t}-anthropic`,provider:t}:t===`bedrock-camp`&&(a={...a,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(a={...a,baseUrl:n}),a}catch{return jy()}}function jy(){let e=Oy(),t=Ey(),n=Cy(e),r=ry(e),i=ty(e),a=i.defaultModelId?r.find(e=>e.id.toLowerCase().includes(i.defaultModelId.toLowerCase()))?.id:void 0,o=t||a||r[0]?.id||`claude-sonnet-4-6`;try{let t=ty(e),i=t.isOAuth||e===`azure-ai-foundry`?`anthropic`:e===`bedrock-camp`?`amazon-bedrock`:e,a=Wv(i,o);if(!a?.id)throw Error(`Model ${o} not found in ${i} registry`);let s=a;return t.isOAuth?s=r.find(e=>e.id===o)||{...s,api:`${e}-anthropic`,provider:e}:e===`bedrock-camp`&&(s={...s,api:`bedrock-camp-converse`,provider:`bedrock-camp`}),n&&(s={...s,baseUrl:n}),s}catch{let e=r.find(e=>e.id===o);return e?n?{...e,baseUrl:n}:e:Wv(`anthropic`,`claude-sonnet-4-0`)}}const My=[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`];function Ny(e){return typeof e==`string`&&My.includes(e)}const Py=v(`agent-bridge`);function Fy(e,t,n=null,r={}){let i=r.generateName??By,a=r.generateUid??Ly,o=r.resolveModel??Hy;function s(){for(let t=0;t<8;t++){let t=i(),n=`agent_${Vy(t)}`;if(!e.getScoops().some(e=>e.jid===n))return t}return a()}function c(t){if(t===void 0)return null;let n=e.getScoops().find(e=>e.jid===t);if(!n)return null;let r=n.config?.modelId;return r&&r.length>0?r:null}function l(t){if(t===void 0)return null;let n=e.getScoops().find(e=>e.jid===t);if(!n)return null;let r=n.config?.thinkingLevel;return r&&Ny(r)?r:null}async function u(r){let i=r.modelId;if(i!==void 0&&(i===``||o(i)===null))return{finalText:`agent: unknown model: ${i}`,exitCode:1};let a=i??c(r.parentJid)??``,u=r.thinkingLevel;if(u!==void 0&&!Ny(u))return{finalText:`agent: invalid thinking level: ${String(u)} (one of: ${My.join(`, `)})`,exitCode:1};let d=u??l(r.parentJid)??void 0,f=s(),p=`agent-${f}`,m=`agent_${Vy(f)}`,h=`/scoops/${p}`,g=Uy(r.cwd),_={visiblePaths:Wy(r),writablePaths:Gy([g,`/shared/`,`${h}/`,`/tmp/`]),allowedCommands:r.allowedCommands};a&&(_.modelId=a),d!==void 0&&(_.thinkingLevel=d);let v={jid:m,name:p,folder:p,isCone:!1,type:`scoop`,requiresTrigger:!1,assistantLabel:p,addedAt:new Date().toISOString(),config:_,configSchemaVersion:2,notifyOnComplete:!1},y=[],b=``,x=null,S=e.observeScoop(m,{onSendMessage:e=>{y.push(e)},onResponse:(e,t)=>{t?b+=e:b=e},onError:e=>{x===null&&(x=e)}});try{try{await e.registerScoop(v)}catch(e){return{finalText:x??Ky(e),exitCode:1}}return await e.sendPrompt(m,r.prompt,`agent`,`agent`),x===null?{finalText:y.length>0?y[y.length-1]:b,exitCode:0}:{finalText:x,exitCode:1}}catch(e){return{finalText:x??Ky(e),exitCode:1}}finally{S();try{await e.unregisterScoop(m)}catch(e){Py.warn(`unregisterScoop failed`,{jid:m,error:Ky(e)})}try{await t.rm(h,{recursive:!0})}catch(e){qy(e,`ENOENT`)||Py.warn(`scratch folder cleanup failed`,{folder:p,error:Ky(e)})}if(n)try{await n.delete(m)}catch(e){Py.warn(`sessionStore.delete failed`,{jid:m,error:Ky(e)})}}}return{spawn:u}}function Iy(e,t,n=null,r={}){let i=Fy(e,t,n,r);return globalThis.__slicc_agent=i,Py.info(`agent bridge published on globalThis.__slicc_agent`),i}function Ly(){let e=globalThis;return typeof e.crypto?.randomUUID==`function`?e.crypto.randomUUID().replace(/-/g,``).slice(0,12):`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`}const Ry=`amber.bouncy.breezy.bubbly.cheeky.chilly.cozy.dapper.dreamy.eager.exuberant.fluffy.frosty.gentle.giddy.glossy.jolly.lucky.mellow.merry.nimble.plucky.quirky.salty.sleepy.snappy.sparkly.spiffy.sunny.sweet.toasty.velvety.whimsy.zesty`.split(`.`),zy=`blueberry.butterscotch.caramel.cherry.chocolate.cinnamon.coconut.coffee.cookies.custard.espresso.fudge.gelato.hazelnut.honeycomb.lavender.lemon.mango.maple.marzipan.matcha.mint.mocha.neapolitan.nougat.peach.pecan.pistachio.praline.raspberry.sherbet.sorbet.stracciatella.strawberry.tiramisu.toffee.vanilla`.split(`.`);function By(){return`${Ry[Math.floor(Math.random()*Ry.length)]}-${zy[Math.floor(Math.random()*zy.length)]}`}function Vy(e){return e.replace(/-/g,`_`)}function Hy(e){try{let t=ly();for(let n of t)if(n.models.some(t=>t.id===e))return e;return null}catch{return null}}function Uy(e){let t=L(e);return t.endsWith(`/`)?t:`${t}/`}function Wy(e){if(e.visiblePaths!==void 0)return e.visiblePaths.map(Uy);let t=[`/workspace/`];return e.invokingCwd&&e.invokingCwd.length>0&&t.push(Uy(e.invokingCwd)),Gy(t)}function Gy(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function Ky(e){return e instanceof Error?e.message:String(e)}function qy(e,t){if(typeof e!=`object`||!e)return!1;let n=e.code;return typeof n==`string`&&n===t}const Jy=v(`mount-picker-popup`);function Yy(e){let t=e??`mount-${Date.now().toString(36)}`;return new Promise(e=>{let n=chrome.runtime.getURL(`mount-popup.html?requestId=${encodeURIComponent(t)}`),r=()=>{clearTimeout(i),chrome.runtime.onMessage.removeListener(a)},i=setTimeout(()=>{r(),e({cancelled:!0})},6e4),a=n=>{let i=n;i?.source!==`mount-popup`||i.requestId!==t||(r(),e(i))};chrome.runtime.onMessage.addListener(a),chrome.windows.create({url:n,type:`popup`,width:300,height:80,focused:!0}).catch(n=>{r(),Jy.error(`chrome.windows.create failed for mount picker popup`,{requestId:t,error:n instanceof Error?n.message:String(n),name:n instanceof Error?n.name:void 0}),e({error:`Failed to open directory picker window`})})})}async function Xy(e){let t=await new Promise((e,t)=>{let n=indexedDB.open(`slicc-pending-mount`,1);n.onupgradeneeded=()=>{n.result.objectStoreNames.contains(`handles`)||n.result.createObjectStore(`handles`)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),n=t.transaction(`handles`,`readwrite`),r=n.objectStore(`handles`),i=r.get(e),a=r.delete(e);a.onerror=()=>{Jy.warn(`Failed to delete pending handle from IDB`,{idbKey:e,error:a.error})};let o=await new Promise((e,t)=>{n.oncomplete=()=>e(i.result??null),i.onerror=()=>t(i.error??Error(`IDB get failed`)),n.onerror=()=>t(n.error??Error(`IDB transaction failed`)),n.onabort=()=>t(n.error??Error(`IDB transaction aborted`))});return t.close(),o}async function Zy(e){let t=e;if(t.requestPermission){let n=await t.requestPermission({mode:`readwrite`});if(n!==`granted`)throw Error(`Permission denied for "${e.name}" (${n})`)}}var B=class extends Error{code;path;constructor(e,t,n){super(`${e}: ${t}${n?` '${n}'`:``}`),this.code=e,this.path=n,this.name=`FsError`}};const Qy=Symbol(`mount:timeout`);var $y=class e{kind=`local`;source=void 0;profile=void 0;mountId;handle;closed=!1;constructor(e,t){this.handle=e,this.mountId=t.mountId}static fromHandle(t,n){return new e(t,n)}static async create(t){if(t.isScoop())throw Error(`mount: cannot mount local directories from a scoop (no UI). Ask the cone.`);let n;if(t.toolContext){let e=De.generateId(),r=!1,i=Oe({id:e,html:`
|
|
984
984
|
<div class="sprinkle-action-card">
|
|
985
985
|
<div class="sprinkle-action-card__header">Mount local directory <span class="sprinkle-badge sprinkle-badge--notice">approval</span></div>
|
|
986
986
|
<div class="sprinkle-action-card__actions">
|
|
@@ -2629,7 +2629,7 @@ let t=ZCe(),n=QCe(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?S
|
|
|
2629
2629
|
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
2630
2630
|
var n=GJ(),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=a);function a(e,t,n){return r(e,t,n)}a.prototype=Object.create(r.prototype),i(r,a),a.from=function(e,t,n){if(typeof e==`number`)throw TypeError(`Argument must not be a number`);return r(e,t,n)},a.alloc=function(e,t,n){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);var i=r(e);return t===void 0?i.fill(0):typeof n==`string`?i.fill(t,n):i.fill(t),i},a.allocUnsafe=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return r(e)},a.allocUnsafeSlow=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return n.SlowBuffer(e)}})),rwe=s(((e,t)=>{var n={}.toString;t.exports=Array.isArray||function(e){return n.call(e)==`[object Array]`}})),qJ=s(((e,t)=>{t.exports=TypeError})),JJ=s(((e,t)=>{t.exports=Object})),iwe=s(((e,t)=>{t.exports=Error})),awe=s(((e,t)=>{t.exports=EvalError})),owe=s(((e,t)=>{t.exports=RangeError})),swe=s(((e,t)=>{t.exports=ReferenceError})),YJ=s(((e,t)=>{t.exports=SyntaxError})),cwe=s(((e,t)=>{t.exports=URIError})),lwe=s(((e,t)=>{t.exports=Math.abs})),uwe=s(((e,t)=>{t.exports=Math.floor})),dwe=s(((e,t)=>{t.exports=Math.max})),fwe=s(((e,t)=>{t.exports=Math.min})),pwe=s(((e,t)=>{t.exports=Math.pow})),mwe=s(((e,t)=>{t.exports=Math.round})),hwe=s(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),gwe=s(((e,t)=>{var n=hwe();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),_we=s(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),XJ=s(((e,t)=>{var n=_we();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),ZJ=s(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),QJ=s(((e,t)=>{t.exports=function(){if(typeof Symbol!=`function`||typeof Object.getOwnPropertySymbols!=`function`)return!1;if(typeof Symbol.iterator==`symbol`)return!0;var e={},t=Symbol(`test`),n=Object(t);if(typeof t==`string`||Object.prototype.toString.call(t)!==`[object Symbol]`||Object.prototype.toString.call(n)!==`[object Symbol]`)return!1;var r=42;for(var i in e[t]=r,e)return!1;if(typeof Object.keys==`function`&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames==`function`&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor==`function`){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}})),vwe=s(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,r=QJ();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:r()}})),$J=s(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),eY=s(((e,t)=>{t.exports=JJ().getPrototypeOf||null})),ywe=s(((e,t)=>{var n=`Function.prototype.bind called on incompatible `,r=Object.prototype.toString,i=Math.max,a=`[object Function]`,o=function(e,t){for(var n=[],r=0;r<e.length;r+=1)n[r]=e[r];for(var i=0;i<t.length;i+=1)n[i+e.length]=t[i];return n},s=function(e,t){for(var n=[],r=t||0,i=0;r<e.length;r+=1,i+=1)n[i]=e[r];return n},c=function(e,t){for(var n=``,r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n};t.exports=function(e){var t=this;if(typeof t!=`function`||r.apply(t)!==a)throw TypeError(n+t);for(var l=s(arguments,1),u,d=function(){if(this instanceof u){var n=t.apply(this,o(l,arguments));return Object(n)===n?n:this}return t.apply(e,o(l,arguments))},f=i(0,t.length-l.length),p=[],m=0;m<f;m++)p[m]=`$`+m;if(u=Function(`binder`,`return function (`+c(p,`,`)+`){ return binder.apply(this,arguments); }`)(d),t.prototype){var h=function(){};h.prototype=t.prototype,u.prototype=new h,h.prototype=null}return u}})),tY=s(((e,t)=>{var n=ywe();t.exports=Function.prototype.bind||n})),nY=s(((e,t)=>{t.exports=Function.prototype.call})),rY=s(((e,t)=>{t.exports=Function.prototype.apply})),bwe=s(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),iY=s(((e,t)=>{var n=tY(),r=rY(),i=nY();t.exports=bwe()||n.call(i,r)})),aY=s(((e,t)=>{var n=tY(),r=qJ(),i=nY(),a=iY();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),xwe=s(((e,t)=>{var n=aY(),r=XJ(),i;try{i=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=`object`||!(`code`in e)||e.code!==`ERR_PROTO_ACCESS`)throw e}var a=!!i&&r&&r(Object.prototype,`__proto__`),o=Object,s=o.getPrototypeOf;t.exports=a&&typeof a.get==`function`?n([a.get]):typeof s==`function`?function(e){return s(e==null?e:o(e))}:!1})),oY=s(((e,t)=>{var n=$J(),r=eY(),i=xwe();t.exports=n?function(e){return n(e)}:r?function(e){if(!e||typeof e!=`object`&&typeof e!=`function`)throw TypeError(`getProto: not an object`);return r(e)}:i?function(e){return i(e)}:null})),Swe=s(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=tY().call(n,r)})),sY=s(((e,t)=>{var n,r=JJ(),i=iwe(),a=awe(),o=owe(),s=swe(),c=YJ(),l=qJ(),u=cwe(),d=lwe(),f=uwe(),p=dwe(),m=fwe(),h=pwe(),g=mwe(),_=gwe(),v=Function,y=function(e){try{return v(`"use strict"; return (`+e+`).constructor;`)()}catch{}},b=XJ(),x=ZJ(),S=function(){throw new l},C=b?function(){try{return arguments.callee,S}catch{try{return b(arguments,`callee`).get}catch{return S}}}():S,w=vwe()(),T=oY(),E=eY(),D=$J(),O=rY(),ee=nY(),k={},te=typeof Uint8Array>`u`||!T?n:T(Uint8Array),A={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":w&&T?T([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":k,"%AsyncGenerator%":k,"%AsyncGeneratorFunction%":k,"%AsyncIteratorPrototype%":k,"%Atomics%":typeof Atomics>`u`?n:Atomics,"%BigInt%":typeof BigInt>`u`?n:BigInt,"%BigInt64Array%":typeof BigInt64Array>`u`?n:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>`u`?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>`u`?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>`u`?n:Float16Array,"%Float32Array%":typeof Float32Array>`u`?n:Float32Array,"%Float64Array%":typeof Float64Array>`u`?n:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>`u`?n:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":k,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&T?T(T([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!w||!T?n:T(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":b,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!w||!T?n:T(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&T?T(``[Symbol.iterator]()):n,"%Symbol%":w?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":C,"%TypedArray%":te,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>`u`?n:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>`u`?n:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>`u`?n:Uint16Array,"%Uint32Array%":typeof Uint32Array>`u`?n:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":ee,"%Function.prototype.apply%":O,"%Object.defineProperty%":x,"%Object.getPrototypeOf%":E,"%Math.abs%":d,"%Math.floor%":f,"%Math.max%":p,"%Math.min%":m,"%Math.pow%":h,"%Math.round%":g,"%Math.sign%":_,"%Reflect.getPrototypeOf%":D};if(T)try{null.error}catch(e){A[`%Error.prototype%`]=T(T(e))}var j=function e(t){var n;if(t===`%AsyncFunction%`)n=y(`async function () {}`);else if(t===`%GeneratorFunction%`)n=y(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=y(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&T&&(n=T(i.prototype))}return A[t]=n,n},ne={__proto__:null,"%ArrayBufferPrototype%":[`ArrayBuffer`,`prototype`],"%ArrayPrototype%":[`Array`,`prototype`],"%ArrayProto_entries%":[`Array`,`prototype`,`entries`],"%ArrayProto_forEach%":[`Array`,`prototype`,`forEach`],"%ArrayProto_keys%":[`Array`,`prototype`,`keys`],"%ArrayProto_values%":[`Array`,`prototype`,`values`],"%AsyncFunctionPrototype%":[`AsyncFunction`,`prototype`],"%AsyncGenerator%":[`AsyncGeneratorFunction`,`prototype`],"%AsyncGeneratorPrototype%":[`AsyncGeneratorFunction`,`prototype`,`prototype`],"%BooleanPrototype%":[`Boolean`,`prototype`],"%DataViewPrototype%":[`DataView`,`prototype`],"%DatePrototype%":[`Date`,`prototype`],"%ErrorPrototype%":[`Error`,`prototype`],"%EvalErrorPrototype%":[`EvalError`,`prototype`],"%Float32ArrayPrototype%":[`Float32Array`,`prototype`],"%Float64ArrayPrototype%":[`Float64Array`,`prototype`],"%FunctionPrototype%":[`Function`,`prototype`],"%Generator%":[`GeneratorFunction`,`prototype`],"%GeneratorPrototype%":[`GeneratorFunction`,`prototype`,`prototype`],"%Int8ArrayPrototype%":[`Int8Array`,`prototype`],"%Int16ArrayPrototype%":[`Int16Array`,`prototype`],"%Int32ArrayPrototype%":[`Int32Array`,`prototype`],"%JSONParse%":[`JSON`,`parse`],"%JSONStringify%":[`JSON`,`stringify`],"%MapPrototype%":[`Map`,`prototype`],"%NumberPrototype%":[`Number`,`prototype`],"%ObjectPrototype%":[`Object`,`prototype`],"%ObjProto_toString%":[`Object`,`prototype`,`toString`],"%ObjProto_valueOf%":[`Object`,`prototype`,`valueOf`],"%PromisePrototype%":[`Promise`,`prototype`],"%PromiseProto_then%":[`Promise`,`prototype`,`then`],"%Promise_all%":[`Promise`,`all`],"%Promise_reject%":[`Promise`,`reject`],"%Promise_resolve%":[`Promise`,`resolve`],"%RangeErrorPrototype%":[`RangeError`,`prototype`],"%ReferenceErrorPrototype%":[`ReferenceError`,`prototype`],"%RegExpPrototype%":[`RegExp`,`prototype`],"%SetPrototype%":[`Set`,`prototype`],"%SharedArrayBufferPrototype%":[`SharedArrayBuffer`,`prototype`],"%StringPrototype%":[`String`,`prototype`],"%SymbolPrototype%":[`Symbol`,`prototype`],"%SyntaxErrorPrototype%":[`SyntaxError`,`prototype`],"%TypedArrayPrototype%":[`TypedArray`,`prototype`],"%TypeErrorPrototype%":[`TypeError`,`prototype`],"%Uint8ArrayPrototype%":[`Uint8Array`,`prototype`],"%Uint8ClampedArrayPrototype%":[`Uint8ClampedArray`,`prototype`],"%Uint16ArrayPrototype%":[`Uint16Array`,`prototype`],"%Uint32ArrayPrototype%":[`Uint32Array`,`prototype`],"%URIErrorPrototype%":[`URIError`,`prototype`],"%WeakMapPrototype%":[`WeakMap`,`prototype`],"%WeakSetPrototype%":[`WeakSet`,`prototype`]},re=tY(),ie=Swe(),ae=re.call(ee,Array.prototype.concat),oe=re.call(O,Array.prototype.splice),se=re.call(ee,String.prototype.replace),ce=re.call(ee,String.prototype.slice),le=re.call(ee,RegExp.prototype.exec),ue=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,M=/\\(\\)?/g,de=function(e){var t=ce(e,0,1),n=ce(e,-1);if(t===`%`&&n!==`%`)throw new c("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new c("invalid intrinsic syntax, expected opening `%`");var r=[];return se(e,ue,function(e,t,n,i){r[r.length]=n?se(i,M,`$1`):t||e}),r},fe=function(e,t){var n=e,r;if(ie(ne,n)&&(r=ne[n],n=`%`+r[0]+`%`),ie(A,n)){var i=A[n];if(i===k&&(i=j(n)),i===void 0&&!t)throw new l(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new c(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new l(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new l(`"allowMissing" argument must be a boolean`);if(le(/^%?[^%]*%?$/,e)===null)throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=de(e),r=n.length>0?n[0]:``,i=fe(`%`+r+`%`,t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(r=u[0],oe(n,ae([0,1],u)));for(var d=1,f=!0;d<n.length;d+=1){var p=n[d],m=ce(p,0,1),h=ce(p,-1);if((m===`"`||m===`'`||m==="`"||h===`"`||h===`'`||h==="`")&&m!==h)throw new c(`property names with quotes must have matching quotes`);if((p===`constructor`||!f)&&(s=!0),r+=`.`+p,a=`%`+r+`%`,ie(A,a))o=A[a];else if(o!=null){if(!(p in o)){if(!t)throw new l(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(b&&d+1>=n.length){var g=b(o,p);f=!!g,o=f&&`get`in g&&!(`originalValue`in g.get)?g.get:o[p]}else f=ie(o,p),o=o[p];f&&!s&&(A[a]=o)}}return o}})),cY=s(((e,t)=>{var n=sY(),r=aY(),i=r([n(`%String.prototype.indexOf%`)]);t.exports=function(e,t){var a=n(e,!!t);return typeof a==`function`&&i(e,`.prototype.`)>-1?r([a]):a}})),Cwe=s(((e,t)=>{var n=Function.prototype.toString,r=typeof Reflect==`object`&&Reflect!==null&&Reflect.apply,i,a;if(typeof r==`function`&&typeof Object.defineProperty==`function`)try{i=Object.defineProperty({},"length",{get:function(){throw a}}),a={},r(function(){throw 42},null,i)}catch(e){e!==a&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},c=function(e){try{return s(e)?!1:(n.call(e),!0)}catch{return!1}},l=Object.prototype.toString,u=`[object Object]`,d=`[object Function]`,f=`[object GeneratorFunction]`,p=`[object HTMLAllCollection]`,m=`[object HTML document.all class]`,h=`[object HTMLCollection]`,g=typeof Symbol==`function`&&!!Symbol.toStringTag,_=!(0 in[,]),v=function(){return!1};if(typeof document==`object`){var y=document.all;l.call(y)===l.call(document.all)&&(v=function(e){if((_||!e)&&(e===void 0||typeof e==`object`))try{var t=l.call(e);return(t===p||t===m||t===h||t===u)&&e(``)==null}catch{}return!1})}t.exports=r?function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;try{r(e,null,i)}catch(e){if(e!==a)return!1}return!s(e)&&c(e)}:function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;if(g)return c(e);if(s(e))return!1;var t=l.call(e);return t!==d&&t!==f&&!/^\[object HTML/.test(t)?!1:c(e)}})),wwe=s(((e,t)=>{var n=Cwe(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,a=e.length;r<a;r++)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))},o=function(e,t,n){for(var r=0,i=e.length;r<i;r++)n==null?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},s=function(e,t,n){for(var r in e)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))};function c(e){return r.call(e)===`[object Array]`}t.exports=function(e,t,r){if(!n(t))throw TypeError(`iterator must be a function`);var i;arguments.length>=3&&(i=r),c(e)?a(e,t,i):typeof e==`string`?o(e,t,i):s(e,t,i)}})),Twe=s(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),Ewe=s(((e,t)=>{var n=Twe(),r=globalThis;t.exports=function(){for(var e=[],t=0;t<n.length;t++)typeof r[n[t]]==`function`&&(e[e.length]=n[t]);return e}})),Dwe=s(((e,t)=>{var n=ZJ(),r=YJ(),i=qJ(),a=XJ();t.exports=function(e,t,o){if(!e||typeof e!=`object`&&typeof e!=`function`)throw new i("`obj` must be an object or a function`");if(typeof t!=`string`&&typeof t!=`symbol`)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=`boolean`&&arguments[3]!==null)throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=`boolean`&&arguments[4]!==null)throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=`boolean`&&arguments[5]!==null)throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=`boolean`)throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6?arguments[6]:!1,d=!!a&&a(e,t);if(n)n(e,t,{configurable:l===null&&d?d.configurable:!l,enumerable:s===null&&d?d.enumerable:!s,value:o,writable:c===null&&d?d.writable:!c});else if(u||!s&&!c&&!l)e[t]=o;else throw new r(`This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.`)}})),Owe=s(((e,t)=>{var n=ZJ(),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return n([],`length`,{value:1}).length!==1}catch{return!0}},t.exports=r})),kwe=s(((e,t)=>{var n=sY(),r=Dwe(),i=Owe()(),a=XJ(),o=qJ(),s=n(`%Math.floor%`);t.exports=function(e,t){if(typeof e!=`function`)throw new o("`fn` is not a function");if(typeof t!=`number`||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],c=!0,l=!0;if(`length`in e&&a){var u=a(e,`length`);u&&!u.configurable&&(c=!1),u&&!u.writable&&(l=!1)}return(c||l||!n)&&(i?r(e,`length`,t,!0,!0):r(e,`length`,t)),e}})),Awe=s(((e,t)=>{var n=tY(),r=rY(),i=iY();t.exports=function(){return i(n,r,arguments)}})),jwe=s(((e,t)=>{var n=kwe(),r=ZJ(),i=aY(),a=Awe();t.exports=function(e){var t=i(arguments),r=e.length-(arguments.length-1);return n(t,1+(r>0?r:0),!0)},r?r(t.exports,`apply`,{value:a}):t.exports.apply=a})),Mwe=s(((e,t)=>{var n=QJ();t.exports=function(){return n()&&!!Symbol.toStringTag}})),Nwe=s(((e,t)=>{var n=wwe(),r=Ewe(),i=jwe(),a=cY(),o=XJ(),s=oY(),c=a(`Object.prototype.toString`),l=Mwe()(),u=globalThis,d=r(),f=a(`String.prototype.slice`),p=a(`Array.prototype.indexOf`,!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},m={__proto__:null};l&&o&&s?n(d,function(e){var t=new u[e];if(Symbol.toStringTag in t&&s){var n=s(t),r=o(n,Symbol.toStringTag);if(!r&&n&&(r=o(s(n),Symbol.toStringTag)),r&&r.get){var a=i(r.get);m[`$`+e]=a}}}):n(d,function(e){var t=new u[e],n=t.slice||t.set;if(n){var r=i(n);m[`$`+e]=r}});var h=function(e){var t=!1;return n(m,function(n,r){if(!t)try{`$`+n(e)===r&&(t=f(r,1))}catch{}}),t},g=function(e){var t=!1;return n(m,function(n,r){if(!t)try{n(e),t=f(r,1)}catch{}}),t};t.exports=function(e){if(!e||typeof e!=`object`)return!1;if(!l){var t=f(c(e),8,-1);return p(d,t)>-1?t:t===`Object`?g(e):!1}return o?h(e):null}})),Pwe=s(((e,t)=>{var n=Nwe();t.exports=function(e){return!!n(e)}})),Fwe=s(((e,t)=>{var n=qJ(),r=cY()(`TypedArray.prototype.buffer`,!0),i=Pwe();t.exports=r||function(e){if(!i(e))throw new n(`Not a Typed Array`);return e.buffer}})),Iwe=s(((e,t)=>{var n=KJ().Buffer,r=rwe(),i=Fwe(),a=ArrayBuffer.isView||function(e){try{return i(e),!0}catch{return!1}},o=typeof Uint8Array<`u`,s=typeof ArrayBuffer<`u`&&typeof Uint8Array<`u`,c=s&&(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);t.exports=function(e,t){if(n.isBuffer(e))return e.constructor&&!(`isBuffer`in e)?n.from(e):e;if(typeof e==`string`)return n.from(e,t);if(s&&a(e)){if(e.byteLength===0)return n.alloc(0);if(c){var i=n.from(e.buffer,e.byteOffset,e.byteLength);if(i.byteLength===e.byteLength)return i}var l=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u=n.from(l);if(u.length===e.byteLength)return u}if(o&&e instanceof Uint8Array)return n.from(e);var d=r(e);if(d)for(var f=0;f<e.length;f+=1){var p=e[f];if(typeof p!=`number`||p<0||p>255||~~p!==p)throw RangeError(`Array items must be numbers in the range 0-255.`)}if(d||n.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e))return n.from(e);throw TypeError(`The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.`)}})),Lwe=s(((e,t)=>{var n=KJ().Buffer,r=Iwe();function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){e=r(e,t||`utf8`);for(var n=this._block,i=this._blockSize,a=e.length,o=this._len,s=0;s<a;){for(var c=o%i,l=Math.min(a-s,i-c),u=0;u<l;u++)n[c+u]=e[s+u];o+=l,s+=l,o%i===0&&this._update(n)}return this._len+=a,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=this._len*8;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(n&4294967295)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a},i.prototype._update=function(){throw Error(`_update must be implemented by subclass`)},t.exports=i})),Rwe=s(((e,t)=>{var n=nwe(),r=Lwe(),i=KJ().Buffer,a=[1518500249,1859775393,-1894007588,-899497514],o=Array(80);function s(){this.init(),this._w=o,r.call(this,64,56)}n(s,r),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function c(e){return e<<1|e>>>31}function l(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function d(e,t,n,r){return e===0?t&n|~t&r:e===2?t&n|t&r|n&r:t^n^r}s.prototype._update=function(e){for(var t=this._w,n=this._a|0,r=this._b|0,i=this._c|0,o=this._d|0,s=this._e|0,f=0;f<16;++f)t[f]=e.readInt32BE(f*4);for(;f<80;++f)t[f]=c(t[f-3]^t[f-8]^t[f-14]^t[f-16]);for(var p=0;p<80;++p){var m=~~(p/20),h=l(n)+d(m,r,i,o)+s+t[p]+a[m]|0;s=o,o=i,i=u(r),r=n,n=h}this._a=n+this._a|0,this._b=r+this._b|0,this._c=i+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e},t.exports=s})),zwe=s((e=>{
|
|
2631
2631
|
/*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */
|
|
2632
|
-
(function(t){typeof DO_NOT_EXPORT_CRC>`u`?typeof e==`object`?t(e):typeof define==`function`&&define.amd?define(function(){var e={};return t(e),e}):t({}):t({})})(function(e){e.version=`1.2.2`;function t(){for(var e=0,t=Array(256),n=0;n!=256;++n)e=n,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,t[n]=e;return typeof Int32Array<`u`?new Int32Array(t):t}var n=t();function r(e){var t=0,n=0,r=0,i=typeof Int32Array<`u`?new Int32Array(4096):Array(4096);for(r=0;r!=256;++r)i[r]=e[r];for(r=0;r!=256;++r)for(n=e[r],t=256+r;t<4096;t+=256)n=i[t]=n>>>8^e[n&255];var a=[];for(r=1;r!=16;++r)a[r-1]=typeof Int32Array<`u`?i.subarray(r*256,r*256+256):i.slice(r*256,r*256+256);return a}var i=r(n),a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14];function b(e,t){for(var r=t^-1,i=0,a=e.length;i<a;)r=r>>>8^n[(r^e.charCodeAt(i++))&255];return~r}function x(e,t){for(var r=t^-1,i=e.length-15,b=0;b<i;)r=y[e[b++]^r&255]^v[e[b++]^r>>8&255]^_[e[b++]^r>>16&255]^g[e[b++]^r>>>24]^h[e[b++]]^m[e[b++]]^p[e[b++]]^f[e[b++]]^d[e[b++]]^u[e[b++]]^l[e[b++]]^c[e[b++]]^s[e[b++]]^o[e[b++]]^a[e[b++]]^n[e[b++]];for(i+=15;b<i;)r=r>>>8^n[(r^e[b++])&255];return~r}function S(e,t){for(var r=t^-1,i=0,a=e.length,o=0,s=0;i<a;)o=e.charCodeAt(i++),o<128?r=r>>>8^n[(r^o)&255]:o<2048?(r=r>>>8^n[(r^(192|o>>6&31))&255],r=r>>>8^n[(r^(128|o&63))&255]):o>=55296&&o<57344?(o=(o&1023)+64,s=e.charCodeAt(i++)&1023,r=r>>>8^n[(r^(240|o>>8&7))&255],r=r>>>8^n[(r^(128|o>>2&63))&255],r=r>>>8^n[(r^(128|s>>6&15|(o&3)<<4))&255],r=r>>>8^n[(r^(128|s&63))&255]):(r=r>>>8^n[(r^(224|o>>12&15))&255],r=r>>>8^n[(r^(128|o>>6&63))&255],r=r>>>8^n[(r^(128|o&63))&255]);return~r}e.table=n,e.bstr=b,e.buf=x,e.str=S})})),lY=s((e=>{var t=typeof Uint8Array<`u`&&typeof Uint16Array<`u`&&typeof Int32Array<`u`;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!=`object`)throw TypeError(r+`must be non-object`);for(var i in r)n(r,i)&&(e[i]=r[i])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),i);return}for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){var t,n,r=0,i,a,o;for(t=0,n=e.length;t<n;t++)r+=e[t].length;for(o=new Uint8Array(r),i=0,t=0,n=e.length;t<n;t++)a=e[t],o.set(a,i),i+=a.length;return o}},i={arraySet:function(e,t,n,r,i){for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,i))},e.setTyped(t)})),Bwe=s((e=>{var t=lY(),n=4,r=0,i=1,a=2;function o(e){for(var t=e.length;--t>=0;)e[t]=0}var s=0,c=1,l=2,u=3,d=258,f=29,p=256,m=p+1+f,h=30,g=19,_=2*m+1,v=15,y=16,b=7,x=256,S=16,C=17,w=18,T=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],E=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],O=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ee=512,k=Array((m+2)*2);o(k);var te=Array(h*2);o(te);var A=Array(ee);o(A);var j=Array(d-u+1);o(j);var ne=Array(f);o(ne);var re=Array(h);o(re);function ie(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var ae,oe,se;function ce(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function le(e){return e<256?A[e]:A[256+(e>>>7)]}function ue(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function M(e,t,n){e.bi_valid>y-n?(e.bi_buf|=t<<e.bi_valid&65535,ue(e,e.bi_buf),e.bi_buf=t>>y-e.bi_valid,e.bi_valid+=n-y):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function de(e,t,n){M(e,n[t*2],n[t*2+1])}function fe(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function pe(e){e.bi_valid===16?(ue(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function me(e,t){var n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=v;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<_;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}}function he(e,t,n){var r=Array(v+1),i=0,a,o;for(a=1;a<=v;a++)r[a]=i=i+n[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=fe(r[s]++,s))}}function ge(){var e,t,n,r,i,a=Array(v+1);for(n=0,r=0;r<f-1;r++)for(ne[r]=n,e=0;e<1<<T[r];e++)j[n++]=r;for(j[n-1]=r,i=0,r=0;r<16;r++)for(re[r]=i,e=0;e<1<<E[r];e++)A[i++]=r;for(i>>=7;r<h;r++)for(re[r]=i<<7,e=0;e<1<<E[r]-7;e++)A[256+ i++]=r;for(t=0;t<=v;t++)a[t]=0;for(e=0;e<=143;)k[e*2+1]=8,e++,a[8]++;for(;e<=255;)k[e*2+1]=9,e++,a[9]++;for(;e<=279;)k[e*2+1]=7,e++,a[7]++;for(;e<=287;)k[e*2+1]=8,e++,a[8]++;for(he(k,m+1,a),e=0;e<h;e++)te[e*2+1]=5,te[e*2]=fe(e,5);ae=new ie(k,T,p+1,m,v),oe=new ie(te,E,0,h,v),se=new ie([],D,0,g,b)}function _e(e){var t;for(t=0;t<m;t++)e.dyn_ltree[t*2]=0;for(t=0;t<h;t++)e.dyn_dtree[t*2]=0;for(t=0;t<g;t++)e.bl_tree[t*2]=0;e.dyn_ltree[x*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function ve(e){e.bi_valid>8?ue(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function ye(e,n,r,i){ve(e),i&&(ue(e,r),ue(e,~r)),t.arraySet(e.pending_buf,e.window,n,r,e.pending),e.pending+=r}function N(e,t,n,r){var i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]}function be(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&N(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!N(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function xe(e,t,n){var r,i,a=0,o,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,r===0?de(e,i,t):(o=j[i],de(e,o+p+1,t),s=T[o],s!==0&&(i-=ne[o],M(e,i,s)),r--,o=le(r),de(e,o,n),s=E[o],s!==0&&(r-=re[o],M(e,r,s)));while(a<e.last_lit);de(e,x,t)}function Se(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=_,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)be(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],be(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,be(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],me(e,t),he(n,c,e.bl_count)}function Ce(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[C*2]++:e.bl_tree[w*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[S*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))}function we(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do de(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(de(e,C,e.bl_tree),M(e,s-3,3)):(de(e,w,e.bl_tree),M(e,s-11,7)):(a!==i&&(de(e,a,e.bl_tree),s--),de(e,S,e.bl_tree),M(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}}function P(e){var t;for(Ce(e,e.dyn_ltree,e.l_desc.max_code),Ce(e,e.dyn_dtree,e.d_desc.max_code),Se(e,e.bl_desc),t=g-1;t>=3&&e.bl_tree[O[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Te(e,t,n,r){var i;for(M(e,t-257,5),M(e,n-1,5),M(e,r-4,4),i=0;i<r;i++)M(e,e.bl_tree[O[i]*2+1],3);we(e,e.dyn_ltree,t-1),we(e,e.dyn_dtree,n-1)}function F(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return r;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return i;for(n=32;n<p;n++)if(e.dyn_ltree[n*2]!==0)return i;return r}var I=!1;function Ee(e){I||=(ge(),!0),e.l_desc=new ce(e.dyn_ltree,ae),e.d_desc=new ce(e.dyn_dtree,oe),e.bl_desc=new ce(e.bl_tree,se),e.bi_buf=0,e.bi_valid=0,_e(e)}function De(e,t,n,r){M(e,(s<<1)+ +!!r,3),ye(e,t,n,!0)}function Oe(e){M(e,c<<1,3),de(e,x,k),pe(e)}function ke(e,t,r,i){var o,s,u=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=F(e)),Se(e,e.l_desc),Se(e,e.d_desc),u=P(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?De(e,t,r,i):e.strategy===n||s===o?(M(e,(c<<1)+ +!!i,3),xe(e,k,te)):(M(e,(l<<1)+ +!!i,3),Te(e,e.l_desc.max_code+1,e.d_desc.max_code+1,u+1),xe(e,e.dyn_ltree,e.dyn_dtree)),_e(e),i&&ve(e)}function Ae(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(j[n]+p+1)*2]++,e.dyn_dtree[le(t)*2]++),e.last_lit===e.lit_bufsize-1}e._tr_init=Ee,e._tr_stored_block=De,e._tr_flush_block=ke,e._tr_tally=Ae,e._tr_align=Oe})),uY=s(((e,t)=>{function n(e,t,n,r){for(var i=e&65535|0,a=e>>>16&65535|0,o=0;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0}t.exports=n})),dY=s(((e,t)=>{function n(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var r=n();function i(e,t,n,i){var a=r,o=i+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^a[(e^t[s])&255];return e^-1}t.exports=i})),fY=s(((e,t)=>{t.exports={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`}})),Vwe=s((e=>{var t=lY(),n=Bwe(),r=uY(),i=dY(),a=fY(),o=0,s=1,c=3,l=4,u=5,d=0,f=1,p=-2,m=-3,h=-5,g=-1,_=1,v=2,y=3,b=4,x=0,S=2,C=8,w=9,T=15,E=8,D=286,O=30,ee=19,k=2*D+1,te=15,A=3,j=258,ne=j+A+1,re=32,ie=42,ae=69,oe=73,se=91,ce=103,le=113,ue=666,M=1,de=2,fe=3,pe=4,me=3;function he(e,t){return e.msg=a[t],t}function ge(e){return(e<<1)-(e>4?9:0)}function _e(e){for(var t=e.length;--t>=0;)e[t]=0}function ve(e){var n=e.state,r=n.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(t.arraySet(e.output,n.pending_buf,n.pending_out,r,e.next_out),e.next_out+=r,n.pending_out+=r,e.total_out+=r,e.avail_out-=r,n.pending-=r,n.pending===0&&(n.pending_out=0))}function ye(e,t){n._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ve(e.strm)}function N(e,t){e.pending_buf[e.pending++]=t}function be(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function xe(e,n,a,o){var s=e.avail_in;return s>o&&(s=o),s===0?0:(e.avail_in-=s,t.arraySet(n,e.input,e.next_in,s,a),e.state.wrap===1?e.adler=r(e.adler,n,s,a):e.state.wrap===2&&(e.adler=i(e.adler,n,s,a)),e.next_in+=s,e.total_in+=s,s)}function Se(e,t){var n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-ne?e.strstart-(e.w_size-ne):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+j,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=j-(f-r),r=f-j,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead}function Ce(e){var n=e.w_size,r,i,a,o,s;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=n+(n-ne)){t.arraySet(e.window,e.window,n,n,0),e.match_start-=n,e.strstart-=n,e.block_start-=n,i=e.hash_size,r=i;do a=e.head[--r],e.head[r]=a>=n?a-n:0;while(--i);i=n,r=i;do a=e.prev[--r],e.prev[r]=a>=n?a-n:0;while(--i);o+=n}if(e.strm.avail_in===0)break;if(i=xe(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=i,e.lookahead+e.insert>=A)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+A-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<A)););}while(e.lookahead<ne&&e.strm.avail_in!==0)}function we(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Ce(e),e.lookahead===0&&t===o)return M;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,ye(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ne&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):(e.strstart>e.block_start&&(ye(e,!1),e.strm.avail_out),M)}function P(e,t){for(var r,i;;){if(e.lookahead<ne){if(Ce(e),e.lookahead<ne&&t===o)return M;if(e.lookahead===0)break}if(r=0,e.lookahead>=A&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-ne&&(e.match_length=Se(e,r)),e.match_length>=A)if(i=n._tr_tally(e,e.strstart-e.match_start,e.match_length-A),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=A){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=e.strstart<A-1?e.strstart:A-1,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function Te(e,t){for(var r,i,a;;){if(e.lookahead<ne){if(Ce(e),e.lookahead<ne&&t===o)return M;if(e.lookahead===0)break}if(r=0,e.lookahead>=A&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=A-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ne&&(e.match_length=Se(e,r),e.match_length<=5&&(e.strategy===_||e.match_length===A&&e.strstart-e.match_start>4096)&&(e.match_length=A-1)),e.prev_length>=A&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-A,i=n._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-A),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=a&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=A-1,e.strstart++,i&&(ye(e,!1),e.strm.avail_out===0))return M}else if(e.match_available){if(i=n._tr_tally(e,0,e.window[e.strstart-1]),i&&ye(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return M}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(i=n._tr_tally(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<A-1?e.strstart:A-1,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function F(e,t){for(var r,i,a,s,c=e.window;;){if(e.lookahead<=j){if(Ce(e),e.lookahead<=j&&t===o)return M;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=A&&e.strstart>0&&(a=e.strstart-1,i=c[a],i===c[++a]&&i===c[++a]&&i===c[++a])){s=e.strstart+j;do;while(i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&a<s);e.match_length=j-(s-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=A?(r=n._tr_tally(e,1,e.match_length-A),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function I(e,t){for(var r;;){if(e.lookahead===0&&(Ce(e),e.lookahead===0)){if(t===o)return M;break}if(e.match_length=0,r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function Ee(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var De=[new Ee(0,0,0,0,we),new Ee(4,4,8,4,P),new Ee(4,5,16,8,P),new Ee(4,6,32,32,P),new Ee(4,4,16,16,Te),new Ee(8,16,32,32,Te),new Ee(8,16,128,128,Te),new Ee(8,32,128,256,Te),new Ee(32,128,258,1024,Te),new Ee(32,258,258,4096,Te)];function Oe(e){e.window_size=2*e.w_size,_e(e.head),e.max_lazy_match=De[e.level].max_lazy,e.good_match=De[e.level].good_length,e.nice_match=De[e.level].nice_length,e.max_chain_length=De[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=A-1,e.match_available=0,e.ins_h=0}function ke(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=C,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new t.Buf16(k*2),this.dyn_dtree=new t.Buf16((2*O+1)*2),this.bl_tree=new t.Buf16((2*ee+1)*2),_e(this.dyn_ltree),_e(this.dyn_dtree),_e(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new t.Buf16(te+1),this.heap=new t.Buf16(2*D+1),_e(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new t.Buf16(2*D+1),_e(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ae(e){var t;return!e||!e.state?he(e,p):(e.total_in=e.total_out=0,e.data_type=S,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ie:le,e.adler=t.wrap===2?0:1,t.last_flush=o,n._tr_init(t),d)}function je(e){var t=Ae(e);return t===d&&Oe(e.state),t}function Me(e,t){return!e||!e.state||e.state.wrap!==2?p:(e.state.gzhead=t,d)}function Ne(e,n,r,i,a,o){if(!e)return p;var s=1;if(n===g&&(n=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),a<1||a>w||r!==C||i<8||i>15||n<0||n>9||o<0||o>b)return he(e,p);i===8&&(i=9);var c=new ke;return e.state=c,c.strm=e,c.wrap=s,c.gzhead=null,c.w_bits=i,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=a+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+A-1)/A),c.window=new t.Buf8(c.w_size*2),c.head=new t.Buf16(c.hash_size),c.prev=new t.Buf16(c.w_size),c.lit_bufsize=1<<a+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new t.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=n,c.strategy=o,c.method=r,je(e)}function Pe(e,t){return Ne(e,t,C,T,E,x)}function Fe(e,t){var r,a,m,g;if(!e||!e.state||t>u||t<0)return e?he(e,p):p;if(a=e.state,!e.output||!e.input&&e.avail_in!==0||a.status===ue&&t!==l)return he(e,e.avail_out===0?h:p);if(a.strm=e,r=a.last_flush,a.last_flush=t,a.status===ie)if(a.wrap===2)e.adler=0,N(a,31),N(a,139),N(a,8),a.gzhead?(N(a,+!!a.gzhead.text+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),N(a,a.gzhead.time&255),N(a,a.gzhead.time>>8&255),N(a,a.gzhead.time>>16&255),N(a,a.gzhead.time>>24&255),N(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),N(a,a.gzhead.os&255),a.gzhead.extra&&a.gzhead.extra.length&&(N(a,a.gzhead.extra.length&255),N(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=i(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=ae):(N(a,0),N(a,0),N(a,0),N(a,0),N(a,0),N(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),N(a,me),a.status=le);else{var _=C+(a.w_bits-8<<4)<<8,b=-1;b=a.strategy>=v||a.level<2?0:a.level<6?1:a.level===6?2:3,_|=b<<6,a.strstart!==0&&(_|=re),_+=31-_%31,a.status=le,be(a,_),a.strstart!==0&&(be(a,e.adler>>>16),be(a,e.adler&65535)),e.adler=1}if(a.status===ae)if(a.gzhead.extra){for(m=a.pending;a.gzindex<(a.gzhead.extra.length&65535)&&!(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ve(e),m=a.pending,a.pending===a.pending_buf_size));)N(a,a.gzhead.extra[a.gzindex]&255),a.gzindex++;a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=oe)}else a.status=oe;if(a.status===oe)if(a.gzhead.name){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ve(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.name.length?a.gzhead.name.charCodeAt(a.gzindex++)&255:0,N(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.gzindex=0,a.status=se)}else a.status=se;if(a.status===se)if(a.gzhead.comment){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ve(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.comment.length?a.gzhead.comment.charCodeAt(a.gzindex++)&255:0,N(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.status=ce)}else a.status=ce;if(a.status===ce&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&ve(e),a.pending+2<=a.pending_buf_size&&(N(a,e.adler&255),N(a,e.adler>>8&255),e.adler=0,a.status=le)):a.status=le),a.pending!==0){if(ve(e),e.avail_out===0)return a.last_flush=-1,d}else if(e.avail_in===0&&ge(t)<=ge(r)&&t!==l)return he(e,h);if(a.status===ue&&e.avail_in!==0)return he(e,h);if(e.avail_in!==0||a.lookahead!==0||t!==o&&a.status!==ue){var x=a.strategy===v?I(a,t):a.strategy===y?F(a,t):De[a.level].func(a,t);if((x===fe||x===pe)&&(a.status=ue),x===M||x===fe)return e.avail_out===0&&(a.last_flush=-1),d;if(x===de&&(t===s?n._tr_align(a):t!==u&&(n._tr_stored_block(a,0,0,!1),t===c&&(_e(a.head),a.lookahead===0&&(a.strstart=0,a.block_start=0,a.insert=0))),ve(e),e.avail_out===0))return a.last_flush=-1,d}return t===l?a.wrap<=0?f:(a.wrap===2?(N(a,e.adler&255),N(a,e.adler>>8&255),N(a,e.adler>>16&255),N(a,e.adler>>24&255),N(a,e.total_in&255),N(a,e.total_in>>8&255),N(a,e.total_in>>16&255),N(a,e.total_in>>24&255)):(be(a,e.adler>>>16),be(a,e.adler&65535)),ve(e),a.wrap>0&&(a.wrap=-a.wrap),a.pending===0?f:d):d}function Ie(e){var t;return!e||!e.state?p:(t=e.state.status,t!==ie&&t!==ae&&t!==oe&&t!==se&&t!==ce&&t!==le&&t!==ue?he(e,p):(e.state=null,t===le?he(e,m):d))}function Le(e,n){var i=n.length,a,o,s,c,l,u,f,m;if(!e||!e.state||(a=e.state,c=a.wrap,c===2||c===1&&a.status!==ie||a.lookahead))return p;for(c===1&&(e.adler=r(e.adler,n,i,0)),a.wrap=0,i>=a.w_size&&(c===0&&(_e(a.head),a.strstart=0,a.block_start=0,a.insert=0),m=new t.Buf8(a.w_size),t.arraySet(m,n,i-a.w_size,a.w_size,0),n=m,i=a.w_size),l=e.avail_in,u=e.next_in,f=e.input,e.avail_in=i,e.next_in=0,e.input=n,Ce(a);a.lookahead>=A;){o=a.strstart,s=a.lookahead-(A-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[o+A-1])&a.hash_mask,a.prev[o&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=o,o++;while(--s);a.strstart=o,a.lookahead=A-1,Ce(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=A-1,a.match_available=0,e.next_in=u,e.input=f,e.avail_in=l,a.wrap=c,d}e.deflateInit=Pe,e.deflateInit2=Ne,e.deflateReset=je,e.deflateResetKeep=Ae,e.deflateSetHeader=Me,e.deflate=Fe,e.deflateEnd=Ie,e.deflateSetDictionary=Le,e.deflateInfo=`pako deflate (from Nodeca project)`})),pY=s((e=>{var t=lY(),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch{n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{r=!1}for(var i=new t.Buf8(256),a=0;a<256;a++)i[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;i[254]=i[254]=1,e.string2buf=function(e){var n,r,i,a,o,s=e.length,c=0;for(a=0;a<s;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),c+=r<128?1:r<2048?2:r<65536?3:4;for(n=new t.Buf8(c),o=0,a=0;o<c;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),r<128?n[o++]=r:r<2048?(n[o++]=192|r>>>6,n[o++]=128|r&63):r<65536?(n[o++]=224|r>>>12,n[o++]=128|r>>>6&63,n[o++]=128|r&63):(n[o++]=240|r>>>18,n[o++]=128|r>>>12&63,n[o++]=128|r>>>6&63,n[o++]=128|r&63);return n};function o(e,i){if(i<65534&&(e.subarray&&r||!e.subarray&&n))return String.fromCharCode.apply(null,t.shrinkBuf(e,i));for(var a=``,o=0;o<i;o++)a+=String.fromCharCode(e[o]);return a}e.buf2binstring=function(e){return o(e,e.length)},e.binstring2buf=function(e){for(var n=new t.Buf8(e.length),r=0,i=n.length;r<i;r++)n[r]=e.charCodeAt(r);return n},e.buf2string=function(e,t){var n,r,a,s,c=t||e.length,l=Array(c*2);for(r=0,n=0;n<c;){if(a=e[n++],a<128){l[r++]=a;continue}if(s=i[a],s>4){l[r++]=65533,n+=s-1;continue}for(a&=s===2?31:s===3?15:7;s>1&&n<c;)a=a<<6|e[n++]&63,s--;if(s>1){l[r++]=65533;continue}a<65536?l[r++]=a:(a-=65536,l[r++]=55296|a>>10&1023,l[r++]=56320|a&1023)}return o(l,r)},e.utf8border=function(e,t){var n;for(t||=e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+i[e[n]]>t?n:t}})),mY=s(((e,t)=>{function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}t.exports=n})),Hwe=s((e=>{var t=Vwe(),n=lY(),r=pY(),i=fY(),a=mY(),o=Object.prototype.toString,s=0,c=4,l=0,u=1,d=2,f=-1,p=0,m=8;function h(e){if(!(this instanceof h))return new h(e);this.options=n.assign({level:f,method:m,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:``},e||{});var s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var c=t.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(c!==l)throw Error(i[c]);if(s.header&&t.deflateSetHeader(this.strm,s.header),s.dictionary){var u=typeof s.dictionary==`string`?r.string2buf(s.dictionary):o.call(s.dictionary)===`[object ArrayBuffer]`?new Uint8Array(s.dictionary):s.dictionary;if(c=t.deflateSetDictionary(this.strm,u),c!==l)throw Error(i[c]);this._dict_set=!0}}h.prototype.push=function(e,i){var a=this.strm,f=this.options.chunkSize,p,m;if(this.ended)return!1;m=i===~~i?i:i===!0?c:s,typeof e==`string`?a.input=r.string2buf(e):o.call(e)===`[object ArrayBuffer]`?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(a.avail_out===0&&(a.output=new n.Buf8(f),a.next_out=0,a.avail_out=f),p=t.deflate(a,m),p!==u&&p!==l)return this.onEnd(p),this.ended=!0,!1;(a.avail_out===0||a.avail_in===0&&(m===c||m===d))&&(this.options.to===`string`?this.onData(r.buf2binstring(n.shrinkBuf(a.output,a.next_out))):this.onData(n.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||a.avail_out===0)&&p!==u);return m===c?(p=t.deflateEnd(this.strm),this.onEnd(p),this.ended=!0,p===l):m===d?(this.onEnd(l),a.avail_out=0,!0):!0},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===l&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function g(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||i[n.err];return n.result}function _(e,t){return t||={},t.raw=!0,g(e,t)}function v(e,t){return t||={},t.gzip=!0,g(e,t)}e.Deflate=h,e.deflate=g,e.deflateRaw=_,e.gzip=v})),Uwe=s(((e,t)=>{var n=30,r=12;t.exports=function(e,t){var i=e.state,a=e.next_in,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D=e.input,O;o=a+(e.avail_in-5),s=e.next_out,O=e.output,c=s-(t-e.avail_out),l=s+(e.avail_out-257),u=i.dmax,d=i.wsize,f=i.whave,p=i.wnext,m=i.window,h=i.hold,g=i.bits,_=i.lencode,v=i.distcode,y=(1<<i.lenbits)-1,b=(1<<i.distbits)-1;top:do{g<15&&(h+=D[a++]<<g,g+=8,h+=D[a++]<<g,g+=8),x=_[h&y];dolen:for(;;){if(S=x>>>24,h>>>=S,g-=S,S=x>>>16&255,S===0)O[s++]=x&65535;else if(S&16){C=x&65535,S&=15,S&&(g<S&&(h+=D[a++]<<g,g+=8),C+=h&(1<<S)-1,h>>>=S,g-=S),g<15&&(h+=D[a++]<<g,g+=8,h+=D[a++]<<g,g+=8),x=v[h&b];dodist:for(;;){if(S=x>>>24,h>>>=S,g-=S,S=x>>>16&255,S&16){if(w=x&65535,S&=15,g<S&&(h+=D[a++]<<g,g+=8,g<S&&(h+=D[a++]<<g,g+=8)),w+=h&(1<<S)-1,w>u){e.msg=`invalid distance too far back`,i.mode=n;break top}if(h>>>=S,g-=S,S=s-c,w>S){if(S=w-S,S>f&&i.sane){e.msg=`invalid distance too far back`,i.mode=n;break top}if(T=0,E=m,p===0){if(T+=d-S,S<C){C-=S;do O[s++]=m[T++];while(--S);T=s-w,E=O}}else if(p<S){if(T+=d+p-S,S-=p,S<C){C-=S;do O[s++]=m[T++];while(--S);if(T=0,p<C){S=p,C-=S;do O[s++]=m[T++];while(--S);T=s-w,E=O}}}else if(T+=p-S,S<C){C-=S;do O[s++]=m[T++];while(--S);T=s-w,E=O}for(;C>2;)O[s++]=E[T++],O[s++]=E[T++],O[s++]=E[T++],C-=3;C&&(O[s++]=E[T++],C>1&&(O[s++]=E[T++]))}else{T=s-w;do O[s++]=O[T++],O[s++]=O[T++],O[s++]=O[T++],C-=3;while(C>2);C&&(O[s++]=O[T++],C>1&&(O[s++]=O[T++]))}}else if(S&64){e.msg=`invalid distance code`,i.mode=n;break top}else{x=v[(x&65535)+(h&(1<<S)-1)];continue dodist}break}}else if(!(S&64)){x=_[(x&65535)+(h&(1<<S)-1)];continue dolen}else if(S&32){i.mode=r;break top}else{e.msg=`invalid literal/length code`,i.mode=n;break top}break}}while(a<o&&s<l);C=g>>3,a-=C,g-=C<<3,h&=(1<<g)-1,e.next_in=a,e.next_out=s,e.avail_in=a<o?5+(o-a):5-(a-o),e.avail_out=s<l?257+(l-s):257-(s-l),i.hold=h,i.bits=g}})),Wwe=s(((e,t)=>{var n=lY(),r=15,i=852,a=592,o=0,s=1,c=2,l=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],u=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],f=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,p,m,h,g,_,v){var y=v.bits,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,ee=0,k,te,A,j,ne,re=null,ie=0,ae,oe=new n.Buf16(r+1),se=new n.Buf16(r+1),ce=null,le=0,ue,M,de;for(b=0;b<=r;b++)oe[b]=0;for(x=0;x<m;x++)oe[t[p+x]]++;for(w=y,C=r;C>=1&&oe[C]===0;C--);if(w>C&&(w=C),C===0)return h[g++]=20971520,h[g++]=20971520,v.bits=1,0;for(S=1;S<C&&oe[S]===0;S++);for(w<S&&(w=S),D=1,b=1;b<=r;b++)if(D<<=1,D-=oe[b],D<0)return-1;if(D>0&&(e===o||C!==1))return-1;for(se[1]=0,b=1;b<r;b++)se[b+1]=se[b]+oe[b];for(x=0;x<m;x++)t[p+x]!==0&&(_[se[t[p+x]]++]=x);if(e===o?(re=ce=_,ae=19):e===s?(re=l,ie-=257,ce=u,le-=257,ae=256):(re=d,ce=f,ae=-1),ee=0,x=0,b=S,ne=g,T=w,E=0,A=-1,O=1<<w,j=O-1,e===s&&O>i||e===c&&O>a)return 1;for(;;){ue=b-E,_[x]<ae?(M=0,de=_[x]):_[x]>ae?(M=ce[le+_[x]],de=re[ie+_[x]]):(M=96,de=0),k=1<<b-E,te=1<<T,S=te;do te-=k,h[ne+(ee>>E)+te]=ue<<24|M<<16|de|0;while(te!==0);for(k=1<<b-1;ee&k;)k>>=1;if(k===0?ee=0:(ee&=k-1,ee+=k),x++,--oe[b]===0){if(b===C)break;b=t[p+_[x]]}if(b>w&&(ee&j)!==A){for(E===0&&(E=w),ne+=S,T=b-E,D=1<<T;T+E<C&&(D-=oe[T+E],!(D<=0));)T++,D<<=1;if(O+=1<<T,e===s&&O>i||e===c&&O>a)return 1;A=ee&j,h[A]=w<<24|T<<16|ne-g|0}}return ee!==0&&(h[ne+ee]=b-E<<24|4194304),v.bits=w,0}})),Gwe=s((e=>{var t=lY(),n=uY(),r=dY(),i=Uwe(),a=Wwe(),o=0,s=1,c=2,l=4,u=5,d=6,f=0,p=1,m=2,h=-2,g=-3,_=-4,v=-5,y=8,b=1,x=2,S=3,C=4,w=5,T=6,E=7,D=8,O=9,ee=10,k=11,te=12,A=13,j=14,ne=15,re=16,ie=17,ae=18,oe=19,se=20,ce=21,le=22,ue=23,M=24,de=25,fe=26,pe=27,me=28,he=29,ge=30,_e=31,ve=32,ye=852,N=592,be=15;function xe(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Se(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new t.Buf16(320),this.work=new t.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ce(e){var n;return!e||!e.state?h:(n=e.state,e.total_in=e.total_out=n.total=0,e.msg=``,n.wrap&&(e.adler=n.wrap&1),n.mode=b,n.last=0,n.havedict=0,n.dmax=32768,n.head=null,n.hold=0,n.bits=0,n.lencode=n.lendyn=new t.Buf32(ye),n.distcode=n.distdyn=new t.Buf32(N),n.sane=1,n.back=-1,f)}function we(e){var t;return!e||!e.state?h:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Ce(e))}function P(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?h:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,we(e))}function Te(e,t){var n,r;return e?(r=new Se,e.state=r,r.window=null,n=P(e,t),n!==f&&(e.state=null),n):h}function F(e){return Te(e,be)}var I=!0,Ee,De;function Oe(e){if(I){var n;for(Ee=new t.Buf32(512),De=new t.Buf32(32),n=0;n<144;)e.lens[n++]=8;for(;n<256;)e.lens[n++]=9;for(;n<280;)e.lens[n++]=7;for(;n<288;)e.lens[n++]=8;for(a(s,e.lens,0,288,Ee,0,e.work,{bits:9}),n=0;n<32;)e.lens[n++]=5;a(c,e.lens,0,32,De,0,e.work,{bits:5}),I=!1}e.lencode=Ee,e.lenbits=9,e.distcode=De,e.distbits=5}function ke(e,n,r,i){var a,o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new t.Buf8(o.wsize)),i>=o.wsize?(t.arraySet(o.window,n,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>i&&(a=i),t.arraySet(o.window,n,r-i,a,o.wnext),i-=a,i?(t.arraySet(o.window,n,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}function Ae(e,ye){var N,be,Se,Ce,we,P,Te,F,I,Ee,De,Ae,je,Me,Ne=0,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He=new t.Buf8(4),Ue,We,Ge=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return h;N=e.state,N.mode===te&&(N.mode=A),we=e.next_out,Se=e.output,Te=e.avail_out,Ce=e.next_in,be=e.input,P=e.avail_in,F=N.hold,I=N.bits,Ee=P,De=Te,Ve=f;inf_leave:for(;;)switch(N.mode){case b:if(N.wrap===0){N.mode=A;break}for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(N.wrap&2&&F===35615){N.check=0,He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0),F=0,I=0,N.mode=x;break}if(N.flags=0,N.head&&(N.head.done=!1),!(N.wrap&1)||(((F&255)<<8)+(F>>8))%31){e.msg=`incorrect header check`,N.mode=ge;break}if((F&15)!==y){e.msg=`unknown compression method`,N.mode=ge;break}if(F>>>=4,I-=4,Be=(F&15)+8,N.wbits===0)N.wbits=Be;else if(Be>N.wbits){e.msg=`invalid window size`,N.mode=ge;break}N.dmax=1<<Be,e.adler=N.check=1,N.mode=F&512?ee:te,F=0,I=0;break;case x:for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(N.flags=F,(N.flags&255)!==y){e.msg=`unknown compression method`,N.mode=ge;break}if(N.flags&57344){e.msg=`unknown header flags set`,N.mode=ge;break}N.head&&(N.head.text=F>>8&1),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0)),F=0,I=0,N.mode=S;case S:for(;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.head&&(N.head.time=F),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,He[2]=F>>>16&255,He[3]=F>>>24&255,N.check=r(N.check,He,4,0)),F=0,I=0,N.mode=C;case C:for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.head&&(N.head.xflags=F&255,N.head.os=F>>8),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0)),F=0,I=0,N.mode=w;case w:if(N.flags&1024){for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.length=F,N.head&&(N.head.extra_len=F),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0)),F=0,I=0}else N.head&&(N.head.extra=null);N.mode=T;case T:if(N.flags&1024&&(Ae=N.length,Ae>P&&(Ae=P),Ae&&(N.head&&(Be=N.head.extra_len-N.length,N.head.extra||(N.head.extra=Array(N.head.extra_len)),t.arraySet(N.head.extra,be,Ce,Ae,Be)),N.flags&512&&(N.check=r(N.check,be,Ae,Ce)),P-=Ae,Ce+=Ae,N.length-=Ae),N.length))break inf_leave;N.length=0,N.mode=E;case E:if(N.flags&2048){if(P===0)break inf_leave;Ae=0;do Be=be[Ce+ Ae++],N.head&&Be&&N.length<65536&&(N.head.name+=String.fromCharCode(Be));while(Be&&Ae<P);if(N.flags&512&&(N.check=r(N.check,be,Ae,Ce)),P-=Ae,Ce+=Ae,Be)break inf_leave}else N.head&&(N.head.name=null);N.length=0,N.mode=D;case D:if(N.flags&4096){if(P===0)break inf_leave;Ae=0;do Be=be[Ce+ Ae++],N.head&&Be&&N.length<65536&&(N.head.comment+=String.fromCharCode(Be));while(Be&&Ae<P);if(N.flags&512&&(N.check=r(N.check,be,Ae,Ce)),P-=Ae,Ce+=Ae,Be)break inf_leave}else N.head&&(N.head.comment=null);N.mode=O;case O:if(N.flags&512){for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(F!==(N.check&65535)){e.msg=`header crc mismatch`,N.mode=ge;break}F=0,I=0}N.head&&(N.head.hcrc=N.flags>>9&1,N.head.done=!0),e.adler=N.check=0,N.mode=te;break;case ee:for(;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}e.adler=N.check=xe(F),F=0,I=0,N.mode=k;case k:if(N.havedict===0)return e.next_out=we,e.avail_out=Te,e.next_in=Ce,e.avail_in=P,N.hold=F,N.bits=I,m;e.adler=N.check=1,N.mode=te;case te:if(ye===u||ye===d)break inf_leave;case A:if(N.last){F>>>=I&7,I-=I&7,N.mode=pe;break}for(;I<3;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}switch(N.last=F&1,F>>>=1,--I,F&3){case 0:N.mode=j;break;case 1:if(Oe(N),N.mode=se,ye===d){F>>>=2,I-=2;break inf_leave}break;case 2:N.mode=ie;break;case 3:e.msg=`invalid block type`,N.mode=ge}F>>>=2,I-=2;break;case j:for(F>>>=I&7,I-=I&7;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if((F&65535)!=(F>>>16^65535)){e.msg=`invalid stored block lengths`,N.mode=ge;break}if(N.length=F&65535,F=0,I=0,N.mode=ne,ye===d)break inf_leave;case ne:N.mode=re;case re:if(Ae=N.length,Ae){if(Ae>P&&(Ae=P),Ae>Te&&(Ae=Te),Ae===0)break inf_leave;t.arraySet(Se,be,Ce,Ae,we),P-=Ae,Ce+=Ae,Te-=Ae,we+=Ae,N.length-=Ae;break}N.mode=te;break;case ie:for(;I<14;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(N.nlen=(F&31)+257,F>>>=5,I-=5,N.ndist=(F&31)+1,F>>>=5,I-=5,N.ncode=(F&15)+4,F>>>=4,I-=4,N.nlen>286||N.ndist>30){e.msg=`too many length or distance symbols`,N.mode=ge;break}N.have=0,N.mode=ae;case ae:for(;N.have<N.ncode;){for(;I<3;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.lens[Ge[N.have++]]=F&7,F>>>=3,I-=3}for(;N.have<19;)N.lens[Ge[N.have++]]=0;if(N.lencode=N.lendyn,N.lenbits=7,Ue={bits:N.lenbits},Ve=a(o,N.lens,0,19,N.lencode,0,N.work,Ue),N.lenbits=Ue.bits,Ve){e.msg=`invalid code lengths set`,N.mode=ge;break}N.have=0,N.mode=oe;case oe:for(;N.have<N.nlen+N.ndist;){for(;Ne=N.lencode[F&(1<<N.lenbits)-1],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(Ie<16)F>>>=Pe,I-=Pe,N.lens[N.have++]=Ie;else{if(Ie===16){for(We=Pe+2;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(F>>>=Pe,I-=Pe,N.have===0){e.msg=`invalid bit length repeat`,N.mode=ge;break}Be=N.lens[N.have-1],Ae=3+(F&3),F>>>=2,I-=2}else if(Ie===17){for(We=Pe+3;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Pe,I-=Pe,Be=0,Ae=3+(F&7),F>>>=3,I-=3}else{for(We=Pe+7;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Pe,I-=Pe,Be=0,Ae=11+(F&127),F>>>=7,I-=7}if(N.have+Ae>N.nlen+N.ndist){e.msg=`invalid bit length repeat`,N.mode=ge;break}for(;Ae--;)N.lens[N.have++]=Be}}if(N.mode===ge)break;if(N.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,N.mode=ge;break}if(N.lenbits=9,Ue={bits:N.lenbits},Ve=a(s,N.lens,0,N.nlen,N.lencode,0,N.work,Ue),N.lenbits=Ue.bits,Ve){e.msg=`invalid literal/lengths set`,N.mode=ge;break}if(N.distbits=6,N.distcode=N.distdyn,Ue={bits:N.distbits},Ve=a(c,N.lens,N.nlen,N.ndist,N.distcode,0,N.work,Ue),N.distbits=Ue.bits,Ve){e.msg=`invalid distances set`,N.mode=ge;break}if(N.mode=se,ye===d)break inf_leave;case se:N.mode=ce;case ce:if(P>=6&&Te>=258){e.next_out=we,e.avail_out=Te,e.next_in=Ce,e.avail_in=P,N.hold=F,N.bits=I,i(e,De),we=e.next_out,Se=e.output,Te=e.avail_out,Ce=e.next_in,be=e.input,P=e.avail_in,F=N.hold,I=N.bits,N.mode===te&&(N.back=-1);break}for(N.back=0;Ne=N.lencode[F&(1<<N.lenbits)-1],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(Fe&&!(Fe&240)){for(Le=Pe,Re=Fe,ze=Ie;Ne=N.lencode[ze+((F&(1<<Le+Re)-1)>>Le)],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Le+Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Le,I-=Le,N.back+=Le}if(F>>>=Pe,I-=Pe,N.back+=Pe,N.length=Ie,Fe===0){N.mode=fe;break}if(Fe&32){N.back=-1,N.mode=te;break}if(Fe&64){e.msg=`invalid literal/length code`,N.mode=ge;break}N.extra=Fe&15,N.mode=le;case le:if(N.extra){for(We=N.extra;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.length+=F&(1<<N.extra)-1,F>>>=N.extra,I-=N.extra,N.back+=N.extra}N.was=N.length,N.mode=ue;case ue:for(;Ne=N.distcode[F&(1<<N.distbits)-1],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(!(Fe&240)){for(Le=Pe,Re=Fe,ze=Ie;Ne=N.distcode[ze+((F&(1<<Le+Re)-1)>>Le)],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Le+Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Le,I-=Le,N.back+=Le}if(F>>>=Pe,I-=Pe,N.back+=Pe,Fe&64){e.msg=`invalid distance code`,N.mode=ge;break}N.offset=Ie,N.extra=Fe&15,N.mode=M;case M:if(N.extra){for(We=N.extra;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.offset+=F&(1<<N.extra)-1,F>>>=N.extra,I-=N.extra,N.back+=N.extra}if(N.offset>N.dmax){e.msg=`invalid distance too far back`,N.mode=ge;break}N.mode=de;case de:if(Te===0)break inf_leave;if(Ae=De-Te,N.offset>Ae){if(Ae=N.offset-Ae,Ae>N.whave&&N.sane){e.msg=`invalid distance too far back`,N.mode=ge;break}Ae>N.wnext?(Ae-=N.wnext,je=N.wsize-Ae):je=N.wnext-Ae,Ae>N.length&&(Ae=N.length),Me=N.window}else Me=Se,je=we-N.offset,Ae=N.length;Ae>Te&&(Ae=Te),Te-=Ae,N.length-=Ae;do Se[we++]=Me[je++];while(--Ae);N.length===0&&(N.mode=ce);break;case fe:if(Te===0)break inf_leave;Se[we++]=N.length,Te--,N.mode=ce;break;case pe:if(N.wrap){for(;I<32;){if(P===0)break inf_leave;P--,F|=be[Ce++]<<I,I+=8}if(De-=Te,e.total_out+=De,N.total+=De,De&&(e.adler=N.check=N.flags?r(N.check,Se,De,we-De):n(N.check,Se,De,we-De)),De=Te,(N.flags?F:xe(F))!==N.check){e.msg=`incorrect data check`,N.mode=ge;break}F=0,I=0}N.mode=me;case me:if(N.wrap&&N.flags){for(;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(F!==(N.total&4294967295)){e.msg=`incorrect length check`,N.mode=ge;break}F=0,I=0}N.mode=he;case he:Ve=p;break inf_leave;case ge:Ve=g;break inf_leave;case _e:return _;case ve:default:return h}return e.next_out=we,e.avail_out=Te,e.next_in=Ce,e.avail_in=P,N.hold=F,N.bits=I,(N.wsize||De!==e.avail_out&&N.mode<ge&&(N.mode<pe||ye!==l))&&ke(e,e.output,e.next_out,De-e.avail_out)?(N.mode=_e,_):(Ee-=e.avail_in,De-=e.avail_out,e.total_in+=Ee,e.total_out+=De,N.total+=De,N.wrap&&De&&(e.adler=N.check=N.flags?r(N.check,Se,De,e.next_out-De):n(N.check,Se,De,e.next_out-De)),e.data_type=N.bits+(N.last?64:0)+(N.mode===te?128:0)+(N.mode===se||N.mode===ne?256:0),(Ee===0&&De===0||ye===l)&&Ve===f&&(Ve=v),Ve)}function je(e){if(!e||!e.state)return h;var t=e.state;return t.window&&=null,e.state=null,f}function Me(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?h:(n.head=t,t.done=!1,f)}function Ne(e,t){var r=t.length,i,a,o;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==k)?h:i.mode===k&&(a=1,a=n(a,t,r,0),a!==i.check)?g:(o=ke(e,t,r,r),o?(i.mode=_e,_):(i.havedict=1,f))}e.inflateReset=we,e.inflateReset2=P,e.inflateResetKeep=Ce,e.inflateInit=F,e.inflateInit2=Te,e.inflate=Ae,e.inflateEnd=je,e.inflateGetHeader=Me,e.inflateSetDictionary=Ne,e.inflateInfo=`pako inflate (from Nodeca project)`})),hY=s(((e,t)=>{t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}})),Kwe=s(((e,t)=>{function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}t.exports=n})),qwe=s((e=>{var t=Gwe(),n=lY(),r=pY(),i=hY(),a=fY(),o=mY(),s=Kwe(),c=Object.prototype.toString;function l(e){if(!(this instanceof l))return new l(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:``},e||{});var u=this.options;u.raw&&u.windowBits>=0&&u.windowBits<16&&(u.windowBits=-u.windowBits,u.windowBits===0&&(u.windowBits=-15)),u.windowBits>=0&&u.windowBits<16&&!(e&&e.windowBits)&&(u.windowBits+=32),u.windowBits>15&&u.windowBits<48&&(u.windowBits&15||(u.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var d=t.inflateInit2(this.strm,u.windowBits);if(d!==i.Z_OK||(this.header=new s,t.inflateGetHeader(this.strm,this.header),u.dictionary&&(typeof u.dictionary==`string`?u.dictionary=r.string2buf(u.dictionary):c.call(u.dictionary)===`[object ArrayBuffer]`&&(u.dictionary=new Uint8Array(u.dictionary)),u.raw&&(d=t.inflateSetDictionary(this.strm,u.dictionary),d!==i.Z_OK))))throw Error(a[d])}l.prototype.push=function(e,a){var o=this.strm,s=this.options.chunkSize,l=this.options.dictionary,u,d,f,p,m,h=!1;if(this.ended)return!1;d=a===~~a?a:a===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof e==`string`?o.input=r.binstring2buf(e):c.call(e)===`[object ArrayBuffer]`?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(o.avail_out===0&&(o.output=new n.Buf8(s),o.next_out=0,o.avail_out=s),u=t.inflate(o,i.Z_NO_FLUSH),u===i.Z_NEED_DICT&&l&&(u=t.inflateSetDictionary(this.strm,l)),u===i.Z_BUF_ERROR&&h===!0&&(u=i.Z_OK,h=!1),u!==i.Z_STREAM_END&&u!==i.Z_OK)return this.onEnd(u),this.ended=!0,!1;o.next_out&&(o.avail_out===0||u===i.Z_STREAM_END||o.avail_in===0&&(d===i.Z_FINISH||d===i.Z_SYNC_FLUSH))&&(this.options.to===`string`?(f=r.utf8border(o.output,o.next_out),p=o.next_out-f,m=r.buf2string(o.output,f),o.next_out=p,o.avail_out=s-p,p&&n.arraySet(o.output,o.output,f,p,0),this.onData(m)):this.onData(n.shrinkBuf(o.output,o.next_out))),o.avail_in===0&&o.avail_out===0&&(h=!0)}while((o.avail_in>0||o.avail_out===0)&&u!==i.Z_STREAM_END);return u===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(u=t.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===i.Z_OK):d===i.Z_SYNC_FLUSH?(this.onEnd(i.Z_OK),o.avail_out=0,!0):!0},l.prototype.onData=function(e){this.chunks.push(e)},l.prototype.onEnd=function(e){e===i.Z_OK&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function u(e,t){var n=new l(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}function d(e,t){return t||={},t.raw=!0,u(e,t)}e.Inflate=l,e.inflate=u,e.inflateRaw=d,e.ungzip=u})),gY=s(((e,t)=>{var n=lY().assign,r=Hwe(),i=qwe(),a=hY(),o={};n(o,r,i,a),t.exports=o})),Jwe=s(((e,t)=>{let n=(e,t)=>function(...n){let r=t.promiseModule;return new r((r,i)=>{t.multiArgs?n.push((...e)=>{t.errorFirst?e[0]?i(e):(e.shift(),r(e)):r(e)}):t.errorFirst?n.push((e,t)=>{e?i(e):r(t)}):n.push(r),e.apply(this,n)})};t.exports=(e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let r=typeof e;if(!(e!==null&&(r===`object`||r===`function`)))throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?`null`:r}\``);let i=e=>{let n=t=>typeof t==`string`?e===t:t.test(e);return t.include?t.include.some(n):!t.exclude.some(n)},a;a=r===`function`?function(...r){return t.excludeMain?e(...r):n(e,t).apply(this,r)}:Object.create(Object.getPrototypeOf(e));for(let r in e){let o=e[r];a[r]=typeof o==`function`&&i(r)?n(o,t):o}return a}})),Ywe=s(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}let r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.*\/|^\.+$/,l=`node-ignore`;typeof Symbol<`u`&&(l=Symbol.for(`node-ignore`));let u=l,d=(e,t,n)=>Object.defineProperty(e,t,{value:n}),f=/([0-z])-([0-z])/g,p=()=>!1,m=e=>e.replace(f,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),h=e=>{let{length:t}=e;return e.slice(0,t-t%2)},g=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${h(r)}${i}`:i===`]`&&r.length%2==0?`[${m(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`]],_=Object.create(null),v=(e,t)=>{let n=_[e];return n||(n=g.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),_[e]=n),t?new RegExp(n,`i`):new RegExp(n)},y=e=>typeof e==`string`,b=e=>e&&y(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,x=e=>e.split(s);var S=class{constructor(e,t,n,r){this.origin=e,this.pattern=t,this.negative=n,this.regex=r}};let C=(e,t)=>{let n=e,r=!1;e.indexOf(`!`)===0&&(r=!0,e=e.substr(1)),e=e.replace(a,`!`).replace(o,`#`);let i=v(e,t);return new S(n,e,r,i)},w=(e,t)=>{throw new t(e)},T=(e,t,n)=>y(e)?e?T.isNotRelative(e)?n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),E=e=>c.test(e);T.isNotRelative=E,T.convert=e=>e;var D=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){d(this,u,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[u]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(b(e)){let t=C(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(y(e)?x(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,r=!1;return this._rules.forEach(i=>{let{negative:a}=i;r===a&&n!==r||a&&!n&&!r&&!t||i.regex.test(e)&&(n=!a,r=a)}),{ignored:n,unignored:r}}_test(e,t,n,r){let i=e&&T.convert(e);return T(i,e,this._allowRelativePaths?p:w),this._t(i,t,n,r)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`),r.pop(),!r.length)return t[e]=this._testOne(e,n);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let O=e=>new D(e);if(O.isPathValid=e=>T(e&&T.convert(e),e,p),O.default=O,t.exports=O,typeof process<`u`&&({}.IGNORE_TEST_WIN32||process.platform===`win32`)){T.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;T.isNotRelative=t=>e.test(t)||E(t)}})),Xwe=s(((e,t)=>{function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t,r){return t=t instanceof RegExp?t:new RegExp(n(t),`g`),e.replace(t,r)}t.exports={clean:function(e){if(typeof e!=`string`)throw Error(`Expected a string, received: `+e);return e=r(e,`./`,`/`),e=r(e,`..`,`.`),e=r(e,` `,`-`),e=r(e,/^[~^:?*\\\-]/g,``),e=r(e,/[~^:?*\\]/g,`-`),e=r(e,/[~^:?*\\\-]$/g,``),e=r(e,`@{`,`-`),e=r(e,/\.$/g,``),e=r(e,/\/$/g,``),e=r(e,/\.lock$/g,``),e}}})),Zwe=s(((e,t)=>{t.exports=function(e,t){var n=e,r=t,i=n.length,a=r.length,o=!1,s=null,c=i+1,l=[],u=[],d=[],f=``,p=-1,m=0,h=1,g,_,v=function(){i>=a&&(g=n,_=i,n=r,r=g,i=a,a=_,o=!0,c=i+1)},y=function(e,t,n){return{x:e,y:t,k:n}},b=function(e,t){return{elem:e,t}},x=function(e,t,o){var s=t>o?l[e-1+c]:l[e+1+c],d,f=Math.max(t,o);for(d=f-e;d<i&&f<a&&n[d]===r[f];)++d,++f;return l[e+c]=u.length,u[u.length]=new y(d,f,s),f},S=function(e){var t=i=1,i,a=s=0,s,c;for(c=e.length-1;c>=0;--c)for(;a<e[c].x||s<e[c].y;)e[c].y-e[c].x>s-a?(o?d[d.length]=new b(r[s],p):d[d.length]=new b(r[s],h),++i,++s):e[c].y-e[c].x<s-a?(o?d[d.length]=new b(n[a],h):d[d.length]=new b(n[a],p),++t,++a):(d[d.length]=new b(n[a],m),f+=n[a],++t,++i,++a,++s)};return v(),{SES_DELETE:-1,SES_COMMON:0,SES_ADD:1,editdistance:function(){return s},getlcs:function(){return f},getses:function(){return d},compose:function(){var e=a-i,t=i+a+3,n={},r,o,d,f,p;for(f=0;f<t;++f)n[f]=-1,l[f]=-1;r=-1;do{for(++r,p=-r;p<=e-1;++p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);for(p=e+r;p>=e+1;--p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);n[e+c]=x(e,n[e-1+c]+1,n[e+1+c])}while(n[e+c]!==a);for(s=e+2*r,o=l[e+c],d=[];o!==-1;)d[d.length]=new y(u[o].x,u[o].y,null),o=u[o].k;S(d)}}}})),Qwe=s(((e,t)=>{var n=Zwe();function r(e,t){var r=new n(e,t);r.compose();for(var i=r.getses(),a,o,s=e.length-1,c=t.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(o?(o.chain={file1index:s,file2index:c,chain:null},o=o.chain):(a={file1index:s,file2index:c,chain:null},o=a),s--,c--):i[l].t===r.SES_DELETE?s--:i[l].t===r.SES_ADD&&c--;var u={file1index:-1,file2index:-1,chain:null};return o?(o.chain=u,a):u}function i(e,t){for(var n=[],i=e.length,a=t.length,o=r(e,t);o!==null;o=o.chain){var s=i-o.file1index-1,c=a-o.file2index-1;i=o.file1index,a=o.file2index,(s||c)&&n.push({file1:[i+1,s],file2:[a+1,c]})}return n.reverse(),n}function a(e,t,n){var r,a=i(t,e),o=i(t,n),s=[];function c(e,t){s.push([e.file1[0],t,e.file1[1],e.file2[0],e.file2[1]])}for(r=0;r<a.length;r++)c(a[r],0);for(r=0;r<o.length;r++)c(o[r],2);s.sort(function(e,t){return e[0]-t[0]});var l=[],u=0;function d(e){e>u&&(l.push([1,u,e-u]),u=e)}for(var f=0;f<s.length;f++){for(var p=f,m=s[f],h=m[0],g=h+m[2];f<s.length-1;){var _=s[f+1],v=_[0];if(v>g)break;g=Math.max(g,v+_[2]),f++}if(d(h),p==f)m[4]>0&&l.push([m[1],m[3],m[4]]);else{var y={0:[e.length,-1,t.length,-1],2:[n.length,-1,t.length,-1]};for(r=p;r<=f;r++){m=s[r];var b=y[m[1]],x=m[0],S=x+m[2],C=m[3],w=C+m[4];b[0]=Math.min(C,b[0]),b[1]=Math.max(w,b[1]),b[2]=Math.min(x,b[2]),b[3]=Math.max(S,b[3])}var T=y[0][0]+(h-y[0][2]),E=y[0][1]+(g-y[0][3]),D=y[2][0]+(h-y[2][2]),O=y[2][1]+(g-y[2][3]);l.push([-1,T,E-T,h,g-h,D,O-D])}u=g}return d(t.length),l}function o(e,t,n){var r=[],i=[e,t,n],o=a(e,t,n),s=[];function c(){s.length&&r.push({ok:s}),s=[]}function l(e){for(var t=0;t<e.length;t++)s.push(e[t])}function u(t){if(t[2]!=t[6])return!0;for(var r=t[1],i=t[5],a=0;a<t[2];a++)if(e[a+r]!=n[a+i])return!0;return!1}for(var d=0;d<o.length;d++){var f=o[d],p=f[0];p==-1?u(f)?(c(),r.push({conflict:{a:e.slice(f[1],f[1]+f[2]),aIndex:f[1],o:t.slice(f[3],f[3]+f[4]),oIndex:f[3],b:n.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[p].slice(f[1],f[1]+f[2]))}return c(),r}t.exports=o})),_Y=u(twe(),1),vY=u(Rwe(),1),$we=u(zwe(),1),yY=u(gY(),1),bY=u(Jwe(),1),eTe=u(Ywe(),1),xY=u(Xwe(),1),tTe=u(Qwe(),1),SY=class e extends Error{constructor(e){super(e),this.caller=``}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(t){let n=new e(t.message);return n.code=t.code,n.data=t.data,n.caller=t.caller,n.stack=t.stack,n}get isIsomorphicGitError(){return!0}},CY=class e extends SY{constructor(t){super(`Modifying the index is not possible because you have unmerged files: ${t.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=e.code,this.data={filepaths:t}}};CY.code=`UnmergedPathsError`;var wY=class e extends SY{constructor(t){super(`An internal error caused this command to fail.\n\nIf you're not a developer, report the bug to the developers of the application you're using. If this is a bug in isomorphic-git then you should create a proper bug yourselves. The bug should include a minimal reproduction and details about the version and environment.\n\nPlease file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${t}`),this.code=this.name=e.code,this.data={message:t}}};wY.code=`InternalError`;var TY=class e extends SY{constructor(t){super(`The filepath "${t}" contains unsafe character sequences`),this.code=this.name=e.code,this.data={filepath:t}}};TY.code=`UnsafeFilepathError`;var EY=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let r=this.buffer.write(e,this._start,t,n);return this._start+=t,r}copy(e,t,n){let r=e.copy(this.buffer,this._start,t,n);return this._start+=r,r}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}};function DY(e,t){return-(e<t)||+(e>t)}function OY(e,t){return DY(e.path,t.path)}function kY(e){let t=e>0?e>>12:0;t!==4&&t!==8&&t!==10&&t!==14&&(t=8);let n=e&511;return n=n&73?493:420,t!==8&&(n=0),(t<<12)+n}const AY=2**32;function jY(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];n===void 0&&(n=r.valueOf());let i=Math.floor(n/1e3);return[i,(n-i*1e3)*1e6]}function MY(e){let[t,n]=jY(e.ctimeSeconds,e.ctimeNanoseconds,e.ctimeMs,e.ctime),[r,i]=jY(e.mtimeSeconds,e.mtimeNanoseconds,e.mtimeMs,e.mtime);return{ctimeSeconds:t%AY,ctimeNanoseconds:n%AY,mtimeSeconds:r%AY,mtimeNanoseconds:i%AY,dev:e.dev%AY,ino:e.ino%AY,mode:kY(e.mode%AY),uid:e.uid%AY,gid:e.gid%AY,size:e.size>-1?e.size%AY:0}}function nTe(e){let t=``;for(let n of new Uint8Array(e))n<16&&(t+=`0`),t+=n.toString(16);return t}let NY=null;async function PY(e){return NY===null&&(NY=await iTe()),NY?FY(e):rTe(e)}function rTe(e){return new vY.default().update(e).digest(`hex`)}async function FY(e){return nTe(await crypto.subtle.digest(`SHA-1`,e))}async function iTe(){try{return await FY(new Uint8Array([]))===`da39a3ee5e6b4b0d3255bfef95601890afd80709`}catch{}return!1}function aTe(e){return{assumeValid:!!(e&32768),extended:!!(e&16384),stage:(e&12288)>>12,nameLength:e&4095}}function oTe(e){let t=e.flags;return t.extended=!1,t.nameLength=Math.min(Buffer.from(e.path).length,4095),(t.assumeValid?32768:0)+(t.extended?16384:0)+((t.stage&3)<<12)+(t.nameLength&4095)}var sTe=class e{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let t=this._entries.get(e.path);t||=(this._entries.set(e.path,e),e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(t){if(Buffer.isBuffer(t))return e.fromBuffer(t);if(t===null)return new e(null);throw new wY(`invalid type passed to GitIndex.from`)}static async fromBuffer(t){if(t.length===0)throw new wY(`Index file is empty (.git/index)`);let n=new e,r=new EY(t),i=r.toString(`utf8`,4);if(i!==`DIRC`)throw new wY(`Invalid dircache magic file number: ${i}`);let a=await PY(t.slice(0,-20)),o=t.slice(-20).toString(`hex`);if(o!==a)throw new wY(`Invalid checksum in GitIndex buffer: expected ${o} but saw ${a}`);let s=r.readUInt32BE();if(s!==2)throw new wY(`Unsupported dircache version: ${s}`);let c=r.readUInt32BE(),l=0;for(;!r.eof()&&l<c;){let e={};e.ctimeSeconds=r.readUInt32BE(),e.ctimeNanoseconds=r.readUInt32BE(),e.mtimeSeconds=r.readUInt32BE(),e.mtimeNanoseconds=r.readUInt32BE(),e.dev=r.readUInt32BE(),e.ino=r.readUInt32BE(),e.mode=r.readUInt32BE(),e.uid=r.readUInt32BE(),e.gid=r.readUInt32BE(),e.size=r.readUInt32BE(),e.oid=r.slice(20).toString(`hex`),e.flags=aTe(r.readUInt16BE());let i=t.indexOf(0,r.tell()+1)-r.tell();if(i<1)throw new wY(`Got a path length of: ${i}`);if(e.path=r.toString(`utf8`,i),e.path.includes(`..\\`)||e.path.includes(`../`))throw new TY(e.path);let a=8-(r.tell()-12)%8;for(a===0&&(a=8);a--;){let t=r.readUInt8();if(t!==0)throw new wY(`Expected 1-8 null characters but got '${t}' after ${e.path}`);if(r.eof())throw new wY(`Unexpected end of file`)}e.stages=[],n._addEntry(e),l++}return n}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(OY)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(e=>e):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:r=0}){t||={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0},t=MY(t);let i=Buffer.from(e),a={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:r,nameLength:i.length<4095?i.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let t of this._entries.keys())t.startsWith(e+`/`)&&this._entries.delete(t);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(`
|
|
2632
|
+
(function(t){typeof DO_NOT_EXPORT_CRC>`u`?typeof e==`object`?t(e):typeof define==`function`&&define.amd?define(function(){var e={};return t(e),e}):t({}):t({})})(function(e){e.version=`1.2.2`;function t(){for(var e=0,t=Array(256),n=0;n!=256;++n)e=n,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,t[n]=e;return typeof Int32Array<`u`?new Int32Array(t):t}var n=t();function r(e){var t=0,n=0,r=0,i=typeof Int32Array<`u`?new Int32Array(4096):Array(4096);for(r=0;r!=256;++r)i[r]=e[r];for(r=0;r!=256;++r)for(n=e[r],t=256+r;t<4096;t+=256)n=i[t]=n>>>8^e[n&255];var a=[];for(r=1;r!=16;++r)a[r-1]=typeof Int32Array<`u`?i.subarray(r*256,r*256+256):i.slice(r*256,r*256+256);return a}var i=r(n),a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14];function b(e,t){for(var r=t^-1,i=0,a=e.length;i<a;)r=r>>>8^n[(r^e.charCodeAt(i++))&255];return~r}function x(e,t){for(var r=t^-1,i=e.length-15,b=0;b<i;)r=y[e[b++]^r&255]^v[e[b++]^r>>8&255]^_[e[b++]^r>>16&255]^g[e[b++]^r>>>24]^h[e[b++]]^m[e[b++]]^p[e[b++]]^f[e[b++]]^d[e[b++]]^u[e[b++]]^l[e[b++]]^c[e[b++]]^s[e[b++]]^o[e[b++]]^a[e[b++]]^n[e[b++]];for(i+=15;b<i;)r=r>>>8^n[(r^e[b++])&255];return~r}function S(e,t){for(var r=t^-1,i=0,a=e.length,o=0,s=0;i<a;)o=e.charCodeAt(i++),o<128?r=r>>>8^n[(r^o)&255]:o<2048?(r=r>>>8^n[(r^(192|o>>6&31))&255],r=r>>>8^n[(r^(128|o&63))&255]):o>=55296&&o<57344?(o=(o&1023)+64,s=e.charCodeAt(i++)&1023,r=r>>>8^n[(r^(240|o>>8&7))&255],r=r>>>8^n[(r^(128|o>>2&63))&255],r=r>>>8^n[(r^(128|s>>6&15|(o&3)<<4))&255],r=r>>>8^n[(r^(128|s&63))&255]):(r=r>>>8^n[(r^(224|o>>12&15))&255],r=r>>>8^n[(r^(128|o>>6&63))&255],r=r>>>8^n[(r^(128|o&63))&255]);return~r}e.table=n,e.bstr=b,e.buf=x,e.str=S})})),lY=s((e=>{var t=typeof Uint8Array<`u`&&typeof Uint16Array<`u`&&typeof Int32Array<`u`;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!=`object`)throw TypeError(r+`must be non-object`);for(var i in r)n(r,i)&&(e[i]=r[i])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray){e.set(t.subarray(n,n+r),i);return}for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){var t,n,r=0,i,a,o;for(t=0,n=e.length;t<n;t++)r+=e[t].length;for(o=new Uint8Array(r),i=0,t=0,n=e.length;t<n;t++)a=e[t],o.set(a,i),i+=a.length;return o}},i={arraySet:function(e,t,n,r,i){for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,i))},e.setTyped(t)})),Bwe=s((e=>{var t=lY(),n=4,r=0,i=1,a=2;function o(e){for(var t=e.length;--t>=0;)e[t]=0}var s=0,c=1,l=2,u=3,d=258,f=29,p=256,m=p+1+f,h=30,g=19,_=2*m+1,v=15,y=16,b=7,x=256,S=16,C=17,w=18,T=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],E=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],D=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],O=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ee=512,k=Array((m+2)*2);o(k);var te=Array(h*2);o(te);var A=Array(ee);o(A);var j=Array(d-u+1);o(j);var ne=Array(f);o(ne);var re=Array(h);o(re);function ie(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var ae,oe,se;function ce(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function le(e){return e<256?A[e]:A[256+(e>>>7)]}function ue(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function M(e,t,n){e.bi_valid>y-n?(e.bi_buf|=t<<e.bi_valid&65535,ue(e,e.bi_buf),e.bi_buf=t>>y-e.bi_valid,e.bi_valid+=n-y):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function de(e,t,n){M(e,n[t*2],n[t*2+1])}function fe(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function pe(e){e.bi_valid===16?(ue(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function me(e,t){var n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=v;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<_;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}}function he(e,t,n){var r=Array(v+1),i=0,a,o;for(a=1;a<=v;a++)r[a]=i=i+n[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=fe(r[s]++,s))}}function ge(){var e,t,n,r,i,a=Array(v+1);for(n=0,r=0;r<f-1;r++)for(ne[r]=n,e=0;e<1<<T[r];e++)j[n++]=r;for(j[n-1]=r,i=0,r=0;r<16;r++)for(re[r]=i,e=0;e<1<<E[r];e++)A[i++]=r;for(i>>=7;r<h;r++)for(re[r]=i<<7,e=0;e<1<<E[r]-7;e++)A[256+ i++]=r;for(t=0;t<=v;t++)a[t]=0;for(e=0;e<=143;)k[e*2+1]=8,e++,a[8]++;for(;e<=255;)k[e*2+1]=9,e++,a[9]++;for(;e<=279;)k[e*2+1]=7,e++,a[7]++;for(;e<=287;)k[e*2+1]=8,e++,a[8]++;for(he(k,m+1,a),e=0;e<h;e++)te[e*2+1]=5,te[e*2]=fe(e,5);ae=new ie(k,T,p+1,m,v),oe=new ie(te,E,0,h,v),se=new ie([],D,0,g,b)}function _e(e){var t;for(t=0;t<m;t++)e.dyn_ltree[t*2]=0;for(t=0;t<h;t++)e.dyn_dtree[t*2]=0;for(t=0;t<g;t++)e.bl_tree[t*2]=0;e.dyn_ltree[x*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function ve(e){e.bi_valid>8?ue(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function ye(e,n,r,i){ve(e),i&&(ue(e,r),ue(e,~r)),t.arraySet(e.pending_buf,e.window,n,r,e.pending),e.pending+=r}function N(e,t,n,r){var i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]}function be(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&N(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!N(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function xe(e,t,n){var r,i,a=0,o,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,r===0?de(e,i,t):(o=j[i],de(e,o+p+1,t),s=T[o],s!==0&&(i-=ne[o],M(e,i,s)),r--,o=le(r),de(e,o,n),s=E[o],s!==0&&(r-=re[o],M(e,r,s)));while(a<e.last_lit);de(e,x,t)}function Se(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=_,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)be(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],be(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,be(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],me(e,t),he(n,c,e.bl_count)}function Ce(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[C*2]++:e.bl_tree[w*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[S*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))}function we(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do de(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(de(e,C,e.bl_tree),M(e,s-3,3)):(de(e,w,e.bl_tree),M(e,s-11,7)):(a!==i&&(de(e,a,e.bl_tree),s--),de(e,S,e.bl_tree),M(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}}function P(e){var t;for(Ce(e,e.dyn_ltree,e.l_desc.max_code),Ce(e,e.dyn_dtree,e.d_desc.max_code),Se(e,e.bl_desc),t=g-1;t>=3&&e.bl_tree[O[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function Te(e,t,n,r){var i;for(M(e,t-257,5),M(e,n-1,5),M(e,r-4,4),i=0;i<r;i++)M(e,e.bl_tree[O[i]*2+1],3);we(e,e.dyn_ltree,t-1),we(e,e.dyn_dtree,n-1)}function F(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return r;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return i;for(n=32;n<p;n++)if(e.dyn_ltree[n*2]!==0)return i;return r}var I=!1;function Ee(e){I||=(ge(),!0),e.l_desc=new ce(e.dyn_ltree,ae),e.d_desc=new ce(e.dyn_dtree,oe),e.bl_desc=new ce(e.bl_tree,se),e.bi_buf=0,e.bi_valid=0,_e(e)}function De(e,t,n,r){M(e,(s<<1)+ +!!r,3),ye(e,t,n,!0)}function Oe(e){M(e,c<<1,3),de(e,x,k),pe(e)}function ke(e,t,r,i){var o,s,u=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=F(e)),Se(e,e.l_desc),Se(e,e.d_desc),u=P(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?De(e,t,r,i):e.strategy===n||s===o?(M(e,(c<<1)+ +!!i,3),xe(e,k,te)):(M(e,(l<<1)+ +!!i,3),Te(e,e.l_desc.max_code+1,e.d_desc.max_code+1,u+1),xe(e,e.dyn_ltree,e.dyn_dtree)),_e(e),i&&ve(e)}function Ae(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(j[n]+p+1)*2]++,e.dyn_dtree[le(t)*2]++),e.last_lit===e.lit_bufsize-1}e._tr_init=Ee,e._tr_stored_block=De,e._tr_flush_block=ke,e._tr_tally=Ae,e._tr_align=Oe})),uY=s(((e,t)=>{function n(e,t,n,r){for(var i=e&65535|0,a=e>>>16&65535|0,o=0;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0}t.exports=n})),dY=s(((e,t)=>{function n(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var r=n();function i(e,t,n,i){var a=r,o=i+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^a[(e^t[s])&255];return e^-1}t.exports=i})),fY=s(((e,t)=>{t.exports={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`}})),Vwe=s((e=>{var t=lY(),n=Bwe(),r=uY(),i=dY(),a=fY(),o=0,s=1,c=3,l=4,u=5,d=0,f=1,p=-2,m=-3,h=-5,g=-1,_=1,v=2,y=3,b=4,x=0,S=2,C=8,w=9,T=15,E=8,D=286,O=30,ee=19,k=2*D+1,te=15,A=3,j=258,ne=j+A+1,re=32,ie=42,ae=69,oe=73,se=91,ce=103,le=113,ue=666,M=1,de=2,fe=3,pe=4,me=3;function he(e,t){return e.msg=a[t],t}function ge(e){return(e<<1)-(e>4?9:0)}function _e(e){for(var t=e.length;--t>=0;)e[t]=0}function ve(e){var n=e.state,r=n.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(t.arraySet(e.output,n.pending_buf,n.pending_out,r,e.next_out),e.next_out+=r,n.pending_out+=r,e.total_out+=r,e.avail_out-=r,n.pending-=r,n.pending===0&&(n.pending_out=0))}function ye(e,t){n._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ve(e.strm)}function N(e,t){e.pending_buf[e.pending++]=t}function be(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function xe(e,n,a,o){var s=e.avail_in;return s>o&&(s=o),s===0?0:(e.avail_in-=s,t.arraySet(n,e.input,e.next_in,s,a),e.state.wrap===1?e.adler=r(e.adler,n,s,a):e.state.wrap===2&&(e.adler=i(e.adler,n,s,a)),e.next_in+=s,e.total_in+=s,s)}function Se(e,t){var n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-ne?e.strstart-(e.w_size-ne):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+j,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=j-(f-r),r=f-j,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead}function Ce(e){var n=e.w_size,r,i,a,o,s;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=n+(n-ne)){t.arraySet(e.window,e.window,n,n,0),e.match_start-=n,e.strstart-=n,e.block_start-=n,i=e.hash_size,r=i;do a=e.head[--r],e.head[r]=a>=n?a-n:0;while(--i);i=n,r=i;do a=e.prev[--r],e.prev[r]=a>=n?a-n:0;while(--i);o+=n}if(e.strm.avail_in===0)break;if(i=xe(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=i,e.lookahead+e.insert>=A)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+A-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<A)););}while(e.lookahead<ne&&e.strm.avail_in!==0)}function we(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Ce(e),e.lookahead===0&&t===o)return M;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,ye(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-ne&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):(e.strstart>e.block_start&&(ye(e,!1),e.strm.avail_out),M)}function P(e,t){for(var r,i;;){if(e.lookahead<ne){if(Ce(e),e.lookahead<ne&&t===o)return M;if(e.lookahead===0)break}if(r=0,e.lookahead>=A&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-ne&&(e.match_length=Se(e,r)),e.match_length>=A)if(i=n._tr_tally(e,e.strstart-e.match_start,e.match_length-A),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=A){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=e.strstart<A-1?e.strstart:A-1,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function Te(e,t){for(var r,i,a;;){if(e.lookahead<ne){if(Ce(e),e.lookahead<ne&&t===o)return M;if(e.lookahead===0)break}if(r=0,e.lookahead>=A&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=A-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-ne&&(e.match_length=Se(e,r),e.match_length<=5&&(e.strategy===_||e.match_length===A&&e.strstart-e.match_start>4096)&&(e.match_length=A-1)),e.prev_length>=A&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-A,i=n._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-A),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=a&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+A-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=A-1,e.strstart++,i&&(ye(e,!1),e.strm.avail_out===0))return M}else if(e.match_available){if(i=n._tr_tally(e,0,e.window[e.strstart-1]),i&&ye(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return M}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(i=n._tr_tally(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<A-1?e.strstart:A-1,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function F(e,t){for(var r,i,a,s,c=e.window;;){if(e.lookahead<=j){if(Ce(e),e.lookahead<=j&&t===o)return M;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=A&&e.strstart>0&&(a=e.strstart-1,i=c[a],i===c[++a]&&i===c[++a]&&i===c[++a])){s=e.strstart+j;do;while(i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&a<s);e.match_length=j-(s-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=A?(r=n._tr_tally(e,1,e.match_length-A),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function I(e,t){for(var r;;){if(e.lookahead===0&&(Ce(e),e.lookahead===0)){if(t===o)return M;break}if(e.match_length=0,r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ye(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ye(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ye(e,!1),e.strm.avail_out===0)?M:de}function Ee(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var De=[new Ee(0,0,0,0,we),new Ee(4,4,8,4,P),new Ee(4,5,16,8,P),new Ee(4,6,32,32,P),new Ee(4,4,16,16,Te),new Ee(8,16,32,32,Te),new Ee(8,16,128,128,Te),new Ee(8,32,128,256,Te),new Ee(32,128,258,1024,Te),new Ee(32,258,258,4096,Te)];function Oe(e){e.window_size=2*e.w_size,_e(e.head),e.max_lazy_match=De[e.level].max_lazy,e.good_match=De[e.level].good_length,e.nice_match=De[e.level].nice_length,e.max_chain_length=De[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=A-1,e.match_available=0,e.ins_h=0}function ke(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=C,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new t.Buf16(k*2),this.dyn_dtree=new t.Buf16((2*O+1)*2),this.bl_tree=new t.Buf16((2*ee+1)*2),_e(this.dyn_ltree),_e(this.dyn_dtree),_e(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new t.Buf16(te+1),this.heap=new t.Buf16(2*D+1),_e(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new t.Buf16(2*D+1),_e(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ae(e){var t;return!e||!e.state?he(e,p):(e.total_in=e.total_out=0,e.data_type=S,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ie:le,e.adler=t.wrap===2?0:1,t.last_flush=o,n._tr_init(t),d)}function je(e){var t=Ae(e);return t===d&&Oe(e.state),t}function Me(e,t){return!e||!e.state||e.state.wrap!==2?p:(e.state.gzhead=t,d)}function Ne(e,n,r,i,a,o){if(!e)return p;var s=1;if(n===g&&(n=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),a<1||a>w||r!==C||i<8||i>15||n<0||n>9||o<0||o>b)return he(e,p);i===8&&(i=9);var c=new ke;return e.state=c,c.strm=e,c.wrap=s,c.gzhead=null,c.w_bits=i,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=a+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+A-1)/A),c.window=new t.Buf8(c.w_size*2),c.head=new t.Buf16(c.hash_size),c.prev=new t.Buf16(c.w_size),c.lit_bufsize=1<<a+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new t.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=n,c.strategy=o,c.method=r,je(e)}function Pe(e,t){return Ne(e,t,C,T,E,x)}function Fe(e,t){var r,a,m,g;if(!e||!e.state||t>u||t<0)return e?he(e,p):p;if(a=e.state,!e.output||!e.input&&e.avail_in!==0||a.status===ue&&t!==l)return he(e,e.avail_out===0?h:p);if(a.strm=e,r=a.last_flush,a.last_flush=t,a.status===ie)if(a.wrap===2)e.adler=0,N(a,31),N(a,139),N(a,8),a.gzhead?(N(a,+!!a.gzhead.text+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),N(a,a.gzhead.time&255),N(a,a.gzhead.time>>8&255),N(a,a.gzhead.time>>16&255),N(a,a.gzhead.time>>24&255),N(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),N(a,a.gzhead.os&255),a.gzhead.extra&&a.gzhead.extra.length&&(N(a,a.gzhead.extra.length&255),N(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=i(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=ae):(N(a,0),N(a,0),N(a,0),N(a,0),N(a,0),N(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),N(a,me),a.status=le);else{var _=C+(a.w_bits-8<<4)<<8,b=-1;b=a.strategy>=v||a.level<2?0:a.level<6?1:a.level===6?2:3,_|=b<<6,a.strstart!==0&&(_|=re),_+=31-_%31,a.status=le,be(a,_),a.strstart!==0&&(be(a,e.adler>>>16),be(a,e.adler&65535)),e.adler=1}if(a.status===ae)if(a.gzhead.extra){for(m=a.pending;a.gzindex<(a.gzhead.extra.length&65535)&&!(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ve(e),m=a.pending,a.pending===a.pending_buf_size));)N(a,a.gzhead.extra[a.gzindex]&255),a.gzindex++;a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=oe)}else a.status=oe;if(a.status===oe)if(a.gzhead.name){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ve(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.name.length?a.gzhead.name.charCodeAt(a.gzindex++)&255:0,N(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.gzindex=0,a.status=se)}else a.status=se;if(a.status===se)if(a.gzhead.comment){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),ve(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.comment.length?a.gzhead.comment.charCodeAt(a.gzindex++)&255:0,N(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.status=ce)}else a.status=ce;if(a.status===ce&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&ve(e),a.pending+2<=a.pending_buf_size&&(N(a,e.adler&255),N(a,e.adler>>8&255),e.adler=0,a.status=le)):a.status=le),a.pending!==0){if(ve(e),e.avail_out===0)return a.last_flush=-1,d}else if(e.avail_in===0&&ge(t)<=ge(r)&&t!==l)return he(e,h);if(a.status===ue&&e.avail_in!==0)return he(e,h);if(e.avail_in!==0||a.lookahead!==0||t!==o&&a.status!==ue){var x=a.strategy===v?I(a,t):a.strategy===y?F(a,t):De[a.level].func(a,t);if((x===fe||x===pe)&&(a.status=ue),x===M||x===fe)return e.avail_out===0&&(a.last_flush=-1),d;if(x===de&&(t===s?n._tr_align(a):t!==u&&(n._tr_stored_block(a,0,0,!1),t===c&&(_e(a.head),a.lookahead===0&&(a.strstart=0,a.block_start=0,a.insert=0))),ve(e),e.avail_out===0))return a.last_flush=-1,d}return t===l?a.wrap<=0?f:(a.wrap===2?(N(a,e.adler&255),N(a,e.adler>>8&255),N(a,e.adler>>16&255),N(a,e.adler>>24&255),N(a,e.total_in&255),N(a,e.total_in>>8&255),N(a,e.total_in>>16&255),N(a,e.total_in>>24&255)):(be(a,e.adler>>>16),be(a,e.adler&65535)),ve(e),a.wrap>0&&(a.wrap=-a.wrap),a.pending===0?f:d):d}function Ie(e){var t;return!e||!e.state?p:(t=e.state.status,t!==ie&&t!==ae&&t!==oe&&t!==se&&t!==ce&&t!==le&&t!==ue?he(e,p):(e.state=null,t===le?he(e,m):d))}function Le(e,n){var i=n.length,a,o,s,c,l,u,f,m;if(!e||!e.state||(a=e.state,c=a.wrap,c===2||c===1&&a.status!==ie||a.lookahead))return p;for(c===1&&(e.adler=r(e.adler,n,i,0)),a.wrap=0,i>=a.w_size&&(c===0&&(_e(a.head),a.strstart=0,a.block_start=0,a.insert=0),m=new t.Buf8(a.w_size),t.arraySet(m,n,i-a.w_size,a.w_size,0),n=m,i=a.w_size),l=e.avail_in,u=e.next_in,f=e.input,e.avail_in=i,e.next_in=0,e.input=n,Ce(a);a.lookahead>=A;){o=a.strstart,s=a.lookahead-(A-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[o+A-1])&a.hash_mask,a.prev[o&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=o,o++;while(--s);a.strstart=o,a.lookahead=A-1,Ce(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=A-1,a.match_available=0,e.next_in=u,e.input=f,e.avail_in=l,a.wrap=c,d}e.deflateInit=Pe,e.deflateInit2=Ne,e.deflateReset=je,e.deflateResetKeep=Ae,e.deflateSetHeader=Me,e.deflate=Fe,e.deflateEnd=Ie,e.deflateSetDictionary=Le,e.deflateInfo=`pako deflate (from Nodeca project)`})),pY=s((e=>{var t=lY(),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch{n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{r=!1}for(var i=new t.Buf8(256),a=0;a<256;a++)i[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;i[254]=i[254]=1,e.string2buf=function(e){var n,r,i,a,o,s=e.length,c=0;for(a=0;a<s;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),c+=r<128?1:r<2048?2:r<65536?3:4;for(n=new t.Buf8(c),o=0,a=0;o<c;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),r<128?n[o++]=r:r<2048?(n[o++]=192|r>>>6,n[o++]=128|r&63):r<65536?(n[o++]=224|r>>>12,n[o++]=128|r>>>6&63,n[o++]=128|r&63):(n[o++]=240|r>>>18,n[o++]=128|r>>>12&63,n[o++]=128|r>>>6&63,n[o++]=128|r&63);return n};function o(e,i){if(i<65534&&(e.subarray&&r||!e.subarray&&n))return String.fromCharCode.apply(null,t.shrinkBuf(e,i));for(var a=``,o=0;o<i;o++)a+=String.fromCharCode(e[o]);return a}e.buf2binstring=function(e){return o(e,e.length)},e.binstring2buf=function(e){for(var n=new t.Buf8(e.length),r=0,i=n.length;r<i;r++)n[r]=e.charCodeAt(r);return n},e.buf2string=function(e,t){var n,r,a,s,c=t||e.length,l=Array(c*2);for(r=0,n=0;n<c;){if(a=e[n++],a<128){l[r++]=a;continue}if(s=i[a],s>4){l[r++]=65533,n+=s-1;continue}for(a&=s===2?31:s===3?15:7;s>1&&n<c;)a=a<<6|e[n++]&63,s--;if(s>1){l[r++]=65533;continue}a<65536?l[r++]=a:(a-=65536,l[r++]=55296|a>>10&1023,l[r++]=56320|a&1023)}return o(l,r)},e.utf8border=function(e,t){var n;for(t||=e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+i[e[n]]>t?n:t}})),mY=s(((e,t)=>{function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}t.exports=n})),Hwe=s((e=>{var t=Vwe(),n=lY(),r=pY(),i=fY(),a=mY(),o=Object.prototype.toString,s=0,c=4,l=0,u=1,d=2,f=-1,p=0,m=8;function h(e){if(!(this instanceof h))return new h(e);this.options=n.assign({level:f,method:m,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:``},e||{});var s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var c=t.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(c!==l)throw Error(i[c]);if(s.header&&t.deflateSetHeader(this.strm,s.header),s.dictionary){var u=typeof s.dictionary==`string`?r.string2buf(s.dictionary):o.call(s.dictionary)===`[object ArrayBuffer]`?new Uint8Array(s.dictionary):s.dictionary;if(c=t.deflateSetDictionary(this.strm,u),c!==l)throw Error(i[c]);this._dict_set=!0}}h.prototype.push=function(e,i){var a=this.strm,f=this.options.chunkSize,p,m;if(this.ended)return!1;m=i===~~i?i:i===!0?c:s,typeof e==`string`?a.input=r.string2buf(e):o.call(e)===`[object ArrayBuffer]`?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(a.avail_out===0&&(a.output=new n.Buf8(f),a.next_out=0,a.avail_out=f),p=t.deflate(a,m),p!==u&&p!==l)return this.onEnd(p),this.ended=!0,!1;(a.avail_out===0||a.avail_in===0&&(m===c||m===d))&&(this.options.to===`string`?this.onData(r.buf2binstring(n.shrinkBuf(a.output,a.next_out))):this.onData(n.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||a.avail_out===0)&&p!==u);return m===c?(p=t.deflateEnd(this.strm),this.onEnd(p),this.ended=!0,p===l):m===d?(this.onEnd(l),a.avail_out=0,!0):!0},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===l&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function g(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||i[n.err];return n.result}function _(e,t){return t||={},t.raw=!0,g(e,t)}function v(e,t){return t||={},t.gzip=!0,g(e,t)}e.Deflate=h,e.deflate=g,e.deflateRaw=_,e.gzip=v})),Uwe=s(((e,t)=>{var n=30,r=12;t.exports=function(e,t){var i=e.state,a=e.next_in,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D=e.input,O;o=a+(e.avail_in-5),s=e.next_out,O=e.output,c=s-(t-e.avail_out),l=s+(e.avail_out-257),u=i.dmax,d=i.wsize,f=i.whave,p=i.wnext,m=i.window,h=i.hold,g=i.bits,_=i.lencode,v=i.distcode,y=(1<<i.lenbits)-1,b=(1<<i.distbits)-1;top:do{g<15&&(h+=D[a++]<<g,g+=8,h+=D[a++]<<g,g+=8),x=_[h&y];dolen:for(;;){if(S=x>>>24,h>>>=S,g-=S,S=x>>>16&255,S===0)O[s++]=x&65535;else if(S&16){C=x&65535,S&=15,S&&(g<S&&(h+=D[a++]<<g,g+=8),C+=h&(1<<S)-1,h>>>=S,g-=S),g<15&&(h+=D[a++]<<g,g+=8,h+=D[a++]<<g,g+=8),x=v[h&b];dodist:for(;;){if(S=x>>>24,h>>>=S,g-=S,S=x>>>16&255,S&16){if(w=x&65535,S&=15,g<S&&(h+=D[a++]<<g,g+=8,g<S&&(h+=D[a++]<<g,g+=8)),w+=h&(1<<S)-1,w>u){e.msg=`invalid distance too far back`,i.mode=n;break top}if(h>>>=S,g-=S,S=s-c,w>S){if(S=w-S,S>f&&i.sane){e.msg=`invalid distance too far back`,i.mode=n;break top}if(T=0,E=m,p===0){if(T+=d-S,S<C){C-=S;do O[s++]=m[T++];while(--S);T=s-w,E=O}}else if(p<S){if(T+=d+p-S,S-=p,S<C){C-=S;do O[s++]=m[T++];while(--S);if(T=0,p<C){S=p,C-=S;do O[s++]=m[T++];while(--S);T=s-w,E=O}}}else if(T+=p-S,S<C){C-=S;do O[s++]=m[T++];while(--S);T=s-w,E=O}for(;C>2;)O[s++]=E[T++],O[s++]=E[T++],O[s++]=E[T++],C-=3;C&&(O[s++]=E[T++],C>1&&(O[s++]=E[T++]))}else{T=s-w;do O[s++]=O[T++],O[s++]=O[T++],O[s++]=O[T++],C-=3;while(C>2);C&&(O[s++]=O[T++],C>1&&(O[s++]=O[T++]))}}else if(S&64){e.msg=`invalid distance code`,i.mode=n;break top}else{x=v[(x&65535)+(h&(1<<S)-1)];continue dodist}break}}else if(!(S&64)){x=_[(x&65535)+(h&(1<<S)-1)];continue dolen}else if(S&32){i.mode=r;break top}else{e.msg=`invalid literal/length code`,i.mode=n;break top}break}}while(a<o&&s<l);C=g>>3,a-=C,g-=C<<3,h&=(1<<g)-1,e.next_in=a,e.next_out=s,e.avail_in=a<o?5+(o-a):5-(a-o),e.avail_out=s<l?257+(l-s):257-(s-l),i.hold=h,i.bits=g}})),Wwe=s(((e,t)=>{var n=lY(),r=15,i=852,a=592,o=0,s=1,c=2,l=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],u=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],f=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,p,m,h,g,_,v){var y=v.bits,b=0,x=0,S=0,C=0,w=0,T=0,E=0,D=0,O=0,ee=0,k,te,A,j,ne,re=null,ie=0,ae,oe=new n.Buf16(r+1),se=new n.Buf16(r+1),ce=null,le=0,ue,M,de;for(b=0;b<=r;b++)oe[b]=0;for(x=0;x<m;x++)oe[t[p+x]]++;for(w=y,C=r;C>=1&&oe[C]===0;C--);if(w>C&&(w=C),C===0)return h[g++]=20971520,h[g++]=20971520,v.bits=1,0;for(S=1;S<C&&oe[S]===0;S++);for(w<S&&(w=S),D=1,b=1;b<=r;b++)if(D<<=1,D-=oe[b],D<0)return-1;if(D>0&&(e===o||C!==1))return-1;for(se[1]=0,b=1;b<r;b++)se[b+1]=se[b]+oe[b];for(x=0;x<m;x++)t[p+x]!==0&&(_[se[t[p+x]]++]=x);if(e===o?(re=ce=_,ae=19):e===s?(re=l,ie-=257,ce=u,le-=257,ae=256):(re=d,ce=f,ae=-1),ee=0,x=0,b=S,ne=g,T=w,E=0,A=-1,O=1<<w,j=O-1,e===s&&O>i||e===c&&O>a)return 1;for(;;){ue=b-E,_[x]<ae?(M=0,de=_[x]):_[x]>ae?(M=ce[le+_[x]],de=re[ie+_[x]]):(M=96,de=0),k=1<<b-E,te=1<<T,S=te;do te-=k,h[ne+(ee>>E)+te]=ue<<24|M<<16|de|0;while(te!==0);for(k=1<<b-1;ee&k;)k>>=1;if(k===0?ee=0:(ee&=k-1,ee+=k),x++,--oe[b]===0){if(b===C)break;b=t[p+_[x]]}if(b>w&&(ee&j)!==A){for(E===0&&(E=w),ne+=S,T=b-E,D=1<<T;T+E<C&&(D-=oe[T+E],!(D<=0));)T++,D<<=1;if(O+=1<<T,e===s&&O>i||e===c&&O>a)return 1;A=ee&j,h[A]=w<<24|T<<16|ne-g|0}}return ee!==0&&(h[ne+ee]=b-E<<24|4194304),v.bits=w,0}})),Gwe=s((e=>{var t=lY(),n=uY(),r=dY(),i=Uwe(),a=Wwe(),o=0,s=1,c=2,l=4,u=5,d=6,f=0,p=1,m=2,h=-2,g=-3,_=-4,v=-5,y=8,b=1,x=2,S=3,C=4,w=5,T=6,E=7,D=8,O=9,ee=10,k=11,te=12,A=13,j=14,ne=15,re=16,ie=17,ae=18,oe=19,se=20,ce=21,le=22,ue=23,M=24,de=25,fe=26,pe=27,me=28,he=29,ge=30,_e=31,ve=32,ye=852,N=592,be=15;function xe(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function Se(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new t.Buf16(320),this.work=new t.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ce(e){var n;return!e||!e.state?h:(n=e.state,e.total_in=e.total_out=n.total=0,e.msg=``,n.wrap&&(e.adler=n.wrap&1),n.mode=b,n.last=0,n.havedict=0,n.dmax=32768,n.head=null,n.hold=0,n.bits=0,n.lencode=n.lendyn=new t.Buf32(ye),n.distcode=n.distdyn=new t.Buf32(N),n.sane=1,n.back=-1,f)}function we(e){var t;return!e||!e.state?h:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Ce(e))}function P(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?h:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,we(e))}function Te(e,t){var n,r;return e?(r=new Se,e.state=r,r.window=null,n=P(e,t),n!==f&&(e.state=null),n):h}function F(e){return Te(e,be)}var I=!0,Ee,De;function Oe(e){if(I){var n;for(Ee=new t.Buf32(512),De=new t.Buf32(32),n=0;n<144;)e.lens[n++]=8;for(;n<256;)e.lens[n++]=9;for(;n<280;)e.lens[n++]=7;for(;n<288;)e.lens[n++]=8;for(a(s,e.lens,0,288,Ee,0,e.work,{bits:9}),n=0;n<32;)e.lens[n++]=5;a(c,e.lens,0,32,De,0,e.work,{bits:5}),I=!1}e.lencode=Ee,e.lenbits=9,e.distcode=De,e.distbits=5}function ke(e,n,r,i){var a,o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new t.Buf8(o.wsize)),i>=o.wsize?(t.arraySet(o.window,n,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>i&&(a=i),t.arraySet(o.window,n,r-i,a,o.wnext),i-=a,i?(t.arraySet(o.window,n,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}function Ae(e,ye){var N,be,Se,Ce,we,P,Te,F,I,Ee,De,Ae,je,Me,Ne=0,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He=new t.Buf8(4),Ue,We,Ge=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return h;N=e.state,N.mode===te&&(N.mode=A),we=e.next_out,Se=e.output,Te=e.avail_out,Ce=e.next_in,be=e.input,P=e.avail_in,F=N.hold,I=N.bits,Ee=P,De=Te,Ve=f;inf_leave:for(;;)switch(N.mode){case b:if(N.wrap===0){N.mode=A;break}for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(N.wrap&2&&F===35615){N.check=0,He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0),F=0,I=0,N.mode=x;break}if(N.flags=0,N.head&&(N.head.done=!1),!(N.wrap&1)||(((F&255)<<8)+(F>>8))%31){e.msg=`incorrect header check`,N.mode=ge;break}if((F&15)!==y){e.msg=`unknown compression method`,N.mode=ge;break}if(F>>>=4,I-=4,Be=(F&15)+8,N.wbits===0)N.wbits=Be;else if(Be>N.wbits){e.msg=`invalid window size`,N.mode=ge;break}N.dmax=1<<Be,e.adler=N.check=1,N.mode=F&512?ee:te,F=0,I=0;break;case x:for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(N.flags=F,(N.flags&255)!==y){e.msg=`unknown compression method`,N.mode=ge;break}if(N.flags&57344){e.msg=`unknown header flags set`,N.mode=ge;break}N.head&&(N.head.text=F>>8&1),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0)),F=0,I=0,N.mode=S;case S:for(;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.head&&(N.head.time=F),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,He[2]=F>>>16&255,He[3]=F>>>24&255,N.check=r(N.check,He,4,0)),F=0,I=0,N.mode=C;case C:for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.head&&(N.head.xflags=F&255,N.head.os=F>>8),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0)),F=0,I=0,N.mode=w;case w:if(N.flags&1024){for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.length=F,N.head&&(N.head.extra_len=F),N.flags&512&&(He[0]=F&255,He[1]=F>>>8&255,N.check=r(N.check,He,2,0)),F=0,I=0}else N.head&&(N.head.extra=null);N.mode=T;case T:if(N.flags&1024&&(Ae=N.length,Ae>P&&(Ae=P),Ae&&(N.head&&(Be=N.head.extra_len-N.length,N.head.extra||(N.head.extra=Array(N.head.extra_len)),t.arraySet(N.head.extra,be,Ce,Ae,Be)),N.flags&512&&(N.check=r(N.check,be,Ae,Ce)),P-=Ae,Ce+=Ae,N.length-=Ae),N.length))break inf_leave;N.length=0,N.mode=E;case E:if(N.flags&2048){if(P===0)break inf_leave;Ae=0;do Be=be[Ce+ Ae++],N.head&&Be&&N.length<65536&&(N.head.name+=String.fromCharCode(Be));while(Be&&Ae<P);if(N.flags&512&&(N.check=r(N.check,be,Ae,Ce)),P-=Ae,Ce+=Ae,Be)break inf_leave}else N.head&&(N.head.name=null);N.length=0,N.mode=D;case D:if(N.flags&4096){if(P===0)break inf_leave;Ae=0;do Be=be[Ce+ Ae++],N.head&&Be&&N.length<65536&&(N.head.comment+=String.fromCharCode(Be));while(Be&&Ae<P);if(N.flags&512&&(N.check=r(N.check,be,Ae,Ce)),P-=Ae,Ce+=Ae,Be)break inf_leave}else N.head&&(N.head.comment=null);N.mode=O;case O:if(N.flags&512){for(;I<16;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(F!==(N.check&65535)){e.msg=`header crc mismatch`,N.mode=ge;break}F=0,I=0}N.head&&(N.head.hcrc=N.flags>>9&1,N.head.done=!0),e.adler=N.check=0,N.mode=te;break;case ee:for(;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}e.adler=N.check=xe(F),F=0,I=0,N.mode=k;case k:if(N.havedict===0)return e.next_out=we,e.avail_out=Te,e.next_in=Ce,e.avail_in=P,N.hold=F,N.bits=I,m;e.adler=N.check=1,N.mode=te;case te:if(ye===u||ye===d)break inf_leave;case A:if(N.last){F>>>=I&7,I-=I&7,N.mode=pe;break}for(;I<3;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}switch(N.last=F&1,F>>>=1,--I,F&3){case 0:N.mode=j;break;case 1:if(Oe(N),N.mode=se,ye===d){F>>>=2,I-=2;break inf_leave}break;case 2:N.mode=ie;break;case 3:e.msg=`invalid block type`,N.mode=ge}F>>>=2,I-=2;break;case j:for(F>>>=I&7,I-=I&7;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if((F&65535)!=(F>>>16^65535)){e.msg=`invalid stored block lengths`,N.mode=ge;break}if(N.length=F&65535,F=0,I=0,N.mode=ne,ye===d)break inf_leave;case ne:N.mode=re;case re:if(Ae=N.length,Ae){if(Ae>P&&(Ae=P),Ae>Te&&(Ae=Te),Ae===0)break inf_leave;t.arraySet(Se,be,Ce,Ae,we),P-=Ae,Ce+=Ae,Te-=Ae,we+=Ae,N.length-=Ae;break}N.mode=te;break;case ie:for(;I<14;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(N.nlen=(F&31)+257,F>>>=5,I-=5,N.ndist=(F&31)+1,F>>>=5,I-=5,N.ncode=(F&15)+4,F>>>=4,I-=4,N.nlen>286||N.ndist>30){e.msg=`too many length or distance symbols`,N.mode=ge;break}N.have=0,N.mode=ae;case ae:for(;N.have<N.ncode;){for(;I<3;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.lens[Ge[N.have++]]=F&7,F>>>=3,I-=3}for(;N.have<19;)N.lens[Ge[N.have++]]=0;if(N.lencode=N.lendyn,N.lenbits=7,Ue={bits:N.lenbits},Ve=a(o,N.lens,0,19,N.lencode,0,N.work,Ue),N.lenbits=Ue.bits,Ve){e.msg=`invalid code lengths set`,N.mode=ge;break}N.have=0,N.mode=oe;case oe:for(;N.have<N.nlen+N.ndist;){for(;Ne=N.lencode[F&(1<<N.lenbits)-1],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(Ie<16)F>>>=Pe,I-=Pe,N.lens[N.have++]=Ie;else{if(Ie===16){for(We=Pe+2;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(F>>>=Pe,I-=Pe,N.have===0){e.msg=`invalid bit length repeat`,N.mode=ge;break}Be=N.lens[N.have-1],Ae=3+(F&3),F>>>=2,I-=2}else if(Ie===17){for(We=Pe+3;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Pe,I-=Pe,Be=0,Ae=3+(F&7),F>>>=3,I-=3}else{for(We=Pe+7;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Pe,I-=Pe,Be=0,Ae=11+(F&127),F>>>=7,I-=7}if(N.have+Ae>N.nlen+N.ndist){e.msg=`invalid bit length repeat`,N.mode=ge;break}for(;Ae--;)N.lens[N.have++]=Be}}if(N.mode===ge)break;if(N.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,N.mode=ge;break}if(N.lenbits=9,Ue={bits:N.lenbits},Ve=a(s,N.lens,0,N.nlen,N.lencode,0,N.work,Ue),N.lenbits=Ue.bits,Ve){e.msg=`invalid literal/lengths set`,N.mode=ge;break}if(N.distbits=6,N.distcode=N.distdyn,Ue={bits:N.distbits},Ve=a(c,N.lens,N.nlen,N.ndist,N.distcode,0,N.work,Ue),N.distbits=Ue.bits,Ve){e.msg=`invalid distances set`,N.mode=ge;break}if(N.mode=se,ye===d)break inf_leave;case se:N.mode=ce;case ce:if(P>=6&&Te>=258){e.next_out=we,e.avail_out=Te,e.next_in=Ce,e.avail_in=P,N.hold=F,N.bits=I,i(e,De),we=e.next_out,Se=e.output,Te=e.avail_out,Ce=e.next_in,be=e.input,P=e.avail_in,F=N.hold,I=N.bits,N.mode===te&&(N.back=-1);break}for(N.back=0;Ne=N.lencode[F&(1<<N.lenbits)-1],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(Fe&&!(Fe&240)){for(Le=Pe,Re=Fe,ze=Ie;Ne=N.lencode[ze+((F&(1<<Le+Re)-1)>>Le)],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Le+Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Le,I-=Le,N.back+=Le}if(F>>>=Pe,I-=Pe,N.back+=Pe,N.length=Ie,Fe===0){N.mode=fe;break}if(Fe&32){N.back=-1,N.mode=te;break}if(Fe&64){e.msg=`invalid literal/length code`,N.mode=ge;break}N.extra=Fe&15,N.mode=le;case le:if(N.extra){for(We=N.extra;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.length+=F&(1<<N.extra)-1,F>>>=N.extra,I-=N.extra,N.back+=N.extra}N.was=N.length,N.mode=ue;case ue:for(;Ne=N.distcode[F&(1<<N.distbits)-1],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(!(Fe&240)){for(Le=Pe,Re=Fe,ze=Ie;Ne=N.distcode[ze+((F&(1<<Le+Re)-1)>>Le)],Pe=Ne>>>24,Fe=Ne>>>16&255,Ie=Ne&65535,!(Le+Pe<=I);){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}F>>>=Le,I-=Le,N.back+=Le}if(F>>>=Pe,I-=Pe,N.back+=Pe,Fe&64){e.msg=`invalid distance code`,N.mode=ge;break}N.offset=Ie,N.extra=Fe&15,N.mode=M;case M:if(N.extra){for(We=N.extra;I<We;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}N.offset+=F&(1<<N.extra)-1,F>>>=N.extra,I-=N.extra,N.back+=N.extra}if(N.offset>N.dmax){e.msg=`invalid distance too far back`,N.mode=ge;break}N.mode=de;case de:if(Te===0)break inf_leave;if(Ae=De-Te,N.offset>Ae){if(Ae=N.offset-Ae,Ae>N.whave&&N.sane){e.msg=`invalid distance too far back`,N.mode=ge;break}Ae>N.wnext?(Ae-=N.wnext,je=N.wsize-Ae):je=N.wnext-Ae,Ae>N.length&&(Ae=N.length),Me=N.window}else Me=Se,je=we-N.offset,Ae=N.length;Ae>Te&&(Ae=Te),Te-=Ae,N.length-=Ae;do Se[we++]=Me[je++];while(--Ae);N.length===0&&(N.mode=ce);break;case fe:if(Te===0)break inf_leave;Se[we++]=N.length,Te--,N.mode=ce;break;case pe:if(N.wrap){for(;I<32;){if(P===0)break inf_leave;P--,F|=be[Ce++]<<I,I+=8}if(De-=Te,e.total_out+=De,N.total+=De,De&&(e.adler=N.check=N.flags?r(N.check,Se,De,we-De):n(N.check,Se,De,we-De)),De=Te,(N.flags?F:xe(F))!==N.check){e.msg=`incorrect data check`,N.mode=ge;break}F=0,I=0}N.mode=me;case me:if(N.wrap&&N.flags){for(;I<32;){if(P===0)break inf_leave;P--,F+=be[Ce++]<<I,I+=8}if(F!==(N.total&4294967295)){e.msg=`incorrect length check`,N.mode=ge;break}F=0,I=0}N.mode=he;case he:Ve=p;break inf_leave;case ge:Ve=g;break inf_leave;case _e:return _;case ve:default:return h}return e.next_out=we,e.avail_out=Te,e.next_in=Ce,e.avail_in=P,N.hold=F,N.bits=I,(N.wsize||De!==e.avail_out&&N.mode<ge&&(N.mode<pe||ye!==l))&&ke(e,e.output,e.next_out,De-e.avail_out)?(N.mode=_e,_):(Ee-=e.avail_in,De-=e.avail_out,e.total_in+=Ee,e.total_out+=De,N.total+=De,N.wrap&&De&&(e.adler=N.check=N.flags?r(N.check,Se,De,e.next_out-De):n(N.check,Se,De,e.next_out-De)),e.data_type=N.bits+(N.last?64:0)+(N.mode===te?128:0)+(N.mode===se||N.mode===ne?256:0),(Ee===0&&De===0||ye===l)&&Ve===f&&(Ve=v),Ve)}function je(e){if(!e||!e.state)return h;var t=e.state;return t.window&&=null,e.state=null,f}function Me(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?h:(n.head=t,t.done=!1,f)}function Ne(e,t){var r=t.length,i,a,o;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==k)?h:i.mode===k&&(a=1,a=n(a,t,r,0),a!==i.check)?g:(o=ke(e,t,r,r),o?(i.mode=_e,_):(i.havedict=1,f))}e.inflateReset=we,e.inflateReset2=P,e.inflateResetKeep=Ce,e.inflateInit=F,e.inflateInit2=Te,e.inflate=Ae,e.inflateEnd=je,e.inflateGetHeader=Me,e.inflateSetDictionary=Ne,e.inflateInfo=`pako inflate (from Nodeca project)`})),hY=s(((e,t)=>{t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}})),Kwe=s(((e,t)=>{function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}t.exports=n})),qwe=s((e=>{var t=Gwe(),n=lY(),r=pY(),i=hY(),a=fY(),o=mY(),s=Kwe(),c=Object.prototype.toString;function l(e){if(!(this instanceof l))return new l(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:``},e||{});var u=this.options;u.raw&&u.windowBits>=0&&u.windowBits<16&&(u.windowBits=-u.windowBits,u.windowBits===0&&(u.windowBits=-15)),u.windowBits>=0&&u.windowBits<16&&!(e&&e.windowBits)&&(u.windowBits+=32),u.windowBits>15&&u.windowBits<48&&(u.windowBits&15||(u.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var d=t.inflateInit2(this.strm,u.windowBits);if(d!==i.Z_OK||(this.header=new s,t.inflateGetHeader(this.strm,this.header),u.dictionary&&(typeof u.dictionary==`string`?u.dictionary=r.string2buf(u.dictionary):c.call(u.dictionary)===`[object ArrayBuffer]`&&(u.dictionary=new Uint8Array(u.dictionary)),u.raw&&(d=t.inflateSetDictionary(this.strm,u.dictionary),d!==i.Z_OK))))throw Error(a[d])}l.prototype.push=function(e,a){var o=this.strm,s=this.options.chunkSize,l=this.options.dictionary,u,d,f,p,m,h=!1;if(this.ended)return!1;d=a===~~a?a:a===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof e==`string`?o.input=r.binstring2buf(e):c.call(e)===`[object ArrayBuffer]`?o.input=new Uint8Array(e):o.input=e,o.next_in=0,o.avail_in=o.input.length;do{if(o.avail_out===0&&(o.output=new n.Buf8(s),o.next_out=0,o.avail_out=s),u=t.inflate(o,i.Z_NO_FLUSH),u===i.Z_NEED_DICT&&l&&(u=t.inflateSetDictionary(this.strm,l)),u===i.Z_BUF_ERROR&&h===!0&&(u=i.Z_OK,h=!1),u!==i.Z_STREAM_END&&u!==i.Z_OK)return this.onEnd(u),this.ended=!0,!1;o.next_out&&(o.avail_out===0||u===i.Z_STREAM_END||o.avail_in===0&&(d===i.Z_FINISH||d===i.Z_SYNC_FLUSH))&&(this.options.to===`string`?(f=r.utf8border(o.output,o.next_out),p=o.next_out-f,m=r.buf2string(o.output,f),o.next_out=p,o.avail_out=s-p,p&&n.arraySet(o.output,o.output,f,p,0),this.onData(m)):this.onData(n.shrinkBuf(o.output,o.next_out))),o.avail_in===0&&o.avail_out===0&&(h=!0)}while((o.avail_in>0||o.avail_out===0)&&u!==i.Z_STREAM_END);return u===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(u=t.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===i.Z_OK):d===i.Z_SYNC_FLUSH?(this.onEnd(i.Z_OK),o.avail_out=0,!0):!0},l.prototype.onData=function(e){this.chunks.push(e)},l.prototype.onEnd=function(e){e===i.Z_OK&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function u(e,t){var n=new l(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}function d(e,t){return t||={},t.raw=!0,u(e,t)}e.Inflate=l,e.inflate=u,e.inflateRaw=d,e.ungzip=u})),gY=s(((e,t)=>{var n=lY().assign,r=Hwe(),i=qwe(),a=hY(),o={};n(o,r,i,a),t.exports=o})),Jwe=s(((e,t)=>{let n=(e,t)=>function(...n){let r=t.promiseModule;return new r((r,i)=>{t.multiArgs?n.push((...e)=>{t.errorFirst?e[0]?i(e):(e.shift(),r(e)):r(e)}):t.errorFirst?n.push((e,t)=>{e?i(e):r(t)}):n.push(r),e.apply(this,n)})};t.exports=(e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let r=typeof e;if(!(e!==null&&(r===`object`||r===`function`)))throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?`null`:r}\``);let i=e=>{let n=t=>typeof t==`string`?e===t:t.test(e);return t.include?t.include.some(n):!t.exclude.some(n)},a;a=r===`function`?function(...r){return t.excludeMain?e(...r):n(e,t).apply(this,r)}:Object.create(Object.getPrototypeOf(e));for(let r in e){let o=e[r];a[r]=typeof o==`function`&&i(r)?n(o,t):o}return a}})),Ywe=s(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}let r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.*\/|^\.+$/,l=`node-ignore`;typeof Symbol<`u`&&(l=Symbol.for(`node-ignore`));let u=l,d=(e,t,n)=>Object.defineProperty(e,t,{value:n}),f=/([0-z])-([0-z])/g,p=()=>!1,m=e=>e.replace(f,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),h=e=>{let{length:t}=e;return e.slice(0,t-t%2)},g=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${h(r)}${i}`:i===`]`&&r.length%2==0?`[${m(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`]],_=Object.create(null),v=(e,t)=>{let n=_[e];return n||(n=g.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),_[e]=n),t?new RegExp(n,`i`):new RegExp(n)},y=e=>typeof e==`string`,b=e=>e&&y(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,x=e=>e.split(s);var S=class{constructor(e,t,n,r){this.origin=e,this.pattern=t,this.negative=n,this.regex=r}};let C=(e,t)=>{let n=e,r=!1;e.indexOf(`!`)===0&&(r=!0,e=e.substr(1)),e=e.replace(a,`!`).replace(o,`#`);let i=v(e,t);return new S(n,e,r,i)},w=(e,t)=>{throw new t(e)},T=(e,t,n)=>y(e)?e?T.isNotRelative(e)?n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),E=e=>c.test(e);T.isNotRelative=E,T.convert=e=>e;var D=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){d(this,u,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[u]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(b(e)){let t=C(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(y(e)?x(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,r=!1;return this._rules.forEach(i=>{let{negative:a}=i;r===a&&n!==r||a&&!n&&!r&&!t||i.regex.test(e)&&(n=!a,r=a)}),{ignored:n,unignored:r}}_test(e,t,n,r){let i=e&&T.convert(e);return T(i,e,this._allowRelativePaths?p:w),this._t(i,t,n,r)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`),r.pop(),!r.length)return t[e]=this._testOne(e,n);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let O=e=>new D(e);if(O.isPathValid=e=>T(e&&T.convert(e),e,p),O.default=O,t.exports=O,typeof process<`u`&&({}.IGNORE_TEST_WIN32||process.platform===`win32`)){T.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;T.isNotRelative=t=>e.test(t)||E(t)}})),Xwe=s(((e,t)=>{function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t,r){return t=t instanceof RegExp?t:new RegExp(n(t),`g`),e.replace(t,r)}t.exports={clean:function(e){if(typeof e!=`string`)throw Error(`Expected a string, received: `+e);return e=r(e,`./`,`/`),e=r(e,`..`,`.`),e=r(e,` `,`-`),e=r(e,/^[~^:?*\\\-]/g,``),e=r(e,/[~^:?*\\]/g,`-`),e=r(e,/[~^:?*\\\-]$/g,``),e=r(e,`@{`,`-`),e=r(e,/\.$/g,``),e=r(e,/\/$/g,``),e=r(e,/\.lock$/g,``),e}}})),Zwe=s(((e,t)=>{t.exports=function(e,t){var n=e,r=t,i=n.length,a=r.length,o=!1,s=null,c=i+1,l=[],u=[],d=[],f=``,p=-1,m=0,h=1,g,_,v=function(){i>=a&&(g=n,_=i,n=r,r=g,i=a,a=_,o=!0,c=i+1)},y=function(e,t,n){return{x:e,y:t,k:n}},b=function(e,t){return{elem:e,t}},x=function(e,t,o){var s=t>o?l[e-1+c]:l[e+1+c],d,f=Math.max(t,o);for(d=f-e;d<i&&f<a&&n[d]===r[f];)++d,++f;return l[e+c]=u.length,u[u.length]=new y(d,f,s),f},S=function(e){var t=i=1,i,a=s=0,s,c;for(c=e.length-1;c>=0;--c)for(;a<e[c].x||s<e[c].y;)e[c].y-e[c].x>s-a?(o?d[d.length]=new b(r[s],p):d[d.length]=new b(r[s],h),++i,++s):e[c].y-e[c].x<s-a?(o?d[d.length]=new b(n[a],h):d[d.length]=new b(n[a],p),++t,++a):(d[d.length]=new b(n[a],m),f+=n[a],++t,++i,++a,++s)};return v(),{SES_DELETE:-1,SES_COMMON:0,SES_ADD:1,editdistance:function(){return s},getlcs:function(){return f},getses:function(){return d},compose:function(){var e=a-i,t=i+a+3,n={},r,o,d,f,p;for(f=0;f<t;++f)n[f]=-1,l[f]=-1;r=-1;do{for(++r,p=-r;p<=e-1;++p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);for(p=e+r;p>=e+1;--p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);n[e+c]=x(e,n[e-1+c]+1,n[e+1+c])}while(n[e+c]!==a);for(s=e+2*r,o=l[e+c],d=[];o!==-1;)d[d.length]=new y(u[o].x,u[o].y,null),o=u[o].k;S(d)}}}})),Qwe=s(((e,t)=>{var n=Zwe();function r(e,t){var r=new n(e,t);r.compose();for(var i=r.getses(),a,o,s=e.length-1,c=t.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(o?(o.chain={file1index:s,file2index:c,chain:null},o=o.chain):(a={file1index:s,file2index:c,chain:null},o=a),s--,c--):i[l].t===r.SES_DELETE?s--:i[l].t===r.SES_ADD&&c--;var u={file1index:-1,file2index:-1,chain:null};return o?(o.chain=u,a):u}function i(e,t){for(var n=[],i=e.length,a=t.length,o=r(e,t);o!==null;o=o.chain){var s=i-o.file1index-1,c=a-o.file2index-1;i=o.file1index,a=o.file2index,(s||c)&&n.push({file1:[i+1,s],file2:[a+1,c]})}return n.reverse(),n}function a(e,t,n){var r,a=i(t,e),o=i(t,n),s=[];function c(e,t){s.push([e.file1[0],t,e.file1[1],e.file2[0],e.file2[1]])}for(r=0;r<a.length;r++)c(a[r],0);for(r=0;r<o.length;r++)c(o[r],2);s.sort(function(e,t){return e[0]-t[0]});var l=[],u=0;function d(e){e>u&&(l.push([1,u,e-u]),u=e)}for(var f=0;f<s.length;f++){for(var p=f,m=s[f],h=m[0],g=h+m[2];f<s.length-1;){var _=s[f+1],v=_[0];if(v>g)break;g=Math.max(g,v+_[2]),f++}if(d(h),p==f)m[4]>0&&l.push([m[1],m[3],m[4]]);else{var y={0:[e.length,-1,t.length,-1],2:[n.length,-1,t.length,-1]};for(r=p;r<=f;r++){m=s[r];var b=y[m[1]],x=m[0],S=x+m[2],C=m[3],w=C+m[4];b[0]=Math.min(C,b[0]),b[1]=Math.max(w,b[1]),b[2]=Math.min(x,b[2]),b[3]=Math.max(S,b[3])}var T=y[0][0]+(h-y[0][2]),E=y[0][1]+(g-y[0][3]),D=y[2][0]+(h-y[2][2]),O=y[2][1]+(g-y[2][3]);l.push([-1,T,E-T,h,g-h,D,O-D])}u=g}return d(t.length),l}function o(e,t,n){var r=[],i=[e,t,n],o=a(e,t,n),s=[];function c(){s.length&&r.push({ok:s}),s=[]}function l(e){for(var t=0;t<e.length;t++)s.push(e[t])}function u(t){if(t[2]!=t[6])return!0;for(var r=t[1],i=t[5],a=0;a<t[2];a++)if(e[a+r]!=n[a+i])return!0;return!1}for(var d=0;d<o.length;d++){var f=o[d],p=f[0];p==-1?u(f)?(c(),r.push({conflict:{a:e.slice(f[1],f[1]+f[2]),aIndex:f[1],o:t.slice(f[3],f[3]+f[4]),oIndex:f[3],b:n.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[p].slice(f[1],f[1]+f[2]))}return c(),r}t.exports=o})),_Y=u(twe(),1),vY=u(Rwe(),1),$we=u(zwe(),1),yY=u(gY(),1),bY=u(Jwe(),1),eTe=u(Ywe(),1),xY=u(Xwe(),1),tTe=u(Qwe(),1),SY=class e extends Error{constructor(e){super(e),this.caller=``}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(t){let n=new e(t.message);return n.code=t.code,n.data=t.data,n.caller=t.caller,n.stack=t.stack,n}get isIsomorphicGitError(){return!0}},CY=class e extends SY{constructor(t){super(`Modifying the index is not possible because you have unmerged files: ${t.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=e.code,this.data={filepaths:t}}};CY.code=`UnmergedPathsError`;var wY=class e extends SY{constructor(t){super(`An internal error caused this command to fail.\n\nIf you're using an application that depends on isomorphic-git, please report this error to that application's developers.\n\nIf you're a developer and you believe this is a bug in isomorphic-git, please file an issue at https://github.com/isomorphic-git/isomorphic-git/issues with a minimal reproduction, version and environment details, and this error message: ${t}`),this.code=this.name=e.code,this.data={message:t}}};wY.code=`InternalError`;var TY=class e extends SY{constructor(t){super(`The filepath "${t}" contains unsafe character sequences`),this.code=this.name=e.code,this.data={filepath:t}}};TY.code=`UnsafeFilepathError`;var EY=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let r=this.buffer.write(e,this._start,t,n);return this._start+=t,r}copy(e,t,n){let r=e.copy(this.buffer,this._start,t,n);return this._start+=r,r}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}};function DY(e,t){return-(e<t)||+(e>t)}function OY(e,t){return DY(e.path,t.path)}function kY(e){let t=e>0?e>>12:0;t!==4&&t!==8&&t!==10&&t!==14&&(t=8);let n=e&511;return n=n&73?493:420,t!==8&&(n=0),(t<<12)+n}const AY=2**32;function jY(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];n===void 0&&(n=r.valueOf());let i=Math.floor(n/1e3);return[i,(n-i*1e3)*1e6]}function MY(e){let[t,n]=jY(e.ctimeSeconds,e.ctimeNanoseconds,e.ctimeMs,e.ctime),[r,i]=jY(e.mtimeSeconds,e.mtimeNanoseconds,e.mtimeMs,e.mtime);return{ctimeSeconds:t%AY,ctimeNanoseconds:n%AY,mtimeSeconds:r%AY,mtimeNanoseconds:i%AY,dev:e.dev%AY,ino:e.ino%AY,mode:kY(e.mode%AY),uid:e.uid%AY,gid:e.gid%AY,size:e.size>-1?e.size%AY:0}}function nTe(e){let t=``;for(let n of new Uint8Array(e))n<16&&(t+=`0`),t+=n.toString(16);return t}let NY=null;async function PY(e){return NY===null&&(NY=await iTe()),NY?FY(e):rTe(e)}function rTe(e){return new vY.default().update(e).digest(`hex`)}async function FY(e){return nTe(await crypto.subtle.digest(`SHA-1`,e))}async function iTe(){try{return await FY(new Uint8Array([]))===`da39a3ee5e6b4b0d3255bfef95601890afd80709`}catch{}return!1}function aTe(e){return{assumeValid:!!(e&32768),extended:!!(e&16384),stage:(e&12288)>>12,nameLength:e&4095}}function oTe(e){let t=e.flags;return t.extended=!1,t.nameLength=Math.min(Buffer.from(e.path).length,4095),(t.assumeValid?32768:0)+(t.extended?16384:0)+((t.stage&3)<<12)+(t.nameLength&4095)}var sTe=class e{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let t=this._entries.get(e.path);t||=(this._entries.set(e.path,e),e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(t){if(Buffer.isBuffer(t))return e.fromBuffer(t);if(t===null)return new e(null);throw new wY(`invalid type passed to GitIndex.from`)}static async fromBuffer(t){if(t.length===0)throw new wY(`Index file is empty (.git/index)`);let n=new e,r=new EY(t),i=r.toString(`utf8`,4);if(i!==`DIRC`)throw new wY(`Invalid dircache magic file number: ${i}`);let a=await PY(t.slice(0,-20)),o=t.slice(-20).toString(`hex`);if(o!==a)throw new wY(`Invalid checksum in GitIndex buffer: expected ${o} but saw ${a}`);let s=r.readUInt32BE();if(s!==2)throw new wY(`Unsupported dircache version: ${s}`);let c=r.readUInt32BE(),l=0;for(;!r.eof()&&l<c;){let e={};e.ctimeSeconds=r.readUInt32BE(),e.ctimeNanoseconds=r.readUInt32BE(),e.mtimeSeconds=r.readUInt32BE(),e.mtimeNanoseconds=r.readUInt32BE(),e.dev=r.readUInt32BE(),e.ino=r.readUInt32BE(),e.mode=r.readUInt32BE(),e.uid=r.readUInt32BE(),e.gid=r.readUInt32BE(),e.size=r.readUInt32BE(),e.oid=r.slice(20).toString(`hex`),e.flags=aTe(r.readUInt16BE());let i=t.indexOf(0,r.tell()+1)-r.tell();if(i<1)throw new wY(`Got a path length of: ${i}`);if(e.path=r.toString(`utf8`,i),e.path.includes(`..\\`)||e.path.includes(`../`))throw new TY(e.path);let a=8-(r.tell()-12)%8;for(a===0&&(a=8);a--;){let t=r.readUInt8();if(t!==0)throw new wY(`Expected 1-8 null characters but got '${t}' after ${e.path}`);if(r.eof())throw new wY(`Unexpected end of file`)}e.stages=[],n._addEntry(e),l++}return n}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(OY)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(e=>e):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:r=0}){t||={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0},t=MY(t);let i=Buffer.from(e),a={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:r,nameLength:i.length<4095?i.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let t of this._entries.keys())t.startsWith(e+`/`)&&this._entries.delete(t);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(`
|
|
2633
2633
|
`)}static async _entryToBuffer(e){let t=Buffer.from(e.path),n=Math.ceil((62+t.length+1)/8)*8,r=Buffer.alloc(n),i=new EY(r),a=MY(e);return i.writeUInt32BE(a.ctimeSeconds),i.writeUInt32BE(a.ctimeNanoseconds),i.writeUInt32BE(a.mtimeSeconds),i.writeUInt32BE(a.mtimeNanoseconds),i.writeUInt32BE(a.dev),i.writeUInt32BE(a.ino),i.writeUInt32BE(a.mode),i.writeUInt32BE(a.uid),i.writeUInt32BE(a.gid),i.writeUInt32BE(a.size),i.write(e.oid,20,`hex`),i.writeUInt16BE(oTe(e)),i.write(e.path,t.length,`utf8`),r}async toObject(){let t=Buffer.alloc(12),n=new EY(t);n.write(`DIRC`,4,`utf8`),n.writeUInt32BE(2),n.writeUInt32BE(this.entriesFlat.length);let r=[];for(let t of this.entries)if(r.push(e._entryToBuffer(t)),t.stages.length>1)for(let n of t.stages)n&&n!==t&&r.push(e._entryToBuffer(n));r=await Promise.all(r);let i=Buffer.concat(r),a=Buffer.concat([t,i]),o=await PY(a);return Buffer.concat([a,Buffer.from(o,`hex`)])}};function IY(e,t,n=!0,r=!0){let i=MY(e),a=MY(t);return n&&i.mode!==a.mode||i.mtimeSeconds!==a.mtimeSeconds||i.ctimeSeconds!==a.ctimeSeconds||i.uid!==a.uid||i.gid!==a.gid||r&&i.ino!==a.ino||i.size!==a.size}let LY=null;const RY=Symbol(`IndexCache`);function cTe(){return{map:new Map,stats:new Map}}async function lTe(e,t,n){let[r,i]=await Promise.all([e.lstat(t),e.read(t)]),a=await sTe.from(i);n.map.set(t,a),n.stats.set(t,r)}async function uTe(e,t,n){let r=n.stats.get(t);if(r===void 0)return!0;if(r===null)return!1;let i=await e.lstat(t);return i===null?!1:IY(r,i)}var zY=class{static async acquire({fs:e,gitdir:t,cache:n,allowUnmerged:r=!0},i){n[RY]||(n[RY]=cTe());let a=`${t}/index`;LY===null&&(LY=new _Y.default({maxPending:1/0}));let o,s=[];return await LY.acquire(a,async()=>{let t=n[RY];await uTe(e,a,t)&&await lTe(e,a,t);let c=t.map.get(a);if(s=c.unmergedPaths,s.length&&!r)throw new CY(s);if(o=await i(c),c._dirty){let n=await c.toObject();await e.write(a,n),t.stats.set(a,await e.lstat(a)),c._dirty=!1}}),o}};function BY(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>-1&&(e=e.slice(t+1)),e}function VY(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?`.`:t===0?`/`:e.slice(0,t)}function HY(e){let t=new Map,n=function(e){if(!t.has(e)){let r={type:`tree`,fullpath:e,basename:BY(e),metadata:{},children:[]};t.set(e,r),r.parent=n(VY(e)),r.parent&&r.parent!==r&&r.parent.children.push(r)}return t.get(e)},r=function(e,r){if(!t.has(e)){let i={type:`blob`,fullpath:e,basename:BY(e),metadata:r,parent:n(VY(e)),children:[]};i.parent&&i.parent.children.push(i),t.set(e,i)}return t.get(e)};n(`.`);for(let t of e)r(t.path,t);return t}function dTe(e){switch(e){case 16384:return`tree`;case 33188:return`blob`;case 33261:return`blob`;case 40960:return`blob`;case 57344:return`commit`}throw new wY(`Unexpected GitTree entry mode: ${e.toString(8)}`)}var fTe=class{constructor({fs:e,gitdir:t,cache:n}){this.treePromise=zY.acquire({fs:e,gitdir:t,cache:n},async function(e){return HY(e.entries)});let r=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return r.type(this)}async mode(){return r.mode(this)}async stat(){return r.stat(this)}async content(){return r.content(this)}async oid(){return r.oid(this)}}}async readdir(e){let t=e._fullpath,n=(await this.treePromise).get(t);if(!n||n.type===`blob`)return null;if(n.type!==`tree`)throw Error(`ENOTDIR: not a directory, scandir '${t}'`);let r=n.children.map(e=>e.fullpath);return r.sort(DY),r}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let t=(await this.treePromise).get(e._fullpath);if(!t)throw Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let n=t.type===`tree`?{}:MY(t.metadata);e._type=t.type===`tree`?`tree`:dTe(n.mode),e._mode=n.mode,t.type===`tree`?e._stat=void 0:e._stat=n}return e._stat}async content(e){}async oid(e){return e._oid===!1&&(e._oid=(await this.treePromise).get(e._fullpath).metadata.oid),e._oid}};const UY=Symbol(`GitWalkSymbol`);function WY(){let e=Object.create(null);return Object.defineProperty(e,UY,{value:function({fs:e,gitdir:t,cache:n}){return new fTe({fs:e,gitdir:t,cache:n})}}),Object.freeze(e),e}var GY=class e extends SY{constructor(t){super(`Could not find ${t}.`),this.code=this.name=e.code,this.data={what:t}}};GY.code=`NotFoundError`;var KY=class e extends SY{constructor(t,n,r,i){super(`Object ${t} ${i?`at ${i}`:``}was anticipated to be a ${r} but it is a ${n}.`),this.code=this.name=e.code,this.data={oid:t,actual:n,expected:r,filepath:i}}};KY.code=`ObjectTypeError`;var qY=class e extends SY{constructor(t){super(`Expected a 40-char hex object id but saw "${t}".`),this.code=this.name=e.code,this.data={value:t}}};qY.code=`InvalidOidError`;var JY=class e extends SY{constructor(t){super(`Could not find a fetch refspec for remote "${t}". Make sure the config file has an entry like the following:
|
|
2634
2634
|
[remote "${t}"]
|
|
2635
2635
|
\tfetch = +refs/heads/*:refs/remotes/origin/*
|
|
@@ -2687,7 +2687,7 @@ gpgsig`+QX(o)+`
|
|
|
2687
2687
|
`),n=new TextEncoder().encode(n)}catch{}return typeof n!=`string`&&(n=Buffer.from(n)),n}catch{return null}}async write(e,t,n={}){try{await this._writeFile(e,t,n)}catch{await this.mkdir(VY(e)),await this._writeFile(e,t,n)}}async mkdir(e,t=!1){try{await this._mkdir(e)}catch(n){if(n===null||n.code===`EEXIST`)return;if(t)throw n;if(n.code===`ENOENT`){let t=VY(e);if(t===`.`||t===`/`||t===e)throw n;await this.mkdir(t),await this.mkdir(e,!0)}}}async rm(e){try{await this._unlink(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async rmdir(e,t){try{t&&t.recursive?await this._rm(e,t):await this._rmdir(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async readdir(e){try{let t=await this._readdir(e);return t.sort(DY),t}catch(e){return e.code===`ENOTDIR`?null:[]}}async readdirDeep(e){let t=await this._readdir(e);return(await Promise.all(t.map(async t=>{let n=e+`/`+t;return(await this._stat(n)).isDirectory()?this.readdirDeep(n):n}))).reduce((e,t)=>e.concat(t),[])}async lstat(e){try{return await this._lstat(e)}catch(e){if(e.code===`ENOENT`||(e.code||``).includes(`ENS`))return null;throw e}}async readlink(e,t={encoding:`buffer`}){try{let n=await this._readlink(e,t);return Buffer.isBuffer(n)?n:Buffer.from(n)}catch(e){if(e.code===`ENOENT`||(e.code||``).includes(`ENS`))return null;throw e}}async writelink(e,t){return this._symlink(t.toString(`utf8`),e)}};function X(e,t){if(t===void 0)throw new RX(e)}function lEe(e){return e.startsWith(`/`)||/^[a-zA-Z]:[\\/]/.test(e)}async function dZ({fsp:e,dotgit:t}){X(`fsp`,e),X(`dotgit`,t);let n=await e._stat(t).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return n.isDirectory()?t:n.isFile()?e._readFile(t,`utf8`).then(e=>e.trimRight().substr(8)).then(e=>lEe(e)?e:ZY(VY(t),e)):t}async function fZ(e,t){return!e&&!t?!1:e&&!t||!e&&t?!0:!(await e.type()===`tree`&&await t.type()===`tree`||await e.type()===await t.type()&&await e.mode()===await t.mode()&&await e.oid()===await t.oid())}var pZ=class{static async isIgnored({fs:e,dir:t,gitdir:n=ZY(t,`.git`),filepath:r}){if(BY(r)===`.git`)return!0;if(r===`.`)return!1;let i=``,a=ZY(n,`info`,`exclude`);await e.exists(a)&&(i=await e.read(a,`utf8`));let o=[{gitignore:ZY(t,`.gitignore`),filepath:r}],s=r.split(`/`).filter(Boolean);for(let e=1;e<s.length;e++){let n=s.slice(0,e).join(`/`),r=s.slice(e).join(`/`);o.push({gitignore:ZY(t,n,`.gitignore`),filepath:r})}let c=!1;for(let t of o){let n;try{n=await e.read(t.gitignore,`utf8`)}catch(e){if(e.code===`NOENT`)continue}let r=(0,eTe.default)().add(i);r.add(n);let a=VY(t.filepath);if(a!==`.`&&r.ignores(a))return!0;c=c?!r.test(t.filepath).unignored:r.test(t.filepath).ignored}return c}};async function uEe({fs:e,gitdir:t,object:n,format:r,oid:i}){if(r!==`deflated`)throw new wY(`GitObjectStoreLoose expects objects to write to be in deflated format`);let a=`${t}/${`objects/${i.slice(0,2)}/${i.slice(2)}`}`;await e.exists(a)||await e.write(a,n)}let mZ=null;async function hZ(e){return mZ===null&&(mZ=fEe()),mZ?dEe(e):yY.default.deflate(e)}async function dEe(e){let t=new CompressionStream(`deflate`),n=new Blob([e]).stream().pipeThrough(t);return new Uint8Array(await new Response(n).arrayBuffer())}function fEe(){try{return new CompressionStream(`deflate`).writable.close(),new Blob([]).stream().cancel(),!0}catch{return!1}}async function gZ({fs:e,gitdir:t,type:n,object:r,format:i=`content`,oid:a=void 0,dryRun:o=!1}){return i!==`deflated`&&(i!==`wrapped`&&(r=fX.wrap({type:n,object:r})),a=await PY(r),r=Buffer.from(await hZ(r))),o||await uEe({fs:e,gitdir:t,object:r,format:`deflated`,oid:a}),a}function pEe(e){let t;for(;~(t=e.indexOf(92));)e[t]=47;return e}async function _Z({fs:e,dir:t,gitdir:n=ZY(t,`.git`),filepath:r,cache:i={},force:a=!1,parallel:o=!0}){try{X(`fs`,e),X(`dir`,t),X(`gitdir`,n),X(`filepath`,r);let s=new uZ(e),c=await dZ({fsp:s,dotgit:n});await zY.acquire({fs:s,gitdir:c,cache:i},async e=>vZ({dir:t,gitdir:c,fs:s,filepath:r,index:e,force:a,parallel:o,autocrlf:await(await iX.get({fs:s,gitdir:c})).get(`core.autocrlf`)}))}catch(e){throw e.caller=`git.add`,e}}async function vZ({dir:e,gitdir:t,fs:n,filepath:r,index:i,force:a,parallel:o,autocrlf:s}){r=Array.isArray(r)?r:[r];let c=r.map(async r=>{if(!a&&await pZ.isIgnored({fs:n,dir:e,gitdir:t,filepath:r}))return;let c=await n.lstat(ZY(e,r));if(!c)throw new GY(r);if(c.isDirectory()){let c=await n.readdir(ZY(e,r));if(o){let l=c.map(c=>vZ({dir:e,gitdir:t,fs:n,filepath:[ZY(r,c)],index:i,force:a,parallel:o,autocrlf:s}));await Promise.all(l)}else for(let l of c)await vZ({dir:e,gitdir:t,fs:n,filepath:[ZY(r,l)],index:i,force:a,parallel:o,autocrlf:s})}else{let a=c.isSymbolicLink()?await n.readlink(ZY(e,r)).then(pEe):await n.read(ZY(e,r),{autocrlf:s});if(a===null)throw new GY(r);let o=await gZ({fs:n,gitdir:t,type:`blob`,object:a});i.insert({filepath:r,stats:c,oid:o})}}),l=await Promise.allSettled(c),u=l.filter(e=>e.status===`rejected`).map(e=>e.reason);if(u.length>1)throw new zX(u);if(u.length===1)throw u[0];return l.filter(e=>e.status===`fulfilled`&&e.value).map(e=>e.value)}async function yZ({fs:e,gitdir:t,path:n}){return(await iX.get({fs:e,gitdir:t})).get(n)}function bZ(e,...t){for(let n of t)if(n)for(let t of Object.keys(n)){let r=n[t];r!==void 0&&(e[t]=r)}return e}async function xZ({fs:e,gitdir:t,author:n,commit:r}){let i=Math.floor(Date.now()/1e3),a=bZ({},{name:await yZ({fs:e,gitdir:t,path:`user.name`}),email:await yZ({fs:e,gitdir:t,path:`user.email`})||``,timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},r?r.author:void 0,n);if(a.name!==void 0)return a}async function SZ({fs:e,gitdir:t,author:n,committer:r,commit:i}){let a=Math.floor(Date.now()/1e3),o=bZ({},{name:await yZ({fs:e,gitdir:t,path:`user.name`}),email:await yZ({fs:e,gitdir:t,path:`user.email`})||``,timestamp:a,timezoneOffset:new Date(a*1e3).getTimezoneOffset()},i?i.committer:void 0,n,r);if(o.name!==void 0)return o}async function CZ({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await CX({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=ZX.from(a).parse().object,CZ({fs:e,cache:t,gitdir:n,oid:r});if(i!==`commit`)throw new KY(r,i,`commit`);return{commit:$X.from(a),oid:r}}async function wZ({fs:e,cache:t,gitdir:n,oid:r}){let{commit:i,oid:a}=await CZ({fs:e,cache:t,gitdir:n,oid:r});return{oid:a,commit:i.parse(),payload:i.withoutSignature()}}async function TZ({fs:e,cache:t,onSign:n,gitdir:r,message:i,author:a,committer:o,signingKey:s,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,ref:d,parent:f,tree:p}){let m=!1,h=!1;d||=(h=!(await e.read(`${r}/HEAD`,{encoding:`utf8`})).startsWith(`ref:`),await cX.resolve({fs:e,gitdir:r,ref:`HEAD`,depth:2}));let g,_;try{g=await cX.resolve({fs:e,gitdir:r,ref:d}),_=await wZ({fs:e,gitdir:r,oid:g,cache:{}})}catch{m=!0}if(c&&m)throw new qX(d);let v=c?await xZ({fs:e,gitdir:r,author:a,commit:_.commit}):await xZ({fs:e,gitdir:r,author:a});if(!v)throw new LX(`author`);let y=c?await SZ({fs:e,gitdir:r,author:v,committer:o,commit:_.commit}):await SZ({fs:e,gitdir:r,author:v,committer:o});if(!y)throw new LX(`committer`);return zY.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async function(t){let a=HY(t.entries).get(`.`);if(p||=await EZ({fs:e,gitdir:r,inode:a,dryRun:l}),f=f?await Promise.all(f.map(t=>cX.resolve({fs:e,gitdir:r,ref:t}))):c?_.commit.parent:g?[g]:[],!i)if(c)i=_.commit.message;else throw new RX(`message`);let o=$X.from({tree:p,parent:f,author:v,committer:y,message:i});s&&(o=await $X.sign(o,n,s));let m=await gZ({fs:e,gitdir:r,type:`commit`,object:o.toObject(),dryRun:l});return!u&&!l&&await cX.writeRef({fs:e,gitdir:r,ref:h?`HEAD`:d,value:m}),m})}async function EZ({fs:e,gitdir:t,inode:n,dryRun:r}){let i=n.children;for(let n of i)n.type===`tree`&&(n.metadata.mode=`040000`,n.metadata.oid=await EZ({fs:e,gitdir:t,inode:n,dryRun:r}));let a=i.map(e=>({mode:e.metadata.mode,path:e.basename,oid:e.metadata.oid,type:e.type}));return await gZ({fs:e,gitdir:t,type:`tree`,object:dX.from(a).toObject(),dryRun:r})}async function DZ({fs:e,cache:t,gitdir:n,oid:r,filepath:i}){if(i.startsWith(`/`))throw new MX(`leading-slash`);if(i.endsWith(`/`))throw new MX(`trailing-slash`);let a=r,o=await eZ({fs:e,cache:t,gitdir:n,oid:r}),s=o.tree;return r=i===``?o.oid:await OZ({fs:e,cache:t,gitdir:n,tree:s,pathArray:i.split(`/`),oid:a,filepath:i}),r}async function OZ({fs:e,cache:t,gitdir:n,tree:r,pathArray:i,oid:a,filepath:o}){let s=i.shift();for(let c of r)if(c.path===s){if(i.length===0)return c.oid;{let{type:s,object:l}=await CX({fs:e,cache:t,gitdir:n,oid:c.oid});if(s!==`tree`)throw new KY(a,s,`tree`,o);return r=dX.from(l),OZ({fs:e,cache:t,gitdir:n,tree:r,pathArray:i,oid:a,filepath:o})}}throw new GY(`file or directory found at "${a}:${o}"`)}async function kZ({fs:e,cache:t,gitdir:n,oid:r,filepath:i=void 0}){i!==void 0&&(r=await DZ({fs:e,cache:t,gitdir:n,oid:r,filepath:i}));let{tree:a,oid:o}=await eZ({fs:e,cache:t,gitdir:n,oid:r});return{oid:o,tree:a.entries()}}async function mEe({fs:e,gitdir:t,tree:n}){return await gZ({fs:e,gitdir:t,type:`tree`,object:dX.from(n).toObject(),format:`content`})}const hEe=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function AZ(e,t){if(typeof e!=`string`)throw TypeError(`Reference name must be a string`);return!hEe.test(e)&&(!!t||e.includes(`/`))}async function jZ({fs:e,gitdir:t,remote:n,url:r,force:i}){if(!AZ(n,!0))throw new NX(n,xY.default.clean(n));let a=await iX.get({fs:e,gitdir:t});if(!i&&(await a.getSubsections(`remote`)).includes(n)&&r!==await a.get(`remote.${n}.url`))throw new wX(`remote`,n);await a.set(`remote.${n}.url`,r),await a.set(`remote.${n}.fetch`,`+refs/heads/*:refs/remotes/${n}/*`),await iX.save({fs:e,gitdir:t,config:a})}async function gEe({fs:e,dir:t,gitdir:n=ZY(t,`.git`),remote:r,url:i,force:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`remote`,r),X(`url`,i);let t=new uZ(e);return await jZ({fs:t,gitdir:await dZ({fsp:t,dotgit:n}),remote:r,url:i,force:a})}catch(e){throw e.caller=`git.addRemote`,e}}async function _Ee({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tagger:a,message:o=i,gpgsig:s,object:c,signingKey:l,force:u=!1}){if(i=i.startsWith(`refs/tags/`)?i:`refs/tags/${i}`,!u&&await cX.exists({fs:e,gitdir:r,ref:i}))throw new wX(`tag`,i);let d=await cX.resolve({fs:e,gitdir:r,ref:c||`HEAD`}),{type:f}=await CX({fs:e,cache:t,gitdir:r,oid:d}),p=ZX.from({object:d,type:f,tag:i.replace(`refs/tags/`,``),tagger:a,message:o,gpgsig:s});l&&(p=await ZX.sign(p,n,l));let m=await gZ({fs:e,gitdir:r,type:`tag`,object:p.toObject()});await cX.writeRef({fs:e,gitdir:r,ref:i,value:m})}async function vEe({fs:e,onSign:t,dir:n,gitdir:r=ZY(n,`.git`),ref:i,tagger:a,message:o=i,gpgsig:s,object:c,signingKey:l,force:u=!1,cache:d={}}){try{X(`fs`,e),X(`gitdir`,r),X(`ref`,i),l&&X(`onSign`,t);let n=new uZ(e),f=await dZ({fsp:n,dotgit:r}),p=await xZ({fs:n,gitdir:f,author:a});if(!p)throw new LX(`tagger`);return await _Ee({fs:n,cache:d,onSign:t,gitdir:f,ref:i,tagger:p,message:o,gpgsig:s,object:c,signingKey:l,force:u})}catch(e){throw e.caller=`git.annotatedTag`,e}}async function yEe({fs:e,gitdir:t,ref:n,object:r,checkout:i=!1,force:a=!1}){if(!AZ(n,!0))throw new NX(n,xY.default.clean(n));let o=`refs/heads/${n}`;if(!a&&await cX.exists({fs:e,gitdir:t,ref:o}))throw new wX(`branch`,n,!1);let s;try{s=await cX.resolve({fs:e,gitdir:t,ref:r||`HEAD`})}catch{}s&&await cX.writeRef({fs:e,gitdir:t,ref:o,value:s}),i&&await cX.writeSymbolicRef({fs:e,gitdir:t,ref:`HEAD`,value:o})}async function MZ({fs:e,dir:t,gitdir:n=ZY(t,`.git`),ref:r,object:i,checkout:a=!1,force:o=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new uZ(e);return await yEe({fs:t,gitdir:await dZ({fsp:t,dotgit:n}),ref:r,object:i,checkout:a,force:o})}catch(e){throw e.caller=`git.branch`,e}}const NZ=(e,t)=>e===`.`||t==null||t.length===0||t===`.`?!0:t.length>=e.length?t.startsWith(e):e.startsWith(t);async function PZ({fs:e,cache:t,onProgress:n,onPostCheckout:r,dir:i,gitdir:a,remote:o,ref:s,filepaths:c,noCheckout:l,noUpdateHead:u,dryRun:d,force:f,track:p=!0,nonBlocking:m=!1,batchSize:h=100}){let g;if(r)try{g=await cX.resolve({fs:e,gitdir:a,ref:`HEAD`})}catch{g=`0000000000000000000000000000000000000000`}let _;try{_=await cX.resolve({fs:e,gitdir:a,ref:s})}catch(t){if(s===`HEAD`)throw t;let n=`${o}/${s}`;if(_=await cX.resolve({fs:e,gitdir:a,ref:n}),p){let t=await iX.get({fs:e,gitdir:a});await t.set(`branch.${s}.remote`,o),await t.set(`branch.${s}.merge`,`refs/heads/${s}`),await iX.save({fs:e,gitdir:a,config:t})}await cX.writeRef({fs:e,gitdir:a,ref:`refs/heads/${s}`,value:_})}if(!l){let o;try{o=await bEe({fs:e,cache:t,onProgress:n,dir:i,gitdir:a,ref:s,force:f,filepaths:c})}catch(e){throw e instanceof GY&&e.data.what===_?new DX(s,_):e}let l=o.filter(([e])=>e===`conflict`).map(([e,t])=>t);if(l.length>0)throw new EX(l);let u=o.filter(([e])=>e===`error`).map(([e,t])=>t);if(u.length>0)throw new wY(u.join(`, `));if(d){r&&await r({previousHead:g,newHead:_,type:c!=null&&c.length>0?`file`:`branch`});return}let p=0,v=o.length;if(await zY.acquire({fs:e,gitdir:a,cache:t},async function(t){await Promise.all(o.filter(([e])=>e===`delete`||e===`delete-index`).map(async function([r,a]){let o=`${i}/${a}`;r===`delete`&&await e.rm(o),t.delete({filepath:a}),n&&await n({phase:`Updating workdir`,loaded:++p,total:v})}))}),await zY.acquire({fs:e,gitdir:a,cache:t},async function(t){for(let[r,a]of o)if(r===`rmdir`||r===`rmdir-index`){let o=`${i}/${a}`;try{r===`rmdir`&&await e.rmdir(o),t.delete({filepath:a}),n&&await n({phase:`Updating workdir`,loaded:++p,total:v})}catch(e){if(e.code===`ENOTEMPTY`)console.log(`Did not delete ${a} because directory is not empty`);else throw e}}}),await Promise.all(o.filter(([e])=>e===`mkdir`||e===`mkdir-index`).map(async function([t,r]){let a=`${i}/${r}`;await e.mkdir(a),n&&await n({phase:`Updating workdir`,loaded:++p,total:v})})),m){let r=await FZ(`Update Working Dir`,o.filter(([e])=>e===`create`||e===`create-index`||e===`update`||e===`mkdir-index`).map(([n,r,o,s,c])=>()=>SEe({fs:e,cache:t,gitdir:a,dir:i},[n,r,o,s,c])),n,h);await zY.acquire({fs:e,gitdir:a,cache:t,allowUnmerged:!0},async function(e){await FZ(`Update Index`,r.map(([t,n,r])=>()=>xEe({index:e,fullpath:t,oid:n,stats:r})),n,h)})}else await zY.acquire({fs:e,gitdir:a,cache:t,allowUnmerged:!0},async function(r){let s=await Promise.allSettled(o.filter(([e])=>e===`create`||e===`create-index`||e===`update`||e===`mkdir-index`).map(async function([o,s,c,l,u]){let d=`${i}/${s}`;if(o!==`create-index`&&o!==`mkdir-index`){let{object:n}=await CX({fs:e,cache:t,gitdir:a,oid:c});if(u&&await e.rm(d),l===33188)await e.write(d,n);else if(l===33261)await e.write(d,n,{mode:511});else if(l===40960)await e.writelink(d,n);else throw new wY(`Invalid mode 0o${l.toString(8)} detected in blob ${c}`)}let f=await e.lstat(d);l===33261&&(f.mode=493),o===`mkdir-index`&&(f.mode=57344),r.insert({filepath:s,stats:f,oid:c}),n&&await n({phase:`Updating workdir`,loaded:++p,total:v})})),c=[];for(let e of s)e.status===`rejected`&&(c.push(e.reason),console.error(`[isomorphic-git checkout] task rejected:`,e.reason?.stack??e.reason));if(c.length>0)throw new zX(c)});r&&await r({previousHead:g,newHead:_,type:c!=null&&c.length>0?`file`:`branch`})}if(!u){let t=await cX.expand({fs:e,gitdir:a,ref:s});t.startsWith(`refs/heads`)?await cX.writeSymbolicRef({fs:e,gitdir:a,ref:`HEAD`,value:t}):await cX.writeRef({fs:e,gitdir:a,ref:`HEAD`,value:_})}}async function bEe({fs:e,cache:t,onProgress:n,dir:r,gitdir:i,ref:a,force:o,filepaths:s}){let c=0;return iZ({fs:e,cache:t,dir:r,gitdir:i,trees:[tZ({ref:a}),nZ(),WY()],map:async function(e,[t,r,i]){if(e!==`.`){if(s&&!s.some(t=>NZ(e,t)))return null;switch(n&&await n({phase:`Analyzing workdir`,loaded:++c}),[!!i,!!t,!!r].map(Number).join(``)){case`000`:return;case`001`:return o&&s&&s.includes(e)?[`delete`,e]:void 0;case`010`:switch(await t.type()){case`tree`:return[`mkdir`,e];case`blob`:return[`create`,e,await t.oid(),await t.mode()];case`commit`:return[`mkdir-index`,e,await t.oid(),await t.mode()];default:return[`error`,`new entry Unhandled type ${await t.type()}`]}case`011`:switch(`${await t.type()}-${await r.type()}`){case`tree-tree`:return;case`tree-blob`:case`blob-tree`:return[`conflict`,e];case`blob-blob`:return await t.oid()===await r.oid()?await t.mode()===await r.mode()?[`create-index`,e,await t.oid(),await t.mode()]:o?[`update`,e,await t.oid(),await t.mode(),!0]:[`conflict`,e]:o?[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await r.mode()]:[`conflict`,e];case`commit-tree`:return;case`commit-blob`:return[`conflict`,e];default:return[`error`,`new entry Unhandled type ${t.type}`]}case`100`:return[`delete-index`,e];case`101`:switch(await i.type()){case`tree`:return[`rmdir-index`,e];case`blob`:return await i.oid()===await r.oid()||o?[`delete`,e]:[`conflict`,e];case`commit`:return[`rmdir-index`,e];default:return[`error`,`delete entry Unhandled type ${await i.type()}`]}case`110`:case`111`:switch(`${await i.type()}-${await t.type()}`){case`tree-tree`:return;case`blob-blob`:if(await i.oid()===await t.oid()&&await i.mode()===await t.mode()&&!o)return;if(r){if(await r.oid()!==await i.oid()&&await r.oid()!==await t.oid())return o?[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await r.mode()]:[`conflict`,e]}else if(o)return[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await i.mode()];return await t.mode()===await i.mode()?await t.oid()===await i.oid()?void 0:[`update`,e,await t.oid(),await t.mode(),!1]:[`update`,e,await t.oid(),await t.mode(),!0];case`tree-blob`:return[`update-dir-to-blob`,e,await t.oid()];case`blob-tree`:return[`update-blob-to-tree`,e];case`commit-commit`:return[`mkdir-index`,e,await t.oid(),await t.mode()];default:return[`error`,`update entry Unhandled type ${await i.type()}-${await t.type()}`]}}}},reduce:async function(e,t){return t=rZ(t),e?e&&e[0]===`rmdir`?(t.push(e),t):(t.unshift(e),t):t}})}async function xEe({index:e,fullpath:t,stats:n,oid:r}){try{e.insert({filepath:t,stats:n,oid:r})}catch(e){console.warn(`Error inserting ${t} into index:`,e)}}async function SEe({fs:e,cache:t,gitdir:n,dir:r},[i,a,o,s,c]){let l=`${r}/${a}`;if(i!==`create-index`&&i!==`mkdir-index`){let{object:r}=await CX({fs:e,cache:t,gitdir:n,oid:o});if(c&&await e.rm(l),s===33188)await e.write(l,r);else if(s===33261)await e.write(l,r,{mode:511});else if(s===40960)await e.writelink(l,r);else throw new wY(`Invalid mode 0o${s.toString(8)} detected in blob ${o}`)}let u=await e.lstat(l);return s===33261&&(u.mode=493),i===`mkdir-index`&&(u.mode=57344),[a,o,u]}async function FZ(e,t,n,r){let i=[],a=[];for(let o=0;o<t.length;o+=r){let s=t.slice(o,o+r).map(e=>e());(await Promise.allSettled(s)).forEach(t=>{t.status===`fulfilled`?i.push(t.value):(a.push(t.reason),console.error(`[isomorphic-git ${e}] task rejected:`,t.reason?.stack??t.reason))}),n&&await n({phase:`Updating workdir`,loaded:o+s.length,total:t.length})}if(a.length>0)throw new zX(a);return i}async function IZ({fs:e,onProgress:t,onPostCheckout:n,dir:r,gitdir:i=ZY(r,`.git`),remote:a=`origin`,ref:o,filepaths:s,noCheckout:c=!1,noUpdateHead:l=o===void 0,dryRun:u=!1,force:d=!1,track:f=!0,cache:p={},nonBlocking:m=!1,batchSize:h=100}){try{X(`fs`,e),X(`dir`,r),X(`gitdir`,i);let g=o||`HEAD`,_=new uZ(e);return await PZ({fs:_,cache:p,onProgress:t,onPostCheckout:n,dir:r,gitdir:await dZ({fsp:_,dotgit:i}),remote:a,ref:g,filepaths:s,noCheckout:c,noUpdateHead:l,dryRun:u,force:d,track:f,nonBlocking:m,batchSize:h})}catch(e){throw e.caller=`git.checkout`,e}}const LZ=/^.*(\r?\n|$)/gm;function CEe({branches:e,contents:t}){let n=e[1],r=e[2],i=t[0],a=t[1],o=t[2],s=(0,tTe.default)(a.match(LZ),i.match(LZ),o.match(LZ)),c=``,l=!0;for(let e of s)e.ok&&(c+=e.ok.join(``)),e.conflict&&(l=!1,c+=`${`<`.repeat(7)} ${n}\n`,c+=e.conflict.a.join(``),c+=`${`=`.repeat(7)}\n`,c+=e.conflict.b.join(``),c+=`${`>`.repeat(7)} ${r}\n`);return{cleanMerge:l,mergedText:c}}async function wEe({fs:e,cache:t,dir:n,gitdir:r=ZY(n,`.git`),index:i,ourOid:a,baseOid:o,theirOid:s,ourName:c=`ours`,baseName:l=`base`,theirName:u=`theirs`,dryRun:d=!1,abortOnConflict:f=!0,mergeDriver:p}){let m=tZ({ref:a}),h=tZ({ref:o}),g=tZ({ref:s}),_=[],v=[],y=[],b=[],x=await iZ({fs:e,cache:t,dir:n,gitdir:r,trees:[m,h,g],map:async function(t,[n,a,o]){let s=BY(t);switch(`${await fZ(n,a)}-${await fZ(o,a)}`){case`false-false`:return{mode:await a.mode(),path:s,oid:await a.oid(),type:await a.type()};case`false-true`:return!o&&await n.type()===`tree`?{mode:await n.mode(),path:s,oid:await n.oid(),type:await n.type()}:o?{mode:await o.mode(),path:s,oid:await o.oid(),type:await o.type()}:void 0;case`true-false`:return!n&&await o.type()===`tree`?{mode:await o.mode(),path:s,oid:await o.oid(),type:await o.type()}:n?{mode:await n.mode(),path:s,oid:await n.oid(),type:await n.type()}:void 0;case`true-true`:if(n&&o&&await n.type()===`tree`&&await o.type()===`tree`)return{mode:await n.mode(),path:s,oid:await n.oid(),type:`tree`};if(n&&o&&await n.type()===`blob`&&await o.type()===`blob`)return TEe({fs:e,gitdir:r,path:s,ours:n,base:a,theirs:o,ourName:c,baseName:l,theirName:u,mergeDriver:p}).then(async e=>{if(e.cleanMerge)f||i.insert({filepath:t,oid:e.mergeResult.oid,stage:0});else if(_.push(t),v.push(t),!f){let e=``;a&&await a.type()===`blob`&&(e=await a.oid());let r=await n.oid(),s=await o.oid();i.delete({filepath:t}),e&&i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:r,stage:2}),i.insert({filepath:t,oid:s,stage:3})}return e.mergeResult});if(a&&!n&&o&&await a.type()===`blob`&&await o.type()===`blob`){if(_.push(t),y.push(t),!f){let e=await a.oid(),n=await o.oid();i.delete({filepath:t}),i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:n,stage:3})}return{mode:await o.mode(),oid:await o.oid(),type:`blob`,path:s}}if(a&&n&&!o&&await a.type()===`blob`&&await n.type()===`blob`){if(_.push(t),b.push(t),!f){let e=await a.oid(),r=await n.oid();i.delete({filepath:t}),i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:r,stage:2})}return{mode:await n.mode(),oid:await n.oid(),type:`blob`,path:s}}if(a&&!n&&!o&&(await a.type()===`blob`||await a.type()===`tree`))return;throw new FX}},reduce:_.length!==0&&(!n||f)?void 0:async(t,n)=>{let i=n.filter(Boolean);if(t&&!(t&&t.type===`tree`&&i.length===0&&t.path!==`.`))return(i.length>0||t.path===`.`&&i.length===0)&&(t.oid=await gZ({fs:e,gitdir:r,type:`tree`,object:new dX(i).toObject(),dryRun:d})),t}});return _.length===0?x.oid:(n&&!f&&await iZ({fs:e,cache:t,dir:n,gitdir:r,trees:[tZ({ref:x.oid})],map:async function(t,[r]){let i=`${n}/${t}`;if(await r.type()===`blob`){let t=await r.mode(),n=new TextDecoder().decode(await r.content());await e.write(i,n,{mode:t})}return!0}}),new IX(_,v,y,b))}async function TEe({fs:e,gitdir:t,path:n,ours:r,base:i,theirs:a,ourName:o,theirName:s,baseName:c,dryRun:l,mergeDriver:u=CEe}){let d=`blob`,f=`100755`,p=``,m=``;i&&await i.type()===`blob`&&(f=await i.mode(),p=await i.oid(),m=Buffer.from(await i.content()).toString(`utf8`));let h=f===await r.mode()?await a.mode():await r.mode();if(await r.oid()===await a.oid())return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await r.oid(),type:d}};if(await r.oid()===p)return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await a.oid(),type:d}};if(await a.oid()===p)return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await r.oid(),type:d}};let g=Buffer.from(await r.content()).toString(`utf8`),_=Buffer.from(await a.content()).toString(`utf8`),{mergedText:v,cleanMerge:y}=await u({branches:[c,o,s],contents:[m,g,_],path:n});return{cleanMerge:y,mergeResult:{mode:h,path:n,oid:await gZ({fs:e,gitdir:t,type:`blob`,object:Buffer.from(v,`utf8`),dryRun:l}),type:d}}}const EEe=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function RZ(e){let t=EEe.exec(e);return t?t[1]===`remotes/`&&e.endsWith(`/HEAD`)?t[2].slice(0,-5):t[2]:e}async function zZ({fs:e,gitdir:t,fullname:n=!1,test:r=!1}){let i=await cX.resolve({fs:e,gitdir:t,ref:`HEAD`,depth:2});if(r)try{await cX.resolve({fs:e,gitdir:t,ref:i})}catch{return}if(i.startsWith(`refs/`))return n?i:RZ(i)}function DEe(e){return e=e.replace(/^git@([^:]+):/,`https://$1/`),e=e.replace(/^ssh:\/\//,`https://`),e}function BZ({username:e=``,password:t=``}){return`Basic ${Buffer.from(`${e}:${t}`).toString(`base64`)}`}async function VZ(e,t){let n=gX(e);for(;;){let{value:e,done:r}=await n.next();if(e&&await t(e),r)break}n.return&&n.return()}async function HZ(e){let t=0,n=[];await VZ(e,e=>{n.push(e),t+=e.byteLength});let r=new Uint8Array(t),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}function UZ(e){let t=e.match(/^https?:\/\/([^/]+)@/);if(t==null)return{url:e,auth:{}};t=t[1];let[n,r]=t.split(`:`);return e=e.replace(`${t}@`,``),{url:e,auth:{username:n,password:r}}}function WZ(e,t){let n=t.toString(16);return`0`.repeat(e-n.length)+n}var GZ=class{static flush(){return Buffer.from(`0000`,`utf8`)}static delim(){return Buffer.from(`0001`,`utf8`)}static encode(e){typeof e==`string`&&(e=Buffer.from(e));let t=WZ(4,e.length+4);return Buffer.concat([Buffer.from(t,`utf8`),e])}static streamReader(e){let t=new _X(e);return async function(){try{let e=await t.read(4);return e==null?!0:(e=parseInt(e.toString(`utf8`),16),e===0||e===1?null:await t.read(e-4)??!0)}catch(t){return e.error=t,!0}}}};async function KZ(e){let t={},n;for(;n=await e(),n!==!0;){if(n===null)continue;n=n.toString(`utf8`).replace(/\n$/,``);let e=n.indexOf(`=`);if(e>-1){let r=n.slice(0,e);t[r]=n.slice(e+1)}else t[n]=!0}return{protocolVersion:2,capabilities2:t}}async function qZ(e,{service:t}){let n=new Set,r=new Map,i=new Map,a=GZ.streamReader(e),o=await a();for(;o===null;)o=await a();if(o===!0)throw new OX;if(o.includes(`version 2`))return KZ(a);if(o.toString(`utf8`).replace(/\n$/,``)!==`# service=${t}`)throw new BX(`# service=${t}\\n`,o.toString(`utf8`));let s=await a();for(;s===null;)s=await a();if(s===!0)return{capabilities:n,refs:r,symrefs:i};if(s=s.toString(`utf8`),s.includes(`version 2`))return KZ(a);let[c,l]=JZ(s,`\0`,`\\x00`);if(l.split(` `).map(e=>n.add(e)),c!==`0000000000000000000000000000000000000000 capabilities^{}`){let[e,t]=JZ(c,` `,` `);for(r.set(t,e);;){let e=await a();if(e===!0)break;if(e!==null){let[t,n]=JZ(e.toString(`utf8`),` `,` `);r.set(n,t)}}}for(let e of n)if(e.startsWith(`symref=`)){let t=e.match(/symref=([^:]+):(.*)/);t.length===3&&i.set(t[1],t[2])}return{protocolVersion:1,capabilities:n,refs:r,symrefs:i}}function JZ(e,t,n){let r=e.trim().split(t);if(r.length!==2)throw new BX(`Two strings separated by '${n}'`,e.toString(`utf8`));return r}const YZ=(e,t)=>e.endsWith(`?`)?`${e}${t}`:`${e}/${t.replace(/^https?:\/\//,``)}`,XZ=(e,t)=>{(t.username||t.password)&&(e.Authorization=BZ(t)),t.headers&&Object.assign(e,t.headers)},ZZ=async e=>{try{let t=Buffer.from(await HZ(e.body)),n=t.toString(`utf8`);return{preview:n.length<256?n:n.slice(0,256)+`...`,response:n,data:t}}catch{return{}}};var QZ=class{static async capabilities(){return[`discover`,`connect`]}static async discover({http:e,onProgress:t,onAuth:n,onAuthSuccess:r,onAuthFailure:i,corsProxy:a,service:o,url:s,headers:c,protocolVersion:l}){let{url:u,auth:d}=UZ(s),f=a?YZ(a,u):u;(d.username||d.password)&&(c.Authorization=BZ(d)),l===2&&(c[`Git-Protocol`]=`version=2`);let p,m,h=!1;do if(p=await e.request({onProgress:t,method:`GET`,url:`${f}/info/refs?service=${o}`,headers:c}),m=!1,p.statusCode===401||p.statusCode===203){let e=h?i:n;if(e){if(d=await e(u,{...d,headers:{...c}}),d&&d.cancel)throw new KX;d&&(XZ(c,d),h=!0,m=!0)}}else p.statusCode===200&&h&&r&&await r(u,d);while(m);if(p.statusCode!==200){let{response:e}=await ZZ(p);throw new jX(p.statusCode,p.statusMessage,e)}if(p.headers[`content-type`]===`application/x-${o}-advertisement`){let e=await qZ(p.body,{service:o});return e.auth=d,e}else{let{preview:e,response:t,data:n}=await ZZ(p);try{let e=await qZ([n],{service:o});return e.auth=d,e}catch{throw new UX(e,t)}}}static async connect({http:e,onProgress:t,corsProxy:n,service:r,url:i,auth:a,body:o,headers:s}){let c=UZ(i);c&&(i=c.url),n&&(i=YZ(n,i)),s[`content-type`]=`application/x-${r}-request`,s.accept=`application/x-${r}-result`,XZ(s,a);let l=await e.request({onProgress:t,method:`POST`,url:`${i}/${r}`,body:o,headers:s});if(l.statusCode!==200){let{response:e}=ZZ(l);throw new jX(l.statusCode,l.statusMessage,e)}return l}},$Z=class{static getRemoteHelperFor({url:e}){let t=new Map;t.set(`http`,QZ),t.set(`https`,QZ);let n=OEe({url:e});if(!n)throw new GX(e);if(t.has(n.transport))return t.get(n.transport);throw new WX(e,n.transport,n.transport===`ssh`?DEe(e):void 0)}};function OEe({url:e}){if(e.startsWith(`git@`))return{transport:`ssh`,address:e};let t=e.match(/(\w+)(:\/\/|::)(.*)/);if(t!==null){if(t[2]===`://`)return{transport:t[1],address:t[0]};if(t[2]===`::`)return{transport:t[1],address:t[3]}}}let eQ=null;var tQ=class{static async read({fs:e,gitdir:t}){eQ===null&&(eQ=new _Y.default);let n=ZY(t,`shallow`),r=new Set;return await eQ.acquire(n,async function(){let t=await e.read(n,{encoding:`utf8`});if(t===null||t.trim()===``)return r;t.trim().split(`
|
|
2688
2688
|
`).map(e=>r.add(e))}),r}static async write({fs:e,gitdir:t,oids:n}){eQ===null&&(eQ=new _Y.default);let r=ZY(t,`shallow`);if(n.size>0){let t=[...n].join(`
|
|
2689
2689
|
`)+`
|
|
2690
|
-
`;await eQ.acquire(r,async function(){await e.write(r,t,{encoding:`utf8`})})}else await eQ.acquire(r,async function(){await e.rm(r)})}};async function kEe({fs:e,gitdir:t,oid:n}){let r=`objects/${n.slice(0,2)}/${n.slice(2)}`;return e.exists(`${t}/${r}`)}async function AEe({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i}){let a=await e.readdir(ZY(n,`objects/pack`));a=a.filter(e=>e.endsWith(`.idx`));for(let o of a){let a=await SX({fs:e,cache:t,filename:`${n}/objects/pack/${o}`,getExternalRefDelta:i});if(a.error)throw new wY(a.error);if(a.offsets.has(r))return!0}return!1}async function nQ({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`}){let a=r=>CX({fs:e,cache:t,gitdir:n,oid:r}),o=await kEe({fs:e,gitdir:n,oid:r});return o||=await AEe({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:a}),o}function jEe(e){return e.slice(0,12).toString(`hex`)===`5041434b0000000200000000`}function rQ(e,t){let n=e.map(e=>e.split(`=`,1)[0]);return t.filter(e=>{let t=e.split(`=`,1)[0];return n.includes(t)})}const iQ={name:`isomorphic-git`,version:`1.38.
|
|
2690
|
+
`;await eQ.acquire(r,async function(){await e.write(r,t,{encoding:`utf8`})})}else await eQ.acquire(r,async function(){await e.rm(r)})}};async function kEe({fs:e,gitdir:t,oid:n}){let r=`objects/${n.slice(0,2)}/${n.slice(2)}`;return e.exists(`${t}/${r}`)}async function AEe({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i}){let a=await e.readdir(ZY(n,`objects/pack`));a=a.filter(e=>e.endsWith(`.idx`));for(let o of a){let a=await SX({fs:e,cache:t,filename:`${n}/objects/pack/${o}`,getExternalRefDelta:i});if(a.error)throw new wY(a.error);if(a.offsets.has(r))return!0}return!1}async function nQ({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`}){let a=r=>CX({fs:e,cache:t,gitdir:n,oid:r}),o=await kEe({fs:e,gitdir:n,oid:r});return o||=await AEe({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:a}),o}function jEe(e){return e.slice(0,12).toString(`hex`)===`5041434b0000000200000000`}function rQ(e,t){let n=e.map(e=>e.split(`=`,1)[0]);return t.filter(e=>{let t=e.split(`=`,1)[0];return n.includes(t)})}const iQ={name:`isomorphic-git`,version:`1.38.3`,agent:`git/isomorphic-git@1.38.3`};var aQ=class{constructor(){this._queue=[]}write(e){if(this._ended)throw Error(`You cannot write to a FIFO that has already been ended!`);if(this._waiting){let t=this._waiting;this._waiting=null,t({value:e})}else this._queue.push(e)}end(){if(this._ended=!0,this._waiting){let e=this._waiting;this._waiting=null,e({done:!0})}}destroy(e){this.error=e,this.end()}async next(){if(this._queue.length>0)return{value:this._queue.shift()};if(this._ended)return{done:!0};if(this._waiting)throw Error(`You cannot call read until the previous call to read has returned!`);return new Promise(e=>{this._waiting=e})}};function MEe(e){let t=e.indexOf(`\r`),n=e.indexOf(`
|
|
2691
2691
|
`);return t===-1&&n===-1?-1:t===-1?n+1:n===-1?t+1:n===t+1?n+1:Math.min(t,n)+1}function oQ(e){let t=new aQ,n=``;return(async()=>{await VZ(e,e=>{for(e=e.toString(`utf8`),n+=e;;){let e=MEe(n);if(e===-1)break;t.write(n.slice(0,e)),n=n.slice(e)}}),n.length>0&&t.write(n),t.end()})(),t}var sQ=class{static demux(e){let t=GZ.streamReader(e),n=new aQ,r=new aQ,i=new aQ,a=async function(){let o=await t();if(o===null)return a();if(o===!0){n.end(),i.end(),e.error?r.destroy(e.error):r.end();return}switch(o[0]){case 1:r.write(o.slice(1));break;case 2:i.write(o.slice(1));break;case 3:{let e=o.slice(1);i.write(e),n.end(),i.end(),r.destroy(Error(e.toString(`utf8`)));return}default:n.write(o)}a()};return a(),{packetlines:n,packfile:r,progress:i}}};async function NEe(e){let{packetlines:t,packfile:n,progress:r}=sQ.demux(e),i=[],a=[],o=[],s=!1,c=!1;return new Promise((l,u)=>{VZ(t,t=>{let d=t.toString(`utf8`).trim();if(d.startsWith(`shallow`)){let e=d.slice(-41).trim();e.length!==40&&u(new qY(e)),i.push(e)}else if(d.startsWith(`unshallow`)){let e=d.slice(-41).trim();e.length!==40&&u(new qY(e)),a.push(e)}else if(d.startsWith(`ACK`)){let[,e,t]=d.split(` `);o.push({oid:e,status:t}),t||(c=!0)}else d.startsWith(`NAK`)?(s=!0,c=!0):(c=!0,s=!0);c&&(e.error?u(e.error):l({shallows:i,unshallows:a,acks:o,nak:s,packfile:n,progress:r}))}).finally(()=>{c||(e.error?u(e.error):l({shallows:i,unshallows:a,acks:o,nak:s,packfile:n,progress:r}))})})}function PEe({capabilities:e=[],wants:t=[],haves:n=[],shallows:r=[],depth:i=null,since:a=null,exclude:o=[]}){let s=[];t=[...new Set(t)];let c=` ${e.join(` `)}`;for(let e of t)s.push(GZ.encode(`want ${e}${c}\n`)),c=``;for(let e of r)s.push(GZ.encode(`shallow ${e}\n`));i!==null&&s.push(GZ.encode(`deepen ${i}\n`)),a!==null&&s.push(GZ.encode(`deepen-since ${Math.floor(a.valueOf()/1e3)}\n`));for(let e of o)s.push(GZ.encode(`deepen-not ${e}\n`));s.push(GZ.flush());for(let e of n)s.push(GZ.encode(`have ${e}\n`));return s.push(GZ.encode(`done
|
|
2692
2692
|
`)),s}async function cQ({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:c,ref:l,remoteRef:u,remote:d,url:f,corsProxy:p,depth:m=null,since:h=null,exclude:g=[],relative:_=!1,tags:v=!1,singleBranch:y=!1,headers:b={},prune:x=!1,pruneTags:S=!1}){let C=l||await zZ({fs:e,gitdir:c,test:!0}),w=await iX.get({fs:e,gitdir:c}),T=d||C&&await w.get(`branch.${C}.remote`)||`origin`,E=f||await w.get(`remote.${T}.url`);if(E===void 0)throw new RX(`remote OR url`);let D=u||C&&await w.get(`branch.${C}.merge`)||l||`HEAD`;p===void 0&&(p=await w.get(`http.corsProxy`));let O=$Z.getRemoteHelperFor({url:E}),ee=await O.discover({http:n,onAuth:a,onAuthSuccess:o,onAuthFailure:s,corsProxy:p,service:`git-upload-pack`,url:E,headers:b,protocolVersion:1}),k=ee.auth,te=ee.refs;if(te.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(m!==null&&!ee.capabilities.has(`shallow`))throw new HX(`shallow`,`depth`);if(h!==null&&!ee.capabilities.has(`deepen-since`))throw new HX(`deepen-since`,`since`);if(g.length>0&&!ee.capabilities.has(`deepen-not`))throw new HX(`deepen-not`,`exclude`);if(_===!0&&!ee.capabilities.has(`deepen-relative`))throw new HX(`deepen-relative`,`relative`);let{oid:A,fullref:j}=cX.resolveAgainstMap({ref:D,map:te});for(let e of te.keys())e===j||e===`HEAD`||e.startsWith(`refs/heads/`)||v&&e.startsWith(`refs/tags/`)||te.delete(e);let ne=rQ([...ee.capabilities],[`multi_ack_detailed`,`no-done`,`side-band-64k`,`ofs-delta`,`agent=${iQ.agent}`]);_&&ne.push(`deepen-relative`);let re=y?[A]:te.values(),ie=y?[C]:await cX.listRefs({fs:e,gitdir:c,filepath:`refs`}),ae=[];for(let n of ie)try{n=await cX.expand({fs:e,gitdir:c,ref:n});let r=await cX.resolve({fs:e,gitdir:c,ref:n});await nQ({fs:e,cache:t,gitdir:c,oid:r})&&ae.push(r)}catch{}ae=[...new Set(ae)];let oe=await tQ.read({fs:e,gitdir:c}),se=ee.capabilities.has(`shallow`)?[...oe]:[],ce=PEe({capabilities:ne,wants:re,haves:ae,shallows:se,depth:m,since:h,exclude:g}),le=Buffer.from(await HZ(ce)),ue=await O.connect({http:n,onProgress:r,corsProxy:p,service:`git-upload-pack`,url:E,auth:k,body:[le],headers:b}),M=await NEe(ue.body);ue.headers&&(M.headers=ue.headers);for(let n of M.shallows)if(!oe.has(n))try{let{object:r}=await CX({fs:e,cache:t,gitdir:c,oid:n}),i=new $X(r),a=await Promise.all(i.headers().parent.map(n=>nQ({fs:e,cache:t,gitdir:c,oid:n})));a.length===0||a.every(e=>e)||oe.add(n)}catch{oe.add(n)}for(let e of M.unshallows)oe.delete(e);if(await tQ.write({fs:e,gitdir:c,oids:oe}),y){let t=new Map([[j,A]]),n=new Map,r=10,i=j;for(;r--;){let e=ee.symrefs.get(i);if(e===void 0)break;n.set(i,e),i=e}let a=te.get(i);a&&t.set(i,a);let{pruned:o}=await cX.updateRemoteRefs({fs:e,gitdir:c,remote:T,refs:t,symrefs:n,tags:v,prune:x});x&&(M.pruned=o)}else{let{pruned:t}=await cX.updateRemoteRefs({fs:e,gitdir:c,remote:T,refs:te,symrefs:ee.symrefs,tags:v,prune:x,pruneTags:S});x&&(M.pruned=t)}if(M.HEAD=ee.symrefs.get(`HEAD`),M.HEAD===void 0){let{oid:e}=cX.resolveAgainstMap({ref:`HEAD`,map:te});for(let[t,n]of te.entries())if(t!==`HEAD`&&n===e){M.HEAD=t;break}}M.FETCH_HEAD={oid:A,description:`${j.startsWith(`refs/tags`)?`tag`:`branch`} '${RZ(j)}' of ${E}`},(r||i)&&VZ(oQ(M.progress),async e=>{if(i&&await i(e),r){let t=e.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);t&&await r({phase:t[1].trim(),loaded:parseInt(t[2],10),total:parseInt(t[3],10)})}});let de=Buffer.from(await HZ(M.packfile));if(ue.body.error)throw ue.body.error;let fe=de.slice(-20).toString(`hex`),pe={defaultBranch:M.HEAD,fetchHead:M.FETCH_HEAD.oid,fetchHeadDescription:M.FETCH_HEAD.description};if(M.headers&&(pe.headers=M.headers),x&&(pe.pruned=M.pruned),fe!==``&&!jEe(de)){pe.packfile=`objects/pack/pack-${fe}.pack`;let n=ZY(c,pe.packfile);await e.write(n,de);let i=await bX.fromPack({pack:de,getExternalRefDelta:n=>CX({fs:e,cache:t,gitdir:c,oid:n}),onProgress:r});await e.write(n.replace(/\.pack$/,`.idx`),await i.toBuffer())}return pe}async function lQ({fs:e,bare:t=!1,dir:n,gitdir:r=t?n:ZY(n,`.git`),defaultBranch:i=`master`}){if(await e.exists(r+`/config`))return;let a=[`hooks`,`info`,`objects/info`,`objects/pack`,`refs/heads`,`refs/tags`];a=a.map(e=>r+`/`+e);for(let t of a)await e.mkdir(t);await e.write(r+`/config`,`[core]
|
|
2693
2693
|
repositoryformatversion = 0
|
|
@@ -2793,7 +2793,7 @@ Available commands:
|
|
|
2793
2793
|
`,exitCode:128};let r=n[0],i=n[1],a=r.startsWith(`/`)?r:`${e}/${r}`,o=i.startsWith(`/`)?i:`${e}/${i}`,s;try{s=await this.options.fs.readFile(a,{encoding:`binary`})}catch{return{stdout:``,stderr:`fatal: bad source, source=${r}, destination=${i}\n`,exitCode:128}}let c=o.lastIndexOf(`/`);return c!==-1&&await this.options.fs.mkdir(o.slice(0,c),{recursive:!0}),await this.options.fs.writeFile(o,s),await this.options.fs.rm(a),await _Z({fs:this.lfs,dir:e,filepath:i}),await kQ({fs:this.lfs,dir:e,filepath:r}),{stdout:``,stderr:``,exitCode:0}}async revParse(e,t){if(t.includes(`--show-toplevel`))try{return{stdout:`${await hQ({fs:this.lfs,filepath:e})}\n`,stderr:``,exitCode:0}}catch{return{stdout:``,stderr:`fatal: not a git repository
|
|
2794
2794
|
`,exitCode:128}}if(t.includes(`--is-inside-work-tree`))try{return await hQ({fs:this.lfs,filepath:e}),{stdout:`true
|
|
2795
2795
|
`,stderr:``,exitCode:0}}catch{return{stdout:`false
|
|
2796
|
-
`,stderr:``,exitCode:0}}let n=t.find(e=>!e.startsWith(`-`))??`HEAD`;try{return{stdout:`${await jQ({fs:this.lfs,dir:e,ref:n})}\n`,stderr:``,exitCode:0}}catch{return{stdout:``,stderr:`fatal: ambiguous argument '${n}'\n`,exitCode:128}}}parseArg(e,...t){for(let n of t){let t=e.indexOf(n);if(t!==-1&&e[t+1])return e[t+1];for(let t of e)if(t.startsWith(`${n}=`))return t.slice(n.length+1)}}parseBooleanFlag(e,t,n){let r=`--no-${t.slice(2)}`,i=n;for(let n of e)n===t&&(i=!0),n===r&&(i=!1);return i}},TDe=c({Gate:()=>ZQ,ProcessManager:()=>e$}),ZQ=class{paused=!1;resumePromise=null;resumeResolve=null;released=!1;pause(){this.released||this.paused||(this.paused=!0,this.resumePromise=new Promise(e=>{this.resumeResolve=e}))}resume(){if(!this.paused)return;this.paused=!1;let e=this.resumeResolve;this.resumePromise=null,this.resumeResolve=null,e?.()}wait(){return!this.paused||this.released?Promise.resolve():this.resumePromise}release(){if(this.released)return;this.released=!0,this.paused=!1;let e=this.resumeResolve;this.resumePromise=null,this.resumeResolve=null,e?.()}isPaused(){return this.paused}};const QQ=1024,$Q=4294967295,EDe={SIGINT:130,SIGTERM:143,SIGKILL:137,SIGSTOP:147,SIGCONT:146};var e$=class{processes=new Map;nextPid=QQ;listeners={spawn:new Set,exit:new Set};signalListeners=new Set;spawn(e){let t=this.allocatePid(),n=e.adoptAbort??new AbortController,r={pid:t,ppid:e.ppid??1,kind:e.kind,argv:e.argv.slice(),cwd:e.cwd??`/`,env:{...e.env??{}},owner:{...e.owner},abort:n,gate:new ZQ,startedAt:Date.now(),status:`running`,exitCode:null,terminatedBy:null,finishedAt:null};return this.processes.set(t,r),this.fire(`spawn`,r),r}exit(e,t){let n=this.processes.get(e);n&&(n.status===`exited`||n.status===`killed`||(n.finishedAt=Date.now(),t===null?n.terminatedBy?(n.exitCode=EDe[n.terminatedBy],n.status=`killed`):(n.exitCode=0,n.status=`exited`):(n.exitCode=t,n.status=n.terminatedBy?`killed`:`exited`),n.gate.release(),this.fire(`exit`,n)))}signal(e,t){let n=this.processes.get(e);return!n||n.status===`exited`||n.status===`killed`?!1:t===`SIGSTOP`?(n.gate.pause(),this.fireSignal(n,t),!0):t===`SIGCONT`?(n.gate.resume(),this.fireSignal(n,t),!0):(t===`SIGKILL`?n.terminatedBy=`SIGKILL`:n.terminatedBy===null&&(n.terminatedBy=t),n.abort.signal.aborted||n.abort.abort(),n.gate.release(),this.fireSignal(n,t),!0)}list(){return Array.from(this.processes.values())}get(e){return this.processes.get(e)??null}wait(e){let t=this.processes.get(e);return t?t.status===`exited`||t.status===`killed`?Promise.resolve(t):new Promise(t=>{let n=r=>{r.pid===e&&(this.listeners.exit.delete(n),t(r))};this.listeners.exit.add(n)}):Promise.reject(Error(`pm: no such process: ${e}`))}on(e,t){return this.listeners[e].add(t),()=>{this.listeners[e].delete(t)}}onSignal(e){return this.signalListeners.add(e),()=>{this.signalListeners.delete(e)}}allocatePid(){let e=this.nextPid,t=this.processes.size+1,n=e,r=0;for(;r<=t;){if(!this.processes.has(n))return this.nextPid=n+1>$Q?QQ:n+1,n;if(n=n+1>$Q?QQ:n+1,r++,n===e)throw Error(`pm: pid space exhausted`)}throw Error(`pm: pid allocation gave up after ${r} probes (table size=${this.processes.size}); the process table is likely corrupt`)}fire(e,t){let n=Array.from(this.listeners[e]);for(let e of n)try{e(t)}catch(e){console.warn(`[pm] listener error`,e)}}fireSignal(e,t){let n=Array.from(this.signalListeners);for(let r of n)try{r(e,t)}catch(e){console.warn(`[pm] signal listener error`,e)}}};function t$(e,t){if(typeof t!=`string`||!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(t))throw Error(`${e} must use an exact semver version in package.json`);return t}let n$=null,r$=null;function i$(e){let t=e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t}function a$(e){let t=e.lastIndexOf(`/`);return t<=0?`/`:e.slice(0,t)}function o$(e,t){return e===`/`?`/${t}`:`${e}/${t}`}function s$(e){if(/^(https?:\/\/|about:|file:|chrome:)/i.test(e))return!0;try{return new URL(e).protocol.length>0}catch{return!1}}function DDe(e,t){return e===`/`?t.startsWith(`/`):t===e||t.startsWith(`${e}/`)}function ODe(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function kDe(e){return e==null?``:e instanceof Uint8Array?`x'${ODe(e)}'`:String(e)}function c$(e){return L_(e)}function l$(e){let t=typeof chrome<`u`&&!!chrome?.runtime?.id,n=`/preview${e}`;return t?chrome.runtime.getURL(n):`${typeof window<`u`&&window.location?.origin?window.location.origin:`http://localhost:5710`}${n}`}function ADe(e){return e.length===0||e.startsWith(`/`)?!1:!e.split(`/`).some(e=>e===`..`)}function jDe(e,t){return L(`${e}/${t}`)}function u$(e,t){let n=import.meta.resolve;if(typeof n==`function`)try{return new URL(`./`,n(e))}catch{}return new URL(t,import.meta.url)}function d$(){return typeof process<`u`&&!!process.versions?.node}function f$(){return typeof chrome<`u`&&!!chrome?.runtime?.id}async function MDe(){return n$||=(async()=>{let e=(await import(`./sql-wasm-
|
|
2796
|
+
`,stderr:``,exitCode:0}}let n=t.find(e=>!e.startsWith(`-`))??`HEAD`;try{return{stdout:`${await jQ({fs:this.lfs,dir:e,ref:n})}\n`,stderr:``,exitCode:0}}catch{return{stdout:``,stderr:`fatal: ambiguous argument '${n}'\n`,exitCode:128}}}parseArg(e,...t){for(let n of t){let t=e.indexOf(n);if(t!==-1&&e[t+1])return e[t+1];for(let t of e)if(t.startsWith(`${n}=`))return t.slice(n.length+1)}}parseBooleanFlag(e,t,n){let r=`--no-${t.slice(2)}`,i=n;for(let n of e)n===t&&(i=!0),n===r&&(i=!1);return i}},TDe=c({Gate:()=>ZQ,ProcessManager:()=>e$}),ZQ=class{paused=!1;resumePromise=null;resumeResolve=null;released=!1;pause(){this.released||this.paused||(this.paused=!0,this.resumePromise=new Promise(e=>{this.resumeResolve=e}))}resume(){if(!this.paused)return;this.paused=!1;let e=this.resumeResolve;this.resumePromise=null,this.resumeResolve=null,e?.()}wait(){return!this.paused||this.released?Promise.resolve():this.resumePromise}release(){if(this.released)return;this.released=!0,this.paused=!1;let e=this.resumeResolve;this.resumePromise=null,this.resumeResolve=null,e?.()}isPaused(){return this.paused}};const QQ=1024,$Q=4294967295,EDe={SIGINT:130,SIGTERM:143,SIGKILL:137,SIGSTOP:147,SIGCONT:146};var e$=class{processes=new Map;nextPid=QQ;listeners={spawn:new Set,exit:new Set};signalListeners=new Set;spawn(e){let t=this.allocatePid(),n=e.adoptAbort??new AbortController,r={pid:t,ppid:e.ppid??1,kind:e.kind,argv:e.argv.slice(),cwd:e.cwd??`/`,env:{...e.env??{}},owner:{...e.owner},abort:n,gate:new ZQ,startedAt:Date.now(),status:`running`,exitCode:null,terminatedBy:null,finishedAt:null};return this.processes.set(t,r),this.fire(`spawn`,r),r}exit(e,t){let n=this.processes.get(e);n&&(n.status===`exited`||n.status===`killed`||(n.finishedAt=Date.now(),t===null?n.terminatedBy?(n.exitCode=EDe[n.terminatedBy],n.status=`killed`):(n.exitCode=0,n.status=`exited`):(n.exitCode=t,n.status=n.terminatedBy?`killed`:`exited`),n.gate.release(),this.fire(`exit`,n)))}signal(e,t){let n=this.processes.get(e);return!n||n.status===`exited`||n.status===`killed`?!1:t===`SIGSTOP`?(n.gate.pause(),this.fireSignal(n,t),!0):t===`SIGCONT`?(n.gate.resume(),this.fireSignal(n,t),!0):(t===`SIGKILL`?n.terminatedBy=`SIGKILL`:n.terminatedBy===null&&(n.terminatedBy=t),n.abort.signal.aborted||n.abort.abort(),n.gate.release(),this.fireSignal(n,t),!0)}list(){return Array.from(this.processes.values())}get(e){return this.processes.get(e)??null}wait(e){let t=this.processes.get(e);return t?t.status===`exited`||t.status===`killed`?Promise.resolve(t):new Promise(t=>{let n=r=>{r.pid===e&&(this.listeners.exit.delete(n),t(r))};this.listeners.exit.add(n)}):Promise.reject(Error(`pm: no such process: ${e}`))}on(e,t){return this.listeners[e].add(t),()=>{this.listeners[e].delete(t)}}onSignal(e){return this.signalListeners.add(e),()=>{this.signalListeners.delete(e)}}allocatePid(){let e=this.nextPid,t=this.processes.size+1,n=e,r=0;for(;r<=t;){if(!this.processes.has(n))return this.nextPid=n+1>$Q?QQ:n+1,n;if(n=n+1>$Q?QQ:n+1,r++,n===e)throw Error(`pm: pid space exhausted`)}throw Error(`pm: pid allocation gave up after ${r} probes (table size=${this.processes.size}); the process table is likely corrupt`)}fire(e,t){let n=Array.from(this.listeners[e]);for(let e of n)try{e(t)}catch(e){console.warn(`[pm] listener error`,e)}}fireSignal(e,t){let n=Array.from(this.signalListeners);for(let r of n)try{r(e,t)}catch(e){console.warn(`[pm] signal listener error`,e)}}};function t$(e,t){if(typeof t!=`string`||!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(t))throw Error(`${e} must use an exact semver version in package.json`);return t}let n$=null,r$=null;function i$(e){let t=e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e,n=t.lastIndexOf(`/`);return n>=0?t.slice(n+1):t}function a$(e){let t=e.lastIndexOf(`/`);return t<=0?`/`:e.slice(0,t)}function o$(e,t){return e===`/`?`/${t}`:`${e}/${t}`}function s$(e){if(/^(https?:\/\/|about:|file:|chrome:)/i.test(e))return!0;try{return new URL(e).protocol.length>0}catch{return!1}}function DDe(e,t){return e===`/`?t.startsWith(`/`):t===e||t.startsWith(`${e}/`)}function ODe(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}function kDe(e){return e==null?``:e instanceof Uint8Array?`x'${ODe(e)}'`:String(e)}function c$(e){return L_(e)}function l$(e){let t=typeof chrome<`u`&&!!chrome?.runtime?.id,n=`/preview${e}`;return t?chrome.runtime.getURL(n):`${typeof window<`u`&&window.location?.origin?window.location.origin:`http://localhost:5710`}${n}`}function ADe(e){return e.length===0||e.startsWith(`/`)?!1:!e.split(`/`).some(e=>e===`..`)}function jDe(e,t){return L(`${e}/${t}`)}function u$(e,t){let n=import.meta.resolve;if(typeof n==`function`)try{return new URL(`./`,n(e))}catch{}return new URL(t,import.meta.url)}function d$(){return typeof process<`u`&&!!process.versions?.node}function f$(){return typeof chrome<`u`&&!!chrome?.runtime?.id}async function MDe(){return n$||=(async()=>{let e=(await import(`./sql-wasm-DKXgC4rq.js`).then(e=>u(e.default,1))).default,t=d$()?u$(`sql.js/dist/sql-wasm.js`,`../../../../../node_modules/sql.js/dist/`).toString():`https://sql.js.org/dist/`;return e({locateFile:e=>`${t}${e}`})})(),n$}async function p$(){return r$||=(async()=>{let e=await import(`./typescript-w8cgOfKh.js`).then(e=>u(e.default,1));return e.default??e})(),r$}var m$=class{port;nextId=1;pending=new Map;handler;disposed=!1;constructor(e){this.port=e,this.handler=e=>{if(e.data?.type!==`realm-rpc-res`)return;let t=e.data,n=this.pending.get(t.id);n&&(this.pending.delete(t.id),typeof t.error==`string`?n.reject(Error(t.error)):n.resolve(t.result))},e.addEventListener(`message`,this.handler),e.start?.()}call(e,t,n=[]){if(this.disposed)return Promise.reject(Error(`realm-rpc: client disposed`));let r=this.nextId++,i={type:`realm-rpc-req`,id:r,channel:e,op:t,args:n};return new Promise((e,t)=>{this.pending.set(r,{resolve:e,reject:t}),this.port.postMessage(i)})}dispose(){if(this.disposed)return;this.disposed=!0,this.port.removeEventListener(`message`,this.handler);let e=Error(`realm-rpc: client disposed`);for(let t of this.pending.values())t.reject(e);this.pending.clear()}};const NDe=`https://cdn.jsdelivr.net/pyodide/v${t$(`pyodide`,`0.29.4`)}/full/`;async function PDe(e,t,n=()=>import(`./pyodide-Cv-LjQ35.js`)){let r=[],i=[],a=new m$(t),o;try{o=await(await n()).loadPyodide({indexURL:e.pyodideIndexURL,fullStdLib:!1})}catch(e){a.dispose();let n={type:`realm-error`,message:`loadPyodide: ${e instanceof Error?e.message:String(e)}`};t.postMessage(n);return}let s=e.pyodideSyncDirs??[e.cwd,`/tmp`],c=e=>{i.push(`Warning: ${e}\n`)},l={files:new Map,dirs:new Set};try{l=await FDe(a,o,s,c)}catch(e){c(`VFS→Pyodide sync failed: ${e instanceof Error?e.message:String(e)}`)}try{o.FS.chdir(e.cwd)}catch{}o.setStdout({batched:e=>r.push(e+`
|
|
2797
2797
|
`)}),o.setStderr({batched:e=>i.push(e+`
|
|
2798
2798
|
`)});let u=!1;o.setStdin({stdin:()=>u||!e.stdin?null:(u=!0,e.stdin)}),o.globals.set(`__slicc_code`,e.code),o.globals.set(`__slicc_filename`,e.filename),o.globals.set(`__slicc_argv`,e.argv);let d;try{await o.runPythonAsync(`
|
|
2799
2799
|
import sys
|
|
@@ -2997,7 +2997,7 @@ Examples:
|
|
|
2997
2997
|
agent --read-only /workspace/,/shared/assets/ . "*" "review the docs"
|
|
2998
2998
|
`,stderr:``,exitCode:0};if(r.error)return{stdout:``,stderr:`${r.error}\n`,exitCode:1};let i=r.cwd??``;if(i===``)return{stdout:``,stderr:`agent: <cwd> must not be empty
|
|
2999
2999
|
`,exitCode:1};let a=_Ae(i,n.cwd),o=vAe(r.allowedCommandsRaw??``),s=r.prompt??``;try{if(!(await n.fs.stat(a)).isDirectory)return{stdout:``,stderr:`agent: cwd not a directory: ${i}\n`,exitCode:1}}catch{return{stdout:``,stderr:`agent: cwd not found: ${i}\n`,exitCode:1}}let c=n.fs;if(typeof c.canWrite==`function`&&!c.canWrite(a))return{stdout:``,stderr:`agent: cwd not writable: ${i}\n`,exitCode:1};let l=xAe();if(!l)return{stdout:``,stderr:`agent: orchestrator bridge not available
|
|
3000
|
-
`,exitCode:1};let u={cwd:a,allowedCommands:o,prompt:s};r.modelId!==void 0&&(u.modelId=r.modelId),r.visiblePaths!==void 0&&(u.visiblePaths=r.visiblePaths),r.thinkingLevel!==void 0&&(u.thinkingLevel=r.thinkingLevel),n.cwd&&n.cwd.length>0&&(u.invokingCwd=n.cwd);let d=t?.();d!==void 0&&d.length>0&&(u.parentJid=d);try{let e=await l.spawn(u),t=typeof e?.exitCode==`number`?e.exitCode:0,n=e?.finalText;return t===0?{stdout:yAe(n),stderr:``,exitCode:0}:{stdout:``,stderr:bAe(n),exitCode:t}}catch(e){let t=e instanceof Error?e.message:String(e);return mAe.error(`agent bridge threw`,e),{stdout:``,stderr:`${t}\n`,exitCode:1}}})}const F0=t$(`@biomejs/wasm-web`,{name:`@biomejs/wasm-web`,type:`module`,collaborators:[`Biome Developers and Contributors`],description:`WebAssembly bindings to the Biome workspace API`,version:`2.4.16`,license:`MIT OR Apache-2.0`,repository:{type:`git`,url:`https://github.com/biomejs/biome`},files:[`biome_wasm_bg.wasm`,`biome_wasm.js`,`biome_wasm.d.ts`],main:`biome_wasm.js`,homepage:`https://biomejs.dev/`,types:`biome_wasm.d.ts`,sideEffects:[`./snippets/*`],keywords:[`parser`,`linter`,`formatter`,`wasm`],publishConfig:{provenance:!0}}.version),CAe=_$(`@biomejs/wasm-web`,F0,`biome_wasm_bg.wasm`).toString(),I0=`slicc-biome-${F0}`;let L0=null;async function wAe(e={}){return L0||=TAe(e.onProgress).catch(e=>{throw L0=null,e}),L0}async function TAe(e){let t=e??(()=>{});if(d$()){t(`biome ready (node wasm)`);let{Biome:e}=await import(`./nodejs-
|
|
3000
|
+
`,exitCode:1};let u={cwd:a,allowedCommands:o,prompt:s};r.modelId!==void 0&&(u.modelId=r.modelId),r.visiblePaths!==void 0&&(u.visiblePaths=r.visiblePaths),r.thinkingLevel!==void 0&&(u.thinkingLevel=r.thinkingLevel),n.cwd&&n.cwd.length>0&&(u.invokingCwd=n.cwd);let d=t?.();d!==void 0&&d.length>0&&(u.parentJid=d);try{let e=await l.spawn(u),t=typeof e?.exitCode==`number`?e.exitCode:0,n=e?.finalText;return t===0?{stdout:yAe(n),stderr:``,exitCode:0}:{stdout:``,stderr:bAe(n),exitCode:t}}catch(e){let t=e instanceof Error?e.message:String(e);return mAe.error(`agent bridge threw`,e),{stdout:``,stderr:`${t}\n`,exitCode:1}}})}const F0=t$(`@biomejs/wasm-web`,{name:`@biomejs/wasm-web`,type:`module`,collaborators:[`Biome Developers and Contributors`],description:`WebAssembly bindings to the Biome workspace API`,version:`2.4.16`,license:`MIT OR Apache-2.0`,repository:{type:`git`,url:`https://github.com/biomejs/biome`},files:[`biome_wasm_bg.wasm`,`biome_wasm.js`,`biome_wasm.d.ts`],main:`biome_wasm.js`,homepage:`https://biomejs.dev/`,types:`biome_wasm.d.ts`,sideEffects:[`./snippets/*`],keywords:[`parser`,`linter`,`formatter`,`wasm`],publishConfig:{provenance:!0}}.version),CAe=_$(`@biomejs/wasm-web`,F0,`biome_wasm_bg.wasm`).toString(),I0=`slicc-biome-${F0}`;let L0=null;async function wAe(e={}){return L0||=TAe(e.onProgress).catch(e=>{throw L0=null,e}),L0}async function TAe(e){let t=e??(()=>{});if(d$()){t(`biome ready (node wasm)`);let{Biome:e}=await import(`./nodejs-DCcNNG1Q.js`).then(e=>u(e.default,1)),n=new e,{projectKey:r}=n.openProject();return{biome:n,projectKey:r,version:F0}}t(`downloading biome_wasm_bg.wasm (cached after first run)...`);let n=await EAe(CAe,`application/wasm`,t),r=new ArrayBuffer(n.byteLength);new Uint8Array(r).set(n);let i=await WebAssembly.compile(r),a=(await import(`./biome_wasm-aOjrlpxf.js`)).default;await a({module_or_path:i});let{Biome:o}=await import(`./web-CsKSf4ac.js`).then(e=>u(e.default,1)),s=new o,{projectKey:c}=s.openProject();return t(`biome ready`),{biome:s,projectKey:c,version:F0}}async function EAe(e,t,n){if(typeof caches<`u`)try{let t=await(await caches.open(I0)).match(e);if(t)return new Uint8Array(await t.arrayBuffer())}catch{}n(`fetching ${DAe(e)}...`);let r=await fetch(e);if(!r.ok)throw Error(`@biomejs/wasm-web fetch ${e} failed: HTTP ${r.status}`);let i=new Uint8Array(await r.arrayBuffer());if(typeof caches<`u`)try{let n=await caches.open(I0),r=new Response(i,{headers:{"content-type":t}});await n.put(e,r)}catch{}return i}function DAe(e){return e.replace(/^https?:\/\//,``).slice(0,64)}const OAe=new Set([`js`,`mjs`,`cjs`,`jsx`,`ts`,`mts`,`cts`,`tsx`,`json`,`jsonc`,`css`,`graphql`,`gql`,`html`,`svelte`,`vue`,`astro`]),kAe=new Set([`lint`,`format`,`check`,`ci`]);function AAe(e){let t={subcommand:null,paths:[],write:!1,apply:!1,applyUnsafe:!1,stdinFilePath:null,showHelp:!1,showVersion:!1};if(e.length===0)return t.showHelp=!0,t;for(let n=0;n<e.length;n++){let r=e[n];if(r===`-h`||r===`--help`){t.showHelp=!0;continue}if(r===`-v`||r===`--version`){t.showVersion=!0;continue}if(t.subcommand===null&&kAe.has(r)){t.subcommand=r;continue}if(r===`--write`){t.write=!0;continue}if(r===`--apply`){t.apply=!0;continue}if(r===`--apply-unsafe`){t.applyUnsafe=!0;continue}if(r===`--stdin-file-path`){let r=e[n+1];if(typeof r!=`string`||r.startsWith(`-`))throw Error(`biome: --stdin-file-path requires a value`);t.stdinFilePath=r,n+=1;continue}if(r.startsWith(`--stdin-file-path=`)){t.stdinFilePath=r.slice(18);continue}if(r.startsWith(`-`))throw Error(`biome: unknown option: ${r}`);t.paths.push(r)}return t}function R0(e){let t=e.lastIndexOf(`.`);return t<0?!1:OAe.has(e.slice(t+1).toLowerCase())}async function jAe(e,t,n){let r=[],i=[];for(let a of n){let n=e.resolvePath(t,a);if(!await e.exists(n)){i.push(a);continue}(await e.stat?.(n))?.isDirectory?await z0(e,n,r):R0(n)&&r.push(n)}return{files:r,missing:i}}async function z0(e,t,n){let r=await e.readdir?.(t)??[];for(let i of r){if(i===`node_modules`||i.startsWith(`.git`))continue;let r=t===`/`?`/${i}`:`${t}/${i}`;(await e.stat?.(r))?.isDirectory?await z0(e,r,n):R0(r)&&n.push(r)}}function MAe(){return wG(`biome`,async(e,t)=>{let n;try{n=AAe(e)}catch(e){return{stdout:``,stderr:`${e instanceof Error?e.message:String(e)}\n`,exitCode:2}}if(n.showHelp)return{stdout:`biome - WASM build of the Biome linter / formatter
|
|
3001
3001
|
|
|
3002
3002
|
Usage:
|
|
3003
3003
|
biome <subcommand> [options] [files...]
|
|
@@ -4389,20 +4389,20 @@ authorization-code flow, stores the access token, and retries.
|
|
|
4389
4389
|
On success, the server is persisted to /workspace/.mcp/servers.json and
|
|
4390
4390
|
an alias shim is written to /workspace/.mcp/aliases/<name>.jsh so the
|
|
4391
4391
|
short name resolves on the PATH.
|
|
4392
|
-
`);let n=e.filter(e=>!e.startsWith(`--`));if(n.length<2)return i7(`mcp add: expected <url> <name>`);let[r,i]=n;if(!/^https?:\/\//i.test(r))return i7(`mcp add: invalid URL "${r}" (must start with http:// or https://)`);if(!/^[A-Za-z][A-Za-z0-9_-]*$/.test(i))return i7(`mcp add: invalid name "${i}" (letters, digits, _ and - only; must start with a letter)`);let{getServer:a,setServer:o}=await import(`./store-
|
|
4392
|
+
`);let n=e.filter(e=>!e.startsWith(`--`));if(n.length<2)return i7(`mcp add: expected <url> <name>`);let[r,i]=n;if(!/^https?:\/\//i.test(r))return i7(`mcp add: invalid URL "${r}" (must start with http:// or https://)`);if(!/^[A-Za-z][A-Za-z0-9_-]*$/.test(i))return i7(`mcp add: invalid name "${i}" (letters, digits, _ and - only; must start with a letter)`);let{getServer:a,setServer:o}=await import(`./store-CZJWOlpp.js`).then(e=>e.r);if(await a(i,t.fs))return i7(`mcp add: a server named "${i}" already exists`);let{McpClient:s,McpAuthRequiredError:c}=await Promise.resolve().then(()=>Y5),l=new s({url:r,fetchImpl:t.fetchImpl}),u;try{await l.initialize()}catch(e){if(!(e instanceof c))throw e;u=await RPe(r,i,e.resourceMetadataUrl,t),l=new s({url:r,fetchImpl:t.fetchImpl,getAuthHeader:()=>c7(i)}),await l.initialize()}let d=await l.toolsList(),f=await l.appsList(),p=new Date().toISOString();await o(i,{url:r,tools:d,apps:f,addedAt:p,lastRefreshedAt:p,...u?{auth:u}:{}},t.fs),await nFe(i,t);let m=await d7(i,f,t);if(u){let{registerMcpProvider:e}=await import(`./provider-B1l7sgkh.js`);e({name:i,serverUrl:r,auth:u})}return r7([`Added MCP server "${i}" → ${r}`,` tools: ${d.length}, apps: ${f.length} (${m} sprinkle${m===1?``:`s`})`,` alias: ${n7}/${i}.jsh`,u?` auth: oauth (provider mcp:${i})`:` auth: none`].join(`
|
|
4393
4393
|
`)+`
|
|
4394
|
-
`)}async function RPe(e,t,n,r){let{discoverAuth:i,dynamicRegister:a,runAuthFlow:o}=await import(`./oauth-
|
|
4395
|
-
`);let{ensureAllMcpProvidersRegistered:n}=await import(`./provider-
|
|
4394
|
+
`)}async function RPe(e,t,n,r){let{discoverAuth:i,dynamicRegister:a,runAuthFlow:o}=await import(`./oauth-BJL9G26c.js`),{saveOAuthAccount:s}=await Promise.resolve().then(()=>Uv),c=await eFe(r.oauthFetchImpl),l=r.oauthLauncher??await l7(),u=await i(e,n,c);t7.debug(`MCP OAuth discovery succeeded`,{name:t,serverUrl:e,discoveryPath:u.discoveryPath,issuer:u.issuer});let d=await $Pe(),f=await a(u,d,c),p=u.supportedScopes&&u.supportedScopes.length>0?u.supportedScopes.join(` `):void 0,m=await o({asMetadata:u,clientId:f.clientId,scope:p,redirectUri:d,launcher:l,fetchImpl:c}),h=`mcp:${t}`;return await s({providerId:h,accessToken:m.accessToken,refreshToken:m.refreshToken,tokenExpiresAt:m.expiresAt}),{providerId:h,authorizationServer:u.issuer,clientId:f.clientId,scope:m.scope??p,registrationClientUri:f.registrationClientUri}}async function zPe(e,t){if(e.includes(`--help`)||e.includes(`-h`))return r7(`usage: mcp list
|
|
4395
|
+
`);let{ensureAllMcpProvidersRegistered:n}=await import(`./provider-B1l7sgkh.js`);await n();let{listServers:r}=await import(`./store-CZJWOlpp.js`).then(e=>e.r),i=await r(t.fs),a=Object.keys(i).sort();if(a.length===0)return r7("No MCP servers configured. Use `mcp add <url> <name>`.\n");let o=[[`NAME`,`URL`,`AUTH`,`TOOLS`,`APPS`,`ADDED`]];for(let e of a){let t=i[e];o.push([e,t.url,t.auth?`yes`:`no`,String(t.tools?.length??0),String(t.apps?.length??0),t.addedAt?t.addedAt.slice(0,10):`-`])}return r7(a7(o))}function a7(e){let t=e[0].map((t,n)=>e.reduce((e,t)=>Math.max(e,(t[n]??``).length),0));return e.map(e=>e.map((e,n)=>e.padEnd(t[n])).join(` `).trimEnd()).join(`
|
|
4396
4396
|
`)+`
|
|
4397
4397
|
`}async function BPe(e,t){if(e[0]===`--help`||e[0]===`-h`)return r7(`usage: mcp search <query>
|
|
4398
4398
|
|
|
4399
4399
|
Case-insensitive substring search across the cached tools of every
|
|
4400
4400
|
registered MCP server. Matches tool name OR description and prints a
|
|
4401
4401
|
table of (server, tool, description, match-field) rows.
|
|
4402
|
-
`);if(e.length===0)return i7(`mcp search: expected <query>`);let n=e[0],r=n.toLowerCase(),{ensureAllMcpProvidersRegistered:i}=await import(`./provider-
|
|
4403
|
-
`);let n=e[0],{ensureMcpProviderRegistered:r,removeMcpProvider:i}=await import(`./provider-
|
|
4402
|
+
`);if(e.length===0)return i7(`mcp search: expected <query>`);let n=e[0],r=n.toLowerCase(),{ensureAllMcpProvidersRegistered:i}=await import(`./provider-B1l7sgkh.js`);await i();let{listServers:a}=await import(`./store-CZJWOlpp.js`).then(e=>e.r),o=await a(t.fs),s=Object.keys(o).sort();if(s.length===0)return r7("No MCP servers configured. Use `mcp add <url> <name>`.\n");let c=[];for(let e of s){let t=o[e].tools??[];for(let n of t){let t=n.description??``,i=n.name.toLowerCase().includes(r),a=t.toLowerCase().includes(r);if(!i&&!a)continue;let o=i&&a?`name+description`:i?`name`:`description`;c.push({server:e,tool:n.name,description:t,match:o})}}if(c.length===0)return r7(`No tools matched "${n}".\n`);c.sort((e,t)=>e.server===t.server?e.tool.localeCompare(t.tool):e.server.localeCompare(t.server));let l=[[`SERVER`,`TOOL`,`DESCRIPTION`,`MATCH`]];for(let e of c)l.push([e.server,e.tool,VPe(e.description),e.match]);return r7(a7(l))}function VPe(e){if(!e)return``;let t=e.replace(/\s+/g,` `).trim();return t.length<=60?t:t.slice(0,59)+`…`}async function HPe(e,t){if(e.length===0||e[0]===`--help`||e[0]===`-h`)return e.length===0?i7(`mcp delete: expected <name>`):r7(`usage: mcp delete <name>
|
|
4403
|
+
`);let n=e[0],{ensureMcpProviderRegistered:r,removeMcpProvider:i}=await import(`./provider-B1l7sgkh.js`);await r(n);let{deleteServer:a}=await import(`./store-CZJWOlpp.js`).then(e=>e.r),o=await a(n,t.fs);await rFe(n,t),await iFe(n,t);let s=`mcp:${n}`,c=!1;try{let{removeAccount:e,getAccounts:t}=await Promise.resolve().then(()=>Uv);t().some(e=>e.providerId===s)&&(await e(s),c=!0)}catch(e){t7.warn(`mcp delete: OAuth removal failed`,{providerId:s,error:e instanceof Error?e.message:String(e)})}let l=i(n);return!o&&!c&&!l?i7(`mcp delete: no server, alias, or account found for "${n}"`):r7([`Removed MCP server "${n}"`,` servers.json: ${o?`removed`:`not present`}`,` alias: cleaned`,` sprinkles: cleaned`,` oauth: ${c?`removed`:`not present`}`,` provider: ${l?`unregistered`:`not registered`}`].join(`
|
|
4404
4404
|
`)+`
|
|
4405
|
-
`)}async function UPe(e,t){if(e.length===0||e[0]===`--help`||e[0]===`-h`)return e.length===0?i7(`mcp invoke: expected <name>`):r7(GPe());let n=e[0],r=e.slice(1),{ensureMcpProviderRegistered:i}=await import(`./provider-
|
|
4405
|
+
`)}async function UPe(e,t){if(e.length===0||e[0]===`--help`||e[0]===`-h`)return e.length===0?i7(`mcp invoke: expected <name>`):r7(GPe());let n=e[0],r=e.slice(1),{ensureMcpProviderRegistered:i}=await import(`./provider-B1l7sgkh.js`);await i(n);let{getServer:a}=await import(`./store-CZJWOlpp.js`).then(e=>e.r),o=await a(n,t.fs);if(!o)return i7(`mcp invoke: unknown server "${n}" (run \`mcp add <url> ${n}\` first)`);let s=o.tools??[];if(r.length===0||r[0]===`--help`||r[0]===`-h`)return r7(KPe(n,o,s));let c=r[0],l=s.find(e=>e.name===c);if(!l)return i7(`mcp invoke: unknown tool "${c}" on "${n}" (run \`${n}\` to list tools)`);let{timeoutMs:u,remaining:d,warnings:f}=WPe(r.slice(1));if(d.includes(`--help`)||d.includes(`-h`))return r7(qPe(n,l));let p=JPe(d,l.inputSchema);if(!p.ok)return i7(`mcp invoke: ${p.error}`);let{McpClient:m}=await Promise.resolve().then(()=>Y5),h=new m({url:o.url,fetchImpl:t.fetchImpl,headers:o.headers,getAuthHeader:o.auth?()=>c7(n):void 0,...u===void 0?{}:{timeoutMs:u}});await h.initialize();let g=XPe(await h.toolsCall(c,p.value));return f.length>0&&(g.stderr=f.map(e=>`${e}\n`).join(``)+g.stderr),g}function WPe(e){let t=[],n=[],r,i=0;for(;i<e.length;){let a=e[i];if(a.startsWith(`--timeout=`)){let e=o7(a.slice(10));e.ok?r=e.value:n.push(e.error),i+=1;continue}if(a===`--timeout`){let t=e[i+1];if(t===void 0||t.startsWith(`--`)){n.push(`mcp invoke: --timeout requires a value (got ${t===void 0?`nothing`:`"${t}"`}); using default.`),i+=1;continue}let a=o7(t);a.ok?r=a.value:n.push(a.error),i+=2;continue}t.push(a),i+=1}return{timeoutMs:r,remaining:t,warnings:n}}function o7(e){if(!/^-?\d+$/.test(e))return{ok:!1,error:`mcp invoke: invalid --timeout value "${e}" (expected positive integer seconds); using default.`};let t=Number(e);return!Number.isFinite(t)||t<1?{ok:!1,error:`mcp invoke: invalid --timeout value "${e}" (must be >= 1 second); using default.`}:{ok:!0,value:t*1e3}}function GPe(){return`usage: mcp invoke <name> [tool] [--timeout <seconds>] [--flag value …]
|
|
4406
4406
|
|
|
4407
4407
|
mcp invoke <name> List tools on <name>.
|
|
4408
4408
|
mcp invoke <name> <tool> --help Show flags for <tool>.
|
|
@@ -4432,7 +4432,7 @@ Arguments are coerced according to the tool's JSON Schema:
|
|
|
4432
4432
|
|
|
4433
4433
|
Re-fetches the tool catalog and \`apps/list\` for <name>. Does NOT refresh
|
|
4434
4434
|
OAuth tokens — for OAuth token refresh use \`mcp auth <name>\`.
|
|
4435
|
-
`);let n=e[0],{ensureMcpProviderRegistered:r}=await import(`./provider-
|
|
4435
|
+
`);let n=e[0],{ensureMcpProviderRegistered:r}=await import(`./provider-B1l7sgkh.js`);await r(n);let{getServer:i,setServer:a}=await import(`./store-CZJWOlpp.js`).then(e=>e.r),o=await i(n,t.fs);if(!o)return i7(`mcp refresh: unknown server "${n}"`);let{McpClient:s,McpAuthRequiredError:c}=await Promise.resolve().then(()=>Y5),l=new s({url:o.url,fetchImpl:t.fetchImpl,headers:o.headers,getAuthHeader:o.auth?()=>c7(n):void 0});try{await l.initialize()}catch(e){if(e instanceof c)return i7(`mcp refresh: server "${n}" returned 401 — token may have expired. Run \`mcp auth ${n}\` to re-authenticate.`);throw e}let u=await l.toolsList(),d=await l.appsList();await a(n,{...o,sessionId:void 0,tools:u,apps:d,lastRefreshedAt:new Date().toISOString()},t.fs);let f=await d7(n,d,t);return r7(`Refreshed "${n}" — tools: ${u.length}, apps: ${d.length} (${f} sprinkle${f===1?``:`s`})\n`)}async function QPe(e,t){if(e.includes(`--help`)||e.includes(`-h`))return r7(`usage: mcp auth <name> [--silent | --interactive]
|
|
4436
4436
|
|
|
4437
4437
|
Re-authenticate an existing MCP server. By default, attempts a silent
|
|
4438
4438
|
token renewal using the persisted refresh_token; if that returns no
|
|
@@ -4444,7 +4444,7 @@ Options:
|
|
|
4444
4444
|
-i, --interactive Skip silent renewal and open the OAuth popup
|
|
4445
4445
|
directly. Use after revoking a refresh token or
|
|
4446
4446
|
when the AS no longer accepts the cached one.
|
|
4447
|
-
`);let n=e.filter(e=>!e.startsWith(`-`));if(n.length===0)return i7(`mcp auth: expected <name>`);let r=n[0],i=e.includes(`--silent`)||e.includes(`-s`),a=e.includes(`--interactive`)||e.includes(`-i`);if(i&&a)return i7(`mcp auth: --silent and --interactive are mutually exclusive`);let{ensureMcpProviderRegistered:o}=await import(`./provider-
|
|
4447
|
+
`);let n=e.filter(e=>!e.startsWith(`-`));if(n.length===0)return i7(`mcp auth: expected <name>`);let r=n[0],i=e.includes(`--silent`)||e.includes(`-s`),a=e.includes(`--interactive`)||e.includes(`-i`);if(i&&a)return i7(`mcp auth: --silent and --interactive are mutually exclusive`);let{ensureMcpProviderRegistered:o}=await import(`./provider-B1l7sgkh.js`),s=await o(r),{getServer:c}=await import(`./store-CZJWOlpp.js`).then(e=>e.r),l=await c(r,t.fs);if(!l)return i7(`mcp auth: unknown server "${r}" (run \`mcp list\` to see configured servers)`);if(!l.auth)return i7(`mcp auth: server "${r}" does not use OAuth`);if(!s)return i7(`mcp auth: failed to register provider for "${r}"`);let u=`mcp:${r}`,{getRegisteredProviderConfig:d}=await Promise.resolve().then(()=>Ye),f=d(u);if(!f)return i7(`mcp auth: provider "${u}" is not registered`);if(a)return await s7(r,f,t);if(!f.onSilentRenew)return i?i7(`mcp auth: provider "${u}" does not support silent renewal; retry without --silent`):await s7(r,f,t);let p=null;try{p=await f.onSilentRenew()}catch(e){let t=e instanceof Error?e.message:String(e);if(i)return i7(`mcp auth: silent renewal for "${r}" failed (${t}); retry without --silent to run the interactive flow`);t7.debug(`mcp auth: silent renewal threw, falling back to interactive`,{name:r,error:t})}return p?r7(`Re-authenticated "${r}" via silent renewal (provider ${u})\n`):i?i7(`mcp auth: silent renewal for "${r}" returned no token; retry without --silent to run the interactive flow`):await s7(r,f,t)}async function s7(e,t,n){if(!t.onOAuthLogin)return i7(`mcp auth: provider "${t.id}" does not support interactive OAuth login`);let r=n.oauthLauncher??await l7(),i=!1;return await t.onOAuthLogin(r,()=>{i=!0}),i?r7(`Re-authenticated "${e}" via interactive login (provider ${t.id})\n`):i7(`mcp auth: interactive login for "${e}" did not complete`)}async function c7(e){let t=`mcp:${e}`,{getOAuthAccountInfo:n}=await Promise.resolve().then(()=>Uv),r=n(t);if(!r)return null;if(r.expired){try{let{getRegisteredProviderConfig:e}=await Promise.resolve().then(()=>Ye),n=await e(t)?.onSilentRenew?.();if(n)return`Bearer ${n}`}catch(e){t7.debug(`silent renewal threw`,{providerId:t,error:e instanceof Error?e.message:String(e)})}return null}return`Bearer ${r.token}`}async function l7(){let{createOAuthLauncher:e}=await import(`./oauth-service-CG1zuuwj.js`);return e()}async function $Pe(){let e=typeof chrome<`u`?chrome:void 0;if(e?.runtime?.id)return e.identity?.getRedirectURL?.(`mcp-callback`)??`https://${e.runtime.id}.chromiumapp.org/mcp-callback`;let{getOAuthPageOrigin:t}=await import(`./oauth-service-CG1zuuwj.js`),{origin:n}=await t();return`${n}/auth/callback`}async function eFe(e){if(e)return e;let{createProxiedFetch:t}=await Promise.resolve().then(()=>IJ),n=t();return async(e,t)=>{let r=await n(e,{method:t?.method,headers:t?.headers,body:t?.body}),i=new TextDecoder().decode(r.body);return{ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,text:async()=>i,json:async()=>JSON.parse(i),headers:{get:e=>r.headers[e.toLowerCase()]??null}}}}async function u7(e){if(e)return e;let{VirtualFS:t}=await Promise.resolve().then(()=>qb),{GLOBAL_FS_DB_NAME:n}=await Promise.resolve().then(()=>RQ);return await t.create({dbName:n})}function tFe(e){return`// MCP alias for "${e}" — forwards args to \`mcp invoke ${e}\`.
|
|
4448
4448
|
// Auto-generated by \`mcp add ${e}\`; do not edit by hand.
|
|
4449
4449
|
const argv = Array.isArray(process.argv) ? process.argv.slice(2) : [];
|
|
4450
4450
|
const escape = (s) => {
|
|
@@ -4458,7 +4458,7 @@ const r = await exec(cmd);
|
|
|
4458
4458
|
if (r.stdout) process.stdout.write(r.stdout);
|
|
4459
4459
|
if (r.stderr) process.stderr.write(r.stderr);
|
|
4460
4460
|
process.exit(r.exitCode || 0);
|
|
4461
|
-
`}async function nFe(e,t){let n=await u7(t.fs);await n.mkdir(n7,{recursive:!0}),await n.writeFile(`${n7}/${e}.jsh`,tFe(e)),t.scriptCatalog?.invalidateJsh()}async function rFe(e,t){let n=await u7(t.fs),r=`${n7}/${e}.jsh`;try{await n.exists(r)&&await n.rm(r)}catch(e){t7.debug(`alias removal failed`,{path:r,error:e instanceof Error?e.message:String(e)})}t.scriptCatalog?.invalidateJsh()}async function iFe(e,t){let{removeAppSprinkles:n}=await import(`./apps-
|
|
4461
|
+
`}async function nFe(e,t){let n=await u7(t.fs);await n.mkdir(n7,{recursive:!0}),await n.writeFile(`${n7}/${e}.jsh`,tFe(e)),t.scriptCatalog?.invalidateJsh()}async function rFe(e,t){let n=await u7(t.fs),r=`${n7}/${e}.jsh`;try{await n.exists(r)&&await n.rm(r)}catch(e){t7.debug(`alias removal failed`,{path:r,error:e instanceof Error?e.message:String(e)})}t.scriptCatalog?.invalidateJsh()}async function iFe(e,t){let{removeAppSprinkles:n}=await import(`./apps-D3Pk2_W4.js`);await n(e,t.fs)}async function d7(e,t,n){try{let{materializeAppSprinkles:r}=await import(`./apps-D3Pk2_W4.js`);return(await r(e,t,n.fs)).length}catch(t){return t7.warn(`mcp: failed to materialize app sprinkles`,{name:e,error:t instanceof Error?t.message:String(t)}),0}}const f7=`/.cache/artificial-analysis.json`;async function aFe(e,t=!1){if(e&&!t)try{let t=await e.readFile(f7),n=JSON.parse(t);if(Date.now()-n.fetchedAt<864e5)return n.models}catch{}let n=null;try{n=localStorage.getItem(`aa_api_key`)}catch{}let r={Accept:`application/json`};n&&(r[`x-api-key`]=n);let i=UJ(),a;try{a=await i(`https://artificialanalysis.ai/api/v2/data/llms/models`,{method:`GET`,headers:r})}catch{return[]}if(a.status===401||a.status<200||a.status>=300)return[];let o;try{let e=new TextDecoder().decode(a.body);o=JSON.parse(e)}catch{return[]}let s=(Array.isArray(o)?o:o?.data??o?.models??[]).map(e=>({slug:e.slug??``,name:e.name??``,creator_slug:e.model_creator?.slug??``,intelligence_index:e.evaluations?.artificial_analysis_intelligence_index??null,coding_index:e.evaluations?.artificial_analysis_coding_index??null,speed_tps:e.median_output_tokens_per_second??null}));if(e&&s.length>0){let t={fetchedAt:Date.now(),models:s};try{await e.mkdir(`/.cache`,{recursive:!0}),await e.writeFile(f7,JSON.stringify(t))}catch{}}return s}function p7(e){return e.toLowerCase().replace(/\./g,`-`).replace(/-\d{8}$/,``).replace(/-\d{4}$/,``)}function oFe(e,t){let n=e.toLowerCase(),r=t.find(e=>e.slug===n);if(r)return r;let i=p7(e),a=t.find(e=>p7(e.slug)===i);if(a)return a;let o=t.filter(e=>n.includes(e.slug)||e.slug.includes(n));if(o.length>0)return o.sort((e,t)=>t.slug.length-e.slug.length),o[0]}function sFe(){return`models - list available LLM models
|
|
4462
4462
|
|
|
4463
4463
|
Usage: models [options]
|
|
4464
4464
|
|
|
@@ -4574,10 +4574,10 @@ Examples:
|
|
|
4574
4574
|
`}function wFe(){return wG(`oauth-token`,async e=>{let{getOAuthAccountInfo:t,getSelectedProvider:n,getAccounts:r}=await Promise.resolve().then(()=>Uv),{getRegisteredProviderConfig:i,getRegisteredProviderIds:a}=await Promise.resolve().then(()=>Ye);if(e.includes(`--help`)||e.includes(`-h`))return{stdout:CFe(),stderr:``,exitCode:0};if(e.includes(`--list`))return DFe(r,a,i,t);if(e.includes(`--renew`))return TFe(e);if(e.includes(`--from-file`)||e.includes(`--intercept`))return EFe(e);let o,s=e.indexOf(`--scope`);if(s>=0){if(o=e[s+1]?.trim(),!o||o.startsWith(`-`))return{stdout:``,stderr:`oauth-token: --scope requires a value
|
|
4575
4575
|
`,exitCode:1};e.splice(s,2)}let c,l=e.indexOf(`--provider`);if(l>=0){if(c=e[l+1],!c)return{stdout:``,stderr:`oauth-token: --provider requires a value
|
|
4576
4576
|
`,exitCode:1}}else if(e.length>0)c=e[0];else{let e=n(),t=i(e);if(t?.isOAuth&&(t.onOAuthLogin||t.onOAuthLoginIntercepted))c=e;else if(c=a().find(e=>{let t=i(e);return t?.isOAuth&&(t.onOAuthLogin||t.onOAuthLoginIntercepted)}),!c)return{stdout:``,stderr:`oauth-token: no OAuth providers configured
|
|
4577
|
-
`,exitCode:1}}let u=i(c);if(!u)return{stdout:``,stderr:`oauth-token: unknown provider "${c}"\n`,exitCode:1};if(!u.isOAuth||!u.onOAuthLogin&&!u.onOAuthLoginIntercepted)return{stdout:``,stderr:`oauth-token: provider "${c}" is not an OAuth provider\n`,exitCode:1};if(!o){let e=t(c);if(e&&!e.expired){let t=e.maskedValue;return t?{stdout:`${t}\n`,stderr:``,exitCode:0}:{stdout:``,stderr:`oauth-token: no masked value for ${c} (try logging in again)\n`,exitCode:1}}}try{if(u.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-
|
|
4577
|
+
`,exitCode:1}}let u=i(c);if(!u)return{stdout:``,stderr:`oauth-token: unknown provider "${c}"\n`,exitCode:1};if(!u.isOAuth||!u.onOAuthLogin&&!u.onOAuthLoginIntercepted)return{stdout:``,stderr:`oauth-token: provider "${c}" is not an OAuth provider\n`,exitCode:1};if(!o){let e=t(c);if(e&&!e.expired){let t=e.maskedValue;return t?{stdout:`${t}\n`,stderr:``,exitCode:0}:{stdout:``,stderr:`oauth-token: no masked value for ${c} (try logging in again)\n`,exitCode:1}}}try{if(u.onOAuthLoginIntercepted){let{createInterceptingOAuthLauncherForCurrentRuntime:e}=await import(`./oauth-service-CG1zuuwj.js`),t=await e();if(!t)return{stdout:``,stderr:`oauth-token: provider "${c}" needs the controlled-browser interceptor, but no CDP transport is available in this runtime.\n`,exitCode:1};await u.onOAuthLoginIntercepted(t,()=>{},o?{scopes:o}:void 0)}else if(u.onOAuthLogin){let{createOAuthLauncher:e}=await import(`./oauth-service-CG1zuuwj.js`),t=e();await u.onOAuthLogin(t,()=>{},o?{scopes:o}:void 0)}else return{stdout:``,stderr:`oauth-token: provider "${c}" has no OAuth login hook\n`,exitCode:1};let e=t(c);if(e?.token){let t=e.maskedValue;return t?{stdout:`${t}\n`,stderr:``,exitCode:0}:{stdout:``,stderr:`oauth-token: no masked value for ${c} (try logging in again)\n`,exitCode:1}}return console.error(`[oauth-token] Provider ${c}: login completed but no token was saved`),{stdout:``,stderr:`oauth-token: login completed but no token was saved
|
|
4578
4578
|
`,exitCode:1}}catch(e){let t=e instanceof Error?e.message:String(e);return console.error(`[oauth-token] Provider ${c}: login failed:`,t),{stdout:``,stderr:`oauth-token: login failed: ${t}\n`,exitCode:1}}})}async function TFe(e){let{getSelectedProvider:t,getOAuthAccountInfo:n}=await Promise.resolve().then(()=>Uv),{getRegisteredProviderConfig:r,getRegisteredProviderIds:i}=await Promise.resolve().then(()=>Ye),a=e.filter(e=>!e.startsWith(`-`))[0];if(!a){let e=t();a=r(e)?.onSilentRenew?e:i().find(e=>r(e)?.onSilentRenew)}if(!a)return v7(`oauth-token --renew: no provider supports silent renewal`);let o=r(a);if(!o)return v7(`oauth-token --renew: unknown provider "${a}"`);if(!o.onSilentRenew)return v7(`oauth-token --renew: provider "${a}" has no onSilentRenew hook`);let s=n(a),c=s?.token,l=[`oauth-token --renew ${a}`];l.push(` before: ${g7(s)}`);let u=null,d=null;try{u=await o.onSilentRenew()}catch(e){d=e instanceof Error?e.message:String(e)}if(d)l.push(` silent renewal: ERROR — ${d}`);else if(u){let e=n(a),t=!!(c&&e?.token&&c!==e.token);l.push(` silent renewal: SUCCESS${t?` — token refreshed`:` (token unchanged)`}`),l.push(` after: ${g7(e)}`)}else l.push(` silent renewal: FAILED (onSilentRenew returned null)`),l.push(` → no window should have appeared. Open DevTools console and`),l.push(` look for "[oauth-service] Extension OAuth error" / "[adobe]" to see`),l.push(` the IMS/Chrome reason (e.g. login_required).`);return{stdout:l.join(`
|
|
4579
4579
|
`)+`
|
|
4580
|
-
`,stderr:``,exitCode:+!u}}function g7(e){if(!e)return`no token`;if(e.expired)return`expired`;if(e.expiresAt){let t=e.expiresAt-Date.now();if(t>0){let e=Math.floor(t/36e5),n=Math.floor(t%36e5/6e4);return e>0?`valid, expires in ${e}h ${n}m`:`valid, expires in ${n}m`}}return`valid`}async function EFe(e){let{parseInterceptOAuthConfig:t}=await import(`./intercepted-oauth-
|
|
4580
|
+
`,stderr:``,exitCode:+!u}}function g7(e){if(!e)return`no token`;if(e.expired)return`expired`;if(e.expiresAt){let t=e.expiresAt-Date.now();if(t>0){let e=Math.floor(t/36e5),n=Math.floor(t%36e5/6e4);return e>0?`valid, expires in ${e}h ${n}m`:`valid, expires in ${n}m`}}return`valid`}async function EFe(e){let{parseInterceptOAuthConfig:t}=await import(`./intercepted-oauth-CNq6rtmn.js`).then(e=>e.n),{createInterceptingOAuthLauncherForCurrentRuntime:n}=await import(`./oauth-service-CG1zuuwj.js`),r,i=e.indexOf(`--from-file`);if(i>=0){let t=e[i+1];if(!t)return v7(`oauth-token: --from-file requires a path`);try{let{VirtualFS:e}=await Promise.resolve().then(()=>qb),{GLOBAL_FS_DB_NAME:n}=await Promise.resolve().then(()=>RQ),i=await(await e.create({dbName:n})).readFile(t);r=JSON.parse(typeof i==`string`?i:new TextDecoder().decode(i))}catch(e){return v7(`oauth-token: failed to read ${t}: ${e instanceof Error?e.message:String(e)}`)}}else{let t=_7(e,`--authorize-url`),n=_7(e,`--redirect-pattern`);if(!t)return v7(`oauth-token: --authorize-url is required`);if(!n)return v7(`oauth-token: --redirect-pattern is required`);let i=[];for(let t=0;t<e.length;t++){if(e[t]!==`--rewrite`)continue;let n=e[t+1];if(!n)return v7(`oauth-token: --rewrite requires a value`);let r=n.split(`=`);if(r.length<3)return v7(`oauth-token: --rewrite "${n}" must be "<match>=<key>=<value>"`);let[a,o,...s]=r;i.push({match:a,appendParams:{[o]:s.join(`=`)}})}r={authorizeUrl:t,redirectUriPattern:n,onCapture:e.includes(`--leave-tab`)?`leave`:`close`,...i.length>0?{rewrite:i}:{}}}let a=t(r);if(!a.ok)return v7(`oauth-token: invalid intercept config: ${a.error}`);let o=await n();if(!o)return v7(`oauth-token: no CDP transport available in this runtime; --intercept needs the controlled browser.`);let s=await o(a.config);return s?{stdout:`${s}\n`,stderr:``,exitCode:0}:v7(`oauth-token: intercept timed out or was cancelled`)}function _7(e,t){let n=e.indexOf(t);if(n<0)return;let r=e[n+1];if(!(!r||r.startsWith(`--`)))return r}function v7(e){return{stdout:``,stderr:`${e}\n`,exitCode:1}}function DFe(e,t,n,r){let i=t().filter(e=>n(e)?.isOAuth);if(i.length===0)return{stdout:`No OAuth providers configured.
|
|
4581
4581
|
`,stderr:``,exitCode:0};let a=[];for(let e of i){let t=r(e);if(!t)a.push(`${e} (no token)`);else if(t.expired){let n=t.userName?` as ${t.userName}`:``;a.push(`${e} (expired${n})`)}else{let n=[];if(t.userName?n.push(`logged in as ${t.userName}`):n.push(`logged in`),t.expiresAt){let e=t.expiresAt-Date.now();if(e>0){let t=Math.floor(e/36e5),r=Math.floor(e%36e5/6e4);t>0?n.push(`expires in ${t}h`):n.push(`expires in ${r}m`)}}a.push(`${e} (${n.join(`, `)})`)}}return{stdout:a.join(`
|
|
4582
4582
|
`)+`
|
|
4583
4583
|
`,stderr:``,exitCode:0}}const OFe=new Set([`--download`,`-d`,`--view`,`-v`]),y7={low:256,medium:768,high:1536};function b7(){return{stdout:`usage: open [--download|-d] [--view|-v [--size <spec>]] <url|path> [url|path...]
|
|
@@ -4606,7 +4606,7 @@ Examples:
|
|
|
4606
4606
|
`,exitCode:1};let r;try{r=await t.fs.stat(n)}catch{return{stdout:``,stderr:`open: no such file: ${e}\n`,exitCode:1}}if(!r.isFile)return{stdout:``,stderr:`open: not a file: ${e}\n`,exitCode:1};let i;try{i=await t.fs.readFileBuffer(n)}catch{return{stdout:``,stderr:`open: failed to read: ${e}\n`,exitCode:1}}let a=new Uint8Array(i.byteLength);a.set(i);let o=new Blob([a.buffer],{type:c$(n)}),s=URL.createObjectURL(o),l=document.createElement(`a`);l.href=s,l.download=i$(n)||`download`,l.style.display=`none`,document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout(()=>URL.revokeObjectURL(s),0),f.push(`downloaded ${n}`)}else{if(!u)return{stdout:``,stderr:`open: browser APIs are unavailable in this environment
|
|
4607
4607
|
`,exitCode:1};let e=l$(n);try{await d(e)}catch(e){return{stdout:``,stderr:`${e instanceof Error?e.message:String(e)}\n`,exitCode:1}}f.push(`opened ${n} → ${e}`)}}return{stdout:f.join(`
|
|
4608
4608
|
`)+`
|
|
4609
|
-
`,stderr:``,exitCode:0}})}let S7=null,C7=null;async function w7(){return S7||=import(`./es-
|
|
4609
|
+
`,stderr:``,exitCode:0}})}let S7=null,C7=null;async function w7(){return S7||=import(`./es-BskOF7Pz.js`),S7}async function RFe(){return C7||=import(`./dist-CrC-F8vu.js`),C7}function zFe(e){return e.endsWith(`right`)?{range:e.slice(0,-5),rotation:90}:e.endsWith(`left`)?{range:e.slice(0,-4),rotation:270}:e.endsWith(`down`)?{range:e.slice(0,-4),rotation:180}:{range:e}}function T7(e){let{range:t,rotation:n}=zFe(e);if(/^\d+$/.test(t)){let e=parseInt(t,10);return{start:e,end:e,rotation:n}}let r=t.match(/^(\d+)-(\d+|end)$/);if(r)return{start:parseInt(r[1],10),end:r[2]===`end`?`end`:parseInt(r[2],10),rotation:n};throw Error(`Invalid page range: ${e}`)}function E7(e,t){let n=e.start,r=e.end;if(n<1||n>t)throw Error(`Page ${n} out of range (1-${t})`);let i=r===`end`?t:r;if(i<1||i>t)throw Error(`Page ${i} out of range (1-${t})`);if(i<n)throw Error(`Invalid range: ${n}-${i}`);let a=[];for(let e=n;e<=i;e++)a.push(e);return a}function BFe(){return{stdout:`usage: pdftk <input.pdf> <operation> [args...]
|
|
4610
4610
|
|
|
4611
4611
|
Operations:
|
|
4612
4612
|
dump_data Print metadata (page count, title, author, etc.)
|
|
@@ -9304,5 +9304,5 @@ ${t}
|
|
|
9304
9304
|
`)+`
|
|
9305
9305
|
`;case`cmdline`:return`kernel-host\0`;case`cwd`:return`/
|
|
9306
9306
|
`;case`stat`:return`1 (kernel-host) R 0 - 0 -
|
|
9307
|
-
`}}function IRe(e,{orchestrator:t,log:n}){let r=Ufe(e);if(r===null){n.debug?.(`dropping lick event with no renderable content`,{type:e.type});return}let i=e.type===`webhook`,a=e.type===`sprinkle`,o=e.type===`fswatch`,s=e.type===`navigate`,c=e.type===`upgrade`,l=e.type===`session-reload`,u=i?e.webhookName:a?e.sprinkleName:o?e.fswatchName:s?e.navigateUrl:c?`${e.upgradeFromVersion??`unknown`}→${e.upgradeToVersion??`unknown`}`:l?`mount-recovery`:e.cronName,d=i?e.webhookId:a?e.sprinkleName:o?e.fswatchId:s?e.navigateUrl:c?`upgrade-${e.upgradeToVersion??`unknown`}`:l?`session-reload-${e.timestamp}`:e.cronId,f=e.type,p=t.getScoops(),m;if(m=e.targetScoop?p.find(t=>t.name===e.targetScoop||t.folder===e.targetScoop||t.folder===`${e.targetScoop}-scoop`):p.find(e=>e.isCone),!m){n.warn(`Lick target scoop not found`,e.targetScoop);return}let h={id:`${f}-${d}-${Date.now()}`,chatJid:m.jid,senderId:f,senderName:`${f}:${u}`,content:r.content,timestamp:e.timestamp,fromAssistant:!1,channel:f};t.handleMessage(h)}async function LRe(e){let{container:t,browser:n,bridge:r,callbacks:i,skipConeBootstrap:a=!1,isExtension:o=!1}=e,s=e.logger??console,c=new e$,l=new ORe(t,{...i,getBrowserAPI:()=>n});l.setProcessManager(c),globalThis.__slicc_pm=c,globalThis.__slicc_browser=n,await r.bind(l,n);let u=I(()=>r.emitTrayRuntimeStatus()),d=E(()=>r.emitTrayRuntimeStatus());await l.init();let f=l.getSharedFS();if(f?Iy(l,f,l.getSessionStore()):s.warn(`AgentBridge not published — orchestrator.getSharedFS() returned null`),f)try{await f.mountInternal(`/proc`,new kRe(c))}catch(e){s.warn(`Failed to mount /proc`,e)}let{registerSessionCostsProvider:p}=await Promise.resolve().then(()=>SCe);p(()=>l.getSessionCosts());let{getLickManager:m}=await Promise.resolve().then(()=>NCe),h=m();await h.init(),l.setLickManager(h);let g=e.lickEventHandler??IRe,_={orchestrator:l,lickManager:h,log:s};h.setEventHandler(e=>g(e,_)),globalThis.__slicc_lickManager=h;let{CdpWsPageBridge:v}=await import(`./cdp-ws-page-bridge-
|
|
9308
|
-
`,r=``;try{let t=await f.readFile(e);r=typeof t==`string`?t:new TextDecoder().decode(t)}catch{}await f.writeFile(e,r+n)},log:e=>{s.info?.(`browser.websocket frame`,{payload:e})}}});globalThis.__slicc_wsSubscribers=x;let S=null;if(!o)try{let{startLickWsBridge:e}=await import(`./lick-ws-bridge-x2c7gox3.js`);S=e(h,{locationHref:self.location.href}).stop}catch(e){(s.error?.bind(s)??s.warn.bind(s)??((e,t)=>console.error(`[lick-ws-bridge]`,e,t)))(`Failed to start lick-ws bridge — webhook / crontask / handoff lick delivery is non-functional in this session`,{error:e instanceof Error?e.message:String(e)})}let C=null;if(!o)try{let e=new yt(n.getTransport(),e=>{let t={url:e.url,verb:e.verb,target:e.target};e.instruction!=null&&(t.instruction=e.instruction),e.branch!=null&&(t.branch=e.branch),e.path!=null&&(t.path=e.path),e.title!=null&&(t.title=e.title),h.emitEvent({type:`navigate`,navigateUrl:e.url,targetScoop:void 0,timestamp:new Date().toISOString(),body:t})});e.start(),C=()=>e.stop()}catch(e){s.warn(`Failed to start NavigationWatcher`,e)}f&&(async()=>{try{let{getAllMountEntries:e}=await Promise.resolve().then(()=>Cb),{recoverMounts:t}=await Promise.resolve().then(()=>zfe),n=await e();if(n.length===0)return;let{needsRecovery:r}=await t(n,f,s);if(r.length===0)return;h.emitEvent({type:`session-reload`,targetScoop:void 0,timestamp:new Date().toISOString(),body:{reason:`mount-recovery`,mounts:r}})}catch(e){s.warn(`mount recovery failed`,e)}})(),a||l.getScoops().some(e=>e.isCone)||await l.registerScoop({jid:`cone_${Date.now()}`,name:`Cone`,folder:`cone`,isCone:!0,type:`cone`,requiresTrigger:!1,assistantLabel:`sliccy`,addedAt:new Date().toISOString()}),f&&(async()=>{try{let{detectUpgrade:e,recordVersionSeen:t}=await import(`./upgrade-detection-BcbrUdPz.js`),n=await e();if(!n.isUpgrade||n.lastSeen===null)return;h.emitEvent({type:`upgrade`,targetScoop:void 0,timestamp:new Date().toISOString(),upgradeFromVersion:n.lastSeen,upgradeToVersion:n.bundled.version,body:{from:n.lastSeen,to:n.bundled.version,releasedAt:n.bundled.releasedAt}}),await t(n.bundled.version)}catch(e){s.warn(`Upgrade detection failed`,e)}})();let w=null,T=null;if(f)try{let{BshWatchdog:e}=await import(`./bsh-watchdog-HgKNlLnO.js`),{ScriptCatalog:t}=await Promise.resolve().then(()=>mke),r=new t({jshFs:f,bshFs:f,watcher:f.getWatcher()}),i=new e({browserAPI:n,scriptCatalog:r,fs:f});i.start(),w=()=>i.stop(),T=()=>r.dispose()}catch(e){s.warn(`Failed to start BSH watchdog`,e)}let D=!1;return{orchestrator:l,browser:n,bridge:r,lickManager:h,sharedFs:f??null,processManager:c,async dispose(){if(!D){if(D=!0,u?.(),d?.(),w?.(),T?.(),S?.(),C)try{await C()}catch(e){s.warn(`NavigationWatcher.stop() failed`,e)}if(f)try{await f.unmountInternal(`/proc`)}catch{}try{x.dispose()}catch(e){s.warn(`WsSubscriberRegistry.dispose() failed`,e)}try{b.dispose()}catch(e){s.warn(`CdpWsPageBridge.dispose() failed`,e)}RRe({processManager:c,lickManager:h,browser:n,wsRegistry:x})}}}}function RRe(e){let t=globalThis;t.__slicc_pm===e.processManager&&delete t.__slicc_pm,t.__slicc_lickManager===e.lickManager&&delete t.__slicc_lickManager,e.browser&&t.__slicc_browser===e.browser&&delete t.__slicc_browser,e.wsRegistry&&t.__slicc_wsSubscribers===e.wsRegistry&&delete t.__slicc_wsSubscribers}const X9=`x-bypass-llm-proxy`;function zRe(e,t){return t?(n,r)=>{if(!BRe(n,t))return e(n,r);let i=new Headers(r?.headers);return i.has(X9)||i.set(X9,`1`),e(n,{...r,headers:i})}:e}function BRe(e,t){let n;n=typeof e==`string`?e:e instanceof URL?e.href:e.url;try{return new URL(n,t).origin===t}catch{return!0}}function VRe(e,t={}){let n=t.onError??(e=>console.error(`[kernel-worker] boot failed`,e)),r=t.onDuplicate??(()=>console.warn(`[kernel-worker] received duplicate kernel-worker-init; ignoring`)),i=!1;return{handle(t){if(i){r();return}i=!0,e(t).catch(e=>{i=!1,n(e)})},isInitialized(){return i}}}var HRe=class{transport;createShell;log;pm;defaultOwner;sessions=new Map;unsubscribe=null;constructor(e){this.transport=e.transport,this.createShell=e.createShell,this.log=e.logger??console,this.pm=e.processManager??null,this.defaultOwner=e.defaultOwner??{kind:`system`}}start(){return this.unsubscribe||=this.transport.onMessage(e=>{if(!URe(e)||e.source!==`panel`)return;let t=e.payload;GRe(t)&&this.handleControl(t).catch(e=>{this.log.warn(`[terminal-session-host] handler error`,e)})}),()=>this.dispose()}dispose(){this.unsubscribe?.(),this.unsubscribe=null;for(let[,e]of this.sessions)e.currentProcess&&this.pm?(this.pm.signal(e.currentProcess.pid,`SIGTERM`),this.pm.exit(e.currentProcess.pid,null)):e.currentExec?.abort(),e.shell.dispose?.();this.sessions.clear()}async handleControl(e){switch(e.type){case`terminal-open`:return this.handleOpen(e);case`terminal-close`:return this.handleClose(e);case`terminal-exec`:return this.handleExec(e);case`terminal-signal`:return this.handleSignal(e);case`terminal-stdin`:case`terminal-resize`:return}}async handleOpen(e){if(this.sessions.has(e.sid)){this.emitStatus(e.sid,`error`,`session already open`);return}try{let t=this.createShell(e.sid,{cwd:e.cwd,env:e.env});this.sessions.set(e.sid,{shell:t,currentExec:null,currentProcess:null}),this.emitStatus(e.sid,`opened`)}catch(t){this.emitStatus(e.sid,`error`,t instanceof Error?t.message:String(t))}}async handleClose(e){let t=this.sessions.get(e.sid);t&&(t.currentProcess&&this.pm?(this.pm.signal(t.currentProcess.pid,`SIGTERM`),this.pm.exit(t.currentProcess.pid,null)):t.currentExec?.abort(),t.shell.dispose?.(),this.sessions.delete(e.sid),this.emitStatus(e.sid,`closed`))}async handleExec(e){let t=this.sessions.get(e.sid);if(!t){this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:127}),this.log.warn(`[terminal-session-host] exec on unknown session`,e.sid);return}if(t.currentExec){this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:130});return}let n=new AbortController;t.currentExec=n;let r=this.pm?this.pm.spawn({kind:`shell`,argv:[e.command],cwd:t.shell.getCwd?.()??void 0,owner:this.defaultOwner,adoptAbort:n}):null;t.currentProcess=r;try{let i=await t.shell.executeCommand(e.command,n.signal),a=n.signal.aborted?130:i.exitCode;n.signal.aborted||(r&&await r.gate.wait(),i.stdout&&this.emit({type:`terminal-output`,sid:e.sid,execId:e.execId,stream:`stdout`,data:i.stdout}),i.stderr&&this.emit({type:`terminal-output`,sid:e.sid,execId:e.execId,stream:`stderr`,data:i.stderr})),this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:a}),r&&this.pm&&this.pm.exit(r.pid,n.signal.aborted?null:i.exitCode)}catch(t){if(n.signal.aborted){let t=WRe(r?.terminatedBy??`SIGINT`);this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:t}),r&&this.pm&&this.pm.exit(r.pid,null)}else{let n=t instanceof Error?t.message:String(t);this.emit({type:`terminal-output`,sid:e.sid,execId:e.execId,stream:`stderr`,data:`Error: ${n}\n`}),this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:1}),r&&this.pm&&this.pm.exit(r.pid,1)}}finally{t.currentExec===n&&(t.currentExec=null,t.currentProcess=null)}}async handleSignal(e){let t=this.sessions.get(e.sid);if(!t){this.log.warn(`[terminal-session-host] signal on unknown session`,e.sid);return}(e.signal===`SIGINT`||e.signal===`SIGTERM`||e.signal===`SIGKILL`)&&(t.currentProcess&&this.pm?this.pm.signal(t.currentProcess.pid,e.signal):t.currentExec?.abort())}emit(e){this.transport.send(e)}emitStatus(e,t,n){let r=n?{type:`terminal-status`,sid:e,state:t,error:n}:{type:`terminal-status`,sid:e,state:t};this.emit(r)}};function URe(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function WRe(e){switch(e){case`SIGINT`:return 130;case`SIGTERM`:return 143;case`SIGKILL`:return 137;case`SIGSTOP`:case`SIGCONT`:return 130}}function GRe(e){if(typeof e!=`object`||!e)return!1;let t=e.type;return t===`terminal-open`||t===`terminal-close`||t===`terminal-exec`||t===`terminal-signal`||t===`terminal-stdin`||t===`terminal-resize`}var KRe=class extends g9{sid;transport;constructor(e,t,n){super(n),this.sid=e,this.transport=t}async renderMediaPreview(e){for(let t of e){let e=``,n=t.bytes,r=8192;for(let t=0;t<n.length;t+=r)e+=String.fromCharCode(...n.subarray(t,t+r));let i={type:`terminal-media-preview`,sid:this.sid,path:t.path,mediaType:t.mimeType,data:btoa(e)};this.transport.send(i)}}};function qRe(e){let{transport:t,fs:n,browser:r,processManager:i}=e,a=new HRe({transport:t,processManager:i,createShell:(e,a)=>new KRe(e,t,{fs:n,cwd:a.cwd,env:a.env,browserAPI:r,processManager:i,processOwner:{kind:`system`}}),logger:e.logger??console});return{host:a,stop:a.start()}}function JRe(){let e=globalThis.fetch;if(!e)return;let t=self?.location?self.location.origin:void 0;globalThis.fetch=zRe(e.bind(globalThis),t)}function YRe(e){let t=new Map(Object.entries(e));Object.defineProperty(globalThis,"localStorage",{value:{get length(){return t.size},key(e){return Array.from(t.keys())[e]??null},getItem(e){return t.has(e)?t.get(e):null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)},clear(){t.clear()}},configurable:!0,writable:!0})}let Z9=null,Q9=null,$9=null;const XRe=VRe(e=>ZRe(e));self.addEventListener(`message`,e=>{e.data?.type===`kernel-worker-init`&&XRe.handle(e.data)});async function ZRe(e){JRe(),YRe(e.localStorageSeed??{}),await et();let t=ot(e.kernelPort),n=new Re(t),r=Re.createCallbacks(n),i=new ree(e.cdpPort);await i.connect();let a=new Ke(i);Z9=await LRe({container:{},browser:a,bridge:n,callbacks:r,logger:console});let{createSprinkleManagerProxyOverChannel:o}=await import(`./sprinkle-bridge-channel-BceIr6aT.js`);globalThis.__slicc_sprinkleManager=o({instanceId:e.instanceId});let{createPanelRpcClient:s}=await Promise.resolve().then(()=>Iv);$9=s({instanceId:e.instanceId}),globalThis.__slicc_panelRpc=$9;let c=Z9.processManager,l=Z9.sharedFs;l?Q9=qRe({transport:t,fs:l,browser:a,processManager:c,logger:console}).stop:console.warn(`[kernel-worker] shared FS unavailable; terminal sessions will fail to open`),e.kernelPort.postMessage({type:`kernel-worker-ready`})}self.addEventListener(`message`,e=>{e.data?.type===`kernel-worker-shutdown`&&(Q9?.(),Q9=null,$9?.dispose(),$9=null,Z9?.dispose())});export{bu as $,U_ as A,Ld as B,wy as C,kv as D,Vv as E,qd as F,Qu as G,Pd as H,Ud as I,Xu as J,$u as K,Cd as L,af as M,Xd as N,q_ as O,Yd as P,ju as Q,Nd as R,Cy as S,by as T,Id as U,wd as V,Rd as W,Ku as X,Wu as Y,Gu as Z,IJ as _,u as _t,O5 as a,Te as at,uy as b,E5 as c,me as ct,XNe as d,v as dt,vu as et,S5 as f,s as ft,gY as g,d as gt,zQ as h,f as ht,r9 as i,it,rf as j,G_ as k,w5 as l,he as lt,yDe as m,c as mt,cLe as n,tt as nt,D5 as o,we as ot,v$ as p,o as pt,qu as q,i9 as r,rt,T5 as s,Ce as st,x9 as t,L as tt,C5 as u,S as ut,qb as v,iy as w,Ty as x,B as y,Fd as z};
|
|
9307
|
+
`}}function IRe(e,{orchestrator:t,log:n}){let r=Ufe(e);if(r===null){n.debug?.(`dropping lick event with no renderable content`,{type:e.type});return}let i=e.type===`webhook`,a=e.type===`sprinkle`,o=e.type===`fswatch`,s=e.type===`navigate`,c=e.type===`upgrade`,l=e.type===`session-reload`,u=i?e.webhookName:a?e.sprinkleName:o?e.fswatchName:s?e.navigateUrl:c?`${e.upgradeFromVersion??`unknown`}→${e.upgradeToVersion??`unknown`}`:l?`mount-recovery`:e.cronName,d=i?e.webhookId:a?e.sprinkleName:o?e.fswatchId:s?e.navigateUrl:c?`upgrade-${e.upgradeToVersion??`unknown`}`:l?`session-reload-${e.timestamp}`:e.cronId,f=e.type,p=t.getScoops(),m;if(m=e.targetScoop?p.find(t=>t.name===e.targetScoop||t.folder===e.targetScoop||t.folder===`${e.targetScoop}-scoop`):p.find(e=>e.isCone),!m){n.warn(`Lick target scoop not found`,e.targetScoop);return}let h={id:`${f}-${d}-${Date.now()}`,chatJid:m.jid,senderId:f,senderName:`${f}:${u}`,content:r.content,timestamp:e.timestamp,fromAssistant:!1,channel:f};t.handleMessage(h)}async function LRe(e){let{container:t,browser:n,bridge:r,callbacks:i,skipConeBootstrap:a=!1,isExtension:o=!1}=e,s=e.logger??console,c=new e$,l=new ORe(t,{...i,getBrowserAPI:()=>n});l.setProcessManager(c),globalThis.__slicc_pm=c,globalThis.__slicc_browser=n,await r.bind(l,n);let u=I(()=>r.emitTrayRuntimeStatus()),d=E(()=>r.emitTrayRuntimeStatus());await l.init();let f=l.getSharedFS();if(f?Iy(l,f,l.getSessionStore()):s.warn(`AgentBridge not published — orchestrator.getSharedFS() returned null`),f)try{await f.mountInternal(`/proc`,new kRe(c))}catch(e){s.warn(`Failed to mount /proc`,e)}let{registerSessionCostsProvider:p}=await Promise.resolve().then(()=>SCe);p(()=>l.getSessionCosts());let{getLickManager:m}=await Promise.resolve().then(()=>NCe),h=m();await h.init(),l.setLickManager(h);let g=e.lickEventHandler??IRe,_={orchestrator:l,lickManager:h,log:s};h.setEventHandler(e=>g(e,_)),globalThis.__slicc_lickManager=h;let{CdpWsPageBridge:v}=await import(`./cdp-ws-page-bridge-C7wrICZg.js`),{WsSubscriberRegistry:y}=await import(`./ws-subscribers-BGtX10Er.js`),b=new v({browser:n}),x=new y({bridge:b,webhooks:{has:e=>h.getWebhook(e)!==void 0},dispatcher:{webhook:(e,t)=>{h.handleWebhookEvent(e,{},t)},scoop:(e,t)=>{if(!l.getScoops().find(t=>t.jid===e)){s.warn?.(`browser.websocket: scoop sink not found`,{jid:e});return}let n={id:`ws-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,chatJid:e,senderId:`browser.websocket`,senderName:`browser.websocket`,content:typeof t==`string`?t:JSON.stringify(t,null,2),timestamp:new Date().toISOString(),fromAssistant:!1,channel:`browser.websocket`};l.handleMessage(n)},vfs:async(e,t)=>{if(!f)return;let n=(typeof t==`string`?t:JSON.stringify(t))+`
|
|
9308
|
+
`,r=``;try{let t=await f.readFile(e);r=typeof t==`string`?t:new TextDecoder().decode(t)}catch{}await f.writeFile(e,r+n)},log:e=>{s.info?.(`browser.websocket frame`,{payload:e})}}});globalThis.__slicc_wsSubscribers=x;let S=null;if(!o)try{let{startLickWsBridge:e}=await import(`./lick-ws-bridge-DgFDZ6T5.js`);S=e(h,{locationHref:self.location.href}).stop}catch(e){(s.error?.bind(s)??s.warn.bind(s)??((e,t)=>console.error(`[lick-ws-bridge]`,e,t)))(`Failed to start lick-ws bridge — webhook / crontask / handoff lick delivery is non-functional in this session`,{error:e instanceof Error?e.message:String(e)})}let C=null;if(!o)try{let e=new yt(n.getTransport(),e=>{let t={url:e.url,verb:e.verb,target:e.target};e.instruction!=null&&(t.instruction=e.instruction),e.branch!=null&&(t.branch=e.branch),e.path!=null&&(t.path=e.path),e.title!=null&&(t.title=e.title),h.emitEvent({type:`navigate`,navigateUrl:e.url,targetScoop:void 0,timestamp:new Date().toISOString(),body:t})});e.start(),C=()=>e.stop()}catch(e){s.warn(`Failed to start NavigationWatcher`,e)}f&&(async()=>{try{let{getAllMountEntries:e}=await Promise.resolve().then(()=>Cb),{recoverMounts:t}=await Promise.resolve().then(()=>zfe),n=await e();if(n.length===0)return;let{needsRecovery:r}=await t(n,f,s);if(r.length===0)return;h.emitEvent({type:`session-reload`,targetScoop:void 0,timestamp:new Date().toISOString(),body:{reason:`mount-recovery`,mounts:r}})}catch(e){s.warn(`mount recovery failed`,e)}})(),a||l.getScoops().some(e=>e.isCone)||await l.registerScoop({jid:`cone_${Date.now()}`,name:`Cone`,folder:`cone`,isCone:!0,type:`cone`,requiresTrigger:!1,assistantLabel:`sliccy`,addedAt:new Date().toISOString()}),f&&(async()=>{try{let{detectUpgrade:e,recordVersionSeen:t}=await import(`./upgrade-detection-Bxy_Rbfk.js`),n=await e();if(!n.isUpgrade||n.lastSeen===null)return;h.emitEvent({type:`upgrade`,targetScoop:void 0,timestamp:new Date().toISOString(),upgradeFromVersion:n.lastSeen,upgradeToVersion:n.bundled.version,body:{from:n.lastSeen,to:n.bundled.version,releasedAt:n.bundled.releasedAt}}),await t(n.bundled.version)}catch(e){s.warn(`Upgrade detection failed`,e)}})();let w=null,T=null;if(f)try{let{BshWatchdog:e}=await import(`./bsh-watchdog-O3nNUvMz.js`),{ScriptCatalog:t}=await Promise.resolve().then(()=>mke),r=new t({jshFs:f,bshFs:f,watcher:f.getWatcher()}),i=new e({browserAPI:n,scriptCatalog:r,fs:f});i.start(),w=()=>i.stop(),T=()=>r.dispose()}catch(e){s.warn(`Failed to start BSH watchdog`,e)}let D=!1;return{orchestrator:l,browser:n,bridge:r,lickManager:h,sharedFs:f??null,processManager:c,async dispose(){if(!D){if(D=!0,u?.(),d?.(),w?.(),T?.(),S?.(),C)try{await C()}catch(e){s.warn(`NavigationWatcher.stop() failed`,e)}if(f)try{await f.unmountInternal(`/proc`)}catch{}try{x.dispose()}catch(e){s.warn(`WsSubscriberRegistry.dispose() failed`,e)}try{b.dispose()}catch(e){s.warn(`CdpWsPageBridge.dispose() failed`,e)}RRe({processManager:c,lickManager:h,browser:n,wsRegistry:x})}}}}function RRe(e){let t=globalThis;t.__slicc_pm===e.processManager&&delete t.__slicc_pm,t.__slicc_lickManager===e.lickManager&&delete t.__slicc_lickManager,e.browser&&t.__slicc_browser===e.browser&&delete t.__slicc_browser,e.wsRegistry&&t.__slicc_wsSubscribers===e.wsRegistry&&delete t.__slicc_wsSubscribers}const X9=`x-bypass-llm-proxy`;function zRe(e,t){return t?(n,r)=>{if(!BRe(n,t))return e(n,r);let i=new Headers(r?.headers);return i.has(X9)||i.set(X9,`1`),e(n,{...r,headers:i})}:e}function BRe(e,t){let n;n=typeof e==`string`?e:e instanceof URL?e.href:e.url;try{return new URL(n,t).origin===t}catch{return!0}}function VRe(e,t={}){let n=t.onError??(e=>console.error(`[kernel-worker] boot failed`,e)),r=t.onDuplicate??(()=>console.warn(`[kernel-worker] received duplicate kernel-worker-init; ignoring`)),i=!1;return{handle(t){if(i){r();return}i=!0,e(t).catch(e=>{i=!1,n(e)})},isInitialized(){return i}}}var HRe=class{transport;createShell;log;pm;defaultOwner;sessions=new Map;unsubscribe=null;constructor(e){this.transport=e.transport,this.createShell=e.createShell,this.log=e.logger??console,this.pm=e.processManager??null,this.defaultOwner=e.defaultOwner??{kind:`system`}}start(){return this.unsubscribe||=this.transport.onMessage(e=>{if(!URe(e)||e.source!==`panel`)return;let t=e.payload;GRe(t)&&this.handleControl(t).catch(e=>{this.log.warn(`[terminal-session-host] handler error`,e)})}),()=>this.dispose()}dispose(){this.unsubscribe?.(),this.unsubscribe=null;for(let[,e]of this.sessions)e.currentProcess&&this.pm?(this.pm.signal(e.currentProcess.pid,`SIGTERM`),this.pm.exit(e.currentProcess.pid,null)):e.currentExec?.abort(),e.shell.dispose?.();this.sessions.clear()}async handleControl(e){switch(e.type){case`terminal-open`:return this.handleOpen(e);case`terminal-close`:return this.handleClose(e);case`terminal-exec`:return this.handleExec(e);case`terminal-signal`:return this.handleSignal(e);case`terminal-stdin`:case`terminal-resize`:return}}async handleOpen(e){if(this.sessions.has(e.sid)){this.emitStatus(e.sid,`error`,`session already open`);return}try{let t=this.createShell(e.sid,{cwd:e.cwd,env:e.env});this.sessions.set(e.sid,{shell:t,currentExec:null,currentProcess:null}),this.emitStatus(e.sid,`opened`)}catch(t){this.emitStatus(e.sid,`error`,t instanceof Error?t.message:String(t))}}async handleClose(e){let t=this.sessions.get(e.sid);t&&(t.currentProcess&&this.pm?(this.pm.signal(t.currentProcess.pid,`SIGTERM`),this.pm.exit(t.currentProcess.pid,null)):t.currentExec?.abort(),t.shell.dispose?.(),this.sessions.delete(e.sid),this.emitStatus(e.sid,`closed`))}async handleExec(e){let t=this.sessions.get(e.sid);if(!t){this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:127}),this.log.warn(`[terminal-session-host] exec on unknown session`,e.sid);return}if(t.currentExec){this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:130});return}let n=new AbortController;t.currentExec=n;let r=this.pm?this.pm.spawn({kind:`shell`,argv:[e.command],cwd:t.shell.getCwd?.()??void 0,owner:this.defaultOwner,adoptAbort:n}):null;t.currentProcess=r;try{let i=await t.shell.executeCommand(e.command,n.signal),a=n.signal.aborted?130:i.exitCode;n.signal.aborted||(r&&await r.gate.wait(),i.stdout&&this.emit({type:`terminal-output`,sid:e.sid,execId:e.execId,stream:`stdout`,data:i.stdout}),i.stderr&&this.emit({type:`terminal-output`,sid:e.sid,execId:e.execId,stream:`stderr`,data:i.stderr})),this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:a}),r&&this.pm&&this.pm.exit(r.pid,n.signal.aborted?null:i.exitCode)}catch(t){if(n.signal.aborted){let t=WRe(r?.terminatedBy??`SIGINT`);this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:t}),r&&this.pm&&this.pm.exit(r.pid,null)}else{let n=t instanceof Error?t.message:String(t);this.emit({type:`terminal-output`,sid:e.sid,execId:e.execId,stream:`stderr`,data:`Error: ${n}\n`}),this.emit({type:`terminal-exit`,sid:e.sid,execId:e.execId,exitCode:1}),r&&this.pm&&this.pm.exit(r.pid,1)}}finally{t.currentExec===n&&(t.currentExec=null,t.currentProcess=null)}}async handleSignal(e){let t=this.sessions.get(e.sid);if(!t){this.log.warn(`[terminal-session-host] signal on unknown session`,e.sid);return}(e.signal===`SIGINT`||e.signal===`SIGTERM`||e.signal===`SIGKILL`)&&(t.currentProcess&&this.pm?this.pm.signal(t.currentProcess.pid,e.signal):t.currentExec?.abort())}emit(e){this.transport.send(e)}emitStatus(e,t,n){let r=n?{type:`terminal-status`,sid:e,state:t,error:n}:{type:`terminal-status`,sid:e,state:t};this.emit(r)}};function URe(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function WRe(e){switch(e){case`SIGINT`:return 130;case`SIGTERM`:return 143;case`SIGKILL`:return 137;case`SIGSTOP`:case`SIGCONT`:return 130}}function GRe(e){if(typeof e!=`object`||!e)return!1;let t=e.type;return t===`terminal-open`||t===`terminal-close`||t===`terminal-exec`||t===`terminal-signal`||t===`terminal-stdin`||t===`terminal-resize`}var KRe=class extends g9{sid;transport;constructor(e,t,n){super(n),this.sid=e,this.transport=t}async renderMediaPreview(e){for(let t of e){let e=``,n=t.bytes,r=8192;for(let t=0;t<n.length;t+=r)e+=String.fromCharCode(...n.subarray(t,t+r));let i={type:`terminal-media-preview`,sid:this.sid,path:t.path,mediaType:t.mimeType,data:btoa(e)};this.transport.send(i)}}};function qRe(e){let{transport:t,fs:n,browser:r,processManager:i}=e,a=new HRe({transport:t,processManager:i,createShell:(e,a)=>new KRe(e,t,{fs:n,cwd:a.cwd,env:a.env,browserAPI:r,processManager:i,processOwner:{kind:`system`}}),logger:e.logger??console});return{host:a,stop:a.start()}}function JRe(){let e=globalThis.fetch;if(!e)return;let t=self?.location?self.location.origin:void 0;globalThis.fetch=zRe(e.bind(globalThis),t)}function YRe(e){let t=new Map(Object.entries(e));Object.defineProperty(globalThis,"localStorage",{value:{get length(){return t.size},key(e){return Array.from(t.keys())[e]??null},getItem(e){return t.has(e)?t.get(e):null},setItem(e,n){t.set(e,n)},removeItem(e){t.delete(e)},clear(){t.clear()}},configurable:!0,writable:!0})}let Z9=null,Q9=null,$9=null;const XRe=VRe(e=>ZRe(e));self.addEventListener(`message`,e=>{e.data?.type===`kernel-worker-init`&&XRe.handle(e.data)});async function ZRe(e){JRe(),YRe(e.localStorageSeed??{}),await et();let t=ot(e.kernelPort),n=new Re(t),r=Re.createCallbacks(n),i=new ree(e.cdpPort);await i.connect();let a=new Ke(i);Z9=await LRe({container:{},browser:a,bridge:n,callbacks:r,logger:console});let{createSprinkleManagerProxyOverChannel:o}=await import(`./sprinkle-bridge-channel-BceIr6aT.js`);globalThis.__slicc_sprinkleManager=o({instanceId:e.instanceId});let{createPanelRpcClient:s}=await Promise.resolve().then(()=>Iv);$9=s({instanceId:e.instanceId}),globalThis.__slicc_panelRpc=$9;let c=Z9.processManager,l=Z9.sharedFs;l?Q9=qRe({transport:t,fs:l,browser:a,processManager:c,logger:console}).stop:console.warn(`[kernel-worker] shared FS unavailable; terminal sessions will fail to open`),e.kernelPort.postMessage({type:`kernel-worker-ready`})}self.addEventListener(`message`,e=>{e.data?.type===`kernel-worker-shutdown`&&(Q9?.(),Q9=null,$9?.dispose(),$9=null,Z9?.dispose())});export{bu as $,U_ as A,Ld as B,wy as C,kv as D,Vv as E,qd as F,Qu as G,Pd as H,Ud as I,Xu as J,$u as K,Cd as L,af as M,Xd as N,q_ as O,Yd as P,ju as Q,Nd as R,Cy as S,by as T,Id as U,wd as V,Rd as W,Ku as X,Wu as Y,Gu as Z,IJ as _,u as _t,O5 as a,Te as at,uy as b,E5 as c,me as ct,XNe as d,v as dt,vu as et,S5 as f,s as ft,gY as g,d as gt,zQ as h,f as ht,r9 as i,it,rf as j,G_ as k,w5 as l,he as lt,yDe as m,c as mt,cLe as n,tt as nt,D5 as o,we as ot,v$ as p,o as pt,qu as q,i9 as r,rt,T5 as s,Ce as st,x9 as t,L as tt,C5 as u,S as ut,qb as v,iy as w,Ty as x,B as y,Fd as z};
|