howtofixcli 0.4.32 → 0.4.35

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 +8 -3
  2. package/dist/main.js +121 -111
  3. package/package.json +3 -2
package/dist/main.js CHANGED
@@ -1,62 +1,72 @@
1
1
  #!/usr/bin/env node
2
- var QP=Object.defineProperty;var u=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Mt=(e,t)=>{for(var n in t)QP(e,n,{get:t[n],enumerable:!0})};function Ld(e){return e===void 0?void 0:e.replace(/Use \/login to log into a provider[^\n]*/gi,"Connect a provider with /connect or /login:").replace(/^[ \t]*\S*pi-coding-agent[\\/]docs[\\/][^\n]*$/gim,"").replace(/\bpi-coding-agent\b/gi,"the harness").replace(/\n{3,}/g,`
3
-
4
- `).trim()}var at,Nt,Cd,Fd,Go=u(()=>{at="HowToFix",Nt="0.4.32",Cd=["You are HowToFix, a coding agent. The user wants the fix, not a tour of the problem.",'NEVER report a check you did not run. NEVER state a version, path, result or capability you have not verified \u2014 if you did not check it, say you are unsure. "Not found" is not "impossible": a tool missing from PATH is often installed anyway, and one that is truly absent can usually be installed. Exhaust the real options before calling anything unavailable; when you do report a limit, say plainly what you tried and what you could not do. Unexercised behaviour is not evidence.',"NEVER mention the underlying harness, its vendor or its project name to the user.","Lead with the diagnosis in one or two sentences, then change the code. SHOULD prefer the smallest correct change over a rewrite. Name the file and the reason in a short line; do not narrate tool calls.","Fix the problem that was asked for. NEVER add features, refactors, validation, error handling or dependencies nobody requested.","Something reported broken: reproduce it first, confirm the fix after. Cannot reproduce it? Say so \u2014 NEVER edit code and call it fixed.","Tests describe intended behaviour. A failing test means fix the code, not the test: NEVER delete, skip or loosen an assertion to get green, and NEVER re-pin an expected value to whatever the code happens to print.","Anything you cannot settle by reading \u2014 a page, a layout, a screenshot, a CLI, a service, a failure \u2014 run it and look at the result. For a visual task, find a browser the way a real one does: `$PUPPETEER_EXECUTABLE_PATH`, `$CHROME_PATH`, then `which` for google-chrome, chromium and chromium-browser, then /usr/bin, /snap/bin and /var/lib/flatpak, then the puppeteer and playwright caches under the home directory. Still empty? `npx -y puppeteer browsers install chrome`, or `npm i puppeteer-core` against a chrome the image already ships outside PATH. Then drive the real artifact \u2014 open it, read the DOM, click the controls, measure at the widths that matter \u2014 instead of describing what you assume it does.","Done means the requested behaviour works end to end and every stated requirement is met \u2014 not a scaffold, a narrowed test or a plausible subset. Genuinely out of reach? Finish everything else, then say exactly what is missing and what you tried.","Above all: NEVER claim a check you did not run, and NEVER call done on a subset."].join(`
5
- `);Fd=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
6
- `)});var Nd={};Mt(Nd,{AGENTS_STORE_DIR:()=>Jr,AGENT_DIR:()=>_e,CUBENCE_CACHE_PATH:()=>Um,USER_SKILLS_DIR:()=>qm,WORKFLOWS_DIR:()=>Km,pinAgentDir:()=>Gm,projectSkillsDir:()=>hr});import{homedir as eR}from"node:os";import{join as Vr,resolve as tR}from"node:path";function nR(){let e=(process.env.HOWTOFIX_HOME??process.env.HOME??"").trim();return tR(e||eR())}function hr(e){return Vr(e,".howtofix","skills")}function Gm(){process.env.PI_CODING_AGENT_DIR=_e}var _e,qm,Jr,Um,Km,xn=u(()=>{_e=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||Vr(nR(),".howtofix","agent"),qm=Vr(_e,"skills");Jr=Vr(_e,"agents"),Um=Vr(_e,"cubence-cache.json"),Km=Vr(_e,"workflows")});import{closeSync as rR,fsyncSync as oR,openSync as sR,renameSync as qd,rmSync as Wm,writeSync as iR}from"node:fs";import{dirname as aR,join as uR}from"node:path";function tt(e,t){let n=uR(aR(e),`.${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}.tmp`),r=sR(n,"w");try{iR(r,t),oR(r)}finally{rR(r)}try{qd(n,e)}catch(o){let s=o.code;if(s!=="EPERM"&&s!=="EBUSY"&&s!=="EACCES")throw Wm(n,{force:!0}),o;Wm(e,{force:!0});try{qd(n,e)}catch(i){throw Wm(n,{force:!0}),i}}}var Hn=u(()=>{});var Hd={};Mt(Hd,{DEFAULT_CONTEXT_WINDOW:()=>Wd,HOWTOFIX_BASE_URL:()=>Wo,HOWTOFIX_CONSOLE_URL:()=>gi,HOWTOFIX_MODEL_COMPAT:()=>zm,HOWTOFIX_PROVIDERS:()=>Yr,HTTP_IDLE_TIMEOUT_MS:()=>Gd,UNLIMITED_SENTINEL:()=>zd,applyCompat:()=>xi,checkAccount:()=>yi,checkUsage:()=>Bo,countNewModels:()=>Jm,ensureGatewaySettings:()=>lR,isHowtofixProvider:()=>xr,looksLikeToken:()=>Hm,maskToken:()=>hi,mergeModels:()=>Vm,newProviderEntry:()=>Bm,parseModelIds:()=>Bd,probeModel:()=>Ym,repairGatewayModels:()=>pR});import{existsSync as mR,mkdirSync as cR,readFileSync as Ud}from"node:fs";import{join as Kd}from"node:path";function Bm(){return{baseUrl:Wo,api:"openai-completions"}}function pR(e){let t=Kd(e,"models.json"),n;try{n=JSON.parse(Ud(t,"utf8"))}catch{return 0}let r=n.providers;if(!r||typeof r!="object")return 0;let o=0;for(let s of Yr){let i=r[s];if(!i||!Array.isArray(i.models))continue;let c=xi(i.models);c.changed!==0&&(i.models=c.models,o+=c.changed)}if(o===0)return 0;try{tt(t,`${JSON.stringify(n,null,2)}
7
- `)}catch{return 0}return o}function lR(e){let t=Kd(e,"settings.json"),n={};try{let r=Ud(t,"utf8"),o=JSON.parse(r);o&&typeof o=="object"&&!Array.isArray(o)&&(n=o)}catch{if(mR(t))return!1}if("httpIdleTimeoutMs"in n)return!1;n.httpIdleTimeoutMs=Gd;try{cR(e,{recursive:!0}),tt(t,`${JSON.stringify(n,null,2)}
8
- `)}catch{return!1}return!0}function hi(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function Hm(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function Bd(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 xr(e){return Yr.includes(e)}async function dR(e,t){let n=await e(t,{headers:{Accept:"application/json"}});if(!n.ok)return"USD";let o=(await n.json())?.data?.quota_display_type;return typeof o=="string"&&o.trim()?o.trim().toUpperCase():"USD"}async function Bo(e,t){let n=(t?.baseUrl??Wo).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,unlimited:!1,unit:"USD",message:"no token given"};let i=`${n.replace(/\/v1$/,"")}/api/status`,c=await dR(r,i).catch(()=>"USD"),p=new AbortController,d=setTimeout(()=>p.abort(),o),b={Authorization:`Bearer ${s}`};try{let[I,P]=await Promise.all([r(`${n}/dashboard/billing/subscription`,{headers:b,signal:p.signal}),r(`${n}/dashboard/billing/usage`,{headers:b,signal:p.signal})]);if(I.status===401||I.status===403)return{ok:!1,unlimited:!1,unit:c,message:"the gateway rejected that token when asking for the balance"};if(!I.ok)return{ok:!1,unlimited:!1,unit:c,message:`the balance endpoint answered ${I.status}`};let A=await I.json();if(A.error?.message)return{ok:!1,unlimited:!1,unit:c,message:A.error.message};let C=Number(A.hard_limit_usd??A.soft_limit_usd??0);if(C>=zd)return{ok:!0,unlimited:!0,unit:c,message:"this token has no quota limit"};let U=0;if(P.ok){let G=await P.json();U=Number(G.total_usage??0)/100}let z=Math.max(0,C-U);return{ok:!0,unlimited:!1,limit:C,used:U,remaining:z,unit:c,message:`${z.toFixed(2)} ${c} left of ${C.toFixed(2)} (${U.toFixed(2)} used)`}}catch(I){let P=I instanceof Error&&I.name==="AbortError";return{ok:!1,unlimited:!1,unit:c,message:P?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(d)}}function Vm(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:Wd,compat:{...zm}}));return r}function xi(e){let t=0;return{models:e.map(r=>r.compat?.supportsDeveloperRole===!1?r:(t++,{...r,compat:{...r.compat,...zm}})),changed:t}}function Jm(e,t){let n=new Set(e.map(r=>r.id));return t.filter(r=>!n.has(r)).length}async function Ym(e,t,n){let r=(n?.baseUrl??Wo).replace(/\/+$/,""),o=n?.fetchImpl??fetch,s=n?.timeoutMs??1e4,i=new AbortController,c=setTimeout(()=>i.abort(),s);try{let p=await o(`${r}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:i.signal});if(p.ok)return{ok:!0,detail:"ok"};let d=await p.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(d)?.[1]??`HTTP ${p.status}`}}catch(p){return{ok:!1,detail:p instanceof Error&&p.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(c)}}async function yi(e,t){let n=(t?.baseUrl??Wo).replace(/\/+$/,""),r=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,s=e.trim();if(!s)return{ok:!1,models:[],message:"no token given"};let i=new AbortController,c=setTimeout(()=>i.abort(),o);try{let p=await r(`${n}/models`,{headers:{Authorization:`Bearer ${s}`},signal:i.signal});if(p.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(p.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!p.ok)return{ok:!1,models:[],message:`the gateway answered ${p.status}`};let d=Bd(await p.json());return d.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:d,message:`${d.length} models available to this token`}}catch(p){let d=p instanceof Error&&p.name==="AbortError";return{ok:!1,models:[],message:d?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(c)}}var Wo,gi,Yr,Gd,zm,Wd,zd,Xm=u(()=>{Hn();Wo="https://api.howtofix.id/v1",gi="https://howtofix.id/keys",Yr=["howtofix","howtofix-free"];Gd=9e4;zm={supportsDeveloperRole:!1},Wd=128e3;zd=1e8});var bi={};Mt(bi,{CHECK_TIMEOUT_MS:()=>Xd,INSTALL_TIMEOUT_MS:()=>Zd,LOCK_TIMEOUT_MS:()=>Qm,PACKAGE_NAME:()=>zo,acquireUpdateLock:()=>rf,autoUpdateEnabled:()=>kR,checkForUpdate:()=>wR,compareVersions:()=>Qd,installUpdate:()=>IR,isInstalledCopy:()=>$R,isNewer:()=>ef,latestVersion:()=>sf,releaseUpdateLock:()=>of});import{execFile as fR}from"node:child_process";import{existsSync as gR,mkdirSync as hR,readFileSync as xR,realpathSync as yR,statSync as Vd,unlinkSync as Yd,writeFileSync as bR}from"node:fs";import{homedir as ec}from"node:os";import{join as Jd,sep as Zm}from"node:path";function Qd(e,t){let n=i=>{let c=i.trim().split("-")[0]?.split("+")[0]??"";if(/^\d+(\.\d+)*$/.test(c))return c.split(".").map(p=>Number(p))},r=n(e),o=n(t);if(!r||!o)return 0;let s=Math.max(r.length,o.length);for(let i=0;i<s;i+=1){let c=r[i]??0,p=o[i]??0;if(c>p)return 1;if(c<p)return-1}return 0}function ef(e,t){return e.includes("-")?!1:Qd(e,t)>0}function nf(){let t=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||Jd(ec(),".howtofix","agent");try{hR(t,{recursive:!0})}catch{}return Jd(t,"update.lock")}function rf(e=Date.now()){let t=nf();try{if(gR(t)){if(e-Vd(t).mtimeMs<Qm)return!1;let r=Vd(t).mtimeMs;if(e-r<Qm)return!1;Yd(t)}return bR(t,String(process.pid),{mode:384}),!0}catch{return!0}}function of(){try{Yd(nf())}catch{}}async function sf(e){let n=await(e?.runner??tf)("npm",["view",`${zo}@latest`,"version","--prefer-online"],{cwd:ec(),timeoutMs:e?.timeoutMs??Xd});if(n.code!==0)return;let r=n.stdout.trim().split(`
9
- `).pop()?.trim()??"";return/^\d+\.\d+/.test(r)?r:void 0}async function wR(e,t){let n=await sf(t);return n?ef(n,e)?{current:e,latest:n,available:!0,message:`HowToFix ${n} is available (you have ${e})`}:{current:e,latest:n,available:!1,message:`HowToFix ${e} is up to date`}:{current:e,available:!1,message:"could not check for a newer version"}}async function IR(e){let t=e?.runner??tf;if(!rf())return{ok:!1,message:"another HowToFix is already installing an update"};try{let n=e?.version?`${zo}@${e.version}`:`${zo}@latest`,r=await t("npm",["install","-g",n],{cwd:ec(),timeoutMs:e?.timeoutMs??Zd});if(r.code!==0){let o=(r.stderr||r.stdout).trim().split(`
10
- `).filter(Boolean).pop()??"";return{ok:!1,message:`the update did not install${/EACCES|EPERM|permission/i.test(o)?" \u2014 npm could not write to its global directory":""}${o?`: ${o}`:""}`}}return{ok:!0,version:e?.version,message:"updated; it takes effect the next time HowToFix starts"}}catch(n){return{ok:!1,message:`the update failed: ${n instanceof Error?n.message:String(n)}`}}finally{of()}}function $R(e=process.argv[1]){if(!e)return!1;let t=e;try{t=yR(e)}catch{}return t.includes(`${Zm}node_modules${Zm}${zo}${Zm}`)}function kR(e){try{return JSON.parse(xR(e,"utf8")).autoUpdate!==!1}catch{return!0}}var zo,Xd,Zd,Qm,tf,wi=u(()=>{zo="howtofixcli",Xd=5e3,Zd=12e4,Qm=600*1e3;tf=(e,t,n)=>new Promise(r=>{fR(e,t,{cwd:n.cwd,timeout:n.timeoutMs,windowsHide:!0},(o,s,i)=>{let c=o&&typeof o.code=="number"?o.code:o?1:0;r({code:c,stdout:String(s??""),stderr:String(i??"")})})})});var af={};Mt(af,{expandFileReferences:()=>tc});import{readFileSync as TR,statSync as vR}from"node:fs";import{isAbsolute as ER,resolve as SR}from"node:path";function tc(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(n,r,o)=>{let s=o.replace(/[),.;:]+$/,""),i=o.slice(s.length),c=ER(s)?s:SR(t,s);try{let p=vR(c);if(!p.isFile()||p.size===0||p.size>PR)return n;let d=TR(c);return d.includes(0)?n:`${r}<file name="${c}">
11
- ${d.toString("utf8").trimEnd()}
12
- </file>${i}`}catch{return n}})}var PR,nc=u(()=>{PR=64*1024});function AR(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 i of Object.keys(o).sort())s[i]=n(o[i]);return s};try{return JSON.stringify(n(e))??""}catch{return""}}function uf(e,t){if(RR.has(e))return;let n=`${e}\0${AR(t)}`,r=Ho&&Ho.signature===n?Ho.count+1:1;return Ho={signature:n,count:r},r>=3?{repeats:r}:void 0}function mf(){Ho=void 0}function cf(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 RR,Ho,rc=u(()=>{RR=new Set(["think"])});function pf(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function OR(e,t,n){let r=t;for(;r<e.length;){let o=e[r];if(!o){r++;continue}if(o==="--")break;if(MR.test(o)){let s=o.includes("="),[i="",...c]=o.split("="),p=n.safeFlags[i];if(!p)return!1;if(p==="none"){if(s)return!1;r++;continue}if(p==="optional"){r++;continue}if(s){if(!pf(c.join("="),p))return!1;r++;continue}let d=e[r+1];if(d===void 0||!pf(d,p))return!1;r+=2;continue}if(n.allowPositional===!1)return!1;r++}return!0}function _R(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function NR(e){let t=e.some(r=>/^cd\b/.test(r)),n=e.some(r=>/^git\b/.test(r));return t&&n}function qR(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 UR(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"&&df[`git ${n}`]?{name:`git ${n}`,rest:e.slice(2)}:ff[r]?{name:r,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function GR(e){let t=qR(e),n=UR(t);if(!n)return!1;let{name:r,rest:o}=n;if(KR.has(r)&&o.some(i=>i.includes("$")||i.includes("`")))return!1;let s=df[r]??jR[r]??ff[r];return s?s.dangerous?.(o)?!1:OR(o,0,s):!!(FR.includes(r)||DR.includes(r))}function Ti(e){let t=_R(e);return!t||t.length===0||NR(t)?!1:t.every(GR)}var MR,CR,Ii,$i,oc,ki,sc,lf,LR,df,FR,jR,ff,DR,KR,ic=u(()=>{MR=/^-[a-zA-Z0-9_-]/;CR={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},Ii={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},$i={"--max-count":"number","-n":"number"},oc={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},ki={"--color":"none","--no-color":"none"},sc={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},lf={"--author":"string","--committer":"string","--grep":"string"},LR={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},df={"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",...ki}},"git diff":{safeFlags:{...oc,...ki,...sc,"--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:{...Ii,...$i,...oc,...ki,...sc,...lf,...CR,"--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:{...oc,...ki,...sc,...Ii,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...$i,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...$i,...Ii,...lf,"--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:{...$i,"--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:{...Ii}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...LR,"--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"}}},FR=["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"],jR={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))}},ff={"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:{}}},DR=["cd","alias","history","arch","ip addr","ifconfig"];KR=new Set(["echo","printf"])});var If={};Mt(If,{APPROVAL_LABELS:()=>vi,APPROVAL_MODES:()=>Xr,MODE_MAX_TIER:()=>gf,TIER_RANK:()=>ac,createPermissionExtension:()=>Vo,criticalCommand:()=>hf,decideToolCall:()=>yf,describeToolCall:()=>bf,formatApprovalPrompt:()=>wf,getApprovalMode:()=>HR,isApprovalMode:()=>WR,isReadOnlyCommand:()=>Ti,resolveTier:()=>uc,setApprovalMode:()=>cc,setApprovalPrompt:()=>pc});function WR(e){return Xr.includes(e)}function uc(e){let t=BR[e];return t||(e.startsWith("mcp__")?"write":"exec")}function hf(e){for(let{pattern:t,reason:n}of zR)if(t.test(e))return n}function cc(e){mc=e}function HR(){return mc}function pc(e){xf=e}function yf(e,t,n){let r=typeof n?.command=="string"?n.command:"";if(t==="bash"||t==="powershell"){let s=hf(r);if(s)return{action:"deny",reason:`Refused in every mode: ${s}.`};if(Ti(r))return{action:"run"}}let o=uc(t);return ac[o]<=ac[gf[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function bf(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 wf(e,t,n){let r=[`Allow tool: ${e}`];e.startsWith("mcp__")&&r.push("Origin: MCP server tool"),r.push(`Reason: ${n}`);let o=bf(e,t);return o!==e&&r.push(o),r.join(`
13
- `)}function Vo(e={}){return t=>{t.on("tool_call",async n=>{let r=uf(n.toolName,n.input);if(r)return{block:!0,reason:cf(n.toolName,r.repeats)};let o=mc,s=yf(o,n.toolName,n.input);if(s.action==="run")return;if(s.action==="deny")return{block:!0,reason:s.reason};if(e.interactive===!1)return{block:!0,reason:`Blocked: this is a ${uc(n.toolName)}-tier tool and no UI can approve it here (approval mode: ${o}).`};if(!await xf(`${n.toolName} wants to run`,wf(n.toolName,n.input,s.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${o}).`}})}}var Xr,vi,ac,gf,BR,zR,mc,xf,Jo=u(()=>{rc();ic();ic();Xr=["suggest","auto-edit","full-auto"],vi={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};ac={read:0,write:1,exec:2},gf={suggest:"read","auto-edit":"write","full-auto":"exec"},BR={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",web_search:"read",web_fetch:"read",lsp:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};zR=[{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"}];mc="full-auto",xf=async()=>!1});import{existsSync as VR,readFileSync as JR}from"node:fs";import{join as YR}from"node:path";function ZR(e){try{if(!VR(e))return;let t=JR(e,"utf8").trim();return!t||Buffer.byteLength(t,"utf8")>XR?void 0:t}catch{return}}function kf(e){let t=[e],n=ZR($f);return n&&t.push(`# Standing instructions from ${$f}
14
- ${n}`),t}var $f,XR,Tf=u(()=>{xn();$f=YR(_e,"APPEND_SYSTEM.md"),XR=16*1024});function QR(e){return e.replace(/operating inside pi, a coding agent harness/gi,"operating as HowToFix, a coding agent harness").replace(/^Pi documentation \(read only when the user asks about[^\n]*\):?$/gim,"Harness documentation (internal reference; the user is never told the harness name):").replace(/\bpi itself\b/gi,"the harness itself").replace(/^- When reading pi docs or examples/m,"- When reading harness docs or examples").replace(/^- When working on pi topics/m,"- When working on harness topics").replace(/^- Always read pi \.md files/m,"- Always read the harness .md files").replace(/\bpi packages\b/gi,"harness packages").replace(/\bpi \.md files\b/gi,"harness .md files").replace(/\bpi docs\b/gi,"harness docs").replace(/^-\s*You can inspect PI_\* environment variables/m,"- You can inspect the harness's environment variables")}function tA(e){if(!e)return;let t=!1,n={...e};for(let r of eA){let o=n[r];if(typeof o!="string")continue;let s=QR(o);s!==o&&(n[r]=s,t=!0)}return t?n:void 0}function vf(){return e=>{e.on("context_with_system",async t=>{let n=t.messages[0];if(!n||n.role!=="system")return;let r=tA(n.sections);return r?{messages:t.messages.map(s=>s===n?{...n,sections:r}:s)}:void 0})}}var eA,Ef=u(()=>{eA=["preamble","rules","docs","addendum"]});import{Type as Zr}from"@earendil-works/pi-ai";import{defineTool as Sf}from"@earendil-works/pi-coding-agent";function Pf(e){lc=e}var lc,Rf,Af,dc=u(()=>{Rf=Sf({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:Zr.Object({thoughts:Zr.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),Af=Sf({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:Zr.Object({question:Zr.String(),options:Zr.Array(Zr.String(),{minItems:2})}),async execute(e,t){if(!lc)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let n=await lc(t.question,t.options);return{content:[{type:"text",text:n}],details:{answer:n}}}})});var sn,yr=u(()=>{sn={assign:0,create:0,clone:0,discard:0,update:0}});function br(e,t,n){return e>=t&&e<=n}function Cf(e){return e===8205}function nA(e){return br(e,55296,56319)}function Mf(e){return br(e,127462,127487)}function Lf(e){return br(e,65024,65039)}function Ff(e){return br(e,768,879)||br(e,6832,6911)||br(e,7616,7679)||br(e,65056,65071)}function Ei(e){return e>65535?2:1}function Of(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Ff(n)||Lf(n))t+=Ei(n);else break}return t}function fc(e,t){let n=e.codePointAt(t),r=t+Ei(n);for(r=Of(e,r);r<e.length-1&&Cf(e.codePointAt(r));){let o=e.codePointAt(r+1);r+=1+Ei(o),r=Of(e,r)}return Mf(n)&&r<e.length&&Mf(e.codePointAt(r))&&(r+=Ei(e.codePointAt(r))),r}function jf(e){return e>=768&&(nA(e)||Ff(e)||Lf(e)||Cf(e))}function Df(e){let t=0,n=0;for(;n<e.length;)n=fc(e,n),t++;return t}function rA(e,t){let n=0,r=0;for(;r<e.length;)if(r=fc(e,r),++n>=t)return!0;return!1}function oA(e,t){let n=0,r=0;for(;r<e.length;)if(r=fc(e,r),++n>t)return!1;return!0}function _f(e,t){if(t===0)return!0;if(e.length<t)return!1;let n=0;for(;;){if(jf(e.charCodeAt(n)))return rA(e,t);if(++n>=t)return!0}}function Nf(e,t){if(e.length<=t)return!0;let n=0;for(;;){if(jf(e.charCodeAt(n)))return oA(e,t);if(++n>t)return!1}}var qf=u(()=>{});var m={};Mt(m,{Counted:()=>wA,Entries:()=>kA,EntriesRegExp:()=>$A,Every:()=>hA,EveryAll:()=>xA,GraphemeCount:()=>dA,HasPropertyKey:()=>IA,IsArray:()=>Xo,IsBigInt:()=>Yo,IsBoolean:()=>Uf,IsClassInstance:()=>lA,IsConstructor:()=>iA,IsDeepEqual:()=>xc,IsEqual:()=>ue,IsFunction:()=>Kf,IsGreaterEqualThan:()=>Wf,IsGreaterThan:()=>mA,IsInteger:()=>gc,IsLessEqualThan:()=>Gf,IsLessThan:()=>cA,IsMaxLength:()=>fA,IsMinLength:()=>gA,IsMultipleOf:()=>pA,IsNull:()=>Pi,IsNumber:()=>Ri,IsObject:()=>Zo,IsObjectNotArray:()=>aA,IsString:()=>Ai,IsSymbol:()=>uA,IsUndefined:()=>hc,IsUnsafePropertyKey:()=>zf,IsValueLike:()=>Bf,Keys:()=>Si,ShiftLeft:()=>Mi,Some:()=>yA,SomeAll:()=>bA,Symbols:()=>TA,Values:()=>vA});function Xo(e){return Array.isArray(e)}function Yo(e){return ue(typeof e,"bigint")}function Uf(e){return ue(typeof e,"boolean")}function iA(e){if(hc(e)||!Kf(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Kf(e){return ue(typeof e,"function")}function gc(e){return Number.isInteger(e)}function Pi(e){return ue(e,null)}function Ri(e){return Number.isFinite(e)}function aA(e){return Zo(e)&&!Xo(e)}function Zo(e){return ue(typeof e,"object")&&!Pi(e)}function Ai(e){return ue(typeof e,"string")}function uA(e){return ue(typeof e,"symbol")}function hc(e){return ue(e,void 0)}function ue(e,t){return e===t}function mA(e,t){return e>t}function cA(e,t){return e<t}function Gf(e,t){return e<=t}function Wf(e,t){return e>=t}function pA(e,t){if(Yo(e)||Yo(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!Ri(e)||gc(e)&&1/t%1===0)return!0;let r=e%t;return Math.min(Math.abs(r),Math.abs(r-t),Math.abs(r+t))<n}function lA(e){if(!Zo(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return Pi(t)?!1:ue(typeof t.constructor,"function")&&!(ue(t.constructor,globalThis.Object)||ue(t.constructor.name,"Object"))}function Bf(e){return Yo(e)||Uf(e)||Pi(e)||Ri(e)||Ai(e)||hc(e)}function dA(e){return Df(e)}function fA(e,t){return Nf(e,t)}function gA(e,t){return _f(e,t)}function hA(e,t,n){return e.every((r,o)=>o<t||n(r,o))}function xA(e,t,n){let r=!0;return e.forEach((o,s)=>{s>=t&&!n(o,s)&&(r=!1)}),r}function yA(e,t){return e.some((n,r)=>t(n,r))}function bA(e,t){let n=!1;return e.forEach((r,o)=>{t(r,o)&&(n=!0)}),n}function wA(e,t){return e.reduce((n,r,o)=>t(r,o)?++n:n,0)}function Mi(e,t,n){return ue(e.length,0)?n():t(e[0],e.slice(1))}function zf(e){return ue(e,"__proto__")||ue(e,"constructor")||ue(e,"prototype")}function IA(e,t){return zf(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function $A(e){return Si(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function kA(e){return Object.entries(e)}function Si(e){return Object.getOwnPropertyNames(e)}function TA(e){return Object.getOwnPropertySymbols(e)}function vA(e){return Object.values(e)}function EA(e,t){if(!Zo(t))return!1;let n=Si(e);return ue(n.length,Si(t).length)&&n.every(r=>xc(e[r],t[r]))}function SA(e,t){return Xo(t)&&ue(e.length,t.length)&&e.every((n,r)=>xc(e[r],t[r]))}function xc(e,t){return Xo(e)?SA(e,t):Zo(e)?EA(e,t):ue(e,t)}var Qr=u(()=>{qf()});var Hf=u(()=>{Qr()});var Vn={};Mt(Vn,{IsBigInt64Array:()=>KA,IsBigUint64Array:()=>GA,IsBoolean:()=>RA,IsDate:()=>BA,IsFloat32Array:()=>qA,IsFloat64Array:()=>UA,IsInt16Array:()=>jA,IsInt32Array:()=>_A,IsInt8Array:()=>CA,IsMap:()=>HA,IsNumber:()=>AA,IsRegExp:()=>WA,IsSet:()=>zA,IsString:()=>MA,IsTypeArray:()=>OA,IsUint16Array:()=>DA,IsUint32Array:()=>NA,IsUint8Array:()=>LA,IsUint8ClampedArray:()=>FA});function RA(e){return e instanceof Boolean}function AA(e){return e instanceof Number}function MA(e){return e instanceof String}function OA(e){return globalThis.ArrayBuffer.isView(e)}function CA(e){return e instanceof globalThis.Int8Array}function LA(e){return e instanceof globalThis.Uint8Array}function FA(e){return e instanceof globalThis.Uint8ClampedArray}function jA(e){return e instanceof globalThis.Int16Array}function DA(e){return e instanceof globalThis.Uint16Array}function _A(e){return e instanceof globalThis.Int32Array}function NA(e){return e instanceof globalThis.Uint32Array}function qA(e){return e instanceof globalThis.Float32Array}function UA(e){return e instanceof globalThis.Float64Array}function KA(e){return e instanceof globalThis.BigInt64Array}function GA(e){return e instanceof globalThis.BigUint64Array}function WA(e){return e instanceof globalThis.RegExp}function BA(e){return e instanceof globalThis.Date}function zA(e){return e instanceof globalThis.Set}function HA(e){return e instanceof globalThis.Map}var Vf=u(()=>{});var Jf=u(()=>{Qr()});var O=u(()=>{Hf();Vf();Jf();Qr();Qr()});var an={};Mt(an,{Get:()=>XA,Reset:()=>JA,Set:()=>YA});function JA(){yn.immutableTypes=!1,yn.maxErrors=8,yn.maxInstantiationCount=128,yn.useAcceleration=!0,yn.exactOptionalPropertyTypes=!1,yn.enumerableKind=!1,yn.correctiveParse=!1,yn.unionPrioritySort=!0}function YA(e){for(let t of m.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(yn,t,{value:n})}}function XA(){return yn}var yn,Yf=u(()=>{O();yn={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var wr=u(()=>{Yf()});function Jn(e){return an.Get().immutableTypes?Object.freeze(e):e}var Qo=u(()=>{wr()});function ZA(e,t){return sn.assign+=1,Jn({...e,...t})}var Xf=u(()=>{yr();Qo()});function QA(e){return m.HasPropertyKey(e,"~kind")||m.HasPropertyKey(e,"~unsafe")}function eM(e){let t={};for(let n of m.Keys(e)){if(m.IsUnsafePropertyKey(n))continue;let r=Object.getOwnPropertyDescriptor(e,n);r.value=Ir(r.value),m.IsEqual(r.enumerable,!0)?t[n]=r.value:Object.defineProperty(t,n,r)}return t}function tM(e){let t={};for(let n of m.Keys(e))m.IsUnsafePropertyKey(n)||(t[n]=Ir(e[n]));for(let n of m.Symbols(e))t[n]=Ir(e[n]);return t}function nM(e){return m.IsClassInstance(e)?e:QA(e)?eM(e):tM(e)}function rM(e){return e.map(t=>Ir(t))}function oM(e){return e.slice()}function sM(e){return new RegExp(e.source,e.flags)}function iM(e){return new Map(Ir([...e.entries()]))}function aM(e){return new Set(Ir([...e.values()]))}function Ir(e){return Vn.IsTypeArray(e)?oM(e):Vn.IsRegExp(e)?sM(e):Vn.IsMap(e)?iM(e):Vn.IsSet(e)?aM(e):m.IsArray(e)?rM(e):m.IsObject(e)?nM(e):e}function es(e){return sn.clone+=1,Ir(e)}var Oi=u(()=>{O();yr()});function uM(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 Zf(e,t){return{...e,...t}}function mM(e,t,n={}){sn.create+=1;let r=Zf(t,n),o=an.Get().enumerableKind?Zf(r,e):uM(r,e);return Jn(o)}var Qf=u(()=>{wr();yr();Qo()});function cM(e,t){sn.discard+=1;let n={};for(let r of m.Keys(e)){if(t.includes(r))continue;let o=Object.getOwnPropertyDescriptor(e,r);o.value=es(o.value),Object.defineProperty(n,r,o)}return Jn(n)}var eg=u(()=>{O();yr();Qo();Oi()});function pM(e,t,n){sn.update+=1;let r=an.Get(),o=es(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 Jn(o)}var tg=u(()=>{wr();yr();Qo();Oi()});var f={};Mt(f,{Assign:()=>ZA,Clone:()=>es,Create:()=>mM,Discard:()=>cM,Metrics:()=>sn,Update:()=>pM});var ng=u(()=>{Xf();Oi();Qf();eg();yr();tg()});var S=u(()=>{ng()});function L(e,t){return m.IsObject(e)&&m.HasPropertyKey(e,"~kind")&&m.IsEqual(e["~kind"],t)}function Ne(e){return m.IsObject(e)}var J=u(()=>{O()});function j(e,t,n){return f.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function Yn(e){return L(e,"Deferred")}var ce=u(()=>{S();J()});function lM(e){return f.Update(e,{"~readonly":!0},{})}function ts(e,t){return f.Update(lM(e),{},t)}function rg(e,t,n,r){let o=T(e,t,n);return ts(o,r)}var Ci=u(()=>{S();q()});function dM(e){return f.Update(e,{"~optional":!0},{})}function ns(e,t){return f.Update(dM(e),{},t)}function og(e,t,n,r){let o=T(e,t,n);return ns(o,r)}var Li=u(()=>{S();q()});function qt(e,t){return f.Create({"~kind":"Array"},{type:"array",items:e},t)}function ke(e){return L(e,"Array")}function Fi(e){return f.Discard(e,["~kind","type","items"])}var gt=u(()=>{S();J()});function bn(e,t,n={}){return f.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function We(e){return L(e,"Constructor")}function sg(e){return f.Discard(e,["~kind","type","parameters","instanceType"])}var Bt=u(()=>{S();J()});function wn(e,t,n={}){return f.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function Be(e){return L(e,"Function")}function ig(e){return f.Discard(e,["~kind","type","parameters","returnType"])}var zt=u(()=>{S();J()});function qn(e,t){return f.Create({"~kind":"Ref"},{$ref:e},t)}function ze(e){return L(e,"Ref")}var Ht=u(()=>{S();J()});function Xn(e,t){return f.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function eo(e){return L(e,"Generic")}var rs=u(()=>{S();J()});function to(e){return f.Create({"~kind":"Any"},{},e)}function Ee(e){return L(e,"Any")}var $t=u(()=>{S();J()});function ge(e){return f.Create({"~kind":"Never"},{not:{}},e)}function un(e){return L(e,"Never")}var ag,Je=u(()=>{S();J();ag="(?!)"});function In(e,t={}){return j("AddOptional",[e],t)}function $r(e,t={}){return ns(e,t)}var os=u(()=>{ce();Li()});function ug(e){return $r(e)}function ut(e){return Ne(e)&&m.HasPropertyKey(e,"~optional")}var Zn=u(()=>{O();J();os()});function mg(e){return m.Keys(e).filter(t=>!ut(e[t]))}function ji(e){return m.Keys(e)}function Di(e){return m.Values(e)}var kr=u(()=>{O();Zn()});function W(e,t={}){let n=mg(e),r=n.length>0?{required:n}:{};return f.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function pe(e){return L(e,"Object")}function cg(e){return f.Discard(e,["~kind","type","properties","required"])}var fe=u(()=>{S();J();kr()});function Ye(e){return f.Create({"~kind":"Unknown"},{},e)}function Oe(e){return L(e,"Unknown")}var nt=u(()=>{S();J()});function $n(e,t,n){let r=m.Keys(e).reduce((o,s)=>({...o,[s]:f.Update(e[s],{},{$id:s})}),{});return f.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function rt(e){return L(e,"Cyclic")}var kt=u(()=>{O();S();J()});function pg(e){return f.Update(e,{"~unsafe":null},{})}function _i(e){return m.IsObjectNotArray(e)&&m.HasPropertyKey(e,"~unsafe")&&m.IsNull(e["~unsafe"])}var Ni=u(()=>{O();S()});var kn={};Mt(kn,{Match:()=>fM});function fM(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var lg=u(()=>{});var no=u(()=>{lg()});function ss(...e){let[t,n]=kn.Match(e,{2:(r,o)=>[r,o,o],1:r=>[r,Ye(),Ye()]});return f.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function Ce(e){return L(e,"Infer")}var Vt=u(()=>{no();S();J();nt()});function Tr(e,t,n,r={}){return f.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function Pe(e){return L(e,"Dependent")}function dg(e){return f.Discard(e,["~kind","if","then","else"])}var Ot=u(()=>{S();J()});function fg(e){return m.IsObjectNotArray(e)}function gg(e){return m.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}var qi=u(()=>{O()});function hg(e){return m.IsString(e)||m.IsNumber(e)}function xg(e,t){let n=fg(e)?gg(e):e;return f.Create({"~kind":"Enum"},{enum:n},t)}function ot(e){return L(e,"Enum")}var mn=u(()=>{O();S();J();qi();qi()});function Tt(e,t={}){return f.Create({"~kind":"Intersect"},{allOf:e},t)}function oe(e){return L(e,"Intersect")}function yg(e){return f.Discard(e,["~kind","allOf"])}var qe=u(()=>{S();J()});var bg=u(()=>{wr();O()});var wg=u(()=>{bg()});var Ig=u(()=>{wg()});function Ue(){throw new Error("Unreachable")}var yc=u(()=>{});var Tn=u(()=>{yc()});var $g,NU,qU,UU,KU,kg,GU,WU,BU,Tg=u(()=>{Tn();O();(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"})($g||($g={}));NU=BigInt("14695981039346656037"),[qU,UU]=[BigInt("1099511628211"),BigInt("18446744073709551616")],KU=Array.from({length:256}).map((e,t)=>BigInt(t)),kg=new Float64Array(1),GU=new DataView(kg.buffer),WU=new Uint8Array(kg.buffer),BU=new TextEncoder});var vg=u(()=>{Tg()});var bc=u(()=>{});var Eg=u(()=>{bc()});var Sg=u(()=>{});var Pg=u(()=>{});var Rg=u(()=>{});var Ag=u(()=>{});var Mg=u(()=>{});var Og=u(()=>{});var Cg=u(()=>{});var Lg=u(()=>{});var Fg=u(()=>{});var jg=u(()=>{});var Dg=u(()=>{});var wc=u(()=>{});var _g=u(()=>{});var Ng=u(()=>{});var qg=u(()=>{});var Ug=u(()=>{});var Kg=u(()=>{});var Gg=u(()=>{});var Wg=u(()=>{});var Bg=u(()=>{});var zg=u(()=>{});var Hg=u(()=>{});var Vg=u(()=>{});var Jg=u(()=>{});var Yg=u(()=>{});var Xg=u(()=>{});var Zg=u(()=>{});var Qg=u(()=>{});var eh=u(()=>{});var th=u(()=>{});var nh=u(()=>{});var rh=u(()=>{});var oh=u(()=>{});var sh=u(()=>{});var ih=u(()=>{});var ah=u(()=>{});var uh=u(()=>{});var mh=u(()=>{Eg();Sg();Pg();Rg();Ag();Mg();bc();Og();Cg();Lg();Fg();jg();Dg();wc();wc();_g();Ng();qg();Ug();Kg();Gg();Wg();Bg();zg();Hg();Vg();Jg();Yg();Xg();Zg();Qg();eh();th();nh();rh();oh();sh();ih();ah();uh()});var ch=u(()=>{mh()});var is=u(()=>{no();Ig();vg();ch();S();wr()});var lh=u(()=>{is();is();is()});function Ki(e){return new us(e)}function dh(e,t){return Ki(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function fh(e,t){return Ki(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function Ui(e){return Ne(e)&&m.HasPropertyKey(e,"~codec")&&m.IsObject(e["~codec"])&&m.HasPropertyKey(e["~codec"],"encode")&&m.HasPropertyKey(e["~codec"],"decode")}var as,us,Ic=u(()=>{lh();O();J();as=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=Ui(n)?i=>this.decode(n["~codec"].decode(i)):this.decode,o=Ui(n)?i=>n["~codec"].encode(t(i)):t,s={decode:r,encode:o};return f.Update(this.type,{"~codec":s},{})}},us=class{constructor(t){this.type=t}Decode(t){return new as(this.type,t)}}});function gh(e){return ro(e)}function vr(e){return Ne(e)&&m.HasPropertyKey(e,"~immutable")}var ms=u(()=>{O();J();cs()});function vn(e,t={}){return j("AddReadonly",[e],t)}function Er(e,t={}){return ts(e,t)}var ps=u(()=>{ce();Ci()});function hh(e){return Er(e)}function Sr(e){return Ne(e)&&m.HasPropertyKey(e,"~readonly")}var ls=u(()=>{O();J();ps()});function yM(e,t){let n=$c(e)?[...e["~refine"],t]:[t];return f.Update(e,{"~refine":n},{})}function xh(...e){let[t,n,r]=kn.Match(e,{3:(o,s,i)=>[o,s,i],2:(o,s)=>[o,s,()=>"Refine Error"]});return yM(t,{check:n,error:r})}function bM(e){return m.IsObjectNotArray(e)&&m.HasPropertyKey(e,"check")&&m.HasPropertyKey(e,"error")&&m.IsFunction(e.check)&&m.IsFunction(e.error)}function $c(e){return Ne(e)&&m.HasPropertyKey(e,"~refine")&&m.IsArray(e["~refine"])&&m.Every(e["~refine"],0,t=>bM(t))}var kc=u(()=>{no();S();O();J()});function ds(e){return f.Create({"~kind":"BigInt"},{type:"bigint"},e)}function En(e){return L(e,"BigInt")}var yh,Pr=u(()=>{S();J();yh="-?(?:0|[1-9][0-9]*)n"});function Gi(e){return f.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Jt(e){return L(e,"Boolean")}var Qn=u(()=>{S();J()});function fs(e){return f.Create({"~kind":"Identifier"},{name:e})}function bh(e){return L(e,"Identifier")}var Tc=u(()=>{S();J()});function Rr(e){return f.Create({"~kind":"Integer"},{type:"integer"},e)}function ht(e){return L(e,"Integer")}var Wi,Sn=u(()=>{S();J();Wi="-?(?:0|[1-9][0-9]*)"});function wM(e){return m.IsBigInt(e)?"bigint":m.IsBoolean(e)?"boolean":m.IsNumber(e)?"number":m.IsString(e)?"string":(()=>{throw new vc(e)})()}function se(e,t){return f.Create({"~kind":"Literal"},{type:wM(e),const:e},t)}function Bi(e){return m.IsBigInt(e)||m.IsBoolean(e)||m.IsNumber(e)||m.IsString(e)}function wh(e){return le(e)&&m.IsNumber(e.const)}function Ih(e){return le(e)&&m.IsString(e.const)}function le(e){return L(e,"Literal")}var vc,Le=u(()=>{S();O();J();vc=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function oo(e){return f.Create({"~kind":"Null"},{type:"null"},e)}function so(e){return L(e,"Null")}var io=u(()=>{S();J()});function Ct(e){return f.Create({"~kind":"Number"},{type:"number"},e)}function Fe(e){return L(e,"Number")}var zi,xt=u(()=>{S();J();zi="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function ao(e){return f.Create({"~kind":"Symbol"},{type:"symbol"},e)}function er(e){return L(e,"Symbol")}var Ar=u(()=>{S();J()});function Mr(...e){let[t,n,r]=kn.Match(e,{3:(o,s,i)=>[o,s,i],2:(o,s)=>[o,s,s],1:o=>[o,Ye(),Ye()]});return f.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function $h(e){return L(e,"Parameter")}var Ec=u(()=>{no();S();J();nt()});function Yt(e){return f.Create({"~kind":"String"},{type:"string"},e)}function yt(e){return L(e,"String")}var Hi,Xt=u(()=>{S();J();Hi=".*"});function X(e,t={}){return f.Create({"~kind":"Union"},{anyOf:e},t)}function F(e){return L(e,"Union")}function kh(e){return f.Discard(e,["~kind","anyOf"])}var Q=u(()=>{S();J()});function gs(e){let t=Th(e);return m.IsEqual(t.length,2)?t[0]:[]}var hs=u(()=>{O();Vi()});function IM(e){return!0}function vh(e){return m.ShiftLeft(e,(t,n)=>$M(t)?vh(n):!1,()=>!0)}function Eh(e){return m.IsEqual(e.length,0)?!1:vh(e)}function $M(e){return F(e)?Eh(e.anyOf):le(e)?IM(e.const):!1}function Ji(e){return Eh(e)}var Yi=u(()=>{O();Le();Q()});function Xi(e){return f.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Zi=u(()=>{S()});function Sh(e,t,n=[]){return m.ShiftLeft(e,(r,o)=>Sh(o,t,[...n,`${r}${t}`]),()=>n)}function kM(e,t){return m.IsEqual(e.length,0)?[`${t}`]:Sh(e,t)}function Ph(e,t,n=[]){return m.ShiftLeft(t,(r,o)=>Ph(e,o,[...n,...Rh(e,r)]),()=>n)}function Rh(e,t){return F(t)?Ph(e,t.anyOf):le(t)?kM(e,t.const):Ue()}function Ah(e,t){return m.ShiftLeft(t,(n,r)=>Ah(Rh(e,n),r),()=>e)}function TM(e){return e.map(t=>se(t))}function vM(e){let t=Ah([],e),n=TM(t);return X(n)}function EM(e){return m.IsEqual(e.length,0)?Ue():m.IsEqual(e.length,1)&&le(e[0])?e[0]:vM(e)}function Sc(e){let t=gs(e);return m.IsEqual(t.length,0)?Yt():Ji(t)?EM(t):Xi(e)}function Mh(e){let t=Sc(e);return Re(t)?Yt():t}var Qi=u(()=>{O();Tn();Le();Xt();vt();Q();hs();Yi();Zi()});function Et(e,t){let n="object",r={[e]:t};return f.Create({"~kind":"Record"},{type:n,patternProperties:r})}var tr=u(()=>{S()});function Oh(e){return Et(cn,e)}var Ch=u(()=>{Xe();tr()});function Lh(e){return W({true:e,false:e})}var Fh=u(()=>{fe()});function je(e,t={}){let[n,r,o]=[e,e.length,!1];return f.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:n,minItems:r},t)}function be(e){return L(e,"Tuple")}function jh(e){return f.Discard(e,["~kind","type","items","minItems","additionalItems"])}var Ke=u(()=>{S();J()});function SM(e){return f.Discard(e,["~readonly"])}function Pc(e,t){return f.Update(SM(e),{},t)}function Dh(e,t,n,r){let o=T(e,t,n);return Pc(o,r)}var Rc=u(()=>{S();q()});function _h(e,t={}){return j("RemoveReadonly",[e],t)}function Nh(e,t={}){return Pc(e,t)}var Ac=u(()=>{ce();Rc()});function PM(e){return f.Discard(e,["~optional"])}function Mc(e,t){return f.Update(PM(e),{},t)}function qh(e,t,n,r){let o=T(e,t,n);return Mc(o,r)}var Oc=u(()=>{S();q()});function Uh(e,t={}){return j("RemoveOptional",[e],t)}function ea(e,t={}){return Mc(e,t)}var ta=u(()=>{ce();Oc()});function Cc(e){return e.reduceRight((n,r,o)=>({[o]:r,...n}),{})}function Kh(e){let t=Cc(e.items);return W(t)}var Lc=u(()=>{fe()});function Fc(e){return pe(e)||be(e)}function RM(e,t){return Sr(e)?!!Sr(t):!1}function AM(e,t){return ut(e)?!!ut(t):!1}function MM(e,t){let n=RM(e,t),r=AM(e,t),o=Te([e,t]),s=Nh(ea(o));return n&&r?Er($r(s)):n&&!r?Er(s):!n&&r?$r(s):s}function OM(e,t,n){return n in e?n in t?MM(e[n],t[n]):e[n]:n in t?t[n]:ge()}function CM(e,t){return[...new Set([...m.Keys(e),...m.Keys(t)])].reduce((o,s)=>({...o,[s]:OM(e,t,s)}),{})}function Gh(e){return pe(e)?e.properties:be(e)?Cc(e.items):{}}function Wh(e,t){let n=Gh(e),r=Gh(t),o=CM(n,r);return W(o)}var jc=u(()=>{O();ls();Zn();fe();Je();Ke();ps();os();Ac();ta();Lc();Y()});function LM(e,t){let n=bs(e,t);return m.IsEqual(n,ys)?e:m.IsEqual(n,na)||m.IsEqual(n,xs)?t:ge()}function FM(e,t){let n=Fc(e),r=Fc(t);return n&&r?Wh(e,t):n&&!r?e:!n&&r?t:LM(e,t)}function Bh(e,t){return un(e)||Ee(e)?e:Oe(e)||un(t)||Ee(t)?t:Oe(t)?e:FM(e,t)}var Dc=u(()=>{O();$t();Je();nt();ws();jc()});function jM(e,t){return F(e)||F(t)}function DM(e,t){let n=Zt(e),r=Zt(t);return jM(n,r)?Te([n,r]):Bh(n,r)}function zh(e,t,n=[]){return m.ShiftLeft(t,(r,o)=>zh(e,o,[...n,DM(r,e)]),()=>m.IsEqual(n.length,0)?[e]:n)}function Hh(e,t,n=[]){return m.ShiftLeft(e,(r,o)=>Hh(o,t,[...n,...Is([r],t)]),()=>n)}function Is(e,t=[]){return m.ShiftLeft(e,(n,r)=>F(n)?Is(r,Hh(n.anyOf,t)):Is(r,zh(n,t)),()=>t)}var _c=u(()=>{O();Q();Dc();Y();Y()});function _M(e,t){let n=st({},e,t);return B.IsExtendsTrueLike(n)?[]:[e]}function Vh(e,t,n=[]){return m.ShiftLeft(e,(r,o)=>Vh(o,t,[...n,..._M(r,t)]),()=>n)}function ra(e,t){let n=Zt(e),r=F(n)?n.anyOf:[n],o=Vh(r,t);return St(o)}var Nc=u(()=>{O();Q();Pn();Y();Y()});function pn(e,t,n){let r=Te([e,t]),o=ra(n,e);return St([r,o])}function bt(e,t=[]){return m.ShiftLeft(e,(n,r)=>bt(r,[...t,se(n)]),()=>St(t))}function Te(e){let t=Is(e),n=qc(t);return St(n)}function mt(e){let t=Mh(e);return Zt(t)}function St(e){let t=qc(e);return nr(t)}function Zt(e){return Pe(e)?pn(e.if,e.then,e.else):ot(e)?bt(e.enum):oe(e)?Te(e.allOf):Re(e)?mt(e.pattern):F(e)?St(e.anyOf):e}function nr(e){return m.IsEqual(e.length,1)?e[0]:m.IsEqual(e.length,0)?ge():X(e)}var Y=u(()=>{O();Ot();mn();qe();Le();Je();vt();Q();_c();Uc();Nc();Qi()});function Jh(e,t){let n=bt(e);return rr(n,t)}var Yh=u(()=>{$s();Y()});function Xh(e,t){return Et(or,t)}var Zh=u(()=>{Xe();tr()});function Qh(e,t){let n=Te(e);return rr(n,t)}var ex=u(()=>{Y();$s()});function tx(e,t){return m.IsString(e)||m.IsNumber(e)?W({[e]:t}):m.IsEqual(e,!1)?W({false:t}):m.IsEqual(e,!0)?W({true:t}):W({})}var nx=u(()=>{O();fe()});function rx(e,t){return Et(uo,t)}var ox=u(()=>{Xe();tr()});function sx(e,t){return m.HasPropertyKey(e,"pattern")&&(m.IsString(e.pattern)||e.pattern instanceof RegExp)?Et(e.pattern.toString(),t):Et(cn,t)}var ix=u(()=>{O();Xe();tr()});function ax(e,t){let n=gs(e);return Ji(n)?rr(mt(e),t):Et(e,t)}var ux=u(()=>{$s();hs();Yi();Y();tr()});function NM(e){return F(e)?mo(e.anyOf):[e]}function mo(e,t=[]){return m.ShiftLeft(e,(n,r)=>mo(r,[...t,...NM(n)]),()=>t)}var oa=u(()=>{O();Q()});function qM(e){return e.some(t=>yt(t)||Fe(t)||ht(t))}function UM(e,t){return m.IsEqual(qM(e),!0)?Et(cn,t):void 0}function KM(e,t){return e.reduce((n,r)=>le(r)&&(m.IsString(r.const)||m.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function GM(e,t){let n=KM(e,t);return W(n)}function mx(e,t){let n=mo(e),r=UM(n,t);return Ne(r)?r:GM(n,t)}var cx=u(()=>{O();J();Le();xt();Sn();fe();Xt();Xe();oa();tr()});function rr(e,t){return Ee(e)?Oh(t):Jt(e)?Lh(t):ot(e)?Jh(e.enum,t):ht(e)?Xh(e,t):oe(e)?Qh(e.allOf,t):le(e)?tx(e.const,t):Fe(e)?rx(e,t):F(e)?mx(e.anyOf,t):yt(e)?sx(e,t):Re(e)?ax(e.pattern,t):W({})}var $s=u(()=>{$t();Qn();mn();qe();Sn();Le();xt();fe();Xt();vt();Q();Ch();Fh();Yh();Zh();ex();nx();ox();ix();ux();cx()});function Kc(e,t,n){return V([e])?f.Update(rr(e,t),{},n):ia(e,t,n)}function px(e,t,n,r,o){let s=T(e,t,n),i=T(e,t,r);return Kc(s,i,o)}var sa=u(()=>{S();Xe();$s();q()});function ia(e,t,n={}){return j("Record",[e,t],n)}function aa(e,t,n={}){return Kc(e,t,n)}function lx(e,t){return Et(e,t)}function ua(e){return m.IsEqual(e,cn)?Yt():m.IsEqual(e,or)?Rr():m.IsEqual(e,uo)?Ct():Sc(e)}function Qt(e){return m.Keys(e.patternProperties)[0]}function co(e){let t=Qt(e);return ua(t)}function wt(e){return e.patternProperties[Qt(e)]}function it(e){return L(e,"Record")}var or,uo,cn,Xe=u(()=>{S();O();J();Sn();xt();Xt();ce();Qi();tr();sa();or=`^${Wi}$`,uo=`^${zi}$`,cn=`^${Hi}$`});function Or(e){return f.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function sr(e){return L(e,"Rest")}var po=u(()=>{S();J()});var dx=u(()=>{});function ma(e){return f.Create({"~kind":"This"},{$ref:"#"},e)}function ca(e){return L(e,"This")}var pa=u(()=>{S();J()});function lo(e){return f.Create({"~kind":"Undefined"},{type:"undefined"},e)}function fo(e){return L(e,"Undefined")}var go=u(()=>{S();J()});function la(e){return f.Create({"~kind":"Void"},{type:"void"},e)}function Rn(e){return L(e,"Void")}var Cr=u(()=>{S();J()});var da=u(()=>{Ic();ms();Zn();ls();kc();$t();gt();Pr();Qn();ho();Bt();kt();ce();mn();zt();rs();Tc();Ot();Vt();Sn();qe();Le();Je();io();xt();nt();Ar();fe();Ec();kr();Xe();Ht();po();J();dx();Xt();Ar();vt();pa();Ke();go();Q();nt();Ni();Cr()});function BM(e,t){return m.IsEqual(e,"Array")?qt(t[0]):m.IsEqual(e,"Capitalize")?ga(t[0]):m.IsEqual(e,"ConstructorParameters")?wa(t[0]):m.IsEqual(e,"Evaluate")?gb(t[0]):m.IsEqual(e,"Exclude")?Ia(t[0],t[1]):m.IsEqual(e,"Extract")?$a(t[0],t[1]):m.IsEqual(e,"Index")?Es(t[0],t[1]):m.IsEqual(e,"InstanceType")?ka(t[0]):m.IsEqual(e,"Lowercase")?ha(t[0]):m.IsEqual(e,"NonNullable")?Ta(t[0]):m.IsEqual(e,"Omit")?va(t[0],t[1]):m.IsEqual(e,"Parameters")?Ea(t[0]):m.IsEqual(e,"Partial")?Sa(t[0]):m.IsEqual(e,"Pick")?Pa(t[0],t[1]):m.IsEqual(e,"Readonly")?Ra(t[0]):m.IsEqual(e,"KeyOf")?Ss(t[0]):m.IsEqual(e,"Record")?ia(t[0],t[1]):m.IsEqual(e,"Required")?Aa(t[0]):m.IsEqual(e,"ReturnType")?Ma(t[0]):m.IsEqual(e,"Uncapitalize")?xa(t[0]):m.IsEqual(e,"Uppercase")?ya(t[0]):vs(qn(e),t)}function Lr(){throw Error("Unreachable")}function yx(e,t=[]){return m.ShiftLeft(e,(n,r)=>yx(r,[...t,n[1]]),()=>t)}function Un(e){return m.IsEqual(e.length,3)?[e[0],...yx(e[1])]:[]}function bx(e){return Mr(e[0],e[2],e[4])}function wx(e){return Mr(e[0],e[2],e[2])}function Ix(e){return Mr(e[0],Ye(),e[2])}function $x(e){return Mr(e,Ye(),Ye())}function kx(e){return Un(e)}function Tx(e){return e[1]}function vx(e){return Un(e)}function Ex(e){return e[1]}function Sx(e){return BM(e[0],e[1])}function Px(e){return null}function Rx(e){return Yt()}function Ax(e){return Ct()}function Mx(e){return Gi()}function Ox(e){return lo()}function Cx(e){return oo()}function Lx(e){return Rr()}function Fx(e){return ds()}function jx(e){return Ye()}function Dx(e){return to()}function _x(e){return W({})}function Nx(e){return ge()}function qx(e){return ao()}function Ux(e){return la()}function Kx(e){return ma()}function Gx(e){return se(BigInt(e))}function Wx(e){return se(m.IsEqual(e,"true"))}function Bx(e){return se(parseFloat(e))}function zx(e){return se(e)}function Hx(e){return e[1]}function Vx(e){return se(e)}function Jx(e){return m.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function Yx(e){return e[1]}function Xx(e){return fa(e)}function Zx(e){return m.IsEqual(e.length,6)?Tr(e[1],e[3],e[5]):Tr(e[1],e[3],Ye())}function Qx(e){return e.length>0}function ey(e){return e.reduce((t,n)=>m.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function ty(e){return m.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function ny(e){return m.IsArray(e)&&m.IsEqual(e.length,3)?e[1]:e}function ry(e){return m.IsEqual(e.length,2)?e[1]:[]}function fx(e,t){return t.reduce((n,r)=>{let o=r;return m.IsEqual(o.length,1)?Es(n,o[0]):m.IsEqual(o.length,0)?qt(n):Lr()},e)}function gx(e,t){return m.IsEqual(t.length,3)?ba(e,t[0],t[1],t[2]):e}function zM(e,t){return m.IsArray(t)&&m.IsEqual(t.length,0)?e:Oa(e,t)}function oy(e){let[t,n,r,o,s]=e;return zM(gx(t?Ss(fx(n,r)):fx(n,r),o),s)}function Gc(e,t){return m.IsEqual(t.length,3)?(()=>{let[n,r,o]=t,s=Gc(r,o);if(m.IsEqual(n,"&"))return oe(s)?Tt([e,...s.allOf]):Tt([e,s]);if(m.IsEqual(n,"|"))return F(s)?X([e,...s.anyOf]):X([e,s]);Lr()})():e}function sy(e){let[t,n]=e;return Gc(t,n)}function iy(e){let[t,n]=e;return Gc(t,n)}function ay(e){return fb(e[1])}function uy(e){return e[1]}function my(e){return Xn(e[0],e[2])}function cy(e){return m.IsEqual(e.length,4)?ss(e[1],e[3]):m.IsEqual(e.length,2)?ss(e[1],Ye()):Lr()}function py(e){return`${e}`}function ly(e){return ht(e[3])?or:Fe(e[3])?uo:er(e[3])?cn:yt(e[3])?cn:Lr()}function dy(e){return e.length>0}function fy(e){return e.length>0}function gy(e){let[t,n,r,o,s]=e;return{[n]:t&&r?vn(In(s)):t&&!r?vn(s):!t&&r?In(s):s}}function hy(e){return Un(e)}function xy(e){return e.reduce((t,n)=>m.HasPropertyKey(n,or)||m.HasPropertyKey(n,uo)||m.HasPropertyKey(n,cn)?[t[0],f.Assign(t[1],n)]:[f.Assign(t[0],n),t[1]],[{},{}])}function yy(e){return xy(e[1])}function by(e){let[t,n]=e,r=m.IsEqual(m.Keys(n).length,0)?{}:{patternProperties:n};return W(t,r)}function wy(e){return m.IsEqual(e.length,5)?vn(In(e[4])):m.IsEqual(e.length,3)?e[2]:m.IsEqual(e.length,4)?m.IsEqual(e[2],"readonly")?vn(e[3]):In(e[3]):Lr()}function Iy(e){if(!m.IsArray(e)||!m.IsEqual(e.length,3))return e;let[t,n,r]=e;return t&&r?vn(In(n)):t&&!r?vn(n):!t&&r?In(n):n}function $y(e){return m.IsEqual(e.length,2)?Or(e[1]):m.IsEqual(e.length,1)?e[0]:Lr()}function ky(e){return Un(e)}function Ty(e){return je(e[1])}function vy(e){return vn(In(e[4]))}function Ey(e){return vn(e[3])}function Sy(e){return In(e[3])}function Py(e){return e[2]}function Ry(e){return m.IsEqual(e.length,2)?Or(e[1]):m.IsEqual(e.length,1)?e[0]:Lr()}function Ay(e){return Un(e)}function My(e){return wn(e[1],e[4])}function Oy(e){return bn(e[2],e[5])}function hx(e,t){return m.IsEqual(e,"remove")?_h(t):m.IsEqual(e,"add")?vn(t):t}function Cy(e){return m.IsEqual(e.length,2)&&m.IsEqual(e[0],"-")?"remove":m.IsEqual(e.length,2)&&m.IsEqual(e[0],"+")||m.IsEqual(e.length,1)?"add":"none"}function xx(e,t){return m.IsEqual(e,"remove")?Uh(t):m.IsEqual(e,"add")?In(t):t}function Ly(e){return m.IsEqual(e.length,2)&&m.IsEqual(e[0],"-")?"remove":m.IsEqual(e.length,2)&&m.IsEqual(e[0],"+")||m.IsEqual(e.length,1)?"add":"none"}function Fy(e){return m.IsEqual(e.length,2)?[e[1]]:[]}function jy(e){return m.IsArray(e[6])&&m.IsEqual(e[6].length,1)?ks(fs(e[3]),e[5],e[6][0],hx(e[1],xx(e[8],e[10]))):ks(fs(e[3]),e[5],qn(e[3]),hx(e[1],xx(e[8],e[10])))}function Dy(e){return qn(e)}function _y(e){return BigInt(e)}function Ny(e){return parseFloat(e)}function qy(e){return m.IsEqual(e,"true")}function Uy(e){return null}function Ky(e){return{[e[0]]:e[2]}}function Gy(e){return Un(e)}function HM(e){return e.reduce((t,n)=>f.Assign(t,n),{})}function Wy(e){return HM(e[1])}function By(e){return Un(e)}function zy(e){return e[1]}function Hy(e){return ds()}function Vy(e){return Yt()}function Jy(e){return Ct()}function Yy(e){return Rr()}function Xy(e){return ge()}function Zy(e){return se(e)}function Qy(e){return X(e[1])}function eb(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function tb(e){return[e[0],...e[1]]}function nb(e){return e[1]}function rb(e){return Un(e)}function ob(e){return m.IsEqual(e.length,2)?e[1]:[]}function sb(e){let t=e[2],n=e[3],[r,o]=e[4],s=m.IsEqual(m.Keys(o).length,0)?{}:{patternProperties:o};return{[e[1]]:Xn(t,Ts(n,r,s))}}function ib(e){let t=e[2],[n,r]=e[3],o=m.IsEqual(m.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:Ts(t,n,o)}}function ab(e){return{[e[1]]:Xn(e[2],e[4])}}function ub(e){return{[e[1]]:e[3]}}function mb(e){return null}function cb(e){return Un(e)}function pb(e){return e[1]}function lb(e){let[t,n]=[e[0],e[1]];return hb(f.Assign(t,xy(n)[0]))}var db=u(()=>{S();O();da();xo()});var Kn=u(()=>{Qr()});function Ps(e){return ue(e.length,2)}function ne(e,t,n){return Ps(e)?t(e[0],e[1]):n()}var Lt=u(()=>{Kn()});function YM(e,t){return ue(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Se(e,t){for(let n=0;n<e.length;n++){let r=YM(e[n],t);if(Ps(r))return r}return[]}var An=u(()=>{Lt();Kn()});function Wc(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var xb,Bc,zc,yo,yb,bo,ir,Ca,bb,La,ct=u(()=>{xb=[...Wc(97,122),...Wc(65,90)],Bc="0",zc=Wc(49,57),yo=[Bc,...zc],yb=" ",bo=`
15
- `,ir="_",Ca=".",bb="$",La="-"});function $b(e){let t=e.indexOf(ZM);return ue(t,-1)?"":e.slice(t+2)}function kb(e){let t=e.indexOf(bo);return ue(t,-1)?"":e.slice(t)}function QM(e){return e.replace(/^[ \t\r\f\v]+/,"")}function Fa(e){let t=QM(e);return t.startsWith(Ib)?Fa($b(t.slice(2))):t.startsWith(wb)?Fa(kb(t.slice(2))):t}function Ze(e){let t=e.trimStart();return t.startsWith(Ib)?Ze($b(t.slice(2))):t.startsWith(wb)?Ze(kb(t.slice(2))):t}var wb,Ib,ZM,Mn=u(()=>{Kn();ct();wb="//",Ib="/*",ZM="*/"});function ja(e,t){return ne(Se([e],t),(n,r)=>[n,r],()=>["",t])}var Hc=u(()=>{Lt();An()});function eO(e,t){return e.includes(t)}function wo(e,t,n,r=""){return ne(Se(e,n),(o,s)=>eO(t,o)?wo(e,t,s,r):wo(e,t,s,`${r}${o}`),()=>[r,n])}var Vc=u(()=>{Lt();An()});function tO(e){return Se(zc,e)}function rO(e){return wo(nO,[ir],e)}function oO(e){return ne(Se([Bc],e),(t,n)=>[t,n],()=>ne(tO(e),(t,n)=>ne(rO(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[]))}function Da(e){return oO(Ze(e))}var nO,_a=u(()=>{Lt();Mn();An();Vc();ct();ct();ct();ct();nO=[...yo,ir]});function sO(e){return ja(La,e)}function iO(e){return ne(sO(e),(t,n)=>ne(Da(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Tb(e){return iO(Ze(e))}var Jc=u(()=>{Lt();Mn();Hc();ct();_a()});function aO(e){return ne(Tb(e),(t,n)=>ne(Se(["n"],n),(r,o)=>[`${t}`,o],()=>[]),()=>[])}function Yc(e){return aO(e)}var vb=u(()=>{Lt();An();Jc()});function Xc(e,t){return Se([e],t)}function h(e,t){return ue(e,"")?["",t]:e.startsWith(bo)?Xc(e,Fa(t)):e.startsWith(yb)?Xc(e,t):Xc(e,Ze(t))}var Eb=u(()=>{Kn();Mn();Mn();An();ct();ct()});function uO(e){return Se(Sb,e)}function Pb(e,t=""){return ne(Se(mO,e),(n,r)=>Pb(r,`${t}${n}`),()=>[t,e])}function cO(e){return ne(uO(e),(t,n)=>ne(Pb(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Ae(e){return cO(Ze(e))}var Sb,mO,Rb=u(()=>{Lt();Mn();An();ct();ct();ct();ct();Sb=[...xb,ir,bb];mO=[...Sb,...yo]});function lO(e){return Ps(Se([Ca],e))}function Ab(e){return ne(wo(pO,[ir],e),(t,n)=>ue(t,"")?[]:[t,n],()=>[])}function dO(e){return ne(Se([Ca],e),(t,n)=>ne(Ab(n),(r,o)=>[`0${t}${r}`,o],()=>[]),()=>[])}function fO(e){return ne(Da(e),(t,n)=>ne(Se([Ca],n),(r,o)=>ne(Ab(o),(s,i)=>[`${t}${r}${s}`,i],()=>[`${t}`,o]),()=>[`${t}`,n]),()=>[])}function gO(e){return lO(e)?dO(e):fO(e)}function Mb(e){return gO(Ze(e))}var pO,Zc=u(()=>{Kn();Lt();Mn();An();Vc();ct();ct();_a();pO=[...yo,ir]});function hO(e){return ja(La,e)}function xO(e){return ne(hO(e),(t,n)=>ne(Mb(n),(r,o)=>[`${t}${r}`,o],()=>[]),()=>[])}function Na(e){return xO(Ze(e))}var Ob=u(()=>{Lt();Mn();Hc();ct();Zc()});var Cb=u(()=>{Kn()});function yO(e){return ue(e,"")?[]:[e.slice(0,1),e.slice(1)]}function Lb(e,t){return Mi(e,(n,r)=>t.startsWith(n)?!0:Lb(r,t),()=>!1)}function ar(e,t,n=""){return ne(yO(t),(r,o)=>Lb(e,t)?[n,t]:ar(e,o,`${n}${r}`),()=>[])}var qa=u(()=>{Lt();Kn()});function bO(e,t,n){return ne(Se([e],n),(r,o)=>ne(ar([t],o),(s,i)=>ne(Se([t],i),(c,p)=>[`${s}`,p],()=>[]),()=>[]),()=>[])}function wO(e,t,n){return ne(Se([e],n),(r,o)=>ne(ar([bo,t],o),(s,i)=>ne(Se([t],i),(c,p)=>[`${s}`,p],()=>[]),()=>[]),()=>[])}function Fb(e,t,n,r){return n?bO(e,t,Ze(r)):wO(e,t,Ze(r))}var Qc=u(()=>{Lt();Mn();ct();An();qa()});function IO(e,t){return Se(e,t)}function $O(e,t){return Fb(e,e,!1,t)}function kO(e,t){return ne(IO(e,t),(n,r)=>$O(n,`${n}${r}`),()=>[])}function Ua(e,t){return kO(e,Ze(t))}var jb=u(()=>{Lt();An();Mn();Qc()});function Db(e,t){return ne(ar(e,t),(n,r)=>ue(n,"")?[]:[n,r],()=>[])}var _b=u(()=>{Kn();Lt();qa()});var Nb=u(()=>{vb();Eb();Rb();Jc();Ob();Cb();Qc();jb();_a();Zc();_b();qa()});var a,vO,EO,SO,PO,Kb,Gb,RO,np,Wb,AO,MO,OO,Bb,zb,Hb,CO,LO,FO,Vb,jO,DO,_O,NO,qO,Jb,UO,KO,GO,ep,Yb,rp,WO,BO,zO,HO,VO,JO,YO,Xb,XO,ZO,QO,e0,Zb,Qb,ew,tw,Ka,t0,n0,r0,o0,me,s0,i0,a0,u0,nw,rw,ow,sw,Ga,iw,m0,op,c0,p0,qb,aw,uw,l0,d0,f0,g0,h0,x0,Ub,mw,cw,pw,y0,b0,w0,I0,$0,k0,T0,v0,E0,S0,P0,R0,A0,lw,dw,M0,fw,gw,O0,C0,sp,L0,F0,j0,D0,_0,N0,q0,U0,hw,tp,ip,Th,xw,K0,yw,G0,W0,B0,z0,H0,bw,ww,V0,ap,J0,Iw,Vi=u(()=>{db();Nb();a=(e,t,n=()=>[])=>e.length===2?t(e):n(),vO=e=>a(a(Ae(e),([t,n])=>a(h("extends",n),([r,o])=>a(me(o),([s,i])=>a(h("=",i),([c,p])=>a(me(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[bx(t),n]),EO=e=>a(a(Ae(e),([t,n])=>a(h("extends",n),([r,o])=>a(me(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[wx(t),n]),SO=e=>a(a(Ae(e),([t,n])=>a(h("=",n),([r,o])=>a(me(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Ix(t),n]),PO=e=>a(Ae(e),([t,n])=>[$x(t),n]),Kb=e=>a(a(vO(e),([t,n])=>[t,n],()=>a(EO(e),([t,n])=>[t,n],()=>a(SO(e),([t,n])=>[t,n],()=>a(PO(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Gb=(e,t=[])=>a(a(h(",",e),([n,r])=>a(Kb(r),([o,s])=>[[n,o],s])),([n,r])=>Gb(r,[...t,n]),()=>[t,e]),RO=e=>a(a(a(Kb(e),([t,n])=>a(Gb(n),([r,o])=>a(a(h(",",o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[kx(t),n]),np=e=>a(a(h("<",e),([t,n])=>a(RO(n),([r,o])=>a(h(">",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Tx(t),n]),Wb=(e,t=[])=>a(a(h(",",e),([n,r])=>a(me(r),([o,s])=>[[n,o],s])),([n,r])=>Wb(r,[...t,n]),()=>[t,e]),AO=e=>a(a(a(me(e),([t,n])=>a(Wb(n),([r,o])=>a(a(h(",",o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[vx(t),n]),MO=e=>a(a(h("<",e),([t,n])=>a(AO(n),([r,o])=>a(h(">",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Ex(t),n]),OO=e=>a(a(Ae(e),([t,n])=>a(MO(n),([r,o])=>[[t,r],o])),([t,n])=>[Sx(t),n]),Bb=e=>a(a(a(h(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Px(t),n]),zb=e=>a(h("string",e),([t,n])=>[Rx(t),n]),Hb=e=>a(h("number",e),([t,n])=>[Ax(t),n]),CO=e=>a(h("boolean",e),([t,n])=>[Mx(t),n]),LO=e=>a(h("undefined",e),([t,n])=>[Ox(t),n]),FO=e=>a(h("null",e),([t,n])=>[Cx(t),n]),Vb=e=>a(h("integer",e),([t,n])=>[Lx(t),n]),jO=e=>a(h("bigint",e),([t,n])=>[Fx(t),n]),DO=e=>a(h("unknown",e),([t,n])=>[jx(t),n]),_O=e=>a(h("any",e),([t,n])=>[Dx(t),n]),NO=e=>a(h("object",e),([t,n])=>[_x(t),n]),qO=e=>a(h("never",e),([t,n])=>[Nx(t),n]),Jb=e=>a(h("symbol",e),([t,n])=>[qx(t),n]),UO=e=>a(h("void",e),([t,n])=>[Ux(t),n]),KO=e=>a(h("this",e),([t,n])=>[Kx(t),n]),GO=e=>a(a(h("${",e),([t,n])=>a(me(n),([r,o])=>a(h("}",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Hx(t),n]),ep=e=>a(ar(["${","`"],e),([t,n])=>[Vx(t),n]),Yb=e=>a(a(a(ep(e),([t,n])=>a(GO(n),([r,o])=>a(Yb(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a(a(ep(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a(a(ep(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Jx(t),n]),rp=e=>a(a(h("`",e),([t,n])=>a(Yb(n),([r,o])=>a(h("`",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Yx(t),n]),WO=e=>a(rp(e),([t,n])=>[Xx(t),n]),BO=e=>a(a(a(h("if",e),([t,n])=>a(me(n),([r,o])=>a(h("then",o),([s,i])=>a(me(i),([c,p])=>a(h("else",p),([d,b])=>a(me(b),([I,P])=>[[t,r,s,c,d,I],P])))))),([t,n])=>[t,n],()=>a(a(h("if",e),([t,n])=>a(me(n),([r,o])=>a(h("then",o),([s,i])=>a(me(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>[])),([t,n])=>[Zx(t),n]),zO=e=>a(Yc(e),([t,n])=>[Gx(t),n]),HO=e=>a(a(h("true",e),([t,n])=>[t,n],()=>a(h("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[Wx(t),n]),VO=e=>a(Na(e),([t,n])=>[Bx(t),n]),JO=e=>a(Ua(["'",'"'],e),([t,n])=>[zx(t),n]),YO=e=>a(a(a(h("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Qx(t),n]),Xb=(e,t=[])=>a(a(a(h("[",e),([n,r])=>a(me(r),([o,s])=>a(h("]",s),([i,c])=>[[n,o,i],c]))),([n,r])=>[n,r],()=>a(a(h("[",e),([n,r])=>a(h("]",r),([o,s])=>[[n,o],s])),([n,r])=>[n,r],()=>[])),([n,r])=>Xb(r,[...t,n]),()=>[t,e]),XO=e=>a(Xb(e),([t,n])=>[ey(t),n]),ZO=e=>a(a(a(h("extends",e),([t,n])=>a(me(n),([r,o])=>a(h("?",o),([s,i])=>a(me(i),([c,p])=>a(h(":",p),([d,b])=>a(me(b),([I,P])=>[[t,r,s,c,d,I],P])))))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ty(t),n]),QO=e=>a(a(a(h("(",e),([t,n])=>a(me(n),([r,o])=>a(h(")",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a(zb(e),([t,n])=>[t,n],()=>a(Hb(e),([t,n])=>[t,n],()=>a(CO(e),([t,n])=>[t,n],()=>a(LO(e),([t,n])=>[t,n],()=>a(FO(e),([t,n])=>[t,n],()=>a(Vb(e),([t,n])=>[t,n],()=>a(jO(e),([t,n])=>[t,n],()=>a(DO(e),([t,n])=>[t,n],()=>a(_O(e),([t,n])=>[t,n],()=>a(NO(e),([t,n])=>[t,n],()=>a(qO(e),([t,n])=>[t,n],()=>a(Jb(e),([t,n])=>[t,n],()=>a(UO(e),([t,n])=>[t,n],()=>a(KO(e),([t,n])=>[t,n],()=>a(zO(e),([t,n])=>[t,n],()=>a(HO(e),([t,n])=>[t,n],()=>a(VO(e),([t,n])=>[t,n],()=>a(JO(e),([t,n])=>[t,n],()=>a(WO(e),([t,n])=>[t,n],()=>a(BO(e),([t,n])=>[t,n],()=>a(c0(e),([t,n])=>[t,n],()=>a(d0(e),([t,n])=>[t,n],()=>a(b0(e),([t,n])=>[t,n],()=>a(y0(e),([t,n])=>[t,n],()=>a(k0(e),([t,n])=>[t,n],()=>a(OO(e),([t,n])=>[t,n],()=>a(T0(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[ny(t),n]),e0=e=>a(a(a(h("with",e),([t,n])=>a(fw(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ry(t),n]),Zb=e=>a(a(YO(e),([t,n])=>a(QO(n),([r,o])=>a(XO(o),([s,i])=>a(ZO(i),([c,p])=>a(e0(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[oy(t),n]),Qb=e=>a(a(a(h("&",e),([t,n])=>a(Zb(n),([r,o])=>a(Qb(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),ew=e=>a(a(Zb(e),([t,n])=>a(Qb(n),([r,o])=>[[t,r],o])),([t,n])=>[sy(t),n]),tw=e=>a(a(a(h("|",e),([t,n])=>a(ew(n),([r,o])=>a(tw(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Ka=e=>a(a(ew(e),([t,n])=>a(tw(n),([r,o])=>[[t,r],o])),([t,n])=>[iy(t),n]),t0=e=>a(a(h("readonly",e),([t,n])=>a(Ka(n),([r,o])=>[[t,r],o])),([t,n])=>[ay(t),n]),n0=e=>a(a(h("|",e),([t,n])=>a(Ka(n),([r,o])=>[[t,r],o])),([t,n])=>[uy(t),n]),r0=e=>a(a(np(e),([t,n])=>a(h("=",n),([r,o])=>a(me(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[my(t),n]),o0=e=>a(a(a(h("infer",e),([t,n])=>a(Ae(n),([r,o])=>a(h("extends",o),([s,i])=>a(Ka(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>a(a(h("infer",e),([t,n])=>a(Ae(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>[])),([t,n])=>[cy(t),n]),me=e=>a(a(o0(e),([t,n])=>[t,n],()=>a(n0(e),([t,n])=>[t,n],()=>a(t0(e),([t,n])=>[t,n],()=>a(Ka(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),s0=e=>a(Na(e),([t,n])=>[py(t),n]),i0=e=>a(Ae(e),([t,n])=>[t,n]),a0=e=>a(Ua(["'",'"'],e),([t,n])=>[t,n]),u0=e=>a(a(h("[",e),([t,n])=>a(Ae(n),([r,o])=>a(h(":",o),([s,i])=>a(a(Vb(i),([c,p])=>[c,p],()=>a(Hb(i),([c,p])=>[c,p],()=>a(zb(i),([c,p])=>[c,p],()=>a(Jb(i),([c,p])=>[c,p],()=>[])))),([c,p])=>a(h("]",p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[ly(t),n]),nw=e=>a(a(s0(e),([t,n])=>[t,n],()=>a(i0(e),([t,n])=>[t,n],()=>a(a0(e),([t,n])=>[t,n],()=>a(u0(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),rw=e=>a(a(a(h("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[dy(t),n]),ow=e=>a(a(a(h("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[fy(t),n]),sw=e=>a(a(rw(e),([t,n])=>a(nw(n),([r,o])=>a(ow(o),([s,i])=>a(h(":",i),([c,p])=>a(me(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[gy(t),n]),Ga=e=>a(a(a(h(",",e),([t,n])=>a(h(`
16
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h(";",e),([t,n])=>a(h(`
17
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a(a(h(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a(a(h(`
18
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),iw=(e,t=[])=>a(a(Ga(e),([n,r])=>a(sw(r),([o,s])=>[[n,o],s])),([n,r])=>iw(r,[...t,n]),()=>[t,e]),m0=e=>a(a(a(sw(e),([t,n])=>a(iw(n),([r,o])=>a(a(Ga(o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[hy(t),n]),op=e=>a(a(h("{",e),([t,n])=>a(m0(n),([r,o])=>a(h("}",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[yy(t),n]),c0=e=>a(op(e),([t,n])=>[by(t),n]),p0=e=>a(a(a(Ae(e),([t,n])=>a(h("?",n),([r,o])=>a(h(":",o),([s,i])=>a(h("readonly",i),([c,p])=>a(me(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[t,n],()=>a(a(Ae(e),([t,n])=>a(h(":",n),([r,o])=>a(h("readonly",o),([s,i])=>a(me(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>a(a(Ae(e),([t,n])=>a(h("?",n),([r,o])=>a(h(":",o),([s,i])=>a(me(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[t,n],()=>a(a(Ae(e),([t,n])=>a(h(":",n),([r,o])=>a(me(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[wy(t),n]),qb=e=>a(a(p0(e),([t,n])=>[t,n],()=>a(a(rw(e),([t,n])=>a(me(n),([r,o])=>a(ow(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>[])),([t,n])=>[Iy(t),n]),aw=e=>a(a(a(h("...",e),([t,n])=>a(qb(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(qb(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[$y(t),n]),uw=(e,t=[])=>a(a(h(",",e),([n,r])=>a(aw(r),([o,s])=>[[n,o],s])),([n,r])=>uw(r,[...t,n]),()=>[t,e]),l0=e=>a(a(a(aw(e),([t,n])=>a(uw(n),([r,o])=>a(a(h(",",o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ky(t),n]),d0=e=>a(a(h("[",e),([t,n])=>a(l0(n),([r,o])=>a(h("]",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Ty(t),n]),f0=e=>a(a(Ae(e),([t,n])=>a(h("?",n),([r,o])=>a(h(":",o),([s,i])=>a(h("readonly",i),([c,p])=>a(me(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[vy(t),n]),g0=e=>a(a(Ae(e),([t,n])=>a(h(":",n),([r,o])=>a(h("readonly",o),([s,i])=>a(me(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[Ey(t),n]),h0=e=>a(a(Ae(e),([t,n])=>a(h("?",n),([r,o])=>a(h(":",o),([s,i])=>a(me(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[Sy(t),n]),x0=e=>a(a(Ae(e),([t,n])=>a(h(":",n),([r,o])=>a(me(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Py(t),n]),Ub=e=>a(a(f0(e),([t,n])=>[t,n],()=>a(g0(e),([t,n])=>[t,n],()=>a(h0(e),([t,n])=>[t,n],()=>a(x0(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),mw=e=>a(a(a(h("...",e),([t,n])=>a(Ub(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(Ub(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[Ry(t),n]),cw=(e,t=[])=>a(a(h(",",e),([n,r])=>a(mw(r),([o,s])=>[[n,o],s])),([n,r])=>cw(r,[...t,n]),()=>[t,e]),pw=e=>a(a(a(mw(e),([t,n])=>a(cw(n),([r,o])=>a(a(h(",",o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ay(t),n]),y0=e=>a(a(h("(",e),([t,n])=>a(pw(n),([r,o])=>a(h(")",o),([s,i])=>a(h("=>",i),([c,p])=>a(me(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[My(t),n]),b0=e=>a(a(h("new",e),([t,n])=>a(h("(",n),([r,o])=>a(pw(o),([s,i])=>a(h(")",i),([c,p])=>a(h("=>",p),([d,b])=>a(me(b),([I,P])=>[[t,r,s,c,d,I],P])))))),([t,n])=>[Oy(t),n]),w0=e=>a(a(a(h("+",e),([t,n])=>a(h("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h("-",e),([t,n])=>a(h("readonly",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[Cy(t),n]),I0=e=>a(a(a(h("+",e),([t,n])=>a(h("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h("-",e),([t,n])=>a(h("?",n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[Ly(t),n]),$0=e=>a(a(a(h("as",e),([t,n])=>a(me(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Fy(t),n]),k0=e=>a(a(h("{",e),([t,n])=>a(w0(n),([r,o])=>a(h("[",o),([s,i])=>a(Ae(i),([c,p])=>a(h("in",p),([d,b])=>a(me(b),([I,P])=>a($0(P),([A,C])=>a(h("]",C),([U,z])=>a(I0(z),([G,ee])=>a(h(":",ee),([ye,De])=>a(me(De),([Qe,xe])=>a(Bb(xe),([ie,v])=>a(h("}",v),([Ve,Gt])=>[[t,r,s,c,d,I,A,U,G,ye,Qe,ie,Ve],Gt]))))))))))))),([t,n])=>[jy(t),n]),T0=e=>a(Ae(e),([t,n])=>[Dy(t),n]),v0=e=>a(Yc(e),([t,n])=>[_y(t),n]),E0=e=>a(Na(e),([t,n])=>[Ny(t),n]),S0=e=>a(a(h("true",e),([t,n])=>[t,n],()=>a(h("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[qy(t),n]),P0=e=>a(Ua(['"',"'"],e),([t,n])=>[t,n]),R0=e=>a(h("null",e),([t,n])=>[Uy(t),n]),A0=e=>a(h("undefined",e),([t,n])=>[void 0,n]),lw=e=>a(a(nw(e),([t,n])=>a(h(":",n),([r,o])=>a(sp(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Ky(t),n]),dw=(e,t=[])=>a(a(Ga(e),([n,r])=>a(lw(r),([o,s])=>[[n,o],s])),([n,r])=>dw(r,[...t,n]),()=>[t,e]),M0=e=>a(a(a(lw(e),([t,n])=>a(dw(n),([r,o])=>a(a(Ga(o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Gy(t),n]),fw=e=>a(a(h("{",e),([t,n])=>a(M0(n),([r,o])=>a(h("}",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Wy(t),n]),gw=(e,t=[])=>a(a(h(",",e),([n,r])=>a(sp(r),([o,s])=>[[n,o],s])),([n,r])=>gw(r,[...t,n]),()=>[t,e]),O0=e=>a(a(a(sp(e),([t,n])=>a(gw(n),([r,o])=>a(a(h(",",o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[By(t),n]),C0=e=>a(a(h("[",e),([t,n])=>a(O0(n),([r,o])=>a(h("]",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[zy(t),n]),sp=e=>a(a(v0(e),([t,n])=>[t,n],()=>a(E0(e),([t,n])=>[t,n],()=>a(S0(e),([t,n])=>[t,n],()=>a(P0(e),([t,n])=>[t,n],()=>a(R0(e),([t,n])=>[t,n],()=>a(A0(e),([t,n])=>[t,n],()=>a(fw(e),([t,n])=>[t,n],()=>a(C0(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),L0=e=>a(h("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Hy(t),n]),F0=e=>a(h(".*",e),([t,n])=>[Vy(t),n]),j0=e=>a(h("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Jy(t),n]),D0=e=>a(h("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[Yy(t),n]),_0=e=>a(h("(?!)",e),([t,n])=>[Xy(t),n]),N0=e=>a(Db(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[Zy(t),n]),q0=e=>a(a(L0(e),([t,n])=>[t,n],()=>a(F0(e),([t,n])=>[t,n],()=>a(j0(e),([t,n])=>[t,n],()=>a(D0(e),([t,n])=>[t,n],()=>a(_0(e),([t,n])=>[t,n],()=>a(U0(e),([t,n])=>[t,n],()=>a(N0(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),U0=e=>a(a(h("(",e),([t,n])=>a(ip(n),([r,o])=>a(h(")",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[Qy(t),n]),hw=e=>a(a(a(tp(e),([t,n])=>a(h("|",n),([r,o])=>a(hw(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a(a(tp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[eb(t),n]),tp=e=>a(a(q0(e),([t,n])=>a(ip(n),([r,o])=>[[t,r],o])),([t,n])=>[tb(t),n]),ip=e=>a(a(hw(e),([t,n])=>[t,n],()=>a(tp(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Th=e=>a(a(h("^",e),([t,n])=>a(ip(n),([r,o])=>a(h("$",o),([s,i])=>[[t,r,s],i]))),([t,n])=>[nb(t),n]),xw=(e,t=[])=>a(a(h(",",e),([n,r])=>a(me(r),([o,s])=>[[n,o],s])),([n,r])=>xw(r,[...t,n]),()=>[t,e]),K0=e=>a(a(a(me(e),([t,n])=>a(xw(n),([r,o])=>a(a(h(",",o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[rb(t),n]),yw=e=>a(a(a(h("extends",e),([t,n])=>a(K0(n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[ob(t),n]),G0=e=>a(a(h("interface",e),([t,n])=>a(Ae(n),([r,o])=>a(np(o),([s,i])=>a(yw(i),([c,p])=>a(op(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[sb(t),n]),W0=e=>a(a(h("interface",e),([t,n])=>a(Ae(n),([r,o])=>a(yw(o),([s,i])=>a(op(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[ib(t),n]),B0=e=>a(a(h("type",e),([t,n])=>a(Ae(n),([r,o])=>a(np(o),([s,i])=>a(h("=",i),([c,p])=>a(me(p),([d,b])=>[[t,r,s,c,d],b]))))),([t,n])=>[ab(t),n]),z0=e=>a(a(h("type",e),([t,n])=>a(Ae(n),([r,o])=>a(h("=",o),([s,i])=>a(me(i),([c,p])=>[[t,r,s,c],p])))),([t,n])=>[ub(t),n]),H0=e=>a(a(a(h("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[mb(t),n]),bw=e=>a(a(a(h(";",e),([t,n])=>a(h(`
19
- `,n),([r,o])=>[[t,r],o])),([t,n])=>[t,n],()=>a(a(h(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>a(a(h(`
20
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),ww=(e,t=[])=>a(a(bw(e),([n,r])=>a(ap(r),([o,s])=>[[n,o],s])),([n,r])=>ww(r,[...t,n]),()=>[t,e]),V0=e=>a(a(a(ap(e),([t,n])=>a(ww(n),([r,o])=>a(a(bw(o),([s,i])=>[[s],i],()=>[[],o]),([s,i])=>[[t,r,s],i]))),([t,n])=>[t,n],()=>a([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[cb(t),n]),ap=e=>a(a(H0(e),([t,n])=>a(a(G0(n),([r,o])=>[r,o],()=>a(W0(n),([r,o])=>[r,o],()=>a(B0(n),([r,o])=>[r,o],()=>a(z0(n),([r,o])=>[r,o],()=>[])))),([r,o])=>a(Bb(o),([s,i])=>[[t,r,s],i]))),([t,n])=>[pb(t),n]),J0=e=>a(a(ap(e),([t,n])=>a(V0(n),([r,o])=>[[t,r],o])),([t,n])=>[lb(t),n]),Iw=e=>a(a(J0(e),([t,n])=>[t,n],()=>a(r0(e),([t,n])=>[t,n],()=>a(me(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n])});function $w(e){let t=rp(`\`${e}\``);return m.IsEqual(t.length,2)?t[0]:Ue()}var up=u(()=>{Tn();O();Vi()});function X0(e){return e.join("|")}function Z0(e){return e.slice(1,e.length-1)}function Q0(e,t,n){return ur(t,`${n}${e}`)}function eC(e,t){return ur(e,`${t}${yh}`)}function tC(e,t){return ur(e,`${t}${Wi}`)}function nC(e,t){return ur(e,`${t}${zi}`)}function rC(e,t){return Rs(X([se("false"),se("true")]),e,t)}function oC(e,t){return ur(e,`${t}${Hi}`)}function sC(e,t,n){return ur(t,`${n}${Z0(e)}`)}function iC(e,t,n){let r=As(e,{});return Rs(r,t,n)}function aC(e,t,n){let r=bt(e);return Rs(r,t,n)}function kw(e,t,n,r=[]){return m.ShiftLeft(e,(o,s)=>kw(s,t,n,[...r,Rs(o,[],"")]),()=>ur(t,`${n}(${X0(r)})`))}function Rs(e,t,n){return ot(e)?aC(e.enum,t,n):ht(e)?tC(t,n):le(e)?Q0(e.const,t,n):En(e)?eC(t,n):Jt(e)?rC(t,n):Fe(e)?nC(t,n):yt(e)?oC(t,n):Re(e)?sC(e.pattern,t,n):vw(e)?iC(e.parameters[0],t,n):F(e)?kw(e.anyOf,t,n):ag}function ur(e,t){return m.ShiftLeft(e,(n,r)=>Rs(n,r,t),()=>t)}function uC(e){return`^${ur(e,"")}$`}function Tw(e){let t=uC(e);return Xi(t)}var mp=u(()=>{O();mn();Le();Q();vt();Pr();Xt();xt();Sn();Qn();Je();Zi();Y();Wa()});function As(e,t){return V(e)?f.Update(Tw(e),{},t):fa(e,t)}function Ew(e,t,n,r){let o=Ut(e,t,n);return As(o,r)}var Wa=u(()=>{S();vt();mp();q()});function fa(e,t={}){return j("TemplateLiteral",[e],t)}function vw(e){return Ne(e)&&m.HasPropertyKey(e,"action")&&m.IsEqual(e.action,"TemplateLiteral")}function Sw(e){return As(e,{})}function mC(e){let t=$w(e);return Sw(t)}function Pw(e,t={}){let n=m.IsString(e)?mC(e):Sw(e);return f.Update(n,{},t)}function Re(e){return L(e,"TemplateLiteral")}var vt=u(()=>{is();O();J();ce();up();Wa()});var B={};Mt(B,{ExtendsFalse:()=>H,ExtendsTrue:()=>M,ExtendsUnion:()=>cp,IsExtendsFalse:()=>cC,IsExtendsTrue:()=>Aw,IsExtendsTrueLike:()=>Io,IsExtendsUnion:()=>Rw,Match:()=>$e});function cp(e){return f.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Rw(e){return m.IsObject(e)&&m.HasPropertyKey(e,"~kind")&&m.HasPropertyKey(e,"inferred")&&m.IsEqual(e["~kind"],"ExtendsUnion")&&m.IsObject(e.inferred)}function M(e){return f.Create({"~kind":"ExtendsTrue"},{inferred:e})}function Aw(e){return m.IsObject(e)&&m.HasPropertyKey(e,"~kind")&&m.HasPropertyKey(e,"inferred")&&m.IsEqual(e["~kind"],"ExtendsTrue")&&m.IsObject(e.inferred)}function H(){return f.Create({"~kind":"ExtendsFalse"},{})}function cC(e){return m.IsObject(e)&&m.HasPropertyKey(e,"~kind")&&m.IsEqual(e["~kind"],"ExtendsFalse")}function Io(e){return Rw(e)||Aw(e)}function $e(e,t,n){return Io(e)?t(e.inferred):n()}var we=u(()=>{O();S()});function pC(e,t,n,r){return $e(ae(e,n,r),o=>M(f.Assign(f.Assign(e,o),{[t]:n})),()=>H())}function lC(e,t){return M(e)}function dC(e,t,n,r,o){return $e(ae(e,t,n),s=>$e(ae(s,t,r),i=>M(i),()=>H()),()=>$e(ae(e,t,o),s=>M(s),()=>H()))}function fC(e,t,n){let r=bt(n);return ae(e,t,r)}function Mw(e,t,n){return m.ShiftLeft(n,(r,o)=>$e(ae(e,t,r),s=>Mw(s,t,o),()=>H()),()=>M(e))}function gC(e,t,n){let r=mt(n);return ae(e,t,r)}function Ow(e,t,n){return m.ShiftLeft(n,(r,o)=>$e(ae(e,t,r),s=>M(s),()=>Ow(e,t,o)),()=>H())}function de(e,t,n){return Ee(n)?lC(e,t):Pe(n)?dC(e,t,n.if,n.then,n.else):ot(n)?fC(e,t,n.enum):Ce(n)?pC(e,n.name,t,n.extends):oe(n)?Mw(e,t,n.allOf):Re(n)?gC(e,t,n.pattern):F(n)?Ow(e,t,n.anyOf):Oe(n)?M(e):H()}var pt=u(()=>{O();S();$t();Ot();mn();Vt();qe();vt();Q();nt();Pt();we();Y();Y()});function Cw(e,t,n){return Ce(n)?de(e,t,n):Ee(n)?M(e):Oe(n)?M(e):cp(e)}var Lw=u(()=>{Vt();$t();nt();pt();we()});function hC(e,t){let n=vr(e),r=vr(t);return n&&r||!n&&r?!0:!(n&&!r)}function Fw(e,t,n,r){return ke(r)?hC(t,r)?ae(e,n,r.items):H():de(e,t,r)}var jw=u(()=>{gt();ms();pt();Pt();we()});function Dw(e,t,n){return En(n)?M(e):de(e,t,n)}var _w=u(()=>{Pr();pt();we()});function Nw(e,t,n){return Jt(n)?M(e):de(e,t,n)}var qw=u(()=>{Qn();pt();we()});function xC(e,t,n,r,o){let s=Ce(r)?t:r,i=Ce(r)?r:t,c=ut(t),p=ut(r);return!c&&p?H():$e(ae(e,s,i),d=>Ms(d,n,o),()=>H())}function yC(e,t,n,r){return m.ShiftLeft(r,(o,s)=>xC(e,t,n,o,s),()=>ut(t)?M(e):H())}function bC(e,t,n){return m.ShiftLeft(t,(r,o)=>yC(e,r,o,n),()=>M(e))}function Ms(e,t,n){return bC(e,t,n)}var pp=u(()=>{O();Vt();Zn();Pt();we()});function Ba(e,t,n){return Rn(n)?M(e):ae(e,t,n)}var lp=u(()=>{Cr();Pt();we()});function Uw(e,t,n,r){return Ee(r)?M(e):Oe(r)?M(e):We(r)?$e(Ms(e,t,r.parameters),o=>Ba(o,n,r.instanceType),()=>H()):H()}var Kw=u(()=>{$t();Bt();nt();we();pp();lp()});function Gw(e,t,n,r,o){return $e(ae(e,t,o),()=>ae(e,n,o),()=>ae(e,r,o))}var Ww=u(()=>{Pt();we()});function Bw(e,t,n){let r=bt(t);return ae(e,r,n)}var zw=u(()=>{Pt();Y()});function Hw(e,t,n,r){return Ee(r)?M(e):Oe(r)?M(e):Be(r)?$e(Ms(e,t,r.parameters),o=>Ba(o,n,r.returnType),()=>H()):H()}var Vw=u(()=>{$t();zt();nt();we();pp();lp()});function Jw(e,t,n){return ht(n)?M(e):Fe(n)?M(e):de(e,t,n)}var Yw=u(()=>{Sn();xt();pt();we()});function Xw(e,t,n){let r=Te(t);return ae(e,r,n)}var Zw=u(()=>{Pt();Os()});function za(e,t,n){return t===n?M(e):H()}function wC(e,t,n){return le(n)?za(e,t,n.const):En(n)?M(e):de(e,se(t),n)}function IC(e,t,n){return le(n)?za(e,t,n.const):Jt(n)?M(e):de(e,se(t),n)}function $C(e,t,n){return le(n)?za(e,t,n.const):Fe(n)?M(e):de(e,se(t),n)}function kC(e,t,n){return le(n)?za(e,t,n.const):yt(n)?M(e):de(e,se(t),n)}function Qw(e,t,n){return m.IsBigInt(t.const)?wC(e,t.const,n):m.IsBoolean(t.const)?IC(e,t.const,n):m.IsNumber(t.const)?$C(e,t.const,n):m.IsString(t.const)?kC(e,t.const,n):Ue()}var eI=u(()=>{O();yc();Le();Pr();Qn();xt();Xt();pt();we()});function tI(e,t,n){return Ce(n)?de(e,t,n):M(e)}var nI=u(()=>{Vt();pt();we()});function rI(e,t,n){return so(n)?M(e):de(e,t,n)}var oI=u(()=>{io();pt();we()});function sI(e,t,n){return Fe(n)?M(e):de(e,t,n)}var iI=u(()=>{xt();pt();we()});function TC(e,t,n){return ut(t)?ut(n)?M(e):H():M(e)}function vC(e,t,n){return Ce(n)&&un(n.extends)?H():$e(ae(e,t,n),r=>TC(r,t,n),()=>H())}function EC(e,t){return e.reduce((n,r)=>r in t?Io(t[r])?{...n,...t[r].inferred}:Ue():Ue(),{})}function SC(e,t,n){let r={};for(let i of m.Keys(n))r[i]=i in t?vC({},t[i],n[i]):ut(n[i])?Ce(n[i])?M(f.Assign(e,{[n[i].name]:n[i].extends})):M(e):H();let o=m.Values(r).every(i=>Io(i)),s=o?EC(m.Keys(r),r):{};return o?M(s):H()}function PC(e,t,n){let r=SC(e,t,n);return Io(r)?M(f.Assign(e,r.inferred)):H()}function RC(e,t,n){return PC(e,t,n)}function AC(e,t){return m.Keys(t).reduce((n,r)=>({...n,[r]:m.HasPropertyKey(e,r)?F(n[r])?X([...n[r].anyOf,t[r]]):X([e[r],t[r]]):t[r]}),e)}function aI(e,t,n,r){return m.ShiftLeft(t,(o,s)=>$e(ae({},e[o],n),i=>aI(e,s,n,AC(r,i)),()=>H()),()=>M(r))}function MC(e,t,n,r){let o=m.Keys(t);return aI(t,o,r,e)}function uI(e,t,n){return it(n)?MC(e,t,Qt(n),wt(n)):pe(n)?RC(e,t,n.properties):de(e,W(t),n)}var mI=u(()=>{Tn();S();O();Zn();Vt();Je();fe();Xe();Q();Pt();pt();we()});function OC(e,t){return m.IsEqual(m.Keys(t).length,0)?M(e):H()}function CC(e,t,n,r,o){return ae(e,n,o)}function cI(e,t,n,r){return it(r)?CC(e,ua(t),n,ua(Qt(r)),wt(r)):pe(r)?OC(e,r.properties):Ee(r)?M(e):Oe(r)?M(e):H()}var pI=u(()=>{O();$t();nt();fe();Xe();Pt();we()});function lI(e,t,n){return yt(n)?M(e):de(e,t,n)}var dI=u(()=>{Xt();pt();we()});function fI(e,t,n){return er(n)?M(e):de(e,t,n)}var gI=u(()=>{Ar();pt();we()});function hI(e,t,n){let r=mt(t);return ae(e,r,n)}var xI=u(()=>{Pt();Y()});function dp(e,t){return f.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function Cs(e){return m.IsObject(e)&&m.HasPropertyKey(e,"~kind")&&m.HasPropertyKey(e,"name")&&m.HasPropertyKey(e,"type")&&m.IsEqual(e["~kind"],"Inferrable")&&m.IsString(e.name)&&m.IsObject(e.type)}function fp(e){return sr(e)?Ce(e.items)?ke(e.items.extends)?dp(e.items.name,e.items.extends.items):Oe(e.items.extends)?dp(e.items.name,e.items.extends):void 0:Ue():void 0}function Ha(e){return Ce(e)?dp(e.name,e.extends):void 0}function gp(e,t,n=[]){return m.ShiftLeft(e,(r,o)=>$e(ae({},r,t),()=>gp(o,t,[...n,r]),()=>{}),()=>n)}function yI(e,t,n,r){let o=gp(n,r);return m.IsArray(o)?M(f.Assign(e,{[t]:je(o)})):H()}function Va(e,t,n,r){let o=gp(n,r);return m.IsArray(o)?M(f.Assign(e,{[t]:X(o)})):H()}var hp=u(()=>{Tn();S();O();gt();nt();Ke();Pt();Q();Vt();po();we()});function LC(e){return[...e].reverse()}function xp(e,t){return t?LC(e):e}function FC(e){let t=e.length>0?e[0]:void 0,n=Ne(t)?fp(t):void 0;return Ne(n)}function jC(e,t,n,r,o,s){return $e(ae(e,n,o),i=>bI(i,t,r,s),()=>H())}function DC(e,t,n,r,o){let s=fp(r);return Cs(s)?yI(e,s.name,xp(n,t),s.type):m.ShiftLeft(n,(i,c)=>jC(e,t,i,c,r,o),()=>H())}function _C(e,t,n,r){return m.ShiftLeft(r,(o,s)=>DC(e,t,n,o,s),()=>m.IsEqual(n.length,0)?M(e):H())}function bI(e,t,n,r){return _C(e,t,n,r)}function NC(e,t,n){let r=mr(e,Ie([],[]),n),o=FC(r);return bI(e,o,xp(t,o),xp(r,o))}function wI(e,t,n){let r=Ha(n);return Cs(r)?Va(e,r.name,t,r.type):m.ShiftLeft(t,(o,s)=>$e(ae(e,o,n),i=>wI(i,s,n),()=>H()),()=>M(e))}function II(e,t,n){let r=mr(e,Ie([],[]),t);return be(n)?NC(e,r,n.items):ke(n)?wI(e,r,n.items):de(e,je(r),n)}var $I=u(()=>{O();J();gt();Ke();Pt();pt();we();q();q();hp()});function kI(e,t,n){return Rn(n)?M(e):fo(n)?M(e):de(e,t,n)}var TI=u(()=>{go();Cr();pt();we()});function vI(e,t,n){return m.ShiftLeft(n,(r,o)=>$e(ae(e,t,r),s=>M(s),()=>vI(e,t,o)),()=>H())}function yp(e,t,n){return m.ShiftLeft(t,(r,o)=>$e(vI(e,r,n),s=>yp(s,o,n),()=>H()),()=>M(e))}function EI(e,t,n){let r=Ha(n);return Cs(r)?Va(e,r.name,t,r.type):F(n)?yp(e,t,n.anyOf):yp(e,t,[n])}var SI=u(()=>{O();Q();Pt();we();hp()});function PI(e,t,n){return Ce(n)?de(e,t,n):Ee(n)?M(e):Oe(n)?M(e):H()}var RI=u(()=>{$t();nt();Vt();pt();we()});function AI(e,t,n){return Rn(n)?M(e):de(e,t,n)}var MI=u(()=>{Cr();pt();we()});function ae(e,t,n){return Ee(t)?Cw(e,t,n):ke(t)?Fw(e,t,t.items,n):En(t)?Dw(e,t,n):Jt(t)?Nw(e,t,n):We(t)?Uw(e,t.parameters,t.instanceType,n):Pe(t)?Gw(e,t.if,t.then,t.else,n):ot(t)?Bw(e,t.enum,n):Be(t)?Hw(e,t.parameters,t.returnType,n):ht(t)?Jw(e,t,n):oe(t)?Xw(e,t.allOf,n):le(t)?Qw(e,t,n):un(t)?tI(e,t,n):so(t)?rI(e,t,n):Fe(t)?sI(e,t,n):pe(t)?uI(e,t.properties,n):it(t)?cI(e,Qt(t),wt(t),n):yt(t)?lI(e,t,n):er(t)?fI(e,t,n):Re(t)?hI(e,t.pattern,n):be(t)?II(e,t.items,n):fo(t)?kI(e,t,n):F(t)?EI(e,t.anyOf,n):Oe(t)?PI(e,t,n):Rn(t)?AI(e,t,n):H()}var Pt=u(()=>{Lw();jw();_w();qw();Kw();Ww();zw();Vw();Yw();Zw();eI();nI();oI();iI();mI();pI();dI();gI();xI();$I();TI();SI();RI();MI();$t();gt();Pr();Qn();Bt();Ot();mn();zt();Sn();qe();Le();Je();io();xt();fe();Xe();Xt();Ar();vt();Ke();go();nt();Q();Cr();we()});function qC(e,t){return Te([...e,W(t)])}function bp(e,t,n){return V(e)?f.Update(qC(e,t),{},n):Ts(e,t,n)}function OI(e,t,n,r,o){let s=Ut(e,t,n),i=Ls(e,t,r);return bp(s,i,o)}var Ja=u(()=>{S();fe();Y();xo();q();q();q()});function Ts(e,t,n={}){return j("Interface",[e,t],n)}function $o(e){return Ne(e)&&m.HasPropertyKey(e,"action")&&m.IsEqual(e.action,"Interface")}function CI(e,t,n={}){return bp(e,t,n)}var Fs=u(()=>{O();J();ce();Ja()});function UC(e,t,n){return e.includes(n)?!0:js([...e,n],t,t[n])}function LI(e,t,n){let r=Di(n);return Fr(e,t,r)}function Fr(e,t,n){return m.ShiftLeft(n,(r,o)=>js(e,t,r)?!0:Fr(e,t,o),()=>!1)}function js(e,t,n){return ze(n)?UC(e,t,n.$ref):ke(n)?js(e,t,n.items):We(n)?Fr(e,t,[...n.parameters,n.instanceType]):Be(n)?Fr(e,t,[...n.parameters,n.returnType]):$o(n)?LI(e,t,n.parameters[1]):oe(n)?Fr(e,t,n.allOf):pe(n)?LI(e,t,n.properties):F(n)?Fr(e,t,n.anyOf):be(n)?Fr(e,t,n.items):it(n)?js(e,t,wt(n)):!1}function FI(e,t,n){return js(e,t,n)}var wp=u(()=>{O();gt();Bt();zt();qe();fe();kr();Xe();Ke();Q();Ht();Fs()});function KC(e,t){return t.reduce((n,r)=>FI([r],e,e[r])?[...n,r]:n,[])}function jI(e){let t=ji(e);return KC(e,t)}var Ip=u(()=>{kr();wp()});function GC(e,t,n){return n.includes(t)?n:t in e?Ds(e,e[t],[...n,t]):Ue()}function DI(e,t,n){let r=Di(t);return ko(e,r,n)}function ko(e,t,n){return t.reduce((r,o)=>Ds(e,o,r),n)}function Ds(e,t,n){return ze(t)?GC(e,t.$ref,n):ke(t)?Ds(e,t.items,n):We(t)?ko(e,[...t.parameters,t.instanceType],n):Be(t)?ko(e,[...t.parameters,t.returnType],n):$o(t)?DI(e,t.parameters[1],n):oe(t)?ko(e,t.allOf,n):pe(t)?DI(e,t.properties,n):F(t)?ko(e,t.anyOf,n):be(t)?ko(e,t.items,n):it(t)?Ds(e,wt(t),n):n}function _I(e,t,n){return Ds(e,n,[t])}var $p=u(()=>{Tn();gt();Bt();zt();qe();fe();kr();Xe();Ke();Q();Ht();Fs()});function WC(e){return to()}function BC(e){return m.Keys(e).reduce((t,n)=>({...t,[n]:jr(e[n])}),{})}function _s(e){return e.reduce((t,n)=>[...t,jr(n)],[])}function jr(e){return ze(e)?WC(e.$ref):ke(e)?qt(jr(e.items),Fi(e)):We(e)?bn(_s(e.parameters),jr(e.instanceType)):Be(e)?wn(_s(e.parameters),jr(e.returnType)):oe(e)?Tt(_s(e.allOf)):pe(e)?W(BC(e.properties)):it(e)?aa(co(e),jr(wt(e))):F(e)?X(_s(e.anyOf)):be(e)?je(_s(e.items)):e}function zC(e,t){return t in e?jr(e[t]):Ye()}function NI(e){return zC(e.$defs,e.$ref)}var qI=u(()=>{O();$t();gt();Bt();zt();qe();fe();Xe();Ht();Ke();Q();nt()});function HC(e,t,n){let r=Ut(e,Ie([],[]),t),o=Ls({},Ie([],[]),n);return Te([...r,W(o)])}function VC(e,t){return m.Keys(e).filter(r=>t.includes(r)).reduce((r,o)=>{let s=e[o],i=$o(s)?HC(e,s.parameters[0],s.parameters[1]):s;return{...r,[o]:i}},{})}function UI(e,t,n){let r=_I(e,t,n),o=VC(e,r);return $n(o,t)}var kp=u(()=>{O();kt();fe();$p();xo();q();q();q();Y()});function KI(e,t){return t in e?ze(e[t])?KI(e,e[t].$ref):e[t]:ge()}function On(e,t){return KI(e,t)}var Dr=u(()=>{Je();Ht()});var Tp=u(()=>{Ip();wp();$p();qI();kp();Dr()});function GI(e){return rt(e)?NI(e):_i(e)?Ye():e}function st(e,t,n){let r=GI(t),o=GI(n);return ae(e,r,o)}var WI=u(()=>{kt();nt();Ni();Pt();Tp()});var Pn=u(()=>{WI();we()});function bs(e,t){let n=[st({},e,t),st({},t,e)];return B.IsExtendsTrueLike(n[0])&&B.IsExtendsTrueLike(n[1])?xs:B.IsExtendsTrueLike(n[0])&&B.IsExtendsFalse(n[1])?ys:B.IsExtendsFalse(n[0])&&B.IsExtendsTrueLike(n[1])?na:Ya}var xs,Ya,ys,na,ws=u(()=>{Pn();xs=0,Ya=1,ys=2,na=3});function vp(e,t,n=[],r=t){return m.ShiftLeft(t,(o,s)=>{let i=bs(e,o);return m.IsEqual(i,ys)||m.IsEqual(i,xs)?r:m.IsEqual(i,Ya)?vp(e,s,[...n,o],r):vp(e,s,n,r)},()=>[...n,e])}function JC(e,t,n){let r=Zt(e);return Ee(r)?[r]:Oe(r)?[r]:un(r)?Xa(t,n):pe(r)?Xa(t,[...n,r]):Xa(t,vp(r,n))}function Xa(e,t=[]){return m.ShiftLeft(e,(n,r)=>JC(n,r,t),()=>t)}function qc(e){let t=Xa(e);return mo(t)}var Uc=u(()=>{O();$t();Je();fe();nt();ws();oa();Y()});function Ep(e,t){return f.Update(Zt(e),{},t)}function BI(e,t,n,r){let o=T(e,t,n);return Ep(o,r)}var Za=u(()=>{S();q();Y()});var Os=u(()=>{Uc();ws();jc();_c();Y();oa();Za();Dc()});function Ns(e,t=[]){return Yn(e)&&m.IsEqual(e.action,"Conditional")?ze(e.parameters[0])?Ns(e.parameters[2],Ns(e.parameters[3],[...t,e.parameters[0].$ref])):Ns(e.parameters[2],Ns(e.parameters[3],t)):Yn(e)&&m.IsEqual(e.action,"Mapped")&&Yn(e.parameters[1])&&m.IsEqual(e.parameters[1].action,"KeyOf")&&ze(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function YC(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function VI(e,t,n=[]){return m.ShiftLeft(e,(r,o)=>m.ShiftLeft(t,(s,i)=>VI(o,i,[...n,[s,r]]),()=>n),()=>n)}function XC(e){return Re(e)?mt(e.pattern):ot(e)?bt(e.enum):e}function ZC(e){let t=XC(e);return F(t)?[...t.anyOf]:[t]}function QC(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function zI(e,t){return t.reduce((n,r)=>[...n,...QC(e,r)],[])}function HI(e){return e.reduce((t,n)=>m.IsEqual(n[0],!0)?zI(t,ZC(n[1])):zI(t,[n[1]]),[[]])}function JI(e,t,n){let r=Ns(n),o=YC(e,r),s=VI(t,o);return Yn(n)&&m.IsEqual(n.action,"Conditional")||Yn(n)&&m.IsEqual(n.action,"Mapped")?HI(s):[t]}var YI=u(()=>{O();Q();ce();mn();vt();Ht();Y();Y()});function eL(){return["(not-resolvable)",ge()]}function tL(){return["(not-generic)",ge()]}function nL(e,t,n){return[e,Xn(t,n)]}function rL(e,t,n){return t in e?XI(e,t,e[t],n):eL()}function XI(e,t,n,r){return eo(n)?nL(t,n.parameters,n.expression):ze(n)?rL(e,n.$ref,r):tL()}function ZI(e,t,n){return XI(e,"(anonymous)",t,n)}var QI=u(()=>{rs();Ht();Je()});function oL(e,t,n){if(Ce(t)||To(t)||B.IsExtendsTrueLike(st({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function e$(e,t,n,r,o){let s=T(e,t,o);return oL(n,s,r),f.Assign(e,{[n]:s})}function sL(e,t,n,r,o){let s=T(e,t,n.extends),i=T(e,t,n.equals);return m.ShiftLeft(o,(c,p)=>Sp(e$(e,t,n.name,s,c),t,r,p),()=>Sp(e$(e,t,n.name,s,i),t,r,[]))}function Sp(e,t,n,r){return m.ShiftLeft(n,(o,s)=>sL(e,t,o,s,r),()=>e)}function t$(e,t,n,r){return Sp(e,t,n,r)}var n$=u(()=>{O();S();q();Pn();Vt();ho()});function iL(){if(!m.IsLessThan(Rp,an.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function aL(){iL(),Rp++,Pp++}function uL(){Pp--,m.IsEqual(Pp,0)&&(Rp=0)}function mL(e){return m.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function cL(e,t){return m.IsEqual(mL(e),t)}function pL(e,t,n,r,o,s){aL();try{let i=t$(e,t,r,s),c=T(i,Ie([...t.callstack,n.$ref],t.visited),o);return T(i,Ie([],[]),c)}finally{uL()}}function lL(e,t,n,r,o,s){return s.reduce((i,c)=>{let p=pL(e,t,n,r,o,c);return[...i,p]},[])}function dL(e,t,n,r,o,s){let i=JI(r,s,o),c=lL(e,t,n,r,o,i);return m.IsEqual(c.length,1)?c[0]:St(c)}function Qa(e,t,n,r){let o=Ut(e,t,r),s=ZI(e,n,r),i=s[0],c=s[1];return eo(c)?cL(t,i)?vs(qn(i),o):dL(e,t,qn(i),c.parameters,c.expression,o):vs(n,o)}var Pp,Rp,Ap=u(()=>{wr();O();ho();Ht();rs();Os();q();q();q();YI();QI();n$();Pp=0,Rp=0});function vs(e,t){return f.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function r$(e,t){return Qa({},Ie([],[]),e,t)}function To(e){return L(e,"Call")}var ho=u(()=>{S();J();Ap();q()});function fL(e){return f.Discard(e,["~immutable"])}function o$(e,t){return f.Update(fL(e),{},t)}function s$(e,t,n,r){let o=T(e,t,n);return o$(o,r)}var Mp=u(()=>{S();q()});function i$(e,t){return e(t)}var a$=u(()=>{});function u$(e,t){return m.IsString(t)?se(i$(e,t)):se(t)}var m$=u(()=>{O();Le();a$()});function c$(e,t){let n=mt(t);return Gn(e,n)}var p$=u(()=>{eu();Os()});function l$(e,t){let n=t.map(r=>Gn(e,r));return X(n)}var d$=u(()=>{Q();eu()});function Gn(e,t){return le(t)?u$(e,t.const):Re(t)?c$(e,t.pattern):F(t)?l$(e,t.anyOf):t}var eu=u(()=>{Le();vt();Q();m$();p$();d$()});function ga(e,t={}){return j("Capitalize",[e],t)}function f$(e,t={}){return Op(e,t)}var tu=u(()=>{ce();Cn()});function ha(e,t={}){return j("Lowercase",[e],t)}function g$(e,t={}){return Cp(e,t)}var nu=u(()=>{ce();Cn()});function xa(e,t={}){return j("Uncapitalize",[e],t)}function h$(e,t={}){return Lp(e,t)}var ru=u(()=>{ce();Cn()});function ya(e,t={}){return j("Uppercase",[e],t)}function x$(e,t={}){return Fp(e,t)}var ou=u(()=>{ce();Cn()});function Op(e,t){return V([e])?f.Update(Gn(gL,e),{},t):ga(e,t)}function Cp(e,t){return V([e])?f.Update(Gn(hL,e),{},t):ha(e,t)}function Lp(e,t){return V([e])?f.Update(Gn(xL,e),{},t):xa(e,t)}function Fp(e,t){return V([e])?f.Update(Gn(yL,e),{},t):ya(e,t)}function y$(e,t,n,r){let o=T(e,t,n);return Op(o,r)}function b$(e,t,n,r){let o=T(e,t,n);return Cp(o,r)}function w$(e,t,n,r){let o=T(e,t,n);return Lp(o,r)}function I$(e,t,n,r){let o=T(e,t,n);return Fp(o,r)}var gL,hL,xL,yL,Cn=u(()=>{S();eu();q();tu();nu();ru();ou();gL=e=>e[0].toUpperCase()+e.slice(1),hL=e=>e.toLowerCase(),xL=e=>e[0].toLowerCase()+e.slice(1),yL=e=>e.toUpperCase()});function ba(e,t,n,r,o={}){return j("Conditional",[e,t,n,r],o)}function $$(e,t,n,r,o={}){return jp({},Ie([],[]),e,t,n,r,o)}var su=u(()=>{ce();Dp();q()});function bL(e,t,n,r,o,s){let i=st(e,n,r);return B.IsExtendsUnion(i)?X([T(i.inferred,t,o),T(e,t,s)]):B.IsExtendsTrue(i)?T(i.inferred,t,o):T(e,t,s)}function jp(e,t,n,r,o,s,i){return V([n,r])?f.Update(bL(e,t,n,r,o,s),{},i):ba(n,r,o,s,i)}function k$(e,t,n,r,o,s,i){let c=T(e,t,n),p=T(e,t,r);return jp(e,t,c,p,o,s,i)}var Dp=u(()=>{S();Q();Pn();q();su()});var _p=u(()=>{Dp()});function wa(e,t={}){return j("ConstructorParameters",[e],t)}function T$(e,t={}){return Np(e,t)}var iu=u(()=>{ce();au()});function wL(e){let t=We(e)?e.parameters:[],n=mr({},Ie([],[]),t);return je(n)}function Np(e,t){return V([e])?f.Update(wL(e),{},t):wa(e,t)}function v$(e,t,n,r){let o=T(e,t,n);return Np(o,r)}var au=u(()=>{S();Bt();Ke();iu();q();q();q()});function Ia(e,t,n={}){return j("Exclude",[e,t],n)}function E$(e,t,n={}){return qs(e,t,n)}var uu=u(()=>{ce();Us()});function qs(e,t,n){return V([e,t])?f.Update(ra(e,t),{},n):Ia(e,t,n)}function S$(e,t,n,r,o){let s=T(e,t,n),i=T(e,t,r);return qs(s,i,o)}var Us=u(()=>{S();q();uu();Nc()});function $a(e,t,n={}){return j("Extract",[e,t],n)}function P$(e,t,n={}){return qp(e,t,n)}var mu=u(()=>{ce();cu()});function IL(e,t){let n=st({},e,t);return B.IsExtendsTrueLike(n)?[e]:[]}function R$(e,t,n=[]){return m.ShiftLeft(e,(r,o)=>R$(o,t,[...n,...IL(r,t)]),()=>n)}function A$(e,t){let n=Zt(e),r=F(n)?n.anyOf:[n],o=R$(r,t);return St(o)}var M$=u(()=>{O();Q();Pn();Y();Y()});function qp(e,t,n){return V([e,t])?f.Update(A$(e,t),{},n):$a(e,t,n)}function O$(e,t,n,r,o){let s=T(e,t,n),i=T(e,t,r);return qp(s,i,o)}var cu=u(()=>{S();q();mu();M$()});function $L(e){return e.reduce((t,n)=>Bi(n)?[...t,se(n)]:t,[])}function vo(e){let t=$L(e);return X(t)}var Ks=u(()=>{Le();Q()});function Es(e,t,n={}){return j("Index",[e,t],n)}function C$(e,t,n={}){let r=m.IsArray(t)?vo(t):t;return Kp(e,r,n)}var Up=u(()=>{O();ce();Ks();pu()});function L$(e,t){let n=On(e,t);return Kt(n)}var F$=u(()=>{_r();Dr()});function j$(e,t,n){let r=pn(e,t,n);return Kt(r)}var D$=u(()=>{_r();Y()});function kL(e,t){let n=m.Keys(e).filter(b=>!m.HasPropertyKey(t,b)),r=m.Keys(t).filter(b=>!m.HasPropertyKey(e,b)),o=m.Keys(e).filter(b=>m.HasPropertyKey(t,b)),s=n.reduce((b,I)=>({...b,[I]:e[I]}),{}),i=r.reduce((b,I)=>({...b,[I]:t[I]}),{}),c=o.reduce((b,I)=>({...b,[I]:Te([e[I],t[I]])}),{}),p=f.Assign(s,i);return f.Assign(p,c)}function _$(e){return e.reduce((t,n)=>kL(t,Kt(n)),{})}var N$=u(()=>{S();O();_r();Y()});var q$=u(()=>{});function U$(e){let t=Kh(je(e));return Kt(t)}var K$=u(()=>{Ke();Lc();_r()});function TL(e,t){return m.Keys(e).filter(o=>o in t).reduce((o,s)=>({...o,[s]:St([e[s],t[s]])}),{})}function G$(e,t){return m.ShiftLeft(e,(n,r)=>G$(r,TL(t,Kt(n))),()=>t)}function W$(e){return m.ShiftLeft(e,(t,n)=>G$(n,Kt(t)),()=>Ue())}var B$=u(()=>{O();Tn();Y();_r()});function Kt(e){return rt(e)?L$(e.$defs,e.$ref):Pe(e)?j$(e.if,e.then,e.else):oe(e)?_$(e.allOf):F(e)?W$(e.anyOf):be(e)?U$(e.items):pe(e)?e.properties:{}}var _r=u(()=>{kt();Ot();qe();fe();Ke();Q();F$();D$();N$();q$();K$();B$()});function Eo(e){let t=Kt(e);return W(t)}var z$=u(()=>{fe();_r()});var Gs=u(()=>{z$()});function So(e){let t=`${e}`;return vL.test(t)?parseInt(t):e}var vL,Ws=u(()=>{vL=new RegExp("^(?:0|[1-9][0-9]*)$")});function EL(e){return se(So(e))}function H$(e){return e.map(t=>V$(t))}function V$(e){return oe(e)?Tt(H$(e.allOf)):F(e)?X(H$(e.anyOf)):le(e)?EL(e.const):e}function J$(e,t){let n=V$(t),r=st({},n,Ct());return B.IsExtendsTrueLike(r)?e:le(t)&&m.IsEqual(t.const,"length")?Ct():ge()}var Y$=u(()=>{O();qe();Q();Le();xt();Je();Pn();Ws()});function X$(e,t){let n=On(e,t);return Ft(n)}var Z$=u(()=>{cr();Dr()});function Q$(e,t,n){let r=pn(e,t,n);return Ft(r)}var ek=u(()=>{cr();Y()});function tk(e){let t=bt(e);return Ft(t)}var nk=u(()=>{cr();Y()});function rk(e){let t=Te(e);return Ft(t)}var ok=u(()=>{Y();cr()});function sk(e){return[`${e}`]}var ik=u(()=>{});function ak(e){let t=mt(e);return Ft(t)}var uk=u(()=>{cr();Y()});function mk(e){return e.reduce((t,n)=>[...t,...Ft(n)],[])}var ck=u(()=>{cr()});function Ft(e){return rt(e)?X$(e.$defs,e.$ref):Pe(e)?Q$(e.if,e.then,e.else):ot(e)?tk(e.enum):oe(e)?rk(e.allOf):le(e)?sk(e.const):Re(e)?ak(e.pattern):F(e)?mk(e.anyOf):[]}var cr=u(()=>{kt();Ot();mn();qe();Le();vt();Q();Z$();ek();nk();ok();ik();uk();ck()});function Po(e){return Ft(e)}var lu=u(()=>{cr()});function Bs(e,t){return t.map(n=>zs(e,n))}function zs(e,t){return ke(t)?qt(zs(e,t.items)):We(t)?bn(Bs(e,t.parameters),zs(e,t.instanceType)):Be(t)?wn(Bs(e,t.parameters),zs(e,t.returnType)):be(t)?je(Bs(e,t.items)):F(t)?X(Bs(e,t.anyOf)):oe(t)?Tt(Bs(e,t.allOf)):ca(t)?W(e):t}function pk(e,t){return zs(e,t)}var lk=u(()=>{gt();Bt();zt();qe();fe();Ke();pa();Q()});function SL(e,t){let n=t in e?e[t]:ge();return pk(e,n)}function dk(e,t){return t.reduce((n,r)=>[...n,SL(e,r)],[])}function PL(e,t){let n=Po(t),r=dk(e,n);return St(r)}function AL(e){return e.filter(n=>RL.test(n))}function ML(e){let t=ji(e),n=AL(t),r=dk(e,n);return St(r)}function fk(e,t){return Fe(t)?ML(e):PL(e,t)}var RL,gk=u(()=>{xt();Je();kr();Y();lu();Xe();lk();RL=new RegExp(or)});function OL(e){return se(So(e))}function hk(e){return e.map(t=>Gp(t))}function Gp(e){return oe(e)?Tt(hk(e.allOf)):F(e)?X(hk(e.anyOf)):le(e)?OL(e.const):e}var xk=u(()=>{Q();qe();Le();Ws()});function CL(e,t){return e.reduceRight((n,r,o)=>{let s=st({},se(o),t);return B.IsExtendsTrueLike(s)?[r,...n]:n},[])}function LL(e,t){let n=Gp(t),r=CL(e,n);return nr(r)}function FL(e){return nr(e)}function yk(e,t){return le(t)&&m.IsEqual(t.const,"length")?se(e.length):Fe(t)||ht(t)?FL(e):LL(e,t)}var bk=u(()=>{O();Le();xt();Sn();Y();Pn();xk()});function wk(e,t){return ke(e)?J$(e.items,t):pe(e)?fk(e.properties,t):be(e)?yk(e.items,t):ge()}var Ik=u(()=>{gt();Je();fe();Ke();Y$();gk();bk()});function jL(e){return rt(e)||Pe(e)||oe(e)||F(e)?Eo(e):e}function Kp(e,t,n){return V([e,t])?f.Update(wk(jL(e),t),{},n):Es(e,t,n)}function $k(e,t,n,r,o){let s=T(e,t,n),i=T(e,t,r);return Kp(s,i,o)}var pu=u(()=>{S();kt();Ot();qe();Q();q();Up();Gs();Ik()});function ka(e,t={}){return j("InstanceType",[e],t)}function kk(e,t={}){return Wp(e,t)}var du=u(()=>{ce();fu()});function DL(e){return We(e)?e.instanceType:ge()}function Wp(e,t){return V([e])?f.Update(DL(e),{},t):ka(e,t)}function Tk(e,t,n,r={}){let o=T(e,t,n);return Wp(o,r)}var fu=u(()=>{S();Bt();Je();du();q()});function Ss(e,t={}){return j("KeyOf",[e],t)}function vk(e,t={}){return Bp(e,t)}var gu=u(()=>{ce();hu()});function Ek(){return X([Ct(),Yt(),ao()])}var Sk=u(()=>{xt();Xt();Ar();Q()});function Pk(e){return Ct()}var Rk=u(()=>{xt()});function _L(e){return e.reduce((n,r)=>Bi(r)?[...n,se(So(r))]:Ue(),[])}function Ak(e){let t=m.Keys(e),n=_L(t);return nr(n)}var Mk=u(()=>{Tn();O();Le();Ws();Y()});function Ok(e){return co(e)}var Ck=u(()=>{Xe()});function Lk(e){let t=e.map((n,r)=>se(r));return nr(t)}var Fk=u(()=>{Le();Y()});function jk(e){return Ee(e)?Ek():ke(e)?Pk(e.items):pe(e)?Ak(e.properties):it(e)?Ok(e):be(e)?Lk(e.items):ge()}var Dk=u(()=>{$t();gt();Je();fe();Xe();Ke();Sk();Rk();Mk();Ck();Fk()});function NL(e){return rt(e)||Pe(e)||oe(e)||F(e)?Eo(e):e}function Bp(e,t){return V([e])?f.Update(jk(NL(e)),{},t):Ss(e,t)}function _k(e,t,n,r){let o=T(e,t,n);return Bp(o,r)}var hu=u(()=>{S();kt();Ot();qe();Q();gu();q();Gs();Dk()});function ks(e,t,n,r,o={}){return j("Mapped",[e,t,n,r],o)}function Nk(e,t,n,r,o={}){return zp({},Ie([],[]),e,t,n,r,o)}var xu=u(()=>{ce();yu();q()});function qL(e){let t=mt(e);return bu(t)}function UL(e){return e.reduce((t,n)=>[...t,...bu(n)],[])}function KL(e){let t=bt(e);return bu(t)}function GL(e){return m.IsNumber(e)?[se(`${e}`)]:[se(e)]}function bu(e){return ot(e)?KL(e.enum):le(e)?GL(e.const):Re(e)?qL(e.pattern):F(e)?UL(e.anyOf):[e]}function qk(e){return bu(e)}var Uk=u(()=>{O();Le();mn();vt();Q();Y();Y()});function WL(e){return Re(e)?mt(e.pattern):e}function BL(e,t,n,r,o,s){let i=f.Assign(e,{[n.name]:r}),c=T(i,t,o),p=WL(c),d=T(i,t,s);return wh(p)||Ih(p)?{[p.const]:d}:{}}function zL(e,t,n,r,o,s){return r.reduce((i,c)=>[...i,BL(e,t,n,c,o,s)],[])}function HL(e){return e.reduce((t,n)=>[...t,W(n)],[])}function Kk(e,t,n,r,o,s){let i=qk(r),c=zL(e,t,n,i,o,s),p=HL(c);return Te(p)}var Gk=u(()=>{S();Le();fe();vt();q();Y();Y();Uk()});function zp(e,t,n,r,o,s,i){return V([r])?f.Update(Kk(e,t,n,r,o,s),{},i):ks(n,r,o,s,i)}function Wk(e,t,n,r,o,s,i){let c=T(e,t,r);return zp(e,t,n,c,o,s,i)}var yu=u(()=>{S();xu();q();Gk()});function VL(e,t,n){let r=f.Assign(e,t);return m.Keys(t).filter(s=>n.includes(s)).reduce((s,i)=>({...s,[i]:UI(r,i,t[i])}),{})}function JL(e,t,n){let r=f.Assign(e,t);return m.Keys(t).filter(s=>!n.includes(s)).reduce((s,i)=>({...s,[i]:T(r,Ie([],[]),t[i])}),{})}function YL(e,t,n){let r=jI(t),o=VL(e,t,r),s=JL(e,t,r),i={...o,...s};return f.Update(i,{},n)}function wu(e,t,n,r){return YL(e,n,r)}var Iu=u(()=>{O();S();q();Ip();kp();q()});function Ta(e,t={}){return j("NonNullable",[e],t)}function Bk(e,t={}){return Hp(e,t)}var $u=u(()=>{ce();ku()});function XL(e){let t=X([oo(),lo()]);return qs(e,t,{})}function Hp(e,t){return V([e])?f.Update(XL(e),{},t):Ta(e,t)}function zk(e,t,n,r){let o=T(e,t,n);return Hp(o,r)}var ku=u(()=>{S();io();go();Q();Us();$u();q()});function va(e,t,n={}){return j("Omit",[e,t],n)}function Hk(e,t,n={}){let r=m.IsArray(t)?vo(t):t;return Vp(e,r,n)}var Tu=u(()=>{O();ce();Ks();vu()});function Eu(e){let t=Eo(e);return pe(t)?t.properties:Ue()}var Jp=u(()=>{Tn();fe();Gs()});function ZL(e,t){return m.Keys(e).reduce((r,o)=>t.includes(o)?r:{...r,[o]:e[o]},{})}function Vk(e,t){let n=Eu(e),r=Po(t),o=ZL(n,r);return W(o)}var Jk=u(()=>{O();fe();lu();Jp()});function Vp(e,t,n){return V([e,t])?f.Update(Vk(e,t),{},n):va(e,t,n)}function Yk(e,t,n,r,o){let s=T(e,t,n),i=T(e,t,r);return Vp(s,i,o)}var vu=u(()=>{S();Tu();q();Jk()});function Ea(e,t={}){return j("Parameters",[e],t)}function Xk(e,t={}){return Yp(e,t)}var Su=u(()=>{ce();Pu()});function QL(e){let t=Be(e)?e.parameters:[],n=mr({},Ie([],[]),t);return je(n)}function Yp(e,t){return V([e])?f.Update(QL(e),{},t):Ea(e,t)}function Zk(e,t,n,r){let o=T(e,t,n);return Yp(o,r)}var Pu=u(()=>{S();zt();Ke();Su();q();q();q()});function Sa(e,t={}){return j("Partial",[e],t)}function Qk(e,t={}){return Xp(e,t)}var Ru=u(()=>{ce();Au()});function eT(e,t){let n=On(e,t),r=Ln(n);return $n(f.Assign(e,{[t]:r}),t)}var tT=u(()=>{S();kt();Ro();Dr()});function nT(e,t,n){let r=pn(e,t,n);return Ln(r)}var rT=u(()=>{Ro();Y()});function oT(e){let t=Te(e);return Ln(t)}var sT=u(()=>{Ro();Y()});function iT(e){let t=e.map(n=>Ln(n));return X(t)}var aT=u(()=>{Q();Ro()});function uT(e){let t=m.Keys(e).reduce((r,o)=>({...r,[o]:$r(e[o])}),{});return W(t)}var mT=u(()=>{O();fe();os()});function Ln(e){return rt(e)?eT(e.$defs,e.$ref):Pe(e)?nT(e.if,e.then,e.else):oe(e)?oT(e.allOf):F(e)?iT(e.anyOf):pe(e)?uT(e.properties):W({})}var Ro=u(()=>{kt();Ot();qe();fe();Q();tT();rT();sT();aT();mT()});function Xp(e,t){return V([e])?f.Update(Ln(e),{},t):Sa(e,t)}function cT(e,t,n,r){let o=T(e,t,n);return Xp(o,r)}var Au=u(()=>{S();Ru();Ro();q()});function Pa(e,t,n={}){return j("Pick",[e,t],n)}function pT(e,t,n={}){let r=m.IsArray(t)?vo(t):t;return Zp(e,r,n)}var Mu=u(()=>{O();ce();Ks();Ou()});function eF(e,t){return m.Keys(e).reduce((r,o)=>t.includes(o)?f.Assign(r,{[o]:e[o]}):r,{})}function lT(e,t){let n=Eu(e),r=Po(t),o=eF(n,r);return W(o)}var dT=u(()=>{S();O();fe();lu();Jp()});function Zp(e,t,n){return V([e,t])?f.Update(lT(e,t),{},n):Pa(e,t,n)}function fT(e,t,n,r,o){let s=T(e,t,n),i=T(e,t,r);return Zp(s,i,o)}var Ou=u(()=>{S();Mu();q();dT()});function Ra(e,t={}){return j("ReadonlyObject",[e],t)}function Qp(e,t={}){return el(e,t)}var gT,Cu=u(()=>{ce();Lu();gT=Qp});function hT(e){return ro(qt(e))}var xT=u(()=>{gt();cs()});function yT(e,t){let n=On(e,t),r=Fn(n);return $n(f.Assign(e,{[t]:r}),t)}var bT=u(()=>{S();kt();Ao();Dr()});function wT(e,t,n){let r=pn(e,t,n);return Fn(r)}var IT=u(()=>{Ao();Y()});function $T(e){let t=Te(e);return Fn(t)}var kT=u(()=>{Ao();Y()});function TT(e){let t=m.Keys(e).reduce((r,o)=>({...r,[o]:Er(e[o])}),{});return W(t)}var vT=u(()=>{O();fe();ps()});function ET(e){return ro(je(e))}var ST=u(()=>{Ke();cs()});function PT(e){let t=e.map(n=>Fn(n));return X(t)}var RT=u(()=>{Q();Ao()});function Fn(e){return ke(e)?hT(e.items):rt(e)?yT(e.$defs,e.$ref):Pe(e)?wT(e.if,e.then,e.else):oe(e)?$T(e.allOf):pe(e)?TT(e.properties):be(e)?ET(e.items):F(e)?PT(e.anyOf):e}var Ao=u(()=>{gt();kt();Ot();qe();fe();Ke();Q();xT();bT();IT();kT();vT();ST();RT()});function el(e,t){return V([e])?f.Update(Fn(e),{},t):Ra(e)}function AT(e,t,n,r){let o=T(e,t,n);return el(o,r)}var Lu=u(()=>{S();Cu();Ao();q()});function MT(e,t,n,r){return t.visited.includes(r)?n:r in e?T(e,Ie(t.callstack,[...t.visited,r]),e[r]):n}var tl=u(()=>{q();q()});function OT(e,t){let n=On(e,t),r=jn(n);return $n(f.Assign(e,{[t]:r}),t)}var CT=u(()=>{S();kt();Mo();Dr()});function LT(e,t,n){let r=pn(e,t,n);return jn(r)}var FT=u(()=>{Mo();Y()});function jT(e){let t=Te(e);return jn(t)}var DT=u(()=>{Mo();Y()});function _T(e){let t=e.map(n=>jn(n));return X(t)}var NT=u(()=>{Q();Mo()});function qT(e){let t=m.Keys(e).reduce((r,o)=>({...r,[o]:ea(e[o])}),{});return W(t)}var UT=u(()=>{O();fe();ta()});function jn(e){return rt(e)?OT(e.$defs,e.$ref):Pe(e)?LT(e.if,e.then,e.else):oe(e)?jT(e.allOf):F(e)?_T(e.anyOf):pe(e)?qT(e.properties):W({})}var Mo=u(()=>{kt();Ot();qe();fe();Q();CT();FT();DT();NT();UT()});function Aa(e,t={}){return j("Required",[e],t)}function KT(e,t={}){return nl(e,t)}var Fu=u(()=>{ce();ju()});function nl(e,t){return V([e])?f.Update(jn(e),{},t):Aa(e,t)}function GT(e,t,n,r){let o=T(e,t,n);return nl(o,r)}var ju=u(()=>{S();Mo();Fu();q()});function Ma(e,t={}){return j("ReturnType",[e],t)}function WT(e,t={}){return rl(e,t)}var Du=u(()=>{ce();_u()});function tF(e){return Be(e)?e.returnType:ge()}function rl(e,t){return V([e])?f.Update(tF(e),{},t):Ma(e,t)}function BT(e,t,n,r={}){let o=T(e,t,n);return rl(o,r)}var _u=u(()=>{S();zt();Je();Du();q()});function Oa(e,t){return j("With",[e,t],{})}function zT(e,t){return ol(e,t)}var Nu=u(()=>{ce();qu()});function ol(e,t){return V([e])?f.Update(e,{},t):Oa(e,t)}function HT(e,t,n,r){let o=T(e,t,n);return ol(o,r)}var qu=u(()=>{S();q();Nu()});function nF(e){return sr(e)?be(e.items)?sl(e.items.items):Ce(e.items)?[e]:ze(e.items)?[e]:[ge()]:[e]}function sl(e){return e.reduce((n,r)=>[...n,...nF(r)],[])}var VT=u(()=>{Vt();Je();po();Ht();Ke()});var JT=u(()=>{VT()});function Ie(e,t){return{callstack:e,visited:t}}function V(e){return m.ShiftLeft(e,(t,n)=>ze(t)?!1:V(n),()=>!0)}function Ls(e,t,n){return m.Keys(n).reduce((r,o)=>({...r,[o]:T(e,t,n[o])}),{})}function mr(e,t,n){let r=Ut(e,t,n);return sl(r)}function Ut(e,t,n){return n.map(r=>T(e,t,r))}function rF(e,t){let n=ut(e)?ns(t,{}):t,r=Sr(e)?ts(n,{}):n;return vr(e)?Hs(r,{}):r}function oF(e,t,n,r,o){return m.IsEqual(n,"AddImmutable")?YT(e,t,r[0],o):m.IsEqual(n,"RemoveImmutable")?s$(e,t,r[0],o):m.IsEqual(n,"AddReadonly")?rg(e,t,r[0],o):m.IsEqual(n,"RemoveReadonly")?Dh(e,t,r[0],o):m.IsEqual(n,"AddOptional")?og(e,t,r[0],o):m.IsEqual(n,"RemoveOptional")?qh(e,t,r[0],o):m.IsEqual(n,"Capitalize")?y$(e,t,r[0],o):m.IsEqual(n,"Conditional")?k$(e,t,r[0],r[1],r[2],r[3],o):m.IsEqual(n,"ConstructorParameters")?v$(e,t,r[0],o):m.IsEqual(n,"Evaluate")?BI(e,t,r[0],o):m.IsEqual(n,"Exclude")?S$(e,t,r[0],r[1],o):m.IsEqual(n,"Extract")?O$(e,t,r[0],r[1],o):m.IsEqual(n,"Index")?$k(e,t,r[0],r[1],o):m.IsEqual(n,"InstanceType")?Tk(e,t,r[0],o):m.IsEqual(n,"Interface")?OI(e,t,r[0],r[1],o):m.IsEqual(n,"KeyOf")?_k(e,t,r[0],o):m.IsEqual(n,"Lowercase")?b$(e,t,r[0],o):m.IsEqual(n,"Mapped")?Wk(e,t,r[0],r[1],r[2],r[3],o):m.IsEqual(n,"Module")?wu(e,t,r[0],o):m.IsEqual(n,"NonNullable")?zk(e,t,r[0],o):m.IsEqual(n,"Pick")?fT(e,t,r[0],r[1],o):m.IsEqual(n,"Parameters")?Zk(e,t,r[0],o):m.IsEqual(n,"Partial")?cT(e,t,r[0],o):m.IsEqual(n,"Omit")?Yk(e,t,r[0],r[1],o):m.IsEqual(n,"ReadonlyObject")?AT(e,t,r[0],o):m.IsEqual(n,"Record")?px(e,t,r[0],r[1],o):m.IsEqual(n,"Required")?GT(e,t,r[0],o):m.IsEqual(n,"ReturnType")?BT(e,t,r[0],o):m.IsEqual(n,"TemplateLiteral")?Ew(e,t,r[0],o):m.IsEqual(n,"Uncapitalize")?w$(e,t,r[0],o):m.IsEqual(n,"Uppercase")?I$(e,t,r[0],o):m.IsEqual(n,"With")?HT(e,t,r[0],r[1]):j(n,r,o)}function sF(e,t,n){let r=ze(n)?MT(e,t,n,n.$ref):ke(n)?qt(T(e,t,n.items),Fi(n)):To(n)?Qa(e,t,n.target,n.arguments):We(n)?bn(Ut(e,t,n.parameters),T(e,t,n.instanceType),sg(n)):Be(n)?wn(Ut(e,t,n.parameters),T(e,t,n.returnType),ig(n)):Pe(n)?Tr(T(e,t,n.if),T(e,t,n.then),T(e,t,n.else),dg(n)):oe(n)?Tt(Ut(e,t,n.allOf),yg(n)):pe(n)?W(Ls(e,t,n.properties),cg(n)):it(n)?lx(Qt(n),T(e,t,wt(n))):sr(n)?Or(T(e,t,n.items)):be(n)?je(mr(e,t,n.items),jh(n)):F(n)?X(Ut(e,t,n.anyOf),kh(n)):n;return rF(n,r)}function T(e,t,n){return Yn(n)?oF(e,t,n.action,n.parameters,n.options):sF(e,t,n)}function il(e,t){return T(e,Ie([],[]),t)}var q=u(()=>{O();Uu();Ci();Li();gt();Bt();ce();zt();ho();Ot();qe();fe();Xe();Ke();Q();Ht();po();Uu();Mp();Ci();Rc();Li();Oc();Zn();ms();ls();Ap();Cn();_p();au();Za();Us();cu();pu();fu();Ja();hu();Cn();yu();Iu();ku();vu();Pu();Au();Ou();Lu();sa();tl();ju();_u();Wa();Cn();Cn();qu();JT()});function iF(e){return f.Update(e,{"~immutable":!0},{})}function Hs(e,t){return f.Update(iF(e),{},t)}function YT(e,t,n,r){let o=T(e,t,n);return Hs(o,r)}var Uu=u(()=>{S();q()});function fb(e,t={}){return j("AddImmutable",[e],t)}function ro(e,t={}){return Hs(e,t)}var cs=u(()=>{ce();Uu()});var XT=u(()=>{ce();Mp()});function gb(e,t={}){return j("Evaluate",[e],t)}function ZT(e,t={}){return Ep(e,t)}var al=u(()=>{ce();Za()});function hb(e,t={}){return j("Module",[e],t)}function QT(e,t={}){return wu({},Ie([],[]),e,t)}var ul=u(()=>{ce();q();Iu()});var xo=u(()=>{cs();ps();os();XT();Ac();ta();tu();su();iu();al();uu();mu();Up();du();Fs();gu();nu();xu();ul();$u();Tu();Su();Ru();Mu();Cu();Fu();Du();ru();ou();Nu()});var ev=u(()=>{au()});var tv=u(()=>{qi()});var nv=u(()=>{Us()});var rv=u(()=>{cu()});var ov=u(()=>{});var sv=u(()=>{Ks();Ws();ov()});var iv=u(()=>{pu()});var av=u(()=>{fu()});var uv=u(()=>{Ja()});var mv=u(()=>{Cn()});var cv=u(()=>{hu()});var pv=u(()=>{yu()});var lv=u(()=>{Iu()});var dv=u(()=>{ku()});var fv=u(()=>{vu()});var gv=u(()=>{Pu()});var hv=u(()=>{hs();up()});var xv=u(()=>{Au()});var yv=u(()=>{Ou()});var bv=u(()=>{O();ws()});var wv=u(()=>{bv()});var Iv=u(()=>{Lu()});var $v=u(()=>{sa()});var kv=u(()=>{tl()});var Tv=u(()=>{ju()});var vv=u(()=>{_u()});var Ev=u(()=>{});var Sv=u(()=>{O();hs()});var Pv=u(()=>{Zi();Qi();mp();Ev();Yi();Sv()});var Rv=u(()=>{qu()});var Av=u(()=>{q();_p();ev();Tp();tv();Os();nv();rv();sv();iv();av();uv();mv();cv();pv();lv();dv();Gs();fv();gv();hv();xv();yv();wv();Iv();$v();kv();Tv();vv();Pv();Rv()});function Mv(...e){let[t,n,r]=kn.Match(e,{2:(i,c)=>m.IsString(i)?[{},i,c]:[i,c,{}],3:(i,c,p)=>[i,c,p],1:i=>[{},i,{}]}),o=Iw(n),s=m.IsArray(o)&&m.IsEqual(o.length,2)?T(t,Ie([],[]),o[0]):ge();return f.Update(s,{},r)}var Ov=u(()=>{no();S();O();da();q();q();Vi()});var ml=u(()=>{Ov()});var Z={};Mt(Z,{Any:()=>to,Array:()=>qt,BigInt:()=>ds,Boolean:()=>Gi,Call:()=>r$,Capitalize:()=>f$,Codec:()=>Ki,Conditional:()=>$$,Constructor:()=>bn,ConstructorParameters:()=>T$,Cyclic:()=>$n,Decode:()=>dh,DecodeBuilder:()=>us,Dependent:()=>Tr,Encode:()=>fh,EncodeBuilder:()=>as,Enum:()=>xg,Evaluate:()=>ZT,Exclude:()=>E$,Extends:()=>st,ExtendsResult:()=>B,Extract:()=>P$,Function:()=>wn,Generic:()=>Xn,Identifier:()=>fs,Immutable:()=>gh,Index:()=>C$,Infer:()=>ss,InstanceType:()=>kk,Instantiate:()=>il,Integer:()=>Rr,Interface:()=>CI,Intersect:()=>Tt,IsAny:()=>Ee,IsArray:()=>ke,IsBigInt:()=>En,IsBoolean:()=>Jt,IsCall:()=>To,IsCodec:()=>Ui,IsConstructor:()=>We,IsCyclic:()=>rt,IsDependent:()=>Pe,IsEnum:()=>ot,IsEnumValue:()=>hg,IsFunction:()=>Be,IsGeneric:()=>eo,IsIdentifier:()=>bh,IsImmutable:()=>vr,IsInfer:()=>Ce,IsInteger:()=>ht,IsIntersect:()=>oe,IsKind:()=>L,IsLiteral:()=>le,IsNever:()=>un,IsNull:()=>so,IsNumber:()=>Fe,IsObject:()=>pe,IsOptional:()=>ut,IsParameter:()=>$h,IsReadonly:()=>Sr,IsRecord:()=>it,IsRef:()=>ze,IsRefine:()=>$c,IsRest:()=>sr,IsSchema:()=>Ne,IsString:()=>yt,IsSymbol:()=>er,IsTemplateLiteral:()=>Re,IsThis:()=>ca,IsTuple:()=>be,IsUndefined:()=>fo,IsUnion:()=>F,IsUnknown:()=>Oe,IsUnsafe:()=>_i,IsVoid:()=>Rn,KeyOf:()=>vk,Literal:()=>se,Lowercase:()=>g$,Mapped:()=>Nk,Module:()=>QT,Never:()=>ge,NonNullable:()=>Bk,Null:()=>oo,Number:()=>Ct,Object:()=>W,Omit:()=>Hk,Optional:()=>ug,Parameter:()=>Mr,Parameters:()=>Xk,Partial:()=>Qk,Pick:()=>pT,Readonly:()=>hh,ReadonlyObject:()=>Qp,ReadonlyType:()=>gT,Record:()=>aa,RecordKey:()=>co,RecordPattern:()=>Qt,RecordValue:()=>wt,Ref:()=>qn,Refine:()=>xh,Required:()=>KT,Rest:()=>Or,ReturnType:()=>WT,Script:()=>Mv,String:()=>Yt,Symbol:()=>ao,TemplateLiteral:()=>Pw,This:()=>ma,Tuple:()=>je,Uncapitalize:()=>h$,Undefined:()=>lo,Union:()=>X,Unknown:()=>Ye,Unsafe:()=>pg,Uppercase:()=>x$,Void:()=>la,With:()=>zT});var cl=u(()=>{q();Pn();ml();tu();su();iu();al();uu();mu();xo();du();Fs();gu();nu();xu();ul();$u();Tu();Su();Ru();Mu();Cu();Fu();Du();ru();ou();Nu();Ic();ms();Zn();ls();kc();$t();gt();Pr();Qn();ho();Bt();kt();mn();zt();rs();Tc();Ot();Vt();Sn();qe();Le();Je();io();xt();fe();Ec();Xe();Ht();po();J();Xt();Ar();vt();pa();Ke();go();Q();nt();Ni();Cr()});var Nr=u(()=>{xo();Av();Pn();ml();da();cl();cl()});import{StringEnum as aF}from"@earendil-works/pi-ai";import{defineTool as uF}from"@earendil-works/pi-coding-agent";function Cv(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,n=e.map(o=>`${mF[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(`
21
- `)}function pF(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(i=>i.content===r);if(!s)return{todos:o,error:`no task matches ${JSON.stringify(r)}`};if(t==="start"){for(let i of o)i.status==="in_progress"&&(i.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 lF(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 mF,cF,Ku,pl=u(()=>{Nr();mF={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},cF=Z.Object({op:aF(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:Z.Optional(Z.Array(Z.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:Z.Optional(Z.String({description:"Exact label of the task to start, complete or drop"}))});Ku=uF({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:cF,async execute(e,t,n,r,o){let s=lF(o),{todos:i,error:c}=pF(s,t.op,t.items,t.task),p={op:t.op,todos:i,...c?{error:c}:{}};return{content:[{type:"text",text:c?`Error: ${c}
22
- ${Cv(i)}`:Cv(i)}],details:p,...c?{isError:!0}:{}}}})});import{StringEnum as dF}from"@earendil-works/pi-ai";import{defineTool as fF}from"@earendil-works/pi-coding-agent";function jv(){return Wn.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...Wn].map(([t,n])=>`- ${t}: ${n}`),"</shared-notes>"].join(`
23
- `)}function gF(e,t,n){if(e==="list")return Wn.size===0?{text:"No notes."}:{text:[...Wn].map(([r,o])=>`${r} = ${o}`).join(`
24
- `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>Fv)return{text:`Error: key longer than ${Fv} characters`,error:"key too long"};if(e==="forget")return{text:Wn.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>Lv?`${n.slice(0,Lv)}\u2026`:n;return Wn.set(t,r),{text:`Recorded ${t} (${Wn.size} note${Wn.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var Wn,Lv,Fv,Gu,Wu=u(()=>{Nr();Wn=new Map,Lv=2e3,Fv=80;Gu=fF({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:Z.Object({op:dF(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:Z.Optional(Z.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:Z.Optional(Z.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:n,error:r}=gF(t.op,t.key,t.value);return{content:[{type:"text",text:n}],details:{op:t.op,notes:Object.fromEntries(Wn)},...r?{isError:!0}:{}}}})});import{StringEnum as hF}from"@earendil-works/pi-ai";import{defineTool as xF}from"@earendil-works/pi-coding-agent";function zu(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??Bu,n=[`${Nv[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&n.push(e.note),`${n.join(" \xB7 ")}
25
- ${e.text}`}function qv(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??Bu,n=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${Nv[e.status]} ${e.used}/${t} \xB7 ${n}`}function Uv(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(`
26
- `)}function Kv(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??Bu}.`].join(`
27
- `)}function Hu(){return Gv}function ln(e){Gv=e}function Vu(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??Bu;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function ll(e,t,n,r,o){switch(t){case"view":return{goal:e};case"set":return n?.trim()?n.length>Dv?{goal:e,error:`text longer than ${Dv} 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 Oo(e){let t;for(let n of e.sessionManager.getBranch()){if(n.type==="custom"&&n.customType===pr){t=n.data;continue}if(n.type==="custom_message"&&n.customType===pr){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 pr,_v,Dv,Bu,Nv,Gv,yF,Wv,Ju=u(()=>{Nr();pr="howtofix.goal",_v="howtofix.goal.continue",Dv=400,Bu=25,Nv={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};yF=Z.Object({op:hF(["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:Z.Optional(Z.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:Z.Optional(Z.Number({description:"Optional cap on automatic continuations before the run stops"})),note:Z.Optional(Z.String({description:"Evidence that the goal is met (required for complete)"}))}),Wv=xF({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:yF,async execute(e,t,n,r,o){let s=Oo(o),{goal:i,error:c}=ll(s,t.op,t.text,t.budget,t.note);ln(i);let p=zu(i);return{content:[{type:"text",text:c?`Error: ${c}
28
- ${p}`:p}],details:{op:t.op,goal:i},...c?{isError:!0}:{}}}})});import{existsSync as gl,mkdirSync as Bv,readFileSync as zv}from"node:fs";import{dirname as Hv,join as Vv}from"node:path";import{defineTool as Jv}from"@earendil-works/pi-coding-agent";function Yu(){return{state:"inactive",wasActive:!1}}function bF(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:Yu()}function Yv(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function wF(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function IF(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function $F(e){return e.state!=="active"?e:{...e,state:"inactive"}}function Xv(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Xu(e){return e.state==="active"}function kF(e,t){return e===t}function TF(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(`
29
- `)}function vF(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 Zu(){return dt}function Zv(){return lt}function Qv(){return Xu(dt)}function eE(){if(!(!lt||!gl(lt)))try{let e=zv(lt,"utf8");return e.trim()?e:void 0}catch{return}}function tE(){return eE()!==void 0}function nE(){return dt.state==="inactive"?"":dt.state==="pending"?"plan pending":tE()?"plan \u25CF ready":"plan \u25CF planning"}function rE(){return fl?Vv(fl,"plan_mode.json"):void 0}function EF(){let e=rE();if(e)try{Bv(Hv(e),{recursive:!0}),tt(e,JSON.stringify(dt))}catch{}}function SF(){let e=rE();if(!e||!gl(e))return Yu();try{return bF(JSON.parse(zv(e,"utf8")))}catch{return Yu()}}function PF(e){fl=e,lt=Vv(e,"plan.md"),dt=SF()}function Co(e){return dt=e,EF(),dt}function oE(){return e=>{e.on("tool_call",async t=>{if(!Xu(dt)||t.toolName!=="edit"&&t.toolName!=="write")return;let n=t.input?.path;if(typeof n=="string"&&!(!lt||kF(n,lt)))return{block:!0,reason:vF(lt)}})}}function sE(){return e=>{e.on("session_start",async(t,n)=>{PF(n.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{dt.state==="pending"&&Co(wF(dt))}),e.on("context_with_system",async t=>{if(!Xu(dt)||!lt)return;let n=t.messages[0];if(!n||n.role!=="system")return;let r=TF(lt,tE()),o=`${typeof n.content=="string"?n.content:""}
30
-
31
- ${r}`;return{messages:t.messages.map(i=>i===n?{...n,content:o}:i)}})}}function RF(){if(lt){try{Bv(Hv(lt),{recursive:!0}),gl(lt)||tt(lt,"")}catch{return}return lt}}var lt,dt,fl,dl,iE,aE,hl=u(()=>{Nr();Hn();dt=Yu();dl=2e4;iE=Jv({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:Z.Object({}),async execute(e,t,n,r,o){if(dt.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${dt.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:{}};Co(IF(dt));let i=RF();return{content:[{type:"text",text:["Plan mode is active. Edits are blocked except for the plan file.",i?`Write your plan to ${i}.`:"Write your plan to the session plan file."].join(`
32
- `)}],details:{planFile:i}}}}),aE=Jv({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:Z.Object({}),executionMode:"sequential",async execute(e,t,n,r,o){if(!Xu(dt))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let s=eE();if(!s)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${lt??"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 i=s.length>dl?`${s.slice(0,dl)}
33
- \u2026 (${s.length-dl} more characters)`:s;return await o.ui.confirm("Approve this plan?",i)?(Co($F(dt)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:lt}}):{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 xl(){return{consecutiveFailures:0,tripped:!1}}function AF(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function MF(e,t){if(t)return e;let n=e.consecutiveFailures+1;return{consecutiveFailures:n,tripped:e.tripped||n>=3}}function OF(){return xl()}function CF(e){return[`Auto-compaction failed ${e.consecutiveFailures} times in a row, so it is switched off for this session.`,"The context is over the limit and compaction cannot recover it. Start a new session, or switch to a model with a larger context window.","Manual /compact is still allowed."].join(" ")}function uE(){return e=>{e.on("session_start",async()=>{lr=xl()}),e.on("session_compact",async()=>{lr=OF()}),e.on("session_compact_failed",async(t,n)=>{let r=lr;lr=MF(lr,t.aborted),!r.tripped&&lr.tripped&&n?.ui&&n.ui.notify(CF(lr),"warning")}),e.on("session_before_compact",async t=>{if(AF(lr,t.reason))return{cancel:!0}})}}var lr,mE=u(()=>{lr=xl()});function Qu(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(`
34
- `):e==null?"":String(e)}function em(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 yl=u(()=>{});function LF(e){ln(Oo(e))}function cE(e){return`budget exhausted (${e.budget??"default"} continuations)`}function pE(){return e=>{e.on("session_start",async(t,n)=>{LF(n)}),e.on("context_with_system",async(t,n)=>{let r=Oo(n);if(ln(r),!r||r.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let s=`${Qu(o.content)}
35
-
36
- ${Uv(r)}`;return{messages:t.messages.map(c=>c===o?{...o,content:em(o.content,s)}:c)}}),e.on("agent_before_settle",async(t,n)=>{let r=Oo(n);if(ln(r),Vu(r).action==="stop"||!r||t.continue||!t.context.canContinue)return;let o={...r,used:r.used+1};if(e.appendEntry(pr,o),ln(o),Vu(o).action==="stop"){let s={...o,status:"done",note:cE(o)};e.appendEntry(pr,s),ln(s);return}return{entries:[{type:"custom_message",customType:_v,content:Kv(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,n)=>{let r=Oo(n),o=Vu(r);if(r&&o.action==="stop"&&o.close){let s={...r,status:"done",note:cE(r)};e.appendEntry(pr,s),ln(s)}else ln(r)})}}var lE=u(()=>{yl();Ju()});function tm(){return e=>{e.on("context_with_system",async t=>{let n=jv();if(!n)return;let r=t.messages[0];if(!r||r.role!=="system")return;let o=`${Qu(r.content)}
37
-
38
- ${n}`;return{messages:t.messages.map(i=>i===r?{...r,content:em(r.content,o)}:i)}})}}var bl=u(()=>{yl();Wu()});function jF(e){if(FF.test(e))return!0;let t=/^172\.(\d+)\./.exec(e);if(!t)return!1;let n=Number(t[1]);return n>=16&&n<=31}function $l(e){let t;try{t=new URL(e)}catch{return{ok:!1,reason:"not a URL"}}if(t.protocol!=="http:"&&t.protocol!=="https:")return{ok:!1,reason:`refused protocol ${t.protocol}`};let n=t.hostname.toLowerCase();return n==="localhost"||n.endsWith(".localhost")||n==="::1"||n==="[::1]"?{ok:!1,reason:"refused loopback host"}:jF(n)||n==="0.0.0.0"?{ok:!1,reason:"refused private address"}:{ok:!0,url:t}}function dE(e){let t=e.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<noscript[\s\S]*?<\/noscript>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim();return t.length>wl?t.slice(0,wl):t}function DF(e){let t=[],n=/class="result__a"[^>]*href="([^"]+)"[^>]*>([\s\S]*?)<\/a>/gi,r;for(;(r=n.exec(e))&&t.length<Il;){let o=r[1]??"",s=dE(r[2]??""),i=o,c=/[?&]uddg=([^&]+)/.exec(o);if(c)try{i=decodeURIComponent(c[1])}catch{i=o}else o.startsWith("//")&&(i=`https:${o}`);let p=$l(i);!p.ok||!s||t.push({title:s,url:p.url.toString(),snippet:""})}return t}async function gE(e,t={}){let n=e.trim();if(!n)return{ok:!1,error:"empty query"};let r=t.fetchFn??fetch,o=t.timeoutMs??15e3,s={"user-agent":t.userAgent??fE,accept:"text/html, application/json"};try{if(t.braveKey){let d=`https://api.search.brave.com/res/v1/web/search?q=${encodeURIComponent(n)}&count=${Il}`,b=await r(d,{headers:{...s,accept:"application/json","x-subscription-token":t.braveKey},signal:AbortSignal.timeout(o)});return b.ok?{ok:!0,hits:_F(await b.json()),provider:"brave"}:{ok:!1,error:`brave ${b.status}`}}let i=`https://html.duckduckgo.com/html/?q=${encodeURIComponent(n)}`,c=await r(i,{headers:s,signal:AbortSignal.timeout(o)});return c.ok?{ok:!0,hits:DF(await c.text()),provider:"ddg"}:{ok:!1,error:`search ${c.status}`}}catch(i){return{ok:!1,error:i instanceof Error?i.message:String(i)}}}function _F(e){let t=[];if(e&&typeof e=="object"&&"web"in e){let r=e.web;r&&typeof r=="object"&&"results"in r&&Array.isArray(r.results)&&(t=r.results)}let n=[];for(let r of t){if(!r||typeof r!="object"||!("url"in r)||!("title"in r))continue;let o=r.url,s=r.title;if(typeof o!="string"||typeof s!="string")continue;let i=$l(o);if(!i.ok)continue;let c="description"in r?r.description:void 0;if(n.push({title:s,url:i.url.toString(),snippet:typeof c=="string"?c:""}),n.length>=Il)break}return n}async function hE(e,t={}){let n=$l(e);if(!n.ok)return{ok:!1,error:n.reason};let r=t.fetchFn??fetch;try{let o=await r(n.url,{headers:{"user-agent":t.userAgent??fE,accept:"text/html, text/plain, application/json"},signal:AbortSignal.timeout(t.timeoutMs??2e4),redirect:"follow"});if(!o.ok)return{ok:!1,error:`HTTP ${o.status}`};let s=o.headers.get("content-type")??"",i=await o.text(),c=/html/i.test(s)?dE(i):i.slice(0,wl);return{ok:!0,url:o.url||n.url.toString(),contentType:s,text:c}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}var FF,wl,Il,fE,xE=u(()=>{FF=/^(127\.|10\.|192\.168\.|169\.254\.|0\.|221\.|222\.|223\.)/;wl=8e4,Il=8;fE="HowToFix (https://howtofix.id)"});import{Type as nm}from"@earendil-works/pi-ai";import{defineTool as yE}from"@earendil-works/pi-coding-agent";function NF(e){return e.length===0?"no results":e.map((t,n)=>`${n+1}. ${t.title}
2
+ var Pj=Object.defineProperty;var u=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(n){throw r=[n],n}};var Rt=(e,t)=>{for(var r in t)Pj(e,r,{get:t[r],enumerable:!0})};function Qy(e){return e===void 0?void 0:e.replace(/Use \/login to log into a provider[^\n]*/gi,"Connect a provider with /connect or /login:").replace(/^[ \t]*\S*pi-coding-agent[\\/]docs[\\/][^\n]*$/gim,"").replace(/\bpi-coding-agent\b/gi,"the harness").replace(/\n{3,}/g,`
3
+
4
+ `).trim()}var Ht,vr,Zy,eb,Js=u(()=>{Ht="HowToFix",vr="0.4.35",Zy=["You are HowToFix, a coding agent. The user wants the fix, not a tour of the problem.",'NEVER report a check you did not run. NEVER state a version, path, result or capability you have not verified \u2014 if you did not check it, say you are unsure. "Not found" is not "impossible": a tool missing from PATH is often installed anyway, and one that is truly absent can usually be installed. Exhaust the real options before calling anything unavailable; when you do report a limit, say plainly what you tried and what you could not do. Unexercised behaviour is not evidence.',"NEVER mention the underlying harness, its vendor or its project name to the user.","Lead with the diagnosis in one or two sentences, then change the code. SHOULD prefer the smallest correct change over a rewrite. Name the file and the reason in a short line; do not narrate tool calls.","Fix the problem that was asked for. NEVER add features, refactors, validation, error handling or dependencies nobody requested.","Something reported broken: reproduce it first, confirm the fix after. Cannot reproduce it? Say so \u2014 NEVER edit code and call it fixed.","Tests describe intended behaviour. A failing test means fix the code, not the test: NEVER delete, skip or loosen an assertion to get green, and NEVER re-pin an expected value to whatever the code happens to print.","Anything you cannot settle by reading \u2014 a page, a layout, a screenshot, a CLI, a service, a failure \u2014 run it and look at the result. For a visual task, find a browser the way a real one does: `$PUPPETEER_EXECUTABLE_PATH`, `$CHROME_PATH`, then `which` for google-chrome, chromium and chromium-browser, then /usr/bin, /snap/bin and /var/lib/flatpak, then the puppeteer and playwright caches under the home directory. Still empty? `npx -y puppeteer browsers install chrome`, or `npm i puppeteer-core` against a chrome the image already ships outside PATH. Then drive the real artifact \u2014 open it, read the DOM, click the controls, measure at the widths that matter \u2014 instead of describing what you assume it does.","Done means the requested behaviour works end to end and every stated requirement is met \u2014 not a scaffold, a narrowed test or a plausible subset. Genuinely out of reach? Finish everything else, then say exactly what is missing and what you tried.","Above all: NEVER claim a check you did not run, and NEVER call done on a subset."].join(`
5
+ `);eb=["# Project notes","","## What this is","","## Commands","- build:","- test:","","## Conventions","-",""].join(`
6
+ `)});var ob={};Rt(ob,{AGENTS_STORE_DIR:()=>Ni,AGENT_DIR:()=>ut,CUBENCE_CACHE_PATH:()=>Cl,USER_SKILLS_DIR:()=>Pl,WORKFLOWS_DIR:()=>Ol,pinAgentDir:()=>Ml,projectSkillsDir:()=>Ho});import{homedir as Cj}from"node:os";import{join as Ui,resolve as Oj}from"node:path";function Mj(){let e=(process.env.HOWTOFIX_HOME??process.env.HOME??"").trim();return Oj(e||Cj())}function Ho(e){return Ui(e,".howtofix","skills")}function Ml(){process.env.PI_CODING_AGENT_DIR=ut}var ut,Pl,Ni,Cl,Ol,on=u(()=>{ut=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||Ui(Mj(),".howtofix","agent"),Pl=Ui(ut,"skills");Ni=Ui(ut,"agents"),Cl=Ui(ut,"cubence-cache.json"),Ol=Ui(ut,"workflows")});import{closeSync as vj,fsyncSync as Fj,openSync as _j,renameSync as ib,rmSync as vl,writeSync as Lj}from"node:fs";import{dirname as Uj,join as Nj}from"node:path";function qt(e,t){let r=Nj(Uj(e),`.${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}.tmp`),n=_j(r,"w");try{Lj(n,t),Fj(n)}finally{vj(n)}try{ib(r,e)}catch(o){let i=o.code;if(i!=="EPERM"&&i!=="EBUSY"&&i!=="EACCES")throw vl(r,{force:!0}),o;vl(e,{force:!0});try{ib(r,e)}catch(a){throw vl(r,{force:!0}),a}}}var po=u(()=>{});var fb={};Rt(fb,{DEFAULT_CONTEXT_WINDOW:()=>mb,HOWTOFIX_BASE_URL:()=>Ys,HOWTOFIX_CONSOLE_URL:()=>Hu,HOWTOFIX_MODEL_COMPAT:()=>_l,HOWTOFIX_PROVIDERS:()=>Di,HTTP_IDLE_TIMEOUT_MS:()=>ub,UNLIMITED_SENTINEL:()=>pb,applyCompat:()=>zu,checkAccount:()=>Vu,checkUsage:()=>Xs,countNewModels:()=>Nl,ensureGatewaySettings:()=>Gj,isHowtofixProvider:()=>Wo,looksLikeToken:()=>Ll,maskToken:()=>Wu,mergeModels:()=>Ul,newProviderEntry:()=>Fl,parseModelIds:()=>cb,probeModel:()=>Dl,repairGatewayModels:()=>qj});import{existsSync as Dj,mkdirSync as jj,readFileSync as sb}from"node:fs";import{join as ab}from"node:path";function Fl(){return{baseUrl:Ys,api:"openai-completions"}}function qj(e){let t=ab(e,"models.json"),r;try{r=JSON.parse(sb(t,"utf8"))}catch{return 0}let n=r.providers;if(!n||typeof n!="object")return 0;let o=0;for(let i of Di){let a=n[i];if(!a||!Array.isArray(a.models))continue;let c=zu(a.models);c.changed!==0&&(a.models=c.models,o+=c.changed)}if(o===0)return 0;try{qt(t,`${JSON.stringify(r,null,2)}
7
+ `)}catch{return 0}return o}function Gj(e){let t=ab(e,"settings.json"),r={};try{let n=sb(t,"utf8"),o=JSON.parse(n);o&&typeof o=="object"&&!Array.isArray(o)&&(r=o)}catch{if(Dj(t))return!1}if("httpIdleTimeoutMs"in r)return!1;r.httpIdleTimeoutMs=ub;try{jj(e,{recursive:!0}),qt(t,`${JSON.stringify(r,null,2)}
8
+ `)}catch{return!1}return!0}function Wu(e){let t=e.trim();return t.length<=10?"***":`${t.slice(0,6)}\u2026${t.slice(-4)}`}function Ll(e){return/^sk-[A-Za-z0-9_-]{8,}$/.test(e.trim())}function cb(e){let t=(()=>{if(Array.isArray(e))return e;if(e&&typeof e=="object"){let n=e;if(Array.isArray(n.data))return n.data;if(Array.isArray(n.models))return n.models}return[]})(),r=[];for(let n of t){let o=typeof n=="string"?n:n&&typeof n=="object"&&typeof n.id=="string"?n.id:void 0;o&&!r.includes(o)&&r.push(o)}return r}function Wo(e){return Di.includes(e)}async function Kj(e,t){let r=await e(t,{headers:{Accept:"application/json"}});if(!r.ok)return"USD";let o=(await r.json())?.data?.quota_display_type;return typeof o=="string"&&o.trim()?o.trim().toUpperCase():"USD"}async function Xs(e,t){let r=(t?.baseUrl??Ys).replace(/\/+$/,""),n=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,i=e.trim();if(!i)return{ok:!1,unlimited:!1,unit:"USD",message:"no token given"};let a=`${r.replace(/\/v1$/,"")}/api/status`,c=await Kj(n,a).catch(()=>"USD"),p=new AbortController,f=setTimeout(()=>p.abort(),o),g={Authorization:`Bearer ${i}`};try{let[x,w]=await Promise.all([n(`${r}/dashboard/billing/subscription`,{headers:g,signal:p.signal}),n(`${r}/dashboard/billing/usage`,{headers:g,signal:p.signal})]);if(x.status===401||x.status===403)return{ok:!1,unlimited:!1,unit:c,message:"the gateway rejected that token when asking for the balance"};if(!x.ok)return{ok:!1,unlimited:!1,unit:c,message:`the balance endpoint answered ${x.status}`};let $=await x.json();if($.error?.message)return{ok:!1,unlimited:!1,unit:c,message:$.error.message};let C=Number($.hard_limit_usd??$.soft_limit_usd??0);if(C>=pb)return{ok:!0,unlimited:!0,unit:c,message:"this token has no quota limit"};let D=0;if(w.ok){let z=await w.json();D=Number(z.total_usage??0)/100}let Z=Math.max(0,C-D);return{ok:!0,unlimited:!1,limit:C,used:D,remaining:Z,unit:c,message:`${Z.toFixed(2)} ${c} left of ${C.toFixed(2)} (${D.toFixed(2)} used)`}}catch(x){let w=x instanceof Error&&x.name==="AbortError";return{ok:!1,unlimited:!1,unit:c,message:w?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(f)}}function Ul(e,t){let r=new Set(e.map(o=>o.id)),n=[...e];for(let o of t)r.has(o)||(r.add(o),n.push({id:o,contextWindow:mb,compat:{..._l}}));return n}function zu(e){let t=0;return{models:e.map(n=>n.compat?.supportsDeveloperRole===!1?n:(t++,{...n,compat:{...n.compat,..._l}})),changed:t}}function Nl(e,t){let r=new Set(e.map(n=>n.id));return t.filter(n=>!r.has(n)).length}async function Dl(e,t,r){let n=(r?.baseUrl??Ys).replace(/\/+$/,""),o=r?.fetchImpl??fetch,i=r?.timeoutMs??1e4,a=new AbortController,c=setTimeout(()=>a.abort(),i);try{let p=await o(`${n}/chat/completions`,{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},body:JSON.stringify({model:e,messages:[{role:"user",content:"hi"}],max_tokens:1}),signal:a.signal});if(p.ok)return{ok:!0,detail:"ok"};let f=await p.text().catch(()=>"");return{ok:!1,detail:/"message"\s*:\s*"([^"]{0,80})/.exec(f)?.[1]??`HTTP ${p.status}`}}catch(p){return{ok:!1,detail:p instanceof Error&&p.name==="AbortError"?"timed out":"unreachable"}}finally{clearTimeout(c)}}async function Vu(e,t){let r=(t?.baseUrl??Ys).replace(/\/+$/,""),n=t?.fetchImpl??fetch,o=t?.timeoutMs??15e3,i=e.trim();if(!i)return{ok:!1,models:[],message:"no token given"};let a=new AbortController,c=setTimeout(()=>a.abort(),o);try{let p=await n(`${r}/models`,{headers:{Authorization:`Bearer ${i}`},signal:a.signal});if(p.status===401)return{ok:!1,models:[],message:"the gateway rejected that token (401). Check it in the Console, or make a new one."};if(p.status===403)return{ok:!1,models:[],message:"that token is not allowed to list models (403). The Console shows what a token may call."};if(!p.ok)return{ok:!1,models:[],message:`the gateway answered ${p.status}`};let f=cb(await p.json());return f.length===0?{ok:!1,models:[],message:"the token works but the gateway listed no models"}:{ok:!0,models:f,message:`${f.length} models available to this token`}}catch(p){let f=p instanceof Error&&p.name==="AbortError";return{ok:!1,models:[],message:f?`the gateway did not answer within ${Math.round(o/1e3)}s`:"could not reach the gateway"}}finally{clearTimeout(c)}}var Ys,Hu,Di,ub,_l,mb,pb,jl=u(()=>{po();Ys="https://api.howtofix.id/v1",Hu="https://howtofix.id/keys",Di=["howtofix","howtofix-free"];ub=9e4;_l={supportsDeveloperRole:!1},mb=128e3;pb=1e8});var Ju={};Rt(Ju,{CHECK_TIMEOUT_MS:()=>hb,INSTALL_TIMEOUT_MS:()=>xb,LOCK_TIMEOUT_MS:()=>Gl,PACKAGE_NAME:()=>Zs,acquireUpdateLock:()=>kb,autoUpdateEnabled:()=>Qj,checkForUpdate:()=>Yj,compareVersions:()=>Ib,installUpdate:()=>Xj,isInstalledCopy:()=>Zj,isNewer:()=>yb,latestVersion:()=>$b,releaseUpdateLock:()=>Eb});import{execFile as Bj}from"node:child_process";import{existsSync as Hj,mkdirSync as Wj,readFileSync as zj,realpathSync as Vj,statSync as lb,unlinkSync as gb,writeFileSync as Jj}from"node:fs";import{homedir as Kl}from"node:os";import{join as db,sep as ql}from"node:path";function Ib(e,t){let r=a=>{let c=a.trim().split("-")[0]?.split("+")[0]??"";if(/^\d+(\.\d+)*$/.test(c))return c.split(".").map(p=>Number(p))},n=r(e),o=r(t);if(!n||!o)return 0;let i=Math.max(n.length,o.length);for(let a=0;a<i;a+=1){let c=n[a]??0,p=o[a]??0;if(c>p)return 1;if(c<p)return-1}return 0}function yb(e,t){return e.includes("-")?!1:Ib(e,t)>0}function wb(){let t=process.env.HOWTOFIX_CODING_AGENT_DIR?.trim()||db(Kl(),".howtofix","agent");try{Wj(t,{recursive:!0})}catch{}return db(t,"update.lock")}function kb(e=Date.now()){let t=wb();try{if(Hj(t)){if(e-lb(t).mtimeMs<Gl)return!1;let n=lb(t).mtimeMs;if(e-n<Gl)return!1;gb(t)}return Jj(t,String(process.pid),{mode:384}),!0}catch{return!0}}function Eb(){try{gb(wb())}catch{}}async function $b(e){let r=await(e?.runner??bb)("npm",["view",`${Zs}@latest`,"version","--prefer-online"],{cwd:Kl(),timeoutMs:e?.timeoutMs??hb});if(r.code!==0)return;let n=r.stdout.trim().split(`
9
+ `).pop()?.trim()??"";return/^\d+\.\d+/.test(n)?n:void 0}async function Yj(e,t){let r=await $b(t);return r?yb(r,e)?{current:e,latest:r,available:!0,message:`HowToFix ${r} is available (you have ${e})`}:{current:e,latest:r,available:!1,message:`HowToFix ${e} is up to date`}:{current:e,available:!1,message:"could not check for a newer version"}}async function Xj(e){let t=e?.runner??bb;if(!kb())return{ok:!1,message:"another HowToFix is already installing an update"};try{let r=e?.version?`${Zs}@${e.version}`:`${Zs}@latest`,n=await t("npm",["install","-g",r],{cwd:Kl(),timeoutMs:e?.timeoutMs??xb});if(n.code!==0){let o=(n.stderr||n.stdout).trim().split(`
10
+ `).filter(Boolean).pop()??"";return{ok:!1,message:`the update did not install${/EACCES|EPERM|permission/i.test(o)?" \u2014 npm could not write to its global directory":""}${o?`: ${o}`:""}`}}return{ok:!0,version:e?.version,message:"updated; it takes effect the next time HowToFix starts"}}catch(r){return{ok:!1,message:`the update failed: ${r instanceof Error?r.message:String(r)}`}}finally{Eb()}}function Zj(e=process.argv[1]){if(!e)return!1;let t=e;try{t=Vj(e)}catch{}return t.includes(`${ql}node_modules${ql}${Zs}${ql}`)}function Qj(e){try{return JSON.parse(zj(e,"utf8")).autoUpdate!==!1}catch{return!0}}var Zs,hb,xb,Gl,bb,Yu=u(()=>{Zs="howtofixcli",hb=5e3,xb=12e4,Gl=600*1e3;bb=(e,t,r)=>new Promise(n=>{Bj(e,t,{cwd:r.cwd,timeout:r.timeoutMs,windowsHide:!0},(o,i,a)=>{let c=o&&typeof o.code=="number"?o.code:o?1:0;n({code:c,stdout:String(i??""),stderr:String(a??"")})})})});var Sb={};Rt(Sb,{expandFileReferences:()=>Bl});import{readFileSync as eq,statSync as tq}from"node:fs";import{isAbsolute as rq,resolve as nq}from"node:path";function Bl(e,t){return e.replace(/(^|\s)@([^\s]+)/g,(r,n,o)=>{let i=o.replace(/[),.;:]+$/,""),a=o.slice(i.length),c=rq(i)?i:nq(t,i);try{let p=tq(c);if(!p.isFile()||p.size===0||p.size>oq)return r;let f=eq(c);return f.includes(0)?r:`${n}<file name="${c}">
11
+ ${f.toString("utf8").trimEnd()}
12
+ </file>${a}`}catch{return r}})}var oq,Hl=u(()=>{oq=64*1024});function sq(e){let t=new WeakSet,r=n=>{if(n===null||typeof n!="object")return n;if(t.has(n))return"[circular]";if(t.add(n),Array.isArray(n))return n.map(r);let o=n,i={};for(let a of Object.keys(o).sort())i[a]=r(o[a]);return i};try{return JSON.stringify(r(e))??""}catch{return""}}function Tb(e,t){if(iq.has(e))return;let r=`${e}\0${sq(t)}`,n=Qs&&Qs.signature===r?Qs.count+1:1;return Qs={signature:r,count:n},n>=3?{repeats:n}:void 0}function Rb(){Qs=void 0}function Ab(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 iq,Qs,Wl=u(()=>{iq=new Set(["think"])});function Pb(e,t){switch(t){case"number":return/^\d+$/.test(e);case"string":return!0;default:return!1}}function uq(e,t,r){let n=t;for(;n<e.length;){let o=e[n];if(!o){n++;continue}if(o==="--")break;if(aq.test(o)){let i=o.includes("="),[a="",...c]=o.split("="),p=r.safeFlags[a];if(!p)return!1;if(p==="none"){if(i)return!1;n++;continue}if(p==="optional"){n++;continue}if(i){if(!Pb(c.join("="),p))return!1;n++;continue}let f=e[n+1];if(f===void 0||!Pb(f,p))return!1;n+=2;continue}if(r.allowPositional===!1)return!1;n++}return!0}function dq(e){if(!/\$\(|`|\$\{|>|</.test(e)&&!/(?<!&)&(?!&)/.test(e))return e.split(/\|\||&&|;|\|/).map(t=>t.trim()).filter(t=>t.length>0)}function gq(e){let t=e.some(n=>/^cd\b/.test(n)),r=e.some(n=>/^git\b/.test(n));return t&&r}function hq(e){let t=[],r=/'[^']*'|"[^"]*"|\S+/g;for(let n of e.match(r)??[])t.push(n.length>=2&&/^['"]/.test(n)?n.slice(1,-1):n);return t}function xq(e){if(e.length===0)return;let[t="",r=""]=e,n=`${t} ${r}`;if(t==="git"&&r==="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"&&r==="stash"?e[2]==="list"?{name:"git stash list",rest:e.slice(3)}:void 0:t==="git"&&r==="worktree"?e[2]==="list"?{name:"git worktree list",rest:e.slice(3)}:void 0:t==="git"&&Ob[`git ${r}`]?{name:`git ${r}`,rest:e.slice(2)}:Mb[n]?{name:n,rest:e.slice(2)}:{name:t,rest:e.slice(1)}}function yq(e){let t=hq(e),r=xq(t);if(!r)return!1;let{name:n,rest:o}=r;if(Iq.has(n)&&o.some(a=>a.includes("$")||a.includes("`")))return!1;let i=Ob[n]??fq[n]??Mb[n];return i?i.dangerous?.(o)?!1:uq(o,0,i):!!(pq.includes(n)||lq.includes(n))}function em(e){let t=dq(e);return!t||t.length===0||gq(t)?!1:t.every(yq)}var aq,mq,Xu,Zu,zl,Qu,Vl,Cb,cq,Ob,pq,fq,Mb,lq,Iq,Jl=u(()=>{aq=/^-[a-zA-Z0-9_-]/;mq={"--all":"none","--branches":"none","--tags":"none","--remotes":"none"},Xu={"--oneline":"none","--graph":"none","--decorate":"none","--no-decorate":"none","--date":"string","--relative-date":"none"},Zu={"--max-count":"number","-n":"number"},zl={"--stat":"none","--numstat":"none","--shortstat":"none","--name-only":"none","--name-status":"none"},Qu={"--color":"none","--no-color":"none"},Vl={"--patch":"none","-p":"none","--no-patch":"none","--no-ext-diff":"none","-s":"none"},Cb={"--author":"string","--committer":"string","--grep":"string"},cq={"-l":"none","--list":"none","-a":"none","-r":"none","-v":"none","-vv":"none","-i":"none"},Ob={"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",...Qu}},"git diff":{safeFlags:{...zl,...Qu,...Vl,"--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:{...Xu,...Zu,...zl,...Qu,...Vl,...Cb,...mq,"--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:{...zl,...Qu,...Vl,...Xu,"--format":"string","--pretty":"string","--abbrev-commit":"none","--no-patch":"none","-q":"none"}},"git shortlog":{safeFlags:{...Zu,"-s":"none","--summary":"none","-n":"none","--numbered":"none","-e":"none","--email":"none","-sn":"none","-ns":"none","--all":"none"}},"git reflog":{safeFlags:{...Zu,...Xu,...Cb,"--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:{...Zu,"--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:{...Xu}},"git worktree list":{safeFlags:{"--porcelain":"none","-v":"none","--verbose":"none","-z":"none"}},"git branch":{safeFlags:{...cq,"--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"]),r=!1;for(let n of e){if(r){r=!1;continue}if(t.has(n)){r=!0;continue}if(!n.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"]),r=!1;for(let n of e){if(r){r=!1;continue}if(t.has(n)){r=!0;continue}if(!n.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"}}},pq=["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"],fq={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))}},Mb={"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:{}}},lq=["cd","alias","history","arch","ip addr","ifconfig"];Iq=new Set(["echo","printf"])});var Db={};Rt(Db,{APPROVAL_LABELS:()=>tm,APPROVAL_MODES:()=>ji,MODE_MAX_TIER:()=>vb,TIER_RANK:()=>Yl,createPermissionExtension:()=>ea,criticalCommand:()=>Fb,decideToolCall:()=>Lb,describeToolCall:()=>Ub,formatApprovalPrompt:()=>Nb,getApprovalMode:()=>Eq,isApprovalMode:()=>bq,isReadOnlyCommand:()=>em,resolveTier:()=>Xl,setApprovalMode:()=>Ql,setApprovalPrompt:()=>ed});function bq(e){return ji.includes(e)}function Xl(e){let t=wq[e];return t||(e.startsWith("mcp__")?"write":"exec")}function Fb(e){for(let{pattern:t,reason:r}of kq)if(t.test(e))return r}function Ql(e){Zl=e}function Eq(){return Zl}function ed(e){_b=e}function Lb(e,t,r){let n=typeof r?.command=="string"?r.command:"";if(t==="bash"||t==="powershell"){let i=Fb(n);if(i)return{action:"deny",reason:`Refused in every mode: ${i}.`};if(em(n))return{action:"run"}}let o=Xl(t);return Yl[o]<=Yl[vb[e]]?{action:"run"}:{action:"prompt",reason:`this is a ${o}-tier tool`}}function Ub(e,t){if(t&&typeof t=="object"){let r=t;if((e==="bash"||e==="powershell")&&typeof r.command=="string")return r.command;if((e==="edit"||e==="write")&&typeof r.path=="string"){let n=Array.isArray(r.edits)?` (${r.edits.length} edits)`:"";return`${r.path}${n}`}try{let n=JSON.stringify(r);if(n&&n!=="{}")return n.length>300?`${n.slice(0,297)}...`:n}catch{}}return e}function Nb(e,t,r){let n=[`Allow tool: ${e}`];e.startsWith("mcp__")&&n.push("Origin: MCP server tool"),n.push(`Reason: ${r}`);let o=Ub(e,t);return o!==e&&n.push(o),n.join(`
13
+ `)}function ea(e={}){return t=>{t.on("tool_call",async r=>{let n=Tb(r.toolName,r.input);if(n)return{block:!0,reason:Ab(r.toolName,n.repeats)};let o=Zl,i=Lb(o,r.toolName,r.input);if(i.action==="run")return;if(i.action==="deny")return{block:!0,reason:i.reason};if(e.interactive===!1)return{block:!0,reason:`Blocked: this is a ${Xl(r.toolName)}-tier tool and no UI can approve it here (approval mode: ${o}).`};if(!await _b(`${r.toolName} wants to run`,Nb(r.toolName,r.input,i.reason)))return{block:!0,reason:`Blocked by the user (approval mode: ${o}).`}})}}var ji,tm,Yl,vb,wq,kq,Zl,_b,ta=u(()=>{Wl();Jl();Jl();ji=["suggest","auto-edit","full-auto"],tm={suggest:"suggest: ask before every edit and command","auto-edit":"auto-edit: edits run, commands ask","full-auto":"full-auto: nothing asks"};Yl={read:0,write:1,exec:2},vb={suggest:"read","auto-edit":"write","full-auto":"exec"},wq={read:"read",grep:"read",find:"read",ls:"read",think:"read",ask:"read",todo:"read",context:"read",web_search:"read",web_fetch:"read",lsp:"read",workflow:"exec",goal:"read",enter_plan_mode:"read",exit_plan_mode:"read",edit:"write",write:"write",bash:"exec",powershell:"exec",task:"exec"};kq=[{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"}];Zl="full-auto",_b=async()=>!1});import{existsSync as $q,readFileSync as Sq}from"node:fs";import{join as Tq}from"node:path";function Aq(e){try{if(!$q(e))return;let t=Sq(e,"utf8").trim();return!t||Buffer.byteLength(t,"utf8")>Rq?void 0:t}catch{return}}function qb(e){let t=[e],r=Aq(jb);return r&&t.push(`# Standing instructions from ${jb}
14
+ ${r}`),t}var jb,Rq,Gb=u(()=>{on();jb=Tq(ut,"APPEND_SYSTEM.md"),Rq=16*1024});function Pq(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 Oq(e){if(!e)return;let t=!1,r={...e};for(let n of Cq){let o=r[n];if(typeof o!="string")continue;let i=Pq(o);i!==o&&(r[n]=i,t=!0)}return t?r:void 0}function Kb(){return e=>{e.on("context_with_system",async t=>{let r=t.messages[0];if(!r||r.role!=="system")return;let n=Oq(r.sections);return n?{messages:t.messages.map(i=>i===r?{...r,sections:n}:i)}:void 0})}}var Cq,Bb=u(()=>{Cq=["preamble","rules","docs","addendum"]});function qi(e){return typeof e=="string"?e:Array.isArray(e)?e.map(t=>{let r=t;return r.type==="text"&&typeof r.text=="string"?r.text:""}).join(`
15
+ `):e==null?"":String(e)}function Gi(e,t){if(Array.isArray(e)){let r=e.map(o=>({...o})),n=r.filter(o=>o.type==="text");if(n.length>0){n[0].text=t;for(let o of n.slice(1))o.text="";return r}return[...r,{type:"text",text:t}]}return t}var rm=u(()=>{});var ae={};Rt(ae,{Match:()=>Mq});function Mq(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}var Hb=u(()=>{});var yt=u(()=>{Hb()});function zo(e,t,r){return e>=t&&e<=r}function Vb(e){return e===8205}function vq(e){return zo(e,55296,56319)}function Wb(e){return zo(e,127462,127487)}function Jb(e){return zo(e,65024,65039)}function Yb(e){return zo(e,768,879)||zo(e,6832,6911)||zo(e,7616,7679)||zo(e,65056,65071)}function nm(e){return e>65535?2:1}function zb(e,t){for(;t<e.length;){let r=e.codePointAt(t);if(Yb(r)||Jb(r))t+=nm(r);else break}return t}function td(e,t){let r=e.codePointAt(t),n=t+nm(r);for(n=zb(e,n);n<e.length-1&&Vb(e.codePointAt(n));){let o=e.codePointAt(n+1);n+=1+nm(o),n=zb(e,n)}return Wb(r)&&n<e.length&&Wb(e.codePointAt(n))&&(n+=nm(e.codePointAt(n))),n}function Xb(e){return e>=768&&(vq(e)||Yb(e)||Jb(e)||Vb(e))}function Zb(e){let t=0,r=0;for(;r<e.length;)r=td(e,r),t++;return t}function Fq(e,t){let r=0,n=0;for(;n<e.length;)if(n=td(e,n),++r>=t)return!0;return!1}function _q(e,t){let r=0,n=0;for(;n<e.length;)if(n=td(e,n),++r>t)return!1;return!0}function Qb(e,t){if(t===0)return!0;if(e.length<t)return!1;let r=0;for(;;){if(Xb(e.charCodeAt(r)))return Fq(e,t);if(++r>=t)return!0}}function ew(e,t){if(e.length<=t)return!0;let r=0;for(;;){if(Xb(e.charCodeAt(r)))return _q(e,t);if(++r>t)return!1}}var tw=u(()=>{});var s={};Rt(s,{Counted:()=>Xq,Entries:()=>eG,EntriesRegExp:()=>Qq,Every:()=>zq,EveryAll:()=>Vq,GraphemeCount:()=>Bq,HasPropertyKey:()=>Zq,IsArray:()=>na,IsBigInt:()=>ra,IsBoolean:()=>rw,IsClassInstance:()=>Kq,IsConstructor:()=>Uq,IsDeepEqual:()=>od,IsEqual:()=>Ie,IsFunction:()=>nw,IsGreaterEqualThan:()=>iw,IsGreaterThan:()=>jq,IsInteger:()=>rd,IsLessEqualThan:()=>ow,IsLessThan:()=>qq,IsMaxLength:()=>Hq,IsMinLength:()=>Wq,IsMultipleOf:()=>Gq,IsNull:()=>im,IsNumber:()=>sm,IsObject:()=>oa,IsObjectNotArray:()=>Nq,IsString:()=>am,IsSymbol:()=>Dq,IsUndefined:()=>nd,IsUnsafePropertyKey:()=>aw,IsValueLike:()=>sw,Keys:()=>om,ShiftLeft:()=>um,Some:()=>Jq,SomeAll:()=>Yq,Symbols:()=>tG,Values:()=>rG});function na(e){return Array.isArray(e)}function ra(e){return Ie(typeof e,"bigint")}function rw(e){return Ie(typeof e,"boolean")}function Uq(e){if(nd(e)||!nw(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function nw(e){return Ie(typeof e,"function")}function rd(e){return Number.isInteger(e)}function im(e){return Ie(e,null)}function sm(e){return Number.isFinite(e)}function Nq(e){return oa(e)&&!na(e)}function oa(e){return Ie(typeof e,"object")&&!im(e)}function am(e){return Ie(typeof e,"string")}function Dq(e){return Ie(typeof e,"symbol")}function nd(e){return Ie(e,void 0)}function Ie(e,t){return e===t}function jq(e,t){return e>t}function qq(e,t){return e<t}function ow(e,t){return e<=t}function iw(e,t){return e>=t}function Gq(e,t){if(ra(e)||ra(t))return BigInt(e)%BigInt(t)===0n;let r=1e-10;if(!sm(e)||rd(e)&&1/t%1===0)return!0;let n=e%t;return Math.min(Math.abs(n),Math.abs(n-t),Math.abs(n+t))<r}function Kq(e){if(!oa(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return im(t)?!1:Ie(typeof t.constructor,"function")&&!(Ie(t.constructor,globalThis.Object)||Ie(t.constructor.name,"Object"))}function sw(e){return ra(e)||rw(e)||im(e)||sm(e)||am(e)||nd(e)}function Bq(e){return Zb(e)}function Hq(e,t){return ew(e,t)}function Wq(e,t){return Qb(e,t)}function zq(e,t,r){return e.every((n,o)=>o<t||r(n,o))}function Vq(e,t,r){let n=!0;return e.forEach((o,i)=>{i>=t&&!r(o,i)&&(n=!1)}),n}function Jq(e,t){return e.some((r,n)=>t(r,n))}function Yq(e,t){let r=!1;return e.forEach((n,o)=>{t(n,o)&&(r=!0)}),r}function Xq(e,t){return e.reduce((r,n,o)=>t(n,o)?++r:r,0)}function um(e,t,r){return Ie(e.length,0)?r():t(e[0],e.slice(1))}function aw(e){return Ie(e,"__proto__")||Ie(e,"constructor")||Ie(e,"prototype")}function Zq(e,t){return aw(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function Qq(e){return om(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function eG(e){return Object.entries(e)}function om(e){return Object.getOwnPropertyNames(e)}function tG(e){return Object.getOwnPropertySymbols(e)}function rG(e){return Object.values(e)}function nG(e,t){if(!oa(t))return!1;let r=om(e);return Ie(r.length,om(t).length)&&r.every(n=>od(e[n],t[n]))}function oG(e,t){return na(t)&&Ie(e.length,t.length)&&e.every((r,n)=>od(e[n],t[n]))}function od(e,t){return na(e)?oG(e,t):oa(e)?nG(e,t):Ie(e,t)}var Ki=u(()=>{tw()});var uw=u(()=>{Ki()});var ft={};Rt(ft,{IsBigInt64Array:()=>IG,IsBigUint64Array:()=>yG,IsBoolean:()=>iG,IsDate:()=>wG,IsFloat32Array:()=>hG,IsFloat64Array:()=>xG,IsInt16Array:()=>fG,IsInt32Array:()=>dG,IsInt8Array:()=>mG,IsMap:()=>EG,IsNumber:()=>sG,IsRegExp:()=>bG,IsSet:()=>kG,IsString:()=>aG,IsTypeArray:()=>uG,IsUint16Array:()=>lG,IsUint32Array:()=>gG,IsUint8Array:()=>cG,IsUint8ClampedArray:()=>pG});function iG(e){return e instanceof Boolean}function sG(e){return e instanceof Number}function aG(e){return e instanceof String}function uG(e){return globalThis.ArrayBuffer.isView(e)}function mG(e){return e instanceof globalThis.Int8Array}function cG(e){return e instanceof globalThis.Uint8Array}function pG(e){return e instanceof globalThis.Uint8ClampedArray}function fG(e){return e instanceof globalThis.Int16Array}function lG(e){return e instanceof globalThis.Uint16Array}function dG(e){return e instanceof globalThis.Int32Array}function gG(e){return e instanceof globalThis.Uint32Array}function hG(e){return e instanceof globalThis.Float32Array}function xG(e){return e instanceof globalThis.Float64Array}function IG(e){return e instanceof globalThis.BigInt64Array}function yG(e){return e instanceof globalThis.BigUint64Array}function bG(e){return e instanceof globalThis.RegExp}function wG(e){return e instanceof globalThis.Date}function kG(e){return e instanceof globalThis.Set}function EG(e){return e instanceof globalThis.Map}var mw=u(()=>{});var cw=u(()=>{Ki()});var mm,l=u(()=>{uw();mw();cw();Ki();Ki();mm=s});var mt={};Rt(mt,{Get:()=>RG,Reset:()=>SG,Set:()=>TG});function SG(){$n.immutableTypes=!1,$n.maxErrors=8,$n.maxInstantiationCount=128,$n.useAcceleration=!0,$n.exactOptionalPropertyTypes=!1,$n.enumerableKind=!1,$n.correctiveParse=!1,$n.unionPrioritySort=!0}function TG(e){for(let t of s.Keys(e)){let r=e[t];r!==void 0&&Object.defineProperty($n,t,{value:r})}}function RG(){return $n}var $n,pw=u(()=>{l();$n={immutableTypes:!1,maxErrors:8,maxInstantiationCount:128,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0}});var Yn=u(()=>{pw()});function cm(e){return s.HasPropertyKey(e,"~refine")&&s.IsArray(e["~refine"])&&s.Every(e["~refine"],0,t=>s.IsObject(t)&&s.HasPropertyKey(t,"check")&&s.HasPropertyKey(t,"error")&&s.IsFunction(t.check)&&s.IsFunction(t.error))}var fw=u(()=>{l()});function er(e){return s.IsObject(e)&&!s.IsArray(e)}function fo(e){return s.IsBoolean(e)}function Y(e){return er(e)||fo(e)}var lt=u(()=>{l()});function pm(e){return s.HasPropertyKey(e,"additionalItems")&&Y(e.additionalItems)}var lw=u(()=>{l();lt()});function Br(e){return s.HasPropertyKey(e,"additionalProperties")&&Y(e.additionalProperties)}var dw=u(()=>{l();lt()});function fm(e){return s.HasPropertyKey(e,"allOf")&&s.IsArray(e.allOf)&&e.allOf.every(t=>Y(t))}var gw=u(()=>{l();lt()});function ia(e){return s.HasPropertyKey(e,"$anchor")&&s.IsString(e.$anchor)}var hw=u(()=>{l()});function lm(e){return s.HasPropertyKey(e,"anyOf")&&s.IsArray(e.anyOf)&&e.anyOf.every(t=>Y(t))}var xw=u(()=>{l();lt()});function id(e){return s.HasPropertyKey(e,"const")}var Iw=u(()=>{l()});function lo(e){return s.HasPropertyKey(e,"contains")&&Y(e.contains)}var yw=u(()=>{l();lt()});function wr(e){return s.HasPropertyKey(e,"default")}var bw=u(()=>{l()});var ww=u(()=>{l();lt()});function sd(e){return s.HasPropertyKey(e,"dependencies")&&s.IsObject(e.dependencies)&&Object.values(e.dependencies).every(t=>Y(t)||s.IsArray(t)&&t.every(r=>s.IsString(r)))}var kw=u(()=>{l();lt()});function ad(e){return s.HasPropertyKey(e,"dependentRequired")&&s.IsObject(e.dependentRequired)&&Object.values(e.dependentRequired).every(t=>s.IsArray(t)&&t.every(r=>s.IsString(r)))}var Ew=u(()=>{l()});function dm(e){return s.HasPropertyKey(e,"dependentSchemas")&&s.IsObject(e.dependentSchemas)&&Object.values(e.dependentSchemas).every(t=>Y(t))}var $w=u(()=>{l();lt()});function Xn(e){return s.HasPropertyKey(e,"$dynamicAnchor")&&s.IsString(e.$dynamicAnchor)}var Sw=u(()=>{l()});function gm(e){return s.HasPropertyKey(e,"$dynamicRef")&&s.IsString(e.$dynamicRef)}var Tw=u(()=>{l()});function hm(e){return s.HasPropertyKey(e,"else")&&Y(e.else)}var Rw=u(()=>{l();lt()});function ud(e){return s.HasPropertyKey(e,"enum")&&s.IsArray(e.enum)}var Aw=u(()=>{l()});function md(e){return s.HasPropertyKey(e,"exclusiveMaximum")&&(s.IsNumber(e.exclusiveMaximum)||s.IsBigInt(e.exclusiveMaximum))}var Pw=u(()=>{l()});function Zn(e){return s.HasPropertyKey(e,"exclusiveMinimum")&&(s.IsNumber(e.exclusiveMinimum)||s.IsBigInt(e.exclusiveMinimum))}var Cw=u(()=>{l()});function sa(e){return s.HasPropertyKey(e,"format")&&s.IsString(e.format)}var Ow=u(()=>{l()});function Fr(e){return s.HasPropertyKey(e,"$id")&&s.IsString(e.$id)}var Mw=u(()=>{l()});function xm(e){return s.HasPropertyKey(e,"if")&&Y(e.if)}var vw=u(()=>{l();lt()});function Vo(e){return s.HasPropertyKey(e,"items")&&(Y(e.items)||s.IsArray(e.items)&&e.items.every(t=>Y(t)))}function Im(e){return Vo(e)&&s.IsArray(e.items)}var Fw=u(()=>{l();lt()});function cd(e){return s.HasPropertyKey(e,"maximum")&&(s.IsNumber(e.maximum)||s.IsBigInt(e.maximum))}var _w=u(()=>{l()});function pd(e){return s.HasPropertyKey(e,"maxContains")&&s.IsNumber(e.maxContains)}var Lw=u(()=>{l()});function aa(e){return s.HasPropertyKey(e,"maxItems")&&s.IsNumber(e.maxItems)}var Uw=u(()=>{l()});function fd(e){return s.HasPropertyKey(e,"maxLength")&&s.IsNumber(e.maxLength)}var Nw=u(()=>{l()});function ld(e){return s.HasPropertyKey(e,"maxProperties")&&s.IsNumber(e.maxProperties)}var Dw=u(()=>{l()});function Qn(e){return s.HasPropertyKey(e,"minimum")&&(s.IsNumber(e.minimum)||s.IsBigInt(e.minimum))}var jw=u(()=>{l()});function Jo(e){return s.HasPropertyKey(e,"minContains")&&s.IsNumber(e.minContains)}var qw=u(()=>{l()});function Yo(e){return s.HasPropertyKey(e,"minItems")&&s.IsNumber(e.minItems)}var Gw=u(()=>{l()});function ua(e){return s.HasPropertyKey(e,"minLength")&&s.IsNumber(e.minLength)}var Kw=u(()=>{l()});function ma(e){return s.HasPropertyKey(e,"minProperties")&&s.IsNumber(e.minProperties)}var Bw=u(()=>{l()});function dd(e){return s.HasPropertyKey(e,"multipleOf")&&(s.IsNumber(e.multipleOf)||s.IsBigInt(e.multipleOf))}var Hw=u(()=>{l()});function ym(e){return s.HasPropertyKey(e,"not")&&Y(e.not)}var Ww=u(()=>{l();lt()});function bm(e){return s.HasPropertyKey(e,"oneOf")&&s.IsArray(e.oneOf)&&e.oneOf.every(t=>Y(t))}var zw=u(()=>{l();lt()});function ca(e){return s.HasPropertyKey(e,"pattern")&&(s.IsString(e.pattern)||e.pattern instanceof RegExp)}var Vw=u(()=>{l()});function Bi(e){return s.HasPropertyKey(e,"patternProperties")&&s.IsObject(e.patternProperties)&&Object.values(e.patternProperties).every(t=>Y(t))}var Jw=u(()=>{l();lt()});function Xo(e){return s.HasPropertyKey(e,"prefixItems")&&s.IsArray(e.prefixItems)&&e.prefixItems.every(t=>Y(t))}var Yw=u(()=>{l();lt()});function Hi(e){return s.HasPropertyKey(e,"properties")&&s.IsObject(e.properties)&&Object.values(e.properties).every(t=>Y(t))}var Xw=u(()=>{l();lt()});function wm(e){return s.HasPropertyKey(e,"propertyNames")&&(s.IsObject(e.propertyNames)||Y(e.propertyNames))}var Zw=u(()=>{l();lt()});function AG(e){return s.HasPropertyKey(e,"$recursiveAnchor")&&s.IsBoolean(e.$recursiveAnchor)}function pa(e){return AG(e)&&s.IsEqual(e.$recursiveAnchor,!0)}var Qw=u(()=>{l()});function km(e){return s.HasPropertyKey(e,"$recursiveRef")&&s.IsString(e.$recursiveRef)}var ek=u(()=>{l()});function Em(e){return s.HasPropertyKey(e,"$ref")&&s.IsString(e.$ref)}var tk=u(()=>{l()});function Zo(e){return s.HasPropertyKey(e,"required")&&s.IsArray(e.required)&&e.required.every(t=>s.IsString(t))}var rk=u(()=>{l()});function $m(e){return s.HasPropertyKey(e,"then")&&Y(e.then)}var nk=u(()=>{l();lt()});function gd(e){return s.HasPropertyKey(e,"type")&&(s.IsString(e.type)||s.IsArray(e.type)&&e.type.every(t=>s.IsString(t)))}var ok=u(()=>{l()});function go(e){return s.HasPropertyKey(e,"uniqueItems")&&s.IsBoolean(e.uniqueItems)}var ik=u(()=>{l()});function fa(e){return s.HasPropertyKey(e,"unevaluatedItems")&&Y(e.unevaluatedItems)}var sk=u(()=>{l();lt()});function la(e){return s.HasPropertyKey(e,"unevaluatedProperties")&&Y(e.unevaluatedProperties)}var ak=u(()=>{l();lt()});var Ce=u(()=>{fw();lw();dw();gw();hw();xw();Iw();yw();bw();ww();kw();Ew();$w();Sw();Tw();Rw();Aw();Pw();Cw();Ow();Mw();vw();Fw();_w();Lw();Uw();Nw();Dw();jw();qw();Gw();Kw();Bw();Hw();Ww();zw();Vw();Jw();Yw();Xw();Zw();Qw();ek();tk();rk();lt();nk();ok();ik();sk();ak()});var tr,Gt,Sn=u(()=>{Yn();Ce();l();tr=class{constructor(){let t=new Set,r=new Set;this.stack=[{indices:t,keys:r}]}Push(){let t=new Set,r=new Set;return this.stack.push({indices:t,keys:r}),!0}Pop(){return this.stack.pop(),!0}AddIndex(t){return this.GetIndices().add(t),!0}AddKey(t){return this.GetKeys().add(t),!0}GetIndices(){return this.stack[this.stack.length-1].indices}GetKeys(){return this.stack[this.stack.length-1].keys}Merge(t){for(let r of t)r.GetIndices().forEach(n=>this.GetIndices().add(n)),r.GetKeys().forEach(n=>this.GetKeys().add(n));return!0}},Gt=class extends tr{constructor(){super(),this.errors=[]}AtCapacity(){return this.errors.length>=mt.Get().maxErrors}AddError(t){return this.AtCapacity()||this.errors.push(t),!1}GetErrors(){return this.errors}}});var ho=u(()=>{});function uk(e,t,r,n){return s.Every(r["~refine"],0,(o,i)=>o.check(n))}function mk(e,t,r,n,o,i){return s.EveryAll(o["~refine"],0,(a,c)=>a.check(i)||t.AddError({keyword:"~refine",schemaPath:r,instancePath:n,params:{index:c,message:a.error(i)}}))}var hd=u(()=>{ho();l()});var sn=u(()=>{});function ck(e){return Vo(e)&&s.IsArray(e.items)}function pk(e,t,r,n){return ck(r)?s.Every(n,0,(i,a)=>s.IsLessThan(a,r.items.length)||_r(e,t,r.additionalItems,i)&&t.AddIndex(a)):!0}function fk(e,t,r,n,o,i){return ck(o)?s.Every(i,0,(c,p)=>{let f=`${r}/additionalItems`,g=`${n}/${p}`;return s.IsLessThan(p,o.items.length)||Lr(e,t,f,g,o.additionalItems,c)&&t.AddIndex(p)}):!0}var xd=u(()=>{Ce();sn();l();Ke()});function xo(e){return new RegExp(e,"u")}var Sm=u(()=>{});function PG(e){return`^${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`}function lk(e){let t=[];return Bi(e)&&t.push(...s.Keys(e.patternProperties)),Hi(e)&&t.push(...s.Keys(e.properties).map(PG)),s.IsEqual(t.length,0)?"(?!)":`(${t.join("|")})`}function dk(e,t,r,n){let o=xo(lk(r));return s.Every(s.Keys(n),0,(a,c)=>o.test(a)||_r(e,t,r.additionalProperties,n[a])&&t.AddKey(a))}function gk(e,t,r,n,o,i){let a=xo(lk(o)),c=[];return s.EveryAll(s.Keys(i),0,(f,g)=>{let x=`${r}/additionalProperties`,w=`${n}/${f}`,$=a.test(f)||Lr(e,t,x,w,o.additionalProperties,i[f])&&t.AddKey(f);return $||c.push(f),$})||t.AddError({keyword:"additionalProperties",schemaPath:r,instancePath:n,params:{additionalProperties:c}})}var Id=u(()=>{Ce();ho();sn();Sm();l();Ke()});var zi=u(()=>{l();Ke()});function hk(e,t,r,n){let o=r.allOf.reduce((i,a)=>{let c=new tr;return ye(e,c,a,n)?[...i,c]:i},[]);return s.IsEqual(o.length,r.allOf.length)&&t.Merge(o)}function xk(e,t,r,n,o,i){let a=[],c=o.allOf.reduce((f,g,x)=>{let w=`${r}/allOf/${x}`,$=new Gt,C=Fe(e,$,w,n,g,i);return C||a.push($),C?[...f,$]:f},[]),p=s.IsEqual(c.length,o.allOf.length)&&t.Merge(c);return p||a.forEach(f=>f.GetErrors().forEach(g=>t.AddError(g))),p}var bd=u(()=>{Sn();zi();l();Ke()});function Ik(e,t,r,n){let o=r.anyOf.reduce((i,a)=>{let c=new tr;return ye(e,c,a,n)?[...i,c]:i},[]);return s.IsGreaterThan(o.length,0)&&t.Merge(o)}function yk(e,t,r,n,o,i){let a=[],c=o.anyOf.reduce((f,g,x)=>{let w=new Gt,$=`${r}/anyOf/${x}`,C=Fe(e,w,$,n,g,i);return C||a.push(w),C?[...f,w]:f},[]),p=s.IsGreaterThan(c.length,0)&&t.Merge(c);return p||a.forEach(f=>f.GetErrors().forEach(g=>t.AddError(g))),p||t.AddError({keyword:"anyOf",schemaPath:r,instancePath:n,params:{}})}var wd=u(()=>{Sn();zi();l();Ke()});function kd(e,t,r,n){return r}function bk(e,t,r,n,o,i){return kd(e,t,o,i)||t.AddError({keyword:"boolean",schemaPath:r,instancePath:n,params:{}})}var Ed=u(()=>{l()});function $d(e,t,r,n){return s.IsValueLike(r.const)?s.IsEqual(n,r.const):s.IsDeepEqual(n,r.const)}function wk(e,t,r,n,o,i){return $d(e,t,o,i)||t.AddError({keyword:"const",schemaPath:r,instancePath:n,params:{allowedValue:o.const}})}var Sd=u(()=>{ho();l()});function CG(e){return!(Jo(e)&&s.IsEqual(e.minContains,0))}function Td(e,t,r,n){return CG(r)?!s.IsEqual(n.length,0)&&s.SomeAll(n,(o,i)=>ye(e,t,r.contains,o)&&t.AddIndex(i)):!0}function kk(e,t,r,n,o,i){return Td(e,t,o,i)||t.AddError({keyword:"contains",schemaPath:r,instancePath:n,params:{minContains:1}})}var Rd=u(()=>{Ce();sn();l();Ke()});function Ek(e,t,r,n){let o=s.IsEqual(s.Keys(n).length,0),i=s.Every(s.Entries(r.dependencies),0,([a,c])=>!s.HasPropertyKey(n,a)||(s.IsArray(c)?c.every(p=>s.HasPropertyKey(n,p)):ye(e,t,c,n)));return o||i}function $k(e,t,r,n,o,i){let a=s.IsEqual(s.Keys(i).length,0),c=s.EveryAll(s.Entries(o.dependencies),0,([p,f])=>{let g=`${r}/dependencies/${p}`;return!s.HasPropertyKey(i,p)||(s.IsArray(f)?f.every(x=>s.HasPropertyKey(i,x)||t.AddError({keyword:"dependencies",schemaPath:r,instancePath:n,params:{property:p,dependencies:f}})):Fe(e,t,g,n,f,i))});return a||c}var Ad=u(()=>{l();Ke()});function Sk(e,t,r,n){let o=s.IsEqual(s.Keys(n).length,0),i=s.Every(s.Entries(r.dependentRequired),0,([a,c])=>!s.HasPropertyKey(n,a)||c.every(p=>s.HasPropertyKey(n,p)));return o||i}function Tk(e,t,r,n,o,i){let a=s.IsEqual(s.Keys(i).length,0),c=s.EveryAll(s.Entries(o.dependentRequired),0,([p,f])=>!s.HasPropertyKey(i,p)||s.EveryAll(f,0,g=>s.HasPropertyKey(i,g)||t.AddError({keyword:"dependentRequired",schemaPath:r,instancePath:n,params:{property:p,dependencies:f}})));return a||c}var Pd=u(()=>{l()});function Rk(e,t,r,n){let o=s.IsEqual(s.Keys(n).length,0),i=s.Every(s.Entries(r.dependentSchemas),0,([a,c])=>!s.HasPropertyKey(n,a)||ye(e,t,c,n));return o||i}function Ak(e,t,r,n,o,i){let a=s.IsEqual(s.Keys(i).length,0),c=s.EveryAll(s.Entries(o.dependentSchemas),0,([p,f])=>{let g=`${r}/dependentSchemas/${p}`;return!s.HasPropertyKey(i,p)||Fe(e,t,g,n,f,i)});return a||c}var Cd=u(()=>{l();Ke()});function Pk(e,t,r,n){let o=e.DynamicRef(r)??!1;return Y(o)&&ye(e,t,o,n)}function Ck(e,t,r,n,o,i){let a=e.DynamicRef(o)??!1;return Y(a)&&Fe(e,t,"#",n,a,i)}var Ok=u(()=>{ha();Ce();Ke()});function vd(e,t,r,n){return s.Some(r.enum,o=>s.IsValueLike(o)?s.IsEqual(n,o):s.IsDeepEqual(n,o))}function Mk(e,t,r,n,o,i){return vd(e,t,o,i)||t.AddError({keyword:"enum",schemaPath:r,instancePath:n,params:{allowedValues:o.enum}})}var Fd=u(()=>{ho();l()});function _d(e,t,r,n){return s.IsLessThan(n,r.exclusiveMaximum)}function vk(e,t,r,n,o,i){return _d(e,t,o,i)||t.AddError({keyword:"exclusiveMaximum",schemaPath:r,instancePath:n,params:{comparison:"<",limit:o.exclusiveMaximum}})}var Ld=u(()=>{l()});function Ud(e,t,r,n){return s.IsGreaterThan(n,r.exclusiveMinimum)}function Fk(e,t,r,n,o,i){return Ud(e,t,o,i)||t.AddError({keyword:"exclusiveMinimum",schemaPath:r,instancePath:n,params:{comparison:">",limit:o.exclusiveMinimum}})}var Nd=u(()=>{l()});function vG(e){return e%4===0&&(e%100!==0||e%400===0)}function Vi(e){let t=MG.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&vG(r)?29:OG[n])}var OG,MG,Tm=u(()=>{OG=[0,31,28,31,30,31,30,31,31,30,31,30,31],MG=/^(\d\d\d\d)-(\d\d)-(\d\d)$/});function Ji(e,t=!0){let r=FG.exec(e);if(!r||t&&!r[4]&&!r[5])return!1;let n=+r[1],o=+r[2],i=+r[3];if(n>23||o>59||i>60)return!1;if(r[5]){let g=+r[6],x=+r[7];if(g>23||x>59)return!1}if(i<60)return!0;let a=r[5]==="-"?-1:1,c=+(r[6]||0),p=+(r[7]||0);return((n*60+o-a*(c*60+p))%1440+1440)%1440===1439}var FG,Rm=u(()=>{FG=/^(\d\d):(\d\d):(\d\d)(?:\.\d+)?(?:([Zz])|([+-])(\d\d):(\d\d))?$/});function Am(e){let t=e.split(/T/i);return t.length===2&&Vi(t[0])&&Ji(t[1])}var Dd=u(()=>{Tm();Rm()});function Pm(e){return _G.test(e)}var _G,jd=u(()=>{_G=/^P((\d+Y(\d+M(\d+D)?)?|\d+M(\d+D)?|\d+D)(T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S))?|T(\d+H(\d+M(\d+S)?)?|\d+M(\d+S)?|\d+S)|\d+W)$/});function Cm(e){return LG.test(e)}var LG,qd=u(()=>{LG=/^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[^"\\]|\\[\x20-\x7e])*")@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*|\[(?:IPv6:[a-f0-9:]+|(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?:\.(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3})\])$/i});var _k,Lk,Uk,eZ,Yi,UG,Nk,NG,DG,jG,Gd,qG,tZ,Dk,Kd,GG,jk,Om,qk,Gk,Bd,Kk,KG,BG,Bk,Hk,Xi=u(()=>{_k=/^(?!-).*(?<!-)$/,Lk=/^(?!..--)/,Uk=/^[a-zA-Z0-9-]*$/,eZ=new RegExp("^\\p{ASCII}*$","u"),Yi=/[^\p{ASCII}]/u,UG=/[0-9]/,Nk=/[\u{0660}-\u{0669}]/u,NG=/[\u{06f0}-\u{06f9}]/u,DG=/[\u{002e}\u{002c}\u{003a}\u{002f}]/u,jG=/[\u{002d}\u{002b}]/u,Gd=new RegExp("\\p{Mn}","u"),qG=new RegExp("\\p{Mc}","u"),tZ=new RegExp("\\p{Me}","u"),Dk=/[\p{Mn}\p{Mc}\p{Me}]/u,Kd=new RegExp("\\p{L}","u"),GG=new RegExp("\\p{Nd}","u"),jk=new RegExp("\\p{Script=Greek}","u"),Om=new RegExp("\\p{Script=Hebrew}","u"),qk=/[\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Han}]/u,Gk=/[\p{Script=Arabic}\p{Script=Syriac}\p{Script=Thaana}\p{Script=Mandaic}]/u,Bd=/[\u{094d}\u{09cd}\u{0a4d}\u{0acd}\u{0b4d}\u{0bcd}\u{0c4d}\u{0ccd}\u{0d3b}\u{0d3c}\u{0d4d}\u{0dca}\u{1b44}\u{1baa}\u{1bab}\u{a9c0}\u{11046}\u{1107f}\u{110b9}\u{11133}\u{11134}\u{111c0}\u{11235}\u{1134d}\u{11442}\u{114c2}\u{115bf}\u{1163f}\u{116b6}\u{11c3f}\u{11d44}\u{11d45}]/u,Kk=/[\u{0640}\u{07fa}\u{302e}\u{302f}\u{3031}\u{3032}\u{3033}\u{3034}\u{3035}\u{303b}]/u,KG=/[\u{00b7}\u{0375}\u{05f3}\u{05f4}\u{200c}\u{200d}\u{30fb}]/u,BG=/[\u{00df}\u{03c2}\u{06fd}\u{06fe}\u{0f0b}\u{3007}]/u,Bk=new RegExp([UG,NG].map(e=>e.source).join("|"),"u"),Hk=new RegExp([Kd,jG,DG,GG,Gd,qG,KG,BG].map(e=>e.source).join("|"),"u")});function Wk(e){return _k.test(e)&&Lk.test(e)&&Uk.test(e)}var zk=u(()=>{Xi()});function Hd(){throw null}function Mm(e){return e.toLowerCase().startsWith("xn--")}function Xk(e,t,r){e=r?Math.floor(e/zG):e>>1,e+=Math.floor(e/t);let n=0;for(;e>(an-Ia)*ya>>1;)e=Math.floor(e/(an-Ia)),n+=an;return n+Math.floor((an-Ia+1)*e/(e+WG))}function vm(e){let t=[],r=Yk,n=0,o=Jk,i=e.lastIndexOf("-");if(i>0)for(let c=0;c<i;c++){let p=e.charCodeAt(c);p>=128&&Hd(),t.push(p)}let a=i<0?0:i+1;for(;a<e.length;){let c=n,p=1,f=an;for(;;){a>=e.length&&Hd();let x=e.charCodeAt(a++),w;x>=97&&x<=122?w=x-97:x>=48&&x<=57?w=x-48+26:Hd(),n+=w*p;let $=f<=o?Ia:f>=o+ya?ya:f-o;if(w<$)break;p*=an-$,f+=an}let g=t.length+1;o=Xk(n-c,g,c===0),r+=Math.floor(n/g),n%=g,t.splice(n,0,r),n++}return String.fromCodePoint(...t)}function Vk(e){return e<26?String.fromCharCode(e+97):String.fromCharCode(e-26+48)}function Zk(e){let t=e.replace(VG,""),r=t.length,n=r>0?[t,"-"]:[],o=Array.from(e,f=>f.codePointAt(0)),i=Yk,a=0,c=Jk,p=r;for(;p<o.length;){let f=1/0;for(let g of o)g>=i&&g<f&&(f=g);a+=(f-i)*(p+1),i=f;for(let g of o)if(g<i&&a++,g===i){let x=a;for(let w=an;;w+=an){let $=w<=c?Ia:w>=c+ya?ya:w-c;if(x<$)break;let C=$+(x-$)%(an-$);n.push(Vk(C)),x=Math.floor((x-$)/(an-$))}n.push(Vk(x)),c=Xk(a,p+1,p===r),a=0,p++}a++,i++}return n.join("")}var an,Ia,ya,WG,zG,Jk,Yk,VG,Fm=u(()=>{Xi();an=36,Ia=1,ya=26,WG=38,zG=700,Jk=72,Yk=128;VG=new RegExp(Yi.source,"gu")});function eE(e){if(Mm(e))try{return _m(vm(e.slice(4).toLowerCase()))}catch{return!1}return _m(e)}function tE(e){let t=String.fromCodePoint(e);return Bk.test(t)?"EN":Nk.test(t)?"AN":Gd.test(t)?"NSM":Om.test(t)?"R":Gk.test(t)?"AL":Kd.test(t)?"L":"ON"}function _m(e){for(let t of e)if(YG.test(tE(t.codePointAt(0))))return!0;return!1}function Lm(e){let t=!1,r=Qk,n=!1,o=!1,i=!0;for(let a of e){let c=tE(a.codePointAt(0));if(i){if(c!=="L"&&c!=="R"&&c!=="AL")return!1;t=c==="R"||c==="AL",r=t?JG:Qk,i=!1}if(!r.test(c))return!1;c==="EN"?n=!0:c==="AN"&&(o=!0)}return!(t&&n&&o)}var JG,Qk,YG,zd=u(()=>{Fm();Xi();JG=/^(?:R|AL|AN|EN|ES|CS|ET|ON|BN|NSM)$/,Qk=/^(?:L|EN|ES|CS|ET|ON|BN|NSM)$/,YG=/^(?:R|AL|AN)$/});function XG(e){return Yi.test(e)&&Zk(e).length+4>63}function ZG(e){return e[0]==="-"||e[e.length-1]==="-"?!0:e.slice(2).join("").startsWith("--")}function Um(e){if(XG(e)||_m(e)&&!Lm(e))return!1;let t=[...e],r=t.map(i=>i.codePointAt(0)),n=r.length;if(ZG(t)||Dk.test(t[0]))return!1;let o=!1;for(let i=0;i<n;i++){let a=r[i],c=t[i];if(Kk.test(c)||!Hk.test(c))return!1;qk.test(c)&&(o=!0);let p=r[i-1],f=r[i+1];switch(a){case 183:if(p!==108||f!==108)return!1;break;case 885:if(!f||!jk.test(t[i+1]))return!1;break;case 1523:case 1524:if(!p||!Om.test(t[i-1]))return!1;break;case 8204:if(!p||p<128&&!Bd.test(t[i-1]))return!1;break;case 8205:if(!p||!Bd.test(t[i-1]))return!1;break;case 12539:break}}return!(e.includes("\u30FB")&&!o)}var Vd=u(()=>{Xi();zd();Fm()});function Nm(e){if(!Mm(e))return!1;try{let t=e.slice(4).toLowerCase();if(t.lastIndexOf("-")===0)return!1;let r=vm(t);return Yi.test(r)?Um(r):!1}catch{return!1}}var Jd=u(()=>{Fm();Vd();Xi()});function QG(e){return e.length>0&&e.length<=63}function eK(e){return QG(e)&&(Nm(e)||Wk(e))}function iE(e){return e.length===0||e.length>253||e.charCodeAt(e.length-1)===46?!1:e.split(".").every(t=>eK(t))}var sE=u(()=>{zk();Jd()});function tK(e){return e.length>0&&e.length<=63}function rK(e){return tK(e)&&(Nm(e)||Um(e))}function nK(e){return e.replace(/[\uff01-\uff5e]/g,t=>String.fromCharCode(t.charCodeAt(0)-65248)).normalize("NFC").replace(/[\u00ad\u034f\u180b-\u180d\u200b\ufe00-\ufe0f\u{e0100}-\u{e01ef}]/gu,"").replace(/[\u002E\u3002\uFF0E\uFF61]/g,".")}function aE(e){if(e.length===0||e.includes(" "))return!1;let t=nK(e);if(t.length>253)return!1;let r=t.split("."),n=r.some(o=>eE(o));return r.every(o=>rK(o)&&(!n||Lm(o)))}var uE=u(()=>{zd();Vd();Jd()});var Yd=u(()=>{sE();uE()});function Dm(e){return iE(e)}var Xd=u(()=>{Yd()});function jm(e){return oK.test(e.normalize("NFC"))}var oK,Zd=u(()=>{oK=/^(?:[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+(?:\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~\u{0080}-\u{10FFFF}-]+)*|"(?:[^"\\]|\\.)*")@[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-)(?:\.[\p{L}\p{N}](?:[\p{L}\p{N}-]{0,62})(?<!-))*$/iu});function qm(e){return aE(e)}var Qd=u(()=>{Yd()});function Gm(e){return iK.test(e)}var iK,eg=u(()=>{iK=/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/});function Km(e){return sK.test(e)}var sK,tg=u(()=>{sK=/^(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:)?[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)$/i});function Bm(e){return!aK.test(e)&&!uK.test(e)&&URL.canParse(e,"http://example.com")}var aK,uK,rg=u(()=>{aK=/[\x00-\x20\x7F\\]|%(?![0-9a-fA-F]{2})/,uK=/^[a-zA-Z][a-zA-Z0-9+\-.]*\/\//});function fK(e){return e.length<2048?e.replace(mK,"[::1]"):e}function Hm(e){return cK.test(e)||pK.test(e)?!1:URL.canParse(fK(e))}var mK,cK,pK,ng=u(()=>{mK=/\[[vV][0-9a-fA-F]+\.[^\]]+\]/,cK=/[\x00-\x20<>\^`{|}\\]/,pK=/%(?![0-9a-fA-F]{2})/});function Wm(e){return lK.test(e)}var lK,og=u(()=>{lK=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i});function zm(e){return dK.test(e)}var dK,ig=u(()=>{dK=/^(?:\/(?:[^~/]|~0|~1)*)*$/});function Vm(e){try{return new RegExp(e,"u"),!0}catch{return!1}}var sg=u(()=>{});function Jm(e){return gK.test(e)}var gK,ag=u(()=>{gK=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/});function Ym(e){return hK.test(e)}var hK,ug=u(()=>{hK=/^(?:[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i});function Xm(e){return xK.test(e)}var xK,mg=u(()=>{xK=/^(?:(?:[^\x00-\x20"<>%\\^`{|}\x7f]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?:\.(?:[a-z0-9_]|%[0-9a-f]{2})+)*(?::[1-9]\d{0,3}|\*)?)*\})*$/i});function Zm(e){return IK.test(e)}var IK,cg=u(()=>{IK=/^[a-z][a-z0-9+\-.]*:(?:\/\/(?:(?:[-a-z0-9._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:[\da-f]{1,4}:){6}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|::(?:[\da-f]{1,4}:){5}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:[\da-f]{1,4})?::(?:[\da-f]{1,4}:){4}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,1}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){3}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,2}[\da-f]{1,4})?::(?:[\da-f]{1,4}:){2}(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,3}[\da-f]{1,4})?::[\da-f]{1,4}:(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,4}[\da-f]{1,4})?::(?:[\da-f]{1,4}:[\da-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d))|(?:(?:[\da-f]{1,4}:){0,5}[\da-f]{1,4})?::[\da-f]{1,4}|(?:(?:[\da-f]{1,4}:){0,6}[\da-f]{1,4})?::)|v[0-9a-f]+\.[-a-z0-9._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)|(?:[-a-z0-9._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[-a-z0-9._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[-a-z0-9._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i});function Qm(e){return URL.canParse(e)}var pg=u(()=>{});function ec(e){return yK.test(e)}var yK,fg=u(()=>{yK=/^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i});function cE(){De.clear()}function bK(){return[...De.entries()]}function wK(e,t){De.set(e,t)}function kK(e){return De.has(e)}function EK(e){return De.get(e)}function $K(e,t){return De.get(e)?.(t)??!0}function pE(){cE(),De.set("date-time",Am),De.set("date",Vi),De.set("duration",Pm),De.set("email",Cm),De.set("hostname",Dm),De.set("idn-email",jm),De.set("idn-hostname",qm),De.set("ipv4",Gm),De.set("ipv6",Km),De.set("iri-reference",Bm),De.set("iri",Hm),De.set("json-pointer-uri-fragment",Wm),De.set("json-pointer",zm),De.set("regex",Vm),De.set("relative-json-pointer",Jm),De.set("time",Ji),De.set("uri-reference",Ym),De.set("uri-template",Xm),De.set("uri",Zm),De.set("url",Qm),De.set("uuid",ec)}var De,fE=u(()=>{Dd();Tm();jd();qd();Xd();Zd();Qd();eg();tg();rg();ng();og();ig();sg();ag();Rm();ug();mg();cg();pg();fg();De=new Map;pE()});var Zi={};Rt(Zi,{Clear:()=>cE,Entries:()=>bK,Get:()=>EK,Has:()=>kK,IsDate:()=>Vi,IsDateTime:()=>Am,IsDuration:()=>Pm,IsEmail:()=>Cm,IsHostname:()=>Dm,IsIPv4:()=>Gm,IsIPv6:()=>Km,IsIdnEmail:()=>jm,IsIdnHostname:()=>qm,IsIri:()=>Hm,IsIriReference:()=>Bm,IsJsonPointer:()=>zm,IsJsonPointerUriFragment:()=>Wm,IsRegex:()=>Vm,IsRelativeJsonPointer:()=>Jm,IsTime:()=>Ji,IsUri:()=>Zm,IsUriReference:()=>Ym,IsUriTemplate:()=>Xm,IsUrl:()=>Qm,IsUuid:()=>ec,Reset:()=>pE,Set:()=>wK,Test:()=>$K});var tc=u(()=>{fE();Dd();Tm();jd();qd();Xd();Zd();Qd();eg();tg();rg();ng();og();ig();sg();ag();Rm();ug();mg();cg();pg();fg()});var lg=u(()=>{tc();tc();tc()});function dg(e,t,r,n){return Zi.Test(r.format,n)}function lE(e,t,r,n,o,i){return dg(e,t,o,i)||t.AddError({keyword:"format",schemaPath:r,instancePath:n,params:{format:o.format}})}var gg=u(()=>{lg();l()});function dE(e,t,r,n){let o=$m(r)?r.then:!0,i=hm(r)?r.else:!0;return ye(e,t,r.if,n)?ye(e,t,o,n):ye(e,t,i,n)}function gE(e,t,r,n,o,i){let a=$m(o)?o.then:!0,c=hm(o)?o.else:!0,p=new Gt,f=Fe(e,p,`${r}/if`,n,o.if,i)?Fe(e,p,`${r}/then`,n,a,i)||t.AddError({keyword:"if",schemaPath:r,instancePath:n,params:{failingKeyword:"then"}}):Fe(e,t,`${r}/else`,n,c,i)||t.AddError({keyword:"if",schemaPath:r,instancePath:n,params:{failingKeyword:"else"}});return f&&t.Merge([p]),f}var hg=u(()=>{Ce();Sn();l();Ke()});function SK(e,t,r,n){return s.Every(r.items,0,(o,i)=>s.IsLessEqualThan(n.length,i)||_r(e,t,o,n[i])&&t.AddIndex(i))}function TK(e,t,r,n,o,i){return s.EveryAll(o.items,0,(a,c)=>{let p=`${r}/items/${c}`,f=`${n}/${c}`;return s.IsLessEqualThan(i.length,c)||Lr(e,t,p,f,a,i[c])&&t.AddIndex(c)})}function RK(e,t,r,n){let o=Xo(r)?r.prefixItems.length:0;return s.Every(n,o,(i,a)=>_r(e,t,r.items,i)&&t.AddIndex(a))}function AK(e,t,r,n,o,i){let a=Xo(o)?o.prefixItems.length:0;return s.EveryAll(i,a,(c,p)=>{let f=`${r}/items`,g=`${n}/${p}`;return Lr(e,t,f,g,o.items,c)&&t.AddIndex(p)})}function hE(e,t,r,n){return Im(r)?SK(e,t,r,n):RK(e,t,r,n)}function xE(e,t,r,n,o,i){return Im(o)?TK(e,t,r,n,o,i):AK(e,t,r,n,o,i)}var xg=u(()=>{Ce();l();Ke()});function PK(e){return lo(e)}function Ig(e,t,r,n){if(!PK(r))return!0;let o=s.Counted(n,i=>ye(e,t,r.contains,i));return s.IsLessEqualThan(o,r.maxContains)}function IE(e,t,r,n,o,i){let a=Jo(o)?o.minContains:1;return Ig(e,t,o,i)||t.AddError({keyword:"contains",schemaPath:r,instancePath:n,params:{minContains:a,maxContains:o.maxContains}})}var yg=u(()=>{Ce();sn();l();Ke()});function bg(e,t,r,n){return s.IsLessEqualThan(n,r.maximum)}function yE(e,t,r,n,o,i){return bg(e,t,o,i)||t.AddError({keyword:"maximum",schemaPath:r,instancePath:n,params:{comparison:"<=",limit:o.maximum}})}var wg=u(()=>{l()});function kg(e,t,r,n){return s.IsLessEqualThan(n.length,r.maxItems)}function bE(e,t,r,n,o,i){return kg(e,t,o,i)||t.AddError({keyword:"maxItems",schemaPath:r,instancePath:n,params:{limit:o.maxItems}})}var Eg=u(()=>{l()});function $g(e,t,r,n){return s.IsMaxLength(n,r.maxLength)}function wE(e,t,r,n,o,i){return $g(e,t,o,i)||t.AddError({keyword:"maxLength",schemaPath:r,instancePath:n,params:{limit:o.maxLength}})}var Sg=u(()=>{l()});function Tg(e,t,r,n){return s.IsLessEqualThan(s.Keys(n).length,r.maxProperties)}function kE(e,t,r,n,o,i){return Tg(e,t,o,i)||t.AddError({keyword:"maxProperties",schemaPath:r,instancePath:n,params:{limit:o.maxProperties}})}var Rg=u(()=>{l()});function CK(e){return lo(e)}function Ag(e,t,r,n){if(!CK(r))return!0;let o=s.Counted(n,(i,a)=>ye(e,t,r.contains,i)&&t.AddIndex(a));return s.IsGreaterEqualThan(o,r.minContains)}function EE(e,t,r,n,o,i){return Ag(e,t,o,i)||t.AddError({keyword:"contains",schemaPath:r,instancePath:n,params:{minContains:o.minContains}})}var Pg=u(()=>{Ce();sn();l();Ke()});function Cg(e,t,r,n){return s.IsGreaterEqualThan(n,r.minimum)}function $E(e,t,r,n,o,i){return Cg(e,t,o,i)||t.AddError({keyword:"minimum",schemaPath:r,instancePath:n,params:{comparison:">=",limit:o.minimum}})}var Og=u(()=>{l()});function Mg(e,t,r,n){return s.IsGreaterEqualThan(n.length,r.minItems)}function SE(e,t,r,n,o,i){return Mg(e,t,o,i)||t.AddError({keyword:"minItems",schemaPath:r,instancePath:n,params:{limit:o.minItems}})}var vg=u(()=>{l()});function Fg(e,t,r,n){return s.IsMinLength(n,r.minLength)}function TE(e,t,r,n,o,i){return Fg(e,t,o,i)||t.AddError({keyword:"minLength",schemaPath:r,instancePath:n,params:{limit:o.minLength}})}var _g=u(()=>{l()});function Lg(e,t,r,n){return s.IsGreaterEqualThan(s.Keys(n).length,r.minProperties)}function RE(e,t,r,n,o,i){return Lg(e,t,o,i)||t.AddError({keyword:"minProperties",schemaPath:r,instancePath:n,params:{limit:o.minProperties}})}var Ug=u(()=>{l()});function Ng(e,t,r,n){return s.IsMultipleOf(n,r.multipleOf)}function AE(e,t,r,n,o,i){return Ng(e,t,o,i)||t.AddError({keyword:"multipleOf",schemaPath:r,instancePath:n,params:{multipleOf:o.multipleOf}})}var Dg=u(()=>{l()});function jg(e,t,r,n){let o=new tr;return!ye(e,o,r.not,n)&&t.Merge([o])}function PE(e,t,r,n,o,i){return jg(e,t,o,i)||t.AddError({keyword:"not",schemaPath:r,instancePath:n,params:{}})}var qg=u(()=>{Sn();zi();l();Ke()});function CE(e,t,r,n){let o=r.oneOf.reduce((i,a)=>{let c=new tr;return ye(e,c,a,n)?[...i,c]:i},[]);return s.IsEqual(o.length,1)&&t.Merge(o)}function OE(e,t,r,n,o,i){let a=[],c=[],p=o.oneOf.reduce((g,x,w)=>{let $=new Gt,C=`${r}/oneOf/${w}`,D=Fe(e,$,C,n,x,i);return D&&c.push(w),D||a.push($),D?[...g,$]:g},[]),f=s.IsEqual(p.length,1)&&t.Merge(p);return!f&&s.IsEqual(c.length,0)&&a.forEach(g=>g.GetErrors().forEach(x=>t.AddError(x))),f||t.AddError({keyword:"oneOf",schemaPath:r,instancePath:n,params:{passingSchemas:c}})}var Gg=u(()=>{Sn();zi();l();Ke();sn()});function Kg(e,t,r,n){return(s.IsString(r.pattern)?xo(r.pattern):r.pattern).test(n)}function ME(e,t,r,n,o,i){return Kg(e,t,o,i)||t.AddError({keyword:"pattern",schemaPath:r,instancePath:n,params:{pattern:o.pattern}})}var Bg=u(()=>{ho();l();Sm()});function vE(e,t,r,n){return s.Every(s.Entries(r.patternProperties),0,([o,i])=>{let a=xo(o);return s.Every(s.Entries(n),0,([c,p])=>!a.test(c)||_r(e,t,i,p)&&t.AddKey(c))})}function FE(e,t,r,n,o,i){return s.EveryAll(s.Entries(o.patternProperties),0,([a,c])=>{let p=`${r}/patternProperties/${a}`,f=xo(a);return s.EveryAll(s.Entries(i),0,([g,x])=>{let w=`${n}/${g}`;return!f.test(g)||Lr(e,t,p,w,c,x)&&t.AddKey(g)})})}var Hg=u(()=>{ho();sn();Sm();l();Ke()});function _E(e,t,r,n){return s.IsEqual(n.length,0)||s.Every(r.prefixItems,0,(o,i)=>s.IsLessEqualThan(n.length,i)||_r(e,t,o,n[i])&&t.AddIndex(i))}function LE(e,t,r,n,o,i){return s.IsEqual(i.length,0)||s.EveryAll(o.prefixItems,0,(a,c)=>{let p=`${r}/prefixItems/${c}`,f=`${n}/${c}`;return s.IsLessEqualThan(i.length,c)||Lr(e,t,p,f,a,i[c])&&t.AddIndex(c)})}var Wg=u(()=>{l();Ke()});function zg(e,t){return e.includes(t)||mt.Get().exactOptionalPropertyTypes}function Vg(e,t){return s.IsUndefined(e[t])}var UE=u(()=>{Yn();l()});function NE(e,t,r,n){let o=Zo(r)?r.required:[];return s.Every(s.Entries(r.properties),0,([a,c])=>{let p=!s.HasPropertyKey(n,a)||_r(e,t,c,n[a])&&t.AddKey(a);return zg(o,a)?p:Vg(n,a)||p})}function DE(e,t,r,n,o,i){let a=Zo(o)?o.required:[];return s.EveryAll(s.Entries(o.properties),0,([p,f])=>{let g=`${r}/properties/${p}`,x=`${n}/${p}`,w=()=>!s.HasPropertyKey(i,p)||Lr(e,t,g,x,f,i[p])&&t.AddKey(p);return zg(a,p)?w():Vg(i,p)||w()})}var Jg=u(()=>{Ce();l();Ke();UE()});function jE(e,t,r,n){return s.Every(s.Keys(n),0,(o,i)=>ye(e,t,r.propertyNames,o))}function qE(e,t,r,n,o,i){let a=[];return s.EveryAll(s.Keys(i),0,(p,f)=>{let g=`${n}/${p}`,x=`${r}/propertyNames`,w=Fe(e,t,x,g,o.propertyNames,p);return w||a.push(p),w})||t.AddError({keyword:"propertyNames",schemaPath:r,instancePath:n,params:{propertyNames:a}})}var Yg=u(()=>{sn();l();Ke()});function GE(e,t,r,n){let o=e.RecursiveRef(r)??!1;return Y(o)&&ye(e,t,o,n)}function KE(e,t,r,n,o,i){let a=e.RecursiveRef(o)??!1;return Y(a)&&Fe(e,t,"#",n,a,i)}var Xg=u(()=>{ha();Ce();Ke()});function BE(e,t,r,n){let o=e.Ref(r)??!1,i=new tr,a=Y(o)&&ye(e,i,o,n);return a&&t.Merge([i]),a}function HE(e,t,r,n,o,i){let a=e.Ref(o)??!1,c=new Gt,p=Y(a)&&Fe(e,c,"#",n,a,i);return p&&t.Merge([c]),p||c.GetErrors().forEach(f=>t.AddError(f)),p}var Zg=u(()=>{ha();Ce();Sn();l();Ke()});function WE(e,t,r,n){return s.Every(r.required,0,o=>s.HasPropertyKey(n,o))}function zE(e,t,r,n,o,i){let a=[];return s.EveryAll(o.required,0,p=>{let f=s.HasPropertyKey(i,p);return f||a.push(p),f})||t.AddError({keyword:"required",schemaPath:r,instancePath:n,params:{requiredProperties:a}})}var Qg=u(()=>{l()});function eh(e,t,r,n,o){return s.IsEqual(r,"object")?s.IsObjectNotArray(o):s.IsEqual(r,"array")?s.IsArray(o):s.IsEqual(r,"boolean")?s.IsBoolean(o):s.IsEqual(r,"integer")?s.IsInteger(o):s.IsEqual(r,"number")?s.IsNumber(o):s.IsEqual(r,"null")?s.IsNull(o):s.IsEqual(r,"string")?s.IsString(o):s.IsEqual(r,"bigint")?s.IsBigInt(o):s.IsEqual(r,"constructor")?s.IsConstructor(o):s.IsEqual(r,"function")?s.IsFunction(o):s.IsEqual(r,"symbol")?s.IsSymbol(o):s.IsEqual(r,"undefined")?s.IsUndefined(o):s.IsEqual(r,"void")?s.IsUndefined(o):!0}function VE(e,t,r,n,o){return s.Some(r,i=>eh(e,t,i,n,o))}function JE(e,t,r,n){return s.IsArray(r.type)?VE(e,t,r.type,r,n):eh(e,t,r.type,r,n)}function YE(e,t,r,n,o,i){return(s.IsArray(o.type)?VE(e,t,o.type,o,i):eh(e,t,o.type,o,i))||t.AddError({keyword:"type",schemaPath:r,instancePath:n,params:{type:o.type}})}var th=u(()=>{l()});function XE(e,t,r,n){let o=t.GetIndices();return s.Every(n,0,(i,a)=>(o.has(a)||ye(e,t,r.unevaluatedItems,i))&&t.AddIndex(a))}function ZE(e,t,r,n,o,i){let a=t.GetIndices(),c=[];return s.EveryAll(i,0,(f,g)=>{let x=new Gt,w=(a.has(g)||Fe(e,x,r,n,o.unevaluatedItems,f))&&t.AddIndex(g);return w||c.push(g),w})||t.AddError({keyword:"unevaluatedItems",schemaPath:r,instancePath:n,params:{unevaluatedItems:c}})}var rh=u(()=>{sn();Sn();l();Ke()});function QE(e,t,r,n){let o=t.GetKeys();return s.Every(s.Entries(n),0,([i,a])=>o.has(i)||ye(e,t,r.unevaluatedProperties,a)&&t.AddKey(i))}function e$(e,t,r,n,o,i){let a=t.GetKeys(),c=[];return s.EveryAll(s.Entries(i),0,([f,g])=>{let x=new Gt,w=a.has(f)||Fe(e,x,r,n,o.unevaluatedProperties,g)&&t.AddKey(f);return w||c.push(f),w})||t.AddError({keyword:"unevaluatedProperties",schemaPath:r,instancePath:n,params:{unevaluatedProperties:c}})}var nh=u(()=>{sn();Sn();l();Ke()});function Ze(){throw new Error("Unreachable")}var oh=u(()=>{});var un=u(()=>{oh()});var to={};Rt(to,{Hash:()=>VK,HashCode:()=>s$});function OK(e){let t=new Set,r=e;for(;r&&r!==Object.prototype;){for(let n of Reflect.ownKeys(r))n!=="constructor"&&typeof n!="symbol"&&t.add(n);r=Object.getPrototypeOf(r)}return[...t]}function MK(e){return typeof e=="number"}function Ft(e){Qi=Qi^_K[e],Qi=Qi*vK%FK}function LK(e){Ft(rr.Array);for(let t of e)Io(t)}function UK(e){Ft(rr.BigInt),o$.setBigInt64(0,e);for(let t of i$)Ft(t)}function t$(e){Ft(rr.Boolean),Ft(e?1:0)}function NK(e){Ft(rr.Constructor),Io(e.toString())}function DK(e){Ft(rr.Date),Io(e.getTime())}function jK(e){Ft(rr.Function),Io(e.toString())}function qK(e){Ft(rr.Null)}function r$(e){Ft(rr.Number),o$.setFloat64(0,e,!0);for(let t of i$)Ft(t)}function GK(e){Ft(rr.Object);for(let t of OK(e).sort())Io(t),Io(e[t])}function KK(e){Ft(rr.RegExp),ih(e.toString())}function ih(e){Ft(rr.String);for(let t of BK.encode(e))Ft(t)}function HK(e){Ft(rr.Symbol),Io(e.toString())}function WK(e){Ft(rr.TypeArray);let t=new Uint8Array(e.buffer);for(let r=0;r<t.length;r++)Ft(t[r])}function zK(e){return Ft(rr.Undefined)}function Io(e){return ft.IsTypeArray(e)?WK(e):ft.IsDate(e)?DK(e):ft.IsRegExp(e)?KK(e):ft.IsBoolean(e)?t$(e.valueOf()):ft.IsString(e)?ih(e.valueOf()):ft.IsNumber(e)?r$(e.valueOf()):MK(e)?r$(e):s.IsArray(e)?LK(e):s.IsBoolean(e)?t$(e):s.IsBigInt(e)?UK(e):s.IsConstructor(e)?NK(e):s.IsNull(e)?qK(e):s.IsObject(e)?GK(e):s.IsString(e)?ih(e):s.IsSymbol(e)?HK(e):s.IsUndefined(e)?zK(e):s.IsFunction(e)?jK(e):Ze()}function s$(e){return Qi=BigInt("14695981039346656037"),Io(e),Qi}function VK(e){return s$(e).toString(16).padStart(16,"0")}var rr,Qi,vK,FK,_K,n$,o$,i$,BK,a$=u(()=>{un();l();(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"})(rr||(rr={}));Qi=BigInt("14695981039346656037"),[vK,FK]=[BigInt("1099511628211"),BigInt("18446744073709551616")],_K=Array.from({length:256}).map((e,t)=>BigInt(t)),n$=new Float64Array(1),o$=new DataView(n$.buffer),i$=new Uint8Array(n$.buffer);BK=new TextEncoder});var ba=u(()=>{a$()});function u$(e){return!s.IsEqual(e.uniqueItems,!1)}function m$(e,t,r,n){if(!u$(r))return!0;let o=new Set(n.map(to.Hash)).size,i=n.length;return s.IsEqual(o,i)}function c$(e,t,r,n,o,i){if(!u$(o))return!0;let a=new Set,c=i.reduce((f,g,x)=>{let w=to.Hash(g);return a.has(w)?[...f,x]:(a.add(w),f)},[]);return s.IsEqual(c.length,0)||t.AddError({keyword:"uniqueItems",schemaPath:r,instancePath:n,params:{duplicateItems:c}})}var sh=u(()=>{ba();l()});function _r(e,t,r,n){return t.Push()&&ye(e,t,r,n)&&t.Pop()}function ye(e,t,r,n){e.Push(r);let o=fo(r)?kd(e,t,r,n):(!gd(r)||JE(e,t,r,n))&&(!(s.IsObject(n)&&!s.IsArray(n))||(!Zo(r)||WE(e,t,r,n))&&(!Br(r)||dk(e,t,r,n))&&(!sd(r)||Ek(e,t,r,n))&&(!ad(r)||Sk(e,t,r,n))&&(!dm(r)||Rk(e,t,r,n))&&(!Bi(r)||vE(e,t,r,n))&&(!Hi(r)||NE(e,t,r,n))&&(!wm(r)||jE(e,t,r,n))&&(!ma(r)||Lg(e,t,r,n))&&(!ld(r)||Tg(e,t,r,n)))&&(!s.IsArray(n)||(!pm(r)||pk(e,t,r,n))&&(!lo(r)||Td(e,t,r,n))&&(!Vo(r)||hE(e,t,r,n))&&(!pd(r)||Ig(e,t,r,n))&&(!aa(r)||kg(e,t,r,n))&&(!Jo(r)||Ag(e,t,r,n))&&(!Yo(r)||Mg(e,t,r,n))&&(!Xo(r)||_E(e,t,r,n))&&(!go(r)||m$(e,t,r,n)))&&(!s.IsString(n)||(!fd(r)||$g(e,t,r,n))&&(!ua(r)||Fg(e,t,r,n))&&(!sa(r)||dg(e,t,r,n))&&(!ca(r)||Kg(e,t,r,n)))&&(!(s.IsNumber(n)||s.IsBigInt(n))||(!md(r)||_d(e,t,r,n))&&(!Zn(r)||Ud(e,t,r,n))&&(!cd(r)||bg(e,t,r,n))&&(!Qn(r)||Cg(e,t,r,n))&&(!dd(r)||Ng(e,t,r,n)))&&(!Em(r)||BE(e,t,r,n))&&(!km(r)||GE(e,t,r,n))&&(!gm(r)||Pk(e,t,r,n))&&(!id(r)||$d(e,t,r,n))&&(!ud(r)||vd(e,t,r,n))&&(!xm(r)||dE(e,t,r,n))&&(!ym(r)||jg(e,t,r,n))&&(!fm(r)||hk(e,t,r,n))&&(!lm(r)||Ik(e,t,r,n))&&(!bm(r)||CE(e,t,r,n))&&(!fa(r)||!s.IsArray(n)||XE(e,t,r,n))&&(!la(r)||!s.IsObject(n)||QE(e,t,r,n))&&(!cm(r)||uk(e,t,r,n));return e.Pop(r),o}function Lr(e,t,r,n,o,i){return t.Push()&&Fe(e,t,r,n,o,i)&&t.Pop()}function Fe(e,t,r,n,o,i){if(t.AtCapacity())return!1;e.Push(o);let a=fo(o)?bk(e,t,r,n,o,i):!!(+(!gd(o)||YE(e,t,r,n,o,i))&+(!(s.IsObject(i)&&!s.IsArray(i))||!!(+(!Zo(o)||zE(e,t,r,n,o,i))&+(!Br(o)||gk(e,t,r,n,o,i))&+(!sd(o)||$k(e,t,r,n,o,i))&+(!ad(o)||Tk(e,t,r,n,o,i))&+(!dm(o)||Ak(e,t,r,n,o,i))&+(!Bi(o)||FE(e,t,r,n,o,i))&+(!Hi(o)||DE(e,t,r,n,o,i))&+(!wm(o)||qE(e,t,r,n,o,i))&+(!ma(o)||RE(e,t,r,n,o,i))&+(!ld(o)||kE(e,t,r,n,o,i))))&+(!s.IsArray(i)||!!(+(!pm(o)||fk(e,t,r,n,o,i))&+(!lo(o)||kk(e,t,r,n,o,i))&+(!Vo(o)||xE(e,t,r,n,o,i))&+(!pd(o)||IE(e,t,r,n,o,i))&+(!aa(o)||bE(e,t,r,n,o,i))&+(!Jo(o)||EE(e,t,r,n,o,i))&+(!Yo(o)||SE(e,t,r,n,o,i))&+(!Xo(o)||LE(e,t,r,n,o,i))&+(!go(o)||c$(e,t,r,n,o,i))))&+(!s.IsString(i)||!!(+(!fd(o)||wE(e,t,r,n,o,i))&+(!ua(o)||TE(e,t,r,n,o,i))&+(!sa(o)||lE(e,t,r,n,o,i))&+(!ca(o)||ME(e,t,r,n,o,i))))&+(!(s.IsNumber(i)||s.IsBigInt(i))||!!(+(!md(o)||vk(e,t,r,n,o,i))&+(!Zn(o)||Fk(e,t,r,n,o,i))&+(!cd(o)||yE(e,t,r,n,o,i))&+(!Qn(o)||$E(e,t,r,n,o,i))&+(!dd(o)||AE(e,t,r,n,o,i))))&+(!Em(o)||HE(e,t,r,n,o,i))&+(!km(o)||KE(e,t,r,n,o,i))&+(!gm(o)||Ck(e,t,r,n,o,i))&+(!id(o)||wk(e,t,r,n,o,i))&+(!ud(o)||Mk(e,t,r,n,o,i))&+(!xm(o)||gE(e,t,r,n,o,i))&+(!ym(o)||PE(e,t,r,n,o,i))&+(!fm(o)||xk(e,t,r,n,o,i))&+(!lm(o)||yk(e,t,r,n,o,i))&+(!bm(o)||OE(e,t,r,n,o,i))&+(!fa(o)||!s.IsArray(i)||ZE(e,t,r,n,o,i))&+(!la(o)||!s.IsObject(i)||e$(e,t,r,n,o,i)))&&(!cm(o)||mk(e,t,r,n,o,i));return e.Pop(o),a}var Ke=u(()=>{Ce();hd();l();xd();Id();bd();wd();Ed();Sd();Rd();Ad();Pd();Cd();Ok();Fd();Ld();Nd();gg();hg();xg();yg();wg();Eg();Sg();Rg();Pg();Og();vg();_g();Ug();Dg();qg();Gg();Bg();Hg();Wg();Jg();Yg();Xg();Zg();Qg();th();rh();nh();sh()});var ha=u(()=>{l();Ke()});var p$=u(()=>{});var Tn={};Rt(Tn,{Delete:()=>rB,Get:()=>eB,Has:()=>QK,Indices:()=>wa,Set:()=>tB});function f$(e){if(e.length===0)throw Error("Cannot set root")}function l$(e){if(!s.IsObject(e))throw Error("Cannot set value")}function JK(e){if(s.IsUnsafePropertyKey(e))throw Error("Pointer contains unsafe property key")}function d$(e){for(let t of e)JK(t)}function YK(e){return/^(0|[1-9]\d*)$/.test(e)}function g$(e){return[e.slice(0,e.length-1),e.slice(e.length-1)[0]]}function XK(e,t){return s.IsObject(t)&&s.HasPropertyKey(t,e)}function ZK(e,t){return s.IsObject(t)&&!s.IsUnsafePropertyKey(e)?t[e]:void 0}function ah(e,t){return e.reduce((r,n)=>ZK(n,r),t)}function wa(e){if(s.IsEqual(e.length,0))return[];let t=e.split("/").map(r=>r.replace(/~1/g,"/").replace(/~0/g,"~"));return t.length>0&&t[0]===""?t.slice(1):t}function QK(e,t){let r=e;return wa(t).every(n=>XK(n,r)?(r=r[n],!0):!1)}function eB(e,t){let r=wa(t);return ah(r,e)}function tB(e,t,r){let n=wa(t);f$(n),d$(n);let[o,i]=g$(n),a=ah(o,e);return l$(a),a[i]=r,e}function rB(e,t){let r=wa(t);f$(r),d$(r);let[n,o]=g$(r),i=ah(n,e);return l$(i),s.IsArray(i)&&YK(o)?i.splice(+o,1):delete i[o],e}var h$=u(()=>{l()});var rc=u(()=>{p$();h$()});var yo={};Rt(yo,{Base:()=>b$,DefaultBase:()=>nc,DynamicRef:()=>k$,Ref:()=>ka,ResolveDynamicRef:()=>yB,ResolveRecursiveRef:()=>IB,ResolveRef:()=>xB,Resource:()=>w$});function I$(e,t){if(s.IsObject(e)&&Xn(e)&&s.IsEqual(e.$dynamicAnchor,t))return e;if(s.IsObject(e))for(let r of s.Keys(e)){let n=I$(e[r],t);if(n)return n}}function uh(e,t,r){if(s.IsEqual(e,r))return t.href;let n=er(e)&&Fr(e)?new URL(e.$id,t.href):t;if(s.IsArray(e))for(let o of e){let i=uh(o,n,r);if(!s.IsUndefined(i))return i}else if(s.IsObject(e))for(let o of s.Keys(e)){let i=uh(e[o],n,r);if(!s.IsUndefined(i))return i}}function nB(e,t,r){if(s.IsEqual(e.$id,r.hash))return e;let n=new URL(r.href,t.href);if(s.IsEqual(t.pathname,n.pathname))return r.hash.startsWith("#")?y$(e,r):e}function oB(e,t,r){let n=new URL(`#${e.$anchor}`,t.href),o=new URL(r.href,t.href);return s.IsEqual(n.href,o.href)?e:void 0}function iB(e,t,r){let n=new URL(`#${e.$dynamicAnchor}`,t.href),o=new URL(r.href,t.href);return s.IsEqual(n.href,o.href)?e:void 0}function y$(e,t){if(t.href.endsWith("#"))return e;if(!t.hash.startsWith("#"))return;let r=decodeURIComponent(t.hash.slice(1));return r.startsWith("/")?Tn.Get(e,r):void 0}function sB(e,t,r){if(Fr(e)){let n=nB(e,t,r);if(!s.IsUndefined(n))return n}if(ia(e)){let n=oB(e,t,r);if(!s.IsUndefined(n))return n}if(Xn(e)){let n=iB(e,t,r);if(!s.IsUndefined(n))return n}return y$(e,r)}function aB(e,t,r){return e.reduce((n,o)=>{let i=oc(o,t,r);return s.IsUndefined(i)?n:i},void 0)}function uB(e){return s.IsEqual(e,"const")||s.IsEqual(e,"enum")}function mB(e,t,r){return s.Keys(e).reduce((n,o)=>{if(uB(o))return n;let i=oc(e[o],t,r);return s.IsUndefined(i)?n:i},void 0)}function oc(e,t,r){let n=er(e)&&Fr(e)?new URL(e.$id,t.href):t;if(er(e)){let o=sB(e,n,r);if(!s.IsUndefined(o))return o}if(s.IsArray(e))return aB(e,n,r);if(s.IsObject(e))return mB(e,n,r)}function b$(e,t,r){return uh(e,new URL(t||".",nc),r)}function w$(e,t,r,n){let o=ka(e,t,r,n,!1);return er(o)&&Fr(o)?o:void 0}function x$(e){return e.href.split("#")[0]}function cB(e,t){return s.HasPropertyKey(e,t)?e[t]:void 0}function pB(e,t,r){return oc(e,t,r)}function fB(e,t,r){let n=x$(r);if(s.IsEqual(n,x$(t))||!s.HasPropertyKey(e,n))return;let o=e[n],i=er(o)&&Fr(o)?new URL(o.$id,n):new URL(n);return s.IsEqual(r.hash,"")?o:oc(o,i,r)}function lB(e,t,r,n,o){if(!n.$ref.startsWith("#")||s.HasPropertyKey(e,"$schema"))return;let i=b$(t,r,o);if(!(s.IsUndefined(i)||s.IsEqual(i,r)))return{target:o,base:i,root:t}}function dB(e,t,r){let n=e[t];if(er(n))return{target:r,base:t,root:n}}function gB(e,t,r,n,o){let i=o?dB(e.context,n,r):void 0;return s.IsUndefined(i)?lB(e.root,e.lexicalSchema,e.referenceBase,t,r):i}function hB(e,t,r,n,o,i){if(Fr(o))return;let a=w$(e,t,r,n);if(!(!a||i.includes(a)))return{target:o,resource:a}}function ka(e,t,r,n,o=!0){let i=new URL(r||".",nc),a=o&&Fr(t)?new URL(t.$id,i):i,c=new URL(n,a.href);return cB(e,n)??pB(t,a,c)??fB(e,a,c)}function k$(e,t,r,n,o,i){let a=new URL(r||".",nc),c=o.$dynamicRef.startsWith("#")?n:t,p=ka(e,c,r,o.$dynamicRef,!1);if(s.IsUndefined(p)){let x=new URL(o.$dynamicRef,a).hash;if(!x.startsWith("#/")&&x.startsWith("#")){let w=decodeURIComponent(x.slice(1));return i.find(C=>s.IsEqual(C.$dynamicAnchor,w))??I$(t,w)}return}return!er(p)||!Xn(p)||new URL(o.$dynamicRef,a).hash.startsWith("#/")?p:i.find(x=>s.IsEqual(x.$dynamicAnchor,p.$dynamicAnchor))??p}function xB(e,t){let r=e.inRetrievedFrame?e.lexicalSchema:e.root,n=t.$ref.startsWith("#")?e.lexicalSchema:r,o=ka(e.context,n,e.referenceBase,t.$ref,!1);if(!o||!er(o))return{schema:o};let i=new URL(t.$ref,e.referenceBase).href.split("#")[0],a=!s.IsEqual(i,e.resourceBase),c=gB(e,t,o,i,a),p=a?hB(e.context,e.root,e.referenceBase,i,o,e.ids):void 0;return{schema:o,retrievedResource:c,resolvedResource:p}}function IB(e,t){let r=pa(e.lexicalSchema)?e.recursiveAnchors[0]:e.lexicalSchema;return ka(e.context,r,e.lexicalBase,t.$recursiveRef,!1)}function yB(e,t){return k$(e.context,e.root,e.lexicalBase,e.lexicalSchema,t,e.dynamicAnchors)}var nc,E$=u(()=>{l();rc();Ce();nc="https://json-schema.org"});var ic=u(()=>{E$()});var Ve,je,ac,P$,ph,sc,$$,S$,T$,R$,mh,ch,fh,lh,A$,C$,Qo,O$=u(()=>{Ce();l();ic();Ve=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Qo=class{constructor(t,r){je.add(this),this.context=t,this.schema=r,this.ids=[],this.resourceIds=[],this.anchors=[],this.recursiveAnchors=[],this.dynamicAnchors=[],this.retrievedResources=new Map,this.retrievedFrames=[],this.resolvedResources=new Map,this.pendingResource=!0}LexicalBaseURL(){return Ve(this,je,"m",ph).call(this,this.ids)}Push(t){if(!er(t))return;Fr(t)&&Ve(this,je,"m",fh).call(this,t),ia(t)&&this.anchors.push(t),pa(t)&&this.recursiveAnchors.push(t),Xn(t)&&this.dynamicAnchors.push(t);let r=this.retrievedResources.get(t);r&&this.retrievedFrames.push({schema:r.root,base:r.base,idDepth:this.ids.length,resourceDepth:this.resourceIds.length})}Pop(t){er(t)&&(Fr(t)&&Ve(this,je,"m",lh).call(this,t),ia(t)&&this.anchors.pop(),pa(t)&&this.recursiveAnchors.pop(),Xn(t)&&this.dynamicAnchors.pop(),this.retrievedResources.has(t)&&this.retrievedFrames.pop(),Ve(this,je,"m",C$).call(this,t))}Ref(t){let r=yo.ResolveRef(Ve(this,je,"m",ac).call(this),t);return Ve(this,je,"m",P$).call(this,r),r.schema}RecursiveRef(t){let r=yo.ResolveRecursiveRef(Ve(this,je,"m",ac).call(this),t);return r&&(this.pendingResource=!0),r}DynamicRef(t){let r=yo.ResolveDynamicRef(Ve(this,je,"m",ac).call(this),t);return r&&(this.pendingResource=!0),r}};je=new WeakSet,ac=function(){return{context:this.context,root:this.schema,ids:this.ids,lexicalSchema:Ve(this,je,"m",S$).call(this),lexicalBase:this.LexicalBaseURL(),referenceBase:Ve(this,je,"m",$$).call(this),resourceBase:Ve(this,je,"m",sc).call(this),recursiveAnchors:this.recursiveAnchors,dynamicAnchors:this.dynamicAnchors,inRetrievedFrame:this.retrievedFrames.length>0}},P$=function(t){s.IsUndefined(t.schema)||(this.pendingResource=!0),s.IsUndefined(t.resolvedResource)||Ve(this,je,"m",A$).call(this,t.resolvedResource.target,t.resolvedResource.resource),s.IsUndefined(t.retrievedResource)||this.retrievedResources.set(t.retrievedResource.target,{base:t.retrievedResource.base,root:t.retrievedResource.root})},ph=function(t){let r=this.retrievedFrames[this.retrievedFrames.length-1],n=r?new URL(r.base):new URL(yo.DefaultBase);return(r?t.slice(r.idDepth):t).reduce((i,a)=>new URL(a.$id,i),n).href},sc=function(){let t=this.retrievedFrames[this.retrievedFrames.length-1];return t?this.resourceIds.slice(t.resourceDepth).reduce((r,n)=>new URL(n.$id,r),new URL(t.base)).href:Ve(this,je,"m",ph).call(this,this.resourceIds)},$$=function(){if(this.retrievedFrames.length>0)return Ve(this,je,"m",sc).call(this);let t=this.ids[this.ids.length-1];return t&&!/^[A-Za-z][A-Za-z0-9+.-]*:/.test(t.$id)?this.LexicalBaseURL():Ve(this,je,"m",sc).call(this)},S$=function(){let t=this.retrievedFrames[this.retrievedFrames.length-1];return t?this.ids.length>t.idDepth?this.ids[this.ids.length-1]:t.schema:this.ids.length>0?this.ids[this.ids.length-1]:this.schema},T$=function(t){t.forEach(r=>Ve(this,je,"m",mh).call(this,r,!1))},R$=function(t){t.forEach(r=>Ve(this,je,"m",ch).call(this,r,!1))},mh=function e(t,r=!0){if(fo(t))return;if(s.IsArray(t))return Ve(this,je,"m",T$).call(this,t);if(!er(t))return;let n=t;if(!(!r&&Fr(n))){!r&&Xn(n)&&this.dynamicAnchors.push(n);for(let o of s.Keys(n))Ve(this,je,"m",e).call(this,n[o],!1)}},ch=function e(t,r=!0){if(fo(t))return;if(s.IsArray(t))return Ve(this,je,"m",R$).call(this,t);if(!er(t))return;let n=t;if(!(!r&&Fr(n))){!r&&Xn(n)&&this.dynamicAnchors.pop();for(let o of s.Keys(n))Ve(this,je,"m",e).call(this,n[o],!1)}},fh=function(t){this.ids.push(t);let r=this.pendingResource;this.pendingResource=!1,r&&this.resourceIds.push(t),Ve(this,je,"m",mh).call(this,t,!0)},lh=function(t){this.ids.pop(),this.resourceIds.length>0&&s.IsEqual(this.resourceIds[this.resourceIds.length-1],t)&&this.resourceIds.pop(),Ve(this,je,"m",ch).call(this,t,!0)},A$=function(t,r){Ve(this,je,"m",fh).call(this,r),this.resolvedResources.set(t,r)},C$=function(t){if(!this.resolvedResources.has(t))return;let r=this.resolvedResources.get(t);Ve(this,je,"m",lh).call(this,r),this.resolvedResources.delete(t)}});var Ea=u(()=>{Sn();ho();ha();zi();hd();O$();xd();Id();bd();wd();Ed();Sd();Rd();Ad();Pd();Cd();Fd();Ld();Nd();gg();hg();xg();yg();Eg();Sg();Rg();wg();Pg();vg();_g();Ug();Og();Dg();qg();Gg();Bg();Hg();Wg();Jg();Yg();Xg();Zg();Qg();Ke();th();rh();nh();sh()});var M$=u(()=>{Yn();l()});var F$=u(()=>{M$()});var gh=u(()=>{F$()});function _$(e){switch(e.keyword){case"additionalProperties":return"must not have additional properties";case"anyOf":return"must match a schema in anyOf";case"boolean":return"schema is false";case"const":return"must be equal to constant";case"contains":return"must contain at least 1 valid item";case"dependencies":return`must have properties ${e.params.dependencies.join(", ")} when property ${e.params.property} is present`;case"dependentRequired":return`must have properties ${e.params.dependencies.join(", ")} when property ${e.params.property} is present`;case"enum":return"must be equal to one of the allowed values";case"exclusiveMaximum":return`must be ${e.params.comparison} ${e.params.limit}`;case"exclusiveMinimum":return`must be ${e.params.comparison} ${e.params.limit}`;case"format":return`must match format "${e.params.format}"`;case"if":return`must match "${e.params.failingKeyword}" schema`;case"maxItems":return`must not have more than ${e.params.limit} items`;case"maxLength":return`must not have more than ${e.params.limit} characters`;case"maxProperties":return`must not have more than ${e.params.limit} properties`;case"maximum":return`must be ${e.params.comparison} ${e.params.limit}`;case"minItems":return`must not have fewer than ${e.params.limit} items`;case"minLength":return`must not have fewer than ${e.params.limit} characters`;case"minProperties":return`must not have fewer than ${e.params.limit} properties`;case"minimum":return`must be ${e.params.comparison} ${e.params.limit}`;case"multipleOf":return`must be multiple of ${e.params.multipleOf}`;case"not":return"must not be valid";case"oneOf":return"must match exactly one schema in oneOf";case"pattern":return`must match pattern "${e.params.pattern}"`;case"propertyNames":return`property names ${e.params.propertyNames.join(", ")} are invalid`;case"required":return`must have required properties ${e.params.requiredProperties.join(", ")}`;case"type":return typeof e.params.type=="string"?`must be ${e.params.type}`:`must be either ${e.params.type.join(" or ")}`;case"unevaluatedItems":return"must not have unevaluated items";case"unevaluatedProperties":return"must not have unevaluated properties";case"uniqueItems":return"must not have duplicate items";case"~refine":return e.params.message;default:return"an unknown validation error occurred"}}var hh=u(()=>{});function L$(){return bB}var bB,xh=u(()=>{hh();bB=_$});var U$=u(()=>{});var N$=u(()=>{});var D$=u(()=>{});var j$=u(()=>{});var q$=u(()=>{});var G$=u(()=>{});var K$=u(()=>{});var B$=u(()=>{});var H$=u(()=>{});var W$=u(()=>{});var z$=u(()=>{});var Ih=u(()=>{});var V$=u(()=>{});var J$=u(()=>{});var Y$=u(()=>{});var X$=u(()=>{});var Z$=u(()=>{});var Q$=u(()=>{});var eS=u(()=>{});var tS=u(()=>{});var rS=u(()=>{});var nS=u(()=>{});var oS=u(()=>{});var iS=u(()=>{});var sS=u(()=>{});var aS=u(()=>{});var uS=u(()=>{});var mS=u(()=>{});var cS=u(()=>{});var pS=u(()=>{});var fS=u(()=>{});var lS=u(()=>{});var dS=u(()=>{});var gS=u(()=>{});var hS=u(()=>{});var xS=u(()=>{});var IS=u(()=>{});var yS=u(()=>{xh();U$();N$();D$();j$();q$();hh();G$();K$();B$();H$();W$();z$();Ih();Ih();V$();J$();Y$();X$();Z$();Q$();eS();tS();rS();nS();oS();iS();sS();aS();uS();mS();cS();pS();fS();lS();dS();gS();hS();xS();IS()});var bS=u(()=>{yS()});var mn,ei=u(()=>{mn={assign:0,create:0,clone:0,discard:0,update:0}});function bo(e){return mt.Get().immutableTypes?Object.freeze(e):e}var $a=u(()=>{Yn()});function kB(e,t){return mn.assign+=1,bo({...e,...t})}var wS=u(()=>{ei();$a()});function EB(e){return s.HasPropertyKey(e,"~kind")||s.HasPropertyKey(e,"~unsafe")}function $B(e){let t={};for(let r of s.Keys(e)){if(s.IsUnsafePropertyKey(r))continue;let n=Object.getOwnPropertyDescriptor(e,r);n.value=ti(n.value),s.IsEqual(n.enumerable,!0)?t[r]=n.value:Object.defineProperty(t,r,n)}return t}function SB(e){let t={};for(let r of s.Keys(e))s.IsUnsafePropertyKey(r)||(t[r]=ti(e[r]));for(let r of s.Symbols(e))t[r]=ti(e[r]);return t}function TB(e){return s.IsClassInstance(e)?e:EB(e)?$B(e):SB(e)}function RB(e){return e.map(t=>ti(t))}function AB(e){return e.slice()}function PB(e){return new RegExp(e.source,e.flags)}function CB(e){return new Map(ti([...e.entries()]))}function OB(e){return new Set(ti([...e.values()]))}function ti(e){return ft.IsTypeArray(e)?AB(e):ft.IsRegExp(e)?PB(e):ft.IsMap(e)?CB(e):ft.IsSet(e)?OB(e):s.IsArray(e)?RB(e):s.IsObject(e)?TB(e):e}function ri(e){return mn.clone+=1,ti(e)}var Sa=u(()=>{l();ei()});function MB(e,t){for(let r of Object.keys(t))Object.defineProperty(e,r,{configurable:!0,writable:!0,enumerable:!1,value:t[r]});return e}function kS(e,t){return{...e,...t}}function vB(e,t,r={}){mn.create+=1;let n=kS(t,r),o=mt.Get().enumerableKind?kS(n,e):MB(n,e);return bo(o)}var ES=u(()=>{Yn();ei();$a()});function FB(e,t){mn.discard+=1;let r={};for(let n of s.Keys(e)){if(t.includes(n))continue;let o=Object.getOwnPropertyDescriptor(e,n);o.value=ri(o.value),Object.defineProperty(r,n,o)}return bo(r)}var $S=u(()=>{l();ei();$a();Sa()});function _B(e,t,r){mn.update+=1;let n=mt.Get(),o=ri(e);for(let i of Object.keys(t))Object.defineProperty(o,i,{configurable:!0,writable:!0,enumerable:n.enumerableKind,value:t[i]});for(let i of Object.keys(r))Object.defineProperty(o,i,{configurable:!0,enumerable:!0,writable:!0,value:r[i]});return bo(o)}var SS=u(()=>{Yn();ei();$a();Sa()});var h={};Rt(h,{Assign:()=>kB,Clone:()=>ri,Create:()=>vB,Discard:()=>FB,Metrics:()=>mn,Update:()=>_B});var TS=u(()=>{wS();Sa();ES();$S();ei();SS()});var M=u(()=>{TS()});var es=u(()=>{yt();gh();ba();bS();M();Yn()});var ts=u(()=>{es();es();es()});var AS=u(()=>{ts();l();ic();Ce()});var PS=u(()=>{AS()});var CS=u(()=>{});var yh=u(()=>{yt();gh();ba();l();lg();Ea()});function uc(...e){let[t,r,n]=ae.Match(e,{3:(g,x,w)=>[g,x,w],2:(g,x)=>[{},g,x]}),o=new Qo(t,r),i=new Gt,a=Fe(o,i,"#","",r,n),c=i.GetErrors(),p=L$(),f=c.map(g=>({...g,message:p(g)}));return[a,f]}var mc=u(()=>{yt();xh();Ea()});function bh(...e){let[t,r,n]=ae.Match(e,{3:(a,c,p)=>[a,c,p],2:(a,c)=>[{},a,c]}),o=new Qo(t,r),i=new tr;return ye(o,i,r,n)}var wh=u(()=>{yt();Ea()});var kh=u(()=>{yt();wh();mc()});var OS=u(()=>{yt();yh();mc();kh()});var Eh=u(()=>{Ea();PS();rc();ic();CS();Ce();yh();OS();wh();kh();mc()});var cc=u(()=>{Eh();Eh()});function ue(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[{},o,i]});return bh(t,r,n)}var MS=u(()=>{yt();cc()});var bt=u(()=>{MS()});function cn(...e){let[t,r,n]=ae.Match(e,{3:(a,c,p)=>[a,c,p],2:(a,c)=>[{},a,c]}),[o,i]=uc(t,r,n);return i}var vS=u(()=>{yt();cc()});var ni=u(()=>{vS()});function pc(...e){let[t,r,n]=ae.Match(e,{3:(i,a,c)=>[i,a,c],2:(i,a)=>[{},i,a]});if(!ue(t,r,n))throw new ro("Assert",n,cn(t,r,n))}var ro,FS=u(()=>{yt();bt();ni();ro=class extends Error{constructor(t,r,n){super(t),Object.defineProperty(this,"cause",{value:{source:t,errors:n,value:r},writable:!1,configurable:!1,enumerable:!1})}}});var oi=u(()=>{FS()});function _(e,t){return s.IsObject(e)&&s.HasPropertyKey(e,"~kind")&&s.IsEqual(e["~kind"],t)}function Je(e){return s.IsObject(e)}var re=u(()=>{l()});function L(e,t,r){return h.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:r},{})}function wo(e){return _(e,"Deferred")}var ke=u(()=>{M();re()});function NB(e){return h.Update(e,{"~readonly":!0},{})}function Ta(e,t){return h.Update(NB(e),{},t)}function _S(e,t,r,n){let o=R(e,t,r);return Ta(o,n)}var fc=u(()=>{M();G()});function DB(e){return h.Update(e,{"~optional":!0},{})}function Ra(e,t){return h.Update(DB(e),{},t)}function LS(e,t,r,n){let o=R(e,t,r);return Ra(o,n)}var lc=u(()=>{M();G()});function cr(e,t){return h.Create({"~kind":"Array"},{type:"array",items:e},t)}function pe(e){return _(e,"Array")}function rs(e){return h.Discard(e,["~kind","type","items"])}var nr=u(()=>{M();re()});function Rn(e,t,r={}){return h.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},r)}function Qe(e){return _(e,"Constructor")}function US(e){return h.Discard(e,["~kind","type","parameters","instanceType"])}var Hr=u(()=>{M();re()});function An(e,t,r={}){return h.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},r)}function et(e){return _(e,"Function")}function NS(e){return h.Discard(e,["~kind","type","parameters","returnType"])}var Wr=u(()=>{M();re()});function wt(e,t){return h.Create({"~kind":"Ref"},{$ref:e},t)}function Ee(e){return _(e,"Ref")}var zr=u(()=>{M();re()});function ko(e,t){return h.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function ns(e){return _(e,"Generic")}var Aa=u(()=>{M();re()});function os(e){return h.Create({"~kind":"Any"},{},e)}function Ye(e){return _(e,"Any")}var pr=u(()=>{M();re()});function Re(e){return h.Create({"~kind":"Never"},{not:{}},e)}function fr(e){return _(e,"Never")}var DS,_t=u(()=>{M();re();DS="(?!)"});function Pn(e,t={}){return L("AddOptional",[e],t)}function ii(e,t={}){return Ra(e,t)}var Pa=u(()=>{ke();lc()});function jS(e){return ii(e)}function kt(e){return Je(e)&&s.HasPropertyKey(e,"~optional")}var Eo=u(()=>{l();re();Pa()});function qS(e){return s.Keys(e).filter(t=>!kt(e[t]))}function dc(e){return s.Keys(e)}function gc(e){return s.Values(e)}var si=u(()=>{l();Eo()});function H(e,t={}){let r=qS(e),n=r.length>0?{required:r}:{};return h.Create({"~kind":"Object"},{type:"object",...n,properties:e},t)}function W(e){return _(e,"Object")}function GS(e){return h.Discard(e,["~kind","type","properties","required"])}var Se=u(()=>{M();re();si()});function dt(e){return h.Create({"~kind":"Unknown"},{},e)}function ct(e){return _(e,"Unknown")}var Kt=u(()=>{M();re()});function Cn(e,t,r){let n=s.Keys(e).reduce((o,i)=>({...o,[i]:h.Update(e[i],{},{$id:i})}),{});return h.Create({"~kind":"Cyclic"},{$defs:n,$ref:t},r)}function Oe(e){return _(e,"Cyclic")}var lr=u(()=>{l();M();re()});function KS(e){return h.Update(e,{"~unsafe":null},{})}function hc(e){return s.IsObjectNotArray(e)&&s.HasPropertyKey(e,"~unsafe")&&s.IsNull(e["~unsafe"])}var xc=u(()=>{l();M()});function Ca(...e){let[t,r]=ae.Match(e,{2:(n,o)=>[n,o,o],1:n=>[n,dt(),dt()]});return h.Create({"~kind":"Infer"},{type:"infer",name:t,extends:r},{})}function pt(e){return _(e,"Infer")}var Vr=u(()=>{yt();M();re();Kt()});function ai(e,t,r,n={}){return h.Create({"~kind":"Dependent"},{if:e,then:t,else:r},n)}function tt(e){return _(e,"Dependent")}function BS(e){return h.Discard(e,["~kind","if","then","else"])}var Er=u(()=>{M();re()});function HS(e){return s.IsObjectNotArray(e)}function WS(e){return s.Keys(e).filter(r=>isNaN(r)).reduce((r,n)=>[...r,e[n]],[])}var Ic=u(()=>{l()});function zS(e){return s.IsString(e)||s.IsNumber(e)}function VS(e,t){let r=HS(e)?WS(e):e;return h.Create({"~kind":"Enum"},{enum:r},t)}function rt(e){return _(e,"Enum")}var pn=u(()=>{l();M();re();Ic();Ic()});function zt(e,t={}){return h.Create({"~kind":"Intersect"},{allOf:e},t)}function K(e){return _(e,"Intersect")}function JS(e){return h.Discard(e,["~kind","allOf"])}var Et=u(()=>{M();re()});function yc(e){return new Ma(e)}function YS(e,t){return yc(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function XS(e,t){return yc(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function or(e){return Je(e)&&s.HasPropertyKey(e,"~codec")&&s.IsObject(e["~codec"])&&s.HasPropertyKey(e["~codec"],"encode")&&s.HasPropertyKey(e["~codec"],"decode")}var Oa,Ma,$h=u(()=>{ts();l();re();Oa=class{constructor(t,r){this.type=t,this.decode=r}Encode(t){let r=this.type,n=or(r)?a=>this.decode(r["~codec"].decode(a)):this.decode,o=or(r)?a=>r["~codec"].encode(t(a)):t,i={decode:n,encode:o};return h.Update(this.type,{"~codec":i},{})}},Ma=class{constructor(t){this.type=t}Decode(t){return new Oa(this.type,t)}}});function ZS(e){return is(e)}function ui(e){return Je(e)&&s.HasPropertyKey(e,"~immutable")}var va=u(()=>{l();re();Fa()});function On(e,t={}){return L("AddReadonly",[e],t)}function mi(e,t={}){return Ta(e,t)}var _a=u(()=>{ke();fc()});function QS(e){return mi(e)}function ci(e){return Je(e)&&s.HasPropertyKey(e,"~readonly")}var La=u(()=>{l();re();_a()});function jB(e,t){let r=Ua(e)?[...e["~refine"],t]:[t];return h.Update(e,{"~refine":r},{})}function eT(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[o,i,()=>"Refine Error"]});return jB(t,{check:r,error:n})}function qB(e){return s.IsObjectNotArray(e)&&s.HasPropertyKey(e,"check")&&s.HasPropertyKey(e,"error")&&s.IsFunction(e.check)&&s.IsFunction(e.error)}function Ua(e){return Je(e)&&s.HasPropertyKey(e,"~refine")&&s.IsArray(e["~refine"])&&s.Every(e["~refine"],0,t=>qB(t))}var Sh=u(()=>{yt();M();l();re()});function Na(e){return h.Create({"~kind":"BigInt"},{type:"bigint"},e)}function $r(e){return _(e,"BigInt")}var tT,pi=u(()=>{M();re();tT="-?(?:0|[1-9][0-9]*)n"});function bc(e){return h.Create({"~kind":"Boolean"},{type:"boolean"},e)}function ir(e){return _(e,"Boolean")}var $o=u(()=>{M();re()});function Da(e){return h.Create({"~kind":"Identifier"},{name:e})}function rT(e){return _(e,"Identifier")}var Th=u(()=>{M();re()});function fi(e){return h.Create({"~kind":"Integer"},{type:"integer"},e)}function At(e){return _(e,"Integer")}var wc,Mn=u(()=>{M();re();wc="-?(?:0|[1-9][0-9]*)"});function GB(e){return s.IsBigInt(e)?"bigint":s.IsBoolean(e)?"boolean":s.IsNumber(e)?"number":s.IsString(e)?"string":(()=>{throw new Rh(e)})()}function oe(e,t){return h.Create({"~kind":"Literal"},{type:GB(e),const:e},t)}function kc(e){return s.IsBigInt(e)||s.IsBoolean(e)||s.IsNumber(e)||s.IsString(e)}function nT(e){return me(e)&&s.IsBigInt(e.const)}function oT(e){return me(e)&&s.IsBoolean(e.const)}function Ec(e){return me(e)&&s.IsNumber(e.const)}function $c(e){return me(e)&&s.IsString(e.const)}function me(e){return _(e,"Literal")}var Rh,gt=u(()=>{M();l();re();Rh=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}}});function ss(e){return h.Create({"~kind":"Null"},{type:"null"},e)}function vn(e){return _(e,"Null")}var as=u(()=>{M();re()});function Sr(e){return h.Create({"~kind":"Number"},{type:"number"},e)}function Be(e){return _(e,"Number")}var Sc,sr=u(()=>{M();re();Sc="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?"});function us(e){return h.Create({"~kind":"Symbol"},{type:"symbol"},e)}function Fn(e){return _(e,"Symbol")}var li=u(()=>{M();re()});function di(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[o,i,i],1:o=>[o,dt(),dt()]});return h.Create({"~kind":"Parameter"},{name:t,extends:r,equals:n},{})}function iT(e){return _(e,"Parameter")}var Ah=u(()=>{yt();M();re();Kt()});function ar(e){return h.Create({"~kind":"String"},{type:"string"},e)}function ht(e){return _(e,"String")}var Tc,Jr=u(()=>{M();re();Tc=".*"});function X(e,t={}){return h.Create({"~kind":"Union"},{anyOf:e},t)}function O(e){return _(e,"Union")}function sT(e){return h.Discard(e,["~kind","anyOf"])}var fe=u(()=>{M();re()});function ja(e){let t=aT(e);return s.IsEqual(t.length,2)?t[0]:[]}var qa=u(()=>{l();Rc()});function KB(e){return!0}function uT(e){return s.ShiftLeft(e,(t,r)=>BB(t)?uT(r):!1,()=>!0)}function mT(e){return s.IsEqual(e.length,0)?!1:uT(e)}function BB(e){return O(e)?mT(e.anyOf):me(e)?KB(e.const):!1}function Ac(e){return mT(e)}var Pc=u(()=>{l();gt();fe()});function Cc(e){return h.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}var Oc=u(()=>{M()});function cT(e,t,r=[]){return s.ShiftLeft(e,(n,o)=>cT(o,t,[...r,`${n}${t}`]),()=>r)}function HB(e,t){return s.IsEqual(e.length,0)?[`${t}`]:cT(e,t)}function pT(e,t,r=[]){return s.ShiftLeft(t,(n,o)=>pT(e,o,[...r,...fT(e,n)]),()=>r)}function fT(e,t){return O(t)?pT(e,t.anyOf):me(t)?HB(e,t.const):Ze()}function lT(e,t){return s.ShiftLeft(t,(r,n)=>lT(fT(e,r),n),()=>e)}function WB(e){return e.map(t=>oe(t))}function zB(e){let t=lT([],e),r=WB(t);return X(r)}function VB(e){return s.IsEqual(e.length,0)?Ze():s.IsEqual(e.length,1)&&me(e[0])?e[0]:zB(e)}function Ph(e){let t=ja(e);return s.IsEqual(t.length,0)?ar():Ac(t)?VB(t):Cc(e)}function ms(e){let t=Ph(e);return Me(t)?ar():t}var Mc=u(()=>{l();un();gt();Jr();dr();fe();qa();Pc();Oc()});function gr(e,t){let r="object",n={[e]:t};return h.Create({"~kind":"Record"},{type:r,patternProperties:n})}var So=u(()=>{M()});function dT(e){return gr(fn,e)}var gT=u(()=>{Lt();So()});function hT(e){return H({true:e,false:e})}var xT=u(()=>{Se()});function nt(e,t={}){let[r,n,o]=[e,e.length,!1];return h.Create({"~kind":"Tuple"},{type:"array",additionalItems:o,items:r,minItems:n},t)}function ne(e){return _(e,"Tuple")}function IT(e){return h.Discard(e,["~kind","type","items","minItems","additionalItems"])}var $t=u(()=>{M();re()});function JB(e){return h.Discard(e,["~readonly"])}function Ch(e,t){return h.Update(JB(e),{},t)}function yT(e,t,r,n){let o=R(e,t,r);return Ch(o,n)}var Oh=u(()=>{M();G()});function bT(e,t={}){return L("RemoveReadonly",[e],t)}function wT(e,t={}){return Ch(e,t)}var Mh=u(()=>{ke();Oh()});function YB(e){return h.Discard(e,["~optional"])}function vh(e,t){return h.Update(YB(e),{},t)}function kT(e,t,r,n){let o=R(e,t,r);return vh(o,n)}var Fh=u(()=>{M();G()});function ET(e,t={}){return L("RemoveOptional",[e],t)}function vc(e,t={}){return vh(e,t)}var Fc=u(()=>{ke();Fh()});function _h(e){return e.reduceRight((r,n,o)=>({[o]:n,...r}),{})}function $T(e){let t=_h(e.items);return H(t)}var Lh=u(()=>{Se()});function Uh(e){return W(e)||ne(e)}function XB(e,t){return ci(e)?!!ci(t):!1}function ZB(e,t){return kt(e)?!!kt(t):!1}function QB(e,t){let r=XB(e,t),n=ZB(e,t),o=He([e,t]),i=wT(vc(o));return r&&n?mi(ii(i)):r&&!n?mi(i):!r&&n?ii(i):i}function e2(e,t,r){return r in e?r in t?QB(e[r],t[r]):e[r]:r in t?t[r]:Re()}function t2(e,t){return[...new Set([...s.Keys(e),...s.Keys(t)])].reduce((o,i)=>({...o,[i]:e2(e,t,i)}),{})}function ST(e){return W(e)?e.properties:ne(e)?_h(e.items):{}}function TT(e,t){let r=ST(e),n=ST(t),o=t2(r,n);return H(o)}var Nh=u(()=>{l();La();Eo();Se();_t();$t();_a();Pa();Mh();Fc();Lh();ie()});function r2(e,t){let r=cs(e,t);return s.IsEqual(r,Ka)?e:s.IsEqual(r,Ba)||s.IsEqual(r,Ga)?t:Re()}function n2(e,t){let r=Uh(e),n=Uh(t);return r&&n?TT(e,t):r&&!n?e:!r&&n?t:r2(e,t)}function RT(e,t){return fr(e)||Ye(e)?e:ct(e)||fr(t)||Ye(t)?t:ct(t)?e:n2(e,t)}var Dh=u(()=>{l();pr();_t();Kt();Ha();Nh()});function o2(e,t){return O(e)||O(t)}function i2(e,t){let r=Yr(e),n=Yr(t);return o2(r,n)?He([r,n]):RT(r,n)}function AT(e,t,r=[]){return s.ShiftLeft(t,(n,o)=>AT(e,o,[...r,i2(n,e)]),()=>s.IsEqual(r.length,0)?[e]:r)}function PT(e,t,r=[]){return s.ShiftLeft(e,(n,o)=>PT(o,t,[...r,...Wa([n],t)]),()=>r)}function Wa(e,t=[]){return s.ShiftLeft(e,(r,n)=>O(r)?Wa(n,PT(r.anyOf,t)):Wa(n,AT(r,t)),()=>t)}var jh=u(()=>{l();fe();Dh();ie();ie()});function s2(e,t){let r=Bt({},e,t);return V.IsExtendsTrueLike(r)?[]:[e]}function CT(e,t,r=[]){return s.ShiftLeft(e,(n,o)=>CT(o,t,[...r,...s2(n,t)]),()=>r)}function _c(e,t){let r=Yr(e),n=O(r)?r.anyOf:[r],o=CT(n,t);return hr(o)}var qh=u(()=>{l();fe();ln();ie();ie()});function dn(e,t,r){let n=He([e,t]),o=_c(r,e);return hr([n,o])}function ur(e,t=[]){return s.ShiftLeft(e,(r,n)=>ur(n,[...t,oe(r)]),()=>hr(t))}function He(e){let t=Wa(e),r=Gh(t);return hr(r)}function Vt(e){let t=ms(e);return Yr(t)}function hr(e){let t=Gh(e);return To(t)}function Yr(e){return tt(e)?dn(e.if,e.then,e.else):rt(e)?ur(e.enum):K(e)?He(e.allOf):Me(e)?Vt(e.pattern):O(e)?hr(e.anyOf):e}function To(e){return s.IsEqual(e.length,1)?e[0]:s.IsEqual(e.length,0)?Re():X(e)}var ie=u(()=>{l();Er();pn();Et();gt();_t();dr();fe();jh();Kh();qh();Mc()});function OT(e,t){let r=ur(e);return Ro(r,t)}var MT=u(()=>{za();ie()});function vT(e,t){return gr(Ao,t)}var FT=u(()=>{Lt();So()});function _T(e,t){let r=He(e);return Ro(r,t)}var LT=u(()=>{ie();za()});function UT(e,t){return s.IsString(e)||s.IsNumber(e)?H({[e]:t}):s.IsEqual(e,!1)?H({false:t}):s.IsEqual(e,!0)?H({true:t}):H({})}var NT=u(()=>{l();Se()});function DT(e,t){return gr(ps,t)}var jT=u(()=>{Lt();So()});function qT(e,t){return s.HasPropertyKey(e,"pattern")&&(s.IsString(e.pattern)||e.pattern instanceof RegExp)?gr(e.pattern.toString(),t):gr(fn,t)}var GT=u(()=>{l();Lt();So()});function KT(e,t){let r=ja(e);return Ac(r)?Ro(Vt(e),t):gr(e,t)}var BT=u(()=>{za();qa();Pc();ie();So()});function a2(e){return O(e)?Po(e.anyOf):[e]}function Po(e,t=[]){return s.ShiftLeft(e,(r,n)=>Po(n,[...t,...a2(r)]),()=>t)}var Lc=u(()=>{l();fe()});function u2(e){return e.some(t=>ht(t)||Be(t)||At(t))}function m2(e,t){return s.IsEqual(u2(e),!0)?gr(fn,t):void 0}function c2(e,t){return e.reduce((r,n)=>me(n)&&(s.IsString(n.const)||s.IsNumber(n.const))?{...r,[n.const]:t}:r,{})}function p2(e,t){let r=c2(e,t);return H(r)}function HT(e,t){let r=Po(e),n=m2(r,t);return Je(n)?n:p2(r,t)}var WT=u(()=>{l();re();gt();sr();Mn();Se();Jr();Lt();Lc();So()});function Ro(e,t){return Ye(e)?dT(t):ir(e)?hT(t):rt(e)?OT(e.enum,t):At(e)?vT(e,t):K(e)?_T(e.allOf,t):me(e)?UT(e.const,t):Be(e)?DT(e,t):O(e)?HT(e.anyOf,t):ht(e)?qT(e,t):Me(e)?KT(e.pattern,t):H({})}var za=u(()=>{pr();$o();pn();Et();Mn();gt();sr();Se();Jr();dr();fe();gT();xT();MT();FT();LT();NT();jT();GT();BT();WT()});function Bh(e,t,r){return te([e])?h.Update(Ro(e,t),{},r):Nc(e,t,r)}function zT(e,t,r,n,o){let i=R(e,t,r),a=R(e,t,n);return Bh(i,a,o)}var Uc=u(()=>{M();Lt();za();G()});function Nc(e,t,r={}){return L("Record",[e,t],r)}function fs(e,t,r={}){return Bh(e,t,r)}function VT(e,t){return gr(e,t)}function Dc(e){return s.IsEqual(e,fn)?ar():s.IsEqual(e,Ao)?fi():s.IsEqual(e,ps)?Sr():Ph(e)}function St(e){return s.Keys(e.patternProperties)[0]}function Co(e){let t=St(e);return Dc(t)}function _e(e){return e.patternProperties[St(e)]}function Te(e){return _(e,"Record")}var Ao,ps,fn,Lt=u(()=>{M();l();re();Mn();sr();Jr();ke();Mc();So();Uc();Ao=`^${wc}$`,ps=`^${Sc}$`,fn=`^${Tc}$`});function gi(e){return h.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function Oo(e){return _(e,"Rest")}var ls=u(()=>{M();re()});var JT=u(()=>{});function jc(e){return h.Create({"~kind":"This"},{$ref:"#"},e)}function qc(e){return _(e,"This")}var Gc=u(()=>{M();re()});function ds(e){return h.Create({"~kind":"Undefined"},{type:"undefined"},e)}function Xr(e){return _(e,"Undefined")}var gs=u(()=>{M();re()});function Kc(e){return h.Create({"~kind":"Void"},{type:"void"},e)}function Tr(e){return _(e,"Void")}var hi=u(()=>{M();re()});var Va=u(()=>{$h();va();Eo();La();Sh();pr();nr();pi();$o();hs();Hr();lr();ke();pn();Wr();Aa();Th();Er();Vr();Mn();Et();gt();_t();as();sr();Kt();li();Se();Ah();si();Lt();zr();ls();re();JT();Jr();li();dr();Gc();$t();gs();fe();Kt();xc();hi()});function l2(e,t){return s.IsEqual(e,"Array")?cr(t[0]):s.IsEqual(e,"Capitalize")?Hc(t[0]):s.IsEqual(e,"ConstructorParameters")?Yc(t[0]):s.IsEqual(e,"Evaluate")?XA(t[0]):s.IsEqual(e,"Exclude")?Xc(t[0],t[1]):s.IsEqual(e,"Extract")?Zc(t[0],t[1]):s.IsEqual(e,"Index")?Za(t[0],t[1]):s.IsEqual(e,"InstanceType")?Qc(t[0]):s.IsEqual(e,"Lowercase")?Wc(t[0]):s.IsEqual(e,"NonNullable")?ep(t[0]):s.IsEqual(e,"Omit")?tp(t[0],t[1]):s.IsEqual(e,"Parameters")?rp(t[0]):s.IsEqual(e,"Partial")?np(t[0]):s.IsEqual(e,"Pick")?op(t[0],t[1]):s.IsEqual(e,"Readonly")?ip(t[0]):s.IsEqual(e,"KeyOf")?Qa(t[0]):s.IsEqual(e,"Record")?Nc(t[0],t[1]):s.IsEqual(e,"Required")?sp(t[0]):s.IsEqual(e,"ReturnType")?ap(t[0]):s.IsEqual(e,"Uncapitalize")?zc(t[0]):s.IsEqual(e,"Uppercase")?Vc(t[0]):Xa(wt(e),t)}function xi(){throw Error("Unreachable")}function eR(e,t=[]){return s.ShiftLeft(e,(r,n)=>eR(n,[...t,r[1]]),()=>t)}function no(e){return s.IsEqual(e.length,3)?[e[0],...eR(e[1])]:[]}function tR(e){return di(e[0],e[2],e[4])}function rR(e){return di(e[0],e[2],e[2])}function nR(e){return di(e[0],dt(),e[2])}function oR(e){return di(e,dt(),dt())}function iR(e){return no(e)}function sR(e){return e[1]}function aR(e){return no(e)}function uR(e){return e[1]}function mR(e){return l2(e[0],e[1])}function cR(e){return null}function pR(e){return ar()}function fR(e){return Sr()}function lR(e){return bc()}function dR(e){return ds()}function gR(e){return ss()}function hR(e){return fi()}function xR(e){return Na()}function IR(e){return dt()}function yR(e){return os()}function bR(e){return H({})}function wR(e){return Re()}function kR(e){return us()}function ER(e){return Kc()}function $R(e){return jc()}function SR(e){return oe(BigInt(e))}function TR(e){return oe(s.IsEqual(e,"true"))}function RR(e){return oe(parseFloat(e))}function AR(e){return oe(e)}function PR(e){return e[1]}function CR(e){return oe(e)}function OR(e){return s.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function MR(e){return e[1]}function vR(e){return Bc(e)}function FR(e){return s.IsEqual(e.length,6)?ai(e[1],e[3],e[5]):ai(e[1],e[3],dt())}function _R(e){return e.length>0}function LR(e){return e.reduce((t,r)=>s.IsEqual(r.length,3)?[...t,[r[1]]]:[...t,[]],[])}function UR(e){return s.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function NR(e){return s.IsArray(e)&&s.IsEqual(e.length,3)?e[1]:e}function DR(e){return s.IsEqual(e.length,2)?e[1]:[]}function YT(e,t){return t.reduce((r,n)=>{let o=n;return s.IsEqual(o.length,1)?Za(r,o[0]):s.IsEqual(o.length,0)?cr(r):xi()},e)}function XT(e,t){return s.IsEqual(t.length,3)?Jc(e,t[0],t[1],t[2]):e}function d2(e,t){return s.IsArray(t)&&s.IsEqual(t.length,0)?e:up(e,t)}function jR(e){let[t,r,n,o,i]=e;return d2(XT(t?Qa(YT(r,n)):YT(r,n),o),i)}function Hh(e,t){return s.IsEqual(t.length,3)?(()=>{let[r,n,o]=t,i=Hh(n,o);if(s.IsEqual(r,"&"))return K(i)?zt([e,...i.allOf]):zt([e,i]);if(s.IsEqual(r,"|"))return O(i)?X([e,...i.anyOf]):X([e,i]);xi()})():e}function qR(e){let[t,r]=e;return Hh(t,r)}function GR(e){let[t,r]=e;return Hh(t,r)}function KR(e){return YA(e[1])}function BR(e){return e[1]}function HR(e){return ko(e[0],e[2])}function WR(e){return s.IsEqual(e.length,4)?Ca(e[1],e[3]):s.IsEqual(e.length,2)?Ca(e[1],dt()):xi()}function zR(e){return`${e}`}function VR(e){return At(e[3])?Ao:Be(e[3])?ps:Fn(e[3])?fn:ht(e[3])?fn:xi()}function JR(e){return e.length>0}function YR(e){return e.length>0}function XR(e){let[t,r,n,o,i]=e;return{[r]:t&&n?On(Pn(i)):t&&!n?On(i):!t&&n?Pn(i):i}}function ZR(e){return no(e)}function QR(e){return e.reduce((t,r)=>s.HasPropertyKey(r,Ao)||s.HasPropertyKey(r,ps)||s.HasPropertyKey(r,fn)?[t[0],h.Assign(t[1],r)]:[h.Assign(t[0],r),t[1]],[{},{}])}function eA(e){return QR(e[1])}function tA(e){let[t,r]=e,n=s.IsEqual(s.Keys(r).length,0)?{}:{patternProperties:r};return H(t,n)}function rA(e){return s.IsEqual(e.length,5)?On(Pn(e[4])):s.IsEqual(e.length,3)?e[2]:s.IsEqual(e.length,4)?s.IsEqual(e[2],"readonly")?On(e[3]):Pn(e[3]):xi()}function nA(e){if(!s.IsArray(e)||!s.IsEqual(e.length,3))return e;let[t,r,n]=e;return t&&n?On(Pn(r)):t&&!n?On(r):!t&&n?Pn(r):r}function oA(e){return s.IsEqual(e.length,2)?gi(e[1]):s.IsEqual(e.length,1)?e[0]:xi()}function iA(e){return no(e)}function sA(e){return nt(e[1])}function aA(e){return On(Pn(e[4]))}function uA(e){return On(e[3])}function mA(e){return Pn(e[3])}function cA(e){return e[2]}function pA(e){return s.IsEqual(e.length,2)?gi(e[1]):s.IsEqual(e.length,1)?e[0]:xi()}function fA(e){return no(e)}function lA(e){return An(e[1],e[4])}function dA(e){return Rn(e[2],e[5])}function ZT(e,t){return s.IsEqual(e,"remove")?bT(t):s.IsEqual(e,"add")?On(t):t}function gA(e){return s.IsEqual(e.length,2)&&s.IsEqual(e[0],"-")?"remove":s.IsEqual(e.length,2)&&s.IsEqual(e[0],"+")||s.IsEqual(e.length,1)?"add":"none"}function QT(e,t){return s.IsEqual(e,"remove")?ET(t):s.IsEqual(e,"add")?Pn(t):t}function hA(e){return s.IsEqual(e.length,2)&&s.IsEqual(e[0],"-")?"remove":s.IsEqual(e.length,2)&&s.IsEqual(e[0],"+")||s.IsEqual(e.length,1)?"add":"none"}function xA(e){return s.IsEqual(e.length,2)?[e[1]]:[]}function IA(e){return s.IsArray(e[6])&&s.IsEqual(e[6].length,1)?Ja(Da(e[3]),e[5],e[6][0],ZT(e[1],QT(e[8],e[10]))):Ja(Da(e[3]),e[5],wt(e[3]),ZT(e[1],QT(e[8],e[10])))}function yA(e){return wt(e)}function bA(e){return BigInt(e)}function wA(e){return parseFloat(e)}function kA(e){return s.IsEqual(e,"true")}function EA(e){return null}function $A(e){return{[e[0]]:e[2]}}function SA(e){return no(e)}function g2(e){return e.reduce((t,r)=>h.Assign(t,r),{})}function TA(e){return g2(e[1])}function RA(e){return no(e)}function AA(e){return e[1]}function PA(e){return Na()}function CA(e){return ar()}function OA(e){return Sr()}function MA(e){return fi()}function vA(e){return Re()}function FA(e){return oe(e)}function _A(e){return X(e[1])}function LA(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function UA(e){return[e[0],...e[1]]}function NA(e){return e[1]}function DA(e){return no(e)}function jA(e){return s.IsEqual(e.length,2)?e[1]:[]}function qA(e){let t=e[2],r=e[3],[n,o]=e[4],i=s.IsEqual(s.Keys(o).length,0)?{}:{patternProperties:o};return{[e[1]]:ko(t,Ya(r,n,i))}}function GA(e){let t=e[2],[r,n]=e[3],o=s.IsEqual(s.Keys(n).length,0)?{}:{patternProperties:n};return{[e[1]]:Ya(t,r,o)}}function KA(e){return{[e[1]]:ko(e[2],e[4])}}function BA(e){return{[e[1]]:e[3]}}function HA(e){return null}function WA(e){return no(e)}function zA(e){return e[1]}function VA(e){let[t,r]=[e[0],e[1]];return ZA(h.Assign(t,QR(r)[0]))}var JA=u(()=>{M();l();Va();Ii()});var oo=u(()=>{Ki()});function eu(e){return Ie(e.length,2)}function de(e,t,r){return eu(e)?t(e[0],e[1]):r()}var Rr=u(()=>{oo()});function I2(e,t){return Ie(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Xe(e,t){for(let r=0;r<e.length;r++){let n=I2(e[r],t);if(eu(n))return n}return[]}var _n=u(()=>{Rr();oo()});function Wh(e,t){return Array.from({length:t-e+1},(r,n)=>String.fromCharCode(e+n))}var QA,zh,Vh,xs,e0,Is,Mo,mp,t0,cp,Jt=u(()=>{QA=[...Wh(97,122),...Wh(65,90)],zh="0",Vh=Wh(49,57),xs=[zh,...Vh],e0=" ",Is=`
16
+ `,Mo="_",mp=".",t0="$",cp="-"});function o0(e){let t=e.indexOf(b2);return Ie(t,-1)?"":e.slice(t+2)}function i0(e){let t=e.indexOf(Is);return Ie(t,-1)?"":e.slice(t)}function w2(e){return e.replace(/^[ \t\r\f\v]+/,"")}function pp(e){let t=w2(e);return t.startsWith(n0)?pp(o0(t.slice(2))):t.startsWith(r0)?pp(i0(t.slice(2))):t}function Ut(e){let t=e.trimStart();return t.startsWith(n0)?Ut(o0(t.slice(2))):t.startsWith(r0)?Ut(i0(t.slice(2))):t}var r0,n0,b2,Ln=u(()=>{oo();Jt();r0="//",n0="/*",b2="*/"});function fp(e,t){return de(Xe([e],t),(r,n)=>[r,n],()=>["",t])}var Jh=u(()=>{Rr();_n()});function k2(e,t){return e.includes(t)}function ys(e,t,r,n=""){return de(Xe(e,r),(o,i)=>k2(t,o)?ys(e,t,i,n):ys(e,t,i,`${n}${o}`),()=>[n,r])}var Yh=u(()=>{Rr();_n()});function E2(e){return Xe(Vh,e)}function S2(e){return ys($2,[Mo],e)}function T2(e){return de(Xe([zh],e),(t,r)=>[t,r],()=>de(E2(e),(t,r)=>de(S2(r),(n,o)=>[`${t}${n}`,o],()=>[]),()=>[]))}function lp(e){return T2(Ut(e))}var $2,dp=u(()=>{Rr();Ln();_n();Yh();Jt();Jt();Jt();Jt();$2=[...xs,Mo]});function R2(e){return fp(cp,e)}function A2(e){return de(R2(e),(t,r)=>de(lp(r),(n,o)=>[`${t}${n}`,o],()=>[]),()=>[])}function s0(e){return A2(Ut(e))}var Xh=u(()=>{Rr();Ln();Jh();Jt();dp()});function P2(e){return de(s0(e),(t,r)=>de(Xe(["n"],r),(n,o)=>[`${t}`,o],()=>[]),()=>[])}function Zh(e){return P2(e)}var a0=u(()=>{Rr();_n();Xh()});function Qh(e,t){return Xe([e],t)}function y(e,t){return Ie(e,"")?["",t]:e.startsWith(Is)?Qh(e,pp(t)):e.startsWith(e0)?Qh(e,t):Qh(e,Ut(t))}var u0=u(()=>{oo();Ln();Ln();_n();Jt();Jt()});function C2(e){return Xe(m0,e)}function c0(e,t=""){return de(Xe(O2,e),(r,n)=>c0(n,`${t}${r}`),()=>[t,e])}function M2(e){return de(C2(e),(t,r)=>de(c0(r),(n,o)=>[`${t}${n}`,o],()=>[]),()=>[])}function ot(e){return M2(Ut(e))}var m0,O2,p0=u(()=>{Rr();Ln();_n();Jt();Jt();Jt();Jt();m0=[...QA,Mo,t0];O2=[...m0,...xs]});function F2(e){return eu(Xe([mp],e))}function f0(e){return de(ys(v2,[Mo],e),(t,r)=>Ie(t,"")?[]:[t,r],()=>[])}function _2(e){return de(Xe([mp],e),(t,r)=>de(f0(r),(n,o)=>[`0${t}${n}`,o],()=>[]),()=>[])}function L2(e){return de(lp(e),(t,r)=>de(Xe([mp],r),(n,o)=>de(f0(o),(i,a)=>[`${t}${n}${i}`,a],()=>[`${t}`,o]),()=>[`${t}`,r]),()=>[])}function U2(e){return F2(e)?_2(e):L2(e)}function l0(e){return U2(Ut(e))}var v2,ex=u(()=>{oo();Rr();Ln();_n();Yh();Jt();Jt();dp();v2=[...xs,Mo]});function N2(e){return fp(cp,e)}function D2(e){return de(N2(e),(t,r)=>de(l0(r),(n,o)=>[`${t}${n}`,o],()=>[]),()=>[])}function gp(e){return D2(Ut(e))}var d0=u(()=>{Rr();Ln();Jh();Jt();ex()});var g0=u(()=>{oo()});function j2(e){return Ie(e,"")?[]:[e.slice(0,1),e.slice(1)]}function h0(e,t){return um(e,(r,n)=>t.startsWith(r)?!0:h0(n,t),()=>!1)}function vo(e,t,r=""){return de(j2(t),(n,o)=>h0(e,t)?[r,t]:vo(e,o,`${r}${n}`),()=>[])}var hp=u(()=>{Rr();oo()});function q2(e,t,r){return de(Xe([e],r),(n,o)=>de(vo([t],o),(i,a)=>de(Xe([t],a),(c,p)=>[`${i}`,p],()=>[]),()=>[]),()=>[])}function G2(e,t,r){return de(Xe([e],r),(n,o)=>de(vo([Is,t],o),(i,a)=>de(Xe([t],a),(c,p)=>[`${i}`,p],()=>[]),()=>[]),()=>[])}function x0(e,t,r,n){return r?q2(e,t,Ut(n)):G2(e,t,Ut(n))}var tx=u(()=>{Rr();Ln();Jt();_n();hp()});function K2(e,t){return Xe(e,t)}function B2(e,t){return x0(e,e,!1,t)}function H2(e,t){return de(K2(e,t),(r,n)=>B2(r,`${r}${n}`),()=>[])}function xp(e,t){return H2(e,Ut(t))}var I0=u(()=>{Rr();_n();Ln();tx()});function y0(e,t){return de(vo(e,t),(r,n)=>Ie(r,"")?[]:[r,n],()=>[])}var b0=u(()=>{oo();Rr();hp()});var w0=u(()=>{a0();u0();p0();Xh();d0();g0();tx();I0();dp();ex();b0();hp()});var m,z2,V2,J2,Y2,$0,S0,X2,ox,T0,Z2,Q2,eH,R0,A0,P0,tH,rH,nH,C0,oH,iH,sH,aH,uH,O0,mH,cH,pH,rx,M0,ix,fH,lH,dH,gH,hH,xH,IH,v0,yH,bH,wH,kH,F0,_0,L0,U0,Ip,EH,$H,SH,TH,be,RH,AH,PH,CH,N0,D0,j0,q0,yp,G0,OH,sx,MH,vH,k0,K0,B0,FH,_H,LH,UH,NH,DH,E0,H0,W0,z0,jH,qH,GH,KH,BH,HH,WH,zH,VH,JH,YH,XH,ZH,V0,J0,QH,Y0,X0,e4,t4,ax,r4,n4,o4,i4,s4,a4,u4,m4,Z0,nx,ux,aT,Q0,c4,eP,p4,f4,l4,d4,g4,tP,rP,h4,mx,x4,nP,Rc=u(()=>{JA();w0();m=(e,t,r=()=>[])=>e.length===2?t(e):r(),z2=e=>m(m(ot(e),([t,r])=>m(y("extends",r),([n,o])=>m(be(o),([i,a])=>m(y("=",a),([c,p])=>m(be(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[tR(t),r]),V2=e=>m(m(ot(e),([t,r])=>m(y("extends",r),([n,o])=>m(be(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[rR(t),r]),J2=e=>m(m(ot(e),([t,r])=>m(y("=",r),([n,o])=>m(be(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[nR(t),r]),Y2=e=>m(ot(e),([t,r])=>[oR(t),r]),$0=e=>m(m(z2(e),([t,r])=>[t,r],()=>m(V2(e),([t,r])=>[t,r],()=>m(J2(e),([t,r])=>[t,r],()=>m(Y2(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),S0=(e,t=[])=>m(m(y(",",e),([r,n])=>m($0(n),([o,i])=>[[r,o],i])),([r,n])=>S0(n,[...t,r]),()=>[t,e]),X2=e=>m(m(m($0(e),([t,r])=>m(S0(r),([n,o])=>m(m(y(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[iR(t),r]),ox=e=>m(m(y("<",e),([t,r])=>m(X2(r),([n,o])=>m(y(">",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[sR(t),r]),T0=(e,t=[])=>m(m(y(",",e),([r,n])=>m(be(n),([o,i])=>[[r,o],i])),([r,n])=>T0(n,[...t,r]),()=>[t,e]),Z2=e=>m(m(m(be(e),([t,r])=>m(T0(r),([n,o])=>m(m(y(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[aR(t),r]),Q2=e=>m(m(y("<",e),([t,r])=>m(Z2(r),([n,o])=>m(y(">",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[uR(t),r]),eH=e=>m(m(ot(e),([t,r])=>m(Q2(r),([n,o])=>[[t,n],o])),([t,r])=>[mR(t),r]),R0=e=>m(m(m(y(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[cR(t),r]),A0=e=>m(y("string",e),([t,r])=>[pR(t),r]),P0=e=>m(y("number",e),([t,r])=>[fR(t),r]),tH=e=>m(y("boolean",e),([t,r])=>[lR(t),r]),rH=e=>m(y("undefined",e),([t,r])=>[dR(t),r]),nH=e=>m(y("null",e),([t,r])=>[gR(t),r]),C0=e=>m(y("integer",e),([t,r])=>[hR(t),r]),oH=e=>m(y("bigint",e),([t,r])=>[xR(t),r]),iH=e=>m(y("unknown",e),([t,r])=>[IR(t),r]),sH=e=>m(y("any",e),([t,r])=>[yR(t),r]),aH=e=>m(y("object",e),([t,r])=>[bR(t),r]),uH=e=>m(y("never",e),([t,r])=>[wR(t),r]),O0=e=>m(y("symbol",e),([t,r])=>[kR(t),r]),mH=e=>m(y("void",e),([t,r])=>[ER(t),r]),cH=e=>m(y("this",e),([t,r])=>[$R(t),r]),pH=e=>m(m(y("${",e),([t,r])=>m(be(r),([n,o])=>m(y("}",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[PR(t),r]),rx=e=>m(vo(["${","`"],e),([t,r])=>[CR(t),r]),M0=e=>m(m(m(rx(e),([t,r])=>m(pH(r),([n,o])=>m(M0(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m(m(rx(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m(m(rx(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))),([t,r])=>[OR(t),r]),ix=e=>m(m(y("`",e),([t,r])=>m(M0(r),([n,o])=>m(y("`",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[MR(t),r]),fH=e=>m(ix(e),([t,r])=>[vR(t),r]),lH=e=>m(m(m(y("if",e),([t,r])=>m(be(r),([n,o])=>m(y("then",o),([i,a])=>m(be(a),([c,p])=>m(y("else",p),([f,g])=>m(be(g),([x,w])=>[[t,n,i,c,f,x],w])))))),([t,r])=>[t,r],()=>m(m(y("if",e),([t,r])=>m(be(r),([n,o])=>m(y("then",o),([i,a])=>m(be(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[t,r],()=>[])),([t,r])=>[FR(t),r]),dH=e=>m(Zh(e),([t,r])=>[SR(t),r]),gH=e=>m(m(y("true",e),([t,r])=>[t,r],()=>m(y("false",e),([t,r])=>[t,r],()=>[])),([t,r])=>[TR(t),r]),hH=e=>m(gp(e),([t,r])=>[RR(t),r]),xH=e=>m(xp(["'",'"'],e),([t,r])=>[AR(t),r]),IH=e=>m(m(m(y("keyof",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[_R(t),r]),v0=(e,t=[])=>m(m(m(y("[",e),([r,n])=>m(be(n),([o,i])=>m(y("]",i),([a,c])=>[[r,o,a],c]))),([r,n])=>[r,n],()=>m(m(y("[",e),([r,n])=>m(y("]",n),([o,i])=>[[r,o],i])),([r,n])=>[r,n],()=>[])),([r,n])=>v0(n,[...t,r]),()=>[t,e]),yH=e=>m(v0(e),([t,r])=>[LR(t),r]),bH=e=>m(m(m(y("extends",e),([t,r])=>m(be(r),([n,o])=>m(y("?",o),([i,a])=>m(be(a),([c,p])=>m(y(":",p),([f,g])=>m(be(g),([x,w])=>[[t,n,i,c,f,x],w])))))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[UR(t),r]),wH=e=>m(m(m(y("(",e),([t,r])=>m(be(r),([n,o])=>m(y(")",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m(A0(e),([t,r])=>[t,r],()=>m(P0(e),([t,r])=>[t,r],()=>m(tH(e),([t,r])=>[t,r],()=>m(rH(e),([t,r])=>[t,r],()=>m(nH(e),([t,r])=>[t,r],()=>m(C0(e),([t,r])=>[t,r],()=>m(oH(e),([t,r])=>[t,r],()=>m(iH(e),([t,r])=>[t,r],()=>m(sH(e),([t,r])=>[t,r],()=>m(aH(e),([t,r])=>[t,r],()=>m(uH(e),([t,r])=>[t,r],()=>m(O0(e),([t,r])=>[t,r],()=>m(mH(e),([t,r])=>[t,r],()=>m(cH(e),([t,r])=>[t,r],()=>m(dH(e),([t,r])=>[t,r],()=>m(gH(e),([t,r])=>[t,r],()=>m(hH(e),([t,r])=>[t,r],()=>m(xH(e),([t,r])=>[t,r],()=>m(fH(e),([t,r])=>[t,r],()=>m(lH(e),([t,r])=>[t,r],()=>m(MH(e),([t,r])=>[t,r],()=>m(_H(e),([t,r])=>[t,r],()=>m(qH(e),([t,r])=>[t,r],()=>m(jH(e),([t,r])=>[t,r],()=>m(HH(e),([t,r])=>[t,r],()=>m(eH(e),([t,r])=>[t,r],()=>m(WH(e),([t,r])=>[t,r],()=>[])))))))))))))))))))))))))))),([t,r])=>[NR(t),r]),kH=e=>m(m(m(y("with",e),([t,r])=>m(Y0(r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[DR(t),r]),F0=e=>m(m(IH(e),([t,r])=>m(wH(r),([n,o])=>m(yH(o),([i,a])=>m(bH(a),([c,p])=>m(kH(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[jR(t),r]),_0=e=>m(m(m(y("&",e),([t,r])=>m(F0(r),([n,o])=>m(_0(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),L0=e=>m(m(F0(e),([t,r])=>m(_0(r),([n,o])=>[[t,n],o])),([t,r])=>[qR(t),r]),U0=e=>m(m(m(y("|",e),([t,r])=>m(L0(r),([n,o])=>m(U0(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),Ip=e=>m(m(L0(e),([t,r])=>m(U0(r),([n,o])=>[[t,n],o])),([t,r])=>[GR(t),r]),EH=e=>m(m(y("readonly",e),([t,r])=>m(Ip(r),([n,o])=>[[t,n],o])),([t,r])=>[KR(t),r]),$H=e=>m(m(y("|",e),([t,r])=>m(Ip(r),([n,o])=>[[t,n],o])),([t,r])=>[BR(t),r]),SH=e=>m(m(ox(e),([t,r])=>m(y("=",r),([n,o])=>m(be(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[HR(t),r]),TH=e=>m(m(m(y("infer",e),([t,r])=>m(ot(r),([n,o])=>m(y("extends",o),([i,a])=>m(Ip(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[t,r],()=>m(m(y("infer",e),([t,r])=>m(ot(r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>[])),([t,r])=>[WR(t),r]),be=e=>m(m(TH(e),([t,r])=>[t,r],()=>m($H(e),([t,r])=>[t,r],()=>m(EH(e),([t,r])=>[t,r],()=>m(Ip(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),RH=e=>m(gp(e),([t,r])=>[zR(t),r]),AH=e=>m(ot(e),([t,r])=>[t,r]),PH=e=>m(xp(["'",'"'],e),([t,r])=>[t,r]),CH=e=>m(m(y("[",e),([t,r])=>m(ot(r),([n,o])=>m(y(":",o),([i,a])=>m(m(C0(a),([c,p])=>[c,p],()=>m(P0(a),([c,p])=>[c,p],()=>m(A0(a),([c,p])=>[c,p],()=>m(O0(a),([c,p])=>[c,p],()=>[])))),([c,p])=>m(y("]",p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[VR(t),r]),N0=e=>m(m(RH(e),([t,r])=>[t,r],()=>m(AH(e),([t,r])=>[t,r],()=>m(PH(e),([t,r])=>[t,r],()=>m(CH(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),D0=e=>m(m(m(y("readonly",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[JR(t),r]),j0=e=>m(m(m(y("?",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[YR(t),r]),q0=e=>m(m(D0(e),([t,r])=>m(N0(r),([n,o])=>m(j0(o),([i,a])=>m(y(":",a),([c,p])=>m(be(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[XR(t),r]),yp=e=>m(m(m(y(",",e),([t,r])=>m(y(`
17
+ `,r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y(";",e),([t,r])=>m(y(`
18
+ `,r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y(",",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m(m(y(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m(m(y(`
19
+ `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))))),([t,r])=>[t,r]),G0=(e,t=[])=>m(m(yp(e),([r,n])=>m(q0(n),([o,i])=>[[r,o],i])),([r,n])=>G0(n,[...t,r]),()=>[t,e]),OH=e=>m(m(m(q0(e),([t,r])=>m(G0(r),([n,o])=>m(m(yp(o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[ZR(t),r]),sx=e=>m(m(y("{",e),([t,r])=>m(OH(r),([n,o])=>m(y("}",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[eA(t),r]),MH=e=>m(sx(e),([t,r])=>[tA(t),r]),vH=e=>m(m(m(ot(e),([t,r])=>m(y("?",r),([n,o])=>m(y(":",o),([i,a])=>m(y("readonly",a),([c,p])=>m(be(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[t,r],()=>m(m(ot(e),([t,r])=>m(y(":",r),([n,o])=>m(y("readonly",o),([i,a])=>m(be(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[t,r],()=>m(m(ot(e),([t,r])=>m(y("?",r),([n,o])=>m(y(":",o),([i,a])=>m(be(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[t,r],()=>m(m(ot(e),([t,r])=>m(y(":",r),([n,o])=>m(be(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>[])))),([t,r])=>[rA(t),r]),k0=e=>m(m(vH(e),([t,r])=>[t,r],()=>m(m(D0(e),([t,r])=>m(be(r),([n,o])=>m(j0(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>[])),([t,r])=>[nA(t),r]),K0=e=>m(m(m(y("...",e),([t,r])=>m(k0(r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(k0(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[])),([t,r])=>[oA(t),r]),B0=(e,t=[])=>m(m(y(",",e),([r,n])=>m(K0(n),([o,i])=>[[r,o],i])),([r,n])=>B0(n,[...t,r]),()=>[t,e]),FH=e=>m(m(m(K0(e),([t,r])=>m(B0(r),([n,o])=>m(m(y(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[iA(t),r]),_H=e=>m(m(y("[",e),([t,r])=>m(FH(r),([n,o])=>m(y("]",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[sA(t),r]),LH=e=>m(m(ot(e),([t,r])=>m(y("?",r),([n,o])=>m(y(":",o),([i,a])=>m(y("readonly",a),([c,p])=>m(be(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[aA(t),r]),UH=e=>m(m(ot(e),([t,r])=>m(y(":",r),([n,o])=>m(y("readonly",o),([i,a])=>m(be(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[uA(t),r]),NH=e=>m(m(ot(e),([t,r])=>m(y("?",r),([n,o])=>m(y(":",o),([i,a])=>m(be(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[mA(t),r]),DH=e=>m(m(ot(e),([t,r])=>m(y(":",r),([n,o])=>m(be(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[cA(t),r]),E0=e=>m(m(LH(e),([t,r])=>[t,r],()=>m(UH(e),([t,r])=>[t,r],()=>m(NH(e),([t,r])=>[t,r],()=>m(DH(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),H0=e=>m(m(m(y("...",e),([t,r])=>m(E0(r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(E0(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[])),([t,r])=>[pA(t),r]),W0=(e,t=[])=>m(m(y(",",e),([r,n])=>m(H0(n),([o,i])=>[[r,o],i])),([r,n])=>W0(n,[...t,r]),()=>[t,e]),z0=e=>m(m(m(H0(e),([t,r])=>m(W0(r),([n,o])=>m(m(y(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[fA(t),r]),jH=e=>m(m(y("(",e),([t,r])=>m(z0(r),([n,o])=>m(y(")",o),([i,a])=>m(y("=>",a),([c,p])=>m(be(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[lA(t),r]),qH=e=>m(m(y("new",e),([t,r])=>m(y("(",r),([n,o])=>m(z0(o),([i,a])=>m(y(")",a),([c,p])=>m(y("=>",p),([f,g])=>m(be(g),([x,w])=>[[t,n,i,c,f,x],w])))))),([t,r])=>[dA(t),r]),GH=e=>m(m(m(y("+",e),([t,r])=>m(y("readonly",r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y("-",e),([t,r])=>m(y("readonly",r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y("readonly",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])))),([t,r])=>[gA(t),r]),KH=e=>m(m(m(y("+",e),([t,r])=>m(y("?",r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y("-",e),([t,r])=>m(y("?",r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y("?",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])))),([t,r])=>[hA(t),r]),BH=e=>m(m(m(y("as",e),([t,r])=>m(be(r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[xA(t),r]),HH=e=>m(m(y("{",e),([t,r])=>m(GH(r),([n,o])=>m(y("[",o),([i,a])=>m(ot(a),([c,p])=>m(y("in",p),([f,g])=>m(be(g),([x,w])=>m(BH(w),([$,C])=>m(y("]",C),([D,Z])=>m(KH(Z),([z,le])=>m(y(":",le),([ve,It])=>m(be(It),([Dt,Pe])=>m(R0(Pe),([he,A])=>m(y("}",A),([vt,Gr])=>[[t,n,i,c,f,x,$,D,z,ve,Dt,he,vt],Gr]))))))))))))),([t,r])=>[IA(t),r]),WH=e=>m(ot(e),([t,r])=>[yA(t),r]),zH=e=>m(Zh(e),([t,r])=>[bA(t),r]),VH=e=>m(gp(e),([t,r])=>[wA(t),r]),JH=e=>m(m(y("true",e),([t,r])=>[t,r],()=>m(y("false",e),([t,r])=>[t,r],()=>[])),([t,r])=>[kA(t),r]),YH=e=>m(xp(['"',"'"],e),([t,r])=>[t,r]),XH=e=>m(y("null",e),([t,r])=>[EA(t),r]),ZH=e=>m(y("undefined",e),([t,r])=>[void 0,r]),V0=e=>m(m(N0(e),([t,r])=>m(y(":",r),([n,o])=>m(ax(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[$A(t),r]),J0=(e,t=[])=>m(m(yp(e),([r,n])=>m(V0(n),([o,i])=>[[r,o],i])),([r,n])=>J0(n,[...t,r]),()=>[t,e]),QH=e=>m(m(m(V0(e),([t,r])=>m(J0(r),([n,o])=>m(m(yp(o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[SA(t),r]),Y0=e=>m(m(y("{",e),([t,r])=>m(QH(r),([n,o])=>m(y("}",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[TA(t),r]),X0=(e,t=[])=>m(m(y(",",e),([r,n])=>m(ax(n),([o,i])=>[[r,o],i])),([r,n])=>X0(n,[...t,r]),()=>[t,e]),e4=e=>m(m(m(ax(e),([t,r])=>m(X0(r),([n,o])=>m(m(y(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[RA(t),r]),t4=e=>m(m(y("[",e),([t,r])=>m(e4(r),([n,o])=>m(y("]",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[AA(t),r]),ax=e=>m(m(zH(e),([t,r])=>[t,r],()=>m(VH(e),([t,r])=>[t,r],()=>m(JH(e),([t,r])=>[t,r],()=>m(YH(e),([t,r])=>[t,r],()=>m(XH(e),([t,r])=>[t,r],()=>m(ZH(e),([t,r])=>[t,r],()=>m(Y0(e),([t,r])=>[t,r],()=>m(t4(e),([t,r])=>[t,r],()=>[])))))))),([t,r])=>[t,r]),r4=e=>m(y("-?(?:0|[1-9][0-9]*)n",e),([t,r])=>[PA(t),r]),n4=e=>m(y(".*",e),([t,r])=>[CA(t),r]),o4=e=>m(y("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,r])=>[OA(t),r]),i4=e=>m(y("-?(?:0|[1-9][0-9]*)",e),([t,r])=>[MA(t),r]),s4=e=>m(y("(?!)",e),([t,r])=>[vA(t),r]),a4=e=>m(y0(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,r])=>[FA(t),r]),u4=e=>m(m(r4(e),([t,r])=>[t,r],()=>m(n4(e),([t,r])=>[t,r],()=>m(o4(e),([t,r])=>[t,r],()=>m(i4(e),([t,r])=>[t,r],()=>m(s4(e),([t,r])=>[t,r],()=>m(m4(e),([t,r])=>[t,r],()=>m(a4(e),([t,r])=>[t,r],()=>[]))))))),([t,r])=>[t,r]),m4=e=>m(m(y("(",e),([t,r])=>m(ux(r),([n,o])=>m(y(")",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[_A(t),r]),Z0=e=>m(m(m(nx(e),([t,r])=>m(y("|",r),([n,o])=>m(Z0(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m(m(nx(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[]))),([t,r])=>[LA(t),r]),nx=e=>m(m(u4(e),([t,r])=>m(ux(r),([n,o])=>[[t,n],o])),([t,r])=>[UA(t),r]),ux=e=>m(m(Z0(e),([t,r])=>[t,r],()=>m(nx(e),([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),aT=e=>m(m(y("^",e),([t,r])=>m(ux(r),([n,o])=>m(y("$",o),([i,a])=>[[t,n,i],a]))),([t,r])=>[NA(t),r]),Q0=(e,t=[])=>m(m(y(",",e),([r,n])=>m(be(n),([o,i])=>[[r,o],i])),([r,n])=>Q0(n,[...t,r]),()=>[t,e]),c4=e=>m(m(m(be(e),([t,r])=>m(Q0(r),([n,o])=>m(m(y(",",o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[DA(t),r]),eP=e=>m(m(m(y("extends",e),([t,r])=>m(c4(r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[jA(t),r]),p4=e=>m(m(y("interface",e),([t,r])=>m(ot(r),([n,o])=>m(ox(o),([i,a])=>m(eP(a),([c,p])=>m(sx(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[qA(t),r]),f4=e=>m(m(y("interface",e),([t,r])=>m(ot(r),([n,o])=>m(eP(o),([i,a])=>m(sx(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[GA(t),r]),l4=e=>m(m(y("type",e),([t,r])=>m(ot(r),([n,o])=>m(ox(o),([i,a])=>m(y("=",a),([c,p])=>m(be(p),([f,g])=>[[t,n,i,c,f],g]))))),([t,r])=>[KA(t),r]),d4=e=>m(m(y("type",e),([t,r])=>m(ot(r),([n,o])=>m(y("=",o),([i,a])=>m(be(a),([c,p])=>[[t,n,i,c],p])))),([t,r])=>[BA(t),r]),g4=e=>m(m(m(y("export",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[HA(t),r]),tP=e=>m(m(m(y(";",e),([t,r])=>m(y(`
20
+ `,r),([n,o])=>[[t,n],o])),([t,r])=>[t,r],()=>m(m(y(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>m(m(y(`
21
+ `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]),rP=(e,t=[])=>m(m(tP(e),([r,n])=>m(mx(n),([o,i])=>[[r,o],i])),([r,n])=>rP(n,[...t,r]),()=>[t,e]),h4=e=>m(m(m(mx(e),([t,r])=>m(rP(r),([n,o])=>m(m(tP(o),([i,a])=>[[i],a],()=>[[],o]),([i,a])=>[[t,n,i],a]))),([t,r])=>[t,r],()=>m([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[WA(t),r]),mx=e=>m(m(g4(e),([t,r])=>m(m(p4(r),([n,o])=>[n,o],()=>m(f4(r),([n,o])=>[n,o],()=>m(l4(r),([n,o])=>[n,o],()=>m(d4(r),([n,o])=>[n,o],()=>[])))),([n,o])=>m(R0(o),([i,a])=>[[t,n,i],a]))),([t,r])=>[zA(t),r]),x4=e=>m(m(mx(e),([t,r])=>m(h4(r),([n,o])=>[[t,n],o])),([t,r])=>[VA(t),r]),nP=e=>m(m(x4(e),([t,r])=>[t,r],()=>m(SH(e),([t,r])=>[t,r],()=>m(be(e),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r])});function oP(e){let t=ix(`\`${e}\``);return s.IsEqual(t.length,2)?t[0]:Ze()}var cx=u(()=>{un();l();Rc()});function y4(e){return e.join("|")}function b4(e){return e.slice(1,e.length-1)}function w4(e,t,r){return Fo(t,`${r}${e}`)}function k4(e,t){return Fo(e,`${t}${tT}`)}function E4(e,t){return Fo(e,`${t}${wc}`)}function $4(e,t){return Fo(e,`${t}${Sc}`)}function S4(e,t){return tu(X([oe("false"),oe("true")]),e,t)}function T4(e,t){return Fo(e,`${t}${Tc}`)}function R4(e,t,r){return Fo(t,`${r}${b4(e)}`)}function A4(e,t,r){let n=ru(e,{});return tu(n,t,r)}function P4(e,t,r){let n=ur(e);return tu(n,t,r)}function iP(e,t,r,n=[]){return s.ShiftLeft(e,(o,i)=>iP(i,t,r,[...n,tu(o,[],"")]),()=>Fo(t,`${r}(${y4(n)})`))}function tu(e,t,r){return rt(e)?P4(e.enum,t,r):At(e)?E4(t,r):me(e)?w4(e.const,t,r):$r(e)?k4(t,r):ir(e)?S4(t,r):Be(e)?$4(t,r):ht(e)?T4(t,r):Me(e)?R4(e.pattern,t,r):aP(e)?A4(e.parameters[0],t,r):O(e)?iP(e.anyOf,t,r):DS}function Fo(e,t){return s.ShiftLeft(e,(r,n)=>tu(r,n,t),()=>t)}function C4(e){return`^${Fo(e,"")}$`}function sP(e){let t=C4(e);return Cc(t)}var px=u(()=>{l();pn();gt();fe();dr();pi();Jr();sr();Mn();$o();_t();Oc();ie();bp()});function ru(e,t){return te(e)?h.Update(sP(e),{},t):Bc(e,t)}function uP(e,t,r,n){let o=Ur(e,t,r);return ru(o,n)}var bp=u(()=>{M();dr();px();G()});function Bc(e,t={}){return L("TemplateLiteral",[e],t)}function aP(e){return Je(e)&&s.HasPropertyKey(e,"action")&&s.IsEqual(e.action,"TemplateLiteral")}function mP(e){return ru(e,{})}function O4(e){let t=oP(e);return mP(t)}function cP(e,t={}){let r=s.IsString(e)?O4(e):mP(e);return h.Update(r,{},t)}function Me(e){return _(e,"TemplateLiteral")}var dr=u(()=>{es();l();re();ke();cx();bp()});var V={};Rt(V,{ExtendsFalse:()=>Q,ExtendsTrue:()=>F,ExtendsUnion:()=>fx,IsExtendsFalse:()=>M4,IsExtendsTrue:()=>fP,IsExtendsTrueLike:()=>bs,IsExtendsUnion:()=>pP,Match:()=>qe});function fx(e){return h.Create({"~kind":"ExtendsUnion"},{inferred:e})}function pP(e){return s.IsObject(e)&&s.HasPropertyKey(e,"~kind")&&s.HasPropertyKey(e,"inferred")&&s.IsEqual(e["~kind"],"ExtendsUnion")&&s.IsObject(e.inferred)}function F(e){return h.Create({"~kind":"ExtendsTrue"},{inferred:e})}function fP(e){return s.IsObject(e)&&s.HasPropertyKey(e,"~kind")&&s.HasPropertyKey(e,"inferred")&&s.IsEqual(e["~kind"],"ExtendsTrue")&&s.IsObject(e.inferred)}function Q(){return h.Create({"~kind":"ExtendsFalse"},{})}function M4(e){return s.IsObject(e)&&s.HasPropertyKey(e,"~kind")&&s.IsEqual(e["~kind"],"ExtendsFalse")}function bs(e){return pP(e)||fP(e)}function qe(e,t,r){return bs(e)?t(e.inferred):r()}var Ue=u(()=>{l();M()});function v4(e,t,r,n){return qe(xe(e,r,n),o=>F(h.Assign(h.Assign(e,o),{[t]:r})),()=>Q())}function F4(e,t){return F(e)}function _4(e,t,r,n,o){return qe(xe(e,t,r),i=>qe(xe(i,t,n),a=>F(a),()=>Q()),()=>qe(xe(e,t,o),i=>F(i),()=>Q()))}function L4(e,t,r){let n=ur(r);return xe(e,t,n)}function lP(e,t,r){return s.ShiftLeft(r,(n,o)=>qe(xe(e,t,n),i=>lP(i,t,o),()=>Q()),()=>F(e))}function U4(e,t,r){let n=Vt(r);return xe(e,t,n)}function dP(e,t,r){return s.ShiftLeft(r,(n,o)=>qe(xe(e,t,n),i=>F(i),()=>dP(e,t,o)),()=>Q())}function $e(e,t,r){return Ye(r)?F4(e,t):tt(r)?_4(e,t,r.if,r.then,r.else):rt(r)?L4(e,t,r.enum):pt(r)?v4(e,r.name,t,r.extends):K(r)?lP(e,t,r.allOf):Me(r)?U4(e,t,r.pattern):O(r)?dP(e,t,r.anyOf):ct(r)?F(e):Q()}var Yt=u(()=>{l();M();pr();Er();pn();Vr();Et();dr();fe();Kt();xr();Ue();ie();ie()});function gP(e,t,r){return pt(r)?$e(e,t,r):Ye(r)?F(e):ct(r)?F(e):fx(e)}var hP=u(()=>{Vr();pr();Kt();Yt();Ue()});function N4(e,t){let r=ui(e),n=ui(t);return r&&n||!r&&n?!0:!(r&&!n)}function xP(e,t,r,n){return pe(n)?N4(t,n)?xe(e,r,n.items):Q():$e(e,t,n)}var IP=u(()=>{nr();va();Yt();xr();Ue()});function yP(e,t,r){return $r(r)?F(e):$e(e,t,r)}var bP=u(()=>{pi();Yt();Ue()});function wP(e,t,r){return ir(r)?F(e):$e(e,t,r)}var kP=u(()=>{$o();Yt();Ue()});function D4(e,t,r,n,o){let i=pt(n)?t:n,a=pt(n)?n:t,c=kt(t),p=kt(n);return!c&&p?Q():qe(xe(e,i,a),f=>nu(f,r,o),()=>Q())}function j4(e,t,r,n){return s.ShiftLeft(n,(o,i)=>D4(e,t,r,o,i),()=>kt(t)?F(e):Q())}function q4(e,t,r){return s.ShiftLeft(t,(n,o)=>j4(e,n,o,r),()=>F(e))}function nu(e,t,r){return q4(e,t,r)}var lx=u(()=>{l();Vr();Eo();xr();Ue()});function wp(e,t,r){return Tr(r)?F(e):xe(e,t,r)}var dx=u(()=>{hi();xr();Ue()});function EP(e,t,r,n){return Ye(n)?F(e):ct(n)?F(e):Qe(n)?qe(nu(e,t,n.parameters),o=>wp(o,r,n.instanceType),()=>Q()):Q()}var $P=u(()=>{pr();Hr();Kt();Ue();lx();dx()});function SP(e,t,r,n,o){return qe(xe(e,t,o),()=>xe(e,r,o),()=>xe(e,n,o))}var TP=u(()=>{xr();Ue()});function RP(e,t,r){let n=ur(t);return xe(e,n,r)}var AP=u(()=>{xr();ie()});function PP(e,t,r,n){return Ye(n)?F(e):ct(n)?F(e):et(n)?qe(nu(e,t,n.parameters),o=>wp(o,r,n.returnType),()=>Q()):Q()}var CP=u(()=>{pr();Wr();Kt();Ue();lx();dx()});function OP(e,t,r){return At(r)?F(e):Be(r)?F(e):$e(e,t,r)}var MP=u(()=>{Mn();sr();Yt();Ue()});function vP(e,t,r){let n=He(t);return xe(e,n,r)}var FP=u(()=>{xr();ws()});function kp(e,t,r){return t===r?F(e):Q()}function G4(e,t,r){return me(r)?kp(e,t,r.const):$r(r)?F(e):$e(e,oe(t),r)}function K4(e,t,r){return me(r)?kp(e,t,r.const):ir(r)?F(e):$e(e,oe(t),r)}function B4(e,t,r){return me(r)?kp(e,t,r.const):Be(r)?F(e):$e(e,oe(t),r)}function H4(e,t,r){return me(r)?kp(e,t,r.const):ht(r)?F(e):$e(e,oe(t),r)}function _P(e,t,r){return s.IsBigInt(t.const)?G4(e,t.const,r):s.IsBoolean(t.const)?K4(e,t.const,r):s.IsNumber(t.const)?B4(e,t.const,r):s.IsString(t.const)?H4(e,t.const,r):Ze()}var LP=u(()=>{l();oh();gt();pi();$o();sr();Jr();Yt();Ue()});function UP(e,t,r){return pt(r)?$e(e,t,r):F(e)}var NP=u(()=>{Vr();Yt();Ue()});function DP(e,t,r){return vn(r)?F(e):$e(e,t,r)}var jP=u(()=>{as();Yt();Ue()});function qP(e,t,r){return Be(r)?F(e):$e(e,t,r)}var GP=u(()=>{sr();Yt();Ue()});function W4(e,t,r){return kt(t)?kt(r)?F(e):Q():F(e)}function z4(e,t,r){return pt(r)&&fr(r.extends)?Q():qe(xe(e,t,r),n=>W4(n,t,r),()=>Q())}function V4(e,t){return e.reduce((r,n)=>n in t?bs(t[n])?{...r,...t[n].inferred}:Ze():Ze(),{})}function J4(e,t,r){let n={};for(let a of s.Keys(r))n[a]=a in t?z4({},t[a],r[a]):kt(r[a])?pt(r[a])?F(h.Assign(e,{[r[a].name]:r[a].extends})):F(e):Q();let o=s.Values(n).every(a=>bs(a)),i=o?V4(s.Keys(n),n):{};return o?F(i):Q()}function Y4(e,t,r){let n=J4(e,t,r);return bs(n)?F(h.Assign(e,n.inferred)):Q()}function X4(e,t,r){return Y4(e,t,r)}function Z4(e,t){return s.Keys(t).reduce((r,n)=>({...r,[n]:s.HasPropertyKey(e,n)?O(r[n])?X([...r[n].anyOf,t[n]]):X([e[n],t[n]]):t[n]}),e)}function KP(e,t,r,n){return s.ShiftLeft(t,(o,i)=>qe(xe({},e[o],r),a=>KP(e,i,r,Z4(n,a)),()=>Q()),()=>F(n))}function Q4(e,t,r,n){let o=s.Keys(t);return KP(t,o,n,e)}function BP(e,t,r){return Te(r)?Q4(e,t,St(r),_e(r)):W(r)?X4(e,t,r.properties):$e(e,H(t),r)}var HP=u(()=>{un();M();l();Eo();Vr();_t();Se();Lt();fe();xr();Yt();Ue()});function eW(e,t){return s.IsEqual(s.Keys(t).length,0)?F(e):Q()}function tW(e,t,r,n,o){return xe(e,r,o)}function WP(e,t,r,n){return Te(n)?tW(e,Dc(t),r,Dc(St(n)),_e(n)):W(n)?eW(e,n.properties):Ye(n)?F(e):ct(n)?F(e):Q()}var zP=u(()=>{l();pr();Kt();Se();Lt();xr();Ue()});function VP(e,t,r){return ht(r)?F(e):$e(e,t,r)}var JP=u(()=>{Jr();Yt();Ue()});function YP(e,t,r){return Fn(r)?F(e):$e(e,t,r)}var XP=u(()=>{li();Yt();Ue()});function ZP(e,t,r){let n=Vt(t);return xe(e,n,r)}var QP=u(()=>{xr();ie()});function gx(e,t){return h.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function ou(e){return s.IsObject(e)&&s.HasPropertyKey(e,"~kind")&&s.HasPropertyKey(e,"name")&&s.HasPropertyKey(e,"type")&&s.IsEqual(e["~kind"],"Inferrable")&&s.IsString(e.name)&&s.IsObject(e.type)}function hx(e){return Oo(e)?pt(e.items)?pe(e.items.extends)?gx(e.items.name,e.items.extends.items):ct(e.items.extends)?gx(e.items.name,e.items.extends):void 0:Ze():void 0}function Ep(e){return pt(e)?gx(e.name,e.extends):void 0}function xx(e,t,r=[]){return s.ShiftLeft(e,(n,o)=>qe(xe({},n,t),()=>xx(o,t,[...r,n]),()=>{}),()=>r)}function eC(e,t,r,n){let o=xx(r,n);return s.IsArray(o)?F(h.Assign(e,{[t]:nt(o)})):Q()}function $p(e,t,r,n){let o=xx(r,n);return s.IsArray(o)?F(h.Assign(e,{[t]:X(o)})):Q()}var Ix=u(()=>{un();M();l();nr();Kt();$t();xr();fe();Vr();ls();Ue()});function rW(e){return[...e].reverse()}function yx(e,t){return t?rW(e):e}function nW(e){let t=e.length>0?e[0]:void 0,r=Je(t)?hx(t):void 0;return Je(r)}function oW(e,t,r,n,o,i){return qe(xe(e,r,o),a=>tC(a,t,n,i),()=>Q())}function iW(e,t,r,n,o){let i=hx(n);return ou(i)?eC(e,i.name,yx(r,t),i.type):s.ShiftLeft(r,(a,c)=>oW(e,t,a,c,n,o),()=>Q())}function sW(e,t,r,n){return s.ShiftLeft(n,(o,i)=>iW(e,t,r,o,i),()=>s.IsEqual(r.length,0)?F(e):Q())}function tC(e,t,r,n){return sW(e,t,r,n)}function aW(e,t,r){let n=_o(e,Ne([],[]),r),o=nW(n);return tC(e,o,yx(t,o),yx(n,o))}function rC(e,t,r){let n=Ep(r);return ou(n)?$p(e,n.name,t,n.type):s.ShiftLeft(t,(o,i)=>qe(xe(e,o,r),a=>rC(a,i,r),()=>Q()),()=>F(e))}function nC(e,t,r){let n=_o(e,Ne([],[]),t);return ne(r)?aW(e,n,r.items):pe(r)?rC(e,n,r.items):$e(e,nt(n),r)}var oC=u(()=>{l();re();nr();$t();xr();Yt();Ue();G();G();Ix()});function iC(e,t,r){return Tr(r)?F(e):Xr(r)?F(e):$e(e,t,r)}var sC=u(()=>{gs();hi();Yt();Ue()});function aC(e,t,r){return s.ShiftLeft(r,(n,o)=>qe(xe(e,t,n),i=>F(i),()=>aC(e,t,o)),()=>Q())}function bx(e,t,r){return s.ShiftLeft(t,(n,o)=>qe(aC(e,n,r),i=>bx(i,o,r),()=>Q()),()=>F(e))}function uC(e,t,r){let n=Ep(r);return ou(n)?$p(e,n.name,t,n.type):O(r)?bx(e,t,r.anyOf):bx(e,t,[r])}var mC=u(()=>{l();fe();xr();Ue();Ix()});function cC(e,t,r){return pt(r)?$e(e,t,r):Ye(r)?F(e):ct(r)?F(e):Q()}var pC=u(()=>{pr();Kt();Vr();Yt();Ue()});function fC(e,t,r){return Tr(r)?F(e):$e(e,t,r)}var lC=u(()=>{hi();Yt();Ue()});function xe(e,t,r){return Ye(t)?gP(e,t,r):pe(t)?xP(e,t,t.items,r):$r(t)?yP(e,t,r):ir(t)?wP(e,t,r):Qe(t)?EP(e,t.parameters,t.instanceType,r):tt(t)?SP(e,t.if,t.then,t.else,r):rt(t)?RP(e,t.enum,r):et(t)?PP(e,t.parameters,t.returnType,r):At(t)?OP(e,t,r):K(t)?vP(e,t.allOf,r):me(t)?_P(e,t,r):fr(t)?UP(e,t,r):vn(t)?DP(e,t,r):Be(t)?qP(e,t,r):W(t)?BP(e,t.properties,r):Te(t)?WP(e,St(t),_e(t),r):ht(t)?VP(e,t,r):Fn(t)?YP(e,t,r):Me(t)?ZP(e,t.pattern,r):ne(t)?nC(e,t.items,r):Xr(t)?iC(e,t,r):O(t)?uC(e,t.anyOf,r):ct(t)?cC(e,t,r):Tr(t)?fC(e,t,r):Q()}var xr=u(()=>{hP();IP();bP();kP();$P();TP();AP();CP();MP();FP();LP();NP();jP();GP();HP();zP();JP();XP();QP();oC();sC();mC();pC();lC();pr();nr();pi();$o();Hr();Er();pn();Wr();Mn();Et();gt();_t();as();sr();Se();Lt();Jr();li();dr();$t();gs();Kt();fe();hi();Ue()});function uW(e,t){return He([...e,H(t)])}function wx(e,t,r){return te(e)?h.Update(uW(e,t),{},r):Ya(e,t,r)}function dC(e,t,r,n,o){let i=Ur(e,t,r),a=iu(e,t,n);return wx(i,a,o)}var Sp=u(()=>{M();Se();ie();Ii();G();G();G()});function Ya(e,t,r={}){return L("Interface",[e,t],r)}function ks(e){return Je(e)&&s.HasPropertyKey(e,"action")&&s.IsEqual(e.action,"Interface")}function gC(e,t,r={}){return wx(e,t,r)}var su=u(()=>{l();re();ke();Sp()});function mW(e,t,r){return e.includes(r)?!0:au([...e,r],t,t[r])}function hC(e,t,r){let n=gc(r);return yi(e,t,n)}function yi(e,t,r){return s.ShiftLeft(r,(n,o)=>au(e,t,n)?!0:yi(e,t,o),()=>!1)}function au(e,t,r){return Ee(r)?mW(e,t,r.$ref):pe(r)?au(e,t,r.items):Qe(r)?yi(e,t,[...r.parameters,r.instanceType]):et(r)?yi(e,t,[...r.parameters,r.returnType]):ks(r)?hC(e,t,r.parameters[1]):K(r)?yi(e,t,r.allOf):W(r)?hC(e,t,r.properties):O(r)?yi(e,t,r.anyOf):ne(r)?yi(e,t,r.items):Te(r)?au(e,t,_e(r)):!1}function xC(e,t,r){return au(e,t,r)}var kx=u(()=>{l();nr();Hr();Wr();Et();Se();si();Lt();$t();fe();zr();su()});function cW(e,t){return t.reduce((r,n)=>xC([n],e,e[n])?[...r,n]:r,[])}function IC(e){let t=dc(e);return cW(e,t)}var Ex=u(()=>{si();kx()});function pW(e,t,r){return r.includes(t)?r:t in e?uu(e,e[t],[...r,t]):Ze()}function yC(e,t,r){let n=gc(t);return Es(e,n,r)}function Es(e,t,r){return t.reduce((n,o)=>uu(e,o,n),r)}function uu(e,t,r){return Ee(t)?pW(e,t.$ref,r):pe(t)?uu(e,t.items,r):Qe(t)?Es(e,[...t.parameters,t.instanceType],r):et(t)?Es(e,[...t.parameters,t.returnType],r):ks(t)?yC(e,t.parameters[1],r):K(t)?Es(e,t.allOf,r):W(t)?yC(e,t.properties,r):O(t)?Es(e,t.anyOf,r):ne(t)?Es(e,t.items,r):Te(t)?uu(e,_e(t),r):r}function bC(e,t,r){return uu(e,r,[t])}var $x=u(()=>{un();nr();Hr();Wr();Et();Se();si();Lt();$t();fe();zr();su()});function fW(e){return os()}function lW(e){return s.Keys(e).reduce((t,r)=>({...t,[r]:bi(e[r])}),{})}function mu(e){return e.reduce((t,r)=>[...t,bi(r)],[])}function bi(e){return Ee(e)?fW(e.$ref):pe(e)?cr(bi(e.items),rs(e)):Qe(e)?Rn(mu(e.parameters),bi(e.instanceType)):et(e)?An(mu(e.parameters),bi(e.returnType)):K(e)?zt(mu(e.allOf)):W(e)?H(lW(e.properties)):Te(e)?fs(Co(e),bi(_e(e))):O(e)?X(mu(e.anyOf)):ne(e)?nt(mu(e.items)):e}function dW(e,t){return t in e?bi(e[t]):dt()}function wC(e){return dW(e.$defs,e.$ref)}var kC=u(()=>{l();pr();nr();Hr();Wr();Et();Se();Lt();zr();$t();fe();Kt()});function gW(e,t,r){let n=Ur(e,Ne([],[]),t),o=iu({},Ne([],[]),r);return He([...n,H(o)])}function hW(e,t){return s.Keys(e).filter(n=>t.includes(n)).reduce((n,o)=>{let i=e[o],a=ks(i)?gW(e,i.parameters[0],i.parameters[1]):i;return{...n,[o]:a}},{})}function EC(e,t,r){let n=bC(e,t,r),o=hW(e,n);return Cn(o,t)}var Sx=u(()=>{l();lr();Se();$x();Ii();G();G();G();ie()});function $C(e,t){return t in e?Ee(e[t])?$C(e,e[t].$ref):e[t]:Re()}function Un(e,t){return $C(e,t)}var wi=u(()=>{_t();zr()});var Tx=u(()=>{Ex();kx();$x();kC();Sx();wi()});function SC(e){return Oe(e)?wC(e):hc(e)?dt():e}function Bt(e,t,r){let n=SC(t),o=SC(r);return xe(e,n,o)}var TC=u(()=>{lr();Kt();xc();xr();Tx()});var ln=u(()=>{TC();Ue()});function cs(e,t){let r=[Bt({},e,t),Bt({},t,e)];return V.IsExtendsTrueLike(r[0])&&V.IsExtendsTrueLike(r[1])?Ga:V.IsExtendsTrueLike(r[0])&&V.IsExtendsFalse(r[1])?Ka:V.IsExtendsFalse(r[0])&&V.IsExtendsTrueLike(r[1])?Ba:cu}var Ga,cu,Ka,Ba,Ha=u(()=>{ln();Ga=0,cu=1,Ka=2,Ba=3});function Rx(e,t,r=[],n=t){return s.ShiftLeft(t,(o,i)=>{let a=cs(e,o);return s.IsEqual(a,Ka)||s.IsEqual(a,Ga)?n:s.IsEqual(a,cu)?Rx(e,i,[...r,o],n):Rx(e,i,r,n)},()=>[...r,e])}function xW(e,t,r){let n=Yr(e);return Ye(n)?[n]:ct(n)?[n]:fr(n)?Tp(t,r):W(n)?Tp(t,[...r,n]):Tp(t,Rx(n,r))}function Tp(e,t=[]){return s.ShiftLeft(e,(r,n)=>xW(r,n,t),()=>t)}function Gh(e){let t=Tp(e);return Po(t)}var Kh=u(()=>{l();pr();_t();Se();Kt();Ha();Lc();ie()});function Ax(e,t){return h.Update(Yr(e),{},t)}function RC(e,t,r,n){let o=R(e,t,r);return Ax(o,n)}var Rp=u(()=>{M();G();ie()});var ws=u(()=>{Kh();Ha();Nh();jh();ie();Lc();Rp();Dh()});function pu(e,t=[]){return wo(e)&&s.IsEqual(e.action,"Conditional")?Ee(e.parameters[0])?pu(e.parameters[2],pu(e.parameters[3],[...t,e.parameters[0].$ref])):pu(e.parameters[2],pu(e.parameters[3],t)):wo(e)&&s.IsEqual(e.action,"Mapped")&&wo(e.parameters[1])&&s.IsEqual(e.parameters[1].action,"KeyOf")&&Ee(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function IW(e,t){return e.reduce((r,n)=>[...r,t.includes(n.name)],[])}function CC(e,t,r=[]){return s.ShiftLeft(e,(n,o)=>s.ShiftLeft(t,(i,a)=>CC(o,a,[...r,[i,n]]),()=>r),()=>r)}function yW(e){return Me(e)?Vt(e.pattern):rt(e)?ur(e.enum):e}function bW(e){let t=yW(e);return O(t)?[...t.anyOf]:[t]}function wW(e,t){return e.reduce((r,n)=>[...r,[...n,t]],[])}function AC(e,t){return t.reduce((r,n)=>[...r,...wW(e,n)],[])}function PC(e){return e.reduce((t,r)=>s.IsEqual(r[0],!0)?AC(t,bW(r[1])):AC(t,[r[1]]),[[]])}function OC(e,t,r){let n=pu(r),o=IW(e,n),i=CC(t,o);return wo(r)&&s.IsEqual(r.action,"Conditional")||wo(r)&&s.IsEqual(r.action,"Mapped")?PC(i):[t]}var MC=u(()=>{l();fe();ke();pn();dr();zr();ie();ie()});function kW(){return["(not-resolvable)",Re()]}function EW(){return["(not-generic)",Re()]}function $W(e,t,r){return[e,ko(t,r)]}function SW(e,t,r){return t in e?vC(e,t,e[t],r):kW()}function vC(e,t,r,n){return ns(r)?$W(t,r.parameters,r.expression):Ee(r)?SW(e,r.$ref,n):EW()}function FC(e,t,r){return vC(e,"(anonymous)",t,r)}var _C=u(()=>{Aa();zr();_t()});function TW(e,t,r){if(pt(t)||$s(t)||V.IsExtendsTrueLike(Bt({},t,r)))return;let n={parameter:e,expect:r,actual:t};throw new Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:n})}function LC(e,t,r,n,o){let i=R(e,t,o);return TW(r,i,n),h.Assign(e,{[r]:i})}function RW(e,t,r,n,o){let i=R(e,t,r.extends),a=R(e,t,r.equals);return s.ShiftLeft(o,(c,p)=>Px(LC(e,t,r.name,i,c),t,n,p),()=>Px(LC(e,t,r.name,i,a),t,n,[]))}function Px(e,t,r,n){return s.ShiftLeft(r,(o,i)=>RW(e,t,o,i,n),()=>e)}function UC(e,t,r,n){return Px(e,t,r,n)}var NC=u(()=>{l();M();G();ln();Vr();hs()});function AW(){if(!s.IsLessThan(Ox,mt.Get().maxInstantiationCount))throw Error("Type instantiation is excessively deep and possibly infinite")}function PW(){AW(),Ox++,Cx++}function CW(){Cx--,s.IsEqual(Cx,0)&&(Ox=0)}function OW(e){return s.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function MW(e,t){return s.IsEqual(OW(e),t)}function vW(e,t,r,n,o,i){PW();try{let a=UC(e,t,n,i),c=R(a,Ne([...t.callstack,r.$ref],t.visited),o);return R(a,Ne([],[]),c)}finally{CW()}}function FW(e,t,r,n,o,i){return i.reduce((a,c)=>{let p=vW(e,t,r,n,o,c);return[...a,p]},[])}function _W(e,t,r,n,o,i){let a=OC(n,i,o),c=FW(e,t,r,n,o,a);return s.IsEqual(c.length,1)?c[0]:hr(c)}function Ap(e,t,r,n){let o=Ur(e,t,n),i=FC(e,r,n),a=i[0],c=i[1];return ns(c)?MW(t,a)?Xa(wt(a),o):_W(e,t,wt(a),c.parameters,c.expression,o):Xa(r,o)}var Cx,Ox,Mx=u(()=>{Yn();l();hs();zr();Aa();ws();G();G();G();MC();_C();NC();Cx=0,Ox=0});function Xa(e,t){return h.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function DC(e,t){return Ap({},Ne([],[]),e,t)}function $s(e){return _(e,"Call")}var hs=u(()=>{M();re();Mx();G()});function LW(e){return h.Discard(e,["~immutable"])}function jC(e,t){return h.Update(LW(e),{},t)}function qC(e,t,r,n){let o=R(e,t,r);return jC(o,n)}var vx=u(()=>{M();G()});function GC(e,t){return e(t)}var KC=u(()=>{});function BC(e,t){return s.IsString(t)?oe(GC(e,t)):oe(t)}var HC=u(()=>{l();gt();KC()});function WC(e,t){let r=Vt(t);return io(e,r)}var zC=u(()=>{Pp();ws()});function VC(e,t){let r=t.map(n=>io(e,n));return X(r)}var JC=u(()=>{fe();Pp()});function io(e,t){return me(t)?BC(e,t.const):Me(t)?WC(e,t.pattern):O(t)?VC(e,t.anyOf):t}var Pp=u(()=>{gt();dr();fe();HC();zC();JC()});function Hc(e,t={}){return L("Capitalize",[e],t)}function YC(e,t={}){return Fx(e,t)}var Cp=u(()=>{ke();Nn()});function Wc(e,t={}){return L("Lowercase",[e],t)}function XC(e,t={}){return _x(e,t)}var Op=u(()=>{ke();Nn()});function zc(e,t={}){return L("Uncapitalize",[e],t)}function ZC(e,t={}){return Lx(e,t)}var Mp=u(()=>{ke();Nn()});function Vc(e,t={}){return L("Uppercase",[e],t)}function QC(e,t={}){return Ux(e,t)}var vp=u(()=>{ke();Nn()});function Fx(e,t){return te([e])?h.Update(io(UW,e),{},t):Hc(e,t)}function _x(e,t){return te([e])?h.Update(io(NW,e),{},t):Wc(e,t)}function Lx(e,t){return te([e])?h.Update(io(DW,e),{},t):zc(e,t)}function Ux(e,t){return te([e])?h.Update(io(jW,e),{},t):Vc(e,t)}function eO(e,t,r,n){let o=R(e,t,r);return Fx(o,n)}function tO(e,t,r,n){let o=R(e,t,r);return _x(o,n)}function rO(e,t,r,n){let o=R(e,t,r);return Lx(o,n)}function nO(e,t,r,n){let o=R(e,t,r);return Ux(o,n)}var UW,NW,DW,jW,Nn=u(()=>{M();Pp();G();Cp();Op();Mp();vp();UW=e=>e[0].toUpperCase()+e.slice(1),NW=e=>e.toLowerCase(),DW=e=>e[0].toLowerCase()+e.slice(1),jW=e=>e.toUpperCase()});function Jc(e,t,r,n,o={}){return L("Conditional",[e,t,r,n],o)}function oO(e,t,r,n,o={}){return Nx({},Ne([],[]),e,t,r,n,o)}var Fp=u(()=>{ke();Dx();G()});function qW(e,t,r,n,o,i){let a=Bt(e,r,n);return V.IsExtendsUnion(a)?X([R(a.inferred,t,o),R(e,t,i)]):V.IsExtendsTrue(a)?R(a.inferred,t,o):R(e,t,i)}function Nx(e,t,r,n,o,i,a){return te([r,n])?h.Update(qW(e,t,r,n,o,i),{},a):Jc(r,n,o,i,a)}function iO(e,t,r,n,o,i,a){let c=R(e,t,r),p=R(e,t,n);return Nx(e,t,c,p,o,i,a)}var Dx=u(()=>{M();fe();ln();G();Fp()});var jx=u(()=>{Dx()});function Yc(e,t={}){return L("ConstructorParameters",[e],t)}function sO(e,t={}){return qx(e,t)}var _p=u(()=>{ke();Lp()});function GW(e){let t=Qe(e)?e.parameters:[],r=_o({},Ne([],[]),t);return nt(r)}function qx(e,t){return te([e])?h.Update(GW(e),{},t):Yc(e,t)}function aO(e,t,r,n){let o=R(e,t,r);return qx(o,n)}var Lp=u(()=>{M();Hr();$t();_p();G();G();G()});function Xc(e,t,r={}){return L("Exclude",[e,t],r)}function uO(e,t,r={}){return fu(e,t,r)}var Up=u(()=>{ke();lu()});function fu(e,t,r){return te([e,t])?h.Update(_c(e,t),{},r):Xc(e,t,r)}function mO(e,t,r,n,o){let i=R(e,t,r),a=R(e,t,n);return fu(i,a,o)}var lu=u(()=>{M();G();Up();qh()});function Zc(e,t,r={}){return L("Extract",[e,t],r)}function cO(e,t,r={}){return Gx(e,t,r)}var Np=u(()=>{ke();Dp()});function KW(e,t){let r=Bt({},e,t);return V.IsExtendsTrueLike(r)?[e]:[]}function pO(e,t,r=[]){return s.ShiftLeft(e,(n,o)=>pO(o,t,[...r,...KW(n,t)]),()=>r)}function fO(e,t){let r=Yr(e),n=O(r)?r.anyOf:[r],o=pO(n,t);return hr(o)}var lO=u(()=>{l();fe();ln();ie();ie()});function Gx(e,t,r){return te([e,t])?h.Update(fO(e,t),{},r):Zc(e,t,r)}function dO(e,t,r,n,o){let i=R(e,t,r),a=R(e,t,n);return Gx(i,a,o)}var Dp=u(()=>{M();G();Np();lO()});function BW(e){return e.reduce((t,r)=>kc(r)?[...t,oe(r)]:t,[])}function Ss(e){let t=BW(e);return X(t)}var du=u(()=>{gt();fe()});function Za(e,t,r={}){return L("Index",[e,t],r)}function gO(e,t,r={}){let n=s.IsArray(t)?Ss(t):t;return Bx(e,n,r)}var Kx=u(()=>{l();ke();du();jp()});function hO(e,t){let r=Un(e,t);return Nr(r)}var xO=u(()=>{ki();wi()});function IO(e,t,r){let n=dn(e,t,r);return Nr(n)}var yO=u(()=>{ki();ie()});function HW(e,t){let r=s.Keys(e).filter(g=>!s.HasPropertyKey(t,g)),n=s.Keys(t).filter(g=>!s.HasPropertyKey(e,g)),o=s.Keys(e).filter(g=>s.HasPropertyKey(t,g)),i=r.reduce((g,x)=>({...g,[x]:e[x]}),{}),a=n.reduce((g,x)=>({...g,[x]:t[x]}),{}),c=o.reduce((g,x)=>({...g,[x]:He([e[x],t[x]])}),{}),p=h.Assign(i,a);return h.Assign(p,c)}function bO(e){return e.reduce((t,r)=>HW(t,Nr(r)),{})}var wO=u(()=>{M();l();ki();ie()});var kO=u(()=>{});function EO(e){let t=$T(nt(e));return Nr(t)}var $O=u(()=>{$t();Lh();ki()});function WW(e,t){return s.Keys(e).filter(o=>o in t).reduce((o,i)=>({...o,[i]:hr([e[i],t[i]])}),{})}function SO(e,t){return s.ShiftLeft(e,(r,n)=>SO(n,WW(t,Nr(r))),()=>t)}function TO(e){return s.ShiftLeft(e,(t,r)=>SO(r,Nr(t)),()=>Ze())}var RO=u(()=>{l();un();ie();ki()});function Nr(e){return Oe(e)?hO(e.$defs,e.$ref):tt(e)?IO(e.if,e.then,e.else):K(e)?bO(e.allOf):O(e)?TO(e.anyOf):ne(e)?EO(e.items):W(e)?e.properties:{}}var ki=u(()=>{lr();Er();Et();Se();$t();fe();xO();yO();wO();kO();$O();RO()});function Ts(e){let t=Nr(e);return H(t)}var AO=u(()=>{Se();ki()});var gu=u(()=>{AO()});function Rs(e){let t=`${e}`;return zW.test(t)?parseInt(t):e}var zW,hu=u(()=>{zW=new RegExp("^(?:0|[1-9][0-9]*)$")});function VW(e){return oe(Rs(e))}function PO(e){return e.map(t=>CO(t))}function CO(e){return K(e)?zt(PO(e.allOf)):O(e)?X(PO(e.anyOf)):me(e)?VW(e.const):e}function OO(e,t){let r=CO(t),n=Bt({},r,Sr());return V.IsExtendsTrueLike(n)?e:me(t)&&s.IsEqual(t.const,"length")?Sr():Re()}var MO=u(()=>{l();Et();fe();gt();sr();_t();ln();hu()});function vO(e,t){let r=Un(e,t);return Ar(r)}var FO=u(()=>{Lo();wi()});function _O(e,t,r){let n=dn(e,t,r);return Ar(n)}var LO=u(()=>{Lo();ie()});function UO(e){let t=ur(e);return Ar(t)}var NO=u(()=>{Lo();ie()});function DO(e){let t=He(e);return Ar(t)}var jO=u(()=>{ie();Lo()});function qO(e){return[`${e}`]}var GO=u(()=>{});function KO(e){let t=Vt(e);return Ar(t)}var BO=u(()=>{Lo();ie()});function HO(e){return e.reduce((t,r)=>[...t,...Ar(r)],[])}var WO=u(()=>{Lo()});function Ar(e){return Oe(e)?vO(e.$defs,e.$ref):tt(e)?_O(e.if,e.then,e.else):rt(e)?UO(e.enum):K(e)?DO(e.allOf):me(e)?qO(e.const):Me(e)?KO(e.pattern):O(e)?HO(e.anyOf):[]}var Lo=u(()=>{lr();Er();pn();Et();gt();dr();fe();FO();LO();NO();jO();GO();BO();WO()});function As(e){return Ar(e)}var qp=u(()=>{Lo()});function xu(e,t){return t.map(r=>Iu(e,r))}function Iu(e,t){return pe(t)?cr(Iu(e,t.items)):Qe(t)?Rn(xu(e,t.parameters),Iu(e,t.instanceType)):et(t)?An(xu(e,t.parameters),Iu(e,t.returnType)):ne(t)?nt(xu(e,t.items)):O(t)?X(xu(e,t.anyOf)):K(t)?zt(xu(e,t.allOf)):qc(t)?H(e):t}function zO(e,t){return Iu(e,t)}var VO=u(()=>{nr();Hr();Wr();Et();Se();$t();Gc();fe()});function JW(e,t){let r=t in e?e[t]:Re();return zO(e,r)}function JO(e,t){return t.reduce((r,n)=>[...r,JW(e,n)],[])}function YW(e,t){let r=As(t),n=JO(e,r);return hr(n)}function ZW(e){return e.filter(r=>XW.test(r))}function QW(e){let t=dc(e),r=ZW(t),n=JO(e,r);return hr(n)}function YO(e,t){return Be(t)?QW(e):YW(e,t)}var XW,XO=u(()=>{sr();_t();si();ie();qp();Lt();VO();XW=new RegExp(Ao)});function ez(e){return oe(Rs(e))}function ZO(e){return e.map(t=>Hx(t))}function Hx(e){return K(e)?zt(ZO(e.allOf)):O(e)?X(ZO(e.anyOf)):me(e)?ez(e.const):e}var QO=u(()=>{fe();Et();gt();hu()});function tz(e,t){return e.reduceRight((r,n,o)=>{let i=Bt({},oe(o),t);return V.IsExtendsTrueLike(i)?[n,...r]:r},[])}function rz(e,t){let r=Hx(t),n=tz(e,r);return To(n)}function nz(e){return To(e)}function eM(e,t){return me(t)&&s.IsEqual(t.const,"length")?oe(e.length):Be(t)||At(t)?nz(e):rz(e,t)}var tM=u(()=>{l();gt();sr();Mn();ie();ln();QO()});function rM(e,t){return pe(e)?OO(e.items,t):W(e)?YO(e.properties,t):ne(e)?eM(e.items,t):Re()}var nM=u(()=>{nr();_t();Se();$t();MO();XO();tM()});function oz(e){return Oe(e)||tt(e)||K(e)||O(e)?Ts(e):e}function Bx(e,t,r){return te([e,t])?h.Update(rM(oz(e),t),{},r):Za(e,t,r)}function oM(e,t,r,n,o){let i=R(e,t,r),a=R(e,t,n);return Bx(i,a,o)}var jp=u(()=>{M();lr();Er();Et();fe();G();Kx();gu();nM()});function Qc(e,t={}){return L("InstanceType",[e],t)}function iM(e,t={}){return Wx(e,t)}var Gp=u(()=>{ke();Kp()});function iz(e){return Qe(e)?e.instanceType:Re()}function Wx(e,t){return te([e])?h.Update(iz(e),{},t):Qc(e,t)}function sM(e,t,r,n={}){let o=R(e,t,r);return Wx(o,n)}var Kp=u(()=>{M();Hr();_t();Gp();G()});function Qa(e,t={}){return L("KeyOf",[e],t)}function aM(e,t={}){return zx(e,t)}var Bp=u(()=>{ke();Hp()});function uM(){return X([Sr(),ar(),us()])}var mM=u(()=>{sr();Jr();li();fe()});function cM(e){return Sr()}var pM=u(()=>{sr()});function sz(e){return e.reduce((r,n)=>kc(n)?[...r,oe(Rs(n))]:Ze(),[])}function fM(e){let t=s.Keys(e),r=sz(t);return To(r)}var lM=u(()=>{un();l();gt();hu();ie()});function dM(e){return Co(e)}var gM=u(()=>{Lt()});function hM(e){let t=e.map((r,n)=>oe(n));return To(t)}var xM=u(()=>{gt();ie()});function IM(e){return Ye(e)?uM():pe(e)?cM(e.items):W(e)?fM(e.properties):Te(e)?dM(e):ne(e)?hM(e.items):Re()}var yM=u(()=>{pr();nr();_t();Se();Lt();$t();mM();pM();lM();gM();xM()});function az(e){return Oe(e)||tt(e)||K(e)||O(e)?Ts(e):e}function zx(e,t){return te([e])?h.Update(IM(az(e)),{},t):Qa(e,t)}function bM(e,t,r,n){let o=R(e,t,r);return zx(o,n)}var Hp=u(()=>{M();lr();Er();Et();fe();Bp();G();gu();yM()});function Ja(e,t,r,n,o={}){return L("Mapped",[e,t,r,n],o)}function wM(e,t,r,n,o={}){return Vx({},Ne([],[]),e,t,r,n,o)}var Wp=u(()=>{ke();zp();G()});function uz(e){let t=Vt(e);return Vp(t)}function mz(e){return e.reduce((t,r)=>[...t,...Vp(r)],[])}function cz(e){let t=ur(e);return Vp(t)}function pz(e){return s.IsNumber(e)?[oe(`${e}`)]:[oe(e)]}function Vp(e){return rt(e)?cz(e.enum):me(e)?pz(e.const):Me(e)?uz(e.pattern):O(e)?mz(e.anyOf):[e]}function kM(e){return Vp(e)}var EM=u(()=>{l();gt();pn();dr();fe();ie();ie()});function fz(e){return Me(e)?Vt(e.pattern):e}function lz(e,t,r,n,o,i){let a=h.Assign(e,{[r.name]:n}),c=R(a,t,o),p=fz(c),f=R(a,t,i);return Ec(p)||$c(p)?{[p.const]:f}:{}}function dz(e,t,r,n,o,i){return n.reduce((a,c)=>[...a,lz(e,t,r,c,o,i)],[])}function gz(e){return e.reduce((t,r)=>[...t,H(r)],[])}function $M(e,t,r,n,o,i){let a=kM(n),c=dz(e,t,r,a,o,i),p=gz(c);return He(p)}var SM=u(()=>{M();gt();Se();dr();G();ie();ie();EM()});function Vx(e,t,r,n,o,i,a){return te([n])?h.Update($M(e,t,r,n,o,i),{},a):Ja(r,n,o,i,a)}function TM(e,t,r,n,o,i,a){let c=R(e,t,n);return Vx(e,t,r,c,o,i,a)}var zp=u(()=>{M();Wp();G();SM()});function hz(e,t,r){let n=h.Assign(e,t);return s.Keys(t).filter(i=>r.includes(i)).reduce((i,a)=>({...i,[a]:EC(n,a,t[a])}),{})}function xz(e,t,r){let n=h.Assign(e,t);return s.Keys(t).filter(i=>!r.includes(i)).reduce((i,a)=>({...i,[a]:R(n,Ne([],[]),t[a])}),{})}function Iz(e,t,r){let n=IC(t),o=hz(e,t,n),i=xz(e,t,n),a={...o,...i};return h.Update(a,{},r)}function Jp(e,t,r,n){return Iz(e,r,n)}var Yp=u(()=>{l();M();G();Ex();Sx();G()});function ep(e,t={}){return L("NonNullable",[e],t)}function RM(e,t={}){return Jx(e,t)}var Xp=u(()=>{ke();Zp()});function yz(e){let t=X([ss(),ds()]);return fu(e,t,{})}function Jx(e,t){return te([e])?h.Update(yz(e),{},t):ep(e,t)}function AM(e,t,r,n){let o=R(e,t,r);return Jx(o,n)}var Zp=u(()=>{M();as();gs();fe();lu();Xp();G()});function tp(e,t,r={}){return L("Omit",[e,t],r)}function PM(e,t,r={}){let n=s.IsArray(t)?Ss(t):t;return Yx(e,n,r)}var Qp=u(()=>{l();ke();du();ef()});function tf(e){let t=Ts(e);return W(t)?t.properties:Ze()}var Xx=u(()=>{un();Se();gu()});function bz(e,t){return s.Keys(e).reduce((n,o)=>t.includes(o)?n:{...n,[o]:e[o]},{})}function CM(e,t){let r=tf(e),n=As(t),o=bz(r,n);return H(o)}var OM=u(()=>{l();Se();qp();Xx()});function Yx(e,t,r){return te([e,t])?h.Update(CM(e,t),{},r):tp(e,t,r)}function MM(e,t,r,n,o){let i=R(e,t,r),a=R(e,t,n);return Yx(i,a,o)}var ef=u(()=>{M();Qp();G();OM()});function rp(e,t={}){return L("Parameters",[e],t)}function vM(e,t={}){return Zx(e,t)}var rf=u(()=>{ke();nf()});function wz(e){let t=et(e)?e.parameters:[],r=_o({},Ne([],[]),t);return nt(r)}function Zx(e,t){return te([e])?h.Update(wz(e),{},t):rp(e,t)}function FM(e,t,r,n){let o=R(e,t,r);return Zx(o,n)}var nf=u(()=>{M();Wr();$t();rf();G();G();G()});function np(e,t={}){return L("Partial",[e],t)}function _M(e,t={}){return Qx(e,t)}var of=u(()=>{ke();sf()});function LM(e,t){let r=Un(e,t),n=Dn(r);return Cn(h.Assign(e,{[t]:n}),t)}var UM=u(()=>{M();lr();Ps();wi()});function NM(e,t,r){let n=dn(e,t,r);return Dn(n)}var DM=u(()=>{Ps();ie()});function jM(e){let t=He(e);return Dn(t)}var qM=u(()=>{Ps();ie()});function GM(e){let t=e.map(r=>Dn(r));return X(t)}var KM=u(()=>{fe();Ps()});function BM(e){let t=s.Keys(e).reduce((n,o)=>({...n,[o]:ii(e[o])}),{});return H(t)}var HM=u(()=>{l();Se();Pa()});function Dn(e){return Oe(e)?LM(e.$defs,e.$ref):tt(e)?NM(e.if,e.then,e.else):K(e)?jM(e.allOf):O(e)?GM(e.anyOf):W(e)?BM(e.properties):H({})}var Ps=u(()=>{lr();Er();Et();Se();fe();UM();DM();qM();KM();HM()});function Qx(e,t){return te([e])?h.Update(Dn(e),{},t):np(e,t)}function WM(e,t,r,n){let o=R(e,t,r);return Qx(o,n)}var sf=u(()=>{M();of();Ps();G()});function op(e,t,r={}){return L("Pick",[e,t],r)}function zM(e,t,r={}){let n=s.IsArray(t)?Ss(t):t;return eI(e,n,r)}var af=u(()=>{l();ke();du();uf()});function kz(e,t){return s.Keys(e).reduce((n,o)=>t.includes(o)?h.Assign(n,{[o]:e[o]}):n,{})}function VM(e,t){let r=tf(e),n=As(t),o=kz(r,n);return H(o)}var JM=u(()=>{M();l();Se();qp();Xx()});function eI(e,t,r){return te([e,t])?h.Update(VM(e,t),{},r):op(e,t,r)}function YM(e,t,r,n,o){let i=R(e,t,r),a=R(e,t,n);return eI(i,a,o)}var uf=u(()=>{M();af();G();JM()});function ip(e,t={}){return L("ReadonlyObject",[e],t)}function tI(e,t={}){return rI(e,t)}var XM,mf=u(()=>{ke();cf();XM=tI});function ZM(e){return is(cr(e))}var QM=u(()=>{nr();Fa()});function ev(e,t){let r=Un(e,t),n=jn(r);return Cn(h.Assign(e,{[t]:n}),t)}var tv=u(()=>{M();lr();Cs();wi()});function rv(e,t,r){let n=dn(e,t,r);return jn(n)}var nv=u(()=>{Cs();ie()});function ov(e){let t=He(e);return jn(t)}var iv=u(()=>{Cs();ie()});function sv(e){let t=s.Keys(e).reduce((n,o)=>({...n,[o]:mi(e[o])}),{});return H(t)}var av=u(()=>{l();Se();_a()});function uv(e){return is(nt(e))}var mv=u(()=>{$t();Fa()});function cv(e){let t=e.map(r=>jn(r));return X(t)}var pv=u(()=>{fe();Cs()});function jn(e){return pe(e)?ZM(e.items):Oe(e)?ev(e.$defs,e.$ref):tt(e)?rv(e.if,e.then,e.else):K(e)?ov(e.allOf):W(e)?sv(e.properties):ne(e)?uv(e.items):O(e)?cv(e.anyOf):e}var Cs=u(()=>{nr();lr();Er();Et();Se();$t();fe();QM();tv();nv();iv();av();mv();pv()});function rI(e,t){return te([e])?h.Update(jn(e),{},t):ip(e)}function fv(e,t,r,n){let o=R(e,t,r);return rI(o,n)}var cf=u(()=>{M();mf();Cs();G()});function lv(e,t,r,n){return t.visited.includes(n)?r:n in e?R(e,Ne(t.callstack,[...t.visited,n]),e[n]):r}var nI=u(()=>{G();G()});function dv(e,t){let r=Un(e,t),n=qn(r);return Cn(h.Assign(e,{[t]:n}),t)}var gv=u(()=>{M();lr();Os();wi()});function hv(e,t,r){let n=dn(e,t,r);return qn(n)}var xv=u(()=>{Os();ie()});function Iv(e){let t=He(e);return qn(t)}var yv=u(()=>{Os();ie()});function bv(e){let t=e.map(r=>qn(r));return X(t)}var wv=u(()=>{fe();Os()});function kv(e){let t=s.Keys(e).reduce((n,o)=>({...n,[o]:vc(e[o])}),{});return H(t)}var Ev=u(()=>{l();Se();Fc()});function qn(e){return Oe(e)?dv(e.$defs,e.$ref):tt(e)?hv(e.if,e.then,e.else):K(e)?Iv(e.allOf):O(e)?bv(e.anyOf):W(e)?kv(e.properties):H({})}var Os=u(()=>{lr();Er();Et();Se();fe();gv();xv();yv();wv();Ev()});function sp(e,t={}){return L("Required",[e],t)}function $v(e,t={}){return oI(e,t)}var pf=u(()=>{ke();ff()});function oI(e,t){return te([e])?h.Update(qn(e),{},t):sp(e,t)}function Sv(e,t,r,n){let o=R(e,t,r);return oI(o,n)}var ff=u(()=>{M();Os();pf();G()});function ap(e,t={}){return L("ReturnType",[e],t)}function Tv(e,t={}){return iI(e,t)}var lf=u(()=>{ke();df()});function Ez(e){return et(e)?e.returnType:Re()}function iI(e,t){return te([e])?h.Update(Ez(e),{},t):ap(e,t)}function Rv(e,t,r,n={}){let o=R(e,t,r);return iI(o,n)}var df=u(()=>{M();Wr();_t();lf();G()});function up(e,t){return L("With",[e,t],{})}function gf(e,t){return sI(e,t)}var hf=u(()=>{ke();xf()});function sI(e,t){return te([e])?h.Update(e,{},t):up(e,t)}function Av(e,t,r,n){let o=R(e,t,r);return sI(o,n)}var xf=u(()=>{M();G();hf()});function $z(e){return Oo(e)?ne(e.items)?aI(e.items.items):pt(e.items)?[e]:Ee(e.items)?[e]:[Re()]:[e]}function aI(e){return e.reduce((r,n)=>[...r,...$z(n)],[])}var Pv=u(()=>{Vr();_t();ls();zr();$t()});var Cv=u(()=>{Pv()});function Ne(e,t){return{callstack:e,visited:t}}function te(e){return s.ShiftLeft(e,(t,r)=>Ee(t)?!1:te(r),()=>!0)}function iu(e,t,r){return s.Keys(r).reduce((n,o)=>({...n,[o]:R(e,t,r[o])}),{})}function _o(e,t,r){let n=Ur(e,t,r);return aI(n)}function Ur(e,t,r){return r.map(n=>R(e,t,n))}function Sz(e,t){let r=kt(e)?Ra(t,{}):t,n=ci(e)?Ta(r,{}):r;return ui(e)?yu(n,{}):n}function Tz(e,t,r,n,o){return s.IsEqual(r,"AddImmutable")?Ov(e,t,n[0],o):s.IsEqual(r,"RemoveImmutable")?qC(e,t,n[0],o):s.IsEqual(r,"AddReadonly")?_S(e,t,n[0],o):s.IsEqual(r,"RemoveReadonly")?yT(e,t,n[0],o):s.IsEqual(r,"AddOptional")?LS(e,t,n[0],o):s.IsEqual(r,"RemoveOptional")?kT(e,t,n[0],o):s.IsEqual(r,"Capitalize")?eO(e,t,n[0],o):s.IsEqual(r,"Conditional")?iO(e,t,n[0],n[1],n[2],n[3],o):s.IsEqual(r,"ConstructorParameters")?aO(e,t,n[0],o):s.IsEqual(r,"Evaluate")?RC(e,t,n[0],o):s.IsEqual(r,"Exclude")?mO(e,t,n[0],n[1],o):s.IsEqual(r,"Extract")?dO(e,t,n[0],n[1],o):s.IsEqual(r,"Index")?oM(e,t,n[0],n[1],o):s.IsEqual(r,"InstanceType")?sM(e,t,n[0],o):s.IsEqual(r,"Interface")?dC(e,t,n[0],n[1],o):s.IsEqual(r,"KeyOf")?bM(e,t,n[0],o):s.IsEqual(r,"Lowercase")?tO(e,t,n[0],o):s.IsEqual(r,"Mapped")?TM(e,t,n[0],n[1],n[2],n[3],o):s.IsEqual(r,"Module")?Jp(e,t,n[0],o):s.IsEqual(r,"NonNullable")?AM(e,t,n[0],o):s.IsEqual(r,"Pick")?YM(e,t,n[0],n[1],o):s.IsEqual(r,"Parameters")?FM(e,t,n[0],o):s.IsEqual(r,"Partial")?WM(e,t,n[0],o):s.IsEqual(r,"Omit")?MM(e,t,n[0],n[1],o):s.IsEqual(r,"ReadonlyObject")?fv(e,t,n[0],o):s.IsEqual(r,"Record")?zT(e,t,n[0],n[1],o):s.IsEqual(r,"Required")?Sv(e,t,n[0],o):s.IsEqual(r,"ReturnType")?Rv(e,t,n[0],o):s.IsEqual(r,"TemplateLiteral")?uP(e,t,n[0],o):s.IsEqual(r,"Uncapitalize")?rO(e,t,n[0],o):s.IsEqual(r,"Uppercase")?nO(e,t,n[0],o):s.IsEqual(r,"With")?Av(e,t,n[0],n[1]):L(r,n,o)}function Rz(e,t,r){let n=Ee(r)?lv(e,t,r,r.$ref):pe(r)?cr(R(e,t,r.items),rs(r)):$s(r)?Ap(e,t,r.target,r.arguments):Qe(r)?Rn(Ur(e,t,r.parameters),R(e,t,r.instanceType),US(r)):et(r)?An(Ur(e,t,r.parameters),R(e,t,r.returnType),NS(r)):tt(r)?ai(R(e,t,r.if),R(e,t,r.then),R(e,t,r.else),BS(r)):K(r)?zt(Ur(e,t,r.allOf),JS(r)):W(r)?H(iu(e,t,r.properties),GS(r)):Te(r)?VT(St(r),R(e,t,_e(r))):Oo(r)?gi(R(e,t,r.items)):ne(r)?nt(_o(e,t,r.items),IT(r)):O(r)?X(Ur(e,t,r.anyOf),sT(r)):r;return Sz(r,n)}function R(e,t,r){return wo(r)?Tz(e,t,r.action,r.parameters,r.options):Rz(e,t,r)}function Dr(e,t){return R(e,Ne([],[]),t)}var G=u(()=>{l();If();fc();lc();nr();Hr();ke();Wr();hs();Er();Et();Se();Lt();$t();fe();zr();ls();If();vx();fc();Oh();lc();Fh();Eo();va();La();Mx();Nn();jx();Lp();Rp();lu();Dp();jp();Kp();Sp();Hp();Nn();zp();Yp();Zp();ef();nf();sf();uf();cf();Uc();nI();ff();df();bp();Nn();Nn();xf();Cv()});function Az(e){return h.Update(e,{"~immutable":!0},{})}function yu(e,t){return h.Update(Az(e),{},t)}function Ov(e,t,r,n){let o=R(e,t,r);return yu(o,n)}var If=u(()=>{M();G()});function YA(e,t={}){return L("AddImmutable",[e],t)}function is(e,t={}){return yu(e,t)}var Fa=u(()=>{ke();If()});var Mv=u(()=>{ke();vx()});function XA(e,t={}){return L("Evaluate",[e],t)}function Pt(e,t={}){return Ax(e,t)}var uI=u(()=>{ke();Rp()});function ZA(e,t={}){return L("Module",[e],t)}function vv(e,t={}){return Jp({},Ne([],[]),e,t)}var mI=u(()=>{ke();G();Yp()});var Ii=u(()=>{Fa();_a();Pa();Mv();Mh();Fc();Cp();Fp();_p();uI();Up();Np();Kx();Gp();su();Bp();Op();Wp();mI();Xp();Qp();rf();of();af();mf();pf();lf();Mp();vp();hf()});var Fv=u(()=>{Lp()});var _v=u(()=>{Ic()});var Lv=u(()=>{lu()});var Uv=u(()=>{Dp()});var Nv=u(()=>{});var Dv=u(()=>{du();hu();Nv()});var jv=u(()=>{jp()});var qv=u(()=>{Kp()});var Gv=u(()=>{Sp()});var Kv=u(()=>{Nn()});var Bv=u(()=>{Hp()});var Hv=u(()=>{zp()});var Wv=u(()=>{Yp()});var zv=u(()=>{Zp()});var Vv=u(()=>{ef()});var Jv=u(()=>{nf()});var Yv=u(()=>{qa();cx()});var Xv=u(()=>{sf()});var Zv=u(()=>{uf()});function Pz(e,t){let r=cs(e,t);return s.IsEqual(r,Ba)||s.IsEqual(r,cu)?1:0}function Qv(e,t,r=[]){return s.ShiftLeft(t,(n,o)=>s.IsEqual(Pz(e,n),1)?Qv(e,o,[...r,n]):[...r,e,...t],()=>[...r,e])}function eF(e,t=[]){return s.ShiftLeft(e,(r,n)=>eF(n,Qv(r,t)),()=>t)}function tF(e){return eF(e)}var rF=u(()=>{l();Ha()});var nF=u(()=>{rF()});var oF=u(()=>{cf()});var iF=u(()=>{Uc()});var sF=u(()=>{nI()});var aF=u(()=>{ff()});var uF=u(()=>{df()});var mF=u(()=>{});var cF=u(()=>{l();qa()});var yf=u(()=>{Oc();Mc();px();mF();Pc();cF()});var pF=u(()=>{xf()});var cI=u(()=>{G();jx();Fv();Tx();_v();ws();Lv();Uv();Dv();jv();qv();Gv();Kv();Bv();Hv();Wv();zv();gu();Vv();Jv();Yv();Xv();Zv();nF();oF();iF();sF();aF();uF();yf();pF()});function fF(...e){let[t,r,n]=ae.Match(e,{2:(a,c)=>s.IsString(a)?[{},a,c]:[a,c,{}],3:(a,c,p)=>[a,c,p],1:a=>[{},a,{}]}),o=nP(r),i=s.IsArray(o)&&s.IsEqual(o.length,2)?R(t,Ne([],[]),o[0]):Re();return h.Update(i,{},n)}var lF=u(()=>{yt();M();l();Va();G();G();Rc()});var bf=u(()=>{lF()});var J=u(()=>{Ii();cI();ln();bf();Va()});function dF(e,t,r){return s.IsArray(r)?r.map(n=>Ct(e,t.items,n)):r}var gF=u(()=>{l();Gn()});function hF(e,t,r){return Ct({...e,...t.$defs},wt(t.$ref),r)}var xF=u(()=>{J();Gn()});function Cz(e,t){let r=s.HasPropertyKey(t,"unevaluatedProperties")?{additionalProperties:t.unevaluatedProperties}:{},n=Dr(e,t),o=Pt(n);return W(o)?gf(o,r):o}function IF(e,t,r){let n=Cz(e,t);return Ct(e,n,r)}var yF=u(()=>{J();l();Gn()});function wf(e){return s.HasPropertyKey(e,"additionalProperties")?e.additionalProperties:void 0}var pI=u(()=>{l()});function bF(e,t,r){if(!s.IsObject(r)||s.IsArray(r))return r;let n=wf(t);for(let o of s.Keys(r)){if(s.HasPropertyKey(t.properties,o)){r[o]=Ct(e,t.properties[o],r[o]);continue}if(s.IsBoolean(n)&&s.IsEqual(n,!0)||Je(n)&&ue(e,n,r[o])){r[o]=Ct(e,n,r[o]);continue}delete r[o]}return r}var wF=u(()=>{J();l();Gn();bt();pI()});function kF(e,t,r){if(!s.IsObject(r))return r;let n=wf(t),[o,i]=[new RegExp(St(t)),_e(t)];for(let a of s.Keys(r)){if(o.test(a)){r[a]=Ct(e,i,r[a]);continue}if(s.IsBoolean(n)&&s.IsEqual(n,!0)||Je(n)&&ue(e,n,r[a])){r[a]=Ct(e,n,r[a]);continue}delete r[a]}return r}var EF=u(()=>{J();l();Gn();bt();pI()});function $F(e,t,r){return s.HasPropertyKey(e,t.$ref)?Ct(e,e[t.$ref],r):r}var SF=u(()=>{l();Gn()});function TF(e,t,r){if(!s.IsArray(r))return r;let n=Math.min(r.length,t.items.length);for(let o=0;o<n;o++)r[o]=Ct(e,t.items[o],r[o]);return s.IsGreaterThan(r.length,n)?r.slice(0,n):r}var RF=u(()=>{l();Gn()});function Le(e){return ri(e)}var AF=u(()=>{Sa()});var Ir=u(()=>{AF()});function PF(e,t,r){for(let n of t.anyOf){let o=Ct(e,n,Le(r));if(ue(e,n,o))return o}return r}var CF=u(()=>{bt();Ir();Gn()});function Ct(e,t,r){return pe(t)?dF(e,t,r):Oe(t)?hF(e,t,r):K(t)?IF(e,t,r):W(t)?bF(e,t,r):Te(t)?kF(e,t,r):Ee(t)?$F(e,t,r):ne(t)?TF(e,t,r):O(t)?PF(e,t,r):r}var Gn=u(()=>{J();gF();xF();yF();wF();EF();SF();RF();CF()});function Oz(e,t){for(let r of mm.Keys(e))mm.HasPropertyKey(t,r)||(t[r]=e[r]);return t}function Mz(e){let t={};for(let r of mm.Keys(e))t[r]=bu(e[r]);return t}function vz(e){return fI(tF(e))}function fI(e){return e.map(t=>bu(t))}function bu(e){let t=pe(e)?cr(bu(e.items),rs(e)):K(e)?zt(fI(e.allOf)):O(e)?X(vz(e.anyOf)):W(e)?H(Mz(e.properties)):Te(e)?fs(Co(e),bu(_e(e))):ne(e)?nt(fI(e.items)):e;return Oz(e,t)}function Ms(e){return bu(e)}var wu=u(()=>{l();J();J();J();J();J();J();J()});function gn(...e){let[t,r,n]=ae.Match(e,{3:(i,a,c)=>[i,a,c],2:(i,a)=>[{},i,a]}),o=mt.Get().unionPrioritySort?Ms(r):r;return Ct(t,o,n)}var OF=u(()=>{ts();Gn();wu()});var $i=u(()=>{OF()});function lI(e){return s.IsObject(e)&&s.HasPropertyKey(e,"value")}function q(e){return{value:e}}function Si(){}var so=u(()=>{l()});function Fz(e){return s.IsArray(e)?q(e):q([e])}var MF=u(()=>{l();so()});function _z(e){return s.IsEqual(e,!0)?q(BigInt(1)):q(BigInt(0))}function Dz(e){return Lz.test(e)}function jz(e){return Uz.test(e)}function qz(e){return Nz.test(e)}function Gz(e){let t=e.toLowerCase();return Dz(e)?q(BigInt(e.slice(0,e.length-1))):jz(e)?q(BigInt(e.split(".")[0])):qz(e)?q(BigInt(e)):s.IsEqual(t,"false")?q(BigInt(0)):s.IsEqual(t,"true")?q(BigInt(1)):void 0}function dI(e){return s.IsBigInt(e)?q(e):s.IsBoolean(e)?_z(e):s.IsNumber(e)?q(BigInt(Math.trunc(e))):s.IsNull(e)?q(BigInt(0)):s.IsString(e)?Gz(e):s.IsUndefined(e)?q(BigInt(0)):void 0}var Lz,Uz,Nz,gI=u(()=>{l();so();Lz=/^-?(0|[1-9]\d*)n$/,Uz=/^-?(0|[1-9]\d*)\.\d+$/,Nz=/^-?(0|[1-9]\d*)$/});function Kz(e){return s.IsEqual(e,BigInt(0))?q(!1):s.IsEqual(e,BigInt(1))?q(!0):void 0}function Bz(e){return s.IsEqual(e,0)?q(!1):s.IsEqual(e,1)?q(!0):void 0}function Hz(e){return s.IsEqual(e.toLowerCase(),"false")?q(!1):s.IsEqual(e.toLowerCase(),"true")?q(!0):s.IsEqual(e,"0")?q(!1):s.IsEqual(e,"1")?q(!0):void 0}function Wz(e){return s.IsBigInt(e)?Kz(e):s.IsBoolean(e)?q(e):s.IsNumber(e)?Bz(e):s.IsNull(e)?q(!1):s.IsString(e)?Hz(e):s.IsUndefined(e)?q(!1):void 0}var vF=u(()=>{l();so()});function zz(e){return s.IsEqual(e,BigInt(0))?q(null):void 0}function Vz(e){return s.IsEqual(e,!1)?q(null):void 0}function Jz(e){return s.IsEqual(e,0)?q(null):void 0}function Yz(e){let t=e.toLowerCase();return s.IsEqual(t,"undefined")||s.IsEqual(t,"null")||s.IsEqual(e,"")||s.IsEqual(e,"0")?q(null):void 0}function Xz(e){return s.IsBigInt(e)?zz(e):s.IsBoolean(e)?Vz(e):s.IsNumber(e)?Jz(e):s.IsNull(e)?q(null):s.IsString(e)?Yz(e):s.IsUndefined(e)?q(null):void 0}var FF=u(()=>{l();so()});function Zz(e){return e<=_F&&e>=LF?q(Number(e)):void 0}function Qz(e){return q(e?1:0)}function e9(e){let t=+e;if(s.IsNumber(t))return q(t);let r=e.toLowerCase();if(s.IsEqual(r,"false"))return q(0);if(s.IsEqual(r,"true"))return q(1);let n=dI(e);return lI(n)?n.value<=_F&&n.value>=LF?q(Number(n.value)):void 0:void 0}function t9(e){return s.IsBigInt(e)?Zz(e):s.IsBoolean(e)?Qz(e):s.IsNumber(e)?q(e):s.IsNull(e)?q(0):s.IsString(e)?e9(e):s.IsUndefined(e)?q(0):void 0}var _F,LF,UF=u(()=>{l();so();gI();_F=BigInt(Number.MAX_SAFE_INTEGER),LF=BigInt(Number.MIN_SAFE_INTEGER)});function r9(e){return s.IsBigInt(e)?q(e.toString()):s.IsBoolean(e)?q(e.toString()):s.IsNumber(e)?q(e.toString()):s.IsNull(e)?q("null"):s.IsString(e)?q(e):s.IsUndefined(e)?q(""):void 0}var NF=u(()=>{l();so()});function n9(e){return s.IsEqual(e,BigInt(0))?q(void 0):void 0}function o9(e){return s.IsEqual(e,!1)?q(void 0):void 0}function i9(e){return s.IsEqual(e,0)?q(void 0):void 0}function s9(e){let t=e.toLowerCase();return s.IsEqual(t,"undefined")||s.IsEqual(t,"null")||s.IsEqual(e,"")||s.IsEqual(e,"0")?q(void 0):void 0}function a9(e){return s.IsBigInt(e)?n9(e):s.IsBoolean(e)?o9(e):s.IsNumber(e)?i9(e):s.IsNull(e)?q(void 0):s.IsString(e)?s9(e):s.IsUndefined(e)?q(e):void 0}var DF=u(()=>{l();so()});var we={};Rt(we,{Fail:()=>Si,IsOk:()=>lI,Ok:()=>q,TryArray:()=>Fz,TryBigInt:()=>dI,TryBoolean:()=>Wz,TryNull:()=>Xz,TryNumber:()=>t9,TryString:()=>r9,TryUndefined:()=>a9});var jF=u(()=>{MF();gI();vF();FF();UF();so();NF();DF()});var hn=u(()=>{jF()});function qF(e,t,r){return we.TryArray(r).value.map(o=>it(e,t.items,o))}var GF=u(()=>{jr();hn()});function KF(e,t,r){let n=we.TryBigInt(r);return we.IsOk(n)?n.value:r}var BF=u(()=>{hn()});function HF(e,t,r){let n=we.TryBoolean(r);return we.IsOk(n)?n.value:r}var WF=u(()=>{hn()});function zF(e,t,r){return it({...e,...t.$defs},wt(t.$ref),r)}var VF=u(()=>{J();jr()});function JF(e,t,r){return it(e,Pt(t),r)}var YF=u(()=>{J();jr()});function XF(e,t,r){let n=we.TryNumber(r);return we.IsOk(n)?Math.trunc(n.value):r}var ZF=u(()=>{hn()});function QF(e,t,r){let n=Dr(e,t),o=Pt(n);return it(e,o,r)}var e_=u(()=>{J();jr()});function u9(e,t,r){let n=we.TryBigInt(r);return we.IsOk(n)&&s.IsEqual(t.const,n.value)?n.value:r}function m9(e,t,r){let n=we.TryBoolean(r);return we.IsOk(n)&&s.IsEqual(t.const,n.value)?n.value:r}function c9(e,t,r){let n=we.TryNumber(r);return we.IsOk(n)&&s.IsEqual(t.const,n.value)?n.value:r}function p9(e,t,r){let n=we.TryString(r);return we.IsOk(n)&&s.IsEqual(t.const,n.value)?n.value:r}function t_(e,t,r){return s.IsEqual(t.const,r)?r:nT(t)?u9(e,t,r):oT(t)?m9(e,t,r):Ec(t)?c9(e,t,r):$c(t)?p9(e,t,r):Ze()}var r_=u(()=>{un();l();J();hn()});function n_(e,t,r){let n=we.TryNull(r);return we.IsOk(n)?n.value:r}var o_=u(()=>{hn()});function i_(e,t,r){let n=we.TryNumber(r);return we.IsOk(n)?n.value:r}var s_=u(()=>{hn()});function kf(e,t,r,n){let o=s.Keys(n);for(let[i,a]of t)for(let c of o)i.test(c)||(n[c]=it(e,r,n[c]));return n}var hI=u(()=>{l();jr()});function ku(e,t,r){return kt(e)&&s.IsUndefined(r[t])}var Ef=u(()=>{l();J()});function f9(e,t,r){let n=s.EntriesRegExp(t.properties),o=s.Keys(r);for(let[i,a]of n)for(let c of o)!i.test(c)||ku(a,c,r)||(r[c]=it(e,a,r[c]));return s.HasPropertyKey(t,"additionalProperties")&&s.IsObject(t.additionalProperties)?kf(e,n,t.additionalProperties,r):r}function a_(e,t,r){return s.IsObjectNotArray(r)?f9(e,t,r):r}var u_=u(()=>{l();jr();hI();Ef()});function l9(e,t,r){let n=s.EntriesRegExp(t.patternProperties),o=s.Keys(r);for(let[i,a]of n)for(let c of o)i.test(c)&&(r[c]=it(e,a,r[c]));return s.HasPropertyKey(t,"additionalProperties")&&s.IsObject(t.additionalProperties)?kf(e,n,t.additionalProperties,r):r}function m_(e,t,r){return s.IsObjectNotArray(r)?l9(e,t,r):r}var c_=u(()=>{l();jr();hI()});function p_(e,t,r){return s.HasPropertyKey(e,t.$ref)?it(e,e[t.$ref],r):r}var f_=u(()=>{jr();l()});function l_(e,t,r){let n=we.TryString(r);return we.IsOk(n)?n.value:r}var d_=u(()=>{hn()});function g_(e,t,r){return it(e,Pt(t),r)}var h_=u(()=>{J();jr()});function x_(e,t,r){if(!s.IsArray(r))return r;for(let n=0;n<Math.min(t.items.length,r.length);n++)r[n]=it(e,t.items[n],r[n]);return r}var I_=u(()=>{l();jr()});function y_(e,t,r){let n=we.TryUndefined(r);return we.IsOk(n)?n.value:r}var b_=u(()=>{hn()});function w_(e,t,r){if(t.anyOf.some(a=>ue(e,a,r)))return r;let i=t.anyOf.map(a=>it(e,a,Le(r))).find(a=>ue(e,t,a));return s.IsUndefined(i)?r:i}var k_=u(()=>{l();bt();Ir();jr()});function E_(e,t,r){let n=we.TryUndefined(r);return we.IsOk(n)?void 0:r}var $_=u(()=>{hn()});function it(e,t,r){return pe(t)?qF(e,t,r):$r(t)?KF(e,t,r):ir(t)?HF(e,t,r):Oe(t)?zF(e,t,r):rt(t)?JF(e,t,r):At(t)?XF(e,t,r):K(t)?QF(e,t,r):me(t)?t_(e,t,r):vn(t)?n_(e,t,r):Be(t)?i_(e,t,r):W(t)?a_(e,t,r):Te(t)?m_(e,t,r):Ee(t)?p_(e,t,r):ht(t)?l_(e,t,r):Me(t)?g_(e,t,r):ne(t)?x_(e,t,r):Xr(t)?y_(e,t,r):O(t)?w_(e,t,r):Tr(t)?E_(e,t,r):r}var jr=u(()=>{J();GF();BF();WF();VF();YF();ZF();e_();r_();o_();s_();u_();c_();f_();d_();h_();I_();b_();k_();$_()});function Kn(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[{},o,i]});return it(t,r,n)}var S_=u(()=>{yt();jr()});var Ti=u(()=>{S_()});function T_(e,t,r){if(!s.IsArray(r))return r;for(let n=0;n<r.length;n++)r[n]=Ot(e,t.items,r[n]);return r}var R_=u(()=>{l();Bn()});function A_(e,t,r){return Ot({...e,...t.$defs},wt(t.$ref),r)}var P_=u(()=>{J();Bn()});function C_(e,t){return s.IsUndefined(t)?s.IsFunction(e.default)?e.default():Le(e.default):t}var O_=u(()=>{l();Ir()});function M_(e,t,r){let n=Dr(e,t),o=Pt(n);return Ot(e,o,r)}var v_=u(()=>{J();Bn()});function F_(e,t,r){if(!s.IsObject(r))return r;let n=s.Keys(t.properties);for(let o of n){let i=Ot(e,t.properties[o],r[o]);s.IsUndefined(i)&&(kt(t.properties[o])||!s.HasPropertyKey(t.properties[o],"default"))||(r[o]=i)}if(!Br(t)||s.IsBoolean(t.additionalProperties))return r;for(let o of s.Keys(r))n.includes(o)||(r[o]=Ot(e,t.additionalProperties,r[o]));return r}var __=u(()=>{J();l();Bn();Ce()});function L_(e,t,r){if(!s.IsObject(r))return r;let[n,o]=[new RegExp(St(t)),_e(t)];for(let i of s.Keys(r))n.test(i)&&wr(o)&&(r[i]=Ot(e,o,r[i]));if(!Br(t))return r;for(let i of s.Keys(r))n.test(i)||(r[i]=Ot(e,t.additionalProperties,r[i]));return r}var U_=u(()=>{J();Ce();l();Bn()});function N_(e,t,r){return s.HasPropertyKey(e,t.$ref)?Ot(e,e[t.$ref],r):r}var D_=u(()=>{l();Bn()});function j_(e,t,r){if(!s.IsArray(r))return r;let[n,o]=[t.items,Math.max(t.items.length,r.length)];for(let i=0;i<o;i++)i<n.length&&(r[i]=Ot(e,n[i],r[i]));return r}var q_=u(()=>{l();Bn()});function G_(e,t,r){for(let n of t.anyOf){let o=Ot(e,n,Le(r));if(ue(e,n,o))return o}return r}var K_=u(()=>{bt();Ir();Bn()});function Ot(e,t,r){let n=wr(t)?C_(t,r):r;return pe(t)?T_(e,t,n):Oe(t)?A_(e,t,n):K(t)?M_(e,t,n):W(t)?F_(e,t,n):Te(t)?L_(e,t,n):Ee(t)?N_(e,t,n):ne(t)?j_(e,t,n):O(t)?G_(e,t,n):n}var Bn=u(()=>{cc();J();R_();P_();O_();v_();__();U_();D_();q_();K_()});function Uo(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[{},o,i]});return Ot(t,r,n)}var B_=u(()=>{yt();Bn()});var vs=u(()=>{B_()});function Fs(e){return(...t)=>{let[r,n,o]=ae.Match(t,{3:(i,a,c)=>[i,a,c],2:(i,a)=>[{},i,a]});return e.reduce((i,a)=>a(r,n,i),o)}}var H_=u(()=>{yt()});var Eu=u(()=>{H_()});function d9(e,t,r){return t["~codec"].decode(r)}function g9(e,t,r){return t["~codec"].encode(r)}function Ge(e,t,r,n){return or(r)?s.IsEqual(e,"Decode")?d9(t,r,n):g9(t,r,n):n}var Hn=u(()=>{l();J()});function h9(e,t,r,n){if(!s.IsArray(n))return n;for(let o=0;o<n.length;o++)n[o]=We(e,t,r.items,n[o]);return Ge(e,t,r,n)}function x9(e,t,r,n){let o=Ge(e,t,r,n);if(!s.IsArray(o))return o;for(let i=0;i<o.length;i++)o[i]=We(e,t,r.items,o[i]);return o}function W_(e,t,r,n){return s.IsEqual(e,"Decode")?h9(e,t,r,n):x9(e,t,r,n)}var z_=u(()=>{l();xn();Hn()});function V_(e,t,r,n){return n=We(e,{...t,...r.$defs},wt(r.$ref),n),Ge(e,t,r,n)}var J_=u(()=>{J();xn();Hn()});function Y_(e){return e.reduce((t,r)=>({...t,...r}),{})}function X_(e,t){for(let r of t)if(!s.IsDeepEqual(e,r))return r;return e}function I9(e,t,r,n){if(s.IsEqual(r.allOf.length,0))return Ge(e,t,r,n);let o=r.allOf.map(c=>We(e,t,c,gn(c,Le(n)))),a=o.every(c=>s.IsObject(c))?Y_(o):X_(n,o);return Ge(e,t,r,a)}function y9(e,t,r,n){if(s.IsEqual(r.allOf.length,0))return Ge(e,t,r,n);let o=Ge(e,t,r,n),i=r.allOf.map(c=>We(e,t,c,gn(c,Le(o))));return i.every(c=>s.IsObject(c))?Y_(i):X_(o,i)}function Z_(e,t,r,n){return s.IsEqual(e,"Decode")?I9(e,t,r,n):y9(e,t,r,n)}var Q_=u(()=>{l();xn();Hn();Ir();$i()});function b9(e,t,r,n){if(!s.IsObjectNotArray(n))return n;for(let o of s.Keys(r.properties))!s.HasPropertyKey(n,o)||ku(r.properties[o],o,n)||(n[o]=We(e,t,r.properties[o],n[o]));return Ge(e,t,r,n)}function w9(e,t,r,n){let o=Ge(e,t,r,n);if(!s.IsObjectNotArray(o))return o;for(let i of s.Keys(r.properties))!s.HasPropertyKey(o,i)||ku(r.properties[i],i,o)||(o[i]=We(e,t,r.properties[i],o[i]));return o}function eL(e,t,r,n){return s.IsEqual(e,"Decode")?b9(e,t,r,n):w9(e,t,r,n)}var tL=u(()=>{l();xn();Hn();Ef()});function k9(e,t,r,n){if(!s.IsObjectNotArray(n))return n;let o=new RegExp(St(r));for(let i of s.Keys(n))o.test(i)&&(n[i]=We(e,t,_e(r),n[i]));return Ge(e,t,r,n)}function E9(e,t,r,n){let o=Ge(e,t,r,n);if(!s.IsObjectNotArray(o))return o;let i=new RegExp(St(r));for(let a of s.Keys(o))i.test(a)&&(o[a]=We(e,t,_e(r),o[a]));return o}function rL(e,t,r,n){return s.IsEqual(e,"Decode")?k9(e,t,r,n):E9(e,t,r,n)}var nL=u(()=>{l();J();xn();Hn()});function oL(e,t,r,n){return s.HasPropertyKey(t,r.$ref)?We(e,t,t[r.$ref],n):n}function iL(e,t,r,n){return s.IsEqual(e,"Decode")?Ge(e,t,r,oL(e,t,r,n)):oL(e,t,r,Ge(e,t,r,n))}var sL=u(()=>{l();xn();Hn()});function $9(e,t,r,n){if(!s.IsArray(n))return n;for(let o=0;o<Math.min(r.items.length,n.length);o++)n[o]=We(e,t,r.items[o],n[o]);return Ge(e,t,r,n)}function S9(e,t,r,n){let o=Ge(e,t,r,n);if(!s.IsArray(o))return n;for(let i=0;i<Math.min(r.items.length,o.length);i++)o[i]=We(e,t,r.items[i],o[i]);return o}function aL(e,t,r,n){return s.IsEqual(e,"Decode")?$9(e,t,r,n):S9(e,t,r,n)}var uL=u(()=>{l();xn();Hn()});function T9(e,t,r,n){for(let o of r.anyOf){if(!ue(t,o,n))continue;let i=We(e,t,o,n);return Ge(e,t,r,i)}return n}function R9(e,t,r,n){let o=Ge(e,t,r,n);for(let i of r.anyOf){let a=We(e,t,i,Le(o));if(ue(t,i,a))return a}return o}function mL(e,t,r,n){return s.IsEqual(e,"Decode")?T9(e,t,r,n):R9(e,t,r,n)}var cL=u(()=>{l();Hn();xn();Ir();bt()});function We(e,t,r,n){return pe(r)?W_(e,t,r,n):Oe(r)?V_(e,t,r,n):K(r)?Z_(e,t,r,n):W(r)?eL(e,t,r,n):Te(r)?rL(e,t,r,n):Ee(r)?iL(e,t,r,n):ne(r)?aL(e,t,r,n):O(r)?mL(e,t,r,n):Ge(e,t,r,n)}var xn=u(()=>{J();z_();J_();Q_();tL();nL();sL();uL();cL();Hn()});function A9(e,t,r){if(!ue(e,t,r))throw new xI(r,cn(e,t,r));return r}function P9(e,t,r){let n=mt.Get().unionPrioritySort?Ms(t):t;return We("Decode",e,n,r)}function pL(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[{},o,i]});return C9(t,r,n)}var xI,C9,fL=u(()=>{ts();oi();bt();ni();$i();Ir();Ti();vs();Eu();xn();wu();xI=class extends ro{constructor(t,r){super("Decode",t,r)}};C9=Fs([(e,t,r)=>Le(r),(e,t,r)=>Uo(e,t,r),(e,t,r)=>Kn(e,t,r),(e,t,r)=>gn(e,t,r),(e,t,r)=>A9(e,t,r),(e,t,r)=>P9(e,t,r)])});function O9(e,t,r){if(!ue(e,t,r))throw new II(r,cn(e,t,r));return r}function M9(e,t,r){let n=mt.Get().unionPrioritySort?Ms(t):t;return We("Encode",e,n,r)}function lL(...e){let[t,r,n]=ae.Match(e,{3:(o,i,a)=>[o,i,a],2:(o,i)=>[{},o,i]});return v9(t,r,n)}var II,v9,dL=u(()=>{ts();oi();bt();ni();$i();Ir();Ti();vs();Eu();xn();wu();II=class extends ro{constructor(t,r){super("Encode",t,r)}};v9=Fs([(e,t,r)=>Le(r),(e,t,r)=>M9(e,t,r),(e,t,r)=>Uo(e,t,r),(e,t,r)=>Kn(e,t,r),(e,t,r)=>gn(e,t,r),(e,t,r)=>O9(e,t,r)])});function F9(e,t){return or(t)||No(e,t.items)}function _9(e,t){return or(t)||gL({...e,...t.$defs},wt(t.$ref))}function L9(e,t){return or(t)||t.allOf.some(r=>No(e,r))}function U9(e,t){return or(t)||s.Keys(t.properties).some(r=>No(e,t.properties[r]))}function N9(e,t){return or(t)||No(e,_e(t))}function gL(e,t){return yI.has(t.$ref)?!1:(yI.add(t.$ref),or(t)||s.HasPropertyKey(e,t.$ref)&&No(e,e[t.$ref]))}function D9(e,t){return or(t)||t.items.some(r=>No(e,r))}function j9(e,t){return or(t)||t.anyOf.some(r=>No(e,r))}function No(e,t){return pe(t)?F9(e,t):Oe(t)?_9(e,t):K(t)?L9(e,t):W(t)?U9(e,t):Te(t)?N9(e,t):Ee(t)?gL(e,t):ne(t)?D9(e,t):O(t)?j9(e,t):or(t)}function hL(...e){let[t,r]=ae.Match(e,{2:(n,o)=>[n,o],1:n=>[{},n]});return yI.clear(),No(t,r)}var yI,xL=u(()=>{yt();l();J();J();J();J();J();J();J();J();J();yI=new Set});var bI=u(()=>{fL();dL();xL()});var Zr,Ri=u(()=>{Zr=class extends Error{constructor(t,r){super(r),this.type=t}}});function IL(e,t){return s.IsFunction(t.default)?t.default(t):s.IsObject(t.default)?Le(t.default):t.default}var yL=u(()=>{l();Ir()});function bL(e,t){if(go(t)&&!wr(t))throw new Zr(t,"Arrays with uniqueItems constraints must specify a default annotation");let r=Yo(t)?t.minItems:0;return Array.from({length:r},()=>st(e,t.items))}var wL=u(()=>{Ce();qr();Ri()});function kL(e,t){return Zn(t)?BigInt(t.exclusiveMinimum)+BigInt(1):Qn(t)?BigInt(t.minimum):BigInt(0)}var EL=u(()=>{Ce()});function $L(e,t){return!1}var SL=u(()=>{});function TL(e,t){let r=st(e,t.instanceType);return class{constructor(){Object.assign(this,r)}}}var RL=u(()=>{qr()});function AL(e,t){return st({...e,...t.$defs},wt(t.$ref))}var PL=u(()=>{J();qr()});function CL(e,t){return st(e,Pt(t))}var OL=u(()=>{J();qr()});function ML(e,t){let r=st(e,t.returnType);return()=>r}var vL=u(()=>{qr()});function FL(e,t){return Zn(t)&&s.IsNumber(t.exclusiveMinimum)?t.exclusiveMinimum+1:Qn(t)?t.minimum:0}var _L=u(()=>{l();Ce()});function LL(e,t){let r=Dr(e,t),n=Pt(r);return st(e,n)}var UL=u(()=>{J();qr()});function NL(e,t){return t.const}var DL=u(()=>{});function jL(e,t){throw new Zr(t,"Cannot create TNever types")}var qL=u(()=>{Ri()});function GL(e,t){return null}var KL=u(()=>{});function BL(e,t){return Zn(t)&&s.IsNumber(t.exclusiveMinimum)?t.exclusiveMinimum+1:Qn(t)?t.minimum:0}var HL=u(()=>{l();Ce()});function WL(e,t){return(s.IsUndefined(t.required)?[]:t.required).reduce((n,o)=>({...n,[o]:st(e,t.properties[o])}),{})}var zL=u(()=>{l();qr()});function VL(e,t){if(ma(t)&&!wr(t))throw new Zr(t,"Record with the minProperties constraint must have a default annotation");return{}}var JL=u(()=>{Ce();Ri()});function YL(e,t){return s.HasPropertyKey(e,t.$ref)?st(e,e[t.$ref]):(()=>{throw new Zr(t,"Unable to deref Ref")})()}var XL=u(()=>{l();qr();Ri()});function ZL(e,t){if((ca(t)||sa(t))&&!wr(t))throw Error("Strings with format or pattern constraints must specify default");let n=ua(t)?t.minLength:0;return"".padEnd(n)}var QL=u(()=>{Ce()});function e1(e,t){return Symbol()}var t1=u(()=>{});function r1(e,t){let r=ms(t.pattern);if(ht(r))throw new Zr(t,"Unable to create TemplateLiteral due to infinite type expansion");return st(e,r)}var n1=u(()=>{J();yf();qr();Ri()});function o1(e,t){return Array.from({length:t.minItems},(r,n)=>st(e,t.items[n]))}var i1=u(()=>{qr()});var s1=u(()=>{});function a1(e,t){if(s.IsEqual(t.anyOf.length,0))throw Error("Unable to create Union with no variants");return st(e,t.anyOf[0])}var u1=u(()=>{l();qr()});var m1=u(()=>{});function st(e,t){return wr(t)?IL(e,t):pe(t)?bL(e,t):$r(t)?kL(e,t):ir(t)?$L(e,t):Qe(t)?TL(e,t):Oe(t)?AL(e,t):rt(t)?CL(e,t):et(t)?ML(e,t):At(t)?FL(e,t):K(t)?LL(e,t):me(t)?NL(e,t):fr(t)?jL(e,t):vn(t)?GL(e,t):Be(t)?BL(e,t):W(t)?WL(e,t):Te(t)?VL(e,t):Ee(t)?YL(e,t):ht(t)?ZL(e,t):Fn(t)?e1(e,t):Me(t)?r1(e,t):ne(t)?o1(e,t):Xr(t)?void 0:O(t)?a1(e,t):Tr(t)?void 0:void 0}var qr=u(()=>{J();Ce();yL();wL();EL();SL();RL();PL();OL();vL();_L();UL();DL();qL();KL();HL();zL();JL();XL();QL();t1();n1();i1();s1();u1();m1()});function Nt(...e){let[t,r]=ae.Match(e,{2:(n,o)=>[n,o],1:n=>[{},n]});return st(t,r)}var c1=u(()=>{yt();qr()});var Wn=u(()=>{Ri();c1()});function $f(e,t){return s.IsDeepEqual(e,t)}var p1=u(()=>{l()});var Sf=u(()=>{p1()});function Tf(e){return to.Hash(e)}var f1=u(()=>{ba()});var Rf=u(()=>{f1()});function q9(e,t,r){if(!ue(e,t,r))throw new Af(r,cn(e,t,r));return r}function l1(...e){let[t,r,n]=ae.Match(e,{3:(i,a,c)=>[i,a,c],2:(i,a)=>[{},i,a]});if(ue(t,r,n))return n;if(mt.Get().correctiveParse)return G9(t,r,n);throw new Af(n,cn(t,r,n))}var Af,G9,d1=u(()=>{es();yt();oi();bt();ni();$i();Ir();Ti();vs();Eu();Af=class extends ro{constructor(t,r){super("Parse",t,r)}};G9=Fs([(e,t,r)=>Le(r),(e,t,r)=>Uo(e,t,r),(e,t,r)=>Kn(e,t,r),(e,t,r)=>gn(e,t,r),(e,t,r)=>q9(e,t,r)])});var wI=u(()=>{d1()});function Pf(e,t){return{type:"update",path:e,value:t}}function h1(e,t){return{type:"insert",path:e,value:t}}function x1(e){return{type:"delete",path:e}}function g1(e){if(!(s.IsObject(e)&&s.IsEqual(s.Symbols(e).length,0)))throw new Error("Cannot create diffs for objects with symbols keys")}function*K9(e,t,r){if(!s.IsObject(r)||s.IsArray(r))return yield Pf(e,r);g1(t),g1(r);let n=s.Keys(t),o=s.Keys(r);for(let i of o)s.HasPropertyKey(t,i)||s.IsUnsafePropertyKey(i)||(yield h1(`${e}/${i}`,r[i]));for(let i of n)s.HasPropertyKey(r,i)&&(s.IsUnsafePropertyKey(i)||$f(t,r)||(yield*Cf(`${e}/${i}`,t[i],r[i])));for(let i of n)s.HasPropertyKey(r,i)||s.IsUnsafePropertyKey(i)||(yield x1(`${e}/${i}`))}function*B9(e,t,r){if(!s.IsArray(r))return yield Pf(e,r);for(let n=0;n<Math.min(t.length,r.length);n++)yield*Cf(`${e}/${n}`,t[n],r[n]);for(let n=0;n<r.length;n++)n<t.length||(yield h1(`${e}/${n}`,r[n]));for(let n=t.length-1;n>=0;n--)n<r.length||(yield x1(`${e}/${n}`))}function*H9(e,t,r){let n=globalThis.Object.getPrototypeOf(t).constructor.name,o=globalThis.Object.getPrototypeOf(r).constructor.name;if(ft.IsTypeArray(r)&&s.IsEqual(t.length,r.length)&&s.IsEqual(n,o))for(let a=0;a<Math.min(t.length,r.length);a++)yield*Cf(`${e}/${a}`,t[a],r[a]);else return yield Pf(e,r)}function*W9(e,t,r){t!==r&&(yield Pf(e,r))}function*Cf(e,t,r){return ft.IsTypeArray(t)?yield*H9(e,t,r):s.IsArray(t)?yield*B9(e,t,r):s.IsObject(t)?yield*K9(e,t,r):yield*W9(e,t,r)}function I1(e,t){return[...Cf("",e,t)]}var y1=u(()=>{l();Sf()});var z9,V9,J9,PGe,b1=u(()=>{J();z9=H({type:oe("insert"),path:ar(),value:dt()}),V9=Object({type:oe("update"),path:ar(),value:dt()}),J9=H({type:oe("delete"),path:ar()}),PGe=X([z9,V9,J9])});var Of=u(()=>{rc()});function Y9(e){return e.length>0&&e[0].path===""&&e[0].type==="update"}function X9(e){return e.length===0}function w1(e,t){if(Y9(t))return Le(t[0].value);if(X9(t))return Le(e);let r=Le(e);for(let n of t)switch(n.type){case"insert":{Tn.Set(r,n.path,n.value);break}case"update":{Tn.Set(r,n.path,n.value);break}case"delete":{Tn.Delete(r,n.path);break}}return r}var k1=u(()=>{Ir();Of()});var kI=u(()=>{y1();b1();k1()});var ao,Mf=u(()=>{ao=class extends Error{constructor(t,r,n,o){super(o),this.context=t,this.type=r,this.value=n}}});function Z9(e){let[t,r]=[new Set,[]];for(let n of e){let o=Tf(n);t.has(o)||(t.add(o),r.push(n))}return r}function E1(e,t,r){if(ue(e,t,r))return r;let n=s.IsArray(r)?r:Nt(e,t),o=Yo(t)&&n.length<t.minItems?[...n,...Array.from({length:t.minItems-n.length},()=>Nt(e,t))]:n,a=(aa(t)&&o.length>t.maxItems?o.slice(0,t.maxItems):o).map(p=>xt(e,t.items,p));if(!go(t)||go(t)&&!s.IsEqual(t.uniqueItems,!0))return a;let c=Z9(a);if(!ue(e,t,c))throw new ao(e,t,r,"Failed to repair Array due to uniqueItems constraint");return c}var $1=u(()=>{Ce();l();bt();Wn();Rf();In();Mf()});function S1(e,t,r){return xt(e,Pt(t),r)}var T1=u(()=>{J();In()});function R1(e,t,r){let n=Dr(e,t),o=Pt(n);return xt(e,o,r)}var A1=u(()=>{J();In()});function P1(e,t,r){if(ue(e,t,r))return r;if(!s.IsObjectNotArray(r))return Nt(e,t);let n=new Set(s.IsUndefined(t.required)?[]:t.required),o={};for(let[a,c]of s.Entries(t.properties))!n.has(a)&&s.IsUndefined(r[a])||(o[a]=a in r?xt(e,c,r[a]):Nt(e,c));let i=s.Keys(t.properties);if(Br(t)&&s.IsObject(t.additionalProperties))for(let a of s.Keys(r))i.includes(a)||(o[a]=xt(e,t.additionalProperties,r[a]));return o}var C1=u(()=>{l();bt();Wn();Ce();In()});function O1(e,t,r){if(ue(e,t,r))return r;if(s.IsNull(r)||!s.IsObject(r)||s.IsArray(r))return Nt(e,t);let n=new RegExp(St(t)),o=_e(t),i=new Set,a={};for(let[c,p]of s.Entries(r))n.test(c)&&(a[c]=xt(e,o,p),i.add(c));if(Br(t))for(let c of s.Keys(r))i.has(c)||(a[c]=xt(e,t.additionalProperties,r[c]));return a}var M1=u(()=>{Ce();J();l();Wn();bt();In()});function v1(e,t,r){return s.HasPropertyKey(e,t.$ref)?xt(e,e[t.$ref],r):(()=>{throw new ao(e,t,r,"Unable to de-reference target type")})()}var F1=u(()=>{l();In();Mf()});function _1(e,t,r){let n=ms(t.pattern);return xt(e,n,r)}var L1=u(()=>{yf();In()});function U1(e,t,r){return ue(e,t,r)?r:s.IsArray(r)?t.items.map((n,o)=>xt(e,n,r[o])):Nt(e,t)}var N1=u(()=>{l();bt();Wn();In()});function D1(e,t,r){return Ee(t)?s.HasPropertyKey(e,t.$ref)?D1(e,e[t.$ref],r):(()=>{throw new Error("Unable to Deref target")})():t}function Q9(e,t,r){if(!(W(t)&&s.IsObject(r)))return 0;let n=s.Keys(r);return s.Entries(t.properties).reduce((i,[a,c])=>{let p=me(c)&&s.IsEqual(c.const,r[a])?100:0,f=ue(e,c,r[a])?10:0,g=n.includes(a)?1:0;return i+(p+f+g)},0)}function j1(e,t,r){let n=t.anyOf.map(a=>D1(e,a,r)),[o,i]=[n[0],0];for(let a of n){let c=Q9(e,a,r);c>i&&(o=a,i=c)}return o}var EI=u(()=>{J();l();bt()});function e3(e,t,r){let n=X(Po(t.anyOf)),o=j1(e,n,r);return xt(e,o,r)}function q1(e,t,r){return ue(e,t,r)?Le(r):wr(t)?Nt(e,t):e3(e,t,r)}var G1=u(()=>{Ce();J();ws();bt();Ir();Wn();In();EI()});function K1(e,t,r){if(ue(e,t,r))return r;let n=Kn(e,t,r);return ue(e,t,n)?n:Nt(e,t)}var B1=u(()=>{bt();Wn();Ti()});function t3(e,t,r){if(ft.IsDate(r)||ft.IsMap(r)||ft.IsSet(r)||ft.IsTypeArray(r)||s.IsConstructor(r)||s.IsFunction(r))throw new ao(e,t,r,"Value is not repairable")}function r3(e,t,r){if(Qe(t)||et(t)||fr(t))throw new ao(e,t,r,"Type is not repairable")}function n3(e,t,r){return s.IsUndefined(r)&&!Xr(t)?Nt(e,t):r}function o3(e,t,r){return Ua(t)?ue(e,t,r)?r:Nt(e,t):r}function xt(e,t,r){t3(e,t,r),r3(e,t,r);let n=n3(e,t,r),o=pe(t)?E1(e,t,n):rt(t)?S1(e,t,n):K(t)?R1(e,t,n):W(t)?P1(e,t,n):Te(t)?O1(e,t,n):Ee(t)?v1(e,t,n):Me(t)?_1(e,t,n):ne(t)?U1(e,t,n):O(t)?q1(e,t,n):K1(e,t,n);return o3(e,t,o)}var In=u(()=>{l();J();bt();Wn();$1();T1();A1();C1();M1();F1();L1();N1();G1();B1();Mf()});function H1(...e){let[t,r,n]=ae.Match(e,{3:(i,a,c)=>[i,a,c],2:(i,a)=>[{},i,a]}),o=xt(t,r,n);return pc(t,r,o),o}var W1=u(()=>{yt();In();oi()});var $I=u(()=>{W1()});var z1=u(()=>{Ef();wu();EI()});var _s={};Rt(_s,{Assert:()=>pc,Check:()=>ue,Clean:()=>gn,Clone:()=>Le,Convert:()=>Kn,Create:()=>Nt,Decode:()=>pL,Default:()=>Uo,Diff:()=>I1,Encode:()=>lL,Equal:()=>$f,Errors:()=>cn,HasCodec:()=>hL,Hash:()=>Tf,Parse:()=>l1,Patch:()=>w1,Pointer:()=>Tn,Repair:()=>H1});var SI=u(()=>{oi();bt();$i();Ir();bI();Ti();Wn();vs();Sf();ni();Rf();wI();kI();Of();$I()});var V1=u(()=>{oi();bt();$i();Ir();bI();Ti();Wn();ni();vs();Sf();Rf();wI();kI();Eu();Of();$I();z1();SI();SI()});import{spawn as i3}from"node:child_process";import{existsSync as s3,readFileSync as a3}from"node:fs";import{join as u3}from"node:path";function Q1(e,t){if(t===null||typeof t!="object"||Array.isArray(t))return"the rewrite is not a JSON object";if(!(e===null||typeof e!="object"))try{if(_s.Check(e,t))return;let r=[..._s.Errors(e,t)][0];if(!r)return"the rewrite does not match the tool's schema";let n="instancePath"in r?String(r.instancePath):"";return`the rewrite does not match the tool's schema${n&&n!=="/"?` at \`${n}\``:""}: ${r.message}`}catch(r){return`the tool's schema could not be checked: ${r instanceof Error?r.message:String(r)}`}}function eU(e=RI){let t=[],r={hooks:{}};try{if(!s3(e))return{config:r,diagnostics:t};let n=a3(e,"utf8");if(Buffer.byteLength(n,"utf8")>J1)return t.push({source:e,message:`skipped: larger than ${J1} bytes`}),{config:r,diagnostics:t};let o=JSON.parse(n),i=m3(o);for(let a of i.diagnostics)t.push({source:e,message:a});return{config:i.config,diagnostics:t}}catch(n){return t.push({source:e,message:`unreadable: ${n instanceof Error?n.message:String(n)}`}),{config:r,diagnostics:t}}}function m3(e){let t=[],r={hooks:{}};if(e===null||typeof e!="object"||Array.isArray(e))return{config:r,diagnostics:["expected a JSON object with a `hooks` key"]};let n=e.hooks;if(n===void 0)return{config:r,diagnostics:["no `hooks` key"]};if(n===null||typeof n!="object"||Array.isArray(n))return{config:r,diagnostics:["`hooks` must be an object keyed by event name"]};for(let[o,i]of Object.entries(n)){if(!Y1.includes(o)){t.push(`unknown event \`${o}\` \u2014 supported: ${Y1.join(", ")}`);continue}if(!Array.isArray(i)){t.push(`\`${o}\` must be an array of matchers`);continue}let a=[];for(let c of i){let p=c3(c,o,t);p&&a.push(p)}a.length&&(r.hooks[o]=a)}return{config:r,diagnostics:t}}function c3(e,t,r){if(e===null||typeof e!="object"||Array.isArray(e)){r.push(`\`${t}\`: a matcher must be an object`);return}let n=e,o=Array.isArray(n.hooks)?n.hooks:void 0;if(!o){r.push(`\`${t}\`: a matcher needs a \`hooks\` array`);return}let i=[];for(let c of o){if(c===null||typeof c!="object")continue;let p=c,f=typeof p.type=="string"?p.type:"command";if(f!=="command"){r.push(`\`${t}\`: only \`type: "command"\` is supported, got \`${f}\``);continue}if(typeof p.command!="string"||!p.command.trim()){r.push(`\`${t}\`: a hook needs a non-empty \`command\``);continue}let g=typeof p.timeout=="number"&&Number.isFinite(p.timeout)&&p.timeout>0?p.timeout:void 0;i.push({type:"command",command:p.command,timeout:g,...p.async===!0?{async:!0}:{},...p.once===!0?{once:!0}:{}})}return i.length?{matcher:typeof n.matcher=="string"?n.matcher:void 0,hooks:i}:void 0}function p3(e,t,r){let n=e.hooks[t];return n?n.filter(o=>{let i=o.matcher?.trim();if(!i||i==="*")return!0;if(r===void 0)return!1;let a=r.toLowerCase();return i.split("|").map(c=>c.trim().toLowerCase()).filter(Boolean).includes(a)}):[]}function X1(e,t,r={cwd:process.cwd()}){let n=r.timeoutS??Z1;return new Promise(o=>{let i="",a="",c=!1,p=!1,f=i3(e,{cwd:r.cwd,shell:!0,stdio:["pipe","pipe","pipe"]});f.stdin?.on("error",()=>{}),f.stdout?.on("error",()=>{}),f.stderr?.on("error",()=>{});let g=setTimeout(()=>{c=!0,f.kill("SIGKILL")},n*1e3);f.stdout?.on("data",w=>{i+=w.toString("utf8")}),f.stderr?.on("data",w=>{a+=w.toString("utf8")});let x=w=>{p||(p=!0,clearTimeout(g),o({code:w,stdout:i,stderr:a,timedOut:c}))};f.on("error",w=>{a+=w.message,x(null)}),f.on("close",w=>x(w));try{f.stdin?.end(JSON.stringify(t))}catch{}})}function f3(e){let{code:t,stdout:r,stderr:n,timedOut:o}=e,i=n.trim();if(o)return{block:!1,error:`timed out after ${Z1}s and was killed`};let a=l3(r),c=a?.hookSpecificOutput,p=typeof c?.additionalContext=="string"?c.additionalContext:typeof a?.additionalContext=="string"?a.additionalContext:void 0,f=typeof c?.permissionDecision=="string"?c.permissionDecision:void 0,g=typeof c?.permissionDecisionReason=="string"?c.permissionDecisionReason:void 0,x=c?.updatedInput,w=x!==null&&typeof x=="object"&&!Array.isArray(x)?x:void 0;return f==="deny"||f==="block"?{block:!0,reason:g||i||"denied by a hook",context:p}:f==="allow"?{block:!1,context:p,updatedInput:w}:t===2?{block:!0,reason:i||"blocked by a hook",context:p}:t!==0?{block:!1,context:p,updatedInput:w,error:`exited ${t===null?"without a status":t}${i?`: ${i}`:""}`}:!a&&r.trim()?{block:!1,context:r.trim()}:{block:!1,context:p,updatedInput:w}}function l3(e){let t=e.trim();if(t.startsWith("{"))try{let r=JSON.parse(t);return r&&typeof r=="object"&&!Array.isArray(r)?r:void 0}catch{return}}function tU(){TI.clear()}async function Do(e,t,r,n){let o=p3(e,t,r.tool_name);if(!o.length)return{outcome:{block:!1},ran:0};let i=[],a=0,c,p,f;for(let g of o)for(let x of g.hooks){if(x.once){let C=`${t}\0${x.command}`;if(TI.has(C))continue;TI.add(C)}if(a+=1,x.async){X1(x.command,r,{cwd:n.cwd,timeoutS:x.timeout}).catch(()=>{});continue}let w=await X1(x.command,r,{cwd:n.cwd,timeoutS:x.timeout}),$=f3(w);$.context&&i.push($.context),$.error&&(p=$.error),$.updatedInput&&(f=$.updatedInput),$.block&&!c&&(c=$)}return c?{outcome:{block:!0,reason:c.reason,context:i.join(`
22
+
23
+ `)||void 0},ran:a}:{outcome:{block:!1,context:i.join(`
24
+
25
+ `)||void 0,error:p,updatedInput:f},ran:a}}var RI,J1,Z1,Y1,TI,rU=u(()=>{V1();on();RI=u3(ut,"hooks.json"),J1=64*1024,Z1=30,Y1=["PreToolUse","PostToolUse","UserPromptSubmit","SessionStart","Stop","PreCompact","SessionEnd"];TI=new Set});function nU(){return e=>{let t=eU(RI);Pr=t.config,Ls=void 0,tU(),e.on("session_start",async(r,n)=>{for(let a of t.diagnostics)n.ui.notify(`hooks.json: ${a.message}`,"warning");let{outcome:o,ran:i}=await Do(Pr,"SessionStart",{hook_event_name:"SessionStart",cwd:n.cwd},{cwd:n.cwd});o.context&&(Ls=o.context),o.error&&n.ui.notify(`SessionStart hook: ${o.error}`,"warning"),i&&Ls&&n.ui.notify(`SessionStart hooks added ${Ls.length} characters of context`,"info")}),e.on("input",async(r,n)=>{if(!Pr.hooks.UserPromptSubmit)return;let o={hook_event_name:"UserPromptSubmit",cwd:n.cwd,prompt:r.text},{outcome:i}=await Do(Pr,"UserPromptSubmit",o,{cwd:n.cwd});if(i.error&&n.ui.notify(`UserPromptSubmit hook: ${i.error}`,"warning"),i.block)return n.ui.notify(i.reason??"blocked by a hook","warning"),{action:"handled"};if(i.context)return{action:"transform",text:`${r.text}
26
+
27
+ ${i.context}`}}),e.on("tool_call",async(r,n)=>{if(!Pr.hooks.PreToolUse)return;let o={hook_event_name:"PreToolUse",cwd:n.cwd,tool_name:r.toolName,tool_input:r.input},{outcome:i}=await Do(Pr,"PreToolUse",o,{cwd:n.cwd});if(i.error&&n.ui.notify(`PreToolUse hook: ${i.error}`,"warning"),i.block)return{block:!0,reason:i.reason??"blocked by a hook"};if(i.updatedInput){let c=e.getAllTools().find(p=>p.name===r.toolName)?.parameters;if(!c)n.ui.notify(`PreToolUse hook rewrote \`${r.toolName}\`, but no schema is known for that tool \u2014 the rewrite was ignored`,"warning");else{let p=Q1(c,i.updatedInput);p?n.ui.notify(`PreToolUse hook rewrite ignored \u2014 ${p}`,"warning"):Object.assign(r.input,i.updatedInput)}}}),e.on("tool_result",async(r,n)=>{if(!Pr.hooks.PostToolUse)return;let o=r.content.map(c=>c.type==="text"?c.text:"").join(`
28
+ `),i={hook_event_name:"PostToolUse",cwd:n.cwd,tool_name:r.toolName,tool_input:r.input,tool_result:o,tool_is_error:r.isError},{outcome:a}=await Do(Pr,"PostToolUse",i,{cwd:n.cwd});if(a.error&&n.ui.notify(`PostToolUse hook: ${a.error}`,"warning"),!!a.context)return{content:[...r.content,{type:"text",text:`
29
+ [hook] ${a.context}`}],structuredContent:r.structuredContent}}),e.on("context_with_system",async r=>{if(!Ls)return;let n=r.messages[0];if(!n||n.role!=="system")return;let o=`${qi(n.content)}
30
+
31
+ ${Ls}`;return{messages:r.messages.map(a=>a===n?{...n,content:Gi(n.content,o)}:a)}}),e.on("session_before_compact",async(r,n)=>{if(!Pr.hooks.PreCompact)return;let{outcome:o}=await Do(Pr,"PreCompact",{hook_event_name:"PreCompact",cwd:n.cwd,compact_reason:r.reason},{cwd:n.cwd});o.error&&n.ui.notify(`PreCompact hook: ${o.error}`,"warning")}),e.on("session_shutdown",async(r,n)=>{if(!Pr.hooks.SessionEnd)return;let{outcome:o}=await Do(Pr,"SessionEnd",{hook_event_name:"SessionEnd",cwd:n.cwd,reason:r.reason},{cwd:n.cwd});o.error&&n.ui.notify(`SessionEnd hook: ${o.error}`,"warning")}),e.on("agent_settled",async(r,n)=>{if(!Pr.hooks.Stop)return;let{outcome:o}=await Do(Pr,"Stop",{hook_event_name:"Stop",cwd:n.cwd},{cwd:n.cwd});o.error&&n.ui.notify(`Stop hook: ${o.error}`,"warning")})}}var Pr,Ls,oU=u(()=>{rm();rU();Pr={hooks:{}}});import{Type as Us}from"@earendil-works/pi-ai";import{defineTool as iU}from"@earendil-works/pi-coding-agent";function sU(e){AI=e}var AI,aU,uU,PI=u(()=>{aU=iU({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:Us.Object({thoughts:Us.String({description:"Private notes"})}),async execute(){return{content:[{type:"text",text:"noted"}],details:{recorded:!0}}}}),uU=iU({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:Us.Object({question:Us.String(),options:Us.Array(Us.String(),{minItems:2})}),async execute(e,t){if(!AI)return{content:[{type:"text",text:"cancelled"}],details:{answer:"cancelled"}};let r=await AI(t.question,t.options);return{content:[{type:"text",text:r}],details:{answer:r}}}})});var ce={};Rt(ce,{Any:()=>os,Array:()=>cr,BigInt:()=>Na,Boolean:()=>bc,Call:()=>DC,Capitalize:()=>YC,Codec:()=>yc,Conditional:()=>oO,Constructor:()=>Rn,ConstructorParameters:()=>sO,Cyclic:()=>Cn,Decode:()=>YS,DecodeBuilder:()=>Ma,Dependent:()=>ai,Encode:()=>XS,EncodeBuilder:()=>Oa,Enum:()=>VS,Evaluate:()=>Pt,Exclude:()=>uO,Extends:()=>Bt,ExtendsResult:()=>V,Extract:()=>cO,Function:()=>An,Generic:()=>ko,Identifier:()=>Da,Immutable:()=>ZS,Index:()=>gO,Infer:()=>Ca,InstanceType:()=>iM,Instantiate:()=>Dr,Integer:()=>fi,Interface:()=>gC,Intersect:()=>zt,IsAny:()=>Ye,IsArray:()=>pe,IsBigInt:()=>$r,IsBoolean:()=>ir,IsCall:()=>$s,IsCodec:()=>or,IsConstructor:()=>Qe,IsCyclic:()=>Oe,IsDependent:()=>tt,IsEnum:()=>rt,IsEnumValue:()=>zS,IsFunction:()=>et,IsGeneric:()=>ns,IsIdentifier:()=>rT,IsImmutable:()=>ui,IsInfer:()=>pt,IsInteger:()=>At,IsIntersect:()=>K,IsKind:()=>_,IsLiteral:()=>me,IsNever:()=>fr,IsNull:()=>vn,IsNumber:()=>Be,IsObject:()=>W,IsOptional:()=>kt,IsParameter:()=>iT,IsReadonly:()=>ci,IsRecord:()=>Te,IsRef:()=>Ee,IsRefine:()=>Ua,IsRest:()=>Oo,IsSchema:()=>Je,IsString:()=>ht,IsSymbol:()=>Fn,IsTemplateLiteral:()=>Me,IsThis:()=>qc,IsTuple:()=>ne,IsUndefined:()=>Xr,IsUnion:()=>O,IsUnknown:()=>ct,IsUnsafe:()=>hc,IsVoid:()=>Tr,KeyOf:()=>aM,Literal:()=>oe,Lowercase:()=>XC,Mapped:()=>wM,Module:()=>vv,Never:()=>Re,NonNullable:()=>RM,Null:()=>ss,Number:()=>Sr,Object:()=>H,Omit:()=>PM,Optional:()=>jS,Parameter:()=>di,Parameters:()=>vM,Partial:()=>_M,Pick:()=>zM,Readonly:()=>QS,ReadonlyObject:()=>tI,ReadonlyType:()=>XM,Record:()=>fs,RecordKey:()=>Co,RecordPattern:()=>St,RecordValue:()=>_e,Ref:()=>wt,Refine:()=>eT,Required:()=>$v,Rest:()=>gi,ReturnType:()=>Tv,Script:()=>fF,String:()=>ar,Symbol:()=>us,TemplateLiteral:()=>cP,This:()=>jc,Tuple:()=>nt,Uncapitalize:()=>ZC,Undefined:()=>ds,Union:()=>X,Unknown:()=>dt,Unsafe:()=>KS,Uppercase:()=>QC,Void:()=>Kc,With:()=>gf});var CI=u(()=>{G();ln();bf();Cp();Fp();_p();uI();Up();Np();Ii();Gp();su();Bp();Op();Wp();mI();Xp();Qp();rf();of();af();mf();pf();lf();Mp();vp();hf();$h();va();Eo();La();Sh();pr();nr();pi();$o();hs();Hr();lr();pn();Wr();Aa();Th();Er();Vr();Mn();Et();gt();_t();as();sr();Se();Ah();Lt();zr();ls();re();Jr();li();dr();Gc();$t();gs();fe();Kt();xc();hi()});var Ai=u(()=>{Ii();cI();ln();bf();Va();CI();CI()});import{StringEnum as d3}from"@earendil-works/pi-ai";import{defineTool as g3}from"@earendil-works/pi-coding-agent";function mU(e){if(e.length===0)return"Todo list is empty.";let t=e.filter(o=>o.status==="completed").length,r=e.map(o=>`${h3[o.status]} ${o.content}`),n=e.filter(o=>o.status==="pending"||o.status==="in_progress").length;return[`${t}/${e.length} done, ${n} open`,...r].join(`
32
+ `)}function I3(e,t,r,n){let o=e.map(i=>({...i}));switch(t){case"init":return!r||r.length===0?{todos:o,error:"init needs a non-empty items array"}:{todos:r.map(i=>({content:i,status:"pending"}))};case"view":return{todos:o};case"start":case"done":case"drop":{if(!n)return{todos:o,error:`${t} needs task`};let i=o.find(a=>a.content===n);if(!i)return{todos:o,error:`no task matches ${JSON.stringify(n)}`};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 y3(e){let t=[];for(let r of e.sessionManager.getBranch()){if(r.type!=="message")continue;let n=r.message;if(n.role!=="toolResult"||n.toolName!=="todo")continue;let o=n.details;o?.todos&&(t=o.todos)}return t}var h3,x3,vf,OI=u(()=>{Ai();h3={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"},x3=ce.Object({op:d3(["init","start","done","drop","view"],{description:"init replaces the list; start/done/drop move one task; view reads it"}),items:ce.Optional(ce.Array(ce.String(),{description:"Task labels for init. 5-10 words each, specific enough to execute without re-planning"})),task:ce.Optional(ce.String({description:"Exact label of the task to start, complete or drop"}))});vf=g3({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:x3,async execute(e,t,r,n,o){let i=y3(o),{todos:a,error:c}=I3(i,t.op,t.items,t.task),p={op:t.op,todos:a,...c?{error:c}:{}};return{content:[{type:"text",text:c?`Error: ${c}
33
+ ${mU(a)}`:mU(a)}],details:p,...c?{isError:!0}:{}}}})});import{StringEnum as b3}from"@earendil-works/pi-ai";import{defineTool as w3}from"@earendil-works/pi-coding-agent";function fU(){return uo.size===0?"":["<shared-notes>","Working notes recorded with the `context` tool. They survive compaction and are visible to every agent on this task.",...[...uo].map(([t,r])=>`- ${t}: ${r}`),"</shared-notes>"].join(`
34
+ `)}function k3(e,t,r){if(e==="list")return uo.size===0?{text:"No notes."}:{text:[...uo].map(([n,o])=>`${n} = ${o}`).join(`
35
+ `)};if(!t)return{text:"Error: key is required",error:"key required"};if(t.length>pU)return{text:`Error: key longer than ${pU} characters`,error:"key too long"};if(e==="forget")return{text:uo.delete(t)?`Removed ${t}`:`No note named ${t}`};if(e==="set"){if(!r)return{text:"Error: value is required for set",error:"value required"};let n=r.length>cU?`${r.slice(0,cU)}\u2026`:r;return uo.set(t,n),{text:`Recorded ${t} (${uo.size} note${uo.size===1?"":"s"} held)`}}return{text:`Error: unknown op ${JSON.stringify(e)}`,error:"unknown op"}}var uo,cU,pU,Ff,_f=u(()=>{Ai();uo=new Map,cU=2e3,pU=80;Ff=w3({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:ce.Object({op:b3(["set","list","forget"],{description:"set writes a note, list reads all, forget removes one"}),key:ce.Optional(ce.String({description:"Short lookup key, e.g. 'auth-entrypoint'"})),value:ce.Optional(ce.String({description:"The fact to keep (for set)"}))}),async execute(e,t){let{text:r,error:n}=k3(t.op,t.key,t.value);return{content:[{type:"text",text:r}],details:{op:t.op,notes:Object.fromEntries(uo)},...n?{isError:!0}:{}}}})});import{StringEnum as E3}from"@earendil-works/pi-ai";import{defineTool as $3}from"@earendil-works/pi-coding-agent";function Uf(e){if(!e||e.status==="cleared")return"No goal set.";let t=e.budget??Lf,r=[`${gU[e.status]} ${e.status}`,`${e.used}/${t} continuations`];return e.note&&r.push(e.note),`${r.join(" \xB7 ")}
36
+ ${e.text}`}function hU(e){if(!e||e.status==="cleared"||e.status==="done")return"";let t=e.budget??Lf,r=e.text.length>48?`${e.text.slice(0,47)}\u2026`:e.text;return`goal ${gU[e.status]} ${e.used}/${t} \xB7 ${r}`}function xU(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(`
37
+ `)}function IU(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??Lf}.`].join(`
38
+ `)}function Nf(){return yU}function yn(e){yU=e}function Df(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??Lf;return e.used>=t?{action:"stop",reason:`budget exhausted (${t} continuations)`,close:!0}:{action:"continue"}}function MI(e,t,r,n,o){switch(t){case"view":return{goal:e};case"set":return r?.trim()?r.length>lU?{goal:e,error:`text longer than ${lU} characters`}:n!==void 0&&(!Number.isInteger(n)||n<1)?{goal:e,error:"budget must be a positive integer"}:{goal:{text:r.trim(),status:"active",used:0,...n===void 0?{}:{budget:n}}}:{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 Ns(e){let t;for(let r of e.sessionManager.getBranch()){if(r.type==="custom"&&r.customType===jo){t=r.data;continue}if(r.type==="custom_message"&&r.customType===jo){t=r.details??t;continue}if(r.type!=="message")continue;let n=r.message;if(n.role!=="toolResult"||n.toolName!=="goal")continue;let o=n.details;o?.goal&&(t=o.goal)}return t}var jo,dU,lU,Lf,gU,yU,S3,bU,jf=u(()=>{Ai();jo="howtofix.goal",dU="howtofix.goal.continue",lU=400,Lf=25,gU={active:"\u25CF",paused:"\u2016",done:"\u2713",cleared:"\u25CB"};S3=ce.Object({op:E3(["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:ce.Optional(ce.String({description:"The goal, in one sentence, as the user would state it (for set)"})),budget:ce.Optional(ce.Number({description:"Optional cap on automatic continuations before the run stops"})),note:ce.Optional(ce.String({description:"Evidence that the goal is met (required for complete)"}))}),bU=$3({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:S3,async execute(e,t,r,n,o){let i=Ns(o),{goal:a,error:c}=MI(i,t.op,t.text,t.budget,t.note);yn(a);let p=Uf(a);return{content:[{type:"text",text:c?`Error: ${c}
39
+ ${p}`:p}],details:{op:t.op,goal:a},...c?{isError:!0}:{}}}})});import{existsSync as _I,mkdirSync as wU,readFileSync as kU}from"node:fs";import{dirname as EU,join as $U}from"node:path";import{defineTool as SU}from"@earendil-works/pi-coding-agent";function qf(){return{state:"inactive",wasActive:!1}}function T3(e){return e?e.state==="pending"?{...e,state:"inactive"}:{...e}:qf()}function TU(e){return e.state!=="inactive"?e:{...e,state:"pending"}}function R3(e){return e.state!=="pending"?e:{state:"active",wasActive:!0}}function A3(e){return e.state!=="inactive"?e:{state:"active",wasActive:!0}}function P3(e){return e.state!=="active"?e:{...e,state:"inactive"}}function RU(e){return e.state==="inactive"?e:{...e,state:"inactive"}}function Gf(e){return e.state==="active"}function C3(e,t){return e===t}function O3(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(`
40
+ `)}function M3(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 Kf(){return Zt}function AU(){return Xt}function PU(){return Gf(Zt)}function CU(){if(!(!Xt||!_I(Xt)))try{let e=kU(Xt,"utf8");return e.trim()?e:void 0}catch{return}}function OU(){return CU()!==void 0}function MU(){return Zt.state==="inactive"?"":Zt.state==="pending"?"plan pending":OU()?"plan \u25CF ready":"plan \u25CF planning"}function vU(){return FI?$U(FI,"plan_mode.json"):void 0}function v3(){let e=vU();if(e)try{wU(EU(e),{recursive:!0}),qt(e,JSON.stringify(Zt))}catch{}}function F3(){let e=vU();if(!e||!_I(e))return qf();try{return T3(JSON.parse(kU(e,"utf8")))}catch{return qf()}}function _3(e){FI=e,Xt=$U(e,"plan.md"),Zt=F3()}function Ds(e){return Zt=e,v3(),Zt}function FU(){return e=>{e.on("tool_call",async t=>{if(!Gf(Zt)||t.toolName!=="edit"&&t.toolName!=="write")return;let r=t.input?.path;if(typeof r=="string"&&!(!Xt||C3(r,Xt)))return{block:!0,reason:M3(Xt)}})}}function _U(){return e=>{e.on("session_start",async(t,r)=>{_3(r.sessionManager.getSessionDir())}),e.on("before_agent_start",async()=>{Zt.state==="pending"&&Ds(R3(Zt))}),e.on("context_with_system",async t=>{if(!Gf(Zt)||!Xt)return;let r=t.messages[0];if(!r||r.role!=="system")return;let n=O3(Xt,OU()),o=`${typeof r.content=="string"?r.content:""}
41
+
42
+ ${n}`;return{messages:t.messages.map(a=>a===r?{...r,content:o}:a)}})}}function L3(){if(Xt){try{wU(EU(Xt),{recursive:!0}),_I(Xt)||qt(Xt,"")}catch{return}return Xt}}var Xt,Zt,FI,vI,LU,UU,LI=u(()=>{Ai();po();Zt=qf();vI=2e4;LU=SU({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:ce.Object({}),async execute(e,t,r,n,o){if(Zt.state!=="inactive")return{content:[{type:"text",text:`Plan mode is already ${Zt.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:{}};Ds(A3(Zt));let a=L3();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(`
43
+ `)}],details:{planFile:a}}}}),UU=SU({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:ce.Object({}),executionMode:"sequential",async execute(e,t,r,n,o){if(!Gf(Zt))return{content:[{type:"text",text:"Plan mode is not active."}],details:{},isError:!0};let i=CU();if(!i)return{content:[{type:"text",text:`No plan has been written yet. Write it to ${Xt??"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>vI?`${i.slice(0,vI)}
44
+ \u2026 (${i.length-vI} more characters)`:i;return await o.ui.confirm("Approve this plan?",a)?(Ds(P3(Zt)),{content:[{type:"text",text:"Plan approved. You may now implement it."}],details:{approved:!0,planFile:Xt}}):{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 UI(){return{consecutiveFailures:0,tripped:!1}}function U3(e,t){return t==="manual"?!1:e.consecutiveFailures>=3}function N3(e,t){if(t)return e;let r=e.consecutiveFailures+1;return{consecutiveFailures:r,tripped:e.tripped||r>=3}}function D3(){return UI()}function j3(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 NU(){return e=>{e.on("session_start",async()=>{qo=UI()}),e.on("session_compact",async()=>{qo=D3()}),e.on("session_compact_failed",async(t,r)=>{let n=qo;qo=N3(qo,t.aborted),!n.tripped&&qo.tripped&&r?.ui&&r.ui.notify(j3(qo),"warning")}),e.on("session_before_compact",async t=>{if(U3(qo,t.reason))return{cancel:!0}})}}var qo,DU=u(()=>{qo=UI()});function q3(e){yn(Ns(e))}function jU(e){return`budget exhausted (${e.budget??"default"} continuations)`}function qU(){return e=>{e.on("session_start",async(t,r)=>{q3(r)}),e.on("context_with_system",async(t,r)=>{let n=Ns(r);if(yn(n),!n||n.status!=="active")return;let o=t.messages[0];if(!o||o.role!=="system")return;let i=`${qi(o.content)}
45
+
46
+ ${xU(n)}`;return{messages:t.messages.map(c=>c===o?{...o,content:Gi(o.content,i)}:c)}}),e.on("agent_before_settle",async(t,r)=>{let n=Ns(r);if(yn(n),Df(n).action==="stop"||!n||t.continue||!t.context.canContinue)return;let o={...n,used:n.used+1};if(e.appendEntry(jo,o),yn(o),Df(o).action==="stop"){let i={...o,status:"done",note:jU(o)};e.appendEntry(jo,i),yn(i);return}return{entries:[{type:"custom_message",customType:dU,content:IU(o),display:!0}],continue:!0}}),e.on("agent_settled",async(t,r)=>{let n=Ns(r),o=Df(n);if(n&&o.action==="stop"&&o.close){let i={...n,status:"done",note:jU(n)};e.appendEntry(jo,i),yn(i)}else yn(n)})}}var GU=u(()=>{rm();jf()});function Bf(){return e=>{e.on("context_with_system",async t=>{let r=fU();if(!r)return;let n=t.messages[0];if(!n||n.role!=="system")return;let o=`${qi(n.content)}
47
+
48
+ ${r}`;return{messages:t.messages.map(a=>a===n?{...n,content:Gi(n.content,o)}:a)}})}}var NI=u(()=>{rm();_f()});function K3(e){if(G3.test(e))return!0;let t=/^172\.(\d+)\./.exec(e);if(!t)return!1;let r=Number(t[1]);return r>=16&&r<=31}function qI(e){let t;try{t=new URL(e)}catch{return{ok:!1,reason:"not a URL"}}if(t.protocol!=="http:"&&t.protocol!=="https:")return{ok:!1,reason:`refused protocol ${t.protocol}`};let r=t.hostname.toLowerCase();return r==="localhost"||r.endsWith(".localhost")||r==="::1"||r==="[::1]"?{ok:!1,reason:"refused loopback host"}:K3(r)||r==="0.0.0.0"?{ok:!1,reason:"refused private address"}:{ok:!0,url:t}}function KU(e){let t=e.replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<noscript[\s\S]*?<\/noscript>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim();return t.length>DI?t.slice(0,DI):t}function B3(e){let t=[],r=/class="result__a"[^>]*href="([^"]+)"[^>]*>([\s\S]*?)<\/a>/gi,n;for(;(n=r.exec(e))&&t.length<jI;){let o=n[1]??"",i=KU(n[2]??""),a=o,c=/[?&]uddg=([^&]+)/.exec(o);if(c)try{a=decodeURIComponent(c[1])}catch{a=o}else o.startsWith("//")&&(a=`https:${o}`);let p=qI(a);!p.ok||!i||t.push({title:i,url:p.url.toString(),snippet:""})}return t}async function HU(e,t={}){let r=e.trim();if(!r)return{ok:!1,error:"empty query"};let n=t.fetchFn??fetch,o=t.timeoutMs??15e3,i={"user-agent":t.userAgent??BU,accept:"text/html, application/json"};try{if(t.braveKey){let f=`https://api.search.brave.com/res/v1/web/search?q=${encodeURIComponent(r)}&count=${jI}`,g=await n(f,{headers:{...i,accept:"application/json","x-subscription-token":t.braveKey},signal:AbortSignal.timeout(o)});return g.ok?{ok:!0,hits:H3(await g.json()),provider:"brave"}:{ok:!1,error:`brave ${g.status}`}}let a=`https://html.duckduckgo.com/html/?q=${encodeURIComponent(r)}`,c=await n(a,{headers:i,signal:AbortSignal.timeout(o)});return c.ok?{ok:!0,hits:B3(await c.text()),provider:"ddg"}:{ok:!1,error:`search ${c.status}`}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}function H3(e){let t=[];if(e&&typeof e=="object"&&"web"in e){let n=e.web;n&&typeof n=="object"&&"results"in n&&Array.isArray(n.results)&&(t=n.results)}let r=[];for(let n of t){if(!n||typeof n!="object"||!("url"in n)||!("title"in n))continue;let o=n.url,i=n.title;if(typeof o!="string"||typeof i!="string")continue;let a=qI(o);if(!a.ok)continue;let c="description"in n?n.description:void 0;if(r.push({title:i,url:a.url.toString(),snippet:typeof c=="string"?c:""}),r.length>=jI)break}return r}async function WU(e,t={}){let r=qI(e);if(!r.ok)return{ok:!1,error:r.reason};let n=t.fetchFn??fetch;try{let o=await n(r.url,{headers:{"user-agent":t.userAgent??BU,accept:"text/html, text/plain, application/json"},signal:AbortSignal.timeout(t.timeoutMs??2e4),redirect:"follow"});if(!o.ok)return{ok:!1,error:`HTTP ${o.status}`};let i=o.headers.get("content-type")??"",a=await o.text(),c=/html/i.test(i)?KU(a):a.slice(0,DI);return{ok:!0,url:o.url||r.url.toString(),contentType:i,text:c}}catch(o){return{ok:!1,error:o instanceof Error?o.message:String(o)}}}var G3,DI,jI,BU,zU=u(()=>{G3=/^(127\.|10\.|192\.168\.|169\.254\.|0\.|221\.|222\.|223\.)/;DI=8e4,jI=8;BU="HowToFix (https://howtofix.id)"});import{Type as Hf}from"@earendil-works/pi-ai";import{defineTool as VU}from"@earendil-works/pi-coding-agent";function W3(e){return e.length===0?"no results":e.map((t,r)=>`${r+1}. ${t.title}
39
49
  ${t.url}${t.snippet?`
40
50
  ${t.snippet}`:""}`).join(`
41
- `)}var rm,om,kl=u(()=>{xE();rm=yE({name:"web_search",label:"web_search",description:"Search the public web. Use for current docs, changelogs, error messages, and anything not in this repo. Returns titles, URLs, and snippets. Follow a URL with web_fetch.",promptSnippet:"web_search: search the public web",parameters:nm.Object({query:nm.String({description:"Search query"})}),async execute(e,t){let n=await gE(t.query,{braveKey:process.env.BRAVE_API_KEY});return n.ok?{content:[{type:"text",text:NF(n.hits)}],details:{count:n.hits.length,provider:n.provider}}:{content:[{type:"text",text:n.error}],details:{error:n.error},isError:!0}}}),om=yE({name:"web_fetch",label:"web_fetch",description:"Fetch a public http(s) URL and return its text. HTML is stripped to visible text. Local, loopback, and private addresses are refused.",promptSnippet:"web_fetch: read a public URL as text",parameters:nm.Object({url:nm.String({description:"http(s) URL"})}),async execute(e,t){let n=await hE(t.url);return n.ok?{content:[{type:"text",text:n.text}],details:{url:n.url,contentType:n.contentType,chars:n.text.length}}:{content:[{type:"text",text:n.error}],details:{error:n.error},isError:!0}}})});import{spawn as qF}from"node:child_process";import{existsSync as bE,readFileSync as UF}from"node:fs";import{delimiter as KF,isAbsolute as GF,join as wE}from"node:path";import{fileURLToPath as WF,pathToFileURL as qr}from"node:url";function IE(e){let t=JSON.stringify(e);return`Content-Length: ${Buffer.byteLength(t,"utf8")}\r
51
+ `)}var Wf,zf,GI=u(()=>{zU();Wf=VU({name:"web_search",label:"web_search",description:"Search the public web. Use for current docs, changelogs, error messages, and anything not in this repo. Returns titles, URLs, and snippets. Follow a URL with web_fetch.",promptSnippet:"web_search: search the public web",parameters:Hf.Object({query:Hf.String({description:"Search query"})}),async execute(e,t){let r=await HU(t.query,{braveKey:process.env.BRAVE_API_KEY});return r.ok?{content:[{type:"text",text:W3(r.hits)}],details:{count:r.hits.length,provider:r.provider}}:{content:[{type:"text",text:r.error}],details:{error:r.error},isError:!0}}}),zf=VU({name:"web_fetch",label:"web_fetch",description:"Fetch a public http(s) URL and return its text. HTML is stripped to visible text. Local, loopback, and private addresses are refused.",promptSnippet:"web_fetch: read a public URL as text",parameters:Hf.Object({url:Hf.String({description:"http(s) URL"})}),async execute(e,t){let r=await WU(t.url);return r.ok?{content:[{type:"text",text:r.text}],details:{url:r.url,contentType:r.contentType,chars:r.text.length}}:{content:[{type:"text",text:r.error}],details:{error:r.error},isError:!0}}})});import{spawn as z3}from"node:child_process";import{existsSync as JU,readFileSync as V3}from"node:fs";import{delimiter as J3,isAbsolute as Y3,join as YU}from"node:path";import{fileURLToPath as X3,pathToFileURL as Pi}from"node:url";function XU(e){let t=JSON.stringify(e);return`Content-Length: ${Buffer.byteLength(t,"utf8")}\r
42
52
  \r
43
- ${t}`}function BF(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(`\r
53
+ ${t}`}function Z3(e){let t=[],r=0;for(;r<e.length;){let n=e.indexOf(`\r
44
54
  \r
45
- `,n);if(r===-1)break;let o=e.subarray(n,r).toString("utf8"),s=/Content-Length:\s*(\d+)/i.exec(o);if(!s)break;let i=Number(s[1]),c=r+4,p=c+i;if(p>e.length)break;t.push(JSON.parse(e.subarray(c,p).toString("utf8"))),n=p}return{messages:t,rest:e.subarray(n)}}function HF(e){return zF.find(t=>t.match(e))}async function VF(e,t){let n=Ur.get(e.command);if(n)return await n.ready,n.client;let r=qF(e.command,e.args,{cwd:t,stdio:["pipe","pipe","ignore"]}),o=r.stdin,s=r.stdout;if(!o||!s)throw r.kill(),new Error(`${e.command}: stdio pipes unavailable`);let i=new Tl({stdin:o,stdout:s,root:t});r.on("error",()=>{let p=Ur.get(e.command);p?.child===r&&Ur.delete(e.command),p?.client.dispose()});let c=i.initialize().catch(p=>{throw Ur.delete(e.command),r.kill(),p});return Ur.set(e.command,{client:i,child:r,ready:c}),await c,i}function vl(){for(let[e,t]of Ur)Ur.delete(e),t.client.dispose(),t.child.kill()}function $E(e){let t=e.uri;try{t=WF(e.uri)}catch{}let n=e.range?.start;return n?`${t}:${n.line+1}:${n.character+1}`:t}function kE(e,t=0){let n=[];for(let r of e){let o=(r.selectionRange??r.range)?.start.line;n.push(`${" ".repeat(t)}${r.name}${o===void 0?"":` :${o+1}`}`),r.children&&n.push(...kE(r.children,t+1))}return n}async function TE(e){try{let t=HF(e.file);if(!t)return{ok:!1,error:`no language server configured for ${e.file}`};if((e.action==="definition"||e.action==="references"||e.action==="hover")&&(e.line===void 0||!Number.isInteger(e.line)||e.line<1))return{ok:!1,error:`line required (1-based) for ${e.action}`};if(!(t.command.includes("/")?bE(t.command):(process.env.PATH??"").split(KF).some(d=>bE(wE(d,t.command)))))return{ok:!1,error:`${t.command} is not on PATH. Install it to use lsp on ${e.file}.`};let o=GF(e.file)?e.file:wE(e.root,e.file),s=UF(o,"utf8"),i=await VF(t,e.root);await i.ensureOpen(o,s,t.languageId);let c=(e.line??1)-1,p=0;if(e.symbol){let d=(s.split(`
46
- `)[c]??"").indexOf(e.symbol);d>=0&&(p=d)}switch(e.action){case"definition":{let d=await i.definition(o,c,p);return d?{ok:!0,text:$E(d),count:1}:{ok:!0,text:"no definition found",count:0}}case"references":{let b=(await i.references(o,c,p)).map($E);return{ok:!0,text:b.length>0?b.join(`
47
- `):"no references found",count:b.length}}case"hover":{let d=(await i.hover(o,c,p))?.trim();return{ok:!0,text:d||"no hover at that position"}}case"symbols":{let d=kE(await i.documentSymbols(o));return{ok:!0,text:d.length>0?d.join(`
48
- `):"no symbols in this file",count:d.length}}case"diagnostics":{let b=(await i.diagnostics(o)).map(I=>`${I.range.start.line+1}:${I.range.start.character+1} ${JF[I.severity??3]??"info"} ${I.message}`);return{ok:!0,text:b.length>0?b.join(`
49
- `):"no diagnostics",count:b.length}}}}catch(t){return{ok:!1,error:t instanceof Error?t.message:String(t)}}}var Tl,zF,Ur,JF,El=u(()=>{Tl=class{constructor(t){this.io=t;t.stdout.on("data",n=>{this.buffer=Buffer.concat([this.buffer,n]);let{messages:r,rest:o}=BF(this.buffer);this.buffer=o;for(let s of r)this.dispatch(s)})}io;nextId=1;pending=new Map;buffer=Buffer.alloc(0);opened=new Set;diagnosticsByUri=new Map;diagnosticsWaiters=new Map;dispatch(t){if(t.method==="textDocument/publishDiagnostics"){let r=t.params;if(r?.uri){let o=Array.isArray(r.diagnostics)?r.diagnostics:[];this.diagnosticsByUri.set(r.uri,o);let s=this.diagnosticsWaiters.get(r.uri);if(s){this.diagnosticsWaiters.delete(r.uri);for(let i of s)i(o)}}return}if(t.id===void 0)return;let n=this.pending.get(Number(t.id));n&&(this.pending.delete(Number(t.id)),t.error?n.reject(new Error(t.error.message)):n.resolve(t.result))}request(t,n,r=1e4){let o=this.nextId++,s=IE({jsonrpc:"2.0",id:o,method:t,params:n}),{promise:i,resolve:c,reject:p}=Promise.withResolvers(),d=setTimeout(()=>{this.pending.delete(o),p(new Error(`lsp ${t} timed out`))},r);return this.pending.set(o,{resolve:b=>{clearTimeout(d),c(b)},reject:b=>{clearTimeout(d),p(b)}}),this.io.stdin.write(s),i}notify(t,n){this.io.stdin.write(IE({jsonrpc:"2.0",method:t,params:n}))}async initialize(){await this.request("initialize",{processId:null,rootUri:qr(this.io.root).toString(),capabilities:{textDocument:{hover:{},definition:{},references:{},documentSymbol:{},publishDiagnostics:{}}}}),this.notify("initialized",{})}async hover(t,n,r){return(await this.request("textDocument/hover",{textDocument:{uri:qr(t).toString()},position:{line:n,character:r}}))?.contents?.value}async definition(t,n,r){let o=await this.request("textDocument/definition",{textDocument:{uri:qr(t).toString()},position:{line:n,character:r}});return Array.isArray(o)?o[0]:o??void 0}async references(t,n,r){let o=await this.request("textDocument/references",{textDocument:{uri:qr(t).toString()},position:{line:n,character:r},context:{includeDeclaration:!0}});return Array.isArray(o)?o:[]}async documentSymbols(t){let n=await this.request("textDocument/documentSymbol",{textDocument:{uri:qr(t).toString()}});return Array.isArray(n)?n:[]}diagnostics(t,n=2e3){let r=qr(t).toString(),o=this.diagnosticsByUri.get(r);if(o)return Promise.resolve(o);let{promise:s,resolve:i}=Promise.withResolvers(),c=setTimeout(()=>{let d=this.diagnosticsWaiters.get(r);if(d){this.diagnosticsWaiters.delete(r);for(let b of d)b(this.diagnosticsByUri.get(r)??[])}},n),p=this.diagnosticsWaiters.get(r)??[];return p.push(d=>{clearTimeout(c),i(d)}),this.diagnosticsWaiters.set(r,p),s}async ensureOpen(t,n,r){let o=qr(t).toString();this.opened.has(o)||(this.notify("textDocument/didOpen",{textDocument:{uri:o,languageId:r,version:1,text:n}}),this.opened.add(o))}dispose(){for(let[t,n]of this.pending)n.reject(new Error("lsp client disposed")),this.pending.delete(t);for(let[t,n]of this.diagnosticsWaiters){let r=this.diagnosticsByUri.get(t)??[];this.diagnosticsWaiters.delete(t);for(let o of n)o(r)}}},zF=[{command:"typescript-language-server",args:["--stdio"],languageId:"typescript",match:e=>/\.(ts|tsx|js|jsx|mts|cts)$/.test(e)},{command:"rust-analyzer",args:[],languageId:"rust",match:e=>e.endsWith(".rs")},{command:"gopls",args:[],languageId:"go",match:e=>e.endsWith(".go")},{command:"pylsp",args:[],languageId:"python",match:e=>e.endsWith(".py")}];Ur=new Map;process.on("exit",vl);JF={1:"error",2:"warning",3:"info",4:"hint"}});import{StringEnum as YF}from"@earendil-works/pi-ai";import{defineTool as XF}from"@earendil-works/pi-coding-agent";var sm,Sl=u(()=>{Nr();El();sm=XF({name:"lsp",label:"lsp",description:"Language-server query: definition, references, hover, symbols, or diagnostics for a file. Line is 1-based. Does not edit. If the server binary is missing the result says so \u2014 do not pretend grep is a substitute without telling the user.",promptSnippet:"lsp: definition, references, hover, symbols, diagnostics",parameters:Z.Object({action:YF(["diagnostics","definition","references","hover","symbols"],{description:"Which language-server query to run"}),file:Z.String({description:"File to query, relative to the project root"}),line:Z.Optional(Z.Number({description:"1-based line (definition, references, hover)"})),symbol:Z.Optional(Z.String({description:"Substring to locate on that line when column is omitted"}))}),async execute(e,t,n,r,o){let s=await TE({action:t.action,file:t.file,line:t.line,symbol:t.symbol,root:o.cwd});return s.ok?{content:[{type:"text",text:s.text}],details:{action:t.action,count:s.count}}:{content:[{type:"text",text:s.error}],details:{error:s.error},isError:!0}}})});import{mkdirSync as ZF,readdirSync as QF,readFileSync as ej}from"node:fs";import{join as vE}from"node:path";import{createAgentSession as tj,DefaultResourceLoader as nj,SessionManager as rj}from"@earendil-works/pi-coding-agent";function im(e){ZF(Jr,{recursive:!0}),tt(vE(Jr,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function Rl(){let e;try{e=QF(Jr)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let n=JSON.parse(ej(vE(Jr,t),"utf8"));if(n.status!=="parked"||en.some(r=>r.id===n.id))continue;en.push({...n,mail:n.mail??[]})}catch{}}function Al(){return Rl(),en.length===0?"no agents":en.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
50
- `)}function Ml(e){Rl();let t=en.find(n=>n.id===e);return t?`${t.agent}#${t.id} ${t.status}
51
- ${t.result??t.task}`:`no agent ${e}`}async function am(e){let t=Kr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let n=e.worktree||e.cwd||process.cwd(),r=new nj({cwd:n,agentDir:_e,additionalSkillPaths:[hr(n)],extensionFactories:[Vo({interactive:!1}),tm()]});await r.reload();let{session:o}=await tj({cwd:n,agentDir:_e,sessionManager:rj.inMemory(n),resourceLoader:r,tools:t.tools,customTools:[Gu,Ku,rm,om,sm],thinkingLevel:e.effort});return o}async function SE(e,t){Rl();let n=en.find(o=>o.id===e);if(!n)return`no agent ${e}`;let r=n.session??await am(n);if(n.session=r,n.status==="running"||r.isStreaming)return n.mail.push(t),im(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 im(n),`${e} ${n.status}`}async function PE(e){let t=Kr.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Kr.keys()].join(", ")}`);let n={id:`${Date.now().toString(36)}-${en.length+1}`,cwd:e.cwd,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return en.push(n),im(n),n}async function ij(e,t){let n=Kr.get(e.agent);if(!n)return;let r=e.session??await am(e);e.session=r;try{let o=e.mail.splice(0).join(`
52
- `);for(await r.prompt(`${n.prompt}
55
+ `,r);if(n===-1)break;let o=e.subarray(r,n).toString("utf8"),i=/Content-Length:\s*(\d+)/i.exec(o);if(!i)break;let a=Number(i[1]),c=n+4,p=c+a;if(p>e.length)break;t.push(JSON.parse(e.subarray(c,p).toString("utf8"))),r=p}return{messages:t,rest:e.subarray(r)}}function e5(e){return Q3.find(t=>t.match(e))}async function t5(e,t){let r=Ci.get(e.command);if(r)return await r.ready,r.client;let n=z3(e.command,e.args,{cwd:t,stdio:["pipe","pipe","ignore"]}),o=n.stdin,i=n.stdout;if(!o||!i)throw n.kill(),new Error(`${e.command}: stdio pipes unavailable`);let a=new KI({stdin:o,stdout:i,root:t});n.on("error",()=>{let p=Ci.get(e.command);p?.child===n&&Ci.delete(e.command),p?.client.dispose()});let c=a.initialize().catch(p=>{throw Ci.delete(e.command),n.kill(),p});return Ci.set(e.command,{client:a,child:n,ready:c}),await c,a}function BI(){for(let[e,t]of Ci)Ci.delete(e),t.client.dispose(),t.child.kill()}function ZU(e){let t=e.uri;try{t=X3(e.uri)}catch{}let r=e.range?.start;return r?`${t}:${r.line+1}:${r.character+1}`:t}function QU(e,t=0){let r=[];for(let n of e){let o=(n.selectionRange??n.range)?.start.line;r.push(`${" ".repeat(t)}${n.name}${o===void 0?"":` :${o+1}`}`),n.children&&r.push(...QU(n.children,t+1))}return r}async function eN(e){try{let t=e5(e.file);if(!t)return{ok:!1,error:`no language server configured for ${e.file}`};if((e.action==="definition"||e.action==="references"||e.action==="hover")&&(e.line===void 0||!Number.isInteger(e.line)||e.line<1))return{ok:!1,error:`line required (1-based) for ${e.action}`};if(!(t.command.includes("/")?JU(t.command):(process.env.PATH??"").split(J3).some(f=>JU(YU(f,t.command)))))return{ok:!1,error:`${t.command} is not on PATH. Install it to use lsp on ${e.file}.`};let o=Y3(e.file)?e.file:YU(e.root,e.file),i=V3(o,"utf8"),a=await t5(t,e.root);await a.ensureOpen(o,i,t.languageId);let c=(e.line??1)-1,p=0;if(e.symbol){let f=(i.split(`
56
+ `)[c]??"").indexOf(e.symbol);f>=0&&(p=f)}switch(e.action){case"definition":{let f=await a.definition(o,c,p);return f?{ok:!0,text:ZU(f),count:1}:{ok:!0,text:"no definition found",count:0}}case"references":{let g=(await a.references(o,c,p)).map(ZU);return{ok:!0,text:g.length>0?g.join(`
57
+ `):"no references found",count:g.length}}case"hover":{let f=(await a.hover(o,c,p))?.trim();return{ok:!0,text:f||"no hover at that position"}}case"symbols":{let f=QU(await a.documentSymbols(o));return{ok:!0,text:f.length>0?f.join(`
58
+ `):"no symbols in this file",count:f.length}}case"diagnostics":{let g=(await a.diagnostics(o)).map(x=>`${x.range.start.line+1}:${x.range.start.character+1} ${r5[x.severity??3]??"info"} ${x.message}`);return{ok:!0,text:g.length>0?g.join(`
59
+ `):"no diagnostics",count:g.length}}}}catch(t){return{ok:!1,error:t instanceof Error?t.message:String(t)}}}var KI,Q3,Ci,r5,HI=u(()=>{KI=class{constructor(t){this.io=t;t.stdout.on("data",r=>{this.buffer=Buffer.concat([this.buffer,r]);let{messages:n,rest:o}=Z3(this.buffer);this.buffer=o;for(let i of n)this.dispatch(i)})}io;nextId=1;pending=new Map;buffer=Buffer.alloc(0);opened=new Set;diagnosticsByUri=new Map;diagnosticsWaiters=new Map;dispatch(t){if(t.method==="textDocument/publishDiagnostics"){let n=t.params;if(n?.uri){let o=Array.isArray(n.diagnostics)?n.diagnostics:[];this.diagnosticsByUri.set(n.uri,o);let i=this.diagnosticsWaiters.get(n.uri);if(i){this.diagnosticsWaiters.delete(n.uri);for(let a of i)a(o)}}return}if(t.id===void 0)return;let r=this.pending.get(Number(t.id));r&&(this.pending.delete(Number(t.id)),t.error?r.reject(new Error(t.error.message)):r.resolve(t.result))}request(t,r,n=1e4){let o=this.nextId++,i=XU({jsonrpc:"2.0",id:o,method:t,params:r}),{promise:a,resolve:c,reject:p}=Promise.withResolvers(),f=setTimeout(()=>{this.pending.delete(o),p(new Error(`lsp ${t} timed out`))},n);return this.pending.set(o,{resolve:g=>{clearTimeout(f),c(g)},reject:g=>{clearTimeout(f),p(g)}}),this.io.stdin.write(i),a}notify(t,r){this.io.stdin.write(XU({jsonrpc:"2.0",method:t,params:r}))}async initialize(){await this.request("initialize",{processId:null,rootUri:Pi(this.io.root).toString(),capabilities:{textDocument:{hover:{},definition:{},references:{},documentSymbol:{},publishDiagnostics:{}}}}),this.notify("initialized",{})}async hover(t,r,n){return(await this.request("textDocument/hover",{textDocument:{uri:Pi(t).toString()},position:{line:r,character:n}}))?.contents?.value}async definition(t,r,n){let o=await this.request("textDocument/definition",{textDocument:{uri:Pi(t).toString()},position:{line:r,character:n}});return Array.isArray(o)?o[0]:o??void 0}async references(t,r,n){let o=await this.request("textDocument/references",{textDocument:{uri:Pi(t).toString()},position:{line:r,character:n},context:{includeDeclaration:!0}});return Array.isArray(o)?o:[]}async documentSymbols(t){let r=await this.request("textDocument/documentSymbol",{textDocument:{uri:Pi(t).toString()}});return Array.isArray(r)?r:[]}diagnostics(t,r=2e3){let n=Pi(t).toString(),o=this.diagnosticsByUri.get(n);if(o)return Promise.resolve(o);let{promise:i,resolve:a}=Promise.withResolvers(),c=setTimeout(()=>{let f=this.diagnosticsWaiters.get(n);if(f){this.diagnosticsWaiters.delete(n);for(let g of f)g(this.diagnosticsByUri.get(n)??[])}},r),p=this.diagnosticsWaiters.get(n)??[];return p.push(f=>{clearTimeout(c),a(f)}),this.diagnosticsWaiters.set(n,p),i}async ensureOpen(t,r,n){let o=Pi(t).toString();this.opened.has(o)||(this.notify("textDocument/didOpen",{textDocument:{uri:o,languageId:n,version:1,text:r}}),this.opened.add(o))}dispose(){for(let[t,r]of this.pending)r.reject(new Error("lsp client disposed")),this.pending.delete(t);for(let[t,r]of this.diagnosticsWaiters){let n=this.diagnosticsByUri.get(t)??[];this.diagnosticsWaiters.delete(t);for(let o of r)o(n)}}},Q3=[{command:"typescript-language-server",args:["--stdio"],languageId:"typescript",match:e=>/\.(ts|tsx|js|jsx|mts|cts)$/.test(e)},{command:"rust-analyzer",args:[],languageId:"rust",match:e=>e.endsWith(".rs")},{command:"gopls",args:[],languageId:"go",match:e=>e.endsWith(".go")},{command:"pylsp",args:[],languageId:"python",match:e=>e.endsWith(".py")}];Ci=new Map;process.on("exit",BI);r5={1:"error",2:"warning",3:"info",4:"hint"}});import{StringEnum as n5}from"@earendil-works/pi-ai";import{defineTool as o5}from"@earendil-works/pi-coding-agent";var Vf,WI=u(()=>{Ai();HI();Vf=o5({name:"lsp",label:"lsp",description:"Language-server query: definition, references, hover, symbols, or diagnostics for a file. Line is 1-based. Does not edit. If the server binary is missing the result says so \u2014 do not pretend grep is a substitute without telling the user.",promptSnippet:"lsp: definition, references, hover, symbols, diagnostics",parameters:ce.Object({action:n5(["diagnostics","definition","references","hover","symbols"],{description:"Which language-server query to run"}),file:ce.String({description:"File to query, relative to the project root"}),line:ce.Optional(ce.Number({description:"1-based line (definition, references, hover)"})),symbol:ce.Optional(ce.String({description:"Substring to locate on that line when column is omitted"}))}),async execute(e,t,r,n,o){let i=await eN({action:t.action,file:t.file,line:t.line,symbol:t.symbol,root:o.cwd});return i.ok?{content:[{type:"text",text:i.text}],details:{action:t.action,count:i.count}}:{content:[{type:"text",text:i.error}],details:{error:i.error},isError:!0}}})});import{mkdirSync as i5,readdirSync as s5,readFileSync as a5}from"node:fs";import{join as tN}from"node:path";import{createAgentSession as u5,DefaultResourceLoader as m5,SessionManager as c5}from"@earendil-works/pi-coding-agent";function Jf(e){i5(Ni,{recursive:!0}),qt(tN(Ni,`${e.id}.json`),JSON.stringify({...e,session:void 0},null,1))}function VI(){let e;try{e=s5(Ni)}catch{return}for(let t of e)if(t.endsWith(".json"))try{let r=JSON.parse(a5(tN(Ni,t),"utf8"));if(r.status!=="parked"||Qr.some(n=>n.id===r.id))continue;Qr.push({...r,mail:r.mail??[]})}catch{}}function JI(){return VI(),Qr.length===0?"no agents":Qr.map(e=>`${e.id} ${e.agent} ${e.status} requests=${e.requests} ${e.task}`).join(`
60
+ `)}function YI(e){VI();let t=Qr.find(r=>r.id===e);return t?`${t.agent}#${t.id} ${t.status}
61
+ ${t.result??t.task}`:`no agent ${e}`}async function Yf(e){let t=Oi.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}`);let r=e.worktree||e.cwd||process.cwd(),n=new m5({cwd:r,agentDir:ut,additionalSkillPaths:[Ho(r)],extensionFactories:[ea({interactive:!1}),Bf()]});await n.reload();let{session:o}=await u5({cwd:r,agentDir:ut,sessionManager:c5.inMemory(r),resourceLoader:n,tools:t.tools,customTools:[Ff,vf,Wf,zf,Vf],thinkingLevel:e.effort});return o}async function nN(e,t){VI();let r=Qr.find(o=>o.id===e);if(!r)return`no agent ${e}`;let n=r.session??await Yf(r);if(r.session=n,r.status==="running"||n.isStreaming)return r.mail.push(t),Jf(r),`queued for ${e}`;if(r.requests>=rN)return`${e} is out of budget (${r.requests} requests)`;r.status="running";try{await n.prompt(t),r.requests+=1,r.result=n.getLastAssistantText()?.trim()||r.result,r.status="parked"}catch(o){r.result=o instanceof Error?o.message:String(o),r.status="error"}return Jf(r),`${e} ${r.status}`}async function oN(e){let t=Oi.get(e.agent);if(!t)throw new Error(`unknown agent ${e.agent}. known: ${[...Oi.keys()].join(", ")}`);let r={id:`${Date.now().toString(36)}-${Qr.length+1}`,cwd:e.cwd,agent:t.name,task:e.task.trim(),effort:e.effort||t.effort,status:"queued",requests:0,mail:[],worktree:e.worktree};return Qr.push(r),Jf(r),r}async function l5(e,t){let r=Oi.get(e.agent);if(!r)return;let n=e.session??await Yf(e);e.session=n;try{let o=e.mail.splice(0).join(`
62
+ `);for(await n.prompt(`${r.prompt}
53
63
 
54
64
  Task:
55
65
  ${e.task}${o?`
56
66
 
57
67
  Messages:
58
- ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<EE;)await r.followUp(e.mail.splice(0).join(`
59
- `)),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{im(e)}}async function RE(e){let t=()=>en.find(r=>r.status==="queued"),n=async()=>{for(;;){if(e?.aborted)throw new Error("aborted");let r=t();if(!r)return;r.status="running",await ij(r,e)}};if(await Promise.all(Array.from({length:sj},n)),e?.aborted)throw new Error("aborted")}var Pl,oj,Kr,en,sj,EE,Vs=u(()=>{xn();Wu();bl();Jo();pl();kl();Sl();Hn();Pl=["You are one agent on a shared task; siblings may be editing the same working tree right now.","Never run project-wide validation (full builds, whole test suites, formatters, linters) unless your assignment explicitly tells you to.","Siblings' unfinished edits will make those runs fail for reasons that are not yours. Prove your own change with a scoped test, a targeted repro, or a smoke run instead."],oj=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
68
+ ${o}`:""}`),e.requests+=1;e.mail.length>0&&e.requests<rN;)await n.followUp(e.mail.splice(0).join(`
69
+ `)),e.requests+=1;if(t?.aborted)throw new Error("aborted");e.result=n.getLastAssistantText()?.trim()||"agent finished without text",e.status="parked"}catch(o){e.result=o instanceof Error?o.message:String(o),e.status="error"}finally{Jf(e)}}async function iN(e){let t=()=>Qr.find(n=>n.status==="queued"),r=async()=>{for(;;){if(e?.aborted)throw new Error("aborted");let n=t();if(!n)return;n.status="running",await l5(n,e)}};if(await Promise.all(Array.from({length:f5},r)),e?.aborted)throw new Error("aborted")}var zI,p5,Oi,Qr,f5,rN,$u=u(()=>{on();_f();NI();ta();OI();GI();WI();po();zI=["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."],p5=`You are a software architect planning an implementation. Your job is to explore the codebase and return a plan, not to write code.
60
70
 
61
71
  ## Read-only, by construction
62
72
  You have no edit tool, no write tool, and no shell. Do not attempt to modify, create, move, or delete anything \u2014 the call would fail. Your output is text.
@@ -74,77 +84,77 @@ End your reply with exactly this section, listing the 3-5 files most critical to
74
84
  - path/to/file.ts
75
85
  - path/to/file.ts
76
86
 
77
- 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.`,Kr=new Map([["scout",{name:"scout",description:"read-only lookup",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:["Inspect only what the task needs. Do not edit.",...Pl].join(`
78
- `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:oj,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo","web_search","web_fetch","lsp"],prompt:["Do the assignment, then report files changed.",...Pl].join(`
79
- `),effort:"medium"}],["reviewer",{name:"reviewer",description:"finds concrete issues",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:["Return issues with file evidence. Do not edit.",...Pl].join(`
80
- `),effort:"medium"}]]),en=[],sj=3,EE=8});import{execFile as aj}from"node:child_process";import{promisify as uj}from"node:util";import{tmpdir as mj}from"node:os";import{join as cj}from"node:path";async function tn(e,t){try{let{stdout:n}=await pj("git",t,{cwd:e,encoding:"utf8",maxBuffer:8388608});return{ok:!0,output:n.trim()}}catch(n){let r=n&&typeof n=="object"&&"stderr"in n&&typeof n.stderr=="string"?n.stderr.trim():"",o=n instanceof Error?n.message:String(n);return{ok:!1,output:r||o}}}async function um(e){return(await tn(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function AE(e){return(await tn(e,["status","--porcelain"])).output.length>0}async function ME(e,t){let n=await tn(e,["add","-A"]);if(!n.ok)return n;let r=await tn(e,["commit","-m",t]);return r.ok?{ok:!0,output:(await tn(e,["log","-1","--oneline"])).output||r.output}:r}async function OE(e){let t=await tn(e,["reset","--soft","HEAD~1"]);return t.ok?{ok:!0,output:(await tn(e,["log","-1","--oneline"])).output||"reset to the previous commit"}:t}async function CE(e){let t=(await tn(e,["diff"])).output,n=(await tn(e,["diff","--cached"])).output;return[t,n].filter(Boolean).join(`
81
- `)}function LE(e,t=60){let n=e.split(`
82
- `);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(`
83
- `)}async function FE(e,t){if(!await um(e))return null;let n=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",r=cj(mj(),`howtofix-wt-${process.pid}-${Date.now()}-${n}`);return(await tn(e,["worktree","add","--detach",r,"HEAD"])).ok?{path:r,async remove(){await tn(e,["worktree","remove","--force",r]),await tn(e,["worktree","prune"])}}:null}var pj,Ol=u(()=>{pj=uj(aj)});function jE(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function lj(e,t){let n=jE(e);return t==="number"?n==="number"||n==="integer":t==="integer"?n==="integer":n===t}function dj(e,t){if(typeof t!="string"||!t.startsWith("#/"))return;let n=e;for(let r of t.slice(2).split("/")){let o=r.replace(/~1/g,"/").replace(/~0/g,"~");if(!Gr(n)&&!Array.isArray(n))return;n=n[o]}return Gr(n)?n:void 0}function dr(e,t,n,r,o){if(!Gr(t))return;if(t.$ref!==void 0){let i=dj(n,t.$ref);i&&dr(e,i,n,r,o);return}if(Array.isArray(t.allOf))for(let i of t.allOf)dr(e,i,n,r,o);for(let i of["anyOf","oneOf"]){let c=t[i];if(!Array.isArray(c)||c.length===0)continue;let p=c.filter(d=>{let b=[];return dr(e,d,n,r,b),b.length===0}).length;i==="anyOf"&&p===0&&o.push({path:r,message:"does not match any allowed shape"}),i==="oneOf"&&p!==1&&o.push({path:r,message:`must match exactly one shape (matched ${p})`})}let s=t.type;if(s!==void 0){let i=Array.isArray(s)?s.map(String):[String(s)];if(!i.some(c=>lj(e,c))){o.push({path:r,message:`expected ${i.join(" or ")}, got ${jE(e)}`});return}}if(Array.isArray(t.enum)&&!t.enum.some(i=>JSON.stringify(i)===JSON.stringify(e))&&o.push({path:r,message:`must be one of ${t.enum.map(i=>JSON.stringify(i)).join(", ")}`}),Gr(e)){let i=Gr(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let c of t.required.map(String))c in e||o.push({path:r?`${r}.${c}`:c,message:"is required"});for(let[c,p]of Object.entries(i))c in e&&dr(e[c],p,n,r?`${r}.${c}`:c,o);if(t.additionalProperties===!1)for(let c of Object.keys(e))c in i||o.push({path:r?`${r}.${c}`:c,message:"is not an allowed property"});else if(Gr(t.additionalProperties))for(let[c,p]of Object.entries(e))c in i||dr(p,t.additionalProperties,n,r?`${r}.${c}`:c,o)}if(Array.isArray(e)&&t.items!==void 0){let i=t.items;Array.isArray(i)?e.forEach((c,p)=>{p<i.length&&dr(c,i[p],n,`${r}[${p}]`,o)}):e.forEach((c,p)=>dr(c,i,n,`${r}[${p}]`,o))}if(typeof e=="string"&&(typeof t.minLength=="number"&&e.length<t.minLength&&o.push({path:r,message:`is shorter than ${t.minLength} characters`}),typeof t.pattern=="string"))try{new RegExp(t.pattern).test(e)||o.push({path:r,message:`does not match ${t.pattern}`})}catch{}typeof e=="number"&&(typeof t.minimum=="number"&&e<t.minimum&&o.push({path:r,message:`is below ${t.minimum}`}),typeof t.maximum=="number"&&e>t.maximum&&o.push({path:r,message:`is above ${t.maximum}`}))}function DE(e,t){if(!Gr(t))return[];let n=[];return dr(e,t,t,"",n),n}function _E(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
84
- `)}function NE(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 i=o[s];if(i!=="{"&&i!=="[")continue;let c=i==="{"?"}":"]",p=0,d=!1,b=!1;for(let I=s;I<o.length;I++){let P=o[I];if(d){b?b=!1:P==="\\"?b=!0:P==='"'&&(d=!1);continue}if(P==='"')d=!0;else if(P===i)p++;else if(P===c&&(p--,p===0))try{return JSON.parse(o.slice(s,I+1))}catch{break}}}}}var Gr,qE=u(()=>{Gr=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as UE from"node:os";async function hj(e,t=KE,n=GE){let r=Date.now()+n;for(;e.isPaused?.();){if(e.signal?.aborted||Date.now()>=r)return!1;await new Promise(o=>setTimeout(o,t))}return!0}function xj(){let e=UE.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function yj(e){let t=0,n=[];return async function(){t>=e&&await new Promise(s=>n.push(s)),t++;let o=!1;return()=>{o||(o=!0,t--,n.shift()?.())}}}function WE(e){let t=e.lifetimeCap??fj,n=e.fanoutCap??gj,r=yj(e.concurrency??xj()),o=0,s=0,i="",c=U=>e.onEvent?.(U),p=new Map,d=()=>e.onProgress?.([...p.values()]),b=async(U,z)=>{let G=z??{},ee=typeof G.label=="string"?G.label:`agent-${o+1}`,ye=typeof G.phase=="string"?G.phase:i,De=typeof G.agentType=="string"?G.agentType:"task",Qe=typeof G.effort=="string"?G.effort:void 0,xe=typeof G.model=="string"?G.model:void 0,ie=typeof G.isolation=="string"?G.isolation:void 0,v=G.schema;if(e.budgetTotal!=null&&s>=e.budgetTotal)throw new He(`budget exhausted: spent ${s} of ${e.budgetTotal} output tokens`);if(o>=t)throw new He(`lifetime cap reached: ${t} agent calls in one run`);o++;let Ve=o;if(e.isPaused?.()&&!await hj(e,KE,GE))return null;let Gt=await r();try{if(e.signal?.aborted)return null;c({kind:"agent_start",label:ee,phase:ye,ordinal:o}),p.set(Ve,{label:ee,phase:ye,agentType:De,status:"running",outputTokens:0,...xe?{model:xe}:{},startedAt:Date.now()}),d();let gn=(rn,Wt,Ge)=>{let Dt=p.get(Ve);Dt&&(Dt.status=rn,Dt.outputTokens=Wt.outputTokens,Dt.endedAt=Date.now(),Wt.toolCalls!==void 0&&(Dt.toolCalls=Wt.toolCalls),Wt.model!==void 0&&(Dt.model=Wt.model),Ge&&(Dt.detail=Ge)),c({kind:"agent_end",label:ee,ok:rn==="ok",outputTokens:Wt.outputTokens}),d()},No=v===void 0?1:2;for(let rn=0;rn<No;rn++){let Wt=rn===0?String(U):void 0,Ge=await P(Wt??bj(String(U),I),{label:ee,phase:ye,agentType:De,effort:Qe,model:xe,isolation:ie});if(Ge===null)return gn("failed",{text:"",outputTokens:0}),null;if(s+=Ge.outputTokens,v===void 0)return gn("ok",Ge,Cl(Ge.text)),Ge.text;let Dt=NE(Ge.text),qo=Dt===void 0?[{path:"",message:"reply was not JSON"}]:DE(Dt,v);if(qo.length===0)return gn("ok",Ge,Cl(Ge.text)),Dt;if(I=_E(qo),rn===No-1)return gn("failed",Ge,`schema: ${Cl(I)}`),null}return null}finally{Gt()}},I="",P=async(U,z)=>{try{return await e.invoke({prompt:U,...z})}catch{return null}};return{agent:(U,z)=>b(U,z),parallel:async U=>{if(U.length>n)throw new He(`fan-out cap exceeded: ${U.length} items (max ${n})`);return await Promise.all(U.map(async G=>{try{return await G()}catch{return null}}))},pipeline:async(U,...z)=>{if(U.length>n)throw new He(`fan-out cap exceeded: ${U.length} items (max ${n})`);return await Promise.all(U.map(async(ee,ye)=>{let De=ee;for(let Qe of z)try{De=await Qe(De,ee,ye)}catch{return null}return De}))},phase:U=>{i=String(U),c({kind:"phase",title:i})},log:U=>c({kind:"log",message:String(U)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>s,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-s)}}}function bj(e,t){return`${e}
87
+ 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.`,Oi=new Map([["scout",{name:"scout",description:"read-only lookup",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:["Inspect only what the task needs. Do not edit.",...zI].join(`
88
+ `),effort:"low"}],["architect",{name:"architect",description:"designs an implementation plan",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:p5,effort:"high"}],["task",{name:"task",description:"implements the assignment",tools:["read","bash","edit","write","grep","find","ls","context","todo","web_search","web_fetch","lsp"],prompt:["Do the assignment, then report files changed.",...zI].join(`
89
+ `),effort:"medium"}],["reviewer",{name:"reviewer",description:"finds concrete issues",tools:["read","grep","find","ls","context","web_search","web_fetch","lsp"],prompt:["Return issues with file evidence. Do not edit.",...zI].join(`
90
+ `),effort:"medium"}]]),Qr=[],f5=3,rN=8});import{execFile as d5}from"node:child_process";import{promisify as g5}from"node:util";import{tmpdir as h5}from"node:os";import{join as x5}from"node:path";async function en(e,t){try{let{stdout:r}=await I5("git",t,{cwd:e,encoding:"utf8",maxBuffer:8388608});return{ok:!0,output:r.trim()}}catch(r){let n=r&&typeof r=="object"&&"stderr"in r&&typeof r.stderr=="string"?r.stderr.trim():"",o=r instanceof Error?r.message:String(r);return{ok:!1,output:n||o}}}async function Xf(e){return(await en(e,["rev-parse","--is-inside-work-tree"])).output==="true"}async function sN(e){return(await en(e,["status","--porcelain"])).output.length>0}async function aN(e,t){let r=await en(e,["add","-A"]);if(!r.ok)return r;let n=await en(e,["commit","-m",t]);return n.ok?{ok:!0,output:(await en(e,["log","-1","--oneline"])).output||n.output}:n}async function uN(e){let t=await en(e,["reset","--soft","HEAD~1"]);return t.ok?{ok:!0,output:(await en(e,["log","-1","--oneline"])).output||"reset to the previous commit"}:t}async function mN(e){let t=(await en(e,["diff"])).output,r=(await en(e,["diff","--cached"])).output;return[t,r].filter(Boolean).join(`
91
+ `)}function cN(e,t=60){let r=e.split(`
92
+ `);if(r.length<=t)return e;let n=r.slice(0,t),o=r.length-t;return[...n,`\u2026 ${o} more line${o===1?"":"s"} not shown \u2014 /copy puts the full diff on the clipboard`].join(`
93
+ `)}async function pN(e,t){if(!await Xf(e))return null;let r=t.replace(/[^A-Za-z0-9._-]/g,"-").slice(0,40)||"agent",n=x5(h5(),`howtofix-wt-${process.pid}-${Date.now()}-${r}`);return(await en(e,["worktree","add","--detach",n,"HEAD"])).ok?{path:n,async remove(){await en(e,["worktree","remove","--force",n]),await en(e,["worktree","prune"])}}:null}var I5,XI=u(()=>{I5=g5(d5)});function fN(e){return e===null?"null":Array.isArray(e)?"array":Number.isInteger(e)?"integer":typeof e}function y5(e,t){let r=fN(e);return t==="number"?r==="number"||r==="integer":t==="integer"?r==="integer":r===t}function b5(e,t){if(typeof t!="string"||!t.startsWith("#/"))return;let r=e;for(let n of t.slice(2).split("/")){let o=n.replace(/~1/g,"/").replace(/~0/g,"~");if(!Mi(r)&&!Array.isArray(r))return;r=r[o]}return Mi(r)?r:void 0}function Go(e,t,r,n,o){if(!Mi(t))return;if(t.$ref!==void 0){let a=b5(r,t.$ref);a&&Go(e,a,r,n,o);return}if(Array.isArray(t.allOf))for(let a of t.allOf)Go(e,a,r,n,o);for(let a of["anyOf","oneOf"]){let c=t[a];if(!Array.isArray(c)||c.length===0)continue;let p=c.filter(f=>{let g=[];return Go(e,f,r,n,g),g.length===0}).length;a==="anyOf"&&p===0&&o.push({path:n,message:"does not match any allowed shape"}),a==="oneOf"&&p!==1&&o.push({path:n,message:`must match exactly one shape (matched ${p})`})}let i=t.type;if(i!==void 0){let a=Array.isArray(i)?i.map(String):[String(i)];if(!a.some(c=>y5(e,c))){o.push({path:n,message:`expected ${a.join(" or ")}, got ${fN(e)}`});return}}if(Array.isArray(t.enum)&&!t.enum.some(a=>JSON.stringify(a)===JSON.stringify(e))&&o.push({path:n,message:`must be one of ${t.enum.map(a=>JSON.stringify(a)).join(", ")}`}),Mi(e)){let a=Mi(t.properties)?t.properties:{};if(Array.isArray(t.required))for(let c of t.required.map(String))c in e||o.push({path:n?`${n}.${c}`:c,message:"is required"});for(let[c,p]of Object.entries(a))c in e&&Go(e[c],p,r,n?`${n}.${c}`:c,o);if(t.additionalProperties===!1)for(let c of Object.keys(e))c in a||o.push({path:n?`${n}.${c}`:c,message:"is not an allowed property"});else if(Mi(t.additionalProperties))for(let[c,p]of Object.entries(e))c in a||Go(p,t.additionalProperties,r,n?`${n}.${c}`:c,o)}if(Array.isArray(e)&&t.items!==void 0){let a=t.items;Array.isArray(a)?e.forEach((c,p)=>{p<a.length&&Go(c,a[p],r,`${n}[${p}]`,o)}):e.forEach((c,p)=>Go(c,a,r,`${n}[${p}]`,o))}if(typeof e=="string"&&(typeof t.minLength=="number"&&e.length<t.minLength&&o.push({path:n,message:`is shorter than ${t.minLength} characters`}),typeof t.pattern=="string"))try{new RegExp(t.pattern).test(e)||o.push({path:n,message:`does not match ${t.pattern}`})}catch{}typeof e=="number"&&(typeof t.minimum=="number"&&e<t.minimum&&o.push({path:n,message:`is below ${t.minimum}`}),typeof t.maximum=="number"&&e>t.maximum&&o.push({path:n,message:`is above ${t.maximum}`}))}function lN(e,t){if(!Mi(t))return[];let r=[];return Go(e,t,t,"",r),r}function dN(e){return e.map(t=>`- ${t.path||"(root)"}: ${t.message}`).join(`
94
+ `)}function gN(e){let t=e.trim(),r=/```(?:json)?\s*([\s\S]*?)```/.exec(t),n=[t,r?.[1]?.trim()].filter(o=>!!o);for(let o of n){try{return JSON.parse(o)}catch{}for(let i=0;i<o.length;i++){let a=o[i];if(a!=="{"&&a!=="[")continue;let c=a==="{"?"}":"]",p=0,f=!1,g=!1;for(let x=i;x<o.length;x++){let w=o[x];if(f){g?g=!1:w==="\\"?g=!0:w==='"'&&(f=!1);continue}if(w==='"')f=!0;else if(w===a)p++;else if(w===c&&(p--,p===0))try{return JSON.parse(o.slice(i,x+1))}catch{break}}}}}var Mi,hN=u(()=>{Mi=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)});import*as xN from"node:os";async function E5(e,t=IN,r=yN){let n=Date.now()+r;for(;e.isPaused?.();){if(e.signal?.aborted||Date.now()>=n)return!1;await new Promise(o=>setTimeout(o,t))}return!0}function $5(){let e=xN.availableParallelism?.()??4;return Math.max(1,Math.min(16,e-2))}function S5(e){let t=0,r=[];return async function(){t>=e&&await new Promise(i=>r.push(i)),t++;let o=!1;return()=>{o||(o=!0,t--,r.shift()?.())}}}function bN(e){let t=e.lifetimeCap??w5,r=e.fanoutCap??k5,n=S5(e.concurrency??$5()),o=0,i=0,a="",c=D=>e.onEvent?.(D),p=new Map,f=()=>e.onProgress?.([...p.values()]),g=async(D,Z)=>{let z=Z??{},le=typeof z.label=="string"?z.label:`agent-${o+1}`,ve=typeof z.phase=="string"?z.phase:a,It=typeof z.agentType=="string"?z.agentType:"task",Dt=typeof z.effort=="string"?z.effort:void 0,Pe=typeof z.model=="string"?z.model:void 0,he=typeof z.isolation=="string"?z.isolation:void 0,A=z.schema;if(e.budgetTotal!=null&&i>=e.budgetTotal)throw new Mt(`budget exhausted: spent ${i} of ${e.budgetTotal} output tokens`);if(o>=t)throw new Mt(`lifetime cap reached: ${t} agent calls in one run`);o++;let vt=o;if(e.isPaused?.()&&!await E5(e,IN,yN))return null;let Gr=await n();try{if(e.signal?.aborted)return null;c({kind:"agent_start",label:le,phase:ve,ordinal:o}),p.set(vt,{label:le,phase:ve,agentType:It,status:"running",outputTokens:0,...Pe?{model:Pe}:{},startedAt:Date.now()}),f();let kn=(rn,Kr,Tt)=>{let Or=p.get(vt);Or&&(Or.status=rn,Or.outputTokens=Kr.outputTokens,Or.endedAt=Date.now(),Kr.toolCalls!==void 0&&(Or.toolCalls=Kr.toolCalls),Kr.model!==void 0&&(Or.model=Kr.model),Tt&&(Or.detail=Tt)),c({kind:"agent_end",label:le,ok:rn==="ok",outputTokens:Kr.outputTokens}),f()},Hs=A===void 0?1:2;for(let rn=0;rn<Hs;rn++){let Kr=rn===0?String(D):void 0,Tt=await w(Kr??T5(String(D),x),{label:le,phase:ve,agentType:It,effort:Dt,model:Pe,isolation:he});if(Tt===null)return kn("failed",{text:"",outputTokens:0}),null;if(i+=Tt.outputTokens,A===void 0)return kn("ok",Tt,ZI(Tt.text)),Tt.text;let Or=gN(Tt.text),Ws=Or===void 0?[{path:"",message:"reply was not JSON"}]:lN(Or,A);if(Ws.length===0)return kn("ok",Tt,ZI(Tt.text)),Or;if(x=dN(Ws),rn===Hs-1)return kn("failed",Tt,`schema: ${ZI(x)}`),null}return null}finally{Gr()}},x="",w=async(D,Z)=>{try{return await e.invoke({prompt:D,...Z})}catch{return null}};return{agent:(D,Z)=>g(D,Z),parallel:async D=>{if(D.length>r)throw new Mt(`fan-out cap exceeded: ${D.length} items (max ${r})`);return await Promise.all(D.map(async z=>{try{return await z()}catch{return null}}))},pipeline:async(D,...Z)=>{if(D.length>r)throw new Mt(`fan-out cap exceeded: ${D.length} items (max ${r})`);return await Promise.all(D.map(async(le,ve)=>{let It=le;for(let Dt of Z)try{It=await Dt(It,le,ve)}catch{return null}return It}))},phase:D=>{a=String(D),c({kind:"phase",title:a})},log:D=>c({kind:"log",message:String(D)}),args:e.args,budget:{total:e.budgetTotal??null,spent:()=>i,remaining:()=>e.budgetTotal==null?1/0:Math.max(0,e.budgetTotal-i)}}}function T5(e,t){return`${e}
85
95
 
86
96
  Your previous reply did not satisfy the required schema:
87
97
  ${t}
88
98
 
89
- Reply with ONLY a corrected JSON value.`}function Cl(e,t=80){let n=e.split(`
90
- `).map(r=>r.trim()).find(r=>r.length>0)??"";return n.length>t?`${n.slice(0,t)}\u2026`:n}var fj,gj,KE,GE,He,BE=u(()=>{qE();fj=1e3,gj=4096,KE=100,GE=300*1e3;He=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as Bn,styleText as wj}from"@earendil-works/pi-tui";function Ij(e,t){return wj(e,t,mm)}function re(e,t,n){return Ij(e,{...n,fg:t})}var mm,_,zE,Js=u(()=>{mm="truecolor",_={text:Bn("#e6e6e6"),mute:Bn("#8b8b8b"),dim:Bn("#5c5c5c"),user:Bn("#d0d0d0"),accent:Bn("#c4b5fd"),tool:Bn("#6ee7b7"),bad:Bn("#f0a8a4"),warn:Bn("#e6b15a"),line:Bn("#3a3a3a")};zE={heading:e=>re(e,_.text,{bold:!0}),link:e=>re(e,_.accent,{underline:!0}),linkUrl:e=>re(e,_.mute),code:e=>re(e,_.text),codeBlock:e=>re(e,_.text),codeBlockBorder:e=>re(e,_.line),quote:e=>re(e,_.mute,{italic:!0}),quoteBorder:e=>re(e,_.line),hr:e=>re(e,_.line),listBullet:e=>re(e,_.mute),bold:e=>re(e,_.text,{bold:!0}),italic:e=>re(e,_.text,{italic:!0}),strikethrough:e=>re(e,_.mute,{strikethrough:!0}),underline:e=>re(e,_.text,{underline:!0})}});import{truncateToWidth as Xs,visibleWidth as dn}from"@earendil-works/pi-tui";function fr(e){let t=Math.max(0,Math.round(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),o=t%60;return n>0?`${n}h${String(r).padStart(2,"0")}m`:r>0?`${r}m${String(o).padStart(2,"0")}s`:`${o}s`}function JE(e){let t=Math.max(0,Math.floor(e/1e3));return t<60?`${t}s`:t<3600?`${Math.floor(t/60)}m`:`${Math.floor(t/3600)}h`}function jl(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function pm(e,t,n="left"){if(t<=0)return"";let r=dn(e);if(r>t)return Xs(e,t);let o=" ".repeat(t-r);return n==="right"?o+e:e+o}function Dl(e,t,n,r=1){if(n<=0)return"";let o=dn(t);if(o>=n)return Xs(t,n);let s=n-o-r;if(s<=0)return pm(t,n,"right");let i=dn(e)>s?Xs(e,s):e,c=" ".repeat(n-dn(i)-o);return i+c+t}function Ll(e,t,n){let r=Lo(e,Math.max(0,n-2)),o=Math.max(1,n-1-dn(r)),s=he("border","\u250C\u2500 ")+he("accent",r)+he("border",` ${"\u2500".repeat(o)}\u2510`),i=he("border",`\u2514${"\u2500".repeat(n+2)}\u2518`),c=he("border","\u2502"),p=t.map(d=>`${c} ${pm(d,n)} ${c}`);return[s,...p,i]}function Tj(e,t,n,r){let o=r?.gap??1,s=r?.leftWidth??Ys(Math.round(n*.38),28,44),i=n-s-o,c=Math.max(e.rows.length,t.rows.length),p=P=>{let A=[...P];for(;A.length<c;)A.push("");return A},d=Ll(e.title,p(e.rows),s-4),b=Ll(t.title,p(t.rows),i-4),I=" ".repeat(o);return d.map((P,A)=>P+I+(b[A]??pm("",i)))}function YE(e,t,n){switch(e){case"running":return he(t||n?"accent":"muted","\u25CF");case"failed":return he("error","\u2717");default:return he("success","\u2713")}}function XE(e,t,n,r=Date.now(),o=0){return t?r-o<cm?he("success","\u2713",!0):he("success","\u2713"):he(n?"accent":"dim",String(e))}function Fo(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||VE;n.includes(s)||n.push(s)}return n.map((o,s)=>{let i=e.steps.filter(C=>(C.phase||VE)===o).map(C=>({...C,phaseIndex:s})),c=i.filter(C=>C.status!=="running").length,p=i.filter(C=>C.status==="failed").length,d=i.reduce((C,U)=>{let z=U.endedAt??t;return Math.max(C,z-U.startedAt)},0),b=-1;for(let C=0;C<i.length;C++){let U=i[C];U.status==="running"&&(b<0||U.startedAt>=i[b].startedAt)&&(b=C)}let I=r.get(o),P=i.length>0&&c===i.length&&p===0,A=P?i.reduce((C,U)=>Math.max(C,U.endedAt??0),0):0;return{title:o,...I?{detail:I}:{},agents:i,done:c,failed:p,outputTokens:i.reduce((C,U)=>C+U.outputTokens,0),elapsedMs:d,allDone:P,finishedAt:A,anchor:b}})}function _l(e){return e.steps.reduce((t,n)=>t+n.outputTokens,0)}function vj(e){return e.steps.reduce((t,n)=>t+(n.toolCalls??0),0)}function ZE(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function Ej(e){return e.steps.length>$j||_l(e)>kj}function Sj(e){if(e.length===0)return 0;let t=e.map((n,r)=>({group:n,index:r})).filter(n=>n.group.anchor>=0);if(t.length>0)return t.reduce((n,r)=>{let o=r.group.agents[r.group.anchor],s=n.group.agents[n.group.anchor];return o.startedAt>=s.startedAt?r:n}).index;for(let n=e.length-1;n>=0;n--)if(e[n].agents.length>0)return n;return e.length-1}function QE(e,t=Date.now()){let n=Fo(e,t),r=e.steps.length,o=e.steps.filter(d=>d.status!=="running").length,s=e.steps.filter(d=>d.status==="failed").length,i=[e.name],c=n.find(d=>d.anchor>=0);c?i.push(`${c.title} ${c.done}/${c.agents.length}`):n.length>0&&i.push(`${n[n.length-1].title} done`),i.push(`${o}/${r} agents`),i.push(`${jl(_l(e))} tok`),i.push(fr(ZE(e,t))),s>0&&i.push(`${s} failed`);let p=i.join(" \xB7 ");return Ej(e)?`large workflow \xB7 ${p}`:p}function tS(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${fr(t-e.startedAt)}`,"idle"];let n=jl(e.outputTokens),r=e.toolCalls??0,o=fr((e.endedAt??t)-e.startedAt);return[`${n} tok \xB7 ${r} tools \xB7 ${o}`,`${n} tok \xB7 ${r} tools`,`${n} tok`]}function Fl(e,t,n){if(e.length<=n)return{slice:e,start:0,more:0};let r=Math.max(1,n-1),o=Ys(t-Math.floor(r/2),0,e.length-r),s=e.slice(o,o+r);return{slice:s,start:o,more:e.length-s.length}}function Cj(e,t,n,r,o){let s=`${e.done}/${e.agents.length}`,i=n?he("accent","\u276F"):" ",c=XE(t+1,e.allDone,n,o,e.finishedAt),p=Math.max(0,r-4-dn(s)),d=dn(e.title)>p?Xs(e.title,p,"\u2026"):e.title,b=e.allDone&&o-e.finishedAt<cm,I=he(b&&!n?"success":n?"accent":"text",d),P=`${i}${c} ${I}`,A=he(n?"accent":"muted",s);return Dl(P,A,r,1)}function Lj(e,t,n,r,o,s){let i=t?he("accent","\u276F"):" ",c=YE(e.status,t,n),p=he(t?"accent":"text",pm(e.label,r)),d=`${i}${c} ${p}`,b=Math.max(0,o-dn(d)-1),I=tS(e,s).find(A=>dn(A)<=b)??"",P=he(t?"accent":Oj(e)?"dim":"muted",I);return Dl(d,P,o,1)}function Fj(e,t,n,r){let o=[];return e.forEach((s,i)=>{let p=`${XE(i+1,s.allDone,i===n,r,s.finishedAt)} ${he(i===n?"accent":"text",s.title)} ${he("muted",`${s.done}/${s.agents.length}`)}`;o.push(Lo(p,t));let{slice:d,more:b}=Fl(s.agents,0,eS);d.forEach((I,P)=>{let A=YE(I.status,!1,P===s.anchor),C=tS(I,r)[0]??"";o.push(Lo(` ${A} ${he("text",I.label)} ${he("muted",C)}`,t))}),b>0&&o.push(Lo(` ${he("dim",`\u2026+${b} more`)}`,t))}),o}function jj(e,t,n){let r=n?.now??Date.now(),o=Fo(e,r),s=e.steps,i=s.filter(Ve=>Ve.status!=="running").length,c=s.filter(Ve=>Ve.status==="failed").length,p=[`${i}/${s.length} agents`,`${jl(_l(e))} tok`,`${vj(e)} tools`,fr(ZE(e,r)),...c>0?[`${c} failed`]:[]].join(" \xB7 "),d=[Dl(he("accent",e.name,!0),he("muted",p),t,2),...e.description?[he("muted",Lo(e.description,t))]:[]],b=n?.footer?[he("muted",Lo(n.footerText??Dj(),t))]:[];if(o.length===0)return[...d,...Ll("Phases",["(no agents yet)"],Math.max(0,t-4)),...b];let I=Ys(n?.selectedPhase??Sj(o),0,Math.max(0,o.length-1)),P=Ys(Math.round(t*.38),28,44),A=t-P-1-4;if(t<Aj||A<Mj)return[...d,...Fj(o,t,I,r),...b];let C=o[I],{slice:U,start:z,more:G}=Fl(o,I,Pj),ee=U.map((Ve,Gt)=>Cj(Ve,z+Gt,z+Gt===I,P-4,r));G>0&&ee.push(he("dim",`\u2026+${G} more`));let ye=n?.filter?n.filter(C.agents):C.agents,De=ye.length?Ys(Math.max(...ye.map(Ve=>dn(Ve.label))),6,Rj):6,{slice:Qe,more:xe}=Fl(ye,0,n?.agentWindow??eS),ie=Qe.map((Ve,Gt)=>Lj(Ve,!1,Gt===C.anchor,De,A,r));xe>0&&ie.push(he("dim",`\u2026+${xe} more`));let v=Tj({title:"Phases",rows:ee},{title:`${C.title} \xB7 ${ye.length} agents${n?.filterLabel??""}`,rows:ie},t,{leftWidth:P,gap:1});return[...d,...v,...b]}function nS(e,t=[],n=96,r,o){let s=jj(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}:{}}),i=new Set(t);if(o?.drill){let p=Fo(e,e.endedAt??Date.now()),d=p[Math.max(0,Math.min(p.length-1,r??0))];for(let b of d?.agents??[])i.add(b.label)}if(i.size===0)return s;let c=[];for(let p of e.steps)if(i.has(p.label)){for(let d of p.tasks??[]){let b=d.status==="completed"?"[x]":d.status==="in_progress"?"[>]":"[ ]";c.push(` ${he("muted",b)} ${he("text",d.content)}`)}p.detail&&c.push(` ${he("dim",p.detail)}`)}return c.length===0?s:[...s.slice(0,-1),...c,s[s.length-1]]}function Dj(){return"\u2191/\u2193 phase \xB7 Enter drill in \xB7 Esc back out \xB7 f filter by status \xB7 p pause \xB7 x stop \xB7 s save script"}var HE,he,$j,kj,cm,Ys,Lo,VE,eS,Pj,Rj,Aj,Mj,Oj,Zs=u(()=>{Js();HE={text:_.text,muted:_.mute,dim:_.dim,accent:_.accent,success:_.tool,error:_.bad,border:_.line},he=(e,t,n=!1)=>n?re(t,HE[e],{bold:!0}):re(t,HE[e]),$j=25,kj=15e5,cm=420;Ys=(e,t,n)=>Math.max(t,Math.min(n,e)),Lo=(e,t)=>dn(e)>t?Xs(e,Math.max(0,t),"\u2026"):e;VE="Workflow";eS=16,Pj=12,Rj=18,Aj=72,Mj=24;Oj=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as _j}from"node:fs";import{basename as Nj}from"node:path";import{StringEnum as qj}from"@earendil-works/pi-ai";import{defineTool as Uj}from"@earendil-works/pi-coding-agent";function oS(e){rS=e}function Gj(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),n=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!n)throw new He("a workflow script must start with `export const meta = { name, description }`");let r=e.length-t.length,o=n[0].length,s=0,i=null,c=-1;for(let A=o;A<t.length;A++){let C=t[A];if(i){C==="\\"?A++:C===i&&(i=null);continue}if(C==='"'||C==="'"||C==="`")i=C;else if(C==="{"||C==="[")s++;else if((C==="}"||C==="]")&&(s--,s===0)){c=A+1;break}}if(c===-1)throw new He("meta is not a closed literal object");let p=t.slice(o,c),d=e.slice(r+c).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(d))throw new He("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(d))throw new He("a workflow body must not use dynamic import()");let b;try{b=new Function(`"use strict"; return (${p});`)()}catch(A){throw new He(`meta must be a literal object: ${A instanceof Error?A.message:String(A)}`)}if(typeof b!="object"||b===null)throw new He("meta must be an object");let I=b;if(typeof I.name!="string"||!I.name.trim())throw new He("meta.name is required");if(typeof I.description!="string"||!I.description.trim())throw new He("meta.description is required");let P=Array.isArray(I.phases)?I.phases.filter(A=>typeof A=="object"&&A!==null).map(A=>({title:String(A.title??""),...typeof A.detail=="string"?{detail:A.detail}:{}})).filter(A=>A.title):void 0;return{meta:{name:I.name,description:I.description,...typeof I.whenToUse=="string"?{whenToUse:I.whenToUse}:{},...P?{phases:P}:{}},body:d}}function Wj(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],n=`"use strict"; return (async () => {
99
+ Reply with ONLY a corrected JSON value.`}function ZI(e,t=80){let r=e.split(`
100
+ `).map(n=>n.trim()).find(n=>n.length>0)??"";return r.length>t?`${r.slice(0,t)}\u2026`:r}var w5,k5,IN,yN,Mt,wN=u(()=>{hN();w5=1e3,k5=4096,IN=100,yN=300*1e3;Mt=class extends Error{constructor(t){super(t),this.name="WorkflowError"}}});import{parseColor as mo,styleText as R5}from"@earendil-works/pi-tui";function A5(e,t){return R5(e,t,Zf)}function ge(e,t,r){return A5(e,{...r,fg:t})}var Zf,N,kN,Su=u(()=>{Zf="truecolor",N={text:mo("#e6e6e6"),mute:mo("#8b8b8b"),dim:mo("#5c5c5c"),user:mo("#d0d0d0"),accent:mo("#c4b5fd"),tool:mo("#6ee7b7"),bad:mo("#f0a8a4"),warn:mo("#e6b15a"),line:mo("#3a3a3a")};kN={heading:e=>ge(e,N.text,{bold:!0}),link:e=>ge(e,N.accent,{underline:!0}),linkUrl:e=>ge(e,N.mute),code:e=>ge(e,N.text),codeBlock:e=>ge(e,N.text),codeBlockBorder:e=>ge(e,N.line),quote:e=>ge(e,N.mute,{italic:!0}),quoteBorder:e=>ge(e,N.line),hr:e=>ge(e,N.line),listBullet:e=>ge(e,N.mute),bold:e=>ge(e,N.text,{bold:!0}),italic:e=>ge(e,N.text,{italic:!0}),strikethrough:e=>ge(e,N.mute,{strikethrough:!0}),underline:e=>ge(e,N.text,{underline:!0})}});import{truncateToWidth as Ru,visibleWidth as bn}from"@earendil-works/pi-tui";function Ko(e){let t=Math.max(0,Math.round(e/1e3)),r=Math.floor(t/3600),n=Math.floor(t%3600/60),o=t%60;return r>0?`${r}h${String(n).padStart(2,"0")}m`:n>0?`${n}m${String(o).padStart(2,"0")}s`:`${o}s`}function SN(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 ty(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function el(e,t,r="left"){if(t<=0)return"";let n=bn(e);if(n>t)return Ru(e,t);let o=" ".repeat(t-n);return r==="right"?o+e:e+o}function ry(e,t,r,n=1){if(r<=0)return"";let o=bn(t);if(o>=r)return Ru(t,r);let i=r-o-n;if(i<=0)return el(t,r,"right");let a=bn(e)>i?Ru(e,i):e,c=" ".repeat(r-bn(a)-o);return a+c+t}function QI(e,t,r){let n=js(e,Math.max(0,r-2)),o=Math.max(1,r-1-bn(n)),i=Ae("border","\u250C\u2500 ")+Ae("accent",n)+Ae("border",` ${"\u2500".repeat(o)}\u2510`),a=Ae("border",`\u2514${"\u2500".repeat(r+2)}\u2518`),c=Ae("border","\u2502"),p=t.map(f=>`${c} ${el(f,r)} ${c}`);return[i,...p,a]}function O5(e,t,r,n){let o=n?.gap??1,i=n?.leftWidth??Tu(Math.round(r*.38),28,44),a=r-i-o,c=Math.max(e.rows.length,t.rows.length),p=w=>{let $=[...w];for(;$.length<c;)$.push("");return $},f=QI(e.title,p(e.rows),i-4),g=QI(t.title,p(t.rows),a-4),x=" ".repeat(o);return f.map((w,$)=>w+x+(g[$]??el("",a)))}function TN(e,t,r){switch(e){case"running":return Ae(t||r?"accent":"muted","\u25CF");case"failed":return Ae("error","\u2717");default:return Ae("success","\u2713")}}function RN(e,t,r,n=Date.now(),o=0){return t?n-o<Qf?Ae("success","\u2713",!0):Ae("success","\u2713"):Ae(r?"accent":"dim",String(e))}function qs(e,t=Date.now()){let r=e.phases.map(o=>o.title),n=new Map(e.phases.map(o=>[o.title,o.detail]));for(let o of e.steps){let i=o.phase||$N;r.includes(i)||r.push(i)}return r.map((o,i)=>{let a=e.steps.filter(C=>(C.phase||$N)===o).map(C=>({...C,phaseIndex:i})),c=a.filter(C=>C.status!=="running").length,p=a.filter(C=>C.status==="failed").length,f=a.reduce((C,D)=>{let Z=D.endedAt??t;return Math.max(C,Z-D.startedAt)},0),g=-1;for(let C=0;C<a.length;C++){let D=a[C];D.status==="running"&&(g<0||D.startedAt>=a[g].startedAt)&&(g=C)}let x=n.get(o),w=a.length>0&&c===a.length&&p===0,$=w?a.reduce((C,D)=>Math.max(C,D.endedAt??0),0):0;return{title:o,...x?{detail:x}:{},agents:a,done:c,failed:p,outputTokens:a.reduce((C,D)=>C+D.outputTokens,0),elapsedMs:f,allDone:w,finishedAt:$,anchor:g}})}function ny(e){return e.steps.reduce((t,r)=>t+r.outputTokens,0)}function M5(e){return e.steps.reduce((t,r)=>t+(r.toolCalls??0),0)}function AN(e,t=Date.now()){return Math.max(0,(e.endedAt??t)-e.startedAt)}function v5(e){return e.steps.length>P5||ny(e)>C5}function F5(e){if(e.length===0)return 0;let t=e.map((r,n)=>({group:r,index:n})).filter(r=>r.group.anchor>=0);if(t.length>0)return t.reduce((r,n)=>{let o=n.group.agents[n.group.anchor],i=r.group.agents[r.group.anchor];return o.startedAt>=i.startedAt?n:r}).index;for(let r=e.length-1;r>=0;r--)if(e[r].agents.length>0)return r;return e.length-1}function PN(e,t=Date.now()){let r=qs(e,t),n=e.steps.length,o=e.steps.filter(f=>f.status!=="running").length,i=e.steps.filter(f=>f.status==="failed").length,a=[e.name],c=r.find(f=>f.anchor>=0);c?a.push(`${c.title} ${c.done}/${c.agents.length}`):r.length>0&&a.push(`${r[r.length-1].title} done`),a.push(`${o}/${n} agents`),a.push(`${ty(ny(e))} tok`),a.push(Ko(AN(e,t))),i>0&&a.push(`${i} failed`);let p=a.join(" \xB7 ");return v5(e)?`large workflow \xB7 ${p}`:p}function ON(e,t){if(e.status==="running"&&e.outputTokens===0)return[`idle ${Ko(t-e.startedAt)}`,"idle"];let r=ty(e.outputTokens),n=e.toolCalls??0,o=Ko((e.endedAt??t)-e.startedAt);return[`${r} tok \xB7 ${n} tools \xB7 ${o}`,`${r} tok \xB7 ${n} tools`,`${r} tok`]}function ey(e,t,r){if(e.length<=r)return{slice:e,start:0,more:0};let n=Math.max(1,r-1),o=Tu(t-Math.floor(n/2),0,e.length-n),i=e.slice(o,o+n);return{slice:i,start:o,more:e.length-i.length}}function j5(e,t,r,n,o){let i=`${e.done}/${e.agents.length}`,a=r?Ae("accent","\u276F"):" ",c=RN(t+1,e.allDone,r,o,e.finishedAt),p=Math.max(0,n-4-bn(i)),f=bn(e.title)>p?Ru(e.title,p,"\u2026"):e.title,g=e.allDone&&o-e.finishedAt<Qf,x=Ae(g&&!r?"success":r?"accent":"text",f),w=`${a}${c} ${x}`,$=Ae(r?"accent":"muted",i);return ry(w,$,n,1)}function q5(e,t,r,n,o,i){let a=t?Ae("accent","\u276F"):" ",c=TN(e.status,t,r),p=Ae(t?"accent":"text",el(e.label,n)),f=`${a}${c} ${p}`,g=Math.max(0,o-bn(f)-1),x=ON(e,i).find($=>bn($)<=g)??"",w=Ae(t?"accent":D5(e)?"dim":"muted",x);return ry(f,w,o,1)}function G5(e,t,r,n){let o=[];return e.forEach((i,a)=>{let p=`${RN(a+1,i.allDone,a===r,n,i.finishedAt)} ${Ae(a===r?"accent":"text",i.title)} ${Ae("muted",`${i.done}/${i.agents.length}`)}`;o.push(js(p,t));let{slice:f,more:g}=ey(i.agents,0,CN);f.forEach((x,w)=>{let $=TN(x.status,!1,w===i.anchor),C=ON(x,n)[0]??"";o.push(js(` ${$} ${Ae("text",x.label)} ${Ae("muted",C)}`,t))}),g>0&&o.push(js(` ${Ae("dim",`\u2026+${g} more`)}`,t))}),o}function K5(e,t,r){let n=r?.now??Date.now(),o=qs(e,n),i=e.steps,a=i.filter(vt=>vt.status!=="running").length,c=i.filter(vt=>vt.status==="failed").length,p=[`${a}/${i.length} agents`,`${ty(ny(e))} tok`,`${M5(e)} tools`,Ko(AN(e,n)),...c>0?[`${c} failed`]:[]].join(" \xB7 "),f=[ry(Ae("accent",e.name,!0),Ae("muted",p),t,2),...e.description?[Ae("muted",js(e.description,t))]:[]],g=r?.footer?[Ae("muted",js(r.footerText??B5(),t))]:[];if(o.length===0)return[...f,...QI("Phases",["(no agents yet)"],Math.max(0,t-4)),...g];let x=Tu(r?.selectedPhase??F5(o),0,Math.max(0,o.length-1)),w=Tu(Math.round(t*.38),28,44),$=t-w-1-4;if(t<U5||$<N5)return[...f,...G5(o,t,x,n),...g];let C=o[x],{slice:D,start:Z,more:z}=ey(o,x,_5),le=D.map((vt,Gr)=>j5(vt,Z+Gr,Z+Gr===x,w-4,n));z>0&&le.push(Ae("dim",`\u2026+${z} more`));let ve=r?.filter?r.filter(C.agents):C.agents,It=ve.length?Tu(Math.max(...ve.map(vt=>bn(vt.label))),6,L5):6,{slice:Dt,more:Pe}=ey(ve,0,r?.agentWindow??CN),he=Dt.map((vt,Gr)=>q5(vt,!1,Gr===C.anchor,It,$,n));Pe>0&&he.push(Ae("dim",`\u2026+${Pe} more`));let A=O5({title:"Phases",rows:le},{title:`${C.title} \xB7 ${ve.length} agents${r?.filterLabel??""}`,rows:he},t,{leftWidth:w,gap:1});return[...f,...A,...g]}function MN(e,t=[],r=96,n,o){let i=K5(e,r,{now:e.endedAt??Date.now(),footer:!0,...n===void 0?{}:{selectedPhase:n},...o?.filter?{filter:o.filter}:{},...o?.footerText?{footerText:o.footerText}:{},...o?.filterLabel?{filterLabel:o.filterLabel}:{}}),a=new Set(t);if(o?.drill){let p=qs(e,e.endedAt??Date.now()),f=p[Math.max(0,Math.min(p.length-1,n??0))];for(let g of f?.agents??[])a.add(g.label)}if(a.size===0)return i;let c=[];for(let p of e.steps)if(a.has(p.label)){for(let f of p.tasks??[]){let g=f.status==="completed"?"[x]":f.status==="in_progress"?"[>]":"[ ]";c.push(` ${Ae("muted",g)} ${Ae("text",f.content)}`)}p.detail&&c.push(` ${Ae("dim",p.detail)}`)}return c.length===0?i:[...i.slice(0,-1),...c,i[i.length-1]]}function B5(){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 EN,Ae,P5,C5,Qf,Tu,js,$N,CN,_5,L5,U5,N5,D5,Au=u(()=>{Su();EN={text:N.text,muted:N.mute,dim:N.dim,accent:N.accent,success:N.tool,error:N.bad,border:N.line},Ae=(e,t,r=!1)=>r?ge(t,EN[e],{bold:!0}):ge(t,EN[e]),P5=25,C5=15e5,Qf=420;Tu=(e,t,r)=>Math.max(t,Math.min(r,e)),js=(e,t)=>bn(e)>t?Ru(e,Math.max(0,t),"\u2026"):e;$N="Workflow";CN=16,_5=12,L5=18,U5=72,N5=24;D5=e=>e.status==="running"&&e.outputTokens===0});import{readFileSync as H5}from"node:fs";import{basename as W5}from"node:path";import{StringEnum as z5}from"@earendil-works/pi-ai";import{defineTool as V5}from"@earendil-works/pi-coding-agent";function FN(e){vN=e}function Y5(e){let t=e.replace(/^(?:\s+|\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)*/,""),r=/^export\s+const\s+meta\s*=\s*/.exec(t);if(!r)throw new Mt("a workflow script must start with `export const meta = { name, description }`");let n=e.length-t.length,o=r[0].length,i=0,a=null,c=-1;for(let $=o;$<t.length;$++){let C=t[$];if(a){C==="\\"?$++:C===a&&(a=null);continue}if(C==='"'||C==="'"||C==="`")a=C;else if(C==="{"||C==="[")i++;else if((C==="}"||C==="]")&&(i--,i===0)){c=$+1;break}}if(c===-1)throw new Mt("meta is not a closed literal object");let p=t.slice(o,c),f=e.slice(n+c).replace(/^\s*;/,"");if(/^\s*(import|export)\b/m.test(f))throw new Mt("a workflow body must not contain import or export declarations");if(/\bimport\s*\(/.test(f))throw new Mt("a workflow body must not use dynamic import()");let g;try{g=new Function(`"use strict"; return (${p});`)()}catch($){throw new Mt(`meta must be a literal object: ${$ instanceof Error?$.message:String($)}`)}if(typeof g!="object"||g===null)throw new Mt("meta must be an object");let x=g;if(typeof x.name!="string"||!x.name.trim())throw new Mt("meta.name is required");if(typeof x.description!="string"||!x.description.trim())throw new Mt("meta.description is required");let w=Array.isArray(x.phases)?x.phases.filter($=>typeof $=="object"&&$!==null).map($=>({title:String($.title??""),...typeof $.detail=="string"?{detail:$.detail}:{}})).filter($=>$.title):void 0;return{meta:{name:x.name,description:x.description,...typeof x.whenToUse=="string"?{whenToUse:x.whenToUse}:{},...w?{phases:w}:{}},body:f}}function X5(e){let t=["agent","parallel","pipeline","phase","log","args","budget"],r=`"use strict"; return (async () => {
91
101
  ${e}
92
- })();`,r;try{r=new Function(...t,n)}catch(o){throw new He(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return r}function Bj(e){return e.getLastAssistantText()?.trim()??""}function zj(){return async({prompt:e,agentType:t,effort:n,model:r,isolation:o})=>{let s=Kr.get(t)??Kr.get("task");if(!s)throw new He(`no agent named ${t}`);let i=o==="worktree"?await FE(process.cwd(),t):null,c=await am({agent:s.name,effort:n??s.effort,...i?{worktree:i.path}:{}});try{await c.prompt(`${s.prompt}
102
+ })();`,n;try{n=new Function(...t,r)}catch(o){throw new Mt(`workflow did not compile: ${o instanceof Error?o.message:String(o)}`)}return n}function Z5(e){return e.getLastAssistantText()?.trim()??""}function Q5(){return async({prompt:e,agentType:t,effort:r,model:n,isolation:o})=>{let i=Oi.get(t)??Oi.get("task");if(!i)throw new Mt(`no agent named ${t}`);let a=o==="worktree"?await pN(process.cwd(),t):null,c=await Yf({agent:i.name,effort:r??i.effort,...a?{worktree:a.path}:{}});try{await c.prompt(`${i.prompt}
93
103
 
94
104
  Task:
95
- ${e}`);let p=c.getSessionStats(),d=r??Hj(c);return{text:Bj(c),outputTokens:p.tokens.output,toolCalls:p.toolCalls,...d?{model:d}:{}}}finally{c.dispose(),await i?.remove()}}}function Hj(e){return e.model?.id??e.model?.name}function sS(e){let t=()=>e??rS;return Uj({name:"workflow",label:"workflow",description:"Run a JavaScript workflow that orchestrates many agents deterministically. Provide `code` (or `path`). The script starts with `export const meta = { name, description, phases }` and then uses the injected bindings: `agent(prompt, {label, phase, schema, effort, model, agentType, isolation})`, `parallel(thunks)`, `pipeline(items, ...stages)`, `phase(title)`, `log(msg)`, `args`, `budget`. `agent()` resolves null on failure and throws only when the budget or the call cap is exhausted, so null-check every result. `parallel()` takes thunks and never rejects; `pipeline()` has no barrier between items. Use it for fan-out, for builder-verifier loops that converge on a verdict, and for anything needing many agents whose order and count must be deterministic.",promptSnippet:"workflow: orchestrate many agents from one JavaScript script",parameters:Vj,executionMode:"sequential",async execute(n,r,o,s,i){let c=r.path?_j(r.path,"utf8"):r.code??"";if(!c.trim())throw new He("provide code or path");let{meta:p,body:d}=Gj(c);if(r.path){let xe=Nj(r.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(xe!==p.name)throw new He(`meta.name "${p.name}" must match the script filename "${xe}"`)}let b=Wj(d),I=Date.now(),P=[],A=0,C=0,U=(xe,ie)=>({name:p.name,...p.description?{description:p.description}:{},ok:xe,agents:C,outputTokens:A,startedAt:I,phases:p.phases??[],steps:P,...ie?{error:ie}:{}}),z=(xe,ie)=>{i.ui.setStatus(Nl,ie?void 0:QE(xe)),s?.({content:[],details:U(!1)})},G=xe=>{C=xe.length,A=xe.reduce((ie,v)=>ie+v.outputTokens,0),P.splice(0,P.length,...xe.map(ie=>({label:ie.label,phase:ie.phase,agent:ie.agentType,status:ie.status,outputTokens:ie.outputTokens,startedAt:ie.startedAt,...ie.toolCalls!==void 0?{toolCalls:ie.toolCalls}:{},...ie.model?{model:ie.model}:{},...ie.endedAt?{endedAt:ie.endedAt}:{},...ie.detail?{detail:ie.detail}:{},...ie.tasks?{tasks:ie.tasks}:{}}))),z({name:p.name,...p.description?{description:p.description}:{},phases:p.phases??[],steps:P,startedAt:I},!1)},ee=zj(),ye=WE({invoke:r.agent?Jj(ee,r.agent):ee,budgetTotal:r.budget??null,onProgress:G,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),De=new AbortController,Qe=setTimeout(()=>De.abort(),Kj);o&&o.addEventListener("abort",()=>De.abort(),{once:!0}),t()?.onStop?.(()=>De.abort());try{let xe=await Promise.race([b(ye.agent,ye.parallel,ye.pipeline,ye.phase,ye.log,ye.args,ye.budget),new Promise((v,Ve)=>De.signal.addEventListener("abort",()=>Ve(new He("workflow timed out or was aborted"))))]),ie=Date.now();return i.ui.setStatus(Nl,void 0),{content:[{type:"text",text:`${p.name}: ${C} agent call(s), ${A} output tokens in ${fr(ie-I)}
105
+ ${e}`);let p=c.getSessionStats(),f=n??eV(c);return{text:Z5(c),outputTokens:p.tokens.output,toolCalls:p.toolCalls,...f?{model:f}:{}}}finally{c.dispose(),await a?.remove()}}}function eV(e){return e.model?.id??e.model?.name}function _N(e){let t=()=>e??vN;return V5({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:tV,executionMode:"sequential",async execute(r,n,o,i,a){let c=n.path?H5(n.path,"utf8"):n.code??"";if(!c.trim())throw new Mt("provide code or path");let{meta:p,body:f}=Y5(c);if(n.path){let Pe=W5(n.path).replace(/\.(js|mjs|cjs|ts)$/,"");if(Pe!==p.name)throw new Mt(`meta.name "${p.name}" must match the script filename "${Pe}"`)}let g=X5(f),x=Date.now(),w=[],$=0,C=0,D=(Pe,he)=>({name:p.name,...p.description?{description:p.description}:{},ok:Pe,agents:C,outputTokens:$,startedAt:x,phases:p.phases??[],steps:w,...he?{error:he}:{}}),Z=(Pe,he)=>{a.ui.setStatus(oy,he?void 0:PN(Pe)),i?.({content:[],details:D(!1)})},z=Pe=>{C=Pe.length,$=Pe.reduce((he,A)=>he+A.outputTokens,0),w.splice(0,w.length,...Pe.map(he=>({label:he.label,phase:he.phase,agent:he.agentType,status:he.status,outputTokens:he.outputTokens,startedAt:he.startedAt,...he.toolCalls!==void 0?{toolCalls:he.toolCalls}:{},...he.model?{model:he.model}:{},...he.endedAt?{endedAt:he.endedAt}:{},...he.detail?{detail:he.detail}:{},...he.tasks?{tasks:he.tasks}:{}}))),Z({name:p.name,...p.description?{description:p.description}:{},phases:p.phases??[],steps:w,startedAt:x},!1)},le=Q5(),ve=bN({invoke:n.agent?rV(le,n.agent):le,budgetTotal:n.budget??null,onProgress:z,...o?{signal:o}:{},...t()?.isPaused?{isPaused:t().isPaused}:{}}),It=new AbortController,Dt=setTimeout(()=>It.abort(),J5);o&&o.addEventListener("abort",()=>It.abort(),{once:!0}),t()?.onStop?.(()=>It.abort());try{let Pe=await Promise.race([g(ve.agent,ve.parallel,ve.pipeline,ve.phase,ve.log,ve.args,ve.budget),new Promise((A,vt)=>It.signal.addEventListener("abort",()=>vt(new Mt("workflow timed out or was aborted"))))]),he=Date.now();return a.ui.setStatus(oy,void 0),{content:[{type:"text",text:`${p.name}: ${C} agent call(s), ${$} output tokens in ${Ko(he-x)}
96
106
 
97
- ${Yj(xe)}`}],details:{...U(!0),endedAt:ie}}}catch(xe){let ie=xe instanceof Error?xe.message:String(xe);return i.ui.setStatus(Nl,void 0),{content:[{type:"text",text:`${p.name} failed after ${C} agent call(s): ${ie}`}],details:{...U(!1,ie),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Qe),t()?.onStop?.(null)}}})}function Jj(e,t){return n=>e({...n,agentType:t})}function Yj(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var Nl,rS,Kj,Vj,ql=u(()=>{Nr();Vs();Ol();BE();Zs();Nl="workflow",rS=null;Kj=600*1e3;Vj=Z.Object({code:Z.Optional(Z.String({description:"The workflow script source"})),path:Z.Optional(Z.String({description:"Path to a workflow script, instead of code"})),agent:Z.Optional(qj(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:Z.Optional(Z.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as Rt}from"@earendil-works/pi-ai";import{defineTool as Xj}from"@earendil-works/pi-coding-agent";var iS,aS=u(()=>{Vs();Vs();iS=Xj({name:"task",label:"task",description:"Spawn scout, architect, task, or reviewer agents. One call can carry tasks[]. Each item can set agent and effort. Agents run in the background, park when done, and can be resumed with /agents. Use architect to design an approach before a large change.",promptSnippet:"task: spawn background agents",parameters:Rt.Object({agent:Rt.Optional(Rt.String()),effort:Rt.Optional(Rt.String()),task:Rt.Optional(Rt.String()),tasks:Rt.Optional(Rt.Array(Rt.Object({agent:Rt.Optional(Rt.String()),effort:Rt.Optional(Rt.String()),task:Rt.String()})))}),executionMode:"parallel",async execute(e,t,n,r,o){let s=t.tasks&&t.tasks.length>0?t.tasks.map(p=>({agent:p.agent??t.agent??"task",task:p.task,effort:p.effort??t.effort})):[{agent:t.agent??"task",task:t.task??"",effort:t.effort}],i=[];for(let p of s)p.task.trim()&&(i.push(await PE({...p,cwd:o?.cwd})),r?.({content:[],details:{agents:i.map(d=>({id:d.id,agent:d.agent,status:d.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}
107
+ ${nV(Pe)}`}],details:{...D(!0),endedAt:he}}}catch(Pe){let he=Pe instanceof Error?Pe.message:String(Pe);return a.ui.setStatus(oy,void 0),{content:[{type:"text",text:`${p.name} failed after ${C} agent call(s): ${he}`}],details:{...D(!1,he),endedAt:Date.now()},isError:!0}}finally{clearTimeout(Dt),t()?.onStop?.(null)}}})}function rV(e,t){return r=>e({...r,agentType:t})}function nV(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var oy,vN,J5,tV,iy=u(()=>{Ai();$u();XI();wN();Au();oy="workflow",vN=null;J5=600*1e3;tV=ce.Object({code:ce.Optional(ce.String({description:"The workflow script source"})),path:ce.Optional(ce.String({description:"Path to a workflow script, instead of code"})),agent:ce.Optional(z5(["scout","task","reviewer"],{description:"Default agent profile for calls"})),budget:ce.Optional(ce.Number({description:"Output-token ceiling for the whole run"}))})});import{Type as yr}from"@earendil-works/pi-ai";import{defineTool as oV}from"@earendil-works/pi-coding-agent";var LN,UN=u(()=>{$u();$u();LN=oV({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:yr.Object({agent:yr.Optional(yr.String()),effort:yr.Optional(yr.String()),task:yr.Optional(yr.String()),tasks:yr.Optional(yr.Array(yr.Object({agent:yr.Optional(yr.String()),effort:yr.Optional(yr.String()),task:yr.String()})))}),executionMode:"parallel",async execute(e,t,r,n,o){let i=t.tasks&&t.tasks.length>0?t.tasks.map(p=>({agent:p.agent??t.agent??"task",task:p.task,effort:p.effort??t.effort})):[{agent:t.agent??"task",task:t.task??"",effort:t.effort}],a=[];for(let p of i)p.task.trim()&&(a.push(await oN({...p,cwd:o?.cwd})),n?.({content:[],details:{agents:a.map(f=>({id:f.id,agent:f.agent,status:f.status}))}}));if(a.length===0)throw new Error("task or tasks is required");return await iN(r),{content:[{type:"text",text:a.map(p=>`## ${p.agent}#${p.id} ${p.status}
98
108
  ${p.result??""}`).join(`
99
109
 
100
- `)}],details:{agents:i.map(p=>({id:p.id,status:p.status}))}}}})});function uS(){return e=>{e.on("session_start",()=>{let t=new Set(e.getActiveTools());for(let n of Zj)e.getAllTools().some(r=>r.name===n)&&t.add(n);e.setActiveTools([...t])})}}var Zj,mS=u(()=>{Zj=["grep","find","ls"]});var cS={};Mt(cS,{BUILD_ENTRY:()=>dm,openSession:()=>aD});import{join as Qj}from"node:path";import{createAgentSession as eD,createCodemodeExtension as tD,createMcpExtension as nD,DefaultResourceLoader as rD,SessionManager as lm,SettingsManager as oD}from"@earendil-works/pi-coding-agent";function iD(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 aD(e){let t=oD.create(e.cwd,_e,{projectTrusted:!0}),n=e.sessionPath?lm.open(e.sessionPath):e.noSession?lm.inMemory(e.cwd):e.continueSession?lm.continueRecent(e.cwd):lm.create(e.cwd),r=(()=>{try{let b=n.getEntries().find(I=>I.type==="custom"&&I.customType===dm)?.data?.version;return!b||b===Nt?void 0:`this session was written by HowToFix ${b}; you are running ${Nt}`}catch{return}})(),o=new rD({cwd:e.cwd,agentDir:_e,settingsManager:t,appendSystemPrompt:kf(Cd),additionalSkillPaths:[hr(e.cwd)],extensionFactories:[oE(),Vo(),vf(),tm(),pE(),sE(),uE(),tD(),nD(),uS()]});await o.reload();let s=await eD({cwd:e.cwd,agentDir:_e,settingsManager:t,sessionManager:n,resourceLoader:o,excludeTools:sD().exclude,customTools:[iS,Rf,Af,Ku,Gu,Wv,iE,aE,sS(),rm,om,sm],thinkingLevel:e.thinking}),i=s.session.model;if(e.model){let d=await s.session.modelRuntime.getAvailable(),b=iD(d,e.model);if(!b)throw s.session.dispose(),new Error(`unknown model '${e.model}'`);(i?.id!==b.id||i.provider!==b.provider)&&(await s.session.setModel(b),i=s.session.model)}if(!e.noSession&&n.getEntries().every(d=>d.type!=="custom"||d.customType!==dm))try{n.appendCustomEntry(dm,{version:Nt})}catch{}let c=i?`${i.provider}/${i.id}`:"no model",p=[Ld(s.modelFallbackMessage)].filter(d=>!!d);return i||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${Qj(_e,"models.json")}`),{session:s.session,dispose:()=>{vl(),s.session.dispose()},modelLabel:c,note:[r,...p].filter(Boolean).join(`
101
- `)||void 0}}var dm,sD,pS=u(()=>{Go();Tf();Ef();xn();Jo();dc();pl();Wu();Ju();hl();mE();lE();bl();ql();aS();mS();kl();Sl();El();dm="howtofix.build",sD=()=>({exclude:process.platform==="win32"?[]:["powershell"]})});import{spawn as uD}from"node:child_process";function mD(e,t,n=2e3){return new Promise(r=>{let o=!1,s=d=>{o||(o=!0,clearTimeout(c),r(d))},i;try{i=uD(e,[...t],{stdio:["ignore","pipe","ignore"]})}catch{s({ok:!1,stdout:""});return}let c=setTimeout(()=>{i.kill("SIGKILL"),s({ok:!1,stdout:""})},n),p=[];i.stdout?.on("data",d=>p.push(d)),i.on("error",()=>s({ok:!1,stdout:""})),i.on("close",d=>{s({ok:d===0,stdout:Buffer.concat(p).toString("utf8")})})})}function Ul(){return process.env.XDG_SESSION_TYPE==="wayland"||(process.env.WAYLAND_DISPLAY?.length??0)>0}async function cD(){let e=[];process.platform==="darwin"?e.push({command:"pbpaste",args:[]}):process.platform==="win32"?e.push({command:"powershell.exe",args:["-NoProfile","-Command","Get-Clipboard -Raw"]}):(Ul()&&(e.push({command:"wl-paste",args:["--no-newline","--type","text/plain;charset=utf-8"]}),e.push({command:"wl-paste",args:["--no-newline","--type","text/plain"]}),e.push({command:"wl-paste",args:["--no-newline"]})),((process.env.DISPLAY?.length??0)>0||!Ul())&&(e.push({command:"xclip",args:["-selection","clipboard","-o"]}),e.push({command:"xsel",args:["--clipboard","--output"]})),e.push({command:"termux-clipboard-get",args:[]}));for(let t of e){let n=await mD(t.command,t.args);if(n.ok&&n.stdout.length>0)return n.stdout}}async function lS(){let e;try{let{getNativeClipboard:r}=await import("@earendil-works/pi-tui");e=r()}catch{e=void 0}if(e)try{let r=await e.getText();if(typeof r=="string"&&r.length>0)return{ok:!0,text:r}}catch{}let t=await cD();return t!==void 0?{ok:!0,text:t}:{ok:!1,reason:`no clipboard tool could read it \u2014 ${Ul()?"install wl-clipboard (wl-paste)":process.platform==="darwin"?"pbpaste should be present on macOS":"install xclip or xsel, or run under a display"}`}}function dS(){return process.platform!=="win32"}var fS=u(()=>{});import{mixColors as pD,styleText as gS}from"@earendil-works/pi-tui";function Qs(e,t,n){let r=wS(n);return r>=1?t:r<=0?e:pD(e,t,r)}function Gl(e,t,n,r){return!Wr||e<=Kl?t:e>=yS?r:Qs(n,r,(e-Kl)/(yS-Kl))}function IS(e,t){return!Wr||t<=0||e<0?1:1-(1-wS(e/t))**3}function $S(e,t){return Wr&&e>=0&&e<t}function Bl(e,t,n=dD,r=400){return!Wr||n<=0||e<0||e>=r?t:Math.min(t,Math.floor(e/n)+1)}function kS(e,t,n=Date.now(),r=1400){if(!Wr||r<=0)return e;let o=n%r/r;return Qs(e,t,o<.5?o*2:(1-o)*2)}function fD(e,t){let n=Math.abs(e-t);return n>=hS?0:Math.ceil((1-n/hS)*bS)/bS}function TS(e,t,n=Date.now()){let r=t.charMs??lD;if(!Wr||e.length===0||r<=0)return gS(e,{fg:t.base},mm);let o=e.length+xS*2,s=n/r%o-xS,i=(P,A)=>gS(P,{fg:Qs(t.base,t.bright,A)},mm),c="",p=0,d=null,b=0,I=0;for(let P of e){let A=fD(I,s);d===null?d=A:A!==d&&(c+=i(e.slice(p,b),d),p=b,d=A),b+=P.length,I+=1}return c+i(e.slice(p),d??0)}var Wr,lD,hS,xS,Kl,yS,bS,wS,fm,Wl,dD,zl=u(()=>{Js();Wr=process.env.HOWTOFIX_NO_MOTION!=="1",lD=45,hS=5,xS=8,Kl=1e4,yS=6e4,bS=3,wS=e=>e<0?0:e>1?1:e;fm=class{value;velocity=0;last=Date.now();target;constructor(t,n=t){this.value=t,this.target=n}set(t){this.target=t}get moving(){return Math.abs(this.target-this.value)>.15}snap(t){this.value=t,this.target=t,this.velocity=0,this.last=Date.now()}step(t=Date.now()){let n=Math.max(0,t-this.last),r=Math.min(250,n)/1e3;if(this.last=t,!Wr)return this.value=this.target,this.velocity=0,this.value;n>250&&(this.velocity=0);let o=150,s=2*Math.sqrt(o),i=Math.max(1,Math.ceil(r/.008)),c=r/i;for(let p=0;p<i;p+=1)this.velocity+=(this.target-this.value)*o*c-this.velocity*s*c,this.value+=this.velocity*c;return this.moving||(this.value=this.target,this.velocity=0),this.value}};Wl=260,dD=45});import{execFile as gD,execFileSync as hD}from"node:child_process";import{promisify as xD}from"node:util";import{createHash as ES}from"node:crypto";import{copyFileSync as yD,existsSync as Hl,mkdirSync as gm,readFileSync as bD,statSync as wD}from"node:fs";import{dirname as SS,join as Dn,resolve as PS}from"node:path";function $D(e){let t=PS(e);for(;;){if(Hl(Dn(t,".git")))return!0;let n=SS(t);if(n===t)return!1;t=n}}async function fn(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 kD("git",t,{cwd:e.root,env:n,encoding:"utf8",maxBuffer:8*1024*1024});return r.trim()}function TD(e){return ES("sha1").update(e).digest("hex").slice(0,16)}function RS(e){let t=PS(e).replace(/\/+$/,"")||"/",n=Dn(ID,TD(t)),r=Dn(n,"git"),o={root:t,gitDir:r,metaFile:Dn(n,"checkpoints.json"),disabled:!1};return!Hl(Dn(r,"HEAD"))&&!$D(t)?(o.disabled=!0,o):(gm(n,{recursive:!0}),Hl(Dn(r,"HEAD"))||(gm(r,{recursive:!0}),hD("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:r},stdio:["ignore","ignore","pipe"]})),vD(t,r),o)}function vD(e,t){let n=Dn(e,".git","info","exclude");try{if(!wD(n).isFile())return;gm(Dn(t,"info"),{recursive:!0}),yD(n,Dn(t,"info","exclude"))}catch{}}function Jl(e){try{let t=JSON.parse(bD(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function AS(e,t){gm(SS(e.metaFile),{recursive:!0}),tt(e.metaFile,`${JSON.stringify(t,null,1)}
102
- `)}function Yl(e,t){return e.disabled?[]:[...Jl(e).sessions[t]??[]].sort((n,r)=>n.at-r.at)}async function MS(e,t,n){if(e.disabled)return null;let r;try{await fn(e,["add","-A","--ignore-errors","--"]),r=await fn(e,["write-tree"])}catch{return null}let s=Yl(e,t).find(P=>P.tree===r),i=Date.now(),c=`${i.toString(36)}-${ES("sha1").update(`${r}:${i}`).digest("hex").slice(0,6)}`,p=s?.commit;if(!p){let P=["howtofix checkpoint",`session ${t}`,`created ${new Date(i).toISOString()}`,`prompt ${n.slice(0,200)}`].join(`
103
- `);p=await fn(e,["commit-tree",r,"-m",P]),await fn(e,["update-ref",`${Vl}/${c}`,p])}let d={id:c,tree:r,commit:p,prompt:n,at:i},b=Jl(e),I=[...b.sessions[t]??[],d];for(let P of I.slice(0,Math.max(0,I.length-vS)))try{await fn(e,["update-ref","-d",`${Vl}/${P.id}`])}catch{}return b.sessions[t]=I.slice(-vS),AS(e,b),d}async function OS(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 fn(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 fn(e,["clean","-fd"]);for(let o of r.split(`
104
- `)){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 CS(e,t){if(e.disabled)return[];try{await fn(e,["add","-A","--ignore-errors","--"]);let n=await fn(e,["write-tree"]);return n===t.tree?[]:(await fn(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,n])).split(`
105
- `).filter(Boolean).map(o=>{let[s,...i]=o.split(" ");return`${s?.[0]??"?"} ${i.at(-1)??""}`})}catch{return[]}}async function LS(e,t){if(e.disabled)return;let n=Jl(e);for(let r of n.sessions[t]??[])try{await fn(e,["update-ref","-d",`${Vl}/${r.id}`])}catch{}delete n.sessions[t],AS(e,n)}var ID,Vl,vS,kD,FS=u(()=>{xn();Hn();ID=Dn(_e,"rewind"),Vl="refs/howtofix",vS=100;kD=xD(gD)});function ed(e=90){let t=Math.floor(Date.now()/e)%Xl.length;return Xl[t]??Xl[0]}function Br(e,t){let n=e.replace(/\s+/g," ").trim();return n.length>t?`${n.slice(0,Math.max(1,t-1))}\u2026`:n}function Me(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 ED(e,t=160){if(!e||typeof e!="object")return"";try{let n=JSON.stringify(e);return n&&n!=="{}"?Br(n,t):""}catch{return""}}function SD(e,t){switch(e){case"read":{let n=Me(t,"path")??"",r=[Me(t,"offset"),Me(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 Me(t,"path")??"";case"bash":case"powershell":return Me(t,"command")??"";case"grep":{let n=Me(t,"pattern")??"",r=Me(t,"path");return r?`${n} in ${r}`:n}case"find":case"glob":{let n=Me(t,"pattern")??Me(t,"glob")??"",r=Me(t,"path");return r?`${n} in ${r}`:n}case"ls":return Me(t,"path")??".";case"task":return Me(t,"agent")??"task";case"ask":return Me(t,"question")??"";case"web_search":return Me(t,"query")??"";case"web_fetch":return Me(t,"url")??"";case"lsp":{let n=Me(t,"action")??"lsp",r=Me(t,"file")??"",o=Me(t,"line");return o?`${n} ${r}:${o}`:`${n} ${r}`}case"think":return"private";case"todo":{let n=Me(t,"op")??"view",r=Me(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=Me(t,"op")??"list",r=Me(t,"key");return r?`${n} ${r}`:n}case"workflow":{let n=Me(t,"path");if(n)return n;let r=Me(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(`
106
- `)[0]??"";return s.length>40?`${s.slice(0,40)}\u2026`:s}default:return ED(t)}}function jo(e,t,n=100){let r=e.charAt(0).toUpperCase()+e.slice(1),o=Br(SD(e,t),n);return o?`${jS} ${r}(${o})`:`${jS} ${r}`}function PD(e){let t=0,n=0;for(let r of e.split(`
107
- `))r.startsWith("+")&&!r.startsWith("+++")?t+=1:r.startsWith("-")&&!r.startsWith("---")&&(n+=1);return{additions:t,removals:n}}function td(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 ti(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function nd(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function DS(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function _S(e){return e.trim().split(`
108
- `).find(t=>t.trim())??""}function RD(e,t){let n=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),r=ei(n);return r>0?` (${r} line${r===1?"":"s"})`:""}function ei(e){let t=e.trim();return t?t.split(`
109
- `).length:0}function xm(e,t,n){let r=td(t),o=ti(t),s=nd(t);if(n){let i=DS(s);if(i!==void 0&&(e==="bash"||e==="powershell"))return`exit ${i}`;let c=r.trim().split(`
110
- `).find(p=>p.trim());return Br(c??"failed",120)}switch(e){case"read":{let i=o.truncation,c=ei(r.replace(/\n*\[[^\]]*\]\s*$/,"")),p=c===0?"empty":`${c} line${c===1?"":"s"}`;return i?.truncated?`${p} (truncated from ${i.totalLines??"?"})`:p}case"edit":{let i=typeof o.diff=="string"?o.diff:"";if(!i)return"applied";let{additions:c,removals:p}=PD(i);return`+${c} / -${p}`}case"write":{let i=ei(r);return i>0?`written (${i} lines)`:"written"}case"bash":case"powershell":{let i=DS(s);if(i===void 0)return r.trim()?Br(_S(r),120):"done";let c=RD(s,r);return i===0?`exit 0${c}`:`exit ${i}`}case"grep":{let i=ei(r);return i===0?"no matches":`${i} match${i===1?"":"es"}`}case"web_search":{let i=typeof o.count=="number"?o.count:ei(r);return i===0?"no results":`${i} result${i===1?"":"s"}`}case"web_fetch":return`${typeof o.chars=="number"?o.chars:r.length} chars`;case"lsp":{let i=typeof o.count=="number"?o.count:void 0;return typeof o.error=="string"?Br(o.error,120):i===void 0?Br(_S(r),120):`${i} location${i===1?"":"s"}`}case"todo":{let i=o.todos??[];if(!Array.isArray(i)||i.length===0)return"list cleared";let c=i.filter(d=>d.status==="completed").length,p=i.filter(d=>d.status==="pending"||d.status==="in_progress").length;return`${c}/${i.length} done, ${p} open`}case"context":{let i=o.notes,c=i?Object.keys(i).length:0;return c===0?"no notes":`${c} note${c===1?"":"s"} held`}case"workflow":{let i=typeof o.agents=="number"?o.agents:0,c=typeof o.outputTokens=="number"?o.outputTokens:0,p=Array.isArray(o.steps)?o.steps.filter(b=>b.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${i} agent(s)`;let d=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${fr(o.endedAt-o.startedAt)}`:"";return`${i} agent(s), ${c} tokens${d}${p>0?`, ${p} failed`:""}`}default:{let i=r.trim().split(`
111
- `).find(c=>c.trim());return i?Br(i,120):"done"}}}function NS(e,t){let n=ti(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
112
- `).filter(r=>r.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let r=nd(t);return(typeof r.output=="string"?r.output:td(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
113
- `).filter(i=>i.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 i=s.status==="running"?"\u25B8":s.status==="failed"?"\xD7":"\u2713",c=s.phase?`${s.phase} \xB7 `:"";return`${i} ${c}${s.label??"agent"}`}).slice(-6):[]}function qS(e,t){let n=ti(t);if(e==="edit"&&typeof n.diff=="string")return n.diff.split(`
114
- `).filter(c=>c.length>0).slice(0,hm);let r=nd(t),s=(typeof r.output=="string"?r.output:td(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
115
- `),i=s.slice(0,hm);return s.length>hm&&i.push(`\u2026 ${s.length-hm} more line(s)`),i}var jS,Zl,Ql,Xl,hm,rd=u(()=>{Zs();jS="\u25CF",Zl="\u2514",Ql="\u22EF",Xl=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];hm=400});import{Markdown as AD,wrapTextWithAnsi as MD}from"@earendil-works/pi-tui";function US(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 OD(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function bm(e){let t=[];for(let n of e)if(n.role==="user"){let r=US(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=US(n.content).trim(),o=OD(n);r?t.push({id:`a-${n.timestamp}`,kind:n.stopReason==="error"?"error":"assistant",title:n.errorMessage?"failed":"fix",body:n.errorMessage?`${n.errorMessage}
116
-
117
- ${r}`:r}):n.errorMessage&&t.push({id:`e-${n.timestamp}`,kind:"error",title:"failed",body:n.errorMessage}),o.forEach((s,i)=>{t.push({id:`c-${n.timestamp}-${i}`,kind:"tool",title:"tool",body:jo(s.name,s.arguments)})})}else n.role==="toolResult"&&t.push({id:`r-${n.toolCallId}`,kind:"result",title:n.toolName,body:xm(n.toolName,{content:n.content},n.isError)});return t}function KS(e,t,n){return MD(e,Math.max(8,t)).map(r=>re(r,n))}function CD(e){let t=e.body||" ",n=ni.get(e.id);if(n)return n.text!==t&&(n.component.setText(t),n.text=t),n.component;let r=new AD(t,0,0,zE);return ni.set(e.id,{text:t,component:r}),r}var ni,od,ym,GS=u(()=>{zl();Js();rd();ni=new Map;od=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let n=Date.now()-(this.item.born??0);return Qs(_.dim,t,IS(n,Wl))}render(t){let n=this.item.body;if(this.item.kind==="user")return["",...KS(`> ${n}`,t,this.shade(_.user))];if(this.item.kind==="tool")return[re(n,this.shade(_.tool))];if(this.item.kind==="result"){let o=n.startsWith("exit ")&&n!=="exit 0";if(this.item.panel)return["",...this.item.panel(t),...n?[re(` ${Zl} ${n}`,o?_.bad:_.mute)]:[]];let s=[];this.item.call&&s.push(re(this.item.call,this.shade(_.tool)));let i=` ${Zl} ${n}`;if(s.push(re(i,o?_.bad:this.shade(_.mute))),this.item.expanded===!0&&(this.item.full?.length??0)>0){let b=re(` ${this.item.full.length} line(s) \xB7 ctrl+e to collapse`,_.dim);s.push(re(` ${Ql}`,_.dim));for(let I of this.item.full){let P=I.startsWith("+")?_.tool:I.startsWith("-")?_.bad:_.dim;s.push(re(` ${I}`,P))}return s.push(b),s}let p=this.item.detail??[],d=Bl(Date.now()-(this.item.born??0),p.length);for(let b of p.slice(0,d)){let I=b.startsWith("+")?_.tool:b.startsWith("-")?_.bad:_.dim;s.push(re(` ${b}`,this.shade(I)))}return(this.item.full?.length??0)>0&&s.push(re(` ${Ql} ${this.item.full.length} line(s) \xB7 ctrl+e to expand`,_.dim)),s}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?_.bad:_.mute;return["",...KS(n,t,this.shade(o))]}return["",...CD(this.item).render(Math.max(8,t-2))]}},ym=class{items=[];status="";scrollOffset=0;scrollAnchor;settledOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(n=>{if(n.born===void 0)return!1;let r=t-n.born;return $S(r,Wl)?!0:(n.detail?.length??0)>Bl(r,n.detail?.length??0)})}render(t){if(ni.size>this.items.length){let o=new Set(this.items.map(s=>s.id));for(let s of ni.keys())o.has(s)||ni.delete(s)}let n=[];for(let o of this.items)o.born??=Date.now(),n.push(...new od(o).render(t));this.status&&n.push(re(this.status,_.mute));let r=this.viewportHeight;if(r>0&&n.length>r){let o=n.length-r;this.scrollOffset!==this.settledOffset&&(this.scrollAnchor=void 0);let s=this.scrollAnchor,i;if(s!==void 0){let c=n.length-s;c>=0&&c<=o?i=c:i=Math.max(0,Math.min(this.scrollOffset,o))}else i=Math.max(0,Math.min(this.scrollOffset,o));return s===void 0&&(this.scrollOffset=i),this.settledOffset=this.scrollOffset,i===0?this.scrollAnchor=void 0:this.scrollAnchor===void 0&&(this.scrollAnchor=n.length-i),n.slice(o-i,o-i+r)}return n}}});function ft(e,t){return`${t}${e}${BS}`}function FD(e){return e>=85?LD:e>=70?HS:zS}function VS(e,t,n,r){let o=ft(`[${e}]`,sd),s=ft(`${jD} ${t}`,_n),i=ft(n,HS),c=r?` ${ft("git:(",WS)}${ft(r.replace(/^git:\(/,"").replace(/\)$/,""),sd)}${ft(")",WS)}`:"";return`${o}${ft(" \u2502 ",_n)}${s}${ft(" \u2502 ",_n)}${i}${c}`}function JS(e,t,n){if(!t)return e;let r=n===void 0?t:`${t} ${ft(JE(n),_n)}`;return`${ft(r,sd)} ${ft("\u2502",_n)} ${e}`}function YS(e,t){let n=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,r=Math.round(n/10),o=FD(n),s=`${o}${"\u2588".repeat(r)}${_n}${"\u2591".repeat(10-r)}${BS}`,i=ft(`${Math.round(n)}%`,o),c=t?`${ft(" \u2502 ",_n)}${t}`:"";return`${ft("Context",_n)} ${s} ${i}${c}`}function XS(e,t,n){let r=n===null?"":ft(` ${n}ms`,_n);return`${ft("Cubence",_n)} ${ft(t?`${t} ${e}`:e,zS)}${r}`}var BS,_n,LD,zS,HS,WS,sd,jD,id=u(()=>{Zs();BS="\x1B[0m",_n="\x1B[2m",LD="\x1B[31m",zS="\x1B[32m",HS="\x1B[33m",WS="\x1B[35m",sd="\x1B[36m";jD="\u2726"});import{mkdirSync as DD,readFileSync as QS}from"node:fs";import{homedir as _D}from"node:os";import{dirname as ND,join as qD}from"node:path";function ZS(e){return e/1e6}function KD(){try{let e=JSON.parse(QS(qD(_D(),".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 GD(){try{let e=JSON.parse(QS(ad,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function ri(e){let t=`$${e.balanceDollar.toFixed(2)}`,n=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return XS(t,n,e.latencyMs)}async function eP(){let e=GD();if(e&&Date.now()-e.cachedAt<UD)return ri(e.data);let t=KD();if(!t)return e?ri(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?ri(e.data):void 0;let o=await r.json(),s=o.subscription_window?.five_hour?.limit??0,i={balanceDollar:o.normal_balance?.amount_dollar??0,hasSubscription:s>0,fiveHourUsedDollar:ZS(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:ZS(s),latencyMs:Date.now()-n};return DD(ND(ad),{recursive:!0}),tt(ad,JSON.stringify({data:i,cachedAt:Date.now()})),ri(i)}catch{return e?ri(e.data):void 0}}var ad,UD,tP=u(()=>{xn();id();Hn();ad=Um,UD=18e4});import{createHash as rP,randomBytes as oP}from"node:crypto";import{createServer as WD}from"node:http";import{arch as BD,cpus as nP,hostname as zD,platform as HD,userInfo as VD}from"node:os";function cd(e){return e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function XD(){return cd(oP(32))}function ZD(e){return cd(rP("sha256").update(e).digest())}function QD(){return cd(oP(16))}function r_(e){let t=e??[zD(),HD(),BD(),VD().username,String(nP().length),nP()[0]?.model??""];return e_+rP("sha256").update(t.join("\0")).digest("hex").slice(0,32)}function o_(){return{"content-type":"application/json",[t_]:n_}}async function oi(e,t,n,r){let o=await e(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(n),signal:r}),s={};try{s=await o.json()}catch{}return{status:o.status,body:s}}function ud(...e){for(let t of e)if(typeof t=="string"&&t.trim()!=="")return t.trim()}function i_(e){try{let t=new URL(e).searchParams.get("code");return t&&t.trim()!==""?t.trim():void 0}catch{return}}async function a_(e,t,n){let r=await e(t,{headers:o_(),signal:n}),o={};try{o=await r.json()}catch{}return{status:r.status,body:o}}function pd(e){let t=e.data,n=[e.token,e.api_key,e.apiKey,e.key,t?.token,t?.api_key,t?.apiKey,t?.key];for(let r of n)if(typeof r=="string"&&r.trim().startsWith("sk-"))return r.trim()}function Do(e,t){let n=e.message??e.error;return typeof n=="string"&&n.trim()?n.trim():t}async function aP(e){let t=e.fetchImpl??fetch,n=(e.panelUrl??JD).replace(/\/+$/,""),r=e.timeoutMs??YD,o={...e,panel:n,fetchImpl:t,timeoutMs:r},s=await m_(o);if(s.ok||s.terminal)return s.result;let i=await u_(o);if(i.ok||i.terminal)return i.result;let c=await c_(o);return c.ok?c:{ok:!1,message:`${s.result.ok?"":s.result.message}; ${i.result.ok?"":i.result.message}; ${c.message}. howtofix.id does not offer a browser login a local client can complete yet \u2014 run /connect and paste a token from ${n}/keys instead.`}}async function u_(e){let t=XD(),n=QD(),r;try{r=await(e.loopback??s_)();let o=`http://127.0.0.1:${r.port}${iP}`,s=await oi(e.fetchImpl,`${e.panel}/api/oauth/device/start`,{redirect_uri:o,code_challenge:ZD(t),code_challenge_method:"S256",state:n},e.signal);if(s.status===404)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel has no loopback login endpoint"}};if(s.status>=400)return{ok:!1,terminal:!1,result:{ok:!1,message:Do(s.body,`the panel refused the login (${s.status})`)}};let i=typeof s.body.authorize_url=="string"?s.body.authorize_url:"";if(!i)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel did not say where to send the browser"}};e.onProgress({kind:"browser",url:i});let c=await p_(r.waitForCode(n,e.signal),e.timeoutMs),p=await oi(e.fetchImpl,`${e.panel}/api/oauth/device/token`,{flow_token:s.body.flow_token,code:c,code_verifier:t},e.signal);if(p.status>=400)return{ok:!1,terminal:!0,result:{ok:!1,message:Do(p.body,`the panel refused the exchange (${p.status})`)}};let d=pd(p.body);return d?{ok:!0,result:{ok:!0,token:d}}:{ok:!1,terminal:!0,result:{ok:!1,message:"the panel did not return an API key"}}}catch(o){let s=o instanceof Error?o.message:String(o);return{ok:!1,terminal:s==="cancelled",result:{ok:!1,message:s}}}finally{r?.close()}}async function m_(e){let t=e.pollIntervalMs??sP,n=e.fingerprintId??r_();try{let r=await oi(e.fetchImpl,`${e.panel}/api/auth/cli/code`,{fingerprintId:n},e.signal);if(r.status===404)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel has no CLI login endpoint"}};if(r.status>=400)return{ok:!1,terminal:!1,result:{ok:!1,message:Do(r.body,`the panel refused the login (${r.status})`)}};let o=r.body.data??{},s=ud(r.body.login_url,o.login_url),i=ud(r.body.code,o.code)??(s?i_(s):void 0);if(!s||!i)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel did not return a login URL"}};e.onProgress({kind:"browser",url:s});let c=Date.now()+e.timeoutMs;for(;Date.now()<c;){await md(t,e.signal);let p=new URLSearchParams({code:i}),d=await a_(e.fetchImpl,`${e.panel}/api/auth/cli/status?${p}`,e.signal);if(d.status===404)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel has no CLI login status endpoint"}};let b=pd(d.body);if(b)return{ok:!0,result:{ok:!0,token:b}};if(ud(d.body.data?.status,d.body.status)==="expired")return{ok:!1,terminal:!0,result:{ok:!1,message:"the sign-in link expired before it was approved"}};if(d.status>=400)return{ok:!1,terminal:!0,result:{ok:!1,message:Do(d.body,`the panel refused the poll (${d.status})`)}}}return{ok:!1,terminal:!0,result:{ok:!1,message:"the sign-in was not approved in time"}}}catch(r){let o=r instanceof Error?r.message:String(r);return{ok:!1,terminal:o==="cancelled",result:{ok:!1,message:o}}}}async function c_(e){let t=e.pollIntervalMs??sP;try{let n=await oi(e.fetchImpl,`${e.panel}/api/oauth/device`,{},e.signal);if(n.status===404)return{ok:!1,message:"the panel has no device-code endpoint"};if(n.status>=400)return{ok:!1,message:Do(n.body,`the panel refused the request (${n.status})`)};let r=typeof n.body.device_code=="string"?n.body.device_code:"",o=typeof n.body.user_code=="string"?n.body.user_code:"",s=typeof n.body.verification_uri=="string"?n.body.verification_uri:`${e.panel}/oauth/device`;if(!r||!o)return{ok:!1,message:"the panel did not return a code to show"};e.onProgress({kind:"code",code:o,url:s});let i=Date.now()+e.timeoutMs;for(;Date.now()<i;){await md(t,e.signal);let c=await oi(e.fetchImpl,`${e.panel}/api/oauth/device/poll`,{device_code:r},e.signal);if(c.status===404)return{ok:!1,message:"the panel has no device-code poll endpoint"};let p=typeof c.body.status=="string"?c.body.status:"";if(p==="pending")continue;if(p==="slow_down"){await md(t,e.signal);continue}if(p==="denied")return{ok:!1,message:"the sign-in was refused in the browser"};if(p==="expired")return{ok:!1,message:"the code expired; run /connect again"};let d=pd(c.body);if(d)return{ok:!0,token:d};if(c.status>=400)return{ok:!1,message:Do(c.body,`the panel refused the poll (${c.status})`)}}return{ok:!1,message:"the code was not approved in time"}}catch(n){return{ok:!1,message:n instanceof Error?n.message:String(n)}}}function p_(e,t){return new Promise((n,r)=>{let o=setTimeout(()=>r(new Error("the sign-in was not finished in time")),t);e.then(s=>{clearTimeout(o),n(s)},s=>{clearTimeout(o),r(s)})})}function md(e,t){return new Promise((n,r)=>{let o=setTimeout(n,e);t?.addEventListener("abort",()=>{clearTimeout(o),r(new Error("cancelled"))},{once:!0})})}var JD,YD,sP,iP,e_,t_,n_,s_,uP=u(()=>{JD="https://howtofix.id",YD=300*1e3,sP=3e3,iP="/callback";e_="howtofix-cli-",t_="x-howtofix-client",n_="cli";s_=()=>new Promise((e,t)=>{let n=WD();n.once("error",t),n.listen(0,"127.0.0.1",()=>{let{port:r}=n.address();e({port:r,close:()=>n.close(),waitForCode:(o,s)=>new Promise((i,c)=>{let p=(I,P)=>{let A=new URL(I.url??"/","http://127.0.0.1");if(A.pathname!==iP){P.writeHead(404).end("not found");return}let C=(ee,ye)=>P.writeHead(200,{"content-type":"text/html; charset=utf-8"}).end(`<!doctype html><meta charset="utf-8"><h2>${ee}</h2><p>${ye}</p>`),U=A.searchParams.get("error")??"",z=A.searchParams.get("code")??"",G=A.searchParams.get("state")??"";if(U){C("Sign-in was refused","You can close this tab."),d(new Error(`the browser reported: ${U}`));return}if(!z||G!==o){C("This callback did not belong to the login","You can close this tab."),d(new Error("the callback carried the wrong state"));return}C("Signed in","You can close this tab and go back to HowToFix."),d(void 0,z)},d=(I,P)=>{n.off("request",p),s?.removeEventListener("abort",b),I?c(I):i(P)},b=()=>d(new Error("cancelled"));s?.addEventListener("abort",b,{once:!0}),n.on("request",p)})})})})});function mP(){return{}}function cP(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 l_(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 pP(e,t,n=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${l_(n-e.run.since)}`:e.tally?e.tally:""}var lP=u(()=>{});import{spawn as d_}from"node:child_process";function f_(e){switch(e){case"darwin":return{command:"open",args:[]};case"win32":return{command:"cmd",args:["/c","start",""]};case"linux":return{command:"xdg-open",args:[]};default:return}}async function wm(e,t=process.platform){let n=f_(t);return n?new Promise(r=>{try{let o=d_(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 dP=u(()=>{});function g_(e){return[qm,hr(e)]}function fP(e,t){let n=e.trim(),r=/^\/skill:([^\s]+)(?:\s+([\s\S]*))?$/.exec(n)??/^\/skill\s+([^\s]+)(?:\s+([\s\S]*))?$/.exec(n);if(!r)return;let o=r[1]??"";if(!t.includes(o))return;let s=(r[2]??"").trim();return s?`/skill:${o} ${s}`:`/skill:${o}`}function gP(e){if(e.length===0){let[t,n]=g_(process.cwd());return["no skills loaded.",`put a SKILL.md in ${t}`,`or in ${n}`,"invoke with /skill:<name>"].join(`
118
- `)}return e.map(t=>{let n=t.disableModelInvocation?" (invoke only)":"";return`${t.name}${n}
110
+ `)}],details:{agents:a.map(p=>({id:p.id,status:p.status}))}}}})});function NN(){return e=>{e.on("session_start",()=>{let t=new Set(e.getActiveTools());for(let r of iV)e.getAllTools().some(n=>n.name===r)&&t.add(r);e.setActiveTools([...t])})}}var iV,DN=u(()=>{iV=["grep","find","ls"]});var jN={};Rt(jN,{BUILD_ENTRY:()=>rl,openSession:()=>dV});import{join as sV}from"node:path";import{createAgentSession as aV,createCodemodeExtension as uV,createMcpExtension as mV,DefaultResourceLoader as cV,SessionManager as tl,SettingsManager as pV}from"@earendil-works/pi-coding-agent";function lV(e,t){let r=e.find(o=>`${o.provider}/${o.id}`===t||o.id===t);if(r)return r;let n=t.toLowerCase();return e.find(o=>o.id.toLowerCase().includes(n)||`${o.provider}/${o.id}`.toLowerCase().includes(n))}async function dV(e){let t=pV.create(e.cwd,ut,{projectTrusted:!0}),r=e.sessionPath?tl.open(e.sessionPath):e.noSession?tl.inMemory(e.cwd):e.continueSession?tl.continueRecent(e.cwd):tl.create(e.cwd),n=(()=>{try{let g=r.getEntries().find(x=>x.type==="custom"&&x.customType===rl)?.data?.version;return!g||g===vr?void 0:`this session was written by HowToFix ${g}; you are running ${vr}`}catch{return}})(),o=new cV({cwd:e.cwd,agentDir:ut,settingsManager:t,appendSystemPrompt:qb(Zy),additionalSkillPaths:[Ho(e.cwd)],extensionFactories:[FU(),ea(),Kb(),nU(),Bf(),qU(),_U(),NU(),uV(),mV(),NN()]});await o.reload();let i=await aV({cwd:e.cwd,agentDir:ut,settingsManager:t,sessionManager:r,resourceLoader:o,excludeTools:fV().exclude,customTools:[LN,aU,uU,vf,Ff,bU,LU,UU,_N(),Wf,zf,Vf],thinkingLevel:e.thinking}),a=i.session.model;if(e.model){let f=await i.session.modelRuntime.getAvailable(),g=lV(f,e.model);if(!g)throw i.session.dispose(),new Error(`unknown model '${e.model}'`);(a?.id!==g.id||a.provider!==g.provider)&&(await i.session.setModel(g),a=i.session.model)}if(!e.noSession&&r.getEntries().every(f=>f.type!=="custom"||f.customType!==rl))try{r.appendCustomEntry(rl,{version:vr})}catch{}let c=a?`${a.provider}/${a.id}`:"no model",p=[Qy(i.modelFallbackMessage)].filter(f=>!!f);return a||p.push(`no model configured. run \`howtofix\` and use /login, or edit ${sV(ut,"models.json")}`),{session:i.session,dispose:()=>{BI(),i.session.dispose()},modelLabel:c,note:[n,...p].filter(Boolean).join(`
111
+ `)||void 0}}var rl,fV,qN=u(()=>{Js();Gb();Bb();oU();on();ta();PI();OI();_f();jf();LI();DU();GU();NI();iy();UN();DN();GI();WI();HI();rl="howtofix.build",fV=()=>({exclude:process.platform==="win32"?[]:["powershell"]})});import{spawn as gV}from"node:child_process";function hV(e,t,r=2e3){return new Promise(n=>{let o=!1,i=f=>{o||(o=!0,clearTimeout(c),n(f))},a;try{a=gV(e,[...t],{stdio:["ignore","pipe","ignore"]})}catch{i({ok:!1,stdout:""});return}let c=setTimeout(()=>{a.kill("SIGKILL"),i({ok:!1,stdout:""})},r),p=[];a.stdout?.on("data",f=>p.push(f)),a.on("error",()=>i({ok:!1,stdout:""})),a.on("close",f=>{i({ok:f===0,stdout:Buffer.concat(p).toString("utf8")})})})}function sy(){return process.env.XDG_SESSION_TYPE==="wayland"||(process.env.WAYLAND_DISPLAY?.length??0)>0}async function xV(){let e=[];process.platform==="darwin"?e.push({command:"pbpaste",args:[]}):process.platform==="win32"?e.push({command:"powershell.exe",args:["-NoProfile","-Command","Get-Clipboard -Raw"]}):(sy()&&(e.push({command:"wl-paste",args:["--no-newline","--type","text/plain;charset=utf-8"]}),e.push({command:"wl-paste",args:["--no-newline","--type","text/plain"]}),e.push({command:"wl-paste",args:["--no-newline"]})),((process.env.DISPLAY?.length??0)>0||!sy())&&(e.push({command:"xclip",args:["-selection","clipboard","-o"]}),e.push({command:"xsel",args:["--clipboard","--output"]})),e.push({command:"termux-clipboard-get",args:[]}));for(let t of e){let r=await hV(t.command,t.args);if(r.ok&&r.stdout.length>0)return r.stdout}}async function GN(){let e;try{let{getNativeClipboard:n}=await import("@earendil-works/pi-tui");e=n()}catch{e=void 0}if(e)try{let n=await e.getText();if(typeof n=="string"&&n.length>0)return{ok:!0,text:n}}catch{}let t=await xV();return t!==void 0?{ok:!0,text:t}:{ok:!1,reason:`no clipboard tool could read it \u2014 ${sy()?"install wl-clipboard (wl-paste)":process.platform==="darwin"?"pbpaste should be present on macOS":"install xclip or xsel, or run under a display"}`}}function KN(){return process.platform!=="win32"}var BN=u(()=>{});import{mixColors as IV,styleText as HN}from"@earendil-works/pi-tui";function Pu(e,t,r){let n=YN(r);return n>=1?t:n<=0?e:IV(e,t,n)}function uy(e,t,r,n){return!vi||e<=ay?t:e>=VN?n:Pu(r,n,(e-ay)/(VN-ay))}function XN(e,t){return!vi||t<=0||e<0?1:1-(1-YN(e/t))**3}function ZN(e,t){return vi&&e>=0&&e<t}function cy(e,t,r=bV,n=400){return!vi||r<=0||e<0||e>=n?t:Math.min(t,Math.floor(e/r)+1)}function QN(e,t,r=Date.now(),n=1400){if(!vi||n<=0)return e;let o=r%n/n;return Pu(e,t,o<.5?o*2:(1-o)*2)}function wV(e,t){let r=Math.abs(e-t);return r>=WN?0:Math.ceil((1-r/WN)*JN)/JN}function eD(e,t,r=Date.now()){let n=t.charMs??yV;if(!vi||e.length===0||n<=0)return HN(e,{fg:t.base},Zf);let o=e.length+zN*2,i=r/n%o-zN,a=(w,$)=>HN(w,{fg:Pu(t.base,t.bright,$)},Zf),c="",p=0,f=null,g=0,x=0;for(let w of e){let $=wV(x,i);f===null?f=$:$!==f&&(c+=a(e.slice(p,g),f),p=g,f=$),g+=w.length,x+=1}return c+a(e.slice(p),f??0)}var vi,yV,WN,zN,ay,VN,JN,YN,nl,my,bV,py=u(()=>{Su();vi=process.env.HOWTOFIX_NO_MOTION!=="1",yV=45,WN=5,zN=8,ay=1e4,VN=6e4,JN=3,YN=e=>e<0?0:e>1?1:e;nl=class{value;velocity=0;last=Date.now();target;constructor(t,r=t){this.value=t,this.target=r}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 r=Math.max(0,t-this.last),n=Math.min(250,r)/1e3;if(this.last=t,!vi)return this.value=this.target,this.velocity=0,this.value;r>250&&(this.velocity=0);let o=150,i=2*Math.sqrt(o),a=Math.max(1,Math.ceil(n/.008)),c=n/a;for(let p=0;p<a;p+=1)this.velocity+=(this.target-this.value)*o*c-this.velocity*i*c,this.value+=this.velocity*c;return this.moving||(this.value=this.target,this.velocity=0),this.value}};my=260,bV=45});import{execFile as kV,execFileSync as EV}from"node:child_process";import{promisify as $V}from"node:util";import{createHash as rD}from"node:crypto";import{copyFileSync as SV,existsSync as fy,mkdirSync as ol,readFileSync as TV,statSync as RV}from"node:fs";import{dirname as nD,join as zn,resolve as oD}from"node:path";function PV(e){let t=oD(e);for(;;){if(fy(zn(t,".git")))return!0;let r=nD(t);if(r===t)return!1;t=r}}async function wn(e,t){let r={...process.env};for(let o of["GIT_DIR","GIT_WORK_TREE","GIT_INDEX_FILE","GIT_OBJECT_DIRECTORY","GIT_ALTERNATE_OBJECT_DIRECTORIES","GIT_NAMESPACE","GIT_COMMON_DIR"])delete r[o];r.GIT_DIR=e.gitDir,r.GIT_WORK_TREE=e.root,r.GIT_AUTHOR_NAME=r.GIT_COMMITTER_NAME="howtofix",r.GIT_AUTHOR_EMAIL=r.GIT_COMMITTER_EMAIL="howtofix@local";let{stdout:n}=await CV("git",t,{cwd:e.root,env:r,encoding:"utf8",maxBuffer:8*1024*1024});return n.trim()}function OV(e){return rD("sha1").update(e).digest("hex").slice(0,16)}function iD(e){let t=oD(e).replace(/\/+$/,"")||"/",r=zn(AV,OV(t)),n=zn(r,"git"),o={root:t,gitDir:n,metaFile:zn(r,"checkpoints.json"),disabled:!1};return!fy(zn(n,"HEAD"))&&!PV(t)?(o.disabled=!0,o):(ol(r,{recursive:!0}),fy(zn(n,"HEAD"))||(ol(n,{recursive:!0}),EV("git",["init","--quiet","--initial-branch=howtofix"],{env:{...process.env,GIT_DIR:n},stdio:["ignore","ignore","pipe"]})),MV(t,n),o)}function MV(e,t){let r=zn(e,".git","info","exclude");try{if(!RV(r).isFile())return;ol(zn(t,"info"),{recursive:!0}),SV(r,zn(t,"info","exclude"))}catch{}}function dy(e){try{let t=JSON.parse(TV(e.metaFile,"utf8"));if(t?.version===1&&t.sessions)return t}catch{}return{version:1,sessions:{}}}function sD(e,t){ol(nD(e.metaFile),{recursive:!0}),qt(e.metaFile,`${JSON.stringify(t,null,1)}
112
+ `)}function gy(e,t){return e.disabled?[]:[...dy(e).sessions[t]??[]].sort((r,n)=>r.at-n.at)}async function aD(e,t,r){if(e.disabled)return null;let n;try{await wn(e,["add","-A","--ignore-errors","--"]),n=await wn(e,["write-tree"])}catch{return null}let i=gy(e,t).find(w=>w.tree===n),a=Date.now(),c=`${a.toString(36)}-${rD("sha1").update(`${n}:${a}`).digest("hex").slice(0,6)}`,p=i?.commit;if(!p){let w=["howtofix checkpoint",`session ${t}`,`created ${new Date(a).toISOString()}`,`prompt ${r.slice(0,200)}`].join(`
113
+ `);p=await wn(e,["commit-tree",n,"-m",w]),await wn(e,["update-ref",`${ly}/${c}`,p])}let f={id:c,tree:n,commit:p,prompt:r,at:a},g=dy(e),x=[...g.sessions[t]??[],f];for(let w of x.slice(0,Math.max(0,x.length-tD)))try{await wn(e,["update-ref","-d",`${ly}/${w.id}`])}catch{}return g.sessions[t]=x.slice(-tD),sD(e,g),f}async function uD(e,t){let r=[];if(e.disabled)return{ok:!1,output:"checkpoints are off: this directory is not a git repository",removed:r};try{await wn(e,["read-tree","--reset","-u",t.tree])}catch(n){return{ok:!1,output:n instanceof Error?n.message:String(n),removed:r}}try{let n=await wn(e,["clean","-fd"]);for(let o of n.split(`
114
+ `)){let i=/^Removing\s+(.+)$/.exec(o.trim());i?.[1]&&r.push(i[1])}}catch{}return{ok:!0,output:`restored ${t.prompt||"the checkpoint"}`,removed:r}}async function mD(e,t){if(e.disabled)return[];try{await wn(e,["add","-A","--ignore-errors","--"]);let r=await wn(e,["write-tree"]);return r===t.tree?[]:(await wn(e,["diff-tree","-r","--name-status","--no-commit-id",t.tree,r])).split(`
115
+ `).filter(Boolean).map(o=>{let[i,...a]=o.split(" ");return`${i?.[0]??"?"} ${a.at(-1)??""}`})}catch{return[]}}async function cD(e,t){if(e.disabled)return;let r=dy(e);for(let n of r.sessions[t]??[])try{await wn(e,["update-ref","-d",`${ly}/${n.id}`])}catch{}delete r.sessions[t],sD(e,r)}var AV,ly,tD,CV,pD=u(()=>{on();po();AV=zn(ut,"rewind"),ly="refs/howtofix",tD=100;CV=$V(kV)});function yy(e=90){let t=Math.floor(Date.now()/e)%hy.length;return hy[t]??hy[0]}function Fi(e,t){let r=e.replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,Math.max(1,t-1))}\u2026`:r}function at(e,t){if(e&&typeof e=="object"){let r=e[t];if(typeof r=="string"&&r.length>0)return r;if(typeof r=="number")return String(r)}}function vV(e,t=160){if(!e||typeof e!="object")return"";try{let r=JSON.stringify(e);return r&&r!=="{}"?Fi(r,t):""}catch{return""}}function FV(e,t){switch(e){case"read":{let r=at(t,"path")??"",n=[at(t,"offset"),at(t,"limit")].filter(Boolean);return n.length>0?`${r} ${n.length===1?`offset=${n[0]}`:`offset=${n[0]}, limit=${n[1]}`}`:r}case"edit":case"write":return at(t,"path")??"";case"bash":case"powershell":return at(t,"command")??"";case"grep":{let r=at(t,"pattern")??"",n=at(t,"path");return n?`${r} in ${n}`:r}case"find":case"glob":{let r=at(t,"pattern")??at(t,"glob")??"",n=at(t,"path");return n?`${r} in ${n}`:r}case"ls":return at(t,"path")??".";case"task":return at(t,"agent")??"task";case"ask":return at(t,"question")??"";case"web_search":return at(t,"query")??"";case"web_fetch":return at(t,"url")??"";case"lsp":{let r=at(t,"action")??"lsp",n=at(t,"file")??"",o=at(t,"line");return o?`${r} ${n}:${o}`:`${r} ${n}`}case"think":return"private";case"todo":{let r=at(t,"op")??"view",n=at(t,"task"),o=t?.items;return r==="init"&&Array.isArray(o)?`init ${o.length} task${o.length===1?"":"s"}`:n?`${r} ${n}`:r}case"context":{let r=at(t,"op")??"list",n=at(t,"key");return n?`${r} ${n}`:r}case"workflow":{let r=at(t,"path");if(r)return r;let n=at(t,"code")??"",o=/export\s+const\s+meta\s*=\s*\{[\s\S]*?name\s*:\s*["'`]([^"'`]+)/.exec(n)?.[1];if(o)return o;let i=n.trim().split(`
116
+ `)[0]??"";return i.length>40?`${i.slice(0,40)}\u2026`:i}default:return vV(t)}}function Gs(e,t,r=100){let n=e.charAt(0).toUpperCase()+e.slice(1),o=Fi(FV(e,t),r);return o?`${fD} ${n}(${o})`:`${fD} ${n}`}function _V(e){let t=0,r=0;for(let n of e.split(`
117
+ `))n.startsWith("+")&&!n.startsWith("+++")?t+=1:n.startsWith("-")&&!n.startsWith("---")&&(r+=1);return{additions:t,removals:r}}function by(e){let t=e?.content;return typeof t=="string"?t:Array.isArray(t)?t.map(r=>r&&typeof r=="object"&&r.type==="text"?String(r.text??""):"").join(""):""}function Ou(e){let t=e?.details;return t&&typeof t=="object"?t:{}}function wy(e){let t=e?.structuredContent;return t&&typeof t=="object"?t:{}}function lD(e){let t=e.exit_code;return typeof t=="number"&&Number.isFinite(t)?t:void 0}function dD(e){return e.trim().split(`
118
+ `).find(t=>t.trim())??""}function LV(e,t){let r=typeof e.output=="string"?e.output:t.replace(/\n*Command exited with code \d+\s*$/,""),n=Cu(r);return n>0?` (${n} line${n===1?"":"s"})`:""}function Cu(e){let t=e.trim();return t?t.split(`
119
+ `).length:0}function sl(e,t,r){let n=by(t),o=Ou(t),i=wy(t);if(r){let a=lD(i);if(a!==void 0&&(e==="bash"||e==="powershell"))return`exit ${a}`;let c=n.trim().split(`
120
+ `).find(p=>p.trim());return Fi(c??"failed",120)}switch(e){case"read":{let a=o.truncation,c=Cu(n.replace(/\n*\[[^\]]*\]\s*$/,"")),p=c===0?"empty":`${c} line${c===1?"":"s"}`;return a?.truncated?`${p} (truncated from ${a.totalLines??"?"})`:p}case"edit":{let a=typeof o.diff=="string"?o.diff:"";if(!a)return"applied";let{additions:c,removals:p}=_V(a);return`+${c} / -${p}`}case"write":{let a=Cu(n);return a>0?`written (${a} lines)`:"written"}case"bash":case"powershell":{let a=lD(i);if(a===void 0)return n.trim()?Fi(dD(n),120):"done";let c=LV(i,n);return a===0?`exit 0${c}`:`exit ${a}`}case"grep":{let a=Cu(n);return a===0?"no matches":`${a} match${a===1?"":"es"}`}case"web_search":{let a=typeof o.count=="number"?o.count:Cu(n);return a===0?"no results":`${a} result${a===1?"":"s"}`}case"web_fetch":return`${typeof o.chars=="number"?o.chars:n.length} chars`;case"lsp":{let a=typeof o.count=="number"?o.count:void 0;return typeof o.error=="string"?Fi(o.error,120):a===void 0?Fi(dD(n),120):`${a} location${a===1?"":"s"}`}case"todo":{let a=o.todos??[];if(!Array.isArray(a)||a.length===0)return"list cleared";let c=a.filter(f=>f.status==="completed").length,p=a.filter(f=>f.status==="pending"||f.status==="in_progress").length;return`${c}/${a.length} done, ${p} open`}case"context":{let a=o.notes,c=a?Object.keys(a).length:0;return c===0?"no notes":`${c} note${c===1?"":"s"} held`}case"workflow":{let a=typeof o.agents=="number"?o.agents:0,c=typeof o.outputTokens=="number"?o.outputTokens:0,p=Array.isArray(o.steps)?o.steps.filter(g=>g.status==="failed").length:0;if(typeof o.error=="string")return`failed after ${a} agent(s)`;let f=typeof o.startedAt=="number"&&typeof o.endedAt=="number"?`, ${Ko(o.endedAt-o.startedAt)}`:"";return`${a} agent(s), ${c} tokens${f}${p>0?`, ${p} failed`:""}`}default:{let a=n.trim().split(`
121
+ `).find(c=>c.trim());return a?Fi(a,120):"done"}}}function gD(e,t){let r=Ou(t);if(e==="edit"&&typeof r.diff=="string")return r.diff.split(`
122
+ `).filter(n=>n.length>0).slice(0,12);if(e==="bash"||e==="powershell"){let n=wy(t);return(typeof n.output=="string"?n.output:by(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
123
+ `).filter(a=>a.trim()).slice(-4)}if(e==="todo"){let n=r.todos??[],o={pending:"[ ]",in_progress:"[>]",completed:"[x]",dropped:"[-]"};return n.slice(0,6).map(i=>`${o[i.status??"pending"]??"[ ]"} ${i.content??""}`)}return e==="workflow"?(r.steps??[]).map(i=>{let a=i.status==="running"?"\u25B8":i.status==="failed"?"\xD7":"\u2713",c=i.phase?`${i.phase} \xB7 `:"";return`${a} ${c}${i.label??"agent"}`}).slice(-6):[]}function hD(e,t){let r=Ou(t);if(e==="edit"&&typeof r.diff=="string")return r.diff.split(`
124
+ `).filter(c=>c.length>0).slice(0,il);let n=wy(t),i=(typeof n.output=="string"?n.output:by(t).replace(/\n*Command exited with code \d+\s*$/,"")).trimEnd().split(`
125
+ `),a=i.slice(0,il);return i.length>il&&a.push(`\u2026 ${i.length-il} more line(s)`),a}var fD,xy,Iy,hy,il,ky=u(()=>{Au();fD="\u25CF",xy="\u2514",Iy="\u22EF",hy=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];il=400});import{Markdown as UV,wrapTextWithAnsi as NV}from"@earendil-works/pi-tui";function xD(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 DV(e){return e.content.filter(t=>t.type==="toolCall").map(t=>({name:t.name,arguments:t.arguments}))}function ul(e){let t=[];for(let r of e)if(r.role==="user"){let n=xD(r.content).trim();if(!n)continue;t.push({id:`u-${r.timestamp}`,kind:"user",title:"you",body:n})}else if(r.role==="assistant"){let n=xD(r.content).trim(),o=DV(r);n?t.push({id:`a-${r.timestamp}`,kind:r.stopReason==="error"?"error":"assistant",title:r.errorMessage?"failed":"fix",body:r.errorMessage?`${r.errorMessage}
126
+
127
+ ${n}`:n}):r.errorMessage&&t.push({id:`e-${r.timestamp}`,kind:"error",title:"failed",body:r.errorMessage}),o.forEach((i,a)=>{t.push({id:`c-${r.timestamp}-${a}`,kind:"tool",title:"tool",body:Gs(i.name,i.arguments)})})}else r.role==="toolResult"&&t.push({id:`r-${r.toolCallId}`,kind:"result",title:r.toolName,body:sl(r.toolName,{content:r.content},r.isError)});return t}function ID(e,t,r){return NV(e,Math.max(8,t)).map(n=>ge(n,r))}function jV(e){let t=e.body||" ",r=Mu.get(e.id);if(r)return r.text!==t&&(r.component.setText(t),r.text=t),r.component;let n=new UV(t,0,0,kN);return Mu.set(e.id,{text:t,component:n}),n}var Mu,Ey,al,yD=u(()=>{py();Su();ky();Mu=new Map;Ey=class{constructor(t){this.item=t}item;invalidate(){}shade(t){let r=Date.now()-(this.item.born??0);return Pu(N.dim,t,XN(r,my))}render(t){let r=this.item.body;if(this.item.kind==="user")return["",...ID(`> ${r}`,t,this.shade(N.user))];if(this.item.kind==="tool")return[ge(r,this.shade(N.tool))];if(this.item.kind==="result"){let o=r.startsWith("exit ")&&r!=="exit 0";if(this.item.panel)return["",...this.item.panel(t),...r?[ge(` ${xy} ${r}`,o?N.bad:N.mute)]:[]];let i=[];this.item.call&&i.push(ge(this.item.call,this.shade(N.tool)));let a=` ${xy} ${r}`;if(i.push(ge(a,o?N.bad:this.shade(N.mute))),this.item.expanded===!0&&(this.item.full?.length??0)>0){let g=ge(` ${this.item.full.length} line(s) \xB7 ctrl+e to collapse`,N.dim);i.push(ge(` ${Iy}`,N.dim));for(let x of this.item.full){let w=x.startsWith("+")?N.tool:x.startsWith("-")?N.bad:N.dim;i.push(ge(` ${x}`,w))}return i.push(g),i}let p=this.item.detail??[],f=cy(Date.now()-(this.item.born??0),p.length);for(let g of p.slice(0,f)){let x=g.startsWith("+")?N.tool:g.startsWith("-")?N.bad:N.dim;i.push(ge(` ${g}`,this.shade(x)))}return(this.item.full?.length??0)>0&&i.push(ge(` ${Iy} ${this.item.full.length} line(s) \xB7 ctrl+e to expand`,N.dim)),i}if(this.item.kind==="error"||this.item.kind==="note"){let o=this.item.kind==="error"?N.bad:N.mute;return["",...ID(r,t,this.shade(o))]}return["",...jV(this.item).render(Math.max(8,t-2))]}},al=class{items=[];status="";scrollOffset=0;scrollAnchor;settledOffset=0;viewportHeight=0;invalidate(){}entering(){let t=Date.now();return this.items.some(r=>{if(r.born===void 0)return!1;let n=t-r.born;return ZN(n,my)?!0:(r.detail?.length??0)>cy(n,r.detail?.length??0)})}render(t){if(Mu.size>this.items.length){let o=new Set(this.items.map(i=>i.id));for(let i of Mu.keys())o.has(i)||Mu.delete(i)}let r=[];for(let o of this.items)o.born??=Date.now(),r.push(...new Ey(o).render(t));this.status&&r.push(ge(this.status,N.mute));let n=this.viewportHeight;if(n>0&&r.length>n){let o=r.length-n;this.scrollOffset!==this.settledOffset&&(this.scrollAnchor=void 0);let i=this.scrollAnchor,a;if(i!==void 0){let c=r.length-i;c>=0&&c<=o?a=c:a=Math.max(0,Math.min(this.scrollOffset,o))}else a=Math.max(0,Math.min(this.scrollOffset,o));return i===void 0&&(this.scrollOffset=a),this.settledOffset=this.scrollOffset,a===0?this.scrollAnchor=void 0:this.scrollAnchor===void 0&&(this.scrollAnchor=r.length-a),r.slice(o-a,o-a+n)}return r}}});function Qt(e,t){return`${t}${e}${wD}`}function GV(e){return e>=85?qV:e>=70?ED:kD}function $D(e,t,r,n){let o=Qt(`[${e}]`,$y),i=Qt(`${KV} ${t}`,Vn),a=Qt(r,ED),c=n?` ${Qt("git:(",bD)}${Qt(n.replace(/^git:\(/,"").replace(/\)$/,""),$y)}${Qt(")",bD)}`:"";return`${o}${Qt(" \u2502 ",Vn)}${i}${Qt(" \u2502 ",Vn)}${a}${c}`}function SD(e,t,r){if(!t)return e;let n=r===void 0?t:`${t} ${Qt(SN(r),Vn)}`;return`${Qt(n,$y)} ${Qt("\u2502",Vn)} ${e}`}function TD(e,t){let r=Number.isFinite(e)?Math.min(100,Math.max(0,e)):0,n=Math.round(r/10),o=GV(r),i=`${o}${"\u2588".repeat(n)}${Vn}${"\u2591".repeat(10-n)}${wD}`,a=Qt(`${Math.round(r)}%`,o),c=t?`${Qt(" \u2502 ",Vn)}${t}`:"";return`${Qt("Context",Vn)} ${i} ${a}${c}`}function RD(e,t,r){let n=r===null?"":Qt(` ${r}ms`,Vn);return`${Qt("Cubence",Vn)} ${Qt(t?`${t} ${e}`:e,kD)}${n}`}var wD,Vn,qV,kD,ED,bD,$y,KV,Sy=u(()=>{Au();wD="\x1B[0m",Vn="\x1B[2m",qV="\x1B[31m",kD="\x1B[32m",ED="\x1B[33m",bD="\x1B[35m",$y="\x1B[36m";KV="\u2726"});import{mkdirSync as BV,readFileSync as PD}from"node:fs";import{homedir as HV}from"node:os";import{dirname as WV,join as zV}from"node:path";function AD(e){return e/1e6}function JV(){try{let e=JSON.parse(PD(zV(HV(),".claude","settings.json"),"utf8")),t=e.env?.ANTHROPIC_AUTH_TOKEN,r=e.env?.ANTHROPIC_BASE_URL;return!t||!r?void 0:{token:t,baseUrl:r.replace(/\/$/,"")}}catch{return}}function YV(){try{let e=JSON.parse(PD(Ty,"utf8"));return!e.data||typeof e.cachedAt!="number"?void 0:{data:e.data,cachedAt:e.cachedAt}}catch{return}}function vu(e){let t=`$${e.balanceDollar.toFixed(2)}`,r=e.hasSubscription?`5h $${e.fiveHourUsedDollar.toFixed(2)}/$${e.fiveHourLimitDollar.toFixed(2)} bal`:"";return RD(t,r,e.latencyMs)}async function CD(){let e=YV();if(e&&Date.now()-e.cachedAt<VV)return vu(e.data);let t=JV();if(!t)return e?vu(e.data):void 0;let r=Date.now();try{let n=await fetch(`${t.baseUrl}/v1/user/subscription-info`,{headers:{authorization:`Bearer ${t.token}`,accept:"application/json"},signal:AbortSignal.timeout(3e3)});if(!n.ok)return e?vu(e.data):void 0;let o=await n.json(),i=o.subscription_window?.five_hour?.limit??0,a={balanceDollar:o.normal_balance?.amount_dollar??0,hasSubscription:i>0,fiveHourUsedDollar:AD(o.subscription_window?.five_hour?.used??0),fiveHourLimitDollar:AD(i),latencyMs:Date.now()-r};return BV(WV(Ty),{recursive:!0}),qt(Ty,JSON.stringify({data:a,cachedAt:Date.now()})),vu(a)}catch{return e?vu(e.data):void 0}}var Ty,VV,OD=u(()=>{on();Sy();po();Ty=Cl,VV=18e4});import{createHash as vD,randomBytes as FD}from"node:crypto";import{createServer as XV}from"node:http";import{arch as ZV,cpus as MD,hostname as QV,platform as e6,userInfo as t6}from"node:os";function Py(e){return e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function o6(){return Py(FD(32))}function i6(e){return Py(vD("sha256").update(e).digest())}function s6(){return Py(FD(16))}function c6(e){let t=e??[QV(),e6(),ZV(),t6().username,String(MD().length),MD()[0]?.model??""];return a6+vD("sha256").update(t.join("\0")).digest("hex").slice(0,32)}function p6(){return{"content-type":"application/json",[u6]:m6}}async function Fu(e,t,r,n){let o=await e(t,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r),signal:n}),i={};try{i=await o.json()}catch{}return{status:o.status,body:i}}function Ry(...e){for(let t of e)if(typeof t=="string"&&t.trim()!=="")return t.trim()}function l6(e){try{let t=new URL(e).searchParams.get("code");return t&&t.trim()!==""?t.trim():void 0}catch{return}}async function d6(e,t,r){let n=await e(t,{headers:p6(),signal:r}),o={};try{o=await n.json()}catch{}return{status:n.status,body:o}}function Cy(e){let t=e.data,r=[e.token,e.api_key,e.apiKey,e.key,t?.token,t?.api_key,t?.apiKey,t?.key];for(let n of r)if(typeof n=="string"&&n.trim().startsWith("sk-"))return n.trim()}function Ks(e,t){let r=e.message??e.error;return typeof r=="string"&&r.trim()?r.trim():t}async function UD(e){let t=e.fetchImpl??fetch,r=(e.panelUrl??r6).replace(/\/+$/,""),n=e.timeoutMs??n6,o={...e,panel:r,fetchImpl:t,timeoutMs:n},i=await h6(o);if(i.ok||i.terminal)return i.result;let a=await g6(o);if(a.ok||a.terminal)return a.result;let c=await x6(o);return c.ok?c:{ok:!1,message:`${i.result.ok?"":i.result.message}; ${a.result.ok?"":a.result.message}; ${c.message}. howtofix.id does not offer a browser login a local client can complete yet \u2014 run /connect and paste a token from ${r}/keys instead.`}}async function g6(e){let t=o6(),r=s6(),n;try{n=await(e.loopback??f6)();let o=`http://127.0.0.1:${n.port}${LD}`,i=await Fu(e.fetchImpl,`${e.panel}/api/oauth/device/start`,{redirect_uri:o,code_challenge:i6(t),code_challenge_method:"S256",state:r},e.signal);if(i.status===404)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel has no loopback login endpoint"}};if(i.status>=400)return{ok:!1,terminal:!1,result:{ok:!1,message:Ks(i.body,`the panel refused the login (${i.status})`)}};let a=typeof i.body.authorize_url=="string"?i.body.authorize_url:"";if(!a)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel did not say where to send the browser"}};e.onProgress({kind:"browser",url:a});let c=await I6(n.waitForCode(r,e.signal),e.timeoutMs),p=await Fu(e.fetchImpl,`${e.panel}/api/oauth/device/token`,{flow_token:i.body.flow_token,code:c,code_verifier:t},e.signal);if(p.status>=400)return{ok:!1,terminal:!0,result:{ok:!1,message:Ks(p.body,`the panel refused the exchange (${p.status})`)}};let f=Cy(p.body);return f?{ok:!0,result:{ok:!0,token:f}}:{ok:!1,terminal:!0,result:{ok:!1,message:"the panel did not return an API key"}}}catch(o){let i=o instanceof Error?o.message:String(o);return{ok:!1,terminal:i==="cancelled",result:{ok:!1,message:i}}}finally{n?.close()}}async function h6(e){let t=e.pollIntervalMs??_D,r=e.fingerprintId??c6();try{let n=await Fu(e.fetchImpl,`${e.panel}/api/auth/cli/code`,{fingerprintId:r},e.signal);if(n.status===404)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel has no CLI login endpoint"}};if(n.status>=400)return{ok:!1,terminal:!1,result:{ok:!1,message:Ks(n.body,`the panel refused the login (${n.status})`)}};let o=n.body.data??{},i=Ry(n.body.login_url,o.login_url),a=Ry(n.body.code,o.code)??(i?l6(i):void 0);if(!i||!a)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel did not return a login URL"}};e.onProgress({kind:"browser",url:i});let c=Date.now()+e.timeoutMs;for(;Date.now()<c;){await Ay(t,e.signal);let p=new URLSearchParams({code:a}),f=await d6(e.fetchImpl,`${e.panel}/api/auth/cli/status?${p}`,e.signal);if(f.status===404)return{ok:!1,terminal:!1,result:{ok:!1,message:"the panel has no CLI login status endpoint"}};let g=Cy(f.body);if(g)return{ok:!0,result:{ok:!0,token:g}};if(Ry(f.body.data?.status,f.body.status)==="expired")return{ok:!1,terminal:!0,result:{ok:!1,message:"the sign-in link expired before it was approved"}};if(f.status>=400)return{ok:!1,terminal:!0,result:{ok:!1,message:Ks(f.body,`the panel refused the poll (${f.status})`)}}}return{ok:!1,terminal:!0,result:{ok:!1,message:"the sign-in was not approved in time"}}}catch(n){let o=n instanceof Error?n.message:String(n);return{ok:!1,terminal:o==="cancelled",result:{ok:!1,message:o}}}}async function x6(e){let t=e.pollIntervalMs??_D;try{let r=await Fu(e.fetchImpl,`${e.panel}/api/oauth/device`,{},e.signal);if(r.status===404)return{ok:!1,message:"the panel has no device-code endpoint"};if(r.status>=400)return{ok:!1,message:Ks(r.body,`the panel refused the request (${r.status})`)};let n=typeof r.body.device_code=="string"?r.body.device_code:"",o=typeof r.body.user_code=="string"?r.body.user_code:"",i=typeof r.body.verification_uri=="string"?r.body.verification_uri:`${e.panel}/oauth/device`;if(!n||!o)return{ok:!1,message:"the panel did not return a code to show"};e.onProgress({kind:"code",code:o,url:i});let a=Date.now()+e.timeoutMs;for(;Date.now()<a;){await Ay(t,e.signal);let c=await Fu(e.fetchImpl,`${e.panel}/api/oauth/device/poll`,{device_code:n},e.signal);if(c.status===404)return{ok:!1,message:"the panel has no device-code poll endpoint"};let p=typeof c.body.status=="string"?c.body.status:"";if(p==="pending")continue;if(p==="slow_down"){await Ay(t,e.signal);continue}if(p==="denied")return{ok:!1,message:"the sign-in was refused in the browser"};if(p==="expired")return{ok:!1,message:"the code expired; run /connect again"};let f=Cy(c.body);if(f)return{ok:!0,token:f};if(c.status>=400)return{ok:!1,message:Ks(c.body,`the panel refused the poll (${c.status})`)}}return{ok:!1,message:"the code was not approved in time"}}catch(r){return{ok:!1,message:r instanceof Error?r.message:String(r)}}}function I6(e,t){return new Promise((r,n)=>{let o=setTimeout(()=>n(new Error("the sign-in was not finished in time")),t);e.then(i=>{clearTimeout(o),r(i)},i=>{clearTimeout(o),n(i)})})}function Ay(e,t){return new Promise((r,n)=>{let o=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(o),n(new Error("cancelled"))},{once:!0})})}var r6,n6,_D,LD,a6,u6,m6,f6,ND=u(()=>{r6="https://howtofix.id",n6=300*1e3,_D=3e3,LD="/callback";a6="howtofix-cli-",u6="x-howtofix-client",m6="cli";f6=()=>new Promise((e,t)=>{let r=XV();r.once("error",t),r.listen(0,"127.0.0.1",()=>{let{port:n}=r.address();e({port:n,close:()=>r.close(),waitForCode:(o,i)=>new Promise((a,c)=>{let p=(x,w)=>{let $=new URL(x.url??"/","http://127.0.0.1");if($.pathname!==LD){w.writeHead(404).end("not found");return}let C=(le,ve)=>w.writeHead(200,{"content-type":"text/html; charset=utf-8"}).end(`<!doctype html><meta charset="utf-8"><h2>${le}</h2><p>${ve}</p>`),D=$.searchParams.get("error")??"",Z=$.searchParams.get("code")??"",z=$.searchParams.get("state")??"";if(D){C("Sign-in was refused","You can close this tab."),f(new Error(`the browser reported: ${D}`));return}if(!Z||z!==o){C("This callback did not belong to the login","You can close this tab."),f(new Error("the callback carried the wrong state"));return}C("Signed in","You can close this tab and go back to HowToFix."),f(void 0,Z)},f=(x,w)=>{r.off("request",p),i?.removeEventListener("abort",g),x?c(x):a(w)},g=()=>f(new Error("cancelled"));i?.addEventListener("abort",g,{once:!0}),r.on("request",p)})})})})});function DD(){return{}}function jD(e,t,r,n=Date.now()){let o={...e};return t==="run"?(r===void 0||r===""?delete o.run:o.run={label:r,since:e.run?.since??n},o):(r===void 0||r===""?delete o[t]:o[t]=r,o)}function y6(e){let t=Math.max(0,Math.round(e/1e3)),r=Math.floor(t/60);return r>0?`${r}m ${String(t%60).padStart(2,"0")}s`:`${t}s`}function qD(e,t,r=Date.now()){return e.prompt?`? ${e.prompt}`:e.note?`* ${e.note}`:e.run?`${t} ${e.run.label} \xB7 ${y6(r-e.run.since)}`:e.tally?e.tally:""}var GD=u(()=>{});import{spawn as b6}from"node:child_process";function w6(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 ml(e,t=process.platform){let r=w6(t);return r?new Promise(n=>{try{let o=b6(r.command,[...r.args,e],{detached:!0,stdio:"ignore"});o.once("error",()=>n(!1)),o.once("spawn",()=>{o.unref(),n(!0)})}catch{n(!1)}}):!1}var KD=u(()=>{});function k6(e){return[Pl,Ho(e)]}function BD(e,t){let r=e.trim(),n=/^\/skill:([^\s]+)(?:\s+([\s\S]*))?$/.exec(r)??/^\/skill\s+([^\s]+)(?:\s+([\s\S]*))?$/.exec(r);if(!n)return;let o=n[1]??"";if(!t.includes(o))return;let i=(n[2]??"").trim();return i?`/skill:${o} ${i}`:`/skill:${o}`}function HD(e){if(e.length===0){let[t,r]=k6(process.cwd());return["no skills loaded.",`put a SKILL.md in ${t}`,`or in ${r}`,"invoke with /skill:<name>"].join(`
128
+ `)}return e.map(t=>{let r=t.disableModelInvocation?" (invoke only)":"";return`${t.name}${r}
119
129
  ${t.description}
120
130
  ${t.filePath}`}).join(`
121
- `)}var hP=u(()=>{xn()});import{mkdirSync as h_}from"node:fs";import{join as x_}from"node:path";import{matchesKey as Im}from"@earendil-works/pi-tui";function yP(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function bP(e){if(Im(e,"up"))return"up";if(Im(e,"down"))return"down";if(Im(e,"enter"))return"enter";if(Im(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 xP(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 y_(e){let t=ld.indexOf(e);return ld[(t+1)%ld.length]}function wP(e,t,n){switch(t){case"up":return xP(e,n,-1);case"down":return xP(e,n,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:y_(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function IP(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 $P(e){return e==="all"?"":` \xB7 ${e}`}function TP(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 b_(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 vP(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=b_(e.name);if(!n)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let r=x_(t,`${n}.js`);try{h_(t,{recursive:!0}),tt(r,e.code)}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:r}}var ld,kP,EP=u(()=>{Hn();ld=["all","running","failed","done"];kP="ctrl+f"});function SP(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 PP=u(()=>{});var KP={};Mt(KP,{Dock:()=>vm,Hud:()=>km,PinnedBlock:()=>Tm,approvalDetail:()=>qP,orderModelsForDefault:()=>_P,pickerPanel:()=>NP,runWorkbench:()=>W_,workflowPanel:()=>UP,workflowPanelFromRun:()=>ii,workflowRunOf:()=>Em});import{execFile as w_}from"node:child_process";import{promisify as I_}from"node:util";import{existsSync as $_,mkdirSync as k_,readFileSync as T_}from"node:fs";import{basename as v_,join as RP,resolve as E_}from"node:path";import{copyToClipboard as S_,SessionManager as P_}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as AP,Container as R_,Editor as A_,matchesKey as jt,ProcessTerminal as M_,ScrollView as O_,KeybindingsManager as LP,setKeybindings as FP,TUI_KEYBINDINGS as jP,SelectList as C_,TuiAltScreen as L_,truncateToWidth as si,VStack as F_,visibleWidth as $m,wrapTextWithAnsi as j_}from"@earendil-works/pi-tui";import{TreeSelectorComponent as D_,initTheme as __}from"@earendil-works/pi-coding-agent";import{getKeybindings as MP}from"@earendil-works/pi-tui";function N_(e){if(typeof e!="object"||e===null)return;let t=e[DP];return typeof t=="function"?t.call(e):void 0}async function CP(e){try{let{stdout:t}=await gd("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),n=t.trim();if(!n||n==="HEAD")return"";let{stdout:r}=await gd("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${n}${r.trim()?"*":""})`}catch{return null}}function _P(e){let t=n=>{if(U_.test(n))return 100;let r=q_.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 NP(e,t,n,r=!1,o=[]){let s=Math.max(24,n),i=s-4,c=(z,G)=>{let ee=$m(z)>i?si(z,i,"\u2026"):z,ye=`${ee}${" ".repeat(Math.max(0,i-$m(ee)))}`;return`\u2502 ${G?G(ye):ye} \u2502`},p="\u2500".repeat(s-2),d=[c(` ${t}`),...e.render(i).map(z=>c(z))],b=o.flatMap(z=>z===""?[""]:j_(z,i)),I=b.length>0?[c(""),...b.map(z=>c(z,G=>re(G,_.mute)))]:[];if(!r)return["",`\u250C${p}\u2510`,...d,...I,`\u2514${p}\u2518`];let P=kS(_.line,_.warn,Date.now(),1400),A=re("\u2502",P),C=(z,G)=>re(`${z}${p}${G}`,P),U=[...d,...I].map(z=>`${A}${z.slice(1,-1)}${A}`);return["",C("\u250C","\u2510"),...U,C("\u2514","\u2518")]}function qP(e,t){let n=t.split(`
122
- `).filter(Boolean),r=n.filter(i=>i.startsWith("Reason:")),o=n.filter(i=>!i.startsWith("Reason:")&&!i.startsWith("Allow tool:"));return[...e.endsWith(" wants to run")?[]:[e],...r,...o.length>0?["",...o]:[]]}function _o(e){let t=e.getContextUsage();if(t?.percent!==null&&t?.percent!==void 0)return Math.min(100,Math.round(t.percent));let n=e.model,o=[...e.state.messages].reverse().find(s=>s.role==="assistant")?.usage?.totalTokens;return!n||typeof o!="number"||!Number.isFinite(o)||n.contextWindow<=0?0:Math.min(100,Math.round(o/n.contextWindow*100))}function fd(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","sign in to howtofix.id (browser, or paste a token)"],["sync","re-sync models from howtofix.id"],["usage","show the account's quota and what it has spent"],["update","install the newest release"],["login","save a provider API key"],["logout","remove a provider"],["new","start a new session"],["resume","resume another session"],["compact","compact the session"],["name","name this session"],["stats","session tokens and cost"],["diff","show the working tree diff"],["commit","stage everything and commit"],["undo","undo the last commit"],["rewind","go back to an earlier message (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["skills","list loaded skills"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([r,o])=>({name:r,description:o}));for(let r of e.promptTemplates)n.push({name:r.name,description:r.description});for(let r of e.extensionRunner.getRegisteredCommands())n.push({name:r.invocationName,description:r.description});return n}function Em(e,t){if(e!=="workflow")return;let n=ti(t);if(!(typeof n.name!="string"||!Array.isArray(n.steps)))return n}function UP(e,t){let n=Em(e,t);return n?ii(n):void 0}function ii(e,t,n=!1){return r=>nS(e,[],r,t?.selectedPhase,t?K_(e,t,n):void 0)}function K_(e,t,n){return{filter:r=>IP(r,t.filter),footerText:TP(t,e.endedAt===void 0,n),filterLabel:$P(t.filter),drill:t.expanded}}function G_(){let e=new LP(jP,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});FP(e)}async function W_(e){let t=new M_,n=new L_(t,!0,void 0,{mouse:!0}),r=new ym,o=new km(e.cwd,e.modelLabel),s=l=>{let g=Date.now();(async()=>{try{let y=gn(),x=await MS(y,v.getSessionStats().sessionId,l);x&&g>=Wt&&(No=x,Wt=g)}catch{}})()},i=(l=!1)=>{!l&&!o.live||CP(e.cwd).then(g=>{g!==null&&(o.git=g,N())})},c=new A_(n,OP,{paddingX:1}),p=new Map,d=(l,g)=>{g===void 0?p.delete(l):typeof g=="function"?p.set(l,g):p.set(l,()=>g)},b=()=>Math.max(20,t.columns),I,P=0,A=yP(),C,U=null,z=!1,G,ee=!1,ye,De=()=>{!C||!z||d("workflow",l=>ii(C,A,ee)(l))},Qe=()=>{C&&(G=C.name),z=!1,ee=!1,d("workflow",void 0)};oS({onStop:l=>{U=l},isPaused:()=>A.paused});let xe=l=>{if(G===l.name)return;I=l;let g=l.endedAt??Date.now();P=Math.max(P,g+cm),C=l,z=!0,d("workflow",y=>ii(l,A,ee)(y))},ie=new vm(c,o),v=e.session,Ve=!1,Gt,gn=()=>Gt??=RS(e.cwd),No,rn="",Wt=0,Ge,Dt=()=>{let l=new Set(["session_info","usage","label","context_edit","custom","model_change","thinking_level_change"]),g=[],y=x=>{for(let $ of x)l.has($.entry.type)||g.push($.entry.id),y($.children)};return y(v.sessionManager.getTree()),g},qo=!1,WP=()=>{if(qo)return;qo=!0;let l=MP().getResolvedBindings();FP(new LP(jP,{...l,"app.tree.foldOrUp":["alt+left","ctrl+left"],"app.tree.unfoldOrDown":["alt+right","ctrl+right"],"app.tree.editLabel":["shift+l"],"app.tree.toggleLabelTimestamp":["shift+t"],"app.message.copy":["ctrl+x"],"app.tree.filter.default":["alt+0"],"app.tree.filter.noTools":["alt+1"],"app.tree.filter.userOnly":["alt+2"],"app.tree.filter.labeledOnly":["alt+3"],"app.tree.filter.all":["alt+4"],"app.tree.filter.cycleForward":["alt+f"],"app.tree.filter.cycleBackward":["alt+shift+f"]}))},hd=!1,BP=()=>{hd||(hd=!0,__())},xd=()=>{let l=v.sessionManager.getTree();if(l.length===0){E("rewind","nothing to rewind to yet");return}gn().disabled&&E("rewind","conversation rewind only \u2014 this directory is not a git repository"),BP(),WP();let g=Math.max(8,Math.floor(t.rows*.6)),y=new D_(l,v.sessionManager.getLeafId(),g*2,x=>{Sm(),zP(x)},()=>Sm());if(!y.getTreeList().getSelectedNode()){E("rewind","nothing to rewind to yet");return}Ge=y,Ge.focused=!0,d("rewind",x=>Ge?.render(x)??[]),N()},Sm=()=>{Ge=void 0,d("rewind",void 0),N()},zP=async l=>{let g=gn(),x=v.getUserMessagesForForking().findIndex(w=>w.entryId===l),$=x>=0?Yl(g,v.getSessionStats().sessionId)[x]:void 0,K=$?(await CS(g,$)).length:0;if(K===0){await yd(l,void 0,"conversation");return}_t(`Rewind to this point? ${K} file(s) differ`,[{value:"both",label:"conversation and code",description:`drop the messages after this point and restore ${K} 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 ${K} file(s), keep the conversation`}],w=>{yd(l,$,w)})},yd=async(l,g,y)=>{let x=[];if((y==="both"||y==="conversation")&&!v.isStreaming)try{let $=await v.navigateTree(l);if($.cancelled){E("rewind","conversation rewind cancelled");return}x.push("conversation rewound"),r.items=bm(v.state.messages),$.editorText&&(c.setText($.editorText),x.push("prompt restored to the editor"))}catch($){hn(`conversation rewind failed: ${$ instanceof Error?$.message:String($)}`);return}if((y==="both"||y==="code")&&g){let $=await OS(gn(),g);if(!$.ok){hn(`code rewind failed: ${$.output}`);return}x.push($.output),$.removed.length>0&&x.push(`removed ${$.removed.length} file(s)`),i()}E("rewind",x.join(`
123
- `)||"nothing to do"),N()};i(!0),s("session start"),e.note&&r.items.push({id:"note",kind:"note",title:"note",body:e.note}),r.items.push(...bm(v.state.messages)),o.percent=_o(v),o.abandonAnimations(),o.thinking=v.thinkingLevel,c.setAutocompleteProvider(new AP(fd(v),e.cwd)),eP().then(l=>{l&&(o.cubence=l,n.requestRender())});let bd=async l=>{let{checkForUpdate:g,installUpdate:y}=await Promise.resolve().then(()=>(wi(),bi)),x=await g(l.current);if(!x.available){l.install&&E("update",x.message);return}if(!l.install){E("update",`${x.message}. run /update to install it.`);return}te("note",`installing HowToFix ${x.latest}\u2026`);let $=await y({version:x.latest});te("note",void 0),E("update",$.message),N()};e.update&&bd(e.update);let Nn=null,wd="",Id=!1,$d=[],Uo,Pm=()=>{},N=()=>{Pm(),n.requestRender()},te=(l,g)=>{o.activity=cP(o.activity,l,g)},ai=new Map,Rm=new Set,HP=()=>[...ai].map(([l,g])=>`${Rm.has(l)?"!":"\u2713"} ${l} \xD7${g}`).join(" | "),VP=()=>{let l=HP();te("tally",l||void 0)},_t=(l,g,y,x,$=!1,K=[])=>{let w=new C_(g,8,OP.selectList);w.onSelect=k=>{Nn=null,Uo=void 0,y(k.value)},w.onCancel=()=>{Nn=null,Uo=void 0,x?.(),N()},Uo=()=>w.onCancel?.(),wd=l,Id=$,$d=K,Nn=w,N()},E=(l,g)=>{r.items.push({id:`cmd-${Date.now()}-${r.items.length}`,kind:"note",title:l,body:g}),te("tally",void 0),N()},hn=l=>{r.items.push({id:`err-${Date.now()}-${r.items.length}`,kind:"error",title:"failed",body:l}),te("tally",void 0),N()};pc((l,g)=>{let{promise:y,resolve:x}=Promise.withResolvers();return _t(l,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],$=>x($==="allow"),()=>x(!1),!0,qP(l,g)),y});let Am=new Map,kd=l=>{let g=SP({select:(y,x)=>{let{promise:$,resolve:K}=Promise.withResolvers();return _t(y,x.map(w=>({value:w,label:w})),K,()=>K(void 0)),$},confirm:(y,x)=>{let{promise:$,resolve:K}=Promise.withResolvers();return _t(`${y} \u2014 ${x}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],w=>K(w==="yes"),()=>K(!1)),$},input:y=>{let{promise:x,resolve:$}=Promise.withResolvers();return te("prompt",y),N(),nn=K=>{nn=void 0,te("prompt",void 0),$(K),N()},x},notify:(y,x)=>{x==="error"?hn(y):E("mcp",y)},setStatus:(y,x)=>{x===void 0?Am.delete(y):Am.set(y,x),te("note",[...Am.values()].join(" | ")||void 0),N()},setWidget:(y,x)=>{d(y,x),N()}});l.bindExtensions({uiContext:g,mode:"print",onError:y=>hn(`${y.event}: ${y.error}`)}).catch(y=>hn(y instanceof Error?y.message:String(y)))};kd(v);let zr=new R_,JP={invalidate:()=>r.invalidate(),render:l=>{let g=zr.render(Math.max(20,l)).length;return r.viewportHeight=Math.max(1,Math.max(8,t.rows)-g),r.render(l)},handleMouse:l=>{if(Md(l))return jm(),{handled:!0};let g=l.type==="wheel"?l.wheelDelta??0:0;if(g!==0)return r.scrollOffset=Math.max(0,r.scrollOffset-g*3),N(),{handled:!0}}},YP=new O_(JP,{follow:"none",overscroll:"contain"}),ui=new F_([{component:YP,grow:1,shrink:1},{component:zr,grow:0,shrink:0,basis:"auto"}]),Td="",XP=()=>`${Nn?"picker":"dock"}|${[...p.keys()].join(",")}`;Pm=()=>{let l=XP();if(l===Td)return;Td=l,zr.clear();for(let y of p.values())zr.addChild(new Tm(y));let g=Nn;if(g){let y=wd,x=Id,$=$d;zr.addChild({render:K=>NP(g,y,K,x,$),invalidate:()=>{}})}else zr.addChild(ie);ui.invalidate()},Pm();let vd={focused:!1,invalidate(){r.invalidate(),ie.invalidate(),Nn?.invalidate(),ui.invalidate()},[DP]:()=>N_(ui),render:l=>ui.render(l),handleMouse(l){if(Md(l))return jm(),{handled:!0}},handleInput(l){c.handleInput(l)}};n.setLayoutRoot(vd),n.setFocus(vd);let It=0,zn="",Mm=!1,gr=!1,Om,Hr="",Ed=0,Ko=!1,mi=Date.now(),ci=!1,pi=new Map,Sd=l=>{if(l.type==="agent_start"||l.type==="turn_start")l.type==="agent_start"&&mf(),o.live||o.beginRun(),zn="",gr=!1,Ko=!1,mi=Date.now(),Hr="";else if(l.type==="message_update"&&l.assistantMessageEvent.type==="thinking_delta"){gr=!0,Hr===""&&(Ed=Date.now()),Hr+=l.assistantMessageEvent.delta;let g=`think-${It}`,y=r.items.find($=>$.id===g),x=Hr.split(`
131
+ `)}var WD=u(()=>{on()});import{mkdirSync as E6}from"node:fs";import{join as $6}from"node:path";import{matchesKey as cl}from"@earendil-works/pi-tui";function VD(){return{selectedPhase:0,filter:"all",paused:!1,expanded:!1,follow:!0}}function JD(e){if(cl(e,"up"))return"up";if(cl(e,"down"))return"down";if(cl(e,"enter"))return"enter";if(cl(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 zD(e,t,r){if(t.length===0)return e;let n=Math.max(0,Math.min(t.length-1,e.selectedPhase+r));return{...e,selectedPhase:n,follow:!1}}function S6(e){let t=Oy.indexOf(e);return Oy[(t+1)%Oy.length]}function YD(e,t,r){switch(t){case"up":return zD(e,r,-1);case"down":return zD(e,r,1);case"enter":return{...e,expanded:!e.expanded};case"filter":return{...e,filter:S6(e.filter)};case"pause":return{...e,paused:!e.paused};default:return e}}function XD(e,t){switch(t){case"running":return e.filter(r=>r.status==="running");case"failed":return e.filter(r=>r.status==="failed");case"done":return e.filter(r=>r.status!=="running");default:return[...e]}}function ZD(e){return e==="all"?"":` \xB7 ${e}`}function ej(e,t,r=!0){if(!r)return"Ctrl+F panel keys \xB7 Esc unpin";let n=["\u2191/\u2193 phase",e.expanded?"Enter collapse":"Enter drill in"];return n.push(e.expanded?"Esc back out":"Esc unpin"),n.push(`f filter${e.filter==="all"?"":` (${e.filter})`}`),t?(n.push(e.paused?"p resume":"p pause"),n.push("x stop")):e.paused&&n.push("p resume"),n.push("s save script"),e.paused&&n.unshift("paused"),n.join(" \xB7 ")}function T6(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 tj(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 r=T6(e.name);if(!r)return{ok:!1,reason:`"${e.name}" is not a usable filename, so the script was not written`};let n=$6(t,`${r}.js`);try{E6(t,{recursive:!0}),qt(n,e.code)}catch(o){return{ok:!1,reason:o instanceof Error?o.message:String(o)}}return{ok:!0,path:n}}var Oy,QD,rj=u(()=>{po();Oy=["all","running","failed","done"];QD="ctrl+f"});function nj(e){let t=()=>{};return{select:(r,n)=>e.select(r,n),confirm:(r,n)=>e.confirm(r,n),input:r=>e.input(r),notify:(r,n)=>e.notify(r,n),onTerminalInput:()=>t,setStatus:(r,n)=>e.setStatus(r,n),setWorkingMessage:t,setWorkingVisible:t,setWorkingIndicator:t,setHiddenThinkingLabel:t,setWidget:(r,n,o)=>{n!==void 0&&!Array.isArray(n)||e.setWidget?.(r,n,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 oj=u(()=>{});var Ij={};Rt(Ij,{Dock:()=>dl,Hud:()=>fl,PinnedBlock:()=>ll,approvalDetail:()=>hj,orderModelsForDefault:()=>dj,pickerPanel:()=>gj,runWorkbench:()=>X6,workflowPanel:()=>xj,workflowPanelFromRun:()=>Lu,workflowRunOf:()=>gl});import{execFile as R6}from"node:child_process";import{promisify as A6}from"node:util";import{existsSync as P6,mkdirSync as C6,readFileSync as O6}from"node:fs";import{basename as M6,join as ij,resolve as v6}from"node:path";import{copyToClipboard as F6,SessionManager as _6}from"@earendil-works/pi-coding-agent";import{CombinedAutocompleteProvider as sj,Container as L6,Editor as U6,matchesKey as Cr,ProcessTerminal as N6,ScrollView as D6,KeybindingsManager as cj,setKeybindings as pj,TUI_KEYBINDINGS as fj,SelectList as j6,TuiAltScreen as q6,truncateToWidth as _u,VStack as G6,visibleWidth as pl,wrapTextWithAnsi as K6}from"@earendil-works/pi-tui";import{TreeSelectorComponent as B6,initTheme as H6}from"@earendil-works/pi-coding-agent";import{getKeybindings as aj}from"@earendil-works/pi-tui";function W6(e){if(typeof e!="object"||e===null)return;let t=e[lj];return typeof t=="function"?t.call(e):void 0}async function mj(e){try{let{stdout:t}=await Fy("git",["-C",e,"rev-parse","--abbrev-ref","HEAD"],{encoding:"utf8"}),r=t.trim();if(!r||r==="HEAD")return"";let{stdout:n}=await Fy("git",["-C",e,"status","--porcelain"],{encoding:"utf8"});return`git:(${r}${n.trim()?"*":""})`}catch{return null}}function dj(e){let t=r=>{if(V6.test(r))return 100;let n=z6.findIndex(o=>r.toLowerCase().includes(o));return n===-1?50:n};return e.map((r,n)=>({id:r,index:n})).sort((r,n)=>t(r.id)-t(n.id)||r.index-n.index).map(r=>r.id)}function gj(e,t,r,n=!1,o=[]){let i=Math.max(24,r),a=i-4,c=(Z,z)=>{let le=pl(Z)>a?_u(Z,a,"\u2026"):Z,ve=`${le}${" ".repeat(Math.max(0,a-pl(le)))}`;return`\u2502 ${z?z(ve):ve} \u2502`},p="\u2500".repeat(i-2),f=[c(` ${t}`),...e.render(a).map(Z=>c(Z))],g=o.flatMap(Z=>Z===""?[""]:K6(Z,a)),x=g.length>0?[c(""),...g.map(Z=>c(Z,z=>ge(z,N.mute)))]:[];if(!n)return["",`\u250C${p}\u2510`,...f,...x,`\u2514${p}\u2518`];let w=QN(N.line,N.warn,Date.now(),1400),$=ge("\u2502",w),C=(Z,z)=>ge(`${Z}${p}${z}`,w),D=[...f,...x].map(Z=>`${$}${Z.slice(1,-1)}${$}`);return["",C("\u250C","\u2510"),...D,C("\u2514","\u2518")]}function hj(e,t){let r=t.split(`
132
+ `).filter(Boolean),n=r.filter(a=>a.startsWith("Reason:")),o=r.filter(a=>!a.startsWith("Reason:")&&!a.startsWith("Allow tool:"));return[...e.endsWith(" wants to run")?[]:[e],...n,...o.length>0?["",...o]:[]]}function Bs(e){let t=e.getContextUsage();if(t?.percent!==null&&t?.percent!==void 0)return Math.min(100,Math.round(t.percent));let r=e.model,o=[...e.state.messages].reverse().find(i=>i.role==="assistant")?.usage?.totalTokens;return!r||typeof o!="number"||!Number.isFinite(o)||r.contextWindow<=0?0:Math.min(100,Math.round(o/r.contextWindow*100))}function vy(e){let r=[["init","write project notes to AGENTS.md"],["model","choose a model"],["providers","list providers"],["thinking","set thinking level"],["approval","set what needs approval"],["connect","sign in to howtofix.id (browser, or paste a token)"],["sync","re-sync models from howtofix.id"],["usage","show the account's quota and what it has spent"],["update","install the newest release"],["login","save a provider API key"],["logout","remove a provider"],["new","start a new session"],["resume","resume another session"],["compact","compact the session"],["name","name this session"],["stats","session tokens and cost"],["diff","show the working tree diff"],["commit","stage everything and commit"],["undo","undo the last commit"],["rewind","go back to an earlier message (Esc Esc)"],["review","ask the agent to review the diff"],["tools","list active tools"],["skills","list loaded skills"],["export","write the transcript to a markdown file"],["copy","copy the last answer to the clipboard"],["agents","show spawned agents"],["goal","set or view this session's goal"],["plan","toggle plan mode (design before editing)"],["workflow","show or clear the pinned workflow panel"],["session","show the current model"],["help","list commands"],["quit","quit"]].map(([n,o])=>({name:n,description:o}));for(let n of e.promptTemplates)r.push({name:n.name,description:n.description});for(let n of e.extensionRunner.getRegisteredCommands())r.push({name:n.invocationName,description:n.description});return r}function gl(e,t){if(e!=="workflow")return;let r=Ou(t);if(!(typeof r.name!="string"||!Array.isArray(r.steps)))return r}function xj(e,t){let r=gl(e,t);return r?Lu(r):void 0}function Lu(e,t,r=!1){return n=>MN(e,[],n,t?.selectedPhase,t?J6(e,t,r):void 0)}function J6(e,t,r){return{filter:n=>XD(n,t.filter),footerText:ej(t,e.endedAt===void 0,r),filterLabel:ZD(t.filter),drill:t.expanded}}function Y6(){let e=new cj(fj,{"tui.altScreen.pageUp":[],"tui.altScreen.pageDown":[],"tui.altScreen.halfPageUp":[],"tui.altScreen.halfPageDown":[],"tui.altScreen.top":[],"tui.altScreen.bottom":[]});pj(e)}async function X6(e){let t=new N6,r=new q6(t,!0,void 0,{mouse:!0}),n=new al,o=new fl(e.cwd,e.modelLabel),i=d=>{let I=Date.now();(async()=>{try{let k=kn(),b=await aD(k,A.getSessionStats().sessionId,d);b&&I>=Kr&&(Hs=b,Kr=I)}catch{}})()},a=(d=!1)=>{!d&&!o.live||mj(e.cwd).then(I=>{I!==null&&(o.git=I,j())})},c=new U6(r,uj,{paddingX:1}),p=new Map,f=(d,I)=>{I===void 0?p.delete(d):typeof I=="function"?p.set(d,I):p.set(d,()=>I)},g=()=>Math.max(20,t.columns),x,w=0,$=VD(),C,D=null,Z=!1,z,le=!1,ve,It=()=>{!C||!Z||f("workflow",d=>Lu(C,$,le)(d))},Dt=()=>{C&&(z=C.name),Z=!1,le=!1,f("workflow",void 0)};FN({onStop:d=>{D=d},isPaused:()=>$.paused});let Pe=d=>{if(z===d.name)return;x=d;let I=d.endedAt??Date.now();w=Math.max(w,I+Qf),C=d,Z=!0,f("workflow",k=>Lu(d,$,le)(k))},he=new dl(c,o),A=e.session,vt=!1,Gr,kn=()=>Gr??=iD(e.cwd),Hs,rn="",Kr=0,Tt,Or=()=>{let d=new Set(["session_info","usage","label","context_edit","custom","model_change","thinking_level_change"]),I=[],k=b=>{for(let S of b)d.has(S.entry.type)||I.push(S.entry.id),k(S.children)};return k(A.sessionManager.getTree()),I},Ws=!1,bj=()=>{if(Ws)return;Ws=!0;let d=aj().getResolvedBindings();pj(new cj(fj,{...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"]}))},_y=!1,wj=()=>{_y||(_y=!0,H6())},Ly=()=>{let d=A.sessionManager.getTree();if(d.length===0){P("rewind","nothing to rewind to yet");return}kn().disabled&&P("rewind","conversation rewind only \u2014 this directory is not a git repository"),wj(),bj();let I=Math.max(8,Math.floor(t.rows*.6)),k=new B6(d,A.sessionManager.getLeafId(),I*2,b=>{hl(),kj(b)},()=>hl());if(!k.getTreeList().getSelectedNode()){P("rewind","nothing to rewind to yet");return}Tt=k,Tt.focused=!0,f("rewind",b=>Tt?.render(b)??[]),j()},hl=()=>{Tt=void 0,f("rewind",void 0),j()},kj=async d=>{let I=kn(),b=A.getUserMessagesForForking().findIndex(E=>E.entryId===d),S=b>=0?gy(I,A.getSessionStats().sessionId)[b]:void 0,B=S?(await mD(I,S)).length:0;if(B===0){await Uy(d,void 0,"conversation");return}Mr(`Rewind to this point? ${B} file(s) differ`,[{value:"both",label:"conversation and code",description:`drop the messages after this point and restore ${B} 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 ${B} file(s), keep the conversation`}],E=>{Uy(d,S,E)})},Uy=async(d,I,k)=>{let b=[];if((k==="both"||k==="conversation")&&!A.isStreaming)try{let S=await A.navigateTree(d);if(S.cancelled){P("rewind","conversation rewind cancelled");return}b.push("conversation rewound"),n.items=ul(A.state.messages),S.editorText&&(c.setText(S.editorText),b.push("prompt restored to the editor"))}catch(S){En(`conversation rewind failed: ${S instanceof Error?S.message:String(S)}`);return}if((k==="both"||k==="code")&&I){let S=await uD(kn(),I);if(!S.ok){En(`code rewind failed: ${S.output}`);return}b.push(S.output),S.removed.length>0&&b.push(`removed ${S.removed.length} file(s)`),a()}P("rewind",b.join(`
133
+ `)||"nothing to do"),j()};a(!0),i("session start"),e.note&&n.items.push({id:"note",kind:"note",title:"note",body:e.note}),n.items.push(...ul(A.state.messages)),o.percent=Bs(A),o.abandonAnimations(),o.thinking=A.thinkingLevel,c.setAutocompleteProvider(new sj(vy(A),e.cwd)),CD().then(d=>{d&&(o.cubence=d,r.requestRender())});let Ny=async d=>{let{checkForUpdate:I,installUpdate:k}=await Promise.resolve().then(()=>(Yu(),Ju)),b=await I(d.current);if(!b.available){d.install&&P("update",b.message);return}if(!d.install){P("update",`${b.message}. run /update to install it.`);return}se("note",`installing HowToFix ${b.latest}\u2026`);let S=await k({version:b.latest});se("note",void 0),P("update",S.message),j()};e.update&&Ny(e.update);let Jn=null,Dy="",jy=!1,qy=[],zs,xl=()=>{},j=()=>{xl(),r.requestRender()},se=(d,I)=>{o.activity=jD(o.activity,d,I)},Uu=new Map,Il=new Set,Ej=()=>[...Uu].map(([d,I])=>`${Il.has(d)?"!":"\u2713"} ${d} \xD7${I}`).join(" | "),$j=()=>{let d=Ej();se("tally",d||void 0)},Mr=(d,I,k,b,S=!1,B=[])=>{let E=new j6(I,8,uj.selectList);E.onSelect=T=>{Jn=null,zs=void 0,k(T.value)},E.onCancel=()=>{Jn=null,zs=void 0,b?.(),j()},zs=()=>E.onCancel?.(),Dy=d,jy=S,qy=B,Jn=E,j()},P=(d,I)=>{n.items.push({id:`cmd-${Date.now()}-${n.items.length}`,kind:"note",title:d,body:I}),se("tally",void 0),j()},En=d=>{n.items.push({id:`err-${Date.now()}-${n.items.length}`,kind:"error",title:"failed",body:d}),se("tally",void 0),j()};ed((d,I)=>{let{promise:k,resolve:b}=Promise.withResolvers();return Mr(d,[{value:"allow",label:"allow"},{value:"deny",label:"deny"}],S=>b(S==="allow"),()=>b(!1),!0,hj(d,I)),k});let yl=new Map,Gy=d=>{let I=nj({select:(k,b)=>{let{promise:S,resolve:B}=Promise.withResolvers();return Mr(k,b.map(E=>({value:E,label:E})),B,()=>B(void 0)),S},confirm:(k,b)=>{let{promise:S,resolve:B}=Promise.withResolvers();return Mr(`${k} \u2014 ${b}`,[{value:"yes",label:"yes"},{value:"no",label:"no"}],E=>B(E==="yes"),()=>B(!1)),S},input:k=>{let{promise:b,resolve:S}=Promise.withResolvers();return se("prompt",k),j(),tn=B=>{tn=void 0,se("prompt",void 0),S(B),j()},b},notify:(k,b)=>{b==="error"?En(k):P("mcp",k)},setStatus:(k,b)=>{b===void 0?yl.delete(k):yl.set(k,b),se("note",[...yl.values()].join(" | ")||void 0),j()},setWidget:(k,b)=>{f(k,b),j()}});d.bindExtensions({uiContext:I,mode:"print",onError:k=>En(`${k.event}: ${k.error}`)}).catch(k=>En(k instanceof Error?k.message:String(k)))};Gy(A);let _i=new L6,Sj={invalidate:()=>n.invalidate(),render:d=>{let I=_i.render(Math.max(20,d)).length;return n.viewportHeight=Math.max(1,Math.max(8,t.rows)-I),n.render(d)},handleMouse:d=>{if(Yy(d))return Sl(),{handled:!0};let I=d.type==="wheel"?d.wheelDelta??0:0;if(I!==0)return n.scrollOffset=Math.max(0,n.scrollOffset-I*3),j(),{handled:!0}}},Tj=new D6(Sj,{follow:"none",overscroll:"contain"}),Nu=new G6([{component:Tj,grow:1,shrink:1},{component:_i,grow:0,shrink:0,basis:"auto"}]),Ky="",Rj=()=>`${Jn?"picker":"dock"}|${[...p.keys()].join(",")}`;xl=()=>{let d=Rj();if(d===Ky)return;Ky=d,_i.clear();for(let k of p.values())_i.addChild(new ll(k));let I=Jn;if(I){let k=Dy,b=jy,S=qy;_i.addChild({render:B=>gj(I,k,B,b,S),invalidate:()=>{}})}else _i.addChild(he);Nu.invalidate()},xl();let By={focused:!1,invalidate(){n.invalidate(),he.invalidate(),Jn?.invalidate(),Nu.invalidate()},[lj]:()=>W6(Nu),render:d=>Nu.render(d),handleMouse(d){if(Yy(d))return Sl(),{handled:!0}},handleInput(d){c.handleInput(d)}};r.setLayoutRoot(By),r.setFocus(By);let mr=0,co="",bl=!1,Bo=!1,wl,Li="",Hy=0,Vs=!1,Du=Date.now(),ju=!1,qu=new Map,Wy=d=>{if(d.type==="agent_start"||d.type==="turn_start")d.type==="agent_start"&&Rb(),o.live||o.beginRun(),co="",Bo=!1,Vs=!1,Du=Date.now(),Li="";else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_delta"){Bo=!0,Li===""&&(Hy=Date.now()),Li+=d.assistantMessageEvent.delta;let I=`think-${mr}`,k=n.items.find(S=>S.id===I),b=Li.split(`
124
134
  `).slice(-6).join(`
125
- `);y?y.body=x:r.items.push({id:g,kind:"note",title:"thinking",body:x})}else if(l.type==="message_update"&&l.assistantMessageEvent.type==="thinking_end"){let g=`think-${It}`,y=r.items.find(x=>x.id===g);if(y){let x=Math.max(1,Math.round((Date.now()-Ed)/1e3));y.title="thought",y.body=`${x}s \xB7 ${Hr.length} chars of reasoning`}Hr=""}else if(l.type==="message_update"&&l.assistantMessageEvent.type==="text_delta"){gr=!0,zn+=l.assistantMessageEvent.delta;let g=`live-${It}`,y=r.items.find(x=>x.id===g);y?y.body=zn:r.items.push({id:g,kind:"assistant",title:"HowToFix",body:zn})}else if(l.type==="tool_execution_start"){pi.set(l.toolCallId,l.args),gr=!1,Ko=!1,mi=Date.now();let g=`tool-${l.toolCallId}`,y=jo(l.toolName,l.args),x=r.items.find($=>$.id===g);if(x?(x.kind="tool",x.title=l.toolName,x.body=y,x.live=!0):r.items.push({id:g,kind:"tool",title:l.toolName,body:y,live:!0}),Om=l.toolName,l.toolName==="task"){let $=en.filter(K=>K.status==="queued"||K.status==="running");te("note",$.map(K=>`${K.agent} ${K.status}`).join(" | ")||"agent running")}}else if(l.type==="tool_execution_update"){let g=UP(l.toolName,l.partialResult);if(g){let y=`tool-${l.toolCallId}`,x=r.items.find(K=>K.id===y);x?x.panel=g:r.items.push({id:y,kind:"tool",title:l.toolName,body:jo(l.toolName,pi.get(l.toolCallId)),panel:g,live:!0});let $=Em(l.toolName,l.partialResult);$&&G!==$.name&&xe($),N()}}else if(l.type==="tool_execution_end"){o.percent=_o(v);let g=r.items.find(R=>R.id===`tool-${l.toolCallId}`);g&&(g.live=!1,g.body=jo(l.toolName,pi.get(l.toolCallId))),pi.delete(l.toolCallId),Om=void 0,gr=!0,Ko=!1,ai.set(l.toolName,(ai.get(l.toolName)??0)+1),l.isError&&Rm.add(l.toolName),VP();let y=NS(l.toolName,l.result),x=qS(l.toolName,l.result),$=Em(l.toolName,l.result),K=$?ii($):void 0;$&&G!==$.name&&xe($);let w=r.items.find(R=>R.id===`tool-${l.toolCallId}`),k=xm(l.toolName,l.result,l.isError);w?(w.kind="result",w.call=w.body,w.body=k,w.live=!1,y.length>0&&(w.detail=y),x.length>0&&(w.full=x),K&&(w.panel=K)):r.items.push({id:`tool-${l.toolCallId}`,kind:"result",title:l.toolName,body:k,...y.length>0?{detail:y}:{},...x.length>0?{full:x}:{},...K?{panel:K}:{}}),(l.toolName==="bash"||l.toolName==="powershell"||l.toolName==="edit"||l.toolName==="write")&&i()}else if(l.type==="compaction_start"){gr=!0;let g=l.reason==="manual"?"on request":"context is nearly full",y=r.items.find(K=>K.id===`compact-${It}`),x="compacting context",$=`${g} \xB7 summarizing the older turns`;y?(y.title=x,y.body=$):r.items.push({id:`compact-${It}`,kind:"note",title:x,body:$,live:!0}),te("note","compacting context")}else if(l.type==="compaction_end"){let g=r.items.find(K=>K.id===`compact-${It}`),y=l.result,x="compacted",$;if(l.aborted)$="cancelled";else if(l.errorMessage)$=`failed: ${l.errorMessage}`;else if(y){let K=Math.round(y.tokensBefore/1e3),w=y.estimatedTokensAfter!==void 0?Math.round(y.estimatedTokensAfter/1e3):void 0,k=y.estimatedTokensAfter!==void 0?y.tokensBefore-y.estimatedTokensAfter:void 0,R=k!==void 0&&k<2e3;$=w!==void 0?`${K}k \u2192 ${w}k tokens \xB7 older turns summarized${R?`
126
- this freed almost nothing \u2014 the window may be too small for this work`:""}`:`${K}k tokens \xB7 older turns summarized`}else $="nothing to compact";g?(g.title=x,g.body=$,g.live=!1):r.items.push({id:`compact-${It}`,kind:"note",title:x,body:$}),o.percent=_o(v),te("note",void 0)}else if(l.type==="message_end"&&l.message.role==="assistant"){let g=r.items.find(y=>y.id===`live-${It}`);g&&(g.id=`done-${It}`),It+=1,zn="",o.percent=_o(v)}else if(l.type==="agent_settled"){if(o.live=!1,s(rn),rn="",te("run",void 0),Mm){let g=r.items.find(y=>y.id===`live-${It}`);g?(g.id=`stopped-${It}`,g.title="stopped",g.body=zn.trim()||"(no output)",g.live=!1):r.items.push({id:`stopped-${It}`,kind:"note",title:"stopped",body:"run cancelled"}),It+=1,zn="",E("stopped","run cancelled by Esc"),Mm=!1}o.percent=_o(v),te("note",void 0),CP(e.cwd).then(g=>{g!==null&&(o.git=g,N())}),c.disableSubmit=!1}else l.type==="thinking_level_changed"?o.thinking=l.level:l.type==="auto_retry_start"&&te("note",`retry ${l.attempt}/${l.maxAttempts}`);N()},Cm=v.subscribe(Sd),Pd=setInterval(()=>{let l=I!==void 0&&Date.now()<P;if((ci||v.isStreaming||o.settling()||r.entering()||Nn||l)&&N(),(ci||v.isStreaming)&&!gr&&!Ko&&Date.now()-mi>z_){Ko=!0;let g=Om,y=Math.round((Date.now()-mi)/1e3);te("note",g?`${g} has been running for ${y}s \u2014 it may be blocked; esc cancels`:`no answer yet after ${y}s \u2014 the provider may be stalled; ctrl+c cancels`),N()}},B_);Pd.unref?.();let Rd=async l=>{Uo?.(),Uo=void 0,Cm(),Gt&&LS(Gt,v.getSessionStats().sessionId),No=void 0,Wt=0,v.dispose(),v=l.session,It=0,zn="",r.items=[],r.scrollOffset=0,l.note&&r.items.push({id:"note",kind:"note",title:"note",body:l.note}),r.items.push(...bm(v.state.messages)),o.model=l.modelLabel.split("/").at(-1)||"no-model",o.thinking=v.thinkingLevel,o.percent=_o(v),o.abandonAnimations(),te("tally",void 0),te("run",void 0),c.setAutocompleteProvider(new AP(fd(v),e.cwd)),c.disableSubmit=!1,kd(v),Cm=v.subscribe(Sd),N()},li=()=>{Ve||(Ve=!0,clearInterval(Pd),Cm(),v.dispose(),n.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},Ad=l=>{r.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:l}),te("tally",void 0),ai.clear(),Rm.clear(),te("run","thinking"),o.beginRun(),N(),c.disableSubmit=!1;let g=tc(l,e.cwd);rn=l,ci=!0;let y=v.isStreaming?v.prompt(g,{streamingBehavior:"steer"}):v.prompt(g);ci=!1,y.catch(x=>hn(x instanceof Error?x.message:String(x)))},Lm=l=>{let g=l.trim();if(g){if(nn){let y=nn;nn=void 0,c.setText(""),y(g);return}if(c.setText(""),c.addToHistory(g),g.startsWith("!")){let y=g.slice(1).trim();if(!y)return;r.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:y}),te("run","shell"),N(),v.executeBash(y,x=>{te("run",`shell \xB7 ${x.length} bytes`),N()}).then(x=>{let $=x.output.trim();r.items.push({id:`sh-out-${Date.now()}`,kind:x.exitCode===0?"result":"error",title:`exit ${x.exitCode??"?"}`,body:$||"(no output)"}),te("tally",void 0),N()}).catch(x=>hn(x instanceof Error?x.message:String(x)));return}if(g.startsWith("/")){ZP(g);return}Ad(g)}};c.onSubmit=Lm;let Fm=0,jm=()=>{lS().then(l=>{l.ok?c.insertTextAtCursor(l.text):E("paste",l.reason),N()}).catch(l=>{E("paste",`could not read the clipboard: ${l instanceof Error?l.message:String(l)}`),N()})},Md=l=>dS()&&l.type==="press"&&l.button==="right";n.addInputListener(l=>{if(Ge){if(jt(l,"escape"))return Sm(),{consume:!0};let y=MP(),x=y.matches(l,"tui.select.up"),$=y.matches(l,"tui.select.down");if(x||$){let w=Ge.getTreeList().getSelectedNode()?.entry.id,k=Dt(),R=w===void 0?-1:k.indexOf(w);if(x?R===0:R===k.length-1)return N(),{consume:!0}}return Ge.handleInput(l),N(),{consume:!0}}if(z&&C&&jt(l,"escape"))return ee?(ee=!1,E("workflow","panel keys off \u2014 the editor has the keyboard")):A.expanded?(A.expanded=!1,E("workflow","collapsed the drill-in")):(Qe(),E("workflow","panel unpinned; the run is still in the transcript")),De(),N(),{consume:!0};if(Nn)return Nn.handleInput(l),N(),{consume:!0};if(jt(l,"escape")){if(v.isStreaming)return Mm=!0,v.abort(),te("note","stopping"),N(),{consume:!0};let y=Date.now();if(c.getText().length===0&&y-Fm<600)return Fm=0,xd(),{consume:!0};Fm=y;return}if(jt(l,"ctrl+c"))return v.isStreaming?(v.abort(),te("note","stopping"),N()):c.getText().length>0?(c.setText(""),te("note","draft cleared \u2014 ctrl+c again quits"),N()):li(),{consume:!0};if(jt(l,"ctrl+d")&&c.getText().length===0)return li(),{consume:!0};let g=Math.max(1,r.viewportHeight-1);if(jt(l,"pageUp"))return r.scrollOffset+=g,N(),{consume:!0};if(jt(l,"pageDown"))return r.scrollOffset=Math.max(0,r.scrollOffset-g),N(),{consume:!0};if(jt(l,"home"))return r.scrollOffset=Number.MAX_SAFE_INTEGER,N(),{consume:!0};if(jt(l,"end"))return r.scrollOffset=0,N(),{consume:!0};if(jt(l,"ctrl+v"))return jm(),{consume:!0};if(jt(l,"ctrl+l"))return r.scrollOffset=0,n.scrollToBottom(),N(),{consume:!0};if(jt(l,"ctrl+e")){let y=[...r.items].reverse().find(x=>(x.full?.length??0)>0);return y?(y.expanded=y.expanded!==!0,N(),{consume:!0}):(E("expand","nothing to expand in this transcript yet"),{consume:!0})}if(jt(l,"ctrl+o")&&!v.isStreaming)return r.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],N(),{consume:!0};if(jt(l,kP)&&z&&C)return ee=!ee,E("workflow",ee?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),De(),N(),{consume:!0};if(ee&&z&&C){let y=bP(l);if(y){let x=Fo(C,Date.now());if(y==="stop")return U?(U(),U=null,E("workflow","stopping the run \u2014 in-flight agents resolve as null")):E("workflow","the run has already finished"),{consume:!0};if(y==="save"){let $=vP(ye,Km);return E("workflow",$.ok?`saved ${$.path}`:$.reason),N(),{consume:!0}}return Object.assign(A,wP(A,y,x)),De(),N(),{consume:!0}}}});let Dm=l=>{let g=y=>{te("prompt",`API key for ${y}. Paste it, then press enter.`),N();let x=nn;nn=$=>{nn=x;let K=$.trim();if(!K){te("prompt",void 0),N();return}v.modelRuntime.setRuntimeApiKey(y,K).then(()=>E("login",`saved API key for ${y}`),w=>E("login",w instanceof Error?w.message:String(w)))}};if(l){g(l);return}v.modelRuntime.getAvailable().then(y=>{let x=[...new Set(y.map($=>$.provider))].sort();if(x.length===0){E("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}_t("Login",x.map($=>({value:$,label:$})),g)},y=>E("login",y instanceof Error?y.message:String(y)))},Od=async(l,g)=>{let y=RP(_e,"models.json"),x,$=!1;try{x=JSON.parse(T_(y,"utf8"))}catch(on){if(!(on instanceof Error&&"code"in on&&on.code==="ENOENT"))return`could not read ${y}; the models were not added`;x={providers:{}},$=!0}(!x.providers||typeof x.providers!="object")&&(x.providers={});let K=x.providers[l];K||(K=Bm(),x.providers[l]=K,$=!0);let w=Array.isArray(K.models)?K.models:[],k=Jm(w,g),R=xi(Vm(w,g));K.models=R.models;try{k_(_e,{recursive:!0}),tt(y,`${JSON.stringify(x,null,2)}
127
- `)}catch{return`could not write ${y}; the models were not added`}let D=!1;try{await v.modelRuntime.refresh(),D=!0}catch{D=!1}let ve=R.changed>0?`, repaired ${R.changed}`:"",et=D?"":"; restart the CLI to see them all",At=$?` (created ${y})`:"";return k===0?`all ${g.length} models were already configured${ve}${At}${et}`:`added ${k} model(s) to "${l}"${ve}${At}${et}`},di=l=>{(async()=>{if(!l){let k=await aP({onProgress:D=>{D.kind==="browser"?(wm(D.url),E("connect",["finish signing in to howtofix.id:"," a browser window is opening \u2014 approve the sign-in there",` if it did not open, visit ${D.url}`].join(`
128
- `))):(wm(D.url),E("connect",["finish signing in to howtofix.id:",` 1. go to ${D.url}`,` 2. enter the code: ${D.code}`," waiting\u2026"].join(`
129
- `))),N()}});if(k.ok){te("prompt",void 0),nn=void 0,di(k.token);return}let R=await wm(gi);E("connect",[`browser sign-in: ${k.message}`,"","connect with a token instead:",` 1. ${R?"the keys page is opening in your browser":`open ${gi}`}`," 2. sign in if asked, then create a key (starts with sk-)"," 3. run /connect <token>"," or /connect again, and paste the key when asked"].join(`
130
- `)),N();return}if(!Hm(l)){E("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}te("note",`connecting to howtofix.id (${hi(l)})`),N();let g=await yi(l);if(!g.ok){te("note",void 0),E("connect",g.message),N();return}await v.modelRuntime.setRuntimeApiKey("howtofix",l);let y=await Od("howtofix",g.models),x=!!v.model&&v.model?.provider!==void 0&&o.model!=="unknown",$,K;if(!x)try{let k=(await v.modelRuntime.getAvailable()).filter(ve=>xr(ve.provider)),D=_P(k.map(ve=>ve.id)).slice(0,4);for(let ve of D){if(!(await Ym(ve,l)).ok)continue;let At=k.find(on=>on.id===ve);if(At){await v.setModel(At),o.model=At.id,$=`${At.provider}/${At.id}`;break}}$||(K=D.length>0?`none of the first ${D.length} models answered (${D[0]} did not)`:"the account lists no chat model")}catch(k){K=k instanceof Error?k.message:String(k)}te("note",void 0);let w=await Bo(l);E("connect",[`connected ${hi(l)} \u2014 ${g.message}`,y,_m("howtofix",w),$?`using ${$} (change it with /model)`:`pick a model with /model, then send a prompt${K?` (auto-select failed: ${K})`:""}`].join(`
131
- `)),N()})().catch(g=>{te("note",void 0),E("connect",g instanceof Error?g.message:String(g)),N()})},_m=(l,g)=>{let y=[`${l} account`];if(!g.ok)return[...y,` ${g.message}`].join(`
132
- `);if(g.unlimited)y.push(" quota no limit on this token");else{let x=$=>`${$.toFixed(2)} ${g.unit}`;g.limit!==void 0&&y.push(` granted ${x(g.limit)}`),g.used!==void 0&&y.push(` spent ${x(g.used)}`),g.remaining!==void 0&&y.push(` remaining ${x(g.remaining)}`)}return y.join(`
133
- `)},ZP=async l=>{let[g,...y]=l.slice(1).split(/\s+/),x=y.join(" ");if(g==="quit"||g==="exit"){li();return}if(g==="help"){E("help",fd(v).map(w=>`/${w.name} ${w.description??""}`).join(`
134
- `));return}if(g==="init"){let w=RP(e.cwd,"AGENTS.md");if($_(w)&&x!=="force"){E("init",`AGENTS.md already exists at ${w}. run /init force to overwrite.`);return}tt(w,Fd),E("init",`wrote ${w}; asking the agent to fill it in`),await v.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(g==="login"){Dm(x);return}if(g==="connect"){if(x.trim()){di(x.trim());return}di(""),te("prompt","paste your howtofix.id token, then press enter"),N();let w=nn;nn=k=>{nn=w,te("prompt",void 0),di(k.trim())};return}if(g==="sync"){let w=new Set((await v.modelRuntime.getAvailable()).map(on=>on.provider).filter(on=>xr(on))),k=Yr.find(on=>w.has(on));if(!k){E("sync","no howtofix.id account is connected; run /connect first");return}te("note",`re-syncing ${k} from howtofix.id`),N();let D=(await v.modelRuntime.getAuth(k))?.auth?.apiKey;if(!D){te("note",void 0),E("sync",`${k} has no usable key; run /connect to sign in again`),N();return}let ve=await yi(D);if(!ve.ok){te("note",void 0),E("sync",ve.message),N();return}let et=await Od(k,ve.models),At=await Bo(D);te("note",void 0),E("sync",`${et}
135
- ${_m(k,At)}`),await v.modelRuntime.refresh(),N();return}if(g==="usage"){let w=new Set((await v.modelRuntime.getAvailable()).map(et=>et.provider).filter(et=>xr(et))),k=Yr.find(et=>w.has(et));if(!k){E("usage","no howtofix.id account is connected; run /connect first");return}te("note","asking howtofix.id for the account usage"),N();let D=(await v.modelRuntime.getAuth(k))?.auth?.apiKey;if(!D){te("note",void 0),E("usage",`${k} has no usable key; run /connect to sign in again`),N();return}let ve=await Bo(D);te("note",void 0),E("usage",_m(k,ve)),N();return}if(g==="logout"){let w=await v.modelRuntime.getAvailable(),k=[...new Set(w.map(R=>R.provider))].sort();if(k.length===0){E("logout","no providers are configured");return}_t("Logout",k.map(R=>({value:R,label:R})),R=>{v.modelRuntime.logout(R).then(()=>E("logout",`logged out ${R}`),D=>E("logout",D instanceof Error?D.message:String(D)))});return}if(g==="providers"){let w=await v.modelRuntime.getAvailable(),k=[...new Set(w.map(R=>R.provider))].sort();k.sort((R,D)=>Number(xr(D))-Number(xr(R))),_t("Providers",k.map(R=>({value:R,label:R})),R=>{let D=v.modelRuntime.getModels(R);if(D.length===0){Dm(R);return}_t(R,D.map(ve=>({value:ve.id,label:ve.id})),ve=>{let et=D.find(At=>At.id===ve);et&&v.setModel(et).then(()=>{o.model=et.id,E("providers",`${R}/${et.id}`)},()=>Dm(R))})});return}if(g==="name"){if(!x){E("name","usage: /name <session name>");return}v.setSessionName(x),E("name",`session name: ${x}`);return}if(g==="update"){await bd({current:Nt,install:!0});return}if(g==="stats"){let w=v.getSessionStats(),k=v.getContextUsage(),R=D=>Number.isFinite(D)?String(D):"\u2014";E("stats",[`session ${w.sessionId}`,w.sessionFile?`file ${w.sessionFile}`:"not persisted",`messages ${R(w.totalMessages)} (user ${R(w.userMessages)}, assistant ${R(w.assistantMessages)}, tools ${R(w.toolCalls)})`,`tokens in ${R(w.tokens.input)} out ${R(w.tokens.output)} cache ${R(w.tokens.cacheRead)}/${R(w.tokens.cacheWrite)}`,`cost $${Number.isFinite(w.cost)?w.cost.toFixed(4):"\u2014"}`,k?`context ${k.percent===null||!Number.isFinite(k.percent)?"?":`${Math.round(k.percent)}%`} of ${k.contextWindow}`:"context unknown"].join(`
136
- `));return}if(g==="diff"){let w=async et=>{try{let{stdout:At}=await gd("git",et,{cwd:e.cwd,encoding:"utf8"});return At.trim()}catch{return""}},k=await w(["diff","--stat"])+`
137
-
138
- `+await w(["diff","--","."]),[R="",D=""]=k.split(`
139
-
140
- `,2),ve=LE(D);E("diff",[R.trim(),ve].filter(Boolean).join(`
141
-
142
- `)||"working tree clean");return}if(g==="copy"){let w=[...v.state.messages].reverse().find(D=>D.role==="assistant"),R=(Array.isArray(w?.content)?w.content:[]).filter(D=>D.type==="text").map(D=>D.text).join("");if(!R){E("copy","nothing to copy");return}try{await S_(R),E("copy",`copied ${R.length} characters`)}catch(D){E("copy",D instanceof Error?D.message:String(D))}return}if(g==="export"){let w=r.items.filter(D=>D.body.trim().length>0);if(w.length===0){E("export","nothing to export yet \u2014 the transcript is empty");return}let k=E_(e.cwd,x||`howtofix-session-${Date.now()}.md`),R=[`# ${at} session`,"",`model ${o.model}`,""];for(let D of w)R.push(`## ${D.title||D.kind}`,"",D.body,"");try{tt(k,R.join(`
143
- `))}catch(D){E("export",`could not write ${k}: ${D instanceof Error?D.message:String(D)}`);return}E("export",`wrote ${k}`);return}if(g==="agents"){let[w="",...k]=x.split(/\s+/).filter(Boolean),R=k.join(" ").trim();if(w&&R){E("agents",await SE(w,R));return}E("agents",w?Ml(w):Al());return}if(g==="new"){let w=await e.reopen({noSession:!1});await Rd(w),E("new","started a new session");return}if(g==="resume"){let w=await P_.list(e.cwd);if(w.length===0){E("resume","no saved sessions for this folder");return}_t("Resume session",w.slice(0,30).map(k=>({value:k.path,label:k.name||`${k.id.slice(0,8)} ${k.firstMessage.slice(0,40)}`,description:`${k.modified.toISOString().slice(0,16)} ${k.messageCount} messages`})),k=>{e.reopen({sessionPath:k}).then(Rd,R=>hn(R instanceof Error?R.message:String(R)))});return}if(g==="model"){let w=await v.modelRuntime.getAvailable(),k=x?w.find(R=>`${R.provider}/${R.id}`===x||R.id===x):void 0;if(!x){_t("Select model",w.map(R=>({value:`${R.provider}/${R.id}`,label:R.id,description:R.provider})),R=>{let D=w.find(ve=>`${ve.provider}/${ve.id}`===R);D&&v.setModel(D).then(()=>{o.model=D.id,E("model",`model ${R}`)})});return}if(!k){E("model",`unknown model ${x}`);return}await v.setModel(k),o.model=k.id,E("model",`model ${k.provider}/${k.id}`);return}if(g==="thinking"){if(!x){_t("Thinking level",dd.map(w=>({value:w,label:w})),w=>{v.setThinkingLevel(w),o.thinking=w,E("thinking",`thinking ${w}`)});return}if(!dd.includes(x)){E("thinking",`thinking: ${dd.join(", ")}`);return}v.setThinkingLevel(x),o.thinking=x,E("thinking",`thinking ${x}`);return}if(g==="compact"){try{await v.compact(x||void 0),E("compact","session compacted")}catch(w){E("compact",w instanceof Error?w.message:String(w))}return}if(g==="approval"){let w=k=>{cc(k),E("approval",vi[k])};if(!x){_t("Approval mode",Xr.map(k=>({value:k,label:k,description:vi[k]})),k=>w(k));return}if(!Xr.includes(x)){E("approval",`modes: ${Xr.join(", ")}`);return}w(x);return}if(g==="tools"){let w=v.getActiveToolNames().sort();E("tools",w.length?w.join(`
144
- `):"no tools enabled");return}if(g==="rewind"){xd();return}if(g==="undo"){if(!await um(e.cwd)){E("undo","not a git repository");return}let w=await OE(e.cwd);E("undo",w.ok?`undone: ${w.output}`:`undo failed: ${w.output}`),i(!0);return}if(g==="commit"){if(!um(e.cwd)){E("commit","not a git repository");return}if(!await AE(e.cwd)){E("commit","nothing to commit");return}let w=x||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,k=await ME(e.cwd,w);E("commit",k.ok?k.output:`commit failed: ${k.output}`),i(!0);return}if(g==="review"){if(!(await CE(e.cwd)).trim()){E("review","no changes to review");return}Lm("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(g==="workflow"){if(x.trim()==="clear"){Qe(),E("workflow","cleared the pinned workflow panel");return}if(!C){E("workflow","no workflow run in this session yet");return}let w=Fo(C,Date.now()),k=w[A.selectedPhase];E("workflow",[`panel ${z?"pinned above the editor":"unpinned"}`,`phase ${A.selectedPhase+1}/${w.length}: ${k?.title??"(none)"}`,`filter: ${A.filter}${A.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(`
145
- `));return}if(g==="plan"){if(Qv()||Zu().state==="pending"){Co(Xv(Zu())),E("plan","plan mode off \u2014 edits are allowed again");return}Co(Yv(Zu())),E("plan",`plan mode armed \u2014 send your next prompt to start planning
146
- plan file: ${Zv()??"(unknown)"}`);return}if(g==="goal"){let w=x.trim();if(!w){E("goal",zu(Hu()));return}let{goal:k,error:R}=ll(Hu(),"set",w,void 0,void 0);if(R){hn(R);return}ln(k),await v.sendCustomMessage({customType:pr,content:w,display:!1,details:k}),E("goal",`goal set
147
- ${zu(k)}`);return}if(g==="session"){let w=v.model;E("session",w?`${w.provider}/${w.id}`:"no model");return}if(g==="skills"){E("skills",gP(v.resourceLoader.getSkills().skills));return}let $=fP(l,v.resourceLoader.getSkills().skills.map(w=>w.name));if($){Ad($);return}let K=v.extensionRunner.getCommand(g??"");if(K){try{await K.handler(x,v.extensionRunner.createCommandContext())}catch(w){hn(w instanceof Error?w.message:String(w))}return}E("command",`/${g??""} is not available in this screen yet`)};Pf((l,g)=>{let{promise:y,resolve:x}=Promise.withResolvers();return _t(l,g.map($=>({value:$,label:$})),x,()=>x("cancelled")),y}),process.on("SIGTERM",li),t.setTitle(`${at} ${Nt}`),G_(),n.start(),n.requestRender(!0),e.initialPrompt&&Lm(e.initialPrompt),await new Promise(()=>{})}var OP,dd,DP,gd,km,Tm,vm,q_,U_,nn,B_,z_,GP=u(()=>{Go();fS();zl();FS();nc();GS();Js();tP();uP();id();Vs();dc();rd();lP();Zs();ql();Xm();dP();xn();hP();EP();Ol();Jo();rc();Ju();hl();PP();Hn();OP={borderColor:()=>"",selectList:{selectedPrefix:e=>re(e,_.accent),selectedText:e=>re(e,_.text,{bold:!0}),description:e=>re(e,_.mute),scrollInfo:e=>re(e,_.dim),noMatch:e=>re(e,_.mute)}},dd=["off","minimal","low","medium","high","xhigh","max"],DP=Symbol.for("@earendil-works/pi-tui/layout-node");gd=I_(w_);km=class{folder;model;git;percent=0;meter=new fm(0);activity=mP();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,n){this.folder=v_(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=VS(this.model,this.thinking,this.folder,this.git),s=[si(`${JS(o,this.live?ed():"",this.live?this.waitedMs():void 0)} ${YS(r,this.cubence)}`,t)],i=nE();i&&s.push(si(re(i,_.warn),t));let c=qv(Hu());c&&s.push(si(re(c,_.accent),t));let p=pP(this.activity,ed(),n),d=this.live?TS(p,{base:Gl(this.waitedMs(),_.mute,_.warn,_.bad),bright:_.text,charMs:45},n):re(p,Gl(this.waitedMs(),_.mute,_.warn,_.bad));return s.push(si(d,t)),s}},Tm=class{constructor(t){this.draw=t}draw;render(t){return this.draw(t)}invalidate(){}},vm=class{constructor(t,n){this.editor=t;this.hud=n}editor;hud;focused=!1;invalidate(){this.editor.invalidate()}render(t){let n=Math.max(10,t-4),r=this.editor.render(n).filter(c=>$m(c)>0),o=r.length>0?r:[""],s="\u2500".repeat(Math.max(0,t-2)),i=o.map(c=>{let p=Math.max(0,n-$m(c));return`\u2502 ${c}${" ".repeat(p)} \u2502`});return[`\u250C${s}\u2510`,...i,`\u2514${s}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},q_=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],U_=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;B_=1e3/30,z_=45e3});Go();var jd={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},Dd={suggest:!0,"auto-edit":!0,"full-auto":!0};function fi(e,t,n){let r=e[t];if(r?.includes("="))return r.slice(r.indexOf("=")+1);let o=e[t+1];if(!o||o.startsWith("-"))throw new Error(`${n} needs a value`);return e.splice(t+1,1),o}function _d(e){let t={print:!1,continueSession:!1,noSession:!1,help:!1,version:!1,update:!1,checkUpdate:!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==="--update")t.update=!0;else if(s==="--check-update")t.checkUpdate=!0;else if(s==="-r"||s==="--resume")t.continueSession=!0;else if(s==="--session"||s.startsWith("--session="))t.sessionPath=fi(r,o,"--session");else if(s==="-m"||s==="--model"||s.startsWith("--model="))t.model=fi(r,o,"--model");else if(s==="--thinking"||s.startsWith("--thinking="))t.thinking=fi(r,o,"--thinking");else if(s==="--approval"||s.startsWith("--approval="))t.approval=fi(r,o,"--approval");else{if(s.startsWith("-"))throw new Error(`unknown option ${s}`);n.push(s)}}if(t.thinking&&!jd[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(jd).join(", ")}`);if(t.approval&&!Dd[t.approval])throw new Error(`approval must be one of: ${Object.keys(Dd).join(", ")}`);if(t.prompt=n.join(" ").trim(),t.update&&t.checkUpdate)throw new Error("--update installs; --check-update only looks. pick one");if((t.update||t.checkUpdate)&&(t.print||t.continueSession||t.sessionPath||t.prompt))throw new Error("--update and --check-update act on the installation, not a session; they take no prompt");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}function Nm(){return`${at} ${Nt}
135
+ `);k?k.body=b:n.items.push({id:I,kind:"note",title:"thinking",body:b})}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="thinking_end"){let I=`think-${mr}`,k=n.items.find(b=>b.id===I);if(k){let b=Math.max(1,Math.round((Date.now()-Hy)/1e3));k.title="thought",k.body=`${b}s \xB7 ${Li.length} chars of reasoning`}Li=""}else if(d.type==="message_update"&&d.assistantMessageEvent.type==="text_delta"){Bo=!0,co+=d.assistantMessageEvent.delta;let I=`live-${mr}`,k=n.items.find(b=>b.id===I);k?k.body=co:n.items.push({id:I,kind:"assistant",title:"HowToFix",body:co})}else if(d.type==="tool_execution_start"){qu.set(d.toolCallId,d.args),Bo=!1,Vs=!1,Du=Date.now();let I=`tool-${d.toolCallId}`,k=Gs(d.toolName,d.args),b=n.items.find(S=>S.id===I);if(b?(b.kind="tool",b.title=d.toolName,b.body=k,b.live=!0):n.items.push({id:I,kind:"tool",title:d.toolName,body:k,live:!0}),wl=d.toolName,d.toolName==="task"){let S=Qr.filter(B=>B.status==="queued"||B.status==="running");se("note",S.map(B=>`${B.agent} ${B.status}`).join(" | ")||"agent running")}}else if(d.type==="tool_execution_update"){let I=xj(d.toolName,d.partialResult);if(I){let k=`tool-${d.toolCallId}`,b=n.items.find(B=>B.id===k);b?b.panel=I:n.items.push({id:k,kind:"tool",title:d.toolName,body:Gs(d.toolName,qu.get(d.toolCallId)),panel:I,live:!0});let S=gl(d.toolName,d.partialResult);S&&z!==S.name&&Pe(S),j()}}else if(d.type==="tool_execution_end"){o.percent=Bs(A);let I=n.items.find(v=>v.id===`tool-${d.toolCallId}`);I&&(I.live=!1,I.body=Gs(d.toolName,qu.get(d.toolCallId))),qu.delete(d.toolCallId),wl=void 0,Bo=!0,Vs=!1,Uu.set(d.toolName,(Uu.get(d.toolName)??0)+1),d.isError&&Il.add(d.toolName),$j();let k=gD(d.toolName,d.result),b=hD(d.toolName,d.result),S=gl(d.toolName,d.result),B=S?Lu(S):void 0;S&&z!==S.name&&Pe(S);let E=n.items.find(v=>v.id===`tool-${d.toolCallId}`),T=sl(d.toolName,d.result,d.isError);E?(E.kind="result",E.call=E.body,E.body=T,E.live=!1,k.length>0&&(E.detail=k),b.length>0&&(E.full=b),B&&(E.panel=B)):n.items.push({id:`tool-${d.toolCallId}`,kind:"result",title:d.toolName,body:T,...k.length>0?{detail:k}:{},...b.length>0?{full:b}:{},...B?{panel:B}:{}}),(d.toolName==="bash"||d.toolName==="powershell"||d.toolName==="edit"||d.toolName==="write")&&a()}else if(d.type==="compaction_start"){Bo=!0;let I=d.reason==="manual"?"on request":"context is nearly full",k=n.items.find(B=>B.id===`compact-${mr}`),b="compacting context",S=`${I} \xB7 summarizing the older turns`;k?(k.title=b,k.body=S):n.items.push({id:`compact-${mr}`,kind:"note",title:b,body:S,live:!0}),se("note","compacting context")}else if(d.type==="compaction_end"){let I=n.items.find(B=>B.id===`compact-${mr}`),k=d.result,b="compacted",S;if(d.aborted)S="cancelled";else if(d.errorMessage)S=`failed: ${d.errorMessage}`;else if(k){let B=Math.round(k.tokensBefore/1e3),E=k.estimatedTokensAfter!==void 0?Math.round(k.estimatedTokensAfter/1e3):void 0,T=k.estimatedTokensAfter!==void 0?k.tokensBefore-k.estimatedTokensAfter:void 0,v=T!==void 0&&T<2e3;S=E!==void 0?`${B}k \u2192 ${E}k tokens \xB7 older turns summarized${v?`
136
+ this freed almost nothing \u2014 the window may be too small for this work`:""}`:`${B}k tokens \xB7 older turns summarized`}else S="nothing to compact";I?(I.title=b,I.body=S,I.live=!1):n.items.push({id:`compact-${mr}`,kind:"note",title:b,body:S}),o.percent=Bs(A),se("note",void 0)}else if(d.type==="message_end"&&d.message.role==="assistant"){let I=n.items.find(k=>k.id===`live-${mr}`);I&&(I.id=`done-${mr}`),mr+=1,co="",o.percent=Bs(A)}else if(d.type==="agent_settled"){if(o.live=!1,i(rn),rn="",se("run",void 0),bl){let I=n.items.find(k=>k.id===`live-${mr}`);I?(I.id=`stopped-${mr}`,I.title="stopped",I.body=co.trim()||"(no output)",I.live=!1):n.items.push({id:`stopped-${mr}`,kind:"note",title:"stopped",body:"run cancelled"}),mr+=1,co="",P("stopped","run cancelled by Esc"),bl=!1}o.percent=Bs(A),se("note",void 0),mj(e.cwd).then(I=>{I!==null&&(o.git=I,j())}),c.disableSubmit=!1}else d.type==="thinking_level_changed"?o.thinking=d.level:d.type==="auto_retry_start"&&se("note",`retry ${d.attempt}/${d.maxAttempts}`);j()},kl=A.subscribe(Wy),zy=setInterval(()=>{let d=x!==void 0&&Date.now()<w;if((ju||A.isStreaming||o.settling()||n.entering()||Jn||d)&&j(),(ju||A.isStreaming)&&!Bo&&!Vs&&Date.now()-Du>Q6){Vs=!0;let I=wl,k=Math.round((Date.now()-Du)/1e3);se("note",I?`${I} has been running for ${k}s \u2014 it may be blocked; esc cancels`:`no answer yet after ${k}s \u2014 the provider may be stalled; ctrl+c cancels`),j()}},Z6);zy.unref?.();let Vy=async d=>{zs?.(),zs=void 0,kl(),Gr&&cD(Gr,A.getSessionStats().sessionId),Hs=void 0,Kr=0,A.dispose(),A=d.session,mr=0,co="",n.items=[],n.scrollOffset=0,d.note&&n.items.push({id:"note",kind:"note",title:"note",body:d.note}),n.items.push(...ul(A.state.messages)),o.model=d.modelLabel.split("/").at(-1)||"no-model",o.thinking=A.thinkingLevel,o.percent=Bs(A),o.abandonAnimations(),se("tally",void 0),se("run",void 0),c.setAutocompleteProvider(new sj(vy(A),e.cwd)),c.disableSubmit=!1,Gy(A),kl=A.subscribe(Wy),j()},Gu=()=>{vt||(vt=!0,clearInterval(zy),kl(),A.dispose(),r.stop(),process.stdout.write("\x1B[0m"),process.exit(0))},Jy=d=>{n.items.push({id:`you-${Date.now()}`,kind:"user",title:"you",body:d}),se("tally",void 0),Uu.clear(),Il.clear(),se("run","thinking"),o.beginRun(),j(),c.disableSubmit=!1;let I=Bl(d,e.cwd);rn=d,ju=!0;let k=A.isStreaming?A.prompt(I,{streamingBehavior:"steer"}):A.prompt(I);ju=!1,k.catch(b=>En(b instanceof Error?b.message:String(b)))},El=d=>{let I=d.trim();if(I){if(tn){let k=tn;tn=void 0,c.setText(""),k(I);return}if(c.setText(""),c.addToHistory(I),I.startsWith("!")){let k=I.slice(1).trim();if(!k)return;n.items.push({id:`sh-${Date.now()}`,kind:"tool",title:"$",body:k}),se("run","shell"),j(),A.executeBash(k,b=>{se("run",`shell \xB7 ${b.length} bytes`),j()}).then(b=>{let S=b.output.trim();n.items.push({id:`sh-out-${Date.now()}`,kind:b.exitCode===0?"result":"error",title:`exit ${b.exitCode??"?"}`,body:S||"(no output)"}),se("tally",void 0),j()}).catch(b=>En(b instanceof Error?b.message:String(b)));return}if(I.startsWith("/")){Aj(I);return}Jy(I)}};c.onSubmit=El;let $l=0,Sl=()=>{GN().then(d=>{d.ok?c.insertTextAtCursor(d.text):P("paste",d.reason),j()}).catch(d=>{P("paste",`could not read the clipboard: ${d instanceof Error?d.message:String(d)}`),j()})},Yy=d=>KN()&&d.type==="press"&&d.button==="right";r.addInputListener(d=>{if(Tt){if(Cr(d,"escape"))return hl(),{consume:!0};let k=aj(),b=k.matches(d,"tui.select.up"),S=k.matches(d,"tui.select.down");if(b||S){let E=Tt.getTreeList().getSelectedNode()?.entry.id,T=Or(),v=E===void 0?-1:T.indexOf(E);if(b?v===0:v===T.length-1)return j(),{consume:!0}}return Tt.handleInput(d),j(),{consume:!0}}if(Z&&C&&Cr(d,"escape"))return le?(le=!1,P("workflow","panel keys off \u2014 the editor has the keyboard")):$.expanded?($.expanded=!1,P("workflow","collapsed the drill-in")):(Dt(),P("workflow","panel unpinned; the run is still in the transcript")),It(),j(),{consume:!0};if(Jn)return Jn.handleInput(d),j(),{consume:!0};if(Cr(d,"escape")){if(A.isStreaming)return bl=!0,A.abort(),se("note","stopping"),j(),{consume:!0};let k=Date.now();if(c.getText().length===0&&k-$l<600)return $l=0,Ly(),{consume:!0};$l=k;return}if(Cr(d,"ctrl+c"))return A.isStreaming?(A.abort(),se("note","stopping"),j()):c.getText().length>0?(c.setText(""),se("note","draft cleared \u2014 ctrl+c again quits"),j()):Gu(),{consume:!0};if(Cr(d,"ctrl+d")&&c.getText().length===0)return Gu(),{consume:!0};let I=Math.max(1,n.viewportHeight-1);if(Cr(d,"pageUp"))return n.scrollOffset+=I,j(),{consume:!0};if(Cr(d,"pageDown"))return n.scrollOffset=Math.max(0,n.scrollOffset-I),j(),{consume:!0};if(Cr(d,"home"))return n.scrollOffset=Number.MAX_SAFE_INTEGER,j(),{consume:!0};if(Cr(d,"end"))return n.scrollOffset=0,j(),{consume:!0};if(Cr(d,"ctrl+v"))return Sl(),{consume:!0};if(Cr(d,"ctrl+l"))return n.scrollOffset=0,r.scrollToBottom(),j(),{consume:!0};if(Cr(d,"ctrl+e")){let k=[...n.items].reverse().find(b=>(b.full?.length??0)>0);return k?(k.expanded=k.expanded!==!0,j(),{consume:!0}):(P("expand","nothing to expand in this transcript yet"),{consume:!0})}if(Cr(d,"ctrl+o")&&!A.isStreaming)return n.items=[{id:"cleared",kind:"note",title:"bench",body:"screen cleared. session history is still stored."}],j(),{consume:!0};if(Cr(d,QD)&&Z&&C)return le=!le,P("workflow",le?"panel keys active \u2014 Esc gives the keyboard back":"panel keys off \u2014 the editor has the keyboard"),It(),j(),{consume:!0};if(le&&Z&&C){let k=JD(d);if(k){let b=qs(C,Date.now());if(k==="stop")return D?(D(),D=null,P("workflow","stopping the run \u2014 in-flight agents resolve as null")):P("workflow","the run has already finished"),{consume:!0};if(k==="save"){let S=tj(ve,Ol);return P("workflow",S.ok?`saved ${S.path}`:S.reason),j(),{consume:!0}}return Object.assign($,YD($,k,b)),It(),j(),{consume:!0}}}});let Tl=d=>{let I=k=>{se("prompt",`API key for ${k}. Paste it, then press enter.`),j();let b=tn;tn=S=>{tn=b;let B=S.trim();if(!B){se("prompt",void 0),j();return}A.modelRuntime.setRuntimeApiKey(k,B).then(()=>P("login",`saved API key for ${k}`),E=>P("login",E instanceof Error?E.message:String(E)))}};if(d){I(d);return}A.modelRuntime.getAvailable().then(k=>{let b=[...new Set(k.map(S=>S.provider))].sort();if(b.length===0){P("login","no providers are configured; pass one explicitly, e.g. /login nrimo");return}Mr("Login",b.map(S=>({value:S,label:S})),I)},k=>P("login",k instanceof Error?k.message:String(k)))},Xy=async(d,I)=>{let k=ij(ut,"models.json"),b,S=!1;try{b=JSON.parse(O6(k,"utf8"))}catch(nn){if(!(nn instanceof Error&&"code"in nn&&nn.code==="ENOENT"))return`could not read ${k}; the models were not added`;b={providers:{}},S=!0}(!b.providers||typeof b.providers!="object")&&(b.providers={});let B=b.providers[d];B||(B=Fl(),b.providers[d]=B,S=!0);let E=Array.isArray(B.models)?B.models:[],T=Nl(E,I),v=zu(Ul(E,I));B.models=v.models;try{C6(ut,{recursive:!0}),qt(k,`${JSON.stringify(b,null,2)}
137
+ `)}catch{return`could not write ${k}; the models were not added`}let U=!1;try{await A.modelRuntime.refresh(),U=!0}catch{U=!1}let ze=v.changed>0?`, repaired ${v.changed}`:"",jt=U?"":"; restart the CLI to see them all",br=S?` (created ${k})`:"";return T===0?`all ${I.length} models were already configured${ze}${br}${jt}`:`added ${T} model(s) to "${d}"${ze}${br}${jt}`},Ku=d=>{(async()=>{if(!d){let T=await UD({onProgress:U=>{U.kind==="browser"?(ml(U.url),P("connect",["finish signing in to howtofix.id:"," a browser window is opening \u2014 approve the sign-in there",` if it did not open, visit ${U.url}`].join(`
138
+ `))):(ml(U.url),P("connect",["finish signing in to howtofix.id:",` 1. go to ${U.url}`,` 2. enter the code: ${U.code}`," waiting\u2026"].join(`
139
+ `))),j()}});if(T.ok){se("prompt",void 0),tn=void 0,Ku(T.token);return}let v=await ml(Hu);P("connect",[`browser sign-in: ${T.message}`,"","connect with a token instead:",` 1. ${v?"the keys page is opening in your browser":`open ${Hu}`}`," 2. sign in if asked, then create a key (starts with sk-)"," 3. run /connect <token>"," or /connect again, and paste the key when asked"].join(`
140
+ `)),j();return}if(!Ll(d)){P("connect","that does not look like a howtofix token; the Console issues tokens that start with sk-");return}se("note",`connecting to howtofix.id (${Wu(d)})`),j();let I=await Vu(d);if(!I.ok){se("note",void 0),P("connect",I.message),j();return}await A.modelRuntime.setRuntimeApiKey("howtofix",d);let k=await Xy("howtofix",I.models),b=!!A.model&&A.model?.provider!==void 0&&o.model!=="unknown",S,B;if(!b)try{let T=(await A.modelRuntime.getAvailable()).filter(ze=>Wo(ze.provider)),U=dj(T.map(ze=>ze.id)).slice(0,4);for(let ze of U){if(!(await Dl(ze,d)).ok)continue;let br=T.find(nn=>nn.id===ze);if(br){await A.setModel(br),o.model=br.id,S=`${br.provider}/${br.id}`;break}}S||(B=U.length>0?`none of the first ${U.length} models answered (${U[0]} did not)`:"the account lists no chat model")}catch(T){B=T instanceof Error?T.message:String(T)}se("note",void 0);let E=await Xs(d);P("connect",[`connected ${Wu(d)} \u2014 ${I.message}`,k,Rl("howtofix",E),S?`using ${S} (change it with /model)`:`pick a model with /model, then send a prompt${B?` (auto-select failed: ${B})`:""}`].join(`
141
+ `)),j()})().catch(I=>{se("note",void 0),P("connect",I instanceof Error?I.message:String(I)),j()})},Rl=(d,I)=>{let k=[`${d} account`];if(!I.ok)return[...k,` ${I.message}`].join(`
142
+ `);if(I.unlimited)k.push(" quota no limit on this token");else{let b=S=>`${S.toFixed(2)} ${I.unit}`;I.limit!==void 0&&k.push(` granted ${b(I.limit)}`),I.used!==void 0&&k.push(` spent ${b(I.used)}`),I.remaining!==void 0&&k.push(` remaining ${b(I.remaining)}`)}return k.join(`
143
+ `)},Aj=async d=>{let[I,...k]=d.slice(1).split(/\s+/),b=k.join(" ");if(I==="quit"||I==="exit"){Gu();return}if(I==="help"){P("help",vy(A).map(E=>`/${E.name} ${E.description??""}`).join(`
144
+ `));return}if(I==="init"){let E=ij(e.cwd,"AGENTS.md");if(P6(E)&&b!=="force"){P("init",`AGENTS.md already exists at ${E}. run /init force to overwrite.`);return}qt(E,eb),P("init",`wrote ${E}; asking the agent to fill it in`),await A.prompt("Read AGENTS.md, then fill it in with the real build, test, and layout facts of this repo. Keep it short.");return}if(I==="login"){Tl(b);return}if(I==="connect"){if(b.trim()){Ku(b.trim());return}Ku(""),se("prompt","paste your howtofix.id token, then press enter"),j();let E=tn;tn=T=>{tn=E,se("prompt",void 0),Ku(T.trim())};return}if(I==="sync"){let E=new Set((await A.modelRuntime.getAvailable()).map(nn=>nn.provider).filter(nn=>Wo(nn))),T=Di.find(nn=>E.has(nn));if(!T){P("sync","no howtofix.id account is connected; run /connect first");return}se("note",`re-syncing ${T} from howtofix.id`),j();let U=(await A.modelRuntime.getAuth(T))?.auth?.apiKey;if(!U){se("note",void 0),P("sync",`${T} has no usable key; run /connect to sign in again`),j();return}let ze=await Vu(U);if(!ze.ok){se("note",void 0),P("sync",ze.message),j();return}let jt=await Xy(T,ze.models),br=await Xs(U);se("note",void 0),P("sync",`${jt}
145
+ ${Rl(T,br)}`),await A.modelRuntime.refresh(),j();return}if(I==="usage"){let E=new Set((await A.modelRuntime.getAvailable()).map(jt=>jt.provider).filter(jt=>Wo(jt))),T=Di.find(jt=>E.has(jt));if(!T){P("usage","no howtofix.id account is connected; run /connect first");return}se("note","asking howtofix.id for the account usage"),j();let U=(await A.modelRuntime.getAuth(T))?.auth?.apiKey;if(!U){se("note",void 0),P("usage",`${T} has no usable key; run /connect to sign in again`),j();return}let ze=await Xs(U);se("note",void 0),P("usage",Rl(T,ze)),j();return}if(I==="logout"){let E=await A.modelRuntime.getAvailable(),T=[...new Set(E.map(v=>v.provider))].sort();if(T.length===0){P("logout","no providers are configured");return}Mr("Logout",T.map(v=>({value:v,label:v})),v=>{A.modelRuntime.logout(v).then(()=>P("logout",`logged out ${v}`),U=>P("logout",U instanceof Error?U.message:String(U)))});return}if(I==="providers"){let E=await A.modelRuntime.getAvailable(),T=[...new Set(E.map(v=>v.provider))].sort();T.sort((v,U)=>Number(Wo(U))-Number(Wo(v))),Mr("Providers",T.map(v=>({value:v,label:v})),v=>{let U=A.modelRuntime.getModels(v);if(U.length===0){Tl(v);return}Mr(v,U.map(ze=>({value:ze.id,label:ze.id})),ze=>{let jt=U.find(br=>br.id===ze);jt&&A.setModel(jt).then(()=>{o.model=jt.id,P("providers",`${v}/${jt.id}`)},()=>Tl(v))})});return}if(I==="name"){if(!b){P("name","usage: /name <session name>");return}A.setSessionName(b),P("name",`session name: ${b}`);return}if(I==="update"){se("note","checking for a newer release");try{await Ny({current:vr,install:!0})}finally{se("note",void 0)}return}if(I==="stats"){let E=A.getSessionStats(),T=A.getContextUsage(),v=U=>Number.isFinite(U)?String(U):"\u2014";P("stats",[`session ${E.sessionId}`,E.sessionFile?`file ${E.sessionFile}`:"not persisted",`messages ${v(E.totalMessages)} (user ${v(E.userMessages)}, assistant ${v(E.assistantMessages)}, tools ${v(E.toolCalls)})`,`tokens in ${v(E.tokens.input)} out ${v(E.tokens.output)} cache ${v(E.tokens.cacheRead)}/${v(E.tokens.cacheWrite)}`,`cost $${Number.isFinite(E.cost)?E.cost.toFixed(4):"\u2014"}`,T?`context ${T.percent===null||!Number.isFinite(T.percent)?"?":`${Math.round(T.percent)}%`} of ${T.contextWindow}`:"context unknown"].join(`
146
+ `));return}if(I==="diff"){let E=async jt=>{try{let{stdout:br}=await Fy("git",jt,{cwd:e.cwd,encoding:"utf8"});return br.trim()}catch{return""}},T=await E(["diff","--stat"])+`
147
+
148
+ `+await E(["diff","--","."]),[v="",U=""]=T.split(`
149
+
150
+ `,2),ze=cN(U);P("diff",[v.trim(),ze].filter(Boolean).join(`
151
+
152
+ `)||"working tree clean");return}if(I==="copy"){let E=[...A.state.messages].reverse().find(U=>U.role==="assistant"),v=(Array.isArray(E?.content)?E.content:[]).filter(U=>U.type==="text").map(U=>U.text).join("");if(!v){P("copy","nothing to copy");return}try{await F6(v),P("copy",`copied ${v.length} characters`)}catch(U){P("copy",U instanceof Error?U.message:String(U))}return}if(I==="export"){let E=n.items.filter(U=>U.body.trim().length>0);if(E.length===0){P("export","nothing to export yet \u2014 the transcript is empty");return}let T=v6(e.cwd,b||`howtofix-session-${Date.now()}.md`),v=[`# ${Ht} session`,"",`model ${o.model}`,""];for(let U of E)v.push(`## ${U.title||U.kind}`,"",U.body,"");try{qt(T,v.join(`
153
+ `))}catch(U){P("export",`could not write ${T}: ${U instanceof Error?U.message:String(U)}`);return}P("export",`wrote ${T}`);return}if(I==="agents"){let[E="",...T]=b.split(/\s+/).filter(Boolean),v=T.join(" ").trim();if(E&&v){P("agents",await nN(E,v));return}P("agents",E?YI(E):JI());return}if(I==="new"){let E=await e.reopen({noSession:!1});await Vy(E),P("new","started a new session");return}if(I==="resume"){let E=await _6.list(e.cwd);if(E.length===0){P("resume","no saved sessions for this folder");return}Mr("Resume session",E.slice(0,30).map(T=>({value:T.path,label:T.name||`${T.id.slice(0,8)} ${T.firstMessage.slice(0,40)}`,description:`${T.modified.toISOString().slice(0,16)} ${T.messageCount} messages`})),T=>{e.reopen({sessionPath:T}).then(Vy,v=>En(v instanceof Error?v.message:String(v)))});return}if(I==="model"){let E=await A.modelRuntime.getAvailable(),T=b?E.find(v=>`${v.provider}/${v.id}`===b||v.id===b):void 0;if(!b){Mr("Select model",E.map(v=>({value:`${v.provider}/${v.id}`,label:v.id,description:v.provider})),v=>{let U=E.find(ze=>`${ze.provider}/${ze.id}`===v);U&&A.setModel(U).then(()=>{o.model=U.id,P("model",`model ${v}`)})});return}if(!T){P("model",`unknown model ${b}`);return}await A.setModel(T),o.model=T.id,P("model",`model ${T.provider}/${T.id}`);return}if(I==="thinking"){if(!b){Mr("Thinking level",My.map(E=>({value:E,label:E})),E=>{A.setThinkingLevel(E),o.thinking=E,P("thinking",`thinking ${E}`)});return}if(!My.includes(b)){P("thinking",`thinking: ${My.join(", ")}`);return}A.setThinkingLevel(b),o.thinking=b,P("thinking",`thinking ${b}`);return}if(I==="compact"){try{await A.compact(b||void 0),P("compact","session compacted")}catch(E){P("compact",E instanceof Error?E.message:String(E))}return}if(I==="approval"){let E=T=>{Ql(T),P("approval",tm[T])};if(!b){Mr("Approval mode",ji.map(T=>({value:T,label:T,description:tm[T]})),T=>E(T));return}if(!ji.includes(b)){P("approval",`modes: ${ji.join(", ")}`);return}E(b);return}if(I==="tools"){let E=A.getActiveToolNames().sort();P("tools",E.length?E.join(`
154
+ `):"no tools enabled");return}if(I==="rewind"){Ly();return}if(I==="undo"){if(!await Xf(e.cwd)){P("undo","not a git repository");return}let E=await uN(e.cwd);P("undo",E.ok?`undone: ${E.output}`:`undo failed: ${E.output}`),a(!0);return}if(I==="commit"){if(!Xf(e.cwd)){P("commit","not a git repository");return}if(!await sN(e.cwd)){P("commit","nothing to commit");return}let E=b||`howtofix: session update ${new Date().toISOString().slice(0,16)}`,T=await aN(e.cwd,E);P("commit",T.ok?T.output:`commit failed: ${T.output}`),a(!0);return}if(I==="review"){if(!(await mN(e.cwd)).trim()){P("review","no changes to review");return}El("Review the uncommitted changes. Report concrete issues with file evidence. Do not edit files.");return}if(I==="workflow"){if(b.trim()==="clear"){Dt(),P("workflow","cleared the pinned workflow panel");return}if(!C){P("workflow","no workflow run in this session yet");return}let E=qs(C,Date.now()),T=E[$.selectedPhase];P("workflow",[`panel ${Z?"pinned above the editor":"unpinned"}`,`phase ${$.selectedPhase+1}/${E.length}: ${T?.title??"(none)"}`,`filter: ${$.filter}${$.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(`
155
+ `));return}if(I==="plan"){if(PU()||Kf().state==="pending"){Ds(RU(Kf())),P("plan","plan mode off \u2014 edits are allowed again");return}Ds(TU(Kf())),P("plan",`plan mode armed \u2014 send your next prompt to start planning
156
+ plan file: ${AU()??"(unknown)"}`);return}if(I==="goal"){let E=b.trim();if(!E){P("goal",Uf(Nf()));return}let{goal:T,error:v}=MI(Nf(),"set",E,void 0,void 0);if(v){En(v);return}yn(T),await A.sendCustomMessage({customType:jo,content:E,display:!1,details:T}),P("goal",`goal set
157
+ ${Uf(T)}`);return}if(I==="session"){let E=A.model;P("session",E?`${E.provider}/${E.id}`:"no model");return}if(I==="skills"){P("skills",HD(A.resourceLoader.getSkills().skills));return}let S=BD(d,A.resourceLoader.getSkills().skills.map(E=>E.name));if(S){Jy(S);return}let B=A.extensionRunner.getCommand(I??"");if(B){try{await B.handler(b,A.extensionRunner.createCommandContext())}catch(E){En(E instanceof Error?E.message:String(E))}return}P("command",`/${I??""} is not available in this screen yet`)};sU((d,I)=>{let{promise:k,resolve:b}=Promise.withResolvers();return Mr(d,I.map(S=>({value:S,label:S})),b,()=>b("cancelled")),k}),process.on("SIGTERM",Gu),t.setTitle(`${Ht} ${vr}`),Y6(),r.start(),r.requestRender(!0),e.initialPrompt&&El(e.initialPrompt),await new Promise(()=>{})}var uj,My,lj,Fy,fl,ll,dl,z6,V6,tn,Z6,Q6,yj=u(()=>{Js();BN();py();pD();Hl();yD();Su();OD();ND();Sy();$u();PI();ky();GD();Au();iy();jl();KD();on();WD();rj();XI();ta();Wl();jf();LI();oj();po();uj={borderColor:()=>"",selectList:{selectedPrefix:e=>ge(e,N.accent),selectedText:e=>ge(e,N.text,{bold:!0}),description:e=>ge(e,N.mute),scrollInfo:e=>ge(e,N.dim),noMatch:e=>ge(e,N.mute)}},My=["off","minimal","low","medium","high","xhigh","max"],lj=Symbol.for("@earendil-works/pi-tui/layout-node");Fy=A6(R6);fl=class{folder;model;git;percent=0;meter=new nl(0);activity=DD();live=!1;activitySince=Date.now();thinking="medium";cubence="";constructor(t,r){this.folder=M6(t),this.model=r.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 r=Date.now(),n=this.percent===0&&this.meter.value===0?0:this.meterValue(),o=$D(this.model,this.thinking,this.folder,this.git),i=[_u(`${SD(o,this.live?yy():"",this.live?this.waitedMs():void 0)} ${TD(n,this.cubence)}`,t)],a=MU();a&&i.push(_u(ge(a,N.warn),t));let c=hU(Nf());c&&i.push(_u(ge(c,N.accent),t));let p=qD(this.activity,yy(),r),f=this.live?eD(p,{base:uy(this.waitedMs(),N.mute,N.warn,N.bad),bright:N.text,charMs:45},r):ge(p,uy(this.waitedMs(),N.mute,N.warn,N.bad));return i.push(_u(f,t)),i}},ll=class{constructor(t){this.draw=t}draw;render(t){return this.draw(t)}invalidate(){}},dl=class{constructor(t,r){this.editor=t;this.hud=r}editor;hud;focused=!1;invalidate(){this.editor.invalidate()}render(t){let r=Math.max(10,t-4),n=this.editor.render(r).filter(c=>pl(c)>0),o=n.length>0?n:[""],i="\u2500".repeat(Math.max(0,t-2)),a=o.map(c=>{let p=Math.max(0,r-pl(c));return`\u2502 ${c}${" ".repeat(p)} \u2502`});return[`\u250C${i}\u2510`,...a,`\u2514${i}\u2518`,...this.hud.render(t)]}handleInput(t){this.editor.handleInput(t)}},z6=["deepseek","qwen","claude","gpt-5","gpt-4","gemini","glm","mimo","kimi","llama"],V6=/(image|embedding|embed|whisper|tts|audio|video|rerank|moderation|dall-e|stable-diffusion|sora)/i;Z6=1e3/30,Q6=45e3});Js();var tb={off:!0,minimal:!0,low:!0,medium:!0,high:!0,xhigh:!0,max:!0},rb={suggest:!0,"auto-edit":!0,"full-auto":!0};function Bu(e,t,r){let n=e[t];if(n?.includes("="))return n.slice(n.indexOf("=")+1);let o=e[t+1];if(!o||o.startsWith("-"))throw new Error(`${r} needs a value`);return e.splice(t+1,1),o}function nb(e){let t={print:!1,continueSession:!1,noSession:!1,help:!1,version:!1,update:!1,checkUpdate:!1,prompt:""},r=[],n=[...e];for(let o=0;o<n.length;o++){let i=n[o]??"";if(i==="--"){r.push(...n.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==="--update")t.update=!0;else if(i==="--check-update")t.checkUpdate=!0;else if(i==="-r"||i==="--resume")t.continueSession=!0;else if(i==="--session"||i.startsWith("--session="))t.sessionPath=Bu(n,o,"--session");else if(i==="-m"||i==="--model"||i.startsWith("--model="))t.model=Bu(n,o,"--model");else if(i==="--thinking"||i.startsWith("--thinking="))t.thinking=Bu(n,o,"--thinking");else if(i==="--approval"||i.startsWith("--approval="))t.approval=Bu(n,o,"--approval");else{if(i.startsWith("-"))throw new Error(`unknown option ${i}`);r.push(i)}}if(t.thinking&&!tb[t.thinking])throw new Error(`thinking must be one of: ${Object.keys(tb).join(", ")}`);if(t.approval&&!rb[t.approval])throw new Error(`approval must be one of: ${Object.keys(rb).join(", ")}`);if(t.prompt=r.join(" ").trim(),t.update&&t.checkUpdate)throw new Error("--update installs; --check-update only looks. pick one");if((t.update||t.checkUpdate)&&(t.print||t.continueSession||t.sessionPath||t.prompt))throw new Error("--update and --check-update act on the installation, not a session; they take no prompt");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}function Al(){return`${Ht} ${vr}
148
158
  coding agent. layout is a workbench, not a chat log.
149
159
 
150
160
  usage:
@@ -191,7 +201,7 @@ an npm install checks for a newer release at startup and can install it itself;
191
201
  /update does it on demand. config and sessions live in ~/.howtofix/agent.
192
202
  /connect signs in to howtofix.id in your browser, and falls back to a pasted
193
203
  token; /login takes another provider's key.
194
- `}Go();xn();function H_(){try{return{cwd:process.cwd()}}catch{return{error:"the current directory no longer exists (it was deleted while the shell stayed in it). cd to a directory that exists, or pass one on the command line."}}}function V_(){process.stdout.on("error",e=>{throw e.code==="EPIPE"&&process.exit(0),e})}async function J_(){V_(),Gm();let e=H_();if("error"in e){console.error(`${at}: ${e.error}`),process.exitCode=1;return}let t=e.cwd,{repairGatewayModels:n,ensureGatewaySettings:r}=await Promise.resolve().then(()=>(Xm(),Hd)),{AGENT_DIR:o}=await Promise.resolve().then(()=>(xn(),Nd)),s=n(o);s>0&&console.error(`${at}: repaired ${s} howtofix model(s) that the gateway would have rejected`),r(o)&&console.error(`${at}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let i;try{i=_d(process.argv.slice(2))}catch(G){let ee=G instanceof Error?G.message:String(G);console.error(`${at}: ${ee}
195
- ${Nm()}`),process.exitCode=2;return}if(i.help){console.log(Nm());return}if(i.version){console.log(`${at} ${Nt}`);return}if(i.update||i.checkUpdate){let{PACKAGE_NAME:G,checkForUpdate:ee,installUpdate:ye,isInstalledCopy:De}=await Promise.resolve().then(()=>(wi(),bi)),Qe=await ee(Nt);if(!Qe.latest){console.error(`${at}: ${Qe.message}`),process.exitCode=i.update?1:0;return}if(console.log(Qe.message),i.checkUpdate||!Qe.available)return;if(!De()){console.error(`${at}: this copy was not installed by npm, so npm cannot replace it. install it with: npm install -g ${G}`),process.exitCode=1;return}let xe=await ye({version:Qe.latest});console.log(xe.message),xe.ok||(process.exitCode=1);return}if(i.print&&!i.prompt){console.error(`${at}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:c}=await Promise.resolve().then(()=>(nc(),af)),{isApprovalMode:p,setApprovalMode:d}=await Promise.resolve().then(()=>(Jo(),If)),{openSession:b}=await Promise.resolve().then(()=>(pS(),cS));d(i.approval&&p(i.approval)?i.approval:"full-auto");let I=G=>b({cwd:t,model:i.model,thinking:i.thinking,continueSession:G.continueSession??!1,noSession:G.noSession??!1,sessionPath:G.sessionPath}),P=await I({continueSession:i.continueSession,sessionPath:i.sessionPath,noSession:i.noSession||i.print});if(i.print){P.note&&console.error(P.note);try{await P.session.prompt(c(i.prompt,t));let G=P.session.getLastAssistantText()??"";process.stdout.write(G.endsWith(`
196
- `)?G:`${G}
197
- `);let ee=P.session.state.messages.at(-1);ee?.role==="assistant"&&((ee.stopReason==="error"||ee.stopReason==="aborted"||ee.errorMessage)&&(process.exitCode=1),process.exitCode===1&&ee.errorMessage&&console.error(`${at}: ${ee.errorMessage}`))}finally{P.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${at}: interactive mode needs a terminal. use --print for pipes.`),P.dispose(),process.exitCode=2;return}let{runWorkbench:A}=await Promise.resolve().then(()=>(GP(),KP)),{autoUpdateEnabled:C,isInstalledCopy:U}=await Promise.resolve().then(()=>(wi(),bi)),z=U()&&C(`${o}/settings.json`);await A({cwd:t,modelLabel:P.modelLabel,session:P.session,initialPrompt:i.prompt||void 0,note:P.note,update:z?{current:Nt,install:!0}:void 0,reopen:I})}J_().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${at}: ${t}`),process.exitCode=1});
204
+ `}Js();on();function e8(){try{return{cwd:process.cwd()}}catch{return{error:"the current directory no longer exists (it was deleted while the shell stayed in it). cd to a directory that exists, or pass one on the command line."}}}function t8(){process.stdout.on("error",e=>{throw e.code==="EPIPE"&&process.exit(0),e})}async function r8(){t8(),Ml();let e=e8();if("error"in e){console.error(`${Ht}: ${e.error}`),process.exitCode=1;return}let t=e.cwd,{repairGatewayModels:r,ensureGatewaySettings:n}=await Promise.resolve().then(()=>(jl(),fb)),{AGENT_DIR:o}=await Promise.resolve().then(()=>(on(),ob)),i=r(o);i>0&&console.error(`${Ht}: repaired ${i} howtofix model(s) that the gateway would have rejected`),n(o)&&console.error(`${Ht}: set httpIdleTimeoutMs in settings.json so a stalled provider recovers instead of hanging`);let a;try{a=nb(process.argv.slice(2))}catch(z){let le=z instanceof Error?z.message:String(z);console.error(`${Ht}: ${le}
205
+ ${Al()}`),process.exitCode=2;return}if(a.help){console.log(Al());return}if(a.version){console.log(`${Ht} ${vr}`);return}if(a.update||a.checkUpdate){let{PACKAGE_NAME:z,checkForUpdate:le,installUpdate:ve,isInstalledCopy:It}=await Promise.resolve().then(()=>(Yu(),Ju)),Dt=await le(vr);if(!Dt.latest){console.error(`${Ht}: ${Dt.message}`),process.exitCode=a.update?1:0;return}if(console.log(Dt.message),a.checkUpdate||!Dt.available)return;if(!It()){console.error(`${Ht}: this copy was not installed by npm, so npm cannot replace it. install it with: npm install -g ${z}`),process.exitCode=1;return}let Pe=await ve({version:Dt.latest});console.log(Pe.message),Pe.ok||(process.exitCode=1);return}if(a.print&&!a.prompt){console.error(`${Ht}: --print needs a prompt`),process.exitCode=2;return}let{expandFileReferences:c}=await Promise.resolve().then(()=>(Hl(),Sb)),{isApprovalMode:p,setApprovalMode:f}=await Promise.resolve().then(()=>(ta(),Db)),{openSession:g}=await Promise.resolve().then(()=>(qN(),jN));f(a.approval&&p(a.approval)?a.approval:"full-auto");let x=z=>g({cwd:t,model:a.model,thinking:a.thinking,continueSession:z.continueSession??!1,noSession:z.noSession??!1,sessionPath:z.sessionPath}),w=await x({continueSession:a.continueSession,sessionPath:a.sessionPath,noSession:a.noSession||a.print});if(a.print){w.note&&console.error(w.note);try{await w.session.prompt(c(a.prompt,t));let z=w.session.getLastAssistantText()??"";process.stdout.write(z.endsWith(`
206
+ `)?z:`${z}
207
+ `);let le=w.session.state.messages.at(-1);le?.role==="assistant"&&((le.stopReason==="error"||le.stopReason==="aborted"||le.errorMessage)&&(process.exitCode=1),process.exitCode===1&&le.errorMessage&&console.error(`${Ht}: ${le.errorMessage}`))}finally{w.dispose()}return}if(!process.stdin.isTTY||!process.stdout.isTTY){console.error(`${Ht}: interactive mode needs a terminal. use --print for pipes.`),w.dispose(),process.exitCode=2;return}let{runWorkbench:$}=await Promise.resolve().then(()=>(yj(),Ij)),{autoUpdateEnabled:C,isInstalledCopy:D}=await Promise.resolve().then(()=>(Yu(),Ju)),Z=D()&&C(`${o}/settings.json`);await $({cwd:t,modelLabel:w.modelLabel,session:w.session,initialPrompt:a.prompt||void 0,note:w.note,update:Z?{current:vr,install:!0}:void 0,reopen:x})}r8().catch(e=>{let t=e instanceof Error?e.message:String(e);console.error(`${Ht}: ${t}`),process.exitCode=1});