@sreetej510/pi-shipd-checks 0.1.11 → 0.1.13

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 +48 -10
  2. package/dist/index.js +20 -14
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -22,15 +22,38 @@ For the flags you pass, `/checks`:
22
22
  run in parallel (positive required-behavior gaps + negative forbidden-behavior gaps),
23
23
  then a strict validator filters the combined list. This never turns a `PASS` into a
24
24
  `FAIL` — it's purely informational.
25
- 5. Posts a one-line chat summary and merges the results into `shipd_report.json` in your
26
- project root. Running flags separately, in any order, builds up one combined report instead
27
- of overwriting it — `overall` only becomes a confident `PASS`/`FAIL` once all 3 focus
28
- reviewers have run at least once.
25
+ 5. Optionally runs the solver gap finder: several (configurable, default 3) TDD-style solver
26
+ agents, each in its own throwaway git repo with `test.patch` and `agent_prompt.md` applied
27
+ (never `solution.patch`), given write/edit/bash access to iterate until `./test.sh new`
28
+ passes or they give up. The extension independently re-verifies each
29
+ solver's result and captures its diff (excluding any files `test.patch` touched, and
30
+ including any new, previously-uncommitted files the solver created), writes each
31
+ solver's diff + test output to `solver_gap_solutions/solver_<n>/` inside the shared
32
+ snapshot dir (plus a `manifest.json` summary) — rather than embedding them directly in
33
+ a prompt — so a read-only comparison reviewer can read only what it needs via its
34
+ normal read/grep/find/ls tools, keeping its context usage independent of solver count
35
+ and diff size. That reviewer compares the solvers' diffs against the real
36
+ `agent_prompt.md`/`solution.patch` to surface behavioral gaps — cases where a passing
37
+ solver's approach diverges from the intended behavior, indicating a test that's
38
+ under-specified. This is empirical (grounded in real agent attempts) rather than
39
+ analytical, so it's reported separately from the `--gap-finder` results and is never
40
+ included in `--all` since it's by far the most expensive stage. Each solver's full
41
+ `trajectory.json` (its raw session entries), `solution.patch`, and `./test.sh new` output
42
+ are also persisted to `.pi/shipd-checks/<run-id>/solver_<n>/` in your project root, for
43
+ later inspection independent of `shipd_report.json`.
44
+ 6. Posts a chat summary (only for the stage(s) actually run this invocation — a `--tests`-only
45
+ run won't show a stale `Overall` verdict from a previous, unrelated run) and merges the
46
+ results into `shipd_report.json` in your project root. Running flags separately, in any
47
+ order, builds up one combined report instead of overwriting it — `overall` only becomes a
48
+ confident `PASS`/`FAIL` once all 3 focus reviewers have run at least once, in the same
49
+ invocation.
29
50
 
30
51
  ## Commands
31
52
 
32
53
  All flags except `--config` are additive/combinable, e.g. `/checks --tests --gap-finder` runs
33
54
  just the tests reviewer plus the gap-finder/filter stages. `--config` must be used alone.
55
+ `--solver-gap-finder` is additive like the other stage flags, but deliberately **not** included
56
+ in `--all` since it's the most expensive stage (several full coding-agent runs with shell access).
34
57
 
35
58
  | Command | Effect |
36
59
  |---|---|
@@ -41,16 +64,30 @@ just the tests reviewer plus the gap-finder/filter stages. `--config` must be us
41
64
  | `/checks --tests` | Run only the tests reviewer |
42
65
  | `/checks --solution` | Run only the solution reviewer |
43
66
  | `/checks --gap-finder` | Run positive + negative gap finders (parallel), then validator |
44
- | `/checks --config` | Set the reviewer model and thinking level |
67
+ | `/checks --solver-gap-finder` | Run several solver agents TDD-style against `agent_prompt.md` + `test.patch`, then compare their solutions to the real solution to find gaps |
68
+ | `/checks --config` | Open the settings menu (reviewer + solver-gap-finder settings) |
45
69
 
46
70
  **Shortcut:** `Ctrl+Shift+X` cancels an in-progress `/checks` run.
47
71
 
48
72
  ## Configuration
49
73
 
50
- `/checks --config` lets you pick a model from your `enabledModels` list in `settings.json`,
51
- then (if the model supports more than one) a thinking level. The currently configured
52
- model/level is highlighted `[current]` in the picker. Settings are saved globally to
53
- `~/.pi/agent/checks-config.json` and shared by all reviewer, gap-finder, and validator agents.
74
+ `/checks --config` opens a single row-based settings menu with two section headers:
75
+
76
+ - **Reviewer**: model and thinking level used by the focus reviewers, gap-finders, gap-validator,
77
+ and the solver-gap-finder's comparison reviewer.
78
+ - **Solver Gap Finder**: model, thinking level, per-agent timeout in minutes (default 30, clamped to
79
+ 1–120), number of parallel solver agents (default 3, clamped to 1–10), and a "Save artifacts"
80
+ on/off toggle (default on) — used only by the TDD-style solver agents spawned by
81
+ `--solver-gap-finder`. These write code and run shell commands (a heavier job than the
82
+ read-only reviewers), so you may want a stronger coding model here. Turning "Save artifacts"
83
+ off skips persisting `trajectory.json`/`solution.patch`/test output to
84
+ `.pi/shipd-checks/<run-id>/` for each run — useful if you don't need to inspect solver runs
85
+ after the fact and want to save disk space.
86
+
87
+ Use ↑/↓ to move between rows, Enter/Space to open a model picker or cycle a value in place, and
88
+ `Ctrl+S` to save and exit (Esc cancels without discarding already-saved changes). Everything is
89
+ saved immediately to `~/.pi/agent/checks-config.json`, with the solver-gap-finder settings nested
90
+ under a `solverGap` key.
54
91
 
55
92
  ## Install
56
93
 
@@ -80,7 +117,8 @@ Or, for local development, point at the entry point directly:
80
117
  |---|---|
81
118
  | `src/index.ts` | Extension entry point: message renderer, cancel shortcut, command registration |
82
119
  | `src/command.ts` | The `/checks` command: argument parsing, `--config` flow, run orchestration |
83
- | `src/agents.ts` | Spawns and races the reviewer + gap-finder/validator agent sessions |
120
+ | `src/agents.ts` | Spawns and races the reviewer + gap-finder/validator/solver agent sessions |
121
+ | `src/solvergap.ts` | Solver-gap-finder workspace lifecycle: setup, verification, artifact persistence, cleanup |
84
122
  | `src/prompts.ts` | All prompt text sent to those agents |
85
123
  | `src/tools.ts` | Custom tools the agents call to submit their structured results |
86
124
  | `src/rubric.ts` | Embedded guidelines/fairness rubric text + per-role section loaders |
package/dist/index.js CHANGED
@@ -1,14 +1,20 @@
1
- var Ad=Object.defineProperty;var yt=(e,t)=>{for(var n in t)Ad(e,n,{get:t[n],enumerable:!0})};import{Key as xb,Text as yb}from"@earendil-works/pi-tui";import{randomUUID as sb}from"node:crypto";import{copyFileSync as mb,existsSync as pb,mkdirSync as ub,rmSync as cb,writeFileSync as lb}from"node:fs";import{tmpdir as db}from"node:os";import{join as Wn}from"node:path";import{createAgentSession as xo,SessionManager as yo}from"@earendil-works/pi-coding-agent";var p={};yt(p,{Assign:()=>qd,Clone:()=>dn,Create:()=>Uf,Discard:()=>Gf,Metrics:()=>qe,Update:()=>_f});var qe={assign:0,create:0,clone:0,discard:0,update:0};function qd(e,t){return qe.assign+=1,{...e,...t}}var i={};yt(i,{Entries:()=>tf,EntriesRegExp:()=>ef,Every:()=>Zd,EveryAll:()=>Xd,GraphemeCount:()=>Hd,HasPropertyKey:()=>Qd,IsArray:()=>cn,IsBigInt:()=>un,IsBoolean:()=>Fo,IsClassInstance:()=>Vd,IsConstructor:()=>Kd,IsDeepEqual:()=>fa,IsEqual:()=>M,IsFunction:()=>Do,IsGreaterEqualThan:()=>Ko,IsGreaterThan:()=>_d,IsInteger:()=>la,IsLessEqualThan:()=>No,IsLessThan:()=>zd,IsMaxLength:()=>Yd,IsMinLength:()=>Jd,IsMultipleOf:()=>Bd,IsNull:()=>Zn,IsNumber:()=>Xn,IsObject:()=>ln,IsObjectNotArray:()=>Ud,IsString:()=>Qn,IsSymbol:()=>Gd,IsUndefined:()=>da,IsUnsafePropertyKey:()=>Uo,IsValueLike:()=>Wd,Keys:()=>Jn,ShiftLeft:()=>er,Symbols:()=>nf,Values:()=>rf});function It(e,t,n){return e>=t&&e<=n}function Ld(e){return e===8205}function jd(e){return It(e,55296,56319)}function Po(e){return It(e,127462,127487)}function Mo(e){return It(e,65024,65039)}function Co(e){return It(e,768,879)||It(e,6832,6911)||It(e,7616,7679)||It(e,65056,65071)}function Yn(e){return e>65535?2:1}function So(e,t){for(;t<e.length;){let n=e.codePointAt(t);if(Co(n)||Mo(n))t+=Yn(n);else break}return t}function ca(e,t){let n=e.codePointAt(t),r=t+Yn(n);for(r=So(e,r);r<e.length-1&&e[r]==="\u200D";){let a=e.codePointAt(r+1);r+=1+Yn(a),r=So(e,r)}return Po(n)&&r<e.length&&Po(e.codePointAt(r))&&(r+=Yn(e.codePointAt(r))),r}function Ao(e){return jd(e)||Co(e)||Mo(e)||Ld(e)}function qo(e){let t=0,n=0;for(;n<e.length;)n=ca(e,n),t++;return t}function Fd(e,t){if(t===0)return!0;let n=0,r=0;for(;r<e.length;)if(r=ca(e,r),n++,n>=t)return!0;return!1}function Dd(e,t){let n=0,r=0;for(;r<e.length;)if(r=ca(e,r),n++,n>t)return!1;return!0}function Lo(e,t){if(t===0)return!0;let n=0;for(;n<e.length;){if(Ao(e.charCodeAt(n)))return Fd(e,t);if(n++,n>=t)return!0}return!1}function jo(e,t){let n=0;for(;n<e.length;){if(Ao(e.charCodeAt(n)))return Dd(e,t);if(n++,n>t)return!1}return!0}function cn(e){return Array.isArray(e)}function un(e){return M(typeof e,"bigint")}function Fo(e){return M(typeof e,"boolean")}function Kd(e){if(da(e)||!Do(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function Do(e){return M(typeof e,"function")}function la(e){return Number.isInteger(e)}function Zn(e){return M(e,null)}function Xn(e){return Number.isFinite(e)}function Ud(e){return ln(e)&&!cn(e)}function ln(e){return M(typeof e,"object")&&!Zn(e)}function Qn(e){return M(typeof e,"string")}function Gd(e){return M(typeof e,"symbol")}function da(e){return M(e,void 0)}function M(e,t){return e===t}function _d(e,t){return e>t}function zd(e,t){return e<t}function No(e,t){return e<=t}function Ko(e,t){return e>=t}function Bd(e,t){if(un(e)||un(t))return BigInt(e)%BigInt(t)===0n;let n=1e-10;if(!Xn(e)||la(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 Vd(e){if(!ln(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return Zn(t)?!1:M(typeof t.constructor,"function")&&!(M(t.constructor,globalThis.Object)||M(t.constructor.name,"Object"))}function Wd(e){return un(e)||Fo(e)||Zn(e)||Xn(e)||Qn(e)||da(e)}function Hd(e){return qo(e)}function Yd(e,t){return jo(e,t)}function Jd(e,t){return Lo(e,t)}function Zd(e,t,n){for(let r=t;r<e.length;r++)if(!n(e[r],r))return!1;return!0}function Xd(e,t,n){let r=!0;for(let a=t;a<e.length;a++)n(e[a],a)||(r=!1);return r}function er(e,t,n){return M(e.length,0)?n():t(e[0],e.slice(1))}function Uo(e){return M(e,"__proto__")||M(e,"constructor")||M(e,"prototype")}function Qd(e,t){return Uo(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function ef(e){return Jn(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function tf(e){return Object.entries(e)}function Jn(e){return Object.getOwnPropertyNames(e)}function nf(e){return Object.getOwnPropertySymbols(e)}function rf(e){return Object.values(e)}function af(e,t){if(!ln(t))return!1;let n=Jn(e);return M(n.length,Jn(t).length)&&n.every(r=>fa(e[r],t[r]))}function of(e,t){return cn(t)&&M(e.length,t.length)&&e.every((n,r)=>fa(e[r],t[r]))}function fa(e,t){return cn(e)?of(e,t):ln(e)?af(e,t):M(e,t)}var rt={};yt(rt,{IsBigInt64Array:()=>$f,IsBigUint64Array:()=>vf,IsBoolean:()=>mf,IsDate:()=>kf,IsFloat32Array:()=>If,IsFloat64Array:()=>bf,IsInt16Array:()=>gf,IsInt32Array:()=>xf,IsInt8Array:()=>lf,IsMap:()=>wf,IsNumber:()=>pf,IsRegExp:()=>Tf,IsSet:()=>Ef,IsString:()=>uf,IsTypeArray:()=>cf,IsUint16Array:()=>hf,IsUint32Array:()=>yf,IsUint8Array:()=>df,IsUint8ClampedArray:()=>ff});function mf(e){return e instanceof Boolean}function pf(e){return e instanceof Number}function uf(e){return e instanceof String}function cf(e){return globalThis.ArrayBuffer.isView(e)}function lf(e){return e instanceof globalThis.Int8Array}function df(e){return e instanceof globalThis.Uint8Array}function ff(e){return e instanceof globalThis.Uint8ClampedArray}function gf(e){return e instanceof globalThis.Int16Array}function hf(e){return e instanceof globalThis.Uint16Array}function xf(e){return e instanceof globalThis.Int32Array}function yf(e){return e instanceof globalThis.Uint32Array}function If(e){return e instanceof globalThis.Float32Array}function bf(e){return e instanceof globalThis.Float64Array}function $f(e){return e instanceof globalThis.BigInt64Array}function vf(e){return e instanceof globalThis.BigUint64Array}function Tf(e){return e instanceof globalThis.RegExp}function kf(e){return e instanceof globalThis.Date}function Ef(e){return e instanceof globalThis.Set}function wf(e){return e instanceof globalThis.Map}function Of(e){return i.HasPropertyKey(e,"~kind")||i.HasPropertyKey(e,"~unsafe")}function Pf(e){let t={},n=Object.getOwnPropertyDescriptors(e);for(let r of Object.keys(n)){if(i.IsUnsafePropertyKey(r))continue;let a=n[r];i.HasPropertyKey(a,"value")&&Object.defineProperty(t,r,{...a,value:bt(a.value)})}return t}function Sf(e){let t={};for(let n of i.Keys(e))i.IsUnsafePropertyKey(n)||(t[n]=bt(e[n]));for(let n of i.Symbols(e))t[n]=bt(e[n]);return t}function Mf(e){return i.IsClassInstance(e)?e:Of(e)?Pf(e):Sf(e)}function Cf(e){return e.map(t=>bt(t))}function Af(e){return e.slice()}function qf(e){return new RegExp(e.source,e.flags)}function Lf(e){return new Map(bt([...e.entries()]))}function jf(e){return new Set(bt([...e.values()]))}function bt(e){return rt.IsTypeArray(e)?Af(e):rt.IsRegExp(e)?qf(e):rt.IsMap(e)?Lf(e):rt.IsSet(e)?jf(e):i.IsArray(e)?Cf(e):i.IsObject(e)?Mf(e):e}function dn(e){return qe.clone+=1,bt(e)}var $t={};yt($t,{Get:()=>Nf,Reset:()=>Ff,Set:()=>Df});var Ze={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function Ff(){Ze.immutableTypes=!1,Ze.maxErrors=8,Ze.useAcceleration=!0,Ze.exactOptionalPropertyTypes=!1,Ze.enumerableKind=!1,Ze.correctiveParse=!1,Ze.unionPrioritySort=!0}function Df(e){for(let t of i.Keys(e)){let n=e[t];n!==void 0&&Object.defineProperty(Ze,t,{value:n})}}function Nf(){return Ze}function Kf(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 Go(e,t){return{...e,...t}}function Uf(e,t,n={}){qe.create+=1;let r=$t.Get(),a=Go(t,n),s=r.enumerableKind?Go(a,e):Kf(a,e);return r.immutableTypes?Object.freeze(s):s}function Gf(e,t){qe.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(dn(e)),a=new Set(t);for(let s of Object.keys(r))a.has(s)||Object.defineProperty(n,s,r[s]);return n}function _f(e,t,n){qe.update+=1;let r=$t.Get(),a=dn(e);for(let s of Object.keys(t))Object.defineProperty(a,s,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[s]});for(let s of Object.keys(n))Object.defineProperty(a,s,{configurable:!0,enumerable:!0,writable:!0,value:n[s]});return a}function h(e,t){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.IsEqual(e["~kind"],t)}function Q(e){return i.IsObject(e)}function y(e,t,n){return p.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:n},{})}function at(e){return h(e,"Deferred")}function zf(e){return p.Update(e,{"~readonly":!0},{})}function fn(e,t){return p.Update(zf(e),{},t)}function _o(e,t,n,r){let a=d(e,t,n);return fn(a,r)}function Bf(e){return p.Update(e,{"~optional":!0},{})}function gn(e,t){return p.Update(Bf(e),{},t)}function zo(e,t,n,r){let a=d(e,t,n);return gn(a,r)}function ke(e,t){return p.Create({"~kind":"Array"},{type:"array",items:e},t)}function U(e){return h(e,"Array")}function tr(e){return p.Discard(e,["~kind","type","items"])}function De(e,t,n={}){return p.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},n)}function ne(e){return h(e,"Constructor")}function Bo(e){return p.Discard(e,["~kind","type","parameters","instanceType"])}function Ne(e,t,n={}){return p.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},n)}function re(e){return h(e,"Function")}function Vo(e){return p.Discard(e,["~kind","type","parameters","returnType"])}function Xe(e,t){return p.Create({"~kind":"Ref"},{$ref:e},t)}function ae(e){return h(e,"Ref")}function ot(e,t){return p.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function qt(e){return h(e,"Generic")}function Lt(e){return p.Create({"~kind":"Any"},{},e)}function Y(e){return h(e,"Any")}var Wo="(?!)";function L(e){return p.Create({"~kind":"Never"},{not:{}},e)}function it(e){return h(e,"Never")}function Ke(e,t={}){return y("AddOptional",[e],t)}function vt(e,t={}){return gn(e,t)}function Ho(e){return vt(e)}function ce(e){return Q(e)&&i.HasPropertyKey(e,"~optional")}function Yo(e){return i.Keys(e).filter(t=>!ce(e[t]))}function nr(e){return i.Keys(e)}function rr(e){return i.Values(e)}function $(e,t={}){let n=Yo(e),r=n.length>0?{required:n}:{};return p.Create({"~kind":"Object"},{type:"object",...r,properties:e},t)}function C(e){return h(e,"Object")}function Jo(e){return p.Discard(e,["~kind","type","properties","required"])}function oe(e){return p.Create({"~kind":"Unknown"},{},e)}function ee(e){return h(e,"Unknown")}function Ue(e,t,n){let r=i.Keys(e).reduce((a,s)=>({...a,[s]:p.Update(e[s],{},{$id:s})}),{});return p.Create({"~kind":"Cyclic"},{$defs:r,$ref:t},n)}function me(e){return h(e,"Cyclic")}function Zo(e){return p.Update(e,{"~unsafe":null},{})}function ar(e){return i.IsObjectNotArray(e)&&i.HasPropertyKey(e,"~unsafe")&&i.IsNull(e["~unsafe"])}var Ge={};yt(Ge,{Match:()=>Vf});function Vf(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}function hn(...e){let[t,n]=Ge.Match(e,{2:(r,a)=>[r,a,a],1:r=>[r,oe(),oe()]});return p.Create({"~kind":"Infer"},{type:"infer",name:t,extends:n},{})}function V(e){return h(e,"Infer")}function Tt(e,t,n,r={}){return p.Create({"~kind":"Dependent"},{if:e,then:t,else:n},r)}function z(e){return h(e,"Dependent")}function Xo(e){return p.Discard(e,["~kind","if","then","else"])}function Qo(e){return i.IsObjectNotArray(e)}function ei(e){return i.Keys(e).filter(n=>isNaN(n)).reduce((n,r)=>[...n,e[r]],[])}function ti(e){return i.IsString(e)||i.IsNumber(e)}function ni(e,t){let n=Qo(e)?ei(e):e;return p.Create({"~kind":"Enum"},{enum:n},t)}function de(e){return h(e,"Enum")}function le(e,t={}){return p.Create({"~kind":"Intersect"},{allOf:e},t)}function R(e){return h(e,"Intersect")}function ri(e){return p.Discard(e,["~kind","allOf"])}function W(){throw new Error("Unreachable")}var ai;(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"})(ai||(ai={}));var Ev=BigInt("14695981039346656037"),[wv,Rv]=[BigInt("1099511628211"),BigInt("18446744073709551616")],Ov=Array.from({length:256}).map((e,t)=>BigInt(t)),oi=new Float64Array(1),Pv=new DataView(oi.buffer),Sv=new Uint8Array(oi.buffer);var Mv=new TextEncoder;var xn=class{constructor(t,n){this.type=t,this.decode=n}Encode(t){let n=this.type,r=or(n)?m=>this.decode(n["~codec"].decode(m)):this.decode,a=or(n)?m=>n["~codec"].encode(t(m)):t,s={decode:r,encode:a};return p.Update(this.type,{"~codec":s},{})}},yn=class{constructor(t){this.type=t}Decode(t){return new xn(this.type,t)}};function ir(e){return new yn(e)}function si(e,t){return ir(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function mi(e,t){return ir(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function or(e){return Q(e)&&i.HasPropertyKey(e,"~codec")&&i.IsObject(e["~codec"])&&i.HasPropertyKey(e["~codec"],"encode")&&i.HasPropertyKey(e["~codec"],"decode")}function pi(e){return jt(e)}function kt(e){return Q(e)&&i.HasPropertyKey(e,"~immutable")}function _e(e,t={}){return y("AddReadonly",[e],t)}function Et(e,t={}){return fn(e,t)}function ui(e){return Et(e)}function wt(e){return Q(e)&&i.HasPropertyKey(e,"~readonly")}function Jf(e,t){let n=ga(e)?[...e["~refine"],t]:[t];return p.Update(e,{"~refine":n},{})}function ci(...e){let[t,n,r]=Ge.Match(e,{3:(a,s,m)=>[a,s,m],2:(a,s)=>[a,s,()=>"Refine Error"]});return Jf(t,{check:n,error:r})}function Zf(e){return i.IsObjectNotArray(e)&&i.HasPropertyKey(e,"check")&&i.HasPropertyKey(e,"error")&&i.IsFunction(e.check)&&i.IsFunction(e.error)}function ga(e){return Q(e)&&i.HasPropertyKey(e,"~refine")&&i.IsArray(e["~refine"])&&i.Every(e["~refine"],0,t=>Zf(t))}var li="-?(?:0|[1-9][0-9]*)n";function In(e){return p.Create({"~kind":"BigInt"},{type:"bigint"},e)}function ze(e){return h(e,"BigInt")}function sr(e){return p.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Se(e){return h(e,"Boolean")}function bn(e){return p.Create({"~kind":"Identifier"},{name:e})}function di(e){return h(e,"Identifier")}var mr="-?(?:0|[1-9][0-9]*)";function Rt(e){return p.Create({"~kind":"Integer"},{type:"integer"},e)}function fe(e){return h(e,"Integer")}var ha=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}};function Xf(e){return i.IsBigInt(e)?"bigint":i.IsBoolean(e)?"boolean":i.IsNumber(e)?"number":i.IsString(e)?"string":(()=>{throw new ha(e)})()}function O(e,t){return p.Create({"~kind":"Literal"},{type:Xf(e),const:e},t)}function pr(e){return i.IsBigInt(e)||i.IsBoolean(e)||i.IsNumber(e)||i.IsString(e)}function fi(e){return A(e)&&i.IsNumber(e.const)}function gi(e){return A(e)&&i.IsString(e.const)}function A(e){return h(e,"Literal")}function Ft(e){return p.Create({"~kind":"Null"},{type:"null"},e)}function Dt(e){return h(e,"Null")}var ur="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?";function Ie(e){return p.Create({"~kind":"Number"},{type:"number"},e)}function J(e){return h(e,"Number")}function Nt(e){return p.Create({"~kind":"Symbol"},{type:"symbol"},e)}function st(e){return h(e,"Symbol")}function Ot(...e){let[t,n,r]=Ge.Match(e,{3:(a,s,m)=>[a,s,m],2:(a,s)=>[a,s,s],1:a=>[a,oe(),oe()]});return p.Create({"~kind":"Parameter"},{name:t,extends:n,equals:r},{})}function hi(e){return h(e,"Parameter")}var cr=".*";function Me(e){return p.Create({"~kind":"String"},{type:"string"},e)}function ge(e){return h(e,"String")}function k(e,t={}){return p.Create({"~kind":"Union"},{anyOf:e},t)}function x(e){return h(e,"Union")}function xi(e){return p.Discard(e,["~kind","anyOf"])}function $n(e){let t=yi(e);return i.IsEqual(t.length,2)?t[0]:[]}function Qf(e){return!0}function Ii(e){return i.ShiftLeft(e,(t,n)=>eg(t)?Ii(n):!1,()=>!0)}function bi(e){return i.IsEqual(e.length,0)?!1:Ii(e)}function eg(e){return x(e)?bi(e.anyOf):A(e)?Qf(e.const):!1}function lr(e){return bi(e)}function dr(e){return p.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}function $i(e,t,n=[]){return i.ShiftLeft(e,(r,a)=>$i(a,t,[...n,`${r}${t}`]),()=>n)}function tg(e,t){return i.IsEqual(e.length,0)?[`${t}`]:$i(e,t)}function vi(e,t,n=[]){return i.ShiftLeft(t,(r,a)=>vi(e,a,[...n,...Ti(e,r)]),()=>n)}function Ti(e,t){return x(t)?vi(e,t.anyOf):A(t)?tg(e,t.const):W()}function ki(e,t){return i.ShiftLeft(t,(n,r)=>ki(Ti(e,n),r),()=>e)}function ng(e){return e.map(t=>O(t))}function rg(e){let t=ki([],e),n=ng(t);return k(n)}function ag(e){return i.IsEqual(e.length,0)?W():i.IsEqual(e.length,1)&&A(e[0])?e[0]:rg(e)}function xa(e){let t=$n(e);return i.IsEqual(t.length,0)?Me():lr(t)?ag(t):dr(e)}function Ei(e){let t=xa(e);return Z(t)?Me():t}function xe(e,t){let n="object",r={[e]:t};return p.Create({"~kind":"Record"},{type:n,patternProperties:r})}function wi(e){return xe(Le,e)}function Ri(e){return $({true:e,false:e})}function X(e,t={}){let[n,r,a]=[e,e.length,!1];return p.Create({"~kind":"Tuple"},{type:"array",additionalItems:a,items:n,minItems:r},t)}function j(e){return h(e,"Tuple")}function Oi(e){return p.Discard(e,["~kind","type","items","minItems","additionalItems"])}function og(e){return p.Discard(e,["~readonly"])}function ya(e,t){return p.Update(og(e),{},t)}function Pi(e,t,n,r){let a=d(e,t,n);return ya(a,r)}function Si(e,t={}){return y("RemoveReadonly",[e],t)}function Mi(e,t={}){return ya(e,t)}function ig(e){return p.Discard(e,["~optional"])}function Ia(e,t){return p.Update(ig(e),{},t)}function Ci(e,t,n,r){let a=d(e,t,n);return Ia(a,r)}function Ai(e,t={}){return y("RemoveOptional",[e],t)}function fr(e,t={}){return Ia(e,t)}function ba(e){return e.reduceRight((n,r,a)=>({[a]:r,...n}),{})}function qi(e){let t=ba(e.items);return $(t)}function sg(e,t){return wt(e)?!!wt(t):!1}function mg(e,t){return ce(e)?!!ce(t):!1}function pg(e,t){let n=sg(e,t),r=mg(e,t),a=G([e,t]),s=Mi(fr(a));return n&&r?Et(vt(s)):n&&!r?Et(s):!n&&r?vt(s):s}function ug(e,t,n){return n in e?n in t?pg(e[n],t[n]):e[n]:n in t?t[n]:L()}function cg(e,t){return[...new Set([...i.Keys(t),...i.Keys(e)])].reduce((r,a)=>({...r,[a]:ug(e,t,a)}),{})}function Li(e){return C(e)?e.properties:j(e)?ba(e.items):W()}function ji(e,t){let n=Li(e),r=Li(t),a=cg(n,r);return $(a)}function Fi(e,t){let n=Kt(e,t);return i.IsEqual(n,Tn)?e:i.IsEqual(n,kn)||i.IsEqual(n,vn)?t:L()}function Di(e){return C(e)||j(e)}function lg(e,t){let n=x(e),r=x(t);return n||r}function dg(e,t){let n=Ce(e),r=Ce(t),a=lg(n,r),s=Di(n),m=Di(r);return a?G([n,r]):s&&m?ji(n,r):s&&!m?n:!s&&m?r:Fi(n,r)}function Ni(e,t,n=[]){return i.ShiftLeft(t,(r,a)=>Ni(e,a,[...n,dg(e,r)]),()=>i.IsEqual(n.length,0)?[e]:n)}function Ki(e,t,n=[]){return i.ShiftLeft(e,(r,a)=>Ki(a,t,[...n,...En([r],t)]),()=>n)}function En(e,t=[]){return i.ShiftLeft(e,(n,r)=>x(n)?En(r,Ki(n.anyOf,t)):En(r,Ni(n,t)),()=>t)}function fg(e,t){let n=pe({},e,t);return b.IsExtendsTrueLike(n)?[]:[e]}function gg(e,t){return e.reduce((n,r)=>[...n,...fg(r,t)],[])}function gr(e,t){let n=Ce(e),r=x(n)?n.anyOf:[n],a=gg(r,t);return be(a)}function je(e,t,n){let r=le([e,t]),a=gr(n,e);return be([r,a])}function Ee(e){let t=e.map(n=>O(n));return be(t)}function G(e){let t=En(e),n=$a(t);return Qe(n)}function ye(e){let t=Ei(e);return Ce(t)}function be(e){let t=$a(e);return Qe(t)}function Ce(e){return z(e)?je(e.if,e.then,e.else):de(e)?Ee(e.enum):R(e)?G(e.allOf):Z(e)?ye(e.pattern):x(e)?be(e.anyOf):e}function Qe(e){return i.IsEqual(e.length,1)?e[0]:i.IsEqual(e.length,0)?L():k(e)}function Ui(e,t){let n=Ee(e);return mt(n,t)}function Gi(e,t){return xe(pt,t)}function _i(e,t){let n=G(e);return mt(n,t)}function zi(e,t){return i.IsString(e)||i.IsNumber(e)?$({[e]:t}):i.IsEqual(e,!1)?$({false:t}):i.IsEqual(e,!0)?$({true:t}):$({})}function Bi(e,t){return xe(Ut,t)}function Vi(e,t){return i.HasPropertyKey(e,"pattern")&&(i.IsString(e.pattern)||e.pattern instanceof RegExp)?xe(e.pattern.toString(),t):xe(Le,t)}function Wi(e,t){let n=$n(e);return lr(n)?mt(ye(e),t):xe(e,t)}function hg(e){return x(e)?wn(e.anyOf):[e]}function wn(e){return e.reduce((t,n)=>[...t,...hg(n)],[])}function xg(e){return e.some(t=>ge(t)||J(t)||fe(t))}function yg(e,t){return i.IsEqual(xg(e),!0)?xe(Le,t):void 0}function Ig(e,t){return e.reduce((n,r)=>A(r)&&(i.IsString(r.const)||i.IsNumber(r.const))?{...n,[r.const]:t}:n,{})}function bg(e,t){let n=Ig(e,t);return $(n)}function Hi(e,t){let n=wn(e),r=yg(n,t);return Q(r)?r:bg(n,t)}function mt(e,t){return Y(e)?wi(t):Se(e)?Ri(t):de(e)?Ui(e.enum,t):fe(e)?Gi(e,t):R(e)?_i(e.allOf,t):A(e)?zi(e.const,t):J(e)?Bi(e,t):x(e)?Hi(e.anyOf,t):ge(e)?Vi(e,t):Z(e)?Wi(e.pattern,t):$({})}function va(e,t,n){return T([e])?p.Update(mt(e,t),{},n):hr(e,t,n)}function Yi(e,t,n,r,a){let s=d(e,t,n),m=d(e,t,r);return va(s,m,a)}var pt=`^${mr}$`,Ut=`^${ur}$`,Le=`^${cr}$`;function hr(e,t,n={}){return y("Record",[e,t],n)}function xr(e,t,n={}){return va(e,t,n)}function Ji(e,t){return xe(e,t)}function yr(e){return i.IsEqual(e,Le)?Me():i.IsEqual(e,pt)?Rt():i.IsEqual(e,Ut)?Ie():xa(e)}function Ae(e){return i.Keys(e.patternProperties)[0]}function Gt(e){let t=Ae(e);return yr(t)}function he(e){return e.patternProperties[Ae(e)]}function ue(e){return h(e,"Record")}function Pt(e){return p.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function ut(e){return h(e,"Rest")}function Ir(e){return p.Create({"~kind":"This"},{$ref:"#"},e)}function br(e){return h(e,"This")}function _t(e){return p.Create({"~kind":"Undefined"},{type:"undefined"},e)}function zt(e){return h(e,"Undefined")}function $r(e){return p.Create({"~kind":"Void"},{type:"void"},e)}function Be(e){return h(e,"Void")}function vg(e,t){return i.IsEqual(e,"Array")?ke(t[0]):i.IsEqual(e,"Capitalize")?Tr(t[0]):i.IsEqual(e,"ConstructorParameters")?Or(t[0]):i.IsEqual(e,"Evaluate")?Xm(t[0]):i.IsEqual(e,"Exclude")?Pr(t[0],t[1]):i.IsEqual(e,"Extract")?Sr(t[0],t[1]):i.IsEqual(e,"Index")?Sn(t[0],t[1]):i.IsEqual(e,"InstanceType")?Mr(t[0]):i.IsEqual(e,"Lowercase")?kr(t[0]):i.IsEqual(e,"NonNullable")?Cr(t[0]):i.IsEqual(e,"Omit")?Ar(t[0],t[1]):i.IsEqual(e,"Parameters")?qr(t[0]):i.IsEqual(e,"Partial")?Lr(t[0]):i.IsEqual(e,"Pick")?jr(t[0],t[1]):i.IsEqual(e,"Readonly")?Fr(t[0]):i.IsEqual(e,"KeyOf")?Mn(t[0]):i.IsEqual(e,"Record")?hr(t[0],t[1]):i.IsEqual(e,"Required")?Dr(t[0]):i.IsEqual(e,"ReturnType")?Nr(t[0]):i.IsEqual(e,"Uncapitalize")?Er(t[0]):i.IsEqual(e,"Uppercase")?wr(t[0]):Pn(Xe(e),t)}function St(){throw Error("Unreachable")}var Tg=(e,t=[])=>e.reduce((n,r)=>i.IsArray(r)&&i.IsEqual(r.length,2)?[...n,r[0]]:[...n,r],[]),et=e=>{let[t,n]=e;return Tg([...t,...n])};function ts(e){return Ot(e[0],e[2],e[4])}function ns(e){return Ot(e[0],e[2],e[2])}function rs(e){return Ot(e[0],oe(),e[2])}function as(e){return Ot(e,oe(),oe())}function os(e){return et(e)}function is(e){return e[1]}function ss(e){return et(e)}function ms(e){return e[1]}function ps(e){return vg(e[0],e[1])}function us(e){return null}function cs(e){return Me()}function ls(e){return Ie()}function ds(e){return sr()}function fs(e){return _t()}function gs(e){return Ft()}function hs(e){return Rt()}function xs(e){return In()}function ys(e){return oe()}function Is(e){return Lt()}function bs(e){return $({})}function $s(e){return L()}function vs(e){return Nt()}function Ts(e){return $r()}function ks(e){return Ir()}function Es(e){return O(BigInt(e))}function ws(e){return O(i.IsEqual(e,"true"))}function Rs(e){return O(parseFloat(e))}function Os(e){return O(e)}function Ps(e){return e[1]}function Ss(e){return O(e)}function Ms(e){return i.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function Cs(e){return e[1]}function As(e){return vr(e)}function qs(e){return i.IsEqual(e.length,6)?Tt(e[1],e[3],e[5]):Tt(e[1],e[3],oe())}function Ls(e){return e.length>0}function js(e){return e.reduce((t,n)=>i.IsEqual(n.length,3)?[...t,[n[1]]]:[...t,[]],[])}function Fs(e){return i.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function Ds(e){return i.IsArray(e)&&i.IsEqual(e.length,3)?e[1]:e}function Ns(e){return i.IsEqual(e.length,2)?e[1]:[]}function Zi(e,t){return t.reduce((n,r)=>{let a=r;return i.IsEqual(a.length,1)?Sn(n,a[0]):i.IsEqual(a.length,0)?ke(n):St()},e)}function Xi(e,t){return i.IsEqual(t.length,3)?Rr(e,t[0],t[1],t[2]):e}function kg(e,t){return i.IsArray(t)&&i.IsEqual(t.length,0)?e:Kr(e,t)}function Ks(e){let[t,n,r,a,s]=e;return kg(Xi(t?Mn(Zi(n,r)):Zi(n,r),a),s)}function Ta(e,t){return i.IsEqual(t.length,3)?(()=>{let[n,r,a]=t,s=Ta(r,a);if(i.IsEqual(n,"&"))return R(s)?le([e,...s.allOf]):le([e,s]);if(i.IsEqual(n,"|"))return x(s)?k([e,...s.anyOf]):k([e,s]);St()})():e}function Us(e){let[t,n]=e;return Ta(t,n)}function Gs(e){let[t,n]=e;return Ta(t,n)}function _s(e){return Zm(e[1])}function zs(e){return e[1]}function Bs(e){return ot(e[0],e[2])}function Vs(e){return i.IsEqual(e.length,4)?hn(e[1],e[3]):i.IsEqual(e.length,2)?hn(e[1],oe()):St()}function Ws(e){return`${e}`}function Hs(e){return fe(e[3])?pt:J(e[3])?Ut:st(e[3])?Le:ge(e[3])?Le:St()}function Ys(e){return e.length>0}function Js(e){return e.length>0}function Zs(e){let[t,n,r,a,s]=e;return{[n]:t&&r?_e(Ke(s)):t&&!r?_e(s):!t&&r?Ke(s):s}}function Xs(e){return et(e)}function Qs(e){return e.reduce((t,n)=>i.HasPropertyKey(n,pt)||i.HasPropertyKey(n,Ut)||i.HasPropertyKey(n,Le)?[t[0],p.Assign(t[1],n)]:[p.Assign(t[0],n),t[1]],[{},{}])}function em(e){return Qs(e[1])}function tm(e){let[t,n]=e,r=i.IsEqual(i.Keys(n).length,0)?{}:{patternProperties:n};return $(t,r)}function nm(e){return i.IsEqual(e.length,5)?_e(Ke(e[4])):i.IsEqual(e.length,3)?e[2]:i.IsEqual(e.length,4)?i.IsEqual(e[2],"readonly")?_e(e[3]):Ke(e[3]):St()}function rm(e){return _e(Ke(e[1]))}function am(e){return _e(e[1])}function om(e){return Ke(e[0])}function im(e){return i.IsEqual(e.length,2)?Pt(e[1]):i.IsEqual(e.length,1)?e[0]:St()}function sm(e){return et(e)}function mm(e){return X(e[1])}function pm(e){return _e(Ke(e[4]))}function um(e){return _e(e[3])}function cm(e){return Ke(e[3])}function lm(e){return e[2]}function dm(e){return i.IsEqual(e.length,2)?Pt(e[1]):i.IsEqual(e.length,1)?e[0]:St()}function fm(e){return et(e)}function gm(e){return Ne(e[1],e[4])}function hm(e){return De(e[2],e[5])}function Qi(e,t){return i.IsEqual(e,"remove")?Si(t):i.IsEqual(e,"add")?_e(t):t}function xm(e){return i.IsEqual(e.length,2)&&i.IsEqual(e[0],"-")?"remove":i.IsEqual(e.length,2)&&i.IsEqual(e[0],"+")||i.IsEqual(e.length,1)?"add":"none"}function es(e,t){return i.IsEqual(e,"remove")?Ai(t):i.IsEqual(e,"add")?Ke(t):t}function ym(e){return i.IsEqual(e.length,2)&&i.IsEqual(e[0],"-")?"remove":i.IsEqual(e.length,2)&&i.IsEqual(e[0],"+")||i.IsEqual(e.length,1)?"add":"none"}function Im(e){return i.IsEqual(e.length,2)?[e[1]]:[]}function bm(e){return i.IsArray(e[6])&&i.IsEqual(e[6].length,1)?Rn(bn(e[3]),e[5],e[6][0],Qi(e[1],es(e[8],e[10]))):Rn(bn(e[3]),e[5],Xe(e[3]),Qi(e[1],es(e[8],e[10])))}function $m(e){return Xe(e)}function vm(e){return BigInt(e)}function Tm(e){return parseFloat(e)}function km(e){return i.IsEqual(e,"true")}function Em(e){return null}function wm(e){return{[e[0]]:e[2]}}function Rm(e){return et(e)}function Eg(e){return e.reduce((t,n)=>p.Assign(t,n),{})}function Om(e){return Eg(e[1])}function Pm(e){return et(e)}function Sm(e){return e[1]}function Mm(e){return In()}function Cm(e){return Me()}function Am(e){return Ie()}function qm(e){return Rt()}function Lm(e){return L()}function jm(e){return O(e)}function Fm(e){return k(e[1])}function Dm(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function Nm(e){return[e[0],...e[1]]}function Km(e){return e[1]}function Um(e){return et(e)}function Gm(e){return i.IsEqual(e.length,2)?e[1]:[]}function _m(e){let t=e[2],n=e[3],[r,a]=e[4],s=i.IsEqual(i.Keys(a).length,0)?{}:{patternProperties:a};return{[e[1]]:ot(t,On(n,r,s))}}function zm(e){let t=e[2],[n,r]=e[3],a=i.IsEqual(i.Keys(r).length,0)?{}:{patternProperties:r};return{[e[1]]:On(t,n,a)}}function Bm(e){return{[e[1]]:ot(e[2],e[4])}}function Vm(e){return{[e[1]]:e[3]}}function Wm(e){return null}function Hm(e){return Qs(et(e))}function Ym(e){return e[1]}function Jm(e){let t=e[0],n=e[1];return Qm(p.Assign(t,n[0]))}function Cn(e){return M(e.length,2)}function E(e,t,n){return Cn(e)?t(e[0],e[1]):n()}function Og(e,t){return M(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function _(e,t){for(let n=0;n<e.length;n++){let r=Og(e[n],t);if(Cn(r))return r}return[]}function ka(e,t){return Array.from({length:t-e+1},(n,r)=>String.fromCharCode(e+r))}var ep=[...ka(97,122),...ka(65,90)],Ea="0",wa=ka(49,57),Bt=[Ea,...wa],tp=" ",Vt=`
2
- `;var ct="_",Ur=".",np="$",Gr="-";var rp="//",ap="/*",Sg="*/";function op(e){let t=e.indexOf(Sg);return M(t,-1)?"":e.slice(t+2)}function ip(e){let t=e.indexOf(Vt);return M(t,-1)?"":e.slice(t)}function Mg(e){return e.replace(/^[ \t\r\f\v]+/,"")}function _r(e){let t=Mg(e);return t.startsWith(ap)?_r(op(t.slice(2))):t.startsWith(rp)?_r(ip(t.slice(2))):t}function ie(e){let t=e.trimStart();return t.startsWith(ap)?ie(op(t.slice(2))):t.startsWith(rp)?ie(ip(t.slice(2))):t}function zr(e,t){return E(_([e],t),(n,r)=>[n,r],()=>["",t])}function Cg(e,t){return e.includes(t)}function Wt(e,t,n,r=""){return E(_(e,n),(a,s)=>Cg(t,a)?Wt(e,t,s,r):Wt(e,t,s,`${r}${a}`),()=>[r,n])}function Ag(e){return _(wa,e)}var qg=[...Bt,ct];function Lg(e){return Wt(qg,[ct],e)}function jg(e){return E(_([Ea],e),(t,n)=>[t,n],()=>E(Ag(e),(t,n)=>E(Lg(n),(r,a)=>[`${t}${r}`,a],()=>[]),()=>[]))}function Br(e){return jg(ie(e))}function Fg(e){return zr(Gr,e)}function Dg(e){return E(Fg(e),(t,n)=>E(Br(n),(r,a)=>[`${t}${r}`,a],()=>[]),()=>[])}function sp(e){return Dg(ie(e))}function Ng(e){return E(sp(e),(t,n)=>E(_(["n"],n),(r,a)=>[`${t}`,a],()=>[]),()=>[])}function Ra(e){return Ng(e)}function Oa(e,t){return _([e],t)}function u(e,t){return M(e,"")?["",t]:e.startsWith(Vt)?Oa(e,_r(t)):e.startsWith(tp)?Oa(e,t):Oa(e,ie(t))}var mp=[...ep,ct,np];function Kg(e){return _(mp,e)}var Ug=[...mp,...Bt];function pp(e,t=""){return E(_(Ug,e),(n,r)=>pp(r,`${t}${n}`),()=>[t,e])}function Gg(e){return E(Kg(e),(t,n)=>E(pp(n),(r,a)=>[`${t}${r}`,a],()=>[]),()=>[])}function B(e){return Gg(ie(e))}var _g=[...Bt,ct];function zg(e){return Cn(_([Ur],e))}function up(e){return E(Wt(_g,[ct],e),(t,n)=>M(t,"")?[]:[t,n],()=>[])}function Bg(e){return E(_([Ur],e),(t,n)=>E(up(n),(r,a)=>[`0${t}${r}`,a],()=>[]),()=>[])}function Vg(e){return E(Br(e),(t,n)=>E(_([Ur],n),(r,a)=>E(up(a),(s,m)=>[`${t}${r}${s}`,m],()=>[`${t}`,a]),()=>[`${t}`,n]),()=>[])}function Wg(e){return zg(e)?Bg(e):Vg(e)}function cp(e){return Wg(ie(e))}function Hg(e){return zr(Gr,e)}function Yg(e){return E(Hg(e),(t,n)=>E(cp(n),(r,a)=>[`${t}${r}`,a],()=>[]),()=>[])}function Vr(e){return Yg(ie(e))}function Jg(e){return M(e,"")?[]:[e.slice(0,1),e.slice(1)]}function lp(e,t){return er(e,(n,r)=>t.startsWith(n)?!0:lp(r,t),()=>!1)}function lt(e,t,n=""){return E(Jg(t),(r,a)=>lp(e,t)?[n,t]:lt(e,a,`${n}${r}`),()=>[])}function Zg(e,t,n){return E(_([e],n),(r,a)=>E(lt([t],a),(s,m)=>E(_([t],m),(c,l)=>[`${s}`,l],()=>[]),()=>[]),()=>[])}function Xg(e,t,n){return E(_([e],n),(r,a)=>E(lt([Vt,t],a),(s,m)=>E(_([t],m),(c,l)=>[`${s}`,l],()=>[]),()=>[]),()=>[])}function dp(e,t,n,r){return n?Zg(e,t,ie(r)):Xg(e,t,ie(r))}function Qg(e,t){return _(e,t)}function eh(e,t){return dp(e,e,!1,t)}function th(e,t){return E(Qg(e,t),(n,r)=>eh(n,`${n}${r}`),()=>[])}function Wr(e,t){return th(e,ie(t))}function fp(e,t){return E(lt(e,t),(n,r)=>M(n,"")?[]:[n,r],()=>[])}var o=(e,t,n=()=>[])=>e.length===2?t(e):n(),rh=e=>o(o(B(e),([t,n])=>o(u("extends",n),([r,a])=>o(w(a),([s,m])=>o(u("=",m),([c,l])=>o(w(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[ts(t),n]),ah=e=>o(o(B(e),([t,n])=>o(u("extends",n),([r,a])=>o(w(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[ns(t),n]),oh=e=>o(o(B(e),([t,n])=>o(u("=",n),([r,a])=>o(w(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[rs(t),n]),ih=e=>o(B(e),([t,n])=>[as(t),n]),xp=e=>o(o(rh(e),([t,n])=>[t,n],()=>o(ah(e),([t,n])=>[t,n],()=>o(oh(e),([t,n])=>[t,n],()=>o(ih(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),yp=(e,t=[])=>o(o(xp(e),([n,r])=>o(u(",",r),([a,s])=>[[n,a],s])),([n,r])=>yp(r,[...t,n]),()=>[t,e]),sh=e=>o(o(yp(e),([t,n])=>o(o(o(xp(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[os(t),n]),Ma=e=>o(o(u("<",e),([t,n])=>o(sh(n),([r,a])=>o(u(">",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[is(t),n]),Ip=(e,t=[])=>o(o(w(e),([n,r])=>o(u(",",r),([a,s])=>[[n,a],s])),([n,r])=>Ip(r,[...t,n]),()=>[t,e]),mh=e=>o(o(Ip(e),([t,n])=>o(o(o(w(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[ss(t),n]),ph=e=>o(o(u("<",e),([t,n])=>o(mh(n),([r,a])=>o(u(">",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[ms(t),n]),uh=e=>o(o(B(e),([t,n])=>o(ph(n),([r,a])=>[[t,r],a])),([t,n])=>[ps(t),n]),bp=e=>o(o(o(u(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[us(t),n]),$p=e=>o(u("string",e),([t,n])=>[cs(t),n]),vp=e=>o(u("number",e),([t,n])=>[ls(t),n]),ch=e=>o(u("boolean",e),([t,n])=>[ds(t),n]),lh=e=>o(u("undefined",e),([t,n])=>[fs(t),n]),dh=e=>o(u("null",e),([t,n])=>[gs(t),n]),Tp=e=>o(u("integer",e),([t,n])=>[hs(t),n]),fh=e=>o(u("bigint",e),([t,n])=>[xs(t),n]),gh=e=>o(u("unknown",e),([t,n])=>[ys(t),n]),hh=e=>o(u("any",e),([t,n])=>[Is(t),n]),xh=e=>o(u("object",e),([t,n])=>[bs(t),n]),yh=e=>o(u("never",e),([t,n])=>[$s(t),n]),kp=e=>o(u("symbol",e),([t,n])=>[vs(t),n]),Ih=e=>o(u("void",e),([t,n])=>[Ts(t),n]),bh=e=>o(u("this",e),([t,n])=>[ks(t),n]),$h=e=>o(o(u("${",e),([t,n])=>o(w(n),([r,a])=>o(u("}",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Ps(t),n]),Pa=e=>o(lt(["${","`"],e),([t,n])=>[Ss(t),n]),Ep=e=>o(o(o(Pa(e),([t,n])=>o($h(n),([r,a])=>o(Ep(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[t,n],()=>o(o(Pa(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o(o(Pa(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[Ms(t),n]),Ca=e=>o(o(u("`",e),([t,n])=>o(Ep(n),([r,a])=>o(u("`",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Cs(t),n]),vh=e=>o(Ca(e),([t,n])=>[As(t),n]),Th=e=>o(o(o(u("if",e),([t,n])=>o(w(n),([r,a])=>o(u("then",a),([s,m])=>o(w(m),([c,l])=>o(u("else",l),([I,f])=>o(w(f),([P,N])=>[[t,r,s,c,I,P],N])))))),([t,n])=>[t,n],()=>o(o(u("if",e),([t,n])=>o(w(n),([r,a])=>o(u("then",a),([s,m])=>o(w(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[t,n],()=>[])),([t,n])=>[qs(t),n]),kh=e=>o(Ra(e),([t,n])=>[Es(t),n]),Eh=e=>o(o(u("true",e),([t,n])=>[t,n],()=>o(u("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[ws(t),n]),wh=e=>o(Vr(e),([t,n])=>[Rs(t),n]),Rh=e=>o(Wr(["'",'"'],e),([t,n])=>[Os(t),n]),Oh=e=>o(o(o(u("keyof",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ls(t),n]),wp=(e,t=[])=>o(o(o(u("[",e),([n,r])=>o(w(r),([a,s])=>o(u("]",s),([m,c])=>[[n,a,m],c]))),([n,r])=>[n,r],()=>o(o(u("[",e),([n,r])=>o(u("]",r),([a,s])=>[[n,a],s])),([n,r])=>[n,r],()=>[])),([n,r])=>wp(r,[...t,n]),()=>[t,e]),Ph=e=>o(wp(e),([t,n])=>[js(t),n]),Sh=e=>o(o(o(u("extends",e),([t,n])=>o(w(n),([r,a])=>o(u("?",a),([s,m])=>o(w(m),([c,l])=>o(u(":",l),([I,f])=>o(w(f),([P,N])=>[[t,r,s,c,I,P],N])))))),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Fs(t),n]),Mh=e=>o(o(o(u("(",e),([t,n])=>o(w(n),([r,a])=>o(u(")",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[t,n],()=>o($p(e),([t,n])=>[t,n],()=>o(vp(e),([t,n])=>[t,n],()=>o(ch(e),([t,n])=>[t,n],()=>o(lh(e),([t,n])=>[t,n],()=>o(dh(e),([t,n])=>[t,n],()=>o(Tp(e),([t,n])=>[t,n],()=>o(fh(e),([t,n])=>[t,n],()=>o(gh(e),([t,n])=>[t,n],()=>o(hh(e),([t,n])=>[t,n],()=>o(xh(e),([t,n])=>[t,n],()=>o(yh(e),([t,n])=>[t,n],()=>o(kp(e),([t,n])=>[t,n],()=>o(Ih(e),([t,n])=>[t,n],()=>o(bh(e),([t,n])=>[t,n],()=>o(kh(e),([t,n])=>[t,n],()=>o(Eh(e),([t,n])=>[t,n],()=>o(wh(e),([t,n])=>[t,n],()=>o(Rh(e),([t,n])=>[t,n],()=>o(vh(e),([t,n])=>[t,n],()=>o(Th(e),([t,n])=>[t,n],()=>o(zh(e),([t,n])=>[t,n],()=>o(Jh(e),([t,n])=>[t,n],()=>o(nx(e),([t,n])=>[t,n],()=>o(tx(e),([t,n])=>[t,n],()=>o(ix(e),([t,n])=>[t,n],()=>o(uh(e),([t,n])=>[t,n],()=>o(sx(e),([t,n])=>[t,n],()=>[])))))))))))))))))))))))))))),([t,n])=>[Ds(t),n]),Ch=e=>o(o(o(u("with",e),([t,n])=>o(Gp(n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ns(t),n]),Rp=e=>o(o(Oh(e),([t,n])=>o(Mh(n),([r,a])=>o(Ph(a),([s,m])=>o(Sh(m),([c,l])=>o(Ch(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[Ks(t),n]),Op=e=>o(o(o(u("&",e),([t,n])=>o(Rp(n),([r,a])=>o(Op(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Pp=e=>o(o(Rp(e),([t,n])=>o(Op(n),([r,a])=>[[t,r],a])),([t,n])=>[Us(t),n]),Sp=e=>o(o(o(u("|",e),([t,n])=>o(Pp(n),([r,a])=>o(Sp(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),Hr=e=>o(o(Pp(e),([t,n])=>o(Sp(n),([r,a])=>[[t,r],a])),([t,n])=>[Gs(t),n]),Ah=e=>o(o(u("readonly",e),([t,n])=>o(Hr(n),([r,a])=>[[t,r],a])),([t,n])=>[_s(t),n]),qh=e=>o(o(u("|",e),([t,n])=>o(Hr(n),([r,a])=>[[t,r],a])),([t,n])=>[zs(t),n]),Lh=e=>o(o(Ma(e),([t,n])=>o(u("=",n),([r,a])=>o(w(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Bs(t),n]),jh=e=>o(o(o(u("infer",e),([t,n])=>o(B(n),([r,a])=>o(u("extends",a),([s,m])=>o(Hr(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[t,n],()=>o(o(u("infer",e),([t,n])=>o(B(n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>[])),([t,n])=>[Vs(t),n]),w=e=>o(o(jh(e),([t,n])=>[t,n],()=>o(qh(e),([t,n])=>[t,n],()=>o(Ah(e),([t,n])=>[t,n],()=>o(Hr(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Fh=e=>o(Vr(e),([t,n])=>[Ws(t),n]),Dh=e=>o(B(e),([t,n])=>[t,n]),Nh=e=>o(Wr(["'",'"'],e),([t,n])=>[t,n]),Kh=e=>o(o(u("[",e),([t,n])=>o(B(n),([r,a])=>o(u(":",a),([s,m])=>o(o(Tp(m),([c,l])=>[c,l],()=>o(vp(m),([c,l])=>[c,l],()=>o($p(m),([c,l])=>[c,l],()=>o(kp(m),([c,l])=>[c,l],()=>[])))),([c,l])=>o(u("]",l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[Hs(t),n]),Mp=e=>o(o(Fh(e),([t,n])=>[t,n],()=>o(Dh(e),([t,n])=>[t,n],()=>o(Nh(e),([t,n])=>[t,n],()=>o(Kh(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Uh=e=>o(o(o(u("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Ys(t),n]),Gh=e=>o(o(o(u("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Js(t),n]),Cp=e=>o(o(Uh(e),([t,n])=>o(Mp(n),([r,a])=>o(Gh(a),([s,m])=>o(u(":",m),([c,l])=>o(w(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[Zs(t),n]),Ap=e=>o(o(o(u(",",e),([t,n])=>o(u(`
3
- `,n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u(";",e),([t,n])=>o(u(`
4
- `,n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u(",",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o(o(u(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o(o(u(`
5
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),qp=(e,t=[])=>o(o(Cp(e),([n,r])=>o(Ap(r),([a,s])=>[[n,a],s])),([n,r])=>qp(r,[...t,n]),()=>[t,e]),_h=e=>o(o(qp(e),([t,n])=>o(o(o(Cp(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[Xs(t),n]),Aa=e=>o(o(u("{",e),([t,n])=>o(_h(n),([r,a])=>o(u("}",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[em(t),n]),zh=e=>o(Aa(e),([t,n])=>[tm(t),n]),Bh=e=>o(o(o(B(e),([t,n])=>o(u("?",n),([r,a])=>o(u(":",a),([s,m])=>o(u("readonly",m),([c,l])=>o(w(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[t,n],()=>o(o(B(e),([t,n])=>o(u(":",n),([r,a])=>o(u("readonly",a),([s,m])=>o(w(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[t,n],()=>o(o(B(e),([t,n])=>o(u("?",n),([r,a])=>o(u(":",a),([s,m])=>o(w(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[t,n],()=>o(o(B(e),([t,n])=>o(u(":",n),([r,a])=>o(w(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[t,n],()=>[])))),([t,n])=>[nm(t),n]),Vh=e=>o(o(u("readonly",e),([t,n])=>o(w(n),([r,a])=>o(u("?",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[rm(t),n]),Wh=e=>o(o(u("readonly",e),([t,n])=>o(w(n),([r,a])=>[[t,r],a])),([t,n])=>[am(t),n]),Hh=e=>o(o(w(e),([t,n])=>o(u("?",n),([r,a])=>[[t,r],a])),([t,n])=>[om(t),n]),gp=e=>o(o(Bh(e),([t,n])=>[t,n],()=>o(Vh(e),([t,n])=>[t,n],()=>o(Wh(e),([t,n])=>[t,n],()=>o(Hh(e),([t,n])=>[t,n],()=>o(w(e),([t,n])=>[t,n],()=>[]))))),([t,n])=>[t,n]),Lp=e=>o(o(o(u("...",e),([t,n])=>o(gp(n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(gp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[im(t),n]),jp=(e,t=[])=>o(o(Lp(e),([n,r])=>o(u(",",r),([a,s])=>[[n,a],s])),([n,r])=>jp(r,[...t,n]),()=>[t,e]),Yh=e=>o(o(jp(e),([t,n])=>o(o(o(Lp(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[sm(t),n]),Jh=e=>o(o(u("[",e),([t,n])=>o(Yh(n),([r,a])=>o(u("]",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[mm(t),n]),Zh=e=>o(o(B(e),([t,n])=>o(u("?",n),([r,a])=>o(u(":",a),([s,m])=>o(u("readonly",m),([c,l])=>o(w(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[pm(t),n]),Xh=e=>o(o(B(e),([t,n])=>o(u(":",n),([r,a])=>o(u("readonly",a),([s,m])=>o(w(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[um(t),n]),Qh=e=>o(o(B(e),([t,n])=>o(u("?",n),([r,a])=>o(u(":",a),([s,m])=>o(w(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[cm(t),n]),ex=e=>o(o(B(e),([t,n])=>o(u(":",n),([r,a])=>o(w(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[lm(t),n]),hp=e=>o(o(Zh(e),([t,n])=>[t,n],()=>o(Xh(e),([t,n])=>[t,n],()=>o(Qh(e),([t,n])=>[t,n],()=>o(ex(e),([t,n])=>[t,n],()=>[])))),([t,n])=>[t,n]),Fp=e=>o(o(o(u("...",e),([t,n])=>o(hp(n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(hp(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[])),([t,n])=>[dm(t),n]),Dp=(e,t=[])=>o(o(Fp(e),([n,r])=>o(u(",",r),([a,s])=>[[n,a],s])),([n,r])=>Dp(r,[...t,n]),()=>[t,e]),Np=e=>o(o(Dp(e),([t,n])=>o(o(o(Fp(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[fm(t),n]),tx=e=>o(o(u("(",e),([t,n])=>o(Np(n),([r,a])=>o(u(")",a),([s,m])=>o(u("=>",m),([c,l])=>o(w(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[gm(t),n]),nx=e=>o(o(u("new",e),([t,n])=>o(u("(",n),([r,a])=>o(Np(a),([s,m])=>o(u(")",m),([c,l])=>o(u("=>",l),([I,f])=>o(w(f),([P,N])=>[[t,r,s,c,I,P],N])))))),([t,n])=>[hm(t),n]),rx=e=>o(o(o(u("+",e),([t,n])=>o(u("readonly",n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u("-",e),([t,n])=>o(u("readonly",n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u("readonly",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[xm(t),n]),ax=e=>o(o(o(u("+",e),([t,n])=>o(u("?",n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u("-",e),([t,n])=>o(u("?",n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u("?",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])))),([t,n])=>[ym(t),n]),ox=e=>o(o(o(u("as",e),([t,n])=>o(w(n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Im(t),n]),ix=e=>o(o(u("{",e),([t,n])=>o(rx(n),([r,a])=>o(u("[",a),([s,m])=>o(B(m),([c,l])=>o(u("in",l),([I,f])=>o(w(f),([P,N])=>o(ox(N),([se,te])=>o(u("]",te),([ve,Pe])=>o(ax(Pe),([on,F])=>o(u(":",F),([Hn,sn])=>o(w(sn),([mn,Te])=>o(bp(Te),([pn,gt])=>o(u("}",gt),([ht,At])=>[[t,r,s,c,I,P,se,ve,on,Hn,mn,pn,ht],At]))))))))))))),([t,n])=>[bm(t),n]),sx=e=>o(B(e),([t,n])=>[$m(t),n]),mx=e=>o(Ra(e),([t,n])=>[vm(t),n]),px=e=>o(Vr(e),([t,n])=>[Tm(t),n]),ux=e=>o(o(u("true",e),([t,n])=>[t,n],()=>o(u("false",e),([t,n])=>[t,n],()=>[])),([t,n])=>[km(t),n]),cx=e=>o(Wr(['"',"'"],e),([t,n])=>[t,n]),lx=e=>o(u("null",e),([t,n])=>[Em(t),n]),dx=e=>o(u("undefined",e),([t,n])=>[void 0,n]),Kp=e=>o(o(Mp(e),([t,n])=>o(u(":",n),([r,a])=>o(qa(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[wm(t),n]),Up=(e,t=[])=>o(o(Kp(e),([n,r])=>o(Ap(r),([a,s])=>[[n,a],s])),([n,r])=>Up(r,[...t,n]),()=>[t,e]),fx=e=>o(o(Up(e),([t,n])=>o(o(o(Kp(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[Rm(t),n]),Gp=e=>o(o(u("{",e),([t,n])=>o(fx(n),([r,a])=>o(u("}",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Om(t),n]),_p=(e,t=[])=>o(o(qa(e),([n,r])=>o(u(",",r),([a,s])=>[[n,a],s])),([n,r])=>_p(r,[...t,n]),()=>[t,e]),gx=e=>o(o(_p(e),([t,n])=>o(o(o(qa(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[Pm(t),n]),hx=e=>o(o(u("[",e),([t,n])=>o(gx(n),([r,a])=>o(u("]",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Sm(t),n]),qa=e=>o(o(mx(e),([t,n])=>[t,n],()=>o(px(e),([t,n])=>[t,n],()=>o(ux(e),([t,n])=>[t,n],()=>o(cx(e),([t,n])=>[t,n],()=>o(lx(e),([t,n])=>[t,n],()=>o(dx(e),([t,n])=>[t,n],()=>o(Gp(e),([t,n])=>[t,n],()=>o(hx(e),([t,n])=>[t,n],()=>[])))))))),([t,n])=>[t,n]),xx=e=>o(u("-?(?:0|[1-9][0-9]*)n",e),([t,n])=>[Mm(t),n]),yx=e=>o(u(".*",e),([t,n])=>[Cm(t),n]),Ix=e=>o(u("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,n])=>[Am(t),n]),bx=e=>o(u("-?(?:0|[1-9][0-9]*)",e),([t,n])=>[qm(t),n]),$x=e=>o(u("(?!)",e),([t,n])=>[Lm(t),n]),vx=e=>o(fp(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,n])=>[jm(t),n]),Tx=e=>o(o(xx(e),([t,n])=>[t,n],()=>o(yx(e),([t,n])=>[t,n],()=>o(Ix(e),([t,n])=>[t,n],()=>o(bx(e),([t,n])=>[t,n],()=>o($x(e),([t,n])=>[t,n],()=>o(kx(e),([t,n])=>[t,n],()=>o(vx(e),([t,n])=>[t,n],()=>[]))))))),([t,n])=>[t,n]),kx=e=>o(o(u("(",e),([t,n])=>o(La(n),([r,a])=>o(u(")",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Fm(t),n]),zp=e=>o(o(o(Sa(e),([t,n])=>o(u("|",n),([r,a])=>o(zp(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[t,n],()=>o(o(Sa(e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[]))),([t,n])=>[Dm(t),n]),Sa=e=>o(o(Tx(e),([t,n])=>o(La(n),([r,a])=>[[t,r],a])),([t,n])=>[Nm(t),n]),La=e=>o(o(zp(e),([t,n])=>[t,n],()=>o(Sa(e),([t,n])=>[t,n],()=>[])),([t,n])=>[t,n]),yi=e=>o(o(u("^",e),([t,n])=>o(La(n),([r,a])=>o(u("$",a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Km(t),n]),Bp=(e,t=[])=>o(o(w(e),([n,r])=>o(u(",",r),([a,s])=>[[n,a],s])),([n,r])=>Bp(r,[...t,n]),()=>[t,e]),Ex=e=>o(o(Bp(e),([t,n])=>o(o(o(w(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[Um(t),n]),Vp=e=>o(o(o(u("extends",e),([t,n])=>o(Ex(n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Gm(t),n]),wx=e=>o(o(u("interface",e),([t,n])=>o(B(n),([r,a])=>o(Ma(a),([s,m])=>o(Vp(m),([c,l])=>o(Aa(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[_m(t),n]),Rx=e=>o(o(u("interface",e),([t,n])=>o(B(n),([r,a])=>o(Vp(a),([s,m])=>o(Aa(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[zm(t),n]),Ox=e=>o(o(u("type",e),([t,n])=>o(B(n),([r,a])=>o(Ma(a),([s,m])=>o(u("=",m),([c,l])=>o(w(l),([I,f])=>[[t,r,s,c,I],f]))))),([t,n])=>[Bm(t),n]),Px=e=>o(o(u("type",e),([t,n])=>o(B(n),([r,a])=>o(u("=",a),([s,m])=>o(w(m),([c,l])=>[[t,r,s,c],l])))),([t,n])=>[Vm(t),n]),Sx=e=>o(o(o(u("export",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o([[],e],([t,n])=>[t,n],()=>[])),([t,n])=>[Wm(t),n]),Mx=e=>o(o(o(u(";",e),([t,n])=>o(u(`
6
- `,n),([r,a])=>[[t,r],a])),([t,n])=>[t,n],()=>o(o(u(";",e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>o(o(u(`
7
- `,e),([t,n])=>[[t],n]),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]),Wp=(e,t=[])=>o(o(ja(e),([n,r])=>o(Mx(r),([a,s])=>[[n,a],s])),([n,r])=>Wp(r,[...t,n]),()=>[t,e]),Cx=e=>o(o(Wp(e),([t,n])=>o(o(o(ja(n),([r,a])=>[[r],a]),([r,a])=>[r,a],()=>o([[],n],([r,a])=>[r,a],()=>[])),([r,a])=>[[t,r],a])),([t,n])=>[Hm(t),n]),ja=e=>o(o(Sx(e),([t,n])=>o(o(wx(n),([r,a])=>[r,a],()=>o(Rx(n),([r,a])=>[r,a],()=>o(Ox(n),([r,a])=>[r,a],()=>o(Px(n),([r,a])=>[r,a],()=>[])))),([r,a])=>o(bp(a),([s,m])=>[[t,r,s],m]))),([t,n])=>[Ym(t),n]),Ax=e=>o(o(ja(e),([t,n])=>o(Cx(n),([r,a])=>[[t,r],a])),([t,n])=>[Jm(t),n]),Hp=e=>o(o(Ax(e),([t,n])=>[t,n],()=>o(Lh(e),([t,n])=>[t,n],()=>o(w(e),([t,n])=>[t,n],()=>[]))),([t,n])=>[t,n]);function Yp(e){let t=Ca(`\`${e}\``);return i.IsEqual(t.length,2)?t[0]:W()}function Lx(e){return e.join("|")}function jx(e){return e.slice(1,e.length-1)}function Fx(e,t,n){return dt(t,`${n}${e}`)}function Dx(e,t){return dt(e,`${t}${li}`)}function Nx(e,t){return dt(e,`${t}${mr}`)}function Kx(e,t){return dt(e,`${t}${ur}`)}function Ux(e,t){return An(k([O("false"),O("true")]),e,t)}function Gx(e,t){return dt(e,`${t}${cr}`)}function _x(e,t,n){return dt(t,`${n}${jx(e)}`)}function zx(e,t,n){let r=qn(e,{});return An(r,t,n)}function Bx(e,t,n){let r=Ee(e);return An(r,t,n)}function Jp(e,t,n,r=[]){return i.ShiftLeft(e,(a,s)=>Jp(s,t,n,[...r,An(a,[],"")]),()=>dt(t,`${n}(${Lx(r)})`))}function An(e,t,n){return de(e)?Bx(e.enum,t,n):fe(e)?Nx(t,n):A(e)?Fx(e.const,t,n):ze(e)?Dx(t,n):Se(e)?Ux(t,n):J(e)?Kx(t,n):ge(e)?Gx(t,n):Z(e)?_x(e.pattern,t,n):Xp(e)?zx(e.parameters[0],t,n):x(e)?Jp(e.anyOf,t,n):Wo}function dt(e,t){return i.ShiftLeft(e,(n,r)=>An(n,r,t),()=>t)}function Vx(e){return`^${dt(e,"")}$`}function Zp(e){let t=Vx(e);return dr(t)}function qn(e,t){return T(e)?p.Update(Zp(e),{},t):vr(e,t)}function Qp(e,t,n,r){let a=we(e,t,n);return qn(a,r)}function vr(e,t={}){return y("TemplateLiteral",[e],t)}function Xp(e){return Q(e)&&i.HasPropertyKey(e,"action")&&i.IsEqual(e.action,"TemplateLiteral")}function eu(e){return qn(e,{})}function Wx(e){let t=Yp(e);return eu(t)}function tu(e,t={}){let n=i.IsString(e)?Wx(e):eu(e);return p.Update(n,{},t)}function Z(e){return h(e,"TemplateLiteral")}var b={};yt(b,{ExtendsFalse:()=>v,ExtendsTrue:()=>g,ExtendsUnion:()=>Fa,IsExtendsFalse:()=>Hx,IsExtendsTrue:()=>ru,IsExtendsTrueLike:()=>Ht,IsExtendsUnion:()=>nu,Match:()=>K});function Fa(e){return p.Create({"~kind":"ExtendsUnion"},{inferred:e})}function nu(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsUnion")&&i.IsObject(e.inferred)}function g(e){return p.Create({"~kind":"ExtendsTrue"},{inferred:e})}function ru(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsTrue")&&i.IsObject(e.inferred)}function v(){return p.Create({"~kind":"ExtendsFalse"},{})}function Hx(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.IsEqual(e["~kind"],"ExtendsFalse")}function Ht(e){return nu(e)||ru(e)}function K(e,t,n){return Ht(e)?t(e.inferred):n()}function Yx(e,t,n,r){return K(S(e,n,r),a=>g(p.Assign(p.Assign(e,a),{[t]:n})),()=>v())}function Jx(e,t){return g(e)}function Zx(e,t,n,r,a){return K(S(e,t,n),s=>K(S(s,t,r),m=>g(m),()=>v()),()=>K(S(e,t,a),s=>g(s),()=>v()))}function Xx(e,t,n){let r=Ee(n);return S(e,t,r)}function au(e,t,n){return i.ShiftLeft(n,(r,a)=>K(S(e,t,r),s=>au(s,t,a),()=>v()),()=>g(e))}function Qx(e,t,n){let r=ye(n);return S(e,t,r)}function ou(e,t,n){return i.ShiftLeft(n,(r,a)=>K(S(e,t,r),s=>g(s),()=>ou(e,t,a)),()=>v())}function q(e,t,n){return Y(n)?Jx(e,t):z(n)?Zx(e,t,n.if,n.then,n.else):de(n)?Xx(e,t,n.enum):V(n)?Yx(e,n.name,t,n.extends):R(n)?au(e,t,n.allOf):Z(n)?Qx(e,t,n.pattern):x(n)?ou(e,t,n.anyOf):ee(n)?g(e):v()}function iu(e,t,n){return V(n)?q(e,t,n):Y(n)?g(e):ee(n)?g(e):Fa(e)}function ey(e,t){let n=kt(e),r=kt(t);return n&&r||!n&&r?!0:!(n&&!r)}function su(e,t,n,r){return U(r)?ey(t,r)?S(e,n,r.items):v():q(e,t,r)}function mu(e,t,n){return ze(n)?g(e):q(e,t,n)}function pu(e,t,n){return Se(n)?g(e):q(e,t,n)}function ty(e,t,n,r,a){let s=V(r)?t:r,m=V(r)?r:t,c=ce(t),l=ce(r);return!c&&l?v():K(S(e,s,m),I=>Ln(I,n,a),()=>v())}function ny(e,t,n,r){return i.ShiftLeft(r,(a,s)=>ty(e,t,n,a,s),()=>ce(t)?g(e):v())}function ry(e,t,n){return i.ShiftLeft(t,(r,a)=>ny(e,r,a,n),()=>g(e))}function Ln(e,t,n){return ry(e,t,n)}function Yr(e,t,n){return Be(n)?g(e):S(e,t,n)}function uu(e,t,n,r){return Y(r)?g(e):ee(r)?g(e):ne(r)?K(Ln(e,t,r.parameters),a=>Yr(a,n,r.instanceType),()=>v()):v()}function cu(e,t,n,r,a){return K(S(e,t,a),()=>S(e,n,a),()=>S(e,r,a))}function lu(e,t,n){let r=Ee(t);return S(e,r,n)}function du(e,t,n,r){return Y(r)?g(e):ee(r)?g(e):re(r)?K(Ln(e,t,r.parameters),a=>Yr(a,n,r.returnType),()=>v()):v()}function fu(e,t,n){return fe(n)?g(e):J(n)?g(e):q(e,t,n)}function gu(e,t,n){let r=G(t);return S(e,r,n)}function Jr(e,t,n){return t===n?g(e):v()}function ay(e,t,n){return A(n)?Jr(e,t,n.const):ze(n)?g(e):q(e,O(t),n)}function oy(e,t,n){return A(n)?Jr(e,t,n.const):Se(n)?g(e):q(e,O(t),n)}function iy(e,t,n){return A(n)?Jr(e,t,n.const):J(n)?g(e):q(e,O(t),n)}function sy(e,t,n){return A(n)?Jr(e,t,n.const):ge(n)?g(e):q(e,O(t),n)}function hu(e,t,n){return i.IsBigInt(t.const)?ay(e,t.const,n):i.IsBoolean(t.const)?oy(e,t.const,n):i.IsNumber(t.const)?iy(e,t.const,n):i.IsString(t.const)?sy(e,t.const,n):W()}function xu(e,t,n){return V(n)?q(e,t,n):g(e)}function yu(e,t,n){return Dt(n)?g(e):q(e,t,n)}function Iu(e,t,n){return J(n)?g(e):q(e,t,n)}function my(e,t,n){return ce(t)?ce(n)?g(e):v():g(e)}function py(e,t,n){return V(n)&&it(n.extends)?v():K(S(e,t,n),r=>my(r,t,n),()=>v())}function uy(e,t){return e.reduce((n,r)=>r in t?Ht(t[r])?{...n,...t[r].inferred}:W():W(),{})}function cy(e,t,n){let r={};for(let m of i.Keys(n))r[m]=m in t?py({},t[m],n[m]):ce(n[m])?V(n[m])?g(p.Assign(e,{[n[m].name]:n[m].extends})):g(e):v();let a=i.Values(r).every(m=>Ht(m)),s=a?uy(i.Keys(r),r):{};return a?g(s):v()}function ly(e,t,n){let r=cy(e,t,n);return Ht(r)?g(p.Assign(e,r.inferred)):v()}function dy(e,t,n){return ly(e,t,n)}function fy(e,t){return i.Keys(t).reduce((n,r)=>({...n,[r]:i.HasPropertyKey(e,r)?x(n[r])?k([...n[r].anyOf,t[r]]):k([e[r],t[r]]):t[r]}),e)}function bu(e,t,n,r){return i.ShiftLeft(t,(a,s)=>K(S({},e[a],n),m=>bu(e,s,n,fy(r,m)),()=>v()),()=>g(r))}function gy(e,t,n,r){let a=i.Keys(t);return bu(t,a,r,e)}function $u(e,t,n){return ue(n)?gy(e,t,Ae(n),he(n)):C(n)?dy(e,t,n.properties):q(e,$(t),n)}function hy(e,t){return i.IsEqual(i.Keys(t).length,0)?g(e):v()}function xy(e,t,n,r,a){return S(e,n,a)}function vu(e,t,n,r){return ue(r)?xy(e,yr(t),n,yr(Ae(r)),he(r)):C(r)?hy(e,r.properties):Y(r)?g(e):ee(r)?g(e):v()}function Tu(e,t,n){return ge(n)?g(e):q(e,t,n)}function ku(e,t,n){return st(n)?g(e):q(e,t,n)}function Eu(e,t,n){let r=ye(t);return S(e,r,n)}function Da(e,t){return p.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function jn(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"name")&&i.HasPropertyKey(e,"type")&&i.IsEqual(e["~kind"],"Inferrable")&&i.IsString(e.name)&&i.IsObject(e.type)}function Na(e){return ut(e)?V(e.items)?U(e.items.extends)?Da(e.items.name,e.items.extends.items):ee(e.items.extends)?Da(e.items.name,e.items.extends):void 0:W():void 0}function Zr(e){return V(e)?Da(e.name,e.extends):void 0}function Ka(e,t,n=[]){return i.ShiftLeft(e,(r,a)=>K(S({},r,t),()=>Ka(a,t,[...n,r]),()=>{}),()=>n)}function wu(e,t,n,r){let a=Ka(n,r);return i.IsArray(a)?g(p.Assign(e,{[t]:X(a)})):v()}function Xr(e,t,n,r){let a=Ka(n,r);return i.IsArray(a)?g(p.Assign(e,{[t]:k(a)})):v()}function yy(e){return[...e].reverse()}function Ua(e,t){return t?yy(e):e}function Iy(e){let t=e.length>0?e[0]:void 0,n=Q(t)?Na(t):void 0;return Q(n)}function by(e,t,n,r,a,s){return K(S(e,n,a),m=>Ru(m,t,r,s),()=>v())}function $y(e,t,n,r,a){let s=Na(r);return jn(s)?wu(e,s.name,Ua(n,t),s.type):i.ShiftLeft(n,(m,c)=>by(e,t,m,c,r,a),()=>v())}function vy(e,t,n,r){return i.ShiftLeft(r,(a,s)=>$y(e,t,n,a,s),()=>i.IsEqual(n.length,0)?g(e):v())}function Ru(e,t,n,r){return vy(e,t,n,r)}function Ty(e,t,n){let r=ft(e,D([],[]),n),a=Iy(r);return Ru(e,a,Ua(t,a),Ua(r,a))}function Ou(e,t,n){let r=Zr(n);return jn(r)?Xr(e,r.name,t,r.type):i.ShiftLeft(t,(a,s)=>K(S(e,a,n),m=>Ou(m,s,n),()=>v()),()=>g(e))}function Pu(e,t,n){let r=ft(e,D([],[]),t);return j(n)?Ty(e,r,n.items):U(n)?Ou(e,r,n.items):q(e,X(r),n)}function Su(e,t,n){return Be(n)?g(e):zt(n)?g(e):q(e,t,n)}function Mu(e,t,n){return i.ShiftLeft(n,(r,a)=>K(S(e,t,r),s=>g(s),()=>Mu(e,t,a)),()=>v())}function Ga(e,t,n){return i.ShiftLeft(t,(r,a)=>K(Mu(e,r,n),s=>Ga(s,a,n),()=>v()),()=>g(e))}function Cu(e,t,n){let r=Zr(n);return jn(r)?Xr(e,r.name,t,r.type):x(n)?Ga(e,t,n.anyOf):Ga(e,t,[n])}function Au(e,t,n){return V(n)?q(e,t,n):Y(n)?g(e):ee(n)?g(e):v()}function qu(e,t,n){return Be(n)?g(e):q(e,t,n)}function S(e,t,n){return Y(t)?iu(e,t,n):U(t)?su(e,t,t.items,n):ze(t)?mu(e,t,n):Se(t)?pu(e,t,n):ne(t)?uu(e,t.parameters,t.instanceType,n):z(t)?cu(e,t.if,t.then,t.else,n):de(t)?lu(e,t.enum,n):re(t)?du(e,t.parameters,t.returnType,n):fe(t)?fu(e,t,n):R(t)?gu(e,t.allOf,n):A(t)?hu(e,t,n):it(t)?xu(e,t,n):Dt(t)?yu(e,t,n):J(t)?Iu(e,t,n):C(t)?$u(e,t.properties,n):ue(t)?vu(e,Ae(t),he(t),n):ge(t)?Tu(e,t,n):st(t)?ku(e,t,n):Z(t)?Eu(e,t.pattern,n):j(t)?Pu(e,t.items,n):zt(t)?Su(e,t,n):x(t)?Cu(e,t.anyOf,n):ee(t)?Au(e,t,n):Be(t)?qu(e,t,n):v()}function ky(e,t){return G([...e,$(t)])}function _a(e,t,n){return T(e)?p.Update(ky(e,t),{},n):On(e,t,n)}function Lu(e,t,n,r,a){let s=we(e,t,n),m=Fn(e,t,r);return _a(s,m,a)}function On(e,t,n={}){return y("Interface",[e,t],n)}function Yt(e){return Q(e)&&i.HasPropertyKey(e,"action")&&i.IsEqual(e.action,"Interface")}function ju(e,t,n={}){return _a(e,t,n)}function Ey(e,t,n){return e.includes(n)?!0:Dn([...e,n],t,t[n])}function Fu(e,t,n){let r=rr(n);return Mt(e,t,r)}function Mt(e,t,n){return i.ShiftLeft(n,(r,a)=>Dn(e,t,r)?!0:Mt(e,t,a),()=>!1)}function Dn(e,t,n){return ae(n)?Ey(e,t,n.$ref):U(n)?Dn(e,t,n.items):ne(n)?Mt(e,t,[...n.parameters,n.instanceType]):re(n)?Mt(e,t,[...n.parameters,n.returnType]):Yt(n)?Fu(e,t,n.parameters[1]):R(n)?Mt(e,t,n.allOf):C(n)?Fu(e,t,n.properties):x(n)?Mt(e,t,n.anyOf):j(n)?Mt(e,t,n.items):ue(n)?Dn(e,t,he(n)):!1}function Du(e,t,n){return Dn(e,t,n)}function wy(e,t){return t.reduce((n,r)=>Du([r],e,e[r])?[...n,r]:n,[])}function Nu(e){let t=nr(e);return wy(e,t)}function Ry(e,t,n){return n.includes(t)?n:t in e?Nn(e,e[t],[...n,t]):W()}function Ku(e,t,n){let r=rr(t);return Jt(e,r,n)}function Jt(e,t,n){return t.reduce((r,a)=>Nn(e,a,r),n)}function Nn(e,t,n){return ae(t)?Ry(e,t.$ref,n):U(t)?Nn(e,t.items,n):ne(t)?Jt(e,[...t.parameters,t.instanceType],n):re(t)?Jt(e,[...t.parameters,t.returnType],n):Yt(t)?Ku(e,t.parameters[1],n):R(t)?Jt(e,t.allOf,n):C(t)?Ku(e,t.properties,n):x(t)?Jt(e,t.anyOf,n):j(t)?Jt(e,t.items,n):ue(t)?Nn(e,he(t),n):n}function Uu(e,t,n){return Nn(e,n,[t])}function Oy(e){return Lt()}function Py(e){return i.Keys(e).reduce((t,n)=>({...t,[n]:Ct(e[n])}),{})}function Kn(e){return e.reduce((t,n)=>[...t,Ct(n)],[])}function Ct(e){return ae(e)?Oy(e.$ref):U(e)?ke(Ct(e.items),tr(e)):ne(e)?De(Kn(e.parameters),Ct(e.instanceType)):re(e)?Ne(Kn(e.parameters),Ct(e.returnType)):R(e)?le(Kn(e.allOf)):C(e)?$(Py(e.properties)):ue(e)?xr(Gt(e),Ct(he(e))):x(e)?k(Kn(e.anyOf)):j(e)?X(Kn(e.items)):e}function Sy(e,t){return t in e?Ct(e[t]):oe()}function Gu(e){return Sy(e.$defs,e.$ref)}function My(e,t,n){let r=we(e,D([],[]),t),a=Fn({},D([],[]),n);return G([...r,$(a)])}function Cy(e,t){return i.Keys(e).filter(r=>t.includes(r)).reduce((r,a)=>{let s=e[a],m=Yt(s)?My(e,s.parameters[0],s.parameters[1]):s;return{...r,[a]:m}},{})}function _u(e,t,n){let r=Uu(e,t,n),a=Cy(e,r);return Ue(a,t)}function zu(e,t){return t in e?ae(e[t])?zu(e,e[t].$ref):e[t]:L()}function Ve(e,t){return zu(e,t)}function Bu(e){return me(e)?Gu(e):ar(e)?oe():e}function pe(e,t,n){let r=Bu(t),a=Bu(n);return S(e,r,a)}var vn="equal",Ay="disjoint",Tn="left-inside",kn="right-inside";function Kt(e,t){let n=[ee(e)?b.ExtendsFalse():pe({},e,t),ee(e)?b.ExtendsTrue({}):pe({},t,e)];return b.IsExtendsTrueLike(n[0])&&b.IsExtendsTrueLike(n[1])?vn:b.IsExtendsTrueLike(n[0])&&b.IsExtendsFalse(n[1])?Tn:b.IsExtendsFalse(n[0])&&b.IsExtendsTrueLike(n[1])?kn:Ay}function qy(e,t){return t.filter(n=>Kt(e,n)!==kn)}function Ly(e,t){let n=t.some(r=>{let a=Kt(e,r);return i.IsEqual(a,Tn)||i.IsEqual(a,vn)});return i.IsEqual(n,!1)}function jy(e,t){let n=Ce(e);return Y(n)?[n]:Ly(n,t)?[...qy(n,t),n]:t}function Fy(e){return e.reduce((t,n)=>C(n)?[...t,n]:it(n)?t:jy(n,t),[])}function $a(e){let t=Fy(e);return wn(t)}function za(e,t){return p.Update(Ce(e),{},t)}function Vu(e,t,n,r){let a=d(e,t,n);return za(a,r)}function Un(e,t=[]){return at(e)&&i.IsEqual(e.action,"Conditional")?ae(e.parameters[0])?Un(e.parameters[2],Un(e.parameters[3],[...t,e.parameters[0].$ref])):Un(e.parameters[2],Un(e.parameters[3],t)):at(e)&&i.IsEqual(e.action,"Mapped")&&at(e.parameters[1])&&i.IsEqual(e.parameters[1].action,"KeyOf")&&ae(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function Dy(e,t){return e.reduce((n,r)=>[...n,t.includes(r.name)],[])}function Yu(e,t,n=[]){return i.ShiftLeft(e,(r,a)=>i.ShiftLeft(t,(s,m)=>Yu(a,m,[...n,[s,r]]),()=>n),()=>n)}function Ny(e){return x(e)?[...e.anyOf]:[e]}function Ky(e,t){return e.reduce((n,r)=>[...n,[...r,t]],[])}function Wu(e,t){return t.reduce((n,r)=>[...n,...Ky(e,r)],[])}function Hu(e){return e.reduce((t,n)=>i.IsEqual(n[0],!0)?Wu(t,Ny(n[1])):Wu(t,[n[1]]),[[]])}function Ju(e,t,n){let r=Un(n),a=Dy(e,r),s=Yu(t,a);return at(n)&&i.IsEqual(n.action,"Conditional")||at(n)&&i.IsEqual(n.action,"Mapped")?Hu(s):[t]}function Uy(){return["(not-resolvable)",L()]}function Gy(){return["(not-generic)",L()]}function _y(e,t,n){return[e,ot(t,n)]}function zy(e,t,n){return t in e?Zu(e,t,e[t],n):Uy()}function Zu(e,t,n,r){return qt(n)?_y(t,n.parameters,n.expression):ae(n)?zy(e,n.$ref,r):Gy()}function Xu(e,t,n){return Zu(e,"(anonymous)",t,n)}function By(e,t,n){if(V(t)||Zt(t)||b.IsExtendsTrueLike(pe({},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 Qu(e,t,n,r,a){let s=d(e,t,a);return By(n,s,r),p.Assign(e,{[n]:s})}function Vy(e,t,n,r,a){let s=d(e,t,n.extends),m=d(e,t,n.equals);return i.ShiftLeft(a,(c,l)=>Ba(Qu(e,t,n.name,s,c),t,r,l),()=>Ba(Qu(e,t,n.name,s,m),t,r,[]))}function Ba(e,t,n,r){return i.ShiftLeft(n,(a,s)=>Vy(e,t,a,s,r),()=>e)}function ec(e,t,n,r){return Ba(e,t,n,r)}function Wy(e){return i.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function Hy(e,t){return i.IsEqual(Wy(e),t)}function Yy(e,t,n,r,a,s){let m=ec(e,t,r,s),c=d(m,D([...t.callstack,n.$ref],t.visited),a);return d(m,D([],[]),c)}function Jy(e,t,n,r,a,s){return s.reduce((m,c)=>[...m,Yy(e,t,n,r,a,c)],[])}function Zy(e,t,n,r,a,s){let m=Ju(r,s,a),c=Jy(e,t,n,r,a,m);return i.IsEqual(c.length,1)?c[0]:be(c)}function Qr(e,t,n,r){let a=we(e,t,r),s=Xu(e,n,r),m=s[0],c=s[1];return qt(c)?Hy(t,m)?Pn(Xe(m),a):Zy(e,t,Xe(m),c.parameters,c.expression,a):Pn(n,a)}function Pn(e,t){return p.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function tc(e,t){return Qr({},D([],[]),e,t)}function Zt(e){return h(e,"Call")}function Xy(e){return p.Discard(e,["~immutable"])}function nc(e,t){return p.Update(Xy(e),{},t)}function rc(e,t,n,r){let a=d(e,t,n);return nc(a,r)}function ac(e,t){return e(t)}function oc(e,t){return i.IsString(t)?O(ac(e,t)):O(t)}function ic(e,t){let n=ye(t);return tt(e,n)}function sc(e,t){let n=t.map(r=>tt(e,r));return k(n)}function tt(e,t){return A(t)?oc(e,t.const):Z(t)?ic(e,t.pattern):x(t)?sc(e,t.anyOf):t}function Tr(e,t={}){return y("Capitalize",[e],t)}function mc(e,t={}){return Va(e,t)}function kr(e,t={}){return y("Lowercase",[e],t)}function pc(e,t={}){return Wa(e,t)}function Er(e,t={}){return y("Uncapitalize",[e],t)}function uc(e,t={}){return Ha(e,t)}function wr(e,t={}){return y("Uppercase",[e],t)}function cc(e,t={}){return Ya(e,t)}var Qy=e=>e[0].toUpperCase()+e.slice(1),eI=e=>e.toLowerCase(),tI=e=>e[0].toLowerCase()+e.slice(1),nI=e=>e.toUpperCase();function Va(e,t){return T([e])?p.Update(tt(Qy,e),{},t):Tr(e,t)}function Wa(e,t){return T([e])?p.Update(tt(eI,e),{},t):kr(e,t)}function Ha(e,t){return T([e])?p.Update(tt(tI,e),{},t):Er(e,t)}function Ya(e,t){return T([e])?p.Update(tt(nI,e),{},t):wr(e,t)}function lc(e,t,n,r){let a=d(e,t,n);return Va(a,r)}function dc(e,t,n,r){let a=d(e,t,n);return Wa(a,r)}function fc(e,t,n,r){let a=d(e,t,n);return Ha(a,r)}function gc(e,t,n,r){let a=d(e,t,n);return Ya(a,r)}function Rr(e,t,n,r,a={}){return y("Conditional",[e,t,n,r],a)}function hc(e,t,n,r,a={}){return Ja({},D([],[]),e,t,n,r,a)}function rI(e,t,n,r,a,s){let m=pe(e,n,r);return b.IsExtendsUnion(m)?k([d(m.inferred,t,a),d(e,t,s)]):b.IsExtendsTrue(m)?d(m.inferred,t,a):d(e,t,s)}function Ja(e,t,n,r,a,s,m){return T([n,r])?p.Update(rI(e,t,n,r,a,s),{},m):Rr(n,r,a,s,m)}function xc(e,t,n,r,a,s,m){let c=d(e,t,n),l=d(e,t,r);return Ja(e,t,c,l,a,s,m)}function Or(e,t={}){return y("ConstructorParameters",[e],t)}function yc(e,t={}){return Za(e,t)}function aI(e){let t=ne(e)?e.parameters:[],n=ft({},D([],[]),t);return X(n)}function Za(e,t){return T([e])?p.Update(aI(e),{},t):Or(e,t)}function Ic(e,t,n,r){let a=d(e,t,n);return Za(a,r)}function Pr(e,t,n={}){return y("Exclude",[e,t],n)}function bc(e,t,n={}){return Gn(e,t,n)}function Gn(e,t,n){return T([e,t])?p.Update(gr(e,t),{},n):Pr(e,t,n)}function $c(e,t,n,r,a){let s=d(e,t,n),m=d(e,t,r);return Gn(s,m,a)}function Sr(e,t,n={}){return y("Extract",[e,t],n)}function vc(e,t,n={}){return Xa(e,t,n)}function oI(e,t){let n=pe({},e,t);return b.IsExtendsTrueLike(n)?[e]:[]}function iI(e,t){return e.reduce((n,r)=>[...n,...oI(r,t)],[])}function Tc(e,t){let n=Ce(e),r=x(n)?n.anyOf:[n],a=iI(r,t);return be(a)}function Xa(e,t,n){return T([e,t])?p.Update(Tc(e,t),{},n):Sr(e,t,n)}function kc(e,t,n,r,a){let s=d(e,t,n),m=d(e,t,r);return Xa(s,m,a)}function sI(e){return e.reduce((t,n)=>pr(n)?[...t,O(n)]:t,[])}function Xt(e){let t=sI(e);return k(t)}function Sn(e,t,n={}){return y("Index",[e,t],n)}function Ec(e,t,n={}){let r=i.IsArray(t)?Xt(t):t;return Qa(e,r,n)}function wc(e,t){let n=Ve(e,t);return Re(n)}function Rc(e,t,n){let r=je(e,t,n);return Re(r)}function mI(e,t){let n=i.Keys(e).filter(f=>!i.HasPropertyKey(t,f)),r=i.Keys(t).filter(f=>!i.HasPropertyKey(e,f)),a=i.Keys(e).filter(f=>i.HasPropertyKey(t,f)),s=n.reduce((f,P)=>({...f,[P]:e[P]}),{}),m=r.reduce((f,P)=>({...f,[P]:t[P]}),{}),c=a.reduce((f,P)=>({...f,[P]:G([e[P],t[P]])}),{}),l=p.Assign(s,m);return p.Assign(l,c)}function Oc(e){return e.reduce((t,n)=>mI(t,Re(n)),{})}function Pc(e){let t=qi(X(e));return Re(t)}function pI(e,t){return i.Keys(e).filter(a=>a in t).reduce((a,s)=>({...a,[s]:be([e[s],t[s]])}),{})}function Sc(e,t){return i.ShiftLeft(e,(n,r)=>Sc(r,pI(t,Re(n))),()=>t)}function Mc(e){return i.ShiftLeft(e,(t,n)=>Sc(n,Re(t)),()=>W())}function Re(e){return me(e)?wc(e.$defs,e.$ref):z(e)?Rc(e.if,e.then,e.else):R(e)?Oc(e.allOf):x(e)?Mc(e.anyOf):j(e)?Pc(e.items):C(e)?e.properties:{}}function Qt(e){let t=Re(e);return $(t)}var uI=new RegExp("^(?:0|[1-9][0-9]*)$");function en(e){let t=`${e}`;return uI.test(t)?parseInt(t):e}function cI(e){return O(en(e))}function Cc(e){return e.map(t=>Ac(t))}function Ac(e){return R(e)?le(Cc(e.allOf)):x(e)?k(Cc(e.anyOf)):A(e)?cI(e.const):e}function qc(e,t){let n=Ac(t),r=pe({},n,Ie());return b.IsExtendsTrueLike(r)?e:A(t)&&i.IsEqual(t.const,"length")?Ie():L()}function Lc(e,t){let n=Ve(e,t);return $e(n)}function jc(e,t,n){let r=je(e,t,n);return $e(r)}function Fc(e){let t=Ee(e);return $e(t)}function Dc(e){let t=G(e);return $e(t)}function Nc(e){return[`${e}`]}function Kc(e){let t=ye(e);return $e(t)}function Uc(e){return e.reduce((t,n)=>[...t,...$e(n)],[])}function $e(e){return me(e)?Lc(e.$defs,e.$ref):z(e)?jc(e.if,e.then,e.else):de(e)?Fc(e.enum):R(e)?Dc(e.allOf):A(e)?Nc(e.const):Z(e)?Kc(e.pattern):x(e)?Uc(e.anyOf):[]}function tn(e){return $e(e)}function _n(e,t){return t.map(n=>zn(e,n))}function zn(e,t){return U(t)?ke(zn(e,t.items)):ne(t)?De(_n(e,t.parameters),zn(e,t.instanceType)):re(t)?Ne(_n(e,t.parameters),zn(e,t.returnType)):j(t)?X(_n(e,t.items)):x(t)?k(_n(e,t.anyOf)):R(t)?le(_n(e,t.allOf)):br(t)?$(e):t}function Gc(e,t){return zn(e,t)}function lI(e,t){let n=t in e?e[t]:L();return Gc(e,n)}function _c(e,t){return t.reduce((n,r)=>[...n,lI(e,r)],[])}function dI(e,t){let n=tn(t),r=_c(e,n);return be(r)}var fI=new RegExp(pt);function gI(e){return e.filter(n=>fI.test(n))}function hI(e){let t=nr(e),n=gI(t),r=_c(e,n);return be(r)}function zc(e,t){return J(t)?hI(e):dI(e,t)}function xI(e){return O(en(e))}function Bc(e){return e.map(t=>eo(t))}function eo(e){return R(e)?le(Bc(e.allOf)):x(e)?k(Bc(e.anyOf)):A(e)?xI(e.const):e}function yI(e,t){return e.reduceRight((n,r,a)=>{let s=pe({},O(a),t);return b.IsExtendsTrueLike(s)?[r,...n]:n},[])}function II(e,t){let n=eo(t),r=yI(e,n);return Qe(r)}function bI(e){return Qe(e)}function Vc(e,t){return A(t)&&i.IsEqual(t.const,"length")?O(e.length):J(t)||fe(t)?bI(e):II(e,t)}function Wc(e,t){return U(e)?qc(e.items,t):C(e)?zc(e.properties,t):j(e)?Vc(e.items,t):L()}function $I(e){return me(e)||z(e)||R(e)||x(e)?Qt(e):e}function Qa(e,t,n){return T([e,t])?p.Update(Wc($I(e),t),{},n):Sn(e,t,n)}function Hc(e,t,n,r,a){let s=d(e,t,n),m=d(e,t,r);return Qa(s,m,a)}function Mr(e,t={}){return y("InstanceType",[e],t)}function Yc(e,t={}){return to(e,t)}function vI(e){return ne(e)?e.instanceType:L()}function to(e,t){return T([e])?p.Update(vI(e),{},t):Mr(e,t)}function Jc(e,t,n,r={}){let a=d(e,t,n);return to(a,r)}function Mn(e,t={}){return y("KeyOf",[e],t)}function Zc(e,t={}){return no(e,t)}function Xc(){return k([Ie(),Me(),Nt()])}function Qc(e){return Ie()}function TI(e){return e.reduce((n,r)=>pr(r)?[...n,O(en(r))]:W(),[])}function el(e){let t=i.Keys(e),n=TI(t);return Qe(n)}function tl(e){return Gt(e)}function nl(e){let t=e.map((n,r)=>O(r));return Qe(t)}function rl(e){return Y(e)?Xc():U(e)?Qc(e.items):C(e)?el(e.properties):ue(e)?tl(e):j(e)?nl(e.items):L()}function kI(e){return me(e)||z(e)||R(e)||x(e)?Qt(e):e}function no(e,t){return T([e])?p.Update(rl(kI(e)),{},t):Mn(e,t)}function al(e,t,n,r){let a=d(e,t,n);return no(a,r)}function Rn(e,t,n,r,a={}){return y("Mapped",[e,t,n,r],a)}function ol(e,t,n,r,a={}){return ro({},D([],[]),e,t,n,r,a)}function EI(e){let t=ye(e);return ea(t)}function wI(e){return e.reduce((t,n)=>[...t,...ea(n)],[])}function RI(e){let t=Ee(e);return ea(t)}function OI(e){return i.IsNumber(e)?[O(`${e}`)]:[O(e)]}function ea(e){return de(e)?RI(e.enum):A(e)?OI(e.const):Z(e)?EI(e.pattern):x(e)?wI(e.anyOf):[e]}function il(e){return ea(e)}function PI(e){return Z(e)?ye(e.pattern):e}function SI(e,t,n,r,a,s){let m=p.Assign(e,{[n.name]:r}),c=d(m,t,a),l=PI(c),I=d(m,t,s);return fi(l)||gi(l)?{[l.const]:I}:{}}function MI(e,t,n,r,a,s){return r.reduce((m,c)=>[...m,SI(e,t,n,c,a,s)],[])}function CI(e){return e.reduce((t,n)=>[...t,$(n)],[])}function sl(e,t,n,r,a,s){let m=il(r),c=MI(e,t,n,m,a,s),l=CI(c);return G(l)}function ro(e,t,n,r,a,s,m){return T([r])?p.Update(sl(e,t,n,r,a,s),{},m):Rn(n,r,a,s,m)}function ml(e,t,n,r,a,s,m){let c=d(e,t,r);return ro(e,t,n,c,a,s,m)}function AI(e,t,n){let r=p.Assign(e,t);return i.Keys(t).filter(s=>n.includes(s)).reduce((s,m)=>({...s,[m]:_u(r,m,t[m])}),{})}function qI(e,t,n){let r=p.Assign(e,t);return i.Keys(t).filter(s=>!n.includes(s)).reduce((s,m)=>({...s,[m]:d(r,D([],[]),t[m])}),{})}function LI(e,t,n){let r=Nu(t),a=AI(e,t,r),s=qI(e,t,r),m={...a,...s};return p.Update(m,{},n)}function ta(e,t,n,r){return LI(e,n,r)}function Cr(e,t={}){return y("NonNullable",[e],t)}function pl(e,t={}){return ao(e,t)}function jI(e){let t=k([Ft(),_t()]);return Gn(e,t,{})}function ao(e,t){return T([e])?p.Update(jI(e),{},t):Cr(e,t)}function ul(e,t,n,r){let a=d(e,t,n);return ao(a,r)}function Ar(e,t,n={}){return y("Omit",[e,t],n)}function cl(e,t,n={}){let r=i.IsArray(t)?Xt(t):t;return oo(e,r,n)}function na(e){let t=Qt(e);return C(t)?t.properties:W()}function FI(e,t){return i.Keys(e).reduce((r,a)=>t.includes(a)?r:{...r,[a]:e[a]},{})}function ll(e,t){let n=na(e),r=tn(t),a=FI(n,r);return $(a)}function oo(e,t,n){return T([e,t])?p.Update(ll(e,t),{},n):Ar(e,t,n)}function dl(e,t,n,r,a){let s=d(e,t,n),m=d(e,t,r);return oo(s,m,a)}function qr(e,t={}){return y("Parameters",[e],t)}function fl(e,t={}){return io(e,t)}function DI(e){let t=re(e)?e.parameters:[],n=ft({},D([],[]),t);return X(n)}function io(e,t){return T([e])?p.Update(DI(e),{},t):qr(e,t)}function gl(e,t,n,r){let a=d(e,t,n);return io(a,r)}function Lr(e,t={}){return y("Partial",[e],t)}function hl(e,t={}){return so(e,t)}function xl(e,t){let n=Ve(e,t),r=We(n);return Ue(p.Assign(e,{[t]:r}),t)}function yl(e,t,n){let r=je(e,t,n);return We(r)}function Il(e){let t=G(e);return We(t)}function bl(e){let t=e.map(n=>We(n));return k(t)}function $l(e){let t=i.Keys(e).reduce((r,a)=>({...r,[a]:vt(e[a])}),{});return $(t)}function We(e){return me(e)?xl(e.$defs,e.$ref):z(e)?yl(e.if,e.then,e.else):R(e)?Il(e.allOf):x(e)?bl(e.anyOf):C(e)?$l(e.properties):$({})}function so(e,t){return T([e])?p.Update(We(e),{},t):Lr(e,t)}function vl(e,t,n,r){let a=d(e,t,n);return so(a,r)}function jr(e,t,n={}){return y("Pick",[e,t],n)}function Tl(e,t,n={}){let r=i.IsArray(t)?Xt(t):t;return mo(e,r,n)}function NI(e,t){return i.Keys(e).reduce((r,a)=>t.includes(a)?p.Assign(r,{[a]:e[a]}):r,{})}function kl(e,t){let n=na(e),r=tn(t),a=NI(n,r);return $(a)}function mo(e,t,n){return T([e,t])?p.Update(kl(e,t),{},n):jr(e,t,n)}function El(e,t,n,r,a){let s=d(e,t,n),m=d(e,t,r);return mo(s,m,a)}function Fr(e,t={}){return y("ReadonlyObject",[e],t)}function po(e,t={}){return uo(e,t)}var wl=po;function Rl(e){return jt(ke(e))}function Ol(e,t){let n=Ve(e,t),r=He(n);return Ue(p.Assign(e,{[t]:r}),t)}function Pl(e,t,n){let r=je(e,t,n);return He(r)}function Sl(e){let t=G(e);return He(t)}function Ml(e){let t=i.Keys(e).reduce((r,a)=>({...r,[a]:Et(e[a])}),{});return $(t)}function Cl(e){return jt(X(e))}function Al(e){let t=e.map(n=>He(n));return k(t)}function He(e){return U(e)?Rl(e.items):me(e)?Ol(e.$defs,e.$ref):z(e)?Pl(e.if,e.then,e.else):R(e)?Sl(e.allOf):C(e)?Ml(e.properties):j(e)?Cl(e.items):x(e)?Al(e.anyOf):e}function uo(e,t){return T([e])?p.Update(He(e),{},t):Fr(e)}function ql(e,t,n,r){let a=d(e,t,n);return uo(a,r)}function Ll(e,t,n,r){return t.visited.includes(r)?n:r in e?d(e,D(t.callstack,[...t.visited,r]),e[r]):n}function jl(e,t){let n=Ve(e,t),r=Ye(n);return Ue(p.Assign(e,{[t]:r}),t)}function Fl(e,t,n){let r=je(e,t,n);return Ye(r)}function Dl(e){let t=G(e);return Ye(t)}function Nl(e){let t=e.map(n=>Ye(n));return k(t)}function Kl(e){let t=i.Keys(e).reduce((r,a)=>({...r,[a]:fr(e[a])}),{});return $(t)}function Ye(e){return me(e)?jl(e.$defs,e.$ref):z(e)?Fl(e.if,e.then,e.else):R(e)?Dl(e.allOf):x(e)?Nl(e.anyOf):C(e)?Kl(e.properties):$({})}function Dr(e,t={}){return y("Required",[e],t)}function Ul(e,t={}){return co(e,t)}function co(e,t){return T([e])?p.Update(Ye(e),{},t):Dr(e,t)}function Gl(e,t,n,r){let a=d(e,t,n);return co(a,r)}function Nr(e,t={}){return y("ReturnType",[e],t)}function _l(e,t={}){return lo(e,t)}function KI(e){return re(e)?e.returnType:L()}function lo(e,t){return T([e])?p.Update(KI(e),{},t):Nr(e,t)}function zl(e,t,n,r={}){let a=d(e,t,n);return lo(a,r)}function Kr(e,t){return y("With",[e,t],{})}function Bl(e,t){return fo(e,t)}function fo(e,t){return T([e])?p.Update(e,{},t):Kr(e,t)}function Vl(e,t,n,r){let a=d(e,t,n);return fo(a,r)}function UI(e){return ut(e)?j(e.items)?go(e.items.items):V(e.items)?[e]:ae(e.items)?[e]:[L()]:[e]}function go(e){return e.reduce((n,r)=>[...n,...UI(r)],[])}function D(e,t){return{callstack:e,visited:t}}function T(e){return i.ShiftLeft(e,(t,n)=>ae(t)?!1:T(n),()=>!0)}function Fn(e,t,n){return i.Keys(n).reduce((r,a)=>({...r,[a]:d(e,t,n[a])}),{})}function ft(e,t,n){let r=we(e,t,n);return go(r)}function we(e,t,n){return n.map(r=>d(e,t,r))}function GI(e,t){let n=ce(e)?gn(t,{}):t,r=wt(e)?fn(n,{}):n;return kt(e)?Bn(r,{}):r}function _I(e,t,n,r,a){return i.IsEqual(n,"AddImmutable")?Wl(e,t,r[0],a):i.IsEqual(n,"RemoveImmutable")?rc(e,t,r[0],a):i.IsEqual(n,"AddReadonly")?_o(e,t,r[0],a):i.IsEqual(n,"RemoveReadonly")?Pi(e,t,r[0],a):i.IsEqual(n,"AddOptional")?zo(e,t,r[0],a):i.IsEqual(n,"RemoveOptional")?Ci(e,t,r[0],a):i.IsEqual(n,"Capitalize")?lc(e,t,r[0],a):i.IsEqual(n,"Conditional")?xc(e,t,r[0],r[1],r[2],r[3],a):i.IsEqual(n,"ConstructorParameters")?Ic(e,t,r[0],a):i.IsEqual(n,"Evaluate")?Vu(e,t,r[0],a):i.IsEqual(n,"Exclude")?$c(e,t,r[0],r[1],a):i.IsEqual(n,"Extract")?kc(e,t,r[0],r[1],a):i.IsEqual(n,"Index")?Hc(e,t,r[0],r[1],a):i.IsEqual(n,"InstanceType")?Jc(e,t,r[0],a):i.IsEqual(n,"Interface")?Lu(e,t,r[0],r[1],a):i.IsEqual(n,"KeyOf")?al(e,t,r[0],a):i.IsEqual(n,"Lowercase")?dc(e,t,r[0],a):i.IsEqual(n,"Mapped")?ml(e,t,r[0],r[1],r[2],r[3],a):i.IsEqual(n,"Module")?ta(e,t,r[0],a):i.IsEqual(n,"NonNullable")?ul(e,t,r[0],a):i.IsEqual(n,"Pick")?El(e,t,r[0],r[1],a):i.IsEqual(n,"Parameters")?gl(e,t,r[0],a):i.IsEqual(n,"Partial")?vl(e,t,r[0],a):i.IsEqual(n,"Omit")?dl(e,t,r[0],r[1],a):i.IsEqual(n,"ReadonlyObject")?ql(e,t,r[0],a):i.IsEqual(n,"Record")?Yi(e,t,r[0],r[1],a):i.IsEqual(n,"Required")?Gl(e,t,r[0],a):i.IsEqual(n,"ReturnType")?zl(e,t,r[0],a):i.IsEqual(n,"TemplateLiteral")?Qp(e,t,r[0],a):i.IsEqual(n,"Uncapitalize")?fc(e,t,r[0],a):i.IsEqual(n,"Uppercase")?gc(e,t,r[0],a):i.IsEqual(n,"With")?Vl(e,t,r[0],r[1]):y(n,r,a)}function zI(e,t,n){let r=ae(n)?Ll(e,t,n,n.$ref):U(n)?ke(d(e,t,n.items),tr(n)):Zt(n)?Qr(e,t,n.target,n.arguments):ne(n)?De(we(e,t,n.parameters),d(e,t,n.instanceType),Bo(n)):re(n)?Ne(we(e,t,n.parameters),d(e,t,n.returnType),Vo(n)):z(n)?Tt(d(e,t,n.if),d(e,t,n.then),d(e,t,n.else),Xo(n)):R(n)?le(we(e,t,n.allOf),ri(n)):C(n)?$(Fn(e,t,n.properties),Jo(n)):ue(n)?Ji(Ae(n),d(e,t,he(n))):ut(n)?Pt(d(e,t,n.items)):j(n)?X(ft(e,t,n.items),Oi(n)):x(n)?k(we(e,t,n.anyOf),xi(n)):n;return GI(n,r)}function d(e,t,n){return at(n)?_I(e,t,n.action,n.parameters,n.options):zI(e,t,n)}function ho(e,t){return d(e,D([],[]),t)}function BI(e){return p.Update(e,{"~immutable":!0},{})}function Bn(e,t){return p.Update(BI(e),{},t)}function Wl(e,t,n,r){let a=d(e,t,n);return Bn(a,r)}function Zm(e,t={}){return y("AddImmutable",[e],t)}function jt(e,t={}){return Bn(e,t)}function Xm(e,t={}){return y("Evaluate",[e],t)}function Hl(e,t={}){return za(e,t)}function Qm(e,t={}){return y("Module",[e],t)}function Yl(e,t={}){return ta({},D([],[]),e,t)}function Jl(...e){let[t,n,r]=Ge.Match(e,{2:(m,c)=>i.IsString(m)?[{},m,c]:[m,c,{}],3:(m,c,l)=>[m,c,l],1:m=>[{},m,{}]}),a=Hp(n),s=i.IsArray(a)&&i.IsEqual(a.length,2)?d(t,D([],[]),a[0]):L();return p.Update(s,{},r)}var H={};yt(H,{Any:()=>Lt,Array:()=>ke,BigInt:()=>In,Boolean:()=>sr,Call:()=>tc,Capitalize:()=>mc,Codec:()=>ir,Conditional:()=>hc,Constructor:()=>De,ConstructorParameters:()=>yc,Cyclic:()=>Ue,Decode:()=>si,DecodeBuilder:()=>yn,Dependent:()=>Tt,Encode:()=>mi,EncodeBuilder:()=>xn,Enum:()=>ni,Evaluate:()=>Hl,Exclude:()=>bc,Extends:()=>pe,ExtendsResult:()=>b,Extract:()=>vc,Function:()=>Ne,Generic:()=>ot,Identifier:()=>bn,Immutable:()=>pi,Index:()=>Ec,Infer:()=>hn,InstanceType:()=>Yc,Instantiate:()=>ho,Integer:()=>Rt,Interface:()=>ju,Intersect:()=>le,IsAny:()=>Y,IsArray:()=>U,IsBigInt:()=>ze,IsBoolean:()=>Se,IsCall:()=>Zt,IsCodec:()=>or,IsConstructor:()=>ne,IsCyclic:()=>me,IsDependent:()=>z,IsEnum:()=>de,IsEnumValue:()=>ti,IsFunction:()=>re,IsGeneric:()=>qt,IsIdentifier:()=>di,IsImmutable:()=>kt,IsInfer:()=>V,IsInteger:()=>fe,IsIntersect:()=>R,IsKind:()=>h,IsLiteral:()=>A,IsNever:()=>it,IsNull:()=>Dt,IsNumber:()=>J,IsObject:()=>C,IsOptional:()=>ce,IsParameter:()=>hi,IsReadonly:()=>wt,IsRecord:()=>ue,IsRef:()=>ae,IsRefine:()=>ga,IsRest:()=>ut,IsSchema:()=>Q,IsString:()=>ge,IsSymbol:()=>st,IsTemplateLiteral:()=>Z,IsThis:()=>br,IsTuple:()=>j,IsUndefined:()=>zt,IsUnion:()=>x,IsUnknown:()=>ee,IsUnsafe:()=>ar,IsVoid:()=>Be,KeyOf:()=>Zc,Literal:()=>O,Lowercase:()=>pc,Mapped:()=>ol,Module:()=>Yl,Never:()=>L,NonNullable:()=>pl,Null:()=>Ft,Number:()=>Ie,Object:()=>$,Omit:()=>cl,Optional:()=>Ho,Parameter:()=>Ot,Parameters:()=>fl,Partial:()=>hl,Pick:()=>Tl,Readonly:()=>ui,ReadonlyObject:()=>po,ReadonlyType:()=>wl,Record:()=>xr,RecordKey:()=>Gt,RecordPattern:()=>Ae,RecordValue:()=>he,Ref:()=>Xe,Refine:()=>ci,Required:()=>Ul,Rest:()=>Pt,ReturnType:()=>_l,Script:()=>Jl,String:()=>Me,Symbol:()=>Nt,TemplateLiteral:()=>tu,This:()=>Ir,Tuple:()=>X,Uncapitalize:()=>uc,Undefined:()=>_t,Union:()=>k,Unknown:()=>oe,Unsafe:()=>Zo,Uppercase:()=>cc,Void:()=>$r,With:()=>Bl});var nn="submit_review_report",rn="submit_test_gap_candidates",Vn="submit_filtered_test_gaps",VI=H.Object({verdict:H.Union([H.Literal("PASS"),H.Literal("FAIL")],{description:"FAIL only for a genuine blocking issue (clear rubric violation, agent-fault-worthy gap, unfair/undiscoverable test requirement, or a real determinism/regression risk). Optional, minor, or stylistic points are NOT grounds for FAIL \u2014 put those in `notes` instead and use PASS."}),summary:H.String({description:"One short sentence summarizing the verdict."}),reasons:H.Array(H.String(),{description:"Specific BLOCKING justifications only, citing rubric item IDs and concrete evidence from the files you read. Required (non-empty) when verdict is FAIL. Use an empty array when verdict is PASS."}),notes:H.Array(H.String(),{description:"Non-blocking, optional/minor observations or suggested improvements \u2014 the kind of feedback a real reviewer leaves as 'Minor/optional' without failing the task. Include these regardless of verdict; use an empty array if you truly have none."})});function Zl(e){return{name:nn,label:"Submit Review Report",description:"Submit your final verdict for this review. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have finished reading and analyzing the relevant files. Do not write a plain-text final answer instead of calling this tool.",parameters:VI,async execute(t,n){return e.report={verdict:n.verdict,summary:n.summary,reasons:n.reasons??[],notes:n.notes??[]},{content:[{type:"text",text:`Report recorded: ${n.verdict}`}],details:void 0}}}}var WI=H.Object({gaps:H.Array(H.Object({description:H.String({description:"The specific untested behavior or edge case, in plain terms. Prefix with POSITIVE: or NEGATIVE: to indicate whether this is a missing required-behavior test or a missing forbidden/wrong-behavior test."}),risk:H.String({description:"Concretely why a plausible-but-incorrect implementation could still pass every test in test.patch despite missing, misimplementing, or violating this behavior (including doing a forbidden thing because no test asserts it must not happen)."})}),{description:"Candidate behavioral test gaps (positive and negative) grounded in agent_prompt.md or clear existing repo behavior. Use an empty array if you found none \u2014 do not manufacture gaps just to report something."})});function Xl(e){return{name:rn,label:"Submit Candidate Test Gaps",description:"Submit your candidate list of behavioral test gaps. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have finished reading and analyzing the relevant files.",parameters:WI,async execute(t,n){let r=n.gaps??[];return e.gaps=r,{content:[{type:"text",text:`Recorded ${r.length} candidate gap(s)`}],details:void 0}}}}var HI=H.Object({gaps:H.Array(H.Object({description:H.String({description:"The confirmed, real, fair test gap (may be reworded for clarity). Keep POSITIVE:/NEGATIVE: prefix when applicable."}),justification:H.String({description:"Why this is genuinely grounded in agent_prompt.md or the repo, fair to test per the fairness methodology, and a real (non-duplicate) coverage hole in test.patch \u2014 for negative gaps, cite the prompt's prohibition/constraint and why no existing test catches the forbidden outcome."})}),{description:"The filtered, final list of confirmed test gaps. Use an empty array if none of the candidates survive strict scrutiny."})});function Ql(e){return{name:Vn,label:"Submit Filtered Test Gaps",description:"Submit your final, strictly filtered list of confirmed test gaps. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have independently verified each candidate.",parameters:HI,async execute(t,n){let r=n.gaps??[];return e.gaps=r,{content:[{type:"text",text:`Confirmed ${r.length} gap(s) after filtering`}],details:void 0}}}}var YI={description:"Focus area: the task description in `agent_prompt.md`. Judge it strictly against rubric items P1-P5 below. You do not need to judge the tests or solution \u2014 other reviewers cover those.",tests:"Focus area: the tests added in `test.patch` (a unified diff). Judge them strictly against rubric items T1-T6 below. You cannot execute code or apply the patch, so read the diff carefully and reason about determinism, coverage, and strictness directly from the added code. Read `agent_prompt.md` for context on what behavior is in scope, and skim `solution.patch` only to understand what the tests are checking. Do not judge the description or the solution's code quality.\nMandatory symbol-fairness check: for every non-trivial method/function/property/export name that a test calls, mutates, mocks, or asserts on, use grep/read on the repository (the pre-existing code, not solution.patch) to confirm it actually exists there, OR confirm it is explicitly named in `agent_prompt.md`. Pay special attention to any such name that is new/invented and that duplicates, shadows, or conflicts with an existing, differently-named public API doing the same thing (e.g. a test calling `setFoo(...)` when the repo's real, visible API is `setBar(...)`) \u2014 that is a textbook unfair/undiscoverable test per the fairness methodology, and is blocking on its own even if every other test in the patch is fine.",solution:"Focus area: the golden solution in `solution.patch` (a unified diff). Judge it strictly against rubric items S1-S4 below. Read `agent_prompt.md` for the requirements and `test.patch` to see what must pass, and use read/grep/ls/find on the rest of the repository to check for regressions, inconsistent style, and irrelevant/unexplained changes. Do not judge the description's wording or the tests' coverage.\nMandatory repo-conventions check: for every file and area touched by `solution.patch`, read the corresponding pre-existing code in the repo \u2014 same directory, sibling modules, similar components/services/hooks, and any files the patch imports from or extends. Establish how this repo actually does things (error handling and logging, naming, exports, state management, async patterns, i18n, test helpers, DI/service boundaries, comment density, defensive checks) and judge whether the solution matches those conventions. Flag clear deviations as S2/S4 issues \u2014 e.g. inventing a new logger when the repo uses a shared one, raw `console.*` where the codebase uses a structured error reporter, a different hook/service pattern than neighboring features, or new abstractions where similar code inlines the same logic. Use grep/read to find 2\u20133 closest analogues before concluding a pattern is acceptable.\nMandatory dead-code check: scan every added/changed line in `solution.patch` for unused code \u2014 variables, parameters, imports, functions/methods, or fields that are declared/assigned but never read or called anywhere (including by `test.patch`) \u2014 and for dead/unreachable code (branches, conditions, or statements that can never execute, or code left behind after a return/throw/break that makes it unreachable). Use grep to confirm a symbol truly has no other usages in the repo before flagging it. This is a rubric S4 violation and is blocking on its own, even if the rest of the solution is otherwise excellent."};function ed(e){return[e,"You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","The repo root contains `agent_prompt.md` (the task description given to a coding agent), `test.patch` (a unified diff adding the hidden tests that will grade that agent's solution), and `solution.patch` (a unified diff of one golden/reference solution).","Another specialized agent is searching the complementary direction in parallel \u2014 stay in your lane and do not duplicate its work."]}var td=["Thoroughness \u2014 your job is high recall on genuine gaps only:","- Find every gap you can justify with concrete evidence. Do not stop after the first obvious ones \u2014 keep reading until you have systematically covered the prompt, `solution.patch`, and relevant repo context.","- After your first pass, run at least one deliberate second sweep (re-read `agent_prompt.md`, re-scan `solution.patch`, grep the repo) before submitting \u2014 but if that sweep still finds nothing, submit an empty list.","- Do not self-censor or merge distinct genuine gaps into one \u2014 the validator will prune. Never invent or pad the list to seem thorough; an empty array is correct when exhaustive analysis truly finds none.","- Hunt subtle gaps too: partial coverage (asserted once but not under other valid inputs), behaviors implied by repo convention, interaction effects, ordering/timing, and branches visible in `solution.patch` that no test forces.","- Include a candidate only when you can cite specific grounding and a concrete false-pass risk \u2014 not to meet a quota."],nd=["Ground rules \u2014 do not overreach:","- Every gap must trace back to a specific requirement or sentence in `agent_prompt.md`, or to behavior that is unambiguous from the existing, visible repo. Do not invent requirements the prompt doesn't support.","- Do not propose gaps for things `agent_prompt.md` leaves intentionally open, or for implementation details/style the prompt doesn't mandate.","- Read `test.patch` carefully before deciding something is untested \u2014 do not propose a gap that an existing test already covers (even indirectly)."];function rd(e,t,n){let r=["You are a careful, calibrated reviewer for a coding-agent benchmark task.","You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","The repo root may contain: `agent_prompt.md` (the task description), `test.patch` (unified diff adding tests), and `solution.patch` (unified diff of the golden solution). Read whichever are relevant to your focus, and read the rest of the repository as needed via grep/read/ls/find to judge things against real repo context.","",YI[e.key],"","Checklist for your focus area:",t];return n&&r.push("","Fairness methodology (use this to judge whether an issue is actually blocking, and to distinguish agent-fault from prompt-ambiguity from test-flaw problems):",n),e.key==="solution"&&r.push("","Solution-specific calibration for repo standards (S2/S4):","Before returning PASS, you must have read real analogue files in the repo and compared patterns. A clear, documented mismatch with established repo conventions \u2014 wrong error/logging approach, inconsistent service or hook structure vs neighboring code, new patterns where the repo consistently uses existing ones \u2014 is blocking under S2/S4, not a minor note. Purely cosmetic nits (spacing, import order) with no pattern break belong in `notes`."),r.push("","How to set the verdict \u2014 calibrate, don't nitpick:","FAIL only for a genuine BLOCKING issue: a checklist item is clearly violated, a requirement stated in `agent_prompt.md` is untested or contradicted, a test asserts something unfair/undiscoverable per the fairness methodology above (private internals, exact class names not in the prompt, exact call order, reference-solution-only structure, etc.), a test is genuinely non-deterministic in a way that risks real CI flakiness (real network calls, unseeded randomness, race-prone ordering), or the solution has a real regression, missing requirement, or unrelated/unexplained change.","Do NOT fail for: optional coverage suggestions, 'would also be nice to test X', dead/unused code that doesn't affect correctness, minor style inconsistencies, or defensible implementation choices the prompt didn't forbid. These are exactly the kind of thing a real reviewer leaves as a 'Minor/optional' note without failing the task \u2014 put them in `notes` and still return PASS.","When genuinely torn between PASS and FAIL, default to PASS with the concern captured in `notes`, unless the issue would let a materially incorrect agent solution pass the hidden tests, or would unfairly fail a correct one \u2014 that is always blocking.","A single blocking issue is enough to FAIL, even if it affects only one test or one line out of many, and even if the rest of the suite is excellent. Do NOT average it away or let a large, otherwise-strong test suite talk you into a PASS \u2014 one unfair or undiscoverable test (e.g. requiring a private/invented API name that doesn't exist in the repo and isn't named in the prompt, especially one that conflicts with an existing, differently-named public API) is exactly as blocking as many.","",`When you are done analyzing, call the \`${nn}\` tool exactly once with your structured verdict. That tool call is your only way to report a result.`),r.join(`
8
- `)}function ad(e,t){let n=[...ed("You are an exhaustive, research-minded POSITIVE test-coverage analyst for a coding-agent benchmark task. Your sole mandate is to surface EVERY genuine POSITIVE behavioral test gap \u2014 required behavior that `test.patch` never asserts but `agent_prompt.md` requires. Do NOT search for forbidden/wrong-behavior gaps; a separate negative-case agent handles those in parallel. Stay in your lane and search exhaustively before concluding there are none."),"","Your job: find real POSITIVE TEST GAPS. A positive gap is required or clearly-implied behavior from `agent_prompt.md` (and, where relevant, obvious existing repo conventions) that `test.patch` does NOT actually verify \u2014 such that a plausible implementation could skip or misimplement that required behavior and STILL pass every test in `test.patch` as written.","","Focus on required outcomes: happy paths, side effects, state changes, outputs, transitions, edge inputs where the prompt still expects correct handling, combined/interacting behaviors, and branches in `solution.patch` whose correct outcome is never forced by a test.","","Be systematic and exhaustive \u2014 work through ALL of the following passes:","1. Go through `agent_prompt.md` sentence by sentence. For every distinct required behavior, constraint, or implied rule, check which test(s) in `test.patch` exercise it and how thoroughly.","2. Go through `solution.patch` branch by branch \u2014 every conditional, loop, early return, error path, and state transition. For each one, ask whether `test.patch` forces the correct outcome to be checked.","3. Consider standard positive edge-case categories: boundary/limit values, empty/missing/null/zero inputs that should still produce the required correct behavior, duplicate or repeated inputs handled correctly, ordering and interleaving, concurrent or repeated invocations, error/failure/rollback paths that should recover correctly, interaction between two or more required behaviors at once, and state left behind after an operation.","4. Cross-check overlapping/interacting requirements \u2014 behaviors each tested alone but never tested together.","5. Second-pass sweep: return to any requirement you marked 'covered' and ask whether coverage is shallow \u2014 one happy-path assertion is not enough if other valid inputs, sequences, or combinations could still slip through.",...td,"Do not filter yourself or self-censor for volume. A separate validator will strictly filter afterward \u2014 your job is recall on POSITIVE gaps only.","",...nd,"","For reference, here is the checklist for the tests focus area (use it to calibrate what good coverage looks like, not as a list of gaps to report verbatim):",e];return t&&n.push("","Fairness methodology (context on what a fair, in-scope requirement looks like):",t),n.push("","For each gap, prefix the description with `POSITIVE:` and explain: (1) the specific untested required behavior/edge case, and (2) concretely why a plausible-but-incomplete implementation would still pass every given test despite missing or misimplementing it.",`When you are done \u2014 after completing ALL the passes above and a deliberate second sweep \u2014 call the \`${rn}\` tool exactly once with your full candidate list (empty only if, after genuinely exhaustive analysis, none exist). That tool call is your only way to report a result.`),n.join(`
9
- `)}function od(e,t){let n=[...ed("You are an exhaustive, research-minded NEGATIVE test-coverage analyst for a coding-agent benchmark task. Your sole mandate is to surface EVERY genuine NEGATIVE behavioral test gap \u2014 forbidden behavior, invalid states, or wrong outcomes that `test.patch` never asserts against but `agent_prompt.md` prohibits or implies must not happen. Do NOT search for missing required-behavior gaps; a separate positive-case agent handles those in parallel. Stay in your lane and search exhaustively before concluding there are none."),"","Your job: find real NEGATIVE TEST GAPS. A negative gap is a prohibition, guard, or 'must not' constraint from `agent_prompt.md` (or unambiguous repo convention) that `test.patch` does NOT verify \u2014 such that an agent could violate `agent_prompt.md` by doing the forbidden thing, leaving the wrong state enabled, applying an effect to the wrong target, skipping a guard, or accepting invalid input, and STILL pass every test because the suite only checks that correct actions work, not that incorrect ones are rejected.","","Be systematic and exhaustive \u2014 work through ALL of the following passes:","1. Re-read `agent_prompt.md` specifically for prohibitions, conditions, guards, and 'only when' / 'must not' / 'never' / 'disabled when' / 'should not' language. For each, ask: does `test.patch` assert the WRONG thing does NOT happen?","2. Go through `solution.patch` for every guard, early return, disabled branch, isolation check, and rejection path. Ask whether a sloppy implementation that bypassed that guard would still pass.","3. Hunt these negative patterns explicitly:"," - Controls that must be disabled/unavailable in a given state, but no test drives that state and asserts disabled."," - Operations that must NOT affect a separate scope/target (isolation), but tests never prove the wrong scope is untouched."," - Side effects that must NOT occur (duplicate entries, spurious history steps, refresh on no-op)."," - Invalid, out-of-order, or repeated input that should be ignored/rejected/coalesced differently."," - Undo/redo or rollback boundaries where the first action must NOT be undoable, or redo must NOT be available."," - Mutual exclusion: doing A must NOT silently change B, but no test proves independence.","4. For every prompt prohibition, ask: 'Is there a test that would catch an agent doing the forbidden thing or applying the requirement in the wrong context?' If not, it is a gap.","5. Adversarial pass: imagine a lazy or slightly-wrong implementation that satisfies the obvious tests \u2014 list every way it could still violate the prompt (wrong scope, wrong timing, wrong guard, spurious side effect, missing rejection) and check whether `test.patch` would catch each one.",...td,"Do not filter yourself or self-censor for volume. A separate validator will strictly filter afterward \u2014 your job is recall on NEGATIVE gaps only.","",...nd,"- Negative gaps must be grounded in an explicit or clearly implied prohibition/constraint in `agent_prompt.md` \u2014 not generic 'more negative tests would be nice'.","- A single test that asserts both the positive outcome AND that the forbidden/wrong outcome did not occur counts as covered.","","For reference, here is the checklist for the tests focus area (use it to calibrate what good coverage looks like, not as a list of gaps to report verbatim):",e];return t&&n.push("","Fairness methodology (context on what a fair, in-scope requirement looks like):",t),n.push("","For each gap, prefix the description with `NEGATIVE:` and explain: (1) the specific untested forbidden/wrong behavior or invalid state, and (2) concretely why a plausible-but-wrong implementation would still pass every given test despite violating this constraint.",`When you are done \u2014 after completing ALL the passes above and a deliberate second sweep \u2014 call the \`${rn}\` tool exactly once with your full candidate list (empty only if, after genuinely exhaustive analysis, none exist). That tool call is your only way to report a result.`),n.join(`
10
- `)}function id(e,t,n){let r=["You are a strict, skeptical fairness auditor for a coding-agent benchmark task.","You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","Two specialized research agents reviewed this same task (`agent_prompt.md`, `test.patch`, `solution.patch`, and the repo) in parallel \u2014 one hunting POSITIVE gaps (missing required-behavior tests), one hunting NEGATIVE gaps (missing forbidden/wrong-behavior tests). They proposed the following combined CANDIDATE list:","",JSON.stringify(e,null,2),"","Your job is to independently re-verify the files yourself and FILTER this list down to only candidates that are ALL of the following:","1. Genuinely grounded \u2014 actually required by a specific statement in `agent_prompt.md`, or unambiguous from clearly visible, existing repo behavior. Drop anything speculative, nice-to-have, or invented beyond what the prompt actually asks for.","2. Fair to test \u2014 verifying it would not require undiscoverable private internals, an invented/unnamed API, or exact incidental structure that only `solution.patch` happens to use. Judge this precisely against the fairness methodology below.","3. A real, distinct coverage hole \u2014 re-check `test.patch` yourself; drop any candidate an existing test already covers, and drop near-duplicate candidates (keep only the clearest phrasing of each distinct gap). For negative-case candidates, keep them only if `test.patch` does not already assert that the forbidden/wrong outcome does not occur.","","Be strict: when genuinely unsure whether a candidate holds up, drop it rather than keep it. It is fine \u2014 expected, even \u2014 to return an empty list if none of the candidates survive scrutiny.","","Checklist for the tests focus area, for calibration:",t];return n&&r.push("","Fairness methodology:",n),r.push("","For every gap you keep, give a short justification citing where in `agent_prompt.md` or the repo it is grounded. Preserve POSITIVE:/NEGATIVE: prefix when applicable.",`When you are done, call the \`${Vn}\` tool exactly once with your final filtered list (which may be empty). That tool call is your only way to report a result.`),r.join(`
11
- `)}var sd=900*1e3,Io=["read","grep","find","ls"];function bo(e){return e==="off"?void 0:e}async function $o(e,t){let n=t.aborted?"cancelled":"done";return await Promise.race([e().then(()=>{t.aborted||(n="done")}),new Promise(r=>{setTimeout(()=>{n="timedOut",r()},sd)}),new Promise(r=>{if(t.aborted)return r();t.addEventListener("abort",()=>{n="cancelled",r()},{once:!0})})]),n}async function md(e){let t={},n=e.model,{session:r}=await xo({cwd:e.tempDir,model:n,thinkingLevel:bo(e.thinkingLevel),tools:[...Io,nn],customTools:[Zl(t)],sessionManager:yo.inMemory()});try{let a=await $o(async()=>{await r.prompt(rd(e.role,e.rubric,e.fairnessRules))},e.cancelSignal);if(a==="cancelled")return await r.abort(),{verdict:"FAIL",summary:`${e.role.label} reviewer cancelled`,reasons:["Cancelled by user."],notes:[]};if(a==="timedOut")return await r.abort(),{verdict:"FAIL",summary:`${e.role.label} reviewer timed out`,reasons:[`Reviewer did not finish within ${sd/1e3}s.`],notes:[]}}catch(a){return{verdict:"FAIL",summary:`${e.role.label} reviewer errored`,reasons:[`Reviewer agent failed: ${a instanceof Error?a.message:String(a)}`],notes:[]}}return t.report?t.report:{verdict:"FAIL",summary:`${e.role.label} reviewer did not submit a report`,reasons:[`The reviewer agent finished without calling ${nn}.`],notes:[]}}async function vo(e){let t={},n=e.kind==="positive"?ad:od,r=e.model,{session:a}=await xo({cwd:e.tempDir,model:r,thinkingLevel:bo(e.thinkingLevel),tools:[...Io,rn],customTools:[Xl(t)],sessionManager:yo.inMemory()});try{let s=await $o(async()=>{await a.prompt(n(e.testRubric,e.fairnessRules))},e.cancelSignal);if(s!=="done")return await a.abort(),{status:s,gaps:[]}}catch{return{status:"error",gaps:[]}}return t.gaps?{status:"ok",gaps:t.gaps}:{status:"noSubmission",gaps:[]}}async function pd(e){let t={},n=e.model,{session:r}=await xo({cwd:e.tempDir,model:n,thinkingLevel:bo(e.thinkingLevel),tools:[...Io,Vn],customTools:[Ql(t)],sessionManager:yo.inMemory()});try{let a=await $o(async()=>{await r.prompt(id(e.candidates,e.testRubric,e.fairnessRules))},e.cancelSignal);if(a!=="done")return await r.abort(),{status:a,gaps:[]}}catch{return{status:"error",gaps:[]}}return t.gaps?{status:"ok",gaps:t.gaps}:{status:"noSubmission",gaps:[]}}import{existsSync as oa,mkdirSync as JI,readFileSync as To,writeFileSync as ZI}from"node:fs";import{dirname as XI,join as ud}from"node:path";import{getAgentDir as cd}from"@earendil-works/pi-coding-agent";var ra=ud(cd(),"checks-config.json"),aa=ud(cd(),"settings.json"),QI=["off","minimal","low","medium","high","xhigh","max"];function ld(e){return e?.reasoning?QI.filter(t=>{let n=e.thinkingLevelMap?.[t];return n===null?!1:t==="xhigh"||t==="max"?n!==void 0:!0}):["off"]}function ko(){try{if(!oa(ra))return null;let e=JSON.parse(To(ra,"utf-8"));if(e.provider&&e.modelId&&e.thinkingLevel)return e}catch{}return null}function dd(e){let t=XI(ra);oa(t)||JI(t,{recursive:!0}),ZI(ra,JSON.stringify(e,null,2),"utf-8")}function fd(){try{return oa(aa)?JSON.parse(To(aa,"utf-8")).enabledModels??[]:[]}catch{return[]}}function gd(e){let t=e.indexOf("/");return t<=0||t===e.length-1?null:{provider:e.slice(0,t),modelId:e.slice(t+1)}}function eb(){try{if(oa(aa))return JSON.parse(To(aa,"utf-8"))}catch{}return{}}function hd(){let e=eb().shellPath;return e||(process.platform==="win32"?"C:\\Program Files\\Git\\bin\\bash.exe":"bash")}function tb(e){return e.replace(/\\/g,"/")}function nb(e){return`'${e.replace(/'/g,"'\\''")}'`}async function xd(e,t,n){if((await e.exec("git",["rev-parse","HEAD"],{cwd:t,timeout:15e3})).code!==0)return{status:"error",error:"Not a git repository, or it has no commits yet."};let a=`git archive HEAD | tar -x -C ${nb(tb(n))}`,s=await e.exec(hd(),["-c",a],{cwd:t,timeout:6e4});return s.code!==0?{status:"error",error:s.stderr?.trim()||`git archive failed (exit ${s.code})`}:{status:"ok"}}var Oe="checks_progress";function Je(e,t,n){let r=n>0?Math.min(1,t/n):0,a=Math.round(24*r),s="\u2588".repeat(a)+"\u2591".repeat(Math.max(0,24-a));return[`checks: ${e} [${s}] ${t}/${n}`]}import{existsSync as rb,readFileSync as ab}from"node:fs";var nt=[{key:"description",label:"Description",rubricHeading:/^## The problem description/i},{key:"tests",label:"Tests",rubricHeading:/^## The tests/i},{key:"solution",label:"Solution",rubricHeading:/^## The solution/i}];var Eo=["agent_prompt.md","solution.patch","test.patch"];function ob(e=new Date){let t=(s,m=2)=>String(s).padStart(m,"0"),n=-e.getTimezoneOffset(),r=n>=0?"+":"-",a=Math.abs(n);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}.${t(e.getMilliseconds(),3)}${r}${t(Math.floor(a/60))}:${t(a%60)}`}function yd(e){try{if(!rb(e))return{};let t=JSON.parse(ab(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Id(e){let{existingReport:t,config:n,runReviewers:r,byRole:a,runGapStages:s,testGaps:m,gapAnalysisIncomplete:c,positiveGapFinderStatus:l,negativeGapFinderStatus:I,gapFilterStatus:f}=e,P={...t,timestamp:ob(),model:`${n.provider}/${n.modelId}`,thinkingLevel:n.thinkingLevel};if(r){let se={...t.reports&&typeof t.reports=="object"?t.reports:{},...a};P.reports=se,nt.every(te=>se[te.key])?P.overall=nt.every(te=>se[te.key].verdict==="PASS")?"PASS":"FAIL":delete P.overall}return s&&(P.testGaps=m,c?P.testGapAnalysisNote=`Gap analysis did not fully complete (positive finder: ${l}, negative finder: ${I}, filter: ${f}); testGaps may be incomplete.`:delete P.testGapAnalysisNote),P}function bd(e){let{merged:t,runReviewers:n,activeRoles:r,byRole:a,runGapStages:s}=e,m=typeof t.overall=="string"?t.overall:void 0,c=Array.isArray(t.testGaps)?t.testGaps.length:0,l=n?Object.fromEntries(r.filter(f=>a[f.key]).map(f=>[f.key,a[f.key].verdict])):void 0,I=[];if(l&&I.push(r.map(f=>`${f.label}: ${l[f.key]??"?"}`).join(", ")),m){let f=m==="PASS"&&c>0?" (with test gaps)":"";I.push(`Overall: ${m}${f}`)}return s&&I.push(c>0?`${c} test gap(s) found`:"no test gaps found"),{content:`Checks: ${I.join(" | ")}`,details:{overall:m,hasTestGaps:c>0,gapsCount:c,roleVerdicts:l,showGaps:s}}}var $d=`## The problem description (aka the task)\r
1
+ var Uf=Object.defineProperty;var Ot=(e,t)=>{for(var r in t)Uf(e,r,{get:t[r],enumerable:!0})};import{Container as Cv,Key as Mv,Spacer as Av,Text as mi}from"@earendil-works/pi-tui";import{randomUUID as Tf}from"node:crypto";import{copyFileSync as $v,existsSync as kf,mkdirSync as wf,rmSync as Tv,writeFileSync as kv}from"node:fs";import{tmpdir as Ef}from"node:os";import{join as ct}from"node:path";import{getSettingsListTheme as wv}from"@earendil-works/pi-coding-agent";import{Container as Ev,Key as zt,matchesKey as Vt,Spacer as Rv,Text as Rf}from"@earendil-works/pi-tui";import{createAgentSession as un,SessionManager as cn}from"@earendil-works/pi-coding-agent";import{copyFileSync as Wf,existsSync as Wa,lstatSync as Hf,mkdirSync as Ha,readFileSync as Ya,rmSync as bi,symlinkSync as Yf,unlinkSync as Jf,writeFileSync as at}from"node:fs";import{join as ye}from"node:path";import{existsSync as bn,mkdirSync as Kf,readFileSync as _a,writeFileSync as _f}from"node:fs";import{dirname as zf,join as ci}from"node:path";import{getAgentDir as li}from"@earendil-works/pi-coding-agent";var xn=ci(li(),"checks-config.json"),In=ci(li(),"settings.json"),di=10,fi=60,za=20,Va=1,gi=5,vn=3,Ba=!0,Vf=["off","minimal","low","medium","high","xhigh","max"];function hi(e){return e?.reasoning?Vf.filter(t=>{let r=e.thinkingLevelMap?.[t];return r===null?!1:t==="xhigh"||t==="max"?r!==void 0:!0}):["off"]}function dt(){try{if(!bn(xn))return null;let e=JSON.parse(_a(xn,"utf-8"));if(e.provider&&e.modelId&&e.thinkingLevel)return e}catch{}return null}function ft(e){let t=zf(xn);bn(t)||Kf(t,{recursive:!0}),_f(xn,JSON.stringify(e,null,2),"utf-8")}function yi(){let e=dt()?.solverGap;return!e?.provider||!e.modelId||!e.thinkingLevel?null:{...e,timeoutMinutes:e.timeoutMinutes>0?e.timeoutMinutes:za,solverCount:e.solverCount>0?e.solverCount:vn,saveArtifacts:typeof e.saveArtifacts=="boolean"?e.saveArtifacts:Ba}}function xi(){try{return bn(In)?JSON.parse(_a(In,"utf-8")).enabledModels??[]:[]}catch{return[]}}function Ii(e){let t=e.indexOf("/");return t<=0||t===e.length-1?null:{provider:e.slice(0,t),modelId:e.slice(t+1)}}function Bf(){try{if(bn(In))return JSON.parse(_a(In,"utf-8"))}catch{}return{}}function $n(){let e=Bf().shellPath;return e||(process.platform==="win32"?"C:\\Program Files\\Git\\bin\\bash.exe":"bash")}function Tn(e){return e.replace(/\\/g,"/")}function kn(e){return`'${e.replace(/'/g,"'\\''")}'`}async function wn(e,t,r){if((await e.exec("git",["rev-parse","HEAD"],{cwd:t,timeout:15e3})).code!==0)return{status:"error",error:"Not a git repository, or it has no commits yet."};let a=`git archive HEAD | tar -x -C ${kn(Tn(r))}`,s=await e.exec($n(),["-c",a],{cwd:t,timeout:6e4});return s.code!==0?{status:"error",error:s.stderr?.trim()||`git archive failed (exit ${s.code})`}:{status:"ok"}}var Ja=3e4,Xf=4e3,Zf=".pi/shipd-checks",kr="solver_gap_solutions";function Qf(e){let t=new Set,r=/^diff --git "?a\/(.+?)"? "?b\/(.+?)"?$/gm;for(let n of e.matchAll(r))n[1]&&t.add(n[1]),n[2]&&t.add(n[2]);return[...t]}function eg(e,t){return e.length>t?e.slice(e.length-t):e}async function vi(e){let{pi:t,repoDir:r,solverDir:n,testPatchPath:a,agentPromptPath:s}=e,m=await wn(t,r,n);if(m.status==="error")return{status:"error",solverDir:n,error:m.error};let c={cwd:n,timeout:Ja},l=await t.exec("git",["init"],c);if(l.code!==0)return{status:"error",solverDir:n,error:l.stderr?.trim()||"git init failed"};await t.exec("git",["config","user.email","solvergap@shipd-checks.local"],c),await t.exec("git",["config","user.name","shipd-checks solver-gap-finder"],c);let d=await t.exec("git",["add","-A"],c);if(d.code!==0)return{status:"error",solverDir:n,error:d.stderr?.trim()||"git add (baseline) failed"};let g=await t.exec("git",["commit","-m","baseline","--allow-empty"],c);if(g.code!==0)return{status:"error",solverDir:n,error:g.stderr?.trim()||"git commit (baseline) failed"};let b=ye(n,".gitignore"),V=Wa(b)?Ya(b,"utf-8"):"";if(!V.split(/\r?\n/).some(lt=>lt.trim()==="node_modules")){let lt=V.length>0&&!V.endsWith(`
2
+ `)?`
3
+ `:"";at(b,`${V}${lt}node_modules
4
+ `,"utf-8")}let G=ye(r,"node_modules"),w=ye(n,"node_modules");if(Wa(G)&&!Wa(w))try{Yf(G,w,process.platform==="win32"?"junction":"dir")}catch{}try{Wf(s,ye(n,"agent_prompt.md"))}catch{}let Ce=Ya(a,"utf-8"),L=Qf(Ce),le=ye(n,"test.patch");at(le,Ce,"utf-8");let re=await t.exec("git",["apply","test.patch"],c);try{Jf(le)}catch{}if(re.code!==0)return{status:"patchFailed",solverDir:n,error:re.stderr?.trim()||"git apply test.patch failed"};let Me=await t.exec("git",["add","-A"],c);if(Me.code!==0)return{status:"error",solverDir:n,error:Me.stderr?.trim()||"git add (tests applied) failed"};let oe=await t.exec("git",["commit","-m","tests applied","--allow-empty"],c);if(oe.code!==0)return{status:"error",solverDir:n,error:oe.stderr?.trim()||"git commit (tests applied) failed"};let rt=await t.exec("git",["rev-parse","HEAD"],c);return rt.code!==0||!rt.stdout.trim()?{status:"error",solverDir:n,error:"Could not resolve tests-applied commit hash."}:{status:"ok",solverDir:n,testsAppliedCommit:rt.stdout.trim(),testPatchPaths:L}}async function $i(e){let{pi:t,index:r,workspace:n,status:a,durationMs:s}=e,{solverDir:m,testsAppliedCommit:c,testPatchPaths:l}=n,d={cwd:m,timeout:Ja};await t.exec("git",["add","-A"],d);let g=[...l,"agent_prompt.md"].map(Me=>`:(exclude)${Me}`),b=await t.exec("git",["diff","--cached",c,"--",".",...g],d),V=b.code===0?b.stdout:"",G=ye(m,"test_output.xml"),w=`bash test.sh --output_path ${kn(Tn(G))} new`,Ce=$n(),L=await t.exec(Ce,["-c",`cd ${kn(Tn(m))} && ${w}`],{timeout:Ja*10}),le=L.code===0,re=eg(`${L.stdout}
5
+ ${L.stderr}`.trim(),Xf);return{index:r,status:a,passed:le,diff:V,testOutputTail:re,durationMs:s,testOutputXmlPath:G}}function Ti(e){let{repoDir:t,runId:r,index:n,trajectory:a,solutionPatch:s,testOutputXmlPath:m,testOutputTail:c}=e,l=ye(t,Zf,r,`solver_${n}`);Ha(l,{recursive:!0}),at(ye(l,"trajectory.json"),JSON.stringify(a,null,2),"utf-8"),at(ye(l,"solution.patch"),s,"utf-8");try{let d=Ya(m,"utf-8");at(ye(l,"test_output.xml"),d,"utf-8")}catch{at(ye(l,"test_output.txt"),c,"utf-8")}return l}function ki(e,t){let r=ye(e,kr);Ha(r,{recursive:!0});let n=t.map(a=>{let s=ye(r,`solver_${a.index}`);return Ha(s,{recursive:!0}),at(ye(s,"solution.diff"),a.diff,"utf-8"),at(ye(s,"test_output.txt"),a.testOutputTail,"utf-8"),{index:a.index,status:a.status,passed:a.passed}});return at(ye(r,"manifest.json"),JSON.stringify(n,null,2),"utf-8"),r}function wi(e){let t=ye(e,"node_modules");try{Hf(t).isSymbolicLink()&&bi(t,{force:!0})}catch{}try{bi(e,{recursive:!0,force:!0})}catch{}}var p={};Ot(p,{Assign:()=>tg,Clone:()=>Sr,Create:()=>sh,Discard:()=>mh,Metrics:()=>Ue,Update:()=>ph});var Ue={assign:0,create:0,clone:0,discard:0,update:0};function tg(e,t){return Ue.assign+=1,{...e,...t}}var i={};Ot(i,{Entries:()=>$g,EntriesRegExp:()=>vg,Every:()=>xg,EveryAll:()=>Ig,GraphemeCount:()=>gg,HasPropertyKey:()=>bg,IsArray:()=>Er,IsBigInt:()=>wr,IsBoolean:()=>Li,IsClassInstance:()=>dg,IsConstructor:()=>sg,IsDeepEqual:()=>eo,IsEqual:()=>M,IsFunction:()=>qi,IsGreaterEqualThan:()=>Fi,IsGreaterThan:()=>ug,IsInteger:()=>Za,IsLessEqualThan:()=>ji,IsLessThan:()=>cg,IsMaxLength:()=>hg,IsMinLength:()=>yg,IsMultipleOf:()=>lg,IsNull:()=>Sn,IsNumber:()=>On,IsObject:()=>Rr,IsObjectNotArray:()=>mg,IsString:()=>Pn,IsSymbol:()=>pg,IsUndefined:()=>Qa,IsUnsafePropertyKey:()=>Di,IsValueLike:()=>fg,Keys:()=>Rn,ShiftLeft:()=>Cn,Symbols:()=>Tg,Values:()=>kg});function Pt(e,t,r){return e>=t&&e<=r}function rg(e){return e===8205}function ng(e){return Pt(e,55296,56319)}function Ei(e){return Pt(e,127462,127487)}function Si(e){return Pt(e,65024,65039)}function Oi(e){return Pt(e,768,879)||Pt(e,6832,6911)||Pt(e,7616,7679)||Pt(e,65056,65071)}function En(e){return e>65535?2:1}function Ri(e,t){for(;t<e.length;){let r=e.codePointAt(t);if(Oi(r)||Si(r))t+=En(r);else break}return t}function Xa(e,t){let r=e.codePointAt(t),n=t+En(r);for(n=Ri(e,n);n<e.length-1&&e[n]==="\u200D";){let a=e.codePointAt(n+1);n+=1+En(a),n=Ri(e,n)}return Ei(r)&&n<e.length&&Ei(e.codePointAt(n))&&(n+=En(e.codePointAt(n))),n}function Pi(e){return ng(e)||Oi(e)||Si(e)||rg(e)}function Ci(e){let t=0,r=0;for(;r<e.length;)r=Xa(e,r),t++;return t}function ag(e,t){if(t===0)return!0;let r=0,n=0;for(;n<e.length;)if(n=Xa(e,n),r++,r>=t)return!0;return!1}function og(e,t){let r=0,n=0;for(;n<e.length;)if(n=Xa(e,n),r++,r>t)return!1;return!0}function Mi(e,t){if(t===0)return!0;let r=0;for(;r<e.length;){if(Pi(e.charCodeAt(r)))return ag(e,t);if(r++,r>=t)return!0}return!1}function Ai(e,t){let r=0;for(;r<e.length;){if(Pi(e.charCodeAt(r)))return og(e,t);if(r++,r>t)return!1}return!0}function Er(e){return Array.isArray(e)}function wr(e){return M(typeof e,"bigint")}function Li(e){return M(typeof e,"boolean")}function sg(e){if(Qa(e)||!qi(e))return!1;let t=Function.prototype.toString.call(e);return!!(/^class\s/.test(t)||/\[native code\]/.test(t))}function qi(e){return M(typeof e,"function")}function Za(e){return Number.isInteger(e)}function Sn(e){return M(e,null)}function On(e){return Number.isFinite(e)}function mg(e){return Rr(e)&&!Er(e)}function Rr(e){return M(typeof e,"object")&&!Sn(e)}function Pn(e){return M(typeof e,"string")}function pg(e){return M(typeof e,"symbol")}function Qa(e){return M(e,void 0)}function M(e,t){return e===t}function ug(e,t){return e>t}function cg(e,t){return e<t}function ji(e,t){return e<=t}function Fi(e,t){return e>=t}function lg(e,t){if(wr(e)||wr(t))return BigInt(e)%BigInt(t)===0n;let r=1e-10;if(!On(e)||Za(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 dg(e){if(!Rr(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return Sn(t)?!1:M(typeof t.constructor,"function")&&!(M(t.constructor,globalThis.Object)||M(t.constructor.name,"Object"))}function fg(e){return wr(e)||Li(e)||Sn(e)||On(e)||Pn(e)||Qa(e)}function gg(e){return Ci(e)}function hg(e,t){return Ai(e,t)}function yg(e,t){return Mi(e,t)}function xg(e,t,r){for(let n=t;n<e.length;n++)if(!r(e[n],n))return!1;return!0}function Ig(e,t,r){let n=!0;for(let a=t;a<e.length;a++)r(e[a],a)||(n=!1);return n}function Cn(e,t,r){return M(e.length,0)?r():t(e[0],e.slice(1))}function Di(e){return M(e,"__proto__")||M(e,"constructor")||M(e,"prototype")}function bg(e,t){return Di(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function vg(e){return Rn(e).map(t=>[new RegExp(`^${t}$`),e[t]])}function $g(e){return Object.entries(e)}function Rn(e){return Object.getOwnPropertyNames(e)}function Tg(e){return Object.getOwnPropertySymbols(e)}function kg(e){return Object.values(e)}function wg(e,t){if(!Rr(t))return!1;let r=Rn(e);return M(r.length,Rn(t).length)&&r.every(n=>eo(e[n],t[n]))}function Eg(e,t){return Er(t)&&M(e.length,t.length)&&e.every((r,n)=>eo(e[n],t[n]))}function eo(e,t){return Er(e)?Eg(e,t):Rr(e)?wg(e,t):M(e,t)}var gt={};Ot(gt,{IsBigInt64Array:()=>Ug,IsBigUint64Array:()=>Kg,IsBoolean:()=>Sg,IsDate:()=>zg,IsFloat32Array:()=>Gg,IsFloat64Array:()=>Ng,IsInt16Array:()=>qg,IsInt32Array:()=>Fg,IsInt8Array:()=>Mg,IsMap:()=>Bg,IsNumber:()=>Og,IsRegExp:()=>_g,IsSet:()=>Vg,IsString:()=>Pg,IsTypeArray:()=>Cg,IsUint16Array:()=>jg,IsUint32Array:()=>Dg,IsUint8Array:()=>Ag,IsUint8ClampedArray:()=>Lg});function Sg(e){return e instanceof Boolean}function Og(e){return e instanceof Number}function Pg(e){return e instanceof String}function Cg(e){return globalThis.ArrayBuffer.isView(e)}function Mg(e){return e instanceof globalThis.Int8Array}function Ag(e){return e instanceof globalThis.Uint8Array}function Lg(e){return e instanceof globalThis.Uint8ClampedArray}function qg(e){return e instanceof globalThis.Int16Array}function jg(e){return e instanceof globalThis.Uint16Array}function Fg(e){return e instanceof globalThis.Int32Array}function Dg(e){return e instanceof globalThis.Uint32Array}function Gg(e){return e instanceof globalThis.Float32Array}function Ng(e){return e instanceof globalThis.Float64Array}function Ug(e){return e instanceof globalThis.BigInt64Array}function Kg(e){return e instanceof globalThis.BigUint64Array}function _g(e){return e instanceof globalThis.RegExp}function zg(e){return e instanceof globalThis.Date}function Vg(e){return e instanceof globalThis.Set}function Bg(e){return e instanceof globalThis.Map}function Hg(e){return i.HasPropertyKey(e,"~kind")||i.HasPropertyKey(e,"~unsafe")}function Yg(e){let t={},r=Object.getOwnPropertyDescriptors(e);for(let n of Object.keys(r)){if(i.IsUnsafePropertyKey(n))continue;let a=r[n];i.HasPropertyKey(a,"value")&&Object.defineProperty(t,n,{...a,value:Ct(a.value)})}return t}function Jg(e){let t={};for(let r of i.Keys(e))i.IsUnsafePropertyKey(r)||(t[r]=Ct(e[r]));for(let r of i.Symbols(e))t[r]=Ct(e[r]);return t}function Xg(e){return i.IsClassInstance(e)?e:Hg(e)?Yg(e):Jg(e)}function Zg(e){return e.map(t=>Ct(t))}function Qg(e){return e.slice()}function eh(e){return new RegExp(e.source,e.flags)}function th(e){return new Map(Ct([...e.entries()]))}function rh(e){return new Set(Ct([...e.values()]))}function Ct(e){return gt.IsTypeArray(e)?Qg(e):gt.IsRegExp(e)?eh(e):gt.IsMap(e)?th(e):gt.IsSet(e)?rh(e):i.IsArray(e)?Zg(e):i.IsObject(e)?Xg(e):e}function Sr(e){return Ue.clone+=1,Ct(e)}var Mt={};Ot(Mt,{Get:()=>oh,Reset:()=>nh,Set:()=>ah});var ot={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function nh(){ot.immutableTypes=!1,ot.maxErrors=8,ot.useAcceleration=!0,ot.exactOptionalPropertyTypes=!1,ot.enumerableKind=!1,ot.correctiveParse=!1,ot.unionPrioritySort=!0}function ah(e){for(let t of i.Keys(e)){let r=e[t];r!==void 0&&Object.defineProperty(ot,t,{value:r})}}function oh(){return ot}function ih(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 Gi(e,t){return{...e,...t}}function sh(e,t,r={}){Ue.create+=1;let n=Mt.Get(),a=Gi(t,r),s=n.enumerableKind?Gi(a,e):ih(a,e);return n.immutableTypes?Object.freeze(s):s}function mh(e,t){Ue.discard+=1;let r={},n=Object.getOwnPropertyDescriptors(Sr(e)),a=new Set(t);for(let s of Object.keys(n))a.has(s)||Object.defineProperty(r,s,n[s]);return r}function ph(e,t,r){Ue.update+=1;let n=Mt.Get(),a=Sr(e);for(let s of Object.keys(t))Object.defineProperty(a,s,{configurable:!0,writable:!0,enumerable:n.enumerableKind,value:t[s]});for(let s of Object.keys(r))Object.defineProperty(a,s,{configurable:!0,enumerable:!0,writable:!0,value:r[s]});return a}function y(e,t){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.IsEqual(e["~kind"],t)}function ne(e){return i.IsObject(e)}function I(e,t,r){return p.Create({"~kind":"Deferred"},{type:"deferred",action:e,parameters:t,options:r},{})}function ht(e){return y(e,"Deferred")}function uh(e){return p.Update(e,{"~readonly":!0},{})}function Or(e,t){return p.Update(uh(e),{},t)}function Ni(e,t,r,n){let a=f(e,t,r);return Or(a,n)}function ch(e){return p.Update(e,{"~optional":!0},{})}function Pr(e,t){return p.Update(ch(e),{},t)}function Ui(e,t,r,n){let a=f(e,t,r);return Pr(a,n)}function Ae(e,t){return p.Create({"~kind":"Array"},{type:"array",items:e},t)}function z(e){return y(e,"Array")}function Mn(e){return p.Discard(e,["~kind","type","items"])}function ze(e,t,r={}){return p.Create({"~kind":"Constructor"},{type:"constructor",parameters:e,instanceType:t},r)}function ie(e){return y(e,"Constructor")}function Ki(e){return p.Discard(e,["~kind","type","parameters","instanceType"])}function Ve(e,t,r={}){return p.Create({"~kind":"Function"},{type:"function",parameters:e,returnType:t},r)}function se(e){return y(e,"Function")}function _i(e){return p.Discard(e,["~kind","type","parameters","returnType"])}function it(e,t){return p.Create({"~kind":"Ref"},{$ref:e},t)}function me(e){return y(e,"Ref")}function yt(e,t){return p.Create({"~kind":"Generic"},{type:"generic",parameters:e,expression:t})}function Wt(e){return y(e,"Generic")}function Ht(e){return p.Create({"~kind":"Any"},{},e)}function Z(e){return y(e,"Any")}var zi="(?!)";function D(e){return p.Create({"~kind":"Never"},{not:{}},e)}function xt(e){return y(e,"Never")}function Be(e,t={}){return I("AddOptional",[e],t)}function At(e,t={}){return Pr(e,t)}function Vi(e){return At(e)}function xe(e){return ne(e)&&i.HasPropertyKey(e,"~optional")}function Bi(e){return i.Keys(e).filter(t=>!xe(e[t]))}function An(e){return i.Keys(e)}function Ln(e){return i.Values(e)}function $(e,t={}){let r=Bi(e),n=r.length>0?{required:r}:{};return p.Create({"~kind":"Object"},{type:"object",...n,properties:e},t)}function A(e){return y(e,"Object")}function Wi(e){return p.Discard(e,["~kind","type","properties","required"])}function ue(e){return p.Create({"~kind":"Unknown"},{},e)}function ae(e){return y(e,"Unknown")}function We(e,t,r){let n=i.Keys(e).reduce((a,s)=>({...a,[s]:p.Update(e[s],{},{$id:s})}),{});return p.Create({"~kind":"Cyclic"},{$defs:n,$ref:t},r)}function de(e){return y(e,"Cyclic")}function Hi(e){return p.Update(e,{"~unsafe":null},{})}function qn(e){return i.IsObjectNotArray(e)&&i.HasPropertyKey(e,"~unsafe")&&i.IsNull(e["~unsafe"])}var He={};Ot(He,{Match:()=>lh});function lh(e,t){return t[e.length]?.(...e)??(()=>{throw Error("Invalid Arguments")})()}function Cr(...e){let[t,r]=He.Match(e,{2:(n,a)=>[n,a,a],1:n=>[n,ue(),ue()]});return p.Create({"~kind":"Infer"},{type:"infer",name:t,extends:r},{})}function J(e){return y(e,"Infer")}function Lt(e,t,r,n={}){return p.Create({"~kind":"Dependent"},{if:e,then:t,else:r},n)}function H(e){return y(e,"Dependent")}function Yi(e){return p.Discard(e,["~kind","if","then","else"])}function Ji(e){return i.IsObjectNotArray(e)}function Xi(e){return i.Keys(e).filter(r=>isNaN(r)).reduce((r,n)=>[...r,e[n]],[])}function Zi(e){return i.IsString(e)||i.IsNumber(e)}function Qi(e,t){let r=Ji(e)?Xi(e):e;return p.Create({"~kind":"Enum"},{enum:r},t)}function be(e){return y(e,"Enum")}function Ie(e,t={}){return p.Create({"~kind":"Intersect"},{allOf:e},t)}function O(e){return y(e,"Intersect")}function es(e){return p.Discard(e,["~kind","allOf"])}function X(){throw new Error("Unreachable")}var ts;(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"})(ts||(ts={}));var ZT=BigInt("14695981039346656037"),[QT,ek]=[BigInt("1099511628211"),BigInt("18446744073709551616")],tk=Array.from({length:256}).map((e,t)=>BigInt(t)),rs=new Float64Array(1),rk=new DataView(rs.buffer),nk=new Uint8Array(rs.buffer);var ak=new TextEncoder;var Mr=class{constructor(t,r){this.type=t,this.decode=r}Encode(t){let r=this.type,n=jn(r)?m=>this.decode(r["~codec"].decode(m)):this.decode,a=jn(r)?m=>r["~codec"].encode(t(m)):t,s={decode:n,encode:a};return p.Update(this.type,{"~codec":s},{})}},Ar=class{constructor(t){this.type=t}Decode(t){return new Mr(this.type,t)}};function Fn(e){return new Ar(e)}function as(e,t){return Fn(e).Decode(t).Encode(()=>{throw Error("Encode not implemented")})}function os(e,t){return Fn(e).Decode(()=>{throw Error("Decode not implemented")}).Encode(t)}function jn(e){return ne(e)&&i.HasPropertyKey(e,"~codec")&&i.IsObject(e["~codec"])&&i.HasPropertyKey(e["~codec"],"encode")&&i.HasPropertyKey(e["~codec"],"decode")}function is(e){return Yt(e)}function qt(e){return ne(e)&&i.HasPropertyKey(e,"~immutable")}function Ye(e,t={}){return I("AddReadonly",[e],t)}function jt(e,t={}){return Or(e,t)}function ss(e){return jt(e)}function Ft(e){return ne(e)&&i.HasPropertyKey(e,"~readonly")}function hh(e,t){let r=to(e)?[...e["~refine"],t]:[t];return p.Update(e,{"~refine":r},{})}function ms(...e){let[t,r,n]=He.Match(e,{3:(a,s,m)=>[a,s,m],2:(a,s)=>[a,s,()=>"Refine Error"]});return hh(t,{check:r,error:n})}function yh(e){return i.IsObjectNotArray(e)&&i.HasPropertyKey(e,"check")&&i.HasPropertyKey(e,"error")&&i.IsFunction(e.check)&&i.IsFunction(e.error)}function to(e){return ne(e)&&i.HasPropertyKey(e,"~refine")&&i.IsArray(e["~refine"])&&i.Every(e["~refine"],0,t=>yh(t))}var ps="-?(?:0|[1-9][0-9]*)n";function Lr(e){return p.Create({"~kind":"BigInt"},{type:"bigint"},e)}function Je(e){return y(e,"BigInt")}function Dn(e){return p.Create({"~kind":"Boolean"},{type:"boolean"},e)}function Fe(e){return y(e,"Boolean")}function qr(e){return p.Create({"~kind":"Identifier"},{name:e})}function us(e){return y(e,"Identifier")}var Gn="-?(?:0|[1-9][0-9]*)";function Dt(e){return p.Create({"~kind":"Integer"},{type:"integer"},e)}function ve(e){return y(e,"Integer")}var ro=class extends Error{constructor(t){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:t},writable:!1,configurable:!1,enumerable:!1})}};function xh(e){return i.IsBigInt(e)?"bigint":i.IsBoolean(e)?"boolean":i.IsNumber(e)?"number":i.IsString(e)?"string":(()=>{throw new ro(e)})()}function P(e,t){return p.Create({"~kind":"Literal"},{type:xh(e),const:e},t)}function Nn(e){return i.IsBigInt(e)||i.IsBoolean(e)||i.IsNumber(e)||i.IsString(e)}function cs(e){return q(e)&&i.IsNumber(e.const)}function ls(e){return q(e)&&i.IsString(e.const)}function q(e){return y(e,"Literal")}function Jt(e){return p.Create({"~kind":"Null"},{type:"null"},e)}function Xt(e){return y(e,"Null")}var Un="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?";function Se(e){return p.Create({"~kind":"Number"},{type:"number"},e)}function Q(e){return y(e,"Number")}function Zt(e){return p.Create({"~kind":"Symbol"},{type:"symbol"},e)}function It(e){return y(e,"Symbol")}function Gt(...e){let[t,r,n]=He.Match(e,{3:(a,s,m)=>[a,s,m],2:(a,s)=>[a,s,s],1:a=>[a,ue(),ue()]});return p.Create({"~kind":"Parameter"},{name:t,extends:r,equals:n},{})}function ds(e){return y(e,"Parameter")}var Kn=".*";function De(e){return p.Create({"~kind":"String"},{type:"string"},e)}function $e(e){return y(e,"String")}function E(e,t={}){return p.Create({"~kind":"Union"},{anyOf:e},t)}function x(e){return y(e,"Union")}function fs(e){return p.Discard(e,["~kind","anyOf"])}function jr(e){let t=gs(e);return i.IsEqual(t.length,2)?t[0]:[]}function Ih(e){return!0}function hs(e){return i.ShiftLeft(e,(t,r)=>bh(t)?hs(r):!1,()=>!0)}function ys(e){return i.IsEqual(e.length,0)?!1:hs(e)}function bh(e){return x(e)?ys(e.anyOf):q(e)?Ih(e.const):!1}function _n(e){return ys(e)}function zn(e){return p.Create({"~kind":"TemplateLiteral"},{type:"string",pattern:e},{})}function xs(e,t,r=[]){return i.ShiftLeft(e,(n,a)=>xs(a,t,[...r,`${n}${t}`]),()=>r)}function vh(e,t){return i.IsEqual(e.length,0)?[`${t}`]:xs(e,t)}function Is(e,t,r=[]){return i.ShiftLeft(t,(n,a)=>Is(e,a,[...r,...bs(e,n)]),()=>r)}function bs(e,t){return x(t)?Is(e,t.anyOf):q(t)?vh(e,t.const):X()}function vs(e,t){return i.ShiftLeft(t,(r,n)=>vs(bs(e,r),n),()=>e)}function $h(e){return e.map(t=>P(t))}function Th(e){let t=vs([],e),r=$h(t);return E(r)}function kh(e){return i.IsEqual(e.length,0)?X():i.IsEqual(e.length,1)&&q(e[0])?e[0]:Th(e)}function no(e){let t=jr(e);return i.IsEqual(t.length,0)?De():_n(t)?kh(t):zn(e)}function $s(e){let t=no(e);return ee(t)?De():t}function ke(e,t){let r="object",n={[e]:t};return p.Create({"~kind":"Record"},{type:r,patternProperties:n})}function Ts(e){return ke(Ke,e)}function ks(e){return $({true:e,false:e})}function te(e,t={}){let[r,n,a]=[e,e.length,!1];return p.Create({"~kind":"Tuple"},{type:"array",additionalItems:a,items:r,minItems:n},t)}function N(e){return y(e,"Tuple")}function ws(e){return p.Discard(e,["~kind","type","items","minItems","additionalItems"])}function wh(e){return p.Discard(e,["~readonly"])}function ao(e,t){return p.Update(wh(e),{},t)}function Es(e,t,r,n){let a=f(e,t,r);return ao(a,n)}function Rs(e,t={}){return I("RemoveReadonly",[e],t)}function Ss(e,t={}){return ao(e,t)}function Eh(e){return p.Discard(e,["~optional"])}function oo(e,t){return p.Update(Eh(e),{},t)}function Os(e,t,r,n){let a=f(e,t,r);return oo(a,n)}function Ps(e,t={}){return I("RemoveOptional",[e],t)}function Vn(e,t={}){return oo(e,t)}function io(e){return e.reduceRight((r,n,a)=>({[a]:n,...r}),{})}function Cs(e){let t=io(e.items);return $(t)}function Rh(e,t){return Ft(e)?!!Ft(t):!1}function Sh(e,t){return xe(e)?!!xe(t):!1}function Oh(e,t){let r=Rh(e,t),n=Sh(e,t),a=B([e,t]),s=Ss(Vn(a));return r&&n?jt(At(s)):r&&!n?jt(s):!r&&n?At(s):s}function Ph(e,t,r){return r in e?r in t?Oh(e[r],t[r]):e[r]:r in t?t[r]:D()}function Ch(e,t){return[...new Set([...i.Keys(t),...i.Keys(e)])].reduce((n,a)=>({...n,[a]:Ph(e,t,a)}),{})}function Ms(e){return A(e)?e.properties:N(e)?io(e.items):X()}function As(e,t){let r=Ms(e),n=Ms(t),a=Ch(r,n);return $(a)}function Ls(e,t){let r=Qt(e,t);return i.IsEqual(r,Dr)?e:i.IsEqual(r,Gr)||i.IsEqual(r,Fr)?t:D()}function qs(e){return A(e)||N(e)}function Mh(e,t){let r=x(e),n=x(t);return r||n}function Ah(e,t){let r=Ge(e),n=Ge(t),a=Mh(r,n),s=qs(r),m=qs(n);return a?B([r,n]):s&&m?As(r,n):s&&!m?r:!s&&m?n:Ls(r,n)}function js(e,t,r=[]){return i.ShiftLeft(t,(n,a)=>js(e,a,[...r,Ah(e,n)]),()=>i.IsEqual(r.length,0)?[e]:r)}function Fs(e,t,r=[]){return i.ShiftLeft(e,(n,a)=>Fs(a,t,[...r,...Nr([n],t)]),()=>r)}function Nr(e,t=[]){return i.ShiftLeft(e,(r,n)=>x(r)?Nr(n,Fs(r.anyOf,t)):Nr(n,js(r,t)),()=>t)}function Lh(e,t){let r=fe({},e,t);return v.IsExtendsTrueLike(r)?[]:[e]}function qh(e,t){return e.reduce((r,n)=>[...r,...Lh(n,t)],[])}function Bn(e,t){let r=Ge(e),n=x(r)?r.anyOf:[r],a=qh(n,t);return Oe(a)}function _e(e,t,r){let n=Ie([e,t]),a=Bn(r,e);return Oe([n,a])}function Le(e){let t=e.map(r=>P(r));return Oe(t)}function B(e){let t=Nr(e),r=so(t);return st(r)}function we(e){let t=$s(e);return Ge(t)}function Oe(e){let t=so(e);return st(t)}function Ge(e){return H(e)?_e(e.if,e.then,e.else):be(e)?Le(e.enum):O(e)?B(e.allOf):ee(e)?we(e.pattern):x(e)?Oe(e.anyOf):e}function st(e){return i.IsEqual(e.length,1)?e[0]:i.IsEqual(e.length,0)?D():E(e)}function Ds(e,t){let r=Le(e);return bt(r,t)}function Gs(e,t){return ke(vt,t)}function Ns(e,t){let r=B(e);return bt(r,t)}function Us(e,t){return i.IsString(e)||i.IsNumber(e)?$({[e]:t}):i.IsEqual(e,!1)?$({false:t}):i.IsEqual(e,!0)?$({true:t}):$({})}function Ks(e,t){return ke(er,t)}function _s(e,t){return i.HasPropertyKey(e,"pattern")&&(i.IsString(e.pattern)||e.pattern instanceof RegExp)?ke(e.pattern.toString(),t):ke(Ke,t)}function zs(e,t){let r=jr(e);return _n(r)?bt(we(e),t):ke(e,t)}function jh(e){return x(e)?Ur(e.anyOf):[e]}function Ur(e){return e.reduce((t,r)=>[...t,...jh(r)],[])}function Fh(e){return e.some(t=>$e(t)||Q(t)||ve(t))}function Dh(e,t){return i.IsEqual(Fh(e),!0)?ke(Ke,t):void 0}function Gh(e,t){return e.reduce((r,n)=>q(n)&&(i.IsString(n.const)||i.IsNumber(n.const))?{...r,[n.const]:t}:r,{})}function Nh(e,t){let r=Gh(e,t);return $(r)}function Vs(e,t){let r=Ur(e),n=Dh(r,t);return ne(n)?n:Nh(r,t)}function bt(e,t){return Z(e)?Ts(t):Fe(e)?ks(t):be(e)?Ds(e.enum,t):ve(e)?Gs(e,t):O(e)?Ns(e.allOf,t):q(e)?Us(e.const,t):Q(e)?Ks(e,t):x(e)?Vs(e.anyOf,t):$e(e)?_s(e,t):ee(e)?zs(e.pattern,t):$({})}function mo(e,t,r){return k([e])?p.Update(bt(e,t),{},r):Wn(e,t,r)}function Bs(e,t,r,n,a){let s=f(e,t,r),m=f(e,t,n);return mo(s,m,a)}var vt=`^${Gn}$`,er=`^${Un}$`,Ke=`^${Kn}$`;function Wn(e,t,r={}){return I("Record",[e,t],r)}function Hn(e,t,r={}){return mo(e,t,r)}function Ws(e,t){return ke(e,t)}function Yn(e){return i.IsEqual(e,Ke)?De():i.IsEqual(e,vt)?Dt():i.IsEqual(e,er)?Se():no(e)}function Ne(e){return i.Keys(e.patternProperties)[0]}function tr(e){let t=Ne(e);return Yn(t)}function Te(e){return e.patternProperties[Ne(e)]}function ge(e){return y(e,"Record")}function Nt(e){return p.Create({"~kind":"Rest"},{type:"rest",items:e},{})}function $t(e){return y(e,"Rest")}function Jn(e){return p.Create({"~kind":"This"},{$ref:"#"},e)}function Xn(e){return y(e,"This")}function rr(e){return p.Create({"~kind":"Undefined"},{type:"undefined"},e)}function nr(e){return y(e,"Undefined")}function Zn(e){return p.Create({"~kind":"Void"},{type:"void"},e)}function Xe(e){return y(e,"Void")}function Kh(e,t){return i.IsEqual(e,"Array")?Ae(t[0]):i.IsEqual(e,"Capitalize")?ea(t[0]):i.IsEqual(e,"ConstructorParameters")?oa(t[0]):i.IsEqual(e,"Evaluate")?Yp(t[0]):i.IsEqual(e,"Exclude")?ia(t[0],t[1]):i.IsEqual(e,"Extract")?sa(t[0],t[1]):i.IsEqual(e,"Index")?Vr(t[0],t[1]):i.IsEqual(e,"InstanceType")?ma(t[0]):i.IsEqual(e,"Lowercase")?ta(t[0]):i.IsEqual(e,"NonNullable")?pa(t[0]):i.IsEqual(e,"Omit")?ua(t[0],t[1]):i.IsEqual(e,"Parameters")?ca(t[0]):i.IsEqual(e,"Partial")?la(t[0]):i.IsEqual(e,"Pick")?da(t[0],t[1]):i.IsEqual(e,"Readonly")?fa(t[0]):i.IsEqual(e,"KeyOf")?Br(t[0]):i.IsEqual(e,"Record")?Wn(t[0],t[1]):i.IsEqual(e,"Required")?ga(t[0]):i.IsEqual(e,"ReturnType")?ha(t[0]):i.IsEqual(e,"Uncapitalize")?ra(t[0]):i.IsEqual(e,"Uppercase")?na(t[0]):zr(it(e),t)}function Ut(){throw Error("Unreachable")}var _h=(e,t=[])=>e.reduce((r,n)=>i.IsArray(n)&&i.IsEqual(n.length,2)?[...r,n[0]]:[...r,n],[]),mt=e=>{let[t,r]=e;return _h([...t,...r])};function Zs(e){return Gt(e[0],e[2],e[4])}function Qs(e){return Gt(e[0],e[2],e[2])}function em(e){return Gt(e[0],ue(),e[2])}function tm(e){return Gt(e,ue(),ue())}function rm(e){return mt(e)}function nm(e){return e[1]}function am(e){return mt(e)}function om(e){return e[1]}function im(e){return Kh(e[0],e[1])}function sm(e){return null}function mm(e){return De()}function pm(e){return Se()}function um(e){return Dn()}function cm(e){return rr()}function lm(e){return Jt()}function dm(e){return Dt()}function fm(e){return Lr()}function gm(e){return ue()}function hm(e){return Ht()}function ym(e){return $({})}function xm(e){return D()}function Im(e){return Zt()}function bm(e){return Zn()}function vm(e){return Jn()}function $m(e){return P(BigInt(e))}function Tm(e){return P(i.IsEqual(e,"true"))}function km(e){return P(parseFloat(e))}function wm(e){return P(e)}function Em(e){return e[1]}function Rm(e){return P(e)}function Sm(e){return i.IsEqual(e.length,3)?[e[0],e[1],...e[2]]:[e[0]]}function Om(e){return e[1]}function Pm(e){return Qn(e)}function Cm(e){return i.IsEqual(e.length,6)?Lt(e[1],e[3],e[5]):Lt(e[1],e[3],ue())}function Mm(e){return e.length>0}function Am(e){return e.reduce((t,r)=>i.IsEqual(r.length,3)?[...t,[r[1]]]:[...t,[]],[])}function Lm(e){return i.IsEqual(e.length,6)?[e[1],e[3],e[5]]:[]}function qm(e){return i.IsArray(e)&&i.IsEqual(e.length,3)?e[1]:e}function jm(e){return i.IsEqual(e.length,2)?e[1]:[]}function Hs(e,t){return t.reduce((r,n)=>{let a=n;return i.IsEqual(a.length,1)?Vr(r,a[0]):i.IsEqual(a.length,0)?Ae(r):Ut()},e)}function Ys(e,t){return i.IsEqual(t.length,3)?aa(e,t[0],t[1],t[2]):e}function zh(e,t){return i.IsArray(t)&&i.IsEqual(t.length,0)?e:ya(e,t)}function Fm(e){let[t,r,n,a,s]=e;return zh(Ys(t?Br(Hs(r,n)):Hs(r,n),a),s)}function po(e,t){return i.IsEqual(t.length,3)?(()=>{let[r,n,a]=t,s=po(n,a);if(i.IsEqual(r,"&"))return O(s)?Ie([e,...s.allOf]):Ie([e,s]);if(i.IsEqual(r,"|"))return x(s)?E([e,...s.anyOf]):E([e,s]);Ut()})():e}function Dm(e){let[t,r]=e;return po(t,r)}function Gm(e){let[t,r]=e;return po(t,r)}function Nm(e){return Hp(e[1])}function Um(e){return e[1]}function Km(e){return yt(e[0],e[2])}function _m(e){return i.IsEqual(e.length,4)?Cr(e[1],e[3]):i.IsEqual(e.length,2)?Cr(e[1],ue()):Ut()}function zm(e){return`${e}`}function Vm(e){return ve(e[3])?vt:Q(e[3])?er:It(e[3])?Ke:$e(e[3])?Ke:Ut()}function Bm(e){return e.length>0}function Wm(e){return e.length>0}function Hm(e){let[t,r,n,a,s]=e;return{[r]:t&&n?Ye(Be(s)):t&&!n?Ye(s):!t&&n?Be(s):s}}function Ym(e){return mt(e)}function Jm(e){return e.reduce((t,r)=>i.HasPropertyKey(r,vt)||i.HasPropertyKey(r,er)||i.HasPropertyKey(r,Ke)?[t[0],p.Assign(t[1],r)]:[p.Assign(t[0],r),t[1]],[{},{}])}function Xm(e){return Jm(e[1])}function Zm(e){let[t,r]=e,n=i.IsEqual(i.Keys(r).length,0)?{}:{patternProperties:r};return $(t,n)}function Qm(e){return i.IsEqual(e.length,5)?Ye(Be(e[4])):i.IsEqual(e.length,3)?e[2]:i.IsEqual(e.length,4)?i.IsEqual(e[2],"readonly")?Ye(e[3]):Be(e[3]):Ut()}function ep(e){return Ye(Be(e[1]))}function tp(e){return Ye(e[1])}function rp(e){return Be(e[0])}function np(e){return i.IsEqual(e.length,2)?Nt(e[1]):i.IsEqual(e.length,1)?e[0]:Ut()}function ap(e){return mt(e)}function op(e){return te(e[1])}function ip(e){return Ye(Be(e[4]))}function sp(e){return Ye(e[3])}function mp(e){return Be(e[3])}function pp(e){return e[2]}function up(e){return i.IsEqual(e.length,2)?Nt(e[1]):i.IsEqual(e.length,1)?e[0]:Ut()}function cp(e){return mt(e)}function lp(e){return Ve(e[1],e[4])}function dp(e){return ze(e[2],e[5])}function Js(e,t){return i.IsEqual(e,"remove")?Rs(t):i.IsEqual(e,"add")?Ye(t):t}function fp(e){return i.IsEqual(e.length,2)&&i.IsEqual(e[0],"-")?"remove":i.IsEqual(e.length,2)&&i.IsEqual(e[0],"+")||i.IsEqual(e.length,1)?"add":"none"}function Xs(e,t){return i.IsEqual(e,"remove")?Ps(t):i.IsEqual(e,"add")?Be(t):t}function gp(e){return i.IsEqual(e.length,2)&&i.IsEqual(e[0],"-")?"remove":i.IsEqual(e.length,2)&&i.IsEqual(e[0],"+")||i.IsEqual(e.length,1)?"add":"none"}function hp(e){return i.IsEqual(e.length,2)?[e[1]]:[]}function yp(e){return i.IsArray(e[6])&&i.IsEqual(e[6].length,1)?Kr(qr(e[3]),e[5],e[6][0],Js(e[1],Xs(e[8],e[10]))):Kr(qr(e[3]),e[5],it(e[3]),Js(e[1],Xs(e[8],e[10])))}function xp(e){return it(e)}function Ip(e){return BigInt(e)}function bp(e){return parseFloat(e)}function vp(e){return i.IsEqual(e,"true")}function $p(e){return null}function Tp(e){return{[e[0]]:e[2]}}function kp(e){return mt(e)}function Vh(e){return e.reduce((t,r)=>p.Assign(t,r),{})}function wp(e){return Vh(e[1])}function Ep(e){return mt(e)}function Rp(e){return e[1]}function Sp(e){return Lr()}function Op(e){return De()}function Pp(e){return Se()}function Cp(e){return Dt()}function Mp(e){return D()}function Ap(e){return P(e)}function Lp(e){return E(e[1])}function qp(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function jp(e){return[e[0],...e[1]]}function Fp(e){return e[1]}function Dp(e){return mt(e)}function Gp(e){return i.IsEqual(e.length,2)?e[1]:[]}function Np(e){let t=e[2],r=e[3],[n,a]=e[4],s=i.IsEqual(i.Keys(a).length,0)?{}:{patternProperties:a};return{[e[1]]:yt(t,_r(r,n,s))}}function Up(e){let t=e[2],[r,n]=e[3],a=i.IsEqual(i.Keys(n).length,0)?{}:{patternProperties:n};return{[e[1]]:_r(t,r,a)}}function Kp(e){return{[e[1]]:yt(e[2],e[4])}}function _p(e){return{[e[1]]:e[3]}}function zp(e){return null}function Vp(e){return Jm(mt(e))}function Bp(e){return e[1]}function Wp(e){let t=e[0],r=e[1];return Jp(p.Assign(t,r[0]))}function Wr(e){return M(e.length,2)}function R(e,t,r){return Wr(e)?t(e[0],e[1]):r()}function Hh(e,t){return M(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function W(e,t){for(let r=0;r<e.length;r++){let n=Hh(e[r],t);if(Wr(n))return n}return[]}function uo(e,t){return Array.from({length:t-e+1},(r,n)=>String.fromCharCode(e+n))}var Xp=[...uo(97,122),...uo(65,90)],co="0",lo=uo(49,57),ar=[co,...lo],Zp=" ",or=`
6
+ `;var Tt="_",xa=".",Qp="$",Ia="-";var eu="//",tu="/*",Jh="*/";function ru(e){let t=e.indexOf(Jh);return M(t,-1)?"":e.slice(t+2)}function nu(e){let t=e.indexOf(or);return M(t,-1)?"":e.slice(t)}function Xh(e){return e.replace(/^[ \t\r\f\v]+/,"")}function ba(e){let t=Xh(e);return t.startsWith(tu)?ba(ru(t.slice(2))):t.startsWith(eu)?ba(nu(t.slice(2))):t}function ce(e){let t=e.trimStart();return t.startsWith(tu)?ce(ru(t.slice(2))):t.startsWith(eu)?ce(nu(t.slice(2))):t}function va(e,t){return R(W([e],t),(r,n)=>[r,n],()=>["",t])}function Zh(e,t){return e.includes(t)}function ir(e,t,r,n=""){return R(W(e,r),(a,s)=>Zh(t,a)?ir(e,t,s,n):ir(e,t,s,`${n}${a}`),()=>[n,r])}function Qh(e){return W(lo,e)}var ey=[...ar,Tt];function ty(e){return ir(ey,[Tt],e)}function ry(e){return R(W([co],e),(t,r)=>[t,r],()=>R(Qh(e),(t,r)=>R(ty(r),(n,a)=>[`${t}${n}`,a],()=>[]),()=>[]))}function $a(e){return ry(ce(e))}function ny(e){return va(Ia,e)}function ay(e){return R(ny(e),(t,r)=>R($a(r),(n,a)=>[`${t}${n}`,a],()=>[]),()=>[])}function au(e){return ay(ce(e))}function oy(e){return R(au(e),(t,r)=>R(W(["n"],r),(n,a)=>[`${t}`,a],()=>[]),()=>[])}function fo(e){return oy(e)}function go(e,t){return W([e],t)}function u(e,t){return M(e,"")?["",t]:e.startsWith(or)?go(e,ba(t)):e.startsWith(Zp)?go(e,t):go(e,ce(t))}var ou=[...Xp,Tt,Qp];function iy(e){return W(ou,e)}var sy=[...ou,...ar];function iu(e,t=""){return R(W(sy,e),(r,n)=>iu(n,`${t}${r}`),()=>[t,e])}function my(e){return R(iy(e),(t,r)=>R(iu(r),(n,a)=>[`${t}${n}`,a],()=>[]),()=>[])}function Y(e){return my(ce(e))}var py=[...ar,Tt];function uy(e){return Wr(W([xa],e))}function su(e){return R(ir(py,[Tt],e),(t,r)=>M(t,"")?[]:[t,r],()=>[])}function cy(e){return R(W([xa],e),(t,r)=>R(su(r),(n,a)=>[`0${t}${n}`,a],()=>[]),()=>[])}function ly(e){return R($a(e),(t,r)=>R(W([xa],r),(n,a)=>R(su(a),(s,m)=>[`${t}${n}${s}`,m],()=>[`${t}`,a]),()=>[`${t}`,r]),()=>[])}function dy(e){return uy(e)?cy(e):ly(e)}function mu(e){return dy(ce(e))}function fy(e){return va(Ia,e)}function gy(e){return R(fy(e),(t,r)=>R(mu(r),(n,a)=>[`${t}${n}`,a],()=>[]),()=>[])}function Ta(e){return gy(ce(e))}function hy(e){return M(e,"")?[]:[e.slice(0,1),e.slice(1)]}function pu(e,t){return Cn(e,(r,n)=>t.startsWith(r)?!0:pu(n,t),()=>!1)}function kt(e,t,r=""){return R(hy(t),(n,a)=>pu(e,t)?[r,t]:kt(e,a,`${r}${n}`),()=>[])}function yy(e,t,r){return R(W([e],r),(n,a)=>R(kt([t],a),(s,m)=>R(W([t],m),(c,l)=>[`${s}`,l],()=>[]),()=>[]),()=>[])}function xy(e,t,r){return R(W([e],r),(n,a)=>R(kt([or,t],a),(s,m)=>R(W([t],m),(c,l)=>[`${s}`,l],()=>[]),()=>[]),()=>[])}function uu(e,t,r,n){return r?yy(e,t,ce(n)):xy(e,t,ce(n))}function Iy(e,t){return W(e,t)}function by(e,t){return uu(e,e,!1,t)}function vy(e,t){return R(Iy(e,t),(r,n)=>by(r,`${r}${n}`),()=>[])}function ka(e,t){return vy(e,ce(t))}function cu(e,t){return R(kt(e,t),(r,n)=>M(r,"")?[]:[r,n],()=>[])}var o=(e,t,r=()=>[])=>e.length===2?t(e):r(),Ty=e=>o(o(Y(e),([t,r])=>o(u("extends",r),([n,a])=>o(S(a),([s,m])=>o(u("=",m),([c,l])=>o(S(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[Zs(t),r]),ky=e=>o(o(Y(e),([t,r])=>o(u("extends",r),([n,a])=>o(S(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Qs(t),r]),wy=e=>o(o(Y(e),([t,r])=>o(u("=",r),([n,a])=>o(S(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[em(t),r]),Ey=e=>o(Y(e),([t,r])=>[tm(t),r]),fu=e=>o(o(Ty(e),([t,r])=>[t,r],()=>o(ky(e),([t,r])=>[t,r],()=>o(wy(e),([t,r])=>[t,r],()=>o(Ey(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),gu=(e,t=[])=>o(o(fu(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>gu(n,[...t,r]),()=>[t,e]),Ry=e=>o(o(gu(e),([t,r])=>o(o(o(fu(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[rm(t),r]),xo=e=>o(o(u("<",e),([t,r])=>o(Ry(r),([n,a])=>o(u(">",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[nm(t),r]),hu=(e,t=[])=>o(o(S(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>hu(n,[...t,r]),()=>[t,e]),Sy=e=>o(o(hu(e),([t,r])=>o(o(o(S(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[am(t),r]),Oy=e=>o(o(u("<",e),([t,r])=>o(Sy(r),([n,a])=>o(u(">",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[om(t),r]),Py=e=>o(o(Y(e),([t,r])=>o(Oy(r),([n,a])=>[[t,n],a])),([t,r])=>[im(t),r]),yu=e=>o(o(o(u(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[sm(t),r]),xu=e=>o(u("string",e),([t,r])=>[mm(t),r]),Iu=e=>o(u("number",e),([t,r])=>[pm(t),r]),Cy=e=>o(u("boolean",e),([t,r])=>[um(t),r]),My=e=>o(u("undefined",e),([t,r])=>[cm(t),r]),Ay=e=>o(u("null",e),([t,r])=>[lm(t),r]),bu=e=>o(u("integer",e),([t,r])=>[dm(t),r]),Ly=e=>o(u("bigint",e),([t,r])=>[fm(t),r]),qy=e=>o(u("unknown",e),([t,r])=>[gm(t),r]),jy=e=>o(u("any",e),([t,r])=>[hm(t),r]),Fy=e=>o(u("object",e),([t,r])=>[ym(t),r]),Dy=e=>o(u("never",e),([t,r])=>[xm(t),r]),vu=e=>o(u("symbol",e),([t,r])=>[Im(t),r]),Gy=e=>o(u("void",e),([t,r])=>[bm(t),r]),Ny=e=>o(u("this",e),([t,r])=>[vm(t),r]),Uy=e=>o(o(u("${",e),([t,r])=>o(S(r),([n,a])=>o(u("}",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Em(t),r]),ho=e=>o(kt(["${","`"],e),([t,r])=>[Rm(t),r]),$u=e=>o(o(o(ho(e),([t,r])=>o(Uy(r),([n,a])=>o($u(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>o(o(ho(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(ho(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))),([t,r])=>[Sm(t),r]),Io=e=>o(o(u("`",e),([t,r])=>o($u(r),([n,a])=>o(u("`",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Om(t),r]),Ky=e=>o(Io(e),([t,r])=>[Pm(t),r]),_y=e=>o(o(o(u("if",e),([t,r])=>o(S(r),([n,a])=>o(u("then",a),([s,m])=>o(S(m),([c,l])=>o(u("else",l),([d,g])=>o(S(g),([b,V])=>[[t,n,s,c,d,b],V])))))),([t,r])=>[t,r],()=>o(o(u("if",e),([t,r])=>o(S(r),([n,a])=>o(u("then",a),([s,m])=>o(S(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[t,r],()=>[])),([t,r])=>[Cm(t),r]),zy=e=>o(fo(e),([t,r])=>[$m(t),r]),Vy=e=>o(o(u("true",e),([t,r])=>[t,r],()=>o(u("false",e),([t,r])=>[t,r],()=>[])),([t,r])=>[Tm(t),r]),By=e=>o(Ta(e),([t,r])=>[km(t),r]),Wy=e=>o(ka(["'",'"'],e),([t,r])=>[wm(t),r]),Hy=e=>o(o(o(u("keyof",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[Mm(t),r]),Tu=(e,t=[])=>o(o(o(u("[",e),([r,n])=>o(S(n),([a,s])=>o(u("]",s),([m,c])=>[[r,a,m],c]))),([r,n])=>[r,n],()=>o(o(u("[",e),([r,n])=>o(u("]",n),([a,s])=>[[r,a],s])),([r,n])=>[r,n],()=>[])),([r,n])=>Tu(n,[...t,r]),()=>[t,e]),Yy=e=>o(Tu(e),([t,r])=>[Am(t),r]),Jy=e=>o(o(o(u("extends",e),([t,r])=>o(S(r),([n,a])=>o(u("?",a),([s,m])=>o(S(m),([c,l])=>o(u(":",l),([d,g])=>o(S(g),([b,V])=>[[t,n,s,c,d,b],V])))))),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[Lm(t),r]),Xy=e=>o(o(o(u("(",e),([t,r])=>o(S(r),([n,a])=>o(u(")",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>o(xu(e),([t,r])=>[t,r],()=>o(Iu(e),([t,r])=>[t,r],()=>o(Cy(e),([t,r])=>[t,r],()=>o(My(e),([t,r])=>[t,r],()=>o(Ay(e),([t,r])=>[t,r],()=>o(bu(e),([t,r])=>[t,r],()=>o(Ly(e),([t,r])=>[t,r],()=>o(qy(e),([t,r])=>[t,r],()=>o(jy(e),([t,r])=>[t,r],()=>o(Fy(e),([t,r])=>[t,r],()=>o(Dy(e),([t,r])=>[t,r],()=>o(vu(e),([t,r])=>[t,r],()=>o(Gy(e),([t,r])=>[t,r],()=>o(Ny(e),([t,r])=>[t,r],()=>o(zy(e),([t,r])=>[t,r],()=>o(Vy(e),([t,r])=>[t,r],()=>o(By(e),([t,r])=>[t,r],()=>o(Wy(e),([t,r])=>[t,r],()=>o(Ky(e),([t,r])=>[t,r],()=>o(_y(e),([t,r])=>[t,r],()=>o(ux(e),([t,r])=>[t,r],()=>o(hx(e),([t,r])=>[t,r],()=>o($x(e),([t,r])=>[t,r],()=>o(vx(e),([t,r])=>[t,r],()=>o(Ex(e),([t,r])=>[t,r],()=>o(Py(e),([t,r])=>[t,r],()=>o(Rx(e),([t,r])=>[t,r],()=>[])))))))))))))))))))))))))))),([t,r])=>[qm(t),r]),Zy=e=>o(o(o(u("with",e),([t,r])=>o(Gu(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[jm(t),r]),ku=e=>o(o(Hy(e),([t,r])=>o(Xy(r),([n,a])=>o(Yy(a),([s,m])=>o(Jy(m),([c,l])=>o(Zy(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[Fm(t),r]),wu=e=>o(o(o(u("&",e),([t,r])=>o(ku(r),([n,a])=>o(wu(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),Eu=e=>o(o(ku(e),([t,r])=>o(wu(r),([n,a])=>[[t,n],a])),([t,r])=>[Dm(t),r]),Ru=e=>o(o(o(u("|",e),([t,r])=>o(Eu(r),([n,a])=>o(Ru(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),wa=e=>o(o(Eu(e),([t,r])=>o(Ru(r),([n,a])=>[[t,n],a])),([t,r])=>[Gm(t),r]),Qy=e=>o(o(u("readonly",e),([t,r])=>o(wa(r),([n,a])=>[[t,n],a])),([t,r])=>[Nm(t),r]),ex=e=>o(o(u("|",e),([t,r])=>o(wa(r),([n,a])=>[[t,n],a])),([t,r])=>[Um(t),r]),tx=e=>o(o(xo(e),([t,r])=>o(u("=",r),([n,a])=>o(S(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Km(t),r]),rx=e=>o(o(o(u("infer",e),([t,r])=>o(Y(r),([n,a])=>o(u("extends",a),([s,m])=>o(wa(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[t,r],()=>o(o(u("infer",e),([t,r])=>o(Y(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>[])),([t,r])=>[_m(t),r]),S=e=>o(o(rx(e),([t,r])=>[t,r],()=>o(ex(e),([t,r])=>[t,r],()=>o(Qy(e),([t,r])=>[t,r],()=>o(wa(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),nx=e=>o(Ta(e),([t,r])=>[zm(t),r]),ax=e=>o(Y(e),([t,r])=>[t,r]),ox=e=>o(ka(["'",'"'],e),([t,r])=>[t,r]),ix=e=>o(o(u("[",e),([t,r])=>o(Y(r),([n,a])=>o(u(":",a),([s,m])=>o(o(bu(m),([c,l])=>[c,l],()=>o(Iu(m),([c,l])=>[c,l],()=>o(xu(m),([c,l])=>[c,l],()=>o(vu(m),([c,l])=>[c,l],()=>[])))),([c,l])=>o(u("]",l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[Vm(t),r]),Su=e=>o(o(nx(e),([t,r])=>[t,r],()=>o(ax(e),([t,r])=>[t,r],()=>o(ox(e),([t,r])=>[t,r],()=>o(ix(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),sx=e=>o(o(o(u("readonly",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[Bm(t),r]),mx=e=>o(o(o(u("?",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[Wm(t),r]),Ou=e=>o(o(sx(e),([t,r])=>o(Su(r),([n,a])=>o(mx(a),([s,m])=>o(u(":",m),([c,l])=>o(S(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[Hm(t),r]),Pu=e=>o(o(o(u(",",e),([t,r])=>o(u(`
7
+ `,r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u(";",e),([t,r])=>o(u(`
8
+ `,r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u(",",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(u(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(u(`
9
+ `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))))),([t,r])=>[t,r]),Cu=(e,t=[])=>o(o(Ou(e),([r,n])=>o(Pu(n),([a,s])=>[[r,a],s])),([r,n])=>Cu(n,[...t,r]),()=>[t,e]),px=e=>o(o(Cu(e),([t,r])=>o(o(o(Ou(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Ym(t),r]),bo=e=>o(o(u("{",e),([t,r])=>o(px(r),([n,a])=>o(u("}",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Xm(t),r]),ux=e=>o(bo(e),([t,r])=>[Zm(t),r]),cx=e=>o(o(o(Y(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(u("readonly",m),([c,l])=>o(S(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[t,r],()=>o(o(Y(e),([t,r])=>o(u(":",r),([n,a])=>o(u("readonly",a),([s,m])=>o(S(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[t,r],()=>o(o(Y(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(S(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[t,r],()=>o(o(Y(e),([t,r])=>o(u(":",r),([n,a])=>o(S(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>[])))),([t,r])=>[Qm(t),r]),lx=e=>o(o(u("readonly",e),([t,r])=>o(S(r),([n,a])=>o(u("?",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[ep(t),r]),dx=e=>o(o(u("readonly",e),([t,r])=>o(S(r),([n,a])=>[[t,n],a])),([t,r])=>[tp(t),r]),fx=e=>o(o(S(e),([t,r])=>o(u("?",r),([n,a])=>[[t,n],a])),([t,r])=>[rp(t),r]),lu=e=>o(o(cx(e),([t,r])=>[t,r],()=>o(lx(e),([t,r])=>[t,r],()=>o(dx(e),([t,r])=>[t,r],()=>o(fx(e),([t,r])=>[t,r],()=>o(S(e),([t,r])=>[t,r],()=>[]))))),([t,r])=>[t,r]),Mu=e=>o(o(o(u("...",e),([t,r])=>o(lu(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(lu(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[])),([t,r])=>[np(t),r]),Au=(e,t=[])=>o(o(Mu(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>Au(n,[...t,r]),()=>[t,e]),gx=e=>o(o(Au(e),([t,r])=>o(o(o(Mu(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[ap(t),r]),hx=e=>o(o(u("[",e),([t,r])=>o(gx(r),([n,a])=>o(u("]",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[op(t),r]),yx=e=>o(o(Y(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(u("readonly",m),([c,l])=>o(S(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[ip(t),r]),xx=e=>o(o(Y(e),([t,r])=>o(u(":",r),([n,a])=>o(u("readonly",a),([s,m])=>o(S(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[sp(t),r]),Ix=e=>o(o(Y(e),([t,r])=>o(u("?",r),([n,a])=>o(u(":",a),([s,m])=>o(S(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[mp(t),r]),bx=e=>o(o(Y(e),([t,r])=>o(u(":",r),([n,a])=>o(S(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[pp(t),r]),du=e=>o(o(yx(e),([t,r])=>[t,r],()=>o(xx(e),([t,r])=>[t,r],()=>o(Ix(e),([t,r])=>[t,r],()=>o(bx(e),([t,r])=>[t,r],()=>[])))),([t,r])=>[t,r]),Lu=e=>o(o(o(u("...",e),([t,r])=>o(du(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(du(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[])),([t,r])=>[up(t),r]),qu=(e,t=[])=>o(o(Lu(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>qu(n,[...t,r]),()=>[t,e]),ju=e=>o(o(qu(e),([t,r])=>o(o(o(Lu(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[cp(t),r]),vx=e=>o(o(u("(",e),([t,r])=>o(ju(r),([n,a])=>o(u(")",a),([s,m])=>o(u("=>",m),([c,l])=>o(S(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[lp(t),r]),$x=e=>o(o(u("new",e),([t,r])=>o(u("(",r),([n,a])=>o(ju(a),([s,m])=>o(u(")",m),([c,l])=>o(u("=>",l),([d,g])=>o(S(g),([b,V])=>[[t,n,s,c,d,b],V])))))),([t,r])=>[dp(t),r]),Tx=e=>o(o(o(u("+",e),([t,r])=>o(u("readonly",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("-",e),([t,r])=>o(u("readonly",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("readonly",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])))),([t,r])=>[fp(t),r]),kx=e=>o(o(o(u("+",e),([t,r])=>o(u("?",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("-",e),([t,r])=>o(u("?",r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u("?",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])))),([t,r])=>[gp(t),r]),wx=e=>o(o(o(u("as",e),([t,r])=>o(S(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[hp(t),r]),Ex=e=>o(o(u("{",e),([t,r])=>o(Tx(r),([n,a])=>o(u("[",a),([s,m])=>o(Y(m),([c,l])=>o(u("in",l),([d,g])=>o(S(g),([b,V])=>o(wx(V),([G,w])=>o(u("]",w),([Ce,L])=>o(kx(L),([le,re])=>o(u(":",re),([Me,oe])=>o(S(oe),([rt,lt])=>o(yu(lt),([F,fn])=>o(u("}",fn),([xr,Ir])=>[[t,n,s,c,d,b,G,Ce,le,Me,rt,F,xr],Ir]))))))))))))),([t,r])=>[yp(t),r]),Rx=e=>o(Y(e),([t,r])=>[xp(t),r]),Sx=e=>o(fo(e),([t,r])=>[Ip(t),r]),Ox=e=>o(Ta(e),([t,r])=>[bp(t),r]),Px=e=>o(o(u("true",e),([t,r])=>[t,r],()=>o(u("false",e),([t,r])=>[t,r],()=>[])),([t,r])=>[vp(t),r]),Cx=e=>o(ka(['"',"'"],e),([t,r])=>[t,r]),Mx=e=>o(u("null",e),([t,r])=>[$p(t),r]),Ax=e=>o(u("undefined",e),([t,r])=>[void 0,r]),Fu=e=>o(o(Su(e),([t,r])=>o(u(":",r),([n,a])=>o(vo(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Tp(t),r]),Du=(e,t=[])=>o(o(Fu(e),([r,n])=>o(Pu(n),([a,s])=>[[r,a],s])),([r,n])=>Du(n,[...t,r]),()=>[t,e]),Lx=e=>o(o(Du(e),([t,r])=>o(o(o(Fu(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[kp(t),r]),Gu=e=>o(o(u("{",e),([t,r])=>o(Lx(r),([n,a])=>o(u("}",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[wp(t),r]),Nu=(e,t=[])=>o(o(vo(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>Nu(n,[...t,r]),()=>[t,e]),qx=e=>o(o(Nu(e),([t,r])=>o(o(o(vo(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Ep(t),r]),jx=e=>o(o(u("[",e),([t,r])=>o(qx(r),([n,a])=>o(u("]",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Rp(t),r]),vo=e=>o(o(Sx(e),([t,r])=>[t,r],()=>o(Ox(e),([t,r])=>[t,r],()=>o(Px(e),([t,r])=>[t,r],()=>o(Cx(e),([t,r])=>[t,r],()=>o(Mx(e),([t,r])=>[t,r],()=>o(Ax(e),([t,r])=>[t,r],()=>o(Gu(e),([t,r])=>[t,r],()=>o(jx(e),([t,r])=>[t,r],()=>[])))))))),([t,r])=>[t,r]),Fx=e=>o(u("-?(?:0|[1-9][0-9]*)n",e),([t,r])=>[Sp(t),r]),Dx=e=>o(u(".*",e),([t,r])=>[Op(t),r]),Gx=e=>o(u("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",e),([t,r])=>[Pp(t),r]),Nx=e=>o(u("-?(?:0|[1-9][0-9]*)",e),([t,r])=>[Cp(t),r]),Ux=e=>o(u("(?!)",e),([t,r])=>[Mp(t),r]),Kx=e=>o(cu(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],e),([t,r])=>[Ap(t),r]),_x=e=>o(o(Fx(e),([t,r])=>[t,r],()=>o(Dx(e),([t,r])=>[t,r],()=>o(Gx(e),([t,r])=>[t,r],()=>o(Nx(e),([t,r])=>[t,r],()=>o(Ux(e),([t,r])=>[t,r],()=>o(zx(e),([t,r])=>[t,r],()=>o(Kx(e),([t,r])=>[t,r],()=>[]))))))),([t,r])=>[t,r]),zx=e=>o(o(u("(",e),([t,r])=>o($o(r),([n,a])=>o(u(")",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Lp(t),r]),Uu=e=>o(o(o(yo(e),([t,r])=>o(u("|",r),([n,a])=>o(Uu(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[t,r],()=>o(o(yo(e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[]))),([t,r])=>[qp(t),r]),yo=e=>o(o(_x(e),([t,r])=>o($o(r),([n,a])=>[[t,n],a])),([t,r])=>[jp(t),r]),$o=e=>o(o(Uu(e),([t,r])=>[t,r],()=>o(yo(e),([t,r])=>[t,r],()=>[])),([t,r])=>[t,r]),gs=e=>o(o(u("^",e),([t,r])=>o($o(r),([n,a])=>o(u("$",a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Fp(t),r]),Ku=(e,t=[])=>o(o(S(e),([r,n])=>o(u(",",n),([a,s])=>[[r,a],s])),([r,n])=>Ku(n,[...t,r]),()=>[t,e]),Vx=e=>o(o(Ku(e),([t,r])=>o(o(o(S(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Dp(t),r]),_u=e=>o(o(o(u("extends",e),([t,r])=>o(Vx(r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[Gp(t),r]),Bx=e=>o(o(u("interface",e),([t,r])=>o(Y(r),([n,a])=>o(xo(a),([s,m])=>o(_u(m),([c,l])=>o(bo(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[Np(t),r]),Wx=e=>o(o(u("interface",e),([t,r])=>o(Y(r),([n,a])=>o(_u(a),([s,m])=>o(bo(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[Up(t),r]),Hx=e=>o(o(u("type",e),([t,r])=>o(Y(r),([n,a])=>o(xo(a),([s,m])=>o(u("=",m),([c,l])=>o(S(l),([d,g])=>[[t,n,s,c,d],g]))))),([t,r])=>[Kp(t),r]),Yx=e=>o(o(u("type",e),([t,r])=>o(Y(r),([n,a])=>o(u("=",a),([s,m])=>o(S(m),([c,l])=>[[t,n,s,c],l])))),([t,r])=>[_p(t),r]),Jx=e=>o(o(o(u("export",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o([[],e],([t,r])=>[t,r],()=>[])),([t,r])=>[zp(t),r]),Xx=e=>o(o(o(u(";",e),([t,r])=>o(u(`
10
+ `,r),([n,a])=>[[t,n],a])),([t,r])=>[t,r],()=>o(o(u(";",e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>o(o(u(`
11
+ `,e),([t,r])=>[[t],r]),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]),zu=(e,t=[])=>o(o(To(e),([r,n])=>o(Xx(n),([a,s])=>[[r,a],s])),([r,n])=>zu(n,[...t,r]),()=>[t,e]),Zx=e=>o(o(zu(e),([t,r])=>o(o(o(To(r),([n,a])=>[[n],a]),([n,a])=>[n,a],()=>o([[],r],([n,a])=>[n,a],()=>[])),([n,a])=>[[t,n],a])),([t,r])=>[Vp(t),r]),To=e=>o(o(Jx(e),([t,r])=>o(o(Bx(r),([n,a])=>[n,a],()=>o(Wx(r),([n,a])=>[n,a],()=>o(Hx(r),([n,a])=>[n,a],()=>o(Yx(r),([n,a])=>[n,a],()=>[])))),([n,a])=>o(yu(a),([s,m])=>[[t,n,s],m]))),([t,r])=>[Bp(t),r]),Qx=e=>o(o(To(e),([t,r])=>o(Zx(r),([n,a])=>[[t,n],a])),([t,r])=>[Wp(t),r]),Vu=e=>o(o(Qx(e),([t,r])=>[t,r],()=>o(tx(e),([t,r])=>[t,r],()=>o(S(e),([t,r])=>[t,r],()=>[]))),([t,r])=>[t,r]);function Bu(e){let t=Io(`\`${e}\``);return i.IsEqual(t.length,2)?t[0]:X()}function tI(e){return e.join("|")}function rI(e){return e.slice(1,e.length-1)}function nI(e,t,r){return wt(t,`${r}${e}`)}function aI(e,t){return wt(e,`${t}${ps}`)}function oI(e,t){return wt(e,`${t}${Gn}`)}function iI(e,t){return wt(e,`${t}${Un}`)}function sI(e,t){return Hr(E([P("false"),P("true")]),e,t)}function mI(e,t){return wt(e,`${t}${Kn}`)}function pI(e,t,r){return wt(t,`${r}${rI(e)}`)}function uI(e,t,r){let n=Yr(e,{});return Hr(n,t,r)}function cI(e,t,r){let n=Le(e);return Hr(n,t,r)}function Wu(e,t,r,n=[]){return i.ShiftLeft(e,(a,s)=>Wu(s,t,r,[...n,Hr(a,[],"")]),()=>wt(t,`${r}(${tI(n)})`))}function Hr(e,t,r){return be(e)?cI(e.enum,t,r):ve(e)?oI(t,r):q(e)?nI(e.const,t,r):Je(e)?aI(t,r):Fe(e)?sI(t,r):Q(e)?iI(t,r):$e(e)?mI(t,r):ee(e)?pI(e.pattern,t,r):Yu(e)?uI(e.parameters[0],t,r):x(e)?Wu(e.anyOf,t,r):zi}function wt(e,t){return i.ShiftLeft(e,(r,n)=>Hr(r,n,t),()=>t)}function lI(e){return`^${wt(e,"")}$`}function Hu(e){let t=lI(e);return zn(t)}function Yr(e,t){return k(e)?p.Update(Hu(e),{},t):Qn(e,t)}function Ju(e,t,r,n){let a=qe(e,t,r);return Yr(a,n)}function Qn(e,t={}){return I("TemplateLiteral",[e],t)}function Yu(e){return ne(e)&&i.HasPropertyKey(e,"action")&&i.IsEqual(e.action,"TemplateLiteral")}function Xu(e){return Yr(e,{})}function dI(e){let t=Bu(e);return Xu(t)}function Zu(e,t={}){let r=i.IsString(e)?dI(e):Xu(e);return p.Update(r,{},t)}function ee(e){return y(e,"TemplateLiteral")}var v={};Ot(v,{ExtendsFalse:()=>T,ExtendsTrue:()=>h,ExtendsUnion:()=>ko,IsExtendsFalse:()=>fI,IsExtendsTrue:()=>ec,IsExtendsTrueLike:()=>sr,IsExtendsUnion:()=>Qu,Match:()=>_});function ko(e){return p.Create({"~kind":"ExtendsUnion"},{inferred:e})}function Qu(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsUnion")&&i.IsObject(e.inferred)}function h(e){return p.Create({"~kind":"ExtendsTrue"},{inferred:e})}function ec(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"inferred")&&i.IsEqual(e["~kind"],"ExtendsTrue")&&i.IsObject(e.inferred)}function T(){return p.Create({"~kind":"ExtendsFalse"},{})}function fI(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.IsEqual(e["~kind"],"ExtendsFalse")}function sr(e){return Qu(e)||ec(e)}function _(e,t,r){return sr(e)?t(e.inferred):r()}function gI(e,t,r,n){return _(C(e,r,n),a=>h(p.Assign(p.Assign(e,a),{[t]:r})),()=>T())}function hI(e,t){return h(e)}function yI(e,t,r,n,a){return _(C(e,t,r),s=>_(C(s,t,n),m=>h(m),()=>T()),()=>_(C(e,t,a),s=>h(s),()=>T()))}function xI(e,t,r){let n=Le(r);return C(e,t,n)}function tc(e,t,r){return i.ShiftLeft(r,(n,a)=>_(C(e,t,n),s=>tc(s,t,a),()=>T()),()=>h(e))}function II(e,t,r){let n=we(r);return C(e,t,n)}function rc(e,t,r){return i.ShiftLeft(r,(n,a)=>_(C(e,t,n),s=>h(s),()=>rc(e,t,a)),()=>T())}function j(e,t,r){return Z(r)?hI(e,t):H(r)?yI(e,t,r.if,r.then,r.else):be(r)?xI(e,t,r.enum):J(r)?gI(e,r.name,t,r.extends):O(r)?tc(e,t,r.allOf):ee(r)?II(e,t,r.pattern):x(r)?rc(e,t,r.anyOf):ae(r)?h(e):T()}function nc(e,t,r){return J(r)?j(e,t,r):Z(r)?h(e):ae(r)?h(e):ko(e)}function bI(e,t){let r=qt(e),n=qt(t);return r&&n||!r&&n?!0:!(r&&!n)}function ac(e,t,r,n){return z(n)?bI(t,n)?C(e,r,n.items):T():j(e,t,n)}function oc(e,t,r){return Je(r)?h(e):j(e,t,r)}function ic(e,t,r){return Fe(r)?h(e):j(e,t,r)}function vI(e,t,r,n,a){let s=J(n)?t:n,m=J(n)?n:t,c=xe(t),l=xe(n);return!c&&l?T():_(C(e,s,m),d=>Jr(d,r,a),()=>T())}function $I(e,t,r,n){return i.ShiftLeft(n,(a,s)=>vI(e,t,r,a,s),()=>xe(t)?h(e):T())}function TI(e,t,r){return i.ShiftLeft(t,(n,a)=>$I(e,n,a,r),()=>h(e))}function Jr(e,t,r){return TI(e,t,r)}function Ea(e,t,r){return Xe(r)?h(e):C(e,t,r)}function sc(e,t,r,n){return Z(n)?h(e):ae(n)?h(e):ie(n)?_(Jr(e,t,n.parameters),a=>Ea(a,r,n.instanceType),()=>T()):T()}function mc(e,t,r,n,a){return _(C(e,t,a),()=>C(e,r,a),()=>C(e,n,a))}function pc(e,t,r){let n=Le(t);return C(e,n,r)}function uc(e,t,r,n){return Z(n)?h(e):ae(n)?h(e):se(n)?_(Jr(e,t,n.parameters),a=>Ea(a,r,n.returnType),()=>T()):T()}function cc(e,t,r){return ve(r)?h(e):Q(r)?h(e):j(e,t,r)}function lc(e,t,r){let n=B(t);return C(e,n,r)}function Ra(e,t,r){return t===r?h(e):T()}function kI(e,t,r){return q(r)?Ra(e,t,r.const):Je(r)?h(e):j(e,P(t),r)}function wI(e,t,r){return q(r)?Ra(e,t,r.const):Fe(r)?h(e):j(e,P(t),r)}function EI(e,t,r){return q(r)?Ra(e,t,r.const):Q(r)?h(e):j(e,P(t),r)}function RI(e,t,r){return q(r)?Ra(e,t,r.const):$e(r)?h(e):j(e,P(t),r)}function dc(e,t,r){return i.IsBigInt(t.const)?kI(e,t.const,r):i.IsBoolean(t.const)?wI(e,t.const,r):i.IsNumber(t.const)?EI(e,t.const,r):i.IsString(t.const)?RI(e,t.const,r):X()}function fc(e,t,r){return J(r)?j(e,t,r):h(e)}function gc(e,t,r){return Xt(r)?h(e):j(e,t,r)}function hc(e,t,r){return Q(r)?h(e):j(e,t,r)}function SI(e,t,r){return xe(t)?xe(r)?h(e):T():h(e)}function OI(e,t,r){return J(r)&&xt(r.extends)?T():_(C(e,t,r),n=>SI(n,t,r),()=>T())}function PI(e,t){return e.reduce((r,n)=>n in t?sr(t[n])?{...r,...t[n].inferred}:X():X(),{})}function CI(e,t,r){let n={};for(let m of i.Keys(r))n[m]=m in t?OI({},t[m],r[m]):xe(r[m])?J(r[m])?h(p.Assign(e,{[r[m].name]:r[m].extends})):h(e):T();let a=i.Values(n).every(m=>sr(m)),s=a?PI(i.Keys(n),n):{};return a?h(s):T()}function MI(e,t,r){let n=CI(e,t,r);return sr(n)?h(p.Assign(e,n.inferred)):T()}function AI(e,t,r){return MI(e,t,r)}function LI(e,t){return i.Keys(t).reduce((r,n)=>({...r,[n]:i.HasPropertyKey(e,n)?x(r[n])?E([...r[n].anyOf,t[n]]):E([e[n],t[n]]):t[n]}),e)}function yc(e,t,r,n){return i.ShiftLeft(t,(a,s)=>_(C({},e[a],r),m=>yc(e,s,r,LI(n,m)),()=>T()),()=>h(n))}function qI(e,t,r,n){let a=i.Keys(t);return yc(t,a,n,e)}function xc(e,t,r){return ge(r)?qI(e,t,Ne(r),Te(r)):A(r)?AI(e,t,r.properties):j(e,$(t),r)}function jI(e,t){return i.IsEqual(i.Keys(t).length,0)?h(e):T()}function FI(e,t,r,n,a){return C(e,r,a)}function Ic(e,t,r,n){return ge(n)?FI(e,Yn(t),r,Yn(Ne(n)),Te(n)):A(n)?jI(e,n.properties):Z(n)?h(e):ae(n)?h(e):T()}function bc(e,t,r){return $e(r)?h(e):j(e,t,r)}function vc(e,t,r){return It(r)?h(e):j(e,t,r)}function $c(e,t,r){let n=we(t);return C(e,n,r)}function wo(e,t){return p.Create({"~kind":"Inferrable"},{name:e,type:t},{})}function Xr(e){return i.IsObject(e)&&i.HasPropertyKey(e,"~kind")&&i.HasPropertyKey(e,"name")&&i.HasPropertyKey(e,"type")&&i.IsEqual(e["~kind"],"Inferrable")&&i.IsString(e.name)&&i.IsObject(e.type)}function Eo(e){return $t(e)?J(e.items)?z(e.items.extends)?wo(e.items.name,e.items.extends.items):ae(e.items.extends)?wo(e.items.name,e.items.extends):void 0:X():void 0}function Sa(e){return J(e)?wo(e.name,e.extends):void 0}function Ro(e,t,r=[]){return i.ShiftLeft(e,(n,a)=>_(C({},n,t),()=>Ro(a,t,[...r,n]),()=>{}),()=>r)}function Tc(e,t,r,n){let a=Ro(r,n);return i.IsArray(a)?h(p.Assign(e,{[t]:te(a)})):T()}function Oa(e,t,r,n){let a=Ro(r,n);return i.IsArray(a)?h(p.Assign(e,{[t]:E(a)})):T()}function DI(e){return[...e].reverse()}function So(e,t){return t?DI(e):e}function GI(e){let t=e.length>0?e[0]:void 0,r=ne(t)?Eo(t):void 0;return ne(r)}function NI(e,t,r,n,a,s){return _(C(e,r,a),m=>kc(m,t,n,s),()=>T())}function UI(e,t,r,n,a){let s=Eo(n);return Xr(s)?Tc(e,s.name,So(r,t),s.type):i.ShiftLeft(r,(m,c)=>NI(e,t,m,c,n,a),()=>T())}function KI(e,t,r,n){return i.ShiftLeft(n,(a,s)=>UI(e,t,r,a,s),()=>i.IsEqual(r.length,0)?h(e):T())}function kc(e,t,r,n){return KI(e,t,r,n)}function _I(e,t,r){let n=Et(e,K([],[]),r),a=GI(n);return kc(e,a,So(t,a),So(n,a))}function wc(e,t,r){let n=Sa(r);return Xr(n)?Oa(e,n.name,t,n.type):i.ShiftLeft(t,(a,s)=>_(C(e,a,r),m=>wc(m,s,r),()=>T()),()=>h(e))}function Ec(e,t,r){let n=Et(e,K([],[]),t);return N(r)?_I(e,n,r.items):z(r)?wc(e,n,r.items):j(e,te(n),r)}function Rc(e,t,r){return Xe(r)?h(e):nr(r)?h(e):j(e,t,r)}function Sc(e,t,r){return i.ShiftLeft(r,(n,a)=>_(C(e,t,n),s=>h(s),()=>Sc(e,t,a)),()=>T())}function Oo(e,t,r){return i.ShiftLeft(t,(n,a)=>_(Sc(e,n,r),s=>Oo(s,a,r),()=>T()),()=>h(e))}function Oc(e,t,r){let n=Sa(r);return Xr(n)?Oa(e,n.name,t,n.type):x(r)?Oo(e,t,r.anyOf):Oo(e,t,[r])}function Pc(e,t,r){return J(r)?j(e,t,r):Z(r)?h(e):ae(r)?h(e):T()}function Cc(e,t,r){return Xe(r)?h(e):j(e,t,r)}function C(e,t,r){return Z(t)?nc(e,t,r):z(t)?ac(e,t,t.items,r):Je(t)?oc(e,t,r):Fe(t)?ic(e,t,r):ie(t)?sc(e,t.parameters,t.instanceType,r):H(t)?mc(e,t.if,t.then,t.else,r):be(t)?pc(e,t.enum,r):se(t)?uc(e,t.parameters,t.returnType,r):ve(t)?cc(e,t,r):O(t)?lc(e,t.allOf,r):q(t)?dc(e,t,r):xt(t)?fc(e,t,r):Xt(t)?gc(e,t,r):Q(t)?hc(e,t,r):A(t)?xc(e,t.properties,r):ge(t)?Ic(e,Ne(t),Te(t),r):$e(t)?bc(e,t,r):It(t)?vc(e,t,r):ee(t)?$c(e,t.pattern,r):N(t)?Ec(e,t.items,r):nr(t)?Rc(e,t,r):x(t)?Oc(e,t.anyOf,r):ae(t)?Pc(e,t,r):Xe(t)?Cc(e,t,r):T()}function zI(e,t){return B([...e,$(t)])}function Po(e,t,r){return k(e)?p.Update(zI(e,t),{},r):_r(e,t,r)}function Mc(e,t,r,n,a){let s=qe(e,t,r),m=Zr(e,t,n);return Po(s,m,a)}function _r(e,t,r={}){return I("Interface",[e,t],r)}function mr(e){return ne(e)&&i.HasPropertyKey(e,"action")&&i.IsEqual(e.action,"Interface")}function Ac(e,t,r={}){return Po(e,t,r)}function VI(e,t,r){return e.includes(r)?!0:Qr([...e,r],t,t[r])}function Lc(e,t,r){let n=Ln(r);return Kt(e,t,n)}function Kt(e,t,r){return i.ShiftLeft(r,(n,a)=>Qr(e,t,n)?!0:Kt(e,t,a),()=>!1)}function Qr(e,t,r){return me(r)?VI(e,t,r.$ref):z(r)?Qr(e,t,r.items):ie(r)?Kt(e,t,[...r.parameters,r.instanceType]):se(r)?Kt(e,t,[...r.parameters,r.returnType]):mr(r)?Lc(e,t,r.parameters[1]):O(r)?Kt(e,t,r.allOf):A(r)?Lc(e,t,r.properties):x(r)?Kt(e,t,r.anyOf):N(r)?Kt(e,t,r.items):ge(r)?Qr(e,t,Te(r)):!1}function qc(e,t,r){return Qr(e,t,r)}function BI(e,t){return t.reduce((r,n)=>qc([n],e,e[n])?[...r,n]:r,[])}function jc(e){let t=An(e);return BI(e,t)}function WI(e,t,r){return r.includes(t)?r:t in e?en(e,e[t],[...r,t]):X()}function Fc(e,t,r){let n=Ln(t);return pr(e,n,r)}function pr(e,t,r){return t.reduce((n,a)=>en(e,a,n),r)}function en(e,t,r){return me(t)?WI(e,t.$ref,r):z(t)?en(e,t.items,r):ie(t)?pr(e,[...t.parameters,t.instanceType],r):se(t)?pr(e,[...t.parameters,t.returnType],r):mr(t)?Fc(e,t.parameters[1],r):O(t)?pr(e,t.allOf,r):A(t)?Fc(e,t.properties,r):x(t)?pr(e,t.anyOf,r):N(t)?pr(e,t.items,r):ge(t)?en(e,Te(t),r):r}function Dc(e,t,r){return en(e,r,[t])}function HI(e){return Ht()}function YI(e){return i.Keys(e).reduce((t,r)=>({...t,[r]:_t(e[r])}),{})}function tn(e){return e.reduce((t,r)=>[...t,_t(r)],[])}function _t(e){return me(e)?HI(e.$ref):z(e)?Ae(_t(e.items),Mn(e)):ie(e)?ze(tn(e.parameters),_t(e.instanceType)):se(e)?Ve(tn(e.parameters),_t(e.returnType)):O(e)?Ie(tn(e.allOf)):A(e)?$(YI(e.properties)):ge(e)?Hn(tr(e),_t(Te(e))):x(e)?E(tn(e.anyOf)):N(e)?te(tn(e.items)):e}function JI(e,t){return t in e?_t(e[t]):ue()}function Gc(e){return JI(e.$defs,e.$ref)}function XI(e,t,r){let n=qe(e,K([],[]),t),a=Zr({},K([],[]),r);return B([...n,$(a)])}function ZI(e,t){return i.Keys(e).filter(n=>t.includes(n)).reduce((n,a)=>{let s=e[a],m=mr(s)?XI(e,s.parameters[0],s.parameters[1]):s;return{...n,[a]:m}},{})}function Nc(e,t,r){let n=Dc(e,t,r),a=ZI(e,n);return We(a,t)}function Uc(e,t){return t in e?me(e[t])?Uc(e,e[t].$ref):e[t]:D()}function Ze(e,t){return Uc(e,t)}function Kc(e){return de(e)?Gc(e):qn(e)?ue():e}function fe(e,t,r){let n=Kc(t),a=Kc(r);return C(e,n,a)}var Fr="equal",QI="disjoint",Dr="left-inside",Gr="right-inside";function Qt(e,t){let r=[ae(e)?v.ExtendsFalse():fe({},e,t),ae(e)?v.ExtendsTrue({}):fe({},t,e)];return v.IsExtendsTrueLike(r[0])&&v.IsExtendsTrueLike(r[1])?Fr:v.IsExtendsTrueLike(r[0])&&v.IsExtendsFalse(r[1])?Dr:v.IsExtendsFalse(r[0])&&v.IsExtendsTrueLike(r[1])?Gr:QI}function eb(e,t){return t.filter(r=>Qt(e,r)!==Gr)}function tb(e,t){let r=t.some(n=>{let a=Qt(e,n);return i.IsEqual(a,Dr)||i.IsEqual(a,Fr)});return i.IsEqual(r,!1)}function rb(e,t){let r=Ge(e);return Z(r)?[r]:tb(r,t)?[...eb(r,t),r]:t}function nb(e){return e.reduce((t,r)=>A(r)?[...t,r]:xt(r)?t:rb(r,t),[])}function so(e){let t=nb(e);return Ur(t)}function Co(e,t){return p.Update(Ge(e),{},t)}function _c(e,t,r,n){let a=f(e,t,r);return Co(a,n)}function rn(e,t=[]){return ht(e)&&i.IsEqual(e.action,"Conditional")?me(e.parameters[0])?rn(e.parameters[2],rn(e.parameters[3],[...t,e.parameters[0].$ref])):rn(e.parameters[2],rn(e.parameters[3],t)):ht(e)&&i.IsEqual(e.action,"Mapped")&&ht(e.parameters[1])&&i.IsEqual(e.parameters[1].action,"KeyOf")&&me(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function ab(e,t){return e.reduce((r,n)=>[...r,t.includes(n.name)],[])}function Bc(e,t,r=[]){return i.ShiftLeft(e,(n,a)=>i.ShiftLeft(t,(s,m)=>Bc(a,m,[...r,[s,n]]),()=>r),()=>r)}function ob(e){return x(e)?[...e.anyOf]:[e]}function ib(e,t){return e.reduce((r,n)=>[...r,[...n,t]],[])}function zc(e,t){return t.reduce((r,n)=>[...r,...ib(e,n)],[])}function Vc(e){return e.reduce((t,r)=>i.IsEqual(r[0],!0)?zc(t,ob(r[1])):zc(t,[r[1]]),[[]])}function Wc(e,t,r){let n=rn(r),a=ab(e,n),s=Bc(t,a);return ht(r)&&i.IsEqual(r.action,"Conditional")||ht(r)&&i.IsEqual(r.action,"Mapped")?Vc(s):[t]}function sb(){return["(not-resolvable)",D()]}function mb(){return["(not-generic)",D()]}function pb(e,t,r){return[e,yt(t,r)]}function ub(e,t,r){return t in e?Hc(e,t,e[t],r):sb()}function Hc(e,t,r,n){return Wt(r)?pb(t,r.parameters,r.expression):me(r)?ub(e,r.$ref,n):mb()}function Yc(e,t,r){return Hc(e,"(anonymous)",t,r)}function cb(e,t,r){if(J(t)||ur(t)||v.IsExtendsTrueLike(fe({},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 Jc(e,t,r,n,a){let s=f(e,t,a);return cb(r,s,n),p.Assign(e,{[r]:s})}function lb(e,t,r,n,a){let s=f(e,t,r.extends),m=f(e,t,r.equals);return i.ShiftLeft(a,(c,l)=>Mo(Jc(e,t,r.name,s,c),t,n,l),()=>Mo(Jc(e,t,r.name,s,m),t,n,[]))}function Mo(e,t,r,n){return i.ShiftLeft(r,(a,s)=>lb(e,t,a,s,n),()=>e)}function Xc(e,t,r,n){return Mo(e,t,r,n)}function db(e){return i.IsGreaterThan(e.callstack.length,0)?e.callstack[e.callstack.length-1]:""}function fb(e,t){return i.IsEqual(db(e),t)}function gb(e,t,r,n,a,s){let m=Xc(e,t,n,s),c=f(m,K([...t.callstack,r.$ref],t.visited),a);return f(m,K([],[]),c)}function hb(e,t,r,n,a,s){return s.reduce((m,c)=>[...m,gb(e,t,r,n,a,c)],[])}function yb(e,t,r,n,a,s){let m=Wc(n,s,a),c=hb(e,t,r,n,a,m);return i.IsEqual(c.length,1)?c[0]:Oe(c)}function Pa(e,t,r,n){let a=qe(e,t,n),s=Yc(e,r,n),m=s[0],c=s[1];return Wt(c)?fb(t,m)?zr(it(m),a):yb(e,t,it(m),c.parameters,c.expression,a):zr(r,a)}function zr(e,t){return p.Create({"~kind":"Call"},{type:"call",target:e,arguments:t},{})}function Zc(e,t){return Pa({},K([],[]),e,t)}function ur(e){return y(e,"Call")}function xb(e){return p.Discard(e,["~immutable"])}function Qc(e,t){return p.Update(xb(e),{},t)}function el(e,t,r,n){let a=f(e,t,r);return Qc(a,n)}function tl(e,t){return e(t)}function rl(e,t){return i.IsString(t)?P(tl(e,t)):P(t)}function nl(e,t){let r=we(t);return pt(e,r)}function al(e,t){let r=t.map(n=>pt(e,n));return E(r)}function pt(e,t){return q(t)?rl(e,t.const):ee(t)?nl(e,t.pattern):x(t)?al(e,t.anyOf):t}function ea(e,t={}){return I("Capitalize",[e],t)}function ol(e,t={}){return Ao(e,t)}function ta(e,t={}){return I("Lowercase",[e],t)}function il(e,t={}){return Lo(e,t)}function ra(e,t={}){return I("Uncapitalize",[e],t)}function sl(e,t={}){return qo(e,t)}function na(e,t={}){return I("Uppercase",[e],t)}function ml(e,t={}){return jo(e,t)}var Ib=e=>e[0].toUpperCase()+e.slice(1),bb=e=>e.toLowerCase(),vb=e=>e[0].toLowerCase()+e.slice(1),$b=e=>e.toUpperCase();function Ao(e,t){return k([e])?p.Update(pt(Ib,e),{},t):ea(e,t)}function Lo(e,t){return k([e])?p.Update(pt(bb,e),{},t):ta(e,t)}function qo(e,t){return k([e])?p.Update(pt(vb,e),{},t):ra(e,t)}function jo(e,t){return k([e])?p.Update(pt($b,e),{},t):na(e,t)}function pl(e,t,r,n){let a=f(e,t,r);return Ao(a,n)}function ul(e,t,r,n){let a=f(e,t,r);return Lo(a,n)}function cl(e,t,r,n){let a=f(e,t,r);return qo(a,n)}function ll(e,t,r,n){let a=f(e,t,r);return jo(a,n)}function aa(e,t,r,n,a={}){return I("Conditional",[e,t,r,n],a)}function dl(e,t,r,n,a={}){return Fo({},K([],[]),e,t,r,n,a)}function Tb(e,t,r,n,a,s){let m=fe(e,r,n);return v.IsExtendsUnion(m)?E([f(m.inferred,t,a),f(e,t,s)]):v.IsExtendsTrue(m)?f(m.inferred,t,a):f(e,t,s)}function Fo(e,t,r,n,a,s,m){return k([r,n])?p.Update(Tb(e,t,r,n,a,s),{},m):aa(r,n,a,s,m)}function fl(e,t,r,n,a,s,m){let c=f(e,t,r),l=f(e,t,n);return Fo(e,t,c,l,a,s,m)}function oa(e,t={}){return I("ConstructorParameters",[e],t)}function gl(e,t={}){return Do(e,t)}function kb(e){let t=ie(e)?e.parameters:[],r=Et({},K([],[]),t);return te(r)}function Do(e,t){return k([e])?p.Update(kb(e),{},t):oa(e,t)}function hl(e,t,r,n){let a=f(e,t,r);return Do(a,n)}function ia(e,t,r={}){return I("Exclude",[e,t],r)}function yl(e,t,r={}){return nn(e,t,r)}function nn(e,t,r){return k([e,t])?p.Update(Bn(e,t),{},r):ia(e,t,r)}function xl(e,t,r,n,a){let s=f(e,t,r),m=f(e,t,n);return nn(s,m,a)}function sa(e,t,r={}){return I("Extract",[e,t],r)}function Il(e,t,r={}){return Go(e,t,r)}function wb(e,t){let r=fe({},e,t);return v.IsExtendsTrueLike(r)?[e]:[]}function Eb(e,t){return e.reduce((r,n)=>[...r,...wb(n,t)],[])}function bl(e,t){let r=Ge(e),n=x(r)?r.anyOf:[r],a=Eb(n,t);return Oe(a)}function Go(e,t,r){return k([e,t])?p.Update(bl(e,t),{},r):sa(e,t,r)}function vl(e,t,r,n,a){let s=f(e,t,r),m=f(e,t,n);return Go(s,m,a)}function Rb(e){return e.reduce((t,r)=>Nn(r)?[...t,P(r)]:t,[])}function cr(e){let t=Rb(e);return E(t)}function Vr(e,t,r={}){return I("Index",[e,t],r)}function $l(e,t,r={}){let n=i.IsArray(t)?cr(t):t;return No(e,n,r)}function Tl(e,t){let r=Ze(e,t);return je(r)}function kl(e,t,r){let n=_e(e,t,r);return je(n)}function Sb(e,t){let r=i.Keys(e).filter(g=>!i.HasPropertyKey(t,g)),n=i.Keys(t).filter(g=>!i.HasPropertyKey(e,g)),a=i.Keys(e).filter(g=>i.HasPropertyKey(t,g)),s=r.reduce((g,b)=>({...g,[b]:e[b]}),{}),m=n.reduce((g,b)=>({...g,[b]:t[b]}),{}),c=a.reduce((g,b)=>({...g,[b]:B([e[b],t[b]])}),{}),l=p.Assign(s,m);return p.Assign(l,c)}function wl(e){return e.reduce((t,r)=>Sb(t,je(r)),{})}function El(e){let t=Cs(te(e));return je(t)}function Ob(e,t){return i.Keys(e).filter(a=>a in t).reduce((a,s)=>({...a,[s]:Oe([e[s],t[s]])}),{})}function Rl(e,t){return i.ShiftLeft(e,(r,n)=>Rl(n,Ob(t,je(r))),()=>t)}function Sl(e){return i.ShiftLeft(e,(t,r)=>Rl(r,je(t)),()=>X())}function je(e){return de(e)?Tl(e.$defs,e.$ref):H(e)?kl(e.if,e.then,e.else):O(e)?wl(e.allOf):x(e)?Sl(e.anyOf):N(e)?El(e.items):A(e)?e.properties:{}}function lr(e){let t=je(e);return $(t)}var Pb=new RegExp("^(?:0|[1-9][0-9]*)$");function dr(e){let t=`${e}`;return Pb.test(t)?parseInt(t):e}function Cb(e){return P(dr(e))}function Ol(e){return e.map(t=>Pl(t))}function Pl(e){return O(e)?Ie(Ol(e.allOf)):x(e)?E(Ol(e.anyOf)):q(e)?Cb(e.const):e}function Cl(e,t){let r=Pl(t),n=fe({},r,Se());return v.IsExtendsTrueLike(n)?e:q(t)&&i.IsEqual(t.const,"length")?Se():D()}function Ml(e,t){let r=Ze(e,t);return Pe(r)}function Al(e,t,r){let n=_e(e,t,r);return Pe(n)}function Ll(e){let t=Le(e);return Pe(t)}function ql(e){let t=B(e);return Pe(t)}function jl(e){return[`${e}`]}function Fl(e){let t=we(e);return Pe(t)}function Dl(e){return e.reduce((t,r)=>[...t,...Pe(r)],[])}function Pe(e){return de(e)?Ml(e.$defs,e.$ref):H(e)?Al(e.if,e.then,e.else):be(e)?Ll(e.enum):O(e)?ql(e.allOf):q(e)?jl(e.const):ee(e)?Fl(e.pattern):x(e)?Dl(e.anyOf):[]}function fr(e){return Pe(e)}function an(e,t){return t.map(r=>on(e,r))}function on(e,t){return z(t)?Ae(on(e,t.items)):ie(t)?ze(an(e,t.parameters),on(e,t.instanceType)):se(t)?Ve(an(e,t.parameters),on(e,t.returnType)):N(t)?te(an(e,t.items)):x(t)?E(an(e,t.anyOf)):O(t)?Ie(an(e,t.allOf)):Xn(t)?$(e):t}function Gl(e,t){return on(e,t)}function Mb(e,t){let r=t in e?e[t]:D();return Gl(e,r)}function Nl(e,t){return t.reduce((r,n)=>[...r,Mb(e,n)],[])}function Ab(e,t){let r=fr(t),n=Nl(e,r);return Oe(n)}var Lb=new RegExp(vt);function qb(e){return e.filter(r=>Lb.test(r))}function jb(e){let t=An(e),r=qb(t),n=Nl(e,r);return Oe(n)}function Ul(e,t){return Q(t)?jb(e):Ab(e,t)}function Fb(e){return P(dr(e))}function Kl(e){return e.map(t=>Uo(t))}function Uo(e){return O(e)?Ie(Kl(e.allOf)):x(e)?E(Kl(e.anyOf)):q(e)?Fb(e.const):e}function Db(e,t){return e.reduceRight((r,n,a)=>{let s=fe({},P(a),t);return v.IsExtendsTrueLike(s)?[n,...r]:r},[])}function Gb(e,t){let r=Uo(t),n=Db(e,r);return st(n)}function Nb(e){return st(e)}function _l(e,t){return q(t)&&i.IsEqual(t.const,"length")?P(e.length):Q(t)||ve(t)?Nb(e):Gb(e,t)}function zl(e,t){return z(e)?Cl(e.items,t):A(e)?Ul(e.properties,t):N(e)?_l(e.items,t):D()}function Ub(e){return de(e)||H(e)||O(e)||x(e)?lr(e):e}function No(e,t,r){return k([e,t])?p.Update(zl(Ub(e),t),{},r):Vr(e,t,r)}function Vl(e,t,r,n,a){let s=f(e,t,r),m=f(e,t,n);return No(s,m,a)}function ma(e,t={}){return I("InstanceType",[e],t)}function Bl(e,t={}){return Ko(e,t)}function Kb(e){return ie(e)?e.instanceType:D()}function Ko(e,t){return k([e])?p.Update(Kb(e),{},t):ma(e,t)}function Wl(e,t,r,n={}){let a=f(e,t,r);return Ko(a,n)}function Br(e,t={}){return I("KeyOf",[e],t)}function Hl(e,t={}){return _o(e,t)}function Yl(){return E([Se(),De(),Zt()])}function Jl(e){return Se()}function _b(e){return e.reduce((r,n)=>Nn(n)?[...r,P(dr(n))]:X(),[])}function Xl(e){let t=i.Keys(e),r=_b(t);return st(r)}function Zl(e){return tr(e)}function Ql(e){let t=e.map((r,n)=>P(n));return st(t)}function ed(e){return Z(e)?Yl():z(e)?Jl(e.items):A(e)?Xl(e.properties):ge(e)?Zl(e):N(e)?Ql(e.items):D()}function zb(e){return de(e)||H(e)||O(e)||x(e)?lr(e):e}function _o(e,t){return k([e])?p.Update(ed(zb(e)),{},t):Br(e,t)}function td(e,t,r,n){let a=f(e,t,r);return _o(a,n)}function Kr(e,t,r,n,a={}){return I("Mapped",[e,t,r,n],a)}function rd(e,t,r,n,a={}){return zo({},K([],[]),e,t,r,n,a)}function Vb(e){let t=we(e);return Ca(t)}function Bb(e){return e.reduce((t,r)=>[...t,...Ca(r)],[])}function Wb(e){let t=Le(e);return Ca(t)}function Hb(e){return i.IsNumber(e)?[P(`${e}`)]:[P(e)]}function Ca(e){return be(e)?Wb(e.enum):q(e)?Hb(e.const):ee(e)?Vb(e.pattern):x(e)?Bb(e.anyOf):[e]}function nd(e){return Ca(e)}function Yb(e){return ee(e)?we(e.pattern):e}function Jb(e,t,r,n,a,s){let m=p.Assign(e,{[r.name]:n}),c=f(m,t,a),l=Yb(c),d=f(m,t,s);return cs(l)||ls(l)?{[l.const]:d}:{}}function Xb(e,t,r,n,a,s){return n.reduce((m,c)=>[...m,Jb(e,t,r,c,a,s)],[])}function Zb(e){return e.reduce((t,r)=>[...t,$(r)],[])}function ad(e,t,r,n,a,s){let m=nd(n),c=Xb(e,t,r,m,a,s),l=Zb(c);return B(l)}function zo(e,t,r,n,a,s,m){return k([n])?p.Update(ad(e,t,r,n,a,s),{},m):Kr(r,n,a,s,m)}function od(e,t,r,n,a,s,m){let c=f(e,t,n);return zo(e,t,r,c,a,s,m)}function Qb(e,t,r){let n=p.Assign(e,t);return i.Keys(t).filter(s=>r.includes(s)).reduce((s,m)=>({...s,[m]:Nc(n,m,t[m])}),{})}function ev(e,t,r){let n=p.Assign(e,t);return i.Keys(t).filter(s=>!r.includes(s)).reduce((s,m)=>({...s,[m]:f(n,K([],[]),t[m])}),{})}function tv(e,t,r){let n=jc(t),a=Qb(e,t,n),s=ev(e,t,n),m={...a,...s};return p.Update(m,{},r)}function Ma(e,t,r,n){return tv(e,r,n)}function pa(e,t={}){return I("NonNullable",[e],t)}function id(e,t={}){return Vo(e,t)}function rv(e){let t=E([Jt(),rr()]);return nn(e,t,{})}function Vo(e,t){return k([e])?p.Update(rv(e),{},t):pa(e,t)}function sd(e,t,r,n){let a=f(e,t,r);return Vo(a,n)}function ua(e,t,r={}){return I("Omit",[e,t],r)}function md(e,t,r={}){let n=i.IsArray(t)?cr(t):t;return Bo(e,n,r)}function Aa(e){let t=lr(e);return A(t)?t.properties:X()}function nv(e,t){return i.Keys(e).reduce((n,a)=>t.includes(a)?n:{...n,[a]:e[a]},{})}function pd(e,t){let r=Aa(e),n=fr(t),a=nv(r,n);return $(a)}function Bo(e,t,r){return k([e,t])?p.Update(pd(e,t),{},r):ua(e,t,r)}function ud(e,t,r,n,a){let s=f(e,t,r),m=f(e,t,n);return Bo(s,m,a)}function ca(e,t={}){return I("Parameters",[e],t)}function cd(e,t={}){return Wo(e,t)}function av(e){let t=se(e)?e.parameters:[],r=Et({},K([],[]),t);return te(r)}function Wo(e,t){return k([e])?p.Update(av(e),{},t):ca(e,t)}function ld(e,t,r,n){let a=f(e,t,r);return Wo(a,n)}function la(e,t={}){return I("Partial",[e],t)}function dd(e,t={}){return Ho(e,t)}function fd(e,t){let r=Ze(e,t),n=Qe(r);return We(p.Assign(e,{[t]:n}),t)}function gd(e,t,r){let n=_e(e,t,r);return Qe(n)}function hd(e){let t=B(e);return Qe(t)}function yd(e){let t=e.map(r=>Qe(r));return E(t)}function xd(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:At(e[a])}),{});return $(t)}function Qe(e){return de(e)?fd(e.$defs,e.$ref):H(e)?gd(e.if,e.then,e.else):O(e)?hd(e.allOf):x(e)?yd(e.anyOf):A(e)?xd(e.properties):$({})}function Ho(e,t){return k([e])?p.Update(Qe(e),{},t):la(e,t)}function Id(e,t,r,n){let a=f(e,t,r);return Ho(a,n)}function da(e,t,r={}){return I("Pick",[e,t],r)}function bd(e,t,r={}){let n=i.IsArray(t)?cr(t):t;return Yo(e,n,r)}function ov(e,t){return i.Keys(e).reduce((n,a)=>t.includes(a)?p.Assign(n,{[a]:e[a]}):n,{})}function vd(e,t){let r=Aa(e),n=fr(t),a=ov(r,n);return $(a)}function Yo(e,t,r){return k([e,t])?p.Update(vd(e,t),{},r):da(e,t,r)}function $d(e,t,r,n,a){let s=f(e,t,r),m=f(e,t,n);return Yo(s,m,a)}function fa(e,t={}){return I("ReadonlyObject",[e],t)}function Jo(e,t={}){return Xo(e,t)}var Td=Jo;function kd(e){return Yt(Ae(e))}function wd(e,t){let r=Ze(e,t),n=et(r);return We(p.Assign(e,{[t]:n}),t)}function Ed(e,t,r){let n=_e(e,t,r);return et(n)}function Rd(e){let t=B(e);return et(t)}function Sd(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:jt(e[a])}),{});return $(t)}function Od(e){return Yt(te(e))}function Pd(e){let t=e.map(r=>et(r));return E(t)}function et(e){return z(e)?kd(e.items):de(e)?wd(e.$defs,e.$ref):H(e)?Ed(e.if,e.then,e.else):O(e)?Rd(e.allOf):A(e)?Sd(e.properties):N(e)?Od(e.items):x(e)?Pd(e.anyOf):e}function Xo(e,t){return k([e])?p.Update(et(e),{},t):fa(e)}function Cd(e,t,r,n){let a=f(e,t,r);return Xo(a,n)}function Md(e,t,r,n){return t.visited.includes(n)?r:n in e?f(e,K(t.callstack,[...t.visited,n]),e[n]):r}function Ad(e,t){let r=Ze(e,t),n=tt(r);return We(p.Assign(e,{[t]:n}),t)}function Ld(e,t,r){let n=_e(e,t,r);return tt(n)}function qd(e){let t=B(e);return tt(t)}function jd(e){let t=e.map(r=>tt(r));return E(t)}function Fd(e){let t=i.Keys(e).reduce((n,a)=>({...n,[a]:Vn(e[a])}),{});return $(t)}function tt(e){return de(e)?Ad(e.$defs,e.$ref):H(e)?Ld(e.if,e.then,e.else):O(e)?qd(e.allOf):x(e)?jd(e.anyOf):A(e)?Fd(e.properties):$({})}function ga(e,t={}){return I("Required",[e],t)}function Dd(e,t={}){return Zo(e,t)}function Zo(e,t){return k([e])?p.Update(tt(e),{},t):ga(e,t)}function Gd(e,t,r,n){let a=f(e,t,r);return Zo(a,n)}function ha(e,t={}){return I("ReturnType",[e],t)}function Nd(e,t={}){return Qo(e,t)}function iv(e){return se(e)?e.returnType:D()}function Qo(e,t){return k([e])?p.Update(iv(e),{},t):ha(e,t)}function Ud(e,t,r,n={}){let a=f(e,t,r);return Qo(a,n)}function ya(e,t){return I("With",[e,t],{})}function Kd(e,t){return ei(e,t)}function ei(e,t){return k([e])?p.Update(e,{},t):ya(e,t)}function _d(e,t,r,n){let a=f(e,t,r);return ei(a,n)}function sv(e){return $t(e)?N(e.items)?ti(e.items.items):J(e.items)?[e]:me(e.items)?[e]:[D()]:[e]}function ti(e){return e.reduce((r,n)=>[...r,...sv(n)],[])}function K(e,t){return{callstack:e,visited:t}}function k(e){return i.ShiftLeft(e,(t,r)=>me(t)?!1:k(r),()=>!0)}function Zr(e,t,r){return i.Keys(r).reduce((n,a)=>({...n,[a]:f(e,t,r[a])}),{})}function Et(e,t,r){let n=qe(e,t,r);return ti(n)}function qe(e,t,r){return r.map(n=>f(e,t,n))}function mv(e,t){let r=xe(e)?Pr(t,{}):t,n=Ft(e)?Or(r,{}):r;return qt(e)?sn(n,{}):n}function pv(e,t,r,n,a){return i.IsEqual(r,"AddImmutable")?zd(e,t,n[0],a):i.IsEqual(r,"RemoveImmutable")?el(e,t,n[0],a):i.IsEqual(r,"AddReadonly")?Ni(e,t,n[0],a):i.IsEqual(r,"RemoveReadonly")?Es(e,t,n[0],a):i.IsEqual(r,"AddOptional")?Ui(e,t,n[0],a):i.IsEqual(r,"RemoveOptional")?Os(e,t,n[0],a):i.IsEqual(r,"Capitalize")?pl(e,t,n[0],a):i.IsEqual(r,"Conditional")?fl(e,t,n[0],n[1],n[2],n[3],a):i.IsEqual(r,"ConstructorParameters")?hl(e,t,n[0],a):i.IsEqual(r,"Evaluate")?_c(e,t,n[0],a):i.IsEqual(r,"Exclude")?xl(e,t,n[0],n[1],a):i.IsEqual(r,"Extract")?vl(e,t,n[0],n[1],a):i.IsEqual(r,"Index")?Vl(e,t,n[0],n[1],a):i.IsEqual(r,"InstanceType")?Wl(e,t,n[0],a):i.IsEqual(r,"Interface")?Mc(e,t,n[0],n[1],a):i.IsEqual(r,"KeyOf")?td(e,t,n[0],a):i.IsEqual(r,"Lowercase")?ul(e,t,n[0],a):i.IsEqual(r,"Mapped")?od(e,t,n[0],n[1],n[2],n[3],a):i.IsEqual(r,"Module")?Ma(e,t,n[0],a):i.IsEqual(r,"NonNullable")?sd(e,t,n[0],a):i.IsEqual(r,"Pick")?$d(e,t,n[0],n[1],a):i.IsEqual(r,"Parameters")?ld(e,t,n[0],a):i.IsEqual(r,"Partial")?Id(e,t,n[0],a):i.IsEqual(r,"Omit")?ud(e,t,n[0],n[1],a):i.IsEqual(r,"ReadonlyObject")?Cd(e,t,n[0],a):i.IsEqual(r,"Record")?Bs(e,t,n[0],n[1],a):i.IsEqual(r,"Required")?Gd(e,t,n[0],a):i.IsEqual(r,"ReturnType")?Ud(e,t,n[0],a):i.IsEqual(r,"TemplateLiteral")?Ju(e,t,n[0],a):i.IsEqual(r,"Uncapitalize")?cl(e,t,n[0],a):i.IsEqual(r,"Uppercase")?ll(e,t,n[0],a):i.IsEqual(r,"With")?_d(e,t,n[0],n[1]):I(r,n,a)}function uv(e,t,r){let n=me(r)?Md(e,t,r,r.$ref):z(r)?Ae(f(e,t,r.items),Mn(r)):ur(r)?Pa(e,t,r.target,r.arguments):ie(r)?ze(qe(e,t,r.parameters),f(e,t,r.instanceType),Ki(r)):se(r)?Ve(qe(e,t,r.parameters),f(e,t,r.returnType),_i(r)):H(r)?Lt(f(e,t,r.if),f(e,t,r.then),f(e,t,r.else),Yi(r)):O(r)?Ie(qe(e,t,r.allOf),es(r)):A(r)?$(Zr(e,t,r.properties),Wi(r)):ge(r)?Ws(Ne(r),f(e,t,Te(r))):$t(r)?Nt(f(e,t,r.items)):N(r)?te(Et(e,t,r.items),ws(r)):x(r)?E(qe(e,t,r.anyOf),fs(r)):r;return mv(r,n)}function f(e,t,r){return ht(r)?pv(e,t,r.action,r.parameters,r.options):uv(e,t,r)}function ri(e,t){return f(e,K([],[]),t)}function cv(e){return p.Update(e,{"~immutable":!0},{})}function sn(e,t){return p.Update(cv(e),{},t)}function zd(e,t,r,n){let a=f(e,t,r);return sn(a,n)}function Hp(e,t={}){return I("AddImmutable",[e],t)}function Yt(e,t={}){return sn(e,t)}function Yp(e,t={}){return I("Evaluate",[e],t)}function Vd(e,t={}){return Co(e,t)}function Jp(e,t={}){return I("Module",[e],t)}function Bd(e,t={}){return Ma({},K([],[]),e,t)}function Wd(...e){let[t,r,n]=He.Match(e,{2:(m,c)=>i.IsString(m)?[{},m,c]:[m,c,{}],3:(m,c,l)=>[m,c,l],1:m=>[{},m,{}]}),a=Vu(r),s=i.IsArray(a)&&i.IsEqual(a.length,2)?f(t,K([],[]),a[0]):D();return p.Update(s,{},n)}var U={};Ot(U,{Any:()=>Ht,Array:()=>Ae,BigInt:()=>Lr,Boolean:()=>Dn,Call:()=>Zc,Capitalize:()=>ol,Codec:()=>Fn,Conditional:()=>dl,Constructor:()=>ze,ConstructorParameters:()=>gl,Cyclic:()=>We,Decode:()=>as,DecodeBuilder:()=>Ar,Dependent:()=>Lt,Encode:()=>os,EncodeBuilder:()=>Mr,Enum:()=>Qi,Evaluate:()=>Vd,Exclude:()=>yl,Extends:()=>fe,ExtendsResult:()=>v,Extract:()=>Il,Function:()=>Ve,Generic:()=>yt,Identifier:()=>qr,Immutable:()=>is,Index:()=>$l,Infer:()=>Cr,InstanceType:()=>Bl,Instantiate:()=>ri,Integer:()=>Dt,Interface:()=>Ac,Intersect:()=>Ie,IsAny:()=>Z,IsArray:()=>z,IsBigInt:()=>Je,IsBoolean:()=>Fe,IsCall:()=>ur,IsCodec:()=>jn,IsConstructor:()=>ie,IsCyclic:()=>de,IsDependent:()=>H,IsEnum:()=>be,IsEnumValue:()=>Zi,IsFunction:()=>se,IsGeneric:()=>Wt,IsIdentifier:()=>us,IsImmutable:()=>qt,IsInfer:()=>J,IsInteger:()=>ve,IsIntersect:()=>O,IsKind:()=>y,IsLiteral:()=>q,IsNever:()=>xt,IsNull:()=>Xt,IsNumber:()=>Q,IsObject:()=>A,IsOptional:()=>xe,IsParameter:()=>ds,IsReadonly:()=>Ft,IsRecord:()=>ge,IsRef:()=>me,IsRefine:()=>to,IsRest:()=>$t,IsSchema:()=>ne,IsString:()=>$e,IsSymbol:()=>It,IsTemplateLiteral:()=>ee,IsThis:()=>Xn,IsTuple:()=>N,IsUndefined:()=>nr,IsUnion:()=>x,IsUnknown:()=>ae,IsUnsafe:()=>qn,IsVoid:()=>Xe,KeyOf:()=>Hl,Literal:()=>P,Lowercase:()=>il,Mapped:()=>rd,Module:()=>Bd,Never:()=>D,NonNullable:()=>id,Null:()=>Jt,Number:()=>Se,Object:()=>$,Omit:()=>md,Optional:()=>Vi,Parameter:()=>Gt,Parameters:()=>cd,Partial:()=>dd,Pick:()=>bd,Readonly:()=>ss,ReadonlyObject:()=>Jo,ReadonlyType:()=>Td,Record:()=>Hn,RecordKey:()=>tr,RecordPattern:()=>Ne,RecordValue:()=>Te,Ref:()=>it,Refine:()=>ms,Required:()=>Dd,Rest:()=>Nt,ReturnType:()=>Nd,Script:()=>Wd,String:()=>De,Symbol:()=>Zt,TemplateLiteral:()=>Zu,This:()=>Jn,Tuple:()=>te,Uncapitalize:()=>sl,Undefined:()=>rr,Union:()=>E,Unknown:()=>ue,Unsafe:()=>Hi,Uppercase:()=>ml,Void:()=>Zn,With:()=>Kd});var gr="submit_review_report",hr="submit_test_gap_candidates",mn="submit_filtered_test_gaps",pn="submit_solver_gaps",lv=U.Object({verdict:U.Union([U.Literal("PASS"),U.Literal("FAIL")],{description:"FAIL only for a genuine blocking issue (clear rubric violation, agent-fault-worthy gap, unfair/undiscoverable test requirement, or a real determinism/regression risk). Optional, minor, or stylistic points are NOT grounds for FAIL \u2014 put those in `notes` instead and use PASS."}),summary:U.String({description:"One short sentence summarizing the verdict."}),reasons:U.Array(U.String(),{description:"Specific BLOCKING justifications only, citing rubric item IDs and concrete evidence from the files you read. Required (non-empty) when verdict is FAIL. Use an empty array when verdict is PASS."}),notes:U.Array(U.String(),{description:"Non-blocking, optional/minor observations or suggested improvements \u2014 the kind of feedback a real reviewer leaves as 'Minor/optional' without failing the task. Include these regardless of verdict; use an empty array if you truly have none."})});function Hd(e){return{name:gr,label:"Submit Review Report",description:"Submit your final verdict for this review. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have finished reading and analyzing the relevant files. Do not write a plain-text final answer instead of calling this tool.",parameters:lv,async execute(t,r){return e.report={verdict:r.verdict,summary:r.summary,reasons:r.reasons??[],notes:r.notes??[]},{content:[{type:"text",text:`Report recorded: ${r.verdict}`}],details:void 0}}}}var dv=U.Object({gaps:U.Array(U.Object({description:U.String({description:"The specific untested behavior or edge case, in plain terms. Prefix with POSITIVE: or NEGATIVE: to indicate whether this is a missing required-behavior test or a missing forbidden/wrong-behavior test."}),risk:U.String({description:"Concretely why a plausible-but-incorrect implementation could still pass every test in test.patch despite missing, misimplementing, or violating this behavior (including doing a forbidden thing because no test asserts it must not happen)."})}),{description:"Candidate behavioral test gaps (positive and negative) grounded in agent_prompt.md or clear existing repo behavior. Use an empty array if you found none \u2014 do not manufacture gaps just to report something."})});function Yd(e){return{name:hr,label:"Submit Candidate Test Gaps",description:"Submit your candidate list of behavioral test gaps. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have finished reading and analyzing the relevant files.",parameters:dv,async execute(t,r){let n=r.gaps??[];return e.gaps=n,{content:[{type:"text",text:`Recorded ${n.length} candidate gap(s)`}],details:void 0}}}}var fv=U.Object({gaps:U.Array(U.Object({description:U.String({description:"The confirmed, real, fair test gap (may be reworded for clarity). Keep POSITIVE:/NEGATIVE: prefix when applicable."}),justification:U.String({description:"Why this is genuinely grounded in agent_prompt.md or the repo, fair to test per the fairness methodology, and a real (non-duplicate) coverage hole in test.patch \u2014 for negative gaps, cite the prompt's prohibition/constraint and why no existing test catches the forbidden outcome."})}),{description:"The filtered, final list of confirmed test gaps. Use an empty array if none of the candidates survive strict scrutiny."})});function Jd(e){return{name:mn,label:"Submit Filtered Test Gaps",description:"Submit your final, strictly filtered list of confirmed test gaps. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have independently verified each candidate.",parameters:fv,async execute(t,r){let n=r.gaps??[];return e.gaps=n,{content:[{type:"text",text:`Confirmed ${n.length} gap(s) after filtering`}],details:void 0}}}}var gv=U.Object({gaps:U.Array(U.Object({description:U.String({description:"The specific behavioral gap: a way one or more solver's diff differs materially from what agent_prompt.md/solution.patch require, despite that solver passing `./test.sh new`."}),justification:U.String({description:"Why this is a genuine requirement from agent_prompt.md or solution.patch (cite the specific requirement/line) that the solver's diff misses, contradicts, or diverges from \u2014 and why the current tests fail to catch that divergence."}),evidence:U.String({description:"Which solver(s) (by index) exhibit this, and the specific part of their diff that grounds the gap."})}),{description:"Concrete, diff-grounded behavioral gaps \u2014 cases where a passing solver's materially different approach reveals that `test.sh new` under-specifies a real requirement. Use an empty array if the solvers converged on equivalent behavior; do not manufacture gaps just to report something."})});function Xd(e){return{name:pn,label:"Submit Solver Gaps",description:"Submit your final list of behavioral gaps found by comparing the solver diffs against the real solution.patch. This is the ONLY way to report your result \u2014 call it exactly once, as your last action, after you have finished comparing every solver.",parameters:gv,async execute(t,r){let n=r.gaps??[];return e.gaps=n,{content:[{type:"text",text:`Recorded ${n.length} solver gap(s)`}],details:void 0}}}}var hv={description:"Focus area: the task description in `agent_prompt.md`. Judge it strictly against rubric items P1-P5 below. You do not need to judge the tests or solution \u2014 other reviewers cover those.",tests:"Focus area: the tests added in `test.patch` (a unified diff). Judge them strictly against rubric items T1-T6 below. You cannot execute code or apply the patch, so read the diff carefully and reason about determinism, coverage, and strictness directly from the added code. Read `agent_prompt.md` for context on what behavior is in scope, and skim `solution.patch` only to understand what the tests are checking. Do not judge the description or the solution's code quality.\nMandatory symbol-fairness check: for every non-trivial method/function/property/export name that a test calls, mutates, mocks, or asserts on, use grep/read on the repository (the pre-existing code, not solution.patch) to confirm it actually exists there, OR confirm it is explicitly named in `agent_prompt.md`. Pay special attention to any such name that is new/invented and that duplicates, shadows, or conflicts with an existing, differently-named public API doing the same thing (e.g. a test calling `setFoo(...)` when the repo's real, visible API is `setBar(...)`) \u2014 that is a textbook unfair/undiscoverable test per the fairness methodology, and is blocking on its own even if every other test in the patch is fine.",solution:"Focus area: the golden solution in `solution.patch` (a unified diff). Judge it strictly against rubric items S1-S4 below. Read `agent_prompt.md` for the requirements and `test.patch` to see what must pass, and use read/grep/ls/find on the rest of the repository to check for regressions, inconsistent style, and irrelevant/unexplained changes. Do not judge the description's wording or the tests' coverage.\nMandatory repo-conventions check: for every file and area touched by `solution.patch`, read the corresponding pre-existing code in the repo \u2014 same directory, sibling modules, similar components/services/hooks, and any files the patch imports from or extends. Establish how this repo actually does things (error handling and logging, naming, exports, state management, async patterns, i18n, test helpers, DI/service boundaries, comment density, defensive checks) and judge whether the solution matches those conventions. Flag clear deviations as S2/S4 issues \u2014 e.g. inventing a new logger when the repo uses a shared one, raw `console.*` where the codebase uses a structured error reporter, a different hook/service pattern than neighboring features, or new abstractions where similar code inlines the same logic. Use grep/read to find 2\u20133 closest analogues before concluding a pattern is acceptable.\nMandatory dead-code check: scan every added/changed line in `solution.patch` for unused code \u2014 variables, parameters, imports, functions/methods, or fields that are declared/assigned but never read or called anywhere (including by `test.patch`) \u2014 and for dead/unreachable code (branches, conditions, or statements that can never execute, or code left behind after a return/throw/break that makes it unreachable). Use grep to confirm a symbol truly has no other usages in the repo before flagging it. This is a rubric S4 violation and is blocking on its own, even if the rest of the solution is otherwise excellent."};function Zd(e){return[e,"You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","The repo root contains `agent_prompt.md` (the task description given to a coding agent), `test.patch` (a unified diff adding the hidden tests that will grade that agent's solution), and `solution.patch` (a unified diff of one golden/reference solution).","Another specialized agent is searching the complementary direction in parallel \u2014 stay in your lane and do not duplicate its work."]}var Qd=["Thoroughness \u2014 your job is high recall on genuine gaps only:","- Find every gap you can justify with concrete evidence. Do not stop after the first obvious ones \u2014 keep reading until you have systematically covered the prompt, `solution.patch`, and relevant repo context.","- After your first pass, run at least one deliberate second sweep (re-read `agent_prompt.md`, re-scan `solution.patch`, grep the repo) before submitting \u2014 but if that sweep still finds nothing, submit an empty list.","- Do not self-censor or merge distinct genuine gaps into one \u2014 the validator will prune. Never invent or pad the list to seem thorough; an empty array is correct when exhaustive analysis truly finds none.","- Hunt subtle gaps too: partial coverage (asserted once but not under other valid inputs), behaviors implied by repo convention, interaction effects, ordering/timing, and branches visible in `solution.patch` that no test forces.","- Include a candidate only when you can cite specific grounding and a concrete false-pass risk \u2014 not to meet a quota."],ef=["Ground rules \u2014 do not overreach:","- Every gap must trace back to a specific requirement or sentence in `agent_prompt.md`, or to behavior that is unambiguous from the existing, visible repo. Do not invent requirements the prompt doesn't support.","- Do not propose gaps for things `agent_prompt.md` leaves intentionally open, or for implementation details/style the prompt doesn't mandate.","- Read `test.patch` carefully before deciding something is untested \u2014 do not propose a gap that an existing test already covers (even indirectly)."];function tf(e,t,r){let n=["You are a careful, calibrated reviewer for a coding-agent benchmark task.","You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","The repo root may contain: `agent_prompt.md` (the task description), `test.patch` (unified diff adding tests), and `solution.patch` (unified diff of the golden solution). Read whichever are relevant to your focus, and read the rest of the repository as needed via grep/read/ls/find to judge things against real repo context.","",hv[e.key],"","Checklist for your focus area:",t];return r&&n.push("","Fairness methodology (use this to judge whether an issue is actually blocking, and to distinguish agent-fault from prompt-ambiguity from test-flaw problems):",r),e.key==="solution"&&n.push("","Solution-specific calibration for repo standards (S2/S4):","Before returning PASS, you must have read real analogue files in the repo and compared patterns. A clear, documented mismatch with established repo conventions \u2014 wrong error/logging approach, inconsistent service or hook structure vs neighboring code, new patterns where the repo consistently uses existing ones \u2014 is blocking under S2/S4, not a minor note. Purely cosmetic nits (spacing, import order) with no pattern break belong in `notes`."),n.push("","How to set the verdict \u2014 calibrate, don't nitpick:","FAIL only for a genuine BLOCKING issue: a checklist item is clearly violated, a requirement stated in `agent_prompt.md` is untested or contradicted, a test asserts something unfair/undiscoverable per the fairness methodology above (private internals, exact class names not in the prompt, exact call order, reference-solution-only structure, etc.), a test is genuinely non-deterministic in a way that risks real CI flakiness (real network calls, unseeded randomness, race-prone ordering), or the solution has a real regression, missing requirement, or unrelated/unexplained change.","Do NOT fail for: optional coverage suggestions, 'would also be nice to test X', dead/unused code that doesn't affect correctness, minor style inconsistencies, or defensible implementation choices the prompt didn't forbid. These are exactly the kind of thing a real reviewer leaves as a 'Minor/optional' note without failing the task \u2014 put them in `notes` and still return PASS.","When genuinely torn between PASS and FAIL, default to PASS with the concern captured in `notes`, unless the issue would let a materially incorrect agent solution pass the hidden tests, or would unfairly fail a correct one \u2014 that is always blocking.","A single blocking issue is enough to FAIL, even if it affects only one test or one line out of many, and even if the rest of the suite is excellent. Do NOT average it away or let a large, otherwise-strong test suite talk you into a PASS \u2014 one unfair or undiscoverable test (e.g. requiring a private/invented API name that doesn't exist in the repo and isn't named in the prompt, especially one that conflicts with an existing, differently-named public API) is exactly as blocking as many.","",`When you are done analyzing, call the \`${gr}\` tool exactly once with your structured verdict. That tool call is your only way to report a result.`),n.join(`
12
+ `)}function rf(e,t){let r=[...Zd("You are an exhaustive, research-minded POSITIVE test-coverage analyst for a coding-agent benchmark task. Your sole mandate is to surface EVERY genuine POSITIVE behavioral test gap \u2014 required behavior that `test.patch` never asserts but `agent_prompt.md` requires. Do NOT search for forbidden/wrong-behavior gaps; a separate negative-case agent handles those in parallel. Stay in your lane and search exhaustively before concluding there are none."),"","Your job: find real POSITIVE TEST GAPS. A positive gap is required or clearly-implied behavior from `agent_prompt.md` (and, where relevant, obvious existing repo conventions) that `test.patch` does NOT actually verify \u2014 such that a plausible implementation could skip or misimplement that required behavior and STILL pass every test in `test.patch` as written.","","Focus on required outcomes: happy paths, side effects, state changes, outputs, transitions, edge inputs where the prompt still expects correct handling, combined/interacting behaviors, and branches in `solution.patch` whose correct outcome is never forced by a test.","","Be systematic and exhaustive \u2014 work through ALL of the following passes:","1. Go through `agent_prompt.md` sentence by sentence. For every distinct required behavior, constraint, or implied rule, check which test(s) in `test.patch` exercise it and how thoroughly.","2. Go through `solution.patch` branch by branch \u2014 every conditional, loop, early return, error path, and state transition. For each one, ask whether `test.patch` forces the correct outcome to be checked.","3. Consider standard positive edge-case categories: boundary/limit values, empty/missing/null/zero inputs that should still produce the required correct behavior, duplicate or repeated inputs handled correctly, ordering and interleaving, concurrent or repeated invocations, error/failure/rollback paths that should recover correctly, interaction between two or more required behaviors at once, and state left behind after an operation.","4. Cross-check overlapping/interacting requirements \u2014 behaviors each tested alone but never tested together.","5. Second-pass sweep: return to any requirement you marked 'covered' and ask whether coverage is shallow \u2014 one happy-path assertion is not enough if other valid inputs, sequences, or combinations could still slip through.",...Qd,"Do not filter yourself or self-censor for volume. A separate validator will strictly filter afterward \u2014 your job is recall on POSITIVE gaps only.","",...ef,"","For reference, here is the checklist for the tests focus area (use it to calibrate what good coverage looks like, not as a list of gaps to report verbatim):",e];return t&&r.push("","Fairness methodology (context on what a fair, in-scope requirement looks like):",t),r.push("","For each gap, prefix the description with `POSITIVE:` and explain: (1) the specific untested required behavior/edge case, and (2) concretely why a plausible-but-incomplete implementation would still pass every given test despite missing or misimplementing it.",`When you are done \u2014 after completing ALL the passes above and a deliberate second sweep \u2014 call the \`${hr}\` tool exactly once with your full candidate list (empty only if, after genuinely exhaustive analysis, none exist). That tool call is your only way to report a result.`),r.join(`
13
+ `)}function nf(e,t){let r=[...Zd("You are an exhaustive, research-minded NEGATIVE test-coverage analyst for a coding-agent benchmark task. Your sole mandate is to surface EVERY genuine NEGATIVE behavioral test gap \u2014 forbidden behavior, invalid states, or wrong outcomes that `test.patch` never asserts against but `agent_prompt.md` prohibits or implies must not happen. Do NOT search for missing required-behavior gaps; a separate positive-case agent handles those in parallel. Stay in your lane and search exhaustively before concluding there are none."),"","Your job: find real NEGATIVE TEST GAPS. A negative gap is a prohibition, guard, or 'must not' constraint from `agent_prompt.md` (or unambiguous repo convention) that `test.patch` does NOT verify \u2014 such that an agent could violate `agent_prompt.md` by doing the forbidden thing, leaving the wrong state enabled, applying an effect to the wrong target, skipping a guard, or accepting invalid input, and STILL pass every test because the suite only checks that correct actions work, not that incorrect ones are rejected.","","Be systematic and exhaustive \u2014 work through ALL of the following passes:","1. Re-read `agent_prompt.md` specifically for prohibitions, conditions, guards, and 'only when' / 'must not' / 'never' / 'disabled when' / 'should not' language. For each, ask: does `test.patch` assert the WRONG thing does NOT happen?","2. Go through `solution.patch` for every guard, early return, disabled branch, isolation check, and rejection path. Ask whether a sloppy implementation that bypassed that guard would still pass.","3. Hunt these negative patterns explicitly:"," - Controls that must be disabled/unavailable in a given state, but no test drives that state and asserts disabled."," - Operations that must NOT affect a separate scope/target (isolation), but tests never prove the wrong scope is untouched."," - Side effects that must NOT occur (duplicate entries, spurious history steps, refresh on no-op)."," - Invalid, out-of-order, or repeated input that should be ignored/rejected/coalesced differently."," - Undo/redo or rollback boundaries where the first action must NOT be undoable, or redo must NOT be available."," - Mutual exclusion: doing A must NOT silently change B, but no test proves independence.","4. For every prompt prohibition, ask: 'Is there a test that would catch an agent doing the forbidden thing or applying the requirement in the wrong context?' If not, it is a gap.","5. Adversarial pass: imagine a lazy or slightly-wrong implementation that satisfies the obvious tests \u2014 list every way it could still violate the prompt (wrong scope, wrong timing, wrong guard, spurious side effect, missing rejection) and check whether `test.patch` would catch each one.",...Qd,"Do not filter yourself or self-censor for volume. A separate validator will strictly filter afterward \u2014 your job is recall on NEGATIVE gaps only.","",...ef,"- Negative gaps must be grounded in an explicit or clearly implied prohibition/constraint in `agent_prompt.md` \u2014 not generic 'more negative tests would be nice'.","- A single test that asserts both the positive outcome AND that the forbidden/wrong outcome did not occur counts as covered.","","For reference, here is the checklist for the tests focus area (use it to calibrate what good coverage looks like, not as a list of gaps to report verbatim):",e];return t&&r.push("","Fairness methodology (context on what a fair, in-scope requirement looks like):",t),r.push("","For each gap, prefix the description with `NEGATIVE:` and explain: (1) the specific untested forbidden/wrong behavior or invalid state, and (2) concretely why a plausible-but-wrong implementation would still pass every given test despite violating this constraint.",`When you are done \u2014 after completing ALL the passes above and a deliberate second sweep \u2014 call the \`${hr}\` tool exactly once with your full candidate list (empty only if, after genuinely exhaustive analysis, none exist). That tool call is your only way to report a result.`),r.join(`
14
+ `)}function af(e,t,r){let n=["You are a strict, skeptical fairness auditor for a coding-agent benchmark task.","You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","Two specialized research agents reviewed this same task (`agent_prompt.md`, `test.patch`, `solution.patch`, and the repo) in parallel \u2014 one hunting POSITIVE gaps (missing required-behavior tests), one hunting NEGATIVE gaps (missing forbidden/wrong-behavior tests). They proposed the following combined CANDIDATE list:","",JSON.stringify(e,null,2),"","Your job is to independently re-verify the files yourself and FILTER this list down to only candidates that are ALL of the following:","1. Genuinely grounded \u2014 actually required by a specific statement in `agent_prompt.md`, or unambiguous from clearly visible, existing repo behavior. Drop anything speculative, nice-to-have, or invented beyond what the prompt actually asks for.","2. Fair to test \u2014 verifying it would not require undiscoverable private internals, an invented/unnamed API, or exact incidental structure that only `solution.patch` happens to use. Judge this precisely against the fairness methodology below.","3. A real, distinct coverage hole \u2014 re-check `test.patch` yourself; drop any candidate an existing test already covers, and drop near-duplicate candidates (keep only the clearest phrasing of each distinct gap). For negative-case candidates, keep them only if `test.patch` does not already assert that the forbidden/wrong outcome does not occur.","","Be strict: when genuinely unsure whether a candidate holds up, drop it rather than keep it. It is fine \u2014 expected, even \u2014 to return an empty list if none of the candidates survive scrutiny.","","Checklist for the tests focus area, for calibration:",t];return r&&n.push("","Fairness methodology:",r),n.push("","For every gap you keep, give a short justification citing where in `agent_prompt.md` or the repo it is grounded. Preserve POSITIVE:/NEGATIVE: prefix when applicable.",`When you are done, call the \`${mn}\` tool exactly once with your final filtered list (which may be empty). That tool call is your only way to report a result.`),n.join(`
15
+ `)}function of(){return["You are a software engineer practicing test-driven development in a real git repository (this is your current directory).","`agent_prompt.md` in the repo root describes your task. Tests for it already exist and are currently failing \u2014 that's normal in TDD, the tests come first.","","Goal: make all of the new tests pass.","1. Read `agent_prompt.md`.","2. Run `bash test.sh new` to see the failures and what the tests expect.","3. Read the failing tests \u2014 they are the precise spec \u2014 and the surrounding repo code for conventions and utilities to reuse.","4. Implement the code needed to satisfy both `agent_prompt.md` and the tests, matching repo style.","5. Re-run `bash test.sh new` and iterate until everything passes, or you're confident you can't progress further.","","Rules:","- Do NOT modify the test files or `test.sh`. Only change application/library code.","- You have shell access \u2014 install any dependencies you need.","- Prefer the smallest, most direct change that satisfies the tests and `agent_prompt.md` using existing repo patterns."].join(`
16
+ `)}function yv(e){let t=e.status==="ok"?e.passed?"PASSED all new tests":"did NOT pass all new tests":`did not complete normally (status: ${e.status})`;return`- Solver ${e.index} \u2014 ${t} \u2014 solution.diff / test_output.txt in \`${kr}/solver_${e.index}/\``}function sf(e){return["You are a strict, skeptical behavioral-gap auditor for a coding-agent benchmark task.","You are working inside a throwaway, read-only copy of a git repository (this is your current directory). You have access to read/grep/find/ls tools only \u2014 you cannot execute code, apply patches, or edit files.","The repo root contains `agent_prompt.md` (the real task description), `solution.patch` (a unified diff of the real golden/reference solution), and `test.patch` (a unified diff adding the hidden tests).","",`Separately, several coding agents ('solvers') were each given the same \`agent_prompt.md\` plus the failing tests from \`test.patch\` \u2014 but never \`solution.patch\` \u2014 and asked to implement the task TDD-style, iterating with real shell access until the tests passed or they gave up. Each solver's diff and full \`test.sh new\` output \u2014 captured and verified independently by the harness, not self-reported \u2014 is saved under \`${kr}/solver_<index>/\` (\`solution.diff\`, \`test_output.txt\`), with a \`${kr}/manifest.json\` summary. Use read/grep/find/ls to open exactly what you need. Status summary:`,"",...e.map(yv),"","Your job: read `agent_prompt.md` and `solution.patch` carefully, then read each PASSED solver's `solution.diff` to find concrete BEHAVIORAL GAPS \u2014 cases where a solver took a materially different approach from what `agent_prompt.md` requires or `solution.patch` implements, that solver's tests still PASSED, and the difference reveals a real requirement that `test.patch` fails to actually enforce.","","How to work:","1. Read `agent_prompt.md` sentence by sentence and note every distinct requirement, constraint, and prohibition.","2. Read `solution.patch` to see how the reference solution satisfies those requirements.","3. For each solver that PASSED, read its `solution.diff` and compare it against the reference approach. Look specifically for places where the solver's code takes a shortcut, ignores a constraint, mishandles an edge case, or omits a side effect that `agent_prompt.md` calls for or `solution.patch` implements \u2014 yet the tests didn't catch it.","4. A solver that FAILED is not itself a gap \u2014 but if you can see from its `solution.diff` that it was heading toward a plausible-but-wrong implementation of some requirement, and nothing in `test.patch` would have caught that wrong implementation even if it had otherwise passed, that is still worth surfacing; use its `test_output.txt` for extra context if useful.","5. Treat multiple solvers converging on the same divergent-but-passing shortcut as stronger evidence of a real gap, not proof it's acceptable \u2014 the tests are what's under scrutiny, not majority solver behavior.","","Ground rules \u2014 do not overreach:","- Every gap must be grounded in a specific requirement/sentence in `agent_prompt.md` (or an unambiguous behavior in `solution.patch` that directly implements a prompt requirement) \u2014 do not invent requirements the prompt doesn't support.","- Every gap must be evidenced by an actual, cited part of a specific solver's diff \u2014 do not report a gap that is purely theoretical with no solver diff demonstrating it.","- Do not flag a solver difference if `test.patch` already exercises and would catch the wrong behavior, or if the difference is a defensible implementation detail the prompt doesn't mandate (naming, file layout, helper structure, etc. \u2014 unless the prompt or repo conventions specifically call for it).","- It is fine, and expected, to submit an empty list if the solvers that passed all converged on behavior equivalent to the reference solution with no material gaps.","- Do not self-censor for volume, but do not pad the list either \u2014 only include what you can concretely justify with cited evidence.","",`When you are done, call the \`${pn}\` tool exactly once with your final list (which may be empty). That tool call is your only way to report a result.`].join(`
17
+ `)}var mf=900*1e3,La=["read","grep","find","ls"];function ln(e){return e==="off"?void 0:e}async function dn(e,t,r=mf){let n=t.aborted?"cancelled":"done";return await Promise.race([e().then(()=>{t.aborted||(n="done")}),new Promise(a=>{setTimeout(()=>{n="timedOut",a()},r)}),new Promise(a=>{if(t.aborted)return a();t.addEventListener("abort",()=>{n="cancelled",a()},{once:!0})})]),n}async function pf(e){let t={},r=e.model,{session:n}=await un({cwd:e.tempDir,model:r,thinkingLevel:ln(e.thinkingLevel),tools:[...La,gr],customTools:[Hd(t)],sessionManager:cn.inMemory()});try{let a=await dn(async()=>{await n.prompt(tf(e.role,e.rubric,e.fairnessRules))},e.cancelSignal);if(a==="cancelled")return await n.abort(),{verdict:"FAIL",summary:`${e.role.label} reviewer cancelled`,reasons:["Cancelled by user."],notes:[]};if(a==="timedOut")return await n.abort(),{verdict:"FAIL",summary:`${e.role.label} reviewer timed out`,reasons:[`Reviewer did not finish within ${mf/1e3}s.`],notes:[]}}catch(a){return{verdict:"FAIL",summary:`${e.role.label} reviewer errored`,reasons:[`Reviewer agent failed: ${a instanceof Error?a.message:String(a)}`],notes:[]}}return t.report?t.report:{verdict:"FAIL",summary:`${e.role.label} reviewer did not submit a report`,reasons:[`The reviewer agent finished without calling ${gr}.`],notes:[]}}async function ni(e){let t={},r=e.kind==="positive"?rf:nf,n=e.model,{session:a}=await un({cwd:e.tempDir,model:n,thinkingLevel:ln(e.thinkingLevel),tools:[...La,hr],customTools:[Yd(t)],sessionManager:cn.inMemory()});try{let s=await dn(async()=>{await a.prompt(r(e.testRubric,e.fairnessRules))},e.cancelSignal);if(s!=="done")return await a.abort(),{status:s,gaps:[]}}catch{return{status:"error",gaps:[]}}return t.gaps?{status:"ok",gaps:t.gaps}:{status:"noSubmission",gaps:[]}}var xv=["read","grep","find","ls","write","edit","bash"];async function uf(e){let t=e.model;try{let r=cn.inMemory(),{session:n}=await un({cwd:e.solverDir,model:t,thinkingLevel:ln(e.thinkingLevel),tools:[...xv],sessionManager:r}),a=await dn(async()=>{await n.prompt(of())},e.cancelSignal,e.timeoutMinutes*60*1e3);return a!=="done"&&await n.abort(),{outcome:a,trajectory:r.getEntries()}}catch{return{outcome:"error",trajectory:[]}}}async function cf(e){let t={},r=e.model,{session:n}=await un({cwd:e.tempDir,model:r,thinkingLevel:ln(e.thinkingLevel),tools:[...La,pn],customTools:[Xd(t)],sessionManager:cn.inMemory()});try{let a=await dn(async()=>{await n.prompt(sf(e.solverResults))},e.cancelSignal);if(a!=="done")return await n.abort(),{status:a,gaps:[]}}catch{return{status:"error",gaps:[]}}return t.gaps?{status:"ok",gaps:t.gaps}:{status:"noSubmission",gaps:[]}}async function lf(e){let t={},r=e.model,{session:n}=await un({cwd:e.tempDir,model:r,thinkingLevel:ln(e.thinkingLevel),tools:[...La,mn],customTools:[Jd(t)],sessionManager:cn.inMemory()});try{let a=await dn(async()=>{await n.prompt(af(e.candidates,e.testRubric,e.fairnessRules))},e.cancelSignal);if(a!=="done")return await n.abort(),{status:a,gaps:[]}}catch{return{status:"error",gaps:[]}}return t.gaps?{status:"ok",gaps:t.gaps}:{status:"noSubmission",gaps:[]}}var he="checks_progress";function Ee(e,t,r){let n=r>0?Math.min(1,t/r):0,a=Math.round(24*n),s="\u2588".repeat(a)+"\u2591".repeat(Math.max(0,24-a));return[`checks: ${e} [${s}] ${t}/${r}`]}import{existsSync as Iv,readFileSync as bv}from"node:fs";var ut=[{key:"description",label:"Description",rubricHeading:/^## The problem description/i},{key:"tests",label:"Tests",rubricHeading:/^## The tests/i},{key:"solution",label:"Solution",rubricHeading:/^## The solution/i}];var ai=["agent_prompt.md","solution.patch","test.patch"];function oi(e=new Date){let t=(s,m=2)=>String(s).padStart(m,"0"),r=-e.getTimezoneOffset(),n=r>=0?"+":"-",a=Math.abs(r);return`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}:${t(e.getSeconds())}.${t(e.getMilliseconds(),3)}${n}${t(Math.floor(a/60))}:${t(a%60)}`}function df(e){try{if(!Iv(e))return{};let t=JSON.parse(bv(e,"utf-8"));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function ff(e){let{existingReport:t,config:r,runReviewers:n,byRole:a,runGapStages:s,testGaps:m,gapAnalysisIncomplete:c,positiveGapFinderStatus:l,negativeGapFinderStatus:d,gapFilterStatus:g,runSolverGapFinder:b,solverResults:V,solverGaps:G,solverGapAnalysisIncomplete:w,solverComparisonStatus:Ce}=e,L={...t,timestamp:oi(),model:`${r.provider}/${r.modelId}`,thinkingLevel:r.thinkingLevel};if(n){let re={...t.reports&&typeof t.reports=="object"?t.reports:{},...a};L.reports=re,ut.every(Me=>re[Me.key])?L.overall=ut.every(Me=>re[Me.key].verdict==="PASS")?"PASS":"FAIL":delete L.overall}return s&&(L.testGaps=m,c?L.testGapAnalysisNote=`Gap analysis did not fully complete (positive finder: ${l}, negative finder: ${d}, filter: ${g}); testGaps may be incomplete.`:delete L.testGapAnalysisNote),b&&(L.solverRunSummary=V.map(le=>({index:le.index,status:le.status,passed:le.passed,durationMs:le.durationMs,artifactsDir:le.artifactsDir})),L.solverGaps=G,w?L.solverGapAnalysisNote=`Solver-gap analysis did not fully complete (comparison reviewer: ${Ce}); solverGaps may be incomplete.`:delete L.solverGapAnalysisNote),L}function gf(e){let t=Math.round(e/1e3),r=Math.floor(t/60),n=t%60;return r>0?`${r}m ${n}s`:`${n}s`}function hf(e){let{merged:t,runReviewers:r,activeRoles:n,byRole:a,runGapStages:s,runSolverGapFinder:m}=e,c=Array.isArray(t.testGaps)?t.testGaps.length:0,l=r?Object.fromEntries(n.filter(w=>a[w.key]).map(w=>[w.key,a[w.key].verdict])):void 0,d=r&&typeof t.overall=="string"?t.overall:void 0,g=[];if(l&&g.push(n.map(w=>`${w.label}: ${l[w.key]??"?"}`).join(", ")),d){let w=d==="PASS"&&c>0?" (with test gaps)":"";g.push(`Overall: ${d}${w}`)}s&&g.push(c>0?`${c} test gap(s) found`:"no test gaps found");let b=m?(Array.isArray(t.solverRunSummary)?t.solverRunSummary:[]).map(w=>({index:w.index,status:w.status,passed:w.passed,durationMs:w.durationMs??0})):[],V=b.filter(w=>w.passed).length,G=Array.isArray(t.solverGaps)?t.solverGaps.length:0;return m&&g.push(`${V}/${b.length} solvers passed, ${G} gap(s) found`),{content:`Checks: ${g.join(" | ")}`,details:{overall:d,hasTestGaps:c>0,gapsCount:c,roleVerdicts:l,showGaps:s,showSolverGaps:m,solverDetails:b,solverGapsCount:G}}}var yf=`## The problem description (aka the task)\r
12
18
  P1: Aligns with the repo's philosophy\r
13
19
  P2: Self-contained \u2014 solvable from the repo and description alone\r
14
20
  P3: Clear, concise, and unambiguous \u2014 describes what to build or fix and don't leave points for guessing\r
@@ -35,7 +41,7 @@ That's the golden solution \u2014 the proof that your task is solvable and that
35
41
  S1: The solution should meet all the requirements. (If it's missing a requirement and it manages to pass your tests, you're in a bad position \u{1F620}.)\r
36
42
  S2: No regressions and follow existing code patterns. Don't break existing working code by mistake (we'll still run the repo's existing tests).\r
37
43
  S3: No irrelevant changes to the code \u2014 if something is unrelated to your task, keep it as it is.\r
38
- S4: No AI slop (weird comments, unexplained defensive code, new coding patterns, etc).`,ib=`# Agent Evaluation Guidelines\r
44
+ S4: No AI slop (weird comments, unexplained defensive code, new coding patterns, etc).`,vv=`# Agent Evaluation Guidelines\r
39
45
  \r
40
46
  This file describes how to align a task prompt, reference solution, and tests for fair coding-agent evaluation. It is generic and can be reused across repositories and tasks.\r
41
47
  \r
@@ -315,5 +321,5 @@ Keep changes separated when possible:\r
315
321
  - Avoid unrelated dependency or lockfile changes.\r
316
322
  - Regenerate patches after every prompt/test/solution change.\r
317
323
  \r
318
- ---`;function vd(){let e=$d.split(/\r?\n(?=## )/g),t={};for(let n of nt){let r=e.find(a=>n.rubricHeading.test(a.trim()));t[n.key]=(r??$d).trim()}return t}function Td(){return ib.trim()}var ia=!1,an;function sa(){return ia}function kd(){return ia=!0,an=new AbortController,an}function Ed(){ia=!1,an=void 0}function wd(){return!ia||!an||an.signal.aborted?!1:(an.abort(),!0)}var fb="Ctrl+Shift+X",wo=[{value:"--all",label:"--all",description:"Run everything: 3 focus reviewers + test-gap finder/filter"},{value:"--review",label:"--review",description:"Run only the 3 focus reviewer agents (description/tests/solution)"},{value:"--description",label:"--description",description:"Run only the problem-description (prompt) focus reviewer"},{value:"--tests",label:"--tests",description:"Run only the tests focus reviewer"},{value:"--solution",label:"--solution",description:"Run only the solution focus reviewer"},{value:"--gap-finder",label:"--gap-finder",description:"Run only the 3-agent test-gap flow: positive finder + negative finder (parallel), then validator"},{value:"--config",label:"--config",description:"Set the reviewer model and thinking level"}];function gb(e){let t=e.trimStart(),n=/\s$/.test(t),r=t.trimEnd().split(/\s+/).filter(Boolean),a=n?"":r.at(-1)??"",s=new Set(n?r:r.slice(0,-1)),m=n?t:t.slice(0,t.length-a.length),c=s.has("--config"),l=[...s].some(f=>f!=="--config"),I=wo.filter(f=>s.has(f.value)||c||l&&f.value==="--config"?!1:f.value.startsWith(a));return I.length>0?I.map(f=>({...f,value:`${m}${f.value}`})):null}async function hb(e){if(e.mode!=="tui"){e.ui.notify("/checks --config requires interactive mode","error");return}let t=fd();if(t.length===0){e.ui.notify("No enabledModels configured in settings.json.","error");return}let n=ko(),r=e.modelRegistry.getAll(),a=t.map(f=>{let P=gd(f);if(!P)return null;let N=r.find(ve=>ve.provider===P.provider&&ve.id===P.modelId),se=n?.provider===P.provider&&n?.modelId===P.modelId,te=N?`${N.name} (${f})`:f;return{ref:f,parsed:P,display:se?`${te} [current]`:te,found:N,isCurrent:se}}).filter(f=>f!==null);if(a.length===0){e.ui.notify("Could not resolve any enabledModels entries.","error");return}let s=[...a].sort((f,P)=>f.isCurrent===P.isCurrent?0:f.isCurrent?-1:1),m=await e.ui.select("Select model for checks reviewer agents",s.map(f=>f.display));if(!m)return;let c=a.find(f=>f.display===m);if(!c)return;let l="off",I=ld(c.found);if(I.length>1){let f=c.isCurrent?n?.thinkingLevel:void 0,P=[...I].sort((te,ve)=>te===f==(ve===f)?0:te===f?-1:1),N=te=>te===f?`${te} [current]`:te,se=await e.ui.select("Select thinking level for reviewer agents",P.map(N));if(!se)return;l=P.find(te=>N(te)===se)??se}dd({provider:c.parsed.provider,modelId:c.parsed.modelId,thinkingLevel:l}),e.ui.notify(`checks config saved: ${c.parsed.provider}/${c.parsed.modelId} (thinking: ${l})`,"info")}function Rd(e){e.registerCommand("checks",{description:"Strict review of agent_prompt.md/test.patch/solution.patch. Requires an option \u2014 see /checks.",getArgumentCompletions:gb,handler:async(t,n)=>{let r=t.trim();if(r===""){n.ui.notify(wo.map(F=>`${F.value} \u2014 ${F.description}`).join(`
319
- `),"info");return}let a=[...new Set(r.split(/\s+/).filter(Boolean))],s=new Set(wo.map(F=>F.value)),m=a.filter(F=>!s.has(F));if(m.length>0){n.ui.notify(`Unknown option(s): ${m.join(", ")}. Run /checks with no arguments to see the available options.`,"warning");return}if(a.includes("--config")){if(a.length>1){n.ui.notify("--config cannot be combined with other options.","warning");return}await hb(n);return}let c=new Set;if(a.includes("--all")||a.includes("--review"))for(let F of nt)c.add(F.key);for(let F of nt)a.includes(`--${F.key}`)&&c.add(F.key);let l=a.includes("--all")||a.includes("--gap-finder"),I=nt.filter(F=>c.has(F.key)),f=I.length>0;if(!f&&!l){n.ui.notify(`Nothing to run for: ${a.join(" ")}. Run /checks with no arguments to see the available options.`,"warning");return}let P=a.join(" ");if(sa()){n.ui.notify("A checks run is already in progress.","warning");return}let N=ko();if(!N){n.ui.notify("No reviewer model configured. Run /checks --config first.","error");return}let se=n.modelRegistry.find(N.provider,N.modelId);if(!se){n.ui.notify(`Configured model ${N.provider}/${N.modelId} not found. Run /checks --config again.`,"error");return}if(!n.modelRegistry.hasConfiguredAuth(se)){n.ui.notify(`No auth configured for ${N.provider}/${N.modelId}.`,"error");return}let te=Eo.filter(F=>!pb(Wn(n.cwd,F)));if(te.length>0){n.ui.notify(`Missing required file(s) in project root: ${te.join(", ")}`,"error");return}let ve=kd(),Pe=(f?I.length:0)+(l?3:0);n.ui.setWidget(Oe,Je("preparing clean snapshot",0,Pe)),n.ui.notify(`checks (${P}) started. Press ${fb} to cancel.`,"info");let on;try{let F=Wn(db(),`checks-${sb()}`);ub(F,{recursive:!0}),on=F;let Hn=await xd(e,n.cwd,F);if(Hn.status==="error"){n.ui.notify(`checks: ${Hn.error}`,"error");return}for(let Fe of Eo)mb(Wn(n.cwd,Fe),Wn(F,Fe));let sn=vd(),mn=Td(),Te=0,pn=[];if(f&&(n.ui.setWidget(Oe,Je("reviewing",Te,Pe)),pn=await Promise.all(I.map(Fe=>md({pi:e,role:Fe,tempDir:F,model:se,thinkingLevel:N.thinkingLevel,rubric:sn[Fe.key],fairnessRules:mn,cancelSignal:ve.signal}).then(xt=>(Te+=1,n.ui.setWidget(Oe,Je("reviewing",Te,Pe)),xt)))),ve.signal.aborted)){n.ui.notify("checks: cancelled.","warning");return}let gt={status:"ok",gaps:[]},ht={status:"ok",gaps:[]},At={status:"ok",gaps:[]};if(l){let Fe={tempDir:F,model:se,thinkingLevel:N.thinkingLevel,testRubric:sn.tests,fairnessRules:mn,cancelSignal:ve.signal};if(n.ui.setWidget(Oe,Je("finding test gaps",Te,Pe)),[gt,ht]=await Promise.all([vo({...Fe,kind:"positive"}).then(ua=>(Te+=1,n.ui.setWidget(Oe,Je("finding test gaps",Te,Pe)),ua)),vo({...Fe,kind:"negative"}).then(ua=>(Te+=1,n.ui.setWidget(Oe,Je("finding test gaps",Te,Pe)),ua))]),ve.signal.aborted){n.ui.notify("checks: cancelled.","warning");return}let xt=[...gt.gaps,...ht.gaps];if(xt.length>0&&(n.ui.setWidget(Oe,Je("validating test gaps",Te,Pe)),At=await pd({tempDir:F,model:se,thinkingLevel:N.thinkingLevel,testRubric:sn.tests,fairnessRules:mn,candidates:xt,cancelSignal:ve.signal})),Te+=1,n.ui.setWidget(Oe,Je("validating test gaps",Te,Pe)),ve.signal.aborted){n.ui.notify("checks: cancelled.","warning");return}}n.ui.setWidget(Oe,Je("finalizing report",Pe,Pe));let ma={};I.forEach((Fe,xt)=>{pn[xt]&&(ma[Fe.key]=pn[xt])});let Pd=At.gaps,Sd=gt.gaps.length>0||ht.gaps.length>0,Md=l&&(gt.status!=="ok"||ht.status!=="ok"||Sd&&At.status!=="ok"),pa=Wn(n.cwd,"shipd_report.json"),Cd=yd(pa),Ro=Id({existingReport:Cd,config:N,runReviewers:f,byRole:ma,runGapStages:l,testGaps:Pd,gapAnalysisIncomplete:Md,positiveGapFinderStatus:gt.status,negativeGapFinderStatus:ht.status,gapFilterStatus:At.status}),Oo=bd({merged:Ro,runReviewers:f,activeRoles:I,byRole:ma,runGapStages:l});e.sendMessage({customType:"shipd_checks_report",content:Oo.content,display:!0,details:Oo.details}),lb(pa,JSON.stringify(Ro,null,2),"utf-8"),n.ui.notify(`checks: wrote details to ${pa}`,"info")}catch(F){n.ui.notify(`checks failed: ${F instanceof Error?F.message:String(F)}`,"error")}finally{if(n.ui.setWidget(Oe,void 0),on)try{cb(on,{recursive:!0,force:!0})}catch{}Ed()}}})}var Od=xb.ctrlShift("x");function Ib(e){e.registerMessageRenderer("shipd_checks_report",(t,n,r)=>{let a=t.details??{},s=l=>l==="PASS"?r.fg("success",l):r.fg("error",l),m=[];if(a.roleVerdicts)for(let[l,I]of Object.entries(a.roleVerdicts))m.push(`${l}: ${s(I)}`);if(a.overall){let l=a.overall==="PASS"&&a.hasTestGaps?" (with test gaps)":"";m.push(`Overall: ${s(a.overall)}${l}`)}if(a.showGaps){let l=a.gapsCount??0;m.push(l>0?r.fg("warning",`${l} test gap(s) found`):r.fg("success","no test gaps found"))}let c=m.length>0?m.join(" "):r.fg("dim","nothing to report");return new yb(`${r.bold("Checks: ")}${c}`,0,0)}),e.registerShortcut(Od,{description:"Cancel an in-progress /checks run",handler:t=>{sa()&&wd()&&(t.ui.setWidget(Oe,[`checks: cancelling (${Od})...`]),t.ui.notify("checks: cancelling...","warning"))}}),Rd(e)}export{Ib as default};
324
+ ---`;function xf(){let e=yf.split(/\r?\n(?=## )/g),t={};for(let r of ut){let n=e.find(a=>r.rubricHeading.test(a.trim()));t[r.key]=(n??yf).trim()}return t}function If(){return vv.trim()}var qa=!1,yr;function ja(){return qa}function bf(){return qa=!0,yr=new AbortController,yr}function vf(){qa=!1,yr=void 0}function $f(){return!qa||!yr||yr.signal.aborted?!1:(yr.abort(),!0)}var Sv="Ctrl+Shift+X",ii=[{value:"--all",label:"--all",description:"Run everything: 3 focus reviewers + test-gap finder/filter"},{value:"--review",label:"--review",description:"Run only the 3 focus reviewer agents (description/tests/solution)"},{value:"--description",label:"--description",description:"Run only the problem-description (prompt) focus reviewer"},{value:"--tests",label:"--tests",description:"Run only the tests focus reviewer"},{value:"--solution",label:"--solution",description:"Run only the solution focus reviewer"},{value:"--gap-finder",label:"--gap-finder",description:"Run only the 3-agent test-gap flow: positive finder + negative finder (parallel), then validator"},{value:"--solver-gap-finder",label:"--solver-gap-finder",description:"Run several solver agents TDD-style against agent_prompt.md + test.patch (no solution.patch), then compare their solutions to find gaps"},{value:"--config",label:"--config",description:"Open the settings menu: reviewer model/thinking level + solver-gap-finder settings"}];function Ov(e){let t=e.trimStart(),r=/\s$/.test(t),n=t.trimEnd().split(/\s+/).filter(Boolean),a=r?"":n.at(-1)??"",s=new Set(r?n:n.slice(0,-1)),m=r?t:t.slice(0,t.length-a.length),c=s.has("--config"),l=[...s].some(g=>g!=="--config"),d=ii.filter(g=>s.has(g.value)||c||l&&g.value==="--config"?!1:g.value.startsWith(a));return d.length>0?d.map(g=>({...g,value:`${m}${g.value}`})):null}async function Sf(e,t,r){let n=xi();if(n.length===0)return e.ui.notify("No enabledModels configured in settings.json.","error"),null;let a=e.modelRegistry.getAll(),s=n.map(d=>{let g=Ii(d);if(!g)return null;let b=a.find(w=>w.provider===g.provider&&w.id===g.modelId),V=t?.provider===g.provider&&t?.modelId===g.modelId,G=b?`${b.name} (${d})`:d;return{ref:d,parsed:g,display:V?`${G} [current]`:G,isCurrent:V}}).filter(d=>d!==null);if(s.length===0)return e.ui.notify("Could not resolve any enabledModels entries.","error"),null;let m=[...s].sort((d,g)=>d.isCurrent===g.isCurrent?0:d.isCurrent?-1:1),c=await e.ui.select(r,m.map(d=>d.display));if(!c)return null;let l=s.find(d=>d.display===c);return l?{provider:l.parsed.provider,modelId:l.parsed.modelId}:null}function Da(e,t,r){let n=e.modelRegistry.getAll().find(a=>a.provider===t&&a.id===r);return hi(n)}var Fa={provider:"",modelId:"",thinkingLevel:"off",timeoutMinutes:za,solverCount:vn,saveArtifacts:Ba};function Of(e,t,r){let n=t?Da(e,t.provider,t.modelId):["off"],a=r.provider?Da(e,r.provider,r.modelId):["off"];return[{id:"reviewer-model",section:"Reviewer",label:"Model",value:t?`${t.provider}/${t.modelId}`:"not set",kind:"model"},{id:"reviewer-thinking",section:"Reviewer",label:"Thinking level",value:t?.thinkingLevel??"off",kind:"cycle",values:n},{id:"solvergap-model",section:"Solver Gap Finder",label:"Model",value:r.provider?`${r.provider}/${r.modelId}`:"not set",kind:"model"},{id:"solvergap-thinking",section:"Solver Gap Finder",label:"Thinking level",value:r.thinkingLevel,kind:"cycle",values:a},{id:"solvergap-timeout",section:"Solver Gap Finder",label:"Timeout",value:`${r.timeoutMinutes} min`,kind:"cycle",values:[10,20,30,40,50,fi].filter((s,m,c)=>s>=di&&c.indexOf(s)===m).map(s=>`${s} min`)},{id:"solvergap-solver-count",section:"Solver Gap Finder",label:"Parallel agents",value:String(r.solverCount),kind:"cycle",values:Array.from({length:gi-Va+1},(s,m)=>`${Va+m}`)},{id:"solvergap-save-artifacts",section:"Solver Gap Finder",label:"Save artifacts",value:r.saveArtifacts?"on":"off",kind:"cycle",values:["on","off"]}]}var si=class{constructor(t,r,n,a,s,m){this.ctx=t;this.settingsListTheme=r;this.theme=n;this.onCycleSaved=a;this.onActivateModel=s;this.onExit=m;this.rows=Of(t,dt(),dt()?.solverGap??Fa)}selectedIndex=0;rows;refresh(){let t=dt();this.rows=Of(this.ctx,t,t?.solverGap??Fa),this.selectedIndex=Math.min(this.selectedIndex,this.rows.length-1)}invalidate(){}render(t){let r=[],n=Math.min(30,Math.max(...this.rows.map(s=>s.label.length))),a;for(let s=0;s<this.rows.length;s++){let m=this.rows[s];if(!m)continue;m.section!==a&&(a!==void 0&&r.push(""),r.push(this.theme.bold(this.theme.fg("accent",m.section))),a=m.section);let c=s===this.selectedIndex,l=c?this.settingsListTheme.cursor:" ",d=m.label+" ".repeat(Math.max(0,n-m.label.length)),g=this.settingsListTheme.label(d,c),b=this.settingsListTheme.value(m.value,c);r.push(`${l}${g} ${b}`)}return r}handleInput(t){if(Vt(t,zt.ctrl("s"))||Vt(t,zt.escape)||Vt(t,zt.ctrl("c"))){this.onExit();return}if(Vt(t,zt.up)){this.selectedIndex=this.selectedIndex===0?this.rows.length-1:this.selectedIndex-1;return}if(Vt(t,zt.down)){this.selectedIndex=this.selectedIndex===this.rows.length-1?0:this.selectedIndex+1;return}if(Vt(t,zt.enter)||Vt(t,zt.return)||t===" "){let r=this.rows[this.selectedIndex];if(!r)return;if(r.kind==="model"){this.onActivateModel(r.id);return}if(!r.values||r.values.length===0)return;let n=dt();if(!n){this.ctx.ui.notify("Set the reviewer model first \u2014 it's required before solver-gap-finder settings.","warning");return}let a=n.solverGap??Fa,s=r.values.indexOf(r.value),m=r.values[(s+1)%r.values.length];if(m===void 0)return;r.id==="reviewer-thinking"?ft({...n,thinkingLevel:m,solverGap:a}):r.id==="solvergap-thinking"?ft({...n,solverGap:{...a,thinkingLevel:m}}):r.id==="solvergap-timeout"?ft({...n,solverGap:{...a,timeoutMinutes:Number.parseInt(m,10)}}):r.id==="solvergap-solver-count"?ft({...n,solverGap:{...a,solverCount:Number.parseInt(m,10)}}):r.id==="solvergap-save-artifacts"&&ft({...n,solverGap:{...a,saveArtifacts:m==="on"}}),this.refresh(),this.onCycleSaved()}}};async function Pv(e){if(e.mode!=="tui"){e.ui.notify("/checks --config requires interactive mode","error");return}let t=0;for(;;){let r=await e.ui.custom((s,m,c,l)=>{let d=new si(e,wv(),m,()=>s.requestRender(),b=>l(b),()=>l(void 0));d.selectedIndex=t;let g=new Ev;return g.addChild(new Rf(m.bold(m.fg("accent","Checks settings")))),g.addChild({render:b=>d.render(b),invalidate:()=>d.invalidate()}),g.addChild(new Rv(1)),g.addChild(new Rf(m.fg("dim","\u2191\u2193 navigate enter select ctrl+s save & exit esc cancel"))),{render(b){return g.render(b)},invalidate(){g.invalidate()},handleInput(b){d.handleInput(b),t=d.selectedIndex,s.requestRender()}}});if(!r)return;let n=dt(),a=n?.solverGap??Fa;if(r==="reviewer-model"){let s=await Sf(e,n,"Select model for checks reviewer agents");if(!s)continue;let m=Da(e,s.provider,s.modelId),c=m.includes(n?.thinkingLevel??"off")?n?.thinkingLevel??"off":m[0]??"off";ft({...s,thinkingLevel:c,solverGap:a}),e.ui.notify(`Reviewer model saved: ${s.provider}/${s.modelId}`,"info");continue}if(r==="solvergap-model"){if(!n){e.ui.notify("Set the reviewer model first \u2014 it's required before solver-gap-finder settings.","warning");continue}let s=await Sf(e,a.provider?a:null,"Select model for solver-gap-finder's solver agents");if(!s)continue;let m=Da(e,s.provider,s.modelId),c=m.includes(a.thinkingLevel)?a.thinkingLevel:m[0]??"off";ft({...n,solverGap:{...a,...s,thinkingLevel:c}}),e.ui.notify(`Solver-gap-finder model saved: ${s.provider}/${s.modelId}`,"info")}}}function Pf(e){e.registerCommand("checks",{description:"Strict review of agent_prompt.md/test.patch/solution.patch. Requires an option \u2014 see /checks.",getArgumentCompletions:Ov,handler:async(t,r)=>{let n=t.trim();if(n===""){r.ui.notify(ii.map(F=>`${F.value} \u2014 ${F.description}`).join(`
325
+ `),"info");return}let a=[...new Set(n.split(/\s+/).filter(Boolean))],s=new Set(ii.map(F=>F.value)),m=a.filter(F=>!s.has(F));if(m.length>0){r.ui.notify(`Unknown option(s): ${m.join(", ")}. Run /checks with no arguments to see the available options.`,"warning");return}if(a.includes("--config")){if(a.length>1){r.ui.notify("--config cannot be combined with other options.","warning");return}await Pv(r);return}let c=new Set;if(a.includes("--all")||a.includes("--review"))for(let F of ut)c.add(F.key);for(let F of ut)a.includes(`--${F.key}`)&&c.add(F.key);let l=a.includes("--all")||a.includes("--gap-finder"),d=a.includes("--solver-gap-finder"),g=ut.filter(F=>c.has(F.key)),b=g.length>0;if(!b&&!l&&!d){r.ui.notify(`Nothing to run for: ${a.join(" ")}. Run /checks with no arguments to see the available options.`,"warning");return}let V=a.join(" ");if(ja()){r.ui.notify("A checks run is already in progress.","warning");return}let G=dt();if(!G){r.ui.notify("No reviewer model configured. Run /checks --config first.","error");return}let w=r.modelRegistry.find(G.provider,G.modelId);if(!w){r.ui.notify(`Configured model ${G.provider}/${G.modelId} not found. Run /checks --config again.`,"error");return}if(!r.modelRegistry.hasConfiguredAuth(w)){r.ui.notify(`No auth configured for ${G.provider}/${G.modelId}.`,"error");return}let Ce=ai.filter(F=>!kf(ct(r.cwd,F)));if(Ce.length>0){r.ui.notify(`Missing required file(s) in project root: ${Ce.join(", ")}`,"error");return}let L=null,le;if(d){if(L=yi(),!L){r.ui.notify("No solver-gap-finder model configured. Run /checks --config and set it up.","error");return}if(le=r.modelRegistry.find(L.provider,L.modelId),!le){r.ui.notify(`Configured solver-gap-finder model ${L.provider}/${L.modelId} not found. Run /checks --config again.`,"error");return}if(!r.modelRegistry.hasConfiguredAuth(le)){r.ui.notify(`No auth configured for ${L.provider}/${L.modelId}.`,"error");return}if(!kf(ct(r.cwd,"test.sh"))){r.ui.notify("Missing required file in project root for --solver-gap-finder: test.sh","error");return}}let re=bf(),Me=L?.solverCount??vn,oe=(b?g.length:0)+(l?3:0)+(d?Me+1:0);r.ui.setWidget(he,Ee("preparing clean snapshot",0,oe)),r.ui.notify(`checks (${V}) started. Press ${Sv} to cancel.`,"info");let rt,lt=[];try{let F=ct(Ef(),`checks-${Tf()}`);wf(F,{recursive:!0}),rt=F;let fn=await wn(e,r.cwd,F);if(fn.status==="error"){r.ui.notify(`checks: ${fn.error}`,"error");return}for(let Re of ai)$v(ct(r.cwd,Re),ct(F,Re));let xr=xf(),Ir=If(),pe=0,Ga=[];if(b&&(r.ui.setWidget(he,Ee("reviewing",pe,oe)),Ga=await Promise.all(g.map(Re=>pf({pi:e,role:Re,tempDir:F,model:w,thinkingLevel:G.thinkingLevel,rubric:xr[Re.key],fairnessRules:Ir,cancelSignal:re.signal}).then(nt=>(pe+=1,r.ui.setWidget(he,Ee("reviewing",pe,oe)),nt)))),re.signal.aborted)){r.ui.notify("checks: cancelled.","warning");return}let br={status:"ok",gaps:[]},vr={status:"ok",gaps:[]},gn={status:"ok",gaps:[]};if(l){let Re={tempDir:F,model:w,thinkingLevel:G.thinkingLevel,testRubric:xr.tests,fairnessRules:Ir,cancelSignal:re.signal};if(r.ui.setWidget(he,Ee("finding test gaps",pe,oe)),[br,vr]=await Promise.all([ni({...Re,kind:"positive"}).then($r=>(pe+=1,r.ui.setWidget(he,Ee("finding test gaps",pe,oe)),$r)),ni({...Re,kind:"negative"}).then($r=>(pe+=1,r.ui.setWidget(he,Ee("finding test gaps",pe,oe)),$r))]),re.signal.aborted){r.ui.notify("checks: cancelled.","warning");return}let nt=[...br.gaps,...vr.gaps];if(nt.length>0&&(r.ui.setWidget(he,Ee("validating test gaps",pe,oe)),gn=await lf({tempDir:F,model:w,thinkingLevel:G.thinkingLevel,testRubric:xr.tests,fairnessRules:Ir,candidates:nt,cancelSignal:re.signal})),pe+=1,r.ui.setWidget(he,Ee("validating test gaps",pe,oe)),re.signal.aborted){r.ui.notify("checks: cancelled.","warning");return}}let Bt=[],hn={status:"ok",gaps:[]};if(d&&L){r.ui.setWidget(he,Ee("solver-gap-finder: solving",pe,oe));let Re=ct(r.cwd,"test.patch"),nt=ct(r.cwd,"agent_prompt.md"),$r=await Promise.all(Array.from({length:Me},async(Rt,St)=>{let Tr=ct(Ef(),`checks-solvergap-${Tf()}`);wf(Tr,{recursive:!0}),lt.push(Tr);let yn=await vi({pi:e,repoDir:r.cwd,solverDir:Tr,testPatchPath:Re,agentPromptPath:nt});return{index:St+1,setup:yn}})),Ff=oi().replace(/[:.]/g,"-");if(Bt=await Promise.all($r.map(async({index:Rt,setup:St})=>{if(St.status!=="ok")return pe+=1,r.ui.setWidget(he,Ee("solver-gap-finder: solving",pe,oe)),{index:Rt,status:St.status,passed:!1,diff:"",testOutputTail:St.error,durationMs:0};let Tr=Date.now(),{outcome:yn,trajectory:Df}=await uf({pi:e,solverDir:St.solverDir,model:le,thinkingLevel:L.thinkingLevel,timeoutMinutes:L.timeoutMinutes,cancelSignal:re.signal}),{testOutputXmlPath:Gf,...Ka}=await $i({pi:e,index:Rt,workspace:St,status:yn==="done"?"ok":yn,durationMs:Date.now()-Tr}),Nf=L.saveArtifacts?Ti({repoDir:r.cwd,runId:Ff,index:Rt,trajectory:Df,solutionPatch:Ka.diff,testOutputXmlPath:Gf,testOutputTail:Ka.testOutputTail}):void 0;return pe+=1,r.ui.setWidget(he,Ee("solver-gap-finder: solving",pe,oe)),{...Ka,artifactsDir:Nf}})),re.signal.aborted){r.ui.notify("checks: cancelled.","warning");return}if(Bt.some(Rt=>Rt.status!=="patchFailed"&&Rt.status!=="error")?(r.ui.setWidget(he,Ee("solver-gap-finder: comparing solutions",pe,oe)),ki(F,Bt),hn=await cf({tempDir:F,model:w,thinkingLevel:G.thinkingLevel,solverResults:Bt,cancelSignal:re.signal})):r.ui.notify("checks: all solver-gap-finder solvers failed to set up; skipping comparison.","warning"),pe+=1,r.ui.setWidget(he,Ee("solver-gap-finder: comparing solutions",pe,oe)),re.signal.aborted){r.ui.notify("checks: cancelled.","warning");return}}r.ui.setWidget(he,Ee("finalizing report",oe,oe));let Na={};g.forEach((Re,nt)=>{Ga[nt]&&(Na[Re.key]=Ga[nt])});let Mf=gn.gaps,Af=br.gaps.length>0||vr.gaps.length>0,Lf=l&&(br.status!=="ok"||vr.status!=="ok"||Af&&gn.status!=="ok"),Ua=ct(r.cwd,"shipd_report.json"),qf=df(Ua),jf=d&&(Bt.some(Re=>Re.status==="error")||hn.status!=="ok"),pi=ff({existingReport:qf,config:G,runReviewers:b,byRole:Na,runGapStages:l,testGaps:Mf,gapAnalysisIncomplete:Lf,positiveGapFinderStatus:br.status,negativeGapFinderStatus:vr.status,gapFilterStatus:gn.status,runSolverGapFinder:d,solverResults:Bt,solverGaps:hn.gaps,solverGapAnalysisIncomplete:jf,solverComparisonStatus:hn.status}),ui=hf({merged:pi,runReviewers:b,activeRoles:g,byRole:Na,runGapStages:l,runSolverGapFinder:d});e.sendMessage({customType:"shipd_checks_report",content:ui.content,display:!0,details:ui.details}),kv(Ua,JSON.stringify(pi,null,2),"utf-8"),r.ui.notify(`checks: wrote details to ${Ua}`,"info")}catch(F){r.ui.notify(`checks failed: ${F instanceof Error?F.message:String(F)}`,"error")}finally{if(r.ui.setWidget(he,void 0),rt)try{Tv(rt,{recursive:!0,force:!0})}catch{}for(let F of lt)wi(F);vf()}}})}var Cf=Mv.ctrlShift("x");function Lv(e){e.registerMessageRenderer("shipd_checks_report",(t,r,n)=>{let a=t.details??{},s=d=>d==="PASS"?n.fg("success",d):n.fg("error",d),m=new Cv;m.addChild(new mi(n.bold(n.fg("accent","Checks")),0,0));let c=!1,l=d=>{m.addChild(new mi(d,0,0)),c=!0};if(a.roleVerdicts&&Object.keys(a.roleVerdicts).length>0){for(let[d,g]of Object.entries(a.roleVerdicts)){let b=g==="PASS"?n.fg("success","\u2713"):n.fg("error","\u2717");l(` ${b} ${n.bold(d)}: ${s(g)}`)}if(a.overall){let d=a.overall==="PASS"&&a.hasTestGaps?" (with test gaps)":"";l(` ${n.bold("Overall:")} ${s(a.overall)}${d}`)}}if(a.showGaps){let d=a.gapsCount??0;l(d>0?n.fg("warning",` \u26A0 ${d} test gap(s) found`):n.fg("success"," \u2713 no test gaps found"))}if(a.showSolverGaps){let d=a.solverDetails??[],g=d.filter(w=>w.passed).length,b=a.solverGapsCount??0;m.addChild(new Av(1)),l(n.bold(n.fg("accent","Solver gap finder")));for(let w of d){let Ce=w.passed?n.fg("success","\u2713"):n.fg("error","\u2717"),L=w.passed?"passed":w.status==="ok"?"failed tests":w.status;l(` ${Ce} Solver ${w.index}: ${L} (${gf(w.durationMs)})`)}let V=g===d.length&&d.length>0?n.fg("success",`${g}/${d.length} solvers passed`):n.fg("warning",`${g}/${d.length} solvers passed`),G=b>0?n.fg("warning",`${b} behavioral gap(s) found`):n.fg("success","no behavioral gaps found");l(` ${V}, ${G}`)}return c||m.addChild(new mi(n.fg("dim"," nothing to report"),0,0)),m}),e.registerShortcut(Cf,{description:"Cancel an in-progress /checks run",handler:t=>{ja()&&$f()&&(t.ui.setWidget(he,[`checks: cancelling (${Cf})...`]),t.ui.notify("checks: cancelling...","warning"))}}),Pf(e)}export{Lv as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sreetej510/pi-shipd-checks",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "Pi extension that runs a strict, multi-agent fairness review of a benchmark task's agent_prompt.md, test.patch, and solution.patch, plus behavioral test-gap analysis, via /checks.",
5
5
  "type": "module",
6
6
  "license": "MIT",