howtofixcli 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/main.js +82 -82
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1,45 +1,46 @@
1
1
  #!/usr/bin/env node
2
- var Vv=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 Ot=(e,t)=>{for(var n in t)Vv(e,n,{get:t[n],enumerable:!0})};var Mt,jr,El,vl,vo=m(()=>{Mt="HowToFix",jr="0.4.1",El=["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(`
2
+ var Xv=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 Mt=(e,t)=>{for(var n in t)Xv(e,n,{get:t[n],enumerable:!0})};var vt,Lr,El,vl,Eo=m(()=>{vt="HowToFix",Lr="0.4.3",El=["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(`
3
3
  `),vl=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
4
- `)});var Al={};Ot(Al,{AGENTS_STORE_DIR:()=>Fr,AGENT_DIR:()=>Ye,CUBENCE_CACHE_PATH:()=>iu,WORKFLOWS_DIR:()=>au,pinAgentDir:()=>mu});import{homedir as Jv}from"node:os";import{join as zs}from"node:path";function mu(){process.env.PI_CODING_AGENT_DIR=Ye}var Ye,Fr,iu,au,Nn=m(()=>{Ye=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||zs(Jv(),".howtofix","agent"),Fr=zs(Ye,"agents"),iu=zs(Ye,"cubence-cache.json"),au=zs(Ye,"workflows")});var Cl={};Ot(Cl,{DEFAULT_CONTEXT_WINDOW:()=>Ol,HOWTOFIX_BASE_URL:()=>Bs,HOWTOFIX_CONSOLE_URL:()=>Hs,HOWTOFIX_MODEL_COMPAT:()=>cu,HOWTOFIX_PROVIDERS:()=>uu,applyCompat:()=>Js,checkAccount:()=>xu,countNewModels:()=>fu,isHowtofixProvider:()=>So,looksLikeToken:()=>lu,maskToken:()=>Vs,mergeModels:()=>du,newProviderEntry:()=>pu,parseModelIds:()=>Ml,probeModel:()=>gu,repairGatewayModels:()=>Qv});import{readFileSync as Yv,writeFileSync as Xv}from"node:fs";import{join as Zv}from"node:path";function pu(){return{baseUrl:Bs,api:"openai-completions"}}function Qv(e){let t=Zv(e,"models.json"),n;try{n=JSON.parse(Yv(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of uu){let a=r[s];if(!a||!Array.isArray(a.models))continue;let p=Js(a.models);p.changed!==0&&(a.models=p.models,o+=p.changed)}if(o===0)return 0;try{Xv(t,`${JSON.stringify(n,null,2)}
5
- `)}catch{return 0}return o}function Vs(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function lu(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function Ml(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 So(e){return uu.includes(e)}function du(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:Ol,compat:{...cu}}));return r}function Js(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...cu}})),changed:t}}function fu(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function gu(e,t,n){let r=(n?.baseUrl??Bs).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,p=setTimeout(()=>a.abort(),s);try{let c=await o(`${r}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:a.signal});if(c.ok)return{ok:!0,detail:"ok"};let g=await c.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(g)?.[1]??`HTTP ${c.status}`}}catch(c){return{ok:!1,detail:c instanceof Error&&c.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(p)}}async function xu(e,t){let n=(t?.baseUrl??Bs).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,models:[],message:"no token given"};let a=new AbortController,p=setTimeout(()=>a.abort(),o);try{let c=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(c.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(c.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!c.ok)return{ok:!1,models:[],message:`the gateway answered ${c.status}`};let g=Ml(await c.json());return g.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:g,message:`${g.length} models available to this token`}}catch(c){let g=c instanceof Error&&c.name==="AbortError";return{ok:!1,models:[],message:g?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(p)}}var Bs,Hs,uu,cu,Ol,hu=m(()=>{Bs="https://api.howtofix.id/v1",Hs="https://howtofix.id/console/token",uu=["howtofix","howtofix-free"];cu={supportsDeveloperRole:!1},Ol=128e3});var Ll={};Ot(Ll,{expandFileReferences:()=>yu});import{readFileSync as eS,statSync as tS}from"node:fs";import{isAbsolute as nS,resolve as rS}from"node:path";function yu(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),a=o.slice(s.length),p=nS(s)?s:rS(t,s);try{let c=tS(p);if(!c.isFile()||c.size===0||c.size>oS)return n;let g=eS(p);return g.includes(0)?n:`${r}<file name="${p}">
6
- ${g.toString("utf8").trimEnd()}
7
- </file>${a}`}catch{return n}})}var oS,Iu=m(()=>{oS=64*1024});function iS(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 jl(e,t){if(sS.has(e))return;let n=`${e}\0${iS(t)}`,r=Po&&Po.signature===n?Po.count+1:1;return Po={signature:n,count:r},r>=3?{repeats:r}:void 0}function Fl(){Po=void 0}function Dl(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 sS,Po,bu=m(()=>{sS=new Set(["think"])});function Nl(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function mS(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(aS.test(o)){let s=o.includes("="),[a="",...p]=o.split("="),c=n.safeFlags[a];if(!c)return!1;if(c==="none"){if(s)return!1;r++;continue}if(c==="optional"){r++;continue}if(s){if(!Nl(p.join("="),c))return!1;r++;continue}let g=e[r+1];if(g===void 0||!Nl(g,c))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function fS(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function gS(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function xS(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 hS(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"&&_l[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:Ul[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function IS(e){let t=xS(e),n=hS(t);if(!n)return!1;let{name:r,rest:o}=n;if(yS.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let s=_l[r]??lS[r]??Ul[r];return s?s.dangerous?.(o)?!1:mS(o,0,s):!!(cS.includes(r)||dS.includes(r))}function Qs(e){let t=fS(e);return!t||t.length===0||gS(t)?!1:t.every(IS)}var aS,uS,Ys,Xs,$u,Zs,wu,ql,pS,_l,cS,lS,Ul,dS,yS,ku=m(()=>{aS=/^-[a-zA-Z0-9_-]/;uS={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},Ys={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},Xs={"--max-count":"number","-n":"number"},$u={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},Zs={"--color":"none","--no-color":"none"},wu={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},ql={"--author":"string","--committer":"string","--grep":"string"},pS={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},_l={"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",...Zs}},"git diff":{safeFlags:{...$u,...Zs,...wu,"--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:{...Ys,...Xs,...$u,...Zs,...wu,...ql,...uS,"--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:{...$u,...Zs,...wu,...Ys,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...Xs,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...Xs,...Ys,...ql,"--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:{...Xs,"--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:{...Ys}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...pS,"--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"}}},cS=["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"],lS={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))}},Ul={"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:{}}},dS=["cd","alias","history","arch","ip addr","ifconfig"];yS=new Set(["echo","printf"])});var Jl={};Ot(Jl,{APPROVAL_LABELS:()=>ei,APPROVAL_MODES:()=>Dr,MODE_MAX_TIER:()=>Gl,TIER_RANK:()=>Tu,createPermissionExtension:()=>Pu,criticalCommand:()=>Wl,decideToolCall:()=>Bl,describeToolCall:()=>Hl,formatApprovalPrompt:()=>Vl,getApprovalMode:()=>kS,isApprovalMode:()=>bS,isReadOnlyCommand:()=>Qs,resolveTier:()=>Kl,setApprovalMode:()=>vu,setApprovalPrompt:()=>Su});function bS(e){return Dr.includes(e)}function Kl(e){let t=$S[e];return t||(e.startsWith("mcp__")?"write":"exec")}function Wl(e){for(let{pattern:t,reason:n}of wS)if(t.test(e))return n}function vu(e){Eu=e}function kS(){return Eu}function Su(e){zl=e}function Bl(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=Wl(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(Qs(r))return{action:"run"}}let o=Kl(t);return Tu[o]<=Tu[Gl[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function Hl(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 Vl(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=Hl(e,t);return o!==e&&r.push(o),r.join(`
8
- `)}function Pu(){return e=>{e.on("tool_call",async t=>{let n=jl(t.toolName,t.input);if(n)return{block:!0,reason:Dl(t.toolName,n.repeats)};let r=Eu,o=Bl(r,t.toolName,t.input);if(o.action==="run")return;if(o.action==="deny")return{block:!0,reason:o.reason};if(!await zl(`${t.toolName} wants to run`,Vl(t.toolName,t.input,o.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${r}).`}})}}var Dr,ei,Tu,Gl,$S,wS,Eu,zl,ti=m(()=>{bu();ku();ku();Dr=["suggest","auto-edit","full-auto"],ei={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Tu={read:0,write:1,exec:2},Gl={suggest:"read","auto-edit":"write","full-auto":"exec"},$S={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};wS=[{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"}];Eu="auto-edit",zl=async()=>!1});function TS(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 vS(e){if(!e)return;let t=!1,n={...e};for(let r of ES){let o=n[r];if(typeof o!="string")continue;let s=TS(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function Yl(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=vS(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var ES,Xl=m(()=>{ES=["preamble","rules","docs","addendum"]});import{Type as Nr}from"@earendil-works/pi-ai";import{defineTool as Zl}from"@earendil-works/pi-coding-agent";function Ql(e){Ru=e}var Ru,ed,td,Au=m(()=>{ed=Zl({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:Nr.Object({thoughts:Nr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),td=Zl({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:Nr.Object({question:Nr.String(),options:Nr.Array(Nr.String(),{minItems:2})}),async execute(e,t){if(!Ru)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await Ru(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var Yt,ar=m(()=>{Yt={assign:0,create:0,clone:0,discard:0,update:0}});function mr(e,t,n){return e>=t&&e<=n}function od(e){return e===8205}function SS(e){return mr(e,55296,56319)}function nd(e){return mr(e,127462,127487)}function sd(e){return mr(e,65024,65039)}function id(e){return mr(e,768,879)||mr(e,6832,6911)||mr(e,7616,7679)||mr(e,65056,65071)}function ni(e){return e>65535?2:1}function rd(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(id(n)||sd(n))t+=ni(n);else break}return t}function Ou(e,t){let n=e.codePointAt(t),r=t+ni(n);for(r=rd(e,r);r<e.length-1&&od(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+ni(o),r=rd(e,r)}return nd(n)&&r<e.length&&nd(e.codePointAt(r))&&(r+=ni(e.codePointAt(r))),r}function ad(e){return e>=768&&(SS(e)||id(e)||sd(e)||od(e))}function md(e){let t=0,n=0;for(;n<e.length;)n=Ou(e,n),t++;return t}function PS(e,t){let n=0,r=0;for(;r<e.length;)if(r=Ou(e,r),++n>=t)return!0;return!1}function RS(e,t){let n=0,r=0;for(;r<e.length;)if(r=Ou(e,r),++n>t)return!1;return!0}function ud(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(ad(e.charCodeAt(n)))return PS(e,t);if(++n>=t)return!0}}function pd(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(ad(e.charCodeAt(n)))return RS(e,t);if(++n>t)return!1}}var cd=m(()=>{});var u={};Ot(u,{Counted:()=>zS,Entries:()=>VS,EntriesRegExp:()=>HS,Every:()=>US,EveryAll:()=>GS,GraphemeCount:()=>NS,HasPropertyKey:()=>BS,IsArray:()=>Ao,IsBigInt:()=>Ro,IsBoolean:()=>ld,IsClassInstance:()=>DS,IsConstructor:()=>OS,IsDeepEqual:()=>Lu,IsEqual:()=>te,IsFunction:()=>dd,IsGreaterEqualThan:()=>gd,IsGreaterThan:()=>LS,IsInteger:()=>Mu,IsLessEqualThan:()=>fd,IsLessThan:()=>jS,IsMaxLength:()=>qS,IsMinLength:()=>_S,IsMultipleOf:()=>FS,IsNull:()=>oi,IsNumber:()=>si,IsObject:()=>Oo,IsObjectNotArray:()=>MS,IsString:()=>ii,IsSymbol:()=>CS,IsUndefined:()=>Cu,IsUnsafePropertyKey:()=>hd,IsValueLike:()=>xd,Keys:()=>ri,ShiftLeft:()=>ai,Some:()=>KS,SomeAll:()=>WS,Symbols:()=>JS,Values:()=>YS});function Ao(e){return Array.isArray(e)}function Ro(e){return te(typeof e,"bigint")}function ld(e){return te(typeof e,"boolean")}function OS(e){if(Cu(e)||!dd(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function dd(e){return te(typeof e,"function")}function Mu(e){return Number.isInteger(e)}function oi(e){return te(e,null)}function si(e){return Number.isFinite(e)}function MS(e){return Oo(e)&&!Ao(e)}function Oo(e){return te(typeof e,"object")&&!oi(e)}function ii(e){return te(typeof e,"string")}function CS(e){return te(typeof e,"symbol")}function Cu(e){return te(e,void 0)}function te(e,t){return e===t}function LS(e,t){return e>t}function jS(e,t){return e<t}function fd(e,t){return e<=t}function gd(e,t){return e>=t}function FS(e,t){if(Ro(e)||Ro(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!si(e)||Mu(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 DS(e){if(!Oo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return oi(t)?!1:te(typeof t.constructor,"function")&&!(te(t.constructor,globalThis.Object)||te(t.constructor.name,"Object"))}function xd(e){return Ro(e)||ld(e)||oi(e)||si(e)||ii(e)||Cu(e)}function NS(e){return md(e)}function qS(e,t){return pd(e,t)}function _S(e,t){return ud(e,t)}function US(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function GS(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function KS(e,t){return e.some((n,r)=>t(n,r))}function WS(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function zS(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function ai(e,t,n){return te(e.length,0)?n():t(e[0],e.slice(1))}function hd(e){return te(e,"__proto__")||te(e,"constructor")||te(e,"prototype")}function BS(e,t){return hd(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function HS(e){return ri(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function VS(e){return Object.entries(e)}function ri(e){return Object.getOwnPropertyNames(e)}function JS(e){return Object.getOwnPropertySymbols(e)}function YS(e){return Object.values(e)}function XS(e,t){if(!Oo(t))return!1;let n=ri(e);return te(n.length,ri(t).length)&&n.every(r=>Lu(e[r],t[r]))}function ZS(e,t){return Ao(t)&&te(e.length,t.length)&&e.every((n,r)=>Lu(e[r],t[r]))}function Lu(e,t){return Ao(e)?ZS(e,t):Oo(e)?XS(e,t):te(e,t)}var qr=m(()=>{cd()});var yd=m(()=>{qr()});var qn={};Ot(qn,{IsBigInt64Array:()=>dP,IsBigUint64Array:()=>fP,IsBoolean:()=>eP,IsDate:()=>xP,IsFloat32Array:()=>cP,IsFloat64Array:()=>lP,IsInt16Array:()=>aP,IsInt32Array:()=>uP,IsInt8Array:()=>oP,IsMap:()=>yP,IsNumber:()=>tP,IsRegExp:()=>gP,IsSet:()=>hP,IsString:()=>nP,IsTypeArray:()=>rP,IsUint16Array:()=>mP,IsUint32Array:()=>pP,IsUint8Array:()=>sP,IsUint8ClampedArray:()=>iP});function eP(e){return e instanceof Boolean}function tP(e){return e instanceof Number}function nP(e){return e instanceof String}function rP(e){return globalThis.ArrayBuffer.isView(e)}function oP(e){return e instanceof globalThis.Int8Array}function sP(e){return e instanceof globalThis.Uint8Array}function iP(e){return e instanceof globalThis.Uint8ClampedArray}function aP(e){return e instanceof globalThis.Int16Array}function mP(e){return e instanceof globalThis.Uint16Array}function uP(e){return e instanceof globalThis.Int32Array}function pP(e){return e instanceof globalThis.Uint32Array}function cP(e){return e instanceof globalThis.Float32Array}function lP(e){return e instanceof globalThis.Float64Array}function dP(e){return e instanceof globalThis.BigInt64Array}function fP(e){return e instanceof globalThis.BigUint64Array}function gP(e){return e instanceof globalThis.RegExp}function xP(e){return e instanceof globalThis.Date}function hP(e){return e instanceof globalThis.Set}function yP(e){return e instanceof globalThis.Map}var Id=m(()=>{});var bd=m(()=>{qr()});var P=m(()=>{yd();Id();bd();qr();qr()});var Xt={};Ot(Xt,{Get:()=>wP,Reset:()=>bP,Set:()=>$P});function bP(){un.immutableTypes=!1,un.maxErrors=8,un.maxInstantiationCount=128,un.useAcceleration=!0,un.exactOptionalPropertyTypes=!1,un.enumerableKind=!1,un.correctiveParse=!1,un.unionPrioritySort=!0}function $P(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(un,t,{value:n})}}function wP(){return un}var un,$d=m(()=>{P();un={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var ur=m(()=>{$d()});function _n(e){return Xt.Get().immutableTypes?Object.freeze(e):e}var Mo=m(()=>{ur()});function kP(e,t){return Yt.assign+=1,_n({...e,...t})}var wd=m(()=>{ar();Mo()});function TP(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function EP(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=pr(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function vP(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=pr(e[n]));for(let n of u.Symbols(e))t[n]=pr(e[n]);return t}function SP(e){return u.IsClassInstance(e)?e:TP(e)?EP(e):vP(e)}function PP(e){return e.map(t=>pr(t))}function RP(e){return e.slice()}function AP(e){return new RegExp(e.source,e.flags)}function OP(e){return new Map(pr([...e.entries()]))}function MP(e){return new Set(pr([...e.values()]))}function pr(e){return qn.IsTypeArray(e)?RP(e):qn.IsRegExp(e)?AP(e):qn.IsMap(e)?OP(e):qn.IsSet(e)?MP(e):u.IsArray(e)?PP(e):u.IsObject(e)?SP(e):e}function Co(e){return Yt.clone+=1,pr(e)}var mi=m(()=>{P();ar()});function CP(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 kd(e,t){return{...e,...t}}function LP(e,t,n={}){Yt.create+=1;let r=kd(t,n),o=Xt.Get().enumerableKind?kd(r,e):CP(r,e);return _n(o)}var Td=m(()=>{ur();ar();Mo()});function jP(e,t){Yt.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Co(o.value),Object.defineProperty(n,r,o)}return _n(n)}var Ed=m(()=>{P();ar();Mo();mi()});function FP(e,t,n){Yt.update+=1;let r=Xt.Get(),o=Co(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 _n(o)}var vd=m(()=>{ur();ar();Mo();mi()});var l={};Ot(l,{Assign:()=>kP,Clone:()=>Co,Create:()=>LP,Discard:()=>jP,Metrics:()=>Yt,Update:()=>FP});var Sd=m(()=>{wd();mi();Td();Ed();ar();vd()});var E=m(()=>{Sd()});function R(e,t){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],t)}function Ce(e){return u.IsObject(e)}var W=m(()=>{P()});function C(e,t,n){return l.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Un(e){return R(e,"Deferred")}var se=m(()=>{E();W()});function DP(e){return l.Update(e,{"~readonly":!0},{})}function Lo(e,t){return l.Update(DP(e),{},t)}function Pd(e,t,n,r){let o=$(e,t,n);return Lo(o,r)}var ui=m(()=>{E();j()});function NP(e){return l.Update(e,{"~optional":!0},{})}function jo(e,t){return l.Update(NP(e),{},t)}function Rd(e,t,n,r){let o=$(e,t,n);return jo(o,r)}var pi=m(()=>{E();j()});function Ct(e,t){return l.Create({"~kind":"Array"},{type:"array",items:e},t)}function be(e){return R(e,"Array")}function ci(e){return l.Discard(e,["~kind","type","items"])}var ut=m(()=>{E();W()});function pn(e,t,n={}){return l.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function Ne(e){return R(e,"Constructor")}function Ad(e){return l.Discard(e,["~kind","type","parameters","instanceType"])}var Dt=m(()=>{E();W()});function cn(e,t,n={}){return l.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function qe(e){return R(e,"Function")}function Od(e){return l.Discard(e,["~kind","type","parameters","returnType"])}var Nt=m(()=>{E();W()});function On(e,t){return l.Create({"~kind":"Ref"},{$ref:e},t)}function _e(e){return R(e,"Ref")}var qt=m(()=>{E();W()});function Gn(e,t){return l.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function _r(e){return R(e,"Generic")}var Fo=m(()=>{E();W()});function Ur(e){return l.Create({"~kind":"Any"},{},e)}function we(e){return R(e,"Any")}var xt=m(()=>{E();W()});function le(e){return l.Create({"~kind":"Never"},{not:{}},e)}function Zt(e){return R(e,"Never")}var Md,Ke=m(()=>{E();W();Md="(?!)"});function ln(e,t={}){return C("AddOptional",[e],t)}function cr(e,t={}){return jo(e,t)}var Do=m(()=>{se();pi()});function Cd(e){return cr(e)}function nt(e){return Ce(e)&&u.HasPropertyKey(e,"~optional")}var Kn=m(()=>{P();W();Do()});function Ld(e){return u.Keys(e).filter(t=>!nt(e[t]))}function li(e){return u.Keys(e)}function di(e){return u.Values(e)}var lr=m(()=>{P();Kn()});function q(e,t={}){let n=Ld(e),r=n.length>0?{required:n}:{};return l.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function ae(e){return R(e,"Object")}function jd(e){return l.Discard(e,["~kind","type","properties","required"])}var pe=m(()=>{E();W();lr()});function We(e){return l.Create({"~kind":"Unknown"},{},e)}function Se(e){return R(e,"Unknown")}var Xe=m(()=>{E();W()});function dn(e,t,n){let r=u.Keys(e).reduce((o,s)=>({...o,[s]:l.Update(e[s],{},{$id:s})}),{});return l.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function Ze(e){return R(e,"Cyclic")}var ht=m(()=>{P();E();W()});function Fd(e){return l.Update(e,{"~unsafe":null},{})}function fi(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var gi=m(()=>{P();E()});var fn={};Ot(fn,{Match:()=>qP});function qP(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var Dd=m(()=>{});var Gr=m(()=>{Dd()});function No(...e){let[t,n]=fn.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,We(),We()]});return l.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Pe(e){return R(e,"Infer")}var _t=m(()=>{Gr();E();W();Xe()});function dr(e,t,n,r={}){return l.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function Te(e){return R(e,"Dependent")}function Nd(e){return l.Discard(e,["~kind","if","then","else"])}var St=m(()=>{E();W()});function qd(e){return u.IsObjectNotArray(e)}function _d(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var xi=m(()=>{P()});function Ud(e){return u.IsString(e)||u.IsNumber(e)}function Gd(e,t){let n=qd(e)?_d(e):e;return l.Create({"~kind":"Enum"},{enum:n},t)}function Qe(e){return R(e,"Enum")}var Qt=m(()=>{P();E();W();xi();xi()});function yt(e,t={}){return l.Create({"~kind":"Intersect"},{allOf:e},t)}function X(e){return R(e,"Intersect")}function Kd(e){return l.Discard(e,["~kind","allOf"])}var Le=m(()=>{E();W()});var Wd=m(()=>{ur();P()});var zd=m(()=>{Wd()});var Bd=m(()=>{zd()});function je(){throw new Error("Unreachable")}var ju=m(()=>{});var gn=m(()=>{ju()});var Hd,pN,cN,lN,dN,Vd,fN,gN,xN,Jd=m(()=>{gn();P();(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"})(Hd||(Hd={}));pN=BigInt("14695981039346656037"),[cN,lN]=[BigInt("1099511628211"),BigInt("18446744073709551616")],dN=Array.from({length:256}).map((e,t)=>BigInt(t)),Vd=new Float64Array(1),fN=new DataView(Vd.buffer),gN=new Uint8Array(Vd.buffer),xN=new TextEncoder});var Yd=m(()=>{Jd()});var Fu=m(()=>{});var Xd=m(()=>{Fu()});var Zd=m(()=>{});var Qd=m(()=>{});var ef=m(()=>{});var tf=m(()=>{});var nf=m(()=>{});var rf=m(()=>{});var of=m(()=>{});var sf=m(()=>{});var af=m(()=>{});var mf=m(()=>{});var uf=m(()=>{});var Du=m(()=>{});var pf=m(()=>{});var cf=m(()=>{});var lf=m(()=>{});var df=m(()=>{});var ff=m(()=>{});var gf=m(()=>{});var xf=m(()=>{});var hf=m(()=>{});var yf=m(()=>{});var If=m(()=>{});var bf=m(()=>{});var $f=m(()=>{});var wf=m(()=>{});var kf=m(()=>{});var Tf=m(()=>{});var Ef=m(()=>{});var vf=m(()=>{});var Sf=m(()=>{});var Pf=m(()=>{});var Rf=m(()=>{});var Af=m(()=>{});var Of=m(()=>{});var Mf=m(()=>{});var Cf=m(()=>{});var Lf=m(()=>{});var jf=m(()=>{Xd();Zd();Qd();ef();tf();nf();Fu();rf();of();sf();af();mf();uf();Du();Du();pf();cf();lf();df();ff();gf();xf();hf();yf();If();bf();$f();wf();kf();Tf();Ef();vf();Sf();Pf();Rf();Af();Of();Mf();Cf();Lf()});var Ff=m(()=>{jf()});var qo=m(()=>{Gr();Bd();Yd();Ff();E();ur()});var Nf=m(()=>{qo();qo();qo()});function yi(e){return new Uo(e)}function qf(e,t){return yi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function _f(e,t){return yi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function hi(e){return Ce(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var _o,Uo,Nu=m(()=>{Nf();P();W();_o=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=hi(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=hi(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return l.Update(this.type,{"~codec":s},{})}},Uo=class{constructor(t){this.type=t}Decode(t){return new _o(this.type,t)}}});function Uf(e){return Kr(e)}function fr(e){return Ce(e)&&u.HasPropertyKey(e,"~immutable")}var Go=m(()=>{P();W();Ko()});function xn(e,t={}){return C("AddReadonly",[e],t)}function gr(e,t={}){return Lo(e,t)}var Wo=m(()=>{se();ui()});function Gf(e){return gr(e)}function xr(e){return Ce(e)&&u.HasPropertyKey(e,"~readonly")}var zo=m(()=>{P();W();Wo()});function KP(e,t){let n=qu(e)?[...e["~refine"],t]:[t];return l.Update(e,{"~refine":n},{})}function Kf(...e){let[t,n,r]=fn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return KP(t,{check:n,error:r})}function WP(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function qu(e){return Ce(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>WP(t))}var _u=m(()=>{Gr();E();P();W()});function Bo(e){return l.Create({"~kind":"BigInt"},{type:"bigint"},e)}function hn(e){return R(e,"BigInt")}var Wf,hr=m(()=>{E();W();Wf="-?(?:0|[1-9][0-9]*)n"});function Ii(e){return l.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Ut(e){return R(e,"Boolean")}var Wn=m(()=>{E();W()});function Ho(e){return l.Create({"~kind":"Identifier"},{name:e})}function zf(e){return R(e,"Identifier")}var Uu=m(()=>{E();W()});function yr(e){return l.Create({"~kind":"Integer"},{type:"integer"},e)}function pt(e){return R(e,"Integer")}var bi,yn=m(()=>{E();W();bi="-?(?:0|[1-9][0-9]*)"});function zP(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new Gu(e)})()}function Z(e,t){return l.Create({"~kind":"Literal"},{type:zP(e),const:e},t)}function $i(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function Bf(e){return me(e)&&u.IsNumber(e.const)}function Hf(e){return me(e)&&u.IsString(e.const)}function me(e){return R(e,"Literal")}var Gu,Ae=m(()=>{E();P();W();Gu=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function Wr(e){return l.Create({"~kind":"Null"},{type:"null"},e)}function zr(e){return R(e,"Null")}var Br=m(()=>{E();W()});function Pt(e){return l.Create({"~kind":"Number"},{type:"number"},e)}function Oe(e){return R(e,"Number")}var wi,ct=m(()=>{E();W();wi="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function Hr(e){return l.Create({"~kind":"Symbol"},{type:"symbol"},e)}function zn(e){return R(e,"Symbol")}var Ir=m(()=>{E();W()});function br(...e){let[t,n,r]=fn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,We(),We()]});return l.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function Vf(e){return R(e,"Parameter")}var Ku=m(()=>{Gr();E();W();Xe()});function Gt(e){return l.Create({"~kind":"String"},{type:"string"},e)}function lt(e){return R(e,"String")}var ki,Kt=m(()=>{E();W();ki=".*"});function B(e,t={}){return l.Create({"~kind":"Union"},{anyOf:e},t)}function M(e){return R(e,"Union")}function Jf(e){return l.Discard(e,["~kind","anyOf"])}var V=m(()=>{E();W()});function Vo(e){let t=Yf(e);return u.IsEqual(t.length,2)?t[0]:[]}var Jo=m(()=>{P();Ti()});function BP(e){return!0}function Xf(e){return u.ShiftLeft(e,(t,n)=>HP(t)?Xf(n):!1,()=>!0)}function Zf(e){return u.IsEqual(e.length,0)?!1:Xf(e)}function HP(e){return M(e)?Zf(e.anyOf):me(e)?BP(e.const):!1}function Ei(e){return Zf(e)}var vi=m(()=>{P();Ae();V()});function Si(e){return l.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Pi=m(()=>{E()});function Qf(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Qf(o,t,[...n,`${r}${t}`]),()=>n)}function VP(e,t){return u.IsEqual(e.length,0)?[`${t}`]:Qf(e,t)}function eg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>eg(e,o,[...n,...tg(e,r)]),()=>n)}function tg(e,t){return M(t)?eg(e,t.anyOf):me(t)?VP(e,t.const):je()}function ng(e,t){return u.ShiftLeft(t,(n,r)=>ng(tg(e,n),r),()=>e)}function JP(e){return e.map(t=>Z(t))}function YP(e){let t=ng([],e),n=JP(t);return B(n)}function XP(e){return u.IsEqual(e.length,0)?je():u.IsEqual(e.length,1)&&me(e[0])?e[0]:YP(e)}function Wu(e){let t=Vo(e);return u.IsEqual(t.length,0)?Gt():Ei(t)?XP(t):Si(e)}function rg(e){let t=Wu(e);return Ee(t)?Gt():t}var Ri=m(()=>{P();gn();Ae();Kt();It();V();Jo();vi();Pi()});function bt(e,t){let n="object",r={[e]:t};return l.Create({"~kind":"Record"},{type:n,patternProperties:r})}var Bn=m(()=>{E()});function og(e){return bt(en,e)}var sg=m(()=>{ze();Bn()});function ig(e){return q({true:e,false:e})}var ag=m(()=>{pe()});function Me(e,t={}){let[n,r,o]=[e,e.length,!1];return l.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function fe(e){return R(e,"Tuple")}function mg(e){return l.Discard(e,["~kind","type","items","minItems","additionalItems"])}var Fe=m(()=>{E();W()});function ZP(e){return l.Discard(e,["~readonly"])}function zu(e,t){return l.Update(ZP(e),{},t)}function ug(e,t,n,r){let o=$(e,t,n);return zu(o,r)}var Bu=m(()=>{E();j()});function pg(e,t={}){return C("RemoveReadonly",[e],t)}function cg(e,t={}){return zu(e,t)}var Hu=m(()=>{se();Bu()});function QP(e){return l.Discard(e,["~optional"])}function Vu(e,t){return l.Update(QP(e),{},t)}function lg(e,t,n,r){let o=$(e,t,n);return Vu(o,r)}var Ju=m(()=>{E();j()});function dg(e,t={}){return C("RemoveOptional",[e],t)}function Ai(e,t={}){return Vu(e,t)}var Oi=m(()=>{se();Ju()});function Yu(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function fg(e){let t=Yu(e.items);return q(t)}var Xu=m(()=>{pe()});function Zu(e){return ae(e)||fe(e)}function eR(e,t){return xr(e)?!!xr(t):!1}function tR(e,t){return nt(e)?!!nt(t):!1}function nR(e,t){let n=eR(e,t),r=tR(e,t),o=$e([e,t]),s=cg(Ai(o));return n&&r?gr(cr(s)):n&&!r?gr(s):!n&&r?cr(s):s}function rR(e,t,n){return n in e?n in t?nR(e[n],t[n]):e[n]:n in t?t[n]:le()}function oR(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:rR(e,t,s)}),{})}function gg(e){return ae(e)?e.properties:fe(e)?Yu(e.items):{}}function xg(e,t){let n=gg(e),r=gg(t),o=oR(n,r);return q(o)}var Qu=m(()=>{P();zo();Kn();pe();Ke();Fe();Wo();Do();Hu();Oi();Xu();z()});function sR(e,t){let n=Zo(e,t);return u.IsEqual(n,Xo)?e:u.IsEqual(n,Mi)||u.IsEqual(n,Yo)?t:le()}function iR(e,t){let n=Zu(e),r=Zu(t);return n&&r?xg(e,t):n&&!r?e:!n&&r?t:sR(e,t)}function hg(e,t){return Zt(e)||we(e)?e:Se(e)||Zt(t)||we(t)?t:Se(t)?e:iR(e,t)}var ep=m(()=>{P();xt();Ke();Xe();Qo();Qu()});function aR(e,t){return M(e)||M(t)}function mR(e,t){let n=Wt(e),r=Wt(t);return aR(n,r)?$e([n,r]):hg(n,r)}function yg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>yg(e,o,[...n,mR(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function Ig(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Ig(o,t,[...n,...es([r],t)]),()=>n)}function es(e,t=[]){return u.ShiftLeft(e,(n,r)=>M(n)?es(r,Ig(n.anyOf,t)):es(r,yg(n,t)),()=>t)}var tp=m(()=>{P();V();ep();z();z()});function uR(e,t){let n=et({},e,t);return _.IsExtendsTrueLike(n)?[]:[e]}function bg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>bg(o,t,[...n,...uR(r,t)]),()=>n)}function Ci(e,t){let n=Wt(e),r=M(n)?n.anyOf:[n],o=bg(r,t);return $t(o)}var np=m(()=>{P();V();In();z();z()});function tn(e,t,n){let r=$e([e,t]),o=Ci(n,e);return $t([r,o])}function dt(e,t=[]){return u.ShiftLeft(e,(n,r)=>dt(r,[...t,Z(n)]),()=>$t(t))}function $e(e){let t=es(e),n=rp(t);return $t(n)}function rt(e){let t=rg(e);return Wt(t)}function $t(e){let t=rp(e);return Hn(t)}function Wt(e){return Te(e)?tn(e.if,e.then,e.else):Qe(e)?dt(e.enum):X(e)?$e(e.allOf):Ee(e)?rt(e.pattern):M(e)?$t(e.anyOf):e}function Hn(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?le():B(e)}var z=m(()=>{P();St();Qt();Le();Ae();Ke();It();V();tp();op();np();Ri()});function $g(e,t){let n=dt(e);return Vn(n,t)}var wg=m(()=>{ts();z()});function kg(e,t){return bt(Jn,t)}var Tg=m(()=>{ze();Bn()});function Eg(e,t){let n=$e(e);return Vn(n,t)}var vg=m(()=>{z();ts()});function Sg(e,t){return u.IsString(e)||u.IsNumber(e)?q({[e]:t}):u.IsEqual(e,!1)?q({false:t}):u.IsEqual(e,!0)?q({true:t}):q({})}var Pg=m(()=>{P();pe()});function Rg(e,t){return bt(Vr,t)}var Ag=m(()=>{ze();Bn()});function Og(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?bt(e.pattern.toString(),t):bt(en,t)}var Mg=m(()=>{P();ze();Bn()});function Cg(e,t){let n=Vo(e);return Ei(n)?Vn(rt(e),t):bt(e,t)}var Lg=m(()=>{ts();Jo();vi();z();Bn()});function pR(e){return M(e)?Jr(e.anyOf):[e]}function Jr(e,t=[]){return u.ShiftLeft(e,(n,r)=>Jr(r,[...t,...pR(n)]),()=>t)}var Li=m(()=>{P();V()});function cR(e){return e.some(t=>lt(t)||Oe(t)||pt(t))}function lR(e,t){return u.IsEqual(cR(e),!0)?bt(en,t):void 0}function dR(e,t){return e.reduce((n,r)=>me(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function fR(e,t){let n=dR(e,t);return q(n)}function jg(e,t){let n=Jr(e),r=lR(n,t);return Ce(r)?r:fR(n,t)}var Fg=m(()=>{P();W();Ae();ct();yn();pe();Kt();ze();Li();Bn()});function Vn(e,t){return we(e)?og(t):Ut(e)?ig(t):Qe(e)?$g(e.enum,t):pt(e)?kg(e,t):X(e)?Eg(e.allOf,t):me(e)?Sg(e.const,t):Oe(e)?Rg(e,t):M(e)?jg(e.anyOf,t):lt(e)?Og(e,t):Ee(e)?Cg(e.pattern,t):q({})}var ts=m(()=>{xt();Wn();Qt();Le();yn();Ae();ct();pe();Kt();It();V();sg();ag();wg();Tg();vg();Pg();Ag();Mg();Lg();Fg()});function sp(e,t,n){return K([e])?l.Update(Vn(e,t),{},n):Fi(e,t,n)}function Dg(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return sp(s,a,o)}var ji=m(()=>{E();ze();ts();j()});function Fi(e,t,n={}){return C("Record",[e,t],n)}function Di(e,t,n={}){return sp(e,t,n)}function Ng(e,t){return bt(e,t)}function Ni(e){return u.IsEqual(e,en)?Gt():u.IsEqual(e,Jn)?yr():u.IsEqual(e,Vr)?Pt():Wu(e)}function zt(e){return u.Keys(e.patternProperties)[0]}function Yr(e){let t=zt(e);return Ni(t)}function ft(e){return e.patternProperties[zt(e)]}function tt(e){return R(e,"Record")}var Jn,Vr,en,ze=m(()=>{E();P();W();yn();ct();Kt();se();Ri();Bn();ji();Jn=`^${bi}$`,Vr=`^${wi}$`,en=`^${ki}$`});function $r(e){return l.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function Yn(e){return R(e,"Rest")}var Xr=m(()=>{E();W()});var qg=m(()=>{});function qi(e){return l.Create({"~kind":"This"},{$ref:"#"},e)}function _i(e){return R(e,"This")}var Ui=m(()=>{E();W()});function Zr(e){return l.Create({"~kind":"Undefined"},{type:"undefined"},e)}function Qr(e){return R(e,"Undefined")}var eo=m(()=>{E();W()});function Gi(e){return l.Create({"~kind":"Void"},{type:"void"},e)}function bn(e){return R(e,"Void")}var wr=m(()=>{E();W()});var Ki=m(()=>{Nu();Go();Kn();zo();_u();xt();ut();hr();Wn();to();Dt();ht();se();Qt();Nt();Fo();Uu();St();_t();yn();Le();Ae();Ke();Br();ct();Xe();Ir();pe();Ku();lr();ze();qt();Xr();W();qg();Kt();Ir();It();Ui();Fe();eo();V();Xe();gi();wr()});function xR(e,t){return u.IsEqual(e,"Array")?Ct(t[0]):u.IsEqual(e,"Capitalize")?zi(t[0]):u.IsEqual(e,"ConstructorParameters")?Yi(t[0]):u.IsEqual(e,"Evaluate")?Uh(t[0]):u.IsEqual(e,"Exclude")?Xi(t[0],t[1]):u.IsEqual(e,"Extract")?Zi(t[0],t[1]):u.IsEqual(e,"Index")?ss(t[0],t[1]):u.IsEqual(e,"InstanceType")?Qi(t[0]):u.IsEqual(e,"Lowercase")?Bi(t[0]):u.IsEqual(e,"NonNullable")?ea(t[0]):u.IsEqual(e,"Omit")?ta(t[0],t[1]):u.IsEqual(e,"Parameters")?na(t[0]):u.IsEqual(e,"Partial")?ra(t[0]):u.IsEqual(e,"Pick")?oa(t[0],t[1]):u.IsEqual(e,"Readonly")?sa(t[0]):u.IsEqual(e,"KeyOf")?is(t[0]):u.IsEqual(e,"Record")?Fi(t[0],t[1]):u.IsEqual(e,"Required")?ia(t[0]):u.IsEqual(e,"ReturnType")?aa(t[0]):u.IsEqual(e,"Uncapitalize")?Hi(t[0]):u.IsEqual(e,"Uppercase")?Vi(t[0]):os(On(e),t)}function kr(){throw Error("Unreachable")}function Wg(e,t=[]){return u.ShiftLeft(e,(n,r)=>Wg(r,[...t,n[1]]),()=>t)}function Mn(e){return u.IsEqual(e.length,3)?[e[0],...Wg(e[1])]:[]}function zg(e){return br(e[0],e[2],e[4])}function Bg(e){return br(e[0],e[2],e[2])}function Hg(e){return br(e[0],We(),e[2])}function Vg(e){return br(e,We(),We())}function Jg(e){return Mn(e)}function Yg(e){return e[1]}function Xg(e){return Mn(e)}function Zg(e){return e[1]}function Qg(e){return xR(e[0],e[1])}function ex(e){return null}function tx(e){return Gt()}function nx(e){return Pt()}function rx(e){return Ii()}function ox(e){return Zr()}function sx(e){return Wr()}function ix(e){return yr()}function ax(e){return Bo()}function mx(e){return We()}function ux(e){return Ur()}function px(e){return q({})}function cx(e){return le()}function lx(e){return Hr()}function dx(e){return Gi()}function fx(e){return qi()}function gx(e){return Z(BigInt(e))}function xx(e){return Z(u.IsEqual(e,"true"))}function hx(e){return Z(parseFloat(e))}function yx(e){return Z(e)}function Ix(e){return e[1]}function bx(e){return Z(e)}function $x(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function wx(e){return e[1]}function kx(e){return Wi(e)}function Tx(e){return u.IsEqual(e.length,6)?dr(e[1],e[3],e[5]):dr(e[1],e[3],We())}function Ex(e){return e.length>0}function vx(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function Sx(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function Px(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function Rx(e){return u.IsEqual(e.length,2)?e[1]:[]}function _g(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?ss(n,o[0]):u.IsEqual(o.length,0)?Ct(n):kr()},e)}function Ug(e,t){return u.IsEqual(t.length,3)?Ji(e,t[0],t[1],t[2]):e}function hR(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:ma(e,t)}function Ax(e){let[t,n,r,o,s]=e;return hR(Ug(t?is(_g(n,r)):_g(n,r),o),s)}function ip(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=ip(r,o);if(u.IsEqual(n,"&"))return X(s)?yt([e,...s.allOf]):yt([e,s]);if(u.IsEqual(n,"|"))return M(s)?B([e,...s.anyOf]):B([e,s]);kr()})():e}function Ox(e){let[t,n]=e;return ip(t,n)}function Mx(e){let[t,n]=e;return ip(t,n)}function Cx(e){return _h(e[1])}function Lx(e){return e[1]}function jx(e){return Gn(e[0],e[2])}function Fx(e){return u.IsEqual(e.length,4)?No(e[1],e[3]):u.IsEqual(e.length,2)?No(e[1],We()):kr()}function Dx(e){return`${e}`}function Nx(e){return pt(e[3])?Jn:Oe(e[3])?Vr:zn(e[3])?en:lt(e[3])?en:kr()}function qx(e){return e.length>0}function _x(e){return e.length>0}function Ux(e){let[t,n,r,o,s]=e;return{[n]:t&&r?xn(ln(s)):t&&!r?xn(s):!t&&r?ln(s):s}}function Gx(e){return Mn(e)}function Kx(e){return e.reduce((t,n)=>u.HasPropertyKey(n,Jn)||u.HasPropertyKey(n,Vr)||u.HasPropertyKey(n,en)?[t[0],l.Assign(t[1],n)]:[l.Assign(t[0],n),t[1]],[{},{}])}function Wx(e){return Kx(e[1])}function zx(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return q(t,r)}function Bx(e){return u.IsEqual(e.length,5)?xn(ln(e[4])):u.IsEqual(e.length,3)?e[2]:u.IsEqual(e.length,4)?u.IsEqual(e[2],"readonly")?xn(e[3]):ln(e[3]):kr()}function Hx(e){if(!u.IsArray(e)||!u.IsEqual(e.length,3))return e;let[t,n,r]=e;return t&&r?xn(ln(n)):t&&!r?xn(n):!t&&r?ln(n):n}function Vx(e){return u.IsEqual(e.length,2)?$r(e[1]):u.IsEqual(e.length,1)?e[0]:kr()}function Jx(e){return Mn(e)}function Yx(e){return Me(e[1])}function Xx(e){return xn(ln(e[4]))}function Zx(e){return xn(e[3])}function Qx(e){return ln(e[3])}function eh(e){return e[2]}function th(e){return u.IsEqual(e.length,2)?$r(e[1]):u.IsEqual(e.length,1)?e[0]:kr()}function nh(e){return Mn(e)}function rh(e){return cn(e[1],e[4])}function oh(e){return pn(e[2],e[5])}function Gg(e,t){return u.IsEqual(e,"remove")?pg(t):u.IsEqual(e,"add")?xn(t):t}function sh(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 Kg(e,t){return u.IsEqual(e,"remove")?dg(t):u.IsEqual(e,"add")?ln(t):t}function ih(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 ah(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function mh(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?ns(Ho(e[3]),e[5],e[6][0],Gg(e[1],Kg(e[8],e[10]))):ns(Ho(e[3]),e[5],On(e[3]),Gg(e[1],Kg(e[8],e[10])))}function uh(e){return On(e)}function ph(e){return BigInt(e)}function ch(e){return parseFloat(e)}function lh(e){return u.IsEqual(e,"true")}function dh(e){return null}function fh(e){return{[e[0]]:e[2]}}function gh(e){return Mn(e)}function yR(e){return e.reduce((t,n)=>l.Assign(t,n),{})}function xh(e){return yR(e[1])}function hh(e){return Mn(e)}function yh(e){return e[1]}function Ih(e){return Bo()}function bh(e){return Gt()}function $h(e){return Pt()}function wh(e){return yr()}function kh(e){return le()}function Th(e){return Z(e)}function Eh(e){return B(e[1])}function vh(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function Sh(e){return[e[0],...e[1]]}function Ph(e){return e[1]}function Rh(e){return Mn(e)}function Ah(e){return u.IsEqual(e.length,2)?e[1]:[]}function Oh(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]]:Gn(t,rs(n,r,s))}}function Mh(e){let t=e[2],[n,r]=e[3],o=u.IsEqual(u.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:rs(t,n,o)}}function Ch(e){return{[e[1]]:Gn(e[2],e[4])}}function Lh(e){return{[e[1]]:e[3]}}function jh(e){return null}function Fh(e){return Mn(e)}function Dh(e){return e[1]}function Nh(e){let[t,n]=[e[0],e[1]];return Gh(l.Assign(t,Kx(n)[0]))}var qh=m(()=>{E();P();Ki();no()});var Cn=m(()=>{qr()});function as(e){return te(e.length,2)}function Y(e,t,n){return as(e)?t(e[0],e[1]):n()}var Rt=m(()=>{Cn()});function $R(e,t){return te(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function ke(e,t){for(let n=0;n<e.length;n++){let r=$R(e[n],t);if(as(r))return r}return[]}var $n=m(()=>{Rt();Cn()});function ap(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var Kh,mp,up,ro,Wh,oo,Xn,ua,zh,pa,ot=m(()=>{Kh=[...ap(97,122),...ap(65,90)],mp="0",up=ap(49,57),ro=[mp,...up],Wh=" ",oo=`
9
- `,Xn="_",ua=".",zh="$",pa="-"});function Vh(e){let t=e.indexOf(kR);return te(t,-1)?"":e.slice(t+2)}function Jh(e){let t=e.indexOf(oo);return te(t,-1)?"":e.slice(t)}function TR(e){return e.replace(/^[ \t\r\f\v]+/,"")}function ca(e){let t=TR(e);return t.startsWith(Hh)?ca(Vh(t.slice(2))):t.startsWith(Bh)?ca(Jh(t.slice(2))):t}function Be(e){let t=e.trimStart();return t.startsWith(Hh)?Be(Vh(t.slice(2))):t.startsWith(Bh)?Be(Jh(t.slice(2))):t}var Bh,Hh,kR,wn=m(()=>{Cn();ot();Bh="//",Hh="/*",kR="*/"});function la(e,t){return Y(ke([e],t),(n,r)=>[n,r],()=>["",t])}var pp=m(()=>{Rt();$n()});function ER(e,t){return e.includes(t)}function so(e,t,n,r=""){return Y(ke(e,n),(o,s)=>ER(t,o)?so(e,t,s,r):so(e,t,s,`${r}${o}`),()=>[r,n])}var cp=m(()=>{Rt();$n()});function vR(e){return ke(up,e)}function PR(e){return so(SR,[Xn],e)}function RR(e){return Y(ke([mp],e),(t,n)=>[t,n],()=>Y(vR(e),(t,n)=>Y(PR(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function da(e){return RR(Be(e))}var SR,fa=m(()=>{Rt();wn();$n();cp();ot();ot();ot();ot();SR=[...ro,Xn]});function AR(e){return la(pa,e)}function OR(e){return Y(AR(e),(t,n)=>Y(da(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Yh(e){return OR(Be(e))}var lp=m(()=>{Rt();wn();pp();ot();fa()});function MR(e){return Y(Yh(e),(t,n)=>Y(ke(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function dp(e){return MR(e)}var Xh=m(()=>{Rt();$n();lp()});function fp(e,t){return ke([e],t)}function d(e,t){return te(e,"")?["",t]:e.startsWith(oo)?fp(e,ca(t)):e.startsWith(Wh)?fp(e,t):fp(e,Be(t))}var Zh=m(()=>{Cn();wn();wn();$n();ot();ot()});function CR(e){return ke(Qh,e)}function ey(e,t=""){return Y(ke(LR,e),(n,r)=>ey(r,`${t}${n}`),()=>[t,e])}function jR(e){return Y(CR(e),(t,n)=>Y(ey(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ve(e){return jR(Be(e))}var Qh,LR,ty=m(()=>{Rt();wn();$n();ot();ot();ot();ot();Qh=[...Kh,Xn,zh];LR=[...Qh,...ro]});function DR(e){return as(ke([ua],e))}function ny(e){return Y(so(FR,[Xn],e),(t,n)=>te(t,"")?[]:[t,n],()=>[])}function NR(e){return Y(ke([ua],e),(t,n)=>Y(ny(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function qR(e){return Y(da(e),(t,n)=>Y(ke([ua],n),(r,o)=>Y(ny(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function _R(e){return DR(e)?NR(e):qR(e)}function ry(e){return _R(Be(e))}var FR,gp=m(()=>{Cn();Rt();wn();$n();cp();ot();ot();fa();FR=[...ro,Xn]});function UR(e){return la(pa,e)}function GR(e){return Y(UR(e),(t,n)=>Y(ry(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ga(e){return GR(Be(e))}var oy=m(()=>{Rt();wn();pp();ot();gp()});var sy=m(()=>{Cn()});function KR(e){return te(e,"")?[]:[e.slice(0,1),e.slice(1)]}function iy(e,t){return ai(e,(n,r)=>t.startsWith(n)?!0:iy(r,t),()=>!1)}function Zn(e,t,n=""){return Y(KR(t),(r,o)=>iy(e,t)?[n,t]:Zn(e,o,`${n}${r}`),()=>[])}var xa=m(()=>{Rt();Cn()});function WR(e,t,n){return Y(ke([e],n),(r,o)=>Y(Zn([t],o),(s,a)=>Y(ke([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function zR(e,t,n){return Y(ke([e],n),(r,o)=>Y(Zn([oo,t],o),(s,a)=>Y(ke([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function ay(e,t,n,r){return n?WR(e,t,Be(r)):zR(e,t,Be(r))}var xp=m(()=>{Rt();wn();ot();$n();xa()});function BR(e,t){return ke(e,t)}function HR(e,t){return ay(e,e,!1,t)}function VR(e,t){return Y(BR(e,t),(n,r)=>HR(n,`${n}${r}`),()=>[])}function ha(e,t){return VR(e,Be(t))}var my=m(()=>{Rt();$n();wn();xp()});function uy(e,t){return Y(Zn(e,t),(n,r)=>te(n,"")?[]:[n,r],()=>[])}var py=m(()=>{Cn();Rt();xa()});var cy=m(()=>{Xh();Zh();ty();lp();oy();sy();xp();my();fa();gp();py();xa()});var i,YR,XR,ZR,QR,fy,gy,eA,Ip,xy,tA,nA,rA,hy,yy,Iy,oA,sA,iA,by,aA,mA,uA,pA,cA,$y,lA,dA,fA,hp,wy,bp,gA,xA,hA,yA,IA,bA,$A,ky,wA,kA,TA,EA,Ty,Ey,vy,Sy,ya,vA,SA,PA,RA,ne,AA,OA,MA,CA,Py,Ry,Ay,Oy,Ia,My,LA,$p,jA,FA,ly,Cy,Ly,DA,NA,qA,_A,UA,GA,dy,jy,Fy,Dy,KA,WA,zA,BA,HA,VA,JA,YA,XA,ZA,QA,eO,tO,Ny,qy,nO,_y,Uy,rO,oO,wp,sO,iO,aO,mO,uO,pO,cO,lO,Gy,yp,kp,Yf,Ky,dO,Wy,fO,gO,xO,hO,yO,zy,By,IO,Tp,bO,Hy,Ti=m(()=>{qh();cy();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),YR=e=>i(i(ve(e),([t,n])=>i(d("extends",n),([r,o])=>i(ne(o),([s,a])=>i(d("=",a),([p,c])=>i(ne(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[zg(t),n]),XR=e=>i(i(ve(e),([t,n])=>i(d("extends",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Bg(t),n]),ZR=e=>i(i(ve(e),([t,n])=>i(d("=",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Hg(t),n]),QR=e=>i(ve(e),([t,n])=>[Vg(t),n]),fy=e=>i(i(YR(e),([t,n])=>[t,n],()=>i(XR(e),([t,n])=>[t,n],()=>i(ZR(e),([t,n])=>[t,n],()=>i(QR(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),gy=(e,t=[])=>i(i(d(",",e),([n,r])=>i(fy(r),([o,s])=>[[n,o],s])),([n,r])=>gy(r,[...t,n]),()=>[t,e]),eA=e=>i(i(i(fy(e),([t,n])=>i(gy(n),([r,o])=>i(i(d(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Jg(t),n]),Ip=e=>i(i(d("<",e),([t,n])=>i(eA(n),([r,o])=>i(d(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Yg(t),n]),xy=(e,t=[])=>i(i(d(",",e),([n,r])=>i(ne(r),([o,s])=>[[n,o],s])),([n,r])=>xy(r,[...t,n]),()=>[t,e]),tA=e=>i(i(i(ne(e),([t,n])=>i(xy(n),([r,o])=>i(i(d(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Xg(t),n]),nA=e=>i(i(d("<",e),([t,n])=>i(tA(n),([r,o])=>i(d(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Zg(t),n]),rA=e=>i(i(ve(e),([t,n])=>i(nA(n),([r,o])=>[[t,r],o])),([t,n])=>[Qg(t),n]),hy=e=>i(i(i(d(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ex(t),n]),yy=e=>i(d("string",e),([t,n])=>[tx(t),n]),Iy=e=>i(d("number",e),([t,n])=>[nx(t),n]),oA=e=>i(d("boolean",e),([t,n])=>[rx(t),n]),sA=e=>i(d("undefined",e),([t,n])=>[ox(t),n]),iA=e=>i(d("null",e),([t,n])=>[sx(t),n]),by=e=>i(d("integer",e),([t,n])=>[ix(t),n]),aA=e=>i(d("bigint",e),([t,n])=>[ax(t),n]),mA=e=>i(d("unknown",e),([t,n])=>[mx(t),n]),uA=e=>i(d("any",e),([t,n])=>[ux(t),n]),pA=e=>i(d("object",e),([t,n])=>[px(t),n]),cA=e=>i(d("never",e),([t,n])=>[cx(t),n]),$y=e=>i(d("symbol",e),([t,n])=>[lx(t),n]),lA=e=>i(d("void",e),([t,n])=>[dx(t),n]),dA=e=>i(d("this",e),([t,n])=>[fx(t),n]),fA=e=>i(i(d("${",e),([t,n])=>i(ne(n),([r,o])=>i(d("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ix(t),n]),hp=e=>i(Zn(["${","`"],e),([t,n])=>[bx(t),n]),wy=e=>i(i(i(hp(e),([t,n])=>i(fA(n),([r,o])=>i(wy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(hp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(hp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[$x(t),n]),bp=e=>i(i(d("`",e),([t,n])=>i(wy(n),([r,o])=>i(d("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[wx(t),n]),gA=e=>i(bp(e),([t,n])=>[kx(t),n]),xA=e=>i(i(i(d("if",e),([t,n])=>i(ne(n),([r,o])=>i(d("then",o),([s,a])=>i(ne(a),([p,c])=>i(d("else",c),([g,b])=>i(ne(b),([T,S])=>[[t,r,s,p,g,T],S])))))),([t,n])=>[t,n],()=>i(i(d("if",e),([t,n])=>i(ne(n),([r,o])=>i(d("then",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Tx(t),n]),hA=e=>i(dp(e),([t,n])=>[gx(t),n]),yA=e=>i(i(d("true",e),([t,n])=>[t,n],()=>i(d("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[xx(t),n]),IA=e=>i(ga(e),([t,n])=>[hx(t),n]),bA=e=>i(ha(["'",'"'],e),([t,n])=>[yx(t),n]),$A=e=>i(i(i(d("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ex(t),n]),ky=(e,t=[])=>i(i(i(d("[",e),([n,r])=>i(ne(r),([o,s])=>i(d("]",s),([a,p])=>[[n,o,a],p]))),([n,r])=>[n,r],()=>i(i(d("[",e),([n,r])=>i(d("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>ky(r,[...t,n]),()=>[t,e]),wA=e=>i(ky(e),([t,n])=>[vx(t),n]),kA=e=>i(i(i(d("extends",e),([t,n])=>i(ne(n),([r,o])=>i(d("?",o),([s,a])=>i(ne(a),([p,c])=>i(d(":",c),([g,b])=>i(ne(b),([T,S])=>[[t,r,s,p,g,T],S])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Sx(t),n]),TA=e=>i(i(i(d("(",e),([t,n])=>i(ne(n),([r,o])=>i(d(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(yy(e),([t,n])=>[t,n],()=>i(Iy(e),([t,n])=>[t,n],()=>i(oA(e),([t,n])=>[t,n],()=>i(sA(e),([t,n])=>[t,n],()=>i(iA(e),([t,n])=>[t,n],()=>i(by(e),([t,n])=>[t,n],()=>i(aA(e),([t,n])=>[t,n],()=>i(mA(e),([t,n])=>[t,n],()=>i(uA(e),([t,n])=>[t,n],()=>i(pA(e),([t,n])=>[t,n],()=>i(cA(e),([t,n])=>[t,n],()=>i($y(e),([t,n])=>[t,n],()=>i(lA(e),([t,n])=>[t,n],()=>i(dA(e),([t,n])=>[t,n],()=>i(hA(e),([t,n])=>[t,n],()=>i(yA(e),([t,n])=>[t,n],()=>i(IA(e),([t,n])=>[t,n],()=>i(bA(e),([t,n])=>[t,n],()=>i(gA(e),([t,n])=>[t,n],()=>i(xA(e),([t,n])=>[t,n],()=>i(jA(e),([t,n])=>[t,n],()=>i(NA(e),([t,n])=>[t,n],()=>i(WA(e),([t,n])=>[t,n],()=>i(KA(e),([t,n])=>[t,n],()=>i(VA(e),([t,n])=>[t,n],()=>i(rA(e),([t,n])=>[t,n],()=>i(JA(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[Px(t),n]),EA=e=>i(i(i(d("with",e),([t,n])=>i(_y(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Rx(t),n]),Ty=e=>i(i($A(e),([t,n])=>i(TA(n),([r,o])=>i(wA(o),([s,a])=>i(kA(a),([p,c])=>i(EA(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[Ax(t),n]),Ey=e=>i(i(i(d("&",e),([t,n])=>i(Ty(n),([r,o])=>i(Ey(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),vy=e=>i(i(Ty(e),([t,n])=>i(Ey(n),([r,o])=>[[t,r],o])),([t,n])=>[Ox(t),n]),Sy=e=>i(i(i(d("|",e),([t,n])=>i(vy(n),([r,o])=>i(Sy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),ya=e=>i(i(vy(e),([t,n])=>i(Sy(n),([r,o])=>[[t,r],o])),([t,n])=>[Mx(t),n]),vA=e=>i(i(d("readonly",e),([t,n])=>i(ya(n),([r,o])=>[[t,r],o])),([t,n])=>[Cx(t),n]),SA=e=>i(i(d("|",e),([t,n])=>i(ya(n),([r,o])=>[[t,r],o])),([t,n])=>[Lx(t),n]),PA=e=>i(i(Ip(e),([t,n])=>i(d("=",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[jx(t),n]),RA=e=>i(i(i(d("infer",e),([t,n])=>i(ve(n),([r,o])=>i(d("extends",o),([s,a])=>i(ya(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(d("infer",e),([t,n])=>i(ve(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[Fx(t),n]),ne=e=>i(i(RA(e),([t,n])=>[t,n],()=>i(SA(e),([t,n])=>[t,n],()=>i(vA(e),([t,n])=>[t,n],()=>i(ya(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),AA=e=>i(ga(e),([t,n])=>[Dx(t),n]),OA=e=>i(ve(e),([t,n])=>[t,n]),MA=e=>i(ha(["'",'"'],e),([t,n])=>[t,n]),CA=e=>i(i(d("[",e),([t,n])=>i(ve(n),([r,o])=>i(d(":",o),([s,a])=>i(i(by(a),([p,c])=>[p,c],()=>i(Iy(a),([p,c])=>[p,c],()=>i(yy(a),([p,c])=>[p,c],()=>i($y(a),([p,c])=>[p,c],()=>[])))),([p,c])=>i(d("]",c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[Nx(t),n]),Py=e=>i(i(AA(e),([t,n])=>[t,n],()=>i(OA(e),([t,n])=>[t,n],()=>i(MA(e),([t,n])=>[t,n],()=>i(CA(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Ry=e=>i(i(i(d("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[qx(t),n]),Ay=e=>i(i(i(d("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[_x(t),n]),Oy=e=>i(i(Ry(e),([t,n])=>i(Py(n),([r,o])=>i(Ay(o),([s,a])=>i(d(":",a),([p,c])=>i(ne(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[Ux(t),n]),Ia=e=>i(i(i(d(",",e),([t,n])=>i(d(`
10
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d(";",e),([t,n])=>i(d(`
11
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(d(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(d(`
12
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),My=(e,t=[])=>i(i(Ia(e),([n,r])=>i(Oy(r),([o,s])=>[[n,o],s])),([n,r])=>My(r,[...t,n]),()=>[t,e]),LA=e=>i(i(i(Oy(e),([t,n])=>i(My(n),([r,o])=>i(i(Ia(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Gx(t),n]),$p=e=>i(i(d("{",e),([t,n])=>i(LA(n),([r,o])=>i(d("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Wx(t),n]),jA=e=>i($p(e),([t,n])=>[zx(t),n]),FA=e=>i(i(i(ve(e),([t,n])=>i(d("?",n),([r,o])=>i(d(":",o),([s,a])=>i(d("readonly",a),([p,c])=>i(ne(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[t,n],()=>i(i(ve(e),([t,n])=>i(d(":",n),([r,o])=>i(d("readonly",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(ve(e),([t,n])=>i(d("?",n),([r,o])=>i(d(":",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(ve(e),([t,n])=>i(d(":",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[Bx(t),n]),ly=e=>i(i(FA(e),([t,n])=>[t,n],()=>i(i(Ry(e),([t,n])=>i(ne(n),([r,o])=>i(Ay(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[Hx(t),n]),Cy=e=>i(i(i(d("...",e),([t,n])=>i(ly(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(ly(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Vx(t),n]),Ly=(e,t=[])=>i(i(d(",",e),([n,r])=>i(Cy(r),([o,s])=>[[n,o],s])),([n,r])=>Ly(r,[...t,n]),()=>[t,e]),DA=e=>i(i(i(Cy(e),([t,n])=>i(Ly(n),([r,o])=>i(i(d(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Jx(t),n]),NA=e=>i(i(d("[",e),([t,n])=>i(DA(n),([r,o])=>i(d("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Yx(t),n]),qA=e=>i(i(ve(e),([t,n])=>i(d("?",n),([r,o])=>i(d(":",o),([s,a])=>i(d("readonly",a),([p,c])=>i(ne(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[Xx(t),n]),_A=e=>i(i(ve(e),([t,n])=>i(d(":",n),([r,o])=>i(d("readonly",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Zx(t),n]),UA=e=>i(i(ve(e),([t,n])=>i(d("?",n),([r,o])=>i(d(":",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Qx(t),n]),GA=e=>i(i(ve(e),([t,n])=>i(d(":",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[eh(t),n]),dy=e=>i(i(qA(e),([t,n])=>[t,n],()=>i(_A(e),([t,n])=>[t,n],()=>i(UA(e),([t,n])=>[t,n],()=>i(GA(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),jy=e=>i(i(i(d("...",e),([t,n])=>i(dy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(dy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[th(t),n]),Fy=(e,t=[])=>i(i(d(",",e),([n,r])=>i(jy(r),([o,s])=>[[n,o],s])),([n,r])=>Fy(r,[...t,n]),()=>[t,e]),Dy=e=>i(i(i(jy(e),([t,n])=>i(Fy(n),([r,o])=>i(i(d(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[nh(t),n]),KA=e=>i(i(d("(",e),([t,n])=>i(Dy(n),([r,o])=>i(d(")",o),([s,a])=>i(d("=>",a),([p,c])=>i(ne(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[rh(t),n]),WA=e=>i(i(d("new",e),([t,n])=>i(d("(",n),([r,o])=>i(Dy(o),([s,a])=>i(d(")",a),([p,c])=>i(d("=>",c),([g,b])=>i(ne(b),([T,S])=>[[t,r,s,p,g,T],S])))))),([t,n])=>[oh(t),n]),zA=e=>i(i(i(d("+",e),([t,n])=>i(d("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d("-",e),([t,n])=>i(d("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[sh(t),n]),BA=e=>i(i(i(d("+",e),([t,n])=>i(d("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d("-",e),([t,n])=>i(d("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[ih(t),n]),HA=e=>i(i(i(d("as",e),([t,n])=>i(ne(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ah(t),n]),VA=e=>i(i(d("{",e),([t,n])=>i(zA(n),([r,o])=>i(d("[",o),([s,a])=>i(ve(a),([p,c])=>i(d("in",c),([g,b])=>i(ne(b),([T,S])=>i(HA(S),([L,N])=>i(d("]",N),([U,H])=>i(BA(H),([ce,Re])=>i(d(":",Re),([ye,Ve])=>i(ne(Ve),([Ft,k])=>i(hy(k),([Q,Tt])=>i(d("}",Tt),([Ge,Vt])=>[[t,r,s,p,g,T,L,U,ce,ye,Ft,Q,Ge],Vt]))))))))))))),([t,n])=>[mh(t),n]),JA=e=>i(ve(e),([t,n])=>[uh(t),n]),YA=e=>i(dp(e),([t,n])=>[ph(t),n]),XA=e=>i(ga(e),([t,n])=>[ch(t),n]),ZA=e=>i(i(d("true",e),([t,n])=>[t,n],()=>i(d("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[lh(t),n]),QA=e=>i(ha(['"',"'"],e),([t,n])=>[t,n]),eO=e=>i(d("null",e),([t,n])=>[dh(t),n]),tO=e=>i(d("undefined",e),([t,n])=>[void 0,n]),Ny=e=>i(i(Py(e),([t,n])=>i(d(":",n),([r,o])=>i(wp(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[fh(t),n]),qy=(e,t=[])=>i(i(Ia(e),([n,r])=>i(Ny(r),([o,s])=>[[n,o],s])),([n,r])=>qy(r,[...t,n]),()=>[t,e]),nO=e=>i(i(i(Ny(e),([t,n])=>i(qy(n),([r,o])=>i(i(Ia(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[gh(t),n]),_y=e=>i(i(d("{",e),([t,n])=>i(nO(n),([r,o])=>i(d("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[xh(t),n]),Uy=(e,t=[])=>i(i(d(",",e),([n,r])=>i(wp(r),([o,s])=>[[n,o],s])),([n,r])=>Uy(r,[...t,n]),()=>[t,e]),rO=e=>i(i(i(wp(e),([t,n])=>i(Uy(n),([r,o])=>i(i(d(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[hh(t),n]),oO=e=>i(i(d("[",e),([t,n])=>i(rO(n),([r,o])=>i(d("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[yh(t),n]),wp=e=>i(i(YA(e),([t,n])=>[t,n],()=>i(XA(e),([t,n])=>[t,n],()=>i(ZA(e),([t,n])=>[t,n],()=>i(QA(e),([t,n])=>[t,n],()=>i(eO(e),([t,n])=>[t,n],()=>i(tO(e),([t,n])=>[t,n],()=>i(_y(e),([t,n])=>[t,n],()=>i(oO(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),sO=e=>i(d("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Ih(t),n]),iO=e=>i(d(".*",e),([t,n])=>[bh(t),n]),aO=e=>i(d("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[$h(t),n]),mO=e=>i(d("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[wh(t),n]),uO=e=>i(d("(?!)",e),([t,n])=>[kh(t),n]),pO=e=>i(uy(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Th(t),n]),cO=e=>i(i(sO(e),([t,n])=>[t,n],()=>i(iO(e),([t,n])=>[t,n],()=>i(aO(e),([t,n])=>[t,n],()=>i(mO(e),([t,n])=>[t,n],()=>i(uO(e),([t,n])=>[t,n],()=>i(lO(e),([t,n])=>[t,n],()=>i(pO(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),lO=e=>i(i(d("(",e),([t,n])=>i(kp(n),([r,o])=>i(d(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Eh(t),n]),Gy=e=>i(i(i(yp(e),([t,n])=>i(d("|",n),([r,o])=>i(Gy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(yp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[vh(t),n]),yp=e=>i(i(cO(e),([t,n])=>i(kp(n),([r,o])=>[[t,r],o])),([t,n])=>[Sh(t),n]),kp=e=>i(i(Gy(e),([t,n])=>[t,n],()=>i(yp(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Yf=e=>i(i(d("^",e),([t,n])=>i(kp(n),([r,o])=>i(d("$",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Ph(t),n]),Ky=(e,t=[])=>i(i(d(",",e),([n,r])=>i(ne(r),([o,s])=>[[n,o],s])),([n,r])=>Ky(r,[...t,n]),()=>[t,e]),dO=e=>i(i(i(ne(e),([t,n])=>i(Ky(n),([r,o])=>i(i(d(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Rh(t),n]),Wy=e=>i(i(i(d("extends",e),([t,n])=>i(dO(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ah(t),n]),fO=e=>i(i(d("interface",e),([t,n])=>i(ve(n),([r,o])=>i(Ip(o),([s,a])=>i(Wy(a),([p,c])=>i($p(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[Oh(t),n]),gO=e=>i(i(d("interface",e),([t,n])=>i(ve(n),([r,o])=>i(Wy(o),([s,a])=>i($p(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Mh(t),n]),xO=e=>i(i(d("type",e),([t,n])=>i(ve(n),([r,o])=>i(Ip(o),([s,a])=>i(d("=",a),([p,c])=>i(ne(c),([g,b])=>[[t,r,s,p,g],b]))))),([t,n])=>[Ch(t),n]),hO=e=>i(i(d("type",e),([t,n])=>i(ve(n),([r,o])=>i(d("=",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Lh(t),n]),yO=e=>i(i(i(d("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[jh(t),n]),zy=e=>i(i(i(d(";",e),([t,n])=>i(d(`
13
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(d(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(d(`
14
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),By=(e,t=[])=>i(i(zy(e),([n,r])=>i(Tp(r),([o,s])=>[[n,o],s])),([n,r])=>By(r,[...t,n]),()=>[t,e]),IO=e=>i(i(i(Tp(e),([t,n])=>i(By(n),([r,o])=>i(i(zy(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Fh(t),n]),Tp=e=>i(i(yO(e),([t,n])=>i(i(fO(n),([r,o])=>[r,o],()=>i(gO(n),([r,o])=>[r,o],()=>i(xO(n),([r,o])=>[r,o],()=>i(hO(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i(hy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Dh(t),n]),bO=e=>i(i(Tp(e),([t,n])=>i(IO(n),([r,o])=>[[t,r],o])),([t,n])=>[Nh(t),n]),Hy=e=>i(i(bO(e),([t,n])=>[t,n],()=>i(PA(e),([t,n])=>[t,n],()=>i(ne(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function Vy(e){let t=bp(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:je()}var Ep=m(()=>{gn();P();Ti()});function wO(e){return e.join("|")}function kO(e){return e.slice(1,e.length-1)}function TO(e,t,n){return Qn(t,`${n}${e}`)}function EO(e,t){return Qn(e,`${t}${Wf}`)}function vO(e,t){return Qn(e,`${t}${bi}`)}function SO(e,t){return Qn(e,`${t}${wi}`)}function PO(e,t){return ms(B([Z("false"),Z("true")]),e,t)}function RO(e,t){return Qn(e,`${t}${ki}`)}function AO(e,t,n){return Qn(t,`${n}${kO(e)}`)}function OO(e,t,n){let r=us(e,{});return ms(r,t,n)}function MO(e,t,n){let r=dt(e);return ms(r,t,n)}function Jy(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>Jy(s,t,n,[...r,ms(o,[],"")]),()=>Qn(t,`${n}(${wO(r)})`))}function ms(e,t,n){return Qe(e)?MO(e.enum,t,n):pt(e)?vO(t,n):me(e)?TO(e.const,t,n):hn(e)?EO(t,n):Ut(e)?PO(t,n):Oe(e)?SO(t,n):lt(e)?RO(t,n):Ee(e)?AO(e.pattern,t,n):Xy(e)?OO(e.parameters[0],t,n):M(e)?Jy(e.anyOf,t,n):Md}function Qn(e,t){return u.ShiftLeft(e,(n,r)=>ms(n,r,t),()=>t)}function CO(e){return`^${Qn(e,"")}$`}function Yy(e){let t=CO(e);return Si(t)}var vp=m(()=>{P();Qt();Ae();V();It();hr();Kt();ct();yn();Wn();Ke();Pi();z();ba()});function us(e,t){return K(e)?l.Update(Yy(e),{},t):Wi(e,t)}function Zy(e,t,n,r){let o=Lt(e,t,n);return us(o,r)}var ba=m(()=>{E();It();vp();j()});function Wi(e,t={}){return C("TemplateLiteral",[e],t)}function Xy(e){return Ce(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function Qy(e){return us(e,{})}function LO(e){let t=Vy(e);return Qy(t)}function eI(e,t={}){let n=u.IsString(e)?LO(e):Qy(e);return l.Update(n,{},t)}function Ee(e){return R(e,"TemplateLiteral")}var It=m(()=>{qo();P();W();se();Ep();ba()});var _={};Ot(_,{ExtendsFalse:()=>G,ExtendsTrue:()=>v,ExtendsUnion:()=>Sp,IsExtendsFalse:()=>jO,IsExtendsTrue:()=>nI,IsExtendsTrueLike:()=>io,IsExtendsUnion:()=>tI,Match:()=>he});function Sp(e){return l.Create({"~kind":"ExtendsUnion"},{inferred:e})}function tI(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function v(e){return l.Create({"~kind":"ExtendsTrue"},{inferred:e})}function nI(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function G(){return l.Create({"~kind":"ExtendsFalse"},{})}function jO(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function io(e){return tI(e)||nI(e)}function he(e,t,n){return io(e)?t(e.inferred):n()}var ge=m(()=>{P();E()});function FO(e,t,n,r){return he(ee(e,n,r),o=>v(l.Assign(l.Assign(e,o),{[t]:n})),()=>G())}function DO(e,t){return v(e)}function NO(e,t,n,r,o){return he(ee(e,t,n),s=>he(ee(s,t,r),a=>v(a),()=>G()),()=>he(ee(e,t,o),s=>v(s),()=>G()))}function qO(e,t,n){let r=dt(n);return ee(e,t,r)}function rI(e,t,n){return u.ShiftLeft(n,(r,o)=>he(ee(e,t,r),s=>rI(s,t,o),()=>G()),()=>v(e))}function _O(e,t,n){let r=rt(n);return ee(e,t,r)}function oI(e,t,n){return u.ShiftLeft(n,(r,o)=>he(ee(e,t,r),s=>v(s),()=>oI(e,t,o)),()=>G())}function ue(e,t,n){return we(n)?DO(e,t):Te(n)?NO(e,t,n.if,n.then,n.else):Qe(n)?qO(e,t,n.enum):Pe(n)?FO(e,n.name,t,n.extends):X(n)?rI(e,t,n.allOf):Ee(n)?_O(e,t,n.pattern):M(n)?oI(e,t,n.anyOf):Se(n)?v(e):G()}var st=m(()=>{P();E();xt();St();Qt();_t();Le();It();V();Xe();wt();ge();z();z()});function sI(e,t,n){return Pe(n)?ue(e,t,n):we(n)?v(e):Se(n)?v(e):Sp(e)}var iI=m(()=>{_t();xt();Xe();st();ge()});function UO(e,t){let n=fr(e),r=fr(t);return n&&r||!n&&r?!0:!(n&&!r)}function aI(e,t,n,r){return be(r)?UO(t,r)?ee(e,n,r.items):G():ue(e,t,r)}var mI=m(()=>{ut();Go();st();wt();ge()});function uI(e,t,n){return hn(n)?v(e):ue(e,t,n)}var pI=m(()=>{hr();st();ge()});function cI(e,t,n){return Ut(n)?v(e):ue(e,t,n)}var lI=m(()=>{Wn();st();ge()});function GO(e,t,n,r,o){let s=Pe(r)?t:r,a=Pe(r)?r:t,p=nt(t),c=nt(r);return!p&&c?G():he(ee(e,s,a),g=>ps(g,n,o),()=>G())}function KO(e,t,n,r){return u.ShiftLeft(r,(o,s)=>GO(e,t,n,o,s),()=>nt(t)?v(e):G())}function WO(e,t,n){return u.ShiftLeft(t,(r,o)=>KO(e,r,o,n),()=>v(e))}function ps(e,t,n){return WO(e,t,n)}var Pp=m(()=>{P();_t();Kn();wt();ge()});function $a(e,t,n){return bn(n)?v(e):ee(e,t,n)}var Rp=m(()=>{wr();wt();ge()});function dI(e,t,n,r){return we(r)?v(e):Se(r)?v(e):Ne(r)?he(ps(e,t,r.parameters),o=>$a(o,n,r.instanceType),()=>G()):G()}var fI=m(()=>{xt();Dt();Xe();ge();Pp();Rp()});function gI(e,t,n,r,o){return he(ee(e,t,o),()=>ee(e,n,o),()=>ee(e,r,o))}var xI=m(()=>{wt();ge()});function hI(e,t,n){let r=dt(t);return ee(e,r,n)}var yI=m(()=>{wt();z()});function II(e,t,n,r){return we(r)?v(e):Se(r)?v(e):qe(r)?he(ps(e,t,r.parameters),o=>$a(o,n,r.returnType),()=>G()):G()}var bI=m(()=>{xt();Nt();Xe();ge();Pp();Rp()});function $I(e,t,n){return pt(n)?v(e):Oe(n)?v(e):ue(e,t,n)}var wI=m(()=>{yn();ct();st();ge()});function kI(e,t,n){let r=$e(t);return ee(e,r,n)}var TI=m(()=>{wt();cs()});function wa(e,t,n){return t===n?v(e):G()}function zO(e,t,n){return me(n)?wa(e,t,n.const):hn(n)?v(e):ue(e,Z(t),n)}function BO(e,t,n){return me(n)?wa(e,t,n.const):Ut(n)?v(e):ue(e,Z(t),n)}function HO(e,t,n){return me(n)?wa(e,t,n.const):Oe(n)?v(e):ue(e,Z(t),n)}function VO(e,t,n){return me(n)?wa(e,t,n.const):lt(n)?v(e):ue(e,Z(t),n)}function EI(e,t,n){return u.IsBigInt(t.const)?zO(e,t.const,n):u.IsBoolean(t.const)?BO(e,t.const,n):u.IsNumber(t.const)?HO(e,t.const,n):u.IsString(t.const)?VO(e,t.const,n):je()}var vI=m(()=>{P();ju();Ae();hr();Wn();ct();Kt();st();ge()});function SI(e,t,n){return Pe(n)?ue(e,t,n):v(e)}var PI=m(()=>{_t();st();ge()});function RI(e,t,n){return zr(n)?v(e):ue(e,t,n)}var AI=m(()=>{Br();st();ge()});function OI(e,t,n){return Oe(n)?v(e):ue(e,t,n)}var MI=m(()=>{ct();st();ge()});function JO(e,t,n){return nt(t)?nt(n)?v(e):G():v(e)}function YO(e,t,n){return Pe(n)&&Zt(n.extends)?G():he(ee(e,t,n),r=>JO(r,t,n),()=>G())}function XO(e,t){return e.reduce((n,r)=>r in t?io(t[r])?{...n,...t[r].inferred}:je():je(),{})}function ZO(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?YO({},t[a],n[a]):nt(n[a])?Pe(n[a])?v(l.Assign(e,{[n[a].name]:n[a].extends})):v(e):G();let o=u.Values(r).every(a=>io(a)),s=o?XO(u.Keys(r),r):{};return o?v(s):G()}function QO(e,t,n){let r=ZO(e,t,n);return io(r)?v(l.Assign(e,r.inferred)):G()}function eM(e,t,n){return QO(e,t,n)}function tM(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?M(n[r])?B([...n[r].anyOf,t[r]]):B([e[r],t[r]]):t[r]}),e)}function CI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>he(ee({},e[o],n),a=>CI(e,s,n,tM(r,a)),()=>G()),()=>v(r))}function nM(e,t,n,r){let o=u.Keys(t);return CI(t,o,r,e)}function LI(e,t,n){return tt(n)?nM(e,t,zt(n),ft(n)):ae(n)?eM(e,t,n.properties):ue(e,q(t),n)}var jI=m(()=>{gn();E();P();Kn();_t();Ke();pe();ze();V();wt();st();ge()});function rM(e,t){return u.IsEqual(u.Keys(t).length,0)?v(e):G()}function oM(e,t,n,r,o){return ee(e,n,o)}function FI(e,t,n,r){return tt(r)?oM(e,Ni(t),n,Ni(zt(r)),ft(r)):ae(r)?rM(e,r.properties):we(r)?v(e):Se(r)?v(e):G()}var DI=m(()=>{P();xt();Xe();pe();ze();wt();ge()});function NI(e,t,n){return lt(n)?v(e):ue(e,t,n)}var qI=m(()=>{Kt();st();ge()});function _I(e,t,n){return zn(n)?v(e):ue(e,t,n)}var UI=m(()=>{Ir();st();ge()});function GI(e,t,n){let r=rt(t);return ee(e,r,n)}var KI=m(()=>{wt();z()});function Ap(e,t){return l.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function ls(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 Op(e){return Yn(e)?Pe(e.items)?be(e.items.extends)?Ap(e.items.name,e.items.extends.items):Se(e.items.extends)?Ap(e.items.name,e.items.extends):void 0:je():void 0}function ka(e){return Pe(e)?Ap(e.name,e.extends):void 0}function Mp(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>he(ee({},r,t),()=>Mp(o,t,[...n,r]),()=>{}),()=>n)}function WI(e,t,n,r){let o=Mp(n,r);return u.IsArray(o)?v(l.Assign(e,{[t]:Me(o)})):G()}function Ta(e,t,n,r){let o=Mp(n,r);return u.IsArray(o)?v(l.Assign(e,{[t]:B(o)})):G()}var Cp=m(()=>{gn();E();P();ut();Xe();Fe();wt();V();_t();Xr();ge()});function sM(e){return[...e].reverse()}function Lp(e,t){return t?sM(e):e}function iM(e){let t=e.length>0?e[0]:void 0,n=Ce(t)?Op(t):void 0;return Ce(n)}function aM(e,t,n,r,o,s){return he(ee(e,n,o),a=>zI(a,t,r,s),()=>G())}function mM(e,t,n,r,o){let s=Op(r);return ls(s)?WI(e,s.name,Lp(n,t),s.type):u.ShiftLeft(n,(a,p)=>aM(e,t,a,p,r,o),()=>G())}function uM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>mM(e,t,n,o,s),()=>u.IsEqual(n.length,0)?v(e):G())}function zI(e,t,n,r){return uM(e,t,n,r)}function pM(e,t,n){let r=er(e,xe([],[]),n),o=iM(r);return zI(e,o,Lp(t,o),Lp(r,o))}function BI(e,t,n){let r=ka(n);return ls(r)?Ta(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>he(ee(e,o,n),a=>BI(a,s,n),()=>G()),()=>v(e))}function HI(e,t,n){let r=er(e,xe([],[]),t);return fe(n)?pM(e,r,n.items):be(n)?BI(e,r,n.items):ue(e,Me(r),n)}var VI=m(()=>{P();W();ut();Fe();wt();st();ge();j();j();Cp()});function JI(e,t,n){return bn(n)?v(e):Qr(n)?v(e):ue(e,t,n)}var YI=m(()=>{eo();wr();st();ge()});function XI(e,t,n){return u.ShiftLeft(n,(r,o)=>he(ee(e,t,r),s=>v(s),()=>XI(e,t,o)),()=>G())}function jp(e,t,n){return u.ShiftLeft(t,(r,o)=>he(XI(e,r,n),s=>jp(s,o,n),()=>G()),()=>v(e))}function ZI(e,t,n){let r=ka(n);return ls(r)?Ta(e,r.name,t,r.type):M(n)?jp(e,t,n.anyOf):jp(e,t,[n])}var QI=m(()=>{P();V();wt();ge();Cp()});function eb(e,t,n){return Pe(n)?ue(e,t,n):we(n)?v(e):Se(n)?v(e):G()}var tb=m(()=>{xt();Xe();_t();st();ge()});function nb(e,t,n){return bn(n)?v(e):ue(e,t,n)}var rb=m(()=>{wr();st();ge()});function ee(e,t,n){return we(t)?sI(e,t,n):be(t)?aI(e,t,t.items,n):hn(t)?uI(e,t,n):Ut(t)?cI(e,t,n):Ne(t)?dI(e,t.parameters,t.instanceType,n):Te(t)?gI(e,t.if,t.then,t.else,n):Qe(t)?hI(e,t.enum,n):qe(t)?II(e,t.parameters,t.returnType,n):pt(t)?$I(e,t,n):X(t)?kI(e,t.allOf,n):me(t)?EI(e,t,n):Zt(t)?SI(e,t,n):zr(t)?RI(e,t,n):Oe(t)?OI(e,t,n):ae(t)?LI(e,t.properties,n):tt(t)?FI(e,zt(t),ft(t),n):lt(t)?NI(e,t,n):zn(t)?_I(e,t,n):Ee(t)?GI(e,t.pattern,n):fe(t)?HI(e,t.items,n):Qr(t)?JI(e,t,n):M(t)?ZI(e,t.anyOf,n):Se(t)?eb(e,t,n):bn(t)?nb(e,t,n):G()}var wt=m(()=>{iI();mI();pI();lI();fI();xI();yI();bI();wI();TI();vI();PI();AI();MI();jI();DI();qI();UI();KI();VI();YI();QI();tb();rb();xt();ut();hr();Wn();Dt();St();Qt();Nt();yn();Le();Ae();Ke();Br();ct();pe();ze();Kt();Ir();It();Fe();eo();Xe();V();wr();ge()});function cM(e,t){return $e([...e,q(t)])}function Fp(e,t,n){return K(e)?l.Update(cM(e,t),{},n):rs(e,t,n)}function ob(e,t,n,r,o){let s=Lt(e,t,n),a=ds(e,t,r);return Fp(s,a,o)}var Ea=m(()=>{E();pe();z();no();j();j();j()});function rs(e,t,n={}){return C("Interface",[e,t],n)}function ao(e){return Ce(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function sb(e,t,n={}){return Fp(e,t,n)}var fs=m(()=>{P();W();se();Ea()});function lM(e,t,n){return e.includes(n)?!0:gs([...e,n],t,t[n])}function ib(e,t,n){let r=di(n);return Tr(e,t,r)}function Tr(e,t,n){return u.ShiftLeft(n,(r,o)=>gs(e,t,r)?!0:Tr(e,t,o),()=>!1)}function gs(e,t,n){return _e(n)?lM(e,t,n.$ref):be(n)?gs(e,t,n.items):Ne(n)?Tr(e,t,[...n.parameters,n.instanceType]):qe(n)?Tr(e,t,[...n.parameters,n.returnType]):ao(n)?ib(e,t,n.parameters[1]):X(n)?Tr(e,t,n.allOf):ae(n)?ib(e,t,n.properties):M(n)?Tr(e,t,n.anyOf):fe(n)?Tr(e,t,n.items):tt(n)?gs(e,t,ft(n)):!1}function ab(e,t,n){return gs(e,t,n)}var Dp=m(()=>{P();ut();Dt();Nt();Le();pe();lr();ze();Fe();V();qt();fs()});function dM(e,t){return t.reduce((n,r)=>ab([r],e,e[r])?[...n,r]:n,[])}function mb(e){let t=li(e);return dM(e,t)}var Np=m(()=>{lr();Dp()});function fM(e,t,n){return n.includes(t)?n:t in e?xs(e,e[t],[...n,t]):je()}function ub(e,t,n){let r=di(t);return mo(e,r,n)}function mo(e,t,n){return t.reduce((r,o)=>xs(e,o,r),n)}function xs(e,t,n){return _e(t)?fM(e,t.$ref,n):be(t)?xs(e,t.items,n):Ne(t)?mo(e,[...t.parameters,t.instanceType],n):qe(t)?mo(e,[...t.parameters,t.returnType],n):ao(t)?ub(e,t.parameters[1],n):X(t)?mo(e,t.allOf,n):ae(t)?ub(e,t.properties,n):M(t)?mo(e,t.anyOf,n):fe(t)?mo(e,t.items,n):tt(t)?xs(e,ft(t),n):n}function pb(e,t,n){return xs(e,n,[t])}var qp=m(()=>{gn();ut();Dt();Nt();Le();pe();lr();ze();Fe();V();qt();fs()});function gM(e){return Ur()}function xM(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Er(e[n])}),{})}function hs(e){return e.reduce((t,n)=>[...t,Er(n)],[])}function Er(e){return _e(e)?gM(e.$ref):be(e)?Ct(Er(e.items),ci(e)):Ne(e)?pn(hs(e.parameters),Er(e.instanceType)):qe(e)?cn(hs(e.parameters),Er(e.returnType)):X(e)?yt(hs(e.allOf)):ae(e)?q(xM(e.properties)):tt(e)?Di(Yr(e),Er(ft(e))):M(e)?B(hs(e.anyOf)):fe(e)?Me(hs(e.items)):e}function hM(e,t){return t in e?Er(e[t]):We()}function cb(e){return hM(e.$defs,e.$ref)}var lb=m(()=>{P();xt();ut();Dt();Nt();Le();pe();ze();qt();Fe();V();Xe()});function yM(e,t,n){let r=Lt(e,xe([],[]),t),o=ds({},xe([],[]),n);return $e([...r,q(o)])}function IM(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=ao(s)?yM(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function db(e,t,n){let r=pb(e,t,n),o=IM(e,r);return dn(o,t)}var _p=m(()=>{P();ht();pe();qp();no();j();j();j();z()});function fb(e,t){return t in e?_e(e[t])?fb(e,e[t].$ref):e[t]:le()}function kn(e,t){return fb(e,t)}var vr=m(()=>{Ke();qt()});var Up=m(()=>{Np();Dp();qp();lb();_p();vr()});function gb(e){return Ze(e)?cb(e):fi(e)?We():e}function et(e,t,n){let r=gb(t),o=gb(n);return ee(e,r,o)}var xb=m(()=>{ht();Xe();gi();wt();Up()});var In=m(()=>{xb();ge()});function Zo(e,t){let n=[et({},e,t),et({},t,e)];return _.IsExtendsTrueLike(n[0])&&_.IsExtendsTrueLike(n[1])?Yo:_.IsExtendsTrueLike(n[0])&&_.IsExtendsFalse(n[1])?Xo:_.IsExtendsFalse(n[0])&&_.IsExtendsTrueLike(n[1])?Mi:va}var Yo,va,Xo,Mi,Qo=m(()=>{In();Yo=0,va=1,Xo=2,Mi=3});function Gp(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=Zo(e,o);return u.IsEqual(a,Xo)||u.IsEqual(a,Yo)?r:u.IsEqual(a,va)?Gp(e,s,[...n,o],r):Gp(e,s,n,r)},()=>[...n,e])}function bM(e,t,n){let r=Wt(e);return we(r)?[r]:Se(r)?[r]:Zt(r)?Sa(t,n):ae(r)?Sa(t,[...n,r]):Sa(t,Gp(r,n))}function Sa(e,t=[]){return u.ShiftLeft(e,(n,r)=>bM(n,r,t),()=>t)}function rp(e){let t=Sa(e);return Jr(t)}var op=m(()=>{P();xt();Ke();pe();Xe();Qo();Li();z()});function Kp(e,t){return l.Update(Wt(e),{},t)}function hb(e,t,n,r){let o=$(e,t,n);return Kp(o,r)}var Pa=m(()=>{E();j();z()});var cs=m(()=>{op();Qo();Qu();tp();z();Li();Pa();ep()});function ys(e,t=[]){return Un(e)&&u.IsEqual(e.action,"Conditional")?_e(e.parameters[0])?ys(e.parameters[2],ys(e.parameters[3],[...t,e.parameters[0].$ref])):ys(e.parameters[2],ys(e.parameters[3],t)):Un(e)&&u.IsEqual(e.action,"Mapped")&&Un(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&_e(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function $M(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function bb(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>bb(o,a,[...n,[s,r]]),()=>n),()=>n)}function wM(e){return Ee(e)?rt(e.pattern):Qe(e)?dt(e.enum):e}function kM(e){let t=wM(e);return M(t)?[...t.anyOf]:[t]}function TM(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function yb(e,t){return t.reduce((n,r)=>[...n,...TM(e,r)],[])}function Ib(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?yb(t,kM(n[1])):yb(t,[n[1]]),[[]])}function $b(e,t,n){let r=ys(n),o=$M(e,r),s=bb(t,o);return Un(n)&&u.IsEqual(n.action,"Conditional")||Un(n)&&u.IsEqual(n.action,"Mapped")?Ib(s):[t]}var wb=m(()=>{P();V();se();Qt();It();qt();z();z()});function EM(){return["(not-resolvable)",le()]}function vM(){return["(not-generic)",le()]}function SM(e,t,n){return[e,Gn(t,n)]}function PM(e,t,n){return t in e?kb(e,t,e[t],n):EM()}function kb(e,t,n,r){return _r(n)?SM(t,n.parameters,n.expression):_e(n)?PM(e,n.$ref,r):vM()}function Tb(e,t,n){return kb(e,"(anonymous)",t,n)}var Eb=m(()=>{Fo();qt();Ke()});function RM(e,t,n){if(Pe(t)||uo(t)||_.IsExtendsTrueLike(et({},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 vb(e,t,n,r,o){let s=$(e,t,o);return RM(n,s,r),l.Assign(e,{[n]:s})}function AM(e,t,n,r,o){let s=$(e,t,n.extends),a=$(e,t,n.equals);return u.ShiftLeft(o,(p,c)=>Wp(vb(e,t,n.name,s,p),t,r,c),()=>Wp(vb(e,t,n.name,s,a),t,r,[]))}function Wp(e,t,n,r){return u.ShiftLeft(n,(o,s)=>AM(e,t,o,s,r),()=>e)}function Sb(e,t,n,r){return Wp(e,t,n,r)}var Pb=m(()=>{P();E();j();In();_t();to()});function OM(){if(!u.IsLessThan(Bp,Xt.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function MM(){OM(),Bp++,zp++}function CM(){zp--,u.IsEqual(zp,0)&&(Bp=0)}function LM(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function jM(e,t){return u.IsEqual(LM(e),t)}function FM(e,t,n,r,o,s){MM();try{let a=Sb(e,t,r,s),p=$(a,xe([...t.callstack,n.$ref],t.visited),o);return $(a,xe([],[]),p)}finally{CM()}}function DM(e,t,n,r,o,s){return s.reduce((a,p)=>{let c=FM(e,t,n,r,o,p);return[...a,c]},[])}function NM(e,t,n,r,o,s){let a=$b(r,s,o),p=DM(e,t,n,r,o,a);return u.IsEqual(p.length,1)?p[0]:$t(p)}function Ra(e,t,n,r){let o=Lt(e,t,r),s=Tb(e,n,r),a=s[0],p=s[1];return _r(p)?jM(t,a)?os(On(a),o):NM(e,t,On(a),p.parameters,p.expression,o):os(n,o)}var zp,Bp,Hp=m(()=>{ur();P();to();qt();Fo();cs();j();j();j();wb();Eb();Pb();zp=0,Bp=0});function os(e,t){return l.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function Rb(e,t){return Ra({},xe([],[]),e,t)}function uo(e){return R(e,"Call")}var to=m(()=>{E();W();Hp();j()});function qM(e){return l.Discard(e,["~immutable"])}function Ab(e,t){return l.Update(qM(e),{},t)}function Ob(e,t,n,r){let o=$(e,t,n);return Ab(o,r)}var Vp=m(()=>{E();j()});function Mb(e,t){return e(t)}var Cb=m(()=>{});function Lb(e,t){return u.IsString(t)?Z(Mb(e,t)):Z(t)}var jb=m(()=>{P();Ae();Cb()});function Fb(e,t){let n=rt(t);return Ln(e,n)}var Db=m(()=>{Aa();cs()});function Nb(e,t){let n=t.map(r=>Ln(e,r));return B(n)}var qb=m(()=>{V();Aa()});function Ln(e,t){return me(t)?Lb(e,t.const):Ee(t)?Fb(e,t.pattern):M(t)?Nb(e,t.anyOf):t}var Aa=m(()=>{Ae();It();V();jb();Db();qb()});function zi(e,t={}){return C("Capitalize",[e],t)}function _b(e,t={}){return Jp(e,t)}var Oa=m(()=>{se();Tn()});function Bi(e,t={}){return C("Lowercase",[e],t)}function Ub(e,t={}){return Yp(e,t)}var Ma=m(()=>{se();Tn()});function Hi(e,t={}){return C("Uncapitalize",[e],t)}function Gb(e,t={}){return Xp(e,t)}var Ca=m(()=>{se();Tn()});function Vi(e,t={}){return C("Uppercase",[e],t)}function Kb(e,t={}){return Zp(e,t)}var La=m(()=>{se();Tn()});function Jp(e,t){return K([e])?l.Update(Ln(_M,e),{},t):zi(e,t)}function Yp(e,t){return K([e])?l.Update(Ln(UM,e),{},t):Bi(e,t)}function Xp(e,t){return K([e])?l.Update(Ln(GM,e),{},t):Hi(e,t)}function Zp(e,t){return K([e])?l.Update(Ln(KM,e),{},t):Vi(e,t)}function Wb(e,t,n,r){let o=$(e,t,n);return Jp(o,r)}function zb(e,t,n,r){let o=$(e,t,n);return Yp(o,r)}function Bb(e,t,n,r){let o=$(e,t,n);return Xp(o,r)}function Hb(e,t,n,r){let o=$(e,t,n);return Zp(o,r)}var _M,UM,GM,KM,Tn=m(()=>{E();Aa();j();Oa();Ma();Ca();La();_M=e=>e[0].toUpperCase()+e.slice(1),UM=e=>e.toLowerCase(),GM=e=>e[0].toLowerCase()+e.slice(1),KM=e=>e.toUpperCase()});function Ji(e,t,n,r,o={}){return C("Conditional",[e,t,n,r],o)}function Vb(e,t,n,r,o={}){return Qp({},xe([],[]),e,t,n,r,o)}var ja=m(()=>{se();ec();j()});function WM(e,t,n,r,o,s){let a=et(e,n,r);return _.IsExtendsUnion(a)?B([$(a.inferred,t,o),$(e,t,s)]):_.IsExtendsTrue(a)?$(a.inferred,t,o):$(e,t,s)}function Qp(e,t,n,r,o,s,a){return K([n,r])?l.Update(WM(e,t,n,r,o,s),{},a):Ji(n,r,o,s,a)}function Jb(e,t,n,r,o,s,a){let p=$(e,t,n),c=$(e,t,r);return Qp(e,t,p,c,o,s,a)}var ec=m(()=>{E();V();In();j();ja()});var tc=m(()=>{ec()});function Yi(e,t={}){return C("ConstructorParameters",[e],t)}function Yb(e,t={}){return nc(e,t)}var Fa=m(()=>{se();Da()});function zM(e){let t=Ne(e)?e.parameters:[],n=er({},xe([],[]),t);return Me(n)}function nc(e,t){return K([e])?l.Update(zM(e),{},t):Yi(e,t)}function Xb(e,t,n,r){let o=$(e,t,n);return nc(o,r)}var Da=m(()=>{E();Dt();Fe();Fa();j();j();j()});function Xi(e,t,n={}){return C("Exclude",[e,t],n)}function Zb(e,t,n={}){return Is(e,t,n)}var Na=m(()=>{se();bs()});function Is(e,t,n){return K([e,t])?l.Update(Ci(e,t),{},n):Xi(e,t,n)}function Qb(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return Is(s,a,o)}var bs=m(()=>{E();j();Na();np()});function Zi(e,t,n={}){return C("Extract",[e,t],n)}function e$(e,t,n={}){return rc(e,t,n)}var qa=m(()=>{se();_a()});function BM(e,t){let n=et({},e,t);return _.IsExtendsTrueLike(n)?[e]:[]}function t$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>t$(o,t,[...n,...BM(r,t)]),()=>n)}function n$(e,t){let n=Wt(e),r=M(n)?n.anyOf:[n],o=t$(r,t);return $t(o)}var r$=m(()=>{P();V();In();z();z()});function rc(e,t,n){return K([e,t])?l.Update(n$(e,t),{},n):Zi(e,t,n)}function o$(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return rc(s,a,o)}var _a=m(()=>{E();j();qa();r$()});function HM(e){return e.reduce((t,n)=>$i(n)?[...t,Z(n)]:t,[])}function po(e){let t=HM(e);return B(t)}var $s=m(()=>{Ae();V()});function ss(e,t,n={}){return C("Index",[e,t],n)}function s$(e,t,n={}){let r=u.IsArray(t)?po(t):t;return sc(e,r,n)}var oc=m(()=>{P();se();$s();Ua()});function i$(e,t){let n=kn(e,t);return jt(n)}var a$=m(()=>{Sr();vr()});function m$(e,t,n){let r=tn(e,t,n);return jt(r)}var u$=m(()=>{Sr();z()});function VM(e,t){let n=u.Keys(e).filter(b=>!u.HasPropertyKey(t,b)),r=u.Keys(t).filter(b=>!u.HasPropertyKey(e,b)),o=u.Keys(e).filter(b=>u.HasPropertyKey(t,b)),s=n.reduce((b,T)=>({...b,[T]:e[T]}),{}),a=r.reduce((b,T)=>({...b,[T]:t[T]}),{}),p=o.reduce((b,T)=>({...b,[T]:$e([e[T],t[T]])}),{}),c=l.Assign(s,a);return l.Assign(c,p)}function p$(e){return e.reduce((t,n)=>VM(t,jt(n)),{})}var c$=m(()=>{E();P();Sr();z()});var l$=m(()=>{});function d$(e){let t=fg(Me(e));return jt(t)}var f$=m(()=>{Fe();Xu();Sr()});function JM(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:$t([e[s],t[s]])}),{})}function g$(e,t){return u.ShiftLeft(e,(n,r)=>g$(r,JM(t,jt(n))),()=>t)}function x$(e){return u.ShiftLeft(e,(t,n)=>g$(n,jt(t)),()=>je())}var h$=m(()=>{P();gn();z();Sr()});function jt(e){return Ze(e)?i$(e.$defs,e.$ref):Te(e)?m$(e.if,e.then,e.else):X(e)?p$(e.allOf):M(e)?x$(e.anyOf):fe(e)?d$(e.items):ae(e)?e.properties:{}}var Sr=m(()=>{ht();St();Le();pe();Fe();V();a$();u$();c$();l$();f$();h$()});function co(e){let t=jt(e);return q(t)}var y$=m(()=>{pe();Sr()});var ws=m(()=>{y$()});function lo(e){let t=`${e}`;return YM.test(t)?parseInt(t):e}var YM,ks=m(()=>{YM=new RegExp("^(?:0|[1-9][0-9]*)$")});function XM(e){return Z(lo(e))}function I$(e){return e.map(t=>b$(t))}function b$(e){return X(e)?yt(I$(e.allOf)):M(e)?B(I$(e.anyOf)):me(e)?XM(e.const):e}function $$(e,t){let n=b$(t),r=et({},n,Pt());return _.IsExtendsTrueLike(r)?e:me(t)&&u.IsEqual(t.const,"length")?Pt():le()}var w$=m(()=>{P();Le();V();Ae();ct();Ke();In();ks()});function k$(e,t){let n=kn(e,t);return At(n)}var T$=m(()=>{tr();vr()});function E$(e,t,n){let r=tn(e,t,n);return At(r)}var v$=m(()=>{tr();z()});function S$(e){let t=dt(e);return At(t)}var P$=m(()=>{tr();z()});function R$(e){let t=$e(e);return At(t)}var A$=m(()=>{z();tr()});function O$(e){return[`${e}`]}var M$=m(()=>{});function C$(e){let t=rt(e);return At(t)}var L$=m(()=>{tr();z()});function j$(e){return e.reduce((t,n)=>[...t,...At(n)],[])}var F$=m(()=>{tr()});function At(e){return Ze(e)?k$(e.$defs,e.$ref):Te(e)?E$(e.if,e.then,e.else):Qe(e)?S$(e.enum):X(e)?R$(e.allOf):me(e)?O$(e.const):Ee(e)?C$(e.pattern):M(e)?j$(e.anyOf):[]}var tr=m(()=>{ht();St();Qt();Le();Ae();It();V();T$();v$();P$();A$();M$();L$();F$()});function fo(e){return At(e)}var Ga=m(()=>{tr()});function Ts(e,t){return t.map(n=>Es(e,n))}function Es(e,t){return be(t)?Ct(Es(e,t.items)):Ne(t)?pn(Ts(e,t.parameters),Es(e,t.instanceType)):qe(t)?cn(Ts(e,t.parameters),Es(e,t.returnType)):fe(t)?Me(Ts(e,t.items)):M(t)?B(Ts(e,t.anyOf)):X(t)?yt(Ts(e,t.allOf)):_i(t)?q(e):t}function D$(e,t){return Es(e,t)}var N$=m(()=>{ut();Dt();Nt();Le();pe();Fe();Ui();V()});function ZM(e,t){let n=t in e?e[t]:le();return D$(e,n)}function q$(e,t){return t.reduce((n,r)=>[...n,ZM(e,r)],[])}function QM(e,t){let n=fo(t),r=q$(e,n);return $t(r)}function tC(e){return e.filter(n=>eC.test(n))}function nC(e){let t=li(e),n=tC(t),r=q$(e,n);return $t(r)}function _$(e,t){return Oe(t)?nC(e):QM(e,t)}var eC,U$=m(()=>{ct();Ke();lr();z();Ga();ze();N$();eC=new RegExp(Jn)});function rC(e){return Z(lo(e))}function G$(e){return e.map(t=>ic(t))}function ic(e){return X(e)?yt(G$(e.allOf)):M(e)?B(G$(e.anyOf)):me(e)?rC(e.const):e}var K$=m(()=>{V();Le();Ae();ks()});function oC(e,t){return e.reduceRight((n,r,o)=>{let s=et({},Z(o),t);return _.IsExtendsTrueLike(s)?[r,...n]:n},[])}function sC(e,t){let n=ic(t),r=oC(e,n);return Hn(r)}function iC(e){return Hn(e)}function W$(e,t){return me(t)&&u.IsEqual(t.const,"length")?Z(e.length):Oe(t)||pt(t)?iC(e):sC(e,t)}var z$=m(()=>{P();Ae();ct();yn();z();In();K$()});function B$(e,t){return be(e)?$$(e.items,t):ae(e)?_$(e.properties,t):fe(e)?W$(e.items,t):le()}var H$=m(()=>{ut();Ke();pe();Fe();w$();U$();z$()});function aC(e){return Ze(e)||Te(e)||X(e)||M(e)?co(e):e}function sc(e,t,n){return K([e,t])?l.Update(B$(aC(e),t),{},n):ss(e,t,n)}function V$(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return sc(s,a,o)}var Ua=m(()=>{E();ht();St();Le();V();j();oc();ws();H$()});function Qi(e,t={}){return C("InstanceType",[e],t)}function J$(e,t={}){return ac(e,t)}var Ka=m(()=>{se();Wa()});function mC(e){return Ne(e)?e.instanceType:le()}function ac(e,t){return K([e])?l.Update(mC(e),{},t):Qi(e,t)}function Y$(e,t,n,r={}){let o=$(e,t,n);return ac(o,r)}var Wa=m(()=>{E();Dt();Ke();Ka();j()});function is(e,t={}){return C("KeyOf",[e],t)}function X$(e,t={}){return mc(e,t)}var za=m(()=>{se();Ba()});function Z$(){return B([Pt(),Gt(),Hr()])}var Q$=m(()=>{ct();Kt();Ir();V()});function ew(e){return Pt()}var tw=m(()=>{ct()});function uC(e){return e.reduce((n,r)=>$i(r)?[...n,Z(lo(r))]:je(),[])}function nw(e){let t=u.Keys(e),n=uC(t);return Hn(n)}var rw=m(()=>{gn();P();Ae();ks();z()});function ow(e){return Yr(e)}var sw=m(()=>{ze()});function iw(e){let t=e.map((n,r)=>Z(r));return Hn(t)}var aw=m(()=>{Ae();z()});function mw(e){return we(e)?Z$():be(e)?ew(e.items):ae(e)?nw(e.properties):tt(e)?ow(e):fe(e)?iw(e.items):le()}var uw=m(()=>{xt();ut();Ke();pe();ze();Fe();Q$();tw();rw();sw();aw()});function pC(e){return Ze(e)||Te(e)||X(e)||M(e)?co(e):e}function mc(e,t){return K([e])?l.Update(mw(pC(e)),{},t):is(e,t)}function pw(e,t,n,r){let o=$(e,t,n);return mc(o,r)}var Ba=m(()=>{E();ht();St();Le();V();za();j();ws();uw()});function ns(e,t,n,r,o={}){return C("Mapped",[e,t,n,r],o)}function cw(e,t,n,r,o={}){return uc({},xe([],[]),e,t,n,r,o)}var Ha=m(()=>{se();Va();j()});function cC(e){let t=rt(e);return Ja(t)}function lC(e){return e.reduce((t,n)=>[...t,...Ja(n)],[])}function dC(e){let t=dt(e);return Ja(t)}function fC(e){return u.IsNumber(e)?[Z(`${e}`)]:[Z(e)]}function Ja(e){return Qe(e)?dC(e.enum):me(e)?fC(e.const):Ee(e)?cC(e.pattern):M(e)?lC(e.anyOf):[e]}function lw(e){return Ja(e)}var dw=m(()=>{P();Ae();Qt();It();V();z();z()});function gC(e){return Ee(e)?rt(e.pattern):e}function xC(e,t,n,r,o,s){let a=l.Assign(e,{[n.name]:r}),p=$(a,t,o),c=gC(p),g=$(a,t,s);return Bf(c)||Hf(c)?{[c.const]:g}:{}}function hC(e,t,n,r,o,s){return r.reduce((a,p)=>[...a,xC(e,t,n,p,o,s)],[])}function yC(e){return e.reduce((t,n)=>[...t,q(n)],[])}function fw(e,t,n,r,o,s){let a=lw(r),p=hC(e,t,n,a,o,s),c=yC(p);return $e(c)}var gw=m(()=>{E();Ae();pe();It();j();z();z();dw()});function uc(e,t,n,r,o,s,a){return K([r])?l.Update(fw(e,t,n,r,o,s),{},a):ns(n,r,o,s,a)}function xw(e,t,n,r,o,s,a){let p=$(e,t,r);return uc(e,t,n,p,o,s,a)}var Va=m(()=>{E();Ha();j();gw()});function IC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:db(r,a,t[a])}),{})}function bC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:$(r,xe([],[]),t[a])}),{})}function $C(e,t,n){let r=mb(t),o=IC(e,t,r),s=bC(e,t,r),a={...o,...s};return l.Update(a,{},n)}function Ya(e,t,n,r){return $C(e,n,r)}var Xa=m(()=>{P();E();j();Np();_p();j()});function ea(e,t={}){return C("NonNullable",[e],t)}function hw(e,t={}){return pc(e,t)}var Za=m(()=>{se();Qa()});function wC(e){let t=B([Wr(),Zr()]);return Is(e,t,{})}function pc(e,t){return K([e])?l.Update(wC(e),{},t):ea(e,t)}function yw(e,t,n,r){let o=$(e,t,n);return pc(o,r)}var Qa=m(()=>{E();Br();eo();V();bs();Za();j()});function ta(e,t,n={}){return C("Omit",[e,t],n)}function Iw(e,t,n={}){let r=u.IsArray(t)?po(t):t;return cc(e,r,n)}var em=m(()=>{P();se();$s();tm()});function nm(e){let t=co(e);return ae(t)?t.properties:je()}var lc=m(()=>{gn();pe();ws()});function kC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function bw(e,t){let n=nm(e),r=fo(t),o=kC(n,r);return q(o)}var $w=m(()=>{P();pe();Ga();lc()});function cc(e,t,n){return K([e,t])?l.Update(bw(e,t),{},n):ta(e,t,n)}function ww(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return cc(s,a,o)}var tm=m(()=>{E();em();j();$w()});function na(e,t={}){return C("Parameters",[e],t)}function kw(e,t={}){return dc(e,t)}var rm=m(()=>{se();om()});function TC(e){let t=qe(e)?e.parameters:[],n=er({},xe([],[]),t);return Me(n)}function dc(e,t){return K([e])?l.Update(TC(e),{},t):na(e,t)}function Tw(e,t,n,r){let o=$(e,t,n);return dc(o,r)}var om=m(()=>{E();Nt();Fe();rm();j();j();j()});function ra(e,t={}){return C("Partial",[e],t)}function Ew(e,t={}){return fc(e,t)}var sm=m(()=>{se();im()});function vw(e,t){let n=kn(e,t),r=En(n);return dn(l.Assign(e,{[t]:r}),t)}var Sw=m(()=>{E();ht();go();vr()});function Pw(e,t,n){let r=tn(e,t,n);return En(r)}var Rw=m(()=>{go();z()});function Aw(e){let t=$e(e);return En(t)}var Ow=m(()=>{go();z()});function Mw(e){let t=e.map(n=>En(n));return B(t)}var Cw=m(()=>{V();go()});function Lw(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:cr(e[o])}),{});return q(t)}var jw=m(()=>{P();pe();Do()});function En(e){return Ze(e)?vw(e.$defs,e.$ref):Te(e)?Pw(e.if,e.then,e.else):X(e)?Aw(e.allOf):M(e)?Mw(e.anyOf):ae(e)?Lw(e.properties):q({})}var go=m(()=>{ht();St();Le();pe();V();Sw();Rw();Ow();Cw();jw()});function fc(e,t){return K([e])?l.Update(En(e),{},t):ra(e,t)}function Fw(e,t,n,r){let o=$(e,t,n);return fc(o,r)}var im=m(()=>{E();sm();go();j()});function oa(e,t,n={}){return C("Pick",[e,t],n)}function Dw(e,t,n={}){let r=u.IsArray(t)?po(t):t;return gc(e,r,n)}var am=m(()=>{P();se();$s();mm()});function EC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?l.Assign(r,{[o]:e[o]}):r,{})}function Nw(e,t){let n=nm(e),r=fo(t),o=EC(n,r);return q(o)}var qw=m(()=>{E();P();pe();Ga();lc()});function gc(e,t,n){return K([e,t])?l.Update(Nw(e,t),{},n):oa(e,t,n)}function _w(e,t,n,r,o){let s=$(e,t,n),a=$(e,t,r);return gc(s,a,o)}var mm=m(()=>{E();am();j();qw()});function sa(e,t={}){return C("ReadonlyObject",[e],t)}function xc(e,t={}){return hc(e,t)}var Uw,um=m(()=>{se();pm();Uw=xc});function Gw(e){return Kr(Ct(e))}var Kw=m(()=>{ut();Ko()});function Ww(e,t){let n=kn(e,t),r=vn(n);return dn(l.Assign(e,{[t]:r}),t)}var zw=m(()=>{E();ht();xo();vr()});function Bw(e,t,n){let r=tn(e,t,n);return vn(r)}var Hw=m(()=>{xo();z()});function Vw(e){let t=$e(e);return vn(t)}var Jw=m(()=>{xo();z()});function Yw(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:gr(e[o])}),{});return q(t)}var Xw=m(()=>{P();pe();Wo()});function Zw(e){return Kr(Me(e))}var Qw=m(()=>{Fe();Ko()});function ek(e){let t=e.map(n=>vn(n));return B(t)}var tk=m(()=>{V();xo()});function vn(e){return be(e)?Gw(e.items):Ze(e)?Ww(e.$defs,e.$ref):Te(e)?Bw(e.if,e.then,e.else):X(e)?Vw(e.allOf):ae(e)?Yw(e.properties):fe(e)?Zw(e.items):M(e)?ek(e.anyOf):e}var xo=m(()=>{ut();ht();St();Le();pe();Fe();V();Kw();zw();Hw();Jw();Xw();Qw();tk()});function hc(e,t){return K([e])?l.Update(vn(e),{},t):sa(e)}function nk(e,t,n,r){let o=$(e,t,n);return hc(o,r)}var pm=m(()=>{E();um();xo();j()});function rk(e,t,n,r){return t.visited.includes(r)?n:r in e?$(e,xe(t.callstack,[...t.visited,r]),e[r]):n}var yc=m(()=>{j();j()});function ok(e,t){let n=kn(e,t),r=Sn(n);return dn(l.Assign(e,{[t]:r}),t)}var sk=m(()=>{E();ht();ho();vr()});function ik(e,t,n){let r=tn(e,t,n);return Sn(r)}var ak=m(()=>{ho();z()});function mk(e){let t=$e(e);return Sn(t)}var uk=m(()=>{ho();z()});function pk(e){let t=e.map(n=>Sn(n));return B(t)}var ck=m(()=>{V();ho()});function lk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Ai(e[o])}),{});return q(t)}var dk=m(()=>{P();pe();Oi()});function Sn(e){return Ze(e)?ok(e.$defs,e.$ref):Te(e)?ik(e.if,e.then,e.else):X(e)?mk(e.allOf):M(e)?pk(e.anyOf):ae(e)?lk(e.properties):q({})}var ho=m(()=>{ht();St();Le();pe();V();sk();ak();uk();ck();dk()});function ia(e,t={}){return C("Required",[e],t)}function fk(e,t={}){return Ic(e,t)}var cm=m(()=>{se();lm()});function Ic(e,t){return K([e])?l.Update(Sn(e),{},t):ia(e,t)}function gk(e,t,n,r){let o=$(e,t,n);return Ic(o,r)}var lm=m(()=>{E();ho();cm();j()});function aa(e,t={}){return C("ReturnType",[e],t)}function xk(e,t={}){return bc(e,t)}var dm=m(()=>{se();fm()});function vC(e){return qe(e)?e.returnType:le()}function bc(e,t){return K([e])?l.Update(vC(e),{},t):aa(e,t)}function hk(e,t,n,r={}){let o=$(e,t,n);return bc(o,r)}var fm=m(()=>{E();Nt();Ke();dm();j()});function ma(e,t){return C("With",[e,t],{})}function yk(e,t){return $c(e,t)}var gm=m(()=>{se();xm()});function $c(e,t){return K([e])?l.Update(e,{},t):ma(e,t)}function Ik(e,t,n,r){let o=$(e,t,n);return $c(o,r)}var xm=m(()=>{E();j();gm()});function SC(e){return Yn(e)?fe(e.items)?wc(e.items.items):Pe(e.items)?[e]:_e(e.items)?[e]:[le()]:[e]}function wc(e){return e.reduce((n,r)=>[...n,...SC(r)],[])}var bk=m(()=>{_t();Ke();Xr();qt();Fe()});var $k=m(()=>{bk()});function xe(e,t){return{callstack:e,visited:t}}function K(e){return u.ShiftLeft(e,(t,n)=>_e(t)?!1:K(n),()=>!0)}function ds(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:$(e,t,n[o])}),{})}function er(e,t,n){let r=Lt(e,t,n);return wc(r)}function Lt(e,t,n){return n.map(r=>$(e,t,r))}function PC(e,t){let n=nt(e)?jo(t,{}):t,r=xr(e)?Lo(n,{}):n;return fr(e)?vs(r,{}):r}function RC(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?wk(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?Ob(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?Pd(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?ug(e,t,r[0],o):u.IsEqual(n,"AddOptional")?Rd(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?lg(e,t,r[0],o):u.IsEqual(n,"Capitalize")?Wb(e,t,r[0],o):u.IsEqual(n,"Conditional")?Jb(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"ConstructorParameters")?Xb(e,t,r[0],o):u.IsEqual(n,"Evaluate")?hb(e,t,r[0],o):u.IsEqual(n,"Exclude")?Qb(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?o$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?V$(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?Y$(e,t,r[0],o):u.IsEqual(n,"Interface")?ob(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?pw(e,t,r[0],o):u.IsEqual(n,"Lowercase")?zb(e,t,r[0],o):u.IsEqual(n,"Mapped")?xw(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?Ya(e,t,r[0],o):u.IsEqual(n,"NonNullable")?yw(e,t,r[0],o):u.IsEqual(n,"Pick")?_w(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?Tw(e,t,r[0],o):u.IsEqual(n,"Partial")?Fw(e,t,r[0],o):u.IsEqual(n,"Omit")?ww(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?nk(e,t,r[0],o):u.IsEqual(n,"Record")?Dg(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?gk(e,t,r[0],o):u.IsEqual(n,"ReturnType")?hk(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?Zy(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?Bb(e,t,r[0],o):u.IsEqual(n,"Uppercase")?Hb(e,t,r[0],o):u.IsEqual(n,"With")?Ik(e,t,r[0],r[1]):C(n,r,o)}function AC(e,t,n){let r=_e(n)?rk(e,t,n,n.$ref):be(n)?Ct($(e,t,n.items),ci(n)):uo(n)?Ra(e,t,n.target,n.arguments):Ne(n)?pn(Lt(e,t,n.parameters),$(e,t,n.instanceType),Ad(n)):qe(n)?cn(Lt(e,t,n.parameters),$(e,t,n.returnType),Od(n)):Te(n)?dr($(e,t,n.if),$(e,t,n.then),$(e,t,n.else),Nd(n)):X(n)?yt(Lt(e,t,n.allOf),Kd(n)):ae(n)?q(ds(e,t,n.properties),jd(n)):tt(n)?Ng(zt(n),$(e,t,ft(n))):Yn(n)?$r($(e,t,n.items)):fe(n)?Me(er(e,t,n.items),mg(n)):M(n)?B(Lt(e,t,n.anyOf),Jf(n)):n;return PC(n,r)}function $(e,t,n){return Un(n)?RC(e,t,n.action,n.parameters,n.options):AC(e,t,n)}function kc(e,t){return $(e,xe([],[]),t)}var j=m(()=>{P();hm();ui();pi();ut();Dt();se();Nt();to();St();Le();pe();ze();Fe();V();qt();Xr();hm();Vp();ui();Bu();pi();Ju();Kn();Go();zo();Hp();Tn();tc();Da();Pa();bs();_a();Ua();Wa();Ea();Ba();Tn();Va();Xa();Qa();tm();om();im();mm();pm();ji();yc();lm();fm();ba();Tn();Tn();xm();$k()});function OC(e){return l.Update(e,{"~immutable":!0},{})}function vs(e,t){return l.Update(OC(e),{},t)}function wk(e,t,n,r){let o=$(e,t,n);return vs(o,r)}var hm=m(()=>{E();j()});function _h(e,t={}){return C("AddImmutable",[e],t)}function Kr(e,t={}){return vs(e,t)}var Ko=m(()=>{se();hm()});var kk=m(()=>{se();Vp()});function Uh(e,t={}){return C("Evaluate",[e],t)}function Tk(e,t={}){return Kp(e,t)}var Tc=m(()=>{se();Pa()});function Gh(e,t={}){return C("Module",[e],t)}function Ek(e,t={}){return Ya({},xe([],[]),e,t)}var Ec=m(()=>{se();j();Xa()});var no=m(()=>{Ko();Wo();Do();kk();Hu();Oi();Oa();ja();Fa();Tc();Na();qa();oc();Ka();fs();za();Ma();Ha();Ec();Za();em();rm();sm();am();um();cm();dm();Ca();La();gm()});var vk=m(()=>{Da()});var Sk=m(()=>{xi()});var Pk=m(()=>{bs()});var Rk=m(()=>{_a()});var Ak=m(()=>{});var Ok=m(()=>{$s();ks();Ak()});var Mk=m(()=>{Ua()});var Ck=m(()=>{Wa()});var Lk=m(()=>{Ea()});var jk=m(()=>{Tn()});var Fk=m(()=>{Ba()});var Dk=m(()=>{Va()});var Nk=m(()=>{Xa()});var qk=m(()=>{Qa()});var _k=m(()=>{tm()});var Uk=m(()=>{om()});var Gk=m(()=>{Jo();Ep()});var Kk=m(()=>{im()});var Wk=m(()=>{mm()});var zk=m(()=>{P();Qo()});var Bk=m(()=>{zk()});var Hk=m(()=>{pm()});var Vk=m(()=>{ji()});var Jk=m(()=>{yc()});var Yk=m(()=>{lm()});var Xk=m(()=>{fm()});var Zk=m(()=>{});var Qk=m(()=>{P();Jo()});var eT=m(()=>{Pi();Ri();vp();Zk();vi();Qk()});var tT=m(()=>{xm()});var nT=m(()=>{j();tc();vk();Up();Sk();cs();Pk();Rk();Ok();Mk();Ck();Lk();jk();Fk();Dk();Nk();qk();ws();_k();Uk();Gk();Kk();Wk();Bk();Hk();Vk();Jk();Yk();Xk();eT();tT()});function rT(...e){let[t,n,r]=fn.Match(e,{2:(a,p)=>u.IsString(a)?[{},a,p]:[a,p,{}],3:(a,p,c)=>[a,p,c],1:a=>[{},a,{}]}),o=Hy(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?$(t,xe([],[]),o[0]):le();return l.Update(s,{},r)}var oT=m(()=>{Gr();E();P();Ki();j();j();Ti()});var vc=m(()=>{oT()});var ie={};Ot(ie,{Any:()=>Ur,Array:()=>Ct,BigInt:()=>Bo,Boolean:()=>Ii,Call:()=>Rb,Capitalize:()=>_b,Codec:()=>yi,Conditional:()=>Vb,Constructor:()=>pn,ConstructorParameters:()=>Yb,Cyclic:()=>dn,Decode:()=>qf,DecodeBuilder:()=>Uo,Dependent:()=>dr,Encode:()=>_f,EncodeBuilder:()=>_o,Enum:()=>Gd,Evaluate:()=>Tk,Exclude:()=>Zb,Extends:()=>et,ExtendsResult:()=>_,Extract:()=>e$,Function:()=>cn,Generic:()=>Gn,Identifier:()=>Ho,Immutable:()=>Uf,Index:()=>s$,Infer:()=>No,InstanceType:()=>J$,Instantiate:()=>kc,Integer:()=>yr,Interface:()=>sb,Intersect:()=>yt,IsAny:()=>we,IsArray:()=>be,IsBigInt:()=>hn,IsBoolean:()=>Ut,IsCall:()=>uo,IsCodec:()=>hi,IsConstructor:()=>Ne,IsCyclic:()=>Ze,IsDependent:()=>Te,IsEnum:()=>Qe,IsEnumValue:()=>Ud,IsFunction:()=>qe,IsGeneric:()=>_r,IsIdentifier:()=>zf,IsImmutable:()=>fr,IsInfer:()=>Pe,IsInteger:()=>pt,IsIntersect:()=>X,IsKind:()=>R,IsLiteral:()=>me,IsNever:()=>Zt,IsNull:()=>zr,IsNumber:()=>Oe,IsObject:()=>ae,IsOptional:()=>nt,IsParameter:()=>Vf,IsReadonly:()=>xr,IsRecord:()=>tt,IsRef:()=>_e,IsRefine:()=>qu,IsRest:()=>Yn,IsSchema:()=>Ce,IsString:()=>lt,IsSymbol:()=>zn,IsTemplateLiteral:()=>Ee,IsThis:()=>_i,IsTuple:()=>fe,IsUndefined:()=>Qr,IsUnion:()=>M,IsUnknown:()=>Se,IsUnsafe:()=>fi,IsVoid:()=>bn,KeyOf:()=>X$,Literal:()=>Z,Lowercase:()=>Ub,Mapped:()=>cw,Module:()=>Ek,Never:()=>le,NonNullable:()=>hw,Null:()=>Wr,Number:()=>Pt,Object:()=>q,Omit:()=>Iw,Optional:()=>Cd,Parameter:()=>br,Parameters:()=>kw,Partial:()=>Ew,Pick:()=>Dw,Readonly:()=>Gf,ReadonlyObject:()=>xc,ReadonlyType:()=>Uw,Record:()=>Di,RecordKey:()=>Yr,RecordPattern:()=>zt,RecordValue:()=>ft,Ref:()=>On,Refine:()=>Kf,Required:()=>fk,Rest:()=>$r,ReturnType:()=>xk,Script:()=>rT,String:()=>Gt,Symbol:()=>Hr,TemplateLiteral:()=>eI,This:()=>qi,Tuple:()=>Me,Uncapitalize:()=>Gb,Undefined:()=>Zr,Union:()=>B,Unknown:()=>We,Unsafe:()=>Fd,Uppercase:()=>Kb,Void:()=>Gi,With:()=>yk});var Sc=m(()=>{j();In();vc();Oa();ja();Fa();Tc();Na();qa();no();Ka();fs();za();Ma();Ha();Ec();Za();em();rm();sm();am();um();cm();dm();Ca();La();gm();Nu();Go();Kn();zo();_u();xt();ut();hr();Wn();to();Dt();ht();Qt();Nt();Fo();Uu();St();_t();yn();Le();Ae();Ke();Br();ct();pe();Ku();ze();qt();Xr();W();Kt();Ir();It();Ui();Fe();eo();V();Xe();gi();wr()});var yo=m(()=>{no();nT();In();vc();Ki();Sc();Sc()});import{StringEnum as MC}from"@earendil-works/pi-ai";import{defineTool as CC}from"@earendil-works/pi-coding-agent";function sT(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${LC[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(`
15
- `)}function FC(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 DC(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 LC,jC,ym,Pc=m(()=>{yo();LC={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},jC=ie.Object({op:MC(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:ie.Optional(ie.Array(ie.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:ie.Optional(ie.String({description:"Exact label of the task to start, complete or drop"}))});ym=CC({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:jC,async execute(e,t,n,r,o){let s=DC(o),{todos:a,error:p}=FC(s,t.op,t.items,t.task),c={op:t.op,todos:a,...p?{error:p}:{}};return{content:[{type:"text",text:p?`Error: ${p}
16
- ${sT(a)}`:sT(a)}],details:c,...p?{isError:!0}:{}}}})});import{StringEnum as NC}from"@earendil-works/pi-ai";import{defineTool as qC}from"@earendil-works/pi-coding-agent";function mT(){return jn.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...jn].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
17
- `)}function _C(e,t,n){if(e==="list")return jn.size===0?{text:"No notes."}:{text:[...jn].map(([r,o])=>`${r} = ${o}`).join(`
18
- `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>aT)return{text:`Error: key longer than ${aT} characters`,error:"key too long"};if(e==="forget")return{text:jn.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>iT?`${n.slice(0,iT)}\u2026`:n;return jn.set(t,r),{text:`Recorded ${t} (${jn.size} note${jn.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var jn,iT,aT,Im,bm=m(()=>{yo();jn=new Map,iT=2e3,aT=80;Im=qC({name:"context",label:"context",description:"Record a durable working note (a decision, a file's role, a fact you would otherwise re-derive). Notes survive context compaction and are visible to every agent on this task, including subagents. Use `set` to write, `list` to read, `forget` to remove.",promptSnippet:"context: durable notes shared with every agent on this task",parameters:ie.Object({op:NC(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:ie.Optional(ie.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:ie.Optional(ie.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:n,error:r}=_C(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(jn)},...r?{isError:!0}:{}}}})});import{StringEnum as UC}from"@earendil-works/pi-ai";import{defineTool as GC}from"@earendil-works/pi-coding-agent";function wm(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??$m,n=[`${cT[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
19
- ${e.text}`}function lT(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??$m,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${cT[e.status]} ${e.used}/${t} \xB7 ${n}`}function dT(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(`
20
- `)}function fT(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??$m}.`].join(`
21
- `)}function km(){return gT}function nn(e){gT=e}function Tm(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??$m;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function Rc(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>uT?{goal:e,error:`text longer than ${uT} 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 Io(e){let t;for(let n of e.sessionManager.getBranch()){if(n.type==="custom"&&n.customType===nr){t=n.data;continue}if(n.type==="custom_message"&&n.customType===nr){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 nr,pT,uT,$m,cT,gT,KC,xT,Em=m(()=>{yo();nr="howtofix.goal",pT="howtofix.goal.continue",uT=400,$m=25,cT={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};KC=ie.Object({op:UC(["set","view","pause","resume","complete","clear"],{description:"set starts a goal; complete closes it with evidence; pause/resume/clear manage it; view reads it"}),text:ie.Optional(ie.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:ie.Optional(ie.Number({description:"Optional cap on automatic continuations before the run stops"})),note:ie.Optional(ie.String({description:"Evidence that the goal is met (required for complete)"}))}),xT=GC({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:KC,async execute(e,t,n,r,o){let s=Io(o),{goal:a,error:p}=Rc(s,t.op,t.text,t.budget,t.note);nn(a);let c=wm(a);return{content:[{type:"text",text:p?`Error: ${p}
22
- ${c}`:c}],details:{op:t.op,goal:a},...p?{isError:!0}:{}}}})});import{existsSync as Mc,mkdirSync as hT,readFileSync as yT,writeFileSync as IT}from"node:fs";import{dirname as bT,join as $T}from"node:path";import{defineTool as wT}from"@earendil-works/pi-coding-agent";function vm(){return{state:"inactive",wasActive:!1}}function WC(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:vm()}function kT(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function zC(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function BC(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function HC(e){return e.state!=="active"?e:{...e,state:"inactive"}}function TT(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Sm(e){return e.state==="active"}function VC(e,t){return e===t}function JC(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(`
23
- `)}function YC(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 Pm(){return at}function ET(){return it}function vT(){return Sm(at)}function ST(){if(!(!it||!Mc(it)))try{let e=yT(it,"utf8");return e.trim()?e:void 0}catch{return}}function PT(){return ST()!==void 0}function RT(){return at.state==="inactive"?"":at.state==="pending"?"plan pending":PT()?"plan \u25CF ready":"plan \u25CF planning"}function AT(){return Oc?$T(Oc,"plan_mode.json"):void 0}function XC(){let e=AT();if(e)try{hT(bT(e),{recursive:!0}),IT(e,JSON.stringify(at))}catch{}}function ZC(){let e=AT();if(!e||!Mc(e))return vm();try{return WC(JSON.parse(yT(e,"utf8")))}catch{return vm()}}function QC(e){Oc=e,it=$T(e,"plan.md"),at=ZC()}function bo(e){return at=e,XC(),at}function OT(){return e=>{e.on("tool_call",async t=>{if(!Sm(at)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!it||VC(n,it)))return{block:!0,reason:YC(it)}})}}function MT(){return e=>{e.on("session_start",async(t,n)=>{QC(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{at.state==="pending"&&bo(zC(at))}),e.on("context_with_system",async t=>{if(!Sm(at)||!it)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=JC(it,PT()),o=`${typeof n.content=="string"?n.content:""}
24
-
25
- ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function e0(){if(it){try{hT(bT(it),{recursive:!0}),Mc(it)||IT(it,"")}catch{return}return it}}var it,at,Oc,Ac,CT,LT,Cc=m(()=>{yo();at=vm();Ac=2e4;CT=wT({name:"enter_plan_mode",label:"enter_plan_mode",description:"Enter plan mode to design an approach before writing code. Use it when a task has genuine ambiguity \u2014 several reasonable designs, or a restructuring where the wrong approach wastes significant effort. Do not use it for a clear fix, a rename, or a task that follows existing conventions. The user must approve entering.",promptSnippet:"enter_plan_mode: design first when the approach is genuinely ambiguous",parameters:ie.Object({}),async execute(e,t,n,r,o){if(at.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${at.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:{}};bo(BC(at));let a=e0();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(`
26
- `)}],details:{planFile:a}}}}),LT=wT({name:"exit_plan_mode",label:"exit_plan_mode",description:"Present your plan for approval when you have finished planning. The plan is read from the plan file on disk, so write the file first. If the user asks for changes, stay in plan mode and revise it.",promptSnippet:"exit_plan_mode: present the written plan for approval",parameters:ie.Object({}),executionMode:"sequential",async execute(e,t,n,r,o){if(!Sm(at))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=ST();if(!s)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${it??"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>Ac?`${s.slice(0,Ac)}
27
- \u2026 (${s.length-Ac} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?(bo(HC(at)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:it}}):{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 Lc(){return{consecutiveFailures:0,tripped:!1}}function t0(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function n0(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function r0(){return Lc()}function o0(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 jT(){return e=>{e.on("session_start",async()=>{rr=Lc()}),e.on("session_compact",async()=>{rr=r0()}),e.on("session_compact_failed",async(t,n)=>{let r=rr;rr=n0(rr,t.aborted),!r.tripped&&rr.tripped&&n?.ui&&n.ui.notify(o0(rr),"warning")}),e.on("session_before_compact",async t=>{if(t0(rr,t.reason))return{cancel:!0}})}}var rr,FT=m(()=>{rr=Lc()});function Rm(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(`
28
- `):e==null?"":String(e)}function Am(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 jc=m(()=>{});function s0(e){nn(Io(e))}function DT(e){return`budget exhausted (${e.budget??"default"} continuations)`}function NT(){return e=>{e.on("session_start",async(t,n)=>{s0(n)}),e.on("context_with_system",async(t,n)=>{let r=Io(n);if(nn(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${Rm(o.content)}
29
-
30
- ${dT(r)}`;return{messages:t.messages.map(p=>p===o?{...o,content:Am(o.content,s)}:p)}}),e.on("agent_before_settle",async(t,n)=>{let r=Io(n);if(nn(r),Tm(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(nr,o),nn(o),Tm(o).action==="stop"){let s={...o,status:"done",note:DT(o)};e.appendEntry(nr,s),nn(s);return}return{entries:[{type:"custom_message",customType:pT,content:fT(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=Io(n),o=Tm(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:DT(r)};e.appendEntry(nr,s),nn(s)}else nn(r)})}}var qT=m(()=>{jc();Em()});function Om(){return e=>{e.on("context_with_system",async t=>{let n=mT();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Rm(r.content)}
31
-
32
- ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Am(r.content,o)}:a)}})}}var Fc=m(()=>{jc();bm()});import{mkdirSync as i0,readdirSync as a0,readFileSync as m0,writeFileSync as u0}from"node:fs";import{join as _T}from"node:path";import{createAgentSession as p0,DefaultResourceLoader as c0,SessionManager as l0}from"@earendil-works/pi-coding-agent";function UT(e){i0(Fr,{recursive:!0}),u0(_T(Fr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function GT(){let e;try{e=a0(Fr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(m0(_T(Fr,t),"utf8"));if(n.status!=="parked"||rn.some(r=>r.id===n.id))continue;rn.push({...n,mail:n.mail??[]})}catch{}}function Nc(){return GT(),rn.length===0?"no agents":rn.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
33
- `)}function qc(e){GT();let t=rn.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
34
- ${t.result??t.task}`:`no agent ${e}`}async function _c(e){let t=Pr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||process.cwd(),r=new c0({cwd:n,agentDir:Ye,extensionFactories:[Om()]});await r.reload();let{session:o}=await p0({cwd:n,agentDir:Ye,sessionManager:l0.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[Im,ym],thinkingLevel:e.effort});return o}async function KT(e){let t=Pr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Pr.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${rn.length+1}`,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return rn.push(n),UT(n),n}async function x0(e,t){let n=Pr.get(e.agent);if(!n)return;let r=e.session??await _c(e);e.session=r;try{let o=e.mail.splice(0).join(`
4
+ `)});var Ol={};Mt(Ol,{AGENTS_STORE_DIR:()=>jr,AGENT_DIR:()=>Ye,CUBENCE_CACHE_PATH:()=>iu,WORKFLOWS_DIR:()=>au,pinAgentDir:()=>mu});import{homedir as Zv}from"node:os";import{join as Ws}from"node:path";function mu(){process.env.PI_CODING_AGENT_DIR=Ye}var Ye,jr,iu,au,Nn=m(()=>{Ye=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||Ws(Zv(),".howtofix","agent"),jr=Ws(Ye,"agents"),iu=Ws(Ye,"cubence-cache.json"),au=Ws(Ye,"workflows")});var Dl={};Mt(Dl,{DEFAULT_CONTEXT_WINDOW:()=>jl,HOWTOFIX_BASE_URL:()=>zs,HOWTOFIX_CONSOLE_URL:()=>Bs,HOWTOFIX_MODEL_COMPAT:()=>cu,HOWTOFIX_PROVIDERS:()=>uu,HTTP_IDLE_TIMEOUT_MS:()=>Ll,applyCompat:()=>Vs,checkAccount:()=>xu,countNewModels:()=>fu,ensureGatewaySettings:()=>nS,isHowtofixProvider:()=>vo,looksLikeToken:()=>lu,maskToken:()=>Hs,mergeModels:()=>du,newProviderEntry:()=>pu,parseModelIds:()=>Fl,probeModel:()=>gu,repairGatewayModels:()=>tS});import{existsSync as Qv,mkdirSync as eS,readFileSync as Al,writeFileSync as Ml}from"node:fs";import{join as Cl}from"node:path";function pu(){return{baseUrl:zs,api:"openai-completions"}}function tS(e){let t=Cl(e,"models.json"),n;try{n=JSON.parse(Al(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of uu){let a=r[s];if(!a||!Array.isArray(a.models))continue;let p=Vs(a.models);p.changed!==0&&(a.models=p.models,o+=p.changed)}if(o===0)return 0;try{Ml(t,`${JSON.stringify(n,null,2)}
5
+ `)}catch{return 0}return o}function nS(e){let t=Cl(e,"settings.json"),n={};try{let r=Al(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(Qv(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=Ll;try{eS(e,{recursive:!0}),Ml(t,`${JSON.stringify(n,null,2)}
6
+ `)}catch{return!1}return!0}function Hs(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function lu(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function Fl(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 vo(e){return uu.includes(e)}function du(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:jl,compat:{...cu}}));return r}function Vs(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...cu}})),changed:t}}function fu(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function gu(e,t,n){let r=(n?.baseUrl??zs).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,p=setTimeout(()=>a.abort(),s);try{let c=await o(`${r}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:a.signal});if(c.ok)return{ok:!0,detail:"ok"};let x=await c.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(x)?.[1]??`HTTP ${c.status}`}}catch(c){return{ok:!1,detail:c instanceof Error&&c.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(p)}}async function xu(e,t){let n=(t?.baseUrl??zs).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,models:[],message:"no token given"};let a=new AbortController,p=setTimeout(()=>a.abort(),o);try{let c=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(c.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(c.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!c.ok)return{ok:!1,models:[],message:`the gateway answered ${c.status}`};let x=Fl(await c.json());return x.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:x,message:`${x.length} models available to this token`}}catch(c){let x=c instanceof Error&&c.name==="AbortError";return{ok:!1,models:[],message:x?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(p)}}var zs,Bs,uu,Ll,cu,jl,hu=m(()=>{zs="https://api.howtofix.id/v1",Bs="https://howtofix.id/console/token",uu=["howtofix","howtofix-free"];Ll=9e4;cu={supportsDeveloperRole:!1},jl=128e3});var Nl={};Mt(Nl,{expandFileReferences:()=>yu});import{readFileSync as rS,statSync as oS}from"node:fs";import{isAbsolute as sS,resolve as iS}from"node:path";function yu(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),a=o.slice(s.length),p=sS(s)?s:iS(t,s);try{let c=oS(p);if(!c.isFile()||c.size===0||c.size>aS)return n;let x=rS(p);return x.includes(0)?n:`${r}<file name="${p}">
7
+ ${x.toString("utf8").trimEnd()}
8
+ </file>${a}`}catch{return n}})}var aS,Iu=m(()=>{aS=64*1024});function uS(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 ql(e,t){if(mS.has(e))return;let n=`${e}\0${uS(t)}`,r=So&&So.signature===n?So.count+1:1;return So={signature:n,count:r},r>=3?{repeats:r}:void 0}function _l(){So=void 0}function Ul(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 mS,So,bu=m(()=>{mS=new Set(["think"])});function Gl(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function cS(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(pS.test(o)){let s=o.includes("="),[a="",...p]=o.split("="),c=n.safeFlags[a];if(!c)return!1;if(c==="none"){if(s)return!1;r++;continue}if(c==="optional"){r++;continue}if(s){if(!Gl(p.join("="),c))return!1;r++;continue}let x=e[r+1];if(x===void 0||!Gl(x,c))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function hS(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function yS(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function IS(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 bS(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"&&Wl[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:zl[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function wS(e){let t=IS(e),n=bS(t);if(!n)return!1;let{name:r,rest:o}=n;if($S.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let s=Wl[r]??gS[r]??zl[r];return s?s.dangerous?.(o)?!1:cS(o,0,s):!!(fS.includes(r)||xS.includes(r))}function Zs(e){let t=hS(e);return!t||t.length===0||yS(t)?!1:t.every(wS)}var pS,lS,Js,Ys,$u,Xs,wu,Kl,dS,Wl,fS,gS,zl,xS,$S,ku=m(()=>{pS=/^-[a-zA-Z0-9_-]/;lS={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},Js={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},Ys={"--max-count":"number","-n":"number"},$u={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},Xs={"--color":"none","--no-color":"none"},wu={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},Kl={"--author":"string","--committer":"string","--grep":"string"},dS={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},Wl={"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",...Xs}},"git diff":{safeFlags:{...$u,...Xs,...wu,"--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:{...Js,...Ys,...$u,...Xs,...wu,...Kl,...lS,"--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:{...$u,...Xs,...wu,...Js,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...Ys,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...Ys,...Js,...Kl,"--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:{...Ys,"--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:{...Js}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...dS,"--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"}}},fS=["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"],gS={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))}},zl={"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:{}}},xS=["cd","alias","history","arch","ip addr","ifconfig"];$S=new Set(["echo","printf"])});var Ql={};Mt(Ql,{APPROVAL_LABELS:()=>Qs,APPROVAL_MODES:()=>Fr,MODE_MAX_TIER:()=>Bl,TIER_RANK:()=>Tu,createPermissionExtension:()=>Pu,criticalCommand:()=>Vl,decideToolCall:()=>Yl,describeToolCall:()=>Xl,formatApprovalPrompt:()=>Zl,getApprovalMode:()=>vS,isApprovalMode:()=>kS,isReadOnlyCommand:()=>Zs,resolveTier:()=>Hl,setApprovalMode:()=>vu,setApprovalPrompt:()=>Su});function kS(e){return Fr.includes(e)}function Hl(e){let t=TS[e];return t||(e.startsWith("mcp__")?"write":"exec")}function Vl(e){for(let{pattern:t,reason:n}of ES)if(t.test(e))return n}function vu(e){Eu=e}function vS(){return Eu}function Su(e){Jl=e}function Yl(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=Vl(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(Zs(r))return{action:"run"}}let o=Hl(t);return Tu[o]<=Tu[Bl[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function Xl(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 Zl(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=Xl(e,t);return o!==e&&r.push(o),r.join(`
9
+ `)}function Pu(){return e=>{e.on("tool_call",async t=>{let n=ql(t.toolName,t.input);if(n)return{block:!0,reason:Ul(t.toolName,n.repeats)};let r=Eu,o=Yl(r,t.toolName,t.input);if(o.action==="run")return;if(o.action==="deny")return{block:!0,reason:o.reason};if(!await Jl(`${t.toolName} wants to run`,Zl(t.toolName,t.input,o.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${r}).`}})}}var Fr,Qs,Tu,Bl,TS,ES,Eu,Jl,ei=m(()=>{bu();ku();ku();Fr=["suggest","auto-edit","full-auto"],Qs={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Tu={read:0,write:1,exec:2},Bl={suggest:"read","auto-edit":"write","full-auto":"exec"},TS={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};ES=[{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"}];Eu="auto-edit",Jl=async()=>!1});function SS(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 RS(e){if(!e)return;let t=!1,n={...e};for(let r of PS){let o=n[r];if(typeof o!="string")continue;let s=SS(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function ed(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=RS(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var PS,td=m(()=>{PS=["preamble","rules","docs","addendum"]});import{Type as Dr}from"@earendil-works/pi-ai";import{defineTool as nd}from"@earendil-works/pi-coding-agent";function rd(e){Ru=e}var Ru,od,sd,Ou=m(()=>{od=nd({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:Dr.Object({thoughts:Dr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),sd=nd({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:Dr.Object({question:Dr.String(),options:Dr.Array(Dr.String(),{minItems:2})}),async execute(e,t){if(!Ru)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await Ru(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var Jt,ar=m(()=>{Jt={assign:0,create:0,clone:0,discard:0,update:0}});function mr(e,t,n){return e>=t&&e<=n}function md(e){return e===8205}function OS(e){return mr(e,55296,56319)}function id(e){return mr(e,127462,127487)}function ud(e){return mr(e,65024,65039)}function pd(e){return mr(e,768,879)||mr(e,6832,6911)||mr(e,7616,7679)||mr(e,65056,65071)}function ti(e){return e>65535?2:1}function ad(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(pd(n)||ud(n))t+=ti(n);else break}return t}function Au(e,t){let n=e.codePointAt(t),r=t+ti(n);for(r=ad(e,r);r<e.length-1&&md(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+ti(o),r=ad(e,r)}return id(n)&&r<e.length&&id(e.codePointAt(r))&&(r+=ti(e.codePointAt(r))),r}function cd(e){return e>=768&&(OS(e)||pd(e)||ud(e)||md(e))}function ld(e){let t=0,n=0;for(;n<e.length;)n=Au(e,n),t++;return t}function AS(e,t){let n=0,r=0;for(;r<e.length;)if(r=Au(e,r),++n>=t)return!0;return!1}function MS(e,t){let n=0,r=0;for(;r<e.length;)if(r=Au(e,r),++n>t)return!1;return!0}function dd(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(cd(e.charCodeAt(n)))return AS(e,t);if(++n>=t)return!0}}function fd(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(cd(e.charCodeAt(n)))return MS(e,t);if(++n>t)return!1}}var gd=m(()=>{});var u={};Mt(u,{Counted:()=>VS,Entries:()=>XS,EntriesRegExp:()=>YS,Every:()=>WS,EveryAll:()=>zS,GraphemeCount:()=>US,HasPropertyKey:()=>JS,IsArray:()=>Ro,IsBigInt:()=>Po,IsBoolean:()=>xd,IsClassInstance:()=>_S,IsConstructor:()=>LS,IsDeepEqual:()=>Lu,IsEqual:()=>te,IsFunction:()=>hd,IsGreaterEqualThan:()=>Id,IsGreaterThan:()=>DS,IsInteger:()=>Mu,IsLessEqualThan:()=>yd,IsLessThan:()=>NS,IsMaxLength:()=>GS,IsMinLength:()=>KS,IsMultipleOf:()=>qS,IsNull:()=>ri,IsNumber:()=>oi,IsObject:()=>Oo,IsObjectNotArray:()=>jS,IsString:()=>si,IsSymbol:()=>FS,IsUndefined:()=>Cu,IsUnsafePropertyKey:()=>$d,IsValueLike:()=>bd,Keys:()=>ni,ShiftLeft:()=>ii,Some:()=>BS,SomeAll:()=>HS,Symbols:()=>ZS,Values:()=>QS});function Ro(e){return Array.isArray(e)}function Po(e){return te(typeof e,"bigint")}function xd(e){return te(typeof e,"boolean")}function LS(e){if(Cu(e)||!hd(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function hd(e){return te(typeof e,"function")}function Mu(e){return Number.isInteger(e)}function ri(e){return te(e,null)}function oi(e){return Number.isFinite(e)}function jS(e){return Oo(e)&&!Ro(e)}function Oo(e){return te(typeof e,"object")&&!ri(e)}function si(e){return te(typeof e,"string")}function FS(e){return te(typeof e,"symbol")}function Cu(e){return te(e,void 0)}function te(e,t){return e===t}function DS(e,t){return e>t}function NS(e,t){return e<t}function yd(e,t){return e<=t}function Id(e,t){return e>=t}function qS(e,t){if(Po(e)||Po(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!oi(e)||Mu(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 _S(e){if(!Oo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return ri(t)?!1:te(typeof t.constructor,"function")&&!(te(t.constructor,globalThis.Object)||te(t.constructor.name,"Object"))}function bd(e){return Po(e)||xd(e)||ri(e)||oi(e)||si(e)||Cu(e)}function US(e){return ld(e)}function GS(e,t){return fd(e,t)}function KS(e,t){return dd(e,t)}function WS(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function zS(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function BS(e,t){return e.some((n,r)=>t(n,r))}function HS(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function VS(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function ii(e,t,n){return te(e.length,0)?n():t(e[0],e.slice(1))}function $d(e){return te(e,"__proto__")||te(e,"constructor")||te(e,"prototype")}function JS(e,t){return $d(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function YS(e){return ni(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function XS(e){return Object.entries(e)}function ni(e){return Object.getOwnPropertyNames(e)}function ZS(e){return Object.getOwnPropertySymbols(e)}function QS(e){return Object.values(e)}function eP(e,t){if(!Oo(t))return!1;let n=ni(e);return te(n.length,ni(t).length)&&n.every(r=>Lu(e[r],t[r]))}function tP(e,t){return Ro(t)&&te(e.length,t.length)&&e.every((n,r)=>Lu(e[r],t[r]))}function Lu(e,t){return Ro(e)?tP(e,t):Oo(e)?eP(e,t):te(e,t)}var Nr=m(()=>{gd()});var wd=m(()=>{Nr()});var qn={};Mt(qn,{IsBigInt64Array:()=>xP,IsBigUint64Array:()=>hP,IsBoolean:()=>rP,IsDate:()=>IP,IsFloat32Array:()=>fP,IsFloat64Array:()=>gP,IsInt16Array:()=>pP,IsInt32Array:()=>lP,IsInt8Array:()=>aP,IsMap:()=>$P,IsNumber:()=>oP,IsRegExp:()=>yP,IsSet:()=>bP,IsString:()=>sP,IsTypeArray:()=>iP,IsUint16Array:()=>cP,IsUint32Array:()=>dP,IsUint8Array:()=>mP,IsUint8ClampedArray:()=>uP});function rP(e){return e instanceof Boolean}function oP(e){return e instanceof Number}function sP(e){return e instanceof String}function iP(e){return globalThis.ArrayBuffer.isView(e)}function aP(e){return e instanceof globalThis.Int8Array}function mP(e){return e instanceof globalThis.Uint8Array}function uP(e){return e instanceof globalThis.Uint8ClampedArray}function pP(e){return e instanceof globalThis.Int16Array}function cP(e){return e instanceof globalThis.Uint16Array}function lP(e){return e instanceof globalThis.Int32Array}function dP(e){return e instanceof globalThis.Uint32Array}function fP(e){return e instanceof globalThis.Float32Array}function gP(e){return e instanceof globalThis.Float64Array}function xP(e){return e instanceof globalThis.BigInt64Array}function hP(e){return e instanceof globalThis.BigUint64Array}function yP(e){return e instanceof globalThis.RegExp}function IP(e){return e instanceof globalThis.Date}function bP(e){return e instanceof globalThis.Set}function $P(e){return e instanceof globalThis.Map}var kd=m(()=>{});var Td=m(()=>{Nr()});var S=m(()=>{wd();kd();Td();Nr();Nr()});var Yt={};Mt(Yt,{Get:()=>EP,Reset:()=>kP,Set:()=>TP});function kP(){pn.immutableTypes=!1,pn.maxErrors=8,pn.maxInstantiationCount=128,pn.useAcceleration=!0,pn.exactOptionalPropertyTypes=!1,pn.enumerableKind=!1,pn.correctiveParse=!1,pn.unionPrioritySort=!0}function TP(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(pn,t,{value:n})}}function EP(){return pn}var pn,Ed=m(()=>{S();pn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var ur=m(()=>{Ed()});function _n(e){return Yt.Get().immutableTypes?Object.freeze(e):e}var Ao=m(()=>{ur()});function vP(e,t){return Jt.assign+=1,_n({...e,...t})}var vd=m(()=>{ar();Ao()});function SP(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function PP(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=pr(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function RP(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=pr(e[n]));for(let n of u.Symbols(e))t[n]=pr(e[n]);return t}function OP(e){return u.IsClassInstance(e)?e:SP(e)?PP(e):RP(e)}function AP(e){return e.map(t=>pr(t))}function MP(e){return e.slice()}function CP(e){return new RegExp(e.source,e.flags)}function LP(e){return new Map(pr([...e.entries()]))}function jP(e){return new Set(pr([...e.values()]))}function pr(e){return qn.IsTypeArray(e)?MP(e):qn.IsRegExp(e)?CP(e):qn.IsMap(e)?LP(e):qn.IsSet(e)?jP(e):u.IsArray(e)?AP(e):u.IsObject(e)?OP(e):e}function Mo(e){return Jt.clone+=1,pr(e)}var ai=m(()=>{S();ar()});function FP(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 Sd(e,t){return{...e,...t}}function DP(e,t,n={}){Jt.create+=1;let r=Sd(t,n),o=Yt.Get().enumerableKind?Sd(r,e):FP(r,e);return _n(o)}var Pd=m(()=>{ur();ar();Ao()});function NP(e,t){Jt.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Mo(o.value),Object.defineProperty(n,r,o)}return _n(n)}var Rd=m(()=>{S();ar();Ao();ai()});function qP(e,t,n){Jt.update+=1;let r=Yt.Get(),o=Mo(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 _n(o)}var Od=m(()=>{ur();ar();Ao();ai()});var l={};Mt(l,{Assign:()=>vP,Clone:()=>Mo,Create:()=>DP,Discard:()=>NP,Metrics:()=>Jt,Update:()=>qP});var Ad=m(()=>{vd();ai();Pd();Rd();ar();Od()});var T=m(()=>{Ad()});function R(e,t){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],t)}function Me(e){return u.IsObject(e)}var W=m(()=>{S()});function L(e,t,n){return l.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Un(e){return R(e,"Deferred")}var se=m(()=>{T();W()});function _P(e){return l.Update(e,{"~readonly":!0},{})}function Co(e,t){return l.Update(_P(e),{},t)}function Md(e,t,n,r){let o=w(e,t,n);return Co(o,r)}var mi=m(()=>{T();F()});function UP(e){return l.Update(e,{"~optional":!0},{})}function Lo(e,t){return l.Update(UP(e),{},t)}function Cd(e,t,n,r){let o=w(e,t,n);return Lo(o,r)}var ui=m(()=>{T();F()});function Ct(e,t){return l.Create({"~kind":"Array"},{type:"array",items:e},t)}function be(e){return R(e,"Array")}function pi(e){return l.Discard(e,["~kind","type","items"])}var ut=m(()=>{T();W()});function cn(e,t,n={}){return l.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function qe(e){return R(e,"Constructor")}function Ld(e){return l.Discard(e,["~kind","type","parameters","instanceType"])}var Dt=m(()=>{T();W()});function ln(e,t,n={}){return l.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function _e(e){return R(e,"Function")}function jd(e){return l.Discard(e,["~kind","type","parameters","returnType"])}var Nt=m(()=>{T();W()});function An(e,t){return l.Create({"~kind":"Ref"},{$ref:e},t)}function Ue(e){return R(e,"Ref")}var qt=m(()=>{T();W()});function Gn(e,t){return l.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function qr(e){return R(e,"Generic")}var jo=m(()=>{T();W()});function _r(e){return l.Create({"~kind":"Any"},{},e)}function we(e){return R(e,"Any")}var xt=m(()=>{T();W()});function ce(e){return l.Create({"~kind":"Never"},{not:{}},e)}function Xt(e){return R(e,"Never")}var Fd,We=m(()=>{T();W();Fd="(?!)"});function dn(e,t={}){return L("AddOptional",[e],t)}function cr(e,t={}){return Lo(e,t)}var Fo=m(()=>{se();ui()});function Dd(e){return cr(e)}function nt(e){return Me(e)&&u.HasPropertyKey(e,"~optional")}var Kn=m(()=>{S();W();Fo()});function Nd(e){return u.Keys(e).filter(t=>!nt(e[t]))}function ci(e){return u.Keys(e)}function li(e){return u.Values(e)}var lr=m(()=>{S();Kn()});function q(e,t={}){let n=Nd(e),r=n.length>0?{required:n}:{};return l.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function ae(e){return R(e,"Object")}function qd(e){return l.Discard(e,["~kind","type","properties","required"])}var pe=m(()=>{T();W();lr()});function ze(e){return l.Create({"~kind":"Unknown"},{},e)}function Se(e){return R(e,"Unknown")}var Xe=m(()=>{T();W()});function fn(e,t,n){let r=u.Keys(e).reduce((o,s)=>({...o,[s]:l.Update(e[s],{},{$id:s})}),{});return l.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function Ze(e){return R(e,"Cyclic")}var ht=m(()=>{S();T();W()});function _d(e){return l.Update(e,{"~unsafe":null},{})}function di(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var fi=m(()=>{S();T()});var gn={};Mt(gn,{Match:()=>GP});function GP(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var Ud=m(()=>{});var Ur=m(()=>{Ud()});function Do(...e){let[t,n]=gn.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,ze(),ze()]});return l.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Pe(e){return R(e,"Infer")}var _t=m(()=>{Ur();T();W();Xe()});function dr(e,t,n,r={}){return l.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function Te(e){return R(e,"Dependent")}function Gd(e){return l.Discard(e,["~kind","if","then","else"])}var St=m(()=>{T();W()});function Kd(e){return u.IsObjectNotArray(e)}function Wd(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var gi=m(()=>{S()});function zd(e){return u.IsString(e)||u.IsNumber(e)}function Bd(e,t){let n=Kd(e)?Wd(e):e;return l.Create({"~kind":"Enum"},{enum:n},t)}function Qe(e){return R(e,"Enum")}var Zt=m(()=>{S();T();W();gi();gi()});function yt(e,t={}){return l.Create({"~kind":"Intersect"},{allOf:e},t)}function Z(e){return R(e,"Intersect")}function Hd(e){return l.Discard(e,["~kind","allOf"])}var Ce=m(()=>{T();W()});var Vd=m(()=>{ur();S()});var Jd=m(()=>{Vd()});var Yd=m(()=>{Jd()});function Le(){throw new Error("Unreachable")}var ju=m(()=>{});var xn=m(()=>{ju()});var Xd,yN,IN,bN,$N,Zd,wN,kN,TN,Qd=m(()=>{xn();S();(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"})(Xd||(Xd={}));yN=BigInt("14695981039346656037"),[IN,bN]=[BigInt("1099511628211"),BigInt("18446744073709551616")],$N=Array.from({length:256}).map((e,t)=>BigInt(t)),Zd=new Float64Array(1),wN=new DataView(Zd.buffer),kN=new Uint8Array(Zd.buffer),TN=new TextEncoder});var ef=m(()=>{Qd()});var Fu=m(()=>{});var tf=m(()=>{Fu()});var nf=m(()=>{});var rf=m(()=>{});var of=m(()=>{});var sf=m(()=>{});var af=m(()=>{});var mf=m(()=>{});var uf=m(()=>{});var pf=m(()=>{});var cf=m(()=>{});var lf=m(()=>{});var df=m(()=>{});var Du=m(()=>{});var ff=m(()=>{});var gf=m(()=>{});var xf=m(()=>{});var hf=m(()=>{});var yf=m(()=>{});var If=m(()=>{});var bf=m(()=>{});var $f=m(()=>{});var wf=m(()=>{});var kf=m(()=>{});var Tf=m(()=>{});var Ef=m(()=>{});var vf=m(()=>{});var Sf=m(()=>{});var Pf=m(()=>{});var Rf=m(()=>{});var Of=m(()=>{});var Af=m(()=>{});var Mf=m(()=>{});var Cf=m(()=>{});var Lf=m(()=>{});var jf=m(()=>{});var Ff=m(()=>{});var Df=m(()=>{});var Nf=m(()=>{});var qf=m(()=>{tf();nf();rf();of();sf();af();Fu();mf();uf();pf();cf();lf();df();Du();Du();ff();gf();xf();hf();yf();If();bf();$f();wf();kf();Tf();Ef();vf();Sf();Pf();Rf();Of();Af();Mf();Cf();Lf();jf();Ff();Df();Nf()});var _f=m(()=>{qf()});var No=m(()=>{Ur();Yd();ef();_f();T();ur()});var Gf=m(()=>{No();No();No()});function hi(e){return new _o(e)}function Kf(e,t){return hi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function Wf(e,t){return hi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function xi(e){return Me(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var qo,_o,Nu=m(()=>{Gf();S();W();qo=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=xi(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=xi(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return l.Update(this.type,{"~codec":s},{})}},_o=class{constructor(t){this.type=t}Decode(t){return new qo(this.type,t)}}});function zf(e){return Gr(e)}function fr(e){return Me(e)&&u.HasPropertyKey(e,"~immutable")}var Uo=m(()=>{S();W();Go()});function hn(e,t={}){return L("AddReadonly",[e],t)}function gr(e,t={}){return Co(e,t)}var Ko=m(()=>{se();mi()});function Bf(e){return gr(e)}function xr(e){return Me(e)&&u.HasPropertyKey(e,"~readonly")}var Wo=m(()=>{S();W();Ko()});function BP(e,t){let n=qu(e)?[...e["~refine"],t]:[t];return l.Update(e,{"~refine":n},{})}function Hf(...e){let[t,n,r]=gn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return BP(t,{check:n,error:r})}function HP(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function qu(e){return Me(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>HP(t))}var _u=m(()=>{Ur();T();S();W()});function zo(e){return l.Create({"~kind":"BigInt"},{type:"bigint"},e)}function yn(e){return R(e,"BigInt")}var Vf,hr=m(()=>{T();W();Vf="-?(?:0|[1-9][0-9]*)n"});function yi(e){return l.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Ut(e){return R(e,"Boolean")}var Wn=m(()=>{T();W()});function Bo(e){return l.Create({"~kind":"Identifier"},{name:e})}function Jf(e){return R(e,"Identifier")}var Uu=m(()=>{T();W()});function yr(e){return l.Create({"~kind":"Integer"},{type:"integer"},e)}function pt(e){return R(e,"Integer")}var Ii,In=m(()=>{T();W();Ii="-?(?:0|[1-9][0-9]*)"});function VP(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new Gu(e)})()}function Q(e,t){return l.Create({"~kind":"Literal"},{type:VP(e),const:e},t)}function bi(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function Yf(e){return me(e)&&u.IsNumber(e.const)}function Xf(e){return me(e)&&u.IsString(e.const)}function me(e){return R(e,"Literal")}var Gu,Re=m(()=>{T();S();W();Gu=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function Kr(e){return l.Create({"~kind":"Null"},{type:"null"},e)}function Wr(e){return R(e,"Null")}var zr=m(()=>{T();W()});function Pt(e){return l.Create({"~kind":"Number"},{type:"number"},e)}function Oe(e){return R(e,"Number")}var $i,ct=m(()=>{T();W();$i="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function Br(e){return l.Create({"~kind":"Symbol"},{type:"symbol"},e)}function zn(e){return R(e,"Symbol")}var Ir=m(()=>{T();W()});function br(...e){let[t,n,r]=gn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,ze(),ze()]});return l.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function Zf(e){return R(e,"Parameter")}var Ku=m(()=>{Ur();T();W();Xe()});function Gt(e){return l.Create({"~kind":"String"},{type:"string"},e)}function lt(e){return R(e,"String")}var wi,Kt=m(()=>{T();W();wi=".*"});function H(e,t={}){return l.Create({"~kind":"Union"},{anyOf:e},t)}function C(e){return R(e,"Union")}function Qf(e){return l.Discard(e,["~kind","anyOf"])}var V=m(()=>{T();W()});function Ho(e){let t=eg(e);return u.IsEqual(t.length,2)?t[0]:[]}var Vo=m(()=>{S();ki()});function JP(e){return!0}function tg(e){return u.ShiftLeft(e,(t,n)=>YP(t)?tg(n):!1,()=>!0)}function ng(e){return u.IsEqual(e.length,0)?!1:tg(e)}function YP(e){return C(e)?ng(e.anyOf):me(e)?JP(e.const):!1}function Ti(e){return ng(e)}var Ei=m(()=>{S();Re();V()});function vi(e){return l.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Si=m(()=>{T()});function rg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>rg(o,t,[...n,`${r}${t}`]),()=>n)}function XP(e,t){return u.IsEqual(e.length,0)?[`${t}`]:rg(e,t)}function og(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>og(e,o,[...n,...sg(e,r)]),()=>n)}function sg(e,t){return C(t)?og(e,t.anyOf):me(t)?XP(e,t.const):Le()}function ig(e,t){return u.ShiftLeft(t,(n,r)=>ig(sg(e,n),r),()=>e)}function ZP(e){return e.map(t=>Q(t))}function QP(e){let t=ig([],e),n=ZP(t);return H(n)}function eR(e){return u.IsEqual(e.length,0)?Le():u.IsEqual(e.length,1)&&me(e[0])?e[0]:QP(e)}function Wu(e){let t=Ho(e);return u.IsEqual(t.length,0)?Gt():Ti(t)?eR(t):vi(e)}function ag(e){let t=Wu(e);return Ee(t)?Gt():t}var Pi=m(()=>{S();xn();Re();Kt();It();V();Vo();Ei();Si()});function bt(e,t){let n="object",r={[e]:t};return l.Create({"~kind":"Record"},{type:n,patternProperties:r})}var Bn=m(()=>{T()});function mg(e){return bt(Qt,e)}var ug=m(()=>{Be();Bn()});function pg(e){return q({true:e,false:e})}var cg=m(()=>{pe()});function Ae(e,t={}){let[n,r,o]=[e,e.length,!1];return l.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function de(e){return R(e,"Tuple")}function lg(e){return l.Discard(e,["~kind","type","items","minItems","additionalItems"])}var je=m(()=>{T();W()});function tR(e){return l.Discard(e,["~readonly"])}function zu(e,t){return l.Update(tR(e),{},t)}function dg(e,t,n,r){let o=w(e,t,n);return zu(o,r)}var Bu=m(()=>{T();F()});function fg(e,t={}){return L("RemoveReadonly",[e],t)}function gg(e,t={}){return zu(e,t)}var Hu=m(()=>{se();Bu()});function nR(e){return l.Discard(e,["~optional"])}function Vu(e,t){return l.Update(nR(e),{},t)}function xg(e,t,n,r){let o=w(e,t,n);return Vu(o,r)}var Ju=m(()=>{T();F()});function hg(e,t={}){return L("RemoveOptional",[e],t)}function Ri(e,t={}){return Vu(e,t)}var Oi=m(()=>{se();Ju()});function Yu(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function yg(e){let t=Yu(e.items);return q(t)}var Xu=m(()=>{pe()});function Zu(e){return ae(e)||de(e)}function rR(e,t){return xr(e)?!!xr(t):!1}function oR(e,t){return nt(e)?!!nt(t):!1}function sR(e,t){let n=rR(e,t),r=oR(e,t),o=$e([e,t]),s=gg(Ri(o));return n&&r?gr(cr(s)):n&&!r?gr(s):!n&&r?cr(s):s}function iR(e,t,n){return n in e?n in t?sR(e[n],t[n]):e[n]:n in t?t[n]:ce()}function aR(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:iR(e,t,s)}),{})}function Ig(e){return ae(e)?e.properties:de(e)?Yu(e.items):{}}function bg(e,t){let n=Ig(e),r=Ig(t),o=aR(n,r);return q(o)}var Qu=m(()=>{S();Wo();Kn();pe();We();je();Ko();Fo();Hu();Oi();Xu();B()});function mR(e,t){let n=Xo(e,t);return u.IsEqual(n,Yo)?e:u.IsEqual(n,Ai)||u.IsEqual(n,Jo)?t:ce()}function uR(e,t){let n=Zu(e),r=Zu(t);return n&&r?bg(e,t):n&&!r?e:!n&&r?t:mR(e,t)}function $g(e,t){return Xt(e)||we(e)?e:Se(e)||Xt(t)||we(t)?t:Se(t)?e:uR(e,t)}var ep=m(()=>{S();xt();We();Xe();Zo();Qu()});function pR(e,t){return C(e)||C(t)}function cR(e,t){let n=Wt(e),r=Wt(t);return pR(n,r)?$e([n,r]):$g(n,r)}function wg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>wg(e,o,[...n,cR(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function kg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>kg(o,t,[...n,...Qo([r],t)]),()=>n)}function Qo(e,t=[]){return u.ShiftLeft(e,(n,r)=>C(n)?Qo(r,kg(n.anyOf,t)):Qo(r,wg(n,t)),()=>t)}var tp=m(()=>{S();V();ep();B();B()});function lR(e,t){let n=et({},e,t);return _.IsExtendsTrueLike(n)?[]:[e]}function Tg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Tg(o,t,[...n,...lR(r,t)]),()=>n)}function Mi(e,t){let n=Wt(e),r=C(n)?n.anyOf:[n],o=Tg(r,t);return $t(o)}var np=m(()=>{S();V();bn();B();B()});function en(e,t,n){let r=$e([e,t]),o=Mi(n,e);return $t([r,o])}function dt(e,t=[]){return u.ShiftLeft(e,(n,r)=>dt(r,[...t,Q(n)]),()=>$t(t))}function $e(e){let t=Qo(e),n=rp(t);return $t(n)}function rt(e){let t=ag(e);return Wt(t)}function $t(e){let t=rp(e);return Hn(t)}function Wt(e){return Te(e)?en(e.if,e.then,e.else):Qe(e)?dt(e.enum):Z(e)?$e(e.allOf):Ee(e)?rt(e.pattern):C(e)?$t(e.anyOf):e}function Hn(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?ce():H(e)}var B=m(()=>{S();St();Zt();Ce();Re();We();It();V();tp();op();np();Pi()});function Eg(e,t){let n=dt(e);return Vn(n,t)}var vg=m(()=>{es();B()});function Sg(e,t){return bt(Jn,t)}var Pg=m(()=>{Be();Bn()});function Rg(e,t){let n=$e(e);return Vn(n,t)}var Og=m(()=>{B();es()});function Ag(e,t){return u.IsString(e)||u.IsNumber(e)?q({[e]:t}):u.IsEqual(e,!1)?q({false:t}):u.IsEqual(e,!0)?q({true:t}):q({})}var Mg=m(()=>{S();pe()});function Cg(e,t){return bt(Hr,t)}var Lg=m(()=>{Be();Bn()});function jg(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?bt(e.pattern.toString(),t):bt(Qt,t)}var Fg=m(()=>{S();Be();Bn()});function Dg(e,t){let n=Ho(e);return Ti(n)?Vn(rt(e),t):bt(e,t)}var Ng=m(()=>{es();Vo();Ei();B();Bn()});function dR(e){return C(e)?Vr(e.anyOf):[e]}function Vr(e,t=[]){return u.ShiftLeft(e,(n,r)=>Vr(r,[...t,...dR(n)]),()=>t)}var Ci=m(()=>{S();V()});function fR(e){return e.some(t=>lt(t)||Oe(t)||pt(t))}function gR(e,t){return u.IsEqual(fR(e),!0)?bt(Qt,t):void 0}function xR(e,t){return e.reduce((n,r)=>me(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function hR(e,t){let n=xR(e,t);return q(n)}function qg(e,t){let n=Vr(e),r=gR(n,t);return Me(r)?r:hR(n,t)}var _g=m(()=>{S();W();Re();ct();In();pe();Kt();Be();Ci();Bn()});function Vn(e,t){return we(e)?mg(t):Ut(e)?pg(t):Qe(e)?Eg(e.enum,t):pt(e)?Sg(e,t):Z(e)?Rg(e.allOf,t):me(e)?Ag(e.const,t):Oe(e)?Cg(e,t):C(e)?qg(e.anyOf,t):lt(e)?jg(e,t):Ee(e)?Dg(e.pattern,t):q({})}var es=m(()=>{xt();Wn();Zt();Ce();In();Re();ct();pe();Kt();It();V();ug();cg();vg();Pg();Og();Mg();Lg();Fg();Ng();_g()});function sp(e,t,n){return G([e])?l.Update(Vn(e,t),{},n):ji(e,t,n)}function Ug(e,t,n,r,o){let s=w(e,t,n),a=w(e,t,r);return sp(s,a,o)}var Li=m(()=>{T();Be();es();F()});function ji(e,t,n={}){return L("Record",[e,t],n)}function Fi(e,t,n={}){return sp(e,t,n)}function Gg(e,t){return bt(e,t)}function Di(e){return u.IsEqual(e,Qt)?Gt():u.IsEqual(e,Jn)?yr():u.IsEqual(e,Hr)?Pt():Wu(e)}function zt(e){return u.Keys(e.patternProperties)[0]}function Jr(e){let t=zt(e);return Di(t)}function ft(e){return e.patternProperties[zt(e)]}function tt(e){return R(e,"Record")}var Jn,Hr,Qt,Be=m(()=>{T();S();W();In();ct();Kt();se();Pi();Bn();Li();Jn=`^${Ii}$`,Hr=`^${$i}$`,Qt=`^${wi}$`});function $r(e){return l.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function Yn(e){return R(e,"Rest")}var Yr=m(()=>{T();W()});var Kg=m(()=>{});function Ni(e){return l.Create({"~kind":"This"},{$ref:"#"},e)}function qi(e){return R(e,"This")}var _i=m(()=>{T();W()});function Xr(e){return l.Create({"~kind":"Undefined"},{type:"undefined"},e)}function Zr(e){return R(e,"Undefined")}var Qr=m(()=>{T();W()});function Ui(e){return l.Create({"~kind":"Void"},{type:"void"},e)}function $n(e){return R(e,"Void")}var wr=m(()=>{T();W()});var Gi=m(()=>{Nu();Uo();Kn();Wo();_u();xt();ut();hr();Wn();eo();Dt();ht();se();Zt();Nt();jo();Uu();St();_t();In();Ce();Re();We();zr();ct();Xe();Ir();pe();Ku();lr();Be();qt();Yr();W();Kg();Kt();Ir();It();_i();je();Qr();V();Xe();fi();wr()});function IR(e,t){return u.IsEqual(e,"Array")?Ct(t[0]):u.IsEqual(e,"Capitalize")?Wi(t[0]):u.IsEqual(e,"ConstructorParameters")?Ji(t[0]):u.IsEqual(e,"Evaluate")?zh(t[0]):u.IsEqual(e,"Exclude")?Yi(t[0],t[1]):u.IsEqual(e,"Extract")?Xi(t[0],t[1]):u.IsEqual(e,"Index")?os(t[0],t[1]):u.IsEqual(e,"InstanceType")?Zi(t[0]):u.IsEqual(e,"Lowercase")?zi(t[0]):u.IsEqual(e,"NonNullable")?Qi(t[0]):u.IsEqual(e,"Omit")?ea(t[0],t[1]):u.IsEqual(e,"Parameters")?ta(t[0]):u.IsEqual(e,"Partial")?na(t[0]):u.IsEqual(e,"Pick")?ra(t[0],t[1]):u.IsEqual(e,"Readonly")?oa(t[0]):u.IsEqual(e,"KeyOf")?ss(t[0]):u.IsEqual(e,"Record")?ji(t[0],t[1]):u.IsEqual(e,"Required")?sa(t[0]):u.IsEqual(e,"ReturnType")?ia(t[0]):u.IsEqual(e,"Uncapitalize")?Bi(t[0]):u.IsEqual(e,"Uppercase")?Hi(t[0]):rs(An(e),t)}function kr(){throw Error("Unreachable")}function Vg(e,t=[]){return u.ShiftLeft(e,(n,r)=>Vg(r,[...t,n[1]]),()=>t)}function Mn(e){return u.IsEqual(e.length,3)?[e[0],...Vg(e[1])]:[]}function Jg(e){return br(e[0],e[2],e[4])}function Yg(e){return br(e[0],e[2],e[2])}function Xg(e){return br(e[0],ze(),e[2])}function Zg(e){return br(e,ze(),ze())}function Qg(e){return Mn(e)}function ex(e){return e[1]}function tx(e){return Mn(e)}function nx(e){return e[1]}function rx(e){return IR(e[0],e[1])}function ox(e){return null}function sx(e){return Gt()}function ix(e){return Pt()}function ax(e){return yi()}function mx(e){return Xr()}function ux(e){return Kr()}function px(e){return yr()}function cx(e){return zo()}function lx(e){return ze()}function dx(e){return _r()}function fx(e){return q({})}function gx(e){return ce()}function xx(e){return Br()}function hx(e){return Ui()}function yx(e){return Ni()}function Ix(e){return Q(BigInt(e))}function bx(e){return Q(u.IsEqual(e,"true"))}function $x(e){return Q(parseFloat(e))}function wx(e){return Q(e)}function kx(e){return e[1]}function Tx(e){return Q(e)}function Ex(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function vx(e){return e[1]}function Sx(e){return Ki(e)}function Px(e){return u.IsEqual(e.length,6)?dr(e[1],e[3],e[5]):dr(e[1],e[3],ze())}function Rx(e){return e.length>0}function Ox(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function Ax(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function Mx(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function Cx(e){return u.IsEqual(e.length,2)?e[1]:[]}function Wg(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?os(n,o[0]):u.IsEqual(o.length,0)?Ct(n):kr()},e)}function zg(e,t){return u.IsEqual(t.length,3)?Vi(e,t[0],t[1],t[2]):e}function bR(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:aa(e,t)}function Lx(e){let[t,n,r,o,s]=e;return bR(zg(t?ss(Wg(n,r)):Wg(n,r),o),s)}function ip(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=ip(r,o);if(u.IsEqual(n,"&"))return Z(s)?yt([e,...s.allOf]):yt([e,s]);if(u.IsEqual(n,"|"))return C(s)?H([e,...s.anyOf]):H([e,s]);kr()})():e}function jx(e){let[t,n]=e;return ip(t,n)}function Fx(e){let[t,n]=e;return ip(t,n)}function Dx(e){return Wh(e[1])}function Nx(e){return e[1]}function qx(e){return Gn(e[0],e[2])}function _x(e){return u.IsEqual(e.length,4)?Do(e[1],e[3]):u.IsEqual(e.length,2)?Do(e[1],ze()):kr()}function Ux(e){return`${e}`}function Gx(e){return pt(e[3])?Jn:Oe(e[3])?Hr:zn(e[3])?Qt:lt(e[3])?Qt:kr()}function Kx(e){return e.length>0}function Wx(e){return e.length>0}function zx(e){let[t,n,r,o,s]=e;return{[n]:t&&r?hn(dn(s)):t&&!r?hn(s):!t&&r?dn(s):s}}function Bx(e){return Mn(e)}function Hx(e){return e.reduce((t,n)=>u.HasPropertyKey(n,Jn)||u.HasPropertyKey(n,Hr)||u.HasPropertyKey(n,Qt)?[t[0],l.Assign(t[1],n)]:[l.Assign(t[0],n),t[1]],[{},{}])}function Vx(e){return Hx(e[1])}function Jx(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return q(t,r)}function Yx(e){return u.IsEqual(e.length,5)?hn(dn(e[4])):u.IsEqual(e.length,3)?e[2]:u.IsEqual(e.length,4)?u.IsEqual(e[2],"readonly")?hn(e[3]):dn(e[3]):kr()}function Xx(e){if(!u.IsArray(e)||!u.IsEqual(e.length,3))return e;let[t,n,r]=e;return t&&r?hn(dn(n)):t&&!r?hn(n):!t&&r?dn(n):n}function Zx(e){return u.IsEqual(e.length,2)?$r(e[1]):u.IsEqual(e.length,1)?e[0]:kr()}function Qx(e){return Mn(e)}function eh(e){return Ae(e[1])}function th(e){return hn(dn(e[4]))}function nh(e){return hn(e[3])}function rh(e){return dn(e[3])}function oh(e){return e[2]}function sh(e){return u.IsEqual(e.length,2)?$r(e[1]):u.IsEqual(e.length,1)?e[0]:kr()}function ih(e){return Mn(e)}function ah(e){return ln(e[1],e[4])}function mh(e){return cn(e[2],e[5])}function Bg(e,t){return u.IsEqual(e,"remove")?fg(t):u.IsEqual(e,"add")?hn(t):t}function uh(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 Hg(e,t){return u.IsEqual(e,"remove")?hg(t):u.IsEqual(e,"add")?dn(t):t}function ph(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 ch(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function lh(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?ts(Bo(e[3]),e[5],e[6][0],Bg(e[1],Hg(e[8],e[10]))):ts(Bo(e[3]),e[5],An(e[3]),Bg(e[1],Hg(e[8],e[10])))}function dh(e){return An(e)}function fh(e){return BigInt(e)}function gh(e){return parseFloat(e)}function xh(e){return u.IsEqual(e,"true")}function hh(e){return null}function yh(e){return{[e[0]]:e[2]}}function Ih(e){return Mn(e)}function $R(e){return e.reduce((t,n)=>l.Assign(t,n),{})}function bh(e){return $R(e[1])}function $h(e){return Mn(e)}function wh(e){return e[1]}function kh(e){return zo()}function Th(e){return Gt()}function Eh(e){return Pt()}function vh(e){return yr()}function Sh(e){return ce()}function Ph(e){return Q(e)}function Rh(e){return H(e[1])}function Oh(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function Ah(e){return[e[0],...e[1]]}function Mh(e){return e[1]}function Ch(e){return Mn(e)}function Lh(e){return u.IsEqual(e.length,2)?e[1]:[]}function jh(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]]:Gn(t,ns(n,r,s))}}function Fh(e){let t=e[2],[n,r]=e[3],o=u.IsEqual(u.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:ns(t,n,o)}}function Dh(e){return{[e[1]]:Gn(e[2],e[4])}}function Nh(e){return{[e[1]]:e[3]}}function qh(e){return null}function _h(e){return Mn(e)}function Uh(e){return e[1]}function Gh(e){let[t,n]=[e[0],e[1]];return Bh(l.Assign(t,Hx(n)[0]))}var Kh=m(()=>{T();S();Gi();to()});var Cn=m(()=>{Nr()});function is(e){return te(e.length,2)}function J(e,t,n){return is(e)?t(e[0],e[1]):n()}var Rt=m(()=>{Cn()});function TR(e,t){return te(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function ke(e,t){for(let n=0;n<e.length;n++){let r=TR(e[n],t);if(is(r))return r}return[]}var wn=m(()=>{Rt();Cn()});function ap(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var Hh,mp,up,no,Vh,ro,Xn,ma,Jh,ua,ot=m(()=>{Hh=[...ap(97,122),...ap(65,90)],mp="0",up=ap(49,57),no=[mp,...up],Vh=" ",ro=`
10
+ `,Xn="_",ma=".",Jh="$",ua="-"});function Zh(e){let t=e.indexOf(vR);return te(t,-1)?"":e.slice(t+2)}function Qh(e){let t=e.indexOf(ro);return te(t,-1)?"":e.slice(t)}function SR(e){return e.replace(/^[ \t\r\f\v]+/,"")}function pa(e){let t=SR(e);return t.startsWith(Xh)?pa(Zh(t.slice(2))):t.startsWith(Yh)?pa(Qh(t.slice(2))):t}function He(e){let t=e.trimStart();return t.startsWith(Xh)?He(Zh(t.slice(2))):t.startsWith(Yh)?He(Qh(t.slice(2))):t}var Yh,Xh,vR,kn=m(()=>{Cn();ot();Yh="//",Xh="/*",vR="*/"});function ca(e,t){return J(ke([e],t),(n,r)=>[n,r],()=>["",t])}var pp=m(()=>{Rt();wn()});function PR(e,t){return e.includes(t)}function oo(e,t,n,r=""){return J(ke(e,n),(o,s)=>PR(t,o)?oo(e,t,s,r):oo(e,t,s,`${r}${o}`),()=>[r,n])}var cp=m(()=>{Rt();wn()});function RR(e){return ke(up,e)}function AR(e){return oo(OR,[Xn],e)}function MR(e){return J(ke([mp],e),(t,n)=>[t,n],()=>J(RR(e),(t,n)=>J(AR(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function la(e){return MR(He(e))}var OR,da=m(()=>{Rt();kn();wn();cp();ot();ot();ot();ot();OR=[...no,Xn]});function CR(e){return ca(ua,e)}function LR(e){return J(CR(e),(t,n)=>J(la(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ey(e){return LR(He(e))}var lp=m(()=>{Rt();kn();pp();ot();da()});function jR(e){return J(ey(e),(t,n)=>J(ke(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function dp(e){return jR(e)}var ty=m(()=>{Rt();wn();lp()});function fp(e,t){return ke([e],t)}function f(e,t){return te(e,"")?["",t]:e.startsWith(ro)?fp(e,pa(t)):e.startsWith(Vh)?fp(e,t):fp(e,He(t))}var ny=m(()=>{Cn();kn();kn();wn();ot();ot()});function FR(e){return ke(ry,e)}function oy(e,t=""){return J(ke(DR,e),(n,r)=>oy(r,`${t}${n}`),()=>[t,e])}function NR(e){return J(FR(e),(t,n)=>J(oy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ve(e){return NR(He(e))}var ry,DR,sy=m(()=>{Rt();kn();wn();ot();ot();ot();ot();ry=[...Hh,Xn,Jh];DR=[...ry,...no]});function _R(e){return is(ke([ma],e))}function iy(e){return J(oo(qR,[Xn],e),(t,n)=>te(t,"")?[]:[t,n],()=>[])}function UR(e){return J(ke([ma],e),(t,n)=>J(iy(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function GR(e){return J(la(e),(t,n)=>J(ke([ma],n),(r,o)=>J(iy(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function KR(e){return _R(e)?UR(e):GR(e)}function ay(e){return KR(He(e))}var qR,gp=m(()=>{Cn();Rt();kn();wn();cp();ot();ot();da();qR=[...no,Xn]});function WR(e){return ca(ua,e)}function zR(e){return J(WR(e),(t,n)=>J(ay(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function fa(e){return zR(He(e))}var my=m(()=>{Rt();kn();pp();ot();gp()});var uy=m(()=>{Cn()});function BR(e){return te(e,"")?[]:[e.slice(0,1),e.slice(1)]}function py(e,t){return ii(e,(n,r)=>t.startsWith(n)?!0:py(r,t),()=>!1)}function Zn(e,t,n=""){return J(BR(t),(r,o)=>py(e,t)?[n,t]:Zn(e,o,`${n}${r}`),()=>[])}var ga=m(()=>{Rt();Cn()});function HR(e,t,n){return J(ke([e],n),(r,o)=>J(Zn([t],o),(s,a)=>J(ke([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function VR(e,t,n){return J(ke([e],n),(r,o)=>J(Zn([ro,t],o),(s,a)=>J(ke([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function cy(e,t,n,r){return n?HR(e,t,He(r)):VR(e,t,He(r))}var xp=m(()=>{Rt();kn();ot();wn();ga()});function JR(e,t){return ke(e,t)}function YR(e,t){return cy(e,e,!1,t)}function XR(e,t){return J(JR(e,t),(n,r)=>YR(n,`${n}${r}`),()=>[])}function xa(e,t){return XR(e,He(t))}var ly=m(()=>{Rt();wn();kn();xp()});function dy(e,t){return J(Zn(e,t),(n,r)=>te(n,"")?[]:[n,r],()=>[])}var fy=m(()=>{Cn();Rt();ga()});var gy=m(()=>{ty();ny();sy();lp();my();uy();xp();ly();da();gp();fy();ga()});var i,QR,eO,tO,nO,yy,Iy,rO,Ip,by,oO,sO,iO,$y,wy,ky,aO,mO,uO,Ty,pO,cO,lO,dO,fO,Ey,gO,xO,hO,hp,vy,bp,yO,IO,bO,$O,wO,kO,TO,Sy,EO,vO,SO,PO,Py,Ry,Oy,Ay,ha,RO,OO,AO,MO,ne,CO,LO,jO,FO,My,Cy,Ly,jy,ya,Fy,DO,$p,NO,qO,xy,Dy,Ny,_O,UO,GO,KO,WO,zO,hy,qy,_y,Uy,BO,HO,VO,JO,YO,XO,ZO,QO,eA,tA,nA,rA,oA,Gy,Ky,sA,Wy,zy,iA,aA,wp,mA,uA,pA,cA,lA,dA,fA,gA,By,yp,kp,eg,Hy,xA,Vy,hA,yA,IA,bA,$A,Jy,Yy,wA,Tp,kA,Xy,ki=m(()=>{Kh();gy();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),QR=e=>i(i(ve(e),([t,n])=>i(f("extends",n),([r,o])=>i(ne(o),([s,a])=>i(f("=",a),([p,c])=>i(ne(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[Jg(t),n]),eO=e=>i(i(ve(e),([t,n])=>i(f("extends",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Yg(t),n]),tO=e=>i(i(ve(e),([t,n])=>i(f("=",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Xg(t),n]),nO=e=>i(ve(e),([t,n])=>[Zg(t),n]),yy=e=>i(i(QR(e),([t,n])=>[t,n],()=>i(eO(e),([t,n])=>[t,n],()=>i(tO(e),([t,n])=>[t,n],()=>i(nO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Iy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(yy(r),([o,s])=>[[n,o],s])),([n,r])=>Iy(r,[...t,n]),()=>[t,e]),rO=e=>i(i(i(yy(e),([t,n])=>i(Iy(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Qg(t),n]),Ip=e=>i(i(f("<",e),([t,n])=>i(rO(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[ex(t),n]),by=(e,t=[])=>i(i(f(",",e),([n,r])=>i(ne(r),([o,s])=>[[n,o],s])),([n,r])=>by(r,[...t,n]),()=>[t,e]),oO=e=>i(i(i(ne(e),([t,n])=>i(by(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[tx(t),n]),sO=e=>i(i(f("<",e),([t,n])=>i(oO(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[nx(t),n]),iO=e=>i(i(ve(e),([t,n])=>i(sO(n),([r,o])=>[[t,r],o])),([t,n])=>[rx(t),n]),$y=e=>i(i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ox(t),n]),wy=e=>i(f("string",e),([t,n])=>[sx(t),n]),ky=e=>i(f("number",e),([t,n])=>[ix(t),n]),aO=e=>i(f("boolean",e),([t,n])=>[ax(t),n]),mO=e=>i(f("undefined",e),([t,n])=>[mx(t),n]),uO=e=>i(f("null",e),([t,n])=>[ux(t),n]),Ty=e=>i(f("integer",e),([t,n])=>[px(t),n]),pO=e=>i(f("bigint",e),([t,n])=>[cx(t),n]),cO=e=>i(f("unknown",e),([t,n])=>[lx(t),n]),lO=e=>i(f("any",e),([t,n])=>[dx(t),n]),dO=e=>i(f("object",e),([t,n])=>[fx(t),n]),fO=e=>i(f("never",e),([t,n])=>[gx(t),n]),Ey=e=>i(f("symbol",e),([t,n])=>[xx(t),n]),gO=e=>i(f("void",e),([t,n])=>[hx(t),n]),xO=e=>i(f("this",e),([t,n])=>[yx(t),n]),hO=e=>i(i(f("${",e),([t,n])=>i(ne(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[kx(t),n]),hp=e=>i(Zn(["${","`"],e),([t,n])=>[Tx(t),n]),vy=e=>i(i(i(hp(e),([t,n])=>i(hO(n),([r,o])=>i(vy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(hp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(hp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Ex(t),n]),bp=e=>i(i(f("`",e),([t,n])=>i(vy(n),([r,o])=>i(f("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[vx(t),n]),yO=e=>i(bp(e),([t,n])=>[Sx(t),n]),IO=e=>i(i(i(f("if",e),([t,n])=>i(ne(n),([r,o])=>i(f("then",o),([s,a])=>i(ne(a),([p,c])=>i(f("else",c),([x,y])=>i(ne(y),([v,O])=>[[t,r,s,p,x,v],O])))))),([t,n])=>[t,n],()=>i(i(f("if",e),([t,n])=>i(ne(n),([r,o])=>i(f("then",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Px(t),n]),bO=e=>i(dp(e),([t,n])=>[Ix(t),n]),$O=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[bx(t),n]),wO=e=>i(fa(e),([t,n])=>[$x(t),n]),kO=e=>i(xa(["'",'"'],e),([t,n])=>[wx(t),n]),TO=e=>i(i(i(f("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Rx(t),n]),Sy=(e,t=[])=>i(i(i(f("[",e),([n,r])=>i(ne(r),([o,s])=>i(f("]",s),([a,p])=>[[n,o,a],p]))),([n,r])=>[n,r],()=>i(i(f("[",e),([n,r])=>i(f("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>Sy(r,[...t,n]),()=>[t,e]),EO=e=>i(Sy(e),([t,n])=>[Ox(t),n]),vO=e=>i(i(i(f("extends",e),([t,n])=>i(ne(n),([r,o])=>i(f("?",o),([s,a])=>i(ne(a),([p,c])=>i(f(":",c),([x,y])=>i(ne(y),([v,O])=>[[t,r,s,p,x,v],O])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ax(t),n]),SO=e=>i(i(i(f("(",e),([t,n])=>i(ne(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(wy(e),([t,n])=>[t,n],()=>i(ky(e),([t,n])=>[t,n],()=>i(aO(e),([t,n])=>[t,n],()=>i(mO(e),([t,n])=>[t,n],()=>i(uO(e),([t,n])=>[t,n],()=>i(Ty(e),([t,n])=>[t,n],()=>i(pO(e),([t,n])=>[t,n],()=>i(cO(e),([t,n])=>[t,n],()=>i(lO(e),([t,n])=>[t,n],()=>i(dO(e),([t,n])=>[t,n],()=>i(fO(e),([t,n])=>[t,n],()=>i(Ey(e),([t,n])=>[t,n],()=>i(gO(e),([t,n])=>[t,n],()=>i(xO(e),([t,n])=>[t,n],()=>i(bO(e),([t,n])=>[t,n],()=>i($O(e),([t,n])=>[t,n],()=>i(wO(e),([t,n])=>[t,n],()=>i(kO(e),([t,n])=>[t,n],()=>i(yO(e),([t,n])=>[t,n],()=>i(IO(e),([t,n])=>[t,n],()=>i(NO(e),([t,n])=>[t,n],()=>i(UO(e),([t,n])=>[t,n],()=>i(HO(e),([t,n])=>[t,n],()=>i(BO(e),([t,n])=>[t,n],()=>i(XO(e),([t,n])=>[t,n],()=>i(iO(e),([t,n])=>[t,n],()=>i(ZO(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[Mx(t),n]),PO=e=>i(i(i(f("with",e),([t,n])=>i(Wy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Cx(t),n]),Py=e=>i(i(TO(e),([t,n])=>i(SO(n),([r,o])=>i(EO(o),([s,a])=>i(vO(a),([p,c])=>i(PO(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[Lx(t),n]),Ry=e=>i(i(i(f("&",e),([t,n])=>i(Py(n),([r,o])=>i(Ry(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Oy=e=>i(i(Py(e),([t,n])=>i(Ry(n),([r,o])=>[[t,r],o])),([t,n])=>[jx(t),n]),Ay=e=>i(i(i(f("|",e),([t,n])=>i(Oy(n),([r,o])=>i(Ay(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),ha=e=>i(i(Oy(e),([t,n])=>i(Ay(n),([r,o])=>[[t,r],o])),([t,n])=>[Fx(t),n]),RO=e=>i(i(f("readonly",e),([t,n])=>i(ha(n),([r,o])=>[[t,r],o])),([t,n])=>[Dx(t),n]),OO=e=>i(i(f("|",e),([t,n])=>i(ha(n),([r,o])=>[[t,r],o])),([t,n])=>[Nx(t),n]),AO=e=>i(i(Ip(e),([t,n])=>i(f("=",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[qx(t),n]),MO=e=>i(i(i(f("infer",e),([t,n])=>i(ve(n),([r,o])=>i(f("extends",o),([s,a])=>i(ha(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(f("infer",e),([t,n])=>i(ve(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[_x(t),n]),ne=e=>i(i(MO(e),([t,n])=>[t,n],()=>i(OO(e),([t,n])=>[t,n],()=>i(RO(e),([t,n])=>[t,n],()=>i(ha(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),CO=e=>i(fa(e),([t,n])=>[Ux(t),n]),LO=e=>i(ve(e),([t,n])=>[t,n]),jO=e=>i(xa(["'",'"'],e),([t,n])=>[t,n]),FO=e=>i(i(f("[",e),([t,n])=>i(ve(n),([r,o])=>i(f(":",o),([s,a])=>i(i(Ty(a),([p,c])=>[p,c],()=>i(ky(a),([p,c])=>[p,c],()=>i(wy(a),([p,c])=>[p,c],()=>i(Ey(a),([p,c])=>[p,c],()=>[])))),([p,c])=>i(f("]",c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[Gx(t),n]),My=e=>i(i(CO(e),([t,n])=>[t,n],()=>i(LO(e),([t,n])=>[t,n],()=>i(jO(e),([t,n])=>[t,n],()=>i(FO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Cy=e=>i(i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Kx(t),n]),Ly=e=>i(i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Wx(t),n]),jy=e=>i(i(Cy(e),([t,n])=>i(My(n),([r,o])=>i(Ly(o),([s,a])=>i(f(":",a),([p,c])=>i(ne(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[zx(t),n]),ya=e=>i(i(i(f(",",e),([t,n])=>i(f(`
11
+ `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f(";",e),([t,n])=>i(f(`
12
+ `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(f(`
13
+ `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),Fy=(e,t=[])=>i(i(ya(e),([n,r])=>i(jy(r),([o,s])=>[[n,o],s])),([n,r])=>Fy(r,[...t,n]),()=>[t,e]),DO=e=>i(i(i(jy(e),([t,n])=>i(Fy(n),([r,o])=>i(i(ya(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Bx(t),n]),$p=e=>i(i(f("{",e),([t,n])=>i(DO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Vx(t),n]),NO=e=>i($p(e),([t,n])=>[Jx(t),n]),qO=e=>i(i(i(ve(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(ne(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[t,n],()=>i(i(ve(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(ve(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(ve(e),([t,n])=>i(f(":",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[Yx(t),n]),xy=e=>i(i(qO(e),([t,n])=>[t,n],()=>i(i(Cy(e),([t,n])=>i(ne(n),([r,o])=>i(Ly(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[Xx(t),n]),Dy=e=>i(i(i(f("...",e),([t,n])=>i(xy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(xy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Zx(t),n]),Ny=(e,t=[])=>i(i(f(",",e),([n,r])=>i(Dy(r),([o,s])=>[[n,o],s])),([n,r])=>Ny(r,[...t,n]),()=>[t,e]),_O=e=>i(i(i(Dy(e),([t,n])=>i(Ny(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Qx(t),n]),UO=e=>i(i(f("[",e),([t,n])=>i(_O(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[eh(t),n]),GO=e=>i(i(ve(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(ne(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[th(t),n]),KO=e=>i(i(ve(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[nh(t),n]),WO=e=>i(i(ve(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[rh(t),n]),zO=e=>i(i(ve(e),([t,n])=>i(f(":",n),([r,o])=>i(ne(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[oh(t),n]),hy=e=>i(i(GO(e),([t,n])=>[t,n],()=>i(KO(e),([t,n])=>[t,n],()=>i(WO(e),([t,n])=>[t,n],()=>i(zO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),qy=e=>i(i(i(f("...",e),([t,n])=>i(hy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(hy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[sh(t),n]),_y=(e,t=[])=>i(i(f(",",e),([n,r])=>i(qy(r),([o,s])=>[[n,o],s])),([n,r])=>_y(r,[...t,n]),()=>[t,e]),Uy=e=>i(i(i(qy(e),([t,n])=>i(_y(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ih(t),n]),BO=e=>i(i(f("(",e),([t,n])=>i(Uy(n),([r,o])=>i(f(")",o),([s,a])=>i(f("=>",a),([p,c])=>i(ne(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[ah(t),n]),HO=e=>i(i(f("new",e),([t,n])=>i(f("(",n),([r,o])=>i(Uy(o),([s,a])=>i(f(")",a),([p,c])=>i(f("=>",c),([x,y])=>i(ne(y),([v,O])=>[[t,r,s,p,x,v],O])))))),([t,n])=>[mh(t),n]),VO=e=>i(i(i(f("+",e),([t,n])=>i(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("-",e),([t,n])=>i(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[uh(t),n]),JO=e=>i(i(i(f("+",e),([t,n])=>i(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("-",e),([t,n])=>i(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[ph(t),n]),YO=e=>i(i(i(f("as",e),([t,n])=>i(ne(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ch(t),n]),XO=e=>i(i(f("{",e),([t,n])=>i(VO(n),([r,o])=>i(f("[",o),([s,a])=>i(ve(a),([p,c])=>i(f("in",c),([x,y])=>i(ne(y),([v,O])=>i(YO(O),([P,j])=>i(f("]",j),([K,Y])=>i(JO(Y),([X,Fe])=>i(f(":",Fe),([he,Je])=>i(ne(Je),([Ft,fe])=>i($y(fe),([b,At])=>i(f("}",At),([De,Vt])=>[[t,r,s,p,x,v,P,K,X,he,Ft,b,De],Vt]))))))))))))),([t,n])=>[lh(t),n]),ZO=e=>i(ve(e),([t,n])=>[dh(t),n]),QO=e=>i(dp(e),([t,n])=>[fh(t),n]),eA=e=>i(fa(e),([t,n])=>[gh(t),n]),tA=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[xh(t),n]),nA=e=>i(xa(['"',"'"],e),([t,n])=>[t,n]),rA=e=>i(f("null",e),([t,n])=>[hh(t),n]),oA=e=>i(f("undefined",e),([t,n])=>[void 0,n]),Gy=e=>i(i(My(e),([t,n])=>i(f(":",n),([r,o])=>i(wp(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[yh(t),n]),Ky=(e,t=[])=>i(i(ya(e),([n,r])=>i(Gy(r),([o,s])=>[[n,o],s])),([n,r])=>Ky(r,[...t,n]),()=>[t,e]),sA=e=>i(i(i(Gy(e),([t,n])=>i(Ky(n),([r,o])=>i(i(ya(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ih(t),n]),Wy=e=>i(i(f("{",e),([t,n])=>i(sA(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[bh(t),n]),zy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(wp(r),([o,s])=>[[n,o],s])),([n,r])=>zy(r,[...t,n]),()=>[t,e]),iA=e=>i(i(i(wp(e),([t,n])=>i(zy(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[$h(t),n]),aA=e=>i(i(f("[",e),([t,n])=>i(iA(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[wh(t),n]),wp=e=>i(i(QO(e),([t,n])=>[t,n],()=>i(eA(e),([t,n])=>[t,n],()=>i(tA(e),([t,n])=>[t,n],()=>i(nA(e),([t,n])=>[t,n],()=>i(rA(e),([t,n])=>[t,n],()=>i(oA(e),([t,n])=>[t,n],()=>i(Wy(e),([t,n])=>[t,n],()=>i(aA(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),mA=e=>i(f("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[kh(t),n]),uA=e=>i(f(".*",e),([t,n])=>[Th(t),n]),pA=e=>i(f("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Eh(t),n]),cA=e=>i(f("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[vh(t),n]),lA=e=>i(f("(?!)",e),([t,n])=>[Sh(t),n]),dA=e=>i(dy(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Ph(t),n]),fA=e=>i(i(mA(e),([t,n])=>[t,n],()=>i(uA(e),([t,n])=>[t,n],()=>i(pA(e),([t,n])=>[t,n],()=>i(cA(e),([t,n])=>[t,n],()=>i(lA(e),([t,n])=>[t,n],()=>i(gA(e),([t,n])=>[t,n],()=>i(dA(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),gA=e=>i(i(f("(",e),([t,n])=>i(kp(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Rh(t),n]),By=e=>i(i(i(yp(e),([t,n])=>i(f("|",n),([r,o])=>i(By(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(yp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[Oh(t),n]),yp=e=>i(i(fA(e),([t,n])=>i(kp(n),([r,o])=>[[t,r],o])),([t,n])=>[Ah(t),n]),kp=e=>i(i(By(e),([t,n])=>[t,n],()=>i(yp(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),eg=e=>i(i(f("^",e),([t,n])=>i(kp(n),([r,o])=>i(f("$",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Mh(t),n]),Hy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(ne(r),([o,s])=>[[n,o],s])),([n,r])=>Hy(r,[...t,n]),()=>[t,e]),xA=e=>i(i(i(ne(e),([t,n])=>i(Hy(n),([r,o])=>i(i(f(",",o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ch(t),n]),Vy=e=>i(i(i(f("extends",e),([t,n])=>i(xA(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Lh(t),n]),hA=e=>i(i(f("interface",e),([t,n])=>i(ve(n),([r,o])=>i(Ip(o),([s,a])=>i(Vy(a),([p,c])=>i($p(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[jh(t),n]),yA=e=>i(i(f("interface",e),([t,n])=>i(ve(n),([r,o])=>i(Vy(o),([s,a])=>i($p(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Fh(t),n]),IA=e=>i(i(f("type",e),([t,n])=>i(ve(n),([r,o])=>i(Ip(o),([s,a])=>i(f("=",a),([p,c])=>i(ne(c),([x,y])=>[[t,r,s,p,x],y]))))),([t,n])=>[Dh(t),n]),bA=e=>i(i(f("type",e),([t,n])=>i(ve(n),([r,o])=>i(f("=",o),([s,a])=>i(ne(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[Nh(t),n]),$A=e=>i(i(i(f("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[qh(t),n]),Jy=e=>i(i(i(f(";",e),([t,n])=>i(f(`
14
+ `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(f(`
15
+ `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),Yy=(e,t=[])=>i(i(Jy(e),([n,r])=>i(Tp(r),([o,s])=>[[n,o],s])),([n,r])=>Yy(r,[...t,n]),()=>[t,e]),wA=e=>i(i(i(Tp(e),([t,n])=>i(Yy(n),([r,o])=>i(i(Jy(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[_h(t),n]),Tp=e=>i(i($A(e),([t,n])=>i(i(hA(n),([r,o])=>[r,o],()=>i(yA(n),([r,o])=>[r,o],()=>i(IA(n),([r,o])=>[r,o],()=>i(bA(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i($y(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Uh(t),n]),kA=e=>i(i(Tp(e),([t,n])=>i(wA(n),([r,o])=>[[t,r],o])),([t,n])=>[Gh(t),n]),Xy=e=>i(i(kA(e),([t,n])=>[t,n],()=>i(AO(e),([t,n])=>[t,n],()=>i(ne(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function Zy(e){let t=bp(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:Le()}var Ep=m(()=>{xn();S();ki()});function EA(e){return e.join("|")}function vA(e){return e.slice(1,e.length-1)}function SA(e,t,n){return Qn(t,`${n}${e}`)}function PA(e,t){return Qn(e,`${t}${Vf}`)}function RA(e,t){return Qn(e,`${t}${Ii}`)}function OA(e,t){return Qn(e,`${t}${$i}`)}function AA(e,t){return as(H([Q("false"),Q("true")]),e,t)}function MA(e,t){return Qn(e,`${t}${wi}`)}function CA(e,t,n){return Qn(t,`${n}${vA(e)}`)}function LA(e,t,n){let r=ms(e,{});return as(r,t,n)}function jA(e,t,n){let r=dt(e);return as(r,t,n)}function Qy(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>Qy(s,t,n,[...r,as(o,[],"")]),()=>Qn(t,`${n}(${EA(r)})`))}function as(e,t,n){return Qe(e)?jA(e.enum,t,n):pt(e)?RA(t,n):me(e)?SA(e.const,t,n):yn(e)?PA(t,n):Ut(e)?AA(t,n):Oe(e)?OA(t,n):lt(e)?MA(t,n):Ee(e)?CA(e.pattern,t,n):tI(e)?LA(e.parameters[0],t,n):C(e)?Qy(e.anyOf,t,n):Fd}function Qn(e,t){return u.ShiftLeft(e,(n,r)=>as(n,r,t),()=>t)}function FA(e){return`^${Qn(e,"")}$`}function eI(e){let t=FA(e);return vi(t)}var vp=m(()=>{S();Zt();Re();V();It();hr();Kt();ct();In();Wn();We();Si();B();Ia()});function ms(e,t){return G(e)?l.Update(eI(e),{},t):Ki(e,t)}function nI(e,t,n,r){let o=Lt(e,t,n);return ms(o,r)}var Ia=m(()=>{T();It();vp();F()});function Ki(e,t={}){return L("TemplateLiteral",[e],t)}function tI(e){return Me(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function rI(e){return ms(e,{})}function DA(e){let t=Zy(e);return rI(t)}function oI(e,t={}){let n=u.IsString(e)?DA(e):rI(e);return l.Update(n,{},t)}function Ee(e){return R(e,"TemplateLiteral")}var It=m(()=>{No();S();W();se();Ep();Ia()});var _={};Mt(_,{ExtendsFalse:()=>U,ExtendsTrue:()=>E,ExtendsUnion:()=>Sp,IsExtendsFalse:()=>NA,IsExtendsTrue:()=>iI,IsExtendsTrueLike:()=>so,IsExtendsUnion:()=>sI,Match:()=>ye});function Sp(e){return l.Create({"~kind":"ExtendsUnion"},{inferred:e})}function sI(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function E(e){return l.Create({"~kind":"ExtendsTrue"},{inferred:e})}function iI(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function U(){return l.Create({"~kind":"ExtendsFalse"},{})}function NA(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function so(e){return sI(e)||iI(e)}function ye(e,t,n){return so(e)?t(e.inferred):n()}var ge=m(()=>{S();T()});function qA(e,t,n,r){return ye(ee(e,n,r),o=>E(l.Assign(l.Assign(e,o),{[t]:n})),()=>U())}function _A(e,t){return E(e)}function UA(e,t,n,r,o){return ye(ee(e,t,n),s=>ye(ee(s,t,r),a=>E(a),()=>U()),()=>ye(ee(e,t,o),s=>E(s),()=>U()))}function GA(e,t,n){let r=dt(n);return ee(e,t,r)}function aI(e,t,n){return u.ShiftLeft(n,(r,o)=>ye(ee(e,t,r),s=>aI(s,t,o),()=>U()),()=>E(e))}function KA(e,t,n){let r=rt(n);return ee(e,t,r)}function mI(e,t,n){return u.ShiftLeft(n,(r,o)=>ye(ee(e,t,r),s=>E(s),()=>mI(e,t,o)),()=>U())}function ue(e,t,n){return we(n)?_A(e,t):Te(n)?UA(e,t,n.if,n.then,n.else):Qe(n)?GA(e,t,n.enum):Pe(n)?qA(e,n.name,t,n.extends):Z(n)?aI(e,t,n.allOf):Ee(n)?KA(e,t,n.pattern):C(n)?mI(e,t,n.anyOf):Se(n)?E(e):U()}var st=m(()=>{S();T();xt();St();Zt();_t();Ce();It();V();Xe();wt();ge();B();B()});function uI(e,t,n){return Pe(n)?ue(e,t,n):we(n)?E(e):Se(n)?E(e):Sp(e)}var pI=m(()=>{_t();xt();Xe();st();ge()});function WA(e,t){let n=fr(e),r=fr(t);return n&&r||!n&&r?!0:!(n&&!r)}function cI(e,t,n,r){return be(r)?WA(t,r)?ee(e,n,r.items):U():ue(e,t,r)}var lI=m(()=>{ut();Uo();st();wt();ge()});function dI(e,t,n){return yn(n)?E(e):ue(e,t,n)}var fI=m(()=>{hr();st();ge()});function gI(e,t,n){return Ut(n)?E(e):ue(e,t,n)}var xI=m(()=>{Wn();st();ge()});function zA(e,t,n,r,o){let s=Pe(r)?t:r,a=Pe(r)?r:t,p=nt(t),c=nt(r);return!p&&c?U():ye(ee(e,s,a),x=>us(x,n,o),()=>U())}function BA(e,t,n,r){return u.ShiftLeft(r,(o,s)=>zA(e,t,n,o,s),()=>nt(t)?E(e):U())}function HA(e,t,n){return u.ShiftLeft(t,(r,o)=>BA(e,r,o,n),()=>E(e))}function us(e,t,n){return HA(e,t,n)}var Pp=m(()=>{S();_t();Kn();wt();ge()});function ba(e,t,n){return $n(n)?E(e):ee(e,t,n)}var Rp=m(()=>{wr();wt();ge()});function hI(e,t,n,r){return we(r)?E(e):Se(r)?E(e):qe(r)?ye(us(e,t,r.parameters),o=>ba(o,n,r.instanceType),()=>U()):U()}var yI=m(()=>{xt();Dt();Xe();ge();Pp();Rp()});function II(e,t,n,r,o){return ye(ee(e,t,o),()=>ee(e,n,o),()=>ee(e,r,o))}var bI=m(()=>{wt();ge()});function $I(e,t,n){let r=dt(t);return ee(e,r,n)}var wI=m(()=>{wt();B()});function kI(e,t,n,r){return we(r)?E(e):Se(r)?E(e):_e(r)?ye(us(e,t,r.parameters),o=>ba(o,n,r.returnType),()=>U()):U()}var TI=m(()=>{xt();Nt();Xe();ge();Pp();Rp()});function EI(e,t,n){return pt(n)?E(e):Oe(n)?E(e):ue(e,t,n)}var vI=m(()=>{In();ct();st();ge()});function SI(e,t,n){let r=$e(t);return ee(e,r,n)}var PI=m(()=>{wt();ps()});function $a(e,t,n){return t===n?E(e):U()}function VA(e,t,n){return me(n)?$a(e,t,n.const):yn(n)?E(e):ue(e,Q(t),n)}function JA(e,t,n){return me(n)?$a(e,t,n.const):Ut(n)?E(e):ue(e,Q(t),n)}function YA(e,t,n){return me(n)?$a(e,t,n.const):Oe(n)?E(e):ue(e,Q(t),n)}function XA(e,t,n){return me(n)?$a(e,t,n.const):lt(n)?E(e):ue(e,Q(t),n)}function RI(e,t,n){return u.IsBigInt(t.const)?VA(e,t.const,n):u.IsBoolean(t.const)?JA(e,t.const,n):u.IsNumber(t.const)?YA(e,t.const,n):u.IsString(t.const)?XA(e,t.const,n):Le()}var OI=m(()=>{S();ju();Re();hr();Wn();ct();Kt();st();ge()});function AI(e,t,n){return Pe(n)?ue(e,t,n):E(e)}var MI=m(()=>{_t();st();ge()});function CI(e,t,n){return Wr(n)?E(e):ue(e,t,n)}var LI=m(()=>{zr();st();ge()});function jI(e,t,n){return Oe(n)?E(e):ue(e,t,n)}var FI=m(()=>{ct();st();ge()});function ZA(e,t,n){return nt(t)?nt(n)?E(e):U():E(e)}function QA(e,t,n){return Pe(n)&&Xt(n.extends)?U():ye(ee(e,t,n),r=>ZA(r,t,n),()=>U())}function eM(e,t){return e.reduce((n,r)=>r in t?so(t[r])?{...n,...t[r].inferred}:Le():Le(),{})}function tM(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?QA({},t[a],n[a]):nt(n[a])?Pe(n[a])?E(l.Assign(e,{[n[a].name]:n[a].extends})):E(e):U();let o=u.Values(r).every(a=>so(a)),s=o?eM(u.Keys(r),r):{};return o?E(s):U()}function nM(e,t,n){let r=tM(e,t,n);return so(r)?E(l.Assign(e,r.inferred)):U()}function rM(e,t,n){return nM(e,t,n)}function oM(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?C(n[r])?H([...n[r].anyOf,t[r]]):H([e[r],t[r]]):t[r]}),e)}function DI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>ye(ee({},e[o],n),a=>DI(e,s,n,oM(r,a)),()=>U()),()=>E(r))}function sM(e,t,n,r){let o=u.Keys(t);return DI(t,o,r,e)}function NI(e,t,n){return tt(n)?sM(e,t,zt(n),ft(n)):ae(n)?rM(e,t,n.properties):ue(e,q(t),n)}var qI=m(()=>{xn();T();S();Kn();_t();We();pe();Be();V();wt();st();ge()});function iM(e,t){return u.IsEqual(u.Keys(t).length,0)?E(e):U()}function aM(e,t,n,r,o){return ee(e,n,o)}function _I(e,t,n,r){return tt(r)?aM(e,Di(t),n,Di(zt(r)),ft(r)):ae(r)?iM(e,r.properties):we(r)?E(e):Se(r)?E(e):U()}var UI=m(()=>{S();xt();Xe();pe();Be();wt();ge()});function GI(e,t,n){return lt(n)?E(e):ue(e,t,n)}var KI=m(()=>{Kt();st();ge()});function WI(e,t,n){return zn(n)?E(e):ue(e,t,n)}var zI=m(()=>{Ir();st();ge()});function BI(e,t,n){let r=rt(t);return ee(e,r,n)}var HI=m(()=>{wt();B()});function Op(e,t){return l.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function cs(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 Ap(e){return Yn(e)?Pe(e.items)?be(e.items.extends)?Op(e.items.name,e.items.extends.items):Se(e.items.extends)?Op(e.items.name,e.items.extends):void 0:Le():void 0}function wa(e){return Pe(e)?Op(e.name,e.extends):void 0}function Mp(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>ye(ee({},r,t),()=>Mp(o,t,[...n,r]),()=>{}),()=>n)}function VI(e,t,n,r){let o=Mp(n,r);return u.IsArray(o)?E(l.Assign(e,{[t]:Ae(o)})):U()}function ka(e,t,n,r){let o=Mp(n,r);return u.IsArray(o)?E(l.Assign(e,{[t]:H(o)})):U()}var Cp=m(()=>{xn();T();S();ut();Xe();je();wt();V();_t();Yr();ge()});function mM(e){return[...e].reverse()}function Lp(e,t){return t?mM(e):e}function uM(e){let t=e.length>0?e[0]:void 0,n=Me(t)?Ap(t):void 0;return Me(n)}function pM(e,t,n,r,o,s){return ye(ee(e,n,o),a=>JI(a,t,r,s),()=>U())}function cM(e,t,n,r,o){let s=Ap(r);return cs(s)?VI(e,s.name,Lp(n,t),s.type):u.ShiftLeft(n,(a,p)=>pM(e,t,a,p,r,o),()=>U())}function lM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>cM(e,t,n,o,s),()=>u.IsEqual(n.length,0)?E(e):U())}function JI(e,t,n,r){return lM(e,t,n,r)}function dM(e,t,n){let r=er(e,xe([],[]),n),o=uM(r);return JI(e,o,Lp(t,o),Lp(r,o))}function YI(e,t,n){let r=wa(n);return cs(r)?ka(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>ye(ee(e,o,n),a=>YI(a,s,n),()=>U()),()=>E(e))}function XI(e,t,n){let r=er(e,xe([],[]),t);return de(n)?dM(e,r,n.items):be(n)?YI(e,r,n.items):ue(e,Ae(r),n)}var ZI=m(()=>{S();W();ut();je();wt();st();ge();F();F();Cp()});function QI(e,t,n){return $n(n)?E(e):Zr(n)?E(e):ue(e,t,n)}var eb=m(()=>{Qr();wr();st();ge()});function tb(e,t,n){return u.ShiftLeft(n,(r,o)=>ye(ee(e,t,r),s=>E(s),()=>tb(e,t,o)),()=>U())}function jp(e,t,n){return u.ShiftLeft(t,(r,o)=>ye(tb(e,r,n),s=>jp(s,o,n),()=>U()),()=>E(e))}function nb(e,t,n){let r=wa(n);return cs(r)?ka(e,r.name,t,r.type):C(n)?jp(e,t,n.anyOf):jp(e,t,[n])}var rb=m(()=>{S();V();wt();ge();Cp()});function ob(e,t,n){return Pe(n)?ue(e,t,n):we(n)?E(e):Se(n)?E(e):U()}var sb=m(()=>{xt();Xe();_t();st();ge()});function ib(e,t,n){return $n(n)?E(e):ue(e,t,n)}var ab=m(()=>{wr();st();ge()});function ee(e,t,n){return we(t)?uI(e,t,n):be(t)?cI(e,t,t.items,n):yn(t)?dI(e,t,n):Ut(t)?gI(e,t,n):qe(t)?hI(e,t.parameters,t.instanceType,n):Te(t)?II(e,t.if,t.then,t.else,n):Qe(t)?$I(e,t.enum,n):_e(t)?kI(e,t.parameters,t.returnType,n):pt(t)?EI(e,t,n):Z(t)?SI(e,t.allOf,n):me(t)?RI(e,t,n):Xt(t)?AI(e,t,n):Wr(t)?CI(e,t,n):Oe(t)?jI(e,t,n):ae(t)?NI(e,t.properties,n):tt(t)?_I(e,zt(t),ft(t),n):lt(t)?GI(e,t,n):zn(t)?WI(e,t,n):Ee(t)?BI(e,t.pattern,n):de(t)?XI(e,t.items,n):Zr(t)?QI(e,t,n):C(t)?nb(e,t.anyOf,n):Se(t)?ob(e,t,n):$n(t)?ib(e,t,n):U()}var wt=m(()=>{pI();lI();fI();xI();yI();bI();wI();TI();vI();PI();OI();MI();LI();FI();qI();UI();KI();zI();HI();ZI();eb();rb();sb();ab();xt();ut();hr();Wn();Dt();St();Zt();Nt();In();Ce();Re();We();zr();ct();pe();Be();Kt();Ir();It();je();Qr();Xe();V();wr();ge()});function fM(e,t){return $e([...e,q(t)])}function Fp(e,t,n){return G(e)?l.Update(fM(e,t),{},n):ns(e,t,n)}function mb(e,t,n,r,o){let s=Lt(e,t,n),a=ls(e,t,r);return Fp(s,a,o)}var Ta=m(()=>{T();pe();B();to();F();F();F()});function ns(e,t,n={}){return L("Interface",[e,t],n)}function io(e){return Me(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function ub(e,t,n={}){return Fp(e,t,n)}var ds=m(()=>{S();W();se();Ta()});function gM(e,t,n){return e.includes(n)?!0:fs([...e,n],t,t[n])}function pb(e,t,n){let r=li(n);return Tr(e,t,r)}function Tr(e,t,n){return u.ShiftLeft(n,(r,o)=>fs(e,t,r)?!0:Tr(e,t,o),()=>!1)}function fs(e,t,n){return Ue(n)?gM(e,t,n.$ref):be(n)?fs(e,t,n.items):qe(n)?Tr(e,t,[...n.parameters,n.instanceType]):_e(n)?Tr(e,t,[...n.parameters,n.returnType]):io(n)?pb(e,t,n.parameters[1]):Z(n)?Tr(e,t,n.allOf):ae(n)?pb(e,t,n.properties):C(n)?Tr(e,t,n.anyOf):de(n)?Tr(e,t,n.items):tt(n)?fs(e,t,ft(n)):!1}function cb(e,t,n){return fs(e,t,n)}var Dp=m(()=>{S();ut();Dt();Nt();Ce();pe();lr();Be();je();V();qt();ds()});function xM(e,t){return t.reduce((n,r)=>cb([r],e,e[r])?[...n,r]:n,[])}function lb(e){let t=ci(e);return xM(e,t)}var Np=m(()=>{lr();Dp()});function hM(e,t,n){return n.includes(t)?n:t in e?gs(e,e[t],[...n,t]):Le()}function db(e,t,n){let r=li(t);return ao(e,r,n)}function ao(e,t,n){return t.reduce((r,o)=>gs(e,o,r),n)}function gs(e,t,n){return Ue(t)?hM(e,t.$ref,n):be(t)?gs(e,t.items,n):qe(t)?ao(e,[...t.parameters,t.instanceType],n):_e(t)?ao(e,[...t.parameters,t.returnType],n):io(t)?db(e,t.parameters[1],n):Z(t)?ao(e,t.allOf,n):ae(t)?db(e,t.properties,n):C(t)?ao(e,t.anyOf,n):de(t)?ao(e,t.items,n):tt(t)?gs(e,ft(t),n):n}function fb(e,t,n){return gs(e,n,[t])}var qp=m(()=>{xn();ut();Dt();Nt();Ce();pe();lr();Be();je();V();qt();ds()});function yM(e){return _r()}function IM(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Er(e[n])}),{})}function xs(e){return e.reduce((t,n)=>[...t,Er(n)],[])}function Er(e){return Ue(e)?yM(e.$ref):be(e)?Ct(Er(e.items),pi(e)):qe(e)?cn(xs(e.parameters),Er(e.instanceType)):_e(e)?ln(xs(e.parameters),Er(e.returnType)):Z(e)?yt(xs(e.allOf)):ae(e)?q(IM(e.properties)):tt(e)?Fi(Jr(e),Er(ft(e))):C(e)?H(xs(e.anyOf)):de(e)?Ae(xs(e.items)):e}function bM(e,t){return t in e?Er(e[t]):ze()}function gb(e){return bM(e.$defs,e.$ref)}var xb=m(()=>{S();xt();ut();Dt();Nt();Ce();pe();Be();qt();je();V();Xe()});function $M(e,t,n){let r=Lt(e,xe([],[]),t),o=ls({},xe([],[]),n);return $e([...r,q(o)])}function wM(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=io(s)?$M(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function hb(e,t,n){let r=fb(e,t,n),o=wM(e,r);return fn(o,t)}var _p=m(()=>{S();ht();pe();qp();to();F();F();F();B()});function yb(e,t){return t in e?Ue(e[t])?yb(e,e[t].$ref):e[t]:ce()}function Tn(e,t){return yb(e,t)}var vr=m(()=>{We();qt()});var Up=m(()=>{Np();Dp();qp();xb();_p();vr()});function Ib(e){return Ze(e)?gb(e):di(e)?ze():e}function et(e,t,n){let r=Ib(t),o=Ib(n);return ee(e,r,o)}var bb=m(()=>{ht();Xe();fi();wt();Up()});var bn=m(()=>{bb();ge()});function Xo(e,t){let n=[et({},e,t),et({},t,e)];return _.IsExtendsTrueLike(n[0])&&_.IsExtendsTrueLike(n[1])?Jo:_.IsExtendsTrueLike(n[0])&&_.IsExtendsFalse(n[1])?Yo:_.IsExtendsFalse(n[0])&&_.IsExtendsTrueLike(n[1])?Ai:Ea}var Jo,Ea,Yo,Ai,Zo=m(()=>{bn();Jo=0,Ea=1,Yo=2,Ai=3});function Gp(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=Xo(e,o);return u.IsEqual(a,Yo)||u.IsEqual(a,Jo)?r:u.IsEqual(a,Ea)?Gp(e,s,[...n,o],r):Gp(e,s,n,r)},()=>[...n,e])}function kM(e,t,n){let r=Wt(e);return we(r)?[r]:Se(r)?[r]:Xt(r)?va(t,n):ae(r)?va(t,[...n,r]):va(t,Gp(r,n))}function va(e,t=[]){return u.ShiftLeft(e,(n,r)=>kM(n,r,t),()=>t)}function rp(e){let t=va(e);return Vr(t)}var op=m(()=>{S();xt();We();pe();Xe();Zo();Ci();B()});function Kp(e,t){return l.Update(Wt(e),{},t)}function $b(e,t,n,r){let o=w(e,t,n);return Kp(o,r)}var Sa=m(()=>{T();F();B()});var ps=m(()=>{op();Zo();Qu();tp();B();Ci();Sa();ep()});function hs(e,t=[]){return Un(e)&&u.IsEqual(e.action,"Conditional")?Ue(e.parameters[0])?hs(e.parameters[2],hs(e.parameters[3],[...t,e.parameters[0].$ref])):hs(e.parameters[2],hs(e.parameters[3],t)):Un(e)&&u.IsEqual(e.action,"Mapped")&&Un(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&Ue(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function TM(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function Tb(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>Tb(o,a,[...n,[s,r]]),()=>n),()=>n)}function EM(e){return Ee(e)?rt(e.pattern):Qe(e)?dt(e.enum):e}function vM(e){let t=EM(e);return C(t)?[...t.anyOf]:[t]}function SM(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function wb(e,t){return t.reduce((n,r)=>[...n,...SM(e,r)],[])}function kb(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?wb(t,vM(n[1])):wb(t,[n[1]]),[[]])}function Eb(e,t,n){let r=hs(n),o=TM(e,r),s=Tb(t,o);return Un(n)&&u.IsEqual(n.action,"Conditional")||Un(n)&&u.IsEqual(n.action,"Mapped")?kb(s):[t]}var vb=m(()=>{S();V();se();Zt();It();qt();B();B()});function PM(){return["(not-resolvable)",ce()]}function RM(){return["(not-generic)",ce()]}function OM(e,t,n){return[e,Gn(t,n)]}function AM(e,t,n){return t in e?Sb(e,t,e[t],n):PM()}function Sb(e,t,n,r){return qr(n)?OM(t,n.parameters,n.expression):Ue(n)?AM(e,n.$ref,r):RM()}function Pb(e,t,n){return Sb(e,"(anonymous)",t,n)}var Rb=m(()=>{jo();qt();We()});function MM(e,t,n){if(Pe(t)||mo(t)||_.IsExtendsTrueLike(et({},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 Ob(e,t,n,r,o){let s=w(e,t,o);return MM(n,s,r),l.Assign(e,{[n]:s})}function CM(e,t,n,r,o){let s=w(e,t,n.extends),a=w(e,t,n.equals);return u.ShiftLeft(o,(p,c)=>Wp(Ob(e,t,n.name,s,p),t,r,c),()=>Wp(Ob(e,t,n.name,s,a),t,r,[]))}function Wp(e,t,n,r){return u.ShiftLeft(n,(o,s)=>CM(e,t,o,s,r),()=>e)}function Ab(e,t,n,r){return Wp(e,t,n,r)}var Mb=m(()=>{S();T();F();bn();_t();eo()});function LM(){if(!u.IsLessThan(Bp,Yt.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function jM(){LM(),Bp++,zp++}function FM(){zp--,u.IsEqual(zp,0)&&(Bp=0)}function DM(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function NM(e,t){return u.IsEqual(DM(e),t)}function qM(e,t,n,r,o,s){jM();try{let a=Ab(e,t,r,s),p=w(a,xe([...t.callstack,n.$ref],t.visited),o);return w(a,xe([],[]),p)}finally{FM()}}function _M(e,t,n,r,o,s){return s.reduce((a,p)=>{let c=qM(e,t,n,r,o,p);return[...a,c]},[])}function UM(e,t,n,r,o,s){let a=Eb(r,s,o),p=_M(e,t,n,r,o,a);return u.IsEqual(p.length,1)?p[0]:$t(p)}function Pa(e,t,n,r){let o=Lt(e,t,r),s=Pb(e,n,r),a=s[0],p=s[1];return qr(p)?NM(t,a)?rs(An(a),o):UM(e,t,An(a),p.parameters,p.expression,o):rs(n,o)}var zp,Bp,Hp=m(()=>{ur();S();eo();qt();jo();ps();F();F();F();vb();Rb();Mb();zp=0,Bp=0});function rs(e,t){return l.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function Cb(e,t){return Pa({},xe([],[]),e,t)}function mo(e){return R(e,"Call")}var eo=m(()=>{T();W();Hp();F()});function GM(e){return l.Discard(e,["~immutable"])}function Lb(e,t){return l.Update(GM(e),{},t)}function jb(e,t,n,r){let o=w(e,t,n);return Lb(o,r)}var Vp=m(()=>{T();F()});function Fb(e,t){return e(t)}var Db=m(()=>{});function Nb(e,t){return u.IsString(t)?Q(Fb(e,t)):Q(t)}var qb=m(()=>{S();Re();Db()});function _b(e,t){let n=rt(t);return Ln(e,n)}var Ub=m(()=>{Ra();ps()});function Gb(e,t){let n=t.map(r=>Ln(e,r));return H(n)}var Kb=m(()=>{V();Ra()});function Ln(e,t){return me(t)?Nb(e,t.const):Ee(t)?_b(e,t.pattern):C(t)?Gb(e,t.anyOf):t}var Ra=m(()=>{Re();It();V();qb();Ub();Kb()});function Wi(e,t={}){return L("Capitalize",[e],t)}function Wb(e,t={}){return Jp(e,t)}var Oa=m(()=>{se();En()});function zi(e,t={}){return L("Lowercase",[e],t)}function zb(e,t={}){return Yp(e,t)}var Aa=m(()=>{se();En()});function Bi(e,t={}){return L("Uncapitalize",[e],t)}function Bb(e,t={}){return Xp(e,t)}var Ma=m(()=>{se();En()});function Hi(e,t={}){return L("Uppercase",[e],t)}function Hb(e,t={}){return Zp(e,t)}var Ca=m(()=>{se();En()});function Jp(e,t){return G([e])?l.Update(Ln(KM,e),{},t):Wi(e,t)}function Yp(e,t){return G([e])?l.Update(Ln(WM,e),{},t):zi(e,t)}function Xp(e,t){return G([e])?l.Update(Ln(zM,e),{},t):Bi(e,t)}function Zp(e,t){return G([e])?l.Update(Ln(BM,e),{},t):Hi(e,t)}function Vb(e,t,n,r){let o=w(e,t,n);return Jp(o,r)}function Jb(e,t,n,r){let o=w(e,t,n);return Yp(o,r)}function Yb(e,t,n,r){let o=w(e,t,n);return Xp(o,r)}function Xb(e,t,n,r){let o=w(e,t,n);return Zp(o,r)}var KM,WM,zM,BM,En=m(()=>{T();Ra();F();Oa();Aa();Ma();Ca();KM=e=>e[0].toUpperCase()+e.slice(1),WM=e=>e.toLowerCase(),zM=e=>e[0].toLowerCase()+e.slice(1),BM=e=>e.toUpperCase()});function Vi(e,t,n,r,o={}){return L("Conditional",[e,t,n,r],o)}function Zb(e,t,n,r,o={}){return Qp({},xe([],[]),e,t,n,r,o)}var La=m(()=>{se();ec();F()});function HM(e,t,n,r,o,s){let a=et(e,n,r);return _.IsExtendsUnion(a)?H([w(a.inferred,t,o),w(e,t,s)]):_.IsExtendsTrue(a)?w(a.inferred,t,o):w(e,t,s)}function Qp(e,t,n,r,o,s,a){return G([n,r])?l.Update(HM(e,t,n,r,o,s),{},a):Vi(n,r,o,s,a)}function Qb(e,t,n,r,o,s,a){let p=w(e,t,n),c=w(e,t,r);return Qp(e,t,p,c,o,s,a)}var ec=m(()=>{T();V();bn();F();La()});var tc=m(()=>{ec()});function Ji(e,t={}){return L("ConstructorParameters",[e],t)}function e$(e,t={}){return nc(e,t)}var ja=m(()=>{se();Fa()});function VM(e){let t=qe(e)?e.parameters:[],n=er({},xe([],[]),t);return Ae(n)}function nc(e,t){return G([e])?l.Update(VM(e),{},t):Ji(e,t)}function t$(e,t,n,r){let o=w(e,t,n);return nc(o,r)}var Fa=m(()=>{T();Dt();je();ja();F();F();F()});function Yi(e,t,n={}){return L("Exclude",[e,t],n)}function n$(e,t,n={}){return ys(e,t,n)}var Da=m(()=>{se();Is()});function ys(e,t,n){return G([e,t])?l.Update(Mi(e,t),{},n):Yi(e,t,n)}function r$(e,t,n,r,o){let s=w(e,t,n),a=w(e,t,r);return ys(s,a,o)}var Is=m(()=>{T();F();Da();np()});function Xi(e,t,n={}){return L("Extract",[e,t],n)}function o$(e,t,n={}){return rc(e,t,n)}var Na=m(()=>{se();qa()});function JM(e,t){let n=et({},e,t);return _.IsExtendsTrueLike(n)?[e]:[]}function s$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>s$(o,t,[...n,...JM(r,t)]),()=>n)}function i$(e,t){let n=Wt(e),r=C(n)?n.anyOf:[n],o=s$(r,t);return $t(o)}var a$=m(()=>{S();V();bn();B();B()});function rc(e,t,n){return G([e,t])?l.Update(i$(e,t),{},n):Xi(e,t,n)}function m$(e,t,n,r,o){let s=w(e,t,n),a=w(e,t,r);return rc(s,a,o)}var qa=m(()=>{T();F();Na();a$()});function YM(e){return e.reduce((t,n)=>bi(n)?[...t,Q(n)]:t,[])}function uo(e){let t=YM(e);return H(t)}var bs=m(()=>{Re();V()});function os(e,t,n={}){return L("Index",[e,t],n)}function u$(e,t,n={}){let r=u.IsArray(t)?uo(t):t;return sc(e,r,n)}var oc=m(()=>{S();se();bs();_a()});function p$(e,t){let n=Tn(e,t);return jt(n)}var c$=m(()=>{Sr();vr()});function l$(e,t,n){let r=en(e,t,n);return jt(r)}var d$=m(()=>{Sr();B()});function XM(e,t){let n=u.Keys(e).filter(y=>!u.HasPropertyKey(t,y)),r=u.Keys(t).filter(y=>!u.HasPropertyKey(e,y)),o=u.Keys(e).filter(y=>u.HasPropertyKey(t,y)),s=n.reduce((y,v)=>({...y,[v]:e[v]}),{}),a=r.reduce((y,v)=>({...y,[v]:t[v]}),{}),p=o.reduce((y,v)=>({...y,[v]:$e([e[v],t[v]])}),{}),c=l.Assign(s,a);return l.Assign(c,p)}function f$(e){return e.reduce((t,n)=>XM(t,jt(n)),{})}var g$=m(()=>{T();S();Sr();B()});var x$=m(()=>{});function h$(e){let t=yg(Ae(e));return jt(t)}var y$=m(()=>{je();Xu();Sr()});function ZM(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:$t([e[s],t[s]])}),{})}function I$(e,t){return u.ShiftLeft(e,(n,r)=>I$(r,ZM(t,jt(n))),()=>t)}function b$(e){return u.ShiftLeft(e,(t,n)=>I$(n,jt(t)),()=>Le())}var $$=m(()=>{S();xn();B();Sr()});function jt(e){return Ze(e)?p$(e.$defs,e.$ref):Te(e)?l$(e.if,e.then,e.else):Z(e)?f$(e.allOf):C(e)?b$(e.anyOf):de(e)?h$(e.items):ae(e)?e.properties:{}}var Sr=m(()=>{ht();St();Ce();pe();je();V();c$();d$();g$();x$();y$();$$()});function po(e){let t=jt(e);return q(t)}var w$=m(()=>{pe();Sr()});var $s=m(()=>{w$()});function co(e){let t=`${e}`;return QM.test(t)?parseInt(t):e}var QM,ws=m(()=>{QM=new RegExp("^(?:0|[1-9][0-9]*)$")});function eC(e){return Q(co(e))}function k$(e){return e.map(t=>T$(t))}function T$(e){return Z(e)?yt(k$(e.allOf)):C(e)?H(k$(e.anyOf)):me(e)?eC(e.const):e}function E$(e,t){let n=T$(t),r=et({},n,Pt());return _.IsExtendsTrueLike(r)?e:me(t)&&u.IsEqual(t.const,"length")?Pt():ce()}var v$=m(()=>{S();Ce();V();Re();ct();We();bn();ws()});function S$(e,t){let n=Tn(e,t);return Ot(n)}var P$=m(()=>{tr();vr()});function R$(e,t,n){let r=en(e,t,n);return Ot(r)}var O$=m(()=>{tr();B()});function A$(e){let t=dt(e);return Ot(t)}var M$=m(()=>{tr();B()});function C$(e){let t=$e(e);return Ot(t)}var L$=m(()=>{B();tr()});function j$(e){return[`${e}`]}var F$=m(()=>{});function D$(e){let t=rt(e);return Ot(t)}var N$=m(()=>{tr();B()});function q$(e){return e.reduce((t,n)=>[...t,...Ot(n)],[])}var _$=m(()=>{tr()});function Ot(e){return Ze(e)?S$(e.$defs,e.$ref):Te(e)?R$(e.if,e.then,e.else):Qe(e)?A$(e.enum):Z(e)?C$(e.allOf):me(e)?j$(e.const):Ee(e)?D$(e.pattern):C(e)?q$(e.anyOf):[]}var tr=m(()=>{ht();St();Zt();Ce();Re();It();V();P$();O$();M$();L$();F$();N$();_$()});function lo(e){return Ot(e)}var Ua=m(()=>{tr()});function ks(e,t){return t.map(n=>Ts(e,n))}function Ts(e,t){return be(t)?Ct(Ts(e,t.items)):qe(t)?cn(ks(e,t.parameters),Ts(e,t.instanceType)):_e(t)?ln(ks(e,t.parameters),Ts(e,t.returnType)):de(t)?Ae(ks(e,t.items)):C(t)?H(ks(e,t.anyOf)):Z(t)?yt(ks(e,t.allOf)):qi(t)?q(e):t}function U$(e,t){return Ts(e,t)}var G$=m(()=>{ut();Dt();Nt();Ce();pe();je();_i();V()});function tC(e,t){let n=t in e?e[t]:ce();return U$(e,n)}function K$(e,t){return t.reduce((n,r)=>[...n,tC(e,r)],[])}function nC(e,t){let n=lo(t),r=K$(e,n);return $t(r)}function oC(e){return e.filter(n=>rC.test(n))}function sC(e){let t=ci(e),n=oC(t),r=K$(e,n);return $t(r)}function W$(e,t){return Oe(t)?sC(e):nC(e,t)}var rC,z$=m(()=>{ct();We();lr();B();Ua();Be();G$();rC=new RegExp(Jn)});function iC(e){return Q(co(e))}function B$(e){return e.map(t=>ic(t))}function ic(e){return Z(e)?yt(B$(e.allOf)):C(e)?H(B$(e.anyOf)):me(e)?iC(e.const):e}var H$=m(()=>{V();Ce();Re();ws()});function aC(e,t){return e.reduceRight((n,r,o)=>{let s=et({},Q(o),t);return _.IsExtendsTrueLike(s)?[r,...n]:n},[])}function mC(e,t){let n=ic(t),r=aC(e,n);return Hn(r)}function uC(e){return Hn(e)}function V$(e,t){return me(t)&&u.IsEqual(t.const,"length")?Q(e.length):Oe(t)||pt(t)?uC(e):mC(e,t)}var J$=m(()=>{S();Re();ct();In();B();bn();H$()});function Y$(e,t){return be(e)?E$(e.items,t):ae(e)?W$(e.properties,t):de(e)?V$(e.items,t):ce()}var X$=m(()=>{ut();We();pe();je();v$();z$();J$()});function pC(e){return Ze(e)||Te(e)||Z(e)||C(e)?po(e):e}function sc(e,t,n){return G([e,t])?l.Update(Y$(pC(e),t),{},n):os(e,t,n)}function Z$(e,t,n,r,o){let s=w(e,t,n),a=w(e,t,r);return sc(s,a,o)}var _a=m(()=>{T();ht();St();Ce();V();F();oc();$s();X$()});function Zi(e,t={}){return L("InstanceType",[e],t)}function Q$(e,t={}){return ac(e,t)}var Ga=m(()=>{se();Ka()});function cC(e){return qe(e)?e.instanceType:ce()}function ac(e,t){return G([e])?l.Update(cC(e),{},t):Zi(e,t)}function ew(e,t,n,r={}){let o=w(e,t,n);return ac(o,r)}var Ka=m(()=>{T();Dt();We();Ga();F()});function ss(e,t={}){return L("KeyOf",[e],t)}function tw(e,t={}){return mc(e,t)}var Wa=m(()=>{se();za()});function nw(){return H([Pt(),Gt(),Br()])}var rw=m(()=>{ct();Kt();Ir();V()});function ow(e){return Pt()}var sw=m(()=>{ct()});function lC(e){return e.reduce((n,r)=>bi(r)?[...n,Q(co(r))]:Le(),[])}function iw(e){let t=u.Keys(e),n=lC(t);return Hn(n)}var aw=m(()=>{xn();S();Re();ws();B()});function mw(e){return Jr(e)}var uw=m(()=>{Be()});function pw(e){let t=e.map((n,r)=>Q(r));return Hn(t)}var cw=m(()=>{Re();B()});function lw(e){return we(e)?nw():be(e)?ow(e.items):ae(e)?iw(e.properties):tt(e)?mw(e):de(e)?pw(e.items):ce()}var dw=m(()=>{xt();ut();We();pe();Be();je();rw();sw();aw();uw();cw()});function dC(e){return Ze(e)||Te(e)||Z(e)||C(e)?po(e):e}function mc(e,t){return G([e])?l.Update(lw(dC(e)),{},t):ss(e,t)}function fw(e,t,n,r){let o=w(e,t,n);return mc(o,r)}var za=m(()=>{T();ht();St();Ce();V();Wa();F();$s();dw()});function ts(e,t,n,r,o={}){return L("Mapped",[e,t,n,r],o)}function gw(e,t,n,r,o={}){return uc({},xe([],[]),e,t,n,r,o)}var Ba=m(()=>{se();Ha();F()});function fC(e){let t=rt(e);return Va(t)}function gC(e){return e.reduce((t,n)=>[...t,...Va(n)],[])}function xC(e){let t=dt(e);return Va(t)}function hC(e){return u.IsNumber(e)?[Q(`${e}`)]:[Q(e)]}function Va(e){return Qe(e)?xC(e.enum):me(e)?hC(e.const):Ee(e)?fC(e.pattern):C(e)?gC(e.anyOf):[e]}function xw(e){return Va(e)}var hw=m(()=>{S();Re();Zt();It();V();B();B()});function yC(e){return Ee(e)?rt(e.pattern):e}function IC(e,t,n,r,o,s){let a=l.Assign(e,{[n.name]:r}),p=w(a,t,o),c=yC(p),x=w(a,t,s);return Yf(c)||Xf(c)?{[c.const]:x}:{}}function bC(e,t,n,r,o,s){return r.reduce((a,p)=>[...a,IC(e,t,n,p,o,s)],[])}function $C(e){return e.reduce((t,n)=>[...t,q(n)],[])}function yw(e,t,n,r,o,s){let a=xw(r),p=bC(e,t,n,a,o,s),c=$C(p);return $e(c)}var Iw=m(()=>{T();Re();pe();It();F();B();B();hw()});function uc(e,t,n,r,o,s,a){return G([r])?l.Update(yw(e,t,n,r,o,s),{},a):ts(n,r,o,s,a)}function bw(e,t,n,r,o,s,a){let p=w(e,t,r);return uc(e,t,n,p,o,s,a)}var Ha=m(()=>{T();Ba();F();Iw()});function wC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:hb(r,a,t[a])}),{})}function kC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:w(r,xe([],[]),t[a])}),{})}function TC(e,t,n){let r=lb(t),o=wC(e,t,r),s=kC(e,t,r),a={...o,...s};return l.Update(a,{},n)}function Ja(e,t,n,r){return TC(e,n,r)}var Ya=m(()=>{S();T();F();Np();_p();F()});function Qi(e,t={}){return L("NonNullable",[e],t)}function $w(e,t={}){return pc(e,t)}var Xa=m(()=>{se();Za()});function EC(e){let t=H([Kr(),Xr()]);return ys(e,t,{})}function pc(e,t){return G([e])?l.Update(EC(e),{},t):Qi(e,t)}function ww(e,t,n,r){let o=w(e,t,n);return pc(o,r)}var Za=m(()=>{T();zr();Qr();V();Is();Xa();F()});function ea(e,t,n={}){return L("Omit",[e,t],n)}function kw(e,t,n={}){let r=u.IsArray(t)?uo(t):t;return cc(e,r,n)}var Qa=m(()=>{S();se();bs();em()});function tm(e){let t=po(e);return ae(t)?t.properties:Le()}var lc=m(()=>{xn();pe();$s()});function vC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function Tw(e,t){let n=tm(e),r=lo(t),o=vC(n,r);return q(o)}var Ew=m(()=>{S();pe();Ua();lc()});function cc(e,t,n){return G([e,t])?l.Update(Tw(e,t),{},n):ea(e,t,n)}function vw(e,t,n,r,o){let s=w(e,t,n),a=w(e,t,r);return cc(s,a,o)}var em=m(()=>{T();Qa();F();Ew()});function ta(e,t={}){return L("Parameters",[e],t)}function Sw(e,t={}){return dc(e,t)}var nm=m(()=>{se();rm()});function SC(e){let t=_e(e)?e.parameters:[],n=er({},xe([],[]),t);return Ae(n)}function dc(e,t){return G([e])?l.Update(SC(e),{},t):ta(e,t)}function Pw(e,t,n,r){let o=w(e,t,n);return dc(o,r)}var rm=m(()=>{T();Nt();je();nm();F();F();F()});function na(e,t={}){return L("Partial",[e],t)}function Rw(e,t={}){return fc(e,t)}var om=m(()=>{se();sm()});function Ow(e,t){let n=Tn(e,t),r=vn(n);return fn(l.Assign(e,{[t]:r}),t)}var Aw=m(()=>{T();ht();fo();vr()});function Mw(e,t,n){let r=en(e,t,n);return vn(r)}var Cw=m(()=>{fo();B()});function Lw(e){let t=$e(e);return vn(t)}var jw=m(()=>{fo();B()});function Fw(e){let t=e.map(n=>vn(n));return H(t)}var Dw=m(()=>{V();fo()});function Nw(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:cr(e[o])}),{});return q(t)}var qw=m(()=>{S();pe();Fo()});function vn(e){return Ze(e)?Ow(e.$defs,e.$ref):Te(e)?Mw(e.if,e.then,e.else):Z(e)?Lw(e.allOf):C(e)?Fw(e.anyOf):ae(e)?Nw(e.properties):q({})}var fo=m(()=>{ht();St();Ce();pe();V();Aw();Cw();jw();Dw();qw()});function fc(e,t){return G([e])?l.Update(vn(e),{},t):na(e,t)}function _w(e,t,n,r){let o=w(e,t,n);return fc(o,r)}var sm=m(()=>{T();om();fo();F()});function ra(e,t,n={}){return L("Pick",[e,t],n)}function Uw(e,t,n={}){let r=u.IsArray(t)?uo(t):t;return gc(e,r,n)}var im=m(()=>{S();se();bs();am()});function PC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?l.Assign(r,{[o]:e[o]}):r,{})}function Gw(e,t){let n=tm(e),r=lo(t),o=PC(n,r);return q(o)}var Kw=m(()=>{T();S();pe();Ua();lc()});function gc(e,t,n){return G([e,t])?l.Update(Gw(e,t),{},n):ra(e,t,n)}function Ww(e,t,n,r,o){let s=w(e,t,n),a=w(e,t,r);return gc(s,a,o)}var am=m(()=>{T();im();F();Kw()});function oa(e,t={}){return L("ReadonlyObject",[e],t)}function xc(e,t={}){return hc(e,t)}var zw,mm=m(()=>{se();um();zw=xc});function Bw(e){return Gr(Ct(e))}var Hw=m(()=>{ut();Go()});function Vw(e,t){let n=Tn(e,t),r=Sn(n);return fn(l.Assign(e,{[t]:r}),t)}var Jw=m(()=>{T();ht();go();vr()});function Yw(e,t,n){let r=en(e,t,n);return Sn(r)}var Xw=m(()=>{go();B()});function Zw(e){let t=$e(e);return Sn(t)}var Qw=m(()=>{go();B()});function ek(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:gr(e[o])}),{});return q(t)}var tk=m(()=>{S();pe();Ko()});function nk(e){return Gr(Ae(e))}var rk=m(()=>{je();Go()});function ok(e){let t=e.map(n=>Sn(n));return H(t)}var sk=m(()=>{V();go()});function Sn(e){return be(e)?Bw(e.items):Ze(e)?Vw(e.$defs,e.$ref):Te(e)?Yw(e.if,e.then,e.else):Z(e)?Zw(e.allOf):ae(e)?ek(e.properties):de(e)?nk(e.items):C(e)?ok(e.anyOf):e}var go=m(()=>{ut();ht();St();Ce();pe();je();V();Hw();Jw();Xw();Qw();tk();rk();sk()});function hc(e,t){return G([e])?l.Update(Sn(e),{},t):oa(e)}function ik(e,t,n,r){let o=w(e,t,n);return hc(o,r)}var um=m(()=>{T();mm();go();F()});function ak(e,t,n,r){return t.visited.includes(r)?n:r in e?w(e,xe(t.callstack,[...t.visited,r]),e[r]):n}var yc=m(()=>{F();F()});function mk(e,t){let n=Tn(e,t),r=Pn(n);return fn(l.Assign(e,{[t]:r}),t)}var uk=m(()=>{T();ht();xo();vr()});function pk(e,t,n){let r=en(e,t,n);return Pn(r)}var ck=m(()=>{xo();B()});function lk(e){let t=$e(e);return Pn(t)}var dk=m(()=>{xo();B()});function fk(e){let t=e.map(n=>Pn(n));return H(t)}var gk=m(()=>{V();xo()});function xk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Ri(e[o])}),{});return q(t)}var hk=m(()=>{S();pe();Oi()});function Pn(e){return Ze(e)?mk(e.$defs,e.$ref):Te(e)?pk(e.if,e.then,e.else):Z(e)?lk(e.allOf):C(e)?fk(e.anyOf):ae(e)?xk(e.properties):q({})}var xo=m(()=>{ht();St();Ce();pe();V();uk();ck();dk();gk();hk()});function sa(e,t={}){return L("Required",[e],t)}function yk(e,t={}){return Ic(e,t)}var pm=m(()=>{se();cm()});function Ic(e,t){return G([e])?l.Update(Pn(e),{},t):sa(e,t)}function Ik(e,t,n,r){let o=w(e,t,n);return Ic(o,r)}var cm=m(()=>{T();xo();pm();F()});function ia(e,t={}){return L("ReturnType",[e],t)}function bk(e,t={}){return bc(e,t)}var lm=m(()=>{se();dm()});function RC(e){return _e(e)?e.returnType:ce()}function bc(e,t){return G([e])?l.Update(RC(e),{},t):ia(e,t)}function $k(e,t,n,r={}){let o=w(e,t,n);return bc(o,r)}var dm=m(()=>{T();Nt();We();lm();F()});function aa(e,t){return L("With",[e,t],{})}function wk(e,t){return $c(e,t)}var fm=m(()=>{se();gm()});function $c(e,t){return G([e])?l.Update(e,{},t):aa(e,t)}function kk(e,t,n,r){let o=w(e,t,n);return $c(o,r)}var gm=m(()=>{T();F();fm()});function OC(e){return Yn(e)?de(e.items)?wc(e.items.items):Pe(e.items)?[e]:Ue(e.items)?[e]:[ce()]:[e]}function wc(e){return e.reduce((n,r)=>[...n,...OC(r)],[])}var Tk=m(()=>{_t();We();Yr();qt();je()});var Ek=m(()=>{Tk()});function xe(e,t){return{callstack:e,visited:t}}function G(e){return u.ShiftLeft(e,(t,n)=>Ue(t)?!1:G(n),()=>!0)}function ls(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:w(e,t,n[o])}),{})}function er(e,t,n){let r=Lt(e,t,n);return wc(r)}function Lt(e,t,n){return n.map(r=>w(e,t,r))}function AC(e,t){let n=nt(e)?Lo(t,{}):t,r=xr(e)?Co(n,{}):n;return fr(e)?Es(r,{}):r}function MC(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?vk(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?jb(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?Md(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?dg(e,t,r[0],o):u.IsEqual(n,"AddOptional")?Cd(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?xg(e,t,r[0],o):u.IsEqual(n,"Capitalize")?Vb(e,t,r[0],o):u.IsEqual(n,"Conditional")?Qb(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"ConstructorParameters")?t$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?$b(e,t,r[0],o):u.IsEqual(n,"Exclude")?r$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?m$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?Z$(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?ew(e,t,r[0],o):u.IsEqual(n,"Interface")?mb(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?fw(e,t,r[0],o):u.IsEqual(n,"Lowercase")?Jb(e,t,r[0],o):u.IsEqual(n,"Mapped")?bw(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?Ja(e,t,r[0],o):u.IsEqual(n,"NonNullable")?ww(e,t,r[0],o):u.IsEqual(n,"Pick")?Ww(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?Pw(e,t,r[0],o):u.IsEqual(n,"Partial")?_w(e,t,r[0],o):u.IsEqual(n,"Omit")?vw(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?ik(e,t,r[0],o):u.IsEqual(n,"Record")?Ug(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?Ik(e,t,r[0],o):u.IsEqual(n,"ReturnType")?$k(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?nI(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?Yb(e,t,r[0],o):u.IsEqual(n,"Uppercase")?Xb(e,t,r[0],o):u.IsEqual(n,"With")?kk(e,t,r[0],r[1]):L(n,r,o)}function CC(e,t,n){let r=Ue(n)?ak(e,t,n,n.$ref):be(n)?Ct(w(e,t,n.items),pi(n)):mo(n)?Pa(e,t,n.target,n.arguments):qe(n)?cn(Lt(e,t,n.parameters),w(e,t,n.instanceType),Ld(n)):_e(n)?ln(Lt(e,t,n.parameters),w(e,t,n.returnType),jd(n)):Te(n)?dr(w(e,t,n.if),w(e,t,n.then),w(e,t,n.else),Gd(n)):Z(n)?yt(Lt(e,t,n.allOf),Hd(n)):ae(n)?q(ls(e,t,n.properties),qd(n)):tt(n)?Gg(zt(n),w(e,t,ft(n))):Yn(n)?$r(w(e,t,n.items)):de(n)?Ae(er(e,t,n.items),lg(n)):C(n)?H(Lt(e,t,n.anyOf),Qf(n)):n;return AC(n,r)}function w(e,t,n){return Un(n)?MC(e,t,n.action,n.parameters,n.options):CC(e,t,n)}function kc(e,t){return w(e,xe([],[]),t)}var F=m(()=>{S();xm();mi();ui();ut();Dt();se();Nt();eo();St();Ce();pe();Be();je();V();qt();Yr();xm();Vp();mi();Bu();ui();Ju();Kn();Uo();Wo();Hp();En();tc();Fa();Sa();Is();qa();_a();Ka();Ta();za();En();Ha();Ya();Za();em();rm();sm();am();um();Li();yc();cm();dm();Ia();En();En();gm();Ek()});function LC(e){return l.Update(e,{"~immutable":!0},{})}function Es(e,t){return l.Update(LC(e),{},t)}function vk(e,t,n,r){let o=w(e,t,n);return Es(o,r)}var xm=m(()=>{T();F()});function Wh(e,t={}){return L("AddImmutable",[e],t)}function Gr(e,t={}){return Es(e,t)}var Go=m(()=>{se();xm()});var Sk=m(()=>{se();Vp()});function zh(e,t={}){return L("Evaluate",[e],t)}function Pk(e,t={}){return Kp(e,t)}var Tc=m(()=>{se();Sa()});function Bh(e,t={}){return L("Module",[e],t)}function Rk(e,t={}){return Ja({},xe([],[]),e,t)}var Ec=m(()=>{se();F();Ya()});var to=m(()=>{Go();Ko();Fo();Sk();Hu();Oi();Oa();La();ja();Tc();Da();Na();oc();Ga();ds();Wa();Aa();Ba();Ec();Xa();Qa();nm();om();im();mm();pm();lm();Ma();Ca();fm()});var Ok=m(()=>{Fa()});var Ak=m(()=>{gi()});var Mk=m(()=>{Is()});var Ck=m(()=>{qa()});var Lk=m(()=>{});var jk=m(()=>{bs();ws();Lk()});var Fk=m(()=>{_a()});var Dk=m(()=>{Ka()});var Nk=m(()=>{Ta()});var qk=m(()=>{En()});var _k=m(()=>{za()});var Uk=m(()=>{Ha()});var Gk=m(()=>{Ya()});var Kk=m(()=>{Za()});var Wk=m(()=>{em()});var zk=m(()=>{rm()});var Bk=m(()=>{Vo();Ep()});var Hk=m(()=>{sm()});var Vk=m(()=>{am()});var Jk=m(()=>{S();Zo()});var Yk=m(()=>{Jk()});var Xk=m(()=>{um()});var Zk=m(()=>{Li()});var Qk=m(()=>{yc()});var eT=m(()=>{cm()});var tT=m(()=>{dm()});var nT=m(()=>{});var rT=m(()=>{S();Vo()});var oT=m(()=>{Si();Pi();vp();nT();Ei();rT()});var sT=m(()=>{gm()});var iT=m(()=>{F();tc();Ok();Up();Ak();ps();Mk();Ck();jk();Fk();Dk();Nk();qk();_k();Uk();Gk();Kk();$s();Wk();zk();Bk();Hk();Vk();Yk();Xk();Zk();Qk();eT();tT();oT();sT()});function aT(...e){let[t,n,r]=gn.Match(e,{2:(a,p)=>u.IsString(a)?[{},a,p]:[a,p,{}],3:(a,p,c)=>[a,p,c],1:a=>[{},a,{}]}),o=Xy(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?w(t,xe([],[]),o[0]):ce();return l.Update(s,{},r)}var mT=m(()=>{Ur();T();S();Gi();F();F();ki()});var vc=m(()=>{mT()});var ie={};Mt(ie,{Any:()=>_r,Array:()=>Ct,BigInt:()=>zo,Boolean:()=>yi,Call:()=>Cb,Capitalize:()=>Wb,Codec:()=>hi,Conditional:()=>Zb,Constructor:()=>cn,ConstructorParameters:()=>e$,Cyclic:()=>fn,Decode:()=>Kf,DecodeBuilder:()=>_o,Dependent:()=>dr,Encode:()=>Wf,EncodeBuilder:()=>qo,Enum:()=>Bd,Evaluate:()=>Pk,Exclude:()=>n$,Extends:()=>et,ExtendsResult:()=>_,Extract:()=>o$,Function:()=>ln,Generic:()=>Gn,Identifier:()=>Bo,Immutable:()=>zf,Index:()=>u$,Infer:()=>Do,InstanceType:()=>Q$,Instantiate:()=>kc,Integer:()=>yr,Interface:()=>ub,Intersect:()=>yt,IsAny:()=>we,IsArray:()=>be,IsBigInt:()=>yn,IsBoolean:()=>Ut,IsCall:()=>mo,IsCodec:()=>xi,IsConstructor:()=>qe,IsCyclic:()=>Ze,IsDependent:()=>Te,IsEnum:()=>Qe,IsEnumValue:()=>zd,IsFunction:()=>_e,IsGeneric:()=>qr,IsIdentifier:()=>Jf,IsImmutable:()=>fr,IsInfer:()=>Pe,IsInteger:()=>pt,IsIntersect:()=>Z,IsKind:()=>R,IsLiteral:()=>me,IsNever:()=>Xt,IsNull:()=>Wr,IsNumber:()=>Oe,IsObject:()=>ae,IsOptional:()=>nt,IsParameter:()=>Zf,IsReadonly:()=>xr,IsRecord:()=>tt,IsRef:()=>Ue,IsRefine:()=>qu,IsRest:()=>Yn,IsSchema:()=>Me,IsString:()=>lt,IsSymbol:()=>zn,IsTemplateLiteral:()=>Ee,IsThis:()=>qi,IsTuple:()=>de,IsUndefined:()=>Zr,IsUnion:()=>C,IsUnknown:()=>Se,IsUnsafe:()=>di,IsVoid:()=>$n,KeyOf:()=>tw,Literal:()=>Q,Lowercase:()=>zb,Mapped:()=>gw,Module:()=>Rk,Never:()=>ce,NonNullable:()=>$w,Null:()=>Kr,Number:()=>Pt,Object:()=>q,Omit:()=>kw,Optional:()=>Dd,Parameter:()=>br,Parameters:()=>Sw,Partial:()=>Rw,Pick:()=>Uw,Readonly:()=>Bf,ReadonlyObject:()=>xc,ReadonlyType:()=>zw,Record:()=>Fi,RecordKey:()=>Jr,RecordPattern:()=>zt,RecordValue:()=>ft,Ref:()=>An,Refine:()=>Hf,Required:()=>yk,Rest:()=>$r,ReturnType:()=>bk,Script:()=>aT,String:()=>Gt,Symbol:()=>Br,TemplateLiteral:()=>oI,This:()=>Ni,Tuple:()=>Ae,Uncapitalize:()=>Bb,Undefined:()=>Xr,Union:()=>H,Unknown:()=>ze,Unsafe:()=>_d,Uppercase:()=>Hb,Void:()=>Ui,With:()=>wk});var Sc=m(()=>{F();bn();vc();Oa();La();ja();Tc();Da();Na();to();Ga();ds();Wa();Aa();Ba();Ec();Xa();Qa();nm();om();im();mm();pm();lm();Ma();Ca();fm();Nu();Uo();Kn();Wo();_u();xt();ut();hr();Wn();eo();Dt();ht();Zt();Nt();jo();Uu();St();_t();In();Ce();Re();We();zr();ct();pe();Ku();Be();qt();Yr();W();Kt();Ir();It();_i();je();Qr();V();Xe();fi();wr()});var ho=m(()=>{to();iT();bn();vc();Gi();Sc();Sc()});import{StringEnum as jC}from"@earendil-works/pi-ai";import{defineTool as FC}from"@earendil-works/pi-coding-agent";function uT(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${DC[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(`
16
+ `)}function qC(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 _C(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 DC,NC,hm,Pc=m(()=>{ho();DC={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},NC=ie.Object({op:jC(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:ie.Optional(ie.Array(ie.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:ie.Optional(ie.String({description:"Exact label of the task to start, complete or drop"}))});hm=FC({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:NC,async execute(e,t,n,r,o){let s=_C(o),{todos:a,error:p}=qC(s,t.op,t.items,t.task),c={op:t.op,todos:a,...p?{error:p}:{}};return{content:[{type:"text",text:p?`Error: ${p}
17
+ ${uT(a)}`:uT(a)}],details:c,...p?{isError:!0}:{}}}})});import{StringEnum as UC}from"@earendil-works/pi-ai";import{defineTool as GC}from"@earendil-works/pi-coding-agent";function lT(){return jn.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...jn].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
18
+ `)}function KC(e,t,n){if(e==="list")return jn.size===0?{text:"No notes."}:{text:[...jn].map(([r,o])=>`${r} = ${o}`).join(`
19
+ `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>cT)return{text:`Error: key longer than ${cT} characters`,error:"key too long"};if(e==="forget")return{text:jn.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>pT?`${n.slice(0,pT)}\u2026`:n;return jn.set(t,r),{text:`Recorded ${t} (${jn.size} note${jn.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var jn,pT,cT,ym,Im=m(()=>{ho();jn=new Map,pT=2e3,cT=80;ym=GC({name:"context",label:"context",description:"Record a durable working note (a decision, a file's role, a fact you would otherwise re-derive). Notes survive context compaction and are visible to every agent on this task, including subagents. Use `set` to write, `list` to read, `forget` to remove.",promptSnippet:"context: durable notes shared with every agent on this task",parameters:ie.Object({op:UC(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:ie.Optional(ie.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:ie.Optional(ie.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:n,error:r}=KC(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(jn)},...r?{isError:!0}:{}}}})});import{StringEnum as WC}from"@earendil-works/pi-ai";import{defineTool as zC}from"@earendil-works/pi-coding-agent";function $m(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??bm,n=[`${gT[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
20
+ ${e.text}`}function xT(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??bm,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${gT[e.status]} ${e.used}/${t} \xB7 ${n}`}function hT(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(`
21
+ `)}function yT(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??bm}.`].join(`
22
+ `)}function wm(){return IT}function tn(e){IT=e}function km(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??bm;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function Rc(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>dT?{goal:e,error:`text longer than ${dT} 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 yo(e){let t;for(let n of e.sessionManager.getBranch()){if(n.type==="custom"&&n.customType===nr){t=n.data;continue}if(n.type==="custom_message"&&n.customType===nr){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 nr,fT,dT,bm,gT,IT,BC,bT,Tm=m(()=>{ho();nr="howtofix.goal",fT="howtofix.goal.continue",dT=400,bm=25,gT={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};BC=ie.Object({op:WC(["set","view","pause","resume","complete","clear"],{description:"set starts a goal; complete closes it with evidence; pause/resume/clear manage it; view reads it"}),text:ie.Optional(ie.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:ie.Optional(ie.Number({description:"Optional cap on automatic continuations before the run stops"})),note:ie.Optional(ie.String({description:"Evidence that the goal is met (required for complete)"}))}),bT=zC({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:BC,async execute(e,t,n,r,o){let s=yo(o),{goal:a,error:p}=Rc(s,t.op,t.text,t.budget,t.note);tn(a);let c=$m(a);return{content:[{type:"text",text:p?`Error: ${p}
23
+ ${c}`:c}],details:{op:t.op,goal:a},...p?{isError:!0}:{}}}})});import{existsSync as Mc,mkdirSync as $T,readFileSync as wT,writeFileSync as kT}from"node:fs";import{dirname as TT,join as ET}from"node:path";import{defineTool as vT}from"@earendil-works/pi-coding-agent";function Em(){return{state:"inactive",wasActive:!1}}function HC(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:Em()}function ST(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function VC(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function JC(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function YC(e){return e.state!=="active"?e:{...e,state:"inactive"}}function PT(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function vm(e){return e.state==="active"}function XC(e,t){return e===t}function ZC(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(`
24
+ `)}function QC(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 Sm(){return at}function RT(){return it}function OT(){return vm(at)}function AT(){if(!(!it||!Mc(it)))try{let e=wT(it,"utf8");return e.trim()?e:void 0}catch{return}}function MT(){return AT()!==void 0}function CT(){return at.state==="inactive"?"":at.state==="pending"?"plan pending":MT()?"plan \u25CF ready":"plan \u25CF planning"}function LT(){return Ac?ET(Ac,"plan_mode.json"):void 0}function e0(){let e=LT();if(e)try{$T(TT(e),{recursive:!0}),kT(e,JSON.stringify(at))}catch{}}function t0(){let e=LT();if(!e||!Mc(e))return Em();try{return HC(JSON.parse(wT(e,"utf8")))}catch{return Em()}}function n0(e){Ac=e,it=ET(e,"plan.md"),at=t0()}function Io(e){return at=e,e0(),at}function jT(){return e=>{e.on("tool_call",async t=>{if(!vm(at)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!it||XC(n,it)))return{block:!0,reason:QC(it)}})}}function FT(){return e=>{e.on("session_start",async(t,n)=>{n0(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{at.state==="pending"&&Io(VC(at))}),e.on("context_with_system",async t=>{if(!vm(at)||!it)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=ZC(it,MT()),o=`${typeof n.content=="string"?n.content:""}
25
+
26
+ ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function r0(){if(it){try{$T(TT(it),{recursive:!0}),Mc(it)||kT(it,"")}catch{return}return it}}var it,at,Ac,Oc,DT,NT,Cc=m(()=>{ho();at=Em();Oc=2e4;DT=vT({name:"enter_plan_mode",label:"enter_plan_mode",description:"Enter plan mode to design an approach before writing code. Use it when a task has genuine ambiguity \u2014 several reasonable designs, or a restructuring where the wrong approach wastes significant effort. Do not use it for a clear fix, a rename, or a task that follows existing conventions. The user must approve entering.",promptSnippet:"enter_plan_mode: design first when the approach is genuinely ambiguous",parameters:ie.Object({}),async execute(e,t,n,r,o){if(at.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${at.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:{}};Io(JC(at));let a=r0();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(`
27
+ `)}],details:{planFile:a}}}}),NT=vT({name:"exit_plan_mode",label:"exit_plan_mode",description:"Present your plan for approval when you have finished planning. The plan is read from the plan file on disk, so write the file first. If the user asks for changes, stay in plan mode and revise it.",promptSnippet:"exit_plan_mode: present the written plan for approval",parameters:ie.Object({}),executionMode:"sequential",async execute(e,t,n,r,o){if(!vm(at))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=AT();if(!s)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${it??"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>Oc?`${s.slice(0,Oc)}
28
+ \u2026 (${s.length-Oc} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?(Io(YC(at)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:it}}):{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 Lc(){return{consecutiveFailures:0,tripped:!1}}function o0(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function s0(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function i0(){return Lc()}function a0(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 qT(){return e=>{e.on("session_start",async()=>{rr=Lc()}),e.on("session_compact",async()=>{rr=i0()}),e.on("session_compact_failed",async(t,n)=>{let r=rr;rr=s0(rr,t.aborted),!r.tripped&&rr.tripped&&n?.ui&&n.ui.notify(a0(rr),"warning")}),e.on("session_before_compact",async t=>{if(o0(rr,t.reason))return{cancel:!0}})}}var rr,_T=m(()=>{rr=Lc()});function Pm(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(`
29
+ `):e==null?"":String(e)}function Rm(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 jc=m(()=>{});function m0(e){tn(yo(e))}function UT(e){return`budget exhausted (${e.budget??"default"} continuations)`}function GT(){return e=>{e.on("session_start",async(t,n)=>{m0(n)}),e.on("context_with_system",async(t,n)=>{let r=yo(n);if(tn(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${Pm(o.content)}
30
+
31
+ ${hT(r)}`;return{messages:t.messages.map(p=>p===o?{...o,content:Rm(o.content,s)}:p)}}),e.on("agent_before_settle",async(t,n)=>{let r=yo(n);if(tn(r),km(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(nr,o),tn(o),km(o).action==="stop"){let s={...o,status:"done",note:UT(o)};e.appendEntry(nr,s),tn(s);return}return{entries:[{type:"custom_message",customType:fT,content:yT(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=yo(n),o=km(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:UT(r)};e.appendEntry(nr,s),tn(s)}else tn(r)})}}var KT=m(()=>{jc();Tm()});function Om(){return e=>{e.on("context_with_system",async t=>{let n=lT();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Pm(r.content)}
32
+
33
+ ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Rm(r.content,o)}:a)}})}}var Fc=m(()=>{jc();Im()});import{mkdirSync as u0,readdirSync as p0,readFileSync as c0,writeFileSync as l0}from"node:fs";import{join as WT}from"node:path";import{createAgentSession as d0,DefaultResourceLoader as f0,SessionManager as g0}from"@earendil-works/pi-coding-agent";function zT(e){u0(jr,{recursive:!0}),l0(WT(jr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function BT(){let e;try{e=p0(jr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(c0(WT(jr,t),"utf8"));if(n.status!=="parked"||nn.some(r=>r.id===n.id))continue;nn.push({...n,mail:n.mail??[]})}catch{}}function Nc(){return BT(),nn.length===0?"no agents":nn.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
34
+ `)}function qc(e){BT();let t=nn.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
35
+ ${t.result??t.task}`:`no agent ${e}`}async function _c(e){let t=Pr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||process.cwd(),r=new f0({cwd:n,agentDir:Ye,extensionFactories:[Om()]});await r.reload();let{session:o}=await d0({cwd:n,agentDir:Ye,sessionManager:g0.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[ym,hm],thinkingLevel:e.effort});return o}async function HT(e){let t=Pr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Pr.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${nn.length+1}`,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return nn.push(n),zT(n),n}async function I0(e,t){let n=Pr.get(e.agent);if(!n)return;let r=e.session??await _c(e);e.session=r;try{let o=e.mail.splice(0).join(`
35
36
  `);for(await r.prompt(`${n.prompt}
36
37
 
37
38
  Task:
38
39
  ${e.task}${o?`
39
40
 
40
41
  Messages:
41
- ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<g0;)await r.followUp(e.mail.splice(0).join(`
42
- `)),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{UT(e)}}async function WT(e){let t=()=>rn.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 x0(r,e)}};if(await Promise.all(Array.from({length:f0},n)),e?.aborted)throw new Error("aborted")}var Dc,d0,Pr,rn,f0,g0,Ss=m(()=>{Nn();bm();Fc();Pc();Dc=["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."],d0=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
42
+ ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<y0;)await r.followUp(e.mail.splice(0).join(`
43
+ `)),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{zT(e)}}async function VT(e){let t=()=>nn.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 I0(r,e)}};if(await Promise.all(Array.from({length:h0},n)),e?.aborted)throw new Error("aborted")}var Dc,x0,Pr,nn,h0,y0,vs=m(()=>{Nn();Im();Fc();Pc();Dc=["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."],x0=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
43
44
 
44
45
  ## Read-only, by construction
45
46
  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.
@@ -58,63 +59,62 @@ End your reply with exactly this section, listing the 3-5 files most critical to
58
59
  - path/to/file.ts
59
60
 
60
61
  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.`,Pr=new Map([["scout",{name:"scout",description:"read-only lookup",tools:["read","grep","find","ls","context"],prompt:["Inspect only what the task needs. Do not edit.",...Dc].join(`
61
- `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context"],prompt:d0,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo"],prompt:["Do the assignment, then report files changed.",...Dc].join(`
62
+ `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context"],prompt:x0,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo"],prompt:["Do the assignment, then report files changed.",...Dc].join(`
62
63
  `),effort:"medium"}],["reviewer",{name:"reviewer",description:"finds concrete issues",tools:["read","grep","find","ls","context"],prompt:["Return issues with file evidence. Do not edit.",...Dc].join(`
63
- `),effort:"medium"}]]),rn=[],f0=3,g0=8});import{execFileSync as h0}from"node:child_process";import{tmpdir as y0}from"node:os";import{join as I0}from"node:path";function Bt(e,t){try{return{ok:!0,output:h0("git",t,{cwd:e,encoding:"utf8",stdio:["ignore","pipe","pipe"],maxBuffer:8388608}).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}}}function Mm(e){return Bt(e,["rev-parse","--is-inside-work-tree"]).output==="true"}function zT(e){return Bt(e,["status","--porcelain"]).output.length>0}function BT(e,t){let n=Bt(e,["add","-A"]);if(!n.ok)return n;let r=Bt(e,["commit","-m",t]);return r.ok?{ok:!0,output:Bt(e,["log","-1","--oneline"]).output||r.output}:r}function HT(e){let t=Bt(e,["diff"]).output,n=Bt(e,["diff","--cached"]).output;return[t,n].filter(Boolean).join(`
64
- `)}function Uc(e){return Bt(e,["reset","--soft","HEAD~1"])}function VT(e,t=60){let n=e.split(`
64
+ `),effort:"medium"}]]),nn=[],h0=3,y0=8});import{execFileSync as b0}from"node:child_process";import{tmpdir as $0}from"node:os";import{join as w0}from"node:path";function Bt(e,t){try{return{ok:!0,output:b0("git",t,{cwd:e,encoding:"utf8",stdio:["ignore","pipe","pipe"],maxBuffer:8388608}).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}}}function Am(e){return Bt(e,["rev-parse","--is-inside-work-tree"]).output==="true"}function JT(e){return Bt(e,["status","--porcelain"]).output.length>0}function YT(e,t){let n=Bt(e,["add","-A"]);if(!n.ok)return n;let r=Bt(e,["commit","-m",t]);return r.ok?{ok:!0,output:Bt(e,["log","-1","--oneline"]).output||r.output}:r}function XT(e){let t=Bt(e,["diff"]).output,n=Bt(e,["diff","--cached"]).output;return[t,n].filter(Boolean).join(`
65
+ `)}function Uc(e){return Bt(e,["reset","--soft","HEAD~1"])}function ZT(e,t=60){let n=e.split(`
65
66
  `);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(`
66
- `)}function JT(e){return Bt(e,["log","-1","--oneline"]).output}function YT(e,t){if(!Mm(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=I0(y0(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return Bt(e,["worktree","add","--detach",r,"HEAD"]).ok?{path:r,remove(){Bt(e,["worktree","remove","--force",r]),Bt(e,["worktree","prune"])}}:null}var Gc=m(()=>{});function XT(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function b0(e,t){let n=XT(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function $0(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(!Rr(n)&&!Array.isArray(n))return;n=n[o]}return Rr(n)?n:void 0}function or(e,t,n,r,o){if(!Rr(t))return;if(t.$ref!==void 0){let a=$0(n,t.$ref);a&&or(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)or(e,a,n,r,o);for(let a of["anyOf","oneOf"]){let p=t[a];if(!Array.isArray(p)||p.length===0)continue;let c=p.filter(g=>{let b=[];return or(e,g,n,r,b),b.length===0}).length;a==="anyOf"&&c===0&&o.push({path:r,message:"does not match any allowed shape"}),a==="oneOf"&&c!==1&&o.push({path:r,message:`must match exactly one shape (matched ${c})`})}let s=t.type;if(s!==void 0){let a=Array.isArray(s)?s.map(String):[String(s)];if(!a.some(p=>b0(e,p))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${XT(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(", ")}`}),Rr(e)){let a=Rr(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let p of t.required.map(String))p in e||o.push({path:r?`${r}.${p}`:p,message:"is required"});for(let[p,c]of Object.entries(a))p in e&&or(e[p],c,n,r?`${r}.${p}`:p,o);if(t.additionalProperties===!1)for(let p of Object.keys(e))p in a||o.push({path:r?`${r}.${p}`:p,message:"is not an allowed property"});else if(Rr(t.additionalProperties))for(let[p,c]of Object.entries(e))p in a||or(c,t.additionalProperties,n,r?`${r}.${p}`:p,o)}if(Array.isArray(e)&&t.items!==void 0){let a=t.items;Array.isArray(a)?e.forEach((p,c)=>{c<a.length&&or(p,a[c],n,`${r}[${c}]`,o)}):e.forEach((p,c)=>or(p,a,n,`${r}[${c}]`,o))}if(typeof e=="string"&&(typeof t.minLength=="number"&&e.length<t.minLength&&o.push({path:r,message:`is shorter than ${t.minLength} characters`}),typeof t.pattern=="string"))try{new RegExp(t.pattern).test(e)||o.push({path:r,message:`does not match ${t.pattern}`})}catch{}typeof e=="number"&&(typeof t.minimum=="number"&&e<t.minimum&&o.push({path:r,message:`is below ${t.minimum}`}),typeof t.maximum=="number"&&e>t.maximum&&o.push({path:r,message:`is above ${t.maximum}`}))}function ZT(e,t){if(!Rr(t))return[];let n=[];return or(e,t,t,"",n),n}function QT(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
67
- `)}function eE(e){let t=e.trim(),n=/```(?:json)?\s*([\s\S]*?)```/.exec(t),r=[t,n?.[1]?.trim()].filter(o=>!!o);for(let o of r){try{return JSON.parse(o)}catch{}for(let s=0;s<o.length;s++){let a=o[s];if(a!=="{"&&a!=="[")continue;let p=a==="{"?"}":"]",c=0,g=!1,b=!1;for(let T=s;T<o.length;T++){let S=o[T];if(g){b?b=!1:S==="\\"?b=!0:S==='"'&&(g=!1);continue}if(S==='"')g=!0;else if(S===a)c++;else if(S===p&&(c--,c===0))try{return JSON.parse(o.slice(s,T+1))}catch{break}}}}}var Rr,tE=m(()=>{Rr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as nE from"node:os";async function T0(e,t=rE,n=oE){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 E0(){let e=nE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function v0(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 sE(e){let t=e.lifetimeCap??w0,n=e.fanoutCap??k0,r=v0(e.concurrency??E0()),o=0,s=0,a="",p=U=>e.onEvent?.(U),c=new Map,g=()=>e.onProgress?.([...c.values()]),b=async(U,H)=>{let ce=H??{},Re=typeof ce.label=="string"?ce.label:`agent-${o+1}`,ye=typeof ce.phase=="string"?ce.phase:a,Ve=typeof ce.agentType=="string"?ce.agentType:"task",Ft=typeof ce.effort=="string"?ce.effort:void 0,k=typeof ce.model=="string"?ce.model:void 0,Q=typeof ce.isolation=="string"?ce.isolation:void 0,Tt=ce.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new Ue(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Ue(`lifetime cap reached: ${t} agent calls in one run`);o++;let Ge=o;if(e.isPaused?.()&&!await T0(e,rE,oE))return null;let Vt=await r();try{if(e.signal?.aborted)return null;p({kind:"agent_start",label:Re,phase:ye,ordinal:o}),c.set(Ge,{label:Re,phase:ye,agentType:Ve,status:"running",outputTokens:0,...k?{model:k}:{},startedAt:Date.now()}),g();let Rn=(Je,Jt,gt)=>{let Et=c.get(Ge);Et&&(Et.status=Je,Et.outputTokens=Jt.outputTokens,Et.endedAt=Date.now(),Jt.toolCalls!==void 0&&(Et.toolCalls=Jt.toolCalls),Jt.model!==void 0&&(Et.model=Jt.model),gt&&(Et.detail=gt)),p({kind:"agent_end",label:Re,ok:Je==="ok",outputTokens:Jt.outputTokens}),g()},To=Tt===void 0?1:2;for(let Je=0;Je<To;Je++){let Jt=Je===0?String(U):void 0,gt=await S(Jt??S0(String(U),T),{label:Re,phase:ye,agentType:Ve,effort:Ft,model:k,isolation:Q});if(gt===null)return Rn("failed",{text:"",outputTokens:0}),null;if(s+=gt.outputTokens,Tt===void 0)return Rn("ok",gt,Kc(gt.text)),gt.text;let Et=eE(gt.text),Mr=Et===void 0?[{path:"",message:"reply was not JSON"}]:ZT(Et,Tt);if(Mr.length===0)return Rn("ok",gt,Kc(gt.text)),Et;if(T=QT(Mr),Je===To-1)return Rn("failed",gt,`schema: ${Kc(T)}`),null}return null}finally{Vt()}},T="",S=async(U,H)=>{try{return await e.invoke({prompt:U,...H})}catch{return null}};return{agent:(U,H)=>b(U,H),parallel:async U=>{if(U.length>n)throw new Ue(`fan-out cap exceeded: ${U.length} items (max ${n})`);return await Promise.all(U.map(async ce=>{try{return await ce()}catch{return null}}))},pipeline:async(U,...H)=>{if(U.length>n)throw new Ue(`fan-out cap exceeded: ${U.length} items (max ${n})`);return await Promise.all(U.map(async(Re,ye)=>{let Ve=Re;for(let Ft of H)try{Ve=await Ft(Ve,Re,ye)}catch{return null}return Ve}))},phase:U=>{a=String(U),p({kind:"phase",title:a})},log:U=>p({kind:"log",message:String(U)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function S0(e,t){return`${e}
67
+ `)}function QT(e){return Bt(e,["log","-1","--oneline"]).output}function eE(e,t){if(!Am(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=w0($0(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return Bt(e,["worktree","add","--detach",r,"HEAD"]).ok?{path:r,remove(){Bt(e,["worktree","remove","--force",r]),Bt(e,["worktree","prune"])}}:null}var Gc=m(()=>{});function tE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function k0(e,t){let n=tE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function T0(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(!Rr(n)&&!Array.isArray(n))return;n=n[o]}return Rr(n)?n:void 0}function or(e,t,n,r,o){if(!Rr(t))return;if(t.$ref!==void 0){let a=T0(n,t.$ref);a&&or(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)or(e,a,n,r,o);for(let a of["anyOf","oneOf"]){let p=t[a];if(!Array.isArray(p)||p.length===0)continue;let c=p.filter(x=>{let y=[];return or(e,x,n,r,y),y.length===0}).length;a==="anyOf"&&c===0&&o.push({path:r,message:"does not match any allowed shape"}),a==="oneOf"&&c!==1&&o.push({path:r,message:`must match exactly one shape (matched ${c})`})}let s=t.type;if(s!==void 0){let a=Array.isArray(s)?s.map(String):[String(s)];if(!a.some(p=>k0(e,p))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${tE(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(", ")}`}),Rr(e)){let a=Rr(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let p of t.required.map(String))p in e||o.push({path:r?`${r}.${p}`:p,message:"is required"});for(let[p,c]of Object.entries(a))p in e&&or(e[p],c,n,r?`${r}.${p}`:p,o);if(t.additionalProperties===!1)for(let p of Object.keys(e))p in a||o.push({path:r?`${r}.${p}`:p,message:"is not an allowed property"});else if(Rr(t.additionalProperties))for(let[p,c]of Object.entries(e))p in a||or(c,t.additionalProperties,n,r?`${r}.${p}`:p,o)}if(Array.isArray(e)&&t.items!==void 0){let a=t.items;Array.isArray(a)?e.forEach((p,c)=>{c<a.length&&or(p,a[c],n,`${r}[${c}]`,o)}):e.forEach((p,c)=>or(p,a,n,`${r}[${c}]`,o))}if(typeof e=="string"&&(typeof t.minLength=="number"&&e.length<t.minLength&&o.push({path:r,message:`is shorter than ${t.minLength} characters`}),typeof t.pattern=="string"))try{new RegExp(t.pattern).test(e)||o.push({path:r,message:`does not match ${t.pattern}`})}catch{}typeof e=="number"&&(typeof t.minimum=="number"&&e<t.minimum&&o.push({path:r,message:`is below ${t.minimum}`}),typeof t.maximum=="number"&&e>t.maximum&&o.push({path:r,message:`is above ${t.maximum}`}))}function nE(e,t){if(!Rr(t))return[];let n=[];return or(e,t,t,"",n),n}function rE(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
68
+ `)}function oE(e){let t=e.trim(),n=/```(?:json)?\s*([\s\S]*?)```/.exec(t),r=[t,n?.[1]?.trim()].filter(o=>!!o);for(let o of r){try{return JSON.parse(o)}catch{}for(let s=0;s<o.length;s++){let a=o[s];if(a!=="{"&&a!=="[")continue;let p=a==="{"?"}":"]",c=0,x=!1,y=!1;for(let v=s;v<o.length;v++){let O=o[v];if(x){y?y=!1:O==="\\"?y=!0:O==='"'&&(x=!1);continue}if(O==='"')x=!0;else if(O===a)c++;else if(O===p&&(c--,c===0))try{return JSON.parse(o.slice(s,v+1))}catch{break}}}}}var Rr,sE=m(()=>{Rr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as iE from"node:os";async function S0(e,t=aE,n=mE){let r=Date.now()+n;for(;e.isPaused?.();){if(e.signal?.aborted||Date.now()>=r)return!1;await new Promise(o=>setTimeout(o,t))}return!0}function P0(){let e=iE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function R0(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 uE(e){let t=e.lifetimeCap??E0,n=e.fanoutCap??v0,r=R0(e.concurrency??P0()),o=0,s=0,a="",p=K=>e.onEvent?.(K),c=new Map,x=()=>e.onProgress?.([...c.values()]),y=async(K,Y)=>{let X=Y??{},Fe=typeof X.label=="string"?X.label:`agent-${o+1}`,he=typeof X.phase=="string"?X.phase:a,Je=typeof X.agentType=="string"?X.agentType:"task",Ft=typeof X.effort=="string"?X.effort:void 0,fe=typeof X.model=="string"?X.model:void 0,b=typeof X.isolation=="string"?X.isolation:void 0,At=X.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new Ge(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Ge(`lifetime cap reached: ${t} agent calls in one run`);o++;let De=o;if(e.isPaused?.()&&!await S0(e,aE,mE))return null;let Vt=await r();try{if(e.signal?.aborted)return null;p({kind:"agent_start",label:Fe,phase:he,ordinal:o}),c.set(De,{label:Fe,phase:he,agentType:Je,status:"running",outputTokens:0,...fe?{model:fe}:{},startedAt:Date.now()}),x();let Dn=(an,Ke,gt)=>{let Tt=c.get(De);Tt&&(Tt.status=an,Tt.outputTokens=Ke.outputTokens,Tt.endedAt=Date.now(),Ke.toolCalls!==void 0&&(Tt.toolCalls=Ke.toolCalls),Ke.model!==void 0&&(Tt.model=Ke.model),gt&&(Tt.detail=gt)),p({kind:"agent_end",label:Fe,ok:an==="ok",outputTokens:Ke.outputTokens}),x()},Ar=At===void 0?1:2;for(let an=0;an<Ar;an++){let Ke=an===0?String(K):void 0,gt=await O(Ke??O0(String(K),v),{label:Fe,phase:he,agentType:Je,effort:Ft,model:fe,isolation:b});if(gt===null)return Dn("failed",{text:"",outputTokens:0}),null;if(s+=gt.outputTokens,At===void 0)return Dn("ok",gt,Kc(gt.text)),gt.text;let Tt=oE(gt.text),ko=Tt===void 0?[{path:"",message:"reply was not JSON"}]:nE(Tt,At);if(ko.length===0)return Dn("ok",gt,Kc(gt.text)),Tt;if(v=rE(ko),an===Ar-1)return Dn("failed",gt,`schema: ${Kc(v)}`),null}return null}finally{Vt()}},v="",O=async(K,Y)=>{try{return await e.invoke({prompt:K,...Y})}catch{return null}};return{agent:(K,Y)=>y(K,Y),parallel:async K=>{if(K.length>n)throw new Ge(`fan-out cap exceeded: ${K.length} items (max ${n})`);return await Promise.all(K.map(async X=>{try{return await X()}catch{return null}}))},pipeline:async(K,...Y)=>{if(K.length>n)throw new Ge(`fan-out cap exceeded: ${K.length} items (max ${n})`);return await Promise.all(K.map(async(Fe,he)=>{let Je=Fe;for(let Ft of Y)try{Je=await Ft(Je,Fe,he)}catch{return null}return Je}))},phase:K=>{a=String(K),p({kind:"phase",title:a})},log:K=>p({kind:"log",message:String(K)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function O0(e,t){return`${e}
68
69
 
69
70
  Your previous reply did not satisfy the required schema:
70
71
  ${t}
71
72
 
72
73
  Reply with ONLY a corrected JSON value.`}function Kc(e,t=80){let n=e.split(`
73
- `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var w0,k0,rE,oE,Ue,iE=m(()=>{tE();w0=1e3,k0=4096,rE=100,oE=300*1e3;Ue=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Fn,styleText as P0}from"@earendil-works/pi-tui";function R0(e,t){return P0(e,t,Cm)}function oe(e,t,n){return R0(e,{...n,fg:t})}var Cm,F,aE,Ps=m(()=>{Cm="truecolor",F={text:Fn("#e6e6e6"),mute:Fn("#8b8b8b"),dim:Fn("#5c5c5c"),user:Fn("#d0d0d0"),accent:Fn("#c4b5fd"),tool:Fn("#6ee7b7"),bad:Fn("#f0a8a4"),warn:Fn("#e6b15a"),line:Fn("#3a3a3a")};aE={heading:e=>oe(e,F.text,{bold:!0}),link:e=>oe(e,F.accent,{underline:!0}),linkUrl:e=>oe(e,F.mute),code:e=>oe(e,F.text),codeBlock:e=>oe(e,F.text),codeBlockBorder:e=>oe(e,F.line),quote:e=>oe(e,F.mute,{italic:!0}),quoteBorder:e=>oe(e,F.line),hr:e=>oe(e,F.line),listBullet:e=>oe(e,F.mute),bold:e=>oe(e,F.text,{bold:!0}),italic:e=>oe(e,F.text,{italic:!0}),strikethrough:e=>oe(e,F.mute,{strikethrough:!0}),underline:e=>oe(e,F.text,{underline:!0})}});import{truncateToWidth as As,visibleWidth as on}from"@earendil-works/pi-tui";function sr(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 pE(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 Bc(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function jm(e,t,n="left"){if(t<=0)return"";let r=on(e);if(r>t)return As(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function Hc(e,t,n,r=1){if(n<=0)return"";let o=on(t);if(o>=n)return As(t,n);let s=n-o-r;if(s<=0)return jm(t,n,"right");let a=on(e)>s?As(e,s):e,p=" ".repeat(n-on(a)-o);return a+p+t}function Wc(e,t,n){let r=$o(e,Math.max(0,n-2)),o=Math.max(1,n-1-on(r)),s=de("border","\u250C\u2500 ")+de("accent",r)+de("border",` ${"\u2500".repeat(o)}\u2510`),a=de("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),p=de("border","\u2502"),c=t.map(g=>`${p} ${jm(g,n)} ${p}`);return[s,...c,a]}function M0(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Rs(Math.round(n*.38),28,44),a=n-s-o,p=Math.max(e.rows.length,t.rows.length),c=S=>{let L=[...S];for(;L.length<p;)L.push("");return L},g=Wc(e.title,c(e.rows),s-4),b=Wc(t.title,c(t.rows),a-4),T=" ".repeat(o);return g.map((S,L)=>S+T+(b[L]??jm("",a)))}function cE(e,t,n){switch(e){case"running":return de(t||n?"accent":"muted","\u25CF");case"failed":return de("error","\u2717");default:return de("success","\u2713")}}function lE(e,t,n,r=Date.now(),o=0){return t?r-o<Lm?de("success","\u2713",!0):de("success","\u2713"):de(n?"accent":"dim",String(e))}function wo(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||uE;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(N=>(N.phase||uE)===o).map(N=>({...N,phaseIndex:s})),p=a.filter(N=>N.status!=="running").length,c=a.filter(N=>N.status==="failed").length,g=a.reduce((N,U)=>{let H=U.endedAt??t;return Math.max(N,H-U.startedAt)},0),b=-1;for(let N=0;N<a.length;N++){let U=a[N];U.status==="running"&&(b<0||U.startedAt>=a[b].startedAt)&&(b=N)}let T=r.get(o),S=a.length>0&&p===a.length&&c===0,L=S?a.reduce((N,U)=>Math.max(N,U.endedAt??0),0):0;return{title:o,...T?{detail:T}:{},agents:a,done:p,failed:c,outputTokens:a.reduce((N,U)=>N+U.outputTokens,0),elapsedMs:g,allDone:S,finishedAt:L,anchor:b}})}function Vc(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function C0(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function dE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function L0(e){return e.steps.length>A0||Vc(e)>O0}function j0(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 fE(e,t=Date.now()){let n=wo(e,t),r=e.steps.length,o=e.steps.filter(g=>g.status!=="running").length,s=e.steps.filter(g=>g.status==="failed").length,a=[e.name],p=n.find(g=>g.anchor>=0);p?a.push(`${p.title} ${p.done}/${p.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${Bc(Vc(e))} tok`),a.push(sr(dE(e,t))),s>0&&a.push(`${s} failed`);let c=a.join(" \xB7 ");return L0(e)?`large workflow \xB7 ${c}`:c}function xE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${sr(t-e.startedAt)}`,"idle"];let n=Bc(e.outputTokens),r=e.toolCalls??0,o=sr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function zc(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Rs(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 U0(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?de("accent","\u276F"):" ",p=lE(t+1,e.allDone,n,o,e.finishedAt),c=Math.max(0,r-4-on(s)),g=on(e.title)>c?As(e.title,c,"\u2026"):e.title,b=e.allDone&&o-e.finishedAt<Lm,T=de(b&&!n?"success":n?"accent":"text",g),S=`${a}${p} ${T}`,L=de(n?"accent":"muted",s);return Hc(S,L,r,1)}function G0(e,t,n,r,o,s){let a=t?de("accent","\u276F"):" ",p=cE(e.status,t,n),c=de(t?"accent":"text",jm(e.label,r)),g=`${a}${p} ${c}`,b=Math.max(0,o-on(g)-1),T=xE(e,s).find(L=>on(L)<=b)??"",S=de(t?"accent":_0(e)?"dim":"muted",T);return Hc(g,S,o,1)}function K0(e,t,n,r){let o=[];return e.forEach((s,a)=>{let c=`${lE(a+1,s.allDone,a===n,r,s.finishedAt)} ${de(a===n?"accent":"text",s.title)} ${de("muted",`${s.done}/${s.agents.length}`)}`;o.push($o(c,t));let{slice:g,more:b}=zc(s.agents,0,gE);g.forEach((T,S)=>{let L=cE(T.status,!1,S===s.anchor),N=xE(T,r)[0]??"";o.push($o(` ${L} ${de("text",T.label)} ${de("muted",N)}`,t))}),b>0&&o.push($o(` ${de("dim",`\u2026+${b} more`)}`,t))}),o}function W0(e,t,n){let r=n?.now??Date.now(),o=wo(e,r),s=e.steps,a=s.filter(Ge=>Ge.status!=="running").length,p=s.filter(Ge=>Ge.status==="failed").length,c=[`${a}/${s.length} agents`,`${Bc(Vc(e))} tok`,`${C0(e)} tools`,sr(dE(e,r)),...p>0?[`${p} failed`]:[]].join(" \xB7 "),g=[Hc(de("accent",e.name,!0),de("muted",c),t,2),...e.description?[de("muted",$o(e.description,t))]:[]],b=n?.footer?[de("muted",$o(n.footerText??z0(),t))]:[];if(o.length===0)return[...g,...Wc("Phases",["(no agents yet)"],Math.max(0,t-4)),...b];let T=Rs(n?.selectedPhase??j0(o),0,Math.max(0,o.length-1)),S=Rs(Math.round(t*.38),28,44),L=t-S-1-4;if(t<N0||L<q0)return[...g,...K0(o,t,T,r),...b];let N=o[T],{slice:U,start:H,more:ce}=zc(o,T,F0),Re=U.map((Ge,Vt)=>U0(Ge,H+Vt,H+Vt===T,S-4,r));ce>0&&Re.push(de("dim",`\u2026+${ce} more`));let ye=n?.filter?n.filter(N.agents):N.agents,Ve=ye.length?Rs(Math.max(...ye.map(Ge=>on(Ge.label))),6,D0):6,{slice:Ft,more:k}=zc(ye,0,n?.agentWindow??gE),Q=Ft.map((Ge,Vt)=>G0(Ge,!1,Vt===N.anchor,Ve,L,r));k>0&&Q.push(de("dim",`\u2026+${k} more`));let Tt=M0({title:"Phases",rows:Re},{title:`${N.title} \xB7 ${ye.length} agents${n?.filterLabel??""}`,rows:Q},t,{leftWidth:S,gap:1});return[...g,...Tt,...b]}function hE(e,t=[],n=96,r,o){let s=W0(e,n,{now:e.endedAt??Date.now(),footer:!0,...r===void 0?{}:{selectedPhase:r},...o?.filter?{filter:o.filter}:{},...o?.footerText?{footerText:o.footerText}:{},...o?.filterLabel?{filterLabel:o.filterLabel}:{}}),a=new Set(t);if(o?.drill){let c=wo(e,e.endedAt??Date.now()),g=c[Math.max(0,Math.min(c.length-1,r??0))];for(let b of g?.agents??[])a.add(b.label)}if(a.size===0)return s;let p=[];for(let c of e.steps)if(a.has(c.label)){for(let g of c.tasks??[]){let b=g.status==="completed"?"[x]":g.status==="in_progress"?"[>]":"[ ]";p.push(` ${de("muted",b)} ${de("text",g.content)}`)}c.detail&&p.push(` ${de("dim",c.detail)}`)}return p.length===0?s:[...s.slice(0,-1),...p,s[s.length-1]]}function z0(){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 mE,de,A0,O0,Lm,Rs,$o,uE,gE,F0,D0,N0,q0,_0,Os=m(()=>{Ps();mE={text:F.text,muted:F.mute,dim:F.dim,accent:F.accent,success:F.tool,error:F.bad,border:F.line},de=(e,t,n=!1)=>n?oe(t,mE[e],{bold:!0}):oe(t,mE[e]),A0=25,O0=15e5,Lm=420;Rs=(e,t,n)=>Math.max(t,Math.min(n,e)),$o=(e,t)=>on(e)>t?As(e,Math.max(0,t),"\u2026"):e;uE="Workflow";gE=16,F0=12,D0=18,N0=72,q0=24;_0=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as B0}from"node:fs";import{basename as H0}from"node:path";import{StringEnum as V0}from"@earendil-works/pi-ai";import{defineTool as J0}from"@earendil-works/pi-coding-agent";function IE(e){yE=e}function X0(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new Ue("a workflow script must start with `export const meta = { name, description }`");let r=e.length-t.length,o=n[0].length,s=0,a=null,p=-1;for(let L=o;L<t.length;L++){let N=t[L];if(a){N==="\\"?L++:N===a&&(a=null);continue}if(N==='"'||N==="'"||N==="`")a=N;else if(N==="{"||N==="[")s++;else if((N==="}"||N==="]")&&(s--,s===0)){p=L+1;break}}if(p===-1)throw new Ue("meta is not a closed literal object");let c=t.slice(o,p),g=e.slice(r+p).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(g))throw new Ue("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(g))throw new Ue("a workflow body must not use dynamic import()");let b;try{b=new Function(`"use strict"; return (${c});`)()}catch(L){throw new Ue(`meta must be a literal object: ${L instanceof Error?L.message:String(L)}`)}if(typeof b!="object"||b===null)throw new Ue("meta must be an object");let T=b;if(typeof T.name!="string"||!T.name.trim())throw new Ue("meta.name is required");if(typeof T.description!="string"||!T.description.trim())throw new Ue("meta.description is required");let S=Array.isArray(T.phases)?T.phases.filter(L=>typeof L=="object"&&L!==null).map(L=>({title:String(L.title??""),...typeof L.detail=="string"?{detail:L.detail}:{}})).filter(L=>L.title):void 0;return{meta:{name:T.name,description:T.description,...typeof T.whenToUse=="string"?{whenToUse:T.whenToUse}:{},...S?{phases:S}:{}},body:g}}function Z0(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
74
+ `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var E0,v0,aE,mE,Ge,pE=m(()=>{sE();E0=1e3,v0=4096,aE=100,mE=300*1e3;Ge=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Fn,styleText as A0}from"@earendil-works/pi-tui";function M0(e,t){return A0(e,t,Mm)}function oe(e,t,n){return M0(e,{...n,fg:t})}var Mm,D,cE,Ss=m(()=>{Mm="truecolor",D={text:Fn("#e6e6e6"),mute:Fn("#8b8b8b"),dim:Fn("#5c5c5c"),user:Fn("#d0d0d0"),accent:Fn("#c4b5fd"),tool:Fn("#6ee7b7"),bad:Fn("#f0a8a4"),warn:Fn("#e6b15a"),line:Fn("#3a3a3a")};cE={heading:e=>oe(e,D.text,{bold:!0}),link:e=>oe(e,D.accent,{underline:!0}),linkUrl:e=>oe(e,D.mute),code:e=>oe(e,D.text),codeBlock:e=>oe(e,D.text),codeBlockBorder:e=>oe(e,D.line),quote:e=>oe(e,D.mute,{italic:!0}),quoteBorder:e=>oe(e,D.line),hr:e=>oe(e,D.line),listBullet:e=>oe(e,D.mute),bold:e=>oe(e,D.text,{bold:!0}),italic:e=>oe(e,D.text,{italic:!0}),strikethrough:e=>oe(e,D.mute,{strikethrough:!0}),underline:e=>oe(e,D.text,{underline:!0})}});import{truncateToWidth as Rs,visibleWidth as rn}from"@earendil-works/pi-tui";function sr(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 fE(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 Bc(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Lm(e,t,n="left"){if(t<=0)return"";let r=rn(e);if(r>t)return Rs(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function Hc(e,t,n,r=1){if(n<=0)return"";let o=rn(t);if(o>=n)return Rs(t,n);let s=n-o-r;if(s<=0)return Lm(t,n,"right");let a=rn(e)>s?Rs(e,s):e,p=" ".repeat(n-rn(a)-o);return a+p+t}function Wc(e,t,n){let r=bo(e,Math.max(0,n-2)),o=Math.max(1,n-1-rn(r)),s=le("border","\u250C\u2500 ")+le("accent",r)+le("border",` ${"\u2500".repeat(o)}\u2510`),a=le("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),p=le("border","\u2502"),c=t.map(x=>`${p} ${Lm(x,n)} ${p}`);return[s,...c,a]}function j0(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ps(Math.round(n*.38),28,44),a=n-s-o,p=Math.max(e.rows.length,t.rows.length),c=O=>{let P=[...O];for(;P.length<p;)P.push("");return P},x=Wc(e.title,c(e.rows),s-4),y=Wc(t.title,c(t.rows),a-4),v=" ".repeat(o);return x.map((O,P)=>O+v+(y[P]??Lm("",a)))}function gE(e,t,n){switch(e){case"running":return le(t||n?"accent":"muted","\u25CF");case"failed":return le("error","\u2717");default:return le("success","\u2713")}}function xE(e,t,n,r=Date.now(),o=0){return t?r-o<Cm?le("success","\u2713",!0):le("success","\u2713"):le(n?"accent":"dim",String(e))}function $o(e,t=Date.now()){let n=e.phases.map(o=>o.title),r=new Map(e.phases.map(o=>[o.title,o.detail]));for(let o of e.steps){let s=o.phase||dE;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(j=>(j.phase||dE)===o).map(j=>({...j,phaseIndex:s})),p=a.filter(j=>j.status!=="running").length,c=a.filter(j=>j.status==="failed").length,x=a.reduce((j,K)=>{let Y=K.endedAt??t;return Math.max(j,Y-K.startedAt)},0),y=-1;for(let j=0;j<a.length;j++){let K=a[j];K.status==="running"&&(y<0||K.startedAt>=a[y].startedAt)&&(y=j)}let v=r.get(o),O=a.length>0&&p===a.length&&c===0,P=O?a.reduce((j,K)=>Math.max(j,K.endedAt??0),0):0;return{title:o,...v?{detail:v}:{},agents:a,done:p,failed:c,outputTokens:a.reduce((j,K)=>j+K.outputTokens,0),elapsedMs:x,allDone:O,finishedAt:P,anchor:y}})}function Vc(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function F0(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function hE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function D0(e){return e.steps.length>C0||Vc(e)>L0}function N0(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 yE(e,t=Date.now()){let n=$o(e,t),r=e.steps.length,o=e.steps.filter(x=>x.status!=="running").length,s=e.steps.filter(x=>x.status==="failed").length,a=[e.name],p=n.find(x=>x.anchor>=0);p?a.push(`${p.title} ${p.done}/${p.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${Bc(Vc(e))} tok`),a.push(sr(hE(e,t))),s>0&&a.push(`${s} failed`);let c=a.join(" \xB7 ");return D0(e)?`large workflow \xB7 ${c}`:c}function bE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${sr(t-e.startedAt)}`,"idle"];let n=Bc(e.outputTokens),r=e.toolCalls??0,o=sr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function zc(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ps(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 W0(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?le("accent","\u276F"):" ",p=xE(t+1,e.allDone,n,o,e.finishedAt),c=Math.max(0,r-4-rn(s)),x=rn(e.title)>c?Rs(e.title,c,"\u2026"):e.title,y=e.allDone&&o-e.finishedAt<Cm,v=le(y&&!n?"success":n?"accent":"text",x),O=`${a}${p} ${v}`,P=le(n?"accent":"muted",s);return Hc(O,P,r,1)}function z0(e,t,n,r,o,s){let a=t?le("accent","\u276F"):" ",p=gE(e.status,t,n),c=le(t?"accent":"text",Lm(e.label,r)),x=`${a}${p} ${c}`,y=Math.max(0,o-rn(x)-1),v=bE(e,s).find(P=>rn(P)<=y)??"",O=le(t?"accent":K0(e)?"dim":"muted",v);return Hc(x,O,o,1)}function B0(e,t,n,r){let o=[];return e.forEach((s,a)=>{let c=`${xE(a+1,s.allDone,a===n,r,s.finishedAt)} ${le(a===n?"accent":"text",s.title)} ${le("muted",`${s.done}/${s.agents.length}`)}`;o.push(bo(c,t));let{slice:x,more:y}=zc(s.agents,0,IE);x.forEach((v,O)=>{let P=gE(v.status,!1,O===s.anchor),j=bE(v,r)[0]??"";o.push(bo(` ${P} ${le("text",v.label)} ${le("muted",j)}`,t))}),y>0&&o.push(bo(` ${le("dim",`\u2026+${y} more`)}`,t))}),o}function H0(e,t,n){let r=n?.now??Date.now(),o=$o(e,r),s=e.steps,a=s.filter(De=>De.status!=="running").length,p=s.filter(De=>De.status==="failed").length,c=[`${a}/${s.length} agents`,`${Bc(Vc(e))} tok`,`${F0(e)} tools`,sr(hE(e,r)),...p>0?[`${p} failed`]:[]].join(" \xB7 "),x=[Hc(le("accent",e.name,!0),le("muted",c),t,2),...e.description?[le("muted",bo(e.description,t))]:[]],y=n?.footer?[le("muted",bo(n.footerText??V0(),t))]:[];if(o.length===0)return[...x,...Wc("Phases",["(no agents yet)"],Math.max(0,t-4)),...y];let v=Ps(n?.selectedPhase??N0(o),0,Math.max(0,o.length-1)),O=Ps(Math.round(t*.38),28,44),P=t-O-1-4;if(t<U0||P<G0)return[...x,...B0(o,t,v,r),...y];let j=o[v],{slice:K,start:Y,more:X}=zc(o,v,q0),Fe=K.map((De,Vt)=>W0(De,Y+Vt,Y+Vt===v,O-4,r));X>0&&Fe.push(le("dim",`\u2026+${X} more`));let he=n?.filter?n.filter(j.agents):j.agents,Je=he.length?Ps(Math.max(...he.map(De=>rn(De.label))),6,_0):6,{slice:Ft,more:fe}=zc(he,0,n?.agentWindow??IE),b=Ft.map((De,Vt)=>z0(De,!1,Vt===j.anchor,Je,P,r));fe>0&&b.push(le("dim",`\u2026+${fe} more`));let At=j0({title:"Phases",rows:Fe},{title:`${j.title} \xB7 ${he.length} agents${n?.filterLabel??""}`,rows:b},t,{leftWidth:O,gap:1});return[...x,...At,...y]}function $E(e,t=[],n=96,r,o){let s=H0(e,n,{now:e.endedAt??Date.now(),footer:!0,...r===void 0?{}:{selectedPhase:r},...o?.filter?{filter:o.filter}:{},...o?.footerText?{footerText:o.footerText}:{},...o?.filterLabel?{filterLabel:o.filterLabel}:{}}),a=new Set(t);if(o?.drill){let c=$o(e,e.endedAt??Date.now()),x=c[Math.max(0,Math.min(c.length-1,r??0))];for(let y of x?.agents??[])a.add(y.label)}if(a.size===0)return s;let p=[];for(let c of e.steps)if(a.has(c.label)){for(let x of c.tasks??[]){let y=x.status==="completed"?"[x]":x.status==="in_progress"?"[>]":"[ ]";p.push(` ${le("muted",y)} ${le("text",x.content)}`)}c.detail&&p.push(` ${le("dim",c.detail)}`)}return p.length===0?s:[...s.slice(0,-1),...p,s[s.length-1]]}function V0(){return"\u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc back out \xB7 f filter by status \xB7 p pause \xB7 x stop \xB7 s save script"}var lE,le,C0,L0,Cm,Ps,bo,dE,IE,q0,_0,U0,G0,K0,Os=m(()=>{Ss();lE={text:D.text,muted:D.mute,dim:D.dim,accent:D.accent,success:D.tool,error:D.bad,border:D.line},le=(e,t,n=!1)=>n?oe(t,lE[e],{bold:!0}):oe(t,lE[e]),C0=25,L0=15e5,Cm=420;Ps=(e,t,n)=>Math.max(t,Math.min(n,e)),bo=(e,t)=>rn(e)>t?Rs(e,Math.max(0,t),"\u2026"):e;dE="Workflow";IE=16,q0=12,_0=18,U0=72,G0=24;K0=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as J0}from"node:fs";import{basename as Y0}from"node:path";import{StringEnum as X0}from"@earendil-works/pi-ai";import{defineTool as Z0}from"@earendil-works/pi-coding-agent";function kE(e){wE=e}function eL(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new Ge("a workflow script must start with `export const meta = { name, description }`");let r=e.length-t.length,o=n[0].length,s=0,a=null,p=-1;for(let P=o;P<t.length;P++){let j=t[P];if(a){j==="\\"?P++:j===a&&(a=null);continue}if(j==='"'||j==="'"||j==="`")a=j;else if(j==="{"||j==="[")s++;else if((j==="}"||j==="]")&&(s--,s===0)){p=P+1;break}}if(p===-1)throw new Ge("meta is not a closed literal object");let c=t.slice(o,p),x=e.slice(r+p).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(x))throw new Ge("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(x))throw new Ge("a workflow body must not use dynamic import()");let y;try{y=new Function(`"use strict"; return (${c});`)()}catch(P){throw new Ge(`meta must be a literal object: ${P instanceof Error?P.message:String(P)}`)}if(typeof y!="object"||y===null)throw new Ge("meta must be an object");let v=y;if(typeof v.name!="string"||!v.name.trim())throw new Ge("meta.name is required");if(typeof v.description!="string"||!v.description.trim())throw new Ge("meta.description is required");let O=Array.isArray(v.phases)?v.phases.filter(P=>typeof P=="object"&&P!==null).map(P=>({title:String(P.title??""),...typeof P.detail=="string"?{detail:P.detail}:{}})).filter(P=>P.title):void 0;return{meta:{name:v.name,description:v.description,...typeof v.whenToUse=="string"?{whenToUse:v.whenToUse}:{},...O?{phases:O}:{}},body:x}}function tL(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
74
75
  ${e}
75
- })();`,r;try{r=new Function(...t,n)}catch(o){throw new Ue(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function Q0(e){return e.getLastAssistantText()?.trim()??""}function eL(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=Pr.get(t)??Pr.get("task");if(!s)throw new Ue(`no agent named ${t}`);let a=o==="worktree"?YT(process.cwd(),t):null,p=await _c({agent:s.name,effort:n??s.effort,...a?{worktree:a.path}:{}});try{await p.prompt(`${s.prompt}
76
+ })();`,r;try{r=new Function(...t,n)}catch(o){throw new Ge(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function nL(e){return e.getLastAssistantText()?.trim()??""}function rL(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=Pr.get(t)??Pr.get("task");if(!s)throw new Ge(`no agent named ${t}`);let a=o==="worktree"?eE(process.cwd(),t):null,p=await _c({agent:s.name,effort:n??s.effort,...a?{worktree:a.path}:{}});try{await p.prompt(`${s.prompt}
76
77
 
77
78
  Task:
78
- ${e}`);let c=p.getSessionStats(),g=r??tL(p);return{text:Q0(p),outputTokens:c.tokens.output,toolCalls:c.toolCalls,...g?{model:g}:{}}}finally{p.dispose(),a?.remove()}}}function tL(e){return e.model?.id??e.model?.name}function bE(e){let t=()=>e??yE;return J0({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:nL,executionMode:"sequential",async execute(n,r,o,s,a){let p=r.path?B0(r.path,"utf8"):r.code??"";if(!p.trim())throw new Ue("provide code or path");let{meta:c,body:g}=X0(p);if(r.path){let k=H0(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(k!==c.name)throw new Ue(`meta.name "${c.name}" must match the script filename "${k}"`)}let b=Z0(g),T=Date.now(),S=[],L=0,N=0,U=(k,Q)=>({name:c.name,...c.description?{description:c.description}:{},ok:k,agents:N,outputTokens:L,startedAt:T,phases:c.phases??[],steps:S,...Q?{error:Q}:{}}),H=(k,Q)=>{a.ui.setStatus(Jc,Q?void 0:fE(k)),s?.({content:[],details:U(!1)})},ce=k=>{N=k.length,L=k.reduce((Q,Tt)=>Q+Tt.outputTokens,0),S.splice(0,S.length,...k.map(Q=>({label:Q.label,phase:Q.phase,agent:Q.agentType,status:Q.status,outputTokens:Q.outputTokens,startedAt:Q.startedAt,...Q.toolCalls!==void 0?{toolCalls:Q.toolCalls}:{},...Q.model?{model:Q.model}:{},...Q.endedAt?{endedAt:Q.endedAt}:{},...Q.detail?{detail:Q.detail}:{},...Q.tasks?{tasks:Q.tasks}:{}}))),H({name:c.name,...c.description?{description:c.description}:{},phases:c.phases??[],steps:S,startedAt:T},!1)},Re=eL(),ye=sE({invoke:r.agent?rL(Re,r.agent):Re,budgetTotal:r.budget??null,onProgress:ce,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),Ve=new AbortController,Ft=setTimeout(()=>Ve.abort(),Y0);o&&o.addEventListener("abort",()=>Ve.abort(),{once:!0}),t()?.onStop?.(()=>Ve.abort());try{let k=await Promise.race([b(ye.agent,ye.parallel,ye.pipeline,ye.phase,ye.log,ye.args,ye.budget),new Promise((Tt,Ge)=>Ve.signal.addEventListener("abort",()=>Ge(new Ue("workflow timed out or was aborted"))))]),Q=Date.now();return a.ui.setStatus(Jc,void 0),{content:[{type:"text",text:`${c.name}: ${N} agent call(s), ${L} output tokens in ${sr(Q-T)}
79
+ ${e}`);let c=p.getSessionStats(),x=r??oL(p);return{text:nL(p),outputTokens:c.tokens.output,toolCalls:c.toolCalls,...x?{model:x}:{}}}finally{p.dispose(),a?.remove()}}}function oL(e){return e.model?.id??e.model?.name}function TE(e){let t=()=>e??wE;return Z0({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:sL,executionMode:"sequential",async execute(n,r,o,s,a){let p=r.path?J0(r.path,"utf8"):r.code??"";if(!p.trim())throw new Ge("provide code or path");let{meta:c,body:x}=eL(p);if(r.path){let fe=Y0(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(fe!==c.name)throw new Ge(`meta.name "${c.name}" must match the script filename "${fe}"`)}let y=tL(x),v=Date.now(),O=[],P=0,j=0,K=(fe,b)=>({name:c.name,...c.description?{description:c.description}:{},ok:fe,agents:j,outputTokens:P,startedAt:v,phases:c.phases??[],steps:O,...b?{error:b}:{}}),Y=(fe,b)=>{a.ui.setStatus(Jc,b?void 0:yE(fe)),s?.({content:[],details:K(!1)})},X=fe=>{j=fe.length,P=fe.reduce((b,At)=>b+At.outputTokens,0),O.splice(0,O.length,...fe.map(b=>({label:b.label,phase:b.phase,agent:b.agentType,status:b.status,outputTokens:b.outputTokens,startedAt:b.startedAt,...b.toolCalls!==void 0?{toolCalls:b.toolCalls}:{},...b.model?{model:b.model}:{},...b.endedAt?{endedAt:b.endedAt}:{},...b.detail?{detail:b.detail}:{},...b.tasks?{tasks:b.tasks}:{}}))),Y({name:c.name,...c.description?{description:c.description}:{},phases:c.phases??[],steps:O,startedAt:v},!1)},Fe=rL(),he=uE({invoke:r.agent?iL(Fe,r.agent):Fe,budgetTotal:r.budget??null,onProgress:X,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),Je=new AbortController,Ft=setTimeout(()=>Je.abort(),Q0);o&&o.addEventListener("abort",()=>Je.abort(),{once:!0}),t()?.onStop?.(()=>Je.abort());try{let fe=await Promise.race([y(he.agent,he.parallel,he.pipeline,he.phase,he.log,he.args,he.budget),new Promise((At,De)=>Je.signal.addEventListener("abort",()=>De(new Ge("workflow timed out or was aborted"))))]),b=Date.now();return a.ui.setStatus(Jc,void 0),{content:[{type:"text",text:`${c.name}: ${j} agent call(s), ${P} output tokens in ${sr(b-v)}
79
80
 
80
- ${oL(k)}`}],details:{...U(!0),endedAt:Q}}}catch(k){let Q=k instanceof Error?k.message:String(k);return a.ui.setStatus(Jc,void 0),{content:[{type:"text",text:`${c.name} failed after ${N} agent call(s): ${Q}`}],details:{...U(!1,Q),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Ft),t()?.onStop?.(null)}}})}function rL(e,t){return n=>e({...n,agentType:t})}function oL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Jc,yE,Y0,nL,Yc=m(()=>{yo();Ss();Gc();iE();Os();Jc="workflow",yE=null;Y0=600*1e3;nL=ie.Object({code:ie.Optional(ie.String({description:"The workflow script source"})),path:ie.Optional(ie.String({description:"Path to a workflow script, instead of code"})),agent:ie.Optional(V0(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:ie.Optional(ie.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as kt}from"@earendil-works/pi-ai";import{defineTool as sL}from"@earendil-works/pi-coding-agent";var $E,wE=m(()=>{Ss();Ss();$E=sL({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:kt.Object({agent:kt.Optional(kt.String()),effort:kt.Optional(kt.String()),task:kt.Optional(kt.String()),tasks:kt.Optional(kt.Array(kt.Object({agent:kt.Optional(kt.String()),effort:kt.Optional(kt.String()),task:kt.String()})))}),executionMode:"parallel",async execute(e,t,n,r){let o=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}],s=[];for(let p of o)p.task.trim()&&(s.push(await KT(p)),r?.({content:[],details:{agents:s.map(c=>({id:c.id,agent:c.agent,status:c.status}))}}));if(s.length===0)throw new Error("task or tasks is required");return await WT(n),{content:[{type:"text",text:s.map(p=>`## ${p.agent}#${p.id} ${p.status}
81
+ ${aL(fe)}`}],details:{...K(!0),endedAt:b}}}catch(fe){let b=fe instanceof Error?fe.message:String(fe);return a.ui.setStatus(Jc,void 0),{content:[{type:"text",text:`${c.name} failed after ${j} agent call(s): ${b}`}],details:{...K(!1,b),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Ft),t()?.onStop?.(null)}}})}function iL(e,t){return n=>e({...n,agentType:t})}function aL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Jc,wE,Q0,sL,Yc=m(()=>{ho();vs();Gc();pE();Os();Jc="workflow",wE=null;Q0=600*1e3;sL=ie.Object({code:ie.Optional(ie.String({description:"The workflow script source"})),path:ie.Optional(ie.String({description:"Path to a workflow script, instead of code"})),agent:ie.Optional(X0(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:ie.Optional(ie.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as kt}from"@earendil-works/pi-ai";import{defineTool as mL}from"@earendil-works/pi-coding-agent";var EE,vE=m(()=>{vs();vs();EE=mL({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:kt.Object({agent:kt.Optional(kt.String()),effort:kt.Optional(kt.String()),task:kt.Optional(kt.String()),tasks:kt.Optional(kt.Array(kt.Object({agent:kt.Optional(kt.String()),effort:kt.Optional(kt.String()),task:kt.String()})))}),executionMode:"parallel",async execute(e,t,n,r){let o=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}],s=[];for(let p of o)p.task.trim()&&(s.push(await HT(p)),r?.({content:[],details:{agents:s.map(c=>({id:c.id,agent:c.agent,status:c.status}))}}));if(s.length===0)throw new Error("task or tasks is required");return await VT(n),{content:[{type:"text",text:s.map(p=>`## ${p.agent}#${p.id} ${p.status}
81
82
  ${p.result??""}`).join(`
82
83
 
83
- `)}],details:{agents:s.map(p=>({id:p.id,status:p.status}))}}}})});var kE={};Ot(kE,{openSession:()=>fL});import{join as iL}from"node:path";import{createAgentSession as aL,createCodemodeExtension as mL,createMcpExtension as uL,DefaultResourceLoader as pL,SessionManager as Fm,SettingsManager as cL}from"@earendil-works/pi-coding-agent";function dL(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 fL(e){let t=cL.create(e.cwd,Ye,{projectTrusted:!0}),n=e.sessionPath?Fm.open(e.sessionPath):e.noSession?Fm.inMemory(e.cwd):e.continueSession?Fm.continueRecent(e.cwd):Fm.create(e.cwd),r=new pL({cwd:e.cwd,agentDir:Ye,settingsManager:t,appendSystemPrompt:[El],extensionFactories:[OT(),Pu(),Yl(),Om(),NT(),MT(),jT(),mL(),uL()]});await r.reload();let o=await aL({cwd:e.cwd,agentDir:Ye,settingsManager:t,sessionManager:n,resourceLoader:r,tools:lL,customTools:[$E,ed,td,ym,Im,xT,CT,LT,bE()],thinkingLevel:e.thinking}),s=o.session.model;if(e.model){let c=await o.session.modelRuntime.getAvailable(),g=dL(c,e.model);if(!g)throw o.session.dispose(),new Error(`unknown model '${e.model}'`);(s?.id!==g.id||s.provider!==g.provider)&&(await o.session.setModel(g),s=o.session.model)}let a=s?`${s.provider}/${s.id}`:"no model",p=[o.modelFallbackMessage].filter(c=>!!c);return s||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${iL(Ye,"models.json")}`),{session:o.session,dispose:()=>o.session.dispose(),modelLabel:a,note:p.length?p.join(`
84
- `):void 0}}var lL,TE=m(()=>{vo();Xl();Nn();ti();Au();Pc();bm();Em();Cc();FT();qT();Fc();Yc();wE();lL=["read","bash","edit","write","grep","find","ls","task","think","ask","todo","context","goal","enter_plan_mode","exit_plan_mode","workflow"]});import{mixColors as gL,styleText as EE}from"@earendil-works/pi-tui";function Ms(e,t,n){let r=AE(n);return r>=1?t:r<=0?e:gL(e,t,r)}function Zc(e,t,n,r){return!Ar||e<=Xc?t:e>=PE?r:Ms(n,r,(e-Xc)/(PE-Xc))}function OE(e,t){return!Ar||t<=0||e<0?1:1-(1-AE(e/t))**3}function ME(e,t){return Ar&&e>=0&&e<t}function el(e,t,n=hL,r=400){return!Ar||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function CE(e,t,n=Date.now(),r=1400){if(!Ar||r<=0)return e;let o=n%r/r;return Ms(e,t,o<.5?o*2:(1-o)*2)}function yL(e,t){let n=Math.abs(e-t);return n>=vE?0:Math.ceil((1-n/vE)*RE)/RE}function LE(e,t,n=Date.now()){let r=t.charMs??xL;if(!Ar||e.length===0||r<=0)return EE(e,{fg:t.base},Cm);let o=e.length+SE*2,s=n/r%o-SE,a=(S,L)=>EE(S,{fg:Ms(t.base,t.bright,L)},Cm),p="",c=0,g=null,b=0,T=0;for(let S of e){let L=yL(T,s);g===null?g=L:L!==g&&(p+=a(e.slice(c,b),g),c=b,g=L),b+=S.length,T+=1}return p+a(e.slice(c),g??0)}var Ar,xL,vE,SE,Xc,PE,RE,AE,Dm,Qc,hL,tl=m(()=>{Ps();Ar=process.env.HOWTOFIX_NO_MOTION!=="1",xL=45,vE=5,SE=8,Xc=1e4,PE=6e4,RE=3,AE=e=>e<0?0:e>1?1:e;Dm=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,!Ar)return this.value=this.target,this.velocity=0,this.value;n>250&&(this.velocity=0);let o=150,s=2*Math.sqrt(o),a=Math.max(1,Math.ceil(r/.008)),p=r/a;for(let c=0;c<a;c+=1)this.velocity+=(this.target-this.value)*o*p-this.velocity*s*p,this.value+=this.velocity*p;return this.moving||(this.value=this.target,this.velocity=0),this.value}};Qc=260,hL=45});import{execFile as IL,execFileSync as DE}from"node:child_process";import{promisify as bL}from"node:util";import{createHash as NE}from"node:crypto";import{copyFileSync as $L,existsSync as wL,mkdirSync as Nm,readFileSync as kL,statSync as TL,writeFileSync as EL}from"node:fs";import{dirname as vL,join as ir,resolve as SL}from"node:path";function Dn(e,t,n){let r={...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 r[o];r.GIT_DIR=e.gitDir,r.GIT_WORK_TREE=e.root,r.GIT_AUTHOR_NAME=r.GIT_COMMITTER_NAME="howtofix",r.GIT_AUTHOR_EMAIL=r.GIT_COMMITTER_EMAIL="howtofix@local";try{return DE("git",t,{cwd:e.root,env:r,encoding:"utf8",stdio:["ignore","pipe","pipe"],input:n,maxBuffer:8*1024*1024}).trim()}catch(o){let s=o&&typeof o=="object"&&"stderr"in o&&typeof o.stderr=="string"?o.stderr.trim():"";throw new Error(s||(o instanceof Error?o.message:String(o)))}}async function FE(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 RL("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function AL(e){return NE("sha1").update(e).digest("hex").slice(0,16)}function qE(e){let t=SL(e).replace(/\/+$/,"")||"/",n=ir(PL,AL(t)),r=ir(n,"git"),o={root:t,gitDir:r,metaFile:ir(n,"checkpoints.json")};return Nm(n,{recursive:!0}),wL(ir(r,"HEAD"))||(Nm(r,{recursive:!0}),DE("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),OL(t,r),o}function OL(e,t){let n=ir(e,".git","info","exclude");try{if(!TL(n).isFile())return;Nm(ir(t,"info"),{recursive:!0}),$L(n,ir(t,"info","exclude"))}catch{}}function rl(e){try{let t=JSON.parse(kL(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function _E(e,t){Nm(vL(e.metaFile),{recursive:!0}),EL(e.metaFile,`${JSON.stringify(t,null,1)}
85
- `,"utf8")}function ol(e,t){return[...rl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function UE(e,t,n){let r;try{await FE(e,["add","-A","--ignore-errors","--"]),r=await FE(e,["write-tree"])}catch{return null}let s=ol(e,t).find(S=>S.tree===r),a=Date.now(),p=`${a.toString(36)}-${NE("sha1").update(`${r}:${a}`).digest("hex").slice(0,6)}`,c=s?.commit;if(!c){let S=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
86
- `);c=Dn(e,["commit-tree",r],`${S}
87
- `),Dn(e,["update-ref",`${nl}/${p}`,c])}let g={id:p,tree:r,commit:c,prompt:n,at:a},b=rl(e),T=[...b.sessions[t]??[],g];for(let S of T.slice(0,Math.max(0,T.length-jE)))try{Dn(e,["update-ref","-d",`${nl}/${S.id}`])}catch{}return b.sessions[t]=T.slice(-jE),_E(e,b),g}function GE(e,t){let n=[];try{Dn(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=Dn(e,["clean","-fd"]);for(let o of r.split(`
88
- `)){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}}function KE(e,t){try{Dn(e,["add","-A","--ignore-errors","--"]);let n=Dn(e,["write-tree"]);return n===t.tree?[]:Dn(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n]).split(`
89
- `).filter(Boolean).map(o=>{let[s,...a]=o.split(" ");return`${s?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}function WE(e,t){let n=rl(e);for(let r of n.sessions[t]??[])try{Dn(e,["update-ref","-d",`${nl}/${r.id}`])}catch{}delete n.sessions[t],_E(e,n)}var PL,nl,jE,RL,zE=m(()=>{Nn();PL=ir(Ye,"rewind"),nl="refs/howtofix",jE=100;RL=bL(IL)});function al(e=90){let t=Math.floor(Date.now()/e)%sl.length;return sl[t]??sl[0]}function Cs(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function He(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 ML(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Cs(n,t):""}catch{return""}}function CL(e,t){switch(e){case"read":{let n=He(t,"path")??"",r=[He(t,"offset"),He(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 He(t,"path")??"";case"bash":case"powershell":return He(t,"command")??"";case"grep":{let n=He(t,"pattern")??"",r=He(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=He(t,"pattern")??He(t,"glob")??"",r=He(t,"path");return r?`${n} in ${r}`:n}case"ls":return He(t,"path")??".";case"task":return He(t,"agent")??"task";case"ask":return He(t,"question")??"";case"think":return"private";case"todo":{let n=He(t,"op")??"view",r=He(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=He(t,"op")??"list",r=He(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=He(t,"path");if(n)return n;let r=He(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(`
90
- `)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return ML(t)}}function Ls(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Cs(CL(e,t),n);return o?`${BE} ${r}(${o})`:`${BE} ${r}`}function LL(e){let t=0,n=0;for(let r of e.split(`
91
- `))r.startsWith("+")&&!r.startsWith("+++")?t+=1:r.startsWith("-")&&!r.startsWith("---")&&(n+=1);return{additions:t,removals:n}}function VE(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 _m(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function JE(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function HE(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function jL(e){return e.trim().split(`
92
- `).find(t=>t.trim())??""}function FL(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=qm(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function qm(e){let t=e.trim();return t?t.split(`
93
- `).length:0}function ko(e,t,n){let r=VE(t),o=_m(t),s=JE(t);if(n){let a=HE(s);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let p=r.trim().split(`
94
- `).find(c=>c.trim());return Cs(p??"failed",120)}switch(e){case"read":{let a=o.truncation,p=qm(r.replace(/\n*\[[^\]]*\]\s*$/,"")),c=p===0?"empty":`${p} line${p===1?"":"s"}`;return a?.truncated?`${c} (truncated from ${a.totalLines??"?"})`:c}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:p,removals:c}=LL(a);return`+${p} / -${c}`}case"write":{let a=qm(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=HE(s);if(a===void 0)return r.trim()?Cs(jL(r),120):"done";let p=FL(s,r);return a===0?`exit 0${p}`:`exit ${a}`}case"grep":{let a=qm(r);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let p=a.filter(g=>g.status==="completed").length,c=a.filter(g=>g.status==="pending"||g.status==="in_progress").length;return`${p}/${a.length} done, ${c} open`}case"context":{let a=o.notes,p=a?Object.keys(a).length:0;return p===0?"no notes":`${p} note${p===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,p=typeof o.outputTokens=="number"?o.outputTokens:0,c=Array.isArray(o.steps)?o.steps.filter(b=>b.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${a} agent(s)`;let g=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${sr(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${p} tokens${g}${c>0?`, ${c} failed`:""}`}default:{let a=r.trim().split(`
95
- `).find(p=>p.trim());return a?Cs(a,120):"done"}}}function YE(e,t){let n=_m(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
96
- `).filter(r=>r.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let r=JE(t);return(typeof r.output=="string"?r.output:VE(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
97
- `).filter(a=>a.trim()).slice(-4)}if(e==="todo"){let r=n.todos??[],o={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"};return r.slice(0,6).map(s=>`${o[s.status??"pending"]??"[ ]"} ${s.content??""}`)}return e==="workflow"?(n.steps??[]).map(s=>{let a=s.status==="running"?"\u25B8":s.status==="failed"?"\xD7":"\u2713",p=s.phase?`${s.phase} \xB7 `:"";return`${a} ${p}${s.label??"agent"}`}).slice(-6):[]}var BE,il,sl,ml=m(()=>{Os();BE="\u25CF",il="\u2514",sl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});import{Markdown as DL,wrapTextWithAnsi as NL}from"@earendil-works/pi-tui";function XE(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 qL(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function pl(e){let t=[];for(let n of e)if(n.role==="user"){let r=XE(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=XE(n.content).trim(),o=qL(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
98
-
99
- ${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:Ls(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:ko(n.toolName,{content:n.content},n.isError)});return t}function ZE(e,t,n){return NL(e,Math.max(8,t)).map(r=>oe(r,n))}function _L(e){let t=e.body||" ",n=js.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new DL(t,0,0,aE);return js.set(e.id,{text:t,component:r}),r}var js,ul,Um,QE=m(()=>{tl();Ps();ml();js=new Map;ul=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return Ms(F.dim,t,OE(n,Qc))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...ZE(`> ${n}`,t,this.shade(F.user))];if(this.item.kind==="tool")return[oe(n,this.shade(F.tool))];if(this.item.kind==="result"){let o=n.startsWith("exit ")&&n!=="exit 0";if(this.item.panel)return["",...this.item.panel(t),...n?[oe(` ${il} ${n}`,o?F.bad:F.mute)]:[]];let s=[];this.item.call&&s.push(oe(this.item.call,this.shade(F.tool)));let a=` ${il} ${n}`;s.push(oe(a,o?F.bad:this.shade(F.mute)));let p=this.item.detail??[],c=el(Date.now()-(this.item.born??0),p.length);for(let g of p.slice(0,c)){let b=g.startsWith("+")?F.tool:g.startsWith("-")?F.bad:F.dim;s.push(oe(` ${g}`,this.shade(b)))}return s}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?F.bad:F.mute;return["",...ZE(n,t,this.shade(o))]}return["",..._L(this.item).render(Math.max(8,t-2))]}},Um=class{items=[];status="";scrollOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(n=>{if(n.born===void 0)return!1;let r=t-n.born;return ME(r,Qc)?!0:(n.detail?.length??0)>el(r,n.detail?.length??0)})}render(t){if(js.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of js.keys())o.has(s)||js.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new ul(o).render(t));this.status&&n.push(oe(this.status,F.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r,s=Math.max(0,Math.min(this.scrollOffset,o));return this.scrollOffset=s,n.slice(o-s,o-s+r)}return this.scrollOffset=0,n}}});function mt(e,t){return`${t}${e}${tv}`}function GL(e){return e>=85?UL:e>=70?rv:nv}function ov(e,t,n,r){let o=mt(`[${e}]`,cl),s=mt(`${KL} ${t}`,Pn),a=mt(n,rv),p=r?` ${mt("git:(",ev)}${mt(r.replace(/^git:\(/,"").replace(/\)$/,""),cl)}${mt(")",ev)}`:"";return`${o}${mt(" \u2502 ",Pn)}${s}${mt(" \u2502 ",Pn)}${a}${p}`}function sv(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${mt(pE(n),Pn)}`;return`${mt(r,cl)} ${mt("\u2502",Pn)} ${e}`}function iv(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=GL(n),s=`${o}${"\u2588".repeat(r)}${Pn}${"\u2591".repeat(10-r)}${tv}`,a=mt(`${Math.round(n)}%`,o),p=t?`${mt(" \u2502 ",Pn)}${t}`:"";return`${mt("Context",Pn)} ${s} ${a}${p}`}function av(e,t,n){let r=n===null?"":mt(` ${n}ms`,Pn);return`${mt("Cubence",Pn)} ${mt(t?`${t} ${e}`:e,nv)}${r}`}var tv,Pn,UL,nv,rv,ev,cl,KL,ll=m(()=>{Os();tv="\x1B[0m",Pn="\x1B[2m",UL="\x1B[31m",nv="\x1B[32m",rv="\x1B[33m",ev="\x1B[35m",cl="\x1B[36m";KL="\u2726"});import{mkdirSync as WL,readFileSync as uv,writeFileSync as zL}from"node:fs";import{homedir as BL}from"node:os";import{dirname as HL,join as VL}from"node:path";function mv(e){return e/1e6}function YL(){try{let e=JSON.parse(uv(VL(BL(),".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 XL(){try{let e=JSON.parse(uv(dl,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function Fs(e){let t=`$${e.balanceDollar.toFixed(2)}`,n=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return av(t,n,e.latencyMs)}async function pv(){let e=XL();if(e&&Date.now()-e.cachedAt<JL)return Fs(e.data);let t=YL();if(!t)return e?Fs(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?Fs(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:mv(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:mv(s),latencyMs:Date.now()-n};return WL(HL(dl),{recursive:!0}),zL(dl,JSON.stringify({data:a,cachedAt:Date.now()})),Fs(a)}catch{return e?Fs(e.data):void 0}}var dl,JL,cv=m(()=>{Nn();ll();dl=iu,JL=18e4});function lv(){return{}}function dv(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 ZL(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 fv(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${ZL(n-e.run.since)}`:e.tally?e.tally:""}var gv=m(()=>{});import{spawn as QL}from"node:child_process";function ej(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 xv(e,t=process.platform){let n=ej(t);return n?new Promise(r=>{try{let o=QL(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 hv=m(()=>{});import{mkdirSync as tj,writeFileSync as nj}from"node:fs";import{join as rj}from"node:path";import{matchesKey as Gm}from"@earendil-works/pi-tui";function Iv(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function bv(e){if(Gm(e,"up"))return"up";if(Gm(e,"down"))return"down";if(Gm(e,"enter"))return"enter";if(Gm(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 yv(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 oj(e){let t=fl.indexOf(e);return fl[(t+1)%fl.length]}function $v(e,t,n){switch(t){case"up":return yv(e,n,-1);case"down":return yv(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:oj(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function wv(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 kv(e){return e==="all"?"":` \xB7 ${e}`}function Ev(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 sj(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 vv(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=sj(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=rj(t,`${n}.js`);try{tj(t,{recursive:!0}),nj(r,e.code,"utf8")}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var fl,Tv,Sv=m(()=>{fl=["all","running","failed","done"];Tv="ctrl+f"});function Pv(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 Rv=m(()=>{});var Nv={};Ot(Nv,{Dock:()=>zm,Hud:()=>Wm,approvalDetail:()=>Fv,orderModelsForDefault:()=>Lv,pickerPanel:()=>jv,runWorkbench:()=>Aj,workflowPanel:()=>Dv,workflowPanelFromRun:()=>qs,workflowRunOf:()=>Bm});import{execFileSync as yl}from"node:child_process";import{existsSync as ij,mkdirSync as aj,readFileSync as mj,writeFileSync as gl}from"node:fs";import{basename as uj,join as Av,resolve as pj}from"node:path";import{copyToClipboard as cj,SessionManager as lj}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as Ov,Container as dj,Editor as fj,matchesKey as Ht,ProcessTerminal as gj,ScrollView as xj,KeybindingsManager as hj,setKeybindings as yj,TUI_KEYBINDINGS as Ij,SelectList as bj,TuiAltScreen as $j,truncateToWidth as Ns,VStack as wj,visibleWidth as Km,wrapTextWithAnsi as kj,getNativeClipboard as Tj}from"@earendil-works/pi-tui";function Ej(e){if(typeof e!="object"||e===null)return;let t=e[Cv];return typeof t=="function"?t.call(e):void 0}function Or(e){try{let t=yl("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();if(!t||t==="HEAD")return"";let n=yl("git",["-C",e,"status","--porcelain"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim();return`git:(${t}${n?"*":""})`}catch{return""}}function Lv(e){let t=n=>{if(Sj.test(n))return 100;let r=vj.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 jv(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,p=(H,ce)=>{let Re=Km(H)>a?Ns(H,a,"\u2026"):H,ye=`${Re}${" ".repeat(Math.max(0,a-Km(Re)))}`;return`\u2502 ${ce?ce(ye):ye} \u2502`},c="\u2500".repeat(s-2),g=[p(` ${t}`),...e.render(a).map(H=>p(H))],b=o.flatMap(H=>H===""?[""]:kj(H,a)),T=b.length>0?[p(""),...b.map(H=>p(H,ce=>oe(ce,F.mute)))]:[];if(!r)return["",`\u250C${c}\u2510`,...g,...T,`\u2514${c}\u2518`];let S=CE(F.line,F.warn,Date.now(),1400),L=oe("\u2502",S),N=(H,ce)=>oe(`${H}${c}${ce}`,S),U=[...g,...T].map(H=>`${L}${H.slice(1,-1)}${L}`);return["",N("\u250C","\u2510"),...U,N("\u2514","\u2518")]}function Fv(e,t){let n=t.split(`
100
- `).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 Ds(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,r=[...e.state.messages].reverse().find(o=>o.role==="assistant")?.usage;return!n||!r||n.contextWindow<=0?0:Math.min(100,Math.round(r.totalTokens/n.contextWindow*100))}function hl(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","revert files to an earlier prompt (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([r,o])=>({name:r,description:o}));for(let r of e.promptTemplates)n.push({name:r.name,description:r.description});for(let r of e.extensionRunner.getRegisteredCommands())n.push({name:r.invocationName,description:r.description});return n}function Bm(e,t){if(e!=="workflow")return;let n=_m(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function Dv(e,t){let n=Bm(e,t);return n?qs(n):void 0}function qs(e,t,n=!1){return r=>hE(e,[],r,t?.selectedPhase,t?Pj(e,t,n):void 0)}function Pj(e,t,n){return{filter:r=>wv(r,t.filter),footerText:Ev(t,e.endedAt===void 0,n),filterLabel:kv(t.filter),drill:t.expanded}}function Rj(){let e=new hj(Ij,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});yj(e)}async function Aj(e){let t=new gj,n=new $j(t,!0,void 0,{mouse:!0}),r=new Um,o=new Wm(e.cwd,e.modelLabel),s=new fj(n,Mv,{paddingX:1}),a=new Map,p=f=>{let h=[];for(let w of a.values())h.push(...w(f));return h},c=(f,h)=>{h===void 0?a.delete(f):typeof h=="function"?a.set(f,h):a.set(f,()=>h)},g=()=>Math.max(20,t.columns),b,T=0,S=Iv(),L,N=null,U=!1,H=!1,ce,Re=()=>{!L||!U||c("workflow",f=>qs(L,S,H)(f))},ye=()=>{U=!1,H=!1,c("workflow",void 0)};IE({onStop:f=>{N=f},isPaused:()=>S.paused});let Ve=f=>{b=f;let h=f.endedAt??Date.now();T=Math.max(T,h+Lm),L=f,U=!0,c("workflow",w=>qs(f,S,H)(w))},Ft=new zm(s,o,p),k=e.session,Q=!1,Tt,Ge=()=>Tt??=qE(e.cwd),Vt,Rn=0,To=async()=>{let f=Ge(),h=ol(f,k.getSessionStats().sessionId);if(h.length===0){O("rewind","no checkpoints yet \u2014 one is taken before each prompt");return}let w=[...h].reverse().map(I=>{let D=KE(f,I),x=new Date(I.at).toISOString().slice(11,19);return{value:I.id,label:`${x} ${I.prompt.slice(0,48)||"(no prompt)"}`,description:D.length===0?"no file changes to revert":`${D.length} file(s): ${D.slice(0,3).join(", ")}`}});vt("Rewind to a checkpoint (code only)",w,I=>{let D=h.find(A=>A.id===I);if(!D)return;let x=GE(f,D);if(!x.ok){An(`rewind failed: ${x.output}`);return}let y=x.removed.length>0?`
101
- removed ${x.removed.length} file(s): ${x.removed.slice(0,3).join(", ")}`:"";O("rewind",`${x.output}${y}`),o.git=Or(e.cwd),J()})};e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...pl(k.state.messages)),o.percent=Ds(k),o.abandonAnimations(),o.thinking=k.thinkingLevel,s.setAutocompleteProvider(new Ov(hl(k),e.cwd)),pv().then(f=>{f&&(o.cubence=f,n.requestRender())});let Je=null,Jt="",gt=!1,Et=[],Mr=()=>{},J=()=>{Mr(),n.requestRender()},Ie=(f,h)=>{o.activity=dv(o.activity,f,h)},_s=new Map,Hm=new Set,_v=()=>[..._s].map(([f,h])=>`${Hm.has(f)?"!":"\u2713"} ${f} \xD7${h}`).join(" | "),Uv=()=>{let f=_v();Ie("tally",f||void 0)},vt=(f,h,w,I,D=!1,x=[])=>{let y=new bj(h,8,Mv.selectList);y.onSelect=A=>{Je=null,w(A.value)},y.onCancel=()=>{Je=null,I?.(),J()},Jt=f,gt=D,Et=x,Je=y,J()},O=(f,h)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:f,body:h}),Ie("tally",void 0),J()},An=f=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:f}),Ie("tally",void 0),J()};Su((f,h)=>{let{promise:w,resolve:I}=Promise.withResolvers();return vt(f,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],D=>I(D==="allow"),()=>I(!1),!0,Fv(f,h)),w});let Vm=new Map,Il=f=>{let h=Pv({select:(w,I)=>{let{promise:D,resolve:x}=Promise.withResolvers();return vt(w,I.map(y=>({value:y,label:y})),x,()=>x(void 0)),D},confirm:(w,I)=>{let{promise:D,resolve:x}=Promise.withResolvers();return vt(`${w} \u2014 ${I}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],y=>x(y==="yes"),()=>x(!1)),D},input:w=>{let{promise:I,resolve:D}=Promise.withResolvers();return Ie("prompt",w),J(),sn=x=>{sn=void 0,Ie("prompt",void 0),D(x),J()},I},notify:(w,I)=>{I==="error"?An(w):O("mcp",w)},setStatus:(w,I)=>{I===void 0?Vm.delete(w):Vm.set(w,I),Ie("note",[...Vm.values()].join(" | ")||void 0),J()},setWidget:(w,I)=>{c(w,I),J()}});f.bindExtensions({uiContext:h,mode:"print",onError:w=>An(`${w.event}: ${w.error}`)}).catch(w=>An(w instanceof Error?w.message:String(w)))};Il(k);let Cr=new dj,Gv={invalidate:()=>r.invalidate(),render:f=>{let h=Cr.render(Math.max(20,f)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-h),r.render(f)},handleMouse:f=>{let h=f.type==="wheel"?f.wheelDelta??0:0;if(h!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-h*3),J(),{handled:!0}}},Kv=new xj(Gv,{follow:"none",overscroll:"contain"}),Us=new wj([{component:Kv,grow:1,shrink:1},{component:Cr,grow:0,shrink:0,basis:"auto"}]),Wv=f=>({render:()=>[f],invalidate:()=>{}}),bl="",zv=()=>`${Je?"picker":"dock"}|${[...a.keys()].join(",")}`;Mr=()=>{let f=zv();if(f===bl)return;bl=f,Cr.clear();for(let w of p(Math.max(20,t.columns)))Cr.addChild(Wv(w));let h=Je;if(h){let w=Jt,I=gt,D=Et;Cr.addChild({render:x=>jv(h,w,x,I,D),invalidate:()=>{}})}else Cr.addChild(Ft);Us.invalidate()},Mr();let $l={focused:!1,invalidate(){r.invalidate(),Ft.invalidate(),Je?.invalidate(),Us.invalidate()},[Cv]:()=>Ej(Us),render:f=>Us.render(f),handleInput(f){if(Je){Je.handleInput(f);return}s.handleInput(f)}};n.setLayoutRoot($l),n.setFocus($l);let Eo=0,Lr="",Jm=!1,Ym=!1,Xm=Date.now(),Zm=new Map,wl=f=>{if(f.type==="agent_start"||f.type==="turn_start")f.type==="agent_start"&&Fl(),o.live||o.beginRun(),Lr="",Jm=!1,Ym=!1,Xm=Date.now();else if(f.type==="message_update"&&f.assistantMessageEvent.type==="text_delta"){Jm=!0,Lr+=f.assistantMessageEvent.delta;let h=`live-${Eo}`,w=r.items.find(I=>I.id===h);w?w.body=Lr:r.items.push({id:h,kind:"assistant",title:"HowToFix",body:Lr})}else if(f.type==="tool_execution_start"){if(Zm.set(f.toolCallId,f.args),r.items.push({id:`tool-${f.toolCallId}`,kind:"tool",title:f.toolName,body:Ls(f.toolName,f.args),live:!0}),f.toolName==="task"){let h=rn.filter(w=>w.status==="queued"||w.status==="running");Ie("note",h.map(w=>`${w.agent} ${w.status}`).join(" | ")||"agent running")}}else if(f.type==="tool_execution_update"){let h=Dv(f.toolName,f.partialResult);if(h){let w=r.items.find(D=>D.id===`res-${f.toolCallId}`);w?(w.panel=h,w.body=ko(f.toolName,f.partialResult,!1)):r.items.push({id:`res-${f.toolCallId}`,kind:"result",title:f.toolName,body:ko(f.toolName,f.partialResult,!1),panel:h});let I=Bm(f.toolName,f.partialResult);I&&Ve(I),J()}}else if(f.type==="tool_execution_end"){o.percent=Ds(k);let h=r.items.find(A=>A.id===`tool-${f.toolCallId}`);h&&(h.live=!1,h.body=Ls(f.toolName,Zm.get(f.toolCallId))),Zm.delete(f.toolCallId),_s.set(f.toolName,(_s.get(f.toolName)??0)+1),f.isError&&Hm.add(f.toolName),Uv();let w=YE(f.toolName,f.result),I=Bm(f.toolName,f.result),D=I?qs(I):void 0;I&&Ve(I);let x=r.items.find(A=>A.id===`tool-${f.toolCallId}`),y=ko(f.toolName,f.result,f.isError);x?(x.kind="result",x.call=x.body,x.body=y,x.live=!1,w.length>0&&(x.detail=w),D&&(x.panel=D)):r.items.push({id:`tool-${f.toolCallId}`,kind:"result",title:f.toolName,body:y,...w.length>0?{detail:w}:{},...D?{panel:D}:{}}),(f.toolName==="bash"||f.toolName==="powershell"||f.toolName==="edit"||f.toolName==="write")&&(o.git=Or(e.cwd))}else if(f.type==="message_end"&&f.message.role==="assistant"){let h=r.items.find(w=>w.id===`live-${Eo}`);h&&(h.id=`done-${Eo}`),Eo+=1,Lr="",o.percent=Ds(k)}else f.type==="agent_settled"?(o.live=!1,Ie("run",void 0),o.percent=Ds(k),o.git=Or(e.cwd),s.disableSubmit=!1):f.type==="thinking_level_changed"?o.thinking=f.level:f.type==="auto_retry_start"&&Ie("note",`retry ${f.attempt}/${f.maxAttempts}`);J()},Qm=k.subscribe(wl),kl=setInterval(()=>{let f=b!==void 0&&Date.now()<T;(k.isStreaming||o.settling()||r.entering()||Je||f)&&J(),k.isStreaming&&!Jm&&!Ym&&Date.now()-Xm>Oj&&(Ym=!0,Ie("note",`no answer yet after ${Math.round((Date.now()-Xm)/1e3)}s \u2014 the provider may be stalled; ctrl+c cancels`),J())},90);kl.unref?.();let Tl=async f=>{Qm(),Tt&&WE(Tt,k.getSessionStats().sessionId),Vt=void 0,Rn=0,k.dispose(),k=f.session,Eo=0,Lr="",r.items=[],f.note&&r.items.push({id:"note",kind:"note",title:"note",body:f.note}),r.items.push(...pl(k.state.messages)),o.model=f.modelLabel.split("/").at(-1)||"no-model",o.thinking=k.thinkingLevel,o.percent=Ds(k),o.abandonAnimations(),Ie("tally",void 0),Ie("run",void 0),s.setAutocompleteProvider(new Ov(hl(k),e.cwd)),s.disableSubmit=!1,Il(k),Qm=k.subscribe(wl),J()},Gs=()=>{Q||(Q=!0,clearInterval(kl),Qm(),k.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},eu=f=>{let h=f.trim();if(!h)return;if(sn){let x=sn;sn=void 0,s.setText(""),x(h);return}if(s.setText(""),s.addToHistory(h),h.startsWith("!")){let x=h.slice(1).trim();if(!x)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:x}),Ie("run","shell"),J(),k.executeBash(x,y=>{Ie("run",`shell \xB7 ${y.length} bytes`),J()}).then(y=>{let A=y.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:y.exitCode===0?"result":"error",title:`exit ${y.exitCode??"?"}`,body:A||"(no output)"}),Ie("tally",void 0),J()}).catch(y=>An(y instanceof Error?y.message:String(y)));return}if(h.startsWith("/")){Hv(h);return}r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:h}),Ie("tally",void 0),_s.clear(),Hm.clear(),Ie("run","thinking"),o.beginRun(),J(),s.disableSubmit=k.isStreaming;let w=yu(h,e.cwd),I=Date.now(),D=k.isStreaming;(async()=>{try{let y=Ge(),A=await UE(y,k.getSessionStats().sessionId,h);A&&I>=Rn&&(Vt=A,Rn=I)}catch{}(D?k.followUp(w):k.prompt(w)).catch(y=>An(y instanceof Error?y.message:String(y)))})()};s.onSubmit=eu;let tu=0;n.addInputListener(f=>{if(U&&L&&Ht(f,"escape"))return H?(H=!1,O("workflow","panel keys off \u2014 the editor has the keyboard")):S.expanded?(S.expanded=!1,O("workflow","collapsed the drill-in")):(ye(),O("workflow","panel unpinned; the run is still in the transcript")),Re(),J(),{consume:!0};if(Ht(f,"escape")){let w=Date.now();if(s.getText().length===0&&w-tu<600&&!k.isStreaming&&!Je)return tu=0,To(),{consume:!0};tu=w;return}if(Ht(f,"ctrl+c"))return k.isStreaming?(k.abort(),Ie("note","stopping"),J()):Gs(),{consume:!0};if(Ht(f,"ctrl+d")&&s.getText().length===0)return Gs(),{consume:!0};let h=Math.max(1,r.viewportHeight-1);if(Ht(f,"pageUp"))return r.scrollOffset+=h,J(),{consume:!0};if(Ht(f,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-h),J(),{consume:!0};if(Ht(f,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,J(),{consume:!0};if(Ht(f,"end"))return r.scrollOffset=0,J(),{consume:!0};if(Ht(f,"ctrl+v")){let w=Tj();return w?(w.getText().then(I=>{typeof I!="string"||I.length===0?O("paste","the clipboard is empty"):s.insertTextAtCursor(I),J()}).catch(I=>{O("paste",`could not read the clipboard: ${I instanceof Error?I.message:String(I)}`),J()}),{consume:!0}):(O("paste","no clipboard tool found on this machine"),J(),{consume:!0})}if(Ht(f,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),J(),{consume:!0};if(Ht(f,"ctrl+o")&&!k.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],J(),{consume:!0};if(Ht(f,Tv)&&U&&L)return H=!H,O("workflow",H?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),Re(),J(),{consume:!0};if(H&&U&&L){let w=bv(f);if(w){let I=wo(L,Date.now());if(w==="stop")return N?(N(),N=null,O("workflow","stopping the run \u2014 in-flight agents resolve as null")):O("workflow","the run has already finished"),{consume:!0};if(w==="save"){let D=vv(ce,au);return O("workflow",D.ok?`saved ${D.path}`:D.reason),J(),{consume:!0}}return Object.assign(S,$v(S,w,I)),Re(),J(),{consume:!0}}}});let nu=f=>{let h=w=>{Ie("prompt",`API key for ${w}. Paste it, then press enter.`),J();let I=sn;sn=D=>{sn=I;let x=D.trim();if(!x){Ie("prompt",void 0),J();return}k.modelRuntime.setRuntimeApiKey(w,x).then(()=>O("login",`saved API key for ${w}`),y=>O("login",y instanceof Error?y.message:String(y)))}};if(f){h(f);return}k.modelRuntime.getAvailable().then(w=>{let I=[...new Set(w.map(D=>D.provider))].sort();if(I.length===0){O("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}vt("Login",I.map(D=>({value:D,label:D})),h)},w=>O("login",w instanceof Error?w.message:String(w)))},Bv=async(f,h)=>{let w=Av(Ye,"models.json"),I,D=!1;try{I=JSON.parse(mj(w,"utf8"))}catch(ou){if(!(ou instanceof Error&&"code"in ou&&ou.code==="ENOENT"))return`could not read ${w}; the models were not added`;I={providers:{}},D=!0}(!I.providers||typeof I.providers!="object")&&(I.providers={});let x=I.providers[f];x||(x=pu(),I.providers[f]=x,D=!0);let y=Array.isArray(x.models)?x.models:[],A=fu(y,h),re=Js(du(y,h));x.models=re.models;try{aj(Ye,{recursive:!0}),gl(w,`${JSON.stringify(I,null,2)}
102
- `)}catch{return`could not write ${w}; the models were not added`}let De=!1;try{await k.modelRuntime.refresh(),De=!0}catch{De=!1}let an=re.changed>0?`, repaired ${re.changed}`:"",mn=De?"":"; restart the CLI to see them all",Ks=D?` (created ${w})`:"";return A===0?`all ${h.length} models were already configured${an}${Ks}${mn}`:`added ${A} model(s) to "${f}"${an}${Ks}${mn}`},ru=f=>{(async()=>{if(!f){let y=await xv(Hs);O("connect",["connect your howtofix.id account:",` 1. ${y?"the token page is opening in your browser":`open ${Hs}`}`," 2. sign in if asked, then create a token (starts with sk-)"," 3. run /connect <token>"," or /connect, and paste the token when asked","","howtofix.id has no OAuth callback for a local client, so the token is","how this CLI signs in. The token is verified before it is stored."].join(`
103
- `)),J();return}if(!lu(f)){O("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}Ie("note",`connecting to howtofix.id (${Vs(f)})`),J();let h=await xu(f);if(!h.ok){Ie("note",void 0),O("connect",h.message),J();return}await k.modelRuntime.setRuntimeApiKey("howtofix",f);let w=await Bv("howtofix",h.models),I=!!k.model&&k.model?.provider!==void 0&&o.model!=="unknown",D,x;if(!I)try{let y=(await k.modelRuntime.getAvailable()).filter(De=>So(De.provider)),re=Lv(y.map(De=>De.id)).slice(0,4);for(let De of re){if(!(await gu(De,f)).ok)continue;let mn=y.find(Ks=>Ks.id===De);if(mn){await k.setModel(mn),o.model=mn.id,D=`${mn.provider}/${mn.id}`;break}}D||(x=re.length>0?`none of the first ${re.length} models answered (${re[0]} did not)`:"the account lists no chat model")}catch(y){x=y instanceof Error?y.message:String(y)}Ie("note",void 0),O("connect",[`connected ${Vs(f)} \u2014 ${h.message}`,w,D?`using ${D} (change it with /model)`:`pick a model with /model, then send a prompt${x?` (auto-select failed: ${x})`:""}`].join(`
104
- `)),J()})().catch(h=>{Ie("note",void 0),O("connect",h instanceof Error?h.message:String(h)),J()})},Hv=async f=>{let[h,...w]=f.slice(1).split(/\s+/),I=w.join(" ");if(h==="quit"||h==="exit"){Gs();return}if(h==="help"){O("help",hl(k).map(x=>`/${x.name} ${x.description??""}`).join(`
105
- `));return}if(h==="init"){let x=Av(e.cwd,"AGENTS.md");if(ij(x)&&I!=="force"){O("init",`AGENTS.md already exists at ${x}. run /init force to overwrite.`);return}gl(x,vl),O("init",`wrote ${x}; asking the agent to fill it in`),await k.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"){nu(I);return}if(h==="connect"){if(I.trim()){ru(I.trim());return}ru(""),Ie("prompt","paste your howtofix.id token, then press enter"),J();let x=sn;sn=y=>{sn=x,Ie("prompt",void 0),ru(y.trim())};return}if(h==="logout"){let x=await k.modelRuntime.getAvailable(),y=[...new Set(x.map(A=>A.provider))].sort();if(y.length===0){O("logout","no providers are configured");return}vt("Logout",y.map(A=>({value:A,label:A})),A=>{k.modelRuntime.logout(A).then(()=>O("logout",`logged out ${A}`),re=>O("logout",re instanceof Error?re.message:String(re)))});return}if(h==="providers"){let x=await k.modelRuntime.getAvailable(),y=[...new Set(x.map(A=>A.provider))].sort();y.sort((A,re)=>Number(So(re))-Number(So(A))),vt("Providers",y.map(A=>({value:A,label:A})),A=>{let re=k.modelRuntime.getModels(A);if(re.length===0){nu(A);return}vt(A,re.map(De=>({value:De.id,label:De.id})),De=>{let an=re.find(mn=>mn.id===De);an&&k.setModel(an).then(()=>{o.model=an.id,O("providers",`${A}/${an.id}`)},()=>nu(A))})});return}if(h==="name"){if(!I){O("name","usage: /name <session name>");return}k.setSessionName(I),O("name",`session name: ${I}`);return}if(h==="stats"){let x=k.getSessionStats(),y=k.getContextUsage();O("stats",[`session ${x.sessionId}`,x.sessionFile?`file ${x.sessionFile}`:"not persisted",`messages ${x.totalMessages} (user ${x.userMessages}, assistant ${x.assistantMessages}, tools ${x.toolCalls})`,`tokens in ${x.tokens.input} out ${x.tokens.output} cache ${x.tokens.cacheRead}/${x.tokens.cacheWrite}`,`cost $${x.cost.toFixed(4)}`,y?`context ${y.percent===null?"?":`${Math.round(y.percent)}%`} of ${y.contextWindow}`:"context unknown"].join(`
106
- `));return}if(h==="diff"){let x=an=>{try{return yl("git",an,{cwd:e.cwd,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{return""}},y=x(["diff","--stat"])+`
107
-
108
- `+x(["diff","--","."]),[A="",re=""]=y.split(`
109
-
110
- `,2),De=VT(re);O("diff",[A.trim(),De].filter(Boolean).join(`
111
-
112
- `)||"working tree clean");return}if(h==="copy"){let x=[...k.state.messages].reverse().find(re=>re.role==="assistant"),A=(Array.isArray(x?.content)?x.content:[]).filter(re=>re.type==="text").map(re=>re.text).join("");if(!A){O("copy","nothing to copy");return}try{await cj(A),O("copy",`copied ${A.length} characters`)}catch(re){O("copy",re instanceof Error?re.message:String(re))}return}if(h==="export"){let x=pj(e.cwd,I||`howtofix-session-${Date.now()}.md`),y=[`# ${Mt} session`,"",`model ${o.model}`,""];for(let A of r.items)y.push(`## ${A.title||A.kind}`,"",A.body,"");gl(x,y.join(`
113
- `)),O("export",`wrote ${x}`);return}if(h==="agents"){O("agents",I?qc(I):Nc());return}if(h==="new"){let x=await e.reopen({noSession:!1});await Tl(x),O("new","started a new session");return}if(h==="resume"){let x=await lj.list(e.cwd);if(x.length===0){O("resume","no saved sessions for this folder");return}vt("Resume session",x.slice(0,30).map(y=>({value:y.path,label:y.name||`${y.id.slice(0,8)} ${y.firstMessage.slice(0,40)}`,description:`${y.modified.toISOString().slice(0,16)} ${y.messageCount} messages`})),y=>{e.reopen({sessionPath:y}).then(Tl,A=>An(A instanceof Error?A.message:String(A)))});return}if(h==="model"){let x=await k.modelRuntime.getAvailable(),y=I?x.find(A=>`${A.provider}/${A.id}`===I||A.id===I):void 0;if(!I){vt("Select model",x.map(A=>({value:`${A.provider}/${A.id}`,label:A.id,description:A.provider})),A=>{let re=x.find(De=>`${De.provider}/${De.id}`===A);re&&k.setModel(re).then(()=>{o.model=re.id,O("model",`model ${A}`)})});return}if(!y){O("model",`unknown model ${I}`);return}await k.setModel(y),o.model=y.id,O("model",`model ${y.provider}/${y.id}`);return}if(h==="thinking"){if(!I){vt("Thinking level",xl.map(x=>({value:x,label:x})),x=>{k.setThinkingLevel(x),o.thinking=x,O("thinking",`thinking ${x}`)});return}if(!xl.includes(I)){O("thinking",`thinking: ${xl.join(", ")}`);return}k.setThinkingLevel(I),o.thinking=I,O("thinking",`thinking ${I}`);return}if(h==="compact"){try{await k.compact(I||void 0),O("compact","session compacted")}catch(x){O("compact",x instanceof Error?x.message:String(x))}return}if(h==="approval"){let x=y=>{vu(y),O("approval",ei[y])};if(!I){vt("Approval mode",Dr.map(y=>({value:y,label:y,description:ei[y]})),y=>x(y));return}if(!Dr.includes(I)){O("approval",`modes: ${Dr.join(", ")}`);return}x(I);return}if(h==="tools"){let x=k.getActiveToolNames().sort();O("tools",x.length?x.join(`
114
- `):"no tools enabled");return}if(h==="rewind"||h==="undo"){To();return}if(h==="commit"){if(!Mm(e.cwd)){O("commit","not a git repository");return}if(!zT(e.cwd)){O("commit","nothing to commit");return}let x=I||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,y=BT(e.cwd,x);O("commit",y.ok?y.output:`commit failed: ${y.output}`),o.git=Or(e.cwd);return}if(h==="undo"){if(!Mm(e.cwd)){O("undo","not a git repository");return}if(I!=="confirm"){let y=JT(e.cwd);vt(`Undo last commit? ${y}`,[{value:"yes",label:"undo",description:"reset --soft HEAD~1, changes stay in the working tree"},{value:"no",label:"cancel"}],A=>{if(A!=="yes")return;let re=Uc(e.cwd);O("undo",re.ok?`undone: ${y}`:`undo failed: ${re.output}`),o.git=Or(e.cwd)});return}let x=Uc(e.cwd);O("undo",x.ok?"undone":`undo failed: ${x.output}`),o.git=Or(e.cwd);return}if(h==="review"){if(!HT(e.cwd).trim()){O("review","no changes to review");return}eu("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(h==="workflow"){if(I.trim()==="clear"){ye(),O("workflow","cleared the pinned workflow panel");return}if(!L){O("workflow","no workflow run in this session yet");return}let x=wo(L,Date.now()),y=x[S.selectedPhase];O("workflow",[`panel ${U?"pinned above the editor":"unpinned"}`,`phase ${S.selectedPhase+1}/${x.length}: ${y?.title??"(none)"}`,`filter: ${S.filter}${S.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(`
115
- `));return}if(h==="plan"){if(vT()||Pm().state==="pending"){bo(TT(Pm())),O("plan","plan mode off \u2014 edits are allowed again");return}bo(kT(Pm())),O("plan",`plan mode armed \u2014 send your next prompt to start planning
116
- plan file: ${ET()??"(unknown)"}`);return}if(h==="goal"){let x=I.trim();if(!x){O("goal",wm(km()));return}let{goal:y,error:A}=Rc(km(),"set",x,void 0,void 0);if(A){An(A);return}nn(y),await k.sendCustomMessage({customType:nr,content:x,display:!1,details:y}),O("goal",`goal set
117
- ${wm(y)}`);return}if(h==="session"){let x=k.model;O("session",x?`${x.provider}/${x.id}`:"no model");return}let D=k.extensionRunner.getCommand(h??"");if(D){try{await D.handler(I,k.extensionRunner.createCommandContext())}catch(x){An(x instanceof Error?x.message:String(x))}return}O("command",`/${h??""} is not available in this screen yet`)};Ql((f,h)=>{let{promise:w,resolve:I}=Promise.withResolvers();return vt(f,h.map(D=>({value:D,label:D})),I),w}),process.on("SIGTERM",Gs),t.setTitle(`${Mt} ${jr}`),Rj(),n.start(),n.requestRender(!0),e.initialPrompt&&eu(e.initialPrompt),await new Promise(()=>{})}var Mv,xl,Cv,Wm,zm,vj,Sj,sn,Oj,qv=m(()=>{vo();tl();zE();Iu();QE();Ps();cv();ll();Ss();Au();ml();gv();Os();Yc();hu();hv();Nn();Sv();Gc();ti();bu();Em();Cc();Rv();Mv={borderColor:()=>"",selectList:{selectedPrefix:e=>oe(e,F.accent),selectedText:e=>oe(e,F.text,{bold:!0}),description:e=>oe(e,F.mute),scrollInfo:e=>oe(e,F.dim),noMatch:e=>oe(e,F.mute)}},xl=["off","minimal","low","medium","high","xhigh","max"],Cv=Symbol.for("@earendil-works/pi-tui/layout-node");Wm=class{folder;model;git;percent=0;meter=new Dm(0);activity=lv();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=uj(t),this.model=n.split("/").at(-1)||"no-model",this.git=Or(t)}invalidate(){}settling(){return this.meter.moving}meterValue(){return this.meter.value!==this.percent&&this.meter.set(this.percent),this.meter.step()}beginRun(){this.live=!0,this.activitySince=Date.now()}waitedMs(){return Date.now()-this.activitySince}abandonAnimations(){this.meter.snap(this.percent)}render(t){let n=Date.now(),r=this.percent===0&&this.meter.value===0?0:this.meterValue(),o=ov(this.model,this.thinking,this.folder,this.git),s=[Ns(`${sv(o,this.live?al():"",this.live?this.waitedMs():void 0)} ${iv(r,this.cubence)}`,t)],a=RT();a&&s.push(Ns(oe(a,F.warn),t));let p=lT(km());p&&s.push(Ns(oe(p,F.accent),t));let c=fv(this.activity,al(),n),g=this.live?LE(c,{base:Zc(this.waitedMs(),F.mute,F.warn,F.bad),bright:F.text,charMs:45},n):oe(c,Zc(this.waitedMs(),F.mute,F.warn,F.bad));return s.push(Ns(g,t)),s}},zm=class{constructor(t,n,r=()=>[]){this.editor=t;this.hud=n;this.widgets=r}editor;hud;widgets;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(p=>Km(p)>0),o=r.length>0?r:[""],s="\u2500".repeat(Math.max(0,t-2)),a=o.map(p=>{let c=Math.max(0,n-Km(p));return`\u2502 ${p}${" ".repeat(c)} \u2502`});return[...this.widgets(t),`\u250C${s}\u2510`,...a,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},vj=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],Sj=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;Oj=45e3});vo();var Sl={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Pl={suggest:!0,"auto-edit":!0,"full-auto":!0};function Ws(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 Rl(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=Ws(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=Ws(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=Ws(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=Ws(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!Sl[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(Sl).join(", ")}`);if(t.approval&&!Pl[t.approval])throw new Error(`approval must be one of: ${Object.keys(Pl).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 su(){return`${Mt} ${jr}
84
+ `)}],details:{agents:s.map(p=>({id:p.id,status:p.status}))}}}})});var SE={};Mt(SE,{openSession:()=>hL});import{join as uL}from"node:path";import{createAgentSession as pL,createCodemodeExtension as cL,createMcpExtension as lL,DefaultResourceLoader as dL,SessionManager as jm,SettingsManager as fL}from"@earendil-works/pi-coding-agent";function xL(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 hL(e){let t=fL.create(e.cwd,Ye,{projectTrusted:!0}),n=e.sessionPath?jm.open(e.sessionPath):e.noSession?jm.inMemory(e.cwd):e.continueSession?jm.continueRecent(e.cwd):jm.create(e.cwd),r=new dL({cwd:e.cwd,agentDir:Ye,settingsManager:t,appendSystemPrompt:[El],extensionFactories:[jT(),Pu(),ed(),Om(),GT(),FT(),qT(),cL(),lL()]});await r.reload();let o=await pL({cwd:e.cwd,agentDir:Ye,settingsManager:t,sessionManager:n,resourceLoader:r,tools:gL,customTools:[EE,od,sd,hm,ym,bT,DT,NT,TE()],thinkingLevel:e.thinking}),s=o.session.model;if(e.model){let c=await o.session.modelRuntime.getAvailable(),x=xL(c,e.model);if(!x)throw o.session.dispose(),new Error(`unknown model '${e.model}'`);(s?.id!==x.id||s.provider!==x.provider)&&(await o.session.setModel(x),s=o.session.model)}let a=s?`${s.provider}/${s.id}`:"no model",p=[o.modelFallbackMessage].filter(c=>!!c);return s||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${uL(Ye,"models.json")}`),{session:o.session,dispose:()=>o.session.dispose(),modelLabel:a,note:p.length?p.join(`
85
+ `):void 0}}var gL,PE=m(()=>{Eo();td();Nn();ei();Ou();Pc();Im();Tm();Cc();_T();KT();Fc();Yc();vE();gL=["read","bash","edit","write","grep","find","ls","task","think","ask","todo","context","goal","enter_plan_mode","exit_plan_mode","workflow"]});import{mixColors as yL,styleText as RE}from"@earendil-works/pi-tui";function As(e,t,n){let r=LE(n);return r>=1?t:r<=0?e:yL(e,t,r)}function Zc(e,t,n,r){return!Or||e<=Xc?t:e>=ME?r:As(n,r,(e-Xc)/(ME-Xc))}function jE(e,t){return!Or||t<=0||e<0?1:1-(1-LE(e/t))**3}function FE(e,t){return Or&&e>=0&&e<t}function el(e,t,n=bL,r=400){return!Or||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function DE(e,t,n=Date.now(),r=1400){if(!Or||r<=0)return e;let o=n%r/r;return As(e,t,o<.5?o*2:(1-o)*2)}function $L(e,t){let n=Math.abs(e-t);return n>=OE?0:Math.ceil((1-n/OE)*CE)/CE}function NE(e,t,n=Date.now()){let r=t.charMs??IL;if(!Or||e.length===0||r<=0)return RE(e,{fg:t.base},Mm);let o=e.length+AE*2,s=n/r%o-AE,a=(O,P)=>RE(O,{fg:As(t.base,t.bright,P)},Mm),p="",c=0,x=null,y=0,v=0;for(let O of e){let P=$L(v,s);x===null?x=P:P!==x&&(p+=a(e.slice(c,y),x),c=y,x=P),y+=O.length,v+=1}return p+a(e.slice(c),x??0)}var Or,IL,OE,AE,Xc,ME,CE,LE,Fm,Qc,bL,tl=m(()=>{Ss();Or=process.env.HOWTOFIX_NO_MOTION!=="1",IL=45,OE=5,AE=8,Xc=1e4,ME=6e4,CE=3,LE=e=>e<0?0:e>1?1:e;Fm=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,!Or)return this.value=this.target,this.velocity=0,this.value;n>250&&(this.velocity=0);let o=150,s=2*Math.sqrt(o),a=Math.max(1,Math.ceil(r/.008)),p=r/a;for(let c=0;c<a;c+=1)this.velocity+=(this.target-this.value)*o*p-this.velocity*s*p,this.value+=this.velocity*p;return this.moving||(this.value=this.target,this.velocity=0),this.value}};Qc=260,bL=45});import{execFile as wL,execFileSync as kL}from"node:child_process";import{promisify as TL}from"node:util";import{createHash as _E}from"node:crypto";import{copyFileSync as EL,existsSync as vL,mkdirSync as Dm,readFileSync as SL,statSync as PL,writeFileSync as RL}from"node:fs";import{dirname as OL,join as ir,resolve as AL}from"node:path";async function on(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 CL("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function LL(e){return _E("sha1").update(e).digest("hex").slice(0,16)}function UE(e){let t=AL(e).replace(/\/+$/,"")||"/",n=ir(ML,LL(t)),r=ir(n,"git"),o={root:t,gitDir:r,metaFile:ir(n,"checkpoints.json")};return Dm(n,{recursive:!0}),vL(ir(r,"HEAD"))||(Dm(r,{recursive:!0}),kL("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),jL(t,r),o}function jL(e,t){let n=ir(e,".git","info","exclude");try{if(!PL(n).isFile())return;Dm(ir(t,"info"),{recursive:!0}),EL(n,ir(t,"info","exclude"))}catch{}}function rl(e){try{let t=JSON.parse(SL(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function GE(e,t){Dm(OL(e.metaFile),{recursive:!0}),RL(e.metaFile,`${JSON.stringify(t,null,1)}
86
+ `,"utf8")}function ol(e,t){return[...rl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function KE(e,t,n){let r;try{await on(e,["add","-A","--ignore-errors","--"]),r=await on(e,["write-tree"])}catch{return null}let s=ol(e,t).find(O=>O.tree===r),a=Date.now(),p=`${a.toString(36)}-${_E("sha1").update(`${r}:${a}`).digest("hex").slice(0,6)}`,c=s?.commit;if(!c){let O=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
87
+ `);c=await on(e,["commit-tree",r,"-m",O]),await on(e,["update-ref",`${nl}/${p}`,c])}let x={id:p,tree:r,commit:c,prompt:n,at:a},y=rl(e),v=[...y.sessions[t]??[],x];for(let O of v.slice(0,Math.max(0,v.length-qE)))try{await on(e,["update-ref","-d",`${nl}/${O.id}`])}catch{}return y.sessions[t]=v.slice(-qE),GE(e,y),x}async function WE(e,t){let n=[];try{await on(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 on(e,["clean","-fd"]);for(let o of r.split(`
88
+ `)){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 zE(e,t){try{await on(e,["add","-A","--ignore-errors","--"]);let n=await on(e,["write-tree"]);return n===t.tree?[]:(await on(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n])).split(`
89
+ `).filter(Boolean).map(o=>{let[s,...a]=o.split(" ");return`${s?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function BE(e,t){let n=rl(e);for(let r of n.sessions[t]??[])try{await on(e,["update-ref","-d",`${nl}/${r.id}`])}catch{}delete n.sessions[t],GE(e,n)}var ML,nl,qE,CL,HE=m(()=>{Nn();ML=ir(Ye,"rewind"),nl="refs/howtofix",qE=100,CL=TL(wL)});function al(e=90){let t=Math.floor(Date.now()/e)%sl.length;return sl[t]??sl[0]}function Ms(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function Ve(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 FL(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Ms(n,t):""}catch{return""}}function DL(e,t){switch(e){case"read":{let n=Ve(t,"path")??"",r=[Ve(t,"offset"),Ve(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 Ve(t,"path")??"";case"bash":case"powershell":return Ve(t,"command")??"";case"grep":{let n=Ve(t,"pattern")??"",r=Ve(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=Ve(t,"pattern")??Ve(t,"glob")??"",r=Ve(t,"path");return r?`${n} in ${r}`:n}case"ls":return Ve(t,"path")??".";case"task":return Ve(t,"agent")??"task";case"ask":return Ve(t,"question")??"";case"think":return"private";case"todo":{let n=Ve(t,"op")??"view",r=Ve(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=Ve(t,"op")??"list",r=Ve(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=Ve(t,"path");if(n)return n;let r=Ve(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(`
90
+ `)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return FL(t)}}function Cs(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Ms(DL(e,t),n);return o?`${VE} ${r}(${o})`:`${VE} ${r}`}function NL(e){let t=0,n=0;for(let r of e.split(`
91
+ `))r.startsWith("+")&&!r.startsWith("+++")?t+=1:r.startsWith("-")&&!r.startsWith("---")&&(n+=1);return{additions:t,removals:n}}function YE(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 qm(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function XE(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function JE(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function qL(e){return e.trim().split(`
92
+ `).find(t=>t.trim())??""}function _L(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=Nm(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function Nm(e){let t=e.trim();return t?t.split(`
93
+ `).length:0}function wo(e,t,n){let r=YE(t),o=qm(t),s=XE(t);if(n){let a=JE(s);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let p=r.trim().split(`
94
+ `).find(c=>c.trim());return Ms(p??"failed",120)}switch(e){case"read":{let a=o.truncation,p=Nm(r.replace(/\n*\[[^\]]*\]\s*$/,"")),c=p===0?"empty":`${p} line${p===1?"":"s"}`;return a?.truncated?`${c} (truncated from ${a.totalLines??"?"})`:c}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:p,removals:c}=NL(a);return`+${p} / -${c}`}case"write":{let a=Nm(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=JE(s);if(a===void 0)return r.trim()?Ms(qL(r),120):"done";let p=_L(s,r);return a===0?`exit 0${p}`:`exit ${a}`}case"grep":{let a=Nm(r);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let p=a.filter(x=>x.status==="completed").length,c=a.filter(x=>x.status==="pending"||x.status==="in_progress").length;return`${p}/${a.length} done, ${c} open`}case"context":{let a=o.notes,p=a?Object.keys(a).length:0;return p===0?"no notes":`${p} note${p===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,p=typeof o.outputTokens=="number"?o.outputTokens:0,c=Array.isArray(o.steps)?o.steps.filter(y=>y.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${a} agent(s)`;let x=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${sr(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${p} tokens${x}${c>0?`, ${c} failed`:""}`}default:{let a=r.trim().split(`
95
+ `).find(p=>p.trim());return a?Ms(a,120):"done"}}}function ZE(e,t){let n=qm(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
96
+ `).filter(r=>r.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let r=XE(t);return(typeof r.output=="string"?r.output:YE(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
97
+ `).filter(a=>a.trim()).slice(-4)}if(e==="todo"){let r=n.todos??[],o={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"};return r.slice(0,6).map(s=>`${o[s.status??"pending"]??"[ ]"} ${s.content??""}`)}return e==="workflow"?(n.steps??[]).map(s=>{let a=s.status==="running"?"\u25B8":s.status==="failed"?"\xD7":"\u2713",p=s.phase?`${s.phase} \xB7 `:"";return`${a} ${p}${s.label??"agent"}`}).slice(-6):[]}var VE,il,sl,ml=m(()=>{Os();VE="\u25CF",il="\u2514",sl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});import{Markdown as UL,wrapTextWithAnsi as GL}from"@earendil-works/pi-tui";function QE(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 KL(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function pl(e){let t=[];for(let n of e)if(n.role==="user"){let r=QE(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=QE(n.content).trim(),o=KL(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
98
+
99
+ ${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:Cs(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:wo(n.toolName,{content:n.content},n.isError)});return t}function ev(e,t,n){return GL(e,Math.max(8,t)).map(r=>oe(r,n))}function WL(e){let t=e.body||" ",n=Ls.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new UL(t,0,0,cE);return Ls.set(e.id,{text:t,component:r}),r}var Ls,ul,_m,tv=m(()=>{tl();Ss();ml();Ls=new Map;ul=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return As(D.dim,t,jE(n,Qc))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...ev(`> ${n}`,t,this.shade(D.user))];if(this.item.kind==="tool")return[oe(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?[oe(` ${il} ${n}`,o?D.bad:D.mute)]:[]];let s=[];this.item.call&&s.push(oe(this.item.call,this.shade(D.tool)));let a=` ${il} ${n}`;s.push(oe(a,o?D.bad:this.shade(D.mute)));let p=this.item.detail??[],c=el(Date.now()-(this.item.born??0),p.length);for(let x of p.slice(0,c)){let y=x.startsWith("+")?D.tool:x.startsWith("-")?D.bad:D.dim;s.push(oe(` ${x}`,this.shade(y)))}return s}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?D.bad:D.mute;return["",...ev(n,t,this.shade(o))]}return["",...WL(this.item).render(Math.max(8,t-2))]}},_m=class{items=[];status="";scrollOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(n=>{if(n.born===void 0)return!1;let r=t-n.born;return FE(r,Qc)?!0:(n.detail?.length??0)>el(r,n.detail?.length??0)})}render(t){if(Ls.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of Ls.keys())o.has(s)||Ls.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new ul(o).render(t));this.status&&n.push(oe(this.status,D.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r,s=Math.max(0,Math.min(this.scrollOffset,o));return this.scrollOffset=s,n.slice(o-s,o-s+r)}return this.scrollOffset=0,n}}});function mt(e,t){return`${t}${e}${rv}`}function BL(e){return e>=85?zL:e>=70?sv:ov}function iv(e,t,n,r){let o=mt(`[${e}]`,cl),s=mt(`${HL} ${t}`,Rn),a=mt(n,sv),p=r?` ${mt("git:(",nv)}${mt(r.replace(/^git:\(/,"").replace(/\)$/,""),cl)}${mt(")",nv)}`:"";return`${o}${mt(" \u2502 ",Rn)}${s}${mt(" \u2502 ",Rn)}${a}${p}`}function av(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${mt(fE(n),Rn)}`;return`${mt(r,cl)} ${mt("\u2502",Rn)} ${e}`}function mv(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=BL(n),s=`${o}${"\u2588".repeat(r)}${Rn}${"\u2591".repeat(10-r)}${rv}`,a=mt(`${Math.round(n)}%`,o),p=t?`${mt(" \u2502 ",Rn)}${t}`:"";return`${mt("Context",Rn)} ${s} ${a}${p}`}function uv(e,t,n){let r=n===null?"":mt(` ${n}ms`,Rn);return`${mt("Cubence",Rn)} ${mt(t?`${t} ${e}`:e,ov)}${r}`}var rv,Rn,zL,ov,sv,nv,cl,HL,ll=m(()=>{Os();rv="\x1B[0m",Rn="\x1B[2m",zL="\x1B[31m",ov="\x1B[32m",sv="\x1B[33m",nv="\x1B[35m",cl="\x1B[36m";HL="\u2726"});import{mkdirSync as VL,readFileSync as cv,writeFileSync as JL}from"node:fs";import{homedir as YL}from"node:os";import{dirname as XL,join as ZL}from"node:path";function pv(e){return e/1e6}function ej(){try{let e=JSON.parse(cv(ZL(YL(),".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 tj(){try{let e=JSON.parse(cv(dl,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function js(e){let t=`$${e.balanceDollar.toFixed(2)}`,n=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return uv(t,n,e.latencyMs)}async function lv(){let e=tj();if(e&&Date.now()-e.cachedAt<QL)return js(e.data);let t=ej();if(!t)return e?js(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?js(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:pv(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:pv(s),latencyMs:Date.now()-n};return VL(XL(dl),{recursive:!0}),JL(dl,JSON.stringify({data:a,cachedAt:Date.now()})),js(a)}catch{return e?js(e.data):void 0}}var dl,QL,dv=m(()=>{Nn();ll();dl=iu,QL=18e4});function fv(){return{}}function gv(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 nj(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 xv(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${nj(n-e.run.since)}`:e.tally?e.tally:""}var hv=m(()=>{});import{spawn as rj}from"node:child_process";function oj(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 yv(e,t=process.platform){let n=oj(t);return n?new Promise(r=>{try{let o=rj(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 Iv=m(()=>{});import{mkdirSync as sj,writeFileSync as ij}from"node:fs";import{join as aj}from"node:path";import{matchesKey as Um}from"@earendil-works/pi-tui";function $v(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function wv(e){if(Um(e,"up"))return"up";if(Um(e,"down"))return"down";if(Um(e,"enter"))return"enter";if(Um(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 bv(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 mj(e){let t=fl.indexOf(e);return fl[(t+1)%fl.length]}function kv(e,t,n){switch(t){case"up":return bv(e,n,-1);case"down":return bv(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:mj(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function Tv(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 Ev(e){return e==="all"?"":` \xB7 ${e}`}function Sv(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 uj(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 Pv(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=uj(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=aj(t,`${n}.js`);try{sj(t,{recursive:!0}),ij(r,e.code,"utf8")}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var fl,vv,Rv=m(()=>{fl=["all","running","failed","done"];vv="ctrl+f"});function Ov(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 Av=m(()=>{});var Uv={};Mt(Uv,{Dock:()=>Wm,Hud:()=>Km,approvalDetail:()=>qv,orderModelsForDefault:()=>Dv,pickerPanel:()=>Nv,runWorkbench:()=>Dj,workflowPanel:()=>_v,workflowPanelFromRun:()=>Ns,workflowRunOf:()=>zm});import{execFile as pj,execFileSync as cj}from"node:child_process";import{promisify as lj}from"node:util";import{existsSync as dj,mkdirSync as fj,readFileSync as gj,writeFileSync as gl}from"node:fs";import{basename as xj,join as Mv,resolve as hj}from"node:path";import{copyToClipboard as yj,SessionManager as Ij}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as Cv,Container as bj,Editor as $j,matchesKey as Ht,ProcessTerminal as wj,ScrollView as kj,KeybindingsManager as Tj,setKeybindings as Ej,TUI_KEYBINDINGS as vj,SelectList as Sj,TuiAltScreen as Pj,truncateToWidth as Ds,VStack as Rj,visibleWidth as Gm,wrapTextWithAnsi as Oj,getNativeClipboard as Aj}from"@earendil-works/pi-tui";function Mj(e){if(typeof e!="object"||e===null)return;let t=e[Fv];return typeof t=="function"?t.call(e):void 0}async function hl(e){try{let{stdout:t}=await jv("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await jv("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function Dv(e){let t=n=>{if(Lj.test(n))return 100;let r=Cj.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 Nv(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,p=(Y,X)=>{let Fe=Gm(Y)>a?Ds(Y,a,"\u2026"):Y,he=`${Fe}${" ".repeat(Math.max(0,a-Gm(Fe)))}`;return`\u2502 ${X?X(he):he} \u2502`},c="\u2500".repeat(s-2),x=[p(` ${t}`),...e.render(a).map(Y=>p(Y))],y=o.flatMap(Y=>Y===""?[""]:Oj(Y,a)),v=y.length>0?[p(""),...y.map(Y=>p(Y,X=>oe(X,D.mute)))]:[];if(!r)return["",`\u250C${c}\u2510`,...x,...v,`\u2514${c}\u2518`];let O=DE(D.line,D.warn,Date.now(),1400),P=oe("\u2502",O),j=(Y,X)=>oe(`${Y}${c}${X}`,O),K=[...x,...v].map(Y=>`${P}${Y.slice(1,-1)}${P}`);return["",j("\u250C","\u2510"),...K,j("\u2514","\u2518")]}function qv(e,t){let n=t.split(`
100
+ `).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 Fs(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,r=[...e.state.messages].reverse().find(o=>o.role==="assistant")?.usage;return!n||!r||n.contextWindow<=0?0:Math.min(100,Math.round(r.totalTokens/n.contextWindow*100))}function yl(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","revert files to an earlier prompt (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([r,o])=>({name:r,description:o}));for(let r of e.promptTemplates)n.push({name:r.name,description:r.description});for(let r of e.extensionRunner.getRegisteredCommands())n.push({name:r.invocationName,description:r.description});return n}function zm(e,t){if(e!=="workflow")return;let n=qm(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function _v(e,t){let n=zm(e,t);return n?Ns(n):void 0}function Ns(e,t,n=!1){return r=>$E(e,[],r,t?.selectedPhase,t?jj(e,t,n):void 0)}function jj(e,t,n){return{filter:r=>Tv(r,t.filter),footerText:Sv(t,e.endedAt===void 0,n),filterLabel:Ev(t.filter),drill:t.expanded}}function Fj(){let e=new Tj(vj,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});Ej(e)}async function Dj(e){let t=new wj,n=new Pj(t,!0,void 0,{mouse:!0}),r=new _m,o=new Km(e.cwd,e.modelLabel),s=(d=!1)=>{!d&&!o.live||hl(e.cwd).then(h=>{h!==null&&(o.git=h,z())})},a=new $j(n,Lv,{paddingX:1}),p=new Map,c=d=>{let h=[];for(let k of p.values())h.push(...k(d));return h},x=(d,h)=>{h===void 0?p.delete(d):typeof h=="function"?p.set(d,h):p.set(d,()=>h)},y=()=>Math.max(20,t.columns),v,O=0,P=$v(),j,K=null,Y=!1,X=!1,Fe,he=()=>{!j||!Y||x("workflow",d=>Ns(j,P,X)(d))},Je=()=>{Y=!1,X=!1,x("workflow",void 0)};kE({onStop:d=>{K=d},isPaused:()=>P.paused});let Ft=d=>{v=d;let h=d.endedAt??Date.now();O=Math.max(O,h+Cm),j=d,Y=!0,x("workflow",k=>Ns(d,P,X)(k))},fe=new Wm(a,o,c),b=e.session,At=!1,De,Vt=()=>De??=UE(e.cwd),Dn,Ar=0,an=async()=>{let d=Vt(),h=ol(d,b.getSessionStats().sessionId);if(h.length===0){M("rewind","no checkpoints yet \u2014 one is taken before each prompt");return}let k=await Promise.all([...h].reverse().map(async $=>{let N=await zE(d,$),g=new Date($.at).toISOString().slice(11,19);return{value:$.id,label:`${g} ${$.prompt.slice(0,48)||"(no prompt)"}`,description:N.length===0?"no file changes to revert":`${N.length} file(s): ${N.slice(0,3).join(", ")}`}}));Et("Rewind to a checkpoint (code only)",k,$=>{let N=h.find(g=>g.id===$);N&&(async()=>{let g=await WE(d,N);if(!g.ok){On(`rewind failed: ${g.output}`);return}let I=g.removed.length>0?`
101
+ removed ${g.removed.length} file(s): ${g.removed.slice(0,3).join(", ")}`:"";M("rewind",`${g.output}${I}`),hl(e.cwd).then(A=>{A!==null&&(o.git=A,z())}),z()})()})};s(!0),e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...pl(b.state.messages)),o.percent=Fs(b),o.abandonAnimations(),o.thinking=b.thinkingLevel,a.setAutocompleteProvider(new Cv(yl(b),e.cwd)),lv().then(d=>{d&&(o.cubence=d,n.requestRender())});let Ke=null,gt="",Tt=!1,ko=[],Bm=()=>{},z=()=>{Bm(),n.requestRender()},Ie=(d,h)=>{o.activity=gv(o.activity,d,h)},qs=new Map,Hm=new Set,Kv=()=>[...qs].map(([d,h])=>`${Hm.has(d)?"!":"\u2713"} ${d} \xD7${h}`).join(" | "),Wv=()=>{let d=Kv();Ie("tally",d||void 0)},Et=(d,h,k,$,N=!1,g=[])=>{let I=new Sj(h,8,Lv.selectList);I.onSelect=A=>{Ke=null,k(A.value)},I.onCancel=()=>{Ke=null,$?.(),z()},gt=d,Tt=N,ko=g,Ke=I,z()},M=(d,h)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:d,body:h}),Ie("tally",void 0),z()},On=d=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:d}),Ie("tally",void 0),z()};Su((d,h)=>{let{promise:k,resolve:$}=Promise.withResolvers();return Et(d,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],N=>$(N==="allow"),()=>$(!1),!0,qv(d,h)),k});let Vm=new Map,Il=d=>{let h=Ov({select:(k,$)=>{let{promise:N,resolve:g}=Promise.withResolvers();return Et(k,$.map(I=>({value:I,label:I})),g,()=>g(void 0)),N},confirm:(k,$)=>{let{promise:N,resolve:g}=Promise.withResolvers();return Et(`${k} \u2014 ${$}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],I=>g(I==="yes"),()=>g(!1)),N},input:k=>{let{promise:$,resolve:N}=Promise.withResolvers();return Ie("prompt",k),z(),sn=g=>{sn=void 0,Ie("prompt",void 0),N(g),z()},$},notify:(k,$)=>{$==="error"?On(k):M("mcp",k)},setStatus:(k,$)=>{$===void 0?Vm.delete(k):Vm.set(k,$),Ie("note",[...Vm.values()].join(" | ")||void 0),z()},setWidget:(k,$)=>{x(k,$),z()}});d.bindExtensions({uiContext:h,mode:"print",onError:k=>On(`${k.event}: ${k.error}`)}).catch(k=>On(k instanceof Error?k.message:String(k)))};Il(b);let Mr=new bj,zv={invalidate:()=>r.invalidate(),render:d=>{let h=Mr.render(Math.max(20,d)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-h),r.render(d)},handleMouse:d=>{let h=d.type==="wheel"?d.wheelDelta??0:0;if(h!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-h*3),z(),{handled:!0}}},Bv=new kj(zv,{follow:"none",overscroll:"contain"}),_s=new Rj([{component:Bv,grow:1,shrink:1},{component:Mr,grow:0,shrink:0,basis:"auto"}]),Hv=d=>({render:()=>[d],invalidate:()=>{}}),bl="",Vv=()=>`${Ke?"picker":"dock"}|${[...p.keys()].join(",")}`;Bm=()=>{let d=Vv();if(d===bl)return;bl=d,Mr.clear();for(let k of c(Math.max(20,t.columns)))Mr.addChild(Hv(k));let h=Ke;if(h){let k=gt,$=Tt,N=ko;Mr.addChild({render:g=>Nv(h,k,g,$,N),invalidate:()=>{}})}else Mr.addChild(fe);_s.invalidate()},Bm();let $l={focused:!1,invalidate(){r.invalidate(),fe.invalidate(),Ke?.invalidate(),_s.invalidate()},[Fv]:()=>Mj(_s),render:d=>_s.render(d),handleInput(d){if(Ke){Ke.handleInput(d);return}a.handleInput(d)}};n.setLayoutRoot($l),n.setFocus($l);let To=0,Cr="",Jm=!1,Ym=!1,Xm=Date.now(),Zm=new Map,wl=d=>{if(d.type==="agent_start"||d.type==="turn_start")d.type==="agent_start"&&_l(),o.live||o.beginRun(),Cr="",Jm=!1,Ym=!1,Xm=Date.now();else if(d.type==="message_update"&&d.assistantMessageEvent.type==="text_delta"){Jm=!0,Cr+=d.assistantMessageEvent.delta;let h=`live-${To}`,k=r.items.find($=>$.id===h);k?k.body=Cr:r.items.push({id:h,kind:"assistant",title:"HowToFix",body:Cr})}else if(d.type==="tool_execution_start"){if(Zm.set(d.toolCallId,d.args),r.items.push({id:`tool-${d.toolCallId}`,kind:"tool",title:d.toolName,body:Cs(d.toolName,d.args),live:!0}),d.toolName==="task"){let h=nn.filter(k=>k.status==="queued"||k.status==="running");Ie("note",h.map(k=>`${k.agent} ${k.status}`).join(" | ")||"agent running")}}else if(d.type==="tool_execution_update"){let h=_v(d.toolName,d.partialResult);if(h){let k=r.items.find(N=>N.id===`res-${d.toolCallId}`);k?(k.panel=h,k.body=wo(d.toolName,d.partialResult,!1)):r.items.push({id:`res-${d.toolCallId}`,kind:"result",title:d.toolName,body:wo(d.toolName,d.partialResult,!1),panel:h});let $=zm(d.toolName,d.partialResult);$&&Ft($),z()}}else if(d.type==="tool_execution_end"){o.percent=Fs(b);let h=r.items.find(A=>A.id===`tool-${d.toolCallId}`);h&&(h.live=!1,h.body=Cs(d.toolName,Zm.get(d.toolCallId))),Zm.delete(d.toolCallId),qs.set(d.toolName,(qs.get(d.toolName)??0)+1),d.isError&&Hm.add(d.toolName),Wv();let k=ZE(d.toolName,d.result),$=zm(d.toolName,d.result),N=$?Ns($):void 0;$&&Ft($);let g=r.items.find(A=>A.id===`tool-${d.toolCallId}`),I=wo(d.toolName,d.result,d.isError);g?(g.kind="result",g.call=g.body,g.body=I,g.live=!1,k.length>0&&(g.detail=k),N&&(g.panel=N)):r.items.push({id:`tool-${d.toolCallId}`,kind:"result",title:d.toolName,body:I,...k.length>0?{detail:k}:{},...N?{panel:N}:{}}),(d.toolName==="bash"||d.toolName==="powershell"||d.toolName==="edit"||d.toolName==="write")&&s()}else if(d.type==="message_end"&&d.message.role==="assistant"){let h=r.items.find(k=>k.id===`live-${To}`);h&&(h.id=`done-${To}`),To+=1,Cr="",o.percent=Fs(b)}else d.type==="agent_settled"?(o.live=!1,Ie("run",void 0),o.percent=Fs(b),hl(e.cwd).then(h=>{h!==null&&(o.git=h,z())}),a.disableSubmit=!1):d.type==="thinking_level_changed"?o.thinking=d.level:d.type==="auto_retry_start"&&Ie("note",`retry ${d.attempt}/${d.maxAttempts}`);z()},Qm=b.subscribe(wl),kl=setInterval(()=>{let d=v!==void 0&&Date.now()<O;(b.isStreaming||o.settling()||r.entering()||Ke||d)&&z(),b.isStreaming&&!Jm&&!Ym&&Date.now()-Xm>qj&&(Ym=!0,Ie("note",`no answer yet after ${Math.round((Date.now()-Xm)/1e3)}s \u2014 the provider may be stalled; ctrl+c cancels`),z())},Nj);kl.unref?.();let Tl=async d=>{Qm(),De&&BE(De,b.getSessionStats().sessionId),Dn=void 0,Ar=0,b.dispose(),b=d.session,To=0,Cr="",r.items=[],d.note&&r.items.push({id:"note",kind:"note",title:"note",body:d.note}),r.items.push(...pl(b.state.messages)),o.model=d.modelLabel.split("/").at(-1)||"no-model",o.thinking=b.thinkingLevel,o.percent=Fs(b),o.abandonAnimations(),Ie("tally",void 0),Ie("run",void 0),a.setAutocompleteProvider(new Cv(yl(b),e.cwd)),a.disableSubmit=!1,Il(b),Qm=b.subscribe(wl),z()},Us=()=>{At||(At=!0,clearInterval(kl),Qm(),b.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},eu=d=>{let h=d.trim();if(!h)return;if(sn){let g=sn;sn=void 0,a.setText(""),g(h);return}if(a.setText(""),a.addToHistory(h),h.startsWith("!")){let g=h.slice(1).trim();if(!g)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:g}),Ie("run","shell"),z(),b.executeBash(g,I=>{Ie("run",`shell \xB7 ${I.length} bytes`),z()}).then(I=>{let A=I.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:I.exitCode===0?"result":"error",title:`exit ${I.exitCode??"?"}`,body:A||"(no output)"}),Ie("tally",void 0),z()}).catch(I=>On(I instanceof Error?I.message:String(I)));return}if(h.startsWith("/")){Yv(h);return}r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:h}),Ie("tally",void 0),qs.clear(),Hm.clear(),Ie("run","thinking"),o.beginRun(),z(),a.disableSubmit=b.isStreaming;let k=yu(h,e.cwd),$=Date.now(),N=b.isStreaming;(async()=>{try{let I=Vt(),A=await KE(I,b.getSessionStats().sessionId,h);A&&$>=Ar&&(Dn=A,Ar=$)}catch{}(N?b.followUp(k):b.prompt(k)).catch(I=>On(I instanceof Error?I.message:String(I)))})()};a.onSubmit=eu;let tu=0;n.addInputListener(d=>{if(Y&&j&&Ht(d,"escape"))return X?(X=!1,M("workflow","panel keys off \u2014 the editor has the keyboard")):P.expanded?(P.expanded=!1,M("workflow","collapsed the drill-in")):(Je(),M("workflow","panel unpinned; the run is still in the transcript")),he(),z(),{consume:!0};if(Ht(d,"escape")){let k=Date.now();if(a.getText().length===0&&k-tu<600&&!b.isStreaming&&!Ke)return tu=0,an(),{consume:!0};tu=k;return}if(Ht(d,"ctrl+c"))return b.isStreaming?(b.abort(),Ie("note","stopping"),z()):Us(),{consume:!0};if(Ht(d,"ctrl+d")&&a.getText().length===0)return Us(),{consume:!0};let h=Math.max(1,r.viewportHeight-1);if(Ht(d,"pageUp"))return r.scrollOffset+=h,z(),{consume:!0};if(Ht(d,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-h),z(),{consume:!0};if(Ht(d,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,z(),{consume:!0};if(Ht(d,"end"))return r.scrollOffset=0,z(),{consume:!0};if(Ht(d,"ctrl+v")){let k=Aj();return k?(k.getText().then($=>{typeof $!="string"||$.length===0?M("paste","the clipboard is empty"):a.insertTextAtCursor($),z()}).catch($=>{M("paste",`could not read the clipboard: ${$ instanceof Error?$.message:String($)}`),z()}),{consume:!0}):(M("paste","no clipboard tool found on this machine"),z(),{consume:!0})}if(Ht(d,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),z(),{consume:!0};if(Ht(d,"ctrl+o")&&!b.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],z(),{consume:!0};if(Ht(d,vv)&&Y&&j)return X=!X,M("workflow",X?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),he(),z(),{consume:!0};if(X&&Y&&j){let k=wv(d);if(k){let $=$o(j,Date.now());if(k==="stop")return K?(K(),K=null,M("workflow","stopping the run \u2014 in-flight agents resolve as null")):M("workflow","the run has already finished"),{consume:!0};if(k==="save"){let N=Pv(Fe,au);return M("workflow",N.ok?`saved ${N.path}`:N.reason),z(),{consume:!0}}return Object.assign(P,kv(P,k,$)),he(),z(),{consume:!0}}}});let nu=d=>{let h=k=>{Ie("prompt",`API key for ${k}. Paste it, then press enter.`),z();let $=sn;sn=N=>{sn=$;let g=N.trim();if(!g){Ie("prompt",void 0),z();return}b.modelRuntime.setRuntimeApiKey(k,g).then(()=>M("login",`saved API key for ${k}`),I=>M("login",I instanceof Error?I.message:String(I)))}};if(d){h(d);return}b.modelRuntime.getAvailable().then(k=>{let $=[...new Set(k.map(N=>N.provider))].sort();if($.length===0){M("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Et("Login",$.map(N=>({value:N,label:N})),h)},k=>M("login",k instanceof Error?k.message:String(k)))},Jv=async(d,h)=>{let k=Mv(Ye,"models.json"),$,N=!1;try{$=JSON.parse(gj(k,"utf8"))}catch(ou){if(!(ou instanceof Error&&"code"in ou&&ou.code==="ENOENT"))return`could not read ${k}; the models were not added`;$={providers:{}},N=!0}(!$.providers||typeof $.providers!="object")&&($.providers={});let g=$.providers[d];g||(g=pu(),$.providers[d]=g,N=!0);let I=Array.isArray(g.models)?g.models:[],A=fu(I,h),re=Vs(du(I,h));g.models=re.models;try{fj(Ye,{recursive:!0}),gl(k,`${JSON.stringify($,null,2)}
102
+ `)}catch{return`could not write ${k}; the models were not added`}let Ne=!1;try{await b.modelRuntime.refresh(),Ne=!0}catch{Ne=!1}let mn=re.changed>0?`, repaired ${re.changed}`:"",un=Ne?"":"; restart the CLI to see them all",Gs=N?` (created ${k})`:"";return A===0?`all ${h.length} models were already configured${mn}${Gs}${un}`:`added ${A} model(s) to "${d}"${mn}${Gs}${un}`},ru=d=>{(async()=>{if(!d){let I=await yv(Bs);M("connect",["connect your howtofix.id account:",` 1. ${I?"the token page is opening in your browser":`open ${Bs}`}`," 2. sign in if asked, then create a token (starts with sk-)"," 3. run /connect <token>"," or /connect, and paste the token when asked","","howtofix.id has no OAuth callback for a local client, so the token is","how this CLI signs in. The token is verified before it is stored."].join(`
103
+ `)),z();return}if(!lu(d)){M("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}Ie("note",`connecting to howtofix.id (${Hs(d)})`),z();let h=await xu(d);if(!h.ok){Ie("note",void 0),M("connect",h.message),z();return}await b.modelRuntime.setRuntimeApiKey("howtofix",d);let k=await Jv("howtofix",h.models),$=!!b.model&&b.model?.provider!==void 0&&o.model!=="unknown",N,g;if(!$)try{let I=(await b.modelRuntime.getAvailable()).filter(Ne=>vo(Ne.provider)),re=Dv(I.map(Ne=>Ne.id)).slice(0,4);for(let Ne of re){if(!(await gu(Ne,d)).ok)continue;let un=I.find(Gs=>Gs.id===Ne);if(un){await b.setModel(un),o.model=un.id,N=`${un.provider}/${un.id}`;break}}N||(g=re.length>0?`none of the first ${re.length} models answered (${re[0]} did not)`:"the account lists no chat model")}catch(I){g=I instanceof Error?I.message:String(I)}Ie("note",void 0),M("connect",[`connected ${Hs(d)} \u2014 ${h.message}`,k,N?`using ${N} (change it with /model)`:`pick a model with /model, then send a prompt${g?` (auto-select failed: ${g})`:""}`].join(`
104
+ `)),z()})().catch(h=>{Ie("note",void 0),M("connect",h instanceof Error?h.message:String(h)),z()})},Yv=async d=>{let[h,...k]=d.slice(1).split(/\s+/),$=k.join(" ");if(h==="quit"||h==="exit"){Us();return}if(h==="help"){M("help",yl(b).map(g=>`/${g.name} ${g.description??""}`).join(`
105
+ `));return}if(h==="init"){let g=Mv(e.cwd,"AGENTS.md");if(dj(g)&&$!=="force"){M("init",`AGENTS.md already exists at ${g}. run /init force to overwrite.`);return}gl(g,vl),M("init",`wrote ${g}; asking the agent to fill it in`),await b.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"){nu($);return}if(h==="connect"){if($.trim()){ru($.trim());return}ru(""),Ie("prompt","paste your howtofix.id token, then press enter"),z();let g=sn;sn=I=>{sn=g,Ie("prompt",void 0),ru(I.trim())};return}if(h==="logout"){let g=await b.modelRuntime.getAvailable(),I=[...new Set(g.map(A=>A.provider))].sort();if(I.length===0){M("logout","no providers are configured");return}Et("Logout",I.map(A=>({value:A,label:A})),A=>{b.modelRuntime.logout(A).then(()=>M("logout",`logged out ${A}`),re=>M("logout",re instanceof Error?re.message:String(re)))});return}if(h==="providers"){let g=await b.modelRuntime.getAvailable(),I=[...new Set(g.map(A=>A.provider))].sort();I.sort((A,re)=>Number(vo(re))-Number(vo(A))),Et("Providers",I.map(A=>({value:A,label:A})),A=>{let re=b.modelRuntime.getModels(A);if(re.length===0){nu(A);return}Et(A,re.map(Ne=>({value:Ne.id,label:Ne.id})),Ne=>{let mn=re.find(un=>un.id===Ne);mn&&b.setModel(mn).then(()=>{o.model=mn.id,M("providers",`${A}/${mn.id}`)},()=>nu(A))})});return}if(h==="name"){if(!$){M("name","usage: /name <session name>");return}b.setSessionName($),M("name",`session name: ${$}`);return}if(h==="stats"){let g=b.getSessionStats(),I=b.getContextUsage();M("stats",[`session ${g.sessionId}`,g.sessionFile?`file ${g.sessionFile}`:"not persisted",`messages ${g.totalMessages} (user ${g.userMessages}, assistant ${g.assistantMessages}, tools ${g.toolCalls})`,`tokens in ${g.tokens.input} out ${g.tokens.output} cache ${g.tokens.cacheRead}/${g.tokens.cacheWrite}`,`cost $${g.cost.toFixed(4)}`,I?`context ${I.percent===null?"?":`${Math.round(I.percent)}%`} of ${I.contextWindow}`:"context unknown"].join(`
106
+ `));return}if(h==="diff"){let g=mn=>{try{return cj("git",mn,{cwd:e.cwd,encoding:"utf8",stdio:["ignore","pipe","ignore"]}).trim()}catch{return""}},I=g(["diff","--stat"])+`
107
+
108
+ `+g(["diff","--","."]),[A="",re=""]=I.split(`
109
+
110
+ `,2),Ne=ZT(re);M("diff",[A.trim(),Ne].filter(Boolean).join(`
111
+
112
+ `)||"working tree clean");return}if(h==="copy"){let g=[...b.state.messages].reverse().find(re=>re.role==="assistant"),A=(Array.isArray(g?.content)?g.content:[]).filter(re=>re.type==="text").map(re=>re.text).join("");if(!A){M("copy","nothing to copy");return}try{await yj(A),M("copy",`copied ${A.length} characters`)}catch(re){M("copy",re instanceof Error?re.message:String(re))}return}if(h==="export"){let g=hj(e.cwd,$||`howtofix-session-${Date.now()}.md`),I=[`# ${vt} session`,"",`model ${o.model}`,""];for(let A of r.items)I.push(`## ${A.title||A.kind}`,"",A.body,"");gl(g,I.join(`
113
+ `)),M("export",`wrote ${g}`);return}if(h==="agents"){M("agents",$?qc($):Nc());return}if(h==="new"){let g=await e.reopen({noSession:!1});await Tl(g),M("new","started a new session");return}if(h==="resume"){let g=await Ij.list(e.cwd);if(g.length===0){M("resume","no saved sessions for this folder");return}Et("Resume session",g.slice(0,30).map(I=>({value:I.path,label:I.name||`${I.id.slice(0,8)} ${I.firstMessage.slice(0,40)}`,description:`${I.modified.toISOString().slice(0,16)} ${I.messageCount} messages`})),I=>{e.reopen({sessionPath:I}).then(Tl,A=>On(A instanceof Error?A.message:String(A)))});return}if(h==="model"){let g=await b.modelRuntime.getAvailable(),I=$?g.find(A=>`${A.provider}/${A.id}`===$||A.id===$):void 0;if(!$){Et("Select model",g.map(A=>({value:`${A.provider}/${A.id}`,label:A.id,description:A.provider})),A=>{let re=g.find(Ne=>`${Ne.provider}/${Ne.id}`===A);re&&b.setModel(re).then(()=>{o.model=re.id,M("model",`model ${A}`)})});return}if(!I){M("model",`unknown model ${$}`);return}await b.setModel(I),o.model=I.id,M("model",`model ${I.provider}/${I.id}`);return}if(h==="thinking"){if(!$){Et("Thinking level",xl.map(g=>({value:g,label:g})),g=>{b.setThinkingLevel(g),o.thinking=g,M("thinking",`thinking ${g}`)});return}if(!xl.includes($)){M("thinking",`thinking: ${xl.join(", ")}`);return}b.setThinkingLevel($),o.thinking=$,M("thinking",`thinking ${$}`);return}if(h==="compact"){try{await b.compact($||void 0),M("compact","session compacted")}catch(g){M("compact",g instanceof Error?g.message:String(g))}return}if(h==="approval"){let g=I=>{vu(I),M("approval",Qs[I])};if(!$){Et("Approval mode",Fr.map(I=>({value:I,label:I,description:Qs[I]})),I=>g(I));return}if(!Fr.includes($)){M("approval",`modes: ${Fr.join(", ")}`);return}g($);return}if(h==="tools"){let g=b.getActiveToolNames().sort();M("tools",g.length?g.join(`
114
+ `):"no tools enabled");return}if(h==="rewind"||h==="undo"){an();return}if(h==="commit"){if(!Am(e.cwd)){M("commit","not a git repository");return}if(!JT(e.cwd)){M("commit","nothing to commit");return}let g=$||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,I=YT(e.cwd,g);M("commit",I.ok?I.output:`commit failed: ${I.output}`),s(!0);return}if(h==="undo"){if(!Am(e.cwd)){M("undo","not a git repository");return}if($!=="confirm"){let I=QT(e.cwd);Et(`Undo last commit? ${I}`,[{value:"yes",label:"undo",description:"reset --soft HEAD~1, changes stay in the working tree"},{value:"no",label:"cancel"}],A=>{if(A!=="yes")return;let re=Uc(e.cwd);M("undo",re.ok?`undone: ${I}`:`undo failed: ${re.output}`),s(!0)});return}let g=Uc(e.cwd);M("undo",g.ok?"undone":`undo failed: ${g.output}`),s(!0);return}if(h==="review"){if(!XT(e.cwd).trim()){M("review","no changes to review");return}eu("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(h==="workflow"){if($.trim()==="clear"){Je(),M("workflow","cleared the pinned workflow panel");return}if(!j){M("workflow","no workflow run in this session yet");return}let g=$o(j,Date.now()),I=g[P.selectedPhase];M("workflow",[`panel ${Y?"pinned above the editor":"unpinned"}`,`phase ${P.selectedPhase+1}/${g.length}: ${I?.title??"(none)"}`,`filter: ${P.filter}${P.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(`
115
+ `));return}if(h==="plan"){if(OT()||Sm().state==="pending"){Io(PT(Sm())),M("plan","plan mode off \u2014 edits are allowed again");return}Io(ST(Sm())),M("plan",`plan mode armed \u2014 send your next prompt to start planning
116
+ plan file: ${RT()??"(unknown)"}`);return}if(h==="goal"){let g=$.trim();if(!g){M("goal",$m(wm()));return}let{goal:I,error:A}=Rc(wm(),"set",g,void 0,void 0);if(A){On(A);return}tn(I),await b.sendCustomMessage({customType:nr,content:g,display:!1,details:I}),M("goal",`goal set
117
+ ${$m(I)}`);return}if(h==="session"){let g=b.model;M("session",g?`${g.provider}/${g.id}`:"no model");return}let N=b.extensionRunner.getCommand(h??"");if(N){try{await N.handler($,b.extensionRunner.createCommandContext())}catch(g){On(g instanceof Error?g.message:String(g))}return}M("command",`/${h??""} is not available in this screen yet`)};rd((d,h)=>{let{promise:k,resolve:$}=Promise.withResolvers();return Et(d,h.map(N=>({value:N,label:N})),$),k}),process.on("SIGTERM",Us),t.setTitle(`${vt} ${Lr}`),Fj(),n.start(),n.requestRender(!0),e.initialPrompt&&eu(e.initialPrompt),await new Promise(()=>{})}var Lv,xl,Fv,jv,Km,Wm,Cj,Lj,sn,Nj,qj,Gv=m(()=>{Eo();tl();HE();Iu();tv();Ss();dv();ll();vs();Ou();ml();hv();Os();Yc();hu();Iv();Nn();Rv();Gc();ei();bu();Tm();Cc();Av();Lv={borderColor:()=>"",selectList:{selectedPrefix:e=>oe(e,D.accent),selectedText:e=>oe(e,D.text,{bold:!0}),description:e=>oe(e,D.mute),scrollInfo:e=>oe(e,D.dim),noMatch:e=>oe(e,D.mute)}},xl=["off","minimal","low","medium","high","xhigh","max"],Fv=Symbol.for("@earendil-works/pi-tui/layout-node");jv=lj(pj);Km=class{folder;model;git;percent=0;meter=new Fm(0);activity=fv();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=xj(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=iv(this.model,this.thinking,this.folder,this.git),s=[Ds(`${av(o,this.live?al():"",this.live?this.waitedMs():void 0)} ${mv(r,this.cubence)}`,t)],a=CT();a&&s.push(Ds(oe(a,D.warn),t));let p=xT(wm());p&&s.push(Ds(oe(p,D.accent),t));let c=xv(this.activity,al(),n),x=this.live?NE(c,{base:Zc(this.waitedMs(),D.mute,D.warn,D.bad),bright:D.text,charMs:45},n):oe(c,Zc(this.waitedMs(),D.mute,D.warn,D.bad));return s.push(Ds(x,t)),s}},Wm=class{constructor(t,n,r=()=>[]){this.editor=t;this.hud=n;this.widgets=r}editor;hud;widgets;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(p=>Gm(p)>0),o=r.length>0?r:[""],s="\u2500".repeat(Math.max(0,t-2)),a=o.map(p=>{let c=Math.max(0,n-Gm(p));return`\u2502 ${p}${" ".repeat(c)} \u2502`});return[...this.widgets(t),`\u250C${s}\u2510`,...a,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},Cj=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],Lj=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;Nj=1e3/30,qj=45e3});Eo();var Sl={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Pl={suggest:!0,"auto-edit":!0,"full-auto":!0};function Ks(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 Rl(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=Ks(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=Ks(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=Ks(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=Ks(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!Sl[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(Sl).join(", ")}`);if(t.approval&&!Pl[t.approval])throw new Error(`approval must be one of: ${Object.keys(Pl).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 su(){return`${vt} ${Lr}
118
118
  coding agent. layout is a workbench, not a chat log.
119
119
 
120
120
  usage:
@@ -151,7 +151,7 @@ a line starting with ! runs in the project shell.
151
151
 
152
152
  config and sessions live in ~/.howtofix/agent. connect your howtofix.id account
153
153
  with /connect (it opens the token page), or /login for another provider's key.
154
- `}vo();Nn();async function Mj(){mu();let{repairGatewayModels:e}=await Promise.resolve().then(()=>(hu(),Cl)),{AGENT_DIR:t}=await Promise.resolve().then(()=>(Nn(),Al)),n=e(t);n>0&&console.error(`${Mt}: repaired ${n} howtofix model(s) that the gateway would have rejected`);let r;try{r=Rl(process.argv.slice(2))}catch(T){let S=T instanceof Error?T.message:String(T);console.error(`${Mt}: ${S}
155
- ${su()}`),process.exitCode=2;return}if(r.help){console.log(su());return}if(r.version){console.log(`${Mt} ${jr}`);return}if(r.print&&!r.prompt){console.error(`${Mt}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:o}=await Promise.resolve().then(()=>(Iu(),Ll)),{isApprovalMode:s,setApprovalMode:a}=await Promise.resolve().then(()=>(ti(),Jl)),{openSession:p}=await Promise.resolve().then(()=>(TE(),kE));a(r.approval&&s(r.approval)?r.approval:r.print?"full-auto":"auto-edit");let c=T=>p({cwd:process.cwd(),model:r.model,thinking:r.thinking,continueSession:T.continueSession??!1,noSession:T.noSession??!1,sessionPath:T.sessionPath}),g=await c({continueSession:r.continueSession,sessionPath:r.sessionPath,noSession:r.noSession||r.print});if(r.print){g.note&&console.error(g.note);try{await g.session.prompt(o(r.prompt,process.cwd()));let T=g.session.getLastAssistantText()??"";process.stdout.write(T.endsWith(`
156
- `)?T:`${T}
157
- `);let S=g.session.state.messages.at(-1);S?.role==="assistant"&&((S.stopReason==="error"||S.stopReason==="aborted"||S.errorMessage)&&(process.exitCode=1),process.exitCode===1&&S.errorMessage&&console.error(`${Mt}: ${S.errorMessage}`))}finally{g.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${Mt}: interactive mode needs a terminal. use --print for pipes.`),g.dispose(),process.exitCode=2;return}let{runWorkbench:b}=await Promise.resolve().then(()=>(qv(),Nv));await b({cwd:process.cwd(),modelLabel:g.modelLabel,session:g.session,initialPrompt:r.prompt||void 0,note:g.note,reopen:c})}Mj().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${Mt}: ${t}`),process.exitCode=1});
154
+ `}Eo();Nn();async function _j(){mu();let{repairGatewayModels:e,ensureGatewaySettings:t}=await Promise.resolve().then(()=>(hu(),Dl)),{AGENT_DIR:n}=await Promise.resolve().then(()=>(Nn(),Ol)),r=e(n);r>0&&console.error(`${vt}: repaired ${r} howtofix model(s) that the gateway would have rejected`),t(n)&&console.error(`${vt}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let o;try{o=Rl(process.argv.slice(2))}catch(O){let P=O instanceof Error?O.message:String(O);console.error(`${vt}: ${P}
155
+ ${su()}`),process.exitCode=2;return}if(o.help){console.log(su());return}if(o.version){console.log(`${vt} ${Lr}`);return}if(o.print&&!o.prompt){console.error(`${vt}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:s}=await Promise.resolve().then(()=>(Iu(),Nl)),{isApprovalMode:a,setApprovalMode:p}=await Promise.resolve().then(()=>(ei(),Ql)),{openSession:c}=await Promise.resolve().then(()=>(PE(),SE));p(o.approval&&a(o.approval)?o.approval:o.print?"full-auto":"auto-edit");let x=O=>c({cwd:process.cwd(),model:o.model,thinking:o.thinking,continueSession:O.continueSession??!1,noSession:O.noSession??!1,sessionPath:O.sessionPath}),y=await x({continueSession:o.continueSession,sessionPath:o.sessionPath,noSession:o.noSession||o.print});if(o.print){y.note&&console.error(y.note);try{await y.session.prompt(s(o.prompt,process.cwd()));let O=y.session.getLastAssistantText()??"";process.stdout.write(O.endsWith(`
156
+ `)?O:`${O}
157
+ `);let P=y.session.state.messages.at(-1);P?.role==="assistant"&&((P.stopReason==="error"||P.stopReason==="aborted"||P.errorMessage)&&(process.exitCode=1),process.exitCode===1&&P.errorMessage&&console.error(`${vt}: ${P.errorMessage}`))}finally{y.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${vt}: interactive mode needs a terminal. use --print for pipes.`),y.dispose(),process.exitCode=2;return}let{runWorkbench:v}=await Promise.resolve().then(()=>(Gv(),Uv));await v({cwd:process.cwd(),modelLabel:y.modelLabel,session:y.session,initialPrompt:o.prompt||void 0,note:y.note,reopen:x})}_j().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${vt}: ${t}`),process.exitCode=1});