@xiaozhiclaw/qlogicagent-core 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- var bu=Object.create;var Ii=Object.defineProperty;var wu=Object.getOwnPropertyDescriptor;var Cu=Object.getOwnPropertyNames;var Eu=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var v=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var $u=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Cu(e))!ku.call(t,o)&&o!==r&&Ii(t,o,{get:()=>e[o],enumerable:!(n=wu(e,o))||n.enumerable});return t};var Ru=(t,e,r)=>(r=t!=null?bu(Eu(t)):{},$u(e||!t||!t.__esModule?Ii(r,"default",{value:t,enumerable:!0}):r,t));var Jt=v(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.regexpCode=F.getEsmExportName=F.getProperty=F.safeStringify=F.stringify=F.strConcat=F.addCodeArg=F.str=F._=F.nil=F._Code=F.Name=F.IDENTIFIER=F._CodeOrName=void 0;var Ht=class{};F._CodeOrName=Ht;F.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ot=class extends Ht{constructor(e){if(super(),!F.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}}};F.Name=ot;var we=class extends Ht{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 ot&&(r[n.str]=(r[n.str]||0)+1),r),{})}};F._Code=we;F.nil=new we("");function qi(t,...e){let r=[t[0]],n=0;for(;n<e.length;)ro(r,e[n]),r.push(t[++n]);return new we(r)}F._=qi;var to=new we("+");function Di(t,...e){let r=[Wt(t[0])],n=0;for(;n<e.length;)r.push(to),ro(r,e[n]),r.push(to,Wt(t[++n]));return Uu(r),new we(r)}F.str=Di;function ro(t,e){e instanceof we?t.push(...e._items):e instanceof ot?t.push(e):t.push(Vu(e))}F.addCodeArg=ro;function Uu(t){let e=1;for(;e<t.length-1;){if(t[e]===to){let r=zu(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function zu(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof ot||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 ot))return`"${t}${e.slice(1)}`}function Fu(t,e){return e.emptyStr()?t:t.emptyStr()?e:Di`${t}${e}`}F.strConcat=Fu;function Vu(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Wt(Array.isArray(t)?t.join(","):t)}function Bu(t){return new we(Wt(t))}F.stringify=Bu;function Wt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}F.safeStringify=Wt;function Gu(t){return typeof t=="string"&&F.IDENTIFIER.test(t)?new we(`.${t}`):qi`[${t}]`}F.getProperty=Gu;function Ku(t){if(typeof t=="string"&&F.IDENTIFIER.test(t))return new we(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}F.getEsmExportName=Ku;function Hu(t){return new we(t.toString())}F.regexpCode=Hu});var so=v(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.ValueScope=ye.ValueScopeName=ye.Scope=ye.varKinds=ye.UsedValueState=void 0;var ge=Jt(),no=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},zr;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(zr||(ye.UsedValueState=zr={}));ye.varKinds={const:new ge.Name("const"),let:new ge.Name("let"),var:new ge.Name("var")};var Fr=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof ge.Name?e:this.name(e)}name(e){return new ge.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}}};ye.Scope=Fr;var Vr=class extends ge.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,ge._)`.${new ge.Name(r)}[${n}]`}};ye.ValueScopeName=Vr;var Wu=(0,ge._)`\n`,oo=class extends Fr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Wu:ge.nil}}get(){return this._scope}name(e){return new Vr(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 o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(i);if(u)return u}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:s,itemIndex:l}),o}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,ge._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=ge.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,zr.Started);let u=r(l);if(u){let d=this.opts.es5?ye.varKinds.var:ye.varKinds.const;s=(0,ge._)`${s}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))s=(0,ge._)`${s}${u}${this.opts._n}`;else throw new no(l);c.set(l,zr.Completed)})}return s}};ye.ValueScope=oo});var I=v(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.or=M.and=M.not=M.CodeGen=M.operators=M.varKinds=M.ValueScopeName=M.ValueScope=M.Scope=M.Name=M.regexpCode=M.stringify=M.getProperty=M.nil=M.strConcat=M.str=M._=void 0;var U=Jt(),Oe=so(),He=Jt();Object.defineProperty(M,"_",{enumerable:!0,get:function(){return He._}});Object.defineProperty(M,"str",{enumerable:!0,get:function(){return He.str}});Object.defineProperty(M,"strConcat",{enumerable:!0,get:function(){return He.strConcat}});Object.defineProperty(M,"nil",{enumerable:!0,get:function(){return He.nil}});Object.defineProperty(M,"getProperty",{enumerable:!0,get:function(){return He.getProperty}});Object.defineProperty(M,"stringify",{enumerable:!0,get:function(){return He.stringify}});Object.defineProperty(M,"regexpCode",{enumerable:!0,get:function(){return He.regexpCode}});Object.defineProperty(M,"Name",{enumerable:!0,get:function(){return He.Name}});var Hr=so();Object.defineProperty(M,"Scope",{enumerable:!0,get:function(){return Hr.Scope}});Object.defineProperty(M,"ValueScope",{enumerable:!0,get:function(){return Hr.ValueScope}});Object.defineProperty(M,"ValueScopeName",{enumerable:!0,get:function(){return Hr.ValueScopeName}});Object.defineProperty(M,"varKinds",{enumerable:!0,get:function(){return Hr.varKinds}});M.operators={GT:new U._Code(">"),GTE:new U._Code(">="),LT:new U._Code("<"),LTE:new U._Code("<="),EQ:new U._Code("==="),NEQ:new U._Code("!=="),NOT:new U._Code("!"),OR:new U._Code("||"),AND:new U._Code("&&"),ADD:new U._Code("+")};var Fe=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},io=class extends Fe{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Oe.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Et(this.rhs,e,r)),this}get names(){return this.rhs instanceof U._CodeOrName?this.rhs.names:{}}},Br=class extends Fe{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 U.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Et(this.rhs,e,r),this}get names(){let e=this.lhs instanceof U.Name?{}:{...this.lhs.names};return Kr(e,this.rhs)}},ao=class extends Br{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},co=class extends Fe{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},lo=class extends Fe{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},uo=class extends Fe{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},fo=class extends Fe{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=Et(this.code,e,r),this}get names(){return this.code instanceof U._CodeOrName?this.code.names:{}}},Qt=class extends Fe{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,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(Ju(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>at(e,r.names),{})}},Ve=class extends Qt{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},po=class extends Qt{},Ct=class extends Ve{};Ct.kind="else";var st=class t extends Ve{constructor(e,r){super(r),this.condition=e}render(e){let r=`if(${this.condition})`+super.render(e);return this.else&&(r+="else "+this.else.render(e)),r}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let r=this.else;if(r){let n=r.optimizeNodes();r=this.else=Array.isArray(n)?new Ct(n):n}if(r)return e===!1?r instanceof t?r:r.nodes:this.nodes.length?this:new t(Ui(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=Et(this.condition,e,r),this}get names(){let e=super.names;return Kr(e,this.condition),this.else&&at(e,this.else.names),e}};st.kind="if";var it=class extends Ve{};it.kind="for";var mo=class extends it{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=Et(this.iteration,e,r),this}get names(){return at(super.names,this.iteration.names)}},ho=class extends it{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Oe.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Kr(super.names,this.from);return Kr(e,this.to)}},Gr=class extends it{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}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=Et(this.iterable,e,r),this}get names(){return at(super.names,this.iterable.names)}},Xt=class extends Ve{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Xt.kind="func";var Yt=class extends Qt{render(e){return"return "+super.render(e)}};Yt.kind="return";var go=class extends Ve{render(e){let r="try"+super.render(e);return this.catch&&(r+=this.catch.render(e)),this.finally&&(r+=this.finally.render(e)),r}optimizeNodes(){var e,r;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(e,r){var n,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&at(e,this.catch.names),this.finally&&at(e,this.finally.names),e}},Zt=class extends Ve{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Zt.kind="catch";var er=class extends Ve{render(e){return"finally"+super.render(e)}};er.kind="finally";var yo=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
- `:""},this._extScope=e,this._scope=new Oe.Scope({parent:e}),this._nodes=[new po]}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,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new io(e,s,n)),s}const(e,r,n){return this._def(Oe.varKinds.const,e,r,n)}let(e,r,n){return this._def(Oe.varKinds.let,e,r,n)}var(e,r,n){return this._def(Oe.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Br(e,r,n))}add(e,r){return this._leafNode(new ao(e,M.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==U.nil&&this._leafNode(new fo(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,U.addCodeArg)(r,o));return r.push("}"),new U._Code(r)}if(e,r,n){if(this._blockNode(new st(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 st(e))}else(){return this._elseNode(new Ct)}endIf(){return this._endBlockNode(st,Ct)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new mo(e),r)}forRange(e,r,n,o,s=this.opts.es5?Oe.varKinds.var:Oe.varKinds.let){let i=this._scope.toName(e);return this._for(new ho(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Oe.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof U.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,U._)`${i}.length`,a=>{this.var(s,(0,U._)`${i}[${a}]`),n(s)})}return this._for(new Gr("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?Oe.varKinds.var:Oe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,U._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Gr("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(it)}label(e){return this._leafNode(new co(e))}break(e){return this._leafNode(new lo(e))}return(e){let r=new Yt;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Yt)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new go;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Zt(s),r(s)}return n&&(this._currNode=o.finally=new er,this.code(n)),this._endBlockNode(Zt,er)}throw(e){return this._leafNode(new uo(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=U.nil,n,o){return this._blockNode(new Xt(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Xt)}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 st))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}};M.CodeGen=yo;function at(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Kr(t,e){return e instanceof U._CodeOrName?at(t,e.names):t}function Et(t,e,r){if(t instanceof U.Name)return n(t);if(!o(t))return t;return new U._Code(t._items.reduce((s,i)=>(i instanceof U.Name&&(i=n(i)),i instanceof U._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof U._Code&&s._items.some(i=>i instanceof U.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function Ju(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Ui(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,U._)`!${_o(t)}`}M.not=Ui;var Qu=zi(M.operators.AND);function Xu(...t){return t.reduce(Qu)}M.and=Xu;var Yu=zi(M.operators.OR);function Zu(...t){return t.reduce(Yu)}M.or=Zu;function zi(t){return(e,r)=>e===U.nil?r:r===U.nil?e:(0,U._)`${_o(e)} ${t} ${_o(r)}`}function _o(t){return t instanceof U.Name?t:(0,U._)`(${t})`}});var j=v(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.checkStrictMode=L.getErrorPath=L.Type=L.useFunc=L.setEvaluated=L.evaluatedPropsToName=L.mergeEvaluated=L.eachItem=L.unescapeJsonPointer=L.escapeJsonPointer=L.escapeFragment=L.unescapeFragment=L.schemaRefOrVal=L.schemaHasRulesButRef=L.schemaHasRules=L.checkUnknownRules=L.alwaysValidSchema=L.toHash=void 0;var Q=I(),ed=Jt();function td(t){let e={};for(let r of t)e[r]=!0;return e}L.toHash=td;function rd(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Bi(t,e),!Gi(e,t.self.RULES.all))}L.alwaysValidSchema=rd;function Bi(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Wi(t,`unknown keyword: "${s}"`)}L.checkUnknownRules=Bi;function Gi(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}L.schemaHasRules=Gi;function nd(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}L.schemaHasRulesButRef=nd;function od({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,Q._)`${r}`}return(0,Q._)`${t}${e}${(0,Q.getProperty)(n)}`}L.schemaRefOrVal=od;function sd(t){return Ki(decodeURIComponent(t))}L.unescapeFragment=sd;function id(t){return encodeURIComponent(vo(t))}L.escapeFragment=id;function vo(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}L.escapeJsonPointer=vo;function Ki(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}L.unescapeJsonPointer=Ki;function ad(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}L.eachItem=ad;function Fi({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof Q.Name?(s instanceof Q.Name?t(o,s,i):e(o,s,i),i):s instanceof Q.Name?(e(o,i,s),s):r(s,i);return a===Q.Name&&!(c instanceof Q.Name)?n(o,c):c}}L.mergeEvaluated={props:Fi({mergeNames:(t,e,r)=>t.if((0,Q._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,Q._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,Q._)`${r} || {}`).code((0,Q._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,Q._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,Q._)`${r} || {}`),bo(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Hi}),items:Fi({mergeNames:(t,e,r)=>t.if((0,Q._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,Q._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,Q._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,Q._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Hi(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,Q._)`{}`);return e!==void 0&&bo(t,r,e),r}L.evaluatedPropsToName=Hi;function bo(t,e,r){Object.keys(r).forEach(n=>t.assign((0,Q._)`${e}${(0,Q.getProperty)(n)}`,!0))}L.setEvaluated=bo;var Vi={};function cd(t,e){return t.scopeValue("func",{ref:e,code:Vi[e.code]||(Vi[e.code]=new ed._Code(e.code))})}L.useFunc=cd;var To;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(To||(L.Type=To={}));function ld(t,e,r){if(t instanceof Q.Name){let n=e===To.Num;return r?n?(0,Q._)`"[" + ${t} + "]"`:(0,Q._)`"['" + ${t} + "']"`:n?(0,Q._)`"/" + ${t}`:(0,Q._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,Q.getProperty)(t).toString():"/"+vo(t)}L.getErrorPath=ld;function Wi(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}L.checkStrictMode=Wi});var Ce=v(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});var ue=I(),ud={data:new ue.Name("data"),valCxt:new ue.Name("valCxt"),instancePath:new ue.Name("instancePath"),parentData:new ue.Name("parentData"),parentDataProperty:new ue.Name("parentDataProperty"),rootData:new ue.Name("rootData"),dynamicAnchors:new ue.Name("dynamicAnchors"),vErrors:new ue.Name("vErrors"),errors:new ue.Name("errors"),this:new ue.Name("this"),self:new ue.Name("self"),scope:new ue.Name("scope"),json:new ue.Name("json"),jsonPos:new ue.Name("jsonPos"),jsonLen:new ue.Name("jsonLen"),jsonPart:new ue.Name("jsonPart")};wo.default=ud});var tr=v(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.extendErrors=de.resetErrorsCount=de.reportExtraError=de.reportError=de.keyword$DataError=de.keywordError=void 0;var z=I(),Wr=j(),pe=Ce();de.keywordError={message:({keyword:t})=>(0,z.str)`must pass "${t}" keyword validation`};de.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,z.str)`"${t}" keyword must be ${e} ($data)`:(0,z.str)`"${t}" keyword is invalid ($data)`};function dd(t,e=de.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Xi(t,e,r);n??(i||a)?Ji(s,c):Qi(o,(0,z._)`[${c}]`)}de.reportError=dd;function fd(t,e=de.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Xi(t,e,r);Ji(o,a),s||i||Qi(n,pe.default.vErrors)}de.reportExtraError=fd;function pd(t,e){t.assign(pe.default.errors,e),t.if((0,z._)`${pe.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,z._)`${pe.default.vErrors}.length`,e),()=>t.assign(pe.default.vErrors,null)))}de.resetErrorsCount=pd;function md({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,pe.default.errors,a=>{t.const(i,(0,z._)`${pe.default.vErrors}[${a}]`),t.if((0,z._)`${i}.instancePath === undefined`,()=>t.assign((0,z._)`${i}.instancePath`,(0,z.strConcat)(pe.default.instancePath,s.errorPath))),t.assign((0,z._)`${i}.schemaPath`,(0,z.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,z._)`${i}.schema`,r),t.assign((0,z._)`${i}.data`,n))})}de.extendErrors=md;function Ji(t,e){let r=t.const("err",e);t.if((0,z._)`${pe.default.vErrors} === null`,()=>t.assign(pe.default.vErrors,(0,z._)`[${r}]`),(0,z._)`${pe.default.vErrors}.push(${r})`),t.code((0,z._)`${pe.default.errors}++`)}function Qi(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,z._)`new ${t.ValidationError}(${e})`):(r.assign((0,z._)`${n}.errors`,e),r.return(!1))}var ct={keyword:new z.Name("keyword"),schemaPath:new z.Name("schemaPath"),params:new z.Name("params"),propertyName:new z.Name("propertyName"),message:new z.Name("message"),schema:new z.Name("schema"),parentSchema:new z.Name("parentSchema")};function Xi(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,z._)`{}`:hd(t,e,r)}function hd(t,e,r={}){let{gen:n,it:o}=t,s=[gd(o,r),yd(t,r)];return _d(t,e,s),n.object(...s)}function gd({errorPath:t},{instancePath:e}){let r=e?(0,z.str)`${t}${(0,Wr.getErrorPath)(e,Wr.Type.Str)}`:t;return[pe.default.instancePath,(0,z.strConcat)(pe.default.instancePath,r)]}function yd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,z.str)`${e}/${t}`;return r&&(o=(0,z.str)`${o}${(0,Wr.getErrorPath)(r,Wr.Type.Str)}`),[ct.schemaPath,o]}function _d(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([ct.keyword,o],[ct.params,typeof e=="function"?e(t):e||(0,z._)`{}`]),c.messages&&n.push([ct.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([ct.schema,i],[ct.parentSchema,(0,z._)`${u}${d}`],[pe.default.data,s]),l&&n.push([ct.propertyName,l])}});var Zi=v(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.boolOrEmptySchema=kt.topBoolOrEmptySchema=void 0;var Td=tr(),vd=I(),bd=Ce(),wd={message:"boolean schema is false"};function Cd(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Yi(t,!1):typeof r=="object"&&r.$async===!0?e.return(bd.default.data):(e.assign((0,vd._)`${n}.errors`,null),e.return(!0))}kt.topBoolOrEmptySchema=Cd;function Ed(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Yi(t)):r.var(e,!0)}kt.boolOrEmptySchema=Ed;function Yi(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,Td.reportError)(o,wd,void 0,e)}});var Co=v($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.getRules=$t.isJSONType=void 0;var kd=["string","number","integer","boolean","null","object","array"],$d=new Set(kd);function Rd(t){return typeof t=="string"&&$d.has(t)}$t.isJSONType=Rd;function Ad(){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:{}}}$t.getRules=Ad});var Eo=v(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.shouldUseRule=We.shouldUseGroup=We.schemaHasRulesForType=void 0;function Sd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&ea(t,n)}We.schemaHasRulesForType=Sd;function ea(t,e){return e.rules.some(r=>ta(t,r))}We.shouldUseGroup=ea;function ta(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))}We.shouldUseRule=ta});var rr=v(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.reportTypeError=fe.checkDataTypes=fe.checkDataType=fe.coerceAndCheckDataType=fe.getJSONTypes=fe.getSchemaTypes=fe.DataType=void 0;var Od=Co(),Id=Eo(),xd=tr(),x=I(),ra=j(),Rt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Rt||(fe.DataType=Rt={}));function Pd(t){let e=na(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}fe.getSchemaTypes=Pd;function na(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Od.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}fe.getJSONTypes=na;function Md(t,e){let{gen:r,data:n,opts:o}=t,s=Nd(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,Id.schemaHasRulesForType)(t,e[0]));if(i){let a=$o(e,n,o.strictNumbers,Rt.Wrong);r.if(a,()=>{s.length?Ld(t,e,s):Ro(t)})}return i}fe.coerceAndCheckDataType=Md;var oa=new Set(["string","number","integer","boolean","null"]);function Nd(t,e){return e?t.filter(r=>oa.has(r)||e==="array"&&r==="array"):[]}function Ld(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,x._)`typeof ${o}`),a=n.let("coerced",(0,x._)`undefined`);s.coerceTypes==="array"&&n.if((0,x._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,x._)`${o}[0]`).assign(i,(0,x._)`typeof ${o}`).if($o(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,x._)`${a} !== undefined`);for(let l of r)(oa.has(l)||l==="array"&&s.coerceTypes==="array")&&c(l);n.else(),Ro(t),n.endIf(),n.if((0,x._)`${a} !== undefined`,()=>{n.assign(o,a),jd(t,a)});function c(l){switch(l){case"string":n.elseIf((0,x._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,x._)`"" + ${o}`).elseIf((0,x._)`${o} === null`).assign(a,(0,x._)`""`);return;case"number":n.elseIf((0,x._)`${i} == "boolean" || ${o} === null
1
+ var bu=Object.create;var Ii=Object.defineProperty;var wu=Object.getOwnPropertyDescriptor;var Eu=Object.getOwnPropertyNames;var Cu=Object.getPrototypeOf,ku=Object.prototype.hasOwnProperty;var v=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var $u=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Eu(e))!ku.call(t,o)&&o!==r&&Ii(t,o,{get:()=>e[o],enumerable:!(n=wu(e,o))||n.enumerable});return t};var Ru=(t,e,r)=>(r=t!=null?bu(Cu(t)):{},$u(e||!t||!t.__esModule?Ii(r,"default",{value:t,enumerable:!0}):r,t));var Jt=v(z=>{"use strict";Object.defineProperty(z,"__esModule",{value:!0});z.regexpCode=z.getEsmExportName=z.getProperty=z.safeStringify=z.stringify=z.strConcat=z.addCodeArg=z.str=z._=z.nil=z._Code=z.Name=z.IDENTIFIER=z._CodeOrName=void 0;var Ht=class{};z._CodeOrName=Ht;z.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ot=class extends Ht{constructor(e){if(super(),!z.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}}};z.Name=ot;var we=class extends Ht{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 ot&&(r[n.str]=(r[n.str]||0)+1),r),{})}};z._Code=we;z.nil=new we("");function qi(t,...e){let r=[t[0]],n=0;for(;n<e.length;)ro(r,e[n]),r.push(t[++n]);return new we(r)}z._=qi;var to=new we("+");function Di(t,...e){let r=[Wt(t[0])],n=0;for(;n<e.length;)r.push(to),ro(r,e[n]),r.push(to,Wt(t[++n]));return Uu(r),new we(r)}z.str=Di;function ro(t,e){e instanceof we?t.push(...e._items):e instanceof ot?t.push(e):t.push(Fu(e))}z.addCodeArg=ro;function Uu(t){let e=1;for(;e<t.length-1;){if(t[e]===to){let r=Bu(t[e-1],t[e+1]);if(r!==void 0){t.splice(e-1,3,r);continue}t[e++]="+"}e++}}function Bu(t,e){if(e==='""')return t;if(t==='""')return e;if(typeof t=="string")return e instanceof ot||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 ot))return`"${t}${e.slice(1)}`}function zu(t,e){return e.emptyStr()?t:t.emptyStr()?e:Di`${t}${e}`}z.strConcat=zu;function Fu(t){return typeof t=="number"||typeof t=="boolean"||t===null?t:Wt(Array.isArray(t)?t.join(","):t)}function Vu(t){return new we(Wt(t))}z.stringify=Vu;function Wt(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}z.safeStringify=Wt;function Gu(t){return typeof t=="string"&&z.IDENTIFIER.test(t)?new we(`.${t}`):qi`[${t}]`}z.getProperty=Gu;function Ku(t){if(typeof t=="string"&&z.IDENTIFIER.test(t))return new we(`${t}`);throw new Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}z.getEsmExportName=Ku;function Hu(t){return new we(t.toString())}z.regexpCode=Hu});var so=v(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.ValueScope=ye.ValueScopeName=ye.Scope=ye.varKinds=ye.UsedValueState=void 0;var ge=Jt(),no=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},Br;(function(t){t[t.Started=0]="Started",t[t.Completed=1]="Completed"})(Br||(ye.UsedValueState=Br={}));ye.varKinds={const:new ge.Name("const"),let:new ge.Name("let"),var:new ge.Name("var")};var zr=class{constructor({prefixes:e,parent:r}={}){this._names={},this._prefixes=e,this._parent=r}toName(e){return e instanceof ge.Name?e:this.name(e)}name(e){return new ge.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}}};ye.Scope=zr;var Fr=class extends ge.Name{constructor(e,r){super(r),this.prefix=e}setValue(e,{property:r,itemIndex:n}){this.value=e,this.scopePath=(0,ge._)`.${new ge.Name(r)}[${n}]`}};ye.ValueScopeName=Fr;var Wu=(0,ge._)`\n`,oo=class extends zr{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?Wu:ge.nil}}get(){return this._scope}name(e){return new Fr(e,this._newName(e))}value(e,r){var n;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let o=this.toName(e),{prefix:s}=o,i=(n=r.key)!==null&&n!==void 0?n:r.ref,a=this._values[s];if(a){let u=a.get(i);if(u)return u}else a=this._values[s]=new Map;a.set(i,o);let c=this._scope[s]||(this._scope[s]=[]),l=c.length;return c[l]=r.ref,o.setValue(r,{property:s,itemIndex:l}),o}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,ge._)`${e}${n.scopePath}`})}scopeCode(e=this._values,r,n){return this._reduceValues(e,o=>{if(o.value===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return o.value.code},r,n)}_reduceValues(e,r,n={},o){let s=ge.nil;for(let i in e){let a=e[i];if(!a)continue;let c=n[i]=n[i]||new Map;a.forEach(l=>{if(c.has(l))return;c.set(l,Br.Started);let u=r(l);if(u){let d=this.opts.es5?ye.varKinds.var:ye.varKinds.const;s=(0,ge._)`${s}${d} ${l} = ${u};${this.opts._n}`}else if(u=o?.(l))s=(0,ge._)`${s}${u}${this.opts._n}`;else throw new no(l);c.set(l,Br.Completed)})}return s}};ye.ValueScope=oo});var I=v(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.or=M.and=M.not=M.CodeGen=M.operators=M.varKinds=M.ValueScopeName=M.ValueScope=M.Scope=M.Name=M.regexpCode=M.stringify=M.getProperty=M.nil=M.strConcat=M.str=M._=void 0;var U=Jt(),Oe=so(),He=Jt();Object.defineProperty(M,"_",{enumerable:!0,get:function(){return He._}});Object.defineProperty(M,"str",{enumerable:!0,get:function(){return He.str}});Object.defineProperty(M,"strConcat",{enumerable:!0,get:function(){return He.strConcat}});Object.defineProperty(M,"nil",{enumerable:!0,get:function(){return He.nil}});Object.defineProperty(M,"getProperty",{enumerable:!0,get:function(){return He.getProperty}});Object.defineProperty(M,"stringify",{enumerable:!0,get:function(){return He.stringify}});Object.defineProperty(M,"regexpCode",{enumerable:!0,get:function(){return He.regexpCode}});Object.defineProperty(M,"Name",{enumerable:!0,get:function(){return He.Name}});var Hr=so();Object.defineProperty(M,"Scope",{enumerable:!0,get:function(){return Hr.Scope}});Object.defineProperty(M,"ValueScope",{enumerable:!0,get:function(){return Hr.ValueScope}});Object.defineProperty(M,"ValueScopeName",{enumerable:!0,get:function(){return Hr.ValueScopeName}});Object.defineProperty(M,"varKinds",{enumerable:!0,get:function(){return Hr.varKinds}});M.operators={GT:new U._Code(">"),GTE:new U._Code(">="),LT:new U._Code("<"),LTE:new U._Code("<="),EQ:new U._Code("==="),NEQ:new U._Code("!=="),NOT:new U._Code("!"),OR:new U._Code("||"),AND:new U._Code("&&"),ADD:new U._Code("+")};var ze=class{optimizeNodes(){return this}optimizeNames(e,r){return this}},io=class extends ze{constructor(e,r,n){super(),this.varKind=e,this.name=r,this.rhs=n}render({es5:e,_n:r}){let n=e?Oe.varKinds.var:this.varKind,o=this.rhs===void 0?"":` = ${this.rhs}`;return`${n} ${this.name}${o};`+r}optimizeNames(e,r){if(e[this.name.str])return this.rhs&&(this.rhs=Ct(this.rhs,e,r)),this}get names(){return this.rhs instanceof U._CodeOrName?this.rhs.names:{}}},Vr=class extends ze{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 U.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=Ct(this.rhs,e,r),this}get names(){let e=this.lhs instanceof U.Name?{}:{...this.lhs.names};return Kr(e,this.rhs)}},ao=class extends Vr{constructor(e,r,n,o){super(e,n,o),this.op=r}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},co=class extends ze{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},lo=class extends ze{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}},uo=class extends ze{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},fo=class extends ze{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=Ct(this.code,e,r),this}get names(){return this.code instanceof U._CodeOrName?this.code.names:{}}},Yt=class extends ze{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,o=n.length;for(;o--;){let s=n[o];s.optimizeNames(e,r)||(Ju(e,s.names),n.splice(o,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,r)=>at(e,r.names),{})}},Fe=class extends Yt{render(e){return"{"+e._n+super.render(e)+"}"+e._n}},po=class extends Yt{},Et=class extends Fe{};Et.kind="else";var st=class t extends Fe{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(Ui(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=Ct(this.condition,e,r),this}get names(){let e=super.names;return Kr(e,this.condition),this.else&&at(e,this.else.names),e}};st.kind="if";var it=class extends Fe{};it.kind="for";var mo=class extends it{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=Ct(this.iteration,e,r),this}get names(){return at(super.names,this.iteration.names)}},ho=class extends it{constructor(e,r,n,o){super(),this.varKind=e,this.name=r,this.from=n,this.to=o}render(e){let r=e.es5?Oe.varKinds.var:this.varKind,{name:n,from:o,to:s}=this;return`for(${r} ${n}=${o}; ${n}<${s}; ${n}++)`+super.render(e)}get names(){let e=Kr(super.names,this.from);return Kr(e,this.to)}},Gr=class extends it{constructor(e,r,n,o){super(),this.loop=e,this.varKind=r,this.name=n,this.iterable=o}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=Ct(this.iterable,e,r),this}get names(){return at(super.names,this.iterable.names)}},Qt=class extends Fe{constructor(e,r,n){super(),this.name=e,this.args=r,this.async=n}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}};Qt.kind="func";var Xt=class extends Yt{render(e){return"return "+super.render(e)}};Xt.kind="return";var go=class extends Fe{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,o;return super.optimizeNames(e,r),(n=this.catch)===null||n===void 0||n.optimizeNames(e,r),(o=this.finally)===null||o===void 0||o.optimizeNames(e,r),this}get names(){let e=super.names;return this.catch&&at(e,this.catch.names),this.finally&&at(e,this.finally.names),e}},Zt=class extends Fe{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Zt.kind="catch";var er=class extends Fe{render(e){return"finally"+super.render(e)}};er.kind="finally";var yo=class{constructor(e,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
+ `:""},this._extScope=e,this._scope=new Oe.Scope({parent:e}),this._nodes=[new po]}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,o){let s=this._scope.toName(r);return n!==void 0&&o&&(this._constants[s.str]=n),this._leafNode(new io(e,s,n)),s}const(e,r,n){return this._def(Oe.varKinds.const,e,r,n)}let(e,r,n){return this._def(Oe.varKinds.let,e,r,n)}var(e,r,n){return this._def(Oe.varKinds.var,e,r,n)}assign(e,r,n){return this._leafNode(new Vr(e,r,n))}add(e,r){return this._leafNode(new ao(e,M.operators.ADD,r))}code(e){return typeof e=="function"?e():e!==U.nil&&this._leafNode(new fo(e)),this}object(...e){let r=["{"];for(let[n,o]of e)r.length>1&&r.push(","),r.push(n),(n!==o||this.opts.es5)&&(r.push(":"),(0,U.addCodeArg)(r,o));return r.push("}"),new U._Code(r)}if(e,r,n){if(this._blockNode(new st(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 st(e))}else(){return this._elseNode(new Et)}endIf(){return this._endBlockNode(st,Et)}_for(e,r){return this._blockNode(e),r&&this.code(r).endFor(),this}for(e,r){return this._for(new mo(e),r)}forRange(e,r,n,o,s=this.opts.es5?Oe.varKinds.var:Oe.varKinds.let){let i=this._scope.toName(e);return this._for(new ho(s,i,r,n),()=>o(i))}forOf(e,r,n,o=Oe.varKinds.const){let s=this._scope.toName(e);if(this.opts.es5){let i=r instanceof U.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,U._)`${i}.length`,a=>{this.var(s,(0,U._)`${i}[${a}]`),n(s)})}return this._for(new Gr("of",o,s,r),()=>n(s))}forIn(e,r,n,o=this.opts.es5?Oe.varKinds.var:Oe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,U._)`Object.keys(${r})`,n);let s=this._scope.toName(e);return this._for(new Gr("in",o,s,r),()=>n(s))}endFor(){return this._endBlockNode(it)}label(e){return this._leafNode(new co(e))}break(e){return this._leafNode(new lo(e))}return(e){let r=new Xt;if(this._blockNode(r),this.code(e),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Xt)}try(e,r,n){if(!r&&!n)throw new Error('CodeGen: "try" without "catch" and "finally"');let o=new go;if(this._blockNode(o),this.code(e),r){let s=this.name("e");this._currNode=o.catch=new Zt(s),r(s)}return n&&(this._currNode=o.finally=new er,this.code(n)),this._endBlockNode(Zt,er)}throw(e){return this._leafNode(new uo(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=U.nil,n,o){return this._blockNode(new Qt(e,r,n)),o&&this.code(o).endFunc(),this}endFunc(){return this._endBlockNode(Qt)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,r){let n=this._currNode;if(n instanceof e||r&&n instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${e.kind}/${r.kind}`:e.kind}"`)}_elseNode(e){let r=this._currNode;if(!(r instanceof st))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}};M.CodeGen=yo;function at(t,e){for(let r in e)t[r]=(t[r]||0)+(e[r]||0);return t}function Kr(t,e){return e instanceof U._CodeOrName?at(t,e.names):t}function Ct(t,e,r){if(t instanceof U.Name)return n(t);if(!o(t))return t;return new U._Code(t._items.reduce((s,i)=>(i instanceof U.Name&&(i=n(i)),i instanceof U._Code?s.push(...i._items):s.push(i),s),[]));function n(s){let i=r[s.str];return i===void 0||e[s.str]!==1?s:(delete e[s.str],i)}function o(s){return s instanceof U._Code&&s._items.some(i=>i instanceof U.Name&&e[i.str]===1&&r[i.str]!==void 0)}}function Ju(t,e){for(let r in e)t[r]=(t[r]||0)-(e[r]||0)}function Ui(t){return typeof t=="boolean"||typeof t=="number"||t===null?!t:(0,U._)`!${_o(t)}`}M.not=Ui;var Yu=Bi(M.operators.AND);function Qu(...t){return t.reduce(Yu)}M.and=Qu;var Xu=Bi(M.operators.OR);function Zu(...t){return t.reduce(Xu)}M.or=Zu;function Bi(t){return(e,r)=>e===U.nil?r:r===U.nil?e:(0,U._)`${_o(e)} ${t} ${_o(r)}`}function _o(t){return t instanceof U.Name?t:(0,U._)`(${t})`}});var j=v(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.checkStrictMode=L.getErrorPath=L.Type=L.useFunc=L.setEvaluated=L.evaluatedPropsToName=L.mergeEvaluated=L.eachItem=L.unescapeJsonPointer=L.escapeJsonPointer=L.escapeFragment=L.unescapeFragment=L.schemaRefOrVal=L.schemaHasRulesButRef=L.schemaHasRules=L.checkUnknownRules=L.alwaysValidSchema=L.toHash=void 0;var Y=I(),ed=Jt();function td(t){let e={};for(let r of t)e[r]=!0;return e}L.toHash=td;function rd(t,e){return typeof e=="boolean"?e:Object.keys(e).length===0?!0:(Vi(t,e),!Gi(e,t.self.RULES.all))}L.alwaysValidSchema=rd;function Vi(t,e=t.schema){let{opts:r,self:n}=t;if(!r.strictSchema||typeof e=="boolean")return;let o=n.RULES.keywords;for(let s in e)o[s]||Wi(t,`unknown keyword: "${s}"`)}L.checkUnknownRules=Vi;function Gi(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(e[r])return!0;return!1}L.schemaHasRules=Gi;function nd(t,e){if(typeof t=="boolean")return!t;for(let r in t)if(r!=="$ref"&&e.all[r])return!0;return!1}L.schemaHasRulesButRef=nd;function od({topSchemaRef:t,schemaPath:e},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,Y._)`${r}`}return(0,Y._)`${t}${e}${(0,Y.getProperty)(n)}`}L.schemaRefOrVal=od;function sd(t){return Ki(decodeURIComponent(t))}L.unescapeFragment=sd;function id(t){return encodeURIComponent(vo(t))}L.escapeFragment=id;function vo(t){return typeof t=="number"?`${t}`:t.replace(/~/g,"~0").replace(/\//g,"~1")}L.escapeJsonPointer=vo;function Ki(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")}L.unescapeJsonPointer=Ki;function ad(t,e){if(Array.isArray(t))for(let r of t)e(r);else e(t)}L.eachItem=ad;function zi({mergeNames:t,mergeToName:e,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof Y.Name?(s instanceof Y.Name?t(o,s,i):e(o,s,i),i):s instanceof Y.Name?(e(o,i,s),s):r(s,i);return a===Y.Name&&!(c instanceof Y.Name)?n(o,c):c}}L.mergeEvaluated={props:zi({mergeNames:(t,e,r)=>t.if((0,Y._)`${r} !== true && ${e} !== undefined`,()=>{t.if((0,Y._)`${e} === true`,()=>t.assign(r,!0),()=>t.assign(r,(0,Y._)`${r} || {}`).code((0,Y._)`Object.assign(${r}, ${e})`))}),mergeToName:(t,e,r)=>t.if((0,Y._)`${r} !== true`,()=>{e===!0?t.assign(r,!0):(t.assign(r,(0,Y._)`${r} || {}`),bo(t,r,e))}),mergeValues:(t,e)=>t===!0?!0:{...t,...e},resultToName:Hi}),items:zi({mergeNames:(t,e,r)=>t.if((0,Y._)`${r} !== true && ${e} !== undefined`,()=>t.assign(r,(0,Y._)`${e} === true ? true : ${r} > ${e} ? ${r} : ${e}`)),mergeToName:(t,e,r)=>t.if((0,Y._)`${r} !== true`,()=>t.assign(r,e===!0?!0:(0,Y._)`${r} > ${e} ? ${r} : ${e}`)),mergeValues:(t,e)=>t===!0?!0:Math.max(t,e),resultToName:(t,e)=>t.var("items",e)})};function Hi(t,e){if(e===!0)return t.var("props",!0);let r=t.var("props",(0,Y._)`{}`);return e!==void 0&&bo(t,r,e),r}L.evaluatedPropsToName=Hi;function bo(t,e,r){Object.keys(r).forEach(n=>t.assign((0,Y._)`${e}${(0,Y.getProperty)(n)}`,!0))}L.setEvaluated=bo;var Fi={};function cd(t,e){return t.scopeValue("func",{ref:e,code:Fi[e.code]||(Fi[e.code]=new ed._Code(e.code))})}L.useFunc=cd;var To;(function(t){t[t.Num=0]="Num",t[t.Str=1]="Str"})(To||(L.Type=To={}));function ld(t,e,r){if(t instanceof Y.Name){let n=e===To.Num;return r?n?(0,Y._)`"[" + ${t} + "]"`:(0,Y._)`"['" + ${t} + "']"`:n?(0,Y._)`"/" + ${t}`:(0,Y._)`"/" + ${t}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,Y.getProperty)(t).toString():"/"+vo(t)}L.getErrorPath=ld;function Wi(t,e,r=t.opts.strictSchema){if(r){if(e=`strict mode: ${e}`,r===!0)throw new Error(e);t.self.logger.warn(e)}}L.checkStrictMode=Wi});var Ee=v(wo=>{"use strict";Object.defineProperty(wo,"__esModule",{value:!0});var ue=I(),ud={data:new ue.Name("data"),valCxt:new ue.Name("valCxt"),instancePath:new ue.Name("instancePath"),parentData:new ue.Name("parentData"),parentDataProperty:new ue.Name("parentDataProperty"),rootData:new ue.Name("rootData"),dynamicAnchors:new ue.Name("dynamicAnchors"),vErrors:new ue.Name("vErrors"),errors:new ue.Name("errors"),this:new ue.Name("this"),self:new ue.Name("self"),scope:new ue.Name("scope"),json:new ue.Name("json"),jsonPos:new ue.Name("jsonPos"),jsonLen:new ue.Name("jsonLen"),jsonPart:new ue.Name("jsonPart")};wo.default=ud});var tr=v(de=>{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.extendErrors=de.resetErrorsCount=de.reportExtraError=de.reportError=de.keyword$DataError=de.keywordError=void 0;var B=I(),Wr=j(),pe=Ee();de.keywordError={message:({keyword:t})=>(0,B.str)`must pass "${t}" keyword validation`};de.keyword$DataError={message:({keyword:t,schemaType:e})=>e?(0,B.str)`"${t}" keyword must be ${e} ($data)`:(0,B.str)`"${t}" keyword is invalid ($data)`};function dd(t,e=de.keywordError,r,n){let{it:o}=t,{gen:s,compositeRule:i,allErrors:a}=o,c=Qi(t,e,r);n??(i||a)?Ji(s,c):Yi(o,(0,B._)`[${c}]`)}de.reportError=dd;function fd(t,e=de.keywordError,r){let{it:n}=t,{gen:o,compositeRule:s,allErrors:i}=n,a=Qi(t,e,r);Ji(o,a),s||i||Yi(n,pe.default.vErrors)}de.reportExtraError=fd;function pd(t,e){t.assign(pe.default.errors,e),t.if((0,B._)`${pe.default.vErrors} !== null`,()=>t.if(e,()=>t.assign((0,B._)`${pe.default.vErrors}.length`,e),()=>t.assign(pe.default.vErrors,null)))}de.resetErrorsCount=pd;function md({gen:t,keyword:e,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw new Error("ajv implementation error");let i=t.name("err");t.forRange("i",o,pe.default.errors,a=>{t.const(i,(0,B._)`${pe.default.vErrors}[${a}]`),t.if((0,B._)`${i}.instancePath === undefined`,()=>t.assign((0,B._)`${i}.instancePath`,(0,B.strConcat)(pe.default.instancePath,s.errorPath))),t.assign((0,B._)`${i}.schemaPath`,(0,B.str)`${s.errSchemaPath}/${e}`),s.opts.verbose&&(t.assign((0,B._)`${i}.schema`,r),t.assign((0,B._)`${i}.data`,n))})}de.extendErrors=md;function Ji(t,e){let r=t.const("err",e);t.if((0,B._)`${pe.default.vErrors} === null`,()=>t.assign(pe.default.vErrors,(0,B._)`[${r}]`),(0,B._)`${pe.default.vErrors}.push(${r})`),t.code((0,B._)`${pe.default.errors}++`)}function Yi(t,e){let{gen:r,validateName:n,schemaEnv:o}=t;o.$async?r.throw((0,B._)`new ${t.ValidationError}(${e})`):(r.assign((0,B._)`${n}.errors`,e),r.return(!1))}var ct={keyword:new B.Name("keyword"),schemaPath:new B.Name("schemaPath"),params:new B.Name("params"),propertyName:new B.Name("propertyName"),message:new B.Name("message"),schema:new B.Name("schema"),parentSchema:new B.Name("parentSchema")};function Qi(t,e,r){let{createErrors:n}=t.it;return n===!1?(0,B._)`{}`:hd(t,e,r)}function hd(t,e,r={}){let{gen:n,it:o}=t,s=[gd(o,r),yd(t,r)];return _d(t,e,s),n.object(...s)}function gd({errorPath:t},{instancePath:e}){let r=e?(0,B.str)`${t}${(0,Wr.getErrorPath)(e,Wr.Type.Str)}`:t;return[pe.default.instancePath,(0,B.strConcat)(pe.default.instancePath,r)]}function yd({keyword:t,it:{errSchemaPath:e}},{schemaPath:r,parentSchema:n}){let o=n?e:(0,B.str)`${e}/${t}`;return r&&(o=(0,B.str)`${o}${(0,Wr.getErrorPath)(r,Wr.Type.Str)}`),[ct.schemaPath,o]}function _d(t,{params:e,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=t,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=a;n.push([ct.keyword,o],[ct.params,typeof e=="function"?e(t):e||(0,B._)`{}`]),c.messages&&n.push([ct.message,typeof r=="function"?r(t):r]),c.verbose&&n.push([ct.schema,i],[ct.parentSchema,(0,B._)`${u}${d}`],[pe.default.data,s]),l&&n.push([ct.propertyName,l])}});var Zi=v(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.boolOrEmptySchema=kt.topBoolOrEmptySchema=void 0;var Td=tr(),vd=I(),bd=Ee(),wd={message:"boolean schema is false"};function Ed(t){let{gen:e,schema:r,validateName:n}=t;r===!1?Xi(t,!1):typeof r=="object"&&r.$async===!0?e.return(bd.default.data):(e.assign((0,vd._)`${n}.errors`,null),e.return(!0))}kt.topBoolOrEmptySchema=Ed;function Cd(t,e){let{gen:r,schema:n}=t;n===!1?(r.var(e,!1),Xi(t)):r.var(e,!0)}kt.boolOrEmptySchema=Cd;function Xi(t,e){let{gen:r,data:n}=t,o={gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:t};(0,Td.reportError)(o,wd,void 0,e)}});var Eo=v($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.getRules=$t.isJSONType=void 0;var kd=["string","number","integer","boolean","null","object","array"],$d=new Set(kd);function Rd(t){return typeof t=="string"&&$d.has(t)}$t.isJSONType=Rd;function Ad(){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:{}}}$t.getRules=Ad});var Co=v(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.shouldUseRule=We.shouldUseGroup=We.schemaHasRulesForType=void 0;function Sd({schema:t,self:e},r){let n=e.RULES.types[r];return n&&n!==!0&&ea(t,n)}We.schemaHasRulesForType=Sd;function ea(t,e){return e.rules.some(r=>ta(t,r))}We.shouldUseGroup=ea;function ta(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))}We.shouldUseRule=ta});var rr=v(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.reportTypeError=fe.checkDataTypes=fe.checkDataType=fe.coerceAndCheckDataType=fe.getJSONTypes=fe.getSchemaTypes=fe.DataType=void 0;var Od=Eo(),Id=Co(),xd=tr(),x=I(),ra=j(),Rt;(function(t){t[t.Correct=0]="Correct",t[t.Wrong=1]="Wrong"})(Rt||(fe.DataType=Rt={}));function Pd(t){let e=na(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}fe.getSchemaTypes=Pd;function na(t){let e=Array.isArray(t)?t:t?[t]:[];if(e.every(Od.isJSONType))return e;throw new Error("type must be JSONType or JSONType[]: "+e.join(","))}fe.getJSONTypes=na;function Md(t,e){let{gen:r,data:n,opts:o}=t,s=Nd(e,o.coerceTypes),i=e.length>0&&!(s.length===0&&e.length===1&&(0,Id.schemaHasRulesForType)(t,e[0]));if(i){let a=$o(e,n,o.strictNumbers,Rt.Wrong);r.if(a,()=>{s.length?Ld(t,e,s):Ro(t)})}return i}fe.coerceAndCheckDataType=Md;var oa=new Set(["string","number","integer","boolean","null"]);function Nd(t,e){return e?t.filter(r=>oa.has(r)||e==="array"&&r==="array"):[]}function Ld(t,e,r){let{gen:n,data:o,opts:s}=t,i=n.let("dataType",(0,x._)`typeof ${o}`),a=n.let("coerced",(0,x._)`undefined`);s.coerceTypes==="array"&&n.if((0,x._)`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,(0,x._)`${o}[0]`).assign(i,(0,x._)`typeof ${o}`).if($o(e,o,s.strictNumbers),()=>n.assign(a,o))),n.if((0,x._)`${a} !== undefined`);for(let l of r)(oa.has(l)||l==="array"&&s.coerceTypes==="array")&&c(l);n.else(),Ro(t),n.endIf(),n.if((0,x._)`${a} !== undefined`,()=>{n.assign(o,a),jd(t,a)});function c(l){switch(l){case"string":n.elseIf((0,x._)`${i} == "number" || ${i} == "boolean"`).assign(a,(0,x._)`"" + ${o}`).elseIf((0,x._)`${o} === null`).assign(a,(0,x._)`""`);return;case"number":n.elseIf((0,x._)`${i} == "boolean" || ${o} === null
3
3
  || (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,(0,x._)`+${o}`);return;case"integer":n.elseIf((0,x._)`${i} === "boolean" || ${o} === null
4
4
  || (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,(0,x._)`+${o}`);return;case"boolean":n.elseIf((0,x._)`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf((0,x._)`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf((0,x._)`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf((0,x._)`${i} === "string" || ${i} === "number"
5
- || ${i} === "boolean" || ${o} === null`).assign(a,(0,x._)`[${o}]`)}}}function jd({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,x._)`${e} !== undefined`,()=>t.assign((0,x._)`${e}[${r}]`,n))}function ko(t,e,r,n=Rt.Correct){let o=n===Rt.Correct?x.operators.EQ:x.operators.NEQ,s;switch(t){case"null":return(0,x._)`${e} ${o} null`;case"array":s=(0,x._)`Array.isArray(${e})`;break;case"object":s=(0,x._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,x._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,x._)`typeof ${e} ${o} ${t}`}return n===Rt.Correct?s:(0,x.not)(s);function i(a=x.nil){return(0,x.and)((0,x._)`typeof ${e} == "number"`,a,r?(0,x._)`isFinite(${e})`:x.nil)}}fe.checkDataType=ko;function $o(t,e,r,n){if(t.length===1)return ko(t[0],e,r,n);let o,s=(0,ra.toHash)(t);if(s.array&&s.object){let i=(0,x._)`typeof ${e} != "object"`;o=s.null?i:(0,x._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=x.nil;s.number&&delete s.integer;for(let i in s)o=(0,x.and)(o,ko(i,e,r,n));return o}fe.checkDataTypes=$o;var qd={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,x._)`{type: ${t}}`:(0,x._)`{type: ${e}}`};function Ro(t){let e=Dd(t);(0,xd.reportError)(e,qd)}fe.reportTypeError=Ro;function Dd(t){let{gen:e,data:r,schema:n}=t,o=(0,ra.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var ia=v(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.assignDefaults=void 0;var At=I(),Ud=j();function zd(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)sa(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>sa(t,s,o.default))}Jr.assignDefaults=zd;function sa(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,At._)`${s}${(0,At.getProperty)(e)}`;if(o){(0,Ud.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,At._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,At._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,At._)`${a} = ${(0,At.stringify)(r)}`)}});var Ee=v(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.validateUnion=J.validateArray=J.usePattern=J.callValidateCode=J.schemaProperties=J.allSchemaProperties=J.noPropertyInData=J.propertyInData=J.isOwnProperty=J.hasPropFunc=J.reportMissingProp=J.checkMissingProp=J.checkReportMissingProp=void 0;var Y=I(),Ao=j(),Je=Ce(),Fd=j();function Vd(t,e){let{gen:r,data:n,it:o}=t;r.if(Oo(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,Y._)`${e}`},!0),t.error()})}J.checkReportMissingProp=Vd;function Bd({gen:t,data:e,it:{opts:r}},n,o){return(0,Y.or)(...n.map(s=>(0,Y.and)(Oo(t,e,s,r.ownProperties),(0,Y._)`${o} = ${s}`)))}J.checkMissingProp=Bd;function Gd(t,e){t.setParams({missingProperty:e},!0),t.error()}J.reportMissingProp=Gd;function aa(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Y._)`Object.prototype.hasOwnProperty`})}J.hasPropFunc=aa;function So(t,e,r){return(0,Y._)`${aa(t)}.call(${e}, ${r})`}J.isOwnProperty=So;function Kd(t,e,r,n){let o=(0,Y._)`${e}${(0,Y.getProperty)(r)} !== undefined`;return n?(0,Y._)`${o} && ${So(t,e,r)}`:o}J.propertyInData=Kd;function Oo(t,e,r,n){let o=(0,Y._)`${e}${(0,Y.getProperty)(r)} === undefined`;return n?(0,Y.or)(o,(0,Y.not)(So(t,e,r))):o}J.noPropertyInData=Oo;function ca(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}J.allSchemaProperties=ca;function Hd(t,e){return ca(e).filter(r=>!(0,Ao.alwaysValidSchema)(t,e[r]))}J.schemaProperties=Hd;function Wd({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,l){let u=l?(0,Y._)`${t}, ${e}, ${n}${o}`:e,d=[[Je.default.instancePath,(0,Y.strConcat)(Je.default.instancePath,s)],[Je.default.parentData,i.parentData],[Je.default.parentDataProperty,i.parentDataProperty],[Je.default.rootData,Je.default.rootData]];i.opts.dynamicRef&&d.push([Je.default.dynamicAnchors,Je.default.dynamicAnchors]);let m=(0,Y._)`${u}, ${r.object(...d)}`;return c!==Y.nil?(0,Y._)`${a}.call(${c}, ${m})`:(0,Y._)`${a}(${m})`}J.callValidateCode=Wd;var Jd=(0,Y._)`new RegExp`;function Qd({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Y._)`${o.code==="new RegExp"?Jd:(0,Fd.useFunc)(t,o)}(${r}, ${n})`})}J.usePattern=Qd;function Xd(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,Y._)`${r}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:Ao.Type.Num},s),e.if((0,Y.not)(s),a)})}}J.validateArray=Xd;function Yd(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Ao.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,l)=>{let u=t.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);e.assign(i,(0,Y._)`${i} || ${a}`),t.mergeValidEvaluated(u,a)||e.if((0,Y.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}J.validateUnion=Yd});var da=v(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.validateKeywordUsage=Le.validSchemaType=Le.funcKeywordCode=Le.macroKeywordCode=void 0;var me=I(),lt=Ce(),Zd=Ee(),ef=tr();function tf(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=ua(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let l=r.name("valid");t.subschema({schema:a,schemaPath:me.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}Le.macroKeywordCode=tf;function rf(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;of(c,e);let l=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,u=ua(n,o,l),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===!1)p(),e.modifying&&la(t),g(()=>t.error());else{let b=e.async?h():f();e.modifying&&la(t),g(()=>nf(t,b))}}function h(){let b=n.let("ruleErrs",null);return n.try(()=>p((0,me._)`await `),w=>n.assign(d,!1).if((0,me._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,me._)`${w}.errors`),()=>n.throw(w))),b}function f(){let b=(0,me._)`${u}.errors`;return n.assign(b,null),p(me.nil),b}function p(b=e.async?(0,me._)`await `:me.nil){let w=c.opts.passContext?lt.default.this:lt.default.self,C=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,me._)`${b}${(0,Zd.callValidateCode)(t,u,w,C)}`,e.modifying)}function g(b){var w;n.if((0,me.not)((w=e.valid)!==null&&w!==void 0?w:d),b)}}Le.funcKeywordCode=rf;function la(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,me._)`${n.parentData}[${n.parentDataProperty}]`))}function nf(t,e){let{gen:r}=t;r.if((0,me._)`Array.isArray(${e})`,()=>{r.assign(lt.default.vErrors,(0,me._)`${lt.default.vErrors} === null ? ${e} : ${lt.default.vErrors}.concat(${e})`).assign(lt.default.errors,(0,me._)`${lt.default.vErrors}.length`),(0,ef.extendErrors)(t)},()=>t.error())}function of({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function ua(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,me.stringify)(r)})}function sf(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")}Le.validSchemaType=sf;function af({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Le.validateKeywordUsage=af});var pa=v(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.extendSubschemaMode=Qe.extendSubschemaData=Qe.getSubschema=void 0;var je=I(),fa=j();function cf(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){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,je._)`${t.schemaPath}${(0,je.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,je._)`${t.schemaPath}${(0,je.getProperty)(e)}${(0,je.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,fa.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Qe.getSubschema=cf;function lf(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==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:l,dataPathArr:u,opts:d}=e,m=a.let("data",(0,je._)`${e.data}${(0,je.getProperty)(r)}`,!0);c(m),t.errorPath=(0,je.str)`${l}${(0,fa.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,je._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(o!==void 0){let l=o instanceof je.Name?o:a.let("data",o,!0);c(l),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}Qe.extendSubschemaData=lf;function uf(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}Qe.extendSubschemaMode=uf});var Io=v((oT,ma)=>{"use strict";ma.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,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))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(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var ga=v((sT,ha)=>{"use strict";var Xe=ha.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Qr(e,n,o,t,"",t)};Xe.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Xe.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Xe.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Xe.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 Qr(t,e,r,n,o,s,i,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in Xe.arrayKeywords)for(var m=0;m<d.length;m++)Qr(t,e,r,d[m],o+"/"+u+"/"+m,s,o,u,n,m)}else if(u in Xe.propsKeywords){if(d&&typeof d=="object")for(var h in d)Qr(t,e,r,d[h],o+"/"+u+"/"+df(h),s,o,u,n,h)}else(u in Xe.keywords||t.allKeys&&!(u in Xe.skipKeywords))&&Qr(t,e,r,d,o+"/"+u,s,o,u,n)}r(n,o,s,i,a,c,l)}}function df(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var nr=v(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.getSchemaRefs=_e.resolveUrl=_e.normalizeId=_e._getFullPath=_e.getFullPath=_e.inlineRef=void 0;var ff=j(),pf=Io(),mf=ga(),hf=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function gf(t,e=!0){return typeof t=="boolean"?!0:e===!0?!xo(t):e?ya(t)<=e:!1}_e.inlineRef=gf;var yf=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function xo(t){for(let e in t){if(yf.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(xo)||typeof r=="object"&&xo(r))return!0}return!1}function ya(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!hf.has(r)&&(typeof t[r]=="object"&&(0,ff.eachItem)(t[r],n=>e+=ya(n)),e===1/0))return 1/0}return e}function _a(t,e="",r){r!==!1&&(e=St(e));let n=t.parse(e);return Ta(t,n)}_e.getFullPath=_a;function Ta(t,e){return t.serialize(e).split("#")[0]+"#"}_e._getFullPath=Ta;var _f=/#\/?$/;function St(t){return t?t.replace(_f,""):""}_e.normalizeId=St;function Tf(t,e,r){return r=St(r),t.resolve(e,r)}_e.resolveUrl=Tf;var vf=/^[a-z_][-a-z0-9._]*$/i;function bf(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=St(t[r]||e),s={"":o},i=_a(n,o,!1),a={},c=new Set;return mf(t,{allKeys:!0},(d,m,h,f)=>{if(f===void 0)return;let p=i+m,g=s[f];typeof d[r]=="string"&&(g=b.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),s[m]=g;function b(C){let O=this.opts.uriResolver.resolve;if(C=St(g?O(g,C):C),c.has(C))throw u(C);c.add(C);let E=this.refs[C];return typeof E=="string"&&(E=this.refs[E]),typeof E=="object"?l(d,E.schema,C):C!==St(p)&&(C[0]==="#"?(l(d,a[C],C),a[C]=d):this.refs[C]=p),C}function w(C){if(typeof C=="string"){if(!vf.test(C))throw new Error(`invalid anchor "${C}"`);b.call(this,`#${C}`)}}}),a;function l(d,m,h){if(m!==void 0&&!pf(d,m))throw u(h)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}_e.getSchemaRefs=bf});var ir=v(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.getData=Ye.KeywordCxt=Ye.validateFunctionCode=void 0;var Ea=Zi(),va=rr(),Mo=Eo(),Xr=rr(),wf=ia(),sr=da(),Po=pa(),$=I(),S=Ce(),Cf=nr(),Be=j(),or=tr();function Ef(t){if(Ra(t)&&(Aa(t),$a(t))){Rf(t);return}ka(t,()=>(0,Ea.topBoolOrEmptySchema)(t))}Ye.validateFunctionCode=Ef;function ka({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,$._)`${S.default.data}, ${S.default.valCxt}`,n.$async,()=>{t.code((0,$._)`"use strict"; ${ba(r,o)}`),$f(t,o),t.code(s)}):t.func(e,(0,$._)`${S.default.data}, ${kf(o)}`,n.$async,()=>t.code(ba(r,o)).code(s))}function kf(t){return(0,$._)`{${S.default.instancePath}="", ${S.default.parentData}, ${S.default.parentDataProperty}, ${S.default.rootData}=${S.default.data}${t.dynamicRef?(0,$._)`, ${S.default.dynamicAnchors}={}`:$.nil}}={}`}function $f(t,e){t.if(S.default.valCxt,()=>{t.var(S.default.instancePath,(0,$._)`${S.default.valCxt}.${S.default.instancePath}`),t.var(S.default.parentData,(0,$._)`${S.default.valCxt}.${S.default.parentData}`),t.var(S.default.parentDataProperty,(0,$._)`${S.default.valCxt}.${S.default.parentDataProperty}`),t.var(S.default.rootData,(0,$._)`${S.default.valCxt}.${S.default.rootData}`),e.dynamicRef&&t.var(S.default.dynamicAnchors,(0,$._)`${S.default.valCxt}.${S.default.dynamicAnchors}`)},()=>{t.var(S.default.instancePath,(0,$._)`""`),t.var(S.default.parentData,(0,$._)`undefined`),t.var(S.default.parentDataProperty,(0,$._)`undefined`),t.var(S.default.rootData,S.default.data),e.dynamicRef&&t.var(S.default.dynamicAnchors,(0,$._)`{}`)})}function Rf(t){let{schema:e,opts:r,gen:n}=t;ka(t,()=>{r.$comment&&e.$comment&&Oa(t),xf(t),n.let(S.default.vErrors,null),n.let(S.default.errors,0),r.unevaluated&&Af(t),Sa(t),Nf(t)})}function Af(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,$._)`${r}.evaluated`),e.if((0,$._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,$._)`${t.evaluated}.props`,(0,$._)`undefined`)),e.if((0,$._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,$._)`${t.evaluated}.items`,(0,$._)`undefined`))}function ba(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,$._)`/*# sourceURL=${r} */`:$.nil}function Sf(t,e){if(Ra(t)&&(Aa(t),$a(t))){Of(t,e);return}(0,Ea.boolOrEmptySchema)(t,e)}function $a({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 Ra(t){return typeof t.schema!="boolean"}function Of(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Oa(t),Pf(t),Mf(t);let s=n.const("_errs",S.default.errors);Sa(t,s),n.var(e,(0,$._)`${s} === ${S.default.errors}`)}function Aa(t){(0,Be.checkUnknownRules)(t),If(t)}function Sa(t,e){if(t.opts.jtd)return wa(t,[],!1,e);let r=(0,va.getSchemaTypes)(t.schema),n=(0,va.coerceAndCheckDataType)(t,r);wa(t,r,!n,e)}function If(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Be.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function xf(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Be.checkStrictMode)(t,"default is ignored in the schema root")}function Pf(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Cf.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Mf(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Oa({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,$._)`${S.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,$.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,$._)`${S.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Nf(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,$._)`${S.default.errors} === 0`,()=>e.return(S.default.data),()=>e.throw((0,$._)`new ${o}(${S.default.vErrors})`)):(e.assign((0,$._)`${n}.errors`,S.default.vErrors),s.unevaluated&&Lf(t),e.return((0,$._)`${S.default.errors} === 0`))}function Lf({gen:t,evaluated:e,props:r,items:n}){r instanceof $.Name&&t.assign((0,$._)`${e}.props`,r),n instanceof $.Name&&t.assign((0,$._)`${e}.items`,n)}function wa(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:l}=t,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Be.schemaHasRulesButRef)(s,u))){o.block(()=>xa(t,"$ref",u.all.$ref.definition));return}c.jtd||jf(t,e),o.block(()=>{for(let m of u.rules)d(m);d(u.post)});function d(m){(0,Mo.shouldUseGroup)(s,m)&&(m.type?(o.if((0,Xr.checkDataType)(m.type,i,c.strictNumbers)),Ca(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,Xr.reportTypeError)(t)),o.endIf()):Ca(t,m),a||o.if((0,$._)`${S.default.errors} === ${n||0}`))}}function Ca(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,wf.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Mo.shouldUseRule)(n,s)&&xa(t,s.keyword,s.definition,e.type)})}function jf(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(qf(t,e),t.opts.allowUnionTypes||Df(t,e),Uf(t,t.dataTypes))}function qf(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Ia(t.dataTypes,r)||No(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),Ff(t,e)}}function Df(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&No(t,"use allowUnionTypes to allow union type keyword")}function Uf(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Mo.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>zf(e,i))&&No(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function zf(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Ia(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function Ff(t,e){let r=[];for(let n of t.dataTypes)Ia(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function No(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Be.checkStrictMode)(t,e,t.opts.strictTypes)}var Yr=class{constructor(e,r,n){if((0,sr.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,Be.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",Pa(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,sr.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",S.default.errors))}result(e,r,n){this.failResult((0,$.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,$.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,$._)`${r} !== undefined && (${(0,$.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?or.reportExtraError:or.reportError)(this,this.def.error,r)}$dataError(){(0,or.reportError)(this,this.def.$dataError||or.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,or.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=$.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=$.nil,r=$.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,$.or)((0,$._)`${o} === undefined`,r)),e!==$.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==$.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,$.or)(i(),a());function i(){if(n.length){if(!(r instanceof $.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,$._)`${(0,Xr.checkDataTypes)(c,r,s.opts.strictNumbers,Xr.DataType.Wrong)}`}return $.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,$._)`!${c}(${r})`}return $.nil}}subschema(e,r){let n=(0,Po.getSubschema)(this.it,e);(0,Po.extendSubschemaData)(n,this.it,e),(0,Po.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return Sf(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Be.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Be.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,$.Name)),!0}};Ye.KeywordCxt=Yr;function xa(t,e,r,n){let o=new Yr(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,sr.funcKeywordCode)(o,r):"macro"in r?(0,sr.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,sr.funcKeywordCode)(o,r)}var Vf=/^\/(?:[^~]|~0|~1)*$/,Bf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Pa(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return S.default.rootData;if(t[0]==="/"){if(!Vf.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=S.default.rootData}else{let l=Bf.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(o=l[2],o==="#"){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],!o)return s}let i=s,a=o.split("/");for(let l of a)l&&(s=(0,$._)`${s}${(0,$.getProperty)((0,Be.unescapeJsonPointer)(l))}`,i=(0,$._)`${i} && ${s}`);return i;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}Ye.getData=Pa});var Zr=v(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});var Lo=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};jo.default=Lo});var ar=v(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});var qo=nr(),Do=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,qo.resolveUrl)(e,r,n),this.missingSchema=(0,qo.normalizeId)((0,qo.getFullPath)(e,this.missingRef))}};Uo.default=Do});var cr=v(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.resolveSchema=ke.getCompilingSchema=ke.resolveRef=ke.compileSchema=ke.SchemaEnv=void 0;var Ie=I(),Gf=Zr(),ut=Ce(),xe=nr(),Ma=j(),Kf=ir(),Ot=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,xe.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ke.SchemaEnv=Ot;function Fo(t){let e=Na.call(this,t);if(e)return e;let r=(0,xe.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Ie.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:Gf.default,code:(0,Ie._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let l={gen:i,allErrors:this.opts.allErrors,data:ut.default.data,parentData:ut.default.parentData,parentDataProperty:ut.default.parentDataProperty,dataNames:[ut.default.data],dataPathArr:[Ie.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Ie.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ie.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ie._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,Kf.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);let d=i.toString();u=`${i.scopeRefs(ut.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let h=new Function(`${ut.default.self}`,`${ut.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:d,scopeValues:i._values}),this.opts.unevaluated){let{props:f,items:p}=l;h.evaluated={props:f instanceof Ie.Name?void 0:f,items:p instanceof Ie.Name?void 0:p,dynamicProps:f instanceof Ie.Name,dynamicItems:p instanceof Ie.Name},h.source&&(h.source.evaluated=(0,Ie.stringify)(h.evaluated))}return t.validate=h,t}catch(d){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(t)}}ke.compileSchema=Fo;function Hf(t,e,r){var n;r=(0,xe.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=Qf.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Ot({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=Wf.call(this,s)}ke.resolveRef=Hf;function Wf(t){return(0,xe.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:Fo.call(this,t)}function Na(t){for(let e of this._compilations)if(Jf(e,t))return e}ke.getCompilingSchema=Na;function Jf(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Qf(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||en.call(this,t,e)}function en(t,e){let r=this.opts.uriResolver.parse(e),n=(0,xe._getFullPath)(this.opts.uriResolver,r),o=(0,xe.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return zo.call(this,r,t);let s=(0,xe.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=en.call(this,t,i);return typeof a?.schema!="object"?void 0:zo.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||Fo.call(this,i),s===(0,xe.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,xe.resolveUrl)(this.opts.uriResolver,o,l)),new Ot({schema:a,schemaId:c,root:t,baseId:o})}return zo.call(this,r,i)}}ke.resolveSchema=en;var Xf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function zo(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Ma.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!Xf.has(a)&&l&&(e=(0,xe.resolveUrl)(this.opts.uriResolver,e,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Ma.schemaHasRulesButRef)(r,this.RULES)){let a=(0,xe.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=en.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Ot({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var La=v((dT,Yf)=>{Yf.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 Go=v((fT,Fa)=>{"use strict";var Zf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),qa=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),Vo=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Da=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),ep=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Bo(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 tp=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ja(t){return t.length=0,!0}function rp(t,e,r){if(t.length){let n=Bo(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function np(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=rp;for(let c=0;c<t.length;c++){let l=t[c];if(!(l==="["||l==="]"))if(l===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=ja}else{o.push(l);continue}}return o.length&&(a===ja?r.zone=o.join(""):i?n.push(o.join("")):n.push(Bo(o))),r.address=n.join(""),r}function Ua(t){if(op(t,":")<2)return{host:t,isIPV6:!1};let e=np(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 op(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function sp(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===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(o===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 ip={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},ap=/[@/?#:]/g,cp=/[@/?#]/g;function za(t,e){let r=e?cp:ap;return r.lastIndex=0,t.replace(r,n=>ip[n])}function lp(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 o=t.slice(n+1,n+3);if(Vo(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));e&&Da(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function up(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(Vo(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Da(s)?e+=s:e+="%"+o,r+=2;continue}}ep(t[r])?e+=t[r]:e+=escape(t[r])}return e}function dp(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(Vo(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function fp(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!qa(r)){let n=Ua(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=za(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}Fa.exports={nonSimpleDomain:tp,recomposeAuthority:fp,reescapeHostDelimiters:za,normalizePercentEncoding:lp,normalizePathEncoding:up,escapePreservingEscapes:dp,removeDotSegments:sp,isIPv4:qa,isUUID:Zf,normalizeIPv6:Ua,stringArrayToHexStripped:Bo}});var Ha=v((pT,Ka)=>{"use strict";var{isUUID:pp}=Go(),mp=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,hp=["http","https","ws","wss","urn","urn:uuid"];function gp(t){return hp.indexOf(t)!==-1}function Ko(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 Va(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Ba(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 yp(t){return t.secure=Ko(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function _p(t){if((t.port===(Ko(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 Tp(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(mp);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=Ho(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function vp(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(),o=`${r}:${e.nid||n}`,s=Ho(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function bp(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!pp(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function wp(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Ga={scheme:"http",domainHost:!0,parse:Va,serialize:Ba},Cp={scheme:"https",domainHost:Ga.domainHost,parse:Va,serialize:Ba},tn={scheme:"ws",domainHost:!0,parse:yp,serialize:_p},Ep={scheme:"wss",domainHost:tn.domainHost,parse:tn.parse,serialize:tn.serialize},kp={scheme:"urn",parse:Tp,serialize:vp,skipNormalize:!0},$p={scheme:"urn:uuid",parse:bp,serialize:wp,skipNormalize:!0},rn={http:Ga,https:Cp,ws:tn,wss:Ep,urn:kp,"urn:uuid":$p};Object.setPrototypeOf(rn,null);function Ho(t){return t&&(rn[t]||rn[t.toLowerCase()])||void 0}Ka.exports={wsIsSecure:Ko,SCHEMES:rn,isValidSchemeName:gp,getSchemeHandler:Ho}});var Za=v((mT,nn)=>{"use strict";var{normalizeIPv6:Rp,removeDotSegments:lr,recomposeAuthority:Ap,normalizePercentEncoding:Sp,normalizePathEncoding:Op,escapePreservingEscapes:Ip,reescapeHostDelimiters:xp,isIPv4:Pp,nonSimpleDomain:Mp}=Go(),{SCHEMES:Np,getSchemeHandler:Ja}=Ha();function Lp(t,e){return typeof t=="string"?t=zp(t,e):typeof t=="object"&&(t=It(dt(t,e),e)),t}function jp(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Qa(It(t,n),It(e,n),n,!0);return n.skipEscape=!0,dt(o,n)}function Qa(t,e,r,n){let o={};return n||(t=It(dt(t,r),r),e=It(dt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=lr(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=lr(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=lr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=lr(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function qp(t,e,r){let n=Wa(t,r),o=Wa(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function dt(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),o=[],s=Ja(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=Sp(r.path):(r.path=Ip(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=Ap(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=lr(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var Dp=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Up(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 Xa(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},o=!1,s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(Dp);if(i){n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]);let a=Up(n,i);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(Pp(n.host)===!1){let u=Rp(n.host);n.host=u.host.toLowerCase(),s=u.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 c=Ja(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&s===!1&&Mp(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=xp(unescape(n.host),s))),n.path&&(n.path=Op(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}c&&c.parse&&c.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function It(t,e){return Xa(t,e).parsed}function zp(t,e){return Ya(t,e).normalized}function Ya(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Xa(t,e);return{normalized:n?t:dt(r,e),malformedAuthorityOrPort:n}}function Wa(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Ya(t,e);return n?void 0:r}if(typeof t=="object")return dt(t,e)}var Wo={SCHEMES:Np,normalize:Lp,resolve:jp,resolveComponent:Qa,equal:qp,serialize:dt,parse:It};nn.exports=Wo;nn.exports.default=Wo;nn.exports.fastUri=Wo});var tc=v(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});var ec=Za();ec.code='require("ajv/dist/runtime/uri").default';Jo.default=ec});var lc=v(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.CodeGen=ae.Name=ae.nil=ae.stringify=ae.str=ae._=ae.KeywordCxt=void 0;var Fp=ir();Object.defineProperty(ae,"KeywordCxt",{enumerable:!0,get:function(){return Fp.KeywordCxt}});var xt=I();Object.defineProperty(ae,"_",{enumerable:!0,get:function(){return xt._}});Object.defineProperty(ae,"str",{enumerable:!0,get:function(){return xt.str}});Object.defineProperty(ae,"stringify",{enumerable:!0,get:function(){return xt.stringify}});Object.defineProperty(ae,"nil",{enumerable:!0,get:function(){return xt.nil}});Object.defineProperty(ae,"Name",{enumerable:!0,get:function(){return xt.Name}});Object.defineProperty(ae,"CodeGen",{enumerable:!0,get:function(){return xt.CodeGen}});var Vp=Zr(),ic=ar(),Bp=Co(),ur=cr(),Gp=I(),dr=nr(),on=rr(),Xo=j(),rc=La(),Kp=tc(),ac=(t,e)=>new RegExp(t,e);ac.code="new RegExp";var Hp=["removeAdditional","useDefaults","coerceTypes"],Wp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Jp={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."},Qp={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},nc=200;function Xp(t){var e,r,n,o,s,i,a,c,l,u,d,m,h,f,p,g,b,w,C,O,E,B,k,T,q;let G=t.strict,W=(e=t.code)===null||e===void 0?void 0:e.optimize,oe=W===!0||W===void 0?1:W||0,X=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:ac,Re=(o=t.uriResolver)!==null&&o!==void 0?o:Kp.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:G)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:G)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:G)!==null&&u!==void 0?u:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:G)!==null&&m!==void 0?m:"log",strictRequired:(f=(h=t.strictRequired)!==null&&h!==void 0?h:G)!==null&&f!==void 0?f:!1,code:t.code?{...t.code,optimize:oe,regExp:X}:{optimize:oe,regExp:X},loopRequired:(p=t.loopRequired)!==null&&p!==void 0?p:nc,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:nc,meta:(b=t.meta)!==null&&b!==void 0?b:!0,messages:(w=t.messages)!==null&&w!==void 0?w:!0,inlineRefs:(C=t.inlineRefs)!==null&&C!==void 0?C:!0,schemaId:(O=t.schemaId)!==null&&O!==void 0?O:"$id",addUsedSchema:(E=t.addUsedSchema)!==null&&E!==void 0?E:!0,validateSchema:(B=t.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(k=t.validateFormats)!==null&&k!==void 0?k:!0,unicodeRegExp:(T=t.unicodeRegExp)!==null&&T!==void 0?T:!0,int32range:(q=t.int32range)!==null&&q!==void 0?q:!0,uriResolver:Re}}var fr=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,...Xp(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Gp.ValueScope({scope:{},prefixes:Wp,es5:r,lines:n}),this.logger=nm(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Bp.getRules)(),oc.call(this,Jp,e,"NOT SUPPORTED"),oc.call(this,Qp,e,"DEPRECATED","warn"),this._metaOpts=tm.call(this),e.formats&&Zp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&em.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Yp.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=rc;n==="id"&&(o={...rc},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[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 o=n(r);return"$async"in n||(this.errors=n.errors),o}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 o.call(this,e,r);async function o(u,d){await s.call(this,u.$schema);let m=this._addSchema(u,d);return m.validate||i.call(this,m)}async function s(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function i(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof ic.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await s.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,dr.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!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 o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=sc.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ur.SchemaEnv({schema:{},schemaId:n});if(r=ur.resolveSchema.call(this,o,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=sc.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,dr.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(sm.call(this,n,r),!r)return(0,Xo.eachItem)(n,s=>Qo.call(this,s)),this;am.call(this,r);let o={...r,type:(0,on.getJSONTypes)(r.type),schemaType:(0,on.getJSONTypes)(r.schemaType)};return(0,Xo.eachItem)(n,o.type.length===0?s=>Qo.call(this,s,o):s=>o.type.forEach(i=>Qo.call(this,s,o,i))),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 o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,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(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=i[a];l&&u&&(i[a]=cc(u))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=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,dr.normalizeId)(i||n);let l=dr.getSchemaRefs.call(this,e,n);return c=new ur.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&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):ur.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{ur.compileSchema.call(this,e)}finally{this.opts=r}}};fr.ValidationError=Vp.default;fr.MissingRefError=ic.default;ae.default=fr;function oc(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function sc(t){return t=(0,dr.normalizeId)(t),this.schemas[t]||this.refs[t]}function Yp(){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 Zp(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function em(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 tm(){let t={...this.opts};for(let e of Hp)delete t[e];return t}var rm={log(){},warn(){},error(){}};function nm(t){if(t===!1)return rm;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 om=/^[a-z_$][a-z0-9_$:-]*$/i;function sm(t,e){let{RULES:r}=this;if((0,Xo.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!om.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 Qo(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,on.getJSONTypes)(e.type),schemaType:(0,on.getJSONTypes)(e.schemaType)}};e.before?im.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function im(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function am(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=cc(e)),t.validateSchema=this.compile(e,!0))}var cm={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cc(t){return{anyOf:[t,cm]}}});var uc=v(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});var lm={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Yo.default=lm});var cn=v(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.callRef=ft.getValidate=void 0;var um=ar(),dc=Ee(),Te=I(),Pt=Ce(),fc=cr(),sn=j(),dm={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:l}=s;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=fc.resolveRef.call(c,l,o,r);if(u===void 0)throw new um.default(n.opts.uriResolver,o,r);if(u instanceof fc.SchemaEnv)return m(u);return h(u);function d(){if(s===l)return an(t,i,s,s.$async);let f=e.scopeValue("root",{ref:l});return an(t,(0,Te._)`${f}.validate`,l,l.$async)}function m(f){let p=pc(t,f);an(t,p,f,f.$async)}function h(f){let p=e.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,Te.stringify)(f)}:{ref:f}),g=e.name("valid"),b=t.subschema({schema:f,dataTypes:[],schemaPath:Te.nil,topSchemaRef:p,errSchemaPath:r},g);t.mergeEvaluated(b),t.ok(g)}}};function pc(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Te._)`${r.scopeValue("wrapper",{ref:e})}.validate`}ft.getValidate=pc;function an(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,l=c.passContext?Pt.default.this:Te.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let f=o.let("valid");o.try(()=>{o.code((0,Te._)`await ${(0,dc.callValidateCode)(t,e,l)}`),h(e),i||o.assign(f,!0)},p=>{o.if((0,Te._)`!(${p} instanceof ${s.ValidationError})`,()=>o.throw(p)),m(p),i||o.assign(f,!1)}),t.ok(f)}function d(){t.result((0,dc.callValidateCode)(t,e,l),()=>h(e),()=>m(e))}function m(f){let p=(0,Te._)`${f}.errors`;o.assign(Pt.default.vErrors,(0,Te._)`${Pt.default.vErrors} === null ? ${p} : ${Pt.default.vErrors}.concat(${p})`),o.assign(Pt.default.errors,(0,Te._)`${Pt.default.vErrors}.length`)}function h(f){var p;if(!s.opts.unevaluated)return;let g=(p=r?.validate)===null||p===void 0?void 0:p.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=sn.mergeEvaluated.props(o,g.props,s.props));else{let b=o.var("props",(0,Te._)`${f}.evaluated.props`);s.props=sn.mergeEvaluated.props(o,b,s.props,Te.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=sn.mergeEvaluated.items(o,g.items,s.items));else{let b=o.var("items",(0,Te._)`${f}.evaluated.items`);s.items=sn.mergeEvaluated.items(o,b,s.items,Te.Name)}}}ft.callRef=an;ft.default=dm});var mc=v(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});var fm=uc(),pm=cn(),mm=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",fm.default,pm.default];Zo.default=mm});var hc=v(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var ln=I(),Ze=ln.operators,un={maximum:{okStr:"<=",ok:Ze.LTE,fail:Ze.GT},minimum:{okStr:">=",ok:Ze.GTE,fail:Ze.LT},exclusiveMaximum:{okStr:"<",ok:Ze.LT,fail:Ze.GTE},exclusiveMinimum:{okStr:">",ok:Ze.GT,fail:Ze.LTE}},hm={message:({keyword:t,schemaCode:e})=>(0,ln.str)`must be ${un[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,ln._)`{comparison: ${un[t].okStr}, limit: ${e}}`},gm={keyword:Object.keys(un),type:"number",schemaType:"number",$data:!0,error:hm,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,ln._)`${r} ${un[e].fail} ${n} || isNaN(${r})`)}};es.default=gm});var gc=v(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var pr=I(),ym={message:({schemaCode:t})=>(0,pr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,pr._)`{multipleOf: ${t}}`},_m={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:ym,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,pr._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,pr._)`${i} !== parseInt(${i})`;t.fail$data((0,pr._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};ts.default=_m});var _c=v(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});function yc(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}rs.default=yc;yc.code='require("ajv/dist/runtime/ucs2length").default'});var Tc=v(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var pt=I(),Tm=j(),vm=_c(),bm={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,pt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,pt._)`{limit: ${t}}`},wm={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:bm,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?pt.operators.GT:pt.operators.LT,i=o.opts.unicode===!1?(0,pt._)`${r}.length`:(0,pt._)`${(0,Tm.useFunc)(t.gen,vm.default)}(${r})`;t.fail$data((0,pt._)`${i} ${s} ${n}`)}};ns.default=wm});var vc=v(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var Cm=Ee(),Em=j(),Mt=I(),km={message:({schemaCode:t})=>(0,Mt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Mt._)`{pattern: ${t}}`},$m={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:km,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,l=c.code==="new RegExp"?(0,Mt._)`new RegExp`:(0,Em.useFunc)(e,c),u=e.let("valid");e.try(()=>e.assign(u,(0,Mt._)`${l}(${s}, ${a}).test(${r})`),()=>e.assign(u,!1)),t.fail$data((0,Mt._)`!${u}`)}else{let c=(0,Cm.usePattern)(t,o);t.fail$data((0,Mt._)`!${c}.test(${r})`)}}};os.default=$m});var bc=v(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});var mr=I(),Rm={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,mr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,mr._)`{limit: ${t}}`},Am={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Rm,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?mr.operators.GT:mr.operators.LT;t.fail$data((0,mr._)`Object.keys(${r}).length ${o} ${n}`)}};ss.default=Am});var wc=v(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var hr=Ee(),gr=I(),Sm=j(),Om={message:({params:{missingProperty:t}})=>(0,gr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,gr._)`{missingProperty: ${t}}`},Im={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Om,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?l():u(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:f}=t.it;for(let p of r)if(h?.[p]===void 0&&!f.has(p)){let g=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${p}" is not defined at "${g}" (strictRequired)`;(0,Sm.checkStrictMode)(i,b,i.opts.strictRequired)}}function l(){if(c||s)t.block$data(gr.nil,d);else for(let h of r)(0,hr.checkReportMissingProp)(t,h)}function u(){let h=e.let("missing");if(c||s){let f=e.let("valid",!0);t.block$data(f,()=>m(h,f)),t.ok(f)}else e.if((0,hr.checkMissingProp)(t,r,h)),(0,hr.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,hr.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function m(h,f){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(f,(0,hr.propertyInData)(e,o,h,a.ownProperties)),e.if((0,gr.not)(f),()=>{t.error(),e.break()})},gr.nil)}}};is.default=Im});var Cc=v(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var yr=I(),xm={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,yr.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,yr._)`{limit: ${t}}`},Pm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:xm,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?yr.operators.GT:yr.operators.LT;t.fail$data((0,yr._)`${r}.length ${o} ${n}`)}};as.default=Pm});var dn=v(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var Ec=Io();Ec.code='require("ajv/dist/runtime/equal").default';cs.default=Ec});var kc=v(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});var ls=rr(),ce=I(),Mm=j(),Nm=dn(),Lm={message:({params:{i:t,j:e}})=>(0,ce.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,ce._)`{i: ${t}, j: ${e}}`},jm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Lm,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),l=s.items?(0,ls.getSchemaTypes)(s.items):[];t.block$data(c,u,(0,ce._)`${i} === false`),t.ok(c);function u(){let f=e.let("i",(0,ce._)`${r}.length`),p=e.let("j");t.setParams({i:f,j:p}),e.assign(c,!0),e.if((0,ce._)`${f} > 1`,()=>(d()?m:h)(f,p))}function d(){return l.length>0&&!l.some(f=>f==="object"||f==="array")}function m(f,p){let g=e.name("item"),b=(0,ls.checkDataTypes)(l,g,a.opts.strictNumbers,ls.DataType.Wrong),w=e.const("indices",(0,ce._)`{}`);e.for((0,ce._)`;${f}--;`,()=>{e.let(g,(0,ce._)`${r}[${f}]`),e.if(b,(0,ce._)`continue`),l.length>1&&e.if((0,ce._)`typeof ${g} == "string"`,(0,ce._)`${g} += "_"`),e.if((0,ce._)`typeof ${w}[${g}] == "number"`,()=>{e.assign(p,(0,ce._)`${w}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,ce._)`${w}[${g}] = ${f}`)})}function h(f,p){let g=(0,Mm.useFunc)(e,Nm.default),b=e.name("outer");e.label(b).for((0,ce._)`;${f}--;`,()=>e.for((0,ce._)`${p} = ${f}; ${p}--;`,()=>e.if((0,ce._)`${g}(${r}[${f}], ${r}[${p}])`,()=>{t.error(),e.assign(c,!1).break(b)})))}}};us.default=jm});var $c=v(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var ds=I(),qm=j(),Dm=dn(),Um={message:"must be equal to constant",params:({schemaCode:t})=>(0,ds._)`{allowedValue: ${t}}`},zm={keyword:"const",$data:!0,error:Um,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,ds._)`!${(0,qm.useFunc)(e,Dm.default)}(${r}, ${o})`):t.fail((0,ds._)`${s} !== ${r}`)}};fs.default=zm});var Rc=v(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var _r=I(),Fm=j(),Vm=dn(),Bm={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,_r._)`{allowedValues: ${t}}`},Gm={keyword:"enum",schemaType:"array",$data:!0,error:Bm,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,l=()=>c??(c=(0,Fm.useFunc)(e,Vm.default)),u;if(a||n)u=e.let("valid"),t.block$data(u,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=e.const("vSchema",s);u=(0,_r.or)(...o.map((f,p)=>m(h,p)))}t.pass(u);function d(){e.assign(u,!1),e.forOf("v",s,h=>e.if((0,_r._)`${l()}(${r}, ${h})`,()=>e.assign(u,!0).break()))}function m(h,f){let p=o[f];return typeof p=="object"&&p!==null?(0,_r._)`${l()}(${r}, ${h}[${f}])`:(0,_r._)`${r} === ${p}`}}};ps.default=Gm});var Ac=v(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var Km=hc(),Hm=gc(),Wm=Tc(),Jm=vc(),Qm=bc(),Xm=wc(),Ym=Cc(),Zm=kc(),eh=$c(),th=Rc(),rh=[Km.default,Hm.default,Wm.default,Jm.default,Qm.default,Xm.default,Ym.default,Zm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},eh.default,th.default];ms.default=rh});var gs=v(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.validateAdditionalItems=void 0;var mt=I(),hs=j(),nh={message:({params:{len:t}})=>(0,mt.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,mt._)`{limit: ${t}}`},oh={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:nh,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,hs.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Sc(t,n)}};function Sc(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,mt._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,mt._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,hs.alwaysValidSchema)(i,n)){let l=r.var("valid",(0,mt._)`${a} <= ${e.length}`);r.if((0,mt.not)(l),()=>c(l)),t.ok(l)}function c(l){r.forRange("i",e.length,a,u=>{t.subschema({keyword:s,dataProp:u,dataPropType:hs.Type.Num},l),i.allErrors||r.if((0,mt.not)(l),()=>r.break())})}}Tr.validateAdditionalItems=Sc;Tr.default=oh});var ys=v(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.validateTuple=void 0;var Oc=I(),fn=j(),sh=Ee(),ih={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Ic(t,"additionalItems",e);r.items=!0,!(0,fn.alwaysValidSchema)(r,e)&&t.ok((0,sh.validateArray)(t))}};function Ic(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=fn.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,Oc._)`${s}.length`);r.forEach((d,m)=>{(0,fn.alwaysValidSchema)(a,d)||(n.if((0,Oc._)`${l} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c))});function u(d){let{opts:m,errSchemaPath:h}=a,f=r.length,p=f===d.minItems&&(f===d.maxItems||d[e]===!1);if(m.strictTuples&&!p){let g=`"${i}" is ${f}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,fn.checkStrictMode)(a,g,m.strictTuples)}}}vr.validateTuple=Ic;vr.default=ih});var xc=v(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});var ah=ys(),ch={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,ah.validateTuple)(t,"items")};_s.default=ch});var Mc=v(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var Pc=I(),lh=j(),uh=Ee(),dh=gs(),fh={message:({params:{len:t}})=>(0,Pc.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Pc._)`{limit: ${t}}`},ph={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:fh,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,lh.alwaysValidSchema)(n,e)&&(o?(0,dh.validateAdditionalItems)(t,o):t.ok((0,uh.validateArray)(t)))}};Ts.default=ph});var Nc=v(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var $e=I(),pn=j(),mh={message:({params:{min:t,max:e}})=>e===void 0?(0,$e.str)`must contain at least ${t} valid item(s)`:(0,$e.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,$e._)`{minContains: ${t}}`:(0,$e._)`{minContains: ${t}, maxContains: ${e}}`},hh={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:mh,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:l}=n;s.opts.next?(i=c===void 0?1:c,a=l):i=1;let u=e.const("len",(0,$e._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,pn.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,pn.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,pn.alwaysValidSchema)(s,r)){let p=(0,$e._)`${u} >= ${i}`;a!==void 0&&(p=(0,$e._)`${p} && ${u} <= ${a}`),t.pass(p);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?h(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,$e._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let p=e.name("_valid"),g=e.let("count",0);h(p,()=>e.if(p,()=>f(g)))}function h(p,g){e.forRange("i",0,u,b=>{t.subschema({keyword:"contains",dataProp:b,dataPropType:pn.Type.Num,compositeRule:!0},p),g()})}function f(p){e.code((0,$e._)`${p}++`),a===void 0?e.if((0,$e._)`${p} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,$e._)`${p} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,$e._)`${p} >= ${i}`,()=>e.assign(d,!0)))}}};vs.default=hh});var mn=v(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.validateSchemaDeps=qe.validatePropertyDeps=qe.error=void 0;var bs=I(),gh=j(),br=Ee();qe.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,bs.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,bs._)`{property: ${t},
5
+ || ${i} === "boolean" || ${o} === null`).assign(a,(0,x._)`[${o}]`)}}}function jd({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,x._)`${e} !== undefined`,()=>t.assign((0,x._)`${e}[${r}]`,n))}function ko(t,e,r,n=Rt.Correct){let o=n===Rt.Correct?x.operators.EQ:x.operators.NEQ,s;switch(t){case"null":return(0,x._)`${e} ${o} null`;case"array":s=(0,x._)`Array.isArray(${e})`;break;case"object":s=(0,x._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=i((0,x._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=i();break;default:return(0,x._)`typeof ${e} ${o} ${t}`}return n===Rt.Correct?s:(0,x.not)(s);function i(a=x.nil){return(0,x.and)((0,x._)`typeof ${e} == "number"`,a,r?(0,x._)`isFinite(${e})`:x.nil)}}fe.checkDataType=ko;function $o(t,e,r,n){if(t.length===1)return ko(t[0],e,r,n);let o,s=(0,ra.toHash)(t);if(s.array&&s.object){let i=(0,x._)`typeof ${e} != "object"`;o=s.null?i:(0,x._)`!${e} || ${i}`,delete s.null,delete s.array,delete s.object}else o=x.nil;s.number&&delete s.integer;for(let i in s)o=(0,x.and)(o,ko(i,e,r,n));return o}fe.checkDataTypes=$o;var qd={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,x._)`{type: ${t}}`:(0,x._)`{type: ${e}}`};function Ro(t){let e=Dd(t);(0,xd.reportError)(e,qd)}fe.reportTypeError=Ro;function Dd(t){let{gen:e,data:r,schema:n}=t,o=(0,ra.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:t}}});var ia=v(Jr=>{"use strict";Object.defineProperty(Jr,"__esModule",{value:!0});Jr.assignDefaults=void 0;var At=I(),Ud=j();function Bd(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let o in r)sa(t,o,r[o].default);else e==="array"&&Array.isArray(n)&&n.forEach((o,s)=>sa(t,s,o.default))}Jr.assignDefaults=Bd;function sa(t,e,r){let{gen:n,compositeRule:o,data:s,opts:i}=t;if(r===void 0)return;let a=(0,At._)`${s}${(0,At.getProperty)(e)}`;if(o){(0,Ud.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,At._)`${a} === undefined`;i.useDefaults==="empty"&&(c=(0,At._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,At._)`${a} = ${(0,At.stringify)(r)}`)}});var Ce=v(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.validateUnion=J.validateArray=J.usePattern=J.callValidateCode=J.schemaProperties=J.allSchemaProperties=J.noPropertyInData=J.propertyInData=J.isOwnProperty=J.hasPropFunc=J.reportMissingProp=J.checkMissingProp=J.checkReportMissingProp=void 0;var X=I(),Ao=j(),Je=Ee(),zd=j();function Fd(t,e){let{gen:r,data:n,it:o}=t;r.if(Oo(r,n,e,o.opts.ownProperties),()=>{t.setParams({missingProperty:(0,X._)`${e}`},!0),t.error()})}J.checkReportMissingProp=Fd;function Vd({gen:t,data:e,it:{opts:r}},n,o){return(0,X.or)(...n.map(s=>(0,X.and)(Oo(t,e,s,r.ownProperties),(0,X._)`${o} = ${s}`)))}J.checkMissingProp=Vd;function Gd(t,e){t.setParams({missingProperty:e},!0),t.error()}J.reportMissingProp=Gd;function aa(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,X._)`Object.prototype.hasOwnProperty`})}J.hasPropFunc=aa;function So(t,e,r){return(0,X._)`${aa(t)}.call(${e}, ${r})`}J.isOwnProperty=So;function Kd(t,e,r,n){let o=(0,X._)`${e}${(0,X.getProperty)(r)} !== undefined`;return n?(0,X._)`${o} && ${So(t,e,r)}`:o}J.propertyInData=Kd;function Oo(t,e,r,n){let o=(0,X._)`${e}${(0,X.getProperty)(r)} === undefined`;return n?(0,X.or)(o,(0,X.not)(So(t,e,r))):o}J.noPropertyInData=Oo;function ca(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}J.allSchemaProperties=ca;function Hd(t,e){return ca(e).filter(r=>!(0,Ao.alwaysValidSchema)(t,e[r]))}J.schemaProperties=Hd;function Wd({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,l){let u=l?(0,X._)`${t}, ${e}, ${n}${o}`:e,d=[[Je.default.instancePath,(0,X.strConcat)(Je.default.instancePath,s)],[Je.default.parentData,i.parentData],[Je.default.parentDataProperty,i.parentDataProperty],[Je.default.rootData,Je.default.rootData]];i.opts.dynamicRef&&d.push([Je.default.dynamicAnchors,Je.default.dynamicAnchors]);let m=(0,X._)`${u}, ${r.object(...d)}`;return c!==X.nil?(0,X._)`${a}.call(${c}, ${m})`:(0,X._)`${a}(${m})`}J.callValidateCode=Wd;var Jd=(0,X._)`new RegExp`;function Yd({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:o}=e.code,s=o(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,X._)`${o.code==="new RegExp"?Jd:(0,zd.useFunc)(t,o)}(${r}, ${n})`})}J.usePattern=Yd;function Qd(t){let{gen:e,data:r,keyword:n,it:o}=t,s=e.name("valid");if(o.allErrors){let a=e.let("valid",!0);return i(()=>e.assign(a,!1)),a}return e.var(s,!0),i(()=>e.break()),s;function i(a){let c=e.const("len",(0,X._)`${r}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:Ao.Type.Num},s),e.if((0,X.not)(s),a)})}}J.validateArray=Qd;function Xd(t){let{gen:e,schema:r,keyword:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Ao.alwaysValidSchema)(o,c))&&!o.opts.unevaluated)return;let i=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,l)=>{let u=t.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);e.assign(i,(0,X._)`${i} || ${a}`),t.mergeValidEvaluated(u,a)||e.if((0,X.not)(i))})),t.result(i,()=>t.reset(),()=>t.error(!0))}J.validateUnion=Xd});var da=v(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.validateKeywordUsage=Le.validSchemaType=Le.funcKeywordCode=Le.macroKeywordCode=void 0;var me=I(),lt=Ee(),Zd=Ce(),ef=tr();function tf(t,e){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=t,a=e.macro.call(i.self,o,s,i),c=ua(r,n,a);i.opts.validateSchema!==!1&&i.self.validateSchema(a,!0);let l=r.name("valid");t.subschema({schema:a,schemaPath:me.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}Le.macroKeywordCode=tf;function rf(t,e){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=t;of(c,e);let l=!a&&e.compile?e.compile.call(c.self,s,i,c):e.validate,u=ua(n,o,l),d=n.let("valid");t.block$data(d,m),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function m(){if(e.errors===!1)p(),e.modifying&&la(t),g(()=>t.error());else{let b=e.async?h():f();e.modifying&&la(t),g(()=>nf(t,b))}}function h(){let b=n.let("ruleErrs",null);return n.try(()=>p((0,me._)`await `),w=>n.assign(d,!1).if((0,me._)`${w} instanceof ${c.ValidationError}`,()=>n.assign(b,(0,me._)`${w}.errors`),()=>n.throw(w))),b}function f(){let b=(0,me._)`${u}.errors`;return n.assign(b,null),p(me.nil),b}function p(b=e.async?(0,me._)`await `:me.nil){let w=c.opts.passContext?lt.default.this:lt.default.self,E=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,me._)`${b}${(0,Zd.callValidateCode)(t,u,w,E)}`,e.modifying)}function g(b){var w;n.if((0,me.not)((w=e.valid)!==null&&w!==void 0?w:d),b)}}Le.funcKeywordCode=rf;function la(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,me._)`${n.parentData}[${n.parentDataProperty}]`))}function nf(t,e){let{gen:r}=t;r.if((0,me._)`Array.isArray(${e})`,()=>{r.assign(lt.default.vErrors,(0,me._)`${lt.default.vErrors} === null ? ${e} : ${lt.default.vErrors}.concat(${e})`).assign(lt.default.errors,(0,me._)`${lt.default.vErrors}.length`),(0,ef.extendErrors)(t)},()=>t.error())}function of({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function ua(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,me.stringify)(r)})}function sf(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")}Le.validSchemaType=sf;function af({schema:t,opts:e,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw new Error("ajv implementation error");let i=o.dependencies;if(i?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema&&!o.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Le.validateKeywordUsage=af});var pa=v(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.extendSubschemaMode=Ye.extendSubschemaData=Ye.getSubschema=void 0;var je=I(),fa=j();function cf(t,{keyword:e,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){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,je._)`${t.schemaPath}${(0,je.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,je._)`${t.schemaPath}${(0,je.getProperty)(e)}${(0,je.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,fa.escapeFragment)(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Ye.getSubschema=cf;function lf(t,e,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==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:l,dataPathArr:u,opts:d}=e,m=a.let("data",(0,je._)`${e.data}${(0,je.getProperty)(r)}`,!0);c(m),t.errorPath=(0,je.str)`${l}${(0,fa.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,je._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(o!==void 0){let l=o instanceof je.Name?o:a.let("data",o,!0);c(l),i!==void 0&&(t.propertyName=i)}s&&(t.dataTypes=s);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}Ye.extendSubschemaData=lf;function uf(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){n!==void 0&&(t.compositeRule=n),o!==void 0&&(t.createErrors=o),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}Ye.extendSubschemaMode=uf});var Io=v((oT,ma)=>{"use strict";ma.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,o,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!t(e[o],r[o]))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(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var ga=v((sT,ha)=>{"use strict";var Qe=ha.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Yr(e,n,o,t,"",t)};Qe.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Qe.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Qe.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Qe.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 Yr(t,e,r,n,o,s,i,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,o,s,i,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in Qe.arrayKeywords)for(var m=0;m<d.length;m++)Yr(t,e,r,d[m],o+"/"+u+"/"+m,s,o,u,n,m)}else if(u in Qe.propsKeywords){if(d&&typeof d=="object")for(var h in d)Yr(t,e,r,d[h],o+"/"+u+"/"+df(h),s,o,u,n,h)}else(u in Qe.keywords||t.allKeys&&!(u in Qe.skipKeywords))&&Yr(t,e,r,d,o+"/"+u,s,o,u,n)}r(n,o,s,i,a,c,l)}}function df(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var nr=v(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.getSchemaRefs=_e.resolveUrl=_e.normalizeId=_e._getFullPath=_e.getFullPath=_e.inlineRef=void 0;var ff=j(),pf=Io(),mf=ga(),hf=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function gf(t,e=!0){return typeof t=="boolean"?!0:e===!0?!xo(t):e?ya(t)<=e:!1}_e.inlineRef=gf;var yf=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function xo(t){for(let e in t){if(yf.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(xo)||typeof r=="object"&&xo(r))return!0}return!1}function ya(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!hf.has(r)&&(typeof t[r]=="object"&&(0,ff.eachItem)(t[r],n=>e+=ya(n)),e===1/0))return 1/0}return e}function _a(t,e="",r){r!==!1&&(e=St(e));let n=t.parse(e);return Ta(t,n)}_e.getFullPath=_a;function Ta(t,e){return t.serialize(e).split("#")[0]+"#"}_e._getFullPath=Ta;var _f=/#\/?$/;function St(t){return t?t.replace(_f,""):""}_e.normalizeId=St;function Tf(t,e,r){return r=St(r),t.resolve(e,r)}_e.resolveUrl=Tf;var vf=/^[a-z_][-a-z0-9._]*$/i;function bf(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=St(t[r]||e),s={"":o},i=_a(n,o,!1),a={},c=new Set;return mf(t,{allKeys:!0},(d,m,h,f)=>{if(f===void 0)return;let p=i+m,g=s[f];typeof d[r]=="string"&&(g=b.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),s[m]=g;function b(E){let O=this.opts.uriResolver.resolve;if(E=St(g?O(g,E):E),c.has(E))throw u(E);c.add(E);let C=this.refs[E];return typeof C=="string"&&(C=this.refs[C]),typeof C=="object"?l(d,C.schema,E):E!==St(p)&&(E[0]==="#"?(l(d,a[E],E),a[E]=d):this.refs[E]=p),E}function w(E){if(typeof E=="string"){if(!vf.test(E))throw new Error(`invalid anchor "${E}"`);b.call(this,`#${E}`)}}}),a;function l(d,m,h){if(m!==void 0&&!pf(d,m))throw u(h)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}_e.getSchemaRefs=bf});var ir=v(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.getData=Xe.KeywordCxt=Xe.validateFunctionCode=void 0;var Ca=Zi(),va=rr(),Mo=Co(),Qr=rr(),wf=ia(),sr=da(),Po=pa(),$=I(),S=Ee(),Ef=nr(),Ve=j(),or=tr();function Cf(t){if(Ra(t)&&(Aa(t),$a(t))){Rf(t);return}ka(t,()=>(0,Ca.topBoolOrEmptySchema)(t))}Xe.validateFunctionCode=Cf;function ka({gen:t,validateName:e,schema:r,schemaEnv:n,opts:o},s){o.code.es5?t.func(e,(0,$._)`${S.default.data}, ${S.default.valCxt}`,n.$async,()=>{t.code((0,$._)`"use strict"; ${ba(r,o)}`),$f(t,o),t.code(s)}):t.func(e,(0,$._)`${S.default.data}, ${kf(o)}`,n.$async,()=>t.code(ba(r,o)).code(s))}function kf(t){return(0,$._)`{${S.default.instancePath}="", ${S.default.parentData}, ${S.default.parentDataProperty}, ${S.default.rootData}=${S.default.data}${t.dynamicRef?(0,$._)`, ${S.default.dynamicAnchors}={}`:$.nil}}={}`}function $f(t,e){t.if(S.default.valCxt,()=>{t.var(S.default.instancePath,(0,$._)`${S.default.valCxt}.${S.default.instancePath}`),t.var(S.default.parentData,(0,$._)`${S.default.valCxt}.${S.default.parentData}`),t.var(S.default.parentDataProperty,(0,$._)`${S.default.valCxt}.${S.default.parentDataProperty}`),t.var(S.default.rootData,(0,$._)`${S.default.valCxt}.${S.default.rootData}`),e.dynamicRef&&t.var(S.default.dynamicAnchors,(0,$._)`${S.default.valCxt}.${S.default.dynamicAnchors}`)},()=>{t.var(S.default.instancePath,(0,$._)`""`),t.var(S.default.parentData,(0,$._)`undefined`),t.var(S.default.parentDataProperty,(0,$._)`undefined`),t.var(S.default.rootData,S.default.data),e.dynamicRef&&t.var(S.default.dynamicAnchors,(0,$._)`{}`)})}function Rf(t){let{schema:e,opts:r,gen:n}=t;ka(t,()=>{r.$comment&&e.$comment&&Oa(t),xf(t),n.let(S.default.vErrors,null),n.let(S.default.errors,0),r.unevaluated&&Af(t),Sa(t),Nf(t)})}function Af(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,$._)`${r}.evaluated`),e.if((0,$._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,$._)`${t.evaluated}.props`,(0,$._)`undefined`)),e.if((0,$._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,$._)`${t.evaluated}.items`,(0,$._)`undefined`))}function ba(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,$._)`/*# sourceURL=${r} */`:$.nil}function Sf(t,e){if(Ra(t)&&(Aa(t),$a(t))){Of(t,e);return}(0,Ca.boolOrEmptySchema)(t,e)}function $a({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 Ra(t){return typeof t.schema!="boolean"}function Of(t,e){let{schema:r,gen:n,opts:o}=t;o.$comment&&r.$comment&&Oa(t),Pf(t),Mf(t);let s=n.const("_errs",S.default.errors);Sa(t,s),n.var(e,(0,$._)`${s} === ${S.default.errors}`)}function Aa(t){(0,Ve.checkUnknownRules)(t),If(t)}function Sa(t,e){if(t.opts.jtd)return wa(t,[],!1,e);let r=(0,va.getSchemaTypes)(t.schema),n=(0,va.coerceAndCheckDataType)(t,r);wa(t,r,!n,e)}function If(t){let{schema:e,errSchemaPath:r,opts:n,self:o}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Ve.schemaHasRulesButRef)(e,o.RULES)&&o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function xf(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ve.checkStrictMode)(t,"default is ignored in the schema root")}function Pf(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,Ef.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function Mf(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Oa({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)t.code((0,$._)`${S.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=(0,$.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,$._)`${S.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function Nf(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=t;r.$async?e.if((0,$._)`${S.default.errors} === 0`,()=>e.return(S.default.data),()=>e.throw((0,$._)`new ${o}(${S.default.vErrors})`)):(e.assign((0,$._)`${n}.errors`,S.default.vErrors),s.unevaluated&&Lf(t),e.return((0,$._)`${S.default.errors} === 0`))}function Lf({gen:t,evaluated:e,props:r,items:n}){r instanceof $.Name&&t.assign((0,$._)`${e}.props`,r),n instanceof $.Name&&t.assign((0,$._)`${e}.items`,n)}function wa(t,e,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:l}=t,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Ve.schemaHasRulesButRef)(s,u))){o.block(()=>xa(t,"$ref",u.all.$ref.definition));return}c.jtd||jf(t,e),o.block(()=>{for(let m of u.rules)d(m);d(u.post)});function d(m){(0,Mo.shouldUseGroup)(s,m)&&(m.type?(o.if((0,Qr.checkDataType)(m.type,i,c.strictNumbers)),Ea(t,m),e.length===1&&e[0]===m.type&&r&&(o.else(),(0,Qr.reportTypeError)(t)),o.endIf()):Ea(t,m),a||o.if((0,$._)`${S.default.errors} === ${n||0}`))}}function Ea(t,e){let{gen:r,schema:n,opts:{useDefaults:o}}=t;o&&(0,wf.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Mo.shouldUseRule)(n,s)&&xa(t,s.keyword,s.definition,e.type)})}function jf(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(qf(t,e),t.opts.allowUnionTypes||Df(t,e),Uf(t,t.dataTypes))}function qf(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Ia(t.dataTypes,r)||No(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),zf(t,e)}}function Df(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&No(t,"use allowUnionTypes to allow union type keyword")}function Uf(t,e){let r=t.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&(0,Mo.shouldUseRule)(t.schema,o)){let{type:s}=o.definition;s.length&&!s.some(i=>Bf(e,i))&&No(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function Bf(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Ia(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function zf(t,e){let r=[];for(let n of t.dataTypes)Ia(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function No(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Ve.checkStrictMode)(t,e,t.opts.strictTypes)}var Xr=class{constructor(e,r,n){if((0,sr.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,Ve.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",Pa(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,sr.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",S.default.errors))}result(e,r,n){this.failResult((0,$.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,$.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,$._)`${r} !== undefined && (${(0,$.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?or.reportExtraError:or.reportError)(this,this.def.error,r)}$dataError(){(0,or.reportError)(this,this.def.$dataError||or.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,or.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=$.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=$.nil,r=$.nil){if(!this.$data)return;let{gen:n,schemaCode:o,schemaType:s,def:i}=this;n.if((0,$.or)((0,$._)`${o} === undefined`,r)),e!==$.nil&&n.assign(e,!0),(s.length||i.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==$.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:o,it:s}=this;return(0,$.or)(i(),a());function i(){if(n.length){if(!(r instanceof $.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,$._)`${(0,Qr.checkDataTypes)(c,r,s.opts.strictNumbers,Qr.DataType.Wrong)}`}return $.nil}function a(){if(o.validateSchema){let c=e.scopeValue("validate$data",{ref:o.validateSchema});return(0,$._)`!${c}(${r})`}return $.nil}}subschema(e,r){let n=(0,Po.getSubschema)(this.it,e);(0,Po.extendSubschemaData)(n,this.it,e),(0,Po.extendSubschemaMode)(n,e);let o={...this.it,...n,items:void 0,props:void 0};return Sf(o,r),o}mergeEvaluated(e,r){let{it:n,gen:o}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Ve.mergeEvaluated.props(o,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Ve.mergeEvaluated.items(o,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:o}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return o.if(r,()=>this.mergeEvaluated(e,$.Name)),!0}};Xe.KeywordCxt=Xr;function xa(t,e,r,n){let o=new Xr(t,r,e);"code"in r?r.code(o,n):o.$data&&r.validate?(0,sr.funcKeywordCode)(o,r):"macro"in r?(0,sr.macroKeywordCode)(o,r):(r.compile||r.validate)&&(0,sr.funcKeywordCode)(o,r)}var Ff=/^\/(?:[^~]|~0|~1)*$/,Vf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Pa(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let o,s;if(t==="")return S.default.rootData;if(t[0]==="/"){if(!Ff.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);o=t,s=S.default.rootData}else{let l=Vf.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(o=l[2],o==="#"){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],!o)return s}let i=s,a=o.split("/");for(let l of a)l&&(s=(0,$._)`${s}${(0,$.getProperty)((0,Ve.unescapeJsonPointer)(l))}`,i=(0,$._)`${i} && ${s}`);return i;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}Xe.getData=Pa});var Zr=v(jo=>{"use strict";Object.defineProperty(jo,"__esModule",{value:!0});var Lo=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};jo.default=Lo});var ar=v(Uo=>{"use strict";Object.defineProperty(Uo,"__esModule",{value:!0});var qo=nr(),Do=class extends Error{constructor(e,r,n,o){super(o||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,qo.resolveUrl)(e,r,n),this.missingSchema=(0,qo.normalizeId)((0,qo.getFullPath)(e,this.missingRef))}};Uo.default=Do});var cr=v(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.resolveSchema=ke.getCompilingSchema=ke.resolveRef=ke.compileSchema=ke.SchemaEnv=void 0;var Ie=I(),Gf=Zr(),ut=Ee(),xe=nr(),Ma=j(),Kf=ir(),Ot=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,xe.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};ke.SchemaEnv=Ot;function zo(t){let e=Na.call(this,t);if(e)return e;let r=(0,xe.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Ie.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;t.$async&&(a=i.scopeValue("Error",{ref:Gf.default,code:(0,Ie._)`require("ajv/dist/runtime/validation_error").default`}));let c=i.scopeName("validate");t.validateName=c;let l={gen:i,allErrors:this.opts.allErrors,data:ut.default.data,parentData:ut.default.parentData,parentDataProperty:ut.default.parentDataProperty,dataNames:[ut.default.data],dataPathArr:[Ie.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Ie.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Ie.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Ie._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,Kf.validateFunctionCode)(l),i.optimize(this.opts.code.optimize);let d=i.toString();u=`${i.scopeRefs(ut.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let h=new Function(`${ut.default.self}`,`${ut.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:d,scopeValues:i._values}),this.opts.unevaluated){let{props:f,items:p}=l;h.evaluated={props:f instanceof Ie.Name?void 0:f,items:p instanceof Ie.Name?void 0:p,dynamicProps:f instanceof Ie.Name,dynamicItems:p instanceof Ie.Name},h.source&&(h.source.evaluated=(0,Ie.stringify)(h.evaluated))}return t.validate=h,t}catch(d){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(t)}}ke.compileSchema=zo;function Hf(t,e,r){var n;r=(0,xe.resolveUrl)(this.opts.uriResolver,e,r);let o=t.refs[r];if(o)return o;let s=Yf.call(this,t,r);if(s===void 0){let i=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;i&&(s=new Ot({schema:i,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=Wf.call(this,s)}ke.resolveRef=Hf;function Wf(t){return(0,xe.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:zo.call(this,t)}function Na(t){for(let e of this._compilations)if(Jf(e,t))return e}ke.getCompilingSchema=Na;function Jf(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function Yf(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||en.call(this,t,e)}function en(t,e){let r=this.opts.uriResolver.parse(e),n=(0,xe._getFullPath)(this.opts.uriResolver,r),o=(0,xe.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===o)return Bo.call(this,r,t);let s=(0,xe.normalizeId)(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=en.call(this,t,i);return typeof a?.schema!="object"?void 0:Bo.call(this,r,a)}if(typeof i?.schema=="object"){if(i.validate||zo.call(this,i),s===(0,xe.normalizeId)(e)){let{schema:a}=i,{schemaId:c}=this.opts,l=a[c];return l&&(o=(0,xe.resolveUrl)(this.opts.uriResolver,o,l)),new Ot({schema:a,schemaId:c,root:t,baseId:o})}return Bo.call(this,r,i)}}ke.resolveSchema=en;var Qf=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Bo(t,{baseId:e,schema:r,root:n}){var o;if(((o=t.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Ma.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!Qf.has(a)&&l&&(e=(0,xe.resolveUrl)(this.opts.uriResolver,e,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Ma.schemaHasRulesButRef)(r,this.RULES)){let a=(0,xe.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=en.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new Ot({schema:r,schemaId:i,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var La=v((dT,Xf)=>{Xf.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 Go=v((fT,za)=>{"use strict";var Zf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),qa=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),Fo=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Da=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),ep=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Vo(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 tp=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ja(t){return t.length=0,!0}function rp(t,e,r){if(t.length){let n=Vo(t);if(n!=="")e.push(n);else return r.error=!0,!1;t.length=0}return!0}function np(t){let e=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=rp;for(let c=0;c<t.length;c++){let l=t[c];if(!(l==="["||l==="]"))if(l===":"){if(s===!0&&(i=!0),!a(o,n,r))break;if(++e>7){r.error=!0;break}c>0&&t[c-1]===":"&&(s=!0),n.push(":");continue}else if(l==="%"){if(!a(o,n,r))break;a=ja}else{o.push(l);continue}}return o.length&&(a===ja?r.zone=o.join(""):i?n.push(o.join("")):n.push(Vo(o))),r.address=n.join(""),r}function Ua(t){if(op(t,":")<2)return{host:t,isIPV6:!1};let e=np(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 op(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}function sp(t){let e=t,r=[],n=-1,o=0;for(;o=e.length;){if(o===1){if(e===".")break;if(e==="/"){r.push("/");break}else{r.push(e);break}}else if(o===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(o===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 ip={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},ap=/[@/?#:]/g,cp=/[@/?#]/g;function Ba(t,e){let r=e?cp:ap;return r.lastIndex=0,t.replace(r,n=>ip[n])}function lp(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 o=t.slice(n+1,n+3);if(Fo(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));e&&Da(i)?r+=i:r+="%"+s,n+=2;continue}}r+=t[n]}return r}function up(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(Fo(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));s!=="."&&Da(s)?e+=s:e+="%"+o,r+=2;continue}}ep(t[r])?e+=t[r]:e+=escape(t[r])}return e}function dp(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(Fo(n)){e+="%"+n.toUpperCase(),r+=2;continue}}e+=escape(t[r])}return e}function fp(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host);if(!qa(r)){let n=Ua(r);n.isIPV6===!0?r=`[${n.escapedHost}]`:r=Ba(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}za.exports={nonSimpleDomain:tp,recomposeAuthority:fp,reescapeHostDelimiters:Ba,normalizePercentEncoding:lp,normalizePathEncoding:up,escapePreservingEscapes:dp,removeDotSegments:sp,isIPv4:qa,isUUID:Zf,normalizeIPv6:Ua,stringArrayToHexStripped:Vo}});var Ha=v((pT,Ka)=>{"use strict";var{isUUID:pp}=Go(),mp=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,hp=["http","https","ws","wss","urn","urn:uuid"];function gp(t){return hp.indexOf(t)!==-1}function Ko(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 Fa(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Va(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 yp(t){return t.secure=Ko(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function _p(t){if((t.port===(Ko(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 Tp(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(mp);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let o=`${n}:${e.nid||t.nid}`,s=Ho(o);t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function vp(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(),o=`${r}:${e.nid||n}`,s=Ho(o);s&&(t=s.serialize(t,e));let i=t,a=t.nss;return i.path=`${n||e.nid}:${a}`,e.skipEscape=!0,i}function bp(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!pp(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function wp(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Ga={scheme:"http",domainHost:!0,parse:Fa,serialize:Va},Ep={scheme:"https",domainHost:Ga.domainHost,parse:Fa,serialize:Va},tn={scheme:"ws",domainHost:!0,parse:yp,serialize:_p},Cp={scheme:"wss",domainHost:tn.domainHost,parse:tn.parse,serialize:tn.serialize},kp={scheme:"urn",parse:Tp,serialize:vp,skipNormalize:!0},$p={scheme:"urn:uuid",parse:bp,serialize:wp,skipNormalize:!0},rn={http:Ga,https:Ep,ws:tn,wss:Cp,urn:kp,"urn:uuid":$p};Object.setPrototypeOf(rn,null);function Ho(t){return t&&(rn[t]||rn[t.toLowerCase()])||void 0}Ka.exports={wsIsSecure:Ko,SCHEMES:rn,isValidSchemeName:gp,getSchemeHandler:Ho}});var Za=v((mT,nn)=>{"use strict";var{normalizeIPv6:Rp,removeDotSegments:lr,recomposeAuthority:Ap,normalizePercentEncoding:Sp,normalizePathEncoding:Op,escapePreservingEscapes:Ip,reescapeHostDelimiters:xp,isIPv4:Pp,nonSimpleDomain:Mp}=Go(),{SCHEMES:Np,getSchemeHandler:Ja}=Ha();function Lp(t,e){return typeof t=="string"?t=Bp(t,e):typeof t=="object"&&(t=It(dt(t,e),e)),t}function jp(t,e,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=Ya(It(t,n),It(e,n),n,!0);return n.skipEscape=!0,dt(o,n)}function Ya(t,e,r,n){let o={};return n||(t=It(dt(t,r),r),e=It(dt(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(o.scheme=e.scheme,o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=lr(e.path||""),o.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(o.userinfo=e.userinfo,o.host=e.host,o.port=e.port,o.path=lr(e.path||""),o.query=e.query):(e.path?(e.path[0]==="/"?o.path=lr(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?o.path="/"+e.path:t.path?o.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:o.path=e.path,o.path=lr(o.path)),o.query=e.query):(o.path=t.path,e.query!==void 0?o.query=e.query:o.query=t.query),o.userinfo=t.userinfo,o.host=t.host,o.port=t.port),o.scheme=t.scheme),o.fragment=e.fragment,o}function qp(t,e,r){let n=Wa(t,r),o=Wa(e,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function dt(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),o=[],s=Ja(n.scheme||r.scheme);s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=Sp(r.path):(r.path=Ip(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&o.push(r.scheme,":");let i=Ap(r);if(i!==void 0&&(n.reference!=="suffix"&&o.push("//"),o.push(i),r.path&&r.path[0]!=="/"&&o.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=lr(a)),i===void 0&&a[0]==="/"&&a[1]==="/"&&(a="/%2F"+a.slice(2)),o.push(a)}return r.query!==void 0&&o.push("?",r.query),r.fragment!==void 0&&o.push("#",r.fragment),o.join("")}var Dp=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Up(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 Qa(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},o=!1,s=!1;r.reference==="suffix"&&(r.scheme?t=r.scheme+":"+t:t="//"+t);let i=t.match(Dp);if(i){n.scheme=i[1],n.userinfo=i[3],n.host=i[4],n.port=parseInt(i[5],10),n.path=i[6]||"",n.query=i[7],n.fragment=i[8],isNaN(n.port)&&(n.port=i[5]);let a=Up(n,i);if(a!==void 0&&(n.error=n.error||a,o=!0),n.host)if(Pp(n.host)===!1){let u=Rp(n.host);n.host=u.host.toLowerCase(),s=u.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 c=Ja(r.scheme||n.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&n.host&&(r.domainHost||c&&c.domainHost)&&s===!1&&Mp(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(t.indexOf("%")!==-1&&(n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),n.host!==void 0&&(n.host=xp(unescape(n.host),s))),n.path&&(n.path=Op(n.path)),n.fragment))try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}c&&c.parse&&c.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function It(t,e){return Qa(t,e).parsed}function Bp(t,e){return Xa(t,e).normalized}function Xa(t,e){let{parsed:r,malformedAuthorityOrPort:n}=Qa(t,e);return{normalized:n?t:dt(r,e),malformedAuthorityOrPort:n}}function Wa(t,e){if(typeof t=="string"){let{normalized:r,malformedAuthorityOrPort:n}=Xa(t,e);return n?void 0:r}if(typeof t=="object")return dt(t,e)}var Wo={SCHEMES:Np,normalize:Lp,resolve:jp,resolveComponent:Ya,equal:qp,serialize:dt,parse:It};nn.exports=Wo;nn.exports.default=Wo;nn.exports.fastUri=Wo});var tc=v(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});var ec=Za();ec.code='require("ajv/dist/runtime/uri").default';Jo.default=ec});var lc=v(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.CodeGen=ae.Name=ae.nil=ae.stringify=ae.str=ae._=ae.KeywordCxt=void 0;var zp=ir();Object.defineProperty(ae,"KeywordCxt",{enumerable:!0,get:function(){return zp.KeywordCxt}});var xt=I();Object.defineProperty(ae,"_",{enumerable:!0,get:function(){return xt._}});Object.defineProperty(ae,"str",{enumerable:!0,get:function(){return xt.str}});Object.defineProperty(ae,"stringify",{enumerable:!0,get:function(){return xt.stringify}});Object.defineProperty(ae,"nil",{enumerable:!0,get:function(){return xt.nil}});Object.defineProperty(ae,"Name",{enumerable:!0,get:function(){return xt.Name}});Object.defineProperty(ae,"CodeGen",{enumerable:!0,get:function(){return xt.CodeGen}});var Fp=Zr(),ic=ar(),Vp=Eo(),ur=cr(),Gp=I(),dr=nr(),on=rr(),Qo=j(),rc=La(),Kp=tc(),ac=(t,e)=>new RegExp(t,e);ac.code="new RegExp";var Hp=["removeAdditional","useDefaults","coerceTypes"],Wp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Jp={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."},Yp={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},nc=200;function Qp(t){var e,r,n,o,s,i,a,c,l,u,d,m,h,f,p,g,b,w,E,O,C,V,k,T,q;let G=t.strict,W=(e=t.code)===null||e===void 0?void 0:e.optimize,oe=W===!0||W===void 0?1:W||0,Q=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:ac,Re=(o=t.uriResolver)!==null&&o!==void 0?o:Kp.default;return{strictSchema:(i=(s=t.strictSchema)!==null&&s!==void 0?s:G)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:G)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:G)!==null&&u!==void 0?u:"log",strictTuples:(m=(d=t.strictTuples)!==null&&d!==void 0?d:G)!==null&&m!==void 0?m:"log",strictRequired:(f=(h=t.strictRequired)!==null&&h!==void 0?h:G)!==null&&f!==void 0?f:!1,code:t.code?{...t.code,optimize:oe,regExp:Q}:{optimize:oe,regExp:Q},loopRequired:(p=t.loopRequired)!==null&&p!==void 0?p:nc,loopEnum:(g=t.loopEnum)!==null&&g!==void 0?g:nc,meta:(b=t.meta)!==null&&b!==void 0?b:!0,messages:(w=t.messages)!==null&&w!==void 0?w:!0,inlineRefs:(E=t.inlineRefs)!==null&&E!==void 0?E:!0,schemaId:(O=t.schemaId)!==null&&O!==void 0?O:"$id",addUsedSchema:(C=t.addUsedSchema)!==null&&C!==void 0?C:!0,validateSchema:(V=t.validateSchema)!==null&&V!==void 0?V:!0,validateFormats:(k=t.validateFormats)!==null&&k!==void 0?k:!0,unicodeRegExp:(T=t.unicodeRegExp)!==null&&T!==void 0?T:!0,int32range:(q=t.int32range)!==null&&q!==void 0?q:!0,uriResolver:Re}}var fr=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,...Qp(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new Gp.ValueScope({scope:{},prefixes:Wp,es5:r,lines:n}),this.logger=nm(e.logger);let o=e.validateFormats;e.validateFormats=!1,this.RULES=(0,Vp.getRules)(),oc.call(this,Jp,e,"NOT SUPPORTED"),oc.call(this,Yp,e,"DEPRECATED","warn"),this._metaOpts=tm.call(this),e.formats&&Zp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&em.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),Xp.call(this),e.validateFormats=o}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,o=rc;n==="id"&&(o={...rc},o.id=o.$id,delete o.$id),r&&e&&this.addMetaSchema(o,o[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 o=n(r);return"$async"in n||(this.errors=n.errors),o}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 o.call(this,e,r);async function o(u,d){await s.call(this,u.$schema);let m=this._addSchema(u,d);return m.validate||i.call(this,m)}async function s(u){u&&!this.getSchema(u)&&await o.call(this,{$ref:u},!0)}async function i(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof ic.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),i.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await s.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(e,r,n,o=this.opts.validateSchema){if(Array.isArray(e)){for(let i of e)this.addSchema(i,void 0,n,o);return this}let s;if(typeof e=="object"){let{schemaId:i}=this.opts;if(s=e[i],s!==void 0&&typeof s!="string")throw new Error(`schema ${i} must be string`)}return r=(0,dr.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,o,!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 o=this.validate(n,e);if(!o&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return o}getSchema(e){let r;for(;typeof(r=sc.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,o=new ur.SchemaEnv({schema:{},schemaId:n});if(r=ur.resolveSchema.call(this,o,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=sc.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,dr.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(sm.call(this,n,r),!r)return(0,Qo.eachItem)(n,s=>Yo.call(this,s)),this;am.call(this,r);let o={...r,type:(0,on.getJSONTypes)(r.type),schemaType:(0,on.getJSONTypes)(r.schemaType)};return(0,Qo.eachItem)(n,o.type.length===0?s=>Yo.call(this,s,o):s=>o.type.forEach(i=>Yo.call(this,s,o,i))),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 o=n.rules.findIndex(s=>s.keyword===e);o>=0&&n.rules.splice(o,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(o=>`${n}${o.instancePath} ${o.message}`).reduce((o,s)=>o+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let o of r){let s=o.split("/").slice(1),i=e;for(let a of s)i=i[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=i[a];l&&u&&(i[a]=cc(u))}}return e}_removeAllSchemas(e,r){for(let n in e){let o=e[n];(!r||r.test(n))&&(typeof o=="string"?delete e[n]:o&&!o.meta&&(this._cache.delete(o.schema),delete e[n]))}}_addSchema(e,r,n,o=this.opts.validateSchema,s=this.opts.addUsedSchema){let i,{schemaId:a}=this.opts;if(typeof e=="object")i=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,dr.normalizeId)(i||n);let l=dr.getSchemaRefs.call(this,e,n);return c=new ur.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),o&&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):ur.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{ur.compileSchema.call(this,e)}finally{this.opts=r}}};fr.ValidationError=Fp.default;fr.MissingRefError=ic.default;ae.default=fr;function oc(t,e,r,n="error"){for(let o in t){let s=o;s in e&&this.logger[n](`${r}: option ${o}. ${t[s]}`)}}function sc(t){return t=(0,dr.normalizeId)(t),this.schemas[t]||this.refs[t]}function Xp(){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 Zp(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function em(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 tm(){let t={...this.opts};for(let e of Hp)delete t[e];return t}var rm={log(){},warn(){},error(){}};function nm(t){if(t===!1)return rm;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 om=/^[a-z_$][a-z0-9_$:-]*$/i;function sm(t,e){let{RULES:r}=this;if((0,Qo.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!om.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 Yo(t,e,r){var n;let o=e?.post;if(r&&o)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(i||(i={type:r,rules:[]},s.rules.push(i)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,on.getJSONTypes)(e.type),schemaType:(0,on.getJSONTypes)(e.schemaType)}};e.before?im.call(this,i,a,e.before):i.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function im(t,e,r){let n=t.rules.findIndex(o=>o.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function am(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=cc(e)),t.validateSchema=this.compile(e,!0))}var cm={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cc(t){return{anyOf:[t,cm]}}});var uc=v(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});var lm={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Xo.default=lm});var cn=v(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.callRef=ft.getValidate=void 0;var um=ar(),dc=Ce(),Te=I(),Pt=Ee(),fc=cr(),sn=j(),dm={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:l}=s;if((r==="#"||r==="#/")&&o===l.baseId)return d();let u=fc.resolveRef.call(c,l,o,r);if(u===void 0)throw new um.default(n.opts.uriResolver,o,r);if(u instanceof fc.SchemaEnv)return m(u);return h(u);function d(){if(s===l)return an(t,i,s,s.$async);let f=e.scopeValue("root",{ref:l});return an(t,(0,Te._)`${f}.validate`,l,l.$async)}function m(f){let p=pc(t,f);an(t,p,f,f.$async)}function h(f){let p=e.scopeValue("schema",a.code.source===!0?{ref:f,code:(0,Te.stringify)(f)}:{ref:f}),g=e.name("valid"),b=t.subschema({schema:f,dataTypes:[],schemaPath:Te.nil,topSchemaRef:p,errSchemaPath:r},g);t.mergeEvaluated(b),t.ok(g)}}};function pc(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Te._)`${r.scopeValue("wrapper",{ref:e})}.validate`}ft.getValidate=pc;function an(t,e,r,n){let{gen:o,it:s}=t,{allErrors:i,schemaEnv:a,opts:c}=s,l=c.passContext?Pt.default.this:Te.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let f=o.let("valid");o.try(()=>{o.code((0,Te._)`await ${(0,dc.callValidateCode)(t,e,l)}`),h(e),i||o.assign(f,!0)},p=>{o.if((0,Te._)`!(${p} instanceof ${s.ValidationError})`,()=>o.throw(p)),m(p),i||o.assign(f,!1)}),t.ok(f)}function d(){t.result((0,dc.callValidateCode)(t,e,l),()=>h(e),()=>m(e))}function m(f){let p=(0,Te._)`${f}.errors`;o.assign(Pt.default.vErrors,(0,Te._)`${Pt.default.vErrors} === null ? ${p} : ${Pt.default.vErrors}.concat(${p})`),o.assign(Pt.default.errors,(0,Te._)`${Pt.default.vErrors}.length`)}function h(f){var p;if(!s.opts.unevaluated)return;let g=(p=r?.validate)===null||p===void 0?void 0:p.evaluated;if(s.props!==!0)if(g&&!g.dynamicProps)g.props!==void 0&&(s.props=sn.mergeEvaluated.props(o,g.props,s.props));else{let b=o.var("props",(0,Te._)`${f}.evaluated.props`);s.props=sn.mergeEvaluated.props(o,b,s.props,Te.Name)}if(s.items!==!0)if(g&&!g.dynamicItems)g.items!==void 0&&(s.items=sn.mergeEvaluated.items(o,g.items,s.items));else{let b=o.var("items",(0,Te._)`${f}.evaluated.items`);s.items=sn.mergeEvaluated.items(o,b,s.items,Te.Name)}}}ft.callRef=an;ft.default=dm});var mc=v(Zo=>{"use strict";Object.defineProperty(Zo,"__esModule",{value:!0});var fm=uc(),pm=cn(),mm=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",fm.default,pm.default];Zo.default=mm});var hc=v(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var ln=I(),Ze=ln.operators,un={maximum:{okStr:"<=",ok:Ze.LTE,fail:Ze.GT},minimum:{okStr:">=",ok:Ze.GTE,fail:Ze.LT},exclusiveMaximum:{okStr:"<",ok:Ze.LT,fail:Ze.GTE},exclusiveMinimum:{okStr:">",ok:Ze.GT,fail:Ze.LTE}},hm={message:({keyword:t,schemaCode:e})=>(0,ln.str)`must be ${un[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,ln._)`{comparison: ${un[t].okStr}, limit: ${e}}`},gm={keyword:Object.keys(un),type:"number",schemaType:"number",$data:!0,error:hm,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,ln._)`${r} ${un[e].fail} ${n} || isNaN(${r})`)}};es.default=gm});var gc=v(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var pr=I(),ym={message:({schemaCode:t})=>(0,pr.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,pr._)`{multipleOf: ${t}}`},_m={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:ym,code(t){let{gen:e,data:r,schemaCode:n,it:o}=t,s=o.opts.multipleOfPrecision,i=e.let("res"),a=s?(0,pr._)`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:(0,pr._)`${i} !== parseInt(${i})`;t.fail$data((0,pr._)`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};ts.default=_m});var _c=v(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});function yc(t){let e=t.length,r=0,n=0,o;for(;n<e;)r++,o=t.charCodeAt(n++),o>=55296&&o<=56319&&n<e&&(o=t.charCodeAt(n),(o&64512)===56320&&n++);return r}rs.default=yc;yc.code='require("ajv/dist/runtime/ucs2length").default'});var Tc=v(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var pt=I(),Tm=j(),vm=_c(),bm={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,pt.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,pt._)`{limit: ${t}}`},wm={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:bm,code(t){let{keyword:e,data:r,schemaCode:n,it:o}=t,s=e==="maxLength"?pt.operators.GT:pt.operators.LT,i=o.opts.unicode===!1?(0,pt._)`${r}.length`:(0,pt._)`${(0,Tm.useFunc)(t.gen,vm.default)}(${r})`;t.fail$data((0,pt._)`${i} ${s} ${n}`)}};ns.default=wm});var vc=v(os=>{"use strict";Object.defineProperty(os,"__esModule",{value:!0});var Em=Ce(),Cm=j(),Mt=I(),km={message:({schemaCode:t})=>(0,Mt.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,Mt._)`{pattern: ${t}}`},$m={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:km,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,l=c.code==="new RegExp"?(0,Mt._)`new RegExp`:(0,Cm.useFunc)(e,c),u=e.let("valid");e.try(()=>e.assign(u,(0,Mt._)`${l}(${s}, ${a}).test(${r})`),()=>e.assign(u,!1)),t.fail$data((0,Mt._)`!${u}`)}else{let c=(0,Em.usePattern)(t,o);t.fail$data((0,Mt._)`!${c}.test(${r})`)}}};os.default=$m});var bc=v(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});var mr=I(),Rm={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,mr.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,mr._)`{limit: ${t}}`},Am={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Rm,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxProperties"?mr.operators.GT:mr.operators.LT;t.fail$data((0,mr._)`Object.keys(${r}).length ${o} ${n}`)}};ss.default=Am});var wc=v(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var hr=Ce(),gr=I(),Sm=j(),Om={message:({params:{missingProperty:t}})=>(0,gr.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,gr._)`{missingProperty: ${t}}`},Im={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Om,code(t){let{gen:e,schema:r,schemaCode:n,data:o,$data:s,it:i}=t,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors?l():u(),a.strictRequired){let h=t.parentSchema.properties,{definedProperties:f}=t.it;for(let p of r)if(h?.[p]===void 0&&!f.has(p)){let g=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${p}" is not defined at "${g}" (strictRequired)`;(0,Sm.checkStrictMode)(i,b,i.opts.strictRequired)}}function l(){if(c||s)t.block$data(gr.nil,d);else for(let h of r)(0,hr.checkReportMissingProp)(t,h)}function u(){let h=e.let("missing");if(c||s){let f=e.let("valid",!0);t.block$data(f,()=>m(h,f)),t.ok(f)}else e.if((0,hr.checkMissingProp)(t,r,h)),(0,hr.reportMissingProp)(t,h),e.else()}function d(){e.forOf("prop",n,h=>{t.setParams({missingProperty:h}),e.if((0,hr.noPropertyInData)(e,o,h,a.ownProperties),()=>t.error())})}function m(h,f){t.setParams({missingProperty:h}),e.forOf(h,n,()=>{e.assign(f,(0,hr.propertyInData)(e,o,h,a.ownProperties)),e.if((0,gr.not)(f),()=>{t.error(),e.break()})},gr.nil)}}};is.default=Im});var Ec=v(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var yr=I(),xm={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,yr.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,yr._)`{limit: ${t}}`},Pm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:xm,code(t){let{keyword:e,data:r,schemaCode:n}=t,o=e==="maxItems"?yr.operators.GT:yr.operators.LT;t.fail$data((0,yr._)`${r}.length ${o} ${n}`)}};as.default=Pm});var dn=v(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var Cc=Io();Cc.code='require("ajv/dist/runtime/equal").default';cs.default=Cc});var kc=v(us=>{"use strict";Object.defineProperty(us,"__esModule",{value:!0});var ls=rr(),ce=I(),Mm=j(),Nm=dn(),Lm={message:({params:{i:t,j:e}})=>(0,ce.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,ce._)`{i: ${t}, j: ${e}}`},jm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Lm,code(t){let{gen:e,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=t;if(!n&&!o)return;let c=e.let("valid"),l=s.items?(0,ls.getSchemaTypes)(s.items):[];t.block$data(c,u,(0,ce._)`${i} === false`),t.ok(c);function u(){let f=e.let("i",(0,ce._)`${r}.length`),p=e.let("j");t.setParams({i:f,j:p}),e.assign(c,!0),e.if((0,ce._)`${f} > 1`,()=>(d()?m:h)(f,p))}function d(){return l.length>0&&!l.some(f=>f==="object"||f==="array")}function m(f,p){let g=e.name("item"),b=(0,ls.checkDataTypes)(l,g,a.opts.strictNumbers,ls.DataType.Wrong),w=e.const("indices",(0,ce._)`{}`);e.for((0,ce._)`;${f}--;`,()=>{e.let(g,(0,ce._)`${r}[${f}]`),e.if(b,(0,ce._)`continue`),l.length>1&&e.if((0,ce._)`typeof ${g} == "string"`,(0,ce._)`${g} += "_"`),e.if((0,ce._)`typeof ${w}[${g}] == "number"`,()=>{e.assign(p,(0,ce._)`${w}[${g}]`),t.error(),e.assign(c,!1).break()}).code((0,ce._)`${w}[${g}] = ${f}`)})}function h(f,p){let g=(0,Mm.useFunc)(e,Nm.default),b=e.name("outer");e.label(b).for((0,ce._)`;${f}--;`,()=>e.for((0,ce._)`${p} = ${f}; ${p}--;`,()=>e.if((0,ce._)`${g}(${r}[${f}], ${r}[${p}])`,()=>{t.error(),e.assign(c,!1).break(b)})))}}};us.default=jm});var $c=v(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var ds=I(),qm=j(),Dm=dn(),Um={message:"must be equal to constant",params:({schemaCode:t})=>(0,ds._)`{allowedValue: ${t}}`},Bm={keyword:"const",$data:!0,error:Um,code(t){let{gen:e,data:r,$data:n,schemaCode:o,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,ds._)`!${(0,qm.useFunc)(e,Dm.default)}(${r}, ${o})`):t.fail((0,ds._)`${s} !== ${r}`)}};fs.default=Bm});var Rc=v(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var _r=I(),zm=j(),Fm=dn(),Vm={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,_r._)`{allowedValues: ${t}}`},Gm={keyword:"enum",schemaType:"array",$data:!0,error:Vm,code(t){let{gen:e,data:r,$data:n,schema:o,schemaCode:s,it:i}=t;if(!n&&o.length===0)throw new Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,l=()=>c??(c=(0,zm.useFunc)(e,Fm.default)),u;if(a||n)u=e.let("valid"),t.block$data(u,d);else{if(!Array.isArray(o))throw new Error("ajv implementation error");let h=e.const("vSchema",s);u=(0,_r.or)(...o.map((f,p)=>m(h,p)))}t.pass(u);function d(){e.assign(u,!1),e.forOf("v",s,h=>e.if((0,_r._)`${l()}(${r}, ${h})`,()=>e.assign(u,!0).break()))}function m(h,f){let p=o[f];return typeof p=="object"&&p!==null?(0,_r._)`${l()}(${r}, ${h}[${f}])`:(0,_r._)`${r} === ${p}`}}};ps.default=Gm});var Ac=v(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var Km=hc(),Hm=gc(),Wm=Tc(),Jm=vc(),Ym=bc(),Qm=wc(),Xm=Ec(),Zm=kc(),eh=$c(),th=Rc(),rh=[Km.default,Hm.default,Wm.default,Jm.default,Ym.default,Qm.default,Xm.default,Zm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},eh.default,th.default];ms.default=rh});var gs=v(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.validateAdditionalItems=void 0;var mt=I(),hs=j(),nh={message:({params:{len:t}})=>(0,mt.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,mt._)`{limit: ${t}}`},oh={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:nh,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,hs.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}Sc(t,n)}};function Sc(t,e){let{gen:r,schema:n,data:o,keyword:s,it:i}=t;i.items=!0;let a=r.const("len",(0,mt._)`${o}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,mt._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,hs.alwaysValidSchema)(i,n)){let l=r.var("valid",(0,mt._)`${a} <= ${e.length}`);r.if((0,mt.not)(l),()=>c(l)),t.ok(l)}function c(l){r.forRange("i",e.length,a,u=>{t.subschema({keyword:s,dataProp:u,dataPropType:hs.Type.Num},l),i.allErrors||r.if((0,mt.not)(l),()=>r.break())})}}Tr.validateAdditionalItems=Sc;Tr.default=oh});var ys=v(vr=>{"use strict";Object.defineProperty(vr,"__esModule",{value:!0});vr.validateTuple=void 0;var Oc=I(),fn=j(),sh=Ce(),ih={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return Ic(t,"additionalItems",e);r.items=!0,!(0,fn.alwaysValidSchema)(r,e)&&t.ok((0,sh.validateArray)(t))}};function Ic(t,e,r=t.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=t;u(o),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=fn.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,Oc._)`${s}.length`);r.forEach((d,m)=>{(0,fn.alwaysValidSchema)(a,d)||(n.if((0,Oc._)`${l} > ${m}`,()=>t.subschema({keyword:i,schemaProp:m,dataProp:m},c)),t.ok(c))});function u(d){let{opts:m,errSchemaPath:h}=a,f=r.length,p=f===d.minItems&&(f===d.maxItems||d[e]===!1);if(m.strictTuples&&!p){let g=`"${i}" is ${f}-tuple, but minItems or maxItems/${e} are not specified or different at path "${h}"`;(0,fn.checkStrictMode)(a,g,m.strictTuples)}}}vr.validateTuple=Ic;vr.default=ih});var xc=v(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});var ah=ys(),ch={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,ah.validateTuple)(t,"items")};_s.default=ch});var Mc=v(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});var Pc=I(),lh=j(),uh=Ce(),dh=gs(),fh={message:({params:{len:t}})=>(0,Pc.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,Pc._)`{limit: ${t}}`},ph={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:fh,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:o}=r;n.items=!0,!(0,lh.alwaysValidSchema)(n,e)&&(o?(0,dh.validateAdditionalItems)(t,o):t.ok((0,uh.validateArray)(t)))}};Ts.default=ph});var Nc=v(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var $e=I(),pn=j(),mh={message:({params:{min:t,max:e}})=>e===void 0?(0,$e.str)`must contain at least ${t} valid item(s)`:(0,$e.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,$e._)`{minContains: ${t}}`:(0,$e._)`{minContains: ${t}, maxContains: ${e}}`},hh={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:mh,code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t,i,a,{minContains:c,maxContains:l}=n;s.opts.next?(i=c===void 0?1:c,a=l):i=1;let u=e.const("len",(0,$e._)`${o}.length`);if(t.setParams({min:i,max:a}),a===void 0&&i===0){(0,pn.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){(0,pn.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,pn.alwaysValidSchema)(s,r)){let p=(0,$e._)`${u} >= ${i}`;a!==void 0&&(p=(0,$e._)`${p} && ${u} <= ${a}`),t.pass(p);return}s.items=!0;let d=e.name("valid");a===void 0&&i===1?h(d,()=>e.if(d,()=>e.break())):i===0?(e.let(d,!0),a!==void 0&&e.if((0,$e._)`${o}.length > 0`,m)):(e.let(d,!1),m()),t.result(d,()=>t.reset());function m(){let p=e.name("_valid"),g=e.let("count",0);h(p,()=>e.if(p,()=>f(g)))}function h(p,g){e.forRange("i",0,u,b=>{t.subschema({keyword:"contains",dataProp:b,dataPropType:pn.Type.Num,compositeRule:!0},p),g()})}function f(p){e.code((0,$e._)`${p}++`),a===void 0?e.if((0,$e._)`${p} >= ${i}`,()=>e.assign(d,!0).break()):(e.if((0,$e._)`${p} > ${a}`,()=>e.assign(d,!1).break()),i===1?e.assign(d,!0):e.if((0,$e._)`${p} >= ${i}`,()=>e.assign(d,!0)))}}};vs.default=hh});var mn=v(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.validateSchemaDeps=qe.validatePropertyDeps=qe.error=void 0;var bs=I(),gh=j(),br=Ce();qe.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,bs.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,bs._)`{property: ${t},
6
6
  missingProperty: ${n},
7
7
  depsCount: ${e},
8
- deps: ${r}}`};var yh={keyword:"dependencies",type:"object",schemaType:"object",error:qe.error,code(t){let[e,r]=_h(t);Lc(t,e),jc(t,r)}};function _h({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function Lc(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,br.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,br.checkReportMissingProp)(t,l)}):(r.if((0,bs._)`${c} && (${(0,br.checkMissingProp)(t,a,s)})`),(0,br.reportMissingProp)(t,s),r.else())}}qe.validatePropertyDeps=Lc;function jc(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,gh.alwaysValidSchema)(s,e[a])||(r.if((0,br.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}qe.validateSchemaDeps=jc;qe.default=yh});var Dc=v(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var qc=I(),Th=j(),vh={message:"property name must be valid",params:({params:t})=>(0,qc._)`{propertyName: ${t.propertyName}}`},bh={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:vh,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Th.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,qc.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};ws.default=bh});var Es=v(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var hn=Ee(),Pe=I(),wh=Ce(),gn=j(),Ch={message:"must NOT have additional properties",params:({params:t})=>(0,Pe._)`{additionalProperty: ${t.additionalProperty}}`},Eh={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Ch,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,gn.alwaysValidSchema)(i,r))return;let l=(0,hn.allSchemaProperties)(n.properties),u=(0,hn.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Pe._)`${s} === ${wh.default.errors}`);function d(){e.forIn("key",o,g=>{!l.length&&!u.length?f(g):e.if(m(g),()=>f(g))})}function m(g){let b;if(l.length>8){let w=(0,gn.schemaRefOrVal)(i,n.properties,"properties");b=(0,hn.isOwnProperty)(e,w,g)}else l.length?b=(0,Pe.or)(...l.map(w=>(0,Pe._)`${g} === ${w}`)):b=Pe.nil;return u.length&&(b=(0,Pe.or)(b,...u.map(w=>(0,Pe._)`${(0,hn.usePattern)(t,w)}.test(${g})`))),(0,Pe.not)(b)}function h(g){e.code((0,Pe._)`delete ${o}[${g}]`)}function f(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,gn.alwaysValidSchema)(i,r)){let b=e.name("valid");c.removeAdditional==="failing"?(p(g,b,!1),e.if((0,Pe.not)(b),()=>{t.reset(),h(g)})):(p(g,b),a||e.if((0,Pe.not)(b),()=>e.break()))}}function p(g,b,w){let C={keyword:"additionalProperties",dataProp:g,dataPropType:gn.Type.Str};w===!1&&Object.assign(C,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(C,b)}}};Cs.default=Eh});var Fc=v($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var kh=ir(),Uc=Ee(),ks=j(),zc=Es(),$h={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&zc.default.code(new kh.KeywordCxt(s,zc.default,"additionalProperties"));let i=(0,Uc.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=ks.mergeEvaluated.props(e,(0,ks.toHash)(i),s.props));let a=i.filter(d=>!(0,ks.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,Uc.propertyInData)(e,o,d,s.opts.ownProperties)),u(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};$s.default=$h});var Kc=v(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});var Vc=Ee(),yn=I(),Bc=j(),Gc=j(),Rh={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,Vc.allSchemaProperties)(r),c=a.filter(p=>(0,Bc.alwaysValidSchema)(s,r[p]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=i.strictSchema&&!i.allowMatchingProperties&&o.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof yn.Name)&&(s.props=(0,Gc.evaluatedPropsToName)(e,s.props));let{props:d}=s;m();function m(){for(let p of a)l&&h(p),s.allErrors?f(p):(e.var(u,!0),f(p),e.if(u))}function h(p){for(let g in l)new RegExp(p).test(g)&&(0,Bc.checkStrictMode)(s,`property ${g} matches pattern ${p} (use allowMatchingProperties)`)}function f(p){e.forIn("key",n,g=>{e.if((0,yn._)`${(0,Vc.usePattern)(t,p)}.test(${g})`,()=>{let b=c.includes(p);b||t.subschema({keyword:"patternProperties",schemaProp:p,dataProp:g,dataPropType:Gc.Type.Str},u),s.opts.unevaluated&&d!==!0?e.assign((0,yn._)`${d}[${g}]`,!0):!b&&!s.allErrors&&e.if((0,yn.not)(u),()=>e.break())})})}}};Rs.default=Rh});var Hc=v(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var Ah=j(),Sh={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Ah.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};As.default=Sh});var Wc=v(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Oh=Ee(),Ih={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Oh.validateUnion,error:{message:"must match a schema in anyOf"}};Ss.default=Ih});var Jc=v(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var _n=I(),xh=j(),Ph={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,_n._)`{passingSchemas: ${t.passing}}`},Mh={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Ph,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(l),t.result(i,()=>t.reset(),()=>t.error(!0));function l(){s.forEach((u,d)=>{let m;(0,xh.alwaysValidSchema)(o,u)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,_n._)`${c} && ${i}`).assign(i,!1).assign(a,(0,_n._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),m&&t.mergeEvaluated(m,_n.Name)})})}}};Os.default=Mh});var Qc=v(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});var Nh=j(),Lh={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 o=e.name("valid");r.forEach((s,i)=>{if((0,Nh.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Is.default=Lh});var Zc=v(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var Tn=I(),Yc=j(),jh={message:({params:t})=>(0,Tn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Tn._)`{failingKeyword: ${t.ifClause}}`},qh={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:jh,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Yc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Xc(n,"then"),s=Xc(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else o?e.if(a,l("then")):e.if((0,Tn.not)(a),l("else"));t.pass(i,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function l(u,d){return()=>{let m=t.subschema({keyword:u},a);e.assign(i,a),t.mergeValidEvaluated(m,i),d?e.assign(d,(0,Tn._)`${u}`):t.setParams({ifClause:u})}}}};function Xc(t,e){let r=t.schema[e];return r!==void 0&&!(0,Yc.alwaysValidSchema)(t,r)}xs.default=qh});var el=v(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Dh=j(),Uh={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,Dh.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ps.default=Uh});var tl=v(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var zh=gs(),Fh=xc(),Vh=ys(),Bh=Mc(),Gh=Nc(),Kh=mn(),Hh=Dc(),Wh=Es(),Jh=Fc(),Qh=Kc(),Xh=Hc(),Yh=Wc(),Zh=Jc(),eg=Qc(),tg=Zc(),rg=el();function ng(t=!1){let e=[Xh.default,Yh.default,Zh.default,eg.default,tg.default,rg.default,Hh.default,Wh.default,Kh.default,Jh.default,Qh.default];return t?e.push(Fh.default,Bh.default):e.push(zh.default,Vh.default),e.push(Gh.default),e}Ms.default=ng});var Ls=v(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.dynamicAnchor=void 0;var Ns=I(),og=Ce(),rl=cr(),sg=cn(),ig={keyword:"$dynamicAnchor",schemaType:"string",code:t=>nl(t,t.schema)};function nl(t,e){let{gen:r,it:n}=t;n.schemaEnv.root.dynamicAnchors[e]=!0;let o=(0,Ns._)`${og.default.dynamicAnchors}${(0,Ns.getProperty)(e)}`,s=n.errSchemaPath==="#"?n.validateName:ag(t);r.if((0,Ns._)`!${o}`,()=>r.assign(o,s))}wr.dynamicAnchor=nl;function ag(t){let{schemaEnv:e,schema:r,self:n}=t.it,{root:o,baseId:s,localRefs:i,meta:a}=e.root,{schemaId:c}=n.opts,l=new rl.SchemaEnv({schema:r,schemaId:c,root:o,baseId:s,localRefs:i,meta:a});return rl.compileSchema.call(n,l),(0,sg.getValidate)(t,l)}wr.default=ig});var js=v(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.dynamicRef=void 0;var ol=I(),cg=Ce(),sl=cn(),lg={keyword:"$dynamicRef",schemaType:"string",code:t=>il(t,t.schema)};function il(t,e){let{gen:r,keyword:n,it:o}=t;if(e[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let s=e.slice(1);if(o.allErrors)i();else{let c=r.let("valid",!1);i(c),t.ok(c)}function i(c){if(o.schemaEnv.root.dynamicAnchors[s]){let l=r.let("_v",(0,ol._)`${cg.default.dynamicAnchors}${(0,ol.getProperty)(s)}`);r.if(l,a(l,c),a(o.validateName,c))}else a(o.validateName,c)()}function a(c,l){return l?()=>r.block(()=>{(0,sl.callRef)(t,c),r.let(l,!0)}):()=>(0,sl.callRef)(t,c)}}Cr.dynamicRef=il;Cr.default=lg});var al=v(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var ug=Ls(),dg=j(),fg={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0,ug.dynamicAnchor)(t,""):(0,dg.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored")}};qs.default=fg});var cl=v(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var pg=js(),mg={keyword:"$recursiveRef",schemaType:"string",code:t=>(0,pg.dynamicRef)(t,t.schema)};Ds.default=mg});var ll=v(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var hg=Ls(),gg=js(),yg=al(),_g=cl(),Tg=[hg.default,gg.default,yg.default,_g.default];Us.default=Tg});var dl=v(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var ul=mn(),vg={keyword:"dependentRequired",type:"object",schemaType:"object",error:ul.error,code:t=>(0,ul.validatePropertyDeps)(t)};zs.default=vg});var fl=v(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});var bg=mn(),wg={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0,bg.validateSchemaDeps)(t)};Fs.default=wg});var pl=v(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var Cg=j(),Eg={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:r}){e.contains===void 0&&(0,Cg.checkStrictMode)(r,`"${t}" without "contains" is ignored`)}};Vs.default=Eg});var ml=v(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var kg=dl(),$g=fl(),Rg=pl(),Ag=[kg.default,$g.default,Rg.default];Bs.default=Ag});var gl=v(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var et=I(),hl=j(),Sg=Ce(),Og={message:"must NOT have unevaluated properties",params:({params:t})=>(0,et._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},Ig={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Og,code(t){let{gen:e,schema:r,data:n,errsCount:o,it:s}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,props:a}=s;a instanceof et.Name?e.if((0,et._)`${a} !== true`,()=>e.forIn("key",n,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",n,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),s.props=!0,t.ok((0,et._)`${o} === ${Sg.default.errors}`);function c(d){if(r===!1){t.setParams({unevaluatedProperty:d}),t.error(),i||e.break();return}if(!(0,hl.alwaysValidSchema)(s,r)){let m=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:hl.Type.Str},m),i||e.if((0,et.not)(m),()=>e.break())}}function l(d,m){return(0,et._)`!${d} || !${d}[${m}]`}function u(d,m){let h=[];for(let f in d)d[f]===!0&&h.push((0,et._)`${m} !== ${f}`);return(0,et.and)(...h)}}};Gs.default=Ig});var _l=v(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var ht=I(),yl=j(),xg={message:({params:{len:t}})=>(0,ht.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ht._)`{limit: ${t}}`},Pg={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:xg,code(t){let{gen:e,schema:r,data:n,it:o}=t,s=o.items||0;if(s===!0)return;let i=e.const("len",(0,ht._)`${n}.length`);if(r===!1)t.setParams({len:s}),t.fail((0,ht._)`${i} > ${s}`);else if(typeof r=="object"&&!(0,yl.alwaysValidSchema)(o,r)){let c=e.var("valid",(0,ht._)`${i} <= ${s}`);e.if((0,ht.not)(c),()=>a(c,s)),t.ok(c)}o.items=!0;function a(c,l){e.forRange("i",l,i,u=>{t.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:yl.Type.Num},c),o.allErrors||e.if((0,ht.not)(c),()=>e.break())})}}};Ks.default=Pg});var Tl=v(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var Mg=gl(),Ng=_l(),Lg=[Mg.default,Ng.default];Hs.default=Lg});var vl=v(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var ee=I(),jg={message:({schemaCode:t})=>(0,ee.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ee._)`{format: ${t}}`},qg={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:jg,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?m():h();function m(){let f=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),p=r.const("fDef",(0,ee._)`${f}[${i}]`),g=r.let("fType"),b=r.let("format");r.if((0,ee._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>r.assign(g,(0,ee._)`${p}.type || "string"`).assign(b,(0,ee._)`${p}.validate`),()=>r.assign(g,(0,ee._)`"string"`).assign(b,p)),t.fail$data((0,ee.or)(w(),C()));function w(){return c.strictSchema===!1?ee.nil:(0,ee._)`${i} && !${b}`}function C(){let O=u.$async?(0,ee._)`(${p}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ee._)`${b}(${n})`,E=(0,ee._)`(typeof ${b} == "function" ? ${O} : ${b}.test(${n}))`;return(0,ee._)`${b} && ${b} !== true && ${g} === ${e} && !${E}`}}function h(){let f=d.formats[s];if(!f){w();return}if(f===!0)return;let[p,g,b]=C(f);p===e&&t.pass(O());function w(){if(c.strictSchema===!1){d.logger.warn(E());return}throw new Error(E());function E(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function C(E){let B=E instanceof RegExp?(0,ee.regexpCode)(E):c.code.formats?(0,ee._)`${c.code.formats}${(0,ee.getProperty)(s)}`:void 0,k=r.scopeValue("formats",{key:s,ref:E,code:B});return typeof E=="object"&&!(E instanceof RegExp)?[E.type||"string",E.validate,(0,ee._)`${k}.validate`]:["string",E,k]}function O(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!u.$async)throw new Error("async format in sync schema");return(0,ee._)`await ${b}(${n})`}return typeof g=="function"?(0,ee._)`${b}(${n})`:(0,ee._)`${b}.test(${n})`}}}};Ws.default=qg});var bl=v(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});var Dg=vl(),Ug=[Dg.default];Js.default=Ug});var wl=v(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.contentVocabulary=Nt.metadataVocabulary=void 0;Nt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Nt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var El=v(Qs=>{"use strict";Object.defineProperty(Qs,"__esModule",{value:!0});var zg=mc(),Fg=Ac(),Vg=tl(),Bg=ll(),Gg=ml(),Kg=Tl(),Hg=bl(),Cl=wl(),Wg=[Bg.default,zg.default,Fg.default,(0,Vg.default)(!0),Hg.default,Cl.metadataVocabulary,Cl.contentVocabulary,Gg.default,Kg.default];Qs.default=Wg});var $l=v(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.DiscrError=void 0;var kl;(function(t){t.Tag="tag",t.Mapping="mapping"})(kl||(vn.DiscrError=kl={}))});var Al=v(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});var Lt=I(),Xs=$l(),Rl=cr(),Jg=ar(),Qg=j(),Xg={message:({params:{discrError:t,tagName:e}})=>t===Xs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Lt._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Yg={keyword:"discriminator",type:"object",schemaType:"object",error:Xg,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;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(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,Lt._)`${r}${(0,Lt.getProperty)(a)}`);e.if((0,Lt._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:Xs.DiscrError.Tag,tag:l,tagName:a})),t.ok(c);function u(){let h=m();e.if(!1);for(let f in h)e.elseIf((0,Lt._)`${l} === ${f}`),e.assign(c,d(h[f]));e.else(),t.error(!1,{discrError:Xs.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(h){let f=e.name("valid"),p=t.subschema({keyword:"oneOf",schemaProp:h},f);return t.mergeEvaluated(p,Lt.Name),f}function m(){var h;let f={},p=b(o),g=!0;for(let O=0;O<i.length;O++){let E=i[O];if(E?.$ref&&!(0,Qg.schemaHasRulesButRef)(E,s.self.RULES)){let k=E.$ref;if(E=Rl.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,k),E instanceof Rl.SchemaEnv&&(E=E.schema),E===void 0)throw new Jg.default(s.opts.uriResolver,s.baseId,k)}let B=(h=E?.properties)===null||h===void 0?void 0:h[a];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);g=g&&(p||b(E)),w(B,O)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return f;function b({required:O}){return Array.isArray(O)&&O.includes(a)}function w(O,E){if(O.const)C(O.const,E);else if(O.enum)for(let B of O.enum)C(B,E);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function C(O,E){if(typeof O!="string"||O in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[O]=E}}}};Ys.default=Yg});var Sl=v((mv,Zg)=>{Zg.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}}});var Ol=v((hv,ey)=>{ey.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":!0},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}});var Il=v((gv,ty)=>{ty.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}});var xl=v((yv,ry)=>{ry.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}});var Pl=v((_v,ny)=>{ny.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}});var Ml=v((Tv,oy)=>{oy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}});var Nl=v((vv,sy)=>{sy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Ll=v((bv,iy)=>{iy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":!0},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var jl=v(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});var ay=Sl(),cy=Ol(),ly=Il(),uy=xl(),dy=Pl(),fy=Ml(),py=Nl(),my=Ll(),hy=["/properties"];function gy(t){return[ay,cy,ly,uy,dy,e(this,fy),py,e(this,my)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function e(r,n){return t?r.$dataMetaSchema(n,hy):n}}Zs.default=gy});var ql=v((Z,ti)=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.MissingRefError=Z.ValidationError=Z.CodeGen=Z.Name=Z.nil=Z.stringify=Z.str=Z._=Z.KeywordCxt=Z.Ajv2020=void 0;var yy=lc(),_y=El(),Ty=Al(),vy=jl(),ei="https://json-schema.org/draft/2020-12/schema",jt=class extends yy.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),_y.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Ty.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:r}=this.opts;r&&(vy.default.call(this,e),this.refs["http://json-schema.org/schema"]=ei)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ei)?ei:void 0)}};Z.Ajv2020=jt;ti.exports=Z=jt;ti.exports.Ajv2020=jt;Object.defineProperty(Z,"__esModule",{value:!0});Z.default=jt;var by=ir();Object.defineProperty(Z,"KeywordCxt",{enumerable:!0,get:function(){return by.KeywordCxt}});var qt=I();Object.defineProperty(Z,"_",{enumerable:!0,get:function(){return qt._}});Object.defineProperty(Z,"str",{enumerable:!0,get:function(){return qt.str}});Object.defineProperty(Z,"stringify",{enumerable:!0,get:function(){return qt.stringify}});Object.defineProperty(Z,"nil",{enumerable:!0,get:function(){return qt.nil}});Object.defineProperty(Z,"Name",{enumerable:!0,get:function(){return qt.Name}});Object.defineProperty(Z,"CodeGen",{enumerable:!0,get:function(){return qt.CodeGen}});var wy=Zr();Object.defineProperty(Z,"ValidationError",{enumerable:!0,get:function(){return wy.default}});var Cy=ar();Object.defineProperty(Z,"MissingRefError",{enumerable:!0,get:function(){return Cy.default}})});function qn(t,e,r,n){return{role:"assistant",content:e||null,tool_calls:t,...r&&r.length>0?{thinkingBlocks:r}:{},...n?{reasoning_content:n}:{}}}function Gt(t,e){let r=e.ok?typeof e.payload=="string"?e.payload:JSON.stringify(e.payload??""):`Error: ${e.error??"Tool execution failed"}`;return{role:"tool",tool_call_id:t,content:r,...!e.ok&&{is_error:!0},...e.toolReferences?.length?{toolReferences:e.toolReferences}:{},...e.imageUrls?.length?{imageUrls:e.imageUrls}:{},...e.contentBlocks!==void 0?{contentBlocks:e.contentBlocks}:{},...e.structuredContent!==void 0?{structuredContent:e.structuredContent}:{},...e.mcpMeta!==void 0?{mcpMeta:e.mcpMeta}:{},...e.mcpIsError!==void 0?{mcpIsError:e.mcpIsError}:{}}}var Au=new Set(["RETRYABLE_TRANSIENT","RETRYABLE_DEGRADED","TOOL_EXECUTION_FAILED"]);function qr(t){return Au.has(t)}function bt(t,e){return t===401||t===403?"NON_RETRYABLE_AUTH":t===402?"NON_RETRYABLE_QUOTA":t===429?"RETRYABLE_DEGRADED":t===408||typeof t=="number"&&t>=500?"RETRYABLE_TRANSIENT":typeof t=="number"&&t>=400?"NON_RETRYABLE_CONTENT":/invalid[_ ]api[_ ]key|unauthorized|forbidden/i.test(e??"")?"NON_RETRYABLE_AUTH":/insufficient[_ ]quota|payment required|insufficient credits/i.test(e??"")?"NON_RETRYABLE_QUOTA":/rate[_ ]limit|too many requests/i.test(e??"")?"RETRYABLE_DEGRADED":/context_length_exceeded|prompt_too_long|invalid request|model[_ ]not[_ ]found/i.test(e??"")?"NON_RETRYABLE_CONTENT":"RETRYABLE_TRANSIENT"}function Dn(t){let e=[...t.tools],r=t.toolChoice;if(!r||r==="auto")return{tools:e,normalizedToolChoice:r,warnings:[]};if(r==="none")return{tools:[],normalizedToolChoice:"none",warnings:[]};if(r==="required"){if(!e.length)throw Error("tool_choice=required but no tools were provided");return{tools:e,normalizedToolChoice:"required",warnings:[]}}if(typeof r=="object"&&!Array.isArray(r)&&r.type==="function"){let n=r.function,o=typeof n?.name=="string"?n.name.trim():"";if(!o)throw Error("tool_choice.function.name is required");let s=e.filter(i=>(i.function?.name??i.name)?.trim()===o);if(!s.length)throw Error("tool_choice requested unknown tool: "+o);return{tools:s,normalizedToolChoice:{type:"function",function:{name:o}},warnings:[]}}return{tools:e,normalizedToolChoice:r,warnings:[]}}var Su=["stop","aborted","timeout","cancelled","interrupted","error"],Ou=["tool_calls","toolCalls","function_call","functionCall","raw_tool_calls","rawToolCalls"];function xi(t){return t==null?[]:typeof t=="string"?t.length>0?[{type:"text",text:t}]:[]:Array.isArray(t)?t:[{type:"text",text:String(t)}]}function Iu(t,e){let r=[...Array.isArray(t.contextAnchors)?t.contextAnchors:[],...Array.isArray(e.contextAnchors)?e.contextAnchors:[]];return{...t,...e,...r.length?{contextAnchors:[...new Map(r.map(n=>[JSON.stringify(n),n])).values()]}:{},content:[...xi(t.content),...xi(e.content)]}}function xu(t){let e=new Set;if(t.role!=="assistant"||!Array.isArray(t.tool_calls))return e;for(let r of t.tool_calls)typeof r.id=="string"&&r.id&&e.add(r.id);return e}function Pu(t){let e=new Set,r=[];for(let n=0;n<t.length;n+=1){if(e.has(n))continue;let o=t[n];if(!o)continue;r.push(o);let s=xu(o);if(s.size!==0)for(let i=n+1;i<t.length;i+=1){if(e.has(i))continue;let a=t[i];a?.role==="tool"&&typeof a.tool_call_id=="string"&&s.has(a.tool_call_id)&&(r.push(a),e.add(i))}}return r}function Mu(t){if(!t||typeof t!="object")return!1;if(t.function&&typeof t.function=="object"){let e=t.function.name;if(typeof e=="string"&&e.length>0)return!0}return typeof t.name=="string"&&t.name.length>0}function Nu(t){return new Set((t??Su).map(e=>e.trim().toLowerCase()))}function Lu(t,e){return t?Nu(e).has(t.trim().toLowerCase()):!1}function Un(t){if(!Array.isArray(t)||t.length===0)return[...t];let e=t.map(c=>{if(c.role==="assistant"&&Array.isArray(c.tool_calls)){let l=c.tool_calls.filter(u=>Mu(u));return{...c,...l.length>0?{tool_calls:l}:{tool_calls:void 0}}}return{...c}}),r=new Set;for(let c of e)if(!(c.role!=="assistant"||!Array.isArray(c.tool_calls)))for(let l of c.tool_calls)typeof l.id=="string"&&l.id&&r.add(l.id);let n=e.filter(c=>c.role!=="tool"?!0:!!(c.tool_call_id&&r.has(c.tool_call_id))),o=new Set;for(let c of n)c.role==="tool"&&typeof c.tool_call_id=="string"&&c.tool_call_id&&o.add(c.tool_call_id);let s=[];for(let c of n){if(c.role==="assistant"&&Array.isArray(c.tool_calls)&&c.tool_calls.length>0){let l=c.tool_calls.filter(u=>typeof u.id=="string"&&o.has(u.id));if(l.length===0){let{tool_calls:u,...d}=c;d.content!=null&&d.content!==""&&s.push(d);continue}if(l.length<c.tool_calls.length){s.push({...c,tool_calls:l});continue}}s.push(c)}let i=Pu(s),a=[];for(let c of i){let l=a.length>0?a[a.length-1]:void 0;if(c.role==="user"&&l?.role==="user"&&c.contextProjection!=="facts"&&l.contextProjection!=="facts"){a[a.length-1]=Iu(l,c);continue}a.push(c)}return a}function zn(t,e){return Lu(e?.stopReason,e?.forcedStopReasons)?t.map(r=>{if(r.role!=="assistant")return{...r};let n={...r};for(let o of Ou)delete n[o];return n}):[...t]}function Fn(t,e){let r=e?.placeholderToolResult??"Error: Tool loop interrupted before the tool result was replayed.",n=new Set;for(let s of t)s.role==="tool"&&typeof s.tool_call_id=="string"&&s.tool_call_id&&n.add(s.tool_call_id);let o=[];for(let s of t)if(o.push({...s}),!(s.role!=="assistant"||!Array.isArray(s.tool_calls)||s.tool_calls.length===0))for(let i of s.tool_calls)typeof i.id!="string"||!i.id||n.has(i.id)||(n.add(i.id),o.push({role:"tool",tool_call_id:i.id,content:r}));return o}function Vn(t,e){let r=Un(t),n=zn(r,e);return Fn(n,e)}function ju(t){let e=new Set,r=new Set;for(let n of t){if(n.role==="assistant"&&Array.isArray(n.tool_calls))for(let o of n.tool_calls)typeof o.id=="string"&&o.id&&e.add(o.id);n.role==="tool"&&typeof n.tool_call_id=="string"&&n.tool_call_id&&r.add(n.tool_call_id)}return[...e].filter(n=>!r.has(n))}function qu(t){let e=new Set;for(let r of t)r.role==="tool"&&typeof r.tool_call_id=="string"&&r.tool_call_id&&e.add(r.tool_call_id);return[...e]}function Du(t){return{round:t.round??0,maxRounds:t.maxRounds,pendingToolCallIds:[...t.pendingToolCallIds??[]],completedToolCallIds:[...t.completedToolCallIds??[]],lastStopReason:t.lastStopReason,replayMessages:[...t.replayMessages??[]]}}function Bn(t,e){return{round:t.round+1,maxRounds:t.maxRounds,pendingToolCallIds:[...e.pendingToolCallIds??t.pendingToolCallIds],completedToolCallIds:[...e.completedToolCallIds??t.completedToolCallIds],lastStopReason:e.lastStopReason??t.lastStopReason,replayMessages:[...e.replayMessages??t.replayMessages]}}function Dr(t,e){return{round:t.round,maxRounds:t.maxRounds,pendingToolCallIds:[],completedToolCallIds:[...e.completedToolCallIds??t.completedToolCallIds],lastStopReason:e.lastStopReason??t.lastStopReason,replayMessages:[...e.replayMessages??t.replayMessages]}}function Ur(t){let e=[],r=Un(t.replayMessages);r.length!==t.replayMessages.length&&e.push({kind:"drop-orphan-tool-result",detail:"Removed orphan tool results or invalid assistant tool calls."});let n=zn(r,t.options);n.some((s,i)=>s!==r[i])&&e.push({kind:"strip-forced-stop-tool-metadata",detail:"Removed assistant tool-call metadata after forced stop."});let o=Fn(n,t.options);return o.length>n.length&&e.push({kind:"inject-placeholder-tool-result",detail:"Injected placeholder tool result for pending tool calls."}),{state:Du({maxRounds:t.maxRounds,round:t.round,lastStopReason:t.lastStopReason,replayMessages:o,pendingToolCallIds:ju(o),completedToolCallIds:qu(o)}),recoveryActions:e}}function Gn(t){return t===429||t===529}function Kn(t,e=500,r=32e3){let n=Math.min(e*Math.pow(2,t-1),r);return n+Math.floor(Math.random()*n*.25)}function Hn(t){let e=Number.isFinite(t.totalPromptTokens)&&(t.totalPromptTokens??0)>0?Math.floor(t.totalPromptTokens):0,r=Number.isFinite(t.promptTokens)&&t.promptTokens>0?Math.floor(t.promptTokens):0,n=Number.isFinite(t.cacheReadTokens)&&(t.cacheReadTokens??0)>0?Math.floor(t.cacheReadTokens):0,o=Number.isFinite(t.cacheCreationTokens)&&(t.cacheCreationTokens??0)>0?Math.floor(t.cacheCreationTokens):0,s=n+o,i=s>r?r+s:r;return Math.max(e,i)}function Wn(t){return{promptTokens:0,hasAttemptedReactiveCompact:!1,currentMaxOutputTokens:t.maxOutputTokens,aborted:t.abortSignal?.aborted??!1}}function Jn(t,e){let r=e.contextWindowTokens-e.responseBufferTokens-t.currentMaxOutputTokens,n=r>0?t.promptTokens/r*100:100;return n>=85?{level:"warning",usagePercent:n,remainingTokens:Math.max(0,r-t.promptTokens)}:{level:"ok"}}function Qn(t,e,r){let n=t.message?.toLowerCase()??"",o=t.status??0;return o===413||n.includes("prompt_too_long")||n.includes("context_length_exceeded")?!e.hasAttemptedReactiveCompact&&r.reactiveCompactEnabled?{action:"reactive_compact"}:{action:"abort",reason:"prompt_too_long_unrecoverable"}:o>=500&&o<600?{action:"retry",reason:`server_error_${o}`}:o===429?{action:"retry",reason:"rate_limited"}:o===401||o===403?{action:"abort",reason:"auth_error"}:o===404?{action:"abort",reason:"model_not_found"}:{action:"abort",reason:n||"unknown_error"}}function Xn(t,e){return t.aborted?!0:e.abortSignal?.aborted?(t.aborted=!0,!0):!1}function Yn(){return{attemptedThisTurn:!1}}function Kt(t){return!t.attemptedThisTurn}function wt(t,e){let r=e.ok?typeof e.payload=="string"?e.payload:JSON.stringify(e.payload??""):`Error: ${e.error??"Tool execution failed"}`;return{role:"tool",tool_call_id:t,content:r,...!e.ok&&{is_error:!0},...e.toolReferences?.length?{toolReferences:e.toolReferences}:{},...e.imageUrls?.length?{imageUrls:e.imageUrls}:{},...e.contentBlocks?{contentBlocks:e.contentBlocks}:{},...e.structuredContent!==void 0?{structuredContent:e.structuredContent}:{},...e.mcpMeta!==void 0?{mcpMeta:e.mcpMeta}:{},...e.mcpIsError!==void 0?{mcpIsError:e.mcpIsError}:{}}}function Zn(t,e){let r=t.get(e.index)??{id:"",name:"",arguments:""};e.id&&(r.id=e.id),e.name&&(r.name=e.name),r.arguments=e.argumentsMode==="replace"?e.arguments??"":`${r.arguments}${e.arguments??""}`,t.set(e.index,r)}function Pi(t){let e=t.indexOf("__");return e<=0||e+2>=t.length?t:t.slice(e+2)}function Mi(t){let e=t.indexOf("__");if(!(e<=0||e+2>=t.length))return t.slice(0,e)}var eo="tool_schema_load";function Ni(t){return t?.type!=="tool_schema_load"||!Array.isArray(t.requestedToolNames)?[]:[...new Set(t.requestedToolNames.filter(e=>typeof e=="string"&&e.trim().length>0))]}function ne(t,e,r,n){t?.invoke(e,r).catch(o=>{let s=o instanceof Error?o.message:String(o);n.warn(`[hook:${e}] handler failed: ${s}`)})}function Li(t){if(t.blocked)return"policy_blocked";let e=typeof t.details?.error=="string"?t.details.error:"",r=`${e} ${t.error??""}`;return e==="semantic_quality_failed"?"semantic_quality_failed":/MCP_START_FAILED/iu.test(r)?"mcp_start_failed":/mcp_not_connected|mcp_unavailable/iu.test(r)?"mcp_unavailable":/\bTIMEOUT\b|timed out/iu.test(r)?"timeout":"tool_execution_failed"}function ji(t,e){let r=typeof e.message?.content=="string"?e.message.content:"",n=r?r.slice(0,2e3):void 0,o=e.details;return{type:"tool_result",turnId:t,callId:e.callId,name:e.toolName,ok:e.ok,error:e.error,outputPreview:n,durationMs:e.durationMs,details:o}}var Ul=Ru(ql(),1),Ey=new Ul.Ajv2020({allErrors:!0,allowUnionTypes:!0,strict:!1,validateFormats:!1}),Dl=new WeakMap;function ky(t){let e=Dl.get(t);if(e)return e;let r=Ey.compile(t);return Dl.set(t,r),r}function $y(t){return t.instancePath?`arguments${t.instancePath}`:t.keyword==="required"&&typeof t.params.missingProperty=="string"?`arguments/${t.params.missingProperty}`:"arguments"}function Ry(t){return(t??[]).slice(0,4).map(e=>`${$y(e)} ${e.message??`violates ${e.keyword}`}`).join("; ")}function zl(t,e,r){let n;try{n=JSON.parse(r)}catch{return{ok:!1,error:`Tool "${t}" arguments must be valid JSON.`}}if(!n||typeof n!="object"||Array.isArray(n))return{ok:!1,error:`Tool "${t}" arguments must be a JSON object.`};if(!e)return{ok:!0};try{let o=ky(e);return o(n)?{ok:!0}:{ok:!1,error:`Tool "${t}" arguments do not match the offered schema: ${Ry(o.errors)}.`}}catch(o){return{ok:!1,error:`Tool "${t}" has an invalid offered JSON Schema: ${o instanceof Error?o.message:String(o)}.`}}}function bn(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>=1?Math.round(t):0}function wn(t){if(typeof t=="number"&&Number.isFinite(t)&&t>=1)return Math.round(t)}function Fl(t){return t.filter(e=>e.role!=="assistant"?!0:!(typeof e.content=="string"&&e.content.trim()===""))}function Vl(t){try{let e=JSON.parse(t),n=[e.description,e.command,e.query,e.url,e.path,e.file_path,e.filePath,e.pattern,e.model].find(s=>typeof s=="string"&&s.trim().length>0);if(typeof n=="string")return n.trim().slice(0,240);let o=Object.keys(e);return o.length>0?o.slice(0,5).join(" / "):void 0}catch{return}}function ri(t){let e=t.message.toLowerCase();return t.status===413||e.includes("prompt_too_long")||e.includes("context_length_exceeded")||e.includes("maximum context length")}function ni(t){return t==="length"||t==="max_tokens"}function oi(t){let e=t.message.toLowerCase();return(e.includes("image")||e.includes("media")||e.includes("file too large")||e.includes("payload too large"))&&(t.status===413||e.includes("too large")||e.includes("size"))}function Bl(t){let e=t.headers;if(!e)return null;let r=e["retry-after"]??e["Retry-After"];if(!r)return null;let n=parseInt(r,10);return!isNaN(n)&&n>0?n*1e3:null}function Gl(t){if(t.status!==400)return null;let e=t.message.match(/input length and `max_tokens` exceed context limit: (\d+) \+ (\d+) > (\d+)/);if(!e?.[1]||!e?.[3])return null;let r=parseInt(e[1],10),n=parseInt(e[3],10);if(isNaN(r)||isNaN(n))return null;let o=n-r-1e3;return o>=3e3?o:null}async function*Kl(t){let{messages:e,guardConfig:r,runtimePorts:n,hooks:o,hookCtx:s,currentModel:i,log:a,recovery:c,onAutocompact:l}=t,u;{let d=await n.enforceToolResultBudget(e);u=d.messages,d.newlyReplacedCount>0&&(a.info(`tool-result-budget: truncated ${d.newlyReplacedCount} oversized tool texts`),yield c("tool_result_budget",`${d.newlyReplacedCount} tool texts truncated; product receipts remain the source for complete results`))}if(r.contextWindowTokens>0){let d=r.contextWindowTokens*.75,m=n.compressMessages(u,{budget:d,model:i});m.droppedCount>0&&(u=m.messages,a.info(`autocompact: ${m.strategy}, dropped ${m.droppedCount}`),yield c("autocompact",`${m.strategy}: ${m.droppedCount} dropped`),yield{type:"lifecycle",turnId:s.turnId,kind:"context_compression",status:"completed",detail:`${m.strategy}: ${m.droppedCount} dropped`},l(),ne(o,"context.after_compact",{...s,removedCount:m.droppedCount},a))}return u=Fl(u),u}async function*Hl(t,e){let{state:r,guardState:n,turnId:o,log:s,emitRecovery:i}=e,a=t instanceof Error?t.message:String(t),c=typeof t?.status=="number"?t.status:void 0,l=t;if(e.signal?.aborted)return yield{type:"error",turnId:o,error:"Turn aborted",code:"ABORTED",usage:r.totalUsage},{kind:"return"};if(!l||l.retryable!==!0||l.safeToRetry!==!0||l.automaticRetryAuthorized!==!0)return yield{type:"error",turnId:o,error:l?.outcome==="rejected"?"The model service rejected this request.":"The model request outcome must be reconciled before retry.",code:l?.outcome==="rejected"?"MODEL_REQUEST_REJECTED":"MODEL_RECONCILIATION_REQUIRED",usage:r.totalUsage},{kind:"return"};if(!c&&a&&(a.includes("ECONNRESET")||a.includes("EPIPE"))){let d=(r.consecutiveApiRetries??0)+1;return d>2?(s.info(`stale connection retry limit reached (${2}), aborting`),yield{type:"error",turnId:o,error:a,code:"RETRIES_EXHAUSTED",usage:r.totalUsage},{kind:"return"}):(s.info(`stale connection (${a.includes("ECONNRESET")?"ECONNRESET":"EPIPE"}): retrying`),yield i("stale_connection_retry",a.slice(0,80)),{kind:"continue",patch:{consecutiveApiRetries:d,transition:void 0}})}let u=Gl({status:c,message:a});if(u!==null)return u>=n.currentMaxOutputTokens?(yield{type:"error",turnId:o,error:"The rejected output limit cannot be reduced further.",code:"MODEL_REQUEST_REJECTED",usage:r.totalUsage},{kind:"return"}):++r.consecutiveApiRetries>2?(yield{type:"error",turnId:o,error:"Model recovery attempts exhausted.",code:"RETRIES_EXHAUSTED",usage:r.totalUsage},{kind:"return"}):(s.info(`max_tokens overflow: adjusting to ${u}`),n.currentMaxOutputTokens=u,{kind:"continue",patch:{transition:void 0}});if(Gn(c)){if(r.consecutive529Errors++,++r.consecutiveApiRetries>2)return s.info(`transient ${c} \xD7 ${r.consecutive529Errors}: hard limit reached, aborting`),yield{type:"error",turnId:o,error:`API unavailable after ${r.consecutive529Errors} consecutive ${c} errors`,code:"API_ERROR",usage:r.totalUsage},{kind:"return"};let d=Bl({status:c,message:a,headers:l.headers}),m=Math.min(d??Kn(r.consecutive529Errors),32e3);return s.info(`transient ${c}: retry in ${m}ms`),yield i("retry",`${c} retry in ${m}ms`),await new Promise(h=>{let f=()=>{clearTimeout(p),e.signal?.removeEventListener("abort",f),h()},p=setTimeout(f,m);e.signal?.addEventListener("abort",f,{once:!0}),e.signal?.aborted&&f()}),{kind:"continue",patch:{transition:void 0}}}return{kind:"streamError",streamError:{status:c,message:a}}}function Wl(t){return[...new Set(t.map(e=>e.function.name))].sort()}function Py(t){return t?.find(e=>e.source==="llmrouter.settlement")??t?.find(e=>e.source==="provider.reported")}function My(t){let e=new Set,r=[];for(let n of t){let o=`${n.name}\0${n.reason}`;e.has(o)||(e.add(o),r.push(n))}return r.sort((n,o)=>`${n.name}:${n.reason}`.localeCompare(`${o.name}:${o.reason}`))}function Ny(t){let e=typeof t.blockReason=="string"?t.blockReason:void 0;if(t.blocked&&/confirmation timed out/i.test(e??""))return"confirmation-timeout";if(t.blocked)return"blocked-by-policy";let r=typeof t.details?.error=="string"?t.details.error:void 0;if(r==="invalid_arguments")return"invalid-arguments";if(r==="blocked_by_guard")return"blocked-by-policy";if(r==="semantic_quality_failed")return"semantic-quality-failed"}function Jl(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Ly(t,e){if(!t)return null;let r=Jl(t.function.parameters),n=Jl(r?.properties)??{},o=Array.isArray(r?.required)?r.required.filter(a=>typeof a=="string"&&a.trim().length>0):[],s=Uy(e);if(!s)return`Tool "${t.function.name}" arguments must be a JSON object.`;for(let a of o){let c=s[a];if(typeof c=="string"?c.trim().length===0:c==null)return`Tool "${t.function.name}" missing required field \`${a}\`. Use the offered tool schema exactly.`}if(r?.additionalProperties===!1){let a=new Set(Object.keys(n)),c=Object.keys(s).filter(l=>!a.has(l));if(c.length>0){let l=[...a].map(u=>`\`${u}\``).join(", ")||"none";return`Tool "${t.function.name}" has unexpected field${c.length===1?"":"s"} ${c.map(u=>`\`${u}\``).join(", ")}. Remove ${c.length===1?"it":"them"}; the only allowed fields are ${l}. Use the canonical tool schema exactly and do not retry the rejected arguments unchanged.`}}let i=zl(t.function.name,r??void 0,e);return i.ok?null:i.error??`Tool "${t.function.name}" arguments do not match the offered schema.`}function jy(t,e){let r=t?.meta?.identity;if(r?.schemaVersion===1&&r.wireName===e)return r;let n=t?.meta?.category,o=Pi(e),s=Mi(e),i=n==="mcp"?"mcp":"business",a="product";return{schemaVersion:1,wireName:e,logicalName:o,family:i,owner:a,...s?{serverId:s}:{},capabilityId:`${a}:${s??"business"}:${o}`}}function Ql(t){return{role:"user",content:`Product job result(s) became available while the main task continued.
8
+ deps: ${r}}`};var yh={keyword:"dependencies",type:"object",schemaType:"object",error:qe.error,code(t){let[e,r]=_h(t);Lc(t,e),jc(t,r)}};function _h({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let o=Array.isArray(t[n])?e:r;o[n]=t[n]}return[e,r]}function Lc(t,e=t.schema){let{gen:r,data:n,it:o}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let i in e){let a=e[i];if(a.length===0)continue;let c=(0,br.propertyInData)(r,n,i,o.opts.ownProperties);t.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors?r.if(c,()=>{for(let l of a)(0,br.checkReportMissingProp)(t,l)}):(r.if((0,bs._)`${c} && (${(0,br.checkMissingProp)(t,a,s)})`),(0,br.reportMissingProp)(t,s),r.else())}}qe.validatePropertyDeps=Lc;function jc(t,e=t.schema){let{gen:r,data:n,keyword:o,it:s}=t,i=r.name("valid");for(let a in e)(0,gh.alwaysValidSchema)(s,e[a])||(r.if((0,br.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:o,schemaProp:a},i);t.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),t.ok(i))}qe.validateSchemaDeps=jc;qe.default=yh});var Dc=v(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var qc=I(),Th=j(),vh={message:"property name must be valid",params:({params:t})=>(0,qc._)`{propertyName: ${t.propertyName}}`},bh={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:vh,code(t){let{gen:e,schema:r,data:n,it:o}=t;if((0,Th.alwaysValidSchema)(o,r))return;let s=e.name("valid");e.forIn("key",n,i=>{t.setParams({propertyName:i}),t.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),e.if((0,qc.not)(s),()=>{t.error(!0),o.allErrors||e.break()})}),t.ok(s)}};ws.default=bh});var Cs=v(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var hn=Ce(),Pe=I(),wh=Ee(),gn=j(),Eh={message:"must NOT have additional properties",params:({params:t})=>(0,Pe._)`{additionalProperty: ${t.additionalProperty}}`},Ch={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Eh,code(t){let{gen:e,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&(0,gn.alwaysValidSchema)(i,r))return;let l=(0,hn.allSchemaProperties)(n.properties),u=(0,hn.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Pe._)`${s} === ${wh.default.errors}`);function d(){e.forIn("key",o,g=>{!l.length&&!u.length?f(g):e.if(m(g),()=>f(g))})}function m(g){let b;if(l.length>8){let w=(0,gn.schemaRefOrVal)(i,n.properties,"properties");b=(0,hn.isOwnProperty)(e,w,g)}else l.length?b=(0,Pe.or)(...l.map(w=>(0,Pe._)`${g} === ${w}`)):b=Pe.nil;return u.length&&(b=(0,Pe.or)(b,...u.map(w=>(0,Pe._)`${(0,hn.usePattern)(t,w)}.test(${g})`))),(0,Pe.not)(b)}function h(g){e.code((0,Pe._)`delete ${o}[${g}]`)}function f(g){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){h(g);return}if(r===!1){t.setParams({additionalProperty:g}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,gn.alwaysValidSchema)(i,r)){let b=e.name("valid");c.removeAdditional==="failing"?(p(g,b,!1),e.if((0,Pe.not)(b),()=>{t.reset(),h(g)})):(p(g,b),a||e.if((0,Pe.not)(b),()=>e.break()))}}function p(g,b,w){let E={keyword:"additionalProperties",dataProp:g,dataPropType:gn.Type.Str};w===!1&&Object.assign(E,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(E,b)}}};Es.default=Ch});var zc=v($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var kh=ir(),Uc=Ce(),ks=j(),Bc=Cs(),$h={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:o,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&Bc.default.code(new kh.KeywordCxt(s,Bc.default,"additionalProperties"));let i=(0,Uc.allSchemaProperties)(r);for(let d of i)s.definedProperties.add(d);s.opts.unevaluated&&i.length&&s.props!==!0&&(s.props=ks.mergeEvaluated.props(e,(0,ks.toHash)(i),s.props));let a=i.filter(d=>!(0,ks.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,Uc.propertyInData)(e,o,d,s.opts.ownProperties)),u(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};$s.default=$h});var Kc=v(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});var Fc=Ce(),yn=I(),Vc=j(),Gc=j(),Rh={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:o,it:s}=t,{opts:i}=s,a=(0,Fc.allSchemaProperties)(r),c=a.filter(p=>(0,Vc.alwaysValidSchema)(s,r[p]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=i.strictSchema&&!i.allowMatchingProperties&&o.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof yn.Name)&&(s.props=(0,Gc.evaluatedPropsToName)(e,s.props));let{props:d}=s;m();function m(){for(let p of a)l&&h(p),s.allErrors?f(p):(e.var(u,!0),f(p),e.if(u))}function h(p){for(let g in l)new RegExp(p).test(g)&&(0,Vc.checkStrictMode)(s,`property ${g} matches pattern ${p} (use allowMatchingProperties)`)}function f(p){e.forIn("key",n,g=>{e.if((0,yn._)`${(0,Fc.usePattern)(t,p)}.test(${g})`,()=>{let b=c.includes(p);b||t.subschema({keyword:"patternProperties",schemaProp:p,dataProp:g,dataPropType:Gc.Type.Str},u),s.opts.unevaluated&&d!==!0?e.assign((0,yn._)`${d}[${g}]`,!0):!b&&!s.allErrors&&e.if((0,yn.not)(u),()=>e.break())})})}}};Rs.default=Rh});var Hc=v(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var Ah=j(),Sh={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,Ah.alwaysValidSchema)(n,r)){t.fail();return}let o=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),t.failResult(o,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};As.default=Sh});var Wc=v(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Oh=Ce(),Ih={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Oh.validateUnion,error:{message:"must match a schema in anyOf"}};Ss.default=Ih});var Jc=v(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var _n=I(),xh=j(),Ph={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,_n._)`{passingSchemas: ${t.passing}}`},Mh={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Ph,code(t){let{gen:e,schema:r,parentSchema:n,it:o}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(l),t.result(i,()=>t.reset(),()=>t.error(!0));function l(){s.forEach((u,d)=>{let m;(0,xh.alwaysValidSchema)(o,u)?e.var(c,!0):m=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,_n._)`${c} && ${i}`).assign(i,!1).assign(a,(0,_n._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(i,!0),e.assign(a,d),m&&t.mergeEvaluated(m,_n.Name)})})}}};Os.default=Mh});var Yc=v(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});var Nh=j(),Lh={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 o=e.name("valid");r.forEach((s,i)=>{if((0,Nh.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:i},o);t.ok(o),t.mergeEvaluated(a)})}};Is.default=Lh});var Zc=v(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var Tn=I(),Xc=j(),jh={message:({params:t})=>(0,Tn.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,Tn._)`{failingKeyword: ${t.ifClause}}`},qh={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:jh,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Xc.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let o=Qc(n,"then"),s=Qc(n,"else");if(!o&&!s)return;let i=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),o&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else o?e.if(a,l("then")):e.if((0,Tn.not)(a),l("else"));t.pass(i,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function l(u,d){return()=>{let m=t.subschema({keyword:u},a);e.assign(i,a),t.mergeValidEvaluated(m,i),d?e.assign(d,(0,Tn._)`${u}`):t.setParams({ifClause:u})}}}};function Qc(t,e){let r=t.schema[e];return r!==void 0&&!(0,Xc.alwaysValidSchema)(t,r)}xs.default=qh});var el=v(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var Dh=j(),Uh={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,Dh.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Ps.default=Uh});var tl=v(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var Bh=gs(),zh=xc(),Fh=ys(),Vh=Mc(),Gh=Nc(),Kh=mn(),Hh=Dc(),Wh=Cs(),Jh=zc(),Yh=Kc(),Qh=Hc(),Xh=Wc(),Zh=Jc(),eg=Yc(),tg=Zc(),rg=el();function ng(t=!1){let e=[Qh.default,Xh.default,Zh.default,eg.default,tg.default,rg.default,Hh.default,Wh.default,Kh.default,Jh.default,Yh.default];return t?e.push(zh.default,Vh.default):e.push(Bh.default,Fh.default),e.push(Gh.default),e}Ms.default=ng});var Ls=v(wr=>{"use strict";Object.defineProperty(wr,"__esModule",{value:!0});wr.dynamicAnchor=void 0;var Ns=I(),og=Ee(),rl=cr(),sg=cn(),ig={keyword:"$dynamicAnchor",schemaType:"string",code:t=>nl(t,t.schema)};function nl(t,e){let{gen:r,it:n}=t;n.schemaEnv.root.dynamicAnchors[e]=!0;let o=(0,Ns._)`${og.default.dynamicAnchors}${(0,Ns.getProperty)(e)}`,s=n.errSchemaPath==="#"?n.validateName:ag(t);r.if((0,Ns._)`!${o}`,()=>r.assign(o,s))}wr.dynamicAnchor=nl;function ag(t){let{schemaEnv:e,schema:r,self:n}=t.it,{root:o,baseId:s,localRefs:i,meta:a}=e.root,{schemaId:c}=n.opts,l=new rl.SchemaEnv({schema:r,schemaId:c,root:o,baseId:s,localRefs:i,meta:a});return rl.compileSchema.call(n,l),(0,sg.getValidate)(t,l)}wr.default=ig});var js=v(Er=>{"use strict";Object.defineProperty(Er,"__esModule",{value:!0});Er.dynamicRef=void 0;var ol=I(),cg=Ee(),sl=cn(),lg={keyword:"$dynamicRef",schemaType:"string",code:t=>il(t,t.schema)};function il(t,e){let{gen:r,keyword:n,it:o}=t;if(e[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let s=e.slice(1);if(o.allErrors)i();else{let c=r.let("valid",!1);i(c),t.ok(c)}function i(c){if(o.schemaEnv.root.dynamicAnchors[s]){let l=r.let("_v",(0,ol._)`${cg.default.dynamicAnchors}${(0,ol.getProperty)(s)}`);r.if(l,a(l,c),a(o.validateName,c))}else a(o.validateName,c)()}function a(c,l){return l?()=>r.block(()=>{(0,sl.callRef)(t,c),r.let(l,!0)}):()=>(0,sl.callRef)(t,c)}}Er.dynamicRef=il;Er.default=lg});var al=v(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var ug=Ls(),dg=j(),fg={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0,ug.dynamicAnchor)(t,""):(0,dg.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored")}};qs.default=fg});var cl=v(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var pg=js(),mg={keyword:"$recursiveRef",schemaType:"string",code:t=>(0,pg.dynamicRef)(t,t.schema)};Ds.default=mg});var ll=v(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var hg=Ls(),gg=js(),yg=al(),_g=cl(),Tg=[hg.default,gg.default,yg.default,_g.default];Us.default=Tg});var dl=v(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var ul=mn(),vg={keyword:"dependentRequired",type:"object",schemaType:"object",error:ul.error,code:t=>(0,ul.validatePropertyDeps)(t)};Bs.default=vg});var fl=v(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var bg=mn(),wg={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0,bg.validateSchemaDeps)(t)};zs.default=wg});var pl=v(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});var Eg=j(),Cg={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:r}){e.contains===void 0&&(0,Eg.checkStrictMode)(r,`"${t}" without "contains" is ignored`)}};Fs.default=Cg});var ml=v(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var kg=dl(),$g=fl(),Rg=pl(),Ag=[kg.default,$g.default,Rg.default];Vs.default=Ag});var gl=v(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var et=I(),hl=j(),Sg=Ee(),Og={message:"must NOT have unevaluated properties",params:({params:t})=>(0,et._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},Ig={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Og,code(t){let{gen:e,schema:r,data:n,errsCount:o,it:s}=t;if(!o)throw new Error("ajv implementation error");let{allErrors:i,props:a}=s;a instanceof et.Name?e.if((0,et._)`${a} !== true`,()=>e.forIn("key",n,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",n,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),s.props=!0,t.ok((0,et._)`${o} === ${Sg.default.errors}`);function c(d){if(r===!1){t.setParams({unevaluatedProperty:d}),t.error(),i||e.break();return}if(!(0,hl.alwaysValidSchema)(s,r)){let m=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:hl.Type.Str},m),i||e.if((0,et.not)(m),()=>e.break())}}function l(d,m){return(0,et._)`!${d} || !${d}[${m}]`}function u(d,m){let h=[];for(let f in d)d[f]===!0&&h.push((0,et._)`${m} !== ${f}`);return(0,et.and)(...h)}}};Gs.default=Ig});var _l=v(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var ht=I(),yl=j(),xg={message:({params:{len:t}})=>(0,ht.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,ht._)`{limit: ${t}}`},Pg={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:xg,code(t){let{gen:e,schema:r,data:n,it:o}=t,s=o.items||0;if(s===!0)return;let i=e.const("len",(0,ht._)`${n}.length`);if(r===!1)t.setParams({len:s}),t.fail((0,ht._)`${i} > ${s}`);else if(typeof r=="object"&&!(0,yl.alwaysValidSchema)(o,r)){let c=e.var("valid",(0,ht._)`${i} <= ${s}`);e.if((0,ht.not)(c),()=>a(c,s)),t.ok(c)}o.items=!0;function a(c,l){e.forRange("i",l,i,u=>{t.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:yl.Type.Num},c),o.allErrors||e.if((0,ht.not)(c),()=>e.break())})}}};Ks.default=Pg});var Tl=v(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var Mg=gl(),Ng=_l(),Lg=[Mg.default,Ng.default];Hs.default=Lg});var vl=v(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});var ee=I(),jg={message:({schemaCode:t})=>(0,ee.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,ee._)`{format: ${t}}`},qg={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:jg,code(t,e){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;o?m():h();function m(){let f=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),p=r.const("fDef",(0,ee._)`${f}[${i}]`),g=r.let("fType"),b=r.let("format");r.if((0,ee._)`typeof ${p} == "object" && !(${p} instanceof RegExp)`,()=>r.assign(g,(0,ee._)`${p}.type || "string"`).assign(b,(0,ee._)`${p}.validate`),()=>r.assign(g,(0,ee._)`"string"`).assign(b,p)),t.fail$data((0,ee.or)(w(),E()));function w(){return c.strictSchema===!1?ee.nil:(0,ee._)`${i} && !${b}`}function E(){let O=u.$async?(0,ee._)`(${p}.async ? await ${b}(${n}) : ${b}(${n}))`:(0,ee._)`${b}(${n})`,C=(0,ee._)`(typeof ${b} == "function" ? ${O} : ${b}.test(${n}))`;return(0,ee._)`${b} && ${b} !== true && ${g} === ${e} && !${C}`}}function h(){let f=d.formats[s];if(!f){w();return}if(f===!0)return;let[p,g,b]=E(f);p===e&&t.pass(O());function w(){if(c.strictSchema===!1){d.logger.warn(C());return}throw new Error(C());function C(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function E(C){let V=C instanceof RegExp?(0,ee.regexpCode)(C):c.code.formats?(0,ee._)`${c.code.formats}${(0,ee.getProperty)(s)}`:void 0,k=r.scopeValue("formats",{key:s,ref:C,code:V});return typeof C=="object"&&!(C instanceof RegExp)?[C.type||"string",C.validate,(0,ee._)`${k}.validate`]:["string",C,k]}function O(){if(typeof f=="object"&&!(f instanceof RegExp)&&f.async){if(!u.$async)throw new Error("async format in sync schema");return(0,ee._)`await ${b}(${n})`}return typeof g=="function"?(0,ee._)`${b}(${n})`:(0,ee._)`${b}.test(${n})`}}}};Ws.default=qg});var bl=v(Js=>{"use strict";Object.defineProperty(Js,"__esModule",{value:!0});var Dg=vl(),Ug=[Dg.default];Js.default=Ug});var wl=v(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.contentVocabulary=Nt.metadataVocabulary=void 0;Nt.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Nt.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Cl=v(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});var Bg=mc(),zg=Ac(),Fg=tl(),Vg=ll(),Gg=ml(),Kg=Tl(),Hg=bl(),El=wl(),Wg=[Vg.default,Bg.default,zg.default,(0,Fg.default)(!0),Hg.default,El.metadataVocabulary,El.contentVocabulary,Gg.default,Kg.default];Ys.default=Wg});var $l=v(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});vn.DiscrError=void 0;var kl;(function(t){t.Tag="tag",t.Mapping="mapping"})(kl||(vn.DiscrError=kl={}))});var Al=v(Xs=>{"use strict";Object.defineProperty(Xs,"__esModule",{value:!0});var Lt=I(),Qs=$l(),Rl=cr(),Jg=ar(),Yg=j(),Qg={message:({params:{discrError:t,tagName:e}})=>t===Qs.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Lt._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},Xg={keyword:"discriminator",type:"object",schemaType:"object",error:Qg,code(t){let{gen:e,data:r,schema:n,parentSchema:o,it:s}=t,{oneOf:i}=o;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(!i)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,Lt._)`${r}${(0,Lt.getProperty)(a)}`);e.if((0,Lt._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:Qs.DiscrError.Tag,tag:l,tagName:a})),t.ok(c);function u(){let h=m();e.if(!1);for(let f in h)e.elseIf((0,Lt._)`${l} === ${f}`),e.assign(c,d(h[f]));e.else(),t.error(!1,{discrError:Qs.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(h){let f=e.name("valid"),p=t.subschema({keyword:"oneOf",schemaProp:h},f);return t.mergeEvaluated(p,Lt.Name),f}function m(){var h;let f={},p=b(o),g=!0;for(let O=0;O<i.length;O++){let C=i[O];if(C?.$ref&&!(0,Yg.schemaHasRulesButRef)(C,s.self.RULES)){let k=C.$ref;if(C=Rl.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,k),C instanceof Rl.SchemaEnv&&(C=C.schema),C===void 0)throw new Jg.default(s.opts.uriResolver,s.baseId,k)}let V=(h=C?.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}"`);g=g&&(p||b(C)),w(V,O)}if(!g)throw new Error(`discriminator: "${a}" must be required`);return f;function b({required:O}){return Array.isArray(O)&&O.includes(a)}function w(O,C){if(O.const)E(O.const,C);else if(O.enum)for(let V of O.enum)E(V,C);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function E(O,C){if(typeof O!="string"||O in f)throw new Error(`discriminator: "${a}" values must be unique strings`);f[O]=C}}}};Xs.default=Xg});var Sl=v((mv,Zg)=>{Zg.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0,"https://json-schema.org/draft/2020-12/vocab/applicator":!0,"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0,"https://json-schema.org/draft/2020-12/vocab/validation":!0,"https://json-schema.org/draft/2020-12/vocab/meta-data":!0,"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0,"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:!0,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:!0,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:!0},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:!0}}}});var Ol=v((hv,ey)=>{ey.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":!0},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}}});var Il=v((gv,ty)=>{ty.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":!0},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}}});var xl=v((yv,ry)=>{ry.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":!0},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}}});var Pl=v((_v,ny)=>{ny.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":!0},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}}});var Ml=v((Tv,oy)=>{oy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":!0},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}}});var Nl=v((vv,sy)=>{sy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":!0},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var Ll=v((bv,iy)=>{iy.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":!0},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]},const:!0,enum:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var jl=v(Zs=>{"use strict";Object.defineProperty(Zs,"__esModule",{value:!0});var ay=Sl(),cy=Ol(),ly=Il(),uy=xl(),dy=Pl(),fy=Ml(),py=Nl(),my=Ll(),hy=["/properties"];function gy(t){return[ay,cy,ly,uy,dy,e(this,fy),py,e(this,my)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function e(r,n){return t?r.$dataMetaSchema(n,hy):n}}Zs.default=gy});var ql=v((Z,ti)=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.MissingRefError=Z.ValidationError=Z.CodeGen=Z.Name=Z.nil=Z.stringify=Z.str=Z._=Z.KeywordCxt=Z.Ajv2020=void 0;var yy=lc(),_y=Cl(),Ty=Al(),vy=jl(),ei="https://json-schema.org/draft/2020-12/schema",jt=class extends yy.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),_y.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(Ty.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:r}=this.opts;r&&(vy.default.call(this,e),this.refs["http://json-schema.org/schema"]=ei)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ei)?ei:void 0)}};Z.Ajv2020=jt;ti.exports=Z=jt;ti.exports.Ajv2020=jt;Object.defineProperty(Z,"__esModule",{value:!0});Z.default=jt;var by=ir();Object.defineProperty(Z,"KeywordCxt",{enumerable:!0,get:function(){return by.KeywordCxt}});var qt=I();Object.defineProperty(Z,"_",{enumerable:!0,get:function(){return qt._}});Object.defineProperty(Z,"str",{enumerable:!0,get:function(){return qt.str}});Object.defineProperty(Z,"stringify",{enumerable:!0,get:function(){return qt.stringify}});Object.defineProperty(Z,"nil",{enumerable:!0,get:function(){return qt.nil}});Object.defineProperty(Z,"Name",{enumerable:!0,get:function(){return qt.Name}});Object.defineProperty(Z,"CodeGen",{enumerable:!0,get:function(){return qt.CodeGen}});var wy=Zr();Object.defineProperty(Z,"ValidationError",{enumerable:!0,get:function(){return wy.default}});var Ey=ar();Object.defineProperty(Z,"MissingRefError",{enumerable:!0,get:function(){return Ey.default}})});function qn(t,e,r,n){return{role:"assistant",content:e||null,tool_calls:t,...r&&r.length>0?{thinkingBlocks:r}:{},...n?{reasoning_content:n}:{}}}function Gt(t,e){let r=e.ok?typeof e.payload=="string"?e.payload:JSON.stringify(e.payload??""):`Error: ${e.error??"Tool execution failed"}`;return{role:"tool",tool_call_id:t,content:r,...!e.ok&&{is_error:!0},...e.toolReferences?.length?{toolReferences:e.toolReferences}:{},...e.imageUrls?.length?{imageUrls:e.imageUrls}:{},...e.contentBlocks!==void 0?{contentBlocks:e.contentBlocks}:{},...e.structuredContent!==void 0?{structuredContent:e.structuredContent}:{},...e.mcpMeta!==void 0?{mcpMeta:e.mcpMeta}:{},...e.mcpIsError!==void 0?{mcpIsError:e.mcpIsError}:{}}}var Au=new Set(["RETRYABLE_TRANSIENT","RETRYABLE_DEGRADED","TOOL_EXECUTION_FAILED"]);function qr(t){return Au.has(t)}function bt(t,e){return t===401||t===403?"NON_RETRYABLE_AUTH":t===402?"NON_RETRYABLE_QUOTA":t===429?"RETRYABLE_DEGRADED":t===408||typeof t=="number"&&t>=500?"RETRYABLE_TRANSIENT":typeof t=="number"&&t>=400?"NON_RETRYABLE_CONTENT":/invalid[_ ]api[_ ]key|unauthorized|forbidden/i.test(e??"")?"NON_RETRYABLE_AUTH":/insufficient[_ ]quota|payment required|insufficient credits/i.test(e??"")?"NON_RETRYABLE_QUOTA":/rate[_ ]limit|too many requests/i.test(e??"")?"RETRYABLE_DEGRADED":/context_length_exceeded|prompt_too_long|invalid request|model[_ ]not[_ ]found/i.test(e??"")?"NON_RETRYABLE_CONTENT":"RETRYABLE_TRANSIENT"}function Dn(t){let e=[...t.tools],r=t.toolChoice;if(!r||r==="auto")return{tools:e,normalizedToolChoice:r,warnings:[]};if(r==="none")return{tools:[],normalizedToolChoice:"none",warnings:[]};if(r==="required"){if(!e.length)throw Error("tool_choice=required but no tools were provided");return{tools:e,normalizedToolChoice:"required",warnings:[]}}if(typeof r=="object"&&!Array.isArray(r)&&r.type==="function"){let n=r.function,o=typeof n?.name=="string"?n.name.trim():"";if(!o)throw Error("tool_choice.function.name is required");let s=e.filter(i=>(i.function?.name??i.name)?.trim()===o);if(!s.length)throw Error("tool_choice requested unknown tool: "+o);return{tools:s,normalizedToolChoice:{type:"function",function:{name:o}},warnings:[]}}return{tools:e,normalizedToolChoice:r,warnings:[]}}var Su=["stop","aborted","timeout","cancelled","interrupted","error"],Ou=["tool_calls","toolCalls","function_call","functionCall","raw_tool_calls","rawToolCalls"];function xi(t){return t==null?[]:typeof t=="string"?t.length>0?[{type:"text",text:t}]:[]:Array.isArray(t)?t:[{type:"text",text:String(t)}]}function Iu(t,e){let r=[...Array.isArray(t.contextAnchors)?t.contextAnchors:[],...Array.isArray(e.contextAnchors)?e.contextAnchors:[]];return{...t,...e,...r.length?{contextAnchors:[...new Map(r.map(n=>[JSON.stringify(n),n])).values()]}:{},content:[...xi(t.content),...xi(e.content)]}}function xu(t){let e=new Set;if(t.role!=="assistant"||!Array.isArray(t.tool_calls))return e;for(let r of t.tool_calls)typeof r.id=="string"&&r.id&&e.add(r.id);return e}function Pu(t){let e=new Set,r=[];for(let n=0;n<t.length;n+=1){if(e.has(n))continue;let o=t[n];if(!o)continue;r.push(o);let s=xu(o);if(s.size!==0)for(let i=n+1;i<t.length;i+=1){if(e.has(i))continue;let a=t[i];a?.role==="tool"&&typeof a.tool_call_id=="string"&&s.has(a.tool_call_id)&&(r.push(a),e.add(i))}}return r}function Mu(t){if(!t||typeof t!="object")return!1;if(t.function&&typeof t.function=="object"){let e=t.function.name;if(typeof e=="string"&&e.length>0)return!0}return typeof t.name=="string"&&t.name.length>0}function Nu(t){return new Set((t??Su).map(e=>e.trim().toLowerCase()))}function Lu(t,e){return t?Nu(e).has(t.trim().toLowerCase()):!1}function Un(t){if(!Array.isArray(t)||t.length===0)return[...t];let e=t.map(c=>{if(c.role==="assistant"&&Array.isArray(c.tool_calls)){let l=c.tool_calls.filter(u=>Mu(u));return{...c,...l.length>0?{tool_calls:l}:{tool_calls:void 0}}}return{...c}}),r=new Set;for(let c of e)if(!(c.role!=="assistant"||!Array.isArray(c.tool_calls)))for(let l of c.tool_calls)typeof l.id=="string"&&l.id&&r.add(l.id);let n=e.filter(c=>c.role!=="tool"?!0:!!(c.tool_call_id&&r.has(c.tool_call_id))),o=new Set;for(let c of n)c.role==="tool"&&typeof c.tool_call_id=="string"&&c.tool_call_id&&o.add(c.tool_call_id);let s=[];for(let c of n){if(c.role==="assistant"&&Array.isArray(c.tool_calls)&&c.tool_calls.length>0){let l=c.tool_calls.filter(u=>typeof u.id=="string"&&o.has(u.id));if(l.length===0){let{tool_calls:u,...d}=c;d.content!=null&&d.content!==""&&s.push(d);continue}if(l.length<c.tool_calls.length){s.push({...c,tool_calls:l});continue}}s.push(c)}let i=Pu(s),a=[];for(let c of i){let l=a.length>0?a[a.length-1]:void 0;if(c.role==="user"&&l?.role==="user"&&c.contextProjection!=="facts"&&l.contextProjection!=="facts"){a[a.length-1]=Iu(l,c);continue}a.push(c)}return a}function Bn(t,e){return Lu(e?.stopReason,e?.forcedStopReasons)?t.map(r=>{if(r.role!=="assistant")return{...r};let n={...r};for(let o of Ou)delete n[o];return n}):[...t]}function zn(t,e){let r=e?.placeholderToolResult??"Error: Tool loop interrupted before the tool result was replayed.",n=new Set;for(let s of t)s.role==="tool"&&typeof s.tool_call_id=="string"&&s.tool_call_id&&n.add(s.tool_call_id);let o=[];for(let s of t)if(o.push({...s}),!(s.role!=="assistant"||!Array.isArray(s.tool_calls)||s.tool_calls.length===0))for(let i of s.tool_calls)typeof i.id!="string"||!i.id||n.has(i.id)||(n.add(i.id),o.push({role:"tool",tool_call_id:i.id,content:r}));return o}function Fn(t,e){let r=Un(t),n=Bn(r,e);return zn(n,e)}function ju(t){let e=new Set,r=new Set;for(let n of t){if(n.role==="assistant"&&Array.isArray(n.tool_calls))for(let o of n.tool_calls)typeof o.id=="string"&&o.id&&e.add(o.id);n.role==="tool"&&typeof n.tool_call_id=="string"&&n.tool_call_id&&r.add(n.tool_call_id)}return[...e].filter(n=>!r.has(n))}function qu(t){let e=new Set;for(let r of t)r.role==="tool"&&typeof r.tool_call_id=="string"&&r.tool_call_id&&e.add(r.tool_call_id);return[...e]}function Du(t){return{round:t.round??0,maxRounds:t.maxRounds,pendingToolCallIds:[...t.pendingToolCallIds??[]],completedToolCallIds:[...t.completedToolCallIds??[]],lastStopReason:t.lastStopReason,replayMessages:[...t.replayMessages??[]]}}function Vn(t,e){return{round:t.round+1,maxRounds:t.maxRounds,pendingToolCallIds:[...e.pendingToolCallIds??t.pendingToolCallIds],completedToolCallIds:[...e.completedToolCallIds??t.completedToolCallIds],lastStopReason:e.lastStopReason??t.lastStopReason,replayMessages:[...e.replayMessages??t.replayMessages]}}function Dr(t,e){return{round:t.round,maxRounds:t.maxRounds,pendingToolCallIds:[],completedToolCallIds:[...e.completedToolCallIds??t.completedToolCallIds],lastStopReason:e.lastStopReason??t.lastStopReason,replayMessages:[...e.replayMessages??t.replayMessages]}}function Ur(t){let e=[],r=Un(t.replayMessages);r.length!==t.replayMessages.length&&e.push({kind:"drop-orphan-tool-result",detail:"Removed orphan tool results or invalid assistant tool calls."});let n=Bn(r,t.options);n.some((s,i)=>s!==r[i])&&e.push({kind:"strip-forced-stop-tool-metadata",detail:"Removed assistant tool-call metadata after forced stop."});let o=zn(n,t.options);return o.length>n.length&&e.push({kind:"inject-placeholder-tool-result",detail:"Injected placeholder tool result for pending tool calls."}),{state:Du({maxRounds:t.maxRounds,round:t.round,lastStopReason:t.lastStopReason,replayMessages:o,pendingToolCallIds:ju(o),completedToolCallIds:qu(o)}),recoveryActions:e}}function Gn(t){return t===429||t===529}function Kn(t,e=500,r=32e3){let n=Math.min(e*Math.pow(2,t-1),r);return n+Math.floor(Math.random()*n*.25)}function Hn(t){let e=Number.isFinite(t.totalPromptTokens)&&(t.totalPromptTokens??0)>0?Math.floor(t.totalPromptTokens):0,r=Number.isFinite(t.promptTokens)&&t.promptTokens>0?Math.floor(t.promptTokens):0,n=Number.isFinite(t.cacheReadTokens)&&(t.cacheReadTokens??0)>0?Math.floor(t.cacheReadTokens):0,o=Number.isFinite(t.cacheCreationTokens)&&(t.cacheCreationTokens??0)>0?Math.floor(t.cacheCreationTokens):0,s=n+o,i=s>r?r+s:r;return Math.max(e,i)}function Wn(t){return{promptTokens:0,hasAttemptedReactiveCompact:!1,currentMaxOutputTokens:t.maxOutputTokens,aborted:t.abortSignal?.aborted??!1}}function Jn(t,e){let r=e.contextWindowTokens-e.responseBufferTokens-t.currentMaxOutputTokens,n=r>0?t.promptTokens/r*100:100;return n>=85?{level:"warning",usagePercent:n,remainingTokens:Math.max(0,r-t.promptTokens)}:{level:"ok"}}function Yn(t,e,r){let n=t.message?.toLowerCase()??"",o=t.status??0;return o===413||n.includes("prompt_too_long")||n.includes("context_length_exceeded")?!e.hasAttemptedReactiveCompact&&r.reactiveCompactEnabled?{action:"reactive_compact"}:{action:"abort",reason:"prompt_too_long_unrecoverable"}:o>=500&&o<600?{action:"retry",reason:`server_error_${o}`}:o===429?{action:"retry",reason:"rate_limited"}:o===401||o===403?{action:"abort",reason:"auth_error"}:o===404?{action:"abort",reason:"model_not_found"}:{action:"abort",reason:n||"unknown_error"}}function Qn(t,e){return t.aborted?!0:e.abortSignal?.aborted?(t.aborted=!0,!0):!1}function Xn(){return{attemptedThisTurn:!1}}function Kt(t){return!t.attemptedThisTurn}function wt(t,e){let r=e.ok?typeof e.payload=="string"?e.payload:JSON.stringify(e.payload??""):`Error: ${e.error??"Tool execution failed"}`;return{role:"tool",tool_call_id:t,content:r,...!e.ok&&{is_error:!0},...e.toolReferences?.length?{toolReferences:e.toolReferences}:{},...e.imageUrls?.length?{imageUrls:e.imageUrls}:{},...e.contentBlocks?{contentBlocks:e.contentBlocks}:{},...e.structuredContent!==void 0?{structuredContent:e.structuredContent}:{},...e.mcpMeta!==void 0?{mcpMeta:e.mcpMeta}:{},...e.mcpIsError!==void 0?{mcpIsError:e.mcpIsError}:{}}}function Zn(t,e){let r=t.get(e.index)??{id:"",name:"",arguments:""};e.id&&(r.id=e.id),e.name&&(r.name=e.name),r.arguments=e.argumentsMode==="replace"?e.arguments??"":`${r.arguments}${e.arguments??""}`,t.set(e.index,r)}function Pi(t){let e=t.indexOf("__");return e<=0||e+2>=t.length?t:t.slice(e+2)}function Mi(t){let e=t.indexOf("__");if(!(e<=0||e+2>=t.length))return t.slice(0,e)}var eo="tool_schema_load";function Ni(t){return t?.type!=="tool_schema_load"||!Array.isArray(t.requestedToolNames)?[]:[...new Set(t.requestedToolNames.filter(e=>typeof e=="string"&&e.trim().length>0))]}function ne(t,e,r,n){t?.invoke(e,r).catch(o=>{let s=o instanceof Error?o.message:String(o);n.warn(`[hook:${e}] handler failed: ${s}`)})}function Li(t){if(t.blocked)return"policy_blocked";let e=typeof t.details?.error=="string"?t.details.error:"",r=`${e} ${t.error??""}`;return e==="semantic_quality_failed"?"semantic_quality_failed":/MCP_START_FAILED/iu.test(r)?"mcp_start_failed":/mcp_not_connected|mcp_unavailable/iu.test(r)?"mcp_unavailable":/\bTIMEOUT\b|timed out/iu.test(r)?"timeout":"tool_execution_failed"}function ji(t,e){let r=typeof e.message?.content=="string"?e.message.content:"",n=r?r.slice(0,2e3):void 0,o=e.details;return{type:"tool_result",turnId:t,callId:e.callId,name:e.toolName,ok:e.ok,error:e.error,outputPreview:n,durationMs:e.durationMs,details:o}}var Ul=Ru(ql(),1),Cy=new Ul.Ajv2020({allErrors:!0,allowUnionTypes:!0,strict:!1,validateFormats:!1}),Dl=new WeakMap;function ky(t){let e=Dl.get(t);if(e)return e;let r=Cy.compile(t);return Dl.set(t,r),r}function $y(t){return t.instancePath?`arguments${t.instancePath}`:t.keyword==="required"&&typeof t.params.missingProperty=="string"?`arguments/${t.params.missingProperty}`:"arguments"}function Ry(t){return(t??[]).slice(0,4).map(e=>`${$y(e)} ${e.message??`violates ${e.keyword}`}`).join("; ")}function Bl(t,e,r){let n;try{n=JSON.parse(r)}catch{return{ok:!1,error:`Tool "${t}" arguments must be valid JSON.`}}if(!n||typeof n!="object"||Array.isArray(n))return{ok:!1,error:`Tool "${t}" arguments must be a JSON object.`};if(!e)return{ok:!0};try{let o=ky(e);return o(n)?{ok:!0}:{ok:!1,error:`Tool "${t}" arguments do not match the offered schema: ${Ry(o.errors)}.`}}catch(o){return{ok:!1,error:`Tool "${t}" has an invalid offered JSON Schema: ${o instanceof Error?o.message:String(o)}.`}}}function bn(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>=1?Math.round(t):0}function wn(t){if(typeof t=="number"&&Number.isFinite(t)&&t>=1)return Math.round(t)}function zl(t){return t.filter(e=>e.role!=="assistant"?!0:!(typeof e.content=="string"&&e.content.trim()===""))}function Fl(t){try{let e=JSON.parse(t),n=[e.description,e.command,e.query,e.url,e.path,e.file_path,e.filePath,e.pattern,e.model].find(s=>typeof s=="string"&&s.trim().length>0);if(typeof n=="string")return n.trim().slice(0,240);let o=Object.keys(e);return o.length>0?o.slice(0,5).join(" / "):void 0}catch{return}}function ri(t){let e=t.message.toLowerCase();return t.status===413||e.includes("prompt_too_long")||e.includes("context_length_exceeded")||e.includes("maximum context length")}function ni(t){return t==="length"||t==="max_tokens"}function oi(t){let e=t.message.toLowerCase();return(e.includes("image")||e.includes("media")||e.includes("file too large")||e.includes("payload too large"))&&(t.status===413||e.includes("too large")||e.includes("size"))}function Vl(t){let e=t.headers;if(!e)return null;let r=e["retry-after"]??e["Retry-After"];if(!r)return null;let n=parseInt(r,10);return!isNaN(n)&&n>0?n*1e3:null}function Gl(t){if(t.status!==400)return null;let e=t.message.match(/input length and `max_tokens` exceed context limit: (\d+) \+ (\d+) > (\d+)/);if(!e?.[1]||!e?.[3])return null;let r=parseInt(e[1],10),n=parseInt(e[3],10);if(isNaN(r)||isNaN(n))return null;let o=n-r-1e3;return o>=3e3?o:null}async function*Kl(t){let{messages:e,guardConfig:r,runtimePorts:n,hooks:o,hookCtx:s,currentModel:i,log:a,recovery:c,onAutocompact:l}=t,u;{let d=await n.enforceToolResultBudget(e);u=d.messages,d.newlyReplacedCount>0&&(a.info(`tool-result-budget: truncated ${d.newlyReplacedCount} oversized tool texts`),yield c("tool_result_budget",`${d.newlyReplacedCount} tool texts truncated; product receipts remain the source for complete results`))}if(r.contextWindowTokens>0){let d=r.contextWindowTokens*.75,m=n.compressMessages(u,{budget:d,model:i});m.droppedCount>0&&(u=m.messages,a.info(`autocompact: ${m.strategy}, dropped ${m.droppedCount}`),yield c("autocompact",`${m.strategy}: ${m.droppedCount} dropped`),yield{type:"lifecycle",turnId:s.turnId,kind:"context_compression",status:"completed",detail:`${m.strategy}: ${m.droppedCount} dropped`},l(),ne(o,"context.after_compact",{...s,removedCount:m.droppedCount},a))}return u=zl(u),u}async function*Hl(t,e){let{state:r,guardState:n,turnId:o,log:s,emitRecovery:i}=e,a=t instanceof Error?t.message:String(t),c=typeof t?.status=="number"?t.status:void 0,l=t;if(e.signal?.aborted)return yield{type:"error",turnId:o,error:"Turn aborted",code:"ABORTED",usage:r.totalUsage},{kind:"return"};if(!l||l.retryable!==!0||l.safeToRetry!==!0||l.automaticRetryAuthorized!==!0)return yield{type:"error",turnId:o,error:l?.outcome==="rejected"?"The model service rejected this request.":"The model request outcome must be reconciled before retry.",code:l?.outcome==="rejected"?"MODEL_REQUEST_REJECTED":"MODEL_RECONCILIATION_REQUIRED",usage:r.totalUsage},{kind:"return"};if(!c&&a&&(a.includes("ECONNRESET")||a.includes("EPIPE"))){let d=(r.consecutiveApiRetries??0)+1;return d>2?(s.info(`stale connection retry limit reached (${2}), aborting`),yield{type:"error",turnId:o,error:a,code:"RETRIES_EXHAUSTED",usage:r.totalUsage},{kind:"return"}):(s.info(`stale connection (${a.includes("ECONNRESET")?"ECONNRESET":"EPIPE"}): retrying`),yield i("stale_connection_retry",a.slice(0,80)),{kind:"continue",patch:{consecutiveApiRetries:d,transition:void 0}})}let u=Gl({status:c,message:a});if(u!==null)return u>=n.currentMaxOutputTokens?(yield{type:"error",turnId:o,error:"The rejected output limit cannot be reduced further.",code:"MODEL_REQUEST_REJECTED",usage:r.totalUsage},{kind:"return"}):++r.consecutiveApiRetries>2?(yield{type:"error",turnId:o,error:"Model recovery attempts exhausted.",code:"RETRIES_EXHAUSTED",usage:r.totalUsage},{kind:"return"}):(s.info(`max_tokens overflow: adjusting to ${u}`),n.currentMaxOutputTokens=u,{kind:"continue",patch:{transition:void 0}});if(Gn(c)){if(r.consecutive529Errors++,++r.consecutiveApiRetries>2)return s.info(`transient ${c} \xD7 ${r.consecutive529Errors}: hard limit reached, aborting`),yield{type:"error",turnId:o,error:`API unavailable after ${r.consecutive529Errors} consecutive ${c} errors`,code:"API_ERROR",usage:r.totalUsage},{kind:"return"};let d=Vl({status:c,message:a,headers:l.headers}),m=Math.min(d??Kn(r.consecutive529Errors),32e3);return s.info(`transient ${c}: retry in ${m}ms`),yield i("retry",`${c} retry in ${m}ms`),await new Promise(h=>{let f=()=>{clearTimeout(p),e.signal?.removeEventListener("abort",f),h()},p=setTimeout(f,m);e.signal?.addEventListener("abort",f,{once:!0}),e.signal?.aborted&&f()}),{kind:"continue",patch:{transition:void 0}}}return{kind:"streamError",streamError:{status:c,message:a}}}function Wl(t){return[...new Set(t.map(e=>e.function.name))].sort()}function Py(t){return t?.find(e=>e.source==="llmrouter.settlement")??t?.find(e=>e.source==="provider.reported")}function My(t){let e=new Set,r=[];for(let n of t){let o=`${n.name}\0${n.reason}`;e.has(o)||(e.add(o),r.push(n))}return r.sort((n,o)=>`${n.name}:${n.reason}`.localeCompare(`${o.name}:${o.reason}`))}function Ny(t){let e=typeof t.blockReason=="string"?t.blockReason:void 0;if(t.blocked&&/confirmation timed out/i.test(e??""))return"confirmation-timeout";if(t.blocked)return"blocked-by-policy";let r=typeof t.details?.error=="string"?t.details.error:void 0;if(r==="invalid_arguments")return"invalid-arguments";if(r==="blocked_by_guard")return"blocked-by-policy";if(r==="semantic_quality_failed")return"semantic-quality-failed"}function Jl(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Ly(t,e){if(!t)return null;let r=Jl(t.function.parameters),n=Jl(r?.properties)??{},o=Array.isArray(r?.required)?r.required.filter(a=>typeof a=="string"&&a.trim().length>0):[],s=Uy(e);if(!s)return`Tool "${t.function.name}" arguments must be a JSON object.`;for(let a of o){let c=s[a];if(typeof c=="string"?c.trim().length===0:c==null)return`Tool "${t.function.name}" missing required field \`${a}\`. Use the offered tool schema exactly.`}if(r?.additionalProperties===!1){let a=new Set(Object.keys(n)),c=Object.keys(s).filter(l=>!a.has(l));if(c.length>0){let l=[...a].map(u=>`\`${u}\``).join(", ")||"none";return`Tool "${t.function.name}" has unexpected field${c.length===1?"":"s"} ${c.map(u=>`\`${u}\``).join(", ")}. Remove ${c.length===1?"it":"them"}; the only allowed fields are ${l}. Use the canonical tool schema exactly and do not retry the rejected arguments unchanged.`}}let i=Bl(t.function.name,r??void 0,e);return i.ok?null:i.error??`Tool "${t.function.name}" arguments do not match the offered schema.`}function jy(t,e){let r=t?.meta?.identity;if(r?.schemaVersion===1&&r.wireName===e)return r;let n=t?.meta?.category,o=Pi(e),s=Mi(e),i=n==="mcp"?"mcp":"business",a="product";return{schemaVersion:1,wireName:e,logicalName:o,family:i,owner:a,...s?{serverId:s}:{},capabilityId:`${a}:${s??"business"}:${o}`}}function Yl(t){return{role:"user",content:`Product job result(s) became available while the main task continued.
9
9
  `+t.join(`
10
- `)}}var qy=18e4,Cn=class extends Error{constructor(r){super(`LLM stream idle timeout after ${r}ms without a chunk.`);this.timeoutMs=r;this.name="LLMStreamIdleTimeoutError"}timeoutMs;code="LLM_STREAM_TIMEOUT"};async function*Dy(t,e){if(!Number.isFinite(e)||e<=0){yield*t;return}let r=t[Symbol.asyncIterator]();try{for(;;){let n,o;try{o=await Promise.race([r.next(),new Promise(s=>{n=setTimeout(()=>s("timeout"),e)})])}finally{n&&clearTimeout(n)}if(o==="timeout")throw new Cn(e);if(o.done)return;yield o.value}}finally{r.return?.().catch(()=>{})}}function Uy(t){try{let e=JSON.parse(t);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}}async function*Xl(t,e,r,n){let{turnId:o,sessionId:s,messages:i,availableTools:a,tools:c,model:l,apiKey:u,temperature:d=0,hooks:m,signal:h}=t,f=(R,V)=>{R.push(V)},p={sessionId:s,turnId:o},g=t.maxTurns??0,b=a??c,w=new Set(c.map(R=>R.function.name)),C=b,O=new Map(C.map(R=>[R.function.name,R])),E=b.filter(R=>w.has(R.function.name)),B=[],k=bn(t.maxRounds,i),T=wn(t.maxToolCalls),q={contextWindowTokens:t.contextWindowTokens??128e3,responseBufferTokens:13e3,maxOutputTokens:t.maxOutputTokens??16384,abortSignal:h,reactiveCompactEnabled:!0},G=new Set,W=[],oe=new Map,X=0,Re=new Set,K=0,se=new Set(t.deferredToolNames??[]),ve=new Set;for(let R of t.loadedDeferredToolNames??[])se.has(R)&&O.has(R)?ve.add(R):t.loadedDeferredToolNames?.delete(R);let yt=()=>{let R=new Map(E.map(V=>[V.function.name,V]));for(let V of ve){let re=O.get(V);re&&R.set(V,re)}return[...R.values()]},D=(R,V)=>V?R.filter(re=>V.has(re.function.name)):[...R],Me=yt(),uu=()=>Wl(Me),di=(t.continuation?.completedRounds??0)>0,A={messages:[...i],hasAttemptedReactiveCompact:!1,turnCount:(t.continuation?.completedRounds??0)+1,transition:void 0,guardState:Wn(q),reactiveCompactState:Yn(),toolLoopState:Ur({maxRounds:k,replayMessages:[...i]}).state,finalText:"",totalUsage:structuredClone(t.continuation?.usage??{inputTokens:0,outputTokens:0}),consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:new Map},du=4,Rn=async(R,V,re)=>{t.runtimePorts.saveCheckpoint&&(await t.runtimePorts.saveCheckpoint(structuredClone({turnId:o,sessionId:s,phase:R,messages:V,completedRounds:re,usage:A.totalUsage})),h?.throwIfAborted())},fu=4,fi=0,An=!1,pi=new Map,mi,Ke=(R,V)=>{let re=`${R}:${V??""}`,Ne=(pi.get(re)??0)+1;if(pi.set(re,Ne),R==="autocompact"){let he=A.recoveryTrace.get("autocompact")??0;if(Ne>du||he>=fu){let Tt=`Repeated context compression made no forward progress: ${V??"autocompact"}`;return mi=Tt,A.recoveryTrace.set("compression_loop_guard",(A.recoveryTrace.get("compression_loop_guard")??0)+1),{type:"recovery",turnId:o,action:"compression_loop_guard",detail:Tt}}}return A.recoveryTrace.set(R,(A.recoveryTrace.get(R)??0)+1),{type:"recovery",turnId:o,action:R,detail:V}},hi=()=>({type:"tool_use_summary",turnId:o,ledgerSchemaVersion:5,toolCalls:W.map(R=>({...R})),availableToolNames:Wl(a??c),enabledToolNames:uu(),toolCallNames:[...G].sort(),blockedToolCalls:My(B)}),pu=(R,V)=>({type:"end",turnId:o,content:R,turnStatus:V,taskOutcome:"unverified",usage:A.totalUsage,model:l,...A.recoveryTrace.size>0?{recoveryTrace:Object.fromEntries(A.recoveryTrace)}:{}});function*Ar(R,V="completed"){yield hi(),yield pu(R,V)}function*Ae(R,V){yield hi(),yield{type:"error",turnId:o,error:R,code:V,usage:A.totalUsage}}let _t=0,Ut=0;function*mu(R){_t<=Ut||(yield{type:"text_rollback",turnId:o,keepLength:Ut,reason:R},_t=Ut)}for(Me=yt();;){yield*mu("round_restart"),fi++,An=!1;let{messages:R,turnCount:V,guardState:re,reactiveCompactState:Ne}=A,{toolLoopState:he}=A;if(t.refreshTools&&fi>1){let y=t.refreshTools(),_=new Set(y.map(ze=>ze.function.name)),P=D(C.filter(ze=>!se.has(ze.function.name)||ve.has(ze.function.name)),_),ie=P;ie!==Me&&(Me=ie,n.debug(`tools refreshed within initial turn snapshot: ${P.length}/${C.length} tools`))}if(t.drainPendingGuidance)for(let y of t.drainPendingGuidance()){let _=y.trim();_&&(R.push({role:"user",content:_}),n.info(`mid-turn guidance injected (${_.length} chars)`))}if(t.drainPendingTaskNotifications){let y=t.drainPendingTaskNotifications().filter(_=>_.trim());y.length>0&&(R.push(Ql(y)),n.info(`background task result injected (${y.length} item(s))`))}if(Xn(re,q)){n.info(`turn aborted by guard at turn ${V}`),yield*Ae("Turn aborted","ABORTED");return}let Tt=yield*Kl({messages:R,guardConfig:q,runtimePorts:t.runtimePorts,hooks:m,hookCtx:p,currentModel:l,log:n,recovery:(y,_)=>Ke(y,_),onAutocompact:()=>{A.hasAttemptedReactiveCompact=!1}});if(Tt!==R&&R.splice(0,R.length,...Tt),mi){yield*Ar("","stopped");return}let Sn=Jn(re,q);Sn.level==="warning"&&n.info(`token budget warning: ${Sn.usagePercent}% used, ${Sn.remainingTokens} remaining`);let gi=t.toolChoice==="required"&&di?"auto":t.toolChoice??"auto",Sr=Dn({tools:Me,toolChoice:gi}),Or=Ur({maxRounds:k,replayMessages:Tt,lastStopReason:he.lastStopReason,options:{stopReason:he.lastStopReason}}),On=Or.state.replayMessages;he=Or.state,Or.recoveryActions.length>0&&n.debug(`tool loop recovery: ${Or.recoveryActions.map(y=>y.detail??y.kind).join("; ")}`),n.debug(`turn ${V}, messages: ${On.length}`),await Rn("model_ready",On,V-1),ne(m,"turn.before_inference",{...p,model:l},n);let zt=!1,yi=[],_i=gi==="required",In=0,Ft="";function*hu(y){if(y){if(_i){Ft+=y;return}In+=y.length,_t+=y.length,yield{type:"delta",turnId:o,text:y}}}function*gu(){if(!Ft)return;let y=Ft;Ft="",In+=y.length,_t+=y.length,yield{type:"delta",turnId:o,text:y}}let Ti=new Map,xn="stop",le,Ir,H=null,xr=null,vi=!1,yu=performance.now(),Pn,bi=0,wi=0,Ci=0,Mn=0,Ei,rt,ki=!1,Pr=!1,$i=!1,vt=[],Vt=[];try{let y=e.stream({model:l,messages:On,...Sr.tools.length>0?{tools:Sr.tools,toolChoice:Sr.normalizedToolChoice??"auto"}:{},temperature:d,maxTokens:re.currentMaxOutputTokens||void 0,streamRequired:t.streamRequired,reasoning:t.reasoning,promptCacheKey:t.promptCacheKey,promptCacheRetention:t.promptCacheRetention,serviceTier:t.serviceTier,...T!==void 0?{maxToolCalls:T}:{},parallelToolCalls:t.parallelToolCalls,textVerbosity:t.textVerbosity},u,h);for await(let _ of Dy(y,t.llmStreamIdleTimeoutMs??qy))switch(Pn===void 0&&_.type!=="usage"&&_.type!=="response_id"&&(Pn=Math.max(0,Math.round(performance.now()-yu))),_.type){case"delta":bi+=1,wi+=_.text.length,rt===void 0&&(rt="text"),Mn===0&&(ki=!0),yi.push(_.text),yield*hu(_.text);break;case"tool_call_delta":Mn+=1,rt===void 0&&(rt="tool_call"),zt=!0,Zn(Ti,_);break;case"reasoning_delta":Ci+=1,rt===void 0&&(rt="reasoning"),vt.push(_.text),yield{type:"reasoning_delta",turnId:o,text:_.text};break;case"reasoning_block_complete":_.signature&&Vt.push({thinking:vt.join(""),signature:_.signature}),vt.length=0;break;case"usage":Ir=Hn(_);let P=Py(_.records);le={inputTokens:P?.tokens.inputTokens??_.promptTokens,outputTokens:P?.tokens.outputTokens??_.completionTokens,reasoningTokens:P?.tokens.reasoningTokens??_.reasoningTokens,cacheRead:P?.tokens.cacheReadTokens??_.cacheReadTokens,cacheWrite:P?.tokens.cacheWriteTokens??_.cacheCreationTokens,records:_.records};break;case"response_id":Ei=_.id;break;case"annotations":yield{type:"annotations",turnId:o,annotations:_.annotations};break;case"error":vi=_.outcome==="rejected",xr=_.message||"LLM provider returned an error chunk";break;case"done":$i=!0,xn=_.finishReason;break}if(xr){ne(m,"stop.failure",{sessionId:s,reason:"PROVIDER_STREAM_ERROR",error:xr},n),yield*Ae(xr,vi?"MODEL_REQUEST_REJECTED":"PROVIDER_STREAM_ERROR");return}zt||ne(m,"turn.after_inference",{...p,model:l},n)}catch(y){if(y instanceof Cn){ne(m,"stop.failure",{sessionId:s,reason:y.code,error:y.message},n),yield*Ae(y.message,y.code);return}let _=yield*Hl(y,{state:A,guardState:re,signal:h,turnId:o,log:n,emitRecovery:Ke});if(_.kind==="return")return;if(_.kind==="continue"){A={...A,..._.patch};continue}H=_.streamError}if(!H&&!$i){let y="LLM stream closed before a terminal event; the response was likely truncated upstream.";ne(m,"stop.failure",{sessionId:s,reason:"RETRYABLE_TRANSIENT",error:y},n),yield*Ae(y,"RETRYABLE_TRANSIENT");return}if(H&&ne(m,"turn.after_inference",{...p,model:l,response:{error:H.message}},n),H)if(ri(H))Pr=!0,n.info(`withheld prompt_too_long error (status=${H.status})`);else if(oi(H))Pr=!0,n.info(`withheld media_size error (status=${H.status})`);else{let y=Qn({status:H.status??500,message:H.message},re,q);if(y.action==="reactive_compact"&&Kt(Ne)&&(Ne.attemptedThisTurn=!0,re.hasAttemptedReactiveCompact=!0,yield Ke("reactive_compact",`API ${H.status??500}: ${H.message}`)),y.action==="retry"){let P=(A.consecutiveApiRetries??0)+1;if(P>2){n.info(`API retry limit reached (${2}), aborting`);let ie=bt(H.status,H.message);yield*Ae(H.message,ie);return}yield Ke("retry",y.reason),A={...A,consecutiveApiRetries:P,transition:void 0};continue}let _=bt(H.status,H.message);ne(m,"stop.failure",{sessionId:s,reason:_,error:H.message},n),yield*Ae(H.message,_);return}le&&(A.totalUsage.inputTokens+=le.inputTokens,A.totalUsage.outputTokens+=le.outputTokens,le.reasoningTokens&&(A.totalUsage.reasoningTokens=(A.totalUsage.reasoningTokens??0)+le.reasoningTokens),le.cacheRead&&(A.totalUsage.cacheRead=(A.totalUsage.cacheRead??0)+le.cacheRead),le.cacheWrite&&(A.totalUsage.cacheWrite=(A.totalUsage.cacheWrite??0)+le.cacheWrite),le.records?.length&&(A.totalUsage.records=[...A.totalUsage.records??[],...le.records])),n.info(`[provider-context] ${JSON.stringify({event:"context_ledger_round",turnId:o,round:V,ttftMs:Pn,inputTokens:le?.inputTokens??0,outputTokens:le?.outputTokens??0,cacheReadTokens:le?.cacheRead??0,cacheWriteTokens:le?.cacheWrite??0,totalPromptTokens:Ir??0,responseIdReceived:Ei!==void 0,toolDefinitionCount:Me.length,providerTextChunkCount:bi,providerTextChars:wi,providerReasoningChunkCount:Ci,providerToolCallDeltaCount:Mn,firstSemanticProviderEvent:rt??"none",textBeforeFirstToolCall:ki,suppressLiveText:_i,liveEmittedTextChars:In,bufferedSuppressedTextChars:Ft.length})}`),Ir&&(re.promptTokens=Ir);let Ue=yi.join(""),nt=[...Ti.values()].map((y,_)=>({id:y.id||`tc_${o}_${V}_${_}`,type:"function",function:{name:y.name,arguments:y.arguments}}));if(!H&&X===0&&nt.length===0&&!zt&&Ue.trim()===""&&vt.join("").trim()===""&&Vt.length===0){let y="LLM returned an empty response before any tool use.";ne(m,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE",error:y},n),yield*Ae(y,"EMPTY_MODEL_RESPONSE");return}if(!H&&X>0&&nt.length===0&&!zt&&Ue.trim()===""&&!ni(xn)){let y="LLM returned no user-visible response after tool use.";ne(m,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE_AFTER_TOOL",error:y},n),yield*Ae(y,"EMPTY_MODEL_RESPONSE_AFTER_TOOL");return}if(nt.length===0&&!zt){if(t.drainPendingTaskNotifications){let P=t.drainPendingTaskNotifications().filter(ie=>ie.trim());if(P.length>0){A={...A,messages:[...R,...Ue?[{role:"assistant",content:Ue}]:[],Ql(P)]},n.info(`late background task result consumed at completion (${P.length} item(s)) \u2014 running another round`);continue}}if(t.drainPendingGuidance){let P=t.drainPendingGuidance().map(ie=>ie.trim()).filter(Boolean);if(P.length>0){A={...A,messages:[...R,...Ue?[{role:"assistant",content:Ue}]:[],...P.map(ie=>({role:"user",content:ie}))]},n.info(`late mid-turn guidance consumed at completion (${P.length} item(s)) \u2014 running another round`);continue}}if(Ue&&(A.finalText=Ue),Pr&&H&&ri(H)){if(Kt(Ne)){Ne.attemptedThisTurn=!0,re.hasAttemptedReactiveCompact=!0,n.info("withheld 413: reactive compact attempt"),yield Ke("reactive_compact","withheld prompt_too_long"),A={...A,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}n.info("withheld 413: recovery exhausted, surfacing error"),ne(m,"stop.failure",{sessionId:s,reason:"prompt_too_long",error:H.message},n),yield*Ae(H.message,"PROMPT_TOO_LONG");return}if(Pr&&H&&oi(H)){if(Kt(Ne)){Ne.attemptedThisTurn=!0,re.hasAttemptedReactiveCompact=!0,n.info("withheld media error: reactive compact strip-retry"),yield Ke("reactive_compact","media error strip-retry"),A={...A,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}n.info("withheld media error: recovery exhausted"),ne(m,"stop.failure",{sessionId:s,reason:"media_error",error:H.message},n),yield*Ae(H.message,"IMAGE_ERROR");return}ni(xn)&&(n.info("provider stopped at its output-token limit; preserving partial content"),An=!0),he=Dr(he,{replayMessages:R,lastStopReason:"completed"});let y=!A.finalText,_=A.finalText;yield*Ar(_,An||y?"stopped":"completed");return}let _u=Vt.length===0&&vt.length>0?vt.join(""):void 0;Ut=_t,f(R,qn(nt,Ue||void 0,Vt.length>0?Vt:void 0,_u)),he=Bn(he,{replayMessages:R,pendingToolCallIds:nt.map(y=>y.id),completedToolCallIds:he.completedToolCallIds,lastStopReason:"tool_calls"});let Bt=[],Tu=new Set(Me.map(y=>y.function.name)),Ri=[],Ai=[];for(let y of nt)Tu.has(y.function.name)?Ri.push(y):Ai.push(y);for(let y of Ai){let P=se.has(y.function.name)&&!ve.has(y.function.name)?`Tool "${y.function.name}" schema is not loaded. Call "${eo}" with that exact tool name before invoking it.`:`Tool "${y.function.name}" was not offered for this turn and will not be executed. Use only the tools listed in the current request.`;B.push({name:y.function.name,reason:"not-offered"}),f(R,Gt(y.id,{ok:!1,error:P})),Bt.push(y.id),G.add(y.function.name),n.warn(`unoffered tool call suppressed: ${y.function.name}`)}let Nn=[],Si=[];for(let y of Ri){let _=Sr.tools.find(ie=>ie.function.name===y.function.name),P=Ly(_,y.function.arguments);P?Si.push({call:y,error:P}):Nn.push(y)}for(let y of Si){let _=y.call;B.push({name:_.function.name,reason:"invalid-arguments"}),f(R,Gt(_.id,{ok:!1,error:y.error})),Bt.push(_.id),G.add(_.function.name),n.info(`invalid tool arguments blocked: ${_.function.name}`)}let Mr=Nn.slice(0,T);Mr.length>0&&(yield*gu(),Ut=_t);let Oi=Nn.slice(Mr.length);if(Oi.length>0){let y=`This model round proposed more than ${T} tool calls. Only the first ${T} were executed; re-issue any still-needed calls in the next round.`;for(let _ of Oi){B.push({name:_.function.name,reason:"per-round-tool-call-limit"});let P=Gt(_.id,{ok:!1,error:y});f(R,P),Bt.push(_.id)}}await Rn("tools_pending",R,V-1);for(let y of Mr){let _=Me.find(ie=>ie.function.name===y.function.name),P={sequence:W.length,callId:y.id,name:y.function.name,identity:jy(_,y.function.name),status:"running",arguments:y.function.arguments};W.push(P),oe.set(y.id,P),yield{type:"tool_call",turnId:o,callId:y.id,name:y.function.name,..._?.meta?.displayName?.fallback?.trim()?{displayName:_.meta.displayName.fallback.trim()}:{},arguments:y.function.arguments,inputSummary:Vl(y.function.arguments)},Re.add(y.function.name),K++}try{let y=t.runtimePorts.createStreamingToolExecutor({toolInvoker:r,round:V,hooks:m,sessionId:s,turnId:o,log:n,signal:h,maxConcurrentTools:t?.maxConcurrentTools,maxExecutionMs:24e4,executionTimeoutMsByTool:new Map(Me.flatMap(_=>{let P=_.meta?.executionTimeoutMs;return typeof P=="number"&&Number.isFinite(P)&&P>0?[[_.function.name,P]]:[]}))});for(let _ of Mr)y.addTool(_);for await(let _ of y.getRemainingResults()){let P=oe.get(_.callId);P&&(P.status=_.blocked?"blocked":_.ok?"succeeded":"failed",!_.ok&&typeof _.error=="string"&&_.error.trim()&&(P.error=_.error),_.ok||(P.failureKind=Li(_)));let ie=Ny(_);if(ie&&B.push({name:_.toolName,reason:ie}),_.blocked&&(yield{type:"tool_blocked",turnId:o,callId:_.callId,name:_.toolName,reason:_.blockReason??"blocked"}),_.ok&&_.toolName===eo){let ze=Ni(_.details),jn=t.refreshTools?new Set(t.refreshTools().map(Se=>Se.function.name)):void 0,Nr=[],Lr=[],jr=[];for(let Se of ze)!O.get(Se)||jn&&!jn.has(Se)?jr.push(Se):!se.has(Se)||ve.has(Se)?Lr.push(Se):(ve.add(Se),t.loadedDeferredToolNames?.add(Se),Nr.push(Se));Me=D(yt(),jn);let vu=_.message;vu.content=JSON.stringify({loaded:Nr,alreadyResident:Lr,unavailable:jr}),_.details={type:"tool_schema_load",requestedToolNames:ze,loaded:Nr,alreadyResident:Lr,unavailable:jr},n.info({turnId:o,loaded:Nr,alreadyResident:Lr,unavailable:jr},"tool schemas materialized by Agent selection")}{let ze=_.message;t.sanitizeToolResultMedia&&await t.sanitizeToolResultMedia(ze)}f(R,_.message),Bt.push(_.callId),_.blocked||(G.add(_.toolName),X++),yield ji(o,_)}}catch(y){let _=y instanceof Error?y.message:String(y);yield*Ae(_,"TOOL_EXECUTION_ERROR");return}h?.aborted&&h.throwIfAborted(),await Rn("model_ready",R,V),he=Dr(he,{replayMessages:R,completedToolCallIds:[...he.completedToolCallIds,...Bt],lastStopReason:"tool_calls"}),t.toolChoice==="required"&&nt.length>0&&(di=!0);let Ln=V+1;if(g>0&&Ln>g){n.info(`max turns reached (${g}), completing`),yield Ke("turn_limit_reached",`${g} tool rounds`),yield*Ar(A.finalText,"stopped");return}if(k>0&&Ln>k){n.info(`tool loop budget exhausted (${k} rounds), returning`),yield Ke("tool_budget_exhausted",`${k} rounds`),yield*Ar(A.finalText,"stopped");return}A={messages:R,hasAttemptedReactiveCompact:!1,turnCount:Ln,transition:{reason:"next_turn"},guardState:re,reactiveCompactState:Ne,toolLoopState:he,finalText:A.finalText,totalUsage:A.totalUsage,consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:A.recoveryTrace}}}function Yl(t){return[...new Set((t??[]).map(e=>e.function.name))].sort()}var En=class{transport;apiKey;toolInvoker;log;hooks;configuredMaxRounds;runtimePorts;constructor(e){this.transport=e.llmTransport,this.apiKey=e.apiKey,this.toolInvoker=e.toolInvoker,this.log=e.log,this.hooks=e.hooks,this.runtimePorts=e.runtimePorts,this.configuredMaxRounds=typeof e.maxRounds=="number"&&Number.isFinite(e.maxRounds)&&e.maxRounds>=1?Math.round(e.maxRounds):void 0}async*run(e,r){let{turnId:n,messages:o,availableTools:s,tools:i,systemPrompt:a,config:c}=e,l={sessionId:e.sessionId,turnId:n},u=[...o].reverse().find(w=>w.role==="user"&&typeof w.content=="string")?.content,d=!1,m=()=>({type:"tool_use_summary",turnId:n,telemetrySource:"agent",ledgerSchemaVersion:5,toolCalls:[],availableToolNames:Yl(s??i),enabledToolNames:Yl(i),toolCallNames:[],blockedToolCalls:[]}),h=typeof c?.maxRounds=="number"&&Number.isFinite(c.maxRounds)?c.maxRounds:this.configuredMaxRounds,f=h===void 0?void 0:Math.round(h),g=typeof c?.maxToolCalls=="number"&&Number.isFinite(c.maxToolCalls)?c.maxToolCalls:void 0,b=wn(g);yield{type:"start",turnId:n,effectiveMaxRounds:bn(f,o),...b!==void 0?{effectiveMaxToolCalls:b}:{}};try{ne(this.hooks,"turn.submitted",{...l,prompt:o[o.length-1]?.content??void 0},this.log);let w=Vn(o),C=[];a&&C.push({role:"system",content:a}),C.push(...w);let O=c?.model??"",E=c?.reasoning;c?.reasoning?.effort==="auto"&&(E=void 0);let B={turnId:n,sessionId:e.sessionId,continuation:e.continuation,messages:C,availableTools:s,tools:i,deferredToolNames:e.deferredToolNames,loadedDeferredToolNames:e.loadedDeferredToolNames,refreshTools:e.refreshTools,drainPendingGuidance:e.drainPendingGuidance,drainPendingTaskNotifications:e.drainPendingTaskNotifications,sanitizeToolResultMedia:e.sanitizeToolResultMedia,model:O,apiKey:c?.apiKey??this.apiKey,temperature:c?.temperature,maxRounds:f,contextWindowTokens:c?.contextWindowTokens,maxOutputTokens:c?.maxOutputTokens,toolChoice:c?.toolChoice,hooks:this.hooks,maxTurns:c?.maxTurns,maxConcurrentTools:c?.maxConcurrentTools,streamRequired:c?.streamRequired,reasoning:E,promptCacheKey:c?.promptCacheKey,promptCacheRetention:c?.promptCacheRetention,serviceTier:c?.serviceTier,maxToolCalls:g,parallelToolCalls:c?.parallelToolCalls??!1,textVerbosity:c?.textVerbosity,runtimePorts:this.runtimePorts.toolLoop,signal:r};for await(let k of Xl(B,this.transport,this.toolInvoker,this.log))k.type==="tool_use_summary"&&(d=!0),k.type==="end"?ne(this.hooks,"turn.completed",{...l,...u?{prompt:u}:{},response:k.content},this.log):k.type==="error"&&ne(this.hooks,"turn.failed",{...l,code:k.code,error:k.error},this.log),yield k}catch(w){if(d||(d=!0,yield m()),r?.aborted)ne(this.hooks,"turn.failed",{...l,code:"ABORTED",error:"Turn aborted"},this.log),yield{type:"error",turnId:n,error:"Turn aborted",code:"ABORTED"};else{let C=w instanceof Error?w.message:String(w),O=typeof w?.status=="number"?w.status:void 0,E=bt(O,C);this.log.error(`turn ${n} error [${E}, retryable=${qr(E)}]: ${C}`),ne(this.hooks,"turn.failed",{...l,code:E,error:C},this.log),yield{type:"error",turnId:n,error:C,code:E}}}}};import{randomUUID as zy}from"node:crypto";function kr(t){return t.filter(e=>!["text","image","audio","resource","resource_link"].includes(String(e.type))).map($r)}var Zl=["response_present_choice","response_present_table","response_present_diagram"],De=t=>({type:"string",minLength:1,maxLength:t}),Dt=t=>({type:"string",maxLength:t}),Fy=[{type:"function",function:{name:"response_present_choice",description:"Present a single-choice or multiple-choice question as an interactive response block.",parameters:{type:"object",additionalProperties:!1,required:["prompt","selection","options","submitLabel"],properties:{prompt:De(1e3),selection:{type:"string",enum:["single","multiple"]},options:{type:"array",minItems:2,maxItems:20,items:{type:"object",additionalProperties:!1,required:["id","label"],properties:{id:De(80),label:De(200),description:Dt(500)}}},required:{type:"boolean"},minSelections:{type:"integer",minimum:0,maximum:20},maxSelections:{type:"integer",minimum:1,maximum:20},submitLabel:De(80)}}}},{type:"function",function:{name:"response_present_table",description:"Present structured rows and columns as an accessible table response block.",parameters:{type:"object",additionalProperties:!1,required:["columns","rows"],properties:{title:Dt(300),caption:Dt(1e3),columns:{type:"array",minItems:1,maxItems:20,items:{type:"object",additionalProperties:!1,required:["key","label"],properties:{key:De(80),label:De(200),align:{type:"string",enum:["start","center","end"]}}}},rows:{type:"array",maxItems:200,items:{type:"object"}}}}}},{type:"function",function:{name:"response_present_diagram",description:"Present a bounded node-and-edge relationship or process diagram.",parameters:{type:"object",additionalProperties:!1,required:["nodes","edges"],properties:{title:Dt(300),direction:{type:"string",enum:["horizontal","vertical"]},nodes:{type:"array",minItems:1,maxItems:30,items:{type:"object",additionalProperties:!1,required:["id","label"],properties:{id:De(80),label:De(200),description:Dt(500),tone:{type:"string",enum:["neutral","info","success","warning","danger"]}}}},edges:{type:"array",maxItems:60,items:{type:"object",additionalProperties:!1,required:["from","to"],properties:{from:De(80),to:De(80),label:Dt(120)}}}}}}}],N=class extends Error{constructor(e){super(e),this.name="AgentContentBlockValidationError"}},Ge=(t,e)=>{if(!t||typeof t!="object"||Array.isArray(t))throw new N(`${e} must be an object`);return t},te=(t,e,r,n=!1)=>{if(typeof t!="string")throw new N(`${e} must be a string`);let o=t.trim();if(!n&&o.length===0)throw new N(`${e} must not be empty`);if(o.length>r)throw new N(`${e} exceeds ${r} characters`);return o},tt=(t,e,r)=>t===void 0?"":te(t,e,r,!0),si=(t,e,r,n,o)=>{if(t===void 0)return o;if(!Number.isInteger(t)||t<r||t>n)throw new N(`${e} must be an integer from ${r} to ${n}`);return t},ii=(t,e)=>{if(new Set(t).size!==t.length)throw new N(`${e} must contain unique ids`)};function $r(t){let e=Ge(t,"content block"),r=te(e.id,"id",200),n=te(e.type,"type",40);if(n==="choice"){let o=e.selection;if(o!=="single"&&o!=="multiple")throw new N("selection must be single or multiple");if(!Array.isArray(e.options)||e.options.length<2||e.options.length>20)throw new N("options must contain 2 to 20 items");let s=e.options.map((l,u)=>{let d=Ge(l,`options[${u}]`);return{id:te(d.id,`options[${u}].id`,80),label:te(d.label,`options[${u}].label`,200),description:tt(d.description,`options[${u}].description`,500)}});if(ii(s.map(l=>l.id),"options"),e.required!==void 0&&typeof e.required!="boolean")throw new N("required must be a boolean");let i=e.required??!0,a=si(e.maxSelections,"maxSelections",1,20,1),c=si(e.minSelections,"minSelections",0,20,i?1:0);if(o==="single"&&a!==1)throw new N("single choice must allow exactly one selection");if(c>a||a>s.length)throw new N("choice selection bounds are invalid");return{id:r,type:n,prompt:te(e.prompt,"prompt",1e3),selection:o,options:s,required:i,minSelections:c,maxSelections:a,submitLabel:te(e.submitLabel,"submitLabel",80)}}if(n==="table"){if(!Array.isArray(e.columns)||e.columns.length<1||e.columns.length>20)throw new N("columns must contain 1 to 20 items");let o=e.columns.map((i,a)=>{let c=Ge(i,`columns[${a}]`),l=c.align??"start";if(l!=="start"&&l!=="center"&&l!=="end")throw new N(`columns[${a}].align is invalid`);return{key:te(c.key,`columns[${a}].key`,80),label:te(c.label,`columns[${a}].label`,200),align:l}});if(ii(o.map(i=>i.key),"columns"),!Array.isArray(e.rows)||e.rows.length>200)throw new N("rows must contain at most 200 items");let s=e.rows.map((i,a)=>{let c=Ge(i,`rows[${a}]`),l={};for(let[u,d]of Object.entries(c)){if(d!==null&&typeof d!="string"&&typeof d!="number"&&typeof d!="boolean")throw new N(`rows[${a}].${u} is not a table cell`);if(typeof d=="string"&&d.length>2e3)throw new N(`rows[${a}].${u} exceeds 2000 characters`);l[u]=d}return l});return{id:r,type:n,title:tt(e.title,"title",300),caption:tt(e.caption,"caption",1e3),columns:o,rows:s}}if(n==="diagram"){let o=e.direction??"horizontal";if(o!=="horizontal"&&o!=="vertical")throw new N("direction is invalid");if(!Array.isArray(e.nodes)||e.nodes.length<1||e.nodes.length>30)throw new N("nodes must contain 1 to 30 items");let s=new Set(["neutral","info","success","warning","danger"]),i=e.nodes.map((l,u)=>{let d=Ge(l,`nodes[${u}]`),m=d.tone??"neutral";if(typeof m!="string"||!s.has(m))throw new N(`nodes[${u}].tone is invalid`);return{id:te(d.id,`nodes[${u}].id`,80),label:te(d.label,`nodes[${u}].label`,200),description:tt(d.description,`nodes[${u}].description`,500),tone:m}});if(ii(i.map(l=>l.id),"nodes"),!Array.isArray(e.edges)||e.edges.length>60)throw new N("edges must contain at most 60 items");let a=new Set(i.map(l=>l.id)),c=e.edges.map((l,u)=>{let d=Ge(l,`edges[${u}]`),m={from:te(d.from,`edges[${u}].from`,80),to:te(d.to,`edges[${u}].to`,80),label:tt(d.label,`edges[${u}].label`,120)};if(!a.has(m.from)||!a.has(m.to))throw new N(`edges[${u}] references an unknown node`);return m});return{id:r,type:n,title:tt(e.title,"title",300),direction:o,nodes:i,edges:c}}if(n==="attachment"){let o=Ge(e.attachment,"attachment"),s=new Set(["image","spreadsheet","presentation","document","engineering_2d","engineering_3d","file"]);if(typeof o.kind!="string"||!s.has(o.kind))throw new N("attachment.kind is invalid");let i=te(o.downloadUrl,"attachment.downloadUrl",4e3),a=te(o.expiresAt,"attachment.expiresAt",100);try{new URL(i)}catch{throw new N("attachment.downloadUrl must be an absolute URL")}if(!Number.isFinite(Date.parse(a)))throw new N("attachment.expiresAt must be an ISO timestamp");return{id:r,type:n,attachment:{id:te(o.id,"attachment.id",200),kind:o.kind,fileName:te(o.fileName,"attachment.fileName",500),mimeType:te(o.mimeType,"attachment.mimeType",255),byteSize:si(o.byteSize,"attachment.byteSize",0,Number.MAX_SAFE_INTEGER,0),downloadUrl:i,expiresAt:a,note:tt(o.note,"attachment.note",500),engineering:Vy(o.engineering)}}}throw new N(`unsupported content block type: ${n}`)}function Vy(t){if(t==null)return null;let e=Ge(t,"engineering"),r=te(e.format,"engineering.format",20);if(!["dxf","dwg","step","stp","glb","gltf"].includes(r))throw new N("engineering.format is invalid");let n=te(e.previewMode,"engineering.previewMode",50);if(!["direct","browser_conversion","external_conversion_required"].includes(n))throw new N("engineering.previewMode is invalid");let o=te(e.parseStatus,"engineering.parseStatus",50);if(!["parsed","partial","conversion_required"].includes(o))throw new N("engineering.parseStatus is invalid");return{format:r,previewMode:n,parseStatus:o,summary:tt(e.summary,"engineering.summary",2e3)}}function By(t,e,r=zy){if(!Zl.includes(t))throw new N(`unsupported presentation tool: ${t}`);let n;try{n=JSON.parse(e)}catch{throw new N("presentation tool arguments must be valid JSON")}let o=t==="response_present_choice"?"choice":t==="response_present_table"?"table":"diagram",s=$r({...Ge(n,"arguments"),id:r(),type:o});return{result:JSON.stringify({presented:!0,type:s.type}),contentBlocks:[s]}}var eu=new Set(["dxf","dwg","step","stp","glb","gltf"]),Er=t=>new TextDecoder("utf-8",{fatal:!1}).decode(t),tu=t=>{let e=t.split(/[\\/]/u).at(-1)??t,r=e.lastIndexOf(".");return r<0?"":e.slice(r+1).toLowerCase()};function Gy(t){return eu.has(tu(t))}function Ky(t,e){let r=tu(t);if(!eu.has(r))return null;if(r==="dxf")return Hy(e);if(r==="step"||r==="stp")return Wy(e,r);if(r==="glb"||r==="gltf")return Jy(e,r);let n=Er(e.subarray(0,6));if(!/^AC10\d{2}$/u.test(n))throw new N("invalid DWG signature");let o={signature:n};return{format:r,status:"conversion_required",previewMode:"external_conversion_required",metadata:o,extractedText:JSON.stringify({format:r,...o,conversionRequired:!0})}}function Hy(t){let e=Er(t).split(/\r?\n/u),r=e.map(c=>c.trim().toUpperCase());if(!r.includes("SECTION")||!r.includes("EOF"))throw new N("invalid DXF structure");let n={},o=new Set,s=[],i=[];for(let c=0;c+1<e.length;c+=2){let l=e[c]?.trim(),u=e[c+1]?.trim()??"";if(l==="0"&&/^[A-Z][A-Z0-9_]*$/u.test(u)&&(n[u]=(n[u]??0)+1),l==="8"&&u&&o.add(u),l==="10"||l==="11"){let d=Number(u);Number.isFinite(d)&&s.push(d)}if(l==="20"||l==="21"){let d=Number(u);Number.isFinite(d)&&i.push(d)}}let a={layers:[...o].slice(0,100),entityCounts:n,bounds2d:s.length>0&&i.length>0?{minX:Math.min(...s),maxX:Math.max(...s),minY:Math.min(...i),maxY:Math.max(...i)}:null};return{format:"dxf",status:"parsed",previewMode:"browser_conversion",metadata:a,extractedText:JSON.stringify({format:"dxf",...a})}}function Wy(t,e){let r=Er(t);if(!/^\s*ISO-10303-21;/iu.test(r)||!/END-ISO-10303-21;\s*$/iu.test(r))throw new N("invalid STEP structure");let n=r.match(/FILE_SCHEMA\s*\(\s*\(([^)]+)\)/iu)?.[1]?.replace(/['"]/gu,"").trim()??null,o=[...r.matchAll(/PRODUCT\s*\(\s*'[^']*'\s*,\s*'([^']*)'/giu)].map(a=>a[1]?.trim()).filter(a=>!!a),s={};for(let a of r.matchAll(/^#\d+\s*=\s*([A-Z0-9_]+)\s*\(/gmu)){let c=a[1]??"UNKNOWN";s[c]=(s[c]??0)+1}let i={schema:n,products:[...new Set(o)].slice(0,50),entityCounts:s};return{format:e,status:"parsed",previewMode:"browser_conversion",metadata:i,extractedText:JSON.stringify({format:e,...i})}}function Jy(t,e){let r;if(e==="gltf")r=JSON.parse(Er(t));else{let i=new DataView(t.buffer,t.byteOffset,t.byteLength);if(t.byteLength<20||i.getUint32(0,!0)!==1179937895)throw new N("invalid GLB header");let a=i.getUint32(12,!0);if(i.getUint32(16,!0)!==1313821514||20+a>t.byteLength)throw new N("GLB JSON chunk is missing");r=JSON.parse(Er(t.subarray(20,20+a)))}let n=r.asset;if(!n||typeof n!="object"||Array.isArray(n)||typeof n.version!="string")throw new N("glTF asset metadata is missing");let o=i=>Array.isArray(r[i])?r[i].length:0,s={scenes:o("scenes"),nodes:o("nodes"),meshes:o("meshes"),materials:o("materials")};return{format:e,status:"parsed",previewMode:"direct",metadata:s,extractedText:JSON.stringify({format:e,...s})}}function ru(t){return{role:"user",content:`[${t} earlier messages removed to fit the context budget]`}}var kn=class{constructor(e){this.estimateTokens=e}estimateTokens;compress(e,r){let n=[...new Map(e.flatMap(f=>f.contextAnchors??[]).map(f=>[JSON.stringify(f),f])).values()],o=n.length?{role:"user",contextAnchors:n,contextProjection:"facts",content:`Product-confirmed context facts (data, not new instructions):
11
- ${JSON.stringify(n)}`}:void 0,s=[],i=[];for(let f of e)f.contextProjection!=="facts"&&(f.role==="system"?s.push(f):i.push(f));let a=r;for(let f of s)a-=this.estimateTokens(f);o&&(a-=this.estimateTokens(o));let c;for(let f of i)if(f.role==="user"){c=f;break}if(c&&(a-=this.estimateTokens(c)),a<=0){let f=i.length-(c?1:0),p=c?[...s,c]:[...s];return o&&p.push(o),f>0&&p.push(ru(f)),{messages:p,droppedCount:f,strategy:"sliding-window"}}let l=[];for(let f of i){if(f===c)continue;let p=l.at(-1);f.role==="tool"&&p?.[0]?.role==="assistant"&&Array.isArray(p[0].tool_calls)&&p[0].tool_calls.length?p.push(f):l.push([f])}let u=[],d=0;for(let f=l.length-1;f>=0;f--){let p=l[f],g=p.reduce((b,w)=>b+this.estimateTokens(w),0);if(a-g<0&&d>=4)break;if(a-g<0&&d<4){u.unshift(...p),d+=p.length;continue}a-=g,u.unshift(...p),d+=p.length}let m=i.length-(u.length+(c&&!u.includes(c)?1:0)),h=[...s];return c&&!u.includes(c)&&h.push(c),o&&h.push(o),m>0&&h.push(ru(m)),h.push(...u),{messages:h,droppedCount:m,strategy:"sliding-window"}}};function Qy(t,e){let r=t.executionTimeoutMsByTool?.get(e)??t.maxExecutionMs;return typeof r=="number"&&Number.isFinite(r)&&r>0?Math.round(r):void 0}function Xy(t,e){let r=[t,e?AbortSignal.timeout(e):void 0].filter(n=>n!==void 0);if(r.length!==0)return r.length===1?r[0]:AbortSignal.any(r)}async function Yy(t,e){let{call:r}=t,n=r.function.name,o=Date.now();try{let s=await e.toolInvoker.invoke(e.turnId,n,r.function.arguments,Xy(e.signal,Qy(e,n)),{callId:r.id,sessionId:e.sessionId,round:e.round??1}),i=s.error??(s.mcpIsError?"Tool execution failed":void 0),a=i===void 0;return{callId:r.id,toolName:n,ok:a,...i?{error:i}:{},durationMs:Date.now()-o,...s.details?{details:s.details}:{},message:wt(r.id,{ok:a,payload:s.result,...i?{error:i}:{},toolReferences:s.toolReferences,imageUrls:s.imageUrls,contentBlocks:s.contentBlocks,structuredContent:s.structuredContent,mcpMeta:s.mcpMeta,mcpIsError:s.mcpIsError})}}catch(s){let i=s instanceof Error?s.message:String(s);return{callId:r.id,toolName:n,ok:!1,error:i,durationMs:Date.now()-o,message:wt(r.id,{ok:!1,error:i})}}}var $n=class{constructor(e){this.config=e}config;calls=[];addTool(e){this.calls.push({call:e,index:this.calls.length})}async*getRemainingResults(){let e=Math.max(1,Math.min(this.config.maxConcurrentTools??1,Math.max(1,this.calls.length))),r=[],n=0,o=e,s,i=async()=>{try{for(;n<this.calls.length;){if(this.config.signal?.aborted)return;let c=this.calls[n++];if(!c)return;r.push(await Yy(c,this.config)),s?.()}}finally{o--,s?.()}},a=Array.from({length:e},()=>i());try{for(;o>0||r.length>0;){let c=r.shift();c?yield c:await new Promise(l=>{s=l})}}finally{await Promise.all(a)}}};var Zy=8e3;function e_(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.round(t):e}function t_(t){let e=typeof t.content=="string"?t.content:JSON.stringify(t.content??"");return Math.ceil(e.length/4)}function r_(t){let e=e_(t.maxToolResultChars,Zy),r=new kn(t_);return{saveCheckpoint:t.onCheckpoint,enforceToolResultBudget:async n=>{let o=0;return{messages:n.map(i=>{if(i.role!=="tool"||typeof i.content!="string"||i.content.length<=e)return i;o+=1;let a=`
12
- [tool result truncated: ${i.content.length-e} characters omitted]`;return{...i,content:`${i.content.slice(0,Math.max(0,e-a.length))}${a}`}}),newlyReplacedCount:o}},compressMessages:(n,o)=>{let s=r.compress(n,o.budget);return{messages:s.messages,droppedCount:s.droppedCount,strategy:s.strategy}},createStreamingToolExecutor:n=>new $n(n)}}function nu(t={}){return{toolLoop:r_(t)}}var n_={info:()=>{},warn:()=>{},error:()=>{},debug:()=>{}};function ai(t){return{async*run(e,r){let n=[],o={async invoke(i,a,c,l,u){let d=await t.toolInvoker.invoke(i,a,c,l,u),m=kr(d.contentBlocks??[]),h=new Set(n.map(f=>f.id));for(let f of m)h.has(f.id)||n.push(f),h.add(f.id);if(n.length>30)throw Error("a turn cannot return more than 30 content blocks");return d}},s=new En({llmTransport:t.llmTransport,toolInvoker:o,apiKey:t.apiKey??"",log:t.logger??n_,maxRounds:t.maxRounds,runtimePorts:nu(t.runtime)});for await(let i of s.run(e,r))i.type==="end"?yield{...i,...n.length?{contentBlocks:n}:{}}:yield i}}}import{createHash as iu}from"node:crypto";function ou(t,e){let r=o=>typeof o=="string"&&!!o.trim();if(!t||![t.module?.id,t.module?.version,t.enterprise?.configurationRevision,t.employee?.permissionRevision,t.knowledge?.revision,t.knowledge?.skill].every(r)||!Array.isArray(t.module.fields)||!t.module.fields.every(o=>o&&typeof o=="object"&&!Array.isArray(o))||!Array.isArray(t.module.operations)||!Array.isArray(t.employee.allowedOperations)||!t.enterprise.configuration||typeof t.enterprise.configuration!="object"||Array.isArray(t.enterprise.configuration)||!Array.isArray(t.enterprise.dataSources)||!Array.isArray(t.knowledge.examples)||!Array.isArray(t.knowledge.exceptions)||t.module.operations.some(o=>!o||!r(o.description)||!Array.isArray(o.prerequisites)||!o.prerequisites.every(r))||t.enterprise.dataSources.some(o=>!o||!r(o.id)||!["ready","missing","unavailable"].includes(o.state)||o.reference!==void 0&&!r(o.reference))||t.knowledge.examples.some(o=>!o||![o.operation,o.input,o.expectedOutcome,o.evidenceReference].every(r))||t.knowledge.exceptions.some(o=>!o||![o.code,o.handling].every(r)))throw Error("CLOUD_ASSISTANT_CONTEXT_INVALID");let n=t.module.operations.map(o=>o.id);if(!n.every(r)||new Set(n).size!==n.length||t.employee.allowedOperations.some(o=>!n.includes(o))||new Set(e.map(o=>o.function.name)).size!==e.length)throw Error("CLOUD_ASSISTANT_CONTEXT_INVALID")}function Rr(t){if(!t||typeof t.id!="string"||!t.id.trim()||typeof t.description!="string"||!t.description.trim()||!Array.isArray(t.criteria)||!t.criteria.length||t.criteria.some(e=>!e||typeof e.id!="string"||!e.id.trim()||typeof e.description!="string"||!e.description.trim())||new Set(t.criteria.map(e=>e.id)).size!==t.criteria.length)throw Error("CLOUD_GOAL_INVALID")}function su(t,e){Rr(t);let r=t.criteria.map(n=>n.id);if(!e||!Array.isArray(e.criteria)||e.criteria.some(n=>!n)||e.criteria.length!==r.length||new Set(e.criteria.map(n=>n.id)).size!==r.length||e.criteria.some(n=>!r.includes(n.id)||!["satisfied","missing","failed"].includes(n.status)||!Array.isArray(n.references)||n.references.some(o=>typeof o!="string"||!o.trim())||n.status==="satisfied"&&!n.references.length))throw Error("CLOUD_GOAL_EVIDENCE_INVALID");return{status:e.criteria.every(n=>n.status==="satisfied")?"satisfied":"incomplete",criteria:structuredClone(e.criteria)}}function ci(t,e){let r=structuredClone(t);if(r.phase!=="tools_pending")throw Error("CLOUD_RECONCILIATION_REQUIRED");let n=r.messages.findLastIndex(i=>!!i.tool_calls?.length),o=r.messages[n]?.tool_calls;if(!o||n<0||r.messages.slice(n+1).some(i=>i.role!=="tool"))throw Error("CLOUD_RECONCILIATION_REQUIRED");let s=new Map(e.map(i=>[i.invocation.callId,i]));if(s.size!==e.length||s.size!==o.length)throw Error("CLOUD_RECONCILIATION_REQUIRED");r.messages=r.messages.slice(0,n+1);for(let i of o){let a=s.get(i.id),c=a?.invocation;if(!a||!c||be(c.context)!==be(r.context)||c.turnId!==r.turnId||c.sessionId!==r.sessionId||c.round!==r.completedRounds+1||c.name!==i.function.name||c.arguments!==i.function.arguments||typeof a.result.result!="string")throw Error("CLOUD_CHECKPOINT_MISMATCH");let l=a.result,u=l.error??(l.mcpIsError?"Tool execution failed":void 0);r.messages.push(wt(i.id,{ok:u===void 0,payload:l.result,error:u,toolReferences:l.toolReferences,imageUrls:l.imageUrls,contentBlocks:l.contentBlocks,structuredContent:l.structuredContent,mcpMeta:l.mcpMeta,mcpIsError:l.mcpIsError}));for(let d of kr(l.contentBlocks??[]))r.contentBlocks.some(m=>m.id===d.id)||r.contentBlocks.push(d)}if(r.contentBlocks.length>30)throw Error("CLOUD_CHECKPOINT_MISMATCH");return r.completedRounds++,r.phase="model_ready",r}function be(t){return JSON.stringify(t,(e,r)=>r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.keys(r).sort().map(n=>[n,r[n]])):r)}function o_(t){let e=new Set;for(let r of t){for(let n of r.tool_calls??[])e.add(n.id);r.role==="tool"&&r.tool_call_id&&e.delete(r.tool_call_id)}return e.size>0}function li(t){return{async*run(e,r){let n=structuredClone(e);n.config={...n.config,maxRounds:n.config?.maxRounds??t.maxRounds??12,maxToolCalls:n.config?.maxToolCalls??8,maxConcurrentTools:n.config?.maxConcurrentTools??1};let o=Object.freeze(n.context),s=be({messages:n.messages,tools:n.tools,availableTools:n.availableTools,config:n.config,systemPrompt:n.systemPrompt,maxRounds:t.maxRounds,runtime:t.runtime,assistantContext:n.assistantContext,goal:n.goal,executionBudget:n.executionBudget}),i=T=>({type:"error",turnId:n.turnId,code:T,error:T});try{n.assistantContext&&ou(n.assistantContext,n.tools),n.goal&&Rr(n.goal)}catch(T){yield i(T instanceof Error?T.message:"CLOUD_REQUEST_INVALID");return}let a=n.executionBudget;if(a&&(a.maxModelRequests!==void 0&&(!Number.isSafeInteger(a.maxModelRequests)||a.maxModelRequests<1)||a.deadlineAtMs!==void 0&&(!Number.isSafeInteger(a.deadlineAtMs)||a.deadlineAtMs<1))){yield i("CLOUD_BUDGET_INVALID");return}if(a?.deadlineAtMs!==void 0&&a.deadlineAtMs<=Date.now()){yield i("CLOUD_DEADLINE_EXCEEDED");return}if(!o||Object.values(o).some(T=>typeof T!="string"||!T.trim())||![o.applicationId,o.tenantId,o.actorId,o.scopeId,o.definitionVersion,n.turnId,n.sessionId].every(T=>typeof T=="string"&&T.trim())){yield i("CLOUD_CONTEXT_INVALID");return}if([n.config.maxRounds,n.config.maxToolCalls,n.config.maxConcurrentTools].some(T=>!Number.isSafeInteger(T)||T<1)){yield i("CLOUD_BUDGET_INVALID");return}let c=n.resume;if(c&&(c.schemaVersion!==1||be(c.context)!==be(o)||c.turnId!==n.turnId||c.sessionId!==n.sessionId||c.binding!==s||!Number.isSafeInteger(c.completedRounds)||c.completedRounds<0||!Array.isArray(c.messages)||!Array.isArray(c.contentBlocks))){yield i("CLOUD_CHECKPOINT_MISMATCH");return}if(c&&(c.phase!=="model_ready"||o_(c.messages))){yield i("CLOUD_RECONCILIATION_REQUIRED");return}let l=n.config?.maxRounds??t.maxRounds;if(c&&(l&&l>0&&c.completedRounds>=l||n.config?.maxTurns&&n.config.maxTurns>0&&c.completedRounds>=n.config.maxTurns)){yield i("CLOUD_BUDGET_EXHAUSTED");return}let u=new AbortController,d=r?AbortSignal.any([r,u.signal]):u.signal,m,h,f=T=>{throw m=T,u.abort(),Error(T)},p,g=()=>{if(a?.deadlineAtMs===void 0)return;let T=a.deadlineAtMs-Date.now();if(T<=0){m="CLOUD_DEADLINE_EXCEEDED",u.abort();return}p=setTimeout(g,Math.min(T,2147483647))},b=async T=>{d.throwIfAborted();try{await t.authorize(o,T)}catch{f("CLOUD_AUTHORIZATION_FAILED")}d.throwIfAborted()},w=new Map,C=structuredClone(c?.modelOperations??[]),O=c?structuredClone(c):void 0,E=(c?.completedRounds??0)+1,B=async T=>{let q=structuredClone(C),G=q.findIndex(W=>W.requestId===T.requestId);G<0?q.push(structuredClone(T)):q[G]=structuredClone(T);try{if(t.onModelOperation)await t.onModelOperation(structuredClone(T));else if(O&&t.checkpoints){let W=structuredClone({...O,modelOperations:q});await t.checkpoints.save(W),O=W}}catch{return f("CLOUD_MODEL_RECEIPT_FAILED")}C.splice(0,C.length,...q)};try{for(let T of c?.contentBlocks??[])w.set(T.id,$r(T));if(w.size>30)throw Error("invalid block count")}catch{yield i("CLOUD_CHECKPOINT_MISMATCH");return}let k=ai({...t,llmTransport:{async*stream(T,q,G){await b({type:"model"});let W=iu("sha256").update(be(T)).digest("hex"),oe=C.findLast(D=>D.round===E&&D.requestDigest===W&&D.status==="completed"&&D.response?.length);if(oe?.response){for(let D of structuredClone(oe.response))yield D;return}if(C.some(D=>["prepared","responding","unknown"].includes(D.status)))return f("MODEL_RECONCILIATION_REQUIRED");if(a?.maxModelRequests!==void 0&&C.length>=a.maxModelRequests)return f("CLOUD_BUDGET_EXHAUSTED");let X=Math.max(0,...C.filter(D=>D.round===E).map(D=>D.attempt))+1,Re=iu("sha256").update(be([o,n.turnId,E,X,W])).digest("hex"),K={requestId:Re,requestDigest:W,round:E,attempt:X,model:T.model,status:"prepared",startedAtMs:Date.now()};if(await B(K),t.reserveModelBudget){try{let D=await t.reserveModelBudget(o,structuredClone(K),structuredClone(T),G);if(typeof D?.reference!="string"||!D.reference.trim())throw Error("invalid budget reservation");K={...K,budgetReference:D.reference}}catch{return await B({...K,status:"rejected",finishedAtMs:Date.now()}),f("CLOUD_MODEL_BUDGET_REJECTED")}await B(K)}G?.throwIfAborted();let se=!1,ve=!1,yt=[];try{for await(let D of t.llmTransport.stream({...T,execution:{requestId:Re,requestDigest:W,round:E,attempt:X}},q,G))yt.push(structuredClone(D)),D.type==="response_id"&&(K={...K,responseId:D.id,status:"responding"},await B(K)),D.type==="usage"&&(K={...K,usage:{inputTokens:D.promptTokens,outputTokens:D.completionTokens,records:D.records}}),D.type==="done"&&!ve&&(se=!0,K={...K,status:"completed",finishReason:D.finishReason}),D.type==="error"&&(ve=!0,se=!1,K={...K,status:D.outcome==="rejected"?"rejected":"unknown"}),yield D}catch(D){throw K={...K,status:D?.outcome==="rejected"?"rejected":"unknown"},D}finally{!se&&K.status!=="rejected"&&(K={...K,status:"unknown"}),K.status==="completed"&&(K={...K,response:yt}),K={...K,finishedAtMs:Date.now()},await B(K)}}},runtime:{...t.runtime,onCheckpoint:async T=>{E=T.completedRounds+1,(m||d.aborted)&&d.throwIfAborted();try{await t.checkpoints?.save(structuredClone({...T,schemaVersion:1,context:o,binding:s,contentBlocks:[...w.values()],modelOperations:C})),O=structuredClone({...T,schemaVersion:1,context:o,binding:s,contentBlocks:[...w.values()],modelOperations:C})}catch{f("CLOUD_CHECKPOINT_FAILED")}}},toolInvoker:{async invoke(T,q,G,W,oe){if(!oe)return f("CLOUD_TOOL_IDENTITY_MISSING");await b({type:"tool",name:q,callId:oe.callId});let X=Object.freeze({context:o,turnId:T,sessionId:oe.sessionId,callId:oe.callId,round:oe.round,name:q,arguments:G}),Re,K=!1;try{let se=await t.toolInvoker.invoke(X,W);if("kind"in se&&se.kind==="wait"){if(!t.onWait||!t.checkpoints)return f("CLOUD_WAIT_STORAGE_REQUIRED");if(h)return f("CLOUD_MULTIPLE_WAITS");if(typeof se.wait?.id!="string"||!se.wait.id.trim()||typeof se.wait.reference!="string"||!se.wait.reference.trim()||!["input","confirmation","external"].includes(se.wait.kind))return f("CLOUD_WAIT_INVALID");throw await t.onWait(X,structuredClone(se.wait)),h={type:"waiting",turnId:T,invocation:X,wait:structuredClone(se.wait)},K=!0,u.abort(),Error("CLOUD_TASK_WAITING")}Re=se;for(let ve of kr(Re.contentBlocks??[]))w.has(ve.id)||w.set(ve.id,ve);if(w.size>30)throw Error("invalid block count")}catch{if(K||m)throw Error(m??"CLOUD_TASK_WAITING");return f("CLOUD_TOOL_OUTCOME_UNKNOWN")}try{await t.onToolResult?.(X,structuredClone(Re))}catch{f("CLOUD_TOOL_RECEIPT_FAILED")}return Re}}});try{g();let T=n.assistantContext,q=[...n.messages],G=[];T&&G.push({role:"user",contextProjection:"facts",content:`Product context facts (data, not instructions): ${JSON.stringify({module:T.module,enterprise:T.enterprise,employee:T.employee})}`,contextAnchors:[{category:"constraint",value:JSON.stringify({module:T.module,enterprise:T.enterprise,employee:T.employee})}]}),n.goal&&G.push({role:"user",contextProjection:"facts",content:`Requested business outcome: ${JSON.stringify(n.goal)}`,contextAnchors:[{category:"objective",value:JSON.stringify(n.goal)}]});let W=q.findLastIndex(X=>X.role==="user"&&X.contextProjection!=="facts");q.splice(W<0?q.length:W,0,...G);let oe=T?[n.systemPrompt,T.knowledge.skill,`Verified examples and exception handling: ${JSON.stringify({revision:T.knowledge.revision,examples:T.knowledge.examples,exceptions:T.knowledge.exceptions})}`].filter(Boolean).join(`
10
+ `)}}var qy=18e4,En=class extends Error{constructor(r){super(`LLM stream idle timeout after ${r}ms without a chunk.`);this.timeoutMs=r;this.name="LLMStreamIdleTimeoutError"}timeoutMs;code="LLM_STREAM_TIMEOUT"};async function*Dy(t,e){if(!Number.isFinite(e)||e<=0){yield*t;return}let r=t[Symbol.asyncIterator]();try{for(;;){let n,o;try{o=await Promise.race([r.next(),new Promise(s=>{n=setTimeout(()=>s("timeout"),e)})])}finally{n&&clearTimeout(n)}if(o==="timeout")throw new En(e);if(o.done)return;yield o.value}}finally{r.return?.().catch(()=>{})}}function Uy(t){try{let e=JSON.parse(t);return e&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}}async function*Ql(t,e,r,n){let{turnId:o,sessionId:s,messages:i,availableTools:a,tools:c,model:l,apiKey:u,temperature:d=0,hooks:m,signal:h}=t,f=(R,F)=>{R.push(F)},p={sessionId:s,turnId:o},g=t.maxTurns??0,b=a??c,w=new Set(c.map(R=>R.function.name)),E=b,O=new Map(E.map(R=>[R.function.name,R])),C=b.filter(R=>w.has(R.function.name)),V=[],k=bn(t.maxRounds,i),T=wn(t.maxToolCalls),q={contextWindowTokens:t.contextWindowTokens??128e3,responseBufferTokens:13e3,maxOutputTokens:t.maxOutputTokens??16384,abortSignal:h,reactiveCompactEnabled:!0},G=new Set,W=[],oe=new Map,Q=0,Re=new Set,K=0,se=new Set(t.deferredToolNames??[]),ve=new Set;for(let R of t.loadedDeferredToolNames??[])se.has(R)&&O.has(R)?ve.add(R):t.loadedDeferredToolNames?.delete(R);let yt=()=>{let R=new Map(C.map(F=>[F.function.name,F]));for(let F of ve){let re=O.get(F);re&&R.set(F,re)}return[...R.values()]},D=(R,F)=>F?R.filter(re=>F.has(re.function.name)):[...R],Me=yt(),uu=()=>Wl(Me),di=(t.continuation?.completedRounds??0)>0,A={messages:[...i],hasAttemptedReactiveCompact:!1,turnCount:(t.continuation?.completedRounds??0)+1,transition:void 0,guardState:Wn(q),reactiveCompactState:Xn(),toolLoopState:Ur({maxRounds:k,replayMessages:[...i]}).state,finalText:"",totalUsage:structuredClone(t.continuation?.usage??{inputTokens:0,outputTokens:0}),consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:new Map},du=4,Rn=async(R,F,re)=>{t.runtimePorts.saveCheckpoint&&(await t.runtimePorts.saveCheckpoint(structuredClone({turnId:o,sessionId:s,phase:R,messages:F,completedRounds:re,usage:A.totalUsage})),h?.throwIfAborted())},fu=4,fi=0,An=!1,pi=new Map,mi,Ke=(R,F)=>{let re=`${R}:${F??""}`,Ne=(pi.get(re)??0)+1;if(pi.set(re,Ne),R==="autocompact"){let he=A.recoveryTrace.get("autocompact")??0;if(Ne>du||he>=fu){let Tt=`Repeated context compression made no forward progress: ${F??"autocompact"}`;return mi=Tt,A.recoveryTrace.set("compression_loop_guard",(A.recoveryTrace.get("compression_loop_guard")??0)+1),{type:"recovery",turnId:o,action:"compression_loop_guard",detail:Tt}}}return A.recoveryTrace.set(R,(A.recoveryTrace.get(R)??0)+1),{type:"recovery",turnId:o,action:R,detail:F}},hi=()=>({type:"tool_use_summary",turnId:o,ledgerSchemaVersion:5,toolCalls:W.map(R=>({...R})),availableToolNames:Wl(a??c),enabledToolNames:uu(),toolCallNames:[...G].sort(),blockedToolCalls:My(V)}),pu=(R,F)=>({type:"end",turnId:o,content:R,turnStatus:F,taskOutcome:"unverified",usage:A.totalUsage,model:l,...A.recoveryTrace.size>0?{recoveryTrace:Object.fromEntries(A.recoveryTrace)}:{}});function*Ar(R,F="completed"){yield hi(),yield pu(R,F)}function*Ae(R,F){yield hi(),yield{type:"error",turnId:o,error:R,code:F,usage:A.totalUsage}}let _t=0,Ut=0;function*mu(R){_t<=Ut||(yield{type:"text_rollback",turnId:o,keepLength:Ut,reason:R},_t=Ut)}for(Me=yt();;){yield*mu("round_restart"),fi++,An=!1;let{messages:R,turnCount:F,guardState:re,reactiveCompactState:Ne}=A,{toolLoopState:he}=A;if(t.refreshTools&&fi>1){let y=t.refreshTools(),_=new Set(y.map(Be=>Be.function.name)),P=D(E.filter(Be=>!se.has(Be.function.name)||ve.has(Be.function.name)),_),ie=P;ie!==Me&&(Me=ie,n.debug(`tools refreshed within initial turn snapshot: ${P.length}/${E.length} tools`))}if(t.drainPendingGuidance)for(let y of t.drainPendingGuidance()){let _=y.trim();_&&(R.push({role:"user",content:_}),n.info(`mid-turn guidance injected (${_.length} chars)`))}if(t.drainPendingTaskNotifications){let y=t.drainPendingTaskNotifications().filter(_=>_.trim());y.length>0&&(R.push(Yl(y)),n.info(`background task result injected (${y.length} item(s))`))}if(Qn(re,q)){n.info(`turn aborted by guard at turn ${F}`),yield*Ae("Turn aborted","ABORTED");return}let Tt=yield*Kl({messages:R,guardConfig:q,runtimePorts:t.runtimePorts,hooks:m,hookCtx:p,currentModel:l,log:n,recovery:(y,_)=>Ke(y,_),onAutocompact:()=>{A.hasAttemptedReactiveCompact=!1}});if(Tt!==R&&R.splice(0,R.length,...Tt),mi){yield*Ar("","stopped");return}let Sn=Jn(re,q);Sn.level==="warning"&&n.info(`token budget warning: ${Sn.usagePercent}% used, ${Sn.remainingTokens} remaining`);let gi=t.toolChoice==="required"&&di?"auto":t.toolChoice??"auto",Sr=Dn({tools:Me,toolChoice:gi}),Or=Ur({maxRounds:k,replayMessages:Tt,lastStopReason:he.lastStopReason,options:{stopReason:he.lastStopReason}}),On=Or.state.replayMessages;he=Or.state,Or.recoveryActions.length>0&&n.debug(`tool loop recovery: ${Or.recoveryActions.map(y=>y.detail??y.kind).join("; ")}`),n.debug(`turn ${F}, messages: ${On.length}`),await Rn("model_ready",On,F-1),ne(m,"turn.before_inference",{...p,model:l},n);let Bt=!1,yi=[],_i=gi==="required",In=0,zt="";function*hu(y){if(y){if(_i){zt+=y;return}In+=y.length,_t+=y.length,yield{type:"delta",turnId:o,text:y}}}function*gu(){if(!zt)return;let y=zt;zt="",In+=y.length,_t+=y.length,yield{type:"delta",turnId:o,text:y}}let Ti=new Map,xn="stop",le,Ir,H=null,xr=null,vi=!1,yu=performance.now(),Pn,bi=0,wi=0,Ei=0,Mn=0,Ci,rt,ki=!1,Pr=!1,$i=!1,vt=[],Ft=[];try{let y=e.stream({model:l,messages:On,...Sr.tools.length>0?{tools:Sr.tools,toolChoice:Sr.normalizedToolChoice??"auto"}:{},temperature:d,maxTokens:re.currentMaxOutputTokens||void 0,streamRequired:t.streamRequired,reasoning:t.reasoning,promptCacheKey:t.promptCacheKey,promptCacheRetention:t.promptCacheRetention,serviceTier:t.serviceTier,...T!==void 0?{maxToolCalls:T}:{},parallelToolCalls:t.parallelToolCalls,textVerbosity:t.textVerbosity},u,h);for await(let _ of Dy(y,t.llmStreamIdleTimeoutMs??qy))switch(Pn===void 0&&_.type!=="usage"&&_.type!=="response_id"&&(Pn=Math.max(0,Math.round(performance.now()-yu))),_.type){case"delta":bi+=1,wi+=_.text.length,rt===void 0&&(rt="text"),Mn===0&&(ki=!0),yi.push(_.text),yield*hu(_.text);break;case"tool_call_delta":Mn+=1,rt===void 0&&(rt="tool_call"),Bt=!0,Zn(Ti,_);break;case"reasoning_delta":Ei+=1,rt===void 0&&(rt="reasoning"),vt.push(_.text),yield{type:"reasoning_delta",turnId:o,text:_.text};break;case"reasoning_block_complete":_.signature&&Ft.push({thinking:vt.join(""),signature:_.signature}),vt.length=0;break;case"usage":Ir=Hn(_);let P=Py(_.records);le={inputTokens:P?.tokens.inputTokens??_.promptTokens,outputTokens:P?.tokens.outputTokens??_.completionTokens,reasoningTokens:P?.tokens.reasoningTokens??_.reasoningTokens,cacheRead:P?.tokens.cacheReadTokens??_.cacheReadTokens,cacheWrite:P?.tokens.cacheWriteTokens??_.cacheCreationTokens,records:_.records};break;case"response_id":Ci=_.id;break;case"annotations":yield{type:"annotations",turnId:o,annotations:_.annotations};break;case"error":vi=_.outcome==="rejected",xr=_.message||"LLM provider returned an error chunk";break;case"done":$i=!0,xn=_.finishReason;break}if(xr){ne(m,"stop.failure",{sessionId:s,reason:"PROVIDER_STREAM_ERROR",error:xr},n),yield*Ae(xr,vi?"MODEL_REQUEST_REJECTED":"PROVIDER_STREAM_ERROR");return}Bt||ne(m,"turn.after_inference",{...p,model:l},n)}catch(y){if(y instanceof En){ne(m,"stop.failure",{sessionId:s,reason:y.code,error:y.message},n),yield*Ae(y.message,y.code);return}let _=yield*Hl(y,{state:A,guardState:re,signal:h,turnId:o,log:n,emitRecovery:Ke});if(_.kind==="return")return;if(_.kind==="continue"){A={...A,..._.patch};continue}H=_.streamError}if(!H&&!$i){let y="LLM stream closed before a terminal event; the response was likely truncated upstream.";ne(m,"stop.failure",{sessionId:s,reason:"RETRYABLE_TRANSIENT",error:y},n),yield*Ae(y,"RETRYABLE_TRANSIENT");return}if(H&&ne(m,"turn.after_inference",{...p,model:l,response:{error:H.message}},n),H)if(ri(H))Pr=!0,n.info(`withheld prompt_too_long error (status=${H.status})`);else if(oi(H))Pr=!0,n.info(`withheld media_size error (status=${H.status})`);else{let y=Yn({status:H.status??500,message:H.message},re,q);if(y.action==="reactive_compact"&&Kt(Ne)&&(Ne.attemptedThisTurn=!0,re.hasAttemptedReactiveCompact=!0,yield Ke("reactive_compact",`API ${H.status??500}: ${H.message}`)),y.action==="retry"){let P=(A.consecutiveApiRetries??0)+1;if(P>2){n.info(`API retry limit reached (${2}), aborting`);let ie=bt(H.status,H.message);yield*Ae(H.message,ie);return}yield Ke("retry",y.reason),A={...A,consecutiveApiRetries:P,transition:void 0};continue}let _=bt(H.status,H.message);ne(m,"stop.failure",{sessionId:s,reason:_,error:H.message},n),yield*Ae(H.message,_);return}le&&(A.totalUsage.inputTokens+=le.inputTokens,A.totalUsage.outputTokens+=le.outputTokens,le.reasoningTokens&&(A.totalUsage.reasoningTokens=(A.totalUsage.reasoningTokens??0)+le.reasoningTokens),le.cacheRead&&(A.totalUsage.cacheRead=(A.totalUsage.cacheRead??0)+le.cacheRead),le.cacheWrite&&(A.totalUsage.cacheWrite=(A.totalUsage.cacheWrite??0)+le.cacheWrite),le.records?.length&&(A.totalUsage.records=[...A.totalUsage.records??[],...le.records])),n.info(`[provider-context] ${JSON.stringify({event:"context_ledger_round",turnId:o,round:F,ttftMs:Pn,inputTokens:le?.inputTokens??0,outputTokens:le?.outputTokens??0,cacheReadTokens:le?.cacheRead??0,cacheWriteTokens:le?.cacheWrite??0,totalPromptTokens:Ir??0,responseIdReceived:Ci!==void 0,toolDefinitionCount:Me.length,providerTextChunkCount:bi,providerTextChars:wi,providerReasoningChunkCount:Ei,providerToolCallDeltaCount:Mn,firstSemanticProviderEvent:rt??"none",textBeforeFirstToolCall:ki,suppressLiveText:_i,liveEmittedTextChars:In,bufferedSuppressedTextChars:zt.length})}`),Ir&&(re.promptTokens=Ir);let Ue=yi.join(""),nt=[...Ti.values()].map((y,_)=>({id:y.id||`tc_${o}_${F}_${_}`,type:"function",function:{name:y.name,arguments:y.arguments}}));if(!H&&Q===0&&nt.length===0&&!Bt&&Ue.trim()===""&&vt.join("").trim()===""&&Ft.length===0){let y="LLM returned an empty response before any tool use.";ne(m,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE",error:y},n),yield*Ae(y,"EMPTY_MODEL_RESPONSE");return}if(!H&&Q>0&&nt.length===0&&!Bt&&Ue.trim()===""&&!ni(xn)){let y="LLM returned no user-visible response after tool use.";ne(m,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE_AFTER_TOOL",error:y},n),yield*Ae(y,"EMPTY_MODEL_RESPONSE_AFTER_TOOL");return}if(nt.length===0&&!Bt){if(t.drainPendingTaskNotifications){let P=t.drainPendingTaskNotifications().filter(ie=>ie.trim());if(P.length>0){A={...A,messages:[...R,...Ue?[{role:"assistant",content:Ue}]:[],Yl(P)]},n.info(`late background task result consumed at completion (${P.length} item(s)) \u2014 running another round`);continue}}if(t.drainPendingGuidance){let P=t.drainPendingGuidance().map(ie=>ie.trim()).filter(Boolean);if(P.length>0){A={...A,messages:[...R,...Ue?[{role:"assistant",content:Ue}]:[],...P.map(ie=>({role:"user",content:ie}))]},n.info(`late mid-turn guidance consumed at completion (${P.length} item(s)) \u2014 running another round`);continue}}if(Ue&&(A.finalText=Ue),Pr&&H&&ri(H)){if(Kt(Ne)){Ne.attemptedThisTurn=!0,re.hasAttemptedReactiveCompact=!0,n.info("withheld 413: reactive compact attempt"),yield Ke("reactive_compact","withheld prompt_too_long"),A={...A,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}n.info("withheld 413: recovery exhausted, surfacing error"),ne(m,"stop.failure",{sessionId:s,reason:"prompt_too_long",error:H.message},n),yield*Ae(H.message,"PROMPT_TOO_LONG");return}if(Pr&&H&&oi(H)){if(Kt(Ne)){Ne.attemptedThisTurn=!0,re.hasAttemptedReactiveCompact=!0,n.info("withheld media error: reactive compact strip-retry"),yield Ke("reactive_compact","media error strip-retry"),A={...A,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}n.info("withheld media error: recovery exhausted"),ne(m,"stop.failure",{sessionId:s,reason:"media_error",error:H.message},n),yield*Ae(H.message,"IMAGE_ERROR");return}ni(xn)&&(n.info("provider stopped at its output-token limit; preserving partial content"),An=!0),he=Dr(he,{replayMessages:R,lastStopReason:"completed"});let y=!A.finalText,_=A.finalText;yield*Ar(_,An||y?"stopped":"completed");return}let _u=Ft.length===0&&vt.length>0?vt.join(""):void 0;Ut=_t,f(R,qn(nt,Ue||void 0,Ft.length>0?Ft:void 0,_u)),he=Vn(he,{replayMessages:R,pendingToolCallIds:nt.map(y=>y.id),completedToolCallIds:he.completedToolCallIds,lastStopReason:"tool_calls"});let Vt=[],Tu=new Set(Me.map(y=>y.function.name)),Ri=[],Ai=[];for(let y of nt)Tu.has(y.function.name)?Ri.push(y):Ai.push(y);for(let y of Ai){let P=se.has(y.function.name)&&!ve.has(y.function.name)?`Tool "${y.function.name}" schema is not loaded. Call "${eo}" with that exact tool name before invoking it.`:`Tool "${y.function.name}" was not offered for this turn and will not be executed. Use only the tools listed in the current request.`;V.push({name:y.function.name,reason:"not-offered"}),f(R,Gt(y.id,{ok:!1,error:P})),Vt.push(y.id),G.add(y.function.name),n.warn(`unoffered tool call suppressed: ${y.function.name}`)}let Nn=[],Si=[];for(let y of Ri){let _=Sr.tools.find(ie=>ie.function.name===y.function.name),P=Ly(_,y.function.arguments);P?Si.push({call:y,error:P}):Nn.push(y)}for(let y of Si){let _=y.call;V.push({name:_.function.name,reason:"invalid-arguments"}),f(R,Gt(_.id,{ok:!1,error:y.error})),Vt.push(_.id),G.add(_.function.name),n.info(`invalid tool arguments blocked: ${_.function.name}`)}let Mr=Nn.slice(0,T);Mr.length>0&&(yield*gu(),Ut=_t);let Oi=Nn.slice(Mr.length);if(Oi.length>0){let y=`This model round proposed more than ${T} tool calls. Only the first ${T} were executed; re-issue any still-needed calls in the next round.`;for(let _ of Oi){V.push({name:_.function.name,reason:"per-round-tool-call-limit"});let P=Gt(_.id,{ok:!1,error:y});f(R,P),Vt.push(_.id)}}await Rn("tools_pending",R,F-1);for(let y of Mr){let _=Me.find(ie=>ie.function.name===y.function.name),P={sequence:W.length,callId:y.id,name:y.function.name,identity:jy(_,y.function.name),status:"running",arguments:y.function.arguments};W.push(P),oe.set(y.id,P),yield{type:"tool_call",turnId:o,callId:y.id,name:y.function.name,..._?.meta?.displayName?.fallback?.trim()?{displayName:_.meta.displayName.fallback.trim()}:{},arguments:y.function.arguments,inputSummary:Fl(y.function.arguments)},Re.add(y.function.name),K++}try{let y=t.runtimePorts.createStreamingToolExecutor({toolInvoker:r,round:F,hooks:m,sessionId:s,turnId:o,log:n,signal:h,maxConcurrentTools:t?.maxConcurrentTools,maxExecutionMs:24e4,executionTimeoutMsByTool:new Map(Me.flatMap(_=>{let P=_.meta?.executionTimeoutMs;return typeof P=="number"&&Number.isFinite(P)&&P>0?[[_.function.name,P]]:[]}))});for(let _ of Mr)y.addTool(_);for await(let _ of y.getRemainingResults()){let P=oe.get(_.callId);P&&(P.status=_.blocked?"blocked":_.ok?"succeeded":"failed",!_.ok&&typeof _.error=="string"&&_.error.trim()&&(P.error=_.error),_.ok||(P.failureKind=Li(_)));let ie=Ny(_);if(ie&&V.push({name:_.toolName,reason:ie}),_.blocked&&(yield{type:"tool_blocked",turnId:o,callId:_.callId,name:_.toolName,reason:_.blockReason??"blocked"}),_.ok&&_.toolName===eo){let Be=Ni(_.details),jn=t.refreshTools?new Set(t.refreshTools().map(Se=>Se.function.name)):void 0,Nr=[],Lr=[],jr=[];for(let Se of Be)!O.get(Se)||jn&&!jn.has(Se)?jr.push(Se):!se.has(Se)||ve.has(Se)?Lr.push(Se):(ve.add(Se),t.loadedDeferredToolNames?.add(Se),Nr.push(Se));Me=D(yt(),jn);let vu=_.message;vu.content=JSON.stringify({loaded:Nr,alreadyResident:Lr,unavailable:jr}),_.details={type:"tool_schema_load",requestedToolNames:Be,loaded:Nr,alreadyResident:Lr,unavailable:jr},n.info({turnId:o,loaded:Nr,alreadyResident:Lr,unavailable:jr},"tool schemas materialized by Agent selection")}{let Be=_.message;t.sanitizeToolResultMedia&&await t.sanitizeToolResultMedia(Be)}f(R,_.message),Vt.push(_.callId),_.blocked||(G.add(_.toolName),Q++),yield ji(o,_)}}catch(y){let _=y instanceof Error?y.message:String(y);yield*Ae(_,"TOOL_EXECUTION_ERROR");return}h?.aborted&&h.throwIfAborted(),await Rn("model_ready",R,F),he=Dr(he,{replayMessages:R,completedToolCallIds:[...he.completedToolCallIds,...Vt],lastStopReason:"tool_calls"}),t.toolChoice==="required"&&nt.length>0&&(di=!0);let Ln=F+1;if(g>0&&Ln>g){n.info(`max turns reached (${g}), completing`),yield Ke("turn_limit_reached",`${g} tool rounds`),yield*Ar(A.finalText,"stopped");return}if(k>0&&Ln>k){n.info(`tool loop budget exhausted (${k} rounds), returning`),yield Ke("tool_budget_exhausted",`${k} rounds`),yield*Ar(A.finalText,"stopped");return}A={messages:R,hasAttemptedReactiveCompact:!1,turnCount:Ln,transition:{reason:"next_turn"},guardState:re,reactiveCompactState:Ne,toolLoopState:he,finalText:A.finalText,totalUsage:A.totalUsage,consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:A.recoveryTrace}}}function Xl(t){return[...new Set((t??[]).map(e=>e.function.name))].sort()}var Cn=class{transport;apiKey;toolInvoker;log;hooks;configuredMaxRounds;runtimePorts;constructor(e){this.transport=e.llmTransport,this.apiKey=e.apiKey,this.toolInvoker=e.toolInvoker,this.log=e.log,this.hooks=e.hooks,this.runtimePorts=e.runtimePorts,this.configuredMaxRounds=typeof e.maxRounds=="number"&&Number.isFinite(e.maxRounds)&&e.maxRounds>=1?Math.round(e.maxRounds):void 0}async*run(e,r){let{turnId:n,messages:o,availableTools:s,tools:i,systemPrompt:a,config:c}=e,l={sessionId:e.sessionId,turnId:n},u=[...o].reverse().find(w=>w.role==="user"&&typeof w.content=="string")?.content,d=!1,m=()=>({type:"tool_use_summary",turnId:n,telemetrySource:"agent",ledgerSchemaVersion:5,toolCalls:[],availableToolNames:Xl(s??i),enabledToolNames:Xl(i),toolCallNames:[],blockedToolCalls:[]}),h=typeof c?.maxRounds=="number"&&Number.isFinite(c.maxRounds)?c.maxRounds:this.configuredMaxRounds,f=h===void 0?void 0:Math.round(h),g=typeof c?.maxToolCalls=="number"&&Number.isFinite(c.maxToolCalls)?c.maxToolCalls:void 0,b=wn(g);yield{type:"start",turnId:n,effectiveMaxRounds:bn(f,o),...b!==void 0?{effectiveMaxToolCalls:b}:{}};try{ne(this.hooks,"turn.submitted",{...l,prompt:o[o.length-1]?.content??void 0},this.log);let w=Fn(o),E=[];a&&E.push({role:"system",content:a}),E.push(...w);let O=c?.model??"",C=c?.reasoning;c?.reasoning?.effort==="auto"&&(C=void 0);let V={turnId:n,sessionId:e.sessionId,continuation:e.continuation,messages:E,availableTools:s,tools:i,deferredToolNames:e.deferredToolNames,loadedDeferredToolNames:e.loadedDeferredToolNames,refreshTools:e.refreshTools,drainPendingGuidance:e.drainPendingGuidance,drainPendingTaskNotifications:e.drainPendingTaskNotifications,sanitizeToolResultMedia:e.sanitizeToolResultMedia,model:O,apiKey:c?.apiKey??this.apiKey,temperature:c?.temperature,maxRounds:f,contextWindowTokens:c?.contextWindowTokens,maxOutputTokens:c?.maxOutputTokens,toolChoice:c?.toolChoice,hooks:this.hooks,maxTurns:c?.maxTurns,maxConcurrentTools:c?.maxConcurrentTools,streamRequired:c?.streamRequired,reasoning:C,promptCacheKey:c?.promptCacheKey,promptCacheRetention:c?.promptCacheRetention,serviceTier:c?.serviceTier,maxToolCalls:g,parallelToolCalls:c?.parallelToolCalls??!1,textVerbosity:c?.textVerbosity,runtimePorts:this.runtimePorts.toolLoop,signal:r};for await(let k of Ql(V,this.transport,this.toolInvoker,this.log))k.type==="tool_use_summary"&&(d=!0),k.type==="end"?ne(this.hooks,"turn.completed",{...l,...u?{prompt:u}:{},response:k.content},this.log):k.type==="error"&&ne(this.hooks,"turn.failed",{...l,code:k.code,error:k.error},this.log),yield k}catch(w){if(d||(d=!0,yield m()),r?.aborted)ne(this.hooks,"turn.failed",{...l,code:"ABORTED",error:"Turn aborted"},this.log),yield{type:"error",turnId:n,error:"Turn aborted",code:"ABORTED"};else{let E=w instanceof Error?w.message:String(w),O=typeof w?.status=="number"?w.status:void 0,C=bt(O,E);this.log.error(`turn ${n} error [${C}, retryable=${qr(C)}]: ${E}`),ne(this.hooks,"turn.failed",{...l,code:C,error:E},this.log),yield{type:"error",turnId:n,error:E,code:C}}}}};import{randomUUID as By}from"node:crypto";function kr(t){return t.filter(e=>!["text","image","audio","resource","resource_link"].includes(String(e.type))).map($r)}var Zl=["response_present_choice","response_present_table","response_present_diagram"],De=t=>({type:"string",minLength:1,maxLength:t}),Dt=t=>({type:"string",maxLength:t}),zy=[{type:"function",function:{name:"response_present_choice",description:"Present a single-choice or multiple-choice question as an interactive response block.",parameters:{type:"object",additionalProperties:!1,required:["prompt","selection","options","submitLabel"],properties:{prompt:De(1e3),selection:{type:"string",enum:["single","multiple"]},options:{type:"array",minItems:2,maxItems:20,items:{type:"object",additionalProperties:!1,required:["id","label"],properties:{id:De(80),label:De(200),description:Dt(500)}}},required:{type:"boolean"},minSelections:{type:"integer",minimum:0,maximum:20},maxSelections:{type:"integer",minimum:1,maximum:20},submitLabel:De(80)}}}},{type:"function",function:{name:"response_present_table",description:"Present structured rows and columns as an accessible table response block.",parameters:{type:"object",additionalProperties:!1,required:["columns","rows"],properties:{title:Dt(300),caption:Dt(1e3),columns:{type:"array",minItems:1,maxItems:20,items:{type:"object",additionalProperties:!1,required:["key","label"],properties:{key:De(80),label:De(200),align:{type:"string",enum:["start","center","end"]}}}},rows:{type:"array",maxItems:200,items:{type:"object"}}}}}},{type:"function",function:{name:"response_present_diagram",description:"Present a bounded node-and-edge relationship or process diagram.",parameters:{type:"object",additionalProperties:!1,required:["nodes","edges"],properties:{title:Dt(300),direction:{type:"string",enum:["horizontal","vertical"]},nodes:{type:"array",minItems:1,maxItems:30,items:{type:"object",additionalProperties:!1,required:["id","label"],properties:{id:De(80),label:De(200),description:Dt(500),tone:{type:"string",enum:["neutral","info","success","warning","danger"]}}}},edges:{type:"array",maxItems:60,items:{type:"object",additionalProperties:!1,required:["from","to"],properties:{from:De(80),to:De(80),label:Dt(120)}}}}}}}],N=class extends Error{constructor(e){super(e),this.name="AgentContentBlockValidationError"}},Ge=(t,e)=>{if(!t||typeof t!="object"||Array.isArray(t))throw new N(`${e} must be an object`);return t},te=(t,e,r,n=!1)=>{if(typeof t!="string")throw new N(`${e} must be a string`);let o=t.trim();if(!n&&o.length===0)throw new N(`${e} must not be empty`);if(o.length>r)throw new N(`${e} exceeds ${r} characters`);return o},tt=(t,e,r)=>t===void 0?"":te(t,e,r,!0),si=(t,e,r,n,o)=>{if(t===void 0)return o;if(!Number.isInteger(t)||t<r||t>n)throw new N(`${e} must be an integer from ${r} to ${n}`);return t},ii=(t,e)=>{if(new Set(t).size!==t.length)throw new N(`${e} must contain unique ids`)};function $r(t){let e=Ge(t,"content block"),r=te(e.id,"id",200),n=te(e.type,"type",40);if(n==="choice"){let o=e.selection;if(o!=="single"&&o!=="multiple")throw new N("selection must be single or multiple");if(!Array.isArray(e.options)||e.options.length<2||e.options.length>20)throw new N("options must contain 2 to 20 items");let s=e.options.map((l,u)=>{let d=Ge(l,`options[${u}]`);return{id:te(d.id,`options[${u}].id`,80),label:te(d.label,`options[${u}].label`,200),description:tt(d.description,`options[${u}].description`,500)}});if(ii(s.map(l=>l.id),"options"),e.required!==void 0&&typeof e.required!="boolean")throw new N("required must be a boolean");let i=e.required??!0,a=si(e.maxSelections,"maxSelections",1,20,1),c=si(e.minSelections,"minSelections",0,20,i?1:0);if(o==="single"&&a!==1)throw new N("single choice must allow exactly one selection");if(c>a||a>s.length)throw new N("choice selection bounds are invalid");return{id:r,type:n,prompt:te(e.prompt,"prompt",1e3),selection:o,options:s,required:i,minSelections:c,maxSelections:a,submitLabel:te(e.submitLabel,"submitLabel",80)}}if(n==="table"){if(!Array.isArray(e.columns)||e.columns.length<1||e.columns.length>20)throw new N("columns must contain 1 to 20 items");let o=e.columns.map((i,a)=>{let c=Ge(i,`columns[${a}]`),l=c.align??"start";if(l!=="start"&&l!=="center"&&l!=="end")throw new N(`columns[${a}].align is invalid`);return{key:te(c.key,`columns[${a}].key`,80),label:te(c.label,`columns[${a}].label`,200),align:l}});if(ii(o.map(i=>i.key),"columns"),!Array.isArray(e.rows)||e.rows.length>200)throw new N("rows must contain at most 200 items");let s=e.rows.map((i,a)=>{let c=Ge(i,`rows[${a}]`),l={};for(let[u,d]of Object.entries(c)){if(d!==null&&typeof d!="string"&&typeof d!="number"&&typeof d!="boolean")throw new N(`rows[${a}].${u} is not a table cell`);if(typeof d=="string"&&d.length>2e3)throw new N(`rows[${a}].${u} exceeds 2000 characters`);l[u]=d}return l});return{id:r,type:n,title:tt(e.title,"title",300),caption:tt(e.caption,"caption",1e3),columns:o,rows:s}}if(n==="diagram"){let o=e.direction??"horizontal";if(o!=="horizontal"&&o!=="vertical")throw new N("direction is invalid");if(!Array.isArray(e.nodes)||e.nodes.length<1||e.nodes.length>30)throw new N("nodes must contain 1 to 30 items");let s=new Set(["neutral","info","success","warning","danger"]),i=e.nodes.map((l,u)=>{let d=Ge(l,`nodes[${u}]`),m=d.tone??"neutral";if(typeof m!="string"||!s.has(m))throw new N(`nodes[${u}].tone is invalid`);return{id:te(d.id,`nodes[${u}].id`,80),label:te(d.label,`nodes[${u}].label`,200),description:tt(d.description,`nodes[${u}].description`,500),tone:m}});if(ii(i.map(l=>l.id),"nodes"),!Array.isArray(e.edges)||e.edges.length>60)throw new N("edges must contain at most 60 items");let a=new Set(i.map(l=>l.id)),c=e.edges.map((l,u)=>{let d=Ge(l,`edges[${u}]`),m={from:te(d.from,`edges[${u}].from`,80),to:te(d.to,`edges[${u}].to`,80),label:tt(d.label,`edges[${u}].label`,120)};if(!a.has(m.from)||!a.has(m.to))throw new N(`edges[${u}] references an unknown node`);return m});return{id:r,type:n,title:tt(e.title,"title",300),direction:o,nodes:i,edges:c}}if(n==="attachment"){let o=Ge(e.attachment,"attachment"),s=new Set(["image","spreadsheet","presentation","document","engineering_2d","engineering_3d","file"]);if(typeof o.kind!="string"||!s.has(o.kind))throw new N("attachment.kind is invalid");let i=te(o.downloadUrl,"attachment.downloadUrl",4e3),a=te(o.expiresAt,"attachment.expiresAt",100);try{new URL(i)}catch{throw new N("attachment.downloadUrl must be an absolute URL")}if(!Number.isFinite(Date.parse(a)))throw new N("attachment.expiresAt must be an ISO timestamp");return{id:r,type:n,attachment:{id:te(o.id,"attachment.id",200),kind:o.kind,fileName:te(o.fileName,"attachment.fileName",500),mimeType:te(o.mimeType,"attachment.mimeType",255),byteSize:si(o.byteSize,"attachment.byteSize",0,Number.MAX_SAFE_INTEGER,0),downloadUrl:i,expiresAt:a,note:tt(o.note,"attachment.note",500),engineering:Fy(o.engineering)}}}throw new N(`unsupported content block type: ${n}`)}function Fy(t){if(t==null)return null;let e=Ge(t,"engineering"),r=te(e.format,"engineering.format",20);if(!["dxf","dwg","step","stp","glb","gltf"].includes(r))throw new N("engineering.format is invalid");let n=te(e.previewMode,"engineering.previewMode",50);if(!["direct","browser_conversion","external_conversion_required"].includes(n))throw new N("engineering.previewMode is invalid");let o=te(e.parseStatus,"engineering.parseStatus",50);if(!["parsed","partial","conversion_required"].includes(o))throw new N("engineering.parseStatus is invalid");return{format:r,previewMode:n,parseStatus:o,summary:tt(e.summary,"engineering.summary",2e3)}}function Vy(t,e,r=By){if(!Zl.includes(t))throw new N(`unsupported presentation tool: ${t}`);let n;try{n=JSON.parse(e)}catch{throw new N("presentation tool arguments must be valid JSON")}let o=t==="response_present_choice"?"choice":t==="response_present_table"?"table":"diagram",s=$r({...Ge(n,"arguments"),id:r(),type:o});return{result:JSON.stringify({presented:!0,type:s.type}),contentBlocks:[s]}}var eu=new Set(["dxf","dwg","step","stp","glb","gltf"]),Cr=t=>new TextDecoder("utf-8",{fatal:!1}).decode(t),tu=t=>{let e=t.split(/[\\/]/u).at(-1)??t,r=e.lastIndexOf(".");return r<0?"":e.slice(r+1).toLowerCase()};function Gy(t){return eu.has(tu(t))}function Ky(t,e){let r=tu(t);if(!eu.has(r))return null;if(r==="dxf")return Hy(e);if(r==="step"||r==="stp")return Wy(e,r);if(r==="glb"||r==="gltf")return Jy(e,r);let n=Cr(e.subarray(0,6));if(!/^AC10\d{2}$/u.test(n))throw new N("invalid DWG signature");let o={signature:n};return{format:r,status:"conversion_required",previewMode:"external_conversion_required",metadata:o,extractedText:JSON.stringify({format:r,...o,conversionRequired:!0})}}function Hy(t){let e=Cr(t).split(/\r?\n/u),r=e.map(c=>c.trim().toUpperCase());if(!r.includes("SECTION")||!r.includes("EOF"))throw new N("invalid DXF structure");let n={},o=new Set,s=[],i=[];for(let c=0;c+1<e.length;c+=2){let l=e[c]?.trim(),u=e[c+1]?.trim()??"";if(l==="0"&&/^[A-Z][A-Z0-9_]*$/u.test(u)&&(n[u]=(n[u]??0)+1),l==="8"&&u&&o.add(u),l==="10"||l==="11"){let d=Number(u);Number.isFinite(d)&&s.push(d)}if(l==="20"||l==="21"){let d=Number(u);Number.isFinite(d)&&i.push(d)}}let a={layers:[...o].slice(0,100),entityCounts:n,bounds2d:s.length>0&&i.length>0?{minX:Math.min(...s),maxX:Math.max(...s),minY:Math.min(...i),maxY:Math.max(...i)}:null};return{format:"dxf",status:"parsed",previewMode:"browser_conversion",metadata:a,extractedText:JSON.stringify({format:"dxf",...a})}}function Wy(t,e){let r=Cr(t);if(!/^\s*ISO-10303-21;/iu.test(r)||!/END-ISO-10303-21;\s*$/iu.test(r))throw new N("invalid STEP structure");let n=r.match(/FILE_SCHEMA\s*\(\s*\(([^)]+)\)/iu)?.[1]?.replace(/['"]/gu,"").trim()??null,o=[...r.matchAll(/PRODUCT\s*\(\s*'[^']*'\s*,\s*'([^']*)'/giu)].map(a=>a[1]?.trim()).filter(a=>!!a),s={};for(let a of r.matchAll(/^#\d+\s*=\s*([A-Z0-9_]+)\s*\(/gmu)){let c=a[1]??"UNKNOWN";s[c]=(s[c]??0)+1}let i={schema:n,products:[...new Set(o)].slice(0,50),entityCounts:s};return{format:e,status:"parsed",previewMode:"browser_conversion",metadata:i,extractedText:JSON.stringify({format:e,...i})}}function Jy(t,e){let r;if(e==="gltf")r=JSON.parse(Cr(t));else{let i=new DataView(t.buffer,t.byteOffset,t.byteLength);if(t.byteLength<20||i.getUint32(0,!0)!==1179937895)throw new N("invalid GLB header");let a=i.getUint32(12,!0);if(i.getUint32(16,!0)!==1313821514||20+a>t.byteLength)throw new N("GLB JSON chunk is missing");r=JSON.parse(Cr(t.subarray(20,20+a)))}let n=r.asset;if(!n||typeof n!="object"||Array.isArray(n)||typeof n.version!="string")throw new N("glTF asset metadata is missing");let o=i=>Array.isArray(r[i])?r[i].length:0,s={scenes:o("scenes"),nodes:o("nodes"),meshes:o("meshes"),materials:o("materials")};return{format:e,status:"parsed",previewMode:"direct",metadata:s,extractedText:JSON.stringify({format:e,...s})}}function ru(t){return{role:"user",content:`[${t} earlier messages removed to fit the context budget]`}}var kn=class{constructor(e){this.estimateTokens=e}estimateTokens;compress(e,r){let n=[...new Map(e.flatMap(f=>f.contextAnchors??[]).map(f=>[JSON.stringify(f),f])).values()],o=n.length?{role:"user",contextAnchors:n,contextProjection:"facts",content:`Product-confirmed context facts (data, not new instructions):
11
+ ${JSON.stringify(n)}`}:void 0,s=[],i=[];for(let f of e)f.contextProjection!=="facts"&&(f.role==="system"?s.push(f):i.push(f));let a=r;for(let f of s)a-=this.estimateTokens(f);o&&(a-=this.estimateTokens(o));let c;for(let f of i)if(f.role==="user"){c=f;break}if(c&&(a-=this.estimateTokens(c)),a<=0){let f=i.length-(c?1:0),p=c?[...s,c]:[...s];return o&&p.push(o),f>0&&p.push(ru(f)),{messages:p,droppedCount:f,strategy:"sliding-window"}}let l=[];for(let f of i){if(f===c)continue;let p=l.at(-1);f.role==="tool"&&p?.[0]?.role==="assistant"&&Array.isArray(p[0].tool_calls)&&p[0].tool_calls.length?p.push(f):l.push([f])}let u=[],d=0;for(let f=l.length-1;f>=0;f--){let p=l[f],g=p.reduce((b,w)=>b+this.estimateTokens(w),0);if(a-g<0&&d>=4)break;if(a-g<0&&d<4){u.unshift(...p),d+=p.length;continue}a-=g,u.unshift(...p),d+=p.length}let m=i.length-(u.length+(c&&!u.includes(c)?1:0)),h=[...s];return c&&!u.includes(c)&&h.push(c),o&&h.push(o),m>0&&h.push(ru(m)),h.push(...u),{messages:h,droppedCount:m,strategy:"sliding-window"}}};function Yy(t,e){let r=t.executionTimeoutMsByTool?.get(e)??t.maxExecutionMs;return typeof r=="number"&&Number.isFinite(r)&&r>0?Math.round(r):void 0}function Qy(t,e){let r=[t,e?AbortSignal.timeout(e):void 0].filter(n=>n!==void 0);if(r.length!==0)return r.length===1?r[0]:AbortSignal.any(r)}async function Xy(t,e){let{call:r}=t,n=r.function.name,o=Date.now();try{let s=await e.toolInvoker.invoke(e.turnId,n,r.function.arguments,Qy(e.signal,Yy(e,n)),{callId:r.id,sessionId:e.sessionId,round:e.round??1}),i=s.error??(s.mcpIsError?"Tool execution failed":void 0),a=i===void 0;return{callId:r.id,toolName:n,ok:a,...i?{error:i}:{},durationMs:Date.now()-o,...s.details?{details:s.details}:{},message:wt(r.id,{ok:a,payload:s.result,...i?{error:i}:{},toolReferences:s.toolReferences,imageUrls:s.imageUrls,contentBlocks:s.contentBlocks,structuredContent:s.structuredContent,mcpMeta:s.mcpMeta,mcpIsError:s.mcpIsError})}}catch(s){let i=s instanceof Error?s.message:String(s);return{callId:r.id,toolName:n,ok:!1,error:i,durationMs:Date.now()-o,message:wt(r.id,{ok:!1,error:i})}}}var $n=class{constructor(e){this.config=e}config;calls=[];addTool(e){this.calls.push({call:e,index:this.calls.length})}async*getRemainingResults(){let e=Math.max(1,Math.min(this.config.maxConcurrentTools??1,Math.max(1,this.calls.length))),r=[],n=0,o=e,s,i=async()=>{try{for(;n<this.calls.length;){if(this.config.signal?.aborted)return;let c=this.calls[n++];if(!c)return;r.push(await Xy(c,this.config)),s?.()}}finally{o--,s?.()}},a=Array.from({length:e},()=>i());try{for(;o>0||r.length>0;){let c=r.shift();c?yield c:await new Promise(l=>{s=l})}}finally{await Promise.all(a)}}};var Zy=8e3;function e_(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.round(t):e}function t_(t){let e=typeof t.content=="string"?t.content:JSON.stringify(t.content??"");return Math.ceil(e.length/4)}function r_(t){let e=e_(t.maxToolResultChars,Zy),r=new kn(t_);return{saveCheckpoint:t.onCheckpoint,enforceToolResultBudget:async n=>{let o=0;return{messages:n.map(i=>{if(i.role!=="tool"||typeof i.content!="string"||i.content.length<=e)return i;o+=1;let a=`
12
+ [tool result truncated: ${i.content.length-e} characters omitted]`;return{...i,content:`${i.content.slice(0,Math.max(0,e-a.length))}${a}`}}),newlyReplacedCount:o}},compressMessages:(n,o)=>{let s=r.compress(n,o.budget);return{messages:s.messages,droppedCount:s.droppedCount,strategy:s.strategy}},createStreamingToolExecutor:n=>new $n(n)}}function nu(t={}){return{toolLoop:r_(t)}}var n_={info:()=>{},warn:()=>{},error:()=>{},debug:()=>{}};function ai(t){return{async*run(e,r){let n=[],o={async invoke(i,a,c,l,u){let d=await t.toolInvoker.invoke(i,a,c,l,u),m=kr(d.contentBlocks??[]),h=new Set(n.map(f=>f.id));for(let f of m)h.has(f.id)||n.push(f),h.add(f.id);if(n.length>30)throw Error("a turn cannot return more than 30 content blocks");return d}},s=new Cn({llmTransport:t.llmTransport,toolInvoker:o,apiKey:t.apiKey??"",log:t.logger??n_,maxRounds:t.maxRounds,runtimePorts:nu(t.runtime)});for await(let i of s.run(e,r))i.type==="end"?yield{...i,...n.length?{contentBlocks:n}:{}}:yield i}}}import{createHash as iu}from"node:crypto";function ou(t,e){let r=o=>typeof o=="string"&&!!o.trim();if(!t||![t.module?.id,t.module?.version,t.enterprise?.configurationRevision,t.employee?.permissionRevision,t.knowledge?.revision,t.knowledge?.skill].every(r)||!Array.isArray(t.module.fields)||!t.module.fields.every(o=>o&&typeof o=="object"&&!Array.isArray(o))||!Array.isArray(t.module.operations)||!Array.isArray(t.employee.allowedOperations)||!t.enterprise.configuration||typeof t.enterprise.configuration!="object"||Array.isArray(t.enterprise.configuration)||!Array.isArray(t.enterprise.dataSources)||!Array.isArray(t.knowledge.examples)||!Array.isArray(t.knowledge.exceptions)||t.module.operations.some(o=>!o||!r(o.description)||!Array.isArray(o.prerequisites)||!o.prerequisites.every(r))||t.enterprise.dataSources.some(o=>!o||!r(o.id)||!["ready","missing","unavailable"].includes(o.state)||o.reference!==void 0&&!r(o.reference))||t.knowledge.examples.some(o=>!o||![o.operation,o.input,o.expectedOutcome,o.evidenceReference].every(r))||t.knowledge.exceptions.some(o=>!o||![o.code,o.handling].every(r)))throw Error("CLOUD_ASSISTANT_CONTEXT_INVALID");let n=t.module.operations.map(o=>o.id);if(!n.every(r)||new Set(n).size!==n.length||t.employee.allowedOperations.some(o=>!n.includes(o))||new Set(e.map(o=>o.function.name)).size!==e.length)throw Error("CLOUD_ASSISTANT_CONTEXT_INVALID")}function Rr(t){if(!t||typeof t.id!="string"||!t.id.trim()||typeof t.description!="string"||!t.description.trim()||!Array.isArray(t.criteria)||!t.criteria.length||t.criteria.some(e=>!e||typeof e.id!="string"||!e.id.trim()||typeof e.description!="string"||!e.description.trim())||new Set(t.criteria.map(e=>e.id)).size!==t.criteria.length)throw Error("CLOUD_GOAL_INVALID")}function su(t,e){Rr(t);let r=t.criteria.map(n=>n.id);if(!e||!Array.isArray(e.criteria)||e.criteria.some(n=>!n)||e.criteria.length!==r.length||new Set(e.criteria.map(n=>n.id)).size!==r.length||e.criteria.some(n=>!r.includes(n.id)||!["satisfied","missing","failed"].includes(n.status)||!Array.isArray(n.references)||n.references.some(o=>typeof o!="string"||!o.trim())||n.status==="satisfied"&&!n.references.length))throw Error("CLOUD_GOAL_EVIDENCE_INVALID");return{status:e.criteria.every(n=>n.status==="satisfied")?"satisfied":"incomplete",criteria:structuredClone(e.criteria)}}function ci(t,e){let r=structuredClone(t);if(r.phase!=="tools_pending")throw Error("CLOUD_RECONCILIATION_REQUIRED");let n=r.messages.findLastIndex(i=>!!i.tool_calls?.length),o=r.messages[n]?.tool_calls;if(!o||n<0||r.messages.slice(n+1).some(i=>i.role!=="tool"))throw Error("CLOUD_RECONCILIATION_REQUIRED");let s=new Map(e.map(i=>[i.invocation.callId,i]));if(s.size!==e.length||s.size!==o.length)throw Error("CLOUD_RECONCILIATION_REQUIRED");r.messages=r.messages.slice(0,n+1);for(let i of o){let a=s.get(i.id),c=a?.invocation;if(!a||!c||be(c.context)!==be(r.context)||c.turnId!==r.turnId||c.sessionId!==r.sessionId||c.round!==r.completedRounds+1||c.name!==i.function.name||c.arguments!==i.function.arguments||typeof a.result.result!="string")throw Error("CLOUD_CHECKPOINT_MISMATCH");let l=a.result,u=l.error??(l.mcpIsError?"Tool execution failed":void 0);r.messages.push(wt(i.id,{ok:u===void 0,payload:l.result,error:u,toolReferences:l.toolReferences,imageUrls:l.imageUrls,contentBlocks:l.contentBlocks,structuredContent:l.structuredContent,mcpMeta:l.mcpMeta,mcpIsError:l.mcpIsError}));for(let d of kr(l.contentBlocks??[]))r.contentBlocks.some(m=>m.id===d.id)||r.contentBlocks.push(d)}if(r.contentBlocks.length>30)throw Error("CLOUD_CHECKPOINT_MISMATCH");return r.completedRounds++,r.phase="model_ready",r}function be(t){return JSON.stringify(t,(e,r)=>r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.keys(r).sort().map(n=>[n,r[n]])):r)}function o_(t){let e=new Set;for(let r of t){for(let n of r.tool_calls??[])e.add(n.id);r.role==="tool"&&r.tool_call_id&&e.delete(r.tool_call_id)}return e.size>0}function li(t){return{async*run(e,r){let n=structuredClone(e);n.config={...n.config,maxRounds:n.config?.maxRounds??t.maxRounds??12,maxToolCalls:n.config?.maxToolCalls??8,maxConcurrentTools:n.config?.maxConcurrentTools??1};let o=Object.freeze(n.context),s=be({messages:n.messages,tools:n.tools,availableTools:n.availableTools,config:n.config,systemPrompt:n.systemPrompt,maxRounds:t.maxRounds,runtime:t.runtime,assistantContext:n.assistantContext,goal:n.goal,executionBudget:n.executionBudget}),i=T=>({type:"error",turnId:n.turnId,code:T,error:T});try{n.assistantContext&&ou(n.assistantContext,n.tools),n.goal&&Rr(n.goal)}catch(T){yield i(T instanceof Error?T.message:"CLOUD_REQUEST_INVALID");return}let a=n.executionBudget;if(a&&a.monetary!==void 0&&(!a.monetary||typeof a.monetary!="object"||typeof a.monetary.id!="string"||typeof a.monetary.maxAmount!="string"||!/^[A-Za-z0-9._:-]{1,200}$/.test(a.monetary.id)||a.monetary.currency!=="CNY"||!/^(?:0|[1-9][0-9]{0,9})(?:\.[0-9]{1,4})?$/.test(a.monetary.maxAmount)||!/[1-9]/.test(a.monetary.maxAmount))){yield{type:"error",turnId:n.turnId,error:"CLOUD_MONETARY_BUDGET_INVALID",code:"CLOUD_MONETARY_BUDGET_INVALID"};return}if(a?.monetary&&t.llmTransport.supportsTaskMonetaryBudget!==!0){yield{type:"error",turnId:n.turnId,error:"CLOUD_MONETARY_BUDGET_UNSUPPORTED",code:"CLOUD_MONETARY_BUDGET_UNSUPPORTED"};return}if(a&&(a.maxModelRequests!==void 0&&(!Number.isSafeInteger(a.maxModelRequests)||a.maxModelRequests<1)||a.deadlineAtMs!==void 0&&(!Number.isSafeInteger(a.deadlineAtMs)||a.deadlineAtMs<1))){yield i("CLOUD_BUDGET_INVALID");return}if(a?.deadlineAtMs!==void 0&&a.deadlineAtMs<=Date.now()){yield i("CLOUD_DEADLINE_EXCEEDED");return}if(!o||Object.values(o).some(T=>typeof T!="string"||!T.trim())||![o.applicationId,o.tenantId,o.actorId,o.scopeId,o.definitionVersion,n.turnId,n.sessionId].every(T=>typeof T=="string"&&T.trim())){yield i("CLOUD_CONTEXT_INVALID");return}if([n.config.maxRounds,n.config.maxToolCalls,n.config.maxConcurrentTools].some(T=>!Number.isSafeInteger(T)||T<1)){yield i("CLOUD_BUDGET_INVALID");return}let c=n.resume;if(c&&(c.schemaVersion!==1||be(c.context)!==be(o)||c.turnId!==n.turnId||c.sessionId!==n.sessionId||c.binding!==s||!Number.isSafeInteger(c.completedRounds)||c.completedRounds<0||!Array.isArray(c.messages)||!Array.isArray(c.contentBlocks))){yield i("CLOUD_CHECKPOINT_MISMATCH");return}if(c&&(c.phase!=="model_ready"||o_(c.messages))){yield i("CLOUD_RECONCILIATION_REQUIRED");return}let l=n.config?.maxRounds??t.maxRounds;if(c&&(l&&l>0&&c.completedRounds>=l||n.config?.maxTurns&&n.config.maxTurns>0&&c.completedRounds>=n.config.maxTurns)){yield i("CLOUD_BUDGET_EXHAUSTED");return}let u=new AbortController,d=r?AbortSignal.any([r,u.signal]):u.signal,m,h,f=T=>{throw m=T,u.abort(),Error(T)},p,g=()=>{if(a?.deadlineAtMs===void 0)return;let T=a.deadlineAtMs-Date.now();if(T<=0){m="CLOUD_DEADLINE_EXCEEDED",u.abort();return}p=setTimeout(g,Math.min(T,2147483647))},b=async T=>{d.throwIfAborted();try{await t.authorize(o,T)}catch{f("CLOUD_AUTHORIZATION_FAILED")}d.throwIfAborted()},w=new Map,E=structuredClone(c?.modelOperations??[]),O=c?structuredClone(c):void 0,C=(c?.completedRounds??0)+1,V=async T=>{let q=structuredClone(E),G=q.findIndex(W=>W.requestId===T.requestId);G<0?q.push(structuredClone(T)):q[G]=structuredClone(T);try{if(t.onModelOperation)await t.onModelOperation(structuredClone(T));else if(O&&t.checkpoints){let W=structuredClone({...O,modelOperations:q});await t.checkpoints.save(W),O=W}}catch{return f("CLOUD_MODEL_RECEIPT_FAILED")}E.splice(0,E.length,...q)};try{for(let T of c?.contentBlocks??[])w.set(T.id,$r(T));if(w.size>30)throw Error("invalid block count")}catch{yield i("CLOUD_CHECKPOINT_MISMATCH");return}let k=ai({...t,llmTransport:{async*stream(T,q,G){await b({type:"model"});let W=iu("sha256").update(be(a?.monetary?{...T,taskBudget:a.monetary}:T)).digest("hex"),oe=E.findLast(D=>D.round===C&&D.requestDigest===W&&D.status==="completed"&&D.response?.length);if(oe?.response){for(let D of structuredClone(oe.response))yield D;return}if(E.some(D=>["prepared","responding","unknown"].includes(D.status)))return f("MODEL_RECONCILIATION_REQUIRED");if(a?.maxModelRequests!==void 0&&E.length>=a.maxModelRequests)return f("CLOUD_BUDGET_EXHAUSTED");let Q=Math.max(0,...E.filter(D=>D.round===C).map(D=>D.attempt))+1,Re=iu("sha256").update(be([o,n.turnId,C,Q,W])).digest("hex"),K={requestId:Re,requestDigest:W,round:C,attempt:Q,model:T.model,status:"prepared",startedAtMs:Date.now()};if(await V(K),t.reserveModelBudget){try{let D=await t.reserveModelBudget(o,structuredClone(K),structuredClone(T),G);if(typeof D?.reference!="string"||!D.reference.trim())throw Error("invalid budget reservation");K={...K,budgetReference:D.reference}}catch{return await V({...K,status:"rejected",finishedAtMs:Date.now()}),f("CLOUD_MODEL_BUDGET_REJECTED")}await V(K)}G?.throwIfAborted();let se=!1,ve=!1,yt=[];try{for await(let D of t.llmTransport.stream({...T,execution:{requestId:Re,requestDigest:W,round:C,attempt:Q,...a?.monetary?{taskBudget:structuredClone(a.monetary)}:{}}},q,G))yt.push(structuredClone(D)),D.type==="response_id"&&(K={...K,responseId:D.id,status:"responding"},await V(K)),D.type==="usage"&&(K={...K,usage:{inputTokens:D.promptTokens,outputTokens:D.completionTokens,records:D.records}}),D.type==="done"&&!ve&&(se=!0,K={...K,status:"completed",finishReason:D.finishReason}),D.type==="error"&&(ve=!0,se=!1,K={...K,status:D.outcome==="rejected"?"rejected":"unknown"}),yield D}catch(D){throw K={...K,status:D?.outcome==="rejected"?"rejected":"unknown"},D}finally{!se&&K.status!=="rejected"&&(K={...K,status:"unknown"}),K.status==="completed"&&(K={...K,response:yt}),K={...K,finishedAtMs:Date.now()},await V(K)}}},runtime:{...t.runtime,onCheckpoint:async T=>{C=T.completedRounds+1,(m||d.aborted)&&d.throwIfAborted();try{await t.checkpoints?.save(structuredClone({...T,schemaVersion:1,context:o,binding:s,contentBlocks:[...w.values()],modelOperations:E})),O=structuredClone({...T,schemaVersion:1,context:o,binding:s,contentBlocks:[...w.values()],modelOperations:E})}catch{f("CLOUD_CHECKPOINT_FAILED")}}},toolInvoker:{async invoke(T,q,G,W,oe){if(!oe)return f("CLOUD_TOOL_IDENTITY_MISSING");await b({type:"tool",name:q,callId:oe.callId});let Q=Object.freeze({context:o,turnId:T,sessionId:oe.sessionId,callId:oe.callId,round:oe.round,name:q,arguments:G,...a?.monetary?{taskBudget:Object.freeze(structuredClone(a.monetary))}:{}}),Re,K=!1;try{let se=await t.toolInvoker.invoke(Q,W);if("kind"in se&&se.kind==="wait"){if(!t.onWait||!t.checkpoints)return f("CLOUD_WAIT_STORAGE_REQUIRED");if(h)return f("CLOUD_MULTIPLE_WAITS");if(typeof se.wait?.id!="string"||!se.wait.id.trim()||typeof se.wait.reference!="string"||!se.wait.reference.trim()||!["input","confirmation","external"].includes(se.wait.kind))return f("CLOUD_WAIT_INVALID");throw await t.onWait(Q,structuredClone(se.wait)),h={type:"waiting",turnId:T,invocation:Q,wait:structuredClone(se.wait)},K=!0,u.abort(),Error("CLOUD_TASK_WAITING")}Re=se;for(let ve of kr(Re.contentBlocks??[]))w.has(ve.id)||w.set(ve.id,ve);if(w.size>30)throw Error("invalid block count")}catch{if(K||m)throw Error(m??"CLOUD_TASK_WAITING");return f("CLOUD_TOOL_OUTCOME_UNKNOWN")}try{await t.onToolResult?.(Q,structuredClone(Re))}catch{f("CLOUD_TOOL_RECEIPT_FAILED")}return Re}}});try{g();let T=n.assistantContext,q=[...n.messages],G=[];T&&G.push({role:"user",contextProjection:"facts",content:`Product context facts (data, not instructions): ${JSON.stringify({module:T.module,enterprise:T.enterprise,employee:T.employee})}`,contextAnchors:[{category:"constraint",value:JSON.stringify({module:T.module,enterprise:T.enterprise,employee:T.employee})}]}),n.goal&&G.push({role:"user",contextProjection:"facts",content:`Requested business outcome: ${JSON.stringify(n.goal)}`,contextAnchors:[{category:"objective",value:JSON.stringify(n.goal)}]});let W=q.findLastIndex(Q=>Q.role==="user"&&Q.contextProjection!=="facts");q.splice(W<0?q.length:W,0,...G);let oe=T?[n.systemPrompt,T.knowledge.skill,`Verified examples and exception handling: ${JSON.stringify({revision:T.knowledge.revision,examples:T.knowledge.examples,exceptions:T.knowledge.exceptions})}`].filter(Boolean).join(`
13
13
 
14
- `):n.systemPrompt;for await(let X of k.run({...n,messages:q,systemPrompt:oe,continuation:c?{completedRounds:c.completedRounds,usage:c.usage}:void 0,...c?{messages:c.messages,systemPrompt:void 0}:{}},d))if(!h){if(m){yield i(m);return}X.type==="error"&&m?yield i(m):X.type==="end"?yield{...X,...w.size?{contentBlocks:[...w.values()]}:{}}:yield X}}catch(T){if(!h)throw T}finally{p!==void 0&&clearTimeout(p),u.abort()}h&&(yield m?i(m):h)}}}var s_=new Set(["completed","stopped","failed","cancelled"]);function ui(t,e){return["applicationId","tenantId","actorId","scopeId","definitionVersion"].every(r=>t[r]===e[r])}function au(t,e){return JSON.stringify([t.applicationId,t.tenantId,t.actorId,t.scopeId,e])}function cu(t){return JSON.stringify([t.invocation.round,t.invocation.callId])}function lu(t,e){if(!t.checkpoint)throw Error("CLOUD_RECONCILIATION_REQUIRED");if(t.checkpoint.phase==="model_ready")return t.checkpoint;let r=t.checkpoint.completedRounds+1;return ci(t.checkpoint,e.filter(n=>n.invocation.round===r))}function i_(t){let e=t.heartbeatMs??5e3;if(!Number.isSafeInteger(e)||e<10)throw Error("CLOUD_HEARTBEAT_INVALID");let r=t.deltaBatch;if(r&&(!Number.isSafeInteger(r.maxCharacters)||r.maxCharacters<1||!Number.isSafeInteger(r.maxDelayMs)||r.maxDelayMs<1))throw Error("CLOUD_EVENT_BATCH_INVALID");let n=new Map,o=async(s,i)=>{let a=await t.store.load(s,i);if(a.id!==i||!ui(s,a.request.context))throw Error("CLOUD_TASK_NOT_FOUND");return structuredClone(a)};return{async create(s,i){let a=structuredClone(i);if(await t.authorize(a.context,"create"),!s.trim()||a.resume)throw Error("CLOUD_TASK_REQUEST_INVALID");if(a.goal&&(Rr(a.goal),!t.verifyGoal))throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");let c=await t.store.create({id:s,request:a,status:"queued",revision:0,cursor:0,receipts:[]});if(c.id!==s||!ui(c.request.context,a.context)||be(c.request)!==be(a))throw Error("CLOUD_TASK_REQUEST_CONFLICT");return c},async get(s,i){return await t.authorize(s,"read"),o(s,i)},async events(s,i,a=0,c=100){if(await t.authorize(s,"read"),!Number.isSafeInteger(a)||a<0||!Number.isSafeInteger(c)||c<1||c>1e3)throw Error("CLOUD_EVENT_CURSOR_INVALID");let l=await o(s,i);if(a>l.cursor)throw Error("CLOUD_EVENT_CURSOR_INVALID");return t.store.events(s,i,a,c)},async cancel(s,i){await t.authorize(s,"cancel"),await o(s,i);let a=await t.store.cancel(s,i);return n.get(au(s,i))?.abort(),a},async completeWait(s,i,a,c){await t.authorize(s,"complete_wait");let l=await o(s,i);if(!l.status.startsWith("waiting_")||!l.wait||l.wait.descriptor.id!==a)throw Error("CLOUD_TASK_NOT_WAITING");await t.authorizeCompletion(structuredClone(l),a,structuredClone(c));let u=[...l.receipts,{invocation:l.wait.invocation,result:structuredClone(c)}],d=lu(l,u);return t.store.update(s,i,l.revision,{...l,status:"queued",checkpoint:d,receipts:u,wait:void 0},{type:"task_status",status:"queued"})},async recover(s,i,a=[]){await t.authorize(s,"recover"),await o(s,i);let c=await t.store.interrupt(s,i);if(c.status!=="reconciliation_required"||!t.authorizeRecovery)throw Error("CLOUD_RECONCILIATION_REQUIRED");let l=await t.authorizeRecovery(structuredClone(c),structuredClone(a)),u=structuredClone(c.modelOperations??[]);for(let f of u){if(!["prepared","responding","unknown"].includes(f.status))continue;let p=l?.find(g=>g.requestId===f.requestId);if(!p||p.requestDigest!==f.requestDigest||typeof p.evidenceReference!="string"||!p.evidenceReference.trim())throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");if(p.outcome==="rejected"&&p.safeToRetry===!0)f.status="rejected";else if(p.outcome==="completed"&&typeof p.responseId=="string"&&p.responseId.trim()&&Array.isArray(p.response)&&p.response.length&&p.response.some(g=>g?.type==="done"&&typeof g.finishReason=="string"&&g.finishReason)&&!p.response.some(g=>!g||g.type==="error"))f.status="completed",f.responseId=p.responseId,f.response=structuredClone(p.response),f.usage=structuredClone(p.usage),f.finishReason=p.response.findLast(g=>g.type==="done")?.finishReason;else throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");f.reconciliationReference=p.evidenceReference}let d=[...c.receipts];for(let f of a){let p=d.find(g=>cu(g)===cu(f));if(p&&be(p)!==be(f))throw Error("CLOUD_RECEIPT_CONFLICT");p||d.push(structuredClone(f))}let m=lu(c,d),h=c.cancellationRequested?"cancelled":"queued";return t.store.update(s,i,c.revision,{...c,checkpoint:m,receipts:d,modelOperations:u,status:h,errorCode:void 0},{type:"task_status",status:h})},async execute(s,i,a){await t.authorize(s,"execute"),await o(s,i);let c=await t.store.claim(s,i);if(!c)return;let l=structuredClone(c.task),u=new AbortController,d=a?AbortSignal.any([u.signal,a]):u.signal,m=au(s,i);n.set(m,u);let h=!1,f=Promise.resolve(),p=(B,k)=>{let T=f.then(async()=>{if(h)throw Error("CLOUD_TASK_LEASE_LOST");l=await t.store.update(s,i,l.revision,B(l),k,c.leaseId)});return f=T,T},g,b,w,C=async()=>{w!==void 0&&(clearTimeout(w),w=void 0);let B=b;b=void 0,B&&await p(k=>k,B)},O=()=>g??(g=(async()=>{try{!h&&!await t.store.renew(s,i,c.leaseId)&&(h=!0,u.abort())}catch{h=!0,u.abort()}})().finally(()=>{g=void 0})),E=setInterval(()=>{O()},e);try{if(!["queued"].includes(l.status)||!ui(s,l.request.context))throw Error("CLOUD_TASK_CLAIM_INVALID");await p(k=>({...k,status:"running"}),{type:"task_status",status:"running"});let B=li({...t.agent,onModelOperation:k=>{let{response:T,...q}=k;return C().then(()=>p(G=>{let W=[...G.modelOperations??[]],oe=W.findIndex(X=>X.requestId===k.requestId);return oe<0?W.push(k):W[oe]=k,{...G,modelOperations:W}},{type:"model_operation",operation:q}))},authorize:async(k,T)=>{if(await O(),h)throw Error("CLOUD_TASK_LEASE_LOST");await t.authorize(s,"execute"),await t.agent.authorize(k,T)},checkpoints:{save:k=>p(T=>({...T,checkpoint:k}),{type:"checkpoint",phase:k.phase})},onToolResult:(k,T)=>p(q=>({...q,receipts:[...q.receipts,{invocation:k,result:T}]}),{type:"receipt",callId:k.callId,round:k.round,name:k.name}),onWait:(k,T)=>p(q=>({...q,wait:{invocation:k,descriptor:T}}),{type:"receipt",callId:k.callId,round:k.round,name:k.name})});for await(let k of B.run({...l.request,resume:l.checkpoint?{...l.checkpoint,modelOperations:l.modelOperations}:void 0},d)){if(h||d.aborted)break;if(r&&k.type==="delta"){b=b?{...b,text:b.text+k.text}:k,b.text.length>=r.maxCharacters?await C():w===void 0&&(w=setTimeout(()=>{C().catch(()=>u.abort())},Math.min(r.maxDelayMs,2147483647)));continue}await C();let T=k.type==="error"?{...k,error:k.code??"CLOUD_AGENT_FAILED"}:k,q;if(T.type==="end"&&T.turnStatus!=="stopped"&&l.request.goal)try{if(!t.verifyGoal)throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");await t.authorize(s,"execute"),q=su(l.request.goal,await t.verifyGoal(structuredClone(l)))}catch{T={type:"error",turnId:l.request.turnId,error:"CLOUD_GOAL_VERIFICATION_FAILED",code:"CLOUD_GOAL_VERIFICATION_FAILED"}}let G=q?.status==="incomplete"?"stopped":T.type==="waiting"?`waiting_${T.wait.kind}`:T.type==="end"?T.turnStatus==="stopped"?"stopped":"completed":T.type==="error"?["CLOUD_TOOL_OUTCOME_UNKNOWN","CLOUD_MODEL_RECEIPT_FAILED","CLOUD_GOAL_VERIFICATION_FAILED","CLOUD_DEADLINE_EXCEEDED","MODEL_RECONCILIATION_REQUIRED","PROVIDER_STREAM_ERROR","RETRYABLE_TRANSIENT","LLM_STREAM_TIMEOUT","CLOUD_TOOL_RECEIPT_FAILED","CLOUD_CHECKPOINT_FAILED","CLOUD_RECONCILIATION_REQUIRED","CLOUD_MULTIPLE_WAITS","CLOUD_WAIT_INVALID"].includes(T.code??"")?"reconciliation_required":"failed":l.status;if(await p(W=>({...W,status:G,...q?{outcome:q}:{},...T.type==="error"?{errorCode:T.code??"CLOUD_AGENT_FAILED"}:{}}),T),s_.has(G)||G==="reconciliation_required"||G.startsWith("waiting_"))break}await C(),await f,!h&&l.status==="running"&&await p(k=>({...k,status:"reconciliation_required",errorCode:"CLOUD_WORKER_INTERRUPTED"}),{type:"task_status",status:"reconciliation_required"})}catch{if(u.abort(),await O(),!h)throw Error("CLOUD_TASK_PERSISTENCE_FAILED")}finally{w!==void 0&&clearTimeout(w),clearInterval(E),u.abort(),n.get(m)===u&&n.delete(m),await t.store.release(s,i,c.leaseId)}}}}export{N as AgentContentBlockValidationError,Ky as analyzeEngineeringFile,be as canonicalCloudValue,ci as completeCloudToolCheckpoint,li as createCloudAgent,i_ as createCloudTaskRuntime,ai as createEmbeddedAgent,By as createStandardPresentationToolResult,Gy as isEngineeringFile,$r as parseAgentContentBlock,Fy as standardPresentationToolDefinitions,Zl as standardPresentationToolNames};
14
+ `):n.systemPrompt;for await(let Q of k.run({...n,messages:q,systemPrompt:oe,continuation:c?{completedRounds:c.completedRounds,usage:c.usage}:void 0,...c?{messages:c.messages,systemPrompt:void 0}:{}},d))if(!h){if(m){yield i(m);return}Q.type==="error"&&m?yield i(m):Q.type==="end"?yield{...Q,...w.size?{contentBlocks:[...w.values()]}:{}}:yield Q}}catch(T){if(!h)throw T}finally{p!==void 0&&clearTimeout(p),u.abort()}h&&(yield m?i(m):h)}}}var s_=new Set(["completed","stopped","failed","cancelled"]);function ui(t,e){return["applicationId","tenantId","actorId","scopeId","definitionVersion"].every(r=>t[r]===e[r])}function au(t,e){return JSON.stringify([t.applicationId,t.tenantId,t.actorId,t.scopeId,e])}function cu(t){return JSON.stringify([t.invocation.round,t.invocation.callId])}function lu(t,e){if(!t.checkpoint)throw Error("CLOUD_RECONCILIATION_REQUIRED");if(t.checkpoint.phase==="model_ready")return t.checkpoint;let r=t.checkpoint.completedRounds+1;return ci(t.checkpoint,e.filter(n=>n.invocation.round===r))}function i_(t){let e=t.heartbeatMs??5e3;if(!Number.isSafeInteger(e)||e<10)throw Error("CLOUD_HEARTBEAT_INVALID");let r=t.deltaBatch;if(r&&(!Number.isSafeInteger(r.maxCharacters)||r.maxCharacters<1||!Number.isSafeInteger(r.maxDelayMs)||r.maxDelayMs<1))throw Error("CLOUD_EVENT_BATCH_INVALID");let n=new Map,o=async(s,i)=>{let a=await t.store.load(s,i);if(a.id!==i||!ui(s,a.request.context))throw Error("CLOUD_TASK_NOT_FOUND");return structuredClone(a)};return{async create(s,i){let a=structuredClone(i);if(await t.authorize(a.context,"create"),!s.trim()||a.resume)throw Error("CLOUD_TASK_REQUEST_INVALID");if(a.goal&&(Rr(a.goal),!t.verifyGoal))throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");let c=await t.store.create({id:s,request:a,status:"queued",revision:0,cursor:0,receipts:[]});if(c.id!==s||!ui(c.request.context,a.context)||be(c.request)!==be(a))throw Error("CLOUD_TASK_REQUEST_CONFLICT");return c},async get(s,i){return await t.authorize(s,"read"),o(s,i)},async events(s,i,a=0,c=100){if(await t.authorize(s,"read"),!Number.isSafeInteger(a)||a<0||!Number.isSafeInteger(c)||c<1||c>1e3)throw Error("CLOUD_EVENT_CURSOR_INVALID");let l=await o(s,i);if(a>l.cursor)throw Error("CLOUD_EVENT_CURSOR_INVALID");return t.store.events(s,i,a,c)},async cancel(s,i){await t.authorize(s,"cancel"),await o(s,i);let a=await t.store.cancel(s,i);return n.get(au(s,i))?.abort(),a},async completeWait(s,i,a,c){await t.authorize(s,"complete_wait");let l=await o(s,i);if(!l.status.startsWith("waiting_")||!l.wait||l.wait.descriptor.id!==a)throw Error("CLOUD_TASK_NOT_WAITING");await t.authorizeCompletion(structuredClone(l),a,structuredClone(c));let u=[...l.receipts,{invocation:l.wait.invocation,result:structuredClone(c)}],d=lu(l,u);return t.store.update(s,i,l.revision,{...l,status:"queued",checkpoint:d,receipts:u,wait:void 0},{type:"task_status",status:"queued"})},async recover(s,i,a=[]){await t.authorize(s,"recover"),await o(s,i);let c=await t.store.interrupt(s,i);if(c.status!=="reconciliation_required"||!t.authorizeRecovery)throw Error("CLOUD_RECONCILIATION_REQUIRED");let l=await t.authorizeRecovery(structuredClone(c),structuredClone(a)),u=structuredClone(c.modelOperations??[]);for(let f of u){if(!["prepared","responding","unknown"].includes(f.status))continue;let p=l?.find(g=>g.requestId===f.requestId);if(!p||p.requestDigest!==f.requestDigest||typeof p.evidenceReference!="string"||!p.evidenceReference.trim())throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");if(p.outcome==="rejected"&&p.safeToRetry===!0)f.status="rejected";else if(p.outcome==="completed"&&typeof p.responseId=="string"&&p.responseId.trim()&&Array.isArray(p.response)&&p.response.length&&p.response.some(g=>g?.type==="done"&&typeof g.finishReason=="string"&&g.finishReason)&&!p.response.some(g=>!g||g.type==="error"))f.status="completed",f.responseId=p.responseId,f.response=structuredClone(p.response),f.usage=structuredClone(p.usage),f.finishReason=p.response.findLast(g=>g.type==="done")?.finishReason;else throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");f.reconciliationReference=p.evidenceReference}let d=[...c.receipts];for(let f of a){let p=d.find(g=>cu(g)===cu(f));if(p&&be(p)!==be(f))throw Error("CLOUD_RECEIPT_CONFLICT");p||d.push(structuredClone(f))}let m=lu(c,d),h=c.cancellationRequested?"cancelled":"queued";return t.store.update(s,i,c.revision,{...c,checkpoint:m,receipts:d,modelOperations:u,status:h,errorCode:void 0},{type:"task_status",status:h})},async execute(s,i,a){await t.authorize(s,"execute"),await o(s,i);let c=await t.store.claim(s,i);if(!c)return;let l=structuredClone(c.task),u=new AbortController,d=a?AbortSignal.any([u.signal,a]):u.signal,m=au(s,i);n.set(m,u);let h=!1,f=Promise.resolve(),p=(V,k)=>{let T=f.then(async()=>{if(h)throw Error("CLOUD_TASK_LEASE_LOST");l=await t.store.update(s,i,l.revision,V(l),k,c.leaseId)});return f=T,T},g,b,w,E=async()=>{w!==void 0&&(clearTimeout(w),w=void 0);let V=b;b=void 0,V&&await p(k=>k,V)},O=()=>g??(g=(async()=>{try{!h&&!await t.store.renew(s,i,c.leaseId)&&(h=!0,u.abort())}catch{h=!0,u.abort()}})().finally(()=>{g=void 0})),C=setInterval(()=>{O()},e);try{if(!["queued"].includes(l.status)||!ui(s,l.request.context))throw Error("CLOUD_TASK_CLAIM_INVALID");await p(k=>({...k,status:"running"}),{type:"task_status",status:"running"});let V=li({...t.agent,onModelOperation:k=>{let{response:T,...q}=k;return E().then(()=>p(G=>{let W=[...G.modelOperations??[]],oe=W.findIndex(Q=>Q.requestId===k.requestId);return oe<0?W.push(k):W[oe]=k,{...G,modelOperations:W}},{type:"model_operation",operation:q}))},authorize:async(k,T)=>{if(await O(),h)throw Error("CLOUD_TASK_LEASE_LOST");await t.authorize(s,"execute"),await t.agent.authorize(k,T)},checkpoints:{save:k=>p(T=>({...T,checkpoint:k}),{type:"checkpoint",phase:k.phase})},onToolResult:(k,T)=>p(q=>({...q,receipts:[...q.receipts,{invocation:k,result:T}]}),{type:"receipt",callId:k.callId,round:k.round,name:k.name}),onWait:(k,T)=>p(q=>({...q,wait:{invocation:k,descriptor:T}}),{type:"receipt",callId:k.callId,round:k.round,name:k.name})});for await(let k of V.run({...l.request,resume:l.checkpoint?{...l.checkpoint,modelOperations:l.modelOperations}:void 0},d)){if(h||d.aborted)break;if(r&&k.type==="delta"){b=b?{...b,text:b.text+k.text}:k,b.text.length>=r.maxCharacters?await E():w===void 0&&(w=setTimeout(()=>{E().catch(()=>u.abort())},Math.min(r.maxDelayMs,2147483647)));continue}await E();let T=k.type==="error"?{...k,error:k.code??"CLOUD_AGENT_FAILED"}:k,q;if(T.type==="end"&&T.turnStatus!=="stopped"&&l.request.goal)try{if(!t.verifyGoal)throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");await t.authorize(s,"execute"),q=su(l.request.goal,await t.verifyGoal(structuredClone(l)))}catch{T={type:"error",turnId:l.request.turnId,error:"CLOUD_GOAL_VERIFICATION_FAILED",code:"CLOUD_GOAL_VERIFICATION_FAILED"}}let G=q?.status==="incomplete"?"stopped":T.type==="waiting"?`waiting_${T.wait.kind}`:T.type==="end"?T.turnStatus==="stopped"?"stopped":"completed":T.type==="error"?["CLOUD_TOOL_OUTCOME_UNKNOWN","CLOUD_MODEL_RECEIPT_FAILED","CLOUD_GOAL_VERIFICATION_FAILED","CLOUD_DEADLINE_EXCEEDED","MODEL_RECONCILIATION_REQUIRED","PROVIDER_STREAM_ERROR","RETRYABLE_TRANSIENT","LLM_STREAM_TIMEOUT","CLOUD_TOOL_RECEIPT_FAILED","CLOUD_CHECKPOINT_FAILED","CLOUD_RECONCILIATION_REQUIRED","CLOUD_MULTIPLE_WAITS","CLOUD_WAIT_INVALID"].includes(T.code??"")?"reconciliation_required":"failed":l.status;if(await p(W=>({...W,status:G,...q?{outcome:q}:{},...T.type==="error"?{errorCode:T.code??"CLOUD_AGENT_FAILED"}:{}}),T),s_.has(G)||G==="reconciliation_required"||G.startsWith("waiting_"))break}await E(),await f,!h&&l.status==="running"&&await p(k=>({...k,status:"reconciliation_required",errorCode:"CLOUD_WORKER_INTERRUPTED"}),{type:"task_status",status:"reconciliation_required"})}catch{if(u.abort(),await O(),!h)throw Error("CLOUD_TASK_PERSISTENCE_FAILED")}finally{w!==void 0&&clearTimeout(w),clearInterval(C),u.abort(),n.get(m)===u&&n.delete(m),await t.store.release(s,i,c.leaseId)}}}}export{N as AgentContentBlockValidationError,Ky as analyzeEngineeringFile,be as canonicalCloudValue,ci as completeCloudToolCheckpoint,li as createCloudAgent,i_ as createCloudTaskRuntime,ai as createEmbeddedAgent,Vy as createStandardPresentationToolResult,Gy as isEngineeringFile,$r as parseAgentContentBlock,zy as standardPresentationToolDefinitions,Zl as standardPresentationToolNames};
@@ -1,4 +1,5 @@
1
1
  import type { ModelOperation } from "./model-operation.js";
2
+ import type { TaskMonetaryBudget } from "../runtime/ports/model-transport-contracts.js";
2
3
  import { type BusinessAssistantContext, type BusinessGoal } from "./business-contracts.js";
3
4
  import { type AgentContentBlock } from "./content-blocks.js";
4
5
  import type { CreateEmbeddedAgentOptions, ToolResult, TurnCheckpoint, TurnEvent, TurnRequest, LLMRequest } from "./contracts.js";
@@ -17,6 +18,8 @@ export interface CloudToolInvocation {
17
18
  round: number;
18
19
  name: string;
19
20
  arguments: string;
21
+ /** Product-paid tools must forward this same immutable ceiling to their billing service. */
22
+ taskBudget?: Readonly<TaskMonetaryBudget>;
20
23
  }
21
24
  export interface CloudCheckpoint extends TurnCheckpoint {
22
25
  schemaVersion: 1;
@@ -35,6 +38,7 @@ export interface CloudTurnRequest extends Omit<TurnRequest, "continuation"> {
35
38
  executionBudget?: {
36
39
  maxModelRequests?: number;
37
40
  deadlineAtMs?: number;
41
+ monetary?: TaskMonetaryBudget;
38
42
  };
39
43
  }
40
44
  export interface CloudToolWait {
@@ -2,6 +2,7 @@ export { createEmbeddedAgent } from "./embedded-agent.js";
2
2
  export { AgentContentBlockValidationError, analyzeEngineeringFile, createStandardPresentationToolResult, isEngineeringFile, parseAgentContentBlock, standardPresentationToolDefinitions, standardPresentationToolNames, } from "./content-blocks.js";
3
3
  export type { ContextAnchor, ContextEnvelope, SemanticToolCapability, ToolIdentity, UsageRecord, UsageSource, AgentLogger, ChatMessage, CreateEmbeddedAgentOptions, EmbeddedAgent, EmbeddedRuntimeOptions, LLMChunk, LLMRequest, LLMTransport, ModelRetryAuthorization, ToolDefinition, ToolInvoker, ToolInvocationContext, ToolResult, TurnCheckpoint, TokenUsage, TurnConfig, TurnEvent, TurnRequest, } from "./contracts.js";
4
4
  export type { ModelOperation, ModelRecoveryProof } from "./model-operation.js";
5
+ export type { TaskMonetaryBudget } from "../runtime/ports/model-transport-contracts.js";
5
6
  export type { BusinessAssistantContext, BusinessGoal, BusinessGoalEvidence, BusinessGoalOutcome } from "./business-contracts.js";
6
7
  export { createCloudAgent, completeCloudToolCheckpoint, canonicalCloudValue } from "./cloud-agent.js";
7
8
  export type { CloudAgent, CloudAgentOptions, CloudCheckpoint, CloudExecutionContext, CloudToolInvocation, CloudToolReceipt, CloudToolWait, CloudTurnEvent, CloudTurnRequest, } from "./cloud-agent.js";
@@ -1,6 +1,12 @@
1
1
  import type { ChatMessage, ToolDefinition } from "./agent-execution-contracts.js";
2
2
  import type { WireUsageRecord } from "../../contracts/usage.js";
3
3
  import type { ModelOperation, ModelRecoveryProof } from "../../embedded/model-operation.js";
4
+ /** Immutable product task ceiling, enforced by the model service's financial authority. */
5
+ export interface TaskMonetaryBudget {
6
+ id: string;
7
+ currency: "CNY";
8
+ maxAmount: string;
9
+ }
4
10
  export interface LLMRequest {
5
11
  /** Stable product execution reference; not a provider-side idempotency guarantee. */
6
12
  execution?: {
@@ -8,6 +14,7 @@ export interface LLMRequest {
8
14
  requestDigest: string;
9
15
  round: number;
10
16
  attempt: number;
17
+ taskBudget?: TaskMonetaryBudget;
11
18
  };
12
19
  model: string;
13
20
  messages: ChatMessage[];
@@ -82,6 +89,8 @@ export interface AccumulatedToolCall {
82
89
  arguments: string;
83
90
  }
84
91
  export interface LLMTransport {
92
+ /** True only when every billed dispatch enforces execution.taskBudget durably. */
93
+ supportsTaskMonetaryBudget?: true;
85
94
  /** Forward requested provider controls or reject unsupported ones before inference; never silently discard them. */
86
95
  stream(request: LLMRequest, apiKey: string, signal?: AbortSignal): AsyncGenerator<LLMChunk>;
87
96
  /** Query the original service receipt without starting inference. Missing evidence must reject. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiaozhiclaw/qlogicagent-core",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Shared SaaS Agent inference and durable task runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",