howtofixcli 0.4.10 → 0.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +3 -1
  2. package/dist/main.js +88 -86
  3. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -1,46 +1,46 @@
1
1
  #!/usr/bin/env node
2
- var iS=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 Ct=(e,t)=>{for(var n in t)iS(e,n,{get:t[n],enumerable:!0})};var Tt,Fr,Ll,jl,vo=m(()=>{Tt="HowToFix",Fr="0.4.10",Ll=["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
- `),jl=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
4
- `)});var ql={};Ct(ql,{AGENTS_STORE_DIR:()=>Dr,AGENT_DIR:()=>Ve,CUBENCE_CACHE_PATH:()=>uu,WORKFLOWS_DIR:()=>pu,pinAgentDir:()=>cu});import{homedir as aS}from"node:os";import{join as Hs}from"node:path";function cu(){process.env.PI_CODING_AGENT_DIR=Ve}var Ve,Dr,uu,pu,_n=m(()=>{Ve=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||Hs(aS(),".howtofix","agent"),Dr=Hs(Ve,"agents"),uu=Hs(Ve,"cubence-cache.json"),pu=Hs(Ve,"workflows")});var Bl={};Ct(Bl,{DEFAULT_CONTEXT_WINDOW:()=>Wl,HOWTOFIX_BASE_URL:()=>Vs,HOWTOFIX_CONSOLE_URL:()=>Js,HOWTOFIX_MODEL_COMPAT:()=>fu,HOWTOFIX_PROVIDERS:()=>lu,HTTP_IDLE_TIMEOUT_MS:()=>Gl,applyCompat:()=>Xs,checkAccount:()=>bu,countNewModels:()=>hu,ensureGatewaySettings:()=>cS,isHowtofixProvider:()=>So,looksLikeToken:()=>gu,maskToken:()=>Ys,mergeModels:()=>xu,newProviderEntry:()=>du,parseModelIds:()=>zl,probeModel:()=>yu,repairGatewayModels:()=>pS});import{existsSync as mS,mkdirSync as uS,readFileSync as _l,writeFileSync as Ul}from"node:fs";import{join as Kl}from"node:path";function du(){return{baseUrl:Vs,api:"openai-completions"}}function pS(e){let t=Kl(e,"models.json"),n;try{n=JSON.parse(_l(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let i of lu){let a=r[i];if(!a||!Array.isArray(a.models))continue;let p=Xs(a.models);p.changed!==0&&(a.models=p.models,o+=p.changed)}if(o===0)return 0;try{Ul(t,`${JSON.stringify(n,null,2)}
5
- `)}catch{return 0}return o}function cS(e){let t=Kl(e,"settings.json"),n={};try{let r=_l(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(mS(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=Gl;try{uS(e,{recursive:!0}),Ul(t,`${JSON.stringify(n,null,2)}
6
- `)}catch{return!1}return!0}function Ys(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function gu(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function zl(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 lu.includes(e)}function xu(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:Wl,compat:{...fu}}));return r}function Xs(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...fu}})),changed:t}}function hu(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function yu(e,t,n){let r=(n?.baseUrl??Vs).replace(/\/+$/,""),o=n?.fetchImpl??fetch,i=n?.timeoutMs??1e4,a=new AbortController,p=setTimeout(()=>a.abort(),i);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 bu(e,t){let n=(t?.baseUrl??Vs).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,i=e.trim();if(!i)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 ${i}`},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=zl(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 Vs,Js,lu,Gl,fu,Wl,Iu=m(()=>{Vs="https://api.howtofix.id/v1",Js="https://howtofix.id/console/token",lu=["howtofix","howtofix-free"];Gl=9e4;fu={supportsDeveloperRole:!1},Wl=128e3});var Hl={};Ct(Hl,{expandFileReferences:()=>$u});import{readFileSync as lS,statSync as dS}from"node:fs";import{isAbsolute as fS,resolve as gS}from"node:path";function $u(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let i=o.replace(/[),.;:]+$/,""),a=o.slice(i.length),p=fS(i)?i:gS(t,i);try{let c=dS(p);if(!c.isFile()||c.size===0||c.size>xS)return n;let x=lS(p);return x.includes(0)?n:`${r}<file name="${p}">
7
- ${x.toString("utf8").trimEnd()}
8
- </file>${a}`}catch{return n}})}var xS,wu=m(()=>{xS=64*1024});function yS(e){let t=new WeakSet,n=r=>{if(r===null||typeof r!="object")return r;if(t.has(r))return"[circular]";if(t.add(r),Array.isArray(r))return r.map(n);let o=r,i={};for(let a of Object.keys(o).sort())i[a]=n(o[a]);return i};try{return JSON.stringify(n(e))??""}catch{return""}}function Vl(e,t){if(hS.has(e))return;let n=`${e}\0${yS(t)}`,r=Po&&Po.signature===n?Po.count+1:1;return Po={signature:n,count:r},r>=3?{repeats:r}:void 0}function Jl(){Po=void 0}function Yl(e,t){return`Refused: ${e} has been called ${t} times in a row with identical arguments, so the last attempt cannot have changed anything. Do not repeat it. Either use different arguments, use a different tool, or stop and report what you found and what is blocking you.`}var hS,Po,ku=m(()=>{hS=new Set(["think"])});function Xl(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function IS(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(bS.test(o)){let i=o.includes("="),[a="",...p]=o.split("="),c=n.safeFlags[a];if(!c)return!1;if(c==="none"){if(i)return!1;r++;continue}if(c==="optional"){r++;continue}if(i){if(!Xl(p.join("="),c))return!1;r++;continue}let x=e[r+1];if(x===void 0||!Xl(x,c))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function vS(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function SS(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function PS(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 AS(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"&&Ql[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:ed[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function RS(e){let t=PS(e),n=AS(t);if(!n)return!1;let{name:r,rest:o}=n;if(OS.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let i=Ql[r]??TS[r]??ed[r];return i?i.dangerous?.(o)?!1:IS(o,0,i):!!(kS.includes(r)||ES.includes(r))}function ti(e){let t=vS(e);return!t||t.length===0||SS(t)?!1:t.every(RS)}var bS,$S,Zs,Qs,Tu,ei,Eu,Zl,wS,Ql,kS,TS,ed,ES,OS,vu=m(()=>{bS=/^-[a-zA-Z0-9_-]/;$S={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},Zs={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},Qs={"--max-count":"number","-n":"number"},Tu={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},ei={"--color":"none","--no-color":"none"},Eu={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},Zl={"--author":"string","--committer":"string","--grep":"string"},wS={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},Ql={"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",...ei}},"git diff":{safeFlags:{...Tu,...ei,...Eu,"--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:{...Zs,...Qs,...Tu,...ei,...Eu,...Zl,...$S,"--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:{...Tu,...ei,...Eu,...Zs,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...Qs,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...Qs,...Zs,...Zl,"--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:{...Qs,"--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:{...Zs}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...wS,"--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"}}},kS=["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"],TS={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))}},ed={"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:{}}},ES=["cd","alias","history","arch","ip addr","ifconfig"];OS=new Set(["echo","printf"])});var md={};Ct(md,{APPROVAL_LABELS:()=>ni,APPROVAL_MODES:()=>Nr,MODE_MAX_TIER:()=>td,TIER_RANK:()=>Su,createPermissionExtension:()=>Ru,criticalCommand:()=>rd,decideToolCall:()=>sd,describeToolCall:()=>id,formatApprovalPrompt:()=>ad,getApprovalMode:()=>jS,isApprovalMode:()=>MS,isReadOnlyCommand:()=>ti,resolveTier:()=>nd,setApprovalMode:()=>Au,setApprovalPrompt:()=>Ou});function MS(e){return Nr.includes(e)}function nd(e){let t=CS[e];return t||(e.startsWith("mcp__")?"write":"exec")}function rd(e){for(let{pattern:t,reason:n}of LS)if(t.test(e))return n}function Au(e){Pu=e}function jS(){return Pu}function Ou(e){od=e}function sd(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let i=rd(r);if(i)return{action:"deny",reason:`Refused in every mode: ${i}.`};if(ti(r))return{action:"run"}}let o=nd(t);return Su[o]<=Su[td[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function id(e,t){if(t&&typeof t=="object"){let n=t;if((e==="bash"||e==="powershell")&&typeof n.command=="string")return n.command;if((e==="edit"||e==="write")&&typeof n.path=="string"){let r=Array.isArray(n.edits)?` (${n.edits.length} edits)`:"";return`${n.path}${r}`}try{let r=JSON.stringify(n);if(r&&r!=="{}")return r.length>300?`${r.slice(0,297)}...`:r}catch{}}return e}function ad(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=id(e,t);return o!==e&&r.push(o),r.join(`
9
- `)}function Ru(){return e=>{e.on("tool_call",async t=>{let n=Vl(t.toolName,t.input);if(n)return{block:!0,reason:Yl(t.toolName,n.repeats)};let r=Pu,o=sd(r,t.toolName,t.input);if(o.action==="run")return;if(o.action==="deny")return{block:!0,reason:o.reason};if(!await od(`${t.toolName} wants to run`,ad(t.toolName,t.input,o.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${r}).`}})}}var Nr,ni,Su,td,CS,LS,Pu,od,ri=m(()=>{ku();vu();vu();Nr=["suggest","auto-edit","full-auto"],ni={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Su={read:0,write:1,exec:2},td={suggest:"read","auto-edit":"write","full-auto":"exec"},CS={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"};LS=[{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"}];Pu="auto-edit",od=async()=>!1});function FS(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 NS(e){if(!e)return;let t=!1,n={...e};for(let r of DS){let o=n[r];if(typeof o!="string")continue;let i=FS(o);i!==o&&(n[r]=i,t=!0)}return t?n:void 0}function ud(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=NS(n.sections);return r?{messages:t.messages.map(i=>i===n?{...n,sections:r}:i)}:void 0})}}var DS,pd=m(()=>{DS=["preamble","rules","docs","addendum"]});import{Type as qr}from"@earendil-works/pi-ai";import{defineTool as cd}from"@earendil-works/pi-coding-agent";function ld(e){Mu=e}var Mu,dd,fd,Cu=m(()=>{dd=cd({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:qr.Object({thoughts:qr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),fd=cd({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:qr.Object({question:qr.String(),options:qr.Array(qr.String(),{minItems:2})}),async execute(e,t){if(!Mu)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await Mu(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var Xt,ur=m(()=>{Xt={assign:0,create:0,clone:0,discard:0,update:0}});function pr(e,t,n){return e>=t&&e<=n}function hd(e){return e===8205}function qS(e){return pr(e,55296,56319)}function gd(e){return pr(e,127462,127487)}function yd(e){return pr(e,65024,65039)}function bd(e){return pr(e,768,879)||pr(e,6832,6911)||pr(e,7616,7679)||pr(e,65056,65071)}function oi(e){return e>65535?2:1}function xd(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(bd(n)||yd(n))t+=oi(n);else break}return t}function Lu(e,t){let n=e.codePointAt(t),r=t+oi(n);for(r=xd(e,r);r<e.length-1&&hd(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+oi(o),r=xd(e,r)}return gd(n)&&r<e.length&&gd(e.codePointAt(r))&&(r+=oi(e.codePointAt(r))),r}function Id(e){return e>=768&&(qS(e)||bd(e)||yd(e)||hd(e))}function $d(e){let t=0,n=0;for(;n<e.length;)n=Lu(e,n),t++;return t}function _S(e,t){let n=0,r=0;for(;r<e.length;)if(r=Lu(e,r),++n>=t)return!0;return!1}function US(e,t){let n=0,r=0;for(;r<e.length;)if(r=Lu(e,r),++n>t)return!1;return!0}function wd(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(Id(e.charCodeAt(n)))return _S(e,t);if(++n>=t)return!0}}function kd(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(Id(e.charCodeAt(n)))return US(e,t);if(++n>t)return!1}}var Td=m(()=>{});var u={};Ct(u,{Counted:()=>rP,Entries:()=>iP,EntriesRegExp:()=>sP,Every:()=>QS,EveryAll:()=>eP,GraphemeCount:()=>YS,HasPropertyKey:()=>oP,IsArray:()=>Oo,IsBigInt:()=>Ao,IsBoolean:()=>Ed,IsClassInstance:()=>JS,IsConstructor:()=>GS,IsDeepEqual:()=>Du,IsEqual:()=>te,IsFunction:()=>vd,IsGreaterEqualThan:()=>Pd,IsGreaterThan:()=>BS,IsInteger:()=>ju,IsLessEqualThan:()=>Sd,IsLessThan:()=>HS,IsMaxLength:()=>XS,IsMinLength:()=>ZS,IsMultipleOf:()=>VS,IsNull:()=>ii,IsNumber:()=>ai,IsObject:()=>Ro,IsObjectNotArray:()=>WS,IsString:()=>mi,IsSymbol:()=>zS,IsUndefined:()=>Fu,IsUnsafePropertyKey:()=>Od,IsValueLike:()=>Ad,Keys:()=>si,ShiftLeft:()=>ui,Some:()=>tP,SomeAll:()=>nP,Symbols:()=>aP,Values:()=>mP});function Oo(e){return Array.isArray(e)}function Ao(e){return te(typeof e,"bigint")}function Ed(e){return te(typeof e,"boolean")}function GS(e){if(Fu(e)||!vd(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function vd(e){return te(typeof e,"function")}function ju(e){return Number.isInteger(e)}function ii(e){return te(e,null)}function ai(e){return Number.isFinite(e)}function WS(e){return Ro(e)&&!Oo(e)}function Ro(e){return te(typeof e,"object")&&!ii(e)}function mi(e){return te(typeof e,"string")}function zS(e){return te(typeof e,"symbol")}function Fu(e){return te(e,void 0)}function te(e,t){return e===t}function BS(e,t){return e>t}function HS(e,t){return e<t}function Sd(e,t){return e<=t}function Pd(e,t){return e>=t}function VS(e,t){if(Ao(e)||Ao(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!ai(e)||ju(e)&&1/t%1===0)return!0;let r=e%t;return Math.min(Math.abs(r),Math.abs(r-t),Math.abs(r+t))<n}function JS(e){if(!Ro(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return ii(t)?!1:te(typeof t.constructor,"function")&&!(te(t.constructor,globalThis.Object)||te(t.constructor.name,"Object"))}function Ad(e){return Ao(e)||Ed(e)||ii(e)||ai(e)||mi(e)||Fu(e)}function YS(e){return $d(e)}function XS(e,t){return kd(e,t)}function ZS(e,t){return wd(e,t)}function QS(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function eP(e,t,n){let r=!0;return e.forEach((o,i)=>{i>=t&&!n(o,i)&&(r=!1)}),r}function tP(e,t){return e.some((n,r)=>t(n,r))}function nP(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function rP(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function ui(e,t,n){return te(e.length,0)?n():t(e[0],e.slice(1))}function Od(e){return te(e,"__proto__")||te(e,"constructor")||te(e,"prototype")}function oP(e,t){return Od(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function sP(e){return si(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function iP(e){return Object.entries(e)}function si(e){return Object.getOwnPropertyNames(e)}function aP(e){return Object.getOwnPropertySymbols(e)}function mP(e){return Object.values(e)}function uP(e,t){if(!Ro(t))return!1;let n=si(e);return te(n.length,si(t).length)&&n.every(r=>Du(e[r],t[r]))}function pP(e,t){return Oo(t)&&te(e.length,t.length)&&e.every((n,r)=>Du(e[r],t[r]))}function Du(e,t){return Oo(e)?pP(e,t):Ro(e)?uP(e,t):te(e,t)}var _r=m(()=>{Td()});var Rd=m(()=>{_r()});var Un={};Ct(Un,{IsBigInt64Array:()=>EP,IsBigUint64Array:()=>vP,IsBoolean:()=>lP,IsDate:()=>PP,IsFloat32Array:()=>kP,IsFloat64Array:()=>TP,IsInt16Array:()=>bP,IsInt32Array:()=>$P,IsInt8Array:()=>xP,IsMap:()=>OP,IsNumber:()=>dP,IsRegExp:()=>SP,IsSet:()=>AP,IsString:()=>fP,IsTypeArray:()=>gP,IsUint16Array:()=>IP,IsUint32Array:()=>wP,IsUint8Array:()=>hP,IsUint8ClampedArray:()=>yP});function lP(e){return e instanceof Boolean}function dP(e){return e instanceof Number}function fP(e){return e instanceof String}function gP(e){return globalThis.ArrayBuffer.isView(e)}function xP(e){return e instanceof globalThis.Int8Array}function hP(e){return e instanceof globalThis.Uint8Array}function yP(e){return e instanceof globalThis.Uint8ClampedArray}function bP(e){return e instanceof globalThis.Int16Array}function IP(e){return e instanceof globalThis.Uint16Array}function $P(e){return e instanceof globalThis.Int32Array}function wP(e){return e instanceof globalThis.Uint32Array}function kP(e){return e instanceof globalThis.Float32Array}function TP(e){return e instanceof globalThis.Float64Array}function EP(e){return e instanceof globalThis.BigInt64Array}function vP(e){return e instanceof globalThis.BigUint64Array}function SP(e){return e instanceof globalThis.RegExp}function PP(e){return e instanceof globalThis.Date}function AP(e){return e instanceof globalThis.Set}function OP(e){return e instanceof globalThis.Map}var Md=m(()=>{});var Cd=m(()=>{_r()});var v=m(()=>{Rd();Md();Cd();_r();_r()});var Zt={};Ct(Zt,{Get:()=>LP,Reset:()=>MP,Set:()=>CP});function MP(){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 CP(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(pn,t,{value:n})}}function LP(){return pn}var pn,Ld=m(()=>{v();pn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var cr=m(()=>{Ld()});function Kn(e){return Zt.Get().immutableTypes?Object.freeze(e):e}var Mo=m(()=>{cr()});function jP(e,t){return Xt.assign+=1,Kn({...e,...t})}var jd=m(()=>{ur();Mo()});function FP(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function DP(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=lr(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function NP(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=lr(e[n]));for(let n of u.Symbols(e))t[n]=lr(e[n]);return t}function qP(e){return u.IsClassInstance(e)?e:FP(e)?DP(e):NP(e)}function _P(e){return e.map(t=>lr(t))}function UP(e){return e.slice()}function KP(e){return new RegExp(e.source,e.flags)}function GP(e){return new Map(lr([...e.entries()]))}function WP(e){return new Set(lr([...e.values()]))}function lr(e){return Un.IsTypeArray(e)?UP(e):Un.IsRegExp(e)?KP(e):Un.IsMap(e)?GP(e):Un.IsSet(e)?WP(e):u.IsArray(e)?_P(e):u.IsObject(e)?qP(e):e}function Co(e){return Xt.clone+=1,lr(e)}var pi=m(()=>{v();ur()});function zP(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 Fd(e,t){return{...e,...t}}function BP(e,t,n={}){Xt.create+=1;let r=Fd(t,n),o=Zt.Get().enumerableKind?Fd(r,e):zP(r,e);return Kn(o)}var Dd=m(()=>{cr();ur();Mo()});function HP(e,t){Xt.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 Kn(n)}var Nd=m(()=>{v();ur();Mo();pi()});function VP(e,t,n){Xt.update+=1;let r=Zt.Get(),o=Co(e);for(let i of Object.keys(t))Object.defineProperty(o,i,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[i]});for(let i of Object.keys(n))Object.defineProperty(o,i,{configurable:!0,enumerable:!0,writable:!0,value:n[i]});return Kn(o)}var qd=m(()=>{cr();ur();Mo();pi()});var l={};Ct(l,{Assign:()=>jP,Clone:()=>Co,Create:()=>BP,Discard:()=>HP,Metrics:()=>Xt,Update:()=>VP});var _d=m(()=>{jd();pi();Dd();Nd();ur();qd()});var k=m(()=>{_d()});function P(e,t){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],t)}function Le(e){return u.IsObject(e)}var z=m(()=>{v()});function L(e,t,n){return l.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Gn(e){return P(e,"Deferred")}var se=m(()=>{k();z()});function JP(e){return l.Update(e,{"~readonly":!0},{})}function Lo(e,t){return l.Update(JP(e),{},t)}function Ud(e,t,n,r){let o=$(e,t,n);return Lo(o,r)}var ci=m(()=>{k();D()});function YP(e){return l.Update(e,{"~optional":!0},{})}function jo(e,t){return l.Update(YP(e),{},t)}function Kd(e,t,n,r){let o=$(e,t,n);return jo(o,r)}var li=m(()=>{k();D()});function Lt(e,t){return l.Create({"~kind":"Array"},{type:"array",items:e},t)}function $e(e){return P(e,"Array")}function di(e){return l.Discard(e,["~kind","type","items"])}var ut=m(()=>{k();z()});function cn(e,t,n={}){return l.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function qe(e){return P(e,"Constructor")}function Gd(e){return l.Discard(e,["~kind","type","parameters","instanceType"])}var qt=m(()=>{k();z()});function ln(e,t,n={}){return l.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function _e(e){return P(e,"Function")}function Wd(e){return l.Discard(e,["~kind","type","parameters","returnType"])}var _t=m(()=>{k();z()});function Ln(e,t){return l.Create({"~kind":"Ref"},{$ref:e},t)}function Ue(e){return P(e,"Ref")}var Ut=m(()=>{k();z()});function Wn(e,t){return l.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Ur(e){return P(e,"Generic")}var Fo=m(()=>{k();z()});function Kr(e){return l.Create({"~kind":"Any"},{},e)}function ke(e){return P(e,"Any")}var gt=m(()=>{k();z()});function de(e){return l.Create({"~kind":"Never"},{not:{}},e)}function Qt(e){return P(e,"Never")}var zd,Ge=m(()=>{k();z();zd="(?!)"});function dn(e,t={}){return L("AddOptional",[e],t)}function dr(e,t={}){return jo(e,t)}var Do=m(()=>{se();li()});function Bd(e){return dr(e)}function tt(e){return Le(e)&&u.HasPropertyKey(e,"~optional")}var zn=m(()=>{v();z();Do()});function Hd(e){return u.Keys(e).filter(t=>!tt(e[t]))}function fi(e){return u.Keys(e)}function gi(e){return u.Values(e)}var fr=m(()=>{v();zn()});function _(e,t={}){let n=Hd(e),r=n.length>0?{required:n}:{};return l.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function ae(e){return P(e,"Object")}function Vd(e){return l.Discard(e,["~kind","type","properties","required"])}var ce=m(()=>{k();z();fr()});function We(e){return l.Create({"~kind":"Unknown"},{},e)}function Ae(e){return P(e,"Unknown")}var Je=m(()=>{k();z()});function fn(e,t,n){let r=u.Keys(e).reduce((o,i)=>({...o,[i]:l.Update(e[i],{},{$id:i})}),{});return l.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function Ye(e){return P(e,"Cyclic")}var xt=m(()=>{v();k();z()});function Jd(e){return l.Update(e,{"~unsafe":null},{})}function xi(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var hi=m(()=>{v();k()});var gn={};Ct(gn,{Match:()=>XP});function XP(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var Yd=m(()=>{});var Gr=m(()=>{Yd()});function No(...e){let[t,n]=gn.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 Oe(e){return P(e,"Infer")}var Kt=m(()=>{Gr();k();z();Je()});function gr(e,t,n,r={}){return l.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function Ee(e){return P(e,"Dependent")}function Xd(e){return l.Discard(e,["~kind","if","then","else"])}var Et=m(()=>{k();z()});function Zd(e){return u.IsObjectNotArray(e)}function Qd(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var yi=m(()=>{v()});function ef(e){return u.IsString(e)||u.IsNumber(e)}function tf(e,t){let n=Zd(e)?Qd(e):e;return l.Create({"~kind":"Enum"},{enum:n},t)}function Xe(e){return P(e,"Enum")}var en=m(()=>{v();k();z();yi();yi()});function ht(e,t={}){return l.Create({"~kind":"Intersect"},{allOf:e},t)}function Y(e){return P(e,"Intersect")}function nf(e){return l.Discard(e,["~kind","allOf"])}var je=m(()=>{k();z()});var rf=m(()=>{cr();v()});var of=m(()=>{rf()});var sf=m(()=>{of()});function Fe(){throw new Error("Unreachable")}var Nu=m(()=>{});var xn=m(()=>{Nu()});var af,EN,vN,SN,PN,mf,AN,ON,RN,uf=m(()=>{xn();v();(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"})(af||(af={}));EN=BigInt("14695981039346656037"),[vN,SN]=[BigInt("1099511628211"),BigInt("18446744073709551616")],PN=Array.from({length:256}).map((e,t)=>BigInt(t)),mf=new Float64Array(1),AN=new DataView(mf.buffer),ON=new Uint8Array(mf.buffer),RN=new TextEncoder});var pf=m(()=>{uf()});var qu=m(()=>{});var cf=m(()=>{qu()});var lf=m(()=>{});var df=m(()=>{});var ff=m(()=>{});var gf=m(()=>{});var xf=m(()=>{});var hf=m(()=>{});var yf=m(()=>{});var bf=m(()=>{});var If=m(()=>{});var $f=m(()=>{});var wf=m(()=>{});var _u=m(()=>{});var kf=m(()=>{});var Tf=m(()=>{});var Ef=m(()=>{});var vf=m(()=>{});var Sf=m(()=>{});var Pf=m(()=>{});var Af=m(()=>{});var Of=m(()=>{});var Rf=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(()=>{});var _f=m(()=>{});var Uf=m(()=>{});var Kf=m(()=>{});var Gf=m(()=>{});var Wf=m(()=>{});var zf=m(()=>{});var Bf=m(()=>{});var Hf=m(()=>{});var Vf=m(()=>{cf();lf();df();ff();gf();xf();qu();hf();yf();bf();If();$f();wf();_u();_u();kf();Tf();Ef();vf();Sf();Pf();Af();Of();Rf();Mf();Cf();Lf();jf();Ff();Df();Nf();qf();_f();Uf();Kf();Gf();Wf();zf();Bf();Hf()});var Jf=m(()=>{Vf()});var qo=m(()=>{Gr();sf();pf();Jf();k();cr()});var Xf=m(()=>{qo();qo();qo()});function Ii(e){return new Uo(e)}function Zf(e,t){return Ii(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function Qf(e,t){return Ii(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function bi(e){return Le(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var _o,Uo,Uu=m(()=>{Xf();v();z();_o=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=bi(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=bi(n)?a=>n["~codec"].encode(t(a)):t,i={decode:r,encode:o};return l.Update(this.type,{"~codec":i},{})}},Uo=class{constructor(t){this.type=t}Decode(t){return new _o(this.type,t)}}});function eg(e){return Wr(e)}function xr(e){return Le(e)&&u.HasPropertyKey(e,"~immutable")}var Ko=m(()=>{v();z();Go()});function hn(e,t={}){return L("AddReadonly",[e],t)}function hr(e,t={}){return Lo(e,t)}var Wo=m(()=>{se();ci()});function tg(e){return hr(e)}function yr(e){return Le(e)&&u.HasPropertyKey(e,"~readonly")}var zo=m(()=>{v();z();Wo()});function tA(e,t){let n=Ku(e)?[...e["~refine"],t]:[t];return l.Update(e,{"~refine":n},{})}function ng(...e){let[t,n,r]=gn.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[o,i,()=>"Refine Error"]});return tA(t,{check:n,error:r})}function nA(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function Ku(e){return Le(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>nA(t))}var Gu=m(()=>{Gr();k();v();z()});function Bo(e){return l.Create({"~kind":"BigInt"},{type:"bigint"},e)}function yn(e){return P(e,"BigInt")}var rg,br=m(()=>{k();z();rg="-?(?:0|[1-9][0-9]*)n"});function $i(e){return l.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Gt(e){return P(e,"Boolean")}var Bn=m(()=>{k();z()});function Ho(e){return l.Create({"~kind":"Identifier"},{name:e})}function og(e){return P(e,"Identifier")}var Wu=m(()=>{k();z()});function Ir(e){return l.Create({"~kind":"Integer"},{type:"integer"},e)}function pt(e){return P(e,"Integer")}var wi,bn=m(()=>{k();z();wi="-?(?:0|[1-9][0-9]*)"});function rA(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new zu(e)})()}function X(e,t){return l.Create({"~kind":"Literal"},{type:rA(e),const:e},t)}function ki(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function sg(e){return me(e)&&u.IsNumber(e.const)}function ig(e){return me(e)&&u.IsString(e.const)}function me(e){return P(e,"Literal")}var zu,Re=m(()=>{k();v();z();zu=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function zr(e){return l.Create({"~kind":"Null"},{type:"null"},e)}function Br(e){return P(e,"Null")}var Hr=m(()=>{k();z()});function vt(e){return l.Create({"~kind":"Number"},{type:"number"},e)}function Me(e){return P(e,"Number")}var Ti,ct=m(()=>{k();z();Ti="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function Vr(e){return l.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Hn(e){return P(e,"Symbol")}var $r=m(()=>{k();z()});function wr(...e){let[t,n,r]=gn.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[o,i,i],1:o=>[o,We(),We()]});return l.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function ag(e){return P(e,"Parameter")}var Bu=m(()=>{Gr();k();z();Je()});function Wt(e){return l.Create({"~kind":"String"},{type:"string"},e)}function lt(e){return P(e,"String")}var Ei,zt=m(()=>{k();z();Ei=".*"});function H(e,t={}){return l.Create({"~kind":"Union"},{anyOf:e},t)}function M(e){return P(e,"Union")}function mg(e){return l.Discard(e,["~kind","anyOf"])}var V=m(()=>{k();z()});function Vo(e){let t=ug(e);return u.IsEqual(t.length,2)?t[0]:[]}var Jo=m(()=>{v();vi()});function oA(e){return!0}function pg(e){return u.ShiftLeft(e,(t,n)=>sA(t)?pg(n):!1,()=>!0)}function cg(e){return u.IsEqual(e.length,0)?!1:pg(e)}function sA(e){return M(e)?cg(e.anyOf):me(e)?oA(e.const):!1}function Si(e){return cg(e)}var Pi=m(()=>{v();Re();V()});function Ai(e){return l.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Oi=m(()=>{k()});function lg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>lg(o,t,[...n,`${r}${t}`]),()=>n)}function iA(e,t){return u.IsEqual(e.length,0)?[`${t}`]:lg(e,t)}function dg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>dg(e,o,[...n,...fg(e,r)]),()=>n)}function fg(e,t){return M(t)?dg(e,t.anyOf):me(t)?iA(e,t.const):Fe()}function gg(e,t){return u.ShiftLeft(t,(n,r)=>gg(fg(e,n),r),()=>e)}function aA(e){return e.map(t=>X(t))}function mA(e){let t=gg([],e),n=aA(t);return H(n)}function uA(e){return u.IsEqual(e.length,0)?Fe():u.IsEqual(e.length,1)&&me(e[0])?e[0]:mA(e)}function Hu(e){let t=Vo(e);return u.IsEqual(t.length,0)?Wt():Si(t)?uA(t):Ai(e)}function xg(e){let t=Hu(e);return ve(t)?Wt():t}var Ri=m(()=>{v();xn();Re();zt();yt();V();Jo();Pi();Oi()});function bt(e,t){let n="object",r={[e]:t};return l.Create({"~kind":"Record"},{type:n,patternProperties:r})}var Vn=m(()=>{k()});function hg(e){return bt(tn,e)}var yg=m(()=>{ze();Vn()});function bg(e){return _({true:e,false:e})}var Ig=m(()=>{ce()});function Ce(e,t={}){let[n,r,o]=[e,e.length,!1];return l.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function ge(e){return P(e,"Tuple")}function $g(e){return l.Discard(e,["~kind","type","items","minItems","additionalItems"])}var De=m(()=>{k();z()});function pA(e){return l.Discard(e,["~readonly"])}function Vu(e,t){return l.Update(pA(e),{},t)}function wg(e,t,n,r){let o=$(e,t,n);return Vu(o,r)}var Ju=m(()=>{k();D()});function kg(e,t={}){return L("RemoveReadonly",[e],t)}function Tg(e,t={}){return Vu(e,t)}var Yu=m(()=>{se();Ju()});function cA(e){return l.Discard(e,["~optional"])}function Xu(e,t){return l.Update(cA(e),{},t)}function Eg(e,t,n,r){let o=$(e,t,n);return Xu(o,r)}var Zu=m(()=>{k();D()});function vg(e,t={}){return L("RemoveOptional",[e],t)}function Mi(e,t={}){return Xu(e,t)}var Ci=m(()=>{se();Zu()});function Qu(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function Sg(e){let t=Qu(e.items);return _(t)}var ep=m(()=>{ce()});function tp(e){return ae(e)||ge(e)}function lA(e,t){return yr(e)?!!yr(t):!1}function dA(e,t){return tt(e)?!!tt(t):!1}function fA(e,t){let n=lA(e,t),r=dA(e,t),o=we([e,t]),i=Tg(Mi(o));return n&&r?hr(dr(i)):n&&!r?hr(i):!n&&r?dr(i):i}function gA(e,t,n){return n in e?n in t?fA(e[n],t[n]):e[n]:n in t?t[n]:de()}function xA(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,i)=>({...o,[i]:gA(e,t,i)}),{})}function Pg(e){return ae(e)?e.properties:ge(e)?Qu(e.items):{}}function Ag(e,t){let n=Pg(e),r=Pg(t),o=xA(n,r);return _(o)}var np=m(()=>{v();zo();zn();ce();Ge();De();Wo();Do();Yu();Ci();ep();B()});function hA(e,t){let n=Zo(e,t);return u.IsEqual(n,Xo)?e:u.IsEqual(n,Li)||u.IsEqual(n,Yo)?t:de()}function yA(e,t){let n=tp(e),r=tp(t);return n&&r?Ag(e,t):n&&!r?e:!n&&r?t:hA(e,t)}function Og(e,t){return Qt(e)||ke(e)?e:Ae(e)||Qt(t)||ke(t)?t:Ae(t)?e:yA(e,t)}var rp=m(()=>{v();gt();Ge();Je();Qo();np()});function bA(e,t){return M(e)||M(t)}function IA(e,t){let n=Bt(e),r=Bt(t);return bA(n,r)?we([n,r]):Og(n,r)}function Rg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Rg(e,o,[...n,IA(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function Mg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Mg(o,t,[...n,...es([r],t)]),()=>n)}function es(e,t=[]){return u.ShiftLeft(e,(n,r)=>M(n)?es(r,Mg(n.anyOf,t)):es(r,Rg(n,t)),()=>t)}var op=m(()=>{v();V();rp();B();B()});function $A(e,t){let n=Ze({},e,t);return U.IsExtendsTrueLike(n)?[]:[e]}function Cg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Cg(o,t,[...n,...$A(r,t)]),()=>n)}function ji(e,t){let n=Bt(e),r=M(n)?n.anyOf:[n],o=Cg(r,t);return It(o)}var sp=m(()=>{v();V();In();B();B()});function nn(e,t,n){let r=we([e,t]),o=ji(n,e);return It([r,o])}function dt(e,t=[]){return u.ShiftLeft(e,(n,r)=>dt(r,[...t,X(n)]),()=>It(t))}function we(e){let t=es(e),n=ip(t);return It(n)}function nt(e){let t=xg(e);return Bt(t)}function It(e){let t=ip(e);return Jn(t)}function Bt(e){return Ee(e)?nn(e.if,e.then,e.else):Xe(e)?dt(e.enum):Y(e)?we(e.allOf):ve(e)?nt(e.pattern):M(e)?It(e.anyOf):e}function Jn(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?de():H(e)}var B=m(()=>{v();Et();en();je();Re();Ge();yt();V();op();ap();sp();Ri()});function Lg(e,t){let n=dt(e);return Yn(n,t)}var jg=m(()=>{ts();B()});function Fg(e,t){return bt(Xn,t)}var Dg=m(()=>{ze();Vn()});function Ng(e,t){let n=we(e);return Yn(n,t)}var qg=m(()=>{B();ts()});function _g(e,t){return u.IsString(e)||u.IsNumber(e)?_({[e]:t}):u.IsEqual(e,!1)?_({false:t}):u.IsEqual(e,!0)?_({true:t}):_({})}var Ug=m(()=>{v();ce()});function Kg(e,t){return bt(Jr,t)}var Gg=m(()=>{ze();Vn()});function Wg(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?bt(e.pattern.toString(),t):bt(tn,t)}var zg=m(()=>{v();ze();Vn()});function Bg(e,t){let n=Vo(e);return Si(n)?Yn(nt(e),t):bt(e,t)}var Hg=m(()=>{ts();Jo();Pi();B();Vn()});function wA(e){return M(e)?Yr(e.anyOf):[e]}function Yr(e,t=[]){return u.ShiftLeft(e,(n,r)=>Yr(r,[...t,...wA(n)]),()=>t)}var Fi=m(()=>{v();V()});function kA(e){return e.some(t=>lt(t)||Me(t)||pt(t))}function TA(e,t){return u.IsEqual(kA(e),!0)?bt(tn,t):void 0}function EA(e,t){return e.reduce((n,r)=>me(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function vA(e,t){let n=EA(e,t);return _(n)}function Vg(e,t){let n=Yr(e),r=TA(n,t);return Le(r)?r:vA(n,t)}var Jg=m(()=>{v();z();Re();ct();bn();ce();zt();ze();Fi();Vn()});function Yn(e,t){return ke(e)?hg(t):Gt(e)?bg(t):Xe(e)?Lg(e.enum,t):pt(e)?Fg(e,t):Y(e)?Ng(e.allOf,t):me(e)?_g(e.const,t):Me(e)?Kg(e,t):M(e)?Vg(e.anyOf,t):lt(e)?Wg(e,t):ve(e)?Bg(e.pattern,t):_({})}var ts=m(()=>{gt();Bn();en();je();bn();Re();ct();ce();zt();yt();V();yg();Ig();jg();Dg();qg();Ug();Gg();zg();Hg();Jg()});function mp(e,t,n){return G([e])?l.Update(Yn(e,t),{},n):Ni(e,t,n)}function Yg(e,t,n,r,o){let i=$(e,t,n),a=$(e,t,r);return mp(i,a,o)}var Di=m(()=>{k();ze();ts();D()});function Ni(e,t,n={}){return L("Record",[e,t],n)}function qi(e,t,n={}){return mp(e,t,n)}function Xg(e,t){return bt(e,t)}function _i(e){return u.IsEqual(e,tn)?Wt():u.IsEqual(e,Xn)?Ir():u.IsEqual(e,Jr)?vt():Hu(e)}function Ht(e){return u.Keys(e.patternProperties)[0]}function Xr(e){let t=Ht(e);return _i(t)}function ft(e){return e.patternProperties[Ht(e)]}function Qe(e){return P(e,"Record")}var Xn,Jr,tn,ze=m(()=>{k();v();z();bn();ct();zt();se();Ri();Vn();Di();Xn=`^${wi}$`,Jr=`^${Ti}$`,tn=`^${Ei}$`});function kr(e){return l.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function Zn(e){return P(e,"Rest")}var Zr=m(()=>{k();z()});var Zg=m(()=>{});function Ui(e){return l.Create({"~kind":"This"},{$ref:"#"},e)}function Ki(e){return P(e,"This")}var Gi=m(()=>{k();z()});function Qr(e){return l.Create({"~kind":"Undefined"},{type:"undefined"},e)}function eo(e){return P(e,"Undefined")}var to=m(()=>{k();z()});function Wi(e){return l.Create({"~kind":"Void"},{type:"void"},e)}function $n(e){return P(e,"Void")}var Tr=m(()=>{k();z()});var zi=m(()=>{Uu();Ko();zn();zo();Gu();gt();ut();br();Bn();no();qt();xt();se();en();_t();Fo();Wu();Et();Kt();bn();je();Re();Ge();Hr();ct();Je();$r();ce();Bu();fr();ze();Ut();Zr();z();Zg();zt();$r();yt();Gi();De();to();V();Je();hi();Tr()});function PA(e,t){return u.IsEqual(e,"Array")?Lt(t[0]):u.IsEqual(e,"Capitalize")?Hi(t[0]):u.IsEqual(e,"ConstructorParameters")?Zi(t[0]):u.IsEqual(e,"Evaluate")?ey(t[0]):u.IsEqual(e,"Exclude")?Qi(t[0],t[1]):u.IsEqual(e,"Extract")?ea(t[0],t[1]):u.IsEqual(e,"Index")?ss(t[0],t[1]):u.IsEqual(e,"InstanceType")?ta(t[0]):u.IsEqual(e,"Lowercase")?Vi(t[0]):u.IsEqual(e,"NonNullable")?na(t[0]):u.IsEqual(e,"Omit")?ra(t[0],t[1]):u.IsEqual(e,"Parameters")?oa(t[0]):u.IsEqual(e,"Partial")?sa(t[0]):u.IsEqual(e,"Pick")?ia(t[0],t[1]):u.IsEqual(e,"Readonly")?aa(t[0]):u.IsEqual(e,"KeyOf")?is(t[0]):u.IsEqual(e,"Record")?Ni(t[0],t[1]):u.IsEqual(e,"Required")?ma(t[0]):u.IsEqual(e,"ReturnType")?ua(t[0]):u.IsEqual(e,"Uncapitalize")?Ji(t[0]):u.IsEqual(e,"Uppercase")?Yi(t[0]):os(Ln(e),t)}function Er(){throw Error("Unreachable")}function rx(e,t=[]){return u.ShiftLeft(e,(n,r)=>rx(r,[...t,n[1]]),()=>t)}function jn(e){return u.IsEqual(e.length,3)?[e[0],...rx(e[1])]:[]}function ox(e){return wr(e[0],e[2],e[4])}function sx(e){return wr(e[0],e[2],e[2])}function ix(e){return wr(e[0],We(),e[2])}function ax(e){return wr(e,We(),We())}function mx(e){return jn(e)}function ux(e){return e[1]}function px(e){return jn(e)}function cx(e){return e[1]}function lx(e){return PA(e[0],e[1])}function dx(e){return null}function fx(e){return Wt()}function gx(e){return vt()}function xx(e){return $i()}function hx(e){return Qr()}function yx(e){return zr()}function bx(e){return Ir()}function Ix(e){return Bo()}function $x(e){return We()}function wx(e){return Kr()}function kx(e){return _({})}function Tx(e){return de()}function Ex(e){return Vr()}function vx(e){return Wi()}function Sx(e){return Ui()}function Px(e){return X(BigInt(e))}function Ax(e){return X(u.IsEqual(e,"true"))}function Ox(e){return X(parseFloat(e))}function Rx(e){return X(e)}function Mx(e){return e[1]}function Cx(e){return X(e)}function Lx(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function jx(e){return e[1]}function Fx(e){return Bi(e)}function Dx(e){return u.IsEqual(e.length,6)?gr(e[1],e[3],e[5]):gr(e[1],e[3],We())}function Nx(e){return e.length>0}function qx(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function _x(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function Ux(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function Kx(e){return u.IsEqual(e.length,2)?e[1]:[]}function Qg(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)?Lt(n):Er()},e)}function ex(e,t){return u.IsEqual(t.length,3)?Xi(e,t[0],t[1],t[2]):e}function AA(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:pa(e,t)}function Gx(e){let[t,n,r,o,i]=e;return AA(ex(t?is(Qg(n,r)):Qg(n,r),o),i)}function up(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,i=up(r,o);if(u.IsEqual(n,"&"))return Y(i)?ht([e,...i.allOf]):ht([e,i]);if(u.IsEqual(n,"|"))return M(i)?H([e,...i.anyOf]):H([e,i]);Er()})():e}function Wx(e){let[t,n]=e;return up(t,n)}function zx(e){let[t,n]=e;return up(t,n)}function Bx(e){return Qh(e[1])}function Hx(e){return e[1]}function Vx(e){return Wn(e[0],e[2])}function Jx(e){return u.IsEqual(e.length,4)?No(e[1],e[3]):u.IsEqual(e.length,2)?No(e[1],We()):Er()}function Yx(e){return`${e}`}function Xx(e){return pt(e[3])?Xn:Me(e[3])?Jr:Hn(e[3])?tn:lt(e[3])?tn:Er()}function Zx(e){return e.length>0}function Qx(e){return e.length>0}function eh(e){let[t,n,r,o,i]=e;return{[n]:t&&r?hn(dn(i)):t&&!r?hn(i):!t&&r?dn(i):i}}function th(e){return jn(e)}function nh(e){return e.reduce((t,n)=>u.HasPropertyKey(n,Xn)||u.HasPropertyKey(n,Jr)||u.HasPropertyKey(n,tn)?[t[0],l.Assign(t[1],n)]:[l.Assign(t[0],n),t[1]],[{},{}])}function rh(e){return nh(e[1])}function oh(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return _(t,r)}function sh(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]):Er()}function ih(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 ah(e){return u.IsEqual(e.length,2)?kr(e[1]):u.IsEqual(e.length,1)?e[0]:Er()}function mh(e){return jn(e)}function uh(e){return Ce(e[1])}function ph(e){return hn(dn(e[4]))}function ch(e){return hn(e[3])}function lh(e){return dn(e[3])}function dh(e){return e[2]}function fh(e){return u.IsEqual(e.length,2)?kr(e[1]):u.IsEqual(e.length,1)?e[0]:Er()}function gh(e){return jn(e)}function xh(e){return ln(e[1],e[4])}function hh(e){return cn(e[2],e[5])}function tx(e,t){return u.IsEqual(e,"remove")?kg(t):u.IsEqual(e,"add")?hn(t):t}function yh(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 nx(e,t){return u.IsEqual(e,"remove")?vg(t):u.IsEqual(e,"add")?dn(t):t}function bh(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 Ih(e){return u.IsEqual(e.length,2)?[e[1]]:[]}function $h(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?ns(Ho(e[3]),e[5],e[6][0],tx(e[1],nx(e[8],e[10]))):ns(Ho(e[3]),e[5],Ln(e[3]),tx(e[1],nx(e[8],e[10])))}function wh(e){return Ln(e)}function kh(e){return BigInt(e)}function Th(e){return parseFloat(e)}function Eh(e){return u.IsEqual(e,"true")}function vh(e){return null}function Sh(e){return{[e[0]]:e[2]}}function Ph(e){return jn(e)}function OA(e){return e.reduce((t,n)=>l.Assign(t,n),{})}function Ah(e){return OA(e[1])}function Oh(e){return jn(e)}function Rh(e){return e[1]}function Mh(e){return Bo()}function Ch(e){return Wt()}function Lh(e){return vt()}function jh(e){return Ir()}function Fh(e){return de()}function Dh(e){return X(e)}function Nh(e){return H(e[1])}function qh(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function _h(e){return[e[0],...e[1]]}function Uh(e){return e[1]}function Kh(e){return jn(e)}function Gh(e){return u.IsEqual(e.length,2)?e[1]:[]}function Wh(e){let t=e[2],n=e[3],[r,o]=e[4],i=u.IsEqual(u.Keys(o).length,0)?{}:{patternProperties:o};return{[e[1]]:Wn(t,rs(n,r,i))}}function zh(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 Bh(e){return{[e[1]]:Wn(e[2],e[4])}}function Hh(e){return{[e[1]]:e[3]}}function Vh(e){return null}function Jh(e){return jn(e)}function Yh(e){return e[1]}function Xh(e){let[t,n]=[e[0],e[1]];return ty(l.Assign(t,nh(n)[0]))}var Zh=m(()=>{k();v();zi();ro()});var Fn=m(()=>{_r()});function as(e){return te(e.length,2)}function J(e,t,n){return as(e)?t(e[0],e[1]):n()}var St=m(()=>{Fn()});function CA(e,t){return te(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Te(e,t){for(let n=0;n<e.length;n++){let r=CA(e[n],t);if(as(r))return r}return[]}var wn=m(()=>{St();Fn()});function pp(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var ny,cp,lp,oo,ry,so,Qn,ca,oy,la,rt=m(()=>{ny=[...pp(97,122),...pp(65,90)],cp="0",lp=pp(49,57),oo=[cp,...lp],ry=" ",so=`
10
- `,Qn="_",ca=".",oy="$",la="-"});function ay(e){let t=e.indexOf(jA);return te(t,-1)?"":e.slice(t+2)}function my(e){let t=e.indexOf(so);return te(t,-1)?"":e.slice(t)}function FA(e){return e.replace(/^[ \t\r\f\v]+/,"")}function da(e){let t=FA(e);return t.startsWith(iy)?da(ay(t.slice(2))):t.startsWith(sy)?da(my(t.slice(2))):t}function Be(e){let t=e.trimStart();return t.startsWith(iy)?Be(ay(t.slice(2))):t.startsWith(sy)?Be(my(t.slice(2))):t}var sy,iy,jA,kn=m(()=>{Fn();rt();sy="//",iy="/*",jA="*/"});function fa(e,t){return J(Te([e],t),(n,r)=>[n,r],()=>["",t])}var dp=m(()=>{St();wn()});function DA(e,t){return e.includes(t)}function io(e,t,n,r=""){return J(Te(e,n),(o,i)=>DA(t,o)?io(e,t,i,r):io(e,t,i,`${r}${o}`),()=>[r,n])}var fp=m(()=>{St();wn()});function NA(e){return Te(lp,e)}function _A(e){return io(qA,[Qn],e)}function UA(e){return J(Te([cp],e),(t,n)=>[t,n],()=>J(NA(e),(t,n)=>J(_A(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function ga(e){return UA(Be(e))}var qA,xa=m(()=>{St();kn();wn();fp();rt();rt();rt();rt();qA=[...oo,Qn]});function KA(e){return fa(la,e)}function GA(e){return J(KA(e),(t,n)=>J(ga(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function uy(e){return GA(Be(e))}var gp=m(()=>{St();kn();dp();rt();xa()});function WA(e){return J(uy(e),(t,n)=>J(Te(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function xp(e){return WA(e)}var py=m(()=>{St();wn();gp()});function hp(e,t){return Te([e],t)}function f(e,t){return te(e,"")?["",t]:e.startsWith(so)?hp(e,da(t)):e.startsWith(ry)?hp(e,t):hp(e,Be(t))}var cy=m(()=>{Fn();kn();kn();wn();rt();rt()});function zA(e){return Te(ly,e)}function dy(e,t=""){return J(Te(BA,e),(n,r)=>dy(r,`${t}${n}`),()=>[t,e])}function HA(e){return J(zA(e),(t,n)=>J(dy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Se(e){return HA(Be(e))}var ly,BA,fy=m(()=>{St();kn();wn();rt();rt();rt();rt();ly=[...ny,Qn,oy];BA=[...ly,...oo]});function JA(e){return as(Te([ca],e))}function gy(e){return J(io(VA,[Qn],e),(t,n)=>te(t,"")?[]:[t,n],()=>[])}function YA(e){return J(Te([ca],e),(t,n)=>J(gy(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function XA(e){return J(ga(e),(t,n)=>J(Te([ca],n),(r,o)=>J(gy(o),(i,a)=>[`${t}${r}${i}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function ZA(e){return JA(e)?YA(e):XA(e)}function xy(e){return ZA(Be(e))}var VA,yp=m(()=>{Fn();St();kn();wn();fp();rt();rt();xa();VA=[...oo,Qn]});function QA(e){return fa(la,e)}function eO(e){return J(QA(e),(t,n)=>J(xy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ha(e){return eO(Be(e))}var hy=m(()=>{St();kn();dp();rt();yp()});var yy=m(()=>{Fn()});function tO(e){return te(e,"")?[]:[e.slice(0,1),e.slice(1)]}function by(e,t){return ui(e,(n,r)=>t.startsWith(n)?!0:by(r,t),()=>!1)}function er(e,t,n=""){return J(tO(t),(r,o)=>by(e,t)?[n,t]:er(e,o,`${n}${r}`),()=>[])}var ya=m(()=>{St();Fn()});function nO(e,t,n){return J(Te([e],n),(r,o)=>J(er([t],o),(i,a)=>J(Te([t],a),(p,c)=>[`${i}`,c],()=>[]),()=>[]),()=>[])}function rO(e,t,n){return J(Te([e],n),(r,o)=>J(er([so,t],o),(i,a)=>J(Te([t],a),(p,c)=>[`${i}`,c],()=>[]),()=>[]),()=>[])}function Iy(e,t,n,r){return n?nO(e,t,Be(r)):rO(e,t,Be(r))}var bp=m(()=>{St();kn();rt();wn();ya()});function oO(e,t){return Te(e,t)}function sO(e,t){return Iy(e,e,!1,t)}function iO(e,t){return J(oO(e,t),(n,r)=>sO(n,`${n}${r}`),()=>[])}function ba(e,t){return iO(e,Be(t))}var $y=m(()=>{St();wn();kn();bp()});function wy(e,t){return J(er(e,t),(n,r)=>te(n,"")?[]:[n,r],()=>[])}var ky=m(()=>{Fn();St();ya()});var Ty=m(()=>{py();cy();fy();gp();hy();yy();bp();$y();xa();yp();ky();ya()});var s,mO,uO,pO,cO,Sy,Py,lO,wp,Ay,dO,fO,gO,Oy,Ry,My,xO,hO,yO,Cy,bO,IO,$O,wO,kO,Ly,TO,EO,vO,Ip,jy,kp,SO,PO,AO,OO,RO,MO,CO,Fy,LO,jO,FO,DO,Dy,Ny,qy,_y,Ia,NO,qO,_O,UO,ne,KO,GO,WO,zO,Uy,Ky,Gy,Wy,$a,zy,BO,Tp,HO,VO,Ey,By,Hy,JO,YO,XO,ZO,QO,eR,vy,Vy,Jy,Yy,tR,nR,rR,oR,sR,iR,aR,mR,uR,pR,cR,lR,dR,Xy,Zy,fR,Qy,eb,gR,xR,Ep,hR,yR,bR,IR,$R,wR,kR,TR,tb,$p,vp,ug,nb,ER,rb,vR,SR,PR,AR,OR,ob,sb,RR,Sp,MR,ib,vi=m(()=>{Zh();Ty();s=(e,t,n=()=>[])=>e.length===2?t(e):n(),mO=e=>s(s(Se(e),([t,n])=>s(f("extends",n),([r,o])=>s(ne(o),([i,a])=>s(f("=",a),([p,c])=>s(ne(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[ox(t),n]),uO=e=>s(s(Se(e),([t,n])=>s(f("extends",n),([r,o])=>s(ne(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[sx(t),n]),pO=e=>s(s(Se(e),([t,n])=>s(f("=",n),([r,o])=>s(ne(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[ix(t),n]),cO=e=>s(Se(e),([t,n])=>[ax(t),n]),Sy=e=>s(s(mO(e),([t,n])=>[t,n],()=>s(uO(e),([t,n])=>[t,n],()=>s(pO(e),([t,n])=>[t,n],()=>s(cO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Py=(e,t=[])=>s(s(f(",",e),([n,r])=>s(Sy(r),([o,i])=>[[n,o],i])),([n,r])=>Py(r,[...t,n]),()=>[t,e]),lO=e=>s(s(s(Sy(e),([t,n])=>s(Py(n),([r,o])=>s(s(f(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[mx(t),n]),wp=e=>s(s(f("<",e),([t,n])=>s(lO(n),([r,o])=>s(f(">",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[ux(t),n]),Ay=(e,t=[])=>s(s(f(",",e),([n,r])=>s(ne(r),([o,i])=>[[n,o],i])),([n,r])=>Ay(r,[...t,n]),()=>[t,e]),dO=e=>s(s(s(ne(e),([t,n])=>s(Ay(n),([r,o])=>s(s(f(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[px(t),n]),fO=e=>s(s(f("<",e),([t,n])=>s(dO(n),([r,o])=>s(f(">",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[cx(t),n]),gO=e=>s(s(Se(e),([t,n])=>s(fO(n),([r,o])=>[[t,r],o])),([t,n])=>[lx(t),n]),Oy=e=>s(s(s(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[dx(t),n]),Ry=e=>s(f("string",e),([t,n])=>[fx(t),n]),My=e=>s(f("number",e),([t,n])=>[gx(t),n]),xO=e=>s(f("boolean",e),([t,n])=>[xx(t),n]),hO=e=>s(f("undefined",e),([t,n])=>[hx(t),n]),yO=e=>s(f("null",e),([t,n])=>[yx(t),n]),Cy=e=>s(f("integer",e),([t,n])=>[bx(t),n]),bO=e=>s(f("bigint",e),([t,n])=>[Ix(t),n]),IO=e=>s(f("unknown",e),([t,n])=>[$x(t),n]),$O=e=>s(f("any",e),([t,n])=>[wx(t),n]),wO=e=>s(f("object",e),([t,n])=>[kx(t),n]),kO=e=>s(f("never",e),([t,n])=>[Tx(t),n]),Ly=e=>s(f("symbol",e),([t,n])=>[Ex(t),n]),TO=e=>s(f("void",e),([t,n])=>[vx(t),n]),EO=e=>s(f("this",e),([t,n])=>[Sx(t),n]),vO=e=>s(s(f("${",e),([t,n])=>s(ne(n),([r,o])=>s(f("}",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Mx(t),n]),Ip=e=>s(er(["${","`"],e),([t,n])=>[Cx(t),n]),jy=e=>s(s(s(Ip(e),([t,n])=>s(vO(n),([r,o])=>s(jy(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s(s(Ip(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s(s(Ip(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Lx(t),n]),kp=e=>s(s(f("`",e),([t,n])=>s(jy(n),([r,o])=>s(f("`",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[jx(t),n]),SO=e=>s(kp(e),([t,n])=>[Fx(t),n]),PO=e=>s(s(s(f("if",e),([t,n])=>s(ne(n),([r,o])=>s(f("then",o),([i,a])=>s(ne(a),([p,c])=>s(f("else",c),([x,b])=>s(ne(b),([S,O])=>[[t,r,i,p,x,S],O])))))),([t,n])=>[t,n],()=>s(s(f("if",e),([t,n])=>s(ne(n),([r,o])=>s(f("then",o),([i,a])=>s(ne(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Dx(t),n]),AO=e=>s(xp(e),([t,n])=>[Px(t),n]),OO=e=>s(s(f("true",e),([t,n])=>[t,n],()=>s(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[Ax(t),n]),RO=e=>s(ha(e),([t,n])=>[Ox(t),n]),MO=e=>s(ba(["'",'"'],e),([t,n])=>[Rx(t),n]),CO=e=>s(s(s(f("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Nx(t),n]),Fy=(e,t=[])=>s(s(s(f("[",e),([n,r])=>s(ne(r),([o,i])=>s(f("]",i),([a,p])=>[[n,o,a],p]))),([n,r])=>[n,r],()=>s(s(f("[",e),([n,r])=>s(f("]",r),([o,i])=>[[n,o],i])),([n,r])=>[n,r],()=>[])),([n,r])=>Fy(r,[...t,n]),()=>[t,e]),LO=e=>s(Fy(e),([t,n])=>[qx(t),n]),jO=e=>s(s(s(f("extends",e),([t,n])=>s(ne(n),([r,o])=>s(f("?",o),([i,a])=>s(ne(a),([p,c])=>s(f(":",c),([x,b])=>s(ne(b),([S,O])=>[[t,r,i,p,x,S],O])))))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[_x(t),n]),FO=e=>s(s(s(f("(",e),([t,n])=>s(ne(n),([r,o])=>s(f(")",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s(Ry(e),([t,n])=>[t,n],()=>s(My(e),([t,n])=>[t,n],()=>s(xO(e),([t,n])=>[t,n],()=>s(hO(e),([t,n])=>[t,n],()=>s(yO(e),([t,n])=>[t,n],()=>s(Cy(e),([t,n])=>[t,n],()=>s(bO(e),([t,n])=>[t,n],()=>s(IO(e),([t,n])=>[t,n],()=>s($O(e),([t,n])=>[t,n],()=>s(wO(e),([t,n])=>[t,n],()=>s(kO(e),([t,n])=>[t,n],()=>s(Ly(e),([t,n])=>[t,n],()=>s(TO(e),([t,n])=>[t,n],()=>s(EO(e),([t,n])=>[t,n],()=>s(AO(e),([t,n])=>[t,n],()=>s(OO(e),([t,n])=>[t,n],()=>s(RO(e),([t,n])=>[t,n],()=>s(MO(e),([t,n])=>[t,n],()=>s(SO(e),([t,n])=>[t,n],()=>s(PO(e),([t,n])=>[t,n],()=>s(HO(e),([t,n])=>[t,n],()=>s(YO(e),([t,n])=>[t,n],()=>s(nR(e),([t,n])=>[t,n],()=>s(tR(e),([t,n])=>[t,n],()=>s(iR(e),([t,n])=>[t,n],()=>s(gO(e),([t,n])=>[t,n],()=>s(aR(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[Ux(t),n]),DO=e=>s(s(s(f("with",e),([t,n])=>s(Qy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Kx(t),n]),Dy=e=>s(s(CO(e),([t,n])=>s(FO(n),([r,o])=>s(LO(o),([i,a])=>s(jO(a),([p,c])=>s(DO(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[Gx(t),n]),Ny=e=>s(s(s(f("&",e),([t,n])=>s(Dy(n),([r,o])=>s(Ny(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),qy=e=>s(s(Dy(e),([t,n])=>s(Ny(n),([r,o])=>[[t,r],o])),([t,n])=>[Wx(t),n]),_y=e=>s(s(s(f("|",e),([t,n])=>s(qy(n),([r,o])=>s(_y(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Ia=e=>s(s(qy(e),([t,n])=>s(_y(n),([r,o])=>[[t,r],o])),([t,n])=>[zx(t),n]),NO=e=>s(s(f("readonly",e),([t,n])=>s(Ia(n),([r,o])=>[[t,r],o])),([t,n])=>[Bx(t),n]),qO=e=>s(s(f("|",e),([t,n])=>s(Ia(n),([r,o])=>[[t,r],o])),([t,n])=>[Hx(t),n]),_O=e=>s(s(wp(e),([t,n])=>s(f("=",n),([r,o])=>s(ne(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Vx(t),n]),UO=e=>s(s(s(f("infer",e),([t,n])=>s(Se(n),([r,o])=>s(f("extends",o),([i,a])=>s(Ia(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[t,n],()=>s(s(f("infer",e),([t,n])=>s(Se(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[Jx(t),n]),ne=e=>s(s(UO(e),([t,n])=>[t,n],()=>s(qO(e),([t,n])=>[t,n],()=>s(NO(e),([t,n])=>[t,n],()=>s(Ia(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),KO=e=>s(ha(e),([t,n])=>[Yx(t),n]),GO=e=>s(Se(e),([t,n])=>[t,n]),WO=e=>s(ba(["'",'"'],e),([t,n])=>[t,n]),zO=e=>s(s(f("[",e),([t,n])=>s(Se(n),([r,o])=>s(f(":",o),([i,a])=>s(s(Cy(a),([p,c])=>[p,c],()=>s(My(a),([p,c])=>[p,c],()=>s(Ry(a),([p,c])=>[p,c],()=>s(Ly(a),([p,c])=>[p,c],()=>[])))),([p,c])=>s(f("]",c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[Xx(t),n]),Uy=e=>s(s(KO(e),([t,n])=>[t,n],()=>s(GO(e),([t,n])=>[t,n],()=>s(WO(e),([t,n])=>[t,n],()=>s(zO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Ky=e=>s(s(s(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Zx(t),n]),Gy=e=>s(s(s(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Qx(t),n]),Wy=e=>s(s(Ky(e),([t,n])=>s(Uy(n),([r,o])=>s(Gy(o),([i,a])=>s(f(":",a),([p,c])=>s(ne(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[eh(t),n]),$a=e=>s(s(s(f(",",e),([t,n])=>s(f(`
11
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f(";",e),([t,n])=>s(f(`
12
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s(s(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s(s(f(`
13
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),zy=(e,t=[])=>s(s($a(e),([n,r])=>s(Wy(r),([o,i])=>[[n,o],i])),([n,r])=>zy(r,[...t,n]),()=>[t,e]),BO=e=>s(s(s(Wy(e),([t,n])=>s(zy(n),([r,o])=>s(s($a(o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[th(t),n]),Tp=e=>s(s(f("{",e),([t,n])=>s(BO(n),([r,o])=>s(f("}",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[rh(t),n]),HO=e=>s(Tp(e),([t,n])=>[oh(t),n]),VO=e=>s(s(s(Se(e),([t,n])=>s(f("?",n),([r,o])=>s(f(":",o),([i,a])=>s(f("readonly",a),([p,c])=>s(ne(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[t,n],()=>s(s(Se(e),([t,n])=>s(f(":",n),([r,o])=>s(f("readonly",o),([i,a])=>s(ne(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[t,n],()=>s(s(Se(e),([t,n])=>s(f("?",n),([r,o])=>s(f(":",o),([i,a])=>s(ne(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[t,n],()=>s(s(Se(e),([t,n])=>s(f(":",n),([r,o])=>s(ne(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[sh(t),n]),Ey=e=>s(s(VO(e),([t,n])=>[t,n],()=>s(s(Ky(e),([t,n])=>s(ne(n),([r,o])=>s(Gy(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[ih(t),n]),By=e=>s(s(s(f("...",e),([t,n])=>s(Ey(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(Ey(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[ah(t),n]),Hy=(e,t=[])=>s(s(f(",",e),([n,r])=>s(By(r),([o,i])=>[[n,o],i])),([n,r])=>Hy(r,[...t,n]),()=>[t,e]),JO=e=>s(s(s(By(e),([t,n])=>s(Hy(n),([r,o])=>s(s(f(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[mh(t),n]),YO=e=>s(s(f("[",e),([t,n])=>s(JO(n),([r,o])=>s(f("]",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[uh(t),n]),XO=e=>s(s(Se(e),([t,n])=>s(f("?",n),([r,o])=>s(f(":",o),([i,a])=>s(f("readonly",a),([p,c])=>s(ne(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[ph(t),n]),ZO=e=>s(s(Se(e),([t,n])=>s(f(":",n),([r,o])=>s(f("readonly",o),([i,a])=>s(ne(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[ch(t),n]),QO=e=>s(s(Se(e),([t,n])=>s(f("?",n),([r,o])=>s(f(":",o),([i,a])=>s(ne(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[lh(t),n]),eR=e=>s(s(Se(e),([t,n])=>s(f(":",n),([r,o])=>s(ne(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[dh(t),n]),vy=e=>s(s(XO(e),([t,n])=>[t,n],()=>s(ZO(e),([t,n])=>[t,n],()=>s(QO(e),([t,n])=>[t,n],()=>s(eR(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Vy=e=>s(s(s(f("...",e),([t,n])=>s(vy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(vy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[fh(t),n]),Jy=(e,t=[])=>s(s(f(",",e),([n,r])=>s(Vy(r),([o,i])=>[[n,o],i])),([n,r])=>Jy(r,[...t,n]),()=>[t,e]),Yy=e=>s(s(s(Vy(e),([t,n])=>s(Jy(n),([r,o])=>s(s(f(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[gh(t),n]),tR=e=>s(s(f("(",e),([t,n])=>s(Yy(n),([r,o])=>s(f(")",o),([i,a])=>s(f("=>",a),([p,c])=>s(ne(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[xh(t),n]),nR=e=>s(s(f("new",e),([t,n])=>s(f("(",n),([r,o])=>s(Yy(o),([i,a])=>s(f(")",a),([p,c])=>s(f("=>",c),([x,b])=>s(ne(b),([S,O])=>[[t,r,i,p,x,S],O])))))),([t,n])=>[hh(t),n]),rR=e=>s(s(s(f("+",e),([t,n])=>s(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f("-",e),([t,n])=>s(f("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[yh(t),n]),oR=e=>s(s(s(f("+",e),([t,n])=>s(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f("-",e),([t,n])=>s(f("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[bh(t),n]),sR=e=>s(s(s(f("as",e),([t,n])=>s(ne(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ih(t),n]),iR=e=>s(s(f("{",e),([t,n])=>s(rR(n),([r,o])=>s(f("[",o),([i,a])=>s(Se(a),([p,c])=>s(f("in",c),([x,b])=>s(ne(b),([S,O])=>s(sR(O),([j,F])=>s(f("]",F),([q,re])=>s(oR(re),([ee,Pe])=>s(f(":",Pe),([le,et])=>s(ne(et),([At,xe])=>s(Oy(xe),([Z,Ot])=>s(f("}",Ot),([T,Yt])=>[[t,r,i,p,x,S,j,q,ee,le,At,Z,T],Yt]))))))))))))),([t,n])=>[$h(t),n]),aR=e=>s(Se(e),([t,n])=>[wh(t),n]),mR=e=>s(xp(e),([t,n])=>[kh(t),n]),uR=e=>s(ha(e),([t,n])=>[Th(t),n]),pR=e=>s(s(f("true",e),([t,n])=>[t,n],()=>s(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[Eh(t),n]),cR=e=>s(ba(['"',"'"],e),([t,n])=>[t,n]),lR=e=>s(f("null",e),([t,n])=>[vh(t),n]),dR=e=>s(f("undefined",e),([t,n])=>[void 0,n]),Xy=e=>s(s(Uy(e),([t,n])=>s(f(":",n),([r,o])=>s(Ep(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Sh(t),n]),Zy=(e,t=[])=>s(s($a(e),([n,r])=>s(Xy(r),([o,i])=>[[n,o],i])),([n,r])=>Zy(r,[...t,n]),()=>[t,e]),fR=e=>s(s(s(Xy(e),([t,n])=>s(Zy(n),([r,o])=>s(s($a(o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ph(t),n]),Qy=e=>s(s(f("{",e),([t,n])=>s(fR(n),([r,o])=>s(f("}",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Ah(t),n]),eb=(e,t=[])=>s(s(f(",",e),([n,r])=>s(Ep(r),([o,i])=>[[n,o],i])),([n,r])=>eb(r,[...t,n]),()=>[t,e]),gR=e=>s(s(s(Ep(e),([t,n])=>s(eb(n),([r,o])=>s(s(f(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Oh(t),n]),xR=e=>s(s(f("[",e),([t,n])=>s(gR(n),([r,o])=>s(f("]",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Rh(t),n]),Ep=e=>s(s(mR(e),([t,n])=>[t,n],()=>s(uR(e),([t,n])=>[t,n],()=>s(pR(e),([t,n])=>[t,n],()=>s(cR(e),([t,n])=>[t,n],()=>s(lR(e),([t,n])=>[t,n],()=>s(dR(e),([t,n])=>[t,n],()=>s(Qy(e),([t,n])=>[t,n],()=>s(xR(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),hR=e=>s(f("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Mh(t),n]),yR=e=>s(f(".*",e),([t,n])=>[Ch(t),n]),bR=e=>s(f("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Lh(t),n]),IR=e=>s(f("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[jh(t),n]),$R=e=>s(f("(?!)",e),([t,n])=>[Fh(t),n]),wR=e=>s(wy(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Dh(t),n]),kR=e=>s(s(hR(e),([t,n])=>[t,n],()=>s(yR(e),([t,n])=>[t,n],()=>s(bR(e),([t,n])=>[t,n],()=>s(IR(e),([t,n])=>[t,n],()=>s($R(e),([t,n])=>[t,n],()=>s(TR(e),([t,n])=>[t,n],()=>s(wR(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),TR=e=>s(s(f("(",e),([t,n])=>s(vp(n),([r,o])=>s(f(")",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Nh(t),n]),tb=e=>s(s(s($p(e),([t,n])=>s(f("|",n),([r,o])=>s(tb(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s(s($p(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[qh(t),n]),$p=e=>s(s(kR(e),([t,n])=>s(vp(n),([r,o])=>[[t,r],o])),([t,n])=>[_h(t),n]),vp=e=>s(s(tb(e),([t,n])=>[t,n],()=>s($p(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),ug=e=>s(s(f("^",e),([t,n])=>s(vp(n),([r,o])=>s(f("$",o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Uh(t),n]),nb=(e,t=[])=>s(s(f(",",e),([n,r])=>s(ne(r),([o,i])=>[[n,o],i])),([n,r])=>nb(r,[...t,n]),()=>[t,e]),ER=e=>s(s(s(ne(e),([t,n])=>s(nb(n),([r,o])=>s(s(f(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Kh(t),n]),rb=e=>s(s(s(f("extends",e),([t,n])=>s(ER(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Gh(t),n]),vR=e=>s(s(f("interface",e),([t,n])=>s(Se(n),([r,o])=>s(wp(o),([i,a])=>s(rb(a),([p,c])=>s(Tp(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[Wh(t),n]),SR=e=>s(s(f("interface",e),([t,n])=>s(Se(n),([r,o])=>s(rb(o),([i,a])=>s(Tp(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[zh(t),n]),PR=e=>s(s(f("type",e),([t,n])=>s(Se(n),([r,o])=>s(wp(o),([i,a])=>s(f("=",a),([p,c])=>s(ne(c),([x,b])=>[[t,r,i,p,x],b]))))),([t,n])=>[Bh(t),n]),AR=e=>s(s(f("type",e),([t,n])=>s(Se(n),([r,o])=>s(f("=",o),([i,a])=>s(ne(a),([p,c])=>[[t,r,i,p],c])))),([t,n])=>[Hh(t),n]),OR=e=>s(s(s(f("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Vh(t),n]),ob=e=>s(s(s(f(";",e),([t,n])=>s(f(`
14
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>s(s(f(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>s(s(f(`
15
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),sb=(e,t=[])=>s(s(ob(e),([n,r])=>s(Sp(r),([o,i])=>[[n,o],i])),([n,r])=>sb(r,[...t,n]),()=>[t,e]),RR=e=>s(s(s(Sp(e),([t,n])=>s(sb(n),([r,o])=>s(s(ob(o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,r,i],a]))),([t,n])=>[t,n],()=>s([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Jh(t),n]),Sp=e=>s(s(OR(e),([t,n])=>s(s(vR(n),([r,o])=>[r,o],()=>s(SR(n),([r,o])=>[r,o],()=>s(PR(n),([r,o])=>[r,o],()=>s(AR(n),([r,o])=>[r,o],()=>[])))),([r,o])=>s(Oy(o),([i,a])=>[[t,r,i],a]))),([t,n])=>[Yh(t),n]),MR=e=>s(s(Sp(e),([t,n])=>s(RR(n),([r,o])=>[[t,r],o])),([t,n])=>[Xh(t),n]),ib=e=>s(s(MR(e),([t,n])=>[t,n],()=>s(_O(e),([t,n])=>[t,n],()=>s(ne(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function ab(e){let t=kp(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:Fe()}var Pp=m(()=>{xn();v();vi()});function LR(e){return e.join("|")}function jR(e){return e.slice(1,e.length-1)}function FR(e,t,n){return tr(t,`${n}${e}`)}function DR(e,t){return tr(e,`${t}${rg}`)}function NR(e,t){return tr(e,`${t}${wi}`)}function qR(e,t){return tr(e,`${t}${Ti}`)}function _R(e,t){return ms(H([X("false"),X("true")]),e,t)}function UR(e,t){return tr(e,`${t}${Ei}`)}function KR(e,t,n){return tr(t,`${n}${jR(e)}`)}function GR(e,t,n){let r=us(e,{});return ms(r,t,n)}function WR(e,t,n){let r=dt(e);return ms(r,t,n)}function mb(e,t,n,r=[]){return u.ShiftLeft(e,(o,i)=>mb(i,t,n,[...r,ms(o,[],"")]),()=>tr(t,`${n}(${LR(r)})`))}function ms(e,t,n){return Xe(e)?WR(e.enum,t,n):pt(e)?NR(t,n):me(e)?FR(e.const,t,n):yn(e)?DR(t,n):Gt(e)?_R(t,n):Me(e)?qR(t,n):lt(e)?UR(t,n):ve(e)?KR(e.pattern,t,n):pb(e)?GR(e.parameters[0],t,n):M(e)?mb(e.anyOf,t,n):zd}function tr(e,t){return u.ShiftLeft(e,(n,r)=>ms(n,r,t),()=>t)}function zR(e){return`^${tr(e,"")}$`}function ub(e){let t=zR(e);return Ai(t)}var Ap=m(()=>{v();en();Re();V();yt();br();zt();ct();bn();Bn();Ge();Oi();B();wa()});function us(e,t){return G(e)?l.Update(ub(e),{},t):Bi(e,t)}function cb(e,t,n,r){let o=jt(e,t,n);return us(o,r)}var wa=m(()=>{k();yt();Ap();D()});function Bi(e,t={}){return L("TemplateLiteral",[e],t)}function pb(e){return Le(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function lb(e){return us(e,{})}function BR(e){let t=ab(e);return lb(t)}function db(e,t={}){let n=u.IsString(e)?BR(e):lb(e);return l.Update(n,{},t)}function ve(e){return P(e,"TemplateLiteral")}var yt=m(()=>{qo();v();z();se();Pp();wa()});var U={};Ct(U,{ExtendsFalse:()=>K,ExtendsTrue:()=>E,ExtendsUnion:()=>Op,IsExtendsFalse:()=>HR,IsExtendsTrue:()=>gb,IsExtendsTrueLike:()=>ao,IsExtendsUnion:()=>fb,Match:()=>Ie});function Op(e){return l.Create({"~kind":"ExtendsUnion"},{inferred:e})}function fb(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 gb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function K(){return l.Create({"~kind":"ExtendsFalse"},{})}function HR(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function ao(e){return fb(e)||gb(e)}function Ie(e,t,n){return ao(e)?t(e.inferred):n()}var he=m(()=>{v();k()});function VR(e,t,n,r){return Ie(Q(e,n,r),o=>E(l.Assign(l.Assign(e,o),{[t]:n})),()=>K())}function JR(e,t){return E(e)}function YR(e,t,n,r,o){return Ie(Q(e,t,n),i=>Ie(Q(i,t,r),a=>E(a),()=>K()),()=>Ie(Q(e,t,o),i=>E(i),()=>K()))}function XR(e,t,n){let r=dt(n);return Q(e,t,r)}function xb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(Q(e,t,r),i=>xb(i,t,o),()=>K()),()=>E(e))}function ZR(e,t,n){let r=nt(n);return Q(e,t,r)}function hb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(Q(e,t,r),i=>E(i),()=>hb(e,t,o)),()=>K())}function ue(e,t,n){return ke(n)?JR(e,t):Ee(n)?YR(e,t,n.if,n.then,n.else):Xe(n)?XR(e,t,n.enum):Oe(n)?VR(e,n.name,t,n.extends):Y(n)?xb(e,t,n.allOf):ve(n)?ZR(e,t,n.pattern):M(n)?hb(e,t,n.anyOf):Ae(n)?E(e):K()}var ot=m(()=>{v();k();gt();Et();en();Kt();je();yt();V();Je();$t();he();B();B()});function yb(e,t,n){return Oe(n)?ue(e,t,n):ke(n)?E(e):Ae(n)?E(e):Op(e)}var bb=m(()=>{Kt();gt();Je();ot();he()});function QR(e,t){let n=xr(e),r=xr(t);return n&&r||!n&&r?!0:!(n&&!r)}function Ib(e,t,n,r){return $e(r)?QR(t,r)?Q(e,n,r.items):K():ue(e,t,r)}var $b=m(()=>{ut();Ko();ot();$t();he()});function wb(e,t,n){return yn(n)?E(e):ue(e,t,n)}var kb=m(()=>{br();ot();he()});function Tb(e,t,n){return Gt(n)?E(e):ue(e,t,n)}var Eb=m(()=>{Bn();ot();he()});function eM(e,t,n,r,o){let i=Oe(r)?t:r,a=Oe(r)?r:t,p=tt(t),c=tt(r);return!p&&c?K():Ie(Q(e,i,a),x=>ps(x,n,o),()=>K())}function tM(e,t,n,r){return u.ShiftLeft(r,(o,i)=>eM(e,t,n,o,i),()=>tt(t)?E(e):K())}function nM(e,t,n){return u.ShiftLeft(t,(r,o)=>tM(e,r,o,n),()=>E(e))}function ps(e,t,n){return nM(e,t,n)}var Rp=m(()=>{v();Kt();zn();$t();he()});function ka(e,t,n){return $n(n)?E(e):Q(e,t,n)}var Mp=m(()=>{Tr();$t();he()});function vb(e,t,n,r){return ke(r)?E(e):Ae(r)?E(e):qe(r)?Ie(ps(e,t,r.parameters),o=>ka(o,n,r.instanceType),()=>K()):K()}var Sb=m(()=>{gt();qt();Je();he();Rp();Mp()});function Pb(e,t,n,r,o){return Ie(Q(e,t,o),()=>Q(e,n,o),()=>Q(e,r,o))}var Ab=m(()=>{$t();he()});function Ob(e,t,n){let r=dt(t);return Q(e,r,n)}var Rb=m(()=>{$t();B()});function Mb(e,t,n,r){return ke(r)?E(e):Ae(r)?E(e):_e(r)?Ie(ps(e,t,r.parameters),o=>ka(o,n,r.returnType),()=>K()):K()}var Cb=m(()=>{gt();_t();Je();he();Rp();Mp()});function Lb(e,t,n){return pt(n)?E(e):Me(n)?E(e):ue(e,t,n)}var jb=m(()=>{bn();ct();ot();he()});function Fb(e,t,n){let r=we(t);return Q(e,r,n)}var Db=m(()=>{$t();cs()});function Ta(e,t,n){return t===n?E(e):K()}function rM(e,t,n){return me(n)?Ta(e,t,n.const):yn(n)?E(e):ue(e,X(t),n)}function oM(e,t,n){return me(n)?Ta(e,t,n.const):Gt(n)?E(e):ue(e,X(t),n)}function sM(e,t,n){return me(n)?Ta(e,t,n.const):Me(n)?E(e):ue(e,X(t),n)}function iM(e,t,n){return me(n)?Ta(e,t,n.const):lt(n)?E(e):ue(e,X(t),n)}function Nb(e,t,n){return u.IsBigInt(t.const)?rM(e,t.const,n):u.IsBoolean(t.const)?oM(e,t.const,n):u.IsNumber(t.const)?sM(e,t.const,n):u.IsString(t.const)?iM(e,t.const,n):Fe()}var qb=m(()=>{v();Nu();Re();br();Bn();ct();zt();ot();he()});function _b(e,t,n){return Oe(n)?ue(e,t,n):E(e)}var Ub=m(()=>{Kt();ot();he()});function Kb(e,t,n){return Br(n)?E(e):ue(e,t,n)}var Gb=m(()=>{Hr();ot();he()});function Wb(e,t,n){return Me(n)?E(e):ue(e,t,n)}var zb=m(()=>{ct();ot();he()});function aM(e,t,n){return tt(t)?tt(n)?E(e):K():E(e)}function mM(e,t,n){return Oe(n)&&Qt(n.extends)?K():Ie(Q(e,t,n),r=>aM(r,t,n),()=>K())}function uM(e,t){return e.reduce((n,r)=>r in t?ao(t[r])?{...n,...t[r].inferred}:Fe():Fe(),{})}function pM(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?mM({},t[a],n[a]):tt(n[a])?Oe(n[a])?E(l.Assign(e,{[n[a].name]:n[a].extends})):E(e):K();let o=u.Values(r).every(a=>ao(a)),i=o?uM(u.Keys(r),r):{};return o?E(i):K()}function cM(e,t,n){let r=pM(e,t,n);return ao(r)?E(l.Assign(e,r.inferred)):K()}function lM(e,t,n){return cM(e,t,n)}function dM(e,t){return u.Keys(t).reduce((n,r)=>({...n,[r]:u.HasPropertyKey(e,r)?M(n[r])?H([...n[r].anyOf,t[r]]):H([e[r],t[r]]):t[r]}),e)}function Bb(e,t,n,r){return u.ShiftLeft(t,(o,i)=>Ie(Q({},e[o],n),a=>Bb(e,i,n,dM(r,a)),()=>K()),()=>E(r))}function fM(e,t,n,r){let o=u.Keys(t);return Bb(t,o,r,e)}function Hb(e,t,n){return Qe(n)?fM(e,t,Ht(n),ft(n)):ae(n)?lM(e,t,n.properties):ue(e,_(t),n)}var Vb=m(()=>{xn();k();v();zn();Kt();Ge();ce();ze();V();$t();ot();he()});function gM(e,t){return u.IsEqual(u.Keys(t).length,0)?E(e):K()}function xM(e,t,n,r,o){return Q(e,n,o)}function Jb(e,t,n,r){return Qe(r)?xM(e,_i(t),n,_i(Ht(r)),ft(r)):ae(r)?gM(e,r.properties):ke(r)?E(e):Ae(r)?E(e):K()}var Yb=m(()=>{v();gt();Je();ce();ze();$t();he()});function Xb(e,t,n){return lt(n)?E(e):ue(e,t,n)}var Zb=m(()=>{zt();ot();he()});function Qb(e,t,n){return Hn(n)?E(e):ue(e,t,n)}var eI=m(()=>{$r();ot();he()});function tI(e,t,n){let r=nt(t);return Q(e,r,n)}var nI=m(()=>{$t();B()});function Cp(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 Lp(e){return Zn(e)?Oe(e.items)?$e(e.items.extends)?Cp(e.items.name,e.items.extends.items):Ae(e.items.extends)?Cp(e.items.name,e.items.extends):void 0:Fe():void 0}function Ea(e){return Oe(e)?Cp(e.name,e.extends):void 0}function jp(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Ie(Q({},r,t),()=>jp(o,t,[...n,r]),()=>{}),()=>n)}function rI(e,t,n,r){let o=jp(n,r);return u.IsArray(o)?E(l.Assign(e,{[t]:Ce(o)})):K()}function va(e,t,n,r){let o=jp(n,r);return u.IsArray(o)?E(l.Assign(e,{[t]:H(o)})):K()}var Fp=m(()=>{xn();k();v();ut();Je();De();$t();V();Kt();Zr();he()});function hM(e){return[...e].reverse()}function Dp(e,t){return t?hM(e):e}function yM(e){let t=e.length>0?e[0]:void 0,n=Le(t)?Lp(t):void 0;return Le(n)}function bM(e,t,n,r,o,i){return Ie(Q(e,n,o),a=>oI(a,t,r,i),()=>K())}function IM(e,t,n,r,o){let i=Lp(r);return ls(i)?rI(e,i.name,Dp(n,t),i.type):u.ShiftLeft(n,(a,p)=>bM(e,t,a,p,r,o),()=>K())}function $M(e,t,n,r){return u.ShiftLeft(r,(o,i)=>IM(e,t,n,o,i),()=>u.IsEqual(n.length,0)?E(e):K())}function oI(e,t,n,r){return $M(e,t,n,r)}function wM(e,t,n){let r=nr(e,ye([],[]),n),o=yM(r);return oI(e,o,Dp(t,o),Dp(r,o))}function sI(e,t,n){let r=Ea(n);return ls(r)?va(e,r.name,t,r.type):u.ShiftLeft(t,(o,i)=>Ie(Q(e,o,n),a=>sI(a,i,n),()=>K()),()=>E(e))}function iI(e,t,n){let r=nr(e,ye([],[]),t);return ge(n)?wM(e,r,n.items):$e(n)?sI(e,r,n.items):ue(e,Ce(r),n)}var aI=m(()=>{v();z();ut();De();$t();ot();he();D();D();Fp()});function mI(e,t,n){return $n(n)?E(e):eo(n)?E(e):ue(e,t,n)}var uI=m(()=>{to();Tr();ot();he()});function pI(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(Q(e,t,r),i=>E(i),()=>pI(e,t,o)),()=>K())}function Np(e,t,n){return u.ShiftLeft(t,(r,o)=>Ie(pI(e,r,n),i=>Np(i,o,n),()=>K()),()=>E(e))}function cI(e,t,n){let r=Ea(n);return ls(r)?va(e,r.name,t,r.type):M(n)?Np(e,t,n.anyOf):Np(e,t,[n])}var lI=m(()=>{v();V();$t();he();Fp()});function dI(e,t,n){return Oe(n)?ue(e,t,n):ke(n)?E(e):Ae(n)?E(e):K()}var fI=m(()=>{gt();Je();Kt();ot();he()});function gI(e,t,n){return $n(n)?E(e):ue(e,t,n)}var xI=m(()=>{Tr();ot();he()});function Q(e,t,n){return ke(t)?yb(e,t,n):$e(t)?Ib(e,t,t.items,n):yn(t)?wb(e,t,n):Gt(t)?Tb(e,t,n):qe(t)?vb(e,t.parameters,t.instanceType,n):Ee(t)?Pb(e,t.if,t.then,t.else,n):Xe(t)?Ob(e,t.enum,n):_e(t)?Mb(e,t.parameters,t.returnType,n):pt(t)?Lb(e,t,n):Y(t)?Fb(e,t.allOf,n):me(t)?Nb(e,t,n):Qt(t)?_b(e,t,n):Br(t)?Kb(e,t,n):Me(t)?Wb(e,t,n):ae(t)?Hb(e,t.properties,n):Qe(t)?Jb(e,Ht(t),ft(t),n):lt(t)?Xb(e,t,n):Hn(t)?Qb(e,t,n):ve(t)?tI(e,t.pattern,n):ge(t)?iI(e,t.items,n):eo(t)?mI(e,t,n):M(t)?cI(e,t.anyOf,n):Ae(t)?dI(e,t,n):$n(t)?gI(e,t,n):K()}var $t=m(()=>{bb();$b();kb();Eb();Sb();Ab();Rb();Cb();jb();Db();qb();Ub();Gb();zb();Vb();Yb();Zb();eI();nI();aI();uI();lI();fI();xI();gt();ut();br();Bn();qt();Et();en();_t();bn();je();Re();Ge();Hr();ct();ce();ze();zt();$r();yt();De();to();Je();V();Tr();he()});function kM(e,t){return we([...e,_(t)])}function qp(e,t,n){return G(e)?l.Update(kM(e,t),{},n):rs(e,t,n)}function hI(e,t,n,r,o){let i=jt(e,t,n),a=ds(e,t,r);return qp(i,a,o)}var Sa=m(()=>{k();ce();B();ro();D();D();D()});function rs(e,t,n={}){return L("Interface",[e,t],n)}function mo(e){return Le(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function yI(e,t,n={}){return qp(e,t,n)}var fs=m(()=>{v();z();se();Sa()});function TM(e,t,n){return e.includes(n)?!0:gs([...e,n],t,t[n])}function bI(e,t,n){let r=gi(n);return vr(e,t,r)}function vr(e,t,n){return u.ShiftLeft(n,(r,o)=>gs(e,t,r)?!0:vr(e,t,o),()=>!1)}function gs(e,t,n){return Ue(n)?TM(e,t,n.$ref):$e(n)?gs(e,t,n.items):qe(n)?vr(e,t,[...n.parameters,n.instanceType]):_e(n)?vr(e,t,[...n.parameters,n.returnType]):mo(n)?bI(e,t,n.parameters[1]):Y(n)?vr(e,t,n.allOf):ae(n)?bI(e,t,n.properties):M(n)?vr(e,t,n.anyOf):ge(n)?vr(e,t,n.items):Qe(n)?gs(e,t,ft(n)):!1}function II(e,t,n){return gs(e,t,n)}var _p=m(()=>{v();ut();qt();_t();je();ce();fr();ze();De();V();Ut();fs()});function EM(e,t){return t.reduce((n,r)=>II([r],e,e[r])?[...n,r]:n,[])}function $I(e){let t=fi(e);return EM(e,t)}var Up=m(()=>{fr();_p()});function vM(e,t,n){return n.includes(t)?n:t in e?xs(e,e[t],[...n,t]):Fe()}function wI(e,t,n){let r=gi(t);return uo(e,r,n)}function uo(e,t,n){return t.reduce((r,o)=>xs(e,o,r),n)}function xs(e,t,n){return Ue(t)?vM(e,t.$ref,n):$e(t)?xs(e,t.items,n):qe(t)?uo(e,[...t.parameters,t.instanceType],n):_e(t)?uo(e,[...t.parameters,t.returnType],n):mo(t)?wI(e,t.parameters[1],n):Y(t)?uo(e,t.allOf,n):ae(t)?wI(e,t.properties,n):M(t)?uo(e,t.anyOf,n):ge(t)?uo(e,t.items,n):Qe(t)?xs(e,ft(t),n):n}function kI(e,t,n){return xs(e,n,[t])}var Kp=m(()=>{xn();ut();qt();_t();je();ce();fr();ze();De();V();Ut();fs()});function SM(e){return Kr()}function PM(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Sr(e[n])}),{})}function hs(e){return e.reduce((t,n)=>[...t,Sr(n)],[])}function Sr(e){return Ue(e)?SM(e.$ref):$e(e)?Lt(Sr(e.items),di(e)):qe(e)?cn(hs(e.parameters),Sr(e.instanceType)):_e(e)?ln(hs(e.parameters),Sr(e.returnType)):Y(e)?ht(hs(e.allOf)):ae(e)?_(PM(e.properties)):Qe(e)?qi(Xr(e),Sr(ft(e))):M(e)?H(hs(e.anyOf)):ge(e)?Ce(hs(e.items)):e}function AM(e,t){return t in e?Sr(e[t]):We()}function TI(e){return AM(e.$defs,e.$ref)}var EI=m(()=>{v();gt();ut();qt();_t();je();ce();ze();Ut();De();V();Je()});function OM(e,t,n){let r=jt(e,ye([],[]),t),o=ds({},ye([],[]),n);return we([...r,_(o)])}function RM(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let i=e[o],a=mo(i)?OM(e,i.parameters[0],i.parameters[1]):i;return{...r,[o]:a}},{})}function vI(e,t,n){let r=kI(e,t,n),o=RM(e,r);return fn(o,t)}var Gp=m(()=>{v();xt();ce();Kp();ro();D();D();D();B()});function SI(e,t){return t in e?Ue(e[t])?SI(e,e[t].$ref):e[t]:de()}function Tn(e,t){return SI(e,t)}var Pr=m(()=>{Ge();Ut()});var Wp=m(()=>{Up();_p();Kp();EI();Gp();Pr()});function PI(e){return Ye(e)?TI(e):xi(e)?We():e}function Ze(e,t,n){let r=PI(t),o=PI(n);return Q(e,r,o)}var AI=m(()=>{xt();Je();hi();$t();Wp()});var In=m(()=>{AI();he()});function Zo(e,t){let n=[Ze({},e,t),Ze({},t,e)];return U.IsExtendsTrueLike(n[0])&&U.IsExtendsTrueLike(n[1])?Yo:U.IsExtendsTrueLike(n[0])&&U.IsExtendsFalse(n[1])?Xo:U.IsExtendsFalse(n[0])&&U.IsExtendsTrueLike(n[1])?Li:Pa}var Yo,Pa,Xo,Li,Qo=m(()=>{In();Yo=0,Pa=1,Xo=2,Li=3});function zp(e,t,n=[],r=t){return u.ShiftLeft(t,(o,i)=>{let a=Zo(e,o);return u.IsEqual(a,Xo)||u.IsEqual(a,Yo)?r:u.IsEqual(a,Pa)?zp(e,i,[...n,o],r):zp(e,i,n,r)},()=>[...n,e])}function MM(e,t,n){let r=Bt(e);return ke(r)?[r]:Ae(r)?[r]:Qt(r)?Aa(t,n):ae(r)?Aa(t,[...n,r]):Aa(t,zp(r,n))}function Aa(e,t=[]){return u.ShiftLeft(e,(n,r)=>MM(n,r,t),()=>t)}function ip(e){let t=Aa(e);return Yr(t)}var ap=m(()=>{v();gt();Ge();ce();Je();Qo();Fi();B()});function Bp(e,t){return l.Update(Bt(e),{},t)}function OI(e,t,n,r){let o=$(e,t,n);return Bp(o,r)}var Oa=m(()=>{k();D();B()});var cs=m(()=>{ap();Qo();np();op();B();Fi();Oa();rp()});function ys(e,t=[]){return Gn(e)&&u.IsEqual(e.action,"Conditional")?Ue(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)):Gn(e)&&u.IsEqual(e.action,"Mapped")&&Gn(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 CM(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function CI(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(i,a)=>CI(o,a,[...n,[i,r]]),()=>n),()=>n)}function LM(e){return ve(e)?nt(e.pattern):Xe(e)?dt(e.enum):e}function jM(e){let t=LM(e);return M(t)?[...t.anyOf]:[t]}function FM(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function RI(e,t){return t.reduce((n,r)=>[...n,...FM(e,r)],[])}function MI(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?RI(t,jM(n[1])):RI(t,[n[1]]),[[]])}function LI(e,t,n){let r=ys(n),o=CM(e,r),i=CI(t,o);return Gn(n)&&u.IsEqual(n.action,"Conditional")||Gn(n)&&u.IsEqual(n.action,"Mapped")?MI(i):[t]}var jI=m(()=>{v();V();se();en();yt();Ut();B();B()});function DM(){return["(not-resolvable)",de()]}function NM(){return["(not-generic)",de()]}function qM(e,t,n){return[e,Wn(t,n)]}function _M(e,t,n){return t in e?FI(e,t,e[t],n):DM()}function FI(e,t,n,r){return Ur(n)?qM(t,n.parameters,n.expression):Ue(n)?_M(e,n.$ref,r):NM()}function DI(e,t,n){return FI(e,"(anonymous)",t,n)}var NI=m(()=>{Fo();Ut();Ge()});function UM(e,t,n){if(Oe(t)||po(t)||U.IsExtendsTrueLike(Ze({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function qI(e,t,n,r,o){let i=$(e,t,o);return UM(n,i,r),l.Assign(e,{[n]:i})}function KM(e,t,n,r,o){let i=$(e,t,n.extends),a=$(e,t,n.equals);return u.ShiftLeft(o,(p,c)=>Hp(qI(e,t,n.name,i,p),t,r,c),()=>Hp(qI(e,t,n.name,i,a),t,r,[]))}function Hp(e,t,n,r){return u.ShiftLeft(n,(o,i)=>KM(e,t,o,i,r),()=>e)}function _I(e,t,n,r){return Hp(e,t,n,r)}var UI=m(()=>{v();k();D();In();Kt();no()});function GM(){if(!u.IsLessThan(Jp,Zt.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function WM(){GM(),Jp++,Vp++}function zM(){Vp--,u.IsEqual(Vp,0)&&(Jp=0)}function BM(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function HM(e,t){return u.IsEqual(BM(e),t)}function VM(e,t,n,r,o,i){WM();try{let a=_I(e,t,r,i),p=$(a,ye([...t.callstack,n.$ref],t.visited),o);return $(a,ye([],[]),p)}finally{zM()}}function JM(e,t,n,r,o,i){return i.reduce((a,p)=>{let c=VM(e,t,n,r,o,p);return[...a,c]},[])}function YM(e,t,n,r,o,i){let a=LI(r,i,o),p=JM(e,t,n,r,o,a);return u.IsEqual(p.length,1)?p[0]:It(p)}function Ra(e,t,n,r){let o=jt(e,t,r),i=DI(e,n,r),a=i[0],p=i[1];return Ur(p)?HM(t,a)?os(Ln(a),o):YM(e,t,Ln(a),p.parameters,p.expression,o):os(n,o)}var Vp,Jp,Yp=m(()=>{cr();v();no();Ut();Fo();cs();D();D();D();jI();NI();UI();Vp=0,Jp=0});function os(e,t){return l.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function KI(e,t){return Ra({},ye([],[]),e,t)}function po(e){return P(e,"Call")}var no=m(()=>{k();z();Yp();D()});function XM(e){return l.Discard(e,["~immutable"])}function GI(e,t){return l.Update(XM(e),{},t)}function WI(e,t,n,r){let o=$(e,t,n);return GI(o,r)}var Xp=m(()=>{k();D()});function zI(e,t){return e(t)}var BI=m(()=>{});function HI(e,t){return u.IsString(t)?X(zI(e,t)):X(t)}var VI=m(()=>{v();Re();BI()});function JI(e,t){let n=nt(t);return Dn(e,n)}var YI=m(()=>{Ma();cs()});function XI(e,t){let n=t.map(r=>Dn(e,r));return H(n)}var ZI=m(()=>{V();Ma()});function Dn(e,t){return me(t)?HI(e,t.const):ve(t)?JI(e,t.pattern):M(t)?XI(e,t.anyOf):t}var Ma=m(()=>{Re();yt();V();VI();YI();ZI()});function Hi(e,t={}){return L("Capitalize",[e],t)}function QI(e,t={}){return Zp(e,t)}var Ca=m(()=>{se();En()});function Vi(e,t={}){return L("Lowercase",[e],t)}function e$(e,t={}){return Qp(e,t)}var La=m(()=>{se();En()});function Ji(e,t={}){return L("Uncapitalize",[e],t)}function t$(e,t={}){return ec(e,t)}var ja=m(()=>{se();En()});function Yi(e,t={}){return L("Uppercase",[e],t)}function n$(e,t={}){return tc(e,t)}var Fa=m(()=>{se();En()});function Zp(e,t){return G([e])?l.Update(Dn(ZM,e),{},t):Hi(e,t)}function Qp(e,t){return G([e])?l.Update(Dn(QM,e),{},t):Vi(e,t)}function ec(e,t){return G([e])?l.Update(Dn(eC,e),{},t):Ji(e,t)}function tc(e,t){return G([e])?l.Update(Dn(tC,e),{},t):Yi(e,t)}function r$(e,t,n,r){let o=$(e,t,n);return Zp(o,r)}function o$(e,t,n,r){let o=$(e,t,n);return Qp(o,r)}function s$(e,t,n,r){let o=$(e,t,n);return ec(o,r)}function i$(e,t,n,r){let o=$(e,t,n);return tc(o,r)}var ZM,QM,eC,tC,En=m(()=>{k();Ma();D();Ca();La();ja();Fa();ZM=e=>e[0].toUpperCase()+e.slice(1),QM=e=>e.toLowerCase(),eC=e=>e[0].toLowerCase()+e.slice(1),tC=e=>e.toUpperCase()});function Xi(e,t,n,r,o={}){return L("Conditional",[e,t,n,r],o)}function a$(e,t,n,r,o={}){return nc({},ye([],[]),e,t,n,r,o)}var Da=m(()=>{se();rc();D()});function nC(e,t,n,r,o,i){let a=Ze(e,n,r);return U.IsExtendsUnion(a)?H([$(a.inferred,t,o),$(e,t,i)]):U.IsExtendsTrue(a)?$(a.inferred,t,o):$(e,t,i)}function nc(e,t,n,r,o,i,a){return G([n,r])?l.Update(nC(e,t,n,r,o,i),{},a):Xi(n,r,o,i,a)}function m$(e,t,n,r,o,i,a){let p=$(e,t,n),c=$(e,t,r);return nc(e,t,p,c,o,i,a)}var rc=m(()=>{k();V();In();D();Da()});var oc=m(()=>{rc()});function Zi(e,t={}){return L("ConstructorParameters",[e],t)}function u$(e,t={}){return sc(e,t)}var Na=m(()=>{se();qa()});function rC(e){let t=qe(e)?e.parameters:[],n=nr({},ye([],[]),t);return Ce(n)}function sc(e,t){return G([e])?l.Update(rC(e),{},t):Zi(e,t)}function p$(e,t,n,r){let o=$(e,t,n);return sc(o,r)}var qa=m(()=>{k();qt();De();Na();D();D();D()});function Qi(e,t,n={}){return L("Exclude",[e,t],n)}function c$(e,t,n={}){return bs(e,t,n)}var _a=m(()=>{se();Is()});function bs(e,t,n){return G([e,t])?l.Update(ji(e,t),{},n):Qi(e,t,n)}function l$(e,t,n,r,o){let i=$(e,t,n),a=$(e,t,r);return bs(i,a,o)}var Is=m(()=>{k();D();_a();sp()});function ea(e,t,n={}){return L("Extract",[e,t],n)}function d$(e,t,n={}){return ic(e,t,n)}var Ua=m(()=>{se();Ka()});function oC(e,t){let n=Ze({},e,t);return U.IsExtendsTrueLike(n)?[e]:[]}function f$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>f$(o,t,[...n,...oC(r,t)]),()=>n)}function g$(e,t){let n=Bt(e),r=M(n)?n.anyOf:[n],o=f$(r,t);return It(o)}var x$=m(()=>{v();V();In();B();B()});function ic(e,t,n){return G([e,t])?l.Update(g$(e,t),{},n):ea(e,t,n)}function h$(e,t,n,r,o){let i=$(e,t,n),a=$(e,t,r);return ic(i,a,o)}var Ka=m(()=>{k();D();Ua();x$()});function sC(e){return e.reduce((t,n)=>ki(n)?[...t,X(n)]:t,[])}function co(e){let t=sC(e);return H(t)}var $s=m(()=>{Re();V()});function ss(e,t,n={}){return L("Index",[e,t],n)}function y$(e,t,n={}){let r=u.IsArray(t)?co(t):t;return mc(e,r,n)}var ac=m(()=>{v();se();$s();Ga()});function b$(e,t){let n=Tn(e,t);return Ft(n)}var I$=m(()=>{Ar();Pr()});function $$(e,t,n){let r=nn(e,t,n);return Ft(r)}var w$=m(()=>{Ar();B()});function iC(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)),i=n.reduce((b,S)=>({...b,[S]:e[S]}),{}),a=r.reduce((b,S)=>({...b,[S]:t[S]}),{}),p=o.reduce((b,S)=>({...b,[S]:we([e[S],t[S]])}),{}),c=l.Assign(i,a);return l.Assign(c,p)}function k$(e){return e.reduce((t,n)=>iC(t,Ft(n)),{})}var T$=m(()=>{k();v();Ar();B()});var E$=m(()=>{});function v$(e){let t=Sg(Ce(e));return Ft(t)}var S$=m(()=>{De();ep();Ar()});function aC(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,i)=>({...o,[i]:It([e[i],t[i]])}),{})}function P$(e,t){return u.ShiftLeft(e,(n,r)=>P$(r,aC(t,Ft(n))),()=>t)}function A$(e){return u.ShiftLeft(e,(t,n)=>P$(n,Ft(t)),()=>Fe())}var O$=m(()=>{v();xn();B();Ar()});function Ft(e){return Ye(e)?b$(e.$defs,e.$ref):Ee(e)?$$(e.if,e.then,e.else):Y(e)?k$(e.allOf):M(e)?A$(e.anyOf):ge(e)?v$(e.items):ae(e)?e.properties:{}}var Ar=m(()=>{xt();Et();je();ce();De();V();I$();w$();T$();E$();S$();O$()});function lo(e){let t=Ft(e);return _(t)}var R$=m(()=>{ce();Ar()});var ws=m(()=>{R$()});function fo(e){let t=`${e}`;return mC.test(t)?parseInt(t):e}var mC,ks=m(()=>{mC=new RegExp("^(?:0|[1-9][0-9]*)$")});function uC(e){return X(fo(e))}function M$(e){return e.map(t=>C$(t))}function C$(e){return Y(e)?ht(M$(e.allOf)):M(e)?H(M$(e.anyOf)):me(e)?uC(e.const):e}function L$(e,t){let n=C$(t),r=Ze({},n,vt());return U.IsExtendsTrueLike(r)?e:me(t)&&u.IsEqual(t.const,"length")?vt():de()}var j$=m(()=>{v();je();V();Re();ct();Ge();In();ks()});function F$(e,t){let n=Tn(e,t);return Pt(n)}var D$=m(()=>{rr();Pr()});function N$(e,t,n){let r=nn(e,t,n);return Pt(r)}var q$=m(()=>{rr();B()});function _$(e){let t=dt(e);return Pt(t)}var U$=m(()=>{rr();B()});function K$(e){let t=we(e);return Pt(t)}var G$=m(()=>{B();rr()});function W$(e){return[`${e}`]}var z$=m(()=>{});function B$(e){let t=nt(e);return Pt(t)}var H$=m(()=>{rr();B()});function V$(e){return e.reduce((t,n)=>[...t,...Pt(n)],[])}var J$=m(()=>{rr()});function Pt(e){return Ye(e)?F$(e.$defs,e.$ref):Ee(e)?N$(e.if,e.then,e.else):Xe(e)?_$(e.enum):Y(e)?K$(e.allOf):me(e)?W$(e.const):ve(e)?B$(e.pattern):M(e)?V$(e.anyOf):[]}var rr=m(()=>{xt();Et();en();je();Re();yt();V();D$();q$();U$();G$();z$();H$();J$()});function go(e){return Pt(e)}var Wa=m(()=>{rr()});function Ts(e,t){return t.map(n=>Es(e,n))}function Es(e,t){return $e(t)?Lt(Es(e,t.items)):qe(t)?cn(Ts(e,t.parameters),Es(e,t.instanceType)):_e(t)?ln(Ts(e,t.parameters),Es(e,t.returnType)):ge(t)?Ce(Ts(e,t.items)):M(t)?H(Ts(e,t.anyOf)):Y(t)?ht(Ts(e,t.allOf)):Ki(t)?_(e):t}function Y$(e,t){return Es(e,t)}var X$=m(()=>{ut();qt();_t();je();ce();De();Gi();V()});function pC(e,t){let n=t in e?e[t]:de();return Y$(e,n)}function Z$(e,t){return t.reduce((n,r)=>[...n,pC(e,r)],[])}function cC(e,t){let n=go(t),r=Z$(e,n);return It(r)}function dC(e){return e.filter(n=>lC.test(n))}function fC(e){let t=fi(e),n=dC(t),r=Z$(e,n);return It(r)}function Q$(e,t){return Me(t)?fC(e):cC(e,t)}var lC,ew=m(()=>{ct();Ge();fr();B();Wa();ze();X$();lC=new RegExp(Xn)});function gC(e){return X(fo(e))}function tw(e){return e.map(t=>uc(t))}function uc(e){return Y(e)?ht(tw(e.allOf)):M(e)?H(tw(e.anyOf)):me(e)?gC(e.const):e}var nw=m(()=>{V();je();Re();ks()});function xC(e,t){return e.reduceRight((n,r,o)=>{let i=Ze({},X(o),t);return U.IsExtendsTrueLike(i)?[r,...n]:n},[])}function hC(e,t){let n=uc(t),r=xC(e,n);return Jn(r)}function yC(e){return Jn(e)}function rw(e,t){return me(t)&&u.IsEqual(t.const,"length")?X(e.length):Me(t)||pt(t)?yC(e):hC(e,t)}var ow=m(()=>{v();Re();ct();bn();B();In();nw()});function sw(e,t){return $e(e)?L$(e.items,t):ae(e)?Q$(e.properties,t):ge(e)?rw(e.items,t):de()}var iw=m(()=>{ut();Ge();ce();De();j$();ew();ow()});function bC(e){return Ye(e)||Ee(e)||Y(e)||M(e)?lo(e):e}function mc(e,t,n){return G([e,t])?l.Update(sw(bC(e),t),{},n):ss(e,t,n)}function aw(e,t,n,r,o){let i=$(e,t,n),a=$(e,t,r);return mc(i,a,o)}var Ga=m(()=>{k();xt();Et();je();V();D();ac();ws();iw()});function ta(e,t={}){return L("InstanceType",[e],t)}function mw(e,t={}){return pc(e,t)}var za=m(()=>{se();Ba()});function IC(e){return qe(e)?e.instanceType:de()}function pc(e,t){return G([e])?l.Update(IC(e),{},t):ta(e,t)}function uw(e,t,n,r={}){let o=$(e,t,n);return pc(o,r)}var Ba=m(()=>{k();qt();Ge();za();D()});function is(e,t={}){return L("KeyOf",[e],t)}function pw(e,t={}){return cc(e,t)}var Ha=m(()=>{se();Va()});function cw(){return H([vt(),Wt(),Vr()])}var lw=m(()=>{ct();zt();$r();V()});function dw(e){return vt()}var fw=m(()=>{ct()});function $C(e){return e.reduce((n,r)=>ki(r)?[...n,X(fo(r))]:Fe(),[])}function gw(e){let t=u.Keys(e),n=$C(t);return Jn(n)}var xw=m(()=>{xn();v();Re();ks();B()});function hw(e){return Xr(e)}var yw=m(()=>{ze()});function bw(e){let t=e.map((n,r)=>X(r));return Jn(t)}var Iw=m(()=>{Re();B()});function $w(e){return ke(e)?cw():$e(e)?dw(e.items):ae(e)?gw(e.properties):Qe(e)?hw(e):ge(e)?bw(e.items):de()}var ww=m(()=>{gt();ut();Ge();ce();ze();De();lw();fw();xw();yw();Iw()});function wC(e){return Ye(e)||Ee(e)||Y(e)||M(e)?lo(e):e}function cc(e,t){return G([e])?l.Update($w(wC(e)),{},t):is(e,t)}function kw(e,t,n,r){let o=$(e,t,n);return cc(o,r)}var Va=m(()=>{k();xt();Et();je();V();Ha();D();ws();ww()});function ns(e,t,n,r,o={}){return L("Mapped",[e,t,n,r],o)}function Tw(e,t,n,r,o={}){return lc({},ye([],[]),e,t,n,r,o)}var Ja=m(()=>{se();Ya();D()});function kC(e){let t=nt(e);return Xa(t)}function TC(e){return e.reduce((t,n)=>[...t,...Xa(n)],[])}function EC(e){let t=dt(e);return Xa(t)}function vC(e){return u.IsNumber(e)?[X(`${e}`)]:[X(e)]}function Xa(e){return Xe(e)?EC(e.enum):me(e)?vC(e.const):ve(e)?kC(e.pattern):M(e)?TC(e.anyOf):[e]}function Ew(e){return Xa(e)}var vw=m(()=>{v();Re();en();yt();V();B();B()});function SC(e){return ve(e)?nt(e.pattern):e}function PC(e,t,n,r,o,i){let a=l.Assign(e,{[n.name]:r}),p=$(a,t,o),c=SC(p),x=$(a,t,i);return sg(c)||ig(c)?{[c.const]:x}:{}}function AC(e,t,n,r,o,i){return r.reduce((a,p)=>[...a,PC(e,t,n,p,o,i)],[])}function OC(e){return e.reduce((t,n)=>[...t,_(n)],[])}function Sw(e,t,n,r,o,i){let a=Ew(r),p=AC(e,t,n,a,o,i),c=OC(p);return we(c)}var Pw=m(()=>{k();Re();ce();yt();D();B();B();vw()});function lc(e,t,n,r,o,i,a){return G([r])?l.Update(Sw(e,t,n,r,o,i),{},a):ns(n,r,o,i,a)}function Aw(e,t,n,r,o,i,a){let p=$(e,t,r);return lc(e,t,n,p,o,i,a)}var Ya=m(()=>{k();Ja();D();Pw()});function RC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(i=>n.includes(i)).reduce((i,a)=>({...i,[a]:vI(r,a,t[a])}),{})}function MC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(i=>!n.includes(i)).reduce((i,a)=>({...i,[a]:$(r,ye([],[]),t[a])}),{})}function CC(e,t,n){let r=$I(t),o=RC(e,t,r),i=MC(e,t,r),a={...o,...i};return l.Update(a,{},n)}function Za(e,t,n,r){return CC(e,n,r)}var Qa=m(()=>{v();k();D();Up();Gp();D()});function na(e,t={}){return L("NonNullable",[e],t)}function Ow(e,t={}){return dc(e,t)}var em=m(()=>{se();tm()});function LC(e){let t=H([zr(),Qr()]);return bs(e,t,{})}function dc(e,t){return G([e])?l.Update(LC(e),{},t):na(e,t)}function Rw(e,t,n,r){let o=$(e,t,n);return dc(o,r)}var tm=m(()=>{k();Hr();to();V();Is();em();D()});function ra(e,t,n={}){return L("Omit",[e,t],n)}function Mw(e,t,n={}){let r=u.IsArray(t)?co(t):t;return fc(e,r,n)}var nm=m(()=>{v();se();$s();rm()});function om(e){let t=lo(e);return ae(t)?t.properties:Fe()}var gc=m(()=>{xn();ce();ws()});function jC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function Cw(e,t){let n=om(e),r=go(t),o=jC(n,r);return _(o)}var Lw=m(()=>{v();ce();Wa();gc()});function fc(e,t,n){return G([e,t])?l.Update(Cw(e,t),{},n):ra(e,t,n)}function jw(e,t,n,r,o){let i=$(e,t,n),a=$(e,t,r);return fc(i,a,o)}var rm=m(()=>{k();nm();D();Lw()});function oa(e,t={}){return L("Parameters",[e],t)}function Fw(e,t={}){return xc(e,t)}var sm=m(()=>{se();im()});function FC(e){let t=_e(e)?e.parameters:[],n=nr({},ye([],[]),t);return Ce(n)}function xc(e,t){return G([e])?l.Update(FC(e),{},t):oa(e,t)}function Dw(e,t,n,r){let o=$(e,t,n);return xc(o,r)}var im=m(()=>{k();_t();De();sm();D();D();D()});function sa(e,t={}){return L("Partial",[e],t)}function Nw(e,t={}){return hc(e,t)}var am=m(()=>{se();mm()});function qw(e,t){let n=Tn(e,t),r=vn(n);return fn(l.Assign(e,{[t]:r}),t)}var _w=m(()=>{k();xt();xo();Pr()});function Uw(e,t,n){let r=nn(e,t,n);return vn(r)}var Kw=m(()=>{xo();B()});function Gw(e){let t=we(e);return vn(t)}var Ww=m(()=>{xo();B()});function zw(e){let t=e.map(n=>vn(n));return H(t)}var Bw=m(()=>{V();xo()});function Hw(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:dr(e[o])}),{});return _(t)}var Vw=m(()=>{v();ce();Do()});function vn(e){return Ye(e)?qw(e.$defs,e.$ref):Ee(e)?Uw(e.if,e.then,e.else):Y(e)?Gw(e.allOf):M(e)?zw(e.anyOf):ae(e)?Hw(e.properties):_({})}var xo=m(()=>{xt();Et();je();ce();V();_w();Kw();Ww();Bw();Vw()});function hc(e,t){return G([e])?l.Update(vn(e),{},t):sa(e,t)}function Jw(e,t,n,r){let o=$(e,t,n);return hc(o,r)}var mm=m(()=>{k();am();xo();D()});function ia(e,t,n={}){return L("Pick",[e,t],n)}function Yw(e,t,n={}){let r=u.IsArray(t)?co(t):t;return yc(e,r,n)}var um=m(()=>{v();se();$s();pm()});function DC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?l.Assign(r,{[o]:e[o]}):r,{})}function Xw(e,t){let n=om(e),r=go(t),o=DC(n,r);return _(o)}var Zw=m(()=>{k();v();ce();Wa();gc()});function yc(e,t,n){return G([e,t])?l.Update(Xw(e,t),{},n):ia(e,t,n)}function Qw(e,t,n,r,o){let i=$(e,t,n),a=$(e,t,r);return yc(i,a,o)}var pm=m(()=>{k();um();D();Zw()});function aa(e,t={}){return L("ReadonlyObject",[e],t)}function bc(e,t={}){return Ic(e,t)}var ek,cm=m(()=>{se();lm();ek=bc});function tk(e){return Wr(Lt(e))}var nk=m(()=>{ut();Go()});function rk(e,t){let n=Tn(e,t),r=Sn(n);return fn(l.Assign(e,{[t]:r}),t)}var ok=m(()=>{k();xt();ho();Pr()});function sk(e,t,n){let r=nn(e,t,n);return Sn(r)}var ik=m(()=>{ho();B()});function ak(e){let t=we(e);return Sn(t)}var mk=m(()=>{ho();B()});function uk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:hr(e[o])}),{});return _(t)}var pk=m(()=>{v();ce();Wo()});function ck(e){return Wr(Ce(e))}var lk=m(()=>{De();Go()});function dk(e){let t=e.map(n=>Sn(n));return H(t)}var fk=m(()=>{V();ho()});function Sn(e){return $e(e)?tk(e.items):Ye(e)?rk(e.$defs,e.$ref):Ee(e)?sk(e.if,e.then,e.else):Y(e)?ak(e.allOf):ae(e)?uk(e.properties):ge(e)?ck(e.items):M(e)?dk(e.anyOf):e}var ho=m(()=>{ut();xt();Et();je();ce();De();V();nk();ok();ik();mk();pk();lk();fk()});function Ic(e,t){return G([e])?l.Update(Sn(e),{},t):aa(e)}function gk(e,t,n,r){let o=$(e,t,n);return Ic(o,r)}var lm=m(()=>{k();cm();ho();D()});function xk(e,t,n,r){return t.visited.includes(r)?n:r in e?$(e,ye(t.callstack,[...t.visited,r]),e[r]):n}var $c=m(()=>{D();D()});function hk(e,t){let n=Tn(e,t),r=Pn(n);return fn(l.Assign(e,{[t]:r}),t)}var yk=m(()=>{k();xt();yo();Pr()});function bk(e,t,n){let r=nn(e,t,n);return Pn(r)}var Ik=m(()=>{yo();B()});function $k(e){let t=we(e);return Pn(t)}var wk=m(()=>{yo();B()});function kk(e){let t=e.map(n=>Pn(n));return H(t)}var Tk=m(()=>{V();yo()});function Ek(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Mi(e[o])}),{});return _(t)}var vk=m(()=>{v();ce();Ci()});function Pn(e){return Ye(e)?hk(e.$defs,e.$ref):Ee(e)?bk(e.if,e.then,e.else):Y(e)?$k(e.allOf):M(e)?kk(e.anyOf):ae(e)?Ek(e.properties):_({})}var yo=m(()=>{xt();Et();je();ce();V();yk();Ik();wk();Tk();vk()});function ma(e,t={}){return L("Required",[e],t)}function Sk(e,t={}){return wc(e,t)}var dm=m(()=>{se();fm()});function wc(e,t){return G([e])?l.Update(Pn(e),{},t):ma(e,t)}function Pk(e,t,n,r){let o=$(e,t,n);return wc(o,r)}var fm=m(()=>{k();yo();dm();D()});function ua(e,t={}){return L("ReturnType",[e],t)}function Ak(e,t={}){return kc(e,t)}var gm=m(()=>{se();xm()});function NC(e){return _e(e)?e.returnType:de()}function kc(e,t){return G([e])?l.Update(NC(e),{},t):ua(e,t)}function Ok(e,t,n,r={}){let o=$(e,t,n);return kc(o,r)}var xm=m(()=>{k();_t();Ge();gm();D()});function pa(e,t){return L("With",[e,t],{})}function Rk(e,t){return Tc(e,t)}var hm=m(()=>{se();ym()});function Tc(e,t){return G([e])?l.Update(e,{},t):pa(e,t)}function Mk(e,t,n,r){let o=$(e,t,n);return Tc(o,r)}var ym=m(()=>{k();D();hm()});function qC(e){return Zn(e)?ge(e.items)?Ec(e.items.items):Oe(e.items)?[e]:Ue(e.items)?[e]:[de()]:[e]}function Ec(e){return e.reduce((n,r)=>[...n,...qC(r)],[])}var Ck=m(()=>{Kt();Ge();Zr();Ut();De()});var Lk=m(()=>{Ck()});function ye(e,t){return{callstack:e,visited:t}}function G(e){return u.ShiftLeft(e,(t,n)=>Ue(t)?!1:G(n),()=>!0)}function ds(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:$(e,t,n[o])}),{})}function nr(e,t,n){let r=jt(e,t,n);return Ec(r)}function jt(e,t,n){return n.map(r=>$(e,t,r))}function _C(e,t){let n=tt(e)?jo(t,{}):t,r=yr(e)?Lo(n,{}):n;return xr(e)?vs(r,{}):r}function UC(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?jk(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?WI(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?Ud(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?wg(e,t,r[0],o):u.IsEqual(n,"AddOptional")?Kd(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?Eg(e,t,r[0],o):u.IsEqual(n,"Capitalize")?r$(e,t,r[0],o):u.IsEqual(n,"Conditional")?m$(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"ConstructorParameters")?p$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?OI(e,t,r[0],o):u.IsEqual(n,"Exclude")?l$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?h$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?aw(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?uw(e,t,r[0],o):u.IsEqual(n,"Interface")?hI(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?kw(e,t,r[0],o):u.IsEqual(n,"Lowercase")?o$(e,t,r[0],o):u.IsEqual(n,"Mapped")?Aw(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?Za(e,t,r[0],o):u.IsEqual(n,"NonNullable")?Rw(e,t,r[0],o):u.IsEqual(n,"Pick")?Qw(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?Dw(e,t,r[0],o):u.IsEqual(n,"Partial")?Jw(e,t,r[0],o):u.IsEqual(n,"Omit")?jw(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?gk(e,t,r[0],o):u.IsEqual(n,"Record")?Yg(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?Pk(e,t,r[0],o):u.IsEqual(n,"ReturnType")?Ok(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?cb(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?s$(e,t,r[0],o):u.IsEqual(n,"Uppercase")?i$(e,t,r[0],o):u.IsEqual(n,"With")?Mk(e,t,r[0],r[1]):L(n,r,o)}function KC(e,t,n){let r=Ue(n)?xk(e,t,n,n.$ref):$e(n)?Lt($(e,t,n.items),di(n)):po(n)?Ra(e,t,n.target,n.arguments):qe(n)?cn(jt(e,t,n.parameters),$(e,t,n.instanceType),Gd(n)):_e(n)?ln(jt(e,t,n.parameters),$(e,t,n.returnType),Wd(n)):Ee(n)?gr($(e,t,n.if),$(e,t,n.then),$(e,t,n.else),Xd(n)):Y(n)?ht(jt(e,t,n.allOf),nf(n)):ae(n)?_(ds(e,t,n.properties),Vd(n)):Qe(n)?Xg(Ht(n),$(e,t,ft(n))):Zn(n)?kr($(e,t,n.items)):ge(n)?Ce(nr(e,t,n.items),$g(n)):M(n)?H(jt(e,t,n.anyOf),mg(n)):n;return _C(n,r)}function $(e,t,n){return Gn(n)?UC(e,t,n.action,n.parameters,n.options):KC(e,t,n)}function vc(e,t){return $(e,ye([],[]),t)}var D=m(()=>{v();bm();ci();li();ut();qt();se();_t();no();Et();je();ce();ze();De();V();Ut();Zr();bm();Xp();ci();Ju();li();Zu();zn();Ko();zo();Yp();En();oc();qa();Oa();Is();Ka();Ga();Ba();Sa();Va();En();Ya();Qa();tm();rm();im();mm();pm();lm();Di();$c();fm();xm();wa();En();En();ym();Lk()});function GC(e){return l.Update(e,{"~immutable":!0},{})}function vs(e,t){return l.Update(GC(e),{},t)}function jk(e,t,n,r){let o=$(e,t,n);return vs(o,r)}var bm=m(()=>{k();D()});function Qh(e,t={}){return L("AddImmutable",[e],t)}function Wr(e,t={}){return vs(e,t)}var Go=m(()=>{se();bm()});var Fk=m(()=>{se();Xp()});function ey(e,t={}){return L("Evaluate",[e],t)}function Dk(e,t={}){return Bp(e,t)}var Sc=m(()=>{se();Oa()});function ty(e,t={}){return L("Module",[e],t)}function Nk(e,t={}){return Za({},ye([],[]),e,t)}var Pc=m(()=>{se();D();Qa()});var ro=m(()=>{Go();Wo();Do();Fk();Yu();Ci();Ca();Da();Na();Sc();_a();Ua();ac();za();fs();Ha();La();Ja();Pc();em();nm();sm();am();um();cm();dm();gm();ja();Fa();hm()});var qk=m(()=>{qa()});var _k=m(()=>{yi()});var Uk=m(()=>{Is()});var Kk=m(()=>{Ka()});var Gk=m(()=>{});var Wk=m(()=>{$s();ks();Gk()});var zk=m(()=>{Ga()});var Bk=m(()=>{Ba()});var Hk=m(()=>{Sa()});var Vk=m(()=>{En()});var Jk=m(()=>{Va()});var Yk=m(()=>{Ya()});var Xk=m(()=>{Qa()});var Zk=m(()=>{tm()});var Qk=m(()=>{rm()});var eT=m(()=>{im()});var tT=m(()=>{Jo();Pp()});var nT=m(()=>{mm()});var rT=m(()=>{pm()});var oT=m(()=>{v();Qo()});var sT=m(()=>{oT()});var iT=m(()=>{lm()});var aT=m(()=>{Di()});var mT=m(()=>{$c()});var uT=m(()=>{fm()});var pT=m(()=>{xm()});var cT=m(()=>{});var lT=m(()=>{v();Jo()});var dT=m(()=>{Oi();Ri();Ap();cT();Pi();lT()});var fT=m(()=>{ym()});var gT=m(()=>{D();oc();qk();Wp();_k();cs();Uk();Kk();Wk();zk();Bk();Hk();Vk();Jk();Yk();Xk();Zk();ws();Qk();eT();tT();nT();rT();sT();iT();aT();mT();uT();pT();dT();fT()});function xT(...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=ib(n),i=u.IsArray(o)&&u.IsEqual(o.length,2)?$(t,ye([],[]),o[0]):de();return l.Update(i,{},r)}var hT=m(()=>{Gr();k();v();zi();D();D();vi()});var Ac=m(()=>{hT()});var ie={};Ct(ie,{Any:()=>Kr,Array:()=>Lt,BigInt:()=>Bo,Boolean:()=>$i,Call:()=>KI,Capitalize:()=>QI,Codec:()=>Ii,Conditional:()=>a$,Constructor:()=>cn,ConstructorParameters:()=>u$,Cyclic:()=>fn,Decode:()=>Zf,DecodeBuilder:()=>Uo,Dependent:()=>gr,Encode:()=>Qf,EncodeBuilder:()=>_o,Enum:()=>tf,Evaluate:()=>Dk,Exclude:()=>c$,Extends:()=>Ze,ExtendsResult:()=>U,Extract:()=>d$,Function:()=>ln,Generic:()=>Wn,Identifier:()=>Ho,Immutable:()=>eg,Index:()=>y$,Infer:()=>No,InstanceType:()=>mw,Instantiate:()=>vc,Integer:()=>Ir,Interface:()=>yI,Intersect:()=>ht,IsAny:()=>ke,IsArray:()=>$e,IsBigInt:()=>yn,IsBoolean:()=>Gt,IsCall:()=>po,IsCodec:()=>bi,IsConstructor:()=>qe,IsCyclic:()=>Ye,IsDependent:()=>Ee,IsEnum:()=>Xe,IsEnumValue:()=>ef,IsFunction:()=>_e,IsGeneric:()=>Ur,IsIdentifier:()=>og,IsImmutable:()=>xr,IsInfer:()=>Oe,IsInteger:()=>pt,IsIntersect:()=>Y,IsKind:()=>P,IsLiteral:()=>me,IsNever:()=>Qt,IsNull:()=>Br,IsNumber:()=>Me,IsObject:()=>ae,IsOptional:()=>tt,IsParameter:()=>ag,IsReadonly:()=>yr,IsRecord:()=>Qe,IsRef:()=>Ue,IsRefine:()=>Ku,IsRest:()=>Zn,IsSchema:()=>Le,IsString:()=>lt,IsSymbol:()=>Hn,IsTemplateLiteral:()=>ve,IsThis:()=>Ki,IsTuple:()=>ge,IsUndefined:()=>eo,IsUnion:()=>M,IsUnknown:()=>Ae,IsUnsafe:()=>xi,IsVoid:()=>$n,KeyOf:()=>pw,Literal:()=>X,Lowercase:()=>e$,Mapped:()=>Tw,Module:()=>Nk,Never:()=>de,NonNullable:()=>Ow,Null:()=>zr,Number:()=>vt,Object:()=>_,Omit:()=>Mw,Optional:()=>Bd,Parameter:()=>wr,Parameters:()=>Fw,Partial:()=>Nw,Pick:()=>Yw,Readonly:()=>tg,ReadonlyObject:()=>bc,ReadonlyType:()=>ek,Record:()=>qi,RecordKey:()=>Xr,RecordPattern:()=>Ht,RecordValue:()=>ft,Ref:()=>Ln,Refine:()=>ng,Required:()=>Sk,Rest:()=>kr,ReturnType:()=>Ak,Script:()=>xT,String:()=>Wt,Symbol:()=>Vr,TemplateLiteral:()=>db,This:()=>Ui,Tuple:()=>Ce,Uncapitalize:()=>t$,Undefined:()=>Qr,Union:()=>H,Unknown:()=>We,Unsafe:()=>Jd,Uppercase:()=>n$,Void:()=>Wi,With:()=>Rk});var Oc=m(()=>{D();In();Ac();Ca();Da();Na();Sc();_a();Ua();ro();za();fs();Ha();La();Ja();Pc();em();nm();sm();am();um();cm();dm();gm();ja();Fa();hm();Uu();Ko();zn();zo();Gu();gt();ut();br();Bn();no();qt();xt();en();_t();Fo();Wu();Et();Kt();bn();je();Re();Ge();Hr();ct();ce();Bu();ze();Ut();Zr();z();zt();$r();yt();Gi();De();to();V();Je();hi();Tr()});var bo=m(()=>{ro();gT();In();Ac();zi();Oc();Oc()});import{StringEnum as WC}from"@earendil-works/pi-ai";import{defineTool as zC}from"@earendil-works/pi-coding-agent";function yT(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${BC[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 VC(e,t,n,r){let o=e.map(i=>({...i}));switch(t){case"init":return!n||n.length===0?{todos:o,error:"init needs a non-empty items array"}:{todos:n.map(i=>({content:i,status:"pending"}))};case"view":return{todos:o};case"start":case"done":case"drop":{if(!r)return{todos:o,error:`${t} needs task`};let i=o.find(a=>a.content===r);if(!i)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");i.status="in_progress"}else i.status=t==="done"?"completed":"dropped";return{todos:o}}default:return{todos:o,error:`unknown op ${JSON.stringify(t)}`}}}function JC(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 BC,HC,Im,Rc=m(()=>{bo();BC={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},HC=ie.Object({op:WC(["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"}))});Im=zC({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:HC,async execute(e,t,n,r,o){let i=JC(o),{todos:a,error:p}=VC(i,t.op,t.items,t.task),c={op:t.op,todos:a,...p?{error:p}:{}};return{content:[{type:"text",text:p?`Error: ${p}
17
- ${yT(a)}`:yT(a)}],details:c,...p?{isError:!0}:{}}}})});import{StringEnum as YC}from"@earendil-works/pi-ai";import{defineTool as XC}from"@earendil-works/pi-coding-agent";function $T(){return Nn.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...Nn].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
18
- `)}function ZC(e,t,n){if(e==="list")return Nn.size===0?{text:"No notes."}:{text:[...Nn].map(([r,o])=>`${r} = ${o}`).join(`
19
- `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>IT)return{text:`Error: key longer than ${IT} characters`,error:"key too long"};if(e==="forget")return{text:Nn.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>bT?`${n.slice(0,bT)}\u2026`:n;return Nn.set(t,r),{text:`Recorded ${t} (${Nn.size} note${Nn.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var Nn,bT,IT,$m,wm=m(()=>{bo();Nn=new Map,bT=2e3,IT=80;$m=XC({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:YC(["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}=ZC(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(Nn)},...r?{isError:!0}:{}}}})});import{StringEnum as QC}from"@earendil-works/pi-ai";import{defineTool as e0}from"@earendil-works/pi-coding-agent";function Tm(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??km,n=[`${TT[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
20
- ${e.text}`}function ET(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??km,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${TT[e.status]} ${e.used}/${t} \xB7 ${n}`}function vT(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 ST(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??km}.`].join(`
22
- `)}function Em(){return PT}function rn(e){PT=e}function vm(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??km;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function Mc(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>wT?{goal:e,error:`text longer than ${wT} 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===or){t=n.data;continue}if(n.type==="custom_message"&&n.customType===or){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 or,kT,wT,km,TT,PT,t0,AT,Sm=m(()=>{bo();or="howtofix.goal",kT="howtofix.goal.continue",wT=400,km=25,TT={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};t0=ie.Object({op:QC(["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)"}))}),AT=e0({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:t0,async execute(e,t,n,r,o){let i=Io(o),{goal:a,error:p}=Mc(i,t.op,t.text,t.budget,t.note);rn(a);let c=Tm(a);return{content:[{type:"text",text:p?`Error: ${p}
23
- ${c}`:c}],details:{op:t.op,goal:a},...p?{isError:!0}:{}}}})});import{existsSync as jc,mkdirSync as OT,readFileSync as RT,writeFileSync as MT}from"node:fs";import{dirname as CT,join as LT}from"node:path";import{defineTool as jT}from"@earendil-works/pi-coding-agent";function Pm(){return{state:"inactive",wasActive:!1}}function n0(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:Pm()}function FT(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function r0(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function o0(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function s0(e){return e.state!=="active"?e:{...e,state:"inactive"}}function DT(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Am(e){return e.state==="active"}function i0(e,t){return e===t}function a0(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 m0(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 Om(){return it}function NT(){return st}function qT(){return Am(it)}function _T(){if(!(!st||!jc(st)))try{let e=RT(st,"utf8");return e.trim()?e:void 0}catch{return}}function UT(){return _T()!==void 0}function KT(){return it.state==="inactive"?"":it.state==="pending"?"plan pending":UT()?"plan \u25CF ready":"plan \u25CF planning"}function GT(){return Lc?LT(Lc,"plan_mode.json"):void 0}function u0(){let e=GT();if(e)try{OT(CT(e),{recursive:!0}),MT(e,JSON.stringify(it))}catch{}}function p0(){let e=GT();if(!e||!jc(e))return Pm();try{return n0(JSON.parse(RT(e,"utf8")))}catch{return Pm()}}function c0(e){Lc=e,st=LT(e,"plan.md"),it=p0()}function $o(e){return it=e,u0(),it}function WT(){return e=>{e.on("tool_call",async t=>{if(!Am(it)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!st||i0(n,st)))return{block:!0,reason:m0(st)}})}}function zT(){return e=>{e.on("session_start",async(t,n)=>{c0(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{it.state==="pending"&&$o(r0(it))}),e.on("context_with_system",async t=>{if(!Am(it)||!st)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=a0(st,UT()),o=`${typeof n.content=="string"?n.content:""}
25
-
26
- ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function l0(){if(st){try{OT(CT(st),{recursive:!0}),jc(st)||MT(st,"")}catch{return}return st}}var st,it,Lc,Cc,BT,HT,Fc=m(()=>{bo();it=Pm();Cc=2e4;BT=jT({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(it.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${it.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:{}};$o(o0(it));let a=l0();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}}}}),HT=jT({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(!Am(it))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let i=_T();if(!i)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${st??"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=i.length>Cc?`${i.slice(0,Cc)}
28
- \u2026 (${i.length-Cc} more characters)`:i;return await o.ui.confirm("Approve this plan?",a)?($o(s0(it)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:st}}):{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 Dc(){return{consecutiveFailures:0,tripped:!1}}function d0(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function f0(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function g0(){return Dc()}function x0(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 VT(){return e=>{e.on("session_start",async()=>{sr=Dc()}),e.on("session_compact",async()=>{sr=g0()}),e.on("session_compact_failed",async(t,n)=>{let r=sr;sr=f0(sr,t.aborted),!r.tripped&&sr.tripped&&n?.ui&&n.ui.notify(x0(sr),"warning")}),e.on("session_before_compact",async t=>{if(d0(sr,t.reason))return{cancel:!0}})}}var sr,JT=m(()=>{sr=Dc()});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(`
29
- `):e==null?"":String(e)}function Mm(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 Nc=m(()=>{});function h0(e){rn(Io(e))}function YT(e){return`budget exhausted (${e.budget??"default"} continuations)`}function XT(){return e=>{e.on("session_start",async(t,n)=>{h0(n)}),e.on("context_with_system",async(t,n)=>{let r=Io(n);if(rn(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let i=`${Rm(o.content)}
30
-
31
- ${vT(r)}`;return{messages:t.messages.map(p=>p===o?{...o,content:Mm(o.content,i)}:p)}}),e.on("agent_before_settle",async(t,n)=>{let r=Io(n);if(rn(r),vm(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(or,o),rn(o),vm(o).action==="stop"){let i={...o,status:"done",note:YT(o)};e.appendEntry(or,i),rn(i);return}return{entries:[{type:"custom_message",customType:kT,content:ST(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=Io(n),o=vm(r);if(r&&o.action==="stop"&&o.close){let i={...r,status:"done",note:YT(r)};e.appendEntry(or,i),rn(i)}else rn(r)})}}var ZT=m(()=>{Nc();Sm()});function Cm(){return e=>{e.on("context_with_system",async t=>{let n=$T();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Rm(r.content)}
32
-
33
- ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Mm(r.content,o)}:a)}})}}var qc=m(()=>{Nc();wm()});import{mkdirSync as y0,readdirSync as b0,readFileSync as I0,writeFileSync as $0}from"node:fs";import{join as QT}from"node:path";import{createAgentSession as w0,DefaultResourceLoader as k0,SessionManager as T0}from"@earendil-works/pi-coding-agent";function Lm(e){y0(Dr,{recursive:!0}),$0(QT(Dr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function Uc(){let e;try{e=b0(Dr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(I0(QT(Dr,t),"utf8"));if(n.status!=="parked"||Vt.some(r=>r.id===n.id))continue;Vt.push({...n,mail:n.mail??[]})}catch{}}function Kc(){return Uc(),Vt.length===0?"no agents":Vt.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
34
- `)}function Gc(e){Uc();let t=Vt.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
35
- ${t.result??t.task}`:`no agent ${e}`}async function jm(e){let t=Or.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||process.cwd(),r=new k0({cwd:n,agentDir:Ve,extensionFactories:[Cm()]});await r.reload();let{session:o}=await w0({cwd:n,agentDir:Ve,sessionManager:T0.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[$m,Im],thinkingLevel:e.effort});return o}async function tE(e,t){Uc();let n=Vt.find(o=>o.id===e);if(!n)return`no agent ${e}`;let r=n.session??await jm(n);if(n.session=r,n.status==="running"||r.isStreaming)return n.mail.push(t),Lm(n),`queued for ${e}`;if(n.requests>=eE)return`${e} is out of budget (${n.requests} requests)`;n.status="running";try{await r.prompt(t),n.requests+=1,n.result=r.getLastAssistantText()?.trim()||n.result,n.status="parked"}catch(o){n.result=o instanceof Error?o.message:String(o),n.status="error"}return Lm(n),`${e} ${n.status}`}async function nE(e){let t=Or.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Or.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${Vt.length+1}`,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return Vt.push(n),Lm(n),n}async function S0(e,t){let n=Or.get(e.agent);if(!n)return;let r=e.session??await jm(e);e.session=r;try{let o=e.mail.splice(0).join(`
2
+ var TS=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 Ct=(e,t)=>{for(var n in t)TS(e,n,{get:t[n],enumerable:!0})};var Et,Fr,Wl,zl,Ro=m(()=>{Et="HowToFix",Fr="0.4.11",Wl=["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
+ `),zl=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
4
+ `)});var Jl={};Ct(Jl,{AGENTS_STORE_DIR:()=>Dr,AGENT_DIR:()=>Xe,CUBENCE_CACHE_PATH:()=>xu,WORKFLOWS_DIR:()=>hu,pinAgentDir:()=>yu});import{homedir as ES}from"node:os";import{join as Js}from"node:path";function yu(){process.env.PI_CODING_AGENT_DIR=Xe}var Xe,Dr,xu,hu,Kn=m(()=>{Xe=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||Js(ES(),".howtofix","agent"),Dr=Js(Xe,"agents"),xu=Js(Xe,"cubence-cache.json"),hu=Js(Xe,"workflows")});var nd={};Ct(nd,{DEFAULT_CONTEXT_WINDOW:()=>ed,HOWTOFIX_BASE_URL:()=>Ys,HOWTOFIX_CONSOLE_URL:()=>Xs,HOWTOFIX_MODEL_COMPAT:()=>$u,HOWTOFIX_PROVIDERS:()=>bu,HTTP_IDLE_TIMEOUT_MS:()=>Ql,applyCompat:()=>Qs,checkAccount:()=>vu,countNewModels:()=>Tu,ensureGatewaySettings:()=>RS,isHowtofixProvider:()=>Ao,looksLikeToken:()=>wu,maskToken:()=>Zs,mergeModels:()=>ku,newProviderEntry:()=>Iu,parseModelIds:()=>td,probeModel:()=>Eu,repairGatewayModels:()=>PS});import{existsSync as vS,mkdirSync as SS,readFileSync as Yl,writeFileSync as Xl}from"node:fs";import{join as Zl}from"node:path";function Iu(){return{baseUrl:Ys,api:"openai-completions"}}function PS(e){let t=Zl(e,"models.json"),n;try{n=JSON.parse(Yl(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of bu){let a=r[s];if(!a||!Array.isArray(a.models))continue;let p=Qs(a.models);p.changed!==0&&(a.models=p.models,o+=p.changed)}if(o===0)return 0;try{Xl(t,`${JSON.stringify(n,null,2)}
5
+ `)}catch{return 0}return o}function RS(e){let t=Zl(e,"settings.json"),n={};try{let r=Yl(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(vS(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=Ql;try{SS(e,{recursive:!0}),Xl(t,`${JSON.stringify(n,null,2)}
6
+ `)}catch{return!1}return!0}function Zs(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function wu(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function td(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 Ao(e){return bu.includes(e)}function ku(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:ed,compat:{...$u}}));return r}function Qs(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...$u}})),changed:t}}function Tu(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function Eu(e,t,n){let r=(n?.baseUrl??Ys).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,a=new AbortController,p=setTimeout(()=>a.abort(),s);try{let c=await o(`${r}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:a.signal});if(c.ok)return{ok:!0,detail:"ok"};let h=await c.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(h)?.[1]??`HTTP ${c.status}`}}catch(c){return{ok:!1,detail:c instanceof Error&&c.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(p)}}async function vu(e,t){let n=(t?.baseUrl??Ys).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,models:[],message:"no token given"};let a=new AbortController,p=setTimeout(()=>a.abort(),o);try{let c=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:a.signal});if(c.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(c.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!c.ok)return{ok:!1,models:[],message:`the gateway answered ${c.status}`};let h=td(await c.json());return h.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:h,message:`${h.length} models available to this token`}}catch(c){let h=c instanceof Error&&c.name==="AbortError";return{ok:!1,models:[],message:h?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(p)}}var Ys,Xs,bu,Ql,$u,ed,Su=m(()=>{Ys="https://api.howtofix.id/v1",Xs="https://howtofix.id/console/token",bu=["howtofix","howtofix-free"];Ql=9e4;$u={supportsDeveloperRole:!1},ed=128e3});var rd={};Ct(rd,{expandFileReferences:()=>Pu});import{readFileSync as AS,statSync as OS}from"node:fs";import{isAbsolute as MS,resolve as CS}from"node:path";function Pu(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),a=o.slice(s.length),p=MS(s)?s:CS(t,s);try{let c=OS(p);if(!c.isFile()||c.size===0||c.size>LS)return n;let h=AS(p);return h.includes(0)?n:`${r}<file name="${p}">
7
+ ${h.toString("utf8").trimEnd()}
8
+ </file>${a}`}catch{return n}})}var LS,Ru=m(()=>{LS=64*1024});function FS(e){let t=new WeakSet,n=r=>{if(r===null||typeof r!="object")return r;if(t.has(r))return"[circular]";if(t.add(r),Array.isArray(r))return r.map(n);let o=r,s={};for(let a of Object.keys(o).sort())s[a]=n(o[a]);return s};try{return JSON.stringify(n(e))??""}catch{return""}}function od(e,t){if(jS.has(e))return;let n=`${e}\0${FS(t)}`,r=Oo&&Oo.signature===n?Oo.count+1:1;return Oo={signature:n,count:r},r>=3?{repeats:r}:void 0}function sd(){Oo=void 0}function id(e,t){return`Refused: ${e} has been called ${t} times in a row with identical arguments, so the last attempt cannot have changed anything. Do not repeat it. Either use different arguments, use a different tool, or stop and report what you found and what is blocking you.`}var jS,Oo,Au=m(()=>{jS=new Set(["think"])});function ad(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function NS(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(DS.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(!ad(p.join("="),c))return!1;r++;continue}let h=e[r+1];if(h===void 0||!ad(h,c))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function WS(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function zS(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function BS(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"&&ud[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:pd[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function JS(e){let t=BS(e),n=HS(t);if(!n)return!1;let{name:r,rest:o}=n;if(VS.has(r)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let s=ud[r]??KS[r]??pd[r];return s?s.dangerous?.(o)?!1:NS(o,0,s):!!(US.includes(r)||GS.includes(r))}function ri(e){let t=WS(e);return!t||t.length===0||zS(t)?!1:t.every(JS)}var DS,qS,ei,ti,Ou,ni,Mu,md,_S,ud,US,KS,pd,GS,VS,Cu=m(()=>{DS=/^-[a-zA-Z0-9_-]/;qS={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},ei={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},ti={"--max-count":"number","-n":"number"},Ou={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},ni={"--color":"none","--no-color":"none"},Mu={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},md={"--author":"string","--committer":"string","--grep":"string"},_S={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},ud={"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",...ni}},"git diff":{safeFlags:{...Ou,...ni,...Mu,"--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:{...ei,...ti,...Ou,...ni,...Mu,...md,...qS,"--since":"string","--after":"string","--until":"string","--before":"string","--follow":"none","--no-merges":"none","--merges":"none","--first-parent":"none","--reverse":"none","--skip":"number","--all":"none","--format":"string","--pretty":"string","--abbrev-commit":"none","--no-abbrev-commit":"none","--left-right":"none"}},"git show":{safeFlags:{...Ou,...ni,...Mu,...ei,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...ti,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...ti,...ei,...md,"--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:{...ti,"--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:{...ei}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{..._S,"--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"}}},US=["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"],KS={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))}},pd={"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:{}}},GS=["cd","alias","history","arch","ip addr","ifconfig"];VS=new Set(["echo","printf"])});var yd={};Ct(yd,{APPROVAL_LABELS:()=>oi,APPROVAL_MODES:()=>Nr,MODE_MAX_TIER:()=>cd,TIER_RANK:()=>Lu,createPermissionExtension:()=>Nu,criticalCommand:()=>dd,decideToolCall:()=>gd,describeToolCall:()=>xd,formatApprovalPrompt:()=>hd,getApprovalMode:()=>QS,isApprovalMode:()=>YS,isReadOnlyCommand:()=>ri,resolveTier:()=>ld,setApprovalMode:()=>Fu,setApprovalPrompt:()=>Du});function YS(e){return Nr.includes(e)}function ld(e){let t=XS[e];return t||(e.startsWith("mcp__")?"write":"exec")}function dd(e){for(let{pattern:t,reason:n}of ZS)if(t.test(e))return n}function Fu(e){ju=e}function QS(){return ju}function Du(e){fd=e}function gd(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=dd(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(ri(r))return{action:"run"}}let o=ld(t);return Lu[o]<=Lu[cd[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function xd(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 hd(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=xd(e,t);return o!==e&&r.push(o),r.join(`
9
+ `)}function Nu(){return e=>{e.on("tool_call",async t=>{let n=od(t.toolName,t.input);if(n)return{block:!0,reason:id(t.toolName,n.repeats)};let r=ju,o=gd(r,t.toolName,t.input);if(o.action==="run")return;if(o.action==="deny")return{block:!0,reason:o.reason};if(!await fd(`${t.toolName} wants to run`,hd(t.toolName,t.input,o.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${r}).`}})}}var Nr,oi,Lu,cd,XS,ZS,ju,fd,si=m(()=>{Au();Cu();Cu();Nr=["suggest","auto-edit","full-auto"],oi={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Lu={read:0,write:1,exec:2},cd={suggest:"read","auto-edit":"write","full-auto":"exec"},XS={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"};ZS=[{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"}];ju="full-auto",fd=async()=>!1});function eP(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 nP(e){if(!e)return;let t=!1,n={...e};for(let r of tP){let o=n[r];if(typeof o!="string")continue;let s=eP(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function bd(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=nP(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var tP,Id=m(()=>{tP=["preamble","rules","docs","addendum"]});import{Type as qr}from"@earendil-works/pi-ai";import{defineTool as $d}from"@earendil-works/pi-coding-agent";function wd(e){qu=e}var qu,kd,Td,_u=m(()=>{kd=$d({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:qr.Object({thoughts:qr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),Td=$d({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:qr.Object({question:qr.String(),options:qr.Array(qr.String(),{minItems:2})}),async execute(e,t){if(!qu)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await qu(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var Qt,pr=m(()=>{Qt={assign:0,create:0,clone:0,discard:0,update:0}});function cr(e,t,n){return e>=t&&e<=n}function Sd(e){return e===8205}function rP(e){return cr(e,55296,56319)}function Ed(e){return cr(e,127462,127487)}function Pd(e){return cr(e,65024,65039)}function Rd(e){return cr(e,768,879)||cr(e,6832,6911)||cr(e,7616,7679)||cr(e,65056,65071)}function ii(e){return e>65535?2:1}function vd(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Rd(n)||Pd(n))t+=ii(n);else break}return t}function Uu(e,t){let n=e.codePointAt(t),r=t+ii(n);for(r=vd(e,r);r<e.length-1&&Sd(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+ii(o),r=vd(e,r)}return Ed(n)&&r<e.length&&Ed(e.codePointAt(r))&&(r+=ii(e.codePointAt(r))),r}function Ad(e){return e>=768&&(rP(e)||Rd(e)||Pd(e)||Sd(e))}function Od(e){let t=0,n=0;for(;n<e.length;)n=Uu(e,n),t++;return t}function oP(e,t){let n=0,r=0;for(;r<e.length;)if(r=Uu(e,r),++n>=t)return!0;return!1}function sP(e,t){let n=0,r=0;for(;r<e.length;)if(r=Uu(e,r),++n>t)return!1;return!0}function Md(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(Ad(e.charCodeAt(n)))return oP(e,t);if(++n>=t)return!0}}function Cd(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(Ad(e.charCodeAt(n)))return sP(e,t);if(++n>t)return!1}}var Ld=m(()=>{});var u={};Ct(u,{Counted:()=>$P,Entries:()=>TP,EntriesRegExp:()=>kP,Every:()=>hP,EveryAll:()=>yP,GraphemeCount:()=>fP,HasPropertyKey:()=>wP,IsArray:()=>Co,IsBigInt:()=>Mo,IsBoolean:()=>jd,IsClassInstance:()=>dP,IsConstructor:()=>aP,IsDeepEqual:()=>Wu,IsEqual:()=>re,IsFunction:()=>Fd,IsGreaterEqualThan:()=>Nd,IsGreaterThan:()=>pP,IsInteger:()=>Ku,IsLessEqualThan:()=>Dd,IsLessThan:()=>cP,IsMaxLength:()=>gP,IsMinLength:()=>xP,IsMultipleOf:()=>lP,IsNull:()=>mi,IsNumber:()=>ui,IsObject:()=>Lo,IsObjectNotArray:()=>mP,IsString:()=>pi,IsSymbol:()=>uP,IsUndefined:()=>Gu,IsUnsafePropertyKey:()=>_d,IsValueLike:()=>qd,Keys:()=>ai,ShiftLeft:()=>ci,Some:()=>bP,SomeAll:()=>IP,Symbols:()=>EP,Values:()=>vP});function Co(e){return Array.isArray(e)}function Mo(e){return re(typeof e,"bigint")}function jd(e){return re(typeof e,"boolean")}function aP(e){if(Gu(e)||!Fd(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Fd(e){return re(typeof e,"function")}function Ku(e){return Number.isInteger(e)}function mi(e){return re(e,null)}function ui(e){return Number.isFinite(e)}function mP(e){return Lo(e)&&!Co(e)}function Lo(e){return re(typeof e,"object")&&!mi(e)}function pi(e){return re(typeof e,"string")}function uP(e){return re(typeof e,"symbol")}function Gu(e){return re(e,void 0)}function re(e,t){return e===t}function pP(e,t){return e>t}function cP(e,t){return e<t}function Dd(e,t){return e<=t}function Nd(e,t){return e>=t}function lP(e,t){if(Mo(e)||Mo(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!ui(e)||Ku(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 dP(e){if(!Lo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return mi(t)?!1:re(typeof t.constructor,"function")&&!(re(t.constructor,globalThis.Object)||re(t.constructor.name,"Object"))}function qd(e){return Mo(e)||jd(e)||mi(e)||ui(e)||pi(e)||Gu(e)}function fP(e){return Od(e)}function gP(e,t){return Cd(e,t)}function xP(e,t){return Md(e,t)}function hP(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function yP(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function bP(e,t){return e.some((n,r)=>t(n,r))}function IP(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function $P(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function ci(e,t,n){return re(e.length,0)?n():t(e[0],e.slice(1))}function _d(e){return re(e,"__proto__")||re(e,"constructor")||re(e,"prototype")}function wP(e,t){return _d(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function kP(e){return ai(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function TP(e){return Object.entries(e)}function ai(e){return Object.getOwnPropertyNames(e)}function EP(e){return Object.getOwnPropertySymbols(e)}function vP(e){return Object.values(e)}function SP(e,t){if(!Lo(t))return!1;let n=ai(e);return re(n.length,ai(t).length)&&n.every(r=>Wu(e[r],t[r]))}function PP(e,t){return Co(t)&&re(e.length,t.length)&&e.every((n,r)=>Wu(e[r],t[r]))}function Wu(e,t){return Co(e)?PP(e,t):Lo(e)?SP(e,t):re(e,t)}var _r=m(()=>{Ld()});var Ud=m(()=>{_r()});var Gn={};Ct(Gn,{IsBigInt64Array:()=>GP,IsBigUint64Array:()=>WP,IsBoolean:()=>AP,IsDate:()=>BP,IsFloat32Array:()=>UP,IsFloat64Array:()=>KP,IsInt16Array:()=>DP,IsInt32Array:()=>qP,IsInt8Array:()=>LP,IsMap:()=>VP,IsNumber:()=>OP,IsRegExp:()=>zP,IsSet:()=>HP,IsString:()=>MP,IsTypeArray:()=>CP,IsUint16Array:()=>NP,IsUint32Array:()=>_P,IsUint8Array:()=>jP,IsUint8ClampedArray:()=>FP});function AP(e){return e instanceof Boolean}function OP(e){return e instanceof Number}function MP(e){return e instanceof String}function CP(e){return globalThis.ArrayBuffer.isView(e)}function LP(e){return e instanceof globalThis.Int8Array}function jP(e){return e instanceof globalThis.Uint8Array}function FP(e){return e instanceof globalThis.Uint8ClampedArray}function DP(e){return e instanceof globalThis.Int16Array}function NP(e){return e instanceof globalThis.Uint16Array}function qP(e){return e instanceof globalThis.Int32Array}function _P(e){return e instanceof globalThis.Uint32Array}function UP(e){return e instanceof globalThis.Float32Array}function KP(e){return e instanceof globalThis.Float64Array}function GP(e){return e instanceof globalThis.BigInt64Array}function WP(e){return e instanceof globalThis.BigUint64Array}function zP(e){return e instanceof globalThis.RegExp}function BP(e){return e instanceof globalThis.Date}function HP(e){return e instanceof globalThis.Set}function VP(e){return e instanceof globalThis.Map}var Kd=m(()=>{});var Gd=m(()=>{_r()});var P=m(()=>{Ud();Kd();Gd();_r();_r()});var en={};Ct(en,{Get:()=>ZP,Reset:()=>YP,Set:()=>XP});function YP(){dn.immutableTypes=!1,dn.maxErrors=8,dn.maxInstantiationCount=128,dn.useAcceleration=!0,dn.exactOptionalPropertyTypes=!1,dn.enumerableKind=!1,dn.correctiveParse=!1,dn.unionPrioritySort=!0}function XP(e){for(let t of u.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(dn,t,{value:n})}}function ZP(){return dn}var dn,Wd=m(()=>{P();dn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var lr=m(()=>{Wd()});function Wn(e){return en.Get().immutableTypes?Object.freeze(e):e}var jo=m(()=>{lr()});function QP(e,t){return Qt.assign+=1,Wn({...e,...t})}var zd=m(()=>{pr();jo()});function eR(e){return u.HasPropertyKey(e,"~kind")||u.HasPropertyKey(e,"~unsafe")}function tR(e){let t={};for(let n of u.Keys(e)){if(u.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=dr(r.value),u.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function nR(e){let t={};for(let n of u.Keys(e))u.IsUnsafePropertyKey(n)||(t[n]=dr(e[n]));for(let n of u.Symbols(e))t[n]=dr(e[n]);return t}function rR(e){return u.IsClassInstance(e)?e:eR(e)?tR(e):nR(e)}function oR(e){return e.map(t=>dr(t))}function sR(e){return e.slice()}function iR(e){return new RegExp(e.source,e.flags)}function aR(e){return new Map(dr([...e.entries()]))}function mR(e){return new Set(dr([...e.values()]))}function dr(e){return Gn.IsTypeArray(e)?sR(e):Gn.IsRegExp(e)?iR(e):Gn.IsMap(e)?aR(e):Gn.IsSet(e)?mR(e):u.IsArray(e)?oR(e):u.IsObject(e)?rR(e):e}function Fo(e){return Qt.clone+=1,dr(e)}var li=m(()=>{P();pr()});function uR(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 Bd(e,t){return{...e,...t}}function pR(e,t,n={}){Qt.create+=1;let r=Bd(t,n),o=en.Get().enumerableKind?Bd(r,e):uR(r,e);return Wn(o)}var Hd=m(()=>{lr();pr();jo()});function cR(e,t){Qt.discard+=1;let n={};for(let r of u.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=Fo(o.value),Object.defineProperty(n,r,o)}return Wn(n)}var Vd=m(()=>{P();pr();jo();li()});function lR(e,t,n){Qt.update+=1;let r=en.Get(),o=Fo(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 Wn(o)}var Jd=m(()=>{lr();pr();jo();li()});var l={};Ct(l,{Assign:()=>QP,Clone:()=>Fo,Create:()=>pR,Discard:()=>cR,Metrics:()=>Qt,Update:()=>lR});var Yd=m(()=>{zd();li();Hd();Vd();pr();Jd()});var E=m(()=>{Yd()});function M(e,t){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],t)}function je(e){return u.IsObject(e)}var z=m(()=>{P()});function L(e,t,n){return l.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function zn(e){return M(e,"Deferred")}var se=m(()=>{E();z()});function dR(e){return l.Update(e,{"~readonly":!0},{})}function Do(e,t){return l.Update(dR(e),{},t)}function Xd(e,t,n,r){let o=k(e,t,n);return Do(o,r)}var di=m(()=>{E();N()});function fR(e){return l.Update(e,{"~optional":!0},{})}function No(e,t){return l.Update(fR(e),{},t)}function Zd(e,t,n,r){let o=k(e,t,n);return No(o,r)}var fi=m(()=>{E();N()});function Lt(e,t){return l.Create({"~kind":"Array"},{type:"array",items:e},t)}function $e(e){return M(e,"Array")}function gi(e){return l.Discard(e,["~kind","type","items"])}var pt=m(()=>{E();z()});function fn(e,t,n={}){return l.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function _e(e){return M(e,"Constructor")}function Qd(e){return l.Discard(e,["~kind","type","parameters","instanceType"])}var Ut=m(()=>{E();z()});function gn(e,t,n={}){return l.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function Ue(e){return M(e,"Function")}function ef(e){return l.Discard(e,["~kind","type","parameters","returnType"])}var Kt=m(()=>{E();z()});function jn(e,t){return l.Create({"~kind":"Ref"},{$ref:e},t)}function Ke(e){return M(e,"Ref")}var Gt=m(()=>{E();z()});function Bn(e,t){return l.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Ur(e){return M(e,"Generic")}var qo=m(()=>{E();z()});function Kr(e){return l.Create({"~kind":"Any"},{},e)}function Te(e){return M(e,"Any")}var ht=m(()=>{E();z()});function le(e){return l.Create({"~kind":"Never"},{not:{}},e)}function tn(e){return M(e,"Never")}var tf,Be=m(()=>{E();z();tf="(?!)"});function xn(e,t={}){return L("AddOptional",[e],t)}function fr(e,t={}){return No(e,t)}var _o=m(()=>{se();fi()});function nf(e){return fr(e)}function rt(e){return je(e)&&u.HasPropertyKey(e,"~optional")}var Hn=m(()=>{P();z();_o()});function rf(e){return u.Keys(e).filter(t=>!rt(e[t]))}function xi(e){return u.Keys(e)}function hi(e){return u.Values(e)}var gr=m(()=>{P();Hn()});function _(e,t={}){let n=rf(e),r=n.length>0?{required:n}:{};return l.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function me(e){return M(e,"Object")}function of(e){return l.Discard(e,["~kind","type","properties","required"])}var ce=m(()=>{E();z();gr()});function He(e){return l.Create({"~kind":"Unknown"},{},e)}function Re(e){return M(e,"Unknown")}var Ze=m(()=>{E();z()});function hn(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 Qe(e){return M(e,"Cyclic")}var yt=m(()=>{P();E();z()});function sf(e){return l.Update(e,{"~unsafe":null},{})}function yi(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"~unsafe")&&u.IsNull(e["~unsafe"])}var bi=m(()=>{P();E()});var yn={};Ct(yn,{Match:()=>gR});function gR(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var af=m(()=>{});var Gr=m(()=>{af()});function Uo(...e){let[t,n]=yn.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,He(),He()]});return l.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Ae(e){return M(e,"Infer")}var Wt=m(()=>{Gr();E();z();Ze()});function xr(e,t,n,r={}){return l.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function ve(e){return M(e,"Dependent")}function mf(e){return l.Discard(e,["~kind","if","then","else"])}var vt=m(()=>{E();z()});function uf(e){return u.IsObjectNotArray(e)}function pf(e){return u.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var Ii=m(()=>{P()});function cf(e){return u.IsString(e)||u.IsNumber(e)}function lf(e,t){let n=uf(e)?pf(e):e;return l.Create({"~kind":"Enum"},{enum:n},t)}function et(e){return M(e,"Enum")}var nn=m(()=>{P();E();z();Ii();Ii()});function bt(e,t={}){return l.Create({"~kind":"Intersect"},{allOf:e},t)}function Q(e){return M(e,"Intersect")}function df(e){return l.Discard(e,["~kind","allOf"])}var Fe=m(()=>{E();z()});var ff=m(()=>{lr();P()});var gf=m(()=>{ff()});var xf=m(()=>{gf()});function De(){throw new Error("Unreachable")}var zu=m(()=>{});var bn=m(()=>{zu()});var hf,KN,GN,WN,zN,yf,BN,HN,VN,bf=m(()=>{bn();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"})(hf||(hf={}));KN=BigInt("14695981039346656037"),[GN,WN]=[BigInt("1099511628211"),BigInt("18446744073709551616")],zN=Array.from({length:256}).map((e,t)=>BigInt(t)),yf=new Float64Array(1),BN=new DataView(yf.buffer),HN=new Uint8Array(yf.buffer),VN=new TextEncoder});var If=m(()=>{bf()});var Bu=m(()=>{});var $f=m(()=>{Bu()});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 Hu=m(()=>{});var Cf=m(()=>{});var Lf=m(()=>{});var jf=m(()=>{});var Ff=m(()=>{});var Df=m(()=>{});var Nf=m(()=>{});var qf=m(()=>{});var _f=m(()=>{});var Uf=m(()=>{});var Kf=m(()=>{});var Gf=m(()=>{});var Wf=m(()=>{});var zf=m(()=>{});var Bf=m(()=>{});var Hf=m(()=>{});var Vf=m(()=>{});var Jf=m(()=>{});var Yf=m(()=>{});var Xf=m(()=>{});var Zf=m(()=>{});var Qf=m(()=>{});var eg=m(()=>{});var tg=m(()=>{});var ng=m(()=>{});var rg=m(()=>{});var og=m(()=>{$f();wf();kf();Tf();Ef();vf();Bu();Sf();Pf();Rf();Af();Of();Mf();Hu();Hu();Cf();Lf();jf();Ff();Df();Nf();qf();_f();Uf();Kf();Gf();Wf();zf();Bf();Hf();Vf();Jf();Yf();Xf();Zf();Qf();eg();tg();ng();rg()});var sg=m(()=>{og()});var Ko=m(()=>{Gr();xf();If();sg();E();lr()});var ag=m(()=>{Ko();Ko();Ko()});function wi(e){return new Wo(e)}function mg(e,t){return wi(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function ug(e,t){return wi(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function $i(e){return je(e)&&u.HasPropertyKey(e,"~codec")&&u.IsObject(e["~codec"])&&u.HasPropertyKey(e["~codec"],"encode")&&u.HasPropertyKey(e["~codec"],"decode")}var Go,Wo,Vu=m(()=>{ag();P();z();Go=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=$i(n)?a=>this.decode(n["~codec"].decode(a)):this.decode,o=$i(n)?a=>n["~codec"].encode(t(a)):t,s={decode:r,encode:o};return l.Update(this.type,{"~codec":s},{})}},Wo=class{constructor(t){this.type=t}Decode(t){return new Go(this.type,t)}}});function pg(e){return Wr(e)}function hr(e){return je(e)&&u.HasPropertyKey(e,"~immutable")}var zo=m(()=>{P();z();Bo()});function In(e,t={}){return L("AddReadonly",[e],t)}function yr(e,t={}){return Do(e,t)}var Ho=m(()=>{se();di()});function cg(e){return yr(e)}function br(e){return je(e)&&u.HasPropertyKey(e,"~readonly")}var Vo=m(()=>{P();z();Ho()});function bR(e,t){let n=Ju(e)?[...e["~refine"],t]:[t];return l.Update(e,{"~refine":n},{})}function lg(...e){let[t,n,r]=yn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,()=>"Refine Error"]});return bR(t,{check:n,error:r})}function IR(e){return u.IsObjectNotArray(e)&&u.HasPropertyKey(e,"check")&&u.HasPropertyKey(e,"error")&&u.IsFunction(e.check)&&u.IsFunction(e.error)}function Ju(e){return je(e)&&u.HasPropertyKey(e,"~refine")&&u.IsArray(e["~refine"])&&u.Every(e["~refine"],0,t=>IR(t))}var Yu=m(()=>{Gr();E();P();z()});function Jo(e){return l.Create({"~kind":"BigInt"},{type:"bigint"},e)}function $n(e){return M(e,"BigInt")}var dg,Ir=m(()=>{E();z();dg="-?(?:0|[1-9][0-9]*)n"});function ki(e){return l.Create({"~kind":"Boolean"},{type:"boolean"},e)}function zt(e){return M(e,"Boolean")}var Vn=m(()=>{E();z()});function Yo(e){return l.Create({"~kind":"Identifier"},{name:e})}function fg(e){return M(e,"Identifier")}var Xu=m(()=>{E();z()});function $r(e){return l.Create({"~kind":"Integer"},{type:"integer"},e)}function ct(e){return M(e,"Integer")}var Ti,wn=m(()=>{E();z();Ti="-?(?:0|[1-9][0-9]*)"});function $R(e){return u.IsBigInt(e)?"bigint":u.IsBoolean(e)?"boolean":u.IsNumber(e)?"number":u.IsString(e)?"string":(()=>{throw new Zu(e)})()}function ee(e,t){return l.Create({"~kind":"Literal"},{type:$R(e),const:e},t)}function Ei(e){return u.IsBigInt(e)||u.IsBoolean(e)||u.IsNumber(e)||u.IsString(e)}function gg(e){return ue(e)&&u.IsNumber(e.const)}function xg(e){return ue(e)&&u.IsString(e.const)}function ue(e){return M(e,"Literal")}var Zu,Oe=m(()=>{E();P();z();Zu=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function zr(e){return l.Create({"~kind":"Null"},{type:"null"},e)}function Br(e){return M(e,"Null")}var Hr=m(()=>{E();z()});function St(e){return l.Create({"~kind":"Number"},{type:"number"},e)}function Me(e){return M(e,"Number")}var vi,lt=m(()=>{E();z();vi="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function Vr(e){return l.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Jn(e){return M(e,"Symbol")}var wr=m(()=>{E();z()});function kr(...e){let[t,n,r]=yn.Match(e,{3:(o,s,a)=>[o,s,a],2:(o,s)=>[o,s,s],1:o=>[o,He(),He()]});return l.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function hg(e){return M(e,"Parameter")}var Qu=m(()=>{Gr();E();z();Ze()});function Bt(e){return l.Create({"~kind":"String"},{type:"string"},e)}function dt(e){return M(e,"String")}var Si,Ht=m(()=>{E();z();Si=".*"});function H(e,t={}){return l.Create({"~kind":"Union"},{anyOf:e},t)}function C(e){return M(e,"Union")}function yg(e){return l.Discard(e,["~kind","anyOf"])}var V=m(()=>{E();z()});function Xo(e){let t=bg(e);return u.IsEqual(t.length,2)?t[0]:[]}var Zo=m(()=>{P();Pi()});function wR(e){return!0}function Ig(e){return u.ShiftLeft(e,(t,n)=>kR(t)?Ig(n):!1,()=>!0)}function $g(e){return u.IsEqual(e.length,0)?!1:Ig(e)}function kR(e){return C(e)?$g(e.anyOf):ue(e)?wR(e.const):!1}function Ri(e){return $g(e)}var Ai=m(()=>{P();Oe();V()});function Oi(e){return l.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Mi=m(()=>{E()});function wg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>wg(o,t,[...n,`${r}${t}`]),()=>n)}function TR(e,t){return u.IsEqual(e.length,0)?[`${t}`]:wg(e,t)}function kg(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>kg(e,o,[...n,...Tg(e,r)]),()=>n)}function Tg(e,t){return C(t)?kg(e,t.anyOf):ue(t)?TR(e,t.const):De()}function Eg(e,t){return u.ShiftLeft(t,(n,r)=>Eg(Tg(e,n),r),()=>e)}function ER(e){return e.map(t=>ee(t))}function vR(e){let t=Eg([],e),n=ER(t);return H(n)}function SR(e){return u.IsEqual(e.length,0)?De():u.IsEqual(e.length,1)&&ue(e[0])?e[0]:vR(e)}function ep(e){let t=Xo(e);return u.IsEqual(t.length,0)?Bt():Ri(t)?SR(t):Oi(e)}function vg(e){let t=ep(e);return Se(t)?Bt():t}var Ci=m(()=>{P();bn();Oe();Ht();It();V();Zo();Ai();Mi()});function $t(e,t){let n="object",r={[e]:t};return l.Create({"~kind":"Record"},{type:n,patternProperties:r})}var Yn=m(()=>{E()});function Sg(e){return $t(rn,e)}var Pg=m(()=>{Ve();Yn()});function Rg(e){return _({true:e,false:e})}var Ag=m(()=>{ce()});function Ce(e,t={}){let[n,r,o]=[e,e.length,!1];return l.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function ge(e){return M(e,"Tuple")}function Og(e){return l.Discard(e,["~kind","type","items","minItems","additionalItems"])}var Ne=m(()=>{E();z()});function PR(e){return l.Discard(e,["~readonly"])}function tp(e,t){return l.Update(PR(e),{},t)}function Mg(e,t,n,r){let o=k(e,t,n);return tp(o,r)}var np=m(()=>{E();N()});function Cg(e,t={}){return L("RemoveReadonly",[e],t)}function Lg(e,t={}){return tp(e,t)}var rp=m(()=>{se();np()});function RR(e){return l.Discard(e,["~optional"])}function op(e,t){return l.Update(RR(e),{},t)}function jg(e,t,n,r){let o=k(e,t,n);return op(o,r)}var sp=m(()=>{E();N()});function Fg(e,t={}){return L("RemoveOptional",[e],t)}function Li(e,t={}){return op(e,t)}var ji=m(()=>{se();sp()});function ip(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function Dg(e){let t=ip(e.items);return _(t)}var ap=m(()=>{ce()});function mp(e){return me(e)||ge(e)}function AR(e,t){return br(e)?!!br(t):!1}function OR(e,t){return rt(e)?!!rt(t):!1}function MR(e,t){let n=AR(e,t),r=OR(e,t),o=we([e,t]),s=Lg(Li(o));return n&&r?yr(fr(s)):n&&!r?yr(s):!n&&r?fr(s):s}function CR(e,t,n){return n in e?n in t?MR(e[n],t[n]):e[n]:n in t?t[n]:le()}function LR(e,t){return[...new Set([...u.Keys(e),...u.Keys(t)])].reduce((o,s)=>({...o,[s]:CR(e,t,s)}),{})}function Ng(e){return me(e)?e.properties:ge(e)?ip(e.items):{}}function qg(e,t){let n=Ng(e),r=Ng(t),o=LR(n,r);return _(o)}var up=m(()=>{P();Vo();Hn();ce();Be();Ne();Ho();_o();rp();ji();ap();B()});function jR(e,t){let n=ts(e,t);return u.IsEqual(n,es)?e:u.IsEqual(n,Fi)||u.IsEqual(n,Qo)?t:le()}function FR(e,t){let n=mp(e),r=mp(t);return n&&r?qg(e,t):n&&!r?e:!n&&r?t:jR(e,t)}function _g(e,t){return tn(e)||Te(e)?e:Re(e)||tn(t)||Te(t)?t:Re(t)?e:FR(e,t)}var pp=m(()=>{P();ht();Be();Ze();ns();up()});function DR(e,t){return C(e)||C(t)}function NR(e,t){let n=Vt(e),r=Vt(t);return DR(n,r)?we([n,r]):_g(n,r)}function Ug(e,t,n=[]){return u.ShiftLeft(t,(r,o)=>Ug(e,o,[...n,NR(r,e)]),()=>u.IsEqual(n.length,0)?[e]:n)}function Kg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Kg(o,t,[...n,...rs([r],t)]),()=>n)}function rs(e,t=[]){return u.ShiftLeft(e,(n,r)=>C(n)?rs(r,Kg(n.anyOf,t)):rs(r,Ug(n,t)),()=>t)}var cp=m(()=>{P();V();pp();B();B()});function qR(e,t){let n=tt({},e,t);return U.IsExtendsTrueLike(n)?[]:[e]}function Gg(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Gg(o,t,[...n,...qR(r,t)]),()=>n)}function Di(e,t){let n=Vt(e),r=C(n)?n.anyOf:[n],o=Gg(r,t);return wt(o)}var lp=m(()=>{P();V();kn();B();B()});function on(e,t,n){let r=we([e,t]),o=Di(n,e);return wt([r,o])}function ft(e,t=[]){return u.ShiftLeft(e,(n,r)=>ft(r,[...t,ee(n)]),()=>wt(t))}function we(e){let t=rs(e),n=dp(t);return wt(n)}function ot(e){let t=vg(e);return Vt(t)}function wt(e){let t=dp(e);return Xn(t)}function Vt(e){return ve(e)?on(e.if,e.then,e.else):et(e)?ft(e.enum):Q(e)?we(e.allOf):Se(e)?ot(e.pattern):C(e)?wt(e.anyOf):e}function Xn(e){return u.IsEqual(e.length,1)?e[0]:u.IsEqual(e.length,0)?le():H(e)}var B=m(()=>{P();vt();nn();Fe();Oe();Be();It();V();cp();fp();lp();Ci()});function Wg(e,t){let n=ft(e);return Zn(n,t)}var zg=m(()=>{os();B()});function Bg(e,t){return $t(Qn,t)}var Hg=m(()=>{Ve();Yn()});function Vg(e,t){let n=we(e);return Zn(n,t)}var Jg=m(()=>{B();os()});function Yg(e,t){return u.IsString(e)||u.IsNumber(e)?_({[e]:t}):u.IsEqual(e,!1)?_({false:t}):u.IsEqual(e,!0)?_({true:t}):_({})}var Xg=m(()=>{P();ce()});function Zg(e,t){return $t(Jr,t)}var Qg=m(()=>{Ve();Yn()});function ex(e,t){return u.HasPropertyKey(e,"pattern")&&(u.IsString(e.pattern)||e.pattern instanceof RegExp)?$t(e.pattern.toString(),t):$t(rn,t)}var tx=m(()=>{P();Ve();Yn()});function nx(e,t){let n=Xo(e);return Ri(n)?Zn(ot(e),t):$t(e,t)}var rx=m(()=>{os();Zo();Ai();B();Yn()});function _R(e){return C(e)?Yr(e.anyOf):[e]}function Yr(e,t=[]){return u.ShiftLeft(e,(n,r)=>Yr(r,[...t,..._R(n)]),()=>t)}var Ni=m(()=>{P();V()});function UR(e){return e.some(t=>dt(t)||Me(t)||ct(t))}function KR(e,t){return u.IsEqual(UR(e),!0)?$t(rn,t):void 0}function GR(e,t){return e.reduce((n,r)=>ue(r)&&(u.IsString(r.const)||u.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function WR(e,t){let n=GR(e,t);return _(n)}function ox(e,t){let n=Yr(e),r=KR(n,t);return je(r)?r:WR(n,t)}var sx=m(()=>{P();z();Oe();lt();wn();ce();Ht();Ve();Ni();Yn()});function Zn(e,t){return Te(e)?Sg(t):zt(e)?Rg(t):et(e)?Wg(e.enum,t):ct(e)?Bg(e,t):Q(e)?Vg(e.allOf,t):ue(e)?Yg(e.const,t):Me(e)?Zg(e,t):C(e)?ox(e.anyOf,t):dt(e)?ex(e,t):Se(e)?nx(e.pattern,t):_({})}var os=m(()=>{ht();Vn();nn();Fe();wn();Oe();lt();ce();Ht();It();V();Pg();Ag();zg();Hg();Jg();Xg();Qg();tx();rx();sx()});function gp(e,t,n){return G([e])?l.Update(Zn(e,t),{},n):_i(e,t,n)}function ix(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return gp(s,a,o)}var qi=m(()=>{E();Ve();os();N()});function _i(e,t,n={}){return L("Record",[e,t],n)}function Ui(e,t,n={}){return gp(e,t,n)}function ax(e,t){return $t(e,t)}function Ki(e){return u.IsEqual(e,rn)?Bt():u.IsEqual(e,Qn)?$r():u.IsEqual(e,Jr)?St():ep(e)}function Jt(e){return u.Keys(e.patternProperties)[0]}function Xr(e){let t=Jt(e);return Ki(t)}function gt(e){return e.patternProperties[Jt(e)]}function nt(e){return M(e,"Record")}var Qn,Jr,rn,Ve=m(()=>{E();P();z();wn();lt();Ht();se();Ci();Yn();qi();Qn=`^${Ti}$`,Jr=`^${vi}$`,rn=`^${Si}$`});function Tr(e){return l.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function er(e){return M(e,"Rest")}var Zr=m(()=>{E();z()});var mx=m(()=>{});function Gi(e){return l.Create({"~kind":"This"},{$ref:"#"},e)}function Wi(e){return M(e,"This")}var zi=m(()=>{E();z()});function Qr(e){return l.Create({"~kind":"Undefined"},{type:"undefined"},e)}function eo(e){return M(e,"Undefined")}var to=m(()=>{E();z()});function Bi(e){return l.Create({"~kind":"Void"},{type:"void"},e)}function Tn(e){return M(e,"Void")}var Er=m(()=>{E();z()});var Hi=m(()=>{Vu();zo();Hn();Vo();Yu();ht();pt();Ir();Vn();no();Ut();yt();se();nn();Kt();qo();Xu();vt();Wt();wn();Fe();Oe();Be();Hr();lt();Ze();wr();ce();Qu();gr();Ve();Gt();Zr();z();mx();Ht();wr();It();zi();Ne();to();V();Ze();bi();Er()});function BR(e,t){return u.IsEqual(e,"Array")?Lt(t[0]):u.IsEqual(e,"Capitalize")?Ji(t[0]):u.IsEqual(e,"ConstructorParameters")?ea(t[0]):u.IsEqual(e,"Evaluate")?py(t[0]):u.IsEqual(e,"Exclude")?ta(t[0],t[1]):u.IsEqual(e,"Extract")?na(t[0],t[1]):u.IsEqual(e,"Index")?ms(t[0],t[1]):u.IsEqual(e,"InstanceType")?ra(t[0]):u.IsEqual(e,"Lowercase")?Yi(t[0]):u.IsEqual(e,"NonNullable")?oa(t[0]):u.IsEqual(e,"Omit")?sa(t[0],t[1]):u.IsEqual(e,"Parameters")?ia(t[0]):u.IsEqual(e,"Partial")?aa(t[0]):u.IsEqual(e,"Pick")?ma(t[0],t[1]):u.IsEqual(e,"Readonly")?ua(t[0]):u.IsEqual(e,"KeyOf")?us(t[0]):u.IsEqual(e,"Record")?_i(t[0],t[1]):u.IsEqual(e,"Required")?pa(t[0]):u.IsEqual(e,"ReturnType")?ca(t[0]):u.IsEqual(e,"Uncapitalize")?Xi(t[0]):u.IsEqual(e,"Uppercase")?Zi(t[0]):as(jn(e),t)}function vr(){throw Error("Unreachable")}function dx(e,t=[]){return u.ShiftLeft(e,(n,r)=>dx(r,[...t,n[1]]),()=>t)}function Fn(e){return u.IsEqual(e.length,3)?[e[0],...dx(e[1])]:[]}function fx(e){return kr(e[0],e[2],e[4])}function gx(e){return kr(e[0],e[2],e[2])}function xx(e){return kr(e[0],He(),e[2])}function hx(e){return kr(e,He(),He())}function yx(e){return Fn(e)}function bx(e){return e[1]}function Ix(e){return Fn(e)}function $x(e){return e[1]}function wx(e){return BR(e[0],e[1])}function kx(e){return null}function Tx(e){return Bt()}function Ex(e){return St()}function vx(e){return ki()}function Sx(e){return Qr()}function Px(e){return zr()}function Rx(e){return $r()}function Ax(e){return Jo()}function Ox(e){return He()}function Mx(e){return Kr()}function Cx(e){return _({})}function Lx(e){return le()}function jx(e){return Vr()}function Fx(e){return Bi()}function Dx(e){return Gi()}function Nx(e){return ee(BigInt(e))}function qx(e){return ee(u.IsEqual(e,"true"))}function _x(e){return ee(parseFloat(e))}function Ux(e){return ee(e)}function Kx(e){return e[1]}function Gx(e){return ee(e)}function Wx(e){return u.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function zx(e){return e[1]}function Bx(e){return Vi(e)}function Hx(e){return u.IsEqual(e.length,6)?xr(e[1],e[3],e[5]):xr(e[1],e[3],He())}function Vx(e){return e.length>0}function Jx(e){return e.reduce((t,n)=>u.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function Yx(e){return u.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function Xx(e){return u.IsArray(e)&&u.IsEqual(e.length,3)?e[1]:e}function Zx(e){return u.IsEqual(e.length,2)?e[1]:[]}function ux(e,t){return t.reduce((n,r)=>{let o=r;return u.IsEqual(o.length,1)?ms(n,o[0]):u.IsEqual(o.length,0)?Lt(n):vr()},e)}function px(e,t){return u.IsEqual(t.length,3)?Qi(e,t[0],t[1],t[2]):e}function HR(e,t){return u.IsArray(t)&&u.IsEqual(t.length,0)?e:la(e,t)}function Qx(e){let[t,n,r,o,s]=e;return HR(px(t?us(ux(n,r)):ux(n,r),o),s)}function xp(e,t){return u.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=xp(r,o);if(u.IsEqual(n,"&"))return Q(s)?bt([e,...s.allOf]):bt([e,s]);if(u.IsEqual(n,"|"))return C(s)?H([e,...s.anyOf]):H([e,s]);vr()})():e}function eh(e){let[t,n]=e;return xp(t,n)}function th(e){let[t,n]=e;return xp(t,n)}function nh(e){return uy(e[1])}function rh(e){return e[1]}function oh(e){return Bn(e[0],e[2])}function sh(e){return u.IsEqual(e.length,4)?Uo(e[1],e[3]):u.IsEqual(e.length,2)?Uo(e[1],He()):vr()}function ih(e){return`${e}`}function ah(e){return ct(e[3])?Qn:Me(e[3])?Jr:Jn(e[3])?rn:dt(e[3])?rn:vr()}function mh(e){return e.length>0}function uh(e){return e.length>0}function ph(e){let[t,n,r,o,s]=e;return{[n]:t&&r?In(xn(s)):t&&!r?In(s):!t&&r?xn(s):s}}function ch(e){return Fn(e)}function lh(e){return e.reduce((t,n)=>u.HasPropertyKey(n,Qn)||u.HasPropertyKey(n,Jr)||u.HasPropertyKey(n,rn)?[t[0],l.Assign(t[1],n)]:[l.Assign(t[0],n),t[1]],[{},{}])}function dh(e){return lh(e[1])}function fh(e){let[t,n]=e,r=u.IsEqual(u.Keys(n).length,0)?{}:{patternProperties:n};return _(t,r)}function gh(e){return u.IsEqual(e.length,5)?In(xn(e[4])):u.IsEqual(e.length,3)?e[2]:u.IsEqual(e.length,4)?u.IsEqual(e[2],"readonly")?In(e[3]):xn(e[3]):vr()}function xh(e){if(!u.IsArray(e)||!u.IsEqual(e.length,3))return e;let[t,n,r]=e;return t&&r?In(xn(n)):t&&!r?In(n):!t&&r?xn(n):n}function hh(e){return u.IsEqual(e.length,2)?Tr(e[1]):u.IsEqual(e.length,1)?e[0]:vr()}function yh(e){return Fn(e)}function bh(e){return Ce(e[1])}function Ih(e){return In(xn(e[4]))}function $h(e){return In(e[3])}function wh(e){return xn(e[3])}function kh(e){return e[2]}function Th(e){return u.IsEqual(e.length,2)?Tr(e[1]):u.IsEqual(e.length,1)?e[0]:vr()}function Eh(e){return Fn(e)}function vh(e){return gn(e[1],e[4])}function Sh(e){return fn(e[2],e[5])}function cx(e,t){return u.IsEqual(e,"remove")?Cg(t):u.IsEqual(e,"add")?In(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 lx(e,t){return u.IsEqual(e,"remove")?Fg(t):u.IsEqual(e,"add")?xn(t):t}function Rh(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 Oh(e){return u.IsArray(e[6])&&u.IsEqual(e[6].length,1)?ss(Yo(e[3]),e[5],e[6][0],cx(e[1],lx(e[8],e[10]))):ss(Yo(e[3]),e[5],jn(e[3]),cx(e[1],lx(e[8],e[10])))}function Mh(e){return jn(e)}function Ch(e){return BigInt(e)}function Lh(e){return parseFloat(e)}function jh(e){return u.IsEqual(e,"true")}function Fh(e){return null}function Dh(e){return{[e[0]]:e[2]}}function Nh(e){return Fn(e)}function VR(e){return e.reduce((t,n)=>l.Assign(t,n),{})}function qh(e){return VR(e[1])}function _h(e){return Fn(e)}function Uh(e){return e[1]}function Kh(e){return Jo()}function Gh(e){return Bt()}function Wh(e){return St()}function zh(e){return $r()}function Bh(e){return le()}function Hh(e){return ee(e)}function Vh(e){return H(e[1])}function Jh(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function Yh(e){return[e[0],...e[1]]}function Xh(e){return e[1]}function Zh(e){return Fn(e)}function Qh(e){return u.IsEqual(e.length,2)?e[1]:[]}function ey(e){let t=e[2],n=e[3],[r,o]=e[4],s=u.IsEqual(u.Keys(o).length,0)?{}:{patternProperties:o};return{[e[1]]:Bn(t,is(n,r,s))}}function ty(e){let t=e[2],[n,r]=e[3],o=u.IsEqual(u.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:is(t,n,o)}}function ny(e){return{[e[1]]:Bn(e[2],e[4])}}function ry(e){return{[e[1]]:e[3]}}function oy(e){return null}function sy(e){return Fn(e)}function iy(e){return e[1]}function ay(e){let[t,n]=[e[0],e[1]];return cy(l.Assign(t,lh(n)[0]))}var my=m(()=>{E();P();Hi();ro()});var Dn=m(()=>{_r()});function ps(e){return re(e.length,2)}function Y(e,t,n){return ps(e)?t(e[0],e[1]):n()}var Pt=m(()=>{Dn()});function XR(e,t){return re(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Ee(e,t){for(let n=0;n<e.length;n++){let r=XR(e[n],t);if(ps(r))return r}return[]}var En=m(()=>{Pt();Dn()});function hp(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var ly,yp,bp,oo,dy,so,tr,da,fy,fa,st=m(()=>{ly=[...hp(97,122),...hp(65,90)],yp="0",bp=hp(49,57),oo=[yp,...bp],dy=" ",so=`
10
+ `,tr="_",da=".",fy="$",fa="-"});function hy(e){let t=e.indexOf(QR);return re(t,-1)?"":e.slice(t+2)}function yy(e){let t=e.indexOf(so);return re(t,-1)?"":e.slice(t)}function eA(e){return e.replace(/^[ \t\r\f\v]+/,"")}function ga(e){let t=eA(e);return t.startsWith(xy)?ga(hy(t.slice(2))):t.startsWith(gy)?ga(yy(t.slice(2))):t}function Je(e){let t=e.trimStart();return t.startsWith(xy)?Je(hy(t.slice(2))):t.startsWith(gy)?Je(yy(t.slice(2))):t}var gy,xy,QR,vn=m(()=>{Dn();st();gy="//",xy="/*",QR="*/"});function xa(e,t){return Y(Ee([e],t),(n,r)=>[n,r],()=>["",t])}var Ip=m(()=>{Pt();En()});function tA(e,t){return e.includes(t)}function io(e,t,n,r=""){return Y(Ee(e,n),(o,s)=>tA(t,o)?io(e,t,s,r):io(e,t,s,`${r}${o}`),()=>[r,n])}var $p=m(()=>{Pt();En()});function nA(e){return Ee(bp,e)}function oA(e){return io(rA,[tr],e)}function sA(e){return Y(Ee([yp],e),(t,n)=>[t,n],()=>Y(nA(e),(t,n)=>Y(oA(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function ha(e){return sA(Je(e))}var rA,ya=m(()=>{Pt();vn();En();$p();st();st();st();st();rA=[...oo,tr]});function iA(e){return xa(fa,e)}function aA(e){return Y(iA(e),(t,n)=>Y(ha(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function by(e){return aA(Je(e))}var wp=m(()=>{Pt();vn();Ip();st();ya()});function mA(e){return Y(by(e),(t,n)=>Y(Ee(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function kp(e){return mA(e)}var Iy=m(()=>{Pt();En();wp()});function Tp(e,t){return Ee([e],t)}function f(e,t){return re(e,"")?["",t]:e.startsWith(so)?Tp(e,ga(t)):e.startsWith(dy)?Tp(e,t):Tp(e,Je(t))}var $y=m(()=>{Dn();vn();vn();En();st();st()});function uA(e){return Ee(wy,e)}function ky(e,t=""){return Y(Ee(pA,e),(n,r)=>ky(r,`${t}${n}`),()=>[t,e])}function cA(e){return Y(uA(e),(t,n)=>Y(ky(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Pe(e){return cA(Je(e))}var wy,pA,Ty=m(()=>{Pt();vn();En();st();st();st();st();wy=[...ly,tr,fy];pA=[...wy,...oo]});function dA(e){return ps(Ee([da],e))}function Ey(e){return Y(io(lA,[tr],e),(t,n)=>re(t,"")?[]:[t,n],()=>[])}function fA(e){return Y(Ee([da],e),(t,n)=>Y(Ey(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function gA(e){return Y(ha(e),(t,n)=>Y(Ee([da],n),(r,o)=>Y(Ey(o),(s,a)=>[`${t}${r}${s}`,a],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function xA(e){return dA(e)?fA(e):gA(e)}function vy(e){return xA(Je(e))}var lA,Ep=m(()=>{Dn();Pt();vn();En();$p();st();st();ya();lA=[...oo,tr]});function hA(e){return xa(fa,e)}function yA(e){return Y(hA(e),(t,n)=>Y(vy(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function ba(e){return yA(Je(e))}var Sy=m(()=>{Pt();vn();Ip();st();Ep()});var Py=m(()=>{Dn()});function bA(e){return re(e,"")?[]:[e.slice(0,1),e.slice(1)]}function Ry(e,t){return ci(e,(n,r)=>t.startsWith(n)?!0:Ry(r,t),()=>!1)}function nr(e,t,n=""){return Y(bA(t),(r,o)=>Ry(e,t)?[n,t]:nr(e,o,`${n}${r}`),()=>[])}var Ia=m(()=>{Pt();Dn()});function IA(e,t,n){return Y(Ee([e],n),(r,o)=>Y(nr([t],o),(s,a)=>Y(Ee([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function $A(e,t,n){return Y(Ee([e],n),(r,o)=>Y(nr([so,t],o),(s,a)=>Y(Ee([t],a),(p,c)=>[`${s}`,c],()=>[]),()=>[]),()=>[])}function Ay(e,t,n,r){return n?IA(e,t,Je(r)):$A(e,t,Je(r))}var vp=m(()=>{Pt();vn();st();En();Ia()});function wA(e,t){return Ee(e,t)}function kA(e,t){return Ay(e,e,!1,t)}function TA(e,t){return Y(wA(e,t),(n,r)=>kA(n,`${n}${r}`),()=>[])}function $a(e,t){return TA(e,Je(t))}var Oy=m(()=>{Pt();En();vn();vp()});function My(e,t){return Y(nr(e,t),(n,r)=>re(n,"")?[]:[n,r],()=>[])}var Cy=m(()=>{Dn();Pt();Ia()});var Ly=m(()=>{Iy();$y();Ty();wp();Sy();Py();vp();Oy();ya();Ep();Cy();Ia()});var i,vA,SA,PA,RA,Dy,Ny,AA,Rp,qy,OA,MA,CA,_y,Uy,Ky,LA,jA,FA,Gy,DA,NA,qA,_A,UA,Wy,KA,GA,WA,Sp,zy,Ap,zA,BA,HA,VA,JA,YA,XA,By,ZA,QA,eO,tO,Hy,Vy,Jy,Yy,wa,nO,rO,oO,sO,oe,iO,aO,mO,uO,Xy,Zy,Qy,eb,ka,tb,pO,Op,cO,lO,jy,nb,rb,dO,fO,gO,xO,hO,yO,Fy,ob,sb,ib,bO,IO,$O,wO,kO,TO,EO,vO,SO,PO,RO,AO,OO,ab,mb,MO,ub,pb,CO,LO,Mp,jO,FO,DO,NO,qO,_O,UO,KO,cb,Pp,Cp,bg,lb,GO,db,WO,zO,BO,HO,VO,fb,gb,JO,Lp,YO,xb,Pi=m(()=>{my();Ly();i=(e,t,n=()=>[])=>e.length===2?t(e):n(),vA=e=>i(i(Pe(e),([t,n])=>i(f("extends",n),([r,o])=>i(oe(o),([s,a])=>i(f("=",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[fx(t),n]),SA=e=>i(i(Pe(e),([t,n])=>i(f("extends",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[gx(t),n]),PA=e=>i(i(Pe(e),([t,n])=>i(f("=",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[xx(t),n]),RA=e=>i(Pe(e),([t,n])=>[hx(t),n]),Dy=e=>i(i(vA(e),([t,n])=>[t,n],()=>i(SA(e),([t,n])=>[t,n],()=>i(PA(e),([t,n])=>[t,n],()=>i(RA(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[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]),AA=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])=>[yx(t),n]),Rp=e=>i(i(f("<",e),([t,n])=>i(AA(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[bx(t),n]),qy=(e,t=[])=>i(i(f(",",e),([n,r])=>i(oe(r),([o,s])=>[[n,o],s])),([n,r])=>qy(r,[...t,n]),()=>[t,e]),OA=e=>i(i(i(oe(e),([t,n])=>i(qy(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])=>[Ix(t),n]),MA=e=>i(i(f("<",e),([t,n])=>i(OA(n),([r,o])=>i(f(">",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[$x(t),n]),CA=e=>i(i(Pe(e),([t,n])=>i(MA(n),([r,o])=>[[t,r],o])),([t,n])=>[wx(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])=>[kx(t),n]),Uy=e=>i(f("string",e),([t,n])=>[Tx(t),n]),Ky=e=>i(f("number",e),([t,n])=>[Ex(t),n]),LA=e=>i(f("boolean",e),([t,n])=>[vx(t),n]),jA=e=>i(f("undefined",e),([t,n])=>[Sx(t),n]),FA=e=>i(f("null",e),([t,n])=>[Px(t),n]),Gy=e=>i(f("integer",e),([t,n])=>[Rx(t),n]),DA=e=>i(f("bigint",e),([t,n])=>[Ax(t),n]),NA=e=>i(f("unknown",e),([t,n])=>[Ox(t),n]),qA=e=>i(f("any",e),([t,n])=>[Mx(t),n]),_A=e=>i(f("object",e),([t,n])=>[Cx(t),n]),UA=e=>i(f("never",e),([t,n])=>[Lx(t),n]),Wy=e=>i(f("symbol",e),([t,n])=>[jx(t),n]),KA=e=>i(f("void",e),([t,n])=>[Fx(t),n]),GA=e=>i(f("this",e),([t,n])=>[Dx(t),n]),WA=e=>i(i(f("${",e),([t,n])=>i(oe(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Kx(t),n]),Sp=e=>i(nr(["${","`"],e),([t,n])=>[Gx(t),n]),zy=e=>i(i(i(Sp(e),([t,n])=>i(WA(n),([r,o])=>i(zy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Sp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i(i(Sp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Wx(t),n]),Ap=e=>i(i(f("`",e),([t,n])=>i(zy(n),([r,o])=>i(f("`",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[zx(t),n]),zA=e=>i(Ap(e),([t,n])=>[Bx(t),n]),BA=e=>i(i(i(f("if",e),([t,n])=>i(oe(n),([r,o])=>i(f("then",o),([s,a])=>i(oe(a),([p,c])=>i(f("else",c),([h,I])=>i(oe(I),([v,O])=>[[t,r,s,p,h,v],O])))))),([t,n])=>[t,n],()=>i(i(f("if",e),([t,n])=>i(oe(n),([r,o])=>i(f("then",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Hx(t),n]),HA=e=>i(kp(e),([t,n])=>[Nx(t),n]),VA=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[qx(t),n]),JA=e=>i(ba(e),([t,n])=>[_x(t),n]),YA=e=>i($a(["'",'"'],e),([t,n])=>[Ux(t),n]),XA=e=>i(i(i(f("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Vx(t),n]),By=(e,t=[])=>i(i(i(f("[",e),([n,r])=>i(oe(r),([o,s])=>i(f("]",s),([a,p])=>[[n,o,a],p]))),([n,r])=>[n,r],()=>i(i(f("[",e),([n,r])=>i(f("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>By(r,[...t,n]),()=>[t,e]),ZA=e=>i(By(e),([t,n])=>[Jx(t),n]),QA=e=>i(i(i(f("extends",e),([t,n])=>i(oe(n),([r,o])=>i(f("?",o),([s,a])=>i(oe(a),([p,c])=>i(f(":",c),([h,I])=>i(oe(I),([v,O])=>[[t,r,s,p,h,v],O])))))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Yx(t),n]),eO=e=>i(i(i(f("(",e),([t,n])=>i(oe(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(Uy(e),([t,n])=>[t,n],()=>i(Ky(e),([t,n])=>[t,n],()=>i(LA(e),([t,n])=>[t,n],()=>i(jA(e),([t,n])=>[t,n],()=>i(FA(e),([t,n])=>[t,n],()=>i(Gy(e),([t,n])=>[t,n],()=>i(DA(e),([t,n])=>[t,n],()=>i(NA(e),([t,n])=>[t,n],()=>i(qA(e),([t,n])=>[t,n],()=>i(_A(e),([t,n])=>[t,n],()=>i(UA(e),([t,n])=>[t,n],()=>i(Wy(e),([t,n])=>[t,n],()=>i(KA(e),([t,n])=>[t,n],()=>i(GA(e),([t,n])=>[t,n],()=>i(HA(e),([t,n])=>[t,n],()=>i(VA(e),([t,n])=>[t,n],()=>i(JA(e),([t,n])=>[t,n],()=>i(YA(e),([t,n])=>[t,n],()=>i(zA(e),([t,n])=>[t,n],()=>i(BA(e),([t,n])=>[t,n],()=>i(cO(e),([t,n])=>[t,n],()=>i(fO(e),([t,n])=>[t,n],()=>i(IO(e),([t,n])=>[t,n],()=>i(bO(e),([t,n])=>[t,n],()=>i(TO(e),([t,n])=>[t,n],()=>i(CA(e),([t,n])=>[t,n],()=>i(EO(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[Xx(t),n]),tO=e=>i(i(i(f("with",e),([t,n])=>i(ub(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Zx(t),n]),Hy=e=>i(i(XA(e),([t,n])=>i(eO(n),([r,o])=>i(ZA(o),([s,a])=>i(QA(a),([p,c])=>i(tO(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[Qx(t),n]),Vy=e=>i(i(i(f("&",e),([t,n])=>i(Hy(n),([r,o])=>i(Vy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Jy=e=>i(i(Hy(e),([t,n])=>i(Vy(n),([r,o])=>[[t,r],o])),([t,n])=>[eh(t),n]),Yy=e=>i(i(i(f("|",e),([t,n])=>i(Jy(n),([r,o])=>i(Yy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),wa=e=>i(i(Jy(e),([t,n])=>i(Yy(n),([r,o])=>[[t,r],o])),([t,n])=>[th(t),n]),nO=e=>i(i(f("readonly",e),([t,n])=>i(wa(n),([r,o])=>[[t,r],o])),([t,n])=>[nh(t),n]),rO=e=>i(i(f("|",e),([t,n])=>i(wa(n),([r,o])=>[[t,r],o])),([t,n])=>[rh(t),n]),oO=e=>i(i(Rp(e),([t,n])=>i(f("=",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[oh(t),n]),sO=e=>i(i(i(f("infer",e),([t,n])=>i(Pe(n),([r,o])=>i(f("extends",o),([s,a])=>i(wa(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(f("infer",e),([t,n])=>i(Pe(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[sh(t),n]),oe=e=>i(i(sO(e),([t,n])=>[t,n],()=>i(rO(e),([t,n])=>[t,n],()=>i(nO(e),([t,n])=>[t,n],()=>i(wa(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),iO=e=>i(ba(e),([t,n])=>[ih(t),n]),aO=e=>i(Pe(e),([t,n])=>[t,n]),mO=e=>i($a(["'",'"'],e),([t,n])=>[t,n]),uO=e=>i(i(f("[",e),([t,n])=>i(Pe(n),([r,o])=>i(f(":",o),([s,a])=>i(i(Gy(a),([p,c])=>[p,c],()=>i(Ky(a),([p,c])=>[p,c],()=>i(Uy(a),([p,c])=>[p,c],()=>i(Wy(a),([p,c])=>[p,c],()=>[])))),([p,c])=>i(f("]",c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[ah(t),n]),Xy=e=>i(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],()=>[])))),([t,n])=>[t,n]),Zy=e=>i(i(i(f("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[mh(t),n]),Qy=e=>i(i(i(f("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[uh(t),n]),eb=e=>i(i(Zy(e),([t,n])=>i(Xy(n),([r,o])=>i(Qy(o),([s,a])=>i(f(":",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[ph(t),n]),ka=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]),tb=(e,t=[])=>i(i(ka(e),([n,r])=>i(eb(r),([o,s])=>[[n,o],s])),([n,r])=>tb(r,[...t,n]),()=>[t,e]),pO=e=>i(i(i(eb(e),([t,n])=>i(tb(n),([r,o])=>i(i(ka(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]),Op=e=>i(i(f("{",e),([t,n])=>i(pO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[dh(t),n]),cO=e=>i(Op(e),([t,n])=>[fh(t),n]),lO=e=>i(i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[t,n],()=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[gh(t),n]),jy=e=>i(i(lO(e),([t,n])=>[t,n],()=>i(i(Zy(e),([t,n])=>i(oe(n),([r,o])=>i(Qy(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>[])),([t,n])=>[xh(t),n]),nb=e=>i(i(i(f("...",e),([t,n])=>i(jy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(jy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[hh(t),n]),rb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(nb(r),([o,s])=>[[n,o],s])),([n,r])=>rb(r,[...t,n]),()=>[t,e]),dO=e=>i(i(i(nb(e),([t,n])=>i(rb(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])=>[yh(t),n]),fO=e=>i(i(f("[",e),([t,n])=>i(dO(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[bh(t),n]),gO=e=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(f("readonly",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[Ih(t),n]),xO=e=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(f("readonly",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[$h(t),n]),hO=e=>i(i(Pe(e),([t,n])=>i(f("?",n),([r,o])=>i(f(":",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[wh(t),n]),yO=e=>i(i(Pe(e),([t,n])=>i(f(":",n),([r,o])=>i(oe(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[kh(t),n]),Fy=e=>i(i(gO(e),([t,n])=>[t,n],()=>i(xO(e),([t,n])=>[t,n],()=>i(hO(e),([t,n])=>[t,n],()=>i(yO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),ob=e=>i(i(i(f("...",e),([t,n])=>i(Fy(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i(i(Fy(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Th(t),n]),sb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(ob(r),([o,s])=>[[n,o],s])),([n,r])=>sb(r,[...t,n]),()=>[t,e]),ib=e=>i(i(i(ob(e),([t,n])=>i(sb(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])=>[Eh(t),n]),bO=e=>i(i(f("(",e),([t,n])=>i(ib(n),([r,o])=>i(f(")",o),([s,a])=>i(f("=>",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[vh(t),n]),IO=e=>i(i(f("new",e),([t,n])=>i(f("(",n),([r,o])=>i(ib(o),([s,a])=>i(f(")",a),([p,c])=>i(f("=>",c),([h,I])=>i(oe(I),([v,O])=>[[t,r,s,p,h,v],O])))))),([t,n])=>[Sh(t),n]),$O=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])=>[Ph(t),n]),wO=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])=>[Rh(t),n]),kO=e=>i(i(i(f("as",e),([t,n])=>i(oe(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ah(t),n]),TO=e=>i(i(f("{",e),([t,n])=>i($O(n),([r,o])=>i(f("[",o),([s,a])=>i(Pe(a),([p,c])=>i(f("in",c),([h,I])=>i(oe(I),([v,O])=>i(kO(O),([R,D])=>i(f("]",D),([W,Z])=>i(wO(Z),([ae,xe])=>i(f(":",xe),([ke,We])=>i(oe(We),([Dt,he])=>i(_y(he),([te,T])=>i(f("}",T),([ze,Nt])=>[[t,r,s,p,h,v,R,W,ae,ke,Dt,te,ze],Nt]))))))))))))),([t,n])=>[Oh(t),n]),EO=e=>i(Pe(e),([t,n])=>[Mh(t),n]),vO=e=>i(kp(e),([t,n])=>[Ch(t),n]),SO=e=>i(ba(e),([t,n])=>[Lh(t),n]),PO=e=>i(i(f("true",e),([t,n])=>[t,n],()=>i(f("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[jh(t),n]),RO=e=>i($a(['"',"'"],e),([t,n])=>[t,n]),AO=e=>i(f("null",e),([t,n])=>[Fh(t),n]),OO=e=>i(f("undefined",e),([t,n])=>[void 0,n]),ab=e=>i(i(Xy(e),([t,n])=>i(f(":",n),([r,o])=>i(Mp(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Dh(t),n]),mb=(e,t=[])=>i(i(ka(e),([n,r])=>i(ab(r),([o,s])=>[[n,o],s])),([n,r])=>mb(r,[...t,n]),()=>[t,e]),MO=e=>i(i(i(ab(e),([t,n])=>i(mb(n),([r,o])=>i(i(ka(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]),ub=e=>i(i(f("{",e),([t,n])=>i(MO(n),([r,o])=>i(f("}",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[qh(t),n]),pb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(Mp(r),([o,s])=>[[n,o],s])),([n,r])=>pb(r,[...t,n]),()=>[t,e]),CO=e=>i(i(i(Mp(e),([t,n])=>i(pb(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]),LO=e=>i(i(f("[",e),([t,n])=>i(CO(n),([r,o])=>i(f("]",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Uh(t),n]),Mp=e=>i(i(vO(e),([t,n])=>[t,n],()=>i(SO(e),([t,n])=>[t,n],()=>i(PO(e),([t,n])=>[t,n],()=>i(RO(e),([t,n])=>[t,n],()=>i(AO(e),([t,n])=>[t,n],()=>i(OO(e),([t,n])=>[t,n],()=>i(ub(e),([t,n])=>[t,n],()=>i(LO(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),jO=e=>i(f("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Kh(t),n]),FO=e=>i(f(".*",e),([t,n])=>[Gh(t),n]),DO=e=>i(f("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Wh(t),n]),NO=e=>i(f("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[zh(t),n]),qO=e=>i(f("(?!)",e),([t,n])=>[Bh(t),n]),_O=e=>i(My(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Hh(t),n]),UO=e=>i(i(jO(e),([t,n])=>[t,n],()=>i(FO(e),([t,n])=>[t,n],()=>i(DO(e),([t,n])=>[t,n],()=>i(NO(e),([t,n])=>[t,n],()=>i(qO(e),([t,n])=>[t,n],()=>i(KO(e),([t,n])=>[t,n],()=>i(_O(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),KO=e=>i(i(f("(",e),([t,n])=>i(Cp(n),([r,o])=>i(f(")",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Vh(t),n]),cb=e=>i(i(i(Pp(e),([t,n])=>i(f("|",n),([r,o])=>i(cb(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i(i(Pp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[Jh(t),n]),Pp=e=>i(i(UO(e),([t,n])=>i(Cp(n),([r,o])=>[[t,r],o])),([t,n])=>[Yh(t),n]),Cp=e=>i(i(cb(e),([t,n])=>[t,n],()=>i(Pp(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),bg=e=>i(i(f("^",e),([t,n])=>i(Cp(n),([r,o])=>i(f("$",o),([s,a])=>[[t,r,s],a]))),([t,n])=>[Xh(t),n]),lb=(e,t=[])=>i(i(f(",",e),([n,r])=>i(oe(r),([o,s])=>[[n,o],s])),([n,r])=>lb(r,[...t,n]),()=>[t,e]),GO=e=>i(i(i(oe(e),([t,n])=>i(lb(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])=>[Zh(t),n]),db=e=>i(i(i(f("extends",e),([t,n])=>i(GO(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Qh(t),n]),WO=e=>i(i(f("interface",e),([t,n])=>i(Pe(n),([r,o])=>i(Rp(o),([s,a])=>i(db(a),([p,c])=>i(Op(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[ey(t),n]),zO=e=>i(i(f("interface",e),([t,n])=>i(Pe(n),([r,o])=>i(db(o),([s,a])=>i(Op(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[ty(t),n]),BO=e=>i(i(f("type",e),([t,n])=>i(Pe(n),([r,o])=>i(Rp(o),([s,a])=>i(f("=",a),([p,c])=>i(oe(c),([h,I])=>[[t,r,s,p,h],I]))))),([t,n])=>[ny(t),n]),HO=e=>i(i(f("type",e),([t,n])=>i(Pe(n),([r,o])=>i(f("=",o),([s,a])=>i(oe(a),([p,c])=>[[t,r,s,p],c])))),([t,n])=>[ry(t),n]),VO=e=>i(i(i(f("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[oy(t),n]),fb=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]),gb=(e,t=[])=>i(i(fb(e),([n,r])=>i(Lp(r),([o,s])=>[[n,o],s])),([n,r])=>gb(r,[...t,n]),()=>[t,e]),JO=e=>i(i(i(Lp(e),([t,n])=>i(gb(n),([r,o])=>i(i(fb(o),([s,a])=>[[s],a],()=>[[],o]),([s,a])=>[[t,r,s],a]))),([t,n])=>[t,n],()=>i([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[sy(t),n]),Lp=e=>i(i(VO(e),([t,n])=>i(i(WO(n),([r,o])=>[r,o],()=>i(zO(n),([r,o])=>[r,o],()=>i(BO(n),([r,o])=>[r,o],()=>i(HO(n),([r,o])=>[r,o],()=>[])))),([r,o])=>i(_y(o),([s,a])=>[[t,r,s],a]))),([t,n])=>[iy(t),n]),YO=e=>i(i(Lp(e),([t,n])=>i(JO(n),([r,o])=>[[t,r],o])),([t,n])=>[ay(t),n]),xb=e=>i(i(YO(e),([t,n])=>[t,n],()=>i(oO(e),([t,n])=>[t,n],()=>i(oe(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function hb(e){let t=Ap(`\`${e}\``);return u.IsEqual(t.length,2)?t[0]:De()}var jp=m(()=>{bn();P();Pi()});function ZO(e){return e.join("|")}function QO(e){return e.slice(1,e.length-1)}function eM(e,t,n){return rr(t,`${n}${e}`)}function tM(e,t){return rr(e,`${t}${dg}`)}function nM(e,t){return rr(e,`${t}${Ti}`)}function rM(e,t){return rr(e,`${t}${vi}`)}function oM(e,t){return cs(H([ee("false"),ee("true")]),e,t)}function sM(e,t){return rr(e,`${t}${Si}`)}function iM(e,t,n){return rr(t,`${n}${QO(e)}`)}function aM(e,t,n){let r=ls(e,{});return cs(r,t,n)}function mM(e,t,n){let r=ft(e);return cs(r,t,n)}function yb(e,t,n,r=[]){return u.ShiftLeft(e,(o,s)=>yb(s,t,n,[...r,cs(o,[],"")]),()=>rr(t,`${n}(${ZO(r)})`))}function cs(e,t,n){return et(e)?mM(e.enum,t,n):ct(e)?nM(t,n):ue(e)?eM(e.const,t,n):$n(e)?tM(t,n):zt(e)?oM(t,n):Me(e)?rM(t,n):dt(e)?sM(t,n):Se(e)?iM(e.pattern,t,n):Ib(e)?aM(e.parameters[0],t,n):C(e)?yb(e.anyOf,t,n):tf}function rr(e,t){return u.ShiftLeft(e,(n,r)=>cs(n,r,t),()=>t)}function uM(e){return`^${rr(e,"")}$`}function bb(e){let t=uM(e);return Oi(t)}var Fp=m(()=>{P();nn();Oe();V();It();Ir();Ht();lt();wn();Vn();Be();Mi();B();Ta()});function ls(e,t){return G(e)?l.Update(bb(e),{},t):Vi(e,t)}function $b(e,t,n,r){let o=jt(e,t,n);return ls(o,r)}var Ta=m(()=>{E();It();Fp();N()});function Vi(e,t={}){return L("TemplateLiteral",[e],t)}function Ib(e){return je(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"TemplateLiteral")}function wb(e){return ls(e,{})}function pM(e){let t=hb(e);return wb(t)}function kb(e,t={}){let n=u.IsString(e)?pM(e):wb(e);return l.Update(n,{},t)}function Se(e){return M(e,"TemplateLiteral")}var It=m(()=>{Ko();P();z();se();jp();Ta()});var U={};Ct(U,{ExtendsFalse:()=>K,ExtendsTrue:()=>S,ExtendsUnion:()=>Dp,IsExtendsFalse:()=>cM,IsExtendsTrue:()=>Eb,IsExtendsTrueLike:()=>ao,IsExtendsUnion:()=>Tb,Match:()=>Ie});function Dp(e){return l.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Tb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsUnion")&&u.IsObject(e.inferred)}function S(e){return l.Create({"~kind":"ExtendsTrue"},{inferred:e})}function Eb(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.HasPropertyKey(e,"inferred")&&u.IsEqual(e["~kind"],"ExtendsTrue")&&u.IsObject(e.inferred)}function K(){return l.Create({"~kind":"ExtendsFalse"},{})}function cM(e){return u.IsObject(e)&&u.HasPropertyKey(e,"~kind")&&u.IsEqual(e["~kind"],"ExtendsFalse")}function ao(e){return Tb(e)||Eb(e)}function Ie(e,t,n){return ao(e)?t(e.inferred):n()}var ye=m(()=>{P();E()});function lM(e,t,n,r){return Ie(ne(e,n,r),o=>S(l.Assign(l.Assign(e,o),{[t]:n})),()=>K())}function dM(e,t){return S(e)}function fM(e,t,n,r,o){return Ie(ne(e,t,n),s=>Ie(ne(s,t,r),a=>S(a),()=>K()),()=>Ie(ne(e,t,o),s=>S(s),()=>K()))}function gM(e,t,n){let r=ft(n);return ne(e,t,r)}function vb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>vb(s,t,o),()=>K()),()=>S(e))}function xM(e,t,n){let r=ot(n);return ne(e,t,r)}function Sb(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>S(s),()=>Sb(e,t,o)),()=>K())}function pe(e,t,n){return Te(n)?dM(e,t):ve(n)?fM(e,t,n.if,n.then,n.else):et(n)?gM(e,t,n.enum):Ae(n)?lM(e,n.name,t,n.extends):Q(n)?vb(e,t,n.allOf):Se(n)?xM(e,t,n.pattern):C(n)?Sb(e,t,n.anyOf):Re(n)?S(e):K()}var it=m(()=>{P();E();ht();vt();nn();Wt();Fe();It();V();Ze();kt();ye();B();B()});function Pb(e,t,n){return Ae(n)?pe(e,t,n):Te(n)?S(e):Re(n)?S(e):Dp(e)}var Rb=m(()=>{Wt();ht();Ze();it();ye()});function hM(e,t){let n=hr(e),r=hr(t);return n&&r||!n&&r?!0:!(n&&!r)}function Ab(e,t,n,r){return $e(r)?hM(t,r)?ne(e,n,r.items):K():pe(e,t,r)}var Ob=m(()=>{pt();zo();it();kt();ye()});function Mb(e,t,n){return $n(n)?S(e):pe(e,t,n)}var Cb=m(()=>{Ir();it();ye()});function Lb(e,t,n){return zt(n)?S(e):pe(e,t,n)}var jb=m(()=>{Vn();it();ye()});function yM(e,t,n,r,o){let s=Ae(r)?t:r,a=Ae(r)?r:t,p=rt(t),c=rt(r);return!p&&c?K():Ie(ne(e,s,a),h=>ds(h,n,o),()=>K())}function bM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>yM(e,t,n,o,s),()=>rt(t)?S(e):K())}function IM(e,t,n){return u.ShiftLeft(t,(r,o)=>bM(e,r,o,n),()=>S(e))}function ds(e,t,n){return IM(e,t,n)}var Np=m(()=>{P();Wt();Hn();kt();ye()});function Ea(e,t,n){return Tn(n)?S(e):ne(e,t,n)}var qp=m(()=>{Er();kt();ye()});function Fb(e,t,n,r){return Te(r)?S(e):Re(r)?S(e):_e(r)?Ie(ds(e,t,r.parameters),o=>Ea(o,n,r.instanceType),()=>K()):K()}var Db=m(()=>{ht();Ut();Ze();ye();Np();qp()});function Nb(e,t,n,r,o){return Ie(ne(e,t,o),()=>ne(e,n,o),()=>ne(e,r,o))}var qb=m(()=>{kt();ye()});function _b(e,t,n){let r=ft(t);return ne(e,r,n)}var Ub=m(()=>{kt();B()});function Kb(e,t,n,r){return Te(r)?S(e):Re(r)?S(e):Ue(r)?Ie(ds(e,t,r.parameters),o=>Ea(o,n,r.returnType),()=>K()):K()}var Gb=m(()=>{ht();Kt();Ze();ye();Np();qp()});function Wb(e,t,n){return ct(n)?S(e):Me(n)?S(e):pe(e,t,n)}var zb=m(()=>{wn();lt();it();ye()});function Bb(e,t,n){let r=we(t);return ne(e,r,n)}var Hb=m(()=>{kt();fs()});function va(e,t,n){return t===n?S(e):K()}function $M(e,t,n){return ue(n)?va(e,t,n.const):$n(n)?S(e):pe(e,ee(t),n)}function wM(e,t,n){return ue(n)?va(e,t,n.const):zt(n)?S(e):pe(e,ee(t),n)}function kM(e,t,n){return ue(n)?va(e,t,n.const):Me(n)?S(e):pe(e,ee(t),n)}function TM(e,t,n){return ue(n)?va(e,t,n.const):dt(n)?S(e):pe(e,ee(t),n)}function Vb(e,t,n){return u.IsBigInt(t.const)?$M(e,t.const,n):u.IsBoolean(t.const)?wM(e,t.const,n):u.IsNumber(t.const)?kM(e,t.const,n):u.IsString(t.const)?TM(e,t.const,n):De()}var Jb=m(()=>{P();zu();Oe();Ir();Vn();lt();Ht();it();ye()});function Yb(e,t,n){return Ae(n)?pe(e,t,n):S(e)}var Xb=m(()=>{Wt();it();ye()});function Zb(e,t,n){return Br(n)?S(e):pe(e,t,n)}var Qb=m(()=>{Hr();it();ye()});function eI(e,t,n){return Me(n)?S(e):pe(e,t,n)}var tI=m(()=>{lt();it();ye()});function EM(e,t,n){return rt(t)?rt(n)?S(e):K():S(e)}function vM(e,t,n){return Ae(n)&&tn(n.extends)?K():Ie(ne(e,t,n),r=>EM(r,t,n),()=>K())}function SM(e,t){return e.reduce((n,r)=>r in t?ao(t[r])?{...n,...t[r].inferred}:De():De(),{})}function PM(e,t,n){let r={};for(let a of u.Keys(n))r[a]=a in t?vM({},t[a],n[a]):rt(n[a])?Ae(n[a])?S(l.Assign(e,{[n[a].name]:n[a].extends})):S(e):K();let o=u.Values(r).every(a=>ao(a)),s=o?SM(u.Keys(r),r):{};return o?S(s):K()}function RM(e,t,n){let r=PM(e,t,n);return ao(r)?S(l.Assign(e,r.inferred)):K()}function AM(e,t,n){return RM(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 nI(e,t,n,r){return u.ShiftLeft(t,(o,s)=>Ie(ne({},e[o],n),a=>nI(e,s,n,OM(r,a)),()=>K()),()=>S(r))}function MM(e,t,n,r){let o=u.Keys(t);return nI(t,o,r,e)}function rI(e,t,n){return nt(n)?MM(e,t,Jt(n),gt(n)):me(n)?AM(e,t,n.properties):pe(e,_(t),n)}var oI=m(()=>{bn();E();P();Hn();Wt();Be();ce();Ve();V();kt();it();ye()});function CM(e,t){return u.IsEqual(u.Keys(t).length,0)?S(e):K()}function LM(e,t,n,r,o){return ne(e,n,o)}function sI(e,t,n,r){return nt(r)?LM(e,Ki(t),n,Ki(Jt(r)),gt(r)):me(r)?CM(e,r.properties):Te(r)?S(e):Re(r)?S(e):K()}var iI=m(()=>{P();ht();Ze();ce();Ve();kt();ye()});function aI(e,t,n){return dt(n)?S(e):pe(e,t,n)}var mI=m(()=>{Ht();it();ye()});function uI(e,t,n){return Jn(n)?S(e):pe(e,t,n)}var pI=m(()=>{wr();it();ye()});function cI(e,t,n){let r=ot(t);return ne(e,r,n)}var lI=m(()=>{kt();B()});function _p(e,t){return l.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function gs(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 Up(e){return er(e)?Ae(e.items)?$e(e.items.extends)?_p(e.items.name,e.items.extends.items):Re(e.items.extends)?_p(e.items.name,e.items.extends):void 0:De():void 0}function Sa(e){return Ae(e)?_p(e.name,e.extends):void 0}function Kp(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>Ie(ne({},r,t),()=>Kp(o,t,[...n,r]),()=>{}),()=>n)}function dI(e,t,n,r){let o=Kp(n,r);return u.IsArray(o)?S(l.Assign(e,{[t]:Ce(o)})):K()}function Pa(e,t,n,r){let o=Kp(n,r);return u.IsArray(o)?S(l.Assign(e,{[t]:H(o)})):K()}var Gp=m(()=>{bn();E();P();pt();Ze();Ne();kt();V();Wt();Zr();ye()});function jM(e){return[...e].reverse()}function Wp(e,t){return t?jM(e):e}function FM(e){let t=e.length>0?e[0]:void 0,n=je(t)?Up(t):void 0;return je(n)}function DM(e,t,n,r,o,s){return Ie(ne(e,n,o),a=>fI(a,t,r,s),()=>K())}function NM(e,t,n,r,o){let s=Up(r);return gs(s)?dI(e,s.name,Wp(n,t),s.type):u.ShiftLeft(n,(a,p)=>DM(e,t,a,p,r,o),()=>K())}function qM(e,t,n,r){return u.ShiftLeft(r,(o,s)=>NM(e,t,n,o,s),()=>u.IsEqual(n.length,0)?S(e):K())}function fI(e,t,n,r){return qM(e,t,n,r)}function _M(e,t,n){let r=or(e,be([],[]),n),o=FM(r);return fI(e,o,Wp(t,o),Wp(r,o))}function gI(e,t,n){let r=Sa(n);return gs(r)?Pa(e,r.name,t,r.type):u.ShiftLeft(t,(o,s)=>Ie(ne(e,o,n),a=>gI(a,s,n),()=>K()),()=>S(e))}function xI(e,t,n){let r=or(e,be([],[]),t);return ge(n)?_M(e,r,n.items):$e(n)?gI(e,r,n.items):pe(e,Ce(r),n)}var hI=m(()=>{P();z();pt();Ne();kt();it();ye();N();N();Gp()});function yI(e,t,n){return Tn(n)?S(e):eo(n)?S(e):pe(e,t,n)}var bI=m(()=>{to();Er();it();ye()});function II(e,t,n){return u.ShiftLeft(n,(r,o)=>Ie(ne(e,t,r),s=>S(s),()=>II(e,t,o)),()=>K())}function zp(e,t,n){return u.ShiftLeft(t,(r,o)=>Ie(II(e,r,n),s=>zp(s,o,n),()=>K()),()=>S(e))}function $I(e,t,n){let r=Sa(n);return gs(r)?Pa(e,r.name,t,r.type):C(n)?zp(e,t,n.anyOf):zp(e,t,[n])}var wI=m(()=>{P();V();kt();ye();Gp()});function kI(e,t,n){return Ae(n)?pe(e,t,n):Te(n)?S(e):Re(n)?S(e):K()}var TI=m(()=>{ht();Ze();Wt();it();ye()});function EI(e,t,n){return Tn(n)?S(e):pe(e,t,n)}var vI=m(()=>{Er();it();ye()});function ne(e,t,n){return Te(t)?Pb(e,t,n):$e(t)?Ab(e,t,t.items,n):$n(t)?Mb(e,t,n):zt(t)?Lb(e,t,n):_e(t)?Fb(e,t.parameters,t.instanceType,n):ve(t)?Nb(e,t.if,t.then,t.else,n):et(t)?_b(e,t.enum,n):Ue(t)?Kb(e,t.parameters,t.returnType,n):ct(t)?Wb(e,t,n):Q(t)?Bb(e,t.allOf,n):ue(t)?Vb(e,t,n):tn(t)?Yb(e,t,n):Br(t)?Zb(e,t,n):Me(t)?eI(e,t,n):me(t)?rI(e,t.properties,n):nt(t)?sI(e,Jt(t),gt(t),n):dt(t)?aI(e,t,n):Jn(t)?uI(e,t,n):Se(t)?cI(e,t.pattern,n):ge(t)?xI(e,t.items,n):eo(t)?yI(e,t,n):C(t)?$I(e,t.anyOf,n):Re(t)?kI(e,t,n):Tn(t)?EI(e,t,n):K()}var kt=m(()=>{Rb();Ob();Cb();jb();Db();qb();Ub();Gb();zb();Hb();Jb();Xb();Qb();tI();oI();iI();mI();pI();lI();hI();bI();wI();TI();vI();ht();pt();Ir();Vn();Ut();vt();nn();Kt();wn();Fe();Oe();Be();Hr();lt();ce();Ve();Ht();wr();It();Ne();to();Ze();V();Er();ye()});function UM(e,t){return we([...e,_(t)])}function Bp(e,t,n){return G(e)?l.Update(UM(e,t),{},n):is(e,t,n)}function SI(e,t,n,r,o){let s=jt(e,t,n),a=xs(e,t,r);return Bp(s,a,o)}var Ra=m(()=>{E();ce();B();ro();N();N();N()});function is(e,t,n={}){return L("Interface",[e,t],n)}function mo(e){return je(e)&&u.HasPropertyKey(e,"action")&&u.IsEqual(e.action,"Interface")}function PI(e,t,n={}){return Bp(e,t,n)}var hs=m(()=>{P();z();se();Ra()});function KM(e,t,n){return e.includes(n)?!0:ys([...e,n],t,t[n])}function RI(e,t,n){let r=hi(n);return Sr(e,t,r)}function Sr(e,t,n){return u.ShiftLeft(n,(r,o)=>ys(e,t,r)?!0:Sr(e,t,o),()=>!1)}function ys(e,t,n){return Ke(n)?KM(e,t,n.$ref):$e(n)?ys(e,t,n.items):_e(n)?Sr(e,t,[...n.parameters,n.instanceType]):Ue(n)?Sr(e,t,[...n.parameters,n.returnType]):mo(n)?RI(e,t,n.parameters[1]):Q(n)?Sr(e,t,n.allOf):me(n)?RI(e,t,n.properties):C(n)?Sr(e,t,n.anyOf):ge(n)?Sr(e,t,n.items):nt(n)?ys(e,t,gt(n)):!1}function AI(e,t,n){return ys(e,t,n)}var Hp=m(()=>{P();pt();Ut();Kt();Fe();ce();gr();Ve();Ne();V();Gt();hs()});function GM(e,t){return t.reduce((n,r)=>AI([r],e,e[r])?[...n,r]:n,[])}function OI(e){let t=xi(e);return GM(e,t)}var Vp=m(()=>{gr();Hp()});function WM(e,t,n){return n.includes(t)?n:t in e?bs(e,e[t],[...n,t]):De()}function MI(e,t,n){let r=hi(t);return uo(e,r,n)}function uo(e,t,n){return t.reduce((r,o)=>bs(e,o,r),n)}function bs(e,t,n){return Ke(t)?WM(e,t.$ref,n):$e(t)?bs(e,t.items,n):_e(t)?uo(e,[...t.parameters,t.instanceType],n):Ue(t)?uo(e,[...t.parameters,t.returnType],n):mo(t)?MI(e,t.parameters[1],n):Q(t)?uo(e,t.allOf,n):me(t)?MI(e,t.properties,n):C(t)?uo(e,t.anyOf,n):ge(t)?uo(e,t.items,n):nt(t)?bs(e,gt(t),n):n}function CI(e,t,n){return bs(e,n,[t])}var Jp=m(()=>{bn();pt();Ut();Kt();Fe();ce();gr();Ve();Ne();V();Gt();hs()});function zM(e){return Kr()}function BM(e){return u.Keys(e).reduce((t,n)=>({...t,[n]:Pr(e[n])}),{})}function Is(e){return e.reduce((t,n)=>[...t,Pr(n)],[])}function Pr(e){return Ke(e)?zM(e.$ref):$e(e)?Lt(Pr(e.items),gi(e)):_e(e)?fn(Is(e.parameters),Pr(e.instanceType)):Ue(e)?gn(Is(e.parameters),Pr(e.returnType)):Q(e)?bt(Is(e.allOf)):me(e)?_(BM(e.properties)):nt(e)?Ui(Xr(e),Pr(gt(e))):C(e)?H(Is(e.anyOf)):ge(e)?Ce(Is(e.items)):e}function HM(e,t){return t in e?Pr(e[t]):He()}function LI(e){return HM(e.$defs,e.$ref)}var jI=m(()=>{P();ht();pt();Ut();Kt();Fe();ce();Ve();Gt();Ne();V();Ze()});function VM(e,t,n){let r=jt(e,be([],[]),t),o=xs({},be([],[]),n);return we([...r,_(o)])}function JM(e,t){return u.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],a=mo(s)?VM(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:a}},{})}function FI(e,t,n){let r=CI(e,t,n),o=JM(e,r);return hn(o,t)}var Yp=m(()=>{P();yt();ce();Jp();ro();N();N();N();B()});function DI(e,t){return t in e?Ke(e[t])?DI(e,e[t].$ref):e[t]:le()}function Sn(e,t){return DI(e,t)}var Rr=m(()=>{Be();Gt()});var Xp=m(()=>{Vp();Hp();Jp();jI();Yp();Rr()});function NI(e){return Qe(e)?LI(e):yi(e)?He():e}function tt(e,t,n){let r=NI(t),o=NI(n);return ne(e,r,o)}var qI=m(()=>{yt();Ze();bi();kt();Xp()});var kn=m(()=>{qI();ye()});function ts(e,t){let n=[tt({},e,t),tt({},t,e)];return U.IsExtendsTrueLike(n[0])&&U.IsExtendsTrueLike(n[1])?Qo:U.IsExtendsTrueLike(n[0])&&U.IsExtendsFalse(n[1])?es:U.IsExtendsFalse(n[0])&&U.IsExtendsTrueLike(n[1])?Fi:Aa}var Qo,Aa,es,Fi,ns=m(()=>{kn();Qo=0,Aa=1,es=2,Fi=3});function Zp(e,t,n=[],r=t){return u.ShiftLeft(t,(o,s)=>{let a=ts(e,o);return u.IsEqual(a,es)||u.IsEqual(a,Qo)?r:u.IsEqual(a,Aa)?Zp(e,s,[...n,o],r):Zp(e,s,n,r)},()=>[...n,e])}function YM(e,t,n){let r=Vt(e);return Te(r)?[r]:Re(r)?[r]:tn(r)?Oa(t,n):me(r)?Oa(t,[...n,r]):Oa(t,Zp(r,n))}function Oa(e,t=[]){return u.ShiftLeft(e,(n,r)=>YM(n,r,t),()=>t)}function dp(e){let t=Oa(e);return Yr(t)}var fp=m(()=>{P();ht();Be();ce();Ze();ns();Ni();B()});function Qp(e,t){return l.Update(Vt(e),{},t)}function _I(e,t,n,r){let o=k(e,t,n);return Qp(o,r)}var Ma=m(()=>{E();N();B()});var fs=m(()=>{fp();ns();up();cp();B();Ni();Ma();pp()});function $s(e,t=[]){return zn(e)&&u.IsEqual(e.action,"Conditional")?Ke(e.parameters[0])?$s(e.parameters[2],$s(e.parameters[3],[...t,e.parameters[0].$ref])):$s(e.parameters[2],$s(e.parameters[3],t)):zn(e)&&u.IsEqual(e.action,"Mapped")&&zn(e.parameters[1])&&u.IsEqual(e.parameters[1].action,"KeyOf")&&Ke(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function XM(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function GI(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>u.ShiftLeft(t,(s,a)=>GI(o,a,[...n,[s,r]]),()=>n),()=>n)}function ZM(e){return Se(e)?ot(e.pattern):et(e)?ft(e.enum):e}function QM(e){let t=ZM(e);return C(t)?[...t.anyOf]:[t]}function eC(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function UI(e,t){return t.reduce((n,r)=>[...n,...eC(e,r)],[])}function KI(e){return e.reduce((t,n)=>u.IsEqual(n[0],!0)?UI(t,QM(n[1])):UI(t,[n[1]]),[[]])}function WI(e,t,n){let r=$s(n),o=XM(e,r),s=GI(t,o);return zn(n)&&u.IsEqual(n.action,"Conditional")||zn(n)&&u.IsEqual(n.action,"Mapped")?KI(s):[t]}var zI=m(()=>{P();V();se();nn();It();Gt();B();B()});function tC(){return["(not-resolvable)",le()]}function nC(){return["(not-generic)",le()]}function rC(e,t,n){return[e,Bn(t,n)]}function oC(e,t,n){return t in e?BI(e,t,e[t],n):tC()}function BI(e,t,n,r){return Ur(n)?rC(t,n.parameters,n.expression):Ke(n)?oC(e,n.$ref,r):nC()}function HI(e,t,n){return BI(e,"(anonymous)",t,n)}var VI=m(()=>{qo();Gt();Be()});function sC(e,t,n){if(Ae(t)||po(t)||U.IsExtendsTrueLike(tt({},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 JI(e,t,n,r,o){let s=k(e,t,o);return sC(n,s,r),l.Assign(e,{[n]:s})}function iC(e,t,n,r,o){let s=k(e,t,n.extends),a=k(e,t,n.equals);return u.ShiftLeft(o,(p,c)=>ec(JI(e,t,n.name,s,p),t,r,c),()=>ec(JI(e,t,n.name,s,a),t,r,[]))}function ec(e,t,n,r){return u.ShiftLeft(n,(o,s)=>iC(e,t,o,s,r),()=>e)}function YI(e,t,n,r){return ec(e,t,n,r)}var XI=m(()=>{P();E();N();kn();Wt();no()});function aC(){if(!u.IsLessThan(nc,en.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function mC(){aC(),nc++,tc++}function uC(){tc--,u.IsEqual(tc,0)&&(nc=0)}function pC(e){return u.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function cC(e,t){return u.IsEqual(pC(e),t)}function lC(e,t,n,r,o,s){mC();try{let a=YI(e,t,r,s),p=k(a,be([...t.callstack,n.$ref],t.visited),o);return k(a,be([],[]),p)}finally{uC()}}function dC(e,t,n,r,o,s){return s.reduce((a,p)=>{let c=lC(e,t,n,r,o,p);return[...a,c]},[])}function fC(e,t,n,r,o,s){let a=WI(r,s,o),p=dC(e,t,n,r,o,a);return u.IsEqual(p.length,1)?p[0]:wt(p)}function Ca(e,t,n,r){let o=jt(e,t,r),s=HI(e,n,r),a=s[0],p=s[1];return Ur(p)?cC(t,a)?as(jn(a),o):fC(e,t,jn(a),p.parameters,p.expression,o):as(n,o)}var tc,nc,rc=m(()=>{lr();P();no();Gt();qo();fs();N();N();N();zI();VI();XI();tc=0,nc=0});function as(e,t){return l.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function ZI(e,t){return Ca({},be([],[]),e,t)}function po(e){return M(e,"Call")}var no=m(()=>{E();z();rc();N()});function gC(e){return l.Discard(e,["~immutable"])}function QI(e,t){return l.Update(gC(e),{},t)}function e$(e,t,n,r){let o=k(e,t,n);return QI(o,r)}var oc=m(()=>{E();N()});function t$(e,t){return e(t)}var n$=m(()=>{});function r$(e,t){return u.IsString(t)?ee(t$(e,t)):ee(t)}var o$=m(()=>{P();Oe();n$()});function s$(e,t){let n=ot(t);return Nn(e,n)}var i$=m(()=>{La();fs()});function a$(e,t){let n=t.map(r=>Nn(e,r));return H(n)}var m$=m(()=>{V();La()});function Nn(e,t){return ue(t)?r$(e,t.const):Se(t)?s$(e,t.pattern):C(t)?a$(e,t.anyOf):t}var La=m(()=>{Oe();It();V();o$();i$();m$()});function Ji(e,t={}){return L("Capitalize",[e],t)}function u$(e,t={}){return sc(e,t)}var ja=m(()=>{se();Pn()});function Yi(e,t={}){return L("Lowercase",[e],t)}function p$(e,t={}){return ic(e,t)}var Fa=m(()=>{se();Pn()});function Xi(e,t={}){return L("Uncapitalize",[e],t)}function c$(e,t={}){return ac(e,t)}var Da=m(()=>{se();Pn()});function Zi(e,t={}){return L("Uppercase",[e],t)}function l$(e,t={}){return mc(e,t)}var Na=m(()=>{se();Pn()});function sc(e,t){return G([e])?l.Update(Nn(xC,e),{},t):Ji(e,t)}function ic(e,t){return G([e])?l.Update(Nn(hC,e),{},t):Yi(e,t)}function ac(e,t){return G([e])?l.Update(Nn(yC,e),{},t):Xi(e,t)}function mc(e,t){return G([e])?l.Update(Nn(bC,e),{},t):Zi(e,t)}function d$(e,t,n,r){let o=k(e,t,n);return sc(o,r)}function f$(e,t,n,r){let o=k(e,t,n);return ic(o,r)}function g$(e,t,n,r){let o=k(e,t,n);return ac(o,r)}function x$(e,t,n,r){let o=k(e,t,n);return mc(o,r)}var xC,hC,yC,bC,Pn=m(()=>{E();La();N();ja();Fa();Da();Na();xC=e=>e[0].toUpperCase()+e.slice(1),hC=e=>e.toLowerCase(),yC=e=>e[0].toLowerCase()+e.slice(1),bC=e=>e.toUpperCase()});function Qi(e,t,n,r,o={}){return L("Conditional",[e,t,n,r],o)}function h$(e,t,n,r,o={}){return uc({},be([],[]),e,t,n,r,o)}var qa=m(()=>{se();pc();N()});function IC(e,t,n,r,o,s){let a=tt(e,n,r);return U.IsExtendsUnion(a)?H([k(a.inferred,t,o),k(e,t,s)]):U.IsExtendsTrue(a)?k(a.inferred,t,o):k(e,t,s)}function uc(e,t,n,r,o,s,a){return G([n,r])?l.Update(IC(e,t,n,r,o,s),{},a):Qi(n,r,o,s,a)}function y$(e,t,n,r,o,s,a){let p=k(e,t,n),c=k(e,t,r);return uc(e,t,p,c,o,s,a)}var pc=m(()=>{E();V();kn();N();qa()});var cc=m(()=>{pc()});function ea(e,t={}){return L("ConstructorParameters",[e],t)}function b$(e,t={}){return lc(e,t)}var _a=m(()=>{se();Ua()});function $C(e){let t=_e(e)?e.parameters:[],n=or({},be([],[]),t);return Ce(n)}function lc(e,t){return G([e])?l.Update($C(e),{},t):ea(e,t)}function I$(e,t,n,r){let o=k(e,t,n);return lc(o,r)}var Ua=m(()=>{E();Ut();Ne();_a();N();N();N()});function ta(e,t,n={}){return L("Exclude",[e,t],n)}function $$(e,t,n={}){return ws(e,t,n)}var Ka=m(()=>{se();ks()});function ws(e,t,n){return G([e,t])?l.Update(Di(e,t),{},n):ta(e,t,n)}function w$(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return ws(s,a,o)}var ks=m(()=>{E();N();Ka();lp()});function na(e,t,n={}){return L("Extract",[e,t],n)}function k$(e,t,n={}){return dc(e,t,n)}var Ga=m(()=>{se();Wa()});function wC(e,t){let n=tt({},e,t);return U.IsExtendsTrueLike(n)?[e]:[]}function T$(e,t,n=[]){return u.ShiftLeft(e,(r,o)=>T$(o,t,[...n,...wC(r,t)]),()=>n)}function E$(e,t){let n=Vt(e),r=C(n)?n.anyOf:[n],o=T$(r,t);return wt(o)}var v$=m(()=>{P();V();kn();B();B()});function dc(e,t,n){return G([e,t])?l.Update(E$(e,t),{},n):na(e,t,n)}function S$(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return dc(s,a,o)}var Wa=m(()=>{E();N();Ga();v$()});function kC(e){return e.reduce((t,n)=>Ei(n)?[...t,ee(n)]:t,[])}function co(e){let t=kC(e);return H(t)}var Ts=m(()=>{Oe();V()});function ms(e,t,n={}){return L("Index",[e,t],n)}function P$(e,t,n={}){let r=u.IsArray(t)?co(t):t;return gc(e,r,n)}var fc=m(()=>{P();se();Ts();za()});function R$(e,t){let n=Sn(e,t);return Ft(n)}var A$=m(()=>{Ar();Rr()});function O$(e,t,n){let r=on(e,t,n);return Ft(r)}var M$=m(()=>{Ar();B()});function TC(e,t){let n=u.Keys(e).filter(I=>!u.HasPropertyKey(t,I)),r=u.Keys(t).filter(I=>!u.HasPropertyKey(e,I)),o=u.Keys(e).filter(I=>u.HasPropertyKey(t,I)),s=n.reduce((I,v)=>({...I,[v]:e[v]}),{}),a=r.reduce((I,v)=>({...I,[v]:t[v]}),{}),p=o.reduce((I,v)=>({...I,[v]:we([e[v],t[v]])}),{}),c=l.Assign(s,a);return l.Assign(c,p)}function C$(e){return e.reduce((t,n)=>TC(t,Ft(n)),{})}var L$=m(()=>{E();P();Ar();B()});var j$=m(()=>{});function F$(e){let t=Dg(Ce(e));return Ft(t)}var D$=m(()=>{Ne();ap();Ar()});function EC(e,t){return u.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:wt([e[s],t[s]])}),{})}function N$(e,t){return u.ShiftLeft(e,(n,r)=>N$(r,EC(t,Ft(n))),()=>t)}function q$(e){return u.ShiftLeft(e,(t,n)=>N$(n,Ft(t)),()=>De())}var _$=m(()=>{P();bn();B();Ar()});function Ft(e){return Qe(e)?R$(e.$defs,e.$ref):ve(e)?O$(e.if,e.then,e.else):Q(e)?C$(e.allOf):C(e)?q$(e.anyOf):ge(e)?F$(e.items):me(e)?e.properties:{}}var Ar=m(()=>{yt();vt();Fe();ce();Ne();V();A$();M$();L$();j$();D$();_$()});function lo(e){let t=Ft(e);return _(t)}var U$=m(()=>{ce();Ar()});var Es=m(()=>{U$()});function fo(e){let t=`${e}`;return vC.test(t)?parseInt(t):e}var vC,vs=m(()=>{vC=new RegExp("^(?:0|[1-9][0-9]*)$")});function SC(e){return ee(fo(e))}function K$(e){return e.map(t=>G$(t))}function G$(e){return Q(e)?bt(K$(e.allOf)):C(e)?H(K$(e.anyOf)):ue(e)?SC(e.const):e}function W$(e,t){let n=G$(t),r=tt({},n,St());return U.IsExtendsTrueLike(r)?e:ue(t)&&u.IsEqual(t.const,"length")?St():le()}var z$=m(()=>{P();Fe();V();Oe();lt();Be();kn();vs()});function B$(e,t){let n=Sn(e,t);return Rt(n)}var H$=m(()=>{sr();Rr()});function V$(e,t,n){let r=on(e,t,n);return Rt(r)}var J$=m(()=>{sr();B()});function Y$(e){let t=ft(e);return Rt(t)}var X$=m(()=>{sr();B()});function Z$(e){let t=we(e);return Rt(t)}var Q$=m(()=>{B();sr()});function ew(e){return[`${e}`]}var tw=m(()=>{});function nw(e){let t=ot(e);return Rt(t)}var rw=m(()=>{sr();B()});function ow(e){return e.reduce((t,n)=>[...t,...Rt(n)],[])}var sw=m(()=>{sr()});function Rt(e){return Qe(e)?B$(e.$defs,e.$ref):ve(e)?V$(e.if,e.then,e.else):et(e)?Y$(e.enum):Q(e)?Z$(e.allOf):ue(e)?ew(e.const):Se(e)?nw(e.pattern):C(e)?ow(e.anyOf):[]}var sr=m(()=>{yt();vt();nn();Fe();Oe();It();V();H$();J$();X$();Q$();tw();rw();sw()});function go(e){return Rt(e)}var Ba=m(()=>{sr()});function Ss(e,t){return t.map(n=>Ps(e,n))}function Ps(e,t){return $e(t)?Lt(Ps(e,t.items)):_e(t)?fn(Ss(e,t.parameters),Ps(e,t.instanceType)):Ue(t)?gn(Ss(e,t.parameters),Ps(e,t.returnType)):ge(t)?Ce(Ss(e,t.items)):C(t)?H(Ss(e,t.anyOf)):Q(t)?bt(Ss(e,t.allOf)):Wi(t)?_(e):t}function iw(e,t){return Ps(e,t)}var aw=m(()=>{pt();Ut();Kt();Fe();ce();Ne();zi();V()});function PC(e,t){let n=t in e?e[t]:le();return iw(e,n)}function mw(e,t){return t.reduce((n,r)=>[...n,PC(e,r)],[])}function RC(e,t){let n=go(t),r=mw(e,n);return wt(r)}function OC(e){return e.filter(n=>AC.test(n))}function MC(e){let t=xi(e),n=OC(t),r=mw(e,n);return wt(r)}function uw(e,t){return Me(t)?MC(e):RC(e,t)}var AC,pw=m(()=>{lt();Be();gr();B();Ba();Ve();aw();AC=new RegExp(Qn)});function CC(e){return ee(fo(e))}function cw(e){return e.map(t=>xc(t))}function xc(e){return Q(e)?bt(cw(e.allOf)):C(e)?H(cw(e.anyOf)):ue(e)?CC(e.const):e}var lw=m(()=>{V();Fe();Oe();vs()});function LC(e,t){return e.reduceRight((n,r,o)=>{let s=tt({},ee(o),t);return U.IsExtendsTrueLike(s)?[r,...n]:n},[])}function jC(e,t){let n=xc(t),r=LC(e,n);return Xn(r)}function FC(e){return Xn(e)}function dw(e,t){return ue(t)&&u.IsEqual(t.const,"length")?ee(e.length):Me(t)||ct(t)?FC(e):jC(e,t)}var fw=m(()=>{P();Oe();lt();wn();B();kn();lw()});function gw(e,t){return $e(e)?W$(e.items,t):me(e)?uw(e.properties,t):ge(e)?dw(e.items,t):le()}var xw=m(()=>{pt();Be();ce();Ne();z$();pw();fw()});function DC(e){return Qe(e)||ve(e)||Q(e)||C(e)?lo(e):e}function gc(e,t,n){return G([e,t])?l.Update(gw(DC(e),t),{},n):ms(e,t,n)}function hw(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return gc(s,a,o)}var za=m(()=>{E();yt();vt();Fe();V();N();fc();Es();xw()});function ra(e,t={}){return L("InstanceType",[e],t)}function yw(e,t={}){return hc(e,t)}var Ha=m(()=>{se();Va()});function NC(e){return _e(e)?e.instanceType:le()}function hc(e,t){return G([e])?l.Update(NC(e),{},t):ra(e,t)}function bw(e,t,n,r={}){let o=k(e,t,n);return hc(o,r)}var Va=m(()=>{E();Ut();Be();Ha();N()});function us(e,t={}){return L("KeyOf",[e],t)}function Iw(e,t={}){return yc(e,t)}var Ja=m(()=>{se();Ya()});function $w(){return H([St(),Bt(),Vr()])}var ww=m(()=>{lt();Ht();wr();V()});function kw(e){return St()}var Tw=m(()=>{lt()});function qC(e){return e.reduce((n,r)=>Ei(r)?[...n,ee(fo(r))]:De(),[])}function Ew(e){let t=u.Keys(e),n=qC(t);return Xn(n)}var vw=m(()=>{bn();P();Oe();vs();B()});function Sw(e){return Xr(e)}var Pw=m(()=>{Ve()});function Rw(e){let t=e.map((n,r)=>ee(r));return Xn(t)}var Aw=m(()=>{Oe();B()});function Ow(e){return Te(e)?$w():$e(e)?kw(e.items):me(e)?Ew(e.properties):nt(e)?Sw(e):ge(e)?Rw(e.items):le()}var Mw=m(()=>{ht();pt();Be();ce();Ve();Ne();ww();Tw();vw();Pw();Aw()});function _C(e){return Qe(e)||ve(e)||Q(e)||C(e)?lo(e):e}function yc(e,t){return G([e])?l.Update(Ow(_C(e)),{},t):us(e,t)}function Cw(e,t,n,r){let o=k(e,t,n);return yc(o,r)}var Ya=m(()=>{E();yt();vt();Fe();V();Ja();N();Es();Mw()});function ss(e,t,n,r,o={}){return L("Mapped",[e,t,n,r],o)}function Lw(e,t,n,r,o={}){return bc({},be([],[]),e,t,n,r,o)}var Xa=m(()=>{se();Za();N()});function UC(e){let t=ot(e);return Qa(t)}function KC(e){return e.reduce((t,n)=>[...t,...Qa(n)],[])}function GC(e){let t=ft(e);return Qa(t)}function WC(e){return u.IsNumber(e)?[ee(`${e}`)]:[ee(e)]}function Qa(e){return et(e)?GC(e.enum):ue(e)?WC(e.const):Se(e)?UC(e.pattern):C(e)?KC(e.anyOf):[e]}function jw(e){return Qa(e)}var Fw=m(()=>{P();Oe();nn();It();V();B();B()});function zC(e){return Se(e)?ot(e.pattern):e}function BC(e,t,n,r,o,s){let a=l.Assign(e,{[n.name]:r}),p=k(a,t,o),c=zC(p),h=k(a,t,s);return gg(c)||xg(c)?{[c.const]:h}:{}}function HC(e,t,n,r,o,s){return r.reduce((a,p)=>[...a,BC(e,t,n,p,o,s)],[])}function VC(e){return e.reduce((t,n)=>[...t,_(n)],[])}function Dw(e,t,n,r,o,s){let a=jw(r),p=HC(e,t,n,a,o,s),c=VC(p);return we(c)}var Nw=m(()=>{E();Oe();ce();It();N();B();B();Fw()});function bc(e,t,n,r,o,s,a){return G([r])?l.Update(Dw(e,t,n,r,o,s),{},a):ss(n,r,o,s,a)}function qw(e,t,n,r,o,s,a){let p=k(e,t,r);return bc(e,t,n,p,o,s,a)}var Za=m(()=>{E();Xa();N();Nw()});function JC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>n.includes(s)).reduce((s,a)=>({...s,[a]:FI(r,a,t[a])}),{})}function YC(e,t,n){let r=l.Assign(e,t);return u.Keys(t).filter(s=>!n.includes(s)).reduce((s,a)=>({...s,[a]:k(r,be([],[]),t[a])}),{})}function XC(e,t,n){let r=OI(t),o=JC(e,t,r),s=YC(e,t,r),a={...o,...s};return l.Update(a,{},n)}function em(e,t,n,r){return XC(e,n,r)}var tm=m(()=>{P();E();N();Vp();Yp();N()});function oa(e,t={}){return L("NonNullable",[e],t)}function _w(e,t={}){return Ic(e,t)}var nm=m(()=>{se();rm()});function ZC(e){let t=H([zr(),Qr()]);return ws(e,t,{})}function Ic(e,t){return G([e])?l.Update(ZC(e),{},t):oa(e,t)}function Uw(e,t,n,r){let o=k(e,t,n);return Ic(o,r)}var rm=m(()=>{E();Hr();to();V();ks();nm();N()});function sa(e,t,n={}){return L("Omit",[e,t],n)}function Kw(e,t,n={}){let r=u.IsArray(t)?co(t):t;return $c(e,r,n)}var om=m(()=>{P();se();Ts();sm()});function im(e){let t=lo(e);return me(t)?t.properties:De()}var wc=m(()=>{bn();ce();Es()});function QC(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function Gw(e,t){let n=im(e),r=go(t),o=QC(n,r);return _(o)}var Ww=m(()=>{P();ce();Ba();wc()});function $c(e,t,n){return G([e,t])?l.Update(Gw(e,t),{},n):sa(e,t,n)}function zw(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return $c(s,a,o)}var sm=m(()=>{E();om();N();Ww()});function ia(e,t={}){return L("Parameters",[e],t)}function Bw(e,t={}){return kc(e,t)}var am=m(()=>{se();mm()});function e0(e){let t=Ue(e)?e.parameters:[],n=or({},be([],[]),t);return Ce(n)}function kc(e,t){return G([e])?l.Update(e0(e),{},t):ia(e,t)}function Hw(e,t,n,r){let o=k(e,t,n);return kc(o,r)}var mm=m(()=>{E();Kt();Ne();am();N();N();N()});function aa(e,t={}){return L("Partial",[e],t)}function Vw(e,t={}){return Tc(e,t)}var um=m(()=>{se();pm()});function Jw(e,t){let n=Sn(e,t),r=Rn(n);return hn(l.Assign(e,{[t]:r}),t)}var Yw=m(()=>{E();yt();xo();Rr()});function Xw(e,t,n){let r=on(e,t,n);return Rn(r)}var Zw=m(()=>{xo();B()});function Qw(e){let t=we(e);return Rn(t)}var ek=m(()=>{xo();B()});function tk(e){let t=e.map(n=>Rn(n));return H(t)}var nk=m(()=>{V();xo()});function rk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:fr(e[o])}),{});return _(t)}var ok=m(()=>{P();ce();_o()});function Rn(e){return Qe(e)?Jw(e.$defs,e.$ref):ve(e)?Xw(e.if,e.then,e.else):Q(e)?Qw(e.allOf):C(e)?tk(e.anyOf):me(e)?rk(e.properties):_({})}var xo=m(()=>{yt();vt();Fe();ce();V();Yw();Zw();ek();nk();ok()});function Tc(e,t){return G([e])?l.Update(Rn(e),{},t):aa(e,t)}function sk(e,t,n,r){let o=k(e,t,n);return Tc(o,r)}var pm=m(()=>{E();um();xo();N()});function ma(e,t,n={}){return L("Pick",[e,t],n)}function ik(e,t,n={}){let r=u.IsArray(t)?co(t):t;return Ec(e,r,n)}var cm=m(()=>{P();se();Ts();lm()});function t0(e,t){return u.Keys(e).reduce((r,o)=>t.includes(o)?l.Assign(r,{[o]:e[o]}):r,{})}function ak(e,t){let n=im(e),r=go(t),o=t0(n,r);return _(o)}var mk=m(()=>{E();P();ce();Ba();wc()});function Ec(e,t,n){return G([e,t])?l.Update(ak(e,t),{},n):ma(e,t,n)}function uk(e,t,n,r,o){let s=k(e,t,n),a=k(e,t,r);return Ec(s,a,o)}var lm=m(()=>{E();cm();N();mk()});function ua(e,t={}){return L("ReadonlyObject",[e],t)}function vc(e,t={}){return Sc(e,t)}var pk,dm=m(()=>{se();fm();pk=vc});function ck(e){return Wr(Lt(e))}var lk=m(()=>{pt();Bo()});function dk(e,t){let n=Sn(e,t),r=An(n);return hn(l.Assign(e,{[t]:r}),t)}var fk=m(()=>{E();yt();ho();Rr()});function gk(e,t,n){let r=on(e,t,n);return An(r)}var xk=m(()=>{ho();B()});function hk(e){let t=we(e);return An(t)}var yk=m(()=>{ho();B()});function bk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:yr(e[o])}),{});return _(t)}var Ik=m(()=>{P();ce();Ho()});function $k(e){return Wr(Ce(e))}var wk=m(()=>{Ne();Bo()});function kk(e){let t=e.map(n=>An(n));return H(t)}var Tk=m(()=>{V();ho()});function An(e){return $e(e)?ck(e.items):Qe(e)?dk(e.$defs,e.$ref):ve(e)?gk(e.if,e.then,e.else):Q(e)?hk(e.allOf):me(e)?bk(e.properties):ge(e)?$k(e.items):C(e)?kk(e.anyOf):e}var ho=m(()=>{pt();yt();vt();Fe();ce();Ne();V();lk();fk();xk();yk();Ik();wk();Tk()});function Sc(e,t){return G([e])?l.Update(An(e),{},t):ua(e)}function Ek(e,t,n,r){let o=k(e,t,n);return Sc(o,r)}var fm=m(()=>{E();dm();ho();N()});function vk(e,t,n,r){return t.visited.includes(r)?n:r in e?k(e,be(t.callstack,[...t.visited,r]),e[r]):n}var Pc=m(()=>{N();N()});function Sk(e,t){let n=Sn(e,t),r=On(n);return hn(l.Assign(e,{[t]:r}),t)}var Pk=m(()=>{E();yt();yo();Rr()});function Rk(e,t,n){let r=on(e,t,n);return On(r)}var Ak=m(()=>{yo();B()});function Ok(e){let t=we(e);return On(t)}var Mk=m(()=>{yo();B()});function Ck(e){let t=e.map(n=>On(n));return H(t)}var Lk=m(()=>{V();yo()});function jk(e){let t=u.Keys(e).reduce((r,o)=>({...r,[o]:Li(e[o])}),{});return _(t)}var Fk=m(()=>{P();ce();ji()});function On(e){return Qe(e)?Sk(e.$defs,e.$ref):ve(e)?Rk(e.if,e.then,e.else):Q(e)?Ok(e.allOf):C(e)?Ck(e.anyOf):me(e)?jk(e.properties):_({})}var yo=m(()=>{yt();vt();Fe();ce();V();Pk();Ak();Mk();Lk();Fk()});function pa(e,t={}){return L("Required",[e],t)}function Dk(e,t={}){return Rc(e,t)}var gm=m(()=>{se();xm()});function Rc(e,t){return G([e])?l.Update(On(e),{},t):pa(e,t)}function Nk(e,t,n,r){let o=k(e,t,n);return Rc(o,r)}var xm=m(()=>{E();yo();gm();N()});function ca(e,t={}){return L("ReturnType",[e],t)}function qk(e,t={}){return Ac(e,t)}var hm=m(()=>{se();ym()});function n0(e){return Ue(e)?e.returnType:le()}function Ac(e,t){return G([e])?l.Update(n0(e),{},t):ca(e,t)}function _k(e,t,n,r={}){let o=k(e,t,n);return Ac(o,r)}var ym=m(()=>{E();Kt();Be();hm();N()});function la(e,t){return L("With",[e,t],{})}function Uk(e,t){return Oc(e,t)}var bm=m(()=>{se();Im()});function Oc(e,t){return G([e])?l.Update(e,{},t):la(e,t)}function Kk(e,t,n,r){let o=k(e,t,n);return Oc(o,r)}var Im=m(()=>{E();N();bm()});function r0(e){return er(e)?ge(e.items)?Mc(e.items.items):Ae(e.items)?[e]:Ke(e.items)?[e]:[le()]:[e]}function Mc(e){return e.reduce((n,r)=>[...n,...r0(r)],[])}var Gk=m(()=>{Wt();Be();Zr();Gt();Ne()});var Wk=m(()=>{Gk()});function be(e,t){return{callstack:e,visited:t}}function G(e){return u.ShiftLeft(e,(t,n)=>Ke(t)?!1:G(n),()=>!0)}function xs(e,t,n){return u.Keys(n).reduce((r,o)=>({...r,[o]:k(e,t,n[o])}),{})}function or(e,t,n){let r=jt(e,t,n);return Mc(r)}function jt(e,t,n){return n.map(r=>k(e,t,r))}function o0(e,t){let n=rt(e)?No(t,{}):t,r=br(e)?Do(n,{}):n;return hr(e)?Rs(r,{}):r}function s0(e,t,n,r,o){return u.IsEqual(n,"AddImmutable")?zk(e,t,r[0],o):u.IsEqual(n,"RemoveImmutable")?e$(e,t,r[0],o):u.IsEqual(n,"AddReadonly")?Xd(e,t,r[0],o):u.IsEqual(n,"RemoveReadonly")?Mg(e,t,r[0],o):u.IsEqual(n,"AddOptional")?Zd(e,t,r[0],o):u.IsEqual(n,"RemoveOptional")?jg(e,t,r[0],o):u.IsEqual(n,"Capitalize")?d$(e,t,r[0],o):u.IsEqual(n,"Conditional")?y$(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"ConstructorParameters")?I$(e,t,r[0],o):u.IsEqual(n,"Evaluate")?_I(e,t,r[0],o):u.IsEqual(n,"Exclude")?w$(e,t,r[0],r[1],o):u.IsEqual(n,"Extract")?S$(e,t,r[0],r[1],o):u.IsEqual(n,"Index")?hw(e,t,r[0],r[1],o):u.IsEqual(n,"InstanceType")?bw(e,t,r[0],o):u.IsEqual(n,"Interface")?SI(e,t,r[0],r[1],o):u.IsEqual(n,"KeyOf")?Cw(e,t,r[0],o):u.IsEqual(n,"Lowercase")?f$(e,t,r[0],o):u.IsEqual(n,"Mapped")?qw(e,t,r[0],r[1],r[2],r[3],o):u.IsEqual(n,"Module")?em(e,t,r[0],o):u.IsEqual(n,"NonNullable")?Uw(e,t,r[0],o):u.IsEqual(n,"Pick")?uk(e,t,r[0],r[1],o):u.IsEqual(n,"Parameters")?Hw(e,t,r[0],o):u.IsEqual(n,"Partial")?sk(e,t,r[0],o):u.IsEqual(n,"Omit")?zw(e,t,r[0],r[1],o):u.IsEqual(n,"ReadonlyObject")?Ek(e,t,r[0],o):u.IsEqual(n,"Record")?ix(e,t,r[0],r[1],o):u.IsEqual(n,"Required")?Nk(e,t,r[0],o):u.IsEqual(n,"ReturnType")?_k(e,t,r[0],o):u.IsEqual(n,"TemplateLiteral")?$b(e,t,r[0],o):u.IsEqual(n,"Uncapitalize")?g$(e,t,r[0],o):u.IsEqual(n,"Uppercase")?x$(e,t,r[0],o):u.IsEqual(n,"With")?Kk(e,t,r[0],r[1]):L(n,r,o)}function i0(e,t,n){let r=Ke(n)?vk(e,t,n,n.$ref):$e(n)?Lt(k(e,t,n.items),gi(n)):po(n)?Ca(e,t,n.target,n.arguments):_e(n)?fn(jt(e,t,n.parameters),k(e,t,n.instanceType),Qd(n)):Ue(n)?gn(jt(e,t,n.parameters),k(e,t,n.returnType),ef(n)):ve(n)?xr(k(e,t,n.if),k(e,t,n.then),k(e,t,n.else),mf(n)):Q(n)?bt(jt(e,t,n.allOf),df(n)):me(n)?_(xs(e,t,n.properties),of(n)):nt(n)?ax(Jt(n),k(e,t,gt(n))):er(n)?Tr(k(e,t,n.items)):ge(n)?Ce(or(e,t,n.items),Og(n)):C(n)?H(jt(e,t,n.anyOf),yg(n)):n;return o0(n,r)}function k(e,t,n){return zn(n)?s0(e,t,n.action,n.parameters,n.options):i0(e,t,n)}function Cc(e,t){return k(e,be([],[]),t)}var N=m(()=>{P();$m();di();fi();pt();Ut();se();Kt();no();vt();Fe();ce();Ve();Ne();V();Gt();Zr();$m();oc();di();np();fi();sp();Hn();zo();Vo();rc();Pn();cc();Ua();Ma();ks();Wa();za();Va();Ra();Ya();Pn();Za();tm();rm();sm();mm();pm();lm();fm();qi();Pc();xm();ym();Ta();Pn();Pn();Im();Wk()});function a0(e){return l.Update(e,{"~immutable":!0},{})}function Rs(e,t){return l.Update(a0(e),{},t)}function zk(e,t,n,r){let o=k(e,t,n);return Rs(o,r)}var $m=m(()=>{E();N()});function uy(e,t={}){return L("AddImmutable",[e],t)}function Wr(e,t={}){return Rs(e,t)}var Bo=m(()=>{se();$m()});var Bk=m(()=>{se();oc()});function py(e,t={}){return L("Evaluate",[e],t)}function Hk(e,t={}){return Qp(e,t)}var Lc=m(()=>{se();Ma()});function cy(e,t={}){return L("Module",[e],t)}function Vk(e,t={}){return em({},be([],[]),e,t)}var jc=m(()=>{se();N();tm()});var ro=m(()=>{Bo();Ho();_o();Bk();rp();ji();ja();qa();_a();Lc();Ka();Ga();fc();Ha();hs();Ja();Fa();Xa();jc();nm();om();am();um();cm();dm();gm();hm();Da();Na();bm()});var Jk=m(()=>{Ua()});var Yk=m(()=>{Ii()});var Xk=m(()=>{ks()});var Zk=m(()=>{Wa()});var Qk=m(()=>{});var eT=m(()=>{Ts();vs();Qk()});var tT=m(()=>{za()});var nT=m(()=>{Va()});var rT=m(()=>{Ra()});var oT=m(()=>{Pn()});var sT=m(()=>{Ya()});var iT=m(()=>{Za()});var aT=m(()=>{tm()});var mT=m(()=>{rm()});var uT=m(()=>{sm()});var pT=m(()=>{mm()});var cT=m(()=>{Zo();jp()});var lT=m(()=>{pm()});var dT=m(()=>{lm()});var fT=m(()=>{P();ns()});var gT=m(()=>{fT()});var xT=m(()=>{fm()});var hT=m(()=>{qi()});var yT=m(()=>{Pc()});var bT=m(()=>{xm()});var IT=m(()=>{ym()});var $T=m(()=>{});var wT=m(()=>{P();Zo()});var kT=m(()=>{Mi();Ci();Fp();$T();Ai();wT()});var TT=m(()=>{Im()});var ET=m(()=>{N();cc();Jk();Xp();Yk();fs();Xk();Zk();eT();tT();nT();rT();oT();sT();iT();aT();mT();Es();uT();pT();cT();lT();dT();gT();xT();hT();yT();bT();IT();kT();TT()});function vT(...e){let[t,n,r]=yn.Match(e,{2:(a,p)=>u.IsString(a)?[{},a,p]:[a,p,{}],3:(a,p,c)=>[a,p,c],1:a=>[{},a,{}]}),o=xb(n),s=u.IsArray(o)&&u.IsEqual(o.length,2)?k(t,be([],[]),o[0]):le();return l.Update(s,{},r)}var ST=m(()=>{Gr();E();P();Hi();N();N();Pi()});var Fc=m(()=>{ST()});var ie={};Ct(ie,{Any:()=>Kr,Array:()=>Lt,BigInt:()=>Jo,Boolean:()=>ki,Call:()=>ZI,Capitalize:()=>u$,Codec:()=>wi,Conditional:()=>h$,Constructor:()=>fn,ConstructorParameters:()=>b$,Cyclic:()=>hn,Decode:()=>mg,DecodeBuilder:()=>Wo,Dependent:()=>xr,Encode:()=>ug,EncodeBuilder:()=>Go,Enum:()=>lf,Evaluate:()=>Hk,Exclude:()=>$$,Extends:()=>tt,ExtendsResult:()=>U,Extract:()=>k$,Function:()=>gn,Generic:()=>Bn,Identifier:()=>Yo,Immutable:()=>pg,Index:()=>P$,Infer:()=>Uo,InstanceType:()=>yw,Instantiate:()=>Cc,Integer:()=>$r,Interface:()=>PI,Intersect:()=>bt,IsAny:()=>Te,IsArray:()=>$e,IsBigInt:()=>$n,IsBoolean:()=>zt,IsCall:()=>po,IsCodec:()=>$i,IsConstructor:()=>_e,IsCyclic:()=>Qe,IsDependent:()=>ve,IsEnum:()=>et,IsEnumValue:()=>cf,IsFunction:()=>Ue,IsGeneric:()=>Ur,IsIdentifier:()=>fg,IsImmutable:()=>hr,IsInfer:()=>Ae,IsInteger:()=>ct,IsIntersect:()=>Q,IsKind:()=>M,IsLiteral:()=>ue,IsNever:()=>tn,IsNull:()=>Br,IsNumber:()=>Me,IsObject:()=>me,IsOptional:()=>rt,IsParameter:()=>hg,IsReadonly:()=>br,IsRecord:()=>nt,IsRef:()=>Ke,IsRefine:()=>Ju,IsRest:()=>er,IsSchema:()=>je,IsString:()=>dt,IsSymbol:()=>Jn,IsTemplateLiteral:()=>Se,IsThis:()=>Wi,IsTuple:()=>ge,IsUndefined:()=>eo,IsUnion:()=>C,IsUnknown:()=>Re,IsUnsafe:()=>yi,IsVoid:()=>Tn,KeyOf:()=>Iw,Literal:()=>ee,Lowercase:()=>p$,Mapped:()=>Lw,Module:()=>Vk,Never:()=>le,NonNullable:()=>_w,Null:()=>zr,Number:()=>St,Object:()=>_,Omit:()=>Kw,Optional:()=>nf,Parameter:()=>kr,Parameters:()=>Bw,Partial:()=>Vw,Pick:()=>ik,Readonly:()=>cg,ReadonlyObject:()=>vc,ReadonlyType:()=>pk,Record:()=>Ui,RecordKey:()=>Xr,RecordPattern:()=>Jt,RecordValue:()=>gt,Ref:()=>jn,Refine:()=>lg,Required:()=>Dk,Rest:()=>Tr,ReturnType:()=>qk,Script:()=>vT,String:()=>Bt,Symbol:()=>Vr,TemplateLiteral:()=>kb,This:()=>Gi,Tuple:()=>Ce,Uncapitalize:()=>c$,Undefined:()=>Qr,Union:()=>H,Unknown:()=>He,Unsafe:()=>sf,Uppercase:()=>l$,Void:()=>Bi,With:()=>Uk});var Dc=m(()=>{N();kn();Fc();ja();qa();_a();Lc();Ka();Ga();ro();Ha();hs();Ja();Fa();Xa();jc();nm();om();am();um();cm();dm();gm();hm();Da();Na();bm();Vu();zo();Hn();Vo();Yu();ht();pt();Ir();Vn();no();Ut();yt();nn();Kt();qo();Xu();vt();Wt();wn();Fe();Oe();Be();Hr();lt();ce();Qu();Ve();Gt();Zr();z();Ht();wr();It();zi();Ne();to();V();Ze();bi();Er()});var bo=m(()=>{ro();ET();kn();Fc();Hi();Dc();Dc()});import{StringEnum as m0}from"@earendil-works/pi-ai";import{defineTool as u0}from"@earendil-works/pi-coding-agent";function PT(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${p0[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 l0(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 d0(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 p0,c0,wm,Nc=m(()=>{bo();p0={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},c0=ie.Object({op:m0(["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"}))});wm=u0({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:c0,async execute(e,t,n,r,o){let s=d0(o),{todos:a,error:p}=l0(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
+ ${PT(a)}`:PT(a)}],details:c,...p?{isError:!0}:{}}}})});import{StringEnum as f0}from"@earendil-works/pi-ai";import{defineTool as g0}from"@earendil-works/pi-coding-agent";function OT(){return qn.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...qn].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
18
+ `)}function x0(e,t,n){if(e==="list")return qn.size===0?{text:"No notes."}:{text:[...qn].map(([r,o])=>`${r} = ${o}`).join(`
19
+ `)};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:qn.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>RT?`${n.slice(0,RT)}\u2026`:n;return qn.set(t,r),{text:`Recorded ${t} (${qn.size} note${qn.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var qn,RT,AT,km,Tm=m(()=>{bo();qn=new Map,RT=2e3,AT=80;km=g0({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:f0(["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}=x0(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(qn)},...r?{isError:!0}:{}}}})});import{StringEnum as h0}from"@earendil-works/pi-ai";import{defineTool as y0}from"@earendil-works/pi-coding-agent";function vm(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??Em,n=[`${LT[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
20
+ ${e.text}`}function jT(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??Em,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${LT[e.status]} ${e.used}/${t} \xB7 ${n}`}function FT(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 DT(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??Em}.`].join(`
22
+ `)}function Sm(){return NT}function sn(e){NT=e}function Pm(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??Em;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function qc(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>MT?{goal:e,error:`text longer than ${MT} 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===ir){t=n.data;continue}if(n.type==="custom_message"&&n.customType===ir){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 ir,CT,MT,Em,LT,NT,b0,qT,Rm=m(()=>{bo();ir="howtofix.goal",CT="howtofix.goal.continue",MT=400,Em=25,LT={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};b0=ie.Object({op:h0(["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)"}))}),qT=y0({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:b0,async execute(e,t,n,r,o){let s=Io(o),{goal:a,error:p}=qc(s,t.op,t.text,t.budget,t.note);sn(a);let c=vm(a);return{content:[{type:"text",text:p?`Error: ${p}
23
+ ${c}`:c}],details:{op:t.op,goal:a},...p?{isError:!0}:{}}}})});import{existsSync as Kc,mkdirSync as _T,readFileSync as UT,writeFileSync as KT}from"node:fs";import{dirname as GT,join as WT}from"node:path";import{defineTool as zT}from"@earendil-works/pi-coding-agent";function Am(){return{state:"inactive",wasActive:!1}}function I0(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:Am()}function BT(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function $0(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function w0(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function k0(e){return e.state!=="active"?e:{...e,state:"inactive"}}function HT(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Om(e){return e.state==="active"}function T0(e,t){return e===t}function E0(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 v0(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 Mm(){return mt}function VT(){return at}function JT(){return Om(mt)}function YT(){if(!(!at||!Kc(at)))try{let e=UT(at,"utf8");return e.trim()?e:void 0}catch{return}}function XT(){return YT()!==void 0}function ZT(){return mt.state==="inactive"?"":mt.state==="pending"?"plan pending":XT()?"plan \u25CF ready":"plan \u25CF planning"}function QT(){return Uc?WT(Uc,"plan_mode.json"):void 0}function S0(){let e=QT();if(e)try{_T(GT(e),{recursive:!0}),KT(e,JSON.stringify(mt))}catch{}}function P0(){let e=QT();if(!e||!Kc(e))return Am();try{return I0(JSON.parse(UT(e,"utf8")))}catch{return Am()}}function R0(e){Uc=e,at=WT(e,"plan.md"),mt=P0()}function $o(e){return mt=e,S0(),mt}function eE(){return e=>{e.on("tool_call",async t=>{if(!Om(mt)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!at||T0(n,at)))return{block:!0,reason:v0(at)}})}}function tE(){return e=>{e.on("session_start",async(t,n)=>{R0(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{mt.state==="pending"&&$o($0(mt))}),e.on("context_with_system",async t=>{if(!Om(mt)||!at)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=E0(at,XT()),o=`${typeof n.content=="string"?n.content:""}
25
+
26
+ ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:o}:a)}})}}function A0(){if(at){try{_T(GT(at),{recursive:!0}),Kc(at)||KT(at,"")}catch{return}return at}}var at,mt,Uc,_c,nE,rE,Gc=m(()=>{bo();mt=Am();_c=2e4;nE=zT({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(mt.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${mt.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:{}};$o(w0(mt));let a=A0();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}}}}),rE=zT({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(!Om(mt))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=YT();if(!s)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${at??"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>_c?`${s.slice(0,_c)}
28
+ \u2026 (${s.length-_c} more characters)`:s;return await o.ui.confirm("Approve this plan?",a)?($o(k0(mt)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:at}}):{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 Wc(){return{consecutiveFailures:0,tripped:!1}}function O0(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function M0(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function C0(){return Wc()}function L0(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 oE(){return e=>{e.on("session_start",async()=>{ar=Wc()}),e.on("session_compact",async()=>{ar=C0()}),e.on("session_compact_failed",async(t,n)=>{let r=ar;ar=M0(ar,t.aborted),!r.tripped&&ar.tripped&&n?.ui&&n.ui.notify(L0(ar),"warning")}),e.on("session_before_compact",async t=>{if(O0(ar,t.reason))return{cancel:!0}})}}var ar,sE=m(()=>{ar=Wc()});function Cm(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 Lm(e,t){if(Array.isArray(e)){let n=e.map(o=>({...o})),r=n.filter(o=>o.type==="text");if(r.length>0){r[0].text=t;for(let o of r.slice(1))o.text="";return n}return[...n,{type:"text",text:t}]}return t}var zc=m(()=>{});function j0(e){sn(Io(e))}function iE(e){return`budget exhausted (${e.budget??"default"} continuations)`}function aE(){return e=>{e.on("session_start",async(t,n)=>{j0(n)}),e.on("context_with_system",async(t,n)=>{let r=Io(n);if(sn(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${Cm(o.content)}
30
+
31
+ ${FT(r)}`;return{messages:t.messages.map(p=>p===o?{...o,content:Lm(o.content,s)}:p)}}),e.on("agent_before_settle",async(t,n)=>{let r=Io(n);if(sn(r),Pm(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(ir,o),sn(o),Pm(o).action==="stop"){let s={...o,status:"done",note:iE(o)};e.appendEntry(ir,s),sn(s);return}return{entries:[{type:"custom_message",customType:CT,content:DT(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=Io(n),o=Pm(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:iE(r)};e.appendEntry(ir,s),sn(s)}else sn(r)})}}var mE=m(()=>{zc();Rm()});function jm(){return e=>{e.on("context_with_system",async t=>{let n=OT();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Cm(r.content)}
32
+
33
+ ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:Lm(r.content,o)}:a)}})}}var Bc=m(()=>{zc();Tm()});import{mkdirSync as F0,readdirSync as D0,readFileSync as N0,writeFileSync as q0}from"node:fs";import{join as uE}from"node:path";import{createAgentSession as _0,DefaultResourceLoader as U0,SessionManager as K0}from"@earendil-works/pi-coding-agent";function Fm(e){F0(Dr,{recursive:!0}),q0(uE(Dr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function Vc(){let e;try{e=D0(Dr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(N0(uE(Dr,t),"utf8"));if(n.status!=="parked"||Yt.some(r=>r.id===n.id))continue;Yt.push({...n,mail:n.mail??[]})}catch{}}function Jc(){return Vc(),Yt.length===0?"no agents":Yt.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
34
+ `)}function Yc(e){Vc();let t=Yt.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
35
+ ${t.result??t.task}`:`no agent ${e}`}async function Dm(e){let t=Or.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||process.cwd(),r=new U0({cwd:n,agentDir:Xe,extensionFactories:[jm()]});await r.reload();let{session:o}=await _0({cwd:n,agentDir:Xe,sessionManager:K0.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[km,wm],thinkingLevel:e.effort});return o}async function cE(e,t){Vc();let n=Yt.find(o=>o.id===e);if(!n)return`no agent ${e}`;let r=n.session??await Dm(n);if(n.session=r,n.status==="running"||r.isStreaming)return n.mail.push(t),Fm(n),`queued for ${e}`;if(n.requests>=pE)return`${e} is out of budget (${n.requests} requests)`;n.status="running";try{await r.prompt(t),n.requests+=1,n.result=r.getLastAssistantText()?.trim()||n.result,n.status="parked"}catch(o){n.result=o instanceof Error?o.message:String(o),n.status="error"}return Fm(n),`${e} ${n.status}`}async function lE(e){let t=Or.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Or.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${Yt.length+1}`,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return Yt.push(n),Fm(n),n}async function z0(e,t){let n=Or.get(e.agent);if(!n)return;let r=e.session??await Dm(e);e.session=r;try{let o=e.mail.splice(0).join(`
36
36
  `);for(await r.prompt(`${n.prompt}
37
37
 
38
38
  Task:
39
39
  ${e.task}${o?`
40
40
 
41
41
  Messages:
42
- ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<eE;)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{Lm(e)}}async function rE(e){let t=()=>Vt.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 S0(r,e)}};if(await Promise.all(Array.from({length:v0},n)),e?.aborted)throw new Error("aborted")}var _c,E0,Or,Vt,v0,eE,Ss=m(()=>{_n();wm();qc();Rc();_c=["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."],E0=`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<pE;)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{Fm(e)}}async function dE(e){let t=()=>Yt.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 z0(r,e)}};if(await Promise.all(Array.from({length:W0},n)),e?.aborted)throw new Error("aborted")}var Hc,G0,Or,Yt,W0,pE,As=m(()=>{Kn();Tm();Bc();Nc();Hc=["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."],G0=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
44
44
 
45
45
  ## Read-only, by construction
46
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,65 +58,67 @@ End your reply with exactly this section, listing the 3-5 files most critical to
58
58
  - path/to/file.ts
59
59
  - path/to/file.ts
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.`,Or=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.",..._c].join(`
62
- `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context"],prompt:E0,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.",..._c].join(`
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.",..._c].join(`
64
- `),effort:"medium"}]]),Vt=[],v0=3,eE=8});import{execFile as P0}from"node:child_process";import{promisify as A0}from"node:util";import{tmpdir as O0}from"node:os";import{join as R0}from"node:path";async function An(e,t){try{let{stdout:n}=await M0("git",t,{cwd:e,encoding:"utf8",maxBuffer:8388608});return{ok:!0,output:n.trim()}}catch(n){let r=n&&typeof n=="object"&&"stderr"in n&&typeof n.stderr=="string"?n.stderr.trim():"",o=n instanceof Error?n.message:String(n);return{ok:!1,output:r||o}}}async function Wc(e){return(await An(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function oE(e){return(await An(e,["status","--porcelain"])).output.length>0}async function sE(e,t){let n=await An(e,["add","-A"]);if(!n.ok)return n;let r=await An(e,["commit","-m",t]);return r.ok?{ok:!0,output:(await An(e,["log","-1","--oneline"])).output||r.output}:r}async function iE(e){let t=(await An(e,["diff"])).output,n=(await An(e,["diff","--cached"])).output;return[t,n].filter(Boolean).join(`
65
- `)}function aE(e,t=60){let n=e.split(`
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.`,Or=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.",...Hc].join(`
62
+ `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context"],prompt:G0,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.",...Hc].join(`
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.",...Hc].join(`
64
+ `),effort:"medium"}]]),Yt=[],W0=3,pE=8});import{execFile as B0}from"node:child_process";import{promisify as H0}from"node:util";import{tmpdir as V0}from"node:os";import{join as J0}from"node:path";async function Xt(e,t){try{let{stdout:n}=await Y0("git",t,{cwd:e,encoding:"utf8",maxBuffer:8388608});return{ok:!0,output:n.trim()}}catch(n){let r=n&&typeof n=="object"&&"stderr"in n&&typeof n.stderr=="string"?n.stderr.trim():"",o=n instanceof Error?n.message:String(n);return{ok:!1,output:r||o}}}async function Nm(e){return(await Xt(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function fE(e){return(await Xt(e,["status","--porcelain"])).output.length>0}async function gE(e,t){let n=await Xt(e,["add","-A"]);if(!n.ok)return n;let r=await Xt(e,["commit","-m",t]);return r.ok?{ok:!0,output:(await Xt(e,["log","-1","--oneline"])).output||r.output}:r}async function xE(e){let t=await Xt(e,["reset","--soft","HEAD~1"]);return t.ok?{ok:!0,output:(await Xt(e,["log","-1","--oneline"])).output||"reset to the previous commit"}:t}async function hE(e){let t=(await Xt(e,["diff"])).output,n=(await Xt(e,["diff","--cached"])).output;return[t,n].filter(Boolean).join(`
65
+ `)}function yE(e,t=60){let n=e.split(`
66
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(`
67
- `)}async function mE(e,t){if(!await Wc(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=R0(O0(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return(await An(e,["worktree","add","--detach",r,"HEAD"])).ok?{path:r,async remove(){await An(e,["worktree","remove","--force",r]),await An(e,["worktree","prune"])}}:null}var M0,zc=m(()=>{M0=A0(P0)});function uE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function C0(e,t){let n=uE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function L0(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 ir(e,t,n,r,o){if(!Rr(t))return;if(t.$ref!==void 0){let a=L0(n,t.$ref);a&&ir(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)ir(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 b=[];return ir(e,x,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 i=t.type;if(i!==void 0){let a=Array.isArray(i)?i.map(String):[String(i)];if(!a.some(p=>C0(e,p))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${uE(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&&ir(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||ir(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&&ir(p,a[c],n,`${r}[${c}]`,o)}):e.forEach((p,c)=>ir(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 pE(e,t){if(!Rr(t))return[];let n=[];return ir(e,t,t,"",n),n}function cE(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
68
- `)}function lE(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 i=0;i<o.length;i++){let a=o[i];if(a!=="{"&&a!=="[")continue;let p=a==="{"?"}":"]",c=0,x=!1,b=!1;for(let S=i;S<o.length;S++){let O=o[S];if(x){b?b=!1:O==="\\"?b=!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(i,S+1))}catch{break}}}}}var Rr,dE=m(()=>{Rr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as fE from"node:os";async function D0(e,t=gE,n=xE){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 N0(){let e=fE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function q0(e){let t=0,n=[];return async function(){t>=e&&await new Promise(i=>n.push(i)),t++;let o=!1;return()=>{o||(o=!0,t--,n.shift()?.())}}}function hE(e){let t=e.lifetimeCap??j0,n=e.fanoutCap??F0,r=q0(e.concurrency??N0()),o=0,i=0,a="",p=q=>e.onEvent?.(q),c=new Map,x=()=>e.onProgress?.([...c.values()]),b=async(q,re)=>{let ee=re??{},Pe=typeof ee.label=="string"?ee.label:`agent-${o+1}`,le=typeof ee.phase=="string"?ee.phase:a,et=typeof ee.agentType=="string"?ee.agentType:"task",At=typeof ee.effort=="string"?ee.effort:void 0,xe=typeof ee.model=="string"?ee.model:void 0,Z=typeof ee.isolation=="string"?ee.isolation:void 0,Ot=ee.schema;if(e.budgetTotal!=null&&i>=e.budgetTotal)throw new Ke(`budget exhausted: spent ${i} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Ke(`lifetime cap reached: ${t} agent calls in one run`);o++;let T=o;if(e.isPaused?.()&&!await D0(e,gE,xE))return null;let Yt=await r();try{if(e.signal?.aborted)return null;p({kind:"agent_start",label:Pe,phase:le,ordinal:o}),c.set(T,{label:Pe,phase:le,agentType:et,status:"running",outputTokens:0,...xe?{model:xe}:{},startedAt:Date.now()}),x();let Mn=(mn,Dt,mt)=>{let kt=c.get(T);kt&&(kt.status=mn,kt.outputTokens=Dt.outputTokens,kt.endedAt=Date.now(),Dt.toolCalls!==void 0&&(kt.toolCalls=Dt.toolCalls),Dt.model!==void 0&&(kt.model=Dt.model),mt&&(kt.detail=mt)),p({kind:"agent_end",label:Pe,ok:mn==="ok",outputTokens:Dt.outputTokens}),x()},Eo=Ot===void 0?1:2;for(let mn=0;mn<Eo;mn++){let Dt=mn===0?String(q):void 0,mt=await O(Dt??_0(String(q),S),{label:Pe,phase:le,agentType:et,effort:At,model:xe,isolation:Z});if(mt===null)return Mn("failed",{text:"",outputTokens:0}),null;if(i+=mt.outputTokens,Ot===void 0)return Mn("ok",mt,Bc(mt.text)),mt.text;let kt=lE(mt.text),Rt=kt===void 0?[{path:"",message:"reply was not JSON"}]:pE(kt,Ot);if(Rt.length===0)return Mn("ok",mt,Bc(mt.text)),kt;if(S=cE(Rt),mn===Eo-1)return Mn("failed",mt,`schema: ${Bc(S)}`),null}return null}finally{Yt()}},S="",O=async(q,re)=>{try{return await e.invoke({prompt:q,...re})}catch{return null}};return{agent:(q,re)=>b(q,re),parallel:async q=>{if(q.length>n)throw new Ke(`fan-out cap exceeded: ${q.length} items (max ${n})`);return await Promise.all(q.map(async ee=>{try{return await ee()}catch{return null}}))},pipeline:async(q,...re)=>{if(q.length>n)throw new Ke(`fan-out cap exceeded: ${q.length} items (max ${n})`);return await Promise.all(q.map(async(Pe,le)=>{let et=Pe;for(let At of re)try{et=await At(et,Pe,le)}catch{return null}return et}))},phase:q=>{a=String(q),p({kind:"phase",title:a})},log:q=>p({kind:"log",message:String(q)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>i,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-i)}}}function _0(e,t){return`${e}
67
+ `)}async function bE(e,t){if(!await Nm(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=J0(V0(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return(await Xt(e,["worktree","add","--detach",r,"HEAD"])).ok?{path:r,async remove(){await Xt(e,["worktree","remove","--force",r]),await Xt(e,["worktree","prune"])}}:null}var Y0,Xc=m(()=>{Y0=H0(B0)});function IE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function X0(e,t){let n=IE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function Z0(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(!Mr(n)&&!Array.isArray(n))return;n=n[o]}return Mr(n)?n:void 0}function mr(e,t,n,r,o){if(!Mr(t))return;if(t.$ref!==void 0){let a=Z0(n,t.$ref);a&&mr(e,a,n,r,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)mr(e,a,n,r,o);for(let a of["anyOf","oneOf"]){let p=t[a];if(!Array.isArray(p)||p.length===0)continue;let c=p.filter(h=>{let I=[];return mr(e,h,n,r,I),I.length===0}).length;a==="anyOf"&&c===0&&o.push({path:r,message:"does not match any allowed shape"}),a==="oneOf"&&c!==1&&o.push({path:r,message:`must match exactly one shape (matched ${c})`})}let s=t.type;if(s!==void 0){let a=Array.isArray(s)?s.map(String):[String(s)];if(!a.some(p=>X0(e,p))){o.push({path:r,message:`expected ${a.join(" or ")}, got ${IE(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(", ")}`}),Mr(e)){let a=Mr(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&&mr(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(Mr(t.additionalProperties))for(let[p,c]of Object.entries(e))p in a||mr(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&&mr(p,a[c],n,`${r}[${c}]`,o)}):e.forEach((p,c)=>mr(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 $E(e,t){if(!Mr(t))return[];let n=[];return mr(e,t,t,"",n),n}function wE(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
68
+ `)}function kE(e){let t=e.trim(),n=/```(?:json)?\s*([\s\S]*?)```/.exec(t),r=[t,n?.[1]?.trim()].filter(o=>!!o);for(let o of r){try{return JSON.parse(o)}catch{}for(let s=0;s<o.length;s++){let a=o[s];if(a!=="{"&&a!=="[")continue;let p=a==="{"?"}":"]",c=0,h=!1,I=!1;for(let v=s;v<o.length;v++){let O=o[v];if(h){I?I=!1:O==="\\"?I=!0:O==='"'&&(h=!1);continue}if(O==='"')h=!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 Mr,TE=m(()=>{Mr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as EE from"node:os";async function tL(e,t=vE,n=SE){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 nL(){let e=EE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function rL(e){let t=0,n=[];return async function(){t>=e&&await new Promise(s=>n.push(s)),t++;let o=!1;return()=>{o||(o=!0,t--,n.shift()?.())}}}function PE(e){let t=e.lifetimeCap??Q0,n=e.fanoutCap??eL,r=rL(e.concurrency??nL()),o=0,s=0,a="",p=W=>e.onEvent?.(W),c=new Map,h=()=>e.onProgress?.([...c.values()]),I=async(W,Z)=>{let ae=Z??{},xe=typeof ae.label=="string"?ae.label:`agent-${o+1}`,ke=typeof ae.phase=="string"?ae.phase:a,We=typeof ae.agentType=="string"?ae.agentType:"task",Dt=typeof ae.effort=="string"?ae.effort:void 0,he=typeof ae.model=="string"?ae.model:void 0,te=typeof ae.isolation=="string"?ae.isolation:void 0,T=ae.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new Ge(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Ge(`lifetime cap reached: ${t} agent calls in one run`);o++;let ze=o;if(e.isPaused?.()&&!await tL(e,vE,SE))return null;let Nt=await r();try{if(e.signal?.aborted)return null;p({kind:"agent_start",label:xe,phase:ke,ordinal:o}),c.set(ze,{label:xe,phase:ke,agentType:We,status:"running",outputTokens:0,...he?{model:he}:{},startedAt:Date.now()}),h();let pn=(Zt,qt,qe)=>{let Ot=c.get(ze);Ot&&(Ot.status=Zt,Ot.outputTokens=qt.outputTokens,Ot.endedAt=Date.now(),qt.toolCalls!==void 0&&(Ot.toolCalls=qt.toolCalls),qt.model!==void 0&&(Ot.model=qt.model),qe&&(Ot.detail=qe)),p({kind:"agent_end",label:xe,ok:Zt==="ok",outputTokens:qt.outputTokens}),h()},vo=T===void 0?1:2;for(let Zt=0;Zt<vo;Zt++){let qt=Zt===0?String(W):void 0,qe=await O(qt??oL(String(W),v),{label:xe,phase:ke,agentType:We,effort:Dt,model:he,isolation:te});if(qe===null)return pn("failed",{text:"",outputTokens:0}),null;if(s+=qe.outputTokens,T===void 0)return pn("ok",qe,Zc(qe.text)),qe.text;let Ot=kE(qe.text),So=Ot===void 0?[{path:"",message:"reply was not JSON"}]:$E(Ot,T);if(So.length===0)return pn("ok",qe,Zc(qe.text)),Ot;if(v=wE(So),Zt===vo-1)return pn("failed",qe,`schema: ${Zc(v)}`),null}return null}finally{Nt()}},v="",O=async(W,Z)=>{try{return await e.invoke({prompt:W,...Z})}catch{return null}};return{agent:(W,Z)=>I(W,Z),parallel:async W=>{if(W.length>n)throw new Ge(`fan-out cap exceeded: ${W.length} items (max ${n})`);return await Promise.all(W.map(async ae=>{try{return await ae()}catch{return null}}))},pipeline:async(W,...Z)=>{if(W.length>n)throw new Ge(`fan-out cap exceeded: ${W.length} items (max ${n})`);return await Promise.all(W.map(async(xe,ke)=>{let We=xe;for(let Dt of Z)try{We=await Dt(We,xe,ke)}catch{return null}return We}))},phase:W=>{a=String(W),p({kind:"phase",title:a})},log:W=>p({kind:"log",message:String(W)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function oL(e,t){return`${e}
69
69
 
70
70
  Your previous reply did not satisfy the required schema:
71
71
  ${t}
72
72
 
73
- Reply with ONLY a corrected JSON value.`}function Bc(e,t=80){let n=e.split(`
74
- `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var j0,F0,gE,xE,Ke,yE=m(()=>{dE();j0=1e3,F0=4096,gE=100,xE=300*1e3;Ke=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as qn,styleText as U0}from"@earendil-works/pi-tui";function K0(e,t){return U0(e,t,Fm)}function oe(e,t,n){return K0(e,{...n,fg:t})}var Fm,N,bE,Ps=m(()=>{Fm="truecolor",N={text:qn("#e6e6e6"),mute:qn("#8b8b8b"),dim:qn("#5c5c5c"),user:qn("#d0d0d0"),accent:qn("#c4b5fd"),tool:qn("#6ee7b7"),bad:qn("#f0a8a4"),warn:qn("#e6b15a"),line:qn("#3a3a3a")};bE={heading:e=>oe(e,N.text,{bold:!0}),link:e=>oe(e,N.accent,{underline:!0}),linkUrl:e=>oe(e,N.mute),code:e=>oe(e,N.text),codeBlock:e=>oe(e,N.text),codeBlockBorder:e=>oe(e,N.line),quote:e=>oe(e,N.mute,{italic:!0}),quoteBorder:e=>oe(e,N.line),hr:e=>oe(e,N.line),listBullet:e=>oe(e,N.mute),bold:e=>oe(e,N.text,{bold:!0}),italic:e=>oe(e,N.text,{italic:!0}),strikethrough:e=>oe(e,N.mute,{strikethrough:!0}),underline:e=>oe(e,N.text,{underline:!0})}});import{truncateToWidth as Os,visibleWidth as on}from"@earendil-works/pi-tui";function ar(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 wE(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 Jc(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Nm(e,t,n="left"){if(t<=0)return"";let r=on(e);if(r>t)return Os(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function Yc(e,t,n,r=1){if(n<=0)return"";let o=on(t);if(o>=n)return Os(t,n);let i=n-o-r;if(i<=0)return Nm(t,n,"right");let a=on(e)>i?Os(e,i):e,p=" ".repeat(n-on(a)-o);return a+p+t}function Hc(e,t,n){let r=wo(e,Math.max(0,n-2)),o=Math.max(1,n-1-on(r)),i=fe("border","\u250C\u2500 ")+fe("accent",r)+fe("border",` ${"\u2500".repeat(o)}\u2510`),a=fe("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),p=fe("border","\u2502"),c=t.map(x=>`${p} ${Nm(x,n)} ${p}`);return[i,...c,a]}function z0(e,t,n,r){let o=r?.gap??1,i=r?.leftWidth??As(Math.round(n*.38),28,44),a=n-i-o,p=Math.max(e.rows.length,t.rows.length),c=O=>{let j=[...O];for(;j.length<p;)j.push("");return j},x=Hc(e.title,c(e.rows),i-4),b=Hc(t.title,c(t.rows),a-4),S=" ".repeat(o);return x.map((O,j)=>O+S+(b[j]??Nm("",a)))}function kE(e,t,n){switch(e){case"running":return fe(t||n?"accent":"muted","\u25CF");case"failed":return fe("error","\u2717");default:return fe("success","\u2713")}}function TE(e,t,n,r=Date.now(),o=0){return t?r-o<Dm?fe("success","\u2713",!0):fe("success","\u2713"):fe(n?"accent":"dim",String(e))}function ko(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 i=o.phase||$E;n.includes(i)||n.push(i)}return n.map((o,i)=>{let a=e.steps.filter(F=>(F.phase||$E)===o).map(F=>({...F,phaseIndex:i})),p=a.filter(F=>F.status!=="running").length,c=a.filter(F=>F.status==="failed").length,x=a.reduce((F,q)=>{let re=q.endedAt??t;return Math.max(F,re-q.startedAt)},0),b=-1;for(let F=0;F<a.length;F++){let q=a[F];q.status==="running"&&(b<0||q.startedAt>=a[b].startedAt)&&(b=F)}let S=r.get(o),O=a.length>0&&p===a.length&&c===0,j=O?a.reduce((F,q)=>Math.max(F,q.endedAt??0),0):0;return{title:o,...S?{detail:S}:{},agents:a,done:p,failed:c,outputTokens:a.reduce((F,q)=>F+q.outputTokens,0),elapsedMs:x,allDone:O,finishedAt:j,anchor:b}})}function Xc(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function B0(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function EE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function H0(e){return e.steps.length>G0||Xc(e)>W0}function V0(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],i=n.group.agents[n.group.anchor];return o.startedAt>=i.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 vE(e,t=Date.now()){let n=ko(e,t),r=e.steps.length,o=e.steps.filter(x=>x.status!=="running").length,i=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(`${Jc(Xc(e))} tok`),a.push(ar(EE(e,t))),i>0&&a.push(`${i} failed`);let c=a.join(" \xB7 ");return H0(e)?`large workflow \xB7 ${c}`:c}function PE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${ar(t-e.startedAt)}`,"idle"];let n=Jc(e.outputTokens),r=e.toolCalls??0,o=ar((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function Vc(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=As(t-Math.floor(r/2),0,e.length-r),i=e.slice(o,o+r);return{slice:i,start:o,more:e.length-i.length}}function eL(e,t,n,r,o){let i=`${e.done}/${e.agents.length}`,a=n?fe("accent","\u276F"):" ",p=TE(t+1,e.allDone,n,o,e.finishedAt),c=Math.max(0,r-4-on(i)),x=on(e.title)>c?Os(e.title,c,"\u2026"):e.title,b=e.allDone&&o-e.finishedAt<Dm,S=fe(b&&!n?"success":n?"accent":"text",x),O=`${a}${p} ${S}`,j=fe(n?"accent":"muted",i);return Yc(O,j,r,1)}function tL(e,t,n,r,o,i){let a=t?fe("accent","\u276F"):" ",p=kE(e.status,t,n),c=fe(t?"accent":"text",Nm(e.label,r)),x=`${a}${p} ${c}`,b=Math.max(0,o-on(x)-1),S=PE(e,i).find(j=>on(j)<=b)??"",O=fe(t?"accent":Q0(e)?"dim":"muted",S);return Yc(x,O,o,1)}function nL(e,t,n,r){let o=[];return e.forEach((i,a)=>{let c=`${TE(a+1,i.allDone,a===n,r,i.finishedAt)} ${fe(a===n?"accent":"text",i.title)} ${fe("muted",`${i.done}/${i.agents.length}`)}`;o.push(wo(c,t));let{slice:x,more:b}=Vc(i.agents,0,SE);x.forEach((S,O)=>{let j=kE(S.status,!1,O===i.anchor),F=PE(S,r)[0]??"";o.push(wo(` ${j} ${fe("text",S.label)} ${fe("muted",F)}`,t))}),b>0&&o.push(wo(` ${fe("dim",`\u2026+${b} more`)}`,t))}),o}function rL(e,t,n){let r=n?.now??Date.now(),o=ko(e,r),i=e.steps,a=i.filter(T=>T.status!=="running").length,p=i.filter(T=>T.status==="failed").length,c=[`${a}/${i.length} agents`,`${Jc(Xc(e))} tok`,`${B0(e)} tools`,ar(EE(e,r)),...p>0?[`${p} failed`]:[]].join(" \xB7 "),x=[Yc(fe("accent",e.name,!0),fe("muted",c),t,2),...e.description?[fe("muted",wo(e.description,t))]:[]],b=n?.footer?[fe("muted",wo(n.footerText??oL(),t))]:[];if(o.length===0)return[...x,...Hc("Phases",["(no agents yet)"],Math.max(0,t-4)),...b];let S=As(n?.selectedPhase??V0(o),0,Math.max(0,o.length-1)),O=As(Math.round(t*.38),28,44),j=t-O-1-4;if(t<X0||j<Z0)return[...x,...nL(o,t,S,r),...b];let F=o[S],{slice:q,start:re,more:ee}=Vc(o,S,J0),Pe=q.map((T,Yt)=>eL(T,re+Yt,re+Yt===S,O-4,r));ee>0&&Pe.push(fe("dim",`\u2026+${ee} more`));let le=n?.filter?n.filter(F.agents):F.agents,et=le.length?As(Math.max(...le.map(T=>on(T.label))),6,Y0):6,{slice:At,more:xe}=Vc(le,0,n?.agentWindow??SE),Z=At.map((T,Yt)=>tL(T,!1,Yt===F.anchor,et,j,r));xe>0&&Z.push(fe("dim",`\u2026+${xe} more`));let Ot=z0({title:"Phases",rows:Pe},{title:`${F.title} \xB7 ${le.length} agents${n?.filterLabel??""}`,rows:Z},t,{leftWidth:O,gap:1});return[...x,...Ot,...b]}function AE(e,t=[],n=96,r,o){let i=rL(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=ko(e,e.endedAt??Date.now()),x=c[Math.max(0,Math.min(c.length-1,r??0))];for(let b of x?.agents??[])a.add(b.label)}if(a.size===0)return i;let p=[];for(let c of e.steps)if(a.has(c.label)){for(let x of c.tasks??[]){let b=x.status==="completed"?"[x]":x.status==="in_progress"?"[>]":"[ ]";p.push(` ${fe("muted",b)} ${fe("text",x.content)}`)}c.detail&&p.push(` ${fe("dim",c.detail)}`)}return p.length===0?i:[...i.slice(0,-1),...p,i[i.length-1]]}function oL(){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 IE,fe,G0,W0,Dm,As,wo,$E,SE,J0,Y0,X0,Z0,Q0,Rs=m(()=>{Ps();IE={text:N.text,muted:N.mute,dim:N.dim,accent:N.accent,success:N.tool,error:N.bad,border:N.line},fe=(e,t,n=!1)=>n?oe(t,IE[e],{bold:!0}):oe(t,IE[e]),G0=25,W0=15e5,Dm=420;As=(e,t,n)=>Math.max(t,Math.min(n,e)),wo=(e,t)=>on(e)>t?Os(e,Math.max(0,t),"\u2026"):e;$E="Workflow";SE=16,J0=12,Y0=18,X0=72,Z0=24;Q0=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as sL}from"node:fs";import{basename as iL}from"node:path";import{StringEnum as aL}from"@earendil-works/pi-ai";import{defineTool as mL}from"@earendil-works/pi-coding-agent";function RE(e){OE=e}function pL(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new Ke("a workflow script must start with `export const meta = { name, description }`");let r=e.length-t.length,o=n[0].length,i=0,a=null,p=-1;for(let j=o;j<t.length;j++){let F=t[j];if(a){F==="\\"?j++:F===a&&(a=null);continue}if(F==='"'||F==="'"||F==="`")a=F;else if(F==="{"||F==="[")i++;else if((F==="}"||F==="]")&&(i--,i===0)){p=j+1;break}}if(p===-1)throw new Ke("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 Ke("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(x))throw new Ke("a workflow body must not use dynamic import()");let b;try{b=new Function(`"use strict"; return (${c});`)()}catch(j){throw new Ke(`meta must be a literal object: ${j instanceof Error?j.message:String(j)}`)}if(typeof b!="object"||b===null)throw new Ke("meta must be an object");let S=b;if(typeof S.name!="string"||!S.name.trim())throw new Ke("meta.name is required");if(typeof S.description!="string"||!S.description.trim())throw new Ke("meta.description is required");let O=Array.isArray(S.phases)?S.phases.filter(j=>typeof j=="object"&&j!==null).map(j=>({title:String(j.title??""),...typeof j.detail=="string"?{detail:j.detail}:{}})).filter(j=>j.title):void 0;return{meta:{name:S.name,description:S.description,...typeof S.whenToUse=="string"?{whenToUse:S.whenToUse}:{},...O?{phases:O}:{}},body:x}}function cL(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
73
+ Reply with ONLY a corrected JSON value.`}function Zc(e,t=80){let n=e.split(`
74
+ `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var Q0,eL,vE,SE,Ge,RE=m(()=>{TE();Q0=1e3,eL=4096,vE=100,SE=300*1e3;Ge=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as _n,styleText as sL}from"@earendil-works/pi-tui";function iL(e,t){return sL(e,t,qm)}function X(e,t,n){return iL(e,{...n,fg:t})}var qm,F,AE,Os=m(()=>{qm="truecolor",F={text:_n("#e6e6e6"),mute:_n("#8b8b8b"),dim:_n("#5c5c5c"),user:_n("#d0d0d0"),accent:_n("#c4b5fd"),tool:_n("#6ee7b7"),bad:_n("#f0a8a4"),warn:_n("#e6b15a"),line:_n("#3a3a3a")};AE={heading:e=>X(e,F.text,{bold:!0}),link:e=>X(e,F.accent,{underline:!0}),linkUrl:e=>X(e,F.mute),code:e=>X(e,F.text),codeBlock:e=>X(e,F.text),codeBlockBorder:e=>X(e,F.line),quote:e=>X(e,F.mute,{italic:!0}),quoteBorder:e=>X(e,F.line),hr:e=>X(e,F.line),listBullet:e=>X(e,F.mute),bold:e=>X(e,F.text,{bold:!0}),italic:e=>X(e,F.text,{italic:!0}),strikethrough:e=>X(e,F.mute,{strikethrough:!0}),underline:e=>X(e,F.text,{underline:!0})}});import{truncateToWidth as Cs,visibleWidth as an}from"@earendil-works/pi-tui";function ur(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 CE(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 tl(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function Um(e,t,n="left"){if(t<=0)return"";let r=an(e);if(r>t)return Cs(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function nl(e,t,n,r=1){if(n<=0)return"";let o=an(t);if(o>=n)return Cs(t,n);let s=n-o-r;if(s<=0)return Um(t,n,"right");let a=an(e)>s?Cs(e,s):e,p=" ".repeat(n-an(a)-o);return a+p+t}function Qc(e,t,n){let r=wo(e,Math.max(0,n-2)),o=Math.max(1,n-1-an(r)),s=de("border","\u250C\u2500 ")+de("accent",r)+de("border",` ${"\u2500".repeat(o)}\u2510`),a=de("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),p=de("border","\u2502"),c=t.map(h=>`${p} ${Um(h,n)} ${p}`);return[s,...c,a]}function uL(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ms(Math.round(n*.38),28,44),a=n-s-o,p=Math.max(e.rows.length,t.rows.length),c=O=>{let R=[...O];for(;R.length<p;)R.push("");return R},h=Qc(e.title,c(e.rows),s-4),I=Qc(t.title,c(t.rows),a-4),v=" ".repeat(o);return h.map((O,R)=>O+v+(I[R]??Um("",a)))}function LE(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 jE(e,t,n,r=Date.now(),o=0){return t?r-o<_m?de("success","\u2713",!0):de("success","\u2713"):de(n?"accent":"dim",String(e))}function ko(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||ME;n.includes(s)||n.push(s)}return n.map((o,s)=>{let a=e.steps.filter(D=>(D.phase||ME)===o).map(D=>({...D,phaseIndex:s})),p=a.filter(D=>D.status!=="running").length,c=a.filter(D=>D.status==="failed").length,h=a.reduce((D,W)=>{let Z=W.endedAt??t;return Math.max(D,Z-W.startedAt)},0),I=-1;for(let D=0;D<a.length;D++){let W=a[D];W.status==="running"&&(I<0||W.startedAt>=a[I].startedAt)&&(I=D)}let v=r.get(o),O=a.length>0&&p===a.length&&c===0,R=O?a.reduce((D,W)=>Math.max(D,W.endedAt??0),0):0;return{title:o,...v?{detail:v}:{},agents:a,done:p,failed:c,outputTokens:a.reduce((D,W)=>D+W.outputTokens,0),elapsedMs:h,allDone:O,finishedAt:R,anchor:I}})}function rl(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function pL(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function FE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function cL(e){return e.steps.length>aL||rl(e)>mL}function lL(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 DE(e,t=Date.now()){let n=ko(e,t),r=e.steps.length,o=e.steps.filter(h=>h.status!=="running").length,s=e.steps.filter(h=>h.status==="failed").length,a=[e.name],p=n.find(h=>h.anchor>=0);p?a.push(`${p.title} ${p.done}/${p.agents.length}`):n.length>0&&a.push(`${n[n.length-1].title} done`),a.push(`${o}/${r} agents`),a.push(`${tl(rl(e))} tok`),a.push(ur(FE(e,t))),s>0&&a.push(`${s} failed`);let c=a.join(" \xB7 ");return cL(e)?`large workflow \xB7 ${c}`:c}function qE(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${ur(t-e.startedAt)}`,"idle"];let n=tl(e.outputTokens),r=e.toolCalls??0,o=ur((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function el(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ms(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 yL(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,a=n?de("accent","\u276F"):" ",p=jE(t+1,e.allDone,n,o,e.finishedAt),c=Math.max(0,r-4-an(s)),h=an(e.title)>c?Cs(e.title,c,"\u2026"):e.title,I=e.allDone&&o-e.finishedAt<_m,v=de(I&&!n?"success":n?"accent":"text",h),O=`${a}${p} ${v}`,R=de(n?"accent":"muted",s);return nl(O,R,r,1)}function bL(e,t,n,r,o,s){let a=t?de("accent","\u276F"):" ",p=LE(e.status,t,n),c=de(t?"accent":"text",Um(e.label,r)),h=`${a}${p} ${c}`,I=Math.max(0,o-an(h)-1),v=qE(e,s).find(R=>an(R)<=I)??"",O=de(t?"accent":hL(e)?"dim":"muted",v);return nl(h,O,o,1)}function IL(e,t,n,r){let o=[];return e.forEach((s,a)=>{let c=`${jE(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(wo(c,t));let{slice:h,more:I}=el(s.agents,0,NE);h.forEach((v,O)=>{let R=LE(v.status,!1,O===s.anchor),D=qE(v,r)[0]??"";o.push(wo(` ${R} ${de("text",v.label)} ${de("muted",D)}`,t))}),I>0&&o.push(wo(` ${de("dim",`\u2026+${I} more`)}`,t))}),o}function $L(e,t,n){let r=n?.now??Date.now(),o=ko(e,r),s=e.steps,a=s.filter(ze=>ze.status!=="running").length,p=s.filter(ze=>ze.status==="failed").length,c=[`${a}/${s.length} agents`,`${tl(rl(e))} tok`,`${pL(e)} tools`,ur(FE(e,r)),...p>0?[`${p} failed`]:[]].join(" \xB7 "),h=[nl(de("accent",e.name,!0),de("muted",c),t,2),...e.description?[de("muted",wo(e.description,t))]:[]],I=n?.footer?[de("muted",wo(n.footerText??wL(),t))]:[];if(o.length===0)return[...h,...Qc("Phases",["(no agents yet)"],Math.max(0,t-4)),...I];let v=Ms(n?.selectedPhase??lL(o),0,Math.max(0,o.length-1)),O=Ms(Math.round(t*.38),28,44),R=t-O-1-4;if(t<gL||R<xL)return[...h,...IL(o,t,v,r),...I];let D=o[v],{slice:W,start:Z,more:ae}=el(o,v,dL),xe=W.map((ze,Nt)=>yL(ze,Z+Nt,Z+Nt===v,O-4,r));ae>0&&xe.push(de("dim",`\u2026+${ae} more`));let ke=n?.filter?n.filter(D.agents):D.agents,We=ke.length?Ms(Math.max(...ke.map(ze=>an(ze.label))),6,fL):6,{slice:Dt,more:he}=el(ke,0,n?.agentWindow??NE),te=Dt.map((ze,Nt)=>bL(ze,!1,Nt===D.anchor,We,R,r));he>0&&te.push(de("dim",`\u2026+${he} more`));let T=uL({title:"Phases",rows:xe},{title:`${D.title} \xB7 ${ke.length} agents${n?.filterLabel??""}`,rows:te},t,{leftWidth:O,gap:1});return[...h,...T,...I]}function _E(e,t=[],n=96,r,o){let s=$L(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=ko(e,e.endedAt??Date.now()),h=c[Math.max(0,Math.min(c.length-1,r??0))];for(let I of h?.agents??[])a.add(I.label)}if(a.size===0)return s;let p=[];for(let c of e.steps)if(a.has(c.label)){for(let h of c.tasks??[]){let I=h.status==="completed"?"[x]":h.status==="in_progress"?"[>]":"[ ]";p.push(` ${de("muted",I)} ${de("text",h.content)}`)}c.detail&&p.push(` ${de("dim",c.detail)}`)}return p.length===0?s:[...s.slice(0,-1),...p,s[s.length-1]]}function wL(){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 OE,de,aL,mL,_m,Ms,wo,ME,NE,dL,fL,gL,xL,hL,Ls=m(()=>{Os();OE={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?X(t,OE[e],{bold:!0}):X(t,OE[e]),aL=25,mL=15e5,_m=420;Ms=(e,t,n)=>Math.max(t,Math.min(n,e)),wo=(e,t)=>an(e)>t?Cs(e,Math.max(0,t),"\u2026"):e;ME="Workflow";NE=16,dL=12,fL=18,gL=72,xL=24;hL=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as kL}from"node:fs";import{basename as TL}from"node:path";import{StringEnum as EL}from"@earendil-works/pi-ai";import{defineTool as vL}from"@earendil-works/pi-coding-agent";function KE(e){UE=e}function PL(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 R=o;R<t.length;R++){let D=t[R];if(a){D==="\\"?R++:D===a&&(a=null);continue}if(D==='"'||D==="'"||D==="`")a=D;else if(D==="{"||D==="[")s++;else if((D==="}"||D==="]")&&(s--,s===0)){p=R+1;break}}if(p===-1)throw new Ge("meta is not a closed literal object");let c=t.slice(o,p),h=e.slice(r+p).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(h))throw new Ge("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(h))throw new Ge("a workflow body must not use dynamic import()");let I;try{I=new Function(`"use strict"; return (${c});`)()}catch(R){throw new Ge(`meta must be a literal object: ${R instanceof Error?R.message:String(R)}`)}if(typeof I!="object"||I===null)throw new Ge("meta must be an object");let v=I;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(R=>typeof R=="object"&&R!==null).map(R=>({title:String(R.title??""),...typeof R.detail=="string"?{detail:R.detail}:{}})).filter(R=>R.title):void 0;return{meta:{name:v.name,description:v.description,...typeof v.whenToUse=="string"?{whenToUse:v.whenToUse}:{},...O?{phases:O}:{}},body:h}}function RL(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
75
75
  ${e}
76
- })();`,r;try{r=new Function(...t,n)}catch(o){throw new Ke(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function lL(e){return e.getLastAssistantText()?.trim()??""}function dL(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let i=Or.get(t)??Or.get("task");if(!i)throw new Ke(`no agent named ${t}`);let a=o==="worktree"?await mE(process.cwd(),t):null,p=await jm({agent:i.name,effort:n??i.effort,...a?{worktree:a.path}:{}});try{await p.prompt(`${i.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 AL(e){return e.getLastAssistantText()?.trim()??""}function OL(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=Or.get(t)??Or.get("task");if(!s)throw new Ge(`no agent named ${t}`);let a=o==="worktree"?await bE(process.cwd(),t):null,p=await Dm({agent:s.name,effort:n??s.effort,...a?{worktree:a.path}:{}});try{await p.prompt(`${s.prompt}
77
77
 
78
78
  Task:
79
- ${e}`);let c=p.getSessionStats(),x=r??fL(p);return{text:lL(p),outputTokens:c.tokens.output,toolCalls:c.toolCalls,...x?{model:x}:{}}}finally{p.dispose(),await a?.remove()}}}function fL(e){return e.model?.id??e.model?.name}function ME(e){let t=()=>e??OE;return mL({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:gL,executionMode:"sequential",async execute(n,r,o,i,a){let p=r.path?sL(r.path,"utf8"):r.code??"";if(!p.trim())throw new Ke("provide code or path");let{meta:c,body:x}=pL(p);if(r.path){let xe=iL(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(xe!==c.name)throw new Ke(`meta.name "${c.name}" must match the script filename "${xe}"`)}let b=cL(x),S=Date.now(),O=[],j=0,F=0,q=(xe,Z)=>({name:c.name,...c.description?{description:c.description}:{},ok:xe,agents:F,outputTokens:j,startedAt:S,phases:c.phases??[],steps:O,...Z?{error:Z}:{}}),re=(xe,Z)=>{a.ui.setStatus(Zc,Z?void 0:vE(xe)),i?.({content:[],details:q(!1)})},ee=xe=>{F=xe.length,j=xe.reduce((Z,Ot)=>Z+Ot.outputTokens,0),O.splice(0,O.length,...xe.map(Z=>({label:Z.label,phase:Z.phase,agent:Z.agentType,status:Z.status,outputTokens:Z.outputTokens,startedAt:Z.startedAt,...Z.toolCalls!==void 0?{toolCalls:Z.toolCalls}:{},...Z.model?{model:Z.model}:{},...Z.endedAt?{endedAt:Z.endedAt}:{},...Z.detail?{detail:Z.detail}:{},...Z.tasks?{tasks:Z.tasks}:{}}))),re({name:c.name,...c.description?{description:c.description}:{},phases:c.phases??[],steps:O,startedAt:S},!1)},Pe=dL(),le=hE({invoke:r.agent?xL(Pe,r.agent):Pe,budgetTotal:r.budget??null,onProgress:ee,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),et=new AbortController,At=setTimeout(()=>et.abort(),uL);o&&o.addEventListener("abort",()=>et.abort(),{once:!0}),t()?.onStop?.(()=>et.abort());try{let xe=await Promise.race([b(le.agent,le.parallel,le.pipeline,le.phase,le.log,le.args,le.budget),new Promise((Ot,T)=>et.signal.addEventListener("abort",()=>T(new Ke("workflow timed out or was aborted"))))]),Z=Date.now();return a.ui.setStatus(Zc,void 0),{content:[{type:"text",text:`${c.name}: ${F} agent call(s), ${j} output tokens in ${ar(Z-S)}
79
+ ${e}`);let c=p.getSessionStats(),h=r??ML(p);return{text:AL(p),outputTokens:c.tokens.output,toolCalls:c.toolCalls,...h?{model:h}:{}}}finally{p.dispose(),await a?.remove()}}}function ML(e){return e.model?.id??e.model?.name}function GE(e){let t=()=>e??UE;return vL({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:CL,executionMode:"sequential",async execute(n,r,o,s,a){let p=r.path?kL(r.path,"utf8"):r.code??"";if(!p.trim())throw new Ge("provide code or path");let{meta:c,body:h}=PL(p);if(r.path){let he=TL(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(he!==c.name)throw new Ge(`meta.name "${c.name}" must match the script filename "${he}"`)}let I=RL(h),v=Date.now(),O=[],R=0,D=0,W=(he,te)=>({name:c.name,...c.description?{description:c.description}:{},ok:he,agents:D,outputTokens:R,startedAt:v,phases:c.phases??[],steps:O,...te?{error:te}:{}}),Z=(he,te)=>{a.ui.setStatus(ol,te?void 0:DE(he)),s?.({content:[],details:W(!1)})},ae=he=>{D=he.length,R=he.reduce((te,T)=>te+T.outputTokens,0),O.splice(0,O.length,...he.map(te=>({label:te.label,phase:te.phase,agent:te.agentType,status:te.status,outputTokens:te.outputTokens,startedAt:te.startedAt,...te.toolCalls!==void 0?{toolCalls:te.toolCalls}:{},...te.model?{model:te.model}:{},...te.endedAt?{endedAt:te.endedAt}:{},...te.detail?{detail:te.detail}:{},...te.tasks?{tasks:te.tasks}:{}}))),Z({name:c.name,...c.description?{description:c.description}:{},phases:c.phases??[],steps:O,startedAt:v},!1)},xe=OL(),ke=PE({invoke:r.agent?LL(xe,r.agent):xe,budgetTotal:r.budget??null,onProgress:ae,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),We=new AbortController,Dt=setTimeout(()=>We.abort(),SL);o&&o.addEventListener("abort",()=>We.abort(),{once:!0}),t()?.onStop?.(()=>We.abort());try{let he=await Promise.race([I(ke.agent,ke.parallel,ke.pipeline,ke.phase,ke.log,ke.args,ke.budget),new Promise((T,ze)=>We.signal.addEventListener("abort",()=>ze(new Ge("workflow timed out or was aborted"))))]),te=Date.now();return a.ui.setStatus(ol,void 0),{content:[{type:"text",text:`${c.name}: ${D} agent call(s), ${R} output tokens in ${ur(te-v)}
80
80
 
81
- ${hL(xe)}`}],details:{...q(!0),endedAt:Z}}}catch(xe){let Z=xe instanceof Error?xe.message:String(xe);return a.ui.setStatus(Zc,void 0),{content:[{type:"text",text:`${c.name} failed after ${F} agent call(s): ${Z}`}],details:{...q(!1,Z),endedAt:Date.now()},isError:!0}}finally{clearTimeout(At),t()?.onStop?.(null)}}})}function xL(e,t){return n=>e({...n,agentType:t})}function hL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Zc,OE,uL,gL,Qc=m(()=>{bo();Ss();zc();yE();Rs();Zc="workflow",OE=null;uL=600*1e3;gL=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(aL(["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 wt}from"@earendil-works/pi-ai";import{defineTool as yL}from"@earendil-works/pi-coding-agent";var CE,LE=m(()=>{Ss();Ss();CE=yL({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:wt.Object({agent:wt.Optional(wt.String()),effort:wt.Optional(wt.String()),task:wt.Optional(wt.String()),tasks:wt.Optional(wt.Array(wt.Object({agent:wt.Optional(wt.String()),effort:wt.Optional(wt.String()),task:wt.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}],i=[];for(let p of o)p.task.trim()&&(i.push(await nE(p)),r?.({content:[],details:{agents:i.map(c=>({id:c.id,agent:c.agent,status:c.status}))}}));if(i.length===0)throw new Error("task or tasks is required");return await rE(n),{content:[{type:"text",text:i.map(p=>`## ${p.agent}#${p.id} ${p.status}
81
+ ${jL(he)}`}],details:{...W(!0),endedAt:te}}}catch(he){let te=he instanceof Error?he.message:String(he);return a.ui.setStatus(ol,void 0),{content:[{type:"text",text:`${c.name} failed after ${D} agent call(s): ${te}`}],details:{...W(!1,te),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Dt),t()?.onStop?.(null)}}})}function LL(e,t){return n=>e({...n,agentType:t})}function jL(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var ol,UE,SL,CL,sl=m(()=>{bo();As();Xc();RE();Ls();ol="workflow",UE=null;SL=600*1e3;CL=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(EL(["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 Tt}from"@earendil-works/pi-ai";import{defineTool as FL}from"@earendil-works/pi-coding-agent";var WE,zE=m(()=>{As();As();WE=FL({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:Tt.Object({agent:Tt.Optional(Tt.String()),effort:Tt.Optional(Tt.String()),task:Tt.Optional(Tt.String()),tasks:Tt.Optional(Tt.Array(Tt.Object({agent:Tt.Optional(Tt.String()),effort:Tt.Optional(Tt.String()),task:Tt.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 lE(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 dE(n),{content:[{type:"text",text:s.map(p=>`## ${p.agent}#${p.id} ${p.status}
82
82
  ${p.result??""}`).join(`
83
83
 
84
- `)}],details:{agents:i.map(p=>({id:p.id,status:p.status}))}}}})});var FE={};Ct(FE,{openSession:()=>SL});import{join as bL}from"node:path";import{createAgentSession as IL,createCodemodeExtension as $L,createMcpExtension as wL,DefaultResourceLoader as kL,SessionManager as qm,SettingsManager as TL}from"@earendil-works/pi-coding-agent";function vL(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 SL(e){let t=TL.create(e.cwd,Ve,{projectTrusted:!0}),n=e.sessionPath?qm.open(e.sessionPath):e.noSession?qm.inMemory(e.cwd):e.continueSession?qm.continueRecent(e.cwd):qm.create(e.cwd),r=new kL({cwd:e.cwd,agentDir:Ve,settingsManager:t,appendSystemPrompt:[Ll],extensionFactories:[WT(),Ru(),ud(),Cm(),XT(),zT(),VT(),$L(),wL()]});await r.reload();let o=await IL({cwd:e.cwd,agentDir:Ve,settingsManager:t,sessionManager:n,resourceLoader:r,tools:EL(),customTools:[CE,dd,fd,Im,$m,AT,BT,HT,ME()],thinkingLevel:e.thinking}),i=o.session.model;if(e.model){let c=await o.session.modelRuntime.getAvailable(),x=vL(c,e.model);if(!x)throw o.session.dispose(),new Error(`unknown model '${e.model}'`);(i?.id!==x.id||i.provider!==x.provider)&&(await o.session.setModel(x),i=o.session.model)}let a=i?`${i.provider}/${i.id}`:"no model",p=[o.modelFallbackMessage].filter(c=>!!c);return i||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${bL(Ve,"models.json")}`),{session:o.session,dispose:()=>o.session.dispose(),modelLabel:a,note:p.length?p.join(`
85
- `):void 0}}var jE,EL,DE=m(()=>{vo();pd();_n();ri();Cu();Rc();wm();Sm();Fc();JT();ZT();qc();Qc();LE();jE=["read","bash","edit","write","grep","find","ls","task","think","ask","todo","context","goal","enter_plan_mode","exit_plan_mode","workflow"],EL=()=>process.platform==="win32"?[...jE,"powershell"]:jE});import{mixColors as PL,styleText as NE}from"@earendil-works/pi-tui";function Ms(e,t,n){let r=GE(n);return r>=1?t:r<=0?e:PL(e,t,r)}function tl(e,t,n,r){return!Mr||e<=el?t:e>=UE?r:Ms(n,r,(e-el)/(UE-el))}function WE(e,t){return!Mr||t<=0||e<0?1:1-(1-GE(e/t))**3}function zE(e,t){return Mr&&e>=0&&e<t}function rl(e,t,n=OL,r=400){return!Mr||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function BE(e,t,n=Date.now(),r=1400){if(!Mr||r<=0)return e;let o=n%r/r;return Ms(e,t,o<.5?o*2:(1-o)*2)}function RL(e,t){let n=Math.abs(e-t);return n>=qE?0:Math.ceil((1-n/qE)*KE)/KE}function HE(e,t,n=Date.now()){let r=t.charMs??AL;if(!Mr||e.length===0||r<=0)return NE(e,{fg:t.base},Fm);let o=e.length+_E*2,i=n/r%o-_E,a=(O,j)=>NE(O,{fg:Ms(t.base,t.bright,j)},Fm),p="",c=0,x=null,b=0,S=0;for(let O of e){let j=RL(S,i);x===null?x=j:j!==x&&(p+=a(e.slice(c,b),x),c=b,x=j),b+=O.length,S+=1}return p+a(e.slice(c),x??0)}var Mr,AL,qE,_E,el,UE,KE,GE,_m,nl,OL,ol=m(()=>{Ps();Mr=process.env.HOWTOFIX_NO_MOTION!=="1",AL=45,qE=5,_E=8,el=1e4,UE=6e4,KE=3,GE=e=>e<0?0:e>1?1:e;_m=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,!Mr)return this.value=this.target,this.velocity=0,this.value;n>250&&(this.velocity=0);let o=150,i=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*i*p,this.value+=this.velocity*p;return this.moving||(this.value=this.target,this.velocity=0),this.value}};nl=260,OL=45});import{execFile as ML,execFileSync as CL}from"node:child_process";import{promisify as LL}from"node:util";import{createHash as JE}from"node:crypto";import{copyFileSync as jL,existsSync as sl,mkdirSync as Um,readFileSync as FL,statSync as DL,writeFileSync as NL}from"node:fs";import{dirname as YE,join as On,resolve as XE}from"node:path";function _L(e){let t=XE(e);for(;;){if(sl(On(t,".git")))return!0;let n=YE(t);if(n===t)return!1;t=n}}async function sn(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 UL("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function KL(e){return JE("sha1").update(e).digest("hex").slice(0,16)}function ZE(e){let t=XE(e).replace(/\/+$/,"")||"/",n=On(qL,KL(t)),r=On(n,"git"),o={root:t,gitDir:r,metaFile:On(n,"checkpoints.json"),disabled:!1};return!sl(On(r,"HEAD"))&&!_L(t)?(o.disabled=!0,o):(Um(n,{recursive:!0}),sl(On(r,"HEAD"))||(Um(r,{recursive:!0}),CL("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),GL(t,r),o)}function GL(e,t){let n=On(e,".git","info","exclude");try{if(!DL(n).isFile())return;Um(On(t,"info"),{recursive:!0}),jL(n,On(t,"info","exclude"))}catch{}}function al(e){try{let t=JSON.parse(FL(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function QE(e,t){Um(YE(e.metaFile),{recursive:!0}),NL(e.metaFile,`${JSON.stringify(t,null,1)}
86
- `,"utf8")}function ml(e,t){return e.disabled?[]:[...al(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function ev(e,t,n){if(e.disabled)return null;let r;try{await sn(e,["add","-A","--ignore-errors","--"]),r=await sn(e,["write-tree"])}catch{return null}let i=ml(e,t).find(O=>O.tree===r),a=Date.now(),p=`${a.toString(36)}-${JE("sha1").update(`${r}:${a}`).digest("hex").slice(0,6)}`,c=i?.commit;if(!c){let O=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
87
- `);c=await sn(e,["commit-tree",r,"-m",O]),await sn(e,["update-ref",`${il}/${p}`,c])}let x={id:p,tree:r,commit:c,prompt:n,at:a},b=al(e),S=[...b.sessions[t]??[],x];for(let O of S.slice(0,Math.max(0,S.length-VE)))try{await sn(e,["update-ref","-d",`${il}/${O.id}`])}catch{}return b.sessions[t]=S.slice(-VE),QE(e,b),x}async function tv(e,t){let n=[];if(e.disabled)return{ok:!1,output:"checkpoints are off: this directory is not a git repository",removed:n};try{await sn(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 sn(e,["clean","-fd"]);for(let o of r.split(`
88
- `)){let i=/^Removing\s+(.+)$/.exec(o.trim());i?.[1]&&n.push(i[1])}}catch{}return{ok:!0,output:`restored ${t.prompt||"the checkpoint"}`,removed:n}}async function nv(e,t){if(e.disabled)return[];try{await sn(e,["add","-A","--ignore-errors","--"]);let n=await sn(e,["write-tree"]);return n===t.tree?[]:(await sn(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n])).split(`
89
- `).filter(Boolean).map(o=>{let[i,...a]=o.split(" ");return`${i?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function rv(e,t){if(e.disabled)return;let n=al(e);for(let r of n.sessions[t]??[])try{await sn(e,["update-ref","-d",`${il}/${r.id}`])}catch{}delete n.sessions[t],QE(e,n)}var qL,il,VE,UL,ov=m(()=>{_n();qL=On(Ve,"rewind"),il="refs/howtofix",VE=100;UL=LL(ML)});function cl(e=90){let t=Math.floor(Date.now()/e)%ul.length;return ul[t]??ul[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 WL(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Cs(n,t):""}catch{return""}}function zL(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 i=r.trim().split(`
90
- `)[0]??"";return i.length>40?`${i.slice(0,40)}\u2026`:i}default:return WL(t)}}function To(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Cs(zL(e,t),n);return o?`${sv} ${r}(${o})`:`${sv} ${r}`}function BL(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 av(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 Gm(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function mv(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function iv(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function HL(e){return e.trim().split(`
92
- `).find(t=>t.trim())??""}function VL(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=Km(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function Km(e){let t=e.trim();return t?t.split(`
93
- `).length:0}function Wm(e,t,n){let r=av(t),o=Gm(t),i=mv(t);if(n){let a=iv(i);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=Km(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}=BL(a);return`+${p} / -${c}`}case"write":{let a=Km(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=iv(i);if(a===void 0)return r.trim()?Cs(HL(r),120):"done";let p=VL(i,r);return a===0?`exit 0${p}`:`exit ${a}`}case"grep":{let a=Km(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(b=>b.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"?`, ${ar(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?Cs(a,120):"done"}}}function uv(e,t){let n=Gm(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=mv(t);return(typeof r.output=="string"?r.output:av(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(i=>`${o[i.status??"pending"]??"[ ]"} ${i.content??""}`)}return e==="workflow"?(n.steps??[]).map(i=>{let a=i.status==="running"?"\u25B8":i.status==="failed"?"\xD7":"\u2713",p=i.phase?`${i.phase} \xB7 `:"";return`${a} ${p}${i.label??"agent"}`}).slice(-6):[]}var sv,pl,ul,ll=m(()=>{Rs();sv="\u25CF",pl="\u2514",ul=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]});import{Markdown as JL,wrapTextWithAnsi as YL}from"@earendil-works/pi-tui";function pv(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 XL(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function fl(e){let t=[];for(let n of e)if(n.role==="user"){let r=pv(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=pv(n.content).trim(),o=XL(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((i,a)=>{t.push({id:`c-${n.timestamp}-${a}`,kind:"tool",title:"tool",body:To(i.name,i.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:Wm(n.toolName,{content:n.content},n.isError)});return t}function cv(e,t,n){return YL(e,Math.max(8,t)).map(r=>oe(r,n))}function ZL(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 JL(t,0,0,bE);return Ls.set(e.id,{text:t,component:r}),r}var Ls,dl,zm,lv=m(()=>{ol();Ps();ll();Ls=new Map;dl=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return Ms(N.dim,t,WE(n,nl))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...cv(`> ${n}`,t,this.shade(N.user))];if(this.item.kind==="tool")return[oe(n,this.shade(N.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(` ${pl} ${n}`,o?N.bad:N.mute)]:[]];let i=[];this.item.call&&i.push(oe(this.item.call,this.shade(N.tool)));let a=` ${pl} ${n}`;i.push(oe(a,o?N.bad:this.shade(N.mute)));let p=this.item.detail??[],c=rl(Date.now()-(this.item.born??0),p.length);for(let x of p.slice(0,c)){let b=x.startsWith("+")?N.tool:x.startsWith("-")?N.bad:N.dim;i.push(oe(` ${x}`,this.shade(b)))}return i}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?N.bad:N.mute;return["",...cv(n,t,this.shade(o))]}return["",...ZL(this.item).render(Math.max(8,t-2))]}},zm=class{items=[];status="";scrollOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(n=>{if(n.born===void 0)return!1;let r=t-n.born;return zE(r,nl)?!0:(n.detail?.length??0)>rl(r,n.detail?.length??0)})}render(t){if(Ls.size>this.items.length){let o=new Set(this.items.map(i=>i.id));for(let i of Ls.keys())o.has(i)||Ls.delete(i)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new dl(o).render(t));this.status&&n.push(oe(this.status,N.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r,i=Math.max(0,Math.min(this.scrollOffset,o));return this.scrollOffset=i,n.slice(o-i,o-i+r)}return this.scrollOffset=0,n}}});function at(e,t){return`${t}${e}${fv}`}function ej(e){return e>=85?QL:e>=70?xv:gv}function hv(e,t,n,r){let o=at(`[${e}]`,gl),i=at(`${tj} ${t}`,Rn),a=at(n,xv),p=r?` ${at("git:(",dv)}${at(r.replace(/^git:\(/,"").replace(/\)$/,""),gl)}${at(")",dv)}`:"";return`${o}${at(" \u2502 ",Rn)}${i}${at(" \u2502 ",Rn)}${a}${p}`}function yv(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${at(wE(n),Rn)}`;return`${at(r,gl)} ${at("\u2502",Rn)} ${e}`}function bv(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=ej(n),i=`${o}${"\u2588".repeat(r)}${Rn}${"\u2591".repeat(10-r)}${fv}`,a=at(`${Math.round(n)}%`,o),p=t?`${at(" \u2502 ",Rn)}${t}`:"";return`${at("Context",Rn)} ${i} ${a}${p}`}function Iv(e,t,n){let r=n===null?"":at(` ${n}ms`,Rn);return`${at("Cubence",Rn)} ${at(t?`${t} ${e}`:e,gv)}${r}`}var fv,Rn,QL,gv,xv,dv,gl,tj,xl=m(()=>{Rs();fv="\x1B[0m",Rn="\x1B[2m",QL="\x1B[31m",gv="\x1B[32m",xv="\x1B[33m",dv="\x1B[35m",gl="\x1B[36m";tj="\u2726"});import{mkdirSync as nj,readFileSync as wv,writeFileSync as rj}from"node:fs";import{homedir as oj}from"node:os";import{dirname as sj,join as ij}from"node:path";function $v(e){return e/1e6}function mj(){try{let e=JSON.parse(wv(ij(oj(),".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 uj(){try{let e=JSON.parse(wv(hl,"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 Iv(t,n,e.latencyMs)}async function kv(){let e=uj();if(e&&Date.now()-e.cachedAt<aj)return js(e.data);let t=mj();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(),i=o.subscription_window?.five_hour?.limit??0,a={balanceDollar:o.normal_balance?.amount_dollar??0,hasSubscription:i>0,fiveHourUsedDollar:$v(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:$v(i),latencyMs:Date.now()-n};return nj(sj(hl),{recursive:!0}),rj(hl,JSON.stringify({data:a,cachedAt:Date.now()})),js(a)}catch{return e?js(e.data):void 0}}var hl,aj,Tv=m(()=>{_n();xl();hl=uu,aj=18e4});function Ev(){return{}}function vv(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 pj(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 Sv(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${pj(n-e.run.since)}`:e.tally?e.tally:""}var Pv=m(()=>{});import{spawn as cj}from"node:child_process";function lj(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 Av(e,t=process.platform){let n=lj(t);return n?new Promise(r=>{try{let o=cj(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 Ov=m(()=>{});import{mkdirSync as dj,writeFileSync as fj}from"node:fs";import{join as gj}from"node:path";import{matchesKey as Bm}from"@earendil-works/pi-tui";function Mv(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function Cv(e){if(Bm(e,"up"))return"up";if(Bm(e,"down"))return"down";if(Bm(e,"enter"))return"enter";if(Bm(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 Rv(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 xj(e){let t=yl.indexOf(e);return yl[(t+1)%yl.length]}function Lv(e,t,n){switch(t){case"up":return Rv(e,n,-1);case"down":return Rv(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:xj(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function jv(e,t){switch(t){case"running":return e.filter(n=>n.status==="running");case"failed":return e.filter(n=>n.status==="failed");case"done":return e.filter(n=>n.status!=="running");default:return[...e]}}function Fv(e){return e==="all"?"":` \xB7 ${e}`}function Nv(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 hj(e){let t=e.trim();if(!(!t||t.length>64)&&!(t==="."||t==="..")&&/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(t)&&!t.includes(".."))return t}function qv(e,t){if(!e)return{ok:!1,reason:"this run was started from a file, so it is already saved where you pointed the tool"};let n=hj(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=gj(t,`${n}.js`);try{dj(t,{recursive:!0}),fj(r,e.code,"utf8")}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var yl,Dv,_v=m(()=>{yl=["all","running","failed","done"];Dv="ctrl+f"});function Uv(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 Kv=m(()=>{});var Xv={};Ct(Xv,{Dock:()=>Jm,Hud:()=>Vm,approvalDetail:()=>Jv,orderModelsForDefault:()=>Hv,pickerPanel:()=>Vv,runWorkbench:()=>Wj,workflowPanel:()=>Yv,workflowPanelFromRun:()=>Ns,workflowRunOf:()=>Ym});import{execFile as yj}from"node:child_process";import{promisify as bj}from"node:util";import{existsSync as Ij,mkdirSync as $j,readFileSync as wj,writeFileSync as bl}from"node:fs";import{basename as kj,join as Gv,resolve as Tj}from"node:path";import{copyToClipboard as Ej,SessionManager as vj}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as Wv,Container as Sj,Editor as Pj,matchesKey as Jt,ProcessTerminal as Aj,ScrollView as Oj,KeybindingsManager as Rj,setKeybindings as Mj,TUI_KEYBINDINGS as Cj,SelectList as Lj,TuiAltScreen as jj,truncateToWidth as Ds,VStack as Fj,visibleWidth as Hm,wrapTextWithAnsi as Dj,getNativeClipboard as Nj}from"@earendil-works/pi-tui";function qj(e){if(typeof e!="object"||e===null)return;let t=e[Bv];return typeof t=="function"?t.call(e):void 0}async function $l(e){try{let{stdout:t}=await kl("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await kl("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function Hv(e){let t=n=>{if(Uj.test(n))return 100;let r=_j.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 Vv(e,t,n,r=!1,o=[]){let i=Math.max(24,n),a=i-4,p=(re,ee)=>{let Pe=Hm(re)>a?Ds(re,a,"\u2026"):re,le=`${Pe}${" ".repeat(Math.max(0,a-Hm(Pe)))}`;return`\u2502 ${ee?ee(le):le} \u2502`},c="\u2500".repeat(i-2),x=[p(` ${t}`),...e.render(a).map(re=>p(re))],b=o.flatMap(re=>re===""?[""]:Dj(re,a)),S=b.length>0?[p(""),...b.map(re=>p(re,ee=>oe(ee,N.mute)))]:[];if(!r)return["",`\u250C${c}\u2510`,...x,...S,`\u2514${c}\u2518`];let O=BE(N.line,N.warn,Date.now(),1400),j=oe("\u2502",O),F=(re,ee)=>oe(`${re}${c}${ee}`,O),q=[...x,...S].map(re=>`${j}${re.slice(1,-1)}${j}`);return["",F("\u250C","\u2510"),...q,F("\u2514","\u2518")]}function Jv(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 wl(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 Ym(e,t){if(e!=="workflow")return;let n=Gm(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function Yv(e,t){let n=Ym(e,t);return n?Ns(n):void 0}function Ns(e,t,n=!1){return r=>AE(e,[],r,t?.selectedPhase,t?Kj(e,t,n):void 0)}function Kj(e,t,n){return{filter:r=>jv(r,t.filter),footerText:Nv(t,e.endedAt===void 0,n),filterLabel:Fv(t.filter),drill:t.expanded}}function Gj(){let e=new Rj(Cj,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});Mj(e)}async function Wj(e){let t=new Aj,n=new jj(t,!0,void 0,{mouse:!0}),r=new zm,o=new Vm(e.cwd,e.modelLabel),i=d=>{let h=Date.now();(async()=>{try{let I=Eo(),y=await ev(I,T.getSessionStats().sessionId,d);y&&h>=mt&&(mn=y,mt=h)}catch{}})()},a=(d=!1)=>{!d&&!o.live||$l(e.cwd).then(h=>{h!==null&&(o.git=h,W())})},p=new Pj(n,zv,{paddingX:1}),c=new Map,x=d=>{let h=[];for(let I of c.values())h.push(...I(d));return h},b=(d,h)=>{h===void 0?c.delete(d):typeof h=="function"?c.set(d,h):c.set(d,()=>h)},S=()=>Math.max(20,t.columns),O,j=0,F=Mv(),q,re=null,ee=!1,Pe,le=!1,et,At=()=>{!q||!ee||b("workflow",d=>Ns(q,F,le)(d))},xe=()=>{q&&(Pe=q.name),ee=!1,le=!1,b("workflow",void 0)};RE({onStop:d=>{re=d},isPaused:()=>F.paused});let Z=d=>{if(Pe===d.name)return;O=d;let h=d.endedAt??Date.now();j=Math.max(j,h+Dm),q=d,ee=!0,b("workflow",I=>Ns(d,F,le)(I))},Ot=new Jm(p,o),T=e.session,Yt=!1,Mn,Eo=()=>Mn??=ZE(e.cwd),mn,Dt="",mt=0,kt=async()=>{let d=Eo();if(d.disabled){R("rewind","checkpoints are off here \u2014 this directory is not a git repository");return}let h=ml(d,T.getSessionStats().sessionId);if(h.length===0){R("rewind","no checkpoints yet \u2014 one is taken before each prompt");return}let I=await Promise.all([...h].reverse().map(async y=>{let A=await nv(d,y),g=new Date(y.at).toISOString().slice(11,19);return{value:y.id,label:`${g} ${y.prompt.slice(0,48)||"(no prompt)"}`,description:A.length===0?"no file changes to revert":`${A.length} file(s): ${A.slice(0,3).join(", ")}`}}));Mt("Rewind to a checkpoint (code only)",I,y=>{let A=h.find(g=>g.id===y);A&&(async()=>{let g=await tv(d,A);if(!g.ok){Cn(`rewind failed: ${g.output}`);return}let w=g.removed.length>0?`
101
- removed ${g.removed.length} file(s): ${g.removed.slice(0,3).join(", ")}`:"";R("rewind",`${g.output}${w}`),$l(e.cwd).then(C=>{C!==null&&(o.git=C,W())}),W()})()})};a(!0),i("session start"),e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...fl(T.state.messages)),o.percent=Fs(T),o.abandonAnimations(),o.thinking=T.thinkingLevel,p.setAutocompleteProvider(new Wv(wl(T),e.cwd)),kv().then(d=>{d&&(o.cubence=d,n.requestRender())});let Rt=null,Tl="",El=!1,vl=[],Xm=()=>{},W=()=>{Xm(),n.requestRender()},be=(d,h)=>{o.activity=vv(o.activity,d,h)},qs=new Map,Zm=new Set,Qv=()=>[...qs].map(([d,h])=>`${Zm.has(d)?"!":"\u2713"} ${d} \xD7${h}`).join(" | "),eS=()=>{let d=Qv();be("tally",d||void 0)},Mt=(d,h,I,y,A=!1,g=[])=>{let w=new Lj(h,8,zv.selectList);w.onSelect=C=>{Rt=null,I(C.value)},w.onCancel=()=>{Rt=null,y?.(),W()},Tl=d,El=A,vl=g,Rt=w,W()},R=(d,h)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:d,body:h}),be("tally",void 0),W()},Cn=d=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:d}),be("tally",void 0),W()};Ou((d,h)=>{let{promise:I,resolve:y}=Promise.withResolvers();return Mt(d,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],A=>y(A==="allow"),()=>y(!1),!0,Jv(d,h)),I});let Qm=new Map,Sl=d=>{let h=Uv({select:(I,y)=>{let{promise:A,resolve:g}=Promise.withResolvers();return Mt(I,y.map(w=>({value:w,label:w})),g,()=>g(void 0)),A},confirm:(I,y)=>{let{promise:A,resolve:g}=Promise.withResolvers();return Mt(`${I} \u2014 ${y}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],w=>g(w==="yes"),()=>g(!1)),A},input:I=>{let{promise:y,resolve:A}=Promise.withResolvers();return be("prompt",I),W(),an=g=>{an=void 0,be("prompt",void 0),A(g),W()},y},notify:(I,y)=>{y==="error"?Cn(I):R("mcp",I)},setStatus:(I,y)=>{y===void 0?Qm.delete(I):Qm.set(I,y),be("note",[...Qm.values()].join(" | ")||void 0),W()},setWidget:(I,y)=>{b(I,y),W()}});d.bindExtensions({uiContext:h,mode:"print",onError:I=>Cn(`${I.event}: ${I.error}`)}).catch(I=>Cn(I instanceof Error?I.message:String(I)))};Sl(T);let Cr=new Sj,tS={invalidate:()=>r.invalidate(),render:d=>{let h=Cr.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),W(),{handled:!0}}},nS=new Oj(tS,{follow:"none",overscroll:"contain"}),_s=new Fj([{component:nS,grow:1,shrink:1},{component:Cr,grow:0,shrink:0,basis:"auto"}]),Pl="",rS=()=>`${Rt?"picker":"dock"}|${[...c.keys()].join(",")}`;Xm=()=>{let d=rS();if(d===Pl)return;Pl=d,Cr.clear(),Cr.addChild({render:I=>x(I),invalidate:()=>{}});let h=Rt;if(h){let I=Tl,y=El,A=vl;Cr.addChild({render:g=>Vv(h,I,g,y,A),invalidate:()=>{}})}else Cr.addChild(Ot);_s.invalidate()},Xm();let Al={focused:!1,invalidate(){r.invalidate(),Ot.invalidate(),Rt?.invalidate(),_s.invalidate()},[Bv]:()=>qj(_s),render:d=>_s.render(d),handleInput(d){if(Rt){Rt.handleInput(d);return}p.handleInput(d)}};n.setLayoutRoot(Al),n.setFocus(Al);let mr=0,Lr="",Us=!1,jr="",Ol=0,eu=!1,tu=Date.now(),Ks=!1,Gs=new Map,Rl=d=>{if(d.type==="agent_start"||d.type==="turn_start")d.type==="agent_start"&&Jl(),o.live||o.beginRun(),Lr="",Us=!1,eu=!1,tu=Date.now(),jr="";else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_delta"){Us=!0,jr===""&&(Ol=Date.now()),jr+=d.assistantMessageEvent.delta;let h=`think-${mr}`,I=r.items.find(A=>A.id===h),y=jr.split(`
84
+ `)}],details:{agents:s.map(p=>({id:p.id,status:p.status}))}}}})});var HE={};Ct(HE,{openSession:()=>zL});import{join as DL}from"node:path";import{createAgentSession as NL,createCodemodeExtension as qL,createMcpExtension as _L,DefaultResourceLoader as UL,SessionManager as Km,SettingsManager as KL}from"@earendil-works/pi-coding-agent";function WL(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 zL(e){let t=KL.create(e.cwd,Xe,{projectTrusted:!0}),n=e.sessionPath?Km.open(e.sessionPath):e.noSession?Km.inMemory(e.cwd):e.continueSession?Km.continueRecent(e.cwd):Km.create(e.cwd),r=new UL({cwd:e.cwd,agentDir:Xe,settingsManager:t,appendSystemPrompt:[Wl],extensionFactories:[eE(),Nu(),bd(),jm(),aE(),tE(),oE(),qL(),_L()]});await r.reload();let o=await NL({cwd:e.cwd,agentDir:Xe,settingsManager:t,sessionManager:n,resourceLoader:r,tools:GL(),customTools:[WE,kd,Td,wm,km,qT,nE,rE,GE()],thinkingLevel:e.thinking}),s=o.session.model;if(e.model){let c=await o.session.modelRuntime.getAvailable(),h=WL(c,e.model);if(!h)throw o.session.dispose(),new Error(`unknown model '${e.model}'`);(s?.id!==h.id||s.provider!==h.provider)&&(await o.session.setModel(h),s=o.session.model)}let a=s?`${s.provider}/${s.id}`:"no model",p=[o.modelFallbackMessage].filter(c=>!!c);return s||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${DL(Xe,"models.json")}`),{session:o.session,dispose:()=>o.session.dispose(),modelLabel:a,note:p.length?p.join(`
85
+ `):void 0}}var BE,GL,VE=m(()=>{Ro();Id();Kn();si();_u();Nc();Tm();Rm();Gc();sE();mE();Bc();sl();zE();BE=["read","bash","edit","write","grep","find","ls","task","think","ask","todo","context","goal","enter_plan_mode","exit_plan_mode","workflow"],GL=()=>process.platform==="win32"?[...BE,"powershell"]:BE});import{mixColors as BL,styleText as JE}from"@earendil-works/pi-tui";function js(e,t,n){let r=ev(n);return r>=1?t:r<=0?e:BL(e,t,r)}function al(e,t,n,r){return!Cr||e<=il?t:e>=ZE?r:js(n,r,(e-il)/(ZE-il))}function tv(e,t){return!Cr||t<=0||e<0?1:1-(1-ev(e/t))**3}function nv(e,t){return Cr&&e>=0&&e<t}function ul(e,t,n=VL,r=400){return!Cr||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function rv(e,t,n=Date.now(),r=1400){if(!Cr||r<=0)return e;let o=n%r/r;return js(e,t,o<.5?o*2:(1-o)*2)}function JL(e,t){let n=Math.abs(e-t);return n>=YE?0:Math.ceil((1-n/YE)*QE)/QE}function ov(e,t,n=Date.now()){let r=t.charMs??HL;if(!Cr||e.length===0||r<=0)return JE(e,{fg:t.base},qm);let o=e.length+XE*2,s=n/r%o-XE,a=(O,R)=>JE(O,{fg:js(t.base,t.bright,R)},qm),p="",c=0,h=null,I=0,v=0;for(let O of e){let R=JL(v,s);h===null?h=R:R!==h&&(p+=a(e.slice(c,I),h),c=I,h=R),I+=O.length,v+=1}return p+a(e.slice(c),h??0)}var Cr,HL,YE,XE,il,ZE,QE,ev,Gm,ml,VL,pl=m(()=>{Os();Cr=process.env.HOWTOFIX_NO_MOTION!=="1",HL=45,YE=5,XE=8,il=1e4,ZE=6e4,QE=3,ev=e=>e<0?0:e>1?1:e;Gm=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,!Cr)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}};ml=260,VL=45});import{execFile as YL,execFileSync as XL}from"node:child_process";import{promisify as ZL}from"node:util";import{createHash as iv}from"node:crypto";import{copyFileSync as QL,existsSync as cl,mkdirSync as Wm,readFileSync as ej,statSync as tj,writeFileSync as nj}from"node:fs";import{dirname as av,join as Mn,resolve as mv}from"node:path";function oj(e){let t=mv(e);for(;;){if(cl(Mn(t,".git")))return!0;let n=av(t);if(n===t)return!1;t=n}}async function mn(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 sj("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function ij(e){return iv("sha1").update(e).digest("hex").slice(0,16)}function uv(e){let t=mv(e).replace(/\/+$/,"")||"/",n=Mn(rj,ij(t)),r=Mn(n,"git"),o={root:t,gitDir:r,metaFile:Mn(n,"checkpoints.json"),disabled:!1};return!cl(Mn(r,"HEAD"))&&!oj(t)?(o.disabled=!0,o):(Wm(n,{recursive:!0}),cl(Mn(r,"HEAD"))||(Wm(r,{recursive:!0}),XL("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),aj(t,r),o)}function aj(e,t){let n=Mn(e,".git","info","exclude");try{if(!tj(n).isFile())return;Wm(Mn(t,"info"),{recursive:!0}),QL(n,Mn(t,"info","exclude"))}catch{}}function dl(e){try{let t=JSON.parse(ej(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function pv(e,t){Wm(av(e.metaFile),{recursive:!0}),nj(e.metaFile,`${JSON.stringify(t,null,1)}
86
+ `,"utf8")}function fl(e,t){return e.disabled?[]:[...dl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function cv(e,t,n){if(e.disabled)return null;let r;try{await mn(e,["add","-A","--ignore-errors","--"]),r=await mn(e,["write-tree"])}catch{return null}let s=fl(e,t).find(O=>O.tree===r),a=Date.now(),p=`${a.toString(36)}-${iv("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 mn(e,["commit-tree",r,"-m",O]),await mn(e,["update-ref",`${ll}/${p}`,c])}let h={id:p,tree:r,commit:c,prompt:n,at:a},I=dl(e),v=[...I.sessions[t]??[],h];for(let O of v.slice(0,Math.max(0,v.length-sv)))try{await mn(e,["update-ref","-d",`${ll}/${O.id}`])}catch{}return I.sessions[t]=v.slice(-sv),pv(e,I),h}async function lv(e,t){let n=[];if(e.disabled)return{ok:!1,output:"checkpoints are off: this directory is not a git repository",removed:n};try{await mn(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 mn(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 dv(e,t){if(e.disabled)return[];try{await mn(e,["add","-A","--ignore-errors","--"]);let n=await mn(e,["write-tree"]);return n===t.tree?[]:(await mn(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 fv(e,t){if(e.disabled)return;let n=dl(e);for(let r of n.sessions[t]??[])try{await mn(e,["update-ref","-d",`${ll}/${r.id}`])}catch{}delete n.sessions[t],pv(e,n)}var rj,ll,sv,sj,gv=m(()=>{Kn();rj=Mn(Xe,"rewind"),ll="refs/howtofix",sv=100;sj=ZL(YL)});function yl(e=90){let t=Math.floor(Date.now()/e)%gl.length;return gl[t]??gl[0]}function Fs(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function Ye(e,t){if(e&&typeof e=="object"){let n=e[t];if(typeof n=="string"&&n.length>0)return n;if(typeof n=="number")return String(n)}}function mj(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Fs(n,t):""}catch{return""}}function uj(e,t){switch(e){case"read":{let n=Ye(t,"path")??"",r=[Ye(t,"offset"),Ye(t,"limit")].filter(Boolean);return r.length>0?`${n} ${r.length===1?`offset=${r[0]}`:`offset=${r[0]}, limit=${r[1]}`}`:n}case"edit":case"write":return Ye(t,"path")??"";case"bash":case"powershell":return Ye(t,"command")??"";case"grep":{let n=Ye(t,"pattern")??"",r=Ye(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=Ye(t,"pattern")??Ye(t,"glob")??"",r=Ye(t,"path");return r?`${n} in ${r}`:n}case"ls":return Ye(t,"path")??".";case"task":return Ye(t,"agent")??"task";case"ask":return Ye(t,"question")??"";case"think":return"private";case"todo":{let n=Ye(t,"op")??"view",r=Ye(t,"task"),o=t?.items;return n==="init"&&Array.isArray(o)?`init ${o.length} task${o.length===1?"":"s"}`:r?`${n} ${r}`:n}case"context":{let n=Ye(t,"op")??"list",r=Ye(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=Ye(t,"path");if(n)return n;let r=Ye(t,"code")??"",o=/export\s+const\s+meta\s*=\s*\{[\s\S]*?name\s*:\s*["'`]([^"'`]+)/.exec(r)?.[1];if(o)return o;let s=r.trim().split(`
90
+ `)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return mj(t)}}function To(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Fs(uj(e,t),n);return o?`${xv} ${r}(${o})`:`${xv} ${r}`}function pj(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 bl(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 Ds(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function Il(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function hv(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function cj(e){return e.trim().split(`
92
+ `).find(t=>t.trim())??""}function lj(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=Bm(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function Bm(e){let t=e.trim();return t?t.split(`
93
+ `).length:0}function Hm(e,t,n){let r=bl(t),o=Ds(t),s=Il(t);if(n){let a=hv(s);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let p=r.trim().split(`
94
+ `).find(c=>c.trim());return Fs(p??"failed",120)}switch(e){case"read":{let a=o.truncation,p=Bm(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}=pj(a);return`+${p} / -${c}`}case"write":{let a=Bm(r);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=hv(s);if(a===void 0)return r.trim()?Fs(cj(r),120):"done";let p=lj(s,r);return a===0?`exit 0${p}`:`exit ${a}`}case"grep":{let a=Bm(r);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let p=a.filter(h=>h.status==="completed").length,c=a.filter(h=>h.status==="pending"||h.status==="in_progress").length;return`${p}/${a.length} done, ${c} open`}case"context":{let a=o.notes,p=a?Object.keys(a).length:0;return p===0?"no notes":`${p} note${p===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,p=typeof o.outputTokens=="number"?o.outputTokens:0,c=Array.isArray(o.steps)?o.steps.filter(I=>I.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${a} agent(s)`;let h=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${ur(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${p} tokens${h}${c>0?`, ${c} failed`:""}`}default:{let a=r.trim().split(`
95
+ `).find(p=>p.trim());return a?Fs(a,120):"done"}}}function yv(e,t){let n=Ds(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=Il(t);return(typeof r.output=="string"?r.output:bl(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):[]}function bv(e,t){let n=Ds(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
98
+ `).filter(p=>p.length>0).slice(0,zm);let r=Il(t),s=(typeof r.output=="string"?r.output:bl(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
99
+ `),a=s.slice(0,zm);return s.length>zm&&a.push(`\u2026 ${s.length-zm} more line(s)`),a}var xv,xl,hl,gl,zm,$l=m(()=>{Ls();xv="\u25CF",xl="\u2514",hl="\u22EF",gl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];zm=400});import{Markdown as dj,wrapTextWithAnsi as fj}from"@earendil-works/pi-tui";function Iv(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 gj(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function Jm(e){let t=[];for(let n of e)if(n.role==="user"){let r=Iv(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=Iv(n.content).trim(),o=gj(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
100
+
101
+ ${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:To(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:Hm(n.toolName,{content:n.content},n.isError)});return t}function $v(e,t,n){return fj(e,Math.max(8,t)).map(r=>X(r,n))}function xj(e){let t=e.body||" ",n=Ns.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new dj(t,0,0,AE);return Ns.set(e.id,{text:t,component:r}),r}var Ns,wl,Vm,wv=m(()=>{pl();Os();$l();Ns=new Map;wl=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return js(F.dim,t,tv(n,ml))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...$v(`> ${n}`,t,this.shade(F.user))];if(this.item.kind==="tool")return[X(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?[X(` ${xl} ${n}`,o?F.bad:F.mute)]:[]];let s=[];this.item.call&&s.push(X(this.item.call,this.shade(F.tool)));let a=` ${xl} ${n}`;if(s.push(X(a,o?F.bad:this.shade(F.mute))),this.item.expanded===!0&&(this.item.full?.length??0)>0){let I=X(` ${this.item.full.length} line(s) \xB7 ctrl+e to collapse`,F.dim);s.push(X(` ${hl}`,F.dim));for(let v of this.item.full){let O=v.startsWith("+")?F.tool:v.startsWith("-")?F.bad:F.dim;s.push(X(` ${v}`,O))}return s.push(I),s}let c=this.item.detail??[],h=ul(Date.now()-(this.item.born??0),c.length);for(let I of c.slice(0,h)){let v=I.startsWith("+")?F.tool:I.startsWith("-")?F.bad:F.dim;s.push(X(` ${I}`,this.shade(v)))}return(this.item.full?.length??0)>0&&s.push(X(` ${hl} ${this.item.full.length} line(s) \xB7 ctrl+e to expand`,F.dim)),s}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?F.bad:F.mute;return["",...$v(n,t,this.shade(o))]}return["",...xj(this.item).render(Math.max(8,t-2))]}},Vm=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 nv(r,ml)?!0:(n.detail?.length??0)>ul(r,n.detail?.length??0)})}render(t){if(Ns.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of Ns.keys())o.has(s)||Ns.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new wl(o).render(t));this.status&&n.push(X(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 ut(e,t){return`${t}${e}${Tv}`}function yj(e){return e>=85?hj:e>=70?vv:Ev}function Sv(e,t,n,r){let o=ut(`[${e}]`,kl),s=ut(`${bj} ${t}`,Cn),a=ut(n,vv),p=r?` ${ut("git:(",kv)}${ut(r.replace(/^git:\(/,"").replace(/\)$/,""),kl)}${ut(")",kv)}`:"";return`${o}${ut(" \u2502 ",Cn)}${s}${ut(" \u2502 ",Cn)}${a}${p}`}function Pv(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${ut(CE(n),Cn)}`;return`${ut(r,kl)} ${ut("\u2502",Cn)} ${e}`}function Rv(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=yj(n),s=`${o}${"\u2588".repeat(r)}${Cn}${"\u2591".repeat(10-r)}${Tv}`,a=ut(`${Math.round(n)}%`,o),p=t?`${ut(" \u2502 ",Cn)}${t}`:"";return`${ut("Context",Cn)} ${s} ${a}${p}`}function Av(e,t,n){let r=n===null?"":ut(` ${n}ms`,Cn);return`${ut("Cubence",Cn)} ${ut(t?`${t} ${e}`:e,Ev)}${r}`}var Tv,Cn,hj,Ev,vv,kv,kl,bj,Tl=m(()=>{Ls();Tv="\x1B[0m",Cn="\x1B[2m",hj="\x1B[31m",Ev="\x1B[32m",vv="\x1B[33m",kv="\x1B[35m",kl="\x1B[36m";bj="\u2726"});import{mkdirSync as Ij,readFileSync as Mv,writeFileSync as $j}from"node:fs";import{homedir as wj}from"node:os";import{dirname as kj,join as Tj}from"node:path";function Ov(e){return e/1e6}function vj(){try{let e=JSON.parse(Mv(Tj(wj(),".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 Sj(){try{let e=JSON.parse(Mv(El,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function qs(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 Cv(){let e=Sj();if(e&&Date.now()-e.cachedAt<Ej)return qs(e.data);let t=vj();if(!t)return e?qs(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?qs(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:Ov(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:Ov(s),latencyMs:Date.now()-n};return Ij(kj(El),{recursive:!0}),$j(El,JSON.stringify({data:a,cachedAt:Date.now()})),qs(a)}catch{return e?qs(e.data):void 0}}var El,Ej,Lv=m(()=>{Kn();Tl();El=xu,Ej=18e4});function jv(){return{}}function Fv(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 Pj(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 Dv(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${Pj(n-e.run.since)}`:e.tally?e.tally:""}var Nv=m(()=>{});import{spawn as Rj}from"node:child_process";function Aj(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 qv(e,t=process.platform){let n=Aj(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 _v=m(()=>{});import{mkdirSync as Oj,writeFileSync as Mj}from"node:fs";import{join as Cj}from"node:path";import{matchesKey as Ym}from"@earendil-works/pi-tui";function Kv(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function Gv(e){if(Ym(e,"up"))return"up";if(Ym(e,"down"))return"down";if(Ym(e,"enter"))return"enter";if(Ym(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 Uv(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 Lj(e){let t=vl.indexOf(e);return vl[(t+1)%vl.length]}function Wv(e,t,n){switch(t){case"up":return Uv(e,n,-1);case"down":return Uv(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:Lj(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function zv(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 Bv(e){return e==="all"?"":` \xB7 ${e}`}function Vv(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 jj(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 Jv(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=jj(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=Cj(t,`${n}.js`);try{Oj(t,{recursive:!0}),Mj(r,e.code,"utf8")}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var vl,Hv,Yv=m(()=>{vl=["all","running","failed","done"];Hv="ctrl+f"});function Xv(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 Zv=m(()=>{});var lS={};Ct(lS,{Dock:()=>eu,Hud:()=>Zm,PinnedBlock:()=>Qm,approvalDetail:()=>pS,orderModelsForDefault:()=>mS,pickerPanel:()=>uS,runWorkbench:()=>aF,workflowPanel:()=>cS,workflowPanelFromRun:()=>Us,workflowRunOf:()=>tu});import{execFile as Fj}from"node:child_process";import{promisify as Dj}from"node:util";import{existsSync as Nj,mkdirSync as qj,readFileSync as _j,writeFileSync as Sl}from"node:fs";import{basename as Uj,join as Qv,resolve as Kj}from"node:path";import{copyToClipboard as Gj,SessionManager as Wj}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as eS,Container as zj,Editor as Bj,matchesKey as At,ProcessTerminal as Hj,ScrollView as Vj,KeybindingsManager as oS,setKeybindings as sS,TUI_KEYBINDINGS as iS,SelectList as Jj,TuiAltScreen as Yj,truncateToWidth as _s,VStack as Xj,visibleWidth as Xm,wrapTextWithAnsi as Zj,getNativeClipboard as Qj}from"@earendil-works/pi-tui";import{TreeSelectorComponent as eF,initTheme as tF}from"@earendil-works/pi-coding-agent";import{getKeybindings as tS}from"@earendil-works/pi-tui";function nF(e){if(typeof e!="object"||e===null)return;let t=e[aS];return typeof t=="function"?t.call(e):void 0}async function rS(e){try{let{stdout:t}=await Al("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await Al("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function mS(e){let t=n=>{if(oF.test(n))return 100;let r=rF.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 uS(e,t,n,r=!1,o=[]){let s=Math.max(24,n),a=s-4,p=(Z,ae)=>{let xe=Xm(Z)>a?_s(Z,a,"\u2026"):Z,ke=`${xe}${" ".repeat(Math.max(0,a-Xm(xe)))}`;return`\u2502 ${ae?ae(ke):ke} \u2502`},c="\u2500".repeat(s-2),h=[p(` ${t}`),...e.render(a).map(Z=>p(Z))],I=o.flatMap(Z=>Z===""?[""]:Zj(Z,a)),v=I.length>0?[p(""),...I.map(Z=>p(Z,ae=>X(ae,F.mute)))]:[];if(!r)return["",`\u250C${c}\u2510`,...h,...v,`\u2514${c}\u2518`];let O=rv(F.line,F.warn,Date.now(),1400),R=X("\u2502",O),D=(Z,ae)=>X(`${Z}${c}${ae}`,O),W=[...h,...v].map(Z=>`${R}${Z.slice(1,-1)}${R}`);return["",D("\u250C","\u2510"),...W,D("\u2514","\u2518")]}function pS(e,t){let n=t.split(`
102
+ `).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 Eo(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 Rl(e){let n=[["init","write project notes to AGENTS.md"],["model","choose a model"],["providers","list providers"],["thinking","set thinking level"],["approval","set what needs approval"],["connect","connect a howtofix.id account"],["login","save a provider API key"],["logout","remove a provider"],["new","start a new session"],["resume","resume another session"],["compact","compact the session"],["name","name this session"],["stats","session tokens and cost"],["diff","show the working tree diff"],["commit","stage everything and commit"],["undo","undo the last commit"],["rewind","go back to an earlier message (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([r,o])=>({name:r,description:o}));for(let r of e.promptTemplates)n.push({name:r.name,description:r.description});for(let r of e.extensionRunner.getRegisteredCommands())n.push({name:r.invocationName,description:r.description});return n}function tu(e,t){if(e!=="workflow")return;let n=Ds(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function cS(e,t){let n=tu(e,t);return n?Us(n):void 0}function Us(e,t,n=!1){return r=>_E(e,[],r,t?.selectedPhase,t?sF(e,t,n):void 0)}function sF(e,t,n){return{filter:r=>zv(r,t.filter),footerText:Vv(t,e.endedAt===void 0,n),filterLabel:Bv(t.filter),drill:t.expanded}}function iF(){let e=new oS(iS,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});sS(e)}async function aF(e){let t=new Hj,n=new Yj(t,!0,void 0,{mouse:!0}),r=new Vm,o=new Zm(e.cwd,e.modelLabel),s=d=>{let x=Date.now();(async()=>{try{let b=pn(),y=await cv(b,T.getSessionStats().sessionId,d);y&&x>=qt&&(vo=y,qt=x)}catch{}})()},a=(d=!1)=>{!d&&!o.live||rS(e.cwd).then(x=>{x!==null&&(o.git=x,q())})},p=new Bj(n,nS,{paddingX:1}),c=new Map,h=(d,x)=>{x===void 0?c.delete(d):typeof x=="function"?c.set(d,x):c.set(d,()=>x)},I=()=>Math.max(20,t.columns),v,O=0,R=Kv(),D,W=null,Z=!1,ae,xe=!1,ke,We=()=>{!D||!Z||h("workflow",d=>Us(D,R,xe)(d))},Dt=()=>{D&&(ae=D.name),Z=!1,xe=!1,h("workflow",void 0)};KE({onStop:d=>{W=d},isPaused:()=>R.paused});let he=d=>{if(ae===d.name)return;v=d;let x=d.endedAt??Date.now();O=Math.max(O,x+_m),D=d,Z=!0,h("workflow",b=>Us(d,R,xe)(b))},te=new eu(p,o),T=e.session,ze=!1,Nt,pn=()=>Nt??=uv(e.cwd),vo,Zt="",qt=0,qe,Ot=()=>{let d=new Set(["session_info","usage","label","context_edit","custom","model_change","thinking_level_change"]),x=[],b=y=>{for(let w of y)d.has(w.entry.type)||x.push(w.entry.id),b(w.children)};return b(T.sessionManager.getTree()),x},So=!1,fS=()=>{if(So)return;So=!0;let d=tS().getResolvedBindings();sS(new oS(iS,{...d,"app.tree.foldOrUp":["alt+left","ctrl+left"],"app.tree.unfoldOrDown":["alt+right","ctrl+right"],"app.tree.editLabel":["shift+l"],"app.tree.toggleLabelTimestamp":["shift+t"],"app.message.copy":["ctrl+x"],"app.tree.filter.default":["alt+0"],"app.tree.filter.noTools":["alt+1"],"app.tree.filter.userOnly":["alt+2"],"app.tree.filter.labeledOnly":["alt+3"],"app.tree.filter.all":["alt+4"],"app.tree.filter.cycleForward":["alt+f"],"app.tree.filter.cycleBackward":["alt+shift+f"]}))},Ol=!1,gS=()=>{Ol||(Ol=!0,tF())},Ml=()=>{let d=T.sessionManager.getTree();if(d.length===0){A("rewind","nothing to rewind to yet");return}pn().disabled&&A("rewind","conversation rewind only \u2014 this directory is not a git repository"),gS(),fS();let x=Math.max(8,Math.floor(t.rows*.6)),b=new eF(d,T.sessionManager.getLeafId(),x*2,y=>{nu(),xS(y)},()=>nu());if(!b.getTreeList().getSelectedNode()){A("rewind","nothing to rewind to yet");return}qe=b,qe.focused=!0,h("rewind",y=>qe?.render(y)??[]),q()},nu=()=>{qe=void 0,h("rewind",void 0),q()},xS=async d=>{let x=pn(),y=T.getUserMessagesForForking().findIndex($=>$.entryId===d),w=y>=0?fl(x,T.getSessionStats().sessionId)[y]:void 0,g=w?(await dv(x,w)).length:0;if(g===0){await Cl(d,void 0,"conversation");return}Mt(`Rewind to this point? ${g} file(s) differ`,[{value:"both",label:"conversation and code",description:`drop the messages after this point and restore ${g} file(s)`},{value:"conversation",label:"conversation only",description:"drop the messages after this point, leave the files alone"},{value:"code",label:"code only",description:`restore ${g} file(s), keep the conversation`}],$=>{Cl(d,w,$)})},Cl=async(d,x,b)=>{let y=[];if((b==="both"||b==="conversation")&&!T.isStreaming)try{let w=await T.navigateTree(d);if(w.cancelled){A("rewind","conversation rewind cancelled");return}y.push("conversation rewound"),r.items=Jm(T.state.messages),w.editorText&&(p.setText(w.editorText),y.push("prompt restored to the editor"))}catch(w){cn(`conversation rewind failed: ${w instanceof Error?w.message:String(w)}`);return}if((b==="both"||b==="code")&&x){let w=await lv(pn(),x);if(!w.ok){cn(`code rewind failed: ${w.output}`);return}y.push(w.output),w.removed.length>0&&y.push(`removed ${w.removed.length} file(s)`),a()}A("rewind",y.join(`
103
+ `)||"nothing to do"),q()};a(!0),s("session start"),e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...Jm(T.state.messages)),o.percent=Eo(T),o.abandonAnimations(),o.thinking=T.thinkingLevel,p.setAutocompleteProvider(new eS(Rl(T),e.cwd)),Cv().then(d=>{d&&(o.cubence=d,n.requestRender())});let Ln=null,Ll="",jl=!1,Fl=[],ru=()=>{},q=()=>{ru(),n.requestRender()},fe=(d,x)=>{o.activity=Fv(o.activity,d,x)},Ks=new Map,ou=new Set,hS=()=>[...Ks].map(([d,x])=>`${ou.has(d)?"!":"\u2713"} ${d} \xD7${x}`).join(" | "),yS=()=>{let d=hS();fe("tally",d||void 0)},Mt=(d,x,b,y,w=!1,g=[])=>{let $=new Jj(x,8,nS.selectList);$.onSelect=j=>{Ln=null,b(j.value)},$.onCancel=()=>{Ln=null,y?.(),q()},Ll=d,jl=w,Fl=g,Ln=$,q()},A=(d,x)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:d,body:x}),fe("tally",void 0),q()},cn=d=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:d}),fe("tally",void 0),q()};Du((d,x)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Mt(d,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],w=>y(w==="allow"),()=>y(!1),!0,pS(d,x)),b});let su=new Map,Dl=d=>{let x=Xv({select:(b,y)=>{let{promise:w,resolve:g}=Promise.withResolvers();return Mt(b,y.map($=>({value:$,label:$})),g,()=>g(void 0)),w},confirm:(b,y)=>{let{promise:w,resolve:g}=Promise.withResolvers();return Mt(`${b} \u2014 ${y}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],$=>g($==="yes"),()=>g(!1)),w},input:b=>{let{promise:y,resolve:w}=Promise.withResolvers();return fe("prompt",b),q(),un=g=>{un=void 0,fe("prompt",void 0),w(g),q()},y},notify:(b,y)=>{y==="error"?cn(b):A("mcp",b)},setStatus:(b,y)=>{y===void 0?su.delete(b):su.set(b,y),fe("note",[...su.values()].join(" | ")||void 0),q()},setWidget:(b,y)=>{h(b,y),q()}});d.bindExtensions({uiContext:x,mode:"print",onError:b=>cn(`${b.event}: ${b.error}`)}).catch(b=>cn(b instanceof Error?b.message:String(b)))};Dl(T);let Lr=new zj,bS={invalidate:()=>r.invalidate(),render:d=>{let x=Lr.render(Math.max(20,d)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-x),r.render(d)},handleMouse:d=>{let x=d.type==="wheel"?d.wheelDelta??0:0;if(x!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-x*3),q(),{handled:!0}}},IS=new Vj(bS,{follow:"none",overscroll:"contain"}),Gs=new Xj([{component:IS,grow:1,shrink:1},{component:Lr,grow:0,shrink:0,basis:"auto"}]),Nl="",$S=()=>`${Ln?"picker":"dock"}|${[...c.keys()].join(",")}`;ru=()=>{let d=$S();if(d===Nl)return;Nl=d,Lr.clear();for(let b of c.values())Lr.addChild(new Qm(b));let x=Ln;if(x){let b=Ll,y=jl,w=Fl;Lr.addChild({render:g=>uS(x,b,g,y,w),invalidate:()=>{}})}else Lr.addChild(te);Gs.invalidate()},ru();let ql={focused:!1,invalidate(){r.invalidate(),te.invalidate(),Ln?.invalidate(),Gs.invalidate()},[aS]:()=>nF(Gs),render:d=>Gs.render(d),handleInput(d){p.handleInput(d)}};n.setLayoutRoot(ql),n.setFocus(ql);let xt=0,Un="",iu=!1,Po=!1,jr="",_l=0,au=!1,mu=Date.now(),Ws=!1,zs=new Map,Ul=d=>{if(d.type==="agent_start"||d.type==="turn_start")d.type==="agent_start"&&sd(),o.live||o.beginRun(),Un="",Po=!1,au=!1,mu=Date.now(),jr="";else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_delta"){Po=!0,jr===""&&(_l=Date.now()),jr+=d.assistantMessageEvent.delta;let x=`think-${xt}`,b=r.items.find(w=>w.id===x),y=jr.split(`
102
104
  `).slice(-6).join(`
103
- `);I?I.body=y:r.items.push({id:h,kind:"note",title:"thinking",body:y})}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_end"){let h=`think-${mr}`,I=r.items.find(y=>y.id===h);if(I){let y=Math.max(1,Math.round((Date.now()-Ol)/1e3));I.title="thought",I.body=`${y}s \xB7 ${jr.length} chars of reasoning`}jr=""}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="text_delta"){Us=!0,Lr+=d.assistantMessageEvent.delta;let h=`live-${mr}`,I=r.items.find(y=>y.id===h);I?I.body=Lr:r.items.push({id:h,kind:"assistant",title:"HowToFix",body:Lr})}else if(d.type==="tool_execution_start"){Gs.set(d.toolCallId,d.args);let h=`tool-${d.toolCallId}`,I=To(d.toolName,d.args),y=r.items.find(A=>A.id===h);if(y?(y.kind="tool",y.title=d.toolName,y.body=I,y.live=!0):r.items.push({id:h,kind:"tool",title:d.toolName,body:I,live:!0}),d.toolName==="task"){let A=Vt.filter(g=>g.status==="queued"||g.status==="running");be("note",A.map(g=>`${g.agent} ${g.status}`).join(" | ")||"agent running")}}else if(d.type==="tool_execution_update"){let h=Yv(d.toolName,d.partialResult);if(h){let I=`tool-${d.toolCallId}`,y=r.items.find(g=>g.id===I);y?y.panel=h:r.items.push({id:I,kind:"tool",title:d.toolName,body:To(d.toolName,Gs.get(d.toolCallId)),panel:h,live:!0});let A=Ym(d.toolName,d.partialResult);A&&Pe!==A.name&&Z(A),W()}}else if(d.type==="tool_execution_end"){o.percent=Fs(T);let h=r.items.find(C=>C.id===`tool-${d.toolCallId}`);h&&(h.live=!1,h.body=To(d.toolName,Gs.get(d.toolCallId))),Gs.delete(d.toolCallId),qs.set(d.toolName,(qs.get(d.toolName)??0)+1),d.isError&&Zm.add(d.toolName),eS();let I=uv(d.toolName,d.result),y=Ym(d.toolName,d.result),A=y?Ns(y):void 0;y&&Pe!==y.name&&Z(y);let g=r.items.find(C=>C.id===`tool-${d.toolCallId}`),w=Wm(d.toolName,d.result,d.isError);g?(g.kind="result",g.call=g.body,g.body=w,g.live=!1,I.length>0&&(g.detail=I),A&&(g.panel=A)):r.items.push({id:`tool-${d.toolCallId}`,kind:"result",title:d.toolName,body:w,...I.length>0?{detail:I}:{},...A?{panel:A}:{}}),(d.toolName==="bash"||d.toolName==="powershell"||d.toolName==="edit"||d.toolName==="write")&&a()}else if(d.type==="message_end"&&d.message.role==="assistant"){let h=r.items.find(I=>I.id===`live-${mr}`);h&&(h.id=`done-${mr}`),mr+=1,Lr="",o.percent=Fs(T)}else d.type==="agent_settled"?(o.live=!1,i(Dt),Dt="",be("run",void 0),o.percent=Fs(T),$l(e.cwd).then(h=>{h!==null&&(o.git=h,W())}),p.disableSubmit=!1):d.type==="thinking_level_changed"?o.thinking=d.level:d.type==="auto_retry_start"&&be("note",`retry ${d.attempt}/${d.maxAttempts}`);W()},nu=T.subscribe(Rl),Ml=setInterval(()=>{let d=O!==void 0&&Date.now()<j;(Ks||T.isStreaming||o.settling()||r.entering()||Rt||d)&&W(),(Ks||T.isStreaming)&&!Us&&!eu&&Date.now()-tu>Bj&&(eu=!0,be("note",`no answer yet after ${Math.round((Date.now()-tu)/1e3)}s \u2014 the provider may be stalled; ctrl+c cancels`),W())},zj);Ml.unref?.();let Cl=async d=>{nu(),Mn&&rv(Mn,T.getSessionStats().sessionId),mn=void 0,mt=0,T.dispose(),T=d.session,mr=0,Lr="",r.items=[],d.note&&r.items.push({id:"note",kind:"note",title:"note",body:d.note}),r.items.push(...fl(T.state.messages)),o.model=d.modelLabel.split("/").at(-1)||"no-model",o.thinking=T.thinkingLevel,o.percent=Fs(T),o.abandonAnimations(),be("tally",void 0),be("run",void 0),p.setAutocompleteProvider(new Wv(wl(T),e.cwd)),p.disableSubmit=!1,Sl(T),nu=T.subscribe(Rl),W()},Ws=()=>{Yt||(Yt=!0,clearInterval(Ml),nu(),T.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},ru=d=>{let h=d.trim();if(!h)return;if(an){let A=an;an=void 0,p.setText(""),A(h);return}if(p.setText(""),p.addToHistory(h),h.startsWith("!")){let A=h.slice(1).trim();if(!A)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:A}),be("run","shell"),W(),T.executeBash(A,g=>{be("run",`shell \xB7 ${g.length} bytes`),W()}).then(g=>{let w=g.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:g.exitCode===0?"result":"error",title:`exit ${g.exitCode??"?"}`,body:w||"(no output)"}),be("tally",void 0),W()}).catch(g=>Cn(g instanceof Error?g.message:String(g)));return}if(h.startsWith("/")){sS(h);return}r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:h}),be("tally",void 0),qs.clear(),Zm.clear(),be("run","thinking"),o.beginRun(),W(),p.disableSubmit=T.isStreaming;let I=$u(h,e.cwd);Dt=h,Ks=!0;let y=T.isStreaming?T.followUp(I):T.prompt(I);Ks=!1,y.catch(A=>Cn(A instanceof Error?A.message:String(A)))};p.onSubmit=ru;let ou=0;n.addInputListener(d=>{if(ee&&q&&Jt(d,"escape"))return le?(le=!1,R("workflow","panel keys off \u2014 the editor has the keyboard")):F.expanded?(F.expanded=!1,R("workflow","collapsed the drill-in")):(xe(),R("workflow","panel unpinned; the run is still in the transcript")),At(),W(),{consume:!0};if(Jt(d,"escape")){let I=Date.now();if(p.getText().length===0&&I-ou<600&&!T.isStreaming&&!Rt)return ou=0,kt(),{consume:!0};ou=I;return}if(Jt(d,"ctrl+c"))return T.isStreaming?(T.abort(),be("note","stopping"),W()):p.getText().length>0?(p.setText(""),be("note","draft cleared \u2014 ctrl+c again quits"),W()):Ws(),{consume:!0};if(Jt(d,"ctrl+d")&&p.getText().length===0)return Ws(),{consume:!0};let h=Math.max(1,r.viewportHeight-1);if(Jt(d,"pageUp"))return r.scrollOffset+=h,W(),{consume:!0};if(Jt(d,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-h),W(),{consume:!0};if(Jt(d,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,W(),{consume:!0};if(Jt(d,"end"))return r.scrollOffset=0,W(),{consume:!0};if(Jt(d,"ctrl+v")){let I=Nj();return I?(I.getText().then(y=>{typeof y!="string"||y.length===0?R("paste","the clipboard is empty"):p.insertTextAtCursor(y),W()}).catch(y=>{R("paste",`could not read the clipboard: ${y instanceof Error?y.message:String(y)}`),W()}),{consume:!0}):(R("paste","no clipboard tool found on this machine"),W(),{consume:!0})}if(Jt(d,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),W(),{consume:!0};if(Jt(d,"ctrl+o")&&!T.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],W(),{consume:!0};if(Jt(d,Dv)&&ee&&q)return le=!le,R("workflow",le?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),At(),W(),{consume:!0};if(le&&ee&&q){let I=Cv(d);if(I){let y=ko(q,Date.now());if(I==="stop")return re?(re(),re=null,R("workflow","stopping the run \u2014 in-flight agents resolve as null")):R("workflow","the run has already finished"),{consume:!0};if(I==="save"){let A=qv(et,pu);return R("workflow",A.ok?`saved ${A.path}`:A.reason),W(),{consume:!0}}return Object.assign(F,Lv(F,I,y)),At(),W(),{consume:!0}}}});let su=d=>{let h=I=>{be("prompt",`API key for ${I}. Paste it, then press enter.`),W();let y=an;an=A=>{an=y;let g=A.trim();if(!g){be("prompt",void 0),W();return}T.modelRuntime.setRuntimeApiKey(I,g).then(()=>R("login",`saved API key for ${I}`),w=>R("login",w instanceof Error?w.message:String(w)))}};if(d){h(d);return}T.modelRuntime.getAvailable().then(I=>{let y=[...new Set(I.map(A=>A.provider))].sort();if(y.length===0){R("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Mt("Login",y.map(A=>({value:A,label:A})),h)},I=>R("login",I instanceof Error?I.message:String(I)))},oS=async(d,h)=>{let I=Gv(Ve,"models.json"),y,A=!1;try{y=JSON.parse(wj(I,"utf8"))}catch(au){if(!(au instanceof Error&&"code"in au&&au.code==="ENOENT"))return`could not read ${I}; the models were not added`;y={providers:{}},A=!0}(!y.providers||typeof y.providers!="object")&&(y.providers={});let g=y.providers[d];g||(g=du(),y.providers[d]=g,A=!0);let w=Array.isArray(g.models)?g.models:[],C=hu(w,h),pe=Xs(xu(w,h));g.models=pe.models;try{$j(Ve,{recursive:!0}),bl(I,`${JSON.stringify(y,null,2)}
104
- `)}catch{return`could not write ${I}; the models were not added`}let Ne=!1;try{await T.modelRuntime.refresh(),Ne=!0}catch{Ne=!1}let un=pe.changed>0?`, repaired ${pe.changed}`:"",Nt=Ne?"":"; restart the CLI to see them all",zs=A?` (created ${I})`:"";return C===0?`all ${h.length} models were already configured${un}${zs}${Nt}`:`added ${C} model(s) to "${d}"${un}${zs}${Nt}`},iu=d=>{(async()=>{if(!d){let w=await Av(Js);R("connect",["connect your howtofix.id account:",` 1. ${w?"the token page is opening in your browser":`open ${Js}`}`," 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(`
105
- `)),W();return}if(!gu(d)){R("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}be("note",`connecting to howtofix.id (${Ys(d)})`),W();let h=await bu(d);if(!h.ok){be("note",void 0),R("connect",h.message),W();return}await T.modelRuntime.setRuntimeApiKey("howtofix",d);let I=await oS("howtofix",h.models),y=!!T.model&&T.model?.provider!==void 0&&o.model!=="unknown",A,g;if(!y)try{let w=(await T.modelRuntime.getAvailable()).filter(Ne=>So(Ne.provider)),pe=Hv(w.map(Ne=>Ne.id)).slice(0,4);for(let Ne of pe){if(!(await yu(Ne,d)).ok)continue;let Nt=w.find(zs=>zs.id===Ne);if(Nt){await T.setModel(Nt),o.model=Nt.id,A=`${Nt.provider}/${Nt.id}`;break}}A||(g=pe.length>0?`none of the first ${pe.length} models answered (${pe[0]} did not)`:"the account lists no chat model")}catch(w){g=w instanceof Error?w.message:String(w)}be("note",void 0),R("connect",[`connected ${Ys(d)} \u2014 ${h.message}`,I,A?`using ${A} (change it with /model)`:`pick a model with /model, then send a prompt${g?` (auto-select failed: ${g})`:""}`].join(`
106
- `)),W()})().catch(h=>{be("note",void 0),R("connect",h instanceof Error?h.message:String(h)),W()})},sS=async d=>{let[h,...I]=d.slice(1).split(/\s+/),y=I.join(" ");if(h==="quit"||h==="exit"){Ws();return}if(h==="help"){R("help",wl(T).map(g=>`/${g.name} ${g.description??""}`).join(`
107
- `));return}if(h==="init"){let g=Gv(e.cwd,"AGENTS.md");if(Ij(g)&&y!=="force"){R("init",`AGENTS.md already exists at ${g}. run /init force to overwrite.`);return}bl(g,jl),R("init",`wrote ${g}; asking the agent to fill it in`),await T.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(h==="login"){su(y);return}if(h==="connect"){if(y.trim()){iu(y.trim());return}iu(""),be("prompt","paste your howtofix.id token, then press enter"),W();let g=an;an=w=>{an=g,be("prompt",void 0),iu(w.trim())};return}if(h==="logout"){let g=await T.modelRuntime.getAvailable(),w=[...new Set(g.map(C=>C.provider))].sort();if(w.length===0){R("logout","no providers are configured");return}Mt("Logout",w.map(C=>({value:C,label:C})),C=>{T.modelRuntime.logout(C).then(()=>R("logout",`logged out ${C}`),pe=>R("logout",pe instanceof Error?pe.message:String(pe)))});return}if(h==="providers"){let g=await T.modelRuntime.getAvailable(),w=[...new Set(g.map(C=>C.provider))].sort();w.sort((C,pe)=>Number(So(pe))-Number(So(C))),Mt("Providers",w.map(C=>({value:C,label:C})),C=>{let pe=T.modelRuntime.getModels(C);if(pe.length===0){su(C);return}Mt(C,pe.map(Ne=>({value:Ne.id,label:Ne.id})),Ne=>{let un=pe.find(Nt=>Nt.id===Ne);un&&T.setModel(un).then(()=>{o.model=un.id,R("providers",`${C}/${un.id}`)},()=>su(C))})});return}if(h==="name"){if(!y){R("name","usage: /name <session name>");return}T.setSessionName(y),R("name",`session name: ${y}`);return}if(h==="stats"){let g=T.getSessionStats(),w=T.getContextUsage();R("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)}`,w?`context ${w.percent===null?"?":`${Math.round(w.percent)}%`} of ${w.contextWindow}`:"context unknown"].join(`
108
- `));return}if(h==="diff"){let g=async un=>{try{let{stdout:Nt}=await kl("git",un,{cwd:e.cwd,encoding:"utf8"});return Nt.trim()}catch{return""}},w=await g(["diff","--stat"])+`
109
-
110
- `+await g(["diff","--","."]),[C="",pe=""]=w.split(`
111
-
112
- `,2),Ne=aE(pe);R("diff",[C.trim(),Ne].filter(Boolean).join(`
113
-
114
- `)||"working tree clean");return}if(h==="copy"){let g=[...T.state.messages].reverse().find(pe=>pe.role==="assistant"),C=(Array.isArray(g?.content)?g.content:[]).filter(pe=>pe.type==="text").map(pe=>pe.text).join("");if(!C){R("copy","nothing to copy");return}try{await Ej(C),R("copy",`copied ${C.length} characters`)}catch(pe){R("copy",pe instanceof Error?pe.message:String(pe))}return}if(h==="export"){let g=Tj(e.cwd,y||`howtofix-session-${Date.now()}.md`),w=[`# ${Tt} session`,"",`model ${o.model}`,""];for(let C of r.items)w.push(`## ${C.title||C.kind}`,"",C.body,"");bl(g,w.join(`
115
- `)),R("export",`wrote ${g}`);return}if(h==="agents"){let[g="",...w]=y.split(/\s+/).filter(Boolean),C=w.join(" ").trim();if(g&&C){R("agents",await tE(g,C));return}R("agents",g?Gc(g):Kc());return}if(h==="new"){let g=await e.reopen({noSession:!1});await Cl(g),R("new","started a new session");return}if(h==="resume"){let g=await vj.list(e.cwd);if(g.length===0){R("resume","no saved sessions for this folder");return}Mt("Resume session",g.slice(0,30).map(w=>({value:w.path,label:w.name||`${w.id.slice(0,8)} ${w.firstMessage.slice(0,40)}`,description:`${w.modified.toISOString().slice(0,16)} ${w.messageCount} messages`})),w=>{e.reopen({sessionPath:w}).then(Cl,C=>Cn(C instanceof Error?C.message:String(C)))});return}if(h==="model"){let g=await T.modelRuntime.getAvailable(),w=y?g.find(C=>`${C.provider}/${C.id}`===y||C.id===y):void 0;if(!y){Mt("Select model",g.map(C=>({value:`${C.provider}/${C.id}`,label:C.id,description:C.provider})),C=>{let pe=g.find(Ne=>`${Ne.provider}/${Ne.id}`===C);pe&&T.setModel(pe).then(()=>{o.model=pe.id,R("model",`model ${C}`)})});return}if(!w){R("model",`unknown model ${y}`);return}await T.setModel(w),o.model=w.id,R("model",`model ${w.provider}/${w.id}`);return}if(h==="thinking"){if(!y){Mt("Thinking level",Il.map(g=>({value:g,label:g})),g=>{T.setThinkingLevel(g),o.thinking=g,R("thinking",`thinking ${g}`)});return}if(!Il.includes(y)){R("thinking",`thinking: ${Il.join(", ")}`);return}T.setThinkingLevel(y),o.thinking=y,R("thinking",`thinking ${y}`);return}if(h==="compact"){try{await T.compact(y||void 0),R("compact","session compacted")}catch(g){R("compact",g instanceof Error?g.message:String(g))}return}if(h==="approval"){let g=w=>{Au(w),R("approval",ni[w])};if(!y){Mt("Approval mode",Nr.map(w=>({value:w,label:w,description:ni[w]})),w=>g(w));return}if(!Nr.includes(y)){R("approval",`modes: ${Nr.join(", ")}`);return}g(y);return}if(h==="tools"){let g=T.getActiveToolNames().sort();R("tools",g.length?g.join(`
116
- `):"no tools enabled");return}if(h==="rewind"||h==="undo"){kt();return}if(h==="commit"){if(!Wc(e.cwd)){R("commit","not a git repository");return}if(!await oE(e.cwd)){R("commit","nothing to commit");return}let g=y||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,w=await sE(e.cwd,g);R("commit",w.ok?w.output:`commit failed: ${w.output}`),a(!0);return}if(h==="review"){if(!(await iE(e.cwd)).trim()){R("review","no changes to review");return}ru("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(h==="workflow"){if(y.trim()==="clear"){xe(),R("workflow","cleared the pinned workflow panel");return}if(!q){R("workflow","no workflow run in this session yet");return}let g=ko(q,Date.now()),w=g[F.selectedPhase];R("workflow",[`panel ${ee?"pinned above the editor":"unpinned"}`,`phase ${F.selectedPhase+1}/${g.length}: ${w?.title??"(none)"}`,`filter: ${F.filter}${F.paused?" \xB7 paused":""}`,"keys: \u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc unpin \xB7 f filter \xB7 p pause \xB7 x stop \xB7 s save","clear it with /workflow clear"].join(`
117
- `));return}if(h==="plan"){if(qT()||Om().state==="pending"){$o(DT(Om())),R("plan","plan mode off \u2014 edits are allowed again");return}$o(FT(Om())),R("plan",`plan mode armed \u2014 send your next prompt to start planning
118
- plan file: ${NT()??"(unknown)"}`);return}if(h==="goal"){let g=y.trim();if(!g){R("goal",Tm(Em()));return}let{goal:w,error:C}=Mc(Em(),"set",g,void 0,void 0);if(C){Cn(C);return}rn(w),await T.sendCustomMessage({customType:or,content:g,display:!1,details:w}),R("goal",`goal set
119
- ${Tm(w)}`);return}if(h==="session"){let g=T.model;R("session",g?`${g.provider}/${g.id}`:"no model");return}let A=T.extensionRunner.getCommand(h??"");if(A){try{await A.handler(y,T.extensionRunner.createCommandContext())}catch(g){Cn(g instanceof Error?g.message:String(g))}return}R("command",`/${h??""} is not available in this screen yet`)};ld((d,h)=>{let{promise:I,resolve:y}=Promise.withResolvers();return Mt(d,h.map(A=>({value:A,label:A})),y),I}),process.on("SIGTERM",Ws),t.setTitle(`${Tt} ${Fr}`),Gj(),n.start(),n.requestRender(!0),e.initialPrompt&&ru(e.initialPrompt),await new Promise(()=>{})}var zv,Il,Bv,kl,Vm,Jm,_j,Uj,an,zj,Bj,Zv=m(()=>{vo();ol();ov();wu();lv();Ps();Tv();xl();Ss();Cu();ll();Pv();Rs();Qc();Iu();Ov();_n();_v();zc();ri();ku();Sm();Fc();Kv();zv={borderColor:()=>"",selectList:{selectedPrefix:e=>oe(e,N.accent),selectedText:e=>oe(e,N.text,{bold:!0}),description:e=>oe(e,N.mute),scrollInfo:e=>oe(e,N.dim),noMatch:e=>oe(e,N.mute)}},Il=["off","minimal","low","medium","high","xhigh","max"],Bv=Symbol.for("@earendil-works/pi-tui/layout-node");kl=bj(yj);Vm=class{folder;model;git;percent=0;meter=new _m(0);activity=Ev();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=kj(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=hv(this.model,this.thinking,this.folder,this.git),i=[Ds(`${yv(o,this.live?cl():"",this.live?this.waitedMs():void 0)} ${bv(r,this.cubence)}`,t)],a=KT();a&&i.push(Ds(oe(a,N.warn),t));let p=ET(Em());p&&i.push(Ds(oe(p,N.accent),t));let c=Sv(this.activity,cl(),n),x=this.live?HE(c,{base:tl(this.waitedMs(),N.mute,N.warn,N.bad),bright:N.text,charMs:45},n):oe(c,tl(this.waitedMs(),N.mute,N.warn,N.bad));return i.push(Ds(x,t)),i}},Jm=class{constructor(t,n){this.editor=t;this.hud=n}editor;hud;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(p=>Hm(p)>0),o=r.length>0?r:[""],i="\u2500".repeat(Math.max(0,t-2)),a=o.map(p=>{let c=Math.max(0,n-Hm(p));return`\u2502 ${p}${" ".repeat(c)} \u2502`});return[`\u250C${i}\u2510`,...a,`\u2514${i}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},_j=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],Uj=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;zj=1e3/30,Bj=45e3});vo();var Fl={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Dl={suggest:!0,"auto-edit":!0,"full-auto":!0};function Bs(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 Nl(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 i=r[o]??"";if(i==="--"){n.push(...r.slice(o+1));break}if(i==="-h"||i==="--help")t.help=!0;else if(i==="-v"||i==="--version")t.version=!0;else if(i==="-p"||i==="--print")t.print=!0;else if(i==="-c"||i==="--continue")t.continueSession=!0;else if(i==="--no-session")t.noSession=!0;else if(i==="-r"||i==="--resume")t.continueSession=!0;else if(i==="--session"||i.startsWith("--session="))t.sessionPath=Bs(r,o,"--session");else if(i==="-m"||i==="--model"||i.startsWith("--model="))t.model=Bs(r,o,"--model");else if(i==="--thinking"||i.startsWith("--thinking="))t.thinking=Bs(r,o,"--thinking");else if(i==="--approval"||i.startsWith("--approval="))t.approval=Bs(r,o,"--approval");else{if(i.startsWith("-"))throw new Error(`unknown option ${i}`);n.push(i)}}if(t.thinking&&!Fl[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(Fl).join(", ")}`);if(t.approval&&!Dl[t.approval])throw new Error(`approval must be one of: ${Object.keys(Dl).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 mu(){return`${Tt} ${Fr}
105
+ `);b?b.body=y:r.items.push({id:x,kind:"note",title:"thinking",body:y})}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_end"){let x=`think-${xt}`,b=r.items.find(y=>y.id===x);if(b){let y=Math.max(1,Math.round((Date.now()-_l)/1e3));b.title="thought",b.body=`${y}s \xB7 ${jr.length} chars of reasoning`}jr=""}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="text_delta"){Po=!0,Un+=d.assistantMessageEvent.delta;let x=`live-${xt}`,b=r.items.find(y=>y.id===x);b?b.body=Un:r.items.push({id:x,kind:"assistant",title:"HowToFix",body:Un})}else if(d.type==="tool_execution_start"){zs.set(d.toolCallId,d.args);let x=`tool-${d.toolCallId}`,b=To(d.toolName,d.args),y=r.items.find(w=>w.id===x);if(y?(y.kind="tool",y.title=d.toolName,y.body=b,y.live=!0):r.items.push({id:x,kind:"tool",title:d.toolName,body:b,live:!0}),d.toolName==="task"){let w=Yt.filter(g=>g.status==="queued"||g.status==="running");fe("note",w.map(g=>`${g.agent} ${g.status}`).join(" | ")||"agent running")}}else if(d.type==="tool_execution_update"){let x=cS(d.toolName,d.partialResult);if(x){let b=`tool-${d.toolCallId}`,y=r.items.find(g=>g.id===b);y?y.panel=x:r.items.push({id:b,kind:"tool",title:d.toolName,body:To(d.toolName,zs.get(d.toolCallId)),panel:x,live:!0});let w=tu(d.toolName,d.partialResult);w&&ae!==w.name&&he(w),q()}}else if(d.type==="tool_execution_end"){o.percent=Eo(T);let x=r.items.find(J=>J.id===`tool-${d.toolCallId}`);x&&(x.live=!1,x.body=To(d.toolName,zs.get(d.toolCallId))),zs.delete(d.toolCallId),Ks.set(d.toolName,(Ks.get(d.toolName)??0)+1),d.isError&&ou.add(d.toolName),yS();let b=yv(d.toolName,d.result),y=bv(d.toolName,d.result),w=tu(d.toolName,d.result),g=w?Us(w):void 0;w&&ae!==w.name&&he(w);let $=r.items.find(J=>J.id===`tool-${d.toolCallId}`),j=Hm(d.toolName,d.result,d.isError);$?($.kind="result",$.call=$.body,$.body=j,$.live=!1,b.length>0&&($.detail=b),y.length>0&&($.full=y),g&&($.panel=g)):r.items.push({id:`tool-${d.toolCallId}`,kind:"result",title:d.toolName,body:j,...b.length>0?{detail:b}:{},...y.length>0?{full:y}:{},...g?{panel:g}:{}}),(d.toolName==="bash"||d.toolName==="powershell"||d.toolName==="edit"||d.toolName==="write")&&a()}else if(d.type==="compaction_start"){Po=!0;let x=d.reason==="manual"?"on request":"context is nearly full",b=r.items.find(g=>g.id===`compact-${xt}`),y="compacting context",w=`${x} \xB7 summarizing the older turns`;b?(b.title=y,b.body=w):r.items.push({id:`compact-${xt}`,kind:"note",title:y,body:w,live:!0}),fe("note","compacting context")}else if(d.type==="compaction_end"){let x=r.items.find(g=>g.id===`compact-${xt}`),b=d.result,y="compacted",w;if(d.aborted)w="cancelled";else if(d.errorMessage)w=`failed: ${d.errorMessage}`;else if(b){let g=Math.round(b.tokensBefore/1e3),$=b.estimatedTokensAfter!==void 0?Math.round(b.estimatedTokensAfter/1e3):void 0;w=$!==void 0?`${g}k \u2192 ${$}k tokens \xB7 older turns summarized`:`${g}k tokens \xB7 older turns summarized`}else w="nothing to compact";x?(x.title=y,x.body=w,x.live=!1):r.items.push({id:`compact-${xt}`,kind:"note",title:y,body:w}),o.percent=Eo(T),fe("note",void 0)}else if(d.type==="message_end"&&d.message.role==="assistant"){let x=r.items.find(b=>b.id===`live-${xt}`);x&&(x.id=`done-${xt}`),xt+=1,Un="",o.percent=Eo(T)}else if(d.type==="agent_settled"){if(o.live=!1,s(Zt),Zt="",fe("run",void 0),iu){let x=r.items.find(b=>b.id===`live-${xt}`);x?(x.id=`stopped-${xt}`,x.title="stopped",x.body=Un.trim()||"(no output)",x.live=!1):r.items.push({id:`stopped-${xt}`,kind:"note",title:"stopped",body:"run cancelled"}),xt+=1,Un="",A("stopped","run cancelled by Esc"),iu=!1}o.percent=Eo(T),rS(e.cwd).then(x=>{x!==null&&(o.git=x,q())}),p.disableSubmit=!1}else d.type==="thinking_level_changed"?o.thinking=d.level:d.type==="auto_retry_start"&&fe("note",`retry ${d.attempt}/${d.maxAttempts}`);q()},uu=T.subscribe(Ul),Kl=setInterval(()=>{let d=v!==void 0&&Date.now()<O;(Ws||T.isStreaming||o.settling()||r.entering()||Ln||d)&&q(),(Ws||T.isStreaming)&&!Po&&!au&&Date.now()-mu>uF&&(au=!0,fe("note",`no answer yet after ${Math.round((Date.now()-mu)/1e3)}s \u2014 the provider may be stalled; ctrl+c cancels`),q())},mF);Kl.unref?.();let Gl=async d=>{uu(),Nt&&fv(Nt,T.getSessionStats().sessionId),vo=void 0,qt=0,T.dispose(),T=d.session,xt=0,Un="",r.items=[],d.note&&r.items.push({id:"note",kind:"note",title:"note",body:d.note}),r.items.push(...Jm(T.state.messages)),o.model=d.modelLabel.split("/").at(-1)||"no-model",o.thinking=T.thinkingLevel,o.percent=Eo(T),o.abandonAnimations(),fe("tally",void 0),fe("run",void 0),p.setAutocompleteProvider(new eS(Rl(T),e.cwd)),p.disableSubmit=!1,Dl(T),uu=T.subscribe(Ul),q()},Bs=()=>{ze||(ze=!0,clearInterval(Kl),uu(),T.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},pu=d=>{let x=d.trim();if(!x)return;if(un){let w=un;un=void 0,p.setText(""),w(x);return}if(p.setText(""),p.addToHistory(x),x.startsWith("!")){let w=x.slice(1).trim();if(!w)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:w}),fe("run","shell"),q(),T.executeBash(w,g=>{fe("run",`shell \xB7 ${g.length} bytes`),q()}).then(g=>{let $=g.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:g.exitCode===0?"result":"error",title:`exit ${g.exitCode??"?"}`,body:$||"(no output)"}),fe("tally",void 0),q()}).catch(g=>cn(g instanceof Error?g.message:String(g)));return}if(x.startsWith("/")){kS(x);return}r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:x}),fe("tally",void 0),Ks.clear(),ou.clear(),fe("run","thinking"),o.beginRun(),q(),p.disableSubmit=!1;let b=Pu(x,e.cwd);Zt=x,Ws=!0;let y=T.isStreaming?T.prompt(b,{streamingBehavior:"steer"}):T.prompt(b);Ws=!1,y.catch(w=>cn(w instanceof Error?w.message:String(w)))};p.onSubmit=pu;let cu=0;n.addInputListener(d=>{if(qe){if(At(d,"escape"))return nu(),{consume:!0};let b=tS(),y=b.matches(d,"tui.select.up"),w=b.matches(d,"tui.select.down");if(y||w){let $=qe.getTreeList().getSelectedNode()?.entry.id,j=Ot(),J=$===void 0?-1:j.indexOf($);if(y?J===0:J===j.length-1)return q(),{consume:!0}}return qe.handleInput(d),q(),{consume:!0}}if(Z&&D&&At(d,"escape"))return xe?(xe=!1,A("workflow","panel keys off \u2014 the editor has the keyboard")):R.expanded?(R.expanded=!1,A("workflow","collapsed the drill-in")):(Dt(),A("workflow","panel unpinned; the run is still in the transcript")),We(),q(),{consume:!0};if(Ln)return Ln.handleInput(d),q(),{consume:!0};if(At(d,"escape")){if(T.isStreaming)return iu=!0,T.abort(),fe("note","stopping"),q(),{consume:!0};let b=Date.now();if(p.getText().length===0&&b-cu<600)return cu=0,Ml(),{consume:!0};cu=b;return}if(At(d,"ctrl+c"))return T.isStreaming?(T.abort(),fe("note","stopping"),q()):p.getText().length>0?(p.setText(""),fe("note","draft cleared \u2014 ctrl+c again quits"),q()):Bs(),{consume:!0};if(At(d,"ctrl+d")&&p.getText().length===0)return Bs(),{consume:!0};let x=Math.max(1,r.viewportHeight-1);if(At(d,"pageUp"))return r.scrollOffset+=x,q(),{consume:!0};if(At(d,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-x),q(),{consume:!0};if(At(d,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,q(),{consume:!0};if(At(d,"end"))return r.scrollOffset=0,q(),{consume:!0};if(At(d,"ctrl+v")){let b=Qj();return b?(b.getText().then(y=>{typeof y!="string"||y.length===0?A("paste","the clipboard is empty"):p.insertTextAtCursor(y),q()}).catch(y=>{A("paste",`could not read the clipboard: ${y instanceof Error?y.message:String(y)}`),q()}),{consume:!0}):(A("paste","no clipboard tool found on this machine"),q(),{consume:!0})}if(At(d,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),q(),{consume:!0};if(At(d,"ctrl+e")){let b=[...r.items].reverse().find(y=>(y.full?.length??0)>0);return b?(b.expanded=b.expanded!==!0,q(),{consume:!0}):(A("expand","nothing to expand in this transcript yet"),{consume:!0})}if(At(d,"ctrl+o")&&!T.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],q(),{consume:!0};if(At(d,Hv)&&Z&&D)return xe=!xe,A("workflow",xe?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),We(),q(),{consume:!0};if(xe&&Z&&D){let b=Gv(d);if(b){let y=ko(D,Date.now());if(b==="stop")return W?(W(),W=null,A("workflow","stopping the run \u2014 in-flight agents resolve as null")):A("workflow","the run has already finished"),{consume:!0};if(b==="save"){let w=Jv(ke,hu);return A("workflow",w.ok?`saved ${w.path}`:w.reason),q(),{consume:!0}}return Object.assign(R,Wv(R,b,y)),We(),q(),{consume:!0}}}});let lu=d=>{let x=b=>{fe("prompt",`API key for ${b}. Paste it, then press enter.`),q();let y=un;un=w=>{un=y;let g=w.trim();if(!g){fe("prompt",void 0),q();return}T.modelRuntime.setRuntimeApiKey(b,g).then(()=>A("login",`saved API key for ${b}`),$=>A("login",$ instanceof Error?$.message:String($)))}};if(d){x(d);return}T.modelRuntime.getAvailable().then(b=>{let y=[...new Set(b.map(w=>w.provider))].sort();if(y.length===0){A("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Mt("Login",y.map(w=>({value:w,label:w})),x)},b=>A("login",b instanceof Error?b.message:String(b)))},wS=async(d,x)=>{let b=Qv(Xe,"models.json"),y,w=!1;try{y=JSON.parse(_j(b,"utf8"))}catch(fu){if(!(fu instanceof Error&&"code"in fu&&fu.code==="ENOENT"))return`could not read ${b}; the models were not added`;y={providers:{}},w=!0}(!y.providers||typeof y.providers!="object")&&(y.providers={});let g=y.providers[d];g||(g=Iu(),y.providers[d]=g,w=!0);let $=Array.isArray(g.models)?g.models:[],j=Tu($,x),J=Qs(ku($,x));g.models=J.models;try{qj(Xe,{recursive:!0}),Sl(b,`${JSON.stringify(y,null,2)}
106
+ `)}catch{return`could not write ${b}; the models were not added`}let Le=!1;try{await T.modelRuntime.refresh(),Le=!0}catch{Le=!1}let ln=J.changed>0?`, repaired ${J.changed}`:"",_t=Le?"":"; restart the CLI to see them all",Hs=w?` (created ${b})`:"";return j===0?`all ${x.length} models were already configured${ln}${Hs}${_t}`:`added ${j} model(s) to "${d}"${ln}${Hs}${_t}`},du=d=>{(async()=>{if(!d){let $=await qv(Xs);A("connect",["connect your howtofix.id account:",` 1. ${$?"the token page is opening in your browser":`open ${Xs}`}`," 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(`
107
+ `)),q();return}if(!wu(d)){A("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}fe("note",`connecting to howtofix.id (${Zs(d)})`),q();let x=await vu(d);if(!x.ok){fe("note",void 0),A("connect",x.message),q();return}await T.modelRuntime.setRuntimeApiKey("howtofix",d);let b=await wS("howtofix",x.models),y=!!T.model&&T.model?.provider!==void 0&&o.model!=="unknown",w,g;if(!y)try{let $=(await T.modelRuntime.getAvailable()).filter(Le=>Ao(Le.provider)),J=mS($.map(Le=>Le.id)).slice(0,4);for(let Le of J){if(!(await Eu(Le,d)).ok)continue;let _t=$.find(Hs=>Hs.id===Le);if(_t){await T.setModel(_t),o.model=_t.id,w=`${_t.provider}/${_t.id}`;break}}w||(g=J.length>0?`none of the first ${J.length} models answered (${J[0]} did not)`:"the account lists no chat model")}catch($){g=$ instanceof Error?$.message:String($)}fe("note",void 0),A("connect",[`connected ${Zs(d)} \u2014 ${x.message}`,b,w?`using ${w} (change it with /model)`:`pick a model with /model, then send a prompt${g?` (auto-select failed: ${g})`:""}`].join(`
108
+ `)),q()})().catch(x=>{fe("note",void 0),A("connect",x instanceof Error?x.message:String(x)),q()})},kS=async d=>{let[x,...b]=d.slice(1).split(/\s+/),y=b.join(" ");if(x==="quit"||x==="exit"){Bs();return}if(x==="help"){A("help",Rl(T).map(g=>`/${g.name} ${g.description??""}`).join(`
109
+ `));return}if(x==="init"){let g=Qv(e.cwd,"AGENTS.md");if(Nj(g)&&y!=="force"){A("init",`AGENTS.md already exists at ${g}. run /init force to overwrite.`);return}Sl(g,zl),A("init",`wrote ${g}; asking the agent to fill it in`),await T.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(x==="login"){lu(y);return}if(x==="connect"){if(y.trim()){du(y.trim());return}du(""),fe("prompt","paste your howtofix.id token, then press enter"),q();let g=un;un=$=>{un=g,fe("prompt",void 0),du($.trim())};return}if(x==="logout"){let g=await T.modelRuntime.getAvailable(),$=[...new Set(g.map(j=>j.provider))].sort();if($.length===0){A("logout","no providers are configured");return}Mt("Logout",$.map(j=>({value:j,label:j})),j=>{T.modelRuntime.logout(j).then(()=>A("logout",`logged out ${j}`),J=>A("logout",J instanceof Error?J.message:String(J)))});return}if(x==="providers"){let g=await T.modelRuntime.getAvailable(),$=[...new Set(g.map(j=>j.provider))].sort();$.sort((j,J)=>Number(Ao(J))-Number(Ao(j))),Mt("Providers",$.map(j=>({value:j,label:j})),j=>{let J=T.modelRuntime.getModels(j);if(J.length===0){lu(j);return}Mt(j,J.map(Le=>({value:Le.id,label:Le.id})),Le=>{let ln=J.find(_t=>_t.id===Le);ln&&T.setModel(ln).then(()=>{o.model=ln.id,A("providers",`${j}/${ln.id}`)},()=>lu(j))})});return}if(x==="name"){if(!y){A("name","usage: /name <session name>");return}T.setSessionName(y),A("name",`session name: ${y}`);return}if(x==="stats"){let g=T.getSessionStats(),$=T.getContextUsage();A("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)}`,$?`context ${$.percent===null?"?":`${Math.round($.percent)}%`} of ${$.contextWindow}`:"context unknown"].join(`
110
+ `));return}if(x==="diff"){let g=async ln=>{try{let{stdout:_t}=await Al("git",ln,{cwd:e.cwd,encoding:"utf8"});return _t.trim()}catch{return""}},$=await g(["diff","--stat"])+`
111
+
112
+ `+await g(["diff","--","."]),[j="",J=""]=$.split(`
113
+
114
+ `,2),Le=yE(J);A("diff",[j.trim(),Le].filter(Boolean).join(`
115
+
116
+ `)||"working tree clean");return}if(x==="copy"){let g=[...T.state.messages].reverse().find(J=>J.role==="assistant"),j=(Array.isArray(g?.content)?g.content:[]).filter(J=>J.type==="text").map(J=>J.text).join("");if(!j){A("copy","nothing to copy");return}try{await Gj(j),A("copy",`copied ${j.length} characters`)}catch(J){A("copy",J instanceof Error?J.message:String(J))}return}if(x==="export"){let g=Kj(e.cwd,y||`howtofix-session-${Date.now()}.md`),$=[`# ${Et} session`,"",`model ${o.model}`,""];for(let j of r.items)$.push(`## ${j.title||j.kind}`,"",j.body,"");Sl(g,$.join(`
117
+ `)),A("export",`wrote ${g}`);return}if(x==="agents"){let[g="",...$]=y.split(/\s+/).filter(Boolean),j=$.join(" ").trim();if(g&&j){A("agents",await cE(g,j));return}A("agents",g?Yc(g):Jc());return}if(x==="new"){let g=await e.reopen({noSession:!1});await Gl(g),A("new","started a new session");return}if(x==="resume"){let g=await Wj.list(e.cwd);if(g.length===0){A("resume","no saved sessions for this folder");return}Mt("Resume session",g.slice(0,30).map($=>({value:$.path,label:$.name||`${$.id.slice(0,8)} ${$.firstMessage.slice(0,40)}`,description:`${$.modified.toISOString().slice(0,16)} ${$.messageCount} messages`})),$=>{e.reopen({sessionPath:$}).then(Gl,j=>cn(j instanceof Error?j.message:String(j)))});return}if(x==="model"){let g=await T.modelRuntime.getAvailable(),$=y?g.find(j=>`${j.provider}/${j.id}`===y||j.id===y):void 0;if(!y){Mt("Select model",g.map(j=>({value:`${j.provider}/${j.id}`,label:j.id,description:j.provider})),j=>{let J=g.find(Le=>`${Le.provider}/${Le.id}`===j);J&&T.setModel(J).then(()=>{o.model=J.id,A("model",`model ${j}`)})});return}if(!$){A("model",`unknown model ${y}`);return}await T.setModel($),o.model=$.id,A("model",`model ${$.provider}/${$.id}`);return}if(x==="thinking"){if(!y){Mt("Thinking level",Pl.map(g=>({value:g,label:g})),g=>{T.setThinkingLevel(g),o.thinking=g,A("thinking",`thinking ${g}`)});return}if(!Pl.includes(y)){A("thinking",`thinking: ${Pl.join(", ")}`);return}T.setThinkingLevel(y),o.thinking=y,A("thinking",`thinking ${y}`);return}if(x==="compact"){try{await T.compact(y||void 0),A("compact","session compacted")}catch(g){A("compact",g instanceof Error?g.message:String(g))}return}if(x==="approval"){let g=$=>{Fu($),A("approval",oi[$])};if(!y){Mt("Approval mode",Nr.map($=>({value:$,label:$,description:oi[$]})),$=>g($));return}if(!Nr.includes(y)){A("approval",`modes: ${Nr.join(", ")}`);return}g(y);return}if(x==="tools"){let g=T.getActiveToolNames().sort();A("tools",g.length?g.join(`
118
+ `):"no tools enabled");return}if(x==="rewind"){Ml();return}if(x==="undo"){if(!await Nm(e.cwd)){A("undo","not a git repository");return}let g=await xE(e.cwd);A("undo",g.ok?`undone: ${g.output}`:`undo failed: ${g.output}`),a(!0);return}if(x==="commit"){if(!Nm(e.cwd)){A("commit","not a git repository");return}if(!await fE(e.cwd)){A("commit","nothing to commit");return}let g=y||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,$=await gE(e.cwd,g);A("commit",$.ok?$.output:`commit failed: ${$.output}`),a(!0);return}if(x==="review"){if(!(await hE(e.cwd)).trim()){A("review","no changes to review");return}pu("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(x==="workflow"){if(y.trim()==="clear"){Dt(),A("workflow","cleared the pinned workflow panel");return}if(!D){A("workflow","no workflow run in this session yet");return}let g=ko(D,Date.now()),$=g[R.selectedPhase];A("workflow",[`panel ${Z?"pinned above the editor":"unpinned"}`,`phase ${R.selectedPhase+1}/${g.length}: ${$?.title??"(none)"}`,`filter: ${R.filter}${R.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(`
119
+ `));return}if(x==="plan"){if(JT()||Mm().state==="pending"){$o(HT(Mm())),A("plan","plan mode off \u2014 edits are allowed again");return}$o(BT(Mm())),A("plan",`plan mode armed \u2014 send your next prompt to start planning
120
+ plan file: ${VT()??"(unknown)"}`);return}if(x==="goal"){let g=y.trim();if(!g){A("goal",vm(Sm()));return}let{goal:$,error:j}=qc(Sm(),"set",g,void 0,void 0);if(j){cn(j);return}sn($),await T.sendCustomMessage({customType:ir,content:g,display:!1,details:$}),A("goal",`goal set
121
+ ${vm($)}`);return}if(x==="session"){let g=T.model;A("session",g?`${g.provider}/${g.id}`:"no model");return}let w=T.extensionRunner.getCommand(x??"");if(w){try{await w.handler(y,T.extensionRunner.createCommandContext())}catch(g){cn(g instanceof Error?g.message:String(g))}return}A("command",`/${x??""} is not available in this screen yet`)};wd((d,x)=>{let{promise:b,resolve:y}=Promise.withResolvers();return Mt(d,x.map(w=>({value:w,label:w})),y),b}),process.on("SIGTERM",Bs),t.setTitle(`${Et} ${Fr}`),iF(),n.start(),n.requestRender(!0),e.initialPrompt&&pu(e.initialPrompt),await new Promise(()=>{})}var nS,Pl,aS,Al,Zm,Qm,eu,rF,oF,un,mF,uF,dS=m(()=>{Ro();pl();gv();Ru();wv();Os();Lv();Tl();As();_u();$l();Nv();Ls();sl();Su();_v();Kn();Yv();Xc();si();Au();Rm();Gc();Zv();nS={borderColor:()=>"",selectList:{selectedPrefix:e=>X(e,F.accent),selectedText:e=>X(e,F.text,{bold:!0}),description:e=>X(e,F.mute),scrollInfo:e=>X(e,F.dim),noMatch:e=>X(e,F.mute)}},Pl=["off","minimal","low","medium","high","xhigh","max"],aS=Symbol.for("@earendil-works/pi-tui/layout-node");Al=Dj(Fj);Zm=class{folder;model;git;percent=0;meter=new Gm(0);activity=jv();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=""}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=Sv(this.model,this.thinking,this.folder,this.git),s=[_s(`${Pv(o,this.live?yl():"",this.live?this.waitedMs():void 0)} ${Rv(r,this.cubence)}`,t)],a=ZT();a&&s.push(_s(X(a,F.warn),t));let p=jT(Sm());p&&s.push(_s(X(p,F.accent),t));let c=Dv(this.activity,yl(),n),h=this.live?ov(c,{base:al(this.waitedMs(),F.mute,F.warn,F.bad),bright:F.text,charMs:45},n):X(c,al(this.waitedMs(),F.mute,F.warn,F.bad));return s.push(_s(h,t)),s}},Qm=class{constructor(t){this.draw=t}draw;render(t){return this.draw(t)}invalidate(){}},eu=class{constructor(t,n){this.editor=t;this.hud=n}editor;hud;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(p=>Xm(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-Xm(p));return`\u2502 ${p}${" ".repeat(c)} \u2502`});return[`\u250C${s}\u2510`,...a,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},rF=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],oF=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;mF=1e3/30,uF=45e3});Ro();var Bl={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Hl={suggest:!0,"auto-edit":!0,"full-auto":!0};function Vs(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 Vl(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=Vs(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=Vs(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=Vs(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=Vs(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!Bl[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(Bl).join(", ")}`);if(t.approval&&!Hl[t.approval])throw new Error(`approval must be one of: ${Object.keys(Hl).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 gu(){return`${Et} ${Fr}
120
122
  coding agent. layout is a workbench, not a chat log.
121
123
 
122
124
  usage:
@@ -159,7 +161,7 @@ a line starting with ! runs in the project shell.
159
161
 
160
162
  config and sessions live in ~/.howtofix/agent. connect your howtofix.id account
161
163
  with /connect (it opens the token page), or /login for another provider's key.
162
- `}vo();_n();async function Hj(){cu();let{repairGatewayModels:e,ensureGatewaySettings:t}=await Promise.resolve().then(()=>(Iu(),Bl)),{AGENT_DIR:n}=await Promise.resolve().then(()=>(_n(),ql)),r=e(n);r>0&&console.error(`${Tt}: repaired ${r} howtofix model(s) that the gateway would have rejected`),t(n)&&console.error(`${Tt}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let o;try{o=Nl(process.argv.slice(2))}catch(O){let j=O instanceof Error?O.message:String(O);console.error(`${Tt}: ${j}
163
- ${mu()}`),process.exitCode=2;return}if(o.help){console.log(mu());return}if(o.version){console.log(`${Tt} ${Fr}`);return}if(o.print&&!o.prompt){console.error(`${Tt}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:i}=await Promise.resolve().then(()=>(wu(),Hl)),{isApprovalMode:a,setApprovalMode:p}=await Promise.resolve().then(()=>(ri(),md)),{openSession:c}=await Promise.resolve().then(()=>(DE(),FE));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}),b=await x({continueSession:o.continueSession,sessionPath:o.sessionPath,noSession:o.noSession||o.print});if(o.print){b.note&&console.error(b.note);try{await b.session.prompt(i(o.prompt,process.cwd()));let O=b.session.getLastAssistantText()??"";process.stdout.write(O.endsWith(`
164
+ `}Ro();Kn();async function pF(){yu();let{repairGatewayModels:e,ensureGatewaySettings:t}=await Promise.resolve().then(()=>(Su(),nd)),{AGENT_DIR:n}=await Promise.resolve().then(()=>(Kn(),Jl)),r=e(n);r>0&&console.error(`${Et}: repaired ${r} howtofix model(s) that the gateway would have rejected`),t(n)&&console.error(`${Et}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let o;try{o=Vl(process.argv.slice(2))}catch(O){let R=O instanceof Error?O.message:String(O);console.error(`${Et}: ${R}
165
+ ${gu()}`),process.exitCode=2;return}if(o.help){console.log(gu());return}if(o.version){console.log(`${Et} ${Fr}`);return}if(o.print&&!o.prompt){console.error(`${Et}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:s}=await Promise.resolve().then(()=>(Ru(),rd)),{isApprovalMode:a,setApprovalMode:p}=await Promise.resolve().then(()=>(si(),yd)),{openSession:c}=await Promise.resolve().then(()=>(VE(),HE));p(o.approval&&a(o.approval)?o.approval:"full-auto");let h=O=>c({cwd:process.cwd(),model:o.model,thinking:o.thinking,continueSession:O.continueSession??!1,noSession:O.noSession??!1,sessionPath:O.sessionPath}),I=await h({continueSession:o.continueSession,sessionPath:o.sessionPath,noSession:o.noSession||o.print});if(o.print){I.note&&console.error(I.note);try{await I.session.prompt(s(o.prompt,process.cwd()));let O=I.session.getLastAssistantText()??"";process.stdout.write(O.endsWith(`
164
166
  `)?O:`${O}
165
- `);let j=b.session.state.messages.at(-1);j?.role==="assistant"&&((j.stopReason==="error"||j.stopReason==="aborted"||j.errorMessage)&&(process.exitCode=1),process.exitCode===1&&j.errorMessage&&console.error(`${Tt}: ${j.errorMessage}`))}finally{b.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${Tt}: interactive mode needs a terminal. use --print for pipes.`),b.dispose(),process.exitCode=2;return}let{runWorkbench:S}=await Promise.resolve().then(()=>(Zv(),Xv));await S({cwd:process.cwd(),modelLabel:b.modelLabel,session:b.session,initialPrompt:o.prompt||void 0,note:b.note,reopen:x})}Hj().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${Tt}: ${t}`),process.exitCode=1});
167
+ `);let R=I.session.state.messages.at(-1);R?.role==="assistant"&&((R.stopReason==="error"||R.stopReason==="aborted"||R.errorMessage)&&(process.exitCode=1),process.exitCode===1&&R.errorMessage&&console.error(`${Et}: ${R.errorMessage}`))}finally{I.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${Et}: interactive mode needs a terminal. use --print for pipes.`),I.dispose(),process.exitCode=2;return}let{runWorkbench:v}=await Promise.resolve().then(()=>(dS(),lS));await v({cwd:process.cwd(),modelLabel:I.modelLabel,session:I.session,initialPrompt:o.prompt||void 0,note:I.note,reopen:h})}pF().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${Et}: ${t}`),process.exitCode=1});