@tbox.cn/app-cli 0.4.2 → 0.5.1
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/README.md +1 -1
- package/dist/{chunk-SGF4P5YN.js → chunk-D4Z67K2V.js} +1 -1
- package/dist/chunk-IA5ZAM5W.js +16 -0
- package/dist/{contracts-resolver-UQGGTGAO.js → contracts-resolver-ABE4US6D.js} +1 -1
- package/dist/declared-TVLLELHR.js +2 -0
- package/dist/index.js +87 -65
- package/package.json +3 -3
- package/starter/agent-mall.md +15 -12
- package/starter/agent.md +9 -9
- package/dist/chunk-GY4SXKTS.js +0 -16
- package/dist/declared-4SBML2FU.js +0 -2
- package/starter/agent-support.md +0 -38
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ pnpm add -g @tbox.cn/app-cli
|
|
|
13
13
|
```sh
|
|
14
14
|
tbox-app starter --list
|
|
15
15
|
tbox-app starter --type agent
|
|
16
|
-
tbox-app starter --type agent-
|
|
16
|
+
tbox-app starter --type agent-mall
|
|
17
17
|
tbox-app create . --name my-agent --source @tbox.cn/app-template-agent
|
|
18
18
|
pnpm install
|
|
19
19
|
tbox-app module doctor
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var k=Object.create;var p=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var L=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var $=(e,n,r,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of F(n))!M.call(e,o)&&o!==r&&p(e,o,{get:()=>n[o],enumerable:!(t=x(n,o))||t.enumerable});return e};var z=(e,n,r)=>(r=e!=null?k(w(e)):{},$(n||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e));import{existsSync as l,readdirSync as N,realpathSync as C}from"fs";import{join as c}from"path";import{pathToFileURL as V}from"url";import{existsSync as O,readFileSync as j,statSync as _}from"fs";function g(){let e=new Map,n=0;function r(t){if(!O(t))return null;let o=_(t);return`${o.mtimeMs}:${o.size}`}return{read(t,o){let s=r(t);if(s===null){e.delete(t);return}let i=e.get(t);if(i&&i.fingerprint===s)return i.value;n+=1;let a=o(j(t,"utf8"));return e.set(t,{fingerprint:s,value:a}),a},invalidate(t){if(t===void 0){e.clear();return}for(let o of t)e.delete(o)},get parseCount(){return n}}}var v=["resolveEffectiveService","buildSupplyLookup","moduleDomainOf","normalizeInstances","RESOURCE_TYPE_IDS"],I="parseIntegrationsConfig",m={version:null,evaluation:!1,strictValidation:!1,module:{},notes:[]};function h(e){let n=[e];for(let r of["apps","packages"]){let t=c(e,r);if(!l(t))continue;let o=N(t,{withFileTypes:!0}).filter(s=>s.isDirectory()).map(s=>s.name);r==="apps"?o.sort((s,i)=>s==="server"?-1:i==="server"?1:s.localeCompare(i)):o.sort((s,i)=>s.localeCompare(i));for(let s of o)n.push(c(t,s))}return n}var d=new Map,y=g();function b(e){return y.read(e,n=>{let r=JSON.parse(n);return typeof r.version=="string"?r.version:null})??null}function R(e){if(!l(e))return"gone";let n;try{n=C(e)}catch{n=e}return l(c(n,"dist","runtime.js"))?"dist":l(c(n,"src","runtime.ts"))?"src":"none"}function E(e){let n=c(e,"package.json");return{pkgPath:n,candidateDir:e,version:b(n),artifact:R(e)}}function P(e){for(let n of h(e)){let r=c(n,"node_modules","@tbox.cn","app-contracts"),t=c(r,"package.json");if(l(t))return{pkgPath:t,candidateDir:r,version:b(t),artifact:R(r)}}return null}function u(e){return e===null?"none":`${e.pkgPath}|${e.version??"null"}|${e.artifact}`}function A(e,n){let r=P(e);if(u(r)!==u(n.first))return!1;if(n.resolved===null)return!0;let t=r!==null&&r.candidateDir===n.resolved.candidateDir?r:E(n.resolved.candidateDir);return u(t)===u(n.resolved)}async function U(e,n){if(!l(e))return null;let r;try{r=C(e)}catch{return null}let o=[c(r,"dist","runtime.js"),c(r,"src","runtime.ts")].find(i=>l(i)),s=y.read(c(e,"package.json"),i=>{let a=JSON.parse(i);return typeof a.version=="string"?a.version:null})??null;if(o===void 0)return n.push(`contracts ${s??"(版本未知)"} 探测命中但无构建产物(dist/runtime.js 缺失)——workspace 源码态未构建:执行 pnpm --filter @tbox.cn/app-contracts build 后重试`),null;try{let i=s!==null?`?v=${encodeURIComponent(s)}`:"",a=await import(V(o).href+i),f=v.every(T=>a[T]!==void 0),S=a[I]!==void 0;return{version:s,evaluation:f,strictValidation:S,module:a,notes:f?[]:[`${o} 命中但求值面具名导出缺席(${v.join("/")})——契约包形态异常`]}}catch(i){return n.push(`contracts ${s??"(版本未知)"} 构建产物导入失败(${i instanceof Error?i.message:String(i)})——workspace 源码态未构建或产物损坏:执行 pnpm --filter @tbox.cn/app-contracts build 后重试`),null}}function D(e){let n=d.get(e);if(n&&A(e,n))return n.promise;let r=P(e),t={promise:Promise.resolve({...m}),first:r,resolved:r};return t.promise=(async()=>{let o=[];for(let s of h(e)){let i=c(s,"node_modules","@tbox.cn","app-contracts"),a=await U(i,o);if(a)return a.version!==null&&!a.strictValidation&&a.notes.push(`contracts ${a.version} 无严格校验面(需 ≥0.9)——升级应用 @tbox.cn/app-contracts 依赖后可用`),t.resolved=E(i),a}return t.resolved=null,o.length===0&&o.push("contracts 不可解析(未安装)——检查应用依赖安装后重试"),{...m,notes:o}})(),d.set(e,t),t.promise}function G(e){e===void 0?d.clear():d.delete(e)}export{L as a,z as b,g as c,D as d,G as e};
|
|
2
|
+
var k=Object.create;var p=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var L=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var $=(e,n,r,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of F(n))!M.call(e,o)&&o!==r&&p(e,o,{get:()=>n[o],enumerable:!(t=x(n,o))||t.enumerable});return e};var z=(e,n,r)=>(r=e!=null?k(w(e)):{},$(n||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e));import{existsSync as l,readdirSync as N,realpathSync as C}from"fs";import{join as c}from"path";import{pathToFileURL as V}from"url";import{existsSync as O,readFileSync as j,statSync as _}from"fs";function g(){let e=new Map,n=0;function r(t){if(!O(t))return null;let o=_(t);return`${o.mtimeMs}:${o.size}`}return{read(t,o){let s=r(t);if(s===null){e.delete(t);return}let i=e.get(t);if(i&&i.fingerprint===s)return i.value;n+=1;let a=o(j(t,"utf8"));return e.set(t,{fingerprint:s,value:a}),a},invalidate(t){if(t===void 0){e.clear();return}for(let o of t)e.delete(o)},get parseCount(){return n}}}var v=["resolveEffectiveService","buildSupplyLookup","moduleDomainOf","normalizeInstances","RESOURCE_TYPE_IDS"],I="parseIntegrationsConfig",m={version:null,evaluation:!1,strictValidation:!1,module:{},notes:[]};function h(e){let n=[e];for(let r of["apps","packages"]){let t=c(e,r);if(!l(t))continue;let o=N(t,{withFileTypes:!0}).filter(s=>s.isDirectory()).map(s=>s.name);r==="apps"?o.sort((s,i)=>s==="server"?-1:i==="server"?1:s.localeCompare(i)):o.sort((s,i)=>s.localeCompare(i));for(let s of o)n.push(c(t,s))}return n}var d=new Map,y=g();function b(e){return y.read(e,n=>{let r=JSON.parse(n);return typeof r.version=="string"?r.version:null})??null}function R(e){if(!l(e))return"gone";let n;try{n=C(e)}catch{n=e}return l(c(n,"dist","runtime.js"))?"dist":l(c(n,"src","runtime.ts"))?"src":"none"}function E(e){let n=c(e,"package.json");return{pkgPath:n,candidateDir:e,version:b(n),artifact:R(e)}}function P(e){for(let n of h(e)){let r=c(n,"node_modules","@tbox.cn","app-contracts"),t=c(r,"package.json");if(l(t))return{pkgPath:t,candidateDir:r,version:b(t),artifact:R(r)}}return null}function u(e){return e===null?"none":`${e.pkgPath}|${e.version??"null"}|${e.artifact}`}function A(e,n){let r=P(e);if(u(r)!==u(n.first))return!1;if(n.resolved===null)return!0;let t=r!==null&&r.candidateDir===n.resolved.candidateDir?r:E(n.resolved.candidateDir);return u(t)===u(n.resolved)}async function U(e,n){if(!l(e))return null;let r;try{r=C(e)}catch{return null}let o=[c(r,"dist","runtime.js"),c(r,"src","runtime.ts")].find(i=>l(i)),s=y.read(c(e,"package.json"),i=>{let a=JSON.parse(i);return typeof a.version=="string"?a.version:null})??null;if(o===void 0)return n.push(`contracts ${s??"(版本未知)"} 探测命中但无构建产物(dist/runtime.js 缺失)——workspace 源码态未构建:执行 pnpm --filter @tbox.cn/app-contracts build 后重试`),null;try{let i=s!==null?`?v=${encodeURIComponent(s)}`:"",a=await import(V(o).href+i),f=v.every(T=>a[T]!==void 0),S=a[I]!==void 0;return{version:s,evaluation:f,strictValidation:S,module:a,notes:f?[]:[`${o} 命中但求值面具名导出缺席(${v.join("/")})——契约包形态异常`]}}catch(i){return n.push(`contracts ${s??"(版本未知)"} 构建产物导入失败(${i instanceof Error?i.message:String(i)})——workspace 源码态未构建或产物损坏:执行 pnpm --filter @tbox.cn/app-contracts build 后重试`),null}}function D(e){let n=d.get(e);if(n&&A(e,n))return n.promise;let r=P(e),t={promise:Promise.resolve({...m}),first:r,resolved:r};return t.promise=(async()=>{let o=[];for(let s of h(e)){let i=c(s,"node_modules","@tbox.cn","app-contracts"),a=await U(i,o);if(a)return a.version!==null&&!a.strictValidation&&a.notes.push(`contracts ${a.version} 无严格校验面(需 ≥0.9.0)——升级应用 @tbox.cn/app-contracts 依赖后可用`),t.resolved=E(i),a}return t.resolved=null,o.length===0&&o.push("contracts 不可解析(未安装)——检查应用依赖安装后重试"),{...m,notes:o}})(),d.set(e,t),t.promise}function G(e){e===void 0?d.clear():d.delete(e)}export{L as a,z as b,g as c,D as d,G as e};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{a as R,b as Fc,c as Hr,d as K,e as Jr}from"./chunk-D4Z67K2V.js";var It=R(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.regexpCode=q.getEsmExportName=q.getProperty=q.safeStringify=q.stringify=q.strConcat=q.addCodeArg=q.str=q._=q.nil=q._Code=q.Name=q.IDENTIFIER=q._CodeOrName=void 0;var bt=class{};q._CodeOrName=bt;q.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ve=class extends bt{constructor(e){if(super(),!q.IDENTIFIER.test(e))throw new Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};q.Name=Ve;var le=class extends bt{constructor(e){super(),this._items=typeof e=="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;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 Ve&&(r[n.str]=(r[n.str]||0)+1),r),{})}};q._Code=le;q.nil=new le("");function Ds(t,...e){let r=[t[0]],n=0;for(;n<e.length;)pn(r,e[n]),r.push(t[++n]);return new le(r)}q._=Ds;var fn=new le("+");function Vs(t,...e){let r=[Rt(t[0])],n=0;for(;n<e.length;)r.push(fn),pn(r,e[n]),r.push(fn,Rt(t[++n]));return vl(r),new le(r)}q.str=Vs;function pn(t,e){e instanceof le?t.push(...e._items):e instanceof Ve?t.push(e):t.push(_l(e))}q.addCodeArg=pn;function vl(t){let e=1;for(;e<t.length-1;){if(t[e]===fn){let r=wl(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function wl(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof Ve||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 Ve))return`"${t}${e.slice(1)}`}function Sl(t,e){return e.emptyStr()?t:t.emptyStr()?e:Vs`${t}${e}`}q.strConcat=Sl;function _l(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Rt(Array.isArray(t)?t.join(","):t)}function $l(t){return new le(Rt(t))}q.stringify=$l;function Rt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}q.safeStringify=Rt;function bl(t){return typeof t=="string"&&q.IDENTIFIER.test(t)?new le(`.${t}`):Ds`[${t}]`}q.getProperty=bl;function Rl(t){if(typeof t=="string"&&q.IDENTIFIER.test(t))return new le(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}q.getEsmExportName=Rl;function Il(t){return new le(t.toString())}q.regexpCode=Il});var hn=R(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.ValueScope=oe.ValueScopeName=oe.Scope=oe.varKinds=oe.UsedValueState=void 0;var se=It(),mn=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},or;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(or||(oe.UsedValueState=or={}));oe.varKinds={const:new se.Name("const"),let:new se.Name("let"),var:new se.Name("var")};var ar=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof se.Name?e:this.name(e)}name(e){return new se.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}}};oe.Scope=ar;var cr=class extends se.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,se._)`.${new se.Name(r)}[${n}]`}};oe.ValueScopeName=cr;var El=(0,se._)`\n`,gn=class extends ar{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?El:se.nil}}get(){return this._scope}name(e){return new cr(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 i=this.toName(e),{prefix:s}=i,o=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(o);if(u)return u}else a=this._values[s]=new Map;a.set(o,i);let c=this._scope[s]||(this._scope[s]=[]),d=c.length;return c[d]=r.ref,i.setValue(r,{property:s,itemIndex:d}),i}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,se._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,i=>{if(i.value===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return i.value.code},r,n)}_reduceValues(e,r,n={},i){let s=se.nil;for(let o in e){let a=e[o];if(!a)continue;let c=n[o]=n[o]||new Map;a.forEach(d=>{if(c.has(d))return;c.set(d,or.Started);let u=r(d);if(u){let f=this.opts.es5?oe.varKinds.var:oe.varKinds.const;s=(0,se._)`${s}${f} ${d} = ${u};${this.opts._n}`}else if(u=i?.(d))s=(0,se._)`${s}${u}${this.opts._n}`;else throw new mn(d);c.set(d,or.Completed)})}return s}};oe.ValueScope=gn});var A=R(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.or=j.and=j.not=j.CodeGen=j.operators=j.varKinds=j.ValueScopeName=j.ValueScope=j.Scope=j.Name=j.regexpCode=j.stringify=j.getProperty=j.nil=j.strConcat=j.str=j._=void 0;var x=It(),pe=hn(),Ce=It();Object.defineProperty(j,"_",{enumerable:!0,get:function(){return Ce._}});Object.defineProperty(j,"str",{enumerable:!0,get:function(){return Ce.str}});Object.defineProperty(j,"strConcat",{enumerable:!0,get:function(){return Ce.strConcat}});Object.defineProperty(j,"nil",{enumerable:!0,get:function(){return Ce.nil}});Object.defineProperty(j,"getProperty",{enumerable:!0,get:function(){return Ce.getProperty}});Object.defineProperty(j,"stringify",{enumerable:!0,get:function(){return Ce.stringify}});Object.defineProperty(j,"regexpCode",{enumerable:!0,get:function(){return Ce.regexpCode}});Object.defineProperty(j,"Name",{enumerable:!0,get:function(){return Ce.Name}});var fr=hn();Object.defineProperty(j,"Scope",{enumerable:!0,get:function(){return fr.Scope}});Object.defineProperty(j,"ValueScope",{enumerable:!0,get:function(){return fr.ValueScope}});Object.defineProperty(j,"ValueScopeName",{enumerable:!0,get:function(){return fr.ValueScopeName}});Object.defineProperty(j,"varKinds",{enumerable:!0,get:function(){return fr.varKinds}});j.operators={GT:new x._Code(">"),GTE:new x._Code(">="),LT:new x._Code("<"),LTE:new x._Code("<="),EQ:new x._Code("==="),NEQ:new x._Code("!=="),NOT:new x._Code("!"),OR:new x._Code("||"),AND:new x._Code("&&"),ADD:new x._Code("+")};var Re=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},yn=class extends Re{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?pe.varKinds.var:this.varKind,i=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${i};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=tt(this.rhs,e,r)),this}get names(){return this.rhs instanceof x._CodeOrName?this.rhs.names:{}}},lr=class extends Re{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 x.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=tt(this.rhs,e,r),this}get names(){let e=this.lhs instanceof x.Name?{}:{...this.lhs.names};return ur(e,this.rhs)}},vn=class extends lr{constructor(e,r,n,i){super(e,n,i),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},wn=class extends Re{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Sn=class extends Re{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},_n=class extends Re{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},$n=class extends Re{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=tt(this.code,e,r),this}get names(){return this.code instanceof x._CodeOrName?this.code.names:{}}},Et=class extends Re{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,i=n.length;for(;i--;){let s=n[i];s.optimizeNames(e,r)||(kl(e,s.names),n.splice(i,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>Le(e,r.names),{})}},Ie=class extends Et{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},bn=class extends Et{},et=class extends Ie{};et.kind="else";var qe=class t extends Ie{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===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new et(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(qs(e),r instanceof t?[r]:r.nodes);if(!(e===!1||!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=tt(this.condition,e,r),this}get names(){let e=super.names;return ur(e,this.condition),this.else&&Le(e,this.else.names),e}};qe.kind="if";var Fe=class extends Ie{};Fe.kind="for";var Rn=class extends Fe{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=tt(this.iteration,e,r),this}get names(){return Le(super.names,this.iteration.names)}},In=class extends Fe{constructor(e,r,n,i){super(),this.varKind=e,this.name=r,this.from=n,this.to=i}render(e){let r=e.es5?pe.varKinds.var:this.varKind,{name:n,from:i,to:s}=this;return`for(${r} ${n}=${i}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=ur(super.names,this.from);return ur(e,this.to)}},dr=class extends Fe{constructor(e,r,n,i){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=i}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=tt(this.iterable,e,r),this}get names(){return Le(super.names,this.iterable.names)}},kt=class extends Ie{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)}};kt.kind="func";var Pt=class extends Et{render(e){return"return "+super.render(e)}};Pt.kind="return";var En=class extends Ie{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,i;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(i=this.finally)===null||i===void 0||i.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&Le(e,this.catch.names),this.finally&&Le(e,this.finally.names),e}},Ot=class extends Ie{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Ot.kind="catch";var Nt=class extends Ie{render(e){return"finally"+super.render(e)}};Nt.kind="finally";var kn=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
|
|
3
|
+
`:""},this._extScope=e,this._scope=new pe.Scope({parent:e}),this._nodes=[new bn]}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,i){let s=this._scope.toName(r);return n!==void 0&&i&&(this._constants[s.str]=n),this._leafNode(new yn(e,s,n)),s}const(e,r,n){return this._def(pe.varKinds.const,e,r,n)}let(e,r,n){return this._def(pe.varKinds.let,e,r,n)}var(e,r,n){return this._def(pe.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new lr(e,r,n))}add(e,r){return this._leafNode(new vn(e,j.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==x.nil&&this._leafNode(new $n(e)),this}object(...e){let r=["{"];for(let[n,i]of e)r.length>1&&r.push(","),r.push(n),(n!==i||this.opts.es5)&&(r.push(":"),(0,x.addCodeArg)(r,i));return r.push("}"),new x._Code(r)}if(e,r,n){if(this._blockNode(new qe(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 qe(e))}else(){return this._elseNode(new et)}endIf(){return this._endBlockNode(qe,et)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new Rn(e),r)}forRange(e,r,n,i,s=this.opts.es5?pe.varKinds.var:pe.varKinds.let){let o=this._scope.toName(e);return this._for(new In(s,o,r,n),()=>i(o))}forOf(e,r,n,i=pe.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let o=r instanceof x.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,x._)`${o}.length`,a=>{this.var(s,(0,x._)`${o}[${a}]`),n(s)})}return this._for(new dr("of",i,s,r),()=>n(s))}forIn(e,r,n,i=this.opts.es5?pe.varKinds.var:pe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,x._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new dr("in",i,s,r),()=>n(s))}endFor(){return this._endBlockNode(Fe)}label(e){return this._leafNode(new wn(e))}break(e){return this._leafNode(new Sn(e))}return(e){let r=new Pt;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Pt)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let i=new En;if(this._blockNode(i),this.code(e),r){let s=this.name("e");this._currNode=i.catch=new Ot(s),r(s)}return n&&(this._currNode=i.finally=new Nt,this.code(n)),this._endBlockNode(Ot,Nt)}throw(e){return this._leafNode(new _n(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=x.nil,n,i){return this._blockNode(new kt(e,r,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(kt)}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 qe))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}};j.CodeGen=kn;function Le(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function ur(t,e){return e instanceof x._CodeOrName?Le(t,e.names):t}function tt(t,e,r){if(t instanceof x.Name)return n(t);if(!i(t))return t;return new x._Code(t._items.reduce((s,o)=>(o instanceof x.Name&&(o=n(o)),o instanceof x._Code?s.push(...o._items):s.push(o),s),[]));function n(s){let o=r[s.str];return o===void 0||e[s.str]!==1?s:(delete e[s.str],o)}function i(s){return s instanceof x._Code&&s._items.some(o=>o instanceof x.Name&&e[o.str]===1&&r[o.str]!==void 0)}}function kl(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function qs(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,x._)`!${Pn(t)}`}j.not=qs;var Pl=Fs(j.operators.AND);function Ol(...t){return t.reduce(Pl)}j.and=Ol;var Nl=Fs(j.operators.OR);function Cl(...t){return t.reduce(Nl)}j.or=Cl;function Fs(t){return(e,r)=>e===x.nil?r:r===x.nil?e:(0,x._)`${Pn(e)} ${t} ${Pn(r)}`}function Pn(t){return t instanceof x.Name?t:(0,x._)`(${t})`}});var D=R(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.checkStrictMode=T.getErrorPath=T.Type=T.useFunc=T.setEvaluated=T.evaluatedPropsToName=T.mergeEvaluated=T.eachItem=T.unescapeJsonPointer=T.escapeJsonPointer=T.escapeFragment=T.unescapeFragment=T.schemaRefOrVal=T.schemaHasRulesButRef=T.schemaHasRules=T.checkUnknownRules=T.alwaysValidSchema=T.toHash=void 0;var U=A(),jl=It();function Al(t){let e={};for(let r of t)e[r]=!0;return e}T.toHash=Al;function Tl(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Us(t,e),!Ks(e,t.self.RULES.all))}T.alwaysValidSchema=Tl;function Us(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let i=n.RULES.keywords;for(let s in e)i[s]||Hs(t,`unknown keyword: "${s}"`)}T.checkUnknownRules=Us;function Ks(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}T.schemaHasRules=Ks;function Ml(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}T.schemaHasRulesButRef=Ml;function xl({topSchemaRef:t,schemaPath:e},r,n,i){if(!i){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,U._)`${r}`}return(0,U._)`${t}${e}${(0,U.getProperty)(n)}`}T.schemaRefOrVal=xl;function Dl(t){return Ws(decodeURIComponent(t))}T.unescapeFragment=Dl;function Vl(t){return encodeURIComponent(Nn(t))}T.escapeFragment=Vl;function Nn(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}T.escapeJsonPointer=Nn;function Ws(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}T.unescapeJsonPointer=Ws;function ql(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}T.eachItem=ql;function Ls({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(i,s,o,a)=>{let c=o===void 0?s:o instanceof U.Name?(s instanceof U.Name?t(i,s,o):e(i,s,o),o):s instanceof U.Name?(e(i,o,s),s):r(s,o);return a===U.Name&&!(c instanceof U.Name)?n(i,c):c}}T.mergeEvaluated={props:Ls({mergeNames:(t,e,r)=>t.if((0,U._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,U._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,U._)`${r} || {}`).code((0,U._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,U._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,U._)`${r} || {}`),Cn(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Bs}),items:Ls({mergeNames:(t,e,r)=>t.if((0,U._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,U._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,U._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,U._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Bs(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,U._)`{}`);return e!==void 0&&Cn(t,r,e),r}T.evaluatedPropsToName=Bs;function Cn(t,e,r){Object.keys(r).forEach(n=>t.assign((0,U._)`${e}${(0,U.getProperty)(n)}`,!0))}T.setEvaluated=Cn;var zs={};function Fl(t,e){return t.scopeValue("func",{ref:e,code:zs[e.code]||(zs[e.code]=new jl._Code(e.code))})}T.useFunc=Fl;var On;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(On||(T.Type=On={}));function Ll(t,e,r){if(t instanceof U.Name){let n=e===On.Num;return r?n?(0,U._)`"[" + ${t} + "]"`:(0,U._)`"['" + ${t} + "']"`:n?(0,U._)`"/" + ${t}`:(0,U._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,U.getProperty)(t).toString():"/"+Nn(t)}T.getErrorPath=Ll;function Hs(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}T.checkStrictMode=Hs});var Ee=R(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});var X=A(),zl={data:new X.Name("data"),valCxt:new X.Name("valCxt"),instancePath:new X.Name("instancePath"),parentData:new X.Name("parentData"),parentDataProperty:new X.Name("parentDataProperty"),rootData:new X.Name("rootData"),dynamicAnchors:new X.Name("dynamicAnchors"),vErrors:new X.Name("vErrors"),errors:new X.Name("errors"),this:new X.Name("this"),self:new X.Name("self"),scope:new X.Name("scope"),json:new X.Name("json"),jsonPos:new X.Name("jsonPos"),jsonLen:new X.Name("jsonLen"),jsonPart:new X.Name("jsonPart")};jn.default=zl});var Ct=R(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.extendErrors=ee.resetErrorsCount=ee.reportExtraError=ee.reportError=ee.keyword$DataError=ee.keywordError=void 0;var V=A(),pr=D(),re=Ee();ee.keywordError={message:({keyword:t})=>(0,V.str)`must pass "${t}" keyword validation`};ee.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,V.str)`"${t}" keyword must be ${e} ($data)`:(0,V.str)`"${t}" keyword is invalid ($data)`};function Ul(t,e=ee.keywordError,r,n){let{it:i}=t,{gen:s,compositeRule:o,allErrors:a}=i,c=Ys(t,e,r);n??(o||a)?Js(s,c):Gs(i,(0,V._)`[${c}]`)}ee.reportError=Ul;function Kl(t,e=ee.keywordError,r){let{it:n}=t,{gen:i,compositeRule:s,allErrors:o}=n,a=Ys(t,e,r);Js(i,a),s||o||Gs(n,re.default.vErrors)}ee.reportExtraError=Kl;function Wl(t,e){t.assign(re.default.errors,e),t.if((0,V._)`${re.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,V._)`${re.default.vErrors}.length`,e),()=>t.assign(re.default.vErrors,null)))}ee.resetErrorsCount=Wl;function Bl({gen:t,keyword:e,schemaValue:r,data:n,errsCount:i,it:s}){if(i===void 0)throw new Error("ajv implementation error");let o=t.name("err");t.forRange("i",i,re.default.errors,a=>{t.const(o,(0,V._)`${re.default.vErrors}[${a}]`),t.if((0,V._)`${o}.instancePath === undefined`,()=>t.assign((0,V._)`${o}.instancePath`,(0,V.strConcat)(re.default.instancePath,s.errorPath))),t.assign((0,V._)`${o}.schemaPath`,(0,V.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,V._)`${o}.schema`,r),t.assign((0,V._)`${o}.data`,n))})}ee.extendErrors=Bl;function Js(t,e){let r=t.const("err",e);t.if((0,V._)`${re.default.vErrors} === null`,()=>t.assign(re.default.vErrors,(0,V._)`[${r}]`),(0,V._)`${re.default.vErrors}.push(${r})`),t.code((0,V._)`${re.default.errors}++`)}function Gs(t,e){let{gen:r,validateName:n,schemaEnv:i}=t;i.$async?r.throw((0,V._)`new ${t.ValidationError}(${e})`):(r.assign((0,V._)`${n}.errors`,e),r.return(!1))}var ze={keyword:new V.Name("keyword"),schemaPath:new V.Name("schemaPath"),params:new V.Name("params"),propertyName:new V.Name("propertyName"),message:new V.Name("message"),schema:new V.Name("schema"),parentSchema:new V.Name("parentSchema")};function Ys(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,V._)`{}`:Hl(t,e,r)}function Hl(t,e,r={}){let{gen:n,it:i}=t,s=[Jl(i,r),Gl(t,r)];return Yl(t,e,s),n.object(...s)}function Jl({errorPath:t},{instancePath:e}){let r=e?(0,V.str)`${t}${(0,pr.getErrorPath)(e,pr.Type.Str)}`:t;return[re.default.instancePath,(0,V.strConcat)(re.default.instancePath,r)]}function Gl({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let i=n?e:(0,V.str)`${e}/${t}`;return r&&(i=(0,V.str)`${i}${(0,pr.getErrorPath)(r,pr.Type.Str)}`),[ze.schemaPath,i]}function Yl(t,{params:e,message:r},n){let{keyword:i,data:s,schemaValue:o,it:a}=t,{opts:c,propertyName:d,topSchemaRef:u,schemaPath:f}=a;n.push([ze.keyword,i],[ze.params,typeof e=="function"?e(t):e||(0,V._)`{}`]),c.messages&&n.push([ze.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([ze.schema,o],[ze.parentSchema,(0,V._)`${u}${f}`],[re.default.data,s]),d&&n.push([ze.propertyName,d])}});var Qs=R(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.boolOrEmptySchema=rt.topBoolOrEmptySchema=void 0;var Zl=Ct(),Ql=A(),Xl=Ee(),ed={message:"boolean schema is false"};function td(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Zs(t,!1):typeof r=="object"&&r.$async===!0?e.return(Xl.default.data):(e.assign((0,Ql._)`${n}.errors`,null),e.return(!0))}rt.topBoolOrEmptySchema=td;function rd(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Zs(t)):r.var(e,!0)}rt.boolOrEmptySchema=rd;function Zs(t,e){let{gen:r,data:n}=t,i={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,Zl.reportError)(i,ed,void 0,e)}});var An=R(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.getRules=nt.isJSONType=void 0;var nd=["string","number","integer","boolean","null","object","array"],id=new Set(nd);function sd(t){return typeof t=="string"&&id.has(t)}nt.isJSONType=sd;function od(){let t={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...t,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},t.number,t.string,t.array,t.object],post:{rules:[]},all:{},keywords:{}}}nt.getRules=od});var Tn=R(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.shouldUseRule=je.shouldUseGroup=je.schemaHasRulesForType=void 0;function ad({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&Xs(t,n)}je.schemaHasRulesForType=ad;function Xs(t,e){return e.rules.some(r=>eo(t,r))}je.shouldUseGroup=Xs;function eo(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))}je.shouldUseRule=eo});var jt=R(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.reportTypeError=te.checkDataTypes=te.checkDataType=te.coerceAndCheckDataType=te.getJSONTypes=te.getSchemaTypes=te.DataType=void 0;var cd=An(),ld=Tn(),dd=Ct(),N=A(),to=D(),it;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(it||(te.DataType=it={}));function ud(t){let e=ro(t.type);if(e.includes("null")){if(t.nullable===!1)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===!0&&e.push("null")}return e}te.getSchemaTypes=ud;function ro(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(cd.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}te.getJSONTypes=ro;function fd(t,e){let{gen:r,data:n,opts:i}=t,s=pd(e,i.coerceTypes),o=e.length>0&&!(s.length===0&&e.length===1&&(0,ld.schemaHasRulesForType)(t,e[0]));if(o){let a=xn(e,n,i.strictNumbers,it.Wrong);r.if(a,()=>{s.length?md(t,e,s):Dn(t)})}return o}te.coerceAndCheckDataType=fd;var no=new Set(["string","number","integer","boolean","null"]);function pd(t,e){return e?t.filter(r=>no.has(r)||e==="array"&&r==="array"):[]}function md(t,e,r){let{gen:n,data:i,opts:s}=t,o=n.let("dataType",(0,N._)`typeof ${i}`),a=n.let("coerced",(0,N._)`undefined`);s.coerceTypes==="array"&&n.if((0,N._)`${o} == 'object' && Array.isArray(${i}) && ${i}.length == 1`,()=>n.assign(i,(0,N._)`${i}[0]`).assign(o,(0,N._)`typeof ${i}`).if(xn(e,i,s.strictNumbers),()=>n.assign(a,i))),n.if((0,N._)`${a} !== undefined`);for(let d of r)(no.has(d)||d==="array"&&s.coerceTypes==="array")&&c(d);n.else(),Dn(t),n.endIf(),n.if((0,N._)`${a} !== undefined`,()=>{n.assign(i,a),gd(t,a)});function c(d){switch(d){case"string":n.elseIf((0,N._)`${o} == "number" || ${o} == "boolean"`).assign(a,(0,N._)`"" + ${i}`).elseIf((0,N._)`${i} === null`).assign(a,(0,N._)`""`);return;case"number":n.elseIf((0,N._)`${o} == "boolean" || ${i} === null
|
|
4
|
+
|| (${o} == "string" && ${i} && ${i} == +${i})`).assign(a,(0,N._)`+${i}`);return;case"integer":n.elseIf((0,N._)`${o} === "boolean" || ${i} === null
|
|
5
|
+
|| (${o} === "string" && ${i} && ${i} == +${i} && !(${i} % 1))`).assign(a,(0,N._)`+${i}`);return;case"boolean":n.elseIf((0,N._)`${i} === "false" || ${i} === 0 || ${i} === null`).assign(a,!1).elseIf((0,N._)`${i} === "true" || ${i} === 1`).assign(a,!0);return;case"null":n.elseIf((0,N._)`${i} === "" || ${i} === 0 || ${i} === false`),n.assign(a,null);return;case"array":n.elseIf((0,N._)`${o} === "string" || ${o} === "number"
|
|
6
|
+
|| ${o} === "boolean" || ${i} === null`).assign(a,(0,N._)`[${i}]`)}}}function gd({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,N._)`${e} !== undefined`,()=>t.assign((0,N._)`${e}[${r}]`,n))}function Mn(t,e,r,n=it.Correct){let i=n===it.Correct?N.operators.EQ:N.operators.NEQ,s;switch(t){case"null":return(0,N._)`${e} ${i} null`;case"array":s=(0,N._)`Array.isArray(${e})`;break;case"object":s=(0,N._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=o((0,N._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=o();break;default:return(0,N._)`typeof ${e} ${i} ${t}`}return n===it.Correct?s:(0,N.not)(s);function o(a=N.nil){return(0,N.and)((0,N._)`typeof ${e} == "number"`,a,r?(0,N._)`isFinite(${e})`:N.nil)}}te.checkDataType=Mn;function xn(t,e,r,n){if(t.length===1)return Mn(t[0],e,r,n);let i,s=(0,to.toHash)(t);if(s.array&&s.object){let o=(0,N._)`typeof ${e} != "object"`;i=s.null?o:(0,N._)`!${e} || ${o}`,delete s.null,delete s.array,delete s.object}else i=N.nil;s.number&&delete s.integer;for(let o in s)i=(0,N.and)(i,Mn(o,e,r,n));return i}te.checkDataTypes=xn;var hd={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,N._)`{type: ${t}}`:(0,N._)`{type: ${e}}`};function Dn(t){let e=yd(t);(0,dd.reportError)(e,hd)}te.reportTypeError=Dn;function yd(t){let{gen:e,data:r,schema:n}=t,i=(0,to.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:t}}});var so=R(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.assignDefaults=void 0;var st=A(),vd=D();function wd(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let i in r)io(t,i,r[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,s)=>io(t,s,i.default))}mr.assignDefaults=wd;function io(t,e,r){let{gen:n,compositeRule:i,data:s,opts:o}=t;if(r===void 0)return;let a=(0,st._)`${s}${(0,st.getProperty)(e)}`;if(i){(0,vd.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,st._)`${a} === undefined`;o.useDefaults==="empty"&&(c=(0,st._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,st._)`${a} = ${(0,st.stringify)(r)}`)}});var de=R(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.validateUnion=z.validateArray=z.usePattern=z.callValidateCode=z.schemaProperties=z.allSchemaProperties=z.noPropertyInData=z.propertyInData=z.isOwnProperty=z.hasPropFunc=z.reportMissingProp=z.checkMissingProp=z.checkReportMissingProp=void 0;var W=A(),Vn=D(),Ae=Ee(),Sd=D();function _d(t,e){let{gen:r,data:n,it:i}=t;r.if(Fn(r,n,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,W._)`${e}`},!0),t.error()})}z.checkReportMissingProp=_d;function $d({gen:t,data:e,it:{opts:r}},n,i){return(0,W.or)(...n.map(s=>(0,W.and)(Fn(t,e,s,r.ownProperties),(0,W._)`${i} = ${s}`)))}z.checkMissingProp=$d;function bd(t,e){t.setParams({missingProperty:e},!0),t.error()}z.reportMissingProp=bd;function oo(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,W._)`Object.prototype.hasOwnProperty`})}z.hasPropFunc=oo;function qn(t,e,r){return(0,W._)`${oo(t)}.call(${e}, ${r})`}z.isOwnProperty=qn;function Rd(t,e,r,n){let i=(0,W._)`${e}${(0,W.getProperty)(r)} !== undefined`;return n?(0,W._)`${i} && ${qn(t,e,r)}`:i}z.propertyInData=Rd;function Fn(t,e,r,n){let i=(0,W._)`${e}${(0,W.getProperty)(r)} === undefined`;return n?(0,W.or)(i,(0,W.not)(qn(t,e,r))):i}z.noPropertyInData=Fn;function ao(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}z.allSchemaProperties=ao;function Id(t,e){return ao(e).filter(r=>!(0,Vn.alwaysValidSchema)(t,e[r]))}z.schemaProperties=Id;function Ed({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:s},it:o},a,c,d){let u=d?(0,W._)`${t}, ${e}, ${n}${i}`:e,f=[[Ae.default.instancePath,(0,W.strConcat)(Ae.default.instancePath,s)],[Ae.default.parentData,o.parentData],[Ae.default.parentDataProperty,o.parentDataProperty],[Ae.default.rootData,Ae.default.rootData]];o.opts.dynamicRef&&f.push([Ae.default.dynamicAnchors,Ae.default.dynamicAnchors]);let m=(0,W._)`${u}, ${r.object(...f)}`;return c!==W.nil?(0,W._)`${a}.call(${c}, ${m})`:(0,W._)`${a}(${m})`}z.callValidateCode=Ed;var kd=(0,W._)`new RegExp`;function Pd({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,s=i(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,W._)`${i.code==="new RegExp"?kd:(0,Sd.useFunc)(t,i)}(${r}, ${n})`})}z.usePattern=Pd;function Od(t){let{gen:e,data:r,keyword:n,it:i}=t,s=e.name("valid");if(i.allErrors){let a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(s,!0),o(()=>e.break()),s;function o(a){let c=e.const("len",(0,W._)`${r}.length`);e.forRange("i",0,c,d=>{t.subschema({keyword:n,dataProp:d,dataPropType:Vn.Type.Num},s),e.if((0,W.not)(s),a)})}}z.validateArray=Od;function Nd(t){let{gen:e,schema:r,keyword:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Vn.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,d)=>{let u=t.subschema({keyword:n,schemaProp:d,compositeRule:!0},a);e.assign(o,(0,W._)`${o} || ${a}`),t.mergeValidEvaluated(u,a)||e.if((0,W.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}z.validateUnion=Nd});var uo=R(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.validateKeywordUsage=Se.validSchemaType=Se.funcKeywordCode=Se.macroKeywordCode=void 0;var ne=A(),Ue=Ee(),Cd=de(),jd=Ct();function Ad(t,e){let{gen:r,keyword:n,schema:i,parentSchema:s,it:o}=t,a=e.macro.call(o.self,i,s,o),c=lo(r,n,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);let d=r.name("valid");t.subschema({schema:a,schemaPath:ne.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},d),t.pass(d,()=>t.error(!0))}Se.macroKeywordCode=Ad;function Td(t,e){var r;let{gen:n,keyword:i,schema:s,parentSchema:o,$data:a,it:c}=t;xd(c,e);let d=!a&&e.compile?e.compile.call(c.self,s,o,c):e.validate,u=lo(n,i,d),f=n.let("valid");t.block$data(f,m),t.ok((r=e.valid)!==null&&r!==void 0?r:f);function m(){if(e.errors===!1)l(),e.modifying&&co(t),p(()=>t.error());else{let y=e.async?h():g();e.modifying&&co(t),p(()=>Md(t,y))}}function h(){let y=n.let("ruleErrs",null);return n.try(()=>l((0,ne._)`await `),_=>n.assign(f,!1).if((0,ne._)`${_} instanceof ${c.ValidationError}`,()=>n.assign(y,(0,ne._)`${_}.errors`),()=>n.throw(_))),y}function g(){let y=(0,ne._)`${u}.errors`;return n.assign(y,null),l(ne.nil),y}function l(y=e.async?(0,ne._)`await `:ne.nil){let _=c.opts.passContext?Ue.default.this:Ue.default.self,$=!("compile"in e&&!a||e.schema===!1);n.assign(f,(0,ne._)`${y}${(0,Cd.callValidateCode)(t,u,_,$)}`,e.modifying)}function p(y){var _;n.if((0,ne.not)((_=e.valid)!==null&&_!==void 0?_:f),y)}}Se.funcKeywordCode=Td;function co(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,ne._)`${n.parentData}[${n.parentDataProperty}]`))}function Md(t,e){let{gen:r}=t;r.if((0,ne._)`Array.isArray(${e})`,()=>{r.assign(Ue.default.vErrors,(0,ne._)`${Ue.default.vErrors} === null ? ${e} : ${Ue.default.vErrors}.concat(${e})`).assign(Ue.default.errors,(0,ne._)`${Ue.default.vErrors}.length`),(0,jd.extendErrors)(t)},()=>t.error())}function xd({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function lo(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,ne.stringify)(r)})}function Dd(t,e,r=!1){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")}Se.validSchemaType=Dd;function Vd({schema:t,opts:e,self:r,errSchemaPath:n},i,s){if(Array.isArray(i.keyword)?!i.keyword.includes(s):i.keyword!==s)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Se.validateKeywordUsage=Vd});var po=R(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.extendSubschemaMode=Te.extendSubschemaData=Te.getSubschema=void 0;var _e=A(),fo=D();function qd(t,{keyword:e,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:s,topSchemaRef:o}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,_e._)`${t.schemaPath}${(0,_e.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,_e._)`${t.schemaPath}${(0,_e.getProperty)(e)}${(0,_e.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,fo.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Te.getSubschema=qd;function Fd(t,e,{dataProp:r,dataPropType:n,data:i,dataTypes:s,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:d,dataPathArr:u,opts:f}=e,m=a.let("data",(0,_e._)`${e.data}${(0,_e.getProperty)(r)}`,!0);c(m),t.errorPath=(0,_e.str)`${d}${(0,fo.getErrorPath)(r,n,f.jsPropertySyntax)}`,t.parentDataProperty=(0,_e._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(i!==void 0){let d=i instanceof _e.Name?i:a.let("data",i,!0);c(d),o!==void 0&&(t.propertyName=o)}s&&(t.dataTypes=s);function c(d){t.data=d,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,d]}}Te.extendSubschemaData=Fd;function Ld(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:s}){n!==void 0&&(t.compositeRule=n),i!==void 0&&(t.createErrors=i),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}Te.extendSubschemaMode=Ld});var Ln=R((Ch,mo)=>{"use strict";mo.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,i,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!t(e[i],r[i]))return!1;return!0}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(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[i]))return!1;for(i=n;i--!==0;){var o=s[i];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}});var ho=R((jh,go)=>{"use strict";var Me=go.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};gr(e,n,i,t,"",t)};Me.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Me.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Me.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Me.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function gr(t,e,r,n,i,s,o,a,c,d){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,s,o,a,c,d);for(var u in n){var f=n[u];if(Array.isArray(f)){if(u in Me.arrayKeywords)for(var m=0;m<f.length;m++)gr(t,e,r,f[m],i+"/"+u+"/"+m,s,i,u,n,m)}else if(u in Me.propsKeywords){if(f&&typeof f=="object")for(var h in f)gr(t,e,r,f[h],i+"/"+u+"/"+zd(h),s,i,u,n,h)}else(u in Me.keywords||t.allKeys&&!(u in Me.skipKeywords))&&gr(t,e,r,f,i+"/"+u,s,i,u,n)}r(n,i,s,o,a,c,d)}}function zd(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var At=R(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.getSchemaRefs=ae.resolveUrl=ae.normalizeId=ae._getFullPath=ae.getFullPath=ae.inlineRef=void 0;var Ud=D(),Kd=Ln(),Wd=ho(),Bd=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Hd(t,e=!0){return typeof t=="boolean"?!0:e===!0?!zn(t):e?yo(t)<=e:!1}ae.inlineRef=Hd;var Jd=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function zn(t){for(let e in t){if(Jd.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(zn)||typeof r=="object"&&zn(r))return!0}return!1}function yo(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!Bd.has(r)&&(typeof t[r]=="object"&&(0,Ud.eachItem)(t[r],n=>e+=yo(n)),e===1/0))return 1/0}return e}function vo(t,e="",r){r!==!1&&(e=ot(e));let n=t.parse(e);return wo(t,n)}ae.getFullPath=vo;function wo(t,e){return t.serialize(e).split("#")[0]+"#"}ae._getFullPath=wo;var Gd=/#\/?$/;function ot(t){return t?t.replace(Gd,""):""}ae.normalizeId=ot;function Yd(t,e,r){return r=ot(r),t.resolve(e,r)}ae.resolveUrl=Yd;var Zd=/^[a-z_][-a-z0-9._]*$/i;function Qd(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=ot(t[r]||e),s={"":i},o=vo(n,i,!1),a={},c=new Set;return Wd(t,{allKeys:!0},(f,m,h,g)=>{if(g===void 0)return;let l=o+m,p=s[g];typeof f[r]=="string"&&(p=y.call(this,f[r])),_.call(this,f.$anchor),_.call(this,f.$dynamicAnchor),s[m]=p;function y($){let w=this.opts.uriResolver.resolve;if($=ot(p?w(p,$):$),c.has($))throw u($);c.add($);let S=this.refs[$];return typeof S=="string"&&(S=this.refs[S]),typeof S=="object"?d(f,S.schema,$):$!==ot(l)&&($[0]==="#"?(d(f,a[$],$),a[$]=f):this.refs[$]=l),$}function _($){if(typeof $=="string"){if(!Zd.test($))throw new Error(`invalid anchor "${$}"`);y.call(this,`#${$}`)}}}),a;function d(f,m,h){if(m!==void 0&&!Kd(f,m))throw u(h)}function u(f){return new Error(`reference "${f}" resolves to more than one schema`)}}ae.getSchemaRefs=Qd});var xt=R(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.getData=xe.KeywordCxt=xe.validateFunctionCode=void 0;var Ro=Qs(),So=jt(),Kn=Tn(),hr=jt(),Xd=so(),Mt=uo(),Un=po(),k=A(),P=Ee(),eu=At(),ke=D(),Tt=Ct();function tu(t){if(ko(t)&&(Po(t),Eo(t))){iu(t);return}Io(t,()=>(0,Ro.topBoolOrEmptySchema)(t))}xe.validateFunctionCode=tu;function Io({gen:t,validateName:e,schema:r,schemaEnv:n,opts:i},s){i.code.es5?t.func(e,(0,k._)`${P.default.data}, ${P.default.valCxt}`,n.$async,()=>{t.code((0,k._)`"use strict"; ${_o(r,i)}`),nu(t,i),t.code(s)}):t.func(e,(0,k._)`${P.default.data}, ${ru(i)}`,n.$async,()=>t.code(_o(r,i)).code(s))}function ru(t){return(0,k._)`{${P.default.instancePath}="", ${P.default.parentData}, ${P.default.parentDataProperty}, ${P.default.rootData}=${P.default.data}${t.dynamicRef?(0,k._)`, ${P.default.dynamicAnchors}={}`:k.nil}}={}`}function nu(t,e){t.if(P.default.valCxt,()=>{t.var(P.default.instancePath,(0,k._)`${P.default.valCxt}.${P.default.instancePath}`),t.var(P.default.parentData,(0,k._)`${P.default.valCxt}.${P.default.parentData}`),t.var(P.default.parentDataProperty,(0,k._)`${P.default.valCxt}.${P.default.parentDataProperty}`),t.var(P.default.rootData,(0,k._)`${P.default.valCxt}.${P.default.rootData}`),e.dynamicRef&&t.var(P.default.dynamicAnchors,(0,k._)`${P.default.valCxt}.${P.default.dynamicAnchors}`)},()=>{t.var(P.default.instancePath,(0,k._)`""`),t.var(P.default.parentData,(0,k._)`undefined`),t.var(P.default.parentDataProperty,(0,k._)`undefined`),t.var(P.default.rootData,P.default.data),e.dynamicRef&&t.var(P.default.dynamicAnchors,(0,k._)`{}`)})}function iu(t){let{schema:e,opts:r,gen:n}=t;Io(t,()=>{r.$comment&&e.$comment&&No(t),lu(t),n.let(P.default.vErrors,null),n.let(P.default.errors,0),r.unevaluated&&su(t),Oo(t),fu(t)})}function su(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,k._)`${r}.evaluated`),e.if((0,k._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,k._)`${t.evaluated}.props`,(0,k._)`undefined`)),e.if((0,k._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,k._)`${t.evaluated}.items`,(0,k._)`undefined`))}function _o(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,k._)`/*# sourceURL=${r} */`:k.nil}function ou(t,e){if(ko(t)&&(Po(t),Eo(t))){au(t,e);return}(0,Ro.boolOrEmptySchema)(t,e)}function Eo({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function ko(t){return typeof t.schema!="boolean"}function au(t,e){let{schema:r,gen:n,opts:i}=t;i.$comment&&r.$comment&&No(t),du(t),uu(t);let s=n.const("_errs",P.default.errors);Oo(t,s),n.var(e,(0,k._)`${s} === ${P.default.errors}`)}function Po(t){(0,ke.checkUnknownRules)(t),cu(t)}function Oo(t,e){if(t.opts.jtd)return $o(t,[],!1,e);let r=(0,So.getSchemaTypes)(t.schema),n=(0,So.coerceAndCheckDataType)(t,r);$o(t,r,!n,e)}function cu(t){let{schema:e,errSchemaPath:r,opts:n,self:i}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,ke.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function lu(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,ke.checkStrictMode)(t,"default is ignored in the schema root")}function du(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,eu.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function uu(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function No({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:i}){let s=r.$comment;if(i.$comment===!0)t.code((0,k._)`${P.default.self}.logger.log(${s})`);else if(typeof i.$comment=="function"){let o=(0,k.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,k._)`${P.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function fu(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:i,opts:s}=t;r.$async?e.if((0,k._)`${P.default.errors} === 0`,()=>e.return(P.default.data),()=>e.throw((0,k._)`new ${i}(${P.default.vErrors})`)):(e.assign((0,k._)`${n}.errors`,P.default.vErrors),s.unevaluated&&pu(t),e.return((0,k._)`${P.default.errors} === 0`))}function pu({gen:t,evaluated:e,props:r,items:n}){r instanceof k.Name&&t.assign((0,k._)`${e}.props`,r),n instanceof k.Name&&t.assign((0,k._)`${e}.items`,n)}function $o(t,e,r,n){let{gen:i,schema:s,data:o,allErrors:a,opts:c,self:d}=t,{RULES:u}=d;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,ke.schemaHasRulesButRef)(s,u))){i.block(()=>jo(t,"$ref",u.all.$ref.definition));return}c.jtd||mu(t,e),i.block(()=>{for(let m of u.rules)f(m);f(u.post)});function f(m){(0,Kn.shouldUseGroup)(s,m)&&(m.type?(i.if((0,hr.checkDataType)(m.type,o,c.strictNumbers)),bo(t,m),e.length===1&&e[0]===m.type&&r&&(i.else(),(0,hr.reportTypeError)(t)),i.endIf()):bo(t,m),a||i.if((0,k._)`${P.default.errors} === ${n||0}`))}}function bo(t,e){let{gen:r,schema:n,opts:{useDefaults:i}}=t;i&&(0,Xd.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Kn.shouldUseRule)(n,s)&&jo(t,s.keyword,s.definition,e.type)})}function mu(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(gu(t,e),t.opts.allowUnionTypes||hu(t,e),yu(t,t.dataTypes))}function gu(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Co(t.dataTypes,r)||Wn(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),wu(t,e)}}function hu(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Wn(t,"use allowUnionTypes to allow union type keyword")}function yu(t,e){let r=t.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,Kn.shouldUseRule)(t.schema,i)){let{type:s}=i.definition;s.length&&!s.some(o=>vu(e,o))&&Wn(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function vu(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Co(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function wu(t,e){let r=[];for(let n of t.dataTypes)Co(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Wn(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,ke.checkStrictMode)(t,e,t.opts.strictTypes)}var yr=class{constructor(e,r,n){if((0,Mt.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,ke.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",Ao(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Mt.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!==!1)&&(this.errsCount=e.gen.const("_errs",P.default.errors))}result(e,r,n){this.failResult((0,k.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,k.not)(e),void 0,r)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);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,k._)`${r} !== undefined && (${(0,k.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?Tt.reportExtraError:Tt.reportError)(this,this.def.error,r)}$dataError(){(0,Tt.reportError)(this,this.def.$dataError||Tt.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Tt.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=k.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=k.nil,r=k.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:s,def:o}=this;n.if((0,k.or)((0,k._)`${i} === undefined`,r)),e!==k.nil&&n.assign(e,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==k.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:i,it:s}=this;return(0,k.or)(o(),a());function o(){if(n.length){if(!(r instanceof k.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,k._)`${(0,hr.checkDataTypes)(c,r,s.opts.strictNumbers,hr.DataType.Wrong)}`}return k.nil}function a(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,k._)`!${c}(${r})`}return k.nil}}subschema(e,r){let n=(0,Un.getSubschema)(this.it,e);(0,Un.extendSubschemaData)(n,this.it,e),(0,Un.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return ou(i,r),i}mergeEvaluated(e,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=ke.mergeEvaluated.props(i,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=ke.mergeEvaluated.items(i,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(e,k.Name)),!0}};xe.KeywordCxt=yr;function jo(t,e,r,n){let i=new yr(t,r,e);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Mt.funcKeywordCode)(i,r):"macro"in r?(0,Mt.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Mt.funcKeywordCode)(i,r)}var Su=/^\/(?:[^~]|~0|~1)*$/,_u=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ao(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let i,s;if(t==="")return P.default.rootData;if(t[0]==="/"){if(!Su.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,s=P.default.rootData}else{let d=_u.exec(t);if(!d)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+d[1];if(i=d[2],i==="#"){if(u>=e)throw new Error(c("property/index",u));return n[e-u]}if(u>e)throw new Error(c("data",u));if(s=r[e-u],!i)return s}let o=s,a=i.split("/");for(let d of a)d&&(s=(0,k._)`${s}${(0,k.getProperty)((0,ke.unescapeJsonPointer)(d))}`,o=(0,k._)`${o} && ${s}`);return o;function c(d,u){return`Cannot access ${d} ${u} levels up, current level is ${e}`}}xe.getData=Ao});var vr=R(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});var Bn=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Hn.default=Bn});var Dt=R(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});var Jn=At(),Gn=class extends Error{constructor(e,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,Jn.resolveUrl)(e,r,n),this.missingSchema=(0,Jn.normalizeId)((0,Jn.getFullPath)(e,this.missingRef))}};Yn.default=Gn});var Sr=R(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.resolveSchema=ue.getCompilingSchema=ue.resolveRef=ue.compileSchema=ue.SchemaEnv=void 0;var me=A(),$u=vr(),Ke=Ee(),ge=At(),To=D(),bu=xt(),at=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,ge.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ue.SchemaEnv=at;function Qn(t){let e=Mo.call(this,t);if(e)return e;let r=(0,ge.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:s}=this.opts,o=new me.CodeGen(this.scope,{es5:n,lines:i,ownProperties:s}),a;t.$async&&(a=o.scopeValue("Error",{ref:$u.default,code:(0,me._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let d={gen:o,allErrors:this.opts.allErrors,data:Ke.default.data,parentData:Ke.default.parentData,parentDataProperty:Ke.default.parentDataProperty,dataNames:[Ke.default.data],dataPathArr:[me.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,me.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:me.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,me._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,bu.validateFunctionCode)(d),o.optimize(this.opts.code.optimize);let f=o.toString();u=`${o.scopeRefs(Ke.default.scope)}return ${f}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let h=new Function(`${Ke.default.self}`,`${Ke.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:h}),h.errors=null,h.schema=t.schema,h.schemaEnv=t,t.$async&&(h.$async=!0),this.opts.code.source===!0&&(h.source={validateName:c,validateCode:f,scopeValues:o._values}),this.opts.unevaluated){let{props:g,items:l}=d;h.evaluated={props:g instanceof me.Name?void 0:g,items:l instanceof me.Name?void 0:l,dynamicProps:g instanceof me.Name,dynamicItems:l instanceof me.Name},h.source&&(h.source.evaluated=(0,me.stringify)(h.evaluated))}return t.validate=h,t}catch(f){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),f}finally{this._compilations.delete(t)}}ue.compileSchema=Qn;function Ru(t,e,r){var n;r=(0,ge.resolveUrl)(this.opts.uriResolver,e,r);let i=t.refs[r];if(i)return i;let s=ku.call(this,t,r);if(s===void 0){let o=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;o&&(s=new at({schema:o,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=Iu.call(this,s)}ue.resolveRef=Ru;function Iu(t){return(0,ge.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Qn.call(this,t)}function Mo(t){for(let e of this._compilations)if(Eu(e,t))return e}ue.getCompilingSchema=Mo;function Eu(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function ku(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,ge._getFullPath)(this.opts.uriResolver,r),i=(0,ge.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===i)return Zn.call(this,r,t);let s=(0,ge.normalizeId)(n),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){let a=wr.call(this,t,o);return typeof a?.schema!="object"?void 0:Zn.call(this,r,a)}if(typeof o?.schema=="object"){if(o.validate||Qn.call(this,o),s===(0,ge.normalizeId)(e)){let{schema:a}=o,{schemaId:c}=this.opts,d=a[c];return d&&(i=(0,ge.resolveUrl)(this.opts.uriResolver,i,d)),new at({schema:a,schemaId:c,root:t,baseId:i})}return Zn.call(this,r,o)}}ue.resolveSchema=wr;var Pu=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Zn(t,{baseId:e,schema:r,root:n}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,To.unescapeFragment)(a)];if(c===void 0)return;r=c;let d=typeof r=="object"&&r[this.opts.schemaId];!Pu.has(a)&&d&&(e=(0,ge.resolveUrl)(this.opts.uriResolver,e,d))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,To.schemaHasRulesButRef)(r,this.RULES)){let a=(0,ge.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=wr.call(this,n,a)}let{schemaId:o}=this.opts;if(s=s||new at({schema:r,schemaId:o,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var xo=R((Vh,Ou)=>{Ou.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:!1}});var ti=R((qh,zo)=>{"use strict";var Nu=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Vo=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),Xn=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),qo=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),Cu=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function ei(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 ju=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Do(t){return t.length=0,!0}function Au(t,e,r){if(t.length){let n=ei(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function Tu(t){let e=0,r={error:!1,address:"",zone:""},n=[],i=[],s=!1,o=!1,a=Au;for(let c=0;c<t.length;c++){let d=t[c];if(!(d==="["||d==="]"))if(d===":"){if(s===!0&&(o=!0),!a(i,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(d==="%"){if(!a(i,n,r))break;a=Do}else{i.push(d);continue}}return i.length&&(a===Do?r.zone=i.join(""):o?n.push(i.join("")):n.push(ei(i))),r.address=n.join(""),r}function Fo(t){if(Mu(t,":")<2)return{host:t,isIPV6:!1};let e=Tu(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,isIPV6:!0,escapedHost:n}}}function Mu(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function xu(t){let e=t,r=[],n=-1,i=0;for(;i=e.length;){if(i===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(i===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(i===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("")}var Du={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},Vu=/[@/?#:]/g,qu=/[@/?#]/g;function Lo(t,e){let r=e?qu:Vu;return r.lastIndex=0,t.replace(r,n=>Du[n])}function Fu(t,e=!1){if(t.indexOf("%")===-1)return t;let r="";for(let n=0;n<t.length;n++){if(t[n]==="%"&&n+2<t.length){let i=t.slice(n+1,n+3);if(Xn(i)){let s=i.toUpperCase(),o=String.fromCharCode(parseInt(s,16));e&&qo(o)?r+=o:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function Lu(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(Xn(n)){let i=n.toUpperCase(),s=String.fromCharCode(parseInt(i,16));s!=="."&&qo(s)?e+=s:e+="%"+i,r+=2;continue}}Cu(t[r])?e+=t[r]:e+=escape(t[r])}return e}function zu(t){let e="";for(let r=0;r<t.length;r++){if(t[r]==="%"&&r+2<t.length){let n=t.slice(r+1,r+3);if(Xn(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function Uu(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!Vo(r)){let n=Fo(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Lo(r,!1)}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}zo.exports={nonSimpleDomain:ju,recomposeAuthority:Uu,reescapeHostDelimiters:Lo,normalizePercentEncoding:Fu,normalizePathEncoding:Lu,escapePreservingEscapes:zu,removeDotSegments:xu,isIPv4:Vo,isUUID:Nu,normalizeIPv6:Fo,stringArrayToHexStripped:ei}});var Ho=R((Fh,Bo)=>{"use strict";var{isUUID:Ku}=ti(),Wu=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Bu=["http","https","ws","wss","urn","urn:uuid"];function Hu(t){return Bu.indexOf(t)!==-1}function ri(t){return t.secure===!0?!0:t.secure===!1?!1: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"):!1}function Uo(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Ko(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 Ju(t){return t.secure=ri(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function Gu(t){if((t.port===(ri(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 Yu(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(Wu);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let i=`${n}:${e.nid||t.nid}`,s=ni(i);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function Zu(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(),i=`${r}:${e.nid||n}`,s=ni(i);s&&(t=s.serialize(t,e));let o=t,a=t.nss;return o.path=`${n||e.nid}:${a}`,e.skipEscape=!0,o}function Qu(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!Ku(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function Xu(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Wo={scheme:"http",domainHost:!0,parse:Uo,serialize:Ko},ef={scheme:"https",domainHost:Wo.domainHost,parse:Uo,serialize:Ko},_r={scheme:"ws",domainHost:!0,parse:Ju,serialize:Gu},tf={scheme:"wss",domainHost:_r.domainHost,parse:_r.parse,serialize:_r.serialize},rf={scheme:"urn",parse:Yu,serialize:Zu,skipNormalize:!0},nf={scheme:"urn:uuid",parse:Qu,serialize:Xu,skipNormalize:!0},$r={http:Wo,https:ef,ws:_r,wss:tf,urn:rf,"urn:uuid":nf};Object.setPrototypeOf($r,null);function ni(t){return t&&($r[t]||$r[t.toLowerCase()])||void 0}Bo.exports={wsIsSecure:ri,SCHEMES:$r,isValidSchemeName:Hu,getSchemeHandler:ni}});var Qo=R((Lh,Ir)=>{"use strict";var{normalizeIPv6:sf,removeDotSegments:Vt,recomposeAuthority:of,normalizePercentEncoding:af,normalizePathEncoding:cf,escapePreservingEscapes:lf,reescapeHostDelimiters:df,isIPv4:uf,nonSimpleDomain:ff}=ti(),{SCHEMES:pf,getSchemeHandler:Go}=Ho();function mf(t,e){return typeof t=="string"?t=_f(t,e):typeof t=="object"&&(t=Rr(We(t,e),e)),t}function gf(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},{parsed:i,malformedAuthorityOrPort:s}=br(t,n),{parsed:o,malformedAuthorityOrPort:a}=br(e,n);if(s||a)throw new Error(i.error||o.error||"URI is malformed.");let c=Yo(i,o,n,!0);return n.skipEscape=!0,We(c,n)}function Yo(t,e,r,n){let i={};return n||(t=Rr(We(t,r),r),e=Rr(We(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=Vt(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=Vt(e.path||""),i.query=e.query):(e.path?(e.path[0]==="/"?i.path=Vt(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=Vt(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function hf(t,e,r){let n=Jo(t,r),i=Jo(e,r);return n!==void 0&&i!==void 0&&n.toLowerCase()===i.toLowerCase()}function We(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),i=[],s=Go(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=af(r.path):(r.path=lf(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let o=of(r);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path[0]!=="/"&&i.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=Vt(a)),o===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),i.push(a)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var yf=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,vf=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,wf=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function Sf(t,e){if(e[2]!==void 0&&t.path&&t.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof t.port=="number"&&(t.port<0||t.port>65535))return"URI port is malformed."}function br(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},i=!1,s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let o=t.match(vf);o!==null&&o[1].indexOf("\\")!==-1&&(n.error="URI authority must not contain a literal backslash.",i=!0);let a=t.match(wf);if(a!==null){let d=a[1],u=d.replace(/[\t\n\r]/g,"");u.length>=2&&(u.slice(0,2)!=="//"?(n.error=n.error||"URI authority must not contain a literal backslash.",i=!0):d.length!==u.length&&(n.error=n.error||"URI authority introducer must not contain whitespace.",i=!0))}let c=t.match(yf);if(c){n.scheme=c[1],n.userinfo=c[3],n.host=c[4],n.port=parseInt(c[5],10),n.path=c[6]||"",n.query=c[7],n.fragment=c[8],isNaN(n.port)&&(n.port=c[5]);let d=Sf(n,c);if(d!==void 0&&(n.error=n.error||d,i=!0),n.host)if(uf(n.host)===!1){let m=sf(n.host);n.host=m.host.toLowerCase(),s=m.isIPV6}else s=!0;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 u=Go(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)&&n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&ff(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(f){n.error=n.error||"Host's domain name can not be converted to ASCII: "+f}if((!u||u&&!u.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=df(unescape(n.host),s))),n.path&&(n.path=cf(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}u&&u.parse&&u.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:i}}function Rr(t,e){return br(t,e).parsed}function _f(t,e){return Zo(t,e).normalized}function Zo(t,e){let{parsed:r,malformedAuthorityOrPort:n}=br(t,e);return{normalized:n?t:We(r,e),malformedAuthorityOrPort:n}}function Jo(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Zo(t,e);return n?void 0:r}if(typeof t=="object")return We(t,e)}var ii={SCHEMES:pf,normalize:mf,resolve:gf,resolveComponent:Yo,equal:hf,serialize:We,parse:Rr};Ir.exports=ii;Ir.exports.default=ii;Ir.exports.fastUri=ii});var ea=R(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});var Xo=Qo();Xo.code='require("ajv/dist/runtime/uri").default';si.default=Xo});var ca=R(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.CodeGen=Z.Name=Z.nil=Z.stringify=Z.str=Z._=Z.KeywordCxt=void 0;var $f=xt();Object.defineProperty(Z,"KeywordCxt",{enumerable:!0,get:function(){return $f.KeywordCxt}});var ct=A();Object.defineProperty(Z,"_",{enumerable:!0,get:function(){return ct._}});Object.defineProperty(Z,"str",{enumerable:!0,get:function(){return ct.str}});Object.defineProperty(Z,"stringify",{enumerable:!0,get:function(){return ct.stringify}});Object.defineProperty(Z,"nil",{enumerable:!0,get:function(){return ct.nil}});Object.defineProperty(Z,"Name",{enumerable:!0,get:function(){return ct.Name}});Object.defineProperty(Z,"CodeGen",{enumerable:!0,get:function(){return ct.CodeGen}});var bf=vr(),sa=Dt(),Rf=An(),qt=Sr(),If=A(),Ft=At(),Er=jt(),ai=D(),ta=xo(),Ef=ea(),oa=(t,e)=>new RegExp(t,e);oa.code="new RegExp";var kf=["removeAdditional","useDefaults","coerceTypes"],Pf=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Of={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."},Nf={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},ra=200;function Cf(t){var e,r,n,i,s,o,a,c,d,u,f,m,h,g,l,p,y,_,$,w,S,v,b,O,E;let M=t.strict,L=(e=t.code)===null||e===void 0?void 0:e.optimize,F=L===!0||L===void 0?1:L||0,H=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:oa,ie=(i=t.uriResolver)!==null&&i!==void 0?i:Ef.default;return{strictSchema:(o=(s=t.strictSchema)!==null&&s!==void 0?s:M)!==null&&o!==void 0?o:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:M)!==null&&c!==void 0?c:!0,strictTypes:(u=(d=t.strictTypes)!==null&&d!==void 0?d:M)!==null&&u!==void 0?u:"log",strictTuples:(m=(f=t.strictTuples)!==null&&f!==void 0?f:M)!==null&&m!==void 0?m:"log",strictRequired:(g=(h=t.strictRequired)!==null&&h!==void 0?h:M)!==null&&g!==void 0?g:!1,code:t.code?{...t.code,optimize:F,regExp:H}:{optimize:F,regExp:H},loopRequired:(l=t.loopRequired)!==null&&l!==void 0?l:ra,loopEnum:(p=t.loopEnum)!==null&&p!==void 0?p:ra,meta:(y=t.meta)!==null&&y!==void 0?y:!0,messages:(_=t.messages)!==null&&_!==void 0?_:!0,inlineRefs:($=t.inlineRefs)!==null&&$!==void 0?$:!0,schemaId:(w=t.schemaId)!==null&&w!==void 0?w:"$id",addUsedSchema:(S=t.addUsedSchema)!==null&&S!==void 0?S:!0,validateSchema:(v=t.validateSchema)!==null&&v!==void 0?v:!0,validateFormats:(b=t.validateFormats)!==null&&b!==void 0?b:!0,unicodeRegExp:(O=t.unicodeRegExp)!==null&&O!==void 0?O:!0,int32range:(E=t.int32range)!==null&&E!==void 0?E:!0,uriResolver:ie}}var Lt=class{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...Cf(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new If.ValueScope({scope:{},prefixes:Pf,es5:r,lines:n}),this.logger=Df(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Rf.getRules)(),na.call(this,Of,e,"NOT SUPPORTED"),na.call(this,Nf,e,"DEPRECATED","warn"),this._metaOpts=Mf.call(this),e.formats&&Af.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&Tf.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),jf.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,i=ta;n==="id"&&(i={...ta},i.id=i.$id,delete i.$id),r&&e&&this.addMetaSchema(i,i[n],!1)}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 i=n(r);return"$async"in n||(this.errors=n.errors),i}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 i.call(this,e,r);async function i(u,f){await s.call(this,u.$schema);let m=this._addSchema(u,f);return m.validate||o.call(this,m)}async function s(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function o(u){try{return this._compileSchemaEnv(u)}catch(f){if(!(f instanceof sa.default))throw f;return a.call(this,f),await c.call(this,f.missingSchema),o.call(this,u)}}function a({missingSchema:u,missingRef:f}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${f} cannot be resolved`)}async function c(u){let f=await d.call(this,u);this.refs[u]||await s.call(this,f.$schema),this.refs[u]||this.addSchema(f,u,r)}async function d(u){let f=this._loading[u];if(f)return f;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(e,r,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,n,i);return this}let s;if(typeof e=="object"){let{schemaId:o}=this.opts;if(s=e[o],s!==void 0&&typeof s!="string")throw new Error(`schema ${o} must be string`)}return r=(0,Ft.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,i,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;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,!0;let i=this.validate(n,e);if(!i&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return i}getSchema(e){let r;for(;typeof(r=ia.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,i=new qt.SchemaEnv({schema:{},schemaId:n});if(r=qt.resolveSchema.call(this,i,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=ia.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,Ft.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,ai.eachItem)(n,s=>oi.call(this,s)),this;Lf.call(this,r);let i={...r,type:(0,Er.getJSONTypes)(r.type),schemaType:(0,Er.getJSONTypes)(r.schemaType)};return(0,ai.eachItem)(n,i.type.length===0?s=>oi.call(this,s,i):s=>i.type.forEach(o=>oi.call(this,s,i,o))),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 i=n.rules.findIndex(s=>s.keyword===e);i>=0&&n.rules.splice(i,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(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,s)=>i+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of r){let s=i.split("/").slice(1),o=e;for(let a of s)o=o[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:d}=c.definition,u=o[a];d&&u&&(o[a]=aa(u))}}return e}_removeAllSchemas(e,r){for(let n in e){let i=e[n];(!r||r.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,r,n,i=this.opts.validateSchema,s=this.opts.addUsedSchema){let o,{schemaId:a}=this.opts;if(typeof e=="object")o=e[a];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 c=this._cache.get(e);if(c!==void 0)return c;n=(0,Ft.normalizeId)(o||n);let d=Ft.getSchemaRefs.call(this,e,n);return c=new qt.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:d}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&this.validateSchema(e,!0),c}_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):qt.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{qt.compileSchema.call(this,e)}finally{this.opts=r}}};Lt.ValidationError=bf.default;Lt.MissingRefError=sa.default;Z.default=Lt;function na(t,e,r,n="error"){for(let i in t){let s=i;s in e&&this.logger[n](`${r}: option ${i}. ${t[s]}`)}}function ia(t){return t=(0,Ft.normalizeId)(t),this.schemas[t]||this.refs[t]}function jf(){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 Af(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function Tf(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 Mf(){let t={...this.opts};for(let e of kf)delete t[e];return t}var xf={log(){},warn(){},error(){}};function Df(t){if(t===!1)return xf;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 Vf=/^[a-z_$][a-z0-9_$:-]*$/i;function qf(t,e){let{RULES:r}=this;if((0,ai.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Vf.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 oi(t,e,r){var n;let i=e?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,o=i?s.post:s.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},s.rules.push(o)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,Er.getJSONTypes)(e.type),schemaType:(0,Er.getJSONTypes)(e.schemaType)}};e.before?Ff.call(this,o,a,e.before):o.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function Ff(t,e,r){let n=t.rules.findIndex(i=>i.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function Lf(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=aa(e)),t.validateSchema=this.compile(e,!0))}var zf={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function aa(t){return{anyOf:[t,zf]}}});var la=R(ci=>{"use strict";Object.defineProperty(ci,"__esModule",{value:!0});var Uf={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ci.default=Uf});var pa=R(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.callRef=Be.getValidate=void 0;var Kf=Dt(),da=de(),ce=A(),lt=Ee(),ua=Sr(),kr=D(),Wf={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:i,schemaEnv:s,validateName:o,opts:a,self:c}=n,{root:d}=s;if((r==="#"||r==="#/")&&i===d.baseId)return f();let u=ua.resolveRef.call(c,d,i,r);if(u===void 0)throw new Kf.default(n.opts.uriResolver,i,r);if(u instanceof ua.SchemaEnv)return m(u);return h(u);function f(){if(s===d)return Pr(t,o,s,s.$async);let g=e.scopeValue("root",{ref:d});return Pr(t,(0,ce._)`${g}.validate`,d,d.$async)}function m(g){let l=fa(t,g);Pr(t,l,g,g.$async)}function h(g){let l=e.scopeValue("schema",a.code.source===!0?{ref:g,code:(0,ce.stringify)(g)}:{ref:g}),p=e.name("valid"),y=t.subschema({schema:g,dataTypes:[],schemaPath:ce.nil,topSchemaRef:l,errSchemaPath:r},p);t.mergeEvaluated(y),t.ok(p)}}};function fa(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,ce._)`${r.scopeValue("wrapper",{ref:e})}.validate`}Be.getValidate=fa;function Pr(t,e,r,n){let{gen:i,it:s}=t,{allErrors:o,schemaEnv:a,opts:c}=s,d=c.passContext?lt.default.this:ce.nil;n?u():f();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let g=i.let("valid");i.try(()=>{i.code((0,ce._)`await ${(0,da.callValidateCode)(t,e,d)}`),h(e),o||i.assign(g,!0)},l=>{i.if((0,ce._)`!(${l} instanceof ${s.ValidationError})`,()=>i.throw(l)),m(l),o||i.assign(g,!1)}),t.ok(g)}function f(){t.result((0,da.callValidateCode)(t,e,d),()=>h(e),()=>m(e))}function m(g){let l=(0,ce._)`${g}.errors`;i.assign(lt.default.vErrors,(0,ce._)`${lt.default.vErrors} === null ? ${l} : ${lt.default.vErrors}.concat(${l})`),i.assign(lt.default.errors,(0,ce._)`${lt.default.vErrors}.length`)}function h(g){var l;if(!s.opts.unevaluated)return;let p=(l=r?.validate)===null||l===void 0?void 0:l.evaluated;if(s.props!==!0)if(p&&!p.dynamicProps)p.props!==void 0&&(s.props=kr.mergeEvaluated.props(i,p.props,s.props));else{let y=i.var("props",(0,ce._)`${g}.evaluated.props`);s.props=kr.mergeEvaluated.props(i,y,s.props,ce.Name)}if(s.items!==!0)if(p&&!p.dynamicItems)p.items!==void 0&&(s.items=kr.mergeEvaluated.items(i,p.items,s.items));else{let y=i.var("items",(0,ce._)`${g}.evaluated.items`);s.items=kr.mergeEvaluated.items(i,y,s.items,ce.Name)}}}Be.callRef=Pr;Be.default=Wf});var ma=R(li=>{"use strict";Object.defineProperty(li,"__esModule",{value:!0});var Bf=la(),Hf=pa(),Jf=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Bf.default,Hf.default];li.default=Jf});var ga=R(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});var Or=A(),De=Or.operators,Nr={maximum:{okStr:"<=",ok:De.LTE,fail:De.GT},minimum:{okStr:">=",ok:De.GTE,fail:De.LT},exclusiveMaximum:{okStr:"<",ok:De.LT,fail:De.GTE},exclusiveMinimum:{okStr:">",ok:De.GT,fail:De.LTE}},Gf={message:({keyword:t,schemaCode:e})=>(0,Or.str)`must be ${Nr[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,Or._)`{comparison: ${Nr[t].okStr}, limit: ${e}}`},Yf={keyword:Object.keys(Nr),type:"number",schemaType:"number",$data:!0,error:Gf,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,Or._)`${r} ${Nr[e].fail} ${n} || isNaN(${r})`)}};di.default=Yf});var ha=R(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});var zt=A(),Zf={message:({schemaCode:t})=>(0,zt.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,zt._)`{multipleOf: ${t}}`},Qf={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Zf,code(t){let{gen:e,data:r,schemaCode:n,it:i}=t,s=i.opts.multipleOfPrecision,o=e.let("res"),a=s?(0,zt._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,zt._)`${o} !== parseInt(${o})`;t.fail$data((0,zt._)`(${n} === 0 || (${o} = ${r}/${n}, ${a}))`)}};ui.default=Qf});var va=R(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});function ya(t){let e=t.length,r=0,n=0,i;for(;n<e;)r++,i=t.charCodeAt(n++),i>=55296&&i<=56319&&n<e&&(i=t.charCodeAt(n),(i&64512)===56320&&n++);return r}fi.default=ya;ya.code='require("ajv/dist/runtime/ucs2length").default'});var wa=R(pi=>{"use strict";Object.defineProperty(pi,"__esModule",{value:!0});var He=A(),Xf=D(),ep=va(),tp={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,He.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,He._)`{limit: ${t}}`},rp={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:tp,code(t){let{keyword:e,data:r,schemaCode:n,it:i}=t,s=e==="maxLength"?He.operators.GT:He.operators.LT,o=i.opts.unicode===!1?(0,He._)`${r}.length`:(0,He._)`${(0,Xf.useFunc)(t.gen,ep.default)}(${r})`;t.fail$data((0,He._)`${o} ${s} ${n}`)}};pi.default=rp});var Sa=R(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});var np=de(),ip=D(),dt=A(),sp={message:({schemaCode:t})=>(0,dt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,dt._)`{pattern: ${t}}`},op={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:sp,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:s,it:o}=t,a=o.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=o.opts.code,d=c.code==="new RegExp"?(0,dt._)`new RegExp`:(0,ip.useFunc)(e,c),u=e.let("valid");e.try(()=>e.assign(u,(0,dt._)`${d}(${s}, ${a}).test(${r})`),()=>e.assign(u,!1)),t.fail$data((0,dt._)`!${u}`)}else{let c=(0,np.usePattern)(t,i);t.fail$data((0,dt._)`!${c}.test(${r})`)}}};mi.default=op});var _a=R(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});var Ut=A(),ap={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,Ut.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,Ut._)`{limit: ${t}}`},cp={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:ap,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxProperties"?Ut.operators.GT:Ut.operators.LT;t.fail$data((0,Ut._)`Object.keys(${r}).length ${i} ${n}`)}};gi.default=cp});var $a=R(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});var Kt=de(),Wt=A(),lp=D(),dp={message:({params:{missingProperty:t}})=>(0,Wt.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,Wt._)`{missingProperty: ${t}}`},up={keyword:"required",type:"object",schemaType:"array",$data:!0,error:dp,code(t){let{gen:e,schema:r,schemaCode:n,data:i,$data:s,it:o}=t,{opts:a}=o;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(o.allErrors?d():u(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:g}=t.it;for(let l of r)if(h?.[l]===void 0&&!g.has(l)){let p=o.schemaEnv.baseId+o.errSchemaPath,y=`required property "${l}" is not defined at "${p}" (strictRequired)`;(0,lp.checkStrictMode)(o,y,o.opts.strictRequired)}}function d(){if(c||s)t.block$data(Wt.nil,f);else for(let h of r)(0,Kt.checkReportMissingProp)(t,h)}function u(){let h=e.let("missing");if(c||s){let g=e.let("valid",!0);t.block$data(g,()=>m(h,g)),t.ok(g)}else e.if((0,Kt.checkMissingProp)(t,r,h)),(0,Kt.reportMissingProp)(t,h),e.else()}function f(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,Kt.noPropertyInData)(e,i,h,a.ownProperties),()=>t.error())})}function m(h,g){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(g,(0,Kt.propertyInData)(e,i,h,a.ownProperties)),e.if((0,Wt.not)(g),()=>{t.error(),e.break()})},Wt.nil)}}};hi.default=up});var ba=R(yi=>{"use strict";Object.defineProperty(yi,"__esModule",{value:!0});var Bt=A(),fp={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,Bt.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,Bt._)`{limit: ${t}}`},pp={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:fp,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxItems"?Bt.operators.GT:Bt.operators.LT;t.fail$data((0,Bt._)`${r}.length ${i} ${n}`)}};yi.default=pp});var Cr=R(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});var Ra=Ln();Ra.code='require("ajv/dist/runtime/equal").default';vi.default=Ra});var Ia=R(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});var wi=jt(),Q=A(),mp=D(),gp=Cr(),hp={message:({params:{i:t,j:e}})=>(0,Q.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,Q._)`{i: ${t}, j: ${e}}`},yp={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:hp,code(t){let{gen:e,data:r,$data:n,schema:i,parentSchema:s,schemaCode:o,it:a}=t;if(!n&&!i)return;let c=e.let("valid"),d=s.items?(0,wi.getSchemaTypes)(s.items):[];t.block$data(c,u,(0,Q._)`${o} === false`),t.ok(c);function u(){let g=e.let("i",(0,Q._)`${r}.length`),l=e.let("j");t.setParams({i:g,j:l}),e.assign(c,!0),e.if((0,Q._)`${g} > 1`,()=>(f()?m:h)(g,l))}function f(){return d.length>0&&!d.some(g=>g==="object"||g==="array")}function m(g,l){let p=e.name("item"),y=(0,wi.checkDataTypes)(d,p,a.opts.strictNumbers,wi.DataType.Wrong),_=e.const("indices",(0,Q._)`{}`);e.for((0,Q._)`;${g}--;`,()=>{e.let(p,(0,Q._)`${r}[${g}]`),e.if(y,(0,Q._)`continue`),d.length>1&&e.if((0,Q._)`typeof ${p} == "string"`,(0,Q._)`${p} += "_"`),e.if((0,Q._)`typeof ${_}[${p}] == "number"`,()=>{e.assign(l,(0,Q._)`${_}[${p}]`),t.error(),e.assign(c,!1).break()}).code((0,Q._)`${_}[${p}] = ${g}`)})}function h(g,l){let p=(0,mp.useFunc)(e,gp.default),y=e.name("outer");e.label(y).for((0,Q._)`;${g}--;`,()=>e.for((0,Q._)`${l} = ${g}; ${l}--;`,()=>e.if((0,Q._)`${p}(${r}[${g}], ${r}[${l}])`,()=>{t.error(),e.assign(c,!1).break(y)})))}}};Si.default=yp});var Ea=R($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});var _i=A(),vp=D(),wp=Cr(),Sp={message:"must be equal to constant",params:({schemaCode:t})=>(0,_i._)`{allowedValue: ${t}}`},_p={keyword:"const",$data:!0,error:Sp,code(t){let{gen:e,data:r,$data:n,schemaCode:i,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,_i._)`!${(0,vp.useFunc)(e,wp.default)}(${r}, ${i})`):t.fail((0,_i._)`${s} !== ${r}`)}};$i.default=_p});var ka=R(bi=>{"use strict";Object.defineProperty(bi,"__esModule",{value:!0});var Ht=A(),$p=D(),bp=Cr(),Rp={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,Ht._)`{allowedValues: ${t}}`},Ip={keyword:"enum",schemaType:"array",$data:!0,error:Rp,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:s,it:o}=t;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let a=i.length>=o.opts.loopEnum,c,d=()=>c??(c=(0,$p.useFunc)(e,bp.default)),u;if(a||n)u=e.let("valid"),t.block$data(u,f);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let h=e.const("vSchema",s);u=(0,Ht.or)(...i.map((g,l)=>m(h,l)))}t.pass(u);function f(){e.assign(u,!1),e.forOf("v",s,h=>e.if((0,Ht._)`${d()}(${r}, ${h})`,()=>e.assign(u,!0).break()))}function m(h,g){let l=i[g];return typeof l=="object"&&l!==null?(0,Ht._)`${d()}(${r}, ${h}[${g}])`:(0,Ht._)`${r} === ${l}`}}};bi.default=Ip});var Pa=R(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});var Ep=ga(),kp=ha(),Pp=wa(),Op=Sa(),Np=_a(),Cp=$a(),jp=ba(),Ap=Ia(),Tp=Ea(),Mp=ka(),xp=[Ep.default,kp.default,Pp.default,Op.default,Np.default,Cp.default,jp.default,Ap.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Tp.default,Mp.default];Ri.default=xp});var Ei=R(Jt=>{"use strict";Object.defineProperty(Jt,"__esModule",{value:!0});Jt.validateAdditionalItems=void 0;var Je=A(),Ii=D(),Dp={message:({params:{len:t}})=>(0,Je.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Je._)`{limit: ${t}}`},Vp={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Dp,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,Ii.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Oa(t,n)}};function Oa(t,e){let{gen:r,schema:n,data:i,keyword:s,it:o}=t;o.items=!0;let a=r.const("len",(0,Je._)`${i}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,Je._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,Ii.alwaysValidSchema)(o,n)){let d=r.var("valid",(0,Je._)`${a} <= ${e.length}`);r.if((0,Je.not)(d),()=>c(d)),t.ok(d)}function c(d){r.forRange("i",e.length,a,u=>{t.subschema({keyword:s,dataProp:u,dataPropType:Ii.Type.Num},d),o.allErrors||r.if((0,Je.not)(d),()=>r.break())})}}Jt.validateAdditionalItems=Oa;Jt.default=Vp});var ki=R(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.validateTuple=void 0;var Na=A(),jr=D(),qp=de(),Fp={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Ca(t,"additionalItems",e);r.items=!0,!(0,jr.alwaysValidSchema)(r,e)&&t.ok((0,qp.validateArray)(t))}};function Ca(t,e,r=t.schema){let{gen:n,parentSchema:i,data:s,keyword:o,it:a}=t;u(i),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=jr.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),d=n.const("len",(0,Na._)`${s}.length`);r.forEach((f,m)=>{(0,jr.alwaysValidSchema)(a,f)||(n.if((0,Na._)`${d} > ${m}`,()=>t.subschema({keyword:o,schemaProp:m,dataProp:m},c)),t.ok(c))});function u(f){let{opts:m,errSchemaPath:h}=a,g=r.length,l=g===f.minItems&&(g===f.maxItems||f[e]===!1);if(m.strictTuples&&!l){let p=`"${o}" is ${g}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,jr.checkStrictMode)(a,p,m.strictTuples)}}}Gt.validateTuple=Ca;Gt.default=Fp});var ja=R(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});var Lp=ki(),zp={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,Lp.validateTuple)(t,"items")};Pi.default=zp});var Ta=R(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});var Aa=A(),Up=D(),Kp=de(),Wp=Ei(),Bp={message:({params:{len:t}})=>(0,Aa.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Aa._)`{limit: ${t}}`},Hp={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Bp,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:i}=r;n.items=!0,!(0,Up.alwaysValidSchema)(n,e)&&(i?(0,Wp.validateAdditionalItems)(t,i):t.ok((0,Kp.validateArray)(t)))}};Oi.default=Hp});var Ma=R(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});var fe=A(),Ar=D(),Jp={message:({params:{min:t,max:e}})=>e===void 0?(0,fe.str)`must contain at least ${t} valid item(s)`:(0,fe.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,fe._)`{minContains: ${t}}`:(0,fe._)`{minContains: ${t}, maxContains: ${e}}`},Gp={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Jp,code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:s}=t,o,a,{minContains:c,maxContains:d}=n;s.opts.next?(o=c===void 0?1:c,a=d):o=1;let u=e.const("len",(0,fe._)`${i}.length`);if(t.setParams({min:o,max:a}),a===void 0&&o===0){(0,Ar.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,Ar.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Ar.alwaysValidSchema)(s,r)){let l=(0,fe._)`${u} >= ${o}`;a!==void 0&&(l=(0,fe._)`${l} && ${u} <= ${a}`),t.pass(l);return}s.items=!0;let f=e.name("valid");a===void 0&&o===1?h(f,()=>e.if(f,()=>e.break())):o===0?(e.let(f,!0),a!==void 0&&e.if((0,fe._)`${i}.length > 0`,m)):(e.let(f,!1),m()),t.result(f,()=>t.reset());function m(){let l=e.name("_valid"),p=e.let("count",0);h(l,()=>e.if(l,()=>g(p)))}function h(l,p){e.forRange("i",0,u,y=>{t.subschema({keyword:"contains",dataProp:y,dataPropType:Ar.Type.Num,compositeRule:!0},l),p()})}function g(l){e.code((0,fe._)`${l}++`),a===void 0?e.if((0,fe._)`${l} >= ${o}`,()=>e.assign(f,!0).break()):(e.if((0,fe._)`${l} > ${a}`,()=>e.assign(f,!1).break()),o===1?e.assign(f,!0):e.if((0,fe._)`${l} >= ${o}`,()=>e.assign(f,!0)))}}};Ni.default=Gp});var Va=R($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.validateSchemaDeps=$e.validatePropertyDeps=$e.error=void 0;var Ci=A(),Yp=D(),Yt=de();$e.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,Ci.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,Ci._)`{property: ${t},
|
|
7
|
+
missingProperty: ${n},
|
|
8
|
+
depsCount: ${e},
|
|
9
|
+
deps: ${r}}`};var Zp={keyword:"dependencies",type:"object",schemaType:"object",error:$e.error,code(t){let[e,r]=Qp(t);xa(t,e),Da(t,r)}};function Qp({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let i=Array.isArray(t[n])?e:r;i[n]=t[n]}return[e,r]}function xa(t,e=t.schema){let{gen:r,data:n,it:i}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,Yt.propertyInData)(r,n,o,i.opts.ownProperties);t.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),i.allErrors?r.if(c,()=>{for(let d of a)(0,Yt.checkReportMissingProp)(t,d)}):(r.if((0,Ci._)`${c} && (${(0,Yt.checkMissingProp)(t,a,s)})`),(0,Yt.reportMissingProp)(t,s),r.else())}}$e.validatePropertyDeps=xa;function Da(t,e=t.schema){let{gen:r,data:n,keyword:i,it:s}=t,o=r.name("valid");for(let a in e)(0,Yp.alwaysValidSchema)(s,e[a])||(r.if((0,Yt.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:a},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}$e.validateSchemaDeps=Da;$e.default=Zp});var Fa=R(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});var qa=A(),Xp=D(),em={message:"property name must be valid",params:({params:t})=>(0,qa._)`{propertyName: ${t.propertyName}}`},tm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:em,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,Xp.alwaysValidSchema)(i,r))return;let s=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),e.if((0,qa.not)(s),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(s)}};ji.default=tm});var Ti=R(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});var Tr=de(),he=A(),rm=Ee(),Mr=D(),nm={message:"must NOT have additional properties",params:({params:t})=>(0,he._)`{additionalProperty: ${t.additionalProperty}}`},im={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:nm,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,Mr.alwaysValidSchema)(o,r))return;let d=(0,Tr.allSchemaProperties)(n.properties),u=(0,Tr.allSchemaProperties)(n.patternProperties);f(),t.ok((0,he._)`${s} === ${rm.default.errors}`);function f(){e.forIn("key",i,p=>{!d.length&&!u.length?g(p):e.if(m(p),()=>g(p))})}function m(p){let y;if(d.length>8){let _=(0,Mr.schemaRefOrVal)(o,n.properties,"properties");y=(0,Tr.isOwnProperty)(e,_,p)}else d.length?y=(0,he.or)(...d.map(_=>(0,he._)`${p} === ${_}`)):y=he.nil;return u.length&&(y=(0,he.or)(y,...u.map(_=>(0,he._)`${(0,Tr.usePattern)(t,_)}.test(${p})`))),(0,he.not)(y)}function h(p){e.code((0,he._)`delete ${i}[${p}]`)}function g(p){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(p);return}if(r===!1){t.setParams({additionalProperty:p}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,Mr.alwaysValidSchema)(o,r)){let y=e.name("valid");c.removeAdditional==="failing"?(l(p,y,!1),e.if((0,he.not)(y),()=>{t.reset(),h(p)})):(l(p,y),a||e.if((0,he.not)(y),()=>e.break()))}}function l(p,y,_){let $={keyword:"additionalProperties",dataProp:p,dataPropType:Mr.Type.Str};_===!1&&Object.assign($,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema($,y)}}};Ai.default=im});var Ua=R(xi=>{"use strict";Object.defineProperty(xi,"__esModule",{value:!0});var sm=xt(),La=de(),Mi=D(),za=Ti(),om={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&za.default.code(new sm.KeywordCxt(s,za.default,"additionalProperties"));let o=(0,La.allSchemaProperties)(r);for(let f of o)s.definedProperties.add(f);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=Mi.mergeEvaluated.props(e,(0,Mi.toHash)(o),s.props));let a=o.filter(f=>!(0,Mi.alwaysValidSchema)(s,r[f]));if(a.length===0)return;let c=e.name("valid");for(let f of a)d(f)?u(f):(e.if((0,La.propertyInData)(e,i,f,s.opts.ownProperties)),u(f),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(f),t.ok(c);function d(f){return s.opts.useDefaults&&!s.compositeRule&&r[f].default!==void 0}function u(f){t.subschema({keyword:"properties",schemaProp:f,dataProp:f},c)}}};xi.default=om});var Ha=R(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});var Ka=de(),xr=A(),Wa=D(),Ba=D(),am={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:s}=t,{opts:o}=s,a=(0,Ka.allSchemaProperties)(r),c=a.filter(l=>(0,Wa.alwaysValidSchema)(s,r[l]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let d=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof xr.Name)&&(s.props=(0,Ba.evaluatedPropsToName)(e,s.props));let{props:f}=s;m();function m(){for(let l of a)d&&h(l),s.allErrors?g(l):(e.var(u,!0),g(l),e.if(u))}function h(l){for(let p in d)new RegExp(l).test(p)&&(0,Wa.checkStrictMode)(s,`property ${p} matches pattern ${l} (use allowMatchingProperties)`)}function g(l){e.forIn("key",n,p=>{e.if((0,xr._)`${(0,Ka.usePattern)(t,l)}.test(${p})`,()=>{let y=c.includes(l);y||t.subschema({keyword:"patternProperties",schemaProp:l,dataProp:p,dataPropType:Ba.Type.Str},u),s.opts.unevaluated&&f!==!0?e.assign((0,xr._)`${f}[${p}]`,!0):!y&&!s.allErrors&&e.if((0,xr.not)(u),()=>e.break())})})}}};Di.default=am});var Ja=R(Vi=>{"use strict";Object.defineProperty(Vi,"__esModule",{value:!0});var cm=D(),lm={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,cm.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};Vi.default=lm});var Ga=R(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});var dm=de(),um={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:dm.validateUnion,error:{message:"must match a schema in anyOf"}};qi.default=um});var Ya=R(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});var Dr=A(),fm=D(),pm={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Dr._)`{passingSchemas: ${t.passing}}`},mm={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:pm,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let s=r,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(d),t.result(o,()=>t.reset(),()=>t.error(!0));function d(){s.forEach((u,f)=>{let m;(0,fm.alwaysValidSchema)(i,u)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:f,compositeRule:!0},c),f>0&&e.if((0,Dr._)`${c} && ${o}`).assign(o,!1).assign(a,(0,Dr._)`[${a}, ${f}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,f),m&&t.mergeEvaluated(m,Dr.Name)})})}}};Fi.default=mm});var Za=R(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});var gm=D(),hm={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 i=e.name("valid");r.forEach((s,o)=>{if((0,gm.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(a)})}};Li.default=hm});var ec=R(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});var Vr=A(),Xa=D(),ym={message:({params:t})=>(0,Vr.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Vr._)`{failingKeyword: ${t.ifClause}}`},vm={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ym,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Xa.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=Qa(n,"then"),s=Qa(n,"else");if(!i&&!s)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),i&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,d("then",u),d("else",u))}else i?e.if(a,d("then")):e.if((0,Vr.not)(a),d("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function d(u,f){return()=>{let m=t.subschema({keyword:u},a);e.assign(o,a),t.mergeValidEvaluated(m,o),f?e.assign(f,(0,Vr._)`${u}`):t.setParams({ifClause:u})}}}};function Qa(t,e){let r=t.schema[e];return r!==void 0&&!(0,Xa.alwaysValidSchema)(t,r)}zi.default=vm});var tc=R(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});var wm=D(),Sm={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,wm.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ui.default=Sm});var rc=R(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});var _m=Ei(),$m=ja(),bm=ki(),Rm=Ta(),Im=Ma(),Em=Va(),km=Fa(),Pm=Ti(),Om=Ua(),Nm=Ha(),Cm=Ja(),jm=Ga(),Am=Ya(),Tm=Za(),Mm=ec(),xm=tc();function Dm(t=!1){let e=[Cm.default,jm.default,Am.default,Tm.default,Mm.default,xm.default,km.default,Pm.default,Em.default,Om.default,Nm.default];return t?e.push($m.default,Rm.default):e.push(_m.default,bm.default),e.push(Im.default),e}Ki.default=Dm});var nc=R(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});var J=A(),Vm={message:({schemaCode:t})=>(0,J.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,J._)`{format: ${t}}`},qm={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Vm,code(t,e){let{gen:r,data:n,$data:i,schema:s,schemaCode:o,it:a}=t,{opts:c,errSchemaPath:d,schemaEnv:u,self:f}=a;if(!c.validateFormats)return;i?m():h();function m(){let g=r.scopeValue("formats",{ref:f.formats,code:c.code.formats}),l=r.const("fDef",(0,J._)`${g}[${o}]`),p=r.let("fType"),y=r.let("format");r.if((0,J._)`typeof ${l} == "object" && !(${l} instanceof RegExp)`,()=>r.assign(p,(0,J._)`${l}.type || "string"`).assign(y,(0,J._)`${l}.validate`),()=>r.assign(p,(0,J._)`"string"`).assign(y,l)),t.fail$data((0,J.or)(_(),$()));function _(){return c.strictSchema===!1?J.nil:(0,J._)`${o} && !${y}`}function $(){let w=u.$async?(0,J._)`(${l}.async ? await ${y}(${n}) : ${y}(${n}))`:(0,J._)`${y}(${n})`,S=(0,J._)`(typeof ${y} == "function" ? ${w} : ${y}.test(${n}))`;return(0,J._)`${y} && ${y} !== true && ${p} === ${e} && !${S}`}}function h(){let g=f.formats[s];if(!g){_();return}if(g===!0)return;let[l,p,y]=$(g);l===e&&t.pass(w());function _(){if(c.strictSchema===!1){f.logger.warn(S());return}throw new Error(S());function S(){return`unknown format "${s}" ignored in schema at path "${d}"`}}function $(S){let v=S instanceof RegExp?(0,J.regexpCode)(S):c.code.formats?(0,J._)`${c.code.formats}${(0,J.getProperty)(s)}`:void 0,b=r.scopeValue("formats",{key:s,ref:S,code:v});return typeof S=="object"&&!(S instanceof RegExp)?[S.type||"string",S.validate,(0,J._)`${b}.validate`]:["string",S,b]}function w(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!u.$async)throw new Error("async format in sync schema");return(0,J._)`await ${y}(${n})`}return typeof p=="function"?(0,J._)`${y}(${n})`:(0,J._)`${y}.test(${n})`}}}};Wi.default=qm});var ic=R(Bi=>{"use strict";Object.defineProperty(Bi,"__esModule",{value:!0});var Fm=nc(),Lm=[Fm.default];Bi.default=Lm});var sc=R(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.contentVocabulary=ut.metadataVocabulary=void 0;ut.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ut.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var ac=R(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});var zm=ma(),Um=Pa(),Km=rc(),Wm=ic(),oc=sc(),Bm=[zm.default,Um.default,(0,Km.default)(),Wm.default,oc.metadataVocabulary,oc.contentVocabulary];Hi.default=Bm});var lc=R(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.DiscrError=void 0;var cc;(function(t){t.Tag="tag",t.Mapping="mapping"})(cc||(qr.DiscrError=cc={}))});var uc=R(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});var ft=A(),Ji=lc(),dc=Sr(),Hm=Dt(),Jm=D(),Gm={message:({params:{discrError:t,tagName:e}})=>t===Ji.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,ft._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Ym={keyword:"discriminator",type:"object",schemaType:"object",error:Gm,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:s}=t,{oneOf:o}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),d=e.const("tag",(0,ft._)`${r}${(0,ft.getProperty)(a)}`);e.if((0,ft._)`typeof ${d} == "string"`,()=>u(),()=>t.error(!1,{discrError:Ji.DiscrError.Tag,tag:d,tagName:a})),t.ok(c);function u(){let h=m();e.if(!1);for(let g in h)e.elseIf((0,ft._)`${d} === ${g}`),e.assign(c,f(h[g]));e.else(),t.error(!1,{discrError:Ji.DiscrError.Mapping,tag:d,tagName:a}),e.endIf()}function f(h){let g=e.name("valid"),l=t.subschema({keyword:"oneOf",schemaProp:h},g);return t.mergeEvaluated(l,ft.Name),g}function m(){var h;let g={},l=y(i),p=!0;for(let w=0;w<o.length;w++){let S=o[w];if(S?.$ref&&!(0,Jm.schemaHasRulesButRef)(S,s.self.RULES)){let b=S.$ref;if(S=dc.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,b),S instanceof dc.SchemaEnv&&(S=S.schema),S===void 0)throw new Hm.default(s.opts.uriResolver,s.baseId,b)}let v=(h=S?.properties)===null||h===void 0?void 0:h[a];if(typeof v!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);p=p&&(l||y(S)),_(v,w)}if(!p)throw new Error(`discriminator: "${a}" must be required`);return g;function y({required:w}){return Array.isArray(w)&&w.includes(a)}function _(w,S){if(w.const)$(w.const,S);else if(w.enum)for(let v of w.enum)$(v,S);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function $(w,S){if(typeof w!="string"||w in g)throw new Error(`discriminator: "${a}" values must be unique strings`);g[w]=S}}}};Gi.default=Ym});var fc=R((Oy,Zm)=>{Zm.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:!0,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:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},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:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},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:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},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:!0}});var mc=R((B,Yi)=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.MissingRefError=B.ValidationError=B.CodeGen=B.Name=B.nil=B.stringify=B.str=B._=B.KeywordCxt=B.Ajv=void 0;var Qm=ca(),Xm=ac(),eg=uc(),pc=fc(),tg=["/properties"],Fr="http://json-schema.org/draft-07/schema",pt=class extends Qm.default{_addVocabularies(){super._addVocabularies(),Xm.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(eg.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(pc,tg):pc;this.addMetaSchema(e,Fr,!1),this.refs["http://json-schema.org/schema"]=Fr}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Fr)?Fr:void 0)}};B.Ajv=pt;Yi.exports=B=pt;Yi.exports.Ajv=pt;Object.defineProperty(B,"__esModule",{value:!0});B.default=pt;var rg=xt();Object.defineProperty(B,"KeywordCxt",{enumerable:!0,get:function(){return rg.KeywordCxt}});var mt=A();Object.defineProperty(B,"_",{enumerable:!0,get:function(){return mt._}});Object.defineProperty(B,"str",{enumerable:!0,get:function(){return mt.str}});Object.defineProperty(B,"stringify",{enumerable:!0,get:function(){return mt.stringify}});Object.defineProperty(B,"nil",{enumerable:!0,get:function(){return mt.nil}});Object.defineProperty(B,"Name",{enumerable:!0,get:function(){return mt.Name}});Object.defineProperty(B,"CodeGen",{enumerable:!0,get:function(){return mt.CodeGen}});var ng=vr();Object.defineProperty(B,"ValidationError",{enumerable:!0,get:function(){return ng.default}});var ig=Dt();Object.defineProperty(B,"MissingRefError",{enumerable:!0,get:function(){return ig.default}})});import{existsSync as Ss}from"fs";import{readFileSync as Pg}from"fs";import{readdir as Og}from"fs/promises";import Br from"path";import{z as I}from"zod";var Pe=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/,Lc=I.object({cardType:I.string(),schemaVersion:I.number().optional()}),Gr=I.object({route:I.string(),component:I.string()}),Yr=I.object({route:I.string(),label:I.string().optional(),icon:I.string().optional(),order:I.number().optional()}),Zr=I.object({id:I.string(),range:I.string().optional(),required:I.boolean().default(!0)}),Qr=I.object({service:I.string(),provider:I.string().regex(Pe,"provider 名含非法字符(需 /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/)"),implementation:I.string(),credentialType:I.string(),local:I.boolean().optional(),configSchema:I.string().optional(),credentialSchema:I.string().optional()}),Xr=I.object({service:I.string(),optional:I.boolean().default(!0),defaults:I.array(I.object({provider:I.string().regex(Pe,"provider 名含非法字符(需 /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/)"),implementation:I.string()})).default([]),title:I.string().optional(),description:I.string().optional()}),en=I.object({id:I.string(),type:I.string()}),tn=I.object({schemaVersion:I.number().default(1),name:I.string(),version:I.string().default("0.0.0"),kind:I.enum(["platform","business","third-party"]).default("business"),risk:I.object({level:I.enum(["high","medium","low"]).default("low"),writeBoundary:I.enum(["sdk-enforced","source"]).default("source")}).default({}),distribution:I.object({defaultMode:I.enum(["hybrid","sdk","codegen","local"]).default("codegen")}).default({}),contributes:I.object({handlers:I.array(I.string()).default([]),tools:I.array(I.string()).default([]),cards:I.array(Lc).default([]),routes:I.array(I.string()).default([]),pages:I.array(Gr).default([]),tabs:I.array(Yr).default([]),providers:I.object({slots:I.array(Qr).default([])}).default({}),services:I.array(Xr).default([]),resources:I.array(en).default([])}).default({}),dependencies:I.object({modules:I.array(Zr).default([])}).default({}),env:I.array(I.string()).default([])}).strict();function Oe(t){let e=tn.safeParse(t);return e.success?{ok:!0,value:e.data}:{ok:!1,errors:e.error.issues.map(r=>`${r.path.join(".")||"(root)"}: ${r.message}`)}}var zc=/\$\$?\{([A-Z][A-Z0-9_]*)\}/g;function Uc(t){return JSON.stringify(t).slice(1,-1)}function Kc(t,e=process.env){let r=[],n=t.replace(zc,(i,s)=>{if(i.startsWith("$$"))return i.slice(1);let o=e[s];return o===void 0?(r.push(s),i):Uc(o)});return r.length>0?{missing:r}:{text:n,missing:[]}}import{mkdirSync as Wc,existsSync as _s,readFileSync as Bc,writeFileSync as Hc}from"fs";import{dirname as Jc,join as $s}from"path";function er(t){let e={};for(let[r,n]of Object.entries(t)){if(typeof n!="string"){e[r]=null;continue}e[r]=n.length<=4?"****":`${n.slice(0,2)}****`}return e}var C=class extends Error{code;httpStatus;fields;constructor(e,r,n,i){super(n),this.name="AppToolkitError",this.code=e,this.httpStatus=r,this.fields=i}};function rn(t){return t.notes.length>0?t.notes[0]:t.version===null?"contracts 不可解析(未安装)——检查应用依赖安装后重试":t.strictValidation?"contracts workspace 源码态未构建——执行 pnpm --filter @tbox.cn/app-contracts build 后重试":`contracts ${t.version} 无严格校验面(需 ≥0.9.0)——升级应用 @tbox.cn/app-contracts 依赖后可用`}function tr(t,e){if(e!==void 0&&(e.includes("/")||e.includes("\\")||e.includes("..")))throw new C("VALIDATION_FAILED",400,`凭据 stem 派生输入含路径敌对字符(${t})——拒绝派生`)}function Ze(t){if(tr("provider",t.provider),tr("service",t.service),tr("instanceId",t.instanceId),tr("domain",t.domain),t.instanceId!==void 0){let e=t.domain??t.service??"global";return`${t.provider}-${t.instanceId}-${e}`}return t.service!==void 0?`${t.provider}-${t.service}`:`${t.provider}-global`}function ye(t){return`config/credentials/${t}.json`}function vt(t,e){let r=$s(t,ye(e));if(!_s(r))return null;try{let n=JSON.parse(Bc(r,"utf8"));if(typeof n.type!="string")return null;let{type:i,...s}=n,o={};for(let[a,c]of Object.entries(s))typeof c=="string"&&(o[a]=c);return{type:i,values:o}}catch{return null}}function nn(t,e,r){let n=$s(t,ye(e)),i=_s(n);return Wc(Jc(n),{recursive:!0}),Hc(n,`${JSON.stringify({type:r.type,...r.values},null,2)}
|
|
10
|
+
`,"utf8"),i}import{mkdirSync as Gc,renameSync as Yc,writeFileSync as Zc}from"fs";import{dirname as Qc}from"path";function be(t,e){bs(Qc(t));let r=`${t}.tmp-${process.pid}-${Date.now()}`;Zc(r,e,"utf8"),Yc(r,t)}function bs(t){Gc(t,{recursive:!0})}function Ne(t){let e=t.indexOf(".");return e===-1?t:t.slice(0,e)}function ve(t,e){let r=t?.domains?.[e]?.provider;if(typeof r=="string"&&r.length>0)return{provider:r,layer:"module"};let n=t?.provider;return typeof n=="string"&&n.length>0?{provider:n,layer:"app"}:{provider:null,layer:null}}function Qe(t,e){let r=[...new Set((e.descriptor.contributes.services??[]).map(s=>Ne(s.service)))].sort();if(r.length===0)return{writable:!1,reason:"zero-domain",domainKeys:[]};if(r.length>1)return{writable:!1,reason:"multi-domain",domainKeys:r};let n=r[0],i=new Set;for(let[s,o]of Object.entries(t.catalog.services))if(Ne(s)===n)for(let a of o.owners)i.add(a);return i.size>1?{writable:!1,reason:"shared-key",domainKeys:[n],domainKey:n,coOwners:[...i].sort()}:{writable:!0,domainKeys:[n],domainKey:n}}function Rs(t,e){let r=t.find(n=>n.pkg===e||`@app/${n.id}`===e);return r?r.id:e.startsWith("@app/")?e.slice(5):e}function Is(t,e){return[...new Set(Object.values(t.providers[e]??{}).flatMap(r=>r.services))].sort()}function St(t){if(!t||typeof t!="object")return!1;let e=Object.keys(t),r=new Set(["provider","credentialType","configSchema"]);if(!e.every(i=>r.has(i)))return!1;let n=t;return typeof n.provider=="string"&&n.provider.length>0&&typeof n.credentialType=="string"&&n.credentialType.length>0&&(n.configSchema===void 0||typeof n.configSchema=="string")}function Es(t,e,r){return t==="*"||r.has(t)?null:{severity:"error",code:"INSTANCE_KEY_NOT_REGISTERED",instance:t,message:`integrations: ${e} 键 ${t} 不在 malls 白名单内(${[...r].join(", ")})`}}function sn(t,e){let r=new Set(e),n=[],i=(s,o)=>{let a=Es(s,o,r);a&&n.push(a)};for(let s of Object.keys(t.configByInstance??{}))i(s,"configByInstance");for(let s of Object.keys(t.credentialRefByInstance??{}))i(s,"credentialRefByInstance");for(let[s,o]of Object.entries(t.services??{}))for(let a of Object.keys(o.instances??{}))i(a,`services.${s}.instances`);return n}function rr(t){let e=[],r=t.contracts,{integrations:n,suppliedProviders:i,demandedServices:s,supplies:o,malls:a,credentialSchemaMissing:c,vendorConfigKeys:d,vendorConfigSchemaMissing:u,credentialFileMissing:f,credentialFileType:m,realmSwitchHints:h,moduleResourceNeeds:g}=t,l=a?new Set(a):void 0;for(let v of h??[])e.push({severity:"warning",code:"REALM_SWITCH_HINT",message:v});let p=new Set(Object.keys(i).map(v=>v.slice(0,v.indexOf("\0"))).filter(v=>v.length>0)),y=(v,b,O,E)=>{if(typeof O?.provider=="string"&&typeof O.implementation=="string"&&O.provider&&O.implementation)return i[wt(O.provider,O.implementation)]?.credentialType;if(typeof b.provider=="string"&&typeof b.implementation=="string")return i[wt(b.provider,b.implementation)]?.credentialType;let M=b.provider?.credentialType;if(typeof M=="string")return M;if(!o)return;let L=E??Object.keys(b.instances??{})[0]??"",F=r.resolveEffectiveService(n,v,L,o);if(!(F.status!=="ok"||typeof F.effective.provider!="string"))return i[wt(F.effective.provider,F.effective.implementation)]?.credentialType};if(f||m)for(let[v,b]of Object.entries(n.services))for(let[O,E]of Object.entries(b.instances??{})){if(E.enabled===!1)continue;let M=E.credentialRef??b.credentialRef??n.credentialRefByInstance?.[O]??n.credentialRef;if(typeof M!="string"||!M.startsWith("secret://"))continue;let L=M.slice(9);f?.[L]===!0&&e.push({severity:"error",code:"CREDENTIAL_FILE_MISSING",service:v,instance:O,message:`integrations: 凭据文件缺失 ${L}(${v}@${O} effective ref=${M};档内 config/credentials/ 无此文件)`});let F=m?.[L];if(F){let H=y(v,b,E,O);H&&F!==H&&e.push({severity:"error",code:"CREDENTIAL_TYPE_MISMATCH",service:v,instance:O,message:`integrations: 凭据文件 ${L}.json type=${F} 与绑定 credentialType ${H} 不一致(${v}@${O}——transport 创建期将按 type 选策略)`})}}let _=(v,b)=>{if(!l)return;let O=Es(v,b,l);O&&e.push(O)};for(let[v]of Object.entries(n.configByInstance??{}))_(v,"configByInstance");for(let[v]of Object.entries(n.credentialRefByInstance??{}))_(v,"credentialRefByInstance");let $=Object.entries(n.services).filter(([,v])=>v.instances==null||v.instances["*"]!=null).map(([v])=>v);if($.length>0){let v=Object.entries(n.services).filter(([,b])=>b.instances!=null&&b.instances["*"]==null).map(([b])=>b);v.length>0&&e.push({severity:"warning",code:"WILDCARD_ALIGNMENT",message:`integrations: 激活形态不对称(通配:${$.join(", ")};显式键集:${v.join(", ")})——动态 mallId 将在显式键集槽上 INSTANCE_NOT_FOUND(provider 业务限制表达位),确认是否齐步`})}let w=r.normalizeInstances({instances:n.instances,defaultInstanceId:n.defaultInstanceId});w.instances.length>=2&&w.defaultInstanceId===null&&e.push({severity:"warning",code:"MULTI_INSTANCE_NO_DEFAULT",message:`integrations: ${w.instances.length} 个部署实例(${w.instances.map(v=>v.id).join(", ")})均无 defaultInstanceId——无 scope 参数访问将落全局会话(默认商圈不注入)`});for(let[v,b]of Object.entries(n.services)){if(s[v]||e.push({severity:"warning",code:"SLOT_NOT_DECLARED",service:v,message:`integrations: 服务槽 ${v} 无消费方声明(拼写错误或需求方未安装)——若为拆分前旧槽位词汇(member.main/parking.main/promotion.read/shopping-guide.main),参照 cookbook·app-config 槽位迁移配方展开为新槽`}),typeof b.provider=="string"?typeof b.implementation=="string"&&!i[wt(b.provider,b.implementation)]&&e.push({severity:"error",code:"INSTANCE_SUPPLY_UNMATCHED",service:v,message:`integrations: provider ${b.provider}/${b.implementation} 未命中已装供给(${v} 槽级)——装对应 provider 包或改绑`}):b.provider!==void 0&&!St(b.provider)&&e.push({severity:"error",code:"INLINE_PROVIDER_INVALID",service:v,message:`integrations: 内联 provider 超受控形状(${v} 槽级;允许键 provider/credentialType/configSchema)`}),c){let E=y(v,b);E&&c[E]===!0&&e.push({severity:"error",code:"SCHEMA_FILE_MISSING",service:v,message:`integrations: credentialType ${E} 的 schema 引用不存在(${v};manifest 声明指向缺失文件)`})}typeof b.provider=="object"&&typeof b.implementation!="string"&&e.push({severity:"error",code:"IMPL_WITHOUT_PROVIDER",service:v,message:`integrations: 内联厂商声明必须同时提供 implementation(${v} 槽级)`});for(let[E,M]of Object.entries(b.instances??{})){_(E,`services.${v}.instances`);let L=M.provider!==void 0,F=M.implementation!==void 0;if(F&&!L&&e.push({severity:"error",code:"IMPL_WITHOUT_PROVIDER",service:v,instance:E,message:`integrations: 实例级 implementation 需伴随 provider(${v}@${E}——impl-only 禁止,provider 是绑定组头)`}),L&&F){let H=M.provider,ie=M.implementation;typeof H=="string"&&typeof ie=="string"?i[wt(H,ie)]||e.push({severity:"error",code:"INSTANCE_SUPPLY_UNMATCHED",service:v,instance:E,message:`integrations: 实例级 provider 覆盖 ${H}/${ie} 未命中已装供给(${v}@${E})`}):St(H)||e.push({severity:"error",code:"INLINE_PROVIDER_INVALID",service:v,instance:E,message:`integrations: 实例级内联 provider 超受控形状(${v}@${E})`})}}}for(let[v,b]of[["root",n.provider],...Object.entries(n.domains??{}).map(([O,E])=>[`domains.${O}`,E?.provider])])typeof b!="string"||b.length===0||p.has(b)||e.push({severity:"error",code:"VENDOR_NOT_INSTALLED",module:v.startsWith("domains.")?v.slice(8):void 0,message:`integrations: ${v} provider ${b} 未命中已装供给——装对应 provider 包或 provider use 改绑`});if(o)for(let[v,b]of Object.entries(n.services)){let O=b.instances?Object.keys(b.instances):[""];for(let E of O){let M=r.resolveEffectiveService(n,v,E,o);M.status==="binding-unresolved"&&e.push({severity:"error",code:"BINDING_UNRESOLVED",service:v,instance:E||void 0,message:`integrations: ${M.message}`})}}for(let[v,b]of Object.entries(n.services))b.implementation!==void 0&&b.provider===void 0&&e.push({severity:"error",code:"IMPL_WITHOUT_PROVIDER",service:v,message:`integrations: 槽级 implementation 需伴随 provider(${v}——impl-only 禁止,provider 是绑定组头)`});let S=new Set([...Object.keys(n.services).map(v=>r.moduleDomainOf(v)),...Object.keys(s).map(v=>r.moduleDomainOf(v))]);for(let v of Object.keys(n.domains??{}))S.has(v)||e.push({severity:"warning",code:"DOMAIN_KEY_UNMATCHED",module:v,message:`integrations: domains.${v} 无对应槽位或需求声明(域前缀拼写错误?——键 = 槽位 id 点分前缀)`});if(d){let v=new Set,b=!1,O=E=>{typeof E!="string"||E.length===0||(d[E]&&v.add(E),!d[E]&&!u?.[E]&&(b=!0),u?.[E]&&(b=!0))};O(n.provider);for(let E of Object.values(n.domains??{}))O(E?.provider);for(let E of Object.values(n.services)){let M=E.provider;O(typeof E.provider=="string"?E.provider:M?.provider)}if(v.size>0&&!b){let E=new Set;for(let L of v)for(let F of d[L]??[])E.add(F);let M=(L,F,H)=>{for(let[ie]of Object.entries(L??{}))(H??E).has(ie)||e.push({severity:"error",code:"DOMAIN_CONFIG_INVALID",message:`integrations: ${F} 键 ${ie} 不在引用厂商(${[...v].join("/")})任何槽 schema properties 内(死配置)`})};M(n.config,"root.config");for(let[L,F]of Object.entries(n.configByInstance??{}))M(F,`root.configByInstance[${L}]`);for(let[L,F]of Object.entries(n.domains??{})){if(!F?.config)continue;let H=ve(n,L).provider??void 0;if(H===void 0){M(F.config,`domains.${L}.config`);continue}let ie=d[H];!ie||u?.[H]||M(F.config,`domains.${L}.config`,new Set(ie))}}}for(let[v,b]of Object.entries(s)){let O=n.services[v];if(!O){e.push({severity:"warning",code:"SLOT_NOT_CONFIGURED",service:v,message:`integrations: 服务槽 ${v}(需求方 ${b.owners.join(", ")})未配置${b.optional?"(可选槽)":"(必需槽——模块将走降级链)"}`});continue}let E=Object.entries(O.instances??{}).filter(([,M])=>M.enabled===!1).map(([M])=>M);E.length>0&&e.push({severity:"warning",code:"INSTANCE_DISABLED",service:v,instance:E.join(", "),message:`integrations: ${v} 实例禁用(${E.join(", ")})`})}for(let[v,b]of Object.entries(n.modules??{})){let O=g?.[v];g&&!(v in g)&&e.push({severity:"warning",code:"RESOURCE_NOT_DECLARED",module:v,message:`integrations: modules.${v} 未命中已装模块(键 = install id——检查 .tbox/app.json entry.id / packages/ 目录名)`});for(let[E,M]of Object.entries(b?.resources??{})){let L=M?.type;(typeof L!="string"||!r.RESOURCE_TYPE_IDS.includes(L))&&e.push({severity:"error",code:"RESOURCE_TYPE_UNKNOWN",module:v,message:`integrations: modules.${v}.resources.${E} type 非法(${String(L)};词汇表 = ${r.RESOURCE_TYPE_IDS.join("/")})`}),O&&O.size>0&&!O.has(E)&&e.push({severity:"warning",code:"RESOURCE_NOT_DECLARED",module:v,message:`integrations: modules.${v}.resources.${E} 未被模块 manifest contributes.resources 声明`})}}return e}function wt(t,e){return`${t}\0${e}`}import{existsSync as on,readFileSync as Xc,readdirSync as el}from"fs";import{join as nr}from"path";function Ps(t){return t.replaceAll("-","_").toUpperCase()}function ks(t){if(!on(t))return null;try{let e=JSON.parse(Xc(t,"utf8"));return e&&typeof e=="object"?e:null}catch{return null}}function tl(t){let e=new Set,r=t.properties;if(r&&typeof r=="object"&&!Array.isArray(r))for(let n of Object.keys(r))e.add(n);return e}function an(t,e,r,n=process.env){let i={};for(let[w,S]of Object.entries(e.catalog.providers))for(let[v,b]of Object.entries(S))i[`${w}\0${v}`]={services:[...b.services],owner:b.owner,credentialType:b.credentialType};let s={};for(let[w,S]of Object.entries(e.catalog.services))s[w]={optional:S.optional,owners:[...S.owners]};let o={},a={},c={},d={};for(let w of e.modules){d[w.id]=new Set((w.descriptor.contributes.resources??[]).map(S=>S.id));for(let S of w.descriptor.contributes.providers?.slots??[]){if(S.configSchema){let v=ks(nr(w.dir,S.configSchema));if(v){let b=o[S.provider]??=new Set;for(let O of tl(v))b.add(O)}else a[S.provider]=!0}S.credentialSchema&&!on(nr(w.dir,S.credentialSchema))&&(c[S.credentialType]=!0)}}let u={},f=new Set,m=nr(t,"config","credentials");if(on(m))for(let w of el(m)){if(!w.endsWith(".json"))continue;let S=w.slice(0,-5);f.add(S);let v=ks(nr(m,w));v&&typeof v.type=="string"&&(u[S]=v.type)}let h=r,g=[],l=w=>{typeof w=="string"&&w.startsWith("secret://")&&g.push(w)};for(let w of Object.values(h.services??{}))if(w&&typeof w=="object"){l(w.credentialRef);for(let S of Object.values(w.instances??{}))S&&typeof S=="object"&&l(S.credentialRef)}for(let w of Object.values(h.credentialRefByInstance??{}))l(w);l(h.credentialRef);let p={};for(let w of g){let S=w.slice(9);n[Ps(S)]===void 0&&(f.has(S)||(p[S]=!0))}let y=[];for(let[w,S]of Object.entries(h.services??{})){let v=S&&typeof S=="object"&&typeof S.provider=="string"?S.provider:void 0;for(let[b,O]of Object.entries((S&&typeof S=="object"?S.instances:void 0)??{})){let E=O&&typeof O=="object"&&typeof O.provider=="string"?O.provider:void 0;v&&E&&E!==v&&y.push(`integrations: ${w}@${b} 实现覆盖跨厂商(${v} → ${E})——凭据域切换,确认该 mall 对应凭据在场`)}}let $=((Array.isArray(h.instances)?h.instances:void 0)??[]).map(w=>w&&typeof w=="object"&&typeof w.id=="string"?w.id:void 0).filter(w=>typeof w=="string");return{suppliedProviders:i,demandedServices:s,credentialFileMissing:p,credentialFileType:u,credentialSchemaMissing:c,vendorConfigKeys:o,vendorConfigSchemaMissing:a,realmSwitchHints:y,moduleResourceNeeds:d,...$.length>0?{malls:$}:{}}}import{existsSync as we,readdirSync as ln,readFileSync as Xe}from"fs";import{join as G}from"path";import{existsSync as rl,readFileSync as Os,mkdirSync as nl,writeFileSync as il}from"fs";import Ns from"path";function ir(t){return Ns.join(t,".tbox","app.json")}function Cs(t){let e=ir(t);if(!rl(e))return null;try{let r=JSON.parse(Os(e,"utf8")),n=r?.templateVersion;return typeof n!="string"||n.trim().length===0?null:{templateVersion:n.trim(),npmModules:Array.isArray(r?.npmModules)?r.npmModules:[]}}catch{return null}}function sl(t,e){let r=ir(t);nl(Ns.dirname(r),{recursive:!0}),il(r,`${JSON.stringify(e,null,2)}
|
|
11
|
+
`,"utf8")}function cn(t){let e=Cs(t);if(e===null)return null;let r=ir(t);try{let n=JSON.parse(Os(r,"utf8"));return{...e,miniappContainers:Array.isArray(n?.miniappContainers)?n.miniappContainers:[]}}catch{return{...e,miniappContainers:[]}}}function ol(t,e){let r=t.npmModules.filter(n=>n.id!==e.id);return{...t,npmModules:[...r,e]}}function al(t,e){return{...t,npmModules:t.npmModules.filter(r=>r.id!==e)}}function cl(t,e){let r=(t.miniappContainers??[]).filter(n=>n.id!==e.id);return{...t,miniappContainers:[...r,e]}}function ll(t,e,r){return{...t,npmModules:t.npmModules.map(n=>n.id===e?{...n,...r}:n)}}function js(t){return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(t)&&!t.includes("..")}function dl(t,e){if(!js(t))throw new Error(`非法模块 id "${t}"(来自 ${e}):仅允许小写字母/数字/中划线`)}function sr(t,e){let r=n=>{try{let i=JSON.parse(n),s=Oe(i);if(s.ok)return{kind:"strict",name:s.value.name,version:s.value.version,descriptor:s.value,contributes:s.value.contributes};if(i&&typeof i=="object"&&"contributes"in i){let o=i;return{kind:"loose",...typeof o.name=="string"?{name:o.name}:{},contributes:{providers:o.contributes?.providers,services:o.contributes?.services}}}return null}catch{return null}};if(e)return e.read(t,r)??null;if(!we(t))return null;try{return r(Xe(t,"utf8"))}catch{return null}}function ul(t){let e=G(t,".tbox","app.json");if(!we(e))return[];try{let r=JSON.parse(Xe(e,"utf8"));return Array.isArray(r.npmModules)?r.npmModules.filter(n=>!!n&&typeof n=="object"&&typeof n.id=="string"&&typeof n.package=="string"):[]}catch{return[]}}function fl(t){let e=G(t,".tbox-dev.local"),r=G(e,"dev-manifest.json");if(!we(r))return[];try{let n=JSON.parse(Xe(r,"utf8")),i=[];for(let[s,o]of Object.entries(n.redirects??{}))typeof o!="string"||!s.startsWith("@tbox.cn/app-")||i.push({pkg:s,dir:G(e,o)});return i}catch{return[]}}function pl(t,e){let r=[],n=[t];for(let s of["apps","packages"]){let o=G(t,s);if(we(o))try{for(let a of ln(o,{withFileTypes:!0}))a.isDirectory()&&n.push(G(o,a.name))}catch{}}let i=new Set;for(let s of n){let o=G(s,"node_modules","@tbox.cn");if(!we(o))continue;let a=[];try{a=ln(o)}catch{continue}for(let c of a){let d=G(o,c);if(i.has(d))continue;i.add(d);let u=G(d,"service-slots.json");if(!we(u))continue;let f=h=>{try{let g=JSON.parse(h);if(Array.isArray(g.slots))return g.slots.filter(l=>typeof l=="string")}catch{}return null},m=e?e.read(u,f):f(Xe(u,"utf8"));m!=null&&r.push({dir:d,slots:m})}}return r}function Y(t,e){let r=[],n={providers:{},services:{},credentialTypes:{}},i={},s=[],o=new Set,a=new Map,c=(m,h,g)=>{for(let l of m){let p=n.providers[l.provider]??={},y=p[l.implementation];y?y.services.includes(l.service)||y.services.push(l.service):(p[l.implementation]={provider:l.provider,implementation:l.implementation,credentialType:l.credentialType,owner:h,...l.local?{local:!0}:{},...l.configSchema?{configSchema:l.configSchema}:{},...l.credentialSchema?{credentialSchema:l.credentialSchema}:{},services:[l.service]},n.credentialTypes[l.credentialType]??={owner:h,packageDir:g,...l.credentialSchema?{credentialSchema:l.credentialSchema}:{}});let _=`${l.provider}\0${l.service}`;i[_]||(i[_]={...l.configSchema?{configSchema:l.configSchema}:{},...l.credentialSchema?{credentialSchema:l.credentialSchema}:{},packageDir:g})}},d=(m,h)=>{let g=m.optional!==!1,l=m.defaults??[],p=n.services[m.service];if(p){p.optional=p.optional&&g;let $=new Set(p.defaults.map(w=>`${w.provider}\0${w.implementation}`));for(let w of l){let S=`${w.provider}\0${w.implementation}`;$.has(S)||(p.defaults.push(w),$.add(S))}p.owners.includes(h)||p.owners.push(h);return}n.services[m.service]={optional:g,defaults:[...l],...m.title?{title:m.title}:{},...m.description?{description:m.description}:{},owners:[h]};let y=m.service.includes(".")?m.service.slice(0,m.service.indexOf(".")):m.service,_=a.get(y);_===void 0?a.set(y,h):_!==h&&s.push({severity:"warning",code:"DOMAIN_KEY_CONFLICT",module:h,message:`域键 ${y} 被多模块声明(${_} 与 ${h})——domains 换算歧义(P13)`})};for(let m of ul(t)){if(o.has(m.id))continue;let h=G(t,"packages",m.id),g=G(t,"node_modules",...m.package.split("/")),l=sr(G(h,"tbox.module.json"),e)??sr(G(g,"tbox.module.json"),e);if(!l)continue;o.add(m.id);let p=we(G(h,"tbox.module.json"))?h:g,y=l.contributes;l.kind==="strict"&&r.push({id:m.id,dir:p,pkg:m.mode==="sdk"?m.package:`@app/${m.id}`,descriptor:l.descriptor});let _=y.providers?.slots??[];_.length&&c(_,m.package,p);let $=y.services??[];if($.length)for(let w of $)d(w,m.package)}for(let{pkg:m,dir:h}of fl(t)){let g=sr(G(h,"tbox.module.json"),e);if(!g?.name||o.has(g.name))continue;o.add(g.name);let l=g.contributes.providers?.slots??[];l.length&&c(l,m,h);let p=g.contributes.services??[];if(p.length)for(let y of p)d(y,m)}let u=G(t,"packages");if(we(u)){let m=[];try{m=ln(u,{withFileTypes:!0}).filter(h=>h.isDirectory()).map(h=>h.name)}catch{}for(let h of m){if(o.has(h))continue;let g=G(u,h),l=sr(G(g,"tbox.module.json"),e);if(!l)continue;let p=l.name??h;if(o.has(p))continue;o.add(p);let y=l.contributes;l.kind==="strict"&&r.push({id:p,dir:g,pkg:`@app/${p}`,descriptor:l.descriptor});let _=y.providers?.slots??[];_.length&&c(_,`@app/${p}`,g);let $=y.services??[];if($.length)for(let w of $)d(w,`@app/${p}`)}}let f=new Set;for(let m of pl(t,e))for(let h of m.slots)f.add(h);return{modules:r,catalog:n,serviceSchemas:i,vocabulary:[...f].sort(),domainKeyIssues:s}}function As(t,e,r){let n=G(t,"src",e,"index.ts");if(!we(n))return!1;try{let i=Xe(n,"utf8");return new RegExp(`export\\s+const\\s+${r}\\b`).test(i)}catch{return!1}}function ml(t){let e=G(t,"src","server","index.ts");if(!we(e))return"";try{return Xe(e,"utf8")}catch{return""}}function Ts(t){return t.match(/declaration\s*:\s*\{[\s\S]*?moduleId\s*:\s*['"]([^'"]+)['"]/)?.[1]}function dn(t){let e=[],r=Y(t),n=cn(t),i=new Map;for(let s of n?.npmModules??[])i.set(s.id,s.mode);for(let s of r.modules){let o=i.get(s.id)??"local",a=As(s.dir,"server","serverModule"),c=s.descriptor.contributes;e.push({id:s.id,pkg:o==="sdk"?s.pkg:`@app/${s.id}`,mode:o,hasServerEntry:a,hasClientEntry:As(s.dir,"client","clientModule"),hasCards:(c.cards?.length??0)>0,...a?{moduleId:Ts(ml(s.dir))}:{}})}return e.sort((s,o)=>s.id.localeCompare(o.id))}import{existsSync as sh,readFileSync as oh}from"fs";import{join as ch,resolve as lh}from"path";function un(t){return Y(t).catalog}function Ms(t){let e=Y(t).catalog,r={};for(let[s,o]of Object.entries(e.providers)){r[s]={};for(let[a,c]of Object.entries(o))r[s][a]={provider:c.provider,implementation:c.implementation,credentialType:c.credentialType,owner:c.owner,...c.local?{local:!0}:{},...c.configSchema?{configSchema:c.configSchema}:{},...c.credentialSchema?{credentialSchema:c.credentialSchema}:{},services:[...c.services]}}let n={};for(let[s,o]of Object.entries(e.services))n[s]={optional:o.optional,defaults:o.defaults.map(a=>({...a})),owners:[...o.owners]};let i={};for(let[s,o]of Object.entries(e.credentialTypes))i[s]={owner:o.owner,...o.credentialSchema?{credentialSchema:o.credentialSchema}:{}};return{providers:r,services:n,credentialTypes:i}}import{existsSync as gl,readFileSync as hl}from"fs";import{join as xs}from"path";var yl=xs("config","integrations.json");function _t(t,e){let r=xs(t,yl),n=i=>JSON.parse(i);if(e)return e.read(r,n)??null;if(!gl(r))return null;try{return n(hl(r,"utf8"))}catch{return null}}function $t(t,e,r){return t.includes(r)||e.includes(r)}var _c=Fc(mc(),1);import{existsSync as wc,readFileSync as Sc}from"fs";import{join as gt,resolve as ag}from"path";var Zt=["provider","config","configByInstance","credentialRef","credentialRefByInstance","instances","defaultInstanceId"];import{readdirSync as sg,existsSync as Zi,readFileSync as og}from"fs";import{join as Qi}from"path";function gc(t,e,r){let n=[];if(e){let i=Ze({provider:t});n.push({stem:i,ref:`secret://${i}`,input:e})}for(let[i,s]of Object.entries(r??{})){let o=Ze({provider:t,instanceId:i});n.push({instanceId:i,stem:o,ref:`secret://${o}`,input:s})}return n}function hc(t,e,r,n,i){let s=[];if(n){let o=Ze({provider:t,service:e});s.push({stem:o,ref:`secret://${o}`,input:n})}for(let[o,a]of Object.entries(i??{})){let c=Ze({provider:t,instanceId:o,domain:r});s.push({instanceId:o,stem:c,ref:`secret://${c}`,input:a})}return s}function es(t,e,r){return e.map(n=>({stem:n.stem,ref:n.ref,overwrote:r?Zi(Qi(t,ye(n.stem))):nn(t,n.stem,n.input)}))}function Xi(t,e){if(typeof t=="string"){t.startsWith("secret://")&&e.add(t.slice(9));return}if(Array.isArray(t)){for(let r of t)Xi(r,e);return}if(t&&typeof t=="object")for(let r of Object.values(t))Xi(r,e)}function ts(t){let e=Qi(t,"config","credentials"),r=new Set,n=Qi(t,"config","integrations.json");if(Zi(n))try{Xi(JSON.parse(og(n,"utf8")),r)}catch{}let i=[];if(!Zi(e))return i;let s=[];try{s=sg(e).filter(o=>o.endsWith(".json")).map(o=>o.slice(0,-5))}catch{return i}for(let o of s.sort()){if(r.has(o))continue;let a=vt(t,o);i.push({severity:"warning",code:"ORPHANED_CREDENTIAL",message:`${ye(o)} 不再被引用(凭据文件保留,可手动清理)`})}return i}var Ge=gt("config","integrations.json");function ht(t,e){if(t===e)return!0;if(Array.isArray(t)&&Array.isArray(e))return t.length!==e.length?!1:t.every((r,n)=>ht(r,e[n]));if(t&&e&&typeof t=="object"&&typeof e=="object"){let r=Object.keys(t),n=Object.keys(e);return r.length!==n.length?!1:r.every(i=>ht(t[i],e[i]))}return!1}function Ur(t,e){if(typeof t!="string"&&t&&typeof t=="object")for(let[r,n]of Object.entries(t)){if((r==="provider"||r==="instanceId")&&typeof n=="string"&&!Pe.test(n))throw new C("VALIDATION_FAILED",400,`${r} 名含非法字符(需 /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/)`,[`${e}.${r}`]);Ur(n,`${e}.${r}`)}}function Lr(t,e,r){if(!(!t||typeof t!="object"||Array.isArray(t))){for(let n of Object.keys(t))if(!(r&&(n==="*"||n==="**"))&&!Pe.test(n))throw new C("VALIDATION_FAILED",400,`${e} 键 ${n} 含非法字符(需 /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/)——进凭据 stem 派生,防路径逃逸`,[e])}}function yc(t,e,r){if(r==="root"){let n=t.instances;Array.isArray(n)&&n.forEach((i,s)=>{let o=i&&typeof i=="object"?i.id:void 0;if(typeof o=="string"&&!Pe.test(o))throw new C("VALIDATION_FAILED",400,`instances[${s}].id 含非法字符(需 /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/)`,[`root.instances[${s}].id`])}),Lr(t.configByInstance,"root.configByInstance",!1),Lr(t.credentialRefByInstance,"root.credentialRefByInstance",!1)}else Lr(t.instances,"services.instances",!0);Lr(e.credentialsByInstance,"credentialsByInstance",!1)}function zr(t,e){let r=gt(t,Ge),n=i=>JSON.parse(i);if(e)return e.read(r,n)??null;if(!wc(r))return null;try{return n(Sc(r,"utf8"))}catch{return null}}function rs(t){let e=(t.instances??[]).map(r=>r.id);return e.length===0?[]:sn(t,e)}function cg(t,e,r,n){let{catalog:i}=Y(t,n),s=i.providers[e];if(!s)return;let o=new Set;for(let a of Object.values(s))(r===void 0||a.services.includes(r))&&o.add(a.credentialType);return o.size===1?[...o][0]:void 0}function vc(t,e,r,n,i,s){if(typeof n.type!="string"||n.type.length===0)throw new C("VALIDATION_FAILED",400,"凭据 type 缺失或为空字符串",["credentials.type"]);let o=i??cg(t,e,r,s);if(o!==void 0&&o!=="-"&&n.type!==o)throw new C("VALIDATION_FAILED",400,`凭据 type=${n.type} 与绑定 credentialType ${o} 不一致`,["credentials.type"]);if(r===void 0)return;let{serviceSchemas:a}=Y(t,s),c=a[`${e}\0${r}`];if(!c?.credentialSchema)return;let d=ag(c.packageDir,c.credentialSchema);if(wc(d))try{let f=new _c.default({allErrors:!0}).compile(JSON.parse(Sc(d,"utf8")));if(!f({type:n.type,...n.values})){let m=(f.errors??[]).map(h=>`credentials.values.${String(h.instancePath||h.params?.missingProperty||"").replace(/^\//,"")}`);throw new C("VALIDATION_FAILED",400,"凭据字段校验失败(ajv 字段级)",m)}}catch(u){if(u instanceof C)throw u}}function ns(t,e={}){let{onApplied:r,cache:n}=e;function i(d,u,f,m){let h=d!==null,g=u.length>0,l=!m&&h,p=!m&&g;l&&(be(gt(t,Ge),`${JSON.stringify(d,null,2)}
|
|
12
|
+
`),n?.invalidate([gt(t,Ge)]));let y=l||p,_=y&&r!==void 0;_&&r?.();let $=[];return h&&$.push(Ge),g&&$.push(...u.map(w=>ye(w.stem))),{written:y,restartScheduled:_,files:$,credentials:u,issues:f}}let s;async function o(){s=await K(t)}function a(d,u){return d.filter(f=>Array.isArray(f.path)).map(f=>{let m=f.path.map(String).join(".");return u!==""&&m.startsWith(u)&&m.length>u.length?m.slice(u.length):m}).filter(f=>f.length>0)}function c(d,u,f){let m=s;if(!m||!m.strictValidation||!m.module.parseIntegrationsConfig)throw new C("CONTRACTS_NOT_RESOLVED",503,"contracts 严格校验面不可用(需 ≥0.9)——写路径门控失败(工厂边缘断言应先行拦截)");try{m.module.parseIntegrationsConfig(d)}catch(h){throw h instanceof Error&&Array.isArray(h.issues)?new C("VALIDATION_FAILED",400,"节点 schema 校验失败",a(h.issues,f)):new C("VALIDATION_FAILED",400,h instanceof Error?h.message:String(h))}}return{warmup:o,applyApp(d,u={}){Ur(d,"root"),yc(d,u,"root");let f=[],m=zr(t,n),h=m??{services:{}};m===null&&f.push({severity:"warning",code:"SKELETON_MATERIALIZED",message:"config/integrations.json 缺席——已物化骨架(写时自动初始化;R13 语义翻转提示)"});let g={...h};for(let v of Zt)v in d||delete g[v];for(let[v,b]of Object.entries(d))g[v]=b;let l=typeof g.provider=="string"?g.provider:"app",p=gc(l,u.credentials,u.credentialsByInstance);for(let v of p)vc(t,l,void 0,v.input,void 0,n);let y=p.find(v=>v.instanceId===void 0);if(u.credentials&&y&&(g.credentialRef=y.ref),u.credentialsByInstance){let v={...g.credentialRefByInstance??{}};for(let b of p)b.instanceId!==void 0&&(v[b.instanceId]=b.ref);g.credentialRefByInstance=v}let _=u.credentials!==void 0||u.credentialsByInstance!==void 0,$=ht(m,g);if($&&!_)return{written:!1,restartScheduled:!1,files:[],credentials:[],issues:f};c(g,f,"");let w=u.dryRun===!0,S=es(t,p,w);return f.push(...rs(g)),i($?null:g,S,f,u.dryRun)},applyModule(d,u,f={}){Ur(u,"root");let{modules:m,catalog:h}=Y(t,n),g=m.find(v=>v.id===d);if(!g)throw new C("MODULE_NOT_FOUND",404,`模块 ${d} 非已装模块`);let l=Qe({modules:m,catalog:h},g);if(!l.writable)throw l.reason==="multi-domain"?new C("VALIDATION_FAILED",400,`模块 ${d} 跨 ${l.domainKeys.length} 个域(${l.domainKeys.join("、")})——模块级统一配置仅支持单域模块,请按服务级配置(编辑各服务行)`):l.reason==="zero-domain"?new C("VALIDATION_FAILED",400,`模块 ${d} 无服务需求声明,无域配置位`):new C("VALIDATION_FAILED",400,`域键 ${l.domainKey} 由 ${l.coOwners.map(v=>Rs(m,v)).join("、")} 共用——写通道拒绝歧义操作,请按服务级配置`);let p=l.domainKey,y=[],_=zr(t,n);if(_===null&&Object.keys(u).length===0)return{written:!1,restartScheduled:!1,files:[],credentials:[],issues:y};_===null&&y.push({severity:"warning",code:"SKELETON_MATERIALIZED",message:"config/integrations.json 缺席——已物化骨架(写时自动初始化;R13 语义翻转提示)"});let $=_??{services:{}},w={...$.domains??{}},S={...$,domains:w};return Object.keys(u).length===0?delete w[p]:w[p]={...u},ht(_,S)?{written:!1,restartScheduled:!1,files:[],credentials:[],issues:y}:(c(S,y,`domains.${p}.`),y.push(...rs(S)),i(S,[],y,f.dryRun))},applyService(d,u,f={}){Ur(u,"root"),yc(u,f,"slot");let m=[],h=zr(t,n);if(!$t(Y(t,n).vocabulary,Object.keys(h?.services??{}),d))throw new C("SERVICE_NOT_FOUND",404,`服务 ${d} 不在服务词汇(已装契约包 ∪ 已配置)`);h===null&&m.push({severity:"warning",code:"SKELETON_MATERIALIZED",message:"config/integrations.json 缺席——已物化骨架(写时自动初始化;R13 语义翻转提示)"});let g=h??{services:{}},l={...g.services??{}},p={...g,services:l};l[d]={...u};let y=u.provider,_=y!==null&&typeof y=="object"?y:void 0,$=typeof y=="string"?y:typeof _?.provider=="string"?_.provider:"app",w=d.includes(".")?d.slice(0,d.indexOf(".")):d,S=hc($,d,w,f.credentials,f.credentialsByInstance);for(let F of S)vc(t,$,d,F.input,typeof _?.credentialType=="string"?_.credentialType:void 0,n);let v=l[d],b=S.find(F=>F.instanceId===void 0);if(f.credentials&&b&&(v.credentialRef=b.ref),f.credentialsByInstance){let F={...v.instances??{}};for(let H of S){if(H.instanceId===void 0)continue;let ie={...F[H.instanceId]??{}};ie.credentialRef=H.ref,F[H.instanceId]=ie}v.instances=F}let O=f.credentials!==void 0||f.credentialsByInstance!==void 0,E=ht(h,p);if(E&&!O)return{written:!1,restartScheduled:!1,files:[],credentials:[],issues:m};c(p,m,`services.${d}.`);let M=f.dryRun===!0,L=es(t,S,M);return m.push(...rs(p)),i(E?null:p,L,m,f.dryRun)},deleteService(d){let u=[],f=zr(t,n);if(!$t(Y(t,n).vocabulary,Object.keys(f?.services??{}),d))throw new C("SERVICE_NOT_FOUND",404,`服务 ${d} 不在服务词汇(已装契约包 ∪ 已配置)`);let m={...f?.services??{}};if(!(d in m))return{written:!1,restartScheduled:!1,files:[],credentials:[],issues:u};delete m[d];let h={...f??{services:{}},services:m};be(gt(t,Ge),`${JSON.stringify(h,null,2)}
|
|
13
|
+
`),n?.invalidate([gt(t,Ge)]),u.push(...ts(t));let g=r!==void 0;return g&&r?.(),{written:!0,restartScheduled:g,files:[Ge],credentials:[],issues:u}}}}import{existsSync as lg}from"fs";import{join as dg}from"path";function is(t){let e=dg(t,"config","integrations.json");if(lg(e))return{generated:!1,reason:"in-place",services:[]};let r=[];for(let s of Y(t).modules)for(let o of s.descriptor.contributes.providers?.slots??[])o.local===!0&&r.push({service:o.service,provider:o.provider,implementation:o.implementation});if(r.length===0)return{generated:!1,reason:"no-local-slots",services:[]};let n={},i=new Set(r.map(s=>s.provider));if(i.size===1){let[s]=i;for(let o of r)n[o.service]={};be(e,`${JSON.stringify({provider:s,services:n},null,2)}
|
|
14
|
+
`)}else{for(let s of r)n[s.service]={provider:s.provider,implementation:s.implementation};be(e,`${JSON.stringify({services:n},null,2)}
|
|
15
|
+
`)}return{generated:!0,reason:"generated",services:r.map(s=>s.service).sort()}}function $c(t){return t.replace(/^@tbox\.cn\/app-/,"").replace(/^@[^/]+\//,"")}function ug(t){return $c(t.id).startsWith("provider-")||$c(t.pkg).startsWith("provider-")}function ss(t){return{modules:t.walk.modules.filter(r=>!ug(r)).map(r=>({id:r.id,name:r.descriptor.name,title:r.descriptor.name,description:""})).sort((r,n)=>r.id.localeCompare(n.id))}}function os(t,e){let r=t.walk.modules.find(c=>c.id===e);if(!r)throw new C("MODULE_NOT_FOUND",404,`模块 ${e} 非已装模块`);let n=(r.descriptor.contributes.services??[]).map(c=>({service:c.service,...c.title?{title:c.title}:{},...c.description?{description:c.description}:{},required:c.optional===!1})),i=Qe(t.walk,r),s=t.integrations?.domains??{},o=i.writable?s[i.domainKey]??null:null,a=i.domainKeys.map(c=>{let d=ve(t.integrations,c);return{domain:c,effective:d.provider,layer:d.layer}});return{domainKeys:[...i.domainKeys],integration:o,providerBindings:a,configEditable:i.writable,services:n}}function bc(t,e){let r=Y(t.appDir,t.cache),n=_t(t.appDir,t.cache);return{appDir:t.appDir,walk:r,catalog:r.catalog,integrations:n,contracts:e}}function Rc(t){let e=new Set;for(let r of t.modules){for(let n of r.descriptor.contributes.services??[])e.add(n.service);for(let n of r.descriptor.contributes.providers?.slots??[])e.add(n.service)}return e}function Kr(t,e,r){let n=t.providers[e];return n?Object.values(n).some(i=>i.services.includes(r)):!1}function Ic(t,e){let r=[];for(let[n,i]of Object.entries(t.providers))Object.values(i).some(s=>s.services.includes(e))&&r.push(n);return r.sort()}function as(t){let e=Rc(t.walk),r=t.walk.vocabulary.filter(s=>!e.has(s)).map(s=>({service:s,required:!1})),n=t.integrations,i=null;if(n){let s={};for(let o of Zt)o in n&&(s[o]=n[o]);i=s}return{services:r,integration:i}}function cs(t,e){let r=t.integrations?.services??{},n=t.catalog.services[e];if(!$t(t.walk.vocabulary,Object.keys(r),e))throw new C("SERVICE_NOT_FOUND",404,`服务 ${e} 不在服务词汇(已装契约包 ∪ 已配置)`);let i=r[e]??null;return{service:e,...n?.title?{title:n.title}:{title:e},...n?.description?{description:n.description}:{},required:n?!n.optional:!1,defaults:n?n.defaults.map(s=>({...s})):[],integration:i,suppliedBy:Ic(t.catalog,e)}}import{existsSync as Pc,readFileSync as Oc,realpathSync as Ec}from"fs";import{isAbsolute as fg,join as pg,relative as mg,resolve as kc,sep as gg}from"path";function ls(t){let e=[];for(let[r,n]of Object.entries(t.catalog.providers)){let i=Object.values(n);i.length!==0&&e.push({provider:r,local:i.every(s=>s.local===!0),owner:i[0].owner})}return{providers:e.sort((r,n)=>r.provider.localeCompare(n.provider))}}function ds(t,e,r){let n=t.catalog.providers[e];if(!n)throw new C("PROVIDER_NOT_FOUND",404,`厂商 ${e} 不 ∈ catalog(内联声明厂商无包级档案——身份与表单经组合端点暴露)`);let i={};for(let o of Object.values(n))for(let a of o.services)(i[a]??={implementations:[]}).implementations.push({implementation:o.implementation,credentialType:o.credentialType});if(r?.has("integrationSchemas"))for(let[o,a]of Object.entries(i))a.integrationSchemas={configSchema:Ye(t,e,o)};let s=Object.values(n);return{provider:e,local:s.every(o=>o.local===!0),owner:s[0].owner,services:i}}function us(t,e,r){let n=t.catalog.providers[e],i=t.integrations?.services??{},s=[];if(n)for(let d of Object.values(n))d.services.includes(r)&&s.push({implementation:d.implementation,credentialType:d.credentialType});let o=i[r]?.provider,a=o&&typeof o=="object"&&o.provider===e?o:void 0;if(s.length===0&&!a)throw n?new C("SUPPLY_NOT_FOUND",404,`厂商 ${e} 未供给服务 ${r}(AI 帮我实现流:PUT 显式绑定后实施)`):new C("PROVIDER_NOT_FOUND",404,`厂商 ${e} 完全未知(不 ∈ catalog 且无任何内联声明)`);s.length===0&&a&&s.push({implementation:i[r]?.implementation??`${e}-inline@1`,credentialType:a.credentialType});let c=Ye(t,e,r,a?o?.configSchema:void 0);return{provider:e,service:r,implementations:s,integrationSchemas:{configSchema:c}}}function Ye(t,e,r,n){let i=t.walk.serviceSchemas[`${e}\0${r}`];return i?fs(t.appDir,i.packageDir,i.configSchema):typeof n=="string"?hg(t.appDir,n):null}function fs(t,e,r){if(!r)return null;let n=pg(e,r);if(!Pc(n))return null;try{return JSON.parse(Oc(n,"utf8"))}catch{return null}}function hg(t,e){let r=kc(t,"config","schemas"),n=kc(t,e),i=mg(r,n);if(i===""||i.startsWith("..")||fg(i))throw new C("VALIDATION_FAILED",400,"configSchema 引用必须落在 config/schemas/ 内(禁路径逃逸)",["provider.configSchema"]);if(!Pc(n))return null;let s,o;try{s=Ec(r),o=Ec(n)}catch{return null}if(o!==s&&!o.startsWith(s+gg))throw new C("VALIDATION_FAILED",400,"configSchema 引用经 symlink 逃逸出 config/schemas/(realpath 复核拒绝)",["provider.configSchema"]);try{return JSON.parse(Oc(n,"utf8"))}catch{return null}}function Nc(t){return{version:t.version,evaluation:t.evaluation,strictValidation:t.strictValidation,notes:[...t.notes]}}function Cc(t,e,r){let n=t.integrations,i=Ne(e),s=n?.services?.[e],o=s?.instances?.[r]??s?.instances?.["*"];return o&&o.provider!==void 0?"instance":s?.provider!==void 0?"service":ve(n,i).layer==="module"?"module":typeof n?.provider=="string"&&n.provider.length>0?"app":null}function jc(t,e,r,n,i){let s=e.resolveEffectiveService(t.integrations,r,n,i);if(s.status==="ok"&&s.effective){let o=s.effective.provider,a=typeof o=="string"?o:String(o?.provider??"");return{status:"ok",provider:a,implementation:s.effective.implementation,effective:{provider:a,implementation:s.effective.implementation,...s.effective.config!==void 0?{config:{...s.effective.config}}:{},...s.effective.credentialRef!==void 0?{credentialRef:s.effective.credentialRef}:{},layer:Cc(t,r,n)??"app"}}}return s.status==="binding-unresolved"?{status:"binding-unresolved",statusMessage:s.message}:{status:s.status}}function ps(t){let e=t.contracts.module;if(!e.resolveEffectiveService||!e.normalizeInstances)throw new C("CONTRACTS_NOT_RESOLVED",503,"contracts 求值面缺席(契约包形态异常)——重新安装或升级应用 @tbox.cn/app-contracts 后重试");return e}function ms(t,e){let r=ps(e),{integrations:n,catalog:i}=e,s=r.buildSupplyLookup(i),o=n,c=r.normalizeInstances({instances:o?.instances,defaultInstanceId:o?.defaultInstanceId}).defaultInstanceId??"*",d=jc(e,r,t,c,s),u=Cc(e,t,c),f=e.integrations?.services?.[t]?.provider,m=d.provider??(typeof f=="string"?f:typeof f=="object"&&f?String(f.provider):void 0),h=new Set(Object.keys(e.catalog.providers)),g=m!==void 0&&h.has(m)?yg(e.catalog,m,t):void 0,l=i.services[t],p=l!==void 0?!l.optional:void 0,y=l?.owners[0];return{status:d.status,...d.statusMessage?{statusMessage:d.statusMessage}:{},...m!==void 0?{provider:m}:{},...m!==void 0&&u!==null?{layer:u}:{},...g!==void 0?{supplied:g}:{},...y!==void 0?{module:y}:{},...p!==void 0?{required:p}:{}}}function yg(t,e,r){return Kr(t,e,r)}function Qt(t,e,r){let n=new Set([...t.walk.vocabulary,...Object.keys(t.catalog.services)]),i=t.integrations?.services??{};for(let o of Object.keys(i))n.add(o);let s={};for(let o of[...n].sort())r&&!r.includes(o)||(s[o]=ms(o,t));return{contracts:Nc(t.contracts),resolutions:s,issues:e}}function gs(t,e,r){let n=ps(e),i=n.buildSupplyLookup(e.catalog),s=e.integrations,a=n.normalizeInstances({instances:s?.instances,defaultInstanceId:s?.defaultInstanceId}).instances.map(l=>l.id),c=e.integrations?.services?.[t],d=c?.instances?Object.keys(c.instances):void 0,u;a.length>0?(u=[...a],d?.includes("*")&&u.push("*")):d!==void 0&&d.length>0?u=d.includes("*")?["*"]:d:u=[];let f=u.map(l=>{let p=jc(e,n,t,l,i);return{instanceId:l,status:p.status,...p.statusMessage?{statusMessage:p.statusMessage}:{},...p.effective?{effective:p.effective}:{}}}),m=vg(e,t),g={...ms(t,e),instances:f,inheritance:m};return{contracts:Nc(e.contracts),resolution:g,issues:r.filter(l=>l.service===t)}}function vg(t,e){let r=t.integrations,n=Ne(e),i=r?.services?.[e],s=t.integrations,a=ps(t).normalizeInstances({instances:s?.instances,defaultInstanceId:s?.defaultInstanceId}).defaultInstanceId??"*",c=i?.instances?.[a]??i?.instances?.["*"],d=ve(r,n);return[{layer:"app",...r?.provider?{provider:r.provider}:{}},{layer:"module",...d.layer==="module"&&d.provider?{provider:d.provider}:{}},{layer:"service",...typeof i?.provider=="string"?{provider:i.provider}:{},...i?.implementation?{implementation:i.implementation}:{}},{layer:"instance",...c?.provider?{provider:c.provider}:{},...c?.implementation?{implementation:c.implementation}:{}}]}function hs(t,e,r){if(e===null)return null;let n={};for(let i of r)n[i]={configSchema:Ye(t,e,i)};return{provider:e,services:n}}function yt(t){return t===null||typeof t!="object"?JSON.stringify(t??null):Array.isArray(t)?`[${t.map(yt).join(",")}]`:`{${Object.keys(t).sort().map(r=>`${JSON.stringify(r)}:${yt(t[r])}`).join(",")}}`}var wg="\0no-enum";function Sg(t){let e=t.enum;return Array.isArray(e)?`[${[...new Set(e.map(yt))].sort().join(",")}]`:wg}function _g(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t.type;return e===void 0?null:yt(e)}function $g(t){let e=t.map(n=>_g(n.subschema));if(e.some(n=>n===null)||new Set(e).size>1)return null;if(e[0]==='"object"'){let n=yt(t[0].subschema);return t.every(i=>yt(i.subschema)===n)?t[0].subschema:null}return new Set(t.map(n=>Sg(n.subschema))).size===1?t[0].subschema:null}function Ac(t,e){let r=[],n=!0,i=new Map;for(let[o,a]of Object.entries(t.services)){let c=a.configSchema;if(c===null){r.push(o);continue}if(!c||typeof c!="object"||Array.isArray(c))continue;let d=c;d.additionalProperties===!1&&(n=!1);let u=d.properties;if(!u||typeof u!="object"||Array.isArray(u))continue;let f=Array.isArray(d.required)?d.required:[];for(let m of Object.keys(u)){let h=i.get(m)??[];h.push({service:o,subschema:u[m],required:f.includes(m)}),i.set(m,h)}}let s=[];for(let[o,a]of i)s.push({key:o,schema:$g(a),sources:a.map(({service:c,required:d})=>({service:c,required:d}))});return{provider:t.provider,schemaless:r,unsupplied:[...e?.unsupplied??[]],additionalPropertiesAllowed:n,fields:s}}function Tc(t,e,r,n){let i=typeof n=="string"&&n.length>0?n:void 0;if(t==="app"){if(i!==void 0)return i;let a=e.integrations?.provider;return typeof a=="string"&&a.length>0?a:null}let s=e.walk.modules.find(a=>a.id===r);if(!s)return null;let o=Qe(e.walk,s);return o.writable?i!==void 0?i:ve(e.integrations,o.domainKey).provider:null}var Mc={integrationSchemas:null,integrationFieldRegistry:null};function xc(t,e){let r=Tc("app",t,void 0,e);if(r===null)return Mc;let n=hs(t,r,Is(t.catalog,r));return{integrationSchemas:n,integrationFieldRegistry:Ac(n)}}function Dc(t,e,r){let n=Tc("module",t,e,r),i=t.walk.modules.find(c=>c.id===e);if(n===null||!i)return Mc;let s=(i.descriptor.contributes.services??[]).map(c=>c.service),o=c=>Kr(t.catalog,n,c),a=hs(t,n,s.filter(o));return{integrationSchemas:a,integrationFieldRegistry:Ac(a,{unsupplied:[...new Set(s.filter(c=>!o(c)))]})}}function ys(t,e){let r=t.integrations?.services?.[e]?.provider;if(r===void 0||r===""){let n=ve(t.integrations,Ne(e));return n.provider===null?null:{provider:n.provider,configSchema:Ye(t,n.provider,e)}}if(typeof r=="string")return{provider:r,configSchema:Ye(t,r,e)};if(St(r)){let n=r;return{provider:n.provider,configSchema:Ye(t,n.provider,e,n.configSchema)}}return null}function Xt(t,e){if(e===void 0||!e.startsWith("secret://"))return;let r=e.slice(9),n=vt(t,r);if(n)return{type:n.type,ref:e,file:ye(r),masked:er(n.values)}}function vs(t){let e=t.integrations,r={credential:Xt(t.appDir,typeof e?.credentialRef=="string"?e.credentialRef:void 0)??null,byInstance:{}};for(let{id:i}of e?.instances??[]){let s=e?.credentialRefByInstance?.[i];s!==void 0&&(r.byInstance[i]=Xt(t.appDir,s)??null)}let n={};for(let[i,s]of Object.entries(e?.services??{})){let o={credential:Xt(t.appDir,s.credentialRef)??null,byInstance:{}};for(let[a,c]of Object.entries(s.instances??{}))o.byInstance[a]=Xt(t.appDir,c.credentialRef)??null;n[i]=o}return{app:r,services:n}}function ws(t,e){return{types:(e===void 0?Object.keys(t.catalog.credentialTypes):[...new Set(Object.values(t.catalog.providers[e]??{}).map(n=>n.credentialType))]).sort().map(n=>{let i=t.catalog.credentialTypes[n];return{credentialType:n,owner:i?.owner??"",credentialSchema:i?fs(t.appDir,i.packageDir,i.credentialSchema):null}})}}import Rg from"path";var Ig={app:["serviceResolutions","integrationSchemas","integrationFieldRegistry"],module:["serviceResolutions","integrationSchemas","integrationFieldRegistry"],provider:["integrationSchemas"],service:["integrationSchemas"]};function Wr(t,e){if(!e||e.length===0)return new Set;let r=Ig[t],n=[...new Set(e)].filter(i=>!r.includes(i));if(n.length>0)throw new C("VALIDATION_FAILED",400,`include 含未知或不适用于本端点的键:${n.join("、")}(白名单:${r.join("、")})`,["include"]);return new Set(e)}var Vc=["integrationSchemas","integrationFieldRegistry"];function qc(t,e,r){if(!(typeof e!="string"||e.length===0)&&!Vc.some(n=>r.has(n)))throw new C("VALIDATION_FAILED",400,`参数 ${t} 需与表单 include 键(${Vc.join("、")})同现——轴参仅重定向表单层双投影`,[t])}function Eg(t,e={}){let r=Hr(),n=Promise.resolve(),i={appDir:t,cache:r};function s(l){if(!l.strictValidation)throw new C("CONTRACTS_NOT_RESOLVED",503,rn(l))}function o(l){return bc(i,l)}async function a(){let l=await K(t),p=o(l),y=p.integrations;if(y===null)return[];let _={resolveEffectiveService:c(l.module.resolveEffectiveService,"resolveEffectiveService"),buildSupplyLookup:c(l.module.buildSupplyLookup,"buildSupplyLookup"),moduleDomainOf:c(l.module.moduleDomainOf,"moduleDomainOf"),normalizeInstances:c(l.module.normalizeInstances,"normalizeInstances"),RESOURCE_TYPE_IDS:l.module.RESOURCE_TYPE_IDS??[]},$=an(t,p.walk,y,process.env);return rr({contracts:_,integrations:y,supplies:_.buildSupplyLookup(p.catalog),...$})}function c(l,p){if(typeof l!="function")throw new C("CONTRACTS_NOT_RESOLVED",503,`contracts 求值面 ${p} 缺席(形态异常)`);return l}function d(l){let p=n.then(l,l);return n=p.catch(()=>{}),p}let u={async loadModules(){let l=await K(t);return ss(o(l))},async loadModule(l,p){let y=Wr("module",p?.include);qc("moduleProvider",p?.moduleProvider,y);let _=await K(t),$=o(_),w=os($,l);if(y.has("serviceResolutions")&&(w.serviceResolutions=_.evaluation&&_.strictValidation?await a().then(S=>Qt($,S,w.services.map(v=>v.service))):null),y.has("integrationSchemas")||y.has("integrationFieldRegistry")){let S=Dc($,l,p?.moduleProvider);y.has("integrationSchemas")&&(w.integrationSchemas=S.integrationSchemas),y.has("integrationFieldRegistry")&&(w.integrationFieldRegistry=S.integrationFieldRegistry)}return w},async loadApp(l){let p=Wr("app",l?.include);qc("appProvider",l?.appProvider,p);let y=await K(t),_=o(y),$=as(_);if(p.has("serviceResolutions")&&($.serviceResolutions=y.evaluation&&y.strictValidation?await a().then(w=>Qt(_,w)):null),p.has("integrationSchemas")||p.has("integrationFieldRegistry")){let w=xc(_,l?.appProvider);p.has("integrationSchemas")&&($.integrationSchemas=w.integrationSchemas),p.has("integrationFieldRegistry")&&($.integrationFieldRegistry=w.integrationFieldRegistry)}return $},async loadService(l,p){let y=Wr("service",p?.include),_=await K(t),$=o(_),w=cs($,l);return y.has("integrationSchemas")&&(w.integrationSchemas=ys($,l)),w},async loadServiceResolutions(l){let p=await K(t);s(p);let y=await a();return Qt(o(p),y,l)},async loadServiceResolution(l){let p=await K(t);s(p);let y=await a();return gs(l,o(p),y)},async loadProviders(){let l=await K(t);return ls(o(l))},async loadProvider(l,p){let y=Wr("provider",p?.include),_=await K(t);return ds(o(_),l,y)},async loadProviderService(l,p){let y=await K(t);return us(o(y),l,p)},async loadCredentials(){let l=await K(t);return vs(o(l))},async loadCredentialTypes(l){let p=await K(t);return ws(o(p),l)}},f=ns(t,{onApplied:e.onApplied,cache:r}),m={async writeAppIntegration(l,p){await f.warmup();let y=await K(t);return s(y),d(()=>f.applyApp(l,p))},async writeModuleIntegration(l,p,y){await f.warmup();let _=await K(t);return s(_),d(()=>f.applyModule(l,p,y))},async writeServiceIntegration(l,p,y){await f.warmup();let _=await K(t);return s(_),d(()=>f.applyService(l,p,y))},async deleteServiceIntegration(l){await f.warmup();let p=await K(t);return s(p),d(()=>f.deleteService(l))}},h={invalidate(){r.invalidate(),Jr(t)},async resolveContracts(){return K(t)},walkManifests(){return g(t)},parseModuleDescriptor(l){return Oe(l)},loadProviderCatalogRaw(){return un(t)},async readIntegrationsConfig(){return _t(t,r)},async writeIntegrationsConfig(l){await f.warmup();let p=await K(t);return s(p),d(()=>kg(t,l,r))},async ensureMockBindings(){await f.warmup();let l=await K(t);return s(l),d(()=>is(t))},async evaluateIntegrationServices(l){await f.warmup();let p=await K(t);s(p);let y={resolveEffectiveService:c(p.module.resolveEffectiveService,"resolveEffectiveService"),buildSupplyLookup:c(p.module.buildSupplyLookup,"buildSupplyLookup"),moduleDomainOf:c(p.module.moduleDomainOf,"moduleDomainOf"),normalizeInstances:c(p.module.normalizeInstances,"normalizeInstances"),RESOURCE_TYPE_IDS:p.module.RESOURCE_TYPE_IDS??[]};return rr({...l,contracts:y})}};function g(l){return Y(l,r)}return{...u,...m,...h}}function kg(t,e,r){let n=Rg.join(t,"config","integrations.json");be(n,`${JSON.stringify(e,null,2)}
|
|
16
|
+
`),r.invalidate([n])}function Ng(t){let e=Br.join(t,"tbox.module.json");if(!Ss(e))return null;try{let r=Oe(JSON.parse(Pg(e,"utf8")));return r.ok?r.value:null}catch{return null}}async function zw(t){let e=Br.join(t,"packages"),r=[];if(!Ss(e))return r;let n=await Og(e,{withFileTypes:!0});for(let i of n){if(!i.isDirectory())continue;let s=Br.join(e,i.name);if(!Ss(Br.join(s,"package.json")))continue;let o=Ng(s);o&&r.push({id:o.name??i.name,dir:s,descriptor:o})}return r.sort((i,s)=>i.id.localeCompare(s.id))}async function Uw(t){return dn(t)}export{Oe as a,Kc as b,be as c,rr as d,an as e,sl as f,cn as g,ol as h,al as i,cl as j,ll as k,dl as l,Y as m,Ms as n,_t as o,is as p,Eg as q,Ng as r,zw as s,Uw as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{d as a,e as b}from"./chunk-
|
|
2
|
+
import{d as a,e as b}from"./chunk-D4Z67K2V.js";export{b as invalidateContractsResolver,a as resolveContractsForApp};
|