@oh-my-pi-zen/pi-coding-agent 18.13.3-zen.3 → 18.13.3-zen.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +4 -4
  2. package/package.json +12 -12
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var _pa=Object.create;var{getPrototypeOf:Ppa,defineProperty:bze,getOwnPropertyNames:MJr,getOwnPropertyDescriptor:Mpa}=Object,jxn=Object.prototype.hasOwnProperty;function OJr(e){return this[e]}var Opa,Npa,kp=(e,t,n)=>{var r=e!=null&&typeof e==="object";if(r){var i=t?Opa??=new WeakMap:Npa??=new WeakMap,o=i.get(e);if(o)return o}n=e!=null?_pa(Ppa(e)):{};let s=t||!e||!e.__esModule||!jxn.call(e,"default")?bze(n,"default",{value:e,enumerable:!0}):n;if(e&&typeof e==="object"||typeof e==="function"){for(let a of MJr(e))if(!jxn.call(s,a))bze(s,a,{get:OJr.bind(e,a),enumerable:!0})}if(r)i.set(e,s);return s},JN=(e)=>{var t=(PJr??=new WeakMap).get(e),n;if(t)return t;if(t=bze({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var r of MJr(e))if(!jxn.call(t,r))bze(t,r,{get:OJr.bind(e,r),enumerable:!(n=Mpa(e,r))||n.enumerable})}return PJr.set(e,t),t},PJr,Ze=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Lpa=(e)=>e;function Dpa(e,t){this[e]=Lpa.bind(null,t)}var I=(e,t)=>{for(var n in t)bze(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Dpa.bind(t,n)})};var A=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};var Nh=import.meta.require;var DJr="18.13.3-zen.3",FJr;var LJr=A(()=>{FJr={bun:">=1.4.4"}});function Tu(e){return e instanceof Error&&"code"in e&&typeof e.code==="string"}function he(e){return Tu(e)&&e.code==="ENOENT"}function u4(e){return Tu(e)&&e.code==="EACCES"}function wze(e){return Tu(e)&&e.code==="EISDIR"}function of(e){return Tu(e)&&e.code==="ENOTDIR"}function tT(e){return Tu(e)&&e.code==="EEXIST"}function Gxn(e){return Tu(e)&&e.code==="ENOTEMPTY"}function xa(e,t){return Tu(e)&&e.code===t}function Ys(){if(Bun.env.PI_TEST_RUNTIME==="1")return!0;return(Bun.env.BUN_ENV==="test"||Bun.env.NODE_ENV==="test")&&Fpa.test(Bun.main)}var Fpa;var DIt=A(()=>{Fpa=/[._](?:test|spec)\.[cm]?[jt]sx?$/});import*as lo from"fs";import*as dP from"os";import*as Tr from"path";import{expandWindowsLongPath as Bpa}from"@oh-my-pi-zen/pi-natives/path";function hK(e){let t=e?.trim();if(!t||t==="default")return;if(t==="."||t===".."||t.endsWith(".")||!BJr.test(t)||Upa.test(t))throw Error(`Invalid OMP profile "${e}". Profile names must match ${BJr.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return t}function BIt(e,t){return hK(e!==void 0?e:t)}function $pa(){return BIt(process.env.OMP_PROFILE,process.env.PI_PROFILE)}function HJr(){try{return $pa()}catch{return}}function sae(){return Tr.join(dP.homedir(),rT())}function qxn(e){let t=sae();return e?Tr.join(t,"profiles",e):t}function UIt(){try{return hK(process.env.PI_PROFILE)}catch{return}}function Hpa(e){return Tr.join(qxn(e),"agent")}function Wpa(e,t){return e!==void 0&&t===Hpa(e)}function jpa(e){if(process.platform!=="darwin"||!e.startsWith("/private/"))return e;let t=e.slice(8);try{if(lo.realpathSync(e)===lo.realpathSync(t))return t}catch{}return e}function WJr(e){return process.platform==="win32"?Bpa(e):jpa(e)}function GB(e,t){let n=Tr.resolve(e);try{return lo.realpathSync(n)}catch{if(!t?.throughMissing)return n}let r=[],i=n;for(;;){let o=Tr.dirname(i);if(o===i)return n;r.unshift(Tr.basename(i)),i=o;try{return Tr.join(lo.realpathSync(i),...r)}catch{}}}function ci(e){let t=GB(e);return process.platform==="win32"?t.toLowerCase():t}function oxe(e,t){let n=Tr.relative(e,t);if(n!==""&&(n.startsWith("..")||Tr.isAbsolute(n)))return null;return n}function sf(e,t){let n=ci(e),r=ci(t);return oxe(n,r)!==null}function $It(e,t){let n=ci(e),r=ci(t);return oxe(n,r)||null}function Qe(){if(Sze===void 0){let e;try{e=process.cwd()}catch{let t=[process.env.PWD,dP.homedir(),dP.tmpdir()];for(let n of t){if(!n||!Tr.isAbsolute(n))continue;try{process.chdir(n),e=n;break}catch{}}if(e===void 0)throw Error("Unable to determine an accessible working directory")}Sze=WJr(e)}return Sze}function rA(e){let t=WJr(Tr.resolve(e));process.chdir(t),Sze=t}function Gpa(){Sze=void 0}async function vze(e){try{return!(await lo.promises.stat(e)).isDirectory()}catch(t){return he(t)||of(t)}}async function sxe(e){try{return(await lo.promises.stat(e)).isDirectory()}catch{return!1}}async function axe(e){try{let[t]=await Promise.all([lo.promises.stat(e),lo.promises.access(e,lo.constants.X_OK)]);return t.isDirectory()}catch{return!1}}function HIt(e){try{return lo.accessSync(e,lo.constants.X_OK),lo.statSync(e).isDirectory()}catch{return!1}}function aae(){try{let e=Qe();if(HIt(e))return e}catch{}return dP.homedir()}function rT(){return process.env.PI_CONFIG_DIR||pR}function Vxn(){let e=Lm();return e?Tr.join(rT(),"profiles",e,"agent"):`${rT()}/agent`}class ixe{configRoot;agentDir;#e;#t;#n;#r=new Map;#i=new Map;constructor(e={}){let t=hK(e.profile);this.configRoot=qxn(t);let n=Tr.join(this.configRoot,"agent"),r=t?void 0:e.agentDirOverride;this.agentDir=r?Tr.resolve(r):n;let i=this.agentDir===n,o,s,a,l=process.platform==="linux"||process.platform==="darwin";if(l&&i){let u=(p)=>{let f=process.env[p];if(!f)return;try{let m=Tr.join(f,it);if(t){let h=Tr.join(m,"profiles",t);if(lo.existsSync(h))return h;return}return lo.existsSync(m)?m:void 0}catch{}return};o=u("XDG_DATA_HOME"),s=u("XDG_STATE_HOME"),a=u("XDG_CACHE_HOME")}let c=(u)=>{if(!l)return;let p=process.env[u];if(!p)return;try{let f=Tr.join(p,it);return lo.existsSync(f)?f:void 0}catch{}return};this.#e={data:o??this.configRoot,state:s??this.configRoot,cache:a??this.configRoot},this.#t={data:o??this.agentDir,state:s??this.agentDir,cache:a??this.agentDir};let d=sae();this.#n={data:c("XDG_DATA_HOME")??d,state:c("XDG_STATE_HOME")??d,cache:c("XDG_CACHE_HOME")??d}}baseRootSubdir(e,t){return Tr.join(t?this.#n[t]:sae(),e)}rootSubdir(e,t){let n=this.#r.get(e);if(n)return n;let r=t?this.#e[t]:this.configRoot,i=Tr.join(r,e);return this.#r.set(e,i),i}agentSubdir(e,t,n){if(!e||e===this.agentDir){let r=this.#i.get(t);if(r)return r;let i=n?this.#t[n]:this.agentDir,o=Tr.join(i,t);return this.#i.set(t,o),o}return Tr.join(e,t)}}function WIt(e,t,n=e){return Wpa(e??n,t)?void 0:t}function jJr(){return nT?void 0:WIt(void 0,process.env.PI_CODING_AGENT_DIR,UIt())}function jIt(){li=new ixe({agentDirOverride:jJr(),profile:nT})}function iA(){return li.configRoot}function qpa(e){nT=void 0,li=new ixe({agentDirOverride:e}),process.env.PI_CODING_AGENT_DIR=e,rxe=e;for(let t of $Jr)delete process.env[t]}function GJr(){rxe=WIt(nT,process.env.PI_CODING_AGENT_DIR,nT??UIt())}function Vpa(){nT=HJr(),GJr(),jIt()}function GIt(e){let t=hK(e);if(t&&!nT)rxe=WIt(void 0,process.env.PI_CODING_AGENT_DIR,UIt());if(nT=t,nT)li=new ixe({profile:nT}),process.env.OMP_PROFILE=nT,process.env.PI_PROFILE=nT,process.env.PI_CODING_AGENT_DIR=li.agentDir;else{for(let n of $Jr)delete process.env[n];if(rxe===void 0)delete process.env.PI_CODING_AGENT_DIR;else process.env.PI_CODING_AGENT_DIR=rxe;li=new ixe({agentDirOverride:rxe})}}function Lm(){return nT}function Kxn(e){return qxn(hK(e))}function vn(){return li.agentDir}function OC(e=Qe()){return Tr.join(e,pR)}function Aze(){return li.rootSubdir("reports","state")}function NC(){if(Ys()){let e=typeof process.getuid==="function"?process.getuid():dP.userInfo().username;return Tr.join(dP.tmpdir(),`omp-test-logs-${e}`)}return li.rootSubdir("logs","state")}function zB(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function gK(e=new Date,t=process.pid){return Tr.join(NC(),`${it}.${zB(e)}.${t}.log`)}function zc(e){if(e!==void 0&&e!==zpa)return Tr.join(e,rT(),"plugins");return li.rootSubdir("plugins","data")}function Fg(e){return Tr.join(zc(e),"node_modules")}function qB(e){return Tr.join(zc(e),"package.json")}function lxe(e){return Tr.join(zc(e),"omp-plugins.lock.json")}function Eze(){return li.rootSubdir("remote","data")}function Yxn(e){let t=e?.trim();if(!t)return;let n=t;if(n==="~")n=dP.homedir();else if(n.startsWith("~/")||n.startsWith("~\\"))n=dP.homedir()+n.slice(1);return Tr.isAbsolute(n)?Tr.normalize(n):void 0}function Jxn(e){return zxn=Yxn(e),zxn}function lae(){return Yxn(process.env.OMP_WORKTREE_DIR)??zxn??li.rootSubdir("wt","data")}function Xxn(){return li.rootSubdir("ssh-control","state")}function Qxn(){return li.rootSubdir("remote-host","data")}function Rze(){return li.rootSubdir("python-env","data")}function Kpa(){return li.agentSubdir(void 0,"python-gateway","state")}function cae(){return li.rootSubdir("puppeteer","cache")}function Zxn(){return li.rootSubdir("browser-relay","data")}function ekn(){return li.rootSubdir("browser-profiles","state")}function tkn(){return li.rootSubdir("webcache","cache")}function nkn(){return li.rootSubdir("autoqa.db","data")}function XN(e){return Bun.hash(Tr.resolve(e)).toString(16).padStart(16,"0").slice(-7)}function dae(e){return Tr.join(lae(),e)}function xze(){let e=process.env.OMP_GITHUB_CACHE_DB;if(e)return e;return li.rootSubdir(Tr.join("cache","github-cache.db"),"cache")}function rkn(){let e=process.env.OMP_COMMIT_CACHE_DB;if(e)return e;return li.rootSubdir(Tr.join("cache","commit-inference.db"),"cache")}function ikn(){let e=process.env.OMP_JUDGMENT_CACHE_DB;if(e)return e;return li.rootSubdir(Tr.join("cache","judgment-cache.db"),"cache")}function okn(){return li.rootSubdir(Tr.join("cache","legacy-pi-extension-cache.db"),"cache")}function skn(){let e=process.env.OMP_AUTH_BROKER_SNAPSHOT_CACHE;if(e)return e;return li.rootSubdir(Tr.join("cache","auth-broker-snapshot.enc"),"cache")}function akn(){return li.rootSubdir(Tr.join("cache","avatars"),"cache")}function yK(){return li.rootSubdir(Tr.join("cache","fastembed"),"cache")}function lkn(){return li.rootSubdir(Tr.join("cache","fastembed-runtime"),"cache")}function ckn(){return Tr.join(zJr(),"grammars")}function zJr(){return Yxn(process.env.PI_NATIVES_DIR)??li.rootSubdir("natives","cache")}function LC(){return li.rootSubdir("stats.db","data")}function dkn(){return li.rootSubdir("autoresearch","state")}function zIt(e){return Tr.join(dkn(),e)}function ukn(e){return Tr.join(dkn(),`${e}.db`)}function Ypa(e,t){return Tr.join(zIt(e),"runs",String(t).padStart(4,"0"))}function qJr(){return li.rootSubdir("security","state")}function pkn(e){return Tr.join(qJr(),e)}function vo(e){return li.agentSubdir(e,"agent.db","data")}function cxe(e){return li.agentSubdir(e,"last-changelog-version","state")}function VB(e){return li.agentSubdir(e,"history.db","data")}function uae(e){return li.agentSubdir(e,"models.db","data")}function jf(e){return li.agentSubdir(e,Tr.join("cache","tiny-models"),"cache")}function qIt(e){return li.agentSubdir(e,Tr.join("cache","document-conversions"),"cache")}function fkn(e){return li.agentSubdir(e,Tr.join("cache","composer.db"),"cache")}function mkn(e){return li.agentSubdir(e,"skill-descriptions.db","data")}function hkn(e,t){let n=Tr.join("predict",t),r=li.agentSubdir(e,n,"data");return Zpa(Tr.join(e??li.agentDir,n),r),r}function ec(e){return li.agentSubdir(e,"sessions","data")}function gw(e){return li.agentSubdir(e,"blobs","data")}function p4(e){return li.agentSubdir(e,"themes")}function gkn(e){return li.agentSubdir(e,"tools")}function Jpa(e){return li.agentSubdir(e,"commands")}function ykn(e){return li.agentSubdir(e,"prompts")}function Xpa(e){return li.agentSubdir(e,"modules")}function pae(e){return li.agentSubdir(e,"memories","state")}function bK(e){return li.agentSubdir(e,"terminal-sessions","state")}function fae(e){return li.agentSubdir(e,"custom-session-files","state")}function Qpa(e){return li.agentSubdir(e,"omp-crash.log","state")}function bkn(e){return li.agentSubdir(e,`${it}-debug.log`,"state")}function VJr(e,t){if(t===e)return;try{if(lo.existsSync(t)||!lo.existsSync(e))return;lo.mkdirSync(Tr.dirname(t),{recursive:!0}),lo.copyFileSync(e,t,lo.constants.COPYFILE_EXCL)}catch{}}function Zpa(e,t){if(t===e)return;let n=`${t}.adopt-${process.pid}`;try{if(lo.existsSync(t)||!lo.statSync(e,{throwIfNoEntry:!1})?.isDirectory())return;lo.mkdirSync(Tr.dirname(t),{recursive:!0}),lo.rmSync(n,{recursive:!0,force:!0}),lo.cpSync(e,n,{recursive:!0}),lo.renameSync(n,t)}catch{lo.rmSync(n,{recursive:!0,force:!0})}}function kze(){let e=li.agentSubdir(void 0,"secret-placeholder.key","state");return VJr(Tr.join(li.agentDir,"secret-placeholder.key"),e),e}function VIt(){return li.rootSubdir(Tr.join("run","tiny"),"state")}function KIt(){return li.rootSubdir(Tr.join("run","mnemopi"),"state")}function Cze(){return li.rootSubdir(Tr.join("run","daemons"),"state")}function Cp(e){let t=Bun.hash.wyhash(Tr.resolve(e)).toString(16).padStart(16,"0");return Tr.join(Cze(),t)}function Ize(){return li.baseRootSubdir(Tr.join("run","daemons","global"),"state")}function _ze(e){if(!/^[a-z0-9][a-z0-9._-]*$/i.test(e))throw Error(`Invalid global daemon service name: ${JSON.stringify(e)}`);return Tr.join(Ize(),e)}function wkn(){return li.baseRootSubdir(Tr.join("run","session-owners"),"state")}function Skn(){return li.rootSubdir(Tr.join("run","provider-inflight"),"state")}function yw(){let e=li.rootSubdir("marketplaces.json","data");return VJr(Tr.join(li.configRoot,"marketplaces.json"),e),e}function efa(e=Qe()){return Tr.join(OC(e),"modules")}function Tkn(e=Qe()){return Tr.join(OC(e),"prompts")}function vkn(e=Qe()){return Tr.join(OC(e),"plugin-overrides.json")}function Da(e,t=Qe()){if(e==="user")return Tr.join(vn(),"mcp.json");return Tr.join(OC(t),"mcp.json")}function Bg(e,t=Qe()){if(e==="user")return Tr.join(vn(),"ssh.json");return Tr.join(OC(t),"ssh.json")}function Pze(){let e=process.env.OMP_APP_NAME?.trim();return e?e:"omp"}function Ug(){if(nxe)return nxe;let e=Tr.join(sae(),tfa),t=!1;try{let r=lo.readFileSync(e,"utf8").trim();if(UJr.test(r))return nxe=r,r;t=r.length>0}catch{}let n=crypto.randomUUID();try{if(lo.mkdirSync(Tr.dirname(e),{recursive:!0}),t)try{lo.unlinkSync(e)}catch{}let r=lo.openSync(e,lo.constants.O_WRONLY|lo.constants.O_CREAT|lo.constants.O_EXCL,384);try{lo.writeSync(r,`${n}
3
+ var _pa=Object.create;var{getPrototypeOf:Ppa,defineProperty:bze,getOwnPropertyNames:MJr,getOwnPropertyDescriptor:Mpa}=Object,jxn=Object.prototype.hasOwnProperty;function OJr(e){return this[e]}var Opa,Npa,kp=(e,t,n)=>{var r=e!=null&&typeof e==="object";if(r){var i=t?Opa??=new WeakMap:Npa??=new WeakMap,o=i.get(e);if(o)return o}n=e!=null?_pa(Ppa(e)):{};let s=t||!e||!e.__esModule||!jxn.call(e,"default")?bze(n,"default",{value:e,enumerable:!0}):n;if(e&&typeof e==="object"||typeof e==="function"){for(let a of MJr(e))if(!jxn.call(s,a))bze(s,a,{get:OJr.bind(e,a),enumerable:!0})}if(r)i.set(e,s);return s},JN=(e)=>{var t=(PJr??=new WeakMap).get(e),n;if(t)return t;if(t=bze({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var r of MJr(e))if(!jxn.call(t,r))bze(t,r,{get:OJr.bind(e,r),enumerable:!(n=Mpa(e,r))||n.enumerable})}return PJr.set(e,t),t},PJr,Ze=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Lpa=(e)=>e;function Dpa(e,t){this[e]=Lpa.bind(null,t)}var I=(e,t)=>{for(var n in t)bze(e,n,{get:t[n],enumerable:!0,configurable:!0,set:Dpa.bind(t,n)})};var A=(e,t,n)=>()=>{if(e)try{t=e(e=0)}catch(r){n=[r]}if(n)throw n[0];return t};var Nh=import.meta.require;var DJr="18.13.3-zen.5",FJr;var LJr=A(()=>{FJr={bun:">=1.4.4"}});function Tu(e){return e instanceof Error&&"code"in e&&typeof e.code==="string"}function he(e){return Tu(e)&&e.code==="ENOENT"}function u4(e){return Tu(e)&&e.code==="EACCES"}function wze(e){return Tu(e)&&e.code==="EISDIR"}function of(e){return Tu(e)&&e.code==="ENOTDIR"}function tT(e){return Tu(e)&&e.code==="EEXIST"}function Gxn(e){return Tu(e)&&e.code==="ENOTEMPTY"}function xa(e,t){return Tu(e)&&e.code===t}function Ys(){if(Bun.env.PI_TEST_RUNTIME==="1")return!0;return(Bun.env.BUN_ENV==="test"||Bun.env.NODE_ENV==="test")&&Fpa.test(Bun.main)}var Fpa;var DIt=A(()=>{Fpa=/[._](?:test|spec)\.[cm]?[jt]sx?$/});import*as lo from"fs";import*as dP from"os";import*as Tr from"path";import{expandWindowsLongPath as Bpa}from"@oh-my-pi-zen/pi-natives/path";function hK(e){let t=e?.trim();if(!t||t==="default")return;if(t==="."||t===".."||t.endsWith(".")||!BJr.test(t)||Upa.test(t))throw Error(`Invalid OMP profile "${e}". Profile names must match ${BJr.source}, cannot be "." or "..", cannot end with ".", and cannot be a Windows reserved device name (CON, PRN, AUX, NUL, COM0-9, LPT0-9, or any of those with an extension).`);return t}function BIt(e,t){return hK(e!==void 0?e:t)}function $pa(){return BIt(process.env.OMP_PROFILE,process.env.PI_PROFILE)}function HJr(){try{return $pa()}catch{return}}function sae(){return Tr.join(dP.homedir(),rT())}function qxn(e){let t=sae();return e?Tr.join(t,"profiles",e):t}function UIt(){try{return hK(process.env.PI_PROFILE)}catch{return}}function Hpa(e){return Tr.join(qxn(e),"agent")}function Wpa(e,t){return e!==void 0&&t===Hpa(e)}function jpa(e){if(process.platform!=="darwin"||!e.startsWith("/private/"))return e;let t=e.slice(8);try{if(lo.realpathSync(e)===lo.realpathSync(t))return t}catch{}return e}function WJr(e){return process.platform==="win32"?Bpa(e):jpa(e)}function GB(e,t){let n=Tr.resolve(e);try{return lo.realpathSync(n)}catch{if(!t?.throughMissing)return n}let r=[],i=n;for(;;){let o=Tr.dirname(i);if(o===i)return n;r.unshift(Tr.basename(i)),i=o;try{return Tr.join(lo.realpathSync(i),...r)}catch{}}}function ci(e){let t=GB(e);return process.platform==="win32"?t.toLowerCase():t}function oxe(e,t){let n=Tr.relative(e,t);if(n!==""&&(n.startsWith("..")||Tr.isAbsolute(n)))return null;return n}function sf(e,t){let n=ci(e),r=ci(t);return oxe(n,r)!==null}function $It(e,t){let n=ci(e),r=ci(t);return oxe(n,r)||null}function Qe(){if(Sze===void 0){let e;try{e=process.cwd()}catch{let t=[process.env.PWD,dP.homedir(),dP.tmpdir()];for(let n of t){if(!n||!Tr.isAbsolute(n))continue;try{process.chdir(n),e=n;break}catch{}}if(e===void 0)throw Error("Unable to determine an accessible working directory")}Sze=WJr(e)}return Sze}function rA(e){let t=WJr(Tr.resolve(e));process.chdir(t),Sze=t}function Gpa(){Sze=void 0}async function vze(e){try{return!(await lo.promises.stat(e)).isDirectory()}catch(t){return he(t)||of(t)}}async function sxe(e){try{return(await lo.promises.stat(e)).isDirectory()}catch{return!1}}async function axe(e){try{let[t]=await Promise.all([lo.promises.stat(e),lo.promises.access(e,lo.constants.X_OK)]);return t.isDirectory()}catch{return!1}}function HIt(e){try{return lo.accessSync(e,lo.constants.X_OK),lo.statSync(e).isDirectory()}catch{return!1}}function aae(){try{let e=Qe();if(HIt(e))return e}catch{}return dP.homedir()}function rT(){return process.env.PI_CONFIG_DIR||pR}function Vxn(){let e=Lm();return e?Tr.join(rT(),"profiles",e,"agent"):`${rT()}/agent`}class ixe{configRoot;agentDir;#e;#t;#n;#r=new Map;#i=new Map;constructor(e={}){let t=hK(e.profile);this.configRoot=qxn(t);let n=Tr.join(this.configRoot,"agent"),r=t?void 0:e.agentDirOverride;this.agentDir=r?Tr.resolve(r):n;let i=this.agentDir===n,o,s,a,l=process.platform==="linux"||process.platform==="darwin";if(l&&i){let u=(p)=>{let f=process.env[p];if(!f)return;try{let m=Tr.join(f,it);if(t){let h=Tr.join(m,"profiles",t);if(lo.existsSync(h))return h;return}return lo.existsSync(m)?m:void 0}catch{}return};o=u("XDG_DATA_HOME"),s=u("XDG_STATE_HOME"),a=u("XDG_CACHE_HOME")}let c=(u)=>{if(!l)return;let p=process.env[u];if(!p)return;try{let f=Tr.join(p,it);return lo.existsSync(f)?f:void 0}catch{}return};this.#e={data:o??this.configRoot,state:s??this.configRoot,cache:a??this.configRoot},this.#t={data:o??this.agentDir,state:s??this.agentDir,cache:a??this.agentDir};let d=sae();this.#n={data:c("XDG_DATA_HOME")??d,state:c("XDG_STATE_HOME")??d,cache:c("XDG_CACHE_HOME")??d}}baseRootSubdir(e,t){return Tr.join(t?this.#n[t]:sae(),e)}rootSubdir(e,t){let n=this.#r.get(e);if(n)return n;let r=t?this.#e[t]:this.configRoot,i=Tr.join(r,e);return this.#r.set(e,i),i}agentSubdir(e,t,n){if(!e||e===this.agentDir){let r=this.#i.get(t);if(r)return r;let i=n?this.#t[n]:this.agentDir,o=Tr.join(i,t);return this.#i.set(t,o),o}return Tr.join(e,t)}}function WIt(e,t,n=e){return Wpa(e??n,t)?void 0:t}function jJr(){return nT?void 0:WIt(void 0,process.env.PI_CODING_AGENT_DIR,UIt())}function jIt(){li=new ixe({agentDirOverride:jJr(),profile:nT})}function iA(){return li.configRoot}function qpa(e){nT=void 0,li=new ixe({agentDirOverride:e}),process.env.PI_CODING_AGENT_DIR=e,rxe=e;for(let t of $Jr)delete process.env[t]}function GJr(){rxe=WIt(nT,process.env.PI_CODING_AGENT_DIR,nT??UIt())}function Vpa(){nT=HJr(),GJr(),jIt()}function GIt(e){let t=hK(e);if(t&&!nT)rxe=WIt(void 0,process.env.PI_CODING_AGENT_DIR,UIt());if(nT=t,nT)li=new ixe({profile:nT}),process.env.OMP_PROFILE=nT,process.env.PI_PROFILE=nT,process.env.PI_CODING_AGENT_DIR=li.agentDir;else{for(let n of $Jr)delete process.env[n];if(rxe===void 0)delete process.env.PI_CODING_AGENT_DIR;else process.env.PI_CODING_AGENT_DIR=rxe;li=new ixe({agentDirOverride:rxe})}}function Lm(){return nT}function Kxn(e){return qxn(hK(e))}function vn(){return li.agentDir}function OC(e=Qe()){return Tr.join(e,pR)}function Aze(){return li.rootSubdir("reports","state")}function NC(){if(Ys()){let e=typeof process.getuid==="function"?process.getuid():dP.userInfo().username;return Tr.join(dP.tmpdir(),`omp-test-logs-${e}`)}return li.rootSubdir("logs","state")}function zB(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function gK(e=new Date,t=process.pid){return Tr.join(NC(),`${it}.${zB(e)}.${t}.log`)}function zc(e){if(e!==void 0&&e!==zpa)return Tr.join(e,rT(),"plugins");return li.rootSubdir("plugins","data")}function Fg(e){return Tr.join(zc(e),"node_modules")}function qB(e){return Tr.join(zc(e),"package.json")}function lxe(e){return Tr.join(zc(e),"omp-plugins.lock.json")}function Eze(){return li.rootSubdir("remote","data")}function Yxn(e){let t=e?.trim();if(!t)return;let n=t;if(n==="~")n=dP.homedir();else if(n.startsWith("~/")||n.startsWith("~\\"))n=dP.homedir()+n.slice(1);return Tr.isAbsolute(n)?Tr.normalize(n):void 0}function Jxn(e){return zxn=Yxn(e),zxn}function lae(){return Yxn(process.env.OMP_WORKTREE_DIR)??zxn??li.rootSubdir("wt","data")}function Xxn(){return li.rootSubdir("ssh-control","state")}function Qxn(){return li.rootSubdir("remote-host","data")}function Rze(){return li.rootSubdir("python-env","data")}function Kpa(){return li.agentSubdir(void 0,"python-gateway","state")}function cae(){return li.rootSubdir("puppeteer","cache")}function Zxn(){return li.rootSubdir("browser-relay","data")}function ekn(){return li.rootSubdir("browser-profiles","state")}function tkn(){return li.rootSubdir("webcache","cache")}function nkn(){return li.rootSubdir("autoqa.db","data")}function XN(e){return Bun.hash(Tr.resolve(e)).toString(16).padStart(16,"0").slice(-7)}function dae(e){return Tr.join(lae(),e)}function xze(){let e=process.env.OMP_GITHUB_CACHE_DB;if(e)return e;return li.rootSubdir(Tr.join("cache","github-cache.db"),"cache")}function rkn(){let e=process.env.OMP_COMMIT_CACHE_DB;if(e)return e;return li.rootSubdir(Tr.join("cache","commit-inference.db"),"cache")}function ikn(){let e=process.env.OMP_JUDGMENT_CACHE_DB;if(e)return e;return li.rootSubdir(Tr.join("cache","judgment-cache.db"),"cache")}function okn(){return li.rootSubdir(Tr.join("cache","legacy-pi-extension-cache.db"),"cache")}function skn(){let e=process.env.OMP_AUTH_BROKER_SNAPSHOT_CACHE;if(e)return e;return li.rootSubdir(Tr.join("cache","auth-broker-snapshot.enc"),"cache")}function akn(){return li.rootSubdir(Tr.join("cache","avatars"),"cache")}function yK(){return li.rootSubdir(Tr.join("cache","fastembed"),"cache")}function lkn(){return li.rootSubdir(Tr.join("cache","fastembed-runtime"),"cache")}function ckn(){return Tr.join(zJr(),"grammars")}function zJr(){return Yxn(process.env.PI_NATIVES_DIR)??li.rootSubdir("natives","cache")}function LC(){return li.rootSubdir("stats.db","data")}function dkn(){return li.rootSubdir("autoresearch","state")}function zIt(e){return Tr.join(dkn(),e)}function ukn(e){return Tr.join(dkn(),`${e}.db`)}function Ypa(e,t){return Tr.join(zIt(e),"runs",String(t).padStart(4,"0"))}function qJr(){return li.rootSubdir("security","state")}function pkn(e){return Tr.join(qJr(),e)}function vo(e){return li.agentSubdir(e,"agent.db","data")}function cxe(e){return li.agentSubdir(e,"last-changelog-version","state")}function VB(e){return li.agentSubdir(e,"history.db","data")}function uae(e){return li.agentSubdir(e,"models.db","data")}function jf(e){return li.agentSubdir(e,Tr.join("cache","tiny-models"),"cache")}function qIt(e){return li.agentSubdir(e,Tr.join("cache","document-conversions"),"cache")}function fkn(e){return li.agentSubdir(e,Tr.join("cache","composer.db"),"cache")}function mkn(e){return li.agentSubdir(e,"skill-descriptions.db","data")}function hkn(e,t){let n=Tr.join("predict",t),r=li.agentSubdir(e,n,"data");return Zpa(Tr.join(e??li.agentDir,n),r),r}function ec(e){return li.agentSubdir(e,"sessions","data")}function gw(e){return li.agentSubdir(e,"blobs","data")}function p4(e){return li.agentSubdir(e,"themes")}function gkn(e){return li.agentSubdir(e,"tools")}function Jpa(e){return li.agentSubdir(e,"commands")}function ykn(e){return li.agentSubdir(e,"prompts")}function Xpa(e){return li.agentSubdir(e,"modules")}function pae(e){return li.agentSubdir(e,"memories","state")}function bK(e){return li.agentSubdir(e,"terminal-sessions","state")}function fae(e){return li.agentSubdir(e,"custom-session-files","state")}function Qpa(e){return li.agentSubdir(e,"omp-crash.log","state")}function bkn(e){return li.agentSubdir(e,`${it}-debug.log`,"state")}function VJr(e,t){if(t===e)return;try{if(lo.existsSync(t)||!lo.existsSync(e))return;lo.mkdirSync(Tr.dirname(t),{recursive:!0}),lo.copyFileSync(e,t,lo.constants.COPYFILE_EXCL)}catch{}}function Zpa(e,t){if(t===e)return;let n=`${t}.adopt-${process.pid}`;try{if(lo.existsSync(t)||!lo.statSync(e,{throwIfNoEntry:!1})?.isDirectory())return;lo.mkdirSync(Tr.dirname(t),{recursive:!0}),lo.rmSync(n,{recursive:!0,force:!0}),lo.cpSync(e,n,{recursive:!0}),lo.renameSync(n,t)}catch{lo.rmSync(n,{recursive:!0,force:!0})}}function kze(){let e=li.agentSubdir(void 0,"secret-placeholder.key","state");return VJr(Tr.join(li.agentDir,"secret-placeholder.key"),e),e}function VIt(){return li.rootSubdir(Tr.join("run","tiny"),"state")}function KIt(){return li.rootSubdir(Tr.join("run","mnemopi"),"state")}function Cze(){return li.rootSubdir(Tr.join("run","daemons"),"state")}function Cp(e){let t=Bun.hash.wyhash(Tr.resolve(e)).toString(16).padStart(16,"0");return Tr.join(Cze(),t)}function Ize(){return li.baseRootSubdir(Tr.join("run","daemons","global"),"state")}function _ze(e){if(!/^[a-z0-9][a-z0-9._-]*$/i.test(e))throw Error(`Invalid global daemon service name: ${JSON.stringify(e)}`);return Tr.join(Ize(),e)}function wkn(){return li.baseRootSubdir(Tr.join("run","session-owners"),"state")}function Skn(){return li.rootSubdir(Tr.join("run","provider-inflight"),"state")}function yw(){let e=li.rootSubdir("marketplaces.json","data");return VJr(Tr.join(li.configRoot,"marketplaces.json"),e),e}function efa(e=Qe()){return Tr.join(OC(e),"modules")}function Tkn(e=Qe()){return Tr.join(OC(e),"prompts")}function vkn(e=Qe()){return Tr.join(OC(e),"plugin-overrides.json")}function Da(e,t=Qe()){if(e==="user")return Tr.join(vn(),"mcp.json");return Tr.join(OC(t),"mcp.json")}function Bg(e,t=Qe()){if(e==="user")return Tr.join(vn(),"ssh.json");return Tr.join(OC(t),"ssh.json")}function Pze(){let e=process.env.OMP_APP_NAME?.trim();return e?e:"omp"}function Ug(){if(nxe)return nxe;let e=Tr.join(sae(),tfa),t=!1;try{let r=lo.readFileSync(e,"utf8").trim();if(UJr.test(r))return nxe=r,r;t=r.length>0}catch{}let n=crypto.randomUUID();try{if(lo.mkdirSync(Tr.dirname(e),{recursive:!0}),t)try{lo.unlinkSync(e)}catch{}let r=lo.openSync(e,lo.constants.O_WRONLY|lo.constants.O_CREAT|lo.constants.O_EXCL,384);try{lo.writeSync(r,`${n}
4
4
  `)}finally{lo.closeSync(r)}}catch(r){if(r.code==="EEXIST")try{let i=lo.readFileSync(e,"utf8").trim();if(UJr.test(i))return nxe=i,i}catch{}}return nxe=n,n}function nfa(){nxe=null}var it="omp",Tze="https://omp.sh/",pR=".omp",fR,tr,Hi,FIt,BJr,$Jr,Upa,Sze,nT,li,rxe,zpa,zxn,nxe=null,tfa="install-id",UJr;var ka=A(()=>{LJr();DIt();fR=["config.yml","config.yaml"],tr=DJr,Hi=`omp/${tr}`,FIt=FJr.bun.replace(/[^0-9.]/g,""),BJr=/^[a-z0-9][a-z0-9._-]{0,63}$/,$Jr=["OMP_PROFILE","PI_PROFILE"],Upa=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;nT=HJr();li=new ixe({agentDirOverride:jJr(),profile:nT}),rxe=WIt(nT,process.env.PI_CODING_AGENT_DIR,nT??UIt()),zpa=dP.homedir();UJr=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i});import*as dxe from"path";function Mze(e){let t=dxe.win32.normalize(e.trim()),n=rfa.exec(t);if(!n)return;let[,r,i]=n,o=i.split("\\").filter(Boolean);return dxe.posix.join("/mnt",r.toLowerCase(),...o)}function mR(e,t=process.platform){if(t!=="win32")return e;let n=ofa.exec(e)??cfa.exec(e);if(n)return`\\\\${n[1]}\\${n[2]}`;let r=ifa.exec(e)??lfa.exec(e);if(r)return r[1];let i=afa.exec(e);if(i)return`//${i[1]}/${i[2]}`;let o=sfa.exec(e);if(o)return o[1];return e}function uxe(e,t=process.platform){if(!(t==="win32"?dxe.win32:dxe.posix).isAbsolute(e))return!1;if(t==="win32")return/^[a-zA-Z]:[/\\]/.test(e)||/^[\\/]{2}[^\\/]/.test(e);return!0}var rfa,ifa,ofa,sfa,afa,lfa,cfa;var YIt=A(()=>{rfa=/^([A-Za-z]):[\\/](.*)$/;ifa=/^\\\\[?]\\([A-Za-z]:[\\/].*)$/,ofa=/^\\\\[?]\\UNC[\\/]([^\\/]+)[\\/](.+)$/i,sfa=/^\/\/[?]\/([A-Za-z]:\/.*)$/,afa=/^\/\/[?]\/UNC\/([^/]+)\/(.+)$/i,lfa=/^\\\\[?][?]\\([A-Za-z]:[\\/].*)$/,cfa=/^\\\\[?][?]\\UNC[\\/]([^\\/]+)[\\/](.+)$/i});function Oze(e){return e?.startsWith(KJr)??!1}function Ekn(){YJr=mR(Bun.main)}function $g(){return YJr}function mae(e){let t=[],n=null;e.on("message",(i)=>{if(n)n(i);else t.push(i)});let r={bind(i){n=i;for(let o of t)i(o);return t.length=0,()=>{if(n===i)n=null}}};return Akn=r,r}function QN(){let e=Akn;return Akn=null,e}var KJr="__omp_worker_",YJr=null,Akn=null;var ZN=A(()=>{YIt()});var xkn={};I(xkn,{acpHelp:()=>Nze,agentsHelp:()=>Lze,anonymizeHelp:()=>Dze,authBrokerHelp:()=>Bze,authGatewayHelp:()=>Uze,authHelp:()=>Fze,benchHelp:()=>$ze,browserRelayHelp:()=>Rkn,cleanseHelp:()=>Hze,clipHelp:()=>jze,collabHelp:()=>Wze,commitHelp:()=>Gze,completeHelp:()=>qze,completionsHelp:()=>zze,compressHelp:()=>Vze,configHelp:()=>Kze,dryBalanceHelp:()=>Yze,findHelp:()=>e6e,galleryHelp:()=>Jze,gcHelp:()=>Xze,gitHelp:()=>Zze,grepHelp:()=>t6e,grievancesHelp:()=>n6e,ifBenchHelp:()=>Qze,imagesHelp:()=>i6e,installHelp:()=>o6e,joinHelp:()=>s6e,loginHelp:()=>r6e,modelsHelp:()=>a6e,playHelp:()=>c6e,pluginHelp:()=>l6e,predictHelp:()=>d6e,psHelp:()=>u6e,readHelp:()=>p6e,renderHelp:()=>f6e,sayHelp:()=>m6e,searchHelp:()=>h6e,sessionHelp:()=>g6e,setupHelp:()=>b6e,shareHelp:()=>y6e,shellHelp:()=>w6e,skillHelp:()=>S6e,sshHelp:()=>T6e,statsHelp:()=>v6e,streamHelp:()=>A6e,tinyModelsHelp:()=>E6e,tokenHelp:()=>R6e,toksHelp:()=>x6e,ttsrHelp:()=>k6e,updateHelp:()=>C6e,usageHelp:()=>I6e,worktreeHelp:()=>_6e});var Nze,Lze,Dze,Fze,Bze,Uze,$ze,Rkn,Hze,Wze,jze,Gze,zze,qze,Vze,Kze,Yze,Jze,Xze,Qze,Zze,e6e,t6e,n6e,r6e,i6e,o6e,s6e,a6e,l6e,c6e,d6e,u6e,p6e,f6e,m6e,h6e,g6e,y6e,b6e,w6e,S6e,T6e,v6e,A6e,E6e,R6e,x6e,k6e,C6e,I6e,_6e;var ro=A(()=>{Nze={description:"Run omp as an ACP (Agent Client Protocol) server over stdio"},Lze={description:"Manage bundled task agents"},Dze={description:"Write a shareable copy of a session and its subagents: turn contents redacted, metadata kept, paths and literals replaced by consistent mock tokens"},Fze={description:"Export or import stored provider credentials (API keys and OAuth logins) as JSON"},Bze={description:"Manage the omp auth-broker (credential vault)"},Uze={description:"Run an auth-gateway: an HTTP forward proxy backed by the configured broker, or JSON lines on stdio with your own credentials"},$ze={description:"Benchmark models: TTFT/prefill vs decode throughput with p50/p95, across chat, prefill, generation, and prompt-cache workloads, or single-user vs parallel load (--detailed)"},Rkn={description:"Run the local CDP relay that lets the browser prelude drive your own Chrome tabs"},Hze={description:"Detect and fix project diagnostics with weighted parallel subagents"},Wze={description:"List active local Collab host metadata without URLs; use collab link <instanceId|pid> to retrieve a control link (--view for view-only)"},jze={description:"Upload a /record recording to live.omp.sh as a public clip and print its URL"},Gze={description:"Generate a commit message and update changelogs"},zze={description:"Print a shell completion script (bash, zsh, or fish)"},qze={hidden:!0},Vze={description:"Rewrite a text file into the dense prompt register, reporting what it drops"},Kze={description:"Manage configuration settings"},Yze={description:"Dry-run OAuth account balancing across random session ids"},Jze={description:"Preview tool, composer, and status-line renderers in a deterministic visual gallery"},Xze={description:"Run storage garbage collection"},Qze={description:"Benchmark instruction following and working memory: one cached thread of glyph array actions with a moving cat-sound directive"},Zze={description:"Interactive fullscreen git UI: split diff viewer, staging sidebar, and commit composer"},e6e={description:"Semantic search: describe a behavior, get the files and line ranges that implement it"},t6e={description:"Test grep tool"},n6e={description:"View, clean, or push reported tool issues (auto-QA grievances)"},r6e={description:"Log in to a model provider (terminal counterpart of /login)"},i6e={description:"Inspect, diagnose, probe, and purge image publication backends"},o6e={description:"Install or link an extension package (alias of `plugin install`/`plugin link`)"},s6e={description:"Join a shared collab session (same as /join)"},a6e={description:"List, search, and refresh available models"},l6e={description:"Manage plugins (install, uninstall, list, etc.)"},c6e={description:"Replay a /record session recording in the terminal (space pauses, q quits)"},d6e={description:"Type a prompt and compare every word-completion engine's ghost text live"},u6e={description:"List and control daemon-supervised background processes (logs, stop, kill, restart)"},p6e={description:"Show what the read tool will return for a path, URL, or internal URI"},f6e={description:"Draw a session's entire thread through the production transcript pipeline (with repaint timing)"},m6e={description:"Synthesize text with the local TTS engine and play it through the speakers"},h6e={description:"Test web search providers"},g6e={description:"Hand a session to another machine: pack it, unpack it, or mark the local copy moved"},y6e={description:"Share a saved session via an encrypted link (same as /share)"},b6e={description:"Run onboarding setup or install dependencies for optional features"},w6e={description:"Interactive shell console"},S6e={description:"Install, search, publish, and manage skills on the Skillshare registry (skills.omp.sh)"},T6e={description:"Manage SSH host configurations"},v6e={description:"View usage statistics"},A6e={description:"Broadcast local omp session screens and chat to your public live channel"},E6e={description:"Download tiny local models (session titles, memory, word completion)"},R6e={description:"Get the API key or OAuth token for a provider"},x6e={description:"Count a file or text with every embedded offline tokenizer (OpenAI, Claude, Qwen, \u2026)"},k6e={description:"Inspect and test Time-Traveling Stream Rules (TTSR)"},C6e={description:"Check for and install updates"},I6e={description:"Show provider usage limits for every authenticated account"},_6e={description:"Add, list, or clear git worktrees (clone-first when enabled)"}});var JJr={};I(JJr,{Effort:()=>vu,THINKING_EFFORTS:()=>Wr});var vu,Wr;var af=A(()=>{((s)=>{s.Minimal="minimal";s.Low="low";s.Medium="medium";s.High="high";s.XHigh="xhigh";s.Max="max"})(vu||={});Wr=["minimal","low","medium","high","xhigh","max"]});var XJr={};I(XJr,{IMAGE_GENERATION_APIS:()=>gae,KIND_API_KINDS:()=>pxe,MODEL_KINDS:()=>iT,RUNNER_APIS:()=>JIt,RUNNER_API_KINDS:()=>hae,apiServesKind:()=>f4,modelKind:()=>Yo,runnerApiKind:()=>hR,servedKinds:()=>yae});function hR(e){return dfa.get(e)}function yae(e){if(e==="local-inference")return;let t=hR(e);if(t!==void 0)return[t];return gae.includes(e)?pfa:ufa}function f4(e,t){return yae(e)?.includes(t)??!0}function Yo(e){return e.kind??"chat"}var iT,pxe,JIt,hae,dfa,gae,ufa,pfa;var Gd=A(()=>{iT=["chat","tiny","image","tts","stt","search","judge","embedding","rerank","video"],pxe=["image","tts","stt","embedding","rerank","video"],JIt=["local-inference","web-search","typesafe","openrouter-decisions","openai-decisions","workers-ai-systemone","openai-images","openrouter-images","xai-tts","openai-speech","openai-embeddings","openrouter-rerank","openrouter-video","openai-transcriptions"],hae={"web-search":"search",typesafe:"judge","openrouter-decisions":"judge","openai-decisions":"judge","workers-ai-systemone":"judge","openai-images":"image","openrouter-images":"image","xai-tts":"tts","openai-speech":"tts","openai-embeddings":"embedding","openrouter-rerank":"rerank","openrouter-video":"video","openai-transcriptions":"stt"},dfa=new Map(Object.entries(hae));gae=["openai-images","openrouter-images","google-generative-ai","google-gemini-cli","openai-responses","openai-codex-responses","factory-droid-agent"],ufa=["chat","tiny"],pfa=["chat","tiny","image"]});function ffa(e){return e==="openai-completions"||e==="openai-responses"||e==="openai-codex-responses"}function mfa(e){return e==="fireworks"||e==="github-copilot"}function QJr(e){return!mfa(e.provider)&&ffa(e.api)&&e.identity.class==="openai"}function DC(e){let t=e.provider;if(t==="openrouter"){if(e.identity.class==="anthropic")return"anthropic";if(e.identity.class==="gemini")return"google";if(e.identity.class==="openai")return"openai";return}if(t==="openai"||t==="openai-codex")return"openai";if(e.api==="anthropic-messages")return"anthropic";if(t==="google"||t==="google-vertex")return"google";if(QJr(e))return"openai";return}function uP(e,t){if(!e)return;let n=DC(t);return n?e[n]:void 0}function oT(e,t){if(!e||e==="auto")return!1;let n=typeof t==="string"?t:t?.provider;if(typeof t!=="string"&&t?.api==="openai-codex-responses"&&e!=="flex"&&e!=="default"){let r=t.serviceTiers;if(e==="ultrafast")return r?.includes(e)===!0;if(r!==void 0&&r.length>0)return r.includes(e)}if(e==="ultrafast")return n==="openai"||typeof t==="string"&&n==="openai-codex";if(n==="openai"||n==="openai-codex")return!0;if(n==="openrouter")return e==="flex"||e==="scale"||e==="priority";if(typeof t!=="string"&&t&&QJr(t))return!0;if(n==="google")return e==="flex"||e==="priority";if(n==="google-vertex"||n==="fireworks")return e==="priority";return!1}function P6e(e,t){if(e!=="priority")return!1;if(t.provider==="anthropic")return!0;if(t.provider==="openrouter"){let n=DC(t);return n==="openai"||n==="google"}if(t.api==="anthropic-messages")return!1;return oT(e,t)}function wK(e,t,n){let r=t.provider;if(e==="ultrafast"){if(r!=="openai"&&r!=="openai-codex")return 0;return n?.served===!0||oT("ultrafast",t)?1:0}if(e!=="priority")return 0;if(!n?.served&&!P6e(e,t))return 0;return r==="openai"||r==="openai-codex"||r==="anthropic"||r==="google"||r==="google-vertex"?1:0}function e1(e){switch(e){case"auto":case"default":case"flex":case"scale":case"priority":case"ultrafast":return e;default:return}}function bae(e){if(e===null||e===void 0)return;if(typeof e==="object"){let t=e,n={};for(let r of["openai","anthropic","google"]){let i=t[r];if(i==="auto"||i==="default"||i==="flex"||i==="scale"||i==="priority"||i==="ultrafast")n[r]=i}return Object.keys(n).length>0?n:void 0}switch(e){case"priority":return{openai:"priority",anthropic:"priority",google:"priority"};case"openai-only":return{openai:"priority"};case"claude-only":return{anthropic:"priority"};case"auto":return{openai:"auto"};case"default":return{openai:"default"};case"flex":return{openai:"flex"};case"scale":return{openai:"scale"};default:return}}var KB=64000;var fxe=A(()=>{af();Gd()});var eXr={};I(eXr,{SERVICE_TIER_ANTHROPIC_OPTIONS:()=>_kn,SERVICE_TIER_ANTHROPIC_VALUES:()=>XIt,SERVICE_TIER_GOOGLE_OPTIONS:()=>Pkn,SERVICE_TIER_GOOGLE_VALUES:()=>QIt,SERVICE_TIER_INHERIT_OPTIONS:()=>ZIt,SERVICE_TIER_INHERIT_SETTING_VALUES:()=>mxe,SERVICE_TIER_OPENAI_OPTIONS:()=>Ikn,SERVICE_TIER_OPENAI_VALUES:()=>t1,buildServiceTierByFamily:()=>FC,isServiceTierFamily:()=>Ckn,isServiceTierForFamily:()=>SK,isServiceTierInheritSettingValue:()=>ZJr,isServiceTierOpenAISettingValue:()=>kkn,resolveAgentServiceTierOverride:()=>Okn,resolveSubagentServiceTier:()=>Mkn,serviceTierForAllFamilies:()=>hxe,serviceTierSettingToTier:()=>sT,validateAgentServiceTierOverrides:()=>M6e});function kkn(e){return t1.some((t)=>t===e)}function Ckn(e){return e==="openai"||e==="anthropic"||e==="google"}function SK(e,t){if(typeof t!=="string"||t==="none")return!1;let n;switch(e){case"openai":n=t1;break;case"anthropic":n=XIt;break;case"google":n=QIt;break;default:return!1}return n.includes(t)}function ZJr(e){return typeof e==="string"&&mxe.some((t)=>t===e)}function M6e(e){let t={};if(e===void 0||e===null)return t;if(typeof e!=="object"||Array.isArray(e))throw Error(`Invalid task.agentServiceTierOverrides: expected a map of agent name to service tier, got ${Array.isArray(e)?"an array":`a ${typeof e}`}.`);for(let[n,r]of Object.entries(e)){if(!ZJr(r))throw Error(`Invalid service tier for task.agentServiceTierOverrides.${n}: ${String(r)}. Expected one of: ${mxe.join(", ")}.`);t[n]=r}return t}function sT(e){if(e==="none"||e===""||e==="inherit")return;return e}function FC(e,t,n){let r={},i=sT(e);if(i)r.openai=i;let o=sT(t);if(o)r.anthropic=o;let s=sT(n);if(s)r.google=s;return r}function hxe(e){if(!e)return{};let t={openai:e};if(e==="priority")t.anthropic="priority";if(e==="flex"||e==="priority")t.google=e;return t}function Mkn(e,t){if(e==="inherit")return t;return hxe(sT(e))}function Okn(e,t,n){if(e==="inherit")return n;let r=sT(e);if(!r||!t)return{};let i=DC(t);if(!i||!SK(i,r))return{};return{[i]:r}}var t1,XIt,QIt,mxe,Ikn,_kn,Pkn,ZIt;var bw=A(()=>{fxe();t1=["none","auto","default","flex","scale","priority","ultrafast"],XIt=["none","priority"],QIt=["none","flex","priority"];mxe=["inherit","none","auto","default","flex","scale","priority","ultrafast"];Ikn=[{value:"none",label:"None",description:"Omit service_tier (standard processing)"},{value:"auto",label:"Auto",description:"Provider default tier selection"},{value:"default",label:"Default",description:"Standard priority processing"},{value:"flex",label:"Flex",description:"Lower cost, higher latency when available"},{value:"scale",label:"Scale",description:"Scale Tier credits when available"},{value:"priority",label:"Priority",description:"Faster, higher cost (premium request)"},{value:"ultrafast",label:"Ultrafast",description:"Lowest-latency serving; OpenAI API preview access, or Codex models that advertise it"}],_kn=[{value:"none",label:"None",description:"Standard processing"},{value:"priority",label:"Priority",description:'Fast mode (`speed: "fast"`) on supported direct Claude models; ignored on Bedrock/Vertex'}],Pkn=[{value:"none",label:"None",description:"Standard processing"},{value:"flex",label:"Flex",description:"Lower cost, higher latency (Gemini API + Vertex)"},{value:"priority",label:"Priority",description:"Faster, higher reliability (Gemini API + Vertex)"}],ZIt=[{value:"inherit",label:"Inherit",description:"Match the main agent's live per-family tiers"},{value:"none",label:"None",description:"Standard processing"},{value:"auto",label:"Auto",description:"Provider default tier selection (OpenAI family)"},{value:"default",label:"Default",description:"Standard priority processing (OpenAI family)"},{value:"flex",label:"Flex",description:"Flexible capacity tier (OpenAI/Google families)"},{value:"scale",label:"Scale",description:"Scale Tier credits (OpenAI family)"},{value:"priority",label:"Priority",description:"Priority on every supported family of the spawned model"},{value:"ultrafast",label:"Ultrafast",description:"Ultrafast serving (OpenAI family, where available)"}]});var tXr={};I(tXr,{CliUsageError:()=>is});var is;var YB=A(()=>{is=class is extends Error{constructor(e){super(e);this.name="CliUsageError"}}});var iXr={};I(iXr,{EXTENSION_SHADOWABLE_STRING_FLAGS:()=>Sae,OPTIONAL_FLAGS:()=>wae,OPTIONAL_VALUE_FLAGS:()=>JB,PROFILE_BOOTSTRAP_BOUNDARY_ARG:()=>h4,STRING_SETTERS:()=>t_t,STRING_VALUE_FLAGS:()=>m4,VALUELESS_FLAGS:()=>n_t,flagConsumesValue:()=>Tae,isUnknownLongValueCandidate:()=>O6e,restartArgv:()=>N6e});function yfa(e){if(e==="h")return 3600;if(e==="m")return 60;return 1}function bfa(e){let t=e.trim(),n=gfa.exec(t),r=n?Number(n[1])*yfa(n[2]):Number(t);if(Number.isFinite(r)&&r>0)return r;throw new is(`Invalid --max-time value: ${JSON.stringify(e)}. Expected a positive number of seconds or duration like "5s", "10m", "1h".`)}function rXr(e,t){let n=Number(t.trim());if(Number.isFinite(n)&&n>0)return n;throw new is(`Invalid ${e} value: ${JSON.stringify(t)}. Expected a positive USD amount, e.g. 0.50.`)}function O6e(e){return e.startsWith("--")&&!e.includes("=")&&!m4.has(e)&&!JB.has(e)&&!n_t.has(e)}function Tae(e,t){if(e.startsWith("--")&&e.includes("="))return!1;if(t===void 0)return!1;if(m4.has(e))return!0;let n=!t.startsWith("-");if(Sae.has(e))return n;if(JB.has(e)){let r=wae[e];return n&&!(r.rejectEmpty===!0&&t.length===0)}if(O6e(e))return n;return!1}function N6e(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i];if(o==="--")break;if(!o.startsWith("-"))continue;let s=Tae(o,e[i+1]),a=o.startsWith("--")?o.split("=",1)[0]:o;if(Object.hasOwn(wfa,a)||n!==void 0&&Object.hasOwn(n,a)){if(s)i++;continue}if(r.push(o),s)r.push(e[++i])}if(t!==void 0)r.push("--resume",t);return r}var nXr=(e,t)=>{e.extensions=e.extensions??[],e.extensions.push(t)},e_t=(e,t)=>{e.resume=t!==void 0?t:!0},hfa=(e,t)=>{e_t(e,t),e.restore=!0},gfa,t_t,wae,m4,Sae,JB,h4="--omp-profile-boundary",n_t,wfa;var vae=A(()=>{bw();YB();gfa=/^(\d+(?:\.\d+)?)([smh])$/;t_t={"--cwd":(e,t)=>{e.cwd=t},"--config":(e,t)=>{e.config=[...e.config??[],t]},"--add-dir":(e,t)=>{e.addDir=[...e.addDir??[],t]},"--mode":(e,t)=>{if(t==="text"||t==="json"||t==="rpc"||t==="acp"||t==="rpc-ui")e.mode=t;else e.invalidFlagValues.push(`Invalid --mode value: ${JSON.stringify(t)}. Expected one of: text, json, rpc, rpc-ui, acp.`)},"--fork":(e,t)=>{e.fork=t},"--provider":(e,t)=>{e.provider=t},"--model":(e,t)=>{e.model=t},"--smol":(e,t)=>{e.smol=t},"--slow":(e,t)=>{e.slow=t},"--goal":(e,t)=>{if(!t.trim())throw new is("--goal requires a non-empty objective.");e.goal=t.trim()},"--plan":(e,t)=>{e.plan=t},"--prewalk-into":(e,t)=>{e.prewalkInto=t},"--plan-yolo-into":(e,t)=>{e.planYoloInto=t},"--max-time":(e,t)=>{e.maxTime=bfa(t)},"--warn-cost":(e,t)=>{e.warnCost=rXr("--warn-cost",t)},"--max-cost":(e,t)=>{e.maxCost=rXr("--max-cost",t)},"--service-tier":(e,t)=>{if(!kkn(t))throw new is(`Invalid --service-tier value: ${JSON.stringify(t)}. Expected one of: ${t1.join(", ")}.`);e.serviceTier=t},"--api-key":(e,t)=>{e.apiKey=t},"--system-prompt":(e,t)=>{e.systemPrompt=t},"--system-prompt-template":(e,t)=>{e.systemPromptTemplate=t},"--append-system-prompt":(e,t)=>{e.appendSystemPrompt=t},"--provider-session-id":(e,t)=>{e.providerSessionId=t},"--prompt-cache-key":(e,t)=>{e.providerPromptCacheKey=t},"--session-dir":(e,t)=>{e.sessionDir=t},"--models":(e,t)=>{e.models=t.split(",").map((n)=>n.trim())},"--tools":(e,t,n)=>{let r=n.normalizeToolNames(t.split(",").map((i)=>i.trim()).filter(Boolean));e.tools=r},"--thinking":(e,t,n)=>{let r=n.parseThinking(t);if(r===void 0){e.invalidFlagValues.push(`Invalid --thinking value: ${JSON.stringify(t)}. Expected one of: ${n.thinkingEfforts.join(", ")}.`);return}e.thinking=r},"--export":(e,t)=>{e.export=t},"--hook":(e,t)=>{e.hooks=e.hooks??[],e.hooks.push(t)},"--extension":nXr,"-e":nXr,"--trusted-extension":(e,t)=>{e.trustedExtensions=e.trustedExtensions??[],e.trustedExtensions.push(t)},"--plugin-dir":(e,t)=>{e.pluginDirs=e.pluginDirs??[],e.pluginDirs.push(t)},"--skills":(e,t)=>{e.skills=t.split(",").map((n)=>n.trim())},"--approval-mode":(e,t)=>{if(t==="always-ask"||t==="always-ask-cached"||t==="write"||t==="yolo")e.approvalMode=t;else e.invalidFlagValues.push(`Invalid --approval-mode value: ${JSON.stringify(t)}. Expected one of: always-ask, always-ask-cached, write, yolo.`)}},wae={"--resume":{set:e_t,rejectEmpty:!0},"-r":{set:e_t,rejectEmpty:!0},"--restore":{set:hfa,rejectEmpty:!0},"--session":{set:e_t,rejectEmpty:!0}},m4=new Set(Object.keys(t_t)),Sae=new Set(["--plan"]),JB=new Set(Object.keys(wae)),n_t=new Set(["--help","--version","--allow-home","--continue","--from-claude","--from-codex","--no-session","--no-tools","--no-lsp","--no-pty","--hide-thinking","--advisor","--wait-async","--external-thinking","--prewalk","--no-prewalk","--plan-yolo","--print","--print-thoughts","--no-extensions","--no-skills","--no-rules","--no-context-files","--no-title","--no-ui","--auto-approve","--yolo"]);wfa={"--resume":!0,"-r":!0,"--restore":!0,"--session":!0,"--continue":!0,"-c":!0,"--fork":!0,"--from-claude":!0,"--from-codex":!0,"--goal":!0}});var Nkn={};I(Nkn,{Args:()=>En,CliUsageError:()=>Ar,Command:()=>Tn,Flags:()=>Fe,renderCommandHelp:()=>TK,renderRootHelp:()=>lXr,run:()=>vfa});import*as aXr from"fs";import{parseArgs as Sfa}from"util";function oXr(e){if(!process.env.PI_DEBUG_STARTUP)return;try{aXr.writeSync(2,`[startup] ${e}
5
5
  `)}catch{}}class Tn{argv;config;constructor(e,t){this.argv=e,this.config=t}async parse(e){let t=e,n=t.flags??{},r=t.args??{},i=t.strict!==!1,o={};for(let[u,p]of Object.entries(n)){let f={type:p.kind==="boolean"?"boolean":"string"};if(p.char)f.short=p.char;if(p.multiple)f.multiple=!0;if(p.default!==void 0)f.default=p.kind==="boolean"?Boolean(p.default):String(p.default);o[u]=f}let{values:s,positionals:a}=(()=>{try{return Sfa({args:this.argv,options:o,allowPositionals:!0,strict:i})}catch(u){throw new Ar(u instanceof Error?u.message:String(u))}})(),l={};for(let[u,p]of Object.entries(n)){let f=s[u];if(p.kind==="integer")if(f===void 0||typeof f==="boolean")l[u]=p.default??void 0;else{let m=Number.parseInt(f,10);if(Number.isNaN(m))throw new Ar(`Expected integer for --${u}, got "${f}"`);l[u]=m}else if(p.kind==="boolean")l[u]=f!==void 0?Boolean(f):p.default!==void 0?Boolean(p.default):void 0;else{let m=f!==void 0&&typeof f!=="boolean"?f:p.default??void 0;if(m!==void 0&&p.options&&!Array.isArray(m)){if(!p.options.includes(m))throw new Ar(`Expected --${u} to be one of: ${[...p.options].join(", ")}; got "${m}"`)}l[u]=m}if(p.required&&l[u]===void 0)throw new Ar(`Missing required flag: --${u}`)}let c={},d=0;for(let[u,p]of Object.entries(r)){if(p.multiple){let m=a.slice(d);c[u]=m.length>0?m:void 0,d=a.length}else{let m=a[d];c[u]=m,d++}if(p.required&&c[u]===void 0)throw new Ar(`Missing required argument: ${u}`);let f=c[u];if(f!==void 0&&p.options&&typeof f==="string"){if(!p.options.includes(f))throw new Ar(`Expected ${u} to be one of: ${[...p.options].join(", ")}; got "${f}"`)}}return{flags:l,args:c,argv:a}}}function lXr(e){let{bin:t,version:n,commands:r}=e,i=[];i.push(`${t} v${n}
6
6
  `),i.push("USAGE"),i.push(` $ ${t} [COMMAND]
@@ -753,7 +753,7 @@ ${B.join(`
753
753
  </script>
754
754
  </body>
755
755
  </html>
756
- `;var Fwi=()=>{};var Wwi={};I(Wwi,{OAuthCallbackFlow:()=>y9,parseCallbackInput:()=>Hwi});import*as $wi from"os";function PLa(e){let t=e?.code;if(typeof t==="string")return t==="EADDRINUSE";return e instanceof Error&&/EADDRINUSE|in use/i.test(e.message)}function MLa(e){return JSON.stringify(e).replaceAll("<","\\u003c")}function OLa(){let e=$wi.networkInterfaces();for(let t in e){let n=e[t];if(!n)continue;for(let r of n)if(r.internal&&r.family==="IPv6")return!0}return!1}function NLa(e,t,n){let r,i;try{r=new URL(e),i=new URL(t)}catch{throw new St("OAuth application callback was not a valid URL",{kind:"device-auth"})}if(r.protocol!==i.protocol||r.host!==i.host||r.pathname!==i.pathname)throw new St("OAuth application returned an unexpected callback target",{kind:"device-auth"});let o=r.searchParams.get("state")??"";if(n&&o!==n)throw new St("State mismatch - possible CSRF attack",{kind:"device-auth"});let s=r.searchParams.get("error");if(s){let l=r.searchParams.get("error_description")||s;throw new St(`Authorization failed: ${l}`,{kind:"device-auth"})}let a=r.searchParams.get("code")??r.searchParams.get("authCode");if(!a)throw new St("OAuth application callback omitted the authorization code",{kind:"device-auth"});return{code:a,state:o}}class y9{ctrl;preferredPort;callbackPath;callbackHostname;redirectUri;allowPortFallback;#e;#t;#n;#r;#i;constructor(e,t,n=Uwi){if(this.ctrl=e,typeof t==="number"){this.preferredPort=t,this.callbackPath=n,this.callbackHostname=Z1n,this.allowPortFallback=!0,this.#e=!1,this.#t=!1;return}this.preferredPort=t.preferredPort,this.callbackPath=t.callbackPath??Uwi,this.callbackHostname=t.callbackHostname??Z1n,this.redirectUri=t.redirectUri,this.allowPortFallback=t.allowPortFallback??!0,this.#e=t.manualInputOnly??!1,this.#t=t.nativeScheme??!1}generateState(){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}#o(){return new qr(`OAuth callback cancelled: ${this.ctrl.signal?.reason}`)}#s(){if(this.ctrl.signal?.aborted)throw this.#o()}async login(){let e=this.generateState();this.#s();let{server:t,redirectUri:n,launchUrl:r}=this.#e?{server:void 0,redirectUri:this.#l(),launchUrl:void 0}:await this.#c(e),i=new AbortController,o,s;try{if(this.#s(),this.#t){let d=new URL(n);if(d.protocol!=="http:"&&d.protocol!=="https:")try{o=await J1n(d.protocol.slice(0,-1),{signal:this.ctrl.signal})}catch(u){this.#s(),this.#a("Native OAuth callback setup failed; paste the authorization code instead",u)}}if(this.#s(),o)s=o.waitForCallback(i.signal).then((d)=>NLa(d,n,e)),s.catch(()=>{return});let{url:a,instructions:l}=await this.generateAuthUrl(e,n);this.#s(),this.#i=a,this.ctrl.onAuth?.({url:a,launchUrl:r,instructions:l}),this.#s(),this.ctrl.onProgress?.(o||!this.#e?"Waiting for browser authentication...":"Waiting for pasted authorization code..."),this.#s();let c;try{c=await this.#g(e,s)}catch(d){throw this.#s(),d}return this.#s(),i.abort("OAuth callback received"),await s?.catch(()=>{return}),this.ctrl.onProgress?.("Exchanging authorization code for tokens..."),this.#s(),await this.exchangeToken(c.code,e,n)}finally{if(this.#i=void 0,i.abort("OAuth login finished"),await s?.catch(()=>{return}),o)try{await o.dispose()}catch(a){this.#a("Native OAuth callback cleanup failed; recovery information was retained",a)}t?.stop()}}#a(e,t){let n=t instanceof Error?t.message:String(t),r=`${e}: ${n}`;G(r,{error:t});try{this.ctrl.onProgress?.(r)}catch(i){G("OAuth progress callback failed while reporting a native callback warning",{error:i})}}#l(){return this.redirectUri??`http://${this.callbackHostname}:${this.preferredPort}${this.callbackPath}`}async#c(e){try{let t=this.#p(this.preferredPort,e),n=this.#d(t),r=this.#u(n);if(this.redirectUri)return{server:t,redirectUri:this.redirectUri,launchUrl:r};let i=`http://${this.callbackHostname}:${n}${this.callbackPath}`;return{server:t,redirectUri:i,launchUrl:r}}catch(t){if(this.redirectUri)throw new Rt(`OAuth callback port ${this.preferredPort} is in use, but oauth.redirectUri (${this.redirectUri}) requires this exact port. Free port ${this.preferredPort} (e.g. stop the process bound to it) and retry, or change oauth.redirectUri to point at an available port.`,{cause:t});if(!this.allowPortFallback)throw new Rt(`OAuth callback port ${this.preferredPort} is in use. The OAuth provider validates redirect URIs against its registered callback, so falling back to a random port would be rejected. Free port ${this.preferredPort} (e.g. stop the process bound to it) and retry, or set oauth.callbackPort/oauth.redirectUri to a port the provider has registered.`,{cause:t});let n=this.#p(0,e),r=this.#d(n),i=`http://${this.callbackHostname}:${r}${this.callbackPath}`,o=this.#u(r);return this.ctrl.onProgress?.(`Preferred port ${this.preferredPort} unavailable, using port ${r}`),{server:n,redirectUri:i,launchUrl:o}}}#d(e){let t=e.port;if(typeof t!=="number")throw new Rt("OAuth callback server bound to a non-TCP endpoint; expected a numeric port. Check `oauth.callbackPort`/`oauth.redirectUri`.");return t}#u(e){if(this.callbackPath===PLt)return;if(this.redirectUri)try{let t=new URL(this.redirectUri);if(t.protocol!=="http:"&&t.protocol!=="https:")return;if(t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"&&t.hostname!=="[::1]")return;if(t.pathname===PLt)return}catch{return}return`http://${this.callbackHostname}:${e}${PLt}`}#p(e,t){if(this.callbackHostname!==Z1n)return this.#h(this.callbackHostname,e,t);let n=OLa();for(let r=0;;r++){let i=this.#h(CLa,e,t),o=i.port;if(typeof o!=="number")return i;if(!n)return i;let s;try{s=this.#h(ILa,o,t)}catch(a){if(!PLa(a))return i;if(i.stop(!0),e!==0||r>=_La)throw a;continue}return{get port(){return i.port},stop:(a)=>(s.stop(a),i.stop(a))}}}#h(e,t,n){return Bun.serve({hostname:e,port:t,reusePort:!1,fetch:(r)=>this.#f(r,n)})}#f(e,t){let n=new URL(e.url);if(n.pathname!==this.callbackPath){if(n.pathname===PLt){let l=this.#i;if(!l)return new Response("OAuth launch URL is no longer active",{status:503});return Response.redirect(l,302)}return new Response("Not Found",{status:404})}let r=n.searchParams.get("code"),i=n.searchParams.get("state")||"",o=n.searchParams.get("error")||"",s=n.searchParams.get("error_description")||o,a;if(o)a={ok:!1,error:`Authorization failed: ${s}`};else if(!r)a={ok:!1,error:"Missing authorization code"};else if(t&&i!==t)a={ok:!1,error:"State mismatch - possible CSRF attack"};else a={ok:!0,code:r,state:i};if(a.ok){let l=this.#n;queueMicrotask(()=>{l?.({code:a.code,state:a.state})})}else if(o&&(!t||i===t)){let l=this.#r,c=a.error??`Authorization failed: ${s}`;queueMicrotask(()=>{l?.(new St(c,{kind:"device-auth"}))})}return new Response(Bwi.replaceAll("__OAUTH_STATE__",()=>MLa(a)),{status:a.ok?200:500,headers:{"Content-Type":"text/html"}})}#g(e,t){let n=AbortSignal.timeout(kLa),r=new AbortController,i=this.ctrl.signal?[this.ctrl.signal,n,r.signal]:[n,r.signal],o=AbortSignal.any(i);if(o.aborted)return Promise.reject(this.#o());let s=Promise.withResolvers();this.#n=s.resolve,this.#r=s.reject,o.addEventListener("abort",()=>{this.#n=void 0,this.#r=void 0,s.reject(new qr(`OAuth callback cancelled: ${o.reason}`))},{once:!0});let a=s.promise,l=[a];if(t)l.push(t);if(this.ctrl.onManualCodeInput){let c=this.ctrl.onManualCodeInput,d=(async()=>{while(!0){let u=await Promise.race([a,c(o).then((p)=>{let f=Hwi(p);if(!f.code)return null;if(e&&f.state&&f.state!==e)return null;return{code:f.code,state:f.state??""}})]);if(u)return u}})();l.push(d)}return Promise.race(l).finally(()=>{this.#n=void 0,this.#r=void 0,r.abort("OAuth callback settled")})}}function Hwi(e){let t=e.trim();if(!t)return{};try{let i=new URL(t);return{code:i.searchParams.get("code")??void 0,state:i.searchParams.get("state")??void 0}}catch{}if(t.includes("code=")){let i=new URLSearchParams(t.replace(/^[?#]/,""));return{code:i.get("code")??void 0,state:i.get("state")??void 0}}let[n,r]=t.split("#",2);return{code:n,state:r}}var kLa=300000,Z1n="localhost",Uwi="/callback",CLa="127.0.0.1",ILa="::1",_La=4,PLt="/launch";var DKe=A(()=>{j();vt();Q1n();Fwi()});var Vwi={};I(Vwi,{loginSnowflake:()=>zwi,refreshSnowflakeToken:()=>qwi});function LLa(){let e=Gh("snowflake")?.callbackPort;if(e===void 0)throw Error("Snowflake auth policy is missing callback-port");return e}async function jwi(e,t,n){if(n?.throwIfAborted(),!e.ok)throw new St(`Snowflake token ${t==="token-exchange"?"exchange":"refresh"} failed (${e.status})`,{kind:t,provider:"snowflake",status:e.status});let r;try{r=await e.json()}catch(o){if(n?.throwIfAborted(),o instanceof Error&&o.name==="AbortError")throw o;throw new St("Snowflake returned an invalid token response",{kind:"validation",provider:"snowflake"})}if(n?.throwIfAborted(),!U(r)||typeof r.access_token!=="string"||!r.access_token.trim()||typeof r.expires_in!=="number"||!Number.isFinite(r.expires_in)||r.expires_in<=0||r.refresh_token!==void 0&&(typeof r.refresh_token!=="string"||!r.refresh_token.trim()))throw new St("Snowflake returned an invalid token response",{kind:"validation",provider:"snowflake"});let i=r.expires_in*1000;if(!Number.isFinite(i)||i<=0)throw new St("Snowflake returned an invalid token lifetime",{kind:"validation",provider:"snowflake"});return{access:r.access_token,refresh:r.refresh_token,expires:Date.now()+i}}async function zwi(e){if(!e.onPrompt)throw new zm("Snowflake");if(e.signal?.aborted)throw new qr;let t=await e.onPrompt({message:"Enter your Snowflake account identifier or URL",placeholder:"myorg-myaccount"});if(e.signal?.aborted)throw new qr;let n=LKe(t);return new Gwi(e,n).login()}async function qwi(e,t){if(!e.refresh.trim()){if(Date.now()<e.expires)return e;throw new St("Snowflake did not issue a refresh token; run /login snowflake again or use SNOWFLAKE_ACCOUNT and SNOWFLAKE_PAT",{kind:"token-refresh",provider:"snowflake"})}let n;try{n=LKe(e.enterpriseUrl??"")}catch{throw new St("Invalid Snowflake account; run /login snowflake again",{kind:"validation",provider:"snowflake"})}let r=await fetch(`${n}/oauth/token-request`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refresh,client_id:eLn}),signal:t,redirect:"error"}),i=await jwi(r,"token-refresh",t);return{...e,...i,refresh:i.refresh??e.refresh}}var eLn="LOCAL_APPLICATION",Gwi;var MLt=A(()=>{GP();j();vt();Y1n();DKe();Gwi=class Gwi extends y9{#e;#t="";constructor(e,t){super(e,{preferredPort:LLa(),callbackPath:"/",callbackHostname:"127.0.0.1"});this.#e=t}async generateAuthUrl(e,t){let{verifier:n,challenge:r}=await Hce();this.#t=n;let i=new URLSearchParams({client_id:eLn,response_type:"code",redirect_uri:t,scope:"refresh_token",state:e,code_challenge:r,code_challenge_method:"S256"});return{url:`${this.#e}/oauth/authorize?${i.toString()}`,instructions:"Sign in to Snowflake in your browser and approve access for omp."}}async exchangeToken(e,t,n){let r=this.ctrl.signal,i=this.ctrl.fetch??fetch,o;try{let s=await i(`${this.#e}/oauth/token-request`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:e,redirect_uri:n,code_verifier:this.#t,client_id:eLn}),signal:r,redirect:"error"});o=await jwi(s,"token-exchange",r)}catch(s){if(r?.aborted)throw new qr;throw s}return{...o,refresh:o.refresh??"",enterpriseUrl:this.#e}}}});var Kwi,Ywi;var Jwi=A(()=>{Kwi={"github-copilot":()=>Promise.resolve().then(() => (m1t(),{})).then((e)=>Rmi),cursor:()=>Promise.resolve().then(() => (PKe(),{})).then((e)=>vwi),perplexity:()=>Promise.resolve().then(() => (q1n(),{})).then((e)=>Owi),snowflake:()=>Promise.resolve().then(() => (MLt(),{})).then((e)=>zwi)},Ywi={"github-copilot":()=>Promise.resolve().then(() => (m1t(),{})).then((e)=>Ami),cursor:()=>Promise.resolve().then(() => (PKe(),{})).then((e)=>Ewi),snowflake:()=>Promise.resolve().then(() => (MLt(),{})).then((e)=>qwi)}});var tLn;var Xwi=A(()=>{tLn={name:"@oh-my-pi-zen/pi-ai",version:"18.13.3-zen.3",description:"Unified LLM API with automatic model discovery and provider configuration",keywords:["ai","anthropic","api","gemini","llm","openai","unified"],homepage:"https://omp.sh",bugs:{url:"https://github.com/can1357/oh-my-pi/issues"},license:"MIT",author:{name:"Stencil Labs, Inc.",url:"https://stencil.so"},contributors:["Mario Zechner"],repository:{type:"git",url:"git+https://github.com/cagedbird-org/oh-my-pi-zen.git",directory:"packages/ai"},files:["src","README.md","CHANGELOG.md","LICENSE","THIRD-PARTY-NOTICES.txt","dist/types"],type:"module",main:"./src/index.ts",types:"./dist/types/index.d.ts",exports:{".":{types:"./dist/types/index.d.ts",import:"./src/index.ts"},"./error":{types:"./dist/types/error/index.d.ts",import:"./src/error/index.ts"},"./embeddings":{types:"./dist/types/embeddings/index.d.ts",import:"./src/embeddings/index.ts"},"./judgment":{types:"./dist/types/judgment/index.d.ts",import:"./src/judgment/index.ts"},"./rerank":{types:"./dist/types/rerank/index.d.ts",import:"./src/rerank/index.ts"},"./speech":{types:"./dist/types/speech/index.d.ts",import:"./src/speech/index.ts"},"./images":{types:"./dist/types/images/index.d.ts",import:"./src/images/index.ts"},"./transcription":{types:"./dist/types/transcription/index.d.ts",import:"./src/transcription/index.ts"},"./video":{types:"./dist/types/video/index.d.ts",import:"./src/video/index.ts"},"./*":{types:"./dist/types/*.d.ts",import:"./src/*.ts"},"./auth-broker":{types:"./dist/types/auth-broker/index.d.ts",import:"./src/auth-broker/index.ts"},"./auth-broker/*":{types:"./dist/types/auth-broker/*.d.ts",import:"./src/auth-broker/*.ts"},"./auth-gateway":{types:"./dist/types/auth-gateway/index.d.ts",import:"./src/auth-gateway/index.ts"},"./auth-gateway/*":{types:"./dist/types/auth-gateway/*.d.ts",import:"./src/auth-gateway/*.ts"},"./providers/*":{types:"./dist/types/providers/*.d.ts",import:"./src/providers/*.ts"},"./providers/openai-codex/*":{types:"./dist/types/providers/openai-codex/*.d.ts",import:"./src/providers/openai-codex/*.ts"},"./usage/*":{types:"./dist/types/usage/*.d.ts",import:"./src/usage/*.ts"},"./utils/harmony-leak":{types:"./dist/types/utils/harmony-leak.d.ts",import:"./src/utils/harmony-leak.ts"},"./dialect":{types:"./dist/types/dialect/index.d.ts",import:"./src/dialect/index.ts"},"./utils/*":{types:"./dist/types/utils/*.d.ts",import:"./src/utils/*.ts"},"./oauth":{types:"./dist/types/registry/oauth/index.d.ts",import:"./src/registry/oauth/index.ts"},"./oauth/*":{types:"./dist/types/registry/oauth/*.d.ts",import:"./src/registry/oauth/*.ts"},"./registry":{types:"./dist/types/registry/index.d.ts",import:"./src/registry/index.ts"},"./registry/oauth":{types:"./dist/types/registry/oauth/index.d.ts",import:"./src/registry/oauth/index.ts"},"./utils/schema":{types:"./dist/types/utils/schema/index.d.ts",import:"./src/utils/schema/index.ts"},"./utils/schema/*":{types:"./dist/types/utils/schema/*.d.ts",import:"./src/utils/schema/*.ts"},"./*.js":"./src/*.ts"},scripts:{check:"oxlint . && oxfmt --check --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit",lint:"oxlint .",test:"bun test --parallel",fix:"oxlint --fix --fix-suggestions . && bun run fmt",fmt:"oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts'"},dependencies:{"@oh-my-pi-zen/omptype":"18.13.3-zen.3","@oh-my-pi-zen/pi-catalog":"18.13.3-zen.3","@oh-my-pi-zen/pi-natives":"18.13.3-zen.3","@oh-my-pi-zen/pi-utils":"18.13.3-zen.3","@oh-my-pi-zen/pi-wire":"18.13.3-zen.3"},devDependencies:{"@types/bun":"^1.3.14"},engines:{bun:">=1.4.4"}}});var Zwi={};I(Zwi,{getKimiCommonHeaders:()=>b9});import*as Qwi from"crypto";import*as R0e from"fs";import*as KU from"os";import*as NLt from"path";function nLn(e,t,n){return[e,t,n].filter(Boolean).join(" ").trim()}function BLa(){let e=KU.platform(),t=KU.release(),n=KU.arch();if(e==="darwin")return nLn("macOS",t,n);if(e==="win32")return nLn("Windows",t,n);return nLn(e==="linux"?"Linux":e,t,n)}function OLt(e,t=""){return e.replace(/[^\x20-\x7E]/g,"").trim()||t}var FLa="kimi-device-id",rLn=()=>{let e=NLt.join(vn(),FLa);try{let n=R0e.readFileSync(e,"utf-8").trim();if(n)return rLn=()=>n,n}catch{}let t=Qwi.randomUUID().replace(/-/g,"");try{R0e.mkdirSync(NLt.dirname(e),{recursive:!0}),R0e.writeFileSync(e,`${t}
756
+ `;var Fwi=()=>{};var Wwi={};I(Wwi,{OAuthCallbackFlow:()=>y9,parseCallbackInput:()=>Hwi});import*as $wi from"os";function PLa(e){let t=e?.code;if(typeof t==="string")return t==="EADDRINUSE";return e instanceof Error&&/EADDRINUSE|in use/i.test(e.message)}function MLa(e){return JSON.stringify(e).replaceAll("<","\\u003c")}function OLa(){let e=$wi.networkInterfaces();for(let t in e){let n=e[t];if(!n)continue;for(let r of n)if(r.internal&&r.family==="IPv6")return!0}return!1}function NLa(e,t,n){let r,i;try{r=new URL(e),i=new URL(t)}catch{throw new St("OAuth application callback was not a valid URL",{kind:"device-auth"})}if(r.protocol!==i.protocol||r.host!==i.host||r.pathname!==i.pathname)throw new St("OAuth application returned an unexpected callback target",{kind:"device-auth"});let o=r.searchParams.get("state")??"";if(n&&o!==n)throw new St("State mismatch - possible CSRF attack",{kind:"device-auth"});let s=r.searchParams.get("error");if(s){let l=r.searchParams.get("error_description")||s;throw new St(`Authorization failed: ${l}`,{kind:"device-auth"})}let a=r.searchParams.get("code")??r.searchParams.get("authCode");if(!a)throw new St("OAuth application callback omitted the authorization code",{kind:"device-auth"});return{code:a,state:o}}class y9{ctrl;preferredPort;callbackPath;callbackHostname;redirectUri;allowPortFallback;#e;#t;#n;#r;#i;constructor(e,t,n=Uwi){if(this.ctrl=e,typeof t==="number"){this.preferredPort=t,this.callbackPath=n,this.callbackHostname=Z1n,this.allowPortFallback=!0,this.#e=!1,this.#t=!1;return}this.preferredPort=t.preferredPort,this.callbackPath=t.callbackPath??Uwi,this.callbackHostname=t.callbackHostname??Z1n,this.redirectUri=t.redirectUri,this.allowPortFallback=t.allowPortFallback??!0,this.#e=t.manualInputOnly??!1,this.#t=t.nativeScheme??!1}generateState(){let e=new Uint8Array(16);return crypto.getRandomValues(e),Array.from(e).map((t)=>t.toString(16).padStart(2,"0")).join("")}#o(){return new qr(`OAuth callback cancelled: ${this.ctrl.signal?.reason}`)}#s(){if(this.ctrl.signal?.aborted)throw this.#o()}async login(){let e=this.generateState();this.#s();let{server:t,redirectUri:n,launchUrl:r}=this.#e?{server:void 0,redirectUri:this.#l(),launchUrl:void 0}:await this.#c(e),i=new AbortController,o,s;try{if(this.#s(),this.#t){let d=new URL(n);if(d.protocol!=="http:"&&d.protocol!=="https:")try{o=await J1n(d.protocol.slice(0,-1),{signal:this.ctrl.signal})}catch(u){this.#s(),this.#a("Native OAuth callback setup failed; paste the authorization code instead",u)}}if(this.#s(),o)s=o.waitForCallback(i.signal).then((d)=>NLa(d,n,e)),s.catch(()=>{return});let{url:a,instructions:l}=await this.generateAuthUrl(e,n);this.#s(),this.#i=a,this.ctrl.onAuth?.({url:a,launchUrl:r,instructions:l}),this.#s(),this.ctrl.onProgress?.(o||!this.#e?"Waiting for browser authentication...":"Waiting for pasted authorization code..."),this.#s();let c;try{c=await this.#g(e,s)}catch(d){throw this.#s(),d}return this.#s(),i.abort("OAuth callback received"),await s?.catch(()=>{return}),this.ctrl.onProgress?.("Exchanging authorization code for tokens..."),this.#s(),await this.exchangeToken(c.code,e,n)}finally{if(this.#i=void 0,i.abort("OAuth login finished"),await s?.catch(()=>{return}),o)try{await o.dispose()}catch(a){this.#a("Native OAuth callback cleanup failed; recovery information was retained",a)}t?.stop()}}#a(e,t){let n=t instanceof Error?t.message:String(t),r=`${e}: ${n}`;G(r,{error:t});try{this.ctrl.onProgress?.(r)}catch(i){G("OAuth progress callback failed while reporting a native callback warning",{error:i})}}#l(){return this.redirectUri??`http://${this.callbackHostname}:${this.preferredPort}${this.callbackPath}`}async#c(e){try{let t=this.#p(this.preferredPort,e),n=this.#d(t),r=this.#u(n);if(this.redirectUri)return{server:t,redirectUri:this.redirectUri,launchUrl:r};let i=`http://${this.callbackHostname}:${n}${this.callbackPath}`;return{server:t,redirectUri:i,launchUrl:r}}catch(t){if(this.redirectUri)throw new Rt(`OAuth callback port ${this.preferredPort} is in use, but oauth.redirectUri (${this.redirectUri}) requires this exact port. Free port ${this.preferredPort} (e.g. stop the process bound to it) and retry, or change oauth.redirectUri to point at an available port.`,{cause:t});if(!this.allowPortFallback)throw new Rt(`OAuth callback port ${this.preferredPort} is in use. The OAuth provider validates redirect URIs against its registered callback, so falling back to a random port would be rejected. Free port ${this.preferredPort} (e.g. stop the process bound to it) and retry, or set oauth.callbackPort/oauth.redirectUri to a port the provider has registered.`,{cause:t});let n=this.#p(0,e),r=this.#d(n),i=`http://${this.callbackHostname}:${r}${this.callbackPath}`,o=this.#u(r);return this.ctrl.onProgress?.(`Preferred port ${this.preferredPort} unavailable, using port ${r}`),{server:n,redirectUri:i,launchUrl:o}}}#d(e){let t=e.port;if(typeof t!=="number")throw new Rt("OAuth callback server bound to a non-TCP endpoint; expected a numeric port. Check `oauth.callbackPort`/`oauth.redirectUri`.");return t}#u(e){if(this.callbackPath===PLt)return;if(this.redirectUri)try{let t=new URL(this.redirectUri);if(t.protocol!=="http:"&&t.protocol!=="https:")return;if(t.hostname!=="localhost"&&t.hostname!=="127.0.0.1"&&t.hostname!=="[::1]")return;if(t.pathname===PLt)return}catch{return}return`http://${this.callbackHostname}:${e}${PLt}`}#p(e,t){if(this.callbackHostname!==Z1n)return this.#h(this.callbackHostname,e,t);let n=OLa();for(let r=0;;r++){let i=this.#h(CLa,e,t),o=i.port;if(typeof o!=="number")return i;if(!n)return i;let s;try{s=this.#h(ILa,o,t)}catch(a){if(!PLa(a))return i;if(i.stop(!0),e!==0||r>=_La)throw a;continue}return{get port(){return i.port},stop:(a)=>(s.stop(a),i.stop(a))}}}#h(e,t,n){return Bun.serve({hostname:e,port:t,reusePort:!1,fetch:(r)=>this.#f(r,n)})}#f(e,t){let n=new URL(e.url);if(n.pathname!==this.callbackPath){if(n.pathname===PLt){let l=this.#i;if(!l)return new Response("OAuth launch URL is no longer active",{status:503});return Response.redirect(l,302)}return new Response("Not Found",{status:404})}let r=n.searchParams.get("code"),i=n.searchParams.get("state")||"",o=n.searchParams.get("error")||"",s=n.searchParams.get("error_description")||o,a;if(o)a={ok:!1,error:`Authorization failed: ${s}`};else if(!r)a={ok:!1,error:"Missing authorization code"};else if(t&&i!==t)a={ok:!1,error:"State mismatch - possible CSRF attack"};else a={ok:!0,code:r,state:i};if(a.ok){let l=this.#n;queueMicrotask(()=>{l?.({code:a.code,state:a.state})})}else if(o&&(!t||i===t)){let l=this.#r,c=a.error??`Authorization failed: ${s}`;queueMicrotask(()=>{l?.(new St(c,{kind:"device-auth"}))})}return new Response(Bwi.replaceAll("__OAUTH_STATE__",()=>MLa(a)),{status:a.ok?200:500,headers:{"Content-Type":"text/html"}})}#g(e,t){let n=AbortSignal.timeout(kLa),r=new AbortController,i=this.ctrl.signal?[this.ctrl.signal,n,r.signal]:[n,r.signal],o=AbortSignal.any(i);if(o.aborted)return Promise.reject(this.#o());let s=Promise.withResolvers();this.#n=s.resolve,this.#r=s.reject,o.addEventListener("abort",()=>{this.#n=void 0,this.#r=void 0,s.reject(new qr(`OAuth callback cancelled: ${o.reason}`))},{once:!0});let a=s.promise,l=[a];if(t)l.push(t);if(this.ctrl.onManualCodeInput){let c=this.ctrl.onManualCodeInput,d=(async()=>{while(!0){let u=await Promise.race([a,c(o).then((p)=>{let f=Hwi(p);if(!f.code)return null;if(e&&f.state&&f.state!==e)return null;return{code:f.code,state:f.state??""}})]);if(u)return u}})();l.push(d)}return Promise.race(l).finally(()=>{this.#n=void 0,this.#r=void 0,r.abort("OAuth callback settled")})}}function Hwi(e){let t=e.trim();if(!t)return{};try{let i=new URL(t);return{code:i.searchParams.get("code")??void 0,state:i.searchParams.get("state")??void 0}}catch{}if(t.includes("code=")){let i=new URLSearchParams(t.replace(/^[?#]/,""));return{code:i.get("code")??void 0,state:i.get("state")??void 0}}let[n,r]=t.split("#",2);return{code:n,state:r}}var kLa=300000,Z1n="localhost",Uwi="/callback",CLa="127.0.0.1",ILa="::1",_La=4,PLt="/launch";var DKe=A(()=>{j();vt();Q1n();Fwi()});var Vwi={};I(Vwi,{loginSnowflake:()=>zwi,refreshSnowflakeToken:()=>qwi});function LLa(){let e=Gh("snowflake")?.callbackPort;if(e===void 0)throw Error("Snowflake auth policy is missing callback-port");return e}async function jwi(e,t,n){if(n?.throwIfAborted(),!e.ok)throw new St(`Snowflake token ${t==="token-exchange"?"exchange":"refresh"} failed (${e.status})`,{kind:t,provider:"snowflake",status:e.status});let r;try{r=await e.json()}catch(o){if(n?.throwIfAborted(),o instanceof Error&&o.name==="AbortError")throw o;throw new St("Snowflake returned an invalid token response",{kind:"validation",provider:"snowflake"})}if(n?.throwIfAborted(),!U(r)||typeof r.access_token!=="string"||!r.access_token.trim()||typeof r.expires_in!=="number"||!Number.isFinite(r.expires_in)||r.expires_in<=0||r.refresh_token!==void 0&&(typeof r.refresh_token!=="string"||!r.refresh_token.trim()))throw new St("Snowflake returned an invalid token response",{kind:"validation",provider:"snowflake"});let i=r.expires_in*1000;if(!Number.isFinite(i)||i<=0)throw new St("Snowflake returned an invalid token lifetime",{kind:"validation",provider:"snowflake"});return{access:r.access_token,refresh:r.refresh_token,expires:Date.now()+i}}async function zwi(e){if(!e.onPrompt)throw new zm("Snowflake");if(e.signal?.aborted)throw new qr;let t=await e.onPrompt({message:"Enter your Snowflake account identifier or URL",placeholder:"myorg-myaccount"});if(e.signal?.aborted)throw new qr;let n=LKe(t);return new Gwi(e,n).login()}async function qwi(e,t){if(!e.refresh.trim()){if(Date.now()<e.expires)return e;throw new St("Snowflake did not issue a refresh token; run /login snowflake again or use SNOWFLAKE_ACCOUNT and SNOWFLAKE_PAT",{kind:"token-refresh",provider:"snowflake"})}let n;try{n=LKe(e.enterpriseUrl??"")}catch{throw new St("Invalid Snowflake account; run /login snowflake again",{kind:"validation",provider:"snowflake"})}let r=await fetch(`${n}/oauth/token-request`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:e.refresh,client_id:eLn}),signal:t,redirect:"error"}),i=await jwi(r,"token-refresh",t);return{...e,...i,refresh:i.refresh??e.refresh}}var eLn="LOCAL_APPLICATION",Gwi;var MLt=A(()=>{GP();j();vt();Y1n();DKe();Gwi=class Gwi extends y9{#e;#t="";constructor(e,t){super(e,{preferredPort:LLa(),callbackPath:"/",callbackHostname:"127.0.0.1"});this.#e=t}async generateAuthUrl(e,t){let{verifier:n,challenge:r}=await Hce();this.#t=n;let i=new URLSearchParams({client_id:eLn,response_type:"code",redirect_uri:t,scope:"refresh_token",state:e,code_challenge:r,code_challenge_method:"S256"});return{url:`${this.#e}/oauth/authorize?${i.toString()}`,instructions:"Sign in to Snowflake in your browser and approve access for omp."}}async exchangeToken(e,t,n){let r=this.ctrl.signal,i=this.ctrl.fetch??fetch,o;try{let s=await i(`${this.#e}/oauth/token-request`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"authorization_code",code:e,redirect_uri:n,code_verifier:this.#t,client_id:eLn}),signal:r,redirect:"error"});o=await jwi(s,"token-exchange",r)}catch(s){if(r?.aborted)throw new qr;throw s}return{...o,refresh:o.refresh??"",enterpriseUrl:this.#e}}}});var Kwi,Ywi;var Jwi=A(()=>{Kwi={"github-copilot":()=>Promise.resolve().then(() => (m1t(),{})).then((e)=>Rmi),cursor:()=>Promise.resolve().then(() => (PKe(),{})).then((e)=>vwi),perplexity:()=>Promise.resolve().then(() => (q1n(),{})).then((e)=>Owi),snowflake:()=>Promise.resolve().then(() => (MLt(),{})).then((e)=>zwi)},Ywi={"github-copilot":()=>Promise.resolve().then(() => (m1t(),{})).then((e)=>Ami),cursor:()=>Promise.resolve().then(() => (PKe(),{})).then((e)=>Ewi),snowflake:()=>Promise.resolve().then(() => (MLt(),{})).then((e)=>qwi)}});var tLn;var Xwi=A(()=>{tLn={name:"@oh-my-pi-zen/pi-ai",version:"18.13.3-zen.5",description:"Unified LLM API with automatic model discovery and provider configuration",keywords:["ai","anthropic","api","gemini","llm","openai","unified"],homepage:"https://omp.sh",bugs:{url:"https://github.com/can1357/oh-my-pi/issues"},license:"MIT",author:{name:"Stencil Labs, Inc.",url:"https://stencil.so"},contributors:["Mario Zechner"],repository:{type:"git",url:"git+https://github.com/cagedbird-org/oh-my-pi-zen.git",directory:"packages/ai"},files:["src","README.md","CHANGELOG.md","LICENSE","THIRD-PARTY-NOTICES.txt","dist/types"],type:"module",main:"./src/index.ts",types:"./dist/types/index.d.ts",exports:{".":{types:"./dist/types/index.d.ts",import:"./src/index.ts"},"./error":{types:"./dist/types/error/index.d.ts",import:"./src/error/index.ts"},"./embeddings":{types:"./dist/types/embeddings/index.d.ts",import:"./src/embeddings/index.ts"},"./judgment":{types:"./dist/types/judgment/index.d.ts",import:"./src/judgment/index.ts"},"./rerank":{types:"./dist/types/rerank/index.d.ts",import:"./src/rerank/index.ts"},"./speech":{types:"./dist/types/speech/index.d.ts",import:"./src/speech/index.ts"},"./images":{types:"./dist/types/images/index.d.ts",import:"./src/images/index.ts"},"./transcription":{types:"./dist/types/transcription/index.d.ts",import:"./src/transcription/index.ts"},"./video":{types:"./dist/types/video/index.d.ts",import:"./src/video/index.ts"},"./*":{types:"./dist/types/*.d.ts",import:"./src/*.ts"},"./auth-broker":{types:"./dist/types/auth-broker/index.d.ts",import:"./src/auth-broker/index.ts"},"./auth-broker/*":{types:"./dist/types/auth-broker/*.d.ts",import:"./src/auth-broker/*.ts"},"./auth-gateway":{types:"./dist/types/auth-gateway/index.d.ts",import:"./src/auth-gateway/index.ts"},"./auth-gateway/*":{types:"./dist/types/auth-gateway/*.d.ts",import:"./src/auth-gateway/*.ts"},"./providers/*":{types:"./dist/types/providers/*.d.ts",import:"./src/providers/*.ts"},"./providers/openai-codex/*":{types:"./dist/types/providers/openai-codex/*.d.ts",import:"./src/providers/openai-codex/*.ts"},"./usage/*":{types:"./dist/types/usage/*.d.ts",import:"./src/usage/*.ts"},"./utils/harmony-leak":{types:"./dist/types/utils/harmony-leak.d.ts",import:"./src/utils/harmony-leak.ts"},"./dialect":{types:"./dist/types/dialect/index.d.ts",import:"./src/dialect/index.ts"},"./utils/*":{types:"./dist/types/utils/*.d.ts",import:"./src/utils/*.ts"},"./oauth":{types:"./dist/types/registry/oauth/index.d.ts",import:"./src/registry/oauth/index.ts"},"./oauth/*":{types:"./dist/types/registry/oauth/*.d.ts",import:"./src/registry/oauth/*.ts"},"./registry":{types:"./dist/types/registry/index.d.ts",import:"./src/registry/index.ts"},"./registry/oauth":{types:"./dist/types/registry/oauth/index.d.ts",import:"./src/registry/oauth/index.ts"},"./utils/schema":{types:"./dist/types/utils/schema/index.d.ts",import:"./src/utils/schema/index.ts"},"./utils/schema/*":{types:"./dist/types/utils/schema/*.d.ts",import:"./src/utils/schema/*.ts"},"./*.js":"./src/*.ts"},scripts:{check:"oxlint . && oxfmt --check --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit",lint:"oxlint .",test:"bun test --parallel",fix:"oxlint --fix --fix-suggestions . && bun run fmt",fmt:"oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts'"},dependencies:{"@oh-my-pi-zen/omptype":"18.13.3-zen.5","@oh-my-pi-zen/pi-catalog":"18.13.3-zen.5","@oh-my-pi-zen/pi-natives":"18.13.3-zen.5","@oh-my-pi-zen/pi-utils":"18.13.3-zen.5","@oh-my-pi-zen/pi-wire":"18.13.3-zen.5"},devDependencies:{"@types/bun":"^1.3.14"},engines:{bun:">=1.4.4"}}});var Zwi={};I(Zwi,{getKimiCommonHeaders:()=>b9});import*as Qwi from"crypto";import*as R0e from"fs";import*as KU from"os";import*as NLt from"path";function nLn(e,t,n){return[e,t,n].filter(Boolean).join(" ").trim()}function BLa(){let e=KU.platform(),t=KU.release(),n=KU.arch();if(e==="darwin")return nLn("macOS",t,n);if(e==="win32")return nLn("Windows",t,n);return nLn(e==="linux"?"Linux":e,t,n)}function OLt(e,t=""){return e.replace(/[^\x20-\x7E]/g,"").trim()||t}var FLa="kimi-device-id",rLn=()=>{let e=NLt.join(vn(),FLa);try{let n=R0e.readFileSync(e,"utf-8").trim();if(n)return rLn=()=>n,n}catch{}let t=Qwi.randomUUID().replace(/-/g,"");try{R0e.mkdirSync(NLt.dirname(e),{recursive:!0}),R0e.writeFileSync(e,`${t}
757
757
  `,{mode:384})}catch{}return rLn=()=>t,t},b9;var x0e=A(()=>{j();Xwi();b9=ww(()=>Object.freeze({"User-Agent":`KimiCLI/${tLn.version}`,"X-Msh-Platform":"kimi_cli","X-Msh-Version":tLn.version,"X-Msh-Device-Name":OLt(KU.hostname(),"unknown"),"X-Msh-Device-Model":OLt(BLa(),"unknown"),"X-Msh-Os-Version":OLt(KU.version(),"unknown"),"X-Msh-Device-Id":OLt(rLn(),"unknown")}))});var rSi={};I(rSi,{buildXAICliBillingUrl:()=>DLt,extractXAIAccessTokenSubject:()=>sLn,fetchXAIOAuthIdentity:()=>aLn,getXAICliBillingHeaders:()=>lLn,getXAITokenEndpoint:()=>nSi,isXAIAccessTokenExpiring:()=>VLa,parseXAIAccessTokenPayload:()=>FKe,validateXAIBillingEndpoint:()=>tSi,validateXAIEndpoint:()=>oLn});function iLn(e){return typeof e==="object"&&e!==null}function GLa(e){return e==="x.ai"||e.endsWith(".x.ai")}function zLa(e){return e==="grok.com"||e.endsWith(".grok.com")}function oLn(e,t){let n;try{n=new URL(e)}catch{throw new St(`Invalid xAI ${t}: ${e}`,{kind:"validation",provider:"xai"})}if(n.protocol!=="https:")throw new St(`Invalid xAI ${t}: ${e}`,{kind:"validation",provider:"xai"});let r=n.hostname.toLowerCase();if(!r||!GLa(r))throw new St(`Invalid xAI ${t}: ${e}`,{kind:"validation",provider:"xai"});return e}function tSi(e,t="billing_url"){let n;try{n=new URL(e)}catch{throw new St(`Invalid xAI ${t}: ${e}`,{kind:"validation",provider:"xai"})}if(n.protocol!=="https:")throw new St(`Invalid xAI ${t}: ${e}`,{kind:"validation",provider:"xai"});let r=n.hostname.toLowerCase();if(!r||!zLa(r))throw new St(`Invalid xAI ${t}: ${e}`,{kind:"validation",provider:"xai"});return e}async function qLa(e=LLt,t,n){let r=t??fetch,i;try{i=await r(ULa,{method:"GET",headers:{Accept:"application/json"},signal:n?AbortSignal.any([n,AbortSignal.timeout(e)]):AbortSignal.timeout(e)})}catch(a){throw new St(`xAI OIDC discovery failed: ${a instanceof Error?a.message:String(a)}`,{kind:"discovery",provider:"xai",cause:a})}if(i.status!==200)throw new St(`xAI OIDC discovery returned status ${i.status}.`,{kind:"discovery",provider:"xai",status:i.status});let o;try{o=await i.json()}catch(a){throw new St(`xAI OIDC discovery returned invalid JSON: ${a instanceof Error?a.message:String(a)}`,{kind:"validation",provider:"xai",cause:a})}if(!iLn(o))throw new St("xAI OIDC discovery response was not a JSON object.",{kind:"validation",provider:"xai"});let s=typeof o.token_endpoint==="string"?o.token_endpoint.trim():"";if(!s)throw new St("xAI OIDC discovery response was missing token_endpoint.",{kind:"validation",provider:"xai"});return oLn(s,"token_endpoint"),{token_endpoint:s}}async function nSi(e){let t=await qLa(LLt,void 0,e);return oLn(t.token_endpoint,"token_endpoint")}function FKe(e){try{if(typeof e!=="string"||!e.includes("."))return null;let t=e.split(".");if(t.length<2)return null;let n=t[1];if(!n)return null;let r=Buffer.from(n,"base64url").toString("utf8"),i=JSON.parse(r);return iLn(i)&&!Array.isArray(i)?i:null}catch{return null}}function VLa(e,t=0){let n=FKe(e);if(!n)return!1;let r=n.exp;if(typeof r!=="number"||!Number.isFinite(r))return!1;let i=Math.floor(Date.now()/1000),o=Math.max(0,Math.floor(t));return r<=i+o}function sLn(e){let t=FKe(e)?.sub;return typeof t==="string"&&t.trim()?t.trim():void 0}async function aLn(e,t,n){let r=e.trim();if(!r)return null;let i=t??fetch;try{let o=await i($La,{method:"GET",headers:{Authorization:`Bearer ${r}`,Accept:"application/json"},redirect:"error",signal:n?AbortSignal.any([n,AbortSignal.timeout(LLt)]):AbortSignal.timeout(LLt)});if(!o.ok)return null;let s=await o.json();if(!iLn(s)||Array.isArray(s))return null;let a=typeof s.sub==="string"&&s.sub.trim()?s.sub.trim():void 0,l=typeof s.email==="string"&&s.email.trim()?s.email.trim():void 0,c=typeof s.name==="string"&&s.name.trim()?s.name.trim():void 0;if(!a&&!l&&!c)return null;return{...a?{accountId:a}:{},...l?{email:l.toLowerCase()}:{},...c?{name:c}:{}}}catch{return null}}function DLt(e=jLa){let t=new URL(WLa,HLa);if(e)t.searchParams.set("format",e);return tSi(t.toString())}function lLn(e){return{Authorization:`Bearer ${e.accessToken}`,Accept:"application/json","X-XAI-Token-Auth":"xai-grok-cli"}}var eSi="https://auth.x.ai",ULa,$La,HLa="https://cli-chat-proxy.grok.com",WLa="/v1/billing",jLa="credits",LLt=15000;var BKe=A(()=>{vt();ULa=`${eSi}/.well-known/openid-configuration`,$La=`${eSi}/oauth2/userinfo`});var sSi={};I(sSi,{attachMuseCodeApiKey:()=>oSi,parseMuseCodeCredential:()=>w9,requestMuseCodeKey:()=>FLt});function eDa(e){let t=AbortSignal.timeout(JLa);return e?AbortSignal.any([e,t]):t}function w9(e){let t;try{t=JSON.parse(e)}catch(r){throw new Rt("Muse Code credential is invalid; sign in again",{cause:r})}let n=ZLa(t);if(n instanceof z.errors||!n.oauthAccessToken.trim()||!n.apiKey.trim())throw new Rt("Muse Code credential is invalid; sign in again");return n}function tDa(e,t){return JSON.stringify({oauthAccessToken:e,apiKey:t})}async function FLt(e,t={}){let n=await(t.fetch??fetch)(KLa,{method:"POST",headers:{Accept:"application/json",Authorization:`Bearer ${e}`,"Content-Type":"application/json","x-api-version":YLa},body:JSON.stringify(t.onboard?{onboard:!0}:{}),redirect:"error",signal:eDa(t.signal)}),r=await n.text();if(!n.ok){let s=r.trim()?` ${r.slice(0,500).trim()}`:"";throw new St(`Muse Code key exchange failed: ${n.status}${s}`,{kind:"token-exchange",provider:Wce,status:n.status})}let i;try{i=JSON.parse(r)}catch(s){throw new St("Muse Code key exchange returned invalid JSON",{kind:"validation",provider:Wce,status:n.status,cause:s})}let o=QLa(i);if(o instanceof z.errors)throw new St(`Invalid Muse Code key response: ${o.summary}`,{kind:"validation",provider:Wce});return o}var Wce="muse-code",KLa="https://api.meta.ai/muse-code/key",YLa="1.0.0",JLa=20000,iSi,XLa,QLa,ZLa,oSi=async(e,t)=>{try{if(w9(e.access).apiKey.trim())return e}catch{}let n=await FLt(e.access,{fetch:t.fetch,signal:t.signal,onboard:!0});if(n.is_subs_active===!1)throw new St("invalid_grant: Muse Code subscription is inactive",{kind:"token-exchange",provider:Wce,status:403});let r=n.api_key?.trim()||"";if(!r){let s=n.action_url?.trim()||n.require_payment_action_url?.trim();if(n.require_payment===!0||s)throw new St(s?`Muse Code subscription is required: ${s}`:"Muse Code subscription is required",{kind:"entitlement",provider:Wce});throw new St("Muse Code key response is missing api_key",{kind:"validation",provider:Wce})}let i=n.user_email?.trim().toLowerCase(),o=n.user_id?.trim()||i;if(!o)throw new St("Muse Code key response is missing a stable account identity",{kind:"validation",provider:Wce});return{...e,access:tDa(e.access,r),accountId:o,email:i}};var UKe=A(()=>{on();vt();iSi=z({"used_percent?":"number","resets_at?":"string | number","window_duration_mins?":"number"}),XLa=z({"window?":iSi.or("null"),"weekly?":iSi.or("null")}),QLa=z({"api_key?":"string","require_payment_action_url?":"string","require_payment?":"boolean","action_url?":"string | null","user_email?":"string","user_id?":"string","is_subs_active?":"boolean","subs_tier_id?":"string | null","subs_tier_name?":"string | null","subs_usage?":XLa.or("null")}),ZLa=z({oauthAccessToken:"string",apiKey:"string"})});var dSi={};I(dSi,{DEFAULT_CLAUDE_CODE_VERSION:()=>lSi,adoptRequiredClaudeCodeVersion:()=>BLt,claudeCodeSdkVersion:()=>k0e,claudeCodeSystemInstruction:()=>ULt,claudeToolPrefix:()=>YU,getClaudeCodeUserAgent:()=>C0e,getClaudeCodeVersion:()=>B3});function B3(){return process.env.PI_AI_CLAUDE_CODE_VERSION||cSi||"2.1.280"}function C0e(){return`claude-cli/${B3()} (external, cli)`}function rDa(e,t){let n=aSi.exec(e),r=aSi.exec(t);if(!n||!r)return 0;for(let i=1;i<=3;i++){let o=Number(n[i])-Number(r[i]);if(o!==0)return o}return 0}function BLt(e){if(process.env.PI_AI_CLAUDE_CODE_VERSION)return!1;let t=e instanceof Error?e.message:String(e);if(!t.includes("claude_code_version_too_old"))return!1;let n=nDa.exec(t)?.[1];if(!n||rDa(n,B3())<=0)return!1;return cSi=n,!0}var lSi="2.1.280",k0e="0.112.1",aSi,nDa,cSi=null,YU="_",ULt="You are Claude Code, Anthropic's official CLI for Claude.";var S9=A(()=>{aSi=/^(\d+)\.(\d+)\.(\d+)$/,nDa=/version (\d+\.\d+\.\d+) or newer is required/i});var uSi={};I(uSi,{ANTHROPIC_OAUTH_GRANT_TTL_MS:()=>U3});var U3=2592000000;var pSi={};I(pSi,{ANTHROPIC_OAUTH_GRANT_TTL_MS:()=>U3,anthropicIdentityHook:()=>_0e,fetchAnthropicBootstrapIdentity:()=>I0e});function $Lt(e){return typeof e==="string"&&e.length>0?e:void 0}async function I0e(e,t){let n=`${iDa}?entrypoint=cli&model=${encodeURIComponent(oDa)}`,r=await t(n,{method:"GET",headers:{Accept:"application/json, text/plain, */*",Authorization:`Bearer ${e}`,"Content-Type":"application/json","User-Agent":`claude-code/${B3()}`,"anthropic-beta":"oauth-2025-04-20"},signal:AbortSignal.timeout(30000)}),i=await r.text();if(!r.ok)throw new cn(`HTTP request failed. status=${r.status}; url=${n}; body=${i}`,r.status);let o;try{o=JSON.parse(i)}catch(s){throw new St(`Anthropic bootstrap returned invalid JSON. url=${n}; body=${i}`,{kind:"validation",provider:"anthropic",cause:s})}return{accountId:$Lt(o.oauth_account?.account_uuid),email:$Lt(o.oauth_account?.account_email),orgId:$Lt(o.oauth_account?.organization_uuid),orgName:$Lt(o.oauth_account?.organization_name)}}var iDa="https://api.anthropic.com/api/claude_cli/bootstrap",oDa="claude-opus-4-8",_0e=async(e,t)=>{let n=t.phase==="login",r=!n||e.orgId!==void 0;if(e.accountId&&e.email&&r)return e;try{let i=await I0e(e.access,t.fetch);return{...e,accountId:e.accountId??i.accountId,email:e.email??i.email,...n?{orgId:e.orgId??i.orgId,orgName:e.orgName??i.orgName}:{}}}catch{return e}};var HLt=A(()=>{vt();S9()});var mSi={};I(mSi,{pollOAuthDeviceCodeFlow:()=>jce});async function dDa(e,t){if(!t){await Bun.sleep(e);return}if(t.aborted)throw new qr($Ke);let{promise:n,resolve:r,reject:i}=Promise.withResolvers(),o=()=>{clearTimeout(s),i(new qr($Ke))},s=setTimeout(()=>{t.removeEventListener("abort",o),r()},e);t.addEventListener("abort",o,{once:!0}),await n}async function jce(e){let t=typeof e.expiresInSeconds==="number"?Date.now()+e.expiresInSeconds*1000:Number.POSITIVE_INFINITY,n=Math.max(fSi,Math.floor((e.intervalSeconds??lDa)*1000)),r=0;while(Date.now()<t){if(e.signal?.aborted)throw new qr($Ke);let i=Number.isFinite(t)?AbortSignal.timeout(Math.max(0,t-Date.now())):void 0,o=e.signal&&i?AbortSignal.any([e.signal,i]):e.signal??i,s;try{s=await e.poll(o)}catch(l){if(e.signal?.aborted)throw new qr($Ke);if(Date.now()>=t)break;throw l}if(e.signal?.aborted)throw new qr($Ke);if(s.status==="complete")return s.value;if(Date.now()>=t)break;if(s.status==="failed")throw new St(s.message,{kind:"polling"});if(s.status==="slow_down")r+=1,n=Math.max(fSi,n+cDa);let a=t-Date.now();if(a<=0)break;await dDa(Math.min(n,a),e.signal)}throw new St(r>0?aDa:sDa,{kind:"timeout"})}var $Ke="Login cancelled",sDa="Device flow timed out",aDa="Device flow timed out after one or more slow_down responses. This is often caused by clock drift in WSL or VM environments. Please sync or restart the VM clock and try again.",fSi=1000,lDa=5,cDa=5000;var WLt=A(()=>{vt()});var D0e={};I(D0e,{ANTHROPIC_OAUTH_GRANT_TTL_MS:()=>U3,anthropicIdentityHook:()=>_0e,fetchAnthropicBootstrapIdentity:()=>I0e,getOAuthApiKey:()=>L0e,getOAuthCredentialProvider:()=>$3,getOAuthProvider:()=>JU,getOAuthProviders:()=>Iu,normalizeOAuthCredentialExpiry:()=>Gce,pollOAuthDeviceCodeFlow:()=>jce,refreshOAuthToken:()=>XU,registerOAuthProvider:()=>M0e,unregisterOAuthProvider:()=>O0e,unregisterOAuthProviders:()=>N0e});function M0e(e){P0e.set(e.id,e)}function O0e(e){P0e.delete(e)}function JU(e){return P0e.get(e)}function N0e(e){for(let[t,n]of P0e.entries())if(n.sourceId===e)P0e.delete(t)}async function XU(e,t,n){if(!t)throw new St(`No OAuth credentials found for ${e}`,{kind:"validation",provider:e});let r=Jh(e);if(!r?.login)throw new St(`Unknown OAuth provider: ${e}`,{kind:"validation",provider:e});return r.refreshToken?r.refreshToken(t,n):t}function Gce(e,t){if(Gh(e)?.expiry!=="jwt-or-never")return t;let n=t.expires>0&&t.expires<10000000000?t.expires*1000:t.expires,r=cLn(t.access,pDa)??Math.max(n,HKe);return r===t.expires?t:{...t,expires:r}}async function L0e(e,t){let n=t[e];if(!n)return null;let r=Gh(e);if(n=Gce(e,n),Date.now()>=n.expires)throw new St(`OAuth credential for ${e} is expired and must be refreshed via AuthStorage before getOAuthApiKey is called`,{kind:"validation",provider:e});let i=r?.apiKeyFormat==="structured"?JSON.stringify({apiEndpoint:n.apiEndpoint,token:n.access,enterpriseUrl:n.enterpriseUrl,projectId:n.projectId,refreshToken:n.refresh,expiresAt:n.expires,email:n.email,accountId:n.accountId}):n.access;return{newCredentials:n,apiKey:i}}function Iu(){let e=Array.from(P0e.values(),(t)=>({id:t.id,name:t.name,available:!0,storeCredentialsAs:t.storeCredentialsAs}));return[...uDa,...e]}function $3(e){return Iu().find((t)=>t.id===e)?.storeCredentialsAs??e}var uDa,P0e,pDa=300000;var Yh=A(()=>{GP();vt();zce();jLt();HLt();WLt();uDa=nx.filter((e)=>e.login&&e.showInLoginList!==!1).map((e)=>({id:e.id,name:e.name,available:e.available??!0,storeCredentialsAs:e.storeCredentialsAs})),P0e=new Map});var ySi={};I(ySi,{attachFactoryDroidRegion:()=>gSi});async function fDa(e,t,n,r){try{let i=await n.fetch(`${A3(t)}/api/cli/org`,{headers:{Authorization:`Bearer ${e.access}`,Accept:"application/json"},signal:r});if(!i.ok)return;let o=await i.json();if(!U(o)||!Array.isArray(o.workosOrgIds))return;let[s]=o.workosOrgIds;return typeof s==="string"&&s?s:void 0}catch{if(n.signal?.aborted)throw new qr("Login cancelled");return}}async function hSi(e,t,n){let r=()=>t.phase==="login"&&!e.orgId?new St("Factory login did not resolve an organization",{kind:"validation",provider:t.provider}):void 0;try{let i=await t.fetch(`${A3(e.region)}/api/cli/whoami`,{headers:{Authorization:`Bearer ${e.access}`,Accept:"application/json",...e.orgId?{"X-Factory-Org-Id":e.orgId}:{}},signal:n});if(!i.ok&&t.phase==="login"){let o=new St(`Factory identity check failed (${i.status}): ${await i.text()}`,{kind:"validation",provider:t.provider,status:i.status});return{identity:e,accepted:!1,failure:o}}if(i.ok){let o=await i.json();if(U(o)){let s=typeof o.orgId==="string"&&o.orgId?o.orgId:e.orgId,a=!s||!e.orgId||s===e.orgId?e:void 0,l=o.region==="eu"||o.region==="global"?o.region:a?.region,c=o.inferenceRegion==="global"||o.inferenceRegion==="eu"||o.inferenceRegion==="us"?o.inferenceRegion:v3({region:l,inferenceRegion:a?.inferenceRegion});return{identity:{...e,orgId:s,region:l,inferenceRegion:c},accepted:Boolean(s),failure:s?void 0:r()}}}}catch(i){if(t.signal?.aborted)throw new qr("Login cancelled");if(t.phase==="login")throw i}if(t.signal?.aborted)throw new qr("Login cancelled");return{identity:e,accepted:!1,failure:r()}}var gSi=async(e,t)=>{if(t.signal?.aborted)throw new qr("Login cancelled");if(!U(t.raw)||typeof t.raw.refresh_token!=="string"||!e.refresh)throw new St("Factory token response missing refresh token",{kind:"validation"});let n=typeof t.raw.organization_id==="string"?t.raw.organization_id:t.stored?.activeOrganizationId,i=!Boolean(e.orgId&&t.stored?.orgId&&e.orgId!==t.stored.orgId)&&(!n||!t.stored?.activeOrganizationId||n===t.stored.activeOrganizationId),o={...e,activeOrganizationId:n,orgId:e.orgId??(i?t.stored?.orgId:void 0),region:i?t.stored?.region:void 0,inferenceRegion:i?t.stored?.inferenceRegion:void 0},s=()=>{let l=AbortSignal.timeout(15000);return t.signal?AbortSignal.any([t.signal,l]):l},a=await hSi(o,t,s());if(!e.orgId&&!a.accepted&&!n){let l=await fDa(e,o.region,t,s());if(l){let c;try{c=await XU("factory-droid",{...o,activeOrganizationId:l},t.signal)}catch{if(t.signal?.aborted)throw new qr("Login cancelled")}if(c){if(t.phase==="refresh")return c;let d=await hSi(c,t,s());if(d.failure)throw d.failure;return{...d.identity,email:d.identity.email??e.email,accountId:d.identity.accountId??e.accountId}}}}if(a.failure)throw a.failure;return a.identity};var dLn=A(()=>{E3();vt();$s();Yh()});var bSi,wSi,SSi;var TSi=A(()=>{bSi={"kimi-fingerprint":()=>Promise.resolve().then(() => (x0e(),{})).then((e)=>b9)},wSi={"xai-token-endpoint":()=>Promise.resolve().then(() => (BKe(),{})).then((e)=>nSi)},SSi={"muse-code-key":()=>Promise.resolve().then(() => (UKe(),{})).then((e)=>oSi),"factory-droid-region":()=>Promise.resolve().then(() => (dLn(),{})).then((e)=>gSi)}});var ISi={};I(ISi,{__resetVertexTokenCache:()=>ADa,getVertexAccessToken:()=>WKe,userAdcPath:()=>VLt});import{Buffer as vSi}from"buffer";import*as xSi from"os";import*as GLt from"path";function gDa(){return V6e("GOOGLE_VERTEX_REFRESH_SKEW_MS",60000)}function VLt(e=process.platform,t=Bun.env.APPDATA){let n=e==="win32"&&t?GLt.join(t,"gcloud"):GLt.join(xSi.homedir(),".config","gcloud");return GLt.join(n,"application_default_credentials.json")}async function ASi(e){try{return await Bun.file(e).json()}catch(t){if(he(t))return;throw t}}async function yDa(){let e=Bun.env.GOOGLE_APPLICATION_CREDENTIALS;if(e){let r=await ASi(e);if(!r)throw new Rt(`GOOGLE_APPLICATION_CREDENTIALS points to a missing file: ${e}`);return{source:`gac:${e}`,creds:r}}let t=VLt(),n=await ASi(t);if(n)return{source:`user:${t}`,creds:n};return}function uLn(e){let t=typeof e==="string"?vSi.from(e,"utf8"):e;return vSi.from(t.buffer,t.byteOffset,t.byteLength).toString("base64url")}function bDa(e){let t=e.replace(/-----BEGIN [^-]+-----/g,"").replace(/-----END [^-]+-----/g,"").replace(/\s+/g,"");if(!t)throw new Rt("Invalid PEM: empty body");return Uint8Array.fromBase64(t)}async function wDa(e,t,n){let r={alg:"RS256",typ:"JWT"};if(n)r.kid=n;let i=`${uLn(JSON.stringify(r))}.${uLn(JSON.stringify(e))}`,o=await globalThis.crypto.subtle.importKey("pkcs8",bDa(t),{name:"RSASSA-PKCS1-v1_5",hash:"SHA-256"},!1,["sign"]),s=new Uint8Array(await globalThis.crypto.subtle.sign("RSASSA-PKCS1-v1_5",o,new TextEncoder().encode(i)));return`${i}.${uLn(s)}`}async function ESi(e,t,n){let r=Math.floor(Date.now()/1000),i=await wDa({iss:e.client_email,scope:kSi,aud:pLn,exp:r+3600,iat:r},e.private_key,e.private_key_id),o=new URLSearchParams({grant_type:hDa,assertion:i});return CSi(pLn,o,t,n)}async function RSi(e,t,n){let r=new URLSearchParams({client_id:e.client_id,client_secret:e.client_secret,refresh_token:e.refresh_token,grant_type:"refresh_token"});return CSi(pLn,r,t,n)}async function SDa(e,t){let n=AbortSignal.timeout(2000),r=e?AbortSignal.any([e,n]):n;try{let i=await t(mDa,{method:"GET",headers:{"Metadata-Flavor":"Google"},signal:r});if(!i.ok)return;return await i.json()}catch{return}}async function CSi(e,t,n,r){let i=await r(e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:t.toString(),signal:n});if(!i.ok){let o=await i.text().catch(()=>"");throw new St(`Google OAuth token exchange failed (${i.status}): ${o}`,{kind:"token-exchange",provider:"google-vertex",status:i.status})}return await i.json()}async function TDa(e,t){let n=await yDa();if(n){let i=n.creds,o;if(i.type==="impersonated_service_account"){let a=/(?<target>[^/]+):(generateAccessToken|generateIdToken)$/.exec(i.service_account_impersonation_url)?.groups?.target;if(!a)throw RangeError(`Cannot extract target principal from ${i.service_account_impersonation_url}`);let l=i.source_credentials.type==="service_account"?await ESi(i.source_credentials,e,t):await RSi(i.source_credentials,e,t),c=await t(`https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/${a}:generateAccessToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${l.access_token}`},body:JSON.stringify({delegates:i.delegates??[],scope:[kSi],lifetime:"3600s"}),signal:e});if(!c.ok){let p=await c.text().catch(()=>"");throw new St(`Google Impersonation token exchange failed (${c.status}): ${p}`,{kind:"token-exchange",provider:"google-vertex",status:c.status})}let d=await c.json(),u=Math.max(0,Math.floor((new Date(d.expireTime).getTime()-Date.now())/1000));o={access_token:d.accessToken,expires_in:u,token_type:"Bearer"}}else o=i.type==="service_account"?await ESi(i,e,t):await RSi(i,e,t);return{source:n.source,token:o}}let r=await SDa(e,t);if(r)return{source:"metadata",token:r};throw new Us(void 0,"Vertex AI requires Application Default Credentials. Set GOOGLE_APPLICATION_CREDENTIALS, run `gcloud auth application-default login`, or run on a GCE/Cloud Run instance with a service account.")}async function WKe(e){let t=Bun.env.GOOGLE_CLOUD_ACCESS_TOKEN||Bun.env.CLOUDSDK_AUTH_ACCESS_TOKEN;if(t)return t;let n=e?.fetch??globalThis.fetch.bind(globalThis),r=gDa(),i=Date.now();for(let[l,c]of zLt){if(c.expiresAtMs-r>i)return c.token;zLt.delete(l)}let o="vertex-adc",s=qLt.get(o);if(s)return zR(s,e?.signal);let a=(async()=>{try{let{source:l,token:c}=await TDa(AbortSignal.timeout(vDa),n),d=Date.now()+Math.max(0,c.expires_in*1000);return zLt.set(l,{token:c.access_token,expiresAtMs:d}),ie("vertex.adc acquired access token",{source:l,expiresInSec:c.expires_in}),c.access_token}finally{qLt.delete(o)}})();return qLt.set(o,a),zR(a,e?.signal)}function ADa(){zLt.clear(),qLt.clear()}var pLn="https://oauth2.googleapis.com/token",mDa="http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token",kSi="https://www.googleapis.com/auth/cloud-platform",hDa="urn:ietf:params:oauth:grant-type:jwt-bearer",zLt,qLt,vDa=30000;var jKe=A(()=>{j();vt();s0();zLt=new Map,qLt=new Map});var _Si={};I(_Si,{isFoundryEnabled:()=>QU});function QU(){let e=Le.CLAUDE_CODE_USE_FOUNDRY;if(!e)return!1;let t=e.trim().toLowerCase();return t==="1"||t==="true"||t==="yes"||t==="on"}var F0e=A(()=>{j()});import*as PSi from"fs";function EDa(){if(fLn===null){let e=Le.GOOGLE_APPLICATION_CREDENTIALS;fLn=PSi.existsSync(e??VLt())}return fLn}var fLn=null,MSi;var OSi=A(()=>{j();jKe();F0e();mVe();MSi={"anthropic-foundry":()=>QU()?tU("ANTHROPIC_FOUNDRY_API_KEY","ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"):tU("ANTHROPIC_OAUTH_TOKEN","ANTHROPIC_API_KEY"),"aws-bedrock":()=>OOn({allowSkipAuth:!0}),"aws-bedrock-mantle":()=>OOn(),"google-vertex-adc":()=>{if(Le.GOOGLE_CLOUD_API_KEY)return Le.GOOGLE_CLOUD_API_KEY;let e=!!(Le.GOOGLE_CLOUD_PROJECT||Le.GCP_PROJECT||Le.GCLOUD_PROJECT),t=!!(Le.GOOGLE_VERTEX_LOCATION||Le.GOOGLE_CLOUD_LOCATION||Le.VERTEX_LOCATION);return EDa()&&e&&t?N1:void 0}}});var NSi={};I(NSi,{resolveModelTokenizer:()=>YLt});function qce(e,t){if(e===void 0)return!1;let n=ta(e),r=ta(t);return n!==void 0&&r!==void 0&&Ip(n,r)>=0}function xDa(e){if(e.class!=="anthropic")return;if(e.family==="opus"){if(qce(e.revision,"5"))return"claude-v5";if(qce(e.revision,"4.7"))return"claude-v47";return"claude-v3"}if(e.family==="sonnet"||e.family==="fable"||e.family==="mythos")return qce(e.revision,"5")?"claude-v5-sonnet":"claude-v3";if(e.family==="haiku"&&qce(e.revision,"5.5"))return"claude-v5-sonnet";return"claude-v3"}function kDa(e){return e.class==="qwen"&&qce(e.revision,"3.5")?"qwen3":void 0}function CDa(e){return e.class==="deepseek"?"deepseek-v3":void 0}function IDa(e){return e.class==="kimi"?"kimi-k2":void 0}function _Da(e){return e.class==="glm"&&qce(e.revision,"5")?"glm5":void 0}function PDa(e){return e.class==="openai"&&qce(e.revision,"5")?"o200k":void 0}function YLt(e,t=""){let n=`${t}\x00${e}`,r=KLt.get(n);if(r!==void 0)return r??void 0;let i=Or(t,$U(e),{lenient:!0}),o=xDa(i)??kDa(i)??CDa(i)??IDa(i)??_Da(i)??PDa(i);if(KLt.size===RDa)KLt.clear();return KLt.set(n,o??null),o}var RDa=2048,KLt;var JLt=A(()=>{lf();hce();KLt=new Map});var FSi={};I(FSi,{applyCatalogCorrections:()=>DSi,buildDiscoveredModel:()=>T9,buildModel:()=>io});function Zf(e,t){let n=Reflect.get(e,t);return typeof n==="number"?n:void 0}function B0e(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)?e:void 0}function MDa(e){return Array.isArray(e)&&e.every((t)=>t==="text"||t==="image")}function ODa(e,t){let n=iT.find((f)=>f===t.kind);if(n!==void 0)e.kind=n;if(t.contextWindowAuthoritative===!0)e.contextWindowAuthoritative=!0;else delete e.contextWindowAuthoritative;if(t.longContextWindowUncapped===!0)e.longContextWindowUncapped=!0;else delete e.longContextWindowUncapped;let r=t.webSearch;if(r==="gemini"||r==="anthropic"||r==="codex"||r==="xai"||r==="openrouter"||r==="openai")e.webSearch=r;if(typeof t.webSearchModel==="string")e.webSearchModel=t.webSearchModel;if(t.hostedImage===!0)e.hostedImage=!0;else if(t.hostedImage===!1)delete e.hostedImage;if(typeof t.imageModel==="string")e.imageModel=t.imageModel;else if(t.imageModel===!1)delete e.imageModel;let i=B0e(t.serviceTierCost);if(i!==void 0){let f=Zf(i,"flex"),m=Zf(i,"priority"),h=Zf(i,"ultrafast");e.serviceTierCost={...f!==void 0&&{flex:f},...m!==void 0&&{priority:m},...h!==void 0&&{ultrafast:h}}}let o=t.priority;if(typeof o==="number")e.priority=o;let s=B0e(t.promptCache);if(s!==void 0){let f=Zf(s,"short"),m=Zf(s,"long");e.promptCache={...f!==void 0&&{short:f},...m!==void 0&&{long:m}}}let a=t.applyPatchToolType;if(a==="freeform"||a==="function")e.applyPatchToolType=a;let l=t.editPromptVariant;if(l==="full"||l==="compact")e.editPromptVariant=l;let c=t.pricingStatus;if(c==="free"||c==="included"||c==="variable"||c==="unknown")e.pricingStatus=c;if(t.requiresCursorToolSchemaProjection===!0)e.requiresCursorToolSchemaProjection=!0;else delete e.requiresCursorToolSchemaProjection;if(t.toolSchemasInContext===!1)e.toolSchemasInContext=!1;else delete e.toolSchemasInContext;if(t.requiresToolResultImageHoisting===!0)e.requiresToolResultImageHoisting=!0;else delete e.requiresToolResultImageHoisting;if(t.supportsAssistantPrefill===!0)e.supportsAssistantPrefill=!0;else delete e.supportsAssistantPrefill;if(typeof t.omitMaxOutputTokens==="boolean"&&e.omitMaxOutputTokens===void 0)e.omitMaxOutputTokens=t.omitMaxOutputTokens;let p=t.contextPromotionTarget;if(typeof p==="string"&&e.contextPromotionTarget===void 0)e.contextPromotionTarget=p}function LSi(e,t,n,r){let i={...e},o=e.timeBased?.effectiveRates?.[0]?.effectiveFrom===F8e?Yxe(e.timeBased,r):void 0;if(o!==void 0){let{effectiveFrom:d,...u}=o,{longContext:p,...f}=i;i={...f,...u}}let s=B0e(t.costPatch);if(s!==void 0){let d=Zf(s,"input");if(d!==void 0)i.input=d;let u=Zf(s,"output");if(u!==void 0)i.output=u;let p=Zf(s,"cacheRead");if(p!==void 0)i.cacheRead=p;let f=Zf(s,"cacheWrite");if(f!==void 0)i.cacheWrite=f;EPt(i,n.patch,r)}let a=B0e(t.costFallback);if(a!==void 0){if(!(i.input!==0||i.output!==0||i.cacheRead!==0||i.cacheWrite!==0)){let u=Zf(a,"input");if(u!==void 0)i.input=u;let p=Zf(a,"output");if(p!==void 0)i.output=p;let f=Zf(a,"cacheRead");if(f!==void 0)i.cacheRead=f;let m=Zf(a,"cacheWrite");if(m!==void 0)i.cacheWrite=m;EPt(i,n.fallback,r)}}let l=B0e(t.longContext);if(l!==void 0){let d=Zf(l,"inputThreshold"),u=Reflect.get(l,"inputThresholdInclusive")===!0,p=Zf(l,"multiplier"),f=Zf(l,"input"),m=Zf(l,"output"),h=Zf(l,"cacheRead"),g=Zf(l,"cacheWrite"),y=i.input!==0||i.output!==0||i.cacheRead!==0||i.cacheWrite!==0;if(d!==void 0&&p!==void 0&&y)i={...i,longContext:{inputThreshold:d,...u&&{inputThresholdInclusive:!0},input:i.input*p,output:i.output*(Zf(l,"outputMultiplier")??p),cacheRead:i.cacheRead*p,cacheWrite:i.cacheWrite*p}};else if(d!==void 0&&f!==void 0&&m!==void 0&&h!==void 0&&g!==void 0)i={...i,longContext:{inputThreshold:d,input:f,output:m,cacheRead:h,cacheWrite:g}}}if(t.cacheReadAtInputRate===!0){let{longContext:d}=i;i={...i,cacheRead:i.input,...d&&{longContext:{...d,cacheRead:d.input}}}}let c=t.cacheWriteRate;if(typeof c==="number"){let{longContext:d}=i;i={...i,cacheWrite:i.input*c,...d&&{longContext:{...d,cacheWrite:d.input*c}}}}return i}function NDa(e,t,n){let r=[...n.patch,...n.fallback].map((s)=>s.effectiveFrom).sort((s,a)=>s-a);if(r.length===0)return;let i=[],o;for(let s of[F8e,...r]){let{input:a,output:l,cacheRead:c,cacheWrite:d,longContext:u}=LSi(e,t,n,s),p={input:a,output:l,cacheRead:c,cacheWrite:d,...u&&{longContext:u}},f=JSON.stringify(p);if(f===o)continue;o=f,i.push({effectiveFrom:s,...p})}return i.length>1?i:void 0}function DSi(e,t){let n=e.cost,r={patch:Jxe(t.costPatch,"cost-patch"),fallback:Jxe(t.costFallback,"cost-fallback")};e.cost=LSi(n,t,r,Date.now());let i=t.timeBased===void 0?void 0:j0n(t.timeBased),o=NDa(n,t,r);if(o!==void 0){if(i?.effectiveRates!==void 0)throw Error("Dated cost-patch/cost-fallback effective-rates cannot combine with time-based-cost effective-rates");e.cost={...e.cost,timeBased:{...i??APt,effectiveRates:o}}}else if(i!==void 0)e.cost={...e.cost,timeBased:i};let s=B0e(t.limitsPatch);if(s!==void 0){let u=Zf(s,"contextWindow");if(u!==void 0)e.contextWindow=u;let p=Zf(s,"maxTokens");if(p!==void 0)e.maxTokens=p}let a=t.maxTokensFallback;if(typeof a==="number"&&e.maxTokens===null)e.maxTokens=a;let l=t.maxTokensCeiling;if(typeof l==="number"&&e.maxTokens!==null&&e.maxTokens>l)e.maxTokens=l;let c=t.contextWindowFloor;if(typeof c==="number")e.contextWindow=Math.max(e.contextWindow??0,c);let d=t.inputModalities;if(MDa(d))e.input=d}function LDa(e,t){if(typeof t!=="number")return;let n=(i)=>{if(i===void 0)return;let o;for(let[s,a]of Object.entries(i)){if(a.maxOutputTokens===void 0||a.maxOutputTokens<=t)continue;o??={...i},o[s]={...a,maxOutputTokens:t}}return o??i};if(e.antigravityWireProfiles=n(e.antigravityWireProfiles),e.accountAccess===void 0)return;let r;for(let[i,o]of Object.entries(e.accountAccess)){let s=n(o.antigravityWireProfiles);if(s===o.antigravityWireProfiles)continue;r??={...e.accountAccess},r[i]={...o,antigravityWireProfiles:s}}if(r!==void 0)e.accountAccess=r}function DDa(e){if(e.api==="openai-responses"){if(e.provider!=="openai")return!1;if(!e.baseUrl)return!0;try{let t=new URL(e.baseUrl);return t.protocol==="https:"&&t.hostname==="api.openai.com"}catch{return!1}}if(e.api!=="azure-openai-responses"||e.provider!=="azure"&&e.provider!=="azure-openai")return!1;if(!e.baseUrl)return!0;try{let t=new URL(e.baseUrl);return t.protocol==="https:"&&(t.hostname.endsWith(".openai.azure.com")||t.hostname==="models.inference.ai.azure.com")}catch{return!1}}function FDa(e){if(!("supportsComputerUseConfig"in e))return e.supportsComputerUse;let t=Reflect.get(e,"supportsComputerUseConfig");return typeof t==="boolean"?t:void 0}function BDa(e,t,n){if(e.revision===void 0)return!1;let[r=0,i=0]=e.revision.split(".").map(Number);return r>t||r===t&&i>=n}function UDa(e,t,n){if(n!==void 0)return n;if(!DDa(e))return!1;let r=e.requestModelId===void 0?t:Zu({...e,id:e.requestModelId}).identity;return r.class==="openai"&&BDa(r,5,4)}function T9(e,t){let n=SNn(e,t);return io({...e,api:n,providerType:t})}function io(e){let t=Zu(e),n=FDa(e),r={...e,reasoning:e.reasoning||t.thinking!==void 0,name:SPt(e.name),identity:t.identity,requiresGlyphTokenization:t.identity.class==="anthropic",tokenizer:e.tokenizer??YLt(e.requestModelId??e.id,e.provider),thinking:t.thinking,supportsComputerUse:UDa(e,t.identity,n),supportsComputerUseConfig:n,compat:t.compat,compatConfig:e.compat};if(ODa(r,t.catalog),DSi(r,t.catalog),LDa(r,t.catalog.maxTokensCeiling),e.kindConfig!==void 0)r.kind=e.kindConfig;if(e.promptCacheConfig!==void 0)r.promptCache={...e.promptCacheConfig};return r}var Bw=A(()=>{OT();JLt();Xxe();Gd();za()});var BSi={};I(BSi,{CHARM_HYPER_API_BASE_URL:()=>mLn,normalizeCharmHyperBaseUrl:()=>Vce});function Vce(e){let t=e?.trim().replace(/\/+$/,"");if(!t)return"https://hyper.charm.land/v1";return t.endsWith("/v1")?t:`${t}/v1`}var mLn="https://hyper.charm.land/v1";var USi={};I(USi,{CURSOR_AVAILABLE_MODELS_PATH:()=>wLn,CURSOR_BIDI_APPEND_PATH:()=>gLn,CURSOR_CLIENT_VERSION:()=>XLt,CURSOR_DEFAULT_BASE_URL:()=>h0,CURSOR_GET_DEFAULT_MODEL_PATH:()=>bLn,CURSOR_GET_USABLE_MODELS_PATH:()=>yLn,CURSOR_RUN_PATH:()=>hLn,CURSOR_RUN_SSE_PATH:()=>QLt,cursorClientHeaders:()=>U0e});function U0e(e,t={}){return{"content-type":t.contentType??"application/proto",authorization:`Bearer ${e}`,"x-cursor-client-type":"cli","x-cursor-client-version":t.clientVersion??"cli-2026.09.02-c22c1a3","x-ghost-mode":"true"}}var h0="https://api2.cursor.sh",XLt="cli-2026.09.02-c22c1a3",hLn="/agent.v1.AgentService/Run",QLt="/agent.v1.AgentService/RunSSE",gLn="/aiserver.v1.BidiService/BidiAppend",yLn="/agent.v1.AgentService/GetUsableModels",bLn="/agent.v1.AgentService/GetDefaultModelForCli",wLn="/aiserver.v1.AiService/AvailableModels";var $Si={};I($Si,{SINGULARITYAPI_DEV_API_BASE_URL:()=>GKe,SINGULARITYAPI_TECH_API_BASE_URL:()=>zKe,normalizeSingularityApiBaseUrl:()=>qKe});function qKe(e,t){let n=e?.trim().replace(/\/+$/,"");if(!n)return t;return n.endsWith("/v1")?n:`${n}/v1`}var GKe="https://api.singularityapi.dev/v1",zKe="https://api.singularityapi.tech/v1";var WSi={};I(WSi,{getDefaultModelDiscoveryBaseUrl:()=>CA,isCredentialScopedModelCacheProvider:()=>v9,resolveModelCacheProviderId:()=>Zc,resolveOllamaModelCacheProviderId:()=>$0e});function v9(e){return $Da[e]===!0}function CA(e){switch(e){case"charm-hyper":return mLn;case"kimi-code":return"https://api.kimi.com/coding/v1";case"meta":case"muse-code":return"https://api.meta.ai/v1";case"ollama":return"http://127.0.0.1:11434";case"litellm":return Bun.env.LITELLM_BASE_URL??"http://localhost:4000/v1";case"opencode-go":return"https://opencode.ai/inference/go/v1";case"opencode-zen":return"https://opencode.ai/zen/v1";case"vllm":return"http://127.0.0.1:8000/v1";default:return}}function $0e(e,t){let n=CA("ollama"),r=n;try{let i=new URL(t??n),o=i.pathname.replace(/\/+$/g,""),s=o.endsWith("/v1")?o.slice(0,-3):o;r=`${i.protocol}//${i.host}${s}`}catch{}return`${e}:ollama-models-v1:${Bun.hash(r).toString(36)}`}function HSi(e){let t=e.split(".");if(t.length!==3||!t[1])return;try{let n=JSON.parse(Buffer.from(t[1],"base64url").toString("utf-8"));if(typeof n!=="object"||n===null)return;let r=Reflect.get(n,"sub");return typeof r==="string"&&r.length>0?`sub:${r}`:void 0}catch{return}}function Zc(e,t={}){switch(e){case"openai-codex":{let n=t.baseUrl?.trim().replace(/\/+$/,"");if(!n||n===Zd)return`${e}:${PT}`;return`${e}:${PT}:${Bun.hash(n).toString(36)}`}case"ollama":return $0e(e,t.baseUrl);case"cursor":{let n=(t.baseUrl??h0).replace(/\/+$/,""),r=t.apiKey??"",i=`${HSi(r)??r}\x00${n}`;return`cursor:rich-models-v5:${Bun.hash(i).toString(36)}`}case"charm-hyper":return`charm-hyper:models-v1:${Bun.hash(Vce(t.baseUrl)).toString(36)}`;case"kimi-code":{let n=t.baseUrl??CA(e),r=t.apiKey??"",i=`${HSi(r)??r}\x00${n}`;return`kimi-code:models-v1:${Bun.hash(i).toString(36)}`}case"muse-code":{let n=t.baseUrl??CA(e),r=`${t.apiKey??""}\x00${n}`;return`muse-code:models-v1:${Bun.hash(r).toString(36)}`}case"singularityapi-dev":case"singularityapi-tech":{let n=e==="singularityapi-tech"?zKe:GKe,r=qKe(t.baseUrl,n),i=`${t.apiKey??""}\x00${r}`;return`${e}:models-v1:${Bun.hash(i).toString(36)}`}case"litellm":{let n=t.baseUrl??CA(e);return`litellm:rich-v14:${Bun.hash(n).toString(36)}`}case"gmi-cloud":case"siliconflow":case"siliconflow-cn":return`${e}:models-v1`;case"opencode-go":case"opencode-zen":{let n=t.baseUrl??CA(e),r=n.endsWith("/")?n.slice(0,-1):n,i=r.endsWith("/v1")?r:`${r}/v1`,o=`${t.apiKey??""}\x00${i}`;return`${e}:models-v3:${Bun.hash(o).toString(36)}`}case"github-copilot":{let n=t.baseUrl??IVe,r=`${t.apiKey??""}\x00${n}`;return`github-copilot:models-v2:${Bun.hash(r).toString(36)}`}case"factory-droid":return pNn(t);case"openrouter":return"openrouter:pseudo-api";case"vllm":{let n=t.baseUrl??CA(e);return`vllm:models-v2:${Bun.hash(n).toString(36)}`}case"devin":return"devin:models-v3";default:return e}}var $Da;var VKe=A(()=>{EA();E3();FU();$Da={"opencode-go":!0,"opencode-zen":!0,"github-copilot":!0,"muse-code":!0,cursor:!0,"factory-droid":!0,"singularityapi-dev":!0,"singularityapi-tech":!0,"kimi-code":!0}});var jSi={};I(jSi,{allowsUnauthenticatedCatalogDiscovery:()=>TLn,isCatalogDescriptor:()=>SLn});function SLn(e){return e.catalogDiscovery!=null}function TLn(e){return e.catalogDiscovery.allowUnauthenticated??e.allowUnauthenticated??!1}var GSi={};I(GSi,{REVISION_PLACEHOLDER:()=>KKe});var KKe="{rev}";var eTi={};I(eTi,{collapseBuiltVariants:()=>A9,collapseVariants:()=>ZP,deriveThinkingPairFamilies:()=>ELn,getVariantAliasSources:()=>oDt,isCollapsedVariantSpec:()=>XSi,isCursorMaxModeWireId:()=>W3,isReviewedTierVariantWireId:()=>rDt,resolveBareVariantSelector:()=>iDt,resolveVariantSelector:()=>W0e,reviewedCollapseTable:()=>g0,reviewedVariantFamilyId:()=>nDt});function WDa(e,t,n,r,i){let o={};if(n.off)o.off=n.off;for(let a of r)switch(a){case"minimal":if(n.minimal)o[a]=n.minimal;break;case"low":if(n.low)o[a]=n.low;break;case"medium":if(n.medium)o[a]=n.medium;break;case"high":if(n.high)o[a]=n.high;break;case"xhigh":if(n.xhigh)o[a]=n.xhigh;break;case"max":if(n.max)o[a]=n.max;break}let s=[n.off,n.minimal,n.low,n.medium,n.high,n.xhigh,n.max].filter((a,l,c)=>typeof a==="string"&&c.indexOf(a)===l);return{id:e,name:t,members:s,routing:o,thinking:{mode:"effort",efforts:r,...n.off?void 0:{requiresEffort:!0}},...i!==void 0?{defaultMember:i}:void 0}}function JSi(e){let t={id:e.id,name:e.name,members:e.members,routing:e.routing};if(e.defaultMember!==void 0)t.defaultMember=e.defaultMember;if(e.retiredMembers?.length)t.retiredMembers=e.retiredMembers;if(!e.noThinking&&e.mode!==void 0)t.thinking={mode:e.mode,efforts:e.efforts??[],...e.effortBudgets!==void 0&&{effortBudgets:e.effortBudgets},...e.defaultLevel!==void 0&&{defaultLevel:e.defaultLevel},...e.requiresEffort===!0&&{requiresEffort:!0}};if(e.suppressWhenOff)t.suppressWhenOff=!0;if(e.preserveAbsentEffortRoutes)t.preserveAbsentEffortRoutes=!0;if(e.extraAliases?.length)t.extraAliases=e.extraAliases;return t}function GDa(e){let t=JSi(e),n=[t.id,...t.members,...t.extraAliases??[]].map((i)=>i.split(KKe).map((o)=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(jDa)),r={family:t,pattern:new RegExp(`^(?:${n.join("|")})$`,"i")};if(e.revision!==void 0){let i=U6e(e.revision);if(i!==void 0)r.revision=i}return r}function zDa(e,t){if(e.revision!==void 0){let s=ta(t);if(s===void 0||!Rae(s,e.revision))return}let n=(s)=>s.replaceAll(KKe,t),r=e.family,i={};for(let s of H3){let a=r.routing[s];if(a!==void 0)i[s]=n(a)}let o={...r,id:n(r.id),name:n(r.name),members:r.members.map(n),routing:i};if(r.defaultMember!==void 0)o.defaultMember=n(r.defaultMember);if(r.retiredMembers!==void 0)o.retiredMembers=r.retiredMembers.map(n);if(r.extraAliases!==void 0)o.extraAliases=r.extraAliases.map(n);return o}function ALn(e,t){for(let n of e){let r=n.pattern.exec(t);if(r===null)continue;let i;for(let s=1;s<r.length&&i===void 0;s++)i=r[s];if(i===void 0)continue;let o=zDa(n,i);if(o!==void 0)return o}return}function qDa(e,t){let n=e.templates;if(n===void 0||n.length===0)return[];let r=new Set;for(let o of e.families)r.add(o.id);let i=[];for(let o of t){let s=ALn(n,o);if(s===void 0||r.has(s.id))continue;r.add(s.id),i.push(s)}return i}function VDa(){let{variantFamilies:e,providerAliases:t}=W6e(),n={};for(let r of e){let i=n[r.provider]??={families:[]};if(r.id.includes(KKe))(i.templates??=[]).push(GDa(r));else i.families.push(JSi(r))}for(let[r,i]of Object.entries(t))n[r]??={families:[]},n[r].providerAliases=i;return n}function zSi(e,t){let n=e.thinking?.effortRouting;if(!n)return!1;for(let r of t){if(e.requestModelId===r.spec.id)continue;let i=!1;for(let o of H3)if(n[o]===r.spec.id){i=!0;break}if(!i)return!1}return!0}function QDa(e){let t=new Map,n=new Map,r=new Set;for(let s of e){if(!t.has(s.id))t.set(s.id,s);let a=KDa.exec(s.id);if(!a)continue;let l=a[1],c=XDa[a[2]??""],d=a[3]!==void 0;if(!l||!c)continue;let u={baseId:l,fast:d,spec:s,tier:c},p=`${l}\x00${d?"fast":"standard"}`,f=n.get(p);if(f)f.push(u);else n.set(p,[u]);r.add(l)}let i=new Set;for(let s of n.values()){let a=s[0];if(!a)continue;let{baseId:l}=a,c=n.get(`${l}\x00standard`)??[],d=t.get(l),u=t.get(`${l}${a.fast?"-fast":""}`),p=d!==void 0&&!zSi(d,c),f=u!==void 0&&!zSi(u,s);if(p||f||new Set(s.map((m)=>m.tier)).size!==s.length||YDa.test(l)||JDa.test(l)||r.has(`${l}-thinking`)||t.has(`${l}-thinking`)||t.has(`${l}-thinking-fast`)||t.has(`${l}-fast-thinking`)||s.some((m)=>m.spec.thinking!==void 0||m.spec.requestModelId!==void 0)||s.some((m)=>r.has(`${l}-${m.tier}`)))i.add(l)}let o=[];for(let s of n.values()){let a=s[0];if(!a||s.length<2||i.has(a.baseId))continue;if(s.some((f)=>f.spec.api!==a.spec.api||f.spec.baseUrl!==a.spec.baseUrl||f.spec.contextWindow!==a.spec.contextWindow||f.spec.maxTokens!==a.spec.maxTokens||f.spec.cursorMaxMode!==a.spec.cursorMaxMode||!Bun.deepEquals(f.spec.cost,a.spec.cost)||!Bun.deepEquals(f.spec.compat,a.spec.compat)))continue;let l={};for(let f of s)if(f.tier==="none")l.off=f.spec.id;else l[f.tier]=f.spec.id;let c=Wr.filter((f)=>l[f]!==void 0);if(c.length===0)continue;let d=a.spec.name.replace(/\s+(extra-high|none|minimal|low|medium|high|xhigh|max)(\s+fast)?$/i,"").trim(),u=d===a.spec.id?a.baseId:d||a.baseId,p=a.fast?"-fast":"";o.push(WDa(`${a.baseId}${p}`,`${u}${a.fast?" Fast":""}`,l,c))}return o}function g0(e){return vLn[e]??vLn[e.toLowerCase()]}function nDt(e,t){let n=g0(e);return n?H0e(n).resolve(t.trim()):void 0}function ELn(e,t,n){let r=new Map;for(let s of e)if(!r.has(s.id))r.set(s.id,s);let i=t?H0e(t):void 0,o=[];for(let s of e){let a=n===void 0?void 0:b4(n,s.id),l=a?.thinkingVariant?a.logicalId:Cae(s.id);if(l===void 0||l===s.id)continue;let c=r.get(l);if(!c)continue;if(i&&(i.resolve(s.id)!==void 0||i.resolve(l)!==void 0||i.isFamily(s.id)||i.isFamily(l)))continue;if(s.api!==c.api)continue;let d=s.cost.input!==0||s.cost.output!==0,u=c.cost.input!==0||c.cost.output!==0;if(d&&u&&(s.cost.input!==c.cost.input||s.cost.output!==c.cost.output||s.cost.cacheRead!==c.cost.cacheRead||s.cost.cacheWrite!==c.cost.cacheWrite))continue;let p=ZDa(s,c),f={off:c.id};for(let m of p.efforts)f[m]=s.id;o.push({id:c.id,name:c.name,members:[c.id,s.id],routing:f,thinking:p})}return o}function ZDa(e,t){let n=e.thinking??t.thinking;if(n&&n.efforts.length>0){let{effortRouting:s,suppressWhenOff:a,requiresEffort:l,...c}=n;return c}let{compat:r,...i}=e,o=Zu({...i,reasoning:!0,thinking:void 0}).thinking;if(o&&o.efforts.length>0){let{effortRouting:s,suppressWhenOff:a,requiresEffort:l,...c}=o;return c}return{mode:"budget",efforts:HDa}}function XSi(e){if(e.thinking?.effortRouting!==void 0)return!0;if(e.requestModelId===void 0)return!1;let t=g0(e.provider);return t!==void 0&&H0e(t).isFamily(e.id)}function eFa(e,t,n){let r=e.thinking,i=r?.effortRouting,o=e.requestModelId!==void 0&&n.has(e.requestModelId),s=!1;if(i!==void 0)for(let d of H3){let u=i[d];if(u!==void 0&&n.has(u)){s=!0;break}}if(!o&&!s)return e;let a=t.routing.off,l=a!==void 0&&!n.has(a)?a:t.members.find((d)=>!n.has(d)),c={...e};if(s&&i!==void 0&&r!==void 0){let d={};for(let u of H3){let p=i[u];if(p===void 0)continue;if(!n.has(p)){d[u]=p;continue}let f=t.routing[u];if(f!==void 0&&!n.has(f))d[u]=f;else if(l!==void 0)d[u]=l}c.thinking={...r,effortRouting:d}}if(o)if(l!==void 0&&l!==e.id)c.requestModelId=l;else delete c.requestModelId;return c}function qSi(e,t,n){let r=t.thinking;if(!e.reasoning||r?.effortBudgets===void 0)return e;let i={},o=!1;for(let c of H3){let d=t.routing[c];if(d!==void 0&&!n?.has(d))i[c]=d,o=!0}let s={...r};if(o)s.effortRouting=i;if(t.suppressWhenOff)s.suppressWhenOff=!0;let a=t.routing.off,l=a!==void 0&&!n?.has(a)&&a!==e.id?a:e.requestModelId;if(Bun.deepEquals(s,e.thinking)&&l===e.requestModelId)return e;return{...e,thinking:s,...l!==void 0?{requestModelId:l}:{}}}function VSi(e,t,n){let r=t.defaultMember;if(r===void 0||r===e.id)return e;let i=n===void 0||n.has(r)?r:t.members.find((s)=>n.has(s));if(i===void 0||e.requestModelId===i)return e;let o=e.thinking?.effortRouting;if(o===void 0)return e;for(let s of H3)if(o[s]===i)return{...e,requestModelId:i};return e}function W3(e){let t=b4("cursor",e).effort;return t==="xhigh"||t==="max"}function rDt(e,t){let n=g0(e);if(n===void 0)return!1;let r=t.trim(),i=n.families.find((s)=>s.members.includes(r))??(n.templates===void 0?void 0:ALn(n.templates,r));if(i===void 0)return!1;let o=new Set;for(let s of H3){let a=i.routing[s];if(s!=="off"&&a!==void 0)o.add(a)}return o.size>1&&o.has(r)}function tFa(e){if(e.provider!=="cursor"||e.cursorMaxMode===!0)return e;let t=e.thinking?.effortRouting;if(t===void 0)return e;return Object.values(t).some((r)=>typeof r==="string"&&W3(r))?{...e,cursorMaxMode:!0}:e}function QSi(e,t){if(e!=="cursor")return;let n;for(let r of t){if(r.cursorMaxMode===void 0)continue;n??={},n[r.id]=r.cursorMaxMode}return n}function nFa(e,t){let n=QSi(e.provider,t),r=e.cursorMaxMode!==!0&&t.some((i)=>i.cursorMaxMode===!0);if(n===void 0&&!r)return e;return{...e,...r?{cursorMaxMode:!0}:{},...n===void 0?{}:{cursorMaxModeRoutes:{...e.cursorMaxModeRoutes,...n}}}}function ZSi(e){let t;for(let n of e){if(n.antigravityWireProfiles===void 0)continue;t={...t,...n.antigravityWireProfiles}}return t}function rFa(e,t){let n=ZSi(t);if(n===void 0)return e;return{...e,antigravityWireProfiles:{...e.antigravityWireProfiles,...n}}}function ZLt(e,t){let n=new Map;for(let c of e)if(!n.has(c.id))n.set(c.id,c);let r=new Map,i=new Map,o=qDa(t,n.keys()),s=o.length===0?t.families:[...t.families,...o];for(let c of s){let d=c.retiredMembers!==void 0&&c.retiredMembers.length>0?new Set(c.retiredMembers):void 0,u=n.get(c.id),p=u!==void 0&&(u.requestModelId!==void 0||u.thinking?.effortRouting!==void 0),f=u!==void 0&&p&&d!==void 0?eFa(u,c,d):u,m=c.members.filter((D)=>n.has(D)&&!(D===c.id&&p));if(m.length===0){let D=u!==void 0&&p?tFa(VSi(qSi(f??u,c,d),c)):f;if(D!==void 0&&D!==u)i.set(c.id,c.id),r.set(c.id,D);continue}for(let D of m)i.set(D,c.id);if(u)i.set(c.id,c.id);let h=[];for(let D of m){let B=n.get(D);if(B!==void 0)h.push(B)}if(p&&f!==void 0){r.set(c.id,rFa(nFa(VSi(f,c,new Set(m)),h),h));continue}let g=h[0];if(g===void 0)continue;let y=new Set(m),b={},w=!1,S=!1,T=!1;for(let D of H3){let B=c.routing[D],H=B!==void 0&&y.has(B),F=B!==void 0&&D!=="off"&&c.preserveAbsentEffortRoutes===!0;if(B!==void 0&&(H||F)&&!d?.has(B)){if(b[D]=B,w=!0,D!=="off")S=!0;if(!H&&D!=="off")T=!0}}let v=h.some((D)=>D.reasoning)||S,E=c.thinking,x=E?{...E}:void 0;if(x!==void 0){if(w)x.effortRouting=b;if(c.suppressWhenOff)x.suppressWhenOff=!0}let k=[];if(h.some((D)=>D.input.includes("text")))k.push("text");if(h.some((D)=>D.input.includes("image")))k.push("image");let C=h.some((D)=>D.cursorMaxMode===!0)?!0:void 0,P=QSi(g.provider,h),_=ZSi(h),N={...g,id:c.id,name:c.name,reasoning:v,input:k,contextWindow:YSi(h.map((D)=>D.contextWindow)),maxTokens:YSi(h.map((D)=>D.maxTokens)),...C===void 0?{}:{cursorMaxMode:C},...P===void 0?{}:{cursorMaxModeRoutes:P},..._===void 0?{}:{antigravityWireProfiles:_}};if(h.some((D)=>D.isProviderDefault===!0))N.isProviderDefault=!0;let L=(c.defaultMember!==void 0&&y.has(c.defaultMember)&&!d?.has(c.defaultMember)?c.defaultMember:void 0)??m.find((D)=>!d?.has(D))??m[0];if(L===void 0)continue;if(L===c.id)if(T)N.requestModelId=L;else delete N.requestModelId;else N.requestModelId=L;if(v&&x!==void 0)N.thinking=x;else delete N.thinking;r.set(c.id,N)}for(let c of t.families){if(c.extraAliases===void 0)continue;let d=c.retiredMembers!==void 0&&c.retiredMembers.length>0?new Set(c.retiredMembers):void 0;for(let u of c.extraAliases){if(u===c.id||i.has(u))continue;let p=n.get(u);if(p===void 0)continue;let f=qSi(p,c,d);if(f!==p)i.set(u,u),r.set(u,f)}}if(r.size===0)return[...e];let a=new Set,l=[];for(let c of e){let d=i.get(c.id);if(d===void 0){l.push(c);continue}if(a.has(d))continue;a.add(d);let u=r.get(d);if(u!==void 0)l.push(u)}return l}function iFa(e){let t=new Map;for(let n of e){let r=n.provider.toLowerCase(),i=t.get(r);if(!i)i=new Set,t.set(r,i);i.add(n.id.toLowerCase())}for(let n=0;n<e.length;n++){let r=e[n];if(!r)continue;let i=eDt(r.contextPromotionTarget,r.provider,t),o=eDt(r.compactionModel,r.provider,t),s=eDt(r.webSearchModel,r.provider,t),a=eDt(r.imageModel,r.provider,t);if(i===r.contextPromotionTarget&&o===r.compactionModel&&s===r.webSearchModel&&a===r.imageModel)continue;e[n]={...r,contextPromotionTarget:i,compactionModel:o,webSearchModel:s,imageModel:a}}}function eDt(e,t,n){if(e===void 0)return;let r=e.indexOf("/"),i=r>=0?e.slice(0,r):t,o=i.toLowerCase(),a=(r>=0?e.slice(r+1):e).trim().toLowerCase(),l=n.get(o);if(l?.has(a))return e;let c=tDt(i,a);if(c===void 0||!l?.has(c.toLowerCase()))return e;return r>=0?`${i}/${c}`:c}function ZP(e,t){if(t?.table!==void 0)return ZLt(e,t.table);let n=new Map;for(let i of e){let o=n.get(i.provider);if(o)o.push(i);else n.set(i.provider,[i])}let r=[];for(let[i,o]of n){let s=g0(i),a=s?ZLt(o,s):o;if(i==="cursor"){let c=QDa(a);if(c.length>0)a=ZLt(a,{families:c})}let l=ELn(a,s,i);if(l.length>0)a=ZLt(a,{families:l});sFa(i,a),r.push(...a)}return iFa(r),r}function A9(e){let t=ZP(e),n=new Set(e);return t.map((r)=>n.has(r)?r:io(oFa(r)))}function oFa(e){let{compat:t,compatConfig:n,identity:r,requiresGlyphTokenization:i,supportsComputerUseConfig:o,...s}=e;return{...s,compat:n}}class YKe{#e=new Map;providerScoped=new Map;#t=new Map;#n=new Set;#r;constructor(e=[]){this.#r=e}add(e,t){if(e===t||this.#e.has(e.toLowerCase()))return!1;this.#e.set(e.toLowerCase(),t);let n=this.#t.get(t);if(n)n.push(e);else this.#t.set(t,[e]);return!0}addFamily(e){this.#n.add(e.id);for(let t of e.members)this.add(t,e.id);for(let t of e.extraAliases??[])this.add(t,e.id)}markFamily(e){this.#n.add(e)}resolve(e){let t=e.toLowerCase();return this.#i(t),this.#e.get(t)}isFamily(e){return this.#i(e),this.#n.has(e)}sourcesOf(e){return this.#i(e),this.#t.get(e)}#i(e){if(this.#r.length===0)return;let t=ALn(this.#r,e);if(t===void 0||this.#n.has(t.id))return;this.addFamily(t)}}function sFa(e,t){let n=e.toLowerCase(),r=JKe.get(n);for(let i of t){let o=i.thinking?.effortRouting;if(!o)continue;let s=!1;for(let a of H3){let l=o[a];if(!l||l===i.id)continue;r??=new YKe,s=r.add(l,i.id)||s}if(i.requestModelId&&i.requestModelId!==i.id)r??=new YKe,s=r.add(i.requestModelId,i.id)||s;if(s)r?.markFamily(i.id)}if(r)JKe.set(n,r)}function tDt(e,t){let n=e.toLowerCase(),r=g0(e)??g0(n);return(r?H0e(r).resolve(t):void 0)??JKe.get(n)?.resolve(t)}function H0e(e){let t=Reflect.get(e,KSi);if(t instanceof YKe)return t;let n=new YKe(e.templates);for(let r of e.families)n.addFamily(r);for(let r in e.providerAliases){let i=e.providerAliases[r];if(i!==void 0&&r!==i)n.providerScoped.set(r.toLowerCase(),i)}return Reflect.set(e,KSi,n),n}function W0e(e,t){let n=t.trim().toLowerCase(),r=tDt(e,n);if(r!==void 0)return r;let i=g0(e);return i?H0e(i).providerScoped.get(n):void 0}function iDt(e){let t=e.trim().toLowerCase(),n=new Set;for(let r in vLn)n.add(r);for(let r of JKe.keys())n.add(r);for(let r of n){let i=tDt(r,t);if(i===void 0)continue;let o=[];for(let s of n)if(tDt(s,t)===i)o.push(s);return{id:i,providers:o}}return}function oDt(e,t){let n=e.toLowerCase(),r=g0(e)??g0(n),i=r?H0e(r).sourcesOf(t):void 0,o=JKe.get(n)?.sourcesOf(t);if(!i)return o??[];if(!o)return i;return[...new Set([...i,...o])]}function YSi(e){let t=e.filter((n)=>n!=null);return t.length?Math.max(...t):null}var H3,HDa,jDa,KDa,YDa,JDa,XDa,vLn,JKe,KSi;var rx=A(()=>{Bw();af();OT();lf();H3=["off",...Wr],HDa=["minimal","low","medium","high"];jDa=String.raw`(\d+(?:\.\d+){0,2})`;KDa=/^(.+?)-(extra-high|none|minimal|low|medium|high|xhigh|max)(-fast)?$/,YDa=/-(extra-high|none|minimal|low|medium|high|xhigh|max)$/,JDa=/(^|-)thinking($|-)/,XDa={none:"none",minimal:"minimal",low:"low",medium:"medium",high:"high","extra-high":"xhigh",xhigh:"xhigh",max:"max"};vLn=VDa();JKe=new Map,KSi=Symbol("compat-collapse.aliasIndex")});var tTi={};I(tTi,{ANTIGRAVITY_MODEL_WIRE_PROFILES:()=>MLn,DEFAULT_ANTIGRAVITY_VERSION:()=>kLn,ensureAntigravityVersion:()=>j0e,getAntigravityHeaders:()=>ix,getAntigravityModelWireProfile:()=>lDt,getAntigravityPlatform:()=>_Ln,getAntigravityUserAgent:()=>PLn,getAntigravityVersion:()=>CLn,getGeminiCliHeaders:()=>y0,getGeminiCliUserAgent:()=>xLn,parseAntigravityManifestVersion:()=>ILn});function xLn(e="gemini-3.1-pro-preview"){let t=process.env.PI_AI_GEMINI_CLI_VERSION||"0.46.0",n=process.platform==="win32"?"win32":process.platform,r=process.arch==="x64"?"x64":process.arch;return`GeminiCLI/${t}/${e} (${n}; ${r}; terminal)`}function CLn(){return process.env.PI_AI_ANTIGRAVITY_VERSION||aDt||kLn}function ILn(e){for(let t of e.split(/\r?\n/)){let n=/^\s*version\s*:\s*(?:"([^"]*)"|'([^']*)'|([^\s#]+))\s*(?:#.*)?$/.exec(t);if(!n)continue;let r=(n[1]??n[2]??n[3]??"").trim();return/^\d+\.\d+\.\d+$/.test(r)?r:null}return null}function j0e(e=fetch,t){if(process.env.PI_AI_ANTIGRAVITY_VERSION||aDt)return Promise.resolve();if(!sDt){if(RLn!==void 0&&Date.now()-RLn<cFa)return Promise.resolve();sDt=(async()=>{try{let s=await e(aFa,{headers:{"Cache-Control":"no-cache","User-Agent":"electron-builder"},signal:AbortSignal.timeout(lFa)});if(s.ok)aDt=ILn(await s.text())}catch{}finally{if(sDt=null,!aDt)RLn=Date.now()}})()}let n=sDt;if(!t)return n;if(t.aborted)return Promise.resolve();let{promise:r,resolve:i}=Promise.withResolvers(),o=()=>i();return t.addEventListener("abort",o,{once:!0}),Promise.race([n,r]).finally(()=>t.removeEventListener("abort",o))}function _Ln(e=process.platform){return dFa[e]??{os:"linux",arch:"amd64"}}function PLn(){let e=CLn(),t=process.env.PI_AI_ANTIGRAVITY_CL||"1005016104",n=_Ln(),r=process.env.PI_AI_ANTIGRAVITY_OS||n.os,i=process.env.PI_AI_ANTIGRAVITY_ARCH||n.arch;return`antigravity/hub/${e} (aidev_client; os_type=${r}; arch=${i}; cl=${t})`}function ix(e=PLn()){return{"User-Agent":e,"Accept-Encoding":"gzip"}}function lDt(e,...t){for(let n of t){let r=n?.[e];if(r!==void 0)return r}return MLn[e]}var y0=(e)=>({"User-Agent":xLn(e),"Client-Metadata":"ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI"}),kLn="2.26.0",aFa="https://antigravity-hub-auto-updater-974169037036.us-central1.run.app/manifest/latest-arm64-mac.yml",lFa=5000,cFa=600000,aDt=null,sDt=null,RLn,dFa,MLn;var eM=A(()=>{dFa={darwin:{os:"darwin",arch:"arm64"},linux:{os:"linux",arch:"amd64"},win32:{os:"windows",arch:"amd64"}};MLn={"gemini-3.5-flash-extra-low":{modelEnum:"MODEL_PLACEHOLDER_M187",maxOutputTokens:65536},"gemini-3.5-flash-low":{modelEnum:"MODEL_PLACEHOLDER_M20",maxOutputTokens:65536},"gemini-3-flash-agent":{modelEnum:"MODEL_PLACEHOLDER_M132",maxOutputTokens:65536},"gemini-3.1-pro-low":{modelEnum:"MODEL_PLACEHOLDER_M36",maxOutputTokens:65535},"gemini-pro-agent":{modelEnum:"MODEL_PLACEHOLDER_M16",maxOutputTokens:65535},"claude-sonnet-4-6":{maxOutputTokens:64000},"claude-opus-4-6-thinking":{maxOutputTokens:64000}}});var iTi={};I(iTi,{ANTIGRAVITY_PRIMARY_ENDPOINT:()=>G0e,ANTIGRAVITY_SANDBOX_ENDPOINT:()=>z0e,fetchAntigravityDiscoveryModels:()=>q0e,fetchAntigravityImageModel:()=>XKe});async function q0e(e){let t=await rTi(e);if(!t)return null;if("rejectedStatus"in t)return{models:[],rejectedStatus:t.rejectedStatus};let n=[],r=t.payload.models;if(r)for(let o in r){let s=r[o];if(hFa.has(o))continue;if(s.isInternal===!0)continue;if(s.disabled===!0)continue;let a=s.supportsImages===!0,l=TFa(s);n.push({id:o,name:s.displayName||o,api:"google-gemini-cli",provider:"google-antigravity",baseUrl:t.endpoint,reasoning:s.supportsThinking===!0,input:a?["text","image"]:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:Bn(s.maxTokens,fFa),maxTokens:Bn(s.maxOutputTokens,mFa),...l===void 0?{}:{antigravityWireProfiles:{[o]:l}}})}let i=ZP(n,e.collapseTable===void 0?void 0:{table:e.collapseTable});return i.sort((o,s)=>o.name.localeCompare(s.name)||o.id.localeCompare(s.id)),{models:i}}function TFa(e){let t={};if(e.model)t.modelEnum=e.model;if(e.maxOutputTokens!==void 0&&e.maxOutputTokens>0)t.maxOutputTokens=e.maxOutputTokens;let n=e.thinkingLevel===void 0?void 0:gFa[e.thinkingLevel];if(n!==void 0)t.thinkingLevel=n;if(e.thinkingBudget!==void 0)t.thinkingBudget=e.thinkingBudget;return Object.keys(t).length>0?t:void 0}async function XKe(e){let t=await rTi(e);if(!t||"rejectedStatus"in t)return null;let n=t.payload.imageGenerationModelIds?.find((r)=>r.length>0);return n?{id:n,endpoint:t.endpoint}:null}async function rTi(e){if(e.userAgent===void 0)await j0e(e.fetcher??fetch,e.signal);let t=bl(e.fetcher),n=e.endpoint?[nTi(e.endpoint)]:uFa.map(nTi),r,i=!1;for(let o of n){let s;try{s=await t(`${o}${pFa}`,{method:"POST",headers:{Authorization:`Bearer ${e.token}`,"Content-Type":"application/json",...ix(e.userAgent)},body:JSON.stringify(e.projectId?{project:e.projectId}:{}),signal:e.signal})}catch{i=!0;continue}if(!s.ok){if(s.status===401)r=401;else if(s.status===403)r=403;else i=!0;continue}let a;try{a=await s.json()}catch{i=!0;continue}let l=vFa(a);if(l)return{payload:l,endpoint:o};i=!0}return r!==void 0&&!i?{rejectedStatus:r}:null}function vFa(e){let t=SFa(e);if(t instanceof z.errors)return null;return t}function nTi(e){return e.replace(/\/+$/,"")}var G0e="https://daily-cloudcode-pa.googleapis.com",z0e="https://daily-cloudcode-pa.sandbox.googleapis.com",uFa,pFa="/v1internal:fetchAvailableModels",fFa=200000,mFa=64000,hFa,gFa,yFa,bFa,wFa,SFa;var QKe=A(()=>{on();rx();za();eM();uFa=[G0e,z0e],hFa=new Set(["chat_20706","chat_23310","gemini-2.5-pro"]),gFa={1:"LOW",2:"MEDIUM",3:"HIGH"},yFa=z({"displayName?":z("unknown").pipe((e)=>typeof e==="string"?e:void 0),"supportsImages?":z("unknown").pipe((e)=>typeof e==="boolean"?e:void 0),"supportsThinking?":z("unknown").pipe((e)=>typeof e==="boolean"?e:void 0),"thinkingBudget?":z("unknown").pipe((e)=>typeof e==="number"&&Number.isFinite(e)?e:void 0),"thinkingLevel?":z("unknown").pipe((e)=>typeof e==="number"&&Number.isFinite(e)?e:void 0),"recommended?":z("unknown").pipe((e)=>typeof e==="boolean"?e:void 0),"maxTokens?":z("unknown").pipe((e)=>typeof e==="number"&&Number.isFinite(e)?e:void 0),"maxOutputTokens?":z("unknown").pipe((e)=>typeof e==="number"&&Number.isFinite(e)?e:void 0),"model?":z("unknown").pipe((e)=>typeof e==="string"?e:void 0),"apiProvider?":z("unknown").pipe((e)=>typeof e==="string"?e:void 0),"modelProvider?":z("unknown").pipe((e)=>typeof e==="string"?e:void 0),"isInternal?":z("unknown").pipe((e)=>typeof e==="boolean"?e:void 0),"disabled?":z("unknown").pipe((e)=>typeof e==="boolean"?e:void 0),"supportsVideo?":z("unknown").pipe((e)=>typeof e==="boolean"?e:void 0)}),bFa=z({"modelIds?":z("unknown").pipe((e)=>Array.isArray(e)?e.filter((t)=>typeof t==="string"):void 0)}),wFa=z({"groups?":z("unknown").pipe((e)=>{if(!Array.isArray(e))return;let t=[];for(let n of e){let r=bFa(n);if(!(r instanceof z.errors))t.push(r)}return t})}),SFa=z({"models?":z("unknown").pipe((e)=>{if(typeof e!=="object"||e===null)return;let t={};for(let[n,r]of Object.entries(e)){if(typeof r!=="object"||r===null)continue;let i=yFa(r);if(!(i instanceof z.errors))t[n]=i}return t}),"agentModelSorts?":z("unknown").pipe((e)=>{if(!Array.isArray(e))return;let t=[];for(let n of e){let r=wFa(n);if(!(r instanceof z.errors))t.push(r)}return t}),"imageGenerationModelIds?":z("unknown").pipe((e)=>Array.isArray(e)?e.filter((t)=>typeof t==="string"):void 0)})});var oTi={};I(oTi,{createBundledReferenceMap:()=>_u,createReferenceResolver:()=>j3,toModelSpec:()=>Va});function Va(e){let{compat:t,compatConfig:n,supportsComputerUse:r,supportsComputerUseConfig:i,...o}=e;return QB({...o,...i!==void 0?{supportsComputerUse:i}:{},compat:n})}function _u(e){let t=new Map;for(let n of Cs(e))t.set(n.id,Va(n));return t}function AFa(){if(OLn)return OLn;let e=new Map;for(let t of ER())for(let n of Cs(t)){let r=n;if(!rce(r.provider)||WCe(r))continue;let i=e.get(r.id);if(!i)e.set(r.id,r);else if(r.contextWindow!==i.contextWindow){if((r.contextWindow??0)>(i.contextWindow??0))e.set(r.id,r)}else if(r.maxTokens!==i.maxTokens){if((r.maxTokens??0)>(i.maxTokens??0))e.set(r.id,r)}else if(i.provider!=="openai"&&r.provider==="openai")e.set(r.id,r)}return OLn=e,e}function j3(e){let t,n=typeof e==="function"?()=>t??=e():()=>e;return(r)=>{let i=n(),o=AFa(),s=i.get(r);if(s)return s;let a=o.get(r);return a?Va(a):void 0}}var OLn;var b0=A(()=>{xu();gce();qc();Ti()});var lTi={};I(lTi,{fetchGeminiModels:()=>ZKe});async function ZKe(e){if(!e.apiKey.trim())return null;let t=bl(e.fetch),n=MFa(e.baseUrl),r=cDt(e.pageSize,EFa),i=cDt(e.maxPages,RFa),o=new Map(Cs("google").map((c)=>[c.id,Va(c)])),s=new Map,a=new Set,l;for(let c=0;c<i;c+=1){let d=PFa(n,e.apiKey,r,l),u;try{u=await t(d,{method:"GET",signal:e.signal})}catch{return null}if(!u.ok)return null;let p;try{p=await u.json()}catch{return null}let f=_Fa(p);if(f instanceof z.errors)return null;for(let h of f.models){let g=NFa(h,n,o);if(g)s.set(g.id,g)}let m=OFa(f.nextPageToken);if(!m)break;if(a.has(m))break;a.add(m),l=m}return Array.from(s.values()).sort((c,d)=>c.id.localeCompare(d.id))}function PFa(e,t,n,r){let i=new URL(`${e}/models`);if(i.searchParams.set("key",t),i.searchParams.set("pageSize",String(n)),r)i.searchParams.set("pageToken",r);return i}function MFa(e){let t=(e??sTi).trim();if(!t)return sTi;return t.replace(/\/+$/,"")}function cDt(e,t){if(typeof e!=="number"||!Number.isFinite(e)||e<=0)return t;let n=Math.floor(e);return n>0?n:t}function OFa(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t:void 0}function NFa(e,t,n){let r=LFa(e.name);if(!r)return null;if(!FFa(e.supportedGenerationMethods))return null;let i=n.get(r),o=cDt(e.inputTokenLimit,i?.contextWindow??null),s=cDt(e.outputTokenLimit,i?.maxTokens??null),a=DFa(e.displayName,i?.name??r);if(i)return{...i,id:r,name:a,baseUrl:t,contextWindow:o,maxTokens:s};return{id:r,name:a,api:"google-generative-ai",provider:"google",baseUrl:t,reasoning:BFa(r),input:UFa(r),cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:o,maxTokens:s}}function LFa(e){if(!e)return null;let t=e.trim();if(!t)return null;return t.startsWith("models/")?t.slice(7):t}function DFa(e,t){let n=e?.trim();return n?n:t}function FFa(e){if(!e||e.length===0)return!1;return e.some((t)=>t==="generateContent")}function BFa(e){let t=e.toLowerCase();if(t.includes("thinking"))return!0;if(t.includes("pro")||t.includes("2.5"))return!0;return!1}function UFa(e){let t=e.toLowerCase();if(t.includes("vision")||t.includes("image")||t.includes("gemini"))return["text","image"];return["text"]}var sTi="https://generativelanguage.googleapis.com/v1beta",EFa=100,RFa=25,xFa,kFa,NLn,aTi,CFa,IFa,_Fa;var dDt=A(()=>{on();Ti();b0();za();xFa=z("string"),kFa=z("number"),NLn=z("unknown").pipe((e)=>{if(e===void 0)return;let t=xFa(e);return t instanceof z.errors?void 0:t}),aTi=z("unknown").pipe((e)=>{if(e===void 0)return;let t=kFa(e);return t instanceof z.errors?void 0:t}),CFa=z({"name?":NLn,"displayName?":NLn,"supportedGenerationMethods?":"string[]","inputTokenLimit?":aTi,"outputTokenLimit?":aTi}),IFa=z("unknown[]").pipe((e)=>{let t=[];for(let n of e){let r=CFa(n);if(!(r instanceof z.errors))t.push(r)}return t}).default(()=>[]),_Fa=z({models:IFa,"nextPageToken?":NLn})});var cTi={};I(cTi,{fetchGeminiCliQuotaModels:()=>eYe});async function eYe(e){let t=bl(e.fetcher),n=(e.endpoint?.trim()||$Fa).replace(/\/+$/,""),r={Authorization:`Bearer ${e.token}`,"Content-Type":"application/json",...y0()},i=e.projectId??await YFa(t,n,r,e.signal),o;try{o=await t(`${n}${WFa}`,{method:"POST",headers:r,body:JSON.stringify(i?{project:i}:{}),signal:e.signal})}catch{return null}if(!o.ok)return null;let s;try{s=await o.json()}catch{return null}let a=KFa(s);if(a instanceof z.errors)return null;let l=new Set,c=[],d=_u("google-gemini-cli");for(let p of a.buckets??[]){let f=p.modelId?.trim();if(!f||l.has(f))continue;let m=Or("google-gemini-cli",f,{lenient:!0});if(m.class!=="gemini")continue;l.add(f);let h=d.get(f);if(h){c.push({...h,baseUrl:n});continue}let g=m.revision===void 0?void 0:ta(m.revision),y=ta(zFa);c.push({id:f,name:f,api:"google-gemini-cli",provider:"google-gemini-cli",baseUrl:n,reasoning:g!==void 0&&y!==void 0&&Ip(g,y)>=0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:jFa,maxTokens:GFa})}let u=ZP(c,e.collapseTable===void 0?void 0:{table:e.collapseTable});return u.sort((p,f)=>p.name.localeCompare(f.name)||p.id.localeCompare(f.id)),u}async function YFa(e,t,n,r){let i;try{i=await e(`${t}${HFa}`,{method:"POST",headers:n,body:JSON.stringify({metadata:{ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"}}),signal:r})}catch{return}if(!i.ok)return;let o;try{o=await i.json()}catch{return}let s=qFa(o);return s instanceof z.errors?void 0:s.cloudaicompanionProject}var $Fa="https://cloudcode-pa.googleapis.com",HFa="/v1internal:loadCodeAssist",WFa="/v1internal:retrieveUserQuota",jFa=1048576,GFa=65536,zFa="2.5",qFa,VFa,KFa;var uDt=A(()=>{on();rx();lf();b0();za();eM();qFa=z({"cloudaicompanionProject?":z("unknown").pipe((e)=>{if(typeof e==="string")return e;if(e&&typeof e==="object"&&"id"in e&&typeof e.id==="string")return e.id;return})}),VFa=z({"modelId?":z("unknown").pipe((e)=>typeof e==="string"?e:void 0)}),KFa=z({"buckets?":z("unknown").pipe((e)=>{if(!Array.isArray(e))return;let t=[];for(let n of e){let r=VFa(n);if(!(r instanceof z.errors))t.push(r)}return t})})});var dTi={};I(dTi,{unionAccountCatalogs:()=>tYe});function tYe(e){let t=new Map;for(let n of e)for(let r of n){let i=t.get(r.id);if(!i)t.set(r.id,r);else if(r.accountAccess)t.set(r.id,{...i,accountAccess:{...i.accountAccess,...r.accountAccess}})}return[...t.values()]}var pTi={};I(pTi,{googleAntigravityModelManagerOptions:()=>iYe,googleGeminiCliModelManagerOptions:()=>oYe,googleModelManagerOptions:()=>nYe,googleVertexModelManagerOptions:()=>rYe});function LLn(e){if(!e)return;return Object.assign((t,n)=>e(t,n),{preconnect:e.preconnect??fetch.preconnect})}function nYe(e){let t=e?.apiKey;return{providerId:"google",dropCachedModelIdsOnStaticMismatch:uTi,...t?{fetchDynamicModels:()=>ZKe({apiKey:t,fetch:LLn(e?.fetch)})}:void 0}}function rYe(e){return{providerId:"google-vertex",dropCachedModelIdsOnStaticMismatch:uTi}}function iYe(e){let t=e?.resolveAccounts;return{providerId:"google-antigravity",dynamicModelsAuthoritative:ny("google-antigravity")?.dynamicModelsAuthoritative===!0,...t?{fetchDynamicModels:async()=>{let n=await t();if(!n||n.length===0)return null;let r=LLn(e?.fetch),i=await Promise.all(n.map(async(a)=>({accountKey:a.accountKey,result:await q0e({token:a.accessToken,endpoint:e?.endpoint,projectId:a.projectId,fetcher:r})}))),o=[];for(let{accountKey:a,result:l}of i){if(!l)return null;if(l.rejectedStatus!==void 0){G("Antigravity model discovery skipped an account whose credential was rejected",{accountKey:a,status:l.rejectedStatus});continue}o.push({accountKey:a,models:l.models.filter((c)=>!ty("google-antigravity",c.id))})}if(o.length===0)return null;let s=o.every((a)=>a.accountKey!==void 0);return tYe(o.map(({accountKey:a,models:l})=>s&&a!==void 0?l.map((c)=>({...c,accountAccess:{[a]:c.antigravityWireProfiles===void 0?{}:{antigravityWireProfiles:c.antigravityWireProfiles}}})):l))}}:void 0}}function oYe(e){let t=e?.oauthToken,n=e?.endpoint??JFa;return{providerId:"google-gemini-cli",...t?{fetchDynamicModels:async()=>{let r=LLn(e?.fetch),i=g0("google-gemini-cli");if(i===void 0)throw Error("missing reviewed collapse table for google-gemini-cli");let o=await q0e({token:t,projectId:e?.projectId,fetcher:r,collapseTable:i});if(o===null||o.rejectedStatus!==void 0)return eYe({token:t,projectId:e?.projectId,endpoint:n,fetcher:r});return o.models.filter((s)=>Or("google-gemini-cli",s.id,{lenient:!0}).class==="gemini").map((s)=>({...s,provider:"google-gemini-cli",baseUrl:n}))}}:void 0}}var JFa="https://cloudcode-pa.googleapis.com",uTi;var pDt=A(()=>{j();xu();rx();lf();o0();QKe();dDt();uDt();uTi=["gemini-3.7-flash","gemini-3.8-flash"]});var mTi={};I(mTi,{OLLAMA_CLOUD_MAX_OUTPUT_TOKENS:()=>fDt,isOllamaCloudOutputCapped:()=>mDt,normalizeOllamaCloudBaseUrl:()=>hDt,ollamaCloudModelManagerOptions:()=>sYe});function mDt(e){let t=e.indexOf(":"),n=t>0?e.slice(0,t):e;return QFa[n]===!0}function ZFa(e){return e.endsWith("/")?e.slice(0,-1):e}function hDt(e){let t=e?.trim();if(!t)return"https://ollama.com";let n=ZFa(t);return n.endsWith("/api")?n.slice(0,-4):n}function fTi(e){return{Accept:"application/json",Authorization:`Bearer ${e}`}}function eBa(e){if(!e)return;for(let[t,n]of Object.entries(e)){if(typeof n!=="number")continue;if(t.endsWith(".context_length")||t.endsWith(".num_ctx")||t.endsWith(".context_window"))return n}}async function tBa(e,t,n,r=bl()){let i=await r(`${e}/api/show`,{method:"POST",headers:{...fTi(t),"Content-Type":"application/json"},body:JSON.stringify({model:n})});if(!i.ok)return;return await i.json()}function sYe(e){let t=e?.apiKey,n=hDt(e?.baseUrl),r,i=()=>r??=_u("ollama-cloud"),o=j3(i);return{providerId:"ollama-cloud",fetchDynamicModels:async()=>{if(!t)return[];let s=await Gf(`${n}/api/tags`,{method:"GET",headers:fTi(t),fetch:bl(e?.fetch),defaultDelayMs:XFa});if(!s.ok)throw Error(`HTTP ${s.status} from ${n}/api/tags`);let l=(await s.json()).models??[];return(await Promise.all(l.map(async(d)=>{let u=d.model??d.name;if(!u)return;let p=o(u),f=i().get(u),m;try{m=await tBa(n,t,u,e?.fetch)}catch{m=void 0}let h=m?.capabilities,g=eBa(m?.model_info),y=g??128000,b=h?h.includes("thinking"):p?.reasoning??!1,w=h?void 0:p?.thinking,S=h?h.includes("vision")?["text","image"]:["text"]:p?.input??["text"],T=d.name&&d.name!==u?d.name:p?.name??u;return{id:u,name:T,api:"ollama-chat",provider:"ollama-cloud",baseUrl:n,reasoning:b,thinking:w,input:S,cost:p?.cost??{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:y,maxTokens:mDt(u)?Math.min(y,fDt):g!==null&&g!==void 0?f?.maxTokens??Math.min(y,8192):Math.min(y,8192),omitMaxOutputTokens:!0}}))).filter((d)=>d!==void 0).sort((d,u)=>d.id.localeCompare(u.id))}}}var XFa,fDt=65536,QFa;var gDt=A(()=>{j();za();b0();XFa=[2000,5000,1e4],QFa={"deepseek-v4-flash":!0,"deepseek-v4-pro":!0}});var hTi={};I(hTi,{toClinePassPublicModelId:()=>yDt,toClinePassWireModelId:()=>DLn});function DLn(e){return e.startsWith("cline-pass/")?e:`cline-pass/${e}`}function yDt(e){return e.startsWith("cline-pass/")?e.slice(11):e}var gTi={};I(gTi,{xaiResponsesReasoningEffortMap:()=>V0e});function V0e(e){let t=Or("xai",e,{lenient:!0}),n=t.revision===void 0?void 0:ta(t.revision),r=ta("4.6");return t.class==="xai"&&t.family==="grok"&&n!==void 0&&r!==void 0&&Ip(n,r)>=0?nBa:rBa}var nBa,rBa;var bDt=A(()=>{lf();nBa={minimal:"low"},rBa={minimal:"low",xhigh:"high",max:"high"}});var bTi={};I(bTi,{DEFAULT_OPENAI_COMPATIBLE_DISCOVERY_TIMEOUT_MS:()=>ZU,fetchOpenAICompatibleModels:()=>ga});async function oBa(e,t){let n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("The operation timed out.","TimeoutError")),e);try{return await t(n.signal)}finally{clearTimeout(r)}}async function ga(e){let t=cBa(e.baseUrl);if(!t)return null;let n={Accept:"application/json",...e.headers};if(e.apiKey)n.Authorization=`Bearer ${e.apiKey}`;let r=bl(e.fetch),i=e.query?`?${new URLSearchParams(e.query)}`:"",o=async(d)=>{let u;try{u=await r(`${t}${iBa}${i}`,{method:"GET",headers:n,signal:d})}catch{return null}if(!u.ok)return null;try{return await u.json()}catch{return null}},s=e.signal!==void 0?await o(e.signal):await oBa(e.timeoutMs??ZU,o);if(s===null)return null;let a=dBa(s);if(a===null)return null;let l={api:e.api,provider:e.provider,baseUrl:t},c=new Map;for(let d of a){let u={id:d.id,name:typeof d.name==="string"&&d.name.length>0?d.name:d.id,api:e.api,provider:e.provider,baseUrl:t,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:null,maxTokens:null},p=e.mapModel?e.mapModel(d,u,l):u;if(!p||typeof p.id!=="string"||p.id.length===0)continue;if(e.filterModel&&!e.filterModel(d,p))continue;c.set(p.id,p)}return Array.from(c.values()).sort((d,u)=>d.id.localeCompare(u.id))}function cBa(e){let t=e.trim();if(!t)return"";return t.endsWith("/")?t.slice(0,-1):t}function dBa(e){return yTi(e)}function yTi(e){let t=lBa(e);if(t instanceof z.errors)return null;if(Array.isArray(t))return t.map((r)=>sBa(r)).flatMap((r)=>r instanceof z.errors?[]:[r]);for(let n of[t.data,t.models,t.result,t.items]){if(n===void 0)continue;let r=yTi(n);if(r!==null)return r}return null}var iBa="/models",ZU=1e4,sBa,aBa,lBa;var wDt=A(()=>{on();za();sBa=z({id:"string >= 1","name?":"string | null","object?":"unknown","owned_by?":"unknown"}),aBa=z({"data?":"unknown","models?":"unknown","result?":"unknown","items?":"unknown"}),lBa=z("unknown[]").or(aBa)});var vTi={};I(vTi,{FIREWORKS_FAST_SUFFIX:()=>Kce,isFireworksFastModelId:()=>K0e,toFirepassPublicModelId:()=>TTi,toFirepassWireModelId:()=>TDt,toFireworksBaseModelId:()=>lYe,toFireworksPublicModelId:()=>aYe,toFireworksWireModelId:()=>SDt});function aYe(e){return(e.startsWith("accounts/fireworks/models/")?e.slice(26):e).replace(wTi,".")}function SDt(e){return`accounts/fireworks/models/${(e.startsWith("accounts/fireworks/models/")?e.slice(26):e).replace(STi,"p")}`}function TTi(e){return(e.startsWith("accounts/fireworks/routers/")?e.slice(27):e).replace(wTi,".")}function TDt(e){return`accounts/fireworks/routers/${(e.startsWith("accounts/fireworks/routers/")?e.slice(27):e).replace(STi,"p")}`}function K0e(e){return e.endsWith(Kce)}function lYe(e){return e.endsWith(Kce)?e.slice(0,-Kce.length):e}var wTi,STi,Kce="-fast";var Yce=A(()=>{wTi=/(?<=\d)p(?=\d)/g,STi=/(?<=\d)\.(?=\d)/g});var ATi={};I(ATi,{CLOUDFLARE_AI_GATEWAY_ANTHROPIC_BASE_URL:()=>BLn,CLOUDFLARE_AI_GATEWAY_BASE_URL:()=>FLn,CLOUDFLARE_AI_GATEWAY_COMPAT_BASE_URL:()=>cYe,CLOUDFLARE_AI_GATEWAY_OPENAI_BASE_URL:()=>ULn});var FLn="https://gateway.ai.cloudflare.com/v1/<account>/<gateway>",BLn="https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic",ULn="https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/openai",cYe="https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/compat";var kTi={};I(kTi,{CLINE_PASS_MODEL_METADATA:()=>xTi,getClinePassModelMetadata:()=>EDt});function EDt(e){return xTi[e]}var ADt,vDt,uBa,pBa,ETi,RTi,fBa,mBa,xTi;var $Ln=A(()=>{af();ADt={mode:"effort",efforts:["low","high","max"],defaultLevel:"high",requiresEffort:!1},vDt={mode:"effort",efforts:["high","xhigh"],requiresEffort:!1},uBa={mode:"effort",efforts:["low","medium","high","xhigh","max"],requiresEffort:!1},pBa={mode:"effort",efforts:["minimal","low","medium","high","xhigh"],defaultLevel:"medium",requiresEffort:!1},ETi={name:"DeepSeek V4.1 Flash (free)",contextWindow:1048576,maxTokens:384000,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0,thinking:ADt,tier:"free"},RTi={name:"Muse Spark 1.3 (C) (free)",contextWindow:1048576,maxTokens:131072,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0,thinking:pBa,tier:"free"},fBa={mode:"effort",efforts:["minimal","low","medium","high","xhigh"],requiresEffort:!0},mBa={mode:"budget",efforts:["minimal","low","medium","high","xhigh","max"],defaultLevel:"high",requiresEffort:!1,effortBudgets:{minimal:13107,low:26214,medium:65536,high:104857,xhigh:124518,max:131072}},xTi={"kimi-k3":{name:"Kimi K3",contextWindow:1048576,maxTokens:1048576,input:["text","image"],cost:{input:3,output:15,cacheRead:0.3,cacheWrite:0},reasoning:!0,thinking:ADt,tier:"subscription"},"qwen3.8-max":{name:"Qwen3.8 Max",contextWindow:1e6,maxTokens:131072,input:["text","image"],cost:{input:2,output:6,cacheRead:0.25,cacheWrite:2.5},reasoning:!0,thinking:fBa,tier:"subscription"},"deepseek-v4-flash":{name:"DeepSeek V4 Flash",contextWindow:1048576,maxTokens:384000,input:["text"],cost:{input:0.056,output:0.112,cacheRead:0.0112,cacheWrite:0},reasoning:!0,thinking:vDt,tier:"subscription"},"glm-5.2":{name:"GLM-5.2",contextWindow:1048576,maxTokens:131072,input:["text"],cost:{input:0.966,output:3.036,cacheRead:0.1932,cacheWrite:0},reasoning:!0,thinking:ADt,tier:"subscription"},"deepseek-v4-pro":{name:"DeepSeek V4 Pro",contextWindow:1048576,maxTokens:384000,input:["text"],cost:{input:0.522,output:1.044,cacheRead:0.0435,cacheWrite:0},reasoning:!0,thinking:vDt,tier:"subscription"},"qwen3.7-max":{name:"Qwen3.7 Max",contextWindow:1e6,maxTokens:131072,input:["text"],cost:{input:1.475,output:4.425,cacheRead:0.295,cacheWrite:1.84375},reasoning:!0,thinking:vDt,tier:"subscription"},"qwen3.7-plus":{name:"Qwen3.7 Plus",contextWindow:1e6,maxTokens:131072,input:["text","image"],cost:{input:0.32,output:1.28,cacheRead:0.064,cacheWrite:0.4},reasoning:!0,thinking:mBa,tier:"subscription"},"minimax-m3":{name:"MiniMax-M3",contextWindow:1048576,maxTokens:512000,input:["text","image"],cost:{input:0.3,output:1.2,cacheRead:0.06,cacheWrite:0},reasoning:!0,tier:"subscription"},"kimi-k2.7-code":{name:"Kimi K2.7 Code",contextWindow:262144,maxTokens:262144,input:["text","image"],cost:{input:0.67,output:3.4,cacheRead:0.19,cacheWrite:0},reasoning:!0,tier:"subscription"},"kimi-k2.6":{name:"Kimi K2.6",contextWindow:262144,maxTokens:262144,input:["text","image"],cost:{input:0.95,output:4,cacheRead:0.16,cacheWrite:0},reasoning:!0,tier:"subscription"},"glm-5.3":{name:"GLM-5.3",contextWindow:1048576,maxTokens:131072,input:["text"],cost:{input:1.4,output:4.4,cacheRead:0.26,cacheWrite:0},reasoning:!0,thinking:ADt,tier:"subscription"},"mimo-v2.5-pro":{name:"MiMo-V2.5-Pro",contextWindow:1050000,maxTokens:131072,input:["text"],cost:{input:0.435,output:0.87,cacheRead:0.0036,cacheWrite:0},reasoning:!0,tier:"subscription"},"mimo-v2.5":{name:"MiMo-V2.5",contextWindow:1050000,maxTokens:131072,input:["text","image"],cost:{input:0.14,output:0.28,cacheRead:0.0028,cacheWrite:0},reasoning:!0,tier:"subscription"},"stealth/ox-alpha":{name:"Ox Alpha (free)",contextWindow:1048576,maxTokens:131072,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0,thinking:uBa,tier:"free"},"deepseek/deepseek-v4-flash":{name:"DeepSeek V4 Flash (free)",contextWindow:1048576,maxTokens:384000,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0,thinking:vDt,tier:"free"},"poolside/laguna-s-2.1:free":{name:"Laguna S 2.1 (free)",contextWindow:262144,maxTokens:32768,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},reasoning:!0,tier:"free"},"cline-free/deepseek-v4.1-flash":ETi,"deepseek/deepseek-v4.1-flash":ETi,"cline-free/muse-spark-1.3-contributor":RTi,"meta/muse-spark-1.3-contributor":RTi}});var CTi={};I(CTi,{filterModelsDevCatalogRows:()=>HLn});function HLn(e){return e.filter((t)=>!ty(t.provider,t.id))}var WLn=A(()=>{xu()});var bvi={};I(bvi,{ALIBABA_TOKEN_PLAN_BASE_URL:()=>S3,COPILOT_LONG_CONTEXT_ID_SUFFIX:()=>KDt,CORALBRICKS_BASE_URL:()=>FDt,DEEPINFRA_BASE_URL:()=>DDt,KIMI_CODE_DEFAULT_MAX_TOKENS:()=>GDt,MODELS_DEV_CATALOG_PROVIDER_IDS:()=>z3,MODELS_DEV_PROVIDER_DESCRIPTORS:()=>y9e,OPENAI_COMPAT_DISCOVERY_DEFAULT_CONTEXT_WINDOW:()=>Q0e,OPENAI_COMPAT_DISCOVERY_DEFAULT_MAX_TOKENS:()=>Z0e,abliterationModelManagerOptions:()=>s9e,aiandModelManagerOptions:()=>o9e,aimlApiModelManagerOptions:()=>kYe,alibabaCodingPlanModelManagerOptions:()=>jYe,alibabaTokenPlanModelManagerOptions:()=>GYe,anthropicModelManagerOptions:()=>g9e,applyXaiResponsesThinkingPolicy:()=>BDt,basetenModelManagerOptions:()=>JYe,bedrockMantleModelManagerOptions:()=>e9e,buildFireworksFastSeed:()=>iDn,buildXaiOAuthStaticSeed:()=>UDt,cerebrasModelManagerOptions:()=>yYe,charmHyperModelManagerOptions:()=>w9e,clinePassModelManagerOptions:()=>NYe,cloudflareAiGatewayModelManagerOptions:()=>u9e,commandCodeModelManagerOptions:()=>b9e,coralbricksModelManagerOptions:()=>EYe,coreWeaveModelManagerOptions:()=>ZYe,createSimpleOpenAICompletionsOptions:()=>tM,deepinfraModelManagerOptions:()=>AYe,deepseekModelManagerOptions:()=>CYe,fetchLiteLLMRichModels:()=>eIe,fetchLmStudioNativeModelMetadata:()=>Xce,fetchWellKnownModels:()=>x9,firepassModelManagerOptions:()=>OYe,fireworksModelManagerOptions:()=>MYe,githubCopilotModelManagerOptions:()=>h9e,gmiCloudModelManagerOptions:()=>hYe,groqModelManagerOptions:()=>gYe,helmcodeModelManagerOptions:()=>SYe,huggingfaceModelManagerOptions:()=>wYe,inceptionModelManagerOptions:()=>QYe,isLikelyAimlApiChatModelId:()=>$Dt,isLikelySiliconFlowChatModelId:()=>HDt,isSelectableLiteLLMModelMode:()=>C9,isStepfunChatModelId:()=>qDt,kiloModelManagerOptions:()=>WYe,kimiCodeMaxTokens:()=>zDt,kimiCodeModelManagerOptions:()=>qYe,litellmModelManagerOptions:()=>p9e,lmStudioModelManagerOptions:()=>VYe,mapModelsDevToModels:()=>_9,metaModelManagerOptions:()=>t9e,mistralModelManagerOptions:()=>DYe,modelsDevCatalogFallback:()=>tIe,moonshotModelManagerOptions:()=>r9e,museCodeModelManagerOptions:()=>n9e,nanoGptModelManagerOptions:()=>m9e,normalizeLiteLLMManagementBaseUrl:()=>VDt,novitaModelManagerOptions:()=>vYe,nvidiaModelManagerOptions:()=>TYe,ollamaModelManagerOptions:()=>UYe,openCodeGoBaseUrlForApi:()=>fDn,openaiModelManagerOptions:()=>mYe,opencodeGoModelManagerOptions:()=>BYe,opencodeZenModelManagerOptions:()=>FYe,openrouterDecisionsBaseUrl:()=>X0e,openrouterModelManagerOptions:()=>$Ye,projectOpenAIProReasoningAliases:()=>rDn,qianfanModelManagerOptions:()=>d9e,qwenPortalModelManagerOptions:()=>c9e,resolveLiteLLMApi:()=>I9,resolveWaferServerlessThinkingFormat:()=>jDt,resolveZaiApi:()=>YDt,sakanaModelManagerOptions:()=>i9e,sambanovaModelManagerOptions:()=>bYe,siliconflowCnModelManagerOptions:()=>_Ye,siliconflowModelManagerOptions:()=>IYe,singularityApiDevModelManagerOptions:()=>S9e,singularityApiTechModelManagerOptions:()=>T9e,stepfunModelManagerOptions:()=>l9e,stripFireworksDeepSeekThinkingToggle:()=>WDt,syntheticModelManagerOptions:()=>KYe,togetherModelManagerOptions:()=>XYe,umansModelManagerOptions:()=>fYe,veniceModelManagerOptions:()=>YYe,vercelAiGatewayModelManagerOptions:()=>zYe,vllmModelManagerOptions:()=>f9e,waferServerlessModelManagerOptions:()=>LYe,xaiModelManagerOptions:()=>RYe,xaiOAuthModelManagerOptions:()=>xYe,xiaomiModelManagerOptions:()=>k9,yoloAutoModelManagerOptions:()=>a9e,zenmuxModelManagerOptions:()=>HYe,zhipuCodingPlanModelManagerOptions:()=>PYe});function MDt(e,t){if(e===void 0)return!1;let n=ta(e),r=ta(t);return n!==void 0&&r!==void 0&&Ip(n,r)>=0}function eDn(e,t,n){let r=Or(e,t,{lenient:!0});if(r.class!=="glm"||!MDt(r.revision,n))return!1;if(r.family==="flash")return MDt(r.revision,"5.3");return r.family===void 0||r.family==="air"||r.family==="turbo"}async function G3(e,t){let n=new AbortController,r=setTimeout(()=>n.abort(new DOMException("The operation timed out.","TimeoutError")),e);try{return await t(n.signal)}finally{clearTimeout(r)}}function Bp(e,t){if(typeof e!=="string")return t;let n=e.trim();return n.length>0?n:t}function Jce(e){if(!Array.isArray(e))return["text"];return e.some((n)=>n==="image")?["text","image"]:["text"]}function BTi(e){if(!e)return wBa;let t=ITi.get(e);if(t)return t;let n={inflight:null,payload:void 0,etag:null,hasPayload:!1};return ITi.set(e,n),n}function SBa(e,t){if(!t)return e;if(t.aborted)return Promise.reject(t.reason);let n=Promise.withResolvers(),r=()=>n.reject(t.reason);return t.addEventListener("abort",r,{once:!0}),Promise.race([e,n.promise]).finally(()=>{t.removeEventListener("abort",r)})}function x9(e,t){let n=BTi(e);return UTi(e,t).catch((r)=>{if(n.hasPayload)return n.payload;throw r})}function UTi(e,t){let n=BTi(e);if(!n.inflight)n.inflight=G3(ZU,(r)=>vBa(e??bl(),n,r)).finally(()=>{n.inflight=null});return SBa(n.inflight,t)}function tDn(e,t=ZU){return G3(t,(n)=>UTi(e,n))}async function vBa(e,t,n){let r={Accept:"application/zstd, application/json","User-Agent":TBa};if(t.hasPayload&&t.etag)r["If-None-Match"]=t.etag;let i=await e(hBa,{method:"GET",headers:r,signal:n});if(i.status===304&&t.hasPayload)return t.payload;if(!i.ok)throw Error(`models catalog fetch failed: ${i.status}`);let o=new Uint8Array(await i.arrayBuffer()),s=o.length>=4&&new DataView(o.buffer,o.byteOffset).getUint32(0,!0)===gBa,a=new TextDecoder().decode(s?await Bun.zstdDecompress(o):o),l=JSON.parse(a);return t.payload=l,t.etag=i.headers.get("etag"),t.hasPayload=!0,l}function ABa(e){let t=e.reasoning_options?.find((r)=>r?.type==="effort")?.values;if(!Array.isArray(t))return;let n=Wr.filter((r)=>t.includes(r));return n.length>0?n:void 0}function EBa(e){let t=new Map,n=new Map,r=new Set,i={byHost:t,byId:n,withoutLadder:r},o=new Set;if(!U(e))return i;for(let[s,a]of Object.entries(e)){if(!U(a)||!U(a.models))continue;for(let[l,c]of Object.entries(a.models)){if(!U(c))continue;let d=`${s}\x00${l}`,u=ABa(c);if(!u){r.add(d),n.delete(l),o.add(l);continue}if(t.set(d,u),o.has(l))continue;let p=n.get(l);if(p===void 0)n.set(l,u);else if(p.length!==u.length||p.some((f,m)=>f!==u[m]))n.delete(l),o.add(l)}}return i}async function xBa(e){let t=await x9(e);if(!U(t))return $Ti;let n=t;return n[RBa]??=EBa(t)}function kBa(e){let t=new Set;for(let n of pYe[e]??[])t.add(n.modelsDevKey);return t.add(e),[...t]}function CBa(e,t,n){let r=[...t],i;for(let o=n;;){let s=!1;for(let l of r){let c=`${l}\x00${o}`,d=e.byHost.get(c);if(d)return d;s||=e.withoutLadder.has(c)}if(s)return;i??=e.byId.get(o);let a=o.indexOf("/");if(a<0)return i;r.unshift(o.slice(0,a)),o=o.slice(a+1)}}async function IBa(e,t,n){if(e===null)return null;let r=new Set(e.filter((s)=>s.reasoning===!0&&s.thinking===void 0&&!BVe(s)).map((s)=>s.id));if(r.size===0)return e;let i=await xBa(n).catch(()=>$Ti);if(i.byHost.size===0)return e;let o=kBa(t);return e.map((s)=>{if(!r.has(s.id))return s;let a=CBa(i,o,s.id);return a?{...s,thinking:{mode:"effort",efforts:a}}:s})}function _Ti(e,t){if(!U(e))return[];let n=e.anthropic;if(!U(n))return[];let r=n.models;if(!U(r))return[];let i=[];for(let[o,s]of Object.entries(r)){if(!U(s))continue;let a=s;if(a.tool_call!==!0)continue;i.push({id:o,name:Bp(a.name,o),api:"anthropic-messages",provider:"anthropic",baseUrl:t,reasoning:a.reasoning===!0,input:Jce(a.modalities?.input),cost:{input:en(a.cost?.input)??0,output:en(a.cost?.output)??0,cacheRead:en(a.cost?.cache_read)??0,cacheWrite:en(a.cost?.cache_write)??0},contextWindow:Bn(a.limit?.context,null),maxTokens:Bn(a.limit?.output,null)})}return i.sort((o,s)=>o.id.localeCompare(s.id)),i}function HTi(e,t){let n=AR(e),r={"anthropic-version":AA(t),"anthropic-dangerous-direct-browser-access":"true","anthropic-beta":bBa};if(n)r.Authorization=`Bearer ${e}`;else r["x-api-key"]=e;return r}function _Ba(e){let t=new Map;for(let r of e)t.set(r.id,r);let n=Cs("anthropic").filter((r)=>r.api==="anthropic-messages");for(let r of n)t.set(r.id,Va(r));return t}function mc(e,t,n){let r=Bp(e.name,n?.name??t.name);if(!n)return{...t,name:r};let{kind:i,...o}=n;return{...o,id:t.id,name:r,api:t.api,provider:t.provider,baseUrl:t.baseUrl,contextWindow:Bn(e.context_length,n.contextWindow),maxTokens:Bn(e.max_completion_tokens,n.maxTokens)}}function WTi(e){let t=U(e)?e:{};return{input:Bn(t.prompt,0)*1e6,output:Bn(t.completion,0)*1e6,cacheRead:Bn(t.input_cache_read??t.input_cache_reads,0)*1e6,cacheWrite:Bn(t.input_cache_write??t.input_cache_writes,0)*1e6}}function PBa(e,t){if(!U(e)||e.unit!=="per_million_tokens")return t;let n=(r,i)=>{let o=Bn(r,0);return o>0?o*1000:i};return{input:Bn(e.prompt,t.input),output:Bn(e.completion,t.output),cacheRead:n(e.cacheReadInputPer1kTokens,t.cacheRead),cacheWrite:n(e.cacheWriteInputPer1kTokens,t.cacheWrite)}}function LDt(e,t){let n=e?.trim();if(!n)return t;return n.endsWith("/")?n.slice(0,-1):n}function nDn(e){return e.endsWith("/v1")?e:`${e}/v1`}function MBa(e){let t=e?.trim();if(!t)return"http://127.0.0.1:11434/v1";let n=t.endsWith("/")?t.slice(0,-1):t;return n.endsWith("/v1")?n:`${n}/v1`}function jTi(e){return e.endsWith("/v1")?e.slice(0,-3):e}async function OBa(e,t,n=bl()){let r=jTi(e),i;try{i=await n(`${r}/api/tags`,{method:"GET",headers:{Accept:"application/json"}})}catch{return null}if(!i.ok)return null;let s=(await i.json()).models??[];return(await Promise.all(s.map(async(c)=>{let d=c.model??c.name;if(!d)return null;let u=await t(d);return{id:d,name:c.name??d,api:"openai-responses",provider:"ollama",baseUrl:e,reasoning:u.reasoning??!1,input:u.input??["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:u.contextWindow,maxTokens:u.maxTokens}}))).filter((c)=>c!==null).sort((c,d)=>c.id.localeCompare(d.id))}function NBa(e){if(!e)return;for(let[t,n]of Object.entries(e)){if(typeof n!=="number"||n<=0)continue;if(t.endsWith(".context_length")||t.endsWith(".num_ctx")||t.endsWith(".context_window"))return n}}function LBa(e){if(!Array.isArray(e))return;return e.filter((t)=>typeof t==="string")}async function DBa(e,t,n=bl()){try{let r=await n(`${e}/api/show`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({model:t})});if(!r.ok)return;let i=await r.json(),o=LBa(i.capabilities),s=NBa(i.model_info);return{contextWindow:s,maxTokens:s?ODt:void 0,capabilities:o,reasoning:o?o.includes("thinking"):void 0,input:o?o.includes("vision")?["text","image"]:["text"]:void 0}}catch{}return}function FBa(e,t){let n=new Map;return(r)=>{let i=n.get(r);if(i)return i;let o=(async()=>{let s=await DBa(e,r,t);if(!s)return n.delete(r),{contextWindow:GLn,maxTokens:ODt};return{...s,contextWindow:s.contextWindow??GLn,maxTokens:s.maxTokens??ODt}})();return n.set(r,o),o.catch(()=>n.delete(r)),o}}function GTi(e,t){let n=e.trim();if(!n)return!1;if(t?.has(n))return!0;return fOn(n)}function BBa(e){let t=e.trim().toLowerCase();if(!t)return!1;if(zTi.test(t))return!1;return!ty("nanogpt",t)}function UBa(e){return typeof e==="function"?e():e}function pb(e){let t=e.config?.apiKey,n=e.config?.baseUrl??e.defaultBaseUrl,r=_u(e.providerId),i=e.filterModel;return{providerId:e.providerId,...e.cacheProviderId&&{cacheProviderId:e.cacheProviderId},...e.dynamicModelsAuthoritative&&{dynamicModelsAuthoritative:!0},...e.dropCachedModelIdsOnStaticMismatch&&{dropCachedModelIdsOnStaticMismatch:e.dropCachedModelIdsOnStaticMismatch},...(!e.requireApiKey||t)&&{fetchDynamicModels:async()=>IBa(await ga({api:e.api,provider:e.providerId,baseUrl:n,apiKey:t,...e.headers&&{headers:UBa(e.headers)},...i&&{filterModel:(o,s)=>i(o,s,r)},mapModel:(o,s)=>e.mapModel(o,s,r.get(s.id)),fetch:e.config?.fetch}),e.providerId,e.config?.fetch)}}}function tM(e,t,n){return pb({api:"openai-completions",providerId:e,defaultBaseUrl:t,config:n,headers:n?.headers,requireApiKey:!0,mapModel:mc})}function $Ba(e,t,n){let r=n?.apiKey,i=LDt(n?.baseUrl,t),o=nDn(i),s=_u(e);return{providerId:e,...r&&{fetchDynamicModels:()=>ga({api:"anthropic-messages",provider:e,baseUrl:o,headers:HTi(r,o),mapModel:(a,l)=>{let c=s.get(l.id),d=mc(a,l,c);return{...d,name:Bp(a.display_name,d.name),baseUrl:i}},fetch:n?.fetch})}}}function jBa(e){let t=LDt(e,qTi);return t.endsWith("/v1")?t.slice(0,-3):t}function GBa(e){return e===!0}function zBa(e){return U(e)?e.supported===!0:e===!0}function qBa(e){if(!U(e)||!Array.isArray(e.levels))return PTi;let t=[];for(let n of e.levels){if(typeof n!=="string")continue;let r=VTi[n];if(r!==void 0&&!t.includes(r))t.push(r)}return t.length>0?t:PTi}function VBa(e){return U(e)&&Array.isArray(e.levels)&&e.levels.includes("max")}function KBa(e){if(!zBa(e))return;let t=qBa(e),n={mode:VBa(e)?"anthropic-budget-effort":"budget",efforts:t};if(U(e)){if(e.can_disable===!1)n.requiresEffort=!0;if(typeof e.default_level==="string"){let r=VTi[e.default_level];if(r!==void 0&&t.includes(r))n.defaultLevel=r}}return n}function YBa(e,t,n,r){if(!e)return null;let i=U(t.capabilities)?t.capabilities:{},o=i.supports_tools,s=KBa(i.reasoning);return{...r,id:e,name:Bp(t.display_name,Bp(t.name,e)),api:"anthropic-messages",provider:"umans",baseUrl:n,compat:{...r?.compat,escapeBuiltinToolNames:!0},reasoning:s!==void 0,...s?{thinking:s}:{},input:GBa(i.supports_vision)?["text","image"]:["text"],...o===!1?{supportsTools:!1}:{},cost:r?.cost??{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:Bn(i.context_window,r?.contextWindow??null),maxTokens:Bn(i.recommended_max_tokens,Bn(i.max_completion_tokens,r?.maxTokens??null))}}async function JBa(e){let t=nDn(e.baseUrl),n={Accept:"application/json"};if(e.apiKey)n["x-api-key"]=e.apiKey;let r=bl(e.fetch),i;try{let s=await r(`${t}${HBa}`,{method:"GET",headers:n});if(!s.ok)return null;i=await s.json()}catch(s){throw Error("Failed to fetch Umans models info",{cause:s})}if(!U(i))return null;let o=[];for(let[s,a]of Object.entries(i)){if(!U(a))continue;let l=YBa(s,a,e.baseUrl,e.references.get(s));if(l)o.push(l)}return o.sort((s,a)=>s.id.localeCompare(a.id))}function fYe(e){let t=e?.apiKey,n=jBa(e?.baseUrl),r=_u("umans");return{providerId:"umans",dynamicModelsAuthoritative:!0,dropCachedModelIdsOnStaticMismatch:WBa,fetchDynamicModels:()=>JBa({baseUrl:n,apiKey:t,fetch:e?.fetch,references:r})}}function mYe(e){let t=pb({api:"openai-responses",providerId:"openai",defaultBaseUrl:XBa,config:e,requireApiKey:!0,filterModel:(r,i,o)=>GTi(i.id,o),mapModel:mc}),n=t.fetchDynamicModels;if(!n)return t;return{...t,fetchDynamicModels:async()=>QBa("openai",await n())}}function QBa(e,t){if(!t)return null;let n=new Set(Cs(e).map((i)=>i.id));for(let i of t)n.add(i.id);let r=jl(e).filter((i)=>!n.has(i.id));return r.length===0?t:[...t,...r.map((i)=>({...i}))]}function ZBa(e){let{proReasoningAliases:t,proReasoningSweep:n}=Iae();return n.includes(e.provider)&&e.reasoningMode!==void 0&&e.id.endsWith("-pro")&&Object.values(t).some((r)=>r.includes(e.id.slice(0,-4)))}function rDn(e){let t=e.filter((i)=>!ZBa(i)),n=new Set(t.map((i)=>`${i.provider}/${i.id}`)),r=[...t];for(let i of t){if(!Iae().proReasoningAliases[i.provider]?.includes(i.id))continue;let s=`${i.id}-pro`,a=`${i.provider}/${s}`;if(n.has(a))continue;n.add(a),r.push({...i,id:s,name:`${i.name} Pro`,requestModelId:i.id,reasoningMode:"pro"})}return r}function tUa(e,t,n){if(n)return mc(e,t,n);let r=KR(t.id,YR());if(!r)return{...t,name:Bp(e.name,t.name)};let i=r.contextWindow??t.contextWindow,o=r.maxTokens!=null&&i!=null?Math.min(r.maxTokens,i):r.maxTokens??t.maxTokens;return{...t,name:Bp(e.name,r.name??t.name),reasoning:r.reasoning,input:r.input,...r.thinking&&{thinking:r.thinking},contextWindow:i,maxTokens:o}}function hYe(e){return pb({api:"openai-completions",providerId:"gmi-cloud",defaultBaseUrl:eUa,cacheProviderId:Zc("gmi-cloud"),config:e,requireApiKey:!0,mapModel:tUa})}function gYe(e){return tM("groq","https://api.groq.com/openai/v1",e)}function yYe(e){return pb({api:"openai-completions",providerId:"cerebras",defaultBaseUrl:"https://api.cerebras.ai/v1",config:e,requireApiKey:!0,mapModel:(t,n,r)=>mc(t,n,r)})}function RDt(e,t){if(e===void 0||e===null)return t;let n=en(e);return n!==void 0&&n>=0?Math.round(n*1000000000000)/1e6:void 0}function nUa(e,t){let n=U(e)?e:{},r=RDt(n.prompt,void 0),i=RDt(n.completion,void 0),o=RDt(n.input_cache_read,0),s=RDt(n.input_cache_write,0);if(r===void 0||i===void 0||o===void 0||s===void 0)return{cost:t,pricingStatus:"unknown"};let a={input:r,output:i,cacheRead:o,cacheWrite:s};return r+i+o+s===0?{cost:a,pricingStatus:"free"}:{cost:a}}function bYe(e){let t=e?.apiKey,n=e?.baseUrl??"https://api.sambanova.ai/v1";return{providerId:"sambanova",dynamicModelsAuthoritative:!0,dynamicCostAuthoritative:!0,...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"sambanova",baseUrl:n,apiKey:t,filterModel:(r,i)=>!ty("sambanova",i.id),mapModel:(r,i)=>({...i,...nUa(r.pricing,i.cost),contextWindow:Bn(r.context_length,i.contextWindow),maxTokens:Bn(r.max_completion_tokens,i.maxTokens)}),fetch:e?.fetch})}}}function wYe(e){return tM("huggingface","https://router.huggingface.co/v1",e)}function iUa(){let e=new Map;for(let t of rUa)for(let[n,r]of _u(t))if(!e.has(n))e.set(n,r);return e}function SYe(e){let t,n=(r)=>(t??=iUa()).get(r);return pb({api:"openai-completions",providerId:"helmcode",defaultBaseUrl:"https://api.helmcode.com/v1",config:e,requireApiKey:!0,filterModel:(r,i)=>!ty("helmcode",i.id),mapModel:(r,i,o)=>{if(o)return mc(r,i,o);let s=n(i.id);if(!s)return mc(r,i,void 0);return{...i,name:Bp(r.name,s.name),reasoning:s.reasoning,input:s.input,cost:s.cost,contextWindow:Bn(r.context_length,s.contextWindow),maxTokens:Bn(r.max_completion_tokens,s.maxTokens)}},dynamicModelsAuthoritative:!0})}function TYe(e){return tM("nvidia","https://integrate.api.nvidia.com/v1",e)}function zLn(e,t){return Array.isArray(e)&&e.some((n)=>n===t)}function oUa(e){return!e.toLowerCase().startsWith("ai_infer_test")}function qLn(e){return Bn(e,0)/1e4}function sUa(e){let t=e.pricing;if(!U(t))return 0;let n=t.input_cache_read;if(!U(n))return 0;return qLn(n.price_per_m)}function aUa(e,t,n){let r=mc({...e,name:e.display_name??e.title??e.name},t,n);return{...r,reasoning:zLn(e.features,"reasoning"),supportsTools:zLn(e.features,"function-calling"),input:Jce(e.input_modalities),cost:{input:qLn(e.input_token_price_per_m),output:qLn(e.output_token_price_per_m),cacheRead:sUa(e),cacheWrite:0},contextWindow:Bn(e.context_size,r.contextWindow),maxTokens:Bn(e.max_output_tokens,r.maxTokens)}}function vYe(e){return pb({api:"openai-completions",providerId:"novita",defaultBaseUrl:"https://api.novita.ai/openai/v1",config:e,dynamicModelsAuthoritative:!0,filterModel:(t,n)=>(typeof t.status!=="number"||t.status===1)&&oUa(n.id)&&zLn(t.endpoints,"chat/completions")&&Bn(t.max_output_tokens,0)>0,mapModel:aUa})}function dUa(e){let t=e.tags;return Array.isArray(t)?t.filter((n)=>typeof n==="string"):[]}function uUa(e,t,n){let r=typeof e.id==="string"?e.id.trim():"";if(!r)return null;let i=U(e.metadata)?e.metadata:{},o=dUa(i);if(!o.includes("chat"))return null;let s=U(i.pricing)?i.pricing:{},a=en(i.discount),l=a!==void 0&&a>0&&a<1?1-a:1,c=o.includes("reasoning_effort")?{mode:"effort",efforts:[...cUa]}:void 0,d=Bn(i.context_length,n?.contextWindow??null),u=Bn(i.max_tokens,0),p=d!==null&&u>0&&u<d,f=n?.maxTokens??null,m=p?u:f!==null&&d!==null?Math.min(f,d):f,{kind:h,...g}=n??{};return{...g,id:r,name:n?.name??r,api:"openai-completions",provider:"deepinfra",baseUrl:t,reasoning:o.includes("reasoning")||o.includes("reasoning_effort"),...c?{thinking:c}:{},input:o.includes("vision")||o.includes("vlm")?["text","image"]:["text"],cost:{input:Bn(s.input_tokens,0)*l,output:Bn(s.output_tokens,0)*l,cacheRead:Bn(s.cache_read_tokens,0)*l,cacheWrite:0},contextWindow:d,maxTokens:m}}async function pUa(e){let t={Accept:"application/json"};if(e.apiKey)t.Authorization=`Bearer ${e.apiKey}`;let n=bl(e.fetch),r;try{let s=await G3(ZU,(a)=>n(`${e.baseUrl}/models${lUa}`,{method:"GET",headers:t,signal:a}));if(!s.ok)return null;r=await s.json()}catch{return null}if(!U(r)||!Array.isArray(r.data))return null;let i=[],o=new Set;for(let s of r.data){if(!U(s))continue;let a=typeof s.id==="string"?e.references.get(s.id):void 0,l=uUa(s,e.baseUrl,a);if(l&&!o.has(l.id))o.add(l.id),i.push(l)}return i}function AYe(e){let t=e?.apiKey,n=(e?.baseUrl??DDt).replace(/\/$/,""),r=_u("deepinfra");return{providerId:"deepinfra",dynamicModelsAuthoritative:!0,dynamicInputAuthoritative:!0,fetchDynamicModels:()=>pUa({baseUrl:n,apiKey:t,fetch:e?.fetch,references:r})}}function xDt(e,t){let n=en(e);return n!==void 0&&n>=0?n:t}function fUa(e,t,n){if(e.supports_chat===!1)return null;let r=U(e.pricing)?e.pricing:{},{kind:i,...o}=n??{},s=typeof e.supports_reasoning==="boolean",a=s?e.supports_reasoning===!0:n?.reasoning??t.reasoning,l=U(e.reasoning)?e.reasoning:void 0,c=l?.supported_efforts,d=a?n?.thinking:void 0,u=n?.compat;if(a&&Array.isArray(c)){let f=Wr.filter((h)=>c.includes(h)),m=f.find((h)=>h===l?.default_effort);d=f.length>0?{mode:"effort",efforts:f,...m!==void 0&&{defaultLevel:m},...typeof l?.mandatory==="boolean"&&{requiresEffort:l.mandatory}}:void 0}if(s||Array.isArray(c))u={...u,trustExplicitThinkingOnly:!0};if(a&&l){if(l.mandatory===!0||l.disable===null)u={...u,reasoningDisableMode:"lowest-effort"};else if(U(l.disable)&&l.disable.reasoning_effort==="none")u={...u,reasoningDisableMode:"none-effort"}}let p=e.supports_image_input===!0?["text","image"]:e.supports_image_input===!1?["text"]:n?.input??t.input;return{...t,...o,id:t.id,name:n?.name??t.name,api:t.api,provider:t.provider,baseUrl:t.baseUrl,reasoning:a,thinking:d,compat:u,input:p,...typeof e.supports_tools==="boolean"?{supportsTools:e.supports_tools}:{},cost:{input:xDt(r.input_per_m,n?.cost.input??0),output:xDt(r.output_per_m,n?.cost.output??0),cacheRead:xDt(r.cached_input_per_m,n?.cost.cacheRead??0),cacheWrite:xDt(r.cache_write_per_m,n?.cost.cacheWrite??0)},contextWindow:Bn(e.context_length,n?.contextWindow??null),maxTokens:n?.maxTokens??null}}function EYe(e){let t=e?.apiKey,n=e?.baseUrl??FDt,r=_u("coralbricks");return{providerId:"coralbricks",dynamicModelsAuthoritative:!0,dynamicReasoningAuthoritative:!0,dynamicInputAuthoritative:!0,dynamicCostAuthoritative:!0,...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"coralbricks",baseUrl:n,apiKey:t,fetch:e?.fetch,mapModel:(i,o)=>fUa(i,o,r.get(o.id))})}}}function RYe(e){return{...pb({api:"openai-responses",providerId:"xai",defaultBaseUrl:"https://api.x.ai/v1",config:e,requireApiKey:!0,mapModel:mc}),dropCachedModelIdsOnStaticMismatch:Cs("xai").map((t)=>t.id)}}function mUa(e){let t={...e.compat,includeEncryptedReasoning:e.compat?.includeEncryptedReasoning??!0,filterReasoningHistory:e.compat?.filterReasoningHistory??!1,supportsImageDetailOriginal:e.compat?.supportsImageDetailOriginal??!1,omitReasoningEffort:e.compat?.omitReasoningEffort??Zu(e).compat.omitReasoningEffort};return{...e,compat:t}}function BDt(e){let t=e.compat?.supportsReasoningEffort??Zu(e).compat.supportsReasoningEffort,n={...e.compat,supportsReasoningEffort:t,omitReasoningEffort:e.compat?.omitReasoningEffort??!t};if(t)n.reasoningEffortMap={...V0e(e.id)};else delete n.reasoningEffortMap;return{...e,compat:n}}function VLn(e,t){let n=t.compat?.supportsReasoningEffort??Zu({...e,id:t.id,provider:"xai-oauth"}).compat.supportsReasoningEffort,r={...e.compat,includeEncryptedReasoning:e.compat?.includeEncryptedReasoning??!0,filterReasoningHistory:!1,supportsImageDetailOriginal:e.compat?.supportsImageDetailOriginal??!1,omitReasoningEffort:!n,supportsReasoningEffort:n};if(n)r.reasoningEffortMap={...V0e(t.id)};else delete r.reasoningEffortMap;return{...e,contextWindow:t.contextWindow??e.contextWindow,maxTokens:t.contextWindow??e.maxTokens,name:t.name,reasoning:t.reasoning,input:t.input,compat:r}}function hUa(e){let t=[],n=new Set;for(let c of jl("xai-oauth"))if(KTi(c))t.push(c);else n.add(c.id);let r=e.filter((c)=>!n.has(c.id)&&!ty("xai-oauth",c.id)),i=new Map(r.map((c)=>[c.id,c]));for(let c of t){let d=i.get(c.id);if(d)i.set(c.id,VLn(d,c))}let o=r[0];if(o){for(let c of t)if(!i.has(c.id)){let d={...o,id:c.id,name:c.id};i.set(c.id,VLn(d,c))}}let s=new Set(t.map((c)=>c.id)),a=t.map((c)=>i.get(c.id)).filter((c)=>c!==void 0),l=r.filter((c)=>!s.has(c.id)).map(mUa);return[...a,...l]}function KTi(e){return e.api==="openai-responses"}function UDt(e){let t=e??"https://api.x.ai/v1";return jl("xai-oauth").map((n)=>{if(!KTi(n))return{...n,baseUrl:t};let r={...n,baseUrl:t,compat:{reasoningEffortMap:V0e(n.id)}};return VLn(r,n)})}function xYe(e){let n=e?.baseUrl??"https://api.x.ai/v1",r=pb({api:"openai-responses",providerId:"xai-oauth",defaultBaseUrl:"https://api.x.ai/v1",config:e,requireApiKey:!0,mapModel:mc}),i=UDt(n);if(!r.fetchDynamicModels)return{...r,staticModels:i};let o=r.fetchDynamicModels;return{...r,staticModels:i,fetchDynamicModels:async()=>{let s=await o();return s==null?s:hUa(s)}}}function $Dt(e){let t=e.trim().toLowerCase();if(!t)return!1;return!ty("aimlapi",t)}function kYe(e){return pb({api:"openai-completions",providerId:"aimlapi",defaultBaseUrl:"https://api.aimlapi.com/v1",config:e,dynamicModelsAuthoritative:!0,requireApiKey:!0,filterModel:(t,n)=>$Dt(n.id),mapModel:mc})}function CYe(e){return tM("deepseek","https://api.deepseek.com",e)}function HDt(e){let t=e.trim().toLowerCase();if(!t)return!1;return!ty("siliconflow",t)}async function bUa(e,t){let n=gUa.find((r)=>r.providerId===e);if(!n)return new Map;try{let r=await G3(yUa,(i)=>x9(t,i));return JTi(_9(r,[n]))}catch{return new Map}}function YTi(e,t,n){let r=n?.apiKey,i=n?.baseUrl??t;return{providerId:e,cacheProviderId:Zc(e),dynamicModelsAuthoritative:!0,...r&&{fetchDynamicModels:async()=>{let o=await bUa(e,n?.fetch),s=YR();return ga({api:"openai-completions",provider:e,baseUrl:i,apiKey:r,filterModel:(a,l)=>HDt(l.id),mapModel:(a,l)=>{let c=o.get(l.id);if(c)return mc(a,l,c);let d=KR(l.id,s);if(!d)return l;let u=d.contextWindow??l.contextWindow,p=d.maxTokens!=null&&u!=null?Math.min(d.maxTokens,u):d.maxTokens??l.maxTokens;return{...l,name:Bp(a.name,d.name??l.name),reasoning:d.reasoning,input:d.input,contextWindow:u,maxTokens:p}},fetch:n?.fetch})}}}}function IYe(e){return YTi("siliconflow","https://api.siliconflow.com/v1",e)}function _Ye(e){return YTi("siliconflow-cn","https://api.siliconflow.cn/v1",e)}function PYe(e){let t=e?.apiKey,n=e?.baseUrl??"https://open.bigmodel.cn/api/coding/paas/v4";return{providerId:"zhipu-coding-plan",dynamicModelsAuthoritative:!0,...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"zhipu-coding-plan",baseUrl:n,apiKey:t,mapModel:(r,i,o)=>{let s=i.id,a=Or("zhipu-coding-plan",s,{lenient:!0});return{...i,reasoning:eDn("zhipu-coding-plan",s,"4.5")||a.thinkingVariant===!0,input:["text"],compat:{thinkingFormat:"zai",reasoningContentField:"reasoning_content",supportsDeveloperRole:!1}}},fetch:e?.fetch})}}}function iDn(){let e=_u("fireworks"),t=[];for(let n of wUa){let r=e.get(n.base);if(!r)continue;t.push({...r,id:`${n.base}${Kce}`,name:n.name,cost:{input:n.cost.input,output:n.cost.output,cacheRead:n.cost.cacheRead,cacheWrite:0}})}return t}function WDt(e,t){if(!JDt("fireworks",t))return e;let n=e.compat;if(!n?.extraBody||!("thinking"in n.extraBody))return e;let r={...n.extraBody};if(delete r.thinking,Object.keys(r).length>0)return{...e,compat:{...n,extraBody:r}};let i={...n};return delete i.extraBody,{...e,compat:i}}function EUa(e,t){try{return`${new URL(e).origin}/v1/accounts/${t}/models`}catch{return null}}function RUa(e,t,n,r,i){let o=Bp(e.displayName,n?.name??t),s=u1(e.supportsImageInput)===!0,a=u1(e.supportsTools),l=Bn(e.contextLength,n?.contextWindow??null),c=n?.maxTokens??null,d=n??{id:t,name:o,api:"openai-completions",provider:"fireworks",baseUrl:r,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:l,maxTokens:c},u={...d,id:t,api:"openai-completions",provider:"fireworks",baseUrl:r,name:o,cost:i??d.cost,reasoning:n?.reasoning??!0,input:s?["text","image"]:n?.input??["text"],contextWindow:l,maxTokens:c,...a===!1?{supportsTools:!1}:{}};return WDt(u,t)}async function xUa(e){let t=EUa(e.baseUrl,SUa);if(!t)return null;let n=bl(e.fetch),r=new Map,i="";for(let o=0;o<AUa;o++){let s=new URL(t);if(s.searchParams.set("filter",TUa),s.searchParams.set("pageSize",String(vUa)),i)s.searchParams.set("pageToken",i);let a;try{a=await n(s.toString(),{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${e.apiKey}`}})}catch{return null}if(!a.ok)return null;let l;try{l=await a.json()}catch{return null}if(!U(l))return null;let c=Array.isArray(l.models)?l.models:[];for(let u of c){if(!U(u))continue;let p=u;if(u1(p.supportsServerless)!==!0)continue;if(typeof p.state==="string"&&p.state!=="READY")continue;let f=typeof p.name==="string"?p.name:"";if(!f)continue;let m=aYe(f);if(!m)continue;r.set(m,RUa(p,m,e.resolveReference(m),e.baseUrl,e.resolveCost(m)))}let d=typeof l.nextPageToken==="string"?l.nextPageToken:"";if(!d)break;i=d}return Array.from(r.values())}function JTi(e){let t=new Map;for(let n of e){let r=n;if(!rce(r.provider))continue;let i=t.get(r.id);if(!i){t.set(r.id,r);continue}if((r.contextWindow??0)>(i.contextWindow??0)){t.set(r.id,r);continue}if(r.contextWindow===i.contextWindow&&(r.maxTokens??0)>(i.maxTokens??0))t.set(r.id,r)}return t}async function XTi(e){try{let t=await x9(e);return JTi(_9(t,y9e))}catch{return new Map}}async function CUa(e){let t=new Map;try{let n=await x9(e);for(let r of _9(n,kUa))t.set(aYe(r.id),r.cost)}catch{}return t}function MYe(e){let t=e?.apiKey,n=e?.baseUrl??"https://api.fireworks.ai/inference/v1",r=j3(()=>_u("fireworks"));return{providerId:"fireworks",...t&&{fetchDynamicModels:async()=>{let[i,o]=await Promise.all([XTi(e?.fetch),CUa(e?.fetch)]);return xUa({baseUrl:n,apiKey:t,resolveReference:(s)=>i.get(s)??r(s),resolveCost:(s)=>o.get(s),fetch:e?.fetch})}}}}function OYe(e){return{providerId:"firepass"}}function sDn(e){return{id:e,name:e,api:"openai-completions",provider:"cline-pass",baseUrl:ICe,reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:QTi,maxTokens:oDn,compat:{supportsReasoningEffort:!1}}}async function PUa(e){try{let t=await G3(5000,(o)=>e(_Ua,{signal:o}));if(!t.ok)return;let n=await t.json();if(!U(n)||!Array.isArray(n.data))return;let r=new Map,i=new Map;for(let o of n.data){if(!U(o)||typeof o.id!=="string"||!o.id)continue;let s=U(o.pricing)?o.pricing:void 0,a=U(o.top_provider)?o.top_provider:void 0,l=Array.isArray(o.supported_parameters)?o.supported_parameters:void 0,c=String(U(o.architecture)?o.architecture.modality??"":""),d=Bn(o.context_length,0),u=Bn(a?.max_completion_tokens,0),p={...typeof o.name==="string"&&o.name?{name:o.name.replace(/^[^:]+:\s*/,"")}:{},...d>0?{contextWindow:d}:{},...u>0?{maxTokens:u}:{},...s?{cost:{input:parseFloat(String(s.prompt??"0"))*1e6,output:parseFloat(String(s.completion??"0"))*1e6,cacheRead:parseFloat(String(s.input_cache_read??"0"))*1e6,cacheWrite:parseFloat(String(s.input_cache_write??"0"))*1e6}}:{},...l?{reasoning:l.includes("reasoning")}:{},...c?{input:c.includes("image")?["text","image"]:["text"]}:{}};r.set(o.id,p);let f=o.id.split("/").at(-1);if(f)i.set(f,p)}return r.size>0?{byId:r,bySlug:i}:void 0}catch{return}}function MUa(e){return e!==void 0&&(e.input>0||e.output>0)}function ZTi(e,t){let n=EDt(e);if(!n||n.tier!==t)return;return{...sDn(e),name:n.name,contextWindow:n.contextWindow,maxTokens:n.maxTokens,input:n.input,cost:n.cost,reasoning:n.reasoning,thinking:n.thinking,compat:{...n.thinking===void 0?{supportsReasoningEffort:!1}:{},...t==="free"?{wireModelIdMode:"raw"}:{}}}}function OUa(e,t,n){let r=ZTi(e,"subscription");if(r)return r;let i=t.get(e)??sDn(e),o=KR(e,YR()),s=o&&o.provider!=="cline-pass"?o:void 0,a=i.contextWindow===QTi&&i.maxTokens===oDn;if(s)return t.has(e)&&!a?{...i,cost:s.cost}:{...i,name:t.has(e)?i.name:s.name,reasoning:s.reasoning,input:s.input,cost:s.cost,contextWindow:s.contextWindow,maxTokens:s.maxTokens,...s.reasoning?{}:{thinking:void 0}};let l=n?.bySlug.get(e);if(!l)return i;return{...i,...l.name?{name:l.name}:{},...l.contextWindow?{contextWindow:l.contextWindow}:{},...l.maxTokens?{maxTokens:l.maxTokens}:{},...MUa(l.cost)?{cost:l.cost}:{},...l.reasoning!==void 0?{reasoning:l.reasoning}:{},...l.input?{input:l.input}:{},...l.reasoning===!1?{thinking:void 0}:{}}}function NUa(e,t){let n=ZTi(e,"free");if(n)return n;let r=KR(e,YR()),i=r&&r.provider!=="cline-pass"?r:void 0,o=t?.byId.get(e)??t?.bySlug.get(e.split("/").at(-1)??e),s=(i?.name??o?.name??e.split("/").at(-1)??e).replace(/\s*\(free\)\s*$/i,"").replace(/:free$/i,"").trim(),a=sDn(e),l=i?.reasoning??o?.reasoning??a.reasoning;return{...a,name:`${s||e} (free)`,reasoning:l,input:i?.input??o?.input??a.input,contextWindow:i?.contextWindow??o?.contextWindow??a.contextWindow,maxTokens:i?.maxTokens??o?.maxTokens??a.maxTokens,thinking:void 0,compat:{supportsReasoningEffort:!1,wireModelIdMode:"raw"}}}async function LUa(e,t){let[n,r]=await Promise.all([G3(5000,(a)=>e(IUa,{signal:a,headers:zY()})),PUa(e)]);if(!n.ok)throw Error(`Failed to fetch ClinePass models: HTTP ${n.status}`);let i=await n.json();if(!U(i)||!Array.isArray(i.clinePass))throw Error("ClinePass model catalog response is missing clinePass");let o=new Map;for(let a of i.clinePass){if(!U(a)||typeof a.id!=="string")continue;let l=a.id.trim();if(!l.startsWith("cline-pass/"))continue;let c=yDt(l).trim();if(!c)continue;o.set(c,OUa(c,t,r))}if(o.size===0)throw Error("ClinePass model catalog contains no valid model IDs");let s=Array.isArray(i.free)?i.free:[];for(let a of s){if(!U(a)||typeof a.id!=="string")continue;let l=a.id.trim();if(!l||l.startsWith("cline-pass/")||o.has(l))continue;o.set(l,NUa(l,r))}return[...o.values()]}function NYe(e){let t=new Map(Cs("cline-pass").map((r)=>[r.id,Va(r)])),n=bl(e?.fetch);return{providerId:"cline-pass",dynamicModelsAuthoritative:!0,fetchDynamicModels:()=>LUa(n,t)}}function BUa(e){let t=e.wafer;return t&&typeof t==="object"?t:void 0}function jDt(e,t){let n=typeof t==="string"?t.trim().toLowerCase():"";if(n){if(n==="zai"||n==="z.ai"||n==="z-ai"||n.includes("zhipu")||n.includes("moonshot")||n.includes("kimi"))return"zai";if(n.includes("qwen")||n.includes("alibaba")||n.includes("dashscope"))return"qwen";return}let r=Or("wafer-serverless",e,{lenient:!0});return eDn("wafer-serverless",e,"4.5")||r.class==="kimi"?"zai":void 0}function UUa(e,t,n,r){let i=BUa(n),o=i?.capabilities??{},s=o.reasoning===!0,a=o.vision===!0,l=u1(o.tools)===!1?!1:void 0,c=Bn(i?.context_length,Bn(n.max_model_len,r.contextWindow)),d=c!==null?Math.min(c,FUa):null,u=i?.pricing??{},p={input:Bn(u.input_cents_per_million,0)*125/1e4,output:Bn(u.output_cents_per_million,0)*125/1e4,cacheRead:Bn(u.cache_read_cents_per_million,0)*125/1e4,cacheWrite:0},f=Bp(i?.display_name,r.name),m={...r,id:r.id,name:f,api:"openai-completions",provider:e,baseUrl:t,reasoning:s,input:a?["text","image"]:["text"],cost:p,contextWindow:c,maxTokens:d,...l===!1?{supportsTools:l}:{}};if(s){let h=jDt(r.id,i?.provider);return{...m,compat:{...h?{thinkingFormat:h}:{},reasoningContentField:"reasoning_content",supportsDeveloperRole:!1}}}return{...m,compat:{supportsDeveloperRole:!1}}}function LYe(e){let t=e?.apiKey,n=e?.baseUrl??DUa,r="wafer-serverless";return{providerId:"wafer-serverless",...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"wafer-serverless",baseUrl:n,apiKey:t,mapModel:(i,o)=>UUa("wafer-serverless",n,i,o),fetch:e?.fetch})}}}function DYe(e){return tM("mistral","https://api.mistral.ai/v1",e)}function HUa(e,t){let n=LDt(e,t);return n.endsWith("/v1")?n.slice(0,-3):n}function uYe(e,t){if(e==="google-generative-ai"&&t===evi)return $Ua;return e==="anthropic-messages"?t:`${t}/v1`}function zUa(e){for(let t of GUa)if(e.endsWith(t)&&e.length>t.length)return e.slice(0,-t.length);return null}function tvi(e,t){let n=t?.apiKey,r=CA(e),i=r.endsWith("/v1")?r.slice(0,-3):r,o=HUa(t?.baseUrl,i),s=uYe("openai-completions",o),a=_u(e),l=_u(e==="opencode-go"?"opencode-zen":"opencode-go"),c=(p)=>{let f=db(e,p)?.api;return f==="openai-completions"||f==="openai-responses"||f==="anthropic-messages"||f==="google-generative-ai"?f:void 0},d=(p,f)=>[l.get(p)?.api,f?a.get(f)?.api:void 0,f?l.get(f)?.api:void 0].includes("openai-responses")?"openai-responses":void 0,u=(p,f)=>{let m=zUa(p);return c(p)??(m?c(m):void 0)??a.get(p)?.api??d(p,m)??f};return{providerId:e,cacheProviderId:Zc(e,{apiKey:n,baseUrl:s}),dynamicModelsAuthoritative:!0,dropCachedModelIdsOnStaticMismatch:[...gOn(e),...WUa,...e==="opencode-zen"?jUa:[]],modelsDev:{fetch:()=>tDn(t?.fetch),map:(p)=>{if(!U(p))return[];return _9(p,gvi).filter((f)=>f.provider===e).map((f)=>{let m=u(f.id,"openai-completions");return{...f,api:m,baseUrl:uYe(m,o)}})}},...n&&{fetchDynamicModels:async()=>{let p=await ga({api:"openai-completions",provider:e,baseUrl:s,apiKey:n,headers:{"User-Agent":Hi,"x-opencode-session":Ug()},mapModel:(h,g)=>{let y=a.get(g.id),b=Bp(h.name,y?.name??g.name),w=u(g.id,g.api),S=uYe(w,o),T=lDn(g.id);if(T)return{...y??g,id:g.id,name:b,api:w,provider:e,baseUrl:S,reasoning:!0,input:y?.input??T.input,thinking:y?.thinking??T.thinking,contextWindow:Bn(h.context_length,y?.contextWindow??T.contextWindow),maxTokens:Bn(h.max_completion_tokens,y?.maxTokens??T.maxTokens)};if(!y)return{...g,name:b,api:w,baseUrl:S};return{...y,id:g.id,name:b,api:w,baseUrl:S,contextWindow:Bn(h.context_length,y.contextWindow),maxTokens:Bn(h.max_completion_tokens,y.maxTokens)}},fetch:t?.fetch});if(!p)return null;let f=jl(e).map((h)=>({...h,baseUrl:o})),m=new Set(f.map((h)=>h.id));return[...p.filter((h)=>!m.has(h.id)),...f]}}}}function FYe(e){return tvi("opencode-zen",e)}function BYe(e){return tvi("opencode-go",e)}function UYe(e){let t=e?.apiKey,n=MBa(e?.baseUrl),r=jTi(n),i=_u("ollama"),o=FBa(r,e?.fetch);return{providerId:"ollama",cacheProviderId:Zc("ollama",{baseUrl:n}),fetchDynamicModels:async()=>{let s=await ga({api:"openai-responses",provider:"ollama",baseUrl:n,apiKey:t,mapModel:(l,c)=>{let d=i.get(c.id);if(!d)return{...c,name:Bp(l.name,c.name),contextWindow:GLn,maxTokens:ODt};return mc(l,c,d)},fetch:e?.fetch});if(s&&s.length>0)return await Promise.all(s.map(async(l)=>{let c=await o(l.id);if(l.contextWindow=c.contextWindow,c.reasoning!==void 0)l.reasoning=c.reasoning,l.thinking=void 0;if(c.input)l.input=c.input})),s;let a=await OBa(n,o,e?.fetch);if(a&&a.length>0)return a;return s}}}function X0e(e){let t=e.replace(/\/+$/g,"");return t.endsWith("/v1")?`${t.slice(0,-3)}/alpha`:`${t}/alpha`}function qUa(e){let t=e.reasoning;if(!U(t))return;let n=t.supported_efforts;if(!Array.isArray(n))return;let r=Wr.filter((o)=>n.includes(o));if(r.length===0)return;let i=typeof t.default_effort==="string"?Wr.find((o)=>o===t.default_effort):void 0;return{mode:"effort",efforts:r,...i!==void 0&&r.includes(i)?{defaultLevel:i}:{},...t.mandatory===!0?{requiresEffort:!0}:{}}}function $Ye(e){let t=e?.apiKey,n=(e?.baseUrl??"https://openrouter.ai/api/v1").replace(/\/+$/g,""),r=X0e(n),i=_u("openrouter");return{providerId:"openrouter",cacheProviderId:Zc("openrouter"),fetchDynamicModels:async()=>{let[o,s,a,l,c,d]=await Promise.all([ga({api:"openrouter",provider:"openrouter",baseUrl:n,apiKey:t,filterModel:(p)=>{let f=p.supported_parameters;return Array.isArray(f)&&f.includes("tools")},mapModel:(p,f,m)=>{let h=i.get(f.id),g=mc(p,f,h),y=U(p.pricing)?p.pricing:void 0,b=Array.isArray(p.supported_parameters)?p.supported_parameters.filter((x)=>typeof x==="string"):[],w=qUa(p),S=U(p.architecture)?p.architecture:void 0,T=Array.isArray(S?.input_modalities)?Jce(S.input_modalities):String(S?.modality??"").includes("image")?["text","image"]:["text"],v=U(p.top_provider)?p.top_provider:void 0,E=b.includes("tool_choice");return{...g,reasoning:b.includes("reasoning"),...w!==void 0?{thinking:w}:{},input:T,cost:{input:parseFloat(String(y?.prompt??"0"))*1e6,output:parseFloat(String(y?.completion??"0"))*1e6,cacheRead:parseFloat(String(y?.input_cache_read??"0"))*1e6,cacheWrite:parseFloat(String(y?.input_cache_write??"0"))*1e6},contextWindow:Bn(p.context_length,g.contextWindow),maxTokens:Bn(v?.max_completion_tokens,g.maxTokens),...!E&&{compat:{...g.compat,supportsToolChoice:!1}}}},fetch:e?.fetch}),ga({api:"openrouter-images",provider:"openrouter",baseUrl:`${n}/images`,apiKey:t,filterModel:(p)=>{let f=U(p.architecture)?p.architecture:void 0;return Array.isArray(f?.output_modalities)&&f.output_modalities.includes("image")},mapModel:(p,f)=>({...f,baseUrl:n,kind:"image",reasoning:!1,input:["text","image"],supportsTools:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:null,maxTokens:null}),fetch:e?.fetch}),ga({api:"openrouter-decisions",provider:"openrouter",baseUrl:n,apiKey:t,query:{output_modalities:"decisions"},filterModel:(p)=>{let f=U(p.architecture)?p.architecture:void 0;return Array.isArray(f?.output_modalities)&&f.output_modalities.includes("decisions")},mapModel:(p,f)=>{let m=U(p.pricing)?p.pricing:void 0,h=U(p.top_provider)?p.top_provider:void 0;return{...f,baseUrl:r,kind:"judge",reasoning:!1,input:["text"],supportsTools:!1,cost:{input:parseFloat(String(m?.prompt??"0"))*1e6,output:parseFloat(String(m?.completion??"0"))*1e6,cacheRead:0,cacheWrite:0},contextWindow:Bn(p.context_length,null),maxTokens:Bn(h?.max_completion_tokens,null)}},fetch:e?.fetch}),ga({api:"openrouter-rerank",provider:"openrouter",baseUrl:n,apiKey:t,query:{output_modalities:"rerank"},filterModel:(p)=>{let f=U(p.architecture)?p.architecture:void 0;return Array.isArray(f?.output_modalities)&&f.output_modalities.includes("rerank")},mapModel:(p,f)=>{let m=U(p.architecture)?p.architecture:void 0,h=U(p.top_provider)?p.top_provider:void 0;return{...f,baseUrl:n,kind:"rerank",reasoning:!1,input:Array.isArray(m?.input_modalities)?Jce(m.input_modalities):["text"],supportsTools:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:Bn(p.context_length,null),maxTokens:Bn(h?.max_completion_tokens,null)}},fetch:e?.fetch}),ga({api:"openrouter-video",provider:"openrouter",baseUrl:`${n}/videos`,apiKey:t,mapModel:(p,f)=>({...f,baseUrl:n,kind:"video",reasoning:!1,input:["text","image"],supportsTools:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:null,maxTokens:null}),fetch:e?.fetch}),ga({api:"openai-embeddings",provider:"openrouter",baseUrl:`${n}/embeddings`,apiKey:t,mapModel:(p,f)=>{let m=U(p.pricing)?p.pricing:void 0;return{...f,baseUrl:n,kind:"embedding",reasoning:!1,input:["text"],supportsTools:!1,cost:{input:parseFloat(String(m?.prompt??"0"))*1e6,output:0,cacheRead:0,cacheWrite:0},contextWindow:Bn(p.context_length,null),maxTokens:null}},fetch:e?.fetch})]);if(s===null)G("OpenRouter image model discovery unavailable; preserving chat model discovery",{endpoint:`${n}/images/models`});if(a===null)G("OpenRouter decision model discovery unavailable; preserving chat model discovery",{endpoint:`${n}/models?output_modalities=decisions`});if(l===null)G("OpenRouter rerank model discovery unavailable; preserving other model discovery",{endpoint:`${n}/models?output_modalities=rerank`});if(c===null)G("OpenRouter video model discovery unavailable; preserving other model discovery",{endpoint:`${n}/videos/models`});if(d===null)G("OpenRouter embedding model discovery unavailable; preserving other model discovery",{endpoint:`${n}/embeddings/models`});if(o===null&&s===null&&a===null&&l===null&&c===null&&d===null)return null;let u=new Map;for(let p of o??[])u.set(p.id,p);for(let p of s??[])u.set(p.id,p);for(let p of a??[])u.set(p.id,p);for(let p of l??[])u.set(p.id,p);for(let p of c??[])u.set(p.id,p);for(let p of d??[])u.set(p.id,p);return Array.from(u.values()).sort((p,f)=>p.id.localeCompare(f.id))}}}function VUa(e){let t=e?.trim();if(!t)return KLn;let n=t.endsWith("/")?t.slice(0,-1):t;if(n.endsWith("/api/anthropic"))return n.replace("/api/anthropic","/api/v1");return n}function KUa(e){try{let t=new URL(e),n=t.pathname.replace(/\/+$/g,"");return t.pathname=n.endsWith("/api/v1")?`${n.slice(0,-7)}/api/anthropic`:"/api/anthropic",`${t.protocol}//${t.host}${t.pathname}`}catch{return nvi}}function YUa(e,t){if(typeof e.owned_by==="string"&&e.owned_by.toLowerCase()==="anthropic")return!0;return Or("zenmux",t,{lenient:!0}).class==="anthropic"}function Y0e(e,t){let n=e?.[t];if(!Array.isArray(n))return 0;for(let r of n){if(!U(r))continue;let i=en(r.value);if(i!==void 0)return i}return 0}function JUa(e){let t=Y0e(e,"input_cache_write_1_h");if(t>0)return t;let n=Y0e(e,"input_cache_write_5_min");if(n>0)return n;return Y0e(e,"input_cache_write")}function HYe(e){let t=e?.apiKey,n=VUa(e?.baseUrl),r=KUa(n);return{providerId:"zenmux",fetchDynamicModels:()=>ga({api:"openai-completions",provider:"zenmux",baseUrl:n,apiKey:t,mapModel:(i,o)=>{let s=U(i.pricings)?i.pricings:void 0,a=U(i.capabilities)?i.capabilities:void 0,l=YUa(i,o.id);return{...o,name:Bp(i.display_name,o.name),api:l?"anthropic-messages":"openai-completions",baseUrl:l?r:n,reasoning:a?.reasoning===!0||o.reasoning,input:Jce(i.input_modalities),cost:{input:Y0e(s,"prompt"),output:Y0e(s,"completion"),cacheRead:Y0e(s,"input_cache_read"),cacheWrite:JUa(s)},contextWindow:Bn(i.context_length,o.contextWindow),maxTokens:Bn(i.max_completion_tokens,o.maxTokens)}},fetch:e?.fetch})}}function WYe(e){let t=e?.apiKey,n=e?.baseUrl??"https://api.kilo.ai/api/gateway";return{providerId:"kilo",fetchDynamicModels:()=>ga({api:"openai-completions",provider:"kilo",baseUrl:n,apiKey:t,mapModel:(r,i)=>({...i,cost:WTi(r.pricing)}),fetch:e?.fetch})}}function jYe(e){return pb({api:"openai-completions",providerId:"alibaba-coding-plan",defaultBaseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1",config:e,mapModel:mc})}function XUa(e){let t=e.trim().toLowerCase();return t.length>0&&!ty("alibaba-token-plan",t)}function GYe(e){let t=e?.apiKey?D1(e.apiKey):void 0,n=t?.token,r=t?.baseUrl??e?.baseUrl??S3,i=jl("alibaba-token-plan");return{providerId:"alibaba-token-plan",dynamicModelsAuthoritative:!0,staticModels:i,...n&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"alibaba-token-plan",baseUrl:r,apiKey:n,filterModel:(o,s)=>XUa(s.id),mapModel:(o,s)=>{let a=i.find((u)=>u.id===s.id);if(a)return{...a,id:s.id,api:s.api,provider:s.provider,baseUrl:s.baseUrl};let l=s.id.trim().toLowerCase(),c=mCe("alibaba-token-plan",l),d=c?{...s,contextWindow:c.context??s.contextWindow,maxTokens:c.maxTokens??s.maxTokens}:s;if(JDt("alibaba-token-plan",l))return{...d,reasoning:!0,thinking:{mode:"effort",efforts:["high","max"]}};return d},fetch:e?.fetch})}}}function QUa(e){let t=(e===void 0?"https://ai-gateway.vercel.sh":e.trim()).replace(/\/+$/,""),n=t===""||t.endsWith("/v1")?t:`${t}/v1`;return{baseUrl:t.endsWith("/v1")?t.slice(0,-3):t,catalogBaseUrl:n}}function zYe(e){let t=e?.apiKey,{baseUrl:n,catalogBaseUrl:r}=QUa(e?.baseUrl);return{providerId:"vercel-ai-gateway",fetchDynamicModels:()=>ga({api:"anthropic-messages",provider:"vercel-ai-gateway",baseUrl:r,apiKey:t,filterModel:(i)=>{let o=i.tags;return Array.isArray(o)&&o.includes("tool-use")},mapModel:(i,o,s)=>{let a=i.pricing,l=Array.isArray(i.tags)?i.tags:[],c=typeof i.max_tokens==="number"?i.max_tokens:o.maxTokens,u=(typeof i.id==="string"?i.id:o.id)==="meta/muse-spark-1.2-contributor"&&typeof c==="number"?Math.min(c,131072):c;return{...o,baseUrl:n,reasoning:l.includes("reasoning"),input:l.includes("vision")?["text","image"]:["text"],cost:{input:(en(a?.input)??0)*1e6,output:(en(a?.output)??0)*1e6,cacheRead:(en(a?.input_cache_read)??0)*1e6,cacheWrite:(en(a?.input_cache_write)??0)*1e6},contextWindow:typeof i.context_window==="number"?i.context_window:o.contextWindow,maxTokens:u}},fetch:e?.fetch})}}function ZUa(e){let t=e.think_efforts;if(!U(t)||t.support!==!0)return;let n=t.valid_efforts;if(!Array.isArray(n))return;let r=Wr.filter((o)=>n.includes(o));if(r.length===0)return;let i={mode:"effort",efforts:r};if(e.supports_thinking_type==="only")i.requiresEffort=!0;if(typeof t.default_effort==="string"){let o=Wr.find((s)=>s===t.default_effort);if(o!==void 0&&r.includes(o))i.defaultLevel=o}return i}function e$a(e,t){switch(e.supports_thinking_type){case"only":case"both":return!0;case"no":return!1;default:return e.supports_reasoning===!0||Or("kimi-code",t,{lenient:!0}).thinkingVariant===!0}}function t$a(e){if(e==="anthropic")return"anthropic";if(e===null)return"openai";return}function zDt(e,t=GDt){return mCe("kimi-code",e.trim().toLowerCase())?.maxTokens??t}function qYe(e){let t=e?.apiKey,n=e?.baseUrl??CA("kimi-code");return{providerId:"kimi-code",cacheProviderId:Zc("kimi-code",{apiKey:t,baseUrl:n}),dynamicModelsAuthoritative:!0,...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"kimi-code",baseUrl:n,apiKey:t,headers:{"User-Agent":"KimiCLI/1.0","X-Msh-Platform":"kimi_cli"},mapModel:(r,i,o)=>{let s=i.id,a=e$a(r,s),l=a?ZUa(r):void 0;return{...i,name:typeof r.display_name==="string"?r.display_name:i.name,reasoning:a,input:r.supports_image_in===!0?["text","image"]:["text"],contextWindow:typeof r.context_length==="number"?r.context_length:262144,maxTokens:zDt(s),thinking:l,compat:{thinkingFormat:l?"kimi":"zai",kimiApiFormat:t$a(r.protocol),reasoningContentField:"reasoning_content",supportsDeveloperRole:!1}}},fetch:e?.fetch})}}}function r$a(e){let t=e.trim(),n=t.endsWith("/")?t.slice(0,-1):t;return n.endsWith("/v1")?n.slice(0,-3):n}function i$a(e){if(!Array.isArray(e))return[];return e.flatMap((t)=>typeof t==="string"?[t.toLowerCase()]:[])}function aDn(e){return typeof e.type==="string"?e.type.toLowerCase():""}function rvi(e){let t=aDn(e);if(t==="decision")return e.has_vision_adapter===!0?["text","image"]:["text"];let n=i$a(e.capabilities);return t==="vlm"||n.includes("vision")||n.includes("image")?["text","image"]:["text"]}function o$a(e){let t=new Map;if(!U(e)||!Array.isArray(e.models))return t;for(let n of e.models){if(!U(n)||aDn(n)!=="decision")continue;let r=Array.isArray(n.loaded_instances)?n.loaded_instances.filter(U):[],o=r.map((l)=>U(l.config)?Bn(l.config.context_length,null):null).find((l)=>l!==null)??Bn(n.max_context_length,null)??void 0,s={input:rvi(n),...o===void 0?{}:{contextWindow:o},decision:!0},a=[n.key,...r.map((l)=>l.id)];for(let l of a)if(typeof l==="string"&&l.length>0)t.set(l,s)}return t}function s$a(e){return(e.state==="loaded"?Bn(e.loaded_context_length,null):null)??Bn(e.max_context_length,null)??Bn(e.context_length,null)??Bn(e.max_model_len,null)??void 0}async function Xce(e,t=fetch,n){let r=r$a(e),i=async(s,a)=>{try{let l=await t(`${r}${s}`,{method:"GET",headers:{Accept:"application/json",...n?.headers},signal:a});return l.ok?await l.json():null}catch{return null}},o=async(s)=>{let[a,l]=await Promise.all([i("/api/v0/models",s),i("/api/v1/models",s)]),c=o$a(l);if((!U(a)||!Array.isArray(a.data))&&c.size===0)return null;let d=new Map;for(let u of U(a)&&Array.isArray(a.data)?a.data:[]){if(!U(u)||typeof u.id!=="string"||u.id.length===0)continue;let p=s$a(u);d.set(u.id,{input:rvi(u),...p===void 0?{}:{contextWindow:p},...aDn(u)==="decision"?{decision:!0}:{}})}for(let[u,p]of c)d.set(u,p);return d};if(n?.signal!==void 0)return o(n.signal);return G3(n$a,o)}function VYe(e){let t=e?.apiKey,n=e?.baseUrl??Bun.env.LM_STUDIO_BASE_URL??"http://127.0.0.1:1234/v1",r=_u("lm-studio");return{providerId:"lm-studio",fetchDynamicModels:async()=>{let i=Xce(n,e?.fetch,{headers:t?{Authorization:`Bearer ${t}`}:void 0}),o=await ga({api:"openai-completions",provider:"lm-studio",baseUrl:n,apiKey:t,mapModel:(a,l)=>{let c=r.get(l.id);return mc(a,l,c)},fetch:e?.fetch});if(!o)return o;let s=await i;if(!s)return o;return o.map((a)=>{let l=s.get(a.id);if(!l)return a;return{...a,...l.decision?{api:"openai-decisions",kind:"judge",reasoning:!1,supportsTools:!1}:{},input:l.input,contextWindow:l.contextWindow??a.contextWindow}})}}}function jLn(e){return Array.isArray(e)?e.filter((t)=>typeof t==="string"):[]}function l$a(e){let t=Wr.filter((r)=>e.includes(r)),n=e.includes(_Dt);if(t.length===0)return n?{mode:"effort",efforts:["minimal"],effortMap:{minimal:_Dt}}:void 0;if(!n||t.includes("minimal"))return{mode:"effort",efforts:t};return{mode:"effort",efforts:["minimal",...t],effortMap:{minimal:_Dt}}}function kDt(e){let t=en(typeof e==="string"?e.trim().replace(/^\$/,""):e);if(t===void 0||t<0)return;return Math.round(t*1000000000000)/1e6}function c$a(e,t){if(!U(e))return t;let n=kDt(e.prompt),r=kDt(e.completion);if(n===void 0||r===void 0)return t;return{input:n,output:r,cacheRead:kDt(e.input_cache_reads)??t.cacheRead,cacheWrite:kDt(e.input_cache_writes)??t.cacheWrite}}function KYe(e){let t=e?.apiKey,n=e?.baseUrl??"https://api.synthetic.new/openai/v1",r=new Map(Cs("synthetic").map((i)=>[i.id,Va(i)]));return{providerId:"synthetic",dynamicModelsAuthoritative:!0,dynamicReasoningAuthoritative:!0,...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"synthetic",baseUrl:n,apiKey:t,mapModel:(i,o,s)=>{let a=i,l=r.get(o.id),c=l?.input.includes("image")??!1,d=jLn(a.supported_features),u=jLn(a.input_modalities),p=U(a.reasoning_parameters)?jLn(a.reasoning_parameters.efforts):[],f=d.includes("reasoning")||p.length>0,m=l$a(p),h=(m?.efforts.length??0)-(p.includes(_Dt)?1:0),g=f&&h>0?!0:p.length>0?!1:i.supports_reasoning===!0||(l?.reasoning??!1),y=l?{...l,id:o.id,baseUrl:n}:o;return{...y,name:Bp(i.name,l?.name??o.name),reasoning:g,...m?{thinking:m}:{},input:u.length>0?u.includes("image")?["text","image"]:["text"]:i.supports_vision===!0||c?["text","image"]:["text"],...a.supported_features!==void 0&&!d.includes("tools")&&l?.supportsTools!==!0?{supportsTools:!1}:l?.supportsTools===!1?{supportsTools:!1}:{},cost:c$a(a.pricing,y.cost),contextWindow:Bn(i.context_length,l?.contextWindow??o.contextWindow),maxTokens:Bn(a.max_output_length??i.max_tokens,l?.maxTokens??a$a)}},fetch:e?.fetch})}}}function YYe(e){return pb({api:"openai-completions",providerId:"venice",defaultBaseUrl:"https://api.venice.ai/api/v1",config:e,mapModel:(t,n,r)=>{let i=mc(t,n,r);return{...i,compat:{...i.compat,supportsUsageInStreaming:!1}}}})}function JYe(e){return pb({api:"openai-completions",providerId:"baseten",defaultBaseUrl:"https://inference.baseten.co/v1",config:e,dynamicModelsAuthoritative:!0,requireApiKey:!0,dropCachedModelIdsOnStaticMismatch:d$a,mapModel:(t,n,r)=>{let i=t,o=Array.isArray(i.supported_features)?i.supported_features:[],s=Array.isArray(i.input_modalities)?i.input_modalities:[],a=Or("baseten",n.id,{lenient:!0}),c=(a.class==="kimi"&&a.family==="k3"||eDn("baseten",n.id,"5.2")||n.id==="openai/gpt-oss-120b"||JDt("baseten",n.id))&&(o.includes("reasoning")||o.includes("reasoning_effort")),d=o.includes("tools")?void 0:!1,u=s.includes("image")||(r?.input.includes("image")??!1),p=i.pricing??{},f={input:Bn(p.prompt,0)*1e6,output:Bn(p.completion,0)*1e6,cacheRead:Bn(p.input_cache_read,0)*1e6,cacheWrite:0},m=Bn(i.context_length,r?.contextWindow??n.contextWindow),h=Bn(i.max_completion_tokens,r?.maxTokens??n.maxTokens);return{...mc(t,n,r),reasoning:c,input:u?["text","image"]:["text"],cost:f,contextWindow:m,maxTokens:h,...d===!1?{supportsTools:d}:{}}}})}function XYe(e){return tM("together","https://api.together.xyz/v1",e)}function QYe(e){return{...pb({api:"openai-completions",providerId:"inception",defaultBaseUrl:"https://api.inceptionlabs.ai/v1",config:e,requireApiKey:!0,dynamicModelsAuthoritative:!0,mapModel:(t,n,r)=>{if(!Array.isArray(t.supported_endpoints)||!t.supported_endpoints.includes("chat.completions"))return null;let i=mc(t,n,r);return{...i,input:Array.isArray(t.input_modalities)?Jce(t.input_modalities):i.input,cost:U(t.pricing)?WTi(t.pricing):i.cost,contextWindow:Bn(t.context_length,i.contextWindow),maxTokens:Bn(t.max_output_length,i.maxTokens),...Array.isArray(t.supported_features)&&{supportsTools:t.supported_features.includes("tools")}}}}),staticModels:jl("inception")}}function ZYe(e){return tM("coreweave","https://api.inference.wandb.ai/v1",{...e,headers:()=>GY(Bun.env)})}function lDn(e){let t=Or("meta",e,{lenient:!0});if(t.family!=="muse-spark"||t.revision===void 0)return;let[n,r,i]=ta(t.revision)??[0,0,0],o=i===0?`${n}.${r}`:t.revision,s=u_t(e)!==void 0,a,l;for(let u of jl("meta")){if(u_t(u.id)!==void 0!==s)continue;let p=Or("meta",u.id,{lenient:!0});if(p.family!=="muse-spark")continue;let f=ta(p.revision??"");if(f===void 0)continue;if(l===void 0||Ip(f,l)>0)a=u,l=f}if(a===void 0)return;let{thinking:c,...d}=a;return{...d,id:e,name:s?`Muse Spark ${o} (C)`:`Muse Spark ${o}`}}function e9e(e={}){let n=(e.baseUrl??MTi).replace(/\/openai\/v1\/?$/,"/v1");return{providerId:"bedrock-mantle",staticModels:jl("bedrock-mantle"),dynamicModelsAuthoritative:!0,...e.authenticated&&{fetchDynamicModels:()=>ga({api:"openai-responses",provider:"bedrock-mantle",baseUrl:n,fetch:e.fetch,mapModel:(r,i)=>mc(r,{...i,baseUrl:MTi},p$a[i.id])})}}}function t9e(e){return{...pb({api:"openai-responses",providerId:"meta",defaultBaseUrl:YLn,config:e,requireApiKey:!0,filterModel:(t,n)=>!ty("meta",n.id),mapModel:(t,n,r)=>mc(t,n,r??u$a[n.id]??lDn(n.id))}),staticModels:jl("meta")}}function m$a(e){let t=lDn(e);return t?{...t,provider:"muse-code"}:void 0}function n9e(e){return{...pb({api:"openai-responses",providerId:"muse-code",defaultBaseUrl:YLn,config:e,headers:{"x-api-version":"1.0.0"},dynamicModelsAuthoritative:!0,requireApiKey:!0,filterModel:(t,n)=>!ty("muse-code",n.id),mapModel:(t,n,r)=>mc(t,n,r??f$a[n.id]??m$a(n.id))}),cacheProviderId:Zc("muse-code",{apiKey:e?.apiKey,baseUrl:e?.baseUrl??YLn}),staticModels:jl("muse-code")}}function r9e(e){return pb({api:"openai-completions",providerId:"moonshot",defaultBaseUrl:Bun.env.MOONSHOT_BASE_URL??"https://api.moonshot.ai/v1",config:e,requireApiKey:!0,mapModel:(t,n,r)=>{let i=mc(t,n,r),o=i.id.toLowerCase(),s=Or("moonshot",o,{lenient:!0});if(!r&&s.class==="kimi"&&s.family==="k3"){let l=i.cost.input===0&&i.cost.output===0&&i.cost.cacheRead===0,c=mCe("moonshot",o)??mCe("moonshot","kimi-k3");return{...i,reasoning:!0,cost:l?{...h$a}:i.cost,contextWindow:i.contextWindow??c?.context??null,maxTokens:i.maxTokens??c?.maxTokens??null}}let a=s.class==="kimi"&&s.family?.startsWith("k2")===!0;return{...i,reasoning:s.thinkingVariant===!0||a||i.reasoning}}})}function w$a(e){let n=(e?.trim()||g$a).replace(/\/+$/,"");return n.endsWith("/v1")?n:`${n}/v1`}function S$a(e){return/^fugu(?:$|-)/i.test(e)}function i9e(e){let t=e?.apiKey,n=w$a(e?.baseUrl??Bun.env.SAKANA_BASE_URL??Bun.env.FUGU_BASE_URL),r=_u("sakana");return{providerId:"sakana",dynamicModelsAuthoritative:!0,dropCachedModelIdsOnStaticMismatch:v$a,...t&&{fetchDynamicModels:()=>ga({api:"openai-responses",provider:"sakana",baseUrl:n,apiKey:t,mapModel:(i,o)=>{let s=r.get(o.id)??T$a.get(o.id),a=mc(i,o,s);if(!s&&S$a(a.id))return{...a,reasoning:!0,thinking:{...y$a},compat:{...b$a}};return a},fetch:e?.fetch})}}}function E$a(e){let n=(e?.trim()||A$a).replace(/\/+$/,"");return n.endsWith("/v1")?n:`${n}/v1`}function ivi(e){return Array.isArray(e)?e.flatMap((t)=>typeof t==="string"&&JLn[t]?[JLn[t]]:[]):[]}function x$a(e){let t=ivi(e.reasoning_efforts);if(t.length===0)return;let n=typeof e.reasoning_effort_default==="string"?JLn[e.reasoning_effort_default]:void 0;return{mode:"effort",efforts:t,...n&&t.includes(n)&&{defaultLevel:n}}}function k$a(e){if(typeof e.currency==="string"&&e.currency!=="usd")return{input:0,output:0,cacheRead:0,cacheWrite:0};return{input:Bn(e.input_per_1m,0),output:Bn(e.output_per_1m,0),cacheRead:0,cacheWrite:0}}function C$a(e,t){let n=Array.isArray(e.capabilities)?e.capabilities:[],r=n.includes("reasoning"),i=r?x$a(e):void 0,o=typeof e.description==="string"&&e.description.trim()?e.description:void 0;return{...t,name:o??Bp(e.name,t.name),reasoning:r,input:n.includes("vision")?["text","image"]:["text"],cost:k$a(e),contextWindow:Bn(e.context_window,null),...i&&{thinking:i}}}function o9e(e){let t=e?.apiKey,n=E$a(e?.baseUrl??Bun.env.AIAND_BASE_URL);return{providerId:"aiand",dynamicModelsAuthoritative:!0,dropCachedModelIdsOnStaticMismatch:R$a,...t&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:"aiand",baseUrl:n,apiKey:t,mapModel:(r,i)=>C$a(r,i),fetch:e?.fetch})}}}function _$a(e){let n=(e?.trim()||I$a).replace(/\/+$/,"");return n.endsWith("/v1")?n:`${n}/v1`}function s9e(e){let t=e?.apiKey,n=_$a(e?.baseUrl),r=_u("abliteration");return{providerId:"abliteration",dynamicModelsAuthoritative:!0,dropCachedModelIdsOnStaticMismatch:M$a,...t&&{fetchDynamicModels:()=>ga({api:"openai-responses",provider:"abliteration",baseUrl:n,apiKey:t,mapModel:(i,o)=>{let s=r.get(o.id)??P$a.get(o.id),a=mc(i,o,s);return s?a:{...a,reasoning:!0}},fetch:e?.fetch})}}}function N$a(e,t,n){let r=mc(e,t,n),i=ivi(e.thinking),o=i.length>0?{...r.thinking,mode:r.thinking?.mode??"effort",efforts:i,defaultLevel:r.thinking?.defaultLevel&&i.includes(r.thinking.defaultLevel)?r.thinking.defaultLevel:void 0}:r.thinking;return{...r,...i.length>0&&{reasoning:!0},thinking:o,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},compat:{...r.compat,supportsStore:!1,supportsDeveloperRole:!1}}}function a9e(e){let t=new Map,n=_u("yolo-auto");for(let i of n.values())t.set(i.id,i);for(let i of jl("yolo-auto")){let o=t.get(i.id);t.set(i.id,{...o,...i,maxTokens:i.maxTokens??o?.maxTokens??null,thinking:i.thinking??o?.thinking})}let r=j3(()=>t);return{...pb({api:"openai-completions",providerId:"yolo-auto",defaultBaseUrl:O$a,config:e,requireApiKey:!0,mapModel:(i,o,s)=>N$a(i,o,r(o.id)??s),dynamicModelsAuthoritative:!0})}}function L$a(e){let t=Array.isArray(e.reasoning_effort_support_list)?e.reasoning_effort_support_list.filter((r)=>typeof r==="string"):[],n=Wr.filter((r)=>t.includes(r));return n.length===0?void 0:{mode:"effort",efforts:n}}function qDt(e){let t=e.trim().toLowerCase();if(!t)return!1;return!ty("stepfun",t)}function l9e(e){return pb({api:"openai-completions",providerId:"stepfun",defaultBaseUrl:"https://api.stepfun.ai/v1",config:e,requireApiKey:!0,filterModel:(t,n)=>qDt(n.id),mapModel:(t,n,r)=>{let i=mc(t,n,r);if(r)return i;let o=L$a(t);return o===void 0?i:{...i,reasoning:!0,thinking:o}},dynamicModelsAuthoritative:!0})}function c9e(e){return tM("qwen-portal","https://portal.qwen.ai/v1",e)}function d9e(e){return tM("qianfan","https://qianfan.baidubce.com/v2",e)}function u9e(e){return $Ba("cloudflare-ai-gateway","https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic",e)}function k9(e){let t=e?.apiKey,n=e?.providerId??"xiaomi",r=e?.tokenPlanRegion?[PDt[e.tokenPlanRegion]]:D$a,i="https://api.xiaomimimo.com/v1",s=e?.tokenPlanRegion!==void 0||n.startsWith("xiaomi-token-plan-")||t!==void 0&&kVe(t),a=s?r[0]:e?.baseUrl??"https://api.xiaomimimo.com/v1",l=_u("xiaomi");for(let d of jl(n))l.set(d.id,d);let c=(d)=>ga({api:"openai-completions",provider:n,baseUrl:d,apiKey:t,filterModel:(u,p)=>!ty(n,p.id),mapModel:(u,p)=>{let f=l.get(p.id),m=mc(u,p,f);return{...m,api:"openai-completions",provider:n,baseUrl:p.baseUrl,name:Bp(u.display_name,m.name)}},fetch:e?.fetch});return{providerId:n,...t&&{fetchDynamicModels:async()=>{if(!s)return c(a);for(let d of r){let u=await c(d);if(u)return u}return null}}}}function $$a(e,t){if(OTi.has(e))return;OTi.add(e),G("LiteLLM rich model metadata unavailable; falling back to /v1/models",{endpoint:`${e}${t.endpoint}`,status:t.status??"unavailable",reason:t.reason,...t.status===403?{requiredPermission:"Grant this LiteLLM key access to the model metadata endpoints"}:{},...t.error!==void 0?{error:t.error}:{}})}function C9(e){return typeof e!=="string"||!yOn("litellm",e)}function VDt(e){let t=e.trim().replace(/\/+$/g,"");if(!t)return"";try{let n=new URL(t),r=n.pathname.replace(/\/+$/g,"");n.pathname=r.endsWith("/v1")?r.slice(0,-3)||"/":r||"/";let i=`${n.protocol}//${n.host}${n.pathname}`;return i.endsWith("/")?i.slice(0,-1):i}catch{return t.replace(/\/v1$/,"")}}function H$a(e){let t=e.trim();return t.endsWith("/")?t.slice(0,-1):t}function XLn(e){let t=e.replace(W$a,"").trim();return t.length>0?t:e}function ovi(e,t,n){let r=e?XLn(e):void 0;if(r&&r!==n)return r;return t?XLn(t):n}function j$a(e,t,n){if(!C9(e.mode))return null;let r=mc(e,t,n),i=I9(e,r.id);return{...r,api:i,...uDn(i),name:XLn(r.name)}}function w0(e){if(typeof e!=="string")return;let t=e.trim();return t.length>0?t:void 0}function QLn(e){if(Array.isArray(e))return e.flatMap((t)=>U(t)?[t]:[]);if(!U(e))return null;for(let t of[e.data,e.models,e.result,e.items]){if(t===void 0)continue;let n=QLn(t);if(n!==null)return n}return null}function G$a(e){return U(e.model_info)?e.model_info:void 0}function cDn(e){return U(e.litellm_params)?e.litellm_params:void 0}function bf(e,t){return e[t]??G$a(e)?.[t]}function CDt(e,t){let n=en(bf(e,t));return n!==void 0&&n>0?n*1e6:void 0}function svi(e){let t=CDt(e,"input_cost_per_token"),n=CDt(e,"output_cost_per_token"),r=CDt(e,"cache_read_input_token_cost"),i=CDt(e,"cache_creation_input_token_cost");return{...t!==void 0?{input:t}:{},...n!==void 0?{output:n}:{},...r!==void 0?{cacheRead:r}:{},...i!==void 0?{cacheWrite:i}:{}}}function avi(e){let t=svi(e);if(t.input===void 0&&t.output===void 0)return;return{input:t.input??0,output:t.output??0,cacheRead:t.cacheRead??0,cacheWrite:t.cacheWrite??0}}function lvi(e){return w0(e.model_group)??w0(e.model_name)??w0(e.id)??w0(cDn(e)?.model)}function dDn(e){let t=bf(e,"supported_openai_params");if(!Array.isArray(t))return;return t.flatMap((n)=>typeof n==="string"?[n]:[])}function z$a(e){if(!Array.isArray(e.providers))return;let t=e.providers.flatMap((n)=>{let r=w0(n)?.toLowerCase();return r?[r]:[]});return t.length>0?t:void 0}function cvi(e,t){if(e){let r=z$a(e);if(r)return r.every((d)=>d==="openai")?"openai":"other";let i=cDn(e),o=w0(i?.custom_llm_provider)?.toLowerCase();if(o)return o==="openai"?"openai":"other";let s=w0(i?.model),a=s?.indexOf("/")??-1;if(s&&a>0)return s.slice(0,a).toLowerCase()==="openai"?"openai":"other";let l=w0(bf(e,"base_model")),c=l?.indexOf("/")??-1;if(l&&c>0)return l.slice(0,c).toLowerCase()==="openai"?"openai":"other"}let n=t.toLowerCase().startsWith("openai/")?t.slice(7):t;return GTi(n)?"openai":"unknown"}function I9(e,t,n="openai-completions"){if(e&&bf(e,"mode")==="decisions")return"openai-decisions";return cvi(e,t)==="openai"?"openai-responses":n}function uDn(e){let t=hR(e);return t?{kind:t}:{}}function dvi(e){let t=w0(e.model_group),n=w0(e.id);if((t===void 0||dYe[t]!==!0)&&(n===void 0||dYe[n]!==!0))return!1;let r=e.providers;if(r!==void 0&&(!Array.isArray(r)||r.length>0))return!1;let i=w0(e.model_name);if(i&&dYe[i]!==!0)return!1;if(n&&dYe[n]!==!0)return!1;let o=w0(cDn(e)?.model);if(o&&dYe[o]!==!0)return!1;if(Bn(bf(e,"max_input_tokens"),null)!==null||Bn(bf(e,"max_output_tokens"),null)!==null)return!1;if(bf(e,"supports_vision")===!0||bf(e,"supports_reasoning")===!0||bf(e,"supports_function_calling")===!0||bf(e,"supports_tools")===!0)return!1;let s=dDn(e);if(s&&s.length>0)return!1;return!0}function q$a(e,t,n){if(!C9(bf(e,"mode"))||dvi(e))return null;let r=lvi(e);if(!r)return null;let i=t.referenceResolver?.(r),o=w0(e.model_name),s=Bn(bf(e,"max_input_tokens"),i?.contextWindow??Q0e),a=Bn(bf(e,"max_output_tokens"),i?.maxTokens??Math.min(s,Z0e)),l=bf(e,"supports_vision"),c=bf(e,"supports_reasoning"),d=dDn(e),u=bf(e,"supports_function_calling"),p=u===!0?!0:u===!1?!1:d!==void 0?d.some((g)=>["tools","tool_choice","functions","function_call"].includes(g)):i?.supportsTools,f=i?.compat,m={supportsStore:!1,supportsDeveloperRole:!1,...d!==void 0?{supportsReasoningEffort:d.includes("reasoning_effort")}:f?.supportsReasoningEffort!==void 0?{supportsReasoningEffort:f.supportsReasoningEffort}:{},...f?.reasoningEffortMap?{reasoningEffortMap:f.reasoningEffortMap}:{},...f?.omitReasoningEffort!==void 0?{omitReasoningEffort:f.omitReasoningEffort}:{},...l===!0?{stripImageInput:!1}:{}},h=t.resolveApi?.(e,r)??t.api;return{id:r,name:ovi(o,i?.name,r),api:h,...uDn(h),provider:t.provider,baseUrl:n,contextWindow:s,maxTokens:a,input:l===!0?["text","image"]:l===!1?["text"]:i?.input??["text"],reasoning:typeof c==="boolean"?c:i?.reasoning??!1,thinking:i?.thinking,cost:avi(e)??i?.cost??U$a,...p!==void 0?{supportsTools:p}:{},compat:m}}function V$a(e,t,n){if(!e)return t;if(!t)return e;let r={...e};for(let i in t){let o=t[i];if(o!==void 0)r[i]=o}if(!n.nextReportedParams){let i=e.supportsReasoningEffort;if(i===void 0)delete r.supportsReasoningEffort;else r.supportsReasoningEffort=i}return r}function uvi(e,t){let n=e.apiRoute==="other"||t.apiRoute==="other"?"other":e.apiRoute==="openai"||t.apiRoute==="openai"?"openai":"unknown",i=[t.model.api,e.model.api].find((s)=>hR(s)!==void 0)??(t.apiRoute===n?t.model.api:e.model.api),o={...e.model,api:i,...uDn(i),name:t.model.name===t.model.id?e.model.name:t.model.name,contextWindow:t.hasContextWindow?t.model.contextWindow:e.model.contextWindow,maxTokens:t.hasMaxTokens?t.model.maxTokens:e.model.maxTokens,input:t.supportsVision===!0||t.supportsVision===!1?t.model.input:e.model.input,reasoning:typeof t.supportsReasoning==="boolean"?t.model.reasoning:e.model.reasoning,cost:{...e.model.cost,...e.reportedCost,...t.reportedCost},compat:V$a(e.model.compat,t.model.compat,{existingReportedParams:e.hasSupportedOpenAIParams,nextReportedParams:t.hasSupportedOpenAIParams})};if(t.hasToolMetadata)o.supportsTools=t.model.supportsTools;return{...t,apiRoute:n,model:o,reportedCost:{...e.reportedCost,...t.reportedCost},hasContextWindow:e.hasContextWindow||t.hasContextWindow,hasMaxTokens:e.hasMaxTokens||t.hasMaxTokens,hasToolMetadata:e.hasToolMetadata||t.hasToolMetadata,hasSupportedOpenAIParams:e.hasSupportedOpenAIParams||t.hasSupportedOpenAIParams,hasCost:e.hasCost||t.hasCost,hasMode:e.hasMode||t.hasMode}}async function K$a(e,t,n,r,i){let o=bl(t.fetch),s={Accept:"application/json",...t.headers};if(t.apiKey)s.Authorization=`Bearer ${t.apiKey}`;let a=async(f)=>{let m;try{m=await o(`${n}${e}${f===void 0?"":`?page=${f}`}`,{method:"GET",headers:s,signal:i})}catch(h){return{failure:{endpoint:e,reason:"network-error",error:h}}}if(!m.ok)return m.status===404&&f===void 0?null:{failure:{endpoint:e,reason:"http-status",status:m.status}};try{return{payload:await m.json(),status:m.status}}catch(h){return{failure:{endpoint:e,reason:"invalid-json",status:m.status,error:h}}}},l=await a();if(!l||"failure"in l)return l;let c=QLn(l.payload);if(!c||c.length===0)return null;if(e==="/v2/model/info"&&U(l.payload)&&(("current_page"in l.payload)||("total_pages"in l.payload))){let{current_page:f,total_pages:m,total_count:h}=l.payload,g=(b)=>({failure:{endpoint:e,reason:"invalid-pagination",status:b}});if(f!==1||typeof m!=="number"||!Number.isSafeInteger(m)||m<1||m>B$a||h!==void 0&&(typeof h!=="number"||!Number.isSafeInteger(h)||h<c.length))return g(l.status);let y=await Promise.all(Array.from({length:m-1},(b,w)=>a(w+2)));for(let[b,w]of y.entries()){if(!w||"failure"in w)return w??g(l.status);let S=QLn(w.payload);if(!U(w.payload)||w.payload.current_page!==b+2||w.payload.total_pages!==m||h!==void 0&&w.payload.total_count!==h||!S?.length)return g(w.status);c.push(...S)}if(h!==void 0&&c.length!==h)return g(l.status)}let d=new Map,u=new Set;for(let f of c){if(dvi(f))continue;let m=lvi(f);if(!C9(bf(f,"mode"))){if(m)u.add(m),d.delete(m);continue}if(m&&u.has(m))continue;let h=q$a(f,t,r);if(h){let g=bf(f,"supports_vision"),y=bf(f,"supports_reasoning"),b=bf(f,"supports_function_calling"),w=dDn(f),S={model:h,apiRoute:cvi(f,h.id),supportsVision:g,supportsReasoning:y,hasContextWindow:Bn(bf(f,"max_input_tokens"),null)!==null,hasMaxTokens:Bn(bf(f,"max_output_tokens"),null)!==null,hasToolMetadata:b===!0||b===!1||w!==void 0,hasSupportedOpenAIParams:w!==void 0,hasCost:avi(f)!==void 0,hasMode:typeof bf(f,"mode")==="string",reportedCost:svi(f)},T=d.get(h.id);d.set(h.id,T?uvi(T,S):S)}}if(d.size===0&&u.size===0)return null;let p=Array.from(d.values()).sort((f,m)=>f.model.id.localeCompare(m.model.id));return{models:p,excludedModelIds:u,incompleteVisionMetadata:p.some((f)=>f.supportsVision!==!0&&f.supportsVision!==!1)}}async function Y$a(e){let t=VDt(e.baseUrl),n=H$a(e.baseUrl);if(!t||!n)return null;let r=async(i)=>{let o=new Map,s=new Set,a;for(let l of F$a){let c=await K$a(l,e,t,n,i);if(!c)continue;if("failure"in c){if(c.failure.status!==401&&(!a||a.status!==403&&c.failure.status===403))a=c.failure;continue}for(let p of c.excludedModelIds)s.add(p),o.delete(p);let d=o.size>0;for(let p of c.models){if(s.has(p.model.id))continue;let f=o.get(p.model.id);if(!f){if(!d)o.set(p.model.id,p);continue}o.set(p.model.id,uvi(f,p))}if(o.size===0)continue;let u=!1;for(let p of o.values())if(p.supportsVision!==!0&&p.supportsVision!==!1||e.resolveApi!==void 0&&(p.apiRoute==="unknown"||!p.hasMode)||Object.keys(p.reportedCost).length>0&&(p.reportedCost.input===void 0||p.reportedCost.output===void 0||p.reportedCost.cacheRead===void 0||p.reportedCost.cacheWrite===void 0)){u=!0;break}if(!u)break}if(o.size===0){if(s.size>0)return[];if(a)$$a(t,a);return null}return Array.from(o.values()).map((l)=>l.model).sort((l,c)=>l.id.localeCompare(c.id))};if(e.signal!==void 0)return r(e.signal);return e.timeoutMs!==void 0?G3(e.timeoutMs,r):r()}async function eIe(e){return Y$a(e)}function p9e(e){let t=e?.apiKey,n=e?.baseUrl??CA("litellm");return{providerId:"litellm",cacheProviderId:Zc("litellm",{baseUrl:n}),fetchDynamicModels:async()=>{let r=await XTi(e?.fetch),i=j3(r),s=await eIe({api:"openai-completions",provider:"litellm",baseUrl:n,apiKey:t,fetch:e?.fetch,referenceResolver:i,resolveApi:I9,timeoutMs:1e4})??await ga({api:"openai-completions",provider:"litellm",baseUrl:n,apiKey:t,mapModel:(a,l)=>j$a(a,l,i(l.id)),fetch:e?.fetch});if(s===null)return null;return s.map((a)=>{let l=ovi(a.name,i($U(a.id))?.name,a.id);return l===a.name?a:{...a,name:l}})}}}function f9e(e){let t=e?.apiKey,n=e?.baseUrl??CA("vllm"),r=_u("vllm");return{providerId:"vllm",cacheProviderId:Zc("vllm",{baseUrl:n}),fetchDynamicModels:()=>ga({api:"openai-completions",provider:"vllm",baseUrl:n,apiKey:t,mapModel:(i,o)=>{let s=mc(i,o,r.get(o.id)),a=Or("vllm",s.id,{lenient:!0});return{...s,contextWindow:Bn(i.max_model_len,s.contextWindow),reasoning:s.reasoning||a.class==="qwen"&&MDt(a.revision,"3.8")}},fetch:e?.fetch,timeoutMs:J$a})}}function m9e(e){let t=e?.apiKey,n=e?.baseUrl??"https://nano-gpt.com/api/v1",r=j3(()=>_u("nanogpt"));return{providerId:"nanogpt",...t&&{fetchDynamicModels:async()=>{let i=new Set,o=await ga({api:"openai-completions",provider:"nanogpt",baseUrl:n,apiKey:t,query:{detailed:"true"},mapModel:(s,a)=>{let l=r(a.id),c=s.max_output_tokens??s.max_completion_tokens,d=mc({...s,max_completion_tokens:c},l?a:{...a,contextWindow:D8e(s.context_length),maxTokens:D8e(c)},l);return{...d,api:"openai-completions",provider:"nanogpt",cost:{...d.cost,...PBa(s.pricing,d.cost)}}},filterModel:(s,a)=>{let l=zTi.exec(a.id);if(l)return i.add(a.id.slice(0,l.index)),!1;return BBa(a.id)},fetch:e?.fetch});if(!o)return null;for(let s of o)if(!s.reasoning&&i.has(s.id))s.reasoning=!0;return o}}}}function Q$a(e){let t=db("github-copilot",e);if(t?.api==="anthropic-messages"||t?.api==="openai-responses")return t.api;return"openai-completions"}function Z$a(e){if(!U(e.capabilities))return{};let t=e.capabilities.limits;if(!U(t))return{};return{maxPromptTokens:en(t.max_prompt_tokens),maxContextWindowTokens:en(t.max_context_window_tokens),maxOutputTokens:en(t.max_output_tokens),maxNonStreamingOutputTokens:en(t.max_non_streaming_output_tokens)}}function NTi(e){if(!U(e))return;return{contextMax:en(e.max_prompt_tokens)??en(e.context_max),inputPrice:en(e.input_price),outputPrice:en(e.output_price),cachePrice:en(e.cache_price)}}function tHa(e){if(!U(e.billing))return{};let t=e.billing.token_prices;if(!U(t))return{};return{defaultTier:NTi(t.default),longContext:NTi(t.long_context)}}function nHa(e){if(!U(e.capabilities))return;let t=e.capabilities.supports;if(!U(t))return;return u1(t.vision)}function rHa(e){if(!U(e.capabilities))return!0;let t=e.capabilities.type;return typeof t!=="string"||t==="chat"}function pvi(e){if(e?.inputPrice===void 0||e.outputPrice===void 0)return;return{input:e.inputPrice/100,output:e.outputPrice/100,cacheRead:(e.cachePrice??0)/100}}function iHa(e,t,n,r){let i=r?.contextMax;if(i===void 0||i<=0||t===null||n===null)return;let o=Math.min(t,i+n);if(e.contextWindow===null||o<=e.contextWindow)return;let s=pvi(r);return{...e,id:`${e.id}${KDt}`,requestModelId:e.id,name:`${e.name}${eHa}`,contextWindow:o,...s&&{cost:{...s,cacheWrite:e.cost.cacheWrite}},contextPromotionTarget:void 0}}function h9e(e){let t=e?.apiKey,n=e?.baseUrl??"https://api.githubcopilot.com",r=t?zP(t):void 0,i=r?.accessToken,o=r?.apiEndpoint&&n.includes("githubcopilot.com")?r.apiEndpoint:r?.enterpriseUrl&&n.includes("githubcopilot.com")?VY(r.enterpriseUrl):n,s,a=()=>s??=_u("github-copilot"),l=j3(a);return{providerId:"github-copilot",cacheProviderId:Zc("github-copilot",{apiKey:t,baseUrl:o}),dynamicInputAuthoritative:!0,dropCachedModelIdsOnStaticMismatch:X$a,restorableHeaderFallback:{...T3},...i&&{fetchDynamicModels:async()=>{let c=bl(e?.fetch),d=_Ve(o)?await G3(ZU,(m)=>OCe(i,c,m))??o:o,u=[],p=await ga({api:"openai-completions",provider:"github-copilot",baseUrl:d,apiKey:i,headers:d1t,mapModel:(m,h,g)=>{if(!rHa(m))return null;let y=l(h.id),b=Z$a(m),w=Bn(b.maxContextWindowTokens,Bn(m.context_length,Bn(b.maxPromptTokens,y?.contextWindow??h.contextWindow))),S=Bn(b.maxOutputTokens,Bn(m.max_completion_tokens,Bn(b.maxNonStreamingOutputTokens,y?.maxTokens??h.maxTokens))),T=typeof m.name==="string"&&m.name.trim().length>0?m.name:y?.name??h.name,v=Q$a(h.id),E=nHa(m),x=E===!0?["text","image"]:E===!1||!_Ve(d)?["text"]:y?.input??h.input,k=tHa(m),C=k.defaultTier?.contextMax,P=(k.longContext?.contextMax??0)>0?b.maxPromptTokens??0:0,_=P>0&&(C===void 0||C<=0||P<C)?P:C,N=_!==void 0&&_>0&&w!==null&&S!==null?Math.min(w,_+S):w,O=y===void 0&&v==="anthropic-messages"?Or("github-copilot",h.id,{lenient:!0}):void 0,L=y?{...y,api:v,provider:"github-copilot",baseUrl:d,name:T,input:x,contextWindow:N,maxTokens:S,headers:CVe(a().get(h.id)?.headers),...v==="openai-completions"?{compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1}}:{compat:void 0}}:{...h,api:v,baseUrl:d,name:T,input:x,contextWindow:N,maxTokens:S,headers:CVe(),...O?.class==="anthropic"&&MDt(O.revision,"3.7")?{reasoning:!0}:{},...v==="openai-completions"?{compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1}}:{}};if(y&&y.provider!=="github-copilot"){if(delete L.requestModelId,L.thinking)L.thinking={...L.thinking},delete L.thinking.effortRouting}let D=pvi(k.defaultTier);if(D)L.cost={...D,cacheWrite:L.cost.cacheWrite};let B=iHa(L,w,S,k.longContext);if(B)u.push(B),L.contextPromotionTarget??=`github-copilot/${B.id}`;return L},fetch:c});if(p===null)return null;let f=new Set(p.map((m)=>m.id));for(let m of u){if(f.has(m.id))continue;f.add(m.id),p.push(m)}return p.sort((m,h)=>m.id.localeCompare(h.id))}}}}function g9e(e){let t=e?.apiKey,n=LDt(e?.baseUrl,yBa),r=nDn(n);return{providerId:"anthropic",modelsDev:{fetch:()=>tDn(e?.fetch),map:(i)=>_Ti(i,n)},...t&&{fetchDynamicModels:async()=>{let i=await x9(e?.fetch).then((s)=>_Ti(s,n)).catch(()=>[]),o=_Ba(i);return ga({api:"anthropic-messages",provider:"anthropic",baseUrl:r,headers:HTi(t,r),mapModel:(s,a,l)=>{let c=typeof s.display_name==="string"?s.display_name:a.name,d=o.get(a.id);if(!d)return{...a,name:c,baseUrl:n};return{...d,id:a.id,name:c,api:"anthropic-messages",provider:"anthropic",baseUrl:n}},fetch:e?.fetch})??null}}}}function _9(e,t){let n=[],r=WY();for(let i of t){let o=e[i.modelsDevKey];if(!U(o)||!U(o.models))continue;for(let s in o.models){let a=o.models[s];if(!U(a))continue;let l=a,c=Bp(l.name,s),d,u;if(l.kind!==void 0){let h=Zu({id:s,name:c,api:i.api,provider:i.providerId,baseUrl:i.baseUrl,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:null,maxTokens:null}).catalog.kind??l.kind;if(typeof h!=="string"||!iT.some((g)=>g===h))continue;if(h!=="chat"){let g=pxe.find((y)=>y===h);if(g===void 0)continue;if(u=r[i.providerId]?.kindApis?.[g],u===void 0)continue;d=g}}if(d===void 0){if(i.filterModel){if(!i.filterModel(s,l))continue}else if(l.tool_call!==!0)continue}let p;if(d===void 0)p=i.resolveApi?.(s,l)??{api:i.api,baseUrl:i.baseUrl};else{if(u===void 0)continue;p={api:u,baseUrl:i.baseUrl}}if(!p)continue;let f={id:s,name:c,api:p.api,provider:i.providerId,baseUrl:p.baseUrl,reasoning:d===void 0&&l.reasoning===!0,input:Jce(l.modalities?.input),cost:{input:en(l.cost?.input)??0,output:en(l.cost?.output)??0,cacheRead:en(l.cost?.cache_read)??0,cacheWrite:en(l.cost?.cache_write)??0},contextWindow:Bn(l.limit?.context,i.defaultContextWindow??null),maxTokens:Bn(l.limit?.output,i.defaultMaxTokens??null),...d!==void 0?{kind:d,supportsTools:!1}:{},...l.int!=null?{int:l.int}:{},...l.tps!=null?{tps:l.tps}:{},...d===void 0&&l.tool_call===!1?{supportsTools:!1}:{},...i.compat&&{compat:i.compat},...i.headers&&{headers:{...i.headers}}};if(d!==void 0)n.push(f);else if(i.transformModel){let m=i.transformModel(f,s,l);if(m===null)continue;if(Array.isArray(m))n.push(...m);else n.push(m)}else n.push(f)}}return n}function aHa(e){if(oHa.some((t)=>e.startsWith(t)))return`global.${e}`;if(sHa.some((t)=>e.startsWith(t)))return`us.${e}`;return e}function ZLn(e,t,n,r){for(let i of n)if(i.matches(e,t))return i.resolved;return r}function fvi(e,t){let n=`${e}/v1`,r=(o)=>uYe(o,e),i=["openai-completions","openai-responses","anthropic-messages","google-generative-ai"].map((o)=>({matches:(s)=>db(t,s)?.api===o,resolved:{api:o,baseUrl:r(o)}}));return{defaultResolution:{api:"openai-completions",baseUrl:n},rules:[...i,{matches:(o,s)=>s.provider?.npm==="@ai-sdk/openai",resolved:{api:"openai-responses",baseUrl:n}},{matches:(o,s)=>s.provider?.npm==="@ai-sdk/anthropic",resolved:{api:"anthropic-messages",baseUrl:e}},{matches:(o,s)=>s.provider?.npm==="@ai-sdk/google",resolved:{api:"google-generative-ai",baseUrl:n}}]}}function fDn(e){return uYe(e,pDn)}function YDt(e){let t=db("zai",e)?.api??"anthropic-messages";switch(t){case"anthropic-messages":return{api:t,baseUrl:mvi};case"openai-completions":return{api:t,baseUrl:lHa};default:throw Error(`Unsupported Z.AI API route: ${t}`)}}function R9(e,t,n,r,i={}){return{modelsDevKey:e,providerId:t,api:n,baseUrl:r,...i}}function ed(e,t,n,r={}){return R9(e,t,"openai-completions",n,r)}function uHa(e,t,n,r={}){return R9(e,t,"openai-responses",n,r)}function E9(e,t,n,r={}){return R9(e,t,"anthropic-messages",n,r)}function mHa(e,t){if(t.provider?.npm==="@ai-sdk/google-vertex/anthropic")return{api:"anthropic-messages",baseUrl:fHa.replace("{model}",e)};if(e.includes("/")||t.provider?.npm==="@ai-sdk/openai-compatible")return{api:"openai-completions",baseUrl:pHa};return{api:"google-vertex",baseUrl:hvi}}function yHa(e,t){let n=e.reasoning_options?.find((l)=>l.type==="effort")?.values;if(n){let l=Wr.filter((c)=>n.includes(c));return l.length>0?{mode:"effort",efforts:l}:void 0}let r=e.reasoning_options?.find((l)=>l.type==="budget_tokens");if(!r)return;let i=t.maxTokens??oDn,o=Bn(r.max,i)??i,s=Bn(r.min,1)??1,a=Math.min(i,o);return{mode:"budget",efforts:Wr,effortBudgets:Object.fromEntries(Wr.map((l)=>[l,Math.min(Math.max(Math.floor(a*gHa[l]),s),o)]))}}function JDt(e,t){let n=Or(e,t,{lenient:!0});if(n.class!=="deepseek")return!1;return n.family==="v4"||n.family==="flash"||n.family==="pro"}function tIe(e,t,n=ZU){let r=pYe[e];if(!r)return;return{additiveOnly:!0,fetch:()=>tDn(t,n),map:(i)=>U(i)?HLn(_9(i,r)):[]}}function AHa(e){let t=(e??vHa).trim().replace(/\/+$/,"");return t.endsWith("/v1")?t.slice(0,-3):t}function b9e(e){let t=AHa(e?.baseUrl),n=`${t}/v1`;return{providerId:"commandcode",cacheProviderId:Zc("commandcode",{apiKey:e?.apiKey,baseUrl:n}),dynamicModelsAuthoritative:!0,fetchDynamicModels:async()=>{let r=await ga({api:"openai-completions",provider:"commandcode",baseUrl:n,apiKey:e?.apiKey,mapModel:(s,a)=>{let l=db("commandcode",a.id)?.api,c=l==="anthropic-messages"||l==="openai-responses"?l:"openai-completions";return{...a,name:Bp(s.name,a.name),api:c,baseUrl:c==="anthropic-messages"?t:n,reasoning:a.reasoning,input:a.input,contextWindow:Bn(s.context_length,null),maxTokens:null}},fetch:e?.fetch});if(!r)return null;let i=jl("commandcode").map((s)=>({...s,baseUrl:t})),o=new Set(i.map((s)=>s.id));return[...r.filter((s)=>!o.has(s.id)),...i]}}}function RHa(e){if(!U(e)||!Array.isArray(e.effort_levels))return[];let t=[];for(let n of e.effort_levels){let r=U(n)?n.value:void 0;if(typeof r==="string"&&!t.includes(r))t.push(r)}return t}function xHa(e,t){let n=Wr.filter((o)=>t.includes(o));if(n.length===0)return;let r=U(e)?e.default_effort_level:void 0,i=n.find((o)=>o===r);return{mode:"effort",efforts:n,...i!==void 0&&{defaultLevel:i}}}function IDt(e){let t=en(e);return t!==void 0&&t>=0?t:0}function kHa(e){if(!U(e))return{input:0,output:0,cacheRead:0,cacheWrite:0};return{input:IDt(e.input),output:IDt(e.output),cacheRead:IDt(e.cache_hit),cacheWrite:IDt(e.cache_create)}}function w9e(e){let t=Vce(e?.baseUrl);return{providerId:"charm-hyper",cacheProviderId:Zc("charm-hyper",{baseUrl:t}),dynamicModelsAuthoritative:!0,fetchDynamicModels:()=>ga({api:"openai-completions",provider:"charm-hyper",baseUrl:t,apiKey:e?.apiKey,mapModel:(n,r)=>{let i=n,o=RHa(i.reasoning),s=xHa(i.reasoning,o),a=U(i.capabilities)?i.capabilities:void 0;return{...r,name:Bp(i.display_name,r.name),reasoning:s!==void 0,...s&&{thinking:s},input:a?.vision===!0?["text","image"]:["text"],contextWindow:Bn(i.context_window,r.contextWindow),maxTokens:Bn(i.max_output_tokens,r.maxTokens),cost:kHa(i.pricing),...s&&o.includes(EHa)?{compat:{reasoningDisableMode:"none-effort"}}:{}}},fetch:e?.fetch})}}function _Ha(e){let t=e.capabilities;if(!Array.isArray(t))return[];return t.filter((n)=>U(n))}function FTi(e){let t=en(e);return t!==void 0&&t>=0?t:0}function PHa(e){let t=e!==void 0&&U(e.pricing)?e.pricing:void 0;if(!t)return{input:0,output:0,cacheRead:0,cacheWrite:0};return{input:FTi(t.input_per_million_usd),output:FTi(t.output_per_million_usd),cacheRead:0,cacheWrite:0}}function MHa(e,t){let n=_Ha(e),r=n.find((i)=>i.endpoint===CHa);if(r===void 0&&n.some((i)=>i.endpoint===IHa))return{...t,api:"openai-images",name:Bp(e.name,t.name),kind:"image",reasoning:!1,input:["text","image"],supportsTools:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:null,maxTokens:null};return{...t,name:Bp(e.name,t.name),contextWindow:Bn(r?.context_window_tokens,t.contextWindow),maxTokens:Bn(r?.maximum_output_tokens,t.maxTokens),cost:PHa(r)}}function yvi(e,t,n,r){let i=n?.apiKey,o=qKe(n?.baseUrl,t);return{providerId:e,cacheProviderId:Zc(e,{apiKey:i,baseUrl:o}),dynamicModelsAuthoritative:!0,...i&&{fetchDynamicModels:()=>ga({api:"openai-completions",provider:e,baseUrl:o,apiKey:i,...r&&{mapModel:r},fetch:n?.fetch})}}}function S9e(e){return yvi("singularityapi-dev",GKe,e,MHa)}function T9e(e){return yvi("singularityapi-tech",zKe,e)}var hBa="https://catalog.stencil.so/models.json.zstd",gBa=4247762216,yBa="https://api.anthropic.com/v1",bBa="claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,redact-thinking-2026-02-12,context-management-2025-06-27,prompt-caching-scope-2026-01-05,mid-conversation-system-2026-04-07,advanced-tool-use-2025-11-20,effort-2025-11-24,extended-cache-ttl-2025-04-11",wBa,ITi,TBa,$Ti,RBa,GLn=128000,ODt=8192,zTi,qTi="https://api.code.umans.ai",HBa="/models/info",VTi,PTi,WBa,XBa="https://api.openai.com/v1",eUa="https://api.gmi-serving.com/v1",rUa,DDt="https://api.deepinfra.com/v1/openai",lUa="?filter=with_meta&sort_by=omp",cUa,FDt="https://inference.coralbricks.ai/v1",gUa,yUa=5000,wUa,SUa="fireworks",TUa="supports_serverless=true",vUa=200,AUa=25,kUa,IUa,QTi=128000,oDn=8192,_Ua="https://openrouter.ai/api/v1/models",DUa="https://pass.wafer.ai/v1",FUa=65536,evi="https://opencode.ai/zen",$Ua="https://opencode.ai/inference/google/v1beta",WUa,jUa,GUa,KLn="https://zenmux.ai/api/v1",nvi="https://zenmux.ai/api/anthropic",GDt=32000,n$a=250,_Dt="none",a$a=8192,d$a,YLn,u$a,MTi="https://bedrock-mantle.{region}.api.aws/openai/v1",p$a,f$a,h$a,g$a="https://api.sakana.ai/v1",y$a,b$a,T$a,v$a,A$a="https://api.aiand.com/v1",JLn,R$a,I$a="https://api.abliteration.ai/v1",P$a,M$a,O$a="https://yolo-auto.com/v1",PDt,D$a,F$a,B$a=100,Q0e=128000,Z0e=32768,U$a,OTi,dYe,W$a,J$a=1e4,X$a,KDt="-1m",eHa=" (1M)",oHa,sHa,LTi,pDn="https://opencode.ai/inference/go",DTi,NDt="https://api.githubcopilot.com",mvi="https://api.z.ai/api/anthropic",lHa="https://api.z.ai/api/coding/paas/v4",cHa,dHa,hvi="https://{location}-aiplatform.googleapis.com",pHa="https://{location}-aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/endpoints/openapi",fHa="https://{location}-aiplatform.googleapis.com/v1/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict",hHa,gHa,bHa,wHa,J0e=(e,t)=>{if(t.tool_call!==!0)return!1;if(t.status==="deprecated")return!1;return!0},SHa,gvi,THa,y9e,pYe,z3,vHa="https://api.commandcode.ai/provider",EHa="none",CHa="/v1/chat/completions",IHa="/v1/images/generations";var nIe=A(()=>{j();qd();xu();L1();bDt();OT();o0();lf();wDt();af();Yce();R1t();hce();gce();Ti();Gd();za();dce();FU();b0();VKe();$Ln();WLn();wBa={inflight:null,payload:void 0,etag:null,hasPayload:!1},ITi=new WeakMap;TBa=Hi;$Ti={byHost:new Map,byId:new Map,withoutLadder:new Set};RBa=Symbol("catalog.publishedEffortLadders");zTi=/:thinking(:[^:]+)?$/;VTi={minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},PTi=["minimal","low","medium","high","xhigh"],WBa=["umans-glm-5.1","umans-glm-5.2"];rUa=["anthropic","openai","google"];cUa=["low","medium","high"];gUa=[ed("siliconflow","siliconflow","https://api.siliconflow.com/v1",{filterModel:()=>!0}),ed("siliconflow-cn","siliconflow-cn","https://api.siliconflow.cn/v1",{filterModel:()=>!0})];wUa=[{base:"kimi-k3",name:"Kimi K3 Fast",cost:{input:4.5,output:22.5,cacheRead:0.45}},{base:"glm-5.3",name:"GLM-5.3 Fast",cost:{input:2.1,output:6.6,cacheRead:0.39}},{base:"glm-5.2",name:"GLM-5.2 Fast",cost:{input:2.1,output:6.6,cacheRead:0.21}}];kUa=[ed("fireworks-ai","fireworks","https://api.fireworks.ai/inference/v1",{filterModel:(e,t)=>typeof t.cost?.input==="number"||typeof t.cost?.output==="number"})];IUa=`${ICe}/ai/cline/recommended-models`;WUa=["deepseek-flash","glm-5.3-flash","longcat-2.5-preview-free","space-bunny-free"],jUa=["gemini-3.7-flash","gemini-3.8-flash"],GUa=["-contributor","-free"];d$a=["zai-org/GLM-5.3","zai-org/GLM-5.3-Flash","deepseek-ai/DeepSeek-V4-Flash-0731","deepseek-ai/DeepSeek-V4.1-Flash","deepseek-ai/DeepSeek-V4-Pro-0813"];YLn=CA("meta"),u$a=Object.fromEntries(jl("meta").map((e)=>[e.id,e]));p$a=Object.fromEntries(jl("bedrock-mantle").map((e)=>[e.id,e]));f$a=Object.fromEntries(jl("muse-code").map((e)=>[e.id,e]));h$a={input:3,output:15,cacheRead:0.3,cacheWrite:3};y$a={mode:"effort",efforts:["high","max"]},b$a={includeEncryptedReasoning:!1,streamIdleTimeoutMs:0};T$a=new Map(jl("sakana").map((e)=>[e.id,e])),v$a=jl("sakana").map((e)=>e.id);JLn={minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"};R$a=jl("aiand").map((e)=>e.id);P$a=new Map(jl("abliteration").map((e)=>[e.id,e])),M$a=jl("abliteration").map((e)=>e.id);PDt={sgp:"https://token-plan-sgp.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1"},D$a=[PDt.sgp,PDt.ams,PDt.cn];F$a=["/model_group/info","/v2/model/info","/model/info","/v1/model/info"],U$a={input:0,output:0,cacheRead:0,cacheWrite:0},OTi=new Set,dYe={"all-team-models":!0,"all-proxy-models":!0,"no-default-models":!0};W$a=/\s+\(\d+(?:\.\d+)?[x\u00D7] usage\)$/i;X$a=["gpt-6-astra","gpt-6-astra-1m","grok-4.5","grok-4.5-1m","grok-4.6","grok-4.6-1m","grok-4.7","grok-4.7-1m","mai-code-1-flash-picker"];oHa=["anthropic.claude-fable-5","anthropic.claude-mythos-5","anthropic.claude-haiku-4-5","anthropic.claude-sonnet-4","anthropic.claude-opus-4-5","amazon.nova-2-lite","cohere.embed-v4","twelvelabs.pegasus-1-2"],sHa=["amazon.nova-lite","amazon.nova-micro","amazon.nova-premier","amazon.nova-pro","anthropic.claude-3-7-sonnet","anthropic.claude-opus-4-1","anthropic.claude-opus-4-20250514","deepseek.r1","meta.llama3-2","meta.llama3-3","meta.llama4"];LTi=fvi(evi,"opencode-zen"),DTi=fvi(pDn,"opencode-go");cHa={api:"openai-completions",baseUrl:NDt},dHa=[{matches:(e)=>db("github-copilot",e)?.api==="anthropic-messages",resolved:{api:"anthropic-messages",baseUrl:NDt}},{matches:(e)=>db("github-copilot",e)?.api==="openai-responses",resolved:{api:"openai-responses",baseUrl:NDt}}];hHa=[{modelsDevKey:"amazon-bedrock",providerId:"amazon-bedrock",api:"bedrock-converse-stream",baseUrl:"https://bedrock-runtime.us-east-1.amazonaws.com",filterModel:(e,t)=>t.tool_call===!0&&!ty("amazon-bedrock",e),transformModel:(e,t,n)=>{let r=aHa(t),i={...e,id:r,name:Bp(n.name,r)};if(t.split(".",1)[0]==="anthropic"){let o=Bp(n.name,t);return[i,{...i,id:`eu.${t}`,name:`${o} (EU)`},{...i,id:`us-gov.${t}`,name:`${o} (GovCloud)`}]}return i}}],gHa={minimal:0.1,low:0.2,medium:0.5,high:0.8,xhigh:0.95,max:1};bHa=[E9("anthropic","anthropic","https://api.anthropic.com",{filterModel:(e,t)=>{if(t.tool_call!==!0)return!1;return!ty("anthropic",e)}}),R9("google","google","google-generative-ai","https://generativelanguage.googleapis.com/v1beta"),R9("openai","openai","openai-responses","https://api.openai.com/v1"),ed("groq","groq","https://api.groq.com/openai/v1"),ed("cerebras","cerebras","https://api.cerebras.ai/v1"),ed("cline-pass","cline-pass","https://api.cline.bot/api/v1",{transformModel:(e,t,n)=>{let r=yDt(t),i=EDt(r);if(i)return{...e,id:r,name:i.name,contextWindow:i.contextWindow,maxTokens:i.maxTokens,input:i.input,cost:i.cost,reasoning:i.reasoning,thinking:i.thinking,compat:i.thinking===void 0?{...e.compat,supportsReasoningEffort:!1}:e.compat};return{...e,id:r,name:r,thinking:e.reasoning?yHa(n,e):void 0}}}),ed("togetherai","together","https://api.together.xyz/v1"),ed("wandb","coreweave","https://api.inference.wandb.ai/v1",{transformModel:(e)=>{if(Or("coreweave",e.id,{lenient:!0}).class!=="gpt-oss")return e;return{...e,reasoning:!0}}}),ed("nvidia","nvidia","https://integrate.api.nvidia.com/v1",{defaultContextWindow:131072}),uHa("xai","xai","https://api.x.ai/v1",{transformModel:(e)=>BDt(e)}),ed("deepseek","deepseek","https://api.deepseek.com",{filterModel:(e,t)=>t.tool_call===!0&&JDt("deepseek",e),compat:{supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",supportsToolChoice:!1,extraBody:{thinking:{type:"enabled"}},reasoningContentField:"reasoning_content",requiresReasoningContentForToolCalls:!0,requiresAssistantContentForToolCalls:!0}})],wHa=[E9("zai","zai",mvi,{resolveApi:(e)=>YDt(e)}),E9("umans-ai","umans",qTi),ed("xiaomi","xiaomi","https://api.xiaomimimo.com/v1",{defaultContextWindow:262144,defaultMaxTokens:8192,compat:{supportsStore:!1,thinkingFormat:"zai",reasoningContentField:"reasoning_content",requiresReasoningContentForToolCalls:!0,allowsSyntheticReasoningContentForToolCalls:!1}}),E9("minimax-coding-plan","minimax-code","https://api.minimax.io/anthropic"),E9("minimax-cn-coding-plan","minimax-code-cn","https://api.minimaxi.com/anthropic"),ed("alibaba-coding-plan","alibaba-coding-plan","https://coding-intl.dashscope.aliyuncs.com/v1",{compat:{supportsDeveloperRole:!1}}),ed("zhipuai-coding-plan","zhipu-coding-plan","https://open.bigmodel.cn/api/coding/paas/v4",{compat:{thinkingFormat:"zai",reasoningContentField:"reasoning_content",supportsDeveloperRole:!1}})],SHa=[R9("google-vertex","google-vertex","google-vertex",hvi,{filterModel:J0e,resolveApi:mHa})],gvi=[ed("opencode","opencode-zen","https://opencode.ai/zen/v1",{filterModel:J0e,resolveApi:(e,t)=>ZLn(e,t,LTi.rules,LTi.defaultResolution)}),ed("opencode-go","opencode-go",`${pDn}/v1`,{filterModel:J0e,resolveApi:(e,t)=>ZLn(e,t,DTi.rules,DTi.defaultResolution)})],THa=[R9("azure","azure","azure-openai-responses","",{filterModel:(e,t)=>{if(t.tool_call!==!0)return!1;return/^(gpt-|o1|o3|o4|codex|chatgpt)/.test(e)}}),E9("cloudflare-ai-gateway","cloudflare-ai-gateway","https://gateway.ai.cloudflare.com/v1/<account>/<gateway>/anthropic"),ed("cloudflare-workers-ai","cloudflare-ai-gateway",cYe,{filterModel:J0e,transformModel:(e)=>({...e,id:`workers-ai/${e.id}`})}),ed("mistral","mistral","https://api.mistral.ai/v1"),...gvi,ed("github-copilot","github-copilot",NDt,{defaultContextWindow:128000,defaultMaxTokens:8192,headers:{...T3},filterModel:J0e,resolveApi:(e,t)=>ZLn(e,t,dHa,cHa),transformModel:(e)=>{if(e.api==="openai-completions")return{...e,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1}};return e}}),E9("minimax","minimax","https://api.minimax.io/anthropic"),E9("minimax-cn","minimax-cn","https://api.minimaxi.com/anthropic"),ed("huggingface","huggingface","https://router.huggingface.co/v1"),ed("kilo","kilo","https://api.kilo.ai/api/gateway"),ed("moonshotai","moonshot","https://api.moonshot.ai/v1"),ed("nano-gpt","nanogpt","https://nano-gpt.com/api/v1"),ed("synthetic","synthetic","https://api.synthetic.new/openai/v1"),ed("venice","venice","https://api.venice.ai/api/v1"),R9("ollama-cloud","ollama-cloud","ollama-chat","https://ollama.com"),ed("xiaomi-token-plan-ams","xiaomi-token-plan-ams","https://token-plan-ams.xiaomimimo.com/v1"),ed("xiaomi-token-plan-cn","xiaomi-token-plan-cn","https://token-plan-cn.xiaomimimo.com/v1"),ed("xiaomi-token-plan-sgp","xiaomi-token-plan-sgp","https://token-plan-sgp.xiaomimimo.com/v1"),ed("qwen-portal","qwen-portal","https://portal.qwen.ai/v1",{defaultContextWindow:128000,defaultMaxTokens:8192}),ed("zenmux","zenmux",KLn,{filterModel:J0e,resolveApi:(e)=>{if(db("zenmux",e)?.api==="anthropic-messages")return{api:"anthropic-messages",baseUrl:nvi};return{api:"openai-completions",baseUrl:KLn}}})],y9e=[...hHa,...SHa,...bHa,...wHa,...THa],pYe=Object.create(null);for(let e of y9e){let t=pYe[e.providerId];if(t)t.push(e);else pYe[e.providerId]=[e]}z3=Object.freeze(Object.keys(pYe))});var Evi={};I(Evi,{fetchCodexModels:()=>v9e});async function v9e(e){let t=bl(e.fetchFn),n=WHa(e.baseUrl),r=jHa(e.paths),i=qHa(e.clientVersion)??PT,o=zHa(e,i),s=!1;for(let a of r){let l=GHa(n,a,i),c;try{c=await t(l,{method:"GET",headers:o,signal:e.signal})}catch{continue}if(c.status===401||c.status===402||c.status===403)return{models:[],rejectedStatus:c.status};if(!c.ok)continue;let d;try{d=await c.json()}catch{continue}let u=VHa(d,n,e.accountId);if(u===null)continue;s=!0;let p=ZHa(c.headers);return p?{models:u,etag:p}:{models:u}}return s?{models:[]}:null}function WHa(e){let t=(e??Zd).trim();if(!t)return Zd;return t.replace(/\/+$/,"")}function jHa(e){if(!e||e.length===0)return[...wvi];let t=e.map((n)=>n.trim()).filter((n)=>n.length>0).map((n)=>n.startsWith("/")?n:`/${n}`);return t.length>0?t:[...wvi]}function GHa(e,t,n){let r=new URL(`${e}${t}`);if(n&&n.trim().length>0)r.searchParams.set("client_version",n.trim());return r.toString()}function zHa(e,t){let n=new Headers(e.headers);if(n.set("Authorization",`Bearer ${e.accessToken}`),e.accountId&&e.accountId.trim().length>0)n.set(Cr.ACCOUNT_ID,e.accountId);return n.set(Cr.BETA,Lp.BETA_RESPONSES),n.set(Cr.ORIGINATOR,Lp.ORIGINATOR_CODEX),n.set(Cr.VERSION,t),n.set("accept","application/json"),n}function qHa(e){if(typeof e!=="string")return;let t=e.trim();if(!/^\d+\.\d+\.\d+$/.test(t))return;return t}function VHa(e,t,n){let r=HHa(e);if(r instanceof z.errors)return null;let i=r.models??r.data??[],o=[];for(let c of i){let d=JHa(c);if(d)o.push(d)}let s=new Set(o.map((c)=>c.slug)),a=KHa(),l=[];for(let c of o){let d=YHa(c.slug,a)??c.slug;l.push(Tvi(c,c.slug,d,t,n));let u=d!==c.slug?d:null;if(u&&!s.has(u))l.push(Tvi(c,u,d,t,n))}return l.sort((c,d)=>{if(c.priority!==d.priority)return c.priority-d.priority;return c.model.id.localeCompare(d.model.id)}),l.map((c)=>c.model)}function KHa(){return new Set(Cs("openai-codex").map((t)=>t.id))}function YHa(e,t){if(!e.endsWith(Svi))return null;let n=e.slice(0,-Svi.length);return n.length>0&&t.has(n)?n:null}function JHa(e){let t=$Ha(e);if(t instanceof z.errors)return null;let n=t,r=q3(n.slug)??q3(n.id);if(!r)return null;let i=q3(n.visibility)?.toLowerCase();if(i==="hide"||i==="hidden")return null;let o=n.available_access_programs,s;if(o!==null&&typeof o==="object"&&"cyber"in o&&Array.isArray(o.cyber)){s=[];for(let l of o.cyber){let c=q3(l);if(c)s.push(c)}}let a;if(Array.isArray(n.service_tiers)){a=[];for(let l of n.service_tiers){let c=l!==null&&typeof l==="object"&&"id"in l?q3(l.id):null;if(c&&!a.includes(c))a.push(c)}}return{slug:r,cyberPrograms:s,name:q3(n.display_name)??r,contextWindow:vvi(n.context_window),maxContextWindow:vvi(n.max_context_window),reasoning:XHa(n.default_reasoning_level,n.supported_reasoning_levels),input:QHa(n.input_modalities),preferWebsockets:Avi(n.prefer_websockets)===!0,useResponsesLite:Avi(n.use_responses_lite)===!0,priority:e2a(n.priority)??Number.MAX_SAFE_INTEGER,serviceTiers:a}}function Tvi(e,t,n,r,i){let o=Or("openai-codex",n,{lenient:!0}),s=o.revision===void 0?void 0:ta(o.revision),a=ta("5.6"),l=o.class==="openai"&&s!==void 0&&a!==void 0&&Ip(s,a)===0?LHa:OHa,c=e.contextWindow??l,d=FHa.has(n)?Math.max(c,DHa):c,u=Math.min(NHa,d);return{priority:e.priority,model:{id:t,name:e.name,api:"openai-codex-responses",provider:"openai-codex",baseUrl:r,...i&&i.trim().length>0?{accountAccess:{[i]:e.cyberPrograms===void 0?{}:{cyberPrograms:e.cyberPrograms}}}:{},reasoning:e.reasoning,input:e.input,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},remoteCompaction:BHa,contextWindow:d,...e.maxContextWindow!==null?{maxContextWindow:e.maxContextWindow}:{},maxTokens:u,...e.preferWebsockets?{preferWebsockets:!0}:{},...e.useResponsesLite?{useResponsesLite:!0}:{},...e.serviceTiers!==void 0?{serviceTiers:e.serviceTiers}:{},...e.priority!==Number.MAX_SAFE_INTEGER?{priority:e.priority}:{}}}}function XHa(e,t){let n=q3(e)?.toLowerCase();if(n&&n!=="none")return!0;if(!Array.isArray(t))return!1;for(let r of t){let i=UHa(r);if(i instanceof z.errors)continue;let o=q3(i.effort)?.toLowerCase();if(o&&o!=="none")return!0}return!1}function QHa(e){if(!Array.isArray(e))return["text","image"];let t=new Set;for(let r of e){let i=q3(r)?.toLowerCase();if(i==="text"||i==="image")t.add(i)}if(t.size===0)return["text","image"];return["text","image"].filter((r)=>t.has(r))}function ZHa(e){let t=e.get("etag");if(!t)return;let n=t.trim();return n.length>0?n:void 0}function q3(e){if(typeof e!=="string")return null;let t=e.trim();return t.length>0?t:null}function vvi(e){if(typeof e!=="number"||!Number.isFinite(e))return null;if(e<=0)return null;return Math.trunc(e)}function e2a(e){if(typeof e!=="number"||!Number.isFinite(e))return null;return e}function Avi(e){if(typeof e!=="boolean")return null;return e}var wvi,OHa=272000,NHa=128000,LHa=372000,DHa=1e6,FHa,Svi="-wm",BHa,UHa,$Ha,HHa;var XDt=A(()=>{on();lf();Ti();za();EA();wvi=["/codex/models","/models"],FHa=new Set(["gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra"]),BHa={enabled:!0,api:"openai-codex-responses",v2StreamingEnabled:!0},UHa=z({"effort?":"unknown"}),$Ha=z({"slug?":"unknown","id?":"unknown","display_name?":"unknown","context_window?":"unknown","max_context_window?":"unknown","default_reasoning_level?":"unknown","supported_reasoning_levels?":"unknown","input_modalities?":"unknown","visibility?":"unknown","priority?":"unknown","prefer_websockets?":"unknown","use_responses_lite?":"unknown","available_access_programs?":"unknown","service_tiers?":"unknown"}),HHa=z({"models?":"unknown[]","data?":"unknown[]"})});var xvi={};I(xvi,{factoryDroidRegionalLimits:()=>E9e,factoryDroidRegistry:()=>iIe,resolveFactoryDroidPolicy:()=>QDt,resolveFactoryDroidRotation:()=>Qce});function rIe(e){return Array.isArray(e)?e.filter((t)=>typeof t==="string"):void 0}function A9e(e,t){let n=e[t];return typeof n==="number"?n:void 0}function mDn(e,t){let n=e[t];return typeof n==="string"?n:void 0}function t2a(e){let t=VR(e),n=db(Rvi,e.id)?.api,r=U(t.regionLimitsEu)?t.regionLimitsEu:{},i=U(t.creditRates)?t.creditRates:{},o=U(t.entitlement)?t.entitlement:{},s=A9e(i,"input"),[a,l]=rIe(t.listPriceFrom)??[],c=A9e(r,"contextWindow"),d=A9e(r,"maxTokens"),u=A9e(i,"output"),p=A9e(i,"cacheRead"),f=mDn(o,"featureFlag"),m=mDn(o,"deprecationFlag"),h=mDn(o,"baseVariant");return{wire:uNn.find((g)=>g===n)??"openai-completions",rotation:rIe(t.upstreamRotation)??[],regionUpstreams:{global:rIe(t.regionUpstreamsGlobal)??[],us:rIe(t.regionUpstreamsUs)??[],eu:rIe(t.regionUpstreamsEu)??[]},limits:{contextWindow:e.contextWindow,maxTokens:e.maxTokens},euLimits:{...c!==void 0&&{contextWindow:c},...d!==void 0&&{maxTokens:d}},...s!==void 0&&{creditRates:{input:s,...u!==void 0&&{output:u},...p!==void 0&&{cacheRead:p}}},...a!==void 0&&{listPriceFrom:{provider:a,modelId:l??e.id}},...typeof t.routingFamily==="string"&&{routingFamily:t.routingFamily},policyAliases:rIe(t.policyAliases)??[],entitlement:{...f!==void 0&&{featureFlag:f},...m!==void 0&&{deprecationFlag:m},requiresExplicitOptIn:o.requiresExplicitOptIn===!0,...h!==void 0&&{baseVariant:h}},defaultReasoningOff:t.defaultReasoningOff===!0,image:t.kind==="image"}}function QDt(e){let t=e.requestModelId??e.id;return iIe().find((n)=>n.spec.id===t)?.policy}function Qce(e,t){let n=e.regionUpstreams[t==="eu"||t==="us"?t:"global"];return e.rotation.filter((r)=>n.includes(r))}function E9e(e,t){if(t!=="eu")return e.limits;return{contextWindow:e.euLimits.contextWindow??e.limits.contextWindow,maxTokens:e.euLimits.maxTokens??e.limits.maxTokens}}var Rvi="factory-droid",iIe;var ZDt=A(()=>{j();E3();xu();o0();OT();iIe=ww(()=>jl(Rvi).map((e)=>({spec:e,policy:t2a(e)})))});var Cvi={};I(Cvi,{buildFactoryDroidModel:()=>k9e,factoryDroidSeedModels:()=>R9e,fetchFactoryDroidModels:()=>x9e});function n2a(e){return iIe().find(({spec:t,policy:n})=>t.id===e||n.policyAliases.includes(e))?.spec.id??e}function r2a(e){if(!U(e)||!U(e.settings))return null;let t=e.settings.modelPolicy;if(!U(t))return null;let n=(r)=>{let i=t[r];return Array.isArray(i)?[...new Set(i.filter((o)=>typeof o==="string").map(n2a))]:void 0};return{allowAllFactoryModels:typeof t.allowAllFactoryModels==="boolean"?t.allowAllFactoryModels:void 0,allowedModelIds:n("allowedModelIds"),blockedModelIds:n("blockedModelIds"),requireExplicitOptInModelIds:n("requireExplicitOptInModelIds"),isFastModelsAllowed:typeof t.isFastModelsAllowed==="boolean"?t.isFastModelsAllowed:void 0}}function i2a(e){if(!U(e)||!U(e.settings))return null;let{imageGenerationEnabled:t,imageGenerationAllowedModelIds:n}=e.settings;return{enabled:t!==!1,...Array.isArray(n)&&{allowedModelIds:n.filter((r)=>typeof r==="string")}}}function o2a(e){if(!U(e.configs)||!U(e.configs.provider_routing))return null;let t=e.configs.provider_routing,n=(r)=>{if(!U(r))return{};return Object.fromEntries(Object.entries(r).filter((i)=>Array.isArray(i[1])&&i[1].every((o)=>typeof o==="string")))};return{models:n(t.models),defaults:n(t.defaults),blockedProviders:n(t.blockedProviders)}}function kvi({spec:e,policy:t},n,r,i,o){let s=t.entitlement;if(Qce(t,i).length===0)return!1;if(t.image&&(!o?.enabled||o.allowedModelIds&&!o.allowedModelIds.includes(e.id)))return!1;if(s.featureFlag!==void 0&&n[s.featureFlag]!==!0)return!1;if(s.deprecationFlag!==void 0&&n[s.deprecationFlag]===!0)return!1;if(s.baseVariant!==void 0&&r?.isFastModelsAllowed===!1)return!1;if(r?.requireExplicitOptInModelIds?.includes(e.id)||!r&&s.requiresExplicitOptIn)return!1;let a=r?.allowAllFactoryModels===!1||Boolean(r?.allowedModelIds?.length);if(r?.blockedModelIds?.includes(e.id))return!1;if(a&&!r?.allowedModelIds?.includes(e.id))return!1;return!0}function R9e(e){let t=v3(e);return iIe().filter((n)=>kvi(n,{},null,t,null)).map((n)=>k9e(n,{region:e.region,inferenceRegion:t,orgId:e.orgId,apiProviders:Qce(n.policy,t)}))}async function x9e(e={}){let t=e.apiKey?.trim();if(!t)return null;let n=e.fetch??fetch,r={Authorization:`Bearer ${t}`,...pce(e.orgId)},i=A3(e.region),o,s=null,a=null,l=null,c=v3(e);try{let[d,u]=await Promise.all([n(`${i}/api/feature-flags`,{headers:r}),n(`${i}/api/organization/managed-settings`,{headers:r}).catch(()=>null)]);if(!d.ok)return null;let p=await d.json();if(p==null||typeof p!=="object"||!("flags"in p))return null;let f=p.flags;if(f==null||typeof f!=="object"||Array.isArray(f))return null;o=Object.fromEntries(Object.entries(f).map(([h,g])=>[h,g===!0]));let m=u?.ok?await u.json().catch(()=>null):null;s=r2a(m),l=i2a(m),a=o2a(p)}catch{return null}return iIe().flatMap((d)=>{if(!kvi(d,o,s,c,l))return[];let{id:u}=d.spec,p=d.policy.routingFamily,f=a?.models?.[u]??(p===void 0?void 0:a?.defaults?.[p]),m=s2a(d,f,c,a?.blockedProviders?.[u]);if(m.length===0)return[];let h=k9e(d,{region:e.region,inferenceRegion:c,orgId:e.orgId,apiProviders:m});if(f!==void 0)h.factoryDroidRoutingSource="configured_order";return[h]})}function s2a(e,t,n,r=[]){let i=Qce(e.policy,n).filter((o)=>!r.includes(o));return t===void 0?i:t.filter((o)=>i.some((s)=>s===o))}function k9e({spec:e,policy:t},n={}){let r=t.listPriceFrom,i=r&&Qxe(r.provider)?Rw(r.provider,r.modelId):void 0,o={id:e.id,name:e.name,api:"factory-droid-agent",provider:"factory-droid",baseUrl:JY(t.wire,n.region),reasoning:!0,input:[...e.input],cost:{...i?.cost??e.cost},...E9e(t,v3(n)),...n.orgId?{factoryDroidOrgId:n.orgId}:{},...t.creditRates?{factoryDroidCredits:t.creditRates.input}:{},...n.apiProviders?.length?{factoryDroidApiProviders:[...n.apiProviders]}:{}},s=Zu(o);return o.thinking=s.thinking&&BVe(o)?a2a(s.thinking,t.wire,s.request.anthropicThinking):void 0,o.reasoning=o.thinking!==void 0,o}function a2a(e,t,n){return{mode:t==="google-generate"?"google-level":t==="anthropic-messages"?n==="budget-interleaved"?"budget":n==="budget-effort"?"anthropic-budget-effort":"anthropic-adaptive":"effort",efforts:e.efforts,...t==="anthropic-messages"?{supportsDisplay:n==="adaptive-summarized"}:{},requiresEffort:e.requiresEffort===!0,...e.defaultLevel?{defaultLevel:e.defaultLevel}:void 0}}var eFt=A(()=>{j();ZDt();OT();Ti();E3()});var Ivi={};I(Ivi,{TYPESAFE_DEFAULT_BASE_URL:()=>P9,fetchTypeSafeModels:()=>C9e,parseTypeSafeModelCards:()=>tFt});function l2a(e){try{return new URL(e).toString().replace(/\/+$/,"")}catch{return null}}function c2a(e){if(!U(e)||typeof e.name!=="string"||e.name.trim().length===0||typeof e.description!=="string"||typeof e.release_date!=="string")return null;return{name:e.name.trim(),description:e.description.trim(),release_date:e.release_date}}function tFt(e){if(!U(e)||!Array.isArray(e.models))return null;let t=[],n=new Set;for(let r of e.models){let i=c2a(r);if(i===null)return null;if(n.has(i.name))continue;n.add(i.name),t.push(i)}return t}async function C9e(e){let t=l2a(e.baseUrl??P9);if(t===null)return null;let n;try{n=await bl(e.fetch)(`${t}/v1/models`,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${e.apiKey}`},signal:e.signal})}catch{return null}if(!n.ok)return null;let r;try{r=await n.json()}catch{return null}let i=tFt(r);if(i===null)return null;let o=[];for(let s of i)o.push({id:s.name,name:s.description||s.name,api:"typesafe",provider:"typesafe",baseUrl:t,kind:"judge",reasoning:!1,input:["text"],supportsTools:!1,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:null,maxTokens:null});return o}var P9="https://api.typesafe.ai";var nFt=A(()=>{za()});var Uvi={};I(Uvi,{buildGitLabDuoWorkflowFallbackModel:()=>M9e,buildGitLabDuoWorkflowModelSpec:()=>oFt,discoverGitLabDuoWorkflowNamespace:()=>iFt,discoverGitLabDuoWorkflowRuntimeNamespace:()=>_9e,fetchGitLabDuoWorkflowModels:()=>P9e});import*as Mvi from"fs/promises";import*as BT from"path";function h2a(e){for(let t of m2a)if(t.pattern.test(e))return t.contextWindow;return f2a}async function iFt(e){let t=await A2a(e);return{rootNamespaceId:t.rootNamespaceId,...t.namespacePath?{namespacePath:t.namespacePath}:{},...t.projectPath?{projectPath:t.projectPath}:{},source:t.source}}async function _9e(e){let t=O9e(e.baseUrl),n=await Nvi(e,t,E2a,!0);if(n)return n;throw Error("Unable to find a GitLab Duo Workflow namespace. Set GITLAB_DUO_NAMESPACE_ID to a root namespace or GITLAB_DUO_PROJECT_ID to a GitLab project.")}async function P9e(e){let t=await iFt(e),n=O9e(e.baseUrl),r=await Lvi(e,n,t.rootNamespaceId);if(!r)return null;let i=Fvi(r);if(i.length===0)return null;return i.map((o)=>oFt(o,n,t.rootNamespaceId))}function oFt(e,t=rFt,n){let r=O9e(t);return{id:e.ref,name:e.name,api:"gitlab-duo-agent",provider:"gitlab-duo-agent",baseUrl:r,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:h2a(e.ref),maxTokens:null,supportsTools:!0,...n?{gitlabDuoWorkflowRootNamespaceId:n}:void 0}}function M9e(e=rFt){return{...jl("gitlab-duo-agent")[0],baseUrl:O9e(e)}}async function A2a(e){let t=O9e(e.baseUrl),n=await Nvi(e,t,(r)=>R2a(e,t,r));if(n)return n;throw Error("Unable to find a GitLab Duo Workflow namespace with available models. Set GITLAB_DUO_NAMESPACE_ID to a root namespace with Duo model access.")}async function Nvi(e,t,n,r=!1){let i=Rl(e.namespaceId)??Rl(Bun.env.GITLAB_DUO_NAMESPACE_ID);if(i){let a=r?await x2a(e,t,i)??{rootNamespaceId:i,source:"override"}:{rootNamespaceId:i,source:"override"},l=await n(a);if(l)return l}let o=Rl(e.projectId)??Rl(e.projectPath)??Rl(Bun.env.GITLAB_DUO_PROJECT_ID)??Rl(Bun.env.GITLAB_DUO_PROJECT_PATH);if(o){let a=await Pvi(e,t,o);if(a){let l=await n({rootNamespaceId:a,...o.includes("/")?{projectPath:o}:{},source:"project"});if(l)return l}}let s=await D2a(e.cwd,t);if(s){let a=await Pvi(e,t,s);if(a){let l=await n({rootNamespaceId:a,projectPath:s,source:"remote"});if(l)return l}}for(let a of await _2a(e,t)){let l=await n(a);if(l)return l}return null}function E2a(e){let t=Rl(e.rootNamespaceId),n=Rl(e.namespacePath),r=Rl(e.projectPath);return t?{rootNamespaceId:t,...n?{namespacePath:n}:{},...r?{projectPath:r}:{},source:e.source}:null}async function R2a(e,t,n){let r=Rl(n.rootNamespaceId);if(!r)return null;let i=await Lvi(e,t,r);if(!i||Fvi(i).length===0)return null;let o=Rl(n.namespacePath);return{rootNamespaceId:r,...o?{namespacePath:o}:{},source:n.source,models:i}}async function Lvi(e,t,n){let r=await Dvi(e,t,g2a,{rootNamespaceId:L2a(n)});if(!r)return null;let o=S0(r,"data")?.aiChatAvailableModels;if(o===null||o===void 0)return null;return M2a(o)}async function x2a(e,t,n){let r=k2a(n);if(!r)return null;let i=bl(e.fetch),o;try{o=await i(`${t}${Ovi}/${encodeURIComponent(r)}`,{method:"GET",headers:sFt(e.apiKey)})}catch{return null}if(!o.ok)return null;let s;try{s=await o.json()}catch{return null}let a=yDn(s)??n,l=Bvi(s);return{rootNamespaceId:a,...l?{namespacePath:l}:{},source:"override"}}function k2a(e){let t=e.match(/^gid:\/\/gitlab\/(?:Group|Namespace)\/(\d+)$/);if(t?.[1])return t[1];return/^\d+$/.test(e)?e:null}async function Pvi(e,t,n){let r=await C2a(e,t,n);if(r?.rootNamespaceId)return r.rootNamespaceId;let i=r?.pathWithNamespace??(n.includes("/")?n:null);if(!i)return null;return I2a(e,t,i)}async function C2a(e,t,n){let r=bl(e.fetch),i;try{i=await r(`${t}${u2a}/${encodeURIComponent(n)}`,{method:"GET",headers:sFt(e.apiKey)})}catch{return null}if(!i.ok)return null;let o;try{o=await i.json()}catch{return null}return{rootNamespaceId:gDn(o),pathWithNamespace:O2a(o)}}async function I2a(e,t,n){let r=await Dvi(e,t,y2a,{fullPath:n});if(!r)return null;let i=S0(r,"data"),o=S0(i,"project");return gDn(o)}async function _2a(e,t){let n=bl(e.fetch),r=[],i="1";for(let o=0;o<p2a&&i;o++){let s=new URL(`${t}${Ovi}`);s.searchParams.set("top_level_only","true"),s.searchParams.set("per_page","100"),s.searchParams.set("order_by","name"),s.searchParams.set("sort","asc"),s.searchParams.set("page",i);let a;try{a=await n(s,{method:"GET",headers:sFt(e.apiKey)})}catch{break}if(!a.ok)break;let l;try{l=await a.json()}catch{break}if(!Array.isArray(l))break;for(let c of l){let d=yDn(c);if(!d)continue;let u=Bvi(c);r.push({rootNamespaceId:d,...u?{namespacePath:u}:{},source:"group",preferred:N2a(c)})}i=P2a(a.headers.get("x-next-page"))}return r.sort((o,s)=>Number(s.preferred)-Number(o.preferred)),r.map((o)=>({rootNamespaceId:o.rootNamespaceId,...o.namespacePath?{namespacePath:o.namespacePath}:{},source:o.source}))}function P2a(e){return e&&e.trim().length>0?e.trim():void 0}async function Dvi(e,t,n,r){let i=bl(e.fetch),o;try{o=await i(`${t}${d2a}`,{method:"POST",headers:sFt(e.apiKey),body:JSON.stringify({query:n,variables:r})})}catch{return null}if(!o.ok)return null;try{return await o.json()}catch{return null}}function M2a(e){let t=v2a(e);if(t instanceof z.errors)return null;return{defaultModel:hDn(t.defaultModel),selectableModels:(t.selectableModels??[]).flatMap((n)=>{let r=hDn(n);return r?[r]:[]}),pinnedModel:hDn(t.pinnedModel)}}function hDn(e){if(e===null||e===void 0)return null;let t=T2a(e);if(t instanceof z.errors)return null;let n=Rl(t.ref);if(!n)return null;return{name:Rl(t.name)??n,ref:n}}function Fvi(e){if(e.pinnedModel)return[e.pinnedModel];if(e.selectableModels.length>0)return e.selectableModels;return e.defaultModel?[e.defaultModel]:[]}function gDn(e){if(!U(e))return null;let t=Rl(e.root_namespace_id)??Rl(e.rootNamespaceId);if(t)return t;let n=S0(e.root_namespace,"")??S0(e.rootNamespace,"")??S0(e.root_ancestor,"")??S0(e.rootAncestor,"");if(n)return Rl(n.id)??Rl(n.full_path)??Rl(n.fullPath);let r=S0(e.namespace,"");return r?gDn(r):null}function yDn(e){if(!U(e))return null;let t=Rl(e.root_namespace_id)??Rl(e.rootNamespaceId);if(t)return t;let n=S0(e.root_namespace,"")??S0(e.rootNamespace,"")??S0(e.root_ancestor,"")??S0(e.rootAncestor,""),r=n?Rl(n.id)??Rl(n.full_path)??Rl(n.fullPath):null;if(r)return r;let i=S0(e.namespace,"");if(i)return yDn(i)??Rl(i.id)??Rl(i.full_path)??Rl(i.fullPath);return Rl(e.id)??Rl(e.full_path)??Rl(e.fullPath)}function Bvi(e){if(!U(e))return null;return Rl(e.full_path)??Rl(e.fullPath)??Rl(e.path)}function O2a(e){if(!U(e))return null;return Rl(e.path_with_namespace)??Rl(e.fullPath)}function N2a(e){if(!U(e))return!1;return e.duo_features_enabled===!0||e.duo_core_features_enabled===!0}function S0(e,t){let n=t?U(e)?e[t]:void 0:e;return U(n)?n:null}function Rl(e){if(typeof e!=="string"&&typeof e!=="number")return null;let t=String(e).trim();return t.length>0?t:null}function L2a(e){return/^\d+$/.test(e)?`gid://gitlab/Group/${e}`:e}function O9e(e){return(e?.trim()||rFt).replace(/\/+$/,"")||rFt}function sFt(e){let t=new Headers;return t.set("Accept","application/json"),t.set("Content-Type","application/json"),t.set("Authorization",`Bearer ${e}`),t}async function D2a(e,t){let n=await F2a(e??process.cwd());if(!n)return null;let r=$2a(n),i=G2a(t),o=z2a(t);for(let s of r){let a=H2a(s,i,o);if(a)return a}return null}async function F2a(e){let t=BT.resolve(e);while(!0){let n=BT.join(t,".git"),r=await B2a(n);if(r)return r;let i=BT.dirname(t);if(i===t)return null;t=i}}async function B2a(e){let t=await I9e(BT.join(e,"config"));if(t!==null)return t;let n=await I9e(e);if(n===null)return null;let r=U2a(n);if(!r)return null;let i=BT.isAbsolute(r)?r:BT.resolve(BT.dirname(e),r),o=await I9e(BT.join(i,"commondir"));if(o){let s=o.trim(),a=BT.isAbsolute(s)?s:BT.resolve(i,s),l=await I9e(BT.join(a,"config"));if(l!==null)return l}return I9e(BT.join(i,"config"))}async function I9e(e){try{return await Mvi.readFile(e,"utf8")}catch{return null}}function U2a(e){return e.match(/^gitdir:\s*(.+)$/im)?.[1]?.trim()||null}function $2a(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let i=r.match(/^\s*\[([^\]]+)\]/);if(i){n=/^remote\s+"[^"]+"$/.test(i[1].trim());continue}if(!n)continue;let o=r.match(/^\s*url\s*=\s*(.+?)\s*$/);if(o?.[1])t.push(o[1])}return t}function H2a(e,t,n){let r=j2a(e);if(!r)return null;if(t&&!W2a(r.host,r.portInsensitive,t))return null;let i=r.projectPath.replace(/^\/+/,"");if(n&&(i===n||i.startsWith(`${n}/`)))i=i.slice(n.length);return i=i.replace(/^\/+|\/+$/g,"").replace(/\.git$/i,""),i.includes("/")?i:null}function W2a(e,t,n){if(!t)return e.toLowerCase()===n.toLowerCase();let r=e.split(":")[0]??e,i=n.split(":")[0]??n;return r.toLowerCase()===i.toLowerCase()}function j2a(e){try{let t=new URL(e),n=t.protocol==="ssh:";return{host:t.host,projectPath:t.pathname,portInsensitive:n}}catch{let t=e.match(/^(?:[^@]+@)?([^:]+):(.+)$/);if(t?.[1]&&t[2])return{host:t[1],projectPath:t[2],portInsensitive:!0};return null}}function G2a(e){try{return new URL(e).host}catch{return null}}function z2a(e){try{return new URL(e).pathname.replace(/^\/+|\/+$/g,"")}catch{return""}}var rFt="https://gitlab.com",d2a="/api/graphql",u2a="/api/v4/projects",Ovi="/api/v4/groups",p2a=50,f2a=200000,m2a,g2a=`query lsp_aiChatAvailableModels($rootNamespaceId: GroupID!) {
758
758
  aiChatAvailableModels(rootNamespaceId: $rootNamespaceId) {
759
759
  defaultModel { name ref }
@@ -3537,7 +3537,7 @@ Extraction:`;A6l=["facts","instructions","preferences","timelines"],E6l=A6l.leng
3537
3537
  `).all();for(let t of e){let n=this.conn.query(`
3538
3538
  SELECT * FROM consolidated_facts
3539
3539
  WHERE subject = ? AND predicate = ? AND object != ? AND superseded_by IS NULL
3540
- `).all(t.subject,t.predicate,t.object);for(let r of n)if(t.confidence>r.confidence)this.resolveConflictByFacts(t.id,r.id)}})}resolveConflictByFacts(e,t){this.serializedWrite(()=>{this.conn.query("UPDATE consolidated_facts SET superseded_by = ?, updated_at = ? WHERE id = ?").run(e,lsr(),t)})}getStats(){let e=this.conn.query("SELECT COUNT(*) AS count FROM consolidated_facts WHERE superseded_by IS NULL").get(),t=this.conn.query("SELECT COUNT(*) AS count FROM consolidated_facts WHERE superseded_by IS NOT NULL").get(),n=this.conn.query("SELECT COUNT(*) AS count FROM conflicts WHERE resolution IS NULL").get(),r=this.conn.query("SELECT AVG(confidence) AS avg FROM consolidated_facts WHERE superseded_by IS NULL").get(),i=this.conn.query("SELECT AVG(mention_count) AS avg FROM consolidated_facts WHERE superseded_by IS NULL").get();return{active_facts:e.count,superseded_facts:t.count,unresolved_conflicts:n.count,avg_confidence:Math.round((r.avg??0)*1000)/1000,avg_mentions:Math.round((i.avg??0)*100)/100}}close(){if(this.ownsConnection)this.conn.close()}}var mFe,O6l,BSo=80,N6l,fFe;var dsr=A(()=>{JI();mFe=Object.freeze({stated:1,inferred:0.7,tool:0.5,imported:0.6,unknown:0.8}),O6l=Object.freeze({stated:!0,inferred:!0,tool:!0,imported:!0,unknown:!0}),N6l=Object.freeze({related_to:!0,mentions:!0,references:!0,uses:!0,has:!0,depends_on:!0,knows:!0}),fFe=Symbol("mnemopi.veracity.txDepth")});function but(e){return F6l.test(e)}function WSo(e,t){let[n,r]=e.length<=t.length?[e,t]:[t,e];if(n.length<4||r.length===n.length)return!1;if(r.startsWith(n)&&B6l.includes(r.slice(n.length)))return!0;let i=n.slice(0,-1);if(!r.startsWith(i))return!1;let o=r.slice(i.length);if(n.endsWith("e"))return U6l.includes(o);if(n.endsWith("y"))return $6l.includes(o);return!1}var F6l,B6l,U6l,$6l;var usr=A(()=>{F6l=/[\u3040-\u30ff\u4e00-\u9fff\uac00-\ud7af]/;B6l=["s","es","d","ed","ing","er","ers","ment","ments"],U6l=["ing","ion","ions"],$6l=["ies","ied"]});var GSo;var jSo=A(()=>{GSo={type:"module",name:"@oh-my-pi-zen/pi-mnemopi",version:"18.13.3-zen.3",description:"Local SQLite memory engine for omp agents",homepage:"https://omp.sh",author:{name:"Stencil Labs, Inc.",url:"https://stencil.so"},contributors:["Abdias J"],license:"MIT",repository:{type:"git",url:"git+https://github.com/cagedbird-org/oh-my-pi-zen.git",directory:"packages/mnemopi"},bugs:{url:"https://github.com/can1357/oh-my-pi/issues"},keywords:["memory","sqlite","agent","embeddings","mcp"],main:"./src/index.ts",module:"./src/index.ts",types:"./dist/types/index.d.ts",bin:{mnemopi:"src/cli.ts"},scripts:{check:"oxlint . && oxfmt --check --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit",lint:"oxlint .",test:"bun test --parallel",fix:"oxlint --fix --fix-suggestions . && bun run fmt",fmt:"oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts'"},dependencies:{"@oh-my-pi-zen/pi-ai":"18.13.3-zen.3","@oh-my-pi-zen/pi-catalog":"18.13.3-zen.3","@oh-my-pi-zen/pi-natives":"18.13.3-zen.3","@oh-my-pi-zen/pi-utils":"18.13.3-zen.3"},peerDependencies:{fastembed:"3.0.0","onnxruntime-node":"1.21.0"},peerDependenciesMeta:{fastembed:{optional:!0},"onnxruntime-node":{optional:!0}},devDependencies:{"@types/bun":"^1.3.14",fastembed:"3.0.0","onnxruntime-node":"1.26.0"},engines:{bun:">=1.4.4"},files:["src","README.md","CHANGELOG.md","LICENSE","THIRD-PARTY-NOTICES.txt","dist/types"],exports:{".":{types:"./dist/types/index.d.ts",import:"./src/index.ts"},"./core":{types:"./dist/types/core/index.d.ts",import:"./src/core/index.ts"},"./core/beam":{types:"./dist/types/core/beam/index.d.ts",import:"./src/core/beam/index.ts"},"./beam":{types:"./dist/types/core/beam/index.d.ts",import:"./src/core/beam/index.ts"},"./diagnose":{types:"./dist/types/diagnose.d.ts",import:"./src/diagnose.ts"},"./mcp":{types:"./dist/types/mcp-tools.d.ts",import:"./src/mcp-tools.ts"},"./cli":{types:"./dist/types/cli.d.ts",import:"./src/cli.ts"},"./*":{types:"./dist/types/*.d.ts",import:"./src/*.ts"},"./*.js":"./src/*.ts"}}});import{createRequire as qSo}from"module";import*as VSo from"os";import*as bg from"path";function W6l(){return{versionKey:`fastembed-${CJt}_transitive-ort_tokenizers-${zSo}`.replace(/[^A-Za-z0-9._-]/g,"_"),install:{dependencies:{fastembed:CJt},overrides:{"@anush008/tokenizers":zSo},trustedDependencies:["onnxruntime-node"]}}}function YSo(e){let t=bg.join(e,"node_modules"),n=bg.dirname(e),r=Fh(t,"onnxruntime-node");return{ortEntry:r??Fh(n,"onnxruntime-node"),ortPackageDir:bg.join(r?t:n,"onnxruntime-node")}}async function j6l({fastembedEntry:e,fastembedPackageDir:t,arch:n=process.arch,env:r=process.env}){let{ortEntry:i,ortPackageDir:o}=YSo(t);if(!i)throw Error(`Cannot find module onnxruntime-node beside ${e}`);let s=new Bun.Glob(`bin/napi-*/win32/${n}/onnxruntime.dll`),a;for await(let u of s.scan({cwd:o,absolute:!0,onlyFiles:!0})){a=bg.dirname(u);break}if(!a)throw Error(`Cannot find module onnxruntime-node Windows DLL for ${n} beside ${i}`);let l=r.PATH,c=bg.resolve(a).toLowerCase();if(!l?.split(bg.delimiter).some((u)=>bg.resolve(u).toLowerCase()===c))r.PATH=l?`${a}${bg.delimiter}${l}`:a;return{ortEntry:i,ortPackageDir:o,dllDir:a}}function kJt(e){return typeof e==="object"&&e!==null?e:void 0}function z6l(e,t){let n=kJt(e.extra),r=kJt(n?.session);return{...e,intraOpNumThreads:e.intraOpNumThreads??Math.max(1,Math.min(G6l,t)),interOpNumThreads:e.interOpNumThreads??1,extra:{...n,session:{...r,intra_op:{allow_spinning:"0",...kJt(r?.intra_op)},inter_op:{allow_spinning:"0",...kJt(r?.inter_op)}}}}}function q6l(e,t){return typeof e==="string"&&bg.resolve(e).startsWith(bg.resolve(t)+bg.sep)}function V6l(e,t,n){let r=e.InferenceSession,i=fsr.get(r);if(i===void 0){let a=r.create,l=a.bind(r),c=[],d=(u,...p)=>{let f=c.findLast((m)=>q6l(u,m.cacheRoot));if(f===void 0)return l(u,...p);return l(u,z6l(p[0]??{},f.parallelism))};i={original:a,wrapper:d,scopes:c},fsr.set(r,i),r.create=d}let o=i,s={parallelism:t,cacheRoot:n};return o.scopes.push(s),()=>{let a=o.scopes.indexOf(s);if(a===-1)return;if(o.scopes.splice(a,1),o.scopes.length>0)return;if(fsr.delete(r),r.create===o.wrapper)r.create=o.original}}function K6l(){let e=KSo;if(e===null)throw Error("fastembed is not loaded");let{ortEntry:t}=YSo(e.fastembedPackageDir);if(t===null)throw Error(`Cannot find module onnxruntime-node beside ${e.entry}`);return e.require(t)}async function JSo(e,t,n=K6l){let r;try{r=V6l(n(),VSo.availableParallelism(),e)}catch(i){ie("mnemopi: onnxruntime not budgetable; embedding sessions keep ORT thread defaults",{error:String(i)})}try{return await t()}finally{r?.()}}function XSo(){return psr??=Y6l().catch((e)=>{throw psr=null,e}),psr}async function Y6l(){try{let e=qSo(import.meta.url),t=e.resolve("fastembed/package.json"),n=e(t);if(n.version!==CJt)throw Error(`Cannot find package fastembed@${CJt}; resolved ${String(n.version)}`);return await QSo(e.resolve("fastembed"),bg.dirname(t))}catch(e){if(!X6l(e))throw e;return ie("mnemopi: fastembed not loadable, using on-demand runtime install",{error:String(e)}),J6l()}}async function QSo(e,t){let n=qSo(e);if(process.platform==="win32"){let{ortEntry:i}=await j6l({fastembedEntry:e,fastembedPackageDir:t});n(i)}let r=n(e);return KSo={entry:e,fastembedPackageDir:t,require:n},r}async function J6l(){let e=W6l(),t=await R4({runtimeDir:bg.join(lkn(),e.versionKey),install:e.install,probePackage:"fastembed"}),n=bg.join(t,"node_modules");k8e({runtimeNodeModules:n});let r=Fh(n,"fastembed");if(!r)throw Error(`fastembed runtime install at ${t} has no loadable entry`);return QSo(r,bg.join(n,"fastembed"))}function X6l(e){if(typeof e!=="object"||e===null)return!1;let{name:t,code:n,message:r}=e;if(t==="ResolveMessage")return!0;if(n==="ERR_MODULE_NOT_FOUND"||n==="MODULE_NOT_FOUND"||n==="ERR_DLOPEN_FAILED")return!0;return typeof r==="string"&&/cannot find (module|package)/i.test(r)}var CJt,zSo="0.6.0",psr=null,KSo=null,G6l=4,fsr;var ZSo=A(()=>{j();jSo();CJt=GSo.peerDependencies.fastembed;fsr=new WeakMap});function Ete(e,t){let n=e.length>t.length?e.length:t.length;if(n===0)return 0;let r=0,i=0,o=0;for(let s=0;s<n;s+=1){let a=e[s]??0,l=t[s]??0,c=Number.isFinite(a)?a:0,d=Number.isFinite(l)?l:0;r+=c*d,i+=c*c,o+=d*d}if(i===0||o===0)return 0;return r/(Math.sqrt(i)*Math.sqrt(o))}import{mkdirSync as Q6l}from"fs";import*as nTo from"fs/promises";import*as wut from"path";async function rTo(e,t){let n=/Load model from (.+?\.onnx) failed:.*Protobuf parsing failed/i.exec(e);if(!n)return!1;let r=wut.resolve(n[1]),i=wut.resolve(t??yK());if(!r.startsWith(i+wut.sep))return!1;try{await nTo.rename(r,`${r}.corrupt-${Date.now()}`),G("mnemopi: quarantined corrupt local embedding model; retrying init",{modelFile:r})}catch{}return!0}async function Rte(e){let t=e.cacheDir??yK(),n=e.cacheDir===void 0?{...e,cacheDir:t}:e,{FlagEmbedding:r}=await XSo();return JSo(t,async()=>{try{return await r.init(n)}catch(i){let o=i instanceof Error?i.message:"";if(/Protobuf parsing failed/i.test(o)&&await rTo(o,t))return r.init(n);throw i}})}function Q8(){return H2()?.embeddings}function hsr(e){let t=Q8(),n=t?.provider,r=0;if(n!==void 0){let s=eTo.get(n);if(s===void 0)r=e8l++,eTo.set(n,r);else r=s}let i=X8(),o=t?.apiUrl??"";return`${r}::${i}::${o}::${e}`}function iTo(){return Le.NODE_ENV==="test"||Le.BUN_ENV==="test"}function Hye(){let e=Q8();if(e?.disabled!==void 0)return e.disabled;return na("MNEMOPI_NO_EMBEDDINGS")}function t8l(){let e=Q8()?.maxInputChars;if(e!==void 0)return Math.max(0,Math.trunc(e));let t=Number.parseInt(Le.MNEMOPI_EMBEDDING_MAX_INPUT_CHARS??"",10);if(Number.isFinite(t)&&t>=0)return t;return SJt}function n8l(e){let t=t8l();if(t===0)return e;let n=null,r=0,i=0;for(let o=0;o<e.length;o++){let s=e[o]??"";if(s.length<=t)continue;if(n===null)n=e.slice();if(n[o]=TJt(s,t),r++,s.length>i)i=s.length}if(n===null)return e;return Ae[dFe()?"warn":"debug"]("mnemopi: embedding input truncated",{inputCount:e.length,trimmedCount:r,maxOriginalLen:i,maxInputChars:t}),n}function oTo(){let e=Q8();if(e?.apiKey!==void 0)return e.apiKey;return Le.MNEMOPI_EMBEDDING_API_KEY||Le.OPENROUTER_API_KEY||Le.OPENAI_API_KEY||""}function bsr(e=oTo()){return typeof e==="function"||e!==""}function r8l(){let e=Q8();if(e?.apiUrl!==void 0)return e.apiUrl;return Le.MNEMOPI_EMBEDDING_API_URL||Le.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"}function X8(){let e=Q8();if(e?.model!==void 0)return e.model;return Le.MNEMOPI_EMBEDDING_MODEL||"BAAI/bge-small-en-v1.5"}function Sut(){return X8()}function IJt(e){if(e.startsWith("openai/")||e.includes("text-embedding")||e.startsWith("text-embedding"))return!0;let n=Q8()?.apiUrl??(Le.MNEMOPI_EMBEDDING_API_URL||Le.OPENROUTER_BASE_URL);if(n!==void 0&&n!==""&&!Fi(n,"openrouter"))return!0;return na("MNEMOPI_EMBEDDINGS_VIA_API")}function sTo(e){let t=Number.parseInt(Le.MNEMOPI_EMBEDDING_DIM??"",10);if(Number.isFinite(t))return t;return i8l[e]??384}async function msr(e){let t=[];for await(let n of e)Wi("mnemopi.embed",()=>{for(let r of n)t.push(new Float32Array(r))});return t}function wsr(e){let t=o8l[e];return t===void 0?null:t}async function s8l(){if(IJt(X8())||Hye()||iTo())return null;if(Uye!==null)return Uye;let e=wsr(X8());if(e===null)return null;let t=yK();Q6l(t,{recursive:!0});let n=gsr({model:e,cacheDir:t,showDownloadProgress:!1});Uye=n;try{return await n}catch(r){if(Ae[dFe()?"warn":"debug"]("mnemopi: local embedding model failed to load",{model:e,error:String(r)}),Uye===n)Uye=null;return null}}async function a8l(e){let t=r8l(),n=!Fi(t,"openrouter"),r=oTo();if(!n&&!bsr(r))return null;let i=JSON.stringify({model:X8(),input:e});try{let o=await br(r,async(a)=>{let l={"Content-Type":"application/json",...Ade()};if(a!=="")l.Authorization=`Bearer ${a}`;let c=await Gf(`${t.replace(/\/+$/,"")}/embeddings`,{method:"POST",headers:l,body:i,signal:AbortSignal.timeout(30000),maxAttempts:3,defaultDelayMs:(d)=>2**d*1000});if(c.status===401)throw new cn("mnemopi embedding request unauthorized (401)",401,{headers:c.headers});return c});if(!o.ok)return null;let s=await o.json();return Wi("mnemopi.embed",()=>{let{data:a}=s;if(a===void 0)return null;return ysr+=1,a.map((l)=>new Float32Array(l.embedding))})}catch(o){return ie("mnemopi embedding request failed",{status:Dm(o)}),null}}async function tTo(e){if(e.available===void 0)return!0;try{return await e.available()}catch{return!1}}function aTo(e){gFe=e??null,$ye.clear()}function lTo(e){gsr=e??Rte,Uye=null,$ye.clear()}function cTo(){gFe=null,Uye=null,gsr=Rte,ysr=0,$ye.clear()}async function d8l(){if(Hye())return!1;let e=Q8(),t=mut(e?.provider);if(t!==void 0)return tTo(t);if(gFe!==null)return tTo(gFe);if(IJt(X8())){let n=e?.apiUrl??(Le.MNEMOPI_EMBEDDING_API_URL||Le.OPENROUTER_BASE_URL);if(n!==void 0&&n!==""&&!Fi(n,"openrouter"))return!0;return bsr()}if(iTo())return!1;return wsr(X8())!==null}function u8l(){return bsr()}async function yFe(e){if(e===""||Hye())return null;let t=hsr(e),n=$ye.get(t);if(n!==void 0)return n;let i=(await _Jt([e]))?.[0]??null;if(i!==null)$ye.set(t,i);return i}async function _Jt(e){if(e.length===0||Hye())return null;e=n8l(e);let t=mut(Q8()?.provider);if(t!==void 0)try{return await msr(await t.embed(e))}catch{return null}if(gFe!==null)try{return await msr(await gFe.embed(e))}catch{return null}if(IJt(X8()))return a8l(e);if(e.length===1){let r=hsr(e[0]??""),i=$ye.get(r);if(i!==void 0)return[i]}let n=await s8l();if(n===null)return null;try{let r=await Wi("mnemopi.embed",()=>msr(n.embed([...e])));if(r.length===1){let i=r[0];if(i!==void 0)$ye.set(hsr(e[0]??""),i)}return r}catch(r){return Ae[dFe()?"warn":"debug"]("mnemopi: local embedding failed",{textCount:e.length,error:String(r)}),null}}function p8l(){return ysr}var Z6l=512,gFe=null,Uye=null,gsr,ysr=0,$ye,eTo,e8l=1,i8l,o8l,l8l,Ssr,c8l,dTo,f8l;var Wye=A(()=>{Dn();vt();Ow();j();ZSo();Bye();gsr=Rte,$ye=new Qi({max:Z6l}),eTo=new WeakMap;i8l={"BAAI/bge-small-en-v1.5":384,"BAAI/bge-base-en-v1.5":768,"BAAI/bge-large-en-v1.5":1024,"BAAI/bge-small-zh-v1.5":512,"BAAI/bge-base-zh-v1.5":768,"BAAI/bge-large-zh-v1.5":1024,"intfloat/multilingual-e5-small":384,"intfloat/multilingual-e5-base":768,"intfloat/multilingual-e5-large":1024,"BAAI/bge-m3":1024,"BAAI/bge-multilingual-gemma2":3584,"openai/text-embedding-3-small":1536,"openai/text-embedding-3-large":3072,"text-embedding-3-small":1536,"text-embedding-3-large":3072,"jina-embeddings-v5-omni-nano":768,"jina-embeddings-v5-omni-small":1024};o8l={"BAAI/bge-small-en-v1.5":"fast-bge-small-en-v1.5","BAAI/bge-base-en-v1.5":"fast-bge-base-en-v1.5","BAAI/bge-small-en":"fast-bge-small-en","BAAI/bge-base-en":"fast-bge-base-en","BAAI/bge-small-zh-v1.5":"fast-bge-small-zh-v1.5","intfloat/multilingual-e5-large":"fast-multilingual-e5-large","sentence-transformers/all-MiniLM-L6-v2":"fast-all-MiniLM-L6-v2"};l8l=aTo;Ssr=lTo;c8l=cTo;dTo=X8(),f8l=sTo(dTo)});import{vectorIndexTopK as DZp}from"@oh-my-pi-zen/pi-natives";var uTo=()=>{};function g8l(e=process.env){let t=(e.MNEMOPI_VEC_TYPE??"int8").trim().toLowerCase();if(t==="float32"||t==="int8"||t==="bit")return t;return"float32"}var m8l=8,h8l,$Zp,pTo,HZp;var fTo=A(()=>{vE();JI();h8l=Fwo(),$Zp=Math.ceil(h8l/m8l),pTo=new Uint8Array(256);for(let e=0;e<pTo.length;e+=1){let t=e,n=0;while(t!==0)t&=t-1,n+=1;pTo[e]=n}HZp=g8l()});function y8l(e,t){try{return e.query("SELECT 1 FROM sqlite_master WHERE type IN ('table','virtual table') AND name = ? LIMIT 1").get(t)!==null}catch{return!1}}function b8l(e){return JSON.stringify(e)}function PJt(e){return y8l(e,"vec_episodes")}function w8l(e){let t=mTo.get(e);if(t!==void 0)return t;let n="float32";if(PJt(e))try{let i=e.query("SELECT sql FROM sqlite_master WHERE type='table' AND name='vec_episodes'").get()?.sql??"";if(i.includes("int8"))n="int8";else if(i.includes("bit"))n="bit"}catch{n="float32"}return mTo.set(e,n),n}function hTo(e,t,n){let r=w8l(e),i=b8l(n);if(r==="bit")e.query("INSERT INTO vec_episodes(rowid, embedding) VALUES (?, vec_quantize_binary(?))").run(t,i);else if(r==="int8")e.query("INSERT INTO vec_episodes(rowid, embedding) VALUES (?, vec_quantize_int8(?, 'unit'))").run(t,i);else e.query("INSERT INTO vec_episodes(rowid, embedding) VALUES (?, ?)").run(t,i)}async function S8l(e,t){try{let n=await _Jt(t.map((r)=>r.content));if(n===null)return;Wi("mnemopi.embed-persist",()=>{let r=Sut();using i=e.db.prepare("INSERT OR REPLACE INTO memory_embeddings(memory_id, embedding_json, model) VALUES (?, ?, ?)");let o=0;if(e.db.transaction((a)=>{for(let l=0;l<a.length;l+=1){let c=n[l],d=a[l];if(c===void 0||d===void 0)continue;i.run(d.memoryId,JSON.stringify(Array.from(c)),r),o+=1}})(t),o>0)e.caches.queryCache?.invalidate()})}catch(n){Ae[dFe()?"warn":"debug"]("mnemopi: background embedding failed",{itemCount:t.length,error:String(n)})}}function xte(e,t){let n=t.filter((s)=>s.content.trim()!=="");if(n.length===0)return;let r=H2(),i=J8(r,()=>S8l(e,n)),o=e.pendingExtractions;if(o!==void 0)o.add(i),i.finally(()=>o.delete(i))}var mTo;var Tsr=A(()=>{j();hJt();usr();Wye();Bye();uTo();fTo();mTo=new WeakMap});function vut(e,t){let n=Number.parseInt(process.env[e]??"",10);return Number.isFinite(n)?n:t}function TTo(e){let t=Math.trunc(e.config?.maxEpisodeChars??bTo);return Number.isFinite(t)&&t>0?t:bTo}function x8l(e,t){if(t<=0)return"";if(t<=vsr.length)return e.slice(0,t);let n=t-vsr.length;return`${e.slice(0,n).trimEnd()}${vsr}`}function k8l(e,t,n){let r=TTo(e),i=`[${t}] `.length,o=Math.max(0,r-i),s=[],a=[],l=0;for(let c of n){let d=(Av(c,"content")??"").length,u=a.length===0?0:Rsr.length;if(a.length>0&&l+u+d>o)s.push({items:a,originalChars:l}),a=[],l=0;a.push(c),l+=(a.length===1?0:Rsr.length)+d}if(a.length>0)s.push({items:a,originalChars:l});return s}function C8l(e,t,n){let r=TTo(e),i=`[${t}] `,o=n.items.map((l)=>Av(l,"content")??"").join(Rsr),s=`${i}${ySo(o)}`,a=s.length>r;return{summary:a?x8l(s,r):s,originalChars:n.originalChars,truncated:a,maxChars:r}}function jye(){return new Date().toISOString()}function OJt(e,t){return new Date(Date.now()-e*t).toISOString()}function I8l(e){return JSON.stringify(e??{})}function Av(e,t){let n=e[t];return n==null?null:String(n)}function wTo(e){return Object.hasOwn(Esr,e)}function xsr(e){if(e===null||e===void 0)return"unknown";let t=String(e).trim().toLowerCase();if(t==="")return"unknown";if(wTo(t))return t;let n=HSo(e,"consolidateToEpisodic.veracity");return wTo(n)?n:"unknown"}function _8l(e){let t=null,n=0,r=new Map;for(let i of e){let o=xsr(i);if(o==="unknown")continue;let s=(r.get(o)??0)+1;if(r.set(o,s),s>n||s===n&&(t===null||Esr[o]<Esr[t]))t=o,n=s}if(t!==null)return t;for(let i of e)if(xsr(i)==="unknown")return"unknown";return"unknown"}function vTo(e){return e.replace(/\s+/g," ").trim()}function Asr(e,t,n=50){let r=Math.max(0,t-n),i=Math.min(e.length,t+n);return vTo(e.slice(r,i))}function EE(e){return e.sessionId||"default"}function W2(e){return Array.isArray(e)?e:[]}function ksr(e){return e.replace(/[\\%_]/g,(t)=>`\\${t}`)}function Csr(e){let t=new Set(["a","an","and","are","as","at","did","do","does","for","from","how","i","in","is","it","me","my","of","on","or","the","to","was","were","what","when","where","which","who","with"]);return[...e.toLowerCase().matchAll(/[\p{L}\p{N}_.-]+/gu)].map((n)=>n[0]??"").filter((n)=>n.length>1&&!t.has(n)).slice(0,8)}function P8l(e,t,n,r,i,o,s){let a={type:t,sessionId:e.sessionId,timestamp:jye(),memoryId:n,content:r,source:i,importance:o,metadata:s};e.eventEmitter?.(a),e.pluginManager?.emit?.(a)}function MJt(e,t,n,r,i,o,s,a){let l=jye();e.db.run(`INSERT INTO memoria_facts
3540
+ `).all(t.subject,t.predicate,t.object);for(let r of n)if(t.confidence>r.confidence)this.resolveConflictByFacts(t.id,r.id)}})}resolveConflictByFacts(e,t){this.serializedWrite(()=>{this.conn.query("UPDATE consolidated_facts SET superseded_by = ?, updated_at = ? WHERE id = ?").run(e,lsr(),t)})}getStats(){let e=this.conn.query("SELECT COUNT(*) AS count FROM consolidated_facts WHERE superseded_by IS NULL").get(),t=this.conn.query("SELECT COUNT(*) AS count FROM consolidated_facts WHERE superseded_by IS NOT NULL").get(),n=this.conn.query("SELECT COUNT(*) AS count FROM conflicts WHERE resolution IS NULL").get(),r=this.conn.query("SELECT AVG(confidence) AS avg FROM consolidated_facts WHERE superseded_by IS NULL").get(),i=this.conn.query("SELECT AVG(mention_count) AS avg FROM consolidated_facts WHERE superseded_by IS NULL").get();return{active_facts:e.count,superseded_facts:t.count,unresolved_conflicts:n.count,avg_confidence:Math.round((r.avg??0)*1000)/1000,avg_mentions:Math.round((i.avg??0)*100)/100}}close(){if(this.ownsConnection)this.conn.close()}}var mFe,O6l,BSo=80,N6l,fFe;var dsr=A(()=>{JI();mFe=Object.freeze({stated:1,inferred:0.7,tool:0.5,imported:0.6,unknown:0.8}),O6l=Object.freeze({stated:!0,inferred:!0,tool:!0,imported:!0,unknown:!0}),N6l=Object.freeze({related_to:!0,mentions:!0,references:!0,uses:!0,has:!0,depends_on:!0,knows:!0}),fFe=Symbol("mnemopi.veracity.txDepth")});function but(e){return F6l.test(e)}function WSo(e,t){let[n,r]=e.length<=t.length?[e,t]:[t,e];if(n.length<4||r.length===n.length)return!1;if(r.startsWith(n)&&B6l.includes(r.slice(n.length)))return!0;let i=n.slice(0,-1);if(!r.startsWith(i))return!1;let o=r.slice(i.length);if(n.endsWith("e"))return U6l.includes(o);if(n.endsWith("y"))return $6l.includes(o);return!1}var F6l,B6l,U6l,$6l;var usr=A(()=>{F6l=/[\u3040-\u30ff\u4e00-\u9fff\uac00-\ud7af]/;B6l=["s","es","d","ed","ing","er","ers","ment","ments"],U6l=["ing","ion","ions"],$6l=["ies","ied"]});var GSo;var jSo=A(()=>{GSo={type:"module",name:"@oh-my-pi-zen/pi-mnemopi",version:"18.13.3-zen.5",description:"Local SQLite memory engine for omp agents",homepage:"https://omp.sh",author:{name:"Stencil Labs, Inc.",url:"https://stencil.so"},contributors:["Abdias J"],license:"MIT",repository:{type:"git",url:"git+https://github.com/cagedbird-org/oh-my-pi-zen.git",directory:"packages/mnemopi"},bugs:{url:"https://github.com/can1357/oh-my-pi/issues"},keywords:["memory","sqlite","agent","embeddings","mcp"],main:"./src/index.ts",module:"./src/index.ts",types:"./dist/types/index.d.ts",bin:{mnemopi:"src/cli.ts"},scripts:{check:"oxlint . && oxfmt --check --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit",lint:"oxlint .",test:"bun test --parallel",fix:"oxlint --fix --fix-suggestions . && bun run fmt",fmt:"oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts'"},dependencies:{"@oh-my-pi-zen/pi-ai":"18.13.3-zen.5","@oh-my-pi-zen/pi-catalog":"18.13.3-zen.5","@oh-my-pi-zen/pi-natives":"18.13.3-zen.5","@oh-my-pi-zen/pi-utils":"18.13.3-zen.5"},peerDependencies:{fastembed:"3.0.0","onnxruntime-node":"1.21.0"},peerDependenciesMeta:{fastembed:{optional:!0},"onnxruntime-node":{optional:!0}},devDependencies:{"@types/bun":"^1.3.14",fastembed:"3.0.0","onnxruntime-node":"1.26.0"},engines:{bun:">=1.4.4"},files:["src","README.md","CHANGELOG.md","LICENSE","THIRD-PARTY-NOTICES.txt","dist/types"],exports:{".":{types:"./dist/types/index.d.ts",import:"./src/index.ts"},"./core":{types:"./dist/types/core/index.d.ts",import:"./src/core/index.ts"},"./core/beam":{types:"./dist/types/core/beam/index.d.ts",import:"./src/core/beam/index.ts"},"./beam":{types:"./dist/types/core/beam/index.d.ts",import:"./src/core/beam/index.ts"},"./diagnose":{types:"./dist/types/diagnose.d.ts",import:"./src/diagnose.ts"},"./mcp":{types:"./dist/types/mcp-tools.d.ts",import:"./src/mcp-tools.ts"},"./cli":{types:"./dist/types/cli.d.ts",import:"./src/cli.ts"},"./*":{types:"./dist/types/*.d.ts",import:"./src/*.ts"},"./*.js":"./src/*.ts"}}});import{createRequire as qSo}from"module";import*as VSo from"os";import*as bg from"path";function W6l(){return{versionKey:`fastembed-${CJt}_transitive-ort_tokenizers-${zSo}`.replace(/[^A-Za-z0-9._-]/g,"_"),install:{dependencies:{fastembed:CJt},overrides:{"@anush008/tokenizers":zSo},trustedDependencies:["onnxruntime-node"]}}}function YSo(e){let t=bg.join(e,"node_modules"),n=bg.dirname(e),r=Fh(t,"onnxruntime-node");return{ortEntry:r??Fh(n,"onnxruntime-node"),ortPackageDir:bg.join(r?t:n,"onnxruntime-node")}}async function j6l({fastembedEntry:e,fastembedPackageDir:t,arch:n=process.arch,env:r=process.env}){let{ortEntry:i,ortPackageDir:o}=YSo(t);if(!i)throw Error(`Cannot find module onnxruntime-node beside ${e}`);let s=new Bun.Glob(`bin/napi-*/win32/${n}/onnxruntime.dll`),a;for await(let u of s.scan({cwd:o,absolute:!0,onlyFiles:!0})){a=bg.dirname(u);break}if(!a)throw Error(`Cannot find module onnxruntime-node Windows DLL for ${n} beside ${i}`);let l=r.PATH,c=bg.resolve(a).toLowerCase();if(!l?.split(bg.delimiter).some((u)=>bg.resolve(u).toLowerCase()===c))r.PATH=l?`${a}${bg.delimiter}${l}`:a;return{ortEntry:i,ortPackageDir:o,dllDir:a}}function kJt(e){return typeof e==="object"&&e!==null?e:void 0}function z6l(e,t){let n=kJt(e.extra),r=kJt(n?.session);return{...e,intraOpNumThreads:e.intraOpNumThreads??Math.max(1,Math.min(G6l,t)),interOpNumThreads:e.interOpNumThreads??1,extra:{...n,session:{...r,intra_op:{allow_spinning:"0",...kJt(r?.intra_op)},inter_op:{allow_spinning:"0",...kJt(r?.inter_op)}}}}}function q6l(e,t){return typeof e==="string"&&bg.resolve(e).startsWith(bg.resolve(t)+bg.sep)}function V6l(e,t,n){let r=e.InferenceSession,i=fsr.get(r);if(i===void 0){let a=r.create,l=a.bind(r),c=[],d=(u,...p)=>{let f=c.findLast((m)=>q6l(u,m.cacheRoot));if(f===void 0)return l(u,...p);return l(u,z6l(p[0]??{},f.parallelism))};i={original:a,wrapper:d,scopes:c},fsr.set(r,i),r.create=d}let o=i,s={parallelism:t,cacheRoot:n};return o.scopes.push(s),()=>{let a=o.scopes.indexOf(s);if(a===-1)return;if(o.scopes.splice(a,1),o.scopes.length>0)return;if(fsr.delete(r),r.create===o.wrapper)r.create=o.original}}function K6l(){let e=KSo;if(e===null)throw Error("fastembed is not loaded");let{ortEntry:t}=YSo(e.fastembedPackageDir);if(t===null)throw Error(`Cannot find module onnxruntime-node beside ${e.entry}`);return e.require(t)}async function JSo(e,t,n=K6l){let r;try{r=V6l(n(),VSo.availableParallelism(),e)}catch(i){ie("mnemopi: onnxruntime not budgetable; embedding sessions keep ORT thread defaults",{error:String(i)})}try{return await t()}finally{r?.()}}function XSo(){return psr??=Y6l().catch((e)=>{throw psr=null,e}),psr}async function Y6l(){try{let e=qSo(import.meta.url),t=e.resolve("fastembed/package.json"),n=e(t);if(n.version!==CJt)throw Error(`Cannot find package fastembed@${CJt}; resolved ${String(n.version)}`);return await QSo(e.resolve("fastembed"),bg.dirname(t))}catch(e){if(!X6l(e))throw e;return ie("mnemopi: fastembed not loadable, using on-demand runtime install",{error:String(e)}),J6l()}}async function QSo(e,t){let n=qSo(e);if(process.platform==="win32"){let{ortEntry:i}=await j6l({fastembedEntry:e,fastembedPackageDir:t});n(i)}let r=n(e);return KSo={entry:e,fastembedPackageDir:t,require:n},r}async function J6l(){let e=W6l(),t=await R4({runtimeDir:bg.join(lkn(),e.versionKey),install:e.install,probePackage:"fastembed"}),n=bg.join(t,"node_modules");k8e({runtimeNodeModules:n});let r=Fh(n,"fastembed");if(!r)throw Error(`fastembed runtime install at ${t} has no loadable entry`);return QSo(r,bg.join(n,"fastembed"))}function X6l(e){if(typeof e!=="object"||e===null)return!1;let{name:t,code:n,message:r}=e;if(t==="ResolveMessage")return!0;if(n==="ERR_MODULE_NOT_FOUND"||n==="MODULE_NOT_FOUND"||n==="ERR_DLOPEN_FAILED")return!0;return typeof r==="string"&&/cannot find (module|package)/i.test(r)}var CJt,zSo="0.6.0",psr=null,KSo=null,G6l=4,fsr;var ZSo=A(()=>{j();jSo();CJt=GSo.peerDependencies.fastembed;fsr=new WeakMap});function Ete(e,t){let n=e.length>t.length?e.length:t.length;if(n===0)return 0;let r=0,i=0,o=0;for(let s=0;s<n;s+=1){let a=e[s]??0,l=t[s]??0,c=Number.isFinite(a)?a:0,d=Number.isFinite(l)?l:0;r+=c*d,i+=c*c,o+=d*d}if(i===0||o===0)return 0;return r/(Math.sqrt(i)*Math.sqrt(o))}import{mkdirSync as Q6l}from"fs";import*as nTo from"fs/promises";import*as wut from"path";async function rTo(e,t){let n=/Load model from (.+?\.onnx) failed:.*Protobuf parsing failed/i.exec(e);if(!n)return!1;let r=wut.resolve(n[1]),i=wut.resolve(t??yK());if(!r.startsWith(i+wut.sep))return!1;try{await nTo.rename(r,`${r}.corrupt-${Date.now()}`),G("mnemopi: quarantined corrupt local embedding model; retrying init",{modelFile:r})}catch{}return!0}async function Rte(e){let t=e.cacheDir??yK(),n=e.cacheDir===void 0?{...e,cacheDir:t}:e,{FlagEmbedding:r}=await XSo();return JSo(t,async()=>{try{return await r.init(n)}catch(i){let o=i instanceof Error?i.message:"";if(/Protobuf parsing failed/i.test(o)&&await rTo(o,t))return r.init(n);throw i}})}function Q8(){return H2()?.embeddings}function hsr(e){let t=Q8(),n=t?.provider,r=0;if(n!==void 0){let s=eTo.get(n);if(s===void 0)r=e8l++,eTo.set(n,r);else r=s}let i=X8(),o=t?.apiUrl??"";return`${r}::${i}::${o}::${e}`}function iTo(){return Le.NODE_ENV==="test"||Le.BUN_ENV==="test"}function Hye(){let e=Q8();if(e?.disabled!==void 0)return e.disabled;return na("MNEMOPI_NO_EMBEDDINGS")}function t8l(){let e=Q8()?.maxInputChars;if(e!==void 0)return Math.max(0,Math.trunc(e));let t=Number.parseInt(Le.MNEMOPI_EMBEDDING_MAX_INPUT_CHARS??"",10);if(Number.isFinite(t)&&t>=0)return t;return SJt}function n8l(e){let t=t8l();if(t===0)return e;let n=null,r=0,i=0;for(let o=0;o<e.length;o++){let s=e[o]??"";if(s.length<=t)continue;if(n===null)n=e.slice();if(n[o]=TJt(s,t),r++,s.length>i)i=s.length}if(n===null)return e;return Ae[dFe()?"warn":"debug"]("mnemopi: embedding input truncated",{inputCount:e.length,trimmedCount:r,maxOriginalLen:i,maxInputChars:t}),n}function oTo(){let e=Q8();if(e?.apiKey!==void 0)return e.apiKey;return Le.MNEMOPI_EMBEDDING_API_KEY||Le.OPENROUTER_API_KEY||Le.OPENAI_API_KEY||""}function bsr(e=oTo()){return typeof e==="function"||e!==""}function r8l(){let e=Q8();if(e?.apiUrl!==void 0)return e.apiUrl;return Le.MNEMOPI_EMBEDDING_API_URL||Le.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"}function X8(){let e=Q8();if(e?.model!==void 0)return e.model;return Le.MNEMOPI_EMBEDDING_MODEL||"BAAI/bge-small-en-v1.5"}function Sut(){return X8()}function IJt(e){if(e.startsWith("openai/")||e.includes("text-embedding")||e.startsWith("text-embedding"))return!0;let n=Q8()?.apiUrl??(Le.MNEMOPI_EMBEDDING_API_URL||Le.OPENROUTER_BASE_URL);if(n!==void 0&&n!==""&&!Fi(n,"openrouter"))return!0;return na("MNEMOPI_EMBEDDINGS_VIA_API")}function sTo(e){let t=Number.parseInt(Le.MNEMOPI_EMBEDDING_DIM??"",10);if(Number.isFinite(t))return t;return i8l[e]??384}async function msr(e){let t=[];for await(let n of e)Wi("mnemopi.embed",()=>{for(let r of n)t.push(new Float32Array(r))});return t}function wsr(e){let t=o8l[e];return t===void 0?null:t}async function s8l(){if(IJt(X8())||Hye()||iTo())return null;if(Uye!==null)return Uye;let e=wsr(X8());if(e===null)return null;let t=yK();Q6l(t,{recursive:!0});let n=gsr({model:e,cacheDir:t,showDownloadProgress:!1});Uye=n;try{return await n}catch(r){if(Ae[dFe()?"warn":"debug"]("mnemopi: local embedding model failed to load",{model:e,error:String(r)}),Uye===n)Uye=null;return null}}async function a8l(e){let t=r8l(),n=!Fi(t,"openrouter"),r=oTo();if(!n&&!bsr(r))return null;let i=JSON.stringify({model:X8(),input:e});try{let o=await br(r,async(a)=>{let l={"Content-Type":"application/json",...Ade()};if(a!=="")l.Authorization=`Bearer ${a}`;let c=await Gf(`${t.replace(/\/+$/,"")}/embeddings`,{method:"POST",headers:l,body:i,signal:AbortSignal.timeout(30000),maxAttempts:3,defaultDelayMs:(d)=>2**d*1000});if(c.status===401)throw new cn("mnemopi embedding request unauthorized (401)",401,{headers:c.headers});return c});if(!o.ok)return null;let s=await o.json();return Wi("mnemopi.embed",()=>{let{data:a}=s;if(a===void 0)return null;return ysr+=1,a.map((l)=>new Float32Array(l.embedding))})}catch(o){return ie("mnemopi embedding request failed",{status:Dm(o)}),null}}async function tTo(e){if(e.available===void 0)return!0;try{return await e.available()}catch{return!1}}function aTo(e){gFe=e??null,$ye.clear()}function lTo(e){gsr=e??Rte,Uye=null,$ye.clear()}function cTo(){gFe=null,Uye=null,gsr=Rte,ysr=0,$ye.clear()}async function d8l(){if(Hye())return!1;let e=Q8(),t=mut(e?.provider);if(t!==void 0)return tTo(t);if(gFe!==null)return tTo(gFe);if(IJt(X8())){let n=e?.apiUrl??(Le.MNEMOPI_EMBEDDING_API_URL||Le.OPENROUTER_BASE_URL);if(n!==void 0&&n!==""&&!Fi(n,"openrouter"))return!0;return bsr()}if(iTo())return!1;return wsr(X8())!==null}function u8l(){return bsr()}async function yFe(e){if(e===""||Hye())return null;let t=hsr(e),n=$ye.get(t);if(n!==void 0)return n;let i=(await _Jt([e]))?.[0]??null;if(i!==null)$ye.set(t,i);return i}async function _Jt(e){if(e.length===0||Hye())return null;e=n8l(e);let t=mut(Q8()?.provider);if(t!==void 0)try{return await msr(await t.embed(e))}catch{return null}if(gFe!==null)try{return await msr(await gFe.embed(e))}catch{return null}if(IJt(X8()))return a8l(e);if(e.length===1){let r=hsr(e[0]??""),i=$ye.get(r);if(i!==void 0)return[i]}let n=await s8l();if(n===null)return null;try{let r=await Wi("mnemopi.embed",()=>msr(n.embed([...e])));if(r.length===1){let i=r[0];if(i!==void 0)$ye.set(hsr(e[0]??""),i)}return r}catch(r){return Ae[dFe()?"warn":"debug"]("mnemopi: local embedding failed",{textCount:e.length,error:String(r)}),null}}function p8l(){return ysr}var Z6l=512,gFe=null,Uye=null,gsr,ysr=0,$ye,eTo,e8l=1,i8l,o8l,l8l,Ssr,c8l,dTo,f8l;var Wye=A(()=>{Dn();vt();Ow();j();ZSo();Bye();gsr=Rte,$ye=new Qi({max:Z6l}),eTo=new WeakMap;i8l={"BAAI/bge-small-en-v1.5":384,"BAAI/bge-base-en-v1.5":768,"BAAI/bge-large-en-v1.5":1024,"BAAI/bge-small-zh-v1.5":512,"BAAI/bge-base-zh-v1.5":768,"BAAI/bge-large-zh-v1.5":1024,"intfloat/multilingual-e5-small":384,"intfloat/multilingual-e5-base":768,"intfloat/multilingual-e5-large":1024,"BAAI/bge-m3":1024,"BAAI/bge-multilingual-gemma2":3584,"openai/text-embedding-3-small":1536,"openai/text-embedding-3-large":3072,"text-embedding-3-small":1536,"text-embedding-3-large":3072,"jina-embeddings-v5-omni-nano":768,"jina-embeddings-v5-omni-small":1024};o8l={"BAAI/bge-small-en-v1.5":"fast-bge-small-en-v1.5","BAAI/bge-base-en-v1.5":"fast-bge-base-en-v1.5","BAAI/bge-small-en":"fast-bge-small-en","BAAI/bge-base-en":"fast-bge-base-en","BAAI/bge-small-zh-v1.5":"fast-bge-small-zh-v1.5","intfloat/multilingual-e5-large":"fast-multilingual-e5-large","sentence-transformers/all-MiniLM-L6-v2":"fast-all-MiniLM-L6-v2"};l8l=aTo;Ssr=lTo;c8l=cTo;dTo=X8(),f8l=sTo(dTo)});import{vectorIndexTopK as DZp}from"@oh-my-pi-zen/pi-natives";var uTo=()=>{};function g8l(e=process.env){let t=(e.MNEMOPI_VEC_TYPE??"int8").trim().toLowerCase();if(t==="float32"||t==="int8"||t==="bit")return t;return"float32"}var m8l=8,h8l,$Zp,pTo,HZp;var fTo=A(()=>{vE();JI();h8l=Fwo(),$Zp=Math.ceil(h8l/m8l),pTo=new Uint8Array(256);for(let e=0;e<pTo.length;e+=1){let t=e,n=0;while(t!==0)t&=t-1,n+=1;pTo[e]=n}HZp=g8l()});function y8l(e,t){try{return e.query("SELECT 1 FROM sqlite_master WHERE type IN ('table','virtual table') AND name = ? LIMIT 1").get(t)!==null}catch{return!1}}function b8l(e){return JSON.stringify(e)}function PJt(e){return y8l(e,"vec_episodes")}function w8l(e){let t=mTo.get(e);if(t!==void 0)return t;let n="float32";if(PJt(e))try{let i=e.query("SELECT sql FROM sqlite_master WHERE type='table' AND name='vec_episodes'").get()?.sql??"";if(i.includes("int8"))n="int8";else if(i.includes("bit"))n="bit"}catch{n="float32"}return mTo.set(e,n),n}function hTo(e,t,n){let r=w8l(e),i=b8l(n);if(r==="bit")e.query("INSERT INTO vec_episodes(rowid, embedding) VALUES (?, vec_quantize_binary(?))").run(t,i);else if(r==="int8")e.query("INSERT INTO vec_episodes(rowid, embedding) VALUES (?, vec_quantize_int8(?, 'unit'))").run(t,i);else e.query("INSERT INTO vec_episodes(rowid, embedding) VALUES (?, ?)").run(t,i)}async function S8l(e,t){try{let n=await _Jt(t.map((r)=>r.content));if(n===null)return;Wi("mnemopi.embed-persist",()=>{let r=Sut();using i=e.db.prepare("INSERT OR REPLACE INTO memory_embeddings(memory_id, embedding_json, model) VALUES (?, ?, ?)");let o=0;if(e.db.transaction((a)=>{for(let l=0;l<a.length;l+=1){let c=n[l],d=a[l];if(c===void 0||d===void 0)continue;i.run(d.memoryId,JSON.stringify(Array.from(c)),r),o+=1}})(t),o>0)e.caches.queryCache?.invalidate()})}catch(n){Ae[dFe()?"warn":"debug"]("mnemopi: background embedding failed",{itemCount:t.length,error:String(n)})}}function xte(e,t){let n=t.filter((s)=>s.content.trim()!=="");if(n.length===0)return;let r=H2(),i=J8(r,()=>S8l(e,n)),o=e.pendingExtractions;if(o!==void 0)o.add(i),i.finally(()=>o.delete(i))}var mTo;var Tsr=A(()=>{j();hJt();usr();Wye();Bye();uTo();fTo();mTo=new WeakMap});function vut(e,t){let n=Number.parseInt(process.env[e]??"",10);return Number.isFinite(n)?n:t}function TTo(e){let t=Math.trunc(e.config?.maxEpisodeChars??bTo);return Number.isFinite(t)&&t>0?t:bTo}function x8l(e,t){if(t<=0)return"";if(t<=vsr.length)return e.slice(0,t);let n=t-vsr.length;return`${e.slice(0,n).trimEnd()}${vsr}`}function k8l(e,t,n){let r=TTo(e),i=`[${t}] `.length,o=Math.max(0,r-i),s=[],a=[],l=0;for(let c of n){let d=(Av(c,"content")??"").length,u=a.length===0?0:Rsr.length;if(a.length>0&&l+u+d>o)s.push({items:a,originalChars:l}),a=[],l=0;a.push(c),l+=(a.length===1?0:Rsr.length)+d}if(a.length>0)s.push({items:a,originalChars:l});return s}function C8l(e,t,n){let r=TTo(e),i=`[${t}] `,o=n.items.map((l)=>Av(l,"content")??"").join(Rsr),s=`${i}${ySo(o)}`,a=s.length>r;return{summary:a?x8l(s,r):s,originalChars:n.originalChars,truncated:a,maxChars:r}}function jye(){return new Date().toISOString()}function OJt(e,t){return new Date(Date.now()-e*t).toISOString()}function I8l(e){return JSON.stringify(e??{})}function Av(e,t){let n=e[t];return n==null?null:String(n)}function wTo(e){return Object.hasOwn(Esr,e)}function xsr(e){if(e===null||e===void 0)return"unknown";let t=String(e).trim().toLowerCase();if(t==="")return"unknown";if(wTo(t))return t;let n=HSo(e,"consolidateToEpisodic.veracity");return wTo(n)?n:"unknown"}function _8l(e){let t=null,n=0,r=new Map;for(let i of e){let o=xsr(i);if(o==="unknown")continue;let s=(r.get(o)??0)+1;if(r.set(o,s),s>n||s===n&&(t===null||Esr[o]<Esr[t]))t=o,n=s}if(t!==null)return t;for(let i of e)if(xsr(i)==="unknown")return"unknown";return"unknown"}function vTo(e){return e.replace(/\s+/g," ").trim()}function Asr(e,t,n=50){let r=Math.max(0,t-n),i=Math.min(e.length,t+n);return vTo(e.slice(r,i))}function EE(e){return e.sessionId||"default"}function W2(e){return Array.isArray(e)?e:[]}function ksr(e){return e.replace(/[\\%_]/g,(t)=>`\\${t}`)}function Csr(e){let t=new Set(["a","an","and","are","as","at","did","do","does","for","from","how","i","in","is","it","me","my","of","on","or","the","to","was","were","what","when","where","which","who","with"]);return[...e.toLowerCase().matchAll(/[\p{L}\p{N}_.-]+/gu)].map((n)=>n[0]??"").filter((n)=>n.length>1&&!t.has(n)).slice(0,8)}function P8l(e,t,n,r,i,o,s){let a={type:t,sessionId:e.sessionId,timestamp:jye(),memoryId:n,content:r,source:i,importance:o,metadata:s};e.eventEmitter?.(a),e.pluginManager?.emit?.(a)}function MJt(e,t,n,r,i,o,s,a){let l=jye();e.db.run(`INSERT INTO memoria_facts
3541
3541
  (session_id, message_idx, fact_type, key, value, context_snippet, importance, timestamp, source_memory_id)
3542
3542
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,[EE(e),t,n,r,i,o,s,l,a]);let c=Kor(`${EE(e)}\x00${n}\x00${r}\x00${i}`,a??"");e.db.run(`INSERT OR IGNORE INTO facts
3543
3543
  (fact_id, session_id, subject, predicate, object, timestamp, source_msg_id, confidence)
@@ -7082,7 +7082,7 @@ Approved plan file: \`{{planFilePath}}\`; authoritative source of truth. MUST pr
7082
7082
  `);t.pending=o?"":s.pop()??"";let a=!1,l=iDo(t.rows);for(let c of s){if(!c.trim())continue;let d;try{d=Iht(JSON.parse(c))}catch{continue}if(d?.type!=="message"||typeof d.id!=="string")continue;let u=Iht(d.message);if(!u)continue;let p=eDo(u.timestamp,eDo(d.timestamp,Date.now()));if(u.role==="assistant"){let f=Nac(u.content);if(f)bmr(t.rows,l,{id:`${e}:response:${d.id}`,agentId:e,timestamp:p,kind:"response",title:"Response",summary:f,status:u.isError?"error":"success",entryId:d.id,source:"transcript"}),a=!0;for(let m of Uac(u.content)){let h={id:`${e}:tool:${m.id}`,agentId:e,timestamp:p,kind:"tool",title:m.name,summary:Bac(m.name,m.args),status:"pending",entryId:d.id,toolCallId:m.id,toolName:m.name,source:"transcript"};t.toolRows.set(m.id,h),bmr(t.rows,l,h),a=!0}if(t.rows.length>=Cnn*2)rDo(t),l=iDo(t.rows);continue}if(u.role==="toolResult"&&typeof u.toolCallId==="string"){let f=t.toolRows.get(u.toolCallId);if(!f)continue;if(f.status=u.isError?"error":"success",f.timestamp=Math.max(f.timestamp,p),!l.has(f.id))bmr(t.rows,l,f);t.toolRows.delete(u.toolCallId),a=!0}}if(!a)return;rDo(t),this.#p()}#p(){this.#i++;for(let e of this.#n)e()}}var ymr=262144,Cnn=256,Mac=200,Oac=2000,nDo;var sDo=A(()=>{nDo=new WeakMap});var lDo={};I(lDo,{CHAT_MODEL_ROLE_IDS:()=>bO,DEFAULT_MODEL_ROLE_ALIAS:()=>XUe,KIND_ROLE_IDS:()=>Vee,LEGACY_MODEL_ROLE_ALIAS_PREFIX:()=>qne,MODEL_ROLES:()=>QUe,MODEL_ROLE_ALIAS_PREFIX:()=>Inn,MODEL_ROLE_IDS:()=>wS,formatModelRoleAlias:()=>IS,getKnownRoleIds:()=>Ywe,getRoleInfo:()=>KO,isKindRole:()=>_nn,roleCandidatePool:()=>hu});function IS(e){return`${Inn}${e}`}function RF(e){return Yo(e)==="chat"}function aDo(e){let t=Yo(e);return t==="tiny"||t==="chat"}function $ac(e){let t=Yo(e);return t==="search"||t==="chat"&&e.webSearch!==void 0}function Hac(e){let t=Yo(e);return t==="judge"||t==="tiny"||t==="chat"}function _nn(e){return Vee.some((t)=>t===e)}function Wac(e){return wS.some((t)=>t===e)}function hu(e,t,n){return n.getAvailable("all").filter(KO(e,t).accepts)}function Ywe(e){let t=wS.filter((i)=>!QUe[i].hidden),n=new Set(t),r=(i)=>{if(n.has(i))return;n.add(i),t.push(i)};for(let i of xR.get(e))r(i);for(let i in e.getModelRoles())r(i);for(let i in JPt.get(e))r(i);return t}function KO(e,t){let n=Wac(e)?QUe[e]:void 0,r=JPt.get(t),i=Object.hasOwn(r,e)?r[e]:void 0;if(i)return{tag:n?.tag,name:i.name||n?.name||e,color:i.color&&ET(i.color)?i.color:n?.color,hidden:i.hidden??n?.hidden,accepts:n?.accepts??RF,section:n?.section??"chat"};if(n)return n;return{name:e,color:"muted",accepts:RF,section:"chat"}}var Inn="@",qne="pi/",XUe="*",QUe;var Fu=A(()=>{Gd();QD();Cn();Vu();QD();QUe={default:{tag:"DEFAULT",name:"Default",color:"success",section:"chat",accepts:RF},smol:{tag:"SMOL",name:"Fast",color:"warning",section:"chat",accepts:RF},slow:{tag:"SLOW",name:"Thinking",color:"accent",section:"chat",accepts:RF},vision:{tag:"VISION",name:"Vision",color:"error",section:"chat",accepts:RF},plan:{tag:"PLAN",name:"Architect",color:"muted",section:"chat",accepts:RF},commit:{tag:"COMMIT",name:"Commit",color:"dim",section:"chat",accepts:RF},tiny:{tag:"TINY",name:"Tiny",color:"dim",section:"chat",accepts:aDo},memory:{tag:"MEMORY",name:"Memory",color:"dim",section:"chat",accepts:aDo},task:{tag:"TASK",name:"Subtask",color:"muted",section:"chat",accepts:RF},advisor:{tag:"ADVISOR",name:"Advisor",color:"accent",section:"chat",accepts:RF},widget:{tag:"WIDGET",name:"Job widgets",color:"dim",section:"chat",accepts:RF},image:{tag:"IMAGE",name:"Image generation",color:"accent",section:"kind",accepts:(e)=>Yo(e)==="image"},web:{tag:"WEB",name:"Web search",color:"success",section:"kind",accepts:$ac},speech:{tag:"SPEECH",name:"Speech",color:"warning",section:"kind",accepts:(e)=>Yo(e)==="tts"},dictation:{tag:"DICTATION",name:"Dictation",color:"warning",section:"kind",accepts:(e)=>Yo(e)==="stt"},judge:{tag:"JUDGE",name:"Judge",color:"muted",section:"kind",accepts:Hac}}});var dDo={};I(dDo,{agentTranscriptSource:()=>cDo,createAgentHubRuntime:()=>Smr,sumSubagentTreeCost:()=>Tmr});import*as jac from"fs";function Smr(e={}){let t=e.registry??hn.global();return{registry:t,lifecycle:()=>e.lifecycle??xs.global(),irc:e.irc??gm.global(),activity:e.activity??new wmr({remote:e.remote}),manageActivityLive:!e.activity,transcript:cDo,loadPersisted:(n)=>ZUe(t,e.sessionFile,{shouldContinue:n}),getRoleInfo:e.settings?(n)=>KO(n,e.settings):void 0}}function Tmr(e){let{observers:t,rootSessionFile:n,sessionCosts:r}=e,i=[],o=new Map;for(let s of e.refs){if(s.id===ir)continue;if(s.kind==="advisor"&&(s.parentId??ir)===ir)continue;let a=t.getSession(s.id);if(!(s.sessionFile?n!==void 0&&_ht(s.sessionFile,n):a!==void 0))continue;if(i.push(s),a)o.set(s.id,a)}return mmr({rows:i,observedById:o,sessionCosts:r})}var cDo;var Pnn=A(()=>{xnn();sDo();Fu();Vbe();s_();Xs();O6();ov();cDo={fs:jac,parseEntries:(e)=>{let t=Pfe(e).filter((n)=>n.type==="message"||n.type==="model_change");for(let n of t)if(n.type==="message"&&n.message.role==="assistant")vQ(n.message);return t}}});function WW(e){return uDo.find((t)=>t.key===e)??pDo.find((t)=>t.key===e)}function d_(e){return WW(e)!==void 0}var vmr="lfm2.5-230m",uDo,pDo,Pht;var Jwe=A(()=>{uDo=[{key:"lfm2.5-230m",repo:"LiquidAI/LFM2.5-230M-ONNX",dtype:"q4",mlxRepo:"LiquidAI/LFM2.5-230M-MLX-4bit",label:"LFM2.5 230M",description:"Recommended local model; fastest LFM2.5 option, about 214 MB cached.",contextNote:"Best balance among the current compact title models."},{key:"lfm2.5-350m",repo:"onnx-community/LFM2.5-350M-ONNX",dtype:"q4",mlxRepo:"LiquidAI/LFM2.5-350M-MLX-4bit",label:"LFM2.5 350M",description:"Larger LFM2.5 option, about 292 MB cached; tends toward terse titles.",contextNote:"Use when compact labels are preferred over descriptive titles."},{key:"falcon-h1-90m",repo:"onnx-community/Falcon-H1-Tiny-90M-Instruct-ONNX",dtype:"q4",mlxRepo:"mlx-community/Falcon-H1-Tiny-90M-Instruct-4bit",label:"Falcon H1 Tiny 90M",description:"Smallest option, about 147 MB cached; lower fidelity on complex prompts.",contextNote:"Use on constrained machines where download size matters most."}],pDo=[{key:"qwen3-1.7b",repo:"onnx-community/Qwen3-1.7B-ONNX",dtype:"q4",mlxRepo:"mlx-community/Qwen3-1.7B-4bit",label:"Qwen3 1.7B",description:"MLX only (providers.tinyModelDevice=mlx): onnxruntime-node cannot run this ONNX export's RotaryEmbedding cache updates.",contextNote:"Blocked on the ONNX backend to avoid the unsupported RotaryEmbedding runtime path.",reasoning:!0,onnxUnsupportedReason:"onnxruntime-node does not support Qwen3 RotaryEmbedding cache updates in onnx-community/Qwen3-1.7B-ONNX"},{key:"llama3.2:3b",repo:"onnx-community/Llama-3.2-3B-Instruct-ONNX",dtype:"q4",mlxRepo:"mlx-community/Llama-3.2-3B-Instruct-4bit",label:"Llama 3.2 3B",description:"Larger Llama 3.2 option for local memory/classifier tasks; higher quality potential at higher disk/RAM/latency cost.",contextNote:"Use when larger model capacity is preferred over faster load times."},{key:"gemma-3-1b",repo:"onnx-community/gemma-3-1b-it-ONNX",dtype:"q4",mlxRepo:"mlx-community/gemma-3-1b-it-4bit",label:"Gemma 3 1B",description:"Best consolidation/dedup; lighter footprint, but leaks small talk during extraction.",contextNote:"Use when consolidation quality and size matter most."},{key:"qwen2.5-1.5b",repo:"onnx-community/Qwen2.5-1.5B-Instruct",dtype:"q4",mlxRepo:"mlx-community/Qwen2.5-1.5B-Instruct-4bit",label:"Qwen2.5 1.5B",description:"Best extraction granularity (atomic facts); weaker consolidation.",contextNote:"Use when fine-grained, deduplicatable facts matter more than summaries."},{key:"lfm2-1.2b",repo:"onnx-community/LFM2-1.2B-ONNX",dtype:"q4",mlxRepo:"mlx-community/LFM2-1.2B-4bit",label:"LFM2 1.2B",description:"Fastest load; solid all-rounder, slightly noisier extraction labels.",contextNote:"Use when local startup cost is the priority."}];Pht=[...uDo,...pDo]});var mDo=`{{{system}}}
7083
7083
 
7084
7084
  {{{state}}}
7085
- `;var fDo=()=>{};var Vne;var Mht=A(()=>{Vne={name:"@oh-my-pi-zen/pi-coding-agent",version:"18.13.3-zen.3",description:"Coding agent CLI with read, bash, edit, write tools and session management",keywords:["agent","ai","cli","coding-agent","llm","tui"],homepage:"https://omp.sh",bugs:{url:"https://github.com/can1357/oh-my-pi/issues"},license:"MIT",author:{name:"Stencil Labs, Inc.",url:"https://stencil.so"},contributors:["Mario Zechner"],repository:{type:"git",url:"git+https://github.com/cagedbird-org/oh-my-pi-zen.git",directory:"packages/coding-agent"},bin:{omp:"dist/cli.js"},files:["src","dist/cli.js","dist/docs-index.generated.txt","dist/CHANGELOG-*.md","dist/*.node","dist/*.json-*.zst","dist/template-*.css","dist/template-*.html","dist/template-*.js","dist/tool-views.generated-*.js","dist/marked.min-*.js","dist/highlight.min-*.js","scripts","examples","README.md","CHANGELOG.md","LICENSE","THIRD-PARTY-NOTICES.txt","dist/types"],type:"module",main:"./src/index.ts",types:"./dist/types/index.d.ts",exports:{".":{types:"./dist/types/index.d.ts",import:"./src/index.ts"},"./*":{types:"./dist/types/*.d.ts",import:"./src/*.ts"},"./async":{types:"./dist/types/async/index.d.ts",import:"./src/async/index.ts"},"./async/*":{types:"./dist/types/async/*.d.ts",import:"./src/async/*.ts"},"./autoresearch":{types:"./dist/types/autoresearch/index.d.ts",import:"./src/autoresearch/index.ts"},"./autoresearch/*":{types:"./dist/types/autoresearch/*.d.ts",import:"./src/autoresearch/*.ts"},"./autoresearch/tools/*":{types:"./dist/types/autoresearch/tools/*.d.ts",import:"./src/autoresearch/tools/*.ts"},"./capability":{types:"./dist/types/capability/index.d.ts",import:"./src/capability/index.ts"},"./capability/*":{types:"./dist/types/capability/*.d.ts",import:"./src/capability/*.ts"},"./cli/*":{types:"./dist/types/cli/*.d.ts",import:"./src/cli/*.ts"},"./cli/gallery-fixtures":{types:"./dist/types/cli/gallery-fixtures/index.d.ts",import:"./src/cli/gallery-fixtures/index.ts"},"./cli/gallery-fixtures/*":{types:"./dist/types/cli/gallery-fixtures/*.d.ts",import:"./src/cli/gallery-fixtures/*.ts"},"./cli/commands/*":{types:"./dist/types/cli/commands/*.d.ts",import:"./src/cli/commands/*.ts"},"./commands/*":{types:"./dist/types/commands/*.d.ts",import:"./src/commands/*.ts"},"./commit":{types:"./dist/types/commit/index.d.ts",import:"./src/commit/index.ts"},"./commit/*":{types:"./dist/types/commit/*.d.ts",import:"./src/commit/*.ts"},"./commit/agentic":{types:"./dist/types/commit/agentic/index.d.ts",import:"./src/commit/agentic/index.ts"},"./commit/agentic/*":{types:"./dist/types/commit/agentic/*.d.ts",import:"./src/commit/agentic/*.ts"},"./commit/agentic/tools":{types:"./dist/types/commit/agentic/tools/index.d.ts",import:"./src/commit/agentic/tools/index.ts"},"./commit/agentic/tools/*":{types:"./dist/types/commit/agentic/tools/*.d.ts",import:"./src/commit/agentic/tools/*.ts"},"./commit/analysis":{types:"./dist/types/commit/analysis/index.d.ts",import:"./src/commit/analysis/index.ts"},"./commit/analysis/*":{types:"./dist/types/commit/analysis/*.d.ts",import:"./src/commit/analysis/*.ts"},"./commit/changelog":{types:"./dist/types/commit/changelog/index.d.ts",import:"./src/commit/changelog/index.ts"},"./commit/changelog/*":{types:"./dist/types/commit/changelog/*.d.ts",import:"./src/commit/changelog/*.ts"},"./commit/conventional":{types:"./dist/types/commit/conventional/index.d.ts",import:"./src/commit/conventional/index.ts"},"./commit/conventional/*":{types:"./dist/types/commit/conventional/*.d.ts",import:"./src/commit/conventional/*.ts"},"./commit/git/*":{types:"./dist/types/commit/git/*.d.ts",import:"./src/commit/git/*.ts"},"./commit/utils/*":{types:"./dist/types/commit/utils/*.d.ts",import:"./src/commit/utils/*.ts"},"./config/*":{types:"./dist/types/config/*.d.ts",import:"./src/config/*.ts"},"./dap":{types:"./dist/types/dap/index.d.ts",import:"./src/dap/index.ts"},"./dap/*":{types:"./dist/types/dap/*.d.ts",import:"./src/dap/*.ts"},"./debug":{types:"./dist/types/debug/index.d.ts",import:"./src/debug/index.ts"},"./debug/*":{types:"./dist/types/debug/*.d.ts",import:"./src/debug/*.ts"},"./discovery":{types:"./dist/types/discovery/index.d.ts",import:"./src/discovery/index.ts"},"./discovery/*":{types:"./dist/types/discovery/*.d.ts",import:"./src/discovery/*.ts"},"./edit":{types:"./dist/types/edit/index.d.ts",import:"./src/edit/index.ts"},"./edit/*":{types:"./dist/types/edit/*.d.ts",import:"./src/edit/*.ts"},"./exa":{types:"./dist/types/exa/index.d.ts",import:"./src/exa/index.ts"},"./exa/*":{types:"./dist/types/exa/*.d.ts",import:"./src/exa/*.ts"},"./exec/*":{types:"./dist/types/exec/*.d.ts",import:"./src/exec/*.ts"},"./export/*":{types:"./dist/types/export/*.d.ts",import:"./src/export/*.ts"},"./export/html":{types:"./dist/types/export/html/index.d.ts",import:"./src/export/html/index.ts"},"./export/html/*":{types:"./dist/types/export/html/*.d.ts",import:"./src/export/html/*.ts"},"./extensibility/*":{types:"./dist/types/extensibility/*.d.ts",import:"./src/extensibility/*.ts"},"./extensibility/custom-commands":{types:"./dist/types/extensibility/custom-commands/index.d.ts",import:"./src/extensibility/custom-commands/index.ts"},"./extensibility/custom-commands/*":{types:"./dist/types/extensibility/custom-commands/*.d.ts",import:"./src/extensibility/custom-commands/*.ts"},"./extensibility/custom-commands/bundled/ci-green":{types:"./dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts",import:"./src/extensibility/custom-commands/bundled/ci-green/index.ts"},"./extensibility/custom-commands/bundled/review":{types:"./dist/types/extensibility/custom-commands/bundled/review/index.d.ts",import:"./src/extensibility/custom-commands/bundled/review/index.ts"},"./extensibility/custom-commands/bundled/annotate":{types:"./dist/types/extensibility/custom-commands/bundled/annotate/index.d.ts",import:"./src/extensibility/custom-commands/bundled/annotate/index.ts"},"./extensibility/custom-tools":{types:"./dist/types/extensibility/custom-tools/index.d.ts",import:"./src/extensibility/custom-tools/index.ts"},"./extensibility/custom-tools/*":{types:"./dist/types/extensibility/custom-tools/*.d.ts",import:"./src/extensibility/custom-tools/*.ts"},"./extensibility/extensions":{types:"./dist/types/extensibility/extensions/index.d.ts",import:"./src/extensibility/extensions/index.ts"},"./extensibility/extensions/*":{types:"./dist/types/extensibility/extensions/*.d.ts",import:"./src/extensibility/extensions/*.ts"},"./extensibility/hooks":{types:"./dist/types/extensibility/hooks/index.d.ts",import:"./src/extensibility/hooks/index.ts"},"./extensibility/hooks/*":{types:"./dist/types/extensibility/hooks/*.d.ts",import:"./src/extensibility/hooks/*.ts"},"./extensibility/plugins":{types:"./dist/types/extensibility/plugins/index.d.ts",import:"./src/extensibility/plugins/index.ts"},"./extensibility/plugins/*":{types:"./dist/types/extensibility/plugins/*.d.ts",import:"./src/extensibility/plugins/*.ts"},"./extensibility/plugins/marketplace":{types:"./dist/types/extensibility/plugins/marketplace/index.d.ts",import:"./src/extensibility/plugins/marketplace/index.ts"},"./extensibility/plugins/marketplace/*":{types:"./dist/types/extensibility/plugins/marketplace/*.d.ts",import:"./src/extensibility/plugins/marketplace/*.ts"},"./ida":{types:"./dist/types/ida/index.d.ts",import:"./src/ida/index.ts"},"./ida/*":{types:"./dist/types/ida/*.d.ts",import:"./src/ida/*.ts"},"./internal-urls":{types:"./dist/types/internal-urls/index.d.ts",import:"./src/internal-urls/index.ts"},"./internal-urls/*":{types:"./dist/types/internal-urls/*.d.ts",import:"./src/internal-urls/*.ts"},"./eval":{types:"./dist/types/eval/index.d.ts",import:"./src/eval/index.ts"},"./if-bench":{types:"./dist/types/if-bench/index.d.ts",import:"./src/if-bench/index.ts"},"./if-bench/*":{types:"./dist/types/if-bench/*.d.ts",import:"./src/if-bench/*.ts"},"./eval/js/*":{types:"./dist/types/eval/js/*.d.ts",import:"./src/eval/js/*.ts"},"./eval/py/*":{types:"./dist/types/eval/py/*.d.ts",import:"./src/eval/py/*.ts"},"./lsp":{types:"./dist/types/lsp/index.d.ts",import:"./src/lsp/index.ts"},"./lsp/*":{types:"./dist/types/lsp/*.d.ts",import:"./src/lsp/*.ts"},"./lsp/clients":{types:"./dist/types/lsp/clients/index.d.ts",import:"./src/lsp/clients/index.ts"},"./lsp/clients/*":{types:"./dist/types/lsp/clients/*.d.ts",import:"./src/lsp/clients/*.ts"},"./judgment":{types:"./dist/types/judgment/index.d.ts",import:"./src/judgment/index.ts"},"./markit":{types:"./dist/types/markit/index.d.ts",import:"./src/markit/index.ts"},"./markit/*":{types:"./dist/types/markit/*.d.ts",import:"./src/markit/*.ts"},"./mcp":{types:"./dist/types/mcp/index.d.ts",import:"./src/mcp/index.ts"},"./mcp/*":{types:"./dist/types/mcp/*.d.ts",import:"./src/mcp/*.ts"},"./mcp/transports":{types:"./dist/types/mcp/transports/index.d.ts",import:"./src/mcp/transports/index.ts"},"./mcp/transports/*":{types:"./dist/types/mcp/transports/*.d.ts",import:"./src/mcp/transports/*.ts"},"./memories":{types:"./dist/types/memories/index.d.ts",import:"./src/memories/index.ts"},"./memories/*":{types:"./dist/types/memories/*.d.ts",import:"./src/memories/*.ts"},"./memory-backend":{types:"./dist/types/memory-backend/index.d.ts",import:"./src/memory-backend/index.ts"},"./memory-backend/*":{types:"./dist/types/memory-backend/*.d.ts",import:"./src/memory-backend/*.ts"},"./hindsight":{types:"./dist/types/hindsight/index.d.ts",import:"./src/hindsight/index.ts"},"./hindsight/*":{types:"./dist/types/hindsight/*.d.ts",import:"./src/hindsight/*.ts"},"./modes":{types:"./dist/types/modes/index.d.ts",import:"./src/modes/index.ts"},"./modes/*":{types:"./dist/types/modes/*.d.ts",import:"./src/modes/*.ts"},"./modes/acp":{types:"./dist/types/modes/acp/index.d.ts",import:"./src/modes/acp/index.ts"},"./modes/acp/*":{types:"./dist/types/modes/acp/*.d.ts",import:"./src/modes/acp/*.ts"},"./modes/components":{types:"./dist/types/modes/components/index.d.ts",import:"./src/modes/components/index.ts"},"./modes/components/*":{types:"./dist/types/modes/components/*.d.ts",import:"./src/modes/components/*.ts"},"./modes/components/extensions/*":{types:"./dist/types/modes/components/extensions/*.d.ts",import:"./src/modes/components/extensions/*.ts"},"./modes/controllers/*":{types:"./dist/types/modes/controllers/*.d.ts",import:"./src/modes/controllers/*.ts"},"./modes/rpc/*":{types:"./dist/types/modes/rpc/*.d.ts",import:"./src/modes/rpc/*.ts"},"./modes/utils/*":{types:"./dist/types/modes/utils/*.d.ts",import:"./src/modes/utils/*.ts"},"./plan-mode/*":{types:"./dist/types/plan-mode/*.d.ts",import:"./src/plan-mode/*.ts"},"./registry/*":{types:"./dist/types/registry/*.d.ts",import:"./src/registry/*.ts"},"./secrets":{types:"./dist/types/secrets/index.d.ts",import:"./src/secrets/index.ts"},"./secrets/*":{types:"./dist/types/secrets/*.d.ts",import:"./src/secrets/*.ts"},"./session/*":{types:"./dist/types/session/*.d.ts",import:"./src/session/*.ts"},"./slash-commands/*":{types:"./dist/types/slash-commands/*.d.ts",import:"./src/slash-commands/*.ts"},"./ssh/*":{types:"./dist/types/ssh/*.d.ts",import:"./src/ssh/*.ts"},"./stt":{types:"./dist/types/stt/index.d.ts",import:"./src/stt/index.ts"},"./stt/*":{types:"./dist/types/stt/*.d.ts",import:"./src/stt/*.ts"},"./task":{types:"./dist/types/task/index.d.ts",import:"./src/task/index.ts"},"./task/*":{types:"./dist/types/task/*.d.ts",import:"./src/task/*.ts"},"./tools":{types:"./dist/types/tools/index.d.ts",import:"./src/tools/index.ts"},"./tools/jfind":{types:"./dist/types/tools/jfind/index.d.ts",import:"./src/tools/jfind/index.ts"},"./tools/jfind/*":{types:"./dist/types/tools/jfind/*.d.ts",import:"./src/tools/jfind/*.ts"},"./tools/*":{types:"./dist/types/tools/*.d.ts",import:"./src/tools/*.ts"},"./utils/*":{types:"./dist/types/utils/*.d.ts",import:"./src/utils/*.ts"},"./web/*":{types:"./dist/types/web/*.d.ts",import:"./src/web/*.ts"},"./web/scrapers":{types:"./dist/types/web/scrapers/index.d.ts",import:"./src/web/scrapers/index.ts"},"./web/scrapers/*":{types:"./dist/types/web/scrapers/*.d.ts",import:"./src/web/scrapers/*.ts"},"./web/search":{types:"./dist/types/web/search/index.d.ts",import:"./src/web/search/index.ts"},"./web/search/*":{types:"./dist/types/web/search/*.d.ts",import:"./src/web/search/*.ts"},"./web/search/providers/*":{types:"./dist/types/web/search/providers/*.d.ts",import:"./src/web/search/providers/*.ts"},"./prompts/*":"./src/prompts/*.md","./*.js":"./src/*.ts"},scripts:{build:"bun scripts/build-binary.ts",check:"oxlint . && oxfmt --check --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit",lint:"oxlint .",test:"bun ../../scripts/ci-test-ts.ts coding-agent-heavy --full",fix:"oxlint --fix --fix-suggestions . && bun run fmt",fmt:"oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run format-prompts","format-prompts":"bun scripts/format-prompts.ts","gen:tool-views":"bun --cwd=../collab-web run gen:tool-views","gen:bundle":"bun scripts/bundle-dist.ts","gen:rpc":"bun scripts/gen-rpc/index.ts",prepack:"bun run gen:tool-views && bun run gen:bundle","bench:guard":"bun scripts/bench-guard.ts"},dependencies:{"@babel/parser":"^7.29.7","@oh-my-pi-zen/omp-stats":"18.13.3-zen.3","@oh-my-pi-zen/omptype":"18.13.3-zen.3","@oh-my-pi-zen/pi-agent-core":"18.13.3-zen.3","@oh-my-pi-zen/pi-ai":"18.13.3-zen.3","@oh-my-pi-zen/pi-catalog":"18.13.3-zen.3","@oh-my-pi-zen/pi-mnemopi":"18.13.3-zen.3","@oh-my-pi-zen/pi-natives":"18.13.3-zen.3","@oh-my-pi-zen/pi-tui":"18.13.3-zen.3","@oh-my-pi-zen/pi-utils":"18.13.3-zen.3","@oh-my-pi-zen/pi-wire":"18.13.3-zen.3","@oh-my-pi-zen/snapcompact":"18.13.3-zen.3","@opentelemetry/api":"^1.9.1","@opentelemetry/api-logs":"^0.220.0","@opentelemetry/context-async-hooks":"^2.9.0","@opentelemetry/exporter-logs-otlp-proto":"^0.220.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.220.0","@opentelemetry/exporter-trace-otlp-proto":"^0.220.0","@opentelemetry/resources":"^2.9.0","@opentelemetry/sdk-logs":"^0.220.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","axe-core":"4.13.0","puppeteer-core":"25.3.0"},devDependencies:{"@types/bun":"^1.3.14"},optionalDependencies:{"@huggingface/transformers":"^4.2.0","sherpa-onnx-node":"1.13.2"},engines:{bun:">=1.4.4"}}});import*as Xwe from"fs";import*as Emr from"os";import*as e$e from"path";async function t$e(e,t,n){let r=Amr.get(e);if(r){if(qac(r))return r;Amr.delete(e)}let i=await Vac(e),o=Bun.hash(n).toString(36),s=e$e.join(i,`runner-${o}.${t}`);if(!Xwe.existsSync(s))await Bun.write(s,n);return Amr.set(e,s),s}function qac(e){if(process.getuid){let t=e$e.dirname(e);try{XFe(t,"Runner staging directory")}catch(n){if(n.code!=="ENOENT")G("Memoized runner staging dir rejected; re-staging",{dir:t,error:String(n)});return!1}}return Xwe.existsSync(e)}async function Vac(e){let t=process.getuid?.();if(t===void 0){let r=e$e.join(Emr.tmpdir(),e);return await Xwe.promises.mkdir(r,{recursive:!0}),r}let n=e$e.join(Emr.tmpdir(),`${e}-${t}`);try{return await Xwe.promises.mkdir(n,{recursive:!0,mode:448}),XFe(n,"Runner staging directory"),n}catch(r){return G("Runner staging dir unusable; staging in a fresh private dir",{dir:n,error:String(r)}),await Xwe.promises.mkdtemp(`${n}-`)}}var Amr;var Mnn=A(()=>{j();AQt();Amr=new Map});class Oht{#e=new Map;#t=new Map;#n;constructor(e){this.#n=e}observe(e,t){let{modelKey:n,status:r}=e;if(r==="ready"){this.#e.get(n)?.tracker?.done(),this.#e.delete(n),this.#t.set(n,"ready");return}if(r==="error"){let l=this.#e.get(n);if(!l&&this.#t.has(n))return;this.#e.delete(n),this.#t.set(n,"failed");let c=t?.split(`
7085
+ `;var fDo=()=>{};var Vne;var Mht=A(()=>{Vne={name:"@oh-my-pi-zen/pi-coding-agent",version:"18.13.3-zen.5",description:"Coding agent CLI with read, bash, edit, write tools and session management",keywords:["agent","ai","cli","coding-agent","llm","tui"],homepage:"https://omp.sh",bugs:{url:"https://github.com/can1357/oh-my-pi/issues"},license:"MIT",author:{name:"Stencil Labs, Inc.",url:"https://stencil.so"},contributors:["Mario Zechner"],repository:{type:"git",url:"git+https://github.com/cagedbird-org/oh-my-pi-zen.git",directory:"packages/coding-agent"},bin:{omp:"dist/cli.js"},files:["src","dist/cli.js","dist/docs-index.generated.txt","dist/CHANGELOG-*.md","dist/*.node","dist/*.json-*.zst","dist/template-*.css","dist/template-*.html","dist/template-*.js","dist/tool-views.generated-*.js","dist/marked.min-*.js","dist/highlight.min-*.js","scripts","examples","README.md","CHANGELOG.md","LICENSE","THIRD-PARTY-NOTICES.txt","dist/types"],type:"module",main:"./src/index.ts",types:"./dist/types/index.d.ts",exports:{".":{types:"./dist/types/index.d.ts",import:"./src/index.ts"},"./*":{types:"./dist/types/*.d.ts",import:"./src/*.ts"},"./async":{types:"./dist/types/async/index.d.ts",import:"./src/async/index.ts"},"./async/*":{types:"./dist/types/async/*.d.ts",import:"./src/async/*.ts"},"./autoresearch":{types:"./dist/types/autoresearch/index.d.ts",import:"./src/autoresearch/index.ts"},"./autoresearch/*":{types:"./dist/types/autoresearch/*.d.ts",import:"./src/autoresearch/*.ts"},"./autoresearch/tools/*":{types:"./dist/types/autoresearch/tools/*.d.ts",import:"./src/autoresearch/tools/*.ts"},"./capability":{types:"./dist/types/capability/index.d.ts",import:"./src/capability/index.ts"},"./capability/*":{types:"./dist/types/capability/*.d.ts",import:"./src/capability/*.ts"},"./cli/*":{types:"./dist/types/cli/*.d.ts",import:"./src/cli/*.ts"},"./cli/gallery-fixtures":{types:"./dist/types/cli/gallery-fixtures/index.d.ts",import:"./src/cli/gallery-fixtures/index.ts"},"./cli/gallery-fixtures/*":{types:"./dist/types/cli/gallery-fixtures/*.d.ts",import:"./src/cli/gallery-fixtures/*.ts"},"./cli/commands/*":{types:"./dist/types/cli/commands/*.d.ts",import:"./src/cli/commands/*.ts"},"./commands/*":{types:"./dist/types/commands/*.d.ts",import:"./src/commands/*.ts"},"./commit":{types:"./dist/types/commit/index.d.ts",import:"./src/commit/index.ts"},"./commit/*":{types:"./dist/types/commit/*.d.ts",import:"./src/commit/*.ts"},"./commit/agentic":{types:"./dist/types/commit/agentic/index.d.ts",import:"./src/commit/agentic/index.ts"},"./commit/agentic/*":{types:"./dist/types/commit/agentic/*.d.ts",import:"./src/commit/agentic/*.ts"},"./commit/agentic/tools":{types:"./dist/types/commit/agentic/tools/index.d.ts",import:"./src/commit/agentic/tools/index.ts"},"./commit/agentic/tools/*":{types:"./dist/types/commit/agentic/tools/*.d.ts",import:"./src/commit/agentic/tools/*.ts"},"./commit/analysis":{types:"./dist/types/commit/analysis/index.d.ts",import:"./src/commit/analysis/index.ts"},"./commit/analysis/*":{types:"./dist/types/commit/analysis/*.d.ts",import:"./src/commit/analysis/*.ts"},"./commit/changelog":{types:"./dist/types/commit/changelog/index.d.ts",import:"./src/commit/changelog/index.ts"},"./commit/changelog/*":{types:"./dist/types/commit/changelog/*.d.ts",import:"./src/commit/changelog/*.ts"},"./commit/conventional":{types:"./dist/types/commit/conventional/index.d.ts",import:"./src/commit/conventional/index.ts"},"./commit/conventional/*":{types:"./dist/types/commit/conventional/*.d.ts",import:"./src/commit/conventional/*.ts"},"./commit/git/*":{types:"./dist/types/commit/git/*.d.ts",import:"./src/commit/git/*.ts"},"./commit/utils/*":{types:"./dist/types/commit/utils/*.d.ts",import:"./src/commit/utils/*.ts"},"./config/*":{types:"./dist/types/config/*.d.ts",import:"./src/config/*.ts"},"./dap":{types:"./dist/types/dap/index.d.ts",import:"./src/dap/index.ts"},"./dap/*":{types:"./dist/types/dap/*.d.ts",import:"./src/dap/*.ts"},"./debug":{types:"./dist/types/debug/index.d.ts",import:"./src/debug/index.ts"},"./debug/*":{types:"./dist/types/debug/*.d.ts",import:"./src/debug/*.ts"},"./discovery":{types:"./dist/types/discovery/index.d.ts",import:"./src/discovery/index.ts"},"./discovery/*":{types:"./dist/types/discovery/*.d.ts",import:"./src/discovery/*.ts"},"./edit":{types:"./dist/types/edit/index.d.ts",import:"./src/edit/index.ts"},"./edit/*":{types:"./dist/types/edit/*.d.ts",import:"./src/edit/*.ts"},"./exa":{types:"./dist/types/exa/index.d.ts",import:"./src/exa/index.ts"},"./exa/*":{types:"./dist/types/exa/*.d.ts",import:"./src/exa/*.ts"},"./exec/*":{types:"./dist/types/exec/*.d.ts",import:"./src/exec/*.ts"},"./export/*":{types:"./dist/types/export/*.d.ts",import:"./src/export/*.ts"},"./export/html":{types:"./dist/types/export/html/index.d.ts",import:"./src/export/html/index.ts"},"./export/html/*":{types:"./dist/types/export/html/*.d.ts",import:"./src/export/html/*.ts"},"./extensibility/*":{types:"./dist/types/extensibility/*.d.ts",import:"./src/extensibility/*.ts"},"./extensibility/custom-commands":{types:"./dist/types/extensibility/custom-commands/index.d.ts",import:"./src/extensibility/custom-commands/index.ts"},"./extensibility/custom-commands/*":{types:"./dist/types/extensibility/custom-commands/*.d.ts",import:"./src/extensibility/custom-commands/*.ts"},"./extensibility/custom-commands/bundled/ci-green":{types:"./dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts",import:"./src/extensibility/custom-commands/bundled/ci-green/index.ts"},"./extensibility/custom-commands/bundled/review":{types:"./dist/types/extensibility/custom-commands/bundled/review/index.d.ts",import:"./src/extensibility/custom-commands/bundled/review/index.ts"},"./extensibility/custom-commands/bundled/annotate":{types:"./dist/types/extensibility/custom-commands/bundled/annotate/index.d.ts",import:"./src/extensibility/custom-commands/bundled/annotate/index.ts"},"./extensibility/custom-tools":{types:"./dist/types/extensibility/custom-tools/index.d.ts",import:"./src/extensibility/custom-tools/index.ts"},"./extensibility/custom-tools/*":{types:"./dist/types/extensibility/custom-tools/*.d.ts",import:"./src/extensibility/custom-tools/*.ts"},"./extensibility/extensions":{types:"./dist/types/extensibility/extensions/index.d.ts",import:"./src/extensibility/extensions/index.ts"},"./extensibility/extensions/*":{types:"./dist/types/extensibility/extensions/*.d.ts",import:"./src/extensibility/extensions/*.ts"},"./extensibility/hooks":{types:"./dist/types/extensibility/hooks/index.d.ts",import:"./src/extensibility/hooks/index.ts"},"./extensibility/hooks/*":{types:"./dist/types/extensibility/hooks/*.d.ts",import:"./src/extensibility/hooks/*.ts"},"./extensibility/plugins":{types:"./dist/types/extensibility/plugins/index.d.ts",import:"./src/extensibility/plugins/index.ts"},"./extensibility/plugins/*":{types:"./dist/types/extensibility/plugins/*.d.ts",import:"./src/extensibility/plugins/*.ts"},"./extensibility/plugins/marketplace":{types:"./dist/types/extensibility/plugins/marketplace/index.d.ts",import:"./src/extensibility/plugins/marketplace/index.ts"},"./extensibility/plugins/marketplace/*":{types:"./dist/types/extensibility/plugins/marketplace/*.d.ts",import:"./src/extensibility/plugins/marketplace/*.ts"},"./ida":{types:"./dist/types/ida/index.d.ts",import:"./src/ida/index.ts"},"./ida/*":{types:"./dist/types/ida/*.d.ts",import:"./src/ida/*.ts"},"./internal-urls":{types:"./dist/types/internal-urls/index.d.ts",import:"./src/internal-urls/index.ts"},"./internal-urls/*":{types:"./dist/types/internal-urls/*.d.ts",import:"./src/internal-urls/*.ts"},"./eval":{types:"./dist/types/eval/index.d.ts",import:"./src/eval/index.ts"},"./if-bench":{types:"./dist/types/if-bench/index.d.ts",import:"./src/if-bench/index.ts"},"./if-bench/*":{types:"./dist/types/if-bench/*.d.ts",import:"./src/if-bench/*.ts"},"./eval/js/*":{types:"./dist/types/eval/js/*.d.ts",import:"./src/eval/js/*.ts"},"./eval/py/*":{types:"./dist/types/eval/py/*.d.ts",import:"./src/eval/py/*.ts"},"./lsp":{types:"./dist/types/lsp/index.d.ts",import:"./src/lsp/index.ts"},"./lsp/*":{types:"./dist/types/lsp/*.d.ts",import:"./src/lsp/*.ts"},"./lsp/clients":{types:"./dist/types/lsp/clients/index.d.ts",import:"./src/lsp/clients/index.ts"},"./lsp/clients/*":{types:"./dist/types/lsp/clients/*.d.ts",import:"./src/lsp/clients/*.ts"},"./judgment":{types:"./dist/types/judgment/index.d.ts",import:"./src/judgment/index.ts"},"./markit":{types:"./dist/types/markit/index.d.ts",import:"./src/markit/index.ts"},"./markit/*":{types:"./dist/types/markit/*.d.ts",import:"./src/markit/*.ts"},"./mcp":{types:"./dist/types/mcp/index.d.ts",import:"./src/mcp/index.ts"},"./mcp/*":{types:"./dist/types/mcp/*.d.ts",import:"./src/mcp/*.ts"},"./mcp/transports":{types:"./dist/types/mcp/transports/index.d.ts",import:"./src/mcp/transports/index.ts"},"./mcp/transports/*":{types:"./dist/types/mcp/transports/*.d.ts",import:"./src/mcp/transports/*.ts"},"./memories":{types:"./dist/types/memories/index.d.ts",import:"./src/memories/index.ts"},"./memories/*":{types:"./dist/types/memories/*.d.ts",import:"./src/memories/*.ts"},"./memory-backend":{types:"./dist/types/memory-backend/index.d.ts",import:"./src/memory-backend/index.ts"},"./memory-backend/*":{types:"./dist/types/memory-backend/*.d.ts",import:"./src/memory-backend/*.ts"},"./hindsight":{types:"./dist/types/hindsight/index.d.ts",import:"./src/hindsight/index.ts"},"./hindsight/*":{types:"./dist/types/hindsight/*.d.ts",import:"./src/hindsight/*.ts"},"./modes":{types:"./dist/types/modes/index.d.ts",import:"./src/modes/index.ts"},"./modes/*":{types:"./dist/types/modes/*.d.ts",import:"./src/modes/*.ts"},"./modes/acp":{types:"./dist/types/modes/acp/index.d.ts",import:"./src/modes/acp/index.ts"},"./modes/acp/*":{types:"./dist/types/modes/acp/*.d.ts",import:"./src/modes/acp/*.ts"},"./modes/components":{types:"./dist/types/modes/components/index.d.ts",import:"./src/modes/components/index.ts"},"./modes/components/*":{types:"./dist/types/modes/components/*.d.ts",import:"./src/modes/components/*.ts"},"./modes/components/extensions/*":{types:"./dist/types/modes/components/extensions/*.d.ts",import:"./src/modes/components/extensions/*.ts"},"./modes/controllers/*":{types:"./dist/types/modes/controllers/*.d.ts",import:"./src/modes/controllers/*.ts"},"./modes/rpc/*":{types:"./dist/types/modes/rpc/*.d.ts",import:"./src/modes/rpc/*.ts"},"./modes/utils/*":{types:"./dist/types/modes/utils/*.d.ts",import:"./src/modes/utils/*.ts"},"./plan-mode/*":{types:"./dist/types/plan-mode/*.d.ts",import:"./src/plan-mode/*.ts"},"./registry/*":{types:"./dist/types/registry/*.d.ts",import:"./src/registry/*.ts"},"./secrets":{types:"./dist/types/secrets/index.d.ts",import:"./src/secrets/index.ts"},"./secrets/*":{types:"./dist/types/secrets/*.d.ts",import:"./src/secrets/*.ts"},"./session/*":{types:"./dist/types/session/*.d.ts",import:"./src/session/*.ts"},"./slash-commands/*":{types:"./dist/types/slash-commands/*.d.ts",import:"./src/slash-commands/*.ts"},"./ssh/*":{types:"./dist/types/ssh/*.d.ts",import:"./src/ssh/*.ts"},"./stt":{types:"./dist/types/stt/index.d.ts",import:"./src/stt/index.ts"},"./stt/*":{types:"./dist/types/stt/*.d.ts",import:"./src/stt/*.ts"},"./task":{types:"./dist/types/task/index.d.ts",import:"./src/task/index.ts"},"./task/*":{types:"./dist/types/task/*.d.ts",import:"./src/task/*.ts"},"./tools":{types:"./dist/types/tools/index.d.ts",import:"./src/tools/index.ts"},"./tools/jfind":{types:"./dist/types/tools/jfind/index.d.ts",import:"./src/tools/jfind/index.ts"},"./tools/jfind/*":{types:"./dist/types/tools/jfind/*.d.ts",import:"./src/tools/jfind/*.ts"},"./tools/*":{types:"./dist/types/tools/*.d.ts",import:"./src/tools/*.ts"},"./utils/*":{types:"./dist/types/utils/*.d.ts",import:"./src/utils/*.ts"},"./web/*":{types:"./dist/types/web/*.d.ts",import:"./src/web/*.ts"},"./web/scrapers":{types:"./dist/types/web/scrapers/index.d.ts",import:"./src/web/scrapers/index.ts"},"./web/scrapers/*":{types:"./dist/types/web/scrapers/*.d.ts",import:"./src/web/scrapers/*.ts"},"./web/search":{types:"./dist/types/web/search/index.d.ts",import:"./src/web/search/index.ts"},"./web/search/*":{types:"./dist/types/web/search/*.d.ts",import:"./src/web/search/*.ts"},"./web/search/providers/*":{types:"./dist/types/web/search/providers/*.d.ts",import:"./src/web/search/providers/*.ts"},"./prompts/*":"./src/prompts/*.md","./*.js":"./src/*.ts"},scripts:{build:"bun scripts/build-binary.ts",check:"oxlint . && oxfmt --check --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run check:types","check:types":"tsgo -p tsconfig.json --noEmit",lint:"oxlint .",test:"bun ../../scripts/ci-test-ts.ts coding-agent-heavy --full",fix:"oxlint --fix --fix-suggestions . && bun run fmt",fmt:"oxfmt --no-error-on-unmatched-pattern 'src/**/*.{ts,tsx}' '{test,bench,examples,scripts}/**/*.ts' '*.ts' && bun run format-prompts","format-prompts":"bun scripts/format-prompts.ts","gen:tool-views":"bun --cwd=../collab-web run gen:tool-views","gen:bundle":"bun scripts/bundle-dist.ts","gen:rpc":"bun scripts/gen-rpc/index.ts",prepack:"bun run gen:tool-views && bun run gen:bundle","bench:guard":"bun scripts/bench-guard.ts"},dependencies:{"@babel/parser":"^7.29.7","@oh-my-pi-zen/omp-stats":"18.13.3-zen.5","@oh-my-pi-zen/omptype":"18.13.3-zen.5","@oh-my-pi-zen/pi-agent-core":"18.13.3-zen.5","@oh-my-pi-zen/pi-ai":"18.13.3-zen.5","@oh-my-pi-zen/pi-catalog":"18.13.3-zen.5","@oh-my-pi-zen/pi-mnemopi":"18.13.3-zen.5","@oh-my-pi-zen/pi-natives":"18.13.3-zen.5","@oh-my-pi-zen/pi-tui":"18.13.3-zen.5","@oh-my-pi-zen/pi-utils":"18.13.3-zen.5","@oh-my-pi-zen/pi-wire":"18.13.3-zen.5","@oh-my-pi-zen/snapcompact":"18.13.3-zen.5","@opentelemetry/api":"^1.9.1","@opentelemetry/api-logs":"^0.220.0","@opentelemetry/context-async-hooks":"^2.9.0","@opentelemetry/exporter-logs-otlp-proto":"^0.220.0","@opentelemetry/exporter-metrics-otlp-proto":"^0.220.0","@opentelemetry/exporter-trace-otlp-proto":"^0.220.0","@opentelemetry/resources":"^2.9.0","@opentelemetry/sdk-logs":"^0.220.0","@opentelemetry/sdk-metrics":"^2.9.0","@opentelemetry/sdk-trace-base":"^2.9.0","@opentelemetry/sdk-trace-node":"^2.9.0","axe-core":"4.13.0","puppeteer-core":"25.3.0"},devDependencies:{"@types/bun":"^1.3.14"},optionalDependencies:{"@huggingface/transformers":"^4.2.0","sherpa-onnx-node":"1.13.2"},engines:{bun:">=1.4.4"}}});import*as Xwe from"fs";import*as Emr from"os";import*as e$e from"path";async function t$e(e,t,n){let r=Amr.get(e);if(r){if(qac(r))return r;Amr.delete(e)}let i=await Vac(e),o=Bun.hash(n).toString(36),s=e$e.join(i,`runner-${o}.${t}`);if(!Xwe.existsSync(s))await Bun.write(s,n);return Amr.set(e,s),s}function qac(e){if(process.getuid){let t=e$e.dirname(e);try{XFe(t,"Runner staging directory")}catch(n){if(n.code!=="ENOENT")G("Memoized runner staging dir rejected; re-staging",{dir:t,error:String(n)});return!1}}return Xwe.existsSync(e)}async function Vac(e){let t=process.getuid?.();if(t===void 0){let r=e$e.join(Emr.tmpdir(),e);return await Xwe.promises.mkdir(r,{recursive:!0}),r}let n=e$e.join(Emr.tmpdir(),`${e}-${t}`);try{return await Xwe.promises.mkdir(n,{recursive:!0,mode:448}),XFe(n,"Runner staging directory"),n}catch(r){return G("Runner staging dir unusable; staging in a fresh private dir",{dir:n,error:String(r)}),await Xwe.promises.mkdtemp(`${n}-`)}}var Amr;var Mnn=A(()=>{j();AQt();Amr=new Map});class Oht{#e=new Map;#t=new Map;#n;constructor(e){this.#n=e}observe(e,t){let{modelKey:n,status:r}=e;if(r==="ready"){this.#e.get(n)?.tracker?.done(),this.#e.delete(n),this.#t.set(n,"ready");return}if(r==="error"){let l=this.#e.get(n);if(!l&&this.#t.has(n))return;this.#e.delete(n),this.#t.set(n,"failed");let c=t?.split(`
7086
7086
  `,1)[0]||"model load failed";(l?.tracker??e2(this.#n(n))).fail(c);return}let i=this.#e.get(n);if(!i)i={startedAt:Date.now(),files:new Map},this.#e.set(n,i),this.#t.delete(n);if(e.file===void 0&&e.name!==void 0&&r!=="progress_total"){if(r==="done")return;this.#r(n,i,{detail:e.name.includes("@")?`installing ${e.name}`:"downloading"});return}if(e.file&&(r==="download"||r==="progress_total"&&!e.files))i.detail=e.file.slice(e.file.lastIndexOf("/")+1);if(r==="progress_total"){if(e.files)for(let l in e.files)i.files.set(l,e.files[l]);else if(e.loaded!==void 0&&e.total!==void 0)i.aggregate={loaded:e.loaded,total:e.total}}else if(r==="progress"&&e.file&&e.loaded!==void 0&&e.total!==void 0)i.files.set(e.file,{loaded:e.loaded,total:e.total});let o=0,s=0;if(i.aggregate)({loaded:o,total:s}=i.aggregate);else for(let l of i.files.values())o+=l.loaded,s+=l.total;if(!i.tracker){if(!(s>0&&o<s)||Date.now()-i.startedAt<Kac)return}let a=s>0?{loaded:o,total:s}:{};if(i.detail)a.detail=i.detail;this.#r(n,i,a)}#r(e,t,n){if(t.tracker)t.tracker.update(n);else t.tracker=e2(this.#n(e),n)}}var Kac=150;var Rmr=A(()=>{_6()});var Onn='You name coding-agent sessions. Write a 3-6 word title for the task in the next message.\n\nOutput exactly one line: the title inside `<title>` tags, or `<title/>` when there is no task to name.\n\nRules:\n- Name the user\'s goal as a short imperative phrase built from the user\'s own key words (the feature, component, or error they name). Avoid vague filler like "logic", "issues", "functionality".\n- `[Image #N, WxH]` marks an image you cannot see. Never mention it or guess what it shows; title the task the surrounding words name.\n- Answer `<title/>` for greetings, acknowledgements, gibberish, or requests too vague to name without context you cannot see ("help", "fix this", "what\'s wrong?").\n- A `<chat>` block summarizes a longer session: its first `<user>` turn is the opening request, followed by recent turns (often the assistant\'s working notes). Title the goal the session is working on, using the opening request unless later turns clearly moved to a new task; never title the current micro-step, and ignore file names and symbols unless they are the subject.\n- No quotes, trailing punctuation, or explanations.\n\nExamples:\n- "the retry queue drops jobs when redis restarts, can u look" \u2192 `<title>Fix retry queue dropping jobs</title>`\n- "can we get rid of the npm run build warning about peer deps" \u2192 `<title>Remove peer dependency build warning</title>`\n- `<chat>` with only assistant notes like "adding a backoff field to RetryPolicy\u2026 now wiring jitter into schedule()" \u2192 `<title>Add retry backoff with jitter</title>`\n';var xmr=()=>{};import*as gDo from"fs/promises";import*as Hq from"path";var{$:Nht}=globalThis.Bun;function Xac(){return Hq.join(Hq.dirname(jf()),"tiny-mlx-runtime",`mlx-lm-${$q}`)}function bDo(e){return Hq.join(jf(),"mlx",e.replace("/","--"))}function Lht(e){return Hq.join(e,"bin","python")}async function hDo(e){try{return(await Bun.file(Hq.join(e,yDo)).text()).trim()}catch(t){if(he(t))return null;throw t}}async function Qac(e,t){let n=await Nht`${e} venv --quiet --python ${Jac} ${t}`.quiet().nothrow();if(n.exitCode!==0)throw Error(`uv venv failed (exit ${n.exitCode}): ${n.stderr.toString().trim()}`);let r=Lht(t),i=await Nht`${e} pip install --quiet --python ${r} mlx-lm==${$q}`.quiet().nothrow();if(i.exitCode!==0)throw Error(`uv pip install failed (exit ${i.exitCode}): ${i.stderr.toString().trim()}`)}async function Zac(e,t){if((await Nht`${e} -c ${"import sys; sys.exit(0 if sys.version_info >= (3, 10) else 1)"}`.quiet().nothrow()).exitCode!==0)throw Error(`${e} is older than Python 3.10; install uv or a newer Python`);let r=await Nht`${e} -m venv ${t}`.quiet().nothrow();if(r.exitCode!==0)throw Error(`python3 -m venv failed (exit ${r.exitCode}): ${r.stderr.toString().trim()}`);let i=Lht(t),o=await Nht`${i} -m pip install --quiet --disable-pip-version-check mlx-lm==${$q}`.quiet().nothrow();if(o.exitCode!==0)throw Error(`pip install failed (exit ${o.exitCode}): ${o.stderr.toString().trim()}`)}async function wDo(e){let t=Xac();if(await hDo(t)===$q)return Lht(t);return e?.("initiate"),await gDo.mkdir(Hq.dirname(t),{recursive:!0}),yl(`${t}.install`,async()=>{if(await hDo(t)===$q)return Lht(t);e?.("download");let n=Wn("uv");if(n)await Qac(n,t);else{let r=Wn("python3")??Wn("python");if(!r)throw Error("MLX backend needs `uv` or `python3` (>= 3.10) on PATH to install mlx-lm");await Zac(r,t)}return await Bun.write(Hq.join(t,yDo),`${$q}
7087
7087
  `),e?.("done"),Lht(t)})}var $q="0.31.3",Jac=">=3.10,<3.14",yDo=".omp-mlx-lm";var SDo=A(()=>{j()});var kmr=`# MLX tiny-model worker: one process per local model, owning that model's
7088
7088
  # socket and speaking the same JSON-lines protocol as the ONNX worker
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oh-my-pi-zen/pi-coding-agent",
3
- "version": "18.13.3-zen.3",
3
+ "version": "18.13.3-zen.5",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "keywords": [
6
6
  "agent",
@@ -543,17 +543,17 @@
543
543
  },
544
544
  "dependencies": {
545
545
  "@babel/parser": "^7.29.7",
546
- "@oh-my-pi-zen/omp-stats": "18.13.3-zen.3",
547
- "@oh-my-pi-zen/omptype": "18.13.3-zen.3",
548
- "@oh-my-pi-zen/pi-agent-core": "18.13.3-zen.3",
549
- "@oh-my-pi-zen/pi-ai": "18.13.3-zen.3",
550
- "@oh-my-pi-zen/pi-catalog": "18.13.3-zen.3",
551
- "@oh-my-pi-zen/pi-mnemopi": "18.13.3-zen.3",
552
- "@oh-my-pi-zen/pi-natives": "18.13.3-zen.3",
553
- "@oh-my-pi-zen/pi-tui": "18.13.3-zen.3",
554
- "@oh-my-pi-zen/pi-utils": "18.13.3-zen.3",
555
- "@oh-my-pi-zen/pi-wire": "18.13.3-zen.3",
556
- "@oh-my-pi-zen/snapcompact": "18.13.3-zen.3",
546
+ "@oh-my-pi-zen/omp-stats": "18.13.3-zen.5",
547
+ "@oh-my-pi-zen/omptype": "18.13.3-zen.5",
548
+ "@oh-my-pi-zen/pi-agent-core": "18.13.3-zen.5",
549
+ "@oh-my-pi-zen/pi-ai": "18.13.3-zen.5",
550
+ "@oh-my-pi-zen/pi-catalog": "18.13.3-zen.5",
551
+ "@oh-my-pi-zen/pi-mnemopi": "18.13.3-zen.5",
552
+ "@oh-my-pi-zen/pi-natives": "18.13.3-zen.5",
553
+ "@oh-my-pi-zen/pi-tui": "18.13.3-zen.5",
554
+ "@oh-my-pi-zen/pi-utils": "18.13.3-zen.5",
555
+ "@oh-my-pi-zen/pi-wire": "18.13.3-zen.5",
556
+ "@oh-my-pi-zen/snapcompact": "18.13.3-zen.5",
557
557
  "@opentelemetry/api": "^1.9.1",
558
558
  "@opentelemetry/api-logs": "^0.220.0",
559
559
  "@opentelemetry/context-async-hooks": "^2.9.0",