howtofixcli 0.4.20 → 0.4.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +66 -66
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
var gP=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 Ft=(e,t)=>{for(var n in t)gP(e,n,{get:t[n],enumerable:!0})};function xd(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 bt,fn,hd,yd,_o=m(()=>{bt="HowToFix",fn="0.4.
|
|
4
|
+
`).trim()}var bt,fn,hd,yd,_o=m(()=>{bt="HowToFix",fn="0.4.22",hd=["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
5
|
`);yd=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
|
|
6
|
-
`)});var wd={};Ft(wd,{AGENTS_STORE_DIR:()=>Hr,AGENT_DIR:()=>He,CUBENCE_CACHE_PATH:()=>Ou,USER_SKILLS_DIR:()=>
|
|
7
|
-
`)}catch{return 0}return o}function PP(e){let t=
|
|
8
|
-
`)}catch{return!1}return!0}function ui(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function Nu(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function Pd(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 qo(e){return ju.includes(e)}function _u(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:{...Du}}));return r}function ci(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...Du}})),changed:t}}function qu(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function Uu(e,t,n){let r=(n?.baseUrl??ai).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let p=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(p.ok)return{ok:!0,detail:"ok"};let f=await p.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(f)?.[1]??`HTTP ${p.status}`}}catch(p){return{ok:!1,detail:p instanceof Error&&p.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(c)}}async function Ku(e,t){let n=(t?.baseUrl??ai).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,c=setTimeout(()=>a.abort(),o);try{let p=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(p.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(p.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(!p.ok)return{ok:!1,models:[],message:`the gateway answered ${p.status}`};let f=Pd(await p.json());return f.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:f,message:`${f.length} models available to this token`}}catch(p){let f=p instanceof Error&&p.name==="AbortError";return{ok:!1,models:[],message:f?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(c)}}var ai,mi,ju,
|
|
6
|
+
`)});var wd={};Ft(wd,{AGENTS_STORE_DIR:()=>Hr,AGENT_DIR:()=>He,CUBENCE_CACHE_PATH:()=>Ou,USER_SKILLS_DIR:()=>Ru,WORKFLOWS_DIR:()=>Mu,pinAgentDir:()=>Cu,projectSkillsDir:()=>gr});import{homedir as hP}from"node:os";import{join as zr,resolve as xP}from"node:path";function yP(){let e=(process.env.HOWTOFIX_HOME??process.env.HOME??"").trim();return xP(e||hP())}function gr(e){return zr(e,".howtofix","skills")}function Cu(){process.env.PI_CODING_AGENT_DIR=He}var He,Ru,Hr,Ou,Mu,Dn=m(()=>{He=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||zr(yP(),".howtofix","agent"),Ru=zr(He,"skills");Hr=zr(He,"agents"),Ou=zr(He,"cubence-cache.json"),Mu=zr(He,"workflows")});import{closeSync as bP,fsyncSync as IP,openSync as $P,renameSync as kd,rmSync as Lu,writeSync as wP}from"node:fs";import{dirname as kP,join as TP}from"node:path";function Ze(e,t){let n=TP(kP(e),`.${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}.tmp`),r=$P(n,"w");try{wP(r,t),IP(r)}finally{bP(r)}try{kd(n,e)}catch(o){let s=o.code;if(s!=="EPERM"&&s!=="EBUSY"&&s!=="EACCES")throw Lu(n,{force:!0}),o;Lu(e,{force:!0});try{kd(n,e)}catch(a){throw Lu(n,{force:!0}),a}}}var zn=m(()=>{});var Ad={};Ft(Ad,{DEFAULT_CONTEXT_WINDOW:()=>Sd,HOWTOFIX_BASE_URL:()=>ai,HOWTOFIX_CONSOLE_URL:()=>mi,HOWTOFIX_MODEL_COMPAT:()=>Du,HOWTOFIX_PROVIDERS:()=>ju,HTTP_IDLE_TIMEOUT_MS:()=>Ed,applyCompat:()=>ci,checkAccount:()=>Ku,countNewModels:()=>qu,ensureGatewaySettings:()=>PP,isHowtofixProvider:()=>qo,looksLikeToken:()=>Nu,maskToken:()=>ui,mergeModels:()=>_u,newProviderEntry:()=>Fu,parseModelIds:()=>Pd,probeModel:()=>Uu,repairGatewayModels:()=>SP});import{existsSync as vP,mkdirSync as EP,readFileSync as Td}from"node:fs";import{join as vd}from"node:path";function Fu(){return{baseUrl:ai,api:"openai-completions"}}function SP(e){let t=vd(e,"models.json"),n;try{n=JSON.parse(Td(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of ju){let a=r[s];if(!a||!Array.isArray(a.models))continue;let c=ci(a.models);c.changed!==0&&(a.models=c.models,o+=c.changed)}if(o===0)return 0;try{Ze(t,`${JSON.stringify(n,null,2)}
|
|
7
|
+
`)}catch{return 0}return o}function PP(e){let t=vd(e,"settings.json"),n={};try{let r=Td(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(vP(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=Ed;try{EP(e,{recursive:!0}),Ze(t,`${JSON.stringify(n,null,2)}
|
|
8
|
+
`)}catch{return!1}return!0}function ui(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function Nu(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function Pd(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 qo(e){return ju.includes(e)}function _u(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:{...Du}}));return r}function ci(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...Du}})),changed:t}}function qu(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function Uu(e,t,n){let r=(n?.baseUrl??ai).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,c=setTimeout(()=>a.abort(),s);try{let p=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(p.ok)return{ok:!0,detail:"ok"};let f=await p.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(f)?.[1]??`HTTP ${p.status}`}}catch(p){return{ok:!1,detail:p instanceof Error&&p.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(c)}}async function Ku(e,t){let n=(t?.baseUrl??ai).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,c=setTimeout(()=>a.abort(),o);try{let p=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(p.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(p.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(!p.ok)return{ok:!1,models:[],message:`the gateway answered ${p.status}`};let f=Pd(await p.json());return f.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:f,message:`${f.length} models available to this token`}}catch(p){let f=p instanceof Error&&p.name==="AbortError";return{ok:!1,models:[],message:f?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(c)}}var ai,mi,ju,Ed,Du,Sd,Gu=m(()=>{zn();ai="https://api.howtofix.id/v1",mi="https://howtofix.id/keys",ju=["howtofix","howtofix-free"];Ed=9e4;Du={supportsDeveloperRole:!1},Sd=128e3});var Rd={};Ft(Rd,{expandFileReferences:()=>Wu});import{readFileSync as AP,statSync as RP}from"node:fs";import{isAbsolute as OP,resolve as MP}from"node:path";function Wu(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),a=o.slice(s.length),c=OP(s)?s:MP(t,s);try{let p=RP(c);if(!p.isFile()||p.size===0||p.size>CP)return n;let f=AP(c);return f.includes(0)?n:`${r}<file name="${c}">
|
|
9
9
|
${f.toString("utf8").trimEnd()}
|
|
10
10
|
</file>${a}`}catch{return n}})}var CP,Bu=m(()=>{CP=64*1024});function jP(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 Od(e,t){if(LP.has(e))return;let n=`${e}\0${jP(t)}`,r=Uo&&Uo.signature===n?Uo.count+1:1;return Uo={signature:n,count:r},r>=3?{repeats:r}:void 0}function Md(){Uo=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 LP,Uo,zu=m(()=>{LP=new Set(["think"])});function Ld(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function DP(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(FP.test(o)){let s=o.includes("="),[a="",...c]=o.split("="),p=n.safeFlags[a];if(!p)return!1;if(p==="none"){if(s)return!1;r++;continue}if(p==="optional"){r++;continue}if(s){if(!Ld(c.join("="),p))return!1;r++;continue}let f=e[r+1];if(f===void 0||!Ld(f,p))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function GP(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function WP(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function BP(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 zP(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)}:Dd[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function VP(e){let t=BP(e),n=zP(t);if(!n)return!1;let{name:r,rest:o}=n;if(HP.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let s=Fd[r]??UP[r]??Dd[r];return s?s.dangerous?.(o)?!1:DP(o,0,s):!!(qP.includes(r)||KP.includes(r))}function fi(e){let t=GP(e);return!t||t.length===0||WP(t)?!1:t.every(VP)}var FP,NP,pi,li,Hu,di,Vu,jd,_P,Fd,qP,UP,Dd,KP,HP,Ju=m(()=>{FP=/^-[a-zA-Z0-9_-]/;NP={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},pi={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},li={"--max-count":"number","-n":"number"},Hu={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},di={"--color":"none","--no-color":"none"},Vu={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},jd={"--author":"string","--committer":"string","--grep":"string"},_P={"-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",...di}},"git diff":{safeFlags:{...Hu,...di,...Vu,"--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:{...pi,...li,...Hu,...di,...Vu,...jd,...NP,"--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:{...Hu,...di,...Vu,...pi,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...li,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...li,...pi,...jd,"--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:{...li,"--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:{...pi}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{..._P,"--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"}}},qP=["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"],UP={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))}},Dd={"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:{}}},KP=["cd","alias","history","arch","ip addr","ifconfig"];HP=new Set(["echo","printf"])});var Wd={};Ft(Wd,{APPROVAL_LABELS:()=>gi,APPROVAL_MODES:()=>Vr,MODE_MAX_TIER:()=>Nd,TIER_RANK:()=>Yu,createPermissionExtension:()=>Ko,criticalCommand:()=>_d,decideToolCall:()=>Ud,describeToolCall:()=>Kd,formatApprovalPrompt:()=>Gd,getApprovalMode:()=>ZP,isApprovalMode:()=>JP,isReadOnlyCommand:()=>fi,resolveTier:()=>Xu,setApprovalMode:()=>Qu,setApprovalPrompt:()=>ec});function JP(e){return Vr.includes(e)}function Xu(e){let t=YP[e];return t||(e.startsWith("mcp__")?"write":"exec")}function _d(e){for(let{pattern:t,reason:n}of XP)if(t.test(e))return n}function Qu(e){Zu=e}function ZP(){return Zu}function ec(e){qd=e}function Ud(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=_d(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(fi(r))return{action:"run"}}let o=Xu(t);return Yu[o]<=Yu[Nd[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function Kd(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 Gd(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=Kd(e,t);return o!==e&&r.push(o),r.join(`
|
|
11
|
-
`)}function Ko(e={}){return t=>{t.on("tool_call",async n=>{let r=Od(n.toolName,n.input);if(r)return{block:!0,reason:Cd(n.toolName,r.repeats)};let o=Zu,s=Ud(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 ${Xu(n.toolName)}-tier tool and no UI can approve it here (approval mode: ${o}).`};if(!await qd(`${n.toolName} wants to run`,Gd(n.toolName,n.input,s.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${o}).`}})}}var Vr,gi,Yu,Nd,YP,XP,Zu,qd,Go=m(()=>{zu();Ju();Ju();Vr=["suggest","auto-edit","full-auto"],gi={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Yu={read:0,write:1,exec:2},Nd={suggest:"read","auto-edit":"write","full-auto":"exec"},YP={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",web_search:"read",web_fetch:"read",lsp:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};XP=[{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"}];Zu="full-auto",qd=async()=>!1});function QP(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 tR(e){if(!e)return;let t=!1,n={...e};for(let r of eR){let o=n[r];if(typeof o!="string")continue;let s=QP(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function Bd(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=tR(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var eR,zd=m(()=>{eR=["preamble","rules","docs","addendum"]});import{Type as Jr}from"@earendil-works/pi-ai";import{defineTool as Hd}from"@earendil-works/pi-coding-agent";function Vd(e){tc=e}var tc,Jd,Yd,nc=m(()=>{Jd=Hd({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:Jr.Object({thoughts:Jr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),Yd=Hd({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:Jr.Object({question:Jr.String(),options:Jr.Array(Jr.String(),{minItems:2})}),async execute(e,t){if(!tc)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await tc(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var tn,hr=m(()=>{tn={assign:0,create:0,clone:0,discard:0,update:0}});function xr(e,t,n){return e>=t&&e<=n}function Qd(e){return e===8205}function nR(e){return xr(e,55296,56319)}function Xd(e){return xr(e,127462,127487)}function ef(e){return xr(e,65024,65039)}function tf(e){return xr(e,768,879)||xr(e,6832,6911)||xr(e,7616,7679)||xr(e,65056,65071)}function hi(e){return e>65535?2:1}function Zd(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(tf(n)||ef(n))t+=hi(n);else break}return t}function rc(e,t){let n=e.codePointAt(t),r=t+hi(n);for(r=Zd(e,r);r<e.length-1&&Qd(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+hi(o),r=Zd(e,r)}return Xd(n)&&r<e.length&&Xd(e.codePointAt(r))&&(r+=hi(e.codePointAt(r))),r}function nf(e){return e>=768&&(nR(e)||tf(e)||ef(e)||Qd(e))}function rf(e){let t=0,n=0;for(;n<e.length;)n=rc(e,n),t++;return t}function rR(e,t){let n=0,r=0;for(;r<e.length;)if(r=rc(e,r),++n>=t)return!0;return!1}function oR(e,t){let n=0,r=0;for(;r<e.length;)if(r=rc(e,r),++n>t)return!1;return!0}function of(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(nf(e.charCodeAt(n)))return rR(e,t);if(++n>=t)return!0}}function sf(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(nf(e.charCodeAt(n)))return oR(e,t);if(++n>t)return!1}}var af=m(()=>{});var u={};Ft(u,{Counted:()=>IR,Entries:()=>kR,EntriesRegExp:()=>wR,Every:()=>hR,EveryAll:()=>xR,GraphemeCount:()=>dR,HasPropertyKey:()=>$R,IsArray:()=>Bo,IsBigInt:()=>Wo,IsBoolean:()=>mf,IsClassInstance:()=>lR,IsConstructor:()=>iR,IsDeepEqual:()=>ic,IsEqual:()=>se,IsFunction:()=>uf,IsGreaterEqualThan:()=>pf,IsGreaterThan:()=>uR,IsInteger:()=>oc,IsLessEqualThan:()=>cf,IsLessThan:()=>cR,IsMaxLength:()=>fR,IsMinLength:()=>gR,IsMultipleOf:()=>pR,IsNull:()=>yi,IsNumber:()=>bi,IsObject:()=>zo,IsObjectNotArray:()=>aR,IsString:()=>Ii,IsSymbol:()=>mR,IsUndefined:()=>sc,IsUnsafePropertyKey:()=>df,IsValueLike:()=>lf,Keys:()=>xi,ShiftLeft:()=>$i,Some:()=>yR,SomeAll:()=>bR,Symbols:()=>TR,Values:()=>ER});function Bo(e){return Array.isArray(e)}function Wo(e){return se(typeof e,"bigint")}function mf(e){return se(typeof e,"boolean")}function iR(e){if(sc(e)||!uf(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function uf(e){return se(typeof e,"function")}function oc(e){return Number.isInteger(e)}function yi(e){return se(e,null)}function bi(e){return Number.isFinite(e)}function aR(e){return zo(e)&&!Bo(e)}function zo(e){return se(typeof e,"object")&&!yi(e)}function Ii(e){return se(typeof e,"string")}function mR(e){return se(typeof e,"symbol")}function sc(e){return se(e,void 0)}function se(e,t){return e===t}function uR(e,t){return e>t}function cR(e,t){return e<t}function cf(e,t){return e<=t}function pf(e,t){return e>=t}function pR(e,t){if(Wo(e)||Wo(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!bi(e)||oc(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 lR(e){if(!zo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return yi(t)?!1:se(typeof t.constructor,"function")&&!(se(t.constructor,globalThis.Object)||se(t.constructor.name,"Object"))}function lf(e){return Wo(e)||mf(e)||yi(e)||bi(e)||Ii(e)||sc(e)}function dR(e){return rf(e)}function fR(e,t){return sf(e,t)}function gR(e,t){return of(e,t)}function hR(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function xR(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function yR(e,t){return e.some((n,r)=>t(n,r))}function bR(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function IR(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function $i(e,t,n){return se(e.length,0)?n():t(e[0],e.slice(1))}function df(e){return se(e,"__proto__")||se(e,"constructor")||se(e,"prototype")}function $R(e,t){return df(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function wR(e){return xi(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function kR(e){return Object.entries(e)}function xi(e){return Object.getOwnPropertyNames(e)}function TR(e){return Object.getOwnPropertySymbols(e)}function ER(e){return Object.values(e)}function vR(e,t){if(!zo(t))return!1;let n=xi(e);return se(n.length,xi(t).length)&&n.every(r=>ic(e[r],t[r]))}function SR(e,t){return Bo(t)&&se(e.length,t.length)&&e.every((n,r)=>ic(e[r],t[r]))}function ic(e,t){return Bo(e)?SR(e,t):zo(e)?vR(e,t):se(e,t)}var Yr=m(()=>{af()});var ff=m(()=>{Yr()});var Hn={};Ft(Hn,{IsBigInt64Array:()=>KR,IsBigUint64Array:()=>GR,IsBoolean:()=>RR,IsDate:()=>BR,IsFloat32Array:()=>qR,IsFloat64Array:()=>UR,IsInt16Array:()=>FR,IsInt32Array:()=>NR,IsInt8Array:()=>CR,IsMap:()=>HR,IsNumber:()=>AR,IsRegExp:()=>WR,IsSet:()=>zR,IsString:()=>OR,IsTypeArray:()=>MR,IsUint16Array:()=>DR,IsUint32Array:()=>_R,IsUint8Array:()=>LR,IsUint8ClampedArray:()=>jR});function RR(e){return e instanceof Boolean}function AR(e){return e instanceof Number}function OR(e){return e instanceof String}function MR(e){return globalThis.ArrayBuffer.isView(e)}function CR(e){return e instanceof globalThis.Int8Array}function LR(e){return e instanceof globalThis.Uint8Array}function jR(e){return e instanceof globalThis.Uint8ClampedArray}function FR(e){return e instanceof globalThis.Int16Array}function DR(e){return e instanceof globalThis.Uint16Array}function NR(e){return e instanceof globalThis.Int32Array}function _R(e){return e instanceof globalThis.Uint32Array}function qR(e){return e instanceof globalThis.Float32Array}function UR(e){return e instanceof globalThis.Float64Array}function KR(e){return e instanceof globalThis.BigInt64Array}function GR(e){return e instanceof globalThis.BigUint64Array}function WR(e){return e instanceof globalThis.RegExp}function BR(e){return e instanceof globalThis.Date}function zR(e){return e instanceof globalThis.Set}function HR(e){return e instanceof globalThis.Map}var gf=m(()=>{});var hf=m(()=>{Yr()});var R=m(()=>{ff();gf();hf();Yr();Yr()});var nn={};Ft(nn,{Get:()=>XR,Reset:()=>JR,Set:()=>YR});function JR(){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 YR(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(gn,t,{value:n})}}function XR(){return gn}var gn,xf=m(()=>{R();gn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var yr=m(()=>{xf()});function Vn(e){return nn.Get().immutableTypes?Object.freeze(e):e}var Ho=m(()=>{yr()});function ZR(e,t){return tn.assign+=1,Vn({...e,...t})}var yf=m(()=>{hr();Ho()});function QR(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function eA(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=br(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function tA(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=br(e[n]));for(let n of u.Symbols(e))t[n]=br(e[n]);return t}function nA(e){return u.IsClassInstance(e)?e:QR(e)?eA(e):tA(e)}function rA(e){return e.map(t=>br(t))}function oA(e){return e.slice()}function sA(e){return new RegExp(e.source,e.flags)}function iA(e){return new Map(br([...e.entries()]))}function aA(e){return new Set(br([...e.values()]))}function br(e){return Hn.IsTypeArray(e)?oA(e):Hn.IsRegExp(e)?sA(e):Hn.IsMap(e)?iA(e):Hn.IsSet(e)?aA(e):u.IsArray(e)?rA(e):u.IsObject(e)?nA(e):e}function Vo(e){return tn.clone+=1,br(e)}var wi=m(()=>{R();hr()});function mA(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 bf(e,t){return{...e,...t}}function uA(e,t,n={}){tn.create+=1;let r=bf(t,n),o=nn.Get().enumerableKind?bf(r,e):mA(r,e);return Vn(o)}var If=m(()=>{yr();hr();Ho()});function cA(e,t){tn.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Vo(o.value),Object.defineProperty(n,r,o)}return Vn(n)}var $f=m(()=>{R();hr();Ho();wi()});function pA(e,t,n){tn.update+=1;let r=nn.Get(),o=Vo(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 Vn(o)}var wf=m(()=>{yr();hr();Ho();wi()});var d={};Ft(d,{Assign:()=>ZR,Clone:()=>Vo,Create:()=>uA,Discard:()=>cA,Metrics:()=>tn,Update:()=>pA});var kf=m(()=>{yf();wi();If();$f();hr();wf()});var E=m(()=>{kf()});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 H=m(()=>{R()});function F(e,t,n){return d.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Jn(e){return C(e,"Deferred")}var ae=m(()=>{E();H()});function lA(e){return d.Update(e,{"~readonly":!0},{})}function Jo(e,t){return d.Update(lA(e),{},t)}function Tf(e,t,n,r){let o=$(e,t,n);return Jo(o,r)}var ki=m(()=>{E();N()});function dA(e){return d.Update(e,{"~optional":!0},{})}function Yo(e,t){return d.Update(dA(e),{},t)}function Ef(e,t,n,r){let o=$(e,t,n);return Yo(o,r)}var Ti=m(()=>{E();N()});function Dt(e,t){return d.Create({"~kind":"Array"},{type:"array",items:e},t)}function we(e){return C(e,"Array")}function Ei(e){return d.Discard(e,["~kind","type","items"])}var pt=m(()=>{E();H()});function hn(e,t,n={}){return d.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function Ue(e){return C(e,"Constructor")}function vf(e){return d.Discard(e,["~kind","type","parameters","instanceType"])}var Gt=m(()=>{E();H()});function xn(e,t,n={}){return d.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function Ke(e){return C(e,"Function")}function Sf(e){return d.Discard(e,["~kind","type","parameters","returnType"])}var Wt=m(()=>{E();H()});function Nn(e,t){return d.Create({"~kind":"Ref"},{$ref:e},t)}function Ge(e){return C(e,"Ref")}var Bt=m(()=>{E();H()});function Yn(e,t){return d.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Xr(e){return C(e,"Generic")}var Xo=m(()=>{E();H()});function Zr(e){return d.Create({"~kind":"Any"},{},e)}function Ee(e){return C(e,"Any")}var It=m(()=>{E();H()});function de(e){return d.Create({"~kind":"Never"},{not:{}},e)}function rn(e){return C(e,"Never")}var Pf,Ve=m(()=>{E();H();Pf="(?!)"});function yn(e,t={}){return F("AddOptional",[e],t)}function Ir(e,t={}){return Yo(e,t)}var Zo=m(()=>{ae();Ti()});function Rf(e){return Ir(e)}function ot(e){return Fe(e)&&u.HasPropertyKey(e,"~optional")}var Xn=m(()=>{R();H();Zo()});function Af(e){return u.Keys(e).filter(t=>!ot(e[t]))}function vi(e){return u.Keys(e)}function Si(e){return u.Values(e)}var $r=m(()=>{R();Xn()});function G(e,t={}){let n=Af(e),r=n.length>0?{required:n}:{};return d.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function ue(e){return C(e,"Object")}function Of(e){return d.Discard(e,["~kind","type","properties","required"])}var le=m(()=>{E();H();$r()});function Je(e){return d.Create({"~kind":"Unknown"},{},e)}function Oe(e){return C(e,"Unknown")}var Qe=m(()=>{E();H()});function bn(e,t,n){let r=u.Keys(e).reduce((o,s)=>({...o,[s]:d.Update(e[s],{},{$id:s})}),{});return d.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function et(e){return C(e,"Cyclic")}var $t=m(()=>{R();E();H()});function Mf(e){return d.Update(e,{"~unsafe":null},{})}function Pi(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var Ri=m(()=>{R();E()});var In={};Ft(In,{Match:()=>fA});function fA(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var Cf=m(()=>{});var Qr=m(()=>{Cf()});function Qo(...e){let[t,n]=In.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,Je(),Je()]});return d.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Me(e){return C(e,"Infer")}var zt=m(()=>{Qr();E();H();Qe()});function wr(e,t,n,r={}){return d.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function Se(e){return C(e,"Dependent")}function Lf(e){return d.Discard(e,["~kind","if","then","else"])}var Pt=m(()=>{E();H()});function jf(e){return u.IsObjectNotArray(e)}function Ff(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var Ai=m(()=>{R()});function Df(e){return u.IsString(e)||u.IsNumber(e)}function Nf(e,t){let n=jf(e)?Ff(e):e;return d.Create({"~kind":"Enum"},{enum:n},t)}function tt(e){return C(e,"Enum")}var on=m(()=>{R();E();H();Ai();Ai()});function wt(e,t={}){return d.Create({"~kind":"Intersect"},{allOf:e},t)}function te(e){return C(e,"Intersect")}function _f(e){return d.Discard(e,["~kind","allOf"])}var De=m(()=>{E();H()});var qf=m(()=>{yr();R()});var Uf=m(()=>{qf()});var Kf=m(()=>{Uf()});function Ne(){throw new Error("Unreachable")}var ac=m(()=>{});var $n=m(()=>{ac()});var Gf,uq,cq,pq,lq,Wf,dq,fq,gq,Bf=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"})(Gf||(Gf={}));uq=BigInt("14695981039346656037"),[cq,pq]=[BigInt("1099511628211"),BigInt("18446744073709551616")],lq=Array.from({length:256}).map((e,t)=>BigInt(t)),Wf=new Float64Array(1),dq=new DataView(Wf.buffer),fq=new Uint8Array(Wf.buffer),gq=new TextEncoder});var zf=m(()=>{Bf()});var mc=m(()=>{});var Hf=m(()=>{mc()});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 uc=m(()=>{});var sg=m(()=>{});var ig=m(()=>{});var ag=m(()=>{});var mg=m(()=>{});var ug=m(()=>{});var cg=m(()=>{});var pg=m(()=>{});var lg=m(()=>{});var dg=m(()=>{});var fg=m(()=>{});var gg=m(()=>{});var hg=m(()=>{});var xg=m(()=>{});var yg=m(()=>{});var bg=m(()=>{});var Ig=m(()=>{});var $g=m(()=>{});var wg=m(()=>{});var kg=m(()=>{});var Tg=m(()=>{});var Eg=m(()=>{});var vg=m(()=>{});var Sg=m(()=>{});var Pg=m(()=>{});var Rg=m(()=>{});var Ag=m(()=>{Hf();Vf();Jf();Yf();Xf();Zf();mc();Qf();eg();tg();ng();rg();og();uc();uc();sg();ig();ag();mg();ug();cg();pg();lg();dg();fg();gg();hg();xg();yg();bg();Ig();$g();wg();kg();Tg();Eg();vg();Sg();Pg();Rg()});var Og=m(()=>{Ag()});var es=m(()=>{Qr();Kf();zf();Og();E();yr()});var Cg=m(()=>{es();es();es()});function Mi(e){return new ns(e)}function Lg(e,t){return Mi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function jg(e,t){return Mi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function Oi(e){return Fe(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var ts,ns,cc=m(()=>{Cg();R();H();ts=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=Oi(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=Oi(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return d.Update(this.type,{"~codec":s},{})}},ns=class{constructor(t){this.type=t}Decode(t){return new ts(this.type,t)}}});function Fg(e){return eo(e)}function kr(e){return Fe(e)&&u.HasPropertyKey(e,"~immutable")}var rs=m(()=>{R();H();os()});function wn(e,t={}){return F("AddReadonly",[e],t)}function Tr(e,t={}){return Jo(e,t)}var ss=m(()=>{ae();ki()});function Dg(e){return Tr(e)}function Er(e){return Fe(e)&&u.HasPropertyKey(e,"~readonly")}var is=m(()=>{R();H();ss()});function yA(e,t){let n=pc(e)?[...e["~refine"],t]:[t];return d.Update(e,{"~refine":n},{})}function Ng(...e){let[t,n,r]=In.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return yA(t,{check:n,error:r})}function bA(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function pc(e){return Fe(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>bA(t))}var lc=m(()=>{Qr();E();R();H()});function as(e){return d.Create({"~kind":"BigInt"},{type:"bigint"},e)}function kn(e){return C(e,"BigInt")}var _g,vr=m(()=>{E();H();_g="-?(?:0|[1-9][0-9]*)n"});function Ci(e){return d.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Ht(e){return C(e,"Boolean")}var Zn=m(()=>{E();H()});function ms(e){return d.Create({"~kind":"Identifier"},{name:e})}function qg(e){return C(e,"Identifier")}var dc=m(()=>{E();H()});function Sr(e){return d.Create({"~kind":"Integer"},{type:"integer"},e)}function lt(e){return C(e,"Integer")}var Li,Tn=m(()=>{E();H();Li="-?(?:0|[1-9][0-9]*)"});function IA(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new fc(e)})()}function ne(e,t){return d.Create({"~kind":"Literal"},{type:IA(e),const:e},t)}function ji(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function Ug(e){return ce(e)&&u.IsNumber(e.const)}function Kg(e){return ce(e)&&u.IsString(e.const)}function ce(e){return C(e,"Literal")}var fc,Ce=m(()=>{E();R();H();fc=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function to(e){return d.Create({"~kind":"Null"},{type:"null"},e)}function no(e){return C(e,"Null")}var ro=m(()=>{E();H()});function Rt(e){return d.Create({"~kind":"Number"},{type:"number"},e)}function Le(e){return C(e,"Number")}var Fi,dt=m(()=>{E();H();Fi="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function oo(e){return d.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Qn(e){return C(e,"Symbol")}var Pr=m(()=>{E();H()});function Rr(...e){let[t,n,r]=In.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,Je(),Je()]});return d.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function Gg(e){return C(e,"Parameter")}var gc=m(()=>{Qr();E();H();Qe()});function Vt(e){return d.Create({"~kind":"String"},{type:"string"},e)}function ft(e){return C(e,"String")}var Di,Jt=m(()=>{E();H();Di=".*"});function J(e,t={}){return d.Create({"~kind":"Union"},{anyOf:e},t)}function L(e){return C(e,"Union")}function Wg(e){return d.Discard(e,["~kind","anyOf"])}var X=m(()=>{E();H()});function us(e){let t=Bg(e);return u.IsEqual(t.length,2)?t[0]:[]}var cs=m(()=>{R();Ni()});function $A(e){return!0}function zg(e){return u.ShiftLeft(e,(t,n)=>wA(t)?zg(n):!1,()=>!0)}function Hg(e){return u.IsEqual(e.length,0)?!1:zg(e)}function wA(e){return L(e)?Hg(e.anyOf):ce(e)?$A(e.const):!1}function _i(e){return Hg(e)}var qi=m(()=>{R();Ce();X()});function Ui(e){return d.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Ki=m(()=>{E()});function Vg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Vg(o,t,[...n,`${r}${t}`]),()=>n)}function kA(e,t){return u.IsEqual(e.length,0)?[`${t}`]:Vg(e,t)}function Jg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Jg(e,o,[...n,...Yg(e,r)]),()=>n)}function Yg(e,t){return L(t)?Jg(e,t.anyOf):ce(t)?kA(e,t.const):Ne()}function Xg(e,t){return u.ShiftLeft(t,(n,r)=>Xg(Yg(e,n),r),()=>e)}function TA(e){return e.map(t=>ne(t))}function EA(e){let t=Xg([],e),n=TA(t);return J(n)}function vA(e){return u.IsEqual(e.length,0)?Ne():u.IsEqual(e.length,1)&&ce(e[0])?e[0]:EA(e)}function hc(e){let t=us(e);return u.IsEqual(t.length,0)?Vt():_i(t)?vA(t):Ui(e)}function Zg(e){let t=hc(e);return Pe(t)?Vt():t}var Gi=m(()=>{R();$n();Ce();Jt();kt();X();cs();qi();Ki()});function Tt(e,t){let n="object",r={[e]:t};return d.Create({"~kind":"Record"},{type:n,patternProperties:r})}var er=m(()=>{E()});function Qg(e){return Tt(sn,e)}var eh=m(()=>{Ye();er()});function th(e){return G({true:e,false:e})}var nh=m(()=>{le()});function je(e,t={}){let[n,r,o]=[e,e.length,!1];return d.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function he(e){return C(e,"Tuple")}function rh(e){return d.Discard(e,["~kind","type","items","minItems","additionalItems"])}var _e=m(()=>{E();H()});function SA(e){return d.Discard(e,["~readonly"])}function xc(e,t){return d.Update(SA(e),{},t)}function oh(e,t,n,r){let o=$(e,t,n);return xc(o,r)}var yc=m(()=>{E();N()});function sh(e,t={}){return F("RemoveReadonly",[e],t)}function ih(e,t={}){return xc(e,t)}var bc=m(()=>{ae();yc()});function PA(e){return d.Discard(e,["~optional"])}function Ic(e,t){return d.Update(PA(e),{},t)}function ah(e,t,n,r){let o=$(e,t,n);return Ic(o,r)}var $c=m(()=>{E();N()});function mh(e,t={}){return F("RemoveOptional",[e],t)}function Wi(e,t={}){return Ic(e,t)}var Bi=m(()=>{ae();$c()});function wc(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function uh(e){let t=wc(e.items);return G(t)}var kc=m(()=>{le()});function Tc(e){return ue(e)||he(e)}function RA(e,t){return Er(e)?!!Er(t):!1}function AA(e,t){return ot(e)?!!ot(t):!1}function OA(e,t){let n=RA(e,t),r=AA(e,t),o=ke([e,t]),s=ih(Wi(o));return n&&r?Tr(Ir(s)):n&&!r?Tr(s):!n&&r?Ir(s):s}function MA(e,t,n){return n in e?n in t?OA(e[n],t[n]):e[n]:n in t?t[n]:de()}function CA(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:MA(e,t,s)}),{})}function ch(e){return ue(e)?e.properties:he(e)?wc(e.items):{}}function ph(e,t){let n=ch(e),r=ch(t),o=CA(n,r);return G(o)}var Ec=m(()=>{R();is();Xn();le();Ve();_e();ss();Zo();bc();Bi();kc();V()});function LA(e,t){let n=ds(e,t);return u.IsEqual(n,ls)?e:u.IsEqual(n,zi)||u.IsEqual(n,ps)?t:de()}function jA(e,t){let n=Tc(e),r=Tc(t);return n&&r?ph(e,t):n&&!r?e:!n&&r?t:LA(e,t)}function lh(e,t){return rn(e)||Ee(e)?e:Oe(e)||rn(t)||Ee(t)?t:Oe(t)?e:jA(e,t)}var vc=m(()=>{R();It();Ve();Qe();fs();Ec()});function FA(e,t){return L(e)||L(t)}function DA(e,t){let n=Yt(e),r=Yt(t);return FA(n,r)?ke([n,r]):lh(n,r)}function dh(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>dh(e,o,[...n,DA(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function fh(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>fh(o,t,[...n,...gs([r],t)]),()=>n)}function gs(e,t=[]){return u.ShiftLeft(e,(n,r)=>L(n)?gs(r,fh(n.anyOf,t)):gs(r,dh(n,t)),()=>t)}var Sc=m(()=>{R();X();vc();V();V()});function NA(e,t){let n=nt({},e,t);return W.IsExtendsTrueLike(n)?[]:[e]}function gh(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>gh(o,t,[...n,...NA(r,t)]),()=>n)}function Hi(e,t){let n=Yt(e),r=L(n)?n.anyOf:[n],o=gh(r,t);return Et(o)}var Pc=m(()=>{R();X();En();V();V()});function an(e,t,n){let r=ke([e,t]),o=Hi(n,e);return Et([r,o])}function gt(e,t=[]){return u.ShiftLeft(e,(n,r)=>gt(r,[...t,ne(n)]),()=>Et(t))}function ke(e){let t=gs(e),n=Rc(t);return Et(n)}function st(e){let t=Zg(e);return Yt(t)}function Et(e){let t=Rc(e);return tr(t)}function Yt(e){return Se(e)?an(e.if,e.then,e.else):tt(e)?gt(e.enum):te(e)?ke(e.allOf):Pe(e)?st(e.pattern):L(e)?Et(e.anyOf):e}function tr(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?de():J(e)}var V=m(()=>{R();Pt();on();De();Ce();Ve();kt();X();Sc();Ac();Pc();Gi()});function hh(e,t){let n=gt(e);return nr(n,t)}var xh=m(()=>{hs();V()});function yh(e,t){return Tt(rr,t)}var bh=m(()=>{Ye();er()});function Ih(e,t){let n=ke(e);return nr(n,t)}var $h=m(()=>{V();hs()});function wh(e,t){return u.IsString(e)||u.IsNumber(e)?G({[e]:t}):u.IsEqual(e,!1)?G({false:t}):u.IsEqual(e,!0)?G({true:t}):G({})}var kh=m(()=>{R();le()});function Th(e,t){return Tt(so,t)}var Eh=m(()=>{Ye();er()});function vh(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?Tt(e.pattern.toString(),t):Tt(sn,t)}var Sh=m(()=>{R();Ye();er()});function Ph(e,t){let n=us(e);return _i(n)?nr(st(e),t):Tt(e,t)}var Rh=m(()=>{hs();cs();qi();V();er()});function _A(e){return L(e)?io(e.anyOf):[e]}function io(e,t=[]){return u.ShiftLeft(e,(n,r)=>io(r,[...t,..._A(n)]),()=>t)}var Vi=m(()=>{R();X()});function qA(e){return e.some(t=>ft(t)||Le(t)||lt(t))}function UA(e,t){return u.IsEqual(qA(e),!0)?Tt(sn,t):void 0}function KA(e,t){return e.reduce((n,r)=>ce(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function GA(e,t){let n=KA(e,t);return G(n)}function Ah(e,t){let n=io(e),r=UA(n,t);return Fe(r)?r:GA(n,t)}var Oh=m(()=>{R();H();Ce();dt();Tn();le();Jt();Ye();Vi();er()});function nr(e,t){return Ee(e)?Qg(t):Ht(e)?th(t):tt(e)?hh(e.enum,t):lt(e)?yh(e,t):te(e)?Ih(e.allOf,t):ce(e)?wh(e.const,t):Le(e)?Th(e,t):L(e)?Ah(e.anyOf,t):ft(e)?vh(e,t):Pe(e)?Ph(e.pattern,t):G({})}var hs=m(()=>{It();Zn();on();De();Tn();Ce();dt();le();Jt();kt();X();eh();nh();xh();bh();$h();kh();Eh();Sh();Rh();Oh()});function Oc(e,t,n){return z([e])?d.Update(nr(e,t),{},n):Yi(e,t,n)}function Mh(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Oc(s,a,o)}var Ji=m(()=>{E();Ye();hs();N()});function Yi(e,t,n={}){return F("Record",[e,t],n)}function Xi(e,t,n={}){return Oc(e,t,n)}function Ch(e,t){return Tt(e,t)}function Zi(e){return u.IsEqual(e,sn)?Vt():u.IsEqual(e,rr)?Sr():u.IsEqual(e,so)?Rt():hc(e)}function Xt(e){return u.Keys(e.patternProperties)[0]}function ao(e){let t=Xt(e);return Zi(t)}function ht(e){return e.patternProperties[Xt(e)]}function rt(e){return C(e,"Record")}var rr,so,sn,Ye=m(()=>{E();R();H();Tn();dt();Jt();ae();Gi();er();Ji();rr=`^${Li}$`,so=`^${Fi}$`,sn=`^${Di}$`});function Ar(e){return d.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function or(e){return C(e,"Rest")}var mo=m(()=>{E();H()});var Lh=m(()=>{});function Qi(e){return d.Create({"~kind":"This"},{$ref:"#"},e)}function ea(e){return C(e,"This")}var ta=m(()=>{E();H()});function uo(e){return d.Create({"~kind":"Undefined"},{type:"undefined"},e)}function co(e){return C(e,"Undefined")}var po=m(()=>{E();H()});function na(e){return d.Create({"~kind":"Void"},{type:"void"},e)}function vn(e){return C(e,"Void")}var Or=m(()=>{E();H()});var ra=m(()=>{cc();rs();Xn();is();lc();It();pt();vr();Zn();lo();Gt();$t();ae();on();Wt();Xo();dc();Pt();zt();Tn();De();Ce();Ve();ro();dt();Qe();Pr();le();gc();$r();Ye();Bt();mo();H();Lh();Jt();Pr();kt();ta();_e();po();X();Qe();Ri();Or()});function BA(e,t){return u.IsEqual(e,"Array")?Dt(t[0]):u.IsEqual(e,"Capitalize")?sa(t[0]):u.IsEqual(e,"ConstructorParameters")?ca(t[0]):u.IsEqual(e,"Evaluate")?Fy(t[0]):u.IsEqual(e,"Exclude")?pa(t[0],t[1]):u.IsEqual(e,"Extract")?la(t[0],t[1]):u.IsEqual(e,"Index")?Is(t[0],t[1]):u.IsEqual(e,"InstanceType")?da(t[0]):u.IsEqual(e,"Lowercase")?ia(t[0]):u.IsEqual(e,"NonNullable")?fa(t[0]):u.IsEqual(e,"Omit")?ga(t[0],t[1]):u.IsEqual(e,"Parameters")?ha(t[0]):u.IsEqual(e,"Partial")?xa(t[0]):u.IsEqual(e,"Pick")?ya(t[0],t[1]):u.IsEqual(e,"Readonly")?ba(t[0]):u.IsEqual(e,"KeyOf")?$s(t[0]):u.IsEqual(e,"Record")?Yi(t[0],t[1]):u.IsEqual(e,"Required")?Ia(t[0]):u.IsEqual(e,"ReturnType")?$a(t[0]):u.IsEqual(e,"Uncapitalize")?aa(t[0]):u.IsEqual(e,"Uppercase")?ma(t[0]):bs(Nn(e),t)}function Mr(){throw Error("Unreachable")}function _h(e,t=[]){return u.ShiftLeft(e,(n,r)=>_h(r,[...t,n[1]]),()=>t)}function _n(e){return u.IsEqual(e.length,3)?[e[0],..._h(e[1])]:[]}function qh(e){return Rr(e[0],e[2],e[4])}function Uh(e){return Rr(e[0],e[2],e[2])}function Kh(e){return Rr(e[0],Je(),e[2])}function Gh(e){return Rr(e,Je(),Je())}function Wh(e){return _n(e)}function Bh(e){return e[1]}function zh(e){return _n(e)}function Hh(e){return e[1]}function Vh(e){return BA(e[0],e[1])}function Jh(e){return null}function Yh(e){return Vt()}function Xh(e){return Rt()}function Zh(e){return Ci()}function Qh(e){return uo()}function ex(e){return to()}function tx(e){return Sr()}function nx(e){return as()}function rx(e){return Je()}function ox(e){return Zr()}function sx(e){return G({})}function ix(e){return de()}function ax(e){return oo()}function mx(e){return na()}function ux(e){return Qi()}function cx(e){return ne(BigInt(e))}function px(e){return ne(u.IsEqual(e,"true"))}function lx(e){return ne(parseFloat(e))}function dx(e){return ne(e)}function fx(e){return e[1]}function gx(e){return ne(e)}function hx(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function xx(e){return e[1]}function yx(e){return oa(e)}function bx(e){return u.IsEqual(e.length,6)?wr(e[1],e[3],e[5]):wr(e[1],e[3],Je())}function Ix(e){return e.length>0}function $x(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function wx(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function kx(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function Tx(e){return u.IsEqual(e.length,2)?e[1]:[]}function jh(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?Is(n,o[0]):u.IsEqual(o.length,0)?Dt(n):Mr()},e)}function Fh(e,t){return u.IsEqual(t.length,3)?ua(e,t[0],t[1],t[2]):e}function zA(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:wa(e,t)}function Ex(e){let[t,n,r,o,s]=e;return zA(Fh(t?$s(jh(n,r)):jh(n,r),o),s)}function Mc(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=Mc(r,o);if(u.IsEqual(n,"&"))return te(s)?wt([e,...s.allOf]):wt([e,s]);if(u.IsEqual(n,"|"))return L(s)?J([e,...s.anyOf]):J([e,s]);Mr()})():e}function vx(e){let[t,n]=e;return Mc(t,n)}function Sx(e){let[t,n]=e;return Mc(t,n)}function Px(e){return jy(e[1])}function Rx(e){return e[1]}function Ax(e){return Yn(e[0],e[2])}function Ox(e){return u.IsEqual(e.length,4)?Qo(e[1],e[3]):u.IsEqual(e.length,2)?Qo(e[1],Je()):Mr()}function Mx(e){return`${e}`}function Cx(e){return lt(e[3])?rr:Le(e[3])?so:Qn(e[3])?sn:ft(e[3])?sn:Mr()}function Lx(e){return e.length>0}function jx(e){return e.length>0}function Fx(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 Dx(e){return _n(e)}function Nx(e){return e.reduce((t,n)=>u.HasPropertyKey(n,rr)||u.HasPropertyKey(n,so)||u.HasPropertyKey(n,sn)?[t[0],d.Assign(t[1],n)]:[d.Assign(t[0],n),t[1]],[{},{}])}function _x(e){return Nx(e[1])}function qx(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return G(t,r)}function Ux(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]):Mr()}function Kx(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 Gx(e){return u.IsEqual(e.length,2)?Ar(e[1]):u.IsEqual(e.length,1)?e[0]:Mr()}function Wx(e){return _n(e)}function Bx(e){return je(e[1])}function zx(e){return wn(yn(e[4]))}function Hx(e){return wn(e[3])}function Vx(e){return yn(e[3])}function Jx(e){return e[2]}function Yx(e){return u.IsEqual(e.length,2)?Ar(e[1]):u.IsEqual(e.length,1)?e[0]:Mr()}function Xx(e){return _n(e)}function Zx(e){return xn(e[1],e[4])}function Qx(e){return hn(e[2],e[5])}function Dh(e,t){return u.IsEqual(e,"remove")?sh(t):u.IsEqual(e,"add")?wn(t):t}function ey(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 Nh(e,t){return u.IsEqual(e,"remove")?mh(t):u.IsEqual(e,"add")?yn(t):t}function ty(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 ny(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function ry(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?xs(ms(e[3]),e[5],e[6][0],Dh(e[1],Nh(e[8],e[10]))):xs(ms(e[3]),e[5],Nn(e[3]),Dh(e[1],Nh(e[8],e[10])))}function oy(e){return Nn(e)}function sy(e){return BigInt(e)}function iy(e){return parseFloat(e)}function ay(e){return u.IsEqual(e,"true")}function my(e){return null}function uy(e){return{[e[0]]:e[2]}}function cy(e){return _n(e)}function HA(e){return e.reduce((t,n)=>d.Assign(t,n),{})}function py(e){return HA(e[1])}function ly(e){return _n(e)}function dy(e){return e[1]}function fy(e){return as()}function gy(e){return Vt()}function hy(e){return Rt()}function xy(e){return Sr()}function yy(e){return de()}function by(e){return ne(e)}function Iy(e){return J(e[1])}function $y(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function wy(e){return[e[0],...e[1]]}function ky(e){return e[1]}function Ty(e){return _n(e)}function Ey(e){return u.IsEqual(e.length,2)?e[1]:[]}function vy(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]]:Yn(t,ys(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]]:ys(t,n,o)}}function Py(e){return{[e[1]]:Yn(e[2],e[4])}}function Ry(e){return{[e[1]]:e[3]}}function Ay(e){return null}function Oy(e){return _n(e)}function My(e){return e[1]}function Cy(e){let[t,n]=[e[0],e[1]];return Dy(d.Assign(t,Nx(n)[0]))}var Ly=m(()=>{E();R();ra();fo()});var qn=m(()=>{Yr()});function ws(e){return se(e.length,2)}function Z(e,t,n){return ws(e)?t(e[0],e[1]):n()}var At=m(()=>{qn()});function YA(e,t){return se(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function ve(e,t){for(let n=0;n<e.length;n++){let r=YA(e[n],t);if(ws(r))return r}return[]}var Sn=m(()=>{At();qn()});function Cc(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var Ny,Lc,jc,go,_y,ho,sr,ka,qy,Ta,it=m(()=>{Ny=[...Cc(97,122),...Cc(65,90)],Lc="0",jc=Cc(49,57),go=[Lc,...jc],_y=" ",ho=`
|
|
12
|
-
`,sr="_",ka=".",qy="$",Ta="-"});function Gy(e){let t=e.indexOf(ZA);return se(t,-1)?"":e.slice(t+2)}function Wy(e){let t=e.indexOf(ho);return se(t,-1)?"":e.slice(t)}function QA(e){return e.replace(/^[ \t\r\f\v]+/,"")}function Ea(e){let t=QA(e);return t.startsWith(Ky)?Ea(Gy(t.slice(2))):t.startsWith(Uy)?Ea(Wy(t.slice(2))):t}function Xe(e){let t=e.trimStart();return t.startsWith(Ky)?Xe(Gy(t.slice(2))):t.startsWith(Uy)?Xe(Wy(t.slice(2))):t}var Uy,Ky,ZA,Pn=m(()=>{qn();it();Uy="//",Ky="/*",ZA="*/"});function va(e,t){return Z(ve([e],t),(n,r)=>[n,r],()=>["",t])}var Fc=m(()=>{At();Sn()});function eO(e,t){return e.includes(t)}function xo(e,t,n,r=""){return Z(ve(e,n),(o,s)=>eO(t,o)?xo(e,t,s,r):xo(e,t,s,`${r}${o}`),()=>[r,n])}var Dc=m(()=>{At();Sn()});function tO(e){return ve(jc,e)}function rO(e){return xo(nO,[sr],e)}function oO(e){return Z(ve([Lc],e),(t,n)=>[t,n],()=>Z(tO(e),(t,n)=>Z(rO(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function Sa(e){return oO(Xe(e))}var nO,Pa=m(()=>{At();Pn();Sn();Dc();it();it();it();it();nO=[...go,sr]});function sO(e){return va(Ta,e)}function iO(e){return Z(sO(e),(t,n)=>Z(Sa(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function By(e){return iO(Xe(e))}var Nc=m(()=>{At();Pn();Fc();it();Pa()});function aO(e){return Z(By(e),(t,n)=>Z(ve(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function _c(e){return aO(e)}var zy=m(()=>{At();Sn();Nc()});function qc(e,t){return ve([e],t)}function g(e,t){return se(e,"")?["",t]:e.startsWith(ho)?qc(e,Ea(t)):e.startsWith(_y)?qc(e,t):qc(e,Xe(t))}var Hy=m(()=>{qn();Pn();Pn();Sn();it();it()});function mO(e){return ve(Vy,e)}function Jy(e,t=""){return Z(ve(uO,e),(n,r)=>Jy(r,`${t}${n}`),()=>[t,e])}function cO(e){return Z(mO(e),(t,n)=>Z(Jy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Re(e){return cO(Xe(e))}var Vy,uO,Yy=m(()=>{At();Pn();Sn();it();it();it();it();Vy=[...Ny,sr,qy];uO=[...Vy,...go]});function lO(e){return ws(ve([ka],e))}function Xy(e){return Z(xo(pO,[sr],e),(t,n)=>se(t,"")?[]:[t,n],()=>[])}function dO(e){return Z(ve([ka],e),(t,n)=>Z(Xy(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function fO(e){return Z(Sa(e),(t,n)=>Z(ve([ka],n),(r,o)=>Z(Xy(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function gO(e){return lO(e)?dO(e):fO(e)}function Zy(e){return gO(Xe(e))}var pO,Uc=m(()=>{qn();At();Pn();Sn();Dc();it();it();Pa();pO=[...go,sr]});function hO(e){return va(Ta,e)}function xO(e){return Z(hO(e),(t,n)=>Z(Zy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Ra(e){return xO(Xe(e))}var Qy=m(()=>{At();Pn();Fc();it();Uc()});var eb=m(()=>{qn()});function yO(e){return se(e,"")?[]:[e.slice(0,1),e.slice(1)]}function tb(e,t){return $i(e,(n,r)=>t.startsWith(n)?!0:tb(r,t),()=>!1)}function ir(e,t,n=""){return Z(yO(t),(r,o)=>tb(e,t)?[n,t]:ir(e,o,`${n}${r}`),()=>[])}var Aa=m(()=>{At();qn()});function bO(e,t,n){return Z(ve([e],n),(r,o)=>Z(ir([t],o),(s,a)=>Z(ve([t],a),(c,p)=>[`${s}`,p],()=>[]),()=>[]),()=>[])}function IO(e,t,n){return Z(ve([e],n),(r,o)=>Z(ir([ho,t],o),(s,a)=>Z(ve([t],a),(c,p)=>[`${s}`,p],()=>[]),()=>[]),()=>[])}function nb(e,t,n,r){return n?bO(e,t,Xe(r)):IO(e,t,Xe(r))}var Kc=m(()=>{At();Pn();it();Sn();Aa()});function $O(e,t){return ve(e,t)}function wO(e,t){return nb(e,e,!1,t)}function kO(e,t){return Z($O(e,t),(n,r)=>wO(n,`${n}${r}`),()=>[])}function Oa(e,t){return kO(e,Xe(t))}var rb=m(()=>{At();Sn();Pn();Kc()});function ob(e,t){return Z(ir(e,t),(n,r)=>se(n,"")?[]:[n,r],()=>[])}var sb=m(()=>{qn();At();Aa()});var ib=m(()=>{zy();Hy();Yy();Nc();Qy();eb();Kc();rb();Pa();Uc();sb();Aa()});var i,EO,vO,SO,PO,ub,cb,RO,Bc,pb,AO,OO,MO,lb,db,fb,CO,LO,jO,gb,FO,DO,NO,_O,qO,hb,UO,KO,GO,Gc,xb,zc,WO,BO,zO,HO,VO,JO,YO,yb,XO,ZO,QO,eM,bb,Ib,$b,wb,Ma,tM,nM,rM,oM,ie,sM,iM,aM,mM,kb,Tb,Eb,vb,Ca,Sb,uM,Hc,cM,pM,ab,Pb,Rb,lM,dM,fM,gM,hM,xM,mb,Ab,Ob,Mb,yM,bM,IM,$M,wM,kM,TM,EM,vM,SM,PM,RM,AM,Cb,Lb,OM,jb,Fb,MM,CM,Vc,LM,jM,FM,DM,NM,_M,qM,UM,Db,Wc,Jc,Bg,Nb,KM,_b,GM,WM,BM,zM,HM,qb,Ub,VM,Yc,JM,Kb,Ni=m(()=>{Ly();ib();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),EO=e=>i(i(Re(e),([t,n])=>i(g("extends",n),([r,o])=>i(ie(o),([s,a])=>i(g("=",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[qh(t),n]),vO=e=>i(i(Re(e),([t,n])=>i(g("extends",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Uh(t),n]),SO=e=>i(i(Re(e),([t,n])=>i(g("=",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Kh(t),n]),PO=e=>i(Re(e),([t,n])=>[Gh(t),n]),ub=e=>i(i(EO(e),([t,n])=>[t,n],()=>i(vO(e),([t,n])=>[t,n],()=>i(SO(e),([t,n])=>[t,n],()=>i(PO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),cb=(e,t=[])=>i(i(g(",",e),([n,r])=>i(ub(r),([o,s])=>[[n,o],s])),([n,r])=>cb(r,[...t,n]),()=>[t,e]),RO=e=>i(i(i(ub(e),([t,n])=>i(cb(n),([r,o])=>i(i(g(",",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]),Bc=e=>i(i(g("<",e),([t,n])=>i(RO(n),([r,o])=>i(g(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Bh(t),n]),pb=(e,t=[])=>i(i(g(",",e),([n,r])=>i(ie(r),([o,s])=>[[n,o],s])),([n,r])=>pb(r,[...t,n]),()=>[t,e]),AO=e=>i(i(i(ie(e),([t,n])=>i(pb(n),([r,o])=>i(i(g(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[zh(t),n]),OO=e=>i(i(g("<",e),([t,n])=>i(AO(n),([r,o])=>i(g(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Hh(t),n]),MO=e=>i(i(Re(e),([t,n])=>i(OO(n),([r,o])=>[[t,r],o])),([t,n])=>[Vh(t),n]),lb=e=>i(i(i(g(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Jh(t),n]),db=e=>i(g("string",e),([t,n])=>[Yh(t),n]),fb=e=>i(g("number",e),([t,n])=>[Xh(t),n]),CO=e=>i(g("boolean",e),([t,n])=>[Zh(t),n]),LO=e=>i(g("undefined",e),([t,n])=>[Qh(t),n]),jO=e=>i(g("null",e),([t,n])=>[ex(t),n]),gb=e=>i(g("integer",e),([t,n])=>[tx(t),n]),FO=e=>i(g("bigint",e),([t,n])=>[nx(t),n]),DO=e=>i(g("unknown",e),([t,n])=>[rx(t),n]),NO=e=>i(g("any",e),([t,n])=>[ox(t),n]),_O=e=>i(g("object",e),([t,n])=>[sx(t),n]),qO=e=>i(g("never",e),([t,n])=>[ix(t),n]),hb=e=>i(g("symbol",e),([t,n])=>[ax(t),n]),UO=e=>i(g("void",e),([t,n])=>[mx(t),n]),KO=e=>i(g("this",e),([t,n])=>[ux(t),n]),GO=e=>i(i(g("${",e),([t,n])=>i(ie(n),([r,o])=>i(g("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[fx(t),n]),Gc=e=>i(ir(["${","`"],e),([t,n])=>[gx(t),n]),xb=e=>i(i(i(Gc(e),([t,n])=>i(GO(n),([r,o])=>i(xb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Gc(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(Gc(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[hx(t),n]),zc=e=>i(i(g("`",e),([t,n])=>i(xb(n),([r,o])=>i(g("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[xx(t),n]),WO=e=>i(zc(e),([t,n])=>[yx(t),n]),BO=e=>i(i(i(g("if",e),([t,n])=>i(ie(n),([r,o])=>i(g("then",o),([s,a])=>i(ie(a),([c,p])=>i(g("else",p),([f,I])=>i(ie(I),([w,M])=>[[t,r,s,c,f,w],M])))))),([t,n])=>[t,n],()=>i(i(g("if",e),([t,n])=>i(ie(n),([r,o])=>i(g("then",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>[])),([t,n])=>[bx(t),n]),zO=e=>i(_c(e),([t,n])=>[cx(t),n]),HO=e=>i(i(g("true",e),([t,n])=>[t,n],()=>i(g("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[px(t),n]),VO=e=>i(Ra(e),([t,n])=>[lx(t),n]),JO=e=>i(Oa(["'",'"'],e),([t,n])=>[dx(t),n]),YO=e=>i(i(i(g("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ix(t),n]),yb=(e,t=[])=>i(i(i(g("[",e),([n,r])=>i(ie(r),([o,s])=>i(g("]",s),([a,c])=>[[n,o,a],c]))),([n,r])=>[n,r],()=>i(i(g("[",e),([n,r])=>i(g("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>yb(r,[...t,n]),()=>[t,e]),XO=e=>i(yb(e),([t,n])=>[$x(t),n]),ZO=e=>i(i(i(g("extends",e),([t,n])=>i(ie(n),([r,o])=>i(g("?",o),([s,a])=>i(ie(a),([c,p])=>i(g(":",p),([f,I])=>i(ie(I),([w,M])=>[[t,r,s,c,f,w],M])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[wx(t),n]),QO=e=>i(i(i(g("(",e),([t,n])=>i(ie(n),([r,o])=>i(g(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(db(e),([t,n])=>[t,n],()=>i(fb(e),([t,n])=>[t,n],()=>i(CO(e),([t,n])=>[t,n],()=>i(LO(e),([t,n])=>[t,n],()=>i(jO(e),([t,n])=>[t,n],()=>i(gb(e),([t,n])=>[t,n],()=>i(FO(e),([t,n])=>[t,n],()=>i(DO(e),([t,n])=>[t,n],()=>i(NO(e),([t,n])=>[t,n],()=>i(_O(e),([t,n])=>[t,n],()=>i(qO(e),([t,n])=>[t,n],()=>i(hb(e),([t,n])=>[t,n],()=>i(UO(e),([t,n])=>[t,n],()=>i(KO(e),([t,n])=>[t,n],()=>i(zO(e),([t,n])=>[t,n],()=>i(HO(e),([t,n])=>[t,n],()=>i(VO(e),([t,n])=>[t,n],()=>i(JO(e),([t,n])=>[t,n],()=>i(WO(e),([t,n])=>[t,n],()=>i(BO(e),([t,n])=>[t,n],()=>i(cM(e),([t,n])=>[t,n],()=>i(dM(e),([t,n])=>[t,n],()=>i(bM(e),([t,n])=>[t,n],()=>i(yM(e),([t,n])=>[t,n],()=>i(kM(e),([t,n])=>[t,n],()=>i(MO(e),([t,n])=>[t,n],()=>i(TM(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[kx(t),n]),eM=e=>i(i(i(g("with",e),([t,n])=>i(jb(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Tx(t),n]),bb=e=>i(i(YO(e),([t,n])=>i(QO(n),([r,o])=>i(XO(o),([s,a])=>i(ZO(a),([c,p])=>i(eM(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Ex(t),n]),Ib=e=>i(i(i(g("&",e),([t,n])=>i(bb(n),([r,o])=>i(Ib(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),$b=e=>i(i(bb(e),([t,n])=>i(Ib(n),([r,o])=>[[t,r],o])),([t,n])=>[vx(t),n]),wb=e=>i(i(i(g("|",e),([t,n])=>i($b(n),([r,o])=>i(wb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Ma=e=>i(i($b(e),([t,n])=>i(wb(n),([r,o])=>[[t,r],o])),([t,n])=>[Sx(t),n]),tM=e=>i(i(g("readonly",e),([t,n])=>i(Ma(n),([r,o])=>[[t,r],o])),([t,n])=>[Px(t),n]),nM=e=>i(i(g("|",e),([t,n])=>i(Ma(n),([r,o])=>[[t,r],o])),([t,n])=>[Rx(t),n]),rM=e=>i(i(Bc(e),([t,n])=>i(g("=",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ax(t),n]),oM=e=>i(i(i(g("infer",e),([t,n])=>i(Re(n),([r,o])=>i(g("extends",o),([s,a])=>i(Ma(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>i(i(g("infer",e),([t,n])=>i(Re(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[Ox(t),n]),ie=e=>i(i(oM(e),([t,n])=>[t,n],()=>i(nM(e),([t,n])=>[t,n],()=>i(tM(e),([t,n])=>[t,n],()=>i(Ma(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),sM=e=>i(Ra(e),([t,n])=>[Mx(t),n]),iM=e=>i(Re(e),([t,n])=>[t,n]),aM=e=>i(Oa(["'",'"'],e),([t,n])=>[t,n]),mM=e=>i(i(g("[",e),([t,n])=>i(Re(n),([r,o])=>i(g(":",o),([s,a])=>i(i(gb(a),([c,p])=>[c,p],()=>i(fb(a),([c,p])=>[c,p],()=>i(db(a),([c,p])=>[c,p],()=>i(hb(a),([c,p])=>[c,p],()=>[])))),([c,p])=>i(g("]",p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Cx(t),n]),kb=e=>i(i(sM(e),([t,n])=>[t,n],()=>i(iM(e),([t,n])=>[t,n],()=>i(aM(e),([t,n])=>[t,n],()=>i(mM(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Tb=e=>i(i(i(g("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Lx(t),n]),Eb=e=>i(i(i(g("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[jx(t),n]),vb=e=>i(i(Tb(e),([t,n])=>i(kb(n),([r,o])=>i(Eb(o),([s,a])=>i(g(":",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Fx(t),n]),Ca=e=>i(i(i(g(",",e),([t,n])=>i(g(`
|
|
11
|
+
`)}function Ko(e={}){return t=>{t.on("tool_call",async n=>{let r=Od(n.toolName,n.input);if(r)return{block:!0,reason:Cd(n.toolName,r.repeats)};let o=Zu,s=Ud(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 ${Xu(n.toolName)}-tier tool and no UI can approve it here (approval mode: ${o}).`};if(!await qd(`${n.toolName} wants to run`,Gd(n.toolName,n.input,s.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${o}).`}})}}var Vr,gi,Yu,Nd,YP,XP,Zu,qd,Go=m(()=>{zu();Ju();Ju();Vr=["suggest","auto-edit","full-auto"],gi={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Yu={read:0,write:1,exec:2},Nd={suggest:"read","auto-edit":"write","full-auto":"exec"},YP={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",web_search:"read",web_fetch:"read",lsp:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};XP=[{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"}];Zu="full-auto",qd=async()=>!1});function QP(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 tA(e){if(!e)return;let t=!1,n={...e};for(let r of eA){let o=n[r];if(typeof o!="string")continue;let s=QP(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function Bd(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=tA(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var eA,zd=m(()=>{eA=["preamble","rules","docs","addendum"]});import{Type as Jr}from"@earendil-works/pi-ai";import{defineTool as Hd}from"@earendil-works/pi-coding-agent";function Vd(e){tc=e}var tc,Jd,Yd,nc=m(()=>{Jd=Hd({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:Jr.Object({thoughts:Jr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),Yd=Hd({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:Jr.Object({question:Jr.String(),options:Jr.Array(Jr.String(),{minItems:2})}),async execute(e,t){if(!tc)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await tc(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var tn,hr=m(()=>{tn={assign:0,create:0,clone:0,discard:0,update:0}});function xr(e,t,n){return e>=t&&e<=n}function Qd(e){return e===8205}function nA(e){return xr(e,55296,56319)}function Xd(e){return xr(e,127462,127487)}function ef(e){return xr(e,65024,65039)}function tf(e){return xr(e,768,879)||xr(e,6832,6911)||xr(e,7616,7679)||xr(e,65056,65071)}function hi(e){return e>65535?2:1}function Zd(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(tf(n)||ef(n))t+=hi(n);else break}return t}function rc(e,t){let n=e.codePointAt(t),r=t+hi(n);for(r=Zd(e,r);r<e.length-1&&Qd(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+hi(o),r=Zd(e,r)}return Xd(n)&&r<e.length&&Xd(e.codePointAt(r))&&(r+=hi(e.codePointAt(r))),r}function nf(e){return e>=768&&(nA(e)||tf(e)||ef(e)||Qd(e))}function rf(e){let t=0,n=0;for(;n<e.length;)n=rc(e,n),t++;return t}function rA(e,t){let n=0,r=0;for(;r<e.length;)if(r=rc(e,r),++n>=t)return!0;return!1}function oA(e,t){let n=0,r=0;for(;r<e.length;)if(r=rc(e,r),++n>t)return!1;return!0}function of(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(nf(e.charCodeAt(n)))return rA(e,t);if(++n>=t)return!0}}function sf(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(nf(e.charCodeAt(n)))return oA(e,t);if(++n>t)return!1}}var af=m(()=>{});var u={};Ft(u,{Counted:()=>IA,Entries:()=>kA,EntriesRegExp:()=>wA,Every:()=>hA,EveryAll:()=>xA,GraphemeCount:()=>dA,HasPropertyKey:()=>$A,IsArray:()=>Bo,IsBigInt:()=>Wo,IsBoolean:()=>mf,IsClassInstance:()=>lA,IsConstructor:()=>iA,IsDeepEqual:()=>ic,IsEqual:()=>se,IsFunction:()=>uf,IsGreaterEqualThan:()=>pf,IsGreaterThan:()=>uA,IsInteger:()=>oc,IsLessEqualThan:()=>cf,IsLessThan:()=>cA,IsMaxLength:()=>fA,IsMinLength:()=>gA,IsMultipleOf:()=>pA,IsNull:()=>yi,IsNumber:()=>bi,IsObject:()=>zo,IsObjectNotArray:()=>aA,IsString:()=>Ii,IsSymbol:()=>mA,IsUndefined:()=>sc,IsUnsafePropertyKey:()=>df,IsValueLike:()=>lf,Keys:()=>xi,ShiftLeft:()=>$i,Some:()=>yA,SomeAll:()=>bA,Symbols:()=>TA,Values:()=>vA});function Bo(e){return Array.isArray(e)}function Wo(e){return se(typeof e,"bigint")}function mf(e){return se(typeof e,"boolean")}function iA(e){if(sc(e)||!uf(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function uf(e){return se(typeof e,"function")}function oc(e){return Number.isInteger(e)}function yi(e){return se(e,null)}function bi(e){return Number.isFinite(e)}function aA(e){return zo(e)&&!Bo(e)}function zo(e){return se(typeof e,"object")&&!yi(e)}function Ii(e){return se(typeof e,"string")}function mA(e){return se(typeof e,"symbol")}function sc(e){return se(e,void 0)}function se(e,t){return e===t}function uA(e,t){return e>t}function cA(e,t){return e<t}function cf(e,t){return e<=t}function pf(e,t){return e>=t}function pA(e,t){if(Wo(e)||Wo(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!bi(e)||oc(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 lA(e){if(!zo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return yi(t)?!1:se(typeof t.constructor,"function")&&!(se(t.constructor,globalThis.Object)||se(t.constructor.name,"Object"))}function lf(e){return Wo(e)||mf(e)||yi(e)||bi(e)||Ii(e)||sc(e)}function dA(e){return rf(e)}function fA(e,t){return sf(e,t)}function gA(e,t){return of(e,t)}function hA(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function xA(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function yA(e,t){return e.some((n,r)=>t(n,r))}function bA(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function IA(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function $i(e,t,n){return se(e.length,0)?n():t(e[0],e.slice(1))}function df(e){return se(e,"__proto__")||se(e,"constructor")||se(e,"prototype")}function $A(e,t){return df(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function wA(e){return xi(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function kA(e){return Object.entries(e)}function xi(e){return Object.getOwnPropertyNames(e)}function TA(e){return Object.getOwnPropertySymbols(e)}function vA(e){return Object.values(e)}function EA(e,t){if(!zo(t))return!1;let n=xi(e);return se(n.length,xi(t).length)&&n.every(r=>ic(e[r],t[r]))}function SA(e,t){return Bo(t)&&se(e.length,t.length)&&e.every((n,r)=>ic(e[r],t[r]))}function ic(e,t){return Bo(e)?SA(e,t):zo(e)?EA(e,t):se(e,t)}var Yr=m(()=>{af()});var ff=m(()=>{Yr()});var Hn={};Ft(Hn,{IsBigInt64Array:()=>KA,IsBigUint64Array:()=>GA,IsBoolean:()=>AA,IsDate:()=>BA,IsFloat32Array:()=>qA,IsFloat64Array:()=>UA,IsInt16Array:()=>FA,IsInt32Array:()=>NA,IsInt8Array:()=>CA,IsMap:()=>HA,IsNumber:()=>RA,IsRegExp:()=>WA,IsSet:()=>zA,IsString:()=>OA,IsTypeArray:()=>MA,IsUint16Array:()=>DA,IsUint32Array:()=>_A,IsUint8Array:()=>LA,IsUint8ClampedArray:()=>jA});function AA(e){return e instanceof Boolean}function RA(e){return e instanceof Number}function OA(e){return e instanceof String}function MA(e){return globalThis.ArrayBuffer.isView(e)}function CA(e){return e instanceof globalThis.Int8Array}function LA(e){return e instanceof globalThis.Uint8Array}function jA(e){return e instanceof globalThis.Uint8ClampedArray}function FA(e){return e instanceof globalThis.Int16Array}function DA(e){return e instanceof globalThis.Uint16Array}function NA(e){return e instanceof globalThis.Int32Array}function _A(e){return e instanceof globalThis.Uint32Array}function qA(e){return e instanceof globalThis.Float32Array}function UA(e){return e instanceof globalThis.Float64Array}function KA(e){return e instanceof globalThis.BigInt64Array}function GA(e){return e instanceof globalThis.BigUint64Array}function WA(e){return e instanceof globalThis.RegExp}function BA(e){return e instanceof globalThis.Date}function zA(e){return e instanceof globalThis.Set}function HA(e){return e instanceof globalThis.Map}var gf=m(()=>{});var hf=m(()=>{Yr()});var A=m(()=>{ff();gf();hf();Yr();Yr()});var nn={};Ft(nn,{Get:()=>XA,Reset:()=>JA,Set:()=>YA});function JA(){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 YA(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(gn,t,{value:n})}}function XA(){return gn}var gn,xf=m(()=>{A();gn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var yr=m(()=>{xf()});function Vn(e){return nn.Get().immutableTypes?Object.freeze(e):e}var Ho=m(()=>{yr()});function ZA(e,t){return tn.assign+=1,Vn({...e,...t})}var yf=m(()=>{hr();Ho()});function QA(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function eR(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=br(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function tR(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=br(e[n]));for(let n of u.Symbols(e))t[n]=br(e[n]);return t}function nR(e){return u.IsClassInstance(e)?e:QA(e)?eR(e):tR(e)}function rR(e){return e.map(t=>br(t))}function oR(e){return e.slice()}function sR(e){return new RegExp(e.source,e.flags)}function iR(e){return new Map(br([...e.entries()]))}function aR(e){return new Set(br([...e.values()]))}function br(e){return Hn.IsTypeArray(e)?oR(e):Hn.IsRegExp(e)?sR(e):Hn.IsMap(e)?iR(e):Hn.IsSet(e)?aR(e):u.IsArray(e)?rR(e):u.IsObject(e)?nR(e):e}function Vo(e){return tn.clone+=1,br(e)}var wi=m(()=>{A();hr()});function mR(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 bf(e,t){return{...e,...t}}function uR(e,t,n={}){tn.create+=1;let r=bf(t,n),o=nn.Get().enumerableKind?bf(r,e):mR(r,e);return Vn(o)}var If=m(()=>{yr();hr();Ho()});function cR(e,t){tn.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Vo(o.value),Object.defineProperty(n,r,o)}return Vn(n)}var $f=m(()=>{A();hr();Ho();wi()});function pR(e,t,n){tn.update+=1;let r=nn.Get(),o=Vo(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 Vn(o)}var wf=m(()=>{yr();hr();Ho();wi()});var d={};Ft(d,{Assign:()=>ZA,Clone:()=>Vo,Create:()=>uR,Discard:()=>cR,Metrics:()=>tn,Update:()=>pR});var kf=m(()=>{yf();wi();If();$f();hr();wf()});var v=m(()=>{kf()});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 H=m(()=>{A()});function F(e,t,n){return d.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Jn(e){return C(e,"Deferred")}var ae=m(()=>{v();H()});function lR(e){return d.Update(e,{"~readonly":!0},{})}function Jo(e,t){return d.Update(lR(e),{},t)}function Tf(e,t,n,r){let o=$(e,t,n);return Jo(o,r)}var ki=m(()=>{v();N()});function dR(e){return d.Update(e,{"~optional":!0},{})}function Yo(e,t){return d.Update(dR(e),{},t)}function vf(e,t,n,r){let o=$(e,t,n);return Yo(o,r)}var Ti=m(()=>{v();N()});function Dt(e,t){return d.Create({"~kind":"Array"},{type:"array",items:e},t)}function we(e){return C(e,"Array")}function vi(e){return d.Discard(e,["~kind","type","items"])}var pt=m(()=>{v();H()});function hn(e,t,n={}){return d.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function Ue(e){return C(e,"Constructor")}function Ef(e){return d.Discard(e,["~kind","type","parameters","instanceType"])}var Gt=m(()=>{v();H()});function xn(e,t,n={}){return d.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function Ke(e){return C(e,"Function")}function Sf(e){return d.Discard(e,["~kind","type","parameters","returnType"])}var Wt=m(()=>{v();H()});function Nn(e,t){return d.Create({"~kind":"Ref"},{$ref:e},t)}function Ge(e){return C(e,"Ref")}var Bt=m(()=>{v();H()});function Yn(e,t){return d.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Xr(e){return C(e,"Generic")}var Xo=m(()=>{v();H()});function Zr(e){return d.Create({"~kind":"Any"},{},e)}function ve(e){return C(e,"Any")}var It=m(()=>{v();H()});function de(e){return d.Create({"~kind":"Never"},{not:{}},e)}function rn(e){return C(e,"Never")}var Pf,Ve=m(()=>{v();H();Pf="(?!)"});function yn(e,t={}){return F("AddOptional",[e],t)}function Ir(e,t={}){return Yo(e,t)}var Zo=m(()=>{ae();Ti()});function Af(e){return Ir(e)}function ot(e){return Fe(e)&&u.HasPropertyKey(e,"~optional")}var Xn=m(()=>{A();H();Zo()});function Rf(e){return u.Keys(e).filter(t=>!ot(e[t]))}function Ei(e){return u.Keys(e)}function Si(e){return u.Values(e)}var $r=m(()=>{A();Xn()});function G(e,t={}){let n=Rf(e),r=n.length>0?{required:n}:{};return d.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function ue(e){return C(e,"Object")}function Of(e){return d.Discard(e,["~kind","type","properties","required"])}var le=m(()=>{v();H();$r()});function Je(e){return d.Create({"~kind":"Unknown"},{},e)}function Oe(e){return C(e,"Unknown")}var Qe=m(()=>{v();H()});function bn(e,t,n){let r=u.Keys(e).reduce((o,s)=>({...o,[s]:d.Update(e[s],{},{$id:s})}),{});return d.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function et(e){return C(e,"Cyclic")}var $t=m(()=>{A();v();H()});function Mf(e){return d.Update(e,{"~unsafe":null},{})}function Pi(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var Ai=m(()=>{A();v()});var In={};Ft(In,{Match:()=>fR});function fR(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var Cf=m(()=>{});var Qr=m(()=>{Cf()});function Qo(...e){let[t,n]=In.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,Je(),Je()]});return d.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Me(e){return C(e,"Infer")}var zt=m(()=>{Qr();v();H();Qe()});function wr(e,t,n,r={}){return d.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function Se(e){return C(e,"Dependent")}function Lf(e){return d.Discard(e,["~kind","if","then","else"])}var Pt=m(()=>{v();H()});function jf(e){return u.IsObjectNotArray(e)}function Ff(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var Ri=m(()=>{A()});function Df(e){return u.IsString(e)||u.IsNumber(e)}function Nf(e,t){let n=jf(e)?Ff(e):e;return d.Create({"~kind":"Enum"},{enum:n},t)}function tt(e){return C(e,"Enum")}var on=m(()=>{A();v();H();Ri();Ri()});function wt(e,t={}){return d.Create({"~kind":"Intersect"},{allOf:e},t)}function te(e){return C(e,"Intersect")}function _f(e){return d.Discard(e,["~kind","allOf"])}var De=m(()=>{v();H()});var qf=m(()=>{yr();A()});var Uf=m(()=>{qf()});var Kf=m(()=>{Uf()});function Ne(){throw new Error("Unreachable")}var ac=m(()=>{});var $n=m(()=>{ac()});var Gf,uq,cq,pq,lq,Wf,dq,fq,gq,Bf=m(()=>{$n();A();(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"})(Gf||(Gf={}));uq=BigInt("14695981039346656037"),[cq,pq]=[BigInt("1099511628211"),BigInt("18446744073709551616")],lq=Array.from({length:256}).map((e,t)=>BigInt(t)),Wf=new Float64Array(1),dq=new DataView(Wf.buffer),fq=new Uint8Array(Wf.buffer),gq=new TextEncoder});var zf=m(()=>{Bf()});var mc=m(()=>{});var Hf=m(()=>{mc()});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 uc=m(()=>{});var sg=m(()=>{});var ig=m(()=>{});var ag=m(()=>{});var mg=m(()=>{});var ug=m(()=>{});var cg=m(()=>{});var pg=m(()=>{});var lg=m(()=>{});var dg=m(()=>{});var fg=m(()=>{});var gg=m(()=>{});var hg=m(()=>{});var xg=m(()=>{});var yg=m(()=>{});var bg=m(()=>{});var Ig=m(()=>{});var $g=m(()=>{});var wg=m(()=>{});var kg=m(()=>{});var Tg=m(()=>{});var vg=m(()=>{});var Eg=m(()=>{});var Sg=m(()=>{});var Pg=m(()=>{});var Ag=m(()=>{});var Rg=m(()=>{Hf();Vf();Jf();Yf();Xf();Zf();mc();Qf();eg();tg();ng();rg();og();uc();uc();sg();ig();ag();mg();ug();cg();pg();lg();dg();fg();gg();hg();xg();yg();bg();Ig();$g();wg();kg();Tg();vg();Eg();Sg();Pg();Ag()});var Og=m(()=>{Rg()});var es=m(()=>{Qr();Kf();zf();Og();v();yr()});var Cg=m(()=>{es();es();es()});function Mi(e){return new ns(e)}function Lg(e,t){return Mi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function jg(e,t){return Mi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function Oi(e){return Fe(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var ts,ns,cc=m(()=>{Cg();A();H();ts=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=Oi(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=Oi(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return d.Update(this.type,{"~codec":s},{})}},ns=class{constructor(t){this.type=t}Decode(t){return new ts(this.type,t)}}});function Fg(e){return eo(e)}function kr(e){return Fe(e)&&u.HasPropertyKey(e,"~immutable")}var rs=m(()=>{A();H();os()});function wn(e,t={}){return F("AddReadonly",[e],t)}function Tr(e,t={}){return Jo(e,t)}var ss=m(()=>{ae();ki()});function Dg(e){return Tr(e)}function vr(e){return Fe(e)&&u.HasPropertyKey(e,"~readonly")}var is=m(()=>{A();H();ss()});function yR(e,t){let n=pc(e)?[...e["~refine"],t]:[t];return d.Update(e,{"~refine":n},{})}function Ng(...e){let[t,n,r]=In.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return yR(t,{check:n,error:r})}function bR(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function pc(e){return Fe(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>bR(t))}var lc=m(()=>{Qr();v();A();H()});function as(e){return d.Create({"~kind":"BigInt"},{type:"bigint"},e)}function kn(e){return C(e,"BigInt")}var _g,Er=m(()=>{v();H();_g="-?(?:0|[1-9][0-9]*)n"});function Ci(e){return d.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Ht(e){return C(e,"Boolean")}var Zn=m(()=>{v();H()});function ms(e){return d.Create({"~kind":"Identifier"},{name:e})}function qg(e){return C(e,"Identifier")}var dc=m(()=>{v();H()});function Sr(e){return d.Create({"~kind":"Integer"},{type:"integer"},e)}function lt(e){return C(e,"Integer")}var Li,Tn=m(()=>{v();H();Li="-?(?:0|[1-9][0-9]*)"});function IR(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new fc(e)})()}function ne(e,t){return d.Create({"~kind":"Literal"},{type:IR(e),const:e},t)}function ji(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function Ug(e){return ce(e)&&u.IsNumber(e.const)}function Kg(e){return ce(e)&&u.IsString(e.const)}function ce(e){return C(e,"Literal")}var fc,Ce=m(()=>{v();A();H();fc=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function to(e){return d.Create({"~kind":"Null"},{type:"null"},e)}function no(e){return C(e,"Null")}var ro=m(()=>{v();H()});function At(e){return d.Create({"~kind":"Number"},{type:"number"},e)}function Le(e){return C(e,"Number")}var Fi,dt=m(()=>{v();H();Fi="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function oo(e){return d.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Qn(e){return C(e,"Symbol")}var Pr=m(()=>{v();H()});function Ar(...e){let[t,n,r]=In.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,Je(),Je()]});return d.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function Gg(e){return C(e,"Parameter")}var gc=m(()=>{Qr();v();H();Qe()});function Vt(e){return d.Create({"~kind":"String"},{type:"string"},e)}function ft(e){return C(e,"String")}var Di,Jt=m(()=>{v();H();Di=".*"});function J(e,t={}){return d.Create({"~kind":"Union"},{anyOf:e},t)}function L(e){return C(e,"Union")}function Wg(e){return d.Discard(e,["~kind","anyOf"])}var X=m(()=>{v();H()});function us(e){let t=Bg(e);return u.IsEqual(t.length,2)?t[0]:[]}var cs=m(()=>{A();Ni()});function $R(e){return!0}function zg(e){return u.ShiftLeft(e,(t,n)=>wR(t)?zg(n):!1,()=>!0)}function Hg(e){return u.IsEqual(e.length,0)?!1:zg(e)}function wR(e){return L(e)?Hg(e.anyOf):ce(e)?$R(e.const):!1}function _i(e){return Hg(e)}var qi=m(()=>{A();Ce();X()});function Ui(e){return d.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Ki=m(()=>{v()});function Vg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Vg(o,t,[...n,`${r}${t}`]),()=>n)}function kR(e,t){return u.IsEqual(e.length,0)?[`${t}`]:Vg(e,t)}function Jg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Jg(e,o,[...n,...Yg(e,r)]),()=>n)}function Yg(e,t){return L(t)?Jg(e,t.anyOf):ce(t)?kR(e,t.const):Ne()}function Xg(e,t){return u.ShiftLeft(t,(n,r)=>Xg(Yg(e,n),r),()=>e)}function TR(e){return e.map(t=>ne(t))}function vR(e){let t=Xg([],e),n=TR(t);return J(n)}function ER(e){return u.IsEqual(e.length,0)?Ne():u.IsEqual(e.length,1)&&ce(e[0])?e[0]:vR(e)}function hc(e){let t=us(e);return u.IsEqual(t.length,0)?Vt():_i(t)?ER(t):Ui(e)}function Zg(e){let t=hc(e);return Pe(t)?Vt():t}var Gi=m(()=>{A();$n();Ce();Jt();kt();X();cs();qi();Ki()});function Tt(e,t){let n="object",r={[e]:t};return d.Create({"~kind":"Record"},{type:n,patternProperties:r})}var er=m(()=>{v()});function Qg(e){return Tt(sn,e)}var eh=m(()=>{Ye();er()});function th(e){return G({true:e,false:e})}var nh=m(()=>{le()});function je(e,t={}){let[n,r,o]=[e,e.length,!1];return d.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function he(e){return C(e,"Tuple")}function rh(e){return d.Discard(e,["~kind","type","items","minItems","additionalItems"])}var _e=m(()=>{v();H()});function SR(e){return d.Discard(e,["~readonly"])}function xc(e,t){return d.Update(SR(e),{},t)}function oh(e,t,n,r){let o=$(e,t,n);return xc(o,r)}var yc=m(()=>{v();N()});function sh(e,t={}){return F("RemoveReadonly",[e],t)}function ih(e,t={}){return xc(e,t)}var bc=m(()=>{ae();yc()});function PR(e){return d.Discard(e,["~optional"])}function Ic(e,t){return d.Update(PR(e),{},t)}function ah(e,t,n,r){let o=$(e,t,n);return Ic(o,r)}var $c=m(()=>{v();N()});function mh(e,t={}){return F("RemoveOptional",[e],t)}function Wi(e,t={}){return Ic(e,t)}var Bi=m(()=>{ae();$c()});function wc(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function uh(e){let t=wc(e.items);return G(t)}var kc=m(()=>{le()});function Tc(e){return ue(e)||he(e)}function AR(e,t){return vr(e)?!!vr(t):!1}function RR(e,t){return ot(e)?!!ot(t):!1}function OR(e,t){let n=AR(e,t),r=RR(e,t),o=ke([e,t]),s=ih(Wi(o));return n&&r?Tr(Ir(s)):n&&!r?Tr(s):!n&&r?Ir(s):s}function MR(e,t,n){return n in e?n in t?OR(e[n],t[n]):e[n]:n in t?t[n]:de()}function CR(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:MR(e,t,s)}),{})}function ch(e){return ue(e)?e.properties:he(e)?wc(e.items):{}}function ph(e,t){let n=ch(e),r=ch(t),o=CR(n,r);return G(o)}var vc=m(()=>{A();is();Xn();le();Ve();_e();ss();Zo();bc();Bi();kc();V()});function LR(e,t){let n=ds(e,t);return u.IsEqual(n,ls)?e:u.IsEqual(n,zi)||u.IsEqual(n,ps)?t:de()}function jR(e,t){let n=Tc(e),r=Tc(t);return n&&r?ph(e,t):n&&!r?e:!n&&r?t:LR(e,t)}function lh(e,t){return rn(e)||ve(e)?e:Oe(e)||rn(t)||ve(t)?t:Oe(t)?e:jR(e,t)}var Ec=m(()=>{A();It();Ve();Qe();fs();vc()});function FR(e,t){return L(e)||L(t)}function DR(e,t){let n=Yt(e),r=Yt(t);return FR(n,r)?ke([n,r]):lh(n,r)}function dh(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>dh(e,o,[...n,DR(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function fh(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>fh(o,t,[...n,...gs([r],t)]),()=>n)}function gs(e,t=[]){return u.ShiftLeft(e,(n,r)=>L(n)?gs(r,fh(n.anyOf,t)):gs(r,dh(n,t)),()=>t)}var Sc=m(()=>{A();X();Ec();V();V()});function NR(e,t){let n=nt({},e,t);return W.IsExtendsTrueLike(n)?[]:[e]}function gh(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>gh(o,t,[...n,...NR(r,t)]),()=>n)}function Hi(e,t){let n=Yt(e),r=L(n)?n.anyOf:[n],o=gh(r,t);return vt(o)}var Pc=m(()=>{A();X();vn();V();V()});function an(e,t,n){let r=ke([e,t]),o=Hi(n,e);return vt([r,o])}function gt(e,t=[]){return u.ShiftLeft(e,(n,r)=>gt(r,[...t,ne(n)]),()=>vt(t))}function ke(e){let t=gs(e),n=Ac(t);return vt(n)}function st(e){let t=Zg(e);return Yt(t)}function vt(e){let t=Ac(e);return tr(t)}function Yt(e){return Se(e)?an(e.if,e.then,e.else):tt(e)?gt(e.enum):te(e)?ke(e.allOf):Pe(e)?st(e.pattern):L(e)?vt(e.anyOf):e}function tr(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?de():J(e)}var V=m(()=>{A();Pt();on();De();Ce();Ve();kt();X();Sc();Rc();Pc();Gi()});function hh(e,t){let n=gt(e);return nr(n,t)}var xh=m(()=>{hs();V()});function yh(e,t){return Tt(rr,t)}var bh=m(()=>{Ye();er()});function Ih(e,t){let n=ke(e);return nr(n,t)}var $h=m(()=>{V();hs()});function wh(e,t){return u.IsString(e)||u.IsNumber(e)?G({[e]:t}):u.IsEqual(e,!1)?G({false:t}):u.IsEqual(e,!0)?G({true:t}):G({})}var kh=m(()=>{A();le()});function Th(e,t){return Tt(so,t)}var vh=m(()=>{Ye();er()});function Eh(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?Tt(e.pattern.toString(),t):Tt(sn,t)}var Sh=m(()=>{A();Ye();er()});function Ph(e,t){let n=us(e);return _i(n)?nr(st(e),t):Tt(e,t)}var Ah=m(()=>{hs();cs();qi();V();er()});function _R(e){return L(e)?io(e.anyOf):[e]}function io(e,t=[]){return u.ShiftLeft(e,(n,r)=>io(r,[...t,..._R(n)]),()=>t)}var Vi=m(()=>{A();X()});function qR(e){return e.some(t=>ft(t)||Le(t)||lt(t))}function UR(e,t){return u.IsEqual(qR(e),!0)?Tt(sn,t):void 0}function KR(e,t){return e.reduce((n,r)=>ce(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function GR(e,t){let n=KR(e,t);return G(n)}function Rh(e,t){let n=io(e),r=UR(n,t);return Fe(r)?r:GR(n,t)}var Oh=m(()=>{A();H();Ce();dt();Tn();le();Jt();Ye();Vi();er()});function nr(e,t){return ve(e)?Qg(t):Ht(e)?th(t):tt(e)?hh(e.enum,t):lt(e)?yh(e,t):te(e)?Ih(e.allOf,t):ce(e)?wh(e.const,t):Le(e)?Th(e,t):L(e)?Rh(e.anyOf,t):ft(e)?Eh(e,t):Pe(e)?Ph(e.pattern,t):G({})}var hs=m(()=>{It();Zn();on();De();Tn();Ce();dt();le();Jt();kt();X();eh();nh();xh();bh();$h();kh();vh();Sh();Ah();Oh()});function Oc(e,t,n){return z([e])?d.Update(nr(e,t),{},n):Yi(e,t,n)}function Mh(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Oc(s,a,o)}var Ji=m(()=>{v();Ye();hs();N()});function Yi(e,t,n={}){return F("Record",[e,t],n)}function Xi(e,t,n={}){return Oc(e,t,n)}function Ch(e,t){return Tt(e,t)}function Zi(e){return u.IsEqual(e,sn)?Vt():u.IsEqual(e,rr)?Sr():u.IsEqual(e,so)?At():hc(e)}function Xt(e){return u.Keys(e.patternProperties)[0]}function ao(e){let t=Xt(e);return Zi(t)}function ht(e){return e.patternProperties[Xt(e)]}function rt(e){return C(e,"Record")}var rr,so,sn,Ye=m(()=>{v();A();H();Tn();dt();Jt();ae();Gi();er();Ji();rr=`^${Li}$`,so=`^${Fi}$`,sn=`^${Di}$`});function Rr(e){return d.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function or(e){return C(e,"Rest")}var mo=m(()=>{v();H()});var Lh=m(()=>{});function Qi(e){return d.Create({"~kind":"This"},{$ref:"#"},e)}function ea(e){return C(e,"This")}var ta=m(()=>{v();H()});function uo(e){return d.Create({"~kind":"Undefined"},{type:"undefined"},e)}function co(e){return C(e,"Undefined")}var po=m(()=>{v();H()});function na(e){return d.Create({"~kind":"Void"},{type:"void"},e)}function En(e){return C(e,"Void")}var Or=m(()=>{v();H()});var ra=m(()=>{cc();rs();Xn();is();lc();It();pt();Er();Zn();lo();Gt();$t();ae();on();Wt();Xo();dc();Pt();zt();Tn();De();Ce();Ve();ro();dt();Qe();Pr();le();gc();$r();Ye();Bt();mo();H();Lh();Jt();Pr();kt();ta();_e();po();X();Qe();Ai();Or()});function BR(e,t){return u.IsEqual(e,"Array")?Dt(t[0]):u.IsEqual(e,"Capitalize")?sa(t[0]):u.IsEqual(e,"ConstructorParameters")?ca(t[0]):u.IsEqual(e,"Evaluate")?Fy(t[0]):u.IsEqual(e,"Exclude")?pa(t[0],t[1]):u.IsEqual(e,"Extract")?la(t[0],t[1]):u.IsEqual(e,"Index")?Is(t[0],t[1]):u.IsEqual(e,"InstanceType")?da(t[0]):u.IsEqual(e,"Lowercase")?ia(t[0]):u.IsEqual(e,"NonNullable")?fa(t[0]):u.IsEqual(e,"Omit")?ga(t[0],t[1]):u.IsEqual(e,"Parameters")?ha(t[0]):u.IsEqual(e,"Partial")?xa(t[0]):u.IsEqual(e,"Pick")?ya(t[0],t[1]):u.IsEqual(e,"Readonly")?ba(t[0]):u.IsEqual(e,"KeyOf")?$s(t[0]):u.IsEqual(e,"Record")?Yi(t[0],t[1]):u.IsEqual(e,"Required")?Ia(t[0]):u.IsEqual(e,"ReturnType")?$a(t[0]):u.IsEqual(e,"Uncapitalize")?aa(t[0]):u.IsEqual(e,"Uppercase")?ma(t[0]):bs(Nn(e),t)}function Mr(){throw Error("Unreachable")}function _h(e,t=[]){return u.ShiftLeft(e,(n,r)=>_h(r,[...t,n[1]]),()=>t)}function _n(e){return u.IsEqual(e.length,3)?[e[0],..._h(e[1])]:[]}function qh(e){return Ar(e[0],e[2],e[4])}function Uh(e){return Ar(e[0],e[2],e[2])}function Kh(e){return Ar(e[0],Je(),e[2])}function Gh(e){return Ar(e,Je(),Je())}function Wh(e){return _n(e)}function Bh(e){return e[1]}function zh(e){return _n(e)}function Hh(e){return e[1]}function Vh(e){return BR(e[0],e[1])}function Jh(e){return null}function Yh(e){return Vt()}function Xh(e){return At()}function Zh(e){return Ci()}function Qh(e){return uo()}function ex(e){return to()}function tx(e){return Sr()}function nx(e){return as()}function rx(e){return Je()}function ox(e){return Zr()}function sx(e){return G({})}function ix(e){return de()}function ax(e){return oo()}function mx(e){return na()}function ux(e){return Qi()}function cx(e){return ne(BigInt(e))}function px(e){return ne(u.IsEqual(e,"true"))}function lx(e){return ne(parseFloat(e))}function dx(e){return ne(e)}function fx(e){return e[1]}function gx(e){return ne(e)}function hx(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function xx(e){return e[1]}function yx(e){return oa(e)}function bx(e){return u.IsEqual(e.length,6)?wr(e[1],e[3],e[5]):wr(e[1],e[3],Je())}function Ix(e){return e.length>0}function $x(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function wx(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function kx(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function Tx(e){return u.IsEqual(e.length,2)?e[1]:[]}function jh(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?Is(n,o[0]):u.IsEqual(o.length,0)?Dt(n):Mr()},e)}function Fh(e,t){return u.IsEqual(t.length,3)?ua(e,t[0],t[1],t[2]):e}function zR(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:wa(e,t)}function vx(e){let[t,n,r,o,s]=e;return zR(Fh(t?$s(jh(n,r)):jh(n,r),o),s)}function Mc(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=Mc(r,o);if(u.IsEqual(n,"&"))return te(s)?wt([e,...s.allOf]):wt([e,s]);if(u.IsEqual(n,"|"))return L(s)?J([e,...s.anyOf]):J([e,s]);Mr()})():e}function Ex(e){let[t,n]=e;return Mc(t,n)}function Sx(e){let[t,n]=e;return Mc(t,n)}function Px(e){return jy(e[1])}function Ax(e){return e[1]}function Rx(e){return Yn(e[0],e[2])}function Ox(e){return u.IsEqual(e.length,4)?Qo(e[1],e[3]):u.IsEqual(e.length,2)?Qo(e[1],Je()):Mr()}function Mx(e){return`${e}`}function Cx(e){return lt(e[3])?rr:Le(e[3])?so:Qn(e[3])?sn:ft(e[3])?sn:Mr()}function Lx(e){return e.length>0}function jx(e){return e.length>0}function Fx(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 Dx(e){return _n(e)}function Nx(e){return e.reduce((t,n)=>u.HasPropertyKey(n,rr)||u.HasPropertyKey(n,so)||u.HasPropertyKey(n,sn)?[t[0],d.Assign(t[1],n)]:[d.Assign(t[0],n),t[1]],[{},{}])}function _x(e){return Nx(e[1])}function qx(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return G(t,r)}function Ux(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]):Mr()}function Kx(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 Gx(e){return u.IsEqual(e.length,2)?Rr(e[1]):u.IsEqual(e.length,1)?e[0]:Mr()}function Wx(e){return _n(e)}function Bx(e){return je(e[1])}function zx(e){return wn(yn(e[4]))}function Hx(e){return wn(e[3])}function Vx(e){return yn(e[3])}function Jx(e){return e[2]}function Yx(e){return u.IsEqual(e.length,2)?Rr(e[1]):u.IsEqual(e.length,1)?e[0]:Mr()}function Xx(e){return _n(e)}function Zx(e){return xn(e[1],e[4])}function Qx(e){return hn(e[2],e[5])}function Dh(e,t){return u.IsEqual(e,"remove")?sh(t):u.IsEqual(e,"add")?wn(t):t}function ey(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 Nh(e,t){return u.IsEqual(e,"remove")?mh(t):u.IsEqual(e,"add")?yn(t):t}function ty(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 ny(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function ry(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?xs(ms(e[3]),e[5],e[6][0],Dh(e[1],Nh(e[8],e[10]))):xs(ms(e[3]),e[5],Nn(e[3]),Dh(e[1],Nh(e[8],e[10])))}function oy(e){return Nn(e)}function sy(e){return BigInt(e)}function iy(e){return parseFloat(e)}function ay(e){return u.IsEqual(e,"true")}function my(e){return null}function uy(e){return{[e[0]]:e[2]}}function cy(e){return _n(e)}function HR(e){return e.reduce((t,n)=>d.Assign(t,n),{})}function py(e){return HR(e[1])}function ly(e){return _n(e)}function dy(e){return e[1]}function fy(e){return as()}function gy(e){return Vt()}function hy(e){return At()}function xy(e){return Sr()}function yy(e){return de()}function by(e){return ne(e)}function Iy(e){return J(e[1])}function $y(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function wy(e){return[e[0],...e[1]]}function ky(e){return e[1]}function Ty(e){return _n(e)}function vy(e){return u.IsEqual(e.length,2)?e[1]:[]}function Ey(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]]:Yn(t,ys(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]]:ys(t,n,o)}}function Py(e){return{[e[1]]:Yn(e[2],e[4])}}function Ay(e){return{[e[1]]:e[3]}}function Ry(e){return null}function Oy(e){return _n(e)}function My(e){return e[1]}function Cy(e){let[t,n]=[e[0],e[1]];return Dy(d.Assign(t,Nx(n)[0]))}var Ly=m(()=>{v();A();ra();fo()});var qn=m(()=>{Yr()});function ws(e){return se(e.length,2)}function Z(e,t,n){return ws(e)?t(e[0],e[1]):n()}var Rt=m(()=>{qn()});function YR(e,t){return se(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Ee(e,t){for(let n=0;n<e.length;n++){let r=YR(e[n],t);if(ws(r))return r}return[]}var Sn=m(()=>{Rt();qn()});function Cc(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var Ny,Lc,jc,go,_y,ho,sr,ka,qy,Ta,it=m(()=>{Ny=[...Cc(97,122),...Cc(65,90)],Lc="0",jc=Cc(49,57),go=[Lc,...jc],_y=" ",ho=`
|
|
12
|
+
`,sr="_",ka=".",qy="$",Ta="-"});function Gy(e){let t=e.indexOf(ZR);return se(t,-1)?"":e.slice(t+2)}function Wy(e){let t=e.indexOf(ho);return se(t,-1)?"":e.slice(t)}function QR(e){return e.replace(/^[ \t\r\f\v]+/,"")}function va(e){let t=QR(e);return t.startsWith(Ky)?va(Gy(t.slice(2))):t.startsWith(Uy)?va(Wy(t.slice(2))):t}function Xe(e){let t=e.trimStart();return t.startsWith(Ky)?Xe(Gy(t.slice(2))):t.startsWith(Uy)?Xe(Wy(t.slice(2))):t}var Uy,Ky,ZR,Pn=m(()=>{qn();it();Uy="//",Ky="/*",ZR="*/"});function Ea(e,t){return Z(Ee([e],t),(n,r)=>[n,r],()=>["",t])}var Fc=m(()=>{Rt();Sn()});function eO(e,t){return e.includes(t)}function xo(e,t,n,r=""){return Z(Ee(e,n),(o,s)=>eO(t,o)?xo(e,t,s,r):xo(e,t,s,`${r}${o}`),()=>[r,n])}var Dc=m(()=>{Rt();Sn()});function tO(e){return Ee(jc,e)}function rO(e){return xo(nO,[sr],e)}function oO(e){return Z(Ee([Lc],e),(t,n)=>[t,n],()=>Z(tO(e),(t,n)=>Z(rO(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function Sa(e){return oO(Xe(e))}var nO,Pa=m(()=>{Rt();Pn();Sn();Dc();it();it();it();it();nO=[...go,sr]});function sO(e){return Ea(Ta,e)}function iO(e){return Z(sO(e),(t,n)=>Z(Sa(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function By(e){return iO(Xe(e))}var Nc=m(()=>{Rt();Pn();Fc();it();Pa()});function aO(e){return Z(By(e),(t,n)=>Z(Ee(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function _c(e){return aO(e)}var zy=m(()=>{Rt();Sn();Nc()});function qc(e,t){return Ee([e],t)}function g(e,t){return se(e,"")?["",t]:e.startsWith(ho)?qc(e,va(t)):e.startsWith(_y)?qc(e,t):qc(e,Xe(t))}var Hy=m(()=>{qn();Pn();Pn();Sn();it();it()});function mO(e){return Ee(Vy,e)}function Jy(e,t=""){return Z(Ee(uO,e),(n,r)=>Jy(r,`${t}${n}`),()=>[t,e])}function cO(e){return Z(mO(e),(t,n)=>Z(Jy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Ae(e){return cO(Xe(e))}var Vy,uO,Yy=m(()=>{Rt();Pn();Sn();it();it();it();it();Vy=[...Ny,sr,qy];uO=[...Vy,...go]});function lO(e){return ws(Ee([ka],e))}function Xy(e){return Z(xo(pO,[sr],e),(t,n)=>se(t,"")?[]:[t,n],()=>[])}function dO(e){return Z(Ee([ka],e),(t,n)=>Z(Xy(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function fO(e){return Z(Sa(e),(t,n)=>Z(Ee([ka],n),(r,o)=>Z(Xy(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function gO(e){return lO(e)?dO(e):fO(e)}function Zy(e){return gO(Xe(e))}var pO,Uc=m(()=>{qn();Rt();Pn();Sn();Dc();it();it();Pa();pO=[...go,sr]});function hO(e){return Ea(Ta,e)}function xO(e){return Z(hO(e),(t,n)=>Z(Zy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Aa(e){return xO(Xe(e))}var Qy=m(()=>{Rt();Pn();Fc();it();Uc()});var eb=m(()=>{qn()});function yO(e){return se(e,"")?[]:[e.slice(0,1),e.slice(1)]}function tb(e,t){return $i(e,(n,r)=>t.startsWith(n)?!0:tb(r,t),()=>!1)}function ir(e,t,n=""){return Z(yO(t),(r,o)=>tb(e,t)?[n,t]:ir(e,o,`${n}${r}`),()=>[])}var Ra=m(()=>{Rt();qn()});function bO(e,t,n){return Z(Ee([e],n),(r,o)=>Z(ir([t],o),(s,a)=>Z(Ee([t],a),(c,p)=>[`${s}`,p],()=>[]),()=>[]),()=>[])}function IO(e,t,n){return Z(Ee([e],n),(r,o)=>Z(ir([ho,t],o),(s,a)=>Z(Ee([t],a),(c,p)=>[`${s}`,p],()=>[]),()=>[]),()=>[])}function nb(e,t,n,r){return n?bO(e,t,Xe(r)):IO(e,t,Xe(r))}var Kc=m(()=>{Rt();Pn();it();Sn();Ra()});function $O(e,t){return Ee(e,t)}function wO(e,t){return nb(e,e,!1,t)}function kO(e,t){return Z($O(e,t),(n,r)=>wO(n,`${n}${r}`),()=>[])}function Oa(e,t){return kO(e,Xe(t))}var rb=m(()=>{Rt();Sn();Pn();Kc()});function ob(e,t){return Z(ir(e,t),(n,r)=>se(n,"")?[]:[n,r],()=>[])}var sb=m(()=>{qn();Rt();Ra()});var ib=m(()=>{zy();Hy();Yy();Nc();Qy();eb();Kc();rb();Pa();Uc();sb();Ra()});var i,vO,EO,SO,PO,ub,cb,AO,Bc,pb,RO,OO,MO,lb,db,fb,CO,LO,jO,gb,FO,DO,NO,_O,qO,hb,UO,KO,GO,Gc,xb,zc,WO,BO,zO,HO,VO,JO,YO,yb,XO,ZO,QO,eM,bb,Ib,$b,wb,Ma,tM,nM,rM,oM,ie,sM,iM,aM,mM,kb,Tb,vb,Eb,Ca,Sb,uM,Hc,cM,pM,ab,Pb,Ab,lM,dM,fM,gM,hM,xM,mb,Rb,Ob,Mb,yM,bM,IM,$M,wM,kM,TM,vM,EM,SM,PM,AM,RM,Cb,Lb,OM,jb,Fb,MM,CM,Vc,LM,jM,FM,DM,NM,_M,qM,UM,Db,Wc,Jc,Bg,Nb,KM,_b,GM,WM,BM,zM,HM,qb,Ub,VM,Yc,JM,Kb,Ni=m(()=>{Ly();ib();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),vO=e=>i(i(Ae(e),([t,n])=>i(g("extends",n),([r,o])=>i(ie(o),([s,a])=>i(g("=",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[qh(t),n]),EO=e=>i(i(Ae(e),([t,n])=>i(g("extends",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Uh(t),n]),SO=e=>i(i(Ae(e),([t,n])=>i(g("=",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Kh(t),n]),PO=e=>i(Ae(e),([t,n])=>[Gh(t),n]),ub=e=>i(i(vO(e),([t,n])=>[t,n],()=>i(EO(e),([t,n])=>[t,n],()=>i(SO(e),([t,n])=>[t,n],()=>i(PO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),cb=(e,t=[])=>i(i(g(",",e),([n,r])=>i(ub(r),([o,s])=>[[n,o],s])),([n,r])=>cb(r,[...t,n]),()=>[t,e]),AO=e=>i(i(i(ub(e),([t,n])=>i(cb(n),([r,o])=>i(i(g(",",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]),Bc=e=>i(i(g("<",e),([t,n])=>i(AO(n),([r,o])=>i(g(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Bh(t),n]),pb=(e,t=[])=>i(i(g(",",e),([n,r])=>i(ie(r),([o,s])=>[[n,o],s])),([n,r])=>pb(r,[...t,n]),()=>[t,e]),RO=e=>i(i(i(ie(e),([t,n])=>i(pb(n),([r,o])=>i(i(g(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[zh(t),n]),OO=e=>i(i(g("<",e),([t,n])=>i(RO(n),([r,o])=>i(g(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Hh(t),n]),MO=e=>i(i(Ae(e),([t,n])=>i(OO(n),([r,o])=>[[t,r],o])),([t,n])=>[Vh(t),n]),lb=e=>i(i(i(g(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Jh(t),n]),db=e=>i(g("string",e),([t,n])=>[Yh(t),n]),fb=e=>i(g("number",e),([t,n])=>[Xh(t),n]),CO=e=>i(g("boolean",e),([t,n])=>[Zh(t),n]),LO=e=>i(g("undefined",e),([t,n])=>[Qh(t),n]),jO=e=>i(g("null",e),([t,n])=>[ex(t),n]),gb=e=>i(g("integer",e),([t,n])=>[tx(t),n]),FO=e=>i(g("bigint",e),([t,n])=>[nx(t),n]),DO=e=>i(g("unknown",e),([t,n])=>[rx(t),n]),NO=e=>i(g("any",e),([t,n])=>[ox(t),n]),_O=e=>i(g("object",e),([t,n])=>[sx(t),n]),qO=e=>i(g("never",e),([t,n])=>[ix(t),n]),hb=e=>i(g("symbol",e),([t,n])=>[ax(t),n]),UO=e=>i(g("void",e),([t,n])=>[mx(t),n]),KO=e=>i(g("this",e),([t,n])=>[ux(t),n]),GO=e=>i(i(g("${",e),([t,n])=>i(ie(n),([r,o])=>i(g("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[fx(t),n]),Gc=e=>i(ir(["${","`"],e),([t,n])=>[gx(t),n]),xb=e=>i(i(i(Gc(e),([t,n])=>i(GO(n),([r,o])=>i(xb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Gc(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(Gc(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[hx(t),n]),zc=e=>i(i(g("`",e),([t,n])=>i(xb(n),([r,o])=>i(g("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[xx(t),n]),WO=e=>i(zc(e),([t,n])=>[yx(t),n]),BO=e=>i(i(i(g("if",e),([t,n])=>i(ie(n),([r,o])=>i(g("then",o),([s,a])=>i(ie(a),([c,p])=>i(g("else",p),([f,I])=>i(ie(I),([w,M])=>[[t,r,s,c,f,w],M])))))),([t,n])=>[t,n],()=>i(i(g("if",e),([t,n])=>i(ie(n),([r,o])=>i(g("then",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>[])),([t,n])=>[bx(t),n]),zO=e=>i(_c(e),([t,n])=>[cx(t),n]),HO=e=>i(i(g("true",e),([t,n])=>[t,n],()=>i(g("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[px(t),n]),VO=e=>i(Aa(e),([t,n])=>[lx(t),n]),JO=e=>i(Oa(["'",'"'],e),([t,n])=>[dx(t),n]),YO=e=>i(i(i(g("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ix(t),n]),yb=(e,t=[])=>i(i(i(g("[",e),([n,r])=>i(ie(r),([o,s])=>i(g("]",s),([a,c])=>[[n,o,a],c]))),([n,r])=>[n,r],()=>i(i(g("[",e),([n,r])=>i(g("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>yb(r,[...t,n]),()=>[t,e]),XO=e=>i(yb(e),([t,n])=>[$x(t),n]),ZO=e=>i(i(i(g("extends",e),([t,n])=>i(ie(n),([r,o])=>i(g("?",o),([s,a])=>i(ie(a),([c,p])=>i(g(":",p),([f,I])=>i(ie(I),([w,M])=>[[t,r,s,c,f,w],M])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[wx(t),n]),QO=e=>i(i(i(g("(",e),([t,n])=>i(ie(n),([r,o])=>i(g(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(db(e),([t,n])=>[t,n],()=>i(fb(e),([t,n])=>[t,n],()=>i(CO(e),([t,n])=>[t,n],()=>i(LO(e),([t,n])=>[t,n],()=>i(jO(e),([t,n])=>[t,n],()=>i(gb(e),([t,n])=>[t,n],()=>i(FO(e),([t,n])=>[t,n],()=>i(DO(e),([t,n])=>[t,n],()=>i(NO(e),([t,n])=>[t,n],()=>i(_O(e),([t,n])=>[t,n],()=>i(qO(e),([t,n])=>[t,n],()=>i(hb(e),([t,n])=>[t,n],()=>i(UO(e),([t,n])=>[t,n],()=>i(KO(e),([t,n])=>[t,n],()=>i(zO(e),([t,n])=>[t,n],()=>i(HO(e),([t,n])=>[t,n],()=>i(VO(e),([t,n])=>[t,n],()=>i(JO(e),([t,n])=>[t,n],()=>i(WO(e),([t,n])=>[t,n],()=>i(BO(e),([t,n])=>[t,n],()=>i(cM(e),([t,n])=>[t,n],()=>i(dM(e),([t,n])=>[t,n],()=>i(bM(e),([t,n])=>[t,n],()=>i(yM(e),([t,n])=>[t,n],()=>i(kM(e),([t,n])=>[t,n],()=>i(MO(e),([t,n])=>[t,n],()=>i(TM(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[kx(t),n]),eM=e=>i(i(i(g("with",e),([t,n])=>i(jb(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Tx(t),n]),bb=e=>i(i(YO(e),([t,n])=>i(QO(n),([r,o])=>i(XO(o),([s,a])=>i(ZO(a),([c,p])=>i(eM(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[vx(t),n]),Ib=e=>i(i(i(g("&",e),([t,n])=>i(bb(n),([r,o])=>i(Ib(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),$b=e=>i(i(bb(e),([t,n])=>i(Ib(n),([r,o])=>[[t,r],o])),([t,n])=>[Ex(t),n]),wb=e=>i(i(i(g("|",e),([t,n])=>i($b(n),([r,o])=>i(wb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Ma=e=>i(i($b(e),([t,n])=>i(wb(n),([r,o])=>[[t,r],o])),([t,n])=>[Sx(t),n]),tM=e=>i(i(g("readonly",e),([t,n])=>i(Ma(n),([r,o])=>[[t,r],o])),([t,n])=>[Px(t),n]),nM=e=>i(i(g("|",e),([t,n])=>i(Ma(n),([r,o])=>[[t,r],o])),([t,n])=>[Ax(t),n]),rM=e=>i(i(Bc(e),([t,n])=>i(g("=",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Rx(t),n]),oM=e=>i(i(i(g("infer",e),([t,n])=>i(Ae(n),([r,o])=>i(g("extends",o),([s,a])=>i(Ma(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>i(i(g("infer",e),([t,n])=>i(Ae(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[Ox(t),n]),ie=e=>i(i(oM(e),([t,n])=>[t,n],()=>i(nM(e),([t,n])=>[t,n],()=>i(tM(e),([t,n])=>[t,n],()=>i(Ma(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),sM=e=>i(Aa(e),([t,n])=>[Mx(t),n]),iM=e=>i(Ae(e),([t,n])=>[t,n]),aM=e=>i(Oa(["'",'"'],e),([t,n])=>[t,n]),mM=e=>i(i(g("[",e),([t,n])=>i(Ae(n),([r,o])=>i(g(":",o),([s,a])=>i(i(gb(a),([c,p])=>[c,p],()=>i(fb(a),([c,p])=>[c,p],()=>i(db(a),([c,p])=>[c,p],()=>i(hb(a),([c,p])=>[c,p],()=>[])))),([c,p])=>i(g("]",p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Cx(t),n]),kb=e=>i(i(sM(e),([t,n])=>[t,n],()=>i(iM(e),([t,n])=>[t,n],()=>i(aM(e),([t,n])=>[t,n],()=>i(mM(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Tb=e=>i(i(i(g("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Lx(t),n]),vb=e=>i(i(i(g("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[jx(t),n]),Eb=e=>i(i(Tb(e),([t,n])=>i(kb(n),([r,o])=>i(vb(o),([s,a])=>i(g(":",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Fx(t),n]),Ca=e=>i(i(i(g(",",e),([t,n])=>i(g(`
|
|
13
13
|
`,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g(";",e),([t,n])=>i(g(`
|
|
14
14
|
`,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(g(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(g(`
|
|
15
|
-
`,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),Sb=(e,t=[])=>i(i(Ca(e),([n,r])=>i(
|
|
15
|
+
`,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),Sb=(e,t=[])=>i(i(Ca(e),([n,r])=>i(Eb(r),([o,s])=>[[n,o],s])),([n,r])=>Sb(r,[...t,n]),()=>[t,e]),uM=e=>i(i(i(Eb(e),([t,n])=>i(Sb(n),([r,o])=>i(i(Ca(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Dx(t),n]),Hc=e=>i(i(g("{",e),([t,n])=>i(uM(n),([r,o])=>i(g("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[_x(t),n]),cM=e=>i(Hc(e),([t,n])=>[qx(t),n]),pM=e=>i(i(i(Ae(e),([t,n])=>i(g("?",n),([r,o])=>i(g(":",o),([s,a])=>i(g("readonly",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[t,n],()=>i(i(Ae(e),([t,n])=>i(g(":",n),([r,o])=>i(g("readonly",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>i(i(Ae(e),([t,n])=>i(g("?",n),([r,o])=>i(g(":",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>i(i(Ae(e),([t,n])=>i(g(":",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[Ux(t),n]),ab=e=>i(i(pM(e),([t,n])=>[t,n],()=>i(i(Tb(e),([t,n])=>i(ie(n),([r,o])=>i(vb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[Kx(t),n]),Pb=e=>i(i(i(g("...",e),([t,n])=>i(ab(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(ab(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Gx(t),n]),Ab=(e,t=[])=>i(i(g(",",e),([n,r])=>i(Pb(r),([o,s])=>[[n,o],s])),([n,r])=>Ab(r,[...t,n]),()=>[t,e]),lM=e=>i(i(i(Pb(e),([t,n])=>i(Ab(n),([r,o])=>i(i(g(",",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]),dM=e=>i(i(g("[",e),([t,n])=>i(lM(n),([r,o])=>i(g("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Bx(t),n]),fM=e=>i(i(Ae(e),([t,n])=>i(g("?",n),([r,o])=>i(g(":",o),([s,a])=>i(g("readonly",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[zx(t),n]),gM=e=>i(i(Ae(e),([t,n])=>i(g(":",n),([r,o])=>i(g("readonly",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[Hx(t),n]),hM=e=>i(i(Ae(e),([t,n])=>i(g("?",n),([r,o])=>i(g(":",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[Vx(t),n]),xM=e=>i(i(Ae(e),([t,n])=>i(g(":",n),([r,o])=>i(ie(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Jx(t),n]),mb=e=>i(i(fM(e),([t,n])=>[t,n],()=>i(gM(e),([t,n])=>[t,n],()=>i(hM(e),([t,n])=>[t,n],()=>i(xM(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Rb=e=>i(i(i(g("...",e),([t,n])=>i(mb(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(mb(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Yx(t),n]),Ob=(e,t=[])=>i(i(g(",",e),([n,r])=>i(Rb(r),([o,s])=>[[n,o],s])),([n,r])=>Ob(r,[...t,n]),()=>[t,e]),Mb=e=>i(i(i(Rb(e),([t,n])=>i(Ob(n),([r,o])=>i(i(g(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Xx(t),n]),yM=e=>i(i(g("(",e),([t,n])=>i(Mb(n),([r,o])=>i(g(")",o),([s,a])=>i(g("=>",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Zx(t),n]),bM=e=>i(i(g("new",e),([t,n])=>i(g("(",n),([r,o])=>i(Mb(o),([s,a])=>i(g(")",a),([c,p])=>i(g("=>",p),([f,I])=>i(ie(I),([w,M])=>[[t,r,s,c,f,w],M])))))),([t,n])=>[Qx(t),n]),IM=e=>i(i(i(g("+",e),([t,n])=>i(g("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g("-",e),([t,n])=>i(g("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[ey(t),n]),$M=e=>i(i(i(g("+",e),([t,n])=>i(g("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g("-",e),([t,n])=>i(g("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[ty(t),n]),wM=e=>i(i(i(g("as",e),([t,n])=>i(ie(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ny(t),n]),kM=e=>i(i(g("{",e),([t,n])=>i(IM(n),([r,o])=>i(g("[",o),([s,a])=>i(Ae(a),([c,p])=>i(g("in",p),([f,I])=>i(ie(I),([w,M])=>i(wM(M),([j,R])=>i(g("]",R),([q,ee])=>i($M(ee),([me,xe])=>i(g(":",xe),([Te,Be])=>i(ie(Be),([qt,ye])=>i(lb(ye),([re,T])=>i(g("}",T),([ze,Ut])=>[[t,r,s,c,f,w,j,q,me,Te,qt,re,ze],Ut]))))))))))))),([t,n])=>[ry(t),n]),TM=e=>i(Ae(e),([t,n])=>[oy(t),n]),vM=e=>i(_c(e),([t,n])=>[sy(t),n]),EM=e=>i(Aa(e),([t,n])=>[iy(t),n]),SM=e=>i(i(g("true",e),([t,n])=>[t,n],()=>i(g("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[ay(t),n]),PM=e=>i(Oa(['"',"'"],e),([t,n])=>[t,n]),AM=e=>i(g("null",e),([t,n])=>[my(t),n]),RM=e=>i(g("undefined",e),([t,n])=>[void 0,n]),Cb=e=>i(i(kb(e),([t,n])=>i(g(":",n),([r,o])=>i(Vc(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[uy(t),n]),Lb=(e,t=[])=>i(i(Ca(e),([n,r])=>i(Cb(r),([o,s])=>[[n,o],s])),([n,r])=>Lb(r,[...t,n]),()=>[t,e]),OM=e=>i(i(i(Cb(e),([t,n])=>i(Lb(n),([r,o])=>i(i(Ca(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]),jb=e=>i(i(g("{",e),([t,n])=>i(OM(n),([r,o])=>i(g("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[py(t),n]),Fb=(e,t=[])=>i(i(g(",",e),([n,r])=>i(Vc(r),([o,s])=>[[n,o],s])),([n,r])=>Fb(r,[...t,n]),()=>[t,e]),MM=e=>i(i(i(Vc(e),([t,n])=>i(Fb(n),([r,o])=>i(i(g(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ly(t),n]),CM=e=>i(i(g("[",e),([t,n])=>i(MM(n),([r,o])=>i(g("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[dy(t),n]),Vc=e=>i(i(vM(e),([t,n])=>[t,n],()=>i(EM(e),([t,n])=>[t,n],()=>i(SM(e),([t,n])=>[t,n],()=>i(PM(e),([t,n])=>[t,n],()=>i(AM(e),([t,n])=>[t,n],()=>i(RM(e),([t,n])=>[t,n],()=>i(jb(e),([t,n])=>[t,n],()=>i(CM(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),LM=e=>i(g("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[fy(t),n]),jM=e=>i(g(".*",e),([t,n])=>[gy(t),n]),FM=e=>i(g("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[hy(t),n]),DM=e=>i(g("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[xy(t),n]),NM=e=>i(g("(?!)",e),([t,n])=>[yy(t),n]),_M=e=>i(ob(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[by(t),n]),qM=e=>i(i(LM(e),([t,n])=>[t,n],()=>i(jM(e),([t,n])=>[t,n],()=>i(FM(e),([t,n])=>[t,n],()=>i(DM(e),([t,n])=>[t,n],()=>i(NM(e),([t,n])=>[t,n],()=>i(UM(e),([t,n])=>[t,n],()=>i(_M(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),UM=e=>i(i(g("(",e),([t,n])=>i(Jc(n),([r,o])=>i(g(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Iy(t),n]),Db=e=>i(i(i(Wc(e),([t,n])=>i(g("|",n),([r,o])=>i(Db(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Wc(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[$y(t),n]),Wc=e=>i(i(qM(e),([t,n])=>i(Jc(n),([r,o])=>[[t,r],o])),([t,n])=>[wy(t),n]),Jc=e=>i(i(Db(e),([t,n])=>[t,n],()=>i(Wc(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Bg=e=>i(i(g("^",e),([t,n])=>i(Jc(n),([r,o])=>i(g("$",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ky(t),n]),Nb=(e,t=[])=>i(i(g(",",e),([n,r])=>i(ie(r),([o,s])=>[[n,o],s])),([n,r])=>Nb(r,[...t,n]),()=>[t,e]),KM=e=>i(i(i(ie(e),([t,n])=>i(Nb(n),([r,o])=>i(i(g(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ty(t),n]),_b=e=>i(i(i(g("extends",e),([t,n])=>i(KM(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[vy(t),n]),GM=e=>i(i(g("interface",e),([t,n])=>i(Ae(n),([r,o])=>i(Bc(o),([s,a])=>i(_b(a),([c,p])=>i(Hc(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Ey(t),n]),WM=e=>i(i(g("interface",e),([t,n])=>i(Ae(n),([r,o])=>i(_b(o),([s,a])=>i(Hc(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[Sy(t),n]),BM=e=>i(i(g("type",e),([t,n])=>i(Ae(n),([r,o])=>i(Bc(o),([s,a])=>i(g("=",a),([c,p])=>i(ie(p),([f,I])=>[[t,r,s,c,f],I]))))),([t,n])=>[Py(t),n]),zM=e=>i(i(g("type",e),([t,n])=>i(Ae(n),([r,o])=>i(g("=",o),([s,a])=>i(ie(a),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[Ay(t),n]),HM=e=>i(i(i(g("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ry(t),n]),qb=e=>i(i(i(g(";",e),([t,n])=>i(g(`
|
|
16
16
|
`,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(g(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(g(`
|
|
17
|
-
`,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),Ub=(e,t=[])=>i(i(qb(e),([n,r])=>i(Yc(r),([o,s])=>[[n,o],s])),([n,r])=>Ub(r,[...t,n]),()=>[t,e]),VM=e=>i(i(i(Yc(e),([t,n])=>i(Ub(n),([r,o])=>i(i(qb(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]),Yc=e=>i(i(HM(e),([t,n])=>i(i(GM(n),([r,o])=>[r,o],()=>i(WM(n),([r,o])=>[r,o],()=>i(BM(n),([r,o])=>[r,o],()=>i(zM(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i(lb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[My(t),n]),JM=e=>i(i(Yc(e),([t,n])=>i(VM(n),([r,o])=>[[t,r],o])),([t,n])=>[Cy(t),n]),Kb=e=>i(i(JM(e),([t,n])=>[t,n],()=>i(rM(e),([t,n])=>[t,n],()=>i(ie(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function Gb(e){let t=zc(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:Ne()}var Xc=m(()=>{$n();R();Ni()});function XM(e){return e.join("|")}function ZM(e){return e.slice(1,e.length-1)}function QM(e,t,n){return ar(t,`${n}${e}`)}function eC(e,t){return ar(e,`${t}${_g}`)}function tC(e,t){return ar(e,`${t}${Li}`)}function nC(e,t){return ar(e,`${t}${Fi}`)}function rC(e,t){return ks(J([ne("false"),ne("true")]),e,t)}function oC(e,t){return ar(e,`${t}${Di}`)}function sC(e,t,n){return ar(t,`${n}${ZM(e)}`)}function iC(e,t,n){let r=Ts(e,{});return ks(r,t,n)}function aC(e,t,n){let r=gt(e);return ks(r,t,n)}function Wb(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>Wb(s,t,n,[...r,ks(o,[],"")]),()=>ar(t,`${n}(${XM(r)})`))}function ks(e,t,n){return tt(e)?aC(e.enum,t,n):lt(e)?tC(t,n):ce(e)?QM(e.const,t,n):kn(e)?eC(t,n):Ht(e)?rC(t,n):Le(e)?nC(t,n):ft(e)?oC(t,n):Pe(e)?sC(e.pattern,t,n):zb(e)?iC(e.parameters[0],t,n):L(e)?Wb(e.anyOf,t,n):Pf}function ar(e,t){return u.ShiftLeft(e,(n,r)=>ks(n,r,t),()=>t)}function mC(e){return`^${ar(e,"")}$`}function Bb(e){let t=mC(e);return Ui(t)}var Zc=m(()=>{R();on();Ce();X();kt();vr();Jt();dt();Tn();Zn();Ve();Ki();V();La()});function Ts(e,t){return z(e)?d.Update(Bb(e),{},t):oa(e,t)}function Hb(e,t,n,r){let o=Nt(e,t,n);return Ts(o,r)}var La=m(()=>{E();kt();Zc();N()});function oa(e,t={}){return F("TemplateLiteral",[e],t)}function zb(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function Vb(e){return Ts(e,{})}function uC(e){let t=Gb(e);return Vb(t)}function Jb(e,t={}){let n=u.IsString(e)?uC(e):Vb(e);return d.Update(n,{},t)}function Pe(e){return C(e,"TemplateLiteral")}var kt=m(()=>{es();R();H();ae();Xc();La()});var W={};Ft(W,{ExtendsFalse:()=>B,ExtendsTrue:()=>S,ExtendsUnion:()=>Qc,IsExtendsFalse:()=>cC,IsExtendsTrue:()=>Xb,IsExtendsTrueLike:()=>yo,IsExtendsUnion:()=>Yb,Match:()=>$e});function Qc(e){return d.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Yb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function S(e){return d.Create({"~kind":"ExtendsTrue"},{inferred:e})}function Xb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function B(){return d.Create({"~kind":"ExtendsFalse"},{})}function cC(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function yo(e){return Yb(e)||Xb(e)}function $e(e,t,n){return yo(e)?t(e.inferred):n()}var be=m(()=>{R();E()});function pC(e,t,n,r){return $e(oe(e,n,r),o=>S(d.Assign(d.Assign(e,o),{[t]:n})),()=>B())}function lC(e,t){return S(e)}function dC(e,t,n,r,o){return $e(oe(e,t,n),s=>$e(oe(s,t,r),a=>S(a),()=>B()),()=>$e(oe(e,t,o),s=>S(s),()=>B()))}function fC(e,t,n){let r=gt(n);return oe(e,t,r)}function Zb(e,t,n){return u.ShiftLeft(n,(r,o)=>$e(oe(e,t,r),s=>Zb(s,t,o),()=>B()),()=>S(e))}function gC(e,t,n){let r=st(n);return oe(e,t,r)}function Qb(e,t,n){return u.ShiftLeft(n,(r,o)=>$e(oe(e,t,r),s=>S(s),()=>Qb(e,t,o)),()=>B())}function pe(e,t,n){return Ee(n)?lC(e,t):Se(n)?dC(e,t,n.if,n.then,n.else):tt(n)?fC(e,t,n.enum):Me(n)?pC(e,n.name,t,n.extends):te(n)?Zb(e,t,n.allOf):Pe(n)?gC(e,t,n.pattern):L(n)?Qb(e,t,n.anyOf):Oe(n)?S(e):B()}var at=m(()=>{R();E();It();Pt();on();zt();De();kt();X();Qe();vt();be();V();V()});function eI(e,t,n){return Me(n)?pe(e,t,n):Ee(n)?S(e):Oe(n)?S(e):Qc(e)}var tI=m(()=>{zt();It();Qe();at();be()});function hC(e,t){let n=kr(e),r=kr(t);return n&&r||!n&&r?!0:!(n&&!r)}function nI(e,t,n,r){return we(r)?hC(t,r)?oe(e,n,r.items):B():pe(e,t,r)}var rI=m(()=>{pt();rs();at();vt();be()});function oI(e,t,n){return kn(n)?S(e):pe(e,t,n)}var sI=m(()=>{vr();at();be()});function iI(e,t,n){return Ht(n)?S(e):pe(e,t,n)}var aI=m(()=>{Zn();at();be()});function xC(e,t,n,r,o){let s=Me(r)?t:r,a=Me(r)?r:t,c=ot(t),p=ot(r);return!c&&p?B():$e(oe(e,s,a),f=>Es(f,n,o),()=>B())}function yC(e,t,n,r){return u.ShiftLeft(r,(o,s)=>xC(e,t,n,o,s),()=>ot(t)?S(e):B())}function bC(e,t,n){return u.ShiftLeft(t,(r,o)=>yC(e,r,o,n),()=>S(e))}function Es(e,t,n){return bC(e,t,n)}var ep=m(()=>{R();zt();Xn();vt();be()});function ja(e,t,n){return vn(n)?S(e):oe(e,t,n)}var tp=m(()=>{Or();vt();be()});function mI(e,t,n,r){return Ee(r)?S(e):Oe(r)?S(e):Ue(r)?$e(Es(e,t,r.parameters),o=>ja(o,n,r.instanceType),()=>B()):B()}var uI=m(()=>{It();Gt();Qe();be();ep();tp()});function cI(e,t,n,r,o){return $e(oe(e,t,o),()=>oe(e,n,o),()=>oe(e,r,o))}var pI=m(()=>{vt();be()});function lI(e,t,n){let r=gt(t);return oe(e,r,n)}var dI=m(()=>{vt();V()});function fI(e,t,n,r){return Ee(r)?S(e):Oe(r)?S(e):Ke(r)?$e(Es(e,t,r.parameters),o=>ja(o,n,r.returnType),()=>B()):B()}var gI=m(()=>{It();Wt();Qe();be();ep();tp()});function hI(e,t,n){return lt(n)?S(e):Le(n)?S(e):pe(e,t,n)}var xI=m(()=>{Tn();dt();at();be()});function yI(e,t,n){let r=ke(t);return oe(e,r,n)}var bI=m(()=>{vt();vs()});function Fa(e,t,n){return t===n?S(e):B()}function IC(e,t,n){return ce(n)?Fa(e,t,n.const):kn(n)?S(e):pe(e,ne(t),n)}function $C(e,t,n){return ce(n)?Fa(e,t,n.const):Ht(n)?S(e):pe(e,ne(t),n)}function wC(e,t,n){return ce(n)?Fa(e,t,n.const):Le(n)?S(e):pe(e,ne(t),n)}function kC(e,t,n){return ce(n)?Fa(e,t,n.const):ft(n)?S(e):pe(e,ne(t),n)}function II(e,t,n){return u.IsBigInt(t.const)?IC(e,t.const,n):u.IsBoolean(t.const)?$C(e,t.const,n):u.IsNumber(t.const)?wC(e,t.const,n):u.IsString(t.const)?kC(e,t.const,n):Ne()}var $I=m(()=>{R();ac();Ce();vr();Zn();dt();Jt();at();be()});function wI(e,t,n){return Me(n)?pe(e,t,n):S(e)}var kI=m(()=>{zt();at();be()});function TI(e,t,n){return no(n)?S(e):pe(e,t,n)}var EI=m(()=>{ro();at();be()});function vI(e,t,n){return Le(n)?S(e):pe(e,t,n)}var SI=m(()=>{dt();at();be()});function TC(e,t,n){return ot(t)?ot(n)?S(e):B():S(e)}function EC(e,t,n){return Me(n)&&rn(n.extends)?B():$e(oe(e,t,n),r=>TC(r,t,n),()=>B())}function vC(e,t){return e.reduce((n,r)=>r in t?yo(t[r])?{...n,...t[r].inferred}:Ne():Ne(),{})}function SC(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?EC({},t[a],n[a]):ot(n[a])?Me(n[a])?S(d.Assign(e,{[n[a].name]:n[a].extends})):S(e):B();let o=u.Values(r).every(a=>yo(a)),s=o?vC(u.Keys(r),r):{};return o?S(s):B()}function PC(e,t,n){let r=SC(e,t,n);return yo(r)?S(d.Assign(e,r.inferred)):B()}function RC(e,t,n){return PC(e,t,n)}function AC(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?L(n[r])?J([...n[r].anyOf,t[r]]):J([e[r],t[r]]):t[r]}),e)}function PI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>$e(oe({},e[o],n),a=>PI(e,s,n,AC(r,a)),()=>B()),()=>S(r))}function OC(e,t,n,r){let o=u.Keys(t);return PI(t,o,r,e)}function RI(e,t,n){return rt(n)?OC(e,t,Xt(n),ht(n)):ue(n)?RC(e,t,n.properties):pe(e,G(t),n)}var AI=m(()=>{$n();E();R();Xn();zt();Ve();le();Ye();X();vt();at();be()});function MC(e,t){return u.IsEqual(u.Keys(t).length,0)?S(e):B()}function CC(e,t,n,r,o){return oe(e,n,o)}function OI(e,t,n,r){return rt(r)?CC(e,Zi(t),n,Zi(Xt(r)),ht(r)):ue(r)?MC(e,r.properties):Ee(r)?S(e):Oe(r)?S(e):B()}var MI=m(()=>{R();It();Qe();le();Ye();vt();be()});function CI(e,t,n){return ft(n)?S(e):pe(e,t,n)}var LI=m(()=>{Jt();at();be()});function jI(e,t,n){return Qn(n)?S(e):pe(e,t,n)}var FI=m(()=>{Pr();at();be()});function DI(e,t,n){let r=st(t);return oe(e,r,n)}var NI=m(()=>{vt();V()});function np(e,t){return d.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function Ss(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 rp(e){return or(e)?Me(e.items)?we(e.items.extends)?np(e.items.name,e.items.extends.items):Oe(e.items.extends)?np(e.items.name,e.items.extends):void 0:Ne():void 0}function Da(e){return Me(e)?np(e.name,e.extends):void 0}function op(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>$e(oe({},r,t),()=>op(o,t,[...n,r]),()=>{}),()=>n)}function _I(e,t,n,r){let o=op(n,r);return u.IsArray(o)?S(d.Assign(e,{[t]:je(o)})):B()}function Na(e,t,n,r){let o=op(n,r);return u.IsArray(o)?S(d.Assign(e,{[t]:J(o)})):B()}var sp=m(()=>{$n();E();R();pt();Qe();_e();vt();X();zt();mo();be()});function LC(e){return[...e].reverse()}function ip(e,t){return t?LC(e):e}function jC(e){let t=e.length>0?e[0]:void 0,n=Fe(t)?rp(t):void 0;return Fe(n)}function FC(e,t,n,r,o,s){return $e(oe(e,n,o),a=>qI(a,t,r,s),()=>B())}function DC(e,t,n,r,o){let s=rp(r);return Ss(s)?_I(e,s.name,ip(n,t),s.type):u.ShiftLeft(n,(a,c)=>FC(e,t,a,c,r,o),()=>B())}function NC(e,t,n,r){return u.ShiftLeft(r,(o,s)=>DC(e,t,n,o,s),()=>u.IsEqual(n.length,0)?S(e):B())}function qI(e,t,n,r){return NC(e,t,n,r)}function _C(e,t,n){let r=mr(e,Ie([],[]),n),o=jC(r);return qI(e,o,ip(t,o),ip(r,o))}function UI(e,t,n){let r=Da(n);return Ss(r)?Na(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>$e(oe(e,o,n),a=>UI(a,s,n),()=>B()),()=>S(e))}function KI(e,t,n){let r=mr(e,Ie([],[]),t);return he(n)?_C(e,r,n.items):we(n)?UI(e,r,n.items):pe(e,je(r),n)}var GI=m(()=>{R();H();pt();_e();vt();at();be();N();N();sp()});function WI(e,t,n){return vn(n)?S(e):co(n)?S(e):pe(e,t,n)}var BI=m(()=>{po();Or();at();be()});function zI(e,t,n){return u.ShiftLeft(n,(r,o)=>$e(oe(e,t,r),s=>S(s),()=>zI(e,t,o)),()=>B())}function ap(e,t,n){return u.ShiftLeft(t,(r,o)=>$e(zI(e,r,n),s=>ap(s,o,n),()=>B()),()=>S(e))}function HI(e,t,n){let r=Da(n);return Ss(r)?Na(e,r.name,t,r.type):L(n)?ap(e,t,n.anyOf):ap(e,t,[n])}var VI=m(()=>{R();X();vt();be();sp()});function JI(e,t,n){return Me(n)?pe(e,t,n):Ee(n)?S(e):Oe(n)?S(e):B()}var YI=m(()=>{It();Qe();zt();at();be()});function XI(e,t,n){return vn(n)?S(e):pe(e,t,n)}var ZI=m(()=>{Or();at();be()});function oe(e,t,n){return Ee(t)?eI(e,t,n):we(t)?nI(e,t,t.items,n):kn(t)?oI(e,t,n):Ht(t)?iI(e,t,n):Ue(t)?mI(e,t.parameters,t.instanceType,n):Se(t)?cI(e,t.if,t.then,t.else,n):tt(t)?lI(e,t.enum,n):Ke(t)?fI(e,t.parameters,t.returnType,n):lt(t)?hI(e,t,n):te(t)?yI(e,t.allOf,n):ce(t)?II(e,t,n):rn(t)?wI(e,t,n):no(t)?TI(e,t,n):Le(t)?vI(e,t,n):ue(t)?RI(e,t.properties,n):rt(t)?OI(e,Xt(t),ht(t),n):ft(t)?CI(e,t,n):Qn(t)?jI(e,t,n):Pe(t)?DI(e,t.pattern,n):he(t)?KI(e,t.items,n):co(t)?WI(e,t,n):L(t)?HI(e,t.anyOf,n):Oe(t)?JI(e,t,n):vn(t)?XI(e,t,n):B()}var vt=m(()=>{tI();rI();sI();aI();uI();pI();dI();gI();xI();bI();$I();kI();EI();SI();AI();MI();LI();FI();NI();GI();BI();VI();YI();ZI();It();pt();vr();Zn();Gt();Pt();on();Wt();Tn();De();Ce();Ve();ro();dt();le();Ye();Jt();Pr();kt();_e();po();Qe();X();Or();be()});function qC(e,t){return ke([...e,G(t)])}function mp(e,t,n){return z(e)?d.Update(qC(e,t),{},n):ys(e,t,n)}function QI(e,t,n,r,o){let s=Nt(e,t,n),a=Ps(e,t,r);return mp(s,a,o)}var _a=m(()=>{E();le();V();fo();N();N();N()});function ys(e,t,n={}){return F("Interface",[e,t],n)}function bo(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function e$(e,t,n={}){return mp(e,t,n)}var Rs=m(()=>{R();H();ae();_a()});function UC(e,t,n){return e.includes(n)?!0:As([...e,n],t,t[n])}function t$(e,t,n){let r=Si(n);return Cr(e,t,r)}function Cr(e,t,n){return u.ShiftLeft(n,(r,o)=>As(e,t,r)?!0:Cr(e,t,o),()=>!1)}function As(e,t,n){return Ge(n)?UC(e,t,n.$ref):we(n)?As(e,t,n.items):Ue(n)?Cr(e,t,[...n.parameters,n.instanceType]):Ke(n)?Cr(e,t,[...n.parameters,n.returnType]):bo(n)?t$(e,t,n.parameters[1]):te(n)?Cr(e,t,n.allOf):ue(n)?t$(e,t,n.properties):L(n)?Cr(e,t,n.anyOf):he(n)?Cr(e,t,n.items):rt(n)?As(e,t,ht(n)):!1}function n$(e,t,n){return As(e,t,n)}var up=m(()=>{R();pt();Gt();Wt();De();le();$r();Ye();_e();X();Bt();Rs()});function KC(e,t){return t.reduce((n,r)=>n$([r],e,e[r])?[...n,r]:n,[])}function r$(e){let t=vi(e);return KC(e,t)}var cp=m(()=>{$r();up()});function GC(e,t,n){return n.includes(t)?n:t in e?Os(e,e[t],[...n,t]):Ne()}function o$(e,t,n){let r=Si(t);return Io(e,r,n)}function Io(e,t,n){return t.reduce((r,o)=>Os(e,o,r),n)}function Os(e,t,n){return Ge(t)?GC(e,t.$ref,n):we(t)?Os(e,t.items,n):Ue(t)?Io(e,[...t.parameters,t.instanceType],n):Ke(t)?Io(e,[...t.parameters,t.returnType],n):bo(t)?o$(e,t.parameters[1],n):te(t)?Io(e,t.allOf,n):ue(t)?o$(e,t.properties,n):L(t)?Io(e,t.anyOf,n):he(t)?Io(e,t.items,n):rt(t)?Os(e,ht(t),n):n}function s$(e,t,n){return Os(e,n,[t])}var pp=m(()=>{$n();pt();Gt();Wt();De();le();$r();Ye();_e();X();Bt();Rs()});function WC(e){return Zr()}function BC(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Lr(e[n])}),{})}function Ms(e){return e.reduce((t,n)=>[...t,Lr(n)],[])}function Lr(e){return Ge(e)?WC(e.$ref):we(e)?Dt(Lr(e.items),Ei(e)):Ue(e)?hn(Ms(e.parameters),Lr(e.instanceType)):Ke(e)?xn(Ms(e.parameters),Lr(e.returnType)):te(e)?wt(Ms(e.allOf)):ue(e)?G(BC(e.properties)):rt(e)?Xi(ao(e),Lr(ht(e))):L(e)?J(Ms(e.anyOf)):he(e)?je(Ms(e.items)):e}function zC(e,t){return t in e?Lr(e[t]):Je()}function i$(e){return zC(e.$defs,e.$ref)}var a$=m(()=>{R();It();pt();Gt();Wt();De();le();Ye();Bt();_e();X();Qe()});function HC(e,t,n){let r=Nt(e,Ie([],[]),t),o=Ps({},Ie([],[]),n);return ke([...r,G(o)])}function VC(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=bo(s)?HC(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function m$(e,t,n){let r=s$(e,t,n),o=VC(e,r);return bn(o,t)}var lp=m(()=>{R();$t();le();pp();fo();N();N();N();V()});function u$(e,t){return t in e?Ge(e[t])?u$(e,e[t].$ref):e[t]:de()}function Rn(e,t){return u$(e,t)}var jr=m(()=>{Ve();Bt()});var dp=m(()=>{cp();up();pp();a$();lp();jr()});function c$(e){return et(e)?i$(e):Pi(e)?Je():e}function nt(e,t,n){let r=c$(t),o=c$(n);return oe(e,r,o)}var p$=m(()=>{$t();Qe();Ri();vt();dp()});var En=m(()=>{p$();be()});function ds(e,t){let n=[nt({},e,t),nt({},t,e)];return W.IsExtendsTrueLike(n[0])&&W.IsExtendsTrueLike(n[1])?ps:W.IsExtendsTrueLike(n[0])&&W.IsExtendsFalse(n[1])?ls:W.IsExtendsFalse(n[0])&&W.IsExtendsTrueLike(n[1])?zi:qa}var ps,qa,ls,zi,fs=m(()=>{En();ps=0,qa=1,ls=2,zi=3});function fp(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=ds(e,o);return u.IsEqual(a,ls)||u.IsEqual(a,ps)?r:u.IsEqual(a,qa)?fp(e,s,[...n,o],r):fp(e,s,n,r)},()=>[...n,e])}function JC(e,t,n){let r=Yt(e);return Ee(r)?[r]:Oe(r)?[r]:rn(r)?Ua(t,n):ue(r)?Ua(t,[...n,r]):Ua(t,fp(r,n))}function Ua(e,t=[]){return u.ShiftLeft(e,(n,r)=>JC(n,r,t),()=>t)}function Rc(e){let t=Ua(e);return io(t)}var Ac=m(()=>{R();It();Ve();le();Qe();fs();Vi();V()});function gp(e,t){return d.Update(Yt(e),{},t)}function l$(e,t,n,r){let o=$(e,t,n);return gp(o,r)}var Ka=m(()=>{E();N();V()});var vs=m(()=>{Ac();fs();Ec();Sc();V();Vi();Ka();vc()});function Cs(e,t=[]){return Jn(e)&&u.IsEqual(e.action,"Conditional")?Ge(e.parameters[0])?Cs(e.parameters[2],Cs(e.parameters[3],[...t,e.parameters[0].$ref])):Cs(e.parameters[2],Cs(e.parameters[3],t)):Jn(e)&&u.IsEqual(e.action,"Mapped")&&Jn(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&Ge(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function YC(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function g$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>g$(o,a,[...n,[s,r]]),()=>n),()=>n)}function XC(e){return Pe(e)?st(e.pattern):tt(e)?gt(e.enum):e}function ZC(e){let t=XC(e);return L(t)?[...t.anyOf]:[t]}function QC(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function d$(e,t){return t.reduce((n,r)=>[...n,...QC(e,r)],[])}function f$(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?d$(t,ZC(n[1])):d$(t,[n[1]]),[[]])}function h$(e,t,n){let r=Cs(n),o=YC(e,r),s=g$(t,o);return Jn(n)&&u.IsEqual(n.action,"Conditional")||Jn(n)&&u.IsEqual(n.action,"Mapped")?f$(s):[t]}var x$=m(()=>{R();X();ae();on();kt();Bt();V();V()});function e0(){return["(not-resolvable)",de()]}function t0(){return["(not-generic)",de()]}function n0(e,t,n){return[e,Yn(t,n)]}function r0(e,t,n){return t in e?y$(e,t,e[t],n):e0()}function y$(e,t,n,r){return Xr(n)?n0(t,n.parameters,n.expression):Ge(n)?r0(e,n.$ref,r):t0()}function b$(e,t,n){return y$(e,"(anonymous)",t,n)}var I$=m(()=>{Xo();Bt();Ve()});function o0(e,t,n){if(Me(t)||$o(t)||W.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 $$(e,t,n,r,o){let s=$(e,t,o);return o0(n,s,r),d.Assign(e,{[n]:s})}function s0(e,t,n,r,o){let s=$(e,t,n.extends),a=$(e,t,n.equals);return u.ShiftLeft(o,(c,p)=>hp($$(e,t,n.name,s,c),t,r,p),()=>hp($$(e,t,n.name,s,a),t,r,[]))}function hp(e,t,n,r){return u.ShiftLeft(n,(o,s)=>s0(e,t,o,s,r),()=>e)}function w$(e,t,n,r){return hp(e,t,n,r)}var k$=m(()=>{R();E();N();En();zt();lo()});function i0(){if(!u.IsLessThan(yp,nn.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function a0(){i0(),yp++,xp++}function m0(){xp--,u.IsEqual(xp,0)&&(yp=0)}function u0(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function c0(e,t){return u.IsEqual(u0(e),t)}function p0(e,t,n,r,o,s){a0();try{let a=w$(e,t,r,s),c=$(a,Ie([...t.callstack,n.$ref],t.visited),o);return $(a,Ie([],[]),c)}finally{m0()}}function l0(e,t,n,r,o,s){return s.reduce((a,c)=>{let p=p0(e,t,n,r,o,c);return[...a,p]},[])}function d0(e,t,n,r,o,s){let a=h$(r,s,o),c=l0(e,t,n,r,o,a);return u.IsEqual(c.length,1)?c[0]:Et(c)}function Ga(e,t,n,r){let o=Nt(e,t,r),s=b$(e,n,r),a=s[0],c=s[1];return Xr(c)?c0(t,a)?bs(Nn(a),o):d0(e,t,Nn(a),c.parameters,c.expression,o):bs(n,o)}var xp,yp,bp=m(()=>{yr();R();lo();Bt();Xo();vs();N();N();N();x$();I$();k$();xp=0,yp=0});function bs(e,t){return d.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function T$(e,t){return Ga({},Ie([],[]),e,t)}function $o(e){return C(e,"Call")}var lo=m(()=>{E();H();bp();N()});function f0(e){return d.Discard(e,["~immutable"])}function E$(e,t){return d.Update(f0(e),{},t)}function v$(e,t,n,r){let o=$(e,t,n);return E$(o,r)}var Ip=m(()=>{E();N()});function S$(e,t){return e(t)}var P$=m(()=>{});function R$(e,t){return u.IsString(t)?ne(S$(e,t)):ne(t)}var A$=m(()=>{R();Ce();P$()});function O$(e,t){let n=st(t);return Un(e,n)}var M$=m(()=>{Wa();vs()});function C$(e,t){let n=t.map(r=>Un(e,r));return J(n)}var L$=m(()=>{X();Wa()});function Un(e,t){return ce(t)?R$(e,t.const):Pe(t)?O$(e,t.pattern):L(t)?C$(e,t.anyOf):t}var Wa=m(()=>{Ce();kt();X();A$();M$();L$()});function sa(e,t={}){return F("Capitalize",[e],t)}function j$(e,t={}){return $p(e,t)}var Ba=m(()=>{ae();An()});function ia(e,t={}){return F("Lowercase",[e],t)}function F$(e,t={}){return wp(e,t)}var za=m(()=>{ae();An()});function aa(e,t={}){return F("Uncapitalize",[e],t)}function D$(e,t={}){return kp(e,t)}var Ha=m(()=>{ae();An()});function ma(e,t={}){return F("Uppercase",[e],t)}function N$(e,t={}){return Tp(e,t)}var Va=m(()=>{ae();An()});function $p(e,t){return z([e])?d.Update(Un(g0,e),{},t):sa(e,t)}function wp(e,t){return z([e])?d.Update(Un(h0,e),{},t):ia(e,t)}function kp(e,t){return z([e])?d.Update(Un(x0,e),{},t):aa(e,t)}function Tp(e,t){return z([e])?d.Update(Un(y0,e),{},t):ma(e,t)}function _$(e,t,n,r){let o=$(e,t,n);return $p(o,r)}function q$(e,t,n,r){let o=$(e,t,n);return wp(o,r)}function U$(e,t,n,r){let o=$(e,t,n);return kp(o,r)}function K$(e,t,n,r){let o=$(e,t,n);return Tp(o,r)}var g0,h0,x0,y0,An=m(()=>{E();Wa();N();Ba();za();Ha();Va();g0=e=>e[0].toUpperCase()+e.slice(1),h0=e=>e.toLowerCase(),x0=e=>e[0].toLowerCase()+e.slice(1),y0=e=>e.toUpperCase()});function ua(e,t,n,r,o={}){return F("Conditional",[e,t,n,r],o)}function G$(e,t,n,r,o={}){return Ep({},Ie([],[]),e,t,n,r,o)}var Ja=m(()=>{ae();vp();N()});function b0(e,t,n,r,o,s){let a=nt(e,n,r);return W.IsExtendsUnion(a)?J([$(a.inferred,t,o),$(e,t,s)]):W.IsExtendsTrue(a)?$(a.inferred,t,o):$(e,t,s)}function Ep(e,t,n,r,o,s,a){return z([n,r])?d.Update(b0(e,t,n,r,o,s),{},a):ua(n,r,o,s,a)}function W$(e,t,n,r,o,s,a){let c=$(e,t,n),p=$(e,t,r);return Ep(e,t,c,p,o,s,a)}var vp=m(()=>{E();X();En();N();Ja()});var Sp=m(()=>{vp()});function ca(e,t={}){return F("ConstructorParameters",[e],t)}function B$(e,t={}){return Pp(e,t)}var Ya=m(()=>{ae();Xa()});function I0(e){let t=Ue(e)?e.parameters:[],n=mr({},Ie([],[]),t);return je(n)}function Pp(e,t){return z([e])?d.Update(I0(e),{},t):ca(e,t)}function z$(e,t,n,r){let o=$(e,t,n);return Pp(o,r)}var Xa=m(()=>{E();Gt();_e();Ya();N();N();N()});function pa(e,t,n={}){return F("Exclude",[e,t],n)}function H$(e,t,n={}){return Ls(e,t,n)}var Za=m(()=>{ae();js()});function Ls(e,t,n){return z([e,t])?d.Update(Hi(e,t),{},n):pa(e,t,n)}function V$(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Ls(s,a,o)}var js=m(()=>{E();N();Za();Pc()});function la(e,t,n={}){return F("Extract",[e,t],n)}function J$(e,t,n={}){return Rp(e,t,n)}var Qa=m(()=>{ae();em()});function $0(e,t){let n=nt({},e,t);return W.IsExtendsTrueLike(n)?[e]:[]}function Y$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Y$(o,t,[...n,...$0(r,t)]),()=>n)}function X$(e,t){let n=Yt(e),r=L(n)?n.anyOf:[n],o=Y$(r,t);return Et(o)}var Z$=m(()=>{R();X();En();V();V()});function Rp(e,t,n){return z([e,t])?d.Update(X$(e,t),{},n):la(e,t,n)}function Q$(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Rp(s,a,o)}var em=m(()=>{E();N();Qa();Z$()});function w0(e){return e.reduce((t,n)=>ji(n)?[...t,ne(n)]:t,[])}function wo(e){let t=w0(e);return J(t)}var Fs=m(()=>{Ce();X()});function Is(e,t,n={}){return F("Index",[e,t],n)}function ew(e,t,n={}){let r=u.IsArray(t)?wo(t):t;return Op(e,r,n)}var Ap=m(()=>{R();ae();Fs();tm()});function tw(e,t){let n=Rn(e,t);return _t(n)}var nw=m(()=>{Fr();jr()});function rw(e,t,n){let r=an(e,t,n);return _t(r)}var ow=m(()=>{Fr();V()});function k0(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,w)=>({...I,[w]:e[w]}),{}),a=r.reduce((I,w)=>({...I,[w]:t[w]}),{}),c=o.reduce((I,w)=>({...I,[w]:ke([e[w],t[w]])}),{}),p=d.Assign(s,a);return d.Assign(p,c)}function sw(e){return e.reduce((t,n)=>k0(t,_t(n)),{})}var iw=m(()=>{E();R();Fr();V()});var aw=m(()=>{});function mw(e){let t=uh(je(e));return _t(t)}var uw=m(()=>{_e();kc();Fr()});function T0(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:Et([e[s],t[s]])}),{})}function cw(e,t){return u.ShiftLeft(e,(n,r)=>cw(r,T0(t,_t(n))),()=>t)}function pw(e){return u.ShiftLeft(e,(t,n)=>cw(n,_t(t)),()=>Ne())}var lw=m(()=>{R();$n();V();Fr()});function _t(e){return et(e)?tw(e.$defs,e.$ref):Se(e)?rw(e.if,e.then,e.else):te(e)?sw(e.allOf):L(e)?pw(e.anyOf):he(e)?mw(e.items):ue(e)?e.properties:{}}var Fr=m(()=>{$t();Pt();De();le();_e();X();nw();ow();iw();aw();uw();lw()});function ko(e){let t=_t(e);return G(t)}var dw=m(()=>{le();Fr()});var Ds=m(()=>{dw()});function To(e){let t=`${e}`;return E0.test(t)?parseInt(t):e}var E0,Ns=m(()=>{E0=new RegExp("^(?:0|[1-9][0-9]*)$")});function v0(e){return ne(To(e))}function fw(e){return e.map(t=>gw(t))}function gw(e){return te(e)?wt(fw(e.allOf)):L(e)?J(fw(e.anyOf)):ce(e)?v0(e.const):e}function hw(e,t){let n=gw(t),r=nt({},n,Rt());return W.IsExtendsTrueLike(r)?e:ce(t)&&u.IsEqual(t.const,"length")?Rt():de()}var xw=m(()=>{R();De();X();Ce();dt();Ve();En();Ns()});function yw(e,t){let n=Rn(e,t);return Ot(n)}var bw=m(()=>{ur();jr()});function Iw(e,t,n){let r=an(e,t,n);return Ot(r)}var $w=m(()=>{ur();V()});function ww(e){let t=gt(e);return Ot(t)}var kw=m(()=>{ur();V()});function Tw(e){let t=ke(e);return Ot(t)}var Ew=m(()=>{V();ur()});function vw(e){return[`${e}`]}var Sw=m(()=>{});function Pw(e){let t=st(e);return Ot(t)}var Rw=m(()=>{ur();V()});function Aw(e){return e.reduce((t,n)=>[...t,...Ot(n)],[])}var Ow=m(()=>{ur()});function Ot(e){return et(e)?yw(e.$defs,e.$ref):Se(e)?Iw(e.if,e.then,e.else):tt(e)?ww(e.enum):te(e)?Tw(e.allOf):ce(e)?vw(e.const):Pe(e)?Pw(e.pattern):L(e)?Aw(e.anyOf):[]}var ur=m(()=>{$t();Pt();on();De();Ce();kt();X();bw();$w();kw();Ew();Sw();Rw();Ow()});function Eo(e){return Ot(e)}var nm=m(()=>{ur()});function _s(e,t){return t.map(n=>qs(e,n))}function qs(e,t){return we(t)?Dt(qs(e,t.items)):Ue(t)?hn(_s(e,t.parameters),qs(e,t.instanceType)):Ke(t)?xn(_s(e,t.parameters),qs(e,t.returnType)):he(t)?je(_s(e,t.items)):L(t)?J(_s(e,t.anyOf)):te(t)?wt(_s(e,t.allOf)):ea(t)?G(e):t}function Mw(e,t){return qs(e,t)}var Cw=m(()=>{pt();Gt();Wt();De();le();_e();ta();X()});function S0(e,t){let n=t in e?e[t]:de();return Mw(e,n)}function Lw(e,t){return t.reduce((n,r)=>[...n,S0(e,r)],[])}function P0(e,t){let n=Eo(t),r=Lw(e,n);return Et(r)}function A0(e){return e.filter(n=>R0.test(n))}function O0(e){let t=vi(e),n=A0(t),r=Lw(e,n);return Et(r)}function jw(e,t){return Le(t)?O0(e):P0(e,t)}var R0,Fw=m(()=>{dt();Ve();$r();V();nm();Ye();Cw();R0=new RegExp(rr)});function M0(e){return ne(To(e))}function Dw(e){return e.map(t=>Mp(t))}function Mp(e){return te(e)?wt(Dw(e.allOf)):L(e)?J(Dw(e.anyOf)):ce(e)?M0(e.const):e}var Nw=m(()=>{X();De();Ce();Ns()});function C0(e,t){return e.reduceRight((n,r,o)=>{let s=nt({},ne(o),t);return W.IsExtendsTrueLike(s)?[r,...n]:n},[])}function L0(e,t){let n=Mp(t),r=C0(e,n);return tr(r)}function j0(e){return tr(e)}function _w(e,t){return ce(t)&&u.IsEqual(t.const,"length")?ne(e.length):Le(t)||lt(t)?j0(e):L0(e,t)}var qw=m(()=>{R();Ce();dt();Tn();V();En();Nw()});function Uw(e,t){return we(e)?hw(e.items,t):ue(e)?jw(e.properties,t):he(e)?_w(e.items,t):de()}var Kw=m(()=>{pt();Ve();le();_e();xw();Fw();qw()});function F0(e){return et(e)||Se(e)||te(e)||L(e)?ko(e):e}function Op(e,t,n){return z([e,t])?d.Update(Uw(F0(e),t),{},n):Is(e,t,n)}function Gw(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Op(s,a,o)}var tm=m(()=>{E();$t();Pt();De();X();N();Ap();Ds();Kw()});function da(e,t={}){return F("InstanceType",[e],t)}function Ww(e,t={}){return Cp(e,t)}var rm=m(()=>{ae();om()});function D0(e){return Ue(e)?e.instanceType:de()}function Cp(e,t){return z([e])?d.Update(D0(e),{},t):da(e,t)}function Bw(e,t,n,r={}){let o=$(e,t,n);return Cp(o,r)}var om=m(()=>{E();Gt();Ve();rm();N()});function $s(e,t={}){return F("KeyOf",[e],t)}function zw(e,t={}){return Lp(e,t)}var sm=m(()=>{ae();im()});function Hw(){return J([Rt(),Vt(),oo()])}var Vw=m(()=>{dt();Jt();Pr();X()});function Jw(e){return Rt()}var Yw=m(()=>{dt()});function N0(e){return e.reduce((n,r)=>ji(r)?[...n,ne(To(r))]:Ne(),[])}function Xw(e){let t=u.Keys(e),n=N0(t);return tr(n)}var Zw=m(()=>{$n();R();Ce();Ns();V()});function Qw(e){return ao(e)}var ek=m(()=>{Ye()});function tk(e){let t=e.map((n,r)=>ne(r));return tr(t)}var nk=m(()=>{Ce();V()});function rk(e){return Ee(e)?Hw():we(e)?Jw(e.items):ue(e)?Xw(e.properties):rt(e)?Qw(e):he(e)?tk(e.items):de()}var ok=m(()=>{It();pt();Ve();le();Ye();_e();Vw();Yw();Zw();ek();nk()});function _0(e){return et(e)||Se(e)||te(e)||L(e)?ko(e):e}function Lp(e,t){return z([e])?d.Update(rk(_0(e)),{},t):$s(e,t)}function sk(e,t,n,r){let o=$(e,t,n);return Lp(o,r)}var im=m(()=>{E();$t();Pt();De();X();sm();N();Ds();ok()});function xs(e,t,n,r,o={}){return F("Mapped",[e,t,n,r],o)}function ik(e,t,n,r,o={}){return jp({},Ie([],[]),e,t,n,r,o)}var am=m(()=>{ae();mm();N()});function q0(e){let t=st(e);return um(t)}function U0(e){return e.reduce((t,n)=>[...t,...um(n)],[])}function K0(e){let t=gt(e);return um(t)}function G0(e){return u.IsNumber(e)?[ne(`${e}`)]:[ne(e)]}function um(e){return tt(e)?K0(e.enum):ce(e)?G0(e.const):Pe(e)?q0(e.pattern):L(e)?U0(e.anyOf):[e]}function ak(e){return um(e)}var mk=m(()=>{R();Ce();on();kt();X();V();V()});function W0(e){return Pe(e)?st(e.pattern):e}function B0(e,t,n,r,o,s){let a=d.Assign(e,{[n.name]:r}),c=$(a,t,o),p=W0(c),f=$(a,t,s);return Ug(p)||Kg(p)?{[p.const]:f}:{}}function z0(e,t,n,r,o,s){return r.reduce((a,c)=>[...a,B0(e,t,n,c,o,s)],[])}function H0(e){return e.reduce((t,n)=>[...t,G(n)],[])}function uk(e,t,n,r,o,s){let a=ak(r),c=z0(e,t,n,a,o,s),p=H0(c);return ke(p)}var ck=m(()=>{E();Ce();le();kt();N();V();V();mk()});function jp(e,t,n,r,o,s,a){return z([r])?d.Update(uk(e,t,n,r,o,s),{},a):xs(n,r,o,s,a)}function pk(e,t,n,r,o,s,a){let c=$(e,t,r);return jp(e,t,n,c,o,s,a)}var mm=m(()=>{E();am();N();ck()});function V0(e,t,n){let r=d.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:m$(r,a,t[a])}),{})}function J0(e,t,n){let r=d.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:$(r,Ie([],[]),t[a])}),{})}function Y0(e,t,n){let r=r$(t),o=V0(e,t,r),s=J0(e,t,r),a={...o,...s};return d.Update(a,{},n)}function cm(e,t,n,r){return Y0(e,n,r)}var pm=m(()=>{R();E();N();cp();lp();N()});function fa(e,t={}){return F("NonNullable",[e],t)}function lk(e,t={}){return Fp(e,t)}var lm=m(()=>{ae();dm()});function X0(e){let t=J([to(),uo()]);return Ls(e,t,{})}function Fp(e,t){return z([e])?d.Update(X0(e),{},t):fa(e,t)}function dk(e,t,n,r){let o=$(e,t,n);return Fp(o,r)}var dm=m(()=>{E();ro();po();X();js();lm();N()});function ga(e,t,n={}){return F("Omit",[e,t],n)}function fk(e,t,n={}){let r=u.IsArray(t)?wo(t):t;return Dp(e,r,n)}var fm=m(()=>{R();ae();Fs();gm()});function hm(e){let t=ko(e);return ue(t)?t.properties:Ne()}var Np=m(()=>{$n();le();Ds()});function Z0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function gk(e,t){let n=hm(e),r=Eo(t),o=Z0(n,r);return G(o)}var hk=m(()=>{R();le();nm();Np()});function Dp(e,t,n){return z([e,t])?d.Update(gk(e,t),{},n):ga(e,t,n)}function xk(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Dp(s,a,o)}var gm=m(()=>{E();fm();N();hk()});function ha(e,t={}){return F("Parameters",[e],t)}function yk(e,t={}){return _p(e,t)}var xm=m(()=>{ae();ym()});function Q0(e){let t=Ke(e)?e.parameters:[],n=mr({},Ie([],[]),t);return je(n)}function _p(e,t){return z([e])?d.Update(Q0(e),{},t):ha(e,t)}function bk(e,t,n,r){let o=$(e,t,n);return _p(o,r)}var ym=m(()=>{E();Wt();_e();xm();N();N();N()});function xa(e,t={}){return F("Partial",[e],t)}function Ik(e,t={}){return qp(e,t)}var bm=m(()=>{ae();Im()});function $k(e,t){let n=Rn(e,t),r=On(n);return bn(d.Assign(e,{[t]:r}),t)}var wk=m(()=>{E();$t();vo();jr()});function kk(e,t,n){let r=an(e,t,n);return On(r)}var Tk=m(()=>{vo();V()});function Ek(e){let t=ke(e);return On(t)}var vk=m(()=>{vo();V()});function Sk(e){let t=e.map(n=>On(n));return J(t)}var Pk=m(()=>{X();vo()});function Rk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Ir(e[o])}),{});return G(t)}var Ak=m(()=>{R();le();Zo()});function On(e){return et(e)?$k(e.$defs,e.$ref):Se(e)?kk(e.if,e.then,e.else):te(e)?Ek(e.allOf):L(e)?Sk(e.anyOf):ue(e)?Rk(e.properties):G({})}var vo=m(()=>{$t();Pt();De();le();X();wk();Tk();vk();Pk();Ak()});function qp(e,t){return z([e])?d.Update(On(e),{},t):xa(e,t)}function Ok(e,t,n,r){let o=$(e,t,n);return qp(o,r)}var Im=m(()=>{E();bm();vo();N()});function ya(e,t,n={}){return F("Pick",[e,t],n)}function Mk(e,t,n={}){let r=u.IsArray(t)?wo(t):t;return Up(e,r,n)}var $m=m(()=>{R();ae();Fs();wm()});function eL(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?d.Assign(r,{[o]:e[o]}):r,{})}function Ck(e,t){let n=hm(e),r=Eo(t),o=eL(n,r);return G(o)}var Lk=m(()=>{E();R();le();nm();Np()});function Up(e,t,n){return z([e,t])?d.Update(Ck(e,t),{},n):ya(e,t,n)}function jk(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Up(s,a,o)}var wm=m(()=>{E();$m();N();Lk()});function ba(e,t={}){return F("ReadonlyObject",[e],t)}function Kp(e,t={}){return Gp(e,t)}var Fk,km=m(()=>{ae();Tm();Fk=Kp});function Dk(e){return eo(Dt(e))}var Nk=m(()=>{pt();os()});function _k(e,t){let n=Rn(e,t),r=Mn(n);return bn(d.Assign(e,{[t]:r}),t)}var qk=m(()=>{E();$t();So();jr()});function Uk(e,t,n){let r=an(e,t,n);return Mn(r)}var Kk=m(()=>{So();V()});function Gk(e){let t=ke(e);return Mn(t)}var Wk=m(()=>{So();V()});function Bk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Tr(e[o])}),{});return G(t)}var zk=m(()=>{R();le();ss()});function Hk(e){return eo(je(e))}var Vk=m(()=>{_e();os()});function Jk(e){let t=e.map(n=>Mn(n));return J(t)}var Yk=m(()=>{X();So()});function Mn(e){return we(e)?Dk(e.items):et(e)?_k(e.$defs,e.$ref):Se(e)?Uk(e.if,e.then,e.else):te(e)?Gk(e.allOf):ue(e)?Bk(e.properties):he(e)?Hk(e.items):L(e)?Jk(e.anyOf):e}var So=m(()=>{pt();$t();Pt();De();le();_e();X();Nk();qk();Kk();Wk();zk();Vk();Yk()});function Gp(e,t){return z([e])?d.Update(Mn(e),{},t):ba(e)}function Xk(e,t,n,r){let o=$(e,t,n);return Gp(o,r)}var Tm=m(()=>{E();km();So();N()});function Zk(e,t,n,r){return t.visited.includes(r)?n:r in e?$(e,Ie(t.callstack,[...t.visited,r]),e[r]):n}var Wp=m(()=>{N();N()});function Qk(e,t){let n=Rn(e,t),r=Cn(n);return bn(d.Assign(e,{[t]:r}),t)}var eT=m(()=>{E();$t();Po();jr()});function tT(e,t,n){let r=an(e,t,n);return Cn(r)}var nT=m(()=>{Po();V()});function rT(e){let t=ke(e);return Cn(t)}var oT=m(()=>{Po();V()});function sT(e){let t=e.map(n=>Cn(n));return J(t)}var iT=m(()=>{X();Po()});function aT(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Wi(e[o])}),{});return G(t)}var mT=m(()=>{R();le();Bi()});function Cn(e){return et(e)?Qk(e.$defs,e.$ref):Se(e)?tT(e.if,e.then,e.else):te(e)?rT(e.allOf):L(e)?sT(e.anyOf):ue(e)?aT(e.properties):G({})}var Po=m(()=>{$t();Pt();De();le();X();eT();nT();oT();iT();mT()});function Ia(e,t={}){return F("Required",[e],t)}function uT(e,t={}){return Bp(e,t)}var Em=m(()=>{ae();vm()});function Bp(e,t){return z([e])?d.Update(Cn(e),{},t):Ia(e,t)}function cT(e,t,n,r){let o=$(e,t,n);return Bp(o,r)}var vm=m(()=>{E();Po();Em();N()});function $a(e,t={}){return F("ReturnType",[e],t)}function pT(e,t={}){return zp(e,t)}var Sm=m(()=>{ae();Pm()});function tL(e){return Ke(e)?e.returnType:de()}function zp(e,t){return z([e])?d.Update(tL(e),{},t):$a(e,t)}function lT(e,t,n,r={}){let o=$(e,t,n);return zp(o,r)}var Pm=m(()=>{E();Wt();Ve();Sm();N()});function wa(e,t){return F("With",[e,t],{})}function dT(e,t){return Hp(e,t)}var Rm=m(()=>{ae();Am()});function Hp(e,t){return z([e])?d.Update(e,{},t):wa(e,t)}function fT(e,t,n,r){let o=$(e,t,n);return Hp(o,r)}var Am=m(()=>{E();N();Rm()});function nL(e){return or(e)?he(e.items)?Vp(e.items.items):Me(e.items)?[e]:Ge(e.items)?[e]:[de()]:[e]}function Vp(e){return e.reduce((n,r)=>[...n,...nL(r)],[])}var gT=m(()=>{zt();Ve();mo();Bt();_e()});var hT=m(()=>{gT()});function Ie(e,t){return{callstack:e,visited:t}}function z(e){return u.ShiftLeft(e,(t,n)=>Ge(t)?!1:z(n),()=>!0)}function Ps(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:$(e,t,n[o])}),{})}function mr(e,t,n){let r=Nt(e,t,n);return Vp(r)}function Nt(e,t,n){return n.map(r=>$(e,t,r))}function rL(e,t){let n=ot(e)?Yo(t,{}):t,r=Er(e)?Jo(n,{}):n;return kr(e)?Us(r,{}):r}function oL(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?xT(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?v$(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?Tf(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?oh(e,t,r[0],o):u.IsEqual(n,"AddOptional")?Ef(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?ah(e,t,r[0],o):u.IsEqual(n,"Capitalize")?_$(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")?z$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?l$(e,t,r[0],o):u.IsEqual(n,"Exclude")?V$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?Q$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?Gw(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?Bw(e,t,r[0],o):u.IsEqual(n,"Interface")?QI(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?sk(e,t,r[0],o):u.IsEqual(n,"Lowercase")?q$(e,t,r[0],o):u.IsEqual(n,"Mapped")?pk(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?cm(e,t,r[0],o):u.IsEqual(n,"NonNullable")?dk(e,t,r[0],o):u.IsEqual(n,"Pick")?jk(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?bk(e,t,r[0],o):u.IsEqual(n,"Partial")?Ok(e,t,r[0],o):u.IsEqual(n,"Omit")?xk(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?Xk(e,t,r[0],o):u.IsEqual(n,"Record")?Mh(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?cT(e,t,r[0],o):u.IsEqual(n,"ReturnType")?lT(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?Hb(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?U$(e,t,r[0],o):u.IsEqual(n,"Uppercase")?K$(e,t,r[0],o):u.IsEqual(n,"With")?fT(e,t,r[0],r[1]):F(n,r,o)}function sL(e,t,n){let r=Ge(n)?Zk(e,t,n,n.$ref):we(n)?Dt($(e,t,n.items),Ei(n)):$o(n)?Ga(e,t,n.target,n.arguments):Ue(n)?hn(Nt(e,t,n.parameters),$(e,t,n.instanceType),vf(n)):Ke(n)?xn(Nt(e,t,n.parameters),$(e,t,n.returnType),Sf(n)):Se(n)?wr($(e,t,n.if),$(e,t,n.then),$(e,t,n.else),Lf(n)):te(n)?wt(Nt(e,t,n.allOf),_f(n)):ue(n)?G(Ps(e,t,n.properties),Of(n)):rt(n)?Ch(Xt(n),$(e,t,ht(n))):or(n)?Ar($(e,t,n.items)):he(n)?je(mr(e,t,n.items),rh(n)):L(n)?J(Nt(e,t,n.anyOf),Wg(n)):n;return rL(n,r)}function $(e,t,n){return Jn(n)?oL(e,t,n.action,n.parameters,n.options):sL(e,t,n)}function Jp(e,t){return $(e,Ie([],[]),t)}var N=m(()=>{R();Om();ki();Ti();pt();Gt();ae();Wt();lo();Pt();De();le();Ye();_e();X();Bt();mo();Om();Ip();ki();yc();Ti();$c();Xn();rs();is();bp();An();Sp();Xa();Ka();js();em();tm();om();_a();im();An();mm();pm();dm();gm();ym();Im();wm();Tm();Ji();Wp();vm();Pm();La();An();An();Am();hT()});function iL(e){return d.Update(e,{"~immutable":!0},{})}function Us(e,t){return d.Update(iL(e),{},t)}function xT(e,t,n,r){let o=$(e,t,n);return Us(o,r)}var Om=m(()=>{E();N()});function jy(e,t={}){return F("AddImmutable",[e],t)}function eo(e,t={}){return Us(e,t)}var os=m(()=>{ae();Om()});var yT=m(()=>{ae();Ip()});function Fy(e,t={}){return F("Evaluate",[e],t)}function bT(e,t={}){return gp(e,t)}var Yp=m(()=>{ae();Ka()});function Dy(e,t={}){return F("Module",[e],t)}function IT(e,t={}){return cm({},Ie([],[]),e,t)}var Xp=m(()=>{ae();N();pm()});var fo=m(()=>{os();ss();Zo();yT();bc();Bi();Ba();Ja();Ya();Yp();Za();Qa();Ap();rm();Rs();sm();za();am();Xp();lm();fm();xm();bm();$m();km();Em();Sm();Ha();Va();Rm()});var $T=m(()=>{Xa()});var wT=m(()=>{Ai()});var kT=m(()=>{js()});var TT=m(()=>{em()});var ET=m(()=>{});var vT=m(()=>{Fs();Ns();ET()});var ST=m(()=>{tm()});var PT=m(()=>{om()});var RT=m(()=>{_a()});var AT=m(()=>{An()});var OT=m(()=>{im()});var MT=m(()=>{mm()});var CT=m(()=>{pm()});var LT=m(()=>{dm()});var jT=m(()=>{gm()});var FT=m(()=>{ym()});var DT=m(()=>{cs();Xc()});var NT=m(()=>{Im()});var _T=m(()=>{wm()});var qT=m(()=>{R();fs()});var UT=m(()=>{qT()});var KT=m(()=>{Tm()});var GT=m(()=>{Ji()});var WT=m(()=>{Wp()});var BT=m(()=>{vm()});var zT=m(()=>{Pm()});var HT=m(()=>{});var VT=m(()=>{R();cs()});var JT=m(()=>{Ki();Gi();Zc();HT();qi();VT()});var YT=m(()=>{Am()});var XT=m(()=>{N();Sp();$T();dp();wT();vs();kT();TT();vT();ST();PT();RT();AT();OT();MT();CT();LT();Ds();jT();FT();DT();NT();_T();UT();KT();GT();WT();BT();zT();JT();YT()});function ZT(...e){let[t,n,r]=In.Match(e,{2:(a,c)=>u.IsString(a)?[{},a,c]:[a,c,{}],3:(a,c,p)=>[a,c,p],1:a=>[{},a,{}]}),o=Kb(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?$(t,Ie([],[]),o[0]):de();return d.Update(s,{},r)}var QT=m(()=>{Qr();E();R();ra();N();N();Ni()});var Zp=m(()=>{QT()});var Y={};Ft(Y,{Any:()=>Zr,Array:()=>Dt,BigInt:()=>as,Boolean:()=>Ci,Call:()=>T$,Capitalize:()=>j$,Codec:()=>Mi,Conditional:()=>G$,Constructor:()=>hn,ConstructorParameters:()=>B$,Cyclic:()=>bn,Decode:()=>Lg,DecodeBuilder:()=>ns,Dependent:()=>wr,Encode:()=>jg,EncodeBuilder:()=>ts,Enum:()=>Nf,Evaluate:()=>bT,Exclude:()=>H$,Extends:()=>nt,ExtendsResult:()=>W,Extract:()=>J$,Function:()=>xn,Generic:()=>Yn,Identifier:()=>ms,Immutable:()=>Fg,Index:()=>ew,Infer:()=>Qo,InstanceType:()=>Ww,Instantiate:()=>Jp,Integer:()=>Sr,Interface:()=>e$,Intersect:()=>wt,IsAny:()=>Ee,IsArray:()=>we,IsBigInt:()=>kn,IsBoolean:()=>Ht,IsCall:()=>$o,IsCodec:()=>Oi,IsConstructor:()=>Ue,IsCyclic:()=>et,IsDependent:()=>Se,IsEnum:()=>tt,IsEnumValue:()=>Df,IsFunction:()=>Ke,IsGeneric:()=>Xr,IsIdentifier:()=>qg,IsImmutable:()=>kr,IsInfer:()=>Me,IsInteger:()=>lt,IsIntersect:()=>te,IsKind:()=>C,IsLiteral:()=>ce,IsNever:()=>rn,IsNull:()=>no,IsNumber:()=>Le,IsObject:()=>ue,IsOptional:()=>ot,IsParameter:()=>Gg,IsReadonly:()=>Er,IsRecord:()=>rt,IsRef:()=>Ge,IsRefine:()=>pc,IsRest:()=>or,IsSchema:()=>Fe,IsString:()=>ft,IsSymbol:()=>Qn,IsTemplateLiteral:()=>Pe,IsThis:()=>ea,IsTuple:()=>he,IsUndefined:()=>co,IsUnion:()=>L,IsUnknown:()=>Oe,IsUnsafe:()=>Pi,IsVoid:()=>vn,KeyOf:()=>zw,Literal:()=>ne,Lowercase:()=>F$,Mapped:()=>ik,Module:()=>IT,Never:()=>de,NonNullable:()=>lk,Null:()=>to,Number:()=>Rt,Object:()=>G,Omit:()=>fk,Optional:()=>Rf,Parameter:()=>Rr,Parameters:()=>yk,Partial:()=>Ik,Pick:()=>Mk,Readonly:()=>Dg,ReadonlyObject:()=>Kp,ReadonlyType:()=>Fk,Record:()=>Xi,RecordKey:()=>ao,RecordPattern:()=>Xt,RecordValue:()=>ht,Ref:()=>Nn,Refine:()=>Ng,Required:()=>uT,Rest:()=>Ar,ReturnType:()=>pT,Script:()=>ZT,String:()=>Vt,Symbol:()=>oo,TemplateLiteral:()=>Jb,This:()=>Qi,Tuple:()=>je,Uncapitalize:()=>D$,Undefined:()=>uo,Union:()=>J,Unknown:()=>Je,Unsafe:()=>Mf,Uppercase:()=>N$,Void:()=>na,With:()=>dT});var Qp=m(()=>{N();En();Zp();Ba();Ja();Ya();Yp();Za();Qa();fo();rm();Rs();sm();za();am();Xp();lm();fm();xm();bm();$m();km();Em();Sm();Ha();Va();Rm();cc();rs();Xn();is();lc();It();pt();vr();Zn();lo();Gt();$t();on();Wt();Xo();dc();Pt();zt();Tn();De();Ce();Ve();ro();dt();le();gc();Ye();Bt();mo();H();Jt();Pr();kt();ta();_e();po();X();Qe();Ri();Or()});var Dr=m(()=>{fo();XT();En();Zp();ra();Qp();Qp()});import{StringEnum as aL}from"@earendil-works/pi-ai";import{defineTool as mL}from"@earendil-works/pi-coding-agent";function eE(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${uL[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(`
|
|
17
|
+
`,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),Ub=(e,t=[])=>i(i(qb(e),([n,r])=>i(Yc(r),([o,s])=>[[n,o],s])),([n,r])=>Ub(r,[...t,n]),()=>[t,e]),VM=e=>i(i(i(Yc(e),([t,n])=>i(Ub(n),([r,o])=>i(i(qb(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]),Yc=e=>i(i(HM(e),([t,n])=>i(i(GM(n),([r,o])=>[r,o],()=>i(WM(n),([r,o])=>[r,o],()=>i(BM(n),([r,o])=>[r,o],()=>i(zM(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i(lb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[My(t),n]),JM=e=>i(i(Yc(e),([t,n])=>i(VM(n),([r,o])=>[[t,r],o])),([t,n])=>[Cy(t),n]),Kb=e=>i(i(JM(e),([t,n])=>[t,n],()=>i(rM(e),([t,n])=>[t,n],()=>i(ie(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function Gb(e){let t=zc(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:Ne()}var Xc=m(()=>{$n();A();Ni()});function XM(e){return e.join("|")}function ZM(e){return e.slice(1,e.length-1)}function QM(e,t,n){return ar(t,`${n}${e}`)}function eC(e,t){return ar(e,`${t}${_g}`)}function tC(e,t){return ar(e,`${t}${Li}`)}function nC(e,t){return ar(e,`${t}${Fi}`)}function rC(e,t){return ks(J([ne("false"),ne("true")]),e,t)}function oC(e,t){return ar(e,`${t}${Di}`)}function sC(e,t,n){return ar(t,`${n}${ZM(e)}`)}function iC(e,t,n){let r=Ts(e,{});return ks(r,t,n)}function aC(e,t,n){let r=gt(e);return ks(r,t,n)}function Wb(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>Wb(s,t,n,[...r,ks(o,[],"")]),()=>ar(t,`${n}(${XM(r)})`))}function ks(e,t,n){return tt(e)?aC(e.enum,t,n):lt(e)?tC(t,n):ce(e)?QM(e.const,t,n):kn(e)?eC(t,n):Ht(e)?rC(t,n):Le(e)?nC(t,n):ft(e)?oC(t,n):Pe(e)?sC(e.pattern,t,n):zb(e)?iC(e.parameters[0],t,n):L(e)?Wb(e.anyOf,t,n):Pf}function ar(e,t){return u.ShiftLeft(e,(n,r)=>ks(n,r,t),()=>t)}function mC(e){return`^${ar(e,"")}$`}function Bb(e){let t=mC(e);return Ui(t)}var Zc=m(()=>{A();on();Ce();X();kt();Er();Jt();dt();Tn();Zn();Ve();Ki();V();La()});function Ts(e,t){return z(e)?d.Update(Bb(e),{},t):oa(e,t)}function Hb(e,t,n,r){let o=Nt(e,t,n);return Ts(o,r)}var La=m(()=>{v();kt();Zc();N()});function oa(e,t={}){return F("TemplateLiteral",[e],t)}function zb(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function Vb(e){return Ts(e,{})}function uC(e){let t=Gb(e);return Vb(t)}function Jb(e,t={}){let n=u.IsString(e)?uC(e):Vb(e);return d.Update(n,{},t)}function Pe(e){return C(e,"TemplateLiteral")}var kt=m(()=>{es();A();H();ae();Xc();La()});var W={};Ft(W,{ExtendsFalse:()=>B,ExtendsTrue:()=>S,ExtendsUnion:()=>Qc,IsExtendsFalse:()=>cC,IsExtendsTrue:()=>Xb,IsExtendsTrueLike:()=>yo,IsExtendsUnion:()=>Yb,Match:()=>$e});function Qc(e){return d.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Yb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function S(e){return d.Create({"~kind":"ExtendsTrue"},{inferred:e})}function Xb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function B(){return d.Create({"~kind":"ExtendsFalse"},{})}function cC(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function yo(e){return Yb(e)||Xb(e)}function $e(e,t,n){return yo(e)?t(e.inferred):n()}var be=m(()=>{A();v()});function pC(e,t,n,r){return $e(oe(e,n,r),o=>S(d.Assign(d.Assign(e,o),{[t]:n})),()=>B())}function lC(e,t){return S(e)}function dC(e,t,n,r,o){return $e(oe(e,t,n),s=>$e(oe(s,t,r),a=>S(a),()=>B()),()=>$e(oe(e,t,o),s=>S(s),()=>B()))}function fC(e,t,n){let r=gt(n);return oe(e,t,r)}function Zb(e,t,n){return u.ShiftLeft(n,(r,o)=>$e(oe(e,t,r),s=>Zb(s,t,o),()=>B()),()=>S(e))}function gC(e,t,n){let r=st(n);return oe(e,t,r)}function Qb(e,t,n){return u.ShiftLeft(n,(r,o)=>$e(oe(e,t,r),s=>S(s),()=>Qb(e,t,o)),()=>B())}function pe(e,t,n){return ve(n)?lC(e,t):Se(n)?dC(e,t,n.if,n.then,n.else):tt(n)?fC(e,t,n.enum):Me(n)?pC(e,n.name,t,n.extends):te(n)?Zb(e,t,n.allOf):Pe(n)?gC(e,t,n.pattern):L(n)?Qb(e,t,n.anyOf):Oe(n)?S(e):B()}var at=m(()=>{A();v();It();Pt();on();zt();De();kt();X();Qe();Et();be();V();V()});function eI(e,t,n){return Me(n)?pe(e,t,n):ve(n)?S(e):Oe(n)?S(e):Qc(e)}var tI=m(()=>{zt();It();Qe();at();be()});function hC(e,t){let n=kr(e),r=kr(t);return n&&r||!n&&r?!0:!(n&&!r)}function nI(e,t,n,r){return we(r)?hC(t,r)?oe(e,n,r.items):B():pe(e,t,r)}var rI=m(()=>{pt();rs();at();Et();be()});function oI(e,t,n){return kn(n)?S(e):pe(e,t,n)}var sI=m(()=>{Er();at();be()});function iI(e,t,n){return Ht(n)?S(e):pe(e,t,n)}var aI=m(()=>{Zn();at();be()});function xC(e,t,n,r,o){let s=Me(r)?t:r,a=Me(r)?r:t,c=ot(t),p=ot(r);return!c&&p?B():$e(oe(e,s,a),f=>vs(f,n,o),()=>B())}function yC(e,t,n,r){return u.ShiftLeft(r,(o,s)=>xC(e,t,n,o,s),()=>ot(t)?S(e):B())}function bC(e,t,n){return u.ShiftLeft(t,(r,o)=>yC(e,r,o,n),()=>S(e))}function vs(e,t,n){return bC(e,t,n)}var ep=m(()=>{A();zt();Xn();Et();be()});function ja(e,t,n){return En(n)?S(e):oe(e,t,n)}var tp=m(()=>{Or();Et();be()});function mI(e,t,n,r){return ve(r)?S(e):Oe(r)?S(e):Ue(r)?$e(vs(e,t,r.parameters),o=>ja(o,n,r.instanceType),()=>B()):B()}var uI=m(()=>{It();Gt();Qe();be();ep();tp()});function cI(e,t,n,r,o){return $e(oe(e,t,o),()=>oe(e,n,o),()=>oe(e,r,o))}var pI=m(()=>{Et();be()});function lI(e,t,n){let r=gt(t);return oe(e,r,n)}var dI=m(()=>{Et();V()});function fI(e,t,n,r){return ve(r)?S(e):Oe(r)?S(e):Ke(r)?$e(vs(e,t,r.parameters),o=>ja(o,n,r.returnType),()=>B()):B()}var gI=m(()=>{It();Wt();Qe();be();ep();tp()});function hI(e,t,n){return lt(n)?S(e):Le(n)?S(e):pe(e,t,n)}var xI=m(()=>{Tn();dt();at();be()});function yI(e,t,n){let r=ke(t);return oe(e,r,n)}var bI=m(()=>{Et();Es()});function Fa(e,t,n){return t===n?S(e):B()}function IC(e,t,n){return ce(n)?Fa(e,t,n.const):kn(n)?S(e):pe(e,ne(t),n)}function $C(e,t,n){return ce(n)?Fa(e,t,n.const):Ht(n)?S(e):pe(e,ne(t),n)}function wC(e,t,n){return ce(n)?Fa(e,t,n.const):Le(n)?S(e):pe(e,ne(t),n)}function kC(e,t,n){return ce(n)?Fa(e,t,n.const):ft(n)?S(e):pe(e,ne(t),n)}function II(e,t,n){return u.IsBigInt(t.const)?IC(e,t.const,n):u.IsBoolean(t.const)?$C(e,t.const,n):u.IsNumber(t.const)?wC(e,t.const,n):u.IsString(t.const)?kC(e,t.const,n):Ne()}var $I=m(()=>{A();ac();Ce();Er();Zn();dt();Jt();at();be()});function wI(e,t,n){return Me(n)?pe(e,t,n):S(e)}var kI=m(()=>{zt();at();be()});function TI(e,t,n){return no(n)?S(e):pe(e,t,n)}var vI=m(()=>{ro();at();be()});function EI(e,t,n){return Le(n)?S(e):pe(e,t,n)}var SI=m(()=>{dt();at();be()});function TC(e,t,n){return ot(t)?ot(n)?S(e):B():S(e)}function vC(e,t,n){return Me(n)&&rn(n.extends)?B():$e(oe(e,t,n),r=>TC(r,t,n),()=>B())}function EC(e,t){return e.reduce((n,r)=>r in t?yo(t[r])?{...n,...t[r].inferred}:Ne():Ne(),{})}function SC(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?vC({},t[a],n[a]):ot(n[a])?Me(n[a])?S(d.Assign(e,{[n[a].name]:n[a].extends})):S(e):B();let o=u.Values(r).every(a=>yo(a)),s=o?EC(u.Keys(r),r):{};return o?S(s):B()}function PC(e,t,n){let r=SC(e,t,n);return yo(r)?S(d.Assign(e,r.inferred)):B()}function AC(e,t,n){return PC(e,t,n)}function RC(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?L(n[r])?J([...n[r].anyOf,t[r]]):J([e[r],t[r]]):t[r]}),e)}function PI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>$e(oe({},e[o],n),a=>PI(e,s,n,RC(r,a)),()=>B()),()=>S(r))}function OC(e,t,n,r){let o=u.Keys(t);return PI(t,o,r,e)}function AI(e,t,n){return rt(n)?OC(e,t,Xt(n),ht(n)):ue(n)?AC(e,t,n.properties):pe(e,G(t),n)}var RI=m(()=>{$n();v();A();Xn();zt();Ve();le();Ye();X();Et();at();be()});function MC(e,t){return u.IsEqual(u.Keys(t).length,0)?S(e):B()}function CC(e,t,n,r,o){return oe(e,n,o)}function OI(e,t,n,r){return rt(r)?CC(e,Zi(t),n,Zi(Xt(r)),ht(r)):ue(r)?MC(e,r.properties):ve(r)?S(e):Oe(r)?S(e):B()}var MI=m(()=>{A();It();Qe();le();Ye();Et();be()});function CI(e,t,n){return ft(n)?S(e):pe(e,t,n)}var LI=m(()=>{Jt();at();be()});function jI(e,t,n){return Qn(n)?S(e):pe(e,t,n)}var FI=m(()=>{Pr();at();be()});function DI(e,t,n){let r=st(t);return oe(e,r,n)}var NI=m(()=>{Et();V()});function np(e,t){return d.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function Ss(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 rp(e){return or(e)?Me(e.items)?we(e.items.extends)?np(e.items.name,e.items.extends.items):Oe(e.items.extends)?np(e.items.name,e.items.extends):void 0:Ne():void 0}function Da(e){return Me(e)?np(e.name,e.extends):void 0}function op(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>$e(oe({},r,t),()=>op(o,t,[...n,r]),()=>{}),()=>n)}function _I(e,t,n,r){let o=op(n,r);return u.IsArray(o)?S(d.Assign(e,{[t]:je(o)})):B()}function Na(e,t,n,r){let o=op(n,r);return u.IsArray(o)?S(d.Assign(e,{[t]:J(o)})):B()}var sp=m(()=>{$n();v();A();pt();Qe();_e();Et();X();zt();mo();be()});function LC(e){return[...e].reverse()}function ip(e,t){return t?LC(e):e}function jC(e){let t=e.length>0?e[0]:void 0,n=Fe(t)?rp(t):void 0;return Fe(n)}function FC(e,t,n,r,o,s){return $e(oe(e,n,o),a=>qI(a,t,r,s),()=>B())}function DC(e,t,n,r,o){let s=rp(r);return Ss(s)?_I(e,s.name,ip(n,t),s.type):u.ShiftLeft(n,(a,c)=>FC(e,t,a,c,r,o),()=>B())}function NC(e,t,n,r){return u.ShiftLeft(r,(o,s)=>DC(e,t,n,o,s),()=>u.IsEqual(n.length,0)?S(e):B())}function qI(e,t,n,r){return NC(e,t,n,r)}function _C(e,t,n){let r=mr(e,Ie([],[]),n),o=jC(r);return qI(e,o,ip(t,o),ip(r,o))}function UI(e,t,n){let r=Da(n);return Ss(r)?Na(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>$e(oe(e,o,n),a=>UI(a,s,n),()=>B()),()=>S(e))}function KI(e,t,n){let r=mr(e,Ie([],[]),t);return he(n)?_C(e,r,n.items):we(n)?UI(e,r,n.items):pe(e,je(r),n)}var GI=m(()=>{A();H();pt();_e();Et();at();be();N();N();sp()});function WI(e,t,n){return En(n)?S(e):co(n)?S(e):pe(e,t,n)}var BI=m(()=>{po();Or();at();be()});function zI(e,t,n){return u.ShiftLeft(n,(r,o)=>$e(oe(e,t,r),s=>S(s),()=>zI(e,t,o)),()=>B())}function ap(e,t,n){return u.ShiftLeft(t,(r,o)=>$e(zI(e,r,n),s=>ap(s,o,n),()=>B()),()=>S(e))}function HI(e,t,n){let r=Da(n);return Ss(r)?Na(e,r.name,t,r.type):L(n)?ap(e,t,n.anyOf):ap(e,t,[n])}var VI=m(()=>{A();X();Et();be();sp()});function JI(e,t,n){return Me(n)?pe(e,t,n):ve(n)?S(e):Oe(n)?S(e):B()}var YI=m(()=>{It();Qe();zt();at();be()});function XI(e,t,n){return En(n)?S(e):pe(e,t,n)}var ZI=m(()=>{Or();at();be()});function oe(e,t,n){return ve(t)?eI(e,t,n):we(t)?nI(e,t,t.items,n):kn(t)?oI(e,t,n):Ht(t)?iI(e,t,n):Ue(t)?mI(e,t.parameters,t.instanceType,n):Se(t)?cI(e,t.if,t.then,t.else,n):tt(t)?lI(e,t.enum,n):Ke(t)?fI(e,t.parameters,t.returnType,n):lt(t)?hI(e,t,n):te(t)?yI(e,t.allOf,n):ce(t)?II(e,t,n):rn(t)?wI(e,t,n):no(t)?TI(e,t,n):Le(t)?EI(e,t,n):ue(t)?AI(e,t.properties,n):rt(t)?OI(e,Xt(t),ht(t),n):ft(t)?CI(e,t,n):Qn(t)?jI(e,t,n):Pe(t)?DI(e,t.pattern,n):he(t)?KI(e,t.items,n):co(t)?WI(e,t,n):L(t)?HI(e,t.anyOf,n):Oe(t)?JI(e,t,n):En(t)?XI(e,t,n):B()}var Et=m(()=>{tI();rI();sI();aI();uI();pI();dI();gI();xI();bI();$I();kI();vI();SI();RI();MI();LI();FI();NI();GI();BI();VI();YI();ZI();It();pt();Er();Zn();Gt();Pt();on();Wt();Tn();De();Ce();Ve();ro();dt();le();Ye();Jt();Pr();kt();_e();po();Qe();X();Or();be()});function qC(e,t){return ke([...e,G(t)])}function mp(e,t,n){return z(e)?d.Update(qC(e,t),{},n):ys(e,t,n)}function QI(e,t,n,r,o){let s=Nt(e,t,n),a=Ps(e,t,r);return mp(s,a,o)}var _a=m(()=>{v();le();V();fo();N();N();N()});function ys(e,t,n={}){return F("Interface",[e,t],n)}function bo(e){return Fe(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function e$(e,t,n={}){return mp(e,t,n)}var As=m(()=>{A();H();ae();_a()});function UC(e,t,n){return e.includes(n)?!0:Rs([...e,n],t,t[n])}function t$(e,t,n){let r=Si(n);return Cr(e,t,r)}function Cr(e,t,n){return u.ShiftLeft(n,(r,o)=>Rs(e,t,r)?!0:Cr(e,t,o),()=>!1)}function Rs(e,t,n){return Ge(n)?UC(e,t,n.$ref):we(n)?Rs(e,t,n.items):Ue(n)?Cr(e,t,[...n.parameters,n.instanceType]):Ke(n)?Cr(e,t,[...n.parameters,n.returnType]):bo(n)?t$(e,t,n.parameters[1]):te(n)?Cr(e,t,n.allOf):ue(n)?t$(e,t,n.properties):L(n)?Cr(e,t,n.anyOf):he(n)?Cr(e,t,n.items):rt(n)?Rs(e,t,ht(n)):!1}function n$(e,t,n){return Rs(e,t,n)}var up=m(()=>{A();pt();Gt();Wt();De();le();$r();Ye();_e();X();Bt();As()});function KC(e,t){return t.reduce((n,r)=>n$([r],e,e[r])?[...n,r]:n,[])}function r$(e){let t=Ei(e);return KC(e,t)}var cp=m(()=>{$r();up()});function GC(e,t,n){return n.includes(t)?n:t in e?Os(e,e[t],[...n,t]):Ne()}function o$(e,t,n){let r=Si(t);return Io(e,r,n)}function Io(e,t,n){return t.reduce((r,o)=>Os(e,o,r),n)}function Os(e,t,n){return Ge(t)?GC(e,t.$ref,n):we(t)?Os(e,t.items,n):Ue(t)?Io(e,[...t.parameters,t.instanceType],n):Ke(t)?Io(e,[...t.parameters,t.returnType],n):bo(t)?o$(e,t.parameters[1],n):te(t)?Io(e,t.allOf,n):ue(t)?o$(e,t.properties,n):L(t)?Io(e,t.anyOf,n):he(t)?Io(e,t.items,n):rt(t)?Os(e,ht(t),n):n}function s$(e,t,n){return Os(e,n,[t])}var pp=m(()=>{$n();pt();Gt();Wt();De();le();$r();Ye();_e();X();Bt();As()});function WC(e){return Zr()}function BC(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Lr(e[n])}),{})}function Ms(e){return e.reduce((t,n)=>[...t,Lr(n)],[])}function Lr(e){return Ge(e)?WC(e.$ref):we(e)?Dt(Lr(e.items),vi(e)):Ue(e)?hn(Ms(e.parameters),Lr(e.instanceType)):Ke(e)?xn(Ms(e.parameters),Lr(e.returnType)):te(e)?wt(Ms(e.allOf)):ue(e)?G(BC(e.properties)):rt(e)?Xi(ao(e),Lr(ht(e))):L(e)?J(Ms(e.anyOf)):he(e)?je(Ms(e.items)):e}function zC(e,t){return t in e?Lr(e[t]):Je()}function i$(e){return zC(e.$defs,e.$ref)}var a$=m(()=>{A();It();pt();Gt();Wt();De();le();Ye();Bt();_e();X();Qe()});function HC(e,t,n){let r=Nt(e,Ie([],[]),t),o=Ps({},Ie([],[]),n);return ke([...r,G(o)])}function VC(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=bo(s)?HC(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function m$(e,t,n){let r=s$(e,t,n),o=VC(e,r);return bn(o,t)}var lp=m(()=>{A();$t();le();pp();fo();N();N();N();V()});function u$(e,t){return t in e?Ge(e[t])?u$(e,e[t].$ref):e[t]:de()}function An(e,t){return u$(e,t)}var jr=m(()=>{Ve();Bt()});var dp=m(()=>{cp();up();pp();a$();lp();jr()});function c$(e){return et(e)?i$(e):Pi(e)?Je():e}function nt(e,t,n){let r=c$(t),o=c$(n);return oe(e,r,o)}var p$=m(()=>{$t();Qe();Ai();Et();dp()});var vn=m(()=>{p$();be()});function ds(e,t){let n=[nt({},e,t),nt({},t,e)];return W.IsExtendsTrueLike(n[0])&&W.IsExtendsTrueLike(n[1])?ps:W.IsExtendsTrueLike(n[0])&&W.IsExtendsFalse(n[1])?ls:W.IsExtendsFalse(n[0])&&W.IsExtendsTrueLike(n[1])?zi:qa}var ps,qa,ls,zi,fs=m(()=>{vn();ps=0,qa=1,ls=2,zi=3});function fp(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=ds(e,o);return u.IsEqual(a,ls)||u.IsEqual(a,ps)?r:u.IsEqual(a,qa)?fp(e,s,[...n,o],r):fp(e,s,n,r)},()=>[...n,e])}function JC(e,t,n){let r=Yt(e);return ve(r)?[r]:Oe(r)?[r]:rn(r)?Ua(t,n):ue(r)?Ua(t,[...n,r]):Ua(t,fp(r,n))}function Ua(e,t=[]){return u.ShiftLeft(e,(n,r)=>JC(n,r,t),()=>t)}function Ac(e){let t=Ua(e);return io(t)}var Rc=m(()=>{A();It();Ve();le();Qe();fs();Vi();V()});function gp(e,t){return d.Update(Yt(e),{},t)}function l$(e,t,n,r){let o=$(e,t,n);return gp(o,r)}var Ka=m(()=>{v();N();V()});var Es=m(()=>{Rc();fs();vc();Sc();V();Vi();Ka();Ec()});function Cs(e,t=[]){return Jn(e)&&u.IsEqual(e.action,"Conditional")?Ge(e.parameters[0])?Cs(e.parameters[2],Cs(e.parameters[3],[...t,e.parameters[0].$ref])):Cs(e.parameters[2],Cs(e.parameters[3],t)):Jn(e)&&u.IsEqual(e.action,"Mapped")&&Jn(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&Ge(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function YC(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function g$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>g$(o,a,[...n,[s,r]]),()=>n),()=>n)}function XC(e){return Pe(e)?st(e.pattern):tt(e)?gt(e.enum):e}function ZC(e){let t=XC(e);return L(t)?[...t.anyOf]:[t]}function QC(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function d$(e,t){return t.reduce((n,r)=>[...n,...QC(e,r)],[])}function f$(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?d$(t,ZC(n[1])):d$(t,[n[1]]),[[]])}function h$(e,t,n){let r=Cs(n),o=YC(e,r),s=g$(t,o);return Jn(n)&&u.IsEqual(n.action,"Conditional")||Jn(n)&&u.IsEqual(n.action,"Mapped")?f$(s):[t]}var x$=m(()=>{A();X();ae();on();kt();Bt();V();V()});function e0(){return["(not-resolvable)",de()]}function t0(){return["(not-generic)",de()]}function n0(e,t,n){return[e,Yn(t,n)]}function r0(e,t,n){return t in e?y$(e,t,e[t],n):e0()}function y$(e,t,n,r){return Xr(n)?n0(t,n.parameters,n.expression):Ge(n)?r0(e,n.$ref,r):t0()}function b$(e,t,n){return y$(e,"(anonymous)",t,n)}var I$=m(()=>{Xo();Bt();Ve()});function o0(e,t,n){if(Me(t)||$o(t)||W.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 $$(e,t,n,r,o){let s=$(e,t,o);return o0(n,s,r),d.Assign(e,{[n]:s})}function s0(e,t,n,r,o){let s=$(e,t,n.extends),a=$(e,t,n.equals);return u.ShiftLeft(o,(c,p)=>hp($$(e,t,n.name,s,c),t,r,p),()=>hp($$(e,t,n.name,s,a),t,r,[]))}function hp(e,t,n,r){return u.ShiftLeft(n,(o,s)=>s0(e,t,o,s,r),()=>e)}function w$(e,t,n,r){return hp(e,t,n,r)}var k$=m(()=>{A();v();N();vn();zt();lo()});function i0(){if(!u.IsLessThan(yp,nn.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function a0(){i0(),yp++,xp++}function m0(){xp--,u.IsEqual(xp,0)&&(yp=0)}function u0(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function c0(e,t){return u.IsEqual(u0(e),t)}function p0(e,t,n,r,o,s){a0();try{let a=w$(e,t,r,s),c=$(a,Ie([...t.callstack,n.$ref],t.visited),o);return $(a,Ie([],[]),c)}finally{m0()}}function l0(e,t,n,r,o,s){return s.reduce((a,c)=>{let p=p0(e,t,n,r,o,c);return[...a,p]},[])}function d0(e,t,n,r,o,s){let a=h$(r,s,o),c=l0(e,t,n,r,o,a);return u.IsEqual(c.length,1)?c[0]:vt(c)}function Ga(e,t,n,r){let o=Nt(e,t,r),s=b$(e,n,r),a=s[0],c=s[1];return Xr(c)?c0(t,a)?bs(Nn(a),o):d0(e,t,Nn(a),c.parameters,c.expression,o):bs(n,o)}var xp,yp,bp=m(()=>{yr();A();lo();Bt();Xo();Es();N();N();N();x$();I$();k$();xp=0,yp=0});function bs(e,t){return d.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function T$(e,t){return Ga({},Ie([],[]),e,t)}function $o(e){return C(e,"Call")}var lo=m(()=>{v();H();bp();N()});function f0(e){return d.Discard(e,["~immutable"])}function v$(e,t){return d.Update(f0(e),{},t)}function E$(e,t,n,r){let o=$(e,t,n);return v$(o,r)}var Ip=m(()=>{v();N()});function S$(e,t){return e(t)}var P$=m(()=>{});function A$(e,t){return u.IsString(t)?ne(S$(e,t)):ne(t)}var R$=m(()=>{A();Ce();P$()});function O$(e,t){let n=st(t);return Un(e,n)}var M$=m(()=>{Wa();Es()});function C$(e,t){let n=t.map(r=>Un(e,r));return J(n)}var L$=m(()=>{X();Wa()});function Un(e,t){return ce(t)?A$(e,t.const):Pe(t)?O$(e,t.pattern):L(t)?C$(e,t.anyOf):t}var Wa=m(()=>{Ce();kt();X();R$();M$();L$()});function sa(e,t={}){return F("Capitalize",[e],t)}function j$(e,t={}){return $p(e,t)}var Ba=m(()=>{ae();Rn()});function ia(e,t={}){return F("Lowercase",[e],t)}function F$(e,t={}){return wp(e,t)}var za=m(()=>{ae();Rn()});function aa(e,t={}){return F("Uncapitalize",[e],t)}function D$(e,t={}){return kp(e,t)}var Ha=m(()=>{ae();Rn()});function ma(e,t={}){return F("Uppercase",[e],t)}function N$(e,t={}){return Tp(e,t)}var Va=m(()=>{ae();Rn()});function $p(e,t){return z([e])?d.Update(Un(g0,e),{},t):sa(e,t)}function wp(e,t){return z([e])?d.Update(Un(h0,e),{},t):ia(e,t)}function kp(e,t){return z([e])?d.Update(Un(x0,e),{},t):aa(e,t)}function Tp(e,t){return z([e])?d.Update(Un(y0,e),{},t):ma(e,t)}function _$(e,t,n,r){let o=$(e,t,n);return $p(o,r)}function q$(e,t,n,r){let o=$(e,t,n);return wp(o,r)}function U$(e,t,n,r){let o=$(e,t,n);return kp(o,r)}function K$(e,t,n,r){let o=$(e,t,n);return Tp(o,r)}var g0,h0,x0,y0,Rn=m(()=>{v();Wa();N();Ba();za();Ha();Va();g0=e=>e[0].toUpperCase()+e.slice(1),h0=e=>e.toLowerCase(),x0=e=>e[0].toLowerCase()+e.slice(1),y0=e=>e.toUpperCase()});function ua(e,t,n,r,o={}){return F("Conditional",[e,t,n,r],o)}function G$(e,t,n,r,o={}){return vp({},Ie([],[]),e,t,n,r,o)}var Ja=m(()=>{ae();Ep();N()});function b0(e,t,n,r,o,s){let a=nt(e,n,r);return W.IsExtendsUnion(a)?J([$(a.inferred,t,o),$(e,t,s)]):W.IsExtendsTrue(a)?$(a.inferred,t,o):$(e,t,s)}function vp(e,t,n,r,o,s,a){return z([n,r])?d.Update(b0(e,t,n,r,o,s),{},a):ua(n,r,o,s,a)}function W$(e,t,n,r,o,s,a){let c=$(e,t,n),p=$(e,t,r);return vp(e,t,c,p,o,s,a)}var Ep=m(()=>{v();X();vn();N();Ja()});var Sp=m(()=>{Ep()});function ca(e,t={}){return F("ConstructorParameters",[e],t)}function B$(e,t={}){return Pp(e,t)}var Ya=m(()=>{ae();Xa()});function I0(e){let t=Ue(e)?e.parameters:[],n=mr({},Ie([],[]),t);return je(n)}function Pp(e,t){return z([e])?d.Update(I0(e),{},t):ca(e,t)}function z$(e,t,n,r){let o=$(e,t,n);return Pp(o,r)}var Xa=m(()=>{v();Gt();_e();Ya();N();N();N()});function pa(e,t,n={}){return F("Exclude",[e,t],n)}function H$(e,t,n={}){return Ls(e,t,n)}var Za=m(()=>{ae();js()});function Ls(e,t,n){return z([e,t])?d.Update(Hi(e,t),{},n):pa(e,t,n)}function V$(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Ls(s,a,o)}var js=m(()=>{v();N();Za();Pc()});function la(e,t,n={}){return F("Extract",[e,t],n)}function J$(e,t,n={}){return Ap(e,t,n)}var Qa=m(()=>{ae();em()});function $0(e,t){let n=nt({},e,t);return W.IsExtendsTrueLike(n)?[e]:[]}function Y$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Y$(o,t,[...n,...$0(r,t)]),()=>n)}function X$(e,t){let n=Yt(e),r=L(n)?n.anyOf:[n],o=Y$(r,t);return vt(o)}var Z$=m(()=>{A();X();vn();V();V()});function Ap(e,t,n){return z([e,t])?d.Update(X$(e,t),{},n):la(e,t,n)}function Q$(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Ap(s,a,o)}var em=m(()=>{v();N();Qa();Z$()});function w0(e){return e.reduce((t,n)=>ji(n)?[...t,ne(n)]:t,[])}function wo(e){let t=w0(e);return J(t)}var Fs=m(()=>{Ce();X()});function Is(e,t,n={}){return F("Index",[e,t],n)}function ew(e,t,n={}){let r=u.IsArray(t)?wo(t):t;return Op(e,r,n)}var Rp=m(()=>{A();ae();Fs();tm()});function tw(e,t){let n=An(e,t);return _t(n)}var nw=m(()=>{Fr();jr()});function rw(e,t,n){let r=an(e,t,n);return _t(r)}var ow=m(()=>{Fr();V()});function k0(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,w)=>({...I,[w]:e[w]}),{}),a=r.reduce((I,w)=>({...I,[w]:t[w]}),{}),c=o.reduce((I,w)=>({...I,[w]:ke([e[w],t[w]])}),{}),p=d.Assign(s,a);return d.Assign(p,c)}function sw(e){return e.reduce((t,n)=>k0(t,_t(n)),{})}var iw=m(()=>{v();A();Fr();V()});var aw=m(()=>{});function mw(e){let t=uh(je(e));return _t(t)}var uw=m(()=>{_e();kc();Fr()});function T0(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:vt([e[s],t[s]])}),{})}function cw(e,t){return u.ShiftLeft(e,(n,r)=>cw(r,T0(t,_t(n))),()=>t)}function pw(e){return u.ShiftLeft(e,(t,n)=>cw(n,_t(t)),()=>Ne())}var lw=m(()=>{A();$n();V();Fr()});function _t(e){return et(e)?tw(e.$defs,e.$ref):Se(e)?rw(e.if,e.then,e.else):te(e)?sw(e.allOf):L(e)?pw(e.anyOf):he(e)?mw(e.items):ue(e)?e.properties:{}}var Fr=m(()=>{$t();Pt();De();le();_e();X();nw();ow();iw();aw();uw();lw()});function ko(e){let t=_t(e);return G(t)}var dw=m(()=>{le();Fr()});var Ds=m(()=>{dw()});function To(e){let t=`${e}`;return v0.test(t)?parseInt(t):e}var v0,Ns=m(()=>{v0=new RegExp("^(?:0|[1-9][0-9]*)$")});function E0(e){return ne(To(e))}function fw(e){return e.map(t=>gw(t))}function gw(e){return te(e)?wt(fw(e.allOf)):L(e)?J(fw(e.anyOf)):ce(e)?E0(e.const):e}function hw(e,t){let n=gw(t),r=nt({},n,At());return W.IsExtendsTrueLike(r)?e:ce(t)&&u.IsEqual(t.const,"length")?At():de()}var xw=m(()=>{A();De();X();Ce();dt();Ve();vn();Ns()});function yw(e,t){let n=An(e,t);return Ot(n)}var bw=m(()=>{ur();jr()});function Iw(e,t,n){let r=an(e,t,n);return Ot(r)}var $w=m(()=>{ur();V()});function ww(e){let t=gt(e);return Ot(t)}var kw=m(()=>{ur();V()});function Tw(e){let t=ke(e);return Ot(t)}var vw=m(()=>{V();ur()});function Ew(e){return[`${e}`]}var Sw=m(()=>{});function Pw(e){let t=st(e);return Ot(t)}var Aw=m(()=>{ur();V()});function Rw(e){return e.reduce((t,n)=>[...t,...Ot(n)],[])}var Ow=m(()=>{ur()});function Ot(e){return et(e)?yw(e.$defs,e.$ref):Se(e)?Iw(e.if,e.then,e.else):tt(e)?ww(e.enum):te(e)?Tw(e.allOf):ce(e)?Ew(e.const):Pe(e)?Pw(e.pattern):L(e)?Rw(e.anyOf):[]}var ur=m(()=>{$t();Pt();on();De();Ce();kt();X();bw();$w();kw();vw();Sw();Aw();Ow()});function vo(e){return Ot(e)}var nm=m(()=>{ur()});function _s(e,t){return t.map(n=>qs(e,n))}function qs(e,t){return we(t)?Dt(qs(e,t.items)):Ue(t)?hn(_s(e,t.parameters),qs(e,t.instanceType)):Ke(t)?xn(_s(e,t.parameters),qs(e,t.returnType)):he(t)?je(_s(e,t.items)):L(t)?J(_s(e,t.anyOf)):te(t)?wt(_s(e,t.allOf)):ea(t)?G(e):t}function Mw(e,t){return qs(e,t)}var Cw=m(()=>{pt();Gt();Wt();De();le();_e();ta();X()});function S0(e,t){let n=t in e?e[t]:de();return Mw(e,n)}function Lw(e,t){return t.reduce((n,r)=>[...n,S0(e,r)],[])}function P0(e,t){let n=vo(t),r=Lw(e,n);return vt(r)}function R0(e){return e.filter(n=>A0.test(n))}function O0(e){let t=Ei(e),n=R0(t),r=Lw(e,n);return vt(r)}function jw(e,t){return Le(t)?O0(e):P0(e,t)}var A0,Fw=m(()=>{dt();Ve();$r();V();nm();Ye();Cw();A0=new RegExp(rr)});function M0(e){return ne(To(e))}function Dw(e){return e.map(t=>Mp(t))}function Mp(e){return te(e)?wt(Dw(e.allOf)):L(e)?J(Dw(e.anyOf)):ce(e)?M0(e.const):e}var Nw=m(()=>{X();De();Ce();Ns()});function C0(e,t){return e.reduceRight((n,r,o)=>{let s=nt({},ne(o),t);return W.IsExtendsTrueLike(s)?[r,...n]:n},[])}function L0(e,t){let n=Mp(t),r=C0(e,n);return tr(r)}function j0(e){return tr(e)}function _w(e,t){return ce(t)&&u.IsEqual(t.const,"length")?ne(e.length):Le(t)||lt(t)?j0(e):L0(e,t)}var qw=m(()=>{A();Ce();dt();Tn();V();vn();Nw()});function Uw(e,t){return we(e)?hw(e.items,t):ue(e)?jw(e.properties,t):he(e)?_w(e.items,t):de()}var Kw=m(()=>{pt();Ve();le();_e();xw();Fw();qw()});function F0(e){return et(e)||Se(e)||te(e)||L(e)?ko(e):e}function Op(e,t,n){return z([e,t])?d.Update(Uw(F0(e),t),{},n):Is(e,t,n)}function Gw(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Op(s,a,o)}var tm=m(()=>{v();$t();Pt();De();X();N();Rp();Ds();Kw()});function da(e,t={}){return F("InstanceType",[e],t)}function Ww(e,t={}){return Cp(e,t)}var rm=m(()=>{ae();om()});function D0(e){return Ue(e)?e.instanceType:de()}function Cp(e,t){return z([e])?d.Update(D0(e),{},t):da(e,t)}function Bw(e,t,n,r={}){let o=$(e,t,n);return Cp(o,r)}var om=m(()=>{v();Gt();Ve();rm();N()});function $s(e,t={}){return F("KeyOf",[e],t)}function zw(e,t={}){return Lp(e,t)}var sm=m(()=>{ae();im()});function Hw(){return J([At(),Vt(),oo()])}var Vw=m(()=>{dt();Jt();Pr();X()});function Jw(e){return At()}var Yw=m(()=>{dt()});function N0(e){return e.reduce((n,r)=>ji(r)?[...n,ne(To(r))]:Ne(),[])}function Xw(e){let t=u.Keys(e),n=N0(t);return tr(n)}var Zw=m(()=>{$n();A();Ce();Ns();V()});function Qw(e){return ao(e)}var ek=m(()=>{Ye()});function tk(e){let t=e.map((n,r)=>ne(r));return tr(t)}var nk=m(()=>{Ce();V()});function rk(e){return ve(e)?Hw():we(e)?Jw(e.items):ue(e)?Xw(e.properties):rt(e)?Qw(e):he(e)?tk(e.items):de()}var ok=m(()=>{It();pt();Ve();le();Ye();_e();Vw();Yw();Zw();ek();nk()});function _0(e){return et(e)||Se(e)||te(e)||L(e)?ko(e):e}function Lp(e,t){return z([e])?d.Update(rk(_0(e)),{},t):$s(e,t)}function sk(e,t,n,r){let o=$(e,t,n);return Lp(o,r)}var im=m(()=>{v();$t();Pt();De();X();sm();N();Ds();ok()});function xs(e,t,n,r,o={}){return F("Mapped",[e,t,n,r],o)}function ik(e,t,n,r,o={}){return jp({},Ie([],[]),e,t,n,r,o)}var am=m(()=>{ae();mm();N()});function q0(e){let t=st(e);return um(t)}function U0(e){return e.reduce((t,n)=>[...t,...um(n)],[])}function K0(e){let t=gt(e);return um(t)}function G0(e){return u.IsNumber(e)?[ne(`${e}`)]:[ne(e)]}function um(e){return tt(e)?K0(e.enum):ce(e)?G0(e.const):Pe(e)?q0(e.pattern):L(e)?U0(e.anyOf):[e]}function ak(e){return um(e)}var mk=m(()=>{A();Ce();on();kt();X();V();V()});function W0(e){return Pe(e)?st(e.pattern):e}function B0(e,t,n,r,o,s){let a=d.Assign(e,{[n.name]:r}),c=$(a,t,o),p=W0(c),f=$(a,t,s);return Ug(p)||Kg(p)?{[p.const]:f}:{}}function z0(e,t,n,r,o,s){return r.reduce((a,c)=>[...a,B0(e,t,n,c,o,s)],[])}function H0(e){return e.reduce((t,n)=>[...t,G(n)],[])}function uk(e,t,n,r,o,s){let a=ak(r),c=z0(e,t,n,a,o,s),p=H0(c);return ke(p)}var ck=m(()=>{v();Ce();le();kt();N();V();V();mk()});function jp(e,t,n,r,o,s,a){return z([r])?d.Update(uk(e,t,n,r,o,s),{},a):xs(n,r,o,s,a)}function pk(e,t,n,r,o,s,a){let c=$(e,t,r);return jp(e,t,n,c,o,s,a)}var mm=m(()=>{v();am();N();ck()});function V0(e,t,n){let r=d.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:m$(r,a,t[a])}),{})}function J0(e,t,n){let r=d.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:$(r,Ie([],[]),t[a])}),{})}function Y0(e,t,n){let r=r$(t),o=V0(e,t,r),s=J0(e,t,r),a={...o,...s};return d.Update(a,{},n)}function cm(e,t,n,r){return Y0(e,n,r)}var pm=m(()=>{A();v();N();cp();lp();N()});function fa(e,t={}){return F("NonNullable",[e],t)}function lk(e,t={}){return Fp(e,t)}var lm=m(()=>{ae();dm()});function X0(e){let t=J([to(),uo()]);return Ls(e,t,{})}function Fp(e,t){return z([e])?d.Update(X0(e),{},t):fa(e,t)}function dk(e,t,n,r){let o=$(e,t,n);return Fp(o,r)}var dm=m(()=>{v();ro();po();X();js();lm();N()});function ga(e,t,n={}){return F("Omit",[e,t],n)}function fk(e,t,n={}){let r=u.IsArray(t)?wo(t):t;return Dp(e,r,n)}var fm=m(()=>{A();ae();Fs();gm()});function hm(e){let t=ko(e);return ue(t)?t.properties:Ne()}var Np=m(()=>{$n();le();Ds()});function Z0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function gk(e,t){let n=hm(e),r=vo(t),o=Z0(n,r);return G(o)}var hk=m(()=>{A();le();nm();Np()});function Dp(e,t,n){return z([e,t])?d.Update(gk(e,t),{},n):ga(e,t,n)}function xk(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Dp(s,a,o)}var gm=m(()=>{v();fm();N();hk()});function ha(e,t={}){return F("Parameters",[e],t)}function yk(e,t={}){return _p(e,t)}var xm=m(()=>{ae();ym()});function Q0(e){let t=Ke(e)?e.parameters:[],n=mr({},Ie([],[]),t);return je(n)}function _p(e,t){return z([e])?d.Update(Q0(e),{},t):ha(e,t)}function bk(e,t,n,r){let o=$(e,t,n);return _p(o,r)}var ym=m(()=>{v();Wt();_e();xm();N();N();N()});function xa(e,t={}){return F("Partial",[e],t)}function Ik(e,t={}){return qp(e,t)}var bm=m(()=>{ae();Im()});function $k(e,t){let n=An(e,t),r=On(n);return bn(d.Assign(e,{[t]:r}),t)}var wk=m(()=>{v();$t();Eo();jr()});function kk(e,t,n){let r=an(e,t,n);return On(r)}var Tk=m(()=>{Eo();V()});function vk(e){let t=ke(e);return On(t)}var Ek=m(()=>{Eo();V()});function Sk(e){let t=e.map(n=>On(n));return J(t)}var Pk=m(()=>{X();Eo()});function Ak(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Ir(e[o])}),{});return G(t)}var Rk=m(()=>{A();le();Zo()});function On(e){return et(e)?$k(e.$defs,e.$ref):Se(e)?kk(e.if,e.then,e.else):te(e)?vk(e.allOf):L(e)?Sk(e.anyOf):ue(e)?Ak(e.properties):G({})}var Eo=m(()=>{$t();Pt();De();le();X();wk();Tk();Ek();Pk();Rk()});function qp(e,t){return z([e])?d.Update(On(e),{},t):xa(e,t)}function Ok(e,t,n,r){let o=$(e,t,n);return qp(o,r)}var Im=m(()=>{v();bm();Eo();N()});function ya(e,t,n={}){return F("Pick",[e,t],n)}function Mk(e,t,n={}){let r=u.IsArray(t)?wo(t):t;return Up(e,r,n)}var $m=m(()=>{A();ae();Fs();wm()});function eL(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?d.Assign(r,{[o]:e[o]}):r,{})}function Ck(e,t){let n=hm(e),r=vo(t),o=eL(n,r);return G(o)}var Lk=m(()=>{v();A();le();nm();Np()});function Up(e,t,n){return z([e,t])?d.Update(Ck(e,t),{},n):ya(e,t,n)}function jk(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Up(s,a,o)}var wm=m(()=>{v();$m();N();Lk()});function ba(e,t={}){return F("ReadonlyObject",[e],t)}function Kp(e,t={}){return Gp(e,t)}var Fk,km=m(()=>{ae();Tm();Fk=Kp});function Dk(e){return eo(Dt(e))}var Nk=m(()=>{pt();os()});function _k(e,t){let n=An(e,t),r=Mn(n);return bn(d.Assign(e,{[t]:r}),t)}var qk=m(()=>{v();$t();So();jr()});function Uk(e,t,n){let r=an(e,t,n);return Mn(r)}var Kk=m(()=>{So();V()});function Gk(e){let t=ke(e);return Mn(t)}var Wk=m(()=>{So();V()});function Bk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Tr(e[o])}),{});return G(t)}var zk=m(()=>{A();le();ss()});function Hk(e){return eo(je(e))}var Vk=m(()=>{_e();os()});function Jk(e){let t=e.map(n=>Mn(n));return J(t)}var Yk=m(()=>{X();So()});function Mn(e){return we(e)?Dk(e.items):et(e)?_k(e.$defs,e.$ref):Se(e)?Uk(e.if,e.then,e.else):te(e)?Gk(e.allOf):ue(e)?Bk(e.properties):he(e)?Hk(e.items):L(e)?Jk(e.anyOf):e}var So=m(()=>{pt();$t();Pt();De();le();_e();X();Nk();qk();Kk();Wk();zk();Vk();Yk()});function Gp(e,t){return z([e])?d.Update(Mn(e),{},t):ba(e)}function Xk(e,t,n,r){let o=$(e,t,n);return Gp(o,r)}var Tm=m(()=>{v();km();So();N()});function Zk(e,t,n,r){return t.visited.includes(r)?n:r in e?$(e,Ie(t.callstack,[...t.visited,r]),e[r]):n}var Wp=m(()=>{N();N()});function Qk(e,t){let n=An(e,t),r=Cn(n);return bn(d.Assign(e,{[t]:r}),t)}var eT=m(()=>{v();$t();Po();jr()});function tT(e,t,n){let r=an(e,t,n);return Cn(r)}var nT=m(()=>{Po();V()});function rT(e){let t=ke(e);return Cn(t)}var oT=m(()=>{Po();V()});function sT(e){let t=e.map(n=>Cn(n));return J(t)}var iT=m(()=>{X();Po()});function aT(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Wi(e[o])}),{});return G(t)}var mT=m(()=>{A();le();Bi()});function Cn(e){return et(e)?Qk(e.$defs,e.$ref):Se(e)?tT(e.if,e.then,e.else):te(e)?rT(e.allOf):L(e)?sT(e.anyOf):ue(e)?aT(e.properties):G({})}var Po=m(()=>{$t();Pt();De();le();X();eT();nT();oT();iT();mT()});function Ia(e,t={}){return F("Required",[e],t)}function uT(e,t={}){return Bp(e,t)}var vm=m(()=>{ae();Em()});function Bp(e,t){return z([e])?d.Update(Cn(e),{},t):Ia(e,t)}function cT(e,t,n,r){let o=$(e,t,n);return Bp(o,r)}var Em=m(()=>{v();Po();vm();N()});function $a(e,t={}){return F("ReturnType",[e],t)}function pT(e,t={}){return zp(e,t)}var Sm=m(()=>{ae();Pm()});function tL(e){return Ke(e)?e.returnType:de()}function zp(e,t){return z([e])?d.Update(tL(e),{},t):$a(e,t)}function lT(e,t,n,r={}){let o=$(e,t,n);return zp(o,r)}var Pm=m(()=>{v();Wt();Ve();Sm();N()});function wa(e,t){return F("With",[e,t],{})}function dT(e,t){return Hp(e,t)}var Am=m(()=>{ae();Rm()});function Hp(e,t){return z([e])?d.Update(e,{},t):wa(e,t)}function fT(e,t,n,r){let o=$(e,t,n);return Hp(o,r)}var Rm=m(()=>{v();N();Am()});function nL(e){return or(e)?he(e.items)?Vp(e.items.items):Me(e.items)?[e]:Ge(e.items)?[e]:[de()]:[e]}function Vp(e){return e.reduce((n,r)=>[...n,...nL(r)],[])}var gT=m(()=>{zt();Ve();mo();Bt();_e()});var hT=m(()=>{gT()});function Ie(e,t){return{callstack:e,visited:t}}function z(e){return u.ShiftLeft(e,(t,n)=>Ge(t)?!1:z(n),()=>!0)}function Ps(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:$(e,t,n[o])}),{})}function mr(e,t,n){let r=Nt(e,t,n);return Vp(r)}function Nt(e,t,n){return n.map(r=>$(e,t,r))}function rL(e,t){let n=ot(e)?Yo(t,{}):t,r=vr(e)?Jo(n,{}):n;return kr(e)?Us(r,{}):r}function oL(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?xT(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?E$(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?Tf(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?oh(e,t,r[0],o):u.IsEqual(n,"AddOptional")?vf(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?ah(e,t,r[0],o):u.IsEqual(n,"Capitalize")?_$(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")?z$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?l$(e,t,r[0],o):u.IsEqual(n,"Exclude")?V$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?Q$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?Gw(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?Bw(e,t,r[0],o):u.IsEqual(n,"Interface")?QI(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?sk(e,t,r[0],o):u.IsEqual(n,"Lowercase")?q$(e,t,r[0],o):u.IsEqual(n,"Mapped")?pk(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?cm(e,t,r[0],o):u.IsEqual(n,"NonNullable")?dk(e,t,r[0],o):u.IsEqual(n,"Pick")?jk(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?bk(e,t,r[0],o):u.IsEqual(n,"Partial")?Ok(e,t,r[0],o):u.IsEqual(n,"Omit")?xk(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?Xk(e,t,r[0],o):u.IsEqual(n,"Record")?Mh(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?cT(e,t,r[0],o):u.IsEqual(n,"ReturnType")?lT(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?Hb(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?U$(e,t,r[0],o):u.IsEqual(n,"Uppercase")?K$(e,t,r[0],o):u.IsEqual(n,"With")?fT(e,t,r[0],r[1]):F(n,r,o)}function sL(e,t,n){let r=Ge(n)?Zk(e,t,n,n.$ref):we(n)?Dt($(e,t,n.items),vi(n)):$o(n)?Ga(e,t,n.target,n.arguments):Ue(n)?hn(Nt(e,t,n.parameters),$(e,t,n.instanceType),Ef(n)):Ke(n)?xn(Nt(e,t,n.parameters),$(e,t,n.returnType),Sf(n)):Se(n)?wr($(e,t,n.if),$(e,t,n.then),$(e,t,n.else),Lf(n)):te(n)?wt(Nt(e,t,n.allOf),_f(n)):ue(n)?G(Ps(e,t,n.properties),Of(n)):rt(n)?Ch(Xt(n),$(e,t,ht(n))):or(n)?Rr($(e,t,n.items)):he(n)?je(mr(e,t,n.items),rh(n)):L(n)?J(Nt(e,t,n.anyOf),Wg(n)):n;return rL(n,r)}function $(e,t,n){return Jn(n)?oL(e,t,n.action,n.parameters,n.options):sL(e,t,n)}function Jp(e,t){return $(e,Ie([],[]),t)}var N=m(()=>{A();Om();ki();Ti();pt();Gt();ae();Wt();lo();Pt();De();le();Ye();_e();X();Bt();mo();Om();Ip();ki();yc();Ti();$c();Xn();rs();is();bp();Rn();Sp();Xa();Ka();js();em();tm();om();_a();im();Rn();mm();pm();dm();gm();ym();Im();wm();Tm();Ji();Wp();Em();Pm();La();Rn();Rn();Rm();hT()});function iL(e){return d.Update(e,{"~immutable":!0},{})}function Us(e,t){return d.Update(iL(e),{},t)}function xT(e,t,n,r){let o=$(e,t,n);return Us(o,r)}var Om=m(()=>{v();N()});function jy(e,t={}){return F("AddImmutable",[e],t)}function eo(e,t={}){return Us(e,t)}var os=m(()=>{ae();Om()});var yT=m(()=>{ae();Ip()});function Fy(e,t={}){return F("Evaluate",[e],t)}function bT(e,t={}){return gp(e,t)}var Yp=m(()=>{ae();Ka()});function Dy(e,t={}){return F("Module",[e],t)}function IT(e,t={}){return cm({},Ie([],[]),e,t)}var Xp=m(()=>{ae();N();pm()});var fo=m(()=>{os();ss();Zo();yT();bc();Bi();Ba();Ja();Ya();Yp();Za();Qa();Rp();rm();As();sm();za();am();Xp();lm();fm();xm();bm();$m();km();vm();Sm();Ha();Va();Am()});var $T=m(()=>{Xa()});var wT=m(()=>{Ri()});var kT=m(()=>{js()});var TT=m(()=>{em()});var vT=m(()=>{});var ET=m(()=>{Fs();Ns();vT()});var ST=m(()=>{tm()});var PT=m(()=>{om()});var AT=m(()=>{_a()});var RT=m(()=>{Rn()});var OT=m(()=>{im()});var MT=m(()=>{mm()});var CT=m(()=>{pm()});var LT=m(()=>{dm()});var jT=m(()=>{gm()});var FT=m(()=>{ym()});var DT=m(()=>{cs();Xc()});var NT=m(()=>{Im()});var _T=m(()=>{wm()});var qT=m(()=>{A();fs()});var UT=m(()=>{qT()});var KT=m(()=>{Tm()});var GT=m(()=>{Ji()});var WT=m(()=>{Wp()});var BT=m(()=>{Em()});var zT=m(()=>{Pm()});var HT=m(()=>{});var VT=m(()=>{A();cs()});var JT=m(()=>{Ki();Gi();Zc();HT();qi();VT()});var YT=m(()=>{Rm()});var XT=m(()=>{N();Sp();$T();dp();wT();Es();kT();TT();ET();ST();PT();AT();RT();OT();MT();CT();LT();Ds();jT();FT();DT();NT();_T();UT();KT();GT();WT();BT();zT();JT();YT()});function ZT(...e){let[t,n,r]=In.Match(e,{2:(a,c)=>u.IsString(a)?[{},a,c]:[a,c,{}],3:(a,c,p)=>[a,c,p],1:a=>[{},a,{}]}),o=Kb(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?$(t,Ie([],[]),o[0]):de();return d.Update(s,{},r)}var QT=m(()=>{Qr();v();A();ra();N();N();Ni()});var Zp=m(()=>{QT()});var Y={};Ft(Y,{Any:()=>Zr,Array:()=>Dt,BigInt:()=>as,Boolean:()=>Ci,Call:()=>T$,Capitalize:()=>j$,Codec:()=>Mi,Conditional:()=>G$,Constructor:()=>hn,ConstructorParameters:()=>B$,Cyclic:()=>bn,Decode:()=>Lg,DecodeBuilder:()=>ns,Dependent:()=>wr,Encode:()=>jg,EncodeBuilder:()=>ts,Enum:()=>Nf,Evaluate:()=>bT,Exclude:()=>H$,Extends:()=>nt,ExtendsResult:()=>W,Extract:()=>J$,Function:()=>xn,Generic:()=>Yn,Identifier:()=>ms,Immutable:()=>Fg,Index:()=>ew,Infer:()=>Qo,InstanceType:()=>Ww,Instantiate:()=>Jp,Integer:()=>Sr,Interface:()=>e$,Intersect:()=>wt,IsAny:()=>ve,IsArray:()=>we,IsBigInt:()=>kn,IsBoolean:()=>Ht,IsCall:()=>$o,IsCodec:()=>Oi,IsConstructor:()=>Ue,IsCyclic:()=>et,IsDependent:()=>Se,IsEnum:()=>tt,IsEnumValue:()=>Df,IsFunction:()=>Ke,IsGeneric:()=>Xr,IsIdentifier:()=>qg,IsImmutable:()=>kr,IsInfer:()=>Me,IsInteger:()=>lt,IsIntersect:()=>te,IsKind:()=>C,IsLiteral:()=>ce,IsNever:()=>rn,IsNull:()=>no,IsNumber:()=>Le,IsObject:()=>ue,IsOptional:()=>ot,IsParameter:()=>Gg,IsReadonly:()=>vr,IsRecord:()=>rt,IsRef:()=>Ge,IsRefine:()=>pc,IsRest:()=>or,IsSchema:()=>Fe,IsString:()=>ft,IsSymbol:()=>Qn,IsTemplateLiteral:()=>Pe,IsThis:()=>ea,IsTuple:()=>he,IsUndefined:()=>co,IsUnion:()=>L,IsUnknown:()=>Oe,IsUnsafe:()=>Pi,IsVoid:()=>En,KeyOf:()=>zw,Literal:()=>ne,Lowercase:()=>F$,Mapped:()=>ik,Module:()=>IT,Never:()=>de,NonNullable:()=>lk,Null:()=>to,Number:()=>At,Object:()=>G,Omit:()=>fk,Optional:()=>Af,Parameter:()=>Ar,Parameters:()=>yk,Partial:()=>Ik,Pick:()=>Mk,Readonly:()=>Dg,ReadonlyObject:()=>Kp,ReadonlyType:()=>Fk,Record:()=>Xi,RecordKey:()=>ao,RecordPattern:()=>Xt,RecordValue:()=>ht,Ref:()=>Nn,Refine:()=>Ng,Required:()=>uT,Rest:()=>Rr,ReturnType:()=>pT,Script:()=>ZT,String:()=>Vt,Symbol:()=>oo,TemplateLiteral:()=>Jb,This:()=>Qi,Tuple:()=>je,Uncapitalize:()=>D$,Undefined:()=>uo,Union:()=>J,Unknown:()=>Je,Unsafe:()=>Mf,Uppercase:()=>N$,Void:()=>na,With:()=>dT});var Qp=m(()=>{N();vn();Zp();Ba();Ja();Ya();Yp();Za();Qa();fo();rm();As();sm();za();am();Xp();lm();fm();xm();bm();$m();km();vm();Sm();Ha();Va();Am();cc();rs();Xn();is();lc();It();pt();Er();Zn();lo();Gt();$t();on();Wt();Xo();dc();Pt();zt();Tn();De();Ce();Ve();ro();dt();le();gc();Ye();Bt();mo();H();Jt();Pr();kt();ta();_e();po();X();Qe();Ai();Or()});var Dr=m(()=>{fo();XT();vn();Zp();ra();Qp();Qp()});import{StringEnum as aL}from"@earendil-works/pi-ai";import{defineTool as mL}from"@earendil-works/pi-coding-agent";function ev(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${uL[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
18
|
`)}function pL(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 lL(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 uL,cL,Mm,el=m(()=>{Dr();uL={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},cL=Y.Object({op:aL(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:Y.Optional(Y.Array(Y.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:Y.Optional(Y.String({description:"Exact label of the task to start, complete or drop"}))});Mm=mL({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:cL,async execute(e,t,n,r,o){let s=lL(o),{todos:a,error:c}=pL(s,t.op,t.items,t.task),p={op:t.op,todos:a,...c?{error:c}:{}};return{content:[{type:"text",text:c?`Error: ${c}
|
|
19
|
-
${
|
|
19
|
+
${ev(a)}`:ev(a)}],details:p,...c?{isError:!0}:{}}}})});import{StringEnum as dL}from"@earendil-works/pi-ai";import{defineTool as fL}from"@earendil-works/pi-coding-agent";function rv(){return Kn.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...Kn].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
|
|
20
20
|
`)}function gL(e,t,n){if(e==="list")return Kn.size===0?{text:"No notes."}:{text:[...Kn].map(([r,o])=>`${r} = ${o}`).join(`
|
|
21
|
-
`)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>
|
|
22
|
-
${e.text}`}function
|
|
23
|
-
`)}function
|
|
24
|
-
`)}function Dm(){return
|
|
25
|
-
${p}`:p}],details:{op:t.op,goal:a},...c?{isError:!0}:{}}}})});import{existsSync as ol,mkdirSync as
|
|
26
|
-
`)}function
|
|
21
|
+
`)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>nv)return{text:`Error: key longer than ${nv} characters`,error:"key too long"};if(e==="forget")return{text:Kn.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>tv?`${n.slice(0,tv)}\u2026`:n;return Kn.set(t,r),{text:`Recorded ${t} (${Kn.size} note${Kn.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var Kn,tv,nv,Cm,Lm=m(()=>{Dr();Kn=new Map,tv=2e3,nv=80;Cm=fL({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:Y.Object({op:dL(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:Y.Optional(Y.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:Y.Optional(Y.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:n,error:r}=gL(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(Kn)},...r?{isError:!0}:{}}}})});import{StringEnum as hL}from"@earendil-works/pi-ai";import{defineTool as xL}from"@earendil-works/pi-coding-agent";function Fm(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??jm,n=[`${iv[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
|
|
22
|
+
${e.text}`}function av(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??jm,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${iv[e.status]} ${e.used}/${t} \xB7 ${n}`}function mv(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 uv(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??jm}.`].join(`
|
|
24
|
+
`)}function Dm(){return cv}function mn(e){cv=e}function Nm(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??jm;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function tl(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>ov?{goal:e,error:`text longer than ${ov} 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 Ao(e){let t;for(let n of e.sessionManager.getBranch()){if(n.type==="custom"&&n.customType===cr){t=n.data;continue}if(n.type==="custom_message"&&n.customType===cr){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 cr,sv,ov,jm,iv,cv,yL,pv,_m=m(()=>{Dr();cr="howtofix.goal",sv="howtofix.goal.continue",ov=400,jm=25,iv={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};yL=Y.Object({op:hL(["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:Y.Optional(Y.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:Y.Optional(Y.Number({description:"Optional cap on automatic continuations before the run stops"})),note:Y.Optional(Y.String({description:"Evidence that the goal is met (required for complete)"}))}),pv=xL({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:yL,async execute(e,t,n,r,o){let s=Ao(o),{goal:a,error:c}=tl(s,t.op,t.text,t.budget,t.note);mn(a);let p=Fm(a);return{content:[{type:"text",text:c?`Error: ${c}
|
|
25
|
+
${p}`:p}],details:{op:t.op,goal:a},...c?{isError:!0}:{}}}})});import{existsSync as ol,mkdirSync as lv,readFileSync as dv}from"node:fs";import{dirname as fv,join as gv}from"node:path";import{defineTool as hv}from"@earendil-works/pi-coding-agent";function qm(){return{state:"inactive",wasActive:!1}}function bL(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:qm()}function xv(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function IL(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function $L(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function wL(e){return e.state!=="active"?e:{...e,state:"inactive"}}function yv(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Um(e){return e.state==="active"}function kL(e,t){return e===t}function TL(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 vL(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 Km(){return ut}function bv(){return mt}function Iv(){return Um(ut)}function $v(){if(!(!mt||!ol(mt)))try{let e=dv(mt,"utf8");return e.trim()?e:void 0}catch{return}}function wv(){return $v()!==void 0}function kv(){return ut.state==="inactive"?"":ut.state==="pending"?"plan pending":wv()?"plan \u25CF ready":"plan \u25CF planning"}function Tv(){return rl?gv(rl,"plan_mode.json"):void 0}function EL(){let e=Tv();if(e)try{lv(fv(e),{recursive:!0}),Ze(e,JSON.stringify(ut))}catch{}}function SL(){let e=Tv();if(!e||!ol(e))return qm();try{return bL(JSON.parse(dv(e,"utf8")))}catch{return qm()}}function PL(e){rl=e,mt=gv(e,"plan.md"),ut=SL()}function Ro(e){return ut=e,EL(),ut}function vv(){return e=>{e.on("tool_call",async t=>{if(!Um(ut)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!mt||kL(n,mt)))return{block:!0,reason:vL(mt)}})}}function Ev(){return e=>{e.on("session_start",async(t,n)=>{PL(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{ut.state==="pending"&&Ro(IL(ut))}),e.on("context_with_system",async t=>{if(!Um(ut)||!mt)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=TL(mt,wv()),o=`${typeof n.content=="string"?n.content:""}
|
|
27
27
|
|
|
28
|
-
${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function
|
|
29
|
-
`)}],details:{planFile:a}}}}),
|
|
30
|
-
\u2026 (${s.length-nl} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?(
|
|
31
|
-
`):e==null?"":String(e)}function Wm(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 al=m(()=>{});function LL(e){mn(
|
|
28
|
+
${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function AL(){if(mt){try{lv(fv(mt),{recursive:!0}),ol(mt)||Ze(mt,"")}catch{return}return mt}}var mt,ut,rl,nl,Sv,Pv,sl=m(()=>{Dr();zn();ut=qm();nl=2e4;Sv=hv({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:Y.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:{}};Ro($L(ut));let a=AL();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}}}}),Pv=hv({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:Y.Object({}),executionMode:"sequential",async execute(e,t,n,r,o){if(!Um(ut))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=$v();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>nl?`${s.slice(0,nl)}
|
|
30
|
+
\u2026 (${s.length-nl} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?(Ro(wL(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 il(){return{consecutiveFailures:0,tripped:!1}}function RL(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function OL(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function ML(){return il()}function CL(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 Av(){return e=>{e.on("session_start",async()=>{pr=il()}),e.on("session_compact",async()=>{pr=ML()}),e.on("session_compact_failed",async(t,n)=>{let r=pr;pr=OL(pr,t.aborted),!r.tripped&&pr.tripped&&n?.ui&&n.ui.notify(CL(pr),"warning")}),e.on("session_before_compact",async t=>{if(RL(pr,t.reason))return{cancel:!0}})}}var pr,Rv=m(()=>{pr=il()});function Gm(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 Wm(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 al=m(()=>{});function LL(e){mn(Ao(e))}function Ov(e){return`budget exhausted (${e.budget??"default"} continuations)`}function Mv(){return e=>{e.on("session_start",async(t,n)=>{LL(n)}),e.on("context_with_system",async(t,n)=>{let r=Ao(n);if(mn(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${Gm(o.content)}
|
|
32
32
|
|
|
33
|
-
${
|
|
33
|
+
${mv(r)}`;return{messages:t.messages.map(c=>c===o?{...o,content:Wm(o.content,s)}:c)}}),e.on("agent_before_settle",async(t,n)=>{let r=Ao(n);if(mn(r),Nm(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(cr,o),mn(o),Nm(o).action==="stop"){let s={...o,status:"done",note:Ov(o)};e.appendEntry(cr,s),mn(s);return}return{entries:[{type:"custom_message",customType:sv,content:uv(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=Ao(n),o=Nm(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:Ov(r)};e.appendEntry(cr,s),mn(s)}else mn(r)})}}var Cv=m(()=>{al();_m()});function Bm(){return e=>{e.on("context_with_system",async t=>{let n=rv();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Gm(r.content)}
|
|
34
34
|
|
|
35
|
-
${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Wm(r.content,o)}:a)}})}}var ml=m(()=>{al();Lm()});function FL(e){if(jL.test(e))return!0;let t=/^172\.(\d+)\./.exec(e);if(!t)return!1;let n=Number(t[1]);return n>=16&&n<=31}function pl(e){let t;try{t=new URL(e)}catch{return{ok:!1,reason:"not a URL"}}if(t.protocol!=="http:"&&t.protocol!=="https:")return{ok:!1,reason:`refused protocol ${t.protocol}`};let n=t.hostname.toLowerCase();return n==="localhost"||n.endsWith(".localhost")||n==="::1"||n==="[::1]"?{ok:!1,reason:"refused loopback host"}:FL(n)||n==="0.0.0.0"?{ok:!1,reason:"refused private address"}:{ok:!0,url:t}}function
|
|
35
|
+
${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Wm(r.content,o)}:a)}})}}var ml=m(()=>{al();Lm()});function FL(e){if(jL.test(e))return!0;let t=/^172\.(\d+)\./.exec(e);if(!t)return!1;let n=Number(t[1]);return n>=16&&n<=31}function pl(e){let t;try{t=new URL(e)}catch{return{ok:!1,reason:"not a URL"}}if(t.protocol!=="http:"&&t.protocol!=="https:")return{ok:!1,reason:`refused protocol ${t.protocol}`};let n=t.hostname.toLowerCase();return n==="localhost"||n.endsWith(".localhost")||n==="::1"||n==="[::1]"?{ok:!1,reason:"refused loopback host"}:FL(n)||n==="0.0.0.0"?{ok:!1,reason:"refused private address"}:{ok:!0,url:t}}function Lv(e){let t=e.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<noscript[\s\S]*?<\/noscript>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/\s+/g," ").trim();return t.length>ul?t.slice(0,ul):t}function DL(e){let t=[],n=/class="result__a"[^>]*href="([^"]+)"[^>]*>([\s\S]*?)<\/a>/gi,r;for(;(r=n.exec(e))&&t.length<cl;){let o=r[1]??"",s=Lv(r[2]??""),a=o,c=/[?&]uddg=([^&]+)/.exec(o);if(c)try{a=decodeURIComponent(c[1])}catch{a=o}else o.startsWith("//")&&(a=`https:${o}`);let p=pl(a);!p.ok||!s||t.push({title:s,url:p.url.toString(),snippet:""})}return t}async function Fv(e,t={}){let n=e.trim();if(!n)return{ok:!1,error:"empty query"};let r=t.fetchFn??fetch,o=t.timeoutMs??15e3,s={"user-agent":t.userAgent??jv,accept:"text/html, application/json"};try{if(t.braveKey){let f=`https://api.search.brave.com/res/v1/web/search?q=${encodeURIComponent(n)}&count=${cl}`,I=await r(f,{headers:{...s,accept:"application/json","x-subscription-token":t.braveKey},signal:AbortSignal.timeout(o)});return I.ok?{ok:!0,hits:NL(await I.json()),provider:"brave"}:{ok:!1,error:`brave ${I.status}`}}let a=`https://html.duckduckgo.com/html/?q=${encodeURIComponent(n)}`,c=await r(a,{headers:s,signal:AbortSignal.timeout(o)});return c.ok?{ok:!0,hits:DL(await c.text()),provider:"ddg"}:{ok:!1,error:`search ${c.status}`}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function NL(e){let t=[];if(e&&typeof e=="object"&&"web"in e){let r=e.web;r&&typeof r=="object"&&"results"in r&&Array.isArray(r.results)&&(t=r.results)}let n=[];for(let r of t){if(!r||typeof r!="object"||!("url"in r)||!("title"in r))continue;let o=r.url,s=r.title;if(typeof o!="string"||typeof s!="string")continue;let a=pl(o);if(!a.ok)continue;let c="description"in r?r.description:void 0;if(n.push({title:s,url:a.url.toString(),snippet:typeof c=="string"?c:""}),n.length>=cl)break}return n}async function Dv(e,t={}){let n=pl(e);if(!n.ok)return{ok:!1,error:n.reason};let r=t.fetchFn??fetch;try{let o=await r(n.url,{headers:{"user-agent":t.userAgent??jv,accept:"text/html, text/plain, application/json"},signal:AbortSignal.timeout(t.timeoutMs??2e4),redirect:"follow"});if(!o.ok)return{ok:!1,error:`HTTP ${o.status}`};let s=o.headers.get("content-type")??"",a=await o.text(),c=/html/i.test(s)?Lv(a):a.slice(0,ul);return{ok:!0,url:o.url||n.url.toString(),contentType:s,text:c}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}var jL,ul,cl,jv,Nv=m(()=>{jL=/^(127\.|10\.|192\.168\.|169\.254\.|0\.|221\.|222\.|223\.)/;ul=8e4,cl=8;jv="HowToFix (https://howtofix.id)"});import{Type as zm}from"@earendil-works/pi-ai";import{defineTool as _v}from"@earendil-works/pi-coding-agent";function _L(e){return e.length===0?"no results":e.map((t,n)=>`${n+1}. ${t.title}
|
|
36
36
|
${t.url}${t.snippet?`
|
|
37
37
|
${t.snippet}`:""}`).join(`
|
|
38
|
-
`)}var Hm,Vm,ll=m(()=>{
|
|
38
|
+
`)}var Hm,Vm,ll=m(()=>{Nv();Hm=_v({name:"web_search",label:"web_search",description:"Search the public web. Use for current docs, changelogs, error messages, and anything not in this repo. Returns titles, URLs, and snippets. Follow a URL with web_fetch.",promptSnippet:"web_search: search the public web",parameters:zm.Object({query:zm.String({description:"Search query"})}),async execute(e,t){let n=await Fv(t.query,{braveKey:process.env.BRAVE_API_KEY});return n.ok?{content:[{type:"text",text:_L(n.hits)}],details:{count:n.hits.length,provider:n.provider}}:{content:[{type:"text",text:n.error}],details:{error:n.error},isError:!0}}}),Vm=_v({name:"web_fetch",label:"web_fetch",description:"Fetch a public http(s) URL and return its text. HTML is stripped to visible text. Local, loopback, and private addresses are refused.",promptSnippet:"web_fetch: read a public URL as text",parameters:zm.Object({url:zm.String({description:"http(s) URL"})}),async execute(e,t){let n=await Dv(t.url);return n.ok?{content:[{type:"text",text:n.text}],details:{url:n.url,contentType:n.contentType,chars:n.text.length}}:{content:[{type:"text",text:n.error}],details:{error:n.error},isError:!0}}})});import{spawn as qL}from"node:child_process";import{existsSync as qv,readFileSync as UL}from"node:fs";import{delimiter as KL,isAbsolute as GL,join as Uv}from"node:path";import{fileURLToPath as WL,pathToFileURL as Nr}from"node:url";function Kv(e){let t=JSON.stringify(e);return`Content-Length: ${Buffer.byteLength(t,"utf8")}\r
|
|
39
39
|
\r
|
|
40
40
|
${t}`}function BL(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(`\r
|
|
41
41
|
\r
|
|
42
|
-
`,n);if(r===-1)break;let o=e.subarray(n,r).toString("utf8"),s=/Content-Length:\s*(\d+)/i.exec(o);if(!s)break;let a=Number(s[1]),c=r+4,p=c+a;if(p>e.length)break;t.push(JSON.parse(e.subarray(c,p).toString("utf8"))),n=p}return{messages:t,rest:e.subarray(n)}}function HL(e){return zL.find(t=>t.match(e))}async function VL(e,t){let n=_r.get(e.command);if(n)return await n.ready,n.client;let r=qL(e.command,e.args,{cwd:t,stdio:["pipe","pipe","ignore"]}),o=r.stdin,s=r.stdout;if(!o||!s)throw r.kill(),new Error(`${e.command}: stdio pipes unavailable`);let a=new dl({stdin:o,stdout:s,root:t});r.on("error",()=>{let p=_r.get(e.command);p?.child===r&&_r.delete(e.command),p?.client.dispose()});let c=a.initialize().catch(p=>{throw _r.delete(e.command),r.kill(),p});return _r.set(e.command,{client:a,child:r,ready:c}),await c,a}function fl(){for(let[e,t]of _r)_r.delete(e),t.client.dispose(),t.child.kill()}function
|
|
43
|
-
`)[c]??"").indexOf(e.symbol);f>=0&&(p=f)}switch(e.action){case"definition":{let f=await a.definition(o,c,p);return f?{ok:!0,text:
|
|
44
|
-
`):"no references found",count:I.length}}case"hover":{let f=(await a.hover(o,c,p))?.trim();return{ok:!0,text:f||"no hover at that position"}}case"symbols":{let f=
|
|
42
|
+
`,n);if(r===-1)break;let o=e.subarray(n,r).toString("utf8"),s=/Content-Length:\s*(\d+)/i.exec(o);if(!s)break;let a=Number(s[1]),c=r+4,p=c+a;if(p>e.length)break;t.push(JSON.parse(e.subarray(c,p).toString("utf8"))),n=p}return{messages:t,rest:e.subarray(n)}}function HL(e){return zL.find(t=>t.match(e))}async function VL(e,t){let n=_r.get(e.command);if(n)return await n.ready,n.client;let r=qL(e.command,e.args,{cwd:t,stdio:["pipe","pipe","ignore"]}),o=r.stdin,s=r.stdout;if(!o||!s)throw r.kill(),new Error(`${e.command}: stdio pipes unavailable`);let a=new dl({stdin:o,stdout:s,root:t});r.on("error",()=>{let p=_r.get(e.command);p?.child===r&&_r.delete(e.command),p?.client.dispose()});let c=a.initialize().catch(p=>{throw _r.delete(e.command),r.kill(),p});return _r.set(e.command,{client:a,child:r,ready:c}),await c,a}function fl(){for(let[e,t]of _r)_r.delete(e),t.client.dispose(),t.child.kill()}function Gv(e){let t=e.uri;try{t=WL(e.uri)}catch{}let n=e.range?.start;return n?`${t}:${n.line+1}:${n.character+1}`:t}function Wv(e,t=0){let n=[];for(let r of e){let o=(r.selectionRange??r.range)?.start.line;n.push(`${" ".repeat(t)}${r.name}${o===void 0?"":` :${o+1}`}`),r.children&&n.push(...Wv(r.children,t+1))}return n}async function Bv(e){try{let t=HL(e.file);if(!t)return{ok:!1,error:`no language server configured for ${e.file}`};if((e.action==="definition"||e.action==="references"||e.action==="hover")&&(e.line===void 0||!Number.isInteger(e.line)||e.line<1))return{ok:!1,error:`line required (1-based) for ${e.action}`};if(!(t.command.includes("/")?qv(t.command):(process.env.PATH??"").split(KL).some(f=>qv(Uv(f,t.command)))))return{ok:!1,error:`${t.command} is not on PATH. Install it to use lsp on ${e.file}.`};let o=GL(e.file)?e.file:Uv(e.root,e.file),s=UL(o,"utf8"),a=await VL(t,e.root);await a.ensureOpen(o,s,t.languageId);let c=(e.line??1)-1,p=0;if(e.symbol){let f=(s.split(`
|
|
43
|
+
`)[c]??"").indexOf(e.symbol);f>=0&&(p=f)}switch(e.action){case"definition":{let f=await a.definition(o,c,p);return f?{ok:!0,text:Gv(f),count:1}:{ok:!0,text:"no definition found",count:0}}case"references":{let I=(await a.references(o,c,p)).map(Gv);return{ok:!0,text:I.length>0?I.join(`
|
|
44
|
+
`):"no references found",count:I.length}}case"hover":{let f=(await a.hover(o,c,p))?.trim();return{ok:!0,text:f||"no hover at that position"}}case"symbols":{let f=Wv(await a.documentSymbols(o));return{ok:!0,text:f.length>0?f.join(`
|
|
45
45
|
`):"no symbols in this file",count:f.length}}case"diagnostics":{let I=(await a.diagnostics(o)).map(w=>`${w.range.start.line+1}:${w.range.start.character+1} ${JL[w.severity??3]??"info"} ${w.message}`);return{ok:!0,text:I.length>0?I.join(`
|
|
46
|
-
`):"no diagnostics",count:I.length}}}}catch(t){return{ok:!1,error:t instanceof Error?t.message:String(t)}}}var dl,zL,_r,JL,gl=m(()=>{dl=class{constructor(t){this.io=t;t.stdout.on("data",n=>{this.buffer=Buffer.concat([this.buffer,n]);let{messages:r,rest:o}=BL(this.buffer);this.buffer=o;for(let s of r)this.dispatch(s)})}io;nextId=1;pending=new Map;buffer=Buffer.alloc(0);opened=new Set;diagnosticsByUri=new Map;diagnosticsWaiters=new Map;dispatch(t){if(t.method==="textDocument/publishDiagnostics"){let r=t.params;if(r?.uri){let o=Array.isArray(r.diagnostics)?r.diagnostics:[];this.diagnosticsByUri.set(r.uri,o);let s=this.diagnosticsWaiters.get(r.uri);if(s){this.diagnosticsWaiters.delete(r.uri);for(let a of s)a(o)}}return}if(t.id===void 0)return;let n=this.pending.get(Number(t.id));n&&(this.pending.delete(Number(t.id)),t.error?n.reject(new Error(t.error.message)):n.resolve(t.result))}request(t,n,r=1e4){let o=this.nextId++,s=
|
|
46
|
+
`):"no diagnostics",count:I.length}}}}catch(t){return{ok:!1,error:t instanceof Error?t.message:String(t)}}}var dl,zL,_r,JL,gl=m(()=>{dl=class{constructor(t){this.io=t;t.stdout.on("data",n=>{this.buffer=Buffer.concat([this.buffer,n]);let{messages:r,rest:o}=BL(this.buffer);this.buffer=o;for(let s of r)this.dispatch(s)})}io;nextId=1;pending=new Map;buffer=Buffer.alloc(0);opened=new Set;diagnosticsByUri=new Map;diagnosticsWaiters=new Map;dispatch(t){if(t.method==="textDocument/publishDiagnostics"){let r=t.params;if(r?.uri){let o=Array.isArray(r.diagnostics)?r.diagnostics:[];this.diagnosticsByUri.set(r.uri,o);let s=this.diagnosticsWaiters.get(r.uri);if(s){this.diagnosticsWaiters.delete(r.uri);for(let a of s)a(o)}}return}if(t.id===void 0)return;let n=this.pending.get(Number(t.id));n&&(this.pending.delete(Number(t.id)),t.error?n.reject(new Error(t.error.message)):n.resolve(t.result))}request(t,n,r=1e4){let o=this.nextId++,s=Kv({jsonrpc:"2.0",id:o,method:t,params:n}),{promise:a,resolve:c,reject:p}=Promise.withResolvers(),f=setTimeout(()=>{this.pending.delete(o),p(new Error(`lsp ${t} timed out`))},r);return this.pending.set(o,{resolve:I=>{clearTimeout(f),c(I)},reject:I=>{clearTimeout(f),p(I)}}),this.io.stdin.write(s),a}notify(t,n){this.io.stdin.write(Kv({jsonrpc:"2.0",method:t,params:n}))}async initialize(){await this.request("initialize",{processId:null,rootUri:Nr(this.io.root).toString(),capabilities:{textDocument:{hover:{},definition:{},references:{},documentSymbol:{},publishDiagnostics:{}}}}),this.notify("initialized",{})}async hover(t,n,r){return(await this.request("textDocument/hover",{textDocument:{uri:Nr(t).toString()},position:{line:n,character:r}}))?.contents?.value}async definition(t,n,r){let o=await this.request("textDocument/definition",{textDocument:{uri:Nr(t).toString()},position:{line:n,character:r}});return Array.isArray(o)?o[0]:o??void 0}async references(t,n,r){let o=await this.request("textDocument/references",{textDocument:{uri:Nr(t).toString()},position:{line:n,character:r},context:{includeDeclaration:!0}});return Array.isArray(o)?o:[]}async documentSymbols(t){let n=await this.request("textDocument/documentSymbol",{textDocument:{uri:Nr(t).toString()}});return Array.isArray(n)?n:[]}diagnostics(t,n=2e3){let r=Nr(t).toString(),o=this.diagnosticsByUri.get(r);if(o)return Promise.resolve(o);let{promise:s,resolve:a}=Promise.withResolvers(),c=setTimeout(()=>{let f=this.diagnosticsWaiters.get(r);if(f){this.diagnosticsWaiters.delete(r);for(let I of f)I(this.diagnosticsByUri.get(r)??[])}},n),p=this.diagnosticsWaiters.get(r)??[];return p.push(f=>{clearTimeout(c),a(f)}),this.diagnosticsWaiters.set(r,p),s}async ensureOpen(t,n,r){let o=Nr(t).toString();this.opened.has(o)||(this.notify("textDocument/didOpen",{textDocument:{uri:o,languageId:r,version:1,text:n}}),this.opened.add(o))}dispose(){for(let[t,n]of this.pending)n.reject(new Error("lsp client disposed")),this.pending.delete(t);for(let[t,n]of this.diagnosticsWaiters){let r=this.diagnosticsByUri.get(t)??[];this.diagnosticsWaiters.delete(t);for(let o of n)o(r)}}},zL=[{command:"typescript-language-server",args:["--stdio"],languageId:"typescript",match:e=>/\.(ts|tsx|js|jsx|mts|cts)$/.test(e)},{command:"rust-analyzer",args:[],languageId:"rust",match:e=>e.endsWith(".rs")},{command:"gopls",args:[],languageId:"go",match:e=>e.endsWith(".go")},{command:"pylsp",args:[],languageId:"python",match:e=>e.endsWith(".py")}];_r=new Map;process.on("exit",fl);JL={1:"error",2:"warning",3:"info",4:"hint"}});import{StringEnum as YL}from"@earendil-works/pi-ai";import{defineTool as XL}from"@earendil-works/pi-coding-agent";var Jm,hl=m(()=>{Dr();gl();Jm=XL({name:"lsp",label:"lsp",description:"Language-server query: definition, references, hover, symbols, or diagnostics for a file. Line is 1-based. Does not edit. If the server binary is missing the result says so \u2014 do not pretend grep is a substitute without telling the user.",promptSnippet:"lsp: definition, references, hover, symbols, diagnostics",parameters:Y.Object({action:YL(["diagnostics","definition","references","hover","symbols"],{description:"Which language-server query to run"}),file:Y.String({description:"File to query, relative to the project root"}),line:Y.Optional(Y.Number({description:"1-based line (definition, references, hover)"})),symbol:Y.Optional(Y.String({description:"Substring to locate on that line when column is omitted"}))}),async execute(e,t,n,r,o){let s=await Bv({action:t.action,file:t.file,line:t.line,symbol:t.symbol,root:o.cwd});return s.ok?{content:[{type:"text",text:s.text}],details:{action:t.action,count:s.count}}:{content:[{type:"text",text:s.error}],details:{error:s.error},isError:!0}}})});import{mkdirSync as ZL,readdirSync as QL,readFileSync as ej}from"node:fs";import{join as zv}from"node:path";import{createAgentSession as tj,DefaultResourceLoader as nj,SessionManager as rj}from"@earendil-works/pi-coding-agent";function Ym(e){ZL(Hr,{recursive:!0}),Ze(zv(Hr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function yl(){let e;try{e=QL(Hr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(ej(zv(Hr,t),"utf8"));if(n.status!=="parked"||Zt.some(r=>r.id===n.id))continue;Zt.push({...n,mail:n.mail??[]})}catch{}}function bl(){return yl(),Zt.length===0?"no agents":Zt.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
|
|
47
47
|
`)}function Il(e){yl();let t=Zt.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
|
|
48
|
-
${t.result??t.task}`:`no agent ${e}`}async function Xm(e){let t=qr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||e.cwd||process.cwd(),r=new nj({cwd:n,agentDir:He,additionalSkillPaths:[gr(n)],extensionFactories:[Ko({interactive:!1}),Bm()]});await r.reload();let{session:o}=await tj({cwd:n,agentDir:He,sessionManager:rj.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[Cm,Mm,Hm,Vm,Jm],thinkingLevel:e.effort});return o}async function
|
|
48
|
+
${t.result??t.task}`:`no agent ${e}`}async function Xm(e){let t=qr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||e.cwd||process.cwd(),r=new nj({cwd:n,agentDir:He,additionalSkillPaths:[gr(n)],extensionFactories:[Ko({interactive:!1}),Bm()]});await r.reload();let{session:o}=await tj({cwd:n,agentDir:He,sessionManager:rj.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[Cm,Mm,Hm,Vm,Jm],thinkingLevel:e.effort});return o}async function Vv(e,t){yl();let n=Zt.find(o=>o.id===e);if(!n)return`no agent ${e}`;let r=n.session??await Xm(n);if(n.session=r,n.status==="running"||r.isStreaming)return n.mail.push(t),Ym(n),`queued for ${e}`;if(n.requests>=Hv)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 Ym(n),`${e} ${n.status}`}async function Jv(e){let t=qr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...qr.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${Zt.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 Zt.push(n),Ym(n),n}async function ij(e,t){let n=qr.get(e.agent);if(!n)return;let r=e.session??await Xm(e);e.session=r;try{let o=e.mail.splice(0).join(`
|
|
49
49
|
`);for(await r.prompt(`${n.prompt}
|
|
50
50
|
|
|
51
51
|
Task:
|
|
52
52
|
${e.task}${o?`
|
|
53
53
|
|
|
54
54
|
Messages:
|
|
55
|
-
${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<
|
|
56
|
-
`)),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{Ym(e)}}async function
|
|
55
|
+
${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<Hv;)await r.followUp(e.mail.splice(0).join(`
|
|
56
|
+
`)),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{Ym(e)}}async function Yv(e){let t=()=>Zt.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 ij(r,e)}};if(await Promise.all(Array.from({length:sj},n)),e?.aborted)throw new Error("aborted")}var xl,oj,qr,Zt,sj,Hv,Ks=m(()=>{Dn();Lm();ml();Go();el();ll();hl();zn();xl=["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."],oj=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
|
|
57
57
|
|
|
58
58
|
## Read-only, by construction
|
|
59
59
|
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.
|
|
@@ -74,69 +74,69 @@ End your reply with exactly this section, listing the 3-5 files most critical to
|
|
|
74
74
|
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.`,qr=new Map([["scout",{name:"scout",description:"read-only lookup",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:["Inspect only what the task needs. Do not edit.",...xl].join(`
|
|
75
75
|
`),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:oj,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo","web_search","web_fetch","lsp"],prompt:["Do the assignment, then report files changed.",...xl].join(`
|
|
76
76
|
`),effort:"medium"}],["reviewer",{name:"reviewer",description:"finds concrete issues",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:["Return issues with file evidence. Do not edit.",...xl].join(`
|
|
77
|
-
`),effort:"medium"}]]),Zt=[],sj=3,
|
|
78
|
-
`)}function
|
|
77
|
+
`),effort:"medium"}]]),Zt=[],sj=3,Hv=8});import{execFile as aj}from"node:child_process";import{promisify as mj}from"node:util";import{tmpdir as uj}from"node:os";import{join as cj}from"node:path";async function Qt(e,t){try{let{stdout:n}=await pj("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 Zm(e){return(await Qt(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function Xv(e){return(await Qt(e,["status","--porcelain"])).output.length>0}async function Zv(e,t){let n=await Qt(e,["add","-A"]);if(!n.ok)return n;let r=await Qt(e,["commit","-m",t]);return r.ok?{ok:!0,output:(await Qt(e,["log","-1","--oneline"])).output||r.output}:r}async function Qv(e){let t=await Qt(e,["reset","--soft","HEAD~1"]);return t.ok?{ok:!0,output:(await Qt(e,["log","-1","--oneline"])).output||"reset to the previous commit"}:t}async function eE(e){let t=(await Qt(e,["diff"])).output,n=(await Qt(e,["diff","--cached"])).output;return[t,n].filter(Boolean).join(`
|
|
78
|
+
`)}function tE(e,t=60){let n=e.split(`
|
|
79
79
|
`);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(`
|
|
80
|
-
`)}async function
|
|
81
|
-
`)}function
|
|
80
|
+
`)}async function nE(e,t){if(!await Zm(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=cj(uj(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return(await Qt(e,["worktree","add","--detach",r,"HEAD"])).ok?{path:r,async remove(){await Qt(e,["worktree","remove","--force",r]),await Qt(e,["worktree","prune"])}}:null}var pj,$l=m(()=>{pj=mj(aj)});function rE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function lj(e,t){let n=rE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function dj(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(!Ur(n)&&!Array.isArray(n))return;n=n[o]}return Ur(n)?n:void 0}function lr(e,t,n,r,o){if(!Ur(t))return;if(t.$ref!==void 0){let a=dj(n,t.$ref);a&&lr(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)lr(e,a,n,r,o);for(let a of["anyOf","oneOf"]){let c=t[a];if(!Array.isArray(c)||c.length===0)continue;let p=c.filter(f=>{let I=[];return lr(e,f,n,r,I),I.length===0}).length;a==="anyOf"&&p===0&&o.push({path:r,message:"does not match any allowed shape"}),a==="oneOf"&&p!==1&&o.push({path:r,message:`must match exactly one shape (matched ${p})`})}let s=t.type;if(s!==void 0){let a=Array.isArray(s)?s.map(String):[String(s)];if(!a.some(c=>lj(e,c))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${rE(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(", ")}`}),Ur(e)){let a=Ur(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let c of t.required.map(String))c in e||o.push({path:r?`${r}.${c}`:c,message:"is required"});for(let[c,p]of Object.entries(a))c in e&&lr(e[c],p,n,r?`${r}.${c}`:c,o);if(t.additionalProperties===!1)for(let c of Object.keys(e))c in a||o.push({path:r?`${r}.${c}`:c,message:"is not an allowed property"});else if(Ur(t.additionalProperties))for(let[c,p]of Object.entries(e))c in a||lr(p,t.additionalProperties,n,r?`${r}.${c}`:c,o)}if(Array.isArray(e)&&t.items!==void 0){let a=t.items;Array.isArray(a)?e.forEach((c,p)=>{p<a.length&&lr(c,a[p],n,`${r}[${p}]`,o)}):e.forEach((c,p)=>lr(c,a,n,`${r}[${p}]`,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 oE(e,t){if(!Ur(t))return[];let n=[];return lr(e,t,t,"",n),n}function sE(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
|
|
81
|
+
`)}function iE(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 c=a==="{"?"}":"]",p=0,f=!1,I=!1;for(let w=s;w<o.length;w++){let M=o[w];if(f){I?I=!1:M==="\\"?I=!0:M==='"'&&(f=!1);continue}if(M==='"')f=!0;else if(M===a)p++;else if(M===c&&(p--,p===0))try{return JSON.parse(o.slice(s,w+1))}catch{break}}}}}var Ur,aE=m(()=>{Ur=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as mE from"node:os";async function hj(e,t=uE,n=cE){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 xj(){let e=mE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function yj(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 pE(e){let t=e.lifetimeCap??fj,n=e.fanoutCap??gj,r=yj(e.concurrency??xj()),o=0,s=0,a="",c=q=>e.onEvent?.(q),p=new Map,f=()=>e.onProgress?.([...p.values()]),I=async(q,ee)=>{let me=ee??{},xe=typeof me.label=="string"?me.label:`agent-${o+1}`,Te=typeof me.phase=="string"?me.phase:a,Be=typeof me.agentType=="string"?me.agentType:"task",qt=typeof me.effort=="string"?me.effort:void 0,ye=typeof me.model=="string"?me.model:void 0,re=typeof me.isolation=="string"?me.isolation:void 0,T=me.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new We(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new We(`lifetime cap reached: ${t} agent calls in one run`);o++;let ze=o;if(e.isPaused?.()&&!await hj(e,uE,cE))return null;let Ut=await r();try{if(e.signal?.aborted)return null;c({kind:"agent_start",label:xe,phase:Te,ordinal:o}),p.set(ze,{label:xe,phase:Te,agentType:Be,status:"running",outputTokens:0,...ye?{model:ye}:{},startedAt:Date.now()}),f();let ln=(en,Kt,qe)=>{let Ct=p.get(ze);Ct&&(Ct.status=en,Ct.outputTokens=Kt.outputTokens,Ct.endedAt=Date.now(),Kt.toolCalls!==void 0&&(Ct.toolCalls=Kt.toolCalls),Kt.model!==void 0&&(Ct.model=Kt.model),qe&&(Ct.detail=qe)),c({kind:"agent_end",label:xe,ok:en==="ok",outputTokens:Kt.outputTokens}),f()},jo=T===void 0?1:2;for(let en=0;en<jo;en++){let Kt=en===0?String(q):void 0,qe=await M(Kt??bj(String(q),w),{label:xe,phase:Te,agentType:Be,effort:qt,model:ye,isolation:re});if(qe===null)return ln("failed",{text:"",outputTokens:0}),null;if(s+=qe.outputTokens,T===void 0)return ln("ok",qe,wl(qe.text)),qe.text;let Ct=iE(qe.text),Fo=Ct===void 0?[{path:"",message:"reply was not JSON"}]:oE(Ct,T);if(Fo.length===0)return ln("ok",qe,wl(qe.text)),Ct;if(w=sE(Fo),en===jo-1)return ln("failed",qe,`schema: ${wl(w)}`),null}return null}finally{Ut()}},w="",M=async(q,ee)=>{try{return await e.invoke({prompt:q,...ee})}catch{return null}};return{agent:(q,ee)=>I(q,ee),parallel:async q=>{if(q.length>n)throw new We(`fan-out cap exceeded: ${q.length} items (max ${n})`);return await Promise.all(q.map(async me=>{try{return await me()}catch{return null}}))},pipeline:async(q,...ee)=>{if(q.length>n)throw new We(`fan-out cap exceeded: ${q.length} items (max ${n})`);return await Promise.all(q.map(async(xe,Te)=>{let Be=xe;for(let qt of ee)try{Be=await qt(Be,xe,Te)}catch{return null}return Be}))},phase:q=>{a=String(q),c({kind:"phase",title:a})},log:q=>c({kind:"log",message:String(q)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function bj(e,t){return`${e}
|
|
82
82
|
|
|
83
83
|
Your previous reply did not satisfy the required schema:
|
|
84
84
|
${t}
|
|
85
85
|
|
|
86
86
|
Reply with ONLY a corrected JSON value.`}function wl(e,t=80){let n=e.split(`
|
|
87
|
-
`).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var fj,gj,uv,cv,We,lv=m(()=>{av();fj=1e3,gj=4096,uv=100,cv=300*1e3;We=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Gn,styleText as Ij}from"@earendil-works/pi-tui";function $j(e,t){return Ij(e,t,Qm)}function Q(e,t,n){return $j(e,{...n,fg:t})}var Qm,D,dv,Gs=m(()=>{Qm="truecolor",D={text:Gn("#e6e6e6"),mute:Gn("#8b8b8b"),dim:Gn("#5c5c5c"),user:Gn("#d0d0d0"),accent:Gn("#c4b5fd"),tool:Gn("#6ee7b7"),bad:Gn("#f0a8a4"),warn:Gn("#e6b15a"),line:Gn("#3a3a3a")};dv={heading:e=>Q(e,D.text,{bold:!0}),link:e=>Q(e,D.accent,{underline:!0}),linkUrl:e=>Q(e,D.mute),code:e=>Q(e,D.text),codeBlock:e=>Q(e,D.text),codeBlockBorder:e=>Q(e,D.line),quote:e=>Q(e,D.mute,{italic:!0}),quoteBorder:e=>Q(e,D.line),hr:e=>Q(e,D.line),listBullet:e=>Q(e,D.mute),bold:e=>Q(e,D.text,{bold:!0}),italic:e=>Q(e,D.text,{italic:!0}),strikethrough:e=>Q(e,D.mute,{strikethrough:!0}),underline:e=>Q(e,D.text,{underline:!0})}});import{truncateToWidth as Bs,visibleWidth as un}from"@earendil-works/pi-tui";function dr(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 hv(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 El(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function tu(e,t,n="left"){if(t<=0)return"";let r=un(e);if(r>t)return Bs(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function vl(e,t,n,r=1){if(n<=0)return"";let o=un(t);if(o>=n)return Bs(t,n);let s=n-o-r;if(s<=0)return tu(t,n,"right");let a=un(e)>s?Bs(e,s):e,c=" ".repeat(n-un(a)-o);return a+c+t}function kl(e,t,n){let r=Oo(e,Math.max(0,n-2)),o=Math.max(1,n-1-un(r)),s=fe("border","\u250C\u2500 ")+fe("accent",r)+fe("border",` ${"\u2500".repeat(o)}\u2510`),a=fe("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),c=fe("border","\u2502"),p=t.map(f=>`${c} ${tu(f,n)} ${c}`);return[s,...p,a]}function Tj(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ws(Math.round(n*.38),28,44),a=n-s-o,c=Math.max(e.rows.length,t.rows.length),p=M=>{let j=[...M];for(;j.length<c;)j.push("");return j},f=kl(e.title,p(e.rows),s-4),I=kl(t.title,p(t.rows),a-4),w=" ".repeat(o);return f.map((M,j)=>M+w+(I[j]??tu("",a)))}function xv(e,t,n){switch(e){case"running":return fe(t||n?"accent":"muted","\u25CF");case"failed":return fe("error","\u2717");default:return fe("success","\u2713")}}function yv(e,t,n,r=Date.now(),o=0){return t?r-o<eu?fe("success","\u2713",!0):fe("success","\u2713"):fe(n?"accent":"dim",String(e))}function Mo(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||gv;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(A=>(A.phase||gv)===o).map(A=>({...A,phaseIndex:s})),c=a.filter(A=>A.status!=="running").length,p=a.filter(A=>A.status==="failed").length,f=a.reduce((A,q)=>{let ee=q.endedAt??t;return Math.max(A,ee-q.startedAt)},0),I=-1;for(let A=0;A<a.length;A++){let q=a[A];q.status==="running"&&(I<0||q.startedAt>=a[I].startedAt)&&(I=A)}let w=r.get(o),M=a.length>0&&c===a.length&&p===0,j=M?a.reduce((A,q)=>Math.max(A,q.endedAt??0),0):0;return{title:o,...w?{detail:w}:{},agents:a,done:c,failed:p,outputTokens:a.reduce((A,q)=>A+q.outputTokens,0),elapsedMs:f,allDone:M,finishedAt:j,anchor:I}})}function Sl(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function Ej(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function bv(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function vj(e){return e.steps.length>wj||Sl(e)>kj}function Sj(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 Iv(e,t=Date.now()){let n=Mo(e,t),r=e.steps.length,o=e.steps.filter(f=>f.status!=="running").length,s=e.steps.filter(f=>f.status==="failed").length,a=[e.name],c=n.find(f=>f.anchor>=0);c?a.push(`${c.title} ${c.done}/${c.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${El(Sl(e))} tok`),a.push(dr(bv(e,t))),s>0&&a.push(`${s} failed`);let p=a.join(" \xB7 ");return vj(e)?`large workflow \xB7 ${p}`:p}function wv(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${dr(t-e.startedAt)}`,"idle"];let n=El(e.outputTokens),r=e.toolCalls??0,o=dr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function Tl(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ws(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 Cj(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?fe("accent","\u276F"):" ",c=yv(t+1,e.allDone,n,o,e.finishedAt),p=Math.max(0,r-4-un(s)),f=un(e.title)>p?Bs(e.title,p,"\u2026"):e.title,I=e.allDone&&o-e.finishedAt<eu,w=fe(I&&!n?"success":n?"accent":"text",f),M=`${a}${c} ${w}`,j=fe(n?"accent":"muted",s);return vl(M,j,r,1)}function Lj(e,t,n,r,o,s){let a=t?fe("accent","\u276F"):" ",c=xv(e.status,t,n),p=fe(t?"accent":"text",tu(e.label,r)),f=`${a}${c} ${p}`,I=Math.max(0,o-un(f)-1),w=wv(e,s).find(j=>un(j)<=I)??"",M=fe(t?"accent":Mj(e)?"dim":"muted",w);return vl(f,M,o,1)}function jj(e,t,n,r){let o=[];return e.forEach((s,a)=>{let p=`${yv(a+1,s.allDone,a===n,r,s.finishedAt)} ${fe(a===n?"accent":"text",s.title)} ${fe("muted",`${s.done}/${s.agents.length}`)}`;o.push(Oo(p,t));let{slice:f,more:I}=Tl(s.agents,0,$v);f.forEach((w,M)=>{let j=xv(w.status,!1,M===s.anchor),A=wv(w,r)[0]??"";o.push(Oo(` ${j} ${fe("text",w.label)} ${fe("muted",A)}`,t))}),I>0&&o.push(Oo(` ${fe("dim",`\u2026+${I} more`)}`,t))}),o}function Fj(e,t,n){let r=n?.now??Date.now(),o=Mo(e,r),s=e.steps,a=s.filter(ze=>ze.status!=="running").length,c=s.filter(ze=>ze.status==="failed").length,p=[`${a}/${s.length} agents`,`${El(Sl(e))} tok`,`${Ej(e)} tools`,dr(bv(e,r)),...c>0?[`${c} failed`]:[]].join(" \xB7 "),f=[vl(fe("accent",e.name,!0),fe("muted",p),t,2),...e.description?[fe("muted",Oo(e.description,t))]:[]],I=n?.footer?[fe("muted",Oo(n.footerText??Dj(),t))]:[];if(o.length===0)return[...f,...kl("Phases",["(no agents yet)"],Math.max(0,t-4)),...I];let w=Ws(n?.selectedPhase??Sj(o),0,Math.max(0,o.length-1)),M=Ws(Math.round(t*.38),28,44),j=t-M-1-4;if(t<Aj||j<Oj)return[...f,...jj(o,t,w,r),...I];let A=o[w],{slice:q,start:ee,more:me}=Tl(o,w,Pj),xe=q.map((ze,Ut)=>Cj(ze,ee+Ut,ee+Ut===w,M-4,r));me>0&&xe.push(fe("dim",`\u2026+${me} more`));let Te=n?.filter?n.filter(A.agents):A.agents,Be=Te.length?Ws(Math.max(...Te.map(ze=>un(ze.label))),6,Rj):6,{slice:qt,more:ye}=Tl(Te,0,n?.agentWindow??$v),re=qt.map((ze,Ut)=>Lj(ze,!1,Ut===A.anchor,Be,j,r));ye>0&&re.push(fe("dim",`\u2026+${ye} more`));let T=Tj({title:"Phases",rows:xe},{title:`${A.title} \xB7 ${Te.length} agents${n?.filterLabel??""}`,rows:re},t,{leftWidth:M,gap:1});return[...f,...T,...I]}function kv(e,t=[],n=96,r,o){let s=Fj(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 p=Mo(e,e.endedAt??Date.now()),f=p[Math.max(0,Math.min(p.length-1,r??0))];for(let I of f?.agents??[])a.add(I.label)}if(a.size===0)return s;let c=[];for(let p of e.steps)if(a.has(p.label)){for(let f of p.tasks??[]){let I=f.status==="completed"?"[x]":f.status==="in_progress"?"[>]":"[ ]";c.push(` ${fe("muted",I)} ${fe("text",f.content)}`)}p.detail&&c.push(` ${fe("dim",p.detail)}`)}return c.length===0?s:[...s.slice(0,-1),...c,s[s.length-1]]}function Dj(){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 fv,fe,wj,kj,eu,Ws,Oo,gv,$v,Pj,Rj,Aj,Oj,Mj,zs=m(()=>{Gs();fv={text:D.text,muted:D.mute,dim:D.dim,accent:D.accent,success:D.tool,error:D.bad,border:D.line},fe=(e,t,n=!1)=>n?Q(t,fv[e],{bold:!0}):Q(t,fv[e]),wj=25,kj=15e5,eu=420;Ws=(e,t,n)=>Math.max(t,Math.min(n,e)),Oo=(e,t)=>un(e)>t?Bs(e,Math.max(0,t),"\u2026"):e;gv="Workflow";$v=16,Pj=12,Rj=18,Aj=72,Oj=24;Mj=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as Nj}from"node:fs";import{basename as _j}from"node:path";import{StringEnum as qj}from"@earendil-works/pi-ai";import{defineTool as Uj}from"@earendil-works/pi-coding-agent";function Ev(e){Tv=e}function Gj(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new We("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,c=-1;for(let j=o;j<t.length;j++){let A=t[j];if(a){A==="\\"?j++:A===a&&(a=null);continue}if(A==='"'||A==="'"||A==="`")a=A;else if(A==="{"||A==="[")s++;else if((A==="}"||A==="]")&&(s--,s===0)){c=j+1;break}}if(c===-1)throw new We("meta is not a closed literal object");let p=t.slice(o,c),f=e.slice(r+c).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(f))throw new We("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(f))throw new We("a workflow body must not use dynamic import()");let I;try{I=new Function(`"use strict"; return (${p});`)()}catch(j){throw new We(`meta must be a literal object: ${j instanceof Error?j.message:String(j)}`)}if(typeof I!="object"||I===null)throw new We("meta must be an object");let w=I;if(typeof w.name!="string"||!w.name.trim())throw new We("meta.name is required");if(typeof w.description!="string"||!w.description.trim())throw new We("meta.description is required");let M=Array.isArray(w.phases)?w.phases.filter(j=>typeof j=="object"&&j!==null).map(j=>({title:String(j.title??""),...typeof j.detail=="string"?{detail:j.detail}:{}})).filter(j=>j.title):void 0;return{meta:{name:w.name,description:w.description,...typeof w.whenToUse=="string"?{whenToUse:w.whenToUse}:{},...M?{phases:M}:{}},body:f}}function Wj(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
|
|
87
|
+
`).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var fj,gj,uE,cE,We,lE=m(()=>{aE();fj=1e3,gj=4096,uE=100,cE=300*1e3;We=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Gn,styleText as Ij}from"@earendil-works/pi-tui";function $j(e,t){return Ij(e,t,Qm)}function Q(e,t,n){return $j(e,{...n,fg:t})}var Qm,D,dE,Gs=m(()=>{Qm="truecolor",D={text:Gn("#e6e6e6"),mute:Gn("#8b8b8b"),dim:Gn("#5c5c5c"),user:Gn("#d0d0d0"),accent:Gn("#c4b5fd"),tool:Gn("#6ee7b7"),bad:Gn("#f0a8a4"),warn:Gn("#e6b15a"),line:Gn("#3a3a3a")};dE={heading:e=>Q(e,D.text,{bold:!0}),link:e=>Q(e,D.accent,{underline:!0}),linkUrl:e=>Q(e,D.mute),code:e=>Q(e,D.text),codeBlock:e=>Q(e,D.text),codeBlockBorder:e=>Q(e,D.line),quote:e=>Q(e,D.mute,{italic:!0}),quoteBorder:e=>Q(e,D.line),hr:e=>Q(e,D.line),listBullet:e=>Q(e,D.mute),bold:e=>Q(e,D.text,{bold:!0}),italic:e=>Q(e,D.text,{italic:!0}),strikethrough:e=>Q(e,D.mute,{strikethrough:!0}),underline:e=>Q(e,D.text,{underline:!0})}});import{truncateToWidth as Bs,visibleWidth as un}from"@earendil-works/pi-tui";function dr(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 hE(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 vl(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function tu(e,t,n="left"){if(t<=0)return"";let r=un(e);if(r>t)return Bs(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function El(e,t,n,r=1){if(n<=0)return"";let o=un(t);if(o>=n)return Bs(t,n);let s=n-o-r;if(s<=0)return tu(t,n,"right");let a=un(e)>s?Bs(e,s):e,c=" ".repeat(n-un(a)-o);return a+c+t}function kl(e,t,n){let r=Oo(e,Math.max(0,n-2)),o=Math.max(1,n-1-un(r)),s=fe("border","\u250C\u2500 ")+fe("accent",r)+fe("border",` ${"\u2500".repeat(o)}\u2510`),a=fe("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),c=fe("border","\u2502"),p=t.map(f=>`${c} ${tu(f,n)} ${c}`);return[s,...p,a]}function Tj(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ws(Math.round(n*.38),28,44),a=n-s-o,c=Math.max(e.rows.length,t.rows.length),p=M=>{let j=[...M];for(;j.length<c;)j.push("");return j},f=kl(e.title,p(e.rows),s-4),I=kl(t.title,p(t.rows),a-4),w=" ".repeat(o);return f.map((M,j)=>M+w+(I[j]??tu("",a)))}function xE(e,t,n){switch(e){case"running":return fe(t||n?"accent":"muted","\u25CF");case"failed":return fe("error","\u2717");default:return fe("success","\u2713")}}function yE(e,t,n,r=Date.now(),o=0){return t?r-o<eu?fe("success","\u2713",!0):fe("success","\u2713"):fe(n?"accent":"dim",String(e))}function Mo(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||gE;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(R=>(R.phase||gE)===o).map(R=>({...R,phaseIndex:s})),c=a.filter(R=>R.status!=="running").length,p=a.filter(R=>R.status==="failed").length,f=a.reduce((R,q)=>{let ee=q.endedAt??t;return Math.max(R,ee-q.startedAt)},0),I=-1;for(let R=0;R<a.length;R++){let q=a[R];q.status==="running"&&(I<0||q.startedAt>=a[I].startedAt)&&(I=R)}let w=r.get(o),M=a.length>0&&c===a.length&&p===0,j=M?a.reduce((R,q)=>Math.max(R,q.endedAt??0),0):0;return{title:o,...w?{detail:w}:{},agents:a,done:c,failed:p,outputTokens:a.reduce((R,q)=>R+q.outputTokens,0),elapsedMs:f,allDone:M,finishedAt:j,anchor:I}})}function Sl(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function vj(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function bE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function Ej(e){return e.steps.length>wj||Sl(e)>kj}function Sj(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 IE(e,t=Date.now()){let n=Mo(e,t),r=e.steps.length,o=e.steps.filter(f=>f.status!=="running").length,s=e.steps.filter(f=>f.status==="failed").length,a=[e.name],c=n.find(f=>f.anchor>=0);c?a.push(`${c.title} ${c.done}/${c.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${vl(Sl(e))} tok`),a.push(dr(bE(e,t))),s>0&&a.push(`${s} failed`);let p=a.join(" \xB7 ");return Ej(e)?`large workflow \xB7 ${p}`:p}function wE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${dr(t-e.startedAt)}`,"idle"];let n=vl(e.outputTokens),r=e.toolCalls??0,o=dr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function Tl(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ws(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 Cj(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?fe("accent","\u276F"):" ",c=yE(t+1,e.allDone,n,o,e.finishedAt),p=Math.max(0,r-4-un(s)),f=un(e.title)>p?Bs(e.title,p,"\u2026"):e.title,I=e.allDone&&o-e.finishedAt<eu,w=fe(I&&!n?"success":n?"accent":"text",f),M=`${a}${c} ${w}`,j=fe(n?"accent":"muted",s);return El(M,j,r,1)}function Lj(e,t,n,r,o,s){let a=t?fe("accent","\u276F"):" ",c=xE(e.status,t,n),p=fe(t?"accent":"text",tu(e.label,r)),f=`${a}${c} ${p}`,I=Math.max(0,o-un(f)-1),w=wE(e,s).find(j=>un(j)<=I)??"",M=fe(t?"accent":Mj(e)?"dim":"muted",w);return El(f,M,o,1)}function jj(e,t,n,r){let o=[];return e.forEach((s,a)=>{let p=`${yE(a+1,s.allDone,a===n,r,s.finishedAt)} ${fe(a===n?"accent":"text",s.title)} ${fe("muted",`${s.done}/${s.agents.length}`)}`;o.push(Oo(p,t));let{slice:f,more:I}=Tl(s.agents,0,$E);f.forEach((w,M)=>{let j=xE(w.status,!1,M===s.anchor),R=wE(w,r)[0]??"";o.push(Oo(` ${j} ${fe("text",w.label)} ${fe("muted",R)}`,t))}),I>0&&o.push(Oo(` ${fe("dim",`\u2026+${I} more`)}`,t))}),o}function Fj(e,t,n){let r=n?.now??Date.now(),o=Mo(e,r),s=e.steps,a=s.filter(ze=>ze.status!=="running").length,c=s.filter(ze=>ze.status==="failed").length,p=[`${a}/${s.length} agents`,`${vl(Sl(e))} tok`,`${vj(e)} tools`,dr(bE(e,r)),...c>0?[`${c} failed`]:[]].join(" \xB7 "),f=[El(fe("accent",e.name,!0),fe("muted",p),t,2),...e.description?[fe("muted",Oo(e.description,t))]:[]],I=n?.footer?[fe("muted",Oo(n.footerText??Dj(),t))]:[];if(o.length===0)return[...f,...kl("Phases",["(no agents yet)"],Math.max(0,t-4)),...I];let w=Ws(n?.selectedPhase??Sj(o),0,Math.max(0,o.length-1)),M=Ws(Math.round(t*.38),28,44),j=t-M-1-4;if(t<Rj||j<Oj)return[...f,...jj(o,t,w,r),...I];let R=o[w],{slice:q,start:ee,more:me}=Tl(o,w,Pj),xe=q.map((ze,Ut)=>Cj(ze,ee+Ut,ee+Ut===w,M-4,r));me>0&&xe.push(fe("dim",`\u2026+${me} more`));let Te=n?.filter?n.filter(R.agents):R.agents,Be=Te.length?Ws(Math.max(...Te.map(ze=>un(ze.label))),6,Aj):6,{slice:qt,more:ye}=Tl(Te,0,n?.agentWindow??$E),re=qt.map((ze,Ut)=>Lj(ze,!1,Ut===R.anchor,Be,j,r));ye>0&&re.push(fe("dim",`\u2026+${ye} more`));let T=Tj({title:"Phases",rows:xe},{title:`${R.title} \xB7 ${Te.length} agents${n?.filterLabel??""}`,rows:re},t,{leftWidth:M,gap:1});return[...f,...T,...I]}function kE(e,t=[],n=96,r,o){let s=Fj(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 p=Mo(e,e.endedAt??Date.now()),f=p[Math.max(0,Math.min(p.length-1,r??0))];for(let I of f?.agents??[])a.add(I.label)}if(a.size===0)return s;let c=[];for(let p of e.steps)if(a.has(p.label)){for(let f of p.tasks??[]){let I=f.status==="completed"?"[x]":f.status==="in_progress"?"[>]":"[ ]";c.push(` ${fe("muted",I)} ${fe("text",f.content)}`)}p.detail&&c.push(` ${fe("dim",p.detail)}`)}return c.length===0?s:[...s.slice(0,-1),...c,s[s.length-1]]}function Dj(){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 fE,fe,wj,kj,eu,Ws,Oo,gE,$E,Pj,Aj,Rj,Oj,Mj,zs=m(()=>{Gs();fE={text:D.text,muted:D.mute,dim:D.dim,accent:D.accent,success:D.tool,error:D.bad,border:D.line},fe=(e,t,n=!1)=>n?Q(t,fE[e],{bold:!0}):Q(t,fE[e]),wj=25,kj=15e5,eu=420;Ws=(e,t,n)=>Math.max(t,Math.min(n,e)),Oo=(e,t)=>un(e)>t?Bs(e,Math.max(0,t),"\u2026"):e;gE="Workflow";$E=16,Pj=12,Aj=18,Rj=72,Oj=24;Mj=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as Nj}from"node:fs";import{basename as _j}from"node:path";import{StringEnum as qj}from"@earendil-works/pi-ai";import{defineTool as Uj}from"@earendil-works/pi-coding-agent";function vE(e){TE=e}function Gj(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new We("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,c=-1;for(let j=o;j<t.length;j++){let R=t[j];if(a){R==="\\"?j++:R===a&&(a=null);continue}if(R==='"'||R==="'"||R==="`")a=R;else if(R==="{"||R==="[")s++;else if((R==="}"||R==="]")&&(s--,s===0)){c=j+1;break}}if(c===-1)throw new We("meta is not a closed literal object");let p=t.slice(o,c),f=e.slice(r+c).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(f))throw new We("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(f))throw new We("a workflow body must not use dynamic import()");let I;try{I=new Function(`"use strict"; return (${p});`)()}catch(j){throw new We(`meta must be a literal object: ${j instanceof Error?j.message:String(j)}`)}if(typeof I!="object"||I===null)throw new We("meta must be an object");let w=I;if(typeof w.name!="string"||!w.name.trim())throw new We("meta.name is required");if(typeof w.description!="string"||!w.description.trim())throw new We("meta.description is required");let M=Array.isArray(w.phases)?w.phases.filter(j=>typeof j=="object"&&j!==null).map(j=>({title:String(j.title??""),...typeof j.detail=="string"?{detail:j.detail}:{}})).filter(j=>j.title):void 0;return{meta:{name:w.name,description:w.description,...typeof w.whenToUse=="string"?{whenToUse:w.whenToUse}:{},...M?{phases:M}:{}},body:f}}function Wj(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
|
|
88
88
|
${e}
|
|
89
|
-
})();`,r;try{r=new Function(...t,n)}catch(o){throw new We(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function Bj(e){return e.getLastAssistantText()?.trim()??""}function zj(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=qr.get(t)??qr.get("task");if(!s)throw new We(`no agent named ${t}`);let a=o==="worktree"?await
|
|
89
|
+
})();`,r;try{r=new Function(...t,n)}catch(o){throw new We(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function Bj(e){return e.getLastAssistantText()?.trim()??""}function zj(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=qr.get(t)??qr.get("task");if(!s)throw new We(`no agent named ${t}`);let a=o==="worktree"?await nE(process.cwd(),t):null,c=await Xm({agent:s.name,effort:n??s.effort,...a?{worktree:a.path}:{}});try{await c.prompt(`${s.prompt}
|
|
90
90
|
|
|
91
91
|
Task:
|
|
92
|
-
${e}`);let p=c.getSessionStats(),f=r??Hj(c);return{text:Bj(c),outputTokens:p.tokens.output,toolCalls:p.toolCalls,...f?{model:f}:{}}}finally{c.dispose(),await a?.remove()}}}function Hj(e){return e.model?.id??e.model?.name}function
|
|
92
|
+
${e}`);let p=c.getSessionStats(),f=r??Hj(c);return{text:Bj(c),outputTokens:p.tokens.output,toolCalls:p.toolCalls,...f?{model:f}:{}}}finally{c.dispose(),await a?.remove()}}}function Hj(e){return e.model?.id??e.model?.name}function EE(e){let t=()=>e??TE;return Uj({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:Vj,executionMode:"sequential",async execute(n,r,o,s,a){let c=r.path?Nj(r.path,"utf8"):r.code??"";if(!c.trim())throw new We("provide code or path");let{meta:p,body:f}=Gj(c);if(r.path){let ye=_j(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(ye!==p.name)throw new We(`meta.name "${p.name}" must match the script filename "${ye}"`)}let I=Wj(f),w=Date.now(),M=[],j=0,R=0,q=(ye,re)=>({name:p.name,...p.description?{description:p.description}:{},ok:ye,agents:R,outputTokens:j,startedAt:w,phases:p.phases??[],steps:M,...re?{error:re}:{}}),ee=(ye,re)=>{a.ui.setStatus(Pl,re?void 0:IE(ye)),s?.({content:[],details:q(!1)})},me=ye=>{R=ye.length,j=ye.reduce((re,T)=>re+T.outputTokens,0),M.splice(0,M.length,...ye.map(re=>({label:re.label,phase:re.phase,agent:re.agentType,status:re.status,outputTokens:re.outputTokens,startedAt:re.startedAt,...re.toolCalls!==void 0?{toolCalls:re.toolCalls}:{},...re.model?{model:re.model}:{},...re.endedAt?{endedAt:re.endedAt}:{},...re.detail?{detail:re.detail}:{},...re.tasks?{tasks:re.tasks}:{}}))),ee({name:p.name,...p.description?{description:p.description}:{},phases:p.phases??[],steps:M,startedAt:w},!1)},xe=zj(),Te=pE({invoke:r.agent?Jj(xe,r.agent):xe,budgetTotal:r.budget??null,onProgress:me,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),Be=new AbortController,qt=setTimeout(()=>Be.abort(),Kj);o&&o.addEventListener("abort",()=>Be.abort(),{once:!0}),t()?.onStop?.(()=>Be.abort());try{let ye=await Promise.race([I(Te.agent,Te.parallel,Te.pipeline,Te.phase,Te.log,Te.args,Te.budget),new Promise((T,ze)=>Be.signal.addEventListener("abort",()=>ze(new We("workflow timed out or was aborted"))))]),re=Date.now();return a.ui.setStatus(Pl,void 0),{content:[{type:"text",text:`${p.name}: ${R} agent call(s), ${j} output tokens in ${dr(re-w)}
|
|
93
93
|
|
|
94
|
-
${Yj(ye)}`}],details:{...q(!0),endedAt:re}}}catch(ye){let re=ye instanceof Error?ye.message:String(ye);return a.ui.setStatus(Pl,void 0),{content:[{type:"text",text:`${p.name} failed after ${
|
|
94
|
+
${Yj(ye)}`}],details:{...q(!0),endedAt:re}}}catch(ye){let re=ye instanceof Error?ye.message:String(ye);return a.ui.setStatus(Pl,void 0),{content:[{type:"text",text:`${p.name} failed after ${R} agent call(s): ${re}`}],details:{...q(!1,re),endedAt:Date.now()},isError:!0}}finally{clearTimeout(qt),t()?.onStop?.(null)}}})}function Jj(e,t){return n=>e({...n,agentType:t})}function Yj(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Pl,TE,Kj,Vj,Al=m(()=>{Dr();Ks();$l();lE();zs();Pl="workflow",TE=null;Kj=600*1e3;Vj=Y.Object({code:Y.Optional(Y.String({description:"The workflow script source"})),path:Y.Optional(Y.String({description:"Path to a workflow script, instead of code"})),agent:Y.Optional(qj(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:Y.Optional(Y.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as St}from"@earendil-works/pi-ai";import{defineTool as Xj}from"@earendil-works/pi-coding-agent";var SE,PE=m(()=>{Ks();Ks();SE=Xj({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:St.Object({agent:St.Optional(St.String()),effort:St.Optional(St.String()),task:St.Optional(St.String()),tasks:St.Optional(St.Array(St.Object({agent:St.Optional(St.String()),effort:St.Optional(St.String()),task:St.String()})))}),executionMode:"parallel",async execute(e,t,n,r,o){let s=t.tasks&&t.tasks.length>0?t.tasks.map(p=>({agent:p.agent??t.agent??"task",task:p.task,effort:p.effort??t.effort})):[{agent:t.agent??"task",task:t.task??"",effort:t.effort}],a=[];for(let p of s)p.task.trim()&&(a.push(await Jv({...p,cwd:o?.cwd})),r?.({content:[],details:{agents:a.map(f=>({id:f.id,agent:f.agent,status:f.status}))}}));if(a.length===0)throw new Error("task or tasks is required");return await Yv(n),{content:[{type:"text",text:a.map(p=>`## ${p.agent}#${p.id} ${p.status}
|
|
95
95
|
${p.result??""}`).join(`
|
|
96
96
|
|
|
97
|
-
`)}],details:{agents:a.map(p=>({id:p.id,status:p.status}))}}}})});function
|
|
98
|
-
`)||void 0}}var ru,sF,
|
|
99
|
-
`)}function _l(e,t){return e.disabled?[]:[...Nl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function
|
|
100
|
-
`);p=await cn(e,["commit-tree",r,"-m",M]),await cn(e,["update-ref",`${Dl}/${c}`,p])}let f={id:c,tree:r,commit:p,prompt:n,at:a},I=Nl(e),w=[...I.sessions[t]??[],f];for(let M of w.slice(0,Math.max(0,w.length-
|
|
97
|
+
`)}],details:{agents:a.map(p=>({id:p.id,status:p.status}))}}}})});function AE(){return e=>{e.on("session_start",()=>{let t=new Set(e.getActiveTools());for(let n of Zj)e.getAllTools().some(r=>r.name===n)&&t.add(n);e.setActiveTools([...t])})}}var Zj,RE=m(()=>{Zj=["grep","find","ls"]});var OE={};Ft(OE,{BUILD_ENTRY:()=>ru,openSession:()=>aF});import{join as Qj}from"node:path";import{createAgentSession as eF,createCodemodeExtension as tF,createMcpExtension as nF,DefaultResourceLoader as rF,SessionManager as nu,SettingsManager as oF}from"@earendil-works/pi-coding-agent";function iF(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 aF(e){let t=oF.create(e.cwd,He,{projectTrusted:!0}),n=e.sessionPath?nu.open(e.sessionPath):e.noSession?nu.inMemory(e.cwd):e.continueSession?nu.continueRecent(e.cwd):nu.create(e.cwd),r=(()=>{try{let I=n.getEntries().find(w=>w.type==="custom"&&w.customType===ru)?.data?.version;return!I||I===fn?void 0:`this session was written by HowToFix ${I}; you are running ${fn}`}catch{return}})(),o=new rF({cwd:e.cwd,agentDir:He,settingsManager:t,appendSystemPrompt:[hd],additionalSkillPaths:[gr(e.cwd)],extensionFactories:[vv(),Ko(),Bd(),Bm(),Mv(),Ev(),Av(),tF(),nF(),AE()]});await o.reload();let s=await eF({cwd:e.cwd,agentDir:He,settingsManager:t,sessionManager:n,resourceLoader:o,excludeTools:sF().exclude,customTools:[SE,Jd,Yd,Mm,Cm,pv,Sv,Pv,EE(),Hm,Vm,Jm],thinkingLevel:e.thinking}),a=s.session.model;if(e.model){let f=await s.session.modelRuntime.getAvailable(),I=iF(f,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(f=>f.type!=="custom"||f.customType!==ru))try{n.appendCustomEntry(ru,{version:fn})}catch{}let c=a?`${a.provider}/${a.id}`:"no model",p=[xd(s.modelFallbackMessage)].filter(f=>!!f);return a||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${Qj(He,"models.json")}`),{session:s.session,dispose:()=>{fl(),s.session.dispose()},modelLabel:c,note:[r,...p].filter(Boolean).join(`
|
|
98
|
+
`)||void 0}}var ru,sF,ME=m(()=>{_o();zd();Dn();Go();nc();el();Lm();_m();sl();Rv();Cv();ml();Al();PE();RE();ll();hl();gl();ru="howtofix.build",sF=()=>({exclude:process.platform==="win32"?[]:["powershell"]})});import{spawn as mF}from"node:child_process";function uF(e,t,n=2e3){return new Promise(r=>{let o=!1,s=f=>{o||(o=!0,clearTimeout(c),r(f))},a;try{a=mF(e,[...t],{stdio:["ignore","pipe","ignore"]})}catch{s({ok:!1,stdout:""});return}let c=setTimeout(()=>{a.kill("SIGKILL"),s({ok:!1,stdout:""})},n),p=[];a.stdout?.on("data",f=>p.push(f)),a.on("error",()=>s({ok:!1,stdout:""})),a.on("close",f=>{s({ok:f===0,stdout:Buffer.concat(p).toString("utf8")})})})}function Rl(){return process.env.XDG_SESSION_TYPE==="wayland"||(process.env.WAYLAND_DISPLAY?.length??0)>0}async function cF(){let e=[];process.platform==="darwin"?e.push({command:"pbpaste",args:[]}):process.platform==="win32"?e.push({command:"powershell.exe",args:["-NoProfile","-Command","Get-Clipboard -Raw"]}):(Rl()&&(e.push({command:"wl-paste",args:["--no-newline","--type","text/plain;charset=utf-8"]}),e.push({command:"wl-paste",args:["--no-newline","--type","text/plain"]}),e.push({command:"wl-paste",args:["--no-newline"]})),((process.env.DISPLAY?.length??0)>0||!Rl())&&(e.push({command:"xclip",args:["-selection","clipboard","-o"]}),e.push({command:"xsel",args:["--clipboard","--output"]})),e.push({command:"termux-clipboard-get",args:[]}));for(let t of e){let n=await uF(t.command,t.args);if(n.ok&&n.stdout.length>0)return n.stdout}}async function CE(){let e;try{let{getNativeClipboard:r}=await import("@earendil-works/pi-tui");e=r()}catch{e=void 0}if(e)try{let r=await e.getText();if(typeof r=="string"&&r.length>0)return{ok:!0,text:r}}catch{}let t=await cF();return t!==void 0?{ok:!0,text:t}:{ok:!1,reason:`no clipboard tool could read it \u2014 ${Rl()?"install wl-clipboard (wl-paste)":process.platform==="darwin"?"pbpaste should be present on macOS":"install xclip or xsel, or run under a display"}`}}function LE(){return process.platform!=="win32"}var jE=m(()=>{});import{mixColors as pF,styleText as FE}from"@earendil-works/pi-tui";function Hs(e,t,n){let r=UE(n);return r>=1?t:r<=0?e:pF(e,t,r)}function Ml(e,t,n,r){return!Kr||e<=Ol?t:e>=_E?r:Hs(n,r,(e-Ol)/(_E-Ol))}function KE(e,t){return!Kr||t<=0||e<0?1:1-(1-UE(e/t))**3}function GE(e,t){return Kr&&e>=0&&e<t}function Ll(e,t,n=dF,r=400){return!Kr||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function WE(e,t,n=Date.now(),r=1400){if(!Kr||r<=0)return e;let o=n%r/r;return Hs(e,t,o<.5?o*2:(1-o)*2)}function fF(e,t){let n=Math.abs(e-t);return n>=DE?0:Math.ceil((1-n/DE)*qE)/qE}function BE(e,t,n=Date.now()){let r=t.charMs??lF;if(!Kr||e.length===0||r<=0)return FE(e,{fg:t.base},Qm);let o=e.length+NE*2,s=n/r%o-NE,a=(M,j)=>FE(M,{fg:Hs(t.base,t.bright,j)},Qm),c="",p=0,f=null,I=0,w=0;for(let M of e){let j=fF(w,s);f===null?f=j:j!==f&&(c+=a(e.slice(p,I),f),p=I,f=j),I+=M.length,w+=1}return c+a(e.slice(p),f??0)}var Kr,lF,DE,NE,Ol,_E,qE,UE,ou,Cl,dF,jl=m(()=>{Gs();Kr=process.env.HOWTOFIX_NO_MOTION!=="1",lF=45,DE=5,NE=8,Ol=1e4,_E=6e4,qE=3,UE=e=>e<0?0:e>1?1:e;ou=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,!Kr)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)),c=r/a;for(let p=0;p<a;p+=1)this.velocity+=(this.target-this.value)*o*c-this.velocity*s*c,this.value+=this.velocity*c;return this.moving||(this.value=this.target,this.velocity=0),this.value}};Cl=260,dF=45});import{execFile as gF,execFileSync as hF}from"node:child_process";import{promisify as xF}from"node:util";import{createHash as HE}from"node:crypto";import{copyFileSync as yF,existsSync as Fl,mkdirSync as su,readFileSync as bF,statSync as IF}from"node:fs";import{dirname as VE,join as Ln,resolve as JE}from"node:path";function wF(e){let t=JE(e);for(;;){if(Fl(Ln(t,".git")))return!0;let n=VE(t);if(n===t)return!1;t=n}}async function cn(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 kF("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function TF(e){return HE("sha1").update(e).digest("hex").slice(0,16)}function YE(e){let t=JE(e).replace(/\/+$/,"")||"/",n=Ln($F,TF(t)),r=Ln(n,"git"),o={root:t,gitDir:r,metaFile:Ln(n,"checkpoints.json"),disabled:!1};return!Fl(Ln(r,"HEAD"))&&!wF(t)?(o.disabled=!0,o):(su(n,{recursive:!0}),Fl(Ln(r,"HEAD"))||(su(r,{recursive:!0}),hF("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),vF(t,r),o)}function vF(e,t){let n=Ln(e,".git","info","exclude");try{if(!IF(n).isFile())return;su(Ln(t,"info"),{recursive:!0}),yF(n,Ln(t,"info","exclude"))}catch{}}function Nl(e){try{let t=JSON.parse(bF(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function XE(e,t){su(VE(e.metaFile),{recursive:!0}),Ze(e.metaFile,`${JSON.stringify(t,null,1)}
|
|
99
|
+
`)}function _l(e,t){return e.disabled?[]:[...Nl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function ZE(e,t,n){if(e.disabled)return null;let r;try{await cn(e,["add","-A","--ignore-errors","--"]),r=await cn(e,["write-tree"])}catch{return null}let s=_l(e,t).find(M=>M.tree===r),a=Date.now(),c=`${a.toString(36)}-${HE("sha1").update(`${r}:${a}`).digest("hex").slice(0,6)}`,p=s?.commit;if(!p){let M=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
|
|
100
|
+
`);p=await cn(e,["commit-tree",r,"-m",M]),await cn(e,["update-ref",`${Dl}/${c}`,p])}let f={id:c,tree:r,commit:p,prompt:n,at:a},I=Nl(e),w=[...I.sessions[t]??[],f];for(let M of w.slice(0,Math.max(0,w.length-zE)))try{await cn(e,["update-ref","-d",`${Dl}/${M.id}`])}catch{}return I.sessions[t]=w.slice(-zE),XE(e,I),f}async function QE(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 cn(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 cn(e,["clean","-fd"]);for(let o of r.split(`
|
|
101
101
|
`)){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 eS(e,t){if(e.disabled)return[];try{await cn(e,["add","-A","--ignore-errors","--"]);let n=await cn(e,["write-tree"]);return n===t.tree?[]:(await cn(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n])).split(`
|
|
102
|
-
`).filter(Boolean).map(o=>{let[s,...a]=o.split(" ");return`${s?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function tS(e,t){if(e.disabled)return;let n=Nl(e);for(let r of n.sessions[t]??[])try{await cn(e,["update-ref","-d",`${Dl}/${r.id}`])}catch{}delete n.sessions[t],
|
|
103
|
-
`)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return
|
|
102
|
+
`).filter(Boolean).map(o=>{let[s,...a]=o.split(" ");return`${s?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function tS(e,t){if(e.disabled)return;let n=Nl(e);for(let r of n.sessions[t]??[])try{await cn(e,["update-ref","-d",`${Dl}/${r.id}`])}catch{}delete n.sessions[t],XE(e,n)}var $F,Dl,zE,kF,nS=m(()=>{Dn();zn();$F=Ln(He,"rewind"),Dl="refs/howtofix",zE=100;kF=xF(gF)});function Gl(e=90){let t=Math.floor(Date.now()/e)%ql.length;return ql[t]??ql[0]}function Gr(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function Re(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 EF(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Gr(n,t):""}catch{return""}}function SF(e,t){switch(e){case"read":{let n=Re(t,"path")??"",r=[Re(t,"offset"),Re(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 Re(t,"path")??"";case"bash":case"powershell":return Re(t,"command")??"";case"grep":{let n=Re(t,"pattern")??"",r=Re(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=Re(t,"pattern")??Re(t,"glob")??"",r=Re(t,"path");return r?`${n} in ${r}`:n}case"ls":return Re(t,"path")??".";case"task":return Re(t,"agent")??"task";case"ask":return Re(t,"question")??"";case"web_search":return Re(t,"query")??"";case"web_fetch":return Re(t,"url")??"";case"lsp":{let n=Re(t,"action")??"lsp",r=Re(t,"file")??"",o=Re(t,"line");return o?`${n} ${r}:${o}`:`${n} ${r}`}case"think":return"private";case"todo":{let n=Re(t,"op")??"view",r=Re(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=Re(t,"op")??"list",r=Re(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=Re(t,"path");if(n)return n;let r=Re(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(`
|
|
103
|
+
`)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return EF(t)}}function Co(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Gr(SF(e,t),n);return o?`${rS} ${r}(${o})`:`${rS} ${r}`}function PF(e){let t=0,n=0;for(let r of e.split(`
|
|
104
104
|
`))r.startsWith("+")&&!r.startsWith("+++")?t+=1:r.startsWith("-")&&!r.startsWith("---")&&(n+=1);return{additions:t,removals:n}}function Wl(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 Js(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function Bl(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function oS(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function sS(e){return e.trim().split(`
|
|
105
|
-
`).find(t=>t.trim())??""}function
|
|
105
|
+
`).find(t=>t.trim())??""}function AF(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=Vs(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function Vs(e){let t=e.trim();return t?t.split(`
|
|
106
106
|
`).length:0}function au(e,t,n){let r=Wl(t),o=Js(t),s=Bl(t);if(n){let a=oS(s);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let c=r.trim().split(`
|
|
107
|
-
`).find(p=>p.trim());return Gr(c??"failed",120)}switch(e){case"read":{let a=o.truncation,c=Vs(r.replace(/\n*\[[^\]]*\]\s*$/,"")),p=c===0?"empty":`${c} line${c===1?"":"s"}`;return a?.truncated?`${p} (truncated from ${a.totalLines??"?"})`:p}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:c,removals:p}=PF(a);return`+${c} / -${p}`}case"write":{let a=Vs(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=oS(s);if(a===void 0)return r.trim()?Gr(sS(r),120):"done";let c=
|
|
107
|
+
`).find(p=>p.trim());return Gr(c??"failed",120)}switch(e){case"read":{let a=o.truncation,c=Vs(r.replace(/\n*\[[^\]]*\]\s*$/,"")),p=c===0?"empty":`${c} line${c===1?"":"s"}`;return a?.truncated?`${p} (truncated from ${a.totalLines??"?"})`:p}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:c,removals:p}=PF(a);return`+${c} / -${p}`}case"write":{let a=Vs(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=oS(s);if(a===void 0)return r.trim()?Gr(sS(r),120):"done";let c=AF(s,r);return a===0?`exit 0${c}`:`exit ${a}`}case"grep":{let a=Vs(r);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"web_search":{let a=typeof o.count=="number"?o.count:Vs(r);return a===0?"no results":`${a} result${a===1?"":"s"}`}case"web_fetch":return`${typeof o.chars=="number"?o.chars:r.length} chars`;case"lsp":{let a=typeof o.count=="number"?o.count:void 0;return typeof o.error=="string"?Gr(o.error,120):a===void 0?Gr(sS(r),120):`${a} location${a===1?"":"s"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let c=a.filter(f=>f.status==="completed").length,p=a.filter(f=>f.status==="pending"||f.status==="in_progress").length;return`${c}/${a.length} done, ${p} open`}case"context":{let a=o.notes,c=a?Object.keys(a).length:0;return c===0?"no notes":`${c} note${c===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,c=typeof o.outputTokens=="number"?o.outputTokens:0,p=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 f=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${dr(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${c} tokens${f}${p>0?`, ${p} failed`:""}`}default:{let a=r.trim().split(`
|
|
108
108
|
`).find(c=>c.trim());return a?Gr(a,120):"done"}}}function iS(e,t){let n=Js(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
|
|
109
109
|
`).filter(r=>r.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let r=Bl(t);return(typeof r.output=="string"?r.output:Wl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
|
|
110
110
|
`).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",c=s.phase?`${s.phase} \xB7 `:"";return`${a} ${c}${s.label??"agent"}`}).slice(-6):[]}function aS(e,t){let n=Js(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
|
|
111
111
|
`).filter(c=>c.length>0).slice(0,iu);let r=Bl(t),s=(typeof r.output=="string"?r.output:Wl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
|
|
112
|
-
`),a=s.slice(0,iu);return s.length>iu&&a.push(`\u2026 ${s.length-iu} more line(s)`),a}var rS,Ul,Kl,ql,iu,zl=m(()=>{zs();rS="\u25CF",Ul="\u2514",Kl="\u22EF",ql=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];iu=400});import{Markdown as
|
|
112
|
+
`),a=s.slice(0,iu);return s.length>iu&&a.push(`\u2026 ${s.length-iu} more line(s)`),a}var rS,Ul,Kl,ql,iu,zl=m(()=>{zs();rS="\u25CF",Ul="\u2514",Kl="\u22EF",ql=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];iu=400});import{Markdown as RF,wrapTextWithAnsi as OF}from"@earendil-works/pi-tui";function mS(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 MF(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function uu(e){let t=[];for(let n of e)if(n.role==="user"){let r=mS(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=mS(n.content).trim(),o=MF(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
|
|
113
113
|
|
|
114
|
-
${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:Co(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:au(n.toolName,{content:n.content},n.isError)});return t}function uS(e,t,n){return OF(e,Math.max(8,t)).map(r=>Q(r,n))}function CF(e){let t=e.body||" ",n=Ys.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new
|
|
114
|
+
${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:Co(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:au(n.toolName,{content:n.content},n.isError)});return t}function uS(e,t,n){return OF(e,Math.max(8,t)).map(r=>Q(r,n))}function CF(e){let t=e.body||" ",n=Ys.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new RF(t,0,0,dE);return Ys.set(e.id,{text:t,component:r}),r}var Ys,Hl,mu,cS=m(()=>{jl();Gs();zl();Ys=new Map;Hl=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return Hs(D.dim,t,KE(n,Cl))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...uS(`> ${n}`,t,this.shade(D.user))];if(this.item.kind==="tool")return[Q(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?[Q(` ${Ul} ${n}`,o?D.bad:D.mute)]:[]];let s=[];this.item.call&&s.push(Q(this.item.call,this.shade(D.tool)));let a=` ${Ul} ${n}`;if(s.push(Q(a,o?D.bad:this.shade(D.mute))),this.item.expanded===!0&&(this.item.full?.length??0)>0){let I=Q(` ${this.item.full.length} line(s) \xB7 ctrl+e to collapse`,D.dim);s.push(Q(` ${Kl}`,D.dim));for(let w of this.item.full){let M=w.startsWith("+")?D.tool:w.startsWith("-")?D.bad:D.dim;s.push(Q(` ${w}`,M))}return s.push(I),s}let p=this.item.detail??[],f=Ll(Date.now()-(this.item.born??0),p.length);for(let I of p.slice(0,f)){let w=I.startsWith("+")?D.tool:I.startsWith("-")?D.bad:D.dim;s.push(Q(` ${I}`,this.shade(w)))}return(this.item.full?.length??0)>0&&s.push(Q(` ${Kl} ${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["",...uS(n,t,this.shade(o))]}return["",...CF(this.item).render(Math.max(8,t-2))]}},mu=class{items=[];status="";scrollOffset=0;scrollAnchor;settledOffset=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 GE(r,Cl)?!0:(n.detail?.length??0)>Ll(r,n.detail?.length??0)})}render(t){if(Ys.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of Ys.keys())o.has(s)||Ys.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new Hl(o).render(t));this.status&&n.push(Q(this.status,D.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r;this.scrollOffset!==this.settledOffset&&(this.scrollAnchor=void 0);let s=this.scrollAnchor,a;if(s!==void 0){let c=n.length-s;c>=0&&c<=o?a=c:a=Math.max(0,Math.min(this.scrollOffset,o))}else a=Math.max(0,Math.min(this.scrollOffset,o));return s===void 0&&(this.scrollOffset=a),this.settledOffset=this.scrollOffset,a===0?this.scrollAnchor=void 0:this.scrollAnchor===void 0&&(this.scrollAnchor=n.length-a),n.slice(o-a,o-a+r)}return n}}});function ct(e,t){return`${t}${e}${lS}`}function jF(e){return e>=85?LF:e>=70?fS:dS}function gS(e,t,n,r){let o=ct(`[${e}]`,Vl),s=ct(`${FF} ${t}`,jn),a=ct(n,fS),c=r?` ${ct("git:(",pS)}${ct(r.replace(/^git:\(/,"").replace(/\)$/,""),Vl)}${ct(")",pS)}`:"";return`${o}${ct(" \u2502 ",jn)}${s}${ct(" \u2502 ",jn)}${a}${c}`}function hS(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${ct(hE(n),jn)}`;return`${ct(r,Vl)} ${ct("\u2502",jn)} ${e}`}function xS(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=jF(n),s=`${o}${"\u2588".repeat(r)}${jn}${"\u2591".repeat(10-r)}${lS}`,a=ct(`${Math.round(n)}%`,o),c=t?`${ct(" \u2502 ",jn)}${t}`:"";return`${ct("Context",jn)} ${s} ${a}${c}`}function yS(e,t,n){let r=n===null?"":ct(` ${n}ms`,jn);return`${ct("Cubence",jn)} ${ct(t?`${t} ${e}`:e,dS)}${r}`}var lS,jn,LF,dS,fS,pS,Vl,FF,Jl=m(()=>{zs();lS="\x1B[0m",jn="\x1B[2m",LF="\x1B[31m",dS="\x1B[32m",fS="\x1B[33m",pS="\x1B[35m",Vl="\x1B[36m";FF="\u2726"});import{mkdirSync as DF,readFileSync as IS}from"node:fs";import{homedir as NF}from"node:os";import{dirname as _F,join as qF}from"node:path";function bS(e){return e/1e6}function KF(){try{let e=JSON.parse(IS(qF(NF(),".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 GF(){try{let e=JSON.parse(IS(Yl,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function Xs(e){let t=`$${e.balanceDollar.toFixed(2)}`,n=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return yS(t,n,e.latencyMs)}async function $S(){let e=GF();if(e&&Date.now()-e.cachedAt<UF)return Xs(e.data);let t=KF();if(!t)return e?Xs(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?Xs(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:bS(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:bS(s),latencyMs:Date.now()-n};return DF(_F(Yl),{recursive:!0}),Ze(Yl,JSON.stringify({data:a,cachedAt:Date.now()})),Xs(a)}catch{return e?Xs(e.data):void 0}}var Yl,UF,wS=m(()=>{Dn();Jl();zn();Yl=Ou,UF=18e4});function kS(){return{}}function TS(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 WF(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 vS(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${WF(n-e.run.since)}`:e.tally?e.tally:""}var ES=m(()=>{});import{spawn as BF}from"node:child_process";function zF(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 SS(e,t=process.platform){let n=zF(t);return n?new Promise(r=>{try{let o=BF(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 PS=m(()=>{});function HF(e){return[Ru,gr(e)]}function AS(e,t){let n=e.trim(),r=/^\/skill:([^\s]+)(?:\s+([\s\S]*))?$/.exec(n)??/^\/skill\s+([^\s]+)(?:\s+([\s\S]*))?$/.exec(n);if(!r)return;let o=r[1]??"";if(!t.includes(o))return;let s=(r[2]??"").trim();return s?`/skill:${o} ${s}`:`/skill:${o}`}function RS(e){if(e.length===0){let[t,n]=HF(process.cwd());return["no skills loaded.",`put a SKILL.md in ${t}`,`or in ${n}`,"invoke with /skill:<name>"].join(`
|
|
115
115
|
`)}return e.map(t=>{let n=t.disableModelInvocation?" (invoke only)":"";return`${t.name}${n}
|
|
116
116
|
${t.description}
|
|
117
117
|
${t.filePath}`}).join(`
|
|
118
|
-
`)}var OS=m(()=>{Dn()});import{mkdirSync as VF}from"node:fs";import{join as JF}from"node:path";import{matchesKey as cu}from"@earendil-works/pi-tui";function CS(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function LS(e){if(cu(e,"up"))return"up";if(cu(e,"down"))return"down";if(cu(e,"enter"))return"enter";if(cu(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 MS(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 YF(e){let t=Xl.indexOf(e);return Xl[(t+1)%Xl.length]}function jS(e,t,n){switch(t){case"up":return MS(e,n,-1);case"down":return MS(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:YF(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function FS(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 DS(e){return e==="all"?"":` \xB7 ${e}`}function _S(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 XF(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 qS(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=XF(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=JF(t,`${n}.js`);try{VF(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 Xl,NS,US=m(()=>{zn();Xl=["all","running","failed","done"];NS="ctrl+f"});function KS(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 GS=m(()=>{});var rP={};Ft(rP,{Dock:()=>fu,Hud:()=>lu,PinnedBlock:()=>du,approvalDetail:()=>tP,orderModelsForDefault:()=>QS,pickerPanel:()=>eP,runWorkbench:()=>wD,workflowPanel:()=>nP,workflowPanelFromRun:()=>Qs,workflowRunOf:()=>gu});import{execFile as ZF}from"node:child_process";import{promisify as QF}from"node:util";import{existsSync as eD,mkdirSync as tD,readFileSync as nD}from"node:fs";import{basename as rD,join as WS,resolve as oD}from"node:path";import{copyToClipboard as sD,SessionManager as iD}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as BS,Container as aD,Editor as mD,matchesKey as Mt,ProcessTerminal as uD,ScrollView as cD,KeybindingsManager as JS,setKeybindings as YS,TUI_KEYBINDINGS as XS,SelectList as pD,TuiAltScreen as lD,truncateToWidth as Zs,VStack as dD,visibleWidth as pu,wrapTextWithAnsi as fD}from"@earendil-works/pi-tui";import{TreeSelectorComponent as gD,initTheme as hD}from"@earendil-works/pi-coding-agent";import{getKeybindings as zS}from"@earendil-works/pi-tui";function xD(e){if(typeof e!="object"||e===null)return;let t=e[ZS];return typeof t=="function"?t.call(e):void 0}async function VS(e){try{let{stdout:t}=await ed("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await ed("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function QS(e){let t=n=>{if(bD.test(n))return 100;let r=yD.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 eP(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,c=(ee,me)=>{let xe=pu(ee)>a?Zs(ee,a,"\u2026"):ee,Te=`${xe}${" ".repeat(Math.max(0,a-pu(xe)))}`;return`\u2502 ${me?me(Te):Te} \u2502`},p="\u2500".repeat(s-2),f=[c(` ${t}`),...e.render(a).map(ee=>c(ee))],I=o.flatMap(ee=>ee===""?[""]:fD(ee,a)),w=I.length>0?[c(""),...I.map(ee=>c(ee,me=>Q(me,D.mute)))]:[];if(!r)return["",`\u250C${p}\u2510`,...f,...w,`\u2514${p}\u2518`];let M=
|
|
119
|
-
`).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 Lo(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 Ql(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"],["skills","list loaded skills"],["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 gu(e,t){if(e!=="workflow")return;let n=Js(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function nP(e,t){let n=gu(e,t);return n?Qs(n):void 0}function Qs(e,t,n=!1){return r=>
|
|
120
|
-
`)||"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(...uu(T.state.messages)),o.percent=Lo(T),o.abandonAnimations(),o.thinking=T.thinkingLevel,c.setAutocompleteProvider(new BS(Ql(T),e.cwd)),$S().then(l=>{l&&(o.cubence=l,n.requestRender())});let Fn=null,od="",sd=!1,id=[],Do,xu=()=>{},U=()=>{xu(),n.requestRender()},ge=(l,h)=>{o.activity=TS(o.activity,l,h)},ei=new Map,yu=new Set,mP=()=>[...ei].map(([l,h])=>`${yu.has(l)?"!":"\u2713"} ${l} \xD7${h}`).join(" | "),uP=()=>{let l=mP();ge("tally",l||void 0)},Lt=(l,h,b,y,k=!1,_=[])=>{let x=new pD(h,8,HS.selectList);x.onSelect=O=>{Fn=null,Do=void 0,b(O.value)},x.onCancel=()=>{Fn=null,Do=void 0,y?.(),U()},Do=()=>x.onCancel?.(),od=l,sd=k,id=_,Fn=x,U()},P=(l,h)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:l,body:h}),ge("tally",void 0),U()},dn=l=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:l}),ge("tally",void 0),U()};ec((l,h)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Lt(l,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],k=>y(k==="allow"),()=>y(!1),!0,tP(l,h)),b});let bu=new Map,ad=l=>{let h=KS({select:(b,y)=>{let{promise:k,resolve:_}=Promise.withResolvers();return Lt(b,y.map(x=>({value:x,label:x})),_,()=>_(void 0)),k},confirm:(b,y)=>{let{promise:k,resolve:_}=Promise.withResolvers();return Lt(`${b} \u2014 ${y}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],x=>_(x==="yes"),()=>_(!1)),k},input:b=>{let{promise:y,resolve:k}=Promise.withResolvers();return ge("prompt",b),U(),pn=_=>{pn=void 0,ge("prompt",void 0),k(_),U()},y},notify:(b,y)=>{y==="error"?dn(b):P("mcp",b)},setStatus:(b,y)=>{y===void 0?bu.delete(b):bu.set(b,y),ge("note",[...bu.values()].join(" | ")||void 0),U()},setWidget:(b,y)=>{f(b,y),U()}});l.bindExtensions({uiContext:h,mode:"print",onError:b=>dn(`${b.event}: ${b.error}`)}).catch(b=>dn(b instanceof Error?b.message:String(b)))};ad(T);let Wr=new aD,cP={invalidate:()=>r.invalidate(),render:l=>{let h=Wr.render(Math.max(20,l)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-h),r.render(l)},handleMouse:l=>{if(gd(l))return
|
|
118
|
+
`)}var OS=m(()=>{Dn()});import{mkdirSync as VF}from"node:fs";import{join as JF}from"node:path";import{matchesKey as cu}from"@earendil-works/pi-tui";function CS(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function LS(e){if(cu(e,"up"))return"up";if(cu(e,"down"))return"down";if(cu(e,"enter"))return"enter";if(cu(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 MS(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 YF(e){let t=Xl.indexOf(e);return Xl[(t+1)%Xl.length]}function jS(e,t,n){switch(t){case"up":return MS(e,n,-1);case"down":return MS(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:YF(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function FS(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 DS(e){return e==="all"?"":` \xB7 ${e}`}function _S(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 XF(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 qS(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=XF(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=JF(t,`${n}.js`);try{VF(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 Xl,NS,US=m(()=>{zn();Xl=["all","running","failed","done"];NS="ctrl+f"});function KS(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 GS=m(()=>{});var rP={};Ft(rP,{Dock:()=>fu,Hud:()=>lu,PinnedBlock:()=>du,approvalDetail:()=>tP,orderModelsForDefault:()=>QS,pickerPanel:()=>eP,runWorkbench:()=>wD,workflowPanel:()=>nP,workflowPanelFromRun:()=>Qs,workflowRunOf:()=>gu});import{execFile as ZF}from"node:child_process";import{promisify as QF}from"node:util";import{existsSync as eD,mkdirSync as tD,readFileSync as nD}from"node:fs";import{basename as rD,join as WS,resolve as oD}from"node:path";import{copyToClipboard as sD,SessionManager as iD}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as BS,Container as aD,Editor as mD,matchesKey as Mt,ProcessTerminal as uD,ScrollView as cD,KeybindingsManager as JS,setKeybindings as YS,TUI_KEYBINDINGS as XS,SelectList as pD,TuiAltScreen as lD,truncateToWidth as Zs,VStack as dD,visibleWidth as pu,wrapTextWithAnsi as fD}from"@earendil-works/pi-tui";import{TreeSelectorComponent as gD,initTheme as hD}from"@earendil-works/pi-coding-agent";import{getKeybindings as zS}from"@earendil-works/pi-tui";function xD(e){if(typeof e!="object"||e===null)return;let t=e[ZS];return typeof t=="function"?t.call(e):void 0}async function VS(e){try{let{stdout:t}=await ed("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await ed("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function QS(e){let t=n=>{if(bD.test(n))return 100;let r=yD.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 eP(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,c=(ee,me)=>{let xe=pu(ee)>a?Zs(ee,a,"\u2026"):ee,Te=`${xe}${" ".repeat(Math.max(0,a-pu(xe)))}`;return`\u2502 ${me?me(Te):Te} \u2502`},p="\u2500".repeat(s-2),f=[c(` ${t}`),...e.render(a).map(ee=>c(ee))],I=o.flatMap(ee=>ee===""?[""]:fD(ee,a)),w=I.length>0?[c(""),...I.map(ee=>c(ee,me=>Q(me,D.mute)))]:[];if(!r)return["",`\u250C${p}\u2510`,...f,...w,`\u2514${p}\u2518`];let M=WE(D.line,D.warn,Date.now(),1400),j=Q("\u2502",M),R=(ee,me)=>Q(`${ee}${p}${me}`,M),q=[...f,...w].map(ee=>`${j}${ee.slice(1,-1)}${j}`);return["",R("\u250C","\u2510"),...q,R("\u2514","\u2518")]}function tP(e,t){let n=t.split(`
|
|
119
|
+
`).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 Lo(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 Ql(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"],["skills","list loaded skills"],["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 gu(e,t){if(e!=="workflow")return;let n=Js(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function nP(e,t){let n=gu(e,t);return n?Qs(n):void 0}function Qs(e,t,n=!1){return r=>kE(e,[],r,t?.selectedPhase,t?ID(e,t,n):void 0)}function ID(e,t,n){return{filter:r=>FS(r,t.filter),footerText:_S(t,e.endedAt===void 0,n),filterLabel:DS(t.filter),drill:t.expanded}}function $D(){let e=new JS(XS,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});YS(e)}async function wD(e){let t=new uD,n=new lD(t,!0,void 0,{mouse:!0}),r=new mu,o=new lu(e.cwd,e.modelLabel),s=l=>{let h=Date.now();(async()=>{try{let b=ln(),y=await ZE(b,T.getSessionStats().sessionId,l);y&&h>=Kt&&(jo=y,Kt=h)}catch{}})()},a=(l=!1)=>{!l&&!o.live||VS(e.cwd).then(h=>{h!==null&&(o.git=h,U())})},c=new mD(n,HS,{paddingX:1}),p=new Map,f=(l,h)=>{h===void 0?p.delete(l):typeof h=="function"?p.set(l,h):p.set(l,()=>h)},I=()=>Math.max(20,t.columns),w,M=0,j=CS(),R,q=null,ee=!1,me,xe=!1,Te,Be=()=>{!R||!ee||f("workflow",l=>Qs(R,j,xe)(l))},qt=()=>{R&&(me=R.name),ee=!1,xe=!1,f("workflow",void 0)};vE({onStop:l=>{q=l},isPaused:()=>j.paused});let ye=l=>{if(me===l.name)return;w=l;let h=l.endedAt??Date.now();M=Math.max(M,h+eu),R=l,ee=!0,f("workflow",b=>Qs(l,j,xe)(b))},re=new fu(c,o),T=e.session,ze=!1,Ut,ln=()=>Ut??=YE(e.cwd),jo,en="",Kt=0,qe,Ct=()=>{let l=new Set(["session_info","usage","label","context_edit","custom","model_change","thinking_level_change"]),h=[],b=y=>{for(let k of y)l.has(k.entry.type)||h.push(k.entry.id),b(k.children)};return b(T.sessionManager.getTree()),h},Fo=!1,sP=()=>{if(Fo)return;Fo=!0;let l=zS().getResolvedBindings();YS(new JS(XS,{...l,"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"]}))},td=!1,iP=()=>{td||(td=!0,hD())},nd=()=>{let l=T.sessionManager.getTree();if(l.length===0){P("rewind","nothing to rewind to yet");return}ln().disabled&&P("rewind","conversation rewind only \u2014 this directory is not a git repository"),iP(),sP();let h=Math.max(8,Math.floor(t.rows*.6)),b=new gD(l,T.sessionManager.getLeafId(),h*2,y=>{hu(),aP(y)},()=>hu());if(!b.getTreeList().getSelectedNode()){P("rewind","nothing to rewind to yet");return}qe=b,qe.focused=!0,f("rewind",y=>qe?.render(y)??[]),U()},hu=()=>{qe=void 0,f("rewind",void 0),U()},aP=async l=>{let h=ln(),y=T.getUserMessagesForForking().findIndex(x=>x.entryId===l),k=y>=0?_l(h,T.getSessionStats().sessionId)[y]:void 0,_=k?(await eS(h,k)).length:0;if(_===0){await rd(l,void 0,"conversation");return}Lt(`Rewind to this point? ${_} file(s) differ`,[{value:"both",label:"conversation and code",description:`drop the messages after this point and restore ${_} 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 ${_} file(s), keep the conversation`}],x=>{rd(l,k,x)})},rd=async(l,h,b)=>{let y=[];if((b==="both"||b==="conversation")&&!T.isStreaming)try{let k=await T.navigateTree(l);if(k.cancelled){P("rewind","conversation rewind cancelled");return}y.push("conversation rewound"),r.items=uu(T.state.messages),k.editorText&&(c.setText(k.editorText),y.push("prompt restored to the editor"))}catch(k){dn(`conversation rewind failed: ${k instanceof Error?k.message:String(k)}`);return}if((b==="both"||b==="code")&&h){let k=await QE(ln(),h);if(!k.ok){dn(`code rewind failed: ${k.output}`);return}y.push(k.output),k.removed.length>0&&y.push(`removed ${k.removed.length} file(s)`),a()}P("rewind",y.join(`
|
|
120
|
+
`)||"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(...uu(T.state.messages)),o.percent=Lo(T),o.abandonAnimations(),o.thinking=T.thinkingLevel,c.setAutocompleteProvider(new BS(Ql(T),e.cwd)),$S().then(l=>{l&&(o.cubence=l,n.requestRender())});let Fn=null,od="",sd=!1,id=[],Do,xu=()=>{},U=()=>{xu(),n.requestRender()},ge=(l,h)=>{o.activity=TS(o.activity,l,h)},ei=new Map,yu=new Set,mP=()=>[...ei].map(([l,h])=>`${yu.has(l)?"!":"\u2713"} ${l} \xD7${h}`).join(" | "),uP=()=>{let l=mP();ge("tally",l||void 0)},Lt=(l,h,b,y,k=!1,_=[])=>{let x=new pD(h,8,HS.selectList);x.onSelect=O=>{Fn=null,Do=void 0,b(O.value)},x.onCancel=()=>{Fn=null,Do=void 0,y?.(),U()},Do=()=>x.onCancel?.(),od=l,sd=k,id=_,Fn=x,U()},P=(l,h)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:l,body:h}),ge("tally",void 0),U()},dn=l=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:l}),ge("tally",void 0),U()};ec((l,h)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Lt(l,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],k=>y(k==="allow"),()=>y(!1),!0,tP(l,h)),b});let bu=new Map,ad=l=>{let h=KS({select:(b,y)=>{let{promise:k,resolve:_}=Promise.withResolvers();return Lt(b,y.map(x=>({value:x,label:x})),_,()=>_(void 0)),k},confirm:(b,y)=>{let{promise:k,resolve:_}=Promise.withResolvers();return Lt(`${b} \u2014 ${y}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],x=>_(x==="yes"),()=>_(!1)),k},input:b=>{let{promise:y,resolve:k}=Promise.withResolvers();return ge("prompt",b),U(),pn=_=>{pn=void 0,ge("prompt",void 0),k(_),U()},y},notify:(b,y)=>{y==="error"?dn(b):P("mcp",b)},setStatus:(b,y)=>{y===void 0?bu.delete(b):bu.set(b,y),ge("note",[...bu.values()].join(" | ")||void 0),U()},setWidget:(b,y)=>{f(b,y),U()}});l.bindExtensions({uiContext:h,mode:"print",onError:b=>dn(`${b.event}: ${b.error}`)}).catch(b=>dn(b instanceof Error?b.message:String(b)))};ad(T);let Wr=new aD,cP={invalidate:()=>r.invalidate(),render:l=>{let h=Wr.render(Math.max(20,l)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-h),r.render(l)},handleMouse:l=>{if(gd(l))return vu(),{handled:!0};let h=l.type==="wheel"?l.wheelDelta??0:0;if(h!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-h*3),U(),{handled:!0}}},pP=new cD(cP,{follow:"none",overscroll:"contain"}),ti=new dD([{component:pP,grow:1,shrink:1},{component:Wr,grow:0,shrink:0,basis:"auto"}]),md="",lP=()=>`${Fn?"picker":"dock"}|${[...p.keys()].join(",")}`;xu=()=>{let l=lP();if(l===md)return;md=l,Wr.clear();for(let b of p.values())Wr.addChild(new du(b));let h=Fn;if(h){let b=od,y=sd,k=id;Wr.addChild({render:_=>eP(h,b,_,y,k),invalidate:()=>{}})}else Wr.addChild(re);ti.invalidate()},xu();let ud={focused:!1,invalidate(){r.invalidate(),re.invalidate(),Fn?.invalidate(),ti.invalidate()},[ZS]:()=>xD(ti),render:l=>ti.render(l),handleMouse(l){if(gd(l))return vu(),{handled:!0}},handleInput(l){c.handleInput(l)}};n.setLayoutRoot(ud),n.setFocus(ud);let xt=0,Wn="",Iu=!1,fr=!1,$u,Br="",cd=0,No=!1,ni=Date.now(),ri=!1,oi=new Map,pd=l=>{if(l.type==="agent_start"||l.type==="turn_start")l.type==="agent_start"&&Md(),o.live||o.beginRun(),Wn="",fr=!1,No=!1,ni=Date.now(),Br="";else if(l.type==="message_update"&&l.assistantMessageEvent.type==="thinking_delta"){fr=!0,Br===""&&(cd=Date.now()),Br+=l.assistantMessageEvent.delta;let h=`think-${xt}`,b=r.items.find(k=>k.id===h),y=Br.split(`
|
|
121
121
|
`).slice(-6).join(`
|
|
122
|
-
`);b?b.body=y:r.items.push({id:h,kind:"note",title:"thinking",body:y})}else if(l.type==="message_update"&&l.assistantMessageEvent.type==="thinking_end"){let h=`think-${xt}`,b=r.items.find(y=>y.id===h);if(b){let y=Math.max(1,Math.round((Date.now()-cd)/1e3));b.title="thought",b.body=`${y}s \xB7 ${Br.length} chars of reasoning`}Br=""}else if(l.type==="message_update"&&l.assistantMessageEvent.type==="text_delta"){fr=!0,Wn+=l.assistantMessageEvent.delta;let h=`live-${xt}`,b=r.items.find(y=>y.id===h);b?b.body=Wn:r.items.push({id:h,kind:"assistant",title:"HowToFix",body:Wn})}else if(l.type==="tool_execution_start"){oi.set(l.toolCallId,l.args),fr=!1,No=!1,ni=Date.now();let h=`tool-${l.toolCallId}`,b=Co(l.toolName,l.args),y=r.items.find(k=>k.id===h);if(y?(y.kind="tool",y.title=l.toolName,y.body=b,y.live=!0):r.items.push({id:h,kind:"tool",title:l.toolName,body:b,live:!0}),$u=l.toolName,l.toolName==="task"){let k=Zt.filter(_=>_.status==="queued"||_.status==="running");ge("note",k.map(_=>`${_.agent} ${_.status}`).join(" | ")||"agent running")}}else if(l.type==="tool_execution_update"){let h=nP(l.toolName,l.partialResult);if(h){let b=`tool-${l.toolCallId}`,y=r.items.find(_=>_.id===b);y?y.panel=h:r.items.push({id:b,kind:"tool",title:l.toolName,body:Co(l.toolName,oi.get(l.toolCallId)),panel:h,live:!0});let k=gu(l.toolName,l.partialResult);k&&me!==k.name&&ye(k),U()}}else if(l.type==="tool_execution_end"){o.percent=Lo(T);let h=r.items.find(
|
|
123
|
-
this freed almost nothing \u2014 the window may be too small for this work`:""}`:`${_}k tokens \xB7 older turns summarized`}else k="nothing to compact";h?(h.title=y,h.body=k,h.live=!1):r.items.push({id:`compact-${xt}`,kind:"note",title:y,body:k}),o.percent=Lo(T),ge("note",void 0)}else if(l.type==="message_end"&&l.message.role==="assistant"){let h=r.items.find(b=>b.id===`live-${xt}`);h&&(h.id=`done-${xt}`),xt+=1,Wn="",o.percent=Lo(T)}else if(l.type==="agent_settled"){if(o.live=!1,s(en),en="",ge("run",void 0),Iu){let h=r.items.find(b=>b.id===`live-${xt}`);h?(h.id=`stopped-${xt}`,h.title="stopped",h.body=Wn.trim()||"(no output)",h.live=!1):r.items.push({id:`stopped-${xt}`,kind:"note",title:"stopped",body:"run cancelled"}),xt+=1,Wn="",P("stopped","run cancelled by Esc"),Iu=!1}o.percent=Lo(T),VS(e.cwd).then(h=>{h!==null&&(o.git=h,U())}),c.disableSubmit=!1}else l.type==="thinking_level_changed"?o.thinking=l.level:l.type==="auto_retry_start"&&ge("note",`retry ${l.attempt}/${l.maxAttempts}`);U()},wu=T.subscribe(pd),ld=setInterval(()=>{let l=w!==void 0&&Date.now()<M;if((ri||T.isStreaming||o.settling()||r.entering()||Fn||l)&&U(),(ri||T.isStreaming)&&!fr&&!No&&Date.now()-ni>TD){No=!0;let h=$u,b=Math.round((Date.now()-ni)/1e3);ge("note",h?`${h} 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()}},kD);ld.unref?.();let dd=async l=>{Do?.(),Do=void 0,wu(),Ut&&tS(Ut,T.getSessionStats().sessionId),jo=void 0,Kt=0,T.dispose(),T=l.session,xt=0,Wn="",r.items=[],r.scrollOffset=0,l.note&&r.items.push({id:"note",kind:"note",title:"note",body:l.note}),r.items.push(...uu(T.state.messages)),o.model=l.modelLabel.split("/").at(-1)||"no-model",o.thinking=T.thinkingLevel,o.percent=Lo(T),o.abandonAnimations(),ge("tally",void 0),ge("run",void 0),c.setAutocompleteProvider(new BS(Ql(T),e.cwd)),c.disableSubmit=!1,ad(T),wu=T.subscribe(pd),U()},si=()=>{ze||(ze=!0,clearInterval(ld),wu(),T.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},fd=l=>{r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:l}),ge("tally",void 0),ei.clear(),yu.clear(),ge("run","thinking"),o.beginRun(),U(),c.disableSubmit=!1;let h=Wu(l,e.cwd);en=l,ri=!0;let b=T.isStreaming?T.prompt(h,{streamingBehavior:"steer"}):T.prompt(h);ri=!1,b.catch(y=>dn(y instanceof Error?y.message:String(y)))},ku=l=>{let h=l.trim();if(h){if(pn){let b=pn;pn=void 0,c.setText(""),b(h);return}if(c.setText(""),c.addToHistory(h),h.startsWith("!")){let b=h.slice(1).trim();if(!b)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:b}),ge("run","shell"),U(),T.executeBash(b,y=>{ge("run",`shell \xB7 ${y.length} bytes`),U()}).then(y=>{let k=y.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:y.exitCode===0?"result":"error",title:`exit ${y.exitCode??"?"}`,body:k||"(no output)"}),ge("tally",void 0),U()}).catch(y=>dn(y instanceof Error?y.message:String(y)));return}if(h.startsWith("/")){fP(h);return}fd(h)}};c.onSubmit=ku;let Tu=0,
|
|
124
|
-
`)}catch{return`could not write ${b}; the models were not added`}let K=!1;try{await T.modelRuntime.refresh(),K=!0}catch{K=!1}let jt=
|
|
125
|
-
`)),U();return}if(!Nu(l)){P("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}ge("note",`connecting to howtofix.id (${ui(l)})`),U();let h=await Ku(l);if(!h.ok){ge("note",void 0),P("connect",h.message),U();return}await T.modelRuntime.setRuntimeApiKey("howtofix",l);let b=await dP("howtofix",h.models),y=!!T.model&&T.model?.provider!==void 0&&o.model!=="unknown",k,_;if(!y)try{let x=(await T.modelRuntime.getAvailable()).filter(K=>qo(K.provider)),
|
|
122
|
+
`);b?b.body=y:r.items.push({id:h,kind:"note",title:"thinking",body:y})}else if(l.type==="message_update"&&l.assistantMessageEvent.type==="thinking_end"){let h=`think-${xt}`,b=r.items.find(y=>y.id===h);if(b){let y=Math.max(1,Math.round((Date.now()-cd)/1e3));b.title="thought",b.body=`${y}s \xB7 ${Br.length} chars of reasoning`}Br=""}else if(l.type==="message_update"&&l.assistantMessageEvent.type==="text_delta"){fr=!0,Wn+=l.assistantMessageEvent.delta;let h=`live-${xt}`,b=r.items.find(y=>y.id===h);b?b.body=Wn:r.items.push({id:h,kind:"assistant",title:"HowToFix",body:Wn})}else if(l.type==="tool_execution_start"){oi.set(l.toolCallId,l.args),fr=!1,No=!1,ni=Date.now();let h=`tool-${l.toolCallId}`,b=Co(l.toolName,l.args),y=r.items.find(k=>k.id===h);if(y?(y.kind="tool",y.title=l.toolName,y.body=b,y.live=!0):r.items.push({id:h,kind:"tool",title:l.toolName,body:b,live:!0}),$u=l.toolName,l.toolName==="task"){let k=Zt.filter(_=>_.status==="queued"||_.status==="running");ge("note",k.map(_=>`${_.agent} ${_.status}`).join(" | ")||"agent running")}}else if(l.type==="tool_execution_update"){let h=nP(l.toolName,l.partialResult);if(h){let b=`tool-${l.toolCallId}`,y=r.items.find(_=>_.id===b);y?y.panel=h:r.items.push({id:b,kind:"tool",title:l.toolName,body:Co(l.toolName,oi.get(l.toolCallId)),panel:h,live:!0});let k=gu(l.toolName,l.partialResult);k&&me!==k.name&&ye(k),U()}}else if(l.type==="tool_execution_end"){o.percent=Lo(T);let h=r.items.find(E=>E.id===`tool-${l.toolCallId}`);h&&(h.live=!1,h.body=Co(l.toolName,oi.get(l.toolCallId))),oi.delete(l.toolCallId),$u=void 0,fr=!0,No=!1,ei.set(l.toolName,(ei.get(l.toolName)??0)+1),l.isError&&yu.add(l.toolName),uP();let b=iS(l.toolName,l.result),y=aS(l.toolName,l.result),k=gu(l.toolName,l.result),_=k?Qs(k):void 0;k&&me!==k.name&&ye(k);let x=r.items.find(E=>E.id===`tool-${l.toolCallId}`),O=au(l.toolName,l.result,l.isError);x?(x.kind="result",x.call=x.body,x.body=O,x.live=!1,b.length>0&&(x.detail=b),y.length>0&&(x.full=y),_&&(x.panel=_)):r.items.push({id:`tool-${l.toolCallId}`,kind:"result",title:l.toolName,body:O,...b.length>0?{detail:b}:{},...y.length>0?{full:y}:{},..._?{panel:_}:{}}),(l.toolName==="bash"||l.toolName==="powershell"||l.toolName==="edit"||l.toolName==="write")&&a()}else if(l.type==="compaction_start"){fr=!0;let h=l.reason==="manual"?"on request":"context is nearly full",b=r.items.find(_=>_.id===`compact-${xt}`),y="compacting context",k=`${h} \xB7 summarizing the older turns`;b?(b.title=y,b.body=k):r.items.push({id:`compact-${xt}`,kind:"note",title:y,body:k,live:!0}),ge("note","compacting context")}else if(l.type==="compaction_end"){let h=r.items.find(_=>_.id===`compact-${xt}`),b=l.result,y="compacted",k;if(l.aborted)k="cancelled";else if(l.errorMessage)k=`failed: ${l.errorMessage}`;else if(b){let _=Math.round(b.tokensBefore/1e3),x=b.estimatedTokensAfter!==void 0?Math.round(b.estimatedTokensAfter/1e3):void 0,O=b.estimatedTokensAfter!==void 0?b.tokensBefore-b.estimatedTokensAfter:void 0,E=O!==void 0&&O<2e3;k=x!==void 0?`${_}k \u2192 ${x}k tokens \xB7 older turns summarized${E?`
|
|
123
|
+
this freed almost nothing \u2014 the window may be too small for this work`:""}`:`${_}k tokens \xB7 older turns summarized`}else k="nothing to compact";h?(h.title=y,h.body=k,h.live=!1):r.items.push({id:`compact-${xt}`,kind:"note",title:y,body:k}),o.percent=Lo(T),ge("note",void 0)}else if(l.type==="message_end"&&l.message.role==="assistant"){let h=r.items.find(b=>b.id===`live-${xt}`);h&&(h.id=`done-${xt}`),xt+=1,Wn="",o.percent=Lo(T)}else if(l.type==="agent_settled"){if(o.live=!1,s(en),en="",ge("run",void 0),Iu){let h=r.items.find(b=>b.id===`live-${xt}`);h?(h.id=`stopped-${xt}`,h.title="stopped",h.body=Wn.trim()||"(no output)",h.live=!1):r.items.push({id:`stopped-${xt}`,kind:"note",title:"stopped",body:"run cancelled"}),xt+=1,Wn="",P("stopped","run cancelled by Esc"),Iu=!1}o.percent=Lo(T),VS(e.cwd).then(h=>{h!==null&&(o.git=h,U())}),c.disableSubmit=!1}else l.type==="thinking_level_changed"?o.thinking=l.level:l.type==="auto_retry_start"&&ge("note",`retry ${l.attempt}/${l.maxAttempts}`);U()},wu=T.subscribe(pd),ld=setInterval(()=>{let l=w!==void 0&&Date.now()<M;if((ri||T.isStreaming||o.settling()||r.entering()||Fn||l)&&U(),(ri||T.isStreaming)&&!fr&&!No&&Date.now()-ni>TD){No=!0;let h=$u,b=Math.round((Date.now()-ni)/1e3);ge("note",h?`${h} 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()}},kD);ld.unref?.();let dd=async l=>{Do?.(),Do=void 0,wu(),Ut&&tS(Ut,T.getSessionStats().sessionId),jo=void 0,Kt=0,T.dispose(),T=l.session,xt=0,Wn="",r.items=[],r.scrollOffset=0,l.note&&r.items.push({id:"note",kind:"note",title:"note",body:l.note}),r.items.push(...uu(T.state.messages)),o.model=l.modelLabel.split("/").at(-1)||"no-model",o.thinking=T.thinkingLevel,o.percent=Lo(T),o.abandonAnimations(),ge("tally",void 0),ge("run",void 0),c.setAutocompleteProvider(new BS(Ql(T),e.cwd)),c.disableSubmit=!1,ad(T),wu=T.subscribe(pd),U()},si=()=>{ze||(ze=!0,clearInterval(ld),wu(),T.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},fd=l=>{r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:l}),ge("tally",void 0),ei.clear(),yu.clear(),ge("run","thinking"),o.beginRun(),U(),c.disableSubmit=!1;let h=Wu(l,e.cwd);en=l,ri=!0;let b=T.isStreaming?T.prompt(h,{streamingBehavior:"steer"}):T.prompt(h);ri=!1,b.catch(y=>dn(y instanceof Error?y.message:String(y)))},ku=l=>{let h=l.trim();if(h){if(pn){let b=pn;pn=void 0,c.setText(""),b(h);return}if(c.setText(""),c.addToHistory(h),h.startsWith("!")){let b=h.slice(1).trim();if(!b)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:b}),ge("run","shell"),U(),T.executeBash(b,y=>{ge("run",`shell \xB7 ${y.length} bytes`),U()}).then(y=>{let k=y.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:y.exitCode===0?"result":"error",title:`exit ${y.exitCode??"?"}`,body:k||"(no output)"}),ge("tally",void 0),U()}).catch(y=>dn(y instanceof Error?y.message:String(y)));return}if(h.startsWith("/")){fP(h);return}fd(h)}};c.onSubmit=ku;let Tu=0,vu=()=>{CE().then(l=>{l.ok?c.insertTextAtCursor(l.text):P("paste",l.reason),U()}).catch(l=>{P("paste",`could not read the clipboard: ${l instanceof Error?l.message:String(l)}`),U()})},gd=l=>LE()&&l.type==="press"&&l.button==="right";n.addInputListener(l=>{if(qe){if(Mt(l,"escape"))return hu(),{consume:!0};let b=zS(),y=b.matches(l,"tui.select.up"),k=b.matches(l,"tui.select.down");if(y||k){let x=qe.getTreeList().getSelectedNode()?.entry.id,O=Ct(),E=x===void 0?-1:O.indexOf(x);if(y?E===0:E===O.length-1)return U(),{consume:!0}}return qe.handleInput(l),U(),{consume:!0}}if(ee&&R&&Mt(l,"escape"))return xe?(xe=!1,P("workflow","panel keys off \u2014 the editor has the keyboard")):j.expanded?(j.expanded=!1,P("workflow","collapsed the drill-in")):(qt(),P("workflow","panel unpinned; the run is still in the transcript")),Be(),U(),{consume:!0};if(Fn)return Fn.handleInput(l),U(),{consume:!0};if(Mt(l,"escape")){if(T.isStreaming)return Iu=!0,T.abort(),ge("note","stopping"),U(),{consume:!0};let b=Date.now();if(c.getText().length===0&&b-Tu<600)return Tu=0,nd(),{consume:!0};Tu=b;return}if(Mt(l,"ctrl+c"))return T.isStreaming?(T.abort(),ge("note","stopping"),U()):c.getText().length>0?(c.setText(""),ge("note","draft cleared \u2014 ctrl+c again quits"),U()):si(),{consume:!0};if(Mt(l,"ctrl+d")&&c.getText().length===0)return si(),{consume:!0};let h=Math.max(1,r.viewportHeight-1);if(Mt(l,"pageUp"))return r.scrollOffset+=h,U(),{consume:!0};if(Mt(l,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-h),U(),{consume:!0};if(Mt(l,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,U(),{consume:!0};if(Mt(l,"end"))return r.scrollOffset=0,U(),{consume:!0};if(Mt(l,"ctrl+v"))return vu(),{consume:!0};if(Mt(l,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),U(),{consume:!0};if(Mt(l,"ctrl+e")){let b=[...r.items].reverse().find(y=>(y.full?.length??0)>0);return b?(b.expanded=b.expanded!==!0,U(),{consume:!0}):(P("expand","nothing to expand in this transcript yet"),{consume:!0})}if(Mt(l,"ctrl+o")&&!T.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],U(),{consume:!0};if(Mt(l,NS)&&ee&&R)return xe=!xe,P("workflow",xe?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),Be(),U(),{consume:!0};if(xe&&ee&&R){let b=LS(l);if(b){let y=Mo(R,Date.now());if(b==="stop")return q?(q(),q=null,P("workflow","stopping the run \u2014 in-flight agents resolve as null")):P("workflow","the run has already finished"),{consume:!0};if(b==="save"){let k=qS(Te,Mu);return P("workflow",k.ok?`saved ${k.path}`:k.reason),U(),{consume:!0}}return Object.assign(j,jS(j,b,y)),Be(),U(),{consume:!0}}}});let Eu=l=>{let h=b=>{ge("prompt",`API key for ${b}. Paste it, then press enter.`),U();let y=pn;pn=k=>{pn=y;let _=k.trim();if(!_){ge("prompt",void 0),U();return}T.modelRuntime.setRuntimeApiKey(b,_).then(()=>P("login",`saved API key for ${b}`),x=>P("login",x instanceof Error?x.message:String(x)))}};if(l){h(l);return}T.modelRuntime.getAvailable().then(b=>{let y=[...new Set(b.map(k=>k.provider))].sort();if(y.length===0){P("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Lt("Login",y.map(k=>({value:k,label:k})),h)},b=>P("login",b instanceof Error?b.message:String(b)))},dP=async(l,h)=>{let b=WS(He,"models.json"),y,k=!1;try{y=JSON.parse(nD(b,"utf8"))}catch(Pu){if(!(Pu instanceof Error&&"code"in Pu&&Pu.code==="ENOENT"))return`could not read ${b}; the models were not added`;y={providers:{}},k=!0}(!y.providers||typeof y.providers!="object")&&(y.providers={});let _=y.providers[l];_||(_=Fu(),y.providers[l]=_,k=!0);let x=Array.isArray(_.models)?_.models:[],O=qu(x,h),E=ci(_u(x,h));_.models=E.models;try{tD(He,{recursive:!0}),Ze(b,`${JSON.stringify(y,null,2)}
|
|
124
|
+
`)}catch{return`could not write ${b}; the models were not added`}let K=!1;try{await T.modelRuntime.refresh(),K=!0}catch{K=!1}let jt=E.changed>0?`, repaired ${E.changed}`:"",yt=K?"":"; restart the CLI to see them all",Bn=k?` (created ${b})`:"";return O===0?`all ${h.length} models were already configured${jt}${Bn}${yt}`:`added ${O} model(s) to "${l}"${jt}${Bn}${yt}`},Su=l=>{(async()=>{if(!l){let x=await SS(mi);P("connect",["connect your howtofix.id account:",` 1. ${x?"the token page is opening in your browser":`open ${mi}`}`," 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 a local client can receive, so the","token is how this CLI signs in. The token is verified before it is","stored."].join(`
|
|
125
|
+
`)),U();return}if(!Nu(l)){P("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}ge("note",`connecting to howtofix.id (${ui(l)})`),U();let h=await Ku(l);if(!h.ok){ge("note",void 0),P("connect",h.message),U();return}await T.modelRuntime.setRuntimeApiKey("howtofix",l);let b=await dP("howtofix",h.models),y=!!T.model&&T.model?.provider!==void 0&&o.model!=="unknown",k,_;if(!y)try{let x=(await T.modelRuntime.getAvailable()).filter(K=>qo(K.provider)),E=QS(x.map(K=>K.id)).slice(0,4);for(let K of E){if(!(await Uu(K,l)).ok)continue;let yt=x.find(Bn=>Bn.id===K);if(yt){await T.setModel(yt),o.model=yt.id,k=`${yt.provider}/${yt.id}`;break}}k||(_=E.length>0?`none of the first ${E.length} models answered (${E[0]} did not)`:"the account lists no chat model")}catch(x){_=x instanceof Error?x.message:String(x)}ge("note",void 0),P("connect",[`connected ${ui(l)} \u2014 ${h.message}`,b,k?`using ${k} (change it with /model)`:`pick a model with /model, then send a prompt${_?` (auto-select failed: ${_})`:""}`].join(`
|
|
126
126
|
`)),U()})().catch(h=>{ge("note",void 0),P("connect",h instanceof Error?h.message:String(h)),U()})},fP=async l=>{let[h,...b]=l.slice(1).split(/\s+/),y=b.join(" ");if(h==="quit"||h==="exit"){si();return}if(h==="help"){P("help",Ql(T).map(x=>`/${x.name} ${x.description??""}`).join(`
|
|
127
|
-
`));return}if(h==="init"){let x=WS(e.cwd,"AGENTS.md");if(eD(x)&&y!=="force"){P("init",`AGENTS.md already exists at ${x}. run /init force to overwrite.`);return}Ze(x,yd),P("init",`wrote ${x}; asking the agent to fill it in`),await T.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(h==="login"){
|
|
127
|
+
`));return}if(h==="init"){let x=WS(e.cwd,"AGENTS.md");if(eD(x)&&y!=="force"){P("init",`AGENTS.md already exists at ${x}. run /init force to overwrite.`);return}Ze(x,yd),P("init",`wrote ${x}; asking the agent to fill it in`),await T.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(h==="login"){Eu(y);return}if(h==="connect"){if(y.trim()){Su(y.trim());return}Su(""),ge("prompt","paste your howtofix.id token, then press enter"),U();let x=pn;pn=O=>{pn=x,ge("prompt",void 0),Su(O.trim())};return}if(h==="logout"){let x=await T.modelRuntime.getAvailable(),O=[...new Set(x.map(E=>E.provider))].sort();if(O.length===0){P("logout","no providers are configured");return}Lt("Logout",O.map(E=>({value:E,label:E})),E=>{T.modelRuntime.logout(E).then(()=>P("logout",`logged out ${E}`),K=>P("logout",K instanceof Error?K.message:String(K)))});return}if(h==="providers"){let x=await T.modelRuntime.getAvailable(),O=[...new Set(x.map(E=>E.provider))].sort();O.sort((E,K)=>Number(qo(K))-Number(qo(E))),Lt("Providers",O.map(E=>({value:E,label:E})),E=>{let K=T.modelRuntime.getModels(E);if(K.length===0){Eu(E);return}Lt(E,K.map(jt=>({value:jt.id,label:jt.id})),jt=>{let yt=K.find(Bn=>Bn.id===jt);yt&&T.setModel(yt).then(()=>{o.model=yt.id,P("providers",`${E}/${yt.id}`)},()=>Eu(E))})});return}if(h==="name"){if(!y){P("name","usage: /name <session name>");return}T.setSessionName(y),P("name",`session name: ${y}`);return}if(h==="stats"){let x=T.getSessionStats(),O=T.getContextUsage(),E=K=>Number.isFinite(K)?String(K):"\u2014";P("stats",[`session ${x.sessionId}`,x.sessionFile?`file ${x.sessionFile}`:"not persisted",`messages ${E(x.totalMessages)} (user ${E(x.userMessages)}, assistant ${E(x.assistantMessages)}, tools ${E(x.toolCalls)})`,`tokens in ${E(x.tokens.input)} out ${E(x.tokens.output)} cache ${E(x.tokens.cacheRead)}/${E(x.tokens.cacheWrite)}`,`cost $${Number.isFinite(x.cost)?x.cost.toFixed(4):"\u2014"}`,O?`context ${O.percent===null||!Number.isFinite(O.percent)?"?":`${Math.round(O.percent)}%`} of ${O.contextWindow}`:"context unknown"].join(`
|
|
128
128
|
`));return}if(h==="diff"){let x=async yt=>{try{let{stdout:Bn}=await ed("git",yt,{cwd:e.cwd,encoding:"utf8"});return Bn.trim()}catch{return""}},O=await x(["diff","--stat"])+`
|
|
129
129
|
|
|
130
|
-
`+await x(["diff","--","."]),[
|
|
130
|
+
`+await x(["diff","--","."]),[E="",K=""]=O.split(`
|
|
131
131
|
|
|
132
|
-
`,2),jt=
|
|
132
|
+
`,2),jt=tE(K);P("diff",[E.trim(),jt].filter(Boolean).join(`
|
|
133
133
|
|
|
134
|
-
`)||"working tree clean");return}if(h==="copy"){let x=[...T.state.messages].reverse().find(K=>K.role==="assistant"),
|
|
135
|
-
`))}catch(K){P("export",`could not write ${O}: ${K instanceof Error?K.message:String(K)}`);return}P("export",`wrote ${O}`);return}if(h==="agents"){let[x="",...O]=y.split(/\s+/).filter(Boolean),
|
|
136
|
-
`):"no tools enabled");return}if(h==="rewind"){nd();return}if(h==="undo"){if(!await Zm(e.cwd)){P("undo","not a git repository");return}let x=await
|
|
137
|
-
`));return}if(h==="plan"){if(
|
|
138
|
-
plan file: ${
|
|
139
|
-
${Fm(O)}`);return}if(h==="session"){let x=T.model;P("session",x?`${x.provider}/${x.id}`:"no model");return}if(h==="skills"){P("skills",
|
|
134
|
+
`)||"working tree clean");return}if(h==="copy"){let x=[...T.state.messages].reverse().find(K=>K.role==="assistant"),E=(Array.isArray(x?.content)?x.content:[]).filter(K=>K.type==="text").map(K=>K.text).join("");if(!E){P("copy","nothing to copy");return}try{await sD(E),P("copy",`copied ${E.length} characters`)}catch(K){P("copy",K instanceof Error?K.message:String(K))}return}if(h==="export"){let x=r.items.filter(K=>K.body.trim().length>0);if(x.length===0){P("export","nothing to export yet \u2014 the transcript is empty");return}let O=oD(e.cwd,y||`howtofix-session-${Date.now()}.md`),E=[`# ${bt} session`,"",`model ${o.model}`,""];for(let K of x)E.push(`## ${K.title||K.kind}`,"",K.body,"");try{Ze(O,E.join(`
|
|
135
|
+
`))}catch(K){P("export",`could not write ${O}: ${K instanceof Error?K.message:String(K)}`);return}P("export",`wrote ${O}`);return}if(h==="agents"){let[x="",...O]=y.split(/\s+/).filter(Boolean),E=O.join(" ").trim();if(x&&E){P("agents",await Vv(x,E));return}P("agents",x?Il(x):bl());return}if(h==="new"){let x=await e.reopen({noSession:!1});await dd(x),P("new","started a new session");return}if(h==="resume"){let x=await iD.list(e.cwd);if(x.length===0){P("resume","no saved sessions for this folder");return}Lt("Resume session",x.slice(0,30).map(O=>({value:O.path,label:O.name||`${O.id.slice(0,8)} ${O.firstMessage.slice(0,40)}`,description:`${O.modified.toISOString().slice(0,16)} ${O.messageCount} messages`})),O=>{e.reopen({sessionPath:O}).then(dd,E=>dn(E instanceof Error?E.message:String(E)))});return}if(h==="model"){let x=await T.modelRuntime.getAvailable(),O=y?x.find(E=>`${E.provider}/${E.id}`===y||E.id===y):void 0;if(!y){Lt("Select model",x.map(E=>({value:`${E.provider}/${E.id}`,label:E.id,description:E.provider})),E=>{let K=x.find(jt=>`${jt.provider}/${jt.id}`===E);K&&T.setModel(K).then(()=>{o.model=K.id,P("model",`model ${E}`)})});return}if(!O){P("model",`unknown model ${y}`);return}await T.setModel(O),o.model=O.id,P("model",`model ${O.provider}/${O.id}`);return}if(h==="thinking"){if(!y){Lt("Thinking level",Zl.map(x=>({value:x,label:x})),x=>{T.setThinkingLevel(x),o.thinking=x,P("thinking",`thinking ${x}`)});return}if(!Zl.includes(y)){P("thinking",`thinking: ${Zl.join(", ")}`);return}T.setThinkingLevel(y),o.thinking=y,P("thinking",`thinking ${y}`);return}if(h==="compact"){try{await T.compact(y||void 0),P("compact","session compacted")}catch(x){P("compact",x instanceof Error?x.message:String(x))}return}if(h==="approval"){let x=O=>{Qu(O),P("approval",gi[O])};if(!y){Lt("Approval mode",Vr.map(O=>({value:O,label:O,description:gi[O]})),O=>x(O));return}if(!Vr.includes(y)){P("approval",`modes: ${Vr.join(", ")}`);return}x(y);return}if(h==="tools"){let x=T.getActiveToolNames().sort();P("tools",x.length?x.join(`
|
|
136
|
+
`):"no tools enabled");return}if(h==="rewind"){nd();return}if(h==="undo"){if(!await Zm(e.cwd)){P("undo","not a git repository");return}let x=await Qv(e.cwd);P("undo",x.ok?`undone: ${x.output}`:`undo failed: ${x.output}`),a(!0);return}if(h==="commit"){if(!Zm(e.cwd)){P("commit","not a git repository");return}if(!await Xv(e.cwd)){P("commit","nothing to commit");return}let x=y||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,O=await Zv(e.cwd,x);P("commit",O.ok?O.output:`commit failed: ${O.output}`),a(!0);return}if(h==="review"){if(!(await eE(e.cwd)).trim()){P("review","no changes to review");return}ku("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(h==="workflow"){if(y.trim()==="clear"){qt(),P("workflow","cleared the pinned workflow panel");return}if(!R){P("workflow","no workflow run in this session yet");return}let x=Mo(R,Date.now()),O=x[j.selectedPhase];P("workflow",[`panel ${ee?"pinned above the editor":"unpinned"}`,`phase ${j.selectedPhase+1}/${x.length}: ${O?.title??"(none)"}`,`filter: ${j.filter}${j.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(`
|
|
137
|
+
`));return}if(h==="plan"){if(Iv()||Km().state==="pending"){Ro(yv(Km())),P("plan","plan mode off \u2014 edits are allowed again");return}Ro(xv(Km())),P("plan",`plan mode armed \u2014 send your next prompt to start planning
|
|
138
|
+
plan file: ${bv()??"(unknown)"}`);return}if(h==="goal"){let x=y.trim();if(!x){P("goal",Fm(Dm()));return}let{goal:O,error:E}=tl(Dm(),"set",x,void 0,void 0);if(E){dn(E);return}mn(O),await T.sendCustomMessage({customType:cr,content:x,display:!1,details:O}),P("goal",`goal set
|
|
139
|
+
${Fm(O)}`);return}if(h==="session"){let x=T.model;P("session",x?`${x.provider}/${x.id}`:"no model");return}if(h==="skills"){P("skills",RS(T.resourceLoader.getSkills().skills));return}let k=AS(l,T.resourceLoader.getSkills().skills.map(x=>x.name));if(k){fd(k);return}let _=T.extensionRunner.getCommand(h??"");if(_){try{await _.handler(y,T.extensionRunner.createCommandContext())}catch(x){dn(x instanceof Error?x.message:String(x))}return}P("command",`/${h??""} is not available in this screen yet`)};Vd((l,h)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Lt(l,h.map(k=>({value:k,label:k})),y,()=>y("cancelled")),b}),process.on("SIGTERM",si),t.setTitle(`${bt} ${fn}`),$D(),n.start(),n.requestRender(!0),e.initialPrompt&&ku(e.initialPrompt),await new Promise(()=>{})}var HS,Zl,ZS,ed,lu,du,fu,yD,bD,pn,kD,TD,oP=m(()=>{_o();jE();jl();nS();Bu();cS();Gs();wS();Jl();Ks();nc();zl();ES();zs();Al();Gu();PS();Dn();OS();US();$l();Go();zu();_m();sl();GS();zn();HS={borderColor:()=>"",selectList:{selectedPrefix:e=>Q(e,D.accent),selectedText:e=>Q(e,D.text,{bold:!0}),description:e=>Q(e,D.mute),scrollInfo:e=>Q(e,D.dim),noMatch:e=>Q(e,D.mute)}},Zl=["off","minimal","low","medium","high","xhigh","max"],ZS=Symbol.for("@earendil-works/pi-tui/layout-node");ed=QF(ZF);lu=class{folder;model;git;percent=0;meter=new ou(0);activity=kS();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=rD(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=gS(this.model,this.thinking,this.folder,this.git),s=[Zs(`${hS(o,this.live?Gl():"",this.live?this.waitedMs():void 0)} ${xS(r,this.cubence)}`,t)],a=kv();a&&s.push(Zs(Q(a,D.warn),t));let c=av(Dm());c&&s.push(Zs(Q(c,D.accent),t));let p=vS(this.activity,Gl(),n),f=this.live?BE(p,{base:Ml(this.waitedMs(),D.mute,D.warn,D.bad),bright:D.text,charMs:45},n):Q(p,Ml(this.waitedMs(),D.mute,D.warn,D.bad));return s.push(Zs(f,t)),s}},du=class{constructor(t){this.draw=t}draw;render(t){return this.draw(t)}invalidate(){}},fu=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(c=>pu(c)>0),o=r.length>0?r:[""],s="\u2500".repeat(Math.max(0,t-2)),a=o.map(c=>{let p=Math.max(0,n-pu(c));return`\u2502 ${c}${" ".repeat(p)} \u2502`});return[`\u250C${s}\u2510`,...a,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},yD=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],bD=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;kD=1e3/30,TD=45e3});_o();var bd={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Id={suggest:!0,"auto-edit":!0,"full-auto":!0};function ii(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 $d(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=ii(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=ii(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=ii(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=ii(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!bd[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(bd).join(", ")}`);if(t.approval&&!Id[t.approval])throw new Error(`approval must be one of: ${Object.keys(Id).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 Au(){return`${bt} ${fn}
|
|
140
140
|
coding agent. layout is a workbench, not a chat log.
|
|
141
141
|
|
|
142
142
|
usage:
|
|
@@ -179,7 +179,7 @@ a line starting with ! runs in the project shell.
|
|
|
179
179
|
|
|
180
180
|
config and sessions live in ~/.howtofix/agent. connect your howtofix.id account
|
|
181
181
|
with /connect (it opens the token page), or /login for another provider's key.
|
|
182
|
-
`}_o();Dn();function
|
|
183
|
-
${
|
|
184
|
-
`)?
|
|
182
|
+
`}_o();Dn();function vD(){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 ED(){process.stdout.on("error",e=>{throw e.code==="EPIPE"&&process.exit(0),e})}async function SD(){ED(),Cu();let e=vD();if("error"in e){console.error(`${bt}: ${e.error}`),process.exitCode=1;return}let t=e.cwd,{repairGatewayModels:n,ensureGatewaySettings:r}=await Promise.resolve().then(()=>(Gu(),Ad)),{AGENT_DIR:o}=await Promise.resolve().then(()=>(Dn(),wd)),s=n(o);s>0&&console.error(`${bt}: repaired ${s} howtofix model(s) that the gateway would have rejected`),r(o)&&console.error(`${bt}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let a;try{a=$d(process.argv.slice(2))}catch(R){let q=R instanceof Error?R.message:String(R);console.error(`${bt}: ${q}
|
|
183
|
+
${Au()}`),process.exitCode=2;return}if(a.help){console.log(Au());return}if(a.version){console.log(`${bt} ${fn}`);return}if(a.print&&!a.prompt){console.error(`${bt}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:c}=await Promise.resolve().then(()=>(Bu(),Rd)),{isApprovalMode:p,setApprovalMode:f}=await Promise.resolve().then(()=>(Go(),Wd)),{openSession:I}=await Promise.resolve().then(()=>(ME(),OE));f(a.approval&&p(a.approval)?a.approval:"full-auto");let w=R=>I({cwd:t,model:a.model,thinking:a.thinking,continueSession:R.continueSession??!1,noSession:R.noSession??!1,sessionPath:R.sessionPath}),M=await w({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(c(a.prompt,t));let R=M.session.getLastAssistantText()??"";process.stdout.write(R.endsWith(`
|
|
184
|
+
`)?R:`${R}
|
|
185
185
|
`);let q=M.session.state.messages.at(-1);q?.role==="assistant"&&((q.stopReason==="error"||q.stopReason==="aborted"||q.errorMessage)&&(process.exitCode=1),process.exitCode===1&&q.errorMessage&&console.error(`${bt}: ${q.errorMessage}`))}finally{M.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${bt}: interactive mode needs a terminal. use --print for pipes.`),M.dispose(),process.exitCode=2;return}let{runWorkbench:j}=await Promise.resolve().then(()=>(oP(),rP));await j({cwd:t,modelLabel:M.modelLabel,session:M.session,initialPrompt:a.prompt||void 0,note:M.note,reopen:w})}SD().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${bt}: ${t}`),process.exitCode=1});
|