howtofixcli 0.4.15 → 0.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/main.js +86 -86
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1,48 +1,48 @@
1
1
  #!/usr/bin/env node
2
- var PS=Object.defineProperty;var m=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Lt=(e,t)=>{for(var n in t)PS(e,n,{get:t[n],enumerable:!0})};function Jl(e){return e===void 0?void 0:e.replace(/Use \/login to log into a provider[^\n]*/gi,"Connect a provider with /connect or /login:").replace(/^[ \t]*\S*pi-coding-agent[\\/]docs[\\/][^\n]*$/gim,"").replace(/\bpi-coding-agent\b/gi,"the harness").replace(/\n{3,}/g,`
2
+ var RS=Object.defineProperty;var m=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Lt=(e,t)=>{for(var n in t)RS(e,n,{get:t[n],enumerable:!0})};function Xl(e){return e===void 0?void 0:e.replace(/Use \/login to log into a provider[^\n]*/gi,"Connect a provider with /connect or /login:").replace(/^[ \t]*\S*pi-coding-agent[\\/]docs[\\/][^\n]*$/gim,"").replace(/\bpi-coding-agent\b/gi,"the harness").replace(/\n{3,}/g,`
3
3
 
4
- `).trim()}var yt,Nr,Vl,Yl,Mo=m(()=>{yt="HowToFix",Nr="0.4.15",Vl=["You are HowToFix, a coding agent. The user wants the actual fix, not a tour of the problem.","Lead with the diagnosis in one or two sentences, then change the code. Prefer the smallest correct change over a rewrite.","When you edit files, say which file and why in a short line. Do not narrate tool calls. Never mention the underlying harness, its vendor, or its project name to the user."].join(`
5
- `);Yl=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
6
- `)});var ed={};Lt(ed,{AGENTS_STORE_DIR:()=>qr,AGENT_DIR:()=>Xe,CUBENCE_CACHE_PATH:()=>Iu,WORKFLOWS_DIR:()=>$u,pinAgentDir:()=>wu});import{homedir as AS}from"node:os";import{join as ei,resolve as RS}from"node:path";function OS(){let e=(process.env.HOWTOFIX_HOME??process.env.HOME??"").trim();return RS(e||AS())}function wu(){process.env.PI_CODING_AGENT_DIR=Xe}var Xe,qr,Iu,$u,Gn=m(()=>{Xe=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||ei(OS(),".howtofix","agent"),qr=ei(Xe,"agents"),Iu=ei(Xe,"cubence-cache.json"),$u=ei(Xe,"workflows")});import{closeSync as MS,fsyncSync as CS,openSync as LS,renameSync as td,rmSync as ku,writeSync as FS}from"node:fs";import{dirname as jS,join as DS}from"node:path";function Ze(e,t){let n=DS(jS(e),`.${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}.tmp`),r=LS(n,"w");try{FS(r,t),CS(r)}finally{MS(r)}try{td(n,e)}catch(o){let s=o.code;if(s!=="EPERM"&&s!=="EBUSY"&&s!=="EACCES")throw ku(n,{force:!0}),o;ku(e,{force:!0});try{td(n,e)}catch(a){throw ku(n,{force:!0}),a}}}var Wn=m(()=>{});var ad={};Lt(ad,{DEFAULT_CONTEXT_WINDOW:()=>sd,HOWTOFIX_BASE_URL:()=>ti,HOWTOFIX_CONSOLE_URL:()=>ni,HOWTOFIX_MODEL_COMPAT:()=>vu,HOWTOFIX_PROVIDERS:()=>Tu,HTTP_IDLE_TIMEOUT_MS:()=>od,applyCompat:()=>oi,checkAccount:()=>Ou,countNewModels:()=>Au,ensureGatewaySettings:()=>US,isHowtofixProvider:()=>Co,looksLikeToken:()=>Su,maskToken:()=>ri,mergeModels:()=>Pu,newProviderEntry:()=>Eu,parseModelIds:()=>id,probeModel:()=>Ru,repairGatewayModels:()=>_S});import{existsSync as NS,mkdirSync as qS,readFileSync as nd}from"node:fs";import{join as rd}from"node:path";function Eu(){return{baseUrl:ti,api:"openai-completions"}}function _S(e){let t=rd(e,"models.json"),n;try{n=JSON.parse(nd(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of Tu){let a=r[s];if(!a||!Array.isArray(a.models))continue;let p=oi(a.models);p.changed!==0&&(a.models=p.models,o+=p.changed)}if(o===0)return 0;try{Ze(t,`${JSON.stringify(n,null,2)}
7
- `)}catch{return 0}return o}function US(e){let t=rd(e,"settings.json"),n={};try{let r=nd(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(NS(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=od;try{qS(e,{recursive:!0}),Ze(t,`${JSON.stringify(n,null,2)}
8
- `)}catch{return!1}return!0}function ri(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function Su(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function id(e){let t=(()=>{if(Array.isArray(e))return e;if(e&&typeof e=="object"){let r=e;if(Array.isArray(r.data))return r.data;if(Array.isArray(r.models))return r.models}return[]})(),n=[];for(let r of t){let o=typeof r=="string"?r:r&&typeof r=="object"&&typeof r.id=="string"?r.id:void 0;o&&!n.includes(o)&&n.push(o)}return n}function Co(e){return Tu.includes(e)}function Pu(e,t){let n=new Set(e.map(o=>o.id)),r=[...e];for(let o of t)n.has(o)||(n.add(o),r.push({id:o,contextWindow:sd,compat:{...vu}}));return r}function oi(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...vu}})),changed:t}}function Au(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function Ru(e,t,n){let r=(n?.baseUrl??ti).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,p=setTimeout(()=>a.abort(),s);try{let c=await o(`${r}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:a.signal});if(c.ok)return{ok:!0,detail:"ok"};let h=await c.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(h)?.[1]??`HTTP ${c.status}`}}catch(c){return{ok:!1,detail:c instanceof Error&&c.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(p)}}async function Ou(e,t){let n=(t?.baseUrl??ti).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,models:[],message:"no token given"};let a=new AbortController,p=setTimeout(()=>a.abort(),o);try{let c=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(c.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(c.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!c.ok)return{ok:!1,models:[],message:`the gateway answered ${c.status}`};let h=id(await c.json());return h.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:h,message:`${h.length} models available to this token`}}catch(c){let h=c instanceof Error&&c.name==="AbortError";return{ok:!1,models:[],message:h?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(p)}}var ti,ni,Tu,od,vu,sd,Mu=m(()=>{Wn();ti="https://api.howtofix.id/v1",ni="https://howtofix.id/console/token",Tu=["howtofix","howtofix-free"];od=9e4;vu={supportsDeveloperRole:!1},sd=128e3});var md={};Lt(md,{expandFileReferences:()=>Cu});import{readFileSync as KS,statSync as GS}from"node:fs";import{isAbsolute as WS,resolve as zS}from"node:path";function Cu(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),a=o.slice(s.length),p=WS(s)?s:zS(t,s);try{let c=GS(p);if(!c.isFile()||c.size===0||c.size>BS)return n;let h=KS(p);return h.includes(0)?n:`${r}<file name="${p}">
4
+ `).trim()}var yt,fn,Yl,Zl,Co=m(()=>{yt="HowToFix",fn="0.4.17",Yl=["You are HowToFix, a coding agent. The user wants the actual fix, not a tour of the problem.","Lead with the diagnosis in one or two sentences, then change the code. Prefer the smallest correct change over a rewrite.","When you edit files, say which file and why in a short line. Do not narrate tool calls. Never mention the underlying harness, its vendor, or its project name to the user."].join(`
5
+ `);Zl=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
6
+ `)});var nd={};Lt(nd,{AGENTS_STORE_DIR:()=>_r,AGENT_DIR:()=>Xe,CUBENCE_CACHE_PATH:()=>wu,WORKFLOWS_DIR:()=>ku,pinAgentDir:()=>Tu});import{homedir as OS}from"node:os";import{join as ni,resolve as MS}from"node:path";function CS(){let e=(process.env.HOWTOFIX_HOME??process.env.HOME??"").trim();return MS(e||OS())}function Tu(){process.env.PI_CODING_AGENT_DIR=Xe}var Xe,_r,wu,ku,Wn=m(()=>{Xe=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||ni(CS(),".howtofix","agent"),_r=ni(Xe,"agents"),wu=ni(Xe,"cubence-cache.json"),ku=ni(Xe,"workflows")});import{closeSync as LS,fsyncSync as FS,openSync as jS,renameSync as rd,rmSync as Eu,writeSync as DS}from"node:fs";import{dirname as NS,join as qS}from"node:path";function Ze(e,t){let n=qS(NS(e),`.${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}.tmp`),r=jS(n,"w");try{DS(r,t),FS(r)}finally{LS(r)}try{rd(n,e)}catch(o){let s=o.code;if(s!=="EPERM"&&s!=="EBUSY"&&s!=="EACCES")throw Eu(n,{force:!0}),o;Eu(e,{force:!0});try{rd(n,e)}catch(a){throw Eu(n,{force:!0}),a}}}var zn=m(()=>{});var ud={};Lt(ud,{DEFAULT_CONTEXT_WINDOW:()=>ad,HOWTOFIX_BASE_URL:()=>ri,HOWTOFIX_CONSOLE_URL:()=>oi,HOWTOFIX_MODEL_COMPAT:()=>Pu,HOWTOFIX_PROVIDERS:()=>vu,HTTP_IDLE_TIMEOUT_MS:()=>id,applyCompat:()=>ii,checkAccount:()=>Cu,countNewModels:()=>Ou,ensureGatewaySettings:()=>GS,isHowtofixProvider:()=>Lo,looksLikeToken:()=>Au,maskToken:()=>si,mergeModels:()=>Ru,newProviderEntry:()=>Su,parseModelIds:()=>md,probeModel:()=>Mu,repairGatewayModels:()=>KS});import{existsSync as _S,mkdirSync as US,readFileSync as od}from"node:fs";import{join as sd}from"node:path";function Su(){return{baseUrl:ri,api:"openai-completions"}}function KS(e){let t=sd(e,"models.json"),n;try{n=JSON.parse(od(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of vu){let a=r[s];if(!a||!Array.isArray(a.models))continue;let p=ii(a.models);p.changed!==0&&(a.models=p.models,o+=p.changed)}if(o===0)return 0;try{Ze(t,`${JSON.stringify(n,null,2)}
7
+ `)}catch{return 0}return o}function GS(e){let t=sd(e,"settings.json"),n={};try{let r=od(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(_S(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=id;try{US(e,{recursive:!0}),Ze(t,`${JSON.stringify(n,null,2)}
8
+ `)}catch{return!1}return!0}function si(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function Au(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function md(e){let t=(()=>{if(Array.isArray(e))return e;if(e&&typeof e=="object"){let r=e;if(Array.isArray(r.data))return r.data;if(Array.isArray(r.models))return r.models}return[]})(),n=[];for(let r of t){let o=typeof r=="string"?r:r&&typeof r=="object"&&typeof r.id=="string"?r.id:void 0;o&&!n.includes(o)&&n.push(o)}return n}function Lo(e){return vu.includes(e)}function Ru(e,t){let n=new Set(e.map(o=>o.id)),r=[...e];for(let o of t)n.has(o)||(n.add(o),r.push({id:o,contextWindow:ad,compat:{...Pu}}));return r}function ii(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...Pu}})),changed:t}}function Ou(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function Mu(e,t,n){let r=(n?.baseUrl??ri).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,p=setTimeout(()=>a.abort(),s);try{let c=await o(`${r}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:a.signal});if(c.ok)return{ok:!0,detail:"ok"};let h=await c.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(h)?.[1]??`HTTP ${c.status}`}}catch(c){return{ok:!1,detail:c instanceof Error&&c.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(p)}}async function Cu(e,t){let n=(t?.baseUrl??ri).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,models:[],message:"no token given"};let a=new AbortController,p=setTimeout(()=>a.abort(),o);try{let c=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(c.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(c.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!c.ok)return{ok:!1,models:[],message:`the gateway answered ${c.status}`};let h=md(await c.json());return h.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:h,message:`${h.length} models available to this token`}}catch(c){let h=c instanceof Error&&c.name==="AbortError";return{ok:!1,models:[],message:h?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(p)}}var ri,oi,vu,id,Pu,ad,Lu=m(()=>{zn();ri="https://api.howtofix.id/v1",oi="https://howtofix.id/console/token",vu=["howtofix","howtofix-free"];id=9e4;Pu={supportsDeveloperRole:!1},ad=128e3});var pd={};Lt(pd,{expandFileReferences:()=>Fu});import{readFileSync as WS,statSync as zS}from"node:fs";import{isAbsolute as BS,resolve as HS}from"node:path";function Fu(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),a=o.slice(s.length),p=BS(s)?s:HS(t,s);try{let c=zS(p);if(!c.isFile()||c.size===0||c.size>VS)return n;let h=WS(p);return h.includes(0)?n:`${r}<file name="${p}">
9
9
  ${h.toString("utf8").trimEnd()}
10
- </file>${a}`}catch{return n}})}var BS,Lu=m(()=>{BS=64*1024});function VS(e){let t=new WeakSet,n=r=>{if(r===null||typeof r!="object")return r;if(t.has(r))return"[circular]";if(t.add(r),Array.isArray(r))return r.map(n);let o=r,s={};for(let a of Object.keys(o).sort())s[a]=n(o[a]);return s};try{return JSON.stringify(n(e))??""}catch{return""}}function ud(e,t){if(HS.has(e))return;let n=`${e}\0${VS(t)}`,r=Lo&&Lo.signature===n?Lo.count+1:1;return Lo={signature:n,count:r},r>=3?{repeats:r}:void 0}function pd(){Lo=void 0}function cd(e,t){return`Refused: ${e} has been called ${t} times in a row with identical arguments, so the last attempt cannot have changed anything. Do not repeat it. Either use different arguments, use a different tool, or stop and report what you found and what is blocking you.`}var HS,Lo,Fu=m(()=>{HS=new Set(["think"])});function ld(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function YS(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(JS.test(o)){let s=o.includes("="),[a="",...p]=o.split("="),c=n.safeFlags[a];if(!c)return!1;if(c==="none"){if(s)return!1;r++;continue}if(c==="optional"){r++;continue}if(s){if(!ld(p.join("="),c))return!1;r++;continue}let h=e[r+1];if(h===void 0||!ld(h,c))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function nP(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function rP(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function oP(e){let t=[],n=/'[^']*'|"[^"]*"|\S+/g;for(let r of e.match(n)??[])t.push(r.length>=2&&/^['"]/.test(r)?r.slice(1,-1):r);return t}function sP(e){if(e.length===0)return;let[t="",n=""]=e,r=`${t} ${n}`;if(t==="git"&&n==="config"){let o=e[2];return o==="--get"||o==="--get-all"||o==="--get-regexp"||o==="-l"||o==="--list"?{name:"git config --get",rest:e.slice(3)}:void 0}return t==="git"&&n==="stash"?e[2]==="list"?{name:"git stash list",rest:e.slice(3)}:void 0:t==="git"&&n==="worktree"?e[2]==="list"?{name:"git worktree list",rest:e.slice(3)}:void 0:t==="git"&&fd[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:gd[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function aP(e){let t=oP(e),n=sP(t);if(!n)return!1;let{name:r,rest:o}=n;if(iP.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let s=fd[r]??eP[r]??gd[r];return s?s.dangerous?.(o)?!1:YS(o,0,s):!!(QS.includes(r)||tP.includes(r))}function mi(e){let t=nP(e);return!t||t.length===0||rP(t)?!1:t.every(aP)}var JS,XS,si,ii,ju,ai,Du,dd,ZS,fd,QS,eP,gd,tP,iP,Nu=m(()=>{JS=/^-[a-zA-Z0-9_-]/;XS={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},si={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},ii={"--max-count":"number","-n":"number"},ju={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},ai={"--color":"none","--no-color":"none"},Du={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},dd={"--author":"string","--committer":"string","--grep":"string"},ZS={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},fd={"git status":{safeFlags:{"-s":"none","--short":"none","-b":"none","--branch":"none","-u":"optional","--untracked-files":"optional","--porcelain":"optional","--ignored":"none","--long":"none","--no-renames":"none",...ai}},"git diff":{safeFlags:{...ju,...ai,...Du,"--cached":"none","--staged":"none","--word-diff":"none","--check":"none","--quiet":"none","--exit-code":"none","--no-renames":"none","--diff-filter":"string","--relative":"string","--full-index":"none","--binary":"none","--abbrev":"number","--unified":"number","-U":"number","--ignore-all-space":"none","--ignore-space-change":"none","--ignore-blank-lines":"none"}},"git log":{safeFlags:{...si,...ii,...ju,...ai,...Du,...dd,...XS,"--since":"string","--after":"string","--until":"string","--before":"string","--follow":"none","--no-merges":"none","--merges":"none","--first-parent":"none","--reverse":"none","--skip":"number","--all":"none","--format":"string","--pretty":"string","--abbrev-commit":"none","--no-abbrev-commit":"none","--left-right":"none"}},"git show":{safeFlags:{...ju,...ai,...Du,...si,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...ii,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...ii,...si,...dd,"--all":"none","--date":"string"}},"git blame":{safeFlags:{"-L":"string","-w":"none","-c":"none","-n":"none","-s":"none","-e":"none","-p":"none","--porcelain":"none","--line-porcelain":"none","--date":"string","--since":"string","-C":"none","-M":"none"}},"git ls-files":{safeFlags:{"-m":"none","--modified":"none","-o":"none","--others":"none","-i":"none","--ignored":"none","-s":"none","--stage":"none","-d":"none","--deleted":"none","-c":"none","--cached":"none","-u":"none","--unmerged":"none","--exclude-standard":"none","--error-unmatch":"none","-z":"none"}},"git ls-remote":{safeFlags:{"--heads":"none","--tags":"none","--refs":"none","--symref":"none"}},"git rev-parse":{safeFlags:{"--short":"optional","--abbrev-ref":"none","--verify":"none","--quiet":"none","--git-dir":"none","--show-toplevel":"none","--show-cdup":"none","--is-inside-work-tree":"none","--is-bare-repository":"none","--symbolic-full-name":"none","--abbrev":"optional"}},"git rev-list":{safeFlags:{...ii,"--count":"none","--all":"none","--objects":"none","--reverse":"none","--max-parents":"number","--min-parents":"number","--no-merges":"none","--first-parent":"none","--abbrev-commit":"none"}},"git describe":{safeFlags:{"--tags":"none","--all":"none","--long":"none","--always":"none","--dirty":"none","--abbrev":"number","--match":"string","--exclude":"string","--first-parent":"none"}},"git cat-file":{safeFlags:{"-p":"none","-t":"none","-s":"none","-e":"none","--batch-check":"none"}},"git for-each-ref":{safeFlags:{"--format":"string","--count":"number","--sort":"string","--points-at":"string","--merged":"string","--no-merged":"string"}},"git grep":{safeFlags:{"-n":"none","--line-number":"none","-i":"none","--ignore-case":"none","-l":"none","--files-with-matches":"none","-c":"none","--count":"none","-w":"none","--word-regexp":"none","-E":"none","--extended-regexp":"none","-F":"none","--fixed-strings":"none","--cached":"none","--untracked":"none","-e":"string","--and":"none","--or":"none","--not":"none"}},"git merge-base":{safeFlags:{"--all":"none","--is-ancestor":"none","--fork-point":"none","--octopus":"none"}},"git stash list":{safeFlags:{...si}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...ZS,"--merged":"string","--no-merged":"string","--contains":"string","--no-contains":"string","--sort":"string","--format":"string","--points-at":"string","--column":"none"},dangerous:e=>{let t=new Set(["--merged","--no-merged","--contains","--no-contains","--sort","--format","--points-at"]),n=!1;for(let r of e){if(n){n=!1;continue}if(t.has(r)){n=!0;continue}if(!r.startsWith("-"))return!0}return!1}},"git tag":{safeFlags:{"-l":"none","--list":"none","-n":"number","--contains":"string","--no-contains":"string","--merged":"string","--sort":"string","--points-at":"string","--column":"none"},dangerous:e=>{let t=new Set(["--contains","--no-contains","--merged","--sort","--points-at"]),n=!1;for(let r of e){if(n){n=!1;continue}if(t.has(r)){n=!0;continue}if(!r.startsWith("-"))return!0}return!1}},"git remote":{safeFlags:{"-v":"none","--verbose":"none"},dangerous:e=>e.some(t=>!t.startsWith("-"))},"git config --get":{safeFlags:{"--local":"none","--global":"none","--system":"none","--get-all":"none","--get-regexp":"none","--list":"none","-l":"none","--show-origin":"none","--null":"none","-z":"none"}}},QS=["ls","pwd","cat","head","tail","wc","which","whoami","date","echo","sleep","true","false","type","test","seq","basename","dirname","realpath","stat","file","du","df","tree","uname","hostname","id","groups","tty","cal","uptime","free","locale","printf","grep","rg","fd","jq","bat","column","paste","nl","expand","fold","fmt"],eP={find:{safeFlags:{"-name":"string","-iname":"string","-type":"string","-maxdepth":"number","-mindepth":"number","-newer":"string","-path":"string","-not":"none","-print":"none","-print0":"none","-empty":"none","-size":"string","-mtime":"number","-atime":"number","-perm":"string","-L":"none","-H":"none","-P":"none"},dangerous:e=>e.some(t=>/^-(delete|exec|execdir|ok|okdir|fprint0?|fls|fprintf)$/.test(t))},sort:{safeFlags:{"-n":"none","-r":"none","-u":"none","-k":"string","-t":"string","-f":"none","-h":"none","-V":"none","-s":"none","-c":"none","-m":"none","-b":"none","-z":"none"}},uniq:{safeFlags:{"-c":"none","-d":"none","-u":"none","-i":"none","-f":"number","-s":"number","-w":"number"}},cut:{safeFlags:{"-d":"string","-f":"string","-c":"string","-b":"string","-s":"none","--complement":"none","-z":"none"}},tr:{safeFlags:{"-d":"none","-s":"none","-c":"none"}},node:{safeFlags:{"-v":"none","--version":"none"},allowPositional:!1},python:{safeFlags:{"--version":"none"},allowPositional:!1},python3:{safeFlags:{"--version":"none"},allowPositional:!1},npm:{safeFlags:{"--version":"none","-v":"none"},allowPositional:!1},sed:{safeFlags:{"-n":"none","--quiet":"none","-e":"string","-E":"none","-r":"none","--regexp-extended":"none","-s":"none","-u":"none","-z":"none","--posix":"none"},dangerous:e=>e.some(t=>/^-i|^--in-place/.test(t)||/\b[we]\s/.test(t)||/^[we]$/.test(t))},awk:{safeFlags:{"-F":"string","-v":"string","-f":"string"},dangerous:e=>e.some(t=>/\bsystem\s*\(|\|\s*"|>\s*"/.test(t))}},gd={"npm ls":{safeFlags:{"--depth":"number","--json":"none","--long":"none","--parseable":"none","--all":"none","--prod":"none","--dev":"none","--omit":"string","--link":"none","--global":"none","-g":"none","--silent":"none"}},"npm view":{safeFlags:{"--json":"none","--registry":"string"}},"docker ps":{safeFlags:{"-a":"none","--all":"none","-q":"none","--quiet":"none","--no-trunc":"none","--format":"string","-n":"number","--last":"number","-s":"none","--size":"none","--filter":"string"}},"docker images":{safeFlags:{"-a":"none","--all":"none","-q":"none","--quiet":"none","--no-trunc":"none","--format":"string","--filter":"string","--digests":"none"}},"docker inspect":{safeFlags:{"--format":"string","-f":"string","-s":"none","--size":"none","--type":"string"}},"kubectl get":{safeFlags:{"-o":"string","--output":"string","-n":"string","--namespace":"string","-A":"none","--all-namespaces":"none","--no-headers":"none","-l":"string","--selector":"string","--show-labels":"none","-w":"none","--watch":"none","--sort-by":"string"}},"kubectl describe":{safeFlags:{"-n":"string","--namespace":"string","-l":"string","--selector":"string"}},"cargo tree":{safeFlags:{"--depth":"number","-e":"string","--edges":"string","--no-dev-dependencies":"none","--prefix":"string","-i":"string","--invert":"string","-p":"string","--package":"string"}},"go version":{safeFlags:{}}},tP=["cd","alias","history","arch","ip addr","ifconfig"];iP=new Set(["echo","printf"])});var wd={};Lt(wd,{APPROVAL_LABELS:()=>ui,APPROVAL_MODES:()=>_r,MODE_MAX_TIER:()=>xd,TIER_RANK:()=>qu,createPermissionExtension:()=>Fo,criticalCommand:()=>hd,decideToolCall:()=>bd,describeToolCall:()=>Id,formatApprovalPrompt:()=>$d,getApprovalMode:()=>cP,isApprovalMode:()=>mP,isReadOnlyCommand:()=>mi,resolveTier:()=>_u,setApprovalMode:()=>Ku,setApprovalPrompt:()=>Gu});function mP(e){return _r.includes(e)}function _u(e){let t=uP[e];return t||(e.startsWith("mcp__")?"write":"exec")}function hd(e){for(let{pattern:t,reason:n}of pP)if(t.test(e))return n}function Ku(e){Uu=e}function cP(){return Uu}function Gu(e){yd=e}function bd(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=hd(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(mi(r))return{action:"run"}}let o=_u(t);return qu[o]<=qu[xd[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function Id(e,t){if(t&&typeof t=="object"){let n=t;if((e==="bash"||e==="powershell")&&typeof n.command=="string")return n.command;if((e==="edit"||e==="write")&&typeof n.path=="string"){let r=Array.isArray(n.edits)?` (${n.edits.length} edits)`:"";return`${n.path}${r}`}try{let r=JSON.stringify(n);if(r&&r!=="{}")return r.length>300?`${r.slice(0,297)}...`:r}catch{}}return e}function $d(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=Id(e,t);return o!==e&&r.push(o),r.join(`
11
- `)}function Fo(e={}){return t=>{t.on("tool_call",async n=>{let r=ud(n.toolName,n.input);if(r)return{block:!0,reason:cd(n.toolName,r.repeats)};let o=Uu,s=bd(o,n.toolName,n.input);if(s.action==="run")return;if(s.action==="deny")return{block:!0,reason:s.reason};if(e.interactive===!1)return{block:!0,reason:`Blocked: this is a ${_u(n.toolName)}-tier tool and no UI can approve it here (approval mode: ${o}).`};if(!await yd(`${n.toolName} wants to run`,$d(n.toolName,n.input,s.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${o}).`}})}}var _r,ui,qu,xd,uP,pP,Uu,yd,jo=m(()=>{Fu();Nu();Nu();_r=["suggest","auto-edit","full-auto"],ui={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};qu={read:0,write:1,exec:2},xd={suggest:"read","auto-edit":"write","full-auto":"exec"},uP={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};pP=[{pattern:/\brm\s+(?:-[a-zA-Z]+\s+)*(?:\/|\/\*|~|\$HOME)(?:\s|$)/,reason:"recursive delete of the filesystem root or home"},{pattern:/\bmkfs(?:\.[a-z0-9]+)?\b/,reason:"filesystem format"},{pattern:/\bdd\b[^|;]*\bof=\/dev\/(?:sd|nvme|hd|vd)/,reason:"raw write to a block device"},{pattern:/:\s*\(\s*\)\s*\{.*\}\s*;\s*:/,reason:"fork bomb"},{pattern:/>\s*\/etc\/(?:passwd|shadow|sudoers)/,reason:"overwrite of a system account file"},{pattern:/\b(?:shutdown|reboot|halt|poweroff)\b/,reason:"host shutdown"}];Uu="full-auto",yd=async()=>!1});function lP(e){return e.replace(/operating inside pi, a coding agent harness/gi,"operating as HowToFix, a coding agent harness").replace(/^Pi documentation \(read only when the user asks about[^\n]*\):?$/gim,"Harness documentation (internal reference; the user is never told the harness name):").replace(/\bpi itself\b/gi,"the harness itself").replace(/^- When reading pi docs or examples/m,"- When reading harness docs or examples").replace(/^- When working on pi topics/m,"- When working on harness topics").replace(/^- Always read pi \.md files/m,"- Always read the harness .md files").replace(/\bpi packages\b/gi,"harness packages").replace(/\bpi \.md files\b/gi,"harness .md files").replace(/\bpi docs\b/gi,"harness docs").replace(/^-\s*You can inspect PI_\* environment variables/m,"- You can inspect the harness's environment variables")}function fP(e){if(!e)return;let t=!1,n={...e};for(let r of dP){let o=n[r];if(typeof o!="string")continue;let s=lP(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function kd(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=fP(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var dP,Td=m(()=>{dP=["preamble","rules","docs","addendum"]});import{Type as Ur}from"@earendil-works/pi-ai";import{defineTool as Ed}from"@earendil-works/pi-coding-agent";function vd(e){Wu=e}var Wu,Sd,Pd,zu=m(()=>{Sd=Ed({name:"think",label:"think",description:"Private scratchpad. The text is not shown to the user. Use it before a non-obvious step.",promptSnippet:"think: private notes, not shown to the user",parameters:Ur.Object({thoughts:Ur.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),Pd=Ed({name:"ask",label:"ask",description:"Ask the user one question and wait for a selected answer. Use this instead of guessing when a choice blocks the task.",promptSnippet:"ask: ask the user to pick one option",parameters:Ur.Object({question:Ur.String(),options:Ur.Array(Ur.String(),{minItems:2})}),async execute(e,t){if(!Wu)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await Wu(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var en,lr=m(()=>{en={assign:0,create:0,clone:0,discard:0,update:0}});function dr(e,t,n){return e>=t&&e<=n}function Od(e){return e===8205}function gP(e){return dr(e,55296,56319)}function Ad(e){return dr(e,127462,127487)}function Md(e){return dr(e,65024,65039)}function Cd(e){return dr(e,768,879)||dr(e,6832,6911)||dr(e,7616,7679)||dr(e,65056,65071)}function pi(e){return e>65535?2:1}function Rd(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Cd(n)||Md(n))t+=pi(n);else break}return t}function Bu(e,t){let n=e.codePointAt(t),r=t+pi(n);for(r=Rd(e,r);r<e.length-1&&Od(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+pi(o),r=Rd(e,r)}return Ad(n)&&r<e.length&&Ad(e.codePointAt(r))&&(r+=pi(e.codePointAt(r))),r}function Ld(e){return e>=768&&(gP(e)||Cd(e)||Md(e)||Od(e))}function Fd(e){let t=0,n=0;for(;n<e.length;)n=Bu(e,n),t++;return t}function xP(e,t){let n=0,r=0;for(;r<e.length;)if(r=Bu(e,r),++n>=t)return!0;return!1}function hP(e,t){let n=0,r=0;for(;r<e.length;)if(r=Bu(e,r),++n>t)return!1;return!0}function jd(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(Ld(e.charCodeAt(n)))return xP(e,t);if(++n>=t)return!0}}function Dd(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(Ld(e.charCodeAt(n)))return hP(e,t);if(++n>t)return!1}}var Nd=m(()=>{});var u={};Lt(u,{Counted:()=>CP,Entries:()=>jP,EntriesRegExp:()=>FP,Every:()=>AP,EveryAll:()=>RP,GraphemeCount:()=>vP,HasPropertyKey:()=>LP,IsArray:()=>No,IsBigInt:()=>Do,IsBoolean:()=>qd,IsClassInstance:()=>EP,IsConstructor:()=>bP,IsDeepEqual:()=>Ju,IsEqual:()=>re,IsFunction:()=>_d,IsGreaterEqualThan:()=>Kd,IsGreaterThan:()=>wP,IsInteger:()=>Hu,IsLessEqualThan:()=>Ud,IsLessThan:()=>kP,IsMaxLength:()=>SP,IsMinLength:()=>PP,IsMultipleOf:()=>TP,IsNull:()=>li,IsNumber:()=>di,IsObject:()=>qo,IsObjectNotArray:()=>IP,IsString:()=>fi,IsSymbol:()=>$P,IsUndefined:()=>Vu,IsUnsafePropertyKey:()=>Wd,IsValueLike:()=>Gd,Keys:()=>ci,ShiftLeft:()=>gi,Some:()=>OP,SomeAll:()=>MP,Symbols:()=>DP,Values:()=>NP});function No(e){return Array.isArray(e)}function Do(e){return re(typeof e,"bigint")}function qd(e){return re(typeof e,"boolean")}function bP(e){if(Vu(e)||!_d(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function _d(e){return re(typeof e,"function")}function Hu(e){return Number.isInteger(e)}function li(e){return re(e,null)}function di(e){return Number.isFinite(e)}function IP(e){return qo(e)&&!No(e)}function qo(e){return re(typeof e,"object")&&!li(e)}function fi(e){return re(typeof e,"string")}function $P(e){return re(typeof e,"symbol")}function Vu(e){return re(e,void 0)}function re(e,t){return e===t}function wP(e,t){return e>t}function kP(e,t){return e<t}function Ud(e,t){return e<=t}function Kd(e,t){return e>=t}function TP(e,t){if(Do(e)||Do(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!di(e)||Hu(e)&&1/t%1===0)return!0;let r=e%t;return Math.min(Math.abs(r),Math.abs(r-t),Math.abs(r+t))<n}function EP(e){if(!qo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return li(t)?!1:re(typeof t.constructor,"function")&&!(re(t.constructor,globalThis.Object)||re(t.constructor.name,"Object"))}function Gd(e){return Do(e)||qd(e)||li(e)||di(e)||fi(e)||Vu(e)}function vP(e){return Fd(e)}function SP(e,t){return Dd(e,t)}function PP(e,t){return jd(e,t)}function AP(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function RP(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function OP(e,t){return e.some((n,r)=>t(n,r))}function MP(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function CP(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function gi(e,t,n){return re(e.length,0)?n():t(e[0],e.slice(1))}function Wd(e){return re(e,"__proto__")||re(e,"constructor")||re(e,"prototype")}function LP(e,t){return Wd(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function FP(e){return ci(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function jP(e){return Object.entries(e)}function ci(e){return Object.getOwnPropertyNames(e)}function DP(e){return Object.getOwnPropertySymbols(e)}function NP(e){return Object.values(e)}function qP(e,t){if(!qo(t))return!1;let n=ci(e);return re(n.length,ci(t).length)&&n.every(r=>Ju(e[r],t[r]))}function _P(e,t){return No(t)&&re(e.length,t.length)&&e.every((n,r)=>Ju(e[r],t[r]))}function Ju(e,t){return No(e)?_P(e,t):qo(e)?qP(e,t):re(e,t)}var Kr=m(()=>{Nd()});var zd=m(()=>{Kr()});var zn={};Lt(zn,{IsBigInt64Array:()=>tA,IsBigUint64Array:()=>nA,IsBoolean:()=>KP,IsDate:()=>oA,IsFloat32Array:()=>QP,IsFloat64Array:()=>eA,IsInt16Array:()=>JP,IsInt32Array:()=>XP,IsInt8Array:()=>BP,IsMap:()=>iA,IsNumber:()=>GP,IsRegExp:()=>rA,IsSet:()=>sA,IsString:()=>WP,IsTypeArray:()=>zP,IsUint16Array:()=>YP,IsUint32Array:()=>ZP,IsUint8Array:()=>HP,IsUint8ClampedArray:()=>VP});function KP(e){return e instanceof Boolean}function GP(e){return e instanceof Number}function WP(e){return e instanceof String}function zP(e){return globalThis.ArrayBuffer.isView(e)}function BP(e){return e instanceof globalThis.Int8Array}function HP(e){return e instanceof globalThis.Uint8Array}function VP(e){return e instanceof globalThis.Uint8ClampedArray}function JP(e){return e instanceof globalThis.Int16Array}function YP(e){return e instanceof globalThis.Uint16Array}function XP(e){return e instanceof globalThis.Int32Array}function ZP(e){return e instanceof globalThis.Uint32Array}function QP(e){return e instanceof globalThis.Float32Array}function eA(e){return e instanceof globalThis.Float64Array}function tA(e){return e instanceof globalThis.BigInt64Array}function nA(e){return e instanceof globalThis.BigUint64Array}function rA(e){return e instanceof globalThis.RegExp}function oA(e){return e instanceof globalThis.Date}function sA(e){return e instanceof globalThis.Set}function iA(e){return e instanceof globalThis.Map}var Bd=m(()=>{});var Hd=m(()=>{Kr()});var R=m(()=>{zd();Bd();Hd();Kr();Kr()});var tn={};Lt(tn,{Get:()=>pA,Reset:()=>mA,Set:()=>uA});function mA(){fn.immutableTypes=!1,fn.maxErrors=8,fn.maxInstantiationCount=128,fn.useAcceleration=!0,fn.exactOptionalPropertyTypes=!1,fn.enumerableKind=!1,fn.correctiveParse=!1,fn.unionPrioritySort=!0}function uA(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(fn,t,{value:n})}}function pA(){return fn}var fn,Vd=m(()=>{R();fn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var fr=m(()=>{Vd()});function Bn(e){return tn.Get().immutableTypes?Object.freeze(e):e}var _o=m(()=>{fr()});function cA(e,t){return en.assign+=1,Bn({...e,...t})}var Jd=m(()=>{lr();_o()});function lA(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function dA(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=gr(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function fA(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=gr(e[n]));for(let n of u.Symbols(e))t[n]=gr(e[n]);return t}function gA(e){return u.IsClassInstance(e)?e:lA(e)?dA(e):fA(e)}function xA(e){return e.map(t=>gr(t))}function hA(e){return e.slice()}function yA(e){return new RegExp(e.source,e.flags)}function bA(e){return new Map(gr([...e.entries()]))}function IA(e){return new Set(gr([...e.values()]))}function gr(e){return zn.IsTypeArray(e)?hA(e):zn.IsRegExp(e)?yA(e):zn.IsMap(e)?bA(e):zn.IsSet(e)?IA(e):u.IsArray(e)?xA(e):u.IsObject(e)?gA(e):e}function Uo(e){return en.clone+=1,gr(e)}var xi=m(()=>{R();lr()});function $A(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function Yd(e,t){return{...e,...t}}function wA(e,t,n={}){en.create+=1;let r=Yd(t,n),o=tn.Get().enumerableKind?Yd(r,e):$A(r,e);return Bn(o)}var Xd=m(()=>{fr();lr();_o()});function kA(e,t){en.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Uo(o.value),Object.defineProperty(n,r,o)}return Bn(n)}var Zd=m(()=>{R();lr();_o();xi()});function TA(e,t,n){en.update+=1;let r=tn.Get(),o=Uo(e);for(let s of Object.keys(t))Object.defineProperty(o,s,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[s]});for(let s of Object.keys(n))Object.defineProperty(o,s,{configurable:!0,enumerable:!0,writable:!0,value:n[s]});return Bn(o)}var Qd=m(()=>{fr();lr();_o();xi()});var l={};Lt(l,{Assign:()=>cA,Clone:()=>Uo,Create:()=>wA,Discard:()=>kA,Metrics:()=>en,Update:()=>TA});var ef=m(()=>{Jd();xi();Xd();Zd();lr();Qd()});var v=m(()=>{ef()});function C(e,t){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],t)}function Fe(e){return u.IsObject(e)}var B=m(()=>{R()});function j(e,t,n){return l.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Hn(e){return C(e,"Deferred")}var se=m(()=>{v();B()});function EA(e){return l.Update(e,{"~readonly":!0},{})}function Ko(e,t){return l.Update(EA(e),{},t)}function tf(e,t,n,r){let o=k(e,t,n);return Ko(o,r)}var hi=m(()=>{v();N()});function vA(e){return l.Update(e,{"~optional":!0},{})}function Go(e,t){return l.Update(vA(e),{},t)}function nf(e,t,n,r){let o=k(e,t,n);return Go(o,r)}var yi=m(()=>{v();N()});function Ft(e,t){return l.Create({"~kind":"Array"},{type:"array",items:e},t)}function $e(e){return C(e,"Array")}function bi(e){return l.Discard(e,["~kind","type","items"])}var ct=m(()=>{v();B()});function gn(e,t,n={}){return l.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function _e(e){return C(e,"Constructor")}function rf(e){return l.Discard(e,["~kind","type","parameters","instanceType"])}var Kt=m(()=>{v();B()});function xn(e,t,n={}){return l.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function Ue(e){return C(e,"Function")}function of(e){return l.Discard(e,["~kind","type","parameters","returnType"])}var Gt=m(()=>{v();B()});function jn(e,t){return l.Create({"~kind":"Ref"},{$ref:e},t)}function Ke(e){return C(e,"Ref")}var Wt=m(()=>{v();B()});function Vn(e,t){return l.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Gr(e){return C(e,"Generic")}var Wo=m(()=>{v();B()});function Wr(e){return l.Create({"~kind":"Any"},{},e)}function Te(e){return C(e,"Any")}var bt=m(()=>{v();B()});function le(e){return l.Create({"~kind":"Never"},{not:{}},e)}function nn(e){return C(e,"Never")}var sf,Be=m(()=>{v();B();sf="(?!)"});function hn(e,t={}){return j("AddOptional",[e],t)}function xr(e,t={}){return Go(e,t)}var zo=m(()=>{se();yi()});function af(e){return xr(e)}function ot(e){return Fe(e)&&u.HasPropertyKey(e,"~optional")}var Jn=m(()=>{R();B();zo()});function mf(e){return u.Keys(e).filter(t=>!ot(e[t]))}function Ii(e){return u.Keys(e)}function $i(e){return u.Values(e)}var hr=m(()=>{R();Jn()});function K(e,t={}){let n=mf(e),r=n.length>0?{required:n}:{};return l.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function me(e){return C(e,"Object")}function uf(e){return l.Discard(e,["~kind","type","properties","required"])}var ce=m(()=>{v();B();hr()});function He(e){return l.Create({"~kind":"Unknown"},{},e)}function Ae(e){return C(e,"Unknown")}var Qe=m(()=>{v();B()});function yn(e,t,n){let r=u.Keys(e).reduce((o,s)=>({...o,[s]:l.Update(e[s],{},{$id:s})}),{});return l.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function et(e){return C(e,"Cyclic")}var It=m(()=>{R();v();B()});function pf(e){return l.Update(e,{"~unsafe":null},{})}function wi(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var ki=m(()=>{R();v()});var bn={};Lt(bn,{Match:()=>SA});function SA(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var cf=m(()=>{});var zr=m(()=>{cf()});function Bo(...e){let[t,n]=bn.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,He(),He()]});return l.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Re(e){return C(e,"Infer")}var zt=m(()=>{zr();v();B();Qe()});function yr(e,t,n,r={}){return l.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function ve(e){return C(e,"Dependent")}function lf(e){return l.Discard(e,["~kind","if","then","else"])}var St=m(()=>{v();B()});function df(e){return u.IsObjectNotArray(e)}function ff(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var Ti=m(()=>{R()});function gf(e){return u.IsString(e)||u.IsNumber(e)}function xf(e,t){let n=df(e)?ff(e):e;return l.Create({"~kind":"Enum"},{enum:n},t)}function tt(e){return C(e,"Enum")}var rn=m(()=>{R();v();B();Ti();Ti()});function $t(e,t={}){return l.Create({"~kind":"Intersect"},{allOf:e},t)}function Q(e){return C(e,"Intersect")}function hf(e){return l.Discard(e,["~kind","allOf"])}var je=m(()=>{v();B()});var yf=m(()=>{fr();R()});var bf=m(()=>{yf()});var If=m(()=>{bf()});function De(){throw new Error("Unreachable")}var Yu=m(()=>{});var In=m(()=>{Yu()});var $f,rq,oq,sq,iq,wf,aq,mq,uq,kf=m(()=>{In();R();(function(e){e[e.Array=0]="Array",e[e.BigInt=1]="BigInt",e[e.Boolean=2]="Boolean",e[e.Date=3]="Date",e[e.Constructor=4]="Constructor",e[e.Function=5]="Function",e[e.Null=6]="Null",e[e.Number=7]="Number",e[e.Object=8]="Object",e[e.RegExp=9]="RegExp",e[e.String=10]="String",e[e.Symbol=11]="Symbol",e[e.TypeArray=12]="TypeArray",e[e.Undefined=13]="Undefined"})($f||($f={}));rq=BigInt("14695981039346656037"),[oq,sq]=[BigInt("1099511628211"),BigInt("18446744073709551616")],iq=Array.from({length:256}).map((e,t)=>BigInt(t)),wf=new Float64Array(1),aq=new DataView(wf.buffer),mq=new Uint8Array(wf.buffer),uq=new TextEncoder});var Tf=m(()=>{kf()});var Xu=m(()=>{});var Ef=m(()=>{Xu()});var vf=m(()=>{});var Sf=m(()=>{});var Pf=m(()=>{});var Af=m(()=>{});var Rf=m(()=>{});var Of=m(()=>{});var Mf=m(()=>{});var Cf=m(()=>{});var Lf=m(()=>{});var Ff=m(()=>{});var jf=m(()=>{});var Zu=m(()=>{});var Df=m(()=>{});var Nf=m(()=>{});var qf=m(()=>{});var _f=m(()=>{});var Uf=m(()=>{});var Kf=m(()=>{});var Gf=m(()=>{});var Wf=m(()=>{});var zf=m(()=>{});var Bf=m(()=>{});var Hf=m(()=>{});var Vf=m(()=>{});var Jf=m(()=>{});var Yf=m(()=>{});var Xf=m(()=>{});var Zf=m(()=>{});var Qf=m(()=>{});var eg=m(()=>{});var tg=m(()=>{});var ng=m(()=>{});var rg=m(()=>{});var og=m(()=>{});var sg=m(()=>{});var ig=m(()=>{});var ag=m(()=>{});var mg=m(()=>{Ef();vf();Sf();Pf();Af();Rf();Xu();Of();Mf();Cf();Lf();Ff();jf();Zu();Zu();Df();Nf();qf();_f();Uf();Kf();Gf();Wf();zf();Bf();Hf();Vf();Jf();Yf();Xf();Zf();Qf();eg();tg();ng();rg();og();sg();ig();ag()});var ug=m(()=>{mg()});var Ho=m(()=>{zr();If();Tf();ug();v();fr()});var cg=m(()=>{Ho();Ho();Ho()});function vi(e){return new Jo(e)}function lg(e,t){return vi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function dg(e,t){return vi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function Ei(e){return Fe(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var Vo,Jo,Qu=m(()=>{cg();R();B();Vo=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=Ei(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=Ei(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return l.Update(this.type,{"~codec":s},{})}},Jo=class{constructor(t){this.type=t}Decode(t){return new Vo(this.type,t)}}});function fg(e){return Br(e)}function br(e){return Fe(e)&&u.HasPropertyKey(e,"~immutable")}var Yo=m(()=>{R();B();Xo()});function $n(e,t={}){return j("AddReadonly",[e],t)}function Ir(e,t={}){return Ko(e,t)}var Zo=m(()=>{se();hi()});function gg(e){return Ir(e)}function $r(e){return Fe(e)&&u.HasPropertyKey(e,"~readonly")}var Qo=m(()=>{R();B();Zo()});function OA(e,t){let n=ep(e)?[...e["~refine"],t]:[t];return l.Update(e,{"~refine":n},{})}function xg(...e){let[t,n,r]=bn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return OA(t,{check:n,error:r})}function MA(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function ep(e){return Fe(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>MA(t))}var tp=m(()=>{zr();v();R();B()});function es(e){return l.Create({"~kind":"BigInt"},{type:"bigint"},e)}function wn(e){return C(e,"BigInt")}var hg,wr=m(()=>{v();B();hg="-?(?:0|[1-9][0-9]*)n"});function Si(e){return l.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Bt(e){return C(e,"Boolean")}var Yn=m(()=>{v();B()});function ts(e){return l.Create({"~kind":"Identifier"},{name:e})}function yg(e){return C(e,"Identifier")}var np=m(()=>{v();B()});function kr(e){return l.Create({"~kind":"Integer"},{type:"integer"},e)}function lt(e){return C(e,"Integer")}var Pi,kn=m(()=>{v();B();Pi="-?(?:0|[1-9][0-9]*)"});function CA(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new rp(e)})()}function ee(e,t){return l.Create({"~kind":"Literal"},{type:CA(e),const:e},t)}function Ai(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function bg(e){return ue(e)&&u.IsNumber(e.const)}function Ig(e){return ue(e)&&u.IsString(e.const)}function ue(e){return C(e,"Literal")}var rp,Oe=m(()=>{v();R();B();rp=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function Hr(e){return l.Create({"~kind":"Null"},{type:"null"},e)}function Vr(e){return C(e,"Null")}var Jr=m(()=>{v();B()});function Pt(e){return l.Create({"~kind":"Number"},{type:"number"},e)}function Me(e){return C(e,"Number")}var Ri,dt=m(()=>{v();B();Ri="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function Yr(e){return l.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Xn(e){return C(e,"Symbol")}var Tr=m(()=>{v();B()});function Er(...e){let[t,n,r]=bn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,He(),He()]});return l.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function $g(e){return C(e,"Parameter")}var op=m(()=>{zr();v();B();Qe()});function Ht(e){return l.Create({"~kind":"String"},{type:"string"},e)}function ft(e){return C(e,"String")}var Oi,Vt=m(()=>{v();B();Oi=".*"});function V(e,t={}){return l.Create({"~kind":"Union"},{anyOf:e},t)}function L(e){return C(e,"Union")}function wg(e){return l.Discard(e,["~kind","anyOf"])}var J=m(()=>{v();B()});function ns(e){let t=kg(e);return u.IsEqual(t.length,2)?t[0]:[]}var rs=m(()=>{R();Mi()});function LA(e){return!0}function Tg(e){return u.ShiftLeft(e,(t,n)=>FA(t)?Tg(n):!1,()=>!0)}function Eg(e){return u.IsEqual(e.length,0)?!1:Tg(e)}function FA(e){return L(e)?Eg(e.anyOf):ue(e)?LA(e.const):!1}function Ci(e){return Eg(e)}var Li=m(()=>{R();Oe();J()});function Fi(e){return l.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var ji=m(()=>{v()});function vg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>vg(o,t,[...n,`${r}${t}`]),()=>n)}function jA(e,t){return u.IsEqual(e.length,0)?[`${t}`]:vg(e,t)}function Sg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Sg(e,o,[...n,...Pg(e,r)]),()=>n)}function Pg(e,t){return L(t)?Sg(e,t.anyOf):ue(t)?jA(e,t.const):De()}function Ag(e,t){return u.ShiftLeft(t,(n,r)=>Ag(Pg(e,n),r),()=>e)}function DA(e){return e.map(t=>ee(t))}function NA(e){let t=Ag([],e),n=DA(t);return V(n)}function qA(e){return u.IsEqual(e.length,0)?De():u.IsEqual(e.length,1)&&ue(e[0])?e[0]:NA(e)}function sp(e){let t=ns(e);return u.IsEqual(t.length,0)?Ht():Ci(t)?qA(t):Fi(e)}function Rg(e){let t=sp(e);return Se(t)?Ht():t}var Di=m(()=>{R();In();Oe();Vt();wt();J();rs();Li();ji()});function kt(e,t){let n="object",r={[e]:t};return l.Create({"~kind":"Record"},{type:n,patternProperties:r})}var Zn=m(()=>{v()});function Og(e){return kt(on,e)}var Mg=m(()=>{Ve();Zn()});function Cg(e){return K({true:e,false:e})}var Lg=m(()=>{ce()});function Ce(e,t={}){let[n,r,o]=[e,e.length,!1];return l.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function ge(e){return C(e,"Tuple")}function Fg(e){return l.Discard(e,["~kind","type","items","minItems","additionalItems"])}var Ne=m(()=>{v();B()});function _A(e){return l.Discard(e,["~readonly"])}function ip(e,t){return l.Update(_A(e),{},t)}function jg(e,t,n,r){let o=k(e,t,n);return ip(o,r)}var ap=m(()=>{v();N()});function Dg(e,t={}){return j("RemoveReadonly",[e],t)}function Ng(e,t={}){return ip(e,t)}var mp=m(()=>{se();ap()});function UA(e){return l.Discard(e,["~optional"])}function up(e,t){return l.Update(UA(e),{},t)}function qg(e,t,n,r){let o=k(e,t,n);return up(o,r)}var pp=m(()=>{v();N()});function _g(e,t={}){return j("RemoveOptional",[e],t)}function Ni(e,t={}){return up(e,t)}var qi=m(()=>{se();pp()});function cp(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function Ug(e){let t=cp(e.items);return K(t)}var lp=m(()=>{ce()});function dp(e){return me(e)||ge(e)}function KA(e,t){return $r(e)?!!$r(t):!1}function GA(e,t){return ot(e)?!!ot(t):!1}function WA(e,t){let n=KA(e,t),r=GA(e,t),o=we([e,t]),s=Ng(Ni(o));return n&&r?Ir(xr(s)):n&&!r?Ir(s):!n&&r?xr(s):s}function zA(e,t,n){return n in e?n in t?WA(e[n],t[n]):e[n]:n in t?t[n]:le()}function BA(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:zA(e,t,s)}),{})}function Kg(e){return me(e)?e.properties:ge(e)?cp(e.items):{}}function Gg(e,t){let n=Kg(e),r=Kg(t),o=BA(n,r);return K(o)}var fp=m(()=>{R();Qo();Jn();ce();Be();Ne();Zo();zo();mp();qi();lp();H()});function HA(e,t){let n=is(e,t);return u.IsEqual(n,ss)?e:u.IsEqual(n,_i)||u.IsEqual(n,os)?t:le()}function VA(e,t){let n=dp(e),r=dp(t);return n&&r?Gg(e,t):n&&!r?e:!n&&r?t:HA(e,t)}function Wg(e,t){return nn(e)||Te(e)?e:Ae(e)||nn(t)||Te(t)?t:Ae(t)?e:VA(e,t)}var gp=m(()=>{R();bt();Be();Qe();as();fp()});function JA(e,t){return L(e)||L(t)}function YA(e,t){let n=Jt(e),r=Jt(t);return JA(n,r)?we([n,r]):Wg(n,r)}function zg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>zg(e,o,[...n,YA(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function Bg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Bg(o,t,[...n,...ms([r],t)]),()=>n)}function ms(e,t=[]){return u.ShiftLeft(e,(n,r)=>L(n)?ms(r,Bg(n.anyOf,t)):ms(r,zg(n,t)),()=>t)}var xp=m(()=>{R();J();gp();H();H()});function XA(e,t){let n=nt({},e,t);return G.IsExtendsTrueLike(n)?[]:[e]}function Hg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Hg(o,t,[...n,...XA(r,t)]),()=>n)}function Ui(e,t){let n=Jt(e),r=L(n)?n.anyOf:[n],o=Hg(r,t);return Tt(o)}var hp=m(()=>{R();J();Tn();H();H()});function sn(e,t,n){let r=we([e,t]),o=Ui(n,e);return Tt([r,o])}function gt(e,t=[]){return u.ShiftLeft(e,(n,r)=>gt(r,[...t,ee(n)]),()=>Tt(t))}function we(e){let t=ms(e),n=yp(t);return Tt(n)}function st(e){let t=Rg(e);return Jt(t)}function Tt(e){let t=yp(e);return Qn(t)}function Jt(e){return ve(e)?sn(e.if,e.then,e.else):tt(e)?gt(e.enum):Q(e)?we(e.allOf):Se(e)?st(e.pattern):L(e)?Tt(e.anyOf):e}function Qn(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?le():V(e)}var H=m(()=>{R();St();rn();je();Oe();Be();wt();J();xp();bp();hp();Di()});function Vg(e,t){let n=gt(e);return er(n,t)}var Jg=m(()=>{us();H()});function Yg(e,t){return kt(tr,t)}var Xg=m(()=>{Ve();Zn()});function Zg(e,t){let n=we(e);return er(n,t)}var Qg=m(()=>{H();us()});function ex(e,t){return u.IsString(e)||u.IsNumber(e)?K({[e]:t}):u.IsEqual(e,!1)?K({false:t}):u.IsEqual(e,!0)?K({true:t}):K({})}var tx=m(()=>{R();ce()});function nx(e,t){return kt(Xr,t)}var rx=m(()=>{Ve();Zn()});function ox(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?kt(e.pattern.toString(),t):kt(on,t)}var sx=m(()=>{R();Ve();Zn()});function ix(e,t){let n=ns(e);return Ci(n)?er(st(e),t):kt(e,t)}var ax=m(()=>{us();rs();Li();H();Zn()});function ZA(e){return L(e)?Zr(e.anyOf):[e]}function Zr(e,t=[]){return u.ShiftLeft(e,(n,r)=>Zr(r,[...t,...ZA(n)]),()=>t)}var Ki=m(()=>{R();J()});function QA(e){return e.some(t=>ft(t)||Me(t)||lt(t))}function eR(e,t){return u.IsEqual(QA(e),!0)?kt(on,t):void 0}function tR(e,t){return e.reduce((n,r)=>ue(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function nR(e,t){let n=tR(e,t);return K(n)}function mx(e,t){let n=Zr(e),r=eR(n,t);return Fe(r)?r:nR(n,t)}var ux=m(()=>{R();B();Oe();dt();kn();ce();Vt();Ve();Ki();Zn()});function er(e,t){return Te(e)?Og(t):Bt(e)?Cg(t):tt(e)?Vg(e.enum,t):lt(e)?Yg(e,t):Q(e)?Zg(e.allOf,t):ue(e)?ex(e.const,t):Me(e)?nx(e,t):L(e)?mx(e.anyOf,t):ft(e)?ox(e,t):Se(e)?ix(e.pattern,t):K({})}var us=m(()=>{bt();Yn();rn();je();kn();Oe();dt();ce();Vt();wt();J();Mg();Lg();Jg();Xg();Qg();tx();rx();sx();ax();ux()});function Ip(e,t,n){return z([e])?l.Update(er(e,t),{},n):Wi(e,t,n)}function px(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Ip(s,a,o)}var Gi=m(()=>{v();Ve();us();N()});function Wi(e,t,n={}){return j("Record",[e,t],n)}function zi(e,t,n={}){return Ip(e,t,n)}function cx(e,t){return kt(e,t)}function Bi(e){return u.IsEqual(e,on)?Ht():u.IsEqual(e,tr)?kr():u.IsEqual(e,Xr)?Pt():sp(e)}function Yt(e){return u.Keys(e.patternProperties)[0]}function Qr(e){let t=Yt(e);return Bi(t)}function xt(e){return e.patternProperties[Yt(e)]}function rt(e){return C(e,"Record")}var tr,Xr,on,Ve=m(()=>{v();R();B();kn();dt();Vt();se();Di();Zn();Gi();tr=`^${Pi}$`,Xr=`^${Ri}$`,on=`^${Oi}$`});function vr(e){return l.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function nr(e){return C(e,"Rest")}var eo=m(()=>{v();B()});var lx=m(()=>{});function Hi(e){return l.Create({"~kind":"This"},{$ref:"#"},e)}function Vi(e){return C(e,"This")}var Ji=m(()=>{v();B()});function to(e){return l.Create({"~kind":"Undefined"},{type:"undefined"},e)}function no(e){return C(e,"Undefined")}var ro=m(()=>{v();B()});function Yi(e){return l.Create({"~kind":"Void"},{type:"void"},e)}function En(e){return C(e,"Void")}var Sr=m(()=>{v();B()});var Xi=m(()=>{Qu();Yo();Jn();Qo();tp();bt();ct();wr();Yn();oo();Kt();It();se();rn();Gt();Wo();np();St();zt();kn();je();Oe();Be();Jr();dt();Qe();Tr();ce();op();hr();Ve();Wt();eo();B();lx();Vt();Tr();wt();Ji();Ne();ro();J();Qe();ki();Sr()});function oR(e,t){return u.IsEqual(e,"Array")?Ft(t[0]):u.IsEqual(e,"Capitalize")?Qi(t[0]):u.IsEqual(e,"ConstructorParameters")?oa(t[0]):u.IsEqual(e,"Evaluate")?fy(t[0]):u.IsEqual(e,"Exclude")?sa(t[0],t[1]):u.IsEqual(e,"Extract")?ia(t[0],t[1]):u.IsEqual(e,"Index")?ds(t[0],t[1]):u.IsEqual(e,"InstanceType")?aa(t[0]):u.IsEqual(e,"Lowercase")?ea(t[0]):u.IsEqual(e,"NonNullable")?ma(t[0]):u.IsEqual(e,"Omit")?ua(t[0],t[1]):u.IsEqual(e,"Parameters")?pa(t[0]):u.IsEqual(e,"Partial")?ca(t[0]):u.IsEqual(e,"Pick")?la(t[0],t[1]):u.IsEqual(e,"Readonly")?da(t[0]):u.IsEqual(e,"KeyOf")?fs(t[0]):u.IsEqual(e,"Record")?Wi(t[0],t[1]):u.IsEqual(e,"Required")?fa(t[0]):u.IsEqual(e,"ReturnType")?ga(t[0]):u.IsEqual(e,"Uncapitalize")?ta(t[0]):u.IsEqual(e,"Uppercase")?na(t[0]):ls(jn(e),t)}function Pr(){throw Error("Unreachable")}function hx(e,t=[]){return u.ShiftLeft(e,(n,r)=>hx(r,[...t,n[1]]),()=>t)}function Dn(e){return u.IsEqual(e.length,3)?[e[0],...hx(e[1])]:[]}function yx(e){return Er(e[0],e[2],e[4])}function bx(e){return Er(e[0],e[2],e[2])}function Ix(e){return Er(e[0],He(),e[2])}function $x(e){return Er(e,He(),He())}function wx(e){return Dn(e)}function kx(e){return e[1]}function Tx(e){return Dn(e)}function Ex(e){return e[1]}function vx(e){return oR(e[0],e[1])}function Sx(e){return null}function Px(e){return Ht()}function Ax(e){return Pt()}function Rx(e){return Si()}function Ox(e){return to()}function Mx(e){return Hr()}function Cx(e){return kr()}function Lx(e){return es()}function Fx(e){return He()}function jx(e){return Wr()}function Dx(e){return K({})}function Nx(e){return le()}function qx(e){return Yr()}function _x(e){return Yi()}function Ux(e){return Hi()}function Kx(e){return ee(BigInt(e))}function Gx(e){return ee(u.IsEqual(e,"true"))}function Wx(e){return ee(parseFloat(e))}function zx(e){return ee(e)}function Bx(e){return e[1]}function Hx(e){return ee(e)}function Vx(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function Jx(e){return e[1]}function Yx(e){return Zi(e)}function Xx(e){return u.IsEqual(e.length,6)?yr(e[1],e[3],e[5]):yr(e[1],e[3],He())}function Zx(e){return e.length>0}function Qx(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function eh(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function th(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function nh(e){return u.IsEqual(e.length,2)?e[1]:[]}function dx(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?ds(n,o[0]):u.IsEqual(o.length,0)?Ft(n):Pr()},e)}function fx(e,t){return u.IsEqual(t.length,3)?ra(e,t[0],t[1],t[2]):e}function sR(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:xa(e,t)}function rh(e){let[t,n,r,o,s]=e;return sR(fx(t?fs(dx(n,r)):dx(n,r),o),s)}function $p(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=$p(r,o);if(u.IsEqual(n,"&"))return Q(s)?$t([e,...s.allOf]):$t([e,s]);if(u.IsEqual(n,"|"))return L(s)?V([e,...s.anyOf]):V([e,s]);Pr()})():e}function oh(e){let[t,n]=e;return $p(t,n)}function sh(e){let[t,n]=e;return $p(t,n)}function ih(e){return dy(e[1])}function ah(e){return e[1]}function mh(e){return Vn(e[0],e[2])}function uh(e){return u.IsEqual(e.length,4)?Bo(e[1],e[3]):u.IsEqual(e.length,2)?Bo(e[1],He()):Pr()}function ph(e){return`${e}`}function ch(e){return lt(e[3])?tr:Me(e[3])?Xr:Xn(e[3])?on:ft(e[3])?on:Pr()}function lh(e){return e.length>0}function dh(e){return e.length>0}function fh(e){let[t,n,r,o,s]=e;return{[n]:t&&r?$n(hn(s)):t&&!r?$n(s):!t&&r?hn(s):s}}function gh(e){return Dn(e)}function xh(e){return e.reduce((t,n)=>u.HasPropertyKey(n,tr)||u.HasPropertyKey(n,Xr)||u.HasPropertyKey(n,on)?[t[0],l.Assign(t[1],n)]:[l.Assign(t[0],n),t[1]],[{},{}])}function hh(e){return xh(e[1])}function yh(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return K(t,r)}function bh(e){return u.IsEqual(e.length,5)?$n(hn(e[4])):u.IsEqual(e.length,3)?e[2]:u.IsEqual(e.length,4)?u.IsEqual(e[2],"readonly")?$n(e[3]):hn(e[3]):Pr()}function Ih(e){if(!u.IsArray(e)||!u.IsEqual(e.length,3))return e;let[t,n,r]=e;return t&&r?$n(hn(n)):t&&!r?$n(n):!t&&r?hn(n):n}function $h(e){return u.IsEqual(e.length,2)?vr(e[1]):u.IsEqual(e.length,1)?e[0]:Pr()}function wh(e){return Dn(e)}function kh(e){return Ce(e[1])}function Th(e){return $n(hn(e[4]))}function Eh(e){return $n(e[3])}function vh(e){return hn(e[3])}function Sh(e){return e[2]}function Ph(e){return u.IsEqual(e.length,2)?vr(e[1]):u.IsEqual(e.length,1)?e[0]:Pr()}function Ah(e){return Dn(e)}function Rh(e){return xn(e[1],e[4])}function Oh(e){return gn(e[2],e[5])}function gx(e,t){return u.IsEqual(e,"remove")?Dg(t):u.IsEqual(e,"add")?$n(t):t}function Mh(e){return u.IsEqual(e.length,2)&&u.IsEqual(e[0],"-")?"remove":u.IsEqual(e.length,2)&&u.IsEqual(e[0],"+")||u.IsEqual(e.length,1)?"add":"none"}function xx(e,t){return u.IsEqual(e,"remove")?_g(t):u.IsEqual(e,"add")?hn(t):t}function Ch(e){return u.IsEqual(e.length,2)&&u.IsEqual(e[0],"-")?"remove":u.IsEqual(e.length,2)&&u.IsEqual(e[0],"+")||u.IsEqual(e.length,1)?"add":"none"}function Lh(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function Fh(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?ps(ts(e[3]),e[5],e[6][0],gx(e[1],xx(e[8],e[10]))):ps(ts(e[3]),e[5],jn(e[3]),gx(e[1],xx(e[8],e[10])))}function jh(e){return jn(e)}function Dh(e){return BigInt(e)}function Nh(e){return parseFloat(e)}function qh(e){return u.IsEqual(e,"true")}function _h(e){return null}function Uh(e){return{[e[0]]:e[2]}}function Kh(e){return Dn(e)}function iR(e){return e.reduce((t,n)=>l.Assign(t,n),{})}function Gh(e){return iR(e[1])}function Wh(e){return Dn(e)}function zh(e){return e[1]}function Bh(e){return es()}function Hh(e){return Ht()}function Vh(e){return Pt()}function Jh(e){return kr()}function Yh(e){return le()}function Xh(e){return ee(e)}function Zh(e){return V(e[1])}function Qh(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function ey(e){return[e[0],...e[1]]}function ty(e){return e[1]}function ny(e){return Dn(e)}function ry(e){return u.IsEqual(e.length,2)?e[1]:[]}function oy(e){let t=e[2],n=e[3],[r,o]=e[4],s=u.IsEqual(u.Keys(o).length,0)?{}:{patternProperties:o};return{[e[1]]:Vn(t,cs(n,r,s))}}function sy(e){let t=e[2],[n,r]=e[3],o=u.IsEqual(u.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:cs(t,n,o)}}function iy(e){return{[e[1]]:Vn(e[2],e[4])}}function ay(e){return{[e[1]]:e[3]}}function my(e){return null}function uy(e){return Dn(e)}function py(e){return e[1]}function cy(e){let[t,n]=[e[0],e[1]];return gy(l.Assign(t,xh(n)[0]))}var ly=m(()=>{v();R();Xi();so()});var Nn=m(()=>{Kr()});function gs(e){return re(e.length,2)}function Y(e,t,n){return gs(e)?t(e[0],e[1]):n()}var At=m(()=>{Nn()});function uR(e,t){return re(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Ee(e,t){for(let n=0;n<e.length;n++){let r=uR(e[n],t);if(gs(r))return r}return[]}var vn=m(()=>{At();Nn()});function wp(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var xy,kp,Tp,io,hy,ao,rr,ha,yy,ya,it=m(()=>{xy=[...wp(97,122),...wp(65,90)],kp="0",Tp=wp(49,57),io=[kp,...Tp],hy=" ",ao=`
12
- `,rr="_",ha=".",yy="$",ya="-"});function $y(e){let t=e.indexOf(cR);return re(t,-1)?"":e.slice(t+2)}function wy(e){let t=e.indexOf(ao);return re(t,-1)?"":e.slice(t)}function lR(e){return e.replace(/^[ \t\r\f\v]+/,"")}function ba(e){let t=lR(e);return t.startsWith(Iy)?ba($y(t.slice(2))):t.startsWith(by)?ba(wy(t.slice(2))):t}function Je(e){let t=e.trimStart();return t.startsWith(Iy)?Je($y(t.slice(2))):t.startsWith(by)?Je(wy(t.slice(2))):t}var by,Iy,cR,Sn=m(()=>{Nn();it();by="//",Iy="/*",cR="*/"});function Ia(e,t){return Y(Ee([e],t),(n,r)=>[n,r],()=>["",t])}var Ep=m(()=>{At();vn()});function dR(e,t){return e.includes(t)}function mo(e,t,n,r=""){return Y(Ee(e,n),(o,s)=>dR(t,o)?mo(e,t,s,r):mo(e,t,s,`${r}${o}`),()=>[r,n])}var vp=m(()=>{At();vn()});function fR(e){return Ee(Tp,e)}function xR(e){return mo(gR,[rr],e)}function hR(e){return Y(Ee([kp],e),(t,n)=>[t,n],()=>Y(fR(e),(t,n)=>Y(xR(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function $a(e){return hR(Je(e))}var gR,wa=m(()=>{At();Sn();vn();vp();it();it();it();it();gR=[...io,rr]});function yR(e){return Ia(ya,e)}function bR(e){return Y(yR(e),(t,n)=>Y($a(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ky(e){return bR(Je(e))}var Sp=m(()=>{At();Sn();Ep();it();wa()});function IR(e){return Y(ky(e),(t,n)=>Y(Ee(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function Pp(e){return IR(e)}var Ty=m(()=>{At();vn();Sp()});function Ap(e,t){return Ee([e],t)}function f(e,t){return re(e,"")?["",t]:e.startsWith(ao)?Ap(e,ba(t)):e.startsWith(hy)?Ap(e,t):Ap(e,Je(t))}var Ey=m(()=>{Nn();Sn();Sn();vn();it();it()});function $R(e){return Ee(vy,e)}function Sy(e,t=""){return Y(Ee(wR,e),(n,r)=>Sy(r,`${t}${n}`),()=>[t,e])}function kR(e){return Y($R(e),(t,n)=>Y(Sy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Pe(e){return kR(Je(e))}var vy,wR,Py=m(()=>{At();Sn();vn();it();it();it();it();vy=[...xy,rr,yy];wR=[...vy,...io]});function ER(e){return gs(Ee([ha],e))}function Ay(e){return Y(mo(TR,[rr],e),(t,n)=>re(t,"")?[]:[t,n],()=>[])}function vR(e){return Y(Ee([ha],e),(t,n)=>Y(Ay(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function SR(e){return Y($a(e),(t,n)=>Y(Ee([ha],n),(r,o)=>Y(Ay(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function PR(e){return ER(e)?vR(e):SR(e)}function Ry(e){return PR(Je(e))}var TR,Rp=m(()=>{Nn();At();Sn();vn();vp();it();it();wa();TR=[...io,rr]});function AR(e){return Ia(ya,e)}function RR(e){return Y(AR(e),(t,n)=>Y(Ry(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ka(e){return RR(Je(e))}var Oy=m(()=>{At();Sn();Ep();it();Rp()});var My=m(()=>{Nn()});function OR(e){return re(e,"")?[]:[e.slice(0,1),e.slice(1)]}function Cy(e,t){return gi(e,(n,r)=>t.startsWith(n)?!0:Cy(r,t),()=>!1)}function or(e,t,n=""){return Y(OR(t),(r,o)=>Cy(e,t)?[n,t]:or(e,o,`${n}${r}`),()=>[])}var Ta=m(()=>{At();Nn()});function MR(e,t,n){return Y(Ee([e],n),(r,o)=>Y(or([t],o),(s,a)=>Y(Ee([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function CR(e,t,n){return Y(Ee([e],n),(r,o)=>Y(or([ao,t],o),(s,a)=>Y(Ee([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function Ly(e,t,n,r){return n?MR(e,t,Je(r)):CR(e,t,Je(r))}var Op=m(()=>{At();Sn();it();vn();Ta()});function LR(e,t){return Ee(e,t)}function FR(e,t){return Ly(e,e,!1,t)}function jR(e,t){return Y(LR(e,t),(n,r)=>FR(n,`${n}${r}`),()=>[])}function Ea(e,t){return jR(e,Je(t))}var Fy=m(()=>{At();vn();Sn();Op()});function jy(e,t){return Y(or(e,t),(n,r)=>re(n,"")?[]:[n,r],()=>[])}var Dy=m(()=>{Nn();At();Ta()});var Ny=m(()=>{Ty();Ey();Py();Sp();Oy();My();Op();Fy();wa();Rp();Dy();Ta()});var i,NR,qR,_R,UR,Uy,Ky,KR,Lp,Gy,GR,WR,zR,Wy,zy,By,BR,HR,VR,Hy,JR,YR,XR,ZR,QR,Vy,eO,tO,nO,Mp,Jy,Fp,rO,oO,sO,iO,aO,mO,uO,Yy,pO,cO,lO,dO,Xy,Zy,Qy,eb,va,fO,gO,xO,hO,oe,yO,bO,IO,$O,tb,nb,rb,ob,Sa,sb,wO,jp,kO,TO,qy,ib,ab,EO,vO,SO,PO,AO,RO,_y,mb,ub,pb,OO,MO,CO,LO,FO,jO,DO,NO,qO,_O,UO,KO,GO,cb,lb,WO,db,fb,zO,BO,Dp,HO,VO,JO,YO,XO,ZO,QO,eM,gb,Cp,Np,kg,xb,tM,hb,nM,rM,oM,sM,iM,yb,bb,aM,qp,mM,Ib,Mi=m(()=>{ly();Ny();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),NR=e=>i(i(Pe(e),([t,n])=>i(f("extends",n),([r,o])=>i(oe(o),([s,a])=>i(f("=",a),([p,c])=>i(oe(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[yx(t),n]),qR=e=>i(i(Pe(e),([t,n])=>i(f("extends",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[bx(t),n]),_R=e=>i(i(Pe(e),([t,n])=>i(f("=",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ix(t),n]),UR=e=>i(Pe(e),([t,n])=>[$x(t),n]),Uy=e=>i(i(NR(e),([t,n])=>[t,n],()=>i(qR(e),([t,n])=>[t,n],()=>i(_R(e),([t,n])=>[t,n],()=>i(UR(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Ky=(e,t=[])=>i(i(f(",",e),([n,r])=>i(Uy(r),([o,s])=>[[n,o],s])),([n,r])=>Ky(r,[...t,n]),()=>[t,e]),KR=e=>i(i(i(Uy(e),([t,n])=>i(Ky(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[wx(t),n]),Lp=e=>i(i(f("<",e),([t,n])=>i(KR(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[kx(t),n]),Gy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(oe(r),([o,s])=>[[n,o],s])),([n,r])=>Gy(r,[...t,n]),()=>[t,e]),GR=e=>i(i(i(oe(e),([t,n])=>i(Gy(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Tx(t),n]),WR=e=>i(i(f("<",e),([t,n])=>i(GR(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ex(t),n]),zR=e=>i(i(Pe(e),([t,n])=>i(WR(n),([r,o])=>[[t,r],o])),([t,n])=>[vx(t),n]),Wy=e=>i(i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Sx(t),n]),zy=e=>i(f("string",e),([t,n])=>[Px(t),n]),By=e=>i(f("number",e),([t,n])=>[Ax(t),n]),BR=e=>i(f("boolean",e),([t,n])=>[Rx(t),n]),HR=e=>i(f("undefined",e),([t,n])=>[Ox(t),n]),VR=e=>i(f("null",e),([t,n])=>[Mx(t),n]),Hy=e=>i(f("integer",e),([t,n])=>[Cx(t),n]),JR=e=>i(f("bigint",e),([t,n])=>[Lx(t),n]),YR=e=>i(f("unknown",e),([t,n])=>[Fx(t),n]),XR=e=>i(f("any",e),([t,n])=>[jx(t),n]),ZR=e=>i(f("object",e),([t,n])=>[Dx(t),n]),QR=e=>i(f("never",e),([t,n])=>[Nx(t),n]),Vy=e=>i(f("symbol",e),([t,n])=>[qx(t),n]),eO=e=>i(f("void",e),([t,n])=>[_x(t),n]),tO=e=>i(f("this",e),([t,n])=>[Ux(t),n]),nO=e=>i(i(f("${",e),([t,n])=>i(oe(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Bx(t),n]),Mp=e=>i(or(["${","`"],e),([t,n])=>[Hx(t),n]),Jy=e=>i(i(i(Mp(e),([t,n])=>i(nO(n),([r,o])=>i(Jy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Mp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(Mp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Vx(t),n]),Fp=e=>i(i(f("`",e),([t,n])=>i(Jy(n),([r,o])=>i(f("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Jx(t),n]),rO=e=>i(Fp(e),([t,n])=>[Yx(t),n]),oO=e=>i(i(i(f("if",e),([t,n])=>i(oe(n),([r,o])=>i(f("then",o),([s,a])=>i(oe(a),([p,c])=>i(f("else",c),([h,$])=>i(oe($),([T,M])=>[[t,r,s,p,h,T],M])))))),([t,n])=>[t,n],()=>i(i(f("if",e),([t,n])=>i(oe(n),([r,o])=>i(f("then",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Xx(t),n]),sO=e=>i(Pp(e),([t,n])=>[Kx(t),n]),iO=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[Gx(t),n]),aO=e=>i(ka(e),([t,n])=>[Wx(t),n]),mO=e=>i(Ea(["'",'"'],e),([t,n])=>[zx(t),n]),uO=e=>i(i(i(f("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Zx(t),n]),Yy=(e,t=[])=>i(i(i(f("[",e),([n,r])=>i(oe(r),([o,s])=>i(f("]",s),([a,p])=>[[n,o,a],p]))),([n,r])=>[n,r],()=>i(i(f("[",e),([n,r])=>i(f("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>Yy(r,[...t,n]),()=>[t,e]),pO=e=>i(Yy(e),([t,n])=>[Qx(t),n]),cO=e=>i(i(i(f("extends",e),([t,n])=>i(oe(n),([r,o])=>i(f("?",o),([s,a])=>i(oe(a),([p,c])=>i(f(":",c),([h,$])=>i(oe($),([T,M])=>[[t,r,s,p,h,T],M])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[eh(t),n]),lO=e=>i(i(i(f("(",e),([t,n])=>i(oe(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(zy(e),([t,n])=>[t,n],()=>i(By(e),([t,n])=>[t,n],()=>i(BR(e),([t,n])=>[t,n],()=>i(HR(e),([t,n])=>[t,n],()=>i(VR(e),([t,n])=>[t,n],()=>i(Hy(e),([t,n])=>[t,n],()=>i(JR(e),([t,n])=>[t,n],()=>i(YR(e),([t,n])=>[t,n],()=>i(XR(e),([t,n])=>[t,n],()=>i(ZR(e),([t,n])=>[t,n],()=>i(QR(e),([t,n])=>[t,n],()=>i(Vy(e),([t,n])=>[t,n],()=>i(eO(e),([t,n])=>[t,n],()=>i(tO(e),([t,n])=>[t,n],()=>i(sO(e),([t,n])=>[t,n],()=>i(iO(e),([t,n])=>[t,n],()=>i(aO(e),([t,n])=>[t,n],()=>i(mO(e),([t,n])=>[t,n],()=>i(rO(e),([t,n])=>[t,n],()=>i(oO(e),([t,n])=>[t,n],()=>i(kO(e),([t,n])=>[t,n],()=>i(vO(e),([t,n])=>[t,n],()=>i(MO(e),([t,n])=>[t,n],()=>i(OO(e),([t,n])=>[t,n],()=>i(jO(e),([t,n])=>[t,n],()=>i(zR(e),([t,n])=>[t,n],()=>i(DO(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[th(t),n]),dO=e=>i(i(i(f("with",e),([t,n])=>i(db(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[nh(t),n]),Xy=e=>i(i(uO(e),([t,n])=>i(lO(n),([r,o])=>i(pO(o),([s,a])=>i(cO(a),([p,c])=>i(dO(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[rh(t),n]),Zy=e=>i(i(i(f("&",e),([t,n])=>i(Xy(n),([r,o])=>i(Zy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Qy=e=>i(i(Xy(e),([t,n])=>i(Zy(n),([r,o])=>[[t,r],o])),([t,n])=>[oh(t),n]),eb=e=>i(i(i(f("|",e),([t,n])=>i(Qy(n),([r,o])=>i(eb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),va=e=>i(i(Qy(e),([t,n])=>i(eb(n),([r,o])=>[[t,r],o])),([t,n])=>[sh(t),n]),fO=e=>i(i(f("readonly",e),([t,n])=>i(va(n),([r,o])=>[[t,r],o])),([t,n])=>[ih(t),n]),gO=e=>i(i(f("|",e),([t,n])=>i(va(n),([r,o])=>[[t,r],o])),([t,n])=>[ah(t),n]),xO=e=>i(i(Lp(e),([t,n])=>i(f("=",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[mh(t),n]),hO=e=>i(i(i(f("infer",e),([t,n])=>i(Pe(n),([r,o])=>i(f("extends",o),([s,a])=>i(va(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(f("infer",e),([t,n])=>i(Pe(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[uh(t),n]),oe=e=>i(i(hO(e),([t,n])=>[t,n],()=>i(gO(e),([t,n])=>[t,n],()=>i(fO(e),([t,n])=>[t,n],()=>i(va(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),yO=e=>i(ka(e),([t,n])=>[ph(t),n]),bO=e=>i(Pe(e),([t,n])=>[t,n]),IO=e=>i(Ea(["'",'"'],e),([t,n])=>[t,n]),$O=e=>i(i(f("[",e),([t,n])=>i(Pe(n),([r,o])=>i(f(":",o),([s,a])=>i(i(Hy(a),([p,c])=>[p,c],()=>i(By(a),([p,c])=>[p,c],()=>i(zy(a),([p,c])=>[p,c],()=>i(Vy(a),([p,c])=>[p,c],()=>[])))),([p,c])=>i(f("]",c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[ch(t),n]),tb=e=>i(i(yO(e),([t,n])=>[t,n],()=>i(bO(e),([t,n])=>[t,n],()=>i(IO(e),([t,n])=>[t,n],()=>i($O(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),nb=e=>i(i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[lh(t),n]),rb=e=>i(i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[dh(t),n]),ob=e=>i(i(nb(e),([t,n])=>i(tb(n),([r,o])=>i(rb(o),([s,a])=>i(f(":",a),([p,c])=>i(oe(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[fh(t),n]),Sa=e=>i(i(i(f(",",e),([t,n])=>i(f(`
10
+ </file>${a}`}catch{return n}})}var VS,ju=m(()=>{VS=64*1024});function YS(e){let t=new WeakSet,n=r=>{if(r===null||typeof r!="object")return r;if(t.has(r))return"[circular]";if(t.add(r),Array.isArray(r))return r.map(n);let o=r,s={};for(let a of Object.keys(o).sort())s[a]=n(o[a]);return s};try{return JSON.stringify(n(e))??""}catch{return""}}function cd(e,t){if(JS.has(e))return;let n=`${e}\0${YS(t)}`,r=Fo&&Fo.signature===n?Fo.count+1:1;return Fo={signature:n,count:r},r>=3?{repeats:r}:void 0}function ld(){Fo=void 0}function dd(e,t){return`Refused: ${e} has been called ${t} times in a row with identical arguments, so the last attempt cannot have changed anything. Do not repeat it. Either use different arguments, use a different tool, or stop and report what you found and what is blocking you.`}var JS,Fo,Du=m(()=>{JS=new Set(["think"])});function fd(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function ZS(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(XS.test(o)){let s=o.includes("="),[a="",...p]=o.split("="),c=n.safeFlags[a];if(!c)return!1;if(c==="none"){if(s)return!1;r++;continue}if(c==="optional"){r++;continue}if(s){if(!fd(p.join("="),c))return!1;r++;continue}let h=e[r+1];if(h===void 0||!fd(h,c))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function oP(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function sP(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function iP(e){let t=[],n=/'[^']*'|"[^"]*"|\S+/g;for(let r of e.match(n)??[])t.push(r.length>=2&&/^['"]/.test(r)?r.slice(1,-1):r);return t}function aP(e){if(e.length===0)return;let[t="",n=""]=e,r=`${t} ${n}`;if(t==="git"&&n==="config"){let o=e[2];return o==="--get"||o==="--get-all"||o==="--get-regexp"||o==="-l"||o==="--list"?{name:"git config --get",rest:e.slice(3)}:void 0}return t==="git"&&n==="stash"?e[2]==="list"?{name:"git stash list",rest:e.slice(3)}:void 0:t==="git"&&n==="worktree"?e[2]==="list"?{name:"git worktree list",rest:e.slice(3)}:void 0:t==="git"&&xd[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:hd[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function uP(e){let t=iP(e),n=aP(t);if(!n)return!1;let{name:r,rest:o}=n;if(mP.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let s=xd[r]??nP[r]??hd[r];return s?s.dangerous?.(o)?!1:ZS(o,0,s):!!(tP.includes(r)||rP.includes(r))}function pi(e){let t=oP(e);return!t||t.length===0||sP(t)?!1:t.every(uP)}var XS,QS,ai,mi,Nu,ui,qu,gd,eP,xd,tP,nP,hd,rP,mP,_u=m(()=>{XS=/^-[a-zA-Z0-9_-]/;QS={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},ai={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},mi={"--max-count":"number","-n":"number"},Nu={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},ui={"--color":"none","--no-color":"none"},qu={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},gd={"--author":"string","--committer":"string","--grep":"string"},eP={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},xd={"git status":{safeFlags:{"-s":"none","--short":"none","-b":"none","--branch":"none","-u":"optional","--untracked-files":"optional","--porcelain":"optional","--ignored":"none","--long":"none","--no-renames":"none",...ui}},"git diff":{safeFlags:{...Nu,...ui,...qu,"--cached":"none","--staged":"none","--word-diff":"none","--check":"none","--quiet":"none","--exit-code":"none","--no-renames":"none","--diff-filter":"string","--relative":"string","--full-index":"none","--binary":"none","--abbrev":"number","--unified":"number","-U":"number","--ignore-all-space":"none","--ignore-space-change":"none","--ignore-blank-lines":"none"}},"git log":{safeFlags:{...ai,...mi,...Nu,...ui,...qu,...gd,...QS,"--since":"string","--after":"string","--until":"string","--before":"string","--follow":"none","--no-merges":"none","--merges":"none","--first-parent":"none","--reverse":"none","--skip":"number","--all":"none","--format":"string","--pretty":"string","--abbrev-commit":"none","--no-abbrev-commit":"none","--left-right":"none"}},"git show":{safeFlags:{...Nu,...ui,...qu,...ai,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...mi,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...mi,...ai,...gd,"--all":"none","--date":"string"}},"git blame":{safeFlags:{"-L":"string","-w":"none","-c":"none","-n":"none","-s":"none","-e":"none","-p":"none","--porcelain":"none","--line-porcelain":"none","--date":"string","--since":"string","-C":"none","-M":"none"}},"git ls-files":{safeFlags:{"-m":"none","--modified":"none","-o":"none","--others":"none","-i":"none","--ignored":"none","-s":"none","--stage":"none","-d":"none","--deleted":"none","-c":"none","--cached":"none","-u":"none","--unmerged":"none","--exclude-standard":"none","--error-unmatch":"none","-z":"none"}},"git ls-remote":{safeFlags:{"--heads":"none","--tags":"none","--refs":"none","--symref":"none"}},"git rev-parse":{safeFlags:{"--short":"optional","--abbrev-ref":"none","--verify":"none","--quiet":"none","--git-dir":"none","--show-toplevel":"none","--show-cdup":"none","--is-inside-work-tree":"none","--is-bare-repository":"none","--symbolic-full-name":"none","--abbrev":"optional"}},"git rev-list":{safeFlags:{...mi,"--count":"none","--all":"none","--objects":"none","--reverse":"none","--max-parents":"number","--min-parents":"number","--no-merges":"none","--first-parent":"none","--abbrev-commit":"none"}},"git describe":{safeFlags:{"--tags":"none","--all":"none","--long":"none","--always":"none","--dirty":"none","--abbrev":"number","--match":"string","--exclude":"string","--first-parent":"none"}},"git cat-file":{safeFlags:{"-p":"none","-t":"none","-s":"none","-e":"none","--batch-check":"none"}},"git for-each-ref":{safeFlags:{"--format":"string","--count":"number","--sort":"string","--points-at":"string","--merged":"string","--no-merged":"string"}},"git grep":{safeFlags:{"-n":"none","--line-number":"none","-i":"none","--ignore-case":"none","-l":"none","--files-with-matches":"none","-c":"none","--count":"none","-w":"none","--word-regexp":"none","-E":"none","--extended-regexp":"none","-F":"none","--fixed-strings":"none","--cached":"none","--untracked":"none","-e":"string","--and":"none","--or":"none","--not":"none"}},"git merge-base":{safeFlags:{"--all":"none","--is-ancestor":"none","--fork-point":"none","--octopus":"none"}},"git stash list":{safeFlags:{...ai}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...eP,"--merged":"string","--no-merged":"string","--contains":"string","--no-contains":"string","--sort":"string","--format":"string","--points-at":"string","--column":"none"},dangerous:e=>{let t=new Set(["--merged","--no-merged","--contains","--no-contains","--sort","--format","--points-at"]),n=!1;for(let r of e){if(n){n=!1;continue}if(t.has(r)){n=!0;continue}if(!r.startsWith("-"))return!0}return!1}},"git tag":{safeFlags:{"-l":"none","--list":"none","-n":"number","--contains":"string","--no-contains":"string","--merged":"string","--sort":"string","--points-at":"string","--column":"none"},dangerous:e=>{let t=new Set(["--contains","--no-contains","--merged","--sort","--points-at"]),n=!1;for(let r of e){if(n){n=!1;continue}if(t.has(r)){n=!0;continue}if(!r.startsWith("-"))return!0}return!1}},"git remote":{safeFlags:{"-v":"none","--verbose":"none"},dangerous:e=>e.some(t=>!t.startsWith("-"))},"git config --get":{safeFlags:{"--local":"none","--global":"none","--system":"none","--get-all":"none","--get-regexp":"none","--list":"none","-l":"none","--show-origin":"none","--null":"none","-z":"none"}}},tP=["ls","pwd","cat","head","tail","wc","which","whoami","date","echo","sleep","true","false","type","test","seq","basename","dirname","realpath","stat","file","du","df","tree","uname","hostname","id","groups","tty","cal","uptime","free","locale","printf","grep","rg","fd","jq","bat","column","paste","nl","expand","fold","fmt"],nP={find:{safeFlags:{"-name":"string","-iname":"string","-type":"string","-maxdepth":"number","-mindepth":"number","-newer":"string","-path":"string","-not":"none","-print":"none","-print0":"none","-empty":"none","-size":"string","-mtime":"number","-atime":"number","-perm":"string","-L":"none","-H":"none","-P":"none"},dangerous:e=>e.some(t=>/^-(delete|exec|execdir|ok|okdir|fprint0?|fls|fprintf)$/.test(t))},sort:{safeFlags:{"-n":"none","-r":"none","-u":"none","-k":"string","-t":"string","-f":"none","-h":"none","-V":"none","-s":"none","-c":"none","-m":"none","-b":"none","-z":"none"}},uniq:{safeFlags:{"-c":"none","-d":"none","-u":"none","-i":"none","-f":"number","-s":"number","-w":"number"}},cut:{safeFlags:{"-d":"string","-f":"string","-c":"string","-b":"string","-s":"none","--complement":"none","-z":"none"}},tr:{safeFlags:{"-d":"none","-s":"none","-c":"none"}},node:{safeFlags:{"-v":"none","--version":"none"},allowPositional:!1},python:{safeFlags:{"--version":"none"},allowPositional:!1},python3:{safeFlags:{"--version":"none"},allowPositional:!1},npm:{safeFlags:{"--version":"none","-v":"none"},allowPositional:!1},sed:{safeFlags:{"-n":"none","--quiet":"none","-e":"string","-E":"none","-r":"none","--regexp-extended":"none","-s":"none","-u":"none","-z":"none","--posix":"none"},dangerous:e=>e.some(t=>/^-i|^--in-place/.test(t)||/\b[we]\s/.test(t)||/^[we]$/.test(t))},awk:{safeFlags:{"-F":"string","-v":"string","-f":"string"},dangerous:e=>e.some(t=>/\bsystem\s*\(|\|\s*"|>\s*"/.test(t))}},hd={"npm ls":{safeFlags:{"--depth":"number","--json":"none","--long":"none","--parseable":"none","--all":"none","--prod":"none","--dev":"none","--omit":"string","--link":"none","--global":"none","-g":"none","--silent":"none"}},"npm view":{safeFlags:{"--json":"none","--registry":"string"}},"docker ps":{safeFlags:{"-a":"none","--all":"none","-q":"none","--quiet":"none","--no-trunc":"none","--format":"string","-n":"number","--last":"number","-s":"none","--size":"none","--filter":"string"}},"docker images":{safeFlags:{"-a":"none","--all":"none","-q":"none","--quiet":"none","--no-trunc":"none","--format":"string","--filter":"string","--digests":"none"}},"docker inspect":{safeFlags:{"--format":"string","-f":"string","-s":"none","--size":"none","--type":"string"}},"kubectl get":{safeFlags:{"-o":"string","--output":"string","-n":"string","--namespace":"string","-A":"none","--all-namespaces":"none","--no-headers":"none","-l":"string","--selector":"string","--show-labels":"none","-w":"none","--watch":"none","--sort-by":"string"}},"kubectl describe":{safeFlags:{"-n":"string","--namespace":"string","-l":"string","--selector":"string"}},"cargo tree":{safeFlags:{"--depth":"number","-e":"string","--edges":"string","--no-dev-dependencies":"none","--prefix":"string","-i":"string","--invert":"string","-p":"string","--package":"string"}},"go version":{safeFlags:{}}},rP=["cd","alias","history","arch","ip addr","ifconfig"];mP=new Set(["echo","printf"])});var Td={};Lt(Td,{APPROVAL_LABELS:()=>ci,APPROVAL_MODES:()=>Ur,MODE_MAX_TIER:()=>yd,TIER_RANK:()=>Uu,createPermissionExtension:()=>jo,criticalCommand:()=>bd,decideToolCall:()=>$d,describeToolCall:()=>wd,formatApprovalPrompt:()=>kd,getApprovalMode:()=>dP,isApprovalMode:()=>pP,isReadOnlyCommand:()=>pi,resolveTier:()=>Ku,setApprovalMode:()=>Wu,setApprovalPrompt:()=>zu});function pP(e){return Ur.includes(e)}function Ku(e){let t=cP[e];return t||(e.startsWith("mcp__")?"write":"exec")}function bd(e){for(let{pattern:t,reason:n}of lP)if(t.test(e))return n}function Wu(e){Gu=e}function dP(){return Gu}function zu(e){Id=e}function $d(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=bd(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(pi(r))return{action:"run"}}let o=Ku(t);return Uu[o]<=Uu[yd[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function wd(e,t){if(t&&typeof t=="object"){let n=t;if((e==="bash"||e==="powershell")&&typeof n.command=="string")return n.command;if((e==="edit"||e==="write")&&typeof n.path=="string"){let r=Array.isArray(n.edits)?` (${n.edits.length} edits)`:"";return`${n.path}${r}`}try{let r=JSON.stringify(n);if(r&&r!=="{}")return r.length>300?`${r.slice(0,297)}...`:r}catch{}}return e}function kd(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=wd(e,t);return o!==e&&r.push(o),r.join(`
11
+ `)}function jo(e={}){return t=>{t.on("tool_call",async n=>{let r=cd(n.toolName,n.input);if(r)return{block:!0,reason:dd(n.toolName,r.repeats)};let o=Gu,s=$d(o,n.toolName,n.input);if(s.action==="run")return;if(s.action==="deny")return{block:!0,reason:s.reason};if(e.interactive===!1)return{block:!0,reason:`Blocked: this is a ${Ku(n.toolName)}-tier tool and no UI can approve it here (approval mode: ${o}).`};if(!await Id(`${n.toolName} wants to run`,kd(n.toolName,n.input,s.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${o}).`}})}}var Ur,ci,Uu,yd,cP,lP,Gu,Id,Do=m(()=>{Du();_u();_u();Ur=["suggest","auto-edit","full-auto"],ci={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Uu={read:0,write:1,exec:2},yd={suggest:"read","auto-edit":"write","full-auto":"exec"},cP={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};lP=[{pattern:/\brm\s+(?:-[a-zA-Z]+\s+)*(?:\/|\/\*|~|\$HOME)(?:\s|$)/,reason:"recursive delete of the filesystem root or home"},{pattern:/\bmkfs(?:\.[a-z0-9]+)?\b/,reason:"filesystem format"},{pattern:/\bdd\b[^|;]*\bof=\/dev\/(?:sd|nvme|hd|vd)/,reason:"raw write to a block device"},{pattern:/:\s*\(\s*\)\s*\{.*\}\s*;\s*:/,reason:"fork bomb"},{pattern:/>\s*\/etc\/(?:passwd|shadow|sudoers)/,reason:"overwrite of a system account file"},{pattern:/\b(?:shutdown|reboot|halt|poweroff)\b/,reason:"host shutdown"}];Gu="full-auto",Id=async()=>!1});function fP(e){return e.replace(/operating inside pi, a coding agent harness/gi,"operating as HowToFix, a coding agent harness").replace(/^Pi documentation \(read only when the user asks about[^\n]*\):?$/gim,"Harness documentation (internal reference; the user is never told the harness name):").replace(/\bpi itself\b/gi,"the harness itself").replace(/^- When reading pi docs or examples/m,"- When reading harness docs or examples").replace(/^- When working on pi topics/m,"- When working on harness topics").replace(/^- Always read pi \.md files/m,"- Always read the harness .md files").replace(/\bpi packages\b/gi,"harness packages").replace(/\bpi \.md files\b/gi,"harness .md files").replace(/\bpi docs\b/gi,"harness docs").replace(/^-\s*You can inspect PI_\* environment variables/m,"- You can inspect the harness's environment variables")}function xP(e){if(!e)return;let t=!1,n={...e};for(let r of gP){let o=n[r];if(typeof o!="string")continue;let s=fP(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function Ed(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=xP(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var gP,vd=m(()=>{gP=["preamble","rules","docs","addendum"]});import{Type as Kr}from"@earendil-works/pi-ai";import{defineTool as Sd}from"@earendil-works/pi-coding-agent";function Pd(e){Bu=e}var Bu,Ad,Rd,Hu=m(()=>{Ad=Sd({name:"think",label:"think",description:"Private scratchpad. The text is not shown to the user. Use it before a non-obvious step.",promptSnippet:"think: private notes, not shown to the user",parameters:Kr.Object({thoughts:Kr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),Rd=Sd({name:"ask",label:"ask",description:"Ask the user one question and wait for a selected answer. Use this instead of guessing when a choice blocks the task.",promptSnippet:"ask: ask the user to pick one option",parameters:Kr.Object({question:Kr.String(),options:Kr.Array(Kr.String(),{minItems:2})}),async execute(e,t){if(!Bu)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await Bu(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var en,fr=m(()=>{en={assign:0,create:0,clone:0,discard:0,update:0}});function gr(e,t,n){return e>=t&&e<=n}function Cd(e){return e===8205}function hP(e){return gr(e,55296,56319)}function Od(e){return gr(e,127462,127487)}function Ld(e){return gr(e,65024,65039)}function Fd(e){return gr(e,768,879)||gr(e,6832,6911)||gr(e,7616,7679)||gr(e,65056,65071)}function li(e){return e>65535?2:1}function Md(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Fd(n)||Ld(n))t+=li(n);else break}return t}function Vu(e,t){let n=e.codePointAt(t),r=t+li(n);for(r=Md(e,r);r<e.length-1&&Cd(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+li(o),r=Md(e,r)}return Od(n)&&r<e.length&&Od(e.codePointAt(r))&&(r+=li(e.codePointAt(r))),r}function jd(e){return e>=768&&(hP(e)||Fd(e)||Ld(e)||Cd(e))}function Dd(e){let t=0,n=0;for(;n<e.length;)n=Vu(e,n),t++;return t}function yP(e,t){let n=0,r=0;for(;r<e.length;)if(r=Vu(e,r),++n>=t)return!0;return!1}function bP(e,t){let n=0,r=0;for(;r<e.length;)if(r=Vu(e,r),++n>t)return!1;return!0}function Nd(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(jd(e.charCodeAt(n)))return yP(e,t);if(++n>=t)return!0}}function qd(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(jd(e.charCodeAt(n)))return bP(e,t);if(++n>t)return!1}}var _d=m(()=>{});var u={};Lt(u,{Counted:()=>FP,Entries:()=>NP,EntriesRegExp:()=>DP,Every:()=>OP,EveryAll:()=>MP,GraphemeCount:()=>PP,HasPropertyKey:()=>jP,IsArray:()=>qo,IsBigInt:()=>No,IsBoolean:()=>Ud,IsClassInstance:()=>SP,IsConstructor:()=>$P,IsDeepEqual:()=>Xu,IsEqual:()=>re,IsFunction:()=>Kd,IsGreaterEqualThan:()=>Wd,IsGreaterThan:()=>TP,IsInteger:()=>Ju,IsLessEqualThan:()=>Gd,IsLessThan:()=>EP,IsMaxLength:()=>AP,IsMinLength:()=>RP,IsMultipleOf:()=>vP,IsNull:()=>fi,IsNumber:()=>gi,IsObject:()=>_o,IsObjectNotArray:()=>wP,IsString:()=>xi,IsSymbol:()=>kP,IsUndefined:()=>Yu,IsUnsafePropertyKey:()=>Bd,IsValueLike:()=>zd,Keys:()=>di,ShiftLeft:()=>hi,Some:()=>CP,SomeAll:()=>LP,Symbols:()=>qP,Values:()=>_P});function qo(e){return Array.isArray(e)}function No(e){return re(typeof e,"bigint")}function Ud(e){return re(typeof e,"boolean")}function $P(e){if(Yu(e)||!Kd(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Kd(e){return re(typeof e,"function")}function Ju(e){return Number.isInteger(e)}function fi(e){return re(e,null)}function gi(e){return Number.isFinite(e)}function wP(e){return _o(e)&&!qo(e)}function _o(e){return re(typeof e,"object")&&!fi(e)}function xi(e){return re(typeof e,"string")}function kP(e){return re(typeof e,"symbol")}function Yu(e){return re(e,void 0)}function re(e,t){return e===t}function TP(e,t){return e>t}function EP(e,t){return e<t}function Gd(e,t){return e<=t}function Wd(e,t){return e>=t}function vP(e,t){if(No(e)||No(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!gi(e)||Ju(e)&&1/t%1===0)return!0;let r=e%t;return Math.min(Math.abs(r),Math.abs(r-t),Math.abs(r+t))<n}function SP(e){if(!_o(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return fi(t)?!1:re(typeof t.constructor,"function")&&!(re(t.constructor,globalThis.Object)||re(t.constructor.name,"Object"))}function zd(e){return No(e)||Ud(e)||fi(e)||gi(e)||xi(e)||Yu(e)}function PP(e){return Dd(e)}function AP(e,t){return qd(e,t)}function RP(e,t){return Nd(e,t)}function OP(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function MP(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function CP(e,t){return e.some((n,r)=>t(n,r))}function LP(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function FP(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function hi(e,t,n){return re(e.length,0)?n():t(e[0],e.slice(1))}function Bd(e){return re(e,"__proto__")||re(e,"constructor")||re(e,"prototype")}function jP(e,t){return Bd(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function DP(e){return di(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function NP(e){return Object.entries(e)}function di(e){return Object.getOwnPropertyNames(e)}function qP(e){return Object.getOwnPropertySymbols(e)}function _P(e){return Object.values(e)}function UP(e,t){if(!_o(t))return!1;let n=di(e);return re(n.length,di(t).length)&&n.every(r=>Xu(e[r],t[r]))}function KP(e,t){return qo(t)&&re(e.length,t.length)&&e.every((n,r)=>Xu(e[r],t[r]))}function Xu(e,t){return qo(e)?KP(e,t):_o(e)?UP(e,t):re(e,t)}var Gr=m(()=>{_d()});var Hd=m(()=>{Gr()});var Bn={};Lt(Bn,{IsBigInt64Array:()=>rA,IsBigUint64Array:()=>oA,IsBoolean:()=>WP,IsDate:()=>iA,IsFloat32Array:()=>tA,IsFloat64Array:()=>nA,IsInt16Array:()=>XP,IsInt32Array:()=>QP,IsInt8Array:()=>VP,IsMap:()=>mA,IsNumber:()=>zP,IsRegExp:()=>sA,IsSet:()=>aA,IsString:()=>BP,IsTypeArray:()=>HP,IsUint16Array:()=>ZP,IsUint32Array:()=>eA,IsUint8Array:()=>JP,IsUint8ClampedArray:()=>YP});function WP(e){return e instanceof Boolean}function zP(e){return e instanceof Number}function BP(e){return e instanceof String}function HP(e){return globalThis.ArrayBuffer.isView(e)}function VP(e){return e instanceof globalThis.Int8Array}function JP(e){return e instanceof globalThis.Uint8Array}function YP(e){return e instanceof globalThis.Uint8ClampedArray}function XP(e){return e instanceof globalThis.Int16Array}function ZP(e){return e instanceof globalThis.Uint16Array}function QP(e){return e instanceof globalThis.Int32Array}function eA(e){return e instanceof globalThis.Uint32Array}function tA(e){return e instanceof globalThis.Float32Array}function nA(e){return e instanceof globalThis.Float64Array}function rA(e){return e instanceof globalThis.BigInt64Array}function oA(e){return e instanceof globalThis.BigUint64Array}function sA(e){return e instanceof globalThis.RegExp}function iA(e){return e instanceof globalThis.Date}function aA(e){return e instanceof globalThis.Set}function mA(e){return e instanceof globalThis.Map}var Vd=m(()=>{});var Jd=m(()=>{Gr()});var R=m(()=>{Hd();Vd();Jd();Gr();Gr()});var tn={};Lt(tn,{Get:()=>lA,Reset:()=>pA,Set:()=>cA});function pA(){gn.immutableTypes=!1,gn.maxErrors=8,gn.maxInstantiationCount=128,gn.useAcceleration=!0,gn.exactOptionalPropertyTypes=!1,gn.enumerableKind=!1,gn.correctiveParse=!1,gn.unionPrioritySort=!0}function cA(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(gn,t,{value:n})}}function lA(){return gn}var gn,Yd=m(()=>{R();gn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var xr=m(()=>{Yd()});function Hn(e){return tn.Get().immutableTypes?Object.freeze(e):e}var Uo=m(()=>{xr()});function dA(e,t){return en.assign+=1,Hn({...e,...t})}var Xd=m(()=>{fr();Uo()});function fA(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function gA(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=hr(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function xA(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=hr(e[n]));for(let n of u.Symbols(e))t[n]=hr(e[n]);return t}function hA(e){return u.IsClassInstance(e)?e:fA(e)?gA(e):xA(e)}function yA(e){return e.map(t=>hr(t))}function bA(e){return e.slice()}function IA(e){return new RegExp(e.source,e.flags)}function $A(e){return new Map(hr([...e.entries()]))}function wA(e){return new Set(hr([...e.values()]))}function hr(e){return Bn.IsTypeArray(e)?bA(e):Bn.IsRegExp(e)?IA(e):Bn.IsMap(e)?$A(e):Bn.IsSet(e)?wA(e):u.IsArray(e)?yA(e):u.IsObject(e)?hA(e):e}function Ko(e){return en.clone+=1,hr(e)}var yi=m(()=>{R();fr()});function kA(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function Zd(e,t){return{...e,...t}}function TA(e,t,n={}){en.create+=1;let r=Zd(t,n),o=tn.Get().enumerableKind?Zd(r,e):kA(r,e);return Hn(o)}var Qd=m(()=>{xr();fr();Uo()});function EA(e,t){en.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Ko(o.value),Object.defineProperty(n,r,o)}return Hn(n)}var ef=m(()=>{R();fr();Uo();yi()});function vA(e,t,n){en.update+=1;let r=tn.Get(),o=Ko(e);for(let s of Object.keys(t))Object.defineProperty(o,s,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[s]});for(let s of Object.keys(n))Object.defineProperty(o,s,{configurable:!0,enumerable:!0,writable:!0,value:n[s]});return Hn(o)}var tf=m(()=>{xr();fr();Uo();yi()});var l={};Lt(l,{Assign:()=>dA,Clone:()=>Ko,Create:()=>TA,Discard:()=>EA,Metrics:()=>en,Update:()=>vA});var nf=m(()=>{Xd();yi();Qd();ef();fr();tf()});var v=m(()=>{nf()});function C(e,t){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],t)}function Fe(e){return u.IsObject(e)}var B=m(()=>{R()});function j(e,t,n){return l.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Vn(e){return C(e,"Deferred")}var se=m(()=>{v();B()});function SA(e){return l.Update(e,{"~readonly":!0},{})}function Go(e,t){return l.Update(SA(e),{},t)}function rf(e,t,n,r){let o=k(e,t,n);return Go(o,r)}var bi=m(()=>{v();N()});function PA(e){return l.Update(e,{"~optional":!0},{})}function Wo(e,t){return l.Update(PA(e),{},t)}function of(e,t,n,r){let o=k(e,t,n);return Wo(o,r)}var Ii=m(()=>{v();N()});function Ft(e,t){return l.Create({"~kind":"Array"},{type:"array",items:e},t)}function $e(e){return C(e,"Array")}function $i(e){return l.Discard(e,["~kind","type","items"])}var ct=m(()=>{v();B()});function xn(e,t,n={}){return l.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function _e(e){return C(e,"Constructor")}function sf(e){return l.Discard(e,["~kind","type","parameters","instanceType"])}var Kt=m(()=>{v();B()});function hn(e,t,n={}){return l.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function Ue(e){return C(e,"Function")}function af(e){return l.Discard(e,["~kind","type","parameters","returnType"])}var Gt=m(()=>{v();B()});function Dn(e,t){return l.Create({"~kind":"Ref"},{$ref:e},t)}function Ke(e){return C(e,"Ref")}var Wt=m(()=>{v();B()});function Jn(e,t){return l.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Wr(e){return C(e,"Generic")}var zo=m(()=>{v();B()});function zr(e){return l.Create({"~kind":"Any"},{},e)}function Te(e){return C(e,"Any")}var bt=m(()=>{v();B()});function le(e){return l.Create({"~kind":"Never"},{not:{}},e)}function nn(e){return C(e,"Never")}var mf,Be=m(()=>{v();B();mf="(?!)"});function yn(e,t={}){return j("AddOptional",[e],t)}function yr(e,t={}){return Wo(e,t)}var Bo=m(()=>{se();Ii()});function uf(e){return yr(e)}function ot(e){return Fe(e)&&u.HasPropertyKey(e,"~optional")}var Yn=m(()=>{R();B();Bo()});function pf(e){return u.Keys(e).filter(t=>!ot(e[t]))}function wi(e){return u.Keys(e)}function ki(e){return u.Values(e)}var br=m(()=>{R();Yn()});function K(e,t={}){let n=pf(e),r=n.length>0?{required:n}:{};return l.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function me(e){return C(e,"Object")}function cf(e){return l.Discard(e,["~kind","type","properties","required"])}var ce=m(()=>{v();B();br()});function He(e){return l.Create({"~kind":"Unknown"},{},e)}function Ae(e){return C(e,"Unknown")}var Qe=m(()=>{v();B()});function bn(e,t,n){let r=u.Keys(e).reduce((o,s)=>({...o,[s]:l.Update(e[s],{},{$id:s})}),{});return l.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function et(e){return C(e,"Cyclic")}var It=m(()=>{R();v();B()});function lf(e){return l.Update(e,{"~unsafe":null},{})}function Ti(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var Ei=m(()=>{R();v()});var In={};Lt(In,{Match:()=>AA});function AA(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var df=m(()=>{});var Br=m(()=>{df()});function Ho(...e){let[t,n]=In.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,He(),He()]});return l.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Re(e){return C(e,"Infer")}var zt=m(()=>{Br();v();B();Qe()});function Ir(e,t,n,r={}){return l.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function ve(e){return C(e,"Dependent")}function ff(e){return l.Discard(e,["~kind","if","then","else"])}var St=m(()=>{v();B()});function gf(e){return u.IsObjectNotArray(e)}function xf(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var vi=m(()=>{R()});function hf(e){return u.IsString(e)||u.IsNumber(e)}function yf(e,t){let n=gf(e)?xf(e):e;return l.Create({"~kind":"Enum"},{enum:n},t)}function tt(e){return C(e,"Enum")}var rn=m(()=>{R();v();B();vi();vi()});function $t(e,t={}){return l.Create({"~kind":"Intersect"},{allOf:e},t)}function Q(e){return C(e,"Intersect")}function bf(e){return l.Discard(e,["~kind","allOf"])}var je=m(()=>{v();B()});var If=m(()=>{xr();R()});var $f=m(()=>{If()});var wf=m(()=>{$f()});function De(){throw new Error("Unreachable")}var Zu=m(()=>{});var $n=m(()=>{Zu()});var kf,sq,iq,aq,mq,Tf,uq,pq,cq,Ef=m(()=>{$n();R();(function(e){e[e.Array=0]="Array",e[e.BigInt=1]="BigInt",e[e.Boolean=2]="Boolean",e[e.Date=3]="Date",e[e.Constructor=4]="Constructor",e[e.Function=5]="Function",e[e.Null=6]="Null",e[e.Number=7]="Number",e[e.Object=8]="Object",e[e.RegExp=9]="RegExp",e[e.String=10]="String",e[e.Symbol=11]="Symbol",e[e.TypeArray=12]="TypeArray",e[e.Undefined=13]="Undefined"})(kf||(kf={}));sq=BigInt("14695981039346656037"),[iq,aq]=[BigInt("1099511628211"),BigInt("18446744073709551616")],mq=Array.from({length:256}).map((e,t)=>BigInt(t)),Tf=new Float64Array(1),uq=new DataView(Tf.buffer),pq=new Uint8Array(Tf.buffer),cq=new TextEncoder});var vf=m(()=>{Ef()});var Qu=m(()=>{});var Sf=m(()=>{Qu()});var Pf=m(()=>{});var Af=m(()=>{});var Rf=m(()=>{});var Of=m(()=>{});var Mf=m(()=>{});var Cf=m(()=>{});var Lf=m(()=>{});var Ff=m(()=>{});var jf=m(()=>{});var Df=m(()=>{});var Nf=m(()=>{});var ep=m(()=>{});var qf=m(()=>{});var _f=m(()=>{});var Uf=m(()=>{});var Kf=m(()=>{});var Gf=m(()=>{});var Wf=m(()=>{});var zf=m(()=>{});var Bf=m(()=>{});var Hf=m(()=>{});var Vf=m(()=>{});var Jf=m(()=>{});var Yf=m(()=>{});var Xf=m(()=>{});var Zf=m(()=>{});var Qf=m(()=>{});var eg=m(()=>{});var tg=m(()=>{});var ng=m(()=>{});var rg=m(()=>{});var og=m(()=>{});var sg=m(()=>{});var ig=m(()=>{});var ag=m(()=>{});var mg=m(()=>{});var ug=m(()=>{});var pg=m(()=>{Sf();Pf();Af();Rf();Of();Mf();Qu();Cf();Lf();Ff();jf();Df();Nf();ep();ep();qf();_f();Uf();Kf();Gf();Wf();zf();Bf();Hf();Vf();Jf();Yf();Xf();Zf();Qf();eg();tg();ng();rg();og();sg();ig();ag();mg();ug()});var cg=m(()=>{pg()});var Vo=m(()=>{Br();wf();vf();cg();v();xr()});var dg=m(()=>{Vo();Vo();Vo()});function Pi(e){return new Yo(e)}function fg(e,t){return Pi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function gg(e,t){return Pi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function Si(e){return Fe(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var Jo,Yo,tp=m(()=>{dg();R();B();Jo=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=Si(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=Si(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return l.Update(this.type,{"~codec":s},{})}},Yo=class{constructor(t){this.type=t}Decode(t){return new Jo(this.type,t)}}});function xg(e){return Hr(e)}function $r(e){return Fe(e)&&u.HasPropertyKey(e,"~immutable")}var Xo=m(()=>{R();B();Zo()});function wn(e,t={}){return j("AddReadonly",[e],t)}function wr(e,t={}){return Go(e,t)}var Qo=m(()=>{se();bi()});function hg(e){return wr(e)}function kr(e){return Fe(e)&&u.HasPropertyKey(e,"~readonly")}var es=m(()=>{R();B();Qo()});function CA(e,t){let n=np(e)?[...e["~refine"],t]:[t];return l.Update(e,{"~refine":n},{})}function yg(...e){let[t,n,r]=In.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return CA(t,{check:n,error:r})}function LA(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function np(e){return Fe(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>LA(t))}var rp=m(()=>{Br();v();R();B()});function ts(e){return l.Create({"~kind":"BigInt"},{type:"bigint"},e)}function kn(e){return C(e,"BigInt")}var bg,Tr=m(()=>{v();B();bg="-?(?:0|[1-9][0-9]*)n"});function Ai(e){return l.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Bt(e){return C(e,"Boolean")}var Xn=m(()=>{v();B()});function ns(e){return l.Create({"~kind":"Identifier"},{name:e})}function Ig(e){return C(e,"Identifier")}var op=m(()=>{v();B()});function Er(e){return l.Create({"~kind":"Integer"},{type:"integer"},e)}function lt(e){return C(e,"Integer")}var Ri,Tn=m(()=>{v();B();Ri="-?(?:0|[1-9][0-9]*)"});function FA(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new sp(e)})()}function ee(e,t){return l.Create({"~kind":"Literal"},{type:FA(e),const:e},t)}function Oi(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function $g(e){return ue(e)&&u.IsNumber(e.const)}function wg(e){return ue(e)&&u.IsString(e.const)}function ue(e){return C(e,"Literal")}var sp,Oe=m(()=>{v();R();B();sp=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function Vr(e){return l.Create({"~kind":"Null"},{type:"null"},e)}function Jr(e){return C(e,"Null")}var Yr=m(()=>{v();B()});function Pt(e){return l.Create({"~kind":"Number"},{type:"number"},e)}function Me(e){return C(e,"Number")}var Mi,dt=m(()=>{v();B();Mi="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function Xr(e){return l.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Zn(e){return C(e,"Symbol")}var vr=m(()=>{v();B()});function Sr(...e){let[t,n,r]=In.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,He(),He()]});return l.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function kg(e){return C(e,"Parameter")}var ip=m(()=>{Br();v();B();Qe()});function Ht(e){return l.Create({"~kind":"String"},{type:"string"},e)}function ft(e){return C(e,"String")}var Ci,Vt=m(()=>{v();B();Ci=".*"});function V(e,t={}){return l.Create({"~kind":"Union"},{anyOf:e},t)}function L(e){return C(e,"Union")}function Tg(e){return l.Discard(e,["~kind","anyOf"])}var J=m(()=>{v();B()});function rs(e){let t=Eg(e);return u.IsEqual(t.length,2)?t[0]:[]}var os=m(()=>{R();Li()});function jA(e){return!0}function vg(e){return u.ShiftLeft(e,(t,n)=>DA(t)?vg(n):!1,()=>!0)}function Sg(e){return u.IsEqual(e.length,0)?!1:vg(e)}function DA(e){return L(e)?Sg(e.anyOf):ue(e)?jA(e.const):!1}function Fi(e){return Sg(e)}var ji=m(()=>{R();Oe();J()});function Di(e){return l.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Ni=m(()=>{v()});function Pg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Pg(o,t,[...n,`${r}${t}`]),()=>n)}function NA(e,t){return u.IsEqual(e.length,0)?[`${t}`]:Pg(e,t)}function Ag(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Ag(e,o,[...n,...Rg(e,r)]),()=>n)}function Rg(e,t){return L(t)?Ag(e,t.anyOf):ue(t)?NA(e,t.const):De()}function Og(e,t){return u.ShiftLeft(t,(n,r)=>Og(Rg(e,n),r),()=>e)}function qA(e){return e.map(t=>ee(t))}function _A(e){let t=Og([],e),n=qA(t);return V(n)}function UA(e){return u.IsEqual(e.length,0)?De():u.IsEqual(e.length,1)&&ue(e[0])?e[0]:_A(e)}function ap(e){let t=rs(e);return u.IsEqual(t.length,0)?Ht():Fi(t)?UA(t):Di(e)}function Mg(e){let t=ap(e);return Se(t)?Ht():t}var qi=m(()=>{R();$n();Oe();Vt();wt();J();os();ji();Ni()});function kt(e,t){let n="object",r={[e]:t};return l.Create({"~kind":"Record"},{type:n,patternProperties:r})}var Qn=m(()=>{v()});function Cg(e){return kt(on,e)}var Lg=m(()=>{Ve();Qn()});function Fg(e){return K({true:e,false:e})}var jg=m(()=>{ce()});function Ce(e,t={}){let[n,r,o]=[e,e.length,!1];return l.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function ge(e){return C(e,"Tuple")}function Dg(e){return l.Discard(e,["~kind","type","items","minItems","additionalItems"])}var Ne=m(()=>{v();B()});function KA(e){return l.Discard(e,["~readonly"])}function mp(e,t){return l.Update(KA(e),{},t)}function Ng(e,t,n,r){let o=k(e,t,n);return mp(o,r)}var up=m(()=>{v();N()});function qg(e,t={}){return j("RemoveReadonly",[e],t)}function _g(e,t={}){return mp(e,t)}var pp=m(()=>{se();up()});function GA(e){return l.Discard(e,["~optional"])}function cp(e,t){return l.Update(GA(e),{},t)}function Ug(e,t,n,r){let o=k(e,t,n);return cp(o,r)}var lp=m(()=>{v();N()});function Kg(e,t={}){return j("RemoveOptional",[e],t)}function _i(e,t={}){return cp(e,t)}var Ui=m(()=>{se();lp()});function dp(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function Gg(e){let t=dp(e.items);return K(t)}var fp=m(()=>{ce()});function gp(e){return me(e)||ge(e)}function WA(e,t){return kr(e)?!!kr(t):!1}function zA(e,t){return ot(e)?!!ot(t):!1}function BA(e,t){let n=WA(e,t),r=zA(e,t),o=we([e,t]),s=_g(_i(o));return n&&r?wr(yr(s)):n&&!r?wr(s):!n&&r?yr(s):s}function HA(e,t,n){return n in e?n in t?BA(e[n],t[n]):e[n]:n in t?t[n]:le()}function VA(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:HA(e,t,s)}),{})}function Wg(e){return me(e)?e.properties:ge(e)?dp(e.items):{}}function zg(e,t){let n=Wg(e),r=Wg(t),o=VA(n,r);return K(o)}var xp=m(()=>{R();es();Yn();ce();Be();Ne();Qo();Bo();pp();Ui();fp();H()});function JA(e,t){let n=as(e,t);return u.IsEqual(n,is)?e:u.IsEqual(n,Ki)||u.IsEqual(n,ss)?t:le()}function YA(e,t){let n=gp(e),r=gp(t);return n&&r?zg(e,t):n&&!r?e:!n&&r?t:JA(e,t)}function Bg(e,t){return nn(e)||Te(e)?e:Ae(e)||nn(t)||Te(t)?t:Ae(t)?e:YA(e,t)}var hp=m(()=>{R();bt();Be();Qe();ms();xp()});function XA(e,t){return L(e)||L(t)}function ZA(e,t){let n=Jt(e),r=Jt(t);return XA(n,r)?we([n,r]):Bg(n,r)}function Hg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Hg(e,o,[...n,ZA(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function Vg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Vg(o,t,[...n,...us([r],t)]),()=>n)}function us(e,t=[]){return u.ShiftLeft(e,(n,r)=>L(n)?us(r,Vg(n.anyOf,t)):us(r,Hg(n,t)),()=>t)}var yp=m(()=>{R();J();hp();H();H()});function QA(e,t){let n=nt({},e,t);return G.IsExtendsTrueLike(n)?[]:[e]}function Jg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Jg(o,t,[...n,...QA(r,t)]),()=>n)}function Gi(e,t){let n=Jt(e),r=L(n)?n.anyOf:[n],o=Jg(r,t);return Tt(o)}var bp=m(()=>{R();J();En();H();H()});function sn(e,t,n){let r=we([e,t]),o=Gi(n,e);return Tt([r,o])}function gt(e,t=[]){return u.ShiftLeft(e,(n,r)=>gt(r,[...t,ee(n)]),()=>Tt(t))}function we(e){let t=us(e),n=Ip(t);return Tt(n)}function st(e){let t=Mg(e);return Jt(t)}function Tt(e){let t=Ip(e);return er(t)}function Jt(e){return ve(e)?sn(e.if,e.then,e.else):tt(e)?gt(e.enum):Q(e)?we(e.allOf):Se(e)?st(e.pattern):L(e)?Tt(e.anyOf):e}function er(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?le():V(e)}var H=m(()=>{R();St();rn();je();Oe();Be();wt();J();yp();$p();bp();qi()});function Yg(e,t){let n=gt(e);return tr(n,t)}var Xg=m(()=>{ps();H()});function Zg(e,t){return kt(nr,t)}var Qg=m(()=>{Ve();Qn()});function ex(e,t){let n=we(e);return tr(n,t)}var tx=m(()=>{H();ps()});function nx(e,t){return u.IsString(e)||u.IsNumber(e)?K({[e]:t}):u.IsEqual(e,!1)?K({false:t}):u.IsEqual(e,!0)?K({true:t}):K({})}var rx=m(()=>{R();ce()});function ox(e,t){return kt(Zr,t)}var sx=m(()=>{Ve();Qn()});function ix(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?kt(e.pattern.toString(),t):kt(on,t)}var ax=m(()=>{R();Ve();Qn()});function mx(e,t){let n=rs(e);return Fi(n)?tr(st(e),t):kt(e,t)}var ux=m(()=>{ps();os();ji();H();Qn()});function eR(e){return L(e)?Qr(e.anyOf):[e]}function Qr(e,t=[]){return u.ShiftLeft(e,(n,r)=>Qr(r,[...t,...eR(n)]),()=>t)}var Wi=m(()=>{R();J()});function tR(e){return e.some(t=>ft(t)||Me(t)||lt(t))}function nR(e,t){return u.IsEqual(tR(e),!0)?kt(on,t):void 0}function rR(e,t){return e.reduce((n,r)=>ue(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function oR(e,t){let n=rR(e,t);return K(n)}function px(e,t){let n=Qr(e),r=nR(n,t);return Fe(r)?r:oR(n,t)}var cx=m(()=>{R();B();Oe();dt();Tn();ce();Vt();Ve();Wi();Qn()});function tr(e,t){return Te(e)?Cg(t):Bt(e)?Fg(t):tt(e)?Yg(e.enum,t):lt(e)?Zg(e,t):Q(e)?ex(e.allOf,t):ue(e)?nx(e.const,t):Me(e)?ox(e,t):L(e)?px(e.anyOf,t):ft(e)?ix(e,t):Se(e)?mx(e.pattern,t):K({})}var ps=m(()=>{bt();Xn();rn();je();Tn();Oe();dt();ce();Vt();wt();J();Lg();jg();Xg();Qg();tx();rx();sx();ax();ux();cx()});function wp(e,t,n){return z([e])?l.Update(tr(e,t),{},n):Bi(e,t,n)}function lx(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return wp(s,a,o)}var zi=m(()=>{v();Ve();ps();N()});function Bi(e,t,n={}){return j("Record",[e,t],n)}function Hi(e,t,n={}){return wp(e,t,n)}function dx(e,t){return kt(e,t)}function Vi(e){return u.IsEqual(e,on)?Ht():u.IsEqual(e,nr)?Er():u.IsEqual(e,Zr)?Pt():ap(e)}function Yt(e){return u.Keys(e.patternProperties)[0]}function eo(e){let t=Yt(e);return Vi(t)}function xt(e){return e.patternProperties[Yt(e)]}function rt(e){return C(e,"Record")}var nr,Zr,on,Ve=m(()=>{v();R();B();Tn();dt();Vt();se();qi();Qn();zi();nr=`^${Ri}$`,Zr=`^${Mi}$`,on=`^${Ci}$`});function Pr(e){return l.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function rr(e){return C(e,"Rest")}var to=m(()=>{v();B()});var fx=m(()=>{});function Ji(e){return l.Create({"~kind":"This"},{$ref:"#"},e)}function Yi(e){return C(e,"This")}var Xi=m(()=>{v();B()});function no(e){return l.Create({"~kind":"Undefined"},{type:"undefined"},e)}function ro(e){return C(e,"Undefined")}var oo=m(()=>{v();B()});function Zi(e){return l.Create({"~kind":"Void"},{type:"void"},e)}function vn(e){return C(e,"Void")}var Ar=m(()=>{v();B()});var Qi=m(()=>{tp();Xo();Yn();es();rp();bt();ct();Tr();Xn();so();Kt();It();se();rn();Gt();zo();op();St();zt();Tn();je();Oe();Be();Yr();dt();Qe();vr();ce();ip();br();Ve();Wt();to();B();fx();Vt();vr();wt();Xi();Ne();oo();J();Qe();Ei();Ar()});function iR(e,t){return u.IsEqual(e,"Array")?Ft(t[0]):u.IsEqual(e,"Capitalize")?ta(t[0]):u.IsEqual(e,"ConstructorParameters")?ia(t[0]):u.IsEqual(e,"Evaluate")?xy(t[0]):u.IsEqual(e,"Exclude")?aa(t[0],t[1]):u.IsEqual(e,"Extract")?ma(t[0],t[1]):u.IsEqual(e,"Index")?fs(t[0],t[1]):u.IsEqual(e,"InstanceType")?ua(t[0]):u.IsEqual(e,"Lowercase")?na(t[0]):u.IsEqual(e,"NonNullable")?pa(t[0]):u.IsEqual(e,"Omit")?ca(t[0],t[1]):u.IsEqual(e,"Parameters")?la(t[0]):u.IsEqual(e,"Partial")?da(t[0]):u.IsEqual(e,"Pick")?fa(t[0],t[1]):u.IsEqual(e,"Readonly")?ga(t[0]):u.IsEqual(e,"KeyOf")?gs(t[0]):u.IsEqual(e,"Record")?Bi(t[0],t[1]):u.IsEqual(e,"Required")?xa(t[0]):u.IsEqual(e,"ReturnType")?ha(t[0]):u.IsEqual(e,"Uncapitalize")?ra(t[0]):u.IsEqual(e,"Uppercase")?oa(t[0]):ds(Dn(e),t)}function Rr(){throw Error("Unreachable")}function bx(e,t=[]){return u.ShiftLeft(e,(n,r)=>bx(r,[...t,n[1]]),()=>t)}function Nn(e){return u.IsEqual(e.length,3)?[e[0],...bx(e[1])]:[]}function Ix(e){return Sr(e[0],e[2],e[4])}function $x(e){return Sr(e[0],e[2],e[2])}function wx(e){return Sr(e[0],He(),e[2])}function kx(e){return Sr(e,He(),He())}function Tx(e){return Nn(e)}function Ex(e){return e[1]}function vx(e){return Nn(e)}function Sx(e){return e[1]}function Px(e){return iR(e[0],e[1])}function Ax(e){return null}function Rx(e){return Ht()}function Ox(e){return Pt()}function Mx(e){return Ai()}function Cx(e){return no()}function Lx(e){return Vr()}function Fx(e){return Er()}function jx(e){return ts()}function Dx(e){return He()}function Nx(e){return zr()}function qx(e){return K({})}function _x(e){return le()}function Ux(e){return Xr()}function Kx(e){return Zi()}function Gx(e){return Ji()}function Wx(e){return ee(BigInt(e))}function zx(e){return ee(u.IsEqual(e,"true"))}function Bx(e){return ee(parseFloat(e))}function Hx(e){return ee(e)}function Vx(e){return e[1]}function Jx(e){return ee(e)}function Yx(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function Xx(e){return e[1]}function Zx(e){return ea(e)}function Qx(e){return u.IsEqual(e.length,6)?Ir(e[1],e[3],e[5]):Ir(e[1],e[3],He())}function eh(e){return e.length>0}function th(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function nh(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function rh(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function oh(e){return u.IsEqual(e.length,2)?e[1]:[]}function gx(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?fs(n,o[0]):u.IsEqual(o.length,0)?Ft(n):Rr()},e)}function xx(e,t){return u.IsEqual(t.length,3)?sa(e,t[0],t[1],t[2]):e}function aR(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:ya(e,t)}function sh(e){let[t,n,r,o,s]=e;return aR(xx(t?gs(gx(n,r)):gx(n,r),o),s)}function kp(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=kp(r,o);if(u.IsEqual(n,"&"))return Q(s)?$t([e,...s.allOf]):$t([e,s]);if(u.IsEqual(n,"|"))return L(s)?V([e,...s.anyOf]):V([e,s]);Rr()})():e}function ih(e){let[t,n]=e;return kp(t,n)}function ah(e){let[t,n]=e;return kp(t,n)}function mh(e){return gy(e[1])}function uh(e){return e[1]}function ph(e){return Jn(e[0],e[2])}function ch(e){return u.IsEqual(e.length,4)?Ho(e[1],e[3]):u.IsEqual(e.length,2)?Ho(e[1],He()):Rr()}function lh(e){return`${e}`}function dh(e){return lt(e[3])?nr:Me(e[3])?Zr:Zn(e[3])?on:ft(e[3])?on:Rr()}function fh(e){return e.length>0}function gh(e){return e.length>0}function xh(e){let[t,n,r,o,s]=e;return{[n]:t&&r?wn(yn(s)):t&&!r?wn(s):!t&&r?yn(s):s}}function hh(e){return Nn(e)}function yh(e){return e.reduce((t,n)=>u.HasPropertyKey(n,nr)||u.HasPropertyKey(n,Zr)||u.HasPropertyKey(n,on)?[t[0],l.Assign(t[1],n)]:[l.Assign(t[0],n),t[1]],[{},{}])}function bh(e){return yh(e[1])}function Ih(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return K(t,r)}function $h(e){return u.IsEqual(e.length,5)?wn(yn(e[4])):u.IsEqual(e.length,3)?e[2]:u.IsEqual(e.length,4)?u.IsEqual(e[2],"readonly")?wn(e[3]):yn(e[3]):Rr()}function wh(e){if(!u.IsArray(e)||!u.IsEqual(e.length,3))return e;let[t,n,r]=e;return t&&r?wn(yn(n)):t&&!r?wn(n):!t&&r?yn(n):n}function kh(e){return u.IsEqual(e.length,2)?Pr(e[1]):u.IsEqual(e.length,1)?e[0]:Rr()}function Th(e){return Nn(e)}function Eh(e){return Ce(e[1])}function vh(e){return wn(yn(e[4]))}function Sh(e){return wn(e[3])}function Ph(e){return yn(e[3])}function Ah(e){return e[2]}function Rh(e){return u.IsEqual(e.length,2)?Pr(e[1]):u.IsEqual(e.length,1)?e[0]:Rr()}function Oh(e){return Nn(e)}function Mh(e){return hn(e[1],e[4])}function Ch(e){return xn(e[2],e[5])}function hx(e,t){return u.IsEqual(e,"remove")?qg(t):u.IsEqual(e,"add")?wn(t):t}function Lh(e){return u.IsEqual(e.length,2)&&u.IsEqual(e[0],"-")?"remove":u.IsEqual(e.length,2)&&u.IsEqual(e[0],"+")||u.IsEqual(e.length,1)?"add":"none"}function yx(e,t){return u.IsEqual(e,"remove")?Kg(t):u.IsEqual(e,"add")?yn(t):t}function Fh(e){return u.IsEqual(e.length,2)&&u.IsEqual(e[0],"-")?"remove":u.IsEqual(e.length,2)&&u.IsEqual(e[0],"+")||u.IsEqual(e.length,1)?"add":"none"}function jh(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function Dh(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?cs(ns(e[3]),e[5],e[6][0],hx(e[1],yx(e[8],e[10]))):cs(ns(e[3]),e[5],Dn(e[3]),hx(e[1],yx(e[8],e[10])))}function Nh(e){return Dn(e)}function qh(e){return BigInt(e)}function _h(e){return parseFloat(e)}function Uh(e){return u.IsEqual(e,"true")}function Kh(e){return null}function Gh(e){return{[e[0]]:e[2]}}function Wh(e){return Nn(e)}function mR(e){return e.reduce((t,n)=>l.Assign(t,n),{})}function zh(e){return mR(e[1])}function Bh(e){return Nn(e)}function Hh(e){return e[1]}function Vh(e){return ts()}function Jh(e){return Ht()}function Yh(e){return Pt()}function Xh(e){return Er()}function Zh(e){return le()}function Qh(e){return ee(e)}function ey(e){return V(e[1])}function ty(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function ny(e){return[e[0],...e[1]]}function ry(e){return e[1]}function oy(e){return Nn(e)}function sy(e){return u.IsEqual(e.length,2)?e[1]:[]}function iy(e){let t=e[2],n=e[3],[r,o]=e[4],s=u.IsEqual(u.Keys(o).length,0)?{}:{patternProperties:o};return{[e[1]]:Jn(t,ls(n,r,s))}}function ay(e){let t=e[2],[n,r]=e[3],o=u.IsEqual(u.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:ls(t,n,o)}}function my(e){return{[e[1]]:Jn(e[2],e[4])}}function uy(e){return{[e[1]]:e[3]}}function py(e){return null}function cy(e){return Nn(e)}function ly(e){return e[1]}function dy(e){let[t,n]=[e[0],e[1]];return hy(l.Assign(t,yh(n)[0]))}var fy=m(()=>{v();R();Qi();io()});var qn=m(()=>{Gr()});function xs(e){return re(e.length,2)}function Y(e,t,n){return xs(e)?t(e[0],e[1]):n()}var At=m(()=>{qn()});function cR(e,t){return re(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Ee(e,t){for(let n=0;n<e.length;n++){let r=cR(e[n],t);if(xs(r))return r}return[]}var Sn=m(()=>{At();qn()});function Tp(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var yy,Ep,vp,ao,by,mo,or,ba,Iy,Ia,it=m(()=>{yy=[...Tp(97,122),...Tp(65,90)],Ep="0",vp=Tp(49,57),ao=[Ep,...vp],by=" ",mo=`
12
+ `,or="_",ba=".",Iy="$",Ia="-"});function ky(e){let t=e.indexOf(dR);return re(t,-1)?"":e.slice(t+2)}function Ty(e){let t=e.indexOf(mo);return re(t,-1)?"":e.slice(t)}function fR(e){return e.replace(/^[ \t\r\f\v]+/,"")}function $a(e){let t=fR(e);return t.startsWith(wy)?$a(ky(t.slice(2))):t.startsWith($y)?$a(Ty(t.slice(2))):t}function Je(e){let t=e.trimStart();return t.startsWith(wy)?Je(ky(t.slice(2))):t.startsWith($y)?Je(Ty(t.slice(2))):t}var $y,wy,dR,Pn=m(()=>{qn();it();$y="//",wy="/*",dR="*/"});function wa(e,t){return Y(Ee([e],t),(n,r)=>[n,r],()=>["",t])}var Sp=m(()=>{At();Sn()});function gR(e,t){return e.includes(t)}function uo(e,t,n,r=""){return Y(Ee(e,n),(o,s)=>gR(t,o)?uo(e,t,s,r):uo(e,t,s,`${r}${o}`),()=>[r,n])}var Pp=m(()=>{At();Sn()});function xR(e){return Ee(vp,e)}function yR(e){return uo(hR,[or],e)}function bR(e){return Y(Ee([Ep],e),(t,n)=>[t,n],()=>Y(xR(e),(t,n)=>Y(yR(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function ka(e){return bR(Je(e))}var hR,Ta=m(()=>{At();Pn();Sn();Pp();it();it();it();it();hR=[...ao,or]});function IR(e){return wa(Ia,e)}function $R(e){return Y(IR(e),(t,n)=>Y(ka(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Ey(e){return $R(Je(e))}var Ap=m(()=>{At();Pn();Sp();it();Ta()});function wR(e){return Y(Ey(e),(t,n)=>Y(Ee(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function Rp(e){return wR(e)}var vy=m(()=>{At();Sn();Ap()});function Op(e,t){return Ee([e],t)}function f(e,t){return re(e,"")?["",t]:e.startsWith(mo)?Op(e,$a(t)):e.startsWith(by)?Op(e,t):Op(e,Je(t))}var Sy=m(()=>{qn();Pn();Pn();Sn();it();it()});function kR(e){return Ee(Py,e)}function Ay(e,t=""){return Y(Ee(TR,e),(n,r)=>Ay(r,`${t}${n}`),()=>[t,e])}function ER(e){return Y(kR(e),(t,n)=>Y(Ay(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Pe(e){return ER(Je(e))}var Py,TR,Ry=m(()=>{At();Pn();Sn();it();it();it();it();Py=[...yy,or,Iy];TR=[...Py,...ao]});function SR(e){return xs(Ee([ba],e))}function Oy(e){return Y(uo(vR,[or],e),(t,n)=>re(t,"")?[]:[t,n],()=>[])}function PR(e){return Y(Ee([ba],e),(t,n)=>Y(Oy(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function AR(e){return Y(ka(e),(t,n)=>Y(Ee([ba],n),(r,o)=>Y(Oy(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function RR(e){return SR(e)?PR(e):AR(e)}function My(e){return RR(Je(e))}var vR,Mp=m(()=>{qn();At();Pn();Sn();Pp();it();it();Ta();vR=[...ao,or]});function OR(e){return wa(Ia,e)}function MR(e){return Y(OR(e),(t,n)=>Y(My(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Ea(e){return MR(Je(e))}var Cy=m(()=>{At();Pn();Sp();it();Mp()});var Ly=m(()=>{qn()});function CR(e){return re(e,"")?[]:[e.slice(0,1),e.slice(1)]}function Fy(e,t){return hi(e,(n,r)=>t.startsWith(n)?!0:Fy(r,t),()=>!1)}function sr(e,t,n=""){return Y(CR(t),(r,o)=>Fy(e,t)?[n,t]:sr(e,o,`${n}${r}`),()=>[])}var va=m(()=>{At();qn()});function LR(e,t,n){return Y(Ee([e],n),(r,o)=>Y(sr([t],o),(s,a)=>Y(Ee([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function FR(e,t,n){return Y(Ee([e],n),(r,o)=>Y(sr([mo,t],o),(s,a)=>Y(Ee([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function jy(e,t,n,r){return n?LR(e,t,Je(r)):FR(e,t,Je(r))}var Cp=m(()=>{At();Pn();it();Sn();va()});function jR(e,t){return Ee(e,t)}function DR(e,t){return jy(e,e,!1,t)}function NR(e,t){return Y(jR(e,t),(n,r)=>DR(n,`${n}${r}`),()=>[])}function Sa(e,t){return NR(e,Je(t))}var Dy=m(()=>{At();Sn();Pn();Cp()});function Ny(e,t){return Y(sr(e,t),(n,r)=>re(n,"")?[]:[n,r],()=>[])}var qy=m(()=>{qn();At();va()});var _y=m(()=>{vy();Sy();Ry();Ap();Cy();Ly();Cp();Dy();Ta();Mp();qy();va()});var i,_R,UR,KR,GR,Gy,Wy,WR,jp,zy,zR,BR,HR,By,Hy,Vy,VR,JR,YR,Jy,XR,ZR,QR,eO,tO,Yy,nO,rO,oO,Lp,Xy,Dp,sO,iO,aO,mO,uO,pO,cO,Zy,lO,dO,fO,gO,Qy,eb,tb,nb,Pa,xO,hO,yO,bO,oe,IO,$O,wO,kO,rb,ob,sb,ib,Aa,ab,TO,Np,EO,vO,Uy,mb,ub,SO,PO,AO,RO,OO,MO,Ky,pb,cb,lb,CO,LO,FO,jO,DO,NO,qO,_O,UO,KO,GO,WO,zO,db,fb,BO,gb,xb,HO,VO,qp,JO,YO,XO,ZO,QO,eM,tM,nM,hb,Fp,_p,Eg,yb,rM,bb,oM,sM,iM,aM,mM,Ib,$b,uM,Up,pM,wb,Li=m(()=>{fy();_y();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),_R=e=>i(i(Pe(e),([t,n])=>i(f("extends",n),([r,o])=>i(oe(o),([s,a])=>i(f("=",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[Ix(t),n]),UR=e=>i(i(Pe(e),([t,n])=>i(f("extends",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[$x(t),n]),KR=e=>i(i(Pe(e),([t,n])=>i(f("=",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[wx(t),n]),GR=e=>i(Pe(e),([t,n])=>[kx(t),n]),Gy=e=>i(i(_R(e),([t,n])=>[t,n],()=>i(UR(e),([t,n])=>[t,n],()=>i(KR(e),([t,n])=>[t,n],()=>i(GR(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Wy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(Gy(r),([o,s])=>[[n,o],s])),([n,r])=>Wy(r,[...t,n]),()=>[t,e]),WR=e=>i(i(i(Gy(e),([t,n])=>i(Wy(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Tx(t),n]),jp=e=>i(i(f("<",e),([t,n])=>i(WR(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ex(t),n]),zy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(oe(r),([o,s])=>[[n,o],s])),([n,r])=>zy(r,[...t,n]),()=>[t,e]),zR=e=>i(i(i(oe(e),([t,n])=>i(zy(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[vx(t),n]),BR=e=>i(i(f("<",e),([t,n])=>i(zR(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Sx(t),n]),HR=e=>i(i(Pe(e),([t,n])=>i(BR(n),([r,o])=>[[t,r],o])),([t,n])=>[Px(t),n]),By=e=>i(i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ax(t),n]),Hy=e=>i(f("string",e),([t,n])=>[Rx(t),n]),Vy=e=>i(f("number",e),([t,n])=>[Ox(t),n]),VR=e=>i(f("boolean",e),([t,n])=>[Mx(t),n]),JR=e=>i(f("undefined",e),([t,n])=>[Cx(t),n]),YR=e=>i(f("null",e),([t,n])=>[Lx(t),n]),Jy=e=>i(f("integer",e),([t,n])=>[Fx(t),n]),XR=e=>i(f("bigint",e),([t,n])=>[jx(t),n]),ZR=e=>i(f("unknown",e),([t,n])=>[Dx(t),n]),QR=e=>i(f("any",e),([t,n])=>[Nx(t),n]),eO=e=>i(f("object",e),([t,n])=>[qx(t),n]),tO=e=>i(f("never",e),([t,n])=>[_x(t),n]),Yy=e=>i(f("symbol",e),([t,n])=>[Ux(t),n]),nO=e=>i(f("void",e),([t,n])=>[Kx(t),n]),rO=e=>i(f("this",e),([t,n])=>[Gx(t),n]),oO=e=>i(i(f("${",e),([t,n])=>i(oe(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Vx(t),n]),Lp=e=>i(sr(["${","`"],e),([t,n])=>[Jx(t),n]),Xy=e=>i(i(i(Lp(e),([t,n])=>i(oO(n),([r,o])=>i(Xy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Lp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(Lp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Yx(t),n]),Dp=e=>i(i(f("`",e),([t,n])=>i(Xy(n),([r,o])=>i(f("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Xx(t),n]),sO=e=>i(Dp(e),([t,n])=>[Zx(t),n]),iO=e=>i(i(i(f("if",e),([t,n])=>i(oe(n),([r,o])=>i(f("then",o),([s,a])=>i(oe(a),([p,c])=>i(f("else",c),([h,I])=>i(oe(I),([T,M])=>[[t,r,s,p,h,T],M])))))),([t,n])=>[t,n],()=>i(i(f("if",e),([t,n])=>i(oe(n),([r,o])=>i(f("then",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Qx(t),n]),aO=e=>i(Rp(e),([t,n])=>[Wx(t),n]),mO=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[zx(t),n]),uO=e=>i(Ea(e),([t,n])=>[Bx(t),n]),pO=e=>i(Sa(["'",'"'],e),([t,n])=>[Hx(t),n]),cO=e=>i(i(i(f("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[eh(t),n]),Zy=(e,t=[])=>i(i(i(f("[",e),([n,r])=>i(oe(r),([o,s])=>i(f("]",s),([a,p])=>[[n,o,a],p]))),([n,r])=>[n,r],()=>i(i(f("[",e),([n,r])=>i(f("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>Zy(r,[...t,n]),()=>[t,e]),lO=e=>i(Zy(e),([t,n])=>[th(t),n]),dO=e=>i(i(i(f("extends",e),([t,n])=>i(oe(n),([r,o])=>i(f("?",o),([s,a])=>i(oe(a),([p,c])=>i(f(":",c),([h,I])=>i(oe(I),([T,M])=>[[t,r,s,p,h,T],M])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[nh(t),n]),fO=e=>i(i(i(f("(",e),([t,n])=>i(oe(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(Hy(e),([t,n])=>[t,n],()=>i(Vy(e),([t,n])=>[t,n],()=>i(VR(e),([t,n])=>[t,n],()=>i(JR(e),([t,n])=>[t,n],()=>i(YR(e),([t,n])=>[t,n],()=>i(Jy(e),([t,n])=>[t,n],()=>i(XR(e),([t,n])=>[t,n],()=>i(ZR(e),([t,n])=>[t,n],()=>i(QR(e),([t,n])=>[t,n],()=>i(eO(e),([t,n])=>[t,n],()=>i(tO(e),([t,n])=>[t,n],()=>i(Yy(e),([t,n])=>[t,n],()=>i(nO(e),([t,n])=>[t,n],()=>i(rO(e),([t,n])=>[t,n],()=>i(aO(e),([t,n])=>[t,n],()=>i(mO(e),([t,n])=>[t,n],()=>i(uO(e),([t,n])=>[t,n],()=>i(pO(e),([t,n])=>[t,n],()=>i(sO(e),([t,n])=>[t,n],()=>i(iO(e),([t,n])=>[t,n],()=>i(EO(e),([t,n])=>[t,n],()=>i(PO(e),([t,n])=>[t,n],()=>i(LO(e),([t,n])=>[t,n],()=>i(CO(e),([t,n])=>[t,n],()=>i(NO(e),([t,n])=>[t,n],()=>i(HR(e),([t,n])=>[t,n],()=>i(qO(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[rh(t),n]),gO=e=>i(i(i(f("with",e),([t,n])=>i(gb(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[oh(t),n]),Qy=e=>i(i(cO(e),([t,n])=>i(fO(n),([r,o])=>i(lO(o),([s,a])=>i(dO(a),([p,c])=>i(gO(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[sh(t),n]),eb=e=>i(i(i(f("&",e),([t,n])=>i(Qy(n),([r,o])=>i(eb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),tb=e=>i(i(Qy(e),([t,n])=>i(eb(n),([r,o])=>[[t,r],o])),([t,n])=>[ih(t),n]),nb=e=>i(i(i(f("|",e),([t,n])=>i(tb(n),([r,o])=>i(nb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Pa=e=>i(i(tb(e),([t,n])=>i(nb(n),([r,o])=>[[t,r],o])),([t,n])=>[ah(t),n]),xO=e=>i(i(f("readonly",e),([t,n])=>i(Pa(n),([r,o])=>[[t,r],o])),([t,n])=>[mh(t),n]),hO=e=>i(i(f("|",e),([t,n])=>i(Pa(n),([r,o])=>[[t,r],o])),([t,n])=>[uh(t),n]),yO=e=>i(i(jp(e),([t,n])=>i(f("=",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ph(t),n]),bO=e=>i(i(i(f("infer",e),([t,n])=>i(Pe(n),([r,o])=>i(f("extends",o),([s,a])=>i(Pa(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(f("infer",e),([t,n])=>i(Pe(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[ch(t),n]),oe=e=>i(i(bO(e),([t,n])=>[t,n],()=>i(hO(e),([t,n])=>[t,n],()=>i(xO(e),([t,n])=>[t,n],()=>i(Pa(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),IO=e=>i(Ea(e),([t,n])=>[lh(t),n]),$O=e=>i(Pe(e),([t,n])=>[t,n]),wO=e=>i(Sa(["'",'"'],e),([t,n])=>[t,n]),kO=e=>i(i(f("[",e),([t,n])=>i(Pe(n),([r,o])=>i(f(":",o),([s,a])=>i(i(Jy(a),([p,c])=>[p,c],()=>i(Vy(a),([p,c])=>[p,c],()=>i(Hy(a),([p,c])=>[p,c],()=>i(Yy(a),([p,c])=>[p,c],()=>[])))),([p,c])=>i(f("]",c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[dh(t),n]),rb=e=>i(i(IO(e),([t,n])=>[t,n],()=>i($O(e),([t,n])=>[t,n],()=>i(wO(e),([t,n])=>[t,n],()=>i(kO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),ob=e=>i(i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[fh(t),n]),sb=e=>i(i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[gh(t),n]),ib=e=>i(i(ob(e),([t,n])=>i(rb(n),([r,o])=>i(sb(o),([s,a])=>i(f(":",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[xh(t),n]),Aa=e=>i(i(i(f(",",e),([t,n])=>i(f(`
13
13
  `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f(";",e),([t,n])=>i(f(`
14
14
  `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(f(`
15
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),sb=(e,t=[])=>i(i(Sa(e),([n,r])=>i(ob(r),([o,s])=>[[n,o],s])),([n,r])=>sb(r,[...t,n]),()=>[t,e]),wO=e=>i(i(i(ob(e),([t,n])=>i(sb(n),([r,o])=>i(i(Sa(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[gh(t),n]),jp=e=>i(i(f("{",e),([t,n])=>i(wO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[hh(t),n]),kO=e=>i(jp(e),([t,n])=>[yh(t),n]),TO=e=>i(i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(oe(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[bh(t),n]),qy=e=>i(i(TO(e),([t,n])=>[t,n],()=>i(i(nb(e),([t,n])=>i(oe(n),([r,o])=>i(rb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[Ih(t),n]),ib=e=>i(i(i(f("...",e),([t,n])=>i(qy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(qy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[$h(t),n]),ab=(e,t=[])=>i(i(f(",",e),([n,r])=>i(ib(r),([o,s])=>[[n,o],s])),([n,r])=>ab(r,[...t,n]),()=>[t,e]),EO=e=>i(i(i(ib(e),([t,n])=>i(ab(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[wh(t),n]),vO=e=>i(i(f("[",e),([t,n])=>i(EO(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[kh(t),n]),SO=e=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(oe(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[Th(t),n]),PO=e=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Eh(t),n]),AO=e=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[vh(t),n]),RO=e=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Sh(t),n]),_y=e=>i(i(SO(e),([t,n])=>[t,n],()=>i(PO(e),([t,n])=>[t,n],()=>i(AO(e),([t,n])=>[t,n],()=>i(RO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),mb=e=>i(i(i(f("...",e),([t,n])=>i(_y(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(_y(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Ph(t),n]),ub=(e,t=[])=>i(i(f(",",e),([n,r])=>i(mb(r),([o,s])=>[[n,o],s])),([n,r])=>ub(r,[...t,n]),()=>[t,e]),pb=e=>i(i(i(mb(e),([t,n])=>i(ub(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ah(t),n]),OO=e=>i(i(f("(",e),([t,n])=>i(pb(n),([r,o])=>i(f(")",o),([s,a])=>i(f("=>",a),([p,c])=>i(oe(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[Rh(t),n]),MO=e=>i(i(f("new",e),([t,n])=>i(f("(",n),([r,o])=>i(pb(o),([s,a])=>i(f(")",a),([p,c])=>i(f("=>",c),([h,$])=>i(oe($),([T,M])=>[[t,r,s,p,h,T],M])))))),([t,n])=>[Oh(t),n]),CO=e=>i(i(i(f("+",e),([t,n])=>i(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("-",e),([t,n])=>i(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[Mh(t),n]),LO=e=>i(i(i(f("+",e),([t,n])=>i(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("-",e),([t,n])=>i(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[Ch(t),n]),FO=e=>i(i(i(f("as",e),([t,n])=>i(oe(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Lh(t),n]),jO=e=>i(i(f("{",e),([t,n])=>i(CO(n),([r,o])=>i(f("[",o),([s,a])=>i(Pe(a),([p,c])=>i(f("in",c),([h,$])=>i(oe($),([T,M])=>i(FO(M),([F,O])=>i(f("]",O),([_,Z])=>i(LO(Z),([ae,xe])=>i(f(":",xe),([ke,We])=>i(oe(We),([Nt,he])=>i(Wy(he),([te,E])=>i(f("}",E),([ze,qt])=>[[t,r,s,p,h,T,F,_,ae,ke,Nt,te,ze],qt]))))))))))))),([t,n])=>[Fh(t),n]),DO=e=>i(Pe(e),([t,n])=>[jh(t),n]),NO=e=>i(Pp(e),([t,n])=>[Dh(t),n]),qO=e=>i(ka(e),([t,n])=>[Nh(t),n]),_O=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[qh(t),n]),UO=e=>i(Ea(['"',"'"],e),([t,n])=>[t,n]),KO=e=>i(f("null",e),([t,n])=>[_h(t),n]),GO=e=>i(f("undefined",e),([t,n])=>[void 0,n]),cb=e=>i(i(tb(e),([t,n])=>i(f(":",n),([r,o])=>i(Dp(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Uh(t),n]),lb=(e,t=[])=>i(i(Sa(e),([n,r])=>i(cb(r),([o,s])=>[[n,o],s])),([n,r])=>lb(r,[...t,n]),()=>[t,e]),WO=e=>i(i(i(cb(e),([t,n])=>i(lb(n),([r,o])=>i(i(Sa(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Kh(t),n]),db=e=>i(i(f("{",e),([t,n])=>i(WO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Gh(t),n]),fb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(Dp(r),([o,s])=>[[n,o],s])),([n,r])=>fb(r,[...t,n]),()=>[t,e]),zO=e=>i(i(i(Dp(e),([t,n])=>i(fb(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Wh(t),n]),BO=e=>i(i(f("[",e),([t,n])=>i(zO(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[zh(t),n]),Dp=e=>i(i(NO(e),([t,n])=>[t,n],()=>i(qO(e),([t,n])=>[t,n],()=>i(_O(e),([t,n])=>[t,n],()=>i(UO(e),([t,n])=>[t,n],()=>i(KO(e),([t,n])=>[t,n],()=>i(GO(e),([t,n])=>[t,n],()=>i(db(e),([t,n])=>[t,n],()=>i(BO(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),HO=e=>i(f("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Bh(t),n]),VO=e=>i(f(".*",e),([t,n])=>[Hh(t),n]),JO=e=>i(f("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Vh(t),n]),YO=e=>i(f("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[Jh(t),n]),XO=e=>i(f("(?!)",e),([t,n])=>[Yh(t),n]),ZO=e=>i(jy(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Xh(t),n]),QO=e=>i(i(HO(e),([t,n])=>[t,n],()=>i(VO(e),([t,n])=>[t,n],()=>i(JO(e),([t,n])=>[t,n],()=>i(YO(e),([t,n])=>[t,n],()=>i(XO(e),([t,n])=>[t,n],()=>i(eM(e),([t,n])=>[t,n],()=>i(ZO(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),eM=e=>i(i(f("(",e),([t,n])=>i(Np(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Zh(t),n]),gb=e=>i(i(i(Cp(e),([t,n])=>i(f("|",n),([r,o])=>i(gb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Cp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[Qh(t),n]),Cp=e=>i(i(QO(e),([t,n])=>i(Np(n),([r,o])=>[[t,r],o])),([t,n])=>[ey(t),n]),Np=e=>i(i(gb(e),([t,n])=>[t,n],()=>i(Cp(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),kg=e=>i(i(f("^",e),([t,n])=>i(Np(n),([r,o])=>i(f("$",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ty(t),n]),xb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(oe(r),([o,s])=>[[n,o],s])),([n,r])=>xb(r,[...t,n]),()=>[t,e]),tM=e=>i(i(i(oe(e),([t,n])=>i(xb(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ny(t),n]),hb=e=>i(i(i(f("extends",e),([t,n])=>i(tM(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ry(t),n]),nM=e=>i(i(f("interface",e),([t,n])=>i(Pe(n),([r,o])=>i(Lp(o),([s,a])=>i(hb(a),([p,c])=>i(jp(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[oy(t),n]),rM=e=>i(i(f("interface",e),([t,n])=>i(Pe(n),([r,o])=>i(hb(o),([s,a])=>i(jp(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[sy(t),n]),oM=e=>i(i(f("type",e),([t,n])=>i(Pe(n),([r,o])=>i(Lp(o),([s,a])=>i(f("=",a),([p,c])=>i(oe(c),([h,$])=>[[t,r,s,p,h],$]))))),([t,n])=>[iy(t),n]),sM=e=>i(i(f("type",e),([t,n])=>i(Pe(n),([r,o])=>i(f("=",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[ay(t),n]),iM=e=>i(i(i(f("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[my(t),n]),yb=e=>i(i(i(f(";",e),([t,n])=>i(f(`
15
+ `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),ab=(e,t=[])=>i(i(Aa(e),([n,r])=>i(ib(r),([o,s])=>[[n,o],s])),([n,r])=>ab(r,[...t,n]),()=>[t,e]),TO=e=>i(i(i(ib(e),([t,n])=>i(ab(n),([r,o])=>i(i(Aa(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[hh(t),n]),Np=e=>i(i(f("{",e),([t,n])=>i(TO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[bh(t),n]),EO=e=>i(Np(e),([t,n])=>[Ih(t),n]),vO=e=>i(i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[$h(t),n]),Uy=e=>i(i(vO(e),([t,n])=>[t,n],()=>i(i(ob(e),([t,n])=>i(oe(n),([r,o])=>i(sb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[wh(t),n]),mb=e=>i(i(i(f("...",e),([t,n])=>i(Uy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(Uy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[kh(t),n]),ub=(e,t=[])=>i(i(f(",",e),([n,r])=>i(mb(r),([o,s])=>[[n,o],s])),([n,r])=>ub(r,[...t,n]),()=>[t,e]),SO=e=>i(i(i(mb(e),([t,n])=>i(ub(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Th(t),n]),PO=e=>i(i(f("[",e),([t,n])=>i(SO(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Eh(t),n]),AO=e=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[vh(t),n]),RO=e=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Sh(t),n]),OO=e=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Ph(t),n]),MO=e=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ah(t),n]),Ky=e=>i(i(AO(e),([t,n])=>[t,n],()=>i(RO(e),([t,n])=>[t,n],()=>i(OO(e),([t,n])=>[t,n],()=>i(MO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),pb=e=>i(i(i(f("...",e),([t,n])=>i(Ky(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(Ky(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Rh(t),n]),cb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(pb(r),([o,s])=>[[n,o],s])),([n,r])=>cb(r,[...t,n]),()=>[t,e]),lb=e=>i(i(i(pb(e),([t,n])=>i(cb(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Oh(t),n]),CO=e=>i(i(f("(",e),([t,n])=>i(lb(n),([r,o])=>i(f(")",o),([s,a])=>i(f("=>",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[Mh(t),n]),LO=e=>i(i(f("new",e),([t,n])=>i(f("(",n),([r,o])=>i(lb(o),([s,a])=>i(f(")",a),([p,c])=>i(f("=>",c),([h,I])=>i(oe(I),([T,M])=>[[t,r,s,p,h,T],M])))))),([t,n])=>[Ch(t),n]),FO=e=>i(i(i(f("+",e),([t,n])=>i(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("-",e),([t,n])=>i(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[Lh(t),n]),jO=e=>i(i(i(f("+",e),([t,n])=>i(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("-",e),([t,n])=>i(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[Fh(t),n]),DO=e=>i(i(i(f("as",e),([t,n])=>i(oe(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[jh(t),n]),NO=e=>i(i(f("{",e),([t,n])=>i(FO(n),([r,o])=>i(f("[",o),([s,a])=>i(Pe(a),([p,c])=>i(f("in",c),([h,I])=>i(oe(I),([T,M])=>i(DO(M),([F,O])=>i(f("]",O),([_,Z])=>i(jO(Z),([ae,xe])=>i(f(":",xe),([ke,We])=>i(oe(We),([Nt,he])=>i(By(he),([te,E])=>i(f("}",E),([ze,qt])=>[[t,r,s,p,h,T,F,_,ae,ke,Nt,te,ze],qt]))))))))))))),([t,n])=>[Dh(t),n]),qO=e=>i(Pe(e),([t,n])=>[Nh(t),n]),_O=e=>i(Rp(e),([t,n])=>[qh(t),n]),UO=e=>i(Ea(e),([t,n])=>[_h(t),n]),KO=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[Uh(t),n]),GO=e=>i(Sa(['"',"'"],e),([t,n])=>[t,n]),WO=e=>i(f("null",e),([t,n])=>[Kh(t),n]),zO=e=>i(f("undefined",e),([t,n])=>[void 0,n]),db=e=>i(i(rb(e),([t,n])=>i(f(":",n),([r,o])=>i(qp(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Gh(t),n]),fb=(e,t=[])=>i(i(Aa(e),([n,r])=>i(db(r),([o,s])=>[[n,o],s])),([n,r])=>fb(r,[...t,n]),()=>[t,e]),BO=e=>i(i(i(db(e),([t,n])=>i(fb(n),([r,o])=>i(i(Aa(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Wh(t),n]),gb=e=>i(i(f("{",e),([t,n])=>i(BO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[zh(t),n]),xb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(qp(r),([o,s])=>[[n,o],s])),([n,r])=>xb(r,[...t,n]),()=>[t,e]),HO=e=>i(i(i(qp(e),([t,n])=>i(xb(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Bh(t),n]),VO=e=>i(i(f("[",e),([t,n])=>i(HO(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Hh(t),n]),qp=e=>i(i(_O(e),([t,n])=>[t,n],()=>i(UO(e),([t,n])=>[t,n],()=>i(KO(e),([t,n])=>[t,n],()=>i(GO(e),([t,n])=>[t,n],()=>i(WO(e),([t,n])=>[t,n],()=>i(zO(e),([t,n])=>[t,n],()=>i(gb(e),([t,n])=>[t,n],()=>i(VO(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),JO=e=>i(f("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Vh(t),n]),YO=e=>i(f(".*",e),([t,n])=>[Jh(t),n]),XO=e=>i(f("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Yh(t),n]),ZO=e=>i(f("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[Xh(t),n]),QO=e=>i(f("(?!)",e),([t,n])=>[Zh(t),n]),eM=e=>i(Ny(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Qh(t),n]),tM=e=>i(i(JO(e),([t,n])=>[t,n],()=>i(YO(e),([t,n])=>[t,n],()=>i(XO(e),([t,n])=>[t,n],()=>i(ZO(e),([t,n])=>[t,n],()=>i(QO(e),([t,n])=>[t,n],()=>i(nM(e),([t,n])=>[t,n],()=>i(eM(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),nM=e=>i(i(f("(",e),([t,n])=>i(_p(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ey(t),n]),hb=e=>i(i(i(Fp(e),([t,n])=>i(f("|",n),([r,o])=>i(hb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Fp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[ty(t),n]),Fp=e=>i(i(tM(e),([t,n])=>i(_p(n),([r,o])=>[[t,r],o])),([t,n])=>[ny(t),n]),_p=e=>i(i(hb(e),([t,n])=>[t,n],()=>i(Fp(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Eg=e=>i(i(f("^",e),([t,n])=>i(_p(n),([r,o])=>i(f("$",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ry(t),n]),yb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(oe(r),([o,s])=>[[n,o],s])),([n,r])=>yb(r,[...t,n]),()=>[t,e]),rM=e=>i(i(i(oe(e),([t,n])=>i(yb(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[oy(t),n]),bb=e=>i(i(i(f("extends",e),([t,n])=>i(rM(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[sy(t),n]),oM=e=>i(i(f("interface",e),([t,n])=>i(Pe(n),([r,o])=>i(jp(o),([s,a])=>i(bb(a),([p,c])=>i(Np(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[iy(t),n]),sM=e=>i(i(f("interface",e),([t,n])=>i(Pe(n),([r,o])=>i(bb(o),([s,a])=>i(Np(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[ay(t),n]),iM=e=>i(i(f("type",e),([t,n])=>i(Pe(n),([r,o])=>i(jp(o),([s,a])=>i(f("=",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[my(t),n]),aM=e=>i(i(f("type",e),([t,n])=>i(Pe(n),([r,o])=>i(f("=",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[uy(t),n]),mM=e=>i(i(i(f("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[py(t),n]),Ib=e=>i(i(i(f(";",e),([t,n])=>i(f(`
16
16
  `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(f(`
17
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),bb=(e,t=[])=>i(i(yb(e),([n,r])=>i(qp(r),([o,s])=>[[n,o],s])),([n,r])=>bb(r,[...t,n]),()=>[t,e]),aM=e=>i(i(i(qp(e),([t,n])=>i(bb(n),([r,o])=>i(i(yb(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[uy(t),n]),qp=e=>i(i(iM(e),([t,n])=>i(i(nM(n),([r,o])=>[r,o],()=>i(rM(n),([r,o])=>[r,o],()=>i(oM(n),([r,o])=>[r,o],()=>i(sM(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i(Wy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[py(t),n]),mM=e=>i(i(qp(e),([t,n])=>i(aM(n),([r,o])=>[[t,r],o])),([t,n])=>[cy(t),n]),Ib=e=>i(i(mM(e),([t,n])=>[t,n],()=>i(xO(e),([t,n])=>[t,n],()=>i(oe(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function $b(e){let t=Fp(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:De()}var _p=m(()=>{In();R();Mi()});function pM(e){return e.join("|")}function cM(e){return e.slice(1,e.length-1)}function lM(e,t,n){return sr(t,`${n}${e}`)}function dM(e,t){return sr(e,`${t}${hg}`)}function fM(e,t){return sr(e,`${t}${Pi}`)}function gM(e,t){return sr(e,`${t}${Ri}`)}function xM(e,t){return xs(V([ee("false"),ee("true")]),e,t)}function hM(e,t){return sr(e,`${t}${Oi}`)}function yM(e,t,n){return sr(t,`${n}${cM(e)}`)}function bM(e,t,n){let r=hs(e,{});return xs(r,t,n)}function IM(e,t,n){let r=gt(e);return xs(r,t,n)}function wb(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>wb(s,t,n,[...r,xs(o,[],"")]),()=>sr(t,`${n}(${pM(r)})`))}function xs(e,t,n){return tt(e)?IM(e.enum,t,n):lt(e)?fM(t,n):ue(e)?lM(e.const,t,n):wn(e)?dM(t,n):Bt(e)?xM(t,n):Me(e)?gM(t,n):ft(e)?hM(t,n):Se(e)?yM(e.pattern,t,n):Tb(e)?bM(e.parameters[0],t,n):L(e)?wb(e.anyOf,t,n):sf}function sr(e,t){return u.ShiftLeft(e,(n,r)=>xs(n,r,t),()=>t)}function $M(e){return`^${sr(e,"")}$`}function kb(e){let t=$M(e);return Fi(t)}var Up=m(()=>{R();rn();Oe();J();wt();wr();Vt();dt();kn();Yn();Be();ji();H();Pa()});function hs(e,t){return z(e)?l.Update(kb(e),{},t):Zi(e,t)}function Eb(e,t,n,r){let o=jt(e,t,n);return hs(o,r)}var Pa=m(()=>{v();wt();Up();N()});function Zi(e,t={}){return j("TemplateLiteral",[e],t)}function Tb(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function vb(e){return hs(e,{})}function wM(e){let t=$b(e);return vb(t)}function Sb(e,t={}){let n=u.IsString(e)?wM(e):vb(e);return l.Update(n,{},t)}function Se(e){return C(e,"TemplateLiteral")}var wt=m(()=>{Ho();R();B();se();_p();Pa()});var G={};Lt(G,{ExtendsFalse:()=>W,ExtendsTrue:()=>P,ExtendsUnion:()=>Kp,IsExtendsFalse:()=>kM,IsExtendsTrue:()=>Ab,IsExtendsTrueLike:()=>uo,IsExtendsUnion:()=>Pb,Match:()=>Ie});function Kp(e){return l.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Pb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function P(e){return l.Create({"~kind":"ExtendsTrue"},{inferred:e})}function Ab(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function W(){return l.Create({"~kind":"ExtendsFalse"},{})}function kM(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function uo(e){return Pb(e)||Ab(e)}function Ie(e,t,n){return uo(e)?t(e.inferred):n()}var ye=m(()=>{R();v()});function TM(e,t,n,r){return Ie(ne(e,n,r),o=>P(l.Assign(l.Assign(e,o),{[t]:n})),()=>W())}function EM(e,t){return P(e)}function vM(e,t,n,r,o){return Ie(ne(e,t,n),s=>Ie(ne(s,t,r),a=>P(a),()=>W()),()=>Ie(ne(e,t,o),s=>P(s),()=>W()))}function SM(e,t,n){let r=gt(n);return ne(e,t,r)}function Rb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>Rb(s,t,o),()=>W()),()=>P(e))}function PM(e,t,n){let r=st(n);return ne(e,t,r)}function Ob(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>P(s),()=>Ob(e,t,o)),()=>W())}function pe(e,t,n){return Te(n)?EM(e,t):ve(n)?vM(e,t,n.if,n.then,n.else):tt(n)?SM(e,t,n.enum):Re(n)?TM(e,n.name,t,n.extends):Q(n)?Rb(e,t,n.allOf):Se(n)?PM(e,t,n.pattern):L(n)?Ob(e,t,n.anyOf):Ae(n)?P(e):W()}var at=m(()=>{R();v();bt();St();rn();zt();je();wt();J();Qe();Et();ye();H();H()});function Mb(e,t,n){return Re(n)?pe(e,t,n):Te(n)?P(e):Ae(n)?P(e):Kp(e)}var Cb=m(()=>{zt();bt();Qe();at();ye()});function AM(e,t){let n=br(e),r=br(t);return n&&r||!n&&r?!0:!(n&&!r)}function Lb(e,t,n,r){return $e(r)?AM(t,r)?ne(e,n,r.items):W():pe(e,t,r)}var Fb=m(()=>{ct();Yo();at();Et();ye()});function jb(e,t,n){return wn(n)?P(e):pe(e,t,n)}var Db=m(()=>{wr();at();ye()});function Nb(e,t,n){return Bt(n)?P(e):pe(e,t,n)}var qb=m(()=>{Yn();at();ye()});function RM(e,t,n,r,o){let s=Re(r)?t:r,a=Re(r)?r:t,p=ot(t),c=ot(r);return!p&&c?W():Ie(ne(e,s,a),h=>ys(h,n,o),()=>W())}function OM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>RM(e,t,n,o,s),()=>ot(t)?P(e):W())}function MM(e,t,n){return u.ShiftLeft(t,(r,o)=>OM(e,r,o,n),()=>P(e))}function ys(e,t,n){return MM(e,t,n)}var Gp=m(()=>{R();zt();Jn();Et();ye()});function Aa(e,t,n){return En(n)?P(e):ne(e,t,n)}var Wp=m(()=>{Sr();Et();ye()});function _b(e,t,n,r){return Te(r)?P(e):Ae(r)?P(e):_e(r)?Ie(ys(e,t,r.parameters),o=>Aa(o,n,r.instanceType),()=>W()):W()}var Ub=m(()=>{bt();Kt();Qe();ye();Gp();Wp()});function Kb(e,t,n,r,o){return Ie(ne(e,t,o),()=>ne(e,n,o),()=>ne(e,r,o))}var Gb=m(()=>{Et();ye()});function Wb(e,t,n){let r=gt(t);return ne(e,r,n)}var zb=m(()=>{Et();H()});function Bb(e,t,n,r){return Te(r)?P(e):Ae(r)?P(e):Ue(r)?Ie(ys(e,t,r.parameters),o=>Aa(o,n,r.returnType),()=>W()):W()}var Hb=m(()=>{bt();Gt();Qe();ye();Gp();Wp()});function Vb(e,t,n){return lt(n)?P(e):Me(n)?P(e):pe(e,t,n)}var Jb=m(()=>{kn();dt();at();ye()});function Yb(e,t,n){let r=we(t);return ne(e,r,n)}var Xb=m(()=>{Et();bs()});function Ra(e,t,n){return t===n?P(e):W()}function CM(e,t,n){return ue(n)?Ra(e,t,n.const):wn(n)?P(e):pe(e,ee(t),n)}function LM(e,t,n){return ue(n)?Ra(e,t,n.const):Bt(n)?P(e):pe(e,ee(t),n)}function FM(e,t,n){return ue(n)?Ra(e,t,n.const):Me(n)?P(e):pe(e,ee(t),n)}function jM(e,t,n){return ue(n)?Ra(e,t,n.const):ft(n)?P(e):pe(e,ee(t),n)}function Zb(e,t,n){return u.IsBigInt(t.const)?CM(e,t.const,n):u.IsBoolean(t.const)?LM(e,t.const,n):u.IsNumber(t.const)?FM(e,t.const,n):u.IsString(t.const)?jM(e,t.const,n):De()}var Qb=m(()=>{R();Yu();Oe();wr();Yn();dt();Vt();at();ye()});function eI(e,t,n){return Re(n)?pe(e,t,n):P(e)}var tI=m(()=>{zt();at();ye()});function nI(e,t,n){return Vr(n)?P(e):pe(e,t,n)}var rI=m(()=>{Jr();at();ye()});function oI(e,t,n){return Me(n)?P(e):pe(e,t,n)}var sI=m(()=>{dt();at();ye()});function DM(e,t,n){return ot(t)?ot(n)?P(e):W():P(e)}function NM(e,t,n){return Re(n)&&nn(n.extends)?W():Ie(ne(e,t,n),r=>DM(r,t,n),()=>W())}function qM(e,t){return e.reduce((n,r)=>r in t?uo(t[r])?{...n,...t[r].inferred}:De():De(),{})}function _M(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?NM({},t[a],n[a]):ot(n[a])?Re(n[a])?P(l.Assign(e,{[n[a].name]:n[a].extends})):P(e):W();let o=u.Values(r).every(a=>uo(a)),s=o?qM(u.Keys(r),r):{};return o?P(s):W()}function UM(e,t,n){let r=_M(e,t,n);return uo(r)?P(l.Assign(e,r.inferred)):W()}function KM(e,t,n){return UM(e,t,n)}function GM(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?L(n[r])?V([...n[r].anyOf,t[r]]):V([e[r],t[r]]):t[r]}),e)}function iI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>Ie(ne({},e[o],n),a=>iI(e,s,n,GM(r,a)),()=>W()),()=>P(r))}function WM(e,t,n,r){let o=u.Keys(t);return iI(t,o,r,e)}function aI(e,t,n){return rt(n)?WM(e,t,Yt(n),xt(n)):me(n)?KM(e,t,n.properties):pe(e,K(t),n)}var mI=m(()=>{In();v();R();Jn();zt();Be();ce();Ve();J();Et();at();ye()});function zM(e,t){return u.IsEqual(u.Keys(t).length,0)?P(e):W()}function BM(e,t,n,r,o){return ne(e,n,o)}function uI(e,t,n,r){return rt(r)?BM(e,Bi(t),n,Bi(Yt(r)),xt(r)):me(r)?zM(e,r.properties):Te(r)?P(e):Ae(r)?P(e):W()}var pI=m(()=>{R();bt();Qe();ce();Ve();Et();ye()});function cI(e,t,n){return ft(n)?P(e):pe(e,t,n)}var lI=m(()=>{Vt();at();ye()});function dI(e,t,n){return Xn(n)?P(e):pe(e,t,n)}var fI=m(()=>{Tr();at();ye()});function gI(e,t,n){let r=st(t);return ne(e,r,n)}var xI=m(()=>{Et();H()});function zp(e,t){return l.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function Is(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"name")&&u.HasPropertyKey(e,"type")&&u.IsEqual(e["~kind"],"Inferrable")&&u.IsString(e.name)&&u.IsObject(e.type)}function Bp(e){return nr(e)?Re(e.items)?$e(e.items.extends)?zp(e.items.name,e.items.extends.items):Ae(e.items.extends)?zp(e.items.name,e.items.extends):void 0:De():void 0}function Oa(e){return Re(e)?zp(e.name,e.extends):void 0}function Hp(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Ie(ne({},r,t),()=>Hp(o,t,[...n,r]),()=>{}),()=>n)}function hI(e,t,n,r){let o=Hp(n,r);return u.IsArray(o)?P(l.Assign(e,{[t]:Ce(o)})):W()}function Ma(e,t,n,r){let o=Hp(n,r);return u.IsArray(o)?P(l.Assign(e,{[t]:V(o)})):W()}var Vp=m(()=>{In();v();R();ct();Qe();Ne();Et();J();zt();eo();ye()});function HM(e){return[...e].reverse()}function Jp(e,t){return t?HM(e):e}function VM(e){let t=e.length>0?e[0]:void 0,n=Fe(t)?Bp(t):void 0;return Fe(n)}function JM(e,t,n,r,o,s){return Ie(ne(e,n,o),a=>yI(a,t,r,s),()=>W())}function YM(e,t,n,r,o){let s=Bp(r);return Is(s)?hI(e,s.name,Jp(n,t),s.type):u.ShiftLeft(n,(a,p)=>JM(e,t,a,p,r,o),()=>W())}function XM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>YM(e,t,n,o,s),()=>u.IsEqual(n.length,0)?P(e):W())}function yI(e,t,n,r){return XM(e,t,n,r)}function ZM(e,t,n){let r=ir(e,be([],[]),n),o=VM(r);return yI(e,o,Jp(t,o),Jp(r,o))}function bI(e,t,n){let r=Oa(n);return Is(r)?Ma(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>Ie(ne(e,o,n),a=>bI(a,s,n),()=>W()),()=>P(e))}function II(e,t,n){let r=ir(e,be([],[]),t);return ge(n)?ZM(e,r,n.items):$e(n)?bI(e,r,n.items):pe(e,Ce(r),n)}var $I=m(()=>{R();B();ct();Ne();Et();at();ye();N();N();Vp()});function wI(e,t,n){return En(n)?P(e):no(n)?P(e):pe(e,t,n)}var kI=m(()=>{ro();Sr();at();ye()});function TI(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>P(s),()=>TI(e,t,o)),()=>W())}function Yp(e,t,n){return u.ShiftLeft(t,(r,o)=>Ie(TI(e,r,n),s=>Yp(s,o,n),()=>W()),()=>P(e))}function EI(e,t,n){let r=Oa(n);return Is(r)?Ma(e,r.name,t,r.type):L(n)?Yp(e,t,n.anyOf):Yp(e,t,[n])}var vI=m(()=>{R();J();Et();ye();Vp()});function SI(e,t,n){return Re(n)?pe(e,t,n):Te(n)?P(e):Ae(n)?P(e):W()}var PI=m(()=>{bt();Qe();zt();at();ye()});function AI(e,t,n){return En(n)?P(e):pe(e,t,n)}var RI=m(()=>{Sr();at();ye()});function ne(e,t,n){return Te(t)?Mb(e,t,n):$e(t)?Lb(e,t,t.items,n):wn(t)?jb(e,t,n):Bt(t)?Nb(e,t,n):_e(t)?_b(e,t.parameters,t.instanceType,n):ve(t)?Kb(e,t.if,t.then,t.else,n):tt(t)?Wb(e,t.enum,n):Ue(t)?Bb(e,t.parameters,t.returnType,n):lt(t)?Vb(e,t,n):Q(t)?Yb(e,t.allOf,n):ue(t)?Zb(e,t,n):nn(t)?eI(e,t,n):Vr(t)?nI(e,t,n):Me(t)?oI(e,t,n):me(t)?aI(e,t.properties,n):rt(t)?uI(e,Yt(t),xt(t),n):ft(t)?cI(e,t,n):Xn(t)?dI(e,t,n):Se(t)?gI(e,t.pattern,n):ge(t)?II(e,t.items,n):no(t)?wI(e,t,n):L(t)?EI(e,t.anyOf,n):Ae(t)?SI(e,t,n):En(t)?AI(e,t,n):W()}var Et=m(()=>{Cb();Fb();Db();qb();Ub();Gb();zb();Hb();Jb();Xb();Qb();tI();rI();sI();mI();pI();lI();fI();xI();$I();kI();vI();PI();RI();bt();ct();wr();Yn();Kt();St();rn();Gt();kn();je();Oe();Be();Jr();dt();ce();Ve();Vt();Tr();wt();Ne();ro();Qe();J();Sr();ye()});function QM(e,t){return we([...e,K(t)])}function Xp(e,t,n){return z(e)?l.Update(QM(e,t),{},n):cs(e,t,n)}function OI(e,t,n,r,o){let s=jt(e,t,n),a=$s(e,t,r);return Xp(s,a,o)}var Ca=m(()=>{v();ce();H();so();N();N();N()});function cs(e,t,n={}){return j("Interface",[e,t],n)}function po(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function MI(e,t,n={}){return Xp(e,t,n)}var ws=m(()=>{R();B();se();Ca()});function eC(e,t,n){return e.includes(n)?!0:ks([...e,n],t,t[n])}function CI(e,t,n){let r=$i(n);return Ar(e,t,r)}function Ar(e,t,n){return u.ShiftLeft(n,(r,o)=>ks(e,t,r)?!0:Ar(e,t,o),()=>!1)}function ks(e,t,n){return Ke(n)?eC(e,t,n.$ref):$e(n)?ks(e,t,n.items):_e(n)?Ar(e,t,[...n.parameters,n.instanceType]):Ue(n)?Ar(e,t,[...n.parameters,n.returnType]):po(n)?CI(e,t,n.parameters[1]):Q(n)?Ar(e,t,n.allOf):me(n)?CI(e,t,n.properties):L(n)?Ar(e,t,n.anyOf):ge(n)?Ar(e,t,n.items):rt(n)?ks(e,t,xt(n)):!1}function LI(e,t,n){return ks(e,t,n)}var Zp=m(()=>{R();ct();Kt();Gt();je();ce();hr();Ve();Ne();J();Wt();ws()});function tC(e,t){return t.reduce((n,r)=>LI([r],e,e[r])?[...n,r]:n,[])}function FI(e){let t=Ii(e);return tC(e,t)}var Qp=m(()=>{hr();Zp()});function nC(e,t,n){return n.includes(t)?n:t in e?Ts(e,e[t],[...n,t]):De()}function jI(e,t,n){let r=$i(t);return co(e,r,n)}function co(e,t,n){return t.reduce((r,o)=>Ts(e,o,r),n)}function Ts(e,t,n){return Ke(t)?nC(e,t.$ref,n):$e(t)?Ts(e,t.items,n):_e(t)?co(e,[...t.parameters,t.instanceType],n):Ue(t)?co(e,[...t.parameters,t.returnType],n):po(t)?jI(e,t.parameters[1],n):Q(t)?co(e,t.allOf,n):me(t)?jI(e,t.properties,n):L(t)?co(e,t.anyOf,n):ge(t)?co(e,t.items,n):rt(t)?Ts(e,xt(t),n):n}function DI(e,t,n){return Ts(e,n,[t])}var ec=m(()=>{In();ct();Kt();Gt();je();ce();hr();Ve();Ne();J();Wt();ws()});function rC(e){return Wr()}function oC(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Rr(e[n])}),{})}function Es(e){return e.reduce((t,n)=>[...t,Rr(n)],[])}function Rr(e){return Ke(e)?rC(e.$ref):$e(e)?Ft(Rr(e.items),bi(e)):_e(e)?gn(Es(e.parameters),Rr(e.instanceType)):Ue(e)?xn(Es(e.parameters),Rr(e.returnType)):Q(e)?$t(Es(e.allOf)):me(e)?K(oC(e.properties)):rt(e)?zi(Qr(e),Rr(xt(e))):L(e)?V(Es(e.anyOf)):ge(e)?Ce(Es(e.items)):e}function sC(e,t){return t in e?Rr(e[t]):He()}function NI(e){return sC(e.$defs,e.$ref)}var qI=m(()=>{R();bt();ct();Kt();Gt();je();ce();Ve();Wt();Ne();J();Qe()});function iC(e,t,n){let r=jt(e,be([],[]),t),o=$s({},be([],[]),n);return we([...r,K(o)])}function aC(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=po(s)?iC(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function _I(e,t,n){let r=DI(e,t,n),o=aC(e,r);return yn(o,t)}var tc=m(()=>{R();It();ce();ec();so();N();N();N();H()});function UI(e,t){return t in e?Ke(e[t])?UI(e,e[t].$ref):e[t]:le()}function Pn(e,t){return UI(e,t)}var Or=m(()=>{Be();Wt()});var nc=m(()=>{Qp();Zp();ec();qI();tc();Or()});function KI(e){return et(e)?NI(e):wi(e)?He():e}function nt(e,t,n){let r=KI(t),o=KI(n);return ne(e,r,o)}var GI=m(()=>{It();Qe();ki();Et();nc()});var Tn=m(()=>{GI();ye()});function is(e,t){let n=[nt({},e,t),nt({},t,e)];return G.IsExtendsTrueLike(n[0])&&G.IsExtendsTrueLike(n[1])?os:G.IsExtendsTrueLike(n[0])&&G.IsExtendsFalse(n[1])?ss:G.IsExtendsFalse(n[0])&&G.IsExtendsTrueLike(n[1])?_i:La}var os,La,ss,_i,as=m(()=>{Tn();os=0,La=1,ss=2,_i=3});function rc(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=is(e,o);return u.IsEqual(a,ss)||u.IsEqual(a,os)?r:u.IsEqual(a,La)?rc(e,s,[...n,o],r):rc(e,s,n,r)},()=>[...n,e])}function mC(e,t,n){let r=Jt(e);return Te(r)?[r]:Ae(r)?[r]:nn(r)?Fa(t,n):me(r)?Fa(t,[...n,r]):Fa(t,rc(r,n))}function Fa(e,t=[]){return u.ShiftLeft(e,(n,r)=>mC(n,r,t),()=>t)}function yp(e){let t=Fa(e);return Zr(t)}var bp=m(()=>{R();bt();Be();ce();Qe();as();Ki();H()});function oc(e,t){return l.Update(Jt(e),{},t)}function WI(e,t,n,r){let o=k(e,t,n);return oc(o,r)}var ja=m(()=>{v();N();H()});var bs=m(()=>{bp();as();fp();xp();H();Ki();ja();gp()});function vs(e,t=[]){return Hn(e)&&u.IsEqual(e.action,"Conditional")?Ke(e.parameters[0])?vs(e.parameters[2],vs(e.parameters[3],[...t,e.parameters[0].$ref])):vs(e.parameters[2],vs(e.parameters[3],t)):Hn(e)&&u.IsEqual(e.action,"Mapped")&&Hn(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&Ke(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function uC(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function HI(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>HI(o,a,[...n,[s,r]]),()=>n),()=>n)}function pC(e){return Se(e)?st(e.pattern):tt(e)?gt(e.enum):e}function cC(e){let t=pC(e);return L(t)?[...t.anyOf]:[t]}function lC(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function zI(e,t){return t.reduce((n,r)=>[...n,...lC(e,r)],[])}function BI(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?zI(t,cC(n[1])):zI(t,[n[1]]),[[]])}function VI(e,t,n){let r=vs(n),o=uC(e,r),s=HI(t,o);return Hn(n)&&u.IsEqual(n.action,"Conditional")||Hn(n)&&u.IsEqual(n.action,"Mapped")?BI(s):[t]}var JI=m(()=>{R();J();se();rn();wt();Wt();H();H()});function dC(){return["(not-resolvable)",le()]}function fC(){return["(not-generic)",le()]}function gC(e,t,n){return[e,Vn(t,n)]}function xC(e,t,n){return t in e?YI(e,t,e[t],n):dC()}function YI(e,t,n,r){return Gr(n)?gC(t,n.parameters,n.expression):Ke(n)?xC(e,n.$ref,r):fC()}function XI(e,t,n){return YI(e,"(anonymous)",t,n)}var ZI=m(()=>{Wo();Wt();Be()});function hC(e,t,n){if(Re(t)||lo(t)||G.IsExtendsTrueLike(nt({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function QI(e,t,n,r,o){let s=k(e,t,o);return hC(n,s,r),l.Assign(e,{[n]:s})}function yC(e,t,n,r,o){let s=k(e,t,n.extends),a=k(e,t,n.equals);return u.ShiftLeft(o,(p,c)=>sc(QI(e,t,n.name,s,p),t,r,c),()=>sc(QI(e,t,n.name,s,a),t,r,[]))}function sc(e,t,n,r){return u.ShiftLeft(n,(o,s)=>yC(e,t,o,s,r),()=>e)}function e$(e,t,n,r){return sc(e,t,n,r)}var t$=m(()=>{R();v();N();Tn();zt();oo()});function bC(){if(!u.IsLessThan(ac,tn.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function IC(){bC(),ac++,ic++}function $C(){ic--,u.IsEqual(ic,0)&&(ac=0)}function wC(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function kC(e,t){return u.IsEqual(wC(e),t)}function TC(e,t,n,r,o,s){IC();try{let a=e$(e,t,r,s),p=k(a,be([...t.callstack,n.$ref],t.visited),o);return k(a,be([],[]),p)}finally{$C()}}function EC(e,t,n,r,o,s){return s.reduce((a,p)=>{let c=TC(e,t,n,r,o,p);return[...a,c]},[])}function vC(e,t,n,r,o,s){let a=VI(r,s,o),p=EC(e,t,n,r,o,a);return u.IsEqual(p.length,1)?p[0]:Tt(p)}function Da(e,t,n,r){let o=jt(e,t,r),s=XI(e,n,r),a=s[0],p=s[1];return Gr(p)?kC(t,a)?ls(jn(a),o):vC(e,t,jn(a),p.parameters,p.expression,o):ls(n,o)}var ic,ac,mc=m(()=>{fr();R();oo();Wt();Wo();bs();N();N();N();JI();ZI();t$();ic=0,ac=0});function ls(e,t){return l.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function n$(e,t){return Da({},be([],[]),e,t)}function lo(e){return C(e,"Call")}var oo=m(()=>{v();B();mc();N()});function SC(e){return l.Discard(e,["~immutable"])}function r$(e,t){return l.Update(SC(e),{},t)}function o$(e,t,n,r){let o=k(e,t,n);return r$(o,r)}var uc=m(()=>{v();N()});function s$(e,t){return e(t)}var i$=m(()=>{});function a$(e,t){return u.IsString(t)?ee(s$(e,t)):ee(t)}var m$=m(()=>{R();Oe();i$()});function u$(e,t){let n=st(t);return qn(e,n)}var p$=m(()=>{Na();bs()});function c$(e,t){let n=t.map(r=>qn(e,r));return V(n)}var l$=m(()=>{J();Na()});function qn(e,t){return ue(t)?a$(e,t.const):Se(t)?u$(e,t.pattern):L(t)?c$(e,t.anyOf):t}var Na=m(()=>{Oe();wt();J();m$();p$();l$()});function Qi(e,t={}){return j("Capitalize",[e],t)}function d$(e,t={}){return pc(e,t)}var qa=m(()=>{se();An()});function ea(e,t={}){return j("Lowercase",[e],t)}function f$(e,t={}){return cc(e,t)}var _a=m(()=>{se();An()});function ta(e,t={}){return j("Uncapitalize",[e],t)}function g$(e,t={}){return lc(e,t)}var Ua=m(()=>{se();An()});function na(e,t={}){return j("Uppercase",[e],t)}function x$(e,t={}){return dc(e,t)}var Ka=m(()=>{se();An()});function pc(e,t){return z([e])?l.Update(qn(PC,e),{},t):Qi(e,t)}function cc(e,t){return z([e])?l.Update(qn(AC,e),{},t):ea(e,t)}function lc(e,t){return z([e])?l.Update(qn(RC,e),{},t):ta(e,t)}function dc(e,t){return z([e])?l.Update(qn(OC,e),{},t):na(e,t)}function h$(e,t,n,r){let o=k(e,t,n);return pc(o,r)}function y$(e,t,n,r){let o=k(e,t,n);return cc(o,r)}function b$(e,t,n,r){let o=k(e,t,n);return lc(o,r)}function I$(e,t,n,r){let o=k(e,t,n);return dc(o,r)}var PC,AC,RC,OC,An=m(()=>{v();Na();N();qa();_a();Ua();Ka();PC=e=>e[0].toUpperCase()+e.slice(1),AC=e=>e.toLowerCase(),RC=e=>e[0].toLowerCase()+e.slice(1),OC=e=>e.toUpperCase()});function ra(e,t,n,r,o={}){return j("Conditional",[e,t,n,r],o)}function $$(e,t,n,r,o={}){return fc({},be([],[]),e,t,n,r,o)}var Ga=m(()=>{se();gc();N()});function MC(e,t,n,r,o,s){let a=nt(e,n,r);return G.IsExtendsUnion(a)?V([k(a.inferred,t,o),k(e,t,s)]):G.IsExtendsTrue(a)?k(a.inferred,t,o):k(e,t,s)}function fc(e,t,n,r,o,s,a){return z([n,r])?l.Update(MC(e,t,n,r,o,s),{},a):ra(n,r,o,s,a)}function w$(e,t,n,r,o,s,a){let p=k(e,t,n),c=k(e,t,r);return fc(e,t,p,c,o,s,a)}var gc=m(()=>{v();J();Tn();N();Ga()});var xc=m(()=>{gc()});function oa(e,t={}){return j("ConstructorParameters",[e],t)}function k$(e,t={}){return hc(e,t)}var Wa=m(()=>{se();za()});function CC(e){let t=_e(e)?e.parameters:[],n=ir({},be([],[]),t);return Ce(n)}function hc(e,t){return z([e])?l.Update(CC(e),{},t):oa(e,t)}function T$(e,t,n,r){let o=k(e,t,n);return hc(o,r)}var za=m(()=>{v();Kt();Ne();Wa();N();N();N()});function sa(e,t,n={}){return j("Exclude",[e,t],n)}function E$(e,t,n={}){return Ss(e,t,n)}var Ba=m(()=>{se();Ps()});function Ss(e,t,n){return z([e,t])?l.Update(Ui(e,t),{},n):sa(e,t,n)}function v$(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Ss(s,a,o)}var Ps=m(()=>{v();N();Ba();hp()});function ia(e,t,n={}){return j("Extract",[e,t],n)}function S$(e,t,n={}){return yc(e,t,n)}var Ha=m(()=>{se();Va()});function LC(e,t){let n=nt({},e,t);return G.IsExtendsTrueLike(n)?[e]:[]}function P$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>P$(o,t,[...n,...LC(r,t)]),()=>n)}function A$(e,t){let n=Jt(e),r=L(n)?n.anyOf:[n],o=P$(r,t);return Tt(o)}var R$=m(()=>{R();J();Tn();H();H()});function yc(e,t,n){return z([e,t])?l.Update(A$(e,t),{},n):ia(e,t,n)}function O$(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return yc(s,a,o)}var Va=m(()=>{v();N();Ha();R$()});function FC(e){return e.reduce((t,n)=>Ai(n)?[...t,ee(n)]:t,[])}function fo(e){let t=FC(e);return V(t)}var As=m(()=>{Oe();J()});function ds(e,t,n={}){return j("Index",[e,t],n)}function M$(e,t,n={}){let r=u.IsArray(t)?fo(t):t;return Ic(e,r,n)}var bc=m(()=>{R();se();As();Ja()});function C$(e,t){let n=Pn(e,t);return Dt(n)}var L$=m(()=>{Mr();Or()});function F$(e,t,n){let r=sn(e,t,n);return Dt(r)}var j$=m(()=>{Mr();H()});function jC(e,t){let n=u.Keys(e).filter($=>!u.HasPropertyKey(t,$)),r=u.Keys(t).filter($=>!u.HasPropertyKey(e,$)),o=u.Keys(e).filter($=>u.HasPropertyKey(t,$)),s=n.reduce(($,T)=>({...$,[T]:e[T]}),{}),a=r.reduce(($,T)=>({...$,[T]:t[T]}),{}),p=o.reduce(($,T)=>({...$,[T]:we([e[T],t[T]])}),{}),c=l.Assign(s,a);return l.Assign(c,p)}function D$(e){return e.reduce((t,n)=>jC(t,Dt(n)),{})}var N$=m(()=>{v();R();Mr();H()});var q$=m(()=>{});function _$(e){let t=Ug(Ce(e));return Dt(t)}var U$=m(()=>{Ne();lp();Mr()});function DC(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:Tt([e[s],t[s]])}),{})}function K$(e,t){return u.ShiftLeft(e,(n,r)=>K$(r,DC(t,Dt(n))),()=>t)}function G$(e){return u.ShiftLeft(e,(t,n)=>K$(n,Dt(t)),()=>De())}var W$=m(()=>{R();In();H();Mr()});function Dt(e){return et(e)?C$(e.$defs,e.$ref):ve(e)?F$(e.if,e.then,e.else):Q(e)?D$(e.allOf):L(e)?G$(e.anyOf):ge(e)?_$(e.items):me(e)?e.properties:{}}var Mr=m(()=>{It();St();je();ce();Ne();J();L$();j$();N$();q$();U$();W$()});function go(e){let t=Dt(e);return K(t)}var z$=m(()=>{ce();Mr()});var Rs=m(()=>{z$()});function xo(e){let t=`${e}`;return NC.test(t)?parseInt(t):e}var NC,Os=m(()=>{NC=new RegExp("^(?:0|[1-9][0-9]*)$")});function qC(e){return ee(xo(e))}function B$(e){return e.map(t=>H$(t))}function H$(e){return Q(e)?$t(B$(e.allOf)):L(e)?V(B$(e.anyOf)):ue(e)?qC(e.const):e}function V$(e,t){let n=H$(t),r=nt({},n,Pt());return G.IsExtendsTrueLike(r)?e:ue(t)&&u.IsEqual(t.const,"length")?Pt():le()}var J$=m(()=>{R();je();J();Oe();dt();Be();Tn();Os()});function Y$(e,t){let n=Pn(e,t);return Rt(n)}var X$=m(()=>{ar();Or()});function Z$(e,t,n){let r=sn(e,t,n);return Rt(r)}var Q$=m(()=>{ar();H()});function ew(e){let t=gt(e);return Rt(t)}var tw=m(()=>{ar();H()});function nw(e){let t=we(e);return Rt(t)}var rw=m(()=>{H();ar()});function ow(e){return[`${e}`]}var sw=m(()=>{});function iw(e){let t=st(e);return Rt(t)}var aw=m(()=>{ar();H()});function mw(e){return e.reduce((t,n)=>[...t,...Rt(n)],[])}var uw=m(()=>{ar()});function Rt(e){return et(e)?Y$(e.$defs,e.$ref):ve(e)?Z$(e.if,e.then,e.else):tt(e)?ew(e.enum):Q(e)?nw(e.allOf):ue(e)?ow(e.const):Se(e)?iw(e.pattern):L(e)?mw(e.anyOf):[]}var ar=m(()=>{It();St();rn();je();Oe();wt();J();X$();Q$();tw();rw();sw();aw();uw()});function ho(e){return Rt(e)}var Ya=m(()=>{ar()});function Ms(e,t){return t.map(n=>Cs(e,n))}function Cs(e,t){return $e(t)?Ft(Cs(e,t.items)):_e(t)?gn(Ms(e,t.parameters),Cs(e,t.instanceType)):Ue(t)?xn(Ms(e,t.parameters),Cs(e,t.returnType)):ge(t)?Ce(Ms(e,t.items)):L(t)?V(Ms(e,t.anyOf)):Q(t)?$t(Ms(e,t.allOf)):Vi(t)?K(e):t}function pw(e,t){return Cs(e,t)}var cw=m(()=>{ct();Kt();Gt();je();ce();Ne();Ji();J()});function _C(e,t){let n=t in e?e[t]:le();return pw(e,n)}function lw(e,t){return t.reduce((n,r)=>[...n,_C(e,r)],[])}function UC(e,t){let n=ho(t),r=lw(e,n);return Tt(r)}function GC(e){return e.filter(n=>KC.test(n))}function WC(e){let t=Ii(e),n=GC(t),r=lw(e,n);return Tt(r)}function dw(e,t){return Me(t)?WC(e):UC(e,t)}var KC,fw=m(()=>{dt();Be();hr();H();Ya();Ve();cw();KC=new RegExp(tr)});function zC(e){return ee(xo(e))}function gw(e){return e.map(t=>$c(t))}function $c(e){return Q(e)?$t(gw(e.allOf)):L(e)?V(gw(e.anyOf)):ue(e)?zC(e.const):e}var xw=m(()=>{J();je();Oe();Os()});function BC(e,t){return e.reduceRight((n,r,o)=>{let s=nt({},ee(o),t);return G.IsExtendsTrueLike(s)?[r,...n]:n},[])}function HC(e,t){let n=$c(t),r=BC(e,n);return Qn(r)}function VC(e){return Qn(e)}function hw(e,t){return ue(t)&&u.IsEqual(t.const,"length")?ee(e.length):Me(t)||lt(t)?VC(e):HC(e,t)}var yw=m(()=>{R();Oe();dt();kn();H();Tn();xw()});function bw(e,t){return $e(e)?V$(e.items,t):me(e)?dw(e.properties,t):ge(e)?hw(e.items,t):le()}var Iw=m(()=>{ct();Be();ce();Ne();J$();fw();yw()});function JC(e){return et(e)||ve(e)||Q(e)||L(e)?go(e):e}function Ic(e,t,n){return z([e,t])?l.Update(bw(JC(e),t),{},n):ds(e,t,n)}function $w(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Ic(s,a,o)}var Ja=m(()=>{v();It();St();je();J();N();bc();Rs();Iw()});function aa(e,t={}){return j("InstanceType",[e],t)}function ww(e,t={}){return wc(e,t)}var Xa=m(()=>{se();Za()});function YC(e){return _e(e)?e.instanceType:le()}function wc(e,t){return z([e])?l.Update(YC(e),{},t):aa(e,t)}function kw(e,t,n,r={}){let o=k(e,t,n);return wc(o,r)}var Za=m(()=>{v();Kt();Be();Xa();N()});function fs(e,t={}){return j("KeyOf",[e],t)}function Tw(e,t={}){return kc(e,t)}var Qa=m(()=>{se();em()});function Ew(){return V([Pt(),Ht(),Yr()])}var vw=m(()=>{dt();Vt();Tr();J()});function Sw(e){return Pt()}var Pw=m(()=>{dt()});function XC(e){return e.reduce((n,r)=>Ai(r)?[...n,ee(xo(r))]:De(),[])}function Aw(e){let t=u.Keys(e),n=XC(t);return Qn(n)}var Rw=m(()=>{In();R();Oe();Os();H()});function Ow(e){return Qr(e)}var Mw=m(()=>{Ve()});function Cw(e){let t=e.map((n,r)=>ee(r));return Qn(t)}var Lw=m(()=>{Oe();H()});function Fw(e){return Te(e)?Ew():$e(e)?Sw(e.items):me(e)?Aw(e.properties):rt(e)?Ow(e):ge(e)?Cw(e.items):le()}var jw=m(()=>{bt();ct();Be();ce();Ve();Ne();vw();Pw();Rw();Mw();Lw()});function ZC(e){return et(e)||ve(e)||Q(e)||L(e)?go(e):e}function kc(e,t){return z([e])?l.Update(Fw(ZC(e)),{},t):fs(e,t)}function Dw(e,t,n,r){let o=k(e,t,n);return kc(o,r)}var em=m(()=>{v();It();St();je();J();Qa();N();Rs();jw()});function ps(e,t,n,r,o={}){return j("Mapped",[e,t,n,r],o)}function Nw(e,t,n,r,o={}){return Tc({},be([],[]),e,t,n,r,o)}var tm=m(()=>{se();nm();N()});function QC(e){let t=st(e);return rm(t)}function e0(e){return e.reduce((t,n)=>[...t,...rm(n)],[])}function t0(e){let t=gt(e);return rm(t)}function n0(e){return u.IsNumber(e)?[ee(`${e}`)]:[ee(e)]}function rm(e){return tt(e)?t0(e.enum):ue(e)?n0(e.const):Se(e)?QC(e.pattern):L(e)?e0(e.anyOf):[e]}function qw(e){return rm(e)}var _w=m(()=>{R();Oe();rn();wt();J();H();H()});function r0(e){return Se(e)?st(e.pattern):e}function o0(e,t,n,r,o,s){let a=l.Assign(e,{[n.name]:r}),p=k(a,t,o),c=r0(p),h=k(a,t,s);return bg(c)||Ig(c)?{[c.const]:h}:{}}function s0(e,t,n,r,o,s){return r.reduce((a,p)=>[...a,o0(e,t,n,p,o,s)],[])}function i0(e){return e.reduce((t,n)=>[...t,K(n)],[])}function Uw(e,t,n,r,o,s){let a=qw(r),p=s0(e,t,n,a,o,s),c=i0(p);return we(c)}var Kw=m(()=>{v();Oe();ce();wt();N();H();H();_w()});function Tc(e,t,n,r,o,s,a){return z([r])?l.Update(Uw(e,t,n,r,o,s),{},a):ps(n,r,o,s,a)}function Gw(e,t,n,r,o,s,a){let p=k(e,t,r);return Tc(e,t,n,p,o,s,a)}var nm=m(()=>{v();tm();N();Kw()});function a0(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:_I(r,a,t[a])}),{})}function m0(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:k(r,be([],[]),t[a])}),{})}function u0(e,t,n){let r=FI(t),o=a0(e,t,r),s=m0(e,t,r),a={...o,...s};return l.Update(a,{},n)}function om(e,t,n,r){return u0(e,n,r)}var sm=m(()=>{R();v();N();Qp();tc();N()});function ma(e,t={}){return j("NonNullable",[e],t)}function Ww(e,t={}){return Ec(e,t)}var im=m(()=>{se();am()});function p0(e){let t=V([Hr(),to()]);return Ss(e,t,{})}function Ec(e,t){return z([e])?l.Update(p0(e),{},t):ma(e,t)}function zw(e,t,n,r){let o=k(e,t,n);return Ec(o,r)}var am=m(()=>{v();Jr();ro();J();Ps();im();N()});function ua(e,t,n={}){return j("Omit",[e,t],n)}function Bw(e,t,n={}){let r=u.IsArray(t)?fo(t):t;return vc(e,r,n)}var mm=m(()=>{R();se();As();um()});function pm(e){let t=go(e);return me(t)?t.properties:De()}var Sc=m(()=>{In();ce();Rs()});function c0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function Hw(e,t){let n=pm(e),r=ho(t),o=c0(n,r);return K(o)}var Vw=m(()=>{R();ce();Ya();Sc()});function vc(e,t,n){return z([e,t])?l.Update(Hw(e,t),{},n):ua(e,t,n)}function Jw(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return vc(s,a,o)}var um=m(()=>{v();mm();N();Vw()});function pa(e,t={}){return j("Parameters",[e],t)}function Yw(e,t={}){return Pc(e,t)}var cm=m(()=>{se();lm()});function l0(e){let t=Ue(e)?e.parameters:[],n=ir({},be([],[]),t);return Ce(n)}function Pc(e,t){return z([e])?l.Update(l0(e),{},t):pa(e,t)}function Xw(e,t,n,r){let o=k(e,t,n);return Pc(o,r)}var lm=m(()=>{v();Gt();Ne();cm();N();N();N()});function ca(e,t={}){return j("Partial",[e],t)}function Zw(e,t={}){return Ac(e,t)}var dm=m(()=>{se();fm()});function Qw(e,t){let n=Pn(e,t),r=Rn(n);return yn(l.Assign(e,{[t]:r}),t)}var ek=m(()=>{v();It();yo();Or()});function tk(e,t,n){let r=sn(e,t,n);return Rn(r)}var nk=m(()=>{yo();H()});function rk(e){let t=we(e);return Rn(t)}var ok=m(()=>{yo();H()});function sk(e){let t=e.map(n=>Rn(n));return V(t)}var ik=m(()=>{J();yo()});function ak(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:xr(e[o])}),{});return K(t)}var mk=m(()=>{R();ce();zo()});function Rn(e){return et(e)?Qw(e.$defs,e.$ref):ve(e)?tk(e.if,e.then,e.else):Q(e)?rk(e.allOf):L(e)?sk(e.anyOf):me(e)?ak(e.properties):K({})}var yo=m(()=>{It();St();je();ce();J();ek();nk();ok();ik();mk()});function Ac(e,t){return z([e])?l.Update(Rn(e),{},t):ca(e,t)}function uk(e,t,n,r){let o=k(e,t,n);return Ac(o,r)}var fm=m(()=>{v();dm();yo();N()});function la(e,t,n={}){return j("Pick",[e,t],n)}function pk(e,t,n={}){let r=u.IsArray(t)?fo(t):t;return Rc(e,r,n)}var gm=m(()=>{R();se();As();xm()});function d0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?l.Assign(r,{[o]:e[o]}):r,{})}function ck(e,t){let n=pm(e),r=ho(t),o=d0(n,r);return K(o)}var lk=m(()=>{v();R();ce();Ya();Sc()});function Rc(e,t,n){return z([e,t])?l.Update(ck(e,t),{},n):la(e,t,n)}function dk(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Rc(s,a,o)}var xm=m(()=>{v();gm();N();lk()});function da(e,t={}){return j("ReadonlyObject",[e],t)}function Oc(e,t={}){return Mc(e,t)}var fk,hm=m(()=>{se();ym();fk=Oc});function gk(e){return Br(Ft(e))}var xk=m(()=>{ct();Xo()});function hk(e,t){let n=Pn(e,t),r=On(n);return yn(l.Assign(e,{[t]:r}),t)}var yk=m(()=>{v();It();bo();Or()});function bk(e,t,n){let r=sn(e,t,n);return On(r)}var Ik=m(()=>{bo();H()});function $k(e){let t=we(e);return On(t)}var wk=m(()=>{bo();H()});function kk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Ir(e[o])}),{});return K(t)}var Tk=m(()=>{R();ce();Zo()});function Ek(e){return Br(Ce(e))}var vk=m(()=>{Ne();Xo()});function Sk(e){let t=e.map(n=>On(n));return V(t)}var Pk=m(()=>{J();bo()});function On(e){return $e(e)?gk(e.items):et(e)?hk(e.$defs,e.$ref):ve(e)?bk(e.if,e.then,e.else):Q(e)?$k(e.allOf):me(e)?kk(e.properties):ge(e)?Ek(e.items):L(e)?Sk(e.anyOf):e}var bo=m(()=>{ct();It();St();je();ce();Ne();J();xk();yk();Ik();wk();Tk();vk();Pk()});function Mc(e,t){return z([e])?l.Update(On(e),{},t):da(e)}function Ak(e,t,n,r){let o=k(e,t,n);return Mc(o,r)}var ym=m(()=>{v();hm();bo();N()});function Rk(e,t,n,r){return t.visited.includes(r)?n:r in e?k(e,be(t.callstack,[...t.visited,r]),e[r]):n}var Cc=m(()=>{N();N()});function Ok(e,t){let n=Pn(e,t),r=Mn(n);return yn(l.Assign(e,{[t]:r}),t)}var Mk=m(()=>{v();It();Io();Or()});function Ck(e,t,n){let r=sn(e,t,n);return Mn(r)}var Lk=m(()=>{Io();H()});function Fk(e){let t=we(e);return Mn(t)}var jk=m(()=>{Io();H()});function Dk(e){let t=e.map(n=>Mn(n));return V(t)}var Nk=m(()=>{J();Io()});function qk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Ni(e[o])}),{});return K(t)}var _k=m(()=>{R();ce();qi()});function Mn(e){return et(e)?Ok(e.$defs,e.$ref):ve(e)?Ck(e.if,e.then,e.else):Q(e)?Fk(e.allOf):L(e)?Dk(e.anyOf):me(e)?qk(e.properties):K({})}var Io=m(()=>{It();St();je();ce();J();Mk();Lk();jk();Nk();_k()});function fa(e,t={}){return j("Required",[e],t)}function Uk(e,t={}){return Lc(e,t)}var bm=m(()=>{se();Im()});function Lc(e,t){return z([e])?l.Update(Mn(e),{},t):fa(e,t)}function Kk(e,t,n,r){let o=k(e,t,n);return Lc(o,r)}var Im=m(()=>{v();Io();bm();N()});function ga(e,t={}){return j("ReturnType",[e],t)}function Gk(e,t={}){return Fc(e,t)}var $m=m(()=>{se();wm()});function f0(e){return Ue(e)?e.returnType:le()}function Fc(e,t){return z([e])?l.Update(f0(e),{},t):ga(e,t)}function Wk(e,t,n,r={}){let o=k(e,t,n);return Fc(o,r)}var wm=m(()=>{v();Gt();Be();$m();N()});function xa(e,t){return j("With",[e,t],{})}function zk(e,t){return jc(e,t)}var km=m(()=>{se();Tm()});function jc(e,t){return z([e])?l.Update(e,{},t):xa(e,t)}function Bk(e,t,n,r){let o=k(e,t,n);return jc(o,r)}var Tm=m(()=>{v();N();km()});function g0(e){return nr(e)?ge(e.items)?Dc(e.items.items):Re(e.items)?[e]:Ke(e.items)?[e]:[le()]:[e]}function Dc(e){return e.reduce((n,r)=>[...n,...g0(r)],[])}var Hk=m(()=>{zt();Be();eo();Wt();Ne()});var Vk=m(()=>{Hk()});function be(e,t){return{callstack:e,visited:t}}function z(e){return u.ShiftLeft(e,(t,n)=>Ke(t)?!1:z(n),()=>!0)}function $s(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:k(e,t,n[o])}),{})}function ir(e,t,n){let r=jt(e,t,n);return Dc(r)}function jt(e,t,n){return n.map(r=>k(e,t,r))}function x0(e,t){let n=ot(e)?Go(t,{}):t,r=$r(e)?Ko(n,{}):n;return br(e)?Ls(r,{}):r}function h0(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?Jk(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?o$(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?tf(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?jg(e,t,r[0],o):u.IsEqual(n,"AddOptional")?nf(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?qg(e,t,r[0],o):u.IsEqual(n,"Capitalize")?h$(e,t,r[0],o):u.IsEqual(n,"Conditional")?w$(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"ConstructorParameters")?T$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?WI(e,t,r[0],o):u.IsEqual(n,"Exclude")?v$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?O$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?$w(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?kw(e,t,r[0],o):u.IsEqual(n,"Interface")?OI(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?Dw(e,t,r[0],o):u.IsEqual(n,"Lowercase")?y$(e,t,r[0],o):u.IsEqual(n,"Mapped")?Gw(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?om(e,t,r[0],o):u.IsEqual(n,"NonNullable")?zw(e,t,r[0],o):u.IsEqual(n,"Pick")?dk(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?Xw(e,t,r[0],o):u.IsEqual(n,"Partial")?uk(e,t,r[0],o):u.IsEqual(n,"Omit")?Jw(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?Ak(e,t,r[0],o):u.IsEqual(n,"Record")?px(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?Kk(e,t,r[0],o):u.IsEqual(n,"ReturnType")?Wk(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?Eb(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?b$(e,t,r[0],o):u.IsEqual(n,"Uppercase")?I$(e,t,r[0],o):u.IsEqual(n,"With")?Bk(e,t,r[0],r[1]):j(n,r,o)}function y0(e,t,n){let r=Ke(n)?Rk(e,t,n,n.$ref):$e(n)?Ft(k(e,t,n.items),bi(n)):lo(n)?Da(e,t,n.target,n.arguments):_e(n)?gn(jt(e,t,n.parameters),k(e,t,n.instanceType),rf(n)):Ue(n)?xn(jt(e,t,n.parameters),k(e,t,n.returnType),of(n)):ve(n)?yr(k(e,t,n.if),k(e,t,n.then),k(e,t,n.else),lf(n)):Q(n)?$t(jt(e,t,n.allOf),hf(n)):me(n)?K($s(e,t,n.properties),uf(n)):rt(n)?cx(Yt(n),k(e,t,xt(n))):nr(n)?vr(k(e,t,n.items)):ge(n)?Ce(ir(e,t,n.items),Fg(n)):L(n)?V(jt(e,t,n.anyOf),wg(n)):n;return x0(n,r)}function k(e,t,n){return Hn(n)?h0(e,t,n.action,n.parameters,n.options):y0(e,t,n)}function Nc(e,t){return k(e,be([],[]),t)}var N=m(()=>{R();Em();hi();yi();ct();Kt();se();Gt();oo();St();je();ce();Ve();Ne();J();Wt();eo();Em();uc();hi();ap();yi();pp();Jn();Yo();Qo();mc();An();xc();za();ja();Ps();Va();Ja();Za();Ca();em();An();nm();sm();am();um();lm();fm();xm();ym();Gi();Cc();Im();wm();Pa();An();An();Tm();Vk()});function b0(e){return l.Update(e,{"~immutable":!0},{})}function Ls(e,t){return l.Update(b0(e),{},t)}function Jk(e,t,n,r){let o=k(e,t,n);return Ls(o,r)}var Em=m(()=>{v();N()});function dy(e,t={}){return j("AddImmutable",[e],t)}function Br(e,t={}){return Ls(e,t)}var Xo=m(()=>{se();Em()});var Yk=m(()=>{se();uc()});function fy(e,t={}){return j("Evaluate",[e],t)}function Xk(e,t={}){return oc(e,t)}var qc=m(()=>{se();ja()});function gy(e,t={}){return j("Module",[e],t)}function Zk(e,t={}){return om({},be([],[]),e,t)}var _c=m(()=>{se();N();sm()});var so=m(()=>{Xo();Zo();zo();Yk();mp();qi();qa();Ga();Wa();qc();Ba();Ha();bc();Xa();ws();Qa();_a();tm();_c();im();mm();cm();dm();gm();hm();bm();$m();Ua();Ka();km()});var Qk=m(()=>{za()});var eT=m(()=>{Ti()});var tT=m(()=>{Ps()});var nT=m(()=>{Va()});var rT=m(()=>{});var oT=m(()=>{As();Os();rT()});var sT=m(()=>{Ja()});var iT=m(()=>{Za()});var aT=m(()=>{Ca()});var mT=m(()=>{An()});var uT=m(()=>{em()});var pT=m(()=>{nm()});var cT=m(()=>{sm()});var lT=m(()=>{am()});var dT=m(()=>{um()});var fT=m(()=>{lm()});var gT=m(()=>{rs();_p()});var xT=m(()=>{fm()});var hT=m(()=>{xm()});var yT=m(()=>{R();as()});var bT=m(()=>{yT()});var IT=m(()=>{ym()});var $T=m(()=>{Gi()});var wT=m(()=>{Cc()});var kT=m(()=>{Im()});var TT=m(()=>{wm()});var ET=m(()=>{});var vT=m(()=>{R();rs()});var ST=m(()=>{ji();Di();Up();ET();Li();vT()});var PT=m(()=>{Tm()});var AT=m(()=>{N();xc();Qk();nc();eT();bs();tT();nT();oT();sT();iT();aT();mT();uT();pT();cT();lT();Rs();dT();fT();gT();xT();hT();bT();IT();$T();wT();kT();TT();ST();PT()});function RT(...e){let[t,n,r]=bn.Match(e,{2:(a,p)=>u.IsString(a)?[{},a,p]:[a,p,{}],3:(a,p,c)=>[a,p,c],1:a=>[{},a,{}]}),o=Ib(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?k(t,be([],[]),o[0]):le();return l.Update(s,{},r)}var OT=m(()=>{zr();v();R();Xi();N();N();Mi()});var Uc=m(()=>{OT()});var ie={};Lt(ie,{Any:()=>Wr,Array:()=>Ft,BigInt:()=>es,Boolean:()=>Si,Call:()=>n$,Capitalize:()=>d$,Codec:()=>vi,Conditional:()=>$$,Constructor:()=>gn,ConstructorParameters:()=>k$,Cyclic:()=>yn,Decode:()=>lg,DecodeBuilder:()=>Jo,Dependent:()=>yr,Encode:()=>dg,EncodeBuilder:()=>Vo,Enum:()=>xf,Evaluate:()=>Xk,Exclude:()=>E$,Extends:()=>nt,ExtendsResult:()=>G,Extract:()=>S$,Function:()=>xn,Generic:()=>Vn,Identifier:()=>ts,Immutable:()=>fg,Index:()=>M$,Infer:()=>Bo,InstanceType:()=>ww,Instantiate:()=>Nc,Integer:()=>kr,Interface:()=>MI,Intersect:()=>$t,IsAny:()=>Te,IsArray:()=>$e,IsBigInt:()=>wn,IsBoolean:()=>Bt,IsCall:()=>lo,IsCodec:()=>Ei,IsConstructor:()=>_e,IsCyclic:()=>et,IsDependent:()=>ve,IsEnum:()=>tt,IsEnumValue:()=>gf,IsFunction:()=>Ue,IsGeneric:()=>Gr,IsIdentifier:()=>yg,IsImmutable:()=>br,IsInfer:()=>Re,IsInteger:()=>lt,IsIntersect:()=>Q,IsKind:()=>C,IsLiteral:()=>ue,IsNever:()=>nn,IsNull:()=>Vr,IsNumber:()=>Me,IsObject:()=>me,IsOptional:()=>ot,IsParameter:()=>$g,IsReadonly:()=>$r,IsRecord:()=>rt,IsRef:()=>Ke,IsRefine:()=>ep,IsRest:()=>nr,IsSchema:()=>Fe,IsString:()=>ft,IsSymbol:()=>Xn,IsTemplateLiteral:()=>Se,IsThis:()=>Vi,IsTuple:()=>ge,IsUndefined:()=>no,IsUnion:()=>L,IsUnknown:()=>Ae,IsUnsafe:()=>wi,IsVoid:()=>En,KeyOf:()=>Tw,Literal:()=>ee,Lowercase:()=>f$,Mapped:()=>Nw,Module:()=>Zk,Never:()=>le,NonNullable:()=>Ww,Null:()=>Hr,Number:()=>Pt,Object:()=>K,Omit:()=>Bw,Optional:()=>af,Parameter:()=>Er,Parameters:()=>Yw,Partial:()=>Zw,Pick:()=>pk,Readonly:()=>gg,ReadonlyObject:()=>Oc,ReadonlyType:()=>fk,Record:()=>zi,RecordKey:()=>Qr,RecordPattern:()=>Yt,RecordValue:()=>xt,Ref:()=>jn,Refine:()=>xg,Required:()=>Uk,Rest:()=>vr,ReturnType:()=>Gk,Script:()=>RT,String:()=>Ht,Symbol:()=>Yr,TemplateLiteral:()=>Sb,This:()=>Hi,Tuple:()=>Ce,Uncapitalize:()=>g$,Undefined:()=>to,Union:()=>V,Unknown:()=>He,Unsafe:()=>pf,Uppercase:()=>x$,Void:()=>Yi,With:()=>zk});var Kc=m(()=>{N();Tn();Uc();qa();Ga();Wa();qc();Ba();Ha();so();Xa();ws();Qa();_a();tm();_c();im();mm();cm();dm();gm();hm();bm();$m();Ua();Ka();km();Qu();Yo();Jn();Qo();tp();bt();ct();wr();Yn();oo();Kt();It();rn();Gt();Wo();np();St();zt();kn();je();Oe();Be();Jr();dt();ce();op();Ve();Wt();eo();B();Vt();Tr();wt();Ji();Ne();ro();J();Qe();ki();Sr()});var $o=m(()=>{so();AT();Tn();Uc();Xi();Kc();Kc()});import{StringEnum as I0}from"@earendil-works/pi-ai";import{defineTool as $0}from"@earendil-works/pi-coding-agent";function MT(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${w0[o.status]} ${o.content}`),r=e.filter(o=>o.status==="pending"||o.status==="in_progress").length;return[`${t}/${e.length} done, ${r} open`,...n].join(`
18
- `)}function T0(e,t,n,r){let o=e.map(s=>({...s}));switch(t){case"init":return!n||n.length===0?{todos:o,error:"init needs a non-empty items array"}:{todos:n.map(s=>({content:s,status:"pending"}))};case"view":return{todos:o};case"start":case"done":case"drop":{if(!r)return{todos:o,error:`${t} needs task`};let s=o.find(a=>a.content===r);if(!s)return{todos:o,error:`no task matches ${JSON.stringify(r)}`};if(t==="start"){for(let a of o)a.status==="in_progress"&&(a.status="pending");s.status="in_progress"}else s.status=t==="done"?"completed":"dropped";return{todos:o}}default:return{todos:o,error:`unknown op ${JSON.stringify(t)}`}}}function E0(e){let t=[];for(let n of e.sessionManager.getBranch()){if(n.type!=="message")continue;let r=n.message;if(r.role!=="toolResult"||r.toolName!=="todo")continue;let o=r.details;o?.todos&&(t=o.todos)}return t}var w0,k0,vm,Gc=m(()=>{$o();w0={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},k0=ie.Object({op:I0(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:ie.Optional(ie.Array(ie.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:ie.Optional(ie.String({description:"Exact label of the task to start, complete or drop"}))});vm=$0({name:"todo",label:"todo",description:"Track the plan for this task. Use `init` once with the whole plan (investigation through verification), then `start`/`done` as you go. Keep the list current so progress stays visible; do not re-init unless the plan materially changes.",promptSnippet:"todo: record and advance the plan for the current task",parameters:k0,async execute(e,t,n,r,o){let s=E0(o),{todos:a,error:p}=T0(s,t.op,t.items,t.task),c={op:t.op,todos:a,...p?{error:p}:{}};return{content:[{type:"text",text:p?`Error: ${p}
19
- ${MT(a)}`:MT(a)}],details:c,...p?{isError:!0}:{}}}})});import{StringEnum as v0}from"@earendil-works/pi-ai";import{defineTool as S0}from"@earendil-works/pi-coding-agent";function FT(){return _n.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[..._n].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
20
- `)}function P0(e,t,n){if(e==="list")return _n.size===0?{text:"No notes."}:{text:[..._n].map(([r,o])=>`${r} = ${o}`).join(`
21
- `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>LT)return{text:`Error: key longer than ${LT} characters`,error:"key too long"};if(e==="forget")return{text:_n.delete(t)?`Removed ${t}`:`No note named ${t}`};if(e==="set"){if(!n)return{text:"Error: value is required for set",error:"value required"};let r=n.length>CT?`${n.slice(0,CT)}\u2026`:n;return _n.set(t,r),{text:`Recorded ${t} (${_n.size} note${_n.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var _n,CT,LT,Sm,Pm=m(()=>{$o();_n=new Map,CT=2e3,LT=80;Sm=S0({name:"context",label:"context",description:"Record a durable working note (a decision, a file's role, a fact you would otherwise re-derive). Notes survive context compaction and are visible to every agent on this task, including subagents. Use `set` to write, `list` to read, `forget` to remove.",promptSnippet:"context: durable notes shared with every agent on this task",parameters:ie.Object({op:v0(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:ie.Optional(ie.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:ie.Optional(ie.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:n,error:r}=P0(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(_n)},...r?{isError:!0}:{}}}})});import{StringEnum as A0}from"@earendil-works/pi-ai";import{defineTool as R0}from"@earendil-works/pi-coding-agent";function Rm(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??Am,n=[`${NT[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
22
- ${e.text}`}function qT(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??Am,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${NT[e.status]} ${e.used}/${t} \xB7 ${n}`}function _T(e){let t=["<goal>",e.text,`Status: ${e.status}.`];return e.status==="active"&&t.push("Work toward this goal until it is genuinely met. When it is, call the `goal` tool with",'op="complete" and a note naming the evidence \u2014 a command you ran or a file you checked.',"If you are blocked and cannot proceed, say so plainly instead of repeating an attempt."),t.push("</goal>"),t.join(`
23
- `)}function UT(e){return["[goal] The goal is still open and you stopped without closing it:",` ${e.text}`,"","Continue from where you left off. Do not repeat work you already did. If the goal is met,",'call the `goal` tool with op="complete" and a note naming the evidence. Do not call it',"complete to escape a hard problem: if you cannot make progress, state what is blocking you.",`Continuations used: ${e.used}/${e.budget??Am}.`].join(`
24
- `)}function Om(){return KT}function an(e){KT=e}function Mm(e){if(!e)return{action:"stop",reason:"no goal",close:!1};if(e.status==="done")return{action:"stop",reason:"goal complete",close:!1};if(e.status==="cleared")return{action:"stop",reason:"goal cleared",close:!1};if(e.status==="paused")return{action:"stop",reason:"goal paused",close:!1};let t=e.budget??Am;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function Wc(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>jT?{goal:e,error:`text longer than ${jT} characters`}:r!==void 0&&(!Number.isInteger(r)||r<1)?{goal:e,error:"budget must be a positive integer"}:{goal:{text:n.trim(),status:"active",used:0,...r===void 0?{}:{budget:r}}}:{goal:e,error:"set needs text"};case"pause":case"resume":case"complete":case"clear":return!e||e.status==="cleared"?{goal:e,error:"no goal to change"}:t==="resume"?e.status==="done"?{goal:e,error:"goal is complete; set a new one instead"}:{goal:{...e,status:"active",note:void 0}}:t==="pause"?{goal:{...e,status:"paused"}}:t==="clear"?{goal:{...e,status:"cleared"}}:o?.trim()?{goal:{...e,status:"done",note:o.trim()}}:{goal:e,error:"complete needs a note naming the evidence (a command you ran or a file you checked)"};default:return{goal:e,error:`unknown op ${JSON.stringify(t)}`}}}function wo(e){let t;for(let n of e.sessionManager.getBranch()){if(n.type==="custom"&&n.customType===mr){t=n.data;continue}if(n.type==="custom_message"&&n.customType===mr){t=n.details??t;continue}if(n.type!=="message")continue;let r=n.message;if(r.role!=="toolResult"||r.toolName!=="goal")continue;let o=r.details;o?.goal&&(t=o.goal)}return t}var mr,DT,jT,Am,NT,KT,O0,GT,Cm=m(()=>{$o();mr="howtofix.goal",DT="howtofix.goal.continue",jT=400,Am=25,NT={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};O0=ie.Object({op:A0(["set","view","pause","resume","complete","clear"],{description:"set starts a goal; complete closes it with evidence; pause/resume/clear manage it; view reads it"}),text:ie.Optional(ie.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:ie.Optional(ie.Number({description:"Optional cap on automatic continuations before the run stops"})),note:ie.Optional(ie.String({description:"Evidence that the goal is met (required for complete)"}))}),GT=R0({name:"goal",label:"goal",description:"Track the goal for this session. The goal is already shown in your context every request, so you rarely need `view`. Call `complete` only when the goal is genuinely met, and pass a note naming the evidence. When a goal is active the harness continues the run if you stop without closing it, so closing it is how you stop.",promptSnippet:"goal: the session's objective, and how to close it",parameters:O0,async execute(e,t,n,r,o){let s=wo(o),{goal:a,error:p}=Wc(s,t.op,t.text,t.budget,t.note);an(a);let c=Rm(a);return{content:[{type:"text",text:p?`Error: ${p}
25
- ${c}`:c}],details:{op:t.op,goal:a},...p?{isError:!0}:{}}}})});import{existsSync as Hc,mkdirSync as WT,readFileSync as zT}from"node:fs";import{dirname as BT,join as HT}from"node:path";import{defineTool as VT}from"@earendil-works/pi-coding-agent";function Lm(){return{state:"inactive",wasActive:!1}}function M0(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:Lm()}function JT(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function C0(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function L0(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function F0(e){return e.state!=="active"?e:{...e,state:"inactive"}}function YT(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Fm(e){return e.state==="active"}function j0(e,t){return e===t}function D0(e,t){return["<plan-mode>","Plan mode is active. Do not make any edits or writes to the system.",t?`A plan file exists at ${e}. Read it and refine it with the \`edit\` tool.`:`No plan is written yet. Write yours to ${e} with the \`write\` tool.`,"That file is the only path you may edit.","Explore first: read, search, and run read-only commands until the approach is clear.","End your turn with either `ask` to clarify a requirement, or `exit_plan_mode` to present","the plan for approval. Do not start implementing before the plan is approved.","</plan-mode>"].join(`
26
- `)}function N0(e){return`Rejected: file edits are not allowed in plan mode. The only editable file is the plan file (${e}). Present the plan with exit_plan_mode first.`}function jm(){return ut}function XT(){return mt}function ZT(){return Fm(ut)}function QT(){if(!(!mt||!Hc(mt)))try{let e=zT(mt,"utf8");return e.trim()?e:void 0}catch{return}}function eE(){return QT()!==void 0}function tE(){return ut.state==="inactive"?"":ut.state==="pending"?"plan pending":eE()?"plan \u25CF ready":"plan \u25CF planning"}function nE(){return Bc?HT(Bc,"plan_mode.json"):void 0}function q0(){let e=nE();if(e)try{WT(BT(e),{recursive:!0}),Ze(e,JSON.stringify(ut))}catch{}}function _0(){let e=nE();if(!e||!Hc(e))return Lm();try{return M0(JSON.parse(zT(e,"utf8")))}catch{return Lm()}}function U0(e){Bc=e,mt=HT(e,"plan.md"),ut=_0()}function ko(e){return ut=e,q0(),ut}function rE(){return e=>{e.on("tool_call",async t=>{if(!Fm(ut)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!mt||j0(n,mt)))return{block:!0,reason:N0(mt)}})}}function oE(){return e=>{e.on("session_start",async(t,n)=>{U0(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{ut.state==="pending"&&ko(C0(ut))}),e.on("context_with_system",async t=>{if(!Fm(ut)||!mt)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=D0(mt,eE()),o=`${typeof n.content=="string"?n.content:""}
27
-
28
- ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function K0(){if(mt){try{WT(BT(mt),{recursive:!0}),Hc(mt)||Ze(mt,"")}catch{return}return mt}}var mt,ut,Bc,zc,sE,iE,Vc=m(()=>{$o();Wn();ut=Lm();zc=2e4;sE=VT({name:"enter_plan_mode",label:"enter_plan_mode",description:"Enter plan mode to design an approach before writing code. Use it when a task has genuine ambiguity \u2014 several reasonable designs, or a restructuring where the wrong approach wastes significant effort. Do not use it for a clear fix, a rename, or a task that follows existing conventions. The user must approve entering.",promptSnippet:"enter_plan_mode: design first when the approach is genuinely ambiguous",parameters:ie.Object({}),async execute(e,t,n,r,o){if(ut.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${ut.state}.`}],details:{}};if(!o.hasUI)return{content:[{type:"text",text:"Plan mode needs an interactive session: there is no one to approve the plan. Proceed normally."}],details:{},isError:!0};if(!await o.ui.confirm("Enter plan mode?","The agent will explore and design an approach before editing anything."))return{content:[{type:"text",text:"The user declined plan mode. Proceed normally."}],details:{}};ko(L0(ut));let a=K0();return{content:[{type:"text",text:["Plan mode is active. Edits are blocked except for the plan file.",a?`Write your plan to ${a}.`:"Write your plan to the session plan file."].join(`
29
- `)}],details:{planFile:a}}}}),iE=VT({name:"exit_plan_mode",label:"exit_plan_mode",description:"Present your plan for approval when you have finished planning. The plan is read from the plan file on disk, so write the file first. If the user asks for changes, stay in plan mode and revise it.",promptSnippet:"exit_plan_mode: present the written plan for approval",parameters:ie.Object({}),executionMode:"sequential",async execute(e,t,n,r,o){if(!Fm(ut))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=QT();if(!s)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${mt??"the plan file"} before exiting plan mode.`}],details:{},isError:!0};if(!o.hasUI)return{content:[{type:"text",text:"Plan approval needs an interactive session."}],details:{},isError:!0};let a=s.length>zc?`${s.slice(0,zc)}
30
- \u2026 (${s.length-zc} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?(ko(F0(ut)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:mt}}):{content:[{type:"text",text:"The user did not approve the plan. Stay in plan mode, revise the plan file with the feedback, and present it again."}],details:{approved:!1}}}})});function Jc(){return{consecutiveFailures:0,tripped:!1}}function G0(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function W0(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function z0(){return Jc()}function B0(e){return[`Auto-compaction failed ${e.consecutiveFailures} times in a row, so it is switched off for this session.`,"The context is over the limit and compaction cannot recover it. Start a new session, or switch to a model with a larger context window.","Manual /compact is still allowed."].join(" ")}function aE(){return e=>{e.on("session_start",async()=>{ur=Jc()}),e.on("session_compact",async()=>{ur=z0()}),e.on("session_compact_failed",async(t,n)=>{let r=ur;ur=W0(ur,t.aborted),!r.tripped&&ur.tripped&&n?.ui&&n.ui.notify(B0(ur),"warning")}),e.on("session_before_compact",async t=>{if(G0(ur,t.reason))return{cancel:!0}})}}var ur,mE=m(()=>{ur=Jc()});function Dm(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{let n=t;return n.type==="text"&&typeof n.text=="string"?n.text:""}).join(`
31
- `):e==null?"":String(e)}function Nm(e,t){if(Array.isArray(e)){let n=e.map(o=>({...o})),r=n.filter(o=>o.type==="text");if(r.length>0){r[0].text=t;for(let o of r.slice(1))o.text="";return n}return[...n,{type:"text",text:t}]}return t}var Yc=m(()=>{});function H0(e){an(wo(e))}function uE(e){return`budget exhausted (${e.budget??"default"} continuations)`}function pE(){return e=>{e.on("session_start",async(t,n)=>{H0(n)}),e.on("context_with_system",async(t,n)=>{let r=wo(n);if(an(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${Dm(o.content)}
32
-
33
- ${_T(r)}`;return{messages:t.messages.map(p=>p===o?{...o,content:Nm(o.content,s)}:p)}}),e.on("agent_before_settle",async(t,n)=>{let r=wo(n);if(an(r),Mm(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(mr,o),an(o),Mm(o).action==="stop"){let s={...o,status:"done",note:uE(o)};e.appendEntry(mr,s),an(s);return}return{entries:[{type:"custom_message",customType:DT,content:UT(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=wo(n),o=Mm(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:uE(r)};e.appendEntry(mr,s),an(s)}else an(r)})}}var cE=m(()=>{Yc();Cm()});function qm(){return e=>{e.on("context_with_system",async t=>{let n=FT();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Dm(r.content)}
34
-
35
- ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Nm(r.content,o)}:a)}})}}var Xc=m(()=>{Yc();Pm()});import{mkdirSync as V0,readdirSync as J0,readFileSync as Y0}from"node:fs";import{join as lE}from"node:path";import{createAgentSession as X0,DefaultResourceLoader as Z0,SessionManager as Q0}from"@earendil-works/pi-coding-agent";function _m(e){V0(qr,{recursive:!0}),Ze(lE(qr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function Qc(){let e;try{e=J0(qr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(Y0(lE(qr,t),"utf8"));if(n.status!=="parked"||Xt.some(r=>r.id===n.id))continue;Xt.push({...n,mail:n.mail??[]})}catch{}}function el(){return Qc(),Xt.length===0?"no agents":Xt.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
36
- `)}function tl(e){Qc();let t=Xt.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
37
- ${t.result??t.task}`:`no agent ${e}`}async function Um(e){let t=Cr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||e.cwd||process.cwd(),r=new Z0({cwd:n,agentDir:Xe,extensionFactories:[Fo({interactive:!1}),qm()]});await r.reload();let{session:o}=await X0({cwd:n,agentDir:Xe,sessionManager:Q0.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[Sm,vm],thinkingLevel:e.effort});return o}async function fE(e,t){Qc();let n=Xt.find(o=>o.id===e);if(!n)return`no agent ${e}`;let r=n.session??await Um(n);if(n.session=r,n.status==="running"||r.isStreaming)return n.mail.push(t),_m(n),`queued for ${e}`;if(n.requests>=dE)return`${e} is out of budget (${n.requests} requests)`;n.status="running";try{await r.prompt(t),n.requests+=1,n.result=r.getLastAssistantText()?.trim()||n.result,n.status="parked"}catch(o){n.result=o instanceof Error?o.message:String(o),n.status="error"}return _m(n),`${e} ${n.status}`}async function gE(e){let t=Cr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Cr.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${Xt.length+1}`,cwd:e.cwd,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return Xt.push(n),_m(n),n}async function nL(e,t){let n=Cr.get(e.agent);if(!n)return;let r=e.session??await Um(e);e.session=r;try{let o=e.mail.splice(0).join(`
17
+ `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),$b=(e,t=[])=>i(i(Ib(e),([n,r])=>i(Up(r),([o,s])=>[[n,o],s])),([n,r])=>$b(r,[...t,n]),()=>[t,e]),uM=e=>i(i(i(Up(e),([t,n])=>i($b(n),([r,o])=>i(i(Ib(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[cy(t),n]),Up=e=>i(i(mM(e),([t,n])=>i(i(oM(n),([r,o])=>[r,o],()=>i(sM(n),([r,o])=>[r,o],()=>i(iM(n),([r,o])=>[r,o],()=>i(aM(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i(By(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ly(t),n]),pM=e=>i(i(Up(e),([t,n])=>i(uM(n),([r,o])=>[[t,r],o])),([t,n])=>[dy(t),n]),wb=e=>i(i(pM(e),([t,n])=>[t,n],()=>i(yO(e),([t,n])=>[t,n],()=>i(oe(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function kb(e){let t=Dp(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:De()}var Kp=m(()=>{$n();R();Li()});function lM(e){return e.join("|")}function dM(e){return e.slice(1,e.length-1)}function fM(e,t,n){return ir(t,`${n}${e}`)}function gM(e,t){return ir(e,`${t}${bg}`)}function xM(e,t){return ir(e,`${t}${Ri}`)}function hM(e,t){return ir(e,`${t}${Mi}`)}function yM(e,t){return hs(V([ee("false"),ee("true")]),e,t)}function bM(e,t){return ir(e,`${t}${Ci}`)}function IM(e,t,n){return ir(t,`${n}${dM(e)}`)}function $M(e,t,n){let r=ys(e,{});return hs(r,t,n)}function wM(e,t,n){let r=gt(e);return hs(r,t,n)}function Tb(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>Tb(s,t,n,[...r,hs(o,[],"")]),()=>ir(t,`${n}(${lM(r)})`))}function hs(e,t,n){return tt(e)?wM(e.enum,t,n):lt(e)?xM(t,n):ue(e)?fM(e.const,t,n):kn(e)?gM(t,n):Bt(e)?yM(t,n):Me(e)?hM(t,n):ft(e)?bM(t,n):Se(e)?IM(e.pattern,t,n):vb(e)?$M(e.parameters[0],t,n):L(e)?Tb(e.anyOf,t,n):mf}function ir(e,t){return u.ShiftLeft(e,(n,r)=>hs(n,r,t),()=>t)}function kM(e){return`^${ir(e,"")}$`}function Eb(e){let t=kM(e);return Di(t)}var Gp=m(()=>{R();rn();Oe();J();wt();Tr();Vt();dt();Tn();Xn();Be();Ni();H();Ra()});function ys(e,t){return z(e)?l.Update(Eb(e),{},t):ea(e,t)}function Sb(e,t,n,r){let o=jt(e,t,n);return ys(o,r)}var Ra=m(()=>{v();wt();Gp();N()});function ea(e,t={}){return j("TemplateLiteral",[e],t)}function vb(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function Pb(e){return ys(e,{})}function TM(e){let t=kb(e);return Pb(t)}function Ab(e,t={}){let n=u.IsString(e)?TM(e):Pb(e);return l.Update(n,{},t)}function Se(e){return C(e,"TemplateLiteral")}var wt=m(()=>{Vo();R();B();se();Kp();Ra()});var G={};Lt(G,{ExtendsFalse:()=>W,ExtendsTrue:()=>P,ExtendsUnion:()=>Wp,IsExtendsFalse:()=>EM,IsExtendsTrue:()=>Ob,IsExtendsTrueLike:()=>po,IsExtendsUnion:()=>Rb,Match:()=>Ie});function Wp(e){return l.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Rb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function P(e){return l.Create({"~kind":"ExtendsTrue"},{inferred:e})}function Ob(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function W(){return l.Create({"~kind":"ExtendsFalse"},{})}function EM(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function po(e){return Rb(e)||Ob(e)}function Ie(e,t,n){return po(e)?t(e.inferred):n()}var ye=m(()=>{R();v()});function vM(e,t,n,r){return Ie(ne(e,n,r),o=>P(l.Assign(l.Assign(e,o),{[t]:n})),()=>W())}function SM(e,t){return P(e)}function PM(e,t,n,r,o){return Ie(ne(e,t,n),s=>Ie(ne(s,t,r),a=>P(a),()=>W()),()=>Ie(ne(e,t,o),s=>P(s),()=>W()))}function AM(e,t,n){let r=gt(n);return ne(e,t,r)}function Mb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>Mb(s,t,o),()=>W()),()=>P(e))}function RM(e,t,n){let r=st(n);return ne(e,t,r)}function Cb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>P(s),()=>Cb(e,t,o)),()=>W())}function pe(e,t,n){return Te(n)?SM(e,t):ve(n)?PM(e,t,n.if,n.then,n.else):tt(n)?AM(e,t,n.enum):Re(n)?vM(e,n.name,t,n.extends):Q(n)?Mb(e,t,n.allOf):Se(n)?RM(e,t,n.pattern):L(n)?Cb(e,t,n.anyOf):Ae(n)?P(e):W()}var at=m(()=>{R();v();bt();St();rn();zt();je();wt();J();Qe();Et();ye();H();H()});function Lb(e,t,n){return Re(n)?pe(e,t,n):Te(n)?P(e):Ae(n)?P(e):Wp(e)}var Fb=m(()=>{zt();bt();Qe();at();ye()});function OM(e,t){let n=$r(e),r=$r(t);return n&&r||!n&&r?!0:!(n&&!r)}function jb(e,t,n,r){return $e(r)?OM(t,r)?ne(e,n,r.items):W():pe(e,t,r)}var Db=m(()=>{ct();Xo();at();Et();ye()});function Nb(e,t,n){return kn(n)?P(e):pe(e,t,n)}var qb=m(()=>{Tr();at();ye()});function _b(e,t,n){return Bt(n)?P(e):pe(e,t,n)}var Ub=m(()=>{Xn();at();ye()});function MM(e,t,n,r,o){let s=Re(r)?t:r,a=Re(r)?r:t,p=ot(t),c=ot(r);return!p&&c?W():Ie(ne(e,s,a),h=>bs(h,n,o),()=>W())}function CM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>MM(e,t,n,o,s),()=>ot(t)?P(e):W())}function LM(e,t,n){return u.ShiftLeft(t,(r,o)=>CM(e,r,o,n),()=>P(e))}function bs(e,t,n){return LM(e,t,n)}var zp=m(()=>{R();zt();Yn();Et();ye()});function Oa(e,t,n){return vn(n)?P(e):ne(e,t,n)}var Bp=m(()=>{Ar();Et();ye()});function Kb(e,t,n,r){return Te(r)?P(e):Ae(r)?P(e):_e(r)?Ie(bs(e,t,r.parameters),o=>Oa(o,n,r.instanceType),()=>W()):W()}var Gb=m(()=>{bt();Kt();Qe();ye();zp();Bp()});function Wb(e,t,n,r,o){return Ie(ne(e,t,o),()=>ne(e,n,o),()=>ne(e,r,o))}var zb=m(()=>{Et();ye()});function Bb(e,t,n){let r=gt(t);return ne(e,r,n)}var Hb=m(()=>{Et();H()});function Vb(e,t,n,r){return Te(r)?P(e):Ae(r)?P(e):Ue(r)?Ie(bs(e,t,r.parameters),o=>Oa(o,n,r.returnType),()=>W()):W()}var Jb=m(()=>{bt();Gt();Qe();ye();zp();Bp()});function Yb(e,t,n){return lt(n)?P(e):Me(n)?P(e):pe(e,t,n)}var Xb=m(()=>{Tn();dt();at();ye()});function Zb(e,t,n){let r=we(t);return ne(e,r,n)}var Qb=m(()=>{Et();Is()});function Ma(e,t,n){return t===n?P(e):W()}function FM(e,t,n){return ue(n)?Ma(e,t,n.const):kn(n)?P(e):pe(e,ee(t),n)}function jM(e,t,n){return ue(n)?Ma(e,t,n.const):Bt(n)?P(e):pe(e,ee(t),n)}function DM(e,t,n){return ue(n)?Ma(e,t,n.const):Me(n)?P(e):pe(e,ee(t),n)}function NM(e,t,n){return ue(n)?Ma(e,t,n.const):ft(n)?P(e):pe(e,ee(t),n)}function eI(e,t,n){return u.IsBigInt(t.const)?FM(e,t.const,n):u.IsBoolean(t.const)?jM(e,t.const,n):u.IsNumber(t.const)?DM(e,t.const,n):u.IsString(t.const)?NM(e,t.const,n):De()}var tI=m(()=>{R();Zu();Oe();Tr();Xn();dt();Vt();at();ye()});function nI(e,t,n){return Re(n)?pe(e,t,n):P(e)}var rI=m(()=>{zt();at();ye()});function oI(e,t,n){return Jr(n)?P(e):pe(e,t,n)}var sI=m(()=>{Yr();at();ye()});function iI(e,t,n){return Me(n)?P(e):pe(e,t,n)}var aI=m(()=>{dt();at();ye()});function qM(e,t,n){return ot(t)?ot(n)?P(e):W():P(e)}function _M(e,t,n){return Re(n)&&nn(n.extends)?W():Ie(ne(e,t,n),r=>qM(r,t,n),()=>W())}function UM(e,t){return e.reduce((n,r)=>r in t?po(t[r])?{...n,...t[r].inferred}:De():De(),{})}function KM(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?_M({},t[a],n[a]):ot(n[a])?Re(n[a])?P(l.Assign(e,{[n[a].name]:n[a].extends})):P(e):W();let o=u.Values(r).every(a=>po(a)),s=o?UM(u.Keys(r),r):{};return o?P(s):W()}function GM(e,t,n){let r=KM(e,t,n);return po(r)?P(l.Assign(e,r.inferred)):W()}function WM(e,t,n){return GM(e,t,n)}function zM(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?L(n[r])?V([...n[r].anyOf,t[r]]):V([e[r],t[r]]):t[r]}),e)}function mI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>Ie(ne({},e[o],n),a=>mI(e,s,n,zM(r,a)),()=>W()),()=>P(r))}function BM(e,t,n,r){let o=u.Keys(t);return mI(t,o,r,e)}function uI(e,t,n){return rt(n)?BM(e,t,Yt(n),xt(n)):me(n)?WM(e,t,n.properties):pe(e,K(t),n)}var pI=m(()=>{$n();v();R();Yn();zt();Be();ce();Ve();J();Et();at();ye()});function HM(e,t){return u.IsEqual(u.Keys(t).length,0)?P(e):W()}function VM(e,t,n,r,o){return ne(e,n,o)}function cI(e,t,n,r){return rt(r)?VM(e,Vi(t),n,Vi(Yt(r)),xt(r)):me(r)?HM(e,r.properties):Te(r)?P(e):Ae(r)?P(e):W()}var lI=m(()=>{R();bt();Qe();ce();Ve();Et();ye()});function dI(e,t,n){return ft(n)?P(e):pe(e,t,n)}var fI=m(()=>{Vt();at();ye()});function gI(e,t,n){return Zn(n)?P(e):pe(e,t,n)}var xI=m(()=>{vr();at();ye()});function hI(e,t,n){let r=st(t);return ne(e,r,n)}var yI=m(()=>{Et();H()});function Hp(e,t){return l.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function $s(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"name")&&u.HasPropertyKey(e,"type")&&u.IsEqual(e["~kind"],"Inferrable")&&u.IsString(e.name)&&u.IsObject(e.type)}function Vp(e){return rr(e)?Re(e.items)?$e(e.items.extends)?Hp(e.items.name,e.items.extends.items):Ae(e.items.extends)?Hp(e.items.name,e.items.extends):void 0:De():void 0}function Ca(e){return Re(e)?Hp(e.name,e.extends):void 0}function Jp(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Ie(ne({},r,t),()=>Jp(o,t,[...n,r]),()=>{}),()=>n)}function bI(e,t,n,r){let o=Jp(n,r);return u.IsArray(o)?P(l.Assign(e,{[t]:Ce(o)})):W()}function La(e,t,n,r){let o=Jp(n,r);return u.IsArray(o)?P(l.Assign(e,{[t]:V(o)})):W()}var Yp=m(()=>{$n();v();R();ct();Qe();Ne();Et();J();zt();to();ye()});function JM(e){return[...e].reverse()}function Xp(e,t){return t?JM(e):e}function YM(e){let t=e.length>0?e[0]:void 0,n=Fe(t)?Vp(t):void 0;return Fe(n)}function XM(e,t,n,r,o,s){return Ie(ne(e,n,o),a=>II(a,t,r,s),()=>W())}function ZM(e,t,n,r,o){let s=Vp(r);return $s(s)?bI(e,s.name,Xp(n,t),s.type):u.ShiftLeft(n,(a,p)=>XM(e,t,a,p,r,o),()=>W())}function QM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>ZM(e,t,n,o,s),()=>u.IsEqual(n.length,0)?P(e):W())}function II(e,t,n,r){return QM(e,t,n,r)}function eC(e,t,n){let r=ar(e,be([],[]),n),o=YM(r);return II(e,o,Xp(t,o),Xp(r,o))}function $I(e,t,n){let r=Ca(n);return $s(r)?La(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>Ie(ne(e,o,n),a=>$I(a,s,n),()=>W()),()=>P(e))}function wI(e,t,n){let r=ar(e,be([],[]),t);return ge(n)?eC(e,r,n.items):$e(n)?$I(e,r,n.items):pe(e,Ce(r),n)}var kI=m(()=>{R();B();ct();Ne();Et();at();ye();N();N();Yp()});function TI(e,t,n){return vn(n)?P(e):ro(n)?P(e):pe(e,t,n)}var EI=m(()=>{oo();Ar();at();ye()});function vI(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>P(s),()=>vI(e,t,o)),()=>W())}function Zp(e,t,n){return u.ShiftLeft(t,(r,o)=>Ie(vI(e,r,n),s=>Zp(s,o,n),()=>W()),()=>P(e))}function SI(e,t,n){let r=Ca(n);return $s(r)?La(e,r.name,t,r.type):L(n)?Zp(e,t,n.anyOf):Zp(e,t,[n])}var PI=m(()=>{R();J();Et();ye();Yp()});function AI(e,t,n){return Re(n)?pe(e,t,n):Te(n)?P(e):Ae(n)?P(e):W()}var RI=m(()=>{bt();Qe();zt();at();ye()});function OI(e,t,n){return vn(n)?P(e):pe(e,t,n)}var MI=m(()=>{Ar();at();ye()});function ne(e,t,n){return Te(t)?Lb(e,t,n):$e(t)?jb(e,t,t.items,n):kn(t)?Nb(e,t,n):Bt(t)?_b(e,t,n):_e(t)?Kb(e,t.parameters,t.instanceType,n):ve(t)?Wb(e,t.if,t.then,t.else,n):tt(t)?Bb(e,t.enum,n):Ue(t)?Vb(e,t.parameters,t.returnType,n):lt(t)?Yb(e,t,n):Q(t)?Zb(e,t.allOf,n):ue(t)?eI(e,t,n):nn(t)?nI(e,t,n):Jr(t)?oI(e,t,n):Me(t)?iI(e,t,n):me(t)?uI(e,t.properties,n):rt(t)?cI(e,Yt(t),xt(t),n):ft(t)?dI(e,t,n):Zn(t)?gI(e,t,n):Se(t)?hI(e,t.pattern,n):ge(t)?wI(e,t.items,n):ro(t)?TI(e,t,n):L(t)?SI(e,t.anyOf,n):Ae(t)?AI(e,t,n):vn(t)?OI(e,t,n):W()}var Et=m(()=>{Fb();Db();qb();Ub();Gb();zb();Hb();Jb();Xb();Qb();tI();rI();sI();aI();pI();lI();fI();xI();yI();kI();EI();PI();RI();MI();bt();ct();Tr();Xn();Kt();St();rn();Gt();Tn();je();Oe();Be();Yr();dt();ce();Ve();Vt();vr();wt();Ne();oo();Qe();J();Ar();ye()});function tC(e,t){return we([...e,K(t)])}function Qp(e,t,n){return z(e)?l.Update(tC(e,t),{},n):ls(e,t,n)}function CI(e,t,n,r,o){let s=jt(e,t,n),a=ws(e,t,r);return Qp(s,a,o)}var Fa=m(()=>{v();ce();H();io();N();N();N()});function ls(e,t,n={}){return j("Interface",[e,t],n)}function co(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function LI(e,t,n={}){return Qp(e,t,n)}var ks=m(()=>{R();B();se();Fa()});function nC(e,t,n){return e.includes(n)?!0:Ts([...e,n],t,t[n])}function FI(e,t,n){let r=ki(n);return Or(e,t,r)}function Or(e,t,n){return u.ShiftLeft(n,(r,o)=>Ts(e,t,r)?!0:Or(e,t,o),()=>!1)}function Ts(e,t,n){return Ke(n)?nC(e,t,n.$ref):$e(n)?Ts(e,t,n.items):_e(n)?Or(e,t,[...n.parameters,n.instanceType]):Ue(n)?Or(e,t,[...n.parameters,n.returnType]):co(n)?FI(e,t,n.parameters[1]):Q(n)?Or(e,t,n.allOf):me(n)?FI(e,t,n.properties):L(n)?Or(e,t,n.anyOf):ge(n)?Or(e,t,n.items):rt(n)?Ts(e,t,xt(n)):!1}function jI(e,t,n){return Ts(e,t,n)}var ec=m(()=>{R();ct();Kt();Gt();je();ce();br();Ve();Ne();J();Wt();ks()});function rC(e,t){return t.reduce((n,r)=>jI([r],e,e[r])?[...n,r]:n,[])}function DI(e){let t=wi(e);return rC(e,t)}var tc=m(()=>{br();ec()});function oC(e,t,n){return n.includes(t)?n:t in e?Es(e,e[t],[...n,t]):De()}function NI(e,t,n){let r=ki(t);return lo(e,r,n)}function lo(e,t,n){return t.reduce((r,o)=>Es(e,o,r),n)}function Es(e,t,n){return Ke(t)?oC(e,t.$ref,n):$e(t)?Es(e,t.items,n):_e(t)?lo(e,[...t.parameters,t.instanceType],n):Ue(t)?lo(e,[...t.parameters,t.returnType],n):co(t)?NI(e,t.parameters[1],n):Q(t)?lo(e,t.allOf,n):me(t)?NI(e,t.properties,n):L(t)?lo(e,t.anyOf,n):ge(t)?lo(e,t.items,n):rt(t)?Es(e,xt(t),n):n}function qI(e,t,n){return Es(e,n,[t])}var nc=m(()=>{$n();ct();Kt();Gt();je();ce();br();Ve();Ne();J();Wt();ks()});function sC(e){return zr()}function iC(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Mr(e[n])}),{})}function vs(e){return e.reduce((t,n)=>[...t,Mr(n)],[])}function Mr(e){return Ke(e)?sC(e.$ref):$e(e)?Ft(Mr(e.items),$i(e)):_e(e)?xn(vs(e.parameters),Mr(e.instanceType)):Ue(e)?hn(vs(e.parameters),Mr(e.returnType)):Q(e)?$t(vs(e.allOf)):me(e)?K(iC(e.properties)):rt(e)?Hi(eo(e),Mr(xt(e))):L(e)?V(vs(e.anyOf)):ge(e)?Ce(vs(e.items)):e}function aC(e,t){return t in e?Mr(e[t]):He()}function _I(e){return aC(e.$defs,e.$ref)}var UI=m(()=>{R();bt();ct();Kt();Gt();je();ce();Ve();Wt();Ne();J();Qe()});function mC(e,t,n){let r=jt(e,be([],[]),t),o=ws({},be([],[]),n);return we([...r,K(o)])}function uC(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=co(s)?mC(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function KI(e,t,n){let r=qI(e,t,n),o=uC(e,r);return bn(o,t)}var rc=m(()=>{R();It();ce();nc();io();N();N();N();H()});function GI(e,t){return t in e?Ke(e[t])?GI(e,e[t].$ref):e[t]:le()}function An(e,t){return GI(e,t)}var Cr=m(()=>{Be();Wt()});var oc=m(()=>{tc();ec();nc();UI();rc();Cr()});function WI(e){return et(e)?_I(e):Ti(e)?He():e}function nt(e,t,n){let r=WI(t),o=WI(n);return ne(e,r,o)}var zI=m(()=>{It();Qe();Ei();Et();oc()});var En=m(()=>{zI();ye()});function as(e,t){let n=[nt({},e,t),nt({},t,e)];return G.IsExtendsTrueLike(n[0])&&G.IsExtendsTrueLike(n[1])?ss:G.IsExtendsTrueLike(n[0])&&G.IsExtendsFalse(n[1])?is:G.IsExtendsFalse(n[0])&&G.IsExtendsTrueLike(n[1])?Ki:ja}var ss,ja,is,Ki,ms=m(()=>{En();ss=0,ja=1,is=2,Ki=3});function sc(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=as(e,o);return u.IsEqual(a,is)||u.IsEqual(a,ss)?r:u.IsEqual(a,ja)?sc(e,s,[...n,o],r):sc(e,s,n,r)},()=>[...n,e])}function pC(e,t,n){let r=Jt(e);return Te(r)?[r]:Ae(r)?[r]:nn(r)?Da(t,n):me(r)?Da(t,[...n,r]):Da(t,sc(r,n))}function Da(e,t=[]){return u.ShiftLeft(e,(n,r)=>pC(n,r,t),()=>t)}function Ip(e){let t=Da(e);return Qr(t)}var $p=m(()=>{R();bt();Be();ce();Qe();ms();Wi();H()});function ic(e,t){return l.Update(Jt(e),{},t)}function BI(e,t,n,r){let o=k(e,t,n);return ic(o,r)}var Na=m(()=>{v();N();H()});var Is=m(()=>{$p();ms();xp();yp();H();Wi();Na();hp()});function Ss(e,t=[]){return Vn(e)&&u.IsEqual(e.action,"Conditional")?Ke(e.parameters[0])?Ss(e.parameters[2],Ss(e.parameters[3],[...t,e.parameters[0].$ref])):Ss(e.parameters[2],Ss(e.parameters[3],t)):Vn(e)&&u.IsEqual(e.action,"Mapped")&&Vn(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&Ke(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function cC(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function JI(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>JI(o,a,[...n,[s,r]]),()=>n),()=>n)}function lC(e){return Se(e)?st(e.pattern):tt(e)?gt(e.enum):e}function dC(e){let t=lC(e);return L(t)?[...t.anyOf]:[t]}function fC(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function HI(e,t){return t.reduce((n,r)=>[...n,...fC(e,r)],[])}function VI(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?HI(t,dC(n[1])):HI(t,[n[1]]),[[]])}function YI(e,t,n){let r=Ss(n),o=cC(e,r),s=JI(t,o);return Vn(n)&&u.IsEqual(n.action,"Conditional")||Vn(n)&&u.IsEqual(n.action,"Mapped")?VI(s):[t]}var XI=m(()=>{R();J();se();rn();wt();Wt();H();H()});function gC(){return["(not-resolvable)",le()]}function xC(){return["(not-generic)",le()]}function hC(e,t,n){return[e,Jn(t,n)]}function yC(e,t,n){return t in e?ZI(e,t,e[t],n):gC()}function ZI(e,t,n,r){return Wr(n)?hC(t,n.parameters,n.expression):Ke(n)?yC(e,n.$ref,r):xC()}function QI(e,t,n){return ZI(e,"(anonymous)",t,n)}var e$=m(()=>{zo();Wt();Be()});function bC(e,t,n){if(Re(t)||fo(t)||G.IsExtendsTrueLike(nt({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function t$(e,t,n,r,o){let s=k(e,t,o);return bC(n,s,r),l.Assign(e,{[n]:s})}function IC(e,t,n,r,o){let s=k(e,t,n.extends),a=k(e,t,n.equals);return u.ShiftLeft(o,(p,c)=>ac(t$(e,t,n.name,s,p),t,r,c),()=>ac(t$(e,t,n.name,s,a),t,r,[]))}function ac(e,t,n,r){return u.ShiftLeft(n,(o,s)=>IC(e,t,o,s,r),()=>e)}function n$(e,t,n,r){return ac(e,t,n,r)}var r$=m(()=>{R();v();N();En();zt();so()});function $C(){if(!u.IsLessThan(uc,tn.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function wC(){$C(),uc++,mc++}function kC(){mc--,u.IsEqual(mc,0)&&(uc=0)}function TC(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function EC(e,t){return u.IsEqual(TC(e),t)}function vC(e,t,n,r,o,s){wC();try{let a=n$(e,t,r,s),p=k(a,be([...t.callstack,n.$ref],t.visited),o);return k(a,be([],[]),p)}finally{kC()}}function SC(e,t,n,r,o,s){return s.reduce((a,p)=>{let c=vC(e,t,n,r,o,p);return[...a,c]},[])}function PC(e,t,n,r,o,s){let a=YI(r,s,o),p=SC(e,t,n,r,o,a);return u.IsEqual(p.length,1)?p[0]:Tt(p)}function qa(e,t,n,r){let o=jt(e,t,r),s=QI(e,n,r),a=s[0],p=s[1];return Wr(p)?EC(t,a)?ds(Dn(a),o):PC(e,t,Dn(a),p.parameters,p.expression,o):ds(n,o)}var mc,uc,pc=m(()=>{xr();R();so();Wt();zo();Is();N();N();N();XI();e$();r$();mc=0,uc=0});function ds(e,t){return l.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function o$(e,t){return qa({},be([],[]),e,t)}function fo(e){return C(e,"Call")}var so=m(()=>{v();B();pc();N()});function AC(e){return l.Discard(e,["~immutable"])}function s$(e,t){return l.Update(AC(e),{},t)}function i$(e,t,n,r){let o=k(e,t,n);return s$(o,r)}var cc=m(()=>{v();N()});function a$(e,t){return e(t)}var m$=m(()=>{});function u$(e,t){return u.IsString(t)?ee(a$(e,t)):ee(t)}var p$=m(()=>{R();Oe();m$()});function c$(e,t){let n=st(t);return _n(e,n)}var l$=m(()=>{_a();Is()});function d$(e,t){let n=t.map(r=>_n(e,r));return V(n)}var f$=m(()=>{J();_a()});function _n(e,t){return ue(t)?u$(e,t.const):Se(t)?c$(e,t.pattern):L(t)?d$(e,t.anyOf):t}var _a=m(()=>{Oe();wt();J();p$();l$();f$()});function ta(e,t={}){return j("Capitalize",[e],t)}function g$(e,t={}){return lc(e,t)}var Ua=m(()=>{se();Rn()});function na(e,t={}){return j("Lowercase",[e],t)}function x$(e,t={}){return dc(e,t)}var Ka=m(()=>{se();Rn()});function ra(e,t={}){return j("Uncapitalize",[e],t)}function h$(e,t={}){return fc(e,t)}var Ga=m(()=>{se();Rn()});function oa(e,t={}){return j("Uppercase",[e],t)}function y$(e,t={}){return gc(e,t)}var Wa=m(()=>{se();Rn()});function lc(e,t){return z([e])?l.Update(_n(RC,e),{},t):ta(e,t)}function dc(e,t){return z([e])?l.Update(_n(OC,e),{},t):na(e,t)}function fc(e,t){return z([e])?l.Update(_n(MC,e),{},t):ra(e,t)}function gc(e,t){return z([e])?l.Update(_n(CC,e),{},t):oa(e,t)}function b$(e,t,n,r){let o=k(e,t,n);return lc(o,r)}function I$(e,t,n,r){let o=k(e,t,n);return dc(o,r)}function $$(e,t,n,r){let o=k(e,t,n);return fc(o,r)}function w$(e,t,n,r){let o=k(e,t,n);return gc(o,r)}var RC,OC,MC,CC,Rn=m(()=>{v();_a();N();Ua();Ka();Ga();Wa();RC=e=>e[0].toUpperCase()+e.slice(1),OC=e=>e.toLowerCase(),MC=e=>e[0].toLowerCase()+e.slice(1),CC=e=>e.toUpperCase()});function sa(e,t,n,r,o={}){return j("Conditional",[e,t,n,r],o)}function k$(e,t,n,r,o={}){return xc({},be([],[]),e,t,n,r,o)}var za=m(()=>{se();hc();N()});function LC(e,t,n,r,o,s){let a=nt(e,n,r);return G.IsExtendsUnion(a)?V([k(a.inferred,t,o),k(e,t,s)]):G.IsExtendsTrue(a)?k(a.inferred,t,o):k(e,t,s)}function xc(e,t,n,r,o,s,a){return z([n,r])?l.Update(LC(e,t,n,r,o,s),{},a):sa(n,r,o,s,a)}function T$(e,t,n,r,o,s,a){let p=k(e,t,n),c=k(e,t,r);return xc(e,t,p,c,o,s,a)}var hc=m(()=>{v();J();En();N();za()});var yc=m(()=>{hc()});function ia(e,t={}){return j("ConstructorParameters",[e],t)}function E$(e,t={}){return bc(e,t)}var Ba=m(()=>{se();Ha()});function FC(e){let t=_e(e)?e.parameters:[],n=ar({},be([],[]),t);return Ce(n)}function bc(e,t){return z([e])?l.Update(FC(e),{},t):ia(e,t)}function v$(e,t,n,r){let o=k(e,t,n);return bc(o,r)}var Ha=m(()=>{v();Kt();Ne();Ba();N();N();N()});function aa(e,t,n={}){return j("Exclude",[e,t],n)}function S$(e,t,n={}){return Ps(e,t,n)}var Va=m(()=>{se();As()});function Ps(e,t,n){return z([e,t])?l.Update(Gi(e,t),{},n):aa(e,t,n)}function P$(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Ps(s,a,o)}var As=m(()=>{v();N();Va();bp()});function ma(e,t,n={}){return j("Extract",[e,t],n)}function A$(e,t,n={}){return Ic(e,t,n)}var Ja=m(()=>{se();Ya()});function jC(e,t){let n=nt({},e,t);return G.IsExtendsTrueLike(n)?[e]:[]}function R$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>R$(o,t,[...n,...jC(r,t)]),()=>n)}function O$(e,t){let n=Jt(e),r=L(n)?n.anyOf:[n],o=R$(r,t);return Tt(o)}var M$=m(()=>{R();J();En();H();H()});function Ic(e,t,n){return z([e,t])?l.Update(O$(e,t),{},n):ma(e,t,n)}function C$(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Ic(s,a,o)}var Ya=m(()=>{v();N();Ja();M$()});function DC(e){return e.reduce((t,n)=>Oi(n)?[...t,ee(n)]:t,[])}function go(e){let t=DC(e);return V(t)}var Rs=m(()=>{Oe();J()});function fs(e,t,n={}){return j("Index",[e,t],n)}function L$(e,t,n={}){let r=u.IsArray(t)?go(t):t;return wc(e,r,n)}var $c=m(()=>{R();se();Rs();Xa()});function F$(e,t){let n=An(e,t);return Dt(n)}var j$=m(()=>{Lr();Cr()});function D$(e,t,n){let r=sn(e,t,n);return Dt(r)}var N$=m(()=>{Lr();H()});function NC(e,t){let n=u.Keys(e).filter(I=>!u.HasPropertyKey(t,I)),r=u.Keys(t).filter(I=>!u.HasPropertyKey(e,I)),o=u.Keys(e).filter(I=>u.HasPropertyKey(t,I)),s=n.reduce((I,T)=>({...I,[T]:e[T]}),{}),a=r.reduce((I,T)=>({...I,[T]:t[T]}),{}),p=o.reduce((I,T)=>({...I,[T]:we([e[T],t[T]])}),{}),c=l.Assign(s,a);return l.Assign(c,p)}function q$(e){return e.reduce((t,n)=>NC(t,Dt(n)),{})}var _$=m(()=>{v();R();Lr();H()});var U$=m(()=>{});function K$(e){let t=Gg(Ce(e));return Dt(t)}var G$=m(()=>{Ne();fp();Lr()});function qC(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:Tt([e[s],t[s]])}),{})}function W$(e,t){return u.ShiftLeft(e,(n,r)=>W$(r,qC(t,Dt(n))),()=>t)}function z$(e){return u.ShiftLeft(e,(t,n)=>W$(n,Dt(t)),()=>De())}var B$=m(()=>{R();$n();H();Lr()});function Dt(e){return et(e)?F$(e.$defs,e.$ref):ve(e)?D$(e.if,e.then,e.else):Q(e)?q$(e.allOf):L(e)?z$(e.anyOf):ge(e)?K$(e.items):me(e)?e.properties:{}}var Lr=m(()=>{It();St();je();ce();Ne();J();j$();N$();_$();U$();G$();B$()});function xo(e){let t=Dt(e);return K(t)}var H$=m(()=>{ce();Lr()});var Os=m(()=>{H$()});function ho(e){let t=`${e}`;return _C.test(t)?parseInt(t):e}var _C,Ms=m(()=>{_C=new RegExp("^(?:0|[1-9][0-9]*)$")});function UC(e){return ee(ho(e))}function V$(e){return e.map(t=>J$(t))}function J$(e){return Q(e)?$t(V$(e.allOf)):L(e)?V(V$(e.anyOf)):ue(e)?UC(e.const):e}function Y$(e,t){let n=J$(t),r=nt({},n,Pt());return G.IsExtendsTrueLike(r)?e:ue(t)&&u.IsEqual(t.const,"length")?Pt():le()}var X$=m(()=>{R();je();J();Oe();dt();Be();En();Ms()});function Z$(e,t){let n=An(e,t);return Rt(n)}var Q$=m(()=>{mr();Cr()});function ew(e,t,n){let r=sn(e,t,n);return Rt(r)}var tw=m(()=>{mr();H()});function nw(e){let t=gt(e);return Rt(t)}var rw=m(()=>{mr();H()});function ow(e){let t=we(e);return Rt(t)}var sw=m(()=>{H();mr()});function iw(e){return[`${e}`]}var aw=m(()=>{});function mw(e){let t=st(e);return Rt(t)}var uw=m(()=>{mr();H()});function pw(e){return e.reduce((t,n)=>[...t,...Rt(n)],[])}var cw=m(()=>{mr()});function Rt(e){return et(e)?Z$(e.$defs,e.$ref):ve(e)?ew(e.if,e.then,e.else):tt(e)?nw(e.enum):Q(e)?ow(e.allOf):ue(e)?iw(e.const):Se(e)?mw(e.pattern):L(e)?pw(e.anyOf):[]}var mr=m(()=>{It();St();rn();je();Oe();wt();J();Q$();tw();rw();sw();aw();uw();cw()});function yo(e){return Rt(e)}var Za=m(()=>{mr()});function Cs(e,t){return t.map(n=>Ls(e,n))}function Ls(e,t){return $e(t)?Ft(Ls(e,t.items)):_e(t)?xn(Cs(e,t.parameters),Ls(e,t.instanceType)):Ue(t)?hn(Cs(e,t.parameters),Ls(e,t.returnType)):ge(t)?Ce(Cs(e,t.items)):L(t)?V(Cs(e,t.anyOf)):Q(t)?$t(Cs(e,t.allOf)):Yi(t)?K(e):t}function lw(e,t){return Ls(e,t)}var dw=m(()=>{ct();Kt();Gt();je();ce();Ne();Xi();J()});function KC(e,t){let n=t in e?e[t]:le();return lw(e,n)}function fw(e,t){return t.reduce((n,r)=>[...n,KC(e,r)],[])}function GC(e,t){let n=yo(t),r=fw(e,n);return Tt(r)}function zC(e){return e.filter(n=>WC.test(n))}function BC(e){let t=wi(e),n=zC(t),r=fw(e,n);return Tt(r)}function gw(e,t){return Me(t)?BC(e):GC(e,t)}var WC,xw=m(()=>{dt();Be();br();H();Za();Ve();dw();WC=new RegExp(nr)});function HC(e){return ee(ho(e))}function hw(e){return e.map(t=>kc(t))}function kc(e){return Q(e)?$t(hw(e.allOf)):L(e)?V(hw(e.anyOf)):ue(e)?HC(e.const):e}var yw=m(()=>{J();je();Oe();Ms()});function VC(e,t){return e.reduceRight((n,r,o)=>{let s=nt({},ee(o),t);return G.IsExtendsTrueLike(s)?[r,...n]:n},[])}function JC(e,t){let n=kc(t),r=VC(e,n);return er(r)}function YC(e){return er(e)}function bw(e,t){return ue(t)&&u.IsEqual(t.const,"length")?ee(e.length):Me(t)||lt(t)?YC(e):JC(e,t)}var Iw=m(()=>{R();Oe();dt();Tn();H();En();yw()});function $w(e,t){return $e(e)?Y$(e.items,t):me(e)?gw(e.properties,t):ge(e)?bw(e.items,t):le()}var ww=m(()=>{ct();Be();ce();Ne();X$();xw();Iw()});function XC(e){return et(e)||ve(e)||Q(e)||L(e)?xo(e):e}function wc(e,t,n){return z([e,t])?l.Update($w(XC(e),t),{},n):fs(e,t,n)}function kw(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return wc(s,a,o)}var Xa=m(()=>{v();It();St();je();J();N();$c();Os();ww()});function ua(e,t={}){return j("InstanceType",[e],t)}function Tw(e,t={}){return Tc(e,t)}var Qa=m(()=>{se();em()});function ZC(e){return _e(e)?e.instanceType:le()}function Tc(e,t){return z([e])?l.Update(ZC(e),{},t):ua(e,t)}function Ew(e,t,n,r={}){let o=k(e,t,n);return Tc(o,r)}var em=m(()=>{v();Kt();Be();Qa();N()});function gs(e,t={}){return j("KeyOf",[e],t)}function vw(e,t={}){return Ec(e,t)}var tm=m(()=>{se();nm()});function Sw(){return V([Pt(),Ht(),Xr()])}var Pw=m(()=>{dt();Vt();vr();J()});function Aw(e){return Pt()}var Rw=m(()=>{dt()});function QC(e){return e.reduce((n,r)=>Oi(r)?[...n,ee(ho(r))]:De(),[])}function Ow(e){let t=u.Keys(e),n=QC(t);return er(n)}var Mw=m(()=>{$n();R();Oe();Ms();H()});function Cw(e){return eo(e)}var Lw=m(()=>{Ve()});function Fw(e){let t=e.map((n,r)=>ee(r));return er(t)}var jw=m(()=>{Oe();H()});function Dw(e){return Te(e)?Sw():$e(e)?Aw(e.items):me(e)?Ow(e.properties):rt(e)?Cw(e):ge(e)?Fw(e.items):le()}var Nw=m(()=>{bt();ct();Be();ce();Ve();Ne();Pw();Rw();Mw();Lw();jw()});function e0(e){return et(e)||ve(e)||Q(e)||L(e)?xo(e):e}function Ec(e,t){return z([e])?l.Update(Dw(e0(e)),{},t):gs(e,t)}function qw(e,t,n,r){let o=k(e,t,n);return Ec(o,r)}var nm=m(()=>{v();It();St();je();J();tm();N();Os();Nw()});function cs(e,t,n,r,o={}){return j("Mapped",[e,t,n,r],o)}function _w(e,t,n,r,o={}){return vc({},be([],[]),e,t,n,r,o)}var rm=m(()=>{se();om();N()});function t0(e){let t=st(e);return sm(t)}function n0(e){return e.reduce((t,n)=>[...t,...sm(n)],[])}function r0(e){let t=gt(e);return sm(t)}function o0(e){return u.IsNumber(e)?[ee(`${e}`)]:[ee(e)]}function sm(e){return tt(e)?r0(e.enum):ue(e)?o0(e.const):Se(e)?t0(e.pattern):L(e)?n0(e.anyOf):[e]}function Uw(e){return sm(e)}var Kw=m(()=>{R();Oe();rn();wt();J();H();H()});function s0(e){return Se(e)?st(e.pattern):e}function i0(e,t,n,r,o,s){let a=l.Assign(e,{[n.name]:r}),p=k(a,t,o),c=s0(p),h=k(a,t,s);return $g(c)||wg(c)?{[c.const]:h}:{}}function a0(e,t,n,r,o,s){return r.reduce((a,p)=>[...a,i0(e,t,n,p,o,s)],[])}function m0(e){return e.reduce((t,n)=>[...t,K(n)],[])}function Gw(e,t,n,r,o,s){let a=Uw(r),p=a0(e,t,n,a,o,s),c=m0(p);return we(c)}var Ww=m(()=>{v();Oe();ce();wt();N();H();H();Kw()});function vc(e,t,n,r,o,s,a){return z([r])?l.Update(Gw(e,t,n,r,o,s),{},a):cs(n,r,o,s,a)}function zw(e,t,n,r,o,s,a){let p=k(e,t,r);return vc(e,t,n,p,o,s,a)}var om=m(()=>{v();rm();N();Ww()});function u0(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:KI(r,a,t[a])}),{})}function p0(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:k(r,be([],[]),t[a])}),{})}function c0(e,t,n){let r=DI(t),o=u0(e,t,r),s=p0(e,t,r),a={...o,...s};return l.Update(a,{},n)}function im(e,t,n,r){return c0(e,n,r)}var am=m(()=>{R();v();N();tc();rc();N()});function pa(e,t={}){return j("NonNullable",[e],t)}function Bw(e,t={}){return Sc(e,t)}var mm=m(()=>{se();um()});function l0(e){let t=V([Vr(),no()]);return Ps(e,t,{})}function Sc(e,t){return z([e])?l.Update(l0(e),{},t):pa(e,t)}function Hw(e,t,n,r){let o=k(e,t,n);return Sc(o,r)}var um=m(()=>{v();Yr();oo();J();As();mm();N()});function ca(e,t,n={}){return j("Omit",[e,t],n)}function Vw(e,t,n={}){let r=u.IsArray(t)?go(t):t;return Pc(e,r,n)}var pm=m(()=>{R();se();Rs();cm()});function lm(e){let t=xo(e);return me(t)?t.properties:De()}var Ac=m(()=>{$n();ce();Os()});function d0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function Jw(e,t){let n=lm(e),r=yo(t),o=d0(n,r);return K(o)}var Yw=m(()=>{R();ce();Za();Ac()});function Pc(e,t,n){return z([e,t])?l.Update(Jw(e,t),{},n):ca(e,t,n)}function Xw(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Pc(s,a,o)}var cm=m(()=>{v();pm();N();Yw()});function la(e,t={}){return j("Parameters",[e],t)}function Zw(e,t={}){return Rc(e,t)}var dm=m(()=>{se();fm()});function f0(e){let t=Ue(e)?e.parameters:[],n=ar({},be([],[]),t);return Ce(n)}function Rc(e,t){return z([e])?l.Update(f0(e),{},t):la(e,t)}function Qw(e,t,n,r){let o=k(e,t,n);return Rc(o,r)}var fm=m(()=>{v();Gt();Ne();dm();N();N();N()});function da(e,t={}){return j("Partial",[e],t)}function ek(e,t={}){return Oc(e,t)}var gm=m(()=>{se();xm()});function tk(e,t){let n=An(e,t),r=On(n);return bn(l.Assign(e,{[t]:r}),t)}var nk=m(()=>{v();It();bo();Cr()});function rk(e,t,n){let r=sn(e,t,n);return On(r)}var ok=m(()=>{bo();H()});function sk(e){let t=we(e);return On(t)}var ik=m(()=>{bo();H()});function ak(e){let t=e.map(n=>On(n));return V(t)}var mk=m(()=>{J();bo()});function uk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:yr(e[o])}),{});return K(t)}var pk=m(()=>{R();ce();Bo()});function On(e){return et(e)?tk(e.$defs,e.$ref):ve(e)?rk(e.if,e.then,e.else):Q(e)?sk(e.allOf):L(e)?ak(e.anyOf):me(e)?uk(e.properties):K({})}var bo=m(()=>{It();St();je();ce();J();nk();ok();ik();mk();pk()});function Oc(e,t){return z([e])?l.Update(On(e),{},t):da(e,t)}function ck(e,t,n,r){let o=k(e,t,n);return Oc(o,r)}var xm=m(()=>{v();gm();bo();N()});function fa(e,t,n={}){return j("Pick",[e,t],n)}function lk(e,t,n={}){let r=u.IsArray(t)?go(t):t;return Mc(e,r,n)}var hm=m(()=>{R();se();Rs();ym()});function g0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?l.Assign(r,{[o]:e[o]}):r,{})}function dk(e,t){let n=lm(e),r=yo(t),o=g0(n,r);return K(o)}var fk=m(()=>{v();R();ce();Za();Ac()});function Mc(e,t,n){return z([e,t])?l.Update(dk(e,t),{},n):fa(e,t,n)}function gk(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Mc(s,a,o)}var ym=m(()=>{v();hm();N();fk()});function ga(e,t={}){return j("ReadonlyObject",[e],t)}function Cc(e,t={}){return Lc(e,t)}var xk,bm=m(()=>{se();Im();xk=Cc});function hk(e){return Hr(Ft(e))}var yk=m(()=>{ct();Zo()});function bk(e,t){let n=An(e,t),r=Mn(n);return bn(l.Assign(e,{[t]:r}),t)}var Ik=m(()=>{v();It();Io();Cr()});function $k(e,t,n){let r=sn(e,t,n);return Mn(r)}var wk=m(()=>{Io();H()});function kk(e){let t=we(e);return Mn(t)}var Tk=m(()=>{Io();H()});function Ek(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:wr(e[o])}),{});return K(t)}var vk=m(()=>{R();ce();Qo()});function Sk(e){return Hr(Ce(e))}var Pk=m(()=>{Ne();Zo()});function Ak(e){let t=e.map(n=>Mn(n));return V(t)}var Rk=m(()=>{J();Io()});function Mn(e){return $e(e)?hk(e.items):et(e)?bk(e.$defs,e.$ref):ve(e)?$k(e.if,e.then,e.else):Q(e)?kk(e.allOf):me(e)?Ek(e.properties):ge(e)?Sk(e.items):L(e)?Ak(e.anyOf):e}var Io=m(()=>{ct();It();St();je();ce();Ne();J();yk();Ik();wk();Tk();vk();Pk();Rk()});function Lc(e,t){return z([e])?l.Update(Mn(e),{},t):ga(e)}function Ok(e,t,n,r){let o=k(e,t,n);return Lc(o,r)}var Im=m(()=>{v();bm();Io();N()});function Mk(e,t,n,r){return t.visited.includes(r)?n:r in e?k(e,be(t.callstack,[...t.visited,r]),e[r]):n}var Fc=m(()=>{N();N()});function Ck(e,t){let n=An(e,t),r=Cn(n);return bn(l.Assign(e,{[t]:r}),t)}var Lk=m(()=>{v();It();$o();Cr()});function Fk(e,t,n){let r=sn(e,t,n);return Cn(r)}var jk=m(()=>{$o();H()});function Dk(e){let t=we(e);return Cn(t)}var Nk=m(()=>{$o();H()});function qk(e){let t=e.map(n=>Cn(n));return V(t)}var _k=m(()=>{J();$o()});function Uk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:_i(e[o])}),{});return K(t)}var Kk=m(()=>{R();ce();Ui()});function Cn(e){return et(e)?Ck(e.$defs,e.$ref):ve(e)?Fk(e.if,e.then,e.else):Q(e)?Dk(e.allOf):L(e)?qk(e.anyOf):me(e)?Uk(e.properties):K({})}var $o=m(()=>{It();St();je();ce();J();Lk();jk();Nk();_k();Kk()});function xa(e,t={}){return j("Required",[e],t)}function Gk(e,t={}){return jc(e,t)}var $m=m(()=>{se();wm()});function jc(e,t){return z([e])?l.Update(Cn(e),{},t):xa(e,t)}function Wk(e,t,n,r){let o=k(e,t,n);return jc(o,r)}var wm=m(()=>{v();$o();$m();N()});function ha(e,t={}){return j("ReturnType",[e],t)}function zk(e,t={}){return Dc(e,t)}var km=m(()=>{se();Tm()});function x0(e){return Ue(e)?e.returnType:le()}function Dc(e,t){return z([e])?l.Update(x0(e),{},t):ha(e,t)}function Bk(e,t,n,r={}){let o=k(e,t,n);return Dc(o,r)}var Tm=m(()=>{v();Gt();Be();km();N()});function ya(e,t){return j("With",[e,t],{})}function Hk(e,t){return Nc(e,t)}var Em=m(()=>{se();vm()});function Nc(e,t){return z([e])?l.Update(e,{},t):ya(e,t)}function Vk(e,t,n,r){let o=k(e,t,n);return Nc(o,r)}var vm=m(()=>{v();N();Em()});function h0(e){return rr(e)?ge(e.items)?qc(e.items.items):Re(e.items)?[e]:Ke(e.items)?[e]:[le()]:[e]}function qc(e){return e.reduce((n,r)=>[...n,...h0(r)],[])}var Jk=m(()=>{zt();Be();to();Wt();Ne()});var Yk=m(()=>{Jk()});function be(e,t){return{callstack:e,visited:t}}function z(e){return u.ShiftLeft(e,(t,n)=>Ke(t)?!1:z(n),()=>!0)}function ws(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:k(e,t,n[o])}),{})}function ar(e,t,n){let r=jt(e,t,n);return qc(r)}function jt(e,t,n){return n.map(r=>k(e,t,r))}function y0(e,t){let n=ot(e)?Wo(t,{}):t,r=kr(e)?Go(n,{}):n;return $r(e)?Fs(r,{}):r}function b0(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?Xk(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?i$(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?rf(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?Ng(e,t,r[0],o):u.IsEqual(n,"AddOptional")?of(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?Ug(e,t,r[0],o):u.IsEqual(n,"Capitalize")?b$(e,t,r[0],o):u.IsEqual(n,"Conditional")?T$(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"ConstructorParameters")?v$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?BI(e,t,r[0],o):u.IsEqual(n,"Exclude")?P$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?C$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?kw(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?Ew(e,t,r[0],o):u.IsEqual(n,"Interface")?CI(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?qw(e,t,r[0],o):u.IsEqual(n,"Lowercase")?I$(e,t,r[0],o):u.IsEqual(n,"Mapped")?zw(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?im(e,t,r[0],o):u.IsEqual(n,"NonNullable")?Hw(e,t,r[0],o):u.IsEqual(n,"Pick")?gk(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?Qw(e,t,r[0],o):u.IsEqual(n,"Partial")?ck(e,t,r[0],o):u.IsEqual(n,"Omit")?Xw(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?Ok(e,t,r[0],o):u.IsEqual(n,"Record")?lx(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?Wk(e,t,r[0],o):u.IsEqual(n,"ReturnType")?Bk(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?Sb(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?$$(e,t,r[0],o):u.IsEqual(n,"Uppercase")?w$(e,t,r[0],o):u.IsEqual(n,"With")?Vk(e,t,r[0],r[1]):j(n,r,o)}function I0(e,t,n){let r=Ke(n)?Mk(e,t,n,n.$ref):$e(n)?Ft(k(e,t,n.items),$i(n)):fo(n)?qa(e,t,n.target,n.arguments):_e(n)?xn(jt(e,t,n.parameters),k(e,t,n.instanceType),sf(n)):Ue(n)?hn(jt(e,t,n.parameters),k(e,t,n.returnType),af(n)):ve(n)?Ir(k(e,t,n.if),k(e,t,n.then),k(e,t,n.else),ff(n)):Q(n)?$t(jt(e,t,n.allOf),bf(n)):me(n)?K(ws(e,t,n.properties),cf(n)):rt(n)?dx(Yt(n),k(e,t,xt(n))):rr(n)?Pr(k(e,t,n.items)):ge(n)?Ce(ar(e,t,n.items),Dg(n)):L(n)?V(jt(e,t,n.anyOf),Tg(n)):n;return y0(n,r)}function k(e,t,n){return Vn(n)?b0(e,t,n.action,n.parameters,n.options):I0(e,t,n)}function _c(e,t){return k(e,be([],[]),t)}var N=m(()=>{R();Sm();bi();Ii();ct();Kt();se();Gt();so();St();je();ce();Ve();Ne();J();Wt();to();Sm();cc();bi();up();Ii();lp();Yn();Xo();es();pc();Rn();yc();Ha();Na();As();Ya();Xa();em();Fa();nm();Rn();om();am();um();cm();fm();xm();ym();Im();zi();Fc();wm();Tm();Ra();Rn();Rn();vm();Yk()});function $0(e){return l.Update(e,{"~immutable":!0},{})}function Fs(e,t){return l.Update($0(e),{},t)}function Xk(e,t,n,r){let o=k(e,t,n);return Fs(o,r)}var Sm=m(()=>{v();N()});function gy(e,t={}){return j("AddImmutable",[e],t)}function Hr(e,t={}){return Fs(e,t)}var Zo=m(()=>{se();Sm()});var Zk=m(()=>{se();cc()});function xy(e,t={}){return j("Evaluate",[e],t)}function Qk(e,t={}){return ic(e,t)}var Uc=m(()=>{se();Na()});function hy(e,t={}){return j("Module",[e],t)}function eT(e,t={}){return im({},be([],[]),e,t)}var Kc=m(()=>{se();N();am()});var io=m(()=>{Zo();Qo();Bo();Zk();pp();Ui();Ua();za();Ba();Uc();Va();Ja();$c();Qa();ks();tm();Ka();rm();Kc();mm();pm();dm();gm();hm();bm();$m();km();Ga();Wa();Em()});var tT=m(()=>{Ha()});var nT=m(()=>{vi()});var rT=m(()=>{As()});var oT=m(()=>{Ya()});var sT=m(()=>{});var iT=m(()=>{Rs();Ms();sT()});var aT=m(()=>{Xa()});var mT=m(()=>{em()});var uT=m(()=>{Fa()});var pT=m(()=>{Rn()});var cT=m(()=>{nm()});var lT=m(()=>{om()});var dT=m(()=>{am()});var fT=m(()=>{um()});var gT=m(()=>{cm()});var xT=m(()=>{fm()});var hT=m(()=>{os();Kp()});var yT=m(()=>{xm()});var bT=m(()=>{ym()});var IT=m(()=>{R();ms()});var $T=m(()=>{IT()});var wT=m(()=>{Im()});var kT=m(()=>{zi()});var TT=m(()=>{Fc()});var ET=m(()=>{wm()});var vT=m(()=>{Tm()});var ST=m(()=>{});var PT=m(()=>{R();os()});var AT=m(()=>{Ni();qi();Gp();ST();ji();PT()});var RT=m(()=>{vm()});var OT=m(()=>{N();yc();tT();oc();nT();Is();rT();oT();iT();aT();mT();uT();pT();cT();lT();dT();fT();Os();gT();xT();hT();yT();bT();$T();wT();kT();TT();ET();vT();AT();RT()});function MT(...e){let[t,n,r]=In.Match(e,{2:(a,p)=>u.IsString(a)?[{},a,p]:[a,p,{}],3:(a,p,c)=>[a,p,c],1:a=>[{},a,{}]}),o=wb(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?k(t,be([],[]),o[0]):le();return l.Update(s,{},r)}var CT=m(()=>{Br();v();R();Qi();N();N();Li()});var Gc=m(()=>{CT()});var ie={};Lt(ie,{Any:()=>zr,Array:()=>Ft,BigInt:()=>ts,Boolean:()=>Ai,Call:()=>o$,Capitalize:()=>g$,Codec:()=>Pi,Conditional:()=>k$,Constructor:()=>xn,ConstructorParameters:()=>E$,Cyclic:()=>bn,Decode:()=>fg,DecodeBuilder:()=>Yo,Dependent:()=>Ir,Encode:()=>gg,EncodeBuilder:()=>Jo,Enum:()=>yf,Evaluate:()=>Qk,Exclude:()=>S$,Extends:()=>nt,ExtendsResult:()=>G,Extract:()=>A$,Function:()=>hn,Generic:()=>Jn,Identifier:()=>ns,Immutable:()=>xg,Index:()=>L$,Infer:()=>Ho,InstanceType:()=>Tw,Instantiate:()=>_c,Integer:()=>Er,Interface:()=>LI,Intersect:()=>$t,IsAny:()=>Te,IsArray:()=>$e,IsBigInt:()=>kn,IsBoolean:()=>Bt,IsCall:()=>fo,IsCodec:()=>Si,IsConstructor:()=>_e,IsCyclic:()=>et,IsDependent:()=>ve,IsEnum:()=>tt,IsEnumValue:()=>hf,IsFunction:()=>Ue,IsGeneric:()=>Wr,IsIdentifier:()=>Ig,IsImmutable:()=>$r,IsInfer:()=>Re,IsInteger:()=>lt,IsIntersect:()=>Q,IsKind:()=>C,IsLiteral:()=>ue,IsNever:()=>nn,IsNull:()=>Jr,IsNumber:()=>Me,IsObject:()=>me,IsOptional:()=>ot,IsParameter:()=>kg,IsReadonly:()=>kr,IsRecord:()=>rt,IsRef:()=>Ke,IsRefine:()=>np,IsRest:()=>rr,IsSchema:()=>Fe,IsString:()=>ft,IsSymbol:()=>Zn,IsTemplateLiteral:()=>Se,IsThis:()=>Yi,IsTuple:()=>ge,IsUndefined:()=>ro,IsUnion:()=>L,IsUnknown:()=>Ae,IsUnsafe:()=>Ti,IsVoid:()=>vn,KeyOf:()=>vw,Literal:()=>ee,Lowercase:()=>x$,Mapped:()=>_w,Module:()=>eT,Never:()=>le,NonNullable:()=>Bw,Null:()=>Vr,Number:()=>Pt,Object:()=>K,Omit:()=>Vw,Optional:()=>uf,Parameter:()=>Sr,Parameters:()=>Zw,Partial:()=>ek,Pick:()=>lk,Readonly:()=>hg,ReadonlyObject:()=>Cc,ReadonlyType:()=>xk,Record:()=>Hi,RecordKey:()=>eo,RecordPattern:()=>Yt,RecordValue:()=>xt,Ref:()=>Dn,Refine:()=>yg,Required:()=>Gk,Rest:()=>Pr,ReturnType:()=>zk,Script:()=>MT,String:()=>Ht,Symbol:()=>Xr,TemplateLiteral:()=>Ab,This:()=>Ji,Tuple:()=>Ce,Uncapitalize:()=>h$,Undefined:()=>no,Union:()=>V,Unknown:()=>He,Unsafe:()=>lf,Uppercase:()=>y$,Void:()=>Zi,With:()=>Hk});var Wc=m(()=>{N();En();Gc();Ua();za();Ba();Uc();Va();Ja();io();Qa();ks();tm();Ka();rm();Kc();mm();pm();dm();gm();hm();bm();$m();km();Ga();Wa();Em();tp();Xo();Yn();es();rp();bt();ct();Tr();Xn();so();Kt();It();rn();Gt();zo();op();St();zt();Tn();je();Oe();Be();Yr();dt();ce();ip();Ve();Wt();to();B();Vt();vr();wt();Xi();Ne();oo();J();Qe();Ei();Ar()});var wo=m(()=>{io();OT();En();Gc();Qi();Wc();Wc()});import{StringEnum as w0}from"@earendil-works/pi-ai";import{defineTool as k0}from"@earendil-works/pi-coding-agent";function LT(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${T0[o.status]} ${o.content}`),r=e.filter(o=>o.status==="pending"||o.status==="in_progress").length;return[`${t}/${e.length} done, ${r} open`,...n].join(`
18
+ `)}function v0(e,t,n,r){let o=e.map(s=>({...s}));switch(t){case"init":return!n||n.length===0?{todos:o,error:"init needs a non-empty items array"}:{todos:n.map(s=>({content:s,status:"pending"}))};case"view":return{todos:o};case"start":case"done":case"drop":{if(!r)return{todos:o,error:`${t} needs task`};let s=o.find(a=>a.content===r);if(!s)return{todos:o,error:`no task matches ${JSON.stringify(r)}`};if(t==="start"){for(let a of o)a.status==="in_progress"&&(a.status="pending");s.status="in_progress"}else s.status=t==="done"?"completed":"dropped";return{todos:o}}default:return{todos:o,error:`unknown op ${JSON.stringify(t)}`}}}function S0(e){let t=[];for(let n of e.sessionManager.getBranch()){if(n.type!=="message")continue;let r=n.message;if(r.role!=="toolResult"||r.toolName!=="todo")continue;let o=r.details;o?.todos&&(t=o.todos)}return t}var T0,E0,Pm,zc=m(()=>{wo();T0={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},E0=ie.Object({op:w0(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:ie.Optional(ie.Array(ie.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:ie.Optional(ie.String({description:"Exact label of the task to start, complete or drop"}))});Pm=k0({name:"todo",label:"todo",description:"Track the plan for this task. Use `init` once with the whole plan (investigation through verification), then `start`/`done` as you go. Keep the list current so progress stays visible; do not re-init unless the plan materially changes.",promptSnippet:"todo: record and advance the plan for the current task",parameters:E0,async execute(e,t,n,r,o){let s=S0(o),{todos:a,error:p}=v0(s,t.op,t.items,t.task),c={op:t.op,todos:a,...p?{error:p}:{}};return{content:[{type:"text",text:p?`Error: ${p}
19
+ ${LT(a)}`:LT(a)}],details:c,...p?{isError:!0}:{}}}})});import{StringEnum as P0}from"@earendil-works/pi-ai";import{defineTool as A0}from"@earendil-works/pi-coding-agent";function DT(){return Un.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...Un].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
20
+ `)}function R0(e,t,n){if(e==="list")return Un.size===0?{text:"No notes."}:{text:[...Un].map(([r,o])=>`${r} = ${o}`).join(`
21
+ `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>jT)return{text:`Error: key longer than ${jT} characters`,error:"key too long"};if(e==="forget")return{text:Un.delete(t)?`Removed ${t}`:`No note named ${t}`};if(e==="set"){if(!n)return{text:"Error: value is required for set",error:"value required"};let r=n.length>FT?`${n.slice(0,FT)}\u2026`:n;return Un.set(t,r),{text:`Recorded ${t} (${Un.size} note${Un.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var Un,FT,jT,Am,Rm=m(()=>{wo();Un=new Map,FT=2e3,jT=80;Am=A0({name:"context",label:"context",description:"Record a durable working note (a decision, a file's role, a fact you would otherwise re-derive). Notes survive context compaction and are visible to every agent on this task, including subagents. Use `set` to write, `list` to read, `forget` to remove.",promptSnippet:"context: durable notes shared with every agent on this task",parameters:ie.Object({op:P0(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:ie.Optional(ie.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:ie.Optional(ie.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:n,error:r}=R0(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(Un)},...r?{isError:!0}:{}}}})});import{StringEnum as O0}from"@earendil-works/pi-ai";import{defineTool as M0}from"@earendil-works/pi-coding-agent";function Mm(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??Om,n=[`${_T[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
22
+ ${e.text}`}function UT(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??Om,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${_T[e.status]} ${e.used}/${t} \xB7 ${n}`}function KT(e){let t=["<goal>",e.text,`Status: ${e.status}.`];return e.status==="active"&&t.push("Work toward this goal until it is genuinely met. When it is, call the `goal` tool with",'op="complete" and a note naming the evidence \u2014 a command you ran or a file you checked.',"If you are blocked and cannot proceed, say so plainly instead of repeating an attempt."),t.push("</goal>"),t.join(`
23
+ `)}function GT(e){return["[goal] The goal is still open and you stopped without closing it:",` ${e.text}`,"","Continue from where you left off. Do not repeat work you already did. If the goal is met,",'call the `goal` tool with op="complete" and a note naming the evidence. Do not call it',"complete to escape a hard problem: if you cannot make progress, state what is blocking you.",`Continuations used: ${e.used}/${e.budget??Om}.`].join(`
24
+ `)}function Cm(){return WT}function an(e){WT=e}function Lm(e){if(!e)return{action:"stop",reason:"no goal",close:!1};if(e.status==="done")return{action:"stop",reason:"goal complete",close:!1};if(e.status==="cleared")return{action:"stop",reason:"goal cleared",close:!1};if(e.status==="paused")return{action:"stop",reason:"goal paused",close:!1};let t=e.budget??Om;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function Bc(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>NT?{goal:e,error:`text longer than ${NT} characters`}:r!==void 0&&(!Number.isInteger(r)||r<1)?{goal:e,error:"budget must be a positive integer"}:{goal:{text:n.trim(),status:"active",used:0,...r===void 0?{}:{budget:r}}}:{goal:e,error:"set needs text"};case"pause":case"resume":case"complete":case"clear":return!e||e.status==="cleared"?{goal:e,error:"no goal to change"}:t==="resume"?e.status==="done"?{goal:e,error:"goal is complete; set a new one instead"}:{goal:{...e,status:"active",note:void 0}}:t==="pause"?{goal:{...e,status:"paused"}}:t==="clear"?{goal:{...e,status:"cleared"}}:o?.trim()?{goal:{...e,status:"done",note:o.trim()}}:{goal:e,error:"complete needs a note naming the evidence (a command you ran or a file you checked)"};default:return{goal:e,error:`unknown op ${JSON.stringify(t)}`}}}function ko(e){let t;for(let n of e.sessionManager.getBranch()){if(n.type==="custom"&&n.customType===ur){t=n.data;continue}if(n.type==="custom_message"&&n.customType===ur){t=n.details??t;continue}if(n.type!=="message")continue;let r=n.message;if(r.role!=="toolResult"||r.toolName!=="goal")continue;let o=r.details;o?.goal&&(t=o.goal)}return t}var ur,qT,NT,Om,_T,WT,C0,zT,Fm=m(()=>{wo();ur="howtofix.goal",qT="howtofix.goal.continue",NT=400,Om=25,_T={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};C0=ie.Object({op:O0(["set","view","pause","resume","complete","clear"],{description:"set starts a goal; complete closes it with evidence; pause/resume/clear manage it; view reads it"}),text:ie.Optional(ie.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:ie.Optional(ie.Number({description:"Optional cap on automatic continuations before the run stops"})),note:ie.Optional(ie.String({description:"Evidence that the goal is met (required for complete)"}))}),zT=M0({name:"goal",label:"goal",description:"Track the goal for this session. The goal is already shown in your context every request, so you rarely need `view`. Call `complete` only when the goal is genuinely met, and pass a note naming the evidence. When a goal is active the harness continues the run if you stop without closing it, so closing it is how you stop.",promptSnippet:"goal: the session's objective, and how to close it",parameters:C0,async execute(e,t,n,r,o){let s=ko(o),{goal:a,error:p}=Bc(s,t.op,t.text,t.budget,t.note);an(a);let c=Mm(a);return{content:[{type:"text",text:p?`Error: ${p}
25
+ ${c}`:c}],details:{op:t.op,goal:a},...p?{isError:!0}:{}}}})});import{existsSync as Jc,mkdirSync as BT,readFileSync as HT}from"node:fs";import{dirname as VT,join as JT}from"node:path";import{defineTool as YT}from"@earendil-works/pi-coding-agent";function jm(){return{state:"inactive",wasActive:!1}}function L0(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:jm()}function XT(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function F0(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function j0(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function D0(e){return e.state!=="active"?e:{...e,state:"inactive"}}function ZT(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Dm(e){return e.state==="active"}function N0(e,t){return e===t}function q0(e,t){return["<plan-mode>","Plan mode is active. Do not make any edits or writes to the system.",t?`A plan file exists at ${e}. Read it and refine it with the \`edit\` tool.`:`No plan is written yet. Write yours to ${e} with the \`write\` tool.`,"That file is the only path you may edit.","Explore first: read, search, and run read-only commands until the approach is clear.","End your turn with either `ask` to clarify a requirement, or `exit_plan_mode` to present","the plan for approval. Do not start implementing before the plan is approved.","</plan-mode>"].join(`
26
+ `)}function _0(e){return`Rejected: file edits are not allowed in plan mode. The only editable file is the plan file (${e}). Present the plan with exit_plan_mode first.`}function Nm(){return ut}function QT(){return mt}function eE(){return Dm(ut)}function tE(){if(!(!mt||!Jc(mt)))try{let e=HT(mt,"utf8");return e.trim()?e:void 0}catch{return}}function nE(){return tE()!==void 0}function rE(){return ut.state==="inactive"?"":ut.state==="pending"?"plan pending":nE()?"plan \u25CF ready":"plan \u25CF planning"}function oE(){return Vc?JT(Vc,"plan_mode.json"):void 0}function U0(){let e=oE();if(e)try{BT(VT(e),{recursive:!0}),Ze(e,JSON.stringify(ut))}catch{}}function K0(){let e=oE();if(!e||!Jc(e))return jm();try{return L0(JSON.parse(HT(e,"utf8")))}catch{return jm()}}function G0(e){Vc=e,mt=JT(e,"plan.md"),ut=K0()}function To(e){return ut=e,U0(),ut}function sE(){return e=>{e.on("tool_call",async t=>{if(!Dm(ut)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!mt||N0(n,mt)))return{block:!0,reason:_0(mt)}})}}function iE(){return e=>{e.on("session_start",async(t,n)=>{G0(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{ut.state==="pending"&&To(F0(ut))}),e.on("context_with_system",async t=>{if(!Dm(ut)||!mt)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=q0(mt,nE()),o=`${typeof n.content=="string"?n.content:""}
27
+
28
+ ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function W0(){if(mt){try{BT(VT(mt),{recursive:!0}),Jc(mt)||Ze(mt,"")}catch{return}return mt}}var mt,ut,Vc,Hc,aE,mE,Yc=m(()=>{wo();zn();ut=jm();Hc=2e4;aE=YT({name:"enter_plan_mode",label:"enter_plan_mode",description:"Enter plan mode to design an approach before writing code. Use it when a task has genuine ambiguity \u2014 several reasonable designs, or a restructuring where the wrong approach wastes significant effort. Do not use it for a clear fix, a rename, or a task that follows existing conventions. The user must approve entering.",promptSnippet:"enter_plan_mode: design first when the approach is genuinely ambiguous",parameters:ie.Object({}),async execute(e,t,n,r,o){if(ut.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${ut.state}.`}],details:{}};if(!o.hasUI)return{content:[{type:"text",text:"Plan mode needs an interactive session: there is no one to approve the plan. Proceed normally."}],details:{},isError:!0};if(!await o.ui.confirm("Enter plan mode?","The agent will explore and design an approach before editing anything."))return{content:[{type:"text",text:"The user declined plan mode. Proceed normally."}],details:{}};To(j0(ut));let a=W0();return{content:[{type:"text",text:["Plan mode is active. Edits are blocked except for the plan file.",a?`Write your plan to ${a}.`:"Write your plan to the session plan file."].join(`
29
+ `)}],details:{planFile:a}}}}),mE=YT({name:"exit_plan_mode",label:"exit_plan_mode",description:"Present your plan for approval when you have finished planning. The plan is read from the plan file on disk, so write the file first. If the user asks for changes, stay in plan mode and revise it.",promptSnippet:"exit_plan_mode: present the written plan for approval",parameters:ie.Object({}),executionMode:"sequential",async execute(e,t,n,r,o){if(!Dm(ut))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=tE();if(!s)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${mt??"the plan file"} before exiting plan mode.`}],details:{},isError:!0};if(!o.hasUI)return{content:[{type:"text",text:"Plan approval needs an interactive session."}],details:{},isError:!0};let a=s.length>Hc?`${s.slice(0,Hc)}
30
+ \u2026 (${s.length-Hc} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?(To(D0(ut)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:mt}}):{content:[{type:"text",text:"The user did not approve the plan. Stay in plan mode, revise the plan file with the feedback, and present it again."}],details:{approved:!1}}}})});function Xc(){return{consecutiveFailures:0,tripped:!1}}function z0(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function B0(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function H0(){return Xc()}function V0(e){return[`Auto-compaction failed ${e.consecutiveFailures} times in a row, so it is switched off for this session.`,"The context is over the limit and compaction cannot recover it. Start a new session, or switch to a model with a larger context window.","Manual /compact is still allowed."].join(" ")}function uE(){return e=>{e.on("session_start",async()=>{pr=Xc()}),e.on("session_compact",async()=>{pr=H0()}),e.on("session_compact_failed",async(t,n)=>{let r=pr;pr=B0(pr,t.aborted),!r.tripped&&pr.tripped&&n?.ui&&n.ui.notify(V0(pr),"warning")}),e.on("session_before_compact",async t=>{if(z0(pr,t.reason))return{cancel:!0}})}}var pr,pE=m(()=>{pr=Xc()});function qm(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{let n=t;return n.type==="text"&&typeof n.text=="string"?n.text:""}).join(`
31
+ `):e==null?"":String(e)}function _m(e,t){if(Array.isArray(e)){let n=e.map(o=>({...o})),r=n.filter(o=>o.type==="text");if(r.length>0){r[0].text=t;for(let o of r.slice(1))o.text="";return n}return[...n,{type:"text",text:t}]}return t}var Zc=m(()=>{});function J0(e){an(ko(e))}function cE(e){return`budget exhausted (${e.budget??"default"} continuations)`}function lE(){return e=>{e.on("session_start",async(t,n)=>{J0(n)}),e.on("context_with_system",async(t,n)=>{let r=ko(n);if(an(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${qm(o.content)}
32
+
33
+ ${KT(r)}`;return{messages:t.messages.map(p=>p===o?{...o,content:_m(o.content,s)}:p)}}),e.on("agent_before_settle",async(t,n)=>{let r=ko(n);if(an(r),Lm(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(ur,o),an(o),Lm(o).action==="stop"){let s={...o,status:"done",note:cE(o)};e.appendEntry(ur,s),an(s);return}return{entries:[{type:"custom_message",customType:qT,content:GT(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=ko(n),o=Lm(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:cE(r)};e.appendEntry(ur,s),an(s)}else an(r)})}}var dE=m(()=>{Zc();Fm()});function Um(){return e=>{e.on("context_with_system",async t=>{let n=DT();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${qm(r.content)}
34
+
35
+ ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:_m(r.content,o)}:a)}})}}var Qc=m(()=>{Zc();Rm()});import{mkdirSync as Y0,readdirSync as X0,readFileSync as Z0}from"node:fs";import{join as fE}from"node:path";import{createAgentSession as Q0,DefaultResourceLoader as eL,SessionManager as tL}from"@earendil-works/pi-coding-agent";function Km(e){Y0(_r,{recursive:!0}),Ze(fE(_r,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function tl(){let e;try{e=X0(_r)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(Z0(fE(_r,t),"utf8"));if(n.status!=="parked"||Xt.some(r=>r.id===n.id))continue;Xt.push({...n,mail:n.mail??[]})}catch{}}function nl(){return tl(),Xt.length===0?"no agents":Xt.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
36
+ `)}function rl(e){tl();let t=Xt.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
37
+ ${t.result??t.task}`:`no agent ${e}`}async function Gm(e){let t=Fr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||e.cwd||process.cwd(),r=new eL({cwd:n,agentDir:Xe,extensionFactories:[jo({interactive:!1}),Um()]});await r.reload();let{session:o}=await Q0({cwd:n,agentDir:Xe,sessionManager:tL.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[Am,Pm],thinkingLevel:e.effort});return o}async function xE(e,t){tl();let n=Xt.find(o=>o.id===e);if(!n)return`no agent ${e}`;let r=n.session??await Gm(n);if(n.session=r,n.status==="running"||r.isStreaming)return n.mail.push(t),Km(n),`queued for ${e}`;if(n.requests>=gE)return`${e} is out of budget (${n.requests} requests)`;n.status="running";try{await r.prompt(t),n.requests+=1,n.result=r.getLastAssistantText()?.trim()||n.result,n.status="parked"}catch(o){n.result=o instanceof Error?o.message:String(o),n.status="error"}return Km(n),`${e} ${n.status}`}async function hE(e){let t=Fr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Fr.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${Xt.length+1}`,cwd:e.cwd,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return Xt.push(n),Km(n),n}async function oL(e,t){let n=Fr.get(e.agent);if(!n)return;let r=e.session??await Gm(e);e.session=r;try{let o=e.mail.splice(0).join(`
38
38
  `);for(await r.prompt(`${n.prompt}
39
39
 
40
40
  Task:
41
41
  ${e.task}${o?`
42
42
 
43
43
  Messages:
44
- ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<dE;)await r.followUp(e.mail.splice(0).join(`
45
- `)),e.requests+=1;if(t?.aborted)throw new Error("aborted");e.result=r.getLastAssistantText()?.trim()||"agent finished without text",e.status="parked"}catch(o){e.result=o instanceof Error?o.message:String(o),e.status="error"}finally{_m(e)}}async function xE(e){let t=()=>Xt.find(r=>r.status==="queued"),n=async()=>{for(;;){if(e?.aborted)throw new Error("aborted");let r=t();if(!r)return;r.status="running",await nL(r,e)}};if(await Promise.all(Array.from({length:tL},n)),e?.aborted)throw new Error("aborted")}var Zc,eL,Cr,Xt,tL,dE,Fs=m(()=>{Gn();Pm();Xc();jo();Gc();Wn();Zc=["You are one agent on a shared task; siblings may be editing the same working tree right now.","Never run project-wide validation (full builds, whole test suites, formatters, linters) unless your assignment explicitly tells you to.","Siblings' unfinished edits will make those runs fail for reasons that are not yours. Prove your own change with a scoped test, a targeted repro, or a smoke run instead."],eL=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
44
+ ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<gE;)await r.followUp(e.mail.splice(0).join(`
45
+ `)),e.requests+=1;if(t?.aborted)throw new Error("aborted");e.result=r.getLastAssistantText()?.trim()||"agent finished without text",e.status="parked"}catch(o){e.result=o instanceof Error?o.message:String(o),e.status="error"}finally{Km(e)}}async function yE(e){let t=()=>Xt.find(r=>r.status==="queued"),n=async()=>{for(;;){if(e?.aborted)throw new Error("aborted");let r=t();if(!r)return;r.status="running",await oL(r,e)}};if(await Promise.all(Array.from({length:rL},n)),e?.aborted)throw new Error("aborted")}var el,nL,Fr,Xt,rL,gE,js=m(()=>{Wn();Rm();Qc();Do();zc();zn();el=["You are one agent on a shared task; siblings may be editing the same working tree right now.","Never run project-wide validation (full builds, whole test suites, formatters, linters) unless your assignment explicitly tells you to.","Siblings' unfinished edits will make those runs fail for reasons that are not yours. Prove your own change with a scoped test, a targeted repro, or a smoke run instead."],nL=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
46
46
 
47
47
  ## Read-only, by construction
48
48
  You have no edit tool, no write tool, and no shell. Do not attempt to modify, create, move, or delete anything \u2014 the call would fail. Your output is text.
@@ -60,68 +60,68 @@ End your reply with exactly this section, listing the 3-5 files most critical to
60
60
  - path/to/file.ts
61
61
  - path/to/file.ts
62
62
 
63
- Keep the plan concrete enough to execute without re-deriving it: name real paths and real function names you saw while exploring. If you could not confirm something, say which part you are unsure of instead of guessing.`,Cr=new Map([["scout",{name:"scout",description:"read-only lookup",tools:["read","grep","find","ls","context"],prompt:["Inspect only what the task needs. Do not edit.",...Zc].join(`
64
- `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context"],prompt:eL,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo"],prompt:["Do the assignment, then report files changed.",...Zc].join(`
65
- `),effort:"medium"}],["reviewer",{name:"reviewer",description:"finds concrete issues",tools:["read","grep","find","ls","context"],prompt:["Return issues with file evidence. Do not edit.",...Zc].join(`
66
- `),effort:"medium"}]]),Xt=[],tL=3,dE=8});import{execFile as rL}from"node:child_process";import{promisify as oL}from"node:util";import{tmpdir as sL}from"node:os";import{join as iL}from"node:path";async function Zt(e,t){try{let{stdout:n}=await aL("git",t,{cwd:e,encoding:"utf8",maxBuffer:8388608});return{ok:!0,output:n.trim()}}catch(n){let r=n&&typeof n=="object"&&"stderr"in n&&typeof n.stderr=="string"?n.stderr.trim():"",o=n instanceof Error?n.message:String(n);return{ok:!1,output:r||o}}}async function Km(e){return(await Zt(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function hE(e){return(await Zt(e,["status","--porcelain"])).output.length>0}async function yE(e,t){let n=await Zt(e,["add","-A"]);if(!n.ok)return n;let r=await Zt(e,["commit","-m",t]);return r.ok?{ok:!0,output:(await Zt(e,["log","-1","--oneline"])).output||r.output}:r}async function bE(e){let t=await Zt(e,["reset","--soft","HEAD~1"]);return t.ok?{ok:!0,output:(await Zt(e,["log","-1","--oneline"])).output||"reset to the previous commit"}:t}async function IE(e){let t=(await Zt(e,["diff"])).output,n=(await Zt(e,["diff","--cached"])).output;return[t,n].filter(Boolean).join(`
67
- `)}function $E(e,t=60){let n=e.split(`
63
+ Keep the plan concrete enough to execute without re-deriving it: name real paths and real function names you saw while exploring. If you could not confirm something, say which part you are unsure of instead of guessing.`,Fr=new Map([["scout",{name:"scout",description:"read-only lookup",tools:["read","grep","find","ls","context"],prompt:["Inspect only what the task needs. Do not edit.",...el].join(`
64
+ `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context"],prompt:nL,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo"],prompt:["Do the assignment, then report files changed.",...el].join(`
65
+ `),effort:"medium"}],["reviewer",{name:"reviewer",description:"finds concrete issues",tools:["read","grep","find","ls","context"],prompt:["Return issues with file evidence. Do not edit.",...el].join(`
66
+ `),effort:"medium"}]]),Xt=[],rL=3,gE=8});import{execFile as sL}from"node:child_process";import{promisify as iL}from"node:util";import{tmpdir as aL}from"node:os";import{join as mL}from"node:path";async function Zt(e,t){try{let{stdout:n}=await uL("git",t,{cwd:e,encoding:"utf8",maxBuffer:8388608});return{ok:!0,output:n.trim()}}catch(n){let r=n&&typeof n=="object"&&"stderr"in n&&typeof n.stderr=="string"?n.stderr.trim():"",o=n instanceof Error?n.message:String(n);return{ok:!1,output:r||o}}}async function Wm(e){return(await Zt(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function bE(e){return(await Zt(e,["status","--porcelain"])).output.length>0}async function IE(e,t){let n=await Zt(e,["add","-A"]);if(!n.ok)return n;let r=await Zt(e,["commit","-m",t]);return r.ok?{ok:!0,output:(await Zt(e,["log","-1","--oneline"])).output||r.output}:r}async function $E(e){let t=await Zt(e,["reset","--soft","HEAD~1"]);return t.ok?{ok:!0,output:(await Zt(e,["log","-1","--oneline"])).output||"reset to the previous commit"}:t}async function wE(e){let t=(await Zt(e,["diff"])).output,n=(await Zt(e,["diff","--cached"])).output;return[t,n].filter(Boolean).join(`
67
+ `)}function kE(e,t=60){let n=e.split(`
68
68
  `);if(n.length<=t)return e;let r=n.slice(0,t),o=n.length-t;return[...r,`\u2026 ${o} more line${o===1?"":"s"} not shown \u2014 /copy puts the full diff on the clipboard`].join(`
69
- `)}async function wE(e,t){if(!await Km(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=iL(sL(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return(await Zt(e,["worktree","add","--detach",r,"HEAD"])).ok?{path:r,async remove(){await Zt(e,["worktree","remove","--force",r]),await Zt(e,["worktree","prune"])}}:null}var aL,nl=m(()=>{aL=oL(rL)});function kE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function mL(e,t){let n=kE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function uL(e,t){if(typeof t!="string"||!t.startsWith("#/"))return;let n=e;for(let r of t.slice(2).split("/")){let o=r.replace(/~1/g,"/").replace(/~0/g,"~");if(!Lr(n)&&!Array.isArray(n))return;n=n[o]}return Lr(n)?n:void 0}function pr(e,t,n,r,o){if(!Lr(t))return;if(t.$ref!==void 0){let a=uL(n,t.$ref);a&&pr(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)pr(e,a,n,r,o);for(let a of["anyOf","oneOf"]){let p=t[a];if(!Array.isArray(p)||p.length===0)continue;let c=p.filter(h=>{let $=[];return pr(e,h,n,r,$),$.length===0}).length;a==="anyOf"&&c===0&&o.push({path:r,message:"does not match any allowed shape"}),a==="oneOf"&&c!==1&&o.push({path:r,message:`must match exactly one shape (matched ${c})`})}let s=t.type;if(s!==void 0){let a=Array.isArray(s)?s.map(String):[String(s)];if(!a.some(p=>mL(e,p))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${kE(e)}`});return}}if(Array.isArray(t.enum)&&!t.enum.some(a=>JSON.stringify(a)===JSON.stringify(e))&&o.push({path:r,message:`must be one of ${t.enum.map(a=>JSON.stringify(a)).join(", ")}`}),Lr(e)){let a=Lr(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let p of t.required.map(String))p in e||o.push({path:r?`${r}.${p}`:p,message:"is required"});for(let[p,c]of Object.entries(a))p in e&&pr(e[p],c,n,r?`${r}.${p}`:p,o);if(t.additionalProperties===!1)for(let p of Object.keys(e))p in a||o.push({path:r?`${r}.${p}`:p,message:"is not an allowed property"});else if(Lr(t.additionalProperties))for(let[p,c]of Object.entries(e))p in a||pr(c,t.additionalProperties,n,r?`${r}.${p}`:p,o)}if(Array.isArray(e)&&t.items!==void 0){let a=t.items;Array.isArray(a)?e.forEach((p,c)=>{c<a.length&&pr(p,a[c],n,`${r}[${c}]`,o)}):e.forEach((p,c)=>pr(p,a,n,`${r}[${c}]`,o))}if(typeof e=="string"&&(typeof t.minLength=="number"&&e.length<t.minLength&&o.push({path:r,message:`is shorter than ${t.minLength} characters`}),typeof t.pattern=="string"))try{new RegExp(t.pattern).test(e)||o.push({path:r,message:`does not match ${t.pattern}`})}catch{}typeof e=="number"&&(typeof t.minimum=="number"&&e<t.minimum&&o.push({path:r,message:`is below ${t.minimum}`}),typeof t.maximum=="number"&&e>t.maximum&&o.push({path:r,message:`is above ${t.maximum}`}))}function TE(e,t){if(!Lr(t))return[];let n=[];return pr(e,t,t,"",n),n}function EE(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
70
- `)}function vE(e){let t=e.trim(),n=/```(?:json)?\s*([\s\S]*?)```/.exec(t),r=[t,n?.[1]?.trim()].filter(o=>!!o);for(let o of r){try{return JSON.parse(o)}catch{}for(let s=0;s<o.length;s++){let a=o[s];if(a!=="{"&&a!=="[")continue;let p=a==="{"?"}":"]",c=0,h=!1,$=!1;for(let T=s;T<o.length;T++){let M=o[T];if(h){$?$=!1:M==="\\"?$=!0:M==='"'&&(h=!1);continue}if(M==='"')h=!0;else if(M===a)c++;else if(M===p&&(c--,c===0))try{return JSON.parse(o.slice(s,T+1))}catch{break}}}}}var Lr,SE=m(()=>{Lr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as PE from"node:os";async function lL(e,t=AE,n=RE){let r=Date.now()+n;for(;e.isPaused?.();){if(e.signal?.aborted||Date.now()>=r)return!1;await new Promise(o=>setTimeout(o,t))}return!0}function dL(){let e=PE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function fL(e){let t=0,n=[];return async function(){t>=e&&await new Promise(s=>n.push(s)),t++;let o=!1;return()=>{o||(o=!0,t--,n.shift()?.())}}}function OE(e){let t=e.lifetimeCap??pL,n=e.fanoutCap??cL,r=fL(e.concurrency??dL()),o=0,s=0,a="",p=_=>e.onEvent?.(_),c=new Map,h=()=>e.onProgress?.([...c.values()]),$=async(_,Z)=>{let ae=Z??{},xe=typeof ae.label=="string"?ae.label:`agent-${o+1}`,ke=typeof ae.phase=="string"?ae.phase:a,We=typeof ae.agentType=="string"?ae.agentType:"task",Nt=typeof ae.effort=="string"?ae.effort:void 0,he=typeof ae.model=="string"?ae.model:void 0,te=typeof ae.isolation=="string"?ae.isolation:void 0,E=ae.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new Ge(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Ge(`lifetime cap reached: ${t} agent calls in one run`);o++;let ze=o;if(e.isPaused?.()&&!await lL(e,AE,RE))return null;let qt=await r();try{if(e.signal?.aborted)return null;p({kind:"agent_start",label:xe,phase:ke,ordinal:o}),c.set(ze,{label:xe,phase:ke,agentType:We,status:"running",outputTokens:0,...he?{model:he}:{},startedAt:Date.now()}),h();let cn=(Qt,_t,qe)=>{let Mt=c.get(ze);Mt&&(Mt.status=Qt,Mt.outputTokens=_t.outputTokens,Mt.endedAt=Date.now(),_t.toolCalls!==void 0&&(Mt.toolCalls=_t.toolCalls),_t.model!==void 0&&(Mt.model=_t.model),qe&&(Mt.detail=qe)),p({kind:"agent_end",label:xe,ok:Qt==="ok",outputTokens:_t.outputTokens}),h()},Po=E===void 0?1:2;for(let Qt=0;Qt<Po;Qt++){let _t=Qt===0?String(_):void 0,qe=await M(_t??gL(String(_),T),{label:xe,phase:ke,agentType:We,effort:Nt,model:he,isolation:te});if(qe===null)return cn("failed",{text:"",outputTokens:0}),null;if(s+=qe.outputTokens,E===void 0)return cn("ok",qe,rl(qe.text)),qe.text;let Mt=vE(qe.text),Ao=Mt===void 0?[{path:"",message:"reply was not JSON"}]:TE(Mt,E);if(Ao.length===0)return cn("ok",qe,rl(qe.text)),Mt;if(T=EE(Ao),Qt===Po-1)return cn("failed",qe,`schema: ${rl(T)}`),null}return null}finally{qt()}},T="",M=async(_,Z)=>{try{return await e.invoke({prompt:_,...Z})}catch{return null}};return{agent:(_,Z)=>$(_,Z),parallel:async _=>{if(_.length>n)throw new Ge(`fan-out cap exceeded: ${_.length} items (max ${n})`);return await Promise.all(_.map(async ae=>{try{return await ae()}catch{return null}}))},pipeline:async(_,...Z)=>{if(_.length>n)throw new Ge(`fan-out cap exceeded: ${_.length} items (max ${n})`);return await Promise.all(_.map(async(xe,ke)=>{let We=xe;for(let Nt of Z)try{We=await Nt(We,xe,ke)}catch{return null}return We}))},phase:_=>{a=String(_),p({kind:"phase",title:a})},log:_=>p({kind:"log",message:String(_)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function gL(e,t){return`${e}
69
+ `)}async function TE(e,t){if(!await Wm(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=mL(aL(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return(await Zt(e,["worktree","add","--detach",r,"HEAD"])).ok?{path:r,async remove(){await Zt(e,["worktree","remove","--force",r]),await Zt(e,["worktree","prune"])}}:null}var uL,ol=m(()=>{uL=iL(sL)});function EE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function pL(e,t){let n=EE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function cL(e,t){if(typeof t!="string"||!t.startsWith("#/"))return;let n=e;for(let r of t.slice(2).split("/")){let o=r.replace(/~1/g,"/").replace(/~0/g,"~");if(!jr(n)&&!Array.isArray(n))return;n=n[o]}return jr(n)?n:void 0}function cr(e,t,n,r,o){if(!jr(t))return;if(t.$ref!==void 0){let a=cL(n,t.$ref);a&&cr(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)cr(e,a,n,r,o);for(let a of["anyOf","oneOf"]){let p=t[a];if(!Array.isArray(p)||p.length===0)continue;let c=p.filter(h=>{let I=[];return cr(e,h,n,r,I),I.length===0}).length;a==="anyOf"&&c===0&&o.push({path:r,message:"does not match any allowed shape"}),a==="oneOf"&&c!==1&&o.push({path:r,message:`must match exactly one shape (matched ${c})`})}let s=t.type;if(s!==void 0){let a=Array.isArray(s)?s.map(String):[String(s)];if(!a.some(p=>pL(e,p))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${EE(e)}`});return}}if(Array.isArray(t.enum)&&!t.enum.some(a=>JSON.stringify(a)===JSON.stringify(e))&&o.push({path:r,message:`must be one of ${t.enum.map(a=>JSON.stringify(a)).join(", ")}`}),jr(e)){let a=jr(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let p of t.required.map(String))p in e||o.push({path:r?`${r}.${p}`:p,message:"is required"});for(let[p,c]of Object.entries(a))p in e&&cr(e[p],c,n,r?`${r}.${p}`:p,o);if(t.additionalProperties===!1)for(let p of Object.keys(e))p in a||o.push({path:r?`${r}.${p}`:p,message:"is not an allowed property"});else if(jr(t.additionalProperties))for(let[p,c]of Object.entries(e))p in a||cr(c,t.additionalProperties,n,r?`${r}.${p}`:p,o)}if(Array.isArray(e)&&t.items!==void 0){let a=t.items;Array.isArray(a)?e.forEach((p,c)=>{c<a.length&&cr(p,a[c],n,`${r}[${c}]`,o)}):e.forEach((p,c)=>cr(p,a,n,`${r}[${c}]`,o))}if(typeof e=="string"&&(typeof t.minLength=="number"&&e.length<t.minLength&&o.push({path:r,message:`is shorter than ${t.minLength} characters`}),typeof t.pattern=="string"))try{new RegExp(t.pattern).test(e)||o.push({path:r,message:`does not match ${t.pattern}`})}catch{}typeof e=="number"&&(typeof t.minimum=="number"&&e<t.minimum&&o.push({path:r,message:`is below ${t.minimum}`}),typeof t.maximum=="number"&&e>t.maximum&&o.push({path:r,message:`is above ${t.maximum}`}))}function vE(e,t){if(!jr(t))return[];let n=[];return cr(e,t,t,"",n),n}function SE(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
70
+ `)}function PE(e){let t=e.trim(),n=/```(?:json)?\s*([\s\S]*?)```/.exec(t),r=[t,n?.[1]?.trim()].filter(o=>!!o);for(let o of r){try{return JSON.parse(o)}catch{}for(let s=0;s<o.length;s++){let a=o[s];if(a!=="{"&&a!=="[")continue;let p=a==="{"?"}":"]",c=0,h=!1,I=!1;for(let T=s;T<o.length;T++){let M=o[T];if(h){I?I=!1:M==="\\"?I=!0:M==='"'&&(h=!1);continue}if(M==='"')h=!0;else if(M===a)c++;else if(M===p&&(c--,c===0))try{return JSON.parse(o.slice(s,T+1))}catch{break}}}}}var jr,AE=m(()=>{jr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as RE from"node:os";async function fL(e,t=OE,n=ME){let r=Date.now()+n;for(;e.isPaused?.();){if(e.signal?.aborted||Date.now()>=r)return!1;await new Promise(o=>setTimeout(o,t))}return!0}function gL(){let e=RE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function xL(e){let t=0,n=[];return async function(){t>=e&&await new Promise(s=>n.push(s)),t++;let o=!1;return()=>{o||(o=!0,t--,n.shift()?.())}}}function CE(e){let t=e.lifetimeCap??lL,n=e.fanoutCap??dL,r=xL(e.concurrency??gL()),o=0,s=0,a="",p=_=>e.onEvent?.(_),c=new Map,h=()=>e.onProgress?.([...c.values()]),I=async(_,Z)=>{let ae=Z??{},xe=typeof ae.label=="string"?ae.label:`agent-${o+1}`,ke=typeof ae.phase=="string"?ae.phase:a,We=typeof ae.agentType=="string"?ae.agentType:"task",Nt=typeof ae.effort=="string"?ae.effort:void 0,he=typeof ae.model=="string"?ae.model:void 0,te=typeof ae.isolation=="string"?ae.isolation:void 0,E=ae.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new Ge(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Ge(`lifetime cap reached: ${t} agent calls in one run`);o++;let ze=o;if(e.isPaused?.()&&!await fL(e,OE,ME))return null;let qt=await r();try{if(e.signal?.aborted)return null;p({kind:"agent_start",label:xe,phase:ke,ordinal:o}),c.set(ze,{label:xe,phase:ke,agentType:We,status:"running",outputTokens:0,...he?{model:he}:{},startedAt:Date.now()}),h();let cn=(Qt,_t,qe)=>{let Mt=c.get(ze);Mt&&(Mt.status=Qt,Mt.outputTokens=_t.outputTokens,Mt.endedAt=Date.now(),_t.toolCalls!==void 0&&(Mt.toolCalls=_t.toolCalls),_t.model!==void 0&&(Mt.model=_t.model),qe&&(Mt.detail=qe)),p({kind:"agent_end",label:xe,ok:Qt==="ok",outputTokens:_t.outputTokens}),h()},Ao=E===void 0?1:2;for(let Qt=0;Qt<Ao;Qt++){let _t=Qt===0?String(_):void 0,qe=await M(_t??hL(String(_),T),{label:xe,phase:ke,agentType:We,effort:Nt,model:he,isolation:te});if(qe===null)return cn("failed",{text:"",outputTokens:0}),null;if(s+=qe.outputTokens,E===void 0)return cn("ok",qe,sl(qe.text)),qe.text;let Mt=PE(qe.text),Ro=Mt===void 0?[{path:"",message:"reply was not JSON"}]:vE(Mt,E);if(Ro.length===0)return cn("ok",qe,sl(qe.text)),Mt;if(T=SE(Ro),Qt===Ao-1)return cn("failed",qe,`schema: ${sl(T)}`),null}return null}finally{qt()}},T="",M=async(_,Z)=>{try{return await e.invoke({prompt:_,...Z})}catch{return null}};return{agent:(_,Z)=>I(_,Z),parallel:async _=>{if(_.length>n)throw new Ge(`fan-out cap exceeded: ${_.length} items (max ${n})`);return await Promise.all(_.map(async ae=>{try{return await ae()}catch{return null}}))},pipeline:async(_,...Z)=>{if(_.length>n)throw new Ge(`fan-out cap exceeded: ${_.length} items (max ${n})`);return await Promise.all(_.map(async(xe,ke)=>{let We=xe;for(let Nt of Z)try{We=await Nt(We,xe,ke)}catch{return null}return We}))},phase:_=>{a=String(_),p({kind:"phase",title:a})},log:_=>p({kind:"log",message:String(_)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function hL(e,t){return`${e}
71
71
 
72
72
  Your previous reply did not satisfy the required schema:
73
73
  ${t}
74
74
 
75
- Reply with ONLY a corrected JSON value.`}function rl(e,t=80){let n=e.split(`
76
- `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var pL,cL,AE,RE,Ge,ME=m(()=>{SE();pL=1e3,cL=4096,AE=100,RE=300*1e3;Ge=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Un,styleText as xL}from"@earendil-works/pi-tui";function hL(e,t){return xL(e,t,Gm)}function X(e,t,n){return hL(e,{...n,fg:t})}var Gm,D,CE,js=m(()=>{Gm="truecolor",D={text:Un("#e6e6e6"),mute:Un("#8b8b8b"),dim:Un("#5c5c5c"),user:Un("#d0d0d0"),accent:Un("#c4b5fd"),tool:Un("#6ee7b7"),bad:Un("#f0a8a4"),warn:Un("#e6b15a"),line:Un("#3a3a3a")};CE={heading:e=>X(e,D.text,{bold:!0}),link:e=>X(e,D.accent,{underline:!0}),linkUrl:e=>X(e,D.mute),code:e=>X(e,D.text),codeBlock:e=>X(e,D.text),codeBlockBorder:e=>X(e,D.line),quote:e=>X(e,D.mute,{italic:!0}),quoteBorder:e=>X(e,D.line),hr:e=>X(e,D.line),listBullet:e=>X(e,D.mute),bold:e=>X(e,D.text,{bold:!0}),italic:e=>X(e,D.text,{italic:!0}),strikethrough:e=>X(e,D.mute,{strikethrough:!0}),underline:e=>X(e,D.text,{underline:!0})}});import{truncateToWidth as Ns,visibleWidth as mn}from"@earendil-works/pi-tui";function cr(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),o=t%60;return n>0?`${n}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(o).padStart(2,"0")}s`:`${o}s`}function jE(e){let t=Math.max(0,Math.floor(e/1e3));return t<60?`${t}s`:t<3600?`${Math.floor(t/60)}m`:`${Math.floor(t/3600)}h`}function il(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function zm(e,t,n="left"){if(t<=0)return"";let r=mn(e);if(r>t)return Ns(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function al(e,t,n,r=1){if(n<=0)return"";let o=mn(t);if(o>=n)return Ns(t,n);let s=n-o-r;if(s<=0)return zm(t,n,"right");let a=mn(e)>s?Ns(e,s):e,p=" ".repeat(n-mn(a)-o);return a+p+t}function ol(e,t,n){let r=To(e,Math.max(0,n-2)),o=Math.max(1,n-1-mn(r)),s=de("border","\u250C\u2500 ")+de("accent",r)+de("border",` ${"\u2500".repeat(o)}\u2510`),a=de("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),p=de("border","\u2502"),c=t.map(h=>`${p} ${zm(h,n)} ${p}`);return[s,...c,a]}function IL(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ds(Math.round(n*.38),28,44),a=n-s-o,p=Math.max(e.rows.length,t.rows.length),c=M=>{let F=[...M];for(;F.length<p;)F.push("");return F},h=ol(e.title,c(e.rows),s-4),$=ol(t.title,c(t.rows),a-4),T=" ".repeat(o);return h.map((M,F)=>M+T+($[F]??zm("",a)))}function DE(e,t,n){switch(e){case"running":return de(t||n?"accent":"muted","\u25CF");case"failed":return de("error","\u2717");default:return de("success","\u2713")}}function NE(e,t,n,r=Date.now(),o=0){return t?r-o<Wm?de("success","\u2713",!0):de("success","\u2713"):de(n?"accent":"dim",String(e))}function Eo(e,t=Date.now()){let n=e.phases.map(o=>o.title),r=new Map(e.phases.map(o=>[o.title,o.detail]));for(let o of e.steps){let s=o.phase||FE;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(O=>(O.phase||FE)===o).map(O=>({...O,phaseIndex:s})),p=a.filter(O=>O.status!=="running").length,c=a.filter(O=>O.status==="failed").length,h=a.reduce((O,_)=>{let Z=_.endedAt??t;return Math.max(O,Z-_.startedAt)},0),$=-1;for(let O=0;O<a.length;O++){let _=a[O];_.status==="running"&&($<0||_.startedAt>=a[$].startedAt)&&($=O)}let T=r.get(o),M=a.length>0&&p===a.length&&c===0,F=M?a.reduce((O,_)=>Math.max(O,_.endedAt??0),0):0;return{title:o,...T?{detail:T}:{},agents:a,done:p,failed:c,outputTokens:a.reduce((O,_)=>O+_.outputTokens,0),elapsedMs:h,allDone:M,finishedAt:F,anchor:$}})}function ml(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function $L(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function qE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function wL(e){return e.steps.length>yL||ml(e)>bL}function kL(e){if(e.length===0)return 0;let t=e.map((n,r)=>({group:n,index:r})).filter(n=>n.group.anchor>=0);if(t.length>0)return t.reduce((n,r)=>{let o=r.group.agents[r.group.anchor],s=n.group.agents[n.group.anchor];return o.startedAt>=s.startedAt?r:n}).index;for(let n=e.length-1;n>=0;n--)if(e[n].agents.length>0)return n;return e.length-1}function _E(e,t=Date.now()){let n=Eo(e,t),r=e.steps.length,o=e.steps.filter(h=>h.status!=="running").length,s=e.steps.filter(h=>h.status==="failed").length,a=[e.name],p=n.find(h=>h.anchor>=0);p?a.push(`${p.title} ${p.done}/${p.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${il(ml(e))} tok`),a.push(cr(qE(e,t))),s>0&&a.push(`${s} failed`);let c=a.join(" \xB7 ");return wL(e)?`large workflow \xB7 ${c}`:c}function KE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${cr(t-e.startedAt)}`,"idle"];let n=il(e.outputTokens),r=e.toolCalls??0,o=cr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function sl(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ds(t-Math.floor(r/2),0,e.length-r),s=e.slice(o,o+r);return{slice:s,start:o,more:e.length-s.length}}function AL(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?de("accent","\u276F"):" ",p=NE(t+1,e.allDone,n,o,e.finishedAt),c=Math.max(0,r-4-mn(s)),h=mn(e.title)>c?Ns(e.title,c,"\u2026"):e.title,$=e.allDone&&o-e.finishedAt<Wm,T=de($&&!n?"success":n?"accent":"text",h),M=`${a}${p} ${T}`,F=de(n?"accent":"muted",s);return al(M,F,r,1)}function RL(e,t,n,r,o,s){let a=t?de("accent","\u276F"):" ",p=DE(e.status,t,n),c=de(t?"accent":"text",zm(e.label,r)),h=`${a}${p} ${c}`,$=Math.max(0,o-mn(h)-1),T=KE(e,s).find(F=>mn(F)<=$)??"",M=de(t?"accent":PL(e)?"dim":"muted",T);return al(h,M,o,1)}function OL(e,t,n,r){let o=[];return e.forEach((s,a)=>{let c=`${NE(a+1,s.allDone,a===n,r,s.finishedAt)} ${de(a===n?"accent":"text",s.title)} ${de("muted",`${s.done}/${s.agents.length}`)}`;o.push(To(c,t));let{slice:h,more:$}=sl(s.agents,0,UE);h.forEach((T,M)=>{let F=DE(T.status,!1,M===s.anchor),O=KE(T,r)[0]??"";o.push(To(` ${F} ${de("text",T.label)} ${de("muted",O)}`,t))}),$>0&&o.push(To(` ${de("dim",`\u2026+${$} more`)}`,t))}),o}function ML(e,t,n){let r=n?.now??Date.now(),o=Eo(e,r),s=e.steps,a=s.filter(ze=>ze.status!=="running").length,p=s.filter(ze=>ze.status==="failed").length,c=[`${a}/${s.length} agents`,`${il(ml(e))} tok`,`${$L(e)} tools`,cr(qE(e,r)),...p>0?[`${p} failed`]:[]].join(" \xB7 "),h=[al(de("accent",e.name,!0),de("muted",c),t,2),...e.description?[de("muted",To(e.description,t))]:[]],$=n?.footer?[de("muted",To(n.footerText??CL(),t))]:[];if(o.length===0)return[...h,...ol("Phases",["(no agents yet)"],Math.max(0,t-4)),...$];let T=Ds(n?.selectedPhase??kL(o),0,Math.max(0,o.length-1)),M=Ds(Math.round(t*.38),28,44),F=t-M-1-4;if(t<vL||F<SL)return[...h,...OL(o,t,T,r),...$];let O=o[T],{slice:_,start:Z,more:ae}=sl(o,T,TL),xe=_.map((ze,qt)=>AL(ze,Z+qt,Z+qt===T,M-4,r));ae>0&&xe.push(de("dim",`\u2026+${ae} more`));let ke=n?.filter?n.filter(O.agents):O.agents,We=ke.length?Ds(Math.max(...ke.map(ze=>mn(ze.label))),6,EL):6,{slice:Nt,more:he}=sl(ke,0,n?.agentWindow??UE),te=Nt.map((ze,qt)=>RL(ze,!1,qt===O.anchor,We,F,r));he>0&&te.push(de("dim",`\u2026+${he} more`));let E=IL({title:"Phases",rows:xe},{title:`${O.title} \xB7 ${ke.length} agents${n?.filterLabel??""}`,rows:te},t,{leftWidth:M,gap:1});return[...h,...E,...$]}function GE(e,t=[],n=96,r,o){let s=ML(e,n,{now:e.endedAt??Date.now(),footer:!0,...r===void 0?{}:{selectedPhase:r},...o?.filter?{filter:o.filter}:{},...o?.footerText?{footerText:o.footerText}:{},...o?.filterLabel?{filterLabel:o.filterLabel}:{}}),a=new Set(t);if(o?.drill){let c=Eo(e,e.endedAt??Date.now()),h=c[Math.max(0,Math.min(c.length-1,r??0))];for(let $ of h?.agents??[])a.add($.label)}if(a.size===0)return s;let p=[];for(let c of e.steps)if(a.has(c.label)){for(let h of c.tasks??[]){let $=h.status==="completed"?"[x]":h.status==="in_progress"?"[>]":"[ ]";p.push(` ${de("muted",$)} ${de("text",h.content)}`)}c.detail&&p.push(` ${de("dim",c.detail)}`)}return p.length===0?s:[...s.slice(0,-1),...p,s[s.length-1]]}function CL(){return"\u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc back out \xB7 f filter by status \xB7 p pause \xB7 x stop \xB7 s save script"}var LE,de,yL,bL,Wm,Ds,To,FE,UE,TL,EL,vL,SL,PL,qs=m(()=>{js();LE={text:D.text,muted:D.mute,dim:D.dim,accent:D.accent,success:D.tool,error:D.bad,border:D.line},de=(e,t,n=!1)=>n?X(t,LE[e],{bold:!0}):X(t,LE[e]),yL=25,bL=15e5,Wm=420;Ds=(e,t,n)=>Math.max(t,Math.min(n,e)),To=(e,t)=>mn(e)>t?Ns(e,Math.max(0,t),"\u2026"):e;FE="Workflow";UE=16,TL=12,EL=18,vL=72,SL=24;PL=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as LL}from"node:fs";import{basename as FL}from"node:path";import{StringEnum as jL}from"@earendil-works/pi-ai";import{defineTool as DL}from"@earendil-works/pi-coding-agent";function zE(e){WE=e}function qL(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new Ge("a workflow script must start with `export const meta = { name, description }`");let r=e.length-t.length,o=n[0].length,s=0,a=null,p=-1;for(let F=o;F<t.length;F++){let O=t[F];if(a){O==="\\"?F++:O===a&&(a=null);continue}if(O==='"'||O==="'"||O==="`")a=O;else if(O==="{"||O==="[")s++;else if((O==="}"||O==="]")&&(s--,s===0)){p=F+1;break}}if(p===-1)throw new Ge("meta is not a closed literal object");let c=t.slice(o,p),h=e.slice(r+p).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(h))throw new Ge("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(h))throw new Ge("a workflow body must not use dynamic import()");let $;try{$=new Function(`"use strict"; return (${c});`)()}catch(F){throw new Ge(`meta must be a literal object: ${F instanceof Error?F.message:String(F)}`)}if(typeof $!="object"||$===null)throw new Ge("meta must be an object");let T=$;if(typeof T.name!="string"||!T.name.trim())throw new Ge("meta.name is required");if(typeof T.description!="string"||!T.description.trim())throw new Ge("meta.description is required");let M=Array.isArray(T.phases)?T.phases.filter(F=>typeof F=="object"&&F!==null).map(F=>({title:String(F.title??""),...typeof F.detail=="string"?{detail:F.detail}:{}})).filter(F=>F.title):void 0;return{meta:{name:T.name,description:T.description,...typeof T.whenToUse=="string"?{whenToUse:T.whenToUse}:{},...M?{phases:M}:{}},body:h}}function _L(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
75
+ Reply with ONLY a corrected JSON value.`}function sl(e,t=80){let n=e.split(`
76
+ `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var lL,dL,OE,ME,Ge,LE=m(()=>{AE();lL=1e3,dL=4096,OE=100,ME=300*1e3;Ge=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Kn,styleText as yL}from"@earendil-works/pi-tui";function bL(e,t){return yL(e,t,zm)}function X(e,t,n){return bL(e,{...n,fg:t})}var zm,D,FE,Ds=m(()=>{zm="truecolor",D={text:Kn("#e6e6e6"),mute:Kn("#8b8b8b"),dim:Kn("#5c5c5c"),user:Kn("#d0d0d0"),accent:Kn("#c4b5fd"),tool:Kn("#6ee7b7"),bad:Kn("#f0a8a4"),warn:Kn("#e6b15a"),line:Kn("#3a3a3a")};FE={heading:e=>X(e,D.text,{bold:!0}),link:e=>X(e,D.accent,{underline:!0}),linkUrl:e=>X(e,D.mute),code:e=>X(e,D.text),codeBlock:e=>X(e,D.text),codeBlockBorder:e=>X(e,D.line),quote:e=>X(e,D.mute,{italic:!0}),quoteBorder:e=>X(e,D.line),hr:e=>X(e,D.line),listBullet:e=>X(e,D.mute),bold:e=>X(e,D.text,{bold:!0}),italic:e=>X(e,D.text,{italic:!0}),strikethrough:e=>X(e,D.mute,{strikethrough:!0}),underline:e=>X(e,D.text,{underline:!0})}});import{truncateToWidth as qs,visibleWidth as mn}from"@earendil-works/pi-tui";function lr(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),o=t%60;return n>0?`${n}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(o).padStart(2,"0")}s`:`${o}s`}function NE(e){let t=Math.max(0,Math.floor(e/1e3));return t<60?`${t}s`:t<3600?`${Math.floor(t/60)}m`:`${Math.floor(t/3600)}h`}function ml(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Hm(e,t,n="left"){if(t<=0)return"";let r=mn(e);if(r>t)return qs(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function ul(e,t,n,r=1){if(n<=0)return"";let o=mn(t);if(o>=n)return qs(t,n);let s=n-o-r;if(s<=0)return Hm(t,n,"right");let a=mn(e)>s?qs(e,s):e,p=" ".repeat(n-mn(a)-o);return a+p+t}function il(e,t,n){let r=Eo(e,Math.max(0,n-2)),o=Math.max(1,n-1-mn(r)),s=de("border","\u250C\u2500 ")+de("accent",r)+de("border",` ${"\u2500".repeat(o)}\u2510`),a=de("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),p=de("border","\u2502"),c=t.map(h=>`${p} ${Hm(h,n)} ${p}`);return[s,...c,a]}function wL(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ns(Math.round(n*.38),28,44),a=n-s-o,p=Math.max(e.rows.length,t.rows.length),c=M=>{let F=[...M];for(;F.length<p;)F.push("");return F},h=il(e.title,c(e.rows),s-4),I=il(t.title,c(t.rows),a-4),T=" ".repeat(o);return h.map((M,F)=>M+T+(I[F]??Hm("",a)))}function qE(e,t,n){switch(e){case"running":return de(t||n?"accent":"muted","\u25CF");case"failed":return de("error","\u2717");default:return de("success","\u2713")}}function _E(e,t,n,r=Date.now(),o=0){return t?r-o<Bm?de("success","\u2713",!0):de("success","\u2713"):de(n?"accent":"dim",String(e))}function vo(e,t=Date.now()){let n=e.phases.map(o=>o.title),r=new Map(e.phases.map(o=>[o.title,o.detail]));for(let o of e.steps){let s=o.phase||DE;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(O=>(O.phase||DE)===o).map(O=>({...O,phaseIndex:s})),p=a.filter(O=>O.status!=="running").length,c=a.filter(O=>O.status==="failed").length,h=a.reduce((O,_)=>{let Z=_.endedAt??t;return Math.max(O,Z-_.startedAt)},0),I=-1;for(let O=0;O<a.length;O++){let _=a[O];_.status==="running"&&(I<0||_.startedAt>=a[I].startedAt)&&(I=O)}let T=r.get(o),M=a.length>0&&p===a.length&&c===0,F=M?a.reduce((O,_)=>Math.max(O,_.endedAt??0),0):0;return{title:o,...T?{detail:T}:{},agents:a,done:p,failed:c,outputTokens:a.reduce((O,_)=>O+_.outputTokens,0),elapsedMs:h,allDone:M,finishedAt:F,anchor:I}})}function pl(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function kL(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function UE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function TL(e){return e.steps.length>IL||pl(e)>$L}function EL(e){if(e.length===0)return 0;let t=e.map((n,r)=>({group:n,index:r})).filter(n=>n.group.anchor>=0);if(t.length>0)return t.reduce((n,r)=>{let o=r.group.agents[r.group.anchor],s=n.group.agents[n.group.anchor];return o.startedAt>=s.startedAt?r:n}).index;for(let n=e.length-1;n>=0;n--)if(e[n].agents.length>0)return n;return e.length-1}function KE(e,t=Date.now()){let n=vo(e,t),r=e.steps.length,o=e.steps.filter(h=>h.status!=="running").length,s=e.steps.filter(h=>h.status==="failed").length,a=[e.name],p=n.find(h=>h.anchor>=0);p?a.push(`${p.title} ${p.done}/${p.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${ml(pl(e))} tok`),a.push(lr(UE(e,t))),s>0&&a.push(`${s} failed`);let c=a.join(" \xB7 ");return TL(e)?`large workflow \xB7 ${c}`:c}function WE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${lr(t-e.startedAt)}`,"idle"];let n=ml(e.outputTokens),r=e.toolCalls??0,o=lr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function al(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ns(t-Math.floor(r/2),0,e.length-r),s=e.slice(o,o+r);return{slice:s,start:o,more:e.length-s.length}}function OL(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?de("accent","\u276F"):" ",p=_E(t+1,e.allDone,n,o,e.finishedAt),c=Math.max(0,r-4-mn(s)),h=mn(e.title)>c?qs(e.title,c,"\u2026"):e.title,I=e.allDone&&o-e.finishedAt<Bm,T=de(I&&!n?"success":n?"accent":"text",h),M=`${a}${p} ${T}`,F=de(n?"accent":"muted",s);return ul(M,F,r,1)}function ML(e,t,n,r,o,s){let a=t?de("accent","\u276F"):" ",p=qE(e.status,t,n),c=de(t?"accent":"text",Hm(e.label,r)),h=`${a}${p} ${c}`,I=Math.max(0,o-mn(h)-1),T=WE(e,s).find(F=>mn(F)<=I)??"",M=de(t?"accent":RL(e)?"dim":"muted",T);return ul(h,M,o,1)}function CL(e,t,n,r){let o=[];return e.forEach((s,a)=>{let c=`${_E(a+1,s.allDone,a===n,r,s.finishedAt)} ${de(a===n?"accent":"text",s.title)} ${de("muted",`${s.done}/${s.agents.length}`)}`;o.push(Eo(c,t));let{slice:h,more:I}=al(s.agents,0,GE);h.forEach((T,M)=>{let F=qE(T.status,!1,M===s.anchor),O=WE(T,r)[0]??"";o.push(Eo(` ${F} ${de("text",T.label)} ${de("muted",O)}`,t))}),I>0&&o.push(Eo(` ${de("dim",`\u2026+${I} more`)}`,t))}),o}function LL(e,t,n){let r=n?.now??Date.now(),o=vo(e,r),s=e.steps,a=s.filter(ze=>ze.status!=="running").length,p=s.filter(ze=>ze.status==="failed").length,c=[`${a}/${s.length} agents`,`${ml(pl(e))} tok`,`${kL(e)} tools`,lr(UE(e,r)),...p>0?[`${p} failed`]:[]].join(" \xB7 "),h=[ul(de("accent",e.name,!0),de("muted",c),t,2),...e.description?[de("muted",Eo(e.description,t))]:[]],I=n?.footer?[de("muted",Eo(n.footerText??FL(),t))]:[];if(o.length===0)return[...h,...il("Phases",["(no agents yet)"],Math.max(0,t-4)),...I];let T=Ns(n?.selectedPhase??EL(o),0,Math.max(0,o.length-1)),M=Ns(Math.round(t*.38),28,44),F=t-M-1-4;if(t<PL||F<AL)return[...h,...CL(o,t,T,r),...I];let O=o[T],{slice:_,start:Z,more:ae}=al(o,T,vL),xe=_.map((ze,qt)=>OL(ze,Z+qt,Z+qt===T,M-4,r));ae>0&&xe.push(de("dim",`\u2026+${ae} more`));let ke=n?.filter?n.filter(O.agents):O.agents,We=ke.length?Ns(Math.max(...ke.map(ze=>mn(ze.label))),6,SL):6,{slice:Nt,more:he}=al(ke,0,n?.agentWindow??GE),te=Nt.map((ze,qt)=>ML(ze,!1,qt===O.anchor,We,F,r));he>0&&te.push(de("dim",`\u2026+${he} more`));let E=wL({title:"Phases",rows:xe},{title:`${O.title} \xB7 ${ke.length} agents${n?.filterLabel??""}`,rows:te},t,{leftWidth:M,gap:1});return[...h,...E,...I]}function zE(e,t=[],n=96,r,o){let s=LL(e,n,{now:e.endedAt??Date.now(),footer:!0,...r===void 0?{}:{selectedPhase:r},...o?.filter?{filter:o.filter}:{},...o?.footerText?{footerText:o.footerText}:{},...o?.filterLabel?{filterLabel:o.filterLabel}:{}}),a=new Set(t);if(o?.drill){let c=vo(e,e.endedAt??Date.now()),h=c[Math.max(0,Math.min(c.length-1,r??0))];for(let I of h?.agents??[])a.add(I.label)}if(a.size===0)return s;let p=[];for(let c of e.steps)if(a.has(c.label)){for(let h of c.tasks??[]){let I=h.status==="completed"?"[x]":h.status==="in_progress"?"[>]":"[ ]";p.push(` ${de("muted",I)} ${de("text",h.content)}`)}c.detail&&p.push(` ${de("dim",c.detail)}`)}return p.length===0?s:[...s.slice(0,-1),...p,s[s.length-1]]}function FL(){return"\u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc back out \xB7 f filter by status \xB7 p pause \xB7 x stop \xB7 s save script"}var jE,de,IL,$L,Bm,Ns,Eo,DE,GE,vL,SL,PL,AL,RL,_s=m(()=>{Ds();jE={text:D.text,muted:D.mute,dim:D.dim,accent:D.accent,success:D.tool,error:D.bad,border:D.line},de=(e,t,n=!1)=>n?X(t,jE[e],{bold:!0}):X(t,jE[e]),IL=25,$L=15e5,Bm=420;Ns=(e,t,n)=>Math.max(t,Math.min(n,e)),Eo=(e,t)=>mn(e)>t?qs(e,Math.max(0,t),"\u2026"):e;DE="Workflow";GE=16,vL=12,SL=18,PL=72,AL=24;RL=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as jL}from"node:fs";import{basename as DL}from"node:path";import{StringEnum as NL}from"@earendil-works/pi-ai";import{defineTool as qL}from"@earendil-works/pi-coding-agent";function HE(e){BE=e}function UL(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new Ge("a workflow script must start with `export const meta = { name, description }`");let r=e.length-t.length,o=n[0].length,s=0,a=null,p=-1;for(let F=o;F<t.length;F++){let O=t[F];if(a){O==="\\"?F++:O===a&&(a=null);continue}if(O==='"'||O==="'"||O==="`")a=O;else if(O==="{"||O==="[")s++;else if((O==="}"||O==="]")&&(s--,s===0)){p=F+1;break}}if(p===-1)throw new Ge("meta is not a closed literal object");let c=t.slice(o,p),h=e.slice(r+p).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(h))throw new Ge("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(h))throw new Ge("a workflow body must not use dynamic import()");let I;try{I=new Function(`"use strict"; return (${c});`)()}catch(F){throw new Ge(`meta must be a literal object: ${F instanceof Error?F.message:String(F)}`)}if(typeof I!="object"||I===null)throw new Ge("meta must be an object");let T=I;if(typeof T.name!="string"||!T.name.trim())throw new Ge("meta.name is required");if(typeof T.description!="string"||!T.description.trim())throw new Ge("meta.description is required");let M=Array.isArray(T.phases)?T.phases.filter(F=>typeof F=="object"&&F!==null).map(F=>({title:String(F.title??""),...typeof F.detail=="string"?{detail:F.detail}:{}})).filter(F=>F.title):void 0;return{meta:{name:T.name,description:T.description,...typeof T.whenToUse=="string"?{whenToUse:T.whenToUse}:{},...M?{phases:M}:{}},body:h}}function KL(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
77
77
  ${e}
78
- })();`,r;try{r=new Function(...t,n)}catch(o){throw new Ge(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function UL(e){return e.getLastAssistantText()?.trim()??""}function KL(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=Cr.get(t)??Cr.get("task");if(!s)throw new Ge(`no agent named ${t}`);let a=o==="worktree"?await wE(process.cwd(),t):null,p=await Um({agent:s.name,effort:n??s.effort,...a?{worktree:a.path}:{}});try{await p.prompt(`${s.prompt}
78
+ })();`,r;try{r=new Function(...t,n)}catch(o){throw new Ge(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function GL(e){return e.getLastAssistantText()?.trim()??""}function WL(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=Fr.get(t)??Fr.get("task");if(!s)throw new Ge(`no agent named ${t}`);let a=o==="worktree"?await TE(process.cwd(),t):null,p=await Gm({agent:s.name,effort:n??s.effort,...a?{worktree:a.path}:{}});try{await p.prompt(`${s.prompt}
79
79
 
80
80
  Task:
81
- ${e}`);let c=p.getSessionStats(),h=r??GL(p);return{text:UL(p),outputTokens:c.tokens.output,toolCalls:c.toolCalls,...h?{model:h}:{}}}finally{p.dispose(),await a?.remove()}}}function GL(e){return e.model?.id??e.model?.name}function BE(e){let t=()=>e??WE;return DL({name:"workflow",label:"workflow",description:"Run a JavaScript workflow that orchestrates many agents deterministically. Provide `code` (or `path`). The script starts with `export const meta = { name, description, phases }` and then uses the injected bindings: `agent(prompt, {label, phase, schema, effort, model, agentType, isolation})`, `parallel(thunks)`, `pipeline(items, ...stages)`, `phase(title)`, `log(msg)`, `args`, `budget`. `agent()` resolves null on failure and throws only when the budget or the call cap is exhausted, so null-check every result. `parallel()` takes thunks and never rejects; `pipeline()` has no barrier between items. Use it for fan-out, for builder-verifier loops that converge on a verdict, and for anything needing many agents whose order and count must be deterministic.",promptSnippet:"workflow: orchestrate many agents from one JavaScript script",parameters:WL,executionMode:"sequential",async execute(n,r,o,s,a){let p=r.path?LL(r.path,"utf8"):r.code??"";if(!p.trim())throw new Ge("provide code or path");let{meta:c,body:h}=qL(p);if(r.path){let he=FL(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(he!==c.name)throw new Ge(`meta.name "${c.name}" must match the script filename "${he}"`)}let $=_L(h),T=Date.now(),M=[],F=0,O=0,_=(he,te)=>({name:c.name,...c.description?{description:c.description}:{},ok:he,agents:O,outputTokens:F,startedAt:T,phases:c.phases??[],steps:M,...te?{error:te}:{}}),Z=(he,te)=>{a.ui.setStatus(ul,te?void 0:_E(he)),s?.({content:[],details:_(!1)})},ae=he=>{O=he.length,F=he.reduce((te,E)=>te+E.outputTokens,0),M.splice(0,M.length,...he.map(te=>({label:te.label,phase:te.phase,agent:te.agentType,status:te.status,outputTokens:te.outputTokens,startedAt:te.startedAt,...te.toolCalls!==void 0?{toolCalls:te.toolCalls}:{},...te.model?{model:te.model}:{},...te.endedAt?{endedAt:te.endedAt}:{},...te.detail?{detail:te.detail}:{},...te.tasks?{tasks:te.tasks}:{}}))),Z({name:c.name,...c.description?{description:c.description}:{},phases:c.phases??[],steps:M,startedAt:T},!1)},xe=KL(),ke=OE({invoke:r.agent?zL(xe,r.agent):xe,budgetTotal:r.budget??null,onProgress:ae,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),We=new AbortController,Nt=setTimeout(()=>We.abort(),NL);o&&o.addEventListener("abort",()=>We.abort(),{once:!0}),t()?.onStop?.(()=>We.abort());try{let he=await Promise.race([$(ke.agent,ke.parallel,ke.pipeline,ke.phase,ke.log,ke.args,ke.budget),new Promise((E,ze)=>We.signal.addEventListener("abort",()=>ze(new Ge("workflow timed out or was aborted"))))]),te=Date.now();return a.ui.setStatus(ul,void 0),{content:[{type:"text",text:`${c.name}: ${O} agent call(s), ${F} output tokens in ${cr(te-T)}
81
+ ${e}`);let c=p.getSessionStats(),h=r??zL(p);return{text:GL(p),outputTokens:c.tokens.output,toolCalls:c.toolCalls,...h?{model:h}:{}}}finally{p.dispose(),await a?.remove()}}}function zL(e){return e.model?.id??e.model?.name}function VE(e){let t=()=>e??BE;return qL({name:"workflow",label:"workflow",description:"Run a JavaScript workflow that orchestrates many agents deterministically. Provide `code` (or `path`). The script starts with `export const meta = { name, description, phases }` and then uses the injected bindings: `agent(prompt, {label, phase, schema, effort, model, agentType, isolation})`, `parallel(thunks)`, `pipeline(items, ...stages)`, `phase(title)`, `log(msg)`, `args`, `budget`. `agent()` resolves null on failure and throws only when the budget or the call cap is exhausted, so null-check every result. `parallel()` takes thunks and never rejects; `pipeline()` has no barrier between items. Use it for fan-out, for builder-verifier loops that converge on a verdict, and for anything needing many agents whose order and count must be deterministic.",promptSnippet:"workflow: orchestrate many agents from one JavaScript script",parameters:BL,executionMode:"sequential",async execute(n,r,o,s,a){let p=r.path?jL(r.path,"utf8"):r.code??"";if(!p.trim())throw new Ge("provide code or path");let{meta:c,body:h}=UL(p);if(r.path){let he=DL(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(he!==c.name)throw new Ge(`meta.name "${c.name}" must match the script filename "${he}"`)}let I=KL(h),T=Date.now(),M=[],F=0,O=0,_=(he,te)=>({name:c.name,...c.description?{description:c.description}:{},ok:he,agents:O,outputTokens:F,startedAt:T,phases:c.phases??[],steps:M,...te?{error:te}:{}}),Z=(he,te)=>{a.ui.setStatus(cl,te?void 0:KE(he)),s?.({content:[],details:_(!1)})},ae=he=>{O=he.length,F=he.reduce((te,E)=>te+E.outputTokens,0),M.splice(0,M.length,...he.map(te=>({label:te.label,phase:te.phase,agent:te.agentType,status:te.status,outputTokens:te.outputTokens,startedAt:te.startedAt,...te.toolCalls!==void 0?{toolCalls:te.toolCalls}:{},...te.model?{model:te.model}:{},...te.endedAt?{endedAt:te.endedAt}:{},...te.detail?{detail:te.detail}:{},...te.tasks?{tasks:te.tasks}:{}}))),Z({name:c.name,...c.description?{description:c.description}:{},phases:c.phases??[],steps:M,startedAt:T},!1)},xe=WL(),ke=CE({invoke:r.agent?HL(xe,r.agent):xe,budgetTotal:r.budget??null,onProgress:ae,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),We=new AbortController,Nt=setTimeout(()=>We.abort(),_L);o&&o.addEventListener("abort",()=>We.abort(),{once:!0}),t()?.onStop?.(()=>We.abort());try{let he=await Promise.race([I(ke.agent,ke.parallel,ke.pipeline,ke.phase,ke.log,ke.args,ke.budget),new Promise((E,ze)=>We.signal.addEventListener("abort",()=>ze(new Ge("workflow timed out or was aborted"))))]),te=Date.now();return a.ui.setStatus(cl,void 0),{content:[{type:"text",text:`${c.name}: ${O} agent call(s), ${F} output tokens in ${lr(te-T)}
82
82
 
83
- ${BL(he)}`}],details:{..._(!0),endedAt:te}}}catch(he){let te=he instanceof Error?he.message:String(he);return a.ui.setStatus(ul,void 0),{content:[{type:"text",text:`${c.name} failed after ${O} agent call(s): ${te}`}],details:{..._(!1,te),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Nt),t()?.onStop?.(null)}}})}function zL(e,t){return n=>e({...n,agentType:t})}function BL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var ul,WE,NL,WL,pl=m(()=>{$o();Fs();nl();ME();qs();ul="workflow",WE=null;NL=600*1e3;WL=ie.Object({code:ie.Optional(ie.String({description:"The workflow script source"})),path:ie.Optional(ie.String({description:"Path to a workflow script, instead of code"})),agent:ie.Optional(jL(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:ie.Optional(ie.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as vt}from"@earendil-works/pi-ai";import{defineTool as HL}from"@earendil-works/pi-coding-agent";var HE,VE=m(()=>{Fs();Fs();HE=HL({name:"task",label:"task",description:"Spawn scout, architect, task, or reviewer agents. One call can carry tasks[]. Each item can set agent and effort. Agents run in the background, park when done, and can be resumed with /agents. Use architect to design an approach before a large change.",promptSnippet:"task: spawn background agents",parameters:vt.Object({agent:vt.Optional(vt.String()),effort:vt.Optional(vt.String()),task:vt.Optional(vt.String()),tasks:vt.Optional(vt.Array(vt.Object({agent:vt.Optional(vt.String()),effort:vt.Optional(vt.String()),task:vt.String()})))}),executionMode:"parallel",async execute(e,t,n,r,o){let s=t.tasks&&t.tasks.length>0?t.tasks.map(c=>({agent:c.agent??t.agent??"task",task:c.task,effort:c.effort??t.effort})):[{agent:t.agent??"task",task:t.task??"",effort:t.effort}],a=[];for(let c of s)c.task.trim()&&(a.push(await gE({...c,cwd:o?.cwd})),r?.({content:[],details:{agents:a.map(h=>({id:h.id,agent:h.agent,status:h.status}))}}));if(a.length===0)throw new Error("task or tasks is required");return await xE(n),{content:[{type:"text",text:a.map(c=>`## ${c.agent}#${c.id} ${c.status}
83
+ ${VL(he)}`}],details:{..._(!0),endedAt:te}}}catch(he){let te=he instanceof Error?he.message:String(he);return a.ui.setStatus(cl,void 0),{content:[{type:"text",text:`${c.name} failed after ${O} agent call(s): ${te}`}],details:{..._(!1,te),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Nt),t()?.onStop?.(null)}}})}function HL(e,t){return n=>e({...n,agentType:t})}function VL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var cl,BE,_L,BL,ll=m(()=>{wo();js();ol();LE();_s();cl="workflow",BE=null;_L=600*1e3;BL=ie.Object({code:ie.Optional(ie.String({description:"The workflow script source"})),path:ie.Optional(ie.String({description:"Path to a workflow script, instead of code"})),agent:ie.Optional(NL(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:ie.Optional(ie.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as vt}from"@earendil-works/pi-ai";import{defineTool as JL}from"@earendil-works/pi-coding-agent";var JE,YE=m(()=>{js();js();JE=JL({name:"task",label:"task",description:"Spawn scout, architect, task, or reviewer agents. One call can carry tasks[]. Each item can set agent and effort. Agents run in the background, park when done, and can be resumed with /agents. Use architect to design an approach before a large change.",promptSnippet:"task: spawn background agents",parameters:vt.Object({agent:vt.Optional(vt.String()),effort:vt.Optional(vt.String()),task:vt.Optional(vt.String()),tasks:vt.Optional(vt.Array(vt.Object({agent:vt.Optional(vt.String()),effort:vt.Optional(vt.String()),task:vt.String()})))}),executionMode:"parallel",async execute(e,t,n,r,o){let s=t.tasks&&t.tasks.length>0?t.tasks.map(c=>({agent:c.agent??t.agent??"task",task:c.task,effort:c.effort??t.effort})):[{agent:t.agent??"task",task:t.task??"",effort:t.effort}],a=[];for(let c of s)c.task.trim()&&(a.push(await hE({...c,cwd:o?.cwd})),r?.({content:[],details:{agents:a.map(h=>({id:h.id,agent:h.agent,status:h.status}))}}));if(a.length===0)throw new Error("task or tasks is required");return await yE(n),{content:[{type:"text",text:a.map(c=>`## ${c.agent}#${c.id} ${c.status}
84
84
  ${c.result??""}`).join(`
85
85
 
86
- `)}],details:{agents:a.map(c=>({id:c.id,status:c.status}))}}}})});function JE(){return e=>{e.on("session_start",()=>{let t=new Set(e.getActiveTools());for(let n of VL)e.getAllTools().some(r=>r.name===n)&&t.add(n);e.setActiveTools([...t])})}}var VL,YE=m(()=>{VL=["grep","find","ls"]});var XE={};Lt(XE,{openSession:()=>rF});import{join as JL}from"node:path";import{createAgentSession as YL,createCodemodeExtension as XL,createMcpExtension as ZL,DefaultResourceLoader as QL,SessionManager as Bm,SettingsManager as eF}from"@earendil-works/pi-coding-agent";function nF(e,t){let n=e.find(o=>`${o.provider}/${o.id}`===t||o.id===t);if(n)return n;let r=t.toLowerCase();return e.find(o=>o.id.toLowerCase().includes(r)||`${o.provider}/${o.id}`.toLowerCase().includes(r))}async function rF(e){let t=eF.create(e.cwd,Xe,{projectTrusted:!0}),n=e.sessionPath?Bm.open(e.sessionPath):e.noSession?Bm.inMemory(e.cwd):e.continueSession?Bm.continueRecent(e.cwd):Bm.create(e.cwd),r=new QL({cwd:e.cwd,agentDir:Xe,settingsManager:t,appendSystemPrompt:[Vl],extensionFactories:[rE(),Fo(),kd(),qm(),pE(),oE(),aE(),XL(),ZL(),JE()]});await r.reload();let o=await YL({cwd:e.cwd,agentDir:Xe,settingsManager:t,sessionManager:n,resourceLoader:r,excludeTools:tF().exclude,customTools:[HE,Sd,Pd,vm,Sm,GT,sE,iE,BE()],thinkingLevel:e.thinking}),s=o.session.model;if(e.model){let c=await o.session.modelRuntime.getAvailable(),h=nF(c,e.model);if(!h)throw o.session.dispose(),new Error(`unknown model '${e.model}'`);(s?.id!==h.id||s.provider!==h.provider)&&(await o.session.setModel(h),s=o.session.model)}let a=s?`${s.provider}/${s.id}`:"no model",p=[Jl(o.modelFallbackMessage)].filter(c=>!!c);return s||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${JL(Xe,"models.json")}`),{session:o.session,dispose:()=>o.session.dispose(),modelLabel:a,note:p.length?p.join(`
87
- `):void 0}}var tF,ZE=m(()=>{Mo();Td();Gn();jo();zu();Gc();Pm();Cm();Vc();mE();cE();Xc();pl();VE();YE();tF=()=>({exclude:process.platform==="win32"?[]:["powershell"]})});import{mixColors as oF,styleText as QE}from"@earendil-works/pi-tui";function _s(e,t,n){let r=ov(n);return r>=1?t:r<=0?e:oF(e,t,r)}function ll(e,t,n,r){return!Fr||e<=cl?t:e>=nv?r:_s(n,r,(e-cl)/(nv-cl))}function sv(e,t){return!Fr||t<=0||e<0?1:1-(1-ov(e/t))**3}function iv(e,t){return Fr&&e>=0&&e<t}function fl(e,t,n=iF,r=400){return!Fr||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function av(e,t,n=Date.now(),r=1400){if(!Fr||r<=0)return e;let o=n%r/r;return _s(e,t,o<.5?o*2:(1-o)*2)}function aF(e,t){let n=Math.abs(e-t);return n>=ev?0:Math.ceil((1-n/ev)*rv)/rv}function mv(e,t,n=Date.now()){let r=t.charMs??sF;if(!Fr||e.length===0||r<=0)return QE(e,{fg:t.base},Gm);let o=e.length+tv*2,s=n/r%o-tv,a=(M,F)=>QE(M,{fg:_s(t.base,t.bright,F)},Gm),p="",c=0,h=null,$=0,T=0;for(let M of e){let F=aF(T,s);h===null?h=F:F!==h&&(p+=a(e.slice(c,$),h),c=$,h=F),$+=M.length,T+=1}return p+a(e.slice(c),h??0)}var Fr,sF,ev,tv,cl,nv,rv,ov,Hm,dl,iF,gl=m(()=>{js();Fr=process.env.HOWTOFIX_NO_MOTION!=="1",sF=45,ev=5,tv=8,cl=1e4,nv=6e4,rv=3,ov=e=>e<0?0:e>1?1:e;Hm=class{value;velocity=0;last=Date.now();target;constructor(t,n=t){this.value=t,this.target=n}set(t){this.target=t}get moving(){return Math.abs(this.target-this.value)>.15}snap(t){this.value=t,this.target=t,this.velocity=0,this.last=Date.now()}step(t=Date.now()){let n=Math.max(0,t-this.last),r=Math.min(250,n)/1e3;if(this.last=t,!Fr)return this.value=this.target,this.velocity=0,this.value;n>250&&(this.velocity=0);let o=150,s=2*Math.sqrt(o),a=Math.max(1,Math.ceil(r/.008)),p=r/a;for(let c=0;c<a;c+=1)this.velocity+=(this.target-this.value)*o*p-this.velocity*s*p,this.value+=this.velocity*p;return this.moving||(this.value=this.target,this.velocity=0),this.value}};dl=260,iF=45});import{execFile as mF,execFileSync as uF}from"node:child_process";import{promisify as pF}from"node:util";import{createHash as pv}from"node:crypto";import{copyFileSync as cF,existsSync as xl,mkdirSync as Vm,readFileSync as lF,statSync as dF}from"node:fs";import{dirname as cv,join as Cn,resolve as lv}from"node:path";function gF(e){let t=lv(e);for(;;){if(xl(Cn(t,".git")))return!0;let n=cv(t);if(n===t)return!1;t=n}}async function un(e,t){let n={...process.env};for(let o of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_NAMESPACE","GIT_COMMON_DIR"])delete n[o];n.GIT_DIR=e.gitDir,n.GIT_WORK_TREE=e.root,n.GIT_AUTHOR_NAME=n.GIT_COMMITTER_NAME="howtofix",n.GIT_AUTHOR_EMAIL=n.GIT_COMMITTER_EMAIL="howtofix@local";let{stdout:r}=await xF("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function hF(e){return pv("sha1").update(e).digest("hex").slice(0,16)}function dv(e){let t=lv(e).replace(/\/+$/,"")||"/",n=Cn(fF,hF(t)),r=Cn(n,"git"),o={root:t,gitDir:r,metaFile:Cn(n,"checkpoints.json"),disabled:!1};return!xl(Cn(r,"HEAD"))&&!gF(t)?(o.disabled=!0,o):(Vm(n,{recursive:!0}),xl(Cn(r,"HEAD"))||(Vm(r,{recursive:!0}),uF("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),yF(t,r),o)}function yF(e,t){let n=Cn(e,".git","info","exclude");try{if(!dF(n).isFile())return;Vm(Cn(t,"info"),{recursive:!0}),cF(n,Cn(t,"info","exclude"))}catch{}}function yl(e){try{let t=JSON.parse(lF(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function fv(e,t){Vm(cv(e.metaFile),{recursive:!0}),Ze(e.metaFile,`${JSON.stringify(t,null,1)}
88
- `)}function bl(e,t){return e.disabled?[]:[...yl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function gv(e,t,n){if(e.disabled)return null;let r;try{await un(e,["add","-A","--ignore-errors","--"]),r=await un(e,["write-tree"])}catch{return null}let s=bl(e,t).find(M=>M.tree===r),a=Date.now(),p=`${a.toString(36)}-${pv("sha1").update(`${r}:${a}`).digest("hex").slice(0,6)}`,c=s?.commit;if(!c){let M=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
89
- `);c=await un(e,["commit-tree",r,"-m",M]),await un(e,["update-ref",`${hl}/${p}`,c])}let h={id:p,tree:r,commit:c,prompt:n,at:a},$=yl(e),T=[...$.sessions[t]??[],h];for(let M of T.slice(0,Math.max(0,T.length-uv)))try{await un(e,["update-ref","-d",`${hl}/${M.id}`])}catch{}return $.sessions[t]=T.slice(-uv),fv(e,$),h}async function xv(e,t){let n=[];if(e.disabled)return{ok:!1,output:"checkpoints are off: this directory is not a git repository",removed:n};try{await un(e,["read-tree","--reset","-u",t.tree])}catch(r){return{ok:!1,output:r instanceof Error?r.message:String(r),removed:n}}try{let r=await un(e,["clean","-fd"]);for(let o of r.split(`
90
- `)){let s=/^Removing\s+(.+)$/.exec(o.trim());s?.[1]&&n.push(s[1])}}catch{}return{ok:!0,output:`restored ${t.prompt||"the checkpoint"}`,removed:n}}async function hv(e,t){if(e.disabled)return[];try{await un(e,["add","-A","--ignore-errors","--"]);let n=await un(e,["write-tree"]);return n===t.tree?[]:(await un(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n])).split(`
91
- `).filter(Boolean).map(o=>{let[s,...a]=o.split(" ");return`${s?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function yv(e,t){if(e.disabled)return;let n=yl(e);for(let r of n.sessions[t]??[])try{await un(e,["update-ref","-d",`${hl}/${r.id}`])}catch{}delete n.sessions[t],fv(e,n)}var fF,hl,uv,xF,bv=m(()=>{Gn();Wn();fF=Cn(Xe,"rewind"),hl="refs/howtofix",uv=100;xF=pF(mF)});function kl(e=90){let t=Math.floor(Date.now()/e)%Il.length;return Il[t]??Il[0]}function Us(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function Ye(e,t){if(e&&typeof e=="object"){let n=e[t];if(typeof n=="string"&&n.length>0)return n;if(typeof n=="number")return String(n)}}function bF(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Us(n,t):""}catch{return""}}function IF(e,t){switch(e){case"read":{let n=Ye(t,"path")??"",r=[Ye(t,"offset"),Ye(t,"limit")].filter(Boolean);return r.length>0?`${n} ${r.length===1?`offset=${r[0]}`:`offset=${r[0]}, limit=${r[1]}`}`:n}case"edit":case"write":return Ye(t,"path")??"";case"bash":case"powershell":return Ye(t,"command")??"";case"grep":{let n=Ye(t,"pattern")??"",r=Ye(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=Ye(t,"pattern")??Ye(t,"glob")??"",r=Ye(t,"path");return r?`${n} in ${r}`:n}case"ls":return Ye(t,"path")??".";case"task":return Ye(t,"agent")??"task";case"ask":return Ye(t,"question")??"";case"think":return"private";case"todo":{let n=Ye(t,"op")??"view",r=Ye(t,"task"),o=t?.items;return n==="init"&&Array.isArray(o)?`init ${o.length} task${o.length===1?"":"s"}`:r?`${n} ${r}`:n}case"context":{let n=Ye(t,"op")??"list",r=Ye(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=Ye(t,"path");if(n)return n;let r=Ye(t,"code")??"",o=/export\s+const\s+meta\s*=\s*\{[\s\S]*?name\s*:\s*["'`]([^"'`]+)/.exec(r)?.[1];if(o)return o;let s=r.trim().split(`
92
- `)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return bF(t)}}function vo(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Us(IF(e,t),n);return o?`${Iv} ${r}(${o})`:`${Iv} ${r}`}function $F(e){let t=0,n=0;for(let r of e.split(`
93
- `))r.startsWith("+")&&!r.startsWith("+++")?t+=1:r.startsWith("-")&&!r.startsWith("---")&&(n+=1);return{additions:t,removals:n}}function Tl(e){let t=e?.content;return typeof t=="string"?t:Array.isArray(t)?t.map(n=>n&&typeof n=="object"&&n.type==="text"?String(n.text??""):"").join(""):""}function Ks(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function El(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function $v(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function wF(e){return e.trim().split(`
94
- `).find(t=>t.trim())??""}function kF(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=Ym(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function Ym(e){let t=e.trim();return t?t.split(`
95
- `).length:0}function Xm(e,t,n){let r=Tl(t),o=Ks(t),s=El(t);if(n){let a=$v(s);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let p=r.trim().split(`
96
- `).find(c=>c.trim());return Us(p??"failed",120)}switch(e){case"read":{let a=o.truncation,p=Ym(r.replace(/\n*\[[^\]]*\]\s*$/,"")),c=p===0?"empty":`${p} line${p===1?"":"s"}`;return a?.truncated?`${c} (truncated from ${a.totalLines??"?"})`:c}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:p,removals:c}=$F(a);return`+${p} / -${c}`}case"write":{let a=Ym(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=$v(s);if(a===void 0)return r.trim()?Us(wF(r),120):"done";let p=kF(s,r);return a===0?`exit 0${p}`:`exit ${a}`}case"grep":{let a=Ym(r);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let p=a.filter(h=>h.status==="completed").length,c=a.filter(h=>h.status==="pending"||h.status==="in_progress").length;return`${p}/${a.length} done, ${c} open`}case"context":{let a=o.notes,p=a?Object.keys(a).length:0;return p===0?"no notes":`${p} note${p===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,p=typeof o.outputTokens=="number"?o.outputTokens:0,c=Array.isArray(o.steps)?o.steps.filter($=>$.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${a} agent(s)`;let h=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${cr(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${p} tokens${h}${c>0?`, ${c} failed`:""}`}default:{let a=r.trim().split(`
97
- `).find(p=>p.trim());return a?Us(a,120):"done"}}}function wv(e,t){let n=Ks(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
98
- `).filter(r=>r.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let r=El(t);return(typeof r.output=="string"?r.output:Tl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
99
- `).filter(a=>a.trim()).slice(-4)}if(e==="todo"){let r=n.todos??[],o={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"};return r.slice(0,6).map(s=>`${o[s.status??"pending"]??"[ ]"} ${s.content??""}`)}return e==="workflow"?(n.steps??[]).map(s=>{let a=s.status==="running"?"\u25B8":s.status==="failed"?"\xD7":"\u2713",p=s.phase?`${s.phase} \xB7 `:"";return`${a} ${p}${s.label??"agent"}`}).slice(-6):[]}function kv(e,t){let n=Ks(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
100
- `).filter(p=>p.length>0).slice(0,Jm);let r=El(t),s=(typeof r.output=="string"?r.output:Tl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
101
- `),a=s.slice(0,Jm);return s.length>Jm&&a.push(`\u2026 ${s.length-Jm} more line(s)`),a}var Iv,$l,wl,Il,Jm,vl=m(()=>{qs();Iv="\u25CF",$l="\u2514",wl="\u22EF",Il=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];Jm=400});import{Markdown as TF,wrapTextWithAnsi as EF}from"@earendil-works/pi-tui";function Tv(e){return typeof e=="string"?e:e.map(t=>t.type==="text"?t.text:t.type==="thinking"?"":t.type==="image"?"[image]":(t.type==="toolCall","")).filter(Boolean).join("")}function vF(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function Qm(e){let t=[];for(let n of e)if(n.role==="user"){let r=Tv(n.content).trim();if(!r)continue;t.push({id:`u-${n.timestamp}`,kind:"user",title:"you",body:r})}else if(n.role==="assistant"){let r=Tv(n.content).trim(),o=vF(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
102
-
103
- ${r}`:r}):n.errorMessage&&t.push({id:`e-${n.timestamp}`,kind:"error",title:"failed",body:n.errorMessage}),o.forEach((s,a)=>{t.push({id:`c-${n.timestamp}-${a}`,kind:"tool",title:"tool",body:vo(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:Xm(n.toolName,{content:n.content},n.isError)});return t}function Ev(e,t,n){return EF(e,Math.max(8,t)).map(r=>X(r,n))}function SF(e){let t=e.body||" ",n=Gs.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new TF(t,0,0,CE);return Gs.set(e.id,{text:t,component:r}),r}var Gs,Sl,Zm,vv=m(()=>{gl();js();vl();Gs=new Map;Sl=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return _s(D.dim,t,sv(n,dl))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...Ev(`> ${n}`,t,this.shade(D.user))];if(this.item.kind==="tool")return[X(n,this.shade(D.tool))];if(this.item.kind==="result"){let o=n.startsWith("exit ")&&n!=="exit 0";if(this.item.panel)return["",...this.item.panel(t),...n?[X(` ${$l} ${n}`,o?D.bad:D.mute)]:[]];let s=[];this.item.call&&s.push(X(this.item.call,this.shade(D.tool)));let a=` ${$l} ${n}`;if(s.push(X(a,o?D.bad:this.shade(D.mute))),this.item.expanded===!0&&(this.item.full?.length??0)>0){let $=X(` ${this.item.full.length} line(s) \xB7 ctrl+e to collapse`,D.dim);s.push(X(` ${wl}`,D.dim));for(let T of this.item.full){let M=T.startsWith("+")?D.tool:T.startsWith("-")?D.bad:D.dim;s.push(X(` ${T}`,M))}return s.push($),s}let c=this.item.detail??[],h=fl(Date.now()-(this.item.born??0),c.length);for(let $ of c.slice(0,h)){let T=$.startsWith("+")?D.tool:$.startsWith("-")?D.bad:D.dim;s.push(X(` ${$}`,this.shade(T)))}return(this.item.full?.length??0)>0&&s.push(X(` ${wl} ${this.item.full.length} line(s) \xB7 ctrl+e to expand`,D.dim)),s}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?D.bad:D.mute;return["",...Ev(n,t,this.shade(o))]}return["",...SF(this.item).render(Math.max(8,t-2))]}},Zm=class{items=[];status="";scrollOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(n=>{if(n.born===void 0)return!1;let r=t-n.born;return iv(r,dl)?!0:(n.detail?.length??0)>fl(r,n.detail?.length??0)})}render(t){if(Gs.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of Gs.keys())o.has(s)||Gs.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new Sl(o).render(t));this.status&&n.push(X(this.status,D.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r,s=Math.max(0,Math.min(this.scrollOffset,o));return this.scrollOffset=s,n.slice(o-s,o-s+r)}return this.scrollOffset=0,n}}});function pt(e,t){return`${t}${e}${Pv}`}function AF(e){return e>=85?PF:e>=70?Rv:Av}function Ov(e,t,n,r){let o=pt(`[${e}]`,Pl),s=pt(`${RF} ${t}`,Ln),a=pt(n,Rv),p=r?` ${pt("git:(",Sv)}${pt(r.replace(/^git:\(/,"").replace(/\)$/,""),Pl)}${pt(")",Sv)}`:"";return`${o}${pt(" \u2502 ",Ln)}${s}${pt(" \u2502 ",Ln)}${a}${p}`}function Mv(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${pt(jE(n),Ln)}`;return`${pt(r,Pl)} ${pt("\u2502",Ln)} ${e}`}function Cv(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=AF(n),s=`${o}${"\u2588".repeat(r)}${Ln}${"\u2591".repeat(10-r)}${Pv}`,a=pt(`${Math.round(n)}%`,o),p=t?`${pt(" \u2502 ",Ln)}${t}`:"";return`${pt("Context",Ln)} ${s} ${a}${p}`}function Lv(e,t,n){let r=n===null?"":pt(` ${n}ms`,Ln);return`${pt("Cubence",Ln)} ${pt(t?`${t} ${e}`:e,Av)}${r}`}var Pv,Ln,PF,Av,Rv,Sv,Pl,RF,Al=m(()=>{qs();Pv="\x1B[0m",Ln="\x1B[2m",PF="\x1B[31m",Av="\x1B[32m",Rv="\x1B[33m",Sv="\x1B[35m",Pl="\x1B[36m";RF="\u2726"});import{mkdirSync as OF,readFileSync as jv}from"node:fs";import{homedir as MF}from"node:os";import{dirname as CF,join as LF}from"node:path";function Fv(e){return e/1e6}function jF(){try{let e=JSON.parse(jv(LF(MF(),".claude","settings.json"),"utf8")),t=e.env?.ANTHROPIC_AUTH_TOKEN,n=e.env?.ANTHROPIC_BASE_URL;return!t||!n?void 0:{token:t,baseUrl:n.replace(/\/$/,"")}}catch{return}}function DF(){try{let e=JSON.parse(jv(Rl,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function Ws(e){let t=`$${e.balanceDollar.toFixed(2)}`,n=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return Lv(t,n,e.latencyMs)}async function Dv(){let e=DF();if(e&&Date.now()-e.cachedAt<FF)return Ws(e.data);let t=jF();if(!t)return e?Ws(e.data):void 0;let n=Date.now();try{let r=await fetch(`${t.baseUrl}/v1/user/subscription-info`,{headers:{authorization:`Bearer ${t.token}`,accept:"application/json"},signal:AbortSignal.timeout(3e3)});if(!r.ok)return e?Ws(e.data):void 0;let o=await r.json(),s=o.subscription_window?.five_hour?.limit??0,a={balanceDollar:o.normal_balance?.amount_dollar??0,hasSubscription:s>0,fiveHourUsedDollar:Fv(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:Fv(s),latencyMs:Date.now()-n};return OF(CF(Rl),{recursive:!0}),Ze(Rl,JSON.stringify({data:a,cachedAt:Date.now()})),Ws(a)}catch{return e?Ws(e.data):void 0}}var Rl,FF,Nv=m(()=>{Gn();Al();Wn();Rl=Iu,FF=18e4});function qv(){return{}}function _v(e,t,n,r=Date.now()){let o={...e};return t==="run"?(n===void 0||n===""?delete o.run:o.run={label:n,since:e.run?.since??r},o):(n===void 0||n===""?delete o[t]:o[t]=n,o)}function NF(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60);return n>0?`${n}m ${String(t%60).padStart(2,"0")}s`:`${t}s`}function Uv(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${NF(n-e.run.since)}`:e.tally?e.tally:""}var Kv=m(()=>{});import{spawn as qF}from"node:child_process";function _F(e){switch(e){case"darwin":return{command:"open",args:[]};case"win32":return{command:"cmd",args:["/c","start",""]};case"linux":return{command:"xdg-open",args:[]};default:return}}async function Gv(e,t=process.platform){let n=_F(t);return n?new Promise(r=>{try{let o=qF(n.command,[...n.args,e],{detached:!0,stdio:"ignore"});o.once("error",()=>r(!1)),o.once("spawn",()=>{o.unref(),r(!0)})}catch{r(!1)}}):!1}var Wv=m(()=>{});import{mkdirSync as UF}from"node:fs";import{join as KF}from"node:path";import{matchesKey as eu}from"@earendil-works/pi-tui";function Bv(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function Hv(e){if(eu(e,"up"))return"up";if(eu(e,"down"))return"down";if(eu(e,"enter"))return"enter";if(eu(e,"escape"))return"escape";if(e==="f")return"filter";if(e==="p")return"pause";if(e==="x")return"stop";if(e==="s")return"save"}function zv(e,t,n){if(t.length===0)return e;let r=Math.max(0,Math.min(t.length-1,e.selectedPhase+n));return{...e,selectedPhase:r,follow:!1}}function GF(e){let t=Ol.indexOf(e);return Ol[(t+1)%Ol.length]}function Vv(e,t,n){switch(t){case"up":return zv(e,n,-1);case"down":return zv(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:GF(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function Jv(e,t){switch(t){case"running":return e.filter(n=>n.status==="running");case"failed":return e.filter(n=>n.status==="failed");case"done":return e.filter(n=>n.status!=="running");default:return[...e]}}function Yv(e){return e==="all"?"":` \xB7 ${e}`}function Zv(e,t,n=!0){if(!n)return"Ctrl+F panel keys \xB7 Esc unpin";let r=["\u2191/\u2193 phase",e.expanded?"Enter collapse":"Enter drill in"];return r.push(e.expanded?"Esc back out":"Esc unpin"),r.push(`f filter${e.filter==="all"?"":` (${e.filter})`}`),t?(r.push(e.paused?"p resume":"p pause"),r.push("x stop")):e.paused&&r.push("p resume"),r.push("s save script"),e.paused&&r.unshift("paused"),r.join(" \xB7 ")}function WF(e){let t=e.trim();if(!(!t||t.length>64)&&!(t==="."||t==="..")&&/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(t)&&!t.includes(".."))return t}function Qv(e,t){if(!e)return{ok:!1,reason:"this run was started from a file, so it is already saved where you pointed the tool"};let n=WF(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=KF(t,`${n}.js`);try{UF(t,{recursive:!0}),Ze(r,e.code)}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var Ol,Xv,eS=m(()=>{Wn();Ol=["all","running","failed","done"];Xv="ctrl+f"});function tS(e){let t=()=>{};return{select:(n,r)=>e.select(n,r),confirm:(n,r)=>e.confirm(n,r),input:n=>e.input(n),notify:(n,r)=>e.notify(n,r),onTerminalInput:()=>t,setStatus:(n,r)=>e.setStatus(n,r),setWorkingMessage:t,setWorkingVisible:t,setWorkingIndicator:t,setHiddenThinkingLabel:t,setWidget:(n,r,o)=>{r!==void 0&&!Array.isArray(r)||e.setWidget?.(n,r,o?.placement)},setFooter:t,setHeader:t,setTitle:t,custom:async()=>{throw new Error("this screen has no custom component host; use the text commands instead")},pasteToEditor:t,setEditorText:t,getEditorText:()=>"",editor:async()=>{},addAutocompleteProvider:t,setEditorComponent:t,getEditorComponent:()=>{},theme:void 0,getAllThemes:()=>[],getTheme:()=>{},setTheme:()=>({success:!1,error:"themes are not available in the workbench"}),getToolsExpanded:()=>!1,setToolsExpanded:t}}var nS=m(()=>{});var xS={};Lt(xS,{Dock:()=>ou,Hud:()=>nu,PinnedBlock:()=>ru,approvalDetail:()=>fS,orderModelsForDefault:()=>lS,pickerPanel:()=>dS,runWorkbench:()=>xj,workflowPanel:()=>gS,workflowPanelFromRun:()=>Bs,workflowRunOf:()=>su});import{execFile as zF}from"node:child_process";import{promisify as BF}from"node:util";import{existsSync as HF,mkdirSync as VF,readFileSync as JF}from"node:fs";import{basename as YF,join as rS,resolve as XF}from"node:path";import{copyToClipboard as ZF,SessionManager as QF}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as oS,Container as ej,Editor as tj,matchesKey as Ot,ProcessTerminal as nj,ScrollView as rj,KeybindingsManager as mS,setKeybindings as uS,TUI_KEYBINDINGS as pS,SelectList as oj,TuiAltScreen as sj,truncateToWidth as zs,VStack as ij,visibleWidth as tu,wrapTextWithAnsi as aj,getNativeClipboard as mj}from"@earendil-works/pi-tui";import{TreeSelectorComponent as uj,initTheme as pj}from"@earendil-works/pi-coding-agent";import{getKeybindings as sS}from"@earendil-works/pi-tui";function cj(e){if(typeof e!="object"||e===null)return;let t=e[cS];return typeof t=="function"?t.call(e):void 0}async function aS(e){try{let{stdout:t}=await Ll("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await Ll("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function lS(e){let t=n=>{if(dj.test(n))return 100;let r=lj.findIndex(o=>n.toLowerCase().includes(o));return r===-1?50:r};return e.map((n,r)=>({id:n,index:r})).sort((n,r)=>t(n.id)-t(r.id)||n.index-r.index).map(n=>n.id)}function dS(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,p=(Z,ae)=>{let xe=tu(Z)>a?zs(Z,a,"\u2026"):Z,ke=`${xe}${" ".repeat(Math.max(0,a-tu(xe)))}`;return`\u2502 ${ae?ae(ke):ke} \u2502`},c="\u2500".repeat(s-2),h=[p(` ${t}`),...e.render(a).map(Z=>p(Z))],$=o.flatMap(Z=>Z===""?[""]:aj(Z,a)),T=$.length>0?[p(""),...$.map(Z=>p(Z,ae=>X(ae,D.mute)))]:[];if(!r)return["",`\u250C${c}\u2510`,...h,...T,`\u2514${c}\u2518`];let M=av(D.line,D.warn,Date.now(),1400),F=X("\u2502",M),O=(Z,ae)=>X(`${Z}${c}${ae}`,M),_=[...h,...T].map(Z=>`${F}${Z.slice(1,-1)}${F}`);return["",O("\u250C","\u2510"),..._,O("\u2514","\u2518")]}function fS(e,t){let n=t.split(`
104
- `).filter(Boolean),r=n.filter(a=>a.startsWith("Reason:")),o=n.filter(a=>!a.startsWith("Reason:")&&!a.startsWith("Allow tool:"));return[...e.endsWith(" wants to run")?[]:[e],...r,...o.length>0?["",...o]:[]]}function So(e){let t=e.getContextUsage();if(t?.percent!==null&&t?.percent!==void 0)return Math.min(100,Math.round(t.percent));let n=e.model,o=[...e.state.messages].reverse().find(s=>s.role==="assistant")?.usage?.totalTokens;return!n||typeof o!="number"||!Number.isFinite(o)||n.contextWindow<=0?0:Math.min(100,Math.round(o/n.contextWindow*100))}function Cl(e){let n=[["init","write project notes to AGENTS.md"],["model","choose a model"],["providers","list providers"],["thinking","set thinking level"],["approval","set what needs approval"],["connect","connect a howtofix.id account"],["login","save a provider API key"],["logout","remove a provider"],["new","start a new session"],["resume","resume another session"],["compact","compact the session"],["name","name this session"],["stats","session tokens and cost"],["diff","show the working tree diff"],["commit","stage everything and commit"],["undo","undo the last commit"],["rewind","go back to an earlier message (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([r,o])=>({name:r,description:o}));for(let r of e.promptTemplates)n.push({name:r.name,description:r.description});for(let r of e.extensionRunner.getRegisteredCommands())n.push({name:r.invocationName,description:r.description});return n}function su(e,t){if(e!=="workflow")return;let n=Ks(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function gS(e,t){let n=su(e,t);return n?Bs(n):void 0}function Bs(e,t,n=!1){return r=>GE(e,[],r,t?.selectedPhase,t?fj(e,t,n):void 0)}function fj(e,t,n){return{filter:r=>Jv(r,t.filter),footerText:Zv(t,e.endedAt===void 0,n),filterLabel:Yv(t.filter),drill:t.expanded}}function gj(){let e=new mS(pS,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});uS(e)}async function xj(e){let t=new nj,n=new sj(t,!0,void 0,{mouse:!0}),r=new Zm,o=new nu(e.cwd,e.modelLabel),s=d=>{let x=Date.now();(async()=>{try{let b=cn(),y=await gv(b,E.getSessionStats().sessionId,d);y&&x>=_t&&(Po=y,_t=x)}catch{}})()},a=(d=!1)=>{!d&&!o.live||aS(e.cwd).then(x=>{x!==null&&(o.git=x,U())})},p=new tj(n,iS,{paddingX:1}),c=new Map,h=(d,x)=>{x===void 0?c.delete(d):typeof x=="function"?c.set(d,x):c.set(d,()=>x)},$=()=>Math.max(20,t.columns),T,M=0,F=Bv(),O,_=null,Z=!1,ae,xe=!1,ke,We=()=>{!O||!Z||h("workflow",d=>Bs(O,F,xe)(d))},Nt=()=>{O&&(ae=O.name),Z=!1,xe=!1,h("workflow",void 0)};zE({onStop:d=>{_=d},isPaused:()=>F.paused});let he=d=>{if(ae===d.name)return;T=d;let x=d.endedAt??Date.now();M=Math.max(M,x+Wm),O=d,Z=!0,h("workflow",b=>Bs(d,F,xe)(b))},te=new ou(p,o),E=e.session,ze=!1,qt,cn=()=>qt??=dv(e.cwd),Po,Qt="",_t=0,qe,Mt=()=>{let d=new Set(["session_info","usage","label","context_edit","custom","model_change","thinking_level_change"]),x=[],b=y=>{for(let w of y)d.has(w.entry.type)||x.push(w.entry.id),b(w.children)};return b(E.sessionManager.getTree()),x},Ao=!1,yS=()=>{if(Ao)return;Ao=!0;let d=sS().getResolvedBindings();uS(new mS(pS,{...d,"app.tree.foldOrUp":["alt+left","ctrl+left"],"app.tree.unfoldOrDown":["alt+right","ctrl+right"],"app.tree.editLabel":["shift+l"],"app.tree.toggleLabelTimestamp":["shift+t"],"app.message.copy":["ctrl+x"],"app.tree.filter.default":["alt+0"],"app.tree.filter.noTools":["alt+1"],"app.tree.filter.userOnly":["alt+2"],"app.tree.filter.labeledOnly":["alt+3"],"app.tree.filter.all":["alt+4"],"app.tree.filter.cycleForward":["alt+f"],"app.tree.filter.cycleBackward":["alt+shift+f"]}))},Fl=!1,bS=()=>{Fl||(Fl=!0,pj())},jl=()=>{let d=E.sessionManager.getTree();if(d.length===0){A("rewind","nothing to rewind to yet");return}cn().disabled&&A("rewind","conversation rewind only \u2014 this directory is not a git repository"),bS(),yS();let x=Math.max(8,Math.floor(t.rows*.6)),b=new uj(d,E.sessionManager.getLeafId(),x*2,y=>{iu(),IS(y)},()=>iu());if(!b.getTreeList().getSelectedNode()){A("rewind","nothing to rewind to yet");return}qe=b,qe.focused=!0,h("rewind",y=>qe?.render(y)??[]),U()},iu=()=>{qe=void 0,h("rewind",void 0),U()},IS=async d=>{let x=cn(),y=E.getUserMessagesForForking().findIndex(I=>I.entryId===d),w=y>=0?bl(x,E.getSessionStats().sessionId)[y]:void 0,g=w?(await hv(x,w)).length:0;if(g===0){await Dl(d,void 0,"conversation");return}Ct(`Rewind to this point? ${g} file(s) differ`,[{value:"both",label:"conversation and code",description:`drop the messages after this point and restore ${g} file(s)`},{value:"conversation",label:"conversation only",description:"drop the messages after this point, leave the files alone"},{value:"code",label:"code only",description:`restore ${g} file(s), keep the conversation`}],I=>{Dl(d,w,I)})},Dl=async(d,x,b)=>{let y=[];if((b==="both"||b==="conversation")&&!E.isStreaming)try{let w=await E.navigateTree(d);if(w.cancelled){A("rewind","conversation rewind cancelled");return}y.push("conversation rewound"),r.items=Qm(E.state.messages),w.editorText&&(p.setText(w.editorText),y.push("prompt restored to the editor"))}catch(w){ln(`conversation rewind failed: ${w instanceof Error?w.message:String(w)}`);return}if((b==="both"||b==="code")&&x){let w=await xv(cn(),x);if(!w.ok){ln(`code rewind failed: ${w.output}`);return}y.push(w.output),w.removed.length>0&&y.push(`removed ${w.removed.length} file(s)`),a()}A("rewind",y.join(`
105
- `)||"nothing to do"),U()};a(!0),s("session start"),e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...Qm(E.state.messages)),o.percent=So(E),o.abandonAnimations(),o.thinking=E.thinkingLevel,p.setAutocompleteProvider(new oS(Cl(E),e.cwd)),Dv().then(d=>{d&&(o.cubence=d,n.requestRender())});let Fn=null,Nl="",ql=!1,_l=[],Ro,au=()=>{},U=()=>{au(),n.requestRender()},fe=(d,x)=>{o.activity=_v(o.activity,d,x)},Hs=new Map,mu=new Set,$S=()=>[...Hs].map(([d,x])=>`${mu.has(d)?"!":"\u2713"} ${d} \xD7${x}`).join(" | "),wS=()=>{let d=$S();fe("tally",d||void 0)},Ct=(d,x,b,y,w=!1,g=[])=>{let I=new oj(x,8,iS.selectList);I.onSelect=S=>{Fn=null,Ro=void 0,b(S.value)},I.onCancel=()=>{Fn=null,Ro=void 0,y?.(),U()},Ro=()=>I.onCancel?.(),Nl=d,ql=w,_l=g,Fn=I,U()},A=(d,x)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:d,body:x}),fe("tally",void 0),U()},ln=d=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:d}),fe("tally",void 0),U()};Gu((d,x)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Ct(d,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],w=>y(w==="allow"),()=>y(!1),!0,fS(d,x)),b});let uu=new Map,Ul=d=>{let x=tS({select:(b,y)=>{let{promise:w,resolve:g}=Promise.withResolvers();return Ct(b,y.map(I=>({value:I,label:I})),g,()=>g(void 0)),w},confirm:(b,y)=>{let{promise:w,resolve:g}=Promise.withResolvers();return Ct(`${b} \u2014 ${y}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],I=>g(I==="yes"),()=>g(!1)),w},input:b=>{let{promise:y,resolve:w}=Promise.withResolvers();return fe("prompt",b),U(),pn=g=>{pn=void 0,fe("prompt",void 0),w(g),U()},y},notify:(b,y)=>{y==="error"?ln(b):A("mcp",b)},setStatus:(b,y)=>{y===void 0?uu.delete(b):uu.set(b,y),fe("note",[...uu.values()].join(" | ")||void 0),U()},setWidget:(b,y)=>{h(b,y),U()}});d.bindExtensions({uiContext:x,mode:"print",onError:b=>ln(`${b.event}: ${b.error}`)}).catch(b=>ln(b instanceof Error?b.message:String(b)))};Ul(E);let jr=new ej,kS={invalidate:()=>r.invalidate(),render:d=>{let x=jr.render(Math.max(20,d)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-x),r.render(d)},handleMouse:d=>{let x=d.type==="wheel"?d.wheelDelta??0:0;if(x!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-x*3),U(),{handled:!0}}},TS=new rj(kS,{follow:"none",overscroll:"contain"}),Vs=new ij([{component:TS,grow:1,shrink:1},{component:jr,grow:0,shrink:0,basis:"auto"}]),Kl="",ES=()=>`${Fn?"picker":"dock"}|${[...c.keys()].join(",")}`;au=()=>{let d=ES();if(d===Kl)return;Kl=d,jr.clear();for(let b of c.values())jr.addChild(new ru(b));let x=Fn;if(x){let b=Nl,y=ql,w=_l;jr.addChild({render:g=>dS(x,b,g,y,w),invalidate:()=>{}})}else jr.addChild(te);Vs.invalidate()},au();let Gl={focused:!1,invalidate(){r.invalidate(),te.invalidate(),Fn?.invalidate(),Vs.invalidate()},[cS]:()=>cj(Vs),render:d=>Vs.render(d),handleInput(d){p.handleInput(d)}};n.setLayoutRoot(Gl),n.setFocus(Gl);let ht=0,Kn="",pu=!1,Oo=!1,Dr="",Wl=0,cu=!1,lu=Date.now(),Js=!1,Ys=new Map,zl=d=>{if(d.type==="agent_start"||d.type==="turn_start")d.type==="agent_start"&&pd(),o.live||o.beginRun(),Kn="",Oo=!1,cu=!1,lu=Date.now(),Dr="";else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_delta"){Oo=!0,Dr===""&&(Wl=Date.now()),Dr+=d.assistantMessageEvent.delta;let x=`think-${ht}`,b=r.items.find(w=>w.id===x),y=Dr.split(`
86
+ `)}],details:{agents:a.map(c=>({id:c.id,status:c.status}))}}}})});function XE(){return e=>{e.on("session_start",()=>{let t=new Set(e.getActiveTools());for(let n of YL)e.getAllTools().some(r=>r.name===n)&&t.add(n);e.setActiveTools([...t])})}}var YL,ZE=m(()=>{YL=["grep","find","ls"]});var QE={};Lt(QE,{BUILD_ENTRY:()=>Jm,openSession:()=>sF});import{join as XL}from"node:path";import{createAgentSession as ZL,createCodemodeExtension as QL,createMcpExtension as eF,DefaultResourceLoader as tF,SessionManager as Vm,SettingsManager as nF}from"@earendil-works/pi-coding-agent";function oF(e,t){let n=e.find(o=>`${o.provider}/${o.id}`===t||o.id===t);if(n)return n;let r=t.toLowerCase();return e.find(o=>o.id.toLowerCase().includes(r)||`${o.provider}/${o.id}`.toLowerCase().includes(r))}async function sF(e){let t=nF.create(e.cwd,Xe,{projectTrusted:!0}),n=e.sessionPath?Vm.open(e.sessionPath):e.noSession?Vm.inMemory(e.cwd):e.continueSession?Vm.continueRecent(e.cwd):Vm.create(e.cwd),r=(()=>{try{let I=n.getEntries().find(T=>T.type==="custom"&&T.customType===Jm)?.data?.version;return!I||I===fn?void 0:`this session was written by HowToFix ${I}; you are running ${fn}`}catch{return}})(),o=new tF({cwd:e.cwd,agentDir:Xe,settingsManager:t,appendSystemPrompt:[Yl],extensionFactories:[sE(),jo(),Ed(),Um(),lE(),iE(),uE(),QL(),eF(),XE()]});await o.reload();let s=await ZL({cwd:e.cwd,agentDir:Xe,settingsManager:t,sessionManager:n,resourceLoader:o,excludeTools:rF().exclude,customTools:[JE,Ad,Rd,Pm,Am,zT,aE,mE,VE()],thinkingLevel:e.thinking}),a=s.session.model;if(e.model){let h=await s.session.modelRuntime.getAvailable(),I=oF(h,e.model);if(!I)throw s.session.dispose(),new Error(`unknown model '${e.model}'`);(a?.id!==I.id||a.provider!==I.provider)&&(await s.session.setModel(I),a=s.session.model)}if(!e.noSession&&n.getEntries().every(h=>h.type!=="custom"||h.customType!==Jm))try{n.appendCustomEntry(Jm,{version:fn})}catch{}let p=a?`${a.provider}/${a.id}`:"no model",c=[Xl(s.modelFallbackMessage)].filter(h=>!!h);return a||c.push(`no model configured. run \`howtofix\` and use /login, or edit ${XL(Xe,"models.json")}`),{session:s.session,dispose:()=>s.session.dispose(),modelLabel:p,note:[r,...c].filter(Boolean).join(`
87
+ `)||void 0}}var Jm,rF,ev=m(()=>{Co();vd();Wn();Do();Hu();zc();Rm();Fm();Yc();pE();dE();Qc();ll();YE();ZE();Jm="howtofix.build",rF=()=>({exclude:process.platform==="win32"?[]:["powershell"]})});import{mixColors as iF,styleText as tv}from"@earendil-works/pi-tui";function Us(e,t,n){let r=iv(n);return r>=1?t:r<=0?e:iF(e,t,r)}function fl(e,t,n,r){return!Dr||e<=dl?t:e>=ov?r:Us(n,r,(e-dl)/(ov-dl))}function av(e,t){return!Dr||t<=0||e<0?1:1-(1-iv(e/t))**3}function mv(e,t){return Dr&&e>=0&&e<t}function xl(e,t,n=mF,r=400){return!Dr||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function uv(e,t,n=Date.now(),r=1400){if(!Dr||r<=0)return e;let o=n%r/r;return Us(e,t,o<.5?o*2:(1-o)*2)}function uF(e,t){let n=Math.abs(e-t);return n>=nv?0:Math.ceil((1-n/nv)*sv)/sv}function pv(e,t,n=Date.now()){let r=t.charMs??aF;if(!Dr||e.length===0||r<=0)return tv(e,{fg:t.base},zm);let o=e.length+rv*2,s=n/r%o-rv,a=(M,F)=>tv(M,{fg:Us(t.base,t.bright,F)},zm),p="",c=0,h=null,I=0,T=0;for(let M of e){let F=uF(T,s);h===null?h=F:F!==h&&(p+=a(e.slice(c,I),h),c=I,h=F),I+=M.length,T+=1}return p+a(e.slice(c),h??0)}var Dr,aF,nv,rv,dl,ov,sv,iv,Ym,gl,mF,hl=m(()=>{Ds();Dr=process.env.HOWTOFIX_NO_MOTION!=="1",aF=45,nv=5,rv=8,dl=1e4,ov=6e4,sv=3,iv=e=>e<0?0:e>1?1:e;Ym=class{value;velocity=0;last=Date.now();target;constructor(t,n=t){this.value=t,this.target=n}set(t){this.target=t}get moving(){return Math.abs(this.target-this.value)>.15}snap(t){this.value=t,this.target=t,this.velocity=0,this.last=Date.now()}step(t=Date.now()){let n=Math.max(0,t-this.last),r=Math.min(250,n)/1e3;if(this.last=t,!Dr)return this.value=this.target,this.velocity=0,this.value;n>250&&(this.velocity=0);let o=150,s=2*Math.sqrt(o),a=Math.max(1,Math.ceil(r/.008)),p=r/a;for(let c=0;c<a;c+=1)this.velocity+=(this.target-this.value)*o*p-this.velocity*s*p,this.value+=this.velocity*p;return this.moving||(this.value=this.target,this.velocity=0),this.value}};gl=260,mF=45});import{execFile as pF,execFileSync as cF}from"node:child_process";import{promisify as lF}from"node:util";import{createHash as lv}from"node:crypto";import{copyFileSync as dF,existsSync as yl,mkdirSync as Xm,readFileSync as fF,statSync as gF}from"node:fs";import{dirname as dv,join as Ln,resolve as fv}from"node:path";function hF(e){let t=fv(e);for(;;){if(yl(Ln(t,".git")))return!0;let n=dv(t);if(n===t)return!1;t=n}}async function un(e,t){let n={...process.env};for(let o of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_NAMESPACE","GIT_COMMON_DIR"])delete n[o];n.GIT_DIR=e.gitDir,n.GIT_WORK_TREE=e.root,n.GIT_AUTHOR_NAME=n.GIT_COMMITTER_NAME="howtofix",n.GIT_AUTHOR_EMAIL=n.GIT_COMMITTER_EMAIL="howtofix@local";let{stdout:r}=await yF("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function bF(e){return lv("sha1").update(e).digest("hex").slice(0,16)}function gv(e){let t=fv(e).replace(/\/+$/,"")||"/",n=Ln(xF,bF(t)),r=Ln(n,"git"),o={root:t,gitDir:r,metaFile:Ln(n,"checkpoints.json"),disabled:!1};return!yl(Ln(r,"HEAD"))&&!hF(t)?(o.disabled=!0,o):(Xm(n,{recursive:!0}),yl(Ln(r,"HEAD"))||(Xm(r,{recursive:!0}),cF("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),IF(t,r),o)}function IF(e,t){let n=Ln(e,".git","info","exclude");try{if(!gF(n).isFile())return;Xm(Ln(t,"info"),{recursive:!0}),dF(n,Ln(t,"info","exclude"))}catch{}}function Il(e){try{let t=JSON.parse(fF(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function xv(e,t){Xm(dv(e.metaFile),{recursive:!0}),Ze(e.metaFile,`${JSON.stringify(t,null,1)}
88
+ `)}function $l(e,t){return e.disabled?[]:[...Il(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function hv(e,t,n){if(e.disabled)return null;let r;try{await un(e,["add","-A","--ignore-errors","--"]),r=await un(e,["write-tree"])}catch{return null}let s=$l(e,t).find(M=>M.tree===r),a=Date.now(),p=`${a.toString(36)}-${lv("sha1").update(`${r}:${a}`).digest("hex").slice(0,6)}`,c=s?.commit;if(!c){let M=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
89
+ `);c=await un(e,["commit-tree",r,"-m",M]),await un(e,["update-ref",`${bl}/${p}`,c])}let h={id:p,tree:r,commit:c,prompt:n,at:a},I=Il(e),T=[...I.sessions[t]??[],h];for(let M of T.slice(0,Math.max(0,T.length-cv)))try{await un(e,["update-ref","-d",`${bl}/${M.id}`])}catch{}return I.sessions[t]=T.slice(-cv),xv(e,I),h}async function yv(e,t){let n=[];if(e.disabled)return{ok:!1,output:"checkpoints are off: this directory is not a git repository",removed:n};try{await un(e,["read-tree","--reset","-u",t.tree])}catch(r){return{ok:!1,output:r instanceof Error?r.message:String(r),removed:n}}try{let r=await un(e,["clean","-fd"]);for(let o of r.split(`
90
+ `)){let s=/^Removing\s+(.+)$/.exec(o.trim());s?.[1]&&n.push(s[1])}}catch{}return{ok:!0,output:`restored ${t.prompt||"the checkpoint"}`,removed:n}}async function bv(e,t){if(e.disabled)return[];try{await un(e,["add","-A","--ignore-errors","--"]);let n=await un(e,["write-tree"]);return n===t.tree?[]:(await un(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n])).split(`
91
+ `).filter(Boolean).map(o=>{let[s,...a]=o.split(" ");return`${s?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function Iv(e,t){if(e.disabled)return;let n=Il(e);for(let r of n.sessions[t]??[])try{await un(e,["update-ref","-d",`${bl}/${r.id}`])}catch{}delete n.sessions[t],xv(e,n)}var xF,bl,cv,yF,$v=m(()=>{Wn();zn();xF=Ln(Xe,"rewind"),bl="refs/howtofix",cv=100;yF=lF(pF)});function El(e=90){let t=Math.floor(Date.now()/e)%wl.length;return wl[t]??wl[0]}function Ks(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function Ye(e,t){if(e&&typeof e=="object"){let n=e[t];if(typeof n=="string"&&n.length>0)return n;if(typeof n=="number")return String(n)}}function $F(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Ks(n,t):""}catch{return""}}function wF(e,t){switch(e){case"read":{let n=Ye(t,"path")??"",r=[Ye(t,"offset"),Ye(t,"limit")].filter(Boolean);return r.length>0?`${n} ${r.length===1?`offset=${r[0]}`:`offset=${r[0]}, limit=${r[1]}`}`:n}case"edit":case"write":return Ye(t,"path")??"";case"bash":case"powershell":return Ye(t,"command")??"";case"grep":{let n=Ye(t,"pattern")??"",r=Ye(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=Ye(t,"pattern")??Ye(t,"glob")??"",r=Ye(t,"path");return r?`${n} in ${r}`:n}case"ls":return Ye(t,"path")??".";case"task":return Ye(t,"agent")??"task";case"ask":return Ye(t,"question")??"";case"think":return"private";case"todo":{let n=Ye(t,"op")??"view",r=Ye(t,"task"),o=t?.items;return n==="init"&&Array.isArray(o)?`init ${o.length} task${o.length===1?"":"s"}`:r?`${n} ${r}`:n}case"context":{let n=Ye(t,"op")??"list",r=Ye(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=Ye(t,"path");if(n)return n;let r=Ye(t,"code")??"",o=/export\s+const\s+meta\s*=\s*\{[\s\S]*?name\s*:\s*["'`]([^"'`]+)/.exec(r)?.[1];if(o)return o;let s=r.trim().split(`
92
+ `)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return $F(t)}}function So(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Ks(wF(e,t),n);return o?`${wv} ${r}(${o})`:`${wv} ${r}`}function kF(e){let t=0,n=0;for(let r of e.split(`
93
+ `))r.startsWith("+")&&!r.startsWith("+++")?t+=1:r.startsWith("-")&&!r.startsWith("---")&&(n+=1);return{additions:t,removals:n}}function vl(e){let t=e?.content;return typeof t=="string"?t:Array.isArray(t)?t.map(n=>n&&typeof n=="object"&&n.type==="text"?String(n.text??""):"").join(""):""}function Gs(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function Sl(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function kv(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function TF(e){return e.trim().split(`
94
+ `).find(t=>t.trim())??""}function EF(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=Qm(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function Qm(e){let t=e.trim();return t?t.split(`
95
+ `).length:0}function eu(e,t,n){let r=vl(t),o=Gs(t),s=Sl(t);if(n){let a=kv(s);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let p=r.trim().split(`
96
+ `).find(c=>c.trim());return Ks(p??"failed",120)}switch(e){case"read":{let a=o.truncation,p=Qm(r.replace(/\n*\[[^\]]*\]\s*$/,"")),c=p===0?"empty":`${p} line${p===1?"":"s"}`;return a?.truncated?`${c} (truncated from ${a.totalLines??"?"})`:c}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:p,removals:c}=kF(a);return`+${p} / -${c}`}case"write":{let a=Qm(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=kv(s);if(a===void 0)return r.trim()?Ks(TF(r),120):"done";let p=EF(s,r);return a===0?`exit 0${p}`:`exit ${a}`}case"grep":{let a=Qm(r);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let p=a.filter(h=>h.status==="completed").length,c=a.filter(h=>h.status==="pending"||h.status==="in_progress").length;return`${p}/${a.length} done, ${c} open`}case"context":{let a=o.notes,p=a?Object.keys(a).length:0;return p===0?"no notes":`${p} note${p===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,p=typeof o.outputTokens=="number"?o.outputTokens:0,c=Array.isArray(o.steps)?o.steps.filter(I=>I.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${a} agent(s)`;let h=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${lr(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${p} tokens${h}${c>0?`, ${c} failed`:""}`}default:{let a=r.trim().split(`
97
+ `).find(p=>p.trim());return a?Ks(a,120):"done"}}}function Tv(e,t){let n=Gs(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
98
+ `).filter(r=>r.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let r=Sl(t);return(typeof r.output=="string"?r.output:vl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
99
+ `).filter(a=>a.trim()).slice(-4)}if(e==="todo"){let r=n.todos??[],o={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"};return r.slice(0,6).map(s=>`${o[s.status??"pending"]??"[ ]"} ${s.content??""}`)}return e==="workflow"?(n.steps??[]).map(s=>{let a=s.status==="running"?"\u25B8":s.status==="failed"?"\xD7":"\u2713",p=s.phase?`${s.phase} \xB7 `:"";return`${a} ${p}${s.label??"agent"}`}).slice(-6):[]}function Ev(e,t){let n=Gs(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
100
+ `).filter(p=>p.length>0).slice(0,Zm);let r=Sl(t),s=(typeof r.output=="string"?r.output:vl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
101
+ `),a=s.slice(0,Zm);return s.length>Zm&&a.push(`\u2026 ${s.length-Zm} more line(s)`),a}var wv,kl,Tl,wl,Zm,Pl=m(()=>{_s();wv="\u25CF",kl="\u2514",Tl="\u22EF",wl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];Zm=400});import{Markdown as vF,wrapTextWithAnsi as SF}from"@earendil-works/pi-tui";function vv(e){return typeof e=="string"?e:e.map(t=>t.type==="text"?t.text:t.type==="thinking"?"":t.type==="image"?"[image]":(t.type==="toolCall","")).filter(Boolean).join("")}function PF(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function nu(e){let t=[];for(let n of e)if(n.role==="user"){let r=vv(n.content).trim();if(!r)continue;t.push({id:`u-${n.timestamp}`,kind:"user",title:"you",body:r})}else if(n.role==="assistant"){let r=vv(n.content).trim(),o=PF(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
102
+
103
+ ${r}`:r}):n.errorMessage&&t.push({id:`e-${n.timestamp}`,kind:"error",title:"failed",body:n.errorMessage}),o.forEach((s,a)=>{t.push({id:`c-${n.timestamp}-${a}`,kind:"tool",title:"tool",body:So(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:eu(n.toolName,{content:n.content},n.isError)});return t}function Sv(e,t,n){return SF(e,Math.max(8,t)).map(r=>X(r,n))}function AF(e){let t=e.body||" ",n=Ws.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new vF(t,0,0,FE);return Ws.set(e.id,{text:t,component:r}),r}var Ws,Al,tu,Pv=m(()=>{hl();Ds();Pl();Ws=new Map;Al=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return Us(D.dim,t,av(n,gl))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...Sv(`> ${n}`,t,this.shade(D.user))];if(this.item.kind==="tool")return[X(n,this.shade(D.tool))];if(this.item.kind==="result"){let o=n.startsWith("exit ")&&n!=="exit 0";if(this.item.panel)return["",...this.item.panel(t),...n?[X(` ${kl} ${n}`,o?D.bad:D.mute)]:[]];let s=[];this.item.call&&s.push(X(this.item.call,this.shade(D.tool)));let a=` ${kl} ${n}`;if(s.push(X(a,o?D.bad:this.shade(D.mute))),this.item.expanded===!0&&(this.item.full?.length??0)>0){let I=X(` ${this.item.full.length} line(s) \xB7 ctrl+e to collapse`,D.dim);s.push(X(` ${Tl}`,D.dim));for(let T of this.item.full){let M=T.startsWith("+")?D.tool:T.startsWith("-")?D.bad:D.dim;s.push(X(` ${T}`,M))}return s.push(I),s}let c=this.item.detail??[],h=xl(Date.now()-(this.item.born??0),c.length);for(let I of c.slice(0,h)){let T=I.startsWith("+")?D.tool:I.startsWith("-")?D.bad:D.dim;s.push(X(` ${I}`,this.shade(T)))}return(this.item.full?.length??0)>0&&s.push(X(` ${Tl} ${this.item.full.length} line(s) \xB7 ctrl+e to expand`,D.dim)),s}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?D.bad:D.mute;return["",...Sv(n,t,this.shade(o))]}return["",...AF(this.item).render(Math.max(8,t-2))]}},tu=class{items=[];status="";scrollOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(n=>{if(n.born===void 0)return!1;let r=t-n.born;return mv(r,gl)?!0:(n.detail?.length??0)>xl(r,n.detail?.length??0)})}render(t){if(Ws.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of Ws.keys())o.has(s)||Ws.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new Al(o).render(t));this.status&&n.push(X(this.status,D.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r,s=Math.max(0,Math.min(this.scrollOffset,o));return this.scrollOffset=s,n.slice(o-s,o-s+r)}return this.scrollOffset=0,n}}});function pt(e,t){return`${t}${e}${Rv}`}function OF(e){return e>=85?RF:e>=70?Mv:Ov}function Cv(e,t,n,r){let o=pt(`[${e}]`,Rl),s=pt(`${MF} ${t}`,Fn),a=pt(n,Mv),p=r?` ${pt("git:(",Av)}${pt(r.replace(/^git:\(/,"").replace(/\)$/,""),Rl)}${pt(")",Av)}`:"";return`${o}${pt(" \u2502 ",Fn)}${s}${pt(" \u2502 ",Fn)}${a}${p}`}function Lv(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${pt(NE(n),Fn)}`;return`${pt(r,Rl)} ${pt("\u2502",Fn)} ${e}`}function Fv(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=OF(n),s=`${o}${"\u2588".repeat(r)}${Fn}${"\u2591".repeat(10-r)}${Rv}`,a=pt(`${Math.round(n)}%`,o),p=t?`${pt(" \u2502 ",Fn)}${t}`:"";return`${pt("Context",Fn)} ${s} ${a}${p}`}function jv(e,t,n){let r=n===null?"":pt(` ${n}ms`,Fn);return`${pt("Cubence",Fn)} ${pt(t?`${t} ${e}`:e,Ov)}${r}`}var Rv,Fn,RF,Ov,Mv,Av,Rl,MF,Ol=m(()=>{_s();Rv="\x1B[0m",Fn="\x1B[2m",RF="\x1B[31m",Ov="\x1B[32m",Mv="\x1B[33m",Av="\x1B[35m",Rl="\x1B[36m";MF="\u2726"});import{mkdirSync as CF,readFileSync as Nv}from"node:fs";import{homedir as LF}from"node:os";import{dirname as FF,join as jF}from"node:path";function Dv(e){return e/1e6}function NF(){try{let e=JSON.parse(Nv(jF(LF(),".claude","settings.json"),"utf8")),t=e.env?.ANTHROPIC_AUTH_TOKEN,n=e.env?.ANTHROPIC_BASE_URL;return!t||!n?void 0:{token:t,baseUrl:n.replace(/\/$/,"")}}catch{return}}function qF(){try{let e=JSON.parse(Nv(Ml,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function zs(e){let t=`$${e.balanceDollar.toFixed(2)}`,n=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return jv(t,n,e.latencyMs)}async function qv(){let e=qF();if(e&&Date.now()-e.cachedAt<DF)return zs(e.data);let t=NF();if(!t)return e?zs(e.data):void 0;let n=Date.now();try{let r=await fetch(`${t.baseUrl}/v1/user/subscription-info`,{headers:{authorization:`Bearer ${t.token}`,accept:"application/json"},signal:AbortSignal.timeout(3e3)});if(!r.ok)return e?zs(e.data):void 0;let o=await r.json(),s=o.subscription_window?.five_hour?.limit??0,a={balanceDollar:o.normal_balance?.amount_dollar??0,hasSubscription:s>0,fiveHourUsedDollar:Dv(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:Dv(s),latencyMs:Date.now()-n};return CF(FF(Ml),{recursive:!0}),Ze(Ml,JSON.stringify({data:a,cachedAt:Date.now()})),zs(a)}catch{return e?zs(e.data):void 0}}var Ml,DF,_v=m(()=>{Wn();Ol();zn();Ml=wu,DF=18e4});function Uv(){return{}}function Kv(e,t,n,r=Date.now()){let o={...e};return t==="run"?(n===void 0||n===""?delete o.run:o.run={label:n,since:e.run?.since??r},o):(n===void 0||n===""?delete o[t]:o[t]=n,o)}function _F(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/60);return n>0?`${n}m ${String(t%60).padStart(2,"0")}s`:`${t}s`}function Gv(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${_F(n-e.run.since)}`:e.tally?e.tally:""}var Wv=m(()=>{});import{spawn as UF}from"node:child_process";function KF(e){switch(e){case"darwin":return{command:"open",args:[]};case"win32":return{command:"cmd",args:["/c","start",""]};case"linux":return{command:"xdg-open",args:[]};default:return}}async function zv(e,t=process.platform){let n=KF(t);return n?new Promise(r=>{try{let o=UF(n.command,[...n.args,e],{detached:!0,stdio:"ignore"});o.once("error",()=>r(!1)),o.once("spawn",()=>{o.unref(),r(!0)})}catch{r(!1)}}):!1}var Bv=m(()=>{});import{mkdirSync as GF}from"node:fs";import{join as WF}from"node:path";import{matchesKey as ru}from"@earendil-works/pi-tui";function Vv(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function Jv(e){if(ru(e,"up"))return"up";if(ru(e,"down"))return"down";if(ru(e,"enter"))return"enter";if(ru(e,"escape"))return"escape";if(e==="f")return"filter";if(e==="p")return"pause";if(e==="x")return"stop";if(e==="s")return"save"}function Hv(e,t,n){if(t.length===0)return e;let r=Math.max(0,Math.min(t.length-1,e.selectedPhase+n));return{...e,selectedPhase:r,follow:!1}}function zF(e){let t=Cl.indexOf(e);return Cl[(t+1)%Cl.length]}function Yv(e,t,n){switch(t){case"up":return Hv(e,n,-1);case"down":return Hv(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:zF(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function Xv(e,t){switch(t){case"running":return e.filter(n=>n.status==="running");case"failed":return e.filter(n=>n.status==="failed");case"done":return e.filter(n=>n.status!=="running");default:return[...e]}}function Zv(e){return e==="all"?"":` \xB7 ${e}`}function eS(e,t,n=!0){if(!n)return"Ctrl+F panel keys \xB7 Esc unpin";let r=["\u2191/\u2193 phase",e.expanded?"Enter collapse":"Enter drill in"];return r.push(e.expanded?"Esc back out":"Esc unpin"),r.push(`f filter${e.filter==="all"?"":` (${e.filter})`}`),t?(r.push(e.paused?"p resume":"p pause"),r.push("x stop")):e.paused&&r.push("p resume"),r.push("s save script"),e.paused&&r.unshift("paused"),r.join(" \xB7 ")}function BF(e){let t=e.trim();if(!(!t||t.length>64)&&!(t==="."||t==="..")&&/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(t)&&!t.includes(".."))return t}function tS(e,t){if(!e)return{ok:!1,reason:"this run was started from a file, so it is already saved where you pointed the tool"};let n=BF(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=WF(t,`${n}.js`);try{GF(t,{recursive:!0}),Ze(r,e.code)}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var Cl,Qv,nS=m(()=>{zn();Cl=["all","running","failed","done"];Qv="ctrl+f"});function rS(e){let t=()=>{};return{select:(n,r)=>e.select(n,r),confirm:(n,r)=>e.confirm(n,r),input:n=>e.input(n),notify:(n,r)=>e.notify(n,r),onTerminalInput:()=>t,setStatus:(n,r)=>e.setStatus(n,r),setWorkingMessage:t,setWorkingVisible:t,setWorkingIndicator:t,setHiddenThinkingLabel:t,setWidget:(n,r,o)=>{r!==void 0&&!Array.isArray(r)||e.setWidget?.(n,r,o?.placement)},setFooter:t,setHeader:t,setTitle:t,custom:async()=>{throw new Error("this screen has no custom component host; use the text commands instead")},pasteToEditor:t,setEditorText:t,getEditorText:()=>"",editor:async()=>{},addAutocompleteProvider:t,setEditorComponent:t,getEditorComponent:()=>{},theme:void 0,getAllThemes:()=>[],getTheme:()=>{},setTheme:()=>({success:!1,error:"themes are not available in the workbench"}),getToolsExpanded:()=>!1,setToolsExpanded:t}}var oS=m(()=>{});var yS={};Lt(yS,{Dock:()=>au,Hud:()=>su,PinnedBlock:()=>iu,approvalDetail:()=>xS,orderModelsForDefault:()=>fS,pickerPanel:()=>gS,runWorkbench:()=>yj,workflowPanel:()=>hS,workflowPanelFromRun:()=>Hs,workflowRunOf:()=>mu});import{execFile as HF}from"node:child_process";import{promisify as VF}from"node:util";import{existsSync as JF,mkdirSync as YF,readFileSync as XF}from"node:fs";import{basename as ZF,join as sS,resolve as QF}from"node:path";import{copyToClipboard as ej,SessionManager as tj}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as iS,Container as nj,Editor as rj,matchesKey as Ot,ProcessTerminal as oj,ScrollView as sj,KeybindingsManager as pS,setKeybindings as cS,TUI_KEYBINDINGS as lS,SelectList as ij,TuiAltScreen as aj,truncateToWidth as Bs,VStack as mj,visibleWidth as ou,wrapTextWithAnsi as uj,getNativeClipboard as pj}from"@earendil-works/pi-tui";import{TreeSelectorComponent as cj,initTheme as lj}from"@earendil-works/pi-coding-agent";import{getKeybindings as aS}from"@earendil-works/pi-tui";function dj(e){if(typeof e!="object"||e===null)return;let t=e[dS];return typeof t=="function"?t.call(e):void 0}async function uS(e){try{let{stdout:t}=await jl("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await jl("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function fS(e){let t=n=>{if(gj.test(n))return 100;let r=fj.findIndex(o=>n.toLowerCase().includes(o));return r===-1?50:r};return e.map((n,r)=>({id:n,index:r})).sort((n,r)=>t(n.id)-t(r.id)||n.index-r.index).map(n=>n.id)}function gS(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,p=(Z,ae)=>{let xe=ou(Z)>a?Bs(Z,a,"\u2026"):Z,ke=`${xe}${" ".repeat(Math.max(0,a-ou(xe)))}`;return`\u2502 ${ae?ae(ke):ke} \u2502`},c="\u2500".repeat(s-2),h=[p(` ${t}`),...e.render(a).map(Z=>p(Z))],I=o.flatMap(Z=>Z===""?[""]:uj(Z,a)),T=I.length>0?[p(""),...I.map(Z=>p(Z,ae=>X(ae,D.mute)))]:[];if(!r)return["",`\u250C${c}\u2510`,...h,...T,`\u2514${c}\u2518`];let M=uv(D.line,D.warn,Date.now(),1400),F=X("\u2502",M),O=(Z,ae)=>X(`${Z}${c}${ae}`,M),_=[...h,...T].map(Z=>`${F}${Z.slice(1,-1)}${F}`);return["",O("\u250C","\u2510"),..._,O("\u2514","\u2518")]}function xS(e,t){let n=t.split(`
104
+ `).filter(Boolean),r=n.filter(a=>a.startsWith("Reason:")),o=n.filter(a=>!a.startsWith("Reason:")&&!a.startsWith("Allow tool:"));return[...e.endsWith(" wants to run")?[]:[e],...r,...o.length>0?["",...o]:[]]}function Po(e){let t=e.getContextUsage();if(t?.percent!==null&&t?.percent!==void 0)return Math.min(100,Math.round(t.percent));let n=e.model,o=[...e.state.messages].reverse().find(s=>s.role==="assistant")?.usage?.totalTokens;return!n||typeof o!="number"||!Number.isFinite(o)||n.contextWindow<=0?0:Math.min(100,Math.round(o/n.contextWindow*100))}function Fl(e){let n=[["init","write project notes to AGENTS.md"],["model","choose a model"],["providers","list providers"],["thinking","set thinking level"],["approval","set what needs approval"],["connect","connect a howtofix.id account"],["login","save a provider API key"],["logout","remove a provider"],["new","start a new session"],["resume","resume another session"],["compact","compact the session"],["name","name this session"],["stats","session tokens and cost"],["diff","show the working tree diff"],["commit","stage everything and commit"],["undo","undo the last commit"],["rewind","go back to an earlier message (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([r,o])=>({name:r,description:o}));for(let r of e.promptTemplates)n.push({name:r.name,description:r.description});for(let r of e.extensionRunner.getRegisteredCommands())n.push({name:r.invocationName,description:r.description});return n}function mu(e,t){if(e!=="workflow")return;let n=Gs(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function hS(e,t){let n=mu(e,t);return n?Hs(n):void 0}function Hs(e,t,n=!1){return r=>zE(e,[],r,t?.selectedPhase,t?xj(e,t,n):void 0)}function xj(e,t,n){return{filter:r=>Xv(r,t.filter),footerText:eS(t,e.endedAt===void 0,n),filterLabel:Zv(t.filter),drill:t.expanded}}function hj(){let e=new pS(lS,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});cS(e)}async function yj(e){let t=new oj,n=new aj(t,!0,void 0,{mouse:!0}),r=new tu,o=new su(e.cwd,e.modelLabel),s=d=>{let x=Date.now();(async()=>{try{let b=cn(),y=await hv(b,E.getSessionStats().sessionId,d);y&&x>=_t&&(Ao=y,_t=x)}catch{}})()},a=(d=!1)=>{!d&&!o.live||uS(e.cwd).then(x=>{x!==null&&(o.git=x,U())})},p=new rj(n,mS,{paddingX:1}),c=new Map,h=(d,x)=>{x===void 0?c.delete(d):typeof x=="function"?c.set(d,x):c.set(d,()=>x)},I=()=>Math.max(20,t.columns),T,M=0,F=Vv(),O,_=null,Z=!1,ae,xe=!1,ke,We=()=>{!O||!Z||h("workflow",d=>Hs(O,F,xe)(d))},Nt=()=>{O&&(ae=O.name),Z=!1,xe=!1,h("workflow",void 0)};HE({onStop:d=>{_=d},isPaused:()=>F.paused});let he=d=>{if(ae===d.name)return;T=d;let x=d.endedAt??Date.now();M=Math.max(M,x+Bm),O=d,Z=!0,h("workflow",b=>Hs(d,F,xe)(b))},te=new au(p,o),E=e.session,ze=!1,qt,cn=()=>qt??=gv(e.cwd),Ao,Qt="",_t=0,qe,Mt=()=>{let d=new Set(["session_info","usage","label","context_edit","custom","model_change","thinking_level_change"]),x=[],b=y=>{for(let w of y)d.has(w.entry.type)||x.push(w.entry.id),b(w.children)};return b(E.sessionManager.getTree()),x},Ro=!1,IS=()=>{if(Ro)return;Ro=!0;let d=aS().getResolvedBindings();cS(new pS(lS,{...d,"app.tree.foldOrUp":["alt+left","ctrl+left"],"app.tree.unfoldOrDown":["alt+right","ctrl+right"],"app.tree.editLabel":["shift+l"],"app.tree.toggleLabelTimestamp":["shift+t"],"app.message.copy":["ctrl+x"],"app.tree.filter.default":["alt+0"],"app.tree.filter.noTools":["alt+1"],"app.tree.filter.userOnly":["alt+2"],"app.tree.filter.labeledOnly":["alt+3"],"app.tree.filter.all":["alt+4"],"app.tree.filter.cycleForward":["alt+f"],"app.tree.filter.cycleBackward":["alt+shift+f"]}))},Dl=!1,$S=()=>{Dl||(Dl=!0,lj())},Nl=()=>{let d=E.sessionManager.getTree();if(d.length===0){A("rewind","nothing to rewind to yet");return}cn().disabled&&A("rewind","conversation rewind only \u2014 this directory is not a git repository"),$S(),IS();let x=Math.max(8,Math.floor(t.rows*.6)),b=new cj(d,E.sessionManager.getLeafId(),x*2,y=>{uu(),wS(y)},()=>uu());if(!b.getTreeList().getSelectedNode()){A("rewind","nothing to rewind to yet");return}qe=b,qe.focused=!0,h("rewind",y=>qe?.render(y)??[]),U()},uu=()=>{qe=void 0,h("rewind",void 0),U()},wS=async d=>{let x=cn(),y=E.getUserMessagesForForking().findIndex($=>$.entryId===d),w=y>=0?$l(x,E.getSessionStats().sessionId)[y]:void 0,g=w?(await bv(x,w)).length:0;if(g===0){await ql(d,void 0,"conversation");return}Ct(`Rewind to this point? ${g} file(s) differ`,[{value:"both",label:"conversation and code",description:`drop the messages after this point and restore ${g} file(s)`},{value:"conversation",label:"conversation only",description:"drop the messages after this point, leave the files alone"},{value:"code",label:"code only",description:`restore ${g} file(s), keep the conversation`}],$=>{ql(d,w,$)})},ql=async(d,x,b)=>{let y=[];if((b==="both"||b==="conversation")&&!E.isStreaming)try{let w=await E.navigateTree(d);if(w.cancelled){A("rewind","conversation rewind cancelled");return}y.push("conversation rewound"),r.items=nu(E.state.messages),w.editorText&&(p.setText(w.editorText),y.push("prompt restored to the editor"))}catch(w){ln(`conversation rewind failed: ${w instanceof Error?w.message:String(w)}`);return}if((b==="both"||b==="code")&&x){let w=await yv(cn(),x);if(!w.ok){ln(`code rewind failed: ${w.output}`);return}y.push(w.output),w.removed.length>0&&y.push(`removed ${w.removed.length} file(s)`),a()}A("rewind",y.join(`
105
+ `)||"nothing to do"),U()};a(!0),s("session start"),e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...nu(E.state.messages)),o.percent=Po(E),o.abandonAnimations(),o.thinking=E.thinkingLevel,p.setAutocompleteProvider(new iS(Fl(E),e.cwd)),qv().then(d=>{d&&(o.cubence=d,n.requestRender())});let jn=null,_l="",Ul=!1,Kl=[],Oo,pu=()=>{},U=()=>{pu(),n.requestRender()},fe=(d,x)=>{o.activity=Kv(o.activity,d,x)},Vs=new Map,cu=new Set,kS=()=>[...Vs].map(([d,x])=>`${cu.has(d)?"!":"\u2713"} ${d} \xD7${x}`).join(" | "),TS=()=>{let d=kS();fe("tally",d||void 0)},Ct=(d,x,b,y,w=!1,g=[])=>{let $=new ij(x,8,mS.selectList);$.onSelect=S=>{jn=null,Oo=void 0,b(S.value)},$.onCancel=()=>{jn=null,Oo=void 0,y?.(),U()},Oo=()=>$.onCancel?.(),_l=d,Ul=w,Kl=g,jn=$,U()},A=(d,x)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:d,body:x}),fe("tally",void 0),U()},ln=d=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:d}),fe("tally",void 0),U()};zu((d,x)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Ct(d,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],w=>y(w==="allow"),()=>y(!1),!0,xS(d,x)),b});let lu=new Map,Gl=d=>{let x=rS({select:(b,y)=>{let{promise:w,resolve:g}=Promise.withResolvers();return Ct(b,y.map($=>({value:$,label:$})),g,()=>g(void 0)),w},confirm:(b,y)=>{let{promise:w,resolve:g}=Promise.withResolvers();return Ct(`${b} \u2014 ${y}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],$=>g($==="yes"),()=>g(!1)),w},input:b=>{let{promise:y,resolve:w}=Promise.withResolvers();return fe("prompt",b),U(),pn=g=>{pn=void 0,fe("prompt",void 0),w(g),U()},y},notify:(b,y)=>{y==="error"?ln(b):A("mcp",b)},setStatus:(b,y)=>{y===void 0?lu.delete(b):lu.set(b,y),fe("note",[...lu.values()].join(" | ")||void 0),U()},setWidget:(b,y)=>{h(b,y),U()}});d.bindExtensions({uiContext:x,mode:"print",onError:b=>ln(`${b.event}: ${b.error}`)}).catch(b=>ln(b instanceof Error?b.message:String(b)))};Gl(E);let Nr=new nj,ES={invalidate:()=>r.invalidate(),render:d=>{let x=Nr.render(Math.max(20,d)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-x),r.render(d)},handleMouse:d=>{let x=d.type==="wheel"?d.wheelDelta??0:0;if(x!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-x*3),U(),{handled:!0}}},vS=new sj(ES,{follow:"none",overscroll:"contain"}),Js=new mj([{component:vS,grow:1,shrink:1},{component:Nr,grow:0,shrink:0,basis:"auto"}]),Wl="",SS=()=>`${jn?"picker":"dock"}|${[...c.keys()].join(",")}`;pu=()=>{let d=SS();if(d===Wl)return;Wl=d,Nr.clear();for(let b of c.values())Nr.addChild(new iu(b));let x=jn;if(x){let b=_l,y=Ul,w=Kl;Nr.addChild({render:g=>gS(x,b,g,y,w),invalidate:()=>{}})}else Nr.addChild(te);Js.invalidate()},pu();let zl={focused:!1,invalidate(){r.invalidate(),te.invalidate(),jn?.invalidate(),Js.invalidate()},[dS]:()=>dj(Js),render:d=>Js.render(d),handleInput(d){p.handleInput(d)}};n.setLayoutRoot(zl),n.setFocus(zl);let ht=0,Gn="",du=!1,dr=!1,fu,qr="",Bl=0,Mo=!1,Ys=Date.now(),Xs=!1,Zs=new Map,Hl=d=>{if(d.type==="agent_start"||d.type==="turn_start")d.type==="agent_start"&&ld(),o.live||o.beginRun(),Gn="",dr=!1,Mo=!1,Ys=Date.now(),qr="";else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_delta"){dr=!0,qr===""&&(Bl=Date.now()),qr+=d.assistantMessageEvent.delta;let x=`think-${ht}`,b=r.items.find(w=>w.id===x),y=qr.split(`
106
106
  `).slice(-6).join(`
107
- `);b?b.body=y:r.items.push({id:x,kind:"note",title:"thinking",body:y})}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_end"){let x=`think-${ht}`,b=r.items.find(y=>y.id===x);if(b){let y=Math.max(1,Math.round((Date.now()-Wl)/1e3));b.title="thought",b.body=`${y}s \xB7 ${Dr.length} chars of reasoning`}Dr=""}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="text_delta"){Oo=!0,Kn+=d.assistantMessageEvent.delta;let x=`live-${ht}`,b=r.items.find(y=>y.id===x);b?b.body=Kn:r.items.push({id:x,kind:"assistant",title:"HowToFix",body:Kn})}else if(d.type==="tool_execution_start"){Ys.set(d.toolCallId,d.args);let x=`tool-${d.toolCallId}`,b=vo(d.toolName,d.args),y=r.items.find(w=>w.id===x);if(y?(y.kind="tool",y.title=d.toolName,y.body=b,y.live=!0):r.items.push({id:x,kind:"tool",title:d.toolName,body:b,live:!0}),d.toolName==="task"){let w=Xt.filter(g=>g.status==="queued"||g.status==="running");fe("note",w.map(g=>`${g.agent} ${g.status}`).join(" | ")||"agent running")}}else if(d.type==="tool_execution_update"){let x=gS(d.toolName,d.partialResult);if(x){let b=`tool-${d.toolCallId}`,y=r.items.find(g=>g.id===b);y?y.panel=x:r.items.push({id:b,kind:"tool",title:d.toolName,body:vo(d.toolName,Ys.get(d.toolCallId)),panel:x,live:!0});let w=su(d.toolName,d.partialResult);w&&ae!==w.name&&he(w),U()}}else if(d.type==="tool_execution_end"){o.percent=So(E);let x=r.items.find(q=>q.id===`tool-${d.toolCallId}`);x&&(x.live=!1,x.body=vo(d.toolName,Ys.get(d.toolCallId))),Ys.delete(d.toolCallId),Hs.set(d.toolName,(Hs.get(d.toolName)??0)+1),d.isError&&mu.add(d.toolName),wS();let b=wv(d.toolName,d.result),y=kv(d.toolName,d.result),w=su(d.toolName,d.result),g=w?Bs(w):void 0;w&&ae!==w.name&&he(w);let I=r.items.find(q=>q.id===`tool-${d.toolCallId}`),S=Xm(d.toolName,d.result,d.isError);I?(I.kind="result",I.call=I.body,I.body=S,I.live=!1,b.length>0&&(I.detail=b),y.length>0&&(I.full=y),g&&(I.panel=g)):r.items.push({id:`tool-${d.toolCallId}`,kind:"result",title:d.toolName,body:S,...b.length>0?{detail:b}:{},...y.length>0?{full:y}:{},...g?{panel:g}:{}}),(d.toolName==="bash"||d.toolName==="powershell"||d.toolName==="edit"||d.toolName==="write")&&a()}else if(d.type==="compaction_start"){Oo=!0;let x=d.reason==="manual"?"on request":"context is nearly full",b=r.items.find(g=>g.id===`compact-${ht}`),y="compacting context",w=`${x} \xB7 summarizing the older turns`;b?(b.title=y,b.body=w):r.items.push({id:`compact-${ht}`,kind:"note",title:y,body:w,live:!0}),fe("note","compacting context")}else if(d.type==="compaction_end"){let x=r.items.find(g=>g.id===`compact-${ht}`),b=d.result,y="compacted",w;if(d.aborted)w="cancelled";else if(d.errorMessage)w=`failed: ${d.errorMessage}`;else if(b){let g=Math.round(b.tokensBefore/1e3),I=b.estimatedTokensAfter!==void 0?Math.round(b.estimatedTokensAfter/1e3):void 0,S=b.estimatedTokensAfter!==void 0?b.tokensBefore-b.estimatedTokensAfter:void 0,q=S!==void 0&&S<2e3;w=I!==void 0?`${g}k \u2192 ${I}k tokens \xB7 older turns summarized${q?`
108
- this freed almost nothing \u2014 the window may be too small for this work`:""}`:`${g}k tokens \xB7 older turns summarized`}else w="nothing to compact";x?(x.title=y,x.body=w,x.live=!1):r.items.push({id:`compact-${ht}`,kind:"note",title:y,body:w}),o.percent=So(E),fe("note",void 0)}else if(d.type==="message_end"&&d.message.role==="assistant"){let x=r.items.find(b=>b.id===`live-${ht}`);x&&(x.id=`done-${ht}`),ht+=1,Kn="",o.percent=So(E)}else if(d.type==="agent_settled"){if(o.live=!1,s(Qt),Qt="",fe("run",void 0),pu){let x=r.items.find(b=>b.id===`live-${ht}`);x?(x.id=`stopped-${ht}`,x.title="stopped",x.body=Kn.trim()||"(no output)",x.live=!1):r.items.push({id:`stopped-${ht}`,kind:"note",title:"stopped",body:"run cancelled"}),ht+=1,Kn="",A("stopped","run cancelled by Esc"),pu=!1}o.percent=So(E),aS(e.cwd).then(x=>{x!==null&&(o.git=x,U())}),p.disableSubmit=!1}else d.type==="thinking_level_changed"?o.thinking=d.level:d.type==="auto_retry_start"&&fe("note",`retry ${d.attempt}/${d.maxAttempts}`);U()},du=E.subscribe(zl),Bl=setInterval(()=>{let d=T!==void 0&&Date.now()<M;(Js||E.isStreaming||o.settling()||r.entering()||Fn||d)&&U(),(Js||E.isStreaming)&&!Oo&&!cu&&Date.now()-lu>yj&&(cu=!0,fe("note",`no answer yet after ${Math.round((Date.now()-lu)/1e3)}s \u2014 the provider may be stalled; ctrl+c cancels`),U())},hj);Bl.unref?.();let Hl=async d=>{Ro?.(),Ro=void 0,du(),qt&&yv(qt,E.getSessionStats().sessionId),Po=void 0,_t=0,E.dispose(),E=d.session,ht=0,Kn="",r.items=[],d.note&&r.items.push({id:"note",kind:"note",title:"note",body:d.note}),r.items.push(...Qm(E.state.messages)),o.model=d.modelLabel.split("/").at(-1)||"no-model",o.thinking=E.thinkingLevel,o.percent=So(E),o.abandonAnimations(),fe("tally",void 0),fe("run",void 0),p.setAutocompleteProvider(new oS(Cl(E),e.cwd)),p.disableSubmit=!1,Ul(E),du=E.subscribe(zl),U()},Xs=()=>{ze||(ze=!0,clearInterval(Bl),du(),E.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},fu=d=>{let x=d.trim();if(!x)return;if(pn){let w=pn;pn=void 0,p.setText(""),w(x);return}if(p.setText(""),p.addToHistory(x),x.startsWith("!")){let w=x.slice(1).trim();if(!w)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:w}),fe("run","shell"),U(),E.executeBash(w,g=>{fe("run",`shell \xB7 ${g.length} bytes`),U()}).then(g=>{let I=g.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:g.exitCode===0?"result":"error",title:`exit ${g.exitCode??"?"}`,body:I||"(no output)"}),fe("tally",void 0),U()}).catch(g=>ln(g instanceof Error?g.message:String(g)));return}if(x.startsWith("/")){SS(x);return}r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:x}),fe("tally",void 0),Hs.clear(),mu.clear(),fe("run","thinking"),o.beginRun(),U(),p.disableSubmit=!1;let b=Cu(x,e.cwd);Qt=x,Js=!0;let y=E.isStreaming?E.prompt(b,{streamingBehavior:"steer"}):E.prompt(b);Js=!1,y.catch(w=>ln(w instanceof Error?w.message:String(w)))};p.onSubmit=fu;let gu=0;n.addInputListener(d=>{if(qe){if(Ot(d,"escape"))return iu(),{consume:!0};let b=sS(),y=b.matches(d,"tui.select.up"),w=b.matches(d,"tui.select.down");if(y||w){let I=qe.getTreeList().getSelectedNode()?.entry.id,S=Mt(),q=I===void 0?-1:S.indexOf(I);if(y?q===0:q===S.length-1)return U(),{consume:!0}}return qe.handleInput(d),U(),{consume:!0}}if(Z&&O&&Ot(d,"escape"))return xe?(xe=!1,A("workflow","panel keys off \u2014 the editor has the keyboard")):F.expanded?(F.expanded=!1,A("workflow","collapsed the drill-in")):(Nt(),A("workflow","panel unpinned; the run is still in the transcript")),We(),U(),{consume:!0};if(Fn)return Fn.handleInput(d),U(),{consume:!0};if(Ot(d,"escape")){if(E.isStreaming)return pu=!0,E.abort(),fe("note","stopping"),U(),{consume:!0};let b=Date.now();if(p.getText().length===0&&b-gu<600)return gu=0,jl(),{consume:!0};gu=b;return}if(Ot(d,"ctrl+c"))return E.isStreaming?(E.abort(),fe("note","stopping"),U()):p.getText().length>0?(p.setText(""),fe("note","draft cleared \u2014 ctrl+c again quits"),U()):Xs(),{consume:!0};if(Ot(d,"ctrl+d")&&p.getText().length===0)return Xs(),{consume:!0};let x=Math.max(1,r.viewportHeight-1);if(Ot(d,"pageUp"))return r.scrollOffset+=x,U(),{consume:!0};if(Ot(d,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-x),U(),{consume:!0};if(Ot(d,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,U(),{consume:!0};if(Ot(d,"end"))return r.scrollOffset=0,U(),{consume:!0};if(Ot(d,"ctrl+v")){let b=mj();return b?(b.getText().then(y=>{typeof y!="string"||y.length===0?A("paste","the clipboard is empty"):p.insertTextAtCursor(y),U()}).catch(y=>{A("paste",`could not read the clipboard: ${y instanceof Error?y.message:String(y)}`),U()}),{consume:!0}):(A("paste","no clipboard tool found on this machine"),U(),{consume:!0})}if(Ot(d,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),U(),{consume:!0};if(Ot(d,"ctrl+e")){let b=[...r.items].reverse().find(y=>(y.full?.length??0)>0);return b?(b.expanded=b.expanded!==!0,U(),{consume:!0}):(A("expand","nothing to expand in this transcript yet"),{consume:!0})}if(Ot(d,"ctrl+o")&&!E.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],U(),{consume:!0};if(Ot(d,Xv)&&Z&&O)return xe=!xe,A("workflow",xe?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),We(),U(),{consume:!0};if(xe&&Z&&O){let b=Hv(d);if(b){let y=Eo(O,Date.now());if(b==="stop")return _?(_(),_=null,A("workflow","stopping the run \u2014 in-flight agents resolve as null")):A("workflow","the run has already finished"),{consume:!0};if(b==="save"){let w=Qv(ke,$u);return A("workflow",w.ok?`saved ${w.path}`:w.reason),U(),{consume:!0}}return Object.assign(F,Vv(F,b,y)),We(),U(),{consume:!0}}}});let xu=d=>{let x=b=>{fe("prompt",`API key for ${b}. Paste it, then press enter.`),U();let y=pn;pn=w=>{pn=y;let g=w.trim();if(!g){fe("prompt",void 0),U();return}E.modelRuntime.setRuntimeApiKey(b,g).then(()=>A("login",`saved API key for ${b}`),I=>A("login",I instanceof Error?I.message:String(I)))}};if(d){x(d);return}E.modelRuntime.getAvailable().then(b=>{let y=[...new Set(b.map(w=>w.provider))].sort();if(y.length===0){A("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Ct("Login",y.map(w=>({value:w,label:w})),x)},b=>A("login",b instanceof Error?b.message:String(b)))},vS=async(d,x)=>{let b=rS(Xe,"models.json"),y,w=!1;try{y=JSON.parse(JF(b,"utf8"))}catch(yu){if(!(yu instanceof Error&&"code"in yu&&yu.code==="ENOENT"))return`could not read ${b}; the models were not added`;y={providers:{}},w=!0}(!y.providers||typeof y.providers!="object")&&(y.providers={});let g=y.providers[d];g||(g=Eu(),y.providers[d]=g,w=!0);let I=Array.isArray(g.models)?g.models:[],S=Au(I,x),q=oi(Pu(I,x));g.models=q.models;try{VF(Xe,{recursive:!0}),Ze(b,`${JSON.stringify(y,null,2)}
109
- `)}catch{return`could not write ${b}; the models were not added`}let Le=!1;try{await E.modelRuntime.refresh(),Le=!0}catch{Le=!1}let dn=q.changed>0?`, repaired ${q.changed}`:"",Ut=Le?"":"; restart the CLI to see them all",Zs=w?` (created ${b})`:"";return S===0?`all ${x.length} models were already configured${dn}${Zs}${Ut}`:`added ${S} model(s) to "${d}"${dn}${Zs}${Ut}`},hu=d=>{(async()=>{if(!d){let I=await Gv(ni);A("connect",["connect your howtofix.id account:",` 1. ${I?"the token page is opening in your browser":`open ${ni}`}`," 2. sign in if asked, then create a token (starts with sk-)"," 3. run /connect <token>"," or /connect, and paste the token when asked","","howtofix.id has no OAuth callback for a local client, so the token is","how this CLI signs in. The token is verified before it is stored."].join(`
110
- `)),U();return}if(!Su(d)){A("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}fe("note",`connecting to howtofix.id (${ri(d)})`),U();let x=await Ou(d);if(!x.ok){fe("note",void 0),A("connect",x.message),U();return}await E.modelRuntime.setRuntimeApiKey("howtofix",d);let b=await vS("howtofix",x.models),y=!!E.model&&E.model?.provider!==void 0&&o.model!=="unknown",w,g;if(!y)try{let I=(await E.modelRuntime.getAvailable()).filter(Le=>Co(Le.provider)),q=lS(I.map(Le=>Le.id)).slice(0,4);for(let Le of q){if(!(await Ru(Le,d)).ok)continue;let Ut=I.find(Zs=>Zs.id===Le);if(Ut){await E.setModel(Ut),o.model=Ut.id,w=`${Ut.provider}/${Ut.id}`;break}}w||(g=q.length>0?`none of the first ${q.length} models answered (${q[0]} did not)`:"the account lists no chat model")}catch(I){g=I instanceof Error?I.message:String(I)}fe("note",void 0),A("connect",[`connected ${ri(d)} \u2014 ${x.message}`,b,w?`using ${w} (change it with /model)`:`pick a model with /model, then send a prompt${g?` (auto-select failed: ${g})`:""}`].join(`
111
- `)),U()})().catch(x=>{fe("note",void 0),A("connect",x instanceof Error?x.message:String(x)),U()})},SS=async d=>{let[x,...b]=d.slice(1).split(/\s+/),y=b.join(" ");if(x==="quit"||x==="exit"){Xs();return}if(x==="help"){A("help",Cl(E).map(g=>`/${g.name} ${g.description??""}`).join(`
112
- `));return}if(x==="init"){let g=rS(e.cwd,"AGENTS.md");if(HF(g)&&y!=="force"){A("init",`AGENTS.md already exists at ${g}. run /init force to overwrite.`);return}Ze(g,Yl),A("init",`wrote ${g}; asking the agent to fill it in`),await E.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(x==="login"){xu(y);return}if(x==="connect"){if(y.trim()){hu(y.trim());return}hu(""),fe("prompt","paste your howtofix.id token, then press enter"),U();let g=pn;pn=I=>{pn=g,fe("prompt",void 0),hu(I.trim())};return}if(x==="logout"){let g=await E.modelRuntime.getAvailable(),I=[...new Set(g.map(S=>S.provider))].sort();if(I.length===0){A("logout","no providers are configured");return}Ct("Logout",I.map(S=>({value:S,label:S})),S=>{E.modelRuntime.logout(S).then(()=>A("logout",`logged out ${S}`),q=>A("logout",q instanceof Error?q.message:String(q)))});return}if(x==="providers"){let g=await E.modelRuntime.getAvailable(),I=[...new Set(g.map(S=>S.provider))].sort();I.sort((S,q)=>Number(Co(q))-Number(Co(S))),Ct("Providers",I.map(S=>({value:S,label:S})),S=>{let q=E.modelRuntime.getModels(S);if(q.length===0){xu(S);return}Ct(S,q.map(Le=>({value:Le.id,label:Le.id})),Le=>{let dn=q.find(Ut=>Ut.id===Le);dn&&E.setModel(dn).then(()=>{o.model=dn.id,A("providers",`${S}/${dn.id}`)},()=>xu(S))})});return}if(x==="name"){if(!y){A("name","usage: /name <session name>");return}E.setSessionName(y),A("name",`session name: ${y}`);return}if(x==="stats"){let g=E.getSessionStats(),I=E.getContextUsage(),S=q=>Number.isFinite(q)?String(q):"\u2014";A("stats",[`session ${g.sessionId}`,g.sessionFile?`file ${g.sessionFile}`:"not persisted",`messages ${S(g.totalMessages)} (user ${S(g.userMessages)}, assistant ${S(g.assistantMessages)}, tools ${S(g.toolCalls)})`,`tokens in ${S(g.tokens.input)} out ${S(g.tokens.output)} cache ${S(g.tokens.cacheRead)}/${S(g.tokens.cacheWrite)}`,`cost $${Number.isFinite(g.cost)?g.cost.toFixed(4):"\u2014"}`,I?`context ${I.percent===null||!Number.isFinite(I.percent)?"?":`${Math.round(I.percent)}%`} of ${I.contextWindow}`:"context unknown"].join(`
113
- `));return}if(x==="diff"){let g=async dn=>{try{let{stdout:Ut}=await Ll("git",dn,{cwd:e.cwd,encoding:"utf8"});return Ut.trim()}catch{return""}},I=await g(["diff","--stat"])+`
114
-
115
- `+await g(["diff","--","."]),[S="",q=""]=I.split(`
116
-
117
- `,2),Le=$E(q);A("diff",[S.trim(),Le].filter(Boolean).join(`
118
-
119
- `)||"working tree clean");return}if(x==="copy"){let g=[...E.state.messages].reverse().find(q=>q.role==="assistant"),S=(Array.isArray(g?.content)?g.content:[]).filter(q=>q.type==="text").map(q=>q.text).join("");if(!S){A("copy","nothing to copy");return}try{await ZF(S),A("copy",`copied ${S.length} characters`)}catch(q){A("copy",q instanceof Error?q.message:String(q))}return}if(x==="export"){let g=r.items.filter(q=>q.body.trim().length>0);if(g.length===0){A("export","nothing to export yet \u2014 the transcript is empty");return}let I=XF(e.cwd,y||`howtofix-session-${Date.now()}.md`),S=[`# ${yt} session`,"",`model ${o.model}`,""];for(let q of g)S.push(`## ${q.title||q.kind}`,"",q.body,"");try{Ze(I,S.join(`
120
- `))}catch(q){A("export",`could not write ${I}: ${q instanceof Error?q.message:String(q)}`);return}A("export",`wrote ${I}`);return}if(x==="agents"){let[g="",...I]=y.split(/\s+/).filter(Boolean),S=I.join(" ").trim();if(g&&S){A("agents",await fE(g,S));return}A("agents",g?tl(g):el());return}if(x==="new"){let g=await e.reopen({noSession:!1});await Hl(g),A("new","started a new session");return}if(x==="resume"){let g=await QF.list(e.cwd);if(g.length===0){A("resume","no saved sessions for this folder");return}Ct("Resume session",g.slice(0,30).map(I=>({value:I.path,label:I.name||`${I.id.slice(0,8)} ${I.firstMessage.slice(0,40)}`,description:`${I.modified.toISOString().slice(0,16)} ${I.messageCount} messages`})),I=>{e.reopen({sessionPath:I}).then(Hl,S=>ln(S instanceof Error?S.message:String(S)))});return}if(x==="model"){let g=await E.modelRuntime.getAvailable(),I=y?g.find(S=>`${S.provider}/${S.id}`===y||S.id===y):void 0;if(!y){Ct("Select model",g.map(S=>({value:`${S.provider}/${S.id}`,label:S.id,description:S.provider})),S=>{let q=g.find(Le=>`${Le.provider}/${Le.id}`===S);q&&E.setModel(q).then(()=>{o.model=q.id,A("model",`model ${S}`)})});return}if(!I){A("model",`unknown model ${y}`);return}await E.setModel(I),o.model=I.id,A("model",`model ${I.provider}/${I.id}`);return}if(x==="thinking"){if(!y){Ct("Thinking level",Ml.map(g=>({value:g,label:g})),g=>{E.setThinkingLevel(g),o.thinking=g,A("thinking",`thinking ${g}`)});return}if(!Ml.includes(y)){A("thinking",`thinking: ${Ml.join(", ")}`);return}E.setThinkingLevel(y),o.thinking=y,A("thinking",`thinking ${y}`);return}if(x==="compact"){try{await E.compact(y||void 0),A("compact","session compacted")}catch(g){A("compact",g instanceof Error?g.message:String(g))}return}if(x==="approval"){let g=I=>{Ku(I),A("approval",ui[I])};if(!y){Ct("Approval mode",_r.map(I=>({value:I,label:I,description:ui[I]})),I=>g(I));return}if(!_r.includes(y)){A("approval",`modes: ${_r.join(", ")}`);return}g(y);return}if(x==="tools"){let g=E.getActiveToolNames().sort();A("tools",g.length?g.join(`
121
- `):"no tools enabled");return}if(x==="rewind"){jl();return}if(x==="undo"){if(!await Km(e.cwd)){A("undo","not a git repository");return}let g=await bE(e.cwd);A("undo",g.ok?`undone: ${g.output}`:`undo failed: ${g.output}`),a(!0);return}if(x==="commit"){if(!Km(e.cwd)){A("commit","not a git repository");return}if(!await hE(e.cwd)){A("commit","nothing to commit");return}let g=y||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,I=await yE(e.cwd,g);A("commit",I.ok?I.output:`commit failed: ${I.output}`),a(!0);return}if(x==="review"){if(!(await IE(e.cwd)).trim()){A("review","no changes to review");return}fu("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(x==="workflow"){if(y.trim()==="clear"){Nt(),A("workflow","cleared the pinned workflow panel");return}if(!O){A("workflow","no workflow run in this session yet");return}let g=Eo(O,Date.now()),I=g[F.selectedPhase];A("workflow",[`panel ${Z?"pinned above the editor":"unpinned"}`,`phase ${F.selectedPhase+1}/${g.length}: ${I?.title??"(none)"}`,`filter: ${F.filter}${F.paused?" \xB7 paused":""}`,"keys: \u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc unpin \xB7 f filter \xB7 p pause \xB7 x stop \xB7 s save","clear it with /workflow clear"].join(`
122
- `));return}if(x==="plan"){if(ZT()||jm().state==="pending"){ko(YT(jm())),A("plan","plan mode off \u2014 edits are allowed again");return}ko(JT(jm())),A("plan",`plan mode armed \u2014 send your next prompt to start planning
123
- plan file: ${XT()??"(unknown)"}`);return}if(x==="goal"){let g=y.trim();if(!g){A("goal",Rm(Om()));return}let{goal:I,error:S}=Wc(Om(),"set",g,void 0,void 0);if(S){ln(S);return}an(I),await E.sendCustomMessage({customType:mr,content:g,display:!1,details:I}),A("goal",`goal set
124
- ${Rm(I)}`);return}if(x==="session"){let g=E.model;A("session",g?`${g.provider}/${g.id}`:"no model");return}let w=E.extensionRunner.getCommand(x??"");if(w){try{await w.handler(y,E.extensionRunner.createCommandContext())}catch(g){ln(g instanceof Error?g.message:String(g))}return}A("command",`/${x??""} is not available in this screen yet`)};vd((d,x)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Ct(d,x.map(w=>({value:w,label:w})),y,()=>y("cancelled")),b}),process.on("SIGTERM",Xs),t.setTitle(`${yt} ${Nr}`),gj(),n.start(),n.requestRender(!0),e.initialPrompt&&fu(e.initialPrompt),await new Promise(()=>{})}var iS,Ml,cS,Ll,nu,ru,ou,lj,dj,pn,hj,yj,hS=m(()=>{Mo();gl();bv();Lu();vv();js();Nv();Al();Fs();zu();vl();Kv();qs();pl();Mu();Wv();Gn();eS();nl();jo();Fu();Cm();Vc();nS();Wn();iS={borderColor:()=>"",selectList:{selectedPrefix:e=>X(e,D.accent),selectedText:e=>X(e,D.text,{bold:!0}),description:e=>X(e,D.mute),scrollInfo:e=>X(e,D.dim),noMatch:e=>X(e,D.mute)}},Ml=["off","minimal","low","medium","high","xhigh","max"],cS=Symbol.for("@earendil-works/pi-tui/layout-node");Ll=BF(zF);nu=class{folder;model;git;percent=0;meter=new Hm(0);activity=qv();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=YF(t),this.model=n.split("/").at(-1)||"no-model",this.git=""}invalidate(){}settling(){return this.meter.moving}meterValue(){return this.meter.value!==this.percent&&this.meter.set(this.percent),this.meter.step()}beginRun(){this.live=!0,this.activitySince=Date.now()}waitedMs(){return Date.now()-this.activitySince}abandonAnimations(){this.meter.snap(this.percent)}render(t){let n=Date.now(),r=this.percent===0&&this.meter.value===0?0:this.meterValue(),o=Ov(this.model,this.thinking,this.folder,this.git),s=[zs(`${Mv(o,this.live?kl():"",this.live?this.waitedMs():void 0)} ${Cv(r,this.cubence)}`,t)],a=tE();a&&s.push(zs(X(a,D.warn),t));let p=qT(Om());p&&s.push(zs(X(p,D.accent),t));let c=Uv(this.activity,kl(),n),h=this.live?mv(c,{base:ll(this.waitedMs(),D.mute,D.warn,D.bad),bright:D.text,charMs:45},n):X(c,ll(this.waitedMs(),D.mute,D.warn,D.bad));return s.push(zs(h,t)),s}},ru=class{constructor(t){this.draw=t}draw;render(t){return this.draw(t)}invalidate(){}},ou=class{constructor(t,n){this.editor=t;this.hud=n}editor;hud;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(p=>tu(p)>0),o=r.length>0?r:[""],s="\u2500".repeat(Math.max(0,t-2)),a=o.map(p=>{let c=Math.max(0,n-tu(p));return`\u2502 ${p}${" ".repeat(c)} \u2502`});return[`\u250C${s}\u2510`,...a,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},lj=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],dj=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;hj=1e3/30,yj=45e3});Mo();var Xl={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Zl={suggest:!0,"auto-edit":!0,"full-auto":!0};function Qs(e,t,n){let r=e[t];if(r?.includes("="))return r.slice(r.indexOf("=")+1);let o=e[t+1];if(!o||o.startsWith("-"))throw new Error(`${n} needs a value`);return e.splice(t+1,1),o}function Ql(e){let t={print:!1,continueSession:!1,noSession:!1,help:!1,version:!1,prompt:""},n=[],r=[...e];for(let o=0;o<r.length;o++){let s=r[o]??"";if(s==="--"){n.push(...r.slice(o+1));break}if(s==="-h"||s==="--help")t.help=!0;else if(s==="-v"||s==="--version")t.version=!0;else if(s==="-p"||s==="--print")t.print=!0;else if(s==="-c"||s==="--continue")t.continueSession=!0;else if(s==="--no-session")t.noSession=!0;else if(s==="-r"||s==="--resume")t.continueSession=!0;else if(s==="--session"||s.startsWith("--session="))t.sessionPath=Qs(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=Qs(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=Qs(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=Qs(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!Xl[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(Xl).join(", ")}`);if(t.approval&&!Zl[t.approval])throw new Error(`approval must be one of: ${Object.keys(Zl).join(", ")}`);if(t.continueSession&&t.noSession)throw new Error("--continue and --no-session cannot be combined");if(t.sessionPath&&t.noSession)throw new Error("--session and --no-session cannot be combined");if(t.sessionPath&&t.continueSession)throw new Error("--session and --continue cannot be combined");if(t.print&&(t.continueSession||t.sessionPath))throw new Error("--print runs one prompt in a throwaway session; it cannot be combined with --continue or --session");if(t.sessionPath&&!t.sessionPath.endsWith(".jsonl"))throw new Error(`--session expects a session file, got '${t.sessionPath}'`);return t.prompt=n.join(" ").trim(),t}function bu(){return`${yt} ${Nr}
107
+ `);b?b.body=y:r.items.push({id:x,kind:"note",title:"thinking",body:y})}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_end"){let x=`think-${ht}`,b=r.items.find(y=>y.id===x);if(b){let y=Math.max(1,Math.round((Date.now()-Bl)/1e3));b.title="thought",b.body=`${y}s \xB7 ${qr.length} chars of reasoning`}qr=""}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="text_delta"){dr=!0,Gn+=d.assistantMessageEvent.delta;let x=`live-${ht}`,b=r.items.find(y=>y.id===x);b?b.body=Gn:r.items.push({id:x,kind:"assistant",title:"HowToFix",body:Gn})}else if(d.type==="tool_execution_start"){Zs.set(d.toolCallId,d.args),dr=!1,Mo=!1,Ys=Date.now();let x=`tool-${d.toolCallId}`,b=So(d.toolName,d.args),y=r.items.find(w=>w.id===x);if(y?(y.kind="tool",y.title=d.toolName,y.body=b,y.live=!0):r.items.push({id:x,kind:"tool",title:d.toolName,body:b,live:!0}),fu=d.toolName,d.toolName==="task"){let w=Xt.filter(g=>g.status==="queued"||g.status==="running");fe("note",w.map(g=>`${g.agent} ${g.status}`).join(" | ")||"agent running")}}else if(d.type==="tool_execution_update"){let x=hS(d.toolName,d.partialResult);if(x){let b=`tool-${d.toolCallId}`,y=r.items.find(g=>g.id===b);y?y.panel=x:r.items.push({id:b,kind:"tool",title:d.toolName,body:So(d.toolName,Zs.get(d.toolCallId)),panel:x,live:!0});let w=mu(d.toolName,d.partialResult);w&&ae!==w.name&&he(w),U()}}else if(d.type==="tool_execution_end"){o.percent=Po(E);let x=r.items.find(q=>q.id===`tool-${d.toolCallId}`);x&&(x.live=!1,x.body=So(d.toolName,Zs.get(d.toolCallId))),Zs.delete(d.toolCallId),fu=void 0,dr=!0,Mo=!1,Vs.set(d.toolName,(Vs.get(d.toolName)??0)+1),d.isError&&cu.add(d.toolName),TS();let b=Tv(d.toolName,d.result),y=Ev(d.toolName,d.result),w=mu(d.toolName,d.result),g=w?Hs(w):void 0;w&&ae!==w.name&&he(w);let $=r.items.find(q=>q.id===`tool-${d.toolCallId}`),S=eu(d.toolName,d.result,d.isError);$?($.kind="result",$.call=$.body,$.body=S,$.live=!1,b.length>0&&($.detail=b),y.length>0&&($.full=y),g&&($.panel=g)):r.items.push({id:`tool-${d.toolCallId}`,kind:"result",title:d.toolName,body:S,...b.length>0?{detail:b}:{},...y.length>0?{full:y}:{},...g?{panel:g}:{}}),(d.toolName==="bash"||d.toolName==="powershell"||d.toolName==="edit"||d.toolName==="write")&&a()}else if(d.type==="compaction_start"){dr=!0;let x=d.reason==="manual"?"on request":"context is nearly full",b=r.items.find(g=>g.id===`compact-${ht}`),y="compacting context",w=`${x} \xB7 summarizing the older turns`;b?(b.title=y,b.body=w):r.items.push({id:`compact-${ht}`,kind:"note",title:y,body:w,live:!0}),fe("note","compacting context")}else if(d.type==="compaction_end"){let x=r.items.find(g=>g.id===`compact-${ht}`),b=d.result,y="compacted",w;if(d.aborted)w="cancelled";else if(d.errorMessage)w=`failed: ${d.errorMessage}`;else if(b){let g=Math.round(b.tokensBefore/1e3),$=b.estimatedTokensAfter!==void 0?Math.round(b.estimatedTokensAfter/1e3):void 0,S=b.estimatedTokensAfter!==void 0?b.tokensBefore-b.estimatedTokensAfter:void 0,q=S!==void 0&&S<2e3;w=$!==void 0?`${g}k \u2192 ${$}k tokens \xB7 older turns summarized${q?`
108
+ this freed almost nothing \u2014 the window may be too small for this work`:""}`:`${g}k tokens \xB7 older turns summarized`}else w="nothing to compact";x?(x.title=y,x.body=w,x.live=!1):r.items.push({id:`compact-${ht}`,kind:"note",title:y,body:w}),o.percent=Po(E),fe("note",void 0)}else if(d.type==="message_end"&&d.message.role==="assistant"){let x=r.items.find(b=>b.id===`live-${ht}`);x&&(x.id=`done-${ht}`),ht+=1,Gn="",o.percent=Po(E)}else if(d.type==="agent_settled"){if(o.live=!1,s(Qt),Qt="",fe("run",void 0),du){let x=r.items.find(b=>b.id===`live-${ht}`);x?(x.id=`stopped-${ht}`,x.title="stopped",x.body=Gn.trim()||"(no output)",x.live=!1):r.items.push({id:`stopped-${ht}`,kind:"note",title:"stopped",body:"run cancelled"}),ht+=1,Gn="",A("stopped","run cancelled by Esc"),du=!1}o.percent=Po(E),uS(e.cwd).then(x=>{x!==null&&(o.git=x,U())}),p.disableSubmit=!1}else d.type==="thinking_level_changed"?o.thinking=d.level:d.type==="auto_retry_start"&&fe("note",`retry ${d.attempt}/${d.maxAttempts}`);U()},gu=E.subscribe(Hl),Vl=setInterval(()=>{let d=T!==void 0&&Date.now()<M;if((Xs||E.isStreaming||o.settling()||r.entering()||jn||d)&&U(),(Xs||E.isStreaming)&&!dr&&!Mo&&Date.now()-Ys>Ij){Mo=!0;let x=fu,b=Math.round((Date.now()-Ys)/1e3);fe("note",x?`${x} has been running for ${b}s \u2014 it may be blocked; esc cancels`:`no answer yet after ${b}s \u2014 the provider may be stalled; ctrl+c cancels`),U()}},bj);Vl.unref?.();let Jl=async d=>{Oo?.(),Oo=void 0,gu(),qt&&Iv(qt,E.getSessionStats().sessionId),Ao=void 0,_t=0,E.dispose(),E=d.session,ht=0,Gn="",r.items=[],d.note&&r.items.push({id:"note",kind:"note",title:"note",body:d.note}),r.items.push(...nu(E.state.messages)),o.model=d.modelLabel.split("/").at(-1)||"no-model",o.thinking=E.thinkingLevel,o.percent=Po(E),o.abandonAnimations(),fe("tally",void 0),fe("run",void 0),p.setAutocompleteProvider(new iS(Fl(E),e.cwd)),p.disableSubmit=!1,Gl(E),gu=E.subscribe(Hl),U()},Qs=()=>{ze||(ze=!0,clearInterval(Vl),gu(),E.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},xu=d=>{let x=d.trim();if(!x)return;if(pn){let w=pn;pn=void 0,p.setText(""),w(x);return}if(p.setText(""),p.addToHistory(x),x.startsWith("!")){let w=x.slice(1).trim();if(!w)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:w}),fe("run","shell"),U(),E.executeBash(w,g=>{fe("run",`shell \xB7 ${g.length} bytes`),U()}).then(g=>{let $=g.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:g.exitCode===0?"result":"error",title:`exit ${g.exitCode??"?"}`,body:$||"(no output)"}),fe("tally",void 0),U()}).catch(g=>ln(g instanceof Error?g.message:String(g)));return}if(x.startsWith("/")){AS(x);return}r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:x}),fe("tally",void 0),Vs.clear(),cu.clear(),fe("run","thinking"),o.beginRun(),U(),p.disableSubmit=!1;let b=Fu(x,e.cwd);Qt=x,Xs=!0;let y=E.isStreaming?E.prompt(b,{streamingBehavior:"steer"}):E.prompt(b);Xs=!1,y.catch(w=>ln(w instanceof Error?w.message:String(w)))};p.onSubmit=xu;let hu=0;n.addInputListener(d=>{if(qe){if(Ot(d,"escape"))return uu(),{consume:!0};let b=aS(),y=b.matches(d,"tui.select.up"),w=b.matches(d,"tui.select.down");if(y||w){let $=qe.getTreeList().getSelectedNode()?.entry.id,S=Mt(),q=$===void 0?-1:S.indexOf($);if(y?q===0:q===S.length-1)return U(),{consume:!0}}return qe.handleInput(d),U(),{consume:!0}}if(Z&&O&&Ot(d,"escape"))return xe?(xe=!1,A("workflow","panel keys off \u2014 the editor has the keyboard")):F.expanded?(F.expanded=!1,A("workflow","collapsed the drill-in")):(Nt(),A("workflow","panel unpinned; the run is still in the transcript")),We(),U(),{consume:!0};if(jn)return jn.handleInput(d),U(),{consume:!0};if(Ot(d,"escape")){if(E.isStreaming)return du=!0,E.abort(),fe("note","stopping"),U(),{consume:!0};let b=Date.now();if(p.getText().length===0&&b-hu<600)return hu=0,Nl(),{consume:!0};hu=b;return}if(Ot(d,"ctrl+c"))return E.isStreaming?(E.abort(),fe("note","stopping"),U()):p.getText().length>0?(p.setText(""),fe("note","draft cleared \u2014 ctrl+c again quits"),U()):Qs(),{consume:!0};if(Ot(d,"ctrl+d")&&p.getText().length===0)return Qs(),{consume:!0};let x=Math.max(1,r.viewportHeight-1);if(Ot(d,"pageUp"))return r.scrollOffset+=x,U(),{consume:!0};if(Ot(d,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-x),U(),{consume:!0};if(Ot(d,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,U(),{consume:!0};if(Ot(d,"end"))return r.scrollOffset=0,U(),{consume:!0};if(Ot(d,"ctrl+v")){let b=pj();return b?(b.getText().then(y=>{typeof y!="string"||y.length===0?A("paste","the clipboard is empty"):p.insertTextAtCursor(y),U()}).catch(y=>{A("paste",`could not read the clipboard: ${y instanceof Error?y.message:String(y)}`),U()}),{consume:!0}):(A("paste","no clipboard tool found on this machine"),U(),{consume:!0})}if(Ot(d,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),U(),{consume:!0};if(Ot(d,"ctrl+e")){let b=[...r.items].reverse().find(y=>(y.full?.length??0)>0);return b?(b.expanded=b.expanded!==!0,U(),{consume:!0}):(A("expand","nothing to expand in this transcript yet"),{consume:!0})}if(Ot(d,"ctrl+o")&&!E.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],U(),{consume:!0};if(Ot(d,Qv)&&Z&&O)return xe=!xe,A("workflow",xe?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),We(),U(),{consume:!0};if(xe&&Z&&O){let b=Jv(d);if(b){let y=vo(O,Date.now());if(b==="stop")return _?(_(),_=null,A("workflow","stopping the run \u2014 in-flight agents resolve as null")):A("workflow","the run has already finished"),{consume:!0};if(b==="save"){let w=tS(ke,ku);return A("workflow",w.ok?`saved ${w.path}`:w.reason),U(),{consume:!0}}return Object.assign(F,Yv(F,b,y)),We(),U(),{consume:!0}}}});let yu=d=>{let x=b=>{fe("prompt",`API key for ${b}. Paste it, then press enter.`),U();let y=pn;pn=w=>{pn=y;let g=w.trim();if(!g){fe("prompt",void 0),U();return}E.modelRuntime.setRuntimeApiKey(b,g).then(()=>A("login",`saved API key for ${b}`),$=>A("login",$ instanceof Error?$.message:String($)))}};if(d){x(d);return}E.modelRuntime.getAvailable().then(b=>{let y=[...new Set(b.map(w=>w.provider))].sort();if(y.length===0){A("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Ct("Login",y.map(w=>({value:w,label:w})),x)},b=>A("login",b instanceof Error?b.message:String(b)))},PS=async(d,x)=>{let b=sS(Xe,"models.json"),y,w=!1;try{y=JSON.parse(XF(b,"utf8"))}catch(Iu){if(!(Iu instanceof Error&&"code"in Iu&&Iu.code==="ENOENT"))return`could not read ${b}; the models were not added`;y={providers:{}},w=!0}(!y.providers||typeof y.providers!="object")&&(y.providers={});let g=y.providers[d];g||(g=Su(),y.providers[d]=g,w=!0);let $=Array.isArray(g.models)?g.models:[],S=Ou($,x),q=ii(Ru($,x));g.models=q.models;try{YF(Xe,{recursive:!0}),Ze(b,`${JSON.stringify(y,null,2)}
109
+ `)}catch{return`could not write ${b}; the models were not added`}let Le=!1;try{await E.modelRuntime.refresh(),Le=!0}catch{Le=!1}let dn=q.changed>0?`, repaired ${q.changed}`:"",Ut=Le?"":"; restart the CLI to see them all",ei=w?` (created ${b})`:"";return S===0?`all ${x.length} models were already configured${dn}${ei}${Ut}`:`added ${S} model(s) to "${d}"${dn}${ei}${Ut}`},bu=d=>{(async()=>{if(!d){let $=await zv(oi);A("connect",["connect your howtofix.id account:",` 1. ${$?"the token page is opening in your browser":`open ${oi}`}`," 2. sign in if asked, then create a token (starts with sk-)"," 3. run /connect <token>"," or /connect, and paste the token when asked","","howtofix.id has no OAuth callback for a local client, so the token is","how this CLI signs in. The token is verified before it is stored."].join(`
110
+ `)),U();return}if(!Au(d)){A("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}fe("note",`connecting to howtofix.id (${si(d)})`),U();let x=await Cu(d);if(!x.ok){fe("note",void 0),A("connect",x.message),U();return}await E.modelRuntime.setRuntimeApiKey("howtofix",d);let b=await PS("howtofix",x.models),y=!!E.model&&E.model?.provider!==void 0&&o.model!=="unknown",w,g;if(!y)try{let $=(await E.modelRuntime.getAvailable()).filter(Le=>Lo(Le.provider)),q=fS($.map(Le=>Le.id)).slice(0,4);for(let Le of q){if(!(await Mu(Le,d)).ok)continue;let Ut=$.find(ei=>ei.id===Le);if(Ut){await E.setModel(Ut),o.model=Ut.id,w=`${Ut.provider}/${Ut.id}`;break}}w||(g=q.length>0?`none of the first ${q.length} models answered (${q[0]} did not)`:"the account lists no chat model")}catch($){g=$ instanceof Error?$.message:String($)}fe("note",void 0),A("connect",[`connected ${si(d)} \u2014 ${x.message}`,b,w?`using ${w} (change it with /model)`:`pick a model with /model, then send a prompt${g?` (auto-select failed: ${g})`:""}`].join(`
111
+ `)),U()})().catch(x=>{fe("note",void 0),A("connect",x instanceof Error?x.message:String(x)),U()})},AS=async d=>{let[x,...b]=d.slice(1).split(/\s+/),y=b.join(" ");if(x==="quit"||x==="exit"){Qs();return}if(x==="help"){A("help",Fl(E).map(g=>`/${g.name} ${g.description??""}`).join(`
112
+ `));return}if(x==="init"){let g=sS(e.cwd,"AGENTS.md");if(JF(g)&&y!=="force"){A("init",`AGENTS.md already exists at ${g}. run /init force to overwrite.`);return}Ze(g,Zl),A("init",`wrote ${g}; asking the agent to fill it in`),await E.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(x==="login"){yu(y);return}if(x==="connect"){if(y.trim()){bu(y.trim());return}bu(""),fe("prompt","paste your howtofix.id token, then press enter"),U();let g=pn;pn=$=>{pn=g,fe("prompt",void 0),bu($.trim())};return}if(x==="logout"){let g=await E.modelRuntime.getAvailable(),$=[...new Set(g.map(S=>S.provider))].sort();if($.length===0){A("logout","no providers are configured");return}Ct("Logout",$.map(S=>({value:S,label:S})),S=>{E.modelRuntime.logout(S).then(()=>A("logout",`logged out ${S}`),q=>A("logout",q instanceof Error?q.message:String(q)))});return}if(x==="providers"){let g=await E.modelRuntime.getAvailable(),$=[...new Set(g.map(S=>S.provider))].sort();$.sort((S,q)=>Number(Lo(q))-Number(Lo(S))),Ct("Providers",$.map(S=>({value:S,label:S})),S=>{let q=E.modelRuntime.getModels(S);if(q.length===0){yu(S);return}Ct(S,q.map(Le=>({value:Le.id,label:Le.id})),Le=>{let dn=q.find(Ut=>Ut.id===Le);dn&&E.setModel(dn).then(()=>{o.model=dn.id,A("providers",`${S}/${dn.id}`)},()=>yu(S))})});return}if(x==="name"){if(!y){A("name","usage: /name <session name>");return}E.setSessionName(y),A("name",`session name: ${y}`);return}if(x==="stats"){let g=E.getSessionStats(),$=E.getContextUsage(),S=q=>Number.isFinite(q)?String(q):"\u2014";A("stats",[`session ${g.sessionId}`,g.sessionFile?`file ${g.sessionFile}`:"not persisted",`messages ${S(g.totalMessages)} (user ${S(g.userMessages)}, assistant ${S(g.assistantMessages)}, tools ${S(g.toolCalls)})`,`tokens in ${S(g.tokens.input)} out ${S(g.tokens.output)} cache ${S(g.tokens.cacheRead)}/${S(g.tokens.cacheWrite)}`,`cost $${Number.isFinite(g.cost)?g.cost.toFixed(4):"\u2014"}`,$?`context ${$.percent===null||!Number.isFinite($.percent)?"?":`${Math.round($.percent)}%`} of ${$.contextWindow}`:"context unknown"].join(`
113
+ `));return}if(x==="diff"){let g=async dn=>{try{let{stdout:Ut}=await jl("git",dn,{cwd:e.cwd,encoding:"utf8"});return Ut.trim()}catch{return""}},$=await g(["diff","--stat"])+`
114
+
115
+ `+await g(["diff","--","."]),[S="",q=""]=$.split(`
116
+
117
+ `,2),Le=kE(q);A("diff",[S.trim(),Le].filter(Boolean).join(`
118
+
119
+ `)||"working tree clean");return}if(x==="copy"){let g=[...E.state.messages].reverse().find(q=>q.role==="assistant"),S=(Array.isArray(g?.content)?g.content:[]).filter(q=>q.type==="text").map(q=>q.text).join("");if(!S){A("copy","nothing to copy");return}try{await ej(S),A("copy",`copied ${S.length} characters`)}catch(q){A("copy",q instanceof Error?q.message:String(q))}return}if(x==="export"){let g=r.items.filter(q=>q.body.trim().length>0);if(g.length===0){A("export","nothing to export yet \u2014 the transcript is empty");return}let $=QF(e.cwd,y||`howtofix-session-${Date.now()}.md`),S=[`# ${yt} session`,"",`model ${o.model}`,""];for(let q of g)S.push(`## ${q.title||q.kind}`,"",q.body,"");try{Ze($,S.join(`
120
+ `))}catch(q){A("export",`could not write ${$}: ${q instanceof Error?q.message:String(q)}`);return}A("export",`wrote ${$}`);return}if(x==="agents"){let[g="",...$]=y.split(/\s+/).filter(Boolean),S=$.join(" ").trim();if(g&&S){A("agents",await xE(g,S));return}A("agents",g?rl(g):nl());return}if(x==="new"){let g=await e.reopen({noSession:!1});await Jl(g),A("new","started a new session");return}if(x==="resume"){let g=await tj.list(e.cwd);if(g.length===0){A("resume","no saved sessions for this folder");return}Ct("Resume session",g.slice(0,30).map($=>({value:$.path,label:$.name||`${$.id.slice(0,8)} ${$.firstMessage.slice(0,40)}`,description:`${$.modified.toISOString().slice(0,16)} ${$.messageCount} messages`})),$=>{e.reopen({sessionPath:$}).then(Jl,S=>ln(S instanceof Error?S.message:String(S)))});return}if(x==="model"){let g=await E.modelRuntime.getAvailable(),$=y?g.find(S=>`${S.provider}/${S.id}`===y||S.id===y):void 0;if(!y){Ct("Select model",g.map(S=>({value:`${S.provider}/${S.id}`,label:S.id,description:S.provider})),S=>{let q=g.find(Le=>`${Le.provider}/${Le.id}`===S);q&&E.setModel(q).then(()=>{o.model=q.id,A("model",`model ${S}`)})});return}if(!$){A("model",`unknown model ${y}`);return}await E.setModel($),o.model=$.id,A("model",`model ${$.provider}/${$.id}`);return}if(x==="thinking"){if(!y){Ct("Thinking level",Ll.map(g=>({value:g,label:g})),g=>{E.setThinkingLevel(g),o.thinking=g,A("thinking",`thinking ${g}`)});return}if(!Ll.includes(y)){A("thinking",`thinking: ${Ll.join(", ")}`);return}E.setThinkingLevel(y),o.thinking=y,A("thinking",`thinking ${y}`);return}if(x==="compact"){try{await E.compact(y||void 0),A("compact","session compacted")}catch(g){A("compact",g instanceof Error?g.message:String(g))}return}if(x==="approval"){let g=$=>{Wu($),A("approval",ci[$])};if(!y){Ct("Approval mode",Ur.map($=>({value:$,label:$,description:ci[$]})),$=>g($));return}if(!Ur.includes(y)){A("approval",`modes: ${Ur.join(", ")}`);return}g(y);return}if(x==="tools"){let g=E.getActiveToolNames().sort();A("tools",g.length?g.join(`
121
+ `):"no tools enabled");return}if(x==="rewind"){Nl();return}if(x==="undo"){if(!await Wm(e.cwd)){A("undo","not a git repository");return}let g=await $E(e.cwd);A("undo",g.ok?`undone: ${g.output}`:`undo failed: ${g.output}`),a(!0);return}if(x==="commit"){if(!Wm(e.cwd)){A("commit","not a git repository");return}if(!await bE(e.cwd)){A("commit","nothing to commit");return}let g=y||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,$=await IE(e.cwd,g);A("commit",$.ok?$.output:`commit failed: ${$.output}`),a(!0);return}if(x==="review"){if(!(await wE(e.cwd)).trim()){A("review","no changes to review");return}xu("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(x==="workflow"){if(y.trim()==="clear"){Nt(),A("workflow","cleared the pinned workflow panel");return}if(!O){A("workflow","no workflow run in this session yet");return}let g=vo(O,Date.now()),$=g[F.selectedPhase];A("workflow",[`panel ${Z?"pinned above the editor":"unpinned"}`,`phase ${F.selectedPhase+1}/${g.length}: ${$?.title??"(none)"}`,`filter: ${F.filter}${F.paused?" \xB7 paused":""}`,"keys: \u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc unpin \xB7 f filter \xB7 p pause \xB7 x stop \xB7 s save","clear it with /workflow clear"].join(`
122
+ `));return}if(x==="plan"){if(eE()||Nm().state==="pending"){To(ZT(Nm())),A("plan","plan mode off \u2014 edits are allowed again");return}To(XT(Nm())),A("plan",`plan mode armed \u2014 send your next prompt to start planning
123
+ plan file: ${QT()??"(unknown)"}`);return}if(x==="goal"){let g=y.trim();if(!g){A("goal",Mm(Cm()));return}let{goal:$,error:S}=Bc(Cm(),"set",g,void 0,void 0);if(S){ln(S);return}an($),await E.sendCustomMessage({customType:ur,content:g,display:!1,details:$}),A("goal",`goal set
124
+ ${Mm($)}`);return}if(x==="session"){let g=E.model;A("session",g?`${g.provider}/${g.id}`:"no model");return}let w=E.extensionRunner.getCommand(x??"");if(w){try{await w.handler(y,E.extensionRunner.createCommandContext())}catch(g){ln(g instanceof Error?g.message:String(g))}return}A("command",`/${x??""} is not available in this screen yet`)};Pd((d,x)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Ct(d,x.map(w=>({value:w,label:w})),y,()=>y("cancelled")),b}),process.on("SIGTERM",Qs),t.setTitle(`${yt} ${fn}`),hj(),n.start(),n.requestRender(!0),e.initialPrompt&&xu(e.initialPrompt),await new Promise(()=>{})}var mS,Ll,dS,jl,su,iu,au,fj,gj,pn,bj,Ij,bS=m(()=>{Co();hl();$v();ju();Pv();Ds();_v();Ol();js();Hu();Pl();Wv();_s();ll();Lu();Bv();Wn();nS();ol();Do();Du();Fm();Yc();oS();zn();mS={borderColor:()=>"",selectList:{selectedPrefix:e=>X(e,D.accent),selectedText:e=>X(e,D.text,{bold:!0}),description:e=>X(e,D.mute),scrollInfo:e=>X(e,D.dim),noMatch:e=>X(e,D.mute)}},Ll=["off","minimal","low","medium","high","xhigh","max"],dS=Symbol.for("@earendil-works/pi-tui/layout-node");jl=VF(HF);su=class{folder;model;git;percent=0;meter=new Ym(0);activity=Uv();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=ZF(t),this.model=n.split("/").at(-1)||"no-model",this.git=""}invalidate(){}settling(){return this.meter.moving}meterValue(){return this.meter.value!==this.percent&&this.meter.set(this.percent),this.meter.step()}beginRun(){this.live=!0,this.activitySince=Date.now()}waitedMs(){return Date.now()-this.activitySince}abandonAnimations(){this.meter.snap(this.percent)}render(t){let n=Date.now(),r=this.percent===0&&this.meter.value===0?0:this.meterValue(),o=Cv(this.model,this.thinking,this.folder,this.git),s=[Bs(`${Lv(o,this.live?El():"",this.live?this.waitedMs():void 0)} ${Fv(r,this.cubence)}`,t)],a=rE();a&&s.push(Bs(X(a,D.warn),t));let p=UT(Cm());p&&s.push(Bs(X(p,D.accent),t));let c=Gv(this.activity,El(),n),h=this.live?pv(c,{base:fl(this.waitedMs(),D.mute,D.warn,D.bad),bright:D.text,charMs:45},n):X(c,fl(this.waitedMs(),D.mute,D.warn,D.bad));return s.push(Bs(h,t)),s}},iu=class{constructor(t){this.draw=t}draw;render(t){return this.draw(t)}invalidate(){}},au=class{constructor(t,n){this.editor=t;this.hud=n}editor;hud;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(p=>ou(p)>0),o=r.length>0?r:[""],s="\u2500".repeat(Math.max(0,t-2)),a=o.map(p=>{let c=Math.max(0,n-ou(p));return`\u2502 ${p}${" ".repeat(c)} \u2502`});return[`\u250C${s}\u2510`,...a,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},fj=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],gj=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;bj=1e3/30,Ij=45e3});Co();var Ql={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},ed={suggest:!0,"auto-edit":!0,"full-auto":!0};function ti(e,t,n){let r=e[t];if(r?.includes("="))return r.slice(r.indexOf("=")+1);let o=e[t+1];if(!o||o.startsWith("-"))throw new Error(`${n} needs a value`);return e.splice(t+1,1),o}function td(e){let t={print:!1,continueSession:!1,noSession:!1,help:!1,version:!1,prompt:""},n=[],r=[...e];for(let o=0;o<r.length;o++){let s=r[o]??"";if(s==="--"){n.push(...r.slice(o+1));break}if(s==="-h"||s==="--help")t.help=!0;else if(s==="-v"||s==="--version")t.version=!0;else if(s==="-p"||s==="--print")t.print=!0;else if(s==="-c"||s==="--continue")t.continueSession=!0;else if(s==="--no-session")t.noSession=!0;else if(s==="-r"||s==="--resume")t.continueSession=!0;else if(s==="--session"||s.startsWith("--session="))t.sessionPath=ti(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=ti(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=ti(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=ti(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!Ql[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(Ql).join(", ")}`);if(t.approval&&!ed[t.approval])throw new Error(`approval must be one of: ${Object.keys(ed).join(", ")}`);if(t.continueSession&&t.noSession)throw new Error("--continue and --no-session cannot be combined");if(t.sessionPath&&t.noSession)throw new Error("--session and --no-session cannot be combined");if(t.sessionPath&&t.continueSession)throw new Error("--session and --continue cannot be combined");if(t.print&&(t.continueSession||t.sessionPath))throw new Error("--print runs one prompt in a throwaway session; it cannot be combined with --continue or --session");if(t.sessionPath&&!t.sessionPath.endsWith(".jsonl"))throw new Error(`--session expects a session file, got '${t.sessionPath}'`);return t.prompt=n.join(" ").trim(),t}function $u(){return`${yt} ${fn}
125
125
  coding agent. layout is a workbench, not a chat log.
126
126
 
127
127
  usage:
@@ -164,7 +164,7 @@ a line starting with ! runs in the project shell.
164
164
 
165
165
  config and sessions live in ~/.howtofix/agent. connect your howtofix.id account
166
166
  with /connect (it opens the token page), or /login for another provider's key.
167
- `}Mo();Gn();function bj(){try{return{cwd:process.cwd()}}catch{return{error:"the current directory no longer exists (it was deleted while the shell stayed in it). cd to a directory that exists, or pass one on the command line."}}}function Ij(){process.stdout.on("error",e=>{throw e.code==="EPIPE"&&process.exit(0),e})}async function $j(){Ij(),wu();let e=bj();if("error"in e){console.error(`${yt}: ${e.error}`),process.exitCode=1;return}let t=e.cwd,{repairGatewayModels:n,ensureGatewaySettings:r}=await Promise.resolve().then(()=>(Mu(),ad)),{AGENT_DIR:o}=await Promise.resolve().then(()=>(Gn(),ed)),s=n(o);s>0&&console.error(`${yt}: repaired ${s} howtofix model(s) that the gateway would have rejected`),r(o)&&console.error(`${yt}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let a;try{a=Ql(process.argv.slice(2))}catch(O){let _=O instanceof Error?O.message:String(O);console.error(`${yt}: ${_}
168
- ${bu()}`),process.exitCode=2;return}if(a.help){console.log(bu());return}if(a.version){console.log(`${yt} ${Nr}`);return}if(a.print&&!a.prompt){console.error(`${yt}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:p}=await Promise.resolve().then(()=>(Lu(),md)),{isApprovalMode:c,setApprovalMode:h}=await Promise.resolve().then(()=>(jo(),wd)),{openSession:$}=await Promise.resolve().then(()=>(ZE(),XE));h(a.approval&&c(a.approval)?a.approval:"full-auto");let T=O=>$({cwd:t,model:a.model,thinking:a.thinking,continueSession:O.continueSession??!1,noSession:O.noSession??!1,sessionPath:O.sessionPath}),M=await T({continueSession:a.continueSession,sessionPath:a.sessionPath,noSession:a.noSession||a.print});if(a.print){M.note&&console.error(M.note);try{await M.session.prompt(p(a.prompt,t));let O=M.session.getLastAssistantText()??"";process.stdout.write(O.endsWith(`
167
+ `}Co();Wn();function $j(){try{return{cwd:process.cwd()}}catch{return{error:"the current directory no longer exists (it was deleted while the shell stayed in it). cd to a directory that exists, or pass one on the command line."}}}function wj(){process.stdout.on("error",e=>{throw e.code==="EPIPE"&&process.exit(0),e})}async function kj(){wj(),Tu();let e=$j();if("error"in e){console.error(`${yt}: ${e.error}`),process.exitCode=1;return}let t=e.cwd,{repairGatewayModels:n,ensureGatewaySettings:r}=await Promise.resolve().then(()=>(Lu(),ud)),{AGENT_DIR:o}=await Promise.resolve().then(()=>(Wn(),nd)),s=n(o);s>0&&console.error(`${yt}: repaired ${s} howtofix model(s) that the gateway would have rejected`),r(o)&&console.error(`${yt}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let a;try{a=td(process.argv.slice(2))}catch(O){let _=O instanceof Error?O.message:String(O);console.error(`${yt}: ${_}
168
+ ${$u()}`),process.exitCode=2;return}if(a.help){console.log($u());return}if(a.version){console.log(`${yt} ${fn}`);return}if(a.print&&!a.prompt){console.error(`${yt}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:p}=await Promise.resolve().then(()=>(ju(),pd)),{isApprovalMode:c,setApprovalMode:h}=await Promise.resolve().then(()=>(Do(),Td)),{openSession:I}=await Promise.resolve().then(()=>(ev(),QE));h(a.approval&&c(a.approval)?a.approval:"full-auto");let T=O=>I({cwd:t,model:a.model,thinking:a.thinking,continueSession:O.continueSession??!1,noSession:O.noSession??!1,sessionPath:O.sessionPath}),M=await T({continueSession:a.continueSession,sessionPath:a.sessionPath,noSession:a.noSession||a.print});if(a.print){M.note&&console.error(M.note);try{await M.session.prompt(p(a.prompt,t));let O=M.session.getLastAssistantText()??"";process.stdout.write(O.endsWith(`
169
169
  `)?O:`${O}
170
- `);let _=M.session.state.messages.at(-1);_?.role==="assistant"&&((_.stopReason==="error"||_.stopReason==="aborted"||_.errorMessage)&&(process.exitCode=1),process.exitCode===1&&_.errorMessage&&console.error(`${yt}: ${_.errorMessage}`))}finally{M.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${yt}: interactive mode needs a terminal. use --print for pipes.`),M.dispose(),process.exitCode=2;return}let{runWorkbench:F}=await Promise.resolve().then(()=>(hS(),xS));await F({cwd:t,modelLabel:M.modelLabel,session:M.session,initialPrompt:a.prompt||void 0,note:M.note,reopen:T})}$j().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${yt}: ${t}`),process.exitCode=1});
170
+ `);let _=M.session.state.messages.at(-1);_?.role==="assistant"&&((_.stopReason==="error"||_.stopReason==="aborted"||_.errorMessage)&&(process.exitCode=1),process.exitCode===1&&_.errorMessage&&console.error(`${yt}: ${_.errorMessage}`))}finally{M.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${yt}: interactive mode needs a terminal. use --print for pipes.`),M.dispose(),process.exitCode=2;return}let{runWorkbench:F}=await Promise.resolve().then(()=>(bS(),yS));await F({cwd:t,modelLabel:M.modelLabel,session:M.session,initialPrompt:a.prompt||void 0,note:M.note,reopen:T})}kj().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${yt}: ${t}`),process.exitCode=1});