@buckeyestudio/pi-coding-agent 18.4.13 → 18.4.14

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 (3) hide show
  1. package/dist/cli.js +4 -4
  2. package/package.json +31 -28
  3. package/src/cli.ts +0 -0
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
- var gpi=Object.create;var{getPrototypeOf:hpi,defineProperty:nOe,getOwnPropertyNames:ghn,getOwnPropertyDescriptor:ypi}=Object,K7t=Object.prototype.hasOwnProperty;function hhn(e){return this[e]}var Tpi,Rpi,qo=(e,t,s)=>{var n=e!=null&&typeof e==="object";if(n){var o=t?Tpi??=new WeakMap:Rpi??=new WeakMap,r=o.get(e);if(r)return r}s=e!=null?gpi(hpi(e)):{};let i=t||!e||!e.__esModule||!K7t.call(e,"default")?nOe(s,"default",{value:e,enumerable:!0}):s;if(e&&typeof e==="object"||typeof e==="function"){for(let a of ghn(e))if(!K7t.call(i,a))nOe(i,a,{get:hhn.bind(e,a),enumerable:!0})}if(n)o.set(e,i);return i},jI=(e)=>{var t=(mhn??=new WeakMap).get(e),s;if(t)return t;if(t=nOe({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var n of ghn(e))if(!K7t.call(t,n))nOe(t,n,{get:hhn.bind(e,n),enumerable:!(s=ypi(e,n))||s.enumerable})}return mhn.set(e,t),t},mhn,Ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Cpi=(e)=>e;function bpi(e,t){this[e]=Cpi.bind(null,t)}var O=(e,t)=>{for(var s in t)nOe(e,s,{get:t[s],enumerable:!0,configurable:!0,set:bpi.bind(t,s)})};var k=(e,t,s)=>()=>{if(e)try{t=e(e=0)}catch(n){s=[n]}if(s)throw s[0];return t};var Lf=import.meta.require;var Rhn="18.4.13",Chn;var Thn=k(()=>{Chn={bun:">=1.3.14"}});function $p(e){return e instanceof Error&&"code"in e&&typeof e.code==="string"}function ge(e){return $p(e)&&e.code==="ENOENT"}function tU(e){return $p(e)&&e.code==="EACCES"}function V7t(e){return $p(e)&&e.code==="EISDIR"}function iT(e){return $p(e)&&e.code==="ENOTDIR"}function aT(e){return $p(e)&&e.code==="EEXIST"}function Y7t(e){return $p(e)&&e.code==="ENOTEMPTY"}function ma(e,t){return $p(e)&&e.code===t}import*as xo from"fs";import*as sU from"os";import*as an from"path";import{expandWindowsLongPath as kpi}from"@buckeyestudio/pi-natives/path";function Zj(e){let t=e?.trim();if(!t||t==="default")return;if(t==="."||t===".."||t.endsWith(".")||!bhn.test(t)||wpi.test(t))throw Error(`Invalid OMP profile "${e}". Profile names must match ${bhn.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 qrt(e,t){return Zj(e!==void 0?e:t)}function Spi(){return qrt(process.env.OMP_PROFILE,process.env.PI_PROFILE)}function Shn(){try{return Spi()}catch{return}}function qY(){return an.join(sU.homedir(),vE())}function Q7t(e){let t=qY();return e?an.join(t,"profiles",e):t}function Urt(){try{return Zj(process.env.PI_PROFILE)}catch{return}}function xpi(e){return an.join(Q7t(e),"agent")}function vpi(e,t){return e!==void 0&&t===xpi(e)}function Epi(e){if(process.platform!=="darwin"||!e.startsWith("/private/"))return e;let t=e.slice(8);try{if(xo.realpathSync(e)===xo.realpathSync(t))return t}catch{}return e}function xhn(e){return process.platform==="win32"?kpi(e):Epi(e)}function cce(e){let t=an.resolve(e);try{return xo.realpathSync(t)}catch{return t}}function ta(e){let t=cce(e);return process.platform==="win32"?t.toLowerCase():t}function dce(e,t){let s=an.relative(e,t);if(s!==""&&(s.startsWith("..")||an.isAbsolute(s)))return null;return s}function uT(e,t){let s=ta(e),n=ta(t);return dce(s,n)!==null}function Hrt(e,t){let s=ta(e),n=ta(t);return dce(s,n)||null}function Je(){if(oOe===void 0){let e;try{e=process.cwd()}catch{let t=[process.env.PWD,sU.homedir(),sU.tmpdir()];for(let s of t){if(!s||!an.isAbsolute(s))continue;try{process.chdir(s),e=s;break}catch{}}if(e===void 0)throw Error("Unable to determine an accessible working directory")}oOe=xhn(e)}return oOe}function LR(e){let t=xhn(an.resolve(e));process.chdir(t),oOe=t}function Api(){oOe=void 0}async function X7t(e){try{return!(await xo.promises.stat(e)).isDirectory()}catch(t){return ge(t)||iT(t)}}async function fce(e){try{return(await xo.promises.stat(e)).isDirectory()}catch{return!1}}async function mce(e){try{let[t]=await Promise.all([xo.promises.stat(e),xo.promises.access(e,xo.constants.X_OK)]);return t.isDirectory()}catch{return!1}}function Brt(e){try{return xo.accessSync(e,xo.constants.X_OK),xo.statSync(e).isDirectory()}catch{return!1}}function UY(){try{let e=Je();if(Brt(e))return e}catch{}return sU.homedir()}function vE(){return process.env.PI_CONFIG_DIR||Hb}function Z7t(){let e=Wb();return e?an.join(vE(),"profiles",e,"agent"):`${vE()}/agent`}class pce{configRoot;agentDir;#e;#t;#s;#n=new Map;#o=new Map;constructor(e={}){let t=Zj(e.profile);this.configRoot=Q7t(t);let s=an.join(this.configRoot,"agent"),n=t?void 0:e.agentDirOverride;this.agentDir=n?an.resolve(n):s;let o=this.agentDir===s,r,i,a,l=process.platform==="linux"||process.platform==="darwin";if(l&&o){let c=(d)=>{let f=process.env[d];if(!f)return;try{let m=an.join(f,rt);if(t){let g=an.join(m,"profiles",t);if(xo.existsSync(g))return g;return}return xo.existsSync(m)?m:void 0}catch{}return};r=c("XDG_DATA_HOME"),i=c("XDG_STATE_HOME"),a=c("XDG_CACHE_HOME")}let u=(c)=>{if(!l)return;let d=process.env[c];if(!d)return;try{let f=an.join(d,rt);return xo.existsSync(f)?f:void 0}catch{}return};this.#e={data:r??this.configRoot,state:i??this.configRoot,cache:a??this.configRoot},this.#t={data:r??this.agentDir,state:i??this.agentDir,cache:a??this.agentDir};let p=qY();this.#s={data:u("XDG_DATA_HOME")??p,state:u("XDG_STATE_HOME")??p,cache:u("XDG_CACHE_HOME")??p}}baseRootSubdir(e,t){return an.join(t?this.#s[t]:qY(),e)}rootSubdir(e,t){let s=this.#n.get(e);if(s)return s;let n=t?this.#e[t]:this.configRoot,o=an.join(n,e);return this.#n.set(e,o),o}agentSubdir(e,t,s){if(!e||e===this.agentDir){let n=this.#o.get(t);if(n)return n;let o=s?this.#t[s]:this.agentDir,r=an.join(o,t);return this.#o.set(t,r),r}return an.join(e,t)}}function Wrt(e,t,s=e){return vpi(e??s,t)?void 0:t}function vhn(){return lT?void 0:Wrt(void 0,process.env.PI_CODING_AGENT_DIR,Urt())}function Grt(){In=new pce({agentDirOverride:vhn(),profile:lT})}function qR(){return In.configRoot}function Ipi(e){lT=void 0,In=new pce({agentDirOverride:e}),process.env.PI_CODING_AGENT_DIR=e,uce=e;for(let t of whn)delete process.env[t]}function Ehn(){uce=Wrt(lT,process.env.PI_CODING_AGENT_DIR,lT??Urt())}function Ppi(){lT=Shn(),Ehn(),Grt()}function jrt(e){let t=Zj(e);if(t&&!lT)uce=Wrt(void 0,process.env.PI_CODING_AGENT_DIR,Urt());if(lT=t,lT)In=new pce({profile:lT}),process.env.OMP_PROFILE=lT,process.env.PI_PROFILE=lT,process.env.PI_CODING_AGENT_DIR=In.agentDir;else{for(let s of whn)delete process.env[s];if(uce===void 0)delete process.env.PI_CODING_AGENT_DIR;else process.env.PI_CODING_AGENT_DIR=uce;In=new pce({agentDirOverride:uce})}}function Wb(){return lT}function eYt(e){return Q7t(Zj(e))}function ps(){return In.agentDir}function SS(e=Je()){return an.join(e,Hb)}function iOe(){return In.rootSubdir("reports","state")}function nU(){return In.rootSubdir("logs","state")}function oU(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function e5(e=new Date,t=process.pid){return an.join(nU(),`${rt}.${oU(e)}.${t}.log`)}function tu(e){if(e!==void 0&&e!==Mpi)return an.join(e,vE(),"plugins");return In.rootSubdir("plugins","data")}function Dm(e){return an.join(tu(e),"node_modules")}function zF(e){return an.join(tu(e),"package.json")}function gce(e){return an.join(tu(e),"omp-plugins.lock.json")}function aOe(){return In.rootSubdir("remote","data")}function Ahn(e){let t=e?.trim();if(!t)return;let s=t;if(s==="~")s=sU.homedir();else if(s.startsWith("~/")||s.startsWith("~\\"))s=sU.homedir()+s.slice(1);return an.isAbsolute(s)?an.normalize(s):void 0}function tYt(e){return J7t=Ahn(e),J7t}function lOe(){return Ahn(process.env.OMP_WORKTREE_DIR)??J7t??In.rootSubdir("wt","data")}function sYt(){return In.rootSubdir("ssh-control","state")}function nYt(){return In.rootSubdir("remote-host","data")}function uOe(){return In.rootSubdir("python-env","data")}function Opi(){return In.agentSubdir(void 0,"python-gateway","state")}function HY(){return In.rootSubdir("puppeteer","cache")}function oYt(){return In.rootSubdir("browser-relay","data")}function rYt(){return In.rootSubdir("browser-profiles","state")}function iYt(){return In.rootSubdir("webcache","cache")}function aYt(){return In.rootSubdir("autoqa.db","data")}function rU(e){return Bun.hash(an.resolve(e)).toString(16).padStart(16,"0").slice(-7)}function BY(e){return an.join(lOe(),e)}function $rt(){let e=process.env.OMP_GITHUB_CACHE_DB;if(e)return e;return In.rootSubdir(an.join("cache","github-cache.db"),"cache")}function lYt(){let e=process.env.OMP_COMMIT_CACHE_DB;if(e)return e;return In.rootSubdir(an.join("cache","commit-inference.db"),"cache")}function uYt(){let e=process.env.OMP_JUDGMENT_CACHE_DB;if(e)return e;return In.rootSubdir(an.join("cache","judgment-cache.db"),"cache")}function pYt(){return In.rootSubdir(an.join("cache","legacy-pi-extension-cache.db"),"cache")}function cYt(){let e=process.env.OMP_AUTH_BROKER_SNAPSHOT_CACHE;if(e)return e;return In.rootSubdir(an.join("cache","auth-broker-snapshot.enc"),"cache")}function dYt(){return In.rootSubdir(an.join("cache","avatars"),"cache")}function t5(){return In.rootSubdir(an.join("cache","fastembed"),"cache")}function fYt(){return In.rootSubdir(an.join("cache","fastembed-runtime"),"cache")}function Fpi(){return In.rootSubdir("natives","cache")}function xS(){return In.rootSubdir("stats.db","data")}function mYt(){return In.rootSubdir("autoresearch","state")}function zrt(e){return an.join(mYt(),e)}function gYt(e){return an.join(mYt(),`${e}.db`)}function _pi(e,t){return an.join(zrt(e),"runs",String(t).padStart(4,"0"))}function Mhn(){return In.rootSubdir("security","state")}function hYt(e){return an.join(Mhn(),e)}function rr(e){return In.agentSubdir(e,"agent.db","data")}function hce(e){return In.agentSubdir(e,"last-changelog-version","state")}function KF(e){return In.agentSubdir(e,"history.db","data")}function iU(e){return In.agentSubdir(e,"models.db","data")}function dd(e){return In.agentSubdir(e,an.join("cache","tiny-models"),"cache")}function Krt(e){return In.agentSubdir(e,an.join("cache","document-conversions"),"cache")}function yYt(e){return In.agentSubdir(e,an.join("cache","composer.db"),"cache")}function TYt(e){return In.agentSubdir(e,"skill-descriptions.db","data")}function RYt(e,t){let s=an.join("predict",t),n=In.agentSubdir(e,s,"data");return qpi(an.join(e??In.agentDir,s),n),n}function Tp(e){return In.agentSubdir(e,"sessions","data")}function Gb(e){return In.agentSubdir(e,"blobs","data")}function aU(e){return In.agentSubdir(e,"themes")}function CYt(e){return In.agentSubdir(e,"tools")}function Dpi(e){return In.agentSubdir(e,"commands")}function bYt(e){return In.agentSubdir(e,"prompts")}function Npi(e){return In.agentSubdir(e,"modules")}function WY(e){return In.agentSubdir(e,"memories","state")}function GY(e){return In.agentSubdir(e,"terminal-sessions","state")}function yce(e){return In.agentSubdir(e,"custom-session-files","state")}function Lpi(e){return In.agentSubdir(e,"omp-crash.log","state")}function kYt(e){return In.agentSubdir(e,`${rt}-debug.log`,"state")}function Ihn(e,t){if(t===e)return;try{if(xo.existsSync(t)||!xo.existsSync(e))return;xo.mkdirSync(an.dirname(t),{recursive:!0}),xo.copyFileSync(e,t,xo.constants.COPYFILE_EXCL)}catch{}}function qpi(e,t){if(t===e)return;let s=`${t}.adopt-${process.pid}`;try{if(xo.existsSync(t)||!xo.statSync(e,{throwIfNoEntry:!1})?.isDirectory())return;xo.mkdirSync(an.dirname(t),{recursive:!0}),xo.rmSync(s,{recursive:!0,force:!0}),xo.cpSync(e,s,{recursive:!0}),xo.renameSync(s,t)}catch{xo.rmSync(s,{recursive:!0,force:!0})}}function pOe(){let e=In.agentSubdir(void 0,"secret-placeholder.key","state");return Ihn(an.join(In.agentDir,"secret-placeholder.key"),e),e}function cOe(){return In.rootSubdir(an.join("run","tiny"),"state")}function dOe(){return In.rootSubdir(an.join("run","daemons"),"state")}function zp(e){let t=Bun.hash.wyhash(an.resolve(e)).toString(16).padStart(16,"0");return an.join(dOe(),t)}function fOe(){return In.baseRootSubdir(an.join("run","daemons","global"),"state")}function mOe(e){if(!/^[a-z0-9][a-z0-9._-]*$/i.test(e))throw Error(`Invalid global daemon service name: ${JSON.stringify(e)}`);return an.join(fOe(),e)}function wYt(){return In.rootSubdir(an.join("run","provider-inflight"),"state")}function _g(){let e=In.rootSubdir("marketplaces.json","data");return Ihn(an.join(In.configRoot,"marketplaces.json"),e),e}function Upi(e=Je()){return an.join(SS(e),"modules")}function SYt(e=Je()){return an.join(SS(e),"prompts")}function xYt(e=Je()){return an.join(SS(e),"plugin-overrides.json")}function Ui(e,t=Je()){if(e==="user")return an.join(ps(),"mcp.json");return an.join(SS(t),"mcp.json")}function Nm(e,t=Je()){if(e==="user")return an.join(ps(),"ssh.json");return an.join(SS(t),"ssh.json")}function gOe(){let e=process.env.OMP_APP_NAME?.trim();return e?e:"omp"}function Lm(){if(lce)return lce;let e=an.join(qY(),Hpi),t=!1;try{let n=xo.readFileSync(e,"utf8").trim();if(khn.test(n))return lce=n,n;t=n.length>0}catch{}let s=crypto.randomUUID();try{if(xo.mkdirSync(an.dirname(e),{recursive:!0}),t)try{xo.unlinkSync(e)}catch{}let n=xo.openSync(e,xo.constants.O_WRONLY|xo.constants.O_CREAT|xo.constants.O_EXCL,384);try{xo.writeSync(n,`${s}
3
+ var gpi=Object.create;var{getPrototypeOf:hpi,defineProperty:nOe,getOwnPropertyNames:ghn,getOwnPropertyDescriptor:ypi}=Object,K7t=Object.prototype.hasOwnProperty;function hhn(e){return this[e]}var Tpi,Rpi,qo=(e,t,s)=>{var n=e!=null&&typeof e==="object";if(n){var o=t?Tpi??=new WeakMap:Rpi??=new WeakMap,r=o.get(e);if(r)return r}s=e!=null?gpi(hpi(e)):{};let i=t||!e||!e.__esModule||!K7t.call(e,"default")?nOe(s,"default",{value:e,enumerable:!0}):s;if(e&&typeof e==="object"||typeof e==="function"){for(let a of ghn(e))if(!K7t.call(i,a))nOe(i,a,{get:hhn.bind(e,a),enumerable:!0})}if(n)o.set(e,i);return i},jI=(e)=>{var t=(mhn??=new WeakMap).get(e),s;if(t)return t;if(t=nOe({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var n of ghn(e))if(!K7t.call(t,n))nOe(t,n,{get:hhn.bind(e,n),enumerable:!(s=ypi(e,n))||s.enumerable})}return mhn.set(e,t),t},mhn,Ke=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Cpi=(e)=>e;function bpi(e,t){this[e]=Cpi.bind(null,t)}var O=(e,t)=>{for(var s in t)nOe(e,s,{get:t[s],enumerable:!0,configurable:!0,set:bpi.bind(t,s)})};var k=(e,t,s)=>()=>{if(e)try{t=e(e=0)}catch(n){s=[n]}if(s)throw s[0];return t};var Lf=import.meta.require;var Rhn="18.4.14",Chn;var Thn=k(()=>{Chn={bun:">=1.3.14"}});function $p(e){return e instanceof Error&&"code"in e&&typeof e.code==="string"}function ge(e){return $p(e)&&e.code==="ENOENT"}function tU(e){return $p(e)&&e.code==="EACCES"}function V7t(e){return $p(e)&&e.code==="EISDIR"}function iT(e){return $p(e)&&e.code==="ENOTDIR"}function aT(e){return $p(e)&&e.code==="EEXIST"}function Y7t(e){return $p(e)&&e.code==="ENOTEMPTY"}function ma(e,t){return $p(e)&&e.code===t}import*as xo from"fs";import*as sU from"os";import*as an from"path";import{expandWindowsLongPath as kpi}from"@buckeyestudio/pi-natives/path";function Zj(e){let t=e?.trim();if(!t||t==="default")return;if(t==="."||t===".."||t.endsWith(".")||!bhn.test(t)||wpi.test(t))throw Error(`Invalid OMP profile "${e}". Profile names must match ${bhn.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 qrt(e,t){return Zj(e!==void 0?e:t)}function Spi(){return qrt(process.env.OMP_PROFILE,process.env.PI_PROFILE)}function Shn(){try{return Spi()}catch{return}}function qY(){return an.join(sU.homedir(),vE())}function Q7t(e){let t=qY();return e?an.join(t,"profiles",e):t}function Urt(){try{return Zj(process.env.PI_PROFILE)}catch{return}}function xpi(e){return an.join(Q7t(e),"agent")}function vpi(e,t){return e!==void 0&&t===xpi(e)}function Epi(e){if(process.platform!=="darwin"||!e.startsWith("/private/"))return e;let t=e.slice(8);try{if(xo.realpathSync(e)===xo.realpathSync(t))return t}catch{}return e}function xhn(e){return process.platform==="win32"?kpi(e):Epi(e)}function cce(e){let t=an.resolve(e);try{return xo.realpathSync(t)}catch{return t}}function ta(e){let t=cce(e);return process.platform==="win32"?t.toLowerCase():t}function dce(e,t){let s=an.relative(e,t);if(s!==""&&(s.startsWith("..")||an.isAbsolute(s)))return null;return s}function uT(e,t){let s=ta(e),n=ta(t);return dce(s,n)!==null}function Hrt(e,t){let s=ta(e),n=ta(t);return dce(s,n)||null}function Je(){if(oOe===void 0){let e;try{e=process.cwd()}catch{let t=[process.env.PWD,sU.homedir(),sU.tmpdir()];for(let s of t){if(!s||!an.isAbsolute(s))continue;try{process.chdir(s),e=s;break}catch{}}if(e===void 0)throw Error("Unable to determine an accessible working directory")}oOe=xhn(e)}return oOe}function LR(e){let t=xhn(an.resolve(e));process.chdir(t),oOe=t}function Api(){oOe=void 0}async function X7t(e){try{return!(await xo.promises.stat(e)).isDirectory()}catch(t){return ge(t)||iT(t)}}async function fce(e){try{return(await xo.promises.stat(e)).isDirectory()}catch{return!1}}async function mce(e){try{let[t]=await Promise.all([xo.promises.stat(e),xo.promises.access(e,xo.constants.X_OK)]);return t.isDirectory()}catch{return!1}}function Brt(e){try{return xo.accessSync(e,xo.constants.X_OK),xo.statSync(e).isDirectory()}catch{return!1}}function UY(){try{let e=Je();if(Brt(e))return e}catch{}return sU.homedir()}function vE(){return process.env.PI_CONFIG_DIR||Hb}function Z7t(){let e=Wb();return e?an.join(vE(),"profiles",e,"agent"):`${vE()}/agent`}class pce{configRoot;agentDir;#e;#t;#s;#n=new Map;#o=new Map;constructor(e={}){let t=Zj(e.profile);this.configRoot=Q7t(t);let s=an.join(this.configRoot,"agent"),n=t?void 0:e.agentDirOverride;this.agentDir=n?an.resolve(n):s;let o=this.agentDir===s,r,i,a,l=process.platform==="linux"||process.platform==="darwin";if(l&&o){let c=(d)=>{let f=process.env[d];if(!f)return;try{let m=an.join(f,rt);if(t){let g=an.join(m,"profiles",t);if(xo.existsSync(g))return g;return}return xo.existsSync(m)?m:void 0}catch{}return};r=c("XDG_DATA_HOME"),i=c("XDG_STATE_HOME"),a=c("XDG_CACHE_HOME")}let u=(c)=>{if(!l)return;let d=process.env[c];if(!d)return;try{let f=an.join(d,rt);return xo.existsSync(f)?f:void 0}catch{}return};this.#e={data:r??this.configRoot,state:i??this.configRoot,cache:a??this.configRoot},this.#t={data:r??this.agentDir,state:i??this.agentDir,cache:a??this.agentDir};let p=qY();this.#s={data:u("XDG_DATA_HOME")??p,state:u("XDG_STATE_HOME")??p,cache:u("XDG_CACHE_HOME")??p}}baseRootSubdir(e,t){return an.join(t?this.#s[t]:qY(),e)}rootSubdir(e,t){let s=this.#n.get(e);if(s)return s;let n=t?this.#e[t]:this.configRoot,o=an.join(n,e);return this.#n.set(e,o),o}agentSubdir(e,t,s){if(!e||e===this.agentDir){let n=this.#o.get(t);if(n)return n;let o=s?this.#t[s]:this.agentDir,r=an.join(o,t);return this.#o.set(t,r),r}return an.join(e,t)}}function Wrt(e,t,s=e){return vpi(e??s,t)?void 0:t}function vhn(){return lT?void 0:Wrt(void 0,process.env.PI_CODING_AGENT_DIR,Urt())}function Grt(){In=new pce({agentDirOverride:vhn(),profile:lT})}function qR(){return In.configRoot}function Ipi(e){lT=void 0,In=new pce({agentDirOverride:e}),process.env.PI_CODING_AGENT_DIR=e,uce=e;for(let t of whn)delete process.env[t]}function Ehn(){uce=Wrt(lT,process.env.PI_CODING_AGENT_DIR,lT??Urt())}function Ppi(){lT=Shn(),Ehn(),Grt()}function jrt(e){let t=Zj(e);if(t&&!lT)uce=Wrt(void 0,process.env.PI_CODING_AGENT_DIR,Urt());if(lT=t,lT)In=new pce({profile:lT}),process.env.OMP_PROFILE=lT,process.env.PI_PROFILE=lT,process.env.PI_CODING_AGENT_DIR=In.agentDir;else{for(let s of whn)delete process.env[s];if(uce===void 0)delete process.env.PI_CODING_AGENT_DIR;else process.env.PI_CODING_AGENT_DIR=uce;In=new pce({agentDirOverride:uce})}}function Wb(){return lT}function eYt(e){return Q7t(Zj(e))}function ps(){return In.agentDir}function SS(e=Je()){return an.join(e,Hb)}function iOe(){return In.rootSubdir("reports","state")}function nU(){return In.rootSubdir("logs","state")}function oU(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function e5(e=new Date,t=process.pid){return an.join(nU(),`${rt}.${oU(e)}.${t}.log`)}function tu(e){if(e!==void 0&&e!==Mpi)return an.join(e,vE(),"plugins");return In.rootSubdir("plugins","data")}function Dm(e){return an.join(tu(e),"node_modules")}function zF(e){return an.join(tu(e),"package.json")}function gce(e){return an.join(tu(e),"omp-plugins.lock.json")}function aOe(){return In.rootSubdir("remote","data")}function Ahn(e){let t=e?.trim();if(!t)return;let s=t;if(s==="~")s=sU.homedir();else if(s.startsWith("~/")||s.startsWith("~\\"))s=sU.homedir()+s.slice(1);return an.isAbsolute(s)?an.normalize(s):void 0}function tYt(e){return J7t=Ahn(e),J7t}function lOe(){return Ahn(process.env.OMP_WORKTREE_DIR)??J7t??In.rootSubdir("wt","data")}function sYt(){return In.rootSubdir("ssh-control","state")}function nYt(){return In.rootSubdir("remote-host","data")}function uOe(){return In.rootSubdir("python-env","data")}function Opi(){return In.agentSubdir(void 0,"python-gateway","state")}function HY(){return In.rootSubdir("puppeteer","cache")}function oYt(){return In.rootSubdir("browser-relay","data")}function rYt(){return In.rootSubdir("browser-profiles","state")}function iYt(){return In.rootSubdir("webcache","cache")}function aYt(){return In.rootSubdir("autoqa.db","data")}function rU(e){return Bun.hash(an.resolve(e)).toString(16).padStart(16,"0").slice(-7)}function BY(e){return an.join(lOe(),e)}function $rt(){let e=process.env.OMP_GITHUB_CACHE_DB;if(e)return e;return In.rootSubdir(an.join("cache","github-cache.db"),"cache")}function lYt(){let e=process.env.OMP_COMMIT_CACHE_DB;if(e)return e;return In.rootSubdir(an.join("cache","commit-inference.db"),"cache")}function uYt(){let e=process.env.OMP_JUDGMENT_CACHE_DB;if(e)return e;return In.rootSubdir(an.join("cache","judgment-cache.db"),"cache")}function pYt(){return In.rootSubdir(an.join("cache","legacy-pi-extension-cache.db"),"cache")}function cYt(){let e=process.env.OMP_AUTH_BROKER_SNAPSHOT_CACHE;if(e)return e;return In.rootSubdir(an.join("cache","auth-broker-snapshot.enc"),"cache")}function dYt(){return In.rootSubdir(an.join("cache","avatars"),"cache")}function t5(){return In.rootSubdir(an.join("cache","fastembed"),"cache")}function fYt(){return In.rootSubdir(an.join("cache","fastembed-runtime"),"cache")}function Fpi(){return In.rootSubdir("natives","cache")}function xS(){return In.rootSubdir("stats.db","data")}function mYt(){return In.rootSubdir("autoresearch","state")}function zrt(e){return an.join(mYt(),e)}function gYt(e){return an.join(mYt(),`${e}.db`)}function _pi(e,t){return an.join(zrt(e),"runs",String(t).padStart(4,"0"))}function Mhn(){return In.rootSubdir("security","state")}function hYt(e){return an.join(Mhn(),e)}function rr(e){return In.agentSubdir(e,"agent.db","data")}function hce(e){return In.agentSubdir(e,"last-changelog-version","state")}function KF(e){return In.agentSubdir(e,"history.db","data")}function iU(e){return In.agentSubdir(e,"models.db","data")}function dd(e){return In.agentSubdir(e,an.join("cache","tiny-models"),"cache")}function Krt(e){return In.agentSubdir(e,an.join("cache","document-conversions"),"cache")}function yYt(e){return In.agentSubdir(e,an.join("cache","composer.db"),"cache")}function TYt(e){return In.agentSubdir(e,"skill-descriptions.db","data")}function RYt(e,t){let s=an.join("predict",t),n=In.agentSubdir(e,s,"data");return qpi(an.join(e??In.agentDir,s),n),n}function Tp(e){return In.agentSubdir(e,"sessions","data")}function Gb(e){return In.agentSubdir(e,"blobs","data")}function aU(e){return In.agentSubdir(e,"themes")}function CYt(e){return In.agentSubdir(e,"tools")}function Dpi(e){return In.agentSubdir(e,"commands")}function bYt(e){return In.agentSubdir(e,"prompts")}function Npi(e){return In.agentSubdir(e,"modules")}function WY(e){return In.agentSubdir(e,"memories","state")}function GY(e){return In.agentSubdir(e,"terminal-sessions","state")}function yce(e){return In.agentSubdir(e,"custom-session-files","state")}function Lpi(e){return In.agentSubdir(e,"omp-crash.log","state")}function kYt(e){return In.agentSubdir(e,`${rt}-debug.log`,"state")}function Ihn(e,t){if(t===e)return;try{if(xo.existsSync(t)||!xo.existsSync(e))return;xo.mkdirSync(an.dirname(t),{recursive:!0}),xo.copyFileSync(e,t,xo.constants.COPYFILE_EXCL)}catch{}}function qpi(e,t){if(t===e)return;let s=`${t}.adopt-${process.pid}`;try{if(xo.existsSync(t)||!xo.statSync(e,{throwIfNoEntry:!1})?.isDirectory())return;xo.mkdirSync(an.dirname(t),{recursive:!0}),xo.rmSync(s,{recursive:!0,force:!0}),xo.cpSync(e,s,{recursive:!0}),xo.renameSync(s,t)}catch{xo.rmSync(s,{recursive:!0,force:!0})}}function pOe(){let e=In.agentSubdir(void 0,"secret-placeholder.key","state");return Ihn(an.join(In.agentDir,"secret-placeholder.key"),e),e}function cOe(){return In.rootSubdir(an.join("run","tiny"),"state")}function dOe(){return In.rootSubdir(an.join("run","daemons"),"state")}function zp(e){let t=Bun.hash.wyhash(an.resolve(e)).toString(16).padStart(16,"0");return an.join(dOe(),t)}function fOe(){return In.baseRootSubdir(an.join("run","daemons","global"),"state")}function mOe(e){if(!/^[a-z0-9][a-z0-9._-]*$/i.test(e))throw Error(`Invalid global daemon service name: ${JSON.stringify(e)}`);return an.join(fOe(),e)}function wYt(){return In.rootSubdir(an.join("run","provider-inflight"),"state")}function _g(){let e=In.rootSubdir("marketplaces.json","data");return Ihn(an.join(In.configRoot,"marketplaces.json"),e),e}function Upi(e=Je()){return an.join(SS(e),"modules")}function SYt(e=Je()){return an.join(SS(e),"prompts")}function xYt(e=Je()){return an.join(SS(e),"plugin-overrides.json")}function Ui(e,t=Je()){if(e==="user")return an.join(ps(),"mcp.json");return an.join(SS(t),"mcp.json")}function Nm(e,t=Je()){if(e==="user")return an.join(ps(),"ssh.json");return an.join(SS(t),"ssh.json")}function gOe(){let e=process.env.OMP_APP_NAME?.trim();return e?e:"omp"}function Lm(){if(lce)return lce;let e=an.join(qY(),Hpi),t=!1;try{let n=xo.readFileSync(e,"utf8").trim();if(khn.test(n))return lce=n,n;t=n.length>0}catch{}let s=crypto.randomUUID();try{if(xo.mkdirSync(an.dirname(e),{recursive:!0}),t)try{xo.unlinkSync(e)}catch{}let n=xo.openSync(e,xo.constants.O_WRONLY|xo.constants.O_CREAT|xo.constants.O_EXCL,384);try{xo.writeSync(n,`${s}
4
4
  `)}finally{xo.closeSync(n)}}catch(n){if(n.code==="EEXIST")try{let o=xo.readFileSync(e,"utf8").trim();if(khn.test(o))return lce=o,o}catch{}}return lce=s,s}function Bpi(){lce=null}var rt="omp",rOe="https://omp.sh/",Hb=".omp",Bb,hr,eo,Lrt,bhn,whn,wpi,oOe,lT,In,uce,Mpi,J7t,lce=null,Hpi="install-id",khn;var sl=k(()=>{Thn();Bb=["config.yml","config.yaml"],hr=Rhn,eo=`omp/${hr}`,Lrt=Chn.bun.replace(/[^0-9.]/g,""),bhn=/^[a-z0-9][a-z0-9._-]{0,63}$/,whn=["OMP_PROFILE","PI_PROFILE"],wpi=/^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;lT=Shn();In=new pce({agentDirOverride:vhn(),profile:lT}),uce=Wrt(lT,process.env.PI_CODING_AGENT_DIR,lT??Urt()),Mpi=sU.homedir();khn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i});import*as Tce from"path";function hOe(e){let t=Tce.win32.normalize(e.trim()),s=Wpi.exec(t);if(!s)return;let[,n,o]=s,r=o.split("\\").filter(Boolean);return Tce.posix.join("/mnt",n.toLowerCase(),...r)}function vS(e,t=process.platform){if(t!=="win32")return e;let s=jpi.exec(e)??Vpi.exec(e);if(s)return`\\\\${s[1]}\\${s[2]}`;let n=Gpi.exec(e)??Kpi.exec(e);if(n)return n[1];let o=zpi.exec(e);if(o)return`//${o[1]}/${o[2]}`;let r=$pi.exec(e);if(r)return r[1];return e}function Rce(e,t=process.platform){if(!(t==="win32"?Tce.win32:Tce.posix).isAbsolute(e))return!1;if(t==="win32")return/^[a-zA-Z]:[/\\]/.test(e)||/^[\\/]{2}[^\\/]/.test(e);return!0}var Wpi,Gpi,jpi,$pi,zpi,Kpi,Vpi;var Vrt=k(()=>{Wpi=/^([A-Za-z]):[\\/](.*)$/;Gpi=/^\\\\[?]\\([A-Za-z]:[\\/].*)$/,jpi=/^\\\\[?]\\UNC[\\/]([^\\/]+)[\\/](.+)$/i,$pi=/^\/\/[?]\/([A-Za-z]:\/.*)$/,zpi=/^\/\/[?]\/UNC\/([^/]+)\/(.+)$/i,Kpi=/^\\\\[?][?]\\([A-Za-z]:[\\/].*)$/,Vpi=/^\\\\[?][?]\\UNC[\\/]([^\\/]+)[\\/](.+)$/i});function yOe(e){return e?.startsWith(Phn)??!1}function EYt(){Ohn=vS(Bun.main)}function Hh(){return Ohn}function Cce(e){let t=[],s=null;e.on("message",(o)=>{if(s)s(o);else t.push(o)});let n={bind(o){s=o;for(let r of t)o(r);return t.length=0,()=>{if(s===o)s=null}}};return vYt=n,n}function lU(){let e=vYt;return vYt=null,e}var Phn="__omp_worker_",Ohn=null,vYt=null;var uU=k(()=>{Vrt()});var MYt={};O(MYt,{acpHelp:()=>TOe,agentsHelp:()=>ROe,authBrokerHelp:()=>COe,authGatewayHelp:()=>bOe,benchHelp:()=>kOe,browserRelayHelp:()=>AYt,cleanseHelp:()=>wOe,clipHelp:()=>xOe,collabHelp:()=>SOe,commitHelp:()=>vOe,completeHelp:()=>AOe,completionsHelp:()=>EOe,compressHelp:()=>MOe,configHelp:()=>IOe,dryBalanceHelp:()=>POe,findHelp:()=>NOe,galleryHelp:()=>OOe,gcHelp:()=>FOe,gitHelp:()=>DOe,grepHelp:()=>LOe,grievancesHelp:()=>qOe,ifBenchHelp:()=>_Oe,imagesHelp:()=>HOe,installHelp:()=>BOe,joinHelp:()=>WOe,loginHelp:()=>UOe,modelsHelp:()=>GOe,playHelp:()=>$Oe,pluginHelp:()=>jOe,predictHelp:()=>zOe,psHelp:()=>KOe,readHelp:()=>VOe,renderHelp:()=>YOe,sayHelp:()=>JOe,searchHelp:()=>QOe,setupHelp:()=>ZOe,shareHelp:()=>XOe,shellHelp:()=>eFe,skillHelp:()=>tFe,sshHelp:()=>sFe,statsHelp:()=>nFe,streamHelp:()=>oFe,tinyModelsHelp:()=>rFe,tokenHelp:()=>iFe,toksHelp:()=>aFe,ttsrHelp:()=>lFe,updateHelp:()=>uFe,usageHelp:()=>pFe,worktreeHelp:()=>cFe});var TOe,ROe,COe,bOe,kOe,AYt,wOe,SOe,xOe,vOe,EOe,AOe,MOe,IOe,POe,OOe,FOe,_Oe,DOe,NOe,LOe,qOe,UOe,HOe,BOe,WOe,GOe,jOe,$Oe,zOe,KOe,VOe,YOe,JOe,QOe,XOe,ZOe,eFe,tFe,sFe,nFe,oFe,rFe,iFe,aFe,lFe,uFe,pFe,cFe;var Fo=k(()=>{TOe={description:"Run omp as an ACP (Agent Client Protocol) server over stdio"},ROe={description:"Manage bundled task agents"},COe={description:"Manage the omp auth-broker (credential vault)"},bOe={description:"Run an auth-gateway forward proxy backed by the configured broker"},kOe={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)"},AYt={description:"Run the local CDP relay that lets the browser prelude drive your own Chrome tabs"},wOe={description:"Detect and fix project diagnostics with weighted parallel subagents"},SOe={description:"List active local Collab host metadata without URLs; use collab link <instanceId|pid> to retrieve a control link (--view for view-only)"},xOe={description:"Upload a /record recording to live.omp.sh as a public clip and print its URL"},vOe={description:"Generate a commit message and update changelogs"},EOe={description:"Print a shell completion script (bash, zsh, or fish)"},AOe={hidden:!0},MOe={description:"Rewrite a text file into the dense prompt register, reporting what it drops"},IOe={description:"Manage configuration settings"},POe={description:"Dry-run OAuth account balancing across random session ids"},OOe={description:"Preview tool, composer, and status-line renderers in a deterministic visual gallery"},FOe={description:"Run storage garbage collection"},_Oe={description:"Benchmark instruction following and working memory: one cached thread of glyph array actions with a moving cat-sound directive"},DOe={description:"Interactive fullscreen git UI: split diff viewer, staging sidebar, and commit composer"},NOe={description:"Semantic search: describe a behavior, get the files and line ranges that implement it"},LOe={description:"Test grep tool"},qOe={description:"View, clean, or push reported tool issues (auto-QA grievances)"},UOe={description:"Log in to a model provider (terminal counterpart of /login)"},HOe={description:"Inspect, diagnose, probe, and purge image publication backends"},BOe={description:"Install or link an extension package (alias of `plugin install`/`plugin link`)"},WOe={description:"Join a shared collab session (same as /join)"},GOe={description:"List, search, and refresh available models"},jOe={description:"Manage plugins (install, uninstall, list, etc.)"},$Oe={description:"Replay a /record session recording in the terminal (space pauses, q quits)"},zOe={description:"Type a prompt and compare every word-completion engine's ghost text live"},KOe={description:"List and control daemon-supervised background processes (logs, stop, kill, restart)"},VOe={description:"Show what the read tool will return for a path, URL, or internal URI"},YOe={description:"Draw a session's entire thread through the production transcript pipeline (with repaint timing)"},JOe={description:"Synthesize text with the local TTS engine and play it through the speakers"},QOe={description:"Test web search providers"},XOe={description:"Share a saved session via an encrypted link (same as /share)"},ZOe={description:"Run onboarding setup or install dependencies for optional features"},eFe={description:"Interactive shell console"},tFe={description:"Install, search, publish, and manage skills on the Skillshare registry (skills.omp.sh)"},sFe={description:"Manage SSH host configurations"},nFe={description:"View usage statistics"},oFe={description:"Broadcast local omp session screens and chat to your public live channel"},rFe={description:"Download tiny local models (session titles, memory, word completion)"},iFe={description:"Get the API key or OAuth token for a provider"},aFe={description:"Count a file or text with every embedded offline tokenizer (OpenAI, Claude, Qwen, \u2026)"},lFe={description:"Inspect and test Time-Traveling Stream Rules (TTSR)"},uFe={description:"Check for and install updates"},pFe={description:"Show provider usage limits for every authenticated account"},cFe={description:"Add, list, or clear git worktrees (clone-first when enabled)"}});var Kp,Ln;var qm=k(()=>{((i)=>{i.Minimal="minimal";i.Low="low";i.Medium="medium";i.High="high";i.XHigh="xhigh";i.Max="max"})(Kp||={});Ln=["minimal","low","medium","high","xhigh","max"]});function yi(e){return e.kind??"chat"}var ES,dFe,IYt;var Dg=k(()=>{ES=["chat","tiny","image","tts","stt","search","judge","embedding","rerank","video"],dFe=["image","tts","stt","embedding","rerank","video"],IYt=["local-inference","web-search","typesafe","openrouter-decisions","openai-images","openrouter-images","xai-tts","openai-speech","openai-embeddings","openrouter-rerank","openrouter-video","openai-transcriptions"]});function Ypi(e){return e==="openai-completions"||e==="openai-responses"||e==="openai-codex-responses"}function Jpi(e){return e==="fireworks"||e==="github-copilot"}function Fhn(e){return!Jpi(e.provider)&&Ypi(e.api)&&e.identity.class==="openai"}function AS(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(Fhn(e))return"openai";return}function YF(e,t){if(!e)return;let s=AS(t);return s?e[s]:void 0}function MS(e,t){if(!e||e==="auto")return!1;let s=typeof t==="string"?t:t?.provider;if(typeof t!=="string"&&t?.api==="openai-codex-responses"&&e!=="flex"&&e!=="default"){let n=t.serviceTiers;if(e==="ultrafast")return n?.includes(e)===!0;if(n!==void 0&&n.length>0)return n.includes(e)}if(e==="ultrafast")return s==="openai"||typeof t==="string"&&s==="openai-codex";if(s==="openai"||s==="openai-codex")return!0;if(s==="openrouter")return e==="flex"||e==="scale"||e==="priority";if(typeof t!=="string"&&t&&Fhn(t))return!0;if(s==="google")return e==="flex"||e==="priority";if(s==="google-vertex"||s==="fireworks")return e==="priority";return!1}function fFe(e,t){if(e!=="priority")return!1;if(t.provider==="anthropic")return!0;if(t.provider==="openrouter"){let s=AS(t);return s==="openai"||s==="google"}if(t.api==="anthropic-messages")return!1;return MS(e,t)}function Yrt(e,t){if(!fFe(e,t))return 0;let s=t.provider;return s==="openai"||s==="openai-codex"||s==="anthropic"||s==="google"||s==="google-vertex"?1:0}function jY(e){if(e===null||e===void 0)return;if(typeof e==="object"){let t=e,s={};for(let n of["openai","anthropic","google"]){let o=t[n];if(o==="auto"||o==="default"||o==="flex"||o==="scale"||o==="priority"||o==="ultrafast")s[n]=o}return Object.keys(s).length>0?s: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 VF=64000;var mFe=k(()=>{qm();Dg()});var Dhn={};O(Dhn,{SERVICE_TIER_ANTHROPIC_OPTIONS:()=>_Yt,SERVICE_TIER_ANTHROPIC_VALUES:()=>Jrt,SERVICE_TIER_GOOGLE_OPTIONS:()=>DYt,SERVICE_TIER_GOOGLE_VALUES:()=>Qrt,SERVICE_TIER_INHERIT_OPTIONS:()=>Xrt,SERVICE_TIER_INHERIT_SETTING_VALUES:()=>bce,SERVICE_TIER_OPENAI_OPTIONS:()=>FYt,SERVICE_TIER_OPENAI_VALUES:()=>$I,buildServiceTierByFamily:()=>pU,isServiceTierFamily:()=>OYt,isServiceTierForFamily:()=>s5,isServiceTierInheritSettingValue:()=>_hn,isServiceTierOpenAISettingValue:()=>PYt,resolveAgentServiceTierOverride:()=>LYt,resolveSubagentServiceTier:()=>NYt,serviceTierForAllFamilies:()=>kce,serviceTierSettingToTier:()=>pT,validateAgentServiceTierOverrides:()=>gFe});function PYt(e){return $I.some((t)=>t===e)}function OYt(e){return e==="openai"||e==="anthropic"||e==="google"}function s5(e,t){if(typeof t!=="string"||t==="none")return!1;let s;switch(e){case"openai":s=$I;break;case"anthropic":s=Jrt;break;case"google":s=Qrt;break;default:return!1}return s.includes(t)}function _hn(e){return typeof e==="string"&&bce.some((t)=>t===e)}function gFe(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[s,n]of Object.entries(e)){if(!_hn(n))throw Error(`Invalid service tier for task.agentServiceTierOverrides.${s}: ${String(n)}. Expected one of: ${bce.join(", ")}.`);t[s]=n}return t}function pT(e){if(e==="none"||e===""||e==="inherit")return;return e}function pU(e,t,s){let n={},o=pT(e);if(o)n.openai=o;let r=pT(t);if(r)n.anthropic=r;let i=pT(s);if(i)n.google=i;return n}function kce(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 NYt(e,t){if(e==="inherit")return t;return kce(pT(e))}function LYt(e,t,s){if(e==="inherit")return s;let n=pT(e);if(!n||!t)return{};let o=AS(t);if(!o||!s5(o,n))return{};return{[o]:n}}var $I,Jrt,Qrt,bce,FYt,_Yt,DYt,Xrt;var UR=k(()=>{mFe();$I=["none","auto","default","flex","scale","priority","ultrafast"],Jrt=["none","priority"],Qrt=["none","flex","priority"];bce=["inherit","none","auto","default","flex","scale","priority","ultrafast"];FYt=[{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"}],_Yt=[{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'}],DYt=[{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)"}],Xrt=[{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 Nhn={};O(Nhn,{CliUsageError:()=>sa});var sa;var cU=k(()=>{sa=class sa extends Error{constructor(e){super(e);this.name="CliUsageError"}}});var qhn={};O(qhn,{EXTENSION_SHADOWABLE_STRING_FLAGS:()=>zY,OPTIONAL_FLAGS:()=>$Y,OPTIONAL_VALUE_FLAGS:()=>JF,PROFILE_BOOTSTRAP_BOUNDARY_ARG:()=>fU,STRING_SETTERS:()=>Zrt,STRING_VALUE_FLAGS:()=>dU,VALUELESS_FLAGS:()=>eit,flagConsumesValue:()=>yFe,isUnknownLongValueCandidate:()=>hFe,restartArgv:()=>UYt});function Xpi(e){if(e==="h")return 3600;if(e==="m")return 60;return 1}function Zpi(e){let t=e.trim(),s=Qpi.exec(t),n=s?Number(s[1])*Xpi(s[2]):Number(t);if(Number.isFinite(n)&&n>0)return n;throw new sa(`Invalid --max-time value: ${JSON.stringify(e)}. Expected a positive number of seconds or duration like "5s", "10m", "1h".`)}function hFe(e){return e.startsWith("--")&&!e.includes("=")&&!dU.has(e)&&!JF.has(e)&&!eit.has(e)}function yFe(e,t){if(e.startsWith("--")&&e.includes("="))return!1;if(t===void 0)return!1;if(dU.has(e))return!0;let s=!t.startsWith("-");if(zY.has(e))return s;if(JF.has(e)){let n=$Y[e];return s&&!(n.rejectEmpty===!0&&t.length===0)}if(hFe(e))return s;return!1}function UYt(e,t){let s=[];for(let n=0;n<e.length;n++){let o=e[n];if(o==="--")break;if(!o.startsWith("-"))continue;let r=yFe(o,e[n+1]),i=o.startsWith("--")?o.split("=",1)[0]:o;if(eci.has(i)){if(r)n++;continue}if(s.push(o),r)s.push(e[++n])}if(t!==void 0)s.push("--resume",t);return s}var Lhn=(e,t)=>{e.extensions=e.extensions??[],e.extensions.push(t)},qYt=(e,t)=>{e.resume=t!==void 0?t:!0},Qpi,Zrt,$Y,dU,zY,JF,fU="--omp-profile-boundary",eit,eci;var wce=k(()=>{UR();cU();Qpi=/^(\d+(?:\.\d+)?)([smh])$/;Zrt={"--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 sa("--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=Zpi(t)},"--service-tier":(e,t)=>{if(!PYt(t))throw new sa(`Invalid --service-tier value: ${JSON.stringify(t)}. Expected one of: ${$I.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((s)=>s.trim())},"--tools":(e,t,s)=>{let n=s.normalizeToolNames(t.split(",").map((o)=>o.trim()).filter(Boolean));e.tools=n},"--thinking":(e,t,s)=>{let n=s.parseThinking(t);if(n===void 0){e.invalidFlagValues.push(`Invalid --thinking value: ${JSON.stringify(t)}. Expected one of: ${s.thinkingEfforts.join(", ")}.`);return}e.thinking=n},"--export":(e,t)=>{e.export=t},"--hook":(e,t)=>{e.hooks=e.hooks??[],e.hooks.push(t)},"--extension":Lhn,"-e":Lhn,"--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((s)=>s.trim())},"--approval-mode":(e,t)=>{if(t!=="always-ask"&&t!=="write"&&t!=="yolo"){e.invalidFlagValues.push(`Invalid --approval-mode value: ${JSON.stringify(t)}. Expected one of: always-ask, write, yolo.`);return}e.approvalMode=t}},$Y={"--resume":{set:qYt,rejectEmpty:!0},"-r":{set:qYt,rejectEmpty:!0},"--session":{set:qYt,rejectEmpty:!0}},dU=new Set(Object.keys(Zrt)),zY=new Set(["--plan"]),JF=new Set(Object.keys($Y)),eit=new Set(["--help","--version","--allow-home","--continue","--from-claude","--from-codex","--no-session","--no-tools","--no-lsp","--no-pty","--hide-thinking","--advisor","--external-thinking","--prewalk","--no-prewalk","--plan-yolo","--print","--print-thoughts","--no-extensions","--no-skills","--no-rules","--no-title","--no-ui","--auto-approve","--yolo"]);eci=new Set(["--resume","-r","--session","--continue","-c","--fork","--from-claude","--from-codex"])});var HYt={};O(HYt,{Args:()=>fs,CliUsageError:()=>En,Command:()=>rs,Flags:()=>we,renderCommandHelp:()=>n5,renderRootHelp:()=>Whn,run:()=>nci});import*as Bhn from"fs";import{parseArgs as tci}from"util";function Uhn(e){if(!process.env.PI_DEBUG_STARTUP)return;try{Bhn.writeSync(2,`[startup] ${e}
5
5
  `)}catch{}}class rs{argv;config;constructor(e,t){this.argv=e,this.config=t}async parse(e){let t=e,s=t.flags??{},n=t.args??{},o=t.strict!==!1,r={};for(let[c,d]of Object.entries(s)){let f={type:d.kind==="boolean"?"boolean":"string"};if(d.char)f.short=d.char;if(d.multiple)f.multiple=!0;if(d.default!==void 0)f.default=d.kind==="boolean"?Boolean(d.default):String(d.default);r[c]=f}let{values:i,positionals:a}=(()=>{try{return tci({args:this.argv,options:r,allowPositionals:!0,strict:o})}catch(c){throw new En(c instanceof Error?c.message:String(c))}})(),l={};for(let[c,d]of Object.entries(s)){let f=i[c];if(d.kind==="integer")if(f===void 0||typeof f==="boolean")l[c]=d.default??void 0;else{let m=Number.parseInt(f,10);if(Number.isNaN(m))throw new En(`Expected integer for --${c}, got "${f}"`);l[c]=m}else if(d.kind==="boolean")l[c]=f!==void 0?Boolean(f):d.default!==void 0?Boolean(d.default):void 0;else{let m=f!==void 0&&typeof f!=="boolean"?f:d.default??void 0;if(m!==void 0&&d.options&&!Array.isArray(m)){if(!d.options.includes(m))throw new En(`Expected --${c} to be one of: ${[...d.options].join(", ")}; got "${m}"`)}l[c]=m}if(d.required&&l[c]===void 0)throw new En(`Missing required flag: --${c}`)}let u={},p=0;for(let[c,d]of Object.entries(n)){if(d.multiple){let m=a.slice(p);u[c]=m.length>0?m:void 0,p=a.length}else{let m=a[p];u[c]=m,p++}if(d.required&&u[c]===void 0)throw new En(`Missing required argument: ${c}`);let f=u[c];if(f!==void 0&&d.options&&typeof f==="string"){if(!d.options.includes(f))throw new En(`Expected ${c} to be one of: ${[...d.options].join(", ")}; got "${f}"`)}}return{flags:l,args:u,argv:a}}}function Whn(e){let{bin:t,version:s,commands:n}=e,o=[];o.push(`${t} v${s}
6
6
  `),o.push("USAGE"),o.push(` $ ${t} [COMMAND]
@@ -479,7 +479,7 @@ ${eP(e)||"(empty result)"}`}function tjn(e,t,s,n=xas(e),o){Bqi(e,n,o);let r=n>=0
479
479
  `)}:{},...r.length>0?{tool_calls:r}:{}}}function LHi(e,t){let s=Fu(t.systemPrompt),o=[...s.map((l)=>({role:"developer",content:l,timestamp:Date.now()})),...t.messages],r=e.provider==="ollama-cloud",i=e.input.includes("image"),a=qc(o,e).map((l,u)=>{let p=l.role==="developer"&&(u<s.length||l.attribution!=="user")?"system":"user",c=NHi(l,i,p);if(r&&c.role==="assistant"&&c.thinking){let{thinking:d,...f}=c;return f}return c});if(!a.some((l)=>l.role==="user")){for(let l=a.length-1;l>=s.length;l--)if(a[l].role==="system"){a[l].role="user";break}}return a}function qHi(e){if(!e||e.length===0)return;return e.map((t)=>({type:"function",function:{name:t.name,description:t.description,parameters:Afe(Jn(t))}}))}function UHi(e,t,s){let n=OHi(e,s?.reasoning,s?.disableReasoning),o=FHi(s?.toolChoice),r=DHi(t.tools,s?.toolChoice),i=qHi(r),a={},l=!1;if(s?.maxTokens!==void 0&&!e.omitMaxOutputTokens)a.num_predict=e.provider==="ollama-cloud"?Math.min(s.maxTokens,65536):s.maxTokens,l=!0;if(s?.temperature!==void 0)a.temperature=s.temperature,l=!0;if(s?.topP!==void 0)a.top_p=s.topP,l=!0;return{model:e.id,messages:LHi(e,t),...i?{tools:i}:{},...n!==void 0?{think:n}:{},...o!==void 0?{tool_choice:o}:{},...l?{options:a}:{},stream:!0}}function HHi(e,t){return e.status<500||!Y5.test(t)}async function BHi(e){let t,s;try{if(t=await e.text(),t.trim())try{s=JSON.parse(t)}catch{}}catch{}return{status:e.status,headers:e.headers,bodyText:t,bodyJson:s}}function WHi(e){return{role:"assistant",content:[],api:"ollama-chat",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()}}function GHi(e,t,s){let n=t.content[s];if(n?.type==="thinking")e.push({type:"thinking_end",contentIndex:s,content:n.thinking,partial:t})}function jHi(e,t,s){let n=t.content[s];if(n?.type==="text")e.push({type:"text_end",contentIndex:s,content:n.text,partial:t})}function Ils(e,t,s){let n=t.content[s];if(n?.type!=="toolCall")return;let o=n;if(o[Dn])o.arguments=vi(o[Dn]),Ra(o);e.push({type:"toolcall_end",contentIndex:s,toolCall:o,partial:t})}function $Hi(e,t){if(e==="length")return"length";if(e==="tool_calls")return"toolUse";if(e==="load")return"error";if(e===void 0&&t.content.some((s)=>s.type==="toolCall"))return"toolUse";return"stop"}function VHi(e){return e.content.some((t)=>{if(t.type==="text")return t.text.trim().length>0;if(t.type==="thinking")return t.thinking.trim().length>0;return t.type==="toolCall"})}var zHi="Model returned no content: prompt filled the context window; raise Ollama num_ctx or shorten the prompt.",KHi="Ollama loaded the model but generated nothing (done_reason: load): the request contained no user-role message.",YHi,JHi=(e,t,s={})=>{let n=new xn;return(async()=>{let o=performance.now(),r,i=WHi(e),a,l,u,p,c=new Set,d=hls(e),f=d?new eD({pattern:d}):void 0,m=!1,g=!1,h=()=>{if(p===void 0)return;jHi(n,i,p),p=void 0},y=()=>{if(u===void 0)return;GHi(n,i,u),u=void 0},T=(x)=>{if(x.length===0)return;if(y(),p===void 0)i.content.push({type:"text",text:""}),p=i.content.length-1,n.push({type:"text_start",contentIndex:p,partial:i});let v=i.content[p];if(v?.type==="text")v.text+=x,n.push({type:"text_delta",contentIndex:p,delta:x,partial:i});if(!r)r=performance.now()},R=(x)=>{if(x.length===0)return;if(h(),u===void 0)i.content.push({type:"thinking",thinking:""}),u=i.content.length-1,n.push({type:"thinking_start",contentIndex:u,partial:i});let v=i.content[u];if(v?.type==="thinking")v.thinking+=x,n.push({type:"thinking_delta",contentIndex:u,delta:x,partial:i});if(!r)r=performance.now()},C=(x)=>{y(),h();let v={type:"toolCall",id:x.id,name:x.name,arguments:Hf(x.arguments),[Dn]:x.arguments};i.content.push(v);let A=i.content.length-1;if(n.push({type:"toolcall_start",contentIndex:A,partial:i}),n.push({type:"toolcall_delta",contentIndex:A,delta:x.arguments,partial:i}),Ils(n,i,A),m=!0,!r)r=performance.now()},b=(x)=>{if(x.type==="text")T(x.text);else if(x.type==="thinking"){if(!g)R(x.thinking)}else C(x.call)},S=()=>{if(!f)return;for(let x of f.drainCompleted())C(x)};try{let x=s.apiKey||oo(e.provider);if(!x)throw new Yi(e.provider);let v=PHi(e.baseUrl),A=UHi(e,t,s),E=await s.onPayload?.(A,e);if(E!==void 0)A=E;a={provider:e.provider,api:e.api,model:e.id,method:"POST",url:`${v}/api/chat`,body:A};let F=s.streamIdleTimeoutMs??XS(),M=s.streamFirstEventTimeoutMs??ex(F),_=MH(s.signal,M),P;try{P=await gd(`${v}/api/chat`,{method:"POST",headers:{...e.headers,...s.headers,Authorization:`Bearer ${x}`,"Content-Type":"application/json"},body:JSON.stringify(A),signal:_.signal,defaultDelayMs:YHi,shouldRetryResponse:HHi,fetch:s.fetch,timeout:!1})}finally{_.clear()}if(!P.ok)throw l=await BHi(P),new tNe(`HTTP ${P.status} from ${v}/api/chat`,P.status,{headers:P.headers});if(!P.body)throw new tNe("Ollama returned an empty response body",P.status,{headers:P.headers});n.push({type:"start",partial:i});for await(let L of EJ(P.body)){if(L.message?.thinking){if(g=!0,h(),u===void 0)i.content.push({type:"thinking",thinking:""}),u=i.content.length-1,n.push({type:"thinking_start",contentIndex:u,partial:i});let z=i.content[u];if(z?.type==="thinking")z.thinking+=L.message.thinking,n.push({type:"thinking_delta",contentIndex:u,delta:L.message.thinking,partial:i});if(!r)r=performance.now()}let N=L.message?.content,U=L.message?.tool_calls?.length?L.message.tool_calls:void 0;if(N)if(f){let z=U?f.feedEventsWithoutCalls(N):f.feedEvents(N);for(let Y of z)b(Y)}else T(N);if(U){y(),h();for(let z of U){let Y=z.function?.name??"unknown_tool",ee=z.function?.arguments,G=typeof ee==="string"?ee:JSON.stringify(ee??{}),J={type:"toolCall",id:`ollama:${i.content.length}:${Y}`,name:Y,arguments:Hf(G),[Dn]:G};i.content.push(J);let te=i.content.length-1;if(c.add(te),n.push({type:"toolcall_start",contentIndex:te,partial:i}),n.push({type:"toolcall_delta",contentIndex:te,delta:G,partial:i}),!r)r=performance.now()}}if(L.done){if(f){for(let z of f.flushEvents())b(z);S()}y(),h();for(let z of c)Ils(n,i,z);if(c.clear(),i.stopReason=$Hi(L.done_reason,i),m&&i.stopReason==="stop")i.stopReason="toolUse";i.usage.cacheRead=L.prompt_eval_cached_count??0,i.usage.input=(L.prompt_eval_count??0)-i.usage.cacheRead,i.usage.output=L.eval_count??0,i.usage.totalTokens=i.usage.input+i.usage.output+i.usage.cacheRead,Or(e,i.usage,i.timestamp)}}if(f){for(let L of f.flushEvents())b(L);if(S(),m&&i.stopReason==="stop")i.stopReason="toolUse"}y(),h();for(let L of c)Ils(n,i,L);if(i.stopReason==="length"&&!VHi(i))i.stopReason="error",i.errorMessage=zHi;if(i.stopReason==="error"&&!i.errorMessage)i.errorMessage=KHi;if(i.stopReason==="stop"&&i.content.some((L)=>L.type==="toolCall"))i.stopReason="toolUse";if(i.duration=performance.now()-o,r)i.ttft=r-o;if(i.stopReason==="error"){n.push({type:"error",reason:"error",error:i}),n.end();return}let D=i.stopReason==="length"?"length":i.stopReason==="toolUse"?"toolUse":"stop";n.push({type:"done",reason:D,message:i}),n.end()}catch(x){for(let A of i.content)if(A.type==="toolCall")Ra(A);let v=await Iu(x,{api:e.api,provider:e.provider,signal:s.signal,rawRequestDump:a,capturedErrorResponse:l});if(i.stopReason=v.stopReason,i.errorStatus=v.status,i.errorId=v.id,i.errorMessage=v.message,i.duration=performance.now()-o,r)i.ttft=r-o;n.push({type:"error",reason:i.stopReason,error:i}),n.end()}})(),n},Pls=(e,t,s)=>B0(e,t,s,JHi,{retryEmptyCompletion:!0});var Fls=k(()=>{yo();W();ht();Jf();Vg();Ti();Lc();EH();ul();tx();jl();lge();Zm();z0();YHi=[2000,5000,1e4]});var s$n={};O(s$n,{compactGrammarDefinition:()=>fqe});function fqe(e,t){if(e!=="lark")return t;return QHi(t)}function QHi(e){let t=[];for(let s of e.split(/\r?\n/)){let n=XHi(s).trimEnd();if(n.trim())t.push(n)}return t.join(`
480
480
  `)}function XHi(e){let t,s=!1,n=!1;for(let o=0;o<e.length;o++){let r=e[o],i=e[o+1];if(n){n=!1;continue}if(r==="\\"){n=!0;continue}if(t){if(r===t)t=void 0;continue}if(s){if(r==="/")s=!1;continue}if(r==="/"&&i==="/")return e.slice(0,o);if(r==='"'||r==="'"){t=r;continue}if(r==="/")s=!0}return e}var r$n={};O(r$n,{applyCodexAccessPrograms:()=>_ls,dropRejectedCodexAccessPrograms:()=>mqe});function _ls(e,t,s){if(!s)return;if(!t.accountAccess?.[s]?.cyberPrograms?.includes(n$n))return;if(o$n.has(`${s}\x00${t.id}`))return;e.access_programs={cyber:n$n}}function mqe(e,t,s,n){if(e.access_programs===void 0||!tBi(n))return!1;if(delete e.access_programs,s)o$n.add(`${s}\x00${t.id}`);return j("Codex rejected the requested access program; retrying without it",{model:t.id,accountId:s,error:n instanceof Error?n.message:String(n)}),!0}function tBi(e){if(!(e instanceof Error))return!1;let t="code"in e&&typeof e.code==="string"?e.code:void 0;if(t!==void 0&&Object.hasOwn(ZHi,t))return!0;return eBi.test(e.message)}var n$n="daybreak_blue",ZHi,eBi,o$n;var Dls=k(()=>{W();ZHi={access_program_not_enabled:!0,invalid_access_program:!0},eBi=/\baccess[ _]programs?\b|\breduced refusals\b/i,o$n=new Set});var a$n={};O(a$n,{CodexSteerPump:()=>mht,planSteeredRequest:()=>Lls,toSteerInputItems:()=>Nls});class mht{#e;#t;#s;#n=new AbortController;#o=[];#r;#i;#a=!1;constructor(e,t,s){this.#e=e,this.#t=t,this.#s=s}get responseId(){return this.#r}start(e){if(this.#i||this.#n.signal.aborted)return;this.#r=e,this.#i=this.#l(e)}async finish(){return this.#n.abort(),await this.#i,{responseId:this.#r,accepted:this.#o,uncertain:this.#a}}async#l(e){let t=this.#n.signal;try{while(!t.aborted){if(await this.#e.wait(t),t.aborted)return;let s=performance.now(),n=await this.#e.claim(t);if(!n){await Bun.sleep(nBi);continue}let o=t.aborted?void 0:this.#s(n.messages);if(!o){n.reject();return}let r=performance.now(),i;try{i=await oBi(this.#t.steer(e,o),sBi)}catch(a){se("Codex steering acknowledgement missing",{responseId:e,error:a instanceof Error?a.message:String(a)})}if(!i){this.#a=!0,n.reject();return}if(!i.accepted){se("Codex steering rejected",{responseId:e,code:i.code,message:i.message}),n.reject();return}this.#o.push({id:i.id,items:o}),n.accept(),se("Codex steering accepted",{responseId:e,steerId:i.id,prepareMs:Math.round(r-s),ackMs:Math.round(performance.now()-r)})}}catch(s){j("Codex steering pump failed",{responseId:e,error:s instanceof Error?s.message:String(s)})}}}async function oBi(e,t){let{promise:s,resolve:n}=Promise.withResolvers(),o=setTimeout(()=>n(void 0),t);try{return await Promise.race([e,s])}finally{clearTimeout(o)}}function Nls(e){if(e.length===0)return;for(let t of e)if(t.role!=="user"||t.type!=null&&t.type!=="message")return;return[...e]}function Lls(e,t){if(!e)return{kind:"discard"};let s=[],n=0;for(let o of e){if(n<t.length&&i$n(o)===i$n(t[n])){n++;continue}s.push(o)}if(n<t.length)return{kind:"discard"};if(s.length===0)return{kind:"attach"};if(s.some((o)=>typeof o.type==="string"&&o.type.endsWith("_output")))return{kind:"create",input:s};return{kind:"discard"}}function i$n(e){if(e.role!=="user")return`\x00${e.type??""}:${e.call_id??e.id??""}`;let t=typeof e.content==="string"?[{type:"input_text",text:e.content}]:Array.isArray(e.content)?e.content.map((s)=>{if(!s||typeof s!=="object")return s;let{detail:n,...o}=s;return o}):e.content;return JSON.stringify(t)}var sBi=1e4,nBi=25;var qls=k(()=>{W()});var u$n={};O(u$n,{CodexApiError:()=>gqe,parseCodexError:()=>l$n});async function l$n(e){let t=await e.text(),s=t||e.statusText||"Request failed",n,o,r;try{let a=JSON.parse(t)?.error??{},l=e.headers,u={used_percent:Yt(l.get("x-codex-primary-used-percent")),window_minutes:ght(l.get("x-codex-primary-window-minutes")),resets_at:ght(l.get("x-codex-primary-reset-at"))},p={used_percent:Yt(l.get("x-codex-secondary-used-percent")),window_minutes:ght(l.get("x-codex-secondary-window-minutes")),resets_at:ght(l.get("x-codex-secondary-reset-at"))};o=u.used_percent!==void 0||p.used_percent!==void 0?{primary:u,secondary:p}:void 0;let c=String(a.code??a.type??"");r=c||void 0;let d=a.resets_at??u.resets_at??p.resets_at,f=d?Math.max(0,Math.round((d*1000-Date.now())/60000)):void 0;if(/usage_limit_reached|usage_not_included/i.test(c)){let g=a.plan_type,h=g?` (${String(g).toLowerCase()} plan)`:"",y=f!==void 0?` Try again in ~${f} min.`:"";n=`You have hit your ChatGPT usage limit${h}.${y}`.trim()}else if(/rate_limit_exceeded/i.test(c)||e.status===429)n=`ChatGPT rate limit exceeded.${f!==void 0?` Try again in ~${f} min.`:""}`.trim();s=a.message||n||s}catch{}return{message:s,status:e.status,code:r,friendlyMessage:n,rateLimits:o,raw:t}}function ght(e){if(e==null)return;let t=parseInt(e,10);return Number.isFinite(t)?t:void 0}var gqe;var Uls=k(()=>{Ta();ht();gqe=class gqe extends es{info;constructor(e,t){super(e.friendlyMessage||e.message,e.status,{headers:t,code:e.code});this.name="CodexApiError",this.info=e}static async fromResponse(e){return new gqe(await l$n(e),e.headers)}}});var p$n={};O(p$n,{getCodexAttestationHeader:()=>lZ,setCodexAttestationProvider:()=>hqe});function hqe(e){Hls=e}async function lZ(e){if(!e||!Hls)return;try{return await Hls()}catch{return}}var Hls;var c$n={};O(c$n,{createOpenAICodexCompactionRequestContext:()=>tP});function tP(e){let t=e.context;if(!t)return;return{operationId:t.operationId,trigger:t.trigger,reason:t.reason,implementation:e.implementation,phase:t.phase,strategy:t.strategy}}var d$n={};O(d$n,{getOpenAICodexWebSocketEnvValue:()=>hht,isOpenAICodexWebSocketPreferred:()=>yqe});function hht(){return Se.PI_CODEX_WEBSOCKET===void 0?void 0:Ki("PI_CODEX_WEBSOCKET")}function yqe(e,t){let s=hht();if(s!==void 0)return s;if(t?.preferWebsockets===!1)return!1;return t?.preferWebsockets===!0||e.preferWebsockets===!0}var yht=k(()=>{W()});var g$n={};O(g$n,{createOpenAIEffortControlState:()=>f$n,getOpenAIEffortControlState:()=>Tqe,planStableOpenAIEffort:()=>Rqe});function f$n(){return{transitions:[]}}function Tqe(e,t){let s=e.get(t);if(s)return e.delete(t),e.set(t,s),s;let n=f$n();if(e.set(t,n),e.size>rBi){let o=e.keys().next().value;if(o!==void 0)e.delete(o)}return n}function m$n(e,t){if(t===0)return"";let s=e[t-1];if(!s)return"";let{id:n,status:o,...r}=s;return String(Bun.hash(JSON.stringify(r)))}function iBi(e){e.baseEffort=void 0,e.currentEffort=void 0,e.transitions=[]}function aBi(e,t){for(let s of e.transitions)if(s.index>t.length||s.anchor!==m$n(t,s.index)){iBi(e);return}}function Rqe(e,t,s){if(aBi(e,t),e.baseEffort===void 0)return e.baseEffort=s,e.currentEffort=s,s;if(e.currentEffort!==s){let o=t[t.length-1],r=o&&"role"in o&&o.role==="user"?t.length-1:t.length,i=e.transitions.find((u)=>u.index===r);if(i)i.effort=s;else e.transitions.push({index:r,anchor:m$n(t,r),effort:s});let a=e.baseEffort,l=-1;for(let u of e.transitions)if(u.index<r&&u.index>l)a=u.effort,l=u.index;if(s===a)e.transitions=e.transitions.filter((u)=>u.index!==r);e.currentEffort=s}e.transitions.sort((o,r)=>o.index-r.index);let n=0;for(let o of e.transitions)t.splice(o.index+n,0,{type:"configuration_update",reasoning:{effort:o.effort}}),n++;return e.baseEffort}var rBi=16;var ous={};O(ous,{CodexWebSocketTransportError:()=>wl,buildTransformedCodexRequestBody:()=>kht,convertCodexResponsesMessages:()=>tus,convertOpenAICodexResponsesTools:()=>V$n,createCodexProviderStreamError:()=>nus,createOpenAICodexCompactionRequestContext:()=>tP,createOpenAICodexCompatibilityMetadata:()=>xqe,getOpenAICodexTransportDetails:()=>Zls,getOpenAICodexWebSocketDebugStats:()=>ZBi,isRetryableCodexFailureEvent:()=>Y$n,normalizeCodexToolChoice:()=>D$n,openCodexCompactionEventStream:()=>Jls,prewarmOpenAICodexResponses:()=>Xls,resetOpenAICodexHistoryAfterCompaction:()=>Yls,resolveCodexResponsesUrl:()=>mge,setCodexAttestationProvider:()=>hqe,streamOpenAICodexResponses:()=>Qls});import{scheduler as Cqe}from"timers/promises";function lBi(e){if(e===void 0)return bqe+1;if(!Number.isFinite(e))return 1;return Math.max(1,Math.trunc(e))}function x$n(e){if(TX(e))return!0;if(!e||typeof e!=="object")return!1;let t=e.type;return typeof t==="string"&&bBi.has(t)}function xBi(e){let s=e.response?.id;return typeof s==="string"&&s.length>0?s:void 0}function vBi(e){let t=e.sequence_number;return typeof t==="number"&&Number.isFinite(t)?Math.trunc(t):void 0}function T$n(e,t){let s=Date.now(),n=t.lastEventType?`${t.lastEventType} ${Math.max(0,s-t.lastEventAt)}ms ago`:"none",o=t.lastProgressEventType?`${t.lastProgressEventType} ${Math.max(0,s-t.lastProgressAt)}ms ago`:"none";return`${e} (last event: ${n}; last progress: ${o})`}function R$n(e){return{sessionId:e,threadId:crypto.randomUUID(),windowId:crypto.randomUUID(),turnStates:new Map}}function Vls(e,t){if(!t)return R$n(e);let s=t.metadataSessions.get(e);if(s)return s;let n=R$n(e);return t.metadataSessions.set(e,n),n}function v$n(e,t){if(!t)return{};let s=e.turnStates.get(t);if(s)return s;let n={};return e.turnStates.set(t,n),n}function E$n(e,t,s){if(t&&s?.phase!=="standalone_turn")e.turnStates.clear()}function A$n(e){return{installationId:Lm(),sessionId:e.sessionId,threadId:e.threadId,windowId:e.windowId}}function M$n(e,t,s,n){if(t!=="compaction"){if(t==="turn"){let r=e.reuseTurnForNextRequest===!0;if(e.reuseTurnForNextRequest=!1,e.compactionOperationId=void 0,r)return!1}return n??t==="turn"}if(!s)return n??!1;let o=e.compactionOperationId!==s.operationId;if(o)e.reuseTurnForNextRequest=!1;return e.compactionOperationId=s.operationId,n??(s.phase!=="mid_turn"&&o)}function C$n(e){return JSON.stringify(e).replace(/[\x7f-\uffff]/g,(t)=>`\\u${t.charCodeAt(0).toString(16).padStart(4,"0")}`)}function I$n(e,t,s){if(s.startNewTurn||!e.turnId)e.turnId=crypto.randomUUID(),e.turnStartedAtUnixMs=s.turnStartedAtUnixMs;let n=A$n(e),o=s.parentTurnId?.trim()?s.parentTurnId:void 0,r={},i=s.clientMetadata;if(i){for(let c in i)if(!EBi[c])r[c]=i[c]}let a={installation_id:n.installationId,session_id:n.sessionId,thread_id:n.threadId,turn_id:e.turnId,window_id:n.windowId,request_kind:t};if(o)a.parent_turn_id=o;if(s.compaction)a.compaction={trigger:s.compaction.trigger,reason:s.compaction.reason,implementation:s.compaction.implementation,phase:s.compaction.phase,strategy:s.compaction.strategy};if(e.turnStartedAtUnixMs!==void 0)a.turn_started_at_unix_ms=e.turnStartedAtUnixMs;for(let c in r)a[c]=r[c];let l=C$n(a),u=l;if(s.toolNamespacesInfo!==void 0)a.tool_namespaces_info=s.toolNamespacesInfo,u=C$n(a);let p={[zs.INSTALLATION_ID]:n.installationId,session_id:n.sessionId,thread_id:n.threadId,[zs.WINDOW_ID]:n.windowId,turn_id:e.turnId};if(o)p.parent_turn_id=o;return p[zs.TURN_METADATA]=u,{...n,turnId:e.turnId,turnMetadataJson:u,turnMetadataHeaderJson:l,clientMetadata:p}}function P$n(e,t){if(e.set(zs.SCOPED_SESSION_ID,t.sessionId),e.set(zs.THREAD_ID,t.threadId),e.set(zs.WINDOW_ID,t.windowId),t.turnMetadataHeaderJson)e.set(zs.TURN_METADATA,t.turnMetadataHeaderJson);else e.delete(zs.TURN_METADATA)}function xqe(e){let t=fge(e.providerSessionState),s=K0(e.sessionId)??crypto.randomUUID(),n=Vls(s,t),o=M$n(n,e.requestKind,e.compaction,e.startNewTurn);E$n(n,o,e.compaction);let r=I$n(n,e.requestKind,{startNewTurn:o,turnStartedAtUnixMs:e.turnStartedAtUnixMs??(o||!n.turnId?Date.now():void 0),clientMetadata:e.clientMetadata,parentTurnId:e.parentTurnId,compaction:e.compaction}),i=new Headers;if(P$n(i,r),e.includeInstallationHeader)i.set(zs.INSTALLATION_ID,r.installationId);return{clientMetadata:{...r.clientMetadata},headers:Object.fromEntries(i.entries())}}function Yls(e){let t=e.providerSessionState?.get(Gls);if(!_$n(t))return;for(let o of t.webSocketSessions.values())Jg(o);let s=K0(e.sessionId);if(!s)return;let n=t.metadataSessions.get(s);if(!n)return;n.windowId=crypto.randomUUID(),n.compactionOperationId=void 0,n.reuseTurnForNextRequest=e.compaction.phase!=="standalone_turn"}class O$n{eventStream;requestBodyForState;transport;websocketState;openItems=new Map;openItemsByOutputIndex=new Map;currentEntry=null;currentItem=null;currentBlock=null;nativeOutputItems=[];nativeOutputEntries=[];cutoffSummaries=Yct();pendingSummaryDeltas=new Map;websocketStreamRetries=0;providerRetryAttempt=0;sawTerminalEvent=!1;canSafelyReplayWebsocketOverSse=!0;whitespaceToolCallArgumentsDelta;whitespaceLoopRetries=0;constructor(e){this.eventStream=e.eventStream,this.requestBodyForState=e.requestBodyForState,this.transport=e.transport,this.websocketState=e.websocketState}resetAccumulators(){this.openItems.clear(),this.openItemsByOutputIndex.clear(),this.currentEntry=null,this.currentItem=null,this.currentBlock=null,this.nativeOutputItems.length=0,this.nativeOutputEntries.length=0,this.pendingSummaryDeltas.clear(),this.cutoffSummaries=Yct()}finalizeNativeOutputItems(){if(this.nativeOutputEntries.length===0)return this.nativeOutputItems;let e=[];for(let t of this.nativeOutputEntries)if(t.nativeOutputItem)e.push(t.nativeOutputItem);return e.push(...this.nativeOutputItems),this.nativeOutputEntries.length=0,this.nativeOutputItems=e,e}openItemForEvent(e){let t=typeof e.item_id==="string"?e.item_id:"";if(t)return this.openItems.get(t)??null;let s=typeof e.output_index==="number"&&Number.isFinite(e.output_index)?Math.trunc(e.output_index):void 0;if(s!==void 0)return this.openItemsByOutputIndex.get(s)??null;return this.currentEntry}queueSummaryDelta(e,t){if(e?.block?.type!=="thinking"||t.length===0)return;let s=this.pendingSummaryDeltas.get(e)??[];s.push(t),this.pendingSummaryDeltas.set(e,s)}takeSummaryDeltas(e){if(!e)return[];let t=this.pendingSummaryDeltas.get(e)??[];return this.pendingSummaryDeltas.delete(e),t}closeOpenItem(e){if(!e)return;if(e.itemId)this.openItems.delete(e.itemId);if(e.outputIndex!==void 0)this.openItemsByOutputIndex.delete(e.outputIndex);if(this.currentEntry===e)this.currentEntry=null,this.currentItem=null,this.currentBlock=null}observeWhitespaceToolCallArgumentsDelta(e,t){if(!jBi(t)){this.whitespaceToolCallArgumentsDelta=void 0;return}let s=typeof e.item_id==="string"&&e.item_id.length>0?e.item_id:this.currentItem?.id??"",n=typeof e.output_index==="number"&&Number.isFinite(e.output_index)?Math.trunc(e.output_index):void 0,o=typeof e.sequence_number==="number"&&Number.isFinite(e.sequence_number)?Math.trunc(e.sequence_number):void 0,r=this.whitespaceToolCallArgumentsDelta;if(!r||r.itemId!==s||r.outputIndex!==n)r={itemId:s,outputIndex:n,consecutiveEvents:0,consecutiveChars:0,firstSequenceNumber:o},this.whitespaceToolCallArgumentsDelta=r;if(r.consecutiveEvents+=1,r.consecutiveChars+=t.length,r.lastSequenceNumber=o,r.consecutiveEvents<kBi&&r.consecutiveChars<wBi)return;let i=s?` for item ${s}`:"",a=r.firstSequenceNumber===void 0||r.lastSequenceNumber===void 0?"":`, sequence ${r.firstSequenceNumber}..${r.lastSequenceNumber}`;return{message:`Interrupted OpenAI Codex response after ${r.consecutiveEvents} consecutive whitespace-only tool-call argument delta events (${r.consecutiveChars} chars${a})${i}.`}}handleToolCallArgumentsDelta(e,t,s){let n=e.delta||"",o=this.observeWhitespaceToolCallArgumentsDelta(e,n);if(o)return o;let r=this.openItemForEvent(e);if(!r)return;if(r.item.type!=="function_call"||r.block?.type!=="toolCall")return;edt(r.block,n,t,s,r.contentIndex);return}handleToolCallArgumentsDone(e){let t=this.openItemForEvent(e);if(t?.item.type!=="function_call"||t.block?.type!=="toolCall")return;let s=e.arguments;if(typeof s==="string")tdt(t.block,s)}handleCustomToolCallInputDelta(e,t,s){let n=e.delta||"",o=this.observeWhitespaceToolCallArgumentsDelta(e,n);if(o)return o;let r=this.openItemForEvent(e);if(!r)return;if(r.item.type!=="custom_tool_call"||r.block?.type!=="toolCall")return;sdt(r.block,n,t,s,r.contentIndex);return}handleCustomToolCallInputDone(e){let t=this.openItemForEvent(e);if(t?.item.type!=="custom_tool_call"||t.block?.type!=="toolCall")return;let s=e.input;if(typeof s==="string")ndt(t.block,s)}}function F$n(){let e={webSocketSessions:new Map,webSocketPublicToPrivate:new Map,metadataSessions:new Map,effortControls:new Map,close:()=>{for(let t of e.webSocketSessions.values())t.connection?.close("session_disposed");e.webSocketSessions.clear(),e.webSocketPublicToPrivate.clear(),e.metadataSessions.clear(),e.effortControls.clear()}};return e}function _$n(e){return e!==void 0&&"webSocketSessions"in e&&e.webSocketSessions instanceof Map&&"webSocketPublicToPrivate"in e&&e.webSocketPublicToPrivate instanceof Map&&"metadataSessions"in e&&e.metadataSessions instanceof Map&&"effortControls"in e&&e.effortControls instanceof Map}function fge(e){if(!e)return;let t=e.get(Gls);if(_$n(t))return t;let s=F$n();return e.set(Gls,s),s}function ABi(e){if(!(e instanceof wl))return!1;let t=e.message.toLowerCase();return t.includes("websocket closed (")||t.includes("websocket closed before response completion")||t.includes("websocket connection is unavailable")||t.includes("websocket send failed")||t.includes("websocket ping failed")||t.includes("websocket pong timeout")||t.includes("websocket message queue exceeded")||t.includes("websocket request already in progress")||t.includes("idle timeout waiting for websocket")||t.includes("timeout waiting for first websocket event")||t.includes("syntaxerror")||t.includes("json")}function MBi(e){if(!e||typeof e!=="object")return null;let t={};for(let[s,n]of Object.entries(e))if(typeof n==="string")t[s]=n;else if(Array.isArray(n)&&n.every((o)=>typeof o==="string"))t[s]=n.join(",");else if(typeof n==="number"||typeof n==="boolean")t[s]=String(n);return Object.keys(t).length>0?t:null}function JH(e){if(!e)return;if(e instanceof Headers)return e;if(Array.isArray(e))try{return new Headers(e)}catch{return}let t=MBi(e);if(!t)return;return new Headers(t)}function bht(e,t,s){if(!e&&!t||!s)return;let n=s instanceof Headers?s:new Headers(s),o=n.get(dge);if(e&&e.value===void 0&&o&&o.length>0)e.value=o;let r=n.get(wqe);if(t&&r&&r.length>0)t.modelsEtag=r}function IBi(e,t){let s=t,n=s?.response,o=e,{response:r,handshake:i}=o;return JH(s?.responseHeaders)??JH(s?.headers)??JH(n?.headers)??JH(o.responseHeaders)??JH(o.handshakeHeaders)??JH(r?.headers)??JH(i?.headers)}function PBi(e,t,s){let n=typeof t.type==="string"?t.type:null,o=[`: ws \u2190 ${n??"(untyped)"}`];if(n)o.push(`event: ${n}`);o.push(`data: ${s}`),O$(e,{event:n,data:s,raw:o})}function b$n(e,t,s){let n=typeof t.type==="string"?t.type:null,o=[`: ws \u2192 ${n??"(untyped)"}`];if(n)o.push(`event: ${n}`);o.push(`data: ${s}`),O$(e,{event:n,data:s,raw:o})}function OBi(e,t,s){let n=typeof t==="string"?t:"",r=[`: ws \u2190 (parse-error: ${s instanceof Error?s.message:String(s)})`];if(n)r.push(`data: ${n}`);O$(e,{event:"parse_error",data:n,raw:r})}function D$n(e,t=[],s){if(!e)return;if(typeof e==="string")return e;let n=s?s.applyPatchToolType==="freeform":!1,o=(r)=>{let i=t.find((u)=>u.name===r),a=n?t.find((u)=>u.customFormat&&(u.name===r||u.customWireName===r)):void 0,l=a??i;if(!l)return;if(l.native?.type==="computer"&&s?.supportsComputerUse===!0)return{type:"computer"};return a?{type:"custom",name:a.customWireName??a.name}:{type:"function",name:l.name}};if(e.type==="computer"){let r=t.find((i)=>i.native?.type==="computer");if(!r)return;return s?.supportsComputerUse===!0?{type:"computer"}:{type:"function",name:r.name}}if(e.type==="function"){if("function"in e&&e.function?.name)return o(e.function.name);if("name"in e&&e.name)return o(e.name)}if(e.type==="tool"&&e.name)return o(e.name);return}function k$n(e,t){let s=yDn(e),n=[];for(let o of s){if(o.type==="computer_call"){let r=o.actions??(o.action?[o.action]:[]);n.push({type:"function_call",call_id:o.call_id,name:"computer",arguments:JSON.stringify({actions:r}),status:o.status});continue}if(o.type==="computer_call_output"){let r=typeof o.output.image_url==="string"&&o.output.image_url.length>0?{type:"input_image",detail:t?"original":"auto",image_url:o.output.image_url}:typeof o.output.file_id==="string"&&o.output.file_id.length>0?{type:"input_image",detail:t?"original":"auto",file_id:o.output.file_id}:void 0;if(n.push({type:"function_call_output",call_id:o.call_id,output:r?"(see attached image)":""}),r)n.push({role:"user",content:[{type:"input_text",text:"Attached image from computer tool result:"},r]});continue}n.push(o)}return n}function FBi(e){let t=!1,s=e.content.map((n)=>{if(n.type!=="toolCall"||n.providerMetadata?.type!=="computer")return n;t=!0;let o={...n,arguments:{actions:ai(n.providerMetadata.actions)}};return delete o.providerMetadata,o});return t?{...e,content:s}:e}function _Bi(e){if(e.providerMetadata?.type!=="computer")return e;let t={...e};return delete t.providerMetadata,t}function DBi(e,t){if(t!=="flex"&&t!=="priority")return 1;return e.serviceTierCost?.[t]??1}function NBi(e,t){let s=e??t;return s==="flex"||s==="priority"?s:"default"}function LBi(e,t,s,n){let o=NBi(s,n),r=DBi(e,o);if(r===1)return;t.cost.input*=r,t.cost.output*=r,t.cost.cacheRead*=r,t.cost.cacheWrite*=r,t.cost.total=t.cost.input+t.cost.output+t.cost.cacheRead+t.cost.cacheWrite}function pge(e){e.content.length=0,e.usage={input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},e.stopReason="stop",e.stopDetails=void 0}function N$n(e){let t=new AbortController,s=e?.signal?AbortSignal.any([e.signal,t.signal]):t.signal,n=e?.streamIdleTimeoutMs??XS(),o=e?.streamIdleTimeoutMs??fBi,r=e?.streamFirstEventTimeoutMs??ex(n),i=e?.streamFirstEventTimeoutMs??mBi;return{requestAbortController:t,requestSignal:s,wrapCodexSseStream:(l)=>eg(l,{idleTimeoutMs:n,firstItemTimeoutMs:r,firstItemErrorMessage:"OpenAI Codex SSE stream timed out while waiting for the first event",errorMessage:"OpenAI Codex SSE stream stalled while waiting for the next event",onIdle:()=>t.abort(),onFirstItemTimeout:()=>t.abort(),abortSignal:e?.signal,isProgressItem:x$n}),firstEventTimeoutMs:r,websocketIdleTimeoutMs:o,websocketFirstEventTimeoutMs:i}}function L$n(e,t,s,n){let o=s?.apiKey||oo(e.provider)||"";if(!o)throw new Yi(e.provider);let r=sC(o);_ls(t,e,r);let i=e.baseUrl||Ou,a=mge(i),l=K0(s?.sessionId),u=tC,p={...e.headers,...s?.headers},c={provider:e.provider,api:e.api,model:e.id,method:"POST",url:a,body:t},d=fge(s?.providerSessionState),f=n.isolateCompactionTransport&&s?.codexCompaction?F$n():void 0,m=f??d,g=A1e(s?.responsesLite),h=W$n(l,e,r,o,i,g),y=l?`${i}:${e.id}:${l}`:void 0;if(h&&y)m?.webSocketPublicToPrivate.set(y,h);let T=h&&d?f?d.webSocketSessions.get(h):jls(h,d):void 0,R=h&&f?jls(h,f):T;if(f&&R&&T)R.disableWebsocket=T.disableWebsocket,R.modelsEtag=T.modelsEtag;let C=l??crypto.randomUUID(),b=Vls(C,d),S=s?.codexCompaction,x=S?"compaction":"turn",v=M$n(b,x,S,n.startNewTurn),A=S?.phase==="standalone_turn";E$n(b,v,S);let E=A?{}:v$n(b,h),F=I$n(b,x,{startNewTurn:v,turnStartedAtUnixMs:S?v||!b.turnId?Date.now():void 0:n.turnStartedAtUnixMs,clientMetadata:t.client_metadata,parentTurnId:s?.parentTurnId,compaction:S,toolNamespacesInfo:s?.toolNamespacesInfo});return t.client_metadata=F.clientMetadata,{apiKey:o,accountId:r,baseUrl:i,url:a,requestHeaders:p,transportSessionId:l,providerSessionState:d,isolatedTransportState:f,websocketState:R,turnState:E,responsesLite:g,requestMetadata:F,codexClientVersion:u,transformedBody:t,rawRequestDump:c}}async function qBi(e,t,s){let n=ly(s),o=await kht(e,t,s,n);return L$n(e,o,s,{isolateCompactionTransport:!0,startNewTurn:s?.codexCompaction?void 0:!GBi(t),turnStartedAtUnixMs:s?.codexCompaction?void 0:WBi(t)})}async function kht(e,t,s,n=ly(s),o){let r=tus(e,t),i={model:e.requestModelId??e.id,input:o?.length?[...o,...r]:r,stream:!0,prompt_cache_key:n};if(mme(i,s?.serviceTier,e),t.tools&&t.tools.length>0){if(i.tools=V$n(t.tools,e),s?.toolChoice){let c=D$n(s.toolChoice,t.tools,e);if(c)i.tool_choice=c}}let a=Fu(t.systemPrompt);if(a.length>0)i.instructions=a[0];let l=a.slice(1);if(s?.clientMetadata&&Object.keys(s.clientMetadata).length>0)i.client_metadata={...s.clientMetadata};let u={reasoningEffort:s?.reasoning,reasoningOff:s?.forceReasoningOff,reasoningSummary:s?.reasoningSummary,reasoningContext:s?.reasoningContext,textVerbosity:s?.textVerbosity,include:s?.include,responsesLite:s?.responsesLite},p=await Cos(i,e,u,{developerMessages:l});return UBi(e,p,s),p}function UBi(e,t,s){if(!e.compat.supportsConfigurationUpdate||s?.codexCompaction)return;let n=t.reasoning?.effort;if(n===void 0||n==="none"||!t.input)return;let o=fge(s?.providerSessionState),r=K0(s?.sessionId);if(!o||!r)return;let i=Tqe(o.effortControls,`${e.id}\x00${r}`);t.reasoning={...t.reasoning,effort:Rqe(i,t.input,n)}}async function q$n(e,t,s,n){let{transformedBody:o,websocketState:r}=n;if(r&&G$n(e,r,t?.preferWebsockets)){let i=kqe,a=0;while(!0)try{return await H$n(e,t,n,s,r,a,t?(l)=>t.onSseEvent?.(l,e):void 0)}catch(l){if(!(l instanceof wl))throw l;let u=l.message.toLowerCase(),p=S$n.some((d)=>u.includes(d.toLowerCase())),c=p||a>=i;if(cge(r,c),xd&&se("[codex] codex websocket fallback",{error:l.message,retry:a,retryBudget:i,activated:c,fatal:p}),!c){a+=1,await Cqe.wait(Wls*Math.max(1,a),{signal:s.requestSignal});continue}break}}else if(r)XBi(r);try{return await Sqe(e,n,s,t,r,o)}catch(i){if(!mqe(o,e,n.accountId,i))throw i;return Sqe(e,n,s,t,r,o)}}function HBi(e){let t={model:e.model};for(let s in e)if(s!=="model")t[s]=e[s];return t}async function Jls(e,t,s){let n=N$n(s),o,r;try{o=L$n(e,HBi(t),s,{isolateCompactionTransport:!1}),r=await q$n(e,s,n,o)}catch(i){throw n.requestAbortController.abort(),i}if(o.websocketState)o.websocketState.lastTransport=r.transport,Jg(o.websocketState);return BBi(e,s,n,o,r)}async function*BBi(e,t,s,n,o){let r=!1,i=n.websocketState,a=n.turnState.value,l=i?.modelsEtag;try{if(o.transport==="websocket"){let u=[];try{for await(let c of o.eventStream)u.push(c)}catch(c){if(t.signal?.aborted||!(c instanceof wl))throw c;let d=n.websocketState;if(d)cge(d,!0);let f=await Sqe(e,n,s,t,d);if(d)d.lastTransport=f.transport;yield*Bls(f.eventStream,n),r=!0;return}let p=u.findLast((c)=>c.type==="error"||c.type==="response.failed");if(p!==void 0&&mqe(n.transformedBody,e,n.accountId,nus(p))){let c=await Sqe(e,n,s,t,i);if(i)i.lastTransport=c.transport;yield*Bls(c.eventStream,n),r=!0;return}for(let c of u)U$n(n,c),yield c}else yield*Bls(o.eventStream,n);r=!0}finally{if(!r){if(s.requestAbortController.abort(),n.turnState.value=a,i)i.modelsEtag=l}}}function U$n(e,t){if(t.type!=="response.metadata")return;bht(e.turnState,e.websocketState,JH(t.headers))}async function*Bls(e,t){for await(let s of e)U$n(t,s),yield s}async function H$n(e,t,s,n,o,r,i){let a=o.acceptedSteering;o.acceptedSteering=void 0;let l=o.canAppend===!0,u=pWi(s.transformedBody,o),p=eus(s.requestHeaders,s.accountId,s.apiKey,s.codexClientVersion,s.transportSessionId,"websocket",o,s.turnState,s.responsesLite,s.requestMetadata,await lZ(s.accountId),s.transformedBody),c=await zls(o,s.turnState,Tht(s.url),p,e.provider,n.requestSignal),d={idleTimeoutMs:n.websocketIdleTimeoutMs,firstEventTimeoutMs:n.websocketFirstEventTimeoutMs},m=(a?.connection===c?a.steers:[]).filter((C)=>!c.hasFailedSteer([C.id]));if(m.length>0){let C=Lls(u.previous_response_id?u.input:void 0,m.flatMap((b)=>b.items));if(C.kind==="attach")return $ls(o,u,"websocket",l),s.rawRequestDump.body=u,{eventStream:c.streamRequest({attachSteerIds:m.map((b)=>b.id)},d,n.requestSignal,i),requestBodyForState:ai(s.transformedBody),transport:"websocket"};if(C.kind==="create")u={...u,input:C.input};else c.close("steering-discard"),o.connection=void 0,Jg(o),u=s.transformedBody,c=await zls(o,s.turnState,Tht(s.url),p,e.provider,n.requestSignal)}let g={...u.client_metadata};if(s.responsesLite)g[TBi]="true";if(s.turnState.value)g[dge]=s.turnState.value;let h={type:"response.create",...u,client_metadata:g},y=await t?.onPayload?.(h,e);if(y!==void 0)h=y;$ls(o,h,"websocket",l);let T=ai(s.transformedBody);if(h.stream_options===void 0)delete T.stream_options;else T.stream_options=h.stream_options;return s.rawRequestDump.body=h,xd&&se("[codex] codex websocket request",{url:Tht(s.url),model:s.transformedBody.model,reasoningEffort:s.transformedBody.reasoning?.effort??null,headers:K$n(p),sentTurnStateHeader:p.has(dge),sentModelsEtagHeader:p.has(wqe),requestType:h.type,retry:r,retryBudget:kqe}),{eventStream:c.streamRequest({send:h},d,n.requestSignal,i),requestBodyForState:T,transport:"websocket"}}function WBi(e){for(let t=e.messages.length-1;t>=0;t--){let s=e.messages[t];if(s?.role==="user"&&Number.isFinite(s.timestamp))return Math.trunc(s.timestamp)}return Date.now()}function GBi(e){for(let t=e.messages.length-1;t>=0;t--){let s=e.messages[t]?.role;if(s==="toolResult")continue;return s==="assistant"}return!1}async function Sqe(e,t,s,n,o,r=t.transformedBody){let i=async(p)=>(t.rawRequestDump.body=p,s.wrapCodexSseStream(await fWi(t.url,t.requestHeaders,t.accountId,t.apiKey,t.transportSessionId,p,o,t.turnState,t.responsesLite,t.codexClientVersion,t.requestMetadata,s.requestSignal,s.firstEventTimeoutMs,n?.codexSseMaxAttempts,(c)=>n?.onSseEvent?.(c,e),n?.fetch))),a=o?.canAppend===!0,l=r,u=await n?.onPayload?.(l,e);if(u!==void 0)l=u;return $ls(o,l,"sse",a),{eventStream:await i(l),requestBodyForState:ai(l),transport:"sse"}}function jBi(e){for(let t=0;t<e.length;t+=1){let s=e.charCodeAt(t);if(s!==9&&s!==10&&s!==13&&s!==32)return!1}return!0}function $Bi(e){if(e.type==="reasoning")return{type:"thinking",thinking:""};if(e.type==="message"){let t=e.phase==="commentary"||e.phase==="final_answer"?e.phase:void 0;return{type:"text",text:"",textSignature:_H(e.id,t)}}if(e.type==="function_call")return{type:"toolCall",id:xk(e.call_id,e.id),name:e.name,arguments:{},[Dn]:e.arguments||""};if(e.type==="computer_call")return{type:"toolCall",id:xk(e.call_id,e.id),name:"computer",arguments:{},providerMetadata:fme(e),[Dn]:""};if(e.type==="custom_tool_call")return{type:"toolCall",id:xk(e.call_id,e.id),name:e.name,arguments:{input:e.input??""},customWireName:e.name,[Dn]:e.input??""};return null}function zBi(e){if(e.type==="thinking")return"thinking_start";if(e.type==="text")return"text_start";return"toolcall_start"}function YBi(e){if(!(e instanceof Error))return!1;if("code"in e&&typeof e.code==="string"&&Object.hasOwn(KBi,e.code))return!0;return/previous[ _]?response/i.test(e.message)&&/not[ _]?found|invalid|expired|stale|unsupported/i.test(e.message)}function JBi(e,t){if(!(t instanceof XH)||!t.code)return!1;let s=e.requestContext.websocketState;return Object.hasOwn(VBi,t.code.toLowerCase())&&e.runtime?.transport==="websocket"&&s?.canAppend===!0&&s.lastRequest!==void 0&&s.lastResponseId!==void 0&&s.lastResponseItems!==void 0}async function QBi(e,t){let{output:s}=e;if(e.requestContext.websocketState&&!JBi(e,t))Jg(e.requestContext.websocketState),e.requestContext.websocketState.modelsEtag=void 0;let n=await Iu(t,{api:e.model.api,provider:e.model.provider,model:e.model.id,signal:e.options?.signal,rawRequestDump:e.requestContext.rawRequestDump});if(s.stopReason=n.stopReason,s.errorStatus=n.status,s.errorId=n.id,s.errorMessage=n.message,s.duration=performance.now()-e.startTime,e.firstTokenTime)s.ttft=e.firstTokenTime-e.startTime;return s}class B$n{runtime;model;output;stream;options;requestSetup;requestContext;startTime;firstTokenTime;#e;#t;#s=!1;constructor(e){this.runtime=e.runtime,this.model=e.model,this.output=e.output,this.stream=e.stream,this.options=e.options,this.requestSetup=e.requestSetup,this.requestContext=e.requestContext,this.startTime=e.startTime}get#n(){return this.runtime.requestBodyForState.stream_options?.reasoning_summary_delivery==="sequential_cutoff"}async process(){let{output:e,stream:t}=this;t.push({type:"start",partial:e});while(!0)try{let s=this.firstTokenTime;for await(let n of this.runtime.eventStream)if(s=this.#o(n,s),this.runtime.sawTerminalEvent)break;if(!this.runtime.sawTerminalEvent)throw xd&&se("[codex] codex stream ended unexpectedly",{transport:this.runtime.transport,terminalEventSeen:!1,unexpectedStreamEnd:!0,sentTurnStateHeader:Boolean(this.requestContext.turnState.value),sentModelsEtagHeader:Boolean(this.requestContext.websocketState?.modelsEtag)}),new XH("Codex stream ended before terminal completion event",!0);return await this.#a(!0),{firstTokenTime:s}}catch(s){if(await this.#i(),!await this.#c(s))throw await this.#a(!1),s;t.push({type:"start",partial:e})}}#o(e,t){let{output:s,stream:n}=this,o=typeof e.type==="string"?e.type:"";if(!o)return t;if(o==="response.created")return this.#r(e),t;if(o==="response.output_item.added"){if(this.runtime.whitespaceToolCallArgumentsDelta=void 0,!t)t=performance.now();let r=e.item;this.runtime.currentItem=r,this.runtime.currentBlock=$Bi(r);let i=-1;if(this.runtime.currentBlock)s.content.push(this.runtime.currentBlock),i=s.content.length-1;let a=typeof r.id==="string"?r.id:void 0,l=typeof e.output_index==="number"&&Number.isFinite(e.output_index)?Math.trunc(e.output_index):void 0,u={item:r,block:this.runtime.currentBlock,contentIndex:i,itemId:a,outputIndex:l};if(this.runtime.nativeOutputEntries.push(u),this.runtime.currentEntry=u,a)this.runtime.openItems.set(a,u);if(l!==void 0)this.runtime.openItemsByOutputIndex.set(l,u);if(!this.runtime.currentBlock)return t;return n.push({type:zBi(this.runtime.currentBlock),contentIndex:i,partial:s}),t}if(o==="response.reasoning_summary_part.added"){if(this.#n)return t;let r=this.runtime.openItemForEvent(e);if(r?.item.type==="reasoning")Vct(r.item,e.part);return t}if(o==="response.reasoning_summary_text.delta"){let r=this.runtime.openItemForEvent(e),i=typeof e.delta==="string"?e.delta:"";if(this.#n)return this.runtime.queueSummaryDelta(r,i),t;if(r?.item.type==="reasoning"&&r.block?.type==="thinking")Qct(r.item,r.block,i,n,s,r.contentIndex);return t}if(o==="response.reasoning_summary_text.done"){if(!this.#n)return t;let r=this.runtime.openItemForEvent(e);if(r?.item.type==="reasoning"&&r.block?.type==="thinking"){if(this.runtime.takeSummaryDeltas(r),!t)t=performance.now();let i=typeof e.summary_index==="number"&&Number.isFinite(e.summary_index)?Math.trunc(e.summary_index):0;Oos(this.runtime.cutoffSummaries,r.block,typeof e.text==="string"?e.text:"",i,n,s,r.contentIndex)}return t}if(o==="response.reasoning_text.delta"){let r=this.runtime.openItemForEvent(e),i=typeof e.delta==="string"?e.delta:"";if(r?.item.type==="reasoning"&&r.block?.type==="thinking")r.block.thinking+=i,n.push({type:"thinking_delta",contentIndex:r.contentIndex,delta:i,partial:s});return t}if(o==="response.reasoning_summary_part.done"){let r=this.runtime.openItemForEvent(e);if(this.#n){if(r&&this.runtime.pendingSummaryDeltas.has(r))this.runtime.queueSummaryDelta(r,`
481
481
 
482
- `);return t}if(r?.item.type==="reasoning"&&r.block?.type==="thinking")Xct(r.item,r.block,n,s,r.contentIndex);return t}if(o==="response.content_part.added"){let r=this.runtime.openItemForEvent(e);if(r?.item.type==="message")Zct(r.item,e.part);return t}if(o==="response.output_text.delta"||o==="response.refusal.delta"){let r=this.runtime.openItemForEvent(e);if(r?.item.type==="message"&&r.block?.type==="text")dme(r.item,r.block,e.delta||"",n,s,r.contentIndex,o==="response.refusal.delta"?"refusal":"output_text");return t}if(o==="response.function_call_arguments.delta"){let r=this.runtime.handleToolCallArgumentsDelta(e,n,s);if(r)throw this.runtime.websocketState?.connection?.close("degenerate-tool-call"),new Rht(r.message);return t}if(o==="response.function_call_arguments.done")return this.runtime.whitespaceToolCallArgumentsDelta=void 0,this.runtime.handleToolCallArgumentsDone(e),t;if(o==="response.custom_tool_call_input.delta"){let r=this.runtime.handleCustomToolCallInputDelta(e,n,s);if(r)throw this.runtime.websocketState?.connection?.close("degenerate-tool-call"),new Rht(r.message);return t}if(o==="response.custom_tool_call_input.done")return this.runtime.whitespaceToolCallArgumentsDelta=void 0,this.runtime.handleCustomToolCallInputDone(e),t;if(o==="response.output_item.done")return this.runtime.whitespaceToolCallArgumentsDelta=void 0,this.#p(e),t;if(o==="response.completed"||o==="response.done"||o==="response.incomplete")return this.#d(e),t;if(o==="response.metadata"){bht(this.requestContext.turnState,this.requestContext.websocketState,JH(e.headers));let r=_o(e.metadata)?.[RBi];if(r!==void 0)try{this.options?.onModerationMetadata?.(r)}catch{}return t}if(o==="error"||o==="response.failed")throw nus(e);return t}#r(e){let t=this.options?.liveSteering,s=this.runtime.websocketState?.connection,n=_o(e.response)?.id;if(!t||!s||this.#e||typeof n!=="string"||this.runtime.transport!=="websocket"||!this.model.compat.supportsSteering)return;this.#t=s,this.#e=new mht(t,s,(o)=>Nls(tus(this.model,{messages:[...o]}))),this.#e.start(n)}async#i(){let e=this.#e;if(!e)return;this.#e=void 0;let t=await e.finish();if(t.accepted.length>0||t.uncertain)this.#s=!0}async#a(e){let t=this.#e;this.#e=void 0;let s=t?await t.finish():void 0,n=s?.accepted??[],o=this.#s||s?.uncertain===!0,r=this.runtime.websocketState,i=this.#t;if(!r||!i||n.length===0&&!o)return;if(e&&!o&&r.canAppend&&r.connection===i&&r.lastResponseId===s?.responseId){r.acceptedSteering={connection:i,steers:n};return}if(i.close("steering-discard"),r.connection===i)r.connection=void 0;Jg(r)}#l(e){if(e?.block?.type!=="thinking")return;for(let t of this.runtime.takeSummaryDeltas(e))e.block.thinking+=t,this.stream.push({type:"thinking_delta",contentIndex:e.contentIndex,delta:t,partial:this.output})}#p(e){let{runtime:t,output:s,stream:n}=this,o=e.item;if(!o||typeof o!=="object")return;let r=ai(o);if(r.type==="image_generation_call"&&r.result)r.status="completed";let i="id"in r&&typeof r.id==="string"?r.id:"",a=(i?t.openItems.get(i):null)??t.openItemForEvent(e),l=r;if(a)a.nativeOutputItem=l;else t.nativeOutputItems.push(l);let u=a?.block??null,p=a?.contentIndex??s.content.length-1;if(r.type==="image_generation_call"&&r.result){odt(s,n,r.result),t.closeOpenItem(a);return}if(r.type==="reasoning"&&u?.type==="thinking"){this.#l(a),u.thinking=Jct(r,u.thinking,this.#n?this.runtime.cutoffSummaries:void 0),u.thinkingSignature=JSON.stringify(r),n.push({type:"thinking_end",contentIndex:p,content:u.thinking,partial:s}),t.closeOpenItem(a);return}if(r.type==="message"&&u?.type==="text"){u.text=j1e(r,u.text);let c=r.phase==="commentary"||r.phase==="final_answer"?r.phase:void 0;u.textSignature=_H(r.id,c),n.push({type:"text_end",contentIndex:p,content:u.text,partial:s}),t.closeOpenItem(a);return}if(r.type==="function_call"){let c={type:"toolCall",id:xk(r.call_id,r.id),name:r.name,arguments:vi(r.arguments)};if(u?.type==="toolCall")u.arguments=c.arguments,Ra(u);t.closeOpenItem(a),t.canSafelyReplayWebsocketOverSse=!1,n.push({type:"toolcall_end",contentIndex:p,toolCall:c,partial:s});return}if(r.type==="computer_call"){let c={type:"toolCall",id:xk(r.call_id,r.id),name:"computer",arguments:{},providerMetadata:fme(r)},d=p;if(u?.type==="toolCall")u.id=c.id,u.providerMetadata=c.providerMetadata,Ra(u);else s.content.push(c),d=s.content.length-1;t.closeOpenItem(a),t.canSafelyReplayWebsocketOverSse=!1,n.push({type:"toolcall_end",contentIndex:d,toolCall:c,partial:s});return}if(r.type==="custom_tool_call"){let c=u?.type==="toolCall"?u[Dn]:void 0,d=c&&c.length>0?c:r.input??"",f={type:"toolCall",id:xk(r.call_id,r.id),name:r.name,arguments:{input:d},customWireName:r.name};if(u?.type==="toolCall")u.arguments={input:d},Ra(u);t.closeOpenItem(a),t.canSafelyReplayWebsocketOverSse=!1,n.push({type:"toolcall_end",contentIndex:p,toolCall:f,partial:s});return}}#d(e){let{runtime:t,model:s,output:n}=this;t.sawTerminalEvent=!0;let o=e.response,r=o&&typeof o==="object"?o:void 0,i=r&&"id"in r&&typeof r.id==="string"?r.id:void 0,a=r&&"usage"in r?oWi(r.usage):void 0,l=r&&"service_tier"in r?sWi(r.service_tier):void 0,u=r&&"status"in r?nWi(r.status):void 0,p=r&&"end_turn"in r?r.end_turn:void 0;if(P1e(n,a),lWi(t.websocketState,a,n.usage),i)n.responseId=i;let c=r&&"incomplete_details"in r&&r.incomplete_details&&typeof r.incomplete_details==="object"?r.incomplete_details:void 0,d=c&&"reason"in c?c.reason:void 0,f=u==="incomplete"&&d==="steered";if(f)se("Codex response stopped for steering",{responseId:i});let m=t.websocketState;if(m)if(t.transport!=="websocket")Jg(m);else{m.lastRequest=ai(t.requestBodyForState);let h=t.finalizeNativeOutputItems(),y=oX(ai(h));if(i&&y&&y.length===h.length)m.lastResponseId=i,m.lastResponseItems=y,m.canAppend=e.type==="response.done"||e.type==="response.completed"||f;else Jg(m)}let g=u==="incomplete"&&d==="max_output_tokens"&&idt(n);adt(n),Or(s,n.usage,n.timestamp),LBi(s,n.usage,l,t.requestBodyForState.service_tier),n.stopReason=rdt(f?"completed":u),ldt(n,p===!0?!0:p===!1?!1:void 0,g)}async#c(e){if(e instanceof Cht&&this.runtime.websocketState&&this.output.content.length===0&&!this.options?.signal?.aborted)return await this.#R(this.runtime.websocketState),!0;if(await this.#h(e))return!0;if(await this.#u(e))return!0;if(await this.#f(e))return!0;if(await this.#T(e))return!0;if(await this.#y(e))return!0;if(await this.#C(e))return!0;return!1}async#u(e){if(!(e instanceof Rht))return!1;if(this.#m(),this.runtime.whitespaceLoopRetries>=y$n||!this.runtime.canSafelyReplayWebsocketOverSse||this.output.content.some((s)=>s.type!=="thinking")||this.options?.signal?.aborted)return!1;this.runtime.whitespaceLoopRetries+=1;let t=this.requestContext.websocketState;if(t)Jg(t),t.modelsEtag=void 0;if(xd&&se("[codex] retrying codex turn after whitespace-only tool-call argument loop",{retry:this.runtime.whitespaceLoopRetries,retryBudget:y$n,transport:this.runtime.transport}),this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,this.runtime.whitespaceToolCallArgumentsDelta=void 0,pge(this.output),this.firstTokenTime=void 0,await Cqe.wait(SBi*this.runtime.whitespaceLoopRetries,{signal:this.requestSetup.requestSignal}),this.runtime.transport==="websocket"&&t)return await this.#R(t),!0;return await this.#k(t),!0}#m(){let{runtime:e,output:t}=this,s=e.currentBlock;if(s&&s.type==="toolCall"&&t.content[t.content.length-1]===s)t.content.pop();e.closeOpenItem(e.currentEntry)}async#f(e){if(!(e instanceof XH)||e.code!=="websocket_connection_limit_reached")return!1;let t=this.requestContext.websocketState;if(!t||this.runtime.transport!=="websocket"||this.options?.signal?.aborted)return!1;if(t.connection?.close("connection_limit"),t.connection=void 0,Jg(t),this.output.content.length>0&&!this.runtime.canSafelyReplayWebsocketOverSse)return!1;if(xd&&se("[codex] codex websocket connection limit reached, reconnecting",{hadContent:this.output.content.length>0,retry:this.runtime.websocketStreamRetries}),this.output.content.length>0)return this.runtime.resetAccumulators(),pge(this.output),this.firstTokenTime=void 0,cge(t,!0),await this.#k(t),!0;if(this.runtime.resetAccumulators(),this.firstTokenTime=void 0,this.runtime.websocketStreamRetries>=kqe)return cge(t,!0),await this.#k(t),!0;return this.runtime.websocketStreamRetries+=1,await Cqe.wait(Wls*Math.max(1,this.runtime.websocketStreamRetries),{signal:this.requestSetup.requestSignal}),await this.#R(t),!0}async#h(e){if(vH(this.output)||this.options?.signal?.aborted||!mqe(this.requestContext.transformedBody,this.model,this.requestContext.accountId,e))return!1;this.#g();let t=this.requestContext.websocketState;if(t)Jg(t);if(this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,pge(this.output),this.firstTokenTime=void 0,this.runtime.transport==="websocket"&&t)await this.#R(t);else await this.#k(t);return!0}async#T(e){let t=this.requestContext.websocketState;if(!YBi(e)||!t||this.output.content.length>0||this.options?.signal?.aborted||this.runtime.providerRetryAttempt>=bqe)return!1;if(this.runtime.transport!=="websocket")return!1;return this.runtime.providerRetryAttempt+=1,Jg(t),t.modelsEtag=void 0,this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,pge(this.output),this.firstTokenTime=void 0,xd&&se("[codex] codex previous_response_id expired; retrying with full context",{retry:this.runtime.providerRetryAttempt}),await this.#R(t),!0}async#y(e){let t=this.requestContext.websocketState;if(!(this.runtime.transport==="websocket"&&t&&ABi(e)&&this.runtime.canSafelyReplayWebsocketOverSse&&!this.runtime.sawTerminalEvent&&!this.options?.signal?.aborted))return!1;let n=t,o=e instanceof Error?e:Error(String(e)),r=this.output.content.length>0,i=o.message.toLowerCase(),a=S$n.some((u)=>i.includes(u.toLowerCase())),l=r||a||this.runtime.websocketStreamRetries>=kqe;if(cge(n,l),xd&&se("[codex] codex websocket stream fallback",{error:o.message,retry:this.runtime.websocketStreamRetries,retryBudget:kqe,activated:l,fatal:a,replayedBufferedOutput:r}),!l)return this.runtime.websocketStreamRetries+=1,this.runtime.resetAccumulators(),this.firstTokenTime=void 0,await Cqe.wait(Wls*Math.max(1,this.runtime.websocketStreamRetries),{signal:this.requestSetup.requestSignal}),await this.#R(n),!0;return this.runtime.resetAccumulators(),pge(this.output),this.firstTokenTime=void 0,await this.#k(n),!0}#g(){let{runtime:e,output:t,stream:s}=this,n=new Set(e.openItems.values());for(let o of e.openItemsByOutputIndex.values())n.add(o);if(e.currentEntry)n.add(e.currentEntry);for(let o of n){let r=o.block;if(r?.type==="thinking")s.push({type:"thinking_end",contentIndex:o.contentIndex,content:r.thinking,partial:t});else if(r?.type==="text")s.push({type:"text_end",contentIndex:o.contentIndex,content:r.text,partial:t})}}async#C(e){let t=e instanceof XH?e.retryable:v0(e),s=this.output.content.some((o)=>o.type==="text"&&o.text.length>0||o.type==="thinking"&&o.thinking.length>0);if(!t||vH(this.output)||s||!this.runtime.canSafelyReplayWebsocketOverSse||this.runtime.providerRetryAttempt>=bqe||this.options?.signal?.aborted)return!1;this.#g(),this.runtime.providerRetryAttempt+=1;let n=this.requestContext.websocketState;if(n)Jg(n),n.modelsEtag=void 0;if(xd&&se("[codex] retrying codex provider stream error",{error:e instanceof Error?e.message:String(e),retry:this.runtime.providerRetryAttempt,retryBudget:bqe,transport:this.runtime.transport}),this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,pge(this.output),this.firstTokenTime=void 0,await Cqe.wait(Kls*this.runtime.providerRetryAttempt,{signal:this.requestSetup.requestSignal}),this.runtime.transport==="websocket"&&n)return await this.#R(n),!0;return await this.#k(n),!0}async#R(e){try{let t=await H$n(this.model,this.options,this.requestContext,this.requestSetup,e,this.runtime.websocketStreamRetries,this.options?(s)=>this.options?.onSseEvent?.(s,this.model):void 0);this.runtime.eventStream=t.eventStream,this.runtime.requestBodyForState=t.requestBodyForState,this.runtime.transport=t.transport,e.lastTransport=t.transport}catch(t){if(!(t instanceof wl))throw t;cge(e,!0),xd&&se("[codex] codex websocket reopen failed, falling back to SSE",{error:t.message,retry:this.runtime.websocketStreamRetries}),await this.#k(e)}}async#k(e){let t=await Sqe(this.model,this.requestContext,this.requestSetup,this.options,e);if(this.runtime.eventStream=t.eventStream,this.runtime.requestBodyForState=t.requestBodyForState,this.runtime.transport=t.transport,e)e.lastTransport=t.transport}finalize(e){let{output:t}=this;if(this.options?.signal?.aborted)throw new Zs;if(t.stopReason==="aborted"||t.stopReason==="error")throw new XH("Codex response failed",!1);if(t.providerPayload=mct(this.model.provider,this.runtime.finalizeNativeOutputItems()),t.duration=performance.now()-this.startTime,e.firstTokenTime)t.ttft=e.firstTokenTime-this.startTime;return t}}async function Xls(e,t){let s=t?.apiKey||oo(e.provider)||"";if(!s)return;let n=sC(s),o=e.baseUrl||Ou,r=mge(o),i=K0(t?.sessionId),a=i,l=fge(t?.providerSessionState),u=A1e(t?.responsesLite),p=W$n(i,e,n,s,o,u),c=i?`${o}:${e.id}:${i}`:void 0;if(c&&p)l?.webSocketPublicToPrivate.set(c,p);if(!p||!l)return;let d=jls(p,l);if(!G$n(e,d,t?.preferWebsockets))return;let f=Vls(i??crypto.randomUUID(),l),m=v$n(f,p),g=tC,h=A$n(f),y=await lZ(n),T=Gt("prewarmCodex:createHeaders",eus,{...e.headers,...t?.headers},n,s,g,a,"websocket",d,m,u,h,y);await Gt("prewarmCodex:establishWs",zls,d,m,Tht(r),T,e.provider,t?.signal),d.prewarmed=!0}function W$n(e,t,s,n,o,r){if(!e)return;let i=s?`account:${s}`:`token:${Bun.hash(n).toString(36)}`,a=r?":lite":"";return`${i}:${o}:${t.id}:${e}${a}`}function jls(e,t){let s=t.webSocketSessions.get(e);if(s)return s;let n={disableWebsocket:!1,canAppend:!1,fallbackCount:0,prewarmed:!1,stats:{fullContextRequests:0,deltaRequests:0,lastInputItems:0}};return t.webSocketSessions.set(e,n),n}function Jg(e){e.canAppend=!1,e.lastRequest=void 0,e.lastResponseId=void 0,e.lastResponseItems=void 0}function cge(e,t){if(Jg(e),e.connection&&!e.connection.isConnecting())e.connection.close("fallback"),e.connection=void 0;if(e.lastFallbackAt=Date.now(),t&&!e.disableWebsocket)e.disableWebsocket=!0,e.fallbackCount+=1}function XBi(e){let t=e.connection;if(!t||t.isBusy())return;t.close("transport_not_selected"),e.connection=void 0,Jg(e)}function G$n(e,t,s){if(e.preferWebsockets===!1)return!1;if(!t||t.disableWebsocket)return!1;let n=hht();if(n!==void 0)return n;if(s===!1)return!1;return!0}function j$n(e,t){let s=t?.baseUrl||e.baseUrl||Ou,n=fge(t?.providerSessionState),o=K0(t?.sessionId),r=o?`${s}:${e.id}:${o}`:void 0,i=r?n?.webSocketPublicToPrivate.get(r):void 0;return i?n?.webSocketSessions.get(i):void 0}function ZBi(e,t){let s=j$n(e,t)?.stats;return s?{...s}:void 0}function Zls(e,t){let s=yqe(e,{preferWebsockets:t?.preferWebsockets}),n=j$n(e,t),o=fge(t?.providerSessionState),r=K0(t?.sessionId),i=!1;if(r){let a=o?.metadataSessions.get(r);if(a)for(let l of a.turnStates.values()){if(l.value===void 0)continue;i=!0;break}}return{websocketPreferred:s,lastTransport:n?.lastTransport,websocketDisabled:n?.disableWebsocket??!1,websocketConnected:n?.connection?.isOpen()??!1,fallbackCount:n?.fallbackCount??0,canAppend:n?.canAppend??!1,prewarmed:n?.prewarmed??!1,hasSessionState:n!==void 0,hasTurnState:i,lastFallbackAt:n?.lastFallbackAt}}function tWi(e){let t=JSON.stringify(e);return eWi.encode(t===void 0?"undefined":t).byteLength}function $$n(e){let t=JSON.stringify(e);return String(Bun.hash(t===void 0?"undefined":t))}function sWi(e){switch(e){case"auto":case"default":case"flex":case"scale":case"priority":case"ultrafast":return e;default:return}}function nWi(e){switch(e){case"completed":case"failed":case"in_progress":case"cancelled":case"queued":case"incomplete":return e;default:return}}function oWi(e){if(!e||typeof e!=="object")return;let t={},s=!1;if("input_tokens"in e&&typeof e.input_tokens==="number")t.input_tokens=e.input_tokens,s=!0;if("output_tokens"in e&&typeof e.output_tokens==="number")t.output_tokens=e.output_tokens,s=!0;if("total_tokens"in e&&typeof e.total_tokens==="number")t.total_tokens=e.total_tokens,s=!0;if("prompt_cache_hit_tokens"in e&&typeof e.prompt_cache_hit_tokens==="number")t.prompt_cache_hit_tokens=e.prompt_cache_hit_tokens,s=!0;if("input_tokens_details"in e&&e.input_tokens_details&&typeof e.input_tokens_details==="object"){let n=e.input_tokens_details,o={},r=!1;if("cached_tokens"in n&&typeof n.cached_tokens==="number")o.cached_tokens=n.cached_tokens,r=!0;if("cache_write_tokens"in n&&typeof n.cache_write_tokens==="number")o.cache_write_tokens=n.cache_write_tokens,r=!0;if("orchestration_input_tokens"in n&&typeof n.orchestration_input_tokens==="number")o.orchestration_input_tokens=n.orchestration_input_tokens,r=!0;if("orchestration_input_cached_tokens"in n&&typeof n.orchestration_input_cached_tokens==="number")o.orchestration_input_cached_tokens=n.orchestration_input_cached_tokens,r=!0;if(r)t.input_tokens_details=o,s=!0}if("output_tokens_details"in e&&e.output_tokens_details&&typeof e.output_tokens_details==="object"){let n=e.output_tokens_details,o={},r=!1;if("reasoning_tokens"in n&&typeof n.reasoning_tokens==="number")o.reasoning_tokens=n.reasoning_tokens,r=!0;if("orchestration_output_tokens"in n&&typeof n.orchestration_output_tokens==="number")o.orchestration_output_tokens=n.orchestration_output_tokens,r=!0;if(r)t.output_tokens_details=o,s=!0}return s?t:void 0}function rWi(e){if(e&&typeof e==="object"){if("type"in e&&typeof e.type==="string")return e.type;if("role"in e&&typeof e.role==="string")return e.role}return typeof e}function iWi(e){let t={};for(let s in e){if(s==="input"||s==="previous_response_id"||s==="type"||s==="client_metadata")continue;t[s]=e[s]}return $$n(t)}function aWi(e,t,s){let n=e.input,o=Array.isArray(n)?n:[],r=o.map(rWi),i=typeof e.prompt_cache_key==="string"?e.prompt_cache_key:void 0,a=e.tools===void 0?void 0:$$n(e.tools);return{transport:t,previousResponseIdPresent:typeof e.previous_response_id==="string"&&e.previous_response_id.length>0,inputItemCount:o.length,inputItemTypes:r,...r[0]?{firstInputItemType:r[0]}:{},inputJsonBytes:tWi(o),...i!==void 0?{promptCacheKey:i}:{},...a!==void 0?{toolsHash:a}:{},optionsHash:iWi(e),canAppendBeforeRequest:s}}function $ls(e,t,s,n){if(!e)return;let o=t.input;e.stats.lastInputItems=Array.isArray(o)?o.length:0;let r=typeof t.previous_response_id==="string"?t.previous_response_id:void 0;if(r&&r.length>0)e.stats.deltaRequests+=1,e.stats.lastDeltaInputItems=e.stats.lastInputItems,e.stats.lastPreviousResponseId=r;else e.stats.fullContextRequests+=1,e.stats.lastDeltaInputItems=void 0,e.stats.lastPreviousResponseId=void 0;e.stats.lastTurn={request:aWi(t,s,n)},xd&&se("[codex] codex turn request diagnostics",{diagnostics:e.stats.lastTurn.request})}function lWi(e,t,s){if(!e?.stats.lastTurn||!t)return;let{input_tokens_details:n,output_tokens_details:o}=t,r=t.input_tokens??0,i=n?.cached_tokens??t.prompt_cache_hit_tokens??0,a={rawInputTokens:r,rawCachedTokens:i,rawUncachedTokens:Math.max(0,r-i),rawOutputTokens:t.output_tokens??0,...typeof t.total_tokens==="number"?{rawTotalTokens:t.total_tokens}:{},...typeof n?.orchestration_input_tokens==="number"?{rawOrchestrationInputTokens:n.orchestration_input_tokens}:{},...typeof n?.orchestration_input_cached_tokens==="number"?{rawOrchestrationCachedTokens:n.orchestration_input_cached_tokens}:{},...typeof o?.orchestration_output_tokens==="number"?{rawOrchestrationOutputTokens:o.orchestration_output_tokens}:{},displayedInputTokens:s.input,displayedOutputTokens:s.output,displayedCacheReadTokens:s.cacheRead,displayedCacheWriteTokens:s.cacheWrite,displayedTotalTokens:s.totalTokens,displayedOrchestrationInputTokens:s.orchestration?.input??0,displayedOrchestrationCacheReadTokens:s.orchestration?.cacheRead??0,displayedOrchestrationOutputTokens:s.orchestration?.output??0};e.stats.lastTurn={...e.stats.lastTurn,usage:a},xd&&se("[codex] codex turn diagnostics",{diagnostics:e.stats.lastTurn})}function pWi(e,t){let s=t?.canAppend===!0&&t.lastRequest?.service_tier==="ultrafast"===(e.service_tier==="ultrafast"),n=s?K1e(t.lastRequest,t.lastResponseItems,e,uWi):null;if(n&&n.length>0&&t?.lastResponseId)return{...e,previous_response_id:t.lastResponseId,input:n};if(s&&t)xd&&se("[codex] codex append reset",{hadModelsEtagHeader:Boolean(t.modelsEtag)}),Jg(t),t.modelsEtag=void 0;return e}function Tht(e){let t=new URL(e);if(t.protocol==="https:")t.protocol="wss:";else if(t.protocol==="http:")t.protocol="ws:";return t.toString()}function cWi(e){let t={};for(let[s,n]of e.entries())t[s]=n;return t}class z$n{#e;#t;#s;#n;#o=null;#r=[];#i=[];#a;#l=!1;#p;#d;#c;#u;#m;#f=0;#h=0;#T;#y=[];#g=new Set;#C=new Set;#R;constructor(e,t,s){this.#e=e,this.#t=t,this.#s=s.proxy,this.#n=s.onHandshakeHeaders}isOpen(){return this.#o?.readyState===WebSocket.OPEN}isConnecting(){return this.#a!==void 0}isBusy(){return this.#l||this.#a!==void 0}isHealthyForReuse(){if(!this.isOpen())return!1;let e=dBi;if(e<=0)return!0;if(this.#f===0)return!1;return Date.now()-this.#f<=e}matchesAuth(e){return this.#t.authorization===e.authorization}close(e="done"){let t=this.#o;if(this.#o=null,this.#M(),this.#w(`websocket closed (${e})`),!t||t.readyState!==WebSocket.OPEN&&t.readyState!==WebSocket.CONNECTING)return;try{t.close(1000,e)}catch(s){xd&&se("[codex] codex websocket close failed",{error:s instanceof Error?s.message:String(s),reason:e})}}async connect(e){if(this.isOpen())return;if(this.#a){Gt("codexWs:awaitSharedHandshake"),await this.#a;return}let{promise:t,resolve:s,reject:n}=Promise.withResolvers();this.#a=t;let o=new WebSocket(this.#e,{headers:this.#t,proxy:this.#s});o.binaryType="nodebuffer",this.#o=o;let r=!1,i,a=()=>{if(i!==void 0)clearTimeout(i),i=void 0;if(e)e.removeEventListener("abort",l)},l=()=>{if(!r)r=!0,a(),n(new wl("request was aborted",{cause:e?.reason}));this.close("aborted")};if(e)if(e.aborted)l();else e.addEventListener("abort",l,{once:!0});if(!r)i=setTimeout(()=>{if(this.close("connect-timeout"),!r)r=!0,a(),n(new wl("connection timeout"))},uBi);o.onopen=(u)=>{if(!r)r=!0,a(),this.#f=Date.now(),this.#S(o,u),this.#I(o),s()},o.onerror=(u)=>{let p=u,c=typeof p.message==="string"&&p.message||p.error instanceof Error&&p.error.message||String(u.type),d=new wl(`websocket error: ${c}`);if(!r){r=!0,a(),n(d);return}this.#O(d)},o.onclose=(u)=>{if(this.#o=null,this.#M(),this.#w(`websocket closed (${u.code})`),!r){r=!0,a(),n(new wl(`websocket closed before open (${u.code})`));return}this.#O(new wl(`websocket closed (${u.code})`)),this.#O(null)},o.onmessage=(u)=>{this.#f=Date.now(),this.#v(u.data);try{let p=typeof u.data==="string"?u.data:Buffer.from(u.data).toString("utf-8");if(!p)return;let c=JSON.parse(p);if(c.type==="error"&&typeof c.error==="object"&&c.error){let d=c.error;if(typeof c.code!=="string"&&typeof d.code==="string")c.code=d.code;if(typeof c.message!=="string"&&typeof d.message==="string")c.message=d.message}if(PBi(this.#p,c,p),typeof c.type==="string"&&c.type.startsWith("response.steer.")){this.#k(c);return}this.#O(c)}catch(p){OBi(this.#p,u.data,p),this.#O(new wl(`${String(p)}`))}},Gt("codexWs:awaitTcpHandshake");try{await t}finally{this.#a=void 0}}async*streamRequest(e,t,s,n){if(!this.#o||this.#o.readyState!==WebSocket.OPEN)throw new wl("websocket connection is unavailable");if(this.#l)throw new wl("websocket request already in progress");if(s?.aborted)throw new wl("request was aborted",{cause:s.reason});if(this.#l=!0,this.#p=n,"send"in e)this.#x();else this.#R=new Set(e.attachSteerIds);let o=()=>{this.#O(new wl("request was aborted",{cause:s?.reason})),this.close("aborted")};if(s)s.addEventListener("abort",o,{once:!0});try{if("send"in e){let g=e.send,h=QX()?await Xme({protocol:"websocket",method:"POST",url:this.#e,headers:this.#t,body:g}):void 0;this.#m=h?await h.openResponseLog("WebSocket 101 Switching Protocols",this.#u):void 0;let y=JSON.stringify(g);b$n(n,g,y);let T=this.#o;if(!T||T.readyState!==WebSocket.OPEN){if(s?.aborted)throw new wl("websocket connection is unavailable",{cause:s.reason});throw new wl("websocket connection is unavailable")}try{T.send(y)}catch(R){throw new wl(`websocket send failed: ${R instanceof Error?R.message:String(R)}`)}}else if(this.hasFailedSteer(e.attachSteerIds))throw new Cht("accepted steering was not committed to a successor response");let r=!1,{idleTimeoutMs:i,firstEventTimeoutMs:a}=t,l=Date.now(),u,p=l,c,d,f,m=this.#T;while(!0){let g,h;if(r){if(h=T$n("idle timeout waiting for websocket",{lastEventAt:p,lastEventType:c,lastProgressAt:l,lastProgressEventType:u}),i!==void 0&&i>0){if(g=i-(Date.now()-l),g<=0)throw xd&&se("[codex] codex websocket idle timeout",{lastEventType:c,lastProgressEventType:u,msSinceLastEvent:Date.now()-p,msSinceLastProgress:Date.now()-l}),new wl(`${h}`)}}else if(h=T$n("timeout waiting for first websocket event",{lastEventAt:p,lastEventType:c,lastProgressAt:l,lastProgressEventType:u}),a!==void 0&&a>0)g=a;let y=await this.#F(g,h);if(y instanceof Error)throw y;if(y===null)throw new wl("websocket closed before response completion");let T=typeof y.type==="string"?y.type:"",R=xBi(y),C=vBi(y);if(R!==void 0){if(d===void 0){if(m!==void 0&&R===m)continue;d=R}else if(R!==d)throw this.close("stale-frame"),new wl(`websocket frame for response ${R} interleaved into active response ${d}`);this.#T=R}if(C!==void 0){if(d!==void 0&&f!==void 0&&C<f)throw this.close("stale-frame"),new wl(`websocket sequence_number ${C} regressed below ${f} within response ${d}`);f=C}if(r=!0,p=Date.now(),c=T||void 0,x$n(y))l=p,u=c;if(yield y,T==="response.completed"||T==="response.done"||T==="response.incomplete"||T==="response.failed"||T==="error")break}}finally{if(this.#l=!1,this.#p=void 0,this.#R=void 0,s)s.removeEventListener("abort",o);let r=this.#m;this.#m=void 0,await r?.close()}}steer(e,t){let s=this.#o;if(!s||s.readyState!==WebSocket.OPEN)return Promise.reject(new wl("websocket connection is unavailable"));let n={type:"response.steer",previous_response_id:e,input:t},o=JSON.stringify(n),{promise:r,resolve:i,reject:a}=Promise.withResolvers(),l={previousResponseId:e,resolve:i,reject:a};this.#y.push(l),b$n(this.#p,n,o);try{s.send(o)}catch(u){this.#y.splice(this.#y.indexOf(l),1),a(new wl(`websocket send failed: ${u instanceof Error?u.message:String(u)}`))}return r}hasFailedSteer(e){return e.some((t)=>this.#C.has(t))}#k(e){let t=_o(e.steer),s=typeof t?.id==="string"?t.id:void 0,n=typeof t?.previous_response_id==="string"?t.previous_response_id:"";if(e.type==="response.steer.accepted"){if(!s)return;this.#g.add(s),this.#b(n)?.resolve({accepted:!0,id:s});return}if(e.type==="response.steer.failed"){let o=_o(e.error),r=typeof o?.code==="string"?o.code:void 0,i=typeof o?.message==="string"?o.message:void 0;if(s&&this.#g.has(s)){if(this.#C.add(s),this.#R?.has(s))this.#O(new Cht(`steering ${s} was not committed: ${r??i??"unknown"}`));return}this.#b(n)?.resolve({accepted:!1,code:r,message:i});return}xd&&se("[codex] codex steering event",{type:e.type,id:s,previousResponseId:n})}#b(e){let t=this.#y.findIndex((s)=>s.previousResponseId===e);return t<0?void 0:this.#y.splice(t,1)[0]}#w(e){let t=this.#y;if(t.length===0)return;this.#y=[];for(let s of t)s.reject(new wl(e))}#S(e,t){let s=IBi(e,t);if(!s)return;this.#u=s,this.#n?.(s)}#v(e){let t=this.#m;if(!t)return;if(typeof e==="string"){t.write(e);return}if(e instanceof Uint8Array){t.write(e);return}if(e instanceof ArrayBuffer){t.write(new Uint8Array(e));return}t.write(String(e))}#I(e){this.#M();let t=pBi;if(t<=0)return;this.#h=0;let s=e,n=()=>{this.#f=Date.now()};if(typeof s.addEventListener==="function"&&typeof s.removeEventListener==="function")s.addEventListener("pong",n),this.#c=()=>s.removeEventListener("pong",n);this.#d=setInterval(()=>{if(this.#o!==e||e.readyState!==WebSocket.OPEN){this.#M();return}let o=cBi;if(o>0&&this.#h>0&&this.#h>this.#f&&Date.now()-this.#h>o){this.#E(new wl("websocket pong timeout"),"pong-timeout");return}if(typeof e.ping!=="function"){this.#M();return}try{e.ping(),this.#h=Date.now()}catch(r){this.#E(new wl(`websocket ping failed: ${r instanceof Error?r.message:String(r)}`),"ping-failed")}},t),this.#d.unref()}#M(){if(this.#d)clearInterval(this.#d),this.#d=void 0;if(this.#c)this.#c(),this.#c=void 0;this.#h=0}#E(e,t){xd&&se("[codex] codex websocket transport failure",{error:e.message,closeReason:t}),this.#r.length=0,this.#r.push(e),this.close(t),this.#A()}#x(){if(this.#r.length===0)return 0;let e=this.#r.filter((s)=>s instanceof Error),t=this.#r.length-e.length;if(t===0)return 0;this.#r.length=0;for(let s of e)this.#r.push(s);return xd&&se("[codex] codex websocket dropped stale frames before request",{dropped:t}),t}#A(){for(;;){let e=this.#i.shift();if(!e)break;e()}}#O(e){if(e instanceof Error){this.#r.push(e),this.#A();return}if(e!==null&&this.#r.length>=h$n){this.#E(new wl(`websocket message queue exceeded ${h$n} items`),"queue-overflow");return}this.#r.push(e);let t=this.#i.shift();if(t)t()}async#F(e,t){while(this.#r.length===0){let{promise:s,resolve:n}=Promise.withResolvers();this.#i.push(n);let o=!1,r;if(e!==void 0&&e>0)r=setTimeout(()=>{o=!0;let i=this.#i.indexOf(n);if(i>=0)this.#i.splice(i,1);n()},e);if(await s,r)clearTimeout(r);if(o&&this.#r.length===0)return new wl(`${t}`)}return this.#r.shift()??null}}async function zls(e,t,s,n,o,r){let i=HH(o,new URL(s)),a=cWi(n);for(let l=0;l<3;l+=1){let u=e.connection;if(!u||u.isOpen()||!u.isConnecting())break;try{await u.connect(r)}catch{}}if(e.connection?.isOpen())if(!e.connection.matchesAuth(a))e.connection.close("token-refresh"),Jg(e);else if(e.connection.isHealthyForReuse())return Gt("codexWs:reuseOpenSocket"),e.connection;else xd&&se("[codex] codex websocket reuse rejected by health check",{}),e.connection.close("stale-reuse"),Jg(e);return e.connection?.close("reconnect"),Jg(e),Gt("codexWs:newSocket"),e.connection=new z$n(s,a,{onHandshakeHeaders:(l)=>{bht(t,e,l)},proxy:i}),await e.connection.connect(r),e.connection}function dWi(e,t){if(!vqe(t)||!Ki("PI_CODEX_ZSTD",!0))return;try{return Bun.zstdCompressSync(e,{level:3})}catch(s){xd&&se("[codex] codex request body compression failed",{error:s instanceof Error?s.message:String(s)});return}}async function fWi(e,t,s,n,o,r,i,a,l,u,p,c,d,f,m,g){let h=eus(t,s,n,u,o,"sse",i,a,l,p,await lZ(s),r),y,T=async(x,v)=>{let A;try{return A=await(g??fetch)(x,v),A}finally{if(!A||A.ok)y?.(),y=void 0}},R=JSON.stringify(r),C=dWi(R,e);if(C!==void 0)h.set("content-encoding","zstd");xd&&se("[codex] codex request",{url:e,model:r.model,headers:K$n(h),sentTurnStateHeader:h.has(dge),sentModelsEtagHeader:h.has(wqe)});let b=(x)=>gd(e,{method:"POST",headers:h,body:x,signal:c,prepareInit:()=>{y?.();let v=MH(c,d);return y=v.clear,{signal:v.signal}},maxAttempts:lBi(f),defaultDelayMs:(v)=>Kls*(v+1),maxDelayMs:CBi,fetch:T,timeout:!1}),S;try{if(S=await b(C??R),C!==void 0&&(S.status===400||S.status===415)){let x=S.status;await S.body?.cancel(),h.delete("content-encoding"),xd&&se("[codex] retrying request without zstd after encoding rejection",{url:e,status:x}),S=await b(R)}}catch(x){throw y?.(),x}if(xd&&se("[codex] codex response",{url:S.url,status:S.status,statusText:S.statusText,contentType:S.headers.get("content-type")||null,cfRay:S.headers.get("cf-ray")||null}),!S.ok)try{throw await gqe.fromResponse(S)}finally{y?.()}if(bht(a,i,S.headers),!S.body)throw new XH("No response body",!1);return Mc(S.body,c,m?(x)=>m({event:x.event,data:x.data,raw:[...x.raw]},void 0):void 0)}function eus(e,t,s,n,o,r="sse",i,a,l=!1,u,p,c){let d=new Headers(e??{});if(d.delete("x-api-key"),d.set("Authorization",`Bearer ${s}`),t)d.set(zs.ACCOUNT_ID,t);if(c)d.set(zs.ROUTING_HINT,r$(c.model,c.service_tier));else d.delete(zs.ROUTING_HINT);if(XE(d,s),p)d.set(zs.ATTESTATION,p);else d.delete(zs.ATTESTATION);let f=r==="websocket"?tc.BETA_RESPONSES_WEBSOCKETS_V2:tc.BETA_RESPONSES;if(d.delete(zs.BETA),d.delete("openai-beta"),d.set(zs.BETA,f),d.set(zs.ORIGINATOR,tc.ORIGINATOR_CODEX),d.set(zs.VERSION,n),d.set("User-Agent",eo),o)d.set(zs.CONVERSATION_ID,o),d.set(zs.SESSION_ID,o),d.set("x-client-request-id",o);else d.delete(zs.CONVERSATION_ID),d.delete(zs.SESSION_ID),d.delete("x-client-request-id");if(d.delete(zs.INSTALLATION_ID),u)P$n(d,u);else d.delete(zs.SCOPED_SESSION_ID),d.delete(zs.THREAD_ID),d.delete(zs.WINDOW_ID),d.delete(zs.TURN_METADATA);if(a?.value)d.set(dge,a.value);else d.delete(dge);if(i?.modelsEtag)d.set(wqe,i.modelsEtag);else d.delete(wqe);if(l)d.set(zs.RESPONSES_LITE,"true");else d.delete(zs.RESPONSES_LITE);if(r==="sse")d.set("accept","text/event-stream"),d.set("content-type","application/json");else d.delete("accept"),d.delete("content-type");return d}function K$n(e){let t={};for(let[s,n]of e.entries()){let o=s.toLowerCase();if(o==="authorization"){t[s]="Bearer [redacted]";continue}if(o.includes("account")||o.includes("session")||o.includes("conversation")||o.includes("thread")||o.includes("window")||o.includes("installation")||o.startsWith("x-codex-turn")||o==="x-client-request-id"||o==="cookie"){t[s]="[redacted]";continue}t[s]=n}return t}function mge(e){let s=(e&&e.trim().length>0?e:Ou).replace(/\/+$/,"");if(s.endsWith("/codex/responses"))return s;if(s.endsWith("/codex"))return`${s}/responses`;return`${s}/codex/responses`}function tus(e,t){let s=[],n=(p)=>{let c=p.search(/[\n|]/),[d,f]=c>0?[p.slice(0,c),p.slice(c+1)]:[p,void 0],m=ime(d),g=(f??Bun.hash(p).toString(36)).replace(/[^a-zA-Z0-9_-]/g,"_");if(!g.startsWith("fc"))g=`fc_${g}`;let h=g.length>64?g.slice(0,64):g;return h=h.replace(/_+$/,""),`${m}|${h}`},o=qc(t.messages,e,n),r=fX(e),i=0,a=new Set,l=new Set,u=new Set;for(let p of o){if(p.role==="user"||p.role==="developer"){let c=p.providerPayload,d=Qfe(c,e.provider);if(d){let m=Kfe(d).result,g=Jfe(m),h=e.supportsComputerUse===!0?g:k$n(g,e.compat.supportsImageDetailOriginal);for(let y of h){if(y.type==="custom_tool_call")a.add(y.call_id);if(y.type==="computer_call")u.add(y.call_id);if((y.type==="function_call"||y.type==="custom_tool_call")&&y.call_id)l.add(y.call_id)}s.push(...r?H$(h):h),i+=1;continue}let f=mWi(e,p.content);if(f.length===0)continue;s.push({role:p.role,content:f}),i+=1;continue}if(p.role==="assistant"){let c=p,d=c.api===e.api&&c.model===e.id?rX(c.providerPayload,e.provider,c.provider):void 0,f=d?.items,m=!1;if(f){let y=oX(f);if(y){let T=e.supportsComputerUse===!0?y:k$n(y,e.compat.supportsImageDetailOriginal),R=r?H$(T):T;for(let C of R){if(C.type==="custom_tool_call")a.add(C.call_id);if(C.type==="computer_call")u.add(C.call_id);if((C.type==="function_call"||C.type==="custom_tool_call")&&C.call_id)l.add(C.call_id)}if(d?.dt)s.push(...R);else s.splice(0,s.length,...R);i+=1;continue}m=!0}let g=$ct(e.supportsComputerUse===!0?c:FBi(c),e,i,l,!m,a,!1,!0,void 0,u),h=m?fct(g):g;if(h.length>0)s.push(...r?H$(h):h);i+=1;continue}if(p.role==="toolResult")Kct(s,e.supportsComputerUse===!0?p:_Bi(p),e,!1,e.compat.supportsImageDetailOriginal,l,a,!0,u);i+=1}return s}function mWi(e,t){let s=fX(e);if(typeof t==="string"){if(!t||t.trim()==="")return[];let n=t.toWellFormed();return[{type:"input_text",text:s?Qf(n):n}]}return jct(t,e.input.includes("image"),e.compat.supportsImageDetailOriginal,s)??[]}function V$n(e,t){let s=t.applyPatchToolType==="freeform",n=[];for(let o of e){if(o.native?.type==="computer"&&t.supportsComputerUse===!0){n.push({type:"computer"});continue}if(s&&o.customFormat){n.push({type:"custom",name:o.customWireName??o.name,description:o.description||"",format:{type:"grammar",syntax:o.customFormat.syntax,definition:fqe(o.customFormat.syntax,o.customFormat.definition)}});continue}let r=!!(!Rk&&o.strict),i=P0(Jn(o)),{schema:a,strict:l}=N_(i,r);n.push({type:"function",name:o.name,description:o.description||"",parameters:a,...l?{strict:!0}:!Rk&&o.strict===!1?{strict:!1}:{}})}return n}function Y$n(e){let t=sus(e);if(t instanceof B.errors)return!1;let s=t.error??t.response?.error,n=s?.code??s?.type??t.code;if(n&&hBi.has(n.toLowerCase()))return!0;let o=s?.message??t.message??t.response?.message;return!!o&&(yBi.test(o)||Jde.test(o)||Qde.test(o))}function nus(e){let t=sus(e);if(t instanceof B.errors)return new XH("Codex response failed",!1);let s=t.error??t.response?.error,n=s?.code??s?.type??t.code??"",o=t.message??"",r=t.type==="error"?yWi(e,n,o):J$n(e)??"Codex response failed";return new XH(r,Y$n(e),n||void 0)}function J$n(e){let t=sus(e);if(t instanceof B.errors)return null;let s=t.error??t.response?.error,n=s?.message??t.message??t.response?.message,o=s?.code??s?.type??t.code,r=t.response?.status??t.status,i=[];if(o)i.push(`code=${o}`);if(r)i.push(`status=${r}`);if(n){let a=i.length?` (${i.join(", ")})`:"";return`Codex response failed: ${n}${a}`}if(i.length)return`Codex response failed (${i.join(", ")})`;try{let a=JSON.stringify(e);return`Codex response failed: ${a.length<=800?a:`${a.slice(0,800)}\u2026[truncated ${a.length-800}]`}`}catch{return"Codex response failed"}}function yWi(e,t,s){let n=J$n(e);if(n)return n.replace("response failed","error event");let o=[];if(t)o.push(`code=${t}`);if(s)o.push(`message=${s}`);if(o.length>0)return`Codex error event (${o.join(", ")})`;try{let r=JSON.stringify(e);return`Codex error event: ${r.length<=800?r:`${r.slice(0,800)}\u2026[truncated ${r.length-800}]`}`}catch{return"Codex error event"}}var xd,bqe=5,Kls=500,uBi=1e4,pBi,cBi,h$n,dBi,fBi,mBi,kqe,Wls,gBi="Codex websocket transport error",hBi,yBi,Gls="openai-codex-responses",dge="x-codex-turn-state",wqe="x-models-etag",TBi="ws_request_header_x_openai_internal_codex_responses_lite",RBi="openai_chatgpt_moderation_metadata",S$n,CBi=300000,bBi,kBi=256,wBi=16384,y$n=2,SBi=250,EBi,KBi,VBi,Qls=(e,t,s)=>{let n=new xn;return(async()=>{let o=performance.now(),r={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()},i=N$n(s),a,l;try{l=await qBi(e,t,s);let u=await q$n(e,s,i,l),p=new O$n({...u,websocketState:l.websocketState});if(l.websocketState)l.websocketState.lastTransport=u.transport;a=new B$n({runtime:p,model:e,output:r,stream:n,options:s,requestSetup:i,requestContext:l,startTime:o});let c=await a.process();a.firstTokenTime=c.firstTokenTime;let d=a.finalize(c);n.push({type:"done",reason:d.stopReason,message:d}),n.end()}catch(u){let p=a??{model:e,output:r,options:s,requestContext:l??{apiKey:"",accountId:"",baseUrl:e.baseUrl||Ou,url:"",requestHeaders:{},codexClientVersion:tC,turnState:{},responsesLite:s?.responsesLite===!0,transformedBody:{model:e.id},rawRequestDump:{provider:e.provider,api:r.api,model:e.id,method:"POST",url:"",body:{model:e.id}}},startTime:o};try{let c=await QBi(p,u);n.push({type:"error",reason:c.stopReason,error:c})}catch(c){as("Codex stream failure handler threw",{error:c instanceof Error?c.message:String(c)}),r.stopReason="error",r.errorMessage??=u instanceof Error?u.message:String(u),n.push({type:"error",reason:"error",error:r})}n.end()}finally{l?.isolatedTransportState?.close()}})(),n},eWi,uWi,wl,Cht,Rht,XH,QH,gWi,w$n,hWi,sus;var tD=k(()=>{Jt();yo();gk();W();ht();Jf();Vg();Ti();Lc();EH();ul();rme();tx();BH();YLe();jl();lme();Dls();qls();Uls();yht();iC();Zm();xd=Ki("PI_CODEX_DEBUG");pBi=Number(Se.PI_CODEX_WEBSOCKET_PING_INTERVAL_MS||1e4),cBi=Number(Se.PI_CODEX_WEBSOCKET_PONG_TIMEOUT_MS||60000),h$n=Number(Se.PI_CODEX_WEBSOCKET_MESSAGE_QUEUE_CAPACITY||4096),dBi=Number(Se.PI_CODEX_WEBSOCKET_MAX_IDLE_REUSE_MS||30000),fBi=Number(Se.PI_CODEX_WEBSOCKET_IDLE_TIMEOUT_MS||300000),mBi=Number(Se.PI_CODEX_WEBSOCKET_FIRST_EVENT_TIMEOUT_MS||300000),kqe=Number(Se.PI_CODEX_WEBSOCKET_RETRY_BUDGET||bqe),Wls=Number(Se.PI_CODEX_WEBSOCKET_RETRY_DELAY_MS||Kls),hBi=new Set(["model_error","server_error","internal_error"]),yBi=/processing your request|retry your request|temporar(?:y|ily)|overloaded|service.?unavailable|internal error|server error/i,S$n=["websocket error:","websocket closed before open","connection timeout"],bBi=new Set(["response.done","response.incomplete"]);EBi={installation_id:!0,[zs.INSTALLATION_ID]:!0,session_id:!0,thread_id:!0,turn_id:!0,window_id:!0,[zs.WINDOW_ID]:!0,[zs.TURN_METADATA]:!0,[zs.PARENT_THREAD_ID]:!0,[zs.SUBAGENT]:!0,request_kind:!0,compaction:!0,code_mode_tool_names:!0,tool_namespaces_info:!0,turn_started_at_unix_ms:!0,forked_from_thread_id:!0,parent_thread_id:!0,parent_turn_id:!0,subagent_kind:!0,thread_source:!0,sandbox:!0,workspaces:!0};KBi={previous_response_not_found:!0,codex_previous_response_stale:!0},VBi={rate_limit_exceeded:!0,slow_down:!0};eWi=new TextEncoder;uWi={service_tier:!0};wl=class wl extends Error{constructor(e,t){super(`${gBi}: ${e}`,t);this.name="CodexWebSocketTransportError"}};Cht=class Cht extends Error{constructor(e){super(e);this.name="CodexSteerCommitError"}};Rht=class Rht extends Error{constructor(e){super(e);this.name="CodexWhitespaceToolCallLoopError"}};XH=class XH extends Error{retryable;code;constructor(e,t,s){super(e);this.name="CodexProviderStreamError",this.retryable=t,this.code=s}};QH=B("unknown").pipe((e)=>{let t=B("string")(e);return t instanceof B.errors?void 0:t}),gWi=B({"code?":QH,"type?":QH,"message?":QH}),w$n=B("unknown").pipe((e)=>{let t=gWi(e);return t instanceof B.errors?void 0:t}),hWi=B({"type?":QH,"code?":QH,"message?":QH,"status?":QH,"error?":w$n,"response?":B("unknown").pipe((e)=>{let t=B({"error?":w$n,"message?":QH,"status?":QH})(e);return t instanceof B.errors?void 0:t})}),sus=B("unknown").pipe((e)=>{let t=hWi(e);return t instanceof B.errors?{type:void 0,code:void 0,message:void 0,status:void 0,error:void 0,response:void 0}:t})});var Q$n={};O(Q$n,{CLINEPASS_API_BASE_URL:()=>gge,clinePassClientHeaders:()=>mz});function mz(e){return{"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk","User-Agent":"Cline/3.0.58","X-CLIENT-VERSION":"3.0.58","X-PLATFORM":process.platform,"X-PLATFORM-VERSION":"3.0.54","X-CORE-VERSION":"0.0.79",...e?{"X-Task-ID":e}:{}}}var gge="https://api.cline.bot/api/v1";var rus;var X$n=k(()=>{rus={name:"@buckeyestudio/pi-ai",version:"18.4.13",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/can1357/oh-my-pi.git",directory:"packages/ai"},files:["src","README.md","CHANGELOG.md"],type:"module",main:"./src/index.ts",types:"./src/index.ts",exports:{".":{types:"./src/index.ts",import:"./src/index.ts"},"./error":{types:"./src/error/index.ts",import:"./src/error/index.ts"},"./embeddings":{types:"./src/embeddings/index.ts",import:"./src/embeddings/index.ts"},"./judgment":{types:"./src/judgment/index.ts",import:"./src/judgment/index.ts"},"./rerank":{types:"./src/rerank/index.ts",import:"./src/rerank/index.ts"},"./speech":{types:"./src/speech/index.ts",import:"./src/speech/index.ts"},"./images":{types:"./src/images/index.ts",import:"./src/images/index.ts"},"./transcription":{types:"./src/transcription/index.ts",import:"./src/transcription/index.ts"},"./video":{types:"./src/video/index.ts",import:"./src/video/index.ts"},"./*":{types:"./src/*.ts",import:"./src/*.ts"},"./auth-broker":{types:"./src/auth-broker/index.ts",import:"./src/auth-broker/index.ts"},"./auth-broker/*":{types:"./src/auth-broker/*.ts",import:"./src/auth-broker/*.ts"},"./auth-gateway":{types:"./src/auth-gateway/index.ts",import:"./src/auth-gateway/index.ts"},"./auth-gateway/*":{types:"./src/auth-gateway/*.ts",import:"./src/auth-gateway/*.ts"},"./providers/*":{types:"./src/providers/*.ts",import:"./src/providers/*.ts"},"./providers/openai-codex/*":{types:"./src/providers/openai-codex/*.ts",import:"./src/providers/openai-codex/*.ts"},"./usage/*":{types:"./src/usage/*.ts",import:"./src/usage/*.ts"},"./utils/harmony-leak":{types:"./src/utils/harmony-leak.ts",import:"./src/utils/harmony-leak.ts"},"./dialect":{types:"./src/dialect/index.ts",import:"./src/dialect/index.ts"},"./utils/*":{types:"./src/utils/*.ts",import:"./src/utils/*.ts"},"./oauth":{types:"./src/registry/oauth/index.ts",import:"./src/registry/oauth/index.ts"},"./oauth/*":{types:"./src/registry/oauth/*.ts",import:"./src/registry/oauth/*.ts"},"./registry":{types:"./src/registry/index.ts",import:"./src/registry/index.ts"},"./registry/oauth":{types:"./src/registry/oauth/index.ts",import:"./src/registry/oauth/index.ts"},"./utils/schema":{types:"./src/utils/schema/index.ts",import:"./src/utils/schema/index.ts"},"./utils/schema/*":{types:"./src/utils/schema/*.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:{"@buckeyestudio/omptype":"catalog:","@buckeyestudio/pi-catalog":"catalog:","@buckeyestudio/pi-natives":"catalog:","@buckeyestudio/pi-utils":"catalog:","@buckeyestudio/pi-wire":"catalog:"},devDependencies:{"@types/bun":"catalog:"},engines:{bun:">=1.3.14"}}});var ezn={};O(ezn,{getKimiCommonHeaders:()=>gz});import*as Z$n from"crypto";import*as hge from"fs";import*as sD from"os";import*as Sht from"path";function ius(e,t,s){return[e,t,s].filter(Boolean).join(" ").trim()}function CWi(){let e=sD.platform(),t=sD.release(),s=sD.arch();if(e==="darwin")return ius("macOS",t,s);if(e==="win32")return ius("Windows",t,s);return ius(e==="linux"?"Linux":e,t,s)}function wht(e,t=""){return e.replace(/[^\x20-\x7E]/g,"").trim()||t}var RWi="kimi-device-id",aus=()=>{let e=Sht.join(ps(),RWi);try{let s=hge.readFileSync(e,"utf-8").trim();if(s)return aus=()=>s,s}catch{}let t=Z$n.randomUUID().replace(/-/g,"");try{hge.mkdirSync(Sht.dirname(e),{recursive:!0}),hge.writeFileSync(e,`${t}
482
+ `);return t}if(r?.item.type==="reasoning"&&r.block?.type==="thinking")Xct(r.item,r.block,n,s,r.contentIndex);return t}if(o==="response.content_part.added"){let r=this.runtime.openItemForEvent(e);if(r?.item.type==="message")Zct(r.item,e.part);return t}if(o==="response.output_text.delta"||o==="response.refusal.delta"){let r=this.runtime.openItemForEvent(e);if(r?.item.type==="message"&&r.block?.type==="text")dme(r.item,r.block,e.delta||"",n,s,r.contentIndex,o==="response.refusal.delta"?"refusal":"output_text");return t}if(o==="response.function_call_arguments.delta"){let r=this.runtime.handleToolCallArgumentsDelta(e,n,s);if(r)throw this.runtime.websocketState?.connection?.close("degenerate-tool-call"),new Rht(r.message);return t}if(o==="response.function_call_arguments.done")return this.runtime.whitespaceToolCallArgumentsDelta=void 0,this.runtime.handleToolCallArgumentsDone(e),t;if(o==="response.custom_tool_call_input.delta"){let r=this.runtime.handleCustomToolCallInputDelta(e,n,s);if(r)throw this.runtime.websocketState?.connection?.close("degenerate-tool-call"),new Rht(r.message);return t}if(o==="response.custom_tool_call_input.done")return this.runtime.whitespaceToolCallArgumentsDelta=void 0,this.runtime.handleCustomToolCallInputDone(e),t;if(o==="response.output_item.done")return this.runtime.whitespaceToolCallArgumentsDelta=void 0,this.#p(e),t;if(o==="response.completed"||o==="response.done"||o==="response.incomplete")return this.#d(e),t;if(o==="response.metadata"){bht(this.requestContext.turnState,this.requestContext.websocketState,JH(e.headers));let r=_o(e.metadata)?.[RBi];if(r!==void 0)try{this.options?.onModerationMetadata?.(r)}catch{}return t}if(o==="error"||o==="response.failed")throw nus(e);return t}#r(e){let t=this.options?.liveSteering,s=this.runtime.websocketState?.connection,n=_o(e.response)?.id;if(!t||!s||this.#e||typeof n!=="string"||this.runtime.transport!=="websocket"||!this.model.compat.supportsSteering)return;this.#t=s,this.#e=new mht(t,s,(o)=>Nls(tus(this.model,{messages:[...o]}))),this.#e.start(n)}async#i(){let e=this.#e;if(!e)return;this.#e=void 0;let t=await e.finish();if(t.accepted.length>0||t.uncertain)this.#s=!0}async#a(e){let t=this.#e;this.#e=void 0;let s=t?await t.finish():void 0,n=s?.accepted??[],o=this.#s||s?.uncertain===!0,r=this.runtime.websocketState,i=this.#t;if(!r||!i||n.length===0&&!o)return;if(e&&!o&&r.canAppend&&r.connection===i&&r.lastResponseId===s?.responseId){r.acceptedSteering={connection:i,steers:n};return}if(i.close("steering-discard"),r.connection===i)r.connection=void 0;Jg(r)}#l(e){if(e?.block?.type!=="thinking")return;for(let t of this.runtime.takeSummaryDeltas(e))e.block.thinking+=t,this.stream.push({type:"thinking_delta",contentIndex:e.contentIndex,delta:t,partial:this.output})}#p(e){let{runtime:t,output:s,stream:n}=this,o=e.item;if(!o||typeof o!=="object")return;let r=ai(o);if(r.type==="image_generation_call"&&r.result)r.status="completed";let i="id"in r&&typeof r.id==="string"?r.id:"",a=(i?t.openItems.get(i):null)??t.openItemForEvent(e),l=r;if(a)a.nativeOutputItem=l;else t.nativeOutputItems.push(l);let u=a?.block??null,p=a?.contentIndex??s.content.length-1;if(r.type==="image_generation_call"&&r.result){odt(s,n,r.result),t.closeOpenItem(a);return}if(r.type==="reasoning"&&u?.type==="thinking"){this.#l(a),u.thinking=Jct(r,u.thinking,this.#n?this.runtime.cutoffSummaries:void 0),u.thinkingSignature=JSON.stringify(r),n.push({type:"thinking_end",contentIndex:p,content:u.thinking,partial:s}),t.closeOpenItem(a);return}if(r.type==="message"&&u?.type==="text"){u.text=j1e(r,u.text);let c=r.phase==="commentary"||r.phase==="final_answer"?r.phase:void 0;u.textSignature=_H(r.id,c),n.push({type:"text_end",contentIndex:p,content:u.text,partial:s}),t.closeOpenItem(a);return}if(r.type==="function_call"){let c={type:"toolCall",id:xk(r.call_id,r.id),name:r.name,arguments:vi(r.arguments)};if(u?.type==="toolCall")u.arguments=c.arguments,Ra(u);t.closeOpenItem(a),t.canSafelyReplayWebsocketOverSse=!1,n.push({type:"toolcall_end",contentIndex:p,toolCall:c,partial:s});return}if(r.type==="computer_call"){let c={type:"toolCall",id:xk(r.call_id,r.id),name:"computer",arguments:{},providerMetadata:fme(r)},d=p;if(u?.type==="toolCall")u.id=c.id,u.providerMetadata=c.providerMetadata,Ra(u);else s.content.push(c),d=s.content.length-1;t.closeOpenItem(a),t.canSafelyReplayWebsocketOverSse=!1,n.push({type:"toolcall_end",contentIndex:d,toolCall:c,partial:s});return}if(r.type==="custom_tool_call"){let c=u?.type==="toolCall"?u[Dn]:void 0,d=c&&c.length>0?c:r.input??"",f={type:"toolCall",id:xk(r.call_id,r.id),name:r.name,arguments:{input:d},customWireName:r.name};if(u?.type==="toolCall")u.arguments={input:d},Ra(u);t.closeOpenItem(a),t.canSafelyReplayWebsocketOverSse=!1,n.push({type:"toolcall_end",contentIndex:p,toolCall:f,partial:s});return}}#d(e){let{runtime:t,model:s,output:n}=this;t.sawTerminalEvent=!0;let o=e.response,r=o&&typeof o==="object"?o:void 0,i=r&&"id"in r&&typeof r.id==="string"?r.id:void 0,a=r&&"usage"in r?oWi(r.usage):void 0,l=r&&"service_tier"in r?sWi(r.service_tier):void 0,u=r&&"status"in r?nWi(r.status):void 0,p=r&&"end_turn"in r?r.end_turn:void 0;if(P1e(n,a),lWi(t.websocketState,a,n.usage),i)n.responseId=i;let c=r&&"incomplete_details"in r&&r.incomplete_details&&typeof r.incomplete_details==="object"?r.incomplete_details:void 0,d=c&&"reason"in c?c.reason:void 0,f=u==="incomplete"&&d==="steered";if(f)se("Codex response stopped for steering",{responseId:i});let m=t.websocketState;if(m)if(t.transport!=="websocket")Jg(m);else{m.lastRequest=ai(t.requestBodyForState);let h=t.finalizeNativeOutputItems(),y=oX(ai(h));if(i&&y&&y.length===h.length)m.lastResponseId=i,m.lastResponseItems=y,m.canAppend=e.type==="response.done"||e.type==="response.completed"||f;else Jg(m)}let g=u==="incomplete"&&d==="max_output_tokens"&&idt(n);adt(n),Or(s,n.usage,n.timestamp),LBi(s,n.usage,l,t.requestBodyForState.service_tier),n.stopReason=rdt(f?"completed":u),ldt(n,p===!0?!0:p===!1?!1:void 0,g)}async#c(e){if(e instanceof Cht&&this.runtime.websocketState&&this.output.content.length===0&&!this.options?.signal?.aborted)return await this.#R(this.runtime.websocketState),!0;if(await this.#h(e))return!0;if(await this.#u(e))return!0;if(await this.#f(e))return!0;if(await this.#T(e))return!0;if(await this.#y(e))return!0;if(await this.#C(e))return!0;return!1}async#u(e){if(!(e instanceof Rht))return!1;if(this.#m(),this.runtime.whitespaceLoopRetries>=y$n||!this.runtime.canSafelyReplayWebsocketOverSse||this.output.content.some((s)=>s.type!=="thinking")||this.options?.signal?.aborted)return!1;this.runtime.whitespaceLoopRetries+=1;let t=this.requestContext.websocketState;if(t)Jg(t),t.modelsEtag=void 0;if(xd&&se("[codex] retrying codex turn after whitespace-only tool-call argument loop",{retry:this.runtime.whitespaceLoopRetries,retryBudget:y$n,transport:this.runtime.transport}),this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,this.runtime.whitespaceToolCallArgumentsDelta=void 0,pge(this.output),this.firstTokenTime=void 0,await Cqe.wait(SBi*this.runtime.whitespaceLoopRetries,{signal:this.requestSetup.requestSignal}),this.runtime.transport==="websocket"&&t)return await this.#R(t),!0;return await this.#k(t),!0}#m(){let{runtime:e,output:t}=this,s=e.currentBlock;if(s&&s.type==="toolCall"&&t.content[t.content.length-1]===s)t.content.pop();e.closeOpenItem(e.currentEntry)}async#f(e){if(!(e instanceof XH)||e.code!=="websocket_connection_limit_reached")return!1;let t=this.requestContext.websocketState;if(!t||this.runtime.transport!=="websocket"||this.options?.signal?.aborted)return!1;if(t.connection?.close("connection_limit"),t.connection=void 0,Jg(t),this.output.content.length>0&&!this.runtime.canSafelyReplayWebsocketOverSse)return!1;if(xd&&se("[codex] codex websocket connection limit reached, reconnecting",{hadContent:this.output.content.length>0,retry:this.runtime.websocketStreamRetries}),this.output.content.length>0)return this.runtime.resetAccumulators(),pge(this.output),this.firstTokenTime=void 0,cge(t,!0),await this.#k(t),!0;if(this.runtime.resetAccumulators(),this.firstTokenTime=void 0,this.runtime.websocketStreamRetries>=kqe)return cge(t,!0),await this.#k(t),!0;return this.runtime.websocketStreamRetries+=1,await Cqe.wait(Wls*Math.max(1,this.runtime.websocketStreamRetries),{signal:this.requestSetup.requestSignal}),await this.#R(t),!0}async#h(e){if(vH(this.output)||this.options?.signal?.aborted||!mqe(this.requestContext.transformedBody,this.model,this.requestContext.accountId,e))return!1;this.#g();let t=this.requestContext.websocketState;if(t)Jg(t);if(this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,pge(this.output),this.firstTokenTime=void 0,this.runtime.transport==="websocket"&&t)await this.#R(t);else await this.#k(t);return!0}async#T(e){let t=this.requestContext.websocketState;if(!YBi(e)||!t||this.output.content.length>0||this.options?.signal?.aborted||this.runtime.providerRetryAttempt>=bqe)return!1;if(this.runtime.transport!=="websocket")return!1;return this.runtime.providerRetryAttempt+=1,Jg(t),t.modelsEtag=void 0,this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,pge(this.output),this.firstTokenTime=void 0,xd&&se("[codex] codex previous_response_id expired; retrying with full context",{retry:this.runtime.providerRetryAttempt}),await this.#R(t),!0}async#y(e){let t=this.requestContext.websocketState;if(!(this.runtime.transport==="websocket"&&t&&ABi(e)&&this.runtime.canSafelyReplayWebsocketOverSse&&!this.runtime.sawTerminalEvent&&!this.options?.signal?.aborted))return!1;let n=t,o=e instanceof Error?e:Error(String(e)),r=this.output.content.length>0,i=o.message.toLowerCase(),a=S$n.some((u)=>i.includes(u.toLowerCase())),l=r||a||this.runtime.websocketStreamRetries>=kqe;if(cge(n,l),xd&&se("[codex] codex websocket stream fallback",{error:o.message,retry:this.runtime.websocketStreamRetries,retryBudget:kqe,activated:l,fatal:a,replayedBufferedOutput:r}),!l)return this.runtime.websocketStreamRetries+=1,this.runtime.resetAccumulators(),this.firstTokenTime=void 0,await Cqe.wait(Wls*Math.max(1,this.runtime.websocketStreamRetries),{signal:this.requestSetup.requestSignal}),await this.#R(n),!0;return this.runtime.resetAccumulators(),pge(this.output),this.firstTokenTime=void 0,await this.#k(n),!0}#g(){let{runtime:e,output:t,stream:s}=this,n=new Set(e.openItems.values());for(let o of e.openItemsByOutputIndex.values())n.add(o);if(e.currentEntry)n.add(e.currentEntry);for(let o of n){let r=o.block;if(r?.type==="thinking")s.push({type:"thinking_end",contentIndex:o.contentIndex,content:r.thinking,partial:t});else if(r?.type==="text")s.push({type:"text_end",contentIndex:o.contentIndex,content:r.text,partial:t})}}async#C(e){let t=e instanceof XH?e.retryable:v0(e),s=this.output.content.some((o)=>o.type==="text"&&o.text.length>0||o.type==="thinking"&&o.thinking.length>0);if(!t||vH(this.output)||s||!this.runtime.canSafelyReplayWebsocketOverSse||this.runtime.providerRetryAttempt>=bqe||this.options?.signal?.aborted)return!1;this.#g(),this.runtime.providerRetryAttempt+=1;let n=this.requestContext.websocketState;if(n)Jg(n),n.modelsEtag=void 0;if(xd&&se("[codex] retrying codex provider stream error",{error:e instanceof Error?e.message:String(e),retry:this.runtime.providerRetryAttempt,retryBudget:bqe,transport:this.runtime.transport}),this.runtime.resetAccumulators(),this.runtime.sawTerminalEvent=!1,pge(this.output),this.firstTokenTime=void 0,await Cqe.wait(Kls*this.runtime.providerRetryAttempt,{signal:this.requestSetup.requestSignal}),this.runtime.transport==="websocket"&&n)return await this.#R(n),!0;return await this.#k(n),!0}async#R(e){try{let t=await H$n(this.model,this.options,this.requestContext,this.requestSetup,e,this.runtime.websocketStreamRetries,this.options?(s)=>this.options?.onSseEvent?.(s,this.model):void 0);this.runtime.eventStream=t.eventStream,this.runtime.requestBodyForState=t.requestBodyForState,this.runtime.transport=t.transport,e.lastTransport=t.transport}catch(t){if(!(t instanceof wl))throw t;cge(e,!0),xd&&se("[codex] codex websocket reopen failed, falling back to SSE",{error:t.message,retry:this.runtime.websocketStreamRetries}),await this.#k(e)}}async#k(e){let t=await Sqe(this.model,this.requestContext,this.requestSetup,this.options,e);if(this.runtime.eventStream=t.eventStream,this.runtime.requestBodyForState=t.requestBodyForState,this.runtime.transport=t.transport,e)e.lastTransport=t.transport}finalize(e){let{output:t}=this;if(this.options?.signal?.aborted)throw new Zs;if(t.stopReason==="aborted"||t.stopReason==="error")throw new XH("Codex response failed",!1);if(t.providerPayload=mct(this.model.provider,this.runtime.finalizeNativeOutputItems()),t.duration=performance.now()-this.startTime,e.firstTokenTime)t.ttft=e.firstTokenTime-this.startTime;return t}}async function Xls(e,t){let s=t?.apiKey||oo(e.provider)||"";if(!s)return;let n=sC(s),o=e.baseUrl||Ou,r=mge(o),i=K0(t?.sessionId),a=i,l=fge(t?.providerSessionState),u=A1e(t?.responsesLite),p=W$n(i,e,n,s,o,u),c=i?`${o}:${e.id}:${i}`:void 0;if(c&&p)l?.webSocketPublicToPrivate.set(c,p);if(!p||!l)return;let d=jls(p,l);if(!G$n(e,d,t?.preferWebsockets))return;let f=Vls(i??crypto.randomUUID(),l),m=v$n(f,p),g=tC,h=A$n(f),y=await lZ(n),T=Gt("prewarmCodex:createHeaders",eus,{...e.headers,...t?.headers},n,s,g,a,"websocket",d,m,u,h,y);await Gt("prewarmCodex:establishWs",zls,d,m,Tht(r),T,e.provider,t?.signal),d.prewarmed=!0}function W$n(e,t,s,n,o,r){if(!e)return;let i=s?`account:${s}`:`token:${Bun.hash(n).toString(36)}`,a=r?":lite":"";return`${i}:${o}:${t.id}:${e}${a}`}function jls(e,t){let s=t.webSocketSessions.get(e);if(s)return s;let n={disableWebsocket:!1,canAppend:!1,fallbackCount:0,prewarmed:!1,stats:{fullContextRequests:0,deltaRequests:0,lastInputItems:0}};return t.webSocketSessions.set(e,n),n}function Jg(e){e.canAppend=!1,e.lastRequest=void 0,e.lastResponseId=void 0,e.lastResponseItems=void 0}function cge(e,t){if(Jg(e),e.connection&&!e.connection.isConnecting())e.connection.close("fallback"),e.connection=void 0;if(e.lastFallbackAt=Date.now(),t&&!e.disableWebsocket)e.disableWebsocket=!0,e.fallbackCount+=1}function XBi(e){let t=e.connection;if(!t||t.isBusy())return;t.close("transport_not_selected"),e.connection=void 0,Jg(e)}function G$n(e,t,s){if(e.preferWebsockets===!1)return!1;if(!t||t.disableWebsocket)return!1;let n=hht();if(n!==void 0)return n;if(s===!1)return!1;return!0}function j$n(e,t){let s=t?.baseUrl||e.baseUrl||Ou,n=fge(t?.providerSessionState),o=K0(t?.sessionId),r=o?`${s}:${e.id}:${o}`:void 0,i=r?n?.webSocketPublicToPrivate.get(r):void 0;return i?n?.webSocketSessions.get(i):void 0}function ZBi(e,t){let s=j$n(e,t)?.stats;return s?{...s}:void 0}function Zls(e,t){let s=yqe(e,{preferWebsockets:t?.preferWebsockets}),n=j$n(e,t),o=fge(t?.providerSessionState),r=K0(t?.sessionId),i=!1;if(r){let a=o?.metadataSessions.get(r);if(a)for(let l of a.turnStates.values()){if(l.value===void 0)continue;i=!0;break}}return{websocketPreferred:s,lastTransport:n?.lastTransport,websocketDisabled:n?.disableWebsocket??!1,websocketConnected:n?.connection?.isOpen()??!1,fallbackCount:n?.fallbackCount??0,canAppend:n?.canAppend??!1,prewarmed:n?.prewarmed??!1,hasSessionState:n!==void 0,hasTurnState:i,lastFallbackAt:n?.lastFallbackAt}}function tWi(e){let t=JSON.stringify(e);return eWi.encode(t===void 0?"undefined":t).byteLength}function $$n(e){let t=JSON.stringify(e);return String(Bun.hash(t===void 0?"undefined":t))}function sWi(e){switch(e){case"auto":case"default":case"flex":case"scale":case"priority":case"ultrafast":return e;default:return}}function nWi(e){switch(e){case"completed":case"failed":case"in_progress":case"cancelled":case"queued":case"incomplete":return e;default:return}}function oWi(e){if(!e||typeof e!=="object")return;let t={},s=!1;if("input_tokens"in e&&typeof e.input_tokens==="number")t.input_tokens=e.input_tokens,s=!0;if("output_tokens"in e&&typeof e.output_tokens==="number")t.output_tokens=e.output_tokens,s=!0;if("total_tokens"in e&&typeof e.total_tokens==="number")t.total_tokens=e.total_tokens,s=!0;if("prompt_cache_hit_tokens"in e&&typeof e.prompt_cache_hit_tokens==="number")t.prompt_cache_hit_tokens=e.prompt_cache_hit_tokens,s=!0;if("input_tokens_details"in e&&e.input_tokens_details&&typeof e.input_tokens_details==="object"){let n=e.input_tokens_details,o={},r=!1;if("cached_tokens"in n&&typeof n.cached_tokens==="number")o.cached_tokens=n.cached_tokens,r=!0;if("cache_write_tokens"in n&&typeof n.cache_write_tokens==="number")o.cache_write_tokens=n.cache_write_tokens,r=!0;if("orchestration_input_tokens"in n&&typeof n.orchestration_input_tokens==="number")o.orchestration_input_tokens=n.orchestration_input_tokens,r=!0;if("orchestration_input_cached_tokens"in n&&typeof n.orchestration_input_cached_tokens==="number")o.orchestration_input_cached_tokens=n.orchestration_input_cached_tokens,r=!0;if(r)t.input_tokens_details=o,s=!0}if("output_tokens_details"in e&&e.output_tokens_details&&typeof e.output_tokens_details==="object"){let n=e.output_tokens_details,o={},r=!1;if("reasoning_tokens"in n&&typeof n.reasoning_tokens==="number")o.reasoning_tokens=n.reasoning_tokens,r=!0;if("orchestration_output_tokens"in n&&typeof n.orchestration_output_tokens==="number")o.orchestration_output_tokens=n.orchestration_output_tokens,r=!0;if(r)t.output_tokens_details=o,s=!0}return s?t:void 0}function rWi(e){if(e&&typeof e==="object"){if("type"in e&&typeof e.type==="string")return e.type;if("role"in e&&typeof e.role==="string")return e.role}return typeof e}function iWi(e){let t={};for(let s in e){if(s==="input"||s==="previous_response_id"||s==="type"||s==="client_metadata")continue;t[s]=e[s]}return $$n(t)}function aWi(e,t,s){let n=e.input,o=Array.isArray(n)?n:[],r=o.map(rWi),i=typeof e.prompt_cache_key==="string"?e.prompt_cache_key:void 0,a=e.tools===void 0?void 0:$$n(e.tools);return{transport:t,previousResponseIdPresent:typeof e.previous_response_id==="string"&&e.previous_response_id.length>0,inputItemCount:o.length,inputItemTypes:r,...r[0]?{firstInputItemType:r[0]}:{},inputJsonBytes:tWi(o),...i!==void 0?{promptCacheKey:i}:{},...a!==void 0?{toolsHash:a}:{},optionsHash:iWi(e),canAppendBeforeRequest:s}}function $ls(e,t,s,n){if(!e)return;let o=t.input;e.stats.lastInputItems=Array.isArray(o)?o.length:0;let r=typeof t.previous_response_id==="string"?t.previous_response_id:void 0;if(r&&r.length>0)e.stats.deltaRequests+=1,e.stats.lastDeltaInputItems=e.stats.lastInputItems,e.stats.lastPreviousResponseId=r;else e.stats.fullContextRequests+=1,e.stats.lastDeltaInputItems=void 0,e.stats.lastPreviousResponseId=void 0;e.stats.lastTurn={request:aWi(t,s,n)},xd&&se("[codex] codex turn request diagnostics",{diagnostics:e.stats.lastTurn.request})}function lWi(e,t,s){if(!e?.stats.lastTurn||!t)return;let{input_tokens_details:n,output_tokens_details:o}=t,r=t.input_tokens??0,i=n?.cached_tokens??t.prompt_cache_hit_tokens??0,a={rawInputTokens:r,rawCachedTokens:i,rawUncachedTokens:Math.max(0,r-i),rawOutputTokens:t.output_tokens??0,...typeof t.total_tokens==="number"?{rawTotalTokens:t.total_tokens}:{},...typeof n?.orchestration_input_tokens==="number"?{rawOrchestrationInputTokens:n.orchestration_input_tokens}:{},...typeof n?.orchestration_input_cached_tokens==="number"?{rawOrchestrationCachedTokens:n.orchestration_input_cached_tokens}:{},...typeof o?.orchestration_output_tokens==="number"?{rawOrchestrationOutputTokens:o.orchestration_output_tokens}:{},displayedInputTokens:s.input,displayedOutputTokens:s.output,displayedCacheReadTokens:s.cacheRead,displayedCacheWriteTokens:s.cacheWrite,displayedTotalTokens:s.totalTokens,displayedOrchestrationInputTokens:s.orchestration?.input??0,displayedOrchestrationCacheReadTokens:s.orchestration?.cacheRead??0,displayedOrchestrationOutputTokens:s.orchestration?.output??0};e.stats.lastTurn={...e.stats.lastTurn,usage:a},xd&&se("[codex] codex turn diagnostics",{diagnostics:e.stats.lastTurn})}function pWi(e,t){let s=t?.canAppend===!0&&t.lastRequest?.service_tier==="ultrafast"===(e.service_tier==="ultrafast"),n=s?K1e(t.lastRequest,t.lastResponseItems,e,uWi):null;if(n&&n.length>0&&t?.lastResponseId)return{...e,previous_response_id:t.lastResponseId,input:n};if(s&&t)xd&&se("[codex] codex append reset",{hadModelsEtagHeader:Boolean(t.modelsEtag)}),Jg(t),t.modelsEtag=void 0;return e}function Tht(e){let t=new URL(e);if(t.protocol==="https:")t.protocol="wss:";else if(t.protocol==="http:")t.protocol="ws:";return t.toString()}function cWi(e){let t={};for(let[s,n]of e.entries())t[s]=n;return t}class z$n{#e;#t;#s;#n;#o=null;#r=[];#i=[];#a;#l=!1;#p;#d;#c;#u;#m;#f=0;#h=0;#T;#y=[];#g=new Set;#C=new Set;#R;constructor(e,t,s){this.#e=e,this.#t=t,this.#s=s.proxy,this.#n=s.onHandshakeHeaders}isOpen(){return this.#o?.readyState===WebSocket.OPEN}isConnecting(){return this.#a!==void 0}isBusy(){return this.#l||this.#a!==void 0}isHealthyForReuse(){if(!this.isOpen())return!1;let e=dBi;if(e<=0)return!0;if(this.#f===0)return!1;return Date.now()-this.#f<=e}matchesAuth(e){return this.#t.authorization===e.authorization}close(e="done"){let t=this.#o;if(this.#o=null,this.#M(),this.#w(`websocket closed (${e})`),!t||t.readyState!==WebSocket.OPEN&&t.readyState!==WebSocket.CONNECTING)return;try{t.close(1000,e)}catch(s){xd&&se("[codex] codex websocket close failed",{error:s instanceof Error?s.message:String(s),reason:e})}}async connect(e){if(this.isOpen())return;if(this.#a){Gt("codexWs:awaitSharedHandshake"),await this.#a;return}let{promise:t,resolve:s,reject:n}=Promise.withResolvers();this.#a=t;let o=new WebSocket(this.#e,{headers:this.#t,proxy:this.#s});o.binaryType="nodebuffer",this.#o=o;let r=!1,i,a=()=>{if(i!==void 0)clearTimeout(i),i=void 0;if(e)e.removeEventListener("abort",l)},l=()=>{if(!r)r=!0,a(),n(new wl("request was aborted",{cause:e?.reason}));this.close("aborted")};if(e)if(e.aborted)l();else e.addEventListener("abort",l,{once:!0});if(!r)i=setTimeout(()=>{if(this.close("connect-timeout"),!r)r=!0,a(),n(new wl("connection timeout"))},uBi);o.onopen=(u)=>{if(!r)r=!0,a(),this.#f=Date.now(),this.#S(o,u),this.#I(o),s()},o.onerror=(u)=>{let p=u,c=typeof p.message==="string"&&p.message||p.error instanceof Error&&p.error.message||String(u.type),d=new wl(`websocket error: ${c}`);if(!r){r=!0,a(),n(d);return}this.#O(d)},o.onclose=(u)=>{if(this.#o=null,this.#M(),this.#w(`websocket closed (${u.code})`),!r){r=!0,a(),n(new wl(`websocket closed before open (${u.code})`));return}this.#O(new wl(`websocket closed (${u.code})`)),this.#O(null)},o.onmessage=(u)=>{this.#f=Date.now(),this.#v(u.data);try{let p=typeof u.data==="string"?u.data:Buffer.from(u.data).toString("utf-8");if(!p)return;let c=JSON.parse(p);if(c.type==="error"&&typeof c.error==="object"&&c.error){let d=c.error;if(typeof c.code!=="string"&&typeof d.code==="string")c.code=d.code;if(typeof c.message!=="string"&&typeof d.message==="string")c.message=d.message}if(PBi(this.#p,c,p),typeof c.type==="string"&&c.type.startsWith("response.steer.")){this.#k(c);return}this.#O(c)}catch(p){OBi(this.#p,u.data,p),this.#O(new wl(`${String(p)}`))}},Gt("codexWs:awaitTcpHandshake");try{await t}finally{this.#a=void 0}}async*streamRequest(e,t,s,n){if(!this.#o||this.#o.readyState!==WebSocket.OPEN)throw new wl("websocket connection is unavailable");if(this.#l)throw new wl("websocket request already in progress");if(s?.aborted)throw new wl("request was aborted",{cause:s.reason});if(this.#l=!0,this.#p=n,"send"in e)this.#x();else this.#R=new Set(e.attachSteerIds);let o=()=>{this.#O(new wl("request was aborted",{cause:s?.reason})),this.close("aborted")};if(s)s.addEventListener("abort",o,{once:!0});try{if("send"in e){let g=e.send,h=QX()?await Xme({protocol:"websocket",method:"POST",url:this.#e,headers:this.#t,body:g}):void 0;this.#m=h?await h.openResponseLog("WebSocket 101 Switching Protocols",this.#u):void 0;let y=JSON.stringify(g);b$n(n,g,y);let T=this.#o;if(!T||T.readyState!==WebSocket.OPEN){if(s?.aborted)throw new wl("websocket connection is unavailable",{cause:s.reason});throw new wl("websocket connection is unavailable")}try{T.send(y)}catch(R){throw new wl(`websocket send failed: ${R instanceof Error?R.message:String(R)}`)}}else if(this.hasFailedSteer(e.attachSteerIds))throw new Cht("accepted steering was not committed to a successor response");let r=!1,{idleTimeoutMs:i,firstEventTimeoutMs:a}=t,l=Date.now(),u,p=l,c,d,f,m=this.#T;while(!0){let g,h;if(r){if(h=T$n("idle timeout waiting for websocket",{lastEventAt:p,lastEventType:c,lastProgressAt:l,lastProgressEventType:u}),i!==void 0&&i>0){if(g=i-(Date.now()-l),g<=0)throw xd&&se("[codex] codex websocket idle timeout",{lastEventType:c,lastProgressEventType:u,msSinceLastEvent:Date.now()-p,msSinceLastProgress:Date.now()-l}),new wl(`${h}`)}}else if(h=T$n("timeout waiting for first websocket event",{lastEventAt:p,lastEventType:c,lastProgressAt:l,lastProgressEventType:u}),a!==void 0&&a>0)g=a;let y=await this.#F(g,h);if(y instanceof Error)throw y;if(y===null)throw new wl("websocket closed before response completion");let T=typeof y.type==="string"?y.type:"",R=xBi(y),C=vBi(y);if(R!==void 0){if(d===void 0){if(m!==void 0&&R===m)continue;d=R}else if(R!==d)throw this.close("stale-frame"),new wl(`websocket frame for response ${R} interleaved into active response ${d}`);this.#T=R}if(C!==void 0){if(d!==void 0&&f!==void 0&&C<f)throw this.close("stale-frame"),new wl(`websocket sequence_number ${C} regressed below ${f} within response ${d}`);f=C}if(r=!0,p=Date.now(),c=T||void 0,x$n(y))l=p,u=c;if(yield y,T==="response.completed"||T==="response.done"||T==="response.incomplete"||T==="response.failed"||T==="error")break}}finally{if(this.#l=!1,this.#p=void 0,this.#R=void 0,s)s.removeEventListener("abort",o);let r=this.#m;this.#m=void 0,await r?.close()}}steer(e,t){let s=this.#o;if(!s||s.readyState!==WebSocket.OPEN)return Promise.reject(new wl("websocket connection is unavailable"));let n={type:"response.steer",previous_response_id:e,input:t},o=JSON.stringify(n),{promise:r,resolve:i,reject:a}=Promise.withResolvers(),l={previousResponseId:e,resolve:i,reject:a};this.#y.push(l),b$n(this.#p,n,o);try{s.send(o)}catch(u){this.#y.splice(this.#y.indexOf(l),1),a(new wl(`websocket send failed: ${u instanceof Error?u.message:String(u)}`))}return r}hasFailedSteer(e){return e.some((t)=>this.#C.has(t))}#k(e){let t=_o(e.steer),s=typeof t?.id==="string"?t.id:void 0,n=typeof t?.previous_response_id==="string"?t.previous_response_id:"";if(e.type==="response.steer.accepted"){if(!s)return;this.#g.add(s),this.#b(n)?.resolve({accepted:!0,id:s});return}if(e.type==="response.steer.failed"){let o=_o(e.error),r=typeof o?.code==="string"?o.code:void 0,i=typeof o?.message==="string"?o.message:void 0;if(s&&this.#g.has(s)){if(this.#C.add(s),this.#R?.has(s))this.#O(new Cht(`steering ${s} was not committed: ${r??i??"unknown"}`));return}this.#b(n)?.resolve({accepted:!1,code:r,message:i});return}xd&&se("[codex] codex steering event",{type:e.type,id:s,previousResponseId:n})}#b(e){let t=this.#y.findIndex((s)=>s.previousResponseId===e);return t<0?void 0:this.#y.splice(t,1)[0]}#w(e){let t=this.#y;if(t.length===0)return;this.#y=[];for(let s of t)s.reject(new wl(e))}#S(e,t){let s=IBi(e,t);if(!s)return;this.#u=s,this.#n?.(s)}#v(e){let t=this.#m;if(!t)return;if(typeof e==="string"){t.write(e);return}if(e instanceof Uint8Array){t.write(e);return}if(e instanceof ArrayBuffer){t.write(new Uint8Array(e));return}t.write(String(e))}#I(e){this.#M();let t=pBi;if(t<=0)return;this.#h=0;let s=e,n=()=>{this.#f=Date.now()};if(typeof s.addEventListener==="function"&&typeof s.removeEventListener==="function")s.addEventListener("pong",n),this.#c=()=>s.removeEventListener("pong",n);this.#d=setInterval(()=>{if(this.#o!==e||e.readyState!==WebSocket.OPEN){this.#M();return}let o=cBi;if(o>0&&this.#h>0&&this.#h>this.#f&&Date.now()-this.#h>o){this.#E(new wl("websocket pong timeout"),"pong-timeout");return}if(typeof e.ping!=="function"){this.#M();return}try{e.ping(),this.#h=Date.now()}catch(r){this.#E(new wl(`websocket ping failed: ${r instanceof Error?r.message:String(r)}`),"ping-failed")}},t),this.#d.unref()}#M(){if(this.#d)clearInterval(this.#d),this.#d=void 0;if(this.#c)this.#c(),this.#c=void 0;this.#h=0}#E(e,t){xd&&se("[codex] codex websocket transport failure",{error:e.message,closeReason:t}),this.#r.length=0,this.#r.push(e),this.close(t),this.#A()}#x(){if(this.#r.length===0)return 0;let e=this.#r.filter((s)=>s instanceof Error),t=this.#r.length-e.length;if(t===0)return 0;this.#r.length=0;for(let s of e)this.#r.push(s);return xd&&se("[codex] codex websocket dropped stale frames before request",{dropped:t}),t}#A(){for(;;){let e=this.#i.shift();if(!e)break;e()}}#O(e){if(e instanceof Error){this.#r.push(e),this.#A();return}if(e!==null&&this.#r.length>=h$n){this.#E(new wl(`websocket message queue exceeded ${h$n} items`),"queue-overflow");return}this.#r.push(e);let t=this.#i.shift();if(t)t()}async#F(e,t){while(this.#r.length===0){let{promise:s,resolve:n}=Promise.withResolvers();this.#i.push(n);let o=!1,r;if(e!==void 0&&e>0)r=setTimeout(()=>{o=!0;let i=this.#i.indexOf(n);if(i>=0)this.#i.splice(i,1);n()},e);if(await s,r)clearTimeout(r);if(o&&this.#r.length===0)return new wl(`${t}`)}return this.#r.shift()??null}}async function zls(e,t,s,n,o,r){let i=HH(o,new URL(s)),a=cWi(n);for(let l=0;l<3;l+=1){let u=e.connection;if(!u||u.isOpen()||!u.isConnecting())break;try{await u.connect(r)}catch{}}if(e.connection?.isOpen())if(!e.connection.matchesAuth(a))e.connection.close("token-refresh"),Jg(e);else if(e.connection.isHealthyForReuse())return Gt("codexWs:reuseOpenSocket"),e.connection;else xd&&se("[codex] codex websocket reuse rejected by health check",{}),e.connection.close("stale-reuse"),Jg(e);return e.connection?.close("reconnect"),Jg(e),Gt("codexWs:newSocket"),e.connection=new z$n(s,a,{onHandshakeHeaders:(l)=>{bht(t,e,l)},proxy:i}),await e.connection.connect(r),e.connection}function dWi(e,t){if(!vqe(t)||!Ki("PI_CODEX_ZSTD",!0))return;try{return Bun.zstdCompressSync(e,{level:3})}catch(s){xd&&se("[codex] codex request body compression failed",{error:s instanceof Error?s.message:String(s)});return}}async function fWi(e,t,s,n,o,r,i,a,l,u,p,c,d,f,m,g){let h=eus(t,s,n,u,o,"sse",i,a,l,p,await lZ(s),r),y,T=async(x,v)=>{let A;try{return A=await(g??fetch)(x,v),A}finally{if(!A||A.ok)y?.(),y=void 0}},R=JSON.stringify(r),C=dWi(R,e);if(C!==void 0)h.set("content-encoding","zstd");xd&&se("[codex] codex request",{url:e,model:r.model,headers:K$n(h),sentTurnStateHeader:h.has(dge),sentModelsEtagHeader:h.has(wqe)});let b=(x)=>gd(e,{method:"POST",headers:h,body:x,signal:c,prepareInit:()=>{y?.();let v=MH(c,d);return y=v.clear,{signal:v.signal}},maxAttempts:lBi(f),defaultDelayMs:(v)=>Kls*(v+1),maxDelayMs:CBi,fetch:T,timeout:!1}),S;try{if(S=await b(C??R),C!==void 0&&(S.status===400||S.status===415)){let x=S.status;await S.body?.cancel(),h.delete("content-encoding"),xd&&se("[codex] retrying request without zstd after encoding rejection",{url:e,status:x}),S=await b(R)}}catch(x){throw y?.(),x}if(xd&&se("[codex] codex response",{url:S.url,status:S.status,statusText:S.statusText,contentType:S.headers.get("content-type")||null,cfRay:S.headers.get("cf-ray")||null}),!S.ok)try{throw await gqe.fromResponse(S)}finally{y?.()}if(bht(a,i,S.headers),!S.body)throw new XH("No response body",!1);return Mc(S.body,c,m?(x)=>m({event:x.event,data:x.data,raw:[...x.raw]},void 0):void 0)}function eus(e,t,s,n,o,r="sse",i,a,l=!1,u,p,c){let d=new Headers(e??{});if(d.delete("x-api-key"),d.set("Authorization",`Bearer ${s}`),t)d.set(zs.ACCOUNT_ID,t);if(c)d.set(zs.ROUTING_HINT,r$(c.model,c.service_tier));else d.delete(zs.ROUTING_HINT);if(XE(d,s),p)d.set(zs.ATTESTATION,p);else d.delete(zs.ATTESTATION);let f=r==="websocket"?tc.BETA_RESPONSES_WEBSOCKETS_V2:tc.BETA_RESPONSES;if(d.delete(zs.BETA),d.delete("openai-beta"),d.set(zs.BETA,f),d.set(zs.ORIGINATOR,tc.ORIGINATOR_CODEX),d.set(zs.VERSION,n),d.set("User-Agent",eo),o)d.set(zs.CONVERSATION_ID,o),d.set(zs.SESSION_ID,o),d.set("x-client-request-id",o);else d.delete(zs.CONVERSATION_ID),d.delete(zs.SESSION_ID),d.delete("x-client-request-id");if(d.delete(zs.INSTALLATION_ID),u)P$n(d,u);else d.delete(zs.SCOPED_SESSION_ID),d.delete(zs.THREAD_ID),d.delete(zs.WINDOW_ID),d.delete(zs.TURN_METADATA);if(a?.value)d.set(dge,a.value);else d.delete(dge);if(i?.modelsEtag)d.set(wqe,i.modelsEtag);else d.delete(wqe);if(l)d.set(zs.RESPONSES_LITE,"true");else d.delete(zs.RESPONSES_LITE);if(r==="sse")d.set("accept","text/event-stream"),d.set("content-type","application/json");else d.delete("accept"),d.delete("content-type");return d}function K$n(e){let t={};for(let[s,n]of e.entries()){let o=s.toLowerCase();if(o==="authorization"){t[s]="Bearer [redacted]";continue}if(o.includes("account")||o.includes("session")||o.includes("conversation")||o.includes("thread")||o.includes("window")||o.includes("installation")||o.startsWith("x-codex-turn")||o==="x-client-request-id"||o==="cookie"){t[s]="[redacted]";continue}t[s]=n}return t}function mge(e){let s=(e&&e.trim().length>0?e:Ou).replace(/\/+$/,"");if(s.endsWith("/codex/responses"))return s;if(s.endsWith("/codex"))return`${s}/responses`;return`${s}/codex/responses`}function tus(e,t){let s=[],n=(p)=>{let c=p.search(/[\n|]/),[d,f]=c>0?[p.slice(0,c),p.slice(c+1)]:[p,void 0],m=ime(d),g=(f??Bun.hash(p).toString(36)).replace(/[^a-zA-Z0-9_-]/g,"_");if(!g.startsWith("fc"))g=`fc_${g}`;let h=g.length>64?g.slice(0,64):g;return h=h.replace(/_+$/,""),`${m}|${h}`},o=qc(t.messages,e,n),r=fX(e),i=0,a=new Set,l=new Set,u=new Set;for(let p of o){if(p.role==="user"||p.role==="developer"){let c=p.providerPayload,d=Qfe(c,e.provider);if(d){let m=Kfe(d).result,g=Jfe(m),h=e.supportsComputerUse===!0?g:k$n(g,e.compat.supportsImageDetailOriginal);for(let y of h){if(y.type==="custom_tool_call")a.add(y.call_id);if(y.type==="computer_call")u.add(y.call_id);if((y.type==="function_call"||y.type==="custom_tool_call")&&y.call_id)l.add(y.call_id)}s.push(...r?H$(h):h),i+=1;continue}let f=mWi(e,p.content);if(f.length===0)continue;s.push({role:p.role,content:f}),i+=1;continue}if(p.role==="assistant"){let c=p,d=c.api===e.api&&c.model===e.id?rX(c.providerPayload,e.provider,c.provider):void 0,f=d?.items,m=!1;if(f){let y=oX(f);if(y){let T=e.supportsComputerUse===!0?y:k$n(y,e.compat.supportsImageDetailOriginal),R=r?H$(T):T;for(let C of R){if(C.type==="custom_tool_call")a.add(C.call_id);if(C.type==="computer_call")u.add(C.call_id);if((C.type==="function_call"||C.type==="custom_tool_call")&&C.call_id)l.add(C.call_id)}if(d?.dt)s.push(...R);else s.splice(0,s.length,...R);i+=1;continue}m=!0}let g=$ct(e.supportsComputerUse===!0?c:FBi(c),e,i,l,!m,a,!1,!0,void 0,u),h=m?fct(g):g;if(h.length>0)s.push(...r?H$(h):h);i+=1;continue}if(p.role==="toolResult")Kct(s,e.supportsComputerUse===!0?p:_Bi(p),e,!1,e.compat.supportsImageDetailOriginal,l,a,!0,u);i+=1}return s}function mWi(e,t){let s=fX(e);if(typeof t==="string"){if(!t||t.trim()==="")return[];let n=t.toWellFormed();return[{type:"input_text",text:s?Qf(n):n}]}return jct(t,e.input.includes("image"),e.compat.supportsImageDetailOriginal,s)??[]}function V$n(e,t){let s=t.applyPatchToolType==="freeform",n=[];for(let o of e){if(o.native?.type==="computer"&&t.supportsComputerUse===!0){n.push({type:"computer"});continue}if(s&&o.customFormat){n.push({type:"custom",name:o.customWireName??o.name,description:o.description||"",format:{type:"grammar",syntax:o.customFormat.syntax,definition:fqe(o.customFormat.syntax,o.customFormat.definition)}});continue}let r=!!(!Rk&&o.strict),i=P0(Jn(o)),{schema:a,strict:l}=N_(i,r);n.push({type:"function",name:o.name,description:o.description||"",parameters:a,...l?{strict:!0}:!Rk&&o.strict===!1?{strict:!1}:{}})}return n}function Y$n(e){let t=sus(e);if(t instanceof B.errors)return!1;let s=t.error??t.response?.error,n=s?.code??s?.type??t.code;if(n&&hBi.has(n.toLowerCase()))return!0;let o=s?.message??t.message??t.response?.message;return!!o&&(yBi.test(o)||Jde.test(o)||Qde.test(o))}function nus(e){let t=sus(e);if(t instanceof B.errors)return new XH("Codex response failed",!1);let s=t.error??t.response?.error,n=s?.code??s?.type??t.code??"",o=t.message??"",r=t.type==="error"?yWi(e,n,o):J$n(e)??"Codex response failed";return new XH(r,Y$n(e),n||void 0)}function J$n(e){let t=sus(e);if(t instanceof B.errors)return null;let s=t.error??t.response?.error,n=s?.message??t.message??t.response?.message,o=s?.code??s?.type??t.code,r=t.response?.status??t.status,i=[];if(o)i.push(`code=${o}`);if(r)i.push(`status=${r}`);if(n){let a=i.length?` (${i.join(", ")})`:"";return`Codex response failed: ${n}${a}`}if(i.length)return`Codex response failed (${i.join(", ")})`;try{let a=JSON.stringify(e);return`Codex response failed: ${a.length<=800?a:`${a.slice(0,800)}\u2026[truncated ${a.length-800}]`}`}catch{return"Codex response failed"}}function yWi(e,t,s){let n=J$n(e);if(n)return n.replace("response failed","error event");let o=[];if(t)o.push(`code=${t}`);if(s)o.push(`message=${s}`);if(o.length>0)return`Codex error event (${o.join(", ")})`;try{let r=JSON.stringify(e);return`Codex error event: ${r.length<=800?r:`${r.slice(0,800)}\u2026[truncated ${r.length-800}]`}`}catch{return"Codex error event"}}var xd,bqe=5,Kls=500,uBi=1e4,pBi,cBi,h$n,dBi,fBi,mBi,kqe,Wls,gBi="Codex websocket transport error",hBi,yBi,Gls="openai-codex-responses",dge="x-codex-turn-state",wqe="x-models-etag",TBi="ws_request_header_x_openai_internal_codex_responses_lite",RBi="openai_chatgpt_moderation_metadata",S$n,CBi=300000,bBi,kBi=256,wBi=16384,y$n=2,SBi=250,EBi,KBi,VBi,Qls=(e,t,s)=>{let n=new xn;return(async()=>{let o=performance.now(),r={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()},i=N$n(s),a,l;try{l=await qBi(e,t,s);let u=await q$n(e,s,i,l),p=new O$n({...u,websocketState:l.websocketState});if(l.websocketState)l.websocketState.lastTransport=u.transport;a=new B$n({runtime:p,model:e,output:r,stream:n,options:s,requestSetup:i,requestContext:l,startTime:o});let c=await a.process();a.firstTokenTime=c.firstTokenTime;let d=a.finalize(c);n.push({type:"done",reason:d.stopReason,message:d}),n.end()}catch(u){let p=a??{model:e,output:r,options:s,requestContext:l??{apiKey:"",accountId:"",baseUrl:e.baseUrl||Ou,url:"",requestHeaders:{},codexClientVersion:tC,turnState:{},responsesLite:s?.responsesLite===!0,transformedBody:{model:e.id},rawRequestDump:{provider:e.provider,api:r.api,model:e.id,method:"POST",url:"",body:{model:e.id}}},startTime:o};try{let c=await QBi(p,u);n.push({type:"error",reason:c.stopReason,error:c})}catch(c){as("Codex stream failure handler threw",{error:c instanceof Error?c.message:String(c)}),r.stopReason="error",r.errorMessage??=u instanceof Error?u.message:String(u),n.push({type:"error",reason:"error",error:r})}n.end()}finally{l?.isolatedTransportState?.close()}})(),n},eWi,uWi,wl,Cht,Rht,XH,QH,gWi,w$n,hWi,sus;var tD=k(()=>{Jt();yo();gk();W();ht();Jf();Vg();Ti();Lc();EH();ul();rme();tx();BH();YLe();jl();lme();Dls();qls();Uls();yht();iC();Zm();xd=Ki("PI_CODEX_DEBUG");pBi=Number(Se.PI_CODEX_WEBSOCKET_PING_INTERVAL_MS||1e4),cBi=Number(Se.PI_CODEX_WEBSOCKET_PONG_TIMEOUT_MS||60000),h$n=Number(Se.PI_CODEX_WEBSOCKET_MESSAGE_QUEUE_CAPACITY||4096),dBi=Number(Se.PI_CODEX_WEBSOCKET_MAX_IDLE_REUSE_MS||30000),fBi=Number(Se.PI_CODEX_WEBSOCKET_IDLE_TIMEOUT_MS||300000),mBi=Number(Se.PI_CODEX_WEBSOCKET_FIRST_EVENT_TIMEOUT_MS||300000),kqe=Number(Se.PI_CODEX_WEBSOCKET_RETRY_BUDGET||bqe),Wls=Number(Se.PI_CODEX_WEBSOCKET_RETRY_DELAY_MS||Kls),hBi=new Set(["model_error","server_error","internal_error"]),yBi=/processing your request|retry your request|temporar(?:y|ily)|overloaded|service.?unavailable|internal error|server error/i,S$n=["websocket error:","websocket closed before open","connection timeout"],bBi=new Set(["response.done","response.incomplete"]);EBi={installation_id:!0,[zs.INSTALLATION_ID]:!0,session_id:!0,thread_id:!0,turn_id:!0,window_id:!0,[zs.WINDOW_ID]:!0,[zs.TURN_METADATA]:!0,[zs.PARENT_THREAD_ID]:!0,[zs.SUBAGENT]:!0,request_kind:!0,compaction:!0,code_mode_tool_names:!0,tool_namespaces_info:!0,turn_started_at_unix_ms:!0,forked_from_thread_id:!0,parent_thread_id:!0,parent_turn_id:!0,subagent_kind:!0,thread_source:!0,sandbox:!0,workspaces:!0};KBi={previous_response_not_found:!0,codex_previous_response_stale:!0},VBi={rate_limit_exceeded:!0,slow_down:!0};eWi=new TextEncoder;uWi={service_tier:!0};wl=class wl extends Error{constructor(e,t){super(`${gBi}: ${e}`,t);this.name="CodexWebSocketTransportError"}};Cht=class Cht extends Error{constructor(e){super(e);this.name="CodexSteerCommitError"}};Rht=class Rht extends Error{constructor(e){super(e);this.name="CodexWhitespaceToolCallLoopError"}};XH=class XH extends Error{retryable;code;constructor(e,t,s){super(e);this.name="CodexProviderStreamError",this.retryable=t,this.code=s}};QH=B("unknown").pipe((e)=>{let t=B("string")(e);return t instanceof B.errors?void 0:t}),gWi=B({"code?":QH,"type?":QH,"message?":QH}),w$n=B("unknown").pipe((e)=>{let t=gWi(e);return t instanceof B.errors?void 0:t}),hWi=B({"type?":QH,"code?":QH,"message?":QH,"status?":QH,"error?":w$n,"response?":B("unknown").pipe((e)=>{let t=B({"error?":w$n,"message?":QH,"status?":QH})(e);return t instanceof B.errors?void 0:t})}),sus=B("unknown").pipe((e)=>{let t=hWi(e);return t instanceof B.errors?{type:void 0,code:void 0,message:void 0,status:void 0,error:void 0,response:void 0}:t})});var Q$n={};O(Q$n,{CLINEPASS_API_BASE_URL:()=>gge,clinePassClientHeaders:()=>mz});function mz(e){return{"HTTP-Referer":"https://cline.bot","X-Title":"Cline","X-IS-MULTIROOT":"false","X-CLIENT-TYPE":"cline-sdk","User-Agent":"Cline/3.0.58","X-CLIENT-VERSION":"3.0.58","X-PLATFORM":process.platform,"X-PLATFORM-VERSION":"3.0.54","X-CORE-VERSION":"0.0.79",...e?{"X-Task-ID":e}:{}}}var gge="https://api.cline.bot/api/v1";var rus;var X$n=k(()=>{rus={name:"@buckeyestudio/pi-ai",version:"18.4.14",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/can1357/oh-my-pi.git",directory:"packages/ai"},files:["src","README.md","CHANGELOG.md"],type:"module",main:"./src/index.ts",types:"./src/index.ts",exports:{".":{types:"./src/index.ts",import:"./src/index.ts"},"./error":{types:"./src/error/index.ts",import:"./src/error/index.ts"},"./embeddings":{types:"./src/embeddings/index.ts",import:"./src/embeddings/index.ts"},"./judgment":{types:"./src/judgment/index.ts",import:"./src/judgment/index.ts"},"./rerank":{types:"./src/rerank/index.ts",import:"./src/rerank/index.ts"},"./speech":{types:"./src/speech/index.ts",import:"./src/speech/index.ts"},"./images":{types:"./src/images/index.ts",import:"./src/images/index.ts"},"./transcription":{types:"./src/transcription/index.ts",import:"./src/transcription/index.ts"},"./video":{types:"./src/video/index.ts",import:"./src/video/index.ts"},"./*":{types:"./src/*.ts",import:"./src/*.ts"},"./auth-broker":{types:"./src/auth-broker/index.ts",import:"./src/auth-broker/index.ts"},"./auth-broker/*":{types:"./src/auth-broker/*.ts",import:"./src/auth-broker/*.ts"},"./auth-gateway":{types:"./src/auth-gateway/index.ts",import:"./src/auth-gateway/index.ts"},"./auth-gateway/*":{types:"./src/auth-gateway/*.ts",import:"./src/auth-gateway/*.ts"},"./providers/*":{types:"./src/providers/*.ts",import:"./src/providers/*.ts"},"./providers/openai-codex/*":{types:"./src/providers/openai-codex/*.ts",import:"./src/providers/openai-codex/*.ts"},"./usage/*":{types:"./src/usage/*.ts",import:"./src/usage/*.ts"},"./utils/harmony-leak":{types:"./src/utils/harmony-leak.ts",import:"./src/utils/harmony-leak.ts"},"./dialect":{types:"./src/dialect/index.ts",import:"./src/dialect/index.ts"},"./utils/*":{types:"./src/utils/*.ts",import:"./src/utils/*.ts"},"./oauth":{types:"./src/registry/oauth/index.ts",import:"./src/registry/oauth/index.ts"},"./oauth/*":{types:"./src/registry/oauth/*.ts",import:"./src/registry/oauth/*.ts"},"./registry":{types:"./src/registry/index.ts",import:"./src/registry/index.ts"},"./registry/oauth":{types:"./src/registry/oauth/index.ts",import:"./src/registry/oauth/index.ts"},"./utils/schema":{types:"./src/utils/schema/index.ts",import:"./src/utils/schema/index.ts"},"./utils/schema/*":{types:"./src/utils/schema/*.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:{"@buckeyestudio/omptype":"catalog:","@buckeyestudio/pi-catalog":"catalog:","@buckeyestudio/pi-natives":"catalog:","@buckeyestudio/pi-utils":"catalog:","@buckeyestudio/pi-wire":"catalog:"},devDependencies:{"@types/bun":"catalog:"},engines:{bun:">=1.3.14"}}});var ezn={};O(ezn,{getKimiCommonHeaders:()=>gz});import*as Z$n from"crypto";import*as hge from"fs";import*as sD from"os";import*as Sht from"path";function ius(e,t,s){return[e,t,s].filter(Boolean).join(" ").trim()}function CWi(){let e=sD.platform(),t=sD.release(),s=sD.arch();if(e==="darwin")return ius("macOS",t,s);if(e==="win32")return ius("Windows",t,s);return ius(e==="linux"?"Linux":e,t,s)}function wht(e,t=""){return e.replace(/[^\x20-\x7E]/g,"").trim()||t}var RWi="kimi-device-id",aus=()=>{let e=Sht.join(ps(),RWi);try{let s=hge.readFileSync(e,"utf-8").trim();if(s)return aus=()=>s,s}catch{}let t=Z$n.randomUUID().replace(/-/g,"");try{hge.mkdirSync(Sht.dirname(e),{recursive:!0}),hge.writeFileSync(e,`${t}
483
483
  `,{mode:384})}catch{}return aus=()=>t,t},gz;var yge=k(()=>{W();X$n();gz=HR(()=>Object.freeze({"User-Agent":`KimiCLI/${rus.version}`,"X-Msh-Platform":"kimi_cli","X-Msh-Version":rus.version,"X-Msh-Device-Name":wht(sD.hostname(),"unknown"),"X-Msh-Device-Model":wht(CWi(),"unknown"),"X-Msh-Os-Version":wht(sD.version(),"unknown"),"X-Msh-Device-Id":wht(aus(),"unknown")}))});var fus={};O(fus,{applyOpenRouterRoutingVariant:()=>Hct,convertMessages:()=>izn,isOpenAICompletionsProgressChunk:()=>nzn,parseChunkUsage:()=>rzn,streamOpenAICompletions:()=>Eqe});function pus(e){if(typeof e!=="object"||e===null)return;for(let t of bWi){let s=Reflect.get(e,t);if(typeof s!=="object"||s===null)continue;let n=Reflect.get(s,"thought_signature");if(typeof n!=="string"||n.length===0)continue;return t==="google"?{google:{thought_signature:n}}:{vertex:{thought_signature:n}}}return}function Eht(e){if(typeof e!=="object"||e===null)return;for(let t of kWi){let s=Reflect.get(e,t);if(typeof s==="string"&&s.length>0)return{field:t,signature:s}}return}function xht(e){if(!e)return;try{return JSON.parse(e)}catch{return}}function vht(e){if(typeof e!=="object"||e===null)return;let t=Reflect.get(e,"perCall"),s=Eht(Reflect.get(e,"message"));if(t!==void 0||s){let o={};if(t!==void 0)o.perCall=t;if(s)o.message={[s.field]:s.signature};return o}let n=Eht(e);if(n)return{message:{[n.field]:n.signature}};return{perCall:e}}function lus(e,t){let s=vht(xht(e))??{};if(t.perCall!==void 0)s.perCall=t.perCall;if(t.message)s.message=t.message;return JSON.stringify(s)}function wWi(e){let t=Reflect.get(e,"thinking_blocks");if(Array.isArray(t)&&t.length>0)return t;let s=Reflect.get(e,"provider_specific_fields");if(typeof s!=="object"||s===null)return;let n=Reflect.get(s,"thinking_blocks");return Array.isArray(n)&&n.length>0?n:void 0}function SWi(e){let t=[];for(let s of e)if(s.type==="thinking"){let n=s.thinkingSignature;if(!n||n==="reasoning_content"||n==="reasoning"||n==="reasoning_text")continue;t.push({type:"thinking",thinking:s.thinking,signature:n})}else if(s.type==="redactedThinking")t.push({type:"redacted_thinking",data:s.data});return t}function xWi(...e){for(let t of e)if(typeof t==="number"&&t>0)return t;return 0}function vWi(e){let t=e;if(typeof t.cached_tokens==="number"&&t.cached_tokens>0)return!0;if(typeof t.prompt_cache_hit_tokens==="number"&&t.prompt_cache_hit_tokens>0)return!0;if(typeof t.cachedContentTokenCount==="number"&&t.cachedContentTokenCount>0)return!0;let s=t.prompt_tokens_details;if(typeof s!=="object"||s===null)return!1;let n=s;return typeof n.cached_tokens==="number"&&n.cached_tokens>0}function uus(e,t){if(!t)return e;let s=e.replace(/[^a-zA-Z0-9]/g,"");if(s.length<9)s=s+"ABCDEFGHI".slice(0,9-s.length);else if(s.length>9)s=s.slice(0,9);return s}function EWi(e,t){if(!t)return;if(e.thinking?.efforts.includes(t))return t;let s=e.compat.reasoningEffortMap?.[t];if(s&&e.thinking?.efforts.includes(s))return s;let n=e.thinking?.effortMap?.[t];if(n&&e.thinking?.efforts.includes(n))return n;return t}function AWi(e,t){let s=t?.reasoning&&!t.disableReasoning&&e.reasoning?t.reasoning:void 0,n=EWi(e,s),o=Wh(e,n);return N1e(o,e.compat.wireModelIdMode,t?.openrouterVariant)}function MWi(e){if(typeof e==="string")return e;if(Array.isArray(e)){let t="";for(let s of e)if(typeof s==="string")t+=s;else if(s&&typeof s==="object"){let n=s;if((n.type===void 0||n.type==="text")&&typeof n.text==="string")t+=n.text}return t}if(e&&typeof e==="object"){let t=e;if((t.type===void 0||t.type==="text")&&typeof t.text==="string")return t.text}return""}function IWi(e){if(e&&typeof e==="object"&&!Array.isArray(e))try{return JSON.stringify(e)}catch{return"{}"}if(typeof e==="string"){let t=e.trim();if(t.length===0)return"{}";try{let s=JSON.parse(t);if(s&&typeof s==="object"&&!Array.isArray(s))return JSON.stringify(s)}catch{}return"{}"}return"{}"}function hz(e){if(Array.isArray(e))return e.map(hz);if(e!==null&&typeof e==="object"&&!Array.isArray(e))return dus(void 0,e);return e}function cus(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++)if(!cus(e[s],t[s]))return!1;return!0}if(e!==null&&typeof e==="object"&&!Array.isArray(e)&&t!==null&&typeof t==="object"&&!Array.isArray(t)){let s=e,n=t,o=0;for(let i in s){if(!Object.hasOwn(s,i)||i==="__proto__"||i==="constructor"||i==="prototype")continue;if(o++,!Object.hasOwn(n,i)||!cus(s[i],n[i]))return!1}let r=0;for(let i in n){if(!Object.hasOwn(n,i)||i==="__proto__"||i==="constructor"||i==="prototype")continue;r++}return o===r}return!1}function tzn(e,t){if(t.length>e.length)return!1;for(let s=0;s<t.length;s++)if(!cus(e[s],t[s]))return!1;return!0}function PWi(e,t){if(tzn(t,e))return t.map(hz);if(tzn(e,t))return e.map(hz);let s=e.map(hz);for(let n of t)s.push(hz(n));return s}function OWi(e,t){if(typeof e==="string"&&typeof t==="string")return t.startsWith(e)?t:e+t;if(Array.isArray(e)&&Array.isArray(t))return PWi(e,t);if(e!==null&&typeof e==="object"&&!Array.isArray(e)&&t!==null&&typeof t==="object"&&!Array.isArray(t))return dus(e,t);return hz(t)}function dus(e,t){let s={};if(e)for(let n in e){if(!Object.hasOwn(e,n)||n==="__proto__"||n==="constructor"||n==="prototype")continue;s[n]=hz(e[n])}for(let n in t){if(!Object.hasOwn(t,n)||n==="__proto__"||n==="constructor"||n==="prototype")continue;s[n]=Object.hasOwn(s,n)?OWi(s[n],t[n]):hz(t[n])}return s}function FWi(e){for(let t of e){if(t.role==="toolResult")return!0;if(t.role==="assistant"){if(t.content.some((s)=>s.type==="toolCall"))return!0}}return!1}function nzn(e){if(!e||typeof e!=="object")return!1;let t=e;if(t.usage)return!0;let s=Array.isArray(t.choices)?t.choices[0]:void 0;if(!s)return!1;if(s.finish_reason)return!0;if(s.usage)return!0;let n=s.delta;if(!n)return!1;let o=n.content;if(typeof o==="string"?o.length>0:Array.isArray(o)&&o.length>0)return!0;if(Array.isArray(n.tool_calls)&&n.tool_calls.length>0)return!0;if(typeof n.reasoning==="string"&&n.reasoning.length>0)return!0;if(typeof n.reasoning_content==="string"&&n.reasoning_content.length>0)return!0;if(typeof n.reasoning_text==="string"&&n.reasoning_text.length>0)return!0;if(typeof n.refusal==="string"&&n.refusal.length>0)return!0;return!1}function DWi(){let e=O1e(),t=lLe(),s={...e,...t,close:()=>{F1e(s),uLe(s)}};return s}function NWi(e,t,s){if(!s)return;let n=`${_Wi}${e.provider}:${t??""}:${e.id}`,o=s.get(n);if(o)return o;let r=DWi();return s.set(n,r),r}function BWi(e){let t=e.replace(LWi,"");if(t===e)return e;let s=t;if(qWi.test(e))s=s.replace(/^\s+/u,"");if(UWi.test(e))s=s.replace(/\s+$/u,"");return s}function WWi(e){let t=-1;for(let n of HWi){let o=e.lastIndexOf(n);if(o>t)t=o}if(t===-1)return e.endsWith("<")?"<":"";let s=e.slice(t);if(s.includes("\uFF5C>")||s.includes("|>"))return"";if(s.length>256)return"";return s}function $Wi(e){let t=typeof e==="number"?e:typeof e==="string"&&/^\d{3}$/.test(e.trim())?Number(e):void 0;return t!==void 0&&Number.isInteger(t)&&t>=400&&t<=599?t:void 0}function zWi(e,t){if(!e||typeof e!=="object")return;let s=Reflect.get(e,"error"),n=Reflect.get(e,"message"),o=s!==null&&typeof s==="object";if(!o&&typeof s!=="string"&&typeof n!=="string")return;let r=Vm.parseEnvelope(e,void 0),i=r.detail??"Provider returned an in-band OpenAI completions stream error";if(!o)return new Kt(i,{provider:t,kind:"runtime"});let a=Reflect.get(s,"type"),l=Reflect.get(s,"code"),u=typeof a==="string"?a.trim():void 0,p=$Wi(l)??(u?jWi[u.toUpperCase()]:void 0);if(p===void 0)return new Kt(i,{provider:t,kind:"runtime"});return new es(`${p} ${i}`,p,{code:r.code})}function VWi(e){if(e.compat!==void 0)return e;let t=Sd({...e,api:"openai-completions",compat:e.compatConfig}).compat;return{...e,compat:t}}function YWi(e,t,s,n,o,r,i){let a=Se.AZURE_OPENAI_API_VERSION||"2024-10-21",l=V0(Se.AZURE_OPENAI_DEPLOYMENT_NAME_MAP).get(e.id)??e.id,u=yX(e,{apiKey:s,extraHeaders:n,initiatorOverride:o,promptCacheSessionId:r,sessionId:i,messages:t.messages,defaultBaseUrl:"https://api.openai.com/v1",prependHeaders:e.provider==="kimi-code"?gz:e.provider==="cline-pass"?()=>mz(r):void 0,alibabaCodingPlanAuth:!0,azureChatCompletions:{apiVersion:a,deploymentName:l}});if(!u.baseUrl)throw new Nt("OpenAI request setup did not resolve a base URL");return u}function ozn(e,t,s){return Y0(e,{endpoint:"chat-completions",reasoning:t?.reasoning,disableReasoning:t?.disableReasoning,toolChoice:gct(t?.toolChoice),hasTools:s})}function JWi(e,t,s){if(s.reasoning.disableReason==="forced-tool-choice"&&s.reasoning.disableMode==="openrouter-enabled-false"&&s.compat.isOpenRouterHost)delete e.reasoning}function QWi(e,t){if(!e.compat.nativeKimiK3Reasoning||!e.reasoning)return!1;return t?.reasoning!==void 0&&!t.disableReasoning}function XWi(e){if(typeof e!=="object"||e===null||!("type"in e))return!1;return e.type==="text"||e.type==="image_url"||e.type==="input_audio"||e.type==="file"}function ZWi(e){let t=-1;for(let s=e.length-1;s>=0;s--){let n=e[s];if(n.role==="user"||n.role==="developer"){t=s;break}}if(t<=0)return!1;for(let s=t-1;s>=0;s--){let n=e[s];if(n.role!=="user"&&n.role!=="developer"&&n.role!=="system")continue;if(typeof n.content==="string")return e[s]={...n,content:[{type:"text",text:n.content,prompt_cache_breakpoint:{mode:"explicit"}}]},!0;for(let o=n.content.length-1;o>=0;o--){let r=n.content[o];if(!XWi(r))continue;return Object.assign(r,{prompt_cache_breakpoint:{mode:"explicit"}}),!0}}return!1}function e2i(e,t,s){let n=ly(s);if(t.compat.supportsPromptCacheKey&&n!==void 0)e.prompt_cache_key=n;let o=s?.promptCache;if(!o||nc(s?.cacheRetention)==="none")return;if(!t.compat.supportsPromptCacheBreakpoints){if(o.mode==="explicit")throw new Nt(`OpenAI explicit prompt caching is unsupported for ${t.provider}/${t.id}; enable compat.supportsPromptCacheBreakpoints only for a compatible endpoint.`);return}if(e.prompt_cache_key=n,e.prompt_cache_options={mode:o.mode,ttl:o.ttl??t.compat.promptCacheBreakpointTtl},o.mode==="explicit"&&o.breakpoint!=="none")ZWi(e.messages)}function t2i(e,t,s,n){let r=ozn(e,s,Boolean(t.tools?.length)).compat,i=nc(s?.cacheRetention),l={model:AWi(e,s),messages:[],stream:!0},u="none",p=!1;if(r.supportsUsageInStreaming!==!1)l.stream_options={include_usage:!0};if(r.supportsStore)l.store=!1;if(r.supportsSamplingParams){if(s?.temperature!==void 0)l.temperature=s.temperature;if(s?.topP!==void 0)l.top_p=s.topP;if(s?.topK!==void 0)l.top_k=s.topK;if(s?.minP!==void 0)l.min_p=s.minP;if(r.supportsPenaltyAndStopParams){if(s?.presencePenalty!==void 0)l.presence_penalty=s.presencePenalty;if(s?.repetitionPenalty!==void 0)l.repetition_penalty=s.repetitionPenalty;if(s?.frequencyPenalty!==void 0)l.frequency_penalty=s.frequencyPenalty}}if(s?.stopSequences?.length&&r.supportsPenaltyAndStopParams){let h=s.stopSequences;l.stop=h.length===1?h[0]:h.slice(0,4)}if(mme(l,s?.serviceTier,e),t.tools?.length){let h=o2i(t.tools,r,n);l.tools=h.tools,u=h.toolStrictMode,p=h.strictToolsApplied}else if(t.tools===void 0&&FWi(t.messages))l.tools=[];if(s?.toolChoice&&r.supportsToolChoice)l.tool_choice=gct(s.toolChoice);let c=typeof l.tool_choice==="object"&&l.tool_choice!==null&&"function"in l.tool_choice?l.tool_choice.function.name:void 0;if(typeof l.tool_choice==="object"&&l.tool_choice!==null&&!r.supportsNamedToolChoice){if(c!==void 0&&Array.isArray(l.tools)&&l.tools.some((h)=>h.type==="function"&&h.function.name===c))l.tools=l.tools.filter((h)=>h.type==="function"&&h.function.name===c);l.tool_choice="required"}if(c!==void 0&&Array.isArray(l.tools)&&l.tools.some((h)=>h.type==="function"&&h.function.name===c)&&QWi(e,s))l.tool_choice="required";if(H_(l.tool_choice)&&!r.supportsForcedToolChoice)l.tool_choice="auto";if((!Array.isArray(l.tools)||l.tools.length===0)&&(l.tool_choice==="none"||H_(l.tool_choice)))delete l.tool_choice;if(c!==void 0&&(!Array.isArray(l.tools)||!l.tools.some((h)=>h.type==="function"&&h.function.name===c)))delete l.tool_choice;if(B1e(e,r,l.tool_choice,s))delete l.tool_choice;let d=Y0(e,{endpoint:"chat-completions",reasoning:s?.reasoning,disableReasoning:s?.disableReasoning,toolChoice:l.tool_choice,hasTools:Array.isArray(l.tools)&&l.tools.length>0}),f=d.compat,m=izn(e,t,f);n2i(f,m),l.messages=m;let g=L1e({field:f.maxTokensField,maxTokens:s?.maxTokens,maxTokensExplicit:s?.maxTokensExplicit??s?.maxTokens!==void 0,modelMaxTokens:e.maxTokens,omitMaxOutputTokens:e.omitMaxOutputTokens??!1,isOpenRouterHost:f.isOpenRouterHost,alwaysSendMaxTokens:f.alwaysSendMaxTokens,providerOutputClamp:Mos(e,f)});if(g){if(g.field==="max_tokens")l.max_tokens=g.value;else if(g.field==="max_completion_tokens")l.max_completion_tokens=g.value}return Ios(l,e,f),Aos(l,e,f,{...s,toolChoice:l.tool_choice,hasTools:Array.isArray(l.tools)&&l.tools.length>0}),JWi(l,e,d),q1e(l,f,i!=="none"),U1e(l,f.extraBody,{dropThinkingWhenReasoningEffort:f.dropThinkingWhenReasoningEffort}),e2i(l,e,s),{params:l,toolStrictMode:u,strictToolsApplied:p,reasoningEffortFallbackAllowed:d.reasoning.disableReason!=="tools"}}function s2i(e){let t=e?.get("fireworks-cached-prompt-tokens");if(!t)return;let s=Number(t);return Number.isFinite(s)&&s>0?s:void 0}function rzn(e,t,s,n,o){let r=e,i=r.prompt_tokens_details,a=typeof i==="object"&&i!==null?i:void 0,l=r.completion_tokens_details,u=typeof l==="object"&&l!==null?l:void 0,{completion_tokens:p,prompt_tokens:c,cached_tokens:d,prompt_cache_hit_tokens:f,prompt_cache_miss_tokens:m}=r,g=a?.cached_tokens,h=r.cachedContentTokenCount,y=u?.reasoning_tokens,T=a?.cache_write_tokens,R=typeof p==="number"?p:0,C=xWi(d,f,g,h),b=C>0||d===0||f===0||g===0||h===0?C:typeof o==="number"&&o>0?o:0,x={...Uct({promptTokens:typeof c==="number"?c:0,outputTokens:R,cachedTokens:b,reasoningTokens:typeof y==="number"?y:0,cacheWriteOpenRouter:typeof T==="number"?T:void 0,cacheWriteDeepSeek:typeof m==="number"?m:void 0,hasDeepSeekCacheHitAndMiss:typeof f==="number"&&typeof m==="number"}),cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0},...s!==void 0?{premiumRequests:s}:{}};return Or(t,x,n),qct(t,x,e),x}function n2i(e,t){if(e.cacheControlFormat!=="anthropic")return;for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.role!=="user"&&n.role!=="assistant"&&n.role!=="developer")continue;let o=n.content;if(typeof o==="string"){if(o.trim().length===0)continue;n.content=[Object.assign({type:"text",text:o},{cache_control:{type:"ephemeral"}})];return}if(!Array.isArray(o))continue;for(let r=o.length-1;r>=0;r--){let i=o[r];if(i?.type==="text"&&i.text.trim().length>0){Object.assign(i,{cache_control:{type:"ephemeral"}});return}}}}function izn(e,t,s){let n=[],o=s.requiresMistralToolIds?9:s.usesOpenAIToolCallIdLimit?40:void 0,r=s.requiresMistralToolIds?"dup":void 0,i=(h,y)=>{if(s.requiresMistralToolIds)return uus(h,!0);if(!(y!==void 0&&y.provider===e.provider&&y.api===e.api&&y.model===e.id)&&h.includes("|")){let[R]=h.split("|");return R.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,40)}if(s.usesOpenAIToolCallIdLimit)return h.length>40?h.slice(0,40):h;return h},a=qc(t.messages,e,(h,y,T)=>i(h,T),o,r,s),l=new Map,u=0,p=(h)=>(u+=1,`call_${Bun.hash(`${e.provider}:${e.id}:${h}:${u}`).toString(36)}`),c=(h,y)=>{let T=l.get(h);if(T){T.push(y);return}l.set(h,[y])},d=(h)=>{let y=l.get(h);if(!y||y.length===0)return null;let T=y.shift()??null;if(y.length===0)l.delete(h);return T},f=(h,y,T)=>{let R=i(h,T);if(R.trim().length>0)return R;return p(y)},m=Fu(t.systemPrompt);if(m.length>0){let y=e.reasoning&&s.supportsDeveloperRole?"developer":"system";if(s.supportsMultipleSystemMessages)for(let T of m)n.push({role:y,content:T});else n.push({role:y,content:m.join(`
484
484
 
485
485
  `)})}let g=null;for(let h=0;h<a.length;h++){let y=a[h];if(s.requiresAssistantAfterToolResult&&g==="toolResult"&&(y.role==="user"||y.role==="developer"))n.push({role:"assistant",content:"I have processed the tool results."});let T=!s.supportsDeveloperRole;if(y.role==="user"||y.role==="developer"){let R=!T&&y.role==="developer"?"developer":"user";if(typeof y.content==="string"){let C=y.content.toWellFormed();if(C.trim().length===0)continue;n.push({role:R,content:C})}else{let C=M1e(e),b=[],S=!1;for(let x of y.content)if(x.type==="text"){let v=x.text.toWellFormed();if(v.trim().length===0)continue;b.push({type:"text",text:v})}else if(C)b.push({type:"image_url",image_url:{url:x.url??`data:${x.mimeType};base64,${x.data}`,...x.detail&&x.detail!=="original"?{detail:x.detail}:{}}});else S=!0;if(S)b.push({type:"text",text:j0});if(b.length===0)continue;n.push({role:"user",content:b})}}else if(y.role==="assistant"){let R={role:"assistant",content:null},b=y.content.filter((L)=>L.type==="text").filter((L)=>L.text&&L.text.trim().length>0);if(b.length>0)R.content=b.map((L,N)=>{let U=L.text.toWellFormed();return nX(L)&&N<b.length-1?`${U}
@@ -4017,7 +4017,7 @@ Extraction:`;KOt=["fact","text","content","value","statement"],s3a=["instruction
4017
4017
  `).all();for(let t of e){let s=this.conn.query(`
4018
4018
  SELECT * FROM consolidated_facts
4019
4019
  WHERE subject = ? AND predicate = ? AND object != ? AND superseded_by IS NULL
4020
- `).all(t.subject,t.predicate,t.object);for(let n of s)if(t.confidence>n.confidence)this.resolveConflictByFacts(t.id,n.id)}})}resolveConflictByFacts(e,t){this.serializedWrite(()=>{this.conn.query("UPDATE consolidated_facts SET superseded_by = ?, updated_at = ? WHERE id = ?").run(e,cDs(),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(),s=this.conn.query("SELECT COUNT(*) AS count FROM conflicts WHERE resolution IS NULL").get(),n=this.conn.query("SELECT AVG(confidence) AS avg FROM consolidated_facts WHERE superseded_by IS NULL").get(),o=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:s.count,avg_confidence:Math.round((n.avg??0)*1000)/1000,avg_mentions:Math.round((o.avg??0)*100)/100}}close(){if(this.ownsConnection)this.conn.close()}}var sSe,p3a,y1o=80,c3a,tSe;var fDs=k(()=>{Ev();sSe=Object.freeze({stated:1,inferred:0.7,tool:0.5,imported:0.6,unknown:0.8}),p3a=Object.freeze({stated:!0,inferred:!0,tool:!0,imported:!0,unknown:!0}),c3a=Object.freeze({related_to:!0,mentions:!0,references:!0,uses:!0,has:!0,depends_on:!0,knows:!0}),tSe=Symbol("mnemopi.veracity.txDepth")});function G6e(e){return m3a.test(e)}function b1o(e,t){let[s,n]=e.length<=t.length?[e,t]:[t,e];if(s.length<4||n.length===s.length)return!1;if(n.startsWith(s)&&g3a.includes(n.slice(s.length)))return!0;let o=s.slice(0,-1);if(!n.startsWith(o))return!1;let r=n.slice(o.length);if(s.endsWith("e"))return h3a.includes(r);if(s.endsWith("y"))return y3a.includes(r);return!1}var m3a,g3a,h3a,y3a;var mDs=k(()=>{m3a=/[\u3040-\u30ff\u4e00-\u9fff\uac00-\ud7af]/;g3a=["s","es","d","ed","ing","er","ers","ment","ments"],h3a=["ing","ion","ions"],y3a=["ies","ied"]});import*as gDs from"path";async function k1o(e,t="local_cache"){let s=R3a[e];if(s===void 0)return!1;let n=gDs.join(t,e);for(let o of T3a){let r=gDs.join(n,o);if(await Bun.file(r).exists())continue;let i=await fetch(`https://huggingface.co/${s}/resolve/main/${o}`);if(!i.ok)throw Error(`Failed to download ${e} ${o} from ${s}: ${i.status} ${i.statusText}`);await Bun.write(r,await i.arrayBuffer())}return!0}var T3a,R3a;var w1o=k(()=>{T3a=["config.json","tokenizer.json","tokenizer_config.json","special_tokens_map.json"],R3a={"fast-all-MiniLM-L6-v2":"sentence-transformers/all-MiniLM-L6-v2","fast-bge-base-en":"BAAI/bge-base-en","fast-bge-base-en-v1.5":"BAAI/bge-base-en-v1.5","fast-bge-small-en":"BAAI/bge-small-en","fast-bge-small-en-v1.5":"BAAI/bge-small-en-v1.5","fast-bge-small-zh-v1.5":"BAAI/bge-small-zh-v1.5","fast-multilingual-e5-large":"intfloat/multilingual-e5-large"}});var x1o;var S1o=k(()=>{x1o={type:"module",name:"@buckeyestudio/pi-mnemopi",version:"18.4.13",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/can1357/oh-my-pi.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:"./src/index.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:{"@buckeyestudio/pi-ai":"catalog:","@buckeyestudio/pi-catalog":"catalog:","@buckeyestudio/pi-natives":"catalog:","@buckeyestudio/pi-utils":"catalog:"},peerDependencies:{fastembed:"2.1.0","onnxruntime-node":"1.21.0"},peerDependenciesMeta:{fastembed:{optional:!0},"onnxruntime-node":{optional:!0}},devDependencies:{"@types/bun":"catalog:",fastembed:"catalog:","onnxruntime-node":"catalog:"},engines:{bun:">=1.3.14"},files:["src","README.md","CHANGELOG.md"],exports:{".":{types:"./src/index.ts",import:"./src/index.ts"},"./core":{types:"./src/core/index.ts",import:"./src/core/index.ts"},"./core/beam":{types:"./src/core/beam/index.ts",import:"./src/core/beam/index.ts"},"./beam":{types:"./src/core/beam/index.ts",import:"./src/core/beam/index.ts"},"./diagnose":{types:"./src/diagnose.ts",import:"./src/diagnose.ts"},"./mcp":{types:"./src/mcp-tools.ts",import:"./src/mcp-tools.ts"},"./cli":{types:"./src/cli.ts",import:"./src/cli.ts"},"./*":{types:"./src/*.ts",import:"./src/*.ts"},"./*.js":"./src/*.ts"}}});import{createRequire as v1o}from"module";import*as cR from"path";function b3a(){return{versionKey:`fastembed-${YOt}_transitive-ort`.replace(/[^A-Za-z0-9._-]/g,"_"),install:{dependencies:{fastembed:YOt},trustedDependencies:["onnxruntime-node"]}}}async function k3a({fastembedEntry:e,fastembedPackageDir:t,arch:s=process.arch,env:n=process.env}){let o=cR.join(t,"node_modules"),r=cR.dirname(t),i=Bf(o,"onnxruntime-node"),a=i??Bf(r,"onnxruntime-node"),l=cR.join(i?o:r,"onnxruntime-node");if(!a)throw Error(`Cannot find module onnxruntime-node beside ${e}`);let u=new Bun.Glob(`bin/napi-*/win32/${s}/onnxruntime.dll`),p;for await(let m of u.scan({cwd:l,absolute:!0,onlyFiles:!0})){p=cR.dirname(m);break}if(!p)throw Error(`Cannot find module onnxruntime-node Windows DLL for ${s} beside ${a}`);let c=n.PATH,d=cR.resolve(p).toLowerCase();if(!c?.split(cR.delimiter).some((m)=>cR.resolve(m).toLowerCase()===d))n.PATH=c?`${p}${cR.delimiter}${c}`:p;return{ortEntry:a,ortPackageDir:l,dllDir:p}}function E1o(){return hDs??=w3a().catch((e)=>{throw hDs=null,e}),hDs}async function w3a(){try{let e=v1o(import.meta.url),t=e.resolve("fastembed/package.json"),s=e(t);if(s.version!==YOt)throw Error(`Cannot find package fastembed@${YOt}; resolved ${String(s.version)}`);return await A1o(e.resolve("fastembed"),cR.dirname(t))}catch(e){if(!x3a(e))throw e;return se("mnemopi: fastembed not loadable, using on-demand runtime install",{error:String(e)}),S3a()}}async function A1o(e,t){let s=v1o(e);if(process.platform==="win32"){let{ortEntry:o}=await k3a({fastembedEntry:e,fastembedPackageDir:t});s(o)}return s(e)}async function S3a(){let e=b3a(),t=await SU({runtimeDir:cR.join(fYt(),e.versionKey),install:e.install,probePackage:"fastembed"}),s=cR.join(t,"node_modules");d_e({runtimeNodeModules:s});let n=Bf(s,"fastembed");if(!n)throw Error(`fastembed runtime install at ${t} has no loadable entry`);return A1o(n,cR.join(s,"fastembed"))}function x3a(e){if(typeof e!=="object"||e===null)return!1;let{name:t,code:s,message:n}=e;if(t==="ResolveMessage")return!0;if(s==="ERR_MODULE_NOT_FOUND"||s==="MODULE_NOT_FOUND"||s==="ERR_DLOPEN_FAILED")return!0;return typeof n==="string"&&/cannot find (module|package)/i.test(n)}var YOt,hDs=null;var M1o=k(()=>{W();S1o();YOt=x1o.peerDependencies.fastembed});function HV(e,t){let s=e.length>t.length?e.length:t.length;if(s===0)return 0;let n=0,o=0,r=0;for(let i=0;i<s;i+=1){let a=e[i]??0,l=t[i]??0,u=Number.isFinite(a)?a:0,p=Number.isFinite(l)?l:0;n+=u*p,o+=u*u,r+=p*p}if(o===0||r===0)return 0;return n/(Math.sqrt(o)*Math.sqrt(r))}import{mkdirSync as v3a}from"fs";import*as j6e from"fs/promises";import*as w1 from"path";async function O1o(e,t){let s=/Load model from (.+?\.onnx) failed:.*Protobuf parsing failed/i.exec(e);if(!s)return!1;let n=w1.resolve(s[1]),o=w1.resolve(t??t5());if(!n.startsWith(o+w1.sep))return!1;try{await j6e.rename(n,`${n}.corrupt-${Date.now()}`),j("mnemopi: quarantined corrupt local embedding model; retrying init",{modelFile:n})}catch{}return!0}async function F1o(e,t){let s=/Model file not found at (.+?\.onnx)\b/i.exec(e);if(!s)return!1;let n=w1.resolve(s[1]),o=w1.dirname(n),r=w1.resolve(t??t5());if(w1.dirname(o)!==r)return!1;try{await j6e.rm(o,{recursive:!0,force:!0}),await j6e.rm(`${o}.tar.gz`,{force:!0}),j("mnemopi: cleared incomplete local embedding model cache; re-downloading",{modelDir:o})}catch{}return!0}async function BV(e){let t=e.cacheDir??t5(),s=e.cacheDir===void 0?{...e,cacheDir:t}:e,{FlagEmbedding:n}=await E1o(),o=async()=>{try{return await n.init(s)}catch(r){let i=r instanceof Error?r.message:"";if(!M3a.test(i))throw r;if(!await k1o(e.model,t))throw r;return n.init(s)}};try{return await o()}catch(r){let i=r instanceof Error?r.message:"";if(/Protobuf parsing failed/i.test(i)&&await O1o(i,t))return o();if(await F1o(i,t))return o();throw r}}function yG(){return k1()?.embeddings}function RDs(e){let t=yG(),s=t?.provider,n=0;if(s!==void 0){let i=I1o.get(s);if(i===void 0)n=A3a++,I1o.set(s,n);else n=i}let o=hG(),r=t?.apiUrl??"";return`${n}::${o}::${r}::${e}`}function _1o(){return Se.NODE_ENV==="test"||Se.BUN_ENV==="test"}function ire(){let e=yG();if(e?.disabled!==void 0)return e.disabled;return Ki("MNEMOPI_NO_EMBEDDINGS")}function I3a(){let e=yG()?.maxInputChars;if(e!==void 0)return Math.max(0,Math.trunc(e));let t=Number.parseInt(Se.MNEMOPI_EMBEDDING_MAX_INPUT_CHARS??"",10);if(Number.isFinite(t)&&t>=0)return t;return 8192}function P3a(e,t){if(e.length<=t)return e;if(t<=yDs.length+16)return e.slice(e.length-t);let s=t-yDs.length,n=s>>>1,o=s-n;return e.slice(0,n)+yDs+e.slice(e.length-o)}function O3a(e){let t=I3a();if(t===0)return e;let s=null,n=0,o=0;for(let r=0;r<e.length;r++){let i=e[r]??"";if(i.length<=t)continue;if(s===null)s=e.slice();if(s[r]=P3a(i,t),n++,i.length>o)o=i.length}if(s===null)return e;return Te[Xwe()?"warn":"debug"]("mnemopi: embedding input truncated",{inputCount:e.length,trimmedCount:n,maxOriginalLen:o,maxInputChars:t}),s}function D1o(){let e=yG();if(e?.apiKey!==void 0)return e.apiKey;return Se.MNEMOPI_EMBEDDING_API_KEY||Se.OPENROUTER_API_KEY||Se.OPENAI_API_KEY||""}function kDs(e=D1o()){return typeof e==="function"||e!==""}function F3a(){let e=yG();if(e?.apiUrl!==void 0)return e.apiUrl;return Se.MNEMOPI_EMBEDDING_API_URL||Se.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"}function hG(){let e=yG();if(e?.model!==void 0)return e.model;return Se.MNEMOPI_EMBEDDING_MODEL||"BAAI/bge-small-en-v1.5"}function $6e(){return hG()}function JOt(e){if(e.startsWith("openai/")||e.includes("text-embedding")||e.startsWith("text-embedding"))return!0;let s=yG()?.apiUrl??(Se.MNEMOPI_EMBEDDING_API_URL||Se.OPENROUTER_BASE_URL);if(s!==void 0&&s!==""&&!Ro(s,"openrouter"))return!0;return Ki("MNEMOPI_EMBEDDINGS_VIA_API")}function N1o(e){let t=Number.parseInt(Se.MNEMOPI_EMBEDDING_DIM??"",10);if(Number.isFinite(t))return t;return _3a[e]??384}async function TDs(e){let t=[];for await(let s of e)for(let n of s)t.push(new Float32Array(n));return t}function L1o(e){let t=D3a[e];return t===void 0?null:t}async function N3a(){if(JOt(hG())||ire()||_1o())return null;if(ore!==null)return ore;let e=L1o(hG());if(e===null)return null;let t=t5();v3a(t,{recursive:!0});let s=CDs({model:e,cacheDir:t,showDownloadProgress:!1});ore=s;try{return await s}catch(n){if(Te[Xwe()?"warn":"debug"]("mnemopi: local embedding model failed to load",{model:e,error:String(n)}),ore===s)ore=null;return null}}async function L3a(e){let t=F3a(),s=!Ro(t,"openrouter"),n=D1o();if(!s&&!kDs(n))return null;let o=JSON.stringify({model:hG(),input:e});try{let r=await Ys(n,async(a)=>{let l={"Content-Type":"application/json",...mX()};if(a!=="")l.Authorization=`Bearer ${a}`;let u=await gd(`${t.replace(/\/+$/,"")}/embeddings`,{method:"POST",headers:l,body:o,signal:AbortSignal.timeout(30000),maxAttempts:3,defaultDelayMs:(p)=>2**p*1000});if(u.status===401)throw new es("mnemopi embedding request unauthorized (401)",401,{headers:u.headers});return u});if(!r.ok)return null;let{data:i}=await r.json();if(i===void 0)return null;return bDs+=1,i.map((a)=>new Float32Array(a.embedding))}catch(r){return se("mnemopi embedding request failed",{status:ef(r)}),null}}async function P1o(e){if(e.available===void 0)return!0;try{return await e.available()}catch{return!1}}function q1o(e){oSe=e??null,rre.clear()}function U1o(e){CDs=e??BV,ore=null,rre.clear()}function H1o(){oSe=null,ore=null,CDs=BV,bDs=0,rre.clear()}async function H3a(){if(ire())return!1;let e=yG(),t=U6e(e?.provider);if(t!==void 0)return P1o(t);if(oSe!==null)return P1o(oSe);if(JOt(hG())){let s=e?.apiUrl??(Se.MNEMOPI_EMBEDDING_API_URL||Se.OPENROUTER_BASE_URL);if(s!==void 0&&s!==""&&!Ro(s,"openrouter"))return!0;return kDs()}if(_1o())return!1;return L1o(hG())!==null}function B3a(){return kDs()}async function rSe(e){if(e===""||ire())return null;let t=RDs(e),s=rre.get(t);if(s!==void 0)return s;let o=(await QOt([e]))?.[0]??null;if(o!==null)rre.set(t,o);return o}async function QOt(e){if(e.length===0||ire())return null;e=O3a(e);let t=U6e(yG()?.provider);if(t!==void 0)try{return await TDs(await t.embed(e))}catch{return null}if(oSe!==null)try{return await TDs(await oSe.embed(e))}catch{return null}if(JOt(hG()))return L3a(e);if(e.length===1){let n=RDs(e[0]??""),o=rre.get(n);if(o!==void 0)return[o]}let s=await N3a();if(s===null)return null;try{let n=await TDs(s.embed([...e]));if(n.length===1){let o=n[0];if(o!==void 0)rre.set(RDs(e[0]??""),o)}return n}catch(n){return Te[Xwe()?"warn":"debug"]("mnemopi: local embedding failed",{textCount:e.length,error:String(n)}),null}}function W3a(){return bDs}var E3a=512,oSe=null,ore=null,CDs,bDs=0,rre,I1o,A3a=1,M3a,yDs=`
4020
+ `).all(t.subject,t.predicate,t.object);for(let n of s)if(t.confidence>n.confidence)this.resolveConflictByFacts(t.id,n.id)}})}resolveConflictByFacts(e,t){this.serializedWrite(()=>{this.conn.query("UPDATE consolidated_facts SET superseded_by = ?, updated_at = ? WHERE id = ?").run(e,cDs(),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(),s=this.conn.query("SELECT COUNT(*) AS count FROM conflicts WHERE resolution IS NULL").get(),n=this.conn.query("SELECT AVG(confidence) AS avg FROM consolidated_facts WHERE superseded_by IS NULL").get(),o=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:s.count,avg_confidence:Math.round((n.avg??0)*1000)/1000,avg_mentions:Math.round((o.avg??0)*100)/100}}close(){if(this.ownsConnection)this.conn.close()}}var sSe,p3a,y1o=80,c3a,tSe;var fDs=k(()=>{Ev();sSe=Object.freeze({stated:1,inferred:0.7,tool:0.5,imported:0.6,unknown:0.8}),p3a=Object.freeze({stated:!0,inferred:!0,tool:!0,imported:!0,unknown:!0}),c3a=Object.freeze({related_to:!0,mentions:!0,references:!0,uses:!0,has:!0,depends_on:!0,knows:!0}),tSe=Symbol("mnemopi.veracity.txDepth")});function G6e(e){return m3a.test(e)}function b1o(e,t){let[s,n]=e.length<=t.length?[e,t]:[t,e];if(s.length<4||n.length===s.length)return!1;if(n.startsWith(s)&&g3a.includes(n.slice(s.length)))return!0;let o=s.slice(0,-1);if(!n.startsWith(o))return!1;let r=n.slice(o.length);if(s.endsWith("e"))return h3a.includes(r);if(s.endsWith("y"))return y3a.includes(r);return!1}var m3a,g3a,h3a,y3a;var mDs=k(()=>{m3a=/[\u3040-\u30ff\u4e00-\u9fff\uac00-\ud7af]/;g3a=["s","es","d","ed","ing","er","ers","ment","ments"],h3a=["ing","ion","ions"],y3a=["ies","ied"]});import*as gDs from"path";async function k1o(e,t="local_cache"){let s=R3a[e];if(s===void 0)return!1;let n=gDs.join(t,e);for(let o of T3a){let r=gDs.join(n,o);if(await Bun.file(r).exists())continue;let i=await fetch(`https://huggingface.co/${s}/resolve/main/${o}`);if(!i.ok)throw Error(`Failed to download ${e} ${o} from ${s}: ${i.status} ${i.statusText}`);await Bun.write(r,await i.arrayBuffer())}return!0}var T3a,R3a;var w1o=k(()=>{T3a=["config.json","tokenizer.json","tokenizer_config.json","special_tokens_map.json"],R3a={"fast-all-MiniLM-L6-v2":"sentence-transformers/all-MiniLM-L6-v2","fast-bge-base-en":"BAAI/bge-base-en","fast-bge-base-en-v1.5":"BAAI/bge-base-en-v1.5","fast-bge-small-en":"BAAI/bge-small-en","fast-bge-small-en-v1.5":"BAAI/bge-small-en-v1.5","fast-bge-small-zh-v1.5":"BAAI/bge-small-zh-v1.5","fast-multilingual-e5-large":"intfloat/multilingual-e5-large"}});var x1o;var S1o=k(()=>{x1o={type:"module",name:"@buckeyestudio/pi-mnemopi",version:"18.4.14",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/can1357/oh-my-pi.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:"./src/index.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:{"@buckeyestudio/pi-ai":"catalog:","@buckeyestudio/pi-catalog":"catalog:","@buckeyestudio/pi-natives":"catalog:","@buckeyestudio/pi-utils":"catalog:"},peerDependencies:{fastembed:"2.1.0","onnxruntime-node":"1.21.0"},peerDependenciesMeta:{fastembed:{optional:!0},"onnxruntime-node":{optional:!0}},devDependencies:{"@types/bun":"catalog:",fastembed:"catalog:","onnxruntime-node":"catalog:"},engines:{bun:">=1.3.14"},files:["src","README.md","CHANGELOG.md"],exports:{".":{types:"./src/index.ts",import:"./src/index.ts"},"./core":{types:"./src/core/index.ts",import:"./src/core/index.ts"},"./core/beam":{types:"./src/core/beam/index.ts",import:"./src/core/beam/index.ts"},"./beam":{types:"./src/core/beam/index.ts",import:"./src/core/beam/index.ts"},"./diagnose":{types:"./src/diagnose.ts",import:"./src/diagnose.ts"},"./mcp":{types:"./src/mcp-tools.ts",import:"./src/mcp-tools.ts"},"./cli":{types:"./src/cli.ts",import:"./src/cli.ts"},"./*":{types:"./src/*.ts",import:"./src/*.ts"},"./*.js":"./src/*.ts"}}});import{createRequire as v1o}from"module";import*as cR from"path";function b3a(){return{versionKey:`fastembed-${YOt}_transitive-ort`.replace(/[^A-Za-z0-9._-]/g,"_"),install:{dependencies:{fastembed:YOt},trustedDependencies:["onnxruntime-node"]}}}async function k3a({fastembedEntry:e,fastembedPackageDir:t,arch:s=process.arch,env:n=process.env}){let o=cR.join(t,"node_modules"),r=cR.dirname(t),i=Bf(o,"onnxruntime-node"),a=i??Bf(r,"onnxruntime-node"),l=cR.join(i?o:r,"onnxruntime-node");if(!a)throw Error(`Cannot find module onnxruntime-node beside ${e}`);let u=new Bun.Glob(`bin/napi-*/win32/${s}/onnxruntime.dll`),p;for await(let m of u.scan({cwd:l,absolute:!0,onlyFiles:!0})){p=cR.dirname(m);break}if(!p)throw Error(`Cannot find module onnxruntime-node Windows DLL for ${s} beside ${a}`);let c=n.PATH,d=cR.resolve(p).toLowerCase();if(!c?.split(cR.delimiter).some((m)=>cR.resolve(m).toLowerCase()===d))n.PATH=c?`${p}${cR.delimiter}${c}`:p;return{ortEntry:a,ortPackageDir:l,dllDir:p}}function E1o(){return hDs??=w3a().catch((e)=>{throw hDs=null,e}),hDs}async function w3a(){try{let e=v1o(import.meta.url),t=e.resolve("fastembed/package.json"),s=e(t);if(s.version!==YOt)throw Error(`Cannot find package fastembed@${YOt}; resolved ${String(s.version)}`);return await A1o(e.resolve("fastembed"),cR.dirname(t))}catch(e){if(!x3a(e))throw e;return se("mnemopi: fastembed not loadable, using on-demand runtime install",{error:String(e)}),S3a()}}async function A1o(e,t){let s=v1o(e);if(process.platform==="win32"){let{ortEntry:o}=await k3a({fastembedEntry:e,fastembedPackageDir:t});s(o)}return s(e)}async function S3a(){let e=b3a(),t=await SU({runtimeDir:cR.join(fYt(),e.versionKey),install:e.install,probePackage:"fastembed"}),s=cR.join(t,"node_modules");d_e({runtimeNodeModules:s});let n=Bf(s,"fastembed");if(!n)throw Error(`fastembed runtime install at ${t} has no loadable entry`);return A1o(n,cR.join(s,"fastembed"))}function x3a(e){if(typeof e!=="object"||e===null)return!1;let{name:t,code:s,message:n}=e;if(t==="ResolveMessage")return!0;if(s==="ERR_MODULE_NOT_FOUND"||s==="MODULE_NOT_FOUND"||s==="ERR_DLOPEN_FAILED")return!0;return typeof n==="string"&&/cannot find (module|package)/i.test(n)}var YOt,hDs=null;var M1o=k(()=>{W();S1o();YOt=x1o.peerDependencies.fastembed});function HV(e,t){let s=e.length>t.length?e.length:t.length;if(s===0)return 0;let n=0,o=0,r=0;for(let i=0;i<s;i+=1){let a=e[i]??0,l=t[i]??0,u=Number.isFinite(a)?a:0,p=Number.isFinite(l)?l:0;n+=u*p,o+=u*u,r+=p*p}if(o===0||r===0)return 0;return n/(Math.sqrt(o)*Math.sqrt(r))}import{mkdirSync as v3a}from"fs";import*as j6e from"fs/promises";import*as w1 from"path";async function O1o(e,t){let s=/Load model from (.+?\.onnx) failed:.*Protobuf parsing failed/i.exec(e);if(!s)return!1;let n=w1.resolve(s[1]),o=w1.resolve(t??t5());if(!n.startsWith(o+w1.sep))return!1;try{await j6e.rename(n,`${n}.corrupt-${Date.now()}`),j("mnemopi: quarantined corrupt local embedding model; retrying init",{modelFile:n})}catch{}return!0}async function F1o(e,t){let s=/Model file not found at (.+?\.onnx)\b/i.exec(e);if(!s)return!1;let n=w1.resolve(s[1]),o=w1.dirname(n),r=w1.resolve(t??t5());if(w1.dirname(o)!==r)return!1;try{await j6e.rm(o,{recursive:!0,force:!0}),await j6e.rm(`${o}.tar.gz`,{force:!0}),j("mnemopi: cleared incomplete local embedding model cache; re-downloading",{modelDir:o})}catch{}return!0}async function BV(e){let t=e.cacheDir??t5(),s=e.cacheDir===void 0?{...e,cacheDir:t}:e,{FlagEmbedding:n}=await E1o(),o=async()=>{try{return await n.init(s)}catch(r){let i=r instanceof Error?r.message:"";if(!M3a.test(i))throw r;if(!await k1o(e.model,t))throw r;return n.init(s)}};try{return await o()}catch(r){let i=r instanceof Error?r.message:"";if(/Protobuf parsing failed/i.test(i)&&await O1o(i,t))return o();if(await F1o(i,t))return o();throw r}}function yG(){return k1()?.embeddings}function RDs(e){let t=yG(),s=t?.provider,n=0;if(s!==void 0){let i=I1o.get(s);if(i===void 0)n=A3a++,I1o.set(s,n);else n=i}let o=hG(),r=t?.apiUrl??"";return`${n}::${o}::${r}::${e}`}function _1o(){return Se.NODE_ENV==="test"||Se.BUN_ENV==="test"}function ire(){let e=yG();if(e?.disabled!==void 0)return e.disabled;return Ki("MNEMOPI_NO_EMBEDDINGS")}function I3a(){let e=yG()?.maxInputChars;if(e!==void 0)return Math.max(0,Math.trunc(e));let t=Number.parseInt(Se.MNEMOPI_EMBEDDING_MAX_INPUT_CHARS??"",10);if(Number.isFinite(t)&&t>=0)return t;return 8192}function P3a(e,t){if(e.length<=t)return e;if(t<=yDs.length+16)return e.slice(e.length-t);let s=t-yDs.length,n=s>>>1,o=s-n;return e.slice(0,n)+yDs+e.slice(e.length-o)}function O3a(e){let t=I3a();if(t===0)return e;let s=null,n=0,o=0;for(let r=0;r<e.length;r++){let i=e[r]??"";if(i.length<=t)continue;if(s===null)s=e.slice();if(s[r]=P3a(i,t),n++,i.length>o)o=i.length}if(s===null)return e;return Te[Xwe()?"warn":"debug"]("mnemopi: embedding input truncated",{inputCount:e.length,trimmedCount:n,maxOriginalLen:o,maxInputChars:t}),s}function D1o(){let e=yG();if(e?.apiKey!==void 0)return e.apiKey;return Se.MNEMOPI_EMBEDDING_API_KEY||Se.OPENROUTER_API_KEY||Se.OPENAI_API_KEY||""}function kDs(e=D1o()){return typeof e==="function"||e!==""}function F3a(){let e=yG();if(e?.apiUrl!==void 0)return e.apiUrl;return Se.MNEMOPI_EMBEDDING_API_URL||Se.OPENROUTER_BASE_URL||"https://openrouter.ai/api/v1"}function hG(){let e=yG();if(e?.model!==void 0)return e.model;return Se.MNEMOPI_EMBEDDING_MODEL||"BAAI/bge-small-en-v1.5"}function $6e(){return hG()}function JOt(e){if(e.startsWith("openai/")||e.includes("text-embedding")||e.startsWith("text-embedding"))return!0;let s=yG()?.apiUrl??(Se.MNEMOPI_EMBEDDING_API_URL||Se.OPENROUTER_BASE_URL);if(s!==void 0&&s!==""&&!Ro(s,"openrouter"))return!0;return Ki("MNEMOPI_EMBEDDINGS_VIA_API")}function N1o(e){let t=Number.parseInt(Se.MNEMOPI_EMBEDDING_DIM??"",10);if(Number.isFinite(t))return t;return _3a[e]??384}async function TDs(e){let t=[];for await(let s of e)for(let n of s)t.push(new Float32Array(n));return t}function L1o(e){let t=D3a[e];return t===void 0?null:t}async function N3a(){if(JOt(hG())||ire()||_1o())return null;if(ore!==null)return ore;let e=L1o(hG());if(e===null)return null;let t=t5();v3a(t,{recursive:!0});let s=CDs({model:e,cacheDir:t,showDownloadProgress:!1});ore=s;try{return await s}catch(n){if(Te[Xwe()?"warn":"debug"]("mnemopi: local embedding model failed to load",{model:e,error:String(n)}),ore===s)ore=null;return null}}async function L3a(e){let t=F3a(),s=!Ro(t,"openrouter"),n=D1o();if(!s&&!kDs(n))return null;let o=JSON.stringify({model:hG(),input:e});try{let r=await Ys(n,async(a)=>{let l={"Content-Type":"application/json",...mX()};if(a!=="")l.Authorization=`Bearer ${a}`;let u=await gd(`${t.replace(/\/+$/,"")}/embeddings`,{method:"POST",headers:l,body:o,signal:AbortSignal.timeout(30000),maxAttempts:3,defaultDelayMs:(p)=>2**p*1000});if(u.status===401)throw new es("mnemopi embedding request unauthorized (401)",401,{headers:u.headers});return u});if(!r.ok)return null;let{data:i}=await r.json();if(i===void 0)return null;return bDs+=1,i.map((a)=>new Float32Array(a.embedding))}catch(r){return se("mnemopi embedding request failed",{status:ef(r)}),null}}async function P1o(e){if(e.available===void 0)return!0;try{return await e.available()}catch{return!1}}function q1o(e){oSe=e??null,rre.clear()}function U1o(e){CDs=e??BV,ore=null,rre.clear()}function H1o(){oSe=null,ore=null,CDs=BV,bDs=0,rre.clear()}async function H3a(){if(ire())return!1;let e=yG(),t=U6e(e?.provider);if(t!==void 0)return P1o(t);if(oSe!==null)return P1o(oSe);if(JOt(hG())){let s=e?.apiUrl??(Se.MNEMOPI_EMBEDDING_API_URL||Se.OPENROUTER_BASE_URL);if(s!==void 0&&s!==""&&!Ro(s,"openrouter"))return!0;return kDs()}if(_1o())return!1;return L1o(hG())!==null}function B3a(){return kDs()}async function rSe(e){if(e===""||ire())return null;let t=RDs(e),s=rre.get(t);if(s!==void 0)return s;let o=(await QOt([e]))?.[0]??null;if(o!==null)rre.set(t,o);return o}async function QOt(e){if(e.length===0||ire())return null;e=O3a(e);let t=U6e(yG()?.provider);if(t!==void 0)try{return await TDs(await t.embed(e))}catch{return null}if(oSe!==null)try{return await TDs(await oSe.embed(e))}catch{return null}if(JOt(hG()))return L3a(e);if(e.length===1){let n=RDs(e[0]??""),o=rre.get(n);if(o!==void 0)return[o]}let s=await N3a();if(s===null)return null;try{let n=await TDs(s.embed([...e]));if(n.length===1){let o=n[0];if(o!==void 0)rre.set(RDs(e[0]??""),o)}return n}catch(n){return Te[Xwe()?"warn":"debug"]("mnemopi: local embedding failed",{textCount:e.length,error:String(n)}),null}}function W3a(){return bDs}var E3a=512,oSe=null,ore=null,CDs,bDs=0,rre,I1o,A3a=1,M3a,yDs=`
4021
4021
 
4022
4022
  [...]
4023
4023
 
@@ -4853,7 +4853,7 @@ ${e.body}`,display:!0,details:{from:e.from,to:e.to,body:e.body},attribution:"age
4853
4853
  `}var cGo={};O(cGo,{calculateRetryBackoffDelayMs:()=>kxe,expandDefaultRetryFallbackChains:()=>wxe,findRetryFallbackCandidates:()=>_G,formatRetryFallbackSelector:()=>Lv,getRetryFallbackChains:()=>P8e,getRetryFallbackRevertPolicy:()=>O8e,getRetryFallbackRole:()=>iqs,installRetryFallbackRole:()=>rie,isKnownProvider:()=>A8e,isRetryFallbackModelKey:()=>M8e,isRetryFallbackWildcardKey:()=>g8,parseRetryFallbackSelector:()=>Cm,parseRetryFallbackWildcard:()=>I8e,resolveRetryFallbackChainKey:()=>FG,validateRetryFallbackChains:()=>WDt});function kxe(e,t){let s=Math.min(Math.max(0,e)*2**Math.max(0,t-1),jVa),n=1-Math.random()*$Va;return s*n}function Cm(e,t){let s=e.trim();if(!s)return;let n=ih(s,{allowMaxSuffix:!0,allowAutoAlias:!0,isLiteralModelId:(o,r)=>t?.find(o,r)!==void 0});if(!n)return;return{raw:s,provider:n.provider,id:n.id,thinkingLevel:su(n.thinkingLevel)}}function M8e(e){return e.includes("/")}function g8(e){return e.endsWith("/*")}function I8e(e,t){let s=e.slice(0,-2),n=s.indexOf("/");if(n<0||t(s))return{provider:s,idPrefix:void 0};return{provider:s.slice(0,n),idPrefix:s.slice(n+1)}}function Lv(e,t){return ml(Mo(e),t)}function oqs(e){return`${e.provider}/${e.id}`}function A8e(e,t){return e.hasProvider(t)}function wxe(e,t){let s={...e},n=s.default;if(!Array.isArray(n))return s;for(let o of t)if(o!=="default"&&!qDt(o)&&s[o]===void 0)s[o]=n;return s}function P8e(e){let t=Hd.get(e);if(!t||typeof t!=="object")return{};return wxe(t,Object.keys(e.getModelRoles()))}function iqs(e,t){let s=e.getModelRole(t),n=Hd.get(e)[t];if(!s||!Array.isArray(n)||n.length===0)return;return{primary:s,chain:n}}function rie(e,t,{primary:s,chain:n}){let o={},r=e.getModelRoles();for(let l in r){let u=r[l];if(u)o[l]=u}o[t]=s,Gf.override(e,o);let i={[t]:n},a=Hd.get(e);for(let l in a)if(l!==t)i[l]=a[l];Hd.override(e,i)}function zVa(e,t){let s=new Set;for(let o of t){let r=Cm(o,e);if(!r)return;s.add(r.provider)}let n=[];for(let o of s)n.push(...e.getProviderModels(o));return n}function WDt(e,t,s,n={}){let o=Hd.get(e);if(o===void 0)return;let r=s,i=n.isDiscoveryPending??(()=>!1);if(!o||typeof o!=="object"||Array.isArray(o)){r("retry.fallbackChains must be a mapping of role names or model selectors to selector arrays.");return}for(let a in o){let l=o[a],u=M8e(a)?"model":"role";if(u==="model")if(g8(a)){let{provider:f}=I8e(a,(m)=>A8e(t,m));if(!A8e(t,f))r(`retry.fallbackChains wildcard key references unknown provider: ${a}`)}else{let f=Cm(a,t);if(!f)r(`Invalid model selector key in retry.fallbackChains: ${a}`);else if(!t.find(f.provider,f.id)&&!i(f.provider))r(`retry.fallbackChains key references unknown model: ${a}`)}if(!Array.isArray(l)){r(`Fallback chain for ${u} '${a}' must be an array of selector strings.`);continue}let p=u==="role"&&qDt(a)?qM(a,e):void 0,c,d=(f,m)=>m!==void 0&&p!==void 0&&or(f,m.filter(p.accepts),{settings:e}).model!==void 0;for(let f of l){if(typeof f!=="string"){r(`Fallback chain for ${u} '${a}' contains a non-string selector.`);continue}if(p){let g=bm(f,e);if(d(f,zVa(t,g)))continue;if(c??=t.getAll("all"),d(f,c))continue;if(!(g.length>0&&g.every((y)=>{let T=Cm(y,t);return T?i(T.provider):!1})))r(`Fallback chain for role '${a}' does not resolve to a compatible model: ${f}`);continue}if(g8(f)){let{provider:g}=I8e(f,(h)=>A8e(t,h));if(!A8e(t,g))r(`Fallback chain for ${u} '${a}' references unknown provider: ${f}`);continue}let m=Cm(f,t);if(!m){r(`Invalid fallback selector format in ${u} '${a}': ${f}`);continue}if(!t.find(m.provider,m.id)&&!i(m.provider))r(`Fallback chain for ${u} '${a}' references unknown model: ${f}`)}}}function O8e(e){return PEs.get(e)==="never"?"never":"cooldown-expiry"}function rqs(e,t){if(g8(t))return;if(M8e(t))return Cm(t,e.modelLookup);let s=e.getModelRole(t);return s?Cm(s,e.modelLookup):void 0}function pGo(e,t,s,n){if(!e)return"none";let{provider:o,id:r,thinkingLevel:i}=e,a;if(o===t.provider&&r===t.id)a=t;else if(s!==void 0&&o===s.provider&&r===s.id)a=s;if(!a)return"none";if(i===a.thinkingLevel)return"exact";if(i===void 0)return"base";if(n&&Vp(n,i)===Vp(n,a.thinkingLevel))return"normalized";return"effort"}function FG(e,t,s,n){let o=Cm(t,e.modelLookup),r=s?ml(ho(s),o?.thinkingLevel):void 0,i=o??(r?Cm(r,e.modelLookup):void 0);if(!i){if(n&&Array.isArray(e.chains[n]))return n;return}let a=r&&r!==t?Cm(r,e.modelLookup)??i:void 0,l,u;for(let g in e.chains){if(!M8e(g)||g8(g))continue;let h=pGo(rqs(e,g),i,a,s);if(h==="exact")return g;if(h==="normalized")l??=g;if(h==="base")u??=g}if(l)return l;if(u)return u;let p,c=-1;for(let g in e.chains){if(!g8(g)||!Array.isArray(e.chains[g]))continue;let{provider:h,idPrefix:y}=I8e(g,(R)=>e.modelLookup.hasProvider(R));if(h!==i.provider)continue;if(y!==void 0&&!i.id.startsWith(`${y}/`))continue;let T=y?.length??0;if(T>c)p=g,c=T}if(p)return p;if(n&&Array.isArray(e.chains[n]))return n;let d,f;for(let g in e.chains){if(M8e(g))continue;let h=pGo(rqs(e,g),i,a,s);if(h==="none")continue;if(h==="effort"){if(g==="default"||f===void 0)f=g;continue}if(g==="default")return"default";d??=g}if(d)return d;if(f)return f;let m=e.chains.default;if(Array.isArray(m)&&m.length>0)return"default";return}function KVa(e,t,s){if(!g8(t))return Cm(t,e.modelLookup);if(!s)return;let{provider:n,idPrefix:o}=I8e(t,(a)=>e.modelLookup.hasProvider(a)),r=s.id.slice(s.id.lastIndexOf("/")+1),i;if(o!==void 0)i=`${o}/${r}`;else if(r!==s.id&&!e.modelLookup.find(n,s.id)&&e.modelLookup.find(n,r))i=r;else i=s.id;return{raw:`${n}/${i}`,provider:n,id:i,thinkingLevel:void 0}}function VVa(e,t,s,n,o){let i=Cm(s,e.modelLookup)??(n?Cm(ml(ho(n),void 0),e.modelLookup):void 0),a=new Set,l=[];if(g8(t)){if(i)l.push(i),a.add(i.raw)}else{let u=rqs(e,t);if(u)l.push(u),a.add(u.raw);else if((t==="default"||o)&&i)l.push(i),a.add(i.raw);else if(!o)return[]}for(let u of e.chains[t]??[]){let p=KVa(e,u,i);if(!p||a.has(p.raw))continue;a.add(p.raw),l.push(p)}return l}function _G(e,t,s,n,o){let r=VVa(e,t,s,n,o?.allowMissingPrimary===!0),i=Cm(s,e.modelLookup),a=n?ml(ho(n),i?.thinkingLevel):void 0,l=i??(a?Cm(a,e.modelLookup):void 0);if(!l)return r;if(r.length<=1)return[];let u=oqs(l),p=l&&a&&a!==s?oqs(Cm(a)??l):void 0,c=r.findIndex((f)=>f.raw===s||f.raw===a);if(c>=0){let f=r.slice(c+1);return o?.wrapAround?[...f,...r.slice(0,c)]:f}let d=u?r.findIndex((f)=>{let m=oqs(f);return m===u||m===p}):-1;if(d>=0){let f=r.slice(d+1);return o?.wrapAround?[...f,...r.slice(0,d)]:f}return r}var jVa=8000,$Va=0.25;var DG=k(()=>{Td();zA();ko();Vr();ko();hc();ur()});function mGo(e){return Sxe.get(e)}function gGo(e){for(let[t,s]of Sxe){if(s.ownerId!==e)continue;s.controller.abort(new q("Completion handle owner released")),clearTimeout(s.evictionTimer),Sxe.delete(t)}}function hGo(e,t,s,n){if(qf(s))return{reasoning:void 0,disableReasoning:!0};let o=bl(s);if(o!==void 0)return{reasoning:Ac(t,o),disableReasoning:!1};if(n){if(n.disableReasoning)return{reasoning:void 0,disableReasoning:!0};return{reasoning:Ac(t,n.reasoning),disableReasoning:!1}}let r=XVa(e,t);return{reasoning:Ac(t,r),disableReasoning:!1}}function yGo(e,t){let s=t.disableReasoning?"off":t.reasoning??"inherit";return`${Mo(e)}|${s}`}function TGo(e,t,s,n,o,r,i,a){let l=n?`${t}|${n.disableReasoning?"off":n.reasoning??"inherit"}`:t;if(i.has(l))return;i.add(l);let u=FG(e.context,t,s,o);if(!u)return;for(let p of _G(e.context,u,t,s,{allowMissingPrimary:!0})){let d=yc([p.raw],e.modelRegistry,e.settings).model;if(!d||e.disabledProviders.has(d.provider))continue;let f=hGo(e.tier,d,p.thinkingLevel,n),m=yGo(d,f);if(r.has(m))continue;r.add(m),a.push({selector:p.raw,model:d,...f}),TGo(e,p.raw,d,f,void 0,r,i,a)}}function QVa(e,t){let s=t.modelRegistry;if(!s)return[];let n=s.getAvailable();if(n.length===0)return[];let o=cr(t.settings),r=(u)=>{if(!u)return;let p=qv(u,t.settings),c=eL(p,n,o);return c?{model:c,selector:p}:void 0},i=e==="default"?r(t.getActiveModelString?.()??t.getModelString?.())??r(dGo.default):r(dGo[e]);if(!i)return[];let a=[{selector:i.selector,model:i.model,...hGo(e,i.model)}],l=fM.get(t.settings);if(!l.enabled||!l.modelFallback)return a;return TGo({context:{chains:P8e(t.settings),getModelRole:(u)=>t.settings.getModelRole(u),modelLookup:s},modelRegistry:s,settings:t.settings,tier:e,disabledProviders:new Set(Ul.get(t.settings))},i.selector,i.model,void 0,e,new Set([yGo(i.model,a[0])]),new Set,a),a}function XVa(e,t){if(e!=="slow"||!t.reasoning)return;let s=xu(t);if(s.length===0)return;return s.includes("high")?"high":s[s.length-1]}async function ZVa(e,t,s,n,o,r,i){let a=r.modelRegistry;if(!a)throw new q("completion() has no model registry.");let l=n?[{name:aqs,description:"Return your answer by calling this tool with the requested structured fields.",parameters:n,strict:!1}]:void 0,u=Ap(r.getTelemetry?.(),r.getSessionId?.()??void 0),p=s?[s]:["You are a helpful assistant."],c=Math.max(0,fM.get(r.settings).maxRetries),d,f,m,g=0,h=!1;for(let[T,R]of o.entries()){if(T>0&&g>=c)break;f=R.model;try{if(!await a.getApiKey(f,r.getSessionId?.()??void 0,{signal:i})){m=new q(`completion() has no API key for ${ho(f)}. Configure credentials for this provider or choose another tier.`);continue}if(T>0)g+=1;d=await rg(f,{systemPrompt:p,messages:[{role:"user",content:[{type:"text",text:e}],timestamp:Date.now()}],tools:l},{apiKey:a.resolver(f,r.getSessionId?.()??void 0),signal:i,reasoning:R.reasoning,disableReasoning:R.disableReasoning,toolChoice:n?{type:"tool",name:aqs}:void 0},{telemetry:u,oneshotKind:"eval_completion"})}catch(C){if(m=C,i.aborted||T===o.length-1)throw C;continue}if(d.stopReason==="aborted")throw new q("completion() request aborted.");if(d.stopReason==="error"){if(m=new q(d.errorMessage??"completion() request failed."),!i.aborted&&T<o.length-1)continue;throw m}h=!0;break}if(!h||!d||!f){if(m instanceof Error)throw m;throw new q("completion() request failed.")}let y;if(n){let T=x8e(d,aqs),R;if(T)R=T.arguments;else{let C=Bw(d);if(!C)throw new q("completion() returned no structured response.");try{R=v8e(C)}catch{throw new q("completion() did not return a structured response matching the schema.")}}y=JSON.stringify(R)}else if(y=Bw(d),!y)throw new q("completion() returned no text output.");return{text:y,details:{model:ho(f),tier:t,structured:Boolean(n)}}}async function RGo(e,t){let s=YVa(e);if(s instanceof B.errors)throw new q(`completion() received invalid arguments: ${s.summary}`);let{prompt:n,model:o,system:r,schema:i}=s,a=o??"default",l=QVa(a,t.session);if(l.length===0)throw new q(`completion() could not resolve a model for the "${a}" tier. Configure modelRoles.${a==="default"?"default":a} or ensure a provider is available.`);return e8a("cmp",t,(u)=>ZVa(n,a,r,i,l,t.session,u))}function e8a(e,t,s){let n=`${e}-${Qt.next()}`,o=t.session.getAgentId?.()??Ns,r=new AbortController,i=t.signal?AbortSignal.any([t.signal,r.signal]):r.signal,a={ownerId:o,controller:r,promise:Promise.resolve(),settled:!1};Sxe.set(n,a);let l=async()=>{await h8.acquire(i);try{return await s(i)}finally{h8.release()}};return a.promise=l().then((u)=>{a.result=u},(u)=>{a.error=u instanceof Error?u.message:String(u)}).finally(()=>{a.settled=!0;let u=setTimeout(()=>{if(Sxe.get(n)===a)Sxe.delete(n)},JVa);u.unref?.(),a.evictionTimer=u}),{id:n}}var fGo="__completion__",aqs="respond",dGo,YVa,JVa=1800000,Sxe,F8e=32,h8;var xxe=k(()=>{Jt();er();vs();fd();W();ko();Oi();Wt();DG();Vr();Td();ur();dGo={smol:"@smol",default:"@default",slow:"@slow"},YVa=B({prompt:"string>0","model?":"'smol'|'default'|'slow'","system?":"string","schema?":{"[string]":"unknown"}}),Sxe=new Map,h8=new NA(F8e)});function GDt(e){return e.op==="timeout-pause"||e.op==="timeout-resume"}async function tL(e,t,s){if(!e)return t();e(s?.deferExternalAbort?{op:"timeout-pause",deferExternalAbort:!0}:{op:"timeout-pause"});try{return await t()}finally{e(s?.deferExternalAbort?{op:"timeout-resume",deferExternalAbort:!0}:{op:"timeout-resume"})}}var vxe="timeout-pause",Exe="timeout-resume";function sL(e){return CGo.find((t)=>t.key===e)??bGo.find((t)=>t.key===e)}function Uv(e){return sL(e)!==void 0}var lqs="lfm2.5-230m",CGo,bGo,_8e;var iie=k(()=>{CGo=[{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."}],bGo=[{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."}];_8e=[...CGo,...bGo]});var wGo=`{{{system}}}
4854
4854
 
4855
4855
  {{{state}}}
4856
- `;var kGo=()=>{};var y8;var D8e=k(()=>{y8={name:"@buckeyestudio/pi-coding-agent",version:"18.4.13",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/can1357/oh-my-pi.git",directory:"packages/coding-agent"},bin:{omp:"src/cli.ts"},files:["src","dist/cli.js","dist/docs-index.generated.txt","dist/CHANGELOG-*.md","dist/*.node","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"],type:"module",main:"./src/index.ts",types:"./src/index.ts",exports:{".":{types:"./src/index.ts",import:"./src/index.ts"},"./*":{types:"./src/*.ts",import:"./src/*.ts"},"./async":{types:"./src/async/index.ts",import:"./src/async/index.ts"},"./async/*":{types:"./src/async/*.ts",import:"./src/async/*.ts"},"./autoresearch":{types:"./src/autoresearch/index.ts",import:"./src/autoresearch/index.ts"},"./autoresearch/*":{types:"./src/autoresearch/*.ts",import:"./src/autoresearch/*.ts"},"./autoresearch/tools/*":{types:"./src/autoresearch/tools/*.ts",import:"./src/autoresearch/tools/*.ts"},"./capability":{types:"./src/capability/index.ts",import:"./src/capability/index.ts"},"./capability/*":{types:"./src/capability/*.ts",import:"./src/capability/*.ts"},"./cli/*":{types:"./src/cli/*.ts",import:"./src/cli/*.ts"},"./cli/gallery-fixtures":{types:"./src/cli/gallery-fixtures/index.ts",import:"./src/cli/gallery-fixtures/index.ts"},"./cli/gallery-fixtures/*":{types:"./src/cli/gallery-fixtures/*.ts",import:"./src/cli/gallery-fixtures/*.ts"},"./cli/commands/*":{types:"./src/cli/commands/*.ts",import:"./src/cli/commands/*.ts"},"./commands/*":{types:"./src/commands/*.ts",import:"./src/commands/*.ts"},"./commit":{types:"./src/commit/index.ts",import:"./src/commit/index.ts"},"./commit/*":{types:"./src/commit/*.ts",import:"./src/commit/*.ts"},"./commit/agentic":{types:"./src/commit/agentic/index.ts",import:"./src/commit/agentic/index.ts"},"./commit/agentic/*":{types:"./src/commit/agentic/*.ts",import:"./src/commit/agentic/*.ts"},"./commit/agentic/tools":{types:"./src/commit/agentic/tools/index.ts",import:"./src/commit/agentic/tools/index.ts"},"./commit/agentic/tools/*":{types:"./src/commit/agentic/tools/*.ts",import:"./src/commit/agentic/tools/*.ts"},"./commit/analysis":{types:"./src/commit/analysis/index.ts",import:"./src/commit/analysis/index.ts"},"./commit/analysis/*":{types:"./src/commit/analysis/*.ts",import:"./src/commit/analysis/*.ts"},"./commit/changelog":{types:"./src/commit/changelog/index.ts",import:"./src/commit/changelog/index.ts"},"./commit/changelog/*":{types:"./src/commit/changelog/*.ts",import:"./src/commit/changelog/*.ts"},"./commit/conventional":{types:"./src/commit/conventional/index.ts",import:"./src/commit/conventional/index.ts"},"./commit/conventional/*":{types:"./src/commit/conventional/*.ts",import:"./src/commit/conventional/*.ts"},"./commit/git/*":{types:"./src/commit/git/*.ts",import:"./src/commit/git/*.ts"},"./commit/utils/*":{types:"./src/commit/utils/*.ts",import:"./src/commit/utils/*.ts"},"./config/*":{types:"./src/config/*.ts",import:"./src/config/*.ts"},"./dap":{types:"./src/dap/index.ts",import:"./src/dap/index.ts"},"./dap/*":{types:"./src/dap/*.ts",import:"./src/dap/*.ts"},"./debug":{types:"./src/debug/index.ts",import:"./src/debug/index.ts"},"./debug/*":{types:"./src/debug/*.ts",import:"./src/debug/*.ts"},"./discovery":{types:"./src/discovery/index.ts",import:"./src/discovery/index.ts"},"./discovery/*":{types:"./src/discovery/*.ts",import:"./src/discovery/*.ts"},"./edit":{types:"./src/edit/index.ts",import:"./src/edit/index.ts"},"./edit/*":{types:"./src/edit/*.ts",import:"./src/edit/*.ts"},"./exa":{types:"./src/exa/index.ts",import:"./src/exa/index.ts"},"./exa/*":{types:"./src/exa/*.ts",import:"./src/exa/*.ts"},"./exec/*":{types:"./src/exec/*.ts",import:"./src/exec/*.ts"},"./export/*":{types:"./src/export/*.ts",import:"./src/export/*.ts"},"./export/html":{types:"./src/export/html/index.ts",import:"./src/export/html/index.ts"},"./export/html/*":{types:"./src/export/html/*.ts",import:"./src/export/html/*.ts"},"./extensibility/*":{types:"./src/extensibility/*.ts",import:"./src/extensibility/*.ts"},"./extensibility/custom-commands":{types:"./src/extensibility/custom-commands/index.ts",import:"./src/extensibility/custom-commands/index.ts"},"./extensibility/custom-commands/*":{types:"./src/extensibility/custom-commands/*.ts",import:"./src/extensibility/custom-commands/*.ts"},"./extensibility/custom-commands/bundled/ci-green":{types:"./src/extensibility/custom-commands/bundled/ci-green/index.ts",import:"./src/extensibility/custom-commands/bundled/ci-green/index.ts"},"./extensibility/custom-commands/bundled/review":{types:"./src/extensibility/custom-commands/bundled/review/index.ts",import:"./src/extensibility/custom-commands/bundled/review/index.ts"},"./extensibility/custom-commands/bundled/annotate":{types:"./src/extensibility/custom-commands/bundled/annotate/index.ts",import:"./src/extensibility/custom-commands/bundled/annotate/index.ts"},"./extensibility/custom-tools":{types:"./src/extensibility/custom-tools/index.ts",import:"./src/extensibility/custom-tools/index.ts"},"./extensibility/custom-tools/*":{types:"./src/extensibility/custom-tools/*.ts",import:"./src/extensibility/custom-tools/*.ts"},"./extensibility/extensions":{types:"./src/extensibility/extensions/index.ts",import:"./src/extensibility/extensions/index.ts"},"./extensibility/extensions/*":{types:"./src/extensibility/extensions/*.ts",import:"./src/extensibility/extensions/*.ts"},"./extensibility/hooks":{types:"./src/extensibility/hooks/index.ts",import:"./src/extensibility/hooks/index.ts"},"./extensibility/hooks/*":{types:"./src/extensibility/hooks/*.ts",import:"./src/extensibility/hooks/*.ts"},"./extensibility/plugins":{types:"./src/extensibility/plugins/index.ts",import:"./src/extensibility/plugins/index.ts"},"./extensibility/plugins/*":{types:"./src/extensibility/plugins/*.ts",import:"./src/extensibility/plugins/*.ts"},"./extensibility/plugins/marketplace":{types:"./src/extensibility/plugins/marketplace/index.ts",import:"./src/extensibility/plugins/marketplace/index.ts"},"./extensibility/plugins/marketplace/*":{types:"./src/extensibility/plugins/marketplace/*.ts",import:"./src/extensibility/plugins/marketplace/*.ts"},"./ida":{types:"./src/ida/index.ts",import:"./src/ida/index.ts"},"./ida/*":{types:"./src/ida/*.ts",import:"./src/ida/*.ts"},"./internal-urls":{types:"./src/internal-urls/index.ts",import:"./src/internal-urls/index.ts"},"./internal-urls/*":{types:"./src/internal-urls/*.ts",import:"./src/internal-urls/*.ts"},"./eval":{types:"./src/eval/index.ts",import:"./src/eval/index.ts"},"./if-bench":{types:"./src/if-bench/index.ts",import:"./src/if-bench/index.ts"},"./if-bench/*":{types:"./src/if-bench/*.ts",import:"./src/if-bench/*.ts"},"./eval/js/*":{types:"./src/eval/js/*.ts",import:"./src/eval/js/*.ts"},"./eval/py/*":{types:"./src/eval/py/*.ts",import:"./src/eval/py/*.ts"},"./lsp":{types:"./src/lsp/index.ts",import:"./src/lsp/index.ts"},"./lsp/*":{types:"./src/lsp/*.ts",import:"./src/lsp/*.ts"},"./lsp/clients":{types:"./src/lsp/clients/index.ts",import:"./src/lsp/clients/index.ts"},"./lsp/clients/*":{types:"./src/lsp/clients/*.ts",import:"./src/lsp/clients/*.ts"},"./judgment":{types:"./src/judgment/index.ts",import:"./src/judgment/index.ts"},"./markit":{types:"./src/markit/index.ts",import:"./src/markit/index.ts"},"./markit/*":{types:"./src/markit/*.ts",import:"./src/markit/*.ts"},"./mcp":{types:"./src/mcp/index.ts",import:"./src/mcp/index.ts"},"./mcp/*":{types:"./src/mcp/*.ts",import:"./src/mcp/*.ts"},"./mcp/transports":{types:"./src/mcp/transports/index.ts",import:"./src/mcp/transports/index.ts"},"./mcp/transports/*":{types:"./src/mcp/transports/*.ts",import:"./src/mcp/transports/*.ts"},"./memories":{types:"./src/memories/index.ts",import:"./src/memories/index.ts"},"./memories/*":{types:"./src/memories/*.ts",import:"./src/memories/*.ts"},"./memory-backend":{types:"./src/memory-backend/index.ts",import:"./src/memory-backend/index.ts"},"./memory-backend/*":{types:"./src/memory-backend/*.ts",import:"./src/memory-backend/*.ts"},"./hindsight":{types:"./src/hindsight/index.ts",import:"./src/hindsight/index.ts"},"./hindsight/*":{types:"./src/hindsight/*.ts",import:"./src/hindsight/*.ts"},"./modes":{types:"./src/modes/index.ts",import:"./src/modes/index.ts"},"./modes/*":{types:"./src/modes/*.ts",import:"./src/modes/*.ts"},"./modes/acp":{types:"./src/modes/acp/index.ts",import:"./src/modes/acp/index.ts"},"./modes/acp/*":{types:"./src/modes/acp/*.ts",import:"./src/modes/acp/*.ts"},"./modes/components":{types:"./src/modes/components/index.ts",import:"./src/modes/components/index.ts"},"./modes/components/*":{types:"./src/modes/components/*.ts",import:"./src/modes/components/*.ts"},"./modes/components/extensions/*":{types:"./src/modes/components/extensions/*.ts",import:"./src/modes/components/extensions/*.ts"},"./modes/controllers/*":{types:"./src/modes/controllers/*.ts",import:"./src/modes/controllers/*.ts"},"./modes/rpc/*":{types:"./src/modes/rpc/*.ts",import:"./src/modes/rpc/*.ts"},"./modes/utils/*":{types:"./src/modes/utils/*.ts",import:"./src/modes/utils/*.ts"},"./plan-mode/*":{types:"./src/plan-mode/*.ts",import:"./src/plan-mode/*.ts"},"./registry/*":{types:"./src/registry/*.ts",import:"./src/registry/*.ts"},"./secrets":{types:"./src/secrets/index.ts",import:"./src/secrets/index.ts"},"./secrets/*":{types:"./src/secrets/*.ts",import:"./src/secrets/*.ts"},"./session/*":{types:"./src/session/*.ts",import:"./src/session/*.ts"},"./slash-commands/*":{types:"./src/slash-commands/*.ts",import:"./src/slash-commands/*.ts"},"./ssh/*":{types:"./src/ssh/*.ts",import:"./src/ssh/*.ts"},"./stt":{types:"./src/stt/index.ts",import:"./src/stt/index.ts"},"./stt/*":{types:"./src/stt/*.ts",import:"./src/stt/*.ts"},"./task":{types:"./src/task/index.ts",import:"./src/task/index.ts"},"./task/*":{types:"./src/task/*.ts",import:"./src/task/*.ts"},"./tools":{types:"./src/tools/index.ts",import:"./src/tools/index.ts"},"./tools/jfind":{types:"./src/tools/jfind/index.ts",import:"./src/tools/jfind/index.ts"},"./tools/jfind/*":{types:"./src/tools/jfind/*.ts",import:"./src/tools/jfind/*.ts"},"./tools/*":{types:"./src/tools/*.ts",import:"./src/tools/*.ts"},"./utils/*":{types:"./src/utils/*.ts",import:"./src/utils/*.ts"},"./web/*":{types:"./src/web/*.ts",import:"./src/web/*.ts"},"./web/scrapers":{types:"./src/web/scrapers/index.ts",import:"./src/web/scrapers/index.ts"},"./web/scrapers/*":{types:"./src/web/scrapers/*.ts",import:"./src/web/scrapers/*.ts"},"./web/search":{types:"./src/web/search/index.ts",import:"./src/web/search/index.ts"},"./web/search/*":{types:"./src/web/search/*.ts",import:"./src/web/search/*.ts"},"./web/search/providers/*":{types:"./src/web/search/providers/*.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:native":"bun --cwd=../natives run gen:native","gen:native:reset":"bun --cwd=../natives run gen:native:reset",prepack:"bun run gen:tool-views && bun run gen:bundle","bench:guard":"bun scripts/bench-guard.ts"},dependencies:{"@babel/parser":"catalog:","@buckeyestudio/omp-stats":"catalog:","@buckeyestudio/omptype":"catalog:","@buckeyestudio/pi-agent-core":"catalog:","@buckeyestudio/pi-ai":"catalog:","@buckeyestudio/pi-catalog":"catalog:","@buckeyestudio/pi-mnemopi":"catalog:","@buckeyestudio/pi-natives":"catalog:","@buckeyestudio/pi-tui":"catalog:","@buckeyestudio/pi-utils":"catalog:","@buckeyestudio/pi-wire":"catalog:","@buckeyestudio/snapcompact":"catalog:","@opentelemetry/api":"catalog:","@opentelemetry/api-logs":"catalog:","@opentelemetry/context-async-hooks":"catalog:","@opentelemetry/exporter-logs-otlp-proto":"catalog:","@opentelemetry/exporter-metrics-otlp-proto":"catalog:","@opentelemetry/exporter-trace-otlp-proto":"catalog:","@opentelemetry/resources":"catalog:","@opentelemetry/sdk-logs":"catalog:","@opentelemetry/sdk-metrics":"catalog:","@opentelemetry/sdk-trace-base":"catalog:","@opentelemetry/sdk-trace-node":"catalog:","axe-core":"4.13.0","puppeteer-core":"catalog:"},devDependencies:{"@types/bun":"catalog:"},optionalDependencies:{"@huggingface/transformers":"catalog:","sherpa-onnx-node":"1.13.2"},engines:{bun:">=1.3.14"}}});import*as N8e from"fs";import*as xGo from"os";import*as uqs from"path";async function Axe(e,t,s){let n=SGo.get(e);if(n&&N8e.existsSync(n))return n;let o=uqs.join(xGo.tmpdir(),e);await N8e.promises.mkdir(o,{recursive:!0});let r=Bun.hash(s).toString(36),i=uqs.join(o,`runner-${r}.${t}`);if(!N8e.existsSync(i))await Bun.write(i,s);return SGo.set(e,i),i}var SGo;var jDt=k(()=>{SGo=new Map});class L8e{#e=new Map;#t=new Map;#s;constructor(e){this.#s=e}observe(e,t){let{modelKey:s,status:n}=e;if(n==="ready"){this.#e.get(s)?.tracker?.done(),this.#e.delete(s),this.#t.set(s,"ready");return}if(n==="error"){let l=this.#e.get(s);if(!l&&this.#t.has(s))return;this.#e.delete(s),this.#t.set(s,"failed");let u=t?.split(`
4856
+ `;var kGo=()=>{};var y8;var D8e=k(()=>{y8={name:"@buckeyestudio/pi-coding-agent",version:"18.4.14",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/can1357/oh-my-pi.git",directory:"packages/coding-agent"},bin:{omp:"src/cli.ts"},files:["src","dist/cli.js","dist/docs-index.generated.txt","dist/CHANGELOG-*.md","dist/*.node","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"],type:"module",main:"./src/index.ts",types:"./src/index.ts",exports:{".":{types:"./src/index.ts",import:"./src/index.ts"},"./*":{types:"./src/*.ts",import:"./src/*.ts"},"./async":{types:"./src/async/index.ts",import:"./src/async/index.ts"},"./async/*":{types:"./src/async/*.ts",import:"./src/async/*.ts"},"./autoresearch":{types:"./src/autoresearch/index.ts",import:"./src/autoresearch/index.ts"},"./autoresearch/*":{types:"./src/autoresearch/*.ts",import:"./src/autoresearch/*.ts"},"./autoresearch/tools/*":{types:"./src/autoresearch/tools/*.ts",import:"./src/autoresearch/tools/*.ts"},"./capability":{types:"./src/capability/index.ts",import:"./src/capability/index.ts"},"./capability/*":{types:"./src/capability/*.ts",import:"./src/capability/*.ts"},"./cli/*":{types:"./src/cli/*.ts",import:"./src/cli/*.ts"},"./cli/gallery-fixtures":{types:"./src/cli/gallery-fixtures/index.ts",import:"./src/cli/gallery-fixtures/index.ts"},"./cli/gallery-fixtures/*":{types:"./src/cli/gallery-fixtures/*.ts",import:"./src/cli/gallery-fixtures/*.ts"},"./cli/commands/*":{types:"./src/cli/commands/*.ts",import:"./src/cli/commands/*.ts"},"./commands/*":{types:"./src/commands/*.ts",import:"./src/commands/*.ts"},"./commit":{types:"./src/commit/index.ts",import:"./src/commit/index.ts"},"./commit/*":{types:"./src/commit/*.ts",import:"./src/commit/*.ts"},"./commit/agentic":{types:"./src/commit/agentic/index.ts",import:"./src/commit/agentic/index.ts"},"./commit/agentic/*":{types:"./src/commit/agentic/*.ts",import:"./src/commit/agentic/*.ts"},"./commit/agentic/tools":{types:"./src/commit/agentic/tools/index.ts",import:"./src/commit/agentic/tools/index.ts"},"./commit/agentic/tools/*":{types:"./src/commit/agentic/tools/*.ts",import:"./src/commit/agentic/tools/*.ts"},"./commit/analysis":{types:"./src/commit/analysis/index.ts",import:"./src/commit/analysis/index.ts"},"./commit/analysis/*":{types:"./src/commit/analysis/*.ts",import:"./src/commit/analysis/*.ts"},"./commit/changelog":{types:"./src/commit/changelog/index.ts",import:"./src/commit/changelog/index.ts"},"./commit/changelog/*":{types:"./src/commit/changelog/*.ts",import:"./src/commit/changelog/*.ts"},"./commit/conventional":{types:"./src/commit/conventional/index.ts",import:"./src/commit/conventional/index.ts"},"./commit/conventional/*":{types:"./src/commit/conventional/*.ts",import:"./src/commit/conventional/*.ts"},"./commit/git/*":{types:"./src/commit/git/*.ts",import:"./src/commit/git/*.ts"},"./commit/utils/*":{types:"./src/commit/utils/*.ts",import:"./src/commit/utils/*.ts"},"./config/*":{types:"./src/config/*.ts",import:"./src/config/*.ts"},"./dap":{types:"./src/dap/index.ts",import:"./src/dap/index.ts"},"./dap/*":{types:"./src/dap/*.ts",import:"./src/dap/*.ts"},"./debug":{types:"./src/debug/index.ts",import:"./src/debug/index.ts"},"./debug/*":{types:"./src/debug/*.ts",import:"./src/debug/*.ts"},"./discovery":{types:"./src/discovery/index.ts",import:"./src/discovery/index.ts"},"./discovery/*":{types:"./src/discovery/*.ts",import:"./src/discovery/*.ts"},"./edit":{types:"./src/edit/index.ts",import:"./src/edit/index.ts"},"./edit/*":{types:"./src/edit/*.ts",import:"./src/edit/*.ts"},"./exa":{types:"./src/exa/index.ts",import:"./src/exa/index.ts"},"./exa/*":{types:"./src/exa/*.ts",import:"./src/exa/*.ts"},"./exec/*":{types:"./src/exec/*.ts",import:"./src/exec/*.ts"},"./export/*":{types:"./src/export/*.ts",import:"./src/export/*.ts"},"./export/html":{types:"./src/export/html/index.ts",import:"./src/export/html/index.ts"},"./export/html/*":{types:"./src/export/html/*.ts",import:"./src/export/html/*.ts"},"./extensibility/*":{types:"./src/extensibility/*.ts",import:"./src/extensibility/*.ts"},"./extensibility/custom-commands":{types:"./src/extensibility/custom-commands/index.ts",import:"./src/extensibility/custom-commands/index.ts"},"./extensibility/custom-commands/*":{types:"./src/extensibility/custom-commands/*.ts",import:"./src/extensibility/custom-commands/*.ts"},"./extensibility/custom-commands/bundled/ci-green":{types:"./src/extensibility/custom-commands/bundled/ci-green/index.ts",import:"./src/extensibility/custom-commands/bundled/ci-green/index.ts"},"./extensibility/custom-commands/bundled/review":{types:"./src/extensibility/custom-commands/bundled/review/index.ts",import:"./src/extensibility/custom-commands/bundled/review/index.ts"},"./extensibility/custom-commands/bundled/annotate":{types:"./src/extensibility/custom-commands/bundled/annotate/index.ts",import:"./src/extensibility/custom-commands/bundled/annotate/index.ts"},"./extensibility/custom-tools":{types:"./src/extensibility/custom-tools/index.ts",import:"./src/extensibility/custom-tools/index.ts"},"./extensibility/custom-tools/*":{types:"./src/extensibility/custom-tools/*.ts",import:"./src/extensibility/custom-tools/*.ts"},"./extensibility/extensions":{types:"./src/extensibility/extensions/index.ts",import:"./src/extensibility/extensions/index.ts"},"./extensibility/extensions/*":{types:"./src/extensibility/extensions/*.ts",import:"./src/extensibility/extensions/*.ts"},"./extensibility/hooks":{types:"./src/extensibility/hooks/index.ts",import:"./src/extensibility/hooks/index.ts"},"./extensibility/hooks/*":{types:"./src/extensibility/hooks/*.ts",import:"./src/extensibility/hooks/*.ts"},"./extensibility/plugins":{types:"./src/extensibility/plugins/index.ts",import:"./src/extensibility/plugins/index.ts"},"./extensibility/plugins/*":{types:"./src/extensibility/plugins/*.ts",import:"./src/extensibility/plugins/*.ts"},"./extensibility/plugins/marketplace":{types:"./src/extensibility/plugins/marketplace/index.ts",import:"./src/extensibility/plugins/marketplace/index.ts"},"./extensibility/plugins/marketplace/*":{types:"./src/extensibility/plugins/marketplace/*.ts",import:"./src/extensibility/plugins/marketplace/*.ts"},"./ida":{types:"./src/ida/index.ts",import:"./src/ida/index.ts"},"./ida/*":{types:"./src/ida/*.ts",import:"./src/ida/*.ts"},"./internal-urls":{types:"./src/internal-urls/index.ts",import:"./src/internal-urls/index.ts"},"./internal-urls/*":{types:"./src/internal-urls/*.ts",import:"./src/internal-urls/*.ts"},"./eval":{types:"./src/eval/index.ts",import:"./src/eval/index.ts"},"./if-bench":{types:"./src/if-bench/index.ts",import:"./src/if-bench/index.ts"},"./if-bench/*":{types:"./src/if-bench/*.ts",import:"./src/if-bench/*.ts"},"./eval/js/*":{types:"./src/eval/js/*.ts",import:"./src/eval/js/*.ts"},"./eval/py/*":{types:"./src/eval/py/*.ts",import:"./src/eval/py/*.ts"},"./lsp":{types:"./src/lsp/index.ts",import:"./src/lsp/index.ts"},"./lsp/*":{types:"./src/lsp/*.ts",import:"./src/lsp/*.ts"},"./lsp/clients":{types:"./src/lsp/clients/index.ts",import:"./src/lsp/clients/index.ts"},"./lsp/clients/*":{types:"./src/lsp/clients/*.ts",import:"./src/lsp/clients/*.ts"},"./judgment":{types:"./src/judgment/index.ts",import:"./src/judgment/index.ts"},"./markit":{types:"./src/markit/index.ts",import:"./src/markit/index.ts"},"./markit/*":{types:"./src/markit/*.ts",import:"./src/markit/*.ts"},"./mcp":{types:"./src/mcp/index.ts",import:"./src/mcp/index.ts"},"./mcp/*":{types:"./src/mcp/*.ts",import:"./src/mcp/*.ts"},"./mcp/transports":{types:"./src/mcp/transports/index.ts",import:"./src/mcp/transports/index.ts"},"./mcp/transports/*":{types:"./src/mcp/transports/*.ts",import:"./src/mcp/transports/*.ts"},"./memories":{types:"./src/memories/index.ts",import:"./src/memories/index.ts"},"./memories/*":{types:"./src/memories/*.ts",import:"./src/memories/*.ts"},"./memory-backend":{types:"./src/memory-backend/index.ts",import:"./src/memory-backend/index.ts"},"./memory-backend/*":{types:"./src/memory-backend/*.ts",import:"./src/memory-backend/*.ts"},"./hindsight":{types:"./src/hindsight/index.ts",import:"./src/hindsight/index.ts"},"./hindsight/*":{types:"./src/hindsight/*.ts",import:"./src/hindsight/*.ts"},"./modes":{types:"./src/modes/index.ts",import:"./src/modes/index.ts"},"./modes/*":{types:"./src/modes/*.ts",import:"./src/modes/*.ts"},"./modes/acp":{types:"./src/modes/acp/index.ts",import:"./src/modes/acp/index.ts"},"./modes/acp/*":{types:"./src/modes/acp/*.ts",import:"./src/modes/acp/*.ts"},"./modes/components":{types:"./src/modes/components/index.ts",import:"./src/modes/components/index.ts"},"./modes/components/*":{types:"./src/modes/components/*.ts",import:"./src/modes/components/*.ts"},"./modes/components/extensions/*":{types:"./src/modes/components/extensions/*.ts",import:"./src/modes/components/extensions/*.ts"},"./modes/controllers/*":{types:"./src/modes/controllers/*.ts",import:"./src/modes/controllers/*.ts"},"./modes/rpc/*":{types:"./src/modes/rpc/*.ts",import:"./src/modes/rpc/*.ts"},"./modes/utils/*":{types:"./src/modes/utils/*.ts",import:"./src/modes/utils/*.ts"},"./plan-mode/*":{types:"./src/plan-mode/*.ts",import:"./src/plan-mode/*.ts"},"./registry/*":{types:"./src/registry/*.ts",import:"./src/registry/*.ts"},"./secrets":{types:"./src/secrets/index.ts",import:"./src/secrets/index.ts"},"./secrets/*":{types:"./src/secrets/*.ts",import:"./src/secrets/*.ts"},"./session/*":{types:"./src/session/*.ts",import:"./src/session/*.ts"},"./slash-commands/*":{types:"./src/slash-commands/*.ts",import:"./src/slash-commands/*.ts"},"./ssh/*":{types:"./src/ssh/*.ts",import:"./src/ssh/*.ts"},"./stt":{types:"./src/stt/index.ts",import:"./src/stt/index.ts"},"./stt/*":{types:"./src/stt/*.ts",import:"./src/stt/*.ts"},"./task":{types:"./src/task/index.ts",import:"./src/task/index.ts"},"./task/*":{types:"./src/task/*.ts",import:"./src/task/*.ts"},"./tools":{types:"./src/tools/index.ts",import:"./src/tools/index.ts"},"./tools/jfind":{types:"./src/tools/jfind/index.ts",import:"./src/tools/jfind/index.ts"},"./tools/jfind/*":{types:"./src/tools/jfind/*.ts",import:"./src/tools/jfind/*.ts"},"./tools/*":{types:"./src/tools/*.ts",import:"./src/tools/*.ts"},"./utils/*":{types:"./src/utils/*.ts",import:"./src/utils/*.ts"},"./web/*":{types:"./src/web/*.ts",import:"./src/web/*.ts"},"./web/scrapers":{types:"./src/web/scrapers/index.ts",import:"./src/web/scrapers/index.ts"},"./web/scrapers/*":{types:"./src/web/scrapers/*.ts",import:"./src/web/scrapers/*.ts"},"./web/search":{types:"./src/web/search/index.ts",import:"./src/web/search/index.ts"},"./web/search/*":{types:"./src/web/search/*.ts",import:"./src/web/search/*.ts"},"./web/search/providers/*":{types:"./src/web/search/providers/*.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:native":"bun --cwd=../natives run gen:native","gen:native:reset":"bun --cwd=../natives run gen:native:reset",prepack:"bun run gen:tool-views && bun run gen:bundle","bench:guard":"bun scripts/bench-guard.ts"},dependencies:{"@babel/parser":"catalog:","@buckeyestudio/omp-stats":"catalog:","@buckeyestudio/omptype":"catalog:","@buckeyestudio/pi-agent-core":"catalog:","@buckeyestudio/pi-ai":"catalog:","@buckeyestudio/pi-catalog":"catalog:","@buckeyestudio/pi-mnemopi":"catalog:","@buckeyestudio/pi-natives":"catalog:","@buckeyestudio/pi-tui":"catalog:","@buckeyestudio/pi-utils":"catalog:","@buckeyestudio/pi-wire":"catalog:","@buckeyestudio/snapcompact":"catalog:","@opentelemetry/api":"catalog:","@opentelemetry/api-logs":"catalog:","@opentelemetry/context-async-hooks":"catalog:","@opentelemetry/exporter-logs-otlp-proto":"catalog:","@opentelemetry/exporter-metrics-otlp-proto":"catalog:","@opentelemetry/exporter-trace-otlp-proto":"catalog:","@opentelemetry/resources":"catalog:","@opentelemetry/sdk-logs":"catalog:","@opentelemetry/sdk-metrics":"catalog:","@opentelemetry/sdk-trace-base":"catalog:","@opentelemetry/sdk-trace-node":"catalog:","axe-core":"4.13.0","puppeteer-core":"catalog:"},devDependencies:{"@types/bun":"catalog:"},optionalDependencies:{"@huggingface/transformers":"catalog:","sherpa-onnx-node":"1.13.2"},engines:{bun:">=1.3.14"}}});import*as N8e from"fs";import*as xGo from"os";import*as uqs from"path";async function Axe(e,t,s){let n=SGo.get(e);if(n&&N8e.existsSync(n))return n;let o=uqs.join(xGo.tmpdir(),e);await N8e.promises.mkdir(o,{recursive:!0});let r=Bun.hash(s).toString(36),i=uqs.join(o,`runner-${r}.${t}`);if(!N8e.existsSync(i))await Bun.write(i,s);return SGo.set(e,i),i}var SGo;var jDt=k(()=>{SGo=new Map});class L8e{#e=new Map;#t=new Map;#s;constructor(e){this.#s=e}observe(e,t){let{modelKey:s,status:n}=e;if(n==="ready"){this.#e.get(s)?.tracker?.done(),this.#e.delete(s),this.#t.set(s,"ready");return}if(n==="error"){let l=this.#e.get(s);if(!l&&this.#t.has(s))return;this.#e.delete(s),this.#t.set(s,"failed");let u=t?.split(`
4857
4857
  `,1)[0]||"model load failed";(l?.tracker??b1(this.#s(s))).fail(u);return}let o=this.#e.get(s);if(!o)o={startedAt:Date.now(),files:new Map},this.#e.set(s,o),this.#t.delete(s);if(e.file===void 0&&e.name!==void 0&&n!=="progress_total"){if(n==="done")return;this.#n(s,o,{detail:e.name.includes("@")?`installing ${e.name}`:"downloading"});return}if(e.file&&(n==="download"||n==="progress_total"&&!e.files))o.detail=e.file.slice(e.file.lastIndexOf("/")+1);if(n==="progress_total"){if(e.files)for(let l in e.files)o.files.set(l,e.files[l]);else if(e.loaded!==void 0&&e.total!==void 0)o.aggregate={loaded:e.loaded,total:e.total}}else if(n==="progress"&&e.file&&e.loaded!==void 0&&e.total!==void 0)o.files.set(e.file,{loaded:e.loaded,total:e.total});let r=0,i=0;if(o.aggregate)({loaded:r,total:i}=o.aggregate);else for(let l of o.files.values())r+=l.loaded,i+=l.total;if(!o.tracker){if(!(i>0&&r<i)||Date.now()-o.startedAt<n8a)return}let a=i>0?{loaded:r,total:i}:{};if(o.detail)a.detail=o.detail;this.#n(s,o,a)}#n(e,t,s){if(t.tracker)t.tracker.update(s);else t.tracker=b1(this.#s(e),s)}}var n8a=150;var pqs=k(()=>{LV()});var $Dt=`Write a ~5 word title using only the task described in the next user message.
4858
4858
  - You MUST ONLY answer with the title, inside the <title> tag.
4859
4859
  - If the message names no concrete task, answer \`<title/>\`. This covers greetings and requests too vague to title without context you cannot see (e.g. "help", "fix this", "what's wrong?" about an attachment). NEVER guess the task.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buckeyestudio/pi-coding-agent",
3
- "version": "18.4.13",
3
+ "version": "18.4.14",
4
4
  "description": "Coding agent CLI with read, bash, edit, write tools and session management",
5
5
  "keywords": [
6
6
  "agent",
@@ -15,7 +15,10 @@
15
15
  "url": "https://github.com/can1357/oh-my-pi/issues"
16
16
  },
17
17
  "license": "MIT",
18
- "author": { "name": "Stencil Labs, Inc.", "url": "https://stencil.so" },
18
+ "author": {
19
+ "name": "Stencil Labs, Inc.",
20
+ "url": "https://stencil.so"
21
+ },
19
22
  "contributors": [
20
23
  "Mario Zechner"
21
24
  ],
@@ -536,37 +539,37 @@
536
539
  "bench:guard": "bun scripts/bench-guard.ts"
537
540
  },
538
541
  "dependencies": {
539
- "@babel/parser": "catalog:",
540
- "@buckeyestudio/omp-stats": "catalog:",
541
- "@buckeyestudio/omptype": "catalog:",
542
- "@buckeyestudio/pi-agent-core": "catalog:",
543
- "@buckeyestudio/pi-ai": "catalog:",
544
- "@buckeyestudio/pi-catalog": "catalog:",
545
- "@buckeyestudio/pi-mnemopi": "catalog:",
546
- "@buckeyestudio/pi-natives": "catalog:",
547
- "@buckeyestudio/pi-tui": "catalog:",
548
- "@buckeyestudio/pi-utils": "catalog:",
549
- "@buckeyestudio/pi-wire": "catalog:",
550
- "@buckeyestudio/snapcompact": "catalog:",
551
- "@opentelemetry/api": "catalog:",
552
- "@opentelemetry/api-logs": "catalog:",
553
- "@opentelemetry/context-async-hooks": "catalog:",
554
- "@opentelemetry/exporter-logs-otlp-proto": "catalog:",
555
- "@opentelemetry/exporter-metrics-otlp-proto": "catalog:",
556
- "@opentelemetry/exporter-trace-otlp-proto": "catalog:",
557
- "@opentelemetry/resources": "catalog:",
558
- "@opentelemetry/sdk-logs": "catalog:",
559
- "@opentelemetry/sdk-metrics": "catalog:",
560
- "@opentelemetry/sdk-trace-base": "catalog:",
561
- "@opentelemetry/sdk-trace-node": "catalog:",
542
+ "@babel/parser": "^7.29.7",
543
+ "@buckeyestudio/omp-stats": "18.4.14",
544
+ "@buckeyestudio/omptype": "18.4.14",
545
+ "@buckeyestudio/pi-agent-core": "18.4.14",
546
+ "@buckeyestudio/pi-ai": "18.4.14",
547
+ "@buckeyestudio/pi-catalog": "18.4.14",
548
+ "@buckeyestudio/pi-mnemopi": "18.4.14",
549
+ "@buckeyestudio/pi-natives": "18.4.14",
550
+ "@buckeyestudio/pi-tui": "18.4.14",
551
+ "@buckeyestudio/pi-utils": "18.4.14",
552
+ "@buckeyestudio/pi-wire": "18.4.14",
553
+ "@buckeyestudio/snapcompact": "18.4.14",
554
+ "@opentelemetry/api": "^1.9.1",
555
+ "@opentelemetry/api-logs": "^0.220.0",
556
+ "@opentelemetry/context-async-hooks": "^2.9.0",
557
+ "@opentelemetry/exporter-logs-otlp-proto": "^0.220.0",
558
+ "@opentelemetry/exporter-metrics-otlp-proto": "^0.220.0",
559
+ "@opentelemetry/exporter-trace-otlp-proto": "^0.220.0",
560
+ "@opentelemetry/resources": "^2.9.0",
561
+ "@opentelemetry/sdk-logs": "^0.220.0",
562
+ "@opentelemetry/sdk-metrics": "^2.9.0",
563
+ "@opentelemetry/sdk-trace-base": "^2.9.0",
564
+ "@opentelemetry/sdk-trace-node": "^2.9.0",
562
565
  "axe-core": "4.13.0",
563
- "puppeteer-core": "catalog:"
566
+ "puppeteer-core": "25.3.0"
564
567
  },
565
568
  "devDependencies": {
566
- "@types/bun": "catalog:"
569
+ "@types/bun": "^1.3.14"
567
570
  },
568
571
  "optionalDependencies": {
569
- "@huggingface/transformers": "catalog:",
572
+ "@huggingface/transformers": "^4.2.0",
570
573
  "sherpa-onnx-node": "1.13.2"
571
574
  },
572
575
  "engines": {
package/src/cli.ts CHANGED
File without changes