yaml-flow 5.4.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/board-live-cards-cli.js +2 -2
- package/board-livecards-server-runtime.js +486 -547
- package/browser/asset-integrity.json +10 -0
- package/browser/board-livegraph-engine.js +2 -1676
- package/browser/board-livegraph-engine.js.map +1 -1
- package/browser/live-cards.js +347 -26
- package/browser/live-cards.schema.json +418 -132
- package/card-store.js +37 -0
- package/dist/batch/index.cjs +1 -108
- package/dist/batch/index.cjs.map +1 -1
- package/dist/batch/index.js +1 -106
- package/dist/batch/index.js.map +1 -1
- package/dist/board-live-cards-lib-Bg6EvCo5.d.cts +136 -0
- package/dist/board-live-cards-lib-jM2uYG1v.d.ts +136 -0
- package/dist/board-live-cards-public-CltXYgaY.d.cts +314 -0
- package/dist/board-live-cards-public-f-E-FAyp.d.ts +314 -0
- package/dist/board-livegraph-runtime/index.cjs +2 -1671
- package/dist/board-livegraph-runtime/index.cjs.map +1 -1
- package/dist/board-livegraph-runtime/index.d.cts +1 -2
- package/dist/board-livegraph-runtime/index.d.ts +1 -2
- package/dist/board-livegraph-runtime/index.js +2 -1662
- package/dist/board-livegraph-runtime/index.js.map +1 -1
- package/dist/board-livegraph-runtime/jsonata-sync.cjs +7587 -0
- package/dist/card-compute/index.cjs +9 -7159
- package/dist/card-compute/index.cjs.map +1 -1
- package/dist/card-compute/index.d.cts +22 -0
- package/dist/card-compute/index.d.ts +22 -0
- package/dist/card-compute/index.js +9 -7145
- package/dist/card-compute/index.js.map +1 -1
- package/dist/card-compute/jsonata-sync.cjs +7587 -0
- package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs +2 -0
- package/dist/cli/browser-api/board-live-cards-browser-adapter.cjs.map +1 -0
- package/dist/cli/browser-api/board-live-cards-browser-adapter.d.cts +24 -0
- package/dist/cli/browser-api/board-live-cards-browser-adapter.d.ts +24 -0
- package/dist/cli/browser-api/board-live-cards-browser-adapter.js +2 -0
- package/dist/cli/browser-api/board-live-cards-browser-adapter.js.map +1 -0
- package/dist/cli/browser-api/card-store-browser-api.cjs +2 -0
- package/dist/cli/browser-api/card-store-browser-api.cjs.map +1 -0
- package/dist/cli/browser-api/card-store-browser-api.d.cts +26 -0
- package/dist/cli/browser-api/card-store-browser-api.d.ts +26 -0
- package/dist/cli/browser-api/card-store-browser-api.js +2 -0
- package/dist/cli/browser-api/card-store-browser-api.js.map +1 -0
- package/dist/cli/browser-api/jsonata-sync.cjs +7587 -0
- package/dist/cli/node/artifacts-store-cli.cjs +11 -0
- package/dist/cli/node/artifacts-store-cli.cjs.map +1 -0
- package/dist/cli/node/artifacts-store-cli.d.cts +8 -0
- package/dist/cli/node/artifacts-store-cli.d.ts +8 -0
- package/dist/cli/node/artifacts-store-cli.js +11 -0
- package/dist/cli/node/artifacts-store-cli.js.map +1 -0
- package/dist/cli/node/board-live-cards-cli.cjs +15 -0
- package/dist/cli/node/board-live-cards-cli.cjs.map +1 -0
- package/dist/cli/node/board-live-cards-cli.d.cts +20 -0
- package/dist/cli/node/board-live-cards-cli.d.ts +20 -0
- package/dist/cli/node/board-live-cards-cli.js +15 -0
- package/dist/cli/node/board-live-cards-cli.js.map +1 -0
- package/dist/cli/node/card-store-cli.cjs +8 -0
- package/dist/cli/node/card-store-cli.cjs.map +1 -0
- package/dist/cli/node/card-store-cli.d.cts +15 -0
- package/dist/cli/node/card-store-cli.d.ts +15 -0
- package/dist/cli/node/card-store-cli.js +8 -0
- package/dist/cli/node/card-store-cli.js.map +1 -0
- package/dist/cli/node/fs-board-adapter.cjs +14 -0
- package/dist/cli/node/fs-board-adapter.cjs.map +1 -0
- package/dist/cli/node/fs-board-adapter.d.cts +204 -0
- package/dist/cli/node/fs-board-adapter.d.ts +204 -0
- package/dist/cli/node/fs-board-adapter.js +14 -0
- package/dist/cli/node/fs-board-adapter.js.map +1 -0
- package/dist/cli/node/jsonata-sync.cjs +7587 -0
- package/dist/cli/node/source-cli-task-executor.cjs +11 -0
- package/dist/cli/node/source-cli-task-executor.cjs.map +1 -0
- package/dist/cli/node/source-cli-task-executor.d.cts +1 -0
- package/dist/cli/node/source-cli-task-executor.d.ts +1 -0
- package/dist/cli/node/source-cli-task-executor.js +11 -0
- package/dist/cli/node/source-cli-task-executor.js.map +1 -0
- package/dist/config/index.cjs +1 -79
- package/dist/config/index.cjs.map +1 -1
- package/dist/config/index.js +1 -76
- package/dist/config/index.js.map +1 -1
- package/dist/continuous-event-graph/index.cjs +2 -2129
- package/dist/continuous-event-graph/index.cjs.map +1 -1
- package/dist/continuous-event-graph/index.d.cts +81 -5
- package/dist/continuous-event-graph/index.d.ts +81 -5
- package/dist/continuous-event-graph/index.js +2 -2088
- package/dist/continuous-event-graph/index.js.map +1 -1
- package/dist/continuous-event-graph/jsonata-sync.cjs +7587 -0
- package/dist/event-graph/index.cjs +22 -8292
- package/dist/event-graph/index.cjs.map +1 -1
- package/dist/event-graph/index.js +22 -8237
- package/dist/event-graph/index.js.map +1 -1
- package/dist/execution-refs.cjs +2 -0
- package/dist/execution-refs.cjs.map +1 -0
- package/dist/execution-refs.d.cts +222 -0
- package/dist/execution-refs.d.ts +222 -0
- package/dist/execution-refs.js +2 -0
- package/dist/execution-refs.js.map +1 -0
- package/dist/index.cjs +29 -13221
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -4
- package/dist/index.d.ts +2 -4
- package/dist/index.js +29 -13112
- package/dist/index.js.map +1 -1
- package/dist/inference/index.cjs +5 -617
- package/dist/inference/index.cjs.map +1 -1
- package/dist/inference/index.js +5 -610
- package/dist/inference/index.js.map +1 -1
- package/dist/jsonata-sync.cjs +7587 -0
- package/dist/{live-cards-bridge-x5XREkXm.d.cts → live-cards-bridge-BXbVTsna.d.cts} +27 -4
- package/dist/{live-cards-bridge-EQjytzI_.d.ts → live-cards-bridge-Ds28XR15.d.ts} +27 -4
- package/dist/pycli/quickjs-board-runtime.global.js +9 -0
- package/dist/pycli/quickjs-board-runtime.global.js.map +1 -0
- package/dist/pycli/quickjs-step-machine-runtime.global.js +5 -0
- package/dist/pycli/quickjs-step-machine-runtime.global.js.map +1 -0
- package/dist/step-machine/index.cjs +11 -7129
- package/dist/step-machine/index.cjs.map +1 -1
- package/dist/step-machine/index.js +11 -7113
- package/dist/step-machine/index.js.map +1 -1
- package/dist/storage-refs.cjs +10 -0
- package/dist/storage-refs.cjs.map +1 -0
- package/dist/storage-refs.d.cts +92 -0
- package/dist/storage-refs.d.ts +92 -0
- package/dist/storage-refs.js +10 -0
- package/dist/storage-refs.js.map +1 -0
- package/dist/stores/file.cjs +1 -114
- package/dist/stores/file.cjs.map +1 -1
- package/dist/stores/file.js +1 -112
- package/dist/stores/file.js.map +1 -1
- package/dist/stores/index.cjs +1 -231
- package/dist/stores/index.cjs.map +1 -1
- package/dist/stores/index.js +1 -227
- package/dist/stores/index.js.map +1 -1
- package/dist/stores/localStorage.cjs +1 -76
- package/dist/stores/localStorage.cjs.map +1 -1
- package/dist/stores/localStorage.js +1 -74
- package/dist/stores/localStorage.js.map +1 -1
- package/dist/stores/memory.cjs +1 -47
- package/dist/stores/memory.cjs.map +1 -1
- package/dist/stores/memory.js +1 -45
- package/dist/stores/memory.js.map +1 -1
- package/examples/browser/boards/portfolio-tracker/portfolio-t4.js +292 -0
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.js +218 -0
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-fetch-prices.py +201 -0
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-inference-adapter.js +25 -16
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-public.js +553 -0
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker.py +365 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/.runtime-out +1 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/--base-ref/board-graph.json +32 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +53 -1
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/add-cards-cli.js +15 -6
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/init-board-cli.js +6 -1
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/poll-status-cli.js +57 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/retrigger-cli.js +1 -1
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/status-cli.js +1 -1
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/update-holdings-cli.js +7 -2
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers/wait-completed-cli.js +6 -2
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/_board_pycli.py +97 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/add-cards.py +50 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/init-board.py +44 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/poll-status.py +70 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/handlers-py/reset-board-dir.py +36 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-demo.flow.yaml +26 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/inline-python-handlers.py +39 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker-pycli.flow.yaml +80 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.flow.yaml +25 -172
- package/examples/cli/step-machine-cli/portfolio-tracker/portfolio-tracker.input.json +40 -34
- package/examples/cli/step-machine-cli/portfolio-tracker/run-inline-python-demo-pycli.py +46 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker-pycli.py +77 -0
- package/examples/cli/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +1 -2
- package/examples/example-board/agent-instructions.md +11 -5
- package/examples/example-board/demo-chat-handler.js +14 -4
- package/examples/example-board/demo-server-config.json +1 -0
- package/examples/example-board/demo-server.js +14 -7
- package/examples/example-board/demo-shell-browser.html +5 -4
- package/examples/example-board/demo-shell-with-server.html +6 -5
- package/examples/example-board/demo-task-executor.js +81 -35
- package/examples/index.html +0 -14
- package/examples/step-machine-cli/portfolio-tracker/handlers/_board-cli.js +0 -1
- package/examples/step-machine-cli/portfolio-tracker/run-portfolio-tracker.bat +1 -2
- package/package.json +39 -3
- package/schema/live-cards.schema.json +418 -132
- package/dist/cli/board-live-cards-cli.cjs +0 -10650
- package/dist/cli/board-live-cards-cli.cjs.map +0 -1
- package/dist/cli/board-live-cards-cli.d.cts +0 -179
- package/dist/cli/board-live-cards-cli.d.ts +0 -179
- package/dist/cli/board-live-cards-cli.js +0 -10598
- package/dist/cli/board-live-cards-cli.js.map +0 -1
- package/dist/journal-9HEgs7dU.d.ts +0 -28
- package/dist/journal-B-JCfQnh.d.cts +0 -28
- package/dist/schedule-Cszq9LYY.d.ts +0 -21
- package/dist/schedule-qWNL0RQh.d.cts +0 -21
- package/examples/browser/boards/portfolio-tracker/cards/holdings-table.json +0 -22
- package/examples/browser/boards/portfolio-tracker/cards/portfolio-form.json +0 -16
- package/examples/browser/boards/portfolio-tracker/cards/portfolio-risk-assessment.json +0 -28
- package/examples/browser/boards/portfolio-tracker/cards/portfolio-value.json +0 -15
- package/examples/browser/boards/portfolio-tracker/cards/price-fetch.json +0 -15
- package/examples/browser/boards/portfolio-tracker/cards/rebalancing-strategy.json +0 -28
- package/examples/browser/boards/portfolio-tracker/fetch-prices.js +0 -43
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker-task-executor.cjs +0 -96
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker.bat +0 -7
- package/examples/browser/boards/portfolio-tracker/portfolio-tracker.js +0 -351
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* board-live-cards-example-cli.ts
|
|
4
|
+
*
|
|
5
|
+
* Thin arg-parse CLI for the board-live-cards public API.
|
|
6
|
+
*
|
|
7
|
+
* This file contains ONLY:
|
|
8
|
+
* 1. Arg parsing helpers
|
|
9
|
+
* 2. A `cli()` function that maps argv → public-API calls
|
|
10
|
+
* 3. A main-invocation guard
|
|
11
|
+
*
|
|
12
|
+
* All logic lives in board-live-cards-public.ts (platform-free) and
|
|
13
|
+
* fs-board-adapter.ts (Node/FS platform adapters).
|
|
14
|
+
*
|
|
15
|
+
* Imports are limited to ./fs-board-adapter.js and ./process-runner.js —
|
|
16
|
+
* no direct imports from ../common/*.
|
|
17
|
+
*/
|
|
18
|
+
declare function cli(argv: string[]): Promise<void>;
|
|
19
|
+
|
|
20
|
+
export { cli };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* board-live-cards-example-cli.ts
|
|
4
|
+
*
|
|
5
|
+
* Thin arg-parse CLI for the board-live-cards public API.
|
|
6
|
+
*
|
|
7
|
+
* This file contains ONLY:
|
|
8
|
+
* 1. Arg parsing helpers
|
|
9
|
+
* 2. A `cli()` function that maps argv → public-API calls
|
|
10
|
+
* 3. A main-invocation guard
|
|
11
|
+
*
|
|
12
|
+
* All logic lives in board-live-cards-public.ts (platform-free) and
|
|
13
|
+
* fs-board-adapter.ts (Node/FS platform adapters).
|
|
14
|
+
*
|
|
15
|
+
* Imports are limited to ./fs-board-adapter.js and ./process-runner.js —
|
|
16
|
+
* no direct imports from ../common/*.
|
|
17
|
+
*/
|
|
18
|
+
declare function cli(argv: string[]): Promise<void>;
|
|
19
|
+
|
|
20
|
+
export { cli };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import*as T from'fs';import*as Pn from'os';import*as ce from'path';import*as Go from'net';import {fileURLToPath}from'url';import {spawn,execFile,execFileSync}from'child_process';import {createHash,randomUUID}from'crypto';import wn from'jsonata';import {lockSync}from'proper-lockfile';import vh from'ajv-formats';import {createRequire}from'module';var bc=Object.create;var Mo=Object.defineProperty;var wc=Object.getOwnPropertyDescriptor;var kc=Object.getOwnPropertyNames;var _c=Object.getPrototypeOf,$c=Object.prototype.hasOwnProperty;var $=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Rc=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of kc(e))!$c.call(t,s)&&s!==r&&Mo(t,s,{get:()=>e[s],enumerable:!(n=wc(e,s))||n.enumerable});return t};var Cc=(t,e,r)=>(r=t!=null?bc(_c(t)):{},Rc(Mo(r,"default",{value:t,enumerable:true}),t));var Yt=$(U=>{Object.defineProperty(U,"__esModule",{value:true});U.regexpCode=U.getEsmExportName=U.getProperty=U.safeStringify=U.stringify=U.strConcat=U.addCodeArg=U.str=U._=U.nil=U._Code=U.Name=U.IDENTIFIER=U._CodeOrName=void 0;var zt=class{};U._CodeOrName=zt;U.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ct=class extends zt{constructor(e){if(super(),!U.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e;}toString(){return this.str}emptyStr(){return false}get names(){return {[this.str]:1}}};U.Name=ct;var Re=class extends zt{constructor(e){super(),this._items=typeof e=="string"?[e]:e;}toString(){return this.str}emptyStr(){if(this._items.length>1)return false;let e=this._items[0];return e===""||e==='""'}get str(){var e;return (e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((r,n)=>`${r}${n}`,"")}get names(){var e;return (e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((r,n)=>(n instanceof ct&&(r[n.str]=(r[n.str]||0)+1),r),{})}};U._Code=Re;U.nil=new Re("");function ia(t,...e){let r=[t[0]],n=0;for(;n<e.length;)Ln(r,e[n]),r.push(t[++n]);return new Re(r)}U._=ia;var Mn=new Re("+");function ua(t,...e){let r=[Wt(t[0])],n=0;for(;n<e.length;)r.push(Mn),Ln(r,e[n]),r.push(Mn,Wt(t[++n]));return Uc(r),new Re(r)}U.str=ua;function Ln(t,e){e instanceof Re?t.push(...e._items):e instanceof ct?t.push(e):t.push(zc(e));}U.addCodeArg=Ln;function Uc(t){let e=1;for(;e<t.length-1;){if(t[e]===Mn){let r=Jc(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+";}e++;}}function Jc(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof ct||t[t.length-1]!=='"'?void 0:typeof e!="string"?`${t.slice(0,-1)}${e}"`:e[0]==='"'?t.slice(0,-1)+e.slice(1):void 0;if(typeof e=="string"&&e[0]==='"'&&!(t instanceof ct))return `"${t}${e.slice(1)}`}function Hc(t,e){return e.emptyStr()?t:t.emptyStr()?e:ua`${t}${e}`}U.strConcat=Hc;function zc(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Wt(Array.isArray(t)?t.join(","):t)}function Wc(t){return new Re(Wt(t))}U.stringify=Wc;function Wt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}U.safeStringify=Wt;function Yc(t){return typeof t=="string"&&U.IDENTIFIER.test(t)?new Re(`.${t}`):ia`[${t}]`}U.getProperty=Yc;function Xc(t){if(typeof t=="string"&&U.IDENTIFIER.test(t))return new Re(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}U.getEsmExportName=Xc;function Qc(t){return new Re(t.toString())}U.regexpCode=Qc;});var Gn=$(Se=>{Object.defineProperty(Se,"__esModule",{value:true});Se.ValueScope=Se.ValueScopeName=Se.Scope=Se.varKinds=Se.UsedValueState=void 0;var ve=Yt(),Vn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value;}},qr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed";})(qr||(Se.UsedValueState=qr={}));Se.varKinds={const:new ve.Name("const"),let:new ve.Name("let"),var:new ve.Name("var")};var Dr=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r;}toName(e){return e instanceof ve.Name?e:this.name(e)}name(e){return new ve.Name(this._newName(e))}_newName(e){let r=this._names[e]||this._nameGroup(e);return `${e}${r.index++}`}_nameGroup(e){var r,n;if(!((n=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||n===void 0)&&n.has(e)||this._prefixes&&!this._prefixes.has(e))throw new Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};Se.Scope=Dr;var Fr=class extends ve.Name{constructor(e,r){super(r),this.prefix=e;}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0, ve._)`.${new ve.Name(r)}[${n}]`;}};Se.ValueScopeName=Fr;var Zc=(0, ve._)`\n`,Bn=class extends Dr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Zc:ve.nil};}get(){return this._scope}name(e){return new Fr(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let s=this.toName(e),{prefix:o}=s,a=(n=r.key)!==null&&n!==void 0?n:r.ref,i=this._values[o];if(i){let d=i.get(a);if(d)return d}else i=this._values[o]=new Map;i.set(a,s);let u=this._scope[o]||(this._scope[o]=[]),c=u.length;return u[c]=r.ref,s.setValue(r,{property:o,itemIndex:c}),s}getValue(e,r){let n=this._values[e];if(n)return n.get(r)}scopeRefs(e,r=this._values){return this._reduceValues(r,n=>{if(n.scopePath===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return (0, ve._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,s=>{if(s.value===void 0)throw new Error(`CodeGen: name "${s}" has no value`);return s.value.code},r,n)}_reduceValues(e,r,n={},s){let o=ve.nil;for(let a in e){let i=e[a];if(!i)continue;let u=n[a]=n[a]||new Map;i.forEach(c=>{if(u.has(c))return;u.set(c,qr.Started);let d=r(c);if(d){let f=this.opts.es5?Se.varKinds.var:Se.varKinds.const;o=(0, ve._)`${o}${f} ${c} = ${d};${this.opts._n}`;}else if(d=s?.(c))o=(0, ve._)`${o}${d}${this.opts._n}`;else throw new Vn(c);u.set(c,qr.Completed);});}return o}};Se.ValueScope=Bn;});var F=$(D=>{Object.defineProperty(D,"__esModule",{value:true});D.or=D.and=D.not=D.CodeGen=D.operators=D.varKinds=D.ValueScopeName=D.ValueScope=D.Scope=D.Name=D.regexpCode=D.stringify=D.getProperty=D.nil=D.strConcat=D.str=D._=void 0;var V=Yt(),Te=Gn(),We=Yt();Object.defineProperty(D,"_",{enumerable:true,get:function(){return We._}});Object.defineProperty(D,"str",{enumerable:true,get:function(){return We.str}});Object.defineProperty(D,"strConcat",{enumerable:true,get:function(){return We.strConcat}});Object.defineProperty(D,"nil",{enumerable:true,get:function(){return We.nil}});Object.defineProperty(D,"getProperty",{enumerable:true,get:function(){return We.getProperty}});Object.defineProperty(D,"stringify",{enumerable:true,get:function(){return We.stringify}});Object.defineProperty(D,"regexpCode",{enumerable:true,get:function(){return We.regexpCode}});Object.defineProperty(D,"Name",{enumerable:true,get:function(){return We.Name}});var Br=Gn();Object.defineProperty(D,"Scope",{enumerable:true,get:function(){return Br.Scope}});Object.defineProperty(D,"ValueScope",{enumerable:true,get:function(){return Br.ValueScope}});Object.defineProperty(D,"ValueScopeName",{enumerable:true,get:function(){return Br.ValueScopeName}});Object.defineProperty(D,"varKinds",{enumerable:true,get:function(){return Br.varKinds}});D.operators={GT:new V._Code(">"),GTE:new V._Code(">="),LT:new V._Code("<"),LTE:new V._Code("<="),EQ:new V._Code("==="),NEQ:new V._Code("!=="),NOT:new V._Code("!"),OR:new V._Code("||"),AND:new V._Code("&&"),ADD:new V._Code("+")};var Le=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},Kn=class extends Le{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n;}render({es5:e,_n:r}){let n=e?Te.varKinds.var:this.varKind,s=this.rhs===void 0?"":` = ${this.rhs}`;return `${n} ${this.name}${s};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Rt(this.rhs,e,r)),this}get names(){return this.rhs instanceof V._CodeOrName?this.rhs.names:{}}},Mr=class extends Le{constructor(e,r,n){super(),this.lhs=e,this.rhs=r,this.sideEffects=n;}render({_n:e}){return `${this.lhs} = ${this.rhs};`+e}optimizeNames(e,r){if(!(this.lhs instanceof V.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Rt(this.rhs,e,r),this}get names(){let e=this.lhs instanceof V.Name?{}:{...this.lhs.names};return Vr(e,this.rhs)}},Un=class extends Mr{constructor(e,r,n,s){super(e,n,s),this.op=r;}render({_n:e}){return `${this.lhs} ${this.op}= ${this.rhs};`+e}},Jn=class extends Le{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `${this.label}:`+e}},Hn=class extends Le{constructor(e){super(),this.label=e,this.names={};}render({_n:e}){return `break${this.label?` ${this.label}`:""};`+e}},zn=class extends Le{constructor(e){super(),this.error=e;}render({_n:e}){return `throw ${this.error};`+e}get names(){return this.error.names}},Wn=class extends Le{constructor(e){super(),this.code=e;}render({_n:e}){return `${this.code};`+e}optimizeNodes(){return `${this.code}`?this:void 0}optimizeNames(e,r){return this.code=Rt(this.code,e,r),this}get names(){return this.code instanceof V._CodeOrName?this.code.names:{}}},Xt=class extends Le{constructor(e=[]){super(),this.nodes=e;}render(e){return this.nodes.reduce((r,n)=>r+n.render(e),"")}optimizeNodes(){let{nodes:e}=this,r=e.length;for(;r--;){let n=e[r].optimizeNodes();Array.isArray(n)?e.splice(r,1,...n):n?e[r]=n:e.splice(r,1);}return e.length>0?this:void 0}optimizeNames(e,r){let{nodes:n}=this,s=n.length;for(;s--;){let o=n[s];o.optimizeNames(e,r)||(ed(e,o.names),n.splice(s,1));}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>ft(e,r.names),{})}},Ve=class extends Xt{render(e){return "{"+e._n+super.render(e)+"}"+e._n}},Yn=class extends Xt{},$t=class extends Ve{};$t.kind="else";var dt=class t extends Ve{constructor(e,r){super(r),this.condition=e;}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===true)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new $t(n):n;}if(r)return e===false?r instanceof t?r:r.nodes:this.nodes.length?this:new t(ca(e),r instanceof t?[r]:r.nodes);if(!(e===false||!this.nodes.length))return this}optimizeNames(e,r){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(e,r),!!(super.optimizeNames(e,r)||this.else))return this.condition=Rt(this.condition,e,r),this}get names(){let e=super.names;return Vr(e,this.condition),this.else&&ft(e,this.else.names),e}};dt.kind="if";var lt=class extends Ve{};lt.kind="for";var Xn=class extends lt{constructor(e){super(),this.iteration=e;}render(e){return `for(${this.iteration})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iteration=Rt(this.iteration,e,r),this}get names(){return ft(super.names,this.iteration.names)}},Qn=class extends lt{constructor(e,r,n,s){super(),this.varKind=e,this.name=r,this.from=n,this.to=s;}render(e){let r=e.es5?Te.varKinds.var:this.varKind,{name:n,from:s,to:o}=this;return `for(${r} ${n}=${s}; ${n}<${o}; ${n}++)`+super.render(e)}get names(){let e=Vr(super.names,this.from);return Vr(e,this.to)}},Lr=class extends lt{constructor(e,r,n,s){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=s;}render(e){return `for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,r){if(super.optimizeNames(e,r))return this.iterable=Rt(this.iterable,e,r),this}get names(){return ft(super.names,this.iterable.names)}},Qt=class extends Ve{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n;}render(e){return `${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Qt.kind="func";var Zt=class extends Xt{render(e){return "return "+super.render(e)}};Zt.kind="return";var Zn=class extends Ve{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,s;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(s=this.finally)===null||s===void 0||s.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&ft(e,this.catch.names),this.finally&&ft(e,this.finally.names),e}},er=class extends Ve{constructor(e){super(),this.error=e;}render(e){return `catch(${this.error})`+super.render(e)}};er.kind="catch";var tr=class extends Ve{render(e){return "finally"+super.render(e)}};tr.kind="finally";var es=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
3
|
+
`:""},this._extScope=e,this._scope=new Te.Scope({parent:e}),this._nodes=[new Yn];}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,r){let n=this._extScope.value(e,r);return (this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,r){return this._extScope.getValue(e,r)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,r,n,s){let o=this._scope.toName(r);return n!==void 0&&s&&(this._constants[o.str]=n),this._leafNode(new Kn(e,o,n)),o}const(e,r,n){return this._def(Te.varKinds.const,e,r,n)}let(e,r,n){return this._def(Te.varKinds.let,e,r,n)}var(e,r,n){return this._def(Te.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Mr(e,r,n))}add(e,r){return this._leafNode(new Un(e,D.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==V.nil&&this._leafNode(new Wn(e)),this}object(...e){let r=["{"];for(let[n,s]of e)r.length>1&&r.push(","),r.push(n),(n!==s||this.opts.es5)&&(r.push(":"),(0, V.addCodeArg)(r,s));return r.push("}"),new V._Code(r)}if(e,r,n){if(this._blockNode(new dt(e)),r&&n)this.code(r).else().code(n).endIf();else if(r)this.code(r).endIf();else if(n)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new dt(e))}else(){return this._elseNode(new $t)}endIf(){return this._endBlockNode(dt,$t)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Xn(e),r)}forRange(e,r,n,s,o=this.opts.es5?Te.varKinds.var:Te.varKinds.let){let a=this._scope.toName(e);return this._for(new Qn(o,a,r,n),()=>s(a))}forOf(e,r,n,s=Te.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let a=r instanceof V.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0, V._)`${a}.length`,i=>{this.var(o,(0, V._)`${a}[${i}]`),n(o);})}return this._for(new Lr("of",s,o,r),()=>n(o))}forIn(e,r,n,s=this.opts.es5?Te.varKinds.var:Te.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0, V._)`Object.keys(${r})`,n);let o=this._scope.toName(e);return this._for(new Lr("in",s,o,r),()=>n(o))}endFor(){return this._endBlockNode(lt)}label(e){return this._leafNode(new Jn(e))}break(e){return this._leafNode(new Hn(e))}return(e){let r=new Zt;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Zt)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let s=new Zn;if(this._blockNode(s),this.code(e),r){let o=this.name("e");this._currNode=s.catch=new er(o),r(o);}return n&&(this._currNode=s.finally=new tr,this.code(n)),this._endBlockNode(er,tr)}throw(e){return this._leafNode(new zn(e))}block(e,r){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(r),this}endBlock(e){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let n=this._nodes.length-r;if(n<0||e!==void 0&&n!==e)throw new Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=r,this}func(e,r=V.nil,n,s){return this._blockNode(new Qt(e,r,n)),s&&this.code(s).endFunc(),this}endFunc(){return this._endBlockNode(Qt)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants);}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e);}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof dt))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let r=this._nodes;r[r.length-1]=e;}};D.CodeGen=es;function ft(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Vr(t,e){return e instanceof V._CodeOrName?ft(t,e.names):t}function Rt(t,e,r){if(t instanceof V.Name)return n(t);if(!s(t))return t;return new V._Code(t._items.reduce((o,a)=>(a instanceof V.Name&&(a=n(a)),a instanceof V._Code?o.push(...a._items):o.push(a),o),[]));function n(o){let a=r[o.str];return a===void 0||e[o.str]!==1?o:(delete e[o.str],a)}function s(o){return o instanceof V._Code&&o._items.some(a=>a instanceof V.Name&&e[a.str]===1&&r[a.str]!==void 0)}}function ed(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0);}function ca(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0, V._)`!${ts(t)}`}D.not=ca;var td=da(D.operators.AND);function rd(...t){return t.reduce(td)}D.and=rd;var nd=da(D.operators.OR);function sd(...t){return t.reduce(nd)}D.or=sd;function da(t){return (e,r)=>e===V.nil?r:r===V.nil?e:(0, V._)`${ts(e)} ${t} ${ts(r)}`}function ts(t){return t instanceof V.Name?t:(0, V._)`(${t})`}});var G=$(M=>{Object.defineProperty(M,"__esModule",{value:true});M.checkStrictMode=M.getErrorPath=M.Type=M.useFunc=M.setEvaluated=M.evaluatedPropsToName=M.mergeEvaluated=M.eachItem=M.unescapeJsonPointer=M.escapeJsonPointer=M.escapeFragment=M.unescapeFragment=M.schemaRefOrVal=M.schemaHasRulesButRef=M.schemaHasRules=M.checkUnknownRules=M.alwaysValidSchema=M.toHash=void 0;var z=F(),od=Yt();function ad(t){let e={};for(let r of t)e[r]=true;return e}M.toHash=ad;function id(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?true:(pa(t,e),!ma(e,t.self.RULES.all))}M.alwaysValidSchema=id;function pa(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let s=n.RULES.keywords;for(let o in e)s[o]||ya(t,`unknown keyword: "${o}"`);}M.checkUnknownRules=pa;function ma(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(e[r])return true;return false}M.schemaHasRules=ma;function ud(t,e){if(typeof t=="boolean")return !t;for(let r in t)if(r!=="$ref"&&e.all[r])return true;return false}M.schemaHasRulesButRef=ud;function cd({topSchemaRef:t,schemaPath:e},r,n,s){if(!s){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return (0, z._)`${r}`}return (0, z._)`${t}${e}${(0, z.getProperty)(n)}`}M.schemaRefOrVal=cd;function dd(t){return ha(decodeURIComponent(t))}M.unescapeFragment=dd;function ld(t){return encodeURIComponent(ns(t))}M.escapeFragment=ld;function ns(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}M.escapeJsonPointer=ns;function ha(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}M.unescapeJsonPointer=ha;function fd(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t);}M.eachItem=fd;function la({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return (s,o,a,i)=>{let u=a===void 0?o:a instanceof z.Name?(o instanceof z.Name?t(s,o,a):e(s,o,a),a):o instanceof z.Name?(e(s,a,o),o):r(o,a);return i===z.Name&&!(u instanceof z.Name)?n(s,u):u}}M.mergeEvaluated={props:la({mergeNames:(t,e,r)=>t.if((0, z._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0, z._)`${e} === true`,()=>t.assign(r,true),()=>t.assign(r,(0, z._)`${r} || {}`).code((0, z._)`Object.assign(${r}, ${e})`));}),mergeToName:(t,e,r)=>t.if((0, z._)`${r} !== true`,()=>{e===true?t.assign(r,true):(t.assign(r,(0, z._)`${r} || {}`),ss(t,r,e));}),mergeValues:(t,e)=>t===true?true:{...t,...e},resultToName:ga}),items:la({mergeNames:(t,e,r)=>t.if((0, z._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0, z._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0, z._)`${r} !== true`,()=>t.assign(r,e===true?true:(0, z._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===true?true:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function ga(t,e){if(e===true)return t.var("props",true);let r=t.var("props",(0, z._)`{}`);return e!==void 0&&ss(t,r,e),r}M.evaluatedPropsToName=ga;function ss(t,e,r){Object.keys(r).forEach(n=>t.assign((0, z._)`${e}${(0, z.getProperty)(n)}`,true));}M.setEvaluated=ss;var fa={};function pd(t,e){return t.scopeValue("func",{ref:e,code:fa[e.code]||(fa[e.code]=new od._Code(e.code))})}M.useFunc=pd;var rs;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str";})(rs||(M.Type=rs={}));function md(t,e,r){if(t instanceof z.Name){let n=e===rs.Num;return r?n?(0, z._)`"[" + ${t} + "]"`:(0, z._)`"['" + ${t} + "']"`:n?(0, z._)`"/" + ${t}`:(0, z._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0, z.getProperty)(t).toString():"/"+ns(t)}M.getErrorPath=md;function ya(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===true)throw new Error(e);t.self.logger.warn(e);}}M.checkStrictMode=ya;});var Be=$(os=>{Object.defineProperty(os,"__esModule",{value:true});var de=F(),hd={data:new de.Name("data"),valCxt:new de.Name("valCxt"),instancePath:new de.Name("instancePath"),parentData:new de.Name("parentData"),parentDataProperty:new de.Name("parentDataProperty"),rootData:new de.Name("rootData"),dynamicAnchors:new de.Name("dynamicAnchors"),vErrors:new de.Name("vErrors"),errors:new de.Name("errors"),this:new de.Name("this"),self:new de.Name("self"),scope:new de.Name("scope"),json:new de.Name("json"),jsonPos:new de.Name("jsonPos"),jsonLen:new de.Name("jsonLen"),jsonPart:new de.Name("jsonPart")};os.default=hd;});var rr=$(le=>{Object.defineProperty(le,"__esModule",{value:true});le.extendErrors=le.resetErrorsCount=le.reportExtraError=le.reportError=le.keyword$DataError=le.keywordError=void 0;var K=F(),Gr=G(),me=Be();le.keywordError={message:({keyword:t})=>(0, K.str)`must pass "${t}" keyword validation`};le.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0, K.str)`"${t}" keyword must be ${e} ($data)`:(0, K.str)`"${t}" keyword is invalid ($data)`};function gd(t,e=le.keywordError,r,n){let{it:s}=t,{gen:o,compositeRule:a,allErrors:i}=s,u=ba(t,e,r);n??(a||i)?va(o,u):Sa(s,(0, K._)`[${u}]`);}le.reportError=gd;function yd(t,e=le.keywordError,r){let{it:n}=t,{gen:s,compositeRule:o,allErrors:a}=n,i=ba(t,e,r);va(s,i),o||a||Sa(n,me.default.vErrors);}le.reportExtraError=yd;function vd(t,e){t.assign(me.default.errors,e),t.if((0, K._)`${me.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0, K._)`${me.default.vErrors}.length`,e),()=>t.assign(me.default.vErrors,null)));}le.resetErrorsCount=vd;function Sd({gen:t,keyword:e,schemaValue:r,data:n,errsCount:s,it:o}){if(s===void 0)throw new Error("ajv implementation error");let a=t.name("err");t.forRange("i",s,me.default.errors,i=>{t.const(a,(0, K._)`${me.default.vErrors}[${i}]`),t.if((0, K._)`${a}.instancePath === undefined`,()=>t.assign((0, K._)`${a}.instancePath`,(0, K.strConcat)(me.default.instancePath,o.errorPath))),t.assign((0, K._)`${a}.schemaPath`,(0, K.str)`${o.errSchemaPath}/${e}`),o.opts.verbose&&(t.assign((0, K._)`${a}.schema`,r),t.assign((0, K._)`${a}.data`,n));});}le.extendErrors=Sd;function va(t,e){let r=t.const("err",e);t.if((0, K._)`${me.default.vErrors} === null`,()=>t.assign(me.default.vErrors,(0, K._)`[${r}]`),(0, K._)`${me.default.vErrors}.push(${r})`),t.code((0, K._)`${me.default.errors}++`);}function Sa(t,e){let{gen:r,validateName:n,schemaEnv:s}=t;s.$async?r.throw((0, K._)`new ${t.ValidationError}(${e})`):(r.assign((0, K._)`${n}.errors`,e),r.return(false));}var pt={keyword:new K.Name("keyword"),schemaPath:new K.Name("schemaPath"),params:new K.Name("params"),propertyName:new K.Name("propertyName"),message:new K.Name("message"),schema:new K.Name("schema"),parentSchema:new K.Name("parentSchema")};function ba(t,e,r){let{createErrors:n}=t.it;return n===false?(0, K._)`{}`:bd(t,e,r)}function bd(t,e,r={}){let{gen:n,it:s}=t,o=[wd(s,r),kd(t,r)];return _d(t,e,o),n.object(...o)}function wd({errorPath:t},{instancePath:e}){let r=e?(0, K.str)`${t}${(0, Gr.getErrorPath)(e,Gr.Type.Str)}`:t;return [me.default.instancePath,(0, K.strConcat)(me.default.instancePath,r)]}function kd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let s=n?e:(0, K.str)`${e}/${t}`;return r&&(s=(0, K.str)`${s}${(0, Gr.getErrorPath)(r,Gr.Type.Str)}`),[pt.schemaPath,s]}function _d(t,{params:e,message:r},n){let{keyword:s,data:o,schemaValue:a,it:i}=t,{opts:u,propertyName:c,topSchemaRef:d,schemaPath:f}=i;n.push([pt.keyword,s],[pt.params,typeof e=="function"?e(t):e||(0, K._)`{}`]),u.messages&&n.push([pt.message,typeof r=="function"?r(t):r]),u.verbose&&n.push([pt.schema,a],[pt.parentSchema,(0, K._)`${d}${f}`],[me.default.data,o]),c&&n.push([pt.propertyName,c]);}});var ka=$(Ct=>{Object.defineProperty(Ct,"__esModule",{value:true});Ct.boolOrEmptySchema=Ct.topBoolOrEmptySchema=void 0;var $d=rr(),Rd=F(),Cd=Be(),Ed={message:"boolean schema is false"};function xd(t){let{gen:e,schema:r,validateName:n}=t;r===false?wa(t,false):typeof r=="object"&&r.$async===true?e.return(Cd.default.data):(e.assign((0, Rd._)`${n}.errors`,null),e.return(true));}Ct.topBoolOrEmptySchema=xd;function Td(t,e){let{gen:r,schema:n}=t;n===false?(r.var(e,false),wa(t)):r.var(e,true);}Ct.boolOrEmptySchema=Td;function wa(t,e){let{gen:r,data:n}=t,s={gen:r,keyword:"false schema",data:n,schema:false,schemaCode:false,schemaValue:false,params:{},it:t};(0, $d.reportError)(s,Ed,void 0,e);}});var as=$(Et=>{Object.defineProperty(Et,"__esModule",{value:true});Et.getRules=Et.isJSONType=void 0;var Ad=["string","number","integer","boolean","null","object","array"],Id=new Set(Ad);function Pd(t){return typeof t=="string"&&Id.has(t)}Et.isJSONType=Pd;function Od(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return {types:{...t,integer:true,boolean:true,null:true},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}Et.getRules=Od;});var is=$(Ye=>{Object.defineProperty(Ye,"__esModule",{value:true});Ye.shouldUseRule=Ye.shouldUseGroup=Ye.schemaHasRulesForType=void 0;function jd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==true&&_a(t,n)}Ye.schemaHasRulesForType=jd;function _a(t,e){return e.rules.some(r=>$a(t,r))}Ye.shouldUseGroup=_a;function $a(t,e){var r;return t[e.keyword]!==void 0||((r=e.definition.implements)===null||r===void 0?void 0:r.some(n=>t[n]!==void 0))}Ye.shouldUseRule=$a;});var nr=$(fe=>{Object.defineProperty(fe,"__esModule",{value:true});fe.reportTypeError=fe.checkDataTypes=fe.checkDataType=fe.coerceAndCheckDataType=fe.getJSONTypes=fe.getSchemaTypes=fe.DataType=void 0;var Nd=as(),qd=is(),Dd=rr(),N=F(),Ra=G(),xt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong";})(xt||(fe.DataType=xt={}));function Fd(t){let e=Ca(t.type);if(e.includes("null")){if(t.nullable===false)throw new Error("type: null contradicts nullable: false")}else {if(!e.length&&t.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');t.nullable===true&&e.push("null");}return e}fe.getSchemaTypes=Fd;function Ca(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Nd.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}fe.getJSONTypes=Ca;function Md(t,e){let{gen:r,data:n,opts:s}=t,o=Ld(e,s.coerceTypes),a=e.length>0&&!(o.length===0&&e.length===1&&(0, qd.schemaHasRulesForType)(t,e[0]));if(a){let i=cs(e,n,s.strictNumbers,xt.Wrong);r.if(i,()=>{o.length?Vd(t,e,o):ds(t);});}return a}fe.coerceAndCheckDataType=Md;var Ea=new Set(["string","number","integer","boolean","null"]);function Ld(t,e){return e?t.filter(r=>Ea.has(r)||e==="array"&&r==="array"):[]}function Vd(t,e,r){let{gen:n,data:s,opts:o}=t,a=n.let("dataType",(0, N._)`typeof ${s}`),i=n.let("coerced",(0, N._)`undefined`);o.coerceTypes==="array"&&n.if((0, N._)`${a} == 'object' && Array.isArray(${s}) && ${s}.length == 1`,()=>n.assign(s,(0, N._)`${s}[0]`).assign(a,(0, N._)`typeof ${s}`).if(cs(e,s,o.strictNumbers),()=>n.assign(i,s))),n.if((0, N._)`${i} !== undefined`);for(let c of r)(Ea.has(c)||c==="array"&&o.coerceTypes==="array")&&u(c);n.else(),ds(t),n.endIf(),n.if((0, N._)`${i} !== undefined`,()=>{n.assign(s,i),Bd(t,i);});function u(c){switch(c){case "string":n.elseIf((0, N._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0, N._)`"" + ${s}`).elseIf((0, N._)`${s} === null`).assign(i,(0, N._)`""`);return;case "number":n.elseIf((0, N._)`${a} == "boolean" || ${s} === null
|
|
4
|
+
|| (${a} == "string" && ${s} && ${s} == +${s})`).assign(i,(0, N._)`+${s}`);return;case "integer":n.elseIf((0, N._)`${a} === "boolean" || ${s} === null
|
|
5
|
+
|| (${a} === "string" && ${s} && ${s} == +${s} && !(${s} % 1))`).assign(i,(0, N._)`+${s}`);return;case "boolean":n.elseIf((0, N._)`${s} === "false" || ${s} === 0 || ${s} === null`).assign(i,false).elseIf((0, N._)`${s} === "true" || ${s} === 1`).assign(i,true);return;case "null":n.elseIf((0, N._)`${s} === "" || ${s} === 0 || ${s} === false`),n.assign(i,null);return;case "array":n.elseIf((0, N._)`${a} === "string" || ${a} === "number"
|
|
6
|
+
|| ${a} === "boolean" || ${s} === null`).assign(i,(0, N._)`[${s}]`);}}}function Bd({gen:t,parentData:e,parentDataProperty:r},n){t.if((0, N._)`${e} !== undefined`,()=>t.assign((0, N._)`${e}[${r}]`,n));}function us(t,e,r,n=xt.Correct){let s=n===xt.Correct?N.operators.EQ:N.operators.NEQ,o;switch(t){case "null":return (0, N._)`${e} ${s} null`;case "array":o=(0, N._)`Array.isArray(${e})`;break;case "object":o=(0, N._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case "integer":o=a((0, N._)`!(${e} % 1) && !isNaN(${e})`);break;case "number":o=a();break;default:return (0, N._)`typeof ${e} ${s} ${t}`}return n===xt.Correct?o:(0, N.not)(o);function a(i=N.nil){return (0, N.and)((0, N._)`typeof ${e} == "number"`,i,r?(0, N._)`isFinite(${e})`:N.nil)}}fe.checkDataType=us;function cs(t,e,r,n){if(t.length===1)return us(t[0],e,r,n);let s,o=(0, Ra.toHash)(t);if(o.array&&o.object){let a=(0, N._)`typeof ${e} != "object"`;s=o.null?a:(0, N._)`!${e} || ${a}`,delete o.null,delete o.array,delete o.object;}else s=N.nil;o.number&&delete o.integer;for(let a in o)s=(0, N.and)(s,us(a,e,r,n));return s}fe.checkDataTypes=cs;var Gd={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0, N._)`{type: ${t}}`:(0, N._)`{type: ${e}}`};function ds(t){let e=Kd(t);(0, Dd.reportError)(e,Gd);}fe.reportTypeError=ds;function Kd(t){let{gen:e,data:r,schema:n}=t,s=(0, Ra.schemaRefOrVal)(t,n,"type");return {gen:e,keyword:"type",data:r,schema:n.type,schemaCode:s,schemaValue:s,parentSchema:n,params:{},it:t}}});var Ta=$(Kr=>{Object.defineProperty(Kr,"__esModule",{value:true});Kr.assignDefaults=void 0;var Tt=F(),Ud=G();function Jd(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let s in r)xa(t,s,r[s].default);else e==="array"&&Array.isArray(n)&&n.forEach((s,o)=>xa(t,o,s.default));}Kr.assignDefaults=Jd;function xa(t,e,r){let{gen:n,compositeRule:s,data:o,opts:a}=t;if(r===void 0)return;let i=(0, Tt._)`${o}${(0, Tt.getProperty)(e)}`;if(s){(0, Ud.checkStrictMode)(t,`default is ignored for: ${i}`);return}let u=(0, Tt._)`${i} === undefined`;a.useDefaults==="empty"&&(u=(0, Tt._)`${u} || ${i} === null || ${i} === ""`),n.if(u,(0, Tt._)`${i} = ${(0, Tt.stringify)(r)}`);}});var Ce=$(H=>{Object.defineProperty(H,"__esModule",{value:true});H.validateUnion=H.validateArray=H.usePattern=H.callValidateCode=H.schemaProperties=H.allSchemaProperties=H.noPropertyInData=H.propertyInData=H.isOwnProperty=H.hasPropFunc=H.reportMissingProp=H.checkMissingProp=H.checkReportMissingProp=void 0;var Y=F(),ls=G(),Xe=Be(),Hd=G();function zd(t,e){let{gen:r,data:n,it:s}=t;r.if(ps(r,n,e,s.opts.ownProperties),()=>{t.setParams({missingProperty:(0, Y._)`${e}`},true),t.error();});}H.checkReportMissingProp=zd;function Wd({gen:t,data:e,it:{opts:r}},n,s){return (0, Y.or)(...n.map(o=>(0, Y.and)(ps(t,e,o,r.ownProperties),(0, Y._)`${s} = ${o}`)))}H.checkMissingProp=Wd;function Yd(t,e){t.setParams({missingProperty:e},true),t.error();}H.reportMissingProp=Yd;function Aa(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0, Y._)`Object.prototype.hasOwnProperty`})}H.hasPropFunc=Aa;function fs(t,e,r){return (0, Y._)`${Aa(t)}.call(${e}, ${r})`}H.isOwnProperty=fs;function Xd(t,e,r,n){let s=(0, Y._)`${e}${(0, Y.getProperty)(r)} !== undefined`;return n?(0, Y._)`${s} && ${fs(t,e,r)}`:s}H.propertyInData=Xd;function ps(t,e,r,n){let s=(0, Y._)`${e}${(0, Y.getProperty)(r)} === undefined`;return n?(0, Y.or)(s,(0, Y.not)(fs(t,e,r))):s}H.noPropertyInData=ps;function Ia(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}H.allSchemaProperties=Ia;function Qd(t,e){return Ia(e).filter(r=>!(0, ls.alwaysValidSchema)(t,e[r]))}H.schemaProperties=Qd;function Zd({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:s,errorPath:o},it:a},i,u,c){let d=c?(0, Y._)`${t}, ${e}, ${n}${s}`:e,f=[[Xe.default.instancePath,(0, Y.strConcat)(Xe.default.instancePath,o)],[Xe.default.parentData,a.parentData],[Xe.default.parentDataProperty,a.parentDataProperty],[Xe.default.rootData,Xe.default.rootData]];a.opts.dynamicRef&&f.push([Xe.default.dynamicAnchors,Xe.default.dynamicAnchors]);let S=(0, Y._)`${d}, ${r.object(...f)}`;return u!==Y.nil?(0, Y._)`${i}.call(${u}, ${S})`:(0, Y._)`${i}(${S})`}H.callValidateCode=Zd;var el=(0, Y._)`new RegExp`;function tl({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:s}=e.code,o=s(r,n);return t.scopeValue("pattern",{key:o.toString(),ref:o,code:(0, Y._)`${s.code==="new RegExp"?el:(0, Hd.useFunc)(t,s)}(${r}, ${n})`})}H.usePattern=tl;function rl(t){let{gen:e,data:r,keyword:n,it:s}=t,o=e.name("valid");if(s.allErrors){let i=e.let("valid",true);return a(()=>e.assign(i,false)),i}return e.var(o,true),a(()=>e.break()),o;function a(i){let u=e.const("len",(0, Y._)`${r}.length`);e.forRange("i",0,u,c=>{t.subschema({keyword:n,dataProp:c,dataPropType:ls.Type.Num},o),e.if((0, Y.not)(o),i);});}}H.validateArray=rl;function nl(t){let{gen:e,schema:r,keyword:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(u=>(0, ls.alwaysValidSchema)(s,u))&&!s.opts.unevaluated)return;let a=e.let("valid",false),i=e.name("_valid");e.block(()=>r.forEach((u,c)=>{let d=t.subschema({keyword:n,schemaProp:c,compositeRule:true},i);e.assign(a,(0, Y._)`${a} || ${i}`),t.mergeValidEvaluated(d,i)||e.if((0, Y.not)(a));})),t.result(a,()=>t.reset(),()=>t.error(true));}H.validateUnion=nl;});var ja=$(Oe=>{Object.defineProperty(Oe,"__esModule",{value:true});Oe.validateKeywordUsage=Oe.validSchemaType=Oe.funcKeywordCode=Oe.macroKeywordCode=void 0;var he=F(),mt=Be(),sl=Ce(),ol=rr();function al(t,e){let{gen:r,keyword:n,schema:s,parentSchema:o,it:a}=t,i=e.macro.call(a.self,s,o,a),u=Oa(r,n,i);a.opts.validateSchema!==false&&a.self.validateSchema(i,true);let c=r.name("valid");t.subschema({schema:i,schemaPath:he.nil,errSchemaPath:`${a.errSchemaPath}/${n}`,topSchemaRef:u,compositeRule:true},c),t.pass(c,()=>t.error(true));}Oe.macroKeywordCode=al;function il(t,e){var r;let{gen:n,keyword:s,schema:o,parentSchema:a,$data:i,it:u}=t;cl(u,e);let c=!i&&e.compile?e.compile.call(u.self,o,a,u):e.validate,d=Oa(n,s,c),f=n.let("valid");t.block$data(f,S),t.ok((r=e.valid)!==null&&r!==void 0?r:f);function S(){if(e.errors===false)l(),e.modifying&&Pa(t),m(()=>t.error());else {let v=e.async?g():p();e.modifying&&Pa(t),m(()=>ul(t,v));}}function g(){let v=n.let("ruleErrs",null);return n.try(()=>l((0, he._)`await `),y=>n.assign(f,false).if((0, he._)`${y} instanceof ${u.ValidationError}`,()=>n.assign(v,(0, he._)`${y}.errors`),()=>n.throw(y))),v}function p(){let v=(0, he._)`${d}.errors`;return n.assign(v,null),l(he.nil),v}function l(v=e.async?(0, he._)`await `:he.nil){let y=u.opts.passContext?mt.default.this:mt.default.self,b=!("compile"in e&&!i||e.schema===false);n.assign(f,(0, he._)`${v}${(0, sl.callValidateCode)(t,d,y,b)}`,e.modifying);}function m(v){var y;n.if((0, he.not)((y=e.valid)!==null&&y!==void 0?y:f),v);}}Oe.funcKeywordCode=il;function Pa(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0, he._)`${n.parentData}[${n.parentDataProperty}]`));}function ul(t,e){let{gen:r}=t;r.if((0, he._)`Array.isArray(${e})`,()=>{r.assign(mt.default.vErrors,(0, he._)`${mt.default.vErrors} === null ? ${e} : ${mt.default.vErrors}.concat(${e})`).assign(mt.default.errors,(0, he._)`${mt.default.vErrors}.length`),(0, ol.extendErrors)(t);},()=>t.error());}function cl({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function Oa(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0, he.stringify)(r)})}function dl(t,e,r=false){return !e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}Oe.validSchemaType=dl;function ll({schema:t,opts:e,self:r,errSchemaPath:n},s,o){if(Array.isArray(s.keyword)?!s.keyword.includes(o):s.keyword!==o)throw new Error("ajv implementation error");let a=s.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(t,i)))throw new Error(`parent schema must have dependencies of ${o}: ${a.join(",")}`);if(s.validateSchema&&!s.validateSchema(t[o])){let u=`keyword "${o}" value is invalid at path "${n}": `+r.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(u);else throw new Error(u)}}Oe.validateKeywordUsage=ll;});var qa=$(Qe=>{Object.defineProperty(Qe,"__esModule",{value:true});Qe.extendSubschemaMode=Qe.extendSubschemaData=Qe.getSubschema=void 0;var je=F(),Na=G();function fl(t,{keyword:e,schemaProp:r,schema:n,schemaPath:s,errSchemaPath:o,topSchemaRef:a}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let i=t.schema[e];return r===void 0?{schema:i,schemaPath:(0, je._)`${t.schemaPath}${(0, je.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:i[r],schemaPath:(0, je._)`${t.schemaPath}${(0, je.getProperty)(e)}${(0, je.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0, Na.escapeFragment)(r)}`}}if(n!==void 0){if(s===void 0||o===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return {schema:n,schemaPath:s,topSchemaRef:a,errSchemaPath:o}}throw new Error('either "keyword" or "schema" must be passed')}Qe.getSubschema=fl;function pl(t,e,{dataProp:r,dataPropType:n,data:s,dataTypes:o,propertyName:a}){if(s!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=e;if(r!==void 0){let{errorPath:c,dataPathArr:d,opts:f}=e,S=i.let("data",(0, je._)`${e.data}${(0, je.getProperty)(r)}`,true);u(S),t.errorPath=(0, je.str)`${c}${(0, Na.getErrorPath)(r,n,f.jsPropertySyntax)}`,t.parentDataProperty=(0, je._)`${r}`,t.dataPathArr=[...d,t.parentDataProperty];}if(s!==void 0){let c=s instanceof je.Name?s:i.let("data",s,true);u(c),a!==void 0&&(t.propertyName=a);}o&&(t.dataTypes=o);function u(c){t.data=c,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,c];}}Qe.extendSubschemaData=pl;function ml(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:s,allErrors:o}){n!==void 0&&(t.compositeRule=n),s!==void 0&&(t.createErrors=s),o!==void 0&&(t.allErrors=o),t.jtdDiscriminator=e,t.jtdMetadata=r;}Qe.extendSubschemaMode=ml;});var ms=$((Vg,Da)=>{Da.exports=function t(e,r){if(e===r)return true;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return false;var n,s,o;if(Array.isArray(e)){if(n=e.length,n!=r.length)return false;for(s=n;s--!==0;)if(!t(e[s],r[s]))return false;return true}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(o=Object.keys(e),n=o.length,n!==Object.keys(r).length)return false;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,o[s]))return false;for(s=n;s--!==0;){var a=o[s];if(!t(e[a],r[a]))return false}return true}return e!==e&&r!==r};});var Ma=$((Bg,Fa)=>{var Ze=Fa.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},s=r.post||function(){};Ur(e,n,s,t,"",t);};Ze.keywords={additionalItems:true,items:true,contains:true,additionalProperties:true,propertyNames:true,not:true,if:true,then:true,else:true};Ze.arrayKeywords={items:true,allOf:true,anyOf:true,oneOf:true};Ze.propsKeywords={$defs:true,definitions:true,properties:true,patternProperties:true,dependencies:true};Ze.skipKeywords={default:true,enum:true,const:true,required:true,maximum:true,minimum:true,exclusiveMaximum:true,exclusiveMinimum:true,multipleOf:true,maxLength:true,minLength:true,pattern:true,format:true,maxItems:true,minItems:true,uniqueItems:true,maxProperties:true,minProperties:true};function Ur(t,e,r,n,s,o,a,i,u,c){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,s,o,a,i,u,c);for(var d in n){var f=n[d];if(Array.isArray(f)){if(d in Ze.arrayKeywords)for(var S=0;S<f.length;S++)Ur(t,e,r,f[S],s+"/"+d+"/"+S,o,s,d,n,S);}else if(d in Ze.propsKeywords){if(f&&typeof f=="object")for(var g in f)Ur(t,e,r,f[g],s+"/"+d+"/"+hl(g),o,s,d,n,g);}else (d in Ze.keywords||t.allKeys&&!(d in Ze.skipKeywords))&&Ur(t,e,r,f,s+"/"+d,o,s,d,n);}r(n,s,o,a,i,u,c);}}function hl(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var sr=$(be=>{Object.defineProperty(be,"__esModule",{value:true});be.getSchemaRefs=be.resolveUrl=be.normalizeId=be._getFullPath=be.getFullPath=be.inlineRef=void 0;var gl=G(),yl=ms(),vl=Ma(),Sl=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function bl(t,e=true){return typeof t=="boolean"?true:e===true?!hs(t):e?La(t)<=e:false}be.inlineRef=bl;var wl=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hs(t){for(let e in t){if(wl.has(e))return true;let r=t[e];if(Array.isArray(r)&&r.some(hs)||typeof r=="object"&&hs(r))return true}return false}function La(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Sl.has(r)&&(typeof t[r]=="object"&&(0, gl.eachItem)(t[r],n=>e+=La(n)),e===1/0))return 1/0}return e}function Va(t,e="",r){r!==false&&(e=At(e));let n=t.parse(e);return Ba(t,n)}be.getFullPath=Va;function Ba(t,e){return t.serialize(e).split("#")[0]+"#"}be._getFullPath=Ba;var kl=/#\/?$/;function At(t){return t?t.replace(kl,""):""}be.normalizeId=At;function _l(t,e,r){return r=At(r),t.resolve(e,r)}be.resolveUrl=_l;var $l=/^[a-z_][-a-z0-9._]*$/i;function Rl(t,e){if(typeof t=="boolean")return {};let{schemaId:r,uriResolver:n}=this.opts,s=At(t[r]||e),o={"":s},a=Va(n,s,false),i={},u=new Set;return vl(t,{allKeys:true},(f,S,g,p)=>{if(p===void 0)return;let l=a+S,m=o[p];typeof f[r]=="string"&&(m=v.call(this,f[r])),y.call(this,f.$anchor),y.call(this,f.$dynamicAnchor),o[S]=m;function v(b){let _=this.opts.uriResolver.resolve;if(b=At(m?_(m,b):b),u.has(b))throw d(b);u.add(b);let k=this.refs[b];return typeof k=="string"&&(k=this.refs[k]),typeof k=="object"?c(f,k.schema,b):b!==At(l)&&(b[0]==="#"?(c(f,i[b],b),i[b]=f):this.refs[b]=l),b}function y(b){if(typeof b=="string"){if(!$l.test(b))throw new Error(`invalid anchor "${b}"`);v.call(this,`#${b}`);}}}),i;function c(f,S,g){if(S!==void 0&&!yl(f,S))throw d(g)}function d(f){return new Error(`reference "${f}" resolves to more than one schema`)}}be.getSchemaRefs=Rl;});var ir=$(et=>{Object.defineProperty(et,"__esModule",{value:true});et.getData=et.KeywordCxt=et.validateFunctionCode=void 0;var Ha=ka(),Ga=nr(),ys=is(),Jr=nr(),Cl=Ta(),ar=ja(),gs=qa(),E=F(),I=Be(),El=sr(),Ge=G(),or=rr();function xl(t){if(Ya(t)&&(Xa(t),Wa(t))){Il(t);return}za(t,()=>(0, Ha.topBoolOrEmptySchema)(t));}et.validateFunctionCode=xl;function za({gen:t,validateName:e,schema:r,schemaEnv:n,opts:s},o){s.code.es5?t.func(e,(0, E._)`${I.default.data}, ${I.default.valCxt}`,n.$async,()=>{t.code((0, E._)`"use strict"; ${Ka(r,s)}`),Al(t,s),t.code(o);}):t.func(e,(0, E._)`${I.default.data}, ${Tl(s)}`,n.$async,()=>t.code(Ka(r,s)).code(o));}function Tl(t){return (0, E._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${t.dynamicRef?(0, E._)`, ${I.default.dynamicAnchors}={}`:E.nil}}={}`}function Al(t,e){t.if(I.default.valCxt,()=>{t.var(I.default.instancePath,(0, E._)`${I.default.valCxt}.${I.default.instancePath}`),t.var(I.default.parentData,(0, E._)`${I.default.valCxt}.${I.default.parentData}`),t.var(I.default.parentDataProperty,(0, E._)`${I.default.valCxt}.${I.default.parentDataProperty}`),t.var(I.default.rootData,(0, E._)`${I.default.valCxt}.${I.default.rootData}`),e.dynamicRef&&t.var(I.default.dynamicAnchors,(0, E._)`${I.default.valCxt}.${I.default.dynamicAnchors}`);},()=>{t.var(I.default.instancePath,(0, E._)`""`),t.var(I.default.parentData,(0, E._)`undefined`),t.var(I.default.parentDataProperty,(0, E._)`undefined`),t.var(I.default.rootData,I.default.data),e.dynamicRef&&t.var(I.default.dynamicAnchors,(0, E._)`{}`);});}function Il(t){let{schema:e,opts:r,gen:n}=t;za(t,()=>{r.$comment&&e.$comment&&Za(t),ql(t),n.let(I.default.vErrors,null),n.let(I.default.errors,0),r.unevaluated&&Pl(t),Qa(t),Ml(t);});}function Pl(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0, E._)`${r}.evaluated`),e.if((0, E._)`${t.evaluated}.dynamicProps`,()=>e.assign((0, E._)`${t.evaluated}.props`,(0, E._)`undefined`)),e.if((0, E._)`${t.evaluated}.dynamicItems`,()=>e.assign((0, E._)`${t.evaluated}.items`,(0, E._)`undefined`));}function Ka(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0, E._)`/*# sourceURL=${r} */`:E.nil}function Ol(t,e){if(Ya(t)&&(Xa(t),Wa(t))){jl(t,e);return}(0, Ha.boolOrEmptySchema)(t,e);}function Wa({schema:t,self:e}){if(typeof t=="boolean")return !t;for(let r in t)if(e.RULES.all[r])return true;return false}function Ya(t){return typeof t.schema!="boolean"}function jl(t,e){let{schema:r,gen:n,opts:s}=t;s.$comment&&r.$comment&&Za(t),Dl(t),Fl(t);let o=n.const("_errs",I.default.errors);Qa(t,o),n.var(e,(0, E._)`${o} === ${I.default.errors}`);}function Xa(t){(0, Ge.checkUnknownRules)(t),Nl(t);}function Qa(t,e){if(t.opts.jtd)return Ua(t,[],false,e);let r=(0, Ga.getSchemaTypes)(t.schema),n=(0, Ga.coerceAndCheckDataType)(t,r);Ua(t,r,!n,e);}function Nl(t){let{schema:e,errSchemaPath:r,opts:n,self:s}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0, Ge.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${r}"`);}function ql(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0, Ge.checkStrictMode)(t,"default is ignored in the schema root");}function Dl(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0, El.resolveUrl)(t.opts.uriResolver,t.baseId,e));}function Fl(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Za({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:s}){let o=r.$comment;if(s.$comment===true)t.code((0, E._)`${I.default.self}.logger.log(${o})`);else if(typeof s.$comment=="function"){let a=(0, E.str)`${n}/$comment`,i=t.scopeValue("root",{ref:e.root});t.code((0, E._)`${I.default.self}.opts.$comment(${o}, ${a}, ${i}.schema)`);}}function Ml(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:s,opts:o}=t;r.$async?e.if((0, E._)`${I.default.errors} === 0`,()=>e.return(I.default.data),()=>e.throw((0, E._)`new ${s}(${I.default.vErrors})`)):(e.assign((0, E._)`${n}.errors`,I.default.vErrors),o.unevaluated&&Ll(t),e.return((0, E._)`${I.default.errors} === 0`));}function Ll({gen:t,evaluated:e,props:r,items:n}){r instanceof E.Name&&t.assign((0, E._)`${e}.props`,r),n instanceof E.Name&&t.assign((0, E._)`${e}.items`,n);}function Ua(t,e,r,n){let{gen:s,schema:o,data:a,allErrors:i,opts:u,self:c}=t,{RULES:d}=c;if(o.$ref&&(u.ignoreKeywordsWithRef||!(0, Ge.schemaHasRulesButRef)(o,d))){s.block(()=>ti(t,"$ref",d.all.$ref.definition));return}u.jtd||Vl(t,e),s.block(()=>{for(let S of d.rules)f(S);f(d.post);});function f(S){(0, ys.shouldUseGroup)(o,S)&&(S.type?(s.if((0, Jr.checkDataType)(S.type,a,u.strictNumbers)),Ja(t,S),e.length===1&&e[0]===S.type&&r&&(s.else(),(0, Jr.reportTypeError)(t)),s.endIf()):Ja(t,S),i||s.if((0, E._)`${I.default.errors} === ${n||0}`));}}function Ja(t,e){let{gen:r,schema:n,opts:{useDefaults:s}}=t;s&&(0, Cl.assignDefaults)(t,e.type),r.block(()=>{for(let o of e.rules)(0, ys.shouldUseRule)(n,o)&&ti(t,o.keyword,o.definition,e.type);});}function Vl(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(Bl(t,e),t.opts.allowUnionTypes||Gl(t,e),Kl(t,t.dataTypes));}function Bl(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{ei(t.dataTypes,r)||vs(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`);}),Jl(t,e);}}function Gl(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&vs(t,"use allowUnionTypes to allow union type keyword");}function Kl(t,e){let r=t.self.RULES.all;for(let n in r){let s=r[n];if(typeof s=="object"&&(0, ys.shouldUseRule)(t.schema,s)){let{type:o}=s.definition;o.length&&!o.some(a=>Ul(e,a))&&vs(t,`missing type "${o.join(",")}" for keyword "${n}"`);}}}function Ul(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function ei(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Jl(t,e){let r=[];for(let n of t.dataTypes)ei(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r;}function vs(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0, Ge.checkStrictMode)(t,e,t.opts.strictTypes);}var Hr=class{constructor(e,r,n){if((0, ar.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0, Ge.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",ri(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0, ar.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==false)&&(this.errsCount=e.gen.const("_errs",I.default.errors));}result(e,r,n){this.failResult((0, E.not)(e),r,n);}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else();}pass(e,r){this.failResult((0, E.not)(e),void 0,r);}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(false);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else();}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:r}=this;this.fail((0, E._)`${r} !== undefined && (${(0, E.or)(this.invalid$data(),e)})`);}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n);}_error(e,r){(e?or.reportExtraError:or.reportError)(this,this.def.error,r);}$dataError(){(0, or.reportError)(this,this.def.$dataError||or.keyword$DataError);}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0, or.resetErrorsCount)(this.gen,this.errsCount);}ok(e){this.allErrors||this.gen.if(e);}setParams(e,r){r?Object.assign(this.params,e):this.params=e;}block$data(e,r,n=E.nil){this.gen.block(()=>{this.check$data(e,n),r();});}check$data(e=E.nil,r=E.nil){if(!this.$data)return;let{gen:n,schemaCode:s,schemaType:o,def:a}=this;n.if((0, E.or)((0, E._)`${s} === undefined`,r)),e!==E.nil&&n.assign(e,true),(o.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==E.nil&&n.assign(e,false)),n.else();}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:s,it:o}=this;return (0, E.or)(a(),i());function a(){if(n.length){if(!(r instanceof E.Name))throw new Error("ajv implementation error");let u=Array.isArray(n)?n:[n];return (0, E._)`${(0, Jr.checkDataTypes)(u,r,o.opts.strictNumbers,Jr.DataType.Wrong)}`}return E.nil}function i(){if(s.validateSchema){let u=e.scopeValue("validate$data",{ref:s.validateSchema});return (0, E._)`!${u}(${r})`}return E.nil}}subschema(e,r){let n=(0, gs.getSubschema)(this.it,e);(0, gs.extendSubschemaData)(n,this.it,e),(0, gs.extendSubschemaMode)(n,e);let s={...this.it,...n,items:void 0,props:void 0};return Ol(s,r),s}mergeEvaluated(e,r){let{it:n,gen:s}=this;n.opts.unevaluated&&(n.props!==true&&e.props!==void 0&&(n.props=Ge.mergeEvaluated.props(s,e.props,n.props,r)),n.items!==true&&e.items!==void 0&&(n.items=Ge.mergeEvaluated.items(s,e.items,n.items,r)));}mergeValidEvaluated(e,r){let{it:n,gen:s}=this;if(n.opts.unevaluated&&(n.props!==true||n.items!==true))return s.if(r,()=>this.mergeEvaluated(e,E.Name)),true}};et.KeywordCxt=Hr;function ti(t,e,r,n){let s=new Hr(t,r,e);"code"in r?r.code(s,n):s.$data&&r.validate?(0, ar.funcKeywordCode)(s,r):"macro"in r?(0, ar.macroKeywordCode)(s,r):(r.compile||r.validate)&&(0, ar.funcKeywordCode)(s,r);}var Hl=/^\/(?:[^~]|~0|~1)*$/,zl=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ri(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let s,o;if(t==="")return I.default.rootData;if(t[0]==="/"){if(!Hl.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);s=t,o=I.default.rootData;}else {let c=zl.exec(t);if(!c)throw new Error(`Invalid JSON-pointer: ${t}`);let d=+c[1];if(s=c[2],s==="#"){if(d>=e)throw new Error(u("property/index",d));return n[e-d]}if(d>e)throw new Error(u("data",d));if(o=r[e-d],!s)return o}let a=o,i=s.split("/");for(let c of i)c&&(o=(0, E._)`${o}${(0, E.getProperty)((0, Ge.unescapeJsonPointer)(c))}`,a=(0, E._)`${a} && ${o}`);return a;function u(c,d){return `Cannot access ${c} ${d} levels up, current level is ${e}`}}et.getData=ri;});var zr=$(bs=>{Object.defineProperty(bs,"__esModule",{value:true});var Ss=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=true;}};bs.default=Ss;});var ur=$(_s=>{Object.defineProperty(_s,"__esModule",{value:true});var ws=sr(),ks=class extends Error{constructor(e,r,n,s){super(s||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0, ws.resolveUrl)(e,r,n),this.missingSchema=(0, ws.normalizeId)((0, ws.getFullPath)(e,this.missingRef));}};_s.default=ks;});var Yr=$(Ee=>{Object.defineProperty(Ee,"__esModule",{value:true});Ee.resolveSchema=Ee.getCompilingSchema=Ee.resolveRef=Ee.compileSchema=Ee.SchemaEnv=void 0;var Ae=F(),Wl=zr(),ht=Be(),Ie=sr(),ni=G(),Yl=ir(),It=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0, Ie.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={};}};Ee.SchemaEnv=It;function Rs(t){let e=si.call(this,t);if(e)return e;let r=(0, Ie.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:s}=this.opts.code,{ownProperties:o}=this.opts,a=new Ae.CodeGen(this.scope,{es5:n,lines:s,ownProperties:o}),i;t.$async&&(i=a.scopeValue("Error",{ref:Wl.default,code:(0, Ae._)`require("ajv/dist/runtime/validation_error").default`}));let u=a.scopeName("validate");t.validateName=u;let c={gen:a,allErrors:this.opts.allErrors,data:ht.default.data,parentData:ht.default.parentData,parentDataProperty:ht.default.parentDataProperty,dataNames:[ht.default.data],dataPathArr:[Ae.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===true?{ref:t.schema,code:(0, Ae.stringify)(t.schema)}:{ref:t.schema}),validateName:u,ValidationError:i,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ae.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0, Ae._)`""`,opts:this.opts,self:this},d;try{this._compilations.add(t),(0,Yl.validateFunctionCode)(c),a.optimize(this.opts.code.optimize);let f=a.toString();d=`${a.scopeRefs(ht.default.scope)}return ${f}`,this.opts.code.process&&(d=this.opts.code.process(d,t));let g=new Function(`${ht.default.self}`,`${ht.default.scope}`,d)(this,this.scope.get());if(this.scope.value(u,{ref:g}),g.errors=null,g.schema=t.schema,g.schemaEnv=t,t.$async&&(g.$async=!0),this.opts.code.source===!0&&(g.source={validateName:u,validateCode:f,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:l}=c;g.evaluated={props:p instanceof Ae.Name?void 0:p,items:l instanceof Ae.Name?void 0:l,dynamicProps:p instanceof Ae.Name,dynamicItems:l instanceof Ae.Name},g.source&&(g.source.evaluated=(0,Ae.stringify)(g.evaluated));}return t.validate=g,t}catch(f){throw delete t.validate,delete t.validateName,d&&this.logger.error("Error compiling schema, function code:",d),f}finally{this._compilations.delete(t);}}Ee.compileSchema=Rs;function Xl(t,e,r){var n;r=(0, Ie.resolveUrl)(this.opts.uriResolver,e,r);let s=t.refs[r];if(s)return s;let o=ef.call(this,t,r);if(o===void 0){let a=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:i}=this.opts;a&&(o=new It({schema:a,schemaId:i,root:t,baseId:e}));}if(o!==void 0)return t.refs[r]=Ql.call(this,o)}Ee.resolveRef=Xl;function Ql(t){return (0, Ie.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Rs.call(this,t)}function si(t){for(let e of this._compilations)if(Zl(e,t))return e}Ee.getCompilingSchema=si;function Zl(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function ef(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||Wr.call(this,t,e)}function Wr(t,e){let r=this.opts.uriResolver.parse(e),n=(0, Ie._getFullPath)(this.opts.uriResolver,r),s=(0, Ie.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===s)return $s.call(this,r,t);let o=(0, Ie.normalizeId)(n),a=this.refs[o]||this.schemas[o];if(typeof a=="string"){let i=Wr.call(this,t,a);return typeof i?.schema!="object"?void 0:$s.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Rs.call(this,a),o===(0, Ie.normalizeId)(e)){let{schema:i}=a,{schemaId:u}=this.opts,c=i[u];return c&&(s=(0, Ie.resolveUrl)(this.opts.uriResolver,s,c)),new It({schema:i,schemaId:u,root:t,baseId:s})}return $s.call(this,r,a)}}Ee.resolveSchema=Wr;var tf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function $s(t,{baseId:e,schema:r,root:n}){var s;if(((s=t.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let i of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let u=r[(0, ni.unescapeFragment)(i)];if(u===void 0)return;r=u;let c=typeof r=="object"&&r[this.opts.schemaId];!tf.has(i)&&c&&(e=(0, Ie.resolveUrl)(this.opts.uriResolver,e,c));}let o;if(typeof r!="boolean"&&r.$ref&&!(0, ni.schemaHasRulesButRef)(r,this.RULES)){let i=(0, Ie.resolveUrl)(this.opts.uriResolver,e,r.$ref);o=Wr.call(this,n,i);}let{schemaId:a}=this.opts;if(o=o||new It({schema:r,schemaId:a,root:n,baseId:e}),o.schema!==o.root.schema)return o}});var oi=$((zg,rf)=>{rf.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:false};});var Es=$((Wg,ci)=>{var nf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ii=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function Cs(t){let e="",r=0,n=0;for(n=0;n<t.length;n++)if(r=t[n].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];break}for(n+=1;n<t.length;n++){if(r=t[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return "";e+=t[n];}return e}var sf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ai(t){return t.length=0,true}function of(t,e,r){if(t.length){let n=Cs(t);if(n!=="")e.push(n);else return r.error=true,false;t.length=0;}return true}function af(t){let e=0,r={error:false,address:"",zone:""},n=[],s=[],o=false,a=false,i=of;for(let u=0;u<t.length;u++){let c=t[u];if(!(c==="["||c==="]"))if(c===":"){if(o===true&&(a=true),!i(s,n,r))break;if(++e>7){r.error=true;break}u>0&&t[u-1]===":"&&(o=true),n.push(":");continue}else if(c==="%"){if(!i(s,n,r))break;i=ai;}else {s.push(c);continue}}return s.length&&(i===ai?r.zone=s.join(""):a?n.push(s.join("")):n.push(Cs(s))),r.address=n.join(""),r}function ui(t){if(uf(t,":")<2)return {host:t,isIPV6:false};let e=af(t);if(e.error)return {host:t,isIPV6:false};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:true,escapedHost:n}}}function uf(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function cf(t){let e=t,r=[],n=-1,s=0;for(;s=e.length;){if(s===1){if(e===".")break;if(e==="/"){r.push("/");break}else {r.push(e);break}}else if(s===2){if(e[0]==="."){if(e[1]===".")break;if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&(e[1]==="."||e[1]==="/")){r.push("/");break}}else if(s===3&&e==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(e[0]==="."){if(e[1]==="."){if(e[2]==="/"){e=e.slice(3);continue}}else if(e[1]==="/"){e=e.slice(2);continue}}else if(e[0]==="/"&&e[1]==="."){if(e[2]==="/"){e=e.slice(2);continue}else if(e[2]==="."&&e[3]==="/"){e=e.slice(3),r.length!==0&&r.pop();continue}}if((n=e.indexOf("/",1))===-1){r.push(e);break}else r.push(e.slice(0,n)),e=e.slice(n);}return r.join("")}function df(t,e){let r=e!==true?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function lf(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!ii(r)){let n=ui(r);n.isIPV6===true?r=`[${n.escapedHost}]`:r=t.host;}e.push(r);}return (typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}ci.exports={nonSimpleDomain:sf,recomposeAuthority:lf,normalizeComponentEncoding:df,removeDotSegments:cf,isIPv4:ii,isUUID:nf,normalizeIPv6:ui,stringArrayToHexStripped:Cs};});var mi=$((Yg,pi)=>{var{isUUID:ff}=Es(),pf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,mf=["http","https","ws","wss","urn","urn:uuid"];function hf(t){return mf.indexOf(t)!==-1}function xs(t){return t.secure===true?true:t.secure===false?false:t.scheme?t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S"):false}function di(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function li(t){let e=String(t.scheme).toLowerCase()==="https";return (t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function gf(t){return t.secure=xs(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function yf(t){if((t.port===(xs(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0;}return t.fragment=void 0,t}function vf(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(pf);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let s=`${n}:${e.nid||t.nid}`,o=Ts(s);t.path=void 0,o&&(t=o.parse(t,e));}else t.error=t.error||"URN can not be parsed.";return t}function Sf(t,e){if(t.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),s=`${r}:${e.nid||n}`,o=Ts(s);o&&(t=o.serialize(t,e));let a=t,i=t.nss;return a.path=`${n||e.nid}:${i}`,e.skipEscape=true,a}function bf(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!ff(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function wf(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var fi={scheme:"http",domainHost:true,parse:di,serialize:li},kf={scheme:"https",domainHost:fi.domainHost,parse:di,serialize:li},Xr={scheme:"ws",domainHost:true,parse:gf,serialize:yf},_f={scheme:"wss",domainHost:Xr.domainHost,parse:Xr.parse,serialize:Xr.serialize},$f={scheme:"urn",parse:vf,serialize:Sf,skipNormalize:true},Rf={scheme:"urn:uuid",parse:bf,serialize:wf,skipNormalize:true},Qr={http:fi,https:kf,ws:Xr,wss:_f,urn:$f,"urn:uuid":Rf};Object.setPrototypeOf(Qr,null);function Ts(t){return t&&(Qr[t]||Qr[t.toLowerCase()])||void 0}pi.exports={wsIsSecure:xs,SCHEMES:Qr,isValidSchemeName:hf,getSchemeHandler:Ts};});var yi=$((Xg,en)=>{var{normalizeIPv6:Cf,removeDotSegments:cr,recomposeAuthority:Ef,normalizeComponentEncoding:Zr,isIPv4:xf,nonSimpleDomain:Tf}=Es(),{SCHEMES:Af,getSchemeHandler:hi}=mi();function If(t,e){return typeof t=="string"?t=Ne(Ke(t,e),e):typeof t=="object"&&(t=Ke(Ne(t,e),e)),t}function Pf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},s=gi(Ke(t,n),Ke(e,n),n,true);return n.skipEscape=true,Ne(s,n)}function gi(t,e,r,n){let s={};return n||(t=Ke(Ne(t,r),r),e=Ke(Ne(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=cr(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=cr(e.path||""),s.query=e.query):(e.path?(e.path[0]==="/"?s.path=cr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?s.path="/"+e.path:t.path?s.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=cr(s.path)),s.query=e.query):(s.path=t.path,e.query!==void 0?s.query=e.query:s.query=t.query),s.userinfo=t.userinfo,s.host=t.host,s.port=t.port),s.scheme=t.scheme),s.fragment=e.fragment,s}function Of(t,e,r){return typeof t=="string"?(t=unescape(t),t=Ne(Zr(Ke(t,r),true),{...r,skipEscape:true})):typeof t=="object"&&(t=Ne(Zr(t,true),{...r,skipEscape:true})),typeof e=="string"?(e=unescape(e),e=Ne(Zr(Ke(e,r),true),{...r,skipEscape:true})):typeof e=="object"&&(e=Ne(Zr(e,true),{...r,skipEscape:true})),t.toLowerCase()===e.toLowerCase()}function Ne(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),s=[],o=hi(n.scheme||r.scheme);o&&o.serialize&&o.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&s.push(r.scheme,":");let a=Ef(r);if(a!==void 0&&(n.reference!=="suffix"&&s.push("//"),s.push(a),r.path&&r.path[0]!=="/"&&s.push("/")),r.path!==void 0){let i=r.path;!n.absolutePath&&(!o||!o.absolutePath)&&(i=cr(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),s.push(i);}return r.query!==void 0&&s.push("?",r.query),r.fragment!==void 0&&s.push("#",r.fragment),s.join("")}var jf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Ke(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=false;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(jf);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host)if(xf(n.host)===false){let u=Cf(n.host);n.host=u.host.toLowerCase(),s=u.isIPV6;}else s=true;n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=hi(r.scheme||n.scheme);if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===false&&Tf(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase());}catch(i){n.error=n.error||"Host's domain name can not be converted to ASCII: "+i;}(!a||a&&!a.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=unescape(n.host))),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r);}else n.error=n.error||"URI can not be parsed.";return n}var As={SCHEMES:Af,normalize:If,resolve:Pf,resolveComponent:gi,equal:Of,serialize:Ne,parse:Ke};en.exports=As;en.exports.default=As;en.exports.fastUri=As;});var Si=$(Is=>{Object.defineProperty(Is,"__esModule",{value:true});var vi=yi();vi.code='require("ajv/dist/runtime/uri").default';Is.default=vi;});var Ei=$(ie=>{Object.defineProperty(ie,"__esModule",{value:true});ie.CodeGen=ie.Name=ie.nil=ie.stringify=ie.str=ie._=ie.KeywordCxt=void 0;var Nf=ir();Object.defineProperty(ie,"KeywordCxt",{enumerable:true,get:function(){return Nf.KeywordCxt}});var Pt=F();Object.defineProperty(ie,"_",{enumerable:true,get:function(){return Pt._}});Object.defineProperty(ie,"str",{enumerable:true,get:function(){return Pt.str}});Object.defineProperty(ie,"stringify",{enumerable:true,get:function(){return Pt.stringify}});Object.defineProperty(ie,"nil",{enumerable:true,get:function(){return Pt.nil}});Object.defineProperty(ie,"Name",{enumerable:true,get:function(){return Pt.Name}});Object.defineProperty(ie,"CodeGen",{enumerable:true,get:function(){return Pt.CodeGen}});var qf=zr(),$i=ur(),Df=as(),dr=Yr(),Ff=F(),lr=sr(),tn=nr(),Os=G(),bi=oi(),Mf=Si(),Ri=(t,e)=>new RegExp(t,e);Ri.code="new RegExp";var Lf=["removeAdditional","useDefaults","coerceTypes"],Vf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Bf={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Gf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},wi=200;function Kf(t){var e,r,n,s,o,a,i,u,c,d,f,S,g,p,l,m,v,y,b,_,k,A,R,O,J;let q=t.strict,Q=(e=t.code)===null||e===void 0?void 0:e.optimize,ne=Q===true||Q===void 0?1:Q||0,ae=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:Ri,Ue=(s=t.uriResolver)!==null&&s!==void 0?s:Mf.default;return {strictSchema:(a=(o=t.strictSchema)!==null&&o!==void 0?o:q)!==null&&a!==void 0?a:true,strictNumbers:(u=(i=t.strictNumbers)!==null&&i!==void 0?i:q)!==null&&u!==void 0?u:true,strictTypes:(d=(c=t.strictTypes)!==null&&c!==void 0?c:q)!==null&&d!==void 0?d:"log",strictTuples:(S=(f=t.strictTuples)!==null&&f!==void 0?f:q)!==null&&S!==void 0?S:"log",strictRequired:(p=(g=t.strictRequired)!==null&&g!==void 0?g:q)!==null&&p!==void 0?p:false,code:t.code?{...t.code,optimize:ne,regExp:ae}:{optimize:ne,regExp:ae},loopRequired:(l=t.loopRequired)!==null&&l!==void 0?l:wi,loopEnum:(m=t.loopEnum)!==null&&m!==void 0?m:wi,meta:(v=t.meta)!==null&&v!==void 0?v:true,messages:(y=t.messages)!==null&&y!==void 0?y:true,inlineRefs:(b=t.inlineRefs)!==null&&b!==void 0?b:true,schemaId:(_=t.schemaId)!==null&&_!==void 0?_:"$id",addUsedSchema:(k=t.addUsedSchema)!==null&&k!==void 0?k:true,validateSchema:(A=t.validateSchema)!==null&&A!==void 0?A:true,validateFormats:(R=t.validateFormats)!==null&&R!==void 0?R:true,unicodeRegExp:(O=t.unicodeRegExp)!==null&&O!==void 0?O:true,int32range:(J=t.int32range)!==null&&J!==void 0?J:true,uriResolver:Ue}}var fr=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Kf(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Ff.ValueScope({scope:{},prefixes:Vf,es5:r,lines:n}),this.logger=Yf(e.logger);let s=e.validateFormats;e.validateFormats=false,this.RULES=(0, Df.getRules)(),ki.call(this,Bf,e,"NOT SUPPORTED"),ki.call(this,Gf,e,"DEPRECATED","warn"),this._metaOpts=zf.call(this),e.formats&&Jf.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Hf.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Uf.call(this),e.validateFormats=s;}_addVocabularies(){this.addKeyword("$async");}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,s=bi;n==="id"&&(s={...bi},s.id=s.$id,delete s.$id),r&&e&&this.addMetaSchema(s,s[n],false);}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let s=n(r);return "$async"in n||(this.errors=n.errors),s}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return s.call(this,e,r);async function s(d,f){await o.call(this,d.$schema);let S=this._addSchema(d,f);return S.validate||a.call(this,S)}async function o(d){d&&!this.getSchema(d)&&await s.call(this,{$ref:d},true);}async function a(d){try{return this._compileSchemaEnv(d)}catch(f){if(!(f instanceof $i.default))throw f;return i.call(this,f),await u.call(this,f.missingSchema),a.call(this,d)}}function i({missingSchema:d,missingRef:f}){if(this.refs[d])throw new Error(`AnySchema ${d} is loaded but ${f} cannot be resolved`)}async function u(d){let f=await c.call(this,d);this.refs[d]||await o.call(this,f.$schema),this.refs[d]||this.addSchema(f,d,r);}async function c(d){let f=this._loading[d];if(f)return f;try{return await(this._loading[d]=n(d))}finally{delete this._loading[d];}}}addSchema(e,r,n,s=this.opts.validateSchema){if(Array.isArray(e)){for(let a of e)this.addSchema(a,void 0,n,s);return this}let o;if(typeof e=="object"){let{schemaId:a}=this.opts;if(o=e[a],o!==void 0&&typeof o!="string")throw new Error(`schema ${a} must be string`)}return r=(0, lr.normalizeId)(r||o),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,s,true),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,true,n),this}validateSchema(e,r){if(typeof e=="boolean")return true;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,true;let s=this.validate(n,e);if(!s&&r){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw new Error(o)}return s}getSchema(e){let r;for(;typeof(r=_i.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,s=new dr.SchemaEnv({schema:{},schemaId:n});if(r=dr.resolveSchema.call(this,s,e),!r)return;this.refs[e]=r;}return r.validate||this._compileSchemaEnv(r)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case "undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case "string":{let r=_i.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case "object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0, lr.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Qf.call(this,n,r),!r)return (0, Os.eachItem)(n,o=>Ps.call(this,o)),this;ep.call(this,r);let s={...r,type:(0, tn.getJSONTypes)(r.type),schemaType:(0, tn.getJSONTypes)(r.schemaType)};return (0, Os.eachItem)(n,s.type.length===0?o=>Ps.call(this,o,s):o=>s.type.forEach(a=>Ps.call(this,o,s,a))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let s=n.rules.findIndex(o=>o.keyword===e);s>=0&&n.rules.splice(s,1);}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return !e||e.length===0?"No errors":e.map(s=>`${n}${s.instancePath} ${s.message}`).reduce((s,o)=>s+r+o)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of r){let o=s.split("/").slice(1),a=e;for(let i of o)a=a[i];for(let i in n){let u=n[i];if(typeof u!="object")continue;let{$data:c}=u.definition,d=a[i];c&&d&&(a[i]=Ci(d));}}return e}_removeAllSchemas(e,r){for(let n in e){let s=e[n];(!r||r.test(n))&&(typeof s=="string"?delete e[n]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[n]));}}_addSchema(e,r,n,s=this.opts.validateSchema,o=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof e=="object")a=e[i];else {if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let u=this._cache.get(e);if(u!==void 0)return u;n=(0, lr.normalizeId)(a||n);let c=lr.getSchemaRefs.call(this,e,n);return u=new dr.SchemaEnv({schema:e,schemaId:i,meta:r,baseId:n,localRefs:c}),this._cache.set(u.schema,u),o&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=u),s&&this.validateSchema(e,true),u}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):dr.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{dr.compileSchema.call(this,e);}finally{this.opts=r;}}};fr.ValidationError=qf.default;fr.MissingRefError=$i.default;ie.default=fr;function ki(t,e,r,n="error"){for(let s in t){let o=s;o in e&&this.logger[n](`${r}: option ${s}. ${t[o]}`);}}function _i(t){return t=(0, lr.normalizeId)(t),this.schemas[t]||this.refs[t]}function Uf(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e);}function Jf(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e);}}function Hf(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r);}}function zf(){let t={...this.opts};for(let e of Lf)delete t[e];return t}var Wf={log(){},warn(){},error(){}};function Yf(t){if(t===false)return Wf;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var Xf=/^[a-z_$][a-z0-9_$:-]*$/i;function Qf(t,e){let{RULES:r}=this;if((0, Os.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Xf.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function Ps(t,e,r){var n;let s=e?.post;if(r&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:o}=this,a=s?o.post:o.rules.find(({type:u})=>u===r);if(a||(a={type:r,rules:[]},o.rules.push(a)),o.keywords[t]=true,!e)return;let i={keyword:t,definition:{...e,type:(0, tn.getJSONTypes)(e.type),schemaType:(0, tn.getJSONTypes)(e.schemaType)}};e.before?Zf.call(this,a,i,e.before):a.rules.push(i),o.all[t]=i,(n=e.implements)===null||n===void 0||n.forEach(u=>this.addKeyword(u));}function Zf(t,e,r){let n=t.rules.findIndex(s=>s.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`));}function ep(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=Ci(e)),t.validateSchema=this.compile(e,true));}var tp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ci(t){return {anyOf:[t,tp]}}});var xi=$(js=>{Object.defineProperty(js,"__esModule",{value:true});var rp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};js.default=rp;});var Pi=$(gt=>{Object.defineProperty(gt,"__esModule",{value:true});gt.callRef=gt.getValidate=void 0;var np=ur(),Ti=Ce(),we=F(),Ot=Be(),Ai=Yr(),rn=G(),sp={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:s,schemaEnv:o,validateName:a,opts:i,self:u}=n,{root:c}=o;if((r==="#"||r==="#/")&&s===c.baseId)return f();let d=Ai.resolveRef.call(u,c,s,r);if(d===void 0)throw new np.default(n.opts.uriResolver,s,r);if(d instanceof Ai.SchemaEnv)return S(d);return g(d);function f(){if(o===c)return nn(t,a,o,o.$async);let p=e.scopeValue("root",{ref:c});return nn(t,(0, we._)`${p}.validate`,c,c.$async)}function S(p){let l=Ii(t,p);nn(t,l,p,p.$async);}function g(p){let l=e.scopeValue("schema",i.code.source===true?{ref:p,code:(0, we.stringify)(p)}:{ref:p}),m=e.name("valid"),v=t.subschema({schema:p,dataTypes:[],schemaPath:we.nil,topSchemaRef:l,errSchemaPath:r},m);t.mergeEvaluated(v),t.ok(m);}}};function Ii(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0, we._)`${r.scopeValue("wrapper",{ref:e})}.validate`}gt.getValidate=Ii;function nn(t,e,r,n){let{gen:s,it:o}=t,{allErrors:a,schemaEnv:i,opts:u}=o,c=u.passContext?Ot.default.this:we.nil;n?d():f();function d(){if(!i.$async)throw new Error("async schema referenced by sync schema");let p=s.let("valid");s.try(()=>{s.code((0, we._)`await ${(0, Ti.callValidateCode)(t,e,c)}`),g(e),a||s.assign(p,true);},l=>{s.if((0, we._)`!(${l} instanceof ${o.ValidationError})`,()=>s.throw(l)),S(l),a||s.assign(p,false);}),t.ok(p);}function f(){t.result((0, Ti.callValidateCode)(t,e,c),()=>g(e),()=>S(e));}function S(p){let l=(0, we._)`${p}.errors`;s.assign(Ot.default.vErrors,(0, we._)`${Ot.default.vErrors} === null ? ${l} : ${Ot.default.vErrors}.concat(${l})`),s.assign(Ot.default.errors,(0, we._)`${Ot.default.vErrors}.length`);}function g(p){var l;if(!o.opts.unevaluated)return;let m=(l=r?.validate)===null||l===void 0?void 0:l.evaluated;if(o.props!==true)if(m&&!m.dynamicProps)m.props!==void 0&&(o.props=rn.mergeEvaluated.props(s,m.props,o.props));else {let v=s.var("props",(0, we._)`${p}.evaluated.props`);o.props=rn.mergeEvaluated.props(s,v,o.props,we.Name);}if(o.items!==true)if(m&&!m.dynamicItems)m.items!==void 0&&(o.items=rn.mergeEvaluated.items(s,m.items,o.items));else {let v=s.var("items",(0, we._)`${p}.evaluated.items`);o.items=rn.mergeEvaluated.items(s,v,o.items,we.Name);}}}gt.callRef=nn;gt.default=sp;});var Oi=$(Ns=>{Object.defineProperty(Ns,"__esModule",{value:true});var op=xi(),ap=Pi(),ip=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",op.default,ap.default];Ns.default=ip;});var ji=$(qs=>{Object.defineProperty(qs,"__esModule",{value:true});var sn=F(),tt=sn.operators,on={maximum:{okStr:"<=",ok:tt.LTE,fail:tt.GT},minimum:{okStr:">=",ok:tt.GTE,fail:tt.LT},exclusiveMaximum:{okStr:"<",ok:tt.LT,fail:tt.GTE},exclusiveMinimum:{okStr:">",ok:tt.GT,fail:tt.LTE}},up={message:({keyword:t,schemaCode:e})=>(0, sn.str)`must be ${on[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0, sn._)`{comparison: ${on[t].okStr}, limit: ${e}}`},cp={keyword:Object.keys(on),type:"number",schemaType:"number",$data:true,error:up,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0, sn._)`${r} ${on[e].fail} ${n} || isNaN(${r})`);}};qs.default=cp;});var Ni=$(Ds=>{Object.defineProperty(Ds,"__esModule",{value:true});var pr=F(),dp={message:({schemaCode:t})=>(0, pr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0, pr._)`{multipleOf: ${t}}`},lp={keyword:"multipleOf",type:"number",schemaType:"number",$data:true,error:dp,code(t){let{gen:e,data:r,schemaCode:n,it:s}=t,o=s.opts.multipleOfPrecision,a=e.let("res"),i=o?(0, pr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${o}`:(0, pr._)`${a} !== parseInt(${a})`;t.fail$data((0, pr._)`(${n} === 0 || (${a} = ${r}/${n}, ${i}))`);}};Ds.default=lp;});var Di=$(Fs=>{Object.defineProperty(Fs,"__esModule",{value:true});function qi(t){let e=t.length,r=0,n=0,s;for(;n<e;)r++,s=t.charCodeAt(n++),s>=55296&&s<=56319&&n<e&&(s=t.charCodeAt(n),(s&64512)===56320&&n++);return r}Fs.default=qi;qi.code='require("ajv/dist/runtime/ucs2length").default';});var Fi=$(Ms=>{Object.defineProperty(Ms,"__esModule",{value:true});var yt=F(),fp=G(),pp=Di(),mp={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return (0, yt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0, yt._)`{limit: ${t}}`},hp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:true,error:mp,code(t){let{keyword:e,data:r,schemaCode:n,it:s}=t,o=e==="maxLength"?yt.operators.GT:yt.operators.LT,a=s.opts.unicode===false?(0, yt._)`${r}.length`:(0, yt._)`${(0, fp.useFunc)(t.gen,pp.default)}(${r})`;t.fail$data((0, yt._)`${a} ${o} ${n}`);}};Ms.default=hp;});var Mi=$(Ls=>{Object.defineProperty(Ls,"__esModule",{value:true});var gp=Ce(),yp=G(),jt=F(),vp={message:({schemaCode:t})=>(0, jt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0, jt._)`{pattern: ${t}}`},Sp={keyword:"pattern",type:"string",schemaType:"string",$data:true,error:vp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t,i=a.opts.unicodeRegExp?"u":"";if(n){let{regExp:u}=a.opts.code,c=u.code==="new RegExp"?(0, jt._)`new RegExp`:(0, yp.useFunc)(e,u),d=e.let("valid");e.try(()=>e.assign(d,(0, jt._)`${c}(${o}, ${i}).test(${r})`),()=>e.assign(d,false)),t.fail$data((0, jt._)`!${d}`);}else {let u=(0, gp.usePattern)(t,s);t.fail$data((0, jt._)`!${u}.test(${r})`);}}};Ls.default=Sp;});var Li=$(Vs=>{Object.defineProperty(Vs,"__esModule",{value:true});var mr=F(),bp={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return (0, mr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0, mr._)`{limit: ${t}}`},wp={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:true,error:bp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxProperties"?mr.operators.GT:mr.operators.LT;t.fail$data((0, mr._)`Object.keys(${r}).length ${s} ${n}`);}};Vs.default=wp;});var Vi=$(Bs=>{Object.defineProperty(Bs,"__esModule",{value:true});var hr=Ce(),gr=F(),kp=G(),_p={message:({params:{missingProperty:t}})=>(0, gr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0, gr._)`{missingProperty: ${t}}`},$p={keyword:"required",type:"object",schemaType:"array",$data:true,error:_p,code(t){let{gen:e,schema:r,schemaCode:n,data:s,$data:o,it:a}=t,{opts:i}=a;if(!o&&r.length===0)return;let u=r.length>=i.loopRequired;if(a.allErrors?c():d(),i.strictRequired){let g=t.parentSchema.properties,{definedProperties:p}=t.it;for(let l of r)if(g?.[l]===void 0&&!p.has(l)){let m=a.schemaEnv.baseId+a.errSchemaPath,v=`required property "${l}" is not defined at "${m}" (strictRequired)`;(0, kp.checkStrictMode)(a,v,a.opts.strictRequired);}}function c(){if(u||o)t.block$data(gr.nil,f);else for(let g of r)(0, hr.checkReportMissingProp)(t,g);}function d(){let g=e.let("missing");if(u||o){let p=e.let("valid",true);t.block$data(p,()=>S(g,p)),t.ok(p);}else e.if((0, hr.checkMissingProp)(t,r,g)),(0, hr.reportMissingProp)(t,g),e.else();}function f(){e.forOf("prop",n,g=>{t.setParams({missingProperty:g}),e.if((0, hr.noPropertyInData)(e,s,g,i.ownProperties),()=>t.error());});}function S(g,p){t.setParams({missingProperty:g}),e.forOf(g,n,()=>{e.assign(p,(0, hr.propertyInData)(e,s,g,i.ownProperties)),e.if((0, gr.not)(p),()=>{t.error(),e.break();});},gr.nil);}}};Bs.default=$p;});var Bi=$(Gs=>{Object.defineProperty(Gs,"__esModule",{value:true});var yr=F(),Rp={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return (0, yr.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0, yr._)`{limit: ${t}}`},Cp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:true,error:Rp,code(t){let{keyword:e,data:r,schemaCode:n}=t,s=e==="maxItems"?yr.operators.GT:yr.operators.LT;t.fail$data((0, yr._)`${r}.length ${s} ${n}`);}};Gs.default=Cp;});var an=$(Ks=>{Object.defineProperty(Ks,"__esModule",{value:true});var Gi=ms();Gi.code='require("ajv/dist/runtime/equal").default';Ks.default=Gi;});var Ki=$(Js=>{Object.defineProperty(Js,"__esModule",{value:true});var Us=nr(),ue=F(),Ep=G(),xp=an(),Tp={message:({params:{i:t,j:e}})=>(0, ue.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0, ue._)`{i: ${t}, j: ${e}}`},Ap={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:true,error:Tp,code(t){let{gen:e,data:r,$data:n,schema:s,parentSchema:o,schemaCode:a,it:i}=t;if(!n&&!s)return;let u=e.let("valid"),c=o.items?(0, Us.getSchemaTypes)(o.items):[];t.block$data(u,d,(0, ue._)`${a} === false`),t.ok(u);function d(){let p=e.let("i",(0, ue._)`${r}.length`),l=e.let("j");t.setParams({i:p,j:l}),e.assign(u,true),e.if((0, ue._)`${p} > 1`,()=>(f()?S:g)(p,l));}function f(){return c.length>0&&!c.some(p=>p==="object"||p==="array")}function S(p,l){let m=e.name("item"),v=(0, Us.checkDataTypes)(c,m,i.opts.strictNumbers,Us.DataType.Wrong),y=e.const("indices",(0, ue._)`{}`);e.for((0, ue._)`;${p}--;`,()=>{e.let(m,(0, ue._)`${r}[${p}]`),e.if(v,(0, ue._)`continue`),c.length>1&&e.if((0, ue._)`typeof ${m} == "string"`,(0, ue._)`${m} += "_"`),e.if((0, ue._)`typeof ${y}[${m}] == "number"`,()=>{e.assign(l,(0, ue._)`${y}[${m}]`),t.error(),e.assign(u,false).break();}).code((0, ue._)`${y}[${m}] = ${p}`);});}function g(p,l){let m=(0, Ep.useFunc)(e,xp.default),v=e.name("outer");e.label(v).for((0, ue._)`;${p}--;`,()=>e.for((0, ue._)`${l} = ${p}; ${l}--;`,()=>e.if((0, ue._)`${m}(${r}[${p}], ${r}[${l}])`,()=>{t.error(),e.assign(u,false).break(v);})));}}};Js.default=Ap;});var Ui=$(zs=>{Object.defineProperty(zs,"__esModule",{value:true});var Hs=F(),Ip=G(),Pp=an(),Op={message:"must be equal to constant",params:({schemaCode:t})=>(0, Hs._)`{allowedValue: ${t}}`},jp={keyword:"const",$data:true,error:Op,code(t){let{gen:e,data:r,$data:n,schemaCode:s,schema:o}=t;n||o&&typeof o=="object"?t.fail$data((0, Hs._)`!${(0, Ip.useFunc)(e,Pp.default)}(${r}, ${s})`):t.fail((0, Hs._)`${o} !== ${r}`);}};zs.default=jp;});var Ji=$(Ws=>{Object.defineProperty(Ws,"__esModule",{value:true});var vr=F(),Np=G(),qp=an(),Dp={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0, vr._)`{allowedValues: ${t}}`},Fp={keyword:"enum",schemaType:"array",$data:true,error:Dp,code(t){let{gen:e,data:r,$data:n,schema:s,schemaCode:o,it:a}=t;if(!n&&s.length===0)throw new Error("enum must have non-empty array");let i=s.length>=a.opts.loopEnum,u,c=()=>u??(u=(0, Np.useFunc)(e,qp.default)),d;if(i||n)d=e.let("valid"),t.block$data(d,f);else {if(!Array.isArray(s))throw new Error("ajv implementation error");let g=e.const("vSchema",o);d=(0, vr.or)(...s.map((p,l)=>S(g,l)));}t.pass(d);function f(){e.assign(d,false),e.forOf("v",o,g=>e.if((0, vr._)`${c()}(${r}, ${g})`,()=>e.assign(d,true).break()));}function S(g,p){let l=s[p];return typeof l=="object"&&l!==null?(0, vr._)`${c()}(${r}, ${g}[${p}])`:(0, vr._)`${r} === ${l}`}}};Ws.default=Fp;});var Hi=$(Ys=>{Object.defineProperty(Ys,"__esModule",{value:true});var Mp=ji(),Lp=Ni(),Vp=Fi(),Bp=Mi(),Gp=Li(),Kp=Vi(),Up=Bi(),Jp=Ki(),Hp=Ui(),zp=Ji(),Wp=[Mp.default,Lp.default,Vp.default,Bp.default,Gp.default,Kp.default,Up.default,Jp.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Hp.default,zp.default];Ys.default=Wp;});var Qs=$(Sr=>{Object.defineProperty(Sr,"__esModule",{value:true});Sr.validateAdditionalItems=void 0;var vt=F(),Xs=G(),Yp={message:({params:{len:t}})=>(0, vt.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, vt._)`{limit: ${t}}`},Xp={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Yp,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0, Xs.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}zi(t,n);}};function zi(t,e){let{gen:r,schema:n,data:s,keyword:o,it:a}=t;a.items=true;let i=r.const("len",(0, vt._)`${s}.length`);if(n===false)t.setParams({len:e.length}),t.pass((0, vt._)`${i} <= ${e.length}`);else if(typeof n=="object"&&!(0, Xs.alwaysValidSchema)(a,n)){let c=r.var("valid",(0, vt._)`${i} <= ${e.length}`);r.if((0, vt.not)(c),()=>u(c)),t.ok(c);}function u(c){r.forRange("i",e.length,i,d=>{t.subschema({keyword:o,dataProp:d,dataPropType:Xs.Type.Num},c),a.allErrors||r.if((0, vt.not)(c),()=>r.break());});}}Sr.validateAdditionalItems=zi;Sr.default=Xp;});var Zs=$(br=>{Object.defineProperty(br,"__esModule",{value:true});br.validateTuple=void 0;var Wi=F(),un=G(),Qp=Ce(),Zp={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Yi(t,"additionalItems",e);r.items=true,!(0, un.alwaysValidSchema)(r,e)&&t.ok((0, Qp.validateArray)(t));}};function Yi(t,e,r=t.schema){let{gen:n,parentSchema:s,data:o,keyword:a,it:i}=t;d(s),i.opts.unevaluated&&r.length&&i.items!==true&&(i.items=un.mergeEvaluated.items(n,r.length,i.items));let u=n.name("valid"),c=n.const("len",(0, Wi._)`${o}.length`);r.forEach((f,S)=>{(0, un.alwaysValidSchema)(i,f)||(n.if((0, Wi._)`${c} > ${S}`,()=>t.subschema({keyword:a,schemaProp:S,dataProp:S},u)),t.ok(u));});function d(f){let{opts:S,errSchemaPath:g}=i,p=r.length,l=p===f.minItems&&(p===f.maxItems||f[e]===false);if(S.strictTuples&&!l){let m=`"${a}" is ${p}-tuple, but minItems or maxItems/${e} are not specified or different at path "${g}"`;(0, un.checkStrictMode)(i,m,S.strictTuples);}}}br.validateTuple=Yi;br.default=Zp;});var Xi=$(eo=>{Object.defineProperty(eo,"__esModule",{value:true});var em=Zs(),tm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0, em.validateTuple)(t,"items")};eo.default=tm;});var Zi=$(to=>{Object.defineProperty(to,"__esModule",{value:true});var Qi=F(),rm=G(),nm=Ce(),sm=Qs(),om={message:({params:{len:t}})=>(0, Qi.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0, Qi._)`{limit: ${t}}`},am={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:om,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:s}=r;n.items=true,!(0, rm.alwaysValidSchema)(n,e)&&(s?(0, sm.validateAdditionalItems)(t,s):t.ok((0, nm.validateArray)(t)));}};to.default=am;});var eu=$(ro=>{Object.defineProperty(ro,"__esModule",{value:true});var xe=F(),cn=G(),im={message:({params:{min:t,max:e}})=>e===void 0?(0, xe.str)`must contain at least ${t} valid item(s)`:(0, xe.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0, xe._)`{minContains: ${t}}`:(0, xe._)`{minContains: ${t}, maxContains: ${e}}`},um={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:true,error:im,code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t,a,i,{minContains:u,maxContains:c}=n;o.opts.next?(a=u===void 0?1:u,i=c):a=1;let d=e.const("len",(0, xe._)`${s}.length`);if(t.setParams({min:a,max:i}),i===void 0&&a===0){(0, cn.checkStrictMode)(o,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0, cn.checkStrictMode)(o,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0, cn.alwaysValidSchema)(o,r)){let l=(0, xe._)`${d} >= ${a}`;i!==void 0&&(l=(0, xe._)`${l} && ${d} <= ${i}`),t.pass(l);return}o.items=true;let f=e.name("valid");i===void 0&&a===1?g(f,()=>e.if(f,()=>e.break())):a===0?(e.let(f,true),i!==void 0&&e.if((0, xe._)`${s}.length > 0`,S)):(e.let(f,false),S()),t.result(f,()=>t.reset());function S(){let l=e.name("_valid"),m=e.let("count",0);g(l,()=>e.if(l,()=>p(m)));}function g(l,m){e.forRange("i",0,d,v=>{t.subschema({keyword:"contains",dataProp:v,dataPropType:cn.Type.Num,compositeRule:true},l),m();});}function p(l){e.code((0, xe._)`${l}++`),i===void 0?e.if((0, xe._)`${l} >= ${a}`,()=>e.assign(f,true).break()):(e.if((0, xe._)`${l} > ${i}`,()=>e.assign(f,false).break()),a===1?e.assign(f,true):e.if((0, xe._)`${l} >= ${a}`,()=>e.assign(f,true)));}}};ro.default=um;});var nu=$(qe=>{Object.defineProperty(qe,"__esModule",{value:true});qe.validateSchemaDeps=qe.validatePropertyDeps=qe.error=void 0;var no=F(),cm=G(),wr=Ce();qe.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return (0, no.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0, no._)`{property: ${t},
|
|
7
|
+
missingProperty: ${n},
|
|
8
|
+
depsCount: ${e},
|
|
9
|
+
deps: ${r}}`};var dm={keyword:"dependencies",type:"object",schemaType:"object",error:qe.error,code(t){let[e,r]=lm(t);tu(t,e),ru(t,r);}};function lm({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let s=Array.isArray(t[n])?e:r;s[n]=t[n];}return [e,r]}function tu(t,e=t.schema){let{gen:r,data:n,it:s}=t;if(Object.keys(e).length===0)return;let o=r.let("missing");for(let a in e){let i=e[a];if(i.length===0)continue;let u=(0, wr.propertyInData)(r,n,a,s.opts.ownProperties);t.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),s.allErrors?r.if(u,()=>{for(let c of i)(0, wr.checkReportMissingProp)(t,c);}):(r.if((0, no._)`${u} && (${(0, wr.checkMissingProp)(t,i,o)})`),(0, wr.reportMissingProp)(t,o),r.else());}}qe.validatePropertyDeps=tu;function ru(t,e=t.schema){let{gen:r,data:n,keyword:s,it:o}=t,a=r.name("valid");for(let i in e)(0, cm.alwaysValidSchema)(o,e[i])||(r.if((0, wr.propertyInData)(r,n,i,o.opts.ownProperties),()=>{let u=t.subschema({keyword:s,schemaProp:i},a);t.mergeValidEvaluated(u,a);},()=>r.var(a,true)),t.ok(a));}qe.validateSchemaDeps=ru;qe.default=dm;});var ou=$(so=>{Object.defineProperty(so,"__esModule",{value:true});var su=F(),fm=G(),pm={message:"property name must be valid",params:({params:t})=>(0, su._)`{propertyName: ${t.propertyName}}`},mm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:pm,code(t){let{gen:e,schema:r,data:n,it:s}=t;if((0, fm.alwaysValidSchema)(s,r))return;let o=e.name("valid");e.forIn("key",n,a=>{t.setParams({propertyName:a}),t.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:true},o),e.if((0, su.not)(o),()=>{t.error(true),s.allErrors||e.break();});}),t.ok(o);}};so.default=mm;});var ao=$(oo=>{Object.defineProperty(oo,"__esModule",{value:true});var dn=Ce(),Pe=F(),hm=Be(),ln=G(),gm={message:"must NOT have additional properties",params:({params:t})=>(0, Pe._)`{additionalProperty: ${t.additionalProperty}}`},ym={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:true,trackErrors:true,error:gm,code(t){let{gen:e,schema:r,parentSchema:n,data:s,errsCount:o,it:a}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,opts:u}=a;if(a.props=true,u.removeAdditional!=="all"&&(0, ln.alwaysValidSchema)(a,r))return;let c=(0, dn.allSchemaProperties)(n.properties),d=(0, dn.allSchemaProperties)(n.patternProperties);f(),t.ok((0, Pe._)`${o} === ${hm.default.errors}`);function f(){e.forIn("key",s,m=>{!c.length&&!d.length?p(m):e.if(S(m),()=>p(m));});}function S(m){let v;if(c.length>8){let y=(0, ln.schemaRefOrVal)(a,n.properties,"properties");v=(0, dn.isOwnProperty)(e,y,m);}else c.length?v=(0, Pe.or)(...c.map(y=>(0, Pe._)`${m} === ${y}`)):v=Pe.nil;return d.length&&(v=(0, Pe.or)(v,...d.map(y=>(0, Pe._)`${(0, dn.usePattern)(t,y)}.test(${m})`))),(0, Pe.not)(v)}function g(m){e.code((0, Pe._)`delete ${s}[${m}]`);}function p(m){if(u.removeAdditional==="all"||u.removeAdditional&&r===false){g(m);return}if(r===false){t.setParams({additionalProperty:m}),t.error(),i||e.break();return}if(typeof r=="object"&&!(0, ln.alwaysValidSchema)(a,r)){let v=e.name("valid");u.removeAdditional==="failing"?(l(m,v,false),e.if((0, Pe.not)(v),()=>{t.reset(),g(m);})):(l(m,v),i||e.if((0, Pe.not)(v),()=>e.break()));}}function l(m,v,y){let b={keyword:"additionalProperties",dataProp:m,dataPropType:ln.Type.Str};y===false&&Object.assign(b,{compositeRule:true,createErrors:false,allErrors:false}),t.subschema(b,v);}}};oo.default=ym;});var uu=$(uo=>{Object.defineProperty(uo,"__esModule",{value:true});var vm=ir(),au=Ce(),io=G(),iu=ao(),Sm={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:s,it:o}=t;o.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&iu.default.code(new vm.KeywordCxt(o,iu.default,"additionalProperties"));let a=(0, au.allSchemaProperties)(r);for(let f of a)o.definedProperties.add(f);o.opts.unevaluated&&a.length&&o.props!==true&&(o.props=io.mergeEvaluated.props(e,(0, io.toHash)(a),o.props));let i=a.filter(f=>!(0, io.alwaysValidSchema)(o,r[f]));if(i.length===0)return;let u=e.name("valid");for(let f of i)c(f)?d(f):(e.if((0, au.propertyInData)(e,s,f,o.opts.ownProperties)),d(f),o.allErrors||e.else().var(u,true),e.endIf()),t.it.definedProperties.add(f),t.ok(u);function c(f){return o.opts.useDefaults&&!o.compositeRule&&r[f].default!==void 0}function d(f){t.subschema({keyword:"properties",schemaProp:f,dataProp:f},u);}}};uo.default=Sm;});var fu=$(co=>{Object.defineProperty(co,"__esModule",{value:true});var cu=Ce(),fn=F(),du=G(),lu=G(),bm={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:s,it:o}=t,{opts:a}=o,i=(0, cu.allSchemaProperties)(r),u=i.filter(l=>(0, du.alwaysValidSchema)(o,r[l]));if(i.length===0||u.length===i.length&&(!o.opts.unevaluated||o.props===true))return;let c=a.strictSchema&&!a.allowMatchingProperties&&s.properties,d=e.name("valid");o.props!==true&&!(o.props instanceof fn.Name)&&(o.props=(0, lu.evaluatedPropsToName)(e,o.props));let{props:f}=o;S();function S(){for(let l of i)c&&g(l),o.allErrors?p(l):(e.var(d,true),p(l),e.if(d));}function g(l){for(let m in c)new RegExp(l).test(m)&&(0, du.checkStrictMode)(o,`property ${m} matches pattern ${l} (use allowMatchingProperties)`);}function p(l){e.forIn("key",n,m=>{e.if((0, fn._)`${(0, cu.usePattern)(t,l)}.test(${m})`,()=>{let v=u.includes(l);v||t.subschema({keyword:"patternProperties",schemaProp:l,dataProp:m,dataPropType:lu.Type.Str},d),o.opts.unevaluated&&f!==true?e.assign((0, fn._)`${f}[${m}]`,true):!v&&!o.allErrors&&e.if((0, fn.not)(d),()=>e.break());});});}}};co.default=bm;});var pu=$(lo=>{Object.defineProperty(lo,"__esModule",{value:true});var wm=G(),km={keyword:"not",schemaType:["object","boolean"],trackErrors:true,code(t){let{gen:e,schema:r,it:n}=t;if((0, wm.alwaysValidSchema)(n,r)){t.fail();return}let s=e.name("valid");t.subschema({keyword:"not",compositeRule:true,createErrors:false,allErrors:false},s),t.failResult(s,()=>t.reset(),()=>t.error());},error:{message:"must NOT be valid"}};lo.default=km;});var mu=$(fo=>{Object.defineProperty(fo,"__esModule",{value:true});var _m=Ce(),$m={keyword:"anyOf",schemaType:"array",trackErrors:true,code:_m.validateUnion,error:{message:"must match a schema in anyOf"}};fo.default=$m;});var hu=$(po=>{Object.defineProperty(po,"__esModule",{value:true});var pn=F(),Rm=G(),Cm={message:"must match exactly one schema in oneOf",params:({params:t})=>(0, pn._)`{passingSchemas: ${t.passing}}`},Em={keyword:"oneOf",schemaType:"array",trackErrors:true,error:Cm,code(t){let{gen:e,schema:r,parentSchema:n,it:s}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(s.opts.discriminator&&n.discriminator)return;let o=r,a=e.let("valid",false),i=e.let("passing",null),u=e.name("_valid");t.setParams({passing:i}),e.block(c),t.result(a,()=>t.reset(),()=>t.error(true));function c(){o.forEach((d,f)=>{let S;(0, Rm.alwaysValidSchema)(s,d)?e.var(u,true):S=t.subschema({keyword:"oneOf",schemaProp:f,compositeRule:true},u),f>0&&e.if((0, pn._)`${u} && ${a}`).assign(a,false).assign(i,(0, pn._)`[${i}, ${f}]`).else(),e.if(u,()=>{e.assign(a,true),e.assign(i,f),S&&t.mergeEvaluated(S,pn.Name);});});}}};po.default=Em;});var gu=$(mo=>{Object.defineProperty(mo,"__esModule",{value:true});var xm=G(),Tm={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let s=e.name("valid");r.forEach((o,a)=>{if((0, xm.alwaysValidSchema)(n,o))return;let i=t.subschema({keyword:"allOf",schemaProp:a},s);t.ok(s),t.mergeEvaluated(i);});}};mo.default=Tm;});var Su=$(ho=>{Object.defineProperty(ho,"__esModule",{value:true});var mn=F(),vu=G(),Am={message:({params:t})=>(0, mn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0, mn._)`{failingKeyword: ${t.ifClause}}`},Im={keyword:"if",schemaType:["object","boolean"],trackErrors:true,error:Am,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0, vu.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let s=yu(n,"then"),o=yu(n,"else");if(!s&&!o)return;let a=e.let("valid",true),i=e.name("_valid");if(u(),t.reset(),s&&o){let d=e.let("ifClause");t.setParams({ifClause:d}),e.if(i,c("then",d),c("else",d));}else s?e.if(i,c("then")):e.if((0, mn.not)(i),c("else"));t.pass(a,()=>t.error(true));function u(){let d=t.subschema({keyword:"if",compositeRule:true,createErrors:false,allErrors:false},i);t.mergeEvaluated(d);}function c(d,f){return ()=>{let S=t.subschema({keyword:d},i);e.assign(a,i),t.mergeValidEvaluated(S,a),f?e.assign(f,(0, mn._)`${d}`):t.setParams({ifClause:d});}}}};function yu(t,e){let r=t.schema[e];return r!==void 0&&!(0, vu.alwaysValidSchema)(t,r)}ho.default=Im;});var bu=$(go=>{Object.defineProperty(go,"__esModule",{value:true});var Pm=G(),Om={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0, Pm.checkStrictMode)(r,`"${t}" without "if" is ignored`);}};go.default=Om;});var wu=$(yo=>{Object.defineProperty(yo,"__esModule",{value:true});var jm=Qs(),Nm=Xi(),qm=Zs(),Dm=Zi(),Fm=eu(),Mm=nu(),Lm=ou(),Vm=ao(),Bm=uu(),Gm=fu(),Km=pu(),Um=mu(),Jm=hu(),Hm=gu(),zm=Su(),Wm=bu();function Ym(t=false){let e=[Km.default,Um.default,Jm.default,Hm.default,zm.default,Wm.default,Lm.default,Vm.default,Mm.default,Bm.default,Gm.default];return t?e.push(Nm.default,Dm.default):e.push(jm.default,qm.default),e.push(Fm.default),e}yo.default=Ym;});var ku=$(vo=>{Object.defineProperty(vo,"__esModule",{value:true});var te=F(),Xm={message:({schemaCode:t})=>(0, te.str)`must match format "${t}"`,params:({schemaCode:t})=>(0, te._)`{format: ${t}}`},Qm={keyword:"format",type:["number","string"],schemaType:"string",$data:true,error:Xm,code(t,e){let{gen:r,data:n,$data:s,schema:o,schemaCode:a,it:i}=t,{opts:u,errSchemaPath:c,schemaEnv:d,self:f}=i;if(!u.validateFormats)return;s?S():g();function S(){let p=r.scopeValue("formats",{ref:f.formats,code:u.code.formats}),l=r.const("fDef",(0, te._)`${p}[${a}]`),m=r.let("fType"),v=r.let("format");r.if((0, te._)`typeof ${l} == "object" && !(${l} instanceof RegExp)`,()=>r.assign(m,(0, te._)`${l}.type || "string"`).assign(v,(0, te._)`${l}.validate`),()=>r.assign(m,(0, te._)`"string"`).assign(v,l)),t.fail$data((0, te.or)(y(),b()));function y(){return u.strictSchema===false?te.nil:(0, te._)`${a} && !${v}`}function b(){let _=d.$async?(0, te._)`(${l}.async ? await ${v}(${n}) : ${v}(${n}))`:(0, te._)`${v}(${n})`,k=(0, te._)`(typeof ${v} == "function" ? ${_} : ${v}.test(${n}))`;return (0, te._)`${v} && ${v} !== true && ${m} === ${e} && !${k}`}}function g(){let p=f.formats[o];if(!p){y();return}if(p===true)return;let[l,m,v]=b(p);l===e&&t.pass(_());function y(){if(u.strictSchema===false){f.logger.warn(k());return}throw new Error(k());function k(){return `unknown format "${o}" ignored in schema at path "${c}"`}}function b(k){let A=k instanceof RegExp?(0, te.regexpCode)(k):u.code.formats?(0, te._)`${u.code.formats}${(0, te.getProperty)(o)}`:void 0,R=r.scopeValue("formats",{key:o,ref:k,code:A});return typeof k=="object"&&!(k instanceof RegExp)?[k.type||"string",k.validate,(0, te._)`${R}.validate`]:["string",k,R]}function _(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!d.$async)throw new Error("async format in sync schema");return (0, te._)`await ${v}(${n})`}return typeof m=="function"?(0, te._)`${v}(${n})`:(0, te._)`${v}.test(${n})`}}}};vo.default=Qm;});var _u=$(So=>{Object.defineProperty(So,"__esModule",{value:true});var Zm=ku(),eh=[Zm.default];So.default=eh;});var $u=$(Nt=>{Object.defineProperty(Nt,"__esModule",{value:true});Nt.contentVocabulary=Nt.metadataVocabulary=void 0;Nt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Nt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"];});var Cu=$(bo=>{Object.defineProperty(bo,"__esModule",{value:true});var th=Oi(),rh=Hi(),nh=wu(),sh=_u(),Ru=$u(),oh=[th.default,rh.default,(0, nh.default)(),sh.default,Ru.metadataVocabulary,Ru.contentVocabulary];bo.default=oh;});var xu=$(hn=>{Object.defineProperty(hn,"__esModule",{value:true});hn.DiscrError=void 0;var Eu;(function(t){t.Tag="tag",t.Mapping="mapping";})(Eu||(hn.DiscrError=Eu={}));});var Au=$(ko=>{Object.defineProperty(ko,"__esModule",{value:true});var qt=F(),wo=xu(),Tu=Yr(),ah=ur(),ih=G(),uh={message:({params:{discrError:t,tagName:e}})=>t===wo.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0, qt._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},ch={keyword:"discriminator",type:"object",schemaType:"object",error:uh,code(t){let{gen:e,data:r,schema:n,parentSchema:s,it:o}=t,{oneOf:a}=s;if(!o.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=n.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let u=e.let("valid",false),c=e.const("tag",(0, qt._)`${r}${(0, qt.getProperty)(i)}`);e.if((0, qt._)`typeof ${c} == "string"`,()=>d(),()=>t.error(false,{discrError:wo.DiscrError.Tag,tag:c,tagName:i})),t.ok(u);function d(){let g=S();e.if(false);for(let p in g)e.elseIf((0, qt._)`${c} === ${p}`),e.assign(u,f(g[p]));e.else(),t.error(false,{discrError:wo.DiscrError.Mapping,tag:c,tagName:i}),e.endIf();}function f(g){let p=e.name("valid"),l=t.subschema({keyword:"oneOf",schemaProp:g},p);return t.mergeEvaluated(l,qt.Name),p}function S(){var g;let p={},l=v(s),m=true;for(let _=0;_<a.length;_++){let k=a[_];if(k?.$ref&&!(0, ih.schemaHasRulesButRef)(k,o.self.RULES)){let R=k.$ref;if(k=Tu.resolveRef.call(o.self,o.schemaEnv.root,o.baseId,R),k instanceof Tu.SchemaEnv&&(k=k.schema),k===void 0)throw new ah.default(o.opts.uriResolver,o.baseId,R)}let A=(g=k?.properties)===null||g===void 0?void 0:g[i];if(typeof A!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);m=m&&(l||v(k)),y(A,_);}if(!m)throw new Error(`discriminator: "${i}" must be required`);return p;function v({required:_}){return Array.isArray(_)&&_.includes(i)}function y(_,k){if(_.const)b(_.const,k);else if(_.enum)for(let A of _.enum)b(A,k);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function b(_,k){if(typeof _!="string"||_ in p)throw new Error(`discriminator: "${i}" values must be unique strings`);p[_]=k;}}}};ko.default=ch;});var Iu=$((My,dh)=>{dh.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:true,readOnly:{type:"boolean",default:false},examples:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:true},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:true,enum:{type:"array",items:true,minItems:1,uniqueItems:true},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:true}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:true};});var Ou=$((X,_o)=>{Object.defineProperty(X,"__esModule",{value:true});X.MissingRefError=X.ValidationError=X.CodeGen=X.Name=X.nil=X.stringify=X.str=X._=X.KeywordCxt=X.Ajv=void 0;var lh=Ei(),fh=Cu(),ph=Au(),Pu=Iu(),mh=["/properties"],gn="http://json-schema.org/draft-07/schema",Dt=class extends lh.default{_addVocabularies(){super._addVocabularies(),fh.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(ph.default);}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(Pu,mh):Pu;this.addMetaSchema(e,gn,false),this.refs["http://json-schema.org/schema"]=gn;}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(gn)?gn:void 0)}};X.Ajv=Dt;_o.exports=X=Dt;_o.exports.Ajv=Dt;Object.defineProperty(X,"__esModule",{value:true});X.default=Dt;var hh=ir();Object.defineProperty(X,"KeywordCxt",{enumerable:true,get:function(){return hh.KeywordCxt}});var Ft=F();Object.defineProperty(X,"_",{enumerable:true,get:function(){return Ft._}});Object.defineProperty(X,"str",{enumerable:true,get:function(){return Ft.str}});Object.defineProperty(X,"stringify",{enumerable:true,get:function(){return Ft.stringify}});Object.defineProperty(X,"nil",{enumerable:true,get:function(){return Ft.nil}});Object.defineProperty(X,"Name",{enumerable:true,get:function(){return Ft.Name}});Object.defineProperty(X,"CodeGen",{enumerable:true,get:function(){return Ft.CodeGen}});var gh=zr();Object.defineProperty(X,"ValidationError",{enumerable:true,get:function(){return gh.default}});var yh=ur();Object.defineProperty(X,"MissingRefError",{enumerable:true,get:function(){return yh.default}});});function oe(t){return `::${t.kind}::${t.value}`}function ye(t){if(!t.startsWith("::"))throw new Error(`Invalid ref format (expected ::kind::value): ${t}`);let e=t.slice(2),r=e.indexOf("::");if(r===-1)throw new Error(`Invalid ref format (expected ::kind::value): ${t}`);return {kind:e.slice(0,r),value:e.slice(r+2)}}async function Lo(t,e,r){let n=t.tryAcquire();if(!n)return false;try{await e();}finally{n();}return r?.(),true}function Bt(t,e,r=".json"){let n=ce.join(t,".tmp");return T.mkdirSync(n,{recursive:true}),ce.join(n,`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}${r}`)}function Or(...t){return ce.join(...t)}function Gt(...t){return ce.resolve(...t)}function Ko(t){return ce.isAbsolute(t)}function On(){return randomUUID()}function Uo(t){return createHash("sha256").update(t).digest("hex")}function Jo(t){return ce.dirname(fileURLToPath(t))}function Pc(t){if(typeof t=="object"&&t!==null){let{command:r,args:n=[],...s}=t,o=Bo(r,n);return {...s,command:o.command,args:o.args}}let e=Ho(t);if(e.length===0)throw new Error(`Empty command spec: ${JSON.stringify(t)}`);return Bo(e[0],e.slice(1))}function Bo(t,e){return /^(node|node\.exe)$/i.test(t)?{command:process.execPath,args:e}:/\.m?js$/i.test(t)?{command:process.execPath,args:[t,...e]}:{command:t,args:e}}function Ho(t){let e=[],r="",n=null;for(let s of t.trim()){if(n){s===n?n=null:r+=s;continue}if(s==='"'||s==="'"){n=s;continue}if(/\s/.test(s)){r&&(e.push(r),r="");continue}r+=s;}if(n)throw new Error(`Unterminated quote in command: ${t}`);return r&&e.push(r),e}function jn(t){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(t)}function zo(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a}=t;return execFileSync(r,n,{shell:jn(r),timeout:a,encoding:e?.encoding??"utf-8",cwd:s,windowsHide:true,env:o?{...process.env,...o}:void 0})}function Oc(t,e){let{command:r,args:n=[],cwd:s,env:o,timeoutMs:a=3e4}=t;execFile(r,n,{shell:jn(r),encoding:"utf8",windowsHide:true,timeout:a,maxBuffer:10*1024*1024,cwd:s,env:o?{...process.env,...o}:void 0},(i,u,c)=>e(i??null,u,c));}ce.join(Pn.tmpdir(),".board-live-cards-git-bash-cache.json");function jr(t){let{command:e,args:r=[]}=t;if(process.platform==="win32"){spawn(e,r,{detached:true,stdio:"ignore",windowsHide:true,shell:jn(e)}).unref();return}spawn(e,r,{detached:true,stdio:"ignore"}).unref();}function Kt(t,e,r){let n=ce.join(t,"board-live-cards-cli.js");if(T.existsSync(n))return {cmd:process.execPath,args:[n,e,...r]};let s=ce.join(t,"board-live-cards-cli.ts"),o=ce.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),a=ce.join(t,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{cmd:process.execPath,args:[i,s,e,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",s,e,...r]}}function Wo(t,e,r){let n=["--base-ref",oe(e)];r&&n.push("--notify-channel",r);let{cmd:s,args:o}=Kt(t,"process-accumulated-events",n);jr({command:s,args:o});}function jc(t){return process.platform==="win32"?`\\\\.\\pipe\\${t}`:ce.join(Pn.tmpdir(),`${t}.sock`)}var Pr=new Map;function Yo(t,e,r){if(e.length===0)return;let n=e.map(i=>JSON.stringify(i)).join(`
|
|
10
|
+
`)+`
|
|
11
|
+
`,s=Pr.get(t);if(s&&!s.socket.destroyed){s.ready?s.socket.write(n):s.queue.push(n);return}let o=jc(t),a=Go.createConnection(o);s={socket:a,ready:false,queue:[n]},Pr.set(t,s),a.on("connect",()=>{s.ready=true;for(let i of s.queue)a.write(i);s.queue.length=0;}),a.on("error",i=>{r?.(`[named-pipe publish] ${o}: ${i instanceof Error?i.message:String(i)}`),Pr.delete(t);}),a.on("close",()=>{Pr.delete(t);});}function Xo(){return {executeSync(t,e,r){return zo({command:t,args:e,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding})},executeAsync(t,e,r){Oc({command:t,args:e},r);},resolveInvocation(t,e){let r=Pc({command:t,args:e});return {cmd:r.command,args:r.args??[]}},splitCommand:Ho,spawnDetached(t,e){jr({command:t,args:e});}}}async function Qo(t,e){return wn(t).evaluate(e)}async function qc(t,e){let r=await Qo(t,e);if(typeof r!="string")throw new Error(`argsMassaging expression did not produce a string: ${t} \u2192 ${JSON.stringify(r)}`);return r}function Dc(t,e){let r;try{r=ye(t).value;}catch{r=t;}switch(r){case "source-cli-task-executor":{let n=ce.join(e,"source-cli-task-executor.js");if(T.existsSync(n))return {command:process.execPath,args:[n]};let s=ce.join(e,"source-cli-task-executor.ts"),o=ce.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),a=ce.join(e,"..","..","node_modules",".bin","tsx"),i=T.existsSync(o)?o:a;return T.existsSync(s)&&T.existsSync(i)?{command:process.execPath,args:[i,s]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:s}=Kt(e,"_",[]);return {command:n,args:s}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Zo(t,e){if(t.howToRun==="built-in"){let{command:n,args:s}=Dc(t.whatToRun,e);return {command:n,baseArgs:s}}let r;try{r=ye(t.whatToRun).value;}catch{r=t.whatToRun;}switch(t.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${t.howToRun}" is not a local transport`)}}function Fc(t,e){let r=[t.subcommand];return t.inRef&&r.push("--in-ref",t.inRef),t.outRef&&r.push("--out-ref",t.outRef),t.errRef&&r.push("--err-ref",t.errRef),e&&r.push("--extra",Buffer.from(JSON.stringify(e)).toString("base64")),r}function Mc(t,e){return {subcommand:t.subcommand,...t.inRef?{inRef:t.inRef}:{},...t.outRef?{outRef:t.outRef}:{},...t.errRef?{errRef:t.errRef}:{},...e?{extra:e}:{}}}function ea(t,e){return Zo(t,e)}async function Lc(t,e){let r,n,s={...e,whatToRun:t.whatToRun};if(t.argsMassaging?.urlTemplate)r=await qc(t.argsMassaging.urlTemplate,s);else try{r=ye(t.whatToRun).value;}catch{r=t.whatToRun;}if(t.argsMassaging?.bodyTemplate){let i=await Qo(t.argsMassaging.bodyTemplate,s);if(typeof i!="object"||i===null)throw new Error(`bodyTemplate must produce an object, got: ${JSON.stringify(i)}`);n=i;}else n=Mc(e,t.extra);let o=await fetch(r,{method:t.howToRun==="http:get"?"GET":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!o.ok){let i=await o.text().catch(()=>"");return {status:"error",error:`HTTP ${o.status}: ${i}`}}let a=await o.json().catch(()=>null);return a&&typeof a.status=="string"?a:{status:"success"}}function ta(t,e,r){if(t.howToRun==="http:post"||t.howToRun==="http:get"){Lc(t,e).catch(i=>{console.error(`[dispatchTaskExecutorDetached] HTTP dispatch failed: ${i.message}`);});return}let{command:s,baseArgs:o}=Zo(t,r),a=Fc(e,t.extra);jr({command:s,args:[...o,...a]});}function Vc(){return {read(t){if(!T.existsSync(t))return null;try{return T.readFileSync(t,"utf-8")}catch{return null}},write(t,e){T.mkdirSync(ce.dirname(t),{recursive:true}),T.writeFileSync(t,e,"utf-8");}}}function ra(t){return Vc();}function Ht(t,e){if(process.platform!=="win32"){T.renameSync(t,e);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{T.renameSync(t,e);return}catch(s){let o=s.code;if((o==="EPERM"||o==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw s}}function Nr(t){function e(s){return ce.join(t,...s.split("/"))}function r(s){return ce.relative(t,s).replace(/\\/g,"/")}function n(s,o){if(T.existsSync(s))for(let a of T.readdirSync(s,{withFileTypes:true})){let i=ce.join(s,a.name);if(a.isDirectory()){n(i,o);continue}a.isFile()&&o.push(r(i));}}return {read(s){let o=e(s);if(!T.existsSync(o))return null;try{return T.readFileSync(o,"utf-8")}catch{return null}},write(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ce.dirname(a),{recursive:true}),T.writeFileSync(i,o,"utf-8"),Ht(i,a);},exists(s){return T.existsSync(e(s))},remove(s){let o=e(s);try{T.existsSync(o)&&T.unlinkSync(o);}catch{}},readBytes(s){let o=e(s);if(!T.existsSync(o))return null;try{return new Uint8Array(T.readFileSync(o))}catch{return null}},writeBytes(s,o){let a=e(s),i=`${a}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ce.dirname(a),{recursive:true}),T.writeFileSync(i,Buffer.from(o)),Ht(i,a);},listKeys(s){let o=[];n(t,o);let a=o.sort();return s?a.filter(i=>i.startsWith(s)):a},stat(s){let o=e(s);if(!T.existsSync(o))return null;try{let a=T.statSync(o);return {key:s,size:Number(a.size||0),updatedAt:new Date(a.mtimeMs).toISOString()}}catch{return null}}}}function Dn(){return {read(t){if(!T.existsSync(t))return null;try{return T.readFileSync(t,"utf-8")}catch{return null}},write(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ce.dirname(t),{recursive:true}),T.writeFileSync(r,e,"utf-8"),Ht(r,t);},exists(t){return T.existsSync(t)},remove(t){try{T.existsSync(t)&&T.unlinkSync(t);}catch{}},readBytes(t){if(!T.existsSync(t))return null;try{return new Uint8Array(T.readFileSync(t))}catch{return null}},writeBytes(t,e){let r=`${t}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ce.dirname(t),{recursive:true}),T.writeFileSync(r,Buffer.from(e)),Ht(r,t);},stat(t){if(!T.existsSync(t))return null;try{let e=T.statSync(t);return {key:t,size:Number(e.size||0),updatedAt:new Date(e.mtimeMs).toISOString()}}catch{return null}}}}function Fn(t){function e(n){return ce.join(t,...n.split("/"))+".json"}function r(n,s,o,a){if(T.existsSync(n))for(let i of T.readdirSync(n,{withFileTypes:true})){let u=s?`${s}/${i.name}`:i.name;if(i.isDirectory()){r(ce.join(n,i.name),u,o,a);continue}if(!i.isFile()||!i.name.endsWith(".json"))continue;let c=u.replace(/\.json$/,"");(!o||c.startsWith(o))&&a.push(c);}}return {read(n){let s=e(n);if(!T.existsSync(s))return null;try{return JSON.parse(T.readFileSync(s,"utf-8"))}catch{return null}},write(n,s){let o=e(n),a=`${o}.${process.pid}.${randomUUID()}.tmp`;T.mkdirSync(ce.dirname(o),{recursive:true}),T.writeFileSync(a,JSON.stringify(s,null,2),"utf-8"),Ht(a,o);},delete(n){let s=e(n);try{T.existsSync(s)&&T.unlinkSync(s);}catch{}},listKeys(n){let s=[];return r(t,"",n,s),s.sort()}}}function qn(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return `[${t.map(qn).join(",")}]`;let e=t;return `{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${qn(e[n])}`).join(",")}}`}function na(t){return createHash("sha256").update(qn(t)).digest("hex")}function sa(t){let e=ce.join(t,"board-journal.jsonl");return {readAllEntries(){if(!T.existsSync(e))return [];let r=T.readFileSync(e,"utf-8").trim();return r?r.split(`
|
|
12
|
+
`).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){T.appendFileSync(e,JSON.stringify(r)+`
|
|
13
|
+
`,"utf-8");},generateId(){return randomUUID()}}}function oa(t){return {tryAcquire(){try{if(!T.existsSync(t)){T.mkdirSync(ce.dirname(t),{recursive:!0});try{T.writeFileSync(t,"{}",{flag:"wx"});}catch{}}return lockSync(t,{retries:0})}catch{return null}}}}var aa={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://nsreehari.github.io/boards/live-cards.schema.json",definitions:{bind_ref:{description:"A card data path reference, e.g. 'card_data.raw_quotes' or 'requires.upstream'",type:"string",pattern:"^(card_data|requires|fetched_sources|computed_values)(\\.|$)"},bind_or_literal:{description:"A literal value or a bind reference object",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref"}},required:["bind"]}]},compute_expr:{description:"A declarative JSON compute expression",type:"object",required:["fn"],properties:{fn:{type:"string",description:"Function name from the built-in vocabulary",enum:["sum","avg","min","max","count","first","last","add","sub","mul","div","round","abs","mod","gt","gte","lt","lte","eq","neq","if","and","or","not","concat","upper","lower","template","filter","pluck","map","sort","slice","flat","unique","group","get","default","now","diff_days","format_date"]},input:{description:"card_data.path, literal, array of inputs, or nested compute_expr",oneOf:[{type:"string"},{type:"number"},{type:"boolean"},{type:"array"},{$ref:"#/definitions/compute_expr"}]},field:{type:"string",description:"For pluck/sum/group \u2014 the object key to extract"},where:{$ref:"#/definitions/compute_expr",description:"For filter \u2014 predicate expression ($ = current item)"},cond:{$ref:"#/definitions/compute_expr",description:"For if \u2014 condition expression"},then:{description:"For if \u2014 value when cond is truthy"},else:{description:"For if \u2014 value when cond is falsy"},format:{type:"string",description:"For format_date \u2014 date format string"}}},meta:{type:"object",properties:{title:{type:"string"},tags:{type:"array",items:{type:"string"}}}},requires:{type:"array",items:{type:"string"},description:"IDs of upstream nodes this node depends on"},provides:{type:"array",items:{type:"object",required:["bindTo","ref"],properties:{bindTo:{type:"string",description:"Token name published downstream"},ref:{type:"string",description:"Path to read value from (card_data.*, requires.*, fetched_sources.*, computed_values.*)"}}},description:"Explicit bindings exposing computed or card_data values downstream as named tokens"},compute_step:{description:"A single ordered compute step: reads card_data.*/requires.*/computed_values.*, writes to computed_values[bindTo]",type:"object",required:["bindTo","expr"],properties:{bindTo:{type:"string",description:"Key in computed_values to write result"},expr:{type:"string",description:"JSONata expression evaluated against { card_data, requires, fetched_sources, computed_values }"}}},source_def:{description:"One source entry. The engine requires 'bindTo' (compute namespace key) and 'outputFile' (delivery signal path). bindTo and outputFile must be unique across all source_defs in a card. Every other property is yours \u2014 add whatever your task-executor needs: kind, url, headers, mailbox, channel, model, query, etc. The full object is passed verbatim as the --in JSON to the executor.",type:"object",required:["bindTo","outputFile"],additionalProperties:true,properties:{bindTo:{type:"string",description:"Key under fetched_sources.* available in compute expressions"},outputFile:{type:"string",description:"Board-relative path the executor writes its JSON result to. Presence of this file signals delivery."},projections:{type:"object",description:"Named data projections from card_data or requires, evaluated before the executor is called. Each key is a ref name; each value is a JSONata expression rooted at card_data or requires. The resolved values are passed to the executor as _projections. fetched_sources, computed_values, and source_defs are not accessible here \u2014 sources run before those exist.",additionalProperties:{type:"string"}},optionalForCompletionGating:{type:"boolean",default:false,description:"When true this source does not gate card completion. Default false when absent, so source_defs are completion-gating by default."},timeout:{type:"integer",minimum:0,default:12e4,description:"Executor/script timeout in ms. Default: 120 000 (2 min)."},script:{type:"string",description:"Legacy direct-run: shell command executed when no .task-executor is registered. stdout is captured as the result."}}},render_element:{type:"object",required:["kind"],properties:{id:{type:"string",description:"Optional element ID for targeted updates"},kind:{enum:["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]},label:{type:"string",description:"Heading above this element"},className:{type:"string",description:"Bootstrap grid class, e.g. 'col-12 col-md-6'"},visible:{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 element shown only if truthy"},data:{type:"object",properties:{bind:{$ref:"#/definitions/bind_ref",description:"card_data/requires/fetched_sources/computed_values path to read data from"},writeTo:{$ref:"#/definitions/bind_ref",description:"card_data path for user input (form, filter, todo, notes)"},columns:{type:"array",items:{type:"string"},description:"table: visible columns"},maxRows:{type:"integer",description:"table/list: max rows to display"},sortable:{type:"boolean",default:true,description:"table: enable click-to-sort"},placeholder:{type:"string",description:"Empty-state message"},chartType:{enum:["bar","line","pie","doughnut"]},chartOptions:{type:"object",description:"Chart.js options passthrough"},fields:{type:"object",description:"JSON Schema for form/filter fields"},thresholds:{type:"object",properties:{green:{type:"string"},amber:{type:"string"}}},colorMap:{type:"object",description:"badge: value \u2192 Bootstrap color"},style:{enum:["heading","muted","default"],description:"text: display style"},upload:{type:"boolean",default:true,description:"file-upload: show drop zone (false = read-only file list)"},accept:{type:"array",items:{type:"string"},description:"file-upload: allowed extensions"},multiple:{type:"boolean",default:true,description:"file-upload: allow multiple files"},fileAttach:{type:"boolean",default:false,description:"chat: enable inline file attachments"},fileAccept:{type:"array",items:{type:"string"},description:"chat: allowed attachment extensions"},buttons:{type:"array",description:"actions: button definitions",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},style:{type:"string",description:"Bootstrap button variant, e.g. 'success', 'outline-danger'"},size:{type:"string",default:"sm"},disabled:{oneOf:[{type:"boolean"},{type:"string",description:"card_data/requires/fetched_sources/computed_values path \u2014 truthy = disabled"}]}}}}}}}},view:{type:"object",required:["elements"],properties:{elements:{type:"array",minItems:1,items:{$ref:"#/definitions/render_element"}},layout:{type:"object",properties:{board:{type:"object",properties:{col:{type:"integer",minimum:1,maximum:12},order:{type:"integer"}}},canvas:{type:"object",properties:{x:{type:"number"},y:{type:"number"},w:{type:"number"},h:{type:"number"}}}}},features:{type:"object",properties:{chat:{type:"boolean",default:false},notes:{type:"boolean",default:false},refresh:{type:"boolean",default:true}}}}}},title:"LiveCard",description:"A unified card node. Behavior depends on which sections are present (source_defs, compute, view, etc.)",type:"object",required:["id"],additionalProperties:false,properties:{id:{type:"string"},requires:{$ref:"#/definitions/requires"},provides:{$ref:"#/definitions/provides"},meta:{$ref:"#/definitions/meta"},view:{$ref:"#/definitions/view"},card_data:{type:"object",description:"Authored card data and runtime metadata. Includes uploaded-file metadata maintained by host handlers and inference evaluation results.",properties:{files:{type:"array",description:"Optional uploaded-file metadata maintained by host handlers. Stored name is normalized and serial-prefixed (for example 001-my_file.pdf).",items:{type:"object",required:["name","stored_name"],properties:{name:{type:"string",minLength:1},stored_name:{type:"string",minLength:5,maxLength:32,pattern:"^[0-9]{3,}-[a-z0-9._-]+$"},size:{oneOf:[{type:"integer",minimum:0},{type:"null"}]},mime_type:{type:"string"},path:{type:"string",pattern:"^[^\\s]+/files/[0-9]{3,}-[a-z0-9._-]+$"},uploaded_at:{type:"string",format:"date-time"}},additionalProperties:false}}},additionalProperties:true},source_defs:{type:"array",description:"Source entries. Each entry is passed verbatim to the board's .task-executor (registered via init --task-executor) as the --in JSON file. The executor fetches/generates the data and writes JSON to --out. If no executor is registered, the built-in executor runs the entry's 'cli' command directly. Sources gate completion by default. Set optionalForCompletionGating: true for enrichment-only source_defs that should not block task-completed.",items:{$ref:"#/definitions/source_def"}},compute:{type:"array",description:"Ordered array of compute steps. Each reads card_data.*/requires.*/fetched_sources.*/computed_values.* and writes to ephemeral computed_values[bindTo].",items:{$ref:"#/definitions/compute_step"}}}};var qu=Cc(Ou());var yn=null;var ju=/\b(card_data|requires|fetched_sources|computed_values|source_defs)\b/g,bh=/^\s*(card_data|requires|fetched_sources|computed_values|source_defs)(\.|$)/;function wh(t){let e=new Set,r;for(ju.lastIndex=0;(r=ju.exec(t))!==null;)e.add(r[1]);return e}function Du(t){let e=bh.exec(t);return e?e[1]:null}function Nu(t,e,r,n){try{wn(t);}catch(o){let a=o instanceof Error?o.message:String(o);n.push(`${e}: invalid JSONata expression (${a})`);return}let s=wh(t);for(let o of s)r.has(o)||n.push(`${e}: disallowed namespace "${o}" in expression`);}function $o(t,e,r){if(Array.isArray(t)){t.forEach((s,o)=>{$o(s,`${e}/${o}`,r);});return}if(typeof t=="string"){let s=Du(t);if(!s)return;new Set(["card_data","requires","fetched_sources","computed_values"]).has(s)||r.push(`${e}: disallowed namespace "${s}" in view reference`);return}if(!t||typeof t!="object")return;let n=t;for(let[s,o]of Object.entries(n))$o(o,`${e}/${s}`,r);}function kh(){if(yn)return yn;let t=new qu.default({allErrors:true});return vh(t),yn=t.compile(aa),yn}function Fu(t){let e=kh(),r=e(t),n=(e.errors??[]).map(s=>`${s.instancePath||"/"}: ${s.message??"unknown error"}`);if(t&&typeof t=="object"&&!Array.isArray(t)){let s=t.source_defs;if(Array.isArray(s)){let o=new Set,a=new Set;s.forEach((i,u)=>{if(!i||typeof i!="object"||Array.isArray(i))return;let c=i;typeof c.bindTo=="string"&&c.bindTo&&(o.has(c.bindTo)&&n.push(`/source_defs/${u}/bindTo: bindTo "${c.bindTo}" must be unique across all source_defs`),o.add(c.bindTo)),typeof c.outputFile=="string"&&c.outputFile&&(a.has(c.outputFile)&&n.push(`/source_defs/${u}/outputFile: outputFile "${c.outputFile}" must be unique across all source_defs`),a.add(c.outputFile));});}}return !r||n.length>0?{ok:false,errors:n}:{ok:true,errors:[]}}function Mu(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:true,errors:[]};let r=t,n=r.compute;Array.isArray(n)&&n.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.expr;typeof f!="string"||f.trim().length===0||Nu(f,`/compute/${d}/expr`,new Set(["card_data","requires","fetched_sources","computed_values"]),e);});let s=new Set(["card_data","requires","fetched_sources","computed_values"]),o=r.provides;Array.isArray(o)&&o.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.ref;if(typeof f!="string"||f.trim().length===0)return;let S=Du(f);S===null?e.push(`/provides/${d}/ref: path "${f}" must start with a valid namespace (${[...s].join(", ")})`):s.has(S)||e.push(`/provides/${d}/ref: disallowed namespace "${S}" in path "${f}" (valid: ${[...s].join(", ")})`);});let a=r.view;a&&typeof a=="object"&&!Array.isArray(a)&&$o(a,"/view",e);let i=new Set(["card_data","requires"]),u=r.source_defs;return Array.isArray(u)&&u.forEach((c,d)=>{if(!c||typeof c!="object"||Array.isArray(c))return;let f=c.projections;if(!(!f||typeof f!="object"||Array.isArray(f)))for(let[S,g]of Object.entries(f))typeof g!="string"||g.trim().length===0||Nu(g,`/source_defs/${d}/projections/${S}`,i,e);}),{ok:e.length===0,errors:e}}function Ro(t){let e=Fu(t);if(!e.ok)return e;let r=Mu(t);return r.ok?{ok:true,errors:[]}:{ok:false,errors:r.errors}}var rt={RUNNING:"running",COMPLETED:"completed",FAILED:"failed",INACTIVATED:"inactivated"};function _e(t){return t?Array.isArray(t.provides)?t.provides:[]:[]}function nt(t){return t?Array.isArray(t.requires)?t.requires:[]:[]}function Lu(t){return t.tasks??{}}function Co(t){return t?t.status===rt.FAILED||t.status===rt.INACTIVATED:false}function Vu(t,e){return t.refreshStrategy??e?.refreshStrategy??"data-changed"}function Bu(t){return t.maxExecutions}function Gu(t,e){let r=new Set;for(let[n,s]of Object.entries(e))if(s.status===rt.COMPLETED){let o=t.tasks[n];o&&_e(o).forEach(i=>r.add(i));}return Array.from(r)}function Ku(t,e){let r={};return t.forEach(n=>{let s=e[n];if(!s)return;_e(s).forEach(a=>{r[a]||(r[a]=[]),r[a].push(n);});}),r}function Uu(t,e,r){let n=t.tasks[e]??vn(),s={};if(r){let a=r.tasks[e],i=nt(a);for(let u of i)for(let[c,d]of Object.entries(r.tasks))if(_e(d).includes(u)){let f=t.tasks[c];f?.lastDataHash&&(s[u]=f.lastDataHash);break}}let o={...n,status:"running",startedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),progress:0,error:void 0,startConsumedHashes:s};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Ju(t,e,r,n,s,o){let a=t.tasks[r]??vn(),i=e.tasks[r];if(!i)throw new Error(`Task "${r}" not found in graph`);let u;n&&i.on&&i.on[n]?u=i.on[n]:u=_e(i);let c=a.startConsumedHashes?{...a.startConsumedHashes}:{...a.lastConsumedHashes};if(!a.startConsumedHashes){let S=i.requires??[];for(let g of S)for(let[p,l]of Object.entries(e.tasks))if(_e(l).includes(g)){let m=t.tasks[p];m?.lastDataHash&&(c[g]=m.lastDataHash);break}}let d={...a,status:"completed",completedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),executionCount:a.executionCount+1,lastEpoch:a.executionCount+1,lastDataHash:s,data:o,lastConsumedHashes:c,error:void 0},f=[...new Set([...t.availableOutputs,...u])];return {...t,tasks:{...t.tasks,[r]:d},availableOutputs:f,lastUpdated:new Date().toISOString()}}function Hu(t,e,r,n){let s=t.tasks[r]??vn(),o=e.tasks[r];if(o?.retry){let u=s.retryCount+1;if(u<=o.retry.max_attempts){let c={...s,status:"not-started",retryCount:u,lastUpdated:new Date().toISOString(),error:n};return {...t,tasks:{...t.tasks,[r]:c},lastUpdated:new Date().toISOString()}}}let a={...s,status:"failed",failedAt:new Date().toISOString(),lastUpdated:new Date().toISOString(),error:n,executionCount:s.executionCount+1},i=t.availableOutputs;if(o?.on_failure&&o.on_failure.length>0&&(i=[...new Set([...t.availableOutputs,...o.on_failure])]),o?.circuit_breaker&&a.executionCount>=o.circuit_breaker.max_executions){let u=o.circuit_breaker.on_break;i=[...new Set([...i,...u])];}return {...t,tasks:{...t.tasks,[r]:a},availableOutputs:i,lastUpdated:new Date().toISOString()}}function zu(t,e,r,n){let s=t.tasks[e]??vn(),o={...s,progress:typeof n=="number"?n:s.progress,messages:[...s.messages??[],...r?[{message:r,timestamp:new Date().toISOString(),status:s.status}]:[]],lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:o},lastUpdated:new Date().toISOString()}}function Wu(t,e){let r=t.tasks[e];if(!r)return t;let n={...r,status:"not-started",startedAt:void 0,completedAt:void 0,failedAt:void 0,error:void 0,data:void 0,progress:null,lastUpdated:new Date().toISOString()};return {...t,tasks:{...t.tasks,[e]:n},lastUpdated:new Date().toISOString()}}function vn(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Sn(t,e){let r=`live-${Date.now()}`,n={};for(let o of Object.keys(t.tasks))n[o]=Xu();let s={status:"running",tasks:n,availableOutputs:[],stuckDetection:{is_stuck:false,stuck_description:null,outputs_unresolvable:[],tasks_blocked:[]},lastUpdated:new Date().toISOString(),executionId:r,executionConfig:{executionMode:t.settings.execution_mode??"eligibility-mode",conflictStrategy:t.settings.conflict_strategy??"alphabetical",completionStrategy:t.settings.completion}};return {config:t,state:s}}function _h(t,e){let{config:r,state:n}=t;if("executionId"in e&&e.executionId&&e.executionId!==n.executionId)return t;switch(e.type){case "task-started":return {config:r,state:Uu(n,e.taskName,r)};case "task-completed":return {config:r,state:Ju(n,r,e.taskName,e.result,e.dataHash,e.data)};case "task-failed":return {config:r,state:Hu(n,r,e.taskName,e.error)};case "task-progress":return {config:r,state:zu(n,e.taskName,e.message,e.progress)};case "task-restart":return {config:r,state:Wu(n,e.taskName)};case "inject-tokens":return {config:r,state:{...n,availableOutputs:[...new Set([...n.availableOutputs,...e.tokens])],lastUpdated:new Date().toISOString()}};case "agent-action":return {config:r,state:Ah(n,e.action)};case "task-upsert":return $h(t,e.taskName,e.taskConfig);case "task-removal":return Rh(t,e.taskName);case "node-requires-add":return Ch(t,e.nodeName,e.tokens);case "node-requires-remove":return Eh(t,e.nodeName,e.tokens);case "node-provides-add":return xh(t,e.nodeName,e.tokens);case "node-provides-remove":return Th(t,e.nodeName,e.tokens);default:return t}}function Yu(t,e){return e.reduce((r,n)=>_h(r,n),t)}function $h(t,e,r){let n=!!t.config.tasks[e];return {config:{...t.config,tasks:{...t.config.tasks,[e]:r}},state:{...t.state,tasks:{...t.state.tasks,[e]:n?t.state.tasks[e]:Xu()},lastUpdated:new Date().toISOString()}}}function Rh(t,e){if(!t.config.tasks[e])return t;let{[e]:r,...n}=t.config.tasks,{[e]:s,...o}=t.state.tasks;return {config:{...t.config,tasks:n},state:{...t.state,tasks:o,lastUpdated:new Date().toISOString()}}}function Ch(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=nt(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:[...s,...o]}}},state:t.state}}function Eh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=nt(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,requires:o}}},state:t.state}}function xh(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=_e(n),o=r.filter(a=>!s.includes(a));return o.length===0?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:[...s,...o]}}},state:t.state}}function Th(t,e,r){let n=t.config.tasks[e];if(!n)return t;let s=_e(n),o=s.filter(a=>!r.includes(a));return o.length===s.length?t:{config:{...t.config,tasks:{...t.config.tasks,[e]:{...n,provides:o}}},state:t.state}}function kr(t){return {version:1,config:t.config,state:t.state,snapshotAt:new Date().toISOString()}}function bn(t){if(!t||typeof t!="object")throw new Error("Invalid snapshot: expected an object");let e=t;if(!e.config||typeof e.config!="object")throw new Error('Invalid snapshot: missing or invalid "config"');if(!e.state||typeof e.state!="object")throw new Error('Invalid snapshot: missing or invalid "state"');let r=e.config,n=e.state;if(!r.settings||typeof r.settings!="object")throw new Error("Invalid snapshot: config.settings missing");if(!r.tasks||typeof r.tasks!="object")throw new Error("Invalid snapshot: config.tasks missing");if(!n.tasks||typeof n.tasks!="object")throw new Error("Invalid snapshot: state.tasks missing");if(!Array.isArray(n.availableOutputs))throw new Error("Invalid snapshot: state.availableOutputs must be an array");return {config:r,state:n}}function Xu(){return {status:"not-started",executionCount:0,retryCount:0,lastEpoch:0,messages:[],progress:null}}function Ah(t,e){let r=new Date().toISOString();switch(e){case "stop":return {...t,status:"stopped",lastUpdated:r};case "pause":return {...t,status:"paused",lastUpdated:r};case "resume":return {...t,status:"running",lastUpdated:r};default:return t}}function _r(t){let{config:e,state:r}=t,n=Lu(e);if(Object.keys(n).length===0)return {eligible:[],pending:[],unresolved:[],blocked:[],conflicts:{}};let o=Ih(n),a=Gu(e,r.tasks),i=new Set([...a,...r.availableOutputs]),u=[],c=[],d=[],f=[];for(let[g,p]of Object.entries(n)){let l=r.tasks[g],m=Vu(p,e.settings),v=m!=="once";if(l?.status===rt.RUNNING||Co(l))continue;let y=Bu(p);if(y!==void 0&&l&&l.executionCount>=y||p.circuit_breaker&&l&&l.executionCount>=p.circuit_breaker.max_executions||!v&&l?.status===rt.COMPLETED)continue;if(v&&l?.status===rt.COMPLETED){let R=nt(p),O=false;switch(m){case "data-changed":{R.length>0&&R.some(q=>{for(let[Q,ne]of Object.entries(n))if(_e(ne).includes(q)){let ae=r.tasks[Q];if(!ae)continue;let Ue=l.lastConsumedHashes?.[q];return ae.lastDataHash==null?ae.executionCount>l.lastEpoch:ae.lastDataHash!==Ue}return false})||(O=true);break}case "epoch-changed":{R.length>0&&R.some(q=>{for(let[Q,ne]of Object.entries(n))if(_e(ne).includes(q)){let ae=r.tasks[Q];if(ae&&ae.executionCount>l.lastEpoch)return true}return false})||(O=true);break}case "time-based":{let J=p.refreshInterval??0;if(J<=0){O=true;break}let q=l.completedAt;if(!q){O=true;break}(Date.now()-Date.parse(q))/1e3<J&&(O=true);break}case "manual":O=true;break}if(O)continue}let b=nt(p);if(b.length===0){u.push(g);continue}let _=[],k=[],A=[];for(let R of b){if(i.has(R))continue;let O=o[R]||[];O.length===0?_.push(R):O.every(q=>Co(r.tasks[q]))?A.push({token:R,failedProducer:O[0]}):k.push(R);}_.length>0?d.push({taskName:g,missingTokens:_}):A.length>0?f.push({taskName:g,failedTokens:A.map(R=>R.token),failedProducers:[...new Set(A.map(R=>R.failedProducer))]}):k.length>0?c.push({taskName:g,waitingOn:k}):u.push(g);}let S={};if(u.length>1){let g=Ku(u,n);for(let[p,l]of Object.entries(g))l.length>1&&(S[p]=l);}return {eligible:u,pending:c,unresolved:d,blocked:f,conflicts:S}}function Ih(t){let e={};for(let[r,n]of Object.entries(t)){for(let s of _e(n))e[s]||(e[s]=[]),e[s].push(r);if(n.on)for(let s of Object.values(n.on))for(let o of s)e[o]||(e[o]=[]),e[o].includes(r)||e[o].push(r);if(n.on_failure)for(let s of n.on_failure)e[s]||(e[s]=[]),e[s].includes(r)||e[s].push(r);}return e}var $r=class{buffer=[];append(e){this.buffer.push(e);}drain(){let e=this.buffer;return this.buffer=[],e}get size(){return this.buffer.length}};function Eo(t){let e=xo(t);return Ph(e)}function xo(t){if(t==null||typeof t!="object")return JSON.stringify(t);if(Array.isArray(t))return "["+t.map(xo).join(",")+"]";let e=t;return "{"+Object.keys(e).sort().map(n=>JSON.stringify(n)+":"+xo(e[n])).join(",")+"}"}function Ph(t){let e=0xcbf29ce484222325n,r=0x100000001b3n,n=0xffffffffffffffffn;for(let s=0;s<t.length;s++)e^=BigInt(t.charCodeAt(s)),e=e*r&n;return e.toString(16).padStart(16,"0")}function Oh(t){if(typeof Buffer<"u")return Buffer.from(t,"utf8").toString("base64url");if(typeof btoa=="function"){let e=new TextEncoder().encode(t),r="";for(let n of e)r+=String.fromCharCode(n);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}throw new Error("No base64 encoder available in this runtime")}function jh(t){if(typeof Buffer<"u")return Buffer.from(t,"base64url").toString("utf8");if(typeof atob=="function"){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=new Uint8Array(n.length);for(let o=0;o<n.length;o++)s[o]=n.charCodeAt(o);return new TextDecoder().decode(s)}throw new Error("No base64 decoder available in this runtime")}function Qu(t){let e=JSON.stringify({t,n:Date.now().toString(36)+Math.random().toString(36).slice(2,6)});return Oh(e)}function Nh(t){try{let e=JSON.parse(jh(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function Zu(t,e,r){let{handlers:n,onDrain:s}=e,o=new $r,a="state"in t&&"config"in t?t:Sn(t),i=false,u=new Set,c=new Map(Object.entries(n)),d=new $r,f=false,S=false;function g(){if(!i){if(f){S=true;return}f=true;try{do S=!1,p();while(S)}finally{f=false;}}}function p(){let y=d.drain(),b=o.drain(),_=[...y,...b];_.length>0&&(a=Yu(a,_));let k=_r(a);_.length>0&&s?.(_,a,k);for(let A of k.eligible)v(A);for(let A of _)if(A.type==="task-progress"){let{taskName:R,update:O}=A;if(!a.config.tasks[R])continue;let q=a.state.tasks[R];if(!q||q.status!=="running")continue;let Q=Qu(R),ne=m(R,Q,O).catch(ae=>{i||(d.append({type:"task-failed",taskName:R,error:ae.message??String(ae),timestamp:new Date().toISOString()}),g());}).finally(()=>{u.delete(ne);});u.add(ne);}}function l(y){let _=a.config.tasks[y].requires??[],k=new Map;for(let[R,O]of Object.entries(a.config.tasks))for(let J of O.provides??[])k.set(J,R);let A={};for(let R of _){let O=k.get(R);O?A[R]=a.state.tasks[O]?.data:A[R]=void 0;}return A}async function m(y,b,_){let k=a.config.tasks[y],A=k.taskHandlers??[],R=l(y);for(let O of A){let J=c.get(O);if(!J)throw new Error(`Handler '${O}' not found in registry (task '${y}')`);let q={nodeId:y,state:R,taskState:a.state.tasks[y],config:k,callbackToken:b,update:_};if(await J(q)==="task-initiate-failure")throw new Error(`Handler '${O}' returned task-initiate-failure (task '${y}')`)}}function v(y){let _=a.config.tasks[y]?.taskHandlers;if(!_||_.length===0)return;d.append({type:"task-started",taskName:y,timestamp:new Date().toISOString()}),g();let k=Qu(y),A=m(y,k).catch(R=>{i||(d.append({type:"task-failed",taskName:y,error:R.message??String(R),timestamp:new Date().toISOString()}),g());}).finally(()=>{u.delete(A);});u.add(A);}return {push(y){i||(y.type==="task-completed"&&y.data&&!y.dataHash&&(y={...y,dataHash:Eo(y.data)}),o.append(y),g());},pushAll(y){if(!i){for(let b of y)b.type==="task-completed"&&b.data&&!b.dataHash?o.append({...b,dataHash:Eo(b.data)}):o.append(b);g();}},resolveCallback(y,b,_){if(i)return;let k=Nh(y);if(!k)return;let{taskName:A}=k;if(a.config.tasks[A]){if(_&&_.length>0)o.append({type:"task-failed",taskName:A,error:_.join("; "),timestamp:new Date().toISOString()});else {let R=b&&Object.keys(b).length>0?Eo(b):void 0;o.append({type:"task-completed",taskName:A,data:b,dataHash:R,timestamp:new Date().toISOString()});}g();}},addNode(y,b){i||(o.append({type:"task-upsert",taskName:y,taskConfig:b,timestamp:new Date().toISOString()}),g());},removeNode(y){i||(o.append({type:"task-removal",taskName:y,timestamp:new Date().toISOString()}),g());},addRequires(y,b){i||(o.append({type:"node-requires-add",nodeName:y,tokens:b,timestamp:new Date().toISOString()}),g());},removeRequires(y,b){i||(o.append({type:"node-requires-remove",nodeName:y,tokens:b,timestamp:new Date().toISOString()}),g());},addProvides(y,b){i||(o.append({type:"node-provides-add",nodeName:y,tokens:b,timestamp:new Date().toISOString()}),g());},removeProvides(y,b){i||(o.append({type:"node-provides-remove",nodeName:y,tokens:b,timestamp:new Date().toISOString()}),g());},registerHandler(y,b){c.set(y,b);},unregisterHandler(y){c.delete(y);},retrigger(y){i||a.config.tasks[y]&&(o.append({type:"task-restart",taskName:y,timestamp:new Date().toISOString()}),g());},retriggerAll(y){if(!i){for(let b of y)a.config.tasks[b]&&o.append({type:"task-restart",taskName:b,timestamp:new Date().toISOString()});g();}},snapshot(){return kr(a)},getState(){return a},getSchedule(){return _r(a)},async waitForHandlers(){u.size>0&&await Promise.allSettled([...u]);},async dispose(y){y?.wait&&u.size>0&&await Promise.allSettled([...u]),i=true;}}}function To(t){return JSON.stringify(t)}function Ao(t){let e;try{e=JSON.parse(t);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${t}`)}if(typeof e!="object"||e===null||typeof e.howToRun!="string"||typeof e.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${t}`);return e}var Dh=createRequire(import.meta.url),rc=Dh("./jsonata-sync.cjs")??wn;function ec(t,e){if(!e||!t)return;let r=e.split("."),n=t;for(let s=0;s<r.length;s++){if(n==null)return;n=n[r[s]];}return n}function nc(t,e,r){let n=e.split("."),s=t;for(let o=0;o<n.length-1;o++)(s[n[o]]==null||typeof s[n[o]]!="object")&&(s[n[o]]={}),s=s[n[o]];s[n[n.length-1]]=r;}async function Fh(t,e){if(!t?.compute?.length)return t;t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r={card_data:t.card_data,requires:t.requires??{},fetched_sources:t._sourcesData,computed_values:t.computed_values};for(let n of t.compute)try{let s=await wn(n.expr).evaluate(r);nc(t.computed_values,n.bindTo,s),r.computed_values=t.computed_values;}catch(s){console.error(`CardCompute.run error on "${t.id??"?"}.${n.bindTo}":`,s);}return t}function Mh(t,e){if(!t?.compute?.length)return {ok:true,node:t};t.card_data||(t.card_data={}),t.computed_values={},t._sourcesData=e?.sourcesData??{};let r={card_data:t.card_data,requires:t.requires??{},fetched_sources:t._sourcesData,computed_values:t.computed_values};for(let n of t.compute)try{let s=rc(n.expr).evaluate(r);nc(t.computed_values,n.bindTo,s),r.computed_values=t.computed_values;}catch(s){console.error(`CardCompute.runSync error on "${t.id??"?"}.${n.bindTo}":`,s);}return {ok:true,node:t}}async function Lh(t,e){let r={card_data:e.card_data??{},requires:e.requires??{},fetched_sources:e._sourcesData??{},computed_values:e.computed_values??{}};return wn(t).evaluate(r)}function Vh(t,e){return e.startsWith("fetched_sources.")?ec(t._sourcesData??{},e.slice(16)):ec(t,e)}var tc=new Set(["metric","table","editable-table","chart","form","filter","list","notes","todo","alert","narrative","badge","text","markdown","ref","custom","actions"]),Bh=new Set(["id","meta","requires","provides","view","card_data","compute","source_defs"]);function Gh(t){let e=[];if(!t||typeof t!="object"||Array.isArray(t))return {ok:false,errors:["Node must be a non-null object"]};let r=t;(typeof r.id!="string"||!r.id)&&e.push("id: required, must be a non-empty string");for(let n of Object.keys(r))Bh.has(n)||e.push(`Unknown top-level key: "${n}"`);if((r.card_data==null||typeof r.card_data!="object"||Array.isArray(r.card_data))&&e.push("card_data: required, must be an object"),r.meta!=null)if(typeof r.meta!="object"||Array.isArray(r.meta))e.push("meta: must be an object");else {let n=r.meta;n.title!=null&&typeof n.title!="string"&&e.push("meta.title: must be a string"),n.tags!=null&&!Array.isArray(n.tags)&&e.push("meta.tags: must be an array");}if(r.requires!=null&&!Array.isArray(r.requires)&&e.push("requires: must be an array of strings"),r.provides!=null&&(Array.isArray(r.provides)?r.provides.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`provides[${s}]: must be an object with bindTo and ref`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`provides[${s}]: missing required "bindTo" string`),(typeof o.ref!="string"||!o.ref)&&e.push(`provides[${s}]: missing required "ref" string`);}}):e.push("provides: must be an array of { bindTo, ref } bindings")),r.compute!=null&&(Array.isArray(r.compute)?r.compute.forEach((n,s)=>{if(!n||typeof n!="object"||Array.isArray(n))e.push(`compute[${s}]: must be a compute step object`);else {let o=n;(typeof o.bindTo!="string"||!o.bindTo)&&e.push(`compute[${s}]: missing required "bindTo" property`),(typeof o.expr!="string"||!o.expr)&&e.push(`compute[${s}]: missing required "expr" string (JSONata expression)`);}}):e.push("compute: must be an array of compute steps")),r.source_defs!=null)if(!Array.isArray(r.source_defs))e.push("source_defs: must be an array");else {let n=new Set,s=new Set;r.source_defs.forEach((o,a)=>{if(!o||typeof o!="object"||Array.isArray(o))e.push(`source_defs[${a}]: must be an object`);else {let i=o;typeof i.bindTo!="string"||!i.bindTo?e.push(`source_defs[${a}]: missing required "bindTo" property`):(n.has(i.bindTo)&&e.push(`source_defs[${a}]: bindTo "${i.bindTo}" is not unique across source_defs`),n.add(i.bindTo)),typeof i.outputFile!="string"||!i.outputFile?e.push(`source_defs[${a}]: missing required "outputFile" property`):(s.has(i.outputFile)&&e.push(`source_defs[${a}]: outputFile "${i.outputFile}" is not unique across source_defs`),s.add(i.outputFile)),i.optionalForCompletionGating!=null&&typeof i.optionalForCompletionGating!="boolean"&&e.push(`source_defs[${a}]: optionalForCompletionGating must be a boolean`);}});}if(r.view!=null)if(typeof r.view!="object"||Array.isArray(r.view))e.push("view: must be an object");else {let n=r.view;!Array.isArray(n.elements)||n.elements.length===0?e.push("view.elements: required, must be a non-empty array"):n.elements.forEach((s,o)=>{if(!s||typeof s!="object"){e.push(`view.elements[${o}]: must be an object`);return}!s.kind||typeof s.kind!="string"?e.push(`view.elements[${o}].kind: required, must be a string`):tc.has(s.kind)||e.push(`view.elements[${o}].kind: unknown kind "${s.kind}". Valid: ${[...tc].join(", ")}`),s.data!=null&&(typeof s.data!="object"||Array.isArray(s.data))&&e.push(`view.elements[${o}].data: must be an object`);}),n.layout!=null&&(typeof n.layout!="object"||Array.isArray(n.layout))&&e.push("view.layout: must be an object"),n.features!=null&&(typeof n.features!="object"||Array.isArray(n.features))&&e.push("view.features: must be an object");}return {ok:e.length===0,errors:e}}async function Kh(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return Promise.all(t.map(async n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=await wn(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}}))}function Uh(t,e){if(!t||t.length===0)return [];let r={card_data:e.card_data??{},requires:e.requires??{}};return t.map(n=>{let s={};if(n.projections&&typeof n.projections=="object"&&!Array.isArray(n.projections)){for(let[o,a]of Object.entries(n.projections))if(typeof a=="string"&&a.trim().length>0)try{s[o]=rc(a).evaluate(r);}catch{s[o]=void 0;}}return {...n,_projections:s}})}var kn={run:Fh,runSync:Mh,eval:Lh,resolve:Vh,validate:Gh,enrichSources:Kh,enrichSourcesSync:Uh};function _n(t,e){function r(){return t.readIndex()??{}}function n(s,o,a){let i=String(o||"").split(".").filter(Boolean);if(i.length===0)return a&&typeof a=="object"&&!Array.isArray(a)?a:{value:a};let u={...s},c=u;for(let d=0;d<i.length-1;d++){let f=i[d],S=c[f],g=S&&typeof S=="object"&&!Array.isArray(S)?{...S}:{};c[f]=g,c=g;}return c[i[i.length-1]]=a,u}return {readCard(s){let o=r()[s];return !o||!t.cardExists(o.key)?null:t.readCard(o.key)},readCardKey(s){return r()[s]?.key??null},readAllCards(){let s=[];for(let[o,a]of Object.entries(r())){if(!t.cardExists(a.key))continue;let i=t.readCard(a.key);i?s.push(i):e?.(`[card-store] could not read card "${o}" at key "${a.key}"`);}return s},readChecksumIndex(){let s={};for(let[o,a]of Object.entries(r()))s[o]=a.checksum;return s},changedSince(s){let o=r(),a=[];for(let[i,u]of Object.entries(o))s[i]!==u.checksum&&a.push(i);for(let i of Object.keys(s))o[i]||a.push(i);return a},validateUpsert(s,o){let a=r(),i=a[s],u=Object.entries(a).find(([,c])=>c.key===o);return i&&i.key!==o?{ok:false,error:`Card id "${s}" is already mapped to key "${i.key}", cannot remap to "${o}"`}:u&&u[0]!==s?{ok:false,error:`Key "${o}" is already mapped to card id "${u[0]}", cannot remap to "${s}"`}:{ok:true}},writeCard(s,o,a){let i=r(),u=a??i[s]?.key??t.defaultCardKey(s),c=t.writeCard(u,o);i[s]={key:u,checksum:c,updatedAt:new Date().toISOString()},t.writeIndex(i);},patchCard(s,o,a){let i=r(),u=i[s];if(!u||!t.cardExists(u.key))throw new Error(`card "${s}" not found`);let c=t.readCard(u.key);if(!c||typeof c!="object"||Array.isArray(c))throw new Error(`card "${s}" is not patchable`);let d=n(c,o,a),f=t.writeCard(u.key,d);i[s]={key:u.key,checksum:f,updatedAt:new Date().toISOString()},t.writeIndex(i);},removeCard(s){let o=r();o[s]&&(delete o[s],t.writeIndex(o));},readIndex(){return r()}}}function Io(t,e){return {readSourceData(r,n){let s=t.read(`${r}/${n}`);if(s==null)return null;let o=s.trim();if(!o)return null;try{return JSON.parse(o)}catch{return o}},ingestSourceDataStaged(r,n,s,o){let a=e(s);t.write(`${r}/.staged/${o}/${n}`,a);},commitSourceData(r,n,s){let o=`${r}/.staged/${s}/${n}`,a=t.read(o);return a==null?false:(t.write(`${r}/${n}`,a),t.remove(o),true)},hasSource(r,n){return t.exists(`${r}/${n}`)}}}function oc(t){function e(r){let n=t.readAllEntries();if(!r)return n;let s=n.findIndex(o=>o.id===r);return s===-1?n:n.slice(s+1)}return {readEntriesAfterCursor(r){let n=e(r);return n.length===0?{events:[],newCursor:r}:{events:n.map(s=>s.event),newCursor:n[n.length-1].id}},pendingCount(r){return e(r).length},appendEvent(r){t.appendEntry({id:t.generateId(),event:r});}}}function ac(t,e){return {appendEntries(r,n){if(!r||n.length===0)return;let s=t.read(r)??[];t.write(r,[...s,...n]);},dispatchEntriesForJournalId(r,n){if(!r)return;let s=t.read(r);if(!(!s||s.length===0)){for(let o of s)try{n(o);}catch(a){let i=a instanceof Error?a.message:String(a);try{e(o,i);}catch{}}t.delete(r);}}}}var Rr="v1",st="board/graph",ic="board/lastJournalProcessedId";function sc(t){return `cards/${t}/runtime`}function uc(t){return {readRuntime(e){return t.read(sc(e))??{_sources:{}}},writeRuntime(e,r){t.write(sc(e),r);}}}function Jh(t,e){let r={...t};for(let n of e.deleteKeys)delete r[n];return {...r,...e.shallowMerge}}function cc(t){return {readSnapshot(e){return t.readValues(e)},commitSnapshot(e,r){if(r.schemaVersion!==Rr)throw new Error(`Unsupported snapshot schema version: ${r.schemaVersion}`);let n=t.readValues(e);if(n.version!==r.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:n.version};let s=Jh(n.values,r);return {ok:true,newVersion:t.writeValues(e,s,r.deleteKeys)}}}}function Po(t){function e(r){let n=t.read(r);return n==null?null:typeof n=="string"?n:JSON.stringify(n)}return {readTaskExecutorRef(){let r=e("task-executor");if(r?.trim())return Ao(r.trim())},writeTaskExecutorRef(r){t.write("task-executor",To(r));},readChatHandlerRef(){let r=e("chat-handler");if(r?.trim())return Ao(r.trim())},writeChatHandlerRef(r){t.write("chat-handler",To(r));},readCardStoreRef(){return e("card-store-ref")},writeCardStoreRef(r){t.write("card-store-ref",r);},readOutputsStoreRef(){return e("outputs-store-ref")},writeOutputsStoreRef(r){t.write("outputs-store-ref",r);},readChatHandler(){return e("chat-handler")?.trim()||void 0},writeChatHandler(r){t.write("chat-handler",r);}}}function dc(t){return {writeComputedValues(e,r){t.write(`cards/${e}/computed_values`,r);},readComputedValues(e){return t.read(`cards/${e}/computed_values`)},readAllComputedValues(){let e={};for(let r of t.listKeys("cards/")){let n=r.match(/^cards\/([^/]+)\/computed_values$/);n&&(e[n[1]]=t.read(r));}return e},writeDataObjects(e){for(let[r,n]of Object.entries(e))r&&t.write(`data-objects/${r}`,n);},readDataObject(e){return t.read(`data-objects/${e}`)},readAllDataObjects(){let e={};for(let r of t.listKeys("data-objects/"))e[r.slice(13)]=t.read(r);return e},writeStatusSnapshot(e){t.write("status",e);},readStatusSnapshot(){return t.read("status")}}}function Hh(t){return t?.lastRequestedAt?!t.lastFetchedAt||t.lastFetchedAt<t.lastRequestedAt:false}function zh(t,e){return t?.lastRequestedAt?Hh(t)?"in-flight":!t.lastFetchedAt||t.lastFetchedAt<e?"dispatch":"idle":"dispatch"}function Wh(t,e){let r={...t,lastFetchedAt:e};return delete r.lastError,r}function Yh(t,e){let r={...t,lastError:e};return delete r.lastFetchedAt,r}function $n(t,e){let r=e.state.tasks,n=e.config.tasks,s=Object.keys(r),o=_r(e),a={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},i=new Map;for(let p of o.pending)i.set(p.taskName,p.waitingOn);for(let p of o.unresolved)i.set(p.taskName,p.missingTokens);for(let p of o.blocked)i.set(p.taskName,p.failedTokens);let u=new Map;for(let[p,l]of Object.entries(n))for(let m of l.requires??[]){let v=u.get(m)??[];v.push(p),u.set(m,v);}let c=s.sort().map(p=>{let l=r[p],m=n[p]??{requires:[],provides:[]};l.status==="completed"?a.completed+=1:l.status==="failed"?a.failed+=1:l.status==="in-progress"&&(a.in_progress+=1);let v=m.requires??[],y=m.provides??[],b=Object.keys(l.data??{}).sort(),_=v.filter(q=>e.state.availableOutputs.includes(q)),k=v.filter(q=>!e.state.availableOutputs.includes(q)),A=i.get(p)??k,R=new Set;for(let q of y)for(let Q of u.get(q)??[])Q!==p&&R.add(Q);let O=l.failedAt,J=l.error?{message:l.error,code:"TASK_FAILED",at:O,source:"task-runtime"}:void 0;return {name:p,status:l.status,error:J,requires:v,requires_satisfied:_,requires_missing:k,provides_declared:y,provides_runtime:b,blocked_by:A,unblocks:Array.from(R).sort(),runtime:{attempt_count:l.executionCount??0,restart_count:l.retryCount??0,in_progress_since:l.status==="in-progress"?l.startedAt??null:null,last_transition_at:l.lastUpdated??null,last_completed_at:l.completedAt??null,last_restarted_at:l.startedAt??null,status_age_ms:l.lastUpdated?0:null}}});a.pending=o.pending.length,a.blocked=o.blocked.length,a.unresolved=o.unresolved.length;let d=c.map(p=>({name:p.name,fanOut:p.unblocks.length})).sort((p,l)=>l.fanOut-p.fanOut||p.name.localeCompare(l.name)),f=d.length>0?d[0]:{name:null,fanOut:0},S=new Set;for(let p of Object.values(n))for(let l of p.requires??[])S.add(l);let g=0;for(let[p,l]of Object.entries(n)){let m=(l.requires??[]).length===0,y=(l.provides??[]).some(b=>(u.get(b)??[]).some(_=>_!==p));m&&!y&&(g+=1);}return {schema_version:"v1",meta:{board:{path:t}},summary:{card_count:s.length,completed:a.completed,eligible:o.eligible.length,pending:a.pending,blocked:a.blocked,unresolved:a.unresolved,failed:a.failed,in_progress:a.in_progress,orphan_cards:g,topology:{edge_count:Array.from(S).length,max_fan_out_card:f.name,max_fan_out:f.fanOut}},cards:c}}function Xh(){return new Date().toISOString()}function lc(t,e,r,n,s,o,a,i){return async u=>{let c=[],d=r.cardStore.readCard(u.nodeId);if(!d)return "task-initiate-failure";let f=d.id;u.update||i?.(f,d);let S=d.card_data??{},g=d.source_defs??[],p=g.filter(w=>w.optionalForCompletionGating!==true),l=r.cardRuntimeStore.readRuntime(f),m=false,v=()=>{m&&(r.cardRuntimeStore.writeRuntime(f,l),m=false);},y=w=>({...l._sources[w]??{}}),b=(w,h)=>{l._sources[w]=h,m=true;},_=u.taskState?.executionCount??0,k=l._lastExecutionCount;if(typeof k=="number"&&k!==_&&(l._sources={},m=true),k!==_&&(l._lastExecutionCount=_,m=true),u.update){let w=u.update,h=w.outputFile;if(h){let C=y(h);if(w.failure)b(h,Yh(C,w.reason??"unknown"));else {let P=w.rqt;if(!C.lastFetchedAt||P>C.lastFetchedAt){let B=typeof w.deliveryToken=="string"?w.deliveryToken:void 0;B&&r.fetchedSourcesStore.commitSourceData(f,h,B),b(h,Wh(C,P));}}v();}}let A={};for(let w of g)if(w.outputFile){let h=r.fetchedSourcesStore.readSourceData(f,w.outputFile);h!==null&&(A[w.bindTo]=h);}let R={};for(let[w,h]of Object.entries(u.state??{}))if(h!==null&&typeof h=="object"&&!Array.isArray(h)){let C=h[w];R[w]=C!==void 0?C:h;}else R[w]=h;let O={id:f,card_data:{...S},requires:R,source_defs:g,compute:d.compute};O._sourcesData=A,d.compute&&kn.runSync(O,{sourcesData:A}),(o??r.outputStore.writeComputedValues.bind(r.outputStore))(f,O.computed_values??{});let J={...d},q=kn.enrichSourcesSync(Array.isArray(d.source_defs)?d.source_defs:void 0,{card_data:d.card_data,requires:R}),Q=t.value;J.source_defs=Array.isArray(q)?q.map(w=>({...w,boardDir:typeof w.boardDir=="string"&&w.boardDir?w.boardDir:Q})):q;let ne=Xh(),ae=u.update?void 0:ne,Ue=p.filter(w=>{let h=w.outputFile;if(typeof h!="string"||!h)return true;let C=y(h);ae&&(C={...C,queueRequestedAt:ae},b(h,C));let P=C.queueRequestedAt??C.lastRequestedAt??ne,B=zh(C,P);return B==="in-flight"?false:B==="dispatch"});if(v(),Ue.length>0){let w=false,h=ne;for(let C of Ue){let P=C.outputFile;if(typeof P!="string"||!P)continue;let B=y(P),W=B.queueRequestedAt??ne;b(P,{...B,lastRequestedAt:W}),h=W,w=true;}return w&&v(),w&&(c.push({taskKind:"source-fetch",payload:{boardRef:oe(t),enrichedCard:J,callbackToken:u.callbackToken,rqt:h}}),r.executionRequestStore.appendEntries(e,c)),"task-initiated"}let Tn=d.provides??[],Lt={};for(let{bindTo:w,ref:h}of Tn)Lt[w]=kn.resolve(O,h);return (a??r.outputStore.writeDataObjects.bind(r.outputStore))(Lt),g.filter(w=>{if(w.optionalForCompletionGating!==true)return false;let h=y(w.outputFile);return !h.lastRequestedAt||!h.lastFetchedAt?true:h.lastFetchedAt<=h.lastRequestedAt}).length>0&&c.push({taskKind:"source-fetch",payload:{boardRef:oe(t),enrichedCard:J,callbackToken:u.callbackToken,rqt:ne}}),n(u.nodeId,Lt),c.length>0&&r.executionRequestStore.appendEntries(e,c),"task-initiated"}}var Rn={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function fc(t){return {[st]:t.graph,[ic]:t.lastDrainedJournalId}}function pc(t){let e=t[st],r=t[ic];if(!e||typeof e!="object")throw new Error(`State snapshot is missing required key: ${st}`);return {graph:e,lastDrainedJournalId:typeof r=="string"?r:""}}function mc(t){let e=t.requires,r=t.provides?.map(n=>n.bindTo)??[];return {requires:e&&e.length>0?e:void 0,provides:r,taskHandlers:["card-handler"],description:t.meta?.title??t.id}}function ee(t){return t!==void 0?{status:"success",data:t}:{status:"success"}}function L(t){return {status:"fail",error:t}}function Z(t){return {status:"error",error:t instanceof Error?t.message:String(t)}}function Qh(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCharCode(n)).join("");return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function gc(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r=e+"=".repeat((4-e.length%4)%4),n=atob(r),s=Uint8Array.from(n,o=>o.charCodeAt(0));return new TextDecoder().decode(s)}function Cn(t){try{let e=JSON.parse(gc(t));return typeof e?.t=="string"?{taskName:e.t}:null}catch{return null}}function Zh(t){return Qh(JSON.stringify(t))}function hc(t){try{let e=JSON.parse(gc(t));return typeof e?.cbk=="string"&&typeof e?.cid=="string"&&typeof e?.b=="string"&&typeof e?.d=="string"?e:null}catch{return null}}function $e(){return new Date().toISOString()}function Cr(t,e){let r=e.onWarn??(()=>{}),n=oe(t);function s(w){if(w.length!==0)try{let h=e.publishBoardChangeNotifications?.(w);h&&typeof h.catch=="function"&&h.catch(C=>r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${C instanceof Error?C.message:String(C)}`));}catch(h){r(`[board-live-cards-public] publishBoardChangeNotifications failed: ${h instanceof Error?h.message:String(h)}`);}}function o(){let w=i().readCardStoreRef();if(!w)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <::kind::value>`);let h=e.kvStorageForRef(w);return {readIndex(){return h.read("_index")},writeIndex(C){h.write("_index",C);},readCard(C){return h.read(C)},writeCard(C,P){return h.write(C,P),e.hashFn(P)},cardExists(C){return h.read(C)!==null},defaultCardKey(C){return C}}}let a={readValues(w){let h=e.kvStorage("state-snapshot"),C=h.listKeys().sort();if(C.length===0)return {version:null,values:{}};let P={};for(let B of C)P[B]=h.read(B);return {version:e.hashFn(P),values:P}},writeValues(w,h,C){let P=e.kvStorage("state-snapshot");for(let B of C)P.delete(B);for(let[B,W]of Object.entries(h))P.write(B,W);return e.hashFn(h)}},i=()=>Po(e.kvStorage("config")),u=()=>cc(a),c=()=>oc(e.journalAdapter()),d=()=>_n(o(),r),f=()=>{let w=i().readOutputsStoreRef();if(!w)throw new Error(`Board at ${t.value} has no outputs store configured. Run: init --outputs-store-ref <::kind::value>`);return dc(e.kvStorageForRef(w))};function S(){return !!u().readSnapshot(t.value).values[st]}function g(){let w=u().readSnapshot(t.value);if(!w.values[st])throw new Error(`Board not initialized at ${t.value}`);return pc(w.values)}function p(w,h){let C=u().commitSnapshot(t.value,{schemaVersion:Rr,expectedVersion:h,commitId:e.genId(),committedAt:$e(),deleteKeys:[],shallowMerge:fc(w)});if(!C.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${h??"null"} current=${C.currentVersion??"null"}`)}function l(w){c().appendEvent(w);}async function m(){let w=(x,j)=>{let se=x.payload,He=(se?.enrichedCard??{}).id??se?.cardId??"unknown";l({type:"task-failed",taskName:He,error:j,timestamp:$e()});},h=ac(e.kvStorage("execution-requests"),w),C=uc(e.kvStorage("card-runtime")),P=Io(e.blobStorage("sources"),x=>e.resolveBlob(x)),B=new Map,W={readRuntime(x){return B.get(x)??C.readRuntime(x)},writeRuntime(x,j){B.set(x,j);}},Je=[],ke=new Map,De={readSourceData(x,j){let se=`${x}/${j}`;return ke.has(se)?ke.get(se):P.readSourceData(x,j)},ingestSourceDataStaged(x,j,se,wt){P.ingestSourceDataStaged(x,j,se,wt);},commitSourceData(x,j,se){let wt=`${x}/.staged/${se}/${j}`,Ir=e.blobStorage("sources").read(wt);if(Ir==null)return false;let kt=`${x}/${j}`,Fo=Ir.trim();try{ke.set(kt,JSON.parse(Fo));}catch{ke.set(kt,Fo);}return Je.push({cardId:x,outputFile:j,deliveryToken:se}),true},hasSource(x,j){let se=`${x}/${j}`;return ke.has(se)?true:P.hasSource(x,j)}},Fe={cardStore:d(),cardRuntimeStore:W,fetchedSourcesStore:De,outputStore:f(),executionRequestStore:h},at=g(),it=bn(at.graph),{events:St,newCursor:bt}=c().readEntriesAfterCursor(at.lastDrainedJournalId),ut=[],An=[],In=[],No=new Map,yc=(x,j)=>{ut.push({type:"task-completed",taskName:x,data:j,timestamp:$e()});},qo=(x,j)=>l({type:"task-failed",taskName:x,error:j,timestamp:$e()}),Tr=Zu(it,{handlers:{"card-handler":lc(t,bt,Fe,yc,qo,(x,j)=>{An.push({cardId:x,values:j});},x=>{In.push(x);},(x,j)=>{No.set(x,j);})}});for(ut=St;ut.length>0;){let x=ut;ut=[],Tr.pushAll(x),await Tr.waitForHandlers();}let Do=Tr.getState();await Tr.dispose({wait:true});let vc=u().readSnapshot(t.value).version;p({lastDrainedJournalId:bt,graph:kr(Do)},vc);for(let{cardId:x,values:j}of An)Fe.outputStore.writeComputedValues(x,j);for(let x of In)Fe.outputStore.writeDataObjects(x);for(let[x,j]of B)C.writeRuntime(x,j);for(let{cardId:x,outputFile:j,deliveryToken:se}of Je)P.commitSourceData(x,j,se);let Ar;try{Ar=$n(n,Do),Fe.outputStore.writeStatusSnapshot(Ar);}catch(x){r(`[board-live-cards-public] status publish failed: ${x instanceof Error?x.message:String(x)}`);}let Vt=[];for(let{cardId:x,values:j}of An)Vt.push({kind:"computed_values",cardId:x,values:j});for(let x of In)for(let[j,se]of Object.entries(x))j&&Vt.push({kind:"data_object",key:j,payload:se});for(let[x,j]of No)Vt.push({kind:"card_refreshed",cardId:x,card:j});Ar!==void 0&&Vt.push({kind:"status",status:Ar}),s(Vt);let Sc=i().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:"::built-in::source-cli-task-executor"};h.dispatchEntriesForJournalId(bt,x=>{if(x.taskKind!=="source-fetch"){r(`[process-accumulated-events] unknown taskKind "${x.taskKind}" \u2014 skipping`);return}let j=x.payload,se=j.enrichedCard?.id??"unknown",wt=j.enrichedCard?.source_defs??[];for(let He of wt){if(!He.outputFile){r(`[dispatch] source "${He.bindTo}" has no outputFile \u2014 skipping`);continue}let Ir=Zh({cbk:j.callbackToken,rg:t.value,br:oe(t),cid:se,b:He.bindTo,d:He.outputFile,cs:void 0,rqt:j.rqt});e.dispatchExecution(Sc,{source_def:He,base_ref:oe(t),callback:{token:Ir,via:e.selfRef}}).catch(kt=>qo(se,kt instanceof Error?kt.message:String(kt)));}});}async function v(){try{let w=()=>{let C=g(),{events:P}=c().readEntriesAfterCursor(C.lastDrainedJournalId);P.length<=0||(v(),e.requestProcessAccumulated?.());},h=await Lo(e.lock,m,w);return ee({ran:h!==!1})}catch(w){return Z(w)}}function y(w){try{let h=w.params?.cardStoreRef;if(!h)return L("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!S()){let W=Sn(Rn);p({lastDrainedJournalId:"",graph:kr(W)},null);}let C=w.params?.outputsStoreRef;if(!C)return L("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let P=i();P.writeCardStoreRef(h),P.writeOutputsStoreRef(C);let B=w.body??{};B["task-executor-ref"]&&P.writeTaskExecutorRef(B["task-executor-ref"]),B["chat-handler-ref"]&&P.writeChatHandlerRef(B["chat-handler-ref"]);try{f().writeStatusSnapshot($n(n,bn(g().graph)));}catch{}return ee()}catch(h){return Z(h)}}function b(w){try{let h=f().readStatusSnapshot();if(!h){h=$n(n,bn(g().graph));try{f().writeStatusSnapshot(h);}catch{}}return ee(h)}catch(h){return Z(h)}}function _(w){try{let h=w.params?.id;return h?(l({type:"task-removal",taskName:h,timestamp:$e()}),v(),ee()):L("removeCard requires params.id")}catch(h){return Z(h)}}function k(w){try{let h=w.params?.id;return h?(l({type:"task-restart",taskName:h,timestamp:$e()}),v(),ee()):L("retrigger requires params.id")}catch(h){return Z(h)}}async function A(w){return v()}function R(w){try{let h=w.params?.cardId,C=w.params?.all,P=!!w.params?.restart;if(!h&&!C)return L("upsertCard requires --card-id <id> or --all");let B=C?d().readAllCards().map(W=>W.id):[h];for(let W of B)if(!d().readCard(W))return L(`Card "${W}" not found in board at ${t.value}`);for(let W of B){let Je=d().readCard(W),ke=mc(Je),De=e.hashFn(ke),Fe=e.kvStorage("card-upsert"),at=Fe.read(W),it=at?.taskConfigHash!==De;if(!(!it&&!P)){if(it){let St=at?.blobRef??d().readCardKey(W)??W;l({type:"task-upsert",taskName:W,taskConfig:ke,timestamp:$e()}),Fe.write(W,{blobRef:St,taskConfigHash:De,updatedAt:$e()});}P&&l({type:"task-restart",taskName:W,timestamp:$e()});}}return v(),ee()}catch(h){return Z(h)}}function O(w){try{let h=w.params?.token;if(!h)return L("taskFailed requires params.token");let C=w.params?.error??"unknown error",P=Cn(h);return P?(l({type:"task-failed",taskName:P.taskName,error:C,timestamp:$e()}),v(),ee()):L("Invalid callback token")}catch(h){return Z(h)}}function J(w){try{let h=w.params?.token;if(!h)return L("taskProgress requires params.token");let P=(w.body??{}).update??{},B=Cn(h);return B?(l({type:"task-progress",taskName:B.taskName,update:P,timestamp:$e()}),v(),ee()):L("Invalid callback token")}catch(h){return Z(h)}}function q(w){try{let h=w.params?.token,C=w.params?.ref;if(!h)return L("sourceDataFetched requires params.token");if(!C)return L("sourceDataFetched requires params.ref");let P=hc(h);if(!P)return L("Invalid source token");let{cbk:B,cid:W,b:Je,d:ke,cs:De,rqt:Fe}=P,at=Io(e.blobStorage("sources"),ut=>e.resolveBlob(ut)),it=e.genId();at.ingestSourceDataStaged(W,ke,ye(C),it);let St=Cn(B);if(!St)return L("Invalid callback token embedded in source token");let bt=$e();return l({type:"task-progress",taskName:St.taskName,update:{bindTo:Je,outputFile:ke,fetchedAt:bt,deliveryToken:it,sourceChecksum:De,rqt:Fe},timestamp:bt}),v(),ee()}catch(h){return Z(h)}}function Q(w){try{let h=w.params?.token,C=w.params?.reason??"unknown";if(!h)return L("sourceDataFetchFailure requires params.token");let P=hc(h);if(!P)return L("Invalid source token");let{cbk:B,b:W,d:Je,cs:ke}=P,De=Cn(B);return De?(l({type:"task-progress",taskName:De.taskName,update:{bindTo:W,outputFile:Je,failure:!0,reason:C,sourceChecksum:ke},timestamp:$e()}),v(),ee()):L("Invalid callback token embedded in source token")}catch(h){return Z(h)}}function ne(w){try{let h=i().readCardStoreRef();return h?ee({storeRef:h}):L(`Board at ${t.value} has no card store configured`)}catch(h){return Z(h)}}function ae(w){try{let h=i().readOutputsStoreRef();return h?ee({storeRef:h}):L(`Board at ${t.value} has no outputs store configured`)}catch(h){return Z(h)}}function Ue(w){try{let h=w.params?.key;if(!h)return L("getOutputsDataObject requires params.key");let C=f().readDataObject(h);return ee(C)}catch(h){return Z(h)}}function Tn(w){try{return ee(f().readAllDataObjects())}catch(h){return Z(h)}}function Lt(w){try{let h=w.params?.key;if(!h)return L("getOutputsComputedValues requires params.key");let C=f().readComputedValues(h);return ee(C)}catch(h){return Z(h)}}function jo(w){try{return ee(f().readAllComputedValues())}catch(h){return Z(h)}}return {init:y,status:b,getCardStoreRef:ne,getOutputsStoreRef:ae,getOutputsDataObject:Ue,getAllOutputsDataObjects:Tn,getOutputsComputedValues:Lt,getAllOutputsComputedValues:jo,removeCard:_,retrigger:k,processAccumulatedEvents:A,upsertCard:R,taskFailed:O,taskProgress:J,sourceDataFetched:q,sourceDataFetchFailure:Q}}function Er(t,e){let r=()=>Po(e.kvStorage("config"));function n(){let p=r().readCardStoreRef();if(!p)throw new Error(`Board at ${t.value} has no card store configured. Run: init --base-ref <ref> --store-ref <::kind::value>`);let l=e.kvStorageForRef(p);return {readIndex(){return l.read("_index")},writeIndex(m){l.write("_index",m);},readCard(m){return l.read(m)},writeCard(m,v){return l.write(m,v),e.hashFn(v)},cardExists(m){return l.read(m)!==null},defaultCardKey(m){return m}}}let s=()=>_n(n(),e.onWarn??(()=>{}));function o(p,l){let m=e.validateSchema(l),v=[],y=r().readTaskExecutorRef();if(y&&Array.isArray(l.source_defs))for(let _ of l.source_defs){let k=typeof _.bindTo=="string"?_.bindTo:"(unknown)",A=e.makeTempFilePath(`validate-src-${k}`);try{e.absoluteBlob.write(A,JSON.stringify(_));let R;try{R=e.invokeExecutorSync(y,"validate-source-def",["--in",A],{timeout:1e4});}catch(J){let q=J;if(R=typeof q?.stdout=="string"?q.stdout:"",!R.trim()){v.push(`source "${k}": executor validate-source-def failed \u2014 ${J instanceof Error?J.message:String(J)}`);continue}}let O=JSON.parse(R.trim());if(!O.ok&&Array.isArray(O.errors))for(let J of O.errors)v.push(`source "${k}": ${J}`);}catch(R){v.push(`source "${k}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}finally{try{e.absoluteBlob.remove(A);}catch{}}}let b=[...m.errors,...v];return ee({cardId:p,isValid:b.length===0,issues:b})}function a(p,l,m){let v=r().readTaskExecutorRef();if(!v)return L("No task-executor registered for this board");let y=typeof p.bindTo=="string"?p.bindTo:"source",b=e.makeTempFilePath(`probe-in-${y}`),_=e.makeTempFilePath(`probe-out-${y}`),k=e.makeTempFilePath(`probe-err-${y}`,".txt"),A={...p,boardDir:t.value,_projections:l},R=oe({kind:"fs-path",value:b}),O=oe({kind:"fs-path",value:_}),J=oe({kind:"fs-path",value:k});e.absoluteBlob.write(b,JSON.stringify(A,null,2));let q=null;try{if(e.invokeExecutorSync(v,"run-source-fetch",["--in-ref",R,"--out-ref",O,"--err-ref",J],{timeout:p.timeout??3e4}),q=e.absoluteBlob.read(_),q===null)return L("Executor produced no output file")}catch(Q){let ne=e.absoluteBlob.read(k)?.trim()??(Q instanceof Error?Q.message:String(Q));return L(`Probe failed: ${ne}`)}finally{try{e.absoluteBlob.remove(b);}catch{}try{e.absoluteBlob.remove(k);}catch{}}if(m){let Q=ye(m);e.absoluteBlob.write(Q.value,q);}else try{e.absoluteBlob.remove(_);}catch{}return ee({bindTo:y,resultSizeBytes:q.length})}function i(p){try{let l=p.params?.cardId,m=p.params?.all;if(!l&&!m)return L("validateCard requires --card-id <id> or --all");let v=m?s().readAllCards().map(b=>b.id):[l],y=[];for(let b of v){let _=s().readCard(b);if(!_){y.push({cardId:b,isValid:!1,issues:[`Card "${b}" not found`]});continue}let k=o(b,_);if(k.status!=="success")return k;y.push(k.data);}return ee(y)}catch(l){return Z(l)}}function u(p){try{if(!p.body||typeof p.body!="object"||Array.isArray(p.body))return L("validateTmpCard requires card JSON object in body");let l=p.body,m=l["card-content"]??l,v=typeof m.id=="string"?m.id:"(unknown)";return o(v,m)}catch(l){return Z(l)}}function c(p){try{let l=p.params?.cardId,m=p.params?.sourceIdx,v=p.params?.outRef;if(!l)return L("probeSource requires params.cardId");if(m===void 0)return L("probeSource requires params.sourceIdx");let b=(p.body??{})["mock-projections"]??{},_=s().readCard(l);if(!_)return L(`Card "${l}" not found`);let k=_.source_defs??[];return m<0||m>=k.length?L(`sourceIdx ${m} out of range (card has ${k.length} source(s))`):a(k[m],b,v)}catch(l){return Z(l)}}function d(p){try{let l=p.params?.outRef,m=p.body;if(!m)return L('probeTmpSource requires body with "source-def" and "mock-projections"');let v=m["source-def"],y=m["mock-projections"]??{};return v?a(v,y,l):L('probeTmpSource body requires "source-def"')}catch(l){return Z(l)}}function f(p){try{let l=r().readTaskExecutorRef();if(!l)return L("No task-executor registered for this board");let m=e.invokeExecutorSync(l,"describe-capabilities",[],{timeout:1e4});return ee(JSON.parse(m.trim()))}catch(l){return Z(l)}}function S(p){try{let l=p.body;if(!l||!Array.isArray(l.ops))return L("updatesInCardStore requires body.ops array");let m=l.ops,v=s();for(let y of m){let b=y.op,_=y.id;if(!_)return L('op is missing "id"');if(b==="update"){let k=y["card-content"];if(!k)return L(`update op for "${_}" is missing "card-content"`);v.writeCard(_,k);}else return L(`Unknown op type: "${b??"(none)"}"`)}return ee()}catch(l){return Z(l)}}function g(p){try{let l=p.body;if(!l||!Array.isArray(l.ids))return L("readFromCardStore requires body.ids array");let m=l.ids,v=s(),y=m.map(b=>({id:b,"card-content":v.readCard(b)}));return ee({cards:y})}catch(l){return Z(l)}}return {validateCard:i,validateTmpCard:u,probeSource:c,probeTmpSource:d,describeTaskExecutorCapabilities:f,updatesInCardStore:S,readFromCardStore:g}}var eg=".board.lock";function xr(t,e,r){let n=t.value,{cmd:s,args:o}=Kt(e,"_",[]),a=s===process.execPath&&o[0]?.endsWith(".js")?o[0]:o[1]??o[0],i={meta:"board-live-cards",howToRun:"local-node",whatToRun:oe({kind:"fs-path",value:a}),...r?.notifyChannel?{extra:{notifyChannel:r.notifyChannel}}:{}};return {kvStorage:u=>Fn(Or(n,`.${u}`)),blobStorage:u=>u?Nr(Or(n,u)):Nr(n),journalAdapter:()=>sa(n),lock:oa(Or(n,eg)),selfRef:i,async dispatchExecution(u,c){if(r?.suppressSpawn)return {dispatched:false};try{let d=c.source_def?.bindTo??On().slice(0,8),f=Bt(n,`exec-in-${d}`),S=Bt(n,`exec-out-${d}`),g=Bt(n,`exec-err-${d}`,".txt"),p=oe({kind:"fs-path",value:f}),l=oe({kind:"fs-path",value:S}),m=oe({kind:"fs-path",value:g});return ra({kind:"fs-path",value:f}).write(f,JSON.stringify(c,null,2)),ta(u,{subcommand:"run-source-fetch",inRef:p,outRef:l,errRef:m},e),{dispatched:!0}}catch(d){return {dispatched:false,error:d instanceof Error?d.message:String(d)}}},resolveBlob(u){let c=Ko(u.value)?Dn().read(u.value):Nr(n).read(u.value);if(c===null)throw new Error(`resolveBlob: blob not found: ::${u.kind}::${u.value}`);return c},hashFn:na,genId:()=>Uo(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:u=>Fn(ye(u).value),requestProcessAccumulated(){r?.suppressSpawn||Wo(e,t,r?.notifyChannel);},publishBoardChangeNotifications(u){if(!r?.notifyChannel||u.length===0)return;let c=u.map(d=>({id:On(),ts:new Date().toISOString(),boardRef:oe(t),notification:d}));Yo(r.notifyChannel,c,r.onWarn);},onWarn:r?.onWarn}}function En(t,e,r){let n=xr(t,e,r),s=Xo();return {...n,invokeExecutorSync(o,a,i,u){let{command:c,baseArgs:d}=ea(o,e);return s.executeSync(c,[...d,a,...i],{timeout:u?.timeout??3e4,encoding:"utf-8"})},validateSchema(o){let a=Ro(o);return {ok:a.errors.length===0,errors:a.errors}},makeTempFilePath(o,a){return Bt(t.value,o,a)},absoluteBlob:Dn()}}function Oo(t){try{let e=JSON.parse(Buffer.from(t,"base64url").toString());return typeof e.br=="string"?e.br:null}catch{return null}}var Mt=Jo(import.meta.url);function ge(t,e,r){let n=t.indexOf(e),s=n!==-1?t[n+1]:void 0;if(!s)throw new Error(`Missing ${e}
|
|
14
|
+
Usage: ${r}`);return s}function ot(t,e){let r=t.indexOf(e);return r!==-1?t[r+1]:void 0}function re(t){console.log(JSON.stringify(t,null,2));}async function xn(){if(process.stdin.isTTY)return;let t=[];for await(let r of process.stdin)t.push(Buffer.isBuffer(r)?r:Buffer.from(r));let e=Buffer.concat(t).toString("utf-8").trim();if(e)return JSON.parse(e)}async function tg(t){let e=t[0],r=t.slice(1);if(e==="help"||e==="--help"||e==="-h"){console.log("board-live-cards \u2014 see board-live-cards-cli-PARAMS.md for command reference");return}let n=ot(r,"--base-ref"),s=ot(r,"--notify-channel"),o=n?ye(n):void 0;if(e==="source-data-fetched"){let u=ge(r,"--token","source-data-fetched --token <token> --ref <sourcefile>"),c=ge(r,"--ref","source-data-fetched --token <token> --ref <sourcefile>"),d=Oo(u);if(!d)throw new Error("source-data-fetched: could not decode board ref from token \u2014 is this a valid source token?");let f=ye(d),S=Cr(f,xr(f,Mt,{onWarn:console.warn,notifyChannel:s}));re(S.sourceDataFetched({params:{token:u,ref:c}}));return}if(e==="source-data-fetch-failure"){let u=ge(r,"--token","source-data-fetch-failure --token <token> [--reason <message>]"),c=Oo(u);if(!c)throw new Error("source-data-fetch-failure: could not decode board ref from token \u2014 is this a valid source token?");let d=ye(c),f=Cr(d,xr(d,Mt,{onWarn:console.warn,notifyChannel:s})),S={token:u},g=ot(r,"--reason");g&&(S.reason=g),re(f.sourceDataFetchFailure({params:S}));return}if(e==="validate-tmp-card"){let u=o??{kind:"fs-path",value:Gt(".")},c=Er(u,En(u,Mt,{onWarn:console.warn})),d=await xn();re(c.validateTmpCard({body:d}));return}if(e==="probe-tmp-source"){let u=ge(r,"--out-ref","probe-tmp-source --out-ref <ref>"),c=o??{kind:"fs-path",value:Gt(".")},d=Er(c,En(c,Mt,{onWarn:console.warn})),f=await xn();re(d.probeTmpSource({params:{outRef:u},body:f}));return}if(!o)throw new Error(`--base-ref is required for command "${e??"(none)"}"`);let a=()=>Cr(o,xr(o,Mt,{onWarn:console.warn,notifyChannel:s})),i=()=>Er(o,En(o,Mt,{onWarn:console.warn}));switch(e){case "init":{let u=ge(r,"--card-store-ref","init --base-ref <ref> --card-store-ref <::kind::value> --outputs-store-ref <::kind::value>"),c=ge(r,"--outputs-store-ref","init --base-ref <ref> --card-store-ref <::kind::value> --outputs-store-ref <::kind::value>"),d=await xn();re(a().init({params:{cardStoreRef:u,outputsStoreRef:c},body:d}));return}case "status":{re(a().status({}));return}case "get-card-store-ref":{re(a().getCardStoreRef({}));return}case "get-outputs-store-ref":{re(a().getOutputsStoreRef({}));return}case "get-outputs":{let u=ge(r,"--type","get-outputs --base-ref <ref> --type <data-object|computed-values> [--key <key>] [--all]"),c=r.includes("--all");if(u==="data-object")if(c)re(a().getAllOutputsDataObjects({}));else {let d=ge(r,"--key","get-outputs --type data-object --base-ref <ref> --key <datakey>");re(a().getOutputsDataObject({params:{key:d}}));}else if(u==="computed-values")if(c)re(a().getAllOutputsComputedValues({}));else {let d=ge(r,"--key","get-outputs --type computed-values --base-ref <ref> --key <card-id>");re(a().getOutputsComputedValues({params:{key:d}}));}else throw new Error(`get-outputs: unknown --type "${u}", expected data-object | computed-values`);return}case "remove-card":{let u=ge(r,"--id","remove-card --base-ref <ref> --id <card-id>");re(a().removeCard({params:{id:u}}));return}case "retrigger":{let u=ge(r,"--id","retrigger --base-ref <ref> --id <card-id>");re(a().retrigger({params:{id:u}}));return}case "process-accumulated-events":{re(await a().processAccumulatedEvents({}));return}case "upsert-card":{let u=ot(r,"--card-id"),c=r.includes("--all"),d=r.includes("--restart");if(!u&&!c)throw new Error("upsert-card requires --card-id <id> or --all");let f={};u&&(f.cardId=u),c&&(f.all=true),d&&(f.restart=true),re(a().upsertCard({params:f}));return}case "task-failed":{let c={token:ge(r,"--token","task-failed --base-ref <ref> --token <token> [--error <message>]")},d=ot(r,"--error");d&&(c.error=d),re(a().taskFailed({params:c}));return}case "task-progress":{let u=ge(r,"--token","task-progress --base-ref <ref> --token <token> [--update <json>]"),c=ot(r,"--update"),d=c?JSON.parse(c):{};re(a().taskProgress({params:{token:u},body:{update:d}}));return}case "validate-card":{let u=ot(r,"--card-id"),c=r.includes("--all");if(!u&&!c)throw new Error("validate-card requires --card-id <id> or --all");let d={};u&&(d.cardId=u),c&&(d.all=true),re(i().validateCard({params:d}));return}case "probe-source":{let u=ge(r,"--card-id","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),c=ge(r,"--source-idx","probe-source --base-ref <ref> --card-id <id> --source-idx <n> --out-ref <ref>"),d=ot(r,"--out-ref"),f=await xn(),S={cardId:u,sourceIdx:parseInt(c,10)};d&&(S.outRef=d),re(i().probeSource({params:S,body:f}));return}case "describe-task-executor-capabilities":{re(i().describeTaskExecutorCapabilities({}));return}default:throw new Error(`Unknown command: ${e??"(none)"}`)}}var rg=process.argv[1]&&Gt(process.argv[1])===Gt(new URL(import.meta.url).pathname.replace(/^\/([A-Z]:)/,"$1"));rg&&tg(process.argv.slice(2)).catch(t=>{let e=t instanceof Error?t.message:String(t);console.error(e),process.exit(1);});export{tg as cli};//# sourceMappingURL=board-live-cards-cli.js.map
|
|
15
|
+
//# sourceMappingURL=board-live-cards-cli.js.map
|