@xiaozhiclaw/qlogicagent-core 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -41,6 +41,11 @@ Context comes from the authenticated product, never from a model/browser claim.
41
41
  Skill knowledge is maintained by each product with its module version; MCP may
42
42
  be its tool execution protocol. The core does not install capabilities.
43
43
 
44
+ `getCoreCapabilities()` reports the installed artifact's package version and
45
+ model-callable built-in tool definitions. The current core exposes no built-in
46
+ tools; injected product tools are excluded. Consumers of older artifacts that
47
+ do not export this function must report the inventory as unavailable, not zero.
48
+
44
49
  Presentation payloads are product-defined id/type envelopes. Core preserves
45
50
  their fields without defining choice/table/diagram/attachment schemas or parsing
46
51
  engineering files. Each SaaS validates and renders its own returned blocks.
package/dist/index.js CHANGED
@@ -1,13 +1,13 @@
1
- var Zl=Object.create;var Ca=Object.defineProperty;var eu=Object.getOwnPropertyDescriptor;var tu=Object.getOwnPropertyNames;var ru=Object.getPrototypeOf,ou=Object.prototype.hasOwnProperty;var C=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var nu=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of tu(t))!ou.call(e,n)&&n!==r&&Ca(e,n,{get:()=>t[n],enumerable:!(o=eu(t,n))||o.enumerable});return e};var su=(e,t,r)=>(r=e!=null?Zl(ru(e)):{},nu(t||!e||!e.__esModule?Ca(r,"default",{value:e,enumerable:!0}):r,e));var Bt=C(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 qt=class{};F._CodeOrName=qt;F.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ot=class extends qt{constructor(t){if(super(),!F.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};F.Name=ot;var be=class extends qt{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,o)=>`${r}${o}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,o)=>(o instanceof ot&&(r[o.str]=(r[o.str]||0)+1),r),{})}};F._Code=be;F.nil=new be("");function Ra(e,...t){let r=[e[0]],o=0;for(;o<t.length;)Qo(r,t[o]),r.push(e[++o]);return new be(r)}F._=Ra;var Jo=new be("+");function ka(e,...t){let r=[Ut(e[0])],o=0;for(;o<t.length;)r.push(Jo),Qo(r,t[o]),r.push(Jo,Ut(e[++o]));return _u(r),new be(r)}F.str=ka;function Qo(e,t){t instanceof be?e.push(...t._items):t instanceof ot?e.push(t):e.push(Cu(t))}F.addCodeArg=Qo;function _u(e){let t=1;for(;t<e.length-1;){if(e[t]===Jo){let r=Tu(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function Tu(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof ot||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof ot))return`"${e}${t.slice(1)}`}function vu(e,t){return t.emptyStr()?e:e.emptyStr()?t:ka`${e}${t}`}F.strConcat=vu;function Cu(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Ut(Array.isArray(e)?e.join(","):e)}function Eu(e){return new be(Ut(e))}F.stringify=Eu;function Ut(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}F.safeStringify=Ut;function bu(e){return typeof e=="string"&&F.IDENTIFIER.test(e)?new be(`.${e}`):Ra`[${e}]`}F.getProperty=bu;function wu(e){if(typeof e=="string"&&F.IDENTIFIER.test(e))return new be(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}F.getEsmExportName=wu;function $u(e){return new be(e.toString())}F.regexpCode=$u});var Zo=C(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.ValueScope=_e.ValueScopeName=_e.Scope=_e.varKinds=_e.UsedValueState=void 0;var ye=Bt(),Yo=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},jr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(jr||(_e.UsedValueState=jr={}));_e.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};var Dr=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof ye.Name?t:this.name(t)}name(t){return new ye.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,o;if(!((o=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||o===void 0)&&o.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};_e.Scope=Dr;var qr=class extends ye.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:o}){this.value=t,this.scopePath=(0,ye._)`.${new ye.Name(r)}[${o}]`}};_e.ValueScopeName=qr;var Ru=(0,ye._)`\n`,Xo=class extends Dr{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?Ru:ye.nil}}get(){return this._scope}name(t){return new qr(t,this._newName(t))}value(t,r){var o;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(t),{prefix:s}=n,a=(o=r.key)!==null&&o!==void 0?o:r.ref,i=this._values[s];if(i){let u=i.get(a);if(u)return u}else i=this._values[s]=new Map;i.set(a,n);let c=this._scope[s]||(this._scope[s]=[]),l=c.length;return c[l]=r.ref,n.setValue(r,{property:s,itemIndex:l}),n}getValue(t,r){let o=this._values[t];if(o)return o.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,o=>{if(o.scopePath===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return(0,ye._)`${t}${o.scopePath}`})}scopeCode(t=this._values,r,o){return this._reduceValues(t,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},r,o)}_reduceValues(t,r,o={},n){let s=ye.nil;for(let a in t){let i=t[a];if(!i)continue;let c=o[a]=o[a]||new Map;i.forEach(l=>{if(c.has(l))return;c.set(l,jr.Started);let u=r(l);if(u){let d=this.opts.es5?_e.varKinds.var:_e.varKinds.const;s=(0,ye._)`${s}${d} ${l} = ${u};${this.opts._n}`}else if(u=n?.(l))s=(0,ye._)`${s}${u}${this.opts._n}`;else throw new Yo(l);c.set(l,jr.Completed)})}return s}};_e.ValueScope=Xo});var A=C(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.or=N.and=N.not=N.CodeGen=N.operators=N.varKinds=N.ValueScopeName=N.ValueScope=N.Scope=N.Name=N.regexpCode=N.stringify=N.getProperty=N.nil=N.strConcat=N.str=N._=void 0;var U=Bt(),Ie=Zo(),ze=Bt();Object.defineProperty(N,"_",{enumerable:!0,get:function(){return ze._}});Object.defineProperty(N,"str",{enumerable:!0,get:function(){return ze.str}});Object.defineProperty(N,"strConcat",{enumerable:!0,get:function(){return ze.strConcat}});Object.defineProperty(N,"nil",{enumerable:!0,get:function(){return ze.nil}});Object.defineProperty(N,"getProperty",{enumerable:!0,get:function(){return ze.getProperty}});Object.defineProperty(N,"stringify",{enumerable:!0,get:function(){return ze.stringify}});Object.defineProperty(N,"regexpCode",{enumerable:!0,get:function(){return ze.regexpCode}});Object.defineProperty(N,"Name",{enumerable:!0,get:function(){return ze.Name}});var zr=Zo();Object.defineProperty(N,"Scope",{enumerable:!0,get:function(){return zr.Scope}});Object.defineProperty(N,"ValueScope",{enumerable:!0,get:function(){return zr.ValueScope}});Object.defineProperty(N,"ValueScopeName",{enumerable:!0,get:function(){return zr.ValueScopeName}});Object.defineProperty(N,"varKinds",{enumerable:!0,get:function(){return zr.varKinds}});N.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 De=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},en=class extends De{constructor(t,r,o){super(),this.varKind=t,this.name=r,this.rhs=o}render({es5:t,_n:r}){let o=t?Ie.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${o} ${this.name}${n};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=yt(this.rhs,t,r)),this}get names(){return this.rhs instanceof U._CodeOrName?this.rhs.names:{}}},Ur=class extends De{constructor(t,r,o){super(),this.lhs=t,this.rhs=r,this.sideEffects=o}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof U.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=yt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof U.Name?{}:{...this.lhs.names};return Vr(t,this.rhs)}},tn=class extends Ur{constructor(t,r,o,n){super(t,o,n),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},rn=class extends De{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},on=class extends De{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},nn=class extends De{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},sn=class extends De{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=yt(this.code,t,r),this}get names(){return this.code instanceof U._CodeOrName?this.code.names:{}}},Vt=class extends De{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,o)=>r+o.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let o=t[r].optimizeNodes();Array.isArray(o)?t.splice(r,1,...o):o?t[r]=o:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:o}=this,n=o.length;for(;n--;){let s=o[n];s.optimizeNames(t,r)||(ku(t,s.names),o.splice(n,1))}return o.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>at(t,r.names),{})}},qe=class extends Vt{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},an=class extends Vt{},gt=class extends qe{};gt.kind="else";var nt=class e extends qe{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let o=r.optimizeNodes();r=this.else=Array.isArray(o)?new gt(o):o}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Sa(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var o;if(this.else=(o=this.else)===null||o===void 0?void 0:o.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=yt(this.condition,t,r),this}get names(){let t=super.names;return Vr(t,this.condition),this.else&&at(t,this.else.names),t}};nt.kind="if";var st=class extends qe{};st.kind="for";var cn=class extends st{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=yt(this.iteration,t,r),this}get names(){return at(super.names,this.iteration.names)}},ln=class extends st{constructor(t,r,o,n){super(),this.varKind=t,this.name=r,this.from=o,this.to=n}render(t){let r=t.es5?Ie.varKinds.var:this.varKind,{name:o,from:n,to:s}=this;return`for(${r} ${o}=${n}; ${o}<${s}; ${o}++)`+super.render(t)}get names(){let t=Vr(super.names,this.from);return Vr(t,this.to)}},Br=class extends st{constructor(t,r,o,n){super(),this.loop=t,this.varKind=r,this.name=o,this.iterable=n}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=yt(this.iterable,t,r),this}get names(){return at(super.names,this.iterable.names)}},zt=class extends qe{constructor(t,r,o){super(),this.name=t,this.args=r,this.async=o}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};zt.kind="func";var Gt=class extends Vt{render(t){return"return "+super.render(t)}};Gt.kind="return";var un=class extends qe{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var o,n;return super.optimizeNames(t,r),(o=this.catch)===null||o===void 0||o.optimizeNames(t,r),(n=this.finally)===null||n===void 0||n.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&at(t,this.catch.names),this.finally&&at(t,this.finally.names),t}},Ft=class extends qe{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Ft.kind="catch";var Kt=class extends qe{render(t){return"finally"+super.render(t)}};Kt.kind="finally";var dn=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
- `:""},this._extScope=t,this._scope=new Ie.Scope({parent:t}),this._nodes=[new an]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let o=this._extScope.value(t,r);return(this._values[o.prefix]||(this._values[o.prefix]=new Set)).add(o),o}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,o,n){let s=this._scope.toName(r);return o!==void 0&&n&&(this._constants[s.str]=o),this._leafNode(new en(t,s,o)),s}const(t,r,o){return this._def(Ie.varKinds.const,t,r,o)}let(t,r,o){return this._def(Ie.varKinds.let,t,r,o)}var(t,r,o){return this._def(Ie.varKinds.var,t,r,o)}assign(t,r,o){return this._leafNode(new Ur(t,r,o))}add(t,r){return this._leafNode(new tn(t,N.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==U.nil&&this._leafNode(new sn(t)),this}object(...t){let r=["{"];for(let[o,n]of t)r.length>1&&r.push(","),r.push(o),(o!==n||this.opts.es5)&&(r.push(":"),(0,U.addCodeArg)(r,n));return r.push("}"),new U._Code(r)}if(t,r,o){if(this._blockNode(new nt(t)),r&&o)this.code(r).else().code(o).endIf();else if(r)this.code(r).endIf();else if(o)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new nt(t))}else(){return this._elseNode(new gt)}endIf(){return this._endBlockNode(nt,gt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new cn(t),r)}forRange(t,r,o,n,s=this.opts.es5?Ie.varKinds.var:Ie.varKinds.let){let a=this._scope.toName(t);return this._for(new ln(s,a,r,o),()=>n(a))}forOf(t,r,o,n=Ie.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let a=r instanceof U.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,U._)`${a}.length`,i=>{this.var(s,(0,U._)`${a}[${i}]`),o(s)})}return this._for(new Br("of",n,s,r),()=>o(s))}forIn(t,r,o,n=this.opts.es5?Ie.varKinds.var:Ie.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,U._)`Object.keys(${r})`,o);let s=this._scope.toName(t);return this._for(new Br("in",n,s,r),()=>o(s))}endFor(){return this._endBlockNode(st)}label(t){return this._leafNode(new rn(t))}break(t){return this._leafNode(new on(t))}return(t){let r=new Gt;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Gt)}try(t,r,o){if(!r&&!o)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new un;if(this._blockNode(n),this.code(t),r){let s=this.name("e");this._currNode=n.catch=new Ft(s),r(s)}return o&&(this._currNode=n.finally=new Kt,this.code(o)),this._endBlockNode(Ft,Kt)}throw(t){return this._leafNode(new nn(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let o=this._nodes.length-r;if(o<0||t!==void 0&&o!==t)throw new Error(`CodeGen: wrong number of nodes: ${o} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=U.nil,o,n){return this._blockNode(new zt(t,r,o)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(zt)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let o=this._currNode;if(o instanceof t||r&&o instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof nt))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};N.CodeGen=dn;function at(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Vr(e,t){return t instanceof U._CodeOrName?at(e,t.names):e}function yt(e,t,r){if(e instanceof U.Name)return o(e);if(!n(e))return e;return new U._Code(e._items.reduce((s,a)=>(a instanceof U.Name&&(a=o(a)),a instanceof U._Code?s.push(...a._items):s.push(a),s),[]));function o(s){let a=r[s.str];return a===void 0||t[s.str]!==1?s:(delete t[s.str],a)}function n(s){return s instanceof U._Code&&s._items.some(a=>a instanceof U.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function ku(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Sa(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,U._)`!${fn(e)}`}N.not=Sa;var Su=Oa(N.operators.AND);function Ou(...e){return e.reduce(Su)}N.and=Ou;var Iu=Oa(N.operators.OR);function Pu(...e){return e.reduce(Iu)}N.or=Pu;function Oa(e){return(t,r)=>t===U.nil?r:r===U.nil?t:(0,U._)`${fn(t)} ${e} ${fn(r)}`}function fn(e){return e instanceof U.Name?e:(0,U._)`(${e})`}});var j=C(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 J=A(),Au=Bt();function xu(e){let t={};for(let r of e)t[r]=!0;return t}L.toHash=xu;function Mu(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(Aa(e,t),!xa(t,e.self.RULES.all))}L.alwaysValidSchema=Mu;function Aa(e,t=e.schema){let{opts:r,self:o}=e;if(!r.strictSchema||typeof t=="boolean")return;let n=o.RULES.keywords;for(let s in t)n[s]||La(e,`unknown keyword: "${s}"`)}L.checkUnknownRules=Aa;function xa(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}L.schemaHasRules=xa;function Nu(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}L.schemaHasRulesButRef=Nu;function Lu({topSchemaRef:e,schemaPath:t},r,o,n){if(!n){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,J._)`${r}`}return(0,J._)`${e}${t}${(0,J.getProperty)(o)}`}L.schemaRefOrVal=Lu;function ju(e){return Ma(decodeURIComponent(e))}L.unescapeFragment=ju;function Du(e){return encodeURIComponent(mn(e))}L.escapeFragment=Du;function mn(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}L.escapeJsonPointer=mn;function Ma(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}L.unescapeJsonPointer=Ma;function qu(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}L.eachItem=qu;function Ia({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:o}){return(n,s,a,i)=>{let c=a===void 0?s:a instanceof J.Name?(s instanceof J.Name?e(n,s,a):t(n,s,a),a):s instanceof J.Name?(t(n,a,s),s):r(s,a);return i===J.Name&&!(c instanceof J.Name)?o(n,c):c}}L.mergeEvaluated={props:Ia({mergeNames:(e,t,r)=>e.if((0,J._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,J._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,J._)`${r} || {}`).code((0,J._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,J._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,J._)`${r} || {}`),hn(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:Na}),items:Ia({mergeNames:(e,t,r)=>e.if((0,J._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,J._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,J._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,J._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function Na(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,J._)`{}`);return t!==void 0&&hn(e,r,t),r}L.evaluatedPropsToName=Na;function hn(e,t,r){Object.keys(r).forEach(o=>e.assign((0,J._)`${t}${(0,J.getProperty)(o)}`,!0))}L.setEvaluated=hn;var Pa={};function Uu(e,t){return e.scopeValue("func",{ref:t,code:Pa[t.code]||(Pa[t.code]=new Au._Code(t.code))})}L.useFunc=Uu;var pn;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(pn||(L.Type=pn={}));function Bu(e,t,r){if(e instanceof J.Name){let o=t===pn.Num;return r?o?(0,J._)`"[" + ${e} + "]"`:(0,J._)`"['" + ${e} + "']"`:o?(0,J._)`"/" + ${e}`:(0,J._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,J.getProperty)(e).toString():"/"+mn(e)}L.getErrorPath=Bu;function La(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}L.checkStrictMode=La});var we=C(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});var fe=A(),Vu={data:new fe.Name("data"),valCxt:new fe.Name("valCxt"),instancePath:new fe.Name("instancePath"),parentData:new fe.Name("parentData"),parentDataProperty:new fe.Name("parentDataProperty"),rootData:new fe.Name("rootData"),dynamicAnchors:new fe.Name("dynamicAnchors"),vErrors:new fe.Name("vErrors"),errors:new fe.Name("errors"),this:new fe.Name("this"),self:new fe.Name("self"),scope:new fe.Name("scope"),json:new fe.Name("json"),jsonPos:new fe.Name("jsonPos"),jsonLen:new fe.Name("jsonLen"),jsonPart:new fe.Name("jsonPart")};gn.default=Vu});var Ht=C(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.extendErrors=pe.resetErrorsCount=pe.reportExtraError=pe.reportError=pe.keyword$DataError=pe.keywordError=void 0;var V=A(),Gr=j(),he=we();pe.keywordError={message:({keyword:e})=>(0,V.str)`must pass "${e}" keyword validation`};pe.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,V.str)`"${e}" keyword must be ${t} ($data)`:(0,V.str)`"${e}" keyword is invalid ($data)`};function zu(e,t=pe.keywordError,r,o){let{it:n}=e,{gen:s,compositeRule:a,allErrors:i}=n,c=qa(e,t,r);o??(a||i)?ja(s,c):Da(n,(0,V._)`[${c}]`)}pe.reportError=zu;function Gu(e,t=pe.keywordError,r){let{it:o}=e,{gen:n,compositeRule:s,allErrors:a}=o,i=qa(e,t,r);ja(n,i),s||a||Da(o,he.default.vErrors)}pe.reportExtraError=Gu;function Fu(e,t){e.assign(he.default.errors,t),e.if((0,V._)`${he.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,V._)`${he.default.vErrors}.length`,t),()=>e.assign(he.default.vErrors,null)))}pe.resetErrorsCount=Fu;function Ku({gen:e,keyword:t,schemaValue:r,data:o,errsCount:n,it:s}){if(n===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",n,he.default.errors,i=>{e.const(a,(0,V._)`${he.default.vErrors}[${i}]`),e.if((0,V._)`${a}.instancePath === undefined`,()=>e.assign((0,V._)`${a}.instancePath`,(0,V.strConcat)(he.default.instancePath,s.errorPath))),e.assign((0,V._)`${a}.schemaPath`,(0,V.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,V._)`${a}.schema`,r),e.assign((0,V._)`${a}.data`,o))})}pe.extendErrors=Ku;function ja(e,t){let r=e.const("err",t);e.if((0,V._)`${he.default.vErrors} === null`,()=>e.assign(he.default.vErrors,(0,V._)`[${r}]`),(0,V._)`${he.default.vErrors}.push(${r})`),e.code((0,V._)`${he.default.errors}++`)}function Da(e,t){let{gen:r,validateName:o,schemaEnv:n}=e;n.$async?r.throw((0,V._)`new ${e.ValidationError}(${t})`):(r.assign((0,V._)`${o}.errors`,t),r.return(!1))}var it={keyword:new V.Name("keyword"),schemaPath:new V.Name("schemaPath"),params:new V.Name("params"),propertyName:new V.Name("propertyName"),message:new V.Name("message"),schema:new V.Name("schema"),parentSchema:new V.Name("parentSchema")};function qa(e,t,r){let{createErrors:o}=e.it;return o===!1?(0,V._)`{}`:Hu(e,t,r)}function Hu(e,t,r={}){let{gen:o,it:n}=e,s=[Wu(n,r),Ju(e,r)];return Qu(e,t,s),o.object(...s)}function Wu({errorPath:e},{instancePath:t}){let r=t?(0,V.str)`${e}${(0,Gr.getErrorPath)(t,Gr.Type.Str)}`:e;return[he.default.instancePath,(0,V.strConcat)(he.default.instancePath,r)]}function Ju({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:o}){let n=o?t:(0,V.str)`${t}/${e}`;return r&&(n=(0,V.str)`${n}${(0,Gr.getErrorPath)(r,Gr.Type.Str)}`),[it.schemaPath,n]}function Qu(e,{params:t,message:r},o){let{keyword:n,data:s,schemaValue:a,it:i}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=i;o.push([it.keyword,n],[it.params,typeof t=="function"?t(e):t||(0,V._)`{}`]),c.messages&&o.push([it.message,typeof r=="function"?r(e):r]),c.verbose&&o.push([it.schema,a],[it.parentSchema,(0,V._)`${u}${d}`],[he.default.data,s]),l&&o.push([it.propertyName,l])}});var Ba=C(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.boolOrEmptySchema=_t.topBoolOrEmptySchema=void 0;var Yu=Ht(),Xu=A(),Zu=we(),ed={message:"boolean schema is false"};function td(e){let{gen:t,schema:r,validateName:o}=e;r===!1?Ua(e,!1):typeof r=="object"&&r.$async===!0?t.return(Zu.default.data):(t.assign((0,Xu._)`${o}.errors`,null),t.return(!0))}_t.topBoolOrEmptySchema=td;function rd(e,t){let{gen:r,schema:o}=e;o===!1?(r.var(t,!1),Ua(e)):r.var(t,!0)}_t.boolOrEmptySchema=rd;function Ua(e,t){let{gen:r,data:o}=e,n={gen:r,keyword:"false schema",data:o,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Yu.reportError)(n,ed,void 0,t)}});var yn=C(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.getRules=Tt.isJSONType=void 0;var od=["string","number","integer","boolean","null","object","array"],nd=new Set(od);function sd(e){return typeof e=="string"&&nd.has(e)}Tt.isJSONType=sd;function ad(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Tt.getRules=ad});var _n=C(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.shouldUseRule=Ge.shouldUseGroup=Ge.schemaHasRulesForType=void 0;function id({schema:e,self:t},r){let o=t.RULES.types[r];return o&&o!==!0&&Va(e,o)}Ge.schemaHasRulesForType=id;function Va(e,t){return t.rules.some(r=>za(e,r))}Ge.shouldUseGroup=Va;function za(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(o=>e[o]!==void 0))}Ge.shouldUseRule=za});var Wt=C(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.reportTypeError=me.checkDataTypes=me.checkDataType=me.coerceAndCheckDataType=me.getJSONTypes=me.getSchemaTypes=me.DataType=void 0;var cd=yn(),ld=_n(),ud=Ht(),M=A(),Ga=j(),vt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(vt||(me.DataType=vt={}));function dd(e){let t=Fa(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}me.getSchemaTypes=dd;function Fa(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(cd.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}me.getJSONTypes=Fa;function fd(e,t){let{gen:r,data:o,opts:n}=e,s=pd(t,n.coerceTypes),a=t.length>0&&!(s.length===0&&t.length===1&&(0,ld.schemaHasRulesForType)(e,t[0]));if(a){let i=vn(t,o,n.strictNumbers,vt.Wrong);r.if(i,()=>{s.length?md(e,t,s):Cn(e)})}return a}me.coerceAndCheckDataType=fd;var Ka=new Set(["string","number","integer","boolean","null"]);function pd(e,t){return t?e.filter(r=>Ka.has(r)||t==="array"&&r==="array"):[]}function md(e,t,r){let{gen:o,data:n,opts:s}=e,a=o.let("dataType",(0,M._)`typeof ${n}`),i=o.let("coerced",(0,M._)`undefined`);s.coerceTypes==="array"&&o.if((0,M._)`${a} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>o.assign(n,(0,M._)`${n}[0]`).assign(a,(0,M._)`typeof ${n}`).if(vn(t,n,s.strictNumbers),()=>o.assign(i,n))),o.if((0,M._)`${i} !== undefined`);for(let l of r)(Ka.has(l)||l==="array"&&s.coerceTypes==="array")&&c(l);o.else(),Cn(e),o.endIf(),o.if((0,M._)`${i} !== undefined`,()=>{o.assign(n,i),hd(e,i)});function c(l){switch(l){case"string":o.elseIf((0,M._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0,M._)`"" + ${n}`).elseIf((0,M._)`${n} === null`).assign(i,(0,M._)`""`);return;case"number":o.elseIf((0,M._)`${a} == "boolean" || ${n} === null
1
+ var eu=Object.create;var Ea=Object.defineProperty;var tu=Object.getOwnPropertyDescriptor;var ru=Object.getOwnPropertyNames;var ou=Object.getPrototypeOf,nu=Object.prototype.hasOwnProperty;var C=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var su=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ru(t))!nu.call(e,n)&&n!==r&&Ea(e,n,{get:()=>t[n],enumerable:!(o=tu(t,n))||o.enumerable});return e};var au=(e,t,r)=>(r=e!=null?eu(ou(e)):{},su(t||!e||!e.__esModule?Ea(r,"default",{value:e,enumerable:!0}):r,e));var Vt=C(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 qt=class{};F._CodeOrName=qt;F.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var ot=class extends qt{constructor(t){if(super(),!F.IDENTIFIER.test(t))throw new Error("CodeGen: name must be a valid identifier");this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};F.Name=ot;var be=class extends qt{constructor(t){super(),this._items=typeof t=="string"?[t]:t}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let t=this._items[0];return t===""||t==='""'}get str(){var t;return(t=this._str)!==null&&t!==void 0?t:this._str=this._items.reduce((r,o)=>`${r}${o}`,"")}get names(){var t;return(t=this._names)!==null&&t!==void 0?t:this._names=this._items.reduce((r,o)=>(o instanceof ot&&(r[o.str]=(r[o.str]||0)+1),r),{})}};F._Code=be;F.nil=new be("");function ka(e,...t){let r=[e[0]],o=0;for(;o<t.length;)Qo(r,t[o]),r.push(e[++o]);return new be(r)}F._=ka;var Jo=new be("+");function Sa(e,...t){let r=[Ut(e[0])],o=0;for(;o<t.length;)r.push(Jo),Qo(r,t[o]),r.push(Jo,Ut(e[++o]));return Tu(r),new be(r)}F.str=Sa;function Qo(e,t){t instanceof be?e.push(...t._items):t instanceof ot?e.push(t):e.push(Eu(t))}F.addCodeArg=Qo;function Tu(e){let t=1;for(;t<e.length-1;){if(e[t]===Jo){let r=vu(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function vu(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string")return t instanceof ot||e[e.length-1]!=='"'?void 0:typeof t!="string"?`${e.slice(0,-1)}${t}"`:t[0]==='"'?e.slice(0,-1)+t.slice(1):void 0;if(typeof t=="string"&&t[0]==='"'&&!(e instanceof ot))return`"${e}${t.slice(1)}`}function Cu(e,t){return t.emptyStr()?e:e.emptyStr()?t:Sa`${e}${t}`}F.strConcat=Cu;function Eu(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Ut(Array.isArray(e)?e.join(","):e)}function bu(e){return new be(Ut(e))}F.stringify=bu;function Ut(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}F.safeStringify=Ut;function wu(e){return typeof e=="string"&&F.IDENTIFIER.test(e)?new be(`.${e}`):ka`[${e}]`}F.getProperty=wu;function $u(e){if(typeof e=="string"&&F.IDENTIFIER.test(e))return new be(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}F.getEsmExportName=$u;function Ru(e){return new be(e.toString())}F.regexpCode=Ru});var Zo=C(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.ValueScope=_e.ValueScopeName=_e.Scope=_e.varKinds=_e.UsedValueState=void 0;var ye=Vt(),Yo=class extends Error{constructor(t){super(`CodeGen: "code" for ${t} not defined`),this.value=t.value}},jr;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(jr||(_e.UsedValueState=jr={}));_e.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};var Dr=class{constructor({prefixes:t,parent:r}={}){this._names={},this._prefixes=t,this._parent=r}toName(t){return t instanceof ye.Name?t:this.name(t)}name(t){return new ye.Name(this._newName(t))}_newName(t){let r=this._names[t]||this._nameGroup(t);return`${t}${r.index++}`}_nameGroup(t){var r,o;if(!((o=(r=this._parent)===null||r===void 0?void 0:r._prefixes)===null||o===void 0)&&o.has(t)||this._prefixes&&!this._prefixes.has(t))throw new Error(`CodeGen: prefix "${t}" is not allowed in this scope`);return this._names[t]={prefix:t,index:0}}};_e.Scope=Dr;var qr=class extends ye.Name{constructor(t,r){super(r),this.prefix=t}setValue(t,{property:r,itemIndex:o}){this.value=t,this.scopePath=(0,ye._)`.${new ye.Name(r)}[${o}]`}};_e.ValueScopeName=qr;var ku=(0,ye._)`\n`,Xo=class extends Dr{constructor(t){super(t),this._values={},this._scope=t.scope,this.opts={...t,_n:t.lines?ku:ye.nil}}get(){return this._scope}name(t){return new qr(t,this._newName(t))}value(t,r){var o;if(r.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(t),{prefix:s}=n,a=(o=r.key)!==null&&o!==void 0?o:r.ref,i=this._values[s];if(i){let u=i.get(a);if(u)return u}else i=this._values[s]=new Map;i.set(a,n);let c=this._scope[s]||(this._scope[s]=[]),l=c.length;return c[l]=r.ref,n.setValue(r,{property:s,itemIndex:l}),n}getValue(t,r){let o=this._values[t];if(o)return o.get(r)}scopeRefs(t,r=this._values){return this._reduceValues(r,o=>{if(o.scopePath===void 0)throw new Error(`CodeGen: name "${o}" has no value`);return(0,ye._)`${t}${o.scopePath}`})}scopeCode(t=this._values,r,o){return this._reduceValues(t,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},r,o)}_reduceValues(t,r,o={},n){let s=ye.nil;for(let a in t){let i=t[a];if(!i)continue;let c=o[a]=o[a]||new Map;i.forEach(l=>{if(c.has(l))return;c.set(l,jr.Started);let u=r(l);if(u){let d=this.opts.es5?_e.varKinds.var:_e.varKinds.const;s=(0,ye._)`${s}${d} ${l} = ${u};${this.opts._n}`}else if(u=n?.(l))s=(0,ye._)`${s}${u}${this.opts._n}`;else throw new Yo(l);c.set(l,jr.Completed)})}return s}};_e.ValueScope=Xo});var A=C(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.or=N.and=N.not=N.CodeGen=N.operators=N.varKinds=N.ValueScopeName=N.ValueScope=N.Scope=N.Name=N.regexpCode=N.stringify=N.getProperty=N.nil=N.strConcat=N.str=N._=void 0;var U=Vt(),Ie=Zo(),ze=Vt();Object.defineProperty(N,"_",{enumerable:!0,get:function(){return ze._}});Object.defineProperty(N,"str",{enumerable:!0,get:function(){return ze.str}});Object.defineProperty(N,"strConcat",{enumerable:!0,get:function(){return ze.strConcat}});Object.defineProperty(N,"nil",{enumerable:!0,get:function(){return ze.nil}});Object.defineProperty(N,"getProperty",{enumerable:!0,get:function(){return ze.getProperty}});Object.defineProperty(N,"stringify",{enumerable:!0,get:function(){return ze.stringify}});Object.defineProperty(N,"regexpCode",{enumerable:!0,get:function(){return ze.regexpCode}});Object.defineProperty(N,"Name",{enumerable:!0,get:function(){return ze.Name}});var zr=Zo();Object.defineProperty(N,"Scope",{enumerable:!0,get:function(){return zr.Scope}});Object.defineProperty(N,"ValueScope",{enumerable:!0,get:function(){return zr.ValueScope}});Object.defineProperty(N,"ValueScopeName",{enumerable:!0,get:function(){return zr.ValueScopeName}});Object.defineProperty(N,"varKinds",{enumerable:!0,get:function(){return zr.varKinds}});N.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 De=class{optimizeNodes(){return this}optimizeNames(t,r){return this}},en=class extends De{constructor(t,r,o){super(),this.varKind=t,this.name=r,this.rhs=o}render({es5:t,_n:r}){let o=t?Ie.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${o} ${this.name}${n};`+r}optimizeNames(t,r){if(t[this.name.str])return this.rhs&&(this.rhs=yt(this.rhs,t,r)),this}get names(){return this.rhs instanceof U._CodeOrName?this.rhs.names:{}}},Ur=class extends De{constructor(t,r,o){super(),this.lhs=t,this.rhs=r,this.sideEffects=o}render({_n:t}){return`${this.lhs} = ${this.rhs};`+t}optimizeNames(t,r){if(!(this.lhs instanceof U.Name&&!t[this.lhs.str]&&!this.sideEffects))return this.rhs=yt(this.rhs,t,r),this}get names(){let t=this.lhs instanceof U.Name?{}:{...this.lhs.names};return Br(t,this.rhs)}},tn=class extends Ur{constructor(t,r,o,n){super(t,o,n),this.op=r}render({_n:t}){return`${this.lhs} ${this.op}= ${this.rhs};`+t}},rn=class extends De{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`${this.label}:`+t}},on=class extends De{constructor(t){super(),this.label=t,this.names={}}render({_n:t}){return`break${this.label?` ${this.label}`:""};`+t}},nn=class extends De{constructor(t){super(),this.error=t}render({_n:t}){return`throw ${this.error};`+t}get names(){return this.error.names}},sn=class extends De{constructor(t){super(),this.code=t}render({_n:t}){return`${this.code};`+t}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(t,r){return this.code=yt(this.code,t,r),this}get names(){return this.code instanceof U._CodeOrName?this.code.names:{}}},Bt=class extends De{constructor(t=[]){super(),this.nodes=t}render(t){return this.nodes.reduce((r,o)=>r+o.render(t),"")}optimizeNodes(){let{nodes:t}=this,r=t.length;for(;r--;){let o=t[r].optimizeNodes();Array.isArray(o)?t.splice(r,1,...o):o?t[r]=o:t.splice(r,1)}return t.length>0?this:void 0}optimizeNames(t,r){let{nodes:o}=this,n=o.length;for(;n--;){let s=o[n];s.optimizeNames(t,r)||(Su(t,s.names),o.splice(n,1))}return o.length>0?this:void 0}get names(){return this.nodes.reduce((t,r)=>at(t,r.names),{})}},qe=class extends Bt{render(t){return"{"+t._n+super.render(t)+"}"+t._n}},an=class extends Bt{},gt=class extends qe{};gt.kind="else";var nt=class e extends qe{constructor(t,r){super(r),this.condition=t}render(t){let r=`if(${this.condition})`+super.render(t);return this.else&&(r+="else "+this.else.render(t)),r}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let r=this.else;if(r){let o=r.optimizeNodes();r=this.else=Array.isArray(o)?new gt(o):o}if(r)return t===!1?r instanceof e?r:r.nodes:this.nodes.length?this:new e(Oa(t),r instanceof e?[r]:r.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,r){var o;if(this.else=(o=this.else)===null||o===void 0?void 0:o.optimizeNames(t,r),!!(super.optimizeNames(t,r)||this.else))return this.condition=yt(this.condition,t,r),this}get names(){let t=super.names;return Br(t,this.condition),this.else&&at(t,this.else.names),t}};nt.kind="if";var st=class extends qe{};st.kind="for";var cn=class extends st{constructor(t){super(),this.iteration=t}render(t){return`for(${this.iteration})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iteration=yt(this.iteration,t,r),this}get names(){return at(super.names,this.iteration.names)}},ln=class extends st{constructor(t,r,o,n){super(),this.varKind=t,this.name=r,this.from=o,this.to=n}render(t){let r=t.es5?Ie.varKinds.var:this.varKind,{name:o,from:n,to:s}=this;return`for(${r} ${o}=${n}; ${o}<${s}; ${o}++)`+super.render(t)}get names(){let t=Br(super.names,this.from);return Br(t,this.to)}},Vr=class extends st{constructor(t,r,o,n){super(),this.loop=t,this.varKind=r,this.name=o,this.iterable=n}render(t){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(t)}optimizeNames(t,r){if(super.optimizeNames(t,r))return this.iterable=yt(this.iterable,t,r),this}get names(){return at(super.names,this.iterable.names)}},zt=class extends qe{constructor(t,r,o){super(),this.name=t,this.args=r,this.async=o}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}};zt.kind="func";var Gt=class extends Bt{render(t){return"return "+super.render(t)}};Gt.kind="return";var un=class extends qe{render(t){let r="try"+super.render(t);return this.catch&&(r+=this.catch.render(t)),this.finally&&(r+=this.finally.render(t)),r}optimizeNodes(){var t,r;return super.optimizeNodes(),(t=this.catch)===null||t===void 0||t.optimizeNodes(),(r=this.finally)===null||r===void 0||r.optimizeNodes(),this}optimizeNames(t,r){var o,n;return super.optimizeNames(t,r),(o=this.catch)===null||o===void 0||o.optimizeNames(t,r),(n=this.finally)===null||n===void 0||n.optimizeNames(t,r),this}get names(){let t=super.names;return this.catch&&at(t,this.catch.names),this.finally&&at(t,this.finally.names),t}},Ft=class extends qe{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}};Ft.kind="catch";var Kt=class extends qe{render(t){return"finally"+super.render(t)}};Kt.kind="finally";var dn=class{constructor(t,r={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...r,_n:r.lines?`
2
+ `:""},this._extScope=t,this._scope=new Ie.Scope({parent:t}),this._nodes=[new an]}toString(){return this._root.render(this.opts)}name(t){return this._scope.name(t)}scopeName(t){return this._extScope.name(t)}scopeValue(t,r){let o=this._extScope.value(t,r);return(this._values[o.prefix]||(this._values[o.prefix]=new Set)).add(o),o}getScopeValue(t,r){return this._extScope.getValue(t,r)}scopeRefs(t){return this._extScope.scopeRefs(t,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(t,r,o,n){let s=this._scope.toName(r);return o!==void 0&&n&&(this._constants[s.str]=o),this._leafNode(new en(t,s,o)),s}const(t,r,o){return this._def(Ie.varKinds.const,t,r,o)}let(t,r,o){return this._def(Ie.varKinds.let,t,r,o)}var(t,r,o){return this._def(Ie.varKinds.var,t,r,o)}assign(t,r,o){return this._leafNode(new Ur(t,r,o))}add(t,r){return this._leafNode(new tn(t,N.operators.ADD,r))}code(t){return typeof t=="function"?t():t!==U.nil&&this._leafNode(new sn(t)),this}object(...t){let r=["{"];for(let[o,n]of t)r.length>1&&r.push(","),r.push(o),(o!==n||this.opts.es5)&&(r.push(":"),(0,U.addCodeArg)(r,n));return r.push("}"),new U._Code(r)}if(t,r,o){if(this._blockNode(new nt(t)),r&&o)this.code(r).else().code(o).endIf();else if(r)this.code(r).endIf();else if(o)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(t){return this._elseNode(new nt(t))}else(){return this._elseNode(new gt)}endIf(){return this._endBlockNode(nt,gt)}_for(t,r){return this._blockNode(t),r&&this.code(r).endFor(),this}for(t,r){return this._for(new cn(t),r)}forRange(t,r,o,n,s=this.opts.es5?Ie.varKinds.var:Ie.varKinds.let){let a=this._scope.toName(t);return this._for(new ln(s,a,r,o),()=>n(a))}forOf(t,r,o,n=Ie.varKinds.const){let s=this._scope.toName(t);if(this.opts.es5){let a=r instanceof U.Name?r:this.var("_arr",r);return this.forRange("_i",0,(0,U._)`${a}.length`,i=>{this.var(s,(0,U._)`${a}[${i}]`),o(s)})}return this._for(new Vr("of",n,s,r),()=>o(s))}forIn(t,r,o,n=this.opts.es5?Ie.varKinds.var:Ie.varKinds.const){if(this.opts.ownProperties)return this.forOf(t,(0,U._)`Object.keys(${r})`,o);let s=this._scope.toName(t);return this._for(new Vr("in",n,s,r),()=>o(s))}endFor(){return this._endBlockNode(st)}label(t){return this._leafNode(new rn(t))}break(t){return this._leafNode(new on(t))}return(t){let r=new Gt;if(this._blockNode(r),this.code(t),r.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Gt)}try(t,r,o){if(!r&&!o)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new un;if(this._blockNode(n),this.code(t),r){let s=this.name("e");this._currNode=n.catch=new Ft(s),r(s)}return o&&(this._currNode=n.finally=new Kt,this.code(o)),this._endBlockNode(Ft,Kt)}throw(t){return this._leafNode(new nn(t))}block(t,r){return this._blockStarts.push(this._nodes.length),t&&this.code(t).endBlock(r),this}endBlock(t){let r=this._blockStarts.pop();if(r===void 0)throw new Error("CodeGen: not in self-balancing block");let o=this._nodes.length-r;if(o<0||t!==void 0&&o!==t)throw new Error(`CodeGen: wrong number of nodes: ${o} vs ${t} expected`);return this._nodes.length=r,this}func(t,r=U.nil,o,n){return this._blockNode(new zt(t,r,o)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(zt)}optimize(t=1){for(;t-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(t){return this._currNode.nodes.push(t),this}_blockNode(t){this._currNode.nodes.push(t),this._nodes.push(t)}_endBlockNode(t,r){let o=this._currNode;if(o instanceof t||r&&o instanceof r)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${r?`${t.kind}/${r.kind}`:t.kind}"`)}_elseNode(t){let r=this._currNode;if(!(r instanceof nt))throw new Error('CodeGen: "else" without "if"');return this._currNode=r.else=t,this}get _root(){return this._nodes[0]}get _currNode(){let t=this._nodes;return t[t.length-1]}set _currNode(t){let r=this._nodes;r[r.length-1]=t}};N.CodeGen=dn;function at(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Br(e,t){return t instanceof U._CodeOrName?at(e,t.names):e}function yt(e,t,r){if(e instanceof U.Name)return o(e);if(!n(e))return e;return new U._Code(e._items.reduce((s,a)=>(a instanceof U.Name&&(a=o(a)),a instanceof U._Code?s.push(...a._items):s.push(a),s),[]));function o(s){let a=r[s.str];return a===void 0||t[s.str]!==1?s:(delete t[s.str],a)}function n(s){return s instanceof U._Code&&s._items.some(a=>a instanceof U.Name&&t[a.str]===1&&r[a.str]!==void 0)}}function Su(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function Oa(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,U._)`!${fn(e)}`}N.not=Oa;var Ou=Ia(N.operators.AND);function Iu(...e){return e.reduce(Ou)}N.and=Iu;var Pu=Ia(N.operators.OR);function Au(...e){return e.reduce(Pu)}N.or=Au;function Ia(e){return(t,r)=>t===U.nil?r:r===U.nil?t:(0,U._)`${fn(t)} ${e} ${fn(r)}`}function fn(e){return e instanceof U.Name?e:(0,U._)`(${e})`}});var j=C(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 J=A(),xu=Vt();function Mu(e){let t={};for(let r of e)t[r]=!0;return t}L.toHash=Mu;function Nu(e,t){return typeof t=="boolean"?t:Object.keys(t).length===0?!0:(xa(e,t),!Ma(t,e.self.RULES.all))}L.alwaysValidSchema=Nu;function xa(e,t=e.schema){let{opts:r,self:o}=e;if(!r.strictSchema||typeof t=="boolean")return;let n=o.RULES.keywords;for(let s in t)n[s]||ja(e,`unknown keyword: "${s}"`)}L.checkUnknownRules=xa;function Ma(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}L.schemaHasRules=Ma;function Lu(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}L.schemaHasRulesButRef=Lu;function ju({topSchemaRef:e,schemaPath:t},r,o,n){if(!n){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return(0,J._)`${r}`}return(0,J._)`${e}${t}${(0,J.getProperty)(o)}`}L.schemaRefOrVal=ju;function Du(e){return Na(decodeURIComponent(e))}L.unescapeFragment=Du;function qu(e){return encodeURIComponent(mn(e))}L.escapeFragment=qu;function mn(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}L.escapeJsonPointer=mn;function Na(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}L.unescapeJsonPointer=Na;function Uu(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}L.eachItem=Uu;function Pa({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:o}){return(n,s,a,i)=>{let c=a===void 0?s:a instanceof J.Name?(s instanceof J.Name?e(n,s,a):t(n,s,a),a):s instanceof J.Name?(t(n,a,s),s):r(s,a);return i===J.Name&&!(c instanceof J.Name)?o(n,c):c}}L.mergeEvaluated={props:Pa({mergeNames:(e,t,r)=>e.if((0,J._)`${r} !== true && ${t} !== undefined`,()=>{e.if((0,J._)`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,J._)`${r} || {}`).code((0,J._)`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if((0,J._)`${r} !== true`,()=>{t===!0?e.assign(r,!0):(e.assign(r,(0,J._)`${r} || {}`),hn(e,r,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:La}),items:Pa({mergeNames:(e,t,r)=>e.if((0,J._)`${r} !== true && ${t} !== undefined`,()=>e.assign(r,(0,J._)`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if((0,J._)`${r} !== true`,()=>e.assign(r,t===!0?!0:(0,J._)`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function La(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",(0,J._)`{}`);return t!==void 0&&hn(e,r,t),r}L.evaluatedPropsToName=La;function hn(e,t,r){Object.keys(r).forEach(o=>e.assign((0,J._)`${t}${(0,J.getProperty)(o)}`,!0))}L.setEvaluated=hn;var Aa={};function Vu(e,t){return e.scopeValue("func",{ref:t,code:Aa[t.code]||(Aa[t.code]=new xu._Code(t.code))})}L.useFunc=Vu;var pn;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(pn||(L.Type=pn={}));function Bu(e,t,r){if(e instanceof J.Name){let o=t===pn.Num;return r?o?(0,J._)`"[" + ${e} + "]"`:(0,J._)`"['" + ${e} + "']"`:o?(0,J._)`"/" + ${e}`:(0,J._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,J.getProperty)(e).toString():"/"+mn(e)}L.getErrorPath=Bu;function ja(e,t,r=e.opts.strictSchema){if(r){if(t=`strict mode: ${t}`,r===!0)throw new Error(t);e.self.logger.warn(t)}}L.checkStrictMode=ja});var we=C(gn=>{"use strict";Object.defineProperty(gn,"__esModule",{value:!0});var fe=A(),zu={data:new fe.Name("data"),valCxt:new fe.Name("valCxt"),instancePath:new fe.Name("instancePath"),parentData:new fe.Name("parentData"),parentDataProperty:new fe.Name("parentDataProperty"),rootData:new fe.Name("rootData"),dynamicAnchors:new fe.Name("dynamicAnchors"),vErrors:new fe.Name("vErrors"),errors:new fe.Name("errors"),this:new fe.Name("this"),self:new fe.Name("self"),scope:new fe.Name("scope"),json:new fe.Name("json"),jsonPos:new fe.Name("jsonPos"),jsonLen:new fe.Name("jsonLen"),jsonPart:new fe.Name("jsonPart")};gn.default=zu});var Ht=C(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.extendErrors=pe.resetErrorsCount=pe.reportExtraError=pe.reportError=pe.keyword$DataError=pe.keywordError=void 0;var B=A(),Gr=j(),he=we();pe.keywordError={message:({keyword:e})=>(0,B.str)`must pass "${e}" keyword validation`};pe.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,B.str)`"${e}" keyword must be ${t} ($data)`:(0,B.str)`"${e}" keyword is invalid ($data)`};function Gu(e,t=pe.keywordError,r,o){let{it:n}=e,{gen:s,compositeRule:a,allErrors:i}=n,c=Ua(e,t,r);o??(a||i)?Da(s,c):qa(n,(0,B._)`[${c}]`)}pe.reportError=Gu;function Fu(e,t=pe.keywordError,r){let{it:o}=e,{gen:n,compositeRule:s,allErrors:a}=o,i=Ua(e,t,r);Da(n,i),s||a||qa(o,he.default.vErrors)}pe.reportExtraError=Fu;function Ku(e,t){e.assign(he.default.errors,t),e.if((0,B._)`${he.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,B._)`${he.default.vErrors}.length`,t),()=>e.assign(he.default.vErrors,null)))}pe.resetErrorsCount=Ku;function Hu({gen:e,keyword:t,schemaValue:r,data:o,errsCount:n,it:s}){if(n===void 0)throw new Error("ajv implementation error");let a=e.name("err");e.forRange("i",n,he.default.errors,i=>{e.const(a,(0,B._)`${he.default.vErrors}[${i}]`),e.if((0,B._)`${a}.instancePath === undefined`,()=>e.assign((0,B._)`${a}.instancePath`,(0,B.strConcat)(he.default.instancePath,s.errorPath))),e.assign((0,B._)`${a}.schemaPath`,(0,B.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,B._)`${a}.schema`,r),e.assign((0,B._)`${a}.data`,o))})}pe.extendErrors=Hu;function Da(e,t){let r=e.const("err",t);e.if((0,B._)`${he.default.vErrors} === null`,()=>e.assign(he.default.vErrors,(0,B._)`[${r}]`),(0,B._)`${he.default.vErrors}.push(${r})`),e.code((0,B._)`${he.default.errors}++`)}function qa(e,t){let{gen:r,validateName:o,schemaEnv:n}=e;n.$async?r.throw((0,B._)`new ${e.ValidationError}(${t})`):(r.assign((0,B._)`${o}.errors`,t),r.return(!1))}var it={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 Ua(e,t,r){let{createErrors:o}=e.it;return o===!1?(0,B._)`{}`:Wu(e,t,r)}function Wu(e,t,r={}){let{gen:o,it:n}=e,s=[Ju(n,r),Qu(e,r)];return Yu(e,t,s),o.object(...s)}function Ju({errorPath:e},{instancePath:t}){let r=t?(0,B.str)`${e}${(0,Gr.getErrorPath)(t,Gr.Type.Str)}`:e;return[he.default.instancePath,(0,B.strConcat)(he.default.instancePath,r)]}function Qu({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:o}){let n=o?t:(0,B.str)`${t}/${e}`;return r&&(n=(0,B.str)`${n}${(0,Gr.getErrorPath)(r,Gr.Type.Str)}`),[it.schemaPath,n]}function Yu(e,{params:t,message:r},o){let{keyword:n,data:s,schemaValue:a,it:i}=e,{opts:c,propertyName:l,topSchemaRef:u,schemaPath:d}=i;o.push([it.keyword,n],[it.params,typeof t=="function"?t(e):t||(0,B._)`{}`]),c.messages&&o.push([it.message,typeof r=="function"?r(e):r]),c.verbose&&o.push([it.schema,a],[it.parentSchema,(0,B._)`${u}${d}`],[he.default.data,s]),l&&o.push([it.propertyName,l])}});var Ba=C(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.boolOrEmptySchema=_t.topBoolOrEmptySchema=void 0;var Xu=Ht(),Zu=A(),ed=we(),td={message:"boolean schema is false"};function rd(e){let{gen:t,schema:r,validateName:o}=e;r===!1?Va(e,!1):typeof r=="object"&&r.$async===!0?t.return(ed.default.data):(t.assign((0,Zu._)`${o}.errors`,null),t.return(!0))}_t.topBoolOrEmptySchema=rd;function od(e,t){let{gen:r,schema:o}=e;o===!1?(r.var(t,!1),Va(e)):r.var(t,!0)}_t.boolOrEmptySchema=od;function Va(e,t){let{gen:r,data:o}=e,n={gen:r,keyword:"false schema",data:o,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Xu.reportError)(n,td,void 0,t)}});var yn=C(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.getRules=Tt.isJSONType=void 0;var nd=["string","number","integer","boolean","null","object","array"],sd=new Set(nd);function ad(e){return typeof e=="string"&&sd.has(e)}Tt.isJSONType=ad;function id(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}Tt.getRules=id});var _n=C(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.shouldUseRule=Ge.shouldUseGroup=Ge.schemaHasRulesForType=void 0;function cd({schema:e,self:t},r){let o=t.RULES.types[r];return o&&o!==!0&&za(e,o)}Ge.schemaHasRulesForType=cd;function za(e,t){return t.rules.some(r=>Ga(e,r))}Ge.shouldUseGroup=za;function Ga(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some(o=>e[o]!==void 0))}Ge.shouldUseRule=Ga});var Wt=C(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.reportTypeError=me.checkDataTypes=me.checkDataType=me.coerceAndCheckDataType=me.getJSONTypes=me.getSchemaTypes=me.DataType=void 0;var ld=yn(),ud=_n(),dd=Ht(),M=A(),Fa=j(),vt;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(vt||(me.DataType=vt={}));function fd(e){let t=Ka(e.type);if(t.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&t.push("null")}return t}me.getSchemaTypes=fd;function Ka(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(ld.isJSONType))return t;throw new Error("type must be JSONType or JSONType[]: "+t.join(","))}me.getJSONTypes=Ka;function pd(e,t){let{gen:r,data:o,opts:n}=e,s=md(t,n.coerceTypes),a=t.length>0&&!(s.length===0&&t.length===1&&(0,ud.schemaHasRulesForType)(e,t[0]));if(a){let i=vn(t,o,n.strictNumbers,vt.Wrong);r.if(i,()=>{s.length?hd(e,t,s):Cn(e)})}return a}me.coerceAndCheckDataType=pd;var Ha=new Set(["string","number","integer","boolean","null"]);function md(e,t){return t?e.filter(r=>Ha.has(r)||t==="array"&&r==="array"):[]}function hd(e,t,r){let{gen:o,data:n,opts:s}=e,a=o.let("dataType",(0,M._)`typeof ${n}`),i=o.let("coerced",(0,M._)`undefined`);s.coerceTypes==="array"&&o.if((0,M._)`${a} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>o.assign(n,(0,M._)`${n}[0]`).assign(a,(0,M._)`typeof ${n}`).if(vn(t,n,s.strictNumbers),()=>o.assign(i,n))),o.if((0,M._)`${i} !== undefined`);for(let l of r)(Ha.has(l)||l==="array"&&s.coerceTypes==="array")&&c(l);o.else(),Cn(e),o.endIf(),o.if((0,M._)`${i} !== undefined`,()=>{o.assign(n,i),gd(e,i)});function c(l){switch(l){case"string":o.elseIf((0,M._)`${a} == "number" || ${a} == "boolean"`).assign(i,(0,M._)`"" + ${n}`).elseIf((0,M._)`${n} === null`).assign(i,(0,M._)`""`);return;case"number":o.elseIf((0,M._)`${a} == "boolean" || ${n} === null
3
3
  || (${a} == "string" && ${n} && ${n} == +${n})`).assign(i,(0,M._)`+${n}`);return;case"integer":o.elseIf((0,M._)`${a} === "boolean" || ${n} === null
4
4
  || (${a} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(i,(0,M._)`+${n}`);return;case"boolean":o.elseIf((0,M._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(i,!1).elseIf((0,M._)`${n} === "true" || ${n} === 1`).assign(i,!0);return;case"null":o.elseIf((0,M._)`${n} === "" || ${n} === 0 || ${n} === false`),o.assign(i,null);return;case"array":o.elseIf((0,M._)`${a} === "string" || ${a} === "number"
5
- || ${a} === "boolean" || ${n} === null`).assign(i,(0,M._)`[${n}]`)}}}function hd({gen:e,parentData:t,parentDataProperty:r},o){e.if((0,M._)`${t} !== undefined`,()=>e.assign((0,M._)`${t}[${r}]`,o))}function Tn(e,t,r,o=vt.Correct){let n=o===vt.Correct?M.operators.EQ:M.operators.NEQ,s;switch(e){case"null":return(0,M._)`${t} ${n} null`;case"array":s=(0,M._)`Array.isArray(${t})`;break;case"object":s=(0,M._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a((0,M._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return(0,M._)`typeof ${t} ${n} ${e}`}return o===vt.Correct?s:(0,M.not)(s);function a(i=M.nil){return(0,M.and)((0,M._)`typeof ${t} == "number"`,i,r?(0,M._)`isFinite(${t})`:M.nil)}}me.checkDataType=Tn;function vn(e,t,r,o){if(e.length===1)return Tn(e[0],t,r,o);let n,s=(0,Ga.toHash)(e);if(s.array&&s.object){let a=(0,M._)`typeof ${t} != "object"`;n=s.null?a:(0,M._)`!${t} || ${a}`,delete s.null,delete s.array,delete s.object}else n=M.nil;s.number&&delete s.integer;for(let a in s)n=(0,M.and)(n,Tn(a,t,r,o));return n}me.checkDataTypes=vn;var gd={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,M._)`{type: ${e}}`:(0,M._)`{type: ${t}}`};function Cn(e){let t=yd(e);(0,ud.reportError)(t,gd)}me.reportTypeError=Cn;function yd(e){let{gen:t,data:r,schema:o}=e,n=(0,Ga.schemaRefOrVal)(e,o,"type");return{gen:t,keyword:"type",data:r,schema:o.type,schemaCode:n,schemaValue:n,parentSchema:o,params:{},it:e}}});var Wa=C(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.assignDefaults=void 0;var Ct=A(),_d=j();function Td(e,t){let{properties:r,items:o}=e.schema;if(t==="object"&&r)for(let n in r)Ha(e,n,r[n].default);else t==="array"&&Array.isArray(o)&&o.forEach((n,s)=>Ha(e,s,n.default))}Fr.assignDefaults=Td;function Ha(e,t,r){let{gen:o,compositeRule:n,data:s,opts:a}=e;if(r===void 0)return;let i=(0,Ct._)`${s}${(0,Ct.getProperty)(t)}`;if(n){(0,_d.checkStrictMode)(e,`default is ignored for: ${i}`);return}let c=(0,Ct._)`${i} === undefined`;a.useDefaults==="empty"&&(c=(0,Ct._)`${c} || ${i} === null || ${i} === ""`),o.if(c,(0,Ct._)`${i} = ${(0,Ct.stringify)(r)}`)}});var $e=C(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.validateUnion=K.validateArray=K.usePattern=K.callValidateCode=K.schemaProperties=K.allSchemaProperties=K.noPropertyInData=K.propertyInData=K.isOwnProperty=K.hasPropFunc=K.reportMissingProp=K.checkMissingProp=K.checkReportMissingProp=void 0;var Q=A(),En=j(),Fe=we(),vd=j();function Cd(e,t){let{gen:r,data:o,it:n}=e;r.if(wn(r,o,t,n.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Q._)`${t}`},!0),e.error()})}K.checkReportMissingProp=Cd;function Ed({gen:e,data:t,it:{opts:r}},o,n){return(0,Q.or)(...o.map(s=>(0,Q.and)(wn(e,t,s,r.ownProperties),(0,Q._)`${n} = ${s}`)))}K.checkMissingProp=Ed;function bd(e,t){e.setParams({missingProperty:t},!0),e.error()}K.reportMissingProp=bd;function Ja(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Q._)`Object.prototype.hasOwnProperty`})}K.hasPropFunc=Ja;function bn(e,t,r){return(0,Q._)`${Ja(e)}.call(${t}, ${r})`}K.isOwnProperty=bn;function wd(e,t,r,o){let n=(0,Q._)`${t}${(0,Q.getProperty)(r)} !== undefined`;return o?(0,Q._)`${n} && ${bn(e,t,r)}`:n}K.propertyInData=wd;function wn(e,t,r,o){let n=(0,Q._)`${t}${(0,Q.getProperty)(r)} === undefined`;return o?(0,Q.or)(n,(0,Q.not)(bn(e,t,r))):n}K.noPropertyInData=wn;function Qa(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}K.allSchemaProperties=Qa;function $d(e,t){return Qa(t).filter(r=>!(0,En.alwaysValidSchema)(e,t[r]))}K.schemaProperties=$d;function Rd({schemaCode:e,data:t,it:{gen:r,topSchemaRef:o,schemaPath:n,errorPath:s},it:a},i,c,l){let u=l?(0,Q._)`${e}, ${t}, ${o}${n}`:t,d=[[Fe.default.instancePath,(0,Q.strConcat)(Fe.default.instancePath,s)],[Fe.default.parentData,a.parentData],[Fe.default.parentDataProperty,a.parentDataProperty],[Fe.default.rootData,Fe.default.rootData]];a.opts.dynamicRef&&d.push([Fe.default.dynamicAnchors,Fe.default.dynamicAnchors]);let g=(0,Q._)`${u}, ${r.object(...d)}`;return c!==Q.nil?(0,Q._)`${i}.call(${c}, ${g})`:(0,Q._)`${i}(${g})`}K.callValidateCode=Rd;var kd=(0,Q._)`new RegExp`;function Sd({gen:e,it:{opts:t}},r){let o=t.unicodeRegExp?"u":"",{regExp:n}=t.code,s=n(r,o);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Q._)`${n.code==="new RegExp"?kd:(0,vd.useFunc)(e,n)}(${r}, ${o})`})}K.usePattern=Sd;function Od(e){let{gen:t,data:r,keyword:o,it:n}=e,s=t.name("valid");if(n.allErrors){let i=t.let("valid",!0);return a(()=>t.assign(i,!1)),i}return t.var(s,!0),a(()=>t.break()),s;function a(i){let c=t.const("len",(0,Q._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:o,dataProp:l,dataPropType:En.Type.Num},s),t.if((0,Q.not)(s),i)})}}K.validateArray=Od;function Id(e){let{gen:t,schema:r,keyword:o,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,En.alwaysValidSchema)(n,c))&&!n.opts.unevaluated)return;let a=t.let("valid",!1),i=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let u=e.subschema({keyword:o,schemaProp:l,compositeRule:!0},i);t.assign(a,(0,Q._)`${a} || ${i}`),e.mergeValidEvaluated(u,i)||t.if((0,Q.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}K.validateUnion=Id});var Za=C(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.validateKeywordUsage=Me.validSchemaType=Me.funcKeywordCode=Me.macroKeywordCode=void 0;var ge=A(),ct=we(),Pd=$e(),Ad=Ht();function xd(e,t){let{gen:r,keyword:o,schema:n,parentSchema:s,it:a}=e,i=t.macro.call(a.self,n,s,a),c=Xa(r,o,i);a.opts.validateSchema!==!1&&a.self.validateSchema(i,!0);let l=r.name("valid");e.subschema({schema:i,schemaPath:ge.nil,errSchemaPath:`${a.errSchemaPath}/${o}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}Me.macroKeywordCode=xd;function Md(e,t){var r;let{gen:o,keyword:n,schema:s,parentSchema:a,$data:i,it:c}=e;Ld(c,t);let l=!i&&t.compile?t.compile.call(c.self,s,a,c):t.validate,u=Xa(o,n,l),d=o.let("valid");e.block$data(d,g),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function g(){if(t.errors===!1)f(),t.modifying&&Ya(e),h(()=>e.error());else{let y=t.async?m():p();t.modifying&&Ya(e),h(()=>Nd(e,y))}}function m(){let y=o.let("ruleErrs",null);return o.try(()=>f((0,ge._)`await `),w=>o.assign(d,!1).if((0,ge._)`${w} instanceof ${c.ValidationError}`,()=>o.assign(y,(0,ge._)`${w}.errors`),()=>o.throw(w))),y}function p(){let y=(0,ge._)`${u}.errors`;return o.assign(y,null),f(ge.nil),y}function f(y=t.async?(0,ge._)`await `:ge.nil){let w=c.opts.passContext?ct.default.this:ct.default.self,b=!("compile"in t&&!i||t.schema===!1);o.assign(d,(0,ge._)`${y}${(0,Pd.callValidateCode)(e,u,w,b)}`,t.modifying)}function h(y){var w;o.if((0,ge.not)((w=t.valid)!==null&&w!==void 0?w:d),y)}}Me.funcKeywordCode=Md;function Ya(e){let{gen:t,data:r,it:o}=e;t.if(o.parentData,()=>t.assign(r,(0,ge._)`${o.parentData}[${o.parentDataProperty}]`))}function Nd(e,t){let{gen:r}=e;r.if((0,ge._)`Array.isArray(${t})`,()=>{r.assign(ct.default.vErrors,(0,ge._)`${ct.default.vErrors} === null ? ${t} : ${ct.default.vErrors}.concat(${t})`).assign(ct.default.errors,(0,ge._)`${ct.default.vErrors}.length`),(0,Ad.extendErrors)(e)},()=>e.error())}function Ld({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Xa(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ge.stringify)(r)})}function jd(e,t,r=!1){return!t.length||t.some(o=>o==="array"?Array.isArray(e):o==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==o||r&&typeof e>"u")}Me.validSchemaType=jd;function Dd({schema:e,opts:t,self:r,errSchemaPath:o},n,s){if(Array.isArray(n.keyword)?!n.keyword.includes(s):n.keyword!==s)throw new Error("ajv implementation error");let a=n.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(e,i)))throw new Error(`parent schema must have dependencies of ${s}: ${a.join(",")}`);if(n.validateSchema&&!n.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${o}": `+r.errorsText(n.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Me.validateKeywordUsage=Dd});var ti=C(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.extendSubschemaMode=Ke.extendSubschemaData=Ke.getSubschema=void 0;var Ne=A(),ei=j();function qd(e,{keyword:t,schemaProp:r,schema:o,schemaPath:n,errSchemaPath:s,topSchemaRef:a}){if(t!==void 0&&o!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let i=e.schema[t];return r===void 0?{schema:i,schemaPath:(0,Ne._)`${e.schemaPath}${(0,Ne.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0,Ne._)`${e.schemaPath}${(0,Ne.getProperty)(t)}${(0,Ne.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,ei.escapeFragment)(r)}`}}if(o!==void 0){if(n===void 0||s===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:n,topSchemaRef:a,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Ke.getSubschema=qd;function Ud(e,t,{dataProp:r,dataPropType:o,data:n,dataTypes:s,propertyName:a}){if(n!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=t;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=t,g=i.let("data",(0,Ne._)`${t.data}${(0,Ne.getProperty)(r)}`,!0);c(g),e.errorPath=(0,Ne.str)`${l}${(0,ei.getErrorPath)(r,o,d.jsPropertySyntax)}`,e.parentDataProperty=(0,Ne._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(n!==void 0){let l=n instanceof Ne.Name?n:i.let("data",n,!0);c(l),a!==void 0&&(e.propertyName=a)}s&&(e.dataTypes=s);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}Ke.extendSubschemaData=Ud;function Bd(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:o,createErrors:n,allErrors:s}){o!==void 0&&(e.compositeRule=o),n!==void 0&&(e.createErrors=n),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Ke.extendSubschemaMode=Bd});var $n=C((b_,ri)=>{"use strict";ri.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var o,n,s;if(Array.isArray(t)){if(o=t.length,o!=r.length)return!1;for(n=o;n--!==0;)if(!e(t[n],r[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),o=s.length,o!==Object.keys(r).length)return!1;for(n=o;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=o;n--!==0;){var a=s[n];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var ni=C((w_,oi)=>{"use strict";var He=oi.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var o=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Kr(t,o,n,e,"",e)};He.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};He.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};He.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};He.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 Kr(e,t,r,o,n,s,a,i,c,l){if(o&&typeof o=="object"&&!Array.isArray(o)){t(o,n,s,a,i,c,l);for(var u in o){var d=o[u];if(Array.isArray(d)){if(u in He.arrayKeywords)for(var g=0;g<d.length;g++)Kr(e,t,r,d[g],n+"/"+u+"/"+g,s,n,u,o,g)}else if(u in He.propsKeywords){if(d&&typeof d=="object")for(var m in d)Kr(e,t,r,d[m],n+"/"+u+"/"+Vd(m),s,n,u,o,m)}else(u in He.keywords||e.allKeys&&!(u in He.skipKeywords))&&Kr(e,t,r,d,n+"/"+u,s,n,u,o)}r(o,n,s,a,i,c,l)}}function Vd(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Jt=C(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.getSchemaRefs=Te.resolveUrl=Te.normalizeId=Te._getFullPath=Te.getFullPath=Te.inlineRef=void 0;var zd=j(),Gd=$n(),Fd=ni(),Kd=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Hd(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Rn(e):t?si(e)<=t:!1}Te.inlineRef=Hd;var Wd=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Rn(e){for(let t in e){if(Wd.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Rn)||typeof r=="object"&&Rn(r))return!0}return!1}function si(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Kd.has(r)&&(typeof e[r]=="object"&&(0,zd.eachItem)(e[r],o=>t+=si(o)),t===1/0))return 1/0}return t}function ai(e,t="",r){r!==!1&&(t=Et(t));let o=e.parse(t);return ii(e,o)}Te.getFullPath=ai;function ii(e,t){return e.serialize(t).split("#")[0]+"#"}Te._getFullPath=ii;var Jd=/#\/?$/;function Et(e){return e?e.replace(Jd,""):""}Te.normalizeId=Et;function Qd(e,t,r){return r=Et(r),e.resolve(t,r)}Te.resolveUrl=Qd;var Yd=/^[a-z_][-a-z0-9._]*$/i;function Xd(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:o}=this.opts,n=Et(e[r]||t),s={"":n},a=ai(o,n,!1),i={},c=new Set;return Fd(e,{allKeys:!0},(d,g,m,p)=>{if(p===void 0)return;let f=a+g,h=s[p];typeof d[r]=="string"&&(h=y.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),s[g]=h;function y(b){let S=this.opts.uriResolver.resolve;if(b=Et(h?S(h,b):b),c.has(b))throw u(b);c.add(b);let $=this.refs[b];return typeof $=="string"&&($=this.refs[$]),typeof $=="object"?l(d,$.schema,b):b!==Et(f)&&(b[0]==="#"?(l(d,i[b],b),i[b]=d):this.refs[b]=f),b}function w(b){if(typeof b=="string"){if(!Yd.test(b))throw new Error(`invalid anchor "${b}"`);y.call(this,`#${b}`)}}}),i;function l(d,g,m){if(g!==void 0&&!Gd(d,g))throw u(m)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Te.getSchemaRefs=Xd});var Xt=C(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.getData=We.KeywordCxt=We.validateFunctionCode=void 0;var fi=Ba(),ci=Wt(),Sn=_n(),Hr=Wt(),Zd=Wa(),Yt=Za(),kn=ti(),R=A(),I=we(),ef=Jt(),Ue=j(),Qt=Ht();function tf(e){if(hi(e)&&(gi(e),mi(e))){nf(e);return}pi(e,()=>(0,fi.topBoolOrEmptySchema)(e))}We.validateFunctionCode=tf;function pi({gen:e,validateName:t,schema:r,schemaEnv:o,opts:n},s){n.code.es5?e.func(t,(0,R._)`${I.default.data}, ${I.default.valCxt}`,o.$async,()=>{e.code((0,R._)`"use strict"; ${li(r,n)}`),of(e,n),e.code(s)}):e.func(t,(0,R._)`${I.default.data}, ${rf(n)}`,o.$async,()=>e.code(li(r,n)).code(s))}function rf(e){return(0,R._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${e.dynamicRef?(0,R._)`, ${I.default.dynamicAnchors}={}`:R.nil}}={}`}function of(e,t){e.if(I.default.valCxt,()=>{e.var(I.default.instancePath,(0,R._)`${I.default.valCxt}.${I.default.instancePath}`),e.var(I.default.parentData,(0,R._)`${I.default.valCxt}.${I.default.parentData}`),e.var(I.default.parentDataProperty,(0,R._)`${I.default.valCxt}.${I.default.parentDataProperty}`),e.var(I.default.rootData,(0,R._)`${I.default.valCxt}.${I.default.rootData}`),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0,R._)`${I.default.valCxt}.${I.default.dynamicAnchors}`)},()=>{e.var(I.default.instancePath,(0,R._)`""`),e.var(I.default.parentData,(0,R._)`undefined`),e.var(I.default.parentDataProperty,(0,R._)`undefined`),e.var(I.default.rootData,I.default.data),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0,R._)`{}`)})}function nf(e){let{schema:t,opts:r,gen:o}=e;pi(e,()=>{r.$comment&&t.$comment&&_i(e),uf(e),o.let(I.default.vErrors,null),o.let(I.default.errors,0),r.unevaluated&&sf(e),yi(e),pf(e)})}function sf(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,R._)`${r}.evaluated`),t.if((0,R._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,R._)`${e.evaluated}.props`,(0,R._)`undefined`)),t.if((0,R._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,R._)`${e.evaluated}.items`,(0,R._)`undefined`))}function li(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,R._)`/*# sourceURL=${r} */`:R.nil}function af(e,t){if(hi(e)&&(gi(e),mi(e))){cf(e,t);return}(0,fi.boolOrEmptySchema)(e,t)}function mi({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function hi(e){return typeof e.schema!="boolean"}function cf(e,t){let{schema:r,gen:o,opts:n}=e;n.$comment&&r.$comment&&_i(e),df(e),ff(e);let s=o.const("_errs",I.default.errors);yi(e,s),o.var(t,(0,R._)`${s} === ${I.default.errors}`)}function gi(e){(0,Ue.checkUnknownRules)(e),lf(e)}function yi(e,t){if(e.opts.jtd)return ui(e,[],!1,t);let r=(0,ci.getSchemaTypes)(e.schema),o=(0,ci.coerceAndCheckDataType)(e,r);ui(e,r,!o,t)}function lf(e){let{schema:t,errSchemaPath:r,opts:o,self:n}=e;t.$ref&&o.ignoreKeywordsWithRef&&(0,Ue.schemaHasRulesButRef)(t,n.RULES)&&n.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function uf(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ue.checkStrictMode)(e,"default is ignored in the schema root")}function df(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,ef.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function ff(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function _i({gen:e,schemaEnv:t,schema:r,errSchemaPath:o,opts:n}){let s=r.$comment;if(n.$comment===!0)e.code((0,R._)`${I.default.self}.logger.log(${s})`);else if(typeof n.$comment=="function"){let a=(0,R.str)`${o}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0,R._)`${I.default.self}.opts.$comment(${s}, ${a}, ${i}.schema)`)}}function pf(e){let{gen:t,schemaEnv:r,validateName:o,ValidationError:n,opts:s}=e;r.$async?t.if((0,R._)`${I.default.errors} === 0`,()=>t.return(I.default.data),()=>t.throw((0,R._)`new ${n}(${I.default.vErrors})`)):(t.assign((0,R._)`${o}.errors`,I.default.vErrors),s.unevaluated&&mf(e),t.return((0,R._)`${I.default.errors} === 0`))}function mf({gen:e,evaluated:t,props:r,items:o}){r instanceof R.Name&&e.assign((0,R._)`${t}.props`,r),o instanceof R.Name&&e.assign((0,R._)`${t}.items`,o)}function ui(e,t,r,o){let{gen:n,schema:s,data:a,allErrors:i,opts:c,self:l}=e,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Ue.schemaHasRulesButRef)(s,u))){n.block(()=>vi(e,"$ref",u.all.$ref.definition));return}c.jtd||hf(e,t),n.block(()=>{for(let g of u.rules)d(g);d(u.post)});function d(g){(0,Sn.shouldUseGroup)(s,g)&&(g.type?(n.if((0,Hr.checkDataType)(g.type,a,c.strictNumbers)),di(e,g),t.length===1&&t[0]===g.type&&r&&(n.else(),(0,Hr.reportTypeError)(e)),n.endIf()):di(e,g),i||n.if((0,R._)`${I.default.errors} === ${o||0}`))}}function di(e,t){let{gen:r,schema:o,opts:{useDefaults:n}}=e;n&&(0,Zd.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,Sn.shouldUseRule)(o,s)&&vi(e,s.keyword,s.definition,t.type)})}function hf(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(gf(e,t),e.opts.allowUnionTypes||yf(e,t),_f(e,e.dataTypes))}function gf(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{Ti(e.dataTypes,r)||On(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),vf(e,t)}}function yf(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&On(e,"use allowUnionTypes to allow union type keyword")}function _f(e,t){let r=e.self.RULES.all;for(let o in r){let n=r[o];if(typeof n=="object"&&(0,Sn.shouldUseRule)(e.schema,n)){let{type:s}=n.definition;s.length&&!s.some(a=>Tf(t,a))&&On(e,`missing type "${s.join(",")}" for keyword "${o}"`)}}}function Tf(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function Ti(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function vf(e,t){let r=[];for(let o of e.dataTypes)Ti(t,o)?r.push(o):t.includes("integer")&&o==="number"&&r.push("integer");e.dataTypes=r}function On(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Ue.checkStrictMode)(e,t,e.opts.strictTypes)}var Wr=class{constructor(t,r,o){if((0,Yt.validateKeywordUsage)(t,r,o),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=o,this.data=t.data,this.schema=t.schema[o],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ue.schemaRefOrVal)(t,this.schema,o,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Ci(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Yt.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${o} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",I.default.errors))}result(t,r,o){this.failResult((0,R.not)(t),r,o)}failResult(t,r,o){this.gen.if(t),o?o():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,R.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,R._)`${r} !== undefined && (${(0,R.or)(this.invalid$data(),t)})`)}error(t,r,o){if(r){this.setParams(r),this._error(t,o),this.setParams({});return}this._error(t,o)}_error(t,r){(t?Qt.reportExtraError:Qt.reportError)(this,this.def.error,r)}$dataError(){(0,Qt.reportError)(this,this.def.$dataError||Qt.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Qt.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,o=R.nil){this.gen.block(()=>{this.check$data(t,o),r()})}check$data(t=R.nil,r=R.nil){if(!this.$data)return;let{gen:o,schemaCode:n,schemaType:s,def:a}=this;o.if((0,R.or)((0,R._)`${n} === undefined`,r)),t!==R.nil&&o.assign(t,!0),(s.length||a.validateSchema)&&(o.elseIf(this.invalid$data()),this.$dataError(),t!==R.nil&&o.assign(t,!1)),o.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:o,def:n,it:s}=this;return(0,R.or)(a(),i());function a(){if(o.length){if(!(r instanceof R.Name))throw new Error("ajv implementation error");let c=Array.isArray(o)?o:[o];return(0,R._)`${(0,Hr.checkDataTypes)(c,r,s.opts.strictNumbers,Hr.DataType.Wrong)}`}return R.nil}function i(){if(n.validateSchema){let c=t.scopeValue("validate$data",{ref:n.validateSchema});return(0,R._)`!${c}(${r})`}return R.nil}}subschema(t,r){let o=(0,kn.getSubschema)(this.it,t);(0,kn.extendSubschemaData)(o,this.it,t),(0,kn.extendSubschemaMode)(o,t);let n={...this.it,...o,items:void 0,props:void 0};return af(n,r),n}mergeEvaluated(t,r){let{it:o,gen:n}=this;o.opts.unevaluated&&(o.props!==!0&&t.props!==void 0&&(o.props=Ue.mergeEvaluated.props(n,t.props,o.props,r)),o.items!==!0&&t.items!==void 0&&(o.items=Ue.mergeEvaluated.items(n,t.items,o.items,r)))}mergeValidEvaluated(t,r){let{it:o,gen:n}=this;if(o.opts.unevaluated&&(o.props!==!0||o.items!==!0))return n.if(r,()=>this.mergeEvaluated(t,R.Name)),!0}};We.KeywordCxt=Wr;function vi(e,t,r,o){let n=new Wr(e,r,t);"code"in r?r.code(n,o):n.$data&&r.validate?(0,Yt.funcKeywordCode)(n,r):"macro"in r?(0,Yt.macroKeywordCode)(n,r):(r.compile||r.validate)&&(0,Yt.funcKeywordCode)(n,r)}var Cf=/^\/(?:[^~]|~0|~1)*$/,Ef=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ci(e,{dataLevel:t,dataNames:r,dataPathArr:o}){let n,s;if(e==="")return I.default.rootData;if(e[0]==="/"){if(!Cf.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);n=e,s=I.default.rootData}else{let l=Ef.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+l[1];if(n=l[2],n==="#"){if(u>=t)throw new Error(c("property/index",u));return o[t-u]}if(u>t)throw new Error(c("data",u));if(s=r[t-u],!n)return s}let a=s,i=n.split("/");for(let l of i)l&&(s=(0,R._)`${s}${(0,R.getProperty)((0,Ue.unescapeJsonPointer)(l))}`,a=(0,R._)`${a} && ${s}`);return a;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}We.getData=Ci});var Jr=C(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});var In=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Pn.default=In});var Zt=C(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});var An=Jt(),xn=class extends Error{constructor(t,r,o,n){super(n||`can't resolve reference ${o} from id ${r}`),this.missingRef=(0,An.resolveUrl)(t,r,o),this.missingSchema=(0,An.normalizeId)((0,An.getFullPath)(t,this.missingRef))}};Mn.default=xn});var er=C(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.resolveSchema=Re.getCompilingSchema=Re.resolveRef=Re.compileSchema=Re.SchemaEnv=void 0;var Pe=A(),bf=Jr(),lt=we(),Ae=Jt(),Ei=j(),wf=Xt(),bt=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let o;typeof t.schema=="object"&&(o=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Ae.normalizeId)(o?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=o?.$async,this.refs={}}};Re.SchemaEnv=bt;function Ln(e){let t=bi.call(this,e);if(t)return t;let r=(0,Ae.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:o,lines:n}=this.opts.code,{ownProperties:s}=this.opts,a=new Pe.CodeGen(this.scope,{es5:o,lines:n,ownProperties:s}),i;e.$async&&(i=a.scopeValue("Error",{ref:bf.default,code:(0,Pe._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let l={gen:a,allErrors:this.opts.allErrors,data:lt.default.data,parentData:lt.default.parentData,parentDataProperty:lt.default.parentDataProperty,dataNames:[lt.default.data],dataPathArr:[Pe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Pe.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Pe.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Pe._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,wf.validateFunctionCode)(l),a.optimize(this.opts.code.optimize);let d=a.toString();u=`${a.scopeRefs(lt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let m=new Function(`${lt.default.self}`,`${lt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=e.schema,m.schemaEnv=e,e.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:f}=l;m.evaluated={props:p instanceof Pe.Name?void 0:p,items:f instanceof Pe.Name?void 0:f,dynamicProps:p instanceof Pe.Name,dynamicItems:f instanceof Pe.Name},m.source&&(m.source.evaluated=(0,Pe.stringify)(m.evaluated))}return e.validate=m,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}Re.compileSchema=Ln;function $f(e,t,r){var o;r=(0,Ae.resolveUrl)(this.opts.uriResolver,t,r);let n=e.refs[r];if(n)return n;let s=Sf.call(this,e,r);if(s===void 0){let a=(o=e.localRefs)===null||o===void 0?void 0:o[r],{schemaId:i}=this.opts;a&&(s=new bt({schema:a,schemaId:i,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=Rf.call(this,s)}Re.resolveRef=$f;function Rf(e){return(0,Ae.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Ln.call(this,e)}function bi(e){for(let t of this._compilations)if(kf(t,e))return t}Re.getCompilingSchema=bi;function kf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Sf(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Qr.call(this,e,t)}function Qr(e,t){let r=this.opts.uriResolver.parse(t),o=(0,Ae._getFullPath)(this.opts.uriResolver,r),n=(0,Ae.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&o===n)return Nn.call(this,r,e);let s=(0,Ae.normalizeId)(o),a=this.refs[s]||this.schemas[s];if(typeof a=="string"){let i=Qr.call(this,e,a);return typeof i?.schema!="object"?void 0:Nn.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Ln.call(this,a),s===(0,Ae.normalizeId)(t)){let{schema:i}=a,{schemaId:c}=this.opts,l=i[c];return l&&(n=(0,Ae.resolveUrl)(this.opts.uriResolver,n,l)),new bt({schema:i,schemaId:c,root:e,baseId:n})}return Nn.call(this,r,a)}}Re.resolveSchema=Qr;var Of=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Nn(e,{baseId:t,schema:r,root:o}){var n;if(((n=e.fragment)===null||n===void 0?void 0:n[0])!=="/")return;for(let i of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Ei.unescapeFragment)(i)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!Of.has(i)&&l&&(t=(0,Ae.resolveUrl)(this.opts.uriResolver,t,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Ei.schemaHasRulesButRef)(r,this.RULES)){let i=(0,Ae.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=Qr.call(this,o,i)}let{schemaId:a}=this.opts;if(s=s||new bt({schema:r,schemaId:a,root:o,baseId:t}),s.schema!==s.root.schema)return s}});var wi=C((I_,If)=>{If.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 qn=C((P_,Ii)=>{"use strict";var Pf=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Ri=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),jn=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),ki=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),Af=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Dn(e){let t="",r=0,o=0;for(o=0;o<e.length;o++)if(r=e[o].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[o];break}for(o+=1;o<e.length;o++){if(r=e[o].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[o]}return t}var xf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function $i(e){return e.length=0,!0}function Mf(e,t,r){if(e.length){let o=Dn(e);if(o!=="")t.push(o);else return r.error=!0,!1;e.length=0}return!0}function Nf(e){let t=0,r={error:!1,address:"",zone:""},o=[],n=[],s=!1,a=!1,i=Mf;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(s===!0&&(a=!0),!i(n,o,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),o.push(":");continue}else if(l==="%"){if(!i(n,o,r))break;i=$i}else{n.push(l);continue}}return n.length&&(i===$i?r.zone=n.join(""):a?o.push(n.join("")):o.push(Dn(n))),r.address=o.join(""),r}function Si(e){if(Lf(e,":")<2)return{host:e,isIPV6:!1};let t=Nf(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,o=t.address;return t.zone&&(r+="%"+t.zone,o+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:o}}}function Lf(e,t){let r=0;for(let o=0;o<e.length;o++)e[o]===t&&r++;return r}function jf(e){let t=e,r=[],o=-1,n=0;for(;n=t.length;){if(n===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(n===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(n===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((o=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,o)),t=t.slice(o)}return r.join("")}var Df={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},qf=/[@/?#:]/g,Uf=/[@/?#]/g;function Oi(e,t){let r=t?Uf:qf;return r.lastIndex=0,e.replace(r,o=>Df[o])}function Bf(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let o=0;o<e.length;o++){if(e[o]==="%"&&o+2<e.length){let n=e.slice(o+1,o+3);if(jn(n)){let s=n.toUpperCase(),a=String.fromCharCode(parseInt(s,16));t&&ki(a)?r+=a:r+="%"+s,o+=2;continue}}r+=e[o]}return r}function Vf(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let o=e.slice(r+1,r+3);if(jn(o)){let n=o.toUpperCase(),s=String.fromCharCode(parseInt(n,16));s!=="."&&ki(s)?t+=s:t+="%"+n,r+=2;continue}}Af(e[r])?t+=e[r]:t+=escape(e[r])}return t}function zf(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let o=e.slice(r+1,r+3);if(jn(o)){t+="%"+o.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function Gf(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!Ri(r)){let o=Si(r);o.isIPV6===!0?r=`[${o.escapedHost}]`:r=Oi(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Ii.exports={nonSimpleDomain:xf,recomposeAuthority:Gf,reescapeHostDelimiters:Oi,normalizePercentEncoding:Bf,normalizePathEncoding:Vf,escapePreservingEscapes:zf,removeDotSegments:jf,isIPv4:Ri,isUUID:Pf,normalizeIPv6:Si,stringArrayToHexStripped:Dn}});var Ni=C((A_,Mi)=>{"use strict";var{isUUID:Ff}=qn(),Kf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Hf=["http","https","ws","wss","urn","urn:uuid"];function Wf(e){return Hf.indexOf(e)!==-1}function Un(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Pi(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function Ai(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Jf(e){return e.secure=Un(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Qf(e){if((e.port===(Un(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Yf(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Kf);if(r){let o=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let n=`${o}:${t.nid||e.nid}`,s=Bn(n);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Xf(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",o=e.nid.toLowerCase(),n=`${r}:${t.nid||o}`,s=Bn(n);s&&(e=s.serialize(e,t));let a=e,i=e.nss;return a.path=`${o||t.nid}:${i}`,t.skipEscape=!0,a}function Zf(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Ff(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function ep(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var xi={scheme:"http",domainHost:!0,parse:Pi,serialize:Ai},tp={scheme:"https",domainHost:xi.domainHost,parse:Pi,serialize:Ai},Yr={scheme:"ws",domainHost:!0,parse:Jf,serialize:Qf},rp={scheme:"wss",domainHost:Yr.domainHost,parse:Yr.parse,serialize:Yr.serialize},op={scheme:"urn",parse:Yf,serialize:Xf,skipNormalize:!0},np={scheme:"urn:uuid",parse:Zf,serialize:ep,skipNormalize:!0},Xr={http:xi,https:tp,ws:Yr,wss:rp,urn:op,"urn:uuid":np};Object.setPrototypeOf(Xr,null);function Bn(e){return e&&(Xr[e]||Xr[e.toLowerCase()])||void 0}Mi.exports={wsIsSecure:Un,SCHEMES:Xr,isValidSchemeName:Wf,getSchemeHandler:Bn}});var Bi=C((x_,Zr)=>{"use strict";var{normalizeIPv6:sp,removeDotSegments:tr,recomposeAuthority:ap,normalizePercentEncoding:ip,normalizePathEncoding:cp,escapePreservingEscapes:lp,reescapeHostDelimiters:up,isIPv4:dp,nonSimpleDomain:fp}=qn(),{SCHEMES:pp,getSchemeHandler:ji}=Ni();function mp(e,t){return typeof e=="string"?e=Tp(e,t):typeof e=="object"&&(e=wt(ut(e,t),t)),e}function hp(e,t,r){let o=r?Object.assign({scheme:"null"},r):{scheme:"null"},n=Di(wt(e,o),wt(t,o),o,!0);return o.skipEscape=!0,ut(n,o)}function Di(e,t,r,o){let n={};return o||(e=wt(ut(e,r),r),t=wt(ut(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=tr(t.path||""),n.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=tr(t.path||""),n.query=t.query):(t.path?(t.path[0]==="/"?n.path=tr(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?n.path="/"+t.path:e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path,n.path=tr(n.path)),n.query=t.query):(n.path=e.path,t.query!==void 0?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function gp(e,t,r){let o=Li(e,r),n=Li(t,r);return o!==void 0&&n!==void 0&&o.toLowerCase()===n.toLowerCase()}function ut(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},o=Object.assign({},t),n=[],s=ji(o.scheme||r.scheme);s&&s.serialize&&s.serialize(r,o),r.path!==void 0&&(o.skipEscape?r.path=ip(r.path):(r.path=lp(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),o.reference!=="suffix"&&r.scheme&&n.push(r.scheme,":");let a=ap(r);if(a!==void 0&&(o.reference!=="suffix"&&n.push("//"),n.push(a),r.path&&r.path[0]!=="/"&&n.push("/")),r.path!==void 0){let i=r.path;!o.absolutePath&&(!s||!s.absolutePath)&&(i=tr(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),n.push(i)}return r.query!==void 0&&n.push("?",r.query),r.fragment!==void 0&&n.push("#",r.fragment),n.join("")}var yp=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function _p(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function qi(e,t){let r=Object.assign({},t),o={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},n=!1,s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let a=e.match(yp);if(a){o.scheme=a[1],o.userinfo=a[3],o.host=a[4],o.port=parseInt(a[5],10),o.path=a[6]||"",o.query=a[7],o.fragment=a[8],isNaN(o.port)&&(o.port=a[5]);let i=_p(o,a);if(i!==void 0&&(o.error=o.error||i,n=!0),o.host)if(dp(o.host)===!1){let u=sp(o.host);o.host=u.host.toLowerCase(),s=u.isIPV6}else s=!0;o.scheme===void 0&&o.userinfo===void 0&&o.host===void 0&&o.port===void 0&&o.query===void 0&&!o.path?o.reference="same-document":o.scheme===void 0?o.reference="relative":o.fragment===void 0?o.reference="absolute":o.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==o.reference&&(o.error=o.error||"URI is not a "+r.reference+" reference.");let c=ji(r.scheme||o.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&o.host&&(r.domainHost||c&&c.domainHost)&&s===!1&&fp(o.host))try{o.host=URL.domainToASCII(o.host.toLowerCase())}catch(l){o.error=o.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(e.indexOf("%")!==-1&&(o.scheme!==void 0&&(o.scheme=unescape(o.scheme)),o.host!==void 0&&(o.host=up(unescape(o.host),s))),o.path&&(o.path=cp(o.path)),o.fragment))try{o.fragment=encodeURI(decodeURIComponent(o.fragment))}catch{o.error=o.error||"URI malformed"}c&&c.parse&&c.parse(o,r)}else o.error=o.error||"URI can not be parsed.";return{parsed:o,malformedAuthorityOrPort:n}}function wt(e,t){return qi(e,t).parsed}function Tp(e,t){return Ui(e,t).normalized}function Ui(e,t){let{parsed:r,malformedAuthorityOrPort:o}=qi(e,t);return{normalized:o?e:ut(r,t),malformedAuthorityOrPort:o}}function Li(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:o}=Ui(e,t);return o?void 0:r}if(typeof e=="object")return ut(e,t)}var Vn={SCHEMES:pp,normalize:mp,resolve:hp,resolveComponent:Di,equal:gp,serialize:ut,parse:wt};Zr.exports=Vn;Zr.exports.default=Vn;Zr.exports.fastUri=Vn});var zi=C(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});var Vi=Bi();Vi.code='require("ajv/dist/runtime/uri").default';zn.default=Vi});var Yi=C(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.CodeGen=le.Name=le.nil=le.stringify=le.str=le._=le.KeywordCxt=void 0;var vp=Xt();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return vp.KeywordCxt}});var $t=A();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return $t._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return $t.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return $t.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return $t.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return $t.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return $t.CodeGen}});var Cp=Jr(),Wi=Zt(),Ep=yn(),rr=er(),bp=A(),or=Jt(),eo=Wt(),Fn=j(),Gi=wi(),wp=zi(),Ji=(e,t)=>new RegExp(e,t);Ji.code="new RegExp";var $p=["removeAdditional","useDefaults","coerceTypes"],Rp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),kp={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."},Sp={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Fi=200;function Op(e){var t,r,o,n,s,a,i,c,l,u,d,g,m,p,f,h,y,w,b,S,$,z,D,O,P;let H=e.strict,E=(t=e.code)===null||t===void 0?void 0:t.optimize,x=E===!0||E===void 0?1:E||0,X=(o=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&o!==void 0?o:Ji,re=(n=e.uriResolver)!==null&&n!==void 0?n:wp.default;return{strictSchema:(a=(s=e.strictSchema)!==null&&s!==void 0?s:H)!==null&&a!==void 0?a:!0,strictNumbers:(c=(i=e.strictNumbers)!==null&&i!==void 0?i:H)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:H)!==null&&u!==void 0?u:"log",strictTuples:(g=(d=e.strictTuples)!==null&&d!==void 0?d:H)!==null&&g!==void 0?g:"log",strictRequired:(p=(m=e.strictRequired)!==null&&m!==void 0?m:H)!==null&&p!==void 0?p:!1,code:e.code?{...e.code,optimize:x,regExp:X}:{optimize:x,regExp:X},loopRequired:(f=e.loopRequired)!==null&&f!==void 0?f:Fi,loopEnum:(h=e.loopEnum)!==null&&h!==void 0?h:Fi,meta:(y=e.meta)!==null&&y!==void 0?y:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(b=e.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(S=e.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:($=e.addUsedSchema)!==null&&$!==void 0?$:!0,validateSchema:(z=e.validateSchema)!==null&&z!==void 0?z:!0,validateFormats:(D=e.validateFormats)!==null&&D!==void 0?D:!0,unicodeRegExp:(O=e.unicodeRegExp)!==null&&O!==void 0?O:!0,int32range:(P=e.int32range)!==null&&P!==void 0?P:!0,uriResolver:re}}var nr=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Op(t)};let{es5:r,lines:o}=this.opts.code;this.scope=new bp.ValueScope({scope:{},prefixes:Rp,es5:r,lines:o}),this.logger=Np(t.logger);let n=t.validateFormats;t.validateFormats=!1,this.RULES=(0,Ep.getRules)(),Ki.call(this,kp,t,"NOT SUPPORTED"),Ki.call(this,Sp,t,"DEPRECATED","warn"),this._metaOpts=xp.call(this),t.formats&&Pp.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&Ap.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Ip.call(this),t.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:o}=this.opts,n=Gi;o==="id"&&(n={...Gi},n.id=n.$id,delete n.$id),r&&t&&this.addMetaSchema(n,n[o],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let o;if(typeof t=="string"){if(o=this.getSchema(t),!o)throw new Error(`no schema with key or ref "${t}"`)}else o=this.compile(t);let n=o(r);return"$async"in o||(this.errors=o.errors),n}compile(t,r){let o=this._addSchema(t,r);return o.validate||this._compileSchemaEnv(o)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:o}=this.opts;return n.call(this,t,r);async function n(u,d){await s.call(this,u.$schema);let g=this._addSchema(u,d);return g.validate||a.call(this,g)}async function s(u){u&&!this.getSchema(u)&&await n.call(this,{$ref:u},!0)}async function a(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof Wi.default))throw d;return i.call(this,d),await c.call(this,d.missingSchema),a.call(this,u)}}function i({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]=o(u))}finally{delete this._loading[u]}}}addSchema(t,r,o,n=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,o,n);return this}let s;if(typeof t=="object"){let{schemaId:a}=this.opts;if(s=t[a],s!==void 0&&typeof s!="string")throw new Error(`schema ${a} must be string`)}return r=(0,or.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,o,r,n,!0),this}addMetaSchema(t,r,o=this.opts.validateSchema){return this.addSchema(t,r,!0,o),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let o;if(o=t.$schema,o!==void 0&&typeof o!="string")throw new Error("$schema must be a string");if(o=o||this.opts.defaultMeta||this.defaultMeta(),!o)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let n=this.validate(o,t);if(!n&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return n}getSchema(t){let r;for(;typeof(r=Hi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:o}=this.opts,n=new rr.SchemaEnv({schema:{},schemaId:o});if(r=rr.resolveSchema.call(this,n,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Hi.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let o=t[this.opts.schemaId];return o&&(o=(0,or.normalizeId)(o),delete this.schemas[o],delete this.refs[o]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let o;if(typeof t=="string")o=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=o);else if(typeof t=="object"&&r===void 0){if(r=t,o=r.keyword,Array.isArray(o)&&!o.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(jp.call(this,o,r),!r)return(0,Fn.eachItem)(o,s=>Gn.call(this,s)),this;qp.call(this,r);let n={...r,type:(0,eo.getJSONTypes)(r.type),schemaType:(0,eo.getJSONTypes)(r.schemaType)};return(0,Fn.eachItem)(o,n.type.length===0?s=>Gn.call(this,s,n):s=>n.type.forEach(a=>Gn.call(this,s,n,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let o of r.rules){let n=o.rules.findIndex(s=>s.keyword===t);n>=0&&o.rules.splice(n,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:o="data"}={}){return!t||t.length===0?"No errors":t.map(n=>`${o}${n.instancePath} ${n.message}`).reduce((n,s)=>n+r+s)}$dataMetaSchema(t,r){let o=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let n of r){let s=n.split("/").slice(1),a=t;for(let i of s)a=a[i];for(let i in o){let c=o[i];if(typeof c!="object")continue;let{$data:l}=c.definition,u=a[i];l&&u&&(a[i]=Qi(u))}}return t}_removeAllSchemas(t,r){for(let o in t){let n=t[o];(!r||r.test(o))&&(typeof n=="string"?delete t[o]:n&&!n.meta&&(this._cache.delete(n.schema),delete t[o]))}}_addSchema(t,r,o,n=this.opts.validateSchema,s=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof t=="object")a=t[i];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;o=(0,or.normalizeId)(a||o);let l=or.getSchemaRefs.call(this,t,o);return c=new rr.SchemaEnv({schema:t,schemaId:i,meta:r,baseId:o,localRefs:l}),this._cache.set(c.schema,c),s&&!o.startsWith("#")&&(o&&this._checkUnique(o),this.refs[o]=c),n&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):rr.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{rr.compileSchema.call(this,t)}finally{this.opts=r}}};nr.ValidationError=Cp.default;nr.MissingRefError=Wi.default;le.default=nr;function Ki(e,t,r,o="error"){for(let n in e){let s=n;s in t&&this.logger[o](`${r}: option ${n}. ${e[s]}`)}}function Hi(e){return e=(0,or.normalizeId)(e),this.schemas[e]||this.refs[e]}function Ip(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function Pp(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function Ap(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function xp(){let e={...this.opts};for(let t of $p)delete e[t];return e}var Mp={log(){},warn(){},error(){}};function Np(e){if(e===!1)return Mp;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var Lp=/^[a-z_$][a-z0-9_$:-]*$/i;function jp(e,t){let{RULES:r}=this;if((0,Fn.eachItem)(e,o=>{if(r.keywords[o])throw new Error(`Keyword ${o} is already defined`);if(!Lp.test(o))throw new Error(`Keyword ${o} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Gn(e,t,r){var o;let n=t?.post;if(r&&n)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,a=n?s.post:s.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},s.rules.push(a)),s.keywords[e]=!0,!t)return;let i={keyword:e,definition:{...t,type:(0,eo.getJSONTypes)(t.type),schemaType:(0,eo.getJSONTypes)(t.schemaType)}};t.before?Dp.call(this,a,i,t.before):a.rules.push(i),s.all[e]=i,(o=t.implements)===null||o===void 0||o.forEach(c=>this.addKeyword(c))}function Dp(e,t,r){let o=e.rules.findIndex(n=>n.keyword===r);o>=0?e.rules.splice(o,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function qp(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Qi(t)),e.validateSchema=this.compile(t,!0))}var Up={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Qi(e){return{anyOf:[e,Up]}}});var Xi=C(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});var Bp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Kn.default=Bp});var oo=C(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.callRef=dt.getValidate=void 0;var Vp=Zt(),Zi=$e(),ve=A(),Rt=we(),ec=er(),to=j(),zp={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:o}=e,{baseId:n,schemaEnv:s,validateName:a,opts:i,self:c}=o,{root:l}=s;if((r==="#"||r==="#/")&&n===l.baseId)return d();let u=ec.resolveRef.call(c,l,n,r);if(u===void 0)throw new Vp.default(o.opts.uriResolver,n,r);if(u instanceof ec.SchemaEnv)return g(u);return m(u);function d(){if(s===l)return ro(e,a,s,s.$async);let p=t.scopeValue("root",{ref:l});return ro(e,(0,ve._)`${p}.validate`,l,l.$async)}function g(p){let f=tc(e,p);ro(e,f,p,p.$async)}function m(p){let f=t.scopeValue("schema",i.code.source===!0?{ref:p,code:(0,ve.stringify)(p)}:{ref:p}),h=t.name("valid"),y=e.subschema({schema:p,dataTypes:[],schemaPath:ve.nil,topSchemaRef:f,errSchemaPath:r},h);e.mergeEvaluated(y),e.ok(h)}}};function tc(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ve._)`${r.scopeValue("wrapper",{ref:t})}.validate`}dt.getValidate=tc;function ro(e,t,r,o){let{gen:n,it:s}=e,{allErrors:a,schemaEnv:i,opts:c}=s,l=c.passContext?Rt.default.this:ve.nil;o?u():d();function u(){if(!i.$async)throw new Error("async schema referenced by sync schema");let p=n.let("valid");n.try(()=>{n.code((0,ve._)`await ${(0,Zi.callValidateCode)(e,t,l)}`),m(t),a||n.assign(p,!0)},f=>{n.if((0,ve._)`!(${f} instanceof ${s.ValidationError})`,()=>n.throw(f)),g(f),a||n.assign(p,!1)}),e.ok(p)}function d(){e.result((0,Zi.callValidateCode)(e,t,l),()=>m(t),()=>g(t))}function g(p){let f=(0,ve._)`${p}.errors`;n.assign(Rt.default.vErrors,(0,ve._)`${Rt.default.vErrors} === null ? ${f} : ${Rt.default.vErrors}.concat(${f})`),n.assign(Rt.default.errors,(0,ve._)`${Rt.default.vErrors}.length`)}function m(p){var f;if(!s.opts.unevaluated)return;let h=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(s.props!==!0)if(h&&!h.dynamicProps)h.props!==void 0&&(s.props=to.mergeEvaluated.props(n,h.props,s.props));else{let y=n.var("props",(0,ve._)`${p}.evaluated.props`);s.props=to.mergeEvaluated.props(n,y,s.props,ve.Name)}if(s.items!==!0)if(h&&!h.dynamicItems)h.items!==void 0&&(s.items=to.mergeEvaluated.items(n,h.items,s.items));else{let y=n.var("items",(0,ve._)`${p}.evaluated.items`);s.items=to.mergeEvaluated.items(n,y,s.items,ve.Name)}}}dt.callRef=ro;dt.default=zp});var rc=C(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});var Gp=Xi(),Fp=oo(),Kp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Gp.default,Fp.default];Hn.default=Kp});var oc=C(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});var no=A(),Je=no.operators,so={maximum:{okStr:"<=",ok:Je.LTE,fail:Je.GT},minimum:{okStr:">=",ok:Je.GTE,fail:Je.LT},exclusiveMaximum:{okStr:"<",ok:Je.LT,fail:Je.GTE},exclusiveMinimum:{okStr:">",ok:Je.GT,fail:Je.LTE}},Hp={message:({keyword:e,schemaCode:t})=>(0,no.str)`must be ${so[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,no._)`{comparison: ${so[e].okStr}, limit: ${t}}`},Wp={keyword:Object.keys(so),type:"number",schemaType:"number",$data:!0,error:Hp,code(e){let{keyword:t,data:r,schemaCode:o}=e;e.fail$data((0,no._)`${r} ${so[t].fail} ${o} || isNaN(${r})`)}};Wn.default=Wp});var nc=C(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});var sr=A(),Jp={message:({schemaCode:e})=>(0,sr.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,sr._)`{multipleOf: ${e}}`},Qp={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Jp,code(e){let{gen:t,data:r,schemaCode:o,it:n}=e,s=n.opts.multipleOfPrecision,a=t.let("res"),i=s?(0,sr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:(0,sr._)`${a} !== parseInt(${a})`;e.fail$data((0,sr._)`(${o} === 0 || (${a} = ${r}/${o}, ${i}))`)}};Jn.default=Qp});var ac=C(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});function sc(e){let t=e.length,r=0,o=0,n;for(;o<t;)r++,n=e.charCodeAt(o++),n>=55296&&n<=56319&&o<t&&(n=e.charCodeAt(o),(n&64512)===56320&&o++);return r}Qn.default=sc;sc.code='require("ajv/dist/runtime/ucs2length").default'});var ic=C(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});var ft=A(),Yp=j(),Xp=ac(),Zp={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,ft.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,ft._)`{limit: ${e}}`},em={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Zp,code(e){let{keyword:t,data:r,schemaCode:o,it:n}=e,s=t==="maxLength"?ft.operators.GT:ft.operators.LT,a=n.opts.unicode===!1?(0,ft._)`${r}.length`:(0,ft._)`${(0,Yp.useFunc)(e.gen,Xp.default)}(${r})`;e.fail$data((0,ft._)`${a} ${s} ${o}`)}};Yn.default=em});var cc=C(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});var tm=$e(),rm=j(),kt=A(),om={message:({schemaCode:e})=>(0,kt.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,kt._)`{pattern: ${e}}`},nm={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:om,code(e){let{gen:t,data:r,$data:o,schema:n,schemaCode:s,it:a}=e,i=a.opts.unicodeRegExp?"u":"";if(o){let{regExp:c}=a.opts.code,l=c.code==="new RegExp"?(0,kt._)`new RegExp`:(0,rm.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,kt._)`${l}(${s}, ${i}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,kt._)`!${u}`)}else{let c=(0,tm.usePattern)(e,n);e.fail$data((0,kt._)`!${c}.test(${r})`)}}};Xn.default=nm});var lc=C(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});var ar=A(),sm={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,ar.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,ar._)`{limit: ${e}}`},am={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:sm,code(e){let{keyword:t,data:r,schemaCode:o}=e,n=t==="maxProperties"?ar.operators.GT:ar.operators.LT;e.fail$data((0,ar._)`Object.keys(${r}).length ${n} ${o}`)}};Zn.default=am});var uc=C(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var ir=$e(),cr=A(),im=j(),cm={message:({params:{missingProperty:e}})=>(0,cr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,cr._)`{missingProperty: ${e}}`},lm={keyword:"required",type:"object",schemaType:"array",$data:!0,error:cm,code(e){let{gen:t,schema:r,schemaCode:o,data:n,$data:s,it:a}=e,{opts:i}=a;if(!s&&r.length===0)return;let c=r.length>=i.loopRequired;if(a.allErrors?l():u(),i.strictRequired){let m=e.parentSchema.properties,{definedProperties:p}=e.it;for(let f of r)if(m?.[f]===void 0&&!p.has(f)){let h=a.schemaEnv.baseId+a.errSchemaPath,y=`required property "${f}" is not defined at "${h}" (strictRequired)`;(0,im.checkStrictMode)(a,y,a.opts.strictRequired)}}function l(){if(c||s)e.block$data(cr.nil,d);else for(let m of r)(0,ir.checkReportMissingProp)(e,m)}function u(){let m=t.let("missing");if(c||s){let p=t.let("valid",!0);e.block$data(p,()=>g(m,p)),e.ok(p)}else t.if((0,ir.checkMissingProp)(e,r,m)),(0,ir.reportMissingProp)(e,m),t.else()}function d(){t.forOf("prop",o,m=>{e.setParams({missingProperty:m}),t.if((0,ir.noPropertyInData)(t,n,m,i.ownProperties),()=>e.error())})}function g(m,p){e.setParams({missingProperty:m}),t.forOf(m,o,()=>{t.assign(p,(0,ir.propertyInData)(t,n,m,i.ownProperties)),t.if((0,cr.not)(p),()=>{e.error(),t.break()})},cr.nil)}}};es.default=lm});var dc=C(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var lr=A(),um={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,lr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,lr._)`{limit: ${e}}`},dm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:um,code(e){let{keyword:t,data:r,schemaCode:o}=e,n=t==="maxItems"?lr.operators.GT:lr.operators.LT;e.fail$data((0,lr._)`${r}.length ${n} ${o}`)}};ts.default=dm});var ao=C(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var fc=$n();fc.code='require("ajv/dist/runtime/equal").default';rs.default=fc});var pc=C(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var os=Wt(),ue=A(),fm=j(),pm=ao(),mm={message:({params:{i:e,j:t}})=>(0,ue.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,ue._)`{i: ${e}, j: ${t}}`},hm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:mm,code(e){let{gen:t,data:r,$data:o,schema:n,parentSchema:s,schemaCode:a,it:i}=e;if(!o&&!n)return;let c=t.let("valid"),l=s.items?(0,os.getSchemaTypes)(s.items):[];e.block$data(c,u,(0,ue._)`${a} === false`),e.ok(c);function u(){let p=t.let("i",(0,ue._)`${r}.length`),f=t.let("j");e.setParams({i:p,j:f}),t.assign(c,!0),t.if((0,ue._)`${p} > 1`,()=>(d()?g:m)(p,f))}function d(){return l.length>0&&!l.some(p=>p==="object"||p==="array")}function g(p,f){let h=t.name("item"),y=(0,os.checkDataTypes)(l,h,i.opts.strictNumbers,os.DataType.Wrong),w=t.const("indices",(0,ue._)`{}`);t.for((0,ue._)`;${p}--;`,()=>{t.let(h,(0,ue._)`${r}[${p}]`),t.if(y,(0,ue._)`continue`),l.length>1&&t.if((0,ue._)`typeof ${h} == "string"`,(0,ue._)`${h} += "_"`),t.if((0,ue._)`typeof ${w}[${h}] == "number"`,()=>{t.assign(f,(0,ue._)`${w}[${h}]`),e.error(),t.assign(c,!1).break()}).code((0,ue._)`${w}[${h}] = ${p}`)})}function m(p,f){let h=(0,fm.useFunc)(t,pm.default),y=t.name("outer");t.label(y).for((0,ue._)`;${p}--;`,()=>t.for((0,ue._)`${f} = ${p}; ${f}--;`,()=>t.if((0,ue._)`${h}(${r}[${p}], ${r}[${f}])`,()=>{e.error(),t.assign(c,!1).break(y)})))}}};ns.default=hm});var mc=C(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var ss=A(),gm=j(),ym=ao(),_m={message:"must be equal to constant",params:({schemaCode:e})=>(0,ss._)`{allowedValue: ${e}}`},Tm={keyword:"const",$data:!0,error:_m,code(e){let{gen:t,data:r,$data:o,schemaCode:n,schema:s}=e;o||s&&typeof s=="object"?e.fail$data((0,ss._)`!${(0,gm.useFunc)(t,ym.default)}(${r}, ${n})`):e.fail((0,ss._)`${s} !== ${r}`)}};as.default=Tm});var hc=C(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var ur=A(),vm=j(),Cm=ao(),Em={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ur._)`{allowedValues: ${e}}`},bm={keyword:"enum",schemaType:"array",$data:!0,error:Em,code(e){let{gen:t,data:r,$data:o,schema:n,schemaCode:s,it:a}=e;if(!o&&n.length===0)throw new Error("enum must have non-empty array");let i=n.length>=a.opts.loopEnum,c,l=()=>c??(c=(0,vm.useFunc)(t,Cm.default)),u;if(i||o)u=t.let("valid"),e.block$data(u,d);else{if(!Array.isArray(n))throw new Error("ajv implementation error");let m=t.const("vSchema",s);u=(0,ur.or)(...n.map((p,f)=>g(m,f)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",s,m=>t.if((0,ur._)`${l()}(${r}, ${m})`,()=>t.assign(u,!0).break()))}function g(m,p){let f=n[p];return typeof f=="object"&&f!==null?(0,ur._)`${l()}(${r}, ${m}[${p}])`:(0,ur._)`${r} === ${f}`}}};is.default=bm});var gc=C(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var wm=oc(),$m=nc(),Rm=ic(),km=cc(),Sm=lc(),Om=uc(),Im=dc(),Pm=pc(),Am=mc(),xm=hc(),Mm=[wm.default,$m.default,Rm.default,km.default,Sm.default,Om.default,Im.default,Pm.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Am.default,xm.default];cs.default=Mm});var us=C(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.validateAdditionalItems=void 0;var pt=A(),ls=j(),Nm={message:({params:{len:e}})=>(0,pt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,pt._)`{limit: ${e}}`},Lm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Nm,code(e){let{parentSchema:t,it:r}=e,{items:o}=t;if(!Array.isArray(o)){(0,ls.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}yc(e,o)}};function yc(e,t){let{gen:r,schema:o,data:n,keyword:s,it:a}=e;a.items=!0;let i=r.const("len",(0,pt._)`${n}.length`);if(o===!1)e.setParams({len:t.length}),e.pass((0,pt._)`${i} <= ${t.length}`);else if(typeof o=="object"&&!(0,ls.alwaysValidSchema)(a,o)){let l=r.var("valid",(0,pt._)`${i} <= ${t.length}`);r.if((0,pt.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,i,u=>{e.subschema({keyword:s,dataProp:u,dataPropType:ls.Type.Num},l),a.allErrors||r.if((0,pt.not)(l),()=>r.break())})}}dr.validateAdditionalItems=yc;dr.default=Lm});var ds=C(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.validateTuple=void 0;var _c=A(),io=j(),jm=$e(),Dm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return Tc(e,"additionalItems",t);r.items=!0,!(0,io.alwaysValidSchema)(r,t)&&e.ok((0,jm.validateArray)(e))}};function Tc(e,t,r=e.schema){let{gen:o,parentSchema:n,data:s,keyword:a,it:i}=e;u(n),i.opts.unevaluated&&r.length&&i.items!==!0&&(i.items=io.mergeEvaluated.items(o,r.length,i.items));let c=o.name("valid"),l=o.const("len",(0,_c._)`${s}.length`);r.forEach((d,g)=>{(0,io.alwaysValidSchema)(i,d)||(o.if((0,_c._)`${l} > ${g}`,()=>e.subschema({keyword:a,schemaProp:g,dataProp:g},c)),e.ok(c))});function u(d){let{opts:g,errSchemaPath:m}=i,p=r.length,f=p===d.minItems&&(p===d.maxItems||d[t]===!1);if(g.strictTuples&&!f){let h=`"${a}" is ${p}-tuple, but minItems or maxItems/${t} are not specified or different at path "${m}"`;(0,io.checkStrictMode)(i,h,g.strictTuples)}}}fr.validateTuple=Tc;fr.default=Dm});var vc=C(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var qm=ds(),Um={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,qm.validateTuple)(e,"items")};fs.default=Um});var Ec=C(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var Cc=A(),Bm=j(),Vm=$e(),zm=us(),Gm={message:({params:{len:e}})=>(0,Cc.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Cc._)`{limit: ${e}}`},Fm={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Gm,code(e){let{schema:t,parentSchema:r,it:o}=e,{prefixItems:n}=r;o.items=!0,!(0,Bm.alwaysValidSchema)(o,t)&&(n?(0,zm.validateAdditionalItems)(e,n):e.ok((0,Vm.validateArray)(e)))}};ps.default=Fm});var bc=C(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var ke=A(),co=j(),Km={message:({params:{min:e,max:t}})=>t===void 0?(0,ke.str)`must contain at least ${e} valid item(s)`:(0,ke.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ke._)`{minContains: ${e}}`:(0,ke._)`{minContains: ${e}, maxContains: ${t}}`},Hm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Km,code(e){let{gen:t,schema:r,parentSchema:o,data:n,it:s}=e,a,i,{minContains:c,maxContains:l}=o;s.opts.next?(a=c===void 0?1:c,i=l):a=1;let u=t.const("len",(0,ke._)`${n}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0,co.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0,co.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,co.alwaysValidSchema)(s,r)){let f=(0,ke._)`${u} >= ${a}`;i!==void 0&&(f=(0,ke._)`${f} && ${u} <= ${i}`),e.pass(f);return}s.items=!0;let d=t.name("valid");i===void 0&&a===1?m(d,()=>t.if(d,()=>t.break())):a===0?(t.let(d,!0),i!==void 0&&t.if((0,ke._)`${n}.length > 0`,g)):(t.let(d,!1),g()),e.result(d,()=>e.reset());function g(){let f=t.name("_valid"),h=t.let("count",0);m(f,()=>t.if(f,()=>p(h)))}function m(f,h){t.forRange("i",0,u,y=>{e.subschema({keyword:"contains",dataProp:y,dataPropType:co.Type.Num,compositeRule:!0},f),h()})}function p(f){t.code((0,ke._)`${f}++`),i===void 0?t.if((0,ke._)`${f} >= ${a}`,()=>t.assign(d,!0).break()):(t.if((0,ke._)`${f} > ${i}`,()=>t.assign(d,!1).break()),a===1?t.assign(d,!0):t.if((0,ke._)`${f} >= ${a}`,()=>t.assign(d,!0)))}}};ms.default=Hm});var lo=C(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.validateSchemaDeps=Le.validatePropertyDeps=Le.error=void 0;var hs=A(),Wm=j(),pr=$e();Le.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let o=t===1?"property":"properties";return(0,hs.str)`must have ${o} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:o}})=>(0,hs._)`{property: ${e},
5
+ || ${a} === "boolean" || ${n} === null`).assign(i,(0,M._)`[${n}]`)}}}function gd({gen:e,parentData:t,parentDataProperty:r},o){e.if((0,M._)`${t} !== undefined`,()=>e.assign((0,M._)`${t}[${r}]`,o))}function Tn(e,t,r,o=vt.Correct){let n=o===vt.Correct?M.operators.EQ:M.operators.NEQ,s;switch(e){case"null":return(0,M._)`${t} ${n} null`;case"array":s=(0,M._)`Array.isArray(${t})`;break;case"object":s=(0,M._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=a((0,M._)`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=a();break;default:return(0,M._)`typeof ${t} ${n} ${e}`}return o===vt.Correct?s:(0,M.not)(s);function a(i=M.nil){return(0,M.and)((0,M._)`typeof ${t} == "number"`,i,r?(0,M._)`isFinite(${t})`:M.nil)}}me.checkDataType=Tn;function vn(e,t,r,o){if(e.length===1)return Tn(e[0],t,r,o);let n,s=(0,Fa.toHash)(e);if(s.array&&s.object){let a=(0,M._)`typeof ${t} != "object"`;n=s.null?a:(0,M._)`!${t} || ${a}`,delete s.null,delete s.array,delete s.object}else n=M.nil;s.number&&delete s.integer;for(let a in s)n=(0,M.and)(n,Tn(a,t,r,o));return n}me.checkDataTypes=vn;var yd={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?(0,M._)`{type: ${e}}`:(0,M._)`{type: ${t}}`};function Cn(e){let t=_d(e);(0,dd.reportError)(t,yd)}me.reportTypeError=Cn;function _d(e){let{gen:t,data:r,schema:o}=e,n=(0,Fa.schemaRefOrVal)(e,o,"type");return{gen:t,keyword:"type",data:r,schema:o.type,schemaCode:n,schemaValue:n,parentSchema:o,params:{},it:e}}});var Ja=C(Fr=>{"use strict";Object.defineProperty(Fr,"__esModule",{value:!0});Fr.assignDefaults=void 0;var Ct=A(),Td=j();function vd(e,t){let{properties:r,items:o}=e.schema;if(t==="object"&&r)for(let n in r)Wa(e,n,r[n].default);else t==="array"&&Array.isArray(o)&&o.forEach((n,s)=>Wa(e,s,n.default))}Fr.assignDefaults=vd;function Wa(e,t,r){let{gen:o,compositeRule:n,data:s,opts:a}=e;if(r===void 0)return;let i=(0,Ct._)`${s}${(0,Ct.getProperty)(t)}`;if(n){(0,Td.checkStrictMode)(e,`default is ignored for: ${i}`);return}let c=(0,Ct._)`${i} === undefined`;a.useDefaults==="empty"&&(c=(0,Ct._)`${c} || ${i} === null || ${i} === ""`),o.if(c,(0,Ct._)`${i} = ${(0,Ct.stringify)(r)}`)}});var $e=C(K=>{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.validateUnion=K.validateArray=K.usePattern=K.callValidateCode=K.schemaProperties=K.allSchemaProperties=K.noPropertyInData=K.propertyInData=K.isOwnProperty=K.hasPropFunc=K.reportMissingProp=K.checkMissingProp=K.checkReportMissingProp=void 0;var Q=A(),En=j(),Fe=we(),Cd=j();function Ed(e,t){let{gen:r,data:o,it:n}=e;r.if(wn(r,o,t,n.opts.ownProperties),()=>{e.setParams({missingProperty:(0,Q._)`${t}`},!0),e.error()})}K.checkReportMissingProp=Ed;function bd({gen:e,data:t,it:{opts:r}},o,n){return(0,Q.or)(...o.map(s=>(0,Q.and)(wn(e,t,s,r.ownProperties),(0,Q._)`${n} = ${s}`)))}K.checkMissingProp=bd;function wd(e,t){e.setParams({missingProperty:t},!0),e.error()}K.reportMissingProp=wd;function Qa(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,Q._)`Object.prototype.hasOwnProperty`})}K.hasPropFunc=Qa;function bn(e,t,r){return(0,Q._)`${Qa(e)}.call(${t}, ${r})`}K.isOwnProperty=bn;function $d(e,t,r,o){let n=(0,Q._)`${t}${(0,Q.getProperty)(r)} !== undefined`;return o?(0,Q._)`${n} && ${bn(e,t,r)}`:n}K.propertyInData=$d;function wn(e,t,r,o){let n=(0,Q._)`${t}${(0,Q.getProperty)(r)} === undefined`;return o?(0,Q.or)(n,(0,Q.not)(bn(e,t,r))):n}K.noPropertyInData=wn;function Ya(e){return e?Object.keys(e).filter(t=>t!=="__proto__"):[]}K.allSchemaProperties=Ya;function Rd(e,t){return Ya(t).filter(r=>!(0,En.alwaysValidSchema)(e,t[r]))}K.schemaProperties=Rd;function kd({schemaCode:e,data:t,it:{gen:r,topSchemaRef:o,schemaPath:n,errorPath:s},it:a},i,c,l){let u=l?(0,Q._)`${e}, ${t}, ${o}${n}`:t,d=[[Fe.default.instancePath,(0,Q.strConcat)(Fe.default.instancePath,s)],[Fe.default.parentData,a.parentData],[Fe.default.parentDataProperty,a.parentDataProperty],[Fe.default.rootData,Fe.default.rootData]];a.opts.dynamicRef&&d.push([Fe.default.dynamicAnchors,Fe.default.dynamicAnchors]);let g=(0,Q._)`${u}, ${r.object(...d)}`;return c!==Q.nil?(0,Q._)`${i}.call(${c}, ${g})`:(0,Q._)`${i}(${g})`}K.callValidateCode=kd;var Sd=(0,Q._)`new RegExp`;function Od({gen:e,it:{opts:t}},r){let o=t.unicodeRegExp?"u":"",{regExp:n}=t.code,s=n(r,o);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,Q._)`${n.code==="new RegExp"?Sd:(0,Cd.useFunc)(e,n)}(${r}, ${o})`})}K.usePattern=Od;function Id(e){let{gen:t,data:r,keyword:o,it:n}=e,s=t.name("valid");if(n.allErrors){let i=t.let("valid",!0);return a(()=>t.assign(i,!1)),i}return t.var(s,!0),a(()=>t.break()),s;function a(i){let c=t.const("len",(0,Q._)`${r}.length`);t.forRange("i",0,c,l=>{e.subschema({keyword:o,dataProp:l,dataPropType:En.Type.Num},s),t.if((0,Q.not)(s),i)})}}K.validateArray=Id;function Pd(e){let{gen:t,schema:r,keyword:o,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,En.alwaysValidSchema)(n,c))&&!n.opts.unevaluated)return;let a=t.let("valid",!1),i=t.name("_valid");t.block(()=>r.forEach((c,l)=>{let u=e.subschema({keyword:o,schemaProp:l,compositeRule:!0},i);t.assign(a,(0,Q._)`${a} || ${i}`),e.mergeValidEvaluated(u,i)||t.if((0,Q.not)(a))})),e.result(a,()=>e.reset(),()=>e.error(!0))}K.validateUnion=Pd});var ei=C(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.validateKeywordUsage=Me.validSchemaType=Me.funcKeywordCode=Me.macroKeywordCode=void 0;var ge=A(),ct=we(),Ad=$e(),xd=Ht();function Md(e,t){let{gen:r,keyword:o,schema:n,parentSchema:s,it:a}=e,i=t.macro.call(a.self,n,s,a),c=Za(r,o,i);a.opts.validateSchema!==!1&&a.self.validateSchema(i,!0);let l=r.name("valid");e.subschema({schema:i,schemaPath:ge.nil,errSchemaPath:`${a.errSchemaPath}/${o}`,topSchemaRef:c,compositeRule:!0},l),e.pass(l,()=>e.error(!0))}Me.macroKeywordCode=Md;function Nd(e,t){var r;let{gen:o,keyword:n,schema:s,parentSchema:a,$data:i,it:c}=e;jd(c,t);let l=!i&&t.compile?t.compile.call(c.self,s,a,c):t.validate,u=Za(o,n,l),d=o.let("valid");e.block$data(d,g),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function g(){if(t.errors===!1)f(),t.modifying&&Xa(e),h(()=>e.error());else{let y=t.async?m():p();t.modifying&&Xa(e),h(()=>Ld(e,y))}}function m(){let y=o.let("ruleErrs",null);return o.try(()=>f((0,ge._)`await `),w=>o.assign(d,!1).if((0,ge._)`${w} instanceof ${c.ValidationError}`,()=>o.assign(y,(0,ge._)`${w}.errors`),()=>o.throw(w))),y}function p(){let y=(0,ge._)`${u}.errors`;return o.assign(y,null),f(ge.nil),y}function f(y=t.async?(0,ge._)`await `:ge.nil){let w=c.opts.passContext?ct.default.this:ct.default.self,b=!("compile"in t&&!i||t.schema===!1);o.assign(d,(0,ge._)`${y}${(0,Ad.callValidateCode)(e,u,w,b)}`,t.modifying)}function h(y){var w;o.if((0,ge.not)((w=t.valid)!==null&&w!==void 0?w:d),y)}}Me.funcKeywordCode=Nd;function Xa(e){let{gen:t,data:r,it:o}=e;t.if(o.parentData,()=>t.assign(r,(0,ge._)`${o.parentData}[${o.parentDataProperty}]`))}function Ld(e,t){let{gen:r}=e;r.if((0,ge._)`Array.isArray(${t})`,()=>{r.assign(ct.default.vErrors,(0,ge._)`${ct.default.vErrors} === null ? ${t} : ${ct.default.vErrors}.concat(${t})`).assign(ct.default.errors,(0,ge._)`${ct.default.vErrors}.length`),(0,xd.extendErrors)(e)},()=>e.error())}function jd({schemaEnv:e},t){if(t.async&&!e.$async)throw new Error("async keyword in sync schema")}function Za(e,t,r){if(r===void 0)throw new Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,ge.stringify)(r)})}function Dd(e,t,r=!1){return!t.length||t.some(o=>o==="array"?Array.isArray(e):o==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==o||r&&typeof e>"u")}Me.validSchemaType=Dd;function qd({schema:e,opts:t,self:r,errSchemaPath:o},n,s){if(Array.isArray(n.keyword)?!n.keyword.includes(s):n.keyword!==s)throw new Error("ajv implementation error");let a=n.dependencies;if(a?.some(i=>!Object.prototype.hasOwnProperty.call(e,i)))throw new Error(`parent schema must have dependencies of ${s}: ${a.join(",")}`);if(n.validateSchema&&!n.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${o}": `+r.errorsText(n.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}Me.validateKeywordUsage=qd});var ri=C(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.extendSubschemaMode=Ke.extendSubschemaData=Ke.getSubschema=void 0;var Ne=A(),ti=j();function Ud(e,{keyword:t,schemaProp:r,schema:o,schemaPath:n,errSchemaPath:s,topSchemaRef:a}){if(t!==void 0&&o!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let i=e.schema[t];return r===void 0?{schema:i,schemaPath:(0,Ne._)`${e.schemaPath}${(0,Ne.getProperty)(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:i[r],schemaPath:(0,Ne._)`${e.schemaPath}${(0,Ne.getProperty)(t)}${(0,Ne.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${(0,ti.escapeFragment)(r)}`}}if(o!==void 0){if(n===void 0||s===void 0||a===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:o,schemaPath:n,topSchemaRef:a,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}Ke.getSubschema=Ud;function Vd(e,t,{dataProp:r,dataPropType:o,data:n,dataTypes:s,propertyName:a}){if(n!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:i}=t;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=t,g=i.let("data",(0,Ne._)`${t.data}${(0,Ne.getProperty)(r)}`,!0);c(g),e.errorPath=(0,Ne.str)`${l}${(0,ti.getErrorPath)(r,o,d.jsPropertySyntax)}`,e.parentDataProperty=(0,Ne._)`${r}`,e.dataPathArr=[...u,e.parentDataProperty]}if(n!==void 0){let l=n instanceof Ne.Name?n:i.let("data",n,!0);c(l),a!==void 0&&(e.propertyName=a)}s&&(e.dataTypes=s);function c(l){e.data=l,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,l]}}Ke.extendSubschemaData=Vd;function Bd(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:o,createErrors:n,allErrors:s}){o!==void 0&&(e.compositeRule=o),n!==void 0&&(e.createErrors=n),s!==void 0&&(e.allErrors=s),e.jtdDiscriminator=t,e.jtdMetadata=r}Ke.extendSubschemaMode=Bd});var $n=C((w_,oi)=>{"use strict";oi.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var o,n,s;if(Array.isArray(t)){if(o=t.length,o!=r.length)return!1;for(n=o;n--!==0;)if(!e(t[n],r[n]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),o=s.length,o!==Object.keys(r).length)return!1;for(n=o;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=o;n--!==0;){var a=s[n];if(!e(t[a],r[a]))return!1}return!0}return t!==t&&r!==r}});var si=C(($_,ni)=>{"use strict";var He=ni.exports=function(e,t,r){typeof t=="function"&&(r=t,t={}),r=t.cb||r;var o=typeof r=="function"?r:r.pre||function(){},n=r.post||function(){};Kr(t,o,n,e,"",e)};He.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};He.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};He.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};He.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 Kr(e,t,r,o,n,s,a,i,c,l){if(o&&typeof o=="object"&&!Array.isArray(o)){t(o,n,s,a,i,c,l);for(var u in o){var d=o[u];if(Array.isArray(d)){if(u in He.arrayKeywords)for(var g=0;g<d.length;g++)Kr(e,t,r,d[g],n+"/"+u+"/"+g,s,n,u,o,g)}else if(u in He.propsKeywords){if(d&&typeof d=="object")for(var m in d)Kr(e,t,r,d[m],n+"/"+u+"/"+zd(m),s,n,u,o,m)}else(u in He.keywords||e.allKeys&&!(u in He.skipKeywords))&&Kr(e,t,r,d,n+"/"+u,s,n,u,o)}r(o,n,s,a,i,c,l)}}function zd(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var Jt=C(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.getSchemaRefs=Te.resolveUrl=Te.normalizeId=Te._getFullPath=Te.getFullPath=Te.inlineRef=void 0;var Gd=j(),Fd=$n(),Kd=si(),Hd=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Wd(e,t=!0){return typeof e=="boolean"?!0:t===!0?!Rn(e):t?ai(e)<=t:!1}Te.inlineRef=Wd;var Jd=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Rn(e){for(let t in e){if(Jd.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Rn)||typeof r=="object"&&Rn(r))return!0}return!1}function ai(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,!Hd.has(r)&&(typeof e[r]=="object"&&(0,Gd.eachItem)(e[r],o=>t+=ai(o)),t===1/0))return 1/0}return t}function ii(e,t="",r){r!==!1&&(t=Et(t));let o=e.parse(t);return ci(e,o)}Te.getFullPath=ii;function ci(e,t){return e.serialize(t).split("#")[0]+"#"}Te._getFullPath=ci;var Qd=/#\/?$/;function Et(e){return e?e.replace(Qd,""):""}Te.normalizeId=Et;function Yd(e,t,r){return r=Et(r),e.resolve(t,r)}Te.resolveUrl=Yd;var Xd=/^[a-z_][-a-z0-9._]*$/i;function Zd(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:o}=this.opts,n=Et(e[r]||t),s={"":n},a=ii(o,n,!1),i={},c=new Set;return Kd(e,{allKeys:!0},(d,g,m,p)=>{if(p===void 0)return;let f=a+g,h=s[p];typeof d[r]=="string"&&(h=y.call(this,d[r])),w.call(this,d.$anchor),w.call(this,d.$dynamicAnchor),s[g]=h;function y(b){let S=this.opts.uriResolver.resolve;if(b=Et(h?S(h,b):b),c.has(b))throw u(b);c.add(b);let $=this.refs[b];return typeof $=="string"&&($=this.refs[$]),typeof $=="object"?l(d,$.schema,b):b!==Et(f)&&(b[0]==="#"?(l(d,i[b],b),i[b]=d):this.refs[b]=f),b}function w(b){if(typeof b=="string"){if(!Xd.test(b))throw new Error(`invalid anchor "${b}"`);y.call(this,`#${b}`)}}}),i;function l(d,g,m){if(g!==void 0&&!Fd(d,g))throw u(m)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Te.getSchemaRefs=Zd});var Xt=C(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.getData=We.KeywordCxt=We.validateFunctionCode=void 0;var pi=Ba(),li=Wt(),Sn=_n(),Hr=Wt(),ef=Ja(),Yt=ei(),kn=ri(),R=A(),I=we(),tf=Jt(),Ue=j(),Qt=Ht();function rf(e){if(gi(e)&&(yi(e),hi(e))){sf(e);return}mi(e,()=>(0,pi.topBoolOrEmptySchema)(e))}We.validateFunctionCode=rf;function mi({gen:e,validateName:t,schema:r,schemaEnv:o,opts:n},s){n.code.es5?e.func(t,(0,R._)`${I.default.data}, ${I.default.valCxt}`,o.$async,()=>{e.code((0,R._)`"use strict"; ${ui(r,n)}`),nf(e,n),e.code(s)}):e.func(t,(0,R._)`${I.default.data}, ${of(n)}`,o.$async,()=>e.code(ui(r,n)).code(s))}function of(e){return(0,R._)`{${I.default.instancePath}="", ${I.default.parentData}, ${I.default.parentDataProperty}, ${I.default.rootData}=${I.default.data}${e.dynamicRef?(0,R._)`, ${I.default.dynamicAnchors}={}`:R.nil}}={}`}function nf(e,t){e.if(I.default.valCxt,()=>{e.var(I.default.instancePath,(0,R._)`${I.default.valCxt}.${I.default.instancePath}`),e.var(I.default.parentData,(0,R._)`${I.default.valCxt}.${I.default.parentData}`),e.var(I.default.parentDataProperty,(0,R._)`${I.default.valCxt}.${I.default.parentDataProperty}`),e.var(I.default.rootData,(0,R._)`${I.default.valCxt}.${I.default.rootData}`),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0,R._)`${I.default.valCxt}.${I.default.dynamicAnchors}`)},()=>{e.var(I.default.instancePath,(0,R._)`""`),e.var(I.default.parentData,(0,R._)`undefined`),e.var(I.default.parentDataProperty,(0,R._)`undefined`),e.var(I.default.rootData,I.default.data),t.dynamicRef&&e.var(I.default.dynamicAnchors,(0,R._)`{}`)})}function sf(e){let{schema:t,opts:r,gen:o}=e;mi(e,()=>{r.$comment&&t.$comment&&Ti(e),df(e),o.let(I.default.vErrors,null),o.let(I.default.errors,0),r.unevaluated&&af(e),_i(e),mf(e)})}function af(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",(0,R._)`${r}.evaluated`),t.if((0,R._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,R._)`${e.evaluated}.props`,(0,R._)`undefined`)),t.if((0,R._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,R._)`${e.evaluated}.items`,(0,R._)`undefined`))}function ui(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?(0,R._)`/*# sourceURL=${r} */`:R.nil}function cf(e,t){if(gi(e)&&(yi(e),hi(e))){lf(e,t);return}(0,pi.boolOrEmptySchema)(e,t)}function hi({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function gi(e){return typeof e.schema!="boolean"}function lf(e,t){let{schema:r,gen:o,opts:n}=e;n.$comment&&r.$comment&&Ti(e),ff(e),pf(e);let s=o.const("_errs",I.default.errors);_i(e,s),o.var(t,(0,R._)`${s} === ${I.default.errors}`)}function yi(e){(0,Ue.checkUnknownRules)(e),uf(e)}function _i(e,t){if(e.opts.jtd)return di(e,[],!1,t);let r=(0,li.getSchemaTypes)(e.schema),o=(0,li.coerceAndCheckDataType)(e,r);di(e,r,!o,t)}function uf(e){let{schema:t,errSchemaPath:r,opts:o,self:n}=e;t.$ref&&o.ignoreKeywordsWithRef&&(0,Ue.schemaHasRulesButRef)(t,n.RULES)&&n.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function df(e){let{schema:t,opts:r}=e;t.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Ue.checkStrictMode)(e,"default is ignored in the schema root")}function ff(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,tf.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function pf(e){if(e.schema.$async&&!e.schemaEnv.$async)throw new Error("async schema in sync schema")}function Ti({gen:e,schemaEnv:t,schema:r,errSchemaPath:o,opts:n}){let s=r.$comment;if(n.$comment===!0)e.code((0,R._)`${I.default.self}.logger.log(${s})`);else if(typeof n.$comment=="function"){let a=(0,R.str)`${o}/$comment`,i=e.scopeValue("root",{ref:t.root});e.code((0,R._)`${I.default.self}.opts.$comment(${s}, ${a}, ${i}.schema)`)}}function mf(e){let{gen:t,schemaEnv:r,validateName:o,ValidationError:n,opts:s}=e;r.$async?t.if((0,R._)`${I.default.errors} === 0`,()=>t.return(I.default.data),()=>t.throw((0,R._)`new ${n}(${I.default.vErrors})`)):(t.assign((0,R._)`${o}.errors`,I.default.vErrors),s.unevaluated&&hf(e),t.return((0,R._)`${I.default.errors} === 0`))}function hf({gen:e,evaluated:t,props:r,items:o}){r instanceof R.Name&&e.assign((0,R._)`${t}.props`,r),o instanceof R.Name&&e.assign((0,R._)`${t}.items`,o)}function di(e,t,r,o){let{gen:n,schema:s,data:a,allErrors:i,opts:c,self:l}=e,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Ue.schemaHasRulesButRef)(s,u))){n.block(()=>Ci(e,"$ref",u.all.$ref.definition));return}c.jtd||gf(e,t),n.block(()=>{for(let g of u.rules)d(g);d(u.post)});function d(g){(0,Sn.shouldUseGroup)(s,g)&&(g.type?(n.if((0,Hr.checkDataType)(g.type,a,c.strictNumbers)),fi(e,g),t.length===1&&t[0]===g.type&&r&&(n.else(),(0,Hr.reportTypeError)(e)),n.endIf()):fi(e,g),i||n.if((0,R._)`${I.default.errors} === ${o||0}`))}}function fi(e,t){let{gen:r,schema:o,opts:{useDefaults:n}}=e;n&&(0,ef.assignDefaults)(e,t.type),r.block(()=>{for(let s of t.rules)(0,Sn.shouldUseRule)(o,s)&&Ci(e,s.keyword,s.definition,t.type)})}function gf(e,t){e.schemaEnv.meta||!e.opts.strictTypes||(yf(e,t),e.opts.allowUnionTypes||_f(e,t),Tf(e,e.dataTypes))}function yf(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(r=>{vi(e.dataTypes,r)||On(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),Cf(e,t)}}function _f(e,t){t.length>1&&!(t.length===2&&t.includes("null"))&&On(e,"use allowUnionTypes to allow union type keyword")}function Tf(e,t){let r=e.self.RULES.all;for(let o in r){let n=r[o];if(typeof n=="object"&&(0,Sn.shouldUseRule)(e.schema,n)){let{type:s}=n.definition;s.length&&!s.some(a=>vf(t,a))&&On(e,`missing type "${s.join(",")}" for keyword "${o}"`)}}}function vf(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function vi(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function Cf(e,t){let r=[];for(let o of e.dataTypes)vi(t,o)?r.push(o):t.includes("integer")&&o==="number"&&r.push("integer");e.dataTypes=r}function On(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,(0,Ue.checkStrictMode)(e,t,e.opts.strictTypes)}var Wr=class{constructor(t,r,o){if((0,Yt.validateKeywordUsage)(t,r,o),this.gen=t.gen,this.allErrors=t.allErrors,this.keyword=o,this.data=t.data,this.schema=t.schema[o],this.$data=r.$data&&t.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Ue.schemaRefOrVal)(t,this.schema,o,this.$data),this.schemaType=r.schemaType,this.parentSchema=t.schema,this.params={},this.it=t,this.def=r,this.$data)this.schemaCode=t.gen.const("vSchema",Ei(this.$data,t));else if(this.schemaCode=this.schemaValue,!(0,Yt.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${o} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=t.gen.const("_errs",I.default.errors))}result(t,r,o){this.failResult((0,R.not)(t),r,o)}failResult(t,r,o){this.gen.if(t),o?o():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(t,r){this.failResult((0,R.not)(t),void 0,r)}fail(t){if(t===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(t),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(t){if(!this.$data)return this.fail(t);let{schemaCode:r}=this;this.fail((0,R._)`${r} !== undefined && (${(0,R.or)(this.invalid$data(),t)})`)}error(t,r,o){if(r){this.setParams(r),this._error(t,o),this.setParams({});return}this._error(t,o)}_error(t,r){(t?Qt.reportExtraError:Qt.reportError)(this,this.def.error,r)}$dataError(){(0,Qt.reportError)(this,this.def.$dataError||Qt.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Qt.resetErrorsCount)(this.gen,this.errsCount)}ok(t){this.allErrors||this.gen.if(t)}setParams(t,r){r?Object.assign(this.params,t):this.params=t}block$data(t,r,o=R.nil){this.gen.block(()=>{this.check$data(t,o),r()})}check$data(t=R.nil,r=R.nil){if(!this.$data)return;let{gen:o,schemaCode:n,schemaType:s,def:a}=this;o.if((0,R.or)((0,R._)`${n} === undefined`,r)),t!==R.nil&&o.assign(t,!0),(s.length||a.validateSchema)&&(o.elseIf(this.invalid$data()),this.$dataError(),t!==R.nil&&o.assign(t,!1)),o.else()}invalid$data(){let{gen:t,schemaCode:r,schemaType:o,def:n,it:s}=this;return(0,R.or)(a(),i());function a(){if(o.length){if(!(r instanceof R.Name))throw new Error("ajv implementation error");let c=Array.isArray(o)?o:[o];return(0,R._)`${(0,Hr.checkDataTypes)(c,r,s.opts.strictNumbers,Hr.DataType.Wrong)}`}return R.nil}function i(){if(n.validateSchema){let c=t.scopeValue("validate$data",{ref:n.validateSchema});return(0,R._)`!${c}(${r})`}return R.nil}}subschema(t,r){let o=(0,kn.getSubschema)(this.it,t);(0,kn.extendSubschemaData)(o,this.it,t),(0,kn.extendSubschemaMode)(o,t);let n={...this.it,...o,items:void 0,props:void 0};return cf(n,r),n}mergeEvaluated(t,r){let{it:o,gen:n}=this;o.opts.unevaluated&&(o.props!==!0&&t.props!==void 0&&(o.props=Ue.mergeEvaluated.props(n,t.props,o.props,r)),o.items!==!0&&t.items!==void 0&&(o.items=Ue.mergeEvaluated.items(n,t.items,o.items,r)))}mergeValidEvaluated(t,r){let{it:o,gen:n}=this;if(o.opts.unevaluated&&(o.props!==!0||o.items!==!0))return n.if(r,()=>this.mergeEvaluated(t,R.Name)),!0}};We.KeywordCxt=Wr;function Ci(e,t,r,o){let n=new Wr(e,r,t);"code"in r?r.code(n,o):n.$data&&r.validate?(0,Yt.funcKeywordCode)(n,r):"macro"in r?(0,Yt.macroKeywordCode)(n,r):(r.compile||r.validate)&&(0,Yt.funcKeywordCode)(n,r)}var Ef=/^\/(?:[^~]|~0|~1)*$/,bf=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Ei(e,{dataLevel:t,dataNames:r,dataPathArr:o}){let n,s;if(e==="")return I.default.rootData;if(e[0]==="/"){if(!Ef.test(e))throw new Error(`Invalid JSON-pointer: ${e}`);n=e,s=I.default.rootData}else{let l=bf.exec(e);if(!l)throw new Error(`Invalid JSON-pointer: ${e}`);let u=+l[1];if(n=l[2],n==="#"){if(u>=t)throw new Error(c("property/index",u));return o[t-u]}if(u>t)throw new Error(c("data",u));if(s=r[t-u],!n)return s}let a=s,i=n.split("/");for(let l of i)l&&(s=(0,R._)`${s}${(0,R.getProperty)((0,Ue.unescapeJsonPointer)(l))}`,a=(0,R._)`${a} && ${s}`);return a;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${t}`}}We.getData=Ei});var Jr=C(Pn=>{"use strict";Object.defineProperty(Pn,"__esModule",{value:!0});var In=class extends Error{constructor(t){super("validation failed"),this.errors=t,this.ajv=this.validation=!0}};Pn.default=In});var Zt=C(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});var An=Jt(),xn=class extends Error{constructor(t,r,o,n){super(n||`can't resolve reference ${o} from id ${r}`),this.missingRef=(0,An.resolveUrl)(t,r,o),this.missingSchema=(0,An.normalizeId)((0,An.getFullPath)(t,this.missingRef))}};Mn.default=xn});var er=C(Re=>{"use strict";Object.defineProperty(Re,"__esModule",{value:!0});Re.resolveSchema=Re.getCompilingSchema=Re.resolveRef=Re.compileSchema=Re.SchemaEnv=void 0;var Pe=A(),wf=Jr(),lt=we(),Ae=Jt(),bi=j(),$f=Xt(),bt=class{constructor(t){var r;this.refs={},this.dynamicAnchors={};let o;typeof t.schema=="object"&&(o=t.schema),this.schema=t.schema,this.schemaId=t.schemaId,this.root=t.root||this,this.baseId=(r=t.baseId)!==null&&r!==void 0?r:(0,Ae.normalizeId)(o?.[t.schemaId||"$id"]),this.schemaPath=t.schemaPath,this.localRefs=t.localRefs,this.meta=t.meta,this.$async=o?.$async,this.refs={}}};Re.SchemaEnv=bt;function Ln(e){let t=wi.call(this,e);if(t)return t;let r=(0,Ae.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:o,lines:n}=this.opts.code,{ownProperties:s}=this.opts,a=new Pe.CodeGen(this.scope,{es5:o,lines:n,ownProperties:s}),i;e.$async&&(i=a.scopeValue("Error",{ref:wf.default,code:(0,Pe._)`require("ajv/dist/runtime/validation_error").default`}));let c=a.scopeName("validate");e.validateName=c;let l={gen:a,allErrors:this.opts.allErrors,data:lt.default.data,parentData:lt.default.parentData,parentDataProperty:lt.default.parentDataProperty,dataNames:[lt.default.data],dataPathArr:[Pe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:a.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:(0,Pe.stringify)(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:i,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Pe.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Pe._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(e),(0,$f.validateFunctionCode)(l),a.optimize(this.opts.code.optimize);let d=a.toString();u=`${a.scopeRefs(lt.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,e));let m=new Function(`${lt.default.self}`,`${lt.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=e.schema,m.schemaEnv=e,e.$async&&(m.$async=!0),this.opts.code.source===!0&&(m.source={validateName:c,validateCode:d,scopeValues:a._values}),this.opts.unevaluated){let{props:p,items:f}=l;m.evaluated={props:p instanceof Pe.Name?void 0:p,items:f instanceof Pe.Name?void 0:f,dynamicProps:p instanceof Pe.Name,dynamicItems:f instanceof Pe.Name},m.source&&(m.source.evaluated=(0,Pe.stringify)(m.evaluated))}return e.validate=m,e}catch(d){throw delete e.validate,delete e.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(e)}}Re.compileSchema=Ln;function Rf(e,t,r){var o;r=(0,Ae.resolveUrl)(this.opts.uriResolver,t,r);let n=e.refs[r];if(n)return n;let s=Of.call(this,e,r);if(s===void 0){let a=(o=e.localRefs)===null||o===void 0?void 0:o[r],{schemaId:i}=this.opts;a&&(s=new bt({schema:a,schemaId:i,root:e,baseId:t}))}if(s!==void 0)return e.refs[r]=kf.call(this,s)}Re.resolveRef=Rf;function kf(e){return(0,Ae.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:Ln.call(this,e)}function wi(e){for(let t of this._compilations)if(Sf(t,e))return t}Re.getCompilingSchema=wi;function Sf(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function Of(e,t){let r;for(;typeof(r=this.refs[t])=="string";)t=r;return r||this.schemas[t]||Qr.call(this,e,t)}function Qr(e,t){let r=this.opts.uriResolver.parse(t),o=(0,Ae._getFullPath)(this.opts.uriResolver,r),n=(0,Ae.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&o===n)return Nn.call(this,r,e);let s=(0,Ae.normalizeId)(o),a=this.refs[s]||this.schemas[s];if(typeof a=="string"){let i=Qr.call(this,e,a);return typeof i?.schema!="object"?void 0:Nn.call(this,r,i)}if(typeof a?.schema=="object"){if(a.validate||Ln.call(this,a),s===(0,Ae.normalizeId)(t)){let{schema:i}=a,{schemaId:c}=this.opts,l=i[c];return l&&(n=(0,Ae.resolveUrl)(this.opts.uriResolver,n,l)),new bt({schema:i,schemaId:c,root:e,baseId:n})}return Nn.call(this,r,a)}}Re.resolveSchema=Qr;var If=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Nn(e,{baseId:t,schema:r,root:o}){var n;if(((n=e.fragment)===null||n===void 0?void 0:n[0])!=="/")return;for(let i of e.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,bi.unescapeFragment)(i)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!If.has(i)&&l&&(t=(0,Ae.resolveUrl)(this.opts.uriResolver,t,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,bi.schemaHasRulesButRef)(r,this.RULES)){let i=(0,Ae.resolveUrl)(this.opts.uriResolver,t,r.$ref);s=Qr.call(this,o,i)}let{schemaId:a}=this.opts;if(s=s||new bt({schema:r,schemaId:a,root:o,baseId:t}),s.schema!==s.root.schema)return s}});var $i=C((P_,Pf)=>{Pf.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 qn=C((A_,Pi)=>{"use strict";var Af=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),ki=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),jn=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Si=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),xf=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Dn(e){let t="",r=0,o=0;for(o=0;o<e.length;o++)if(r=e[o].charCodeAt(0),r!==48){if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[o];break}for(o+=1;o<e.length;o++){if(r=e[o].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[o]}return t}var Mf=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Ri(e){return e.length=0,!0}function Nf(e,t,r){if(e.length){let o=Dn(e);if(o!=="")t.push(o);else return r.error=!0,!1;e.length=0}return!0}function Lf(e){let t=0,r={error:!1,address:"",zone:""},o=[],n=[],s=!1,a=!1,i=Nf;for(let c=0;c<e.length;c++){let l=e[c];if(!(l==="["||l==="]"))if(l===":"){if(s===!0&&(a=!0),!i(n,o,r))break;if(++t>7){r.error=!0;break}c>0&&e[c-1]===":"&&(s=!0),o.push(":");continue}else if(l==="%"){if(!i(n,o,r))break;i=Ri}else{n.push(l);continue}}return n.length&&(i===Ri?r.zone=n.join(""):a?o.push(n.join("")):o.push(Dn(n))),r.address=o.join(""),r}function Oi(e){if(jf(e,":")<2)return{host:e,isIPV6:!1};let t=Lf(e);if(t.error)return{host:e,isIPV6:!1};{let r=t.address,o=t.address;return t.zone&&(r+="%"+t.zone,o+="%25"+t.zone),{host:r,isIPV6:!0,escapedHost:o}}}function jf(e,t){let r=0;for(let o=0;o<e.length;o++)e[o]===t&&r++;return r}function Df(e){let t=e,r=[],o=-1,n=0;for(;n=t.length;){if(n===1){if(t===".")break;if(t==="/"){r.push("/");break}else{r.push(t);break}}else if(n===2){if(t[0]==="."){if(t[1]===".")break;if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&(t[1]==="."||t[1]==="/")){r.push("/");break}}else if(n===3&&t==="/.."){r.length!==0&&r.pop(),r.push("/");break}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"&&t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."&&t[3]==="/"){t=t.slice(3),r.length!==0&&r.pop();continue}}if((o=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,o)),t=t.slice(o)}return r.join("")}var qf={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},Uf=/[@/?#:]/g,Vf=/[@/?#]/g;function Ii(e,t){let r=t?Vf:Uf;return r.lastIndex=0,e.replace(r,o=>qf[o])}function Bf(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let o=0;o<e.length;o++){if(e[o]==="%"&&o+2<e.length){let n=e.slice(o+1,o+3);if(jn(n)){let s=n.toUpperCase(),a=String.fromCharCode(parseInt(s,16));t&&Si(a)?r+=a:r+="%"+s,o+=2;continue}}r+=e[o]}return r}function zf(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let o=e.slice(r+1,r+3);if(jn(o)){let n=o.toUpperCase(),s=String.fromCharCode(parseInt(n,16));s!=="."&&Si(s)?t+=s:t+="%"+n,r+=2;continue}}xf(e[r])?t+=e[r]:t+=escape(e[r])}return t}function Gf(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let o=e.slice(r+1,r+3);if(jn(o)){t+="%"+o.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function Ff(e){let t=[];if(e.userinfo!==void 0&&(t.push(e.userinfo),t.push("@")),e.host!==void 0){let r=unescape(e.host);if(!ki(r)){let o=Oi(r);o.isIPV6===!0?r=`[${o.escapedHost}]`:r=Ii(r,!1)}t.push(r)}return(typeof e.port=="number"||typeof e.port=="string")&&(t.push(":"),t.push(String(e.port))),t.length?t.join(""):void 0}Pi.exports={nonSimpleDomain:Mf,recomposeAuthority:Ff,reescapeHostDelimiters:Ii,normalizePercentEncoding:Bf,normalizePathEncoding:zf,escapePreservingEscapes:Gf,removeDotSegments:Df,isIPv4:ki,isUUID:Af,normalizeIPv6:Oi,stringArrayToHexStripped:Dn}});var Li=C((x_,Ni)=>{"use strict";var{isUUID:Kf}=qn(),Hf=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,Wf=["http","https","ws","wss","urn","urn:uuid"];function Jf(e){return Wf.indexOf(e)!==-1}function Un(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S"):!1}function Ai(e){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e}function xi(e){let t=String(e.scheme).toLowerCase()==="https";return(e.port===(t?443:80)||e.port==="")&&(e.port=void 0),e.path||(e.path="/"),e}function Qf(e){return e.secure=Un(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function Yf(e){if((e.port===(Un(e)?443:80)||e.port==="")&&(e.port=void 0),typeof e.secure=="boolean"&&(e.scheme=e.secure?"wss":"ws",e.secure=void 0),e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function Xf(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(Hf);if(r){let o=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let n=`${o}:${t.nid||e.nid}`,s=Vn(n);e.path=void 0,s&&(e=s.parse(e,t))}else e.error=e.error||"URN can not be parsed.";return e}function Zf(e,t){if(e.nid===void 0)throw new Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",o=e.nid.toLowerCase(),n=`${r}:${t.nid||o}`,s=Vn(n);s&&(e=s.serialize(e,t));let a=e,i=e.nss;return a.path=`${o||t.nid}:${i}`,t.skipEscape=!0,a}function ep(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!Kf(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function tp(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var Mi={scheme:"http",domainHost:!0,parse:Ai,serialize:xi},rp={scheme:"https",domainHost:Mi.domainHost,parse:Ai,serialize:xi},Yr={scheme:"ws",domainHost:!0,parse:Qf,serialize:Yf},op={scheme:"wss",domainHost:Yr.domainHost,parse:Yr.parse,serialize:Yr.serialize},np={scheme:"urn",parse:Xf,serialize:Zf,skipNormalize:!0},sp={scheme:"urn:uuid",parse:ep,serialize:tp,skipNormalize:!0},Xr={http:Mi,https:rp,ws:Yr,wss:op,urn:np,"urn:uuid":sp};Object.setPrototypeOf(Xr,null);function Vn(e){return e&&(Xr[e]||Xr[e.toLowerCase()])||void 0}Ni.exports={wsIsSecure:Un,SCHEMES:Xr,isValidSchemeName:Jf,getSchemeHandler:Vn}});var Bi=C((M_,Zr)=>{"use strict";var{normalizeIPv6:ap,removeDotSegments:tr,recomposeAuthority:ip,normalizePercentEncoding:cp,normalizePathEncoding:lp,escapePreservingEscapes:up,reescapeHostDelimiters:dp,isIPv4:fp,nonSimpleDomain:pp}=qn(),{SCHEMES:mp,getSchemeHandler:Di}=Li();function hp(e,t){return typeof e=="string"?e=vp(e,t):typeof e=="object"&&(e=wt(ut(e,t),t)),e}function gp(e,t,r){let o=r?Object.assign({scheme:"null"},r):{scheme:"null"},n=qi(wt(e,o),wt(t,o),o,!0);return o.skipEscape=!0,ut(n,o)}function qi(e,t,r,o){let n={};return o||(e=wt(ut(e,r),r),t=wt(ut(t,r),r)),r=r||{},!r.tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=tr(t.path||""),n.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=tr(t.path||""),n.query=t.query):(t.path?(t.path[0]==="/"?n.path=tr(t.path):((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?n.path="/"+t.path:e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path,n.path=tr(n.path)),n.query=t.query):(n.path=e.path,t.query!==void 0?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function yp(e,t,r){let o=ji(e,r),n=ji(t,r);return o!==void 0&&n!==void 0&&o.toLowerCase()===n.toLowerCase()}function ut(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},o=Object.assign({},t),n=[],s=Di(o.scheme||r.scheme);s&&s.serialize&&s.serialize(r,o),r.path!==void 0&&(o.skipEscape?r.path=cp(r.path):(r.path=up(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),o.reference!=="suffix"&&r.scheme&&n.push(r.scheme,":");let a=ip(r);if(a!==void 0&&(o.reference!=="suffix"&&n.push("//"),n.push(a),r.path&&r.path[0]!=="/"&&n.push("/")),r.path!==void 0){let i=r.path;!o.absolutePath&&(!s||!s.absolutePath)&&(i=tr(i)),a===void 0&&i[0]==="/"&&i[1]==="/"&&(i="/%2F"+i.slice(2)),n.push(i)}return r.query!==void 0&&n.push("?",r.query),r.fragment!==void 0&&n.push("#",r.fragment),n.join("")}var _p=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function Tp(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port=="number"&&(e.port<0||e.port>65535))return"URI port is malformed."}function Ui(e,t){let r=Object.assign({},t),o={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},n=!1,s=!1;r.reference==="suffix"&&(r.scheme?e=r.scheme+":"+e:e="//"+e);let a=e.match(_p);if(a){o.scheme=a[1],o.userinfo=a[3],o.host=a[4],o.port=parseInt(a[5],10),o.path=a[6]||"",o.query=a[7],o.fragment=a[8],isNaN(o.port)&&(o.port=a[5]);let i=Tp(o,a);if(i!==void 0&&(o.error=o.error||i,n=!0),o.host)if(fp(o.host)===!1){let u=ap(o.host);o.host=u.host.toLowerCase(),s=u.isIPV6}else s=!0;o.scheme===void 0&&o.userinfo===void 0&&o.host===void 0&&o.port===void 0&&o.query===void 0&&!o.path?o.reference="same-document":o.scheme===void 0?o.reference="relative":o.fragment===void 0?o.reference="absolute":o.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==o.reference&&(o.error=o.error||"URI is not a "+r.reference+" reference.");let c=Di(r.scheme||o.scheme);if(!r.unicodeSupport&&(!c||!c.unicodeSupport)&&o.host&&(r.domainHost||c&&c.domainHost)&&s===!1&&pp(o.host))try{o.host=URL.domainToASCII(o.host.toLowerCase())}catch(l){o.error=o.error||"Host's domain name can not be converted to ASCII: "+l}if((!c||c&&!c.skipNormalize)&&(e.indexOf("%")!==-1&&(o.scheme!==void 0&&(o.scheme=unescape(o.scheme)),o.host!==void 0&&(o.host=dp(unescape(o.host),s))),o.path&&(o.path=lp(o.path)),o.fragment))try{o.fragment=encodeURI(decodeURIComponent(o.fragment))}catch{o.error=o.error||"URI malformed"}c&&c.parse&&c.parse(o,r)}else o.error=o.error||"URI can not be parsed.";return{parsed:o,malformedAuthorityOrPort:n}}function wt(e,t){return Ui(e,t).parsed}function vp(e,t){return Vi(e,t).normalized}function Vi(e,t){let{parsed:r,malformedAuthorityOrPort:o}=Ui(e,t);return{normalized:o?e:ut(r,t),malformedAuthorityOrPort:o}}function ji(e,t){if(typeof e=="string"){let{normalized:r,malformedAuthorityOrPort:o}=Vi(e,t);return o?void 0:r}if(typeof e=="object")return ut(e,t)}var Bn={SCHEMES:mp,normalize:hp,resolve:gp,resolveComponent:qi,equal:yp,serialize:ut,parse:wt};Zr.exports=Bn;Zr.exports.default=Bn;Zr.exports.fastUri=Bn});var Gi=C(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});var zi=Bi();zi.code='require("ajv/dist/runtime/uri").default';zn.default=zi});var Xi=C(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.CodeGen=le.Name=le.nil=le.stringify=le.str=le._=le.KeywordCxt=void 0;var Cp=Xt();Object.defineProperty(le,"KeywordCxt",{enumerable:!0,get:function(){return Cp.KeywordCxt}});var $t=A();Object.defineProperty(le,"_",{enumerable:!0,get:function(){return $t._}});Object.defineProperty(le,"str",{enumerable:!0,get:function(){return $t.str}});Object.defineProperty(le,"stringify",{enumerable:!0,get:function(){return $t.stringify}});Object.defineProperty(le,"nil",{enumerable:!0,get:function(){return $t.nil}});Object.defineProperty(le,"Name",{enumerable:!0,get:function(){return $t.Name}});Object.defineProperty(le,"CodeGen",{enumerable:!0,get:function(){return $t.CodeGen}});var Ep=Jr(),Ji=Zt(),bp=yn(),rr=er(),wp=A(),or=Jt(),eo=Wt(),Fn=j(),Fi=$i(),$p=Gi(),Qi=(e,t)=>new RegExp(e,t);Qi.code="new RegExp";var Rp=["removeAdditional","useDefaults","coerceTypes"],kp=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),Sp={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."},Op={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Ki=200;function Ip(e){var t,r,o,n,s,a,i,c,l,u,d,g,m,p,f,h,y,w,b,S,$,z,D,O,P;let H=e.strict,E=(t=e.code)===null||t===void 0?void 0:t.optimize,x=E===!0||E===void 0?1:E||0,X=(o=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&o!==void 0?o:Qi,re=(n=e.uriResolver)!==null&&n!==void 0?n:$p.default;return{strictSchema:(a=(s=e.strictSchema)!==null&&s!==void 0?s:H)!==null&&a!==void 0?a:!0,strictNumbers:(c=(i=e.strictNumbers)!==null&&i!==void 0?i:H)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=e.strictTypes)!==null&&l!==void 0?l:H)!==null&&u!==void 0?u:"log",strictTuples:(g=(d=e.strictTuples)!==null&&d!==void 0?d:H)!==null&&g!==void 0?g:"log",strictRequired:(p=(m=e.strictRequired)!==null&&m!==void 0?m:H)!==null&&p!==void 0?p:!1,code:e.code?{...e.code,optimize:x,regExp:X}:{optimize:x,regExp:X},loopRequired:(f=e.loopRequired)!==null&&f!==void 0?f:Ki,loopEnum:(h=e.loopEnum)!==null&&h!==void 0?h:Ki,meta:(y=e.meta)!==null&&y!==void 0?y:!0,messages:(w=e.messages)!==null&&w!==void 0?w:!0,inlineRefs:(b=e.inlineRefs)!==null&&b!==void 0?b:!0,schemaId:(S=e.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:($=e.addUsedSchema)!==null&&$!==void 0?$:!0,validateSchema:(z=e.validateSchema)!==null&&z!==void 0?z:!0,validateFormats:(D=e.validateFormats)!==null&&D!==void 0?D:!0,unicodeRegExp:(O=e.unicodeRegExp)!==null&&O!==void 0?O:!0,int32range:(P=e.int32range)!==null&&P!==void 0?P:!0,uriResolver:re}}var nr=class{constructor(t={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,t=this.opts={...t,...Ip(t)};let{es5:r,lines:o}=this.opts.code;this.scope=new wp.ValueScope({scope:{},prefixes:kp,es5:r,lines:o}),this.logger=Lp(t.logger);let n=t.validateFormats;t.validateFormats=!1,this.RULES=(0,bp.getRules)(),Hi.call(this,Sp,t,"NOT SUPPORTED"),Hi.call(this,Op,t,"DEPRECATED","warn"),this._metaOpts=Mp.call(this),t.formats&&Ap.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),t.keywords&&xp.call(this,t.keywords),typeof t.meta=="object"&&this.addMetaSchema(t.meta),Pp.call(this),t.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:t,meta:r,schemaId:o}=this.opts,n=Fi;o==="id"&&(n={...Fi},n.id=n.$id,delete n.$id),r&&t&&this.addMetaSchema(n,n[o],!1)}defaultMeta(){let{meta:t,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof t=="object"?t[r]||t:void 0}validate(t,r){let o;if(typeof t=="string"){if(o=this.getSchema(t),!o)throw new Error(`no schema with key or ref "${t}"`)}else o=this.compile(t);let n=o(r);return"$async"in o||(this.errors=o.errors),n}compile(t,r){let o=this._addSchema(t,r);return o.validate||this._compileSchemaEnv(o)}compileAsync(t,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:o}=this.opts;return n.call(this,t,r);async function n(u,d){await s.call(this,u.$schema);let g=this._addSchema(u,d);return g.validate||a.call(this,g)}async function s(u){u&&!this.getSchema(u)&&await n.call(this,{$ref:u},!0)}async function a(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof Ji.default))throw d;return i.call(this,d),await c.call(this,d.missingSchema),a.call(this,u)}}function i({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]=o(u))}finally{delete this._loading[u]}}}addSchema(t,r,o,n=this.opts.validateSchema){if(Array.isArray(t)){for(let a of t)this.addSchema(a,void 0,o,n);return this}let s;if(typeof t=="object"){let{schemaId:a}=this.opts;if(s=t[a],s!==void 0&&typeof s!="string")throw new Error(`schema ${a} must be string`)}return r=(0,or.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(t,o,r,n,!0),this}addMetaSchema(t,r,o=this.opts.validateSchema){return this.addSchema(t,r,!0,o),this}validateSchema(t,r){if(typeof t=="boolean")return!0;let o;if(o=t.$schema,o!==void 0&&typeof o!="string")throw new Error("$schema must be a string");if(o=o||this.opts.defaultMeta||this.defaultMeta(),!o)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let n=this.validate(o,t);if(!n&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return n}getSchema(t){let r;for(;typeof(r=Wi.call(this,t))=="string";)t=r;if(r===void 0){let{schemaId:o}=this.opts,n=new rr.SchemaEnv({schema:{},schemaId:o});if(r=rr.resolveSchema.call(this,n,t),!r)return;this.refs[t]=r}return r.validate||this._compileSchemaEnv(r)}removeSchema(t){if(t instanceof RegExp)return this._removeAllSchemas(this.schemas,t),this._removeAllSchemas(this.refs,t),this;switch(typeof t){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let r=Wi.call(this,t);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[t],delete this.refs[t],this}case"object":{let r=t;this._cache.delete(r);let o=t[this.opts.schemaId];return o&&(o=(0,or.normalizeId)(o),delete this.schemas[o],delete this.refs[o]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(t){for(let r of t)this.addKeyword(r);return this}addKeyword(t,r){let o;if(typeof t=="string")o=t,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=o);else if(typeof t=="object"&&r===void 0){if(r=t,o=r.keyword,Array.isArray(o)&&!o.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Dp.call(this,o,r),!r)return(0,Fn.eachItem)(o,s=>Gn.call(this,s)),this;Up.call(this,r);let n={...r,type:(0,eo.getJSONTypes)(r.type),schemaType:(0,eo.getJSONTypes)(r.schemaType)};return(0,Fn.eachItem)(o,n.type.length===0?s=>Gn.call(this,s,n):s=>n.type.forEach(a=>Gn.call(this,s,n,a))),this}getKeyword(t){let r=this.RULES.all[t];return typeof r=="object"?r.definition:!!r}removeKeyword(t){let{RULES:r}=this;delete r.keywords[t],delete r.all[t];for(let o of r.rules){let n=o.rules.findIndex(s=>s.keyword===t);n>=0&&o.rules.splice(n,1)}return this}addFormat(t,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[t]=r,this}errorsText(t=this.errors,{separator:r=", ",dataVar:o="data"}={}){return!t||t.length===0?"No errors":t.map(n=>`${o}${n.instancePath} ${n.message}`).reduce((n,s)=>n+r+s)}$dataMetaSchema(t,r){let o=this.RULES.all;t=JSON.parse(JSON.stringify(t));for(let n of r){let s=n.split("/").slice(1),a=t;for(let i of s)a=a[i];for(let i in o){let c=o[i];if(typeof c!="object")continue;let{$data:l}=c.definition,u=a[i];l&&u&&(a[i]=Yi(u))}}return t}_removeAllSchemas(t,r){for(let o in t){let n=t[o];(!r||r.test(o))&&(typeof n=="string"?delete t[o]:n&&!n.meta&&(this._cache.delete(n.schema),delete t[o]))}}_addSchema(t,r,o,n=this.opts.validateSchema,s=this.opts.addUsedSchema){let a,{schemaId:i}=this.opts;if(typeof t=="object")a=t[i];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof t!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(t);if(c!==void 0)return c;o=(0,or.normalizeId)(a||o);let l=or.getSchemaRefs.call(this,t,o);return c=new rr.SchemaEnv({schema:t,schemaId:i,meta:r,baseId:o,localRefs:l}),this._cache.set(c.schema,c),s&&!o.startsWith("#")&&(o&&this._checkUnique(o),this.refs[o]=c),n&&this.validateSchema(t,!0),c}_checkUnique(t){if(this.schemas[t]||this.refs[t])throw new Error(`schema with key or id "${t}" already exists`)}_compileSchemaEnv(t){if(t.meta?this._compileMetaSchema(t):rr.compileSchema.call(this,t),!t.validate)throw new Error("ajv implementation error");return t.validate}_compileMetaSchema(t){let r=this.opts;this.opts=this._metaOpts;try{rr.compileSchema.call(this,t)}finally{this.opts=r}}};nr.ValidationError=Ep.default;nr.MissingRefError=Ji.default;le.default=nr;function Hi(e,t,r,o="error"){for(let n in e){let s=n;s in t&&this.logger[o](`${r}: option ${n}. ${e[s]}`)}}function Wi(e){return e=(0,or.normalizeId)(e),this.schemas[e]||this.refs[e]}function Pp(){let e=this.opts.schemas;if(e)if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function Ap(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function xp(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];r.keyword||(r.keyword=t),this.addKeyword(r)}}function Mp(){let e={...this.opts};for(let t of Rp)delete e[t];return e}var Np={log(){},warn(){},error(){}};function Lp(e){if(e===!1)return Np;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw new Error("logger must implement log, warn and error methods")}var jp=/^[a-z_$][a-z0-9_$:-]*$/i;function Dp(e,t){let{RULES:r}=this;if((0,Fn.eachItem)(e,o=>{if(r.keywords[o])throw new Error(`Keyword ${o} is already defined`);if(!jp.test(o))throw new Error(`Keyword ${o} has invalid name`)}),!!t&&t.$data&&!("code"in t||"validate"in t))throw new Error('$data keyword must have "code" or "validate" function')}function Gn(e,t,r){var o;let n=t?.post;if(r&&n)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,a=n?s.post:s.rules.find(({type:c})=>c===r);if(a||(a={type:r,rules:[]},s.rules.push(a)),s.keywords[e]=!0,!t)return;let i={keyword:e,definition:{...t,type:(0,eo.getJSONTypes)(t.type),schemaType:(0,eo.getJSONTypes)(t.schemaType)}};t.before?qp.call(this,a,i,t.before):a.rules.push(i),s.all[e]=i,(o=t.implements)===null||o===void 0||o.forEach(c=>this.addKeyword(c))}function qp(e,t,r){let o=e.rules.findIndex(n=>n.keyword===r);o>=0?e.rules.splice(o,0,t):(e.rules.push(t),this.logger.warn(`rule ${r} is not defined`))}function Up(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=Yi(t)),e.validateSchema=this.compile(t,!0))}var Vp={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Yi(e){return{anyOf:[e,Vp]}}});var Zi=C(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});var Bp={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Kn.default=Bp});var oo=C(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.callRef=dt.getValidate=void 0;var zp=Zt(),ec=$e(),ve=A(),Rt=we(),tc=er(),to=j(),Gp={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:o}=e,{baseId:n,schemaEnv:s,validateName:a,opts:i,self:c}=o,{root:l}=s;if((r==="#"||r==="#/")&&n===l.baseId)return d();let u=tc.resolveRef.call(c,l,n,r);if(u===void 0)throw new zp.default(o.opts.uriResolver,n,r);if(u instanceof tc.SchemaEnv)return g(u);return m(u);function d(){if(s===l)return ro(e,a,s,s.$async);let p=t.scopeValue("root",{ref:l});return ro(e,(0,ve._)`${p}.validate`,l,l.$async)}function g(p){let f=rc(e,p);ro(e,f,p,p.$async)}function m(p){let f=t.scopeValue("schema",i.code.source===!0?{ref:p,code:(0,ve.stringify)(p)}:{ref:p}),h=t.name("valid"),y=e.subschema({schema:p,dataTypes:[],schemaPath:ve.nil,topSchemaRef:f,errSchemaPath:r},h);e.mergeEvaluated(y),e.ok(h)}}};function rc(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):(0,ve._)`${r.scopeValue("wrapper",{ref:t})}.validate`}dt.getValidate=rc;function ro(e,t,r,o){let{gen:n,it:s}=e,{allErrors:a,schemaEnv:i,opts:c}=s,l=c.passContext?Rt.default.this:ve.nil;o?u():d();function u(){if(!i.$async)throw new Error("async schema referenced by sync schema");let p=n.let("valid");n.try(()=>{n.code((0,ve._)`await ${(0,ec.callValidateCode)(e,t,l)}`),m(t),a||n.assign(p,!0)},f=>{n.if((0,ve._)`!(${f} instanceof ${s.ValidationError})`,()=>n.throw(f)),g(f),a||n.assign(p,!1)}),e.ok(p)}function d(){e.result((0,ec.callValidateCode)(e,t,l),()=>m(t),()=>g(t))}function g(p){let f=(0,ve._)`${p}.errors`;n.assign(Rt.default.vErrors,(0,ve._)`${Rt.default.vErrors} === null ? ${f} : ${Rt.default.vErrors}.concat(${f})`),n.assign(Rt.default.errors,(0,ve._)`${Rt.default.vErrors}.length`)}function m(p){var f;if(!s.opts.unevaluated)return;let h=(f=r?.validate)===null||f===void 0?void 0:f.evaluated;if(s.props!==!0)if(h&&!h.dynamicProps)h.props!==void 0&&(s.props=to.mergeEvaluated.props(n,h.props,s.props));else{let y=n.var("props",(0,ve._)`${p}.evaluated.props`);s.props=to.mergeEvaluated.props(n,y,s.props,ve.Name)}if(s.items!==!0)if(h&&!h.dynamicItems)h.items!==void 0&&(s.items=to.mergeEvaluated.items(n,h.items,s.items));else{let y=n.var("items",(0,ve._)`${p}.evaluated.items`);s.items=to.mergeEvaluated.items(n,y,s.items,ve.Name)}}}dt.callRef=ro;dt.default=Gp});var oc=C(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});var Fp=Zi(),Kp=oo(),Hp=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Fp.default,Kp.default];Hn.default=Hp});var nc=C(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});var no=A(),Je=no.operators,so={maximum:{okStr:"<=",ok:Je.LTE,fail:Je.GT},minimum:{okStr:">=",ok:Je.GTE,fail:Je.LT},exclusiveMaximum:{okStr:"<",ok:Je.LT,fail:Je.GTE},exclusiveMinimum:{okStr:">",ok:Je.GT,fail:Je.LTE}},Wp={message:({keyword:e,schemaCode:t})=>(0,no.str)`must be ${so[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,no._)`{comparison: ${so[e].okStr}, limit: ${t}}`},Jp={keyword:Object.keys(so),type:"number",schemaType:"number",$data:!0,error:Wp,code(e){let{keyword:t,data:r,schemaCode:o}=e;e.fail$data((0,no._)`${r} ${so[t].fail} ${o} || isNaN(${r})`)}};Wn.default=Jp});var sc=C(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});var sr=A(),Qp={message:({schemaCode:e})=>(0,sr.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,sr._)`{multipleOf: ${e}}`},Yp={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:Qp,code(e){let{gen:t,data:r,schemaCode:o,it:n}=e,s=n.opts.multipleOfPrecision,a=t.let("res"),i=s?(0,sr._)`Math.abs(Math.round(${a}) - ${a}) > 1e-${s}`:(0,sr._)`${a} !== parseInt(${a})`;e.fail$data((0,sr._)`(${o} === 0 || (${a} = ${r}/${o}, ${i}))`)}};Jn.default=Yp});var ic=C(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});function ac(e){let t=e.length,r=0,o=0,n;for(;o<t;)r++,n=e.charCodeAt(o++),n>=55296&&n<=56319&&o<t&&(n=e.charCodeAt(o),(n&64512)===56320&&o++);return r}Qn.default=ac;ac.code='require("ajv/dist/runtime/ucs2length").default'});var cc=C(Yn=>{"use strict";Object.defineProperty(Yn,"__esModule",{value:!0});var ft=A(),Xp=j(),Zp=ic(),em={message({keyword:e,schemaCode:t}){let r=e==="maxLength"?"more":"fewer";return(0,ft.str)`must NOT have ${r} than ${t} characters`},params:({schemaCode:e})=>(0,ft._)`{limit: ${e}}`},tm={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:em,code(e){let{keyword:t,data:r,schemaCode:o,it:n}=e,s=t==="maxLength"?ft.operators.GT:ft.operators.LT,a=n.opts.unicode===!1?(0,ft._)`${r}.length`:(0,ft._)`${(0,Xp.useFunc)(e.gen,Zp.default)}(${r})`;e.fail$data((0,ft._)`${a} ${s} ${o}`)}};Yn.default=tm});var lc=C(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});var rm=$e(),om=j(),kt=A(),nm={message:({schemaCode:e})=>(0,kt.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,kt._)`{pattern: ${e}}`},sm={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:nm,code(e){let{gen:t,data:r,$data:o,schema:n,schemaCode:s,it:a}=e,i=a.opts.unicodeRegExp?"u":"";if(o){let{regExp:c}=a.opts.code,l=c.code==="new RegExp"?(0,kt._)`new RegExp`:(0,om.useFunc)(t,c),u=t.let("valid");t.try(()=>t.assign(u,(0,kt._)`${l}(${s}, ${i}).test(${r})`),()=>t.assign(u,!1)),e.fail$data((0,kt._)`!${u}`)}else{let c=(0,rm.usePattern)(e,n);e.fail$data((0,kt._)`!${c}.test(${r})`)}}};Xn.default=sm});var uc=C(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});var ar=A(),am={message({keyword:e,schemaCode:t}){let r=e==="maxProperties"?"more":"fewer";return(0,ar.str)`must NOT have ${r} than ${t} properties`},params:({schemaCode:e})=>(0,ar._)`{limit: ${e}}`},im={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:am,code(e){let{keyword:t,data:r,schemaCode:o}=e,n=t==="maxProperties"?ar.operators.GT:ar.operators.LT;e.fail$data((0,ar._)`Object.keys(${r}).length ${n} ${o}`)}};Zn.default=im});var dc=C(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});var ir=$e(),cr=A(),cm=j(),lm={message:({params:{missingProperty:e}})=>(0,cr.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,cr._)`{missingProperty: ${e}}`},um={keyword:"required",type:"object",schemaType:"array",$data:!0,error:lm,code(e){let{gen:t,schema:r,schemaCode:o,data:n,$data:s,it:a}=e,{opts:i}=a;if(!s&&r.length===0)return;let c=r.length>=i.loopRequired;if(a.allErrors?l():u(),i.strictRequired){let m=e.parentSchema.properties,{definedProperties:p}=e.it;for(let f of r)if(m?.[f]===void 0&&!p.has(f)){let h=a.schemaEnv.baseId+a.errSchemaPath,y=`required property "${f}" is not defined at "${h}" (strictRequired)`;(0,cm.checkStrictMode)(a,y,a.opts.strictRequired)}}function l(){if(c||s)e.block$data(cr.nil,d);else for(let m of r)(0,ir.checkReportMissingProp)(e,m)}function u(){let m=t.let("missing");if(c||s){let p=t.let("valid",!0);e.block$data(p,()=>g(m,p)),e.ok(p)}else t.if((0,ir.checkMissingProp)(e,r,m)),(0,ir.reportMissingProp)(e,m),t.else()}function d(){t.forOf("prop",o,m=>{e.setParams({missingProperty:m}),t.if((0,ir.noPropertyInData)(t,n,m,i.ownProperties),()=>e.error())})}function g(m,p){e.setParams({missingProperty:m}),t.forOf(m,o,()=>{t.assign(p,(0,ir.propertyInData)(t,n,m,i.ownProperties)),t.if((0,cr.not)(p),()=>{e.error(),t.break()})},cr.nil)}}};es.default=um});var fc=C(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var lr=A(),dm={message({keyword:e,schemaCode:t}){let r=e==="maxItems"?"more":"fewer";return(0,lr.str)`must NOT have ${r} than ${t} items`},params:({schemaCode:e})=>(0,lr._)`{limit: ${e}}`},fm={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:dm,code(e){let{keyword:t,data:r,schemaCode:o}=e,n=t==="maxItems"?lr.operators.GT:lr.operators.LT;e.fail$data((0,lr._)`${r}.length ${n} ${o}`)}};ts.default=fm});var ao=C(rs=>{"use strict";Object.defineProperty(rs,"__esModule",{value:!0});var pc=$n();pc.code='require("ajv/dist/runtime/equal").default';rs.default=pc});var mc=C(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var os=Wt(),ue=A(),pm=j(),mm=ao(),hm={message:({params:{i:e,j:t}})=>(0,ue.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,ue._)`{i: ${e}, j: ${t}}`},gm={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:hm,code(e){let{gen:t,data:r,$data:o,schema:n,parentSchema:s,schemaCode:a,it:i}=e;if(!o&&!n)return;let c=t.let("valid"),l=s.items?(0,os.getSchemaTypes)(s.items):[];e.block$data(c,u,(0,ue._)`${a} === false`),e.ok(c);function u(){let p=t.let("i",(0,ue._)`${r}.length`),f=t.let("j");e.setParams({i:p,j:f}),t.assign(c,!0),t.if((0,ue._)`${p} > 1`,()=>(d()?g:m)(p,f))}function d(){return l.length>0&&!l.some(p=>p==="object"||p==="array")}function g(p,f){let h=t.name("item"),y=(0,os.checkDataTypes)(l,h,i.opts.strictNumbers,os.DataType.Wrong),w=t.const("indices",(0,ue._)`{}`);t.for((0,ue._)`;${p}--;`,()=>{t.let(h,(0,ue._)`${r}[${p}]`),t.if(y,(0,ue._)`continue`),l.length>1&&t.if((0,ue._)`typeof ${h} == "string"`,(0,ue._)`${h} += "_"`),t.if((0,ue._)`typeof ${w}[${h}] == "number"`,()=>{t.assign(f,(0,ue._)`${w}[${h}]`),e.error(),t.assign(c,!1).break()}).code((0,ue._)`${w}[${h}] = ${p}`)})}function m(p,f){let h=(0,pm.useFunc)(t,mm.default),y=t.name("outer");t.label(y).for((0,ue._)`;${p}--;`,()=>t.for((0,ue._)`${f} = ${p}; ${f}--;`,()=>t.if((0,ue._)`${h}(${r}[${p}], ${r}[${f}])`,()=>{e.error(),t.assign(c,!1).break(y)})))}}};ns.default=gm});var hc=C(as=>{"use strict";Object.defineProperty(as,"__esModule",{value:!0});var ss=A(),ym=j(),_m=ao(),Tm={message:"must be equal to constant",params:({schemaCode:e})=>(0,ss._)`{allowedValue: ${e}}`},vm={keyword:"const",$data:!0,error:Tm,code(e){let{gen:t,data:r,$data:o,schemaCode:n,schema:s}=e;o||s&&typeof s=="object"?e.fail$data((0,ss._)`!${(0,ym.useFunc)(t,_m.default)}(${r}, ${n})`):e.fail((0,ss._)`${s} !== ${r}`)}};as.default=vm});var gc=C(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});var ur=A(),Cm=j(),Em=ao(),bm={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>(0,ur._)`{allowedValues: ${e}}`},wm={keyword:"enum",schemaType:"array",$data:!0,error:bm,code(e){let{gen:t,data:r,$data:o,schema:n,schemaCode:s,it:a}=e;if(!o&&n.length===0)throw new Error("enum must have non-empty array");let i=n.length>=a.opts.loopEnum,c,l=()=>c??(c=(0,Cm.useFunc)(t,Em.default)),u;if(i||o)u=t.let("valid"),e.block$data(u,d);else{if(!Array.isArray(n))throw new Error("ajv implementation error");let m=t.const("vSchema",s);u=(0,ur.or)(...n.map((p,f)=>g(m,f)))}e.pass(u);function d(){t.assign(u,!1),t.forOf("v",s,m=>t.if((0,ur._)`${l()}(${r}, ${m})`,()=>t.assign(u,!0).break()))}function g(m,p){let f=n[p];return typeof f=="object"&&f!==null?(0,ur._)`${l()}(${r}, ${m}[${p}])`:(0,ur._)`${r} === ${f}`}}};is.default=wm});var yc=C(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var $m=nc(),Rm=sc(),km=cc(),Sm=lc(),Om=uc(),Im=dc(),Pm=fc(),Am=mc(),xm=hc(),Mm=gc(),Nm=[$m.default,Rm.default,km.default,Sm.default,Om.default,Im.default,Pm.default,Am.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},xm.default,Mm.default];cs.default=Nm});var us=C(dr=>{"use strict";Object.defineProperty(dr,"__esModule",{value:!0});dr.validateAdditionalItems=void 0;var pt=A(),ls=j(),Lm={message:({params:{len:e}})=>(0,pt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,pt._)`{limit: ${e}}`},jm={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Lm,code(e){let{parentSchema:t,it:r}=e,{items:o}=t;if(!Array.isArray(o)){(0,ls.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}_c(e,o)}};function _c(e,t){let{gen:r,schema:o,data:n,keyword:s,it:a}=e;a.items=!0;let i=r.const("len",(0,pt._)`${n}.length`);if(o===!1)e.setParams({len:t.length}),e.pass((0,pt._)`${i} <= ${t.length}`);else if(typeof o=="object"&&!(0,ls.alwaysValidSchema)(a,o)){let l=r.var("valid",(0,pt._)`${i} <= ${t.length}`);r.if((0,pt.not)(l),()=>c(l)),e.ok(l)}function c(l){r.forRange("i",t.length,i,u=>{e.subschema({keyword:s,dataProp:u,dataPropType:ls.Type.Num},l),a.allErrors||r.if((0,pt.not)(l),()=>r.break())})}}dr.validateAdditionalItems=_c;dr.default=jm});var ds=C(fr=>{"use strict";Object.defineProperty(fr,"__esModule",{value:!0});fr.validateTuple=void 0;var Tc=A(),io=j(),Dm=$e(),qm={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return vc(e,"additionalItems",t);r.items=!0,!(0,io.alwaysValidSchema)(r,t)&&e.ok((0,Dm.validateArray)(e))}};function vc(e,t,r=e.schema){let{gen:o,parentSchema:n,data:s,keyword:a,it:i}=e;u(n),i.opts.unevaluated&&r.length&&i.items!==!0&&(i.items=io.mergeEvaluated.items(o,r.length,i.items));let c=o.name("valid"),l=o.const("len",(0,Tc._)`${s}.length`);r.forEach((d,g)=>{(0,io.alwaysValidSchema)(i,d)||(o.if((0,Tc._)`${l} > ${g}`,()=>e.subschema({keyword:a,schemaProp:g,dataProp:g},c)),e.ok(c))});function u(d){let{opts:g,errSchemaPath:m}=i,p=r.length,f=p===d.minItems&&(p===d.maxItems||d[t]===!1);if(g.strictTuples&&!f){let h=`"${a}" is ${p}-tuple, but minItems or maxItems/${t} are not specified or different at path "${m}"`;(0,io.checkStrictMode)(i,h,g.strictTuples)}}}fr.validateTuple=vc;fr.default=qm});var Cc=C(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var Um=ds(),Vm={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:e=>(0,Um.validateTuple)(e,"items")};fs.default=Vm});var bc=C(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var Ec=A(),Bm=j(),zm=$e(),Gm=us(),Fm={message:({params:{len:e}})=>(0,Ec.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,Ec._)`{limit: ${e}}`},Km={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Fm,code(e){let{schema:t,parentSchema:r,it:o}=e,{prefixItems:n}=r;o.items=!0,!(0,Bm.alwaysValidSchema)(o,t)&&(n?(0,Gm.validateAdditionalItems)(e,n):e.ok((0,zm.validateArray)(e)))}};ps.default=Km});var wc=C(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var ke=A(),co=j(),Hm={message:({params:{min:e,max:t}})=>t===void 0?(0,ke.str)`must contain at least ${e} valid item(s)`:(0,ke.str)`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?(0,ke._)`{minContains: ${e}}`:(0,ke._)`{minContains: ${e}, maxContains: ${t}}`},Wm={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Hm,code(e){let{gen:t,schema:r,parentSchema:o,data:n,it:s}=e,a,i,{minContains:c,maxContains:l}=o;s.opts.next?(a=c===void 0?1:c,i=l):a=1;let u=t.const("len",(0,ke._)`${n}.length`);if(e.setParams({min:a,max:i}),i===void 0&&a===0){(0,co.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(i!==void 0&&a>i){(0,co.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if((0,co.alwaysValidSchema)(s,r)){let f=(0,ke._)`${u} >= ${a}`;i!==void 0&&(f=(0,ke._)`${f} && ${u} <= ${i}`),e.pass(f);return}s.items=!0;let d=t.name("valid");i===void 0&&a===1?m(d,()=>t.if(d,()=>t.break())):a===0?(t.let(d,!0),i!==void 0&&t.if((0,ke._)`${n}.length > 0`,g)):(t.let(d,!1),g()),e.result(d,()=>e.reset());function g(){let f=t.name("_valid"),h=t.let("count",0);m(f,()=>t.if(f,()=>p(h)))}function m(f,h){t.forRange("i",0,u,y=>{e.subschema({keyword:"contains",dataProp:y,dataPropType:co.Type.Num,compositeRule:!0},f),h()})}function p(f){t.code((0,ke._)`${f}++`),i===void 0?t.if((0,ke._)`${f} >= ${a}`,()=>t.assign(d,!0).break()):(t.if((0,ke._)`${f} > ${i}`,()=>t.assign(d,!1).break()),a===1?t.assign(d,!0):t.if((0,ke._)`${f} >= ${a}`,()=>t.assign(d,!0)))}}};ms.default=Wm});var lo=C(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.validateSchemaDeps=Le.validatePropertyDeps=Le.error=void 0;var hs=A(),Jm=j(),pr=$e();Le.error={message:({params:{property:e,depsCount:t,deps:r}})=>{let o=t===1?"property":"properties";return(0,hs.str)`must have ${o} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:t,deps:r,missingProperty:o}})=>(0,hs._)`{property: ${e},
6
6
  missingProperty: ${o},
7
7
  depsCount: ${t},
8
- deps: ${r}}`};var Jm={keyword:"dependencies",type:"object",schemaType:"object",error:Le.error,code(e){let[t,r]=Qm(e);wc(e,t),$c(e,r)}};function Qm({schema:e}){let t={},r={};for(let o in e){if(o==="__proto__")continue;let n=Array.isArray(e[o])?t:r;n[o]=e[o]}return[t,r]}function wc(e,t=e.schema){let{gen:r,data:o,it:n}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let a in t){let i=t[a];if(i.length===0)continue;let c=(0,pr.propertyInData)(r,o,a,n.opts.ownProperties);e.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),n.allErrors?r.if(c,()=>{for(let l of i)(0,pr.checkReportMissingProp)(e,l)}):(r.if((0,hs._)`${c} && (${(0,pr.checkMissingProp)(e,i,s)})`),(0,pr.reportMissingProp)(e,s),r.else())}}Le.validatePropertyDeps=wc;function $c(e,t=e.schema){let{gen:r,data:o,keyword:n,it:s}=e,a=r.name("valid");for(let i in t)(0,Wm.alwaysValidSchema)(s,t[i])||(r.if((0,pr.propertyInData)(r,o,i,s.opts.ownProperties),()=>{let c=e.subschema({keyword:n,schemaProp:i},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}Le.validateSchemaDeps=$c;Le.default=Jm});var kc=C(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});var Rc=A(),Ym=j(),Xm={message:"property name must be valid",params:({params:e})=>(0,Rc._)`{propertyName: ${e.propertyName}}`},Zm={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Xm,code(e){let{gen:t,schema:r,data:o,it:n}=e;if((0,Ym.alwaysValidSchema)(n,r))return;let s=t.name("valid");t.forIn("key",o,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},s),t.if((0,Rc.not)(s),()=>{e.error(!0),n.allErrors||t.break()})}),e.ok(s)}};gs.default=Zm});var _s=C(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});var uo=$e(),xe=A(),eh=we(),fo=j(),th={message:"must NOT have additional properties",params:({params:e})=>(0,xe._)`{additionalProperty: ${e.additionalProperty}}`},rh={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:th,code(e){let{gen:t,schema:r,parentSchema:o,data:n,errsCount:s,it:a}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:i,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,fo.alwaysValidSchema)(a,r))return;let l=(0,uo.allSchemaProperties)(o.properties),u=(0,uo.allSchemaProperties)(o.patternProperties);d(),e.ok((0,xe._)`${s} === ${eh.default.errors}`);function d(){t.forIn("key",n,h=>{!l.length&&!u.length?p(h):t.if(g(h),()=>p(h))})}function g(h){let y;if(l.length>8){let w=(0,fo.schemaRefOrVal)(a,o.properties,"properties");y=(0,uo.isOwnProperty)(t,w,h)}else l.length?y=(0,xe.or)(...l.map(w=>(0,xe._)`${h} === ${w}`)):y=xe.nil;return u.length&&(y=(0,xe.or)(y,...u.map(w=>(0,xe._)`${(0,uo.usePattern)(e,w)}.test(${h})`))),(0,xe.not)(y)}function m(h){t.code((0,xe._)`delete ${n}[${h}]`)}function p(h){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(h);return}if(r===!1){e.setParams({additionalProperty:h}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0,fo.alwaysValidSchema)(a,r)){let y=t.name("valid");c.removeAdditional==="failing"?(f(h,y,!1),t.if((0,xe.not)(y),()=>{e.reset(),m(h)})):(f(h,y),i||t.if((0,xe.not)(y),()=>t.break()))}}function f(h,y,w){let b={keyword:"additionalProperties",dataProp:h,dataPropType:fo.Type.Str};w===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(b,y)}}};ys.default=rh});var Ic=C(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var oh=Xt(),Sc=$e(),Ts=j(),Oc=_s(),nh={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:o,data:n,it:s}=e;s.opts.removeAdditional==="all"&&o.additionalProperties===void 0&&Oc.default.code(new oh.KeywordCxt(s,Oc.default,"additionalProperties"));let a=(0,Sc.allSchemaProperties)(r);for(let d of a)s.definedProperties.add(d);s.opts.unevaluated&&a.length&&s.props!==!0&&(s.props=Ts.mergeEvaluated.props(t,(0,Ts.toHash)(a),s.props));let i=a.filter(d=>!(0,Ts.alwaysValidSchema)(s,r[d]));if(i.length===0)return;let c=t.name("valid");for(let d of i)l(d)?u(d):(t.if((0,Sc.propertyInData)(t,n,d,s.opts.ownProperties)),u(d),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};vs.default=nh});var Mc=C(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var Pc=$e(),po=A(),Ac=j(),xc=j(),sh={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:o,parentSchema:n,it:s}=e,{opts:a}=s,i=(0,Pc.allSchemaProperties)(r),c=i.filter(f=>(0,Ac.alwaysValidSchema)(s,r[f]));if(i.length===0||c.length===i.length&&(!s.opts.unevaluated||s.props===!0))return;let l=a.strictSchema&&!a.allowMatchingProperties&&n.properties,u=t.name("valid");s.props!==!0&&!(s.props instanceof po.Name)&&(s.props=(0,xc.evaluatedPropsToName)(t,s.props));let{props:d}=s;g();function g(){for(let f of i)l&&m(f),s.allErrors?p(f):(t.var(u,!0),p(f),t.if(u))}function m(f){for(let h in l)new RegExp(f).test(h)&&(0,Ac.checkStrictMode)(s,`property ${h} matches pattern ${f} (use allowMatchingProperties)`)}function p(f){t.forIn("key",o,h=>{t.if((0,po._)`${(0,Pc.usePattern)(e,f)}.test(${h})`,()=>{let y=c.includes(f);y||e.subschema({keyword:"patternProperties",schemaProp:f,dataProp:h,dataPropType:xc.Type.Str},u),s.opts.unevaluated&&d!==!0?t.assign((0,po._)`${d}[${h}]`,!0):!y&&!s.allErrors&&t.if((0,po.not)(u),()=>t.break())})})}}};Cs.default=sh});var Nc=C(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var ah=j(),ih={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:o}=e;if((0,ah.alwaysValidSchema)(o,r)){e.fail();return}let n=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),e.failResult(n,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Es.default=ih});var Lc=C(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});var ch=$e(),lh={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:ch.validateUnion,error:{message:"must match a schema in anyOf"}};bs.default=lh});var jc=C(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var mo=A(),uh=j(),dh={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,mo._)`{passingSchemas: ${e.passing}}`},fh={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:dh,code(e){let{gen:t,schema:r,parentSchema:o,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(n.opts.discriminator&&o.discriminator)return;let s=r,a=t.let("valid",!1),i=t.let("passing",null),c=t.name("_valid");e.setParams({passing:i}),t.block(l),e.result(a,()=>e.reset(),()=>e.error(!0));function l(){s.forEach((u,d)=>{let g;(0,uh.alwaysValidSchema)(n,u)?t.var(c,!0):g=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,mo._)`${c} && ${a}`).assign(a,!1).assign(i,(0,mo._)`[${i}, ${d}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(i,d),g&&e.mergeEvaluated(g,mo.Name)})})}}};ws.default=fh});var Dc=C($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var ph=j(),mh={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let n=t.name("valid");r.forEach((s,a)=>{if((0,ph.alwaysValidSchema)(o,s))return;let i=e.subschema({keyword:"allOf",schemaProp:a},n);e.ok(n),e.mergeEvaluated(i)})}};$s.default=mh});var Bc=C(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});var ho=A(),Uc=j(),hh={message:({params:e})=>(0,ho.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,ho._)`{failingKeyword: ${e.ifClause}}`},gh={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:hh,code(e){let{gen:t,parentSchema:r,it:o}=e;r.then===void 0&&r.else===void 0&&(0,Uc.checkStrictMode)(o,'"if" without "then" and "else" is ignored');let n=qc(o,"then"),s=qc(o,"else");if(!n&&!s)return;let a=t.let("valid",!0),i=t.name("_valid");if(c(),e.reset(),n&&s){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(i,l("then",u),l("else",u))}else n?t.if(i,l("then")):t.if((0,ho.not)(i),l("else"));e.pass(a,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},i);e.mergeEvaluated(u)}function l(u,d){return()=>{let g=e.subschema({keyword:u},i);t.assign(a,i),e.mergeValidEvaluated(g,a),d?t.assign(d,(0,ho._)`${u}`):e.setParams({ifClause:u})}}}};function qc(e,t){let r=e.schema[t];return r!==void 0&&!(0,Uc.alwaysValidSchema)(e,r)}Rs.default=gh});var Vc=C(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var yh=j(),_h={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,yh.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ks.default=_h});var zc=C(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var Th=us(),vh=vc(),Ch=ds(),Eh=Ec(),bh=bc(),wh=lo(),$h=kc(),Rh=_s(),kh=Ic(),Sh=Mc(),Oh=Nc(),Ih=Lc(),Ph=jc(),Ah=Dc(),xh=Bc(),Mh=Vc();function Nh(e=!1){let t=[Oh.default,Ih.default,Ph.default,Ah.default,xh.default,Mh.default,$h.default,Rh.default,wh.default,kh.default,Sh.default];return e?t.push(vh.default,Eh.default):t.push(Th.default,Ch.default),t.push(bh.default),t}Ss.default=Nh});var Is=C(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.dynamicAnchor=void 0;var Os=A(),Lh=we(),Gc=er(),jh=oo(),Dh={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Fc(e,e.schema)};function Fc(e,t){let{gen:r,it:o}=e;o.schemaEnv.root.dynamicAnchors[t]=!0;let n=(0,Os._)`${Lh.default.dynamicAnchors}${(0,Os.getProperty)(t)}`,s=o.errSchemaPath==="#"?o.validateName:qh(e);r.if((0,Os._)`!${n}`,()=>r.assign(n,s))}mr.dynamicAnchor=Fc;function qh(e){let{schemaEnv:t,schema:r,self:o}=e.it,{root:n,baseId:s,localRefs:a,meta:i}=t.root,{schemaId:c}=o.opts,l=new Gc.SchemaEnv({schema:r,schemaId:c,root:n,baseId:s,localRefs:a,meta:i});return Gc.compileSchema.call(o,l),(0,jh.getValidate)(e,l)}mr.default=Dh});var Ps=C(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.dynamicRef=void 0;var Kc=A(),Uh=we(),Hc=oo(),Bh={keyword:"$dynamicRef",schemaType:"string",code:e=>Wc(e,e.schema)};function Wc(e,t){let{gen:r,keyword:o,it:n}=e;if(t[0]!=="#")throw new Error(`"${o}" only supports hash fragment reference`);let s=t.slice(1);if(n.allErrors)a();else{let c=r.let("valid",!1);a(c),e.ok(c)}function a(c){if(n.schemaEnv.root.dynamicAnchors[s]){let l=r.let("_v",(0,Kc._)`${Uh.default.dynamicAnchors}${(0,Kc.getProperty)(s)}`);r.if(l,i(l,c),i(n.validateName,c))}else i(n.validateName,c)()}function i(c,l){return l?()=>r.block(()=>{(0,Hc.callRef)(e,c),r.let(l,!0)}):()=>(0,Hc.callRef)(e,c)}}hr.dynamicRef=Wc;hr.default=Bh});var Jc=C(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var Vh=Is(),zh=j(),Gh={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,Vh.dynamicAnchor)(e,""):(0,zh.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};As.default=Gh});var Qc=C(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var Fh=Ps(),Kh={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,Fh.dynamicRef)(e,e.schema)};xs.default=Kh});var Yc=C(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var Hh=Is(),Wh=Ps(),Jh=Jc(),Qh=Qc(),Yh=[Hh.default,Wh.default,Jh.default,Qh.default];Ms.default=Yh});var Zc=C(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});var Xc=lo(),Xh={keyword:"dependentRequired",type:"object",schemaType:"object",error:Xc.error,code:e=>(0,Xc.validatePropertyDeps)(e)};Ns.default=Xh});var el=C(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});var Zh=lo(),eg={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,Zh.validateSchemaDeps)(e)};Ls.default=eg});var tl=C(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var tg=j(),rg={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0,tg.checkStrictMode)(r,`"${e}" without "contains" is ignored`)}};js.default=rg});var rl=C(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var og=Zc(),ng=el(),sg=tl(),ag=[og.default,ng.default,sg.default];Ds.default=ag});var nl=C(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var Qe=A(),ol=j(),ig=we(),cg={message:"must NOT have unevaluated properties",params:({params:e})=>(0,Qe._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},lg={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:cg,code(e){let{gen:t,schema:r,data:o,errsCount:n,it:s}=e;if(!n)throw new Error("ajv implementation error");let{allErrors:a,props:i}=s;i instanceof Qe.Name?t.if((0,Qe._)`${i} !== true`,()=>t.forIn("key",o,d=>t.if(l(i,d),()=>c(d)))):i!==!0&&t.forIn("key",o,d=>i===void 0?c(d):t.if(u(i,d),()=>c(d))),s.props=!0,e.ok((0,Qe._)`${n} === ${ig.default.errors}`);function c(d){if(r===!1){e.setParams({unevaluatedProperty:d}),e.error(),a||t.break();return}if(!(0,ol.alwaysValidSchema)(s,r)){let g=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ol.Type.Str},g),a||t.if((0,Qe.not)(g),()=>t.break())}}function l(d,g){return(0,Qe._)`!${d} || !${d}[${g}]`}function u(d,g){let m=[];for(let p in d)d[p]===!0&&m.push((0,Qe._)`${g} !== ${p}`);return(0,Qe.and)(...m)}}};qs.default=lg});var al=C(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var mt=A(),sl=j(),ug={message:({params:{len:e}})=>(0,mt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,mt._)`{limit: ${e}}`},dg={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:ug,code(e){let{gen:t,schema:r,data:o,it:n}=e,s=n.items||0;if(s===!0)return;let a=t.const("len",(0,mt._)`${o}.length`);if(r===!1)e.setParams({len:s}),e.fail((0,mt._)`${a} > ${s}`);else if(typeof r=="object"&&!(0,sl.alwaysValidSchema)(n,r)){let c=t.var("valid",(0,mt._)`${a} <= ${s}`);t.if((0,mt.not)(c),()=>i(c,s)),e.ok(c)}n.items=!0;function i(c,l){t.forRange("i",l,a,u=>{e.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:sl.Type.Num},c),n.allErrors||t.if((0,mt.not)(c),()=>t.break())})}}};Us.default=dg});var il=C(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var fg=nl(),pg=al(),mg=[fg.default,pg.default];Bs.default=mg});var cl=C(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var ee=A(),hg={message:({schemaCode:e})=>(0,ee.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ee._)`{format: ${e}}`},gg={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:hg,code(e,t){let{gen:r,data:o,$data:n,schema:s,schemaCode:a,it:i}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=i;if(!c.validateFormats)return;n?g():m();function g(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,ee._)`${p}[${a}]`),h=r.let("fType"),y=r.let("format");r.if((0,ee._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(h,(0,ee._)`${f}.type || "string"`).assign(y,(0,ee._)`${f}.validate`),()=>r.assign(h,(0,ee._)`"string"`).assign(y,f)),e.fail$data((0,ee.or)(w(),b()));function w(){return c.strictSchema===!1?ee.nil:(0,ee._)`${a} && !${y}`}function b(){let S=u.$async?(0,ee._)`(${f}.async ? await ${y}(${o}) : ${y}(${o}))`:(0,ee._)`${y}(${o})`,$=(0,ee._)`(typeof ${y} == "function" ? ${S} : ${y}.test(${o}))`;return(0,ee._)`${y} && ${y} !== true && ${h} === ${t} && !${$}`}}function m(){let p=d.formats[s];if(!p){w();return}if(p===!0)return;let[f,h,y]=b(p);f===t&&e.pass(S());function w(){if(c.strictSchema===!1){d.logger.warn($());return}throw new Error($());function $(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function b($){let z=$ instanceof RegExp?(0,ee.regexpCode)($):c.code.formats?(0,ee._)`${c.code.formats}${(0,ee.getProperty)(s)}`:void 0,D=r.scopeValue("formats",{key:s,ref:$,code:z});return typeof $=="object"&&!($ instanceof RegExp)?[$.type||"string",$.validate,(0,ee._)`${D}.validate`]:["string",$,D]}function S(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!u.$async)throw new Error("async format in sync schema");return(0,ee._)`await ${y}(${o})`}return typeof h=="function"?(0,ee._)`${y}(${o})`:(0,ee._)`${y}.test(${o})`}}}};Vs.default=gg});var ll=C(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var yg=cl(),_g=[yg.default];zs.default=_g});var ul=C(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.contentVocabulary=St.metadataVocabulary=void 0;St.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];St.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var fl=C(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var Tg=rc(),vg=gc(),Cg=zc(),Eg=Yc(),bg=rl(),wg=il(),$g=ll(),dl=ul(),Rg=[Eg.default,Tg.default,vg.default,(0,Cg.default)(!0),$g.default,dl.metadataVocabulary,dl.contentVocabulary,bg.default,wg.default];Gs.default=Rg});var ml=C(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.DiscrError=void 0;var pl;(function(e){e.Tag="tag",e.Mapping="mapping"})(pl||(go.DiscrError=pl={}))});var gl=C(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var Ot=A(),Fs=ml(),hl=er(),kg=Zt(),Sg=j(),Og={message:({params:{discrError:e,tagName:t}})=>e===Fs.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Ot._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Ig={keyword:"discriminator",type:"object",schemaType:"object",error:Og,code(e){let{gen:t,data:r,schema:o,parentSchema:n,it:s}=e,{oneOf:a}=n;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=o.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(o.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,Ot._)`${r}${(0,Ot.getProperty)(i)}`);t.if((0,Ot._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:Fs.DiscrError.Tag,tag:l,tagName:i})),e.ok(c);function u(){let m=g();t.if(!1);for(let p in m)t.elseIf((0,Ot._)`${l} === ${p}`),t.assign(c,d(m[p]));t.else(),e.error(!1,{discrError:Fs.DiscrError.Mapping,tag:l,tagName:i}),t.endIf()}function d(m){let p=t.name("valid"),f=e.subschema({keyword:"oneOf",schemaProp:m},p);return e.mergeEvaluated(f,Ot.Name),p}function g(){var m;let p={},f=y(n),h=!0;for(let S=0;S<a.length;S++){let $=a[S];if($?.$ref&&!(0,Sg.schemaHasRulesButRef)($,s.self.RULES)){let D=$.$ref;if($=hl.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,D),$ instanceof hl.SchemaEnv&&($=$.schema),$===void 0)throw new kg.default(s.opts.uriResolver,s.baseId,D)}let z=(m=$?.properties)===null||m===void 0?void 0:m[i];if(typeof z!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);h=h&&(f||y($)),w(z,S)}if(!h)throw new Error(`discriminator: "${i}" must be required`);return p;function y({required:S}){return Array.isArray(S)&&S.includes(i)}function w(S,$){if(S.const)b(S.const,$);else if(S.enum)for(let z of S.enum)b(z,$);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function b(S,$){if(typeof S!="string"||S in p)throw new Error(`discriminator: "${i}" values must be unique strings`);p[S]=$}}}};Ks.default=Ig});var yl=C((xT,Pg)=>{Pg.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 _l=C((MT,Ag)=>{Ag.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 Tl=C((NT,xg)=>{xg.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 vl=C((LT,Mg)=>{Mg.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 Cl=C((jT,Ng)=>{Ng.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 El=C((DT,Lg)=>{Lg.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 bl=C((qT,jg)=>{jg.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 wl=C((UT,Dg)=>{Dg.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 $l=C(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var qg=yl(),Ug=_l(),Bg=Tl(),Vg=vl(),zg=Cl(),Gg=El(),Fg=bl(),Kg=wl(),Hg=["/properties"];function Wg(e){return[qg,Ug,Bg,Vg,zg,t(this,Gg),Fg,t(this,Kg)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function t(r,o){return e?r.$dataMetaSchema(o,Hg):o}}Hs.default=Wg});var Rl=C((Y,Js)=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.MissingRefError=Y.ValidationError=Y.CodeGen=Y.Name=Y.nil=Y.stringify=Y.str=Y._=Y.KeywordCxt=Y.Ajv2020=void 0;var Jg=Yi(),Qg=fl(),Yg=gl(),Xg=$l(),Ws="https://json-schema.org/draft/2020-12/schema",It=class extends Jg.default{constructor(t={}){super({...t,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),Qg.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Yg.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(Xg.default.call(this,t),this.refs["http://json-schema.org/schema"]=Ws)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ws)?Ws:void 0)}};Y.Ajv2020=It;Js.exports=Y=It;Js.exports.Ajv2020=It;Object.defineProperty(Y,"__esModule",{value:!0});Y.default=It;var Zg=Xt();Object.defineProperty(Y,"KeywordCxt",{enumerable:!0,get:function(){return Zg.KeywordCxt}});var Pt=A();Object.defineProperty(Y,"_",{enumerable:!0,get:function(){return Pt._}});Object.defineProperty(Y,"str",{enumerable:!0,get:function(){return Pt.str}});Object.defineProperty(Y,"stringify",{enumerable:!0,get:function(){return Pt.stringify}});Object.defineProperty(Y,"nil",{enumerable:!0,get:function(){return Pt.nil}});Object.defineProperty(Y,"Name",{enumerable:!0,get:function(){return Pt.Name}});Object.defineProperty(Y,"CodeGen",{enumerable:!0,get:function(){return Pt.CodeGen}});var ey=Jr();Object.defineProperty(Y,"ValidationError",{enumerable:!0,get:function(){return ey.default}});var ty=Zt();Object.defineProperty(Y,"MissingRefError",{enumerable:!0,get:function(){return ty.default}})});function Ao(e,t,r,o){return{role:"assistant",content:t||null,...e.length>0?{tool_calls:e}:{},...r&&r.length>0?{thinkingBlocks:r}:{},...o?{reasoning_content:o}:{}}}function Oe(e,t){let r=t.ok?typeof t.payload=="string"?t.payload:JSON.stringify(t.payload??""):`Error: ${t.error??"Tool execution failed"}`;return{role:"tool",tool_call_id:e,content:r,...!t.ok&&{is_error:!0},...t.toolReferences?.length?{toolReferences:t.toolReferences}:{},...t.imageUrls?.length?{imageUrls:t.imageUrls}:{},...t.contentBlocks?{contentBlocks:t.contentBlocks}:{},...t.structuredContent!==void 0?{structuredContent:t.structuredContent}:{},...t.mcpMeta!==void 0?{mcpMeta:t.mcpMeta}:{},...t.mcpIsError!==void 0?{mcpIsError:t.mcpIsError}:{}}}var au=new Set(["RETRYABLE_TRANSIENT","RETRYABLE_DEGRADED","TOOL_EXECUTION_FAILED"]);function Mr(e){return au.has(e)}function jt(e,t){return e===401||e===403?"NON_RETRYABLE_AUTH":e===402?"NON_RETRYABLE_QUOTA":e===429?"RETRYABLE_DEGRADED":e===408||typeof e=="number"&&e>=500?"RETRYABLE_TRANSIENT":typeof e=="number"&&e>=400?"NON_RETRYABLE_CONTENT":/invalid[_ ]api[_ ]key|unauthorized|forbidden/i.test(t??"")?"NON_RETRYABLE_AUTH":/insufficient[_ ]quota|payment required|insufficient credits/i.test(t??"")?"NON_RETRYABLE_QUOTA":/rate[_ ]limit|too many requests/i.test(t??"")?"RETRYABLE_DEGRADED":/context_length_exceeded|prompt_too_long|invalid request|model[_ ]not[_ ]found/i.test(t??"")?"NON_RETRYABLE_CONTENT":"RETRYABLE_TRANSIENT"}function xo(e){let t=[...e.tools],r=e.toolChoice;if(!r||r==="auto")return{tools:t,normalizedToolChoice:r,warnings:[]};if(r==="none")return{tools:[],normalizedToolChoice:"none",warnings:[]};if(r==="required"){if(!t.length)throw Error("tool_choice=required but no tools were provided");return{tools:t,normalizedToolChoice:"required",warnings:[]}}if(typeof r=="object"&&!Array.isArray(r)&&r.type==="function"){let o=r.function,n=typeof o?.name=="string"?o.name.trim():"";if(!n)throw Error("tool_choice.function.name is required");let s=t.filter(a=>(a.function?.name??a.name)?.trim()===n);if(!s.length)throw Error("tool_choice requested unknown tool: "+n);return{tools:s,normalizedToolChoice:{type:"function",function:{name:n}},warnings:[]}}return{tools:t,normalizedToolChoice:r,warnings:[]}}var iu=["stop","aborted","timeout","cancelled","interrupted","error"],cu=["tool_calls","toolCalls","function_call","functionCall","raw_tool_calls","rawToolCalls"];function Ea(e){return e==null?[]:typeof e=="string"?e.length>0?[{type:"text",text:e}]:[]:Array.isArray(e)?e:[{type:"text",text:String(e)}]}function lu(e,t){let r=[...Array.isArray(e.contextAnchors)?e.contextAnchors:[],...Array.isArray(t.contextAnchors)?t.contextAnchors:[]];return{...e,...t,...r.length?{contextAnchors:[...new Map(r.map(o=>[JSON.stringify(o),o])).values()]}:{},content:[...Ea(e.content),...Ea(t.content)]}}function uu(e){let t=new Set;if(e.role!=="assistant"||!Array.isArray(e.tool_calls))return t;for(let r of e.tool_calls)typeof r.id=="string"&&r.id&&t.add(r.id);return t}function du(e){let t=new Set,r=[];for(let o=0;o<e.length;o+=1){if(t.has(o))continue;let n=e[o];if(!n)continue;r.push(n);let s=uu(n);if(s.size!==0)for(let a=o+1;a<e.length;a+=1){if(t.has(a))continue;let i=e[a];i?.role==="tool"&&typeof i.tool_call_id=="string"&&s.has(i.tool_call_id)&&(r.push(i),t.add(a))}}return r}function fu(e){if(!e||typeof e!="object")return!1;if(e.function&&typeof e.function=="object"){let t=e.function.name;if(typeof t=="string"&&t.length>0)return!0}return typeof e.name=="string"&&e.name.length>0}function pu(e){return new Set((e??iu).map(t=>t.trim().toLowerCase()))}function mu(e,t){return e?pu(t).has(e.trim().toLowerCase()):!1}function Mo(e){if(!Array.isArray(e)||e.length===0)return[...e];let t=e.map(c=>{if(c.role==="assistant"&&Array.isArray(c.tool_calls)){let l=c.tool_calls.filter(u=>fu(u));return{...c,...l.length>0?{tool_calls:l}:{tool_calls:void 0}}}return{...c}}),r=new Set;for(let c of t)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 o=t.filter(c=>c.role!=="tool"?!0:!!(c.tool_call_id&&r.has(c.tool_call_id))),n=new Set;for(let c of o)c.role==="tool"&&typeof c.tool_call_id=="string"&&c.tool_call_id&&n.add(c.tool_call_id);let s=[];for(let c of o){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"&&n.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 a=du(s),i=[];for(let c of a){let l=i.length>0?i[i.length-1]:void 0;if(c.role==="user"&&l?.role==="user"&&c.contextProjection!=="facts"&&l.contextProjection!=="facts"){i[i.length-1]=lu(l,c);continue}i.push(c)}return i}function No(e,t){return mu(t?.stopReason,t?.forcedStopReasons)?e.map(r=>{if(r.role!=="assistant")return{...r};let o={...r};for(let n of cu)delete o[n];return o}):[...e]}function Lo(e,t){let r=t?.placeholderToolResult??"Error: Tool loop interrupted before the tool result was replayed.",o=new Set;for(let s of e)s.role==="tool"&&typeof s.tool_call_id=="string"&&s.tool_call_id&&o.add(s.tool_call_id);let n=[];for(let s of e)if(n.push({...s}),!(s.role!=="assistant"||!Array.isArray(s.tool_calls)||s.tool_calls.length===0))for(let a of s.tool_calls)typeof a.id!="string"||!a.id||o.has(a.id)||(o.add(a.id),n.push({role:"tool",tool_call_id:a.id,content:r}));return n}function jo(e,t){let r=Mo(e),o=No(r,t);return Lo(o,t)}function hu(e){let t=new Set,r=new Set;for(let o of e){if(o.role==="assistant"&&Array.isArray(o.tool_calls))for(let n of o.tool_calls)typeof n.id=="string"&&n.id&&t.add(n.id);o.role==="tool"&&typeof o.tool_call_id=="string"&&o.tool_call_id&&r.add(o.tool_call_id)}return[...t].filter(o=>!r.has(o))}function gu(e){let t=new Set;for(let r of e)r.role==="tool"&&typeof r.tool_call_id=="string"&&r.tool_call_id&&t.add(r.tool_call_id);return[...t]}function yu(e){return{round:e.round??0,maxRounds:e.maxRounds,pendingToolCallIds:[...e.pendingToolCallIds??[]],completedToolCallIds:[...e.completedToolCallIds??[]],lastStopReason:e.lastStopReason,replayMessages:[...e.replayMessages??[]]}}function Do(e,t){return{round:e.round+1,maxRounds:e.maxRounds,pendingToolCallIds:[...t.pendingToolCallIds??e.pendingToolCallIds],completedToolCallIds:[...t.completedToolCallIds??e.completedToolCallIds],lastStopReason:t.lastStopReason??e.lastStopReason,replayMessages:[...t.replayMessages??e.replayMessages]}}function Nr(e,t){return{round:e.round,maxRounds:e.maxRounds,pendingToolCallIds:[],completedToolCallIds:[...t.completedToolCallIds??e.completedToolCallIds],lastStopReason:t.lastStopReason??e.lastStopReason,replayMessages:[...t.replayMessages??e.replayMessages]}}function Lr(e){let t=[],r=Mo(e.replayMessages);r.length!==e.replayMessages.length&&t.push({kind:"drop-orphan-tool-result",detail:"Removed orphan tool results or invalid assistant tool calls."});let o=No(r,e.options);o.some((s,a)=>s!==r[a])&&t.push({kind:"strip-forced-stop-tool-metadata",detail:"Removed assistant tool-call metadata after forced stop."});let n=Lo(o,e.options);return n.length>o.length&&t.push({kind:"inject-placeholder-tool-result",detail:"Injected placeholder tool result for pending tool calls."}),{state:yu({maxRounds:e.maxRounds,round:e.round,lastStopReason:e.lastStopReason,replayMessages:n,pendingToolCallIds:hu(n),completedToolCallIds:gu(n)}),recoveryActions:t}}function qo(e){return e===429||e===529}function Uo(e,t=500,r=32e3){let o=Math.min(t*Math.pow(2,e-1),r);return o+Math.floor(Math.random()*o*.25)}function Bo(e){return Number.isFinite(e.totalPromptTokens)&&(e.totalPromptTokens??-1)>=0?Math.floor(e.totalPromptTokens):Number.isFinite(e.promptTokens)&&e.promptTokens>0?Math.floor(e.promptTokens):0}function Vo(e){return{promptTokens:0,hasAttemptedReactiveCompact:!1,currentMaxOutputTokens:e.maxOutputTokens,aborted:e.abortSignal?.aborted??!1}}function zo(e,t){let r=t.contextWindowTokens-t.responseBufferTokens-e.currentMaxOutputTokens,o=r>0?e.promptTokens/r*100:100;return o>=85?{level:"warning",usagePercent:o,remainingTokens:Math.max(0,r-e.promptTokens)}:{level:"ok"}}function Go(e,t,r){let o=e.message?.toLowerCase()??"",n=e.status??0;return n===413||o.includes("prompt_too_long")||o.includes("context_length_exceeded")?!t.hasAttemptedReactiveCompact&&r.reactiveCompactEnabled?{action:"reactive_compact"}:{action:"abort",reason:"prompt_too_long_unrecoverable"}:n>=500&&n<600?{action:"retry",reason:`server_error_${n}`}:n===429?{action:"retry",reason:"rate_limited"}:n===401||n===403?{action:"abort",reason:"auth_error"}:n===404?{action:"abort",reason:"model_not_found"}:{action:"abort",reason:o||"unknown_error"}}function Fo(e,t){return e.aborted?!0:t.abortSignal?.aborted?(e.aborted=!0,!0):!1}function Ko(){return{attemptedThisTurn:!1}}function Dt(e){return!e.attemptedThisTurn}function Ho(e,t){let r=e.get(t.index)??{id:"",name:"",arguments:""};t.id&&(r.id=t.id),t.name&&(r.name=t.name),r.arguments=t.argumentsMode==="replace"?t.arguments??"":`${r.arguments}${t.arguments??""}`,e.set(t.index,r)}var Wo="tool_schema_load";function ba(e){return e?.type!=="tool_schema_load"||!Array.isArray(e.requestedToolNames)?[]:[...new Set(e.requestedToolNames.filter(t=>typeof t=="string"&&t.trim().length>0))]}function ne(e,t,r,o){e?.invoke(t,r).catch(n=>{let s=n instanceof Error?n.message:String(n);o.warn(`[hook:${t}] handler failed: ${s}`)})}function wa(e){return e.blocked?"policy_blocked":"tool_execution_failed"}function $a(e,t){let r=typeof t.message?.content=="string"?t.message.content:"",o=r?r.slice(0,2e3):void 0,n=t.details;return{type:"tool_result",turnId:e,callId:t.callId,name:t.toolName,ok:t.ok,error:t.error,outputPreview:o,durationMs:t.durationMs,details:n}}var Sl=su(Rl(),1),ry=new Sl.Ajv2020({allErrors:!0,allowUnionTypes:!0,strict:!1,validateFormats:!1}),kl=new WeakMap;function oy(e){let t=kl.get(e);if(t)return t;let r=ry.compile(e);return kl.set(e,r),r}function ny(e){return e.instancePath?`arguments${e.instancePath}`:e.keyword==="required"&&typeof e.params.missingProperty=="string"?`arguments/${e.params.missingProperty}`:"arguments"}function sy(e){return(e??[]).slice(0,4).map(t=>`${ny(t)} ${t.message??`violates ${t.keyword}`}`).join("; ")}function Ol(e,t,r){let o;try{o=JSON.parse(r)}catch{return{ok:!1,error:`Tool "${e}" arguments must be valid JSON.`}}if(!o||typeof o!="object"||Array.isArray(o))return{ok:!1,error:`Tool "${e}" arguments must be a JSON object.`};if(!t)return{ok:!0};try{let n=oy(t);return n(o)?{ok:!0}:{ok:!1,error:`Tool "${e}" arguments do not match the offered schema: ${sy(n.errors)}.`}}catch(n){return{ok:!1,error:`Tool "${e}" has an invalid offered JSON Schema: ${n instanceof Error?n.message:String(n)}.`}}}function yo(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.round(e):0}function _o(e){if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.round(e)}function Il(e){return e.filter(t=>t.role!=="assistant"?!0:!(typeof t.content=="string"&&t.content.trim()===""))}function Qs(e){let t=e.message.toLowerCase();return e.status===413||t.includes("prompt_too_long")||t.includes("context_length_exceeded")||t.includes("maximum context length")}function Ys(e){return e==="length"||e==="max_tokens"}function Xs(e){let t=e.message.toLowerCase();return(t.includes("image")||t.includes("media")||t.includes("file too large")||t.includes("payload too large"))&&(e.status===413||t.includes("too large")||t.includes("size"))}function Pl(e){let t=e.headers;if(!t)return null;let r=t["retry-after"]??t["Retry-After"];if(!r)return null;let o=/^\d+(?:\.\d+)?$/.test(r.trim())?Number(r):NaN;if(Number.isFinite(o))return o*1e3;let n=Date.parse(r);return Number.isFinite(n)?Math.max(0,n-Date.now()):null}async function*Al(e){let{messages:t,guardConfig:r,runtimePorts:o,hooks:n,hookCtx:s,currentModel:a,log:i,recovery:c,onAutocompact:l}=e,u;{let d=await o.enforceToolResultBudget(t);u=d.messages,d.newlyReplacedCount>0&&(i.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`))}{let d=r.contextWindowTokens>0?Math.max(0,r.contextWindowTokens-r.maxOutputTokens):1/0,g=await o.compressMessages(u,{budget:d,model:a,...s,signal:r.abortSignal});r.abortSignal?.throwIfAborted(),u=g.messages,g.droppedCount>0&&(i.info(`autocompact: ${g.strategy}, dropped ${g.droppedCount}`),yield c("autocompact",`${g.strategy}: ${g.droppedCount} dropped`),yield{type:"lifecycle",turnId:s.turnId,kind:"context_compression",status:"completed",detail:`${g.strategy}: ${g.droppedCount} dropped`},l(),ne(n,"context.after_compact",{...s,removedCount:g.droppedCount},i))}return u=Il(u),u}async function*xl(e,t){let{state:r,turnId:o,log:n,emitRecovery:s}=t,a=e instanceof Error?e.message:String(e),i=typeof e?.status=="number"?e.status:void 0,c=e;if(t.signal?.aborted)return yield{type:"error",turnId:o,error:"Turn aborted",code:"ABORTED",usage:r.totalUsage},{kind:"return"};if(!c||c.retryable!==!0||c.safeToRetry!==!0||c.automaticRetryAuthorized!==!0)return yield{type:"error",turnId:o,error:c?.outcome==="rejected"?"The model service rejected this request.":"The model request outcome must be reconciled before retry.",code:c?.outcome==="rejected"?"MODEL_REQUEST_REJECTED":"MODEL_RECONCILIATION_REQUIRED",usage:r.totalUsage},{kind:"return"};if(!i&&a&&(a.includes("ECONNRESET")||a.includes("EPIPE"))){let l=(r.consecutiveApiRetries??0)+1;return n.info(`stale connection (${a.includes("ECONNRESET")?"ECONNRESET":"EPIPE"}): retrying`),yield s("stale_connection_retry",a.slice(0,80)),{kind:"continue",patch:{consecutiveApiRetries:l,transition:void 0}}}if(i===400&&c.outcome==="rejected")return yield{type:"error",turnId:o,error:a,code:"MODEL_REQUEST_REJECTED",usage:r.totalUsage},{kind:"return"};if(qo(i)){r.consecutive529Errors++,r.consecutiveApiRetries++;let u=Pl({status:i,message:a,headers:c.headers})??Uo(r.consecutive529Errors);return n.info(`transient ${i}: retry in ${u}ms`),yield s("retry",`${i} retry in ${u}ms`),await new Promise(d=>{let g=Date.now()+u,m,p=()=>{clearTimeout(m),t.signal?.removeEventListener("abort",p),d()},f=()=>{let h=g-Date.now();if(h<=0||t.signal?.aborted){p();return}m=setTimeout(f,Math.min(h,2147483647))};t.signal?.addEventListener("abort",p,{once:!0}),f()}),{kind:"continue",patch:{transition:void 0}}}return{kind:"streamError",streamError:{status:i,message:a}}}function Ml(e){return[...new Set(e.map(t=>t.function.name))].sort()}function uy(e){let t=new Set,r=[];for(let o of e){let n=`${o.name}\0${o.reason}`;t.has(n)||(t.add(n),r.push(o))}return r.sort((o,n)=>`${o.name}:${o.reason}`.localeCompare(`${n.name}:${n.reason}`))}function Nl(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function dy(e,t){if(!e)return null;let r=Nl(e.function.parameters),o=Nl(r?.properties)??{},n=Array.isArray(r?.required)?r.required.filter(i=>typeof i=="string"&&i.trim().length>0):[],s=py(t);if(!s)return`Tool "${e.function.name}" arguments must be a JSON object.`;for(let i of n){let c=s[i];if(typeof c=="string"?c.trim().length===0:c==null)return`Tool "${e.function.name}" missing required field \`${i}\`. Use the offered tool schema exactly.`}if(r?.additionalProperties===!1){let i=new Set(Object.keys(o)),c=Object.keys(s).filter(l=>!i.has(l));if(c.length>0){let l=[...i].map(u=>`\`${u}\``).join(", ")||"none";return`Tool "${e.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 a=Ol(e.function.name,r??void 0,t);return a.ok?null:a.error??`Tool "${e.function.name}" arguments do not match the offered schema.`}function fy(e,t){let r=e?.meta?.identity;if(r?.schemaVersion===1&&r.wireName===t)return r}function Ll(e){return{role:"user",content:`Product job result(s) became available while the main task continued.
8
+ deps: ${r}}`};var Qm={keyword:"dependencies",type:"object",schemaType:"object",error:Le.error,code(e){let[t,r]=Ym(e);$c(e,t),Rc(e,r)}};function Ym({schema:e}){let t={},r={};for(let o in e){if(o==="__proto__")continue;let n=Array.isArray(e[o])?t:r;n[o]=e[o]}return[t,r]}function $c(e,t=e.schema){let{gen:r,data:o,it:n}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let a in t){let i=t[a];if(i.length===0)continue;let c=(0,pr.propertyInData)(r,o,a,n.opts.ownProperties);e.setParams({property:a,depsCount:i.length,deps:i.join(", ")}),n.allErrors?r.if(c,()=>{for(let l of i)(0,pr.checkReportMissingProp)(e,l)}):(r.if((0,hs._)`${c} && (${(0,pr.checkMissingProp)(e,i,s)})`),(0,pr.reportMissingProp)(e,s),r.else())}}Le.validatePropertyDeps=$c;function Rc(e,t=e.schema){let{gen:r,data:o,keyword:n,it:s}=e,a=r.name("valid");for(let i in t)(0,Jm.alwaysValidSchema)(s,t[i])||(r.if((0,pr.propertyInData)(r,o,i,s.opts.ownProperties),()=>{let c=e.subschema({keyword:n,schemaProp:i},a);e.mergeValidEvaluated(c,a)},()=>r.var(a,!0)),e.ok(a))}Le.validateSchemaDeps=Rc;Le.default=Qm});var Sc=C(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});var kc=A(),Xm=j(),Zm={message:"property name must be valid",params:({params:e})=>(0,kc._)`{propertyName: ${e.propertyName}}`},eh={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Zm,code(e){let{gen:t,schema:r,data:o,it:n}=e;if((0,Xm.alwaysValidSchema)(n,r))return;let s=t.name("valid");t.forIn("key",o,a=>{e.setParams({propertyName:a}),e.subschema({keyword:"propertyNames",data:a,dataTypes:["string"],propertyName:a,compositeRule:!0},s),t.if((0,kc.not)(s),()=>{e.error(!0),n.allErrors||t.break()})}),e.ok(s)}};gs.default=eh});var _s=C(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});var uo=$e(),xe=A(),th=we(),fo=j(),rh={message:"must NOT have additional properties",params:({params:e})=>(0,xe._)`{additionalProperty: ${e.additionalProperty}}`},oh={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:rh,code(e){let{gen:t,schema:r,parentSchema:o,data:n,errsCount:s,it:a}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:i,opts:c}=a;if(a.props=!0,c.removeAdditional!=="all"&&(0,fo.alwaysValidSchema)(a,r))return;let l=(0,uo.allSchemaProperties)(o.properties),u=(0,uo.allSchemaProperties)(o.patternProperties);d(),e.ok((0,xe._)`${s} === ${th.default.errors}`);function d(){t.forIn("key",n,h=>{!l.length&&!u.length?p(h):t.if(g(h),()=>p(h))})}function g(h){let y;if(l.length>8){let w=(0,fo.schemaRefOrVal)(a,o.properties,"properties");y=(0,uo.isOwnProperty)(t,w,h)}else l.length?y=(0,xe.or)(...l.map(w=>(0,xe._)`${h} === ${w}`)):y=xe.nil;return u.length&&(y=(0,xe.or)(y,...u.map(w=>(0,xe._)`${(0,uo.usePattern)(e,w)}.test(${h})`))),(0,xe.not)(y)}function m(h){t.code((0,xe._)`delete ${n}[${h}]`)}function p(h){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(h);return}if(r===!1){e.setParams({additionalProperty:h}),e.error(),i||t.break();return}if(typeof r=="object"&&!(0,fo.alwaysValidSchema)(a,r)){let y=t.name("valid");c.removeAdditional==="failing"?(f(h,y,!1),t.if((0,xe.not)(y),()=>{e.reset(),m(h)})):(f(h,y),i||t.if((0,xe.not)(y),()=>t.break()))}}function f(h,y,w){let b={keyword:"additionalProperties",dataProp:h,dataPropType:fo.Type.Str};w===!1&&Object.assign(b,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(b,y)}}};ys.default=oh});var Pc=C(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});var nh=Xt(),Oc=$e(),Ts=j(),Ic=_s(),sh={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:o,data:n,it:s}=e;s.opts.removeAdditional==="all"&&o.additionalProperties===void 0&&Ic.default.code(new nh.KeywordCxt(s,Ic.default,"additionalProperties"));let a=(0,Oc.allSchemaProperties)(r);for(let d of a)s.definedProperties.add(d);s.opts.unevaluated&&a.length&&s.props!==!0&&(s.props=Ts.mergeEvaluated.props(t,(0,Ts.toHash)(a),s.props));let i=a.filter(d=>!(0,Ts.alwaysValidSchema)(s,r[d]));if(i.length===0)return;let c=t.name("valid");for(let d of i)l(d)?u(d):(t.if((0,Oc.propertyInData)(t,n,d,s.opts.ownProperties)),u(d),s.allErrors||t.else().var(c,!0),t.endIf()),e.it.definedProperties.add(d),e.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};vs.default=sh});var Nc=C(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var Ac=$e(),po=A(),xc=j(),Mc=j(),ah={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:o,parentSchema:n,it:s}=e,{opts:a}=s,i=(0,Ac.allSchemaProperties)(r),c=i.filter(f=>(0,xc.alwaysValidSchema)(s,r[f]));if(i.length===0||c.length===i.length&&(!s.opts.unevaluated||s.props===!0))return;let l=a.strictSchema&&!a.allowMatchingProperties&&n.properties,u=t.name("valid");s.props!==!0&&!(s.props instanceof po.Name)&&(s.props=(0,Mc.evaluatedPropsToName)(t,s.props));let{props:d}=s;g();function g(){for(let f of i)l&&m(f),s.allErrors?p(f):(t.var(u,!0),p(f),t.if(u))}function m(f){for(let h in l)new RegExp(f).test(h)&&(0,xc.checkStrictMode)(s,`property ${h} matches pattern ${f} (use allowMatchingProperties)`)}function p(f){t.forIn("key",o,h=>{t.if((0,po._)`${(0,Ac.usePattern)(e,f)}.test(${h})`,()=>{let y=c.includes(f);y||e.subschema({keyword:"patternProperties",schemaProp:f,dataProp:h,dataPropType:Mc.Type.Str},u),s.opts.unevaluated&&d!==!0?t.assign((0,po._)`${d}[${h}]`,!0):!y&&!s.allErrors&&t.if((0,po.not)(u),()=>t.break())})})}}};Cs.default=ah});var Lc=C(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var ih=j(),ch={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:o}=e;if((0,ih.alwaysValidSchema)(o,r)){e.fail();return}let n=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},n),e.failResult(n,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};Es.default=ch});var jc=C(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});var lh=$e(),uh={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:lh.validateUnion,error:{message:"must match a schema in anyOf"}};bs.default=uh});var Dc=C(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});var mo=A(),dh=j(),fh={message:"must match exactly one schema in oneOf",params:({params:e})=>(0,mo._)`{passingSchemas: ${e.passing}}`},ph={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:fh,code(e){let{gen:t,schema:r,parentSchema:o,it:n}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");if(n.opts.discriminator&&o.discriminator)return;let s=r,a=t.let("valid",!1),i=t.let("passing",null),c=t.name("_valid");e.setParams({passing:i}),t.block(l),e.result(a,()=>e.reset(),()=>e.error(!0));function l(){s.forEach((u,d)=>{let g;(0,dh.alwaysValidSchema)(n,u)?t.var(c,!0):g=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&t.if((0,mo._)`${c} && ${a}`).assign(a,!1).assign(i,(0,mo._)`[${i}, ${d}]`).else(),t.if(c,()=>{t.assign(a,!0),t.assign(i,d),g&&e.mergeEvaluated(g,mo.Name)})})}}};ws.default=ph});var qc=C($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});var mh=j(),hh={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:o}=e;if(!Array.isArray(r))throw new Error("ajv implementation error");let n=t.name("valid");r.forEach((s,a)=>{if((0,mh.alwaysValidSchema)(o,s))return;let i=e.subschema({keyword:"allOf",schemaProp:a},n);e.ok(n),e.mergeEvaluated(i)})}};$s.default=hh});var Bc=C(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});var ho=A(),Vc=j(),gh={message:({params:e})=>(0,ho.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,ho._)`{failingKeyword: ${e.ifClause}}`},yh={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:gh,code(e){let{gen:t,parentSchema:r,it:o}=e;r.then===void 0&&r.else===void 0&&(0,Vc.checkStrictMode)(o,'"if" without "then" and "else" is ignored');let n=Uc(o,"then"),s=Uc(o,"else");if(!n&&!s)return;let a=t.let("valid",!0),i=t.name("_valid");if(c(),e.reset(),n&&s){let u=t.let("ifClause");e.setParams({ifClause:u}),t.if(i,l("then",u),l("else",u))}else n?t.if(i,l("then")):t.if((0,ho.not)(i),l("else"));e.pass(a,()=>e.error(!0));function c(){let u=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},i);e.mergeEvaluated(u)}function l(u,d){return()=>{let g=e.subschema({keyword:u},i);t.assign(a,i),e.mergeValidEvaluated(g,a),d?t.assign(d,(0,ho._)`${u}`):e.setParams({ifClause:u})}}}};function Uc(e,t){let r=e.schema[t];return r!==void 0&&!(0,Vc.alwaysValidSchema)(e,r)}Rs.default=yh});var zc=C(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var _h=j(),Th={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){t.if===void 0&&(0,_h.checkStrictMode)(r,`"${e}" without "if" is ignored`)}};ks.default=Th});var Gc=C(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var vh=us(),Ch=Cc(),Eh=ds(),bh=bc(),wh=wc(),$h=lo(),Rh=Sc(),kh=_s(),Sh=Pc(),Oh=Nc(),Ih=Lc(),Ph=jc(),Ah=Dc(),xh=qc(),Mh=Bc(),Nh=zc();function Lh(e=!1){let t=[Ih.default,Ph.default,Ah.default,xh.default,Mh.default,Nh.default,Rh.default,kh.default,$h.default,Sh.default,Oh.default];return e?t.push(Ch.default,bh.default):t.push(vh.default,Eh.default),t.push(wh.default),t}Ss.default=Lh});var Is=C(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});mr.dynamicAnchor=void 0;var Os=A(),jh=we(),Fc=er(),Dh=oo(),qh={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Kc(e,e.schema)};function Kc(e,t){let{gen:r,it:o}=e;o.schemaEnv.root.dynamicAnchors[t]=!0;let n=(0,Os._)`${jh.default.dynamicAnchors}${(0,Os.getProperty)(t)}`,s=o.errSchemaPath==="#"?o.validateName:Uh(e);r.if((0,Os._)`!${n}`,()=>r.assign(n,s))}mr.dynamicAnchor=Kc;function Uh(e){let{schemaEnv:t,schema:r,self:o}=e.it,{root:n,baseId:s,localRefs:a,meta:i}=t.root,{schemaId:c}=o.opts,l=new Fc.SchemaEnv({schema:r,schemaId:c,root:n,baseId:s,localRefs:a,meta:i});return Fc.compileSchema.call(o,l),(0,Dh.getValidate)(e,l)}mr.default=qh});var Ps=C(hr=>{"use strict";Object.defineProperty(hr,"__esModule",{value:!0});hr.dynamicRef=void 0;var Hc=A(),Vh=we(),Wc=oo(),Bh={keyword:"$dynamicRef",schemaType:"string",code:e=>Jc(e,e.schema)};function Jc(e,t){let{gen:r,keyword:o,it:n}=e;if(t[0]!=="#")throw new Error(`"${o}" only supports hash fragment reference`);let s=t.slice(1);if(n.allErrors)a();else{let c=r.let("valid",!1);a(c),e.ok(c)}function a(c){if(n.schemaEnv.root.dynamicAnchors[s]){let l=r.let("_v",(0,Hc._)`${Vh.default.dynamicAnchors}${(0,Hc.getProperty)(s)}`);r.if(l,i(l,c),i(n.validateName,c))}else i(n.validateName,c)()}function i(c,l){return l?()=>r.block(()=>{(0,Wc.callRef)(e,c),r.let(l,!0)}):()=>(0,Wc.callRef)(e,c)}}hr.dynamicRef=Jc;hr.default=Bh});var Qc=C(As=>{"use strict";Object.defineProperty(As,"__esModule",{value:!0});var zh=Is(),Gh=j(),Fh={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0,zh.dynamicAnchor)(e,""):(0,Gh.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored")}};As.default=Fh});var Yc=C(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});var Kh=Ps(),Hh={keyword:"$recursiveRef",schemaType:"string",code:e=>(0,Kh.dynamicRef)(e,e.schema)};xs.default=Hh});var Xc=C(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});var Wh=Is(),Jh=Ps(),Qh=Qc(),Yh=Yc(),Xh=[Wh.default,Jh.default,Qh.default,Yh.default];Ms.default=Xh});var el=C(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});var Zc=lo(),Zh={keyword:"dependentRequired",type:"object",schemaType:"object",error:Zc.error,code:e=>(0,Zc.validatePropertyDeps)(e)};Ns.default=Zh});var tl=C(Ls=>{"use strict";Object.defineProperty(Ls,"__esModule",{value:!0});var eg=lo(),tg={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0,eg.validateSchemaDeps)(e)};Ls.default=tg});var rl=C(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});var rg=j(),og={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0,rg.checkStrictMode)(r,`"${e}" without "contains" is ignored`)}};js.default=og});var ol=C(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var ng=el(),sg=tl(),ag=rl(),ig=[ng.default,sg.default,ag.default];Ds.default=ig});var sl=C(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});var Qe=A(),nl=j(),cg=we(),lg={message:"must NOT have unevaluated properties",params:({params:e})=>(0,Qe._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},ug={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:lg,code(e){let{gen:t,schema:r,data:o,errsCount:n,it:s}=e;if(!n)throw new Error("ajv implementation error");let{allErrors:a,props:i}=s;i instanceof Qe.Name?t.if((0,Qe._)`${i} !== true`,()=>t.forIn("key",o,d=>t.if(l(i,d),()=>c(d)))):i!==!0&&t.forIn("key",o,d=>i===void 0?c(d):t.if(u(i,d),()=>c(d))),s.props=!0,e.ok((0,Qe._)`${n} === ${cg.default.errors}`);function c(d){if(r===!1){e.setParams({unevaluatedProperty:d}),e.error(),a||t.break();return}if(!(0,nl.alwaysValidSchema)(s,r)){let g=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:nl.Type.Str},g),a||t.if((0,Qe.not)(g),()=>t.break())}}function l(d,g){return(0,Qe._)`!${d} || !${d}[${g}]`}function u(d,g){let m=[];for(let p in d)d[p]===!0&&m.push((0,Qe._)`${g} !== ${p}`);return(0,Qe.and)(...m)}}};qs.default=ug});var il=C(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});var mt=A(),al=j(),dg={message:({params:{len:e}})=>(0,mt.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,mt._)`{limit: ${e}}`},fg={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:dg,code(e){let{gen:t,schema:r,data:o,it:n}=e,s=n.items||0;if(s===!0)return;let a=t.const("len",(0,mt._)`${o}.length`);if(r===!1)e.setParams({len:s}),e.fail((0,mt._)`${a} > ${s}`);else if(typeof r=="object"&&!(0,al.alwaysValidSchema)(n,r)){let c=t.var("valid",(0,mt._)`${a} <= ${s}`);t.if((0,mt.not)(c),()=>i(c,s)),e.ok(c)}n.items=!0;function i(c,l){t.forRange("i",l,a,u=>{e.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:al.Type.Num},c),n.allErrors||t.if((0,mt.not)(c),()=>t.break())})}}};Us.default=fg});var cl=C(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});var pg=sl(),mg=il(),hg=[pg.default,mg.default];Vs.default=hg});var ll=C(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});var ee=A(),gg={message:({schemaCode:e})=>(0,ee.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,ee._)`{format: ${e}}`},yg={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:gg,code(e,t){let{gen:r,data:o,$data:n,schema:s,schemaCode:a,it:i}=e,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=i;if(!c.validateFormats)return;n?g():m();function g(){let p=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),f=r.const("fDef",(0,ee._)`${p}[${a}]`),h=r.let("fType"),y=r.let("format");r.if((0,ee._)`typeof ${f} == "object" && !(${f} instanceof RegExp)`,()=>r.assign(h,(0,ee._)`${f}.type || "string"`).assign(y,(0,ee._)`${f}.validate`),()=>r.assign(h,(0,ee._)`"string"`).assign(y,f)),e.fail$data((0,ee.or)(w(),b()));function w(){return c.strictSchema===!1?ee.nil:(0,ee._)`${a} && !${y}`}function b(){let S=u.$async?(0,ee._)`(${f}.async ? await ${y}(${o}) : ${y}(${o}))`:(0,ee._)`${y}(${o})`,$=(0,ee._)`(typeof ${y} == "function" ? ${S} : ${y}.test(${o}))`;return(0,ee._)`${y} && ${y} !== true && ${h} === ${t} && !${$}`}}function m(){let p=d.formats[s];if(!p){w();return}if(p===!0)return;let[f,h,y]=b(p);f===t&&e.pass(S());function w(){if(c.strictSchema===!1){d.logger.warn($());return}throw new Error($());function $(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function b($){let z=$ instanceof RegExp?(0,ee.regexpCode)($):c.code.formats?(0,ee._)`${c.code.formats}${(0,ee.getProperty)(s)}`:void 0,D=r.scopeValue("formats",{key:s,ref:$,code:z});return typeof $=="object"&&!($ instanceof RegExp)?[$.type||"string",$.validate,(0,ee._)`${D}.validate`]:["string",$,D]}function S(){if(typeof p=="object"&&!(p instanceof RegExp)&&p.async){if(!u.$async)throw new Error("async format in sync schema");return(0,ee._)`await ${y}(${o})`}return typeof h=="function"?(0,ee._)`${y}(${o})`:(0,ee._)`${y}.test(${o})`}}}};Bs.default=yg});var ul=C(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});var _g=ll(),Tg=[_g.default];zs.default=Tg});var dl=C(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.contentVocabulary=St.metadataVocabulary=void 0;St.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];St.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var pl=C(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});var vg=oc(),Cg=yc(),Eg=Gc(),bg=Xc(),wg=ol(),$g=cl(),Rg=ul(),fl=dl(),kg=[bg.default,vg.default,Cg.default,(0,Eg.default)(!0),Rg.default,fl.metadataVocabulary,fl.contentVocabulary,wg.default,$g.default];Gs.default=kg});var hl=C(go=>{"use strict";Object.defineProperty(go,"__esModule",{value:!0});go.DiscrError=void 0;var ml;(function(e){e.Tag="tag",e.Mapping="mapping"})(ml||(go.DiscrError=ml={}))});var yl=C(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});var Ot=A(),Fs=hl(),gl=er(),Sg=Zt(),Og=j(),Ig={message:({params:{discrError:e,tagName:t}})=>e===Fs.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>(0,Ot._)`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Pg={keyword:"discriminator",type:"object",schemaType:"object",error:Ig,code(e){let{gen:t,data:r,schema:o,parentSchema:n,it:s}=e,{oneOf:a}=n;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let i=o.propertyName;if(typeof i!="string")throw new Error("discriminator: requires propertyName");if(o.mapping)throw new Error("discriminator: mapping is not supported");if(!a)throw new Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),l=t.const("tag",(0,Ot._)`${r}${(0,Ot.getProperty)(i)}`);t.if((0,Ot._)`typeof ${l} == "string"`,()=>u(),()=>e.error(!1,{discrError:Fs.DiscrError.Tag,tag:l,tagName:i})),e.ok(c);function u(){let m=g();t.if(!1);for(let p in m)t.elseIf((0,Ot._)`${l} === ${p}`),t.assign(c,d(m[p]));t.else(),e.error(!1,{discrError:Fs.DiscrError.Mapping,tag:l,tagName:i}),t.endIf()}function d(m){let p=t.name("valid"),f=e.subschema({keyword:"oneOf",schemaProp:m},p);return e.mergeEvaluated(f,Ot.Name),p}function g(){var m;let p={},f=y(n),h=!0;for(let S=0;S<a.length;S++){let $=a[S];if($?.$ref&&!(0,Og.schemaHasRulesButRef)($,s.self.RULES)){let D=$.$ref;if($=gl.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,D),$ instanceof gl.SchemaEnv&&($=$.schema),$===void 0)throw new Sg.default(s.opts.uriResolver,s.baseId,D)}let z=(m=$?.properties)===null||m===void 0?void 0:m[i];if(typeof z!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${i}"`);h=h&&(f||y($)),w(z,S)}if(!h)throw new Error(`discriminator: "${i}" must be required`);return p;function y({required:S}){return Array.isArray(S)&&S.includes(i)}function w(S,$){if(S.const)b(S.const,$);else if(S.enum)for(let z of S.enum)b(z,$);else throw new Error(`discriminator: "properties/${i}" must have "const" or "enum"`)}function b(S,$){if(typeof S!="string"||S in p)throw new Error(`discriminator: "${i}" values must be unique strings`);p[S]=$}}}};Ks.default=Pg});var _l=C((MT,Ag)=>{Ag.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 Tl=C((NT,xg)=>{xg.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 vl=C((LT,Mg)=>{Mg.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 Cl=C((jT,Ng)=>{Ng.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 El=C((DT,Lg)=>{Lg.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 bl=C((qT,jg)=>{jg.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 wl=C((UT,Dg)=>{Dg.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 $l=C((VT,qg)=>{qg.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 Rl=C(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});var Ug=_l(),Vg=Tl(),Bg=vl(),zg=Cl(),Gg=El(),Fg=bl(),Kg=wl(),Hg=$l(),Wg=["/properties"];function Jg(e){return[Ug,Vg,Bg,zg,Gg,t(this,Fg),Kg,t(this,Hg)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function t(r,o){return e?r.$dataMetaSchema(o,Wg):o}}Hs.default=Jg});var kl=C((Y,Js)=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.MissingRefError=Y.ValidationError=Y.CodeGen=Y.Name=Y.nil=Y.stringify=Y.str=Y._=Y.KeywordCxt=Y.Ajv2020=void 0;var Qg=Xi(),Yg=pl(),Xg=yl(),Zg=Rl(),Ws="https://json-schema.org/draft/2020-12/schema",It=class extends Qg.default{constructor(t={}){super({...t,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),Yg.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Xg.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(Zg.default.call(this,t),this.refs["http://json-schema.org/schema"]=Ws)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(Ws)?Ws:void 0)}};Y.Ajv2020=It;Js.exports=Y=It;Js.exports.Ajv2020=It;Object.defineProperty(Y,"__esModule",{value:!0});Y.default=It;var ey=Xt();Object.defineProperty(Y,"KeywordCxt",{enumerable:!0,get:function(){return ey.KeywordCxt}});var Pt=A();Object.defineProperty(Y,"_",{enumerable:!0,get:function(){return Pt._}});Object.defineProperty(Y,"str",{enumerable:!0,get:function(){return Pt.str}});Object.defineProperty(Y,"stringify",{enumerable:!0,get:function(){return Pt.stringify}});Object.defineProperty(Y,"nil",{enumerable:!0,get:function(){return Pt.nil}});Object.defineProperty(Y,"Name",{enumerable:!0,get:function(){return Pt.Name}});Object.defineProperty(Y,"CodeGen",{enumerable:!0,get:function(){return Pt.CodeGen}});var ty=Jr();Object.defineProperty(Y,"ValidationError",{enumerable:!0,get:function(){return ty.default}});var ry=Zt();Object.defineProperty(Y,"MissingRefError",{enumerable:!0,get:function(){return ry.default}})});function Ao(e,t,r,o){return{role:"assistant",content:t||null,...e.length>0?{tool_calls:e}:{},...r&&r.length>0?{thinkingBlocks:r}:{},...o?{reasoning_content:o}:{}}}function Oe(e,t){let r=t.ok?typeof t.payload=="string"?t.payload:JSON.stringify(t.payload??""):`Error: ${t.error??"Tool execution failed"}`;return{role:"tool",tool_call_id:e,content:r,...!t.ok&&{is_error:!0},...t.toolReferences?.length?{toolReferences:t.toolReferences}:{},...t.imageUrls?.length?{imageUrls:t.imageUrls}:{},...t.contentBlocks?{contentBlocks:t.contentBlocks}:{},...t.structuredContent!==void 0?{structuredContent:t.structuredContent}:{},...t.mcpMeta!==void 0?{mcpMeta:t.mcpMeta}:{},...t.mcpIsError!==void 0?{mcpIsError:t.mcpIsError}:{}}}var iu=new Set(["RETRYABLE_TRANSIENT","RETRYABLE_DEGRADED","TOOL_EXECUTION_FAILED"]);function Mr(e){return iu.has(e)}function jt(e,t){return e===401||e===403?"NON_RETRYABLE_AUTH":e===402?"NON_RETRYABLE_QUOTA":e===429?"RETRYABLE_DEGRADED":e===408||typeof e=="number"&&e>=500?"RETRYABLE_TRANSIENT":typeof e=="number"&&e>=400?"NON_RETRYABLE_CONTENT":/invalid[_ ]api[_ ]key|unauthorized|forbidden/i.test(t??"")?"NON_RETRYABLE_AUTH":/insufficient[_ ]quota|payment required|insufficient credits/i.test(t??"")?"NON_RETRYABLE_QUOTA":/rate[_ ]limit|too many requests/i.test(t??"")?"RETRYABLE_DEGRADED":/context_length_exceeded|prompt_too_long|invalid request|model[_ ]not[_ ]found/i.test(t??"")?"NON_RETRYABLE_CONTENT":"RETRYABLE_TRANSIENT"}function xo(e){let t=[...e.tools],r=e.toolChoice;if(!r||r==="auto")return{tools:t,normalizedToolChoice:r,warnings:[]};if(r==="none")return{tools:[],normalizedToolChoice:"none",warnings:[]};if(r==="required"){if(!t.length)throw Error("tool_choice=required but no tools were provided");return{tools:t,normalizedToolChoice:"required",warnings:[]}}if(typeof r=="object"&&!Array.isArray(r)&&r.type==="function"){let o=r.function,n=typeof o?.name=="string"?o.name.trim():"";if(!n)throw Error("tool_choice.function.name is required");let s=t.filter(a=>(a.function?.name??a.name)?.trim()===n);if(!s.length)throw Error("tool_choice requested unknown tool: "+n);return{tools:s,normalizedToolChoice:{type:"function",function:{name:n}},warnings:[]}}return{tools:t,normalizedToolChoice:r,warnings:[]}}var cu=["stop","aborted","timeout","cancelled","interrupted","error"],lu=["tool_calls","toolCalls","function_call","functionCall","raw_tool_calls","rawToolCalls"];function ba(e){return e==null?[]:typeof e=="string"?e.length>0?[{type:"text",text:e}]:[]:Array.isArray(e)?e:[{type:"text",text:String(e)}]}function uu(e,t){let r=[...Array.isArray(e.contextAnchors)?e.contextAnchors:[],...Array.isArray(t.contextAnchors)?t.contextAnchors:[]];return{...e,...t,...r.length?{contextAnchors:[...new Map(r.map(o=>[JSON.stringify(o),o])).values()]}:{},content:[...ba(e.content),...ba(t.content)]}}function du(e){let t=new Set;if(e.role!=="assistant"||!Array.isArray(e.tool_calls))return t;for(let r of e.tool_calls)typeof r.id=="string"&&r.id&&t.add(r.id);return t}function fu(e){let t=new Set,r=[];for(let o=0;o<e.length;o+=1){if(t.has(o))continue;let n=e[o];if(!n)continue;r.push(n);let s=du(n);if(s.size!==0)for(let a=o+1;a<e.length;a+=1){if(t.has(a))continue;let i=e[a];i?.role==="tool"&&typeof i.tool_call_id=="string"&&s.has(i.tool_call_id)&&(r.push(i),t.add(a))}}return r}function pu(e){if(!e||typeof e!="object")return!1;if(e.function&&typeof e.function=="object"){let t=e.function.name;if(typeof t=="string"&&t.length>0)return!0}return typeof e.name=="string"&&e.name.length>0}function mu(e){return new Set((e??cu).map(t=>t.trim().toLowerCase()))}function hu(e,t){return e?mu(t).has(e.trim().toLowerCase()):!1}function Mo(e){if(!Array.isArray(e)||e.length===0)return[...e];let t=e.map(c=>{if(c.role==="assistant"&&Array.isArray(c.tool_calls)){let l=c.tool_calls.filter(u=>pu(u));return{...c,...l.length>0?{tool_calls:l}:{tool_calls:void 0}}}return{...c}}),r=new Set;for(let c of t)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 o=t.filter(c=>c.role!=="tool"?!0:!!(c.tool_call_id&&r.has(c.tool_call_id))),n=new Set;for(let c of o)c.role==="tool"&&typeof c.tool_call_id=="string"&&c.tool_call_id&&n.add(c.tool_call_id);let s=[];for(let c of o){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"&&n.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 a=fu(s),i=[];for(let c of a){let l=i.length>0?i[i.length-1]:void 0;if(c.role==="user"&&l?.role==="user"&&c.contextProjection!=="facts"&&l.contextProjection!=="facts"){i[i.length-1]=uu(l,c);continue}i.push(c)}return i}function No(e,t){return hu(t?.stopReason,t?.forcedStopReasons)?e.map(r=>{if(r.role!=="assistant")return{...r};let o={...r};for(let n of lu)delete o[n];return o}):[...e]}function Lo(e,t){let r=t?.placeholderToolResult??"Error: Tool loop interrupted before the tool result was replayed.",o=new Set;for(let s of e)s.role==="tool"&&typeof s.tool_call_id=="string"&&s.tool_call_id&&o.add(s.tool_call_id);let n=[];for(let s of e)if(n.push({...s}),!(s.role!=="assistant"||!Array.isArray(s.tool_calls)||s.tool_calls.length===0))for(let a of s.tool_calls)typeof a.id!="string"||!a.id||o.has(a.id)||(o.add(a.id),n.push({role:"tool",tool_call_id:a.id,content:r}));return n}function jo(e,t){let r=Mo(e),o=No(r,t);return Lo(o,t)}function gu(e){let t=new Set,r=new Set;for(let o of e){if(o.role==="assistant"&&Array.isArray(o.tool_calls))for(let n of o.tool_calls)typeof n.id=="string"&&n.id&&t.add(n.id);o.role==="tool"&&typeof o.tool_call_id=="string"&&o.tool_call_id&&r.add(o.tool_call_id)}return[...t].filter(o=>!r.has(o))}function yu(e){let t=new Set;for(let r of e)r.role==="tool"&&typeof r.tool_call_id=="string"&&r.tool_call_id&&t.add(r.tool_call_id);return[...t]}function _u(e){return{round:e.round??0,maxRounds:e.maxRounds,pendingToolCallIds:[...e.pendingToolCallIds??[]],completedToolCallIds:[...e.completedToolCallIds??[]],lastStopReason:e.lastStopReason,replayMessages:[...e.replayMessages??[]]}}function Do(e,t){return{round:e.round+1,maxRounds:e.maxRounds,pendingToolCallIds:[...t.pendingToolCallIds??e.pendingToolCallIds],completedToolCallIds:[...t.completedToolCallIds??e.completedToolCallIds],lastStopReason:t.lastStopReason??e.lastStopReason,replayMessages:[...t.replayMessages??e.replayMessages]}}function Nr(e,t){return{round:e.round,maxRounds:e.maxRounds,pendingToolCallIds:[],completedToolCallIds:[...t.completedToolCallIds??e.completedToolCallIds],lastStopReason:t.lastStopReason??e.lastStopReason,replayMessages:[...t.replayMessages??e.replayMessages]}}function Lr(e){let t=[],r=Mo(e.replayMessages);r.length!==e.replayMessages.length&&t.push({kind:"drop-orphan-tool-result",detail:"Removed orphan tool results or invalid assistant tool calls."});let o=No(r,e.options);o.some((s,a)=>s!==r[a])&&t.push({kind:"strip-forced-stop-tool-metadata",detail:"Removed assistant tool-call metadata after forced stop."});let n=Lo(o,e.options);return n.length>o.length&&t.push({kind:"inject-placeholder-tool-result",detail:"Injected placeholder tool result for pending tool calls."}),{state:_u({maxRounds:e.maxRounds,round:e.round,lastStopReason:e.lastStopReason,replayMessages:n,pendingToolCallIds:gu(n),completedToolCallIds:yu(n)}),recoveryActions:t}}function qo(e){return e===429||e===529}function Uo(e,t=500,r=32e3){let o=Math.min(t*Math.pow(2,e-1),r);return o+Math.floor(Math.random()*o*.25)}function Vo(e){return Number.isFinite(e.totalPromptTokens)&&(e.totalPromptTokens??-1)>=0?Math.floor(e.totalPromptTokens):Number.isFinite(e.promptTokens)&&e.promptTokens>0?Math.floor(e.promptTokens):0}function Bo(e){return{promptTokens:0,hasAttemptedReactiveCompact:!1,currentMaxOutputTokens:e.maxOutputTokens,aborted:e.abortSignal?.aborted??!1}}function zo(e,t){let r=t.contextWindowTokens-t.responseBufferTokens-e.currentMaxOutputTokens,o=r>0?e.promptTokens/r*100:100;return o>=85?{level:"warning",usagePercent:o,remainingTokens:Math.max(0,r-e.promptTokens)}:{level:"ok"}}function Go(e,t,r){let o=e.message?.toLowerCase()??"",n=e.status??0;return n===413||o.includes("prompt_too_long")||o.includes("context_length_exceeded")?!t.hasAttemptedReactiveCompact&&r.reactiveCompactEnabled?{action:"reactive_compact"}:{action:"abort",reason:"prompt_too_long_unrecoverable"}:n>=500&&n<600?{action:"retry",reason:`server_error_${n}`}:n===429?{action:"retry",reason:"rate_limited"}:n===401||n===403?{action:"abort",reason:"auth_error"}:n===404?{action:"abort",reason:"model_not_found"}:{action:"abort",reason:o||"unknown_error"}}function Fo(e,t){return e.aborted?!0:t.abortSignal?.aborted?(e.aborted=!0,!0):!1}function Ko(){return{attemptedThisTurn:!1}}function Dt(e){return!e.attemptedThisTurn}function Ho(e,t){let r=e.get(t.index)??{id:"",name:"",arguments:""};t.id&&(r.id=t.id),t.name&&(r.name=t.name),r.arguments=t.argumentsMode==="replace"?t.arguments??"":`${r.arguments}${t.arguments??""}`,e.set(t.index,r)}var Wo="tool_schema_load";function wa(e){return e?.type!=="tool_schema_load"||!Array.isArray(e.requestedToolNames)?[]:[...new Set(e.requestedToolNames.filter(t=>typeof t=="string"&&t.trim().length>0))]}function ne(e,t,r,o){e?.invoke(t,r).catch(n=>{let s=n instanceof Error?n.message:String(n);o.warn(`[hook:${t}] handler failed: ${s}`)})}function $a(e){return e.blocked?"policy_blocked":"tool_execution_failed"}function Ra(e,t){let r=typeof t.message?.content=="string"?t.message.content:"",o=r?r.slice(0,2e3):void 0,n=t.details;return{type:"tool_result",turnId:e,callId:t.callId,name:t.toolName,ok:t.ok,error:t.error,outputPreview:o,durationMs:t.durationMs,details:n}}var Ol=au(kl(),1),oy=new Ol.Ajv2020({allErrors:!0,allowUnionTypes:!0,strict:!1,validateFormats:!1}),Sl=new WeakMap;function ny(e){let t=Sl.get(e);if(t)return t;let r=oy.compile(e);return Sl.set(e,r),r}function sy(e){let t=`arguments${e.instancePath}`,r=e.keyword==="required"?e.params.missingProperty:e.keyword==="additionalProperties"?e.params.additionalProperty:void 0;return typeof r=="string"?`${t}/${r.replaceAll("~","~0").replaceAll("/","~1")}`:t}function ay(e){return(e??[]).slice(0,4).map(t=>`${sy(t)} ${t.message??`violates ${t.keyword}`}`).join("; ")}function Il(e,t,r){let o;try{o=JSON.parse(r)}catch{return{ok:!1,error:`Tool "${e}" arguments must be valid JSON.`}}if(!o||typeof o!="object"||Array.isArray(o))return{ok:!1,error:`Tool "${e}" arguments must be a JSON object.`};if(!t)return{ok:!0};try{let n=ny(t);return n(o)?{ok:!0}:{ok:!1,error:`Tool "${e}" arguments do not match the offered schema: ${ay(n.errors)}.`}}catch(n){return{ok:!1,error:`Tool "${e}" has an invalid offered JSON Schema: ${n instanceof Error?n.message:String(n)}.`}}}function yo(e,t){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.round(e):0}function _o(e){if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.round(e)}function Pl(e){return e.filter(t=>t.role!=="assistant"?!0:!(typeof t.content=="string"&&t.content.trim()===""))}function Qs(e){let t=e.message.toLowerCase();return e.status===413||t.includes("prompt_too_long")||t.includes("context_length_exceeded")||t.includes("maximum context length")}function Ys(e){return e==="length"||e==="max_tokens"}function Xs(e){let t=e.message.toLowerCase();return(t.includes("image")||t.includes("media")||t.includes("file too large")||t.includes("payload too large"))&&(e.status===413||t.includes("too large")||t.includes("size"))}function Al(e){let t=e.headers;if(!t)return null;let r=t["retry-after"]??t["Retry-After"];if(!r)return null;let o=/^\d+(?:\.\d+)?$/.test(r.trim())?Number(r):NaN;if(Number.isFinite(o))return o*1e3;let n=Date.parse(r);return Number.isFinite(n)?Math.max(0,n-Date.now()):null}async function*xl(e){let{messages:t,guardConfig:r,runtimePorts:o,hooks:n,hookCtx:s,currentModel:a,log:i,recovery:c,onAutocompact:l}=e,u;{let d=await o.enforceToolResultBudget(t);u=d.messages,d.newlyReplacedCount>0&&(i.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`))}{let d=r.contextWindowTokens>0?Math.max(0,r.contextWindowTokens-r.maxOutputTokens):1/0,g=await o.compressMessages(u,{budget:d,model:a,...s,signal:r.abortSignal});r.abortSignal?.throwIfAborted(),u=g.messages,g.droppedCount>0&&(i.info(`autocompact: ${g.strategy}, dropped ${g.droppedCount}`),yield c("autocompact",`${g.strategy}: ${g.droppedCount} dropped`),yield{type:"lifecycle",turnId:s.turnId,kind:"context_compression",status:"completed",detail:`${g.strategy}: ${g.droppedCount} dropped`},l(),ne(n,"context.after_compact",{...s,removedCount:g.droppedCount},i))}return u=Pl(u),u}async function*Ml(e,t){let{state:r,turnId:o,log:n,emitRecovery:s}=t,a=e instanceof Error?e.message:String(e),i=typeof e?.status=="number"?e.status:void 0,c=e;if(t.signal?.aborted)return yield{type:"error",turnId:o,error:"Turn aborted",code:"ABORTED",usage:r.totalUsage},{kind:"return"};if(!c||c.retryable!==!0||c.safeToRetry!==!0||c.automaticRetryAuthorized!==!0)return yield{type:"error",turnId:o,error:c?.outcome==="rejected"?"The model service rejected this request.":"The model request outcome must be reconciled before retry.",code:c?.outcome==="rejected"?"MODEL_REQUEST_REJECTED":"MODEL_RECONCILIATION_REQUIRED",usage:r.totalUsage},{kind:"return"};if(!i&&a&&(a.includes("ECONNRESET")||a.includes("EPIPE"))){let l=(r.consecutiveApiRetries??0)+1;return n.info(`stale connection (${a.includes("ECONNRESET")?"ECONNRESET":"EPIPE"}): retrying`),yield s("stale_connection_retry",a.slice(0,80)),{kind:"continue",patch:{consecutiveApiRetries:l,transition:void 0}}}if(i===400&&c.outcome==="rejected")return yield{type:"error",turnId:o,error:a,code:"MODEL_REQUEST_REJECTED",usage:r.totalUsage},{kind:"return"};if(qo(i)){r.consecutive529Errors++,r.consecutiveApiRetries++;let u=Al({status:i,message:a,headers:c.headers})??Uo(r.consecutive529Errors);return n.info(`transient ${i}: retry in ${u}ms`),yield s("retry",`${i} retry in ${u}ms`),await new Promise(d=>{let g=Date.now()+u,m,p=()=>{clearTimeout(m),t.signal?.removeEventListener("abort",p),d()},f=()=>{let h=g-Date.now();if(h<=0||t.signal?.aborted){p();return}m=setTimeout(f,Math.min(h,2147483647))};t.signal?.addEventListener("abort",p,{once:!0}),f()}),{kind:"continue",patch:{transition:void 0}}}return{kind:"streamError",streamError:{status:i,message:a}}}function Nl(e){return[...new Set(e.map(t=>t.function.name))].sort()}function dy(e){let t=new Set,r=[];for(let o of e){let n=`${o.name}\0${o.reason}`;t.has(n)||(t.add(n),r.push(o))}return r.sort((o,n)=>`${o.name}:${o.reason}`.localeCompare(`${n.name}:${n.reason}`))}function Ll(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function fy(e,t){if(!e)return null;let r=Ll(e.function.parameters),o=Ll(r?.properties)??{},n=Array.isArray(r?.required)?r.required.filter(i=>typeof i=="string"&&i.trim().length>0):[],s=my(t);if(!s)return`Tool "${e.function.name}" arguments must be a JSON object.`;for(let i of n){let c=s[i];if(typeof c=="string"?c.trim().length===0:c==null)return`Tool "${e.function.name}" missing required field \`${i}\`. Use the offered tool schema exactly.`}if(r?.additionalProperties===!1){let i=new Set(Object.keys(o)),c=Object.keys(s).filter(l=>!i.has(l));if(c.length>0){let l=[...i].map(u=>`\`${u}\``).join(", ")||"none";return`Tool "${e.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 a=Il(e.function.name,r??void 0,t);return a.ok?null:a.error??`Tool "${e.function.name}" arguments do not match the offered schema.`}function py(e,t){let r=e?.meta?.identity;if(r?.schemaVersion===1&&r.wireName===t)return r}function jl(e){return{role:"user",content:`Product job result(s) became available while the main task continued.
9
9
  `+e.join(`
10
- `)}}function py(e){try{let t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}async function*jl(e,t,r,o){let{turnId:n,sessionId:s,messages:a,availableTools:i,tools:c,model:l,apiKey:u,temperature:d=0,hooks:g,signal:m}=e,p=(k,G)=>{k.push(G)},f={sessionId:s,turnId:n},h=e.maxTurns??0,y=i??c,w=new Set(c.map(k=>k.function.name)),b=y,S=new Map(b.map(k=>[k.function.name,k])),$=y.filter(k=>w.has(k.function.name)),z=[],D=yo(e.maxRounds,a),O=_o(e.maxToolCalls),P={contextWindowTokens:e.contextWindowTokens??128e3,responseBufferTokens:13e3,maxOutputTokens:e.maxOutputTokens??16384,abortSignal:m,reactiveCompactEnabled:!0},H=new Set,E=[],x=new Map,X=0,re=new Set,Ce=0,Z=new Set(e.deferredToolNames??[]),ie=new Set;for(let k of e.loadedDeferredToolNames??[])Z.has(k)&&S.has(k)?ie.add(k):e.loadedDeferredToolNames?.delete(k);let B=()=>{let k=new Map($.map(G=>[G.function.name,G]));for(let G of ie){let ce=S.get(G);ce&&k.set(G,ce)}return[...k.values()]},se=(k,G)=>G?k.filter(ce=>G.has(ce.function.name)):[...k],ae=B(),vr=()=>Ml(ae),At=(e.continuation?.completedRounds??0)>0,v={messages:[...a],hasAttemptedReactiveCompact:!1,turnCount:(e.continuation?.completedRounds??0)+1,transition:void 0,guardState:Vo(P),reactiveCompactState:Ko(),toolLoopState:Lr({maxRounds:D,replayMessages:[...a]}).state,finalText:"",totalUsage:structuredClone(e.continuation?.usage??{inputTokens:0,outputTokens:0}),consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:new Map},Cr=async(k,G,ce)=>{e.runtimePorts.saveCheckpoint&&(await e.runtimePorts.saveCheckpoint(structuredClone({turnId:n,sessionId:s,phase:k,messages:G,completedRounds:ce,usage:v.totalUsage})),m?.throwIfAborted())},na=0,Er=!1,Be=(k,G)=>(v.recoveryTrace.set(k,(v.recoveryTrace.get(k)??0)+1),{type:"recovery",turnId:n,action:k,detail:G}),sa=()=>({type:"tool_use_summary",turnId:n,ledgerSchemaVersion:5,toolCalls:E.map(k=>({...k})),availableToolNames:Ml(i??c),enabledToolNames:vr(),toolCallNames:[...H].sort(),blockedToolCalls:uy(z)}),Kl=(k,G)=>({type:"end",turnId:n,content:k,turnStatus:G,taskOutcome:"unverified",usage:v.totalUsage,model:l,...v.recoveryTrace.size>0?{recoveryTrace:Object.fromEntries(v.recoveryTrace)}:{}});function*br(k,G="completed"){yield sa(),yield Kl(k,G)}function*je(k,G){yield sa(),yield{type:"error",turnId:n,error:k,code:G,usage:v.totalUsage}}let ht=0,xt=0;function*Hl(k){ht<=xt||(yield{type:"text_rollback",turnId:n,keepLength:xt,reason:k},ht=xt)}for(ae=B();;){yield*Hl("round_restart"),na++,Er=!1;let{messages:k,turnCount:G,guardState:ce,reactiveCompactState:Ye}=v,{toolLoopState:Ee}=v;if(e.refreshTools&&na>1){let T=e.refreshTools(),_=new Set(T.map(Ve=>Ve.function.name)),q=se(b.filter(Ve=>!Z.has(Ve.function.name)||ie.has(Ve.function.name)),_),oe=q;oe!==ae&&(ae=oe,o.debug(`tools refreshed within initial turn snapshot: ${q.length}/${b.length} tools`))}if(e.drainPendingGuidance)for(let T of e.drainPendingGuidance()){let _=T.trim();_&&(k.push({role:"user",content:_}),o.info(`mid-turn guidance injected (${_.length} chars)`))}if(e.drainPendingTaskNotifications){let T=e.drainPendingTaskNotifications().filter(_=>_.trim());T.length>0&&(k.push(Ll(T)),o.info(`background task result injected (${T.length} item(s))`))}if(Fo(ce,P)){o.info(`turn aborted by guard at turn ${G}`),yield*je("Turn aborted","ABORTED");return}let bo=yield*Al({messages:k,guardConfig:{...P,maxOutputTokens:ce.currentMaxOutputTokens},runtimePorts:e.runtimePorts,hooks:g,hookCtx:f,currentModel:l,log:o,recovery:(T,_)=>Be(T,_),onAutocompact:()=>{v.hasAttemptedReactiveCompact=!1}});bo!==k&&k.splice(0,k.length,...bo);let wo=zo(ce,P);wo.level==="warning"&&o.info(`token budget warning: ${wo.usagePercent}% used, ${wo.remainingTokens} remaining`);let aa=e.toolChoice==="required"&&At?"auto":e.toolChoice??"auto",wr=xo({tools:ae,toolChoice:aa}),$r=Lr({maxRounds:D,replayMessages:bo,lastStopReason:Ee.lastStopReason,options:{stopReason:Ee.lastStopReason}}),$o=$r.state.replayMessages;Ee=$r.state,$r.recoveryActions.length>0&&o.debug(`tool loop recovery: ${$r.recoveryActions.map(T=>T.detail??T.kind).join("; ")}`),o.debug(`turn ${G}, messages: ${$o.length}`),await Cr("model_ready",$o,G-1),ne(g,"turn.before_inference",{...f,model:l},o);let Mt=!1,ia=[],ca=aa==="required",Ro=0,Nt="";function*Wl(T){if(T){if(ca){Nt+=T;return}Ro+=T.length,ht+=T.length,yield{type:"delta",turnId:n,text:T}}}function*Jl(){if(!Nt)return;let T=Nt;Nt="",Ro+=T.length,ht+=T.length,yield{type:"delta",turnId:n,text:T}}let la=new Map,ko="stop",de,Rr,W=null,kr=null,ua=!1,Ql=performance.now(),So,da=0,fa=0,pa=0,Oo=0,ma,Xe,ha=!1,Sr=!1,ga=!1,Ze=[],et=[];try{let T=t.stream({model:l,messages:$o,...wr.tools.length>0?{tools:wr.tools,toolChoice:wr.normalizedToolChoice??"auto"}:{},temperature:d,maxTokens:ce.currentMaxOutputTokens||void 0,streamRequired:e.streamRequired,reasoning:e.reasoning,promptCacheKey:e.promptCacheKey,promptCacheRetention:e.promptCacheRetention,serviceTier:e.serviceTier,...O!==void 0?{maxToolCalls:O}:{},parallelToolCalls:e.parallelToolCalls,textVerbosity:e.textVerbosity},u,m);for await(let _ of T)switch(So===void 0&&_.type!=="usage"&&_.type!=="response_id"&&(So=Math.max(0,Math.round(performance.now()-Ql))),_.type){case"delta":da+=1,fa+=_.text.length,Xe===void 0&&(Xe="text"),Oo===0&&(ha=!0),ia.push(_.text),yield*Wl(_.text);break;case"tool_call_delta":Oo+=1,Xe===void 0&&(Xe="tool_call"),Mt=!0,Ho(la,_);break;case"reasoning_delta":pa+=1,Xe===void 0&&(Xe="reasoning"),Ze.push(_.text),yield{type:"reasoning_delta",turnId:n,text:_.text};break;case"reasoning_block_complete":et.push({thinking:_.thinking,signature:_.signature}),Ze.length=0;break;case"usage":Rr=Bo(_),de={inputTokens:_.promptTokens,outputTokens:_.completionTokens,reasoningTokens:_.reasoningTokens,cacheRead:_.cacheReadTokens,cacheWrite:_.cacheCreationTokens,records:_.records};break;case"response_id":ma=_.id;break;case"annotations":yield{type:"annotations",turnId:n,annotations:_.annotations};break;case"error":ua=_.outcome==="rejected",kr=_.message||"LLM provider returned an error chunk";break;case"done":ga=!0,ko=_.finishReason;break}if(kr){ne(g,"stop.failure",{sessionId:s,reason:"PROVIDER_STREAM_ERROR",error:kr},o),yield*je(kr,ua?"MODEL_REQUEST_REJECTED":"PROVIDER_STREAM_ERROR");return}Mt||ne(g,"turn.after_inference",{...f,model:l},o)}catch(T){let _=yield*xl(T,{state:v,signal:m,turnId:n,log:o,emitRecovery:Be});if(_.kind==="return")return;if(_.kind==="continue"){v={...v,..._.patch};continue}W=_.streamError}if(!W&&!ga){let T="LLM stream closed before a terminal event; the response was likely truncated upstream.";ne(g,"stop.failure",{sessionId:s,reason:"RETRYABLE_TRANSIENT",error:T},o),yield*je(T,"RETRYABLE_TRANSIENT");return}if(W&&ne(g,"turn.after_inference",{...f,model:l,response:{error:W.message}},o),W)if(Qs(W))Sr=!0,o.info(`withheld prompt_too_long error (status=${W.status})`);else if(Xs(W))Sr=!0,o.info(`withheld media_size error (status=${W.status})`);else{let T=Go({status:W.status??500,message:W.message},ce,P);if(T.action==="reactive_compact"&&Dt(Ye)&&(Ye.attemptedThisTurn=!0,ce.hasAttemptedReactiveCompact=!0,yield Be("reactive_compact",`API ${W.status??500}: ${W.message}`)),T.action==="retry"){let q=(v.consecutiveApiRetries??0)+1;yield Be("retry",T.reason),v={...v,consecutiveApiRetries:q,transition:void 0};continue}let _=jt(W.status,W.message);ne(g,"stop.failure",{sessionId:s,reason:_,error:W.message},o),yield*je(W.message,_);return}de&&(v.totalUsage.inputTokens+=de.inputTokens,v.totalUsage.outputTokens+=de.outputTokens,de.reasoningTokens&&(v.totalUsage.reasoningTokens=(v.totalUsage.reasoningTokens??0)+de.reasoningTokens),de.cacheRead&&(v.totalUsage.cacheRead=(v.totalUsage.cacheRead??0)+de.cacheRead),de.cacheWrite&&(v.totalUsage.cacheWrite=(v.totalUsage.cacheWrite??0)+de.cacheWrite),de.records?.length&&(v.totalUsage.records=[...v.totalUsage.records??[],...de.records])),o.info(`[provider-context] ${JSON.stringify({event:"context_ledger_round",turnId:n,round:G,ttftMs:So,inputTokens:de?.inputTokens??0,outputTokens:de?.outputTokens??0,cacheReadTokens:de?.cacheRead??0,cacheWriteTokens:de?.cacheWrite??0,totalPromptTokens:Rr??0,responseIdReceived:ma!==void 0,toolDefinitionCount:ae.length,providerTextChunkCount:da,providerTextChars:fa,providerReasoningChunkCount:pa,providerToolCallDeltaCount:Oo,firstSemanticProviderEvent:Xe??"none",textBeforeFirstToolCall:ha,suppressLiveText:ca,liveEmittedTextChars:Ro,bufferedSuppressedTextChars:Nt.length})}`),Rr&&(ce.promptTokens=Rr);let tt=ia.join(""),rt=[...la.values()].map((T,_)=>({id:T.id||`tc_${n}_${G}_${_}`,type:"function",function:{name:T.name,arguments:T.arguments}})),Or=Ao(rt,tt||void 0,et.length>0?et:void 0,et.length===0&&Ze.length>0?Ze.join(""):void 0);if(!W&&X===0&&rt.length===0&&!Mt&&tt.trim()===""&&Ze.join("").trim()===""&&et.length===0){let T="LLM returned an empty response before any tool use.";ne(g,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE",error:T},o),yield*je(T,"EMPTY_MODEL_RESPONSE");return}if(!W&&X>0&&rt.length===0&&!Mt&&tt.trim()===""&&!Ys(ko)){let T="LLM returned no user-visible response after tool use.";ne(g,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE_AFTER_TOOL",error:T},o),yield*je(T,"EMPTY_MODEL_RESPONSE_AFTER_TOOL");return}if(rt.length===0&&!Mt){if(e.drainPendingTaskNotifications){let q=e.drainPendingTaskNotifications().filter(oe=>oe.trim());if(q.length>0){v={...v,messages:[...k,...tt||et.length||Ze.length?[Or]:[],Ll(q)]},o.info(`late background task result consumed at completion (${q.length} item(s)) \u2014 running another round`);continue}}if(e.drainPendingGuidance){let q=e.drainPendingGuidance().map(oe=>oe.trim()).filter(Boolean);if(q.length>0){v={...v,messages:[...k,...tt||et.length||Ze.length?[Or]:[],...q.map(oe=>({role:"user",content:oe}))]},o.info(`late mid-turn guidance consumed at completion (${q.length} item(s)) \u2014 running another round`);continue}}if(tt&&(v.finalText=tt),Sr&&W&&Qs(W)){if(Dt(Ye)){Ye.attemptedThisTurn=!0,ce.hasAttemptedReactiveCompact=!0,o.info("withheld 413: reactive compact attempt"),yield Be("reactive_compact","withheld prompt_too_long"),v={...v,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}o.info("withheld 413: recovery exhausted, surfacing error"),ne(g,"stop.failure",{sessionId:s,reason:"prompt_too_long",error:W.message},o),yield*je(W.message,"PROMPT_TOO_LONG");return}if(Sr&&W&&Xs(W)){if(Dt(Ye)){Ye.attemptedThisTurn=!0,ce.hasAttemptedReactiveCompact=!0,o.info("withheld media error: reactive compact strip-retry"),yield Be("reactive_compact","media error strip-retry"),v={...v,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}o.info("withheld media error: recovery exhausted"),ne(g,"stop.failure",{sessionId:s,reason:"media_error",error:W.message},o),yield*je(W.message,"IMAGE_ERROR");return}if(Ys(ko)&&(o.info("provider stopped at its output-token limit; preserving partial content"),Er=!0),!Er&&v.finalText&&e.runtimePorts.reviewCompletion){let q=await e.runtimePorts.reviewCompletion(structuredClone(k),v.finalText);if(q.length){let oe=[...k,Or,...q];if(await Cr("model_ready",oe,G),D>0&&G>=D){yield*br("","stopped");return}v={...v,messages:oe,finalText:"",turnCount:G+1};continue}}Ee=Nr(Ee,{replayMessages:k,lastStopReason:"completed"});let T=!v.finalText,_=v.finalText;yield*br(_,Er||T?"stopped":"completed");return}xt=ht,p(k,Or),Ee=Do(Ee,{replayMessages:k,pendingToolCallIds:rt.map(T=>T.id),completedToolCallIds:Ee.completedToolCallIds,lastStopReason:"tool_calls"});let Lt=[],Yl=new Set(ae.map(T=>T.function.name)),ya=[],_a=[];for(let T of rt)Yl.has(T.function.name)?ya.push(T):_a.push(T);for(let T of _a){let q=Z.has(T.function.name)&&!ie.has(T.function.name)?`Tool "${T.function.name}" schema is not loaded. Call "${Wo}" with that exact tool name before invoking it.`:`Tool "${T.function.name}" was not offered for this turn and will not be executed. Use only the tools listed in the current request.`;z.push({name:T.function.name,reason:"not-offered"}),p(k,Oe(T.id,{ok:!1,error:q})),Lt.push(T.id),H.add(T.function.name),o.warn(`unoffered tool call suppressed: ${T.function.name}`)}let Io=[],Ta=[];for(let T of ya){let _=wr.tools.find(oe=>oe.function.name===T.function.name),q=dy(_,T.function.arguments);q?Ta.push({call:T,error:q}):Io.push(T)}for(let T of Ta){let _=T.call;z.push({name:_.function.name,reason:"invalid-arguments"}),p(k,Oe(_.id,{ok:!1,error:T.error})),Lt.push(_.id),H.add(_.function.name),o.info(`invalid tool arguments blocked: ${_.function.name}`)}let Ir=Io.slice(0,O);Ir.length>0&&(yield*Jl(),xt=ht);let va=Io.slice(Ir.length);if(va.length>0){let T=`This model round proposed more than ${O} tool calls. Only the first ${O} were executed; re-issue any still-needed calls in the next round.`;for(let _ of va){z.push({name:_.function.name,reason:"per-round-tool-call-limit"});let q=Oe(_.id,{ok:!1,error:T});p(k,q),Lt.push(_.id)}}await Cr("tools_pending",k,G-1);for(let T of Ir){let _=ae.find(oe=>oe.function.name===T.function.name),q={sequence:E.length,callId:T.id,name:T.function.name,identity:fy(_,T.function.name),status:"running",arguments:T.function.arguments};E.push(q),x.set(T.id,q),yield{type:"tool_call",turnId:n,callId:T.id,name:T.function.name,..._?.meta?.displayName?.fallback?.trim()?{displayName:_.meta.displayName.fallback.trim()}:{},arguments:T.function.arguments},re.add(T.function.name),Ce++}try{let T=e.runtimePorts.createStreamingToolExecutor({toolInvoker:r,round:G,hooks:g,sessionId:s,turnId:n,log:o,signal:m,maxConcurrentTools:e?.maxConcurrentTools,executionTimeoutMsByTool:new Map(ae.flatMap(_=>{let q=_.meta?.executionTimeoutMs;return typeof q=="number"&&Number.isFinite(q)&&q>0?[[_.function.name,q]]:[]}))});for(let _ of Ir)T.addTool(_);for await(let _ of T.getRemainingResults()){let q=x.get(_.callId);if(q&&(q.status=_.blocked?"blocked":_.ok?"succeeded":"failed",!_.ok&&typeof _.error=="string"&&_.error.trim()&&(q.error=_.error),_.ok||(q.failureKind=wa(_))),_.blocked&&z.push({name:_.toolName,reason:"blocked-by-policy"}),_.blocked&&(yield{type:"tool_blocked",turnId:n,callId:_.callId,name:_.toolName,reason:_.blockReason??"blocked"}),_.ok&&_.toolName===Wo){let oe=ba(_.details),Ve=e.refreshTools?new Set(e.refreshTools().map(Se=>Se.function.name)):void 0,Pr=[],Ar=[],xr=[];for(let Se of oe)!S.get(Se)||Ve&&!Ve.has(Se)?xr.push(Se):!Z.has(Se)||ie.has(Se)?Ar.push(Se):(ie.add(Se),e.loadedDeferredToolNames?.add(Se),Pr.push(Se));ae=se(B(),Ve);let Xl=_.message;Xl.content=JSON.stringify({loaded:Pr,alreadyResident:Ar,unavailable:xr}),_.details={type:"tool_schema_load",requestedToolNames:oe,loaded:Pr,alreadyResident:Ar,unavailable:xr},o.info({turnId:n,loaded:Pr,alreadyResident:Ar,unavailable:xr},"tool schemas materialized by Agent selection")}{let oe=_.message;e.sanitizeToolResultMedia&&await e.sanitizeToolResultMedia(oe)}p(k,_.message),Lt.push(_.callId),_.blocked||(H.add(_.toolName),X++),yield $a(n,_)}}catch(T){let _=T instanceof Error?T.message:String(T);yield*je(_,"TOOL_EXECUTION_ERROR");return}m?.aborted&&m.throwIfAborted(),await Cr("model_ready",k,G),Ee=Nr(Ee,{replayMessages:k,completedToolCallIds:[...Ee.completedToolCallIds,...Lt],lastStopReason:"tool_calls"}),e.toolChoice==="required"&&rt.length>0&&(At=!0);let Po=G+1;if(h>0&&Po>h){o.info(`max turns reached (${h}), completing`),yield Be("turn_limit_reached",`${h} tool rounds`),yield*br(v.finalText,"stopped");return}if(D>0&&Po>D){o.info(`tool loop budget exhausted (${D} rounds), returning`),yield Be("tool_budget_exhausted",`${D} rounds`),yield*br(v.finalText,"stopped");return}v={messages:k,hasAttemptedReactiveCompact:!1,turnCount:Po,transition:{reason:"next_turn"},guardState:ce,reactiveCompactState:Ye,toolLoopState:Ee,finalText:v.finalText,totalUsage:v.totalUsage,consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:v.recoveryTrace}}}function Dl(e){return[...new Set((e??[]).map(t=>t.function.name))].sort()}var To=class{transport;apiKey;toolInvoker;log;hooks;configuredMaxRounds;runtimePorts;constructor(t){this.transport=t.llmTransport,this.apiKey=t.apiKey,this.toolInvoker=t.toolInvoker,this.log=t.log,this.hooks=t.hooks,this.runtimePorts=t.runtimePorts,this.configuredMaxRounds=typeof t.maxRounds=="number"&&Number.isFinite(t.maxRounds)&&t.maxRounds>=1?Math.round(t.maxRounds):void 0}async*run(t,r){let{turnId:o,messages:n,availableTools:s,tools:a,systemPrompt:i,config:c}=t,l={sessionId:t.sessionId,turnId:o},u=[...n].reverse().find(w=>w.role==="user"&&typeof w.content=="string")?.content,d=!1,g=()=>({type:"tool_use_summary",turnId:o,telemetrySource:"agent",ledgerSchemaVersion:5,toolCalls:[],availableToolNames:Dl(s??a),enabledToolNames:Dl(a),toolCallNames:[],blockedToolCalls:[]}),m=typeof c?.maxRounds=="number"&&Number.isFinite(c.maxRounds)?c.maxRounds:this.configuredMaxRounds,p=m===void 0?void 0:Math.round(m),h=typeof c?.maxToolCalls=="number"&&Number.isFinite(c.maxToolCalls)?c.maxToolCalls:void 0,y=_o(h);yield{type:"start",turnId:o,effectiveMaxRounds:yo(p,n),...y!==void 0?{effectiveMaxToolCalls:y}:{}};try{ne(this.hooks,"turn.submitted",{...l,prompt:n[n.length-1]?.content??void 0},this.log);let w=jo(n),b=[];i&&b.push({role:"system",content:i}),b.push(...w);let S=c?.model??"",$=c?.reasoning;c?.reasoning?.effort==="auto"&&($=void 0);let z={turnId:o,sessionId:t.sessionId,continuation:t.continuation,messages:b,availableTools:s,tools:a,deferredToolNames:t.deferredToolNames,loadedDeferredToolNames:t.loadedDeferredToolNames,refreshTools:t.refreshTools,drainPendingGuidance:t.drainPendingGuidance,drainPendingTaskNotifications:t.drainPendingTaskNotifications,sanitizeToolResultMedia:t.sanitizeToolResultMedia,model:S,apiKey:c?.apiKey??this.apiKey,temperature:c?.temperature,maxRounds:p,contextWindowTokens:c?.contextWindowTokens,maxOutputTokens:c?.maxOutputTokens,toolChoice:c?.toolChoice,hooks:this.hooks,maxTurns:c?.maxTurns,maxConcurrentTools:c?.maxConcurrentTools,streamRequired:c?.streamRequired,reasoning:$,promptCacheKey:c?.promptCacheKey,promptCacheRetention:c?.promptCacheRetention,serviceTier:c?.serviceTier,maxToolCalls:h,parallelToolCalls:c?.parallelToolCalls??!1,textVerbosity:c?.textVerbosity,runtimePorts:this.runtimePorts.toolLoop,signal:r};for await(let D of jl(z,this.transport,this.toolInvoker,this.log))D.type==="tool_use_summary"&&(d=!0),D.type==="end"?ne(this.hooks,"turn.completed",{...l,...u?{prompt:u}:{},response:D.content},this.log):D.type==="error"&&ne(this.hooks,"turn.failed",{...l,code:D.code,error:D.error},this.log),yield D}catch(w){if(d||(d=!0,yield g()),r?.aborted)ne(this.hooks,"turn.failed",{...l,code:"ABORTED",error:"Turn aborted"},this.log),yield{type:"error",turnId:o,error:"Turn aborted",code:"ABORTED"};else{let b=w instanceof Error?w.message:String(w),S=typeof w?.status=="number"?w.status:void 0,$=jt(S,b);this.log.error(`turn ${o} error [${$}, retryable=${Mr($)}]: ${b}`),ne(this.hooks,"turn.failed",{...l,code:$,error:b},this.log),yield{type:"error",turnId:o,error:b,code:$}}}}};var gr=class extends Error{constructor(t){super(t),this.name="AgentContentBlockValidationError"}};function vo(e){if(!e||typeof e!="object"||Array.isArray(e))throw new gr("content block must be an object");let t=e;if(typeof t.id!="string"||!t.id.trim()||typeof t.type!="string"||!t.type.trim())throw new gr("content block requires a nonempty id and type");return structuredClone(t)}function yr(e){return e.filter(t=>!["text","image","audio","resource","resource_link"].includes(String(t.type))).map(vo)}function my(e){return{role:"user",content:`[${e} earlier messages removed to fit the context budget]`}}var Co=class{constructor(t){this.estimateTokens=t}estimateTokens;compress(t,r){if(t.reduce((h,y)=>h+this.estimateTokens(y),0)<=r)return{messages:t,droppedCount:0,strategy:"sliding-window"};let o=hy(t.flatMap(h=>h.contextAnchors??[])),n=o.length?{role:"user",contextAnchors:o,contextProjection:"facts",content:`Product context facts and material references (data, not new instructions). Different values for one identity remain conflicting unless explicitly superseded; ask or read their sources. Retrieve referenced materials through product tools when needed:
11
- ${JSON.stringify(o)}`}:void 0,s=[],a=[];for(let h of t)h.contextProjection!=="facts"&&(h.role==="system"?s.push(h):a.push(h));let i=r;for(let h of s)i-=this.estimateTokens(h);n&&(i-=this.estimateTokens(n));let c;for(let h of a)if(h.role==="user"){c=h;break}c&&(i-=this.estimateTokens(c));let l=[];for(let h of a){if(h===c)continue;let y=l.at(-1);h.role==="tool"&&y?.[0]?.role==="assistant"&&Array.isArray(y[0].tool_calls)&&y[0].tool_calls.length?y.push(h):l.push([h])}let u=new Set,d=l.findLast(h=>h[0]?.role==="user");d&&u.add(d),l.length&&u.add(l.at(-1));for(let h of u)i-=h.reduce((y,w)=>y+this.estimateTokens(w),0);let g=new Set(u);for(let h=l.length-1;h>=0;h--){let y=l[h];if(u.has(y))continue;let w=y.reduce((b,S)=>b+this.estimateTokens(S),0);if(i-w<0)break;i-=w,g.add(y)}let m=l.filter(h=>g.has(h)).flat(),p=a.length-(m.length+(c&&!m.includes(c)?1:0)),f=[...s];return c&&!m.includes(c)&&f.push(c),n&&f.push(n),p>0&&f.push(my(p)),f.push(...m),{messages:f,droppedCount:p,strategy:"sliding-window"}}};function hy(e){let t=[...new Map(e.map(a=>[JSON.stringify(a),a])).values()],r=new Set,o=t.map(a=>{if(!a.id||!a.revision||!a.supersedes?.length)return a;let i=new Set,c=[...a.supersedes];for(;c.length;){let l=c.pop();if(!i.has(l)){i.add(l);for(let u of t.filter(d=>d.id===a.id&&d.revision===l))c.push(...u.supersedes??[])}}return i.has(a.revision)&&r.add(a.id),{...a,supersedes:[...i]}}),n=o.filter(a=>!a.id||!a.revision||r.has(a.id)||!o.some(i=>i.id===a.id&&i.revision!==a.revision&&i.supersedes?.includes(a.revision))),s=new Map;for(let a of n){let{supersedes:i,references:c,...l}=a,u=JSON.stringify(l),d=s.get(u);s.set(u,{...a,...a.supersedes||d?.supersedes?{supersedes:[...new Set([...d?.supersedes??[],...a.supersedes??[]])]}:{},...a.references||d?.references?{references:[...new Set([...d?.references??[],...a.references??[]])]}:{}})}return[...s.values()]}function _r(e,t,r){t.signal?.throwIfAborted();let n=new Co(s=>r?r(s,t.model):Math.ceil(JSON.stringify(s).length/4)).compress(structuredClone(e),t.inputBudgetTokens);return{...n,messages:n.messages}}function gy(e,t){let r=e.executionTimeoutMsByTool?.get(t)??e.maxExecutionMs;return typeof r=="number"&&Number.isFinite(r)&&r>0?Math.round(r):void 0}function yy(e,t){let r=[e,t?AbortSignal.timeout(t):void 0].filter(o=>o!==void 0);if(r.length!==0)return r.length===1?r[0]:AbortSignal.any(r)}async function _y(e,t){let{call:r}=e,o=r.function.name,n=Date.now();try{let s=await t.toolInvoker.invoke(t.turnId,o,r.function.arguments,yy(t.signal,gy(t,o)),{callId:r.id,sessionId:t.sessionId,round:t.round??1}),a=s.error??(s.mcpIsError?"Tool execution failed":void 0),i=a===void 0;return{callId:r.id,toolName:o,ok:i,...a?{error:a}:{},durationMs:Date.now()-n,...s.details?{details:s.details}:{},message:Oe(r.id,{ok:i,payload:s.result,...a?{error:a}:{},toolReferences:s.toolReferences,imageUrls:s.imageUrls,contentBlocks:s.contentBlocks,structuredContent:s.structuredContent,mcpMeta:s.mcpMeta,mcpIsError:s.mcpIsError})}}catch(s){let a=s instanceof Error?s.message:String(s);return{callId:r.id,toolName:o,ok:!1,error:a,durationMs:Date.now()-n,message:Oe(r.id,{ok:!1,error:a})}}}var Eo=class{constructor(t){this.config=t}config;calls=[];addTool(t){this.calls.push({call:t,index:this.calls.length})}async*getRemainingResults(){let t=Math.max(1,Math.min(this.config.maxConcurrentTools??1,Math.max(1,this.calls.length))),r=[],o=0,n=t,s,a=async()=>{try{for(;o<this.calls.length;){if(this.config.signal?.aborted)return;let c=this.calls[o++];if(!c)return;r.push(await _y(c,this.config)),s?.()}}finally{n--,s?.()}},i=Array.from({length:t},()=>a());try{for(;n>0||r.length>0;){let c=r.shift();c?yield c:await new Promise(l=>{s=l})}}finally{await Promise.all(i)}}};function Ty(e){return{saveCheckpoint:e.onCheckpoint,reviewCompletion:e.reviewCompletion,enforceToolResultBudget:async t=>{let r=0,o=[];for(let n of t){if(n.role!=="tool"||!e.projectToolResult){o.push(n);continue}let s=await e.projectToolResult(structuredClone(n));if(s===void 0||s===n.content){o.push(n);continue}r+=1,o.push({...n,content:s})}return{messages:o,newlyReplacedCount:r}},compressMessages:(t,r)=>{if(e.prepareContext)return e.prepareContext(structuredClone(t),{model:r.model,inputBudgetTokens:r.budget,sessionId:r.sessionId,turnId:r.turnId,signal:r.signal});let o=_r(t,{model:r.model,inputBudgetTokens:r.budget,sessionId:r.sessionId,turnId:r.turnId,signal:r.signal},e.countMessageTokens);return{messages:o.messages,droppedCount:o.droppedCount,strategy:o.strategy}},createStreamingToolExecutor:t=>new Eo(t)}}function ql(e={}){return{toolLoop:Ty(e)}}var vy={info:()=>{},warn:()=>{},error:()=>{},debug:()=>{}};function Zs(e){return{async*run(t,r){let o=[],n={async invoke(a,i,c,l,u){let d=await e.toolInvoker.invoke(a,i,c,l,u),g=yr(d.contentBlocks??[]),m=new Set(o.map(p=>p.id));for(let p of g)m.has(p.id)||o.push(p),m.add(p.id);return d}},s=new To({llmTransport:e.llmTransport,toolInvoker:n,apiKey:e.apiKey??"",log:e.logger??vy,maxRounds:e.maxRounds,runtimePorts:ql(e.runtime)});for await(let a of s.run(t,r))a.type==="end"?yield{...a,...o.length?{contentBlocks:o}:{}}:yield a}}}var Cy="0.6.0";import{createHash as by}from"node:crypto";import{createHash as Bl}from"node:crypto";function Ul(e,t){if(!e||typeof e!="object"||Array.isArray(e)||e.instructions!==void 0&&typeof e.instructions!="string"||new Set(t.map(r=>r.function.name)).size!==t.length)throw Error("CLOUD_ASSISTANT_CONTEXT_INVALID")}function Tr(e){if(!e||typeof e.id!="string"||!e.id.trim()||typeof e.description!="string"||!e.description.trim()||!Array.isArray(e.criteria)||!e.criteria.length||e.criteria.some(t=>!t||typeof t.id!="string"||!t.id.trim()||typeof t.description!="string"||!t.description.trim())||new Set(e.criteria.map(t=>t.id)).size!==e.criteria.length)throw Error("CLOUD_GOAL_INVALID")}function ea(e,t){Tr(e);let r=e.criteria.map(o=>o.id);if(!t||!Array.isArray(t.criteria)||t.criteria.some(o=>!o)||t.criteria.length!==r.length||new Set(t.criteria.map(o=>o.id)).size!==r.length||t.criteria.some(o=>!r.includes(o.id)||!["satisfied","missing","failed"].includes(o.status)||!Array.isArray(o.references)||o.references.some(n=>typeof n!="string"||!n.trim())||o.status==="satisfied"&&!o.references.length))throw Error("CLOUD_GOAL_EVIDENCE_INVALID");return{status:t.criteria.every(o=>o.status==="satisfied")?"satisfied":"incomplete",criteria:structuredClone(t.criteria)}}function ta(e,t){let r=structuredClone(e);if(r.phase!=="tools_pending")throw Error("CLOUD_RECONCILIATION_REQUIRED");let o=r.messages.findLastIndex(a=>!!a.tool_calls?.length),n=r.messages[o]?.tool_calls;if(!n||o<0||r.messages.slice(o+1).some(a=>a.role!=="tool"))throw Error("CLOUD_RECONCILIATION_REQUIRED");let s=new Map(t.map(a=>[a.invocation.callId,a]));if(s.size!==t.length||s.size!==n.length)throw Error("CLOUD_RECONCILIATION_REQUIRED");r.messages=r.messages.slice(0,o+1);for(let a of n){let i=s.get(a.id),c=i?.invocation;if(!i||!c||te(c.context)!==te(r.context)||c.turnId!==r.turnId||c.sessionId!==r.sessionId||c.round!==r.completedRounds+1||c.name!==a.function.name||c.arguments!==a.function.arguments||typeof i.result.result!="string")throw Error("CLOUD_CHECKPOINT_MISMATCH");let l=i.result,u=l.error??(l.mcpIsError?"Tool execution failed":void 0);r.messages.push(Oe(a.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 yr(l.contentBlocks??[]))r.contentBlocks.some(g=>g.id===d.id)||r.contentBlocks.push(d)}return r.completedRounds++,r.phase="model_ready",r}function te(e){return JSON.stringify(e,(t,r)=>r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.keys(r).sort().map(o=>[o,r[o]])):r)}function Ey(e){let t=new Set;for(let r of e){for(let o of r.tool_calls??[])t.add(o.id);r.role==="tool"&&r.tool_call_id&&t.delete(r.tool_call_id)}return t.size>0}function ra(e){return{async*run(t,r){let o=structuredClone(t);o.config={...o.config,maxRounds:o.config?.maxRounds??e.maxRounds,maxConcurrentTools:o.config?.maxConcurrentTools??1};let n=Object.freeze(o.context),s=te({messages:o.messages,tools:o.tools,availableTools:o.availableTools,config:o.config,systemPrompt:o.systemPrompt,maxRounds:e.maxRounds,runtime:e.runtime,assistantContext:o.assistantContext,assistantContextProjection:o.assistantContext!==void 0?"opaque-v1":void 0,goal:o.goal,executionBudget:o.executionBudget}),a=E=>({type:"error",turnId:o.turnId,code:E,error:E});try{o.assistantContext!==void 0&&Ul(o.assistantContext,o.tools),o.goal&&Tr(o.goal)}catch(E){yield a(E instanceof Error?E.message:"CLOUD_REQUEST_INVALID");return}let i=o.executionBudget,c=o.resume?.phase==="model_ready"&&o.resume.modelOperations?.some(E=>E.round===o.resume.completedRounds+1&&E.status==="completed"&&E.response?.some(x=>x.type==="done")&&!E.response.some(x=>x.type==="tool_call_delta"));if(i&&i.monetary!==void 0&&(!i.monetary||typeof i.monetary!="object"||typeof i.monetary.id!="string"||!i.monetary.id.trim()||typeof i.monetary.currency!="string"||!i.monetary.currency.trim()||typeof i.monetary.maxAmount!="string"||!/^(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/.test(i.monetary.maxAmount)||!/[1-9]/.test(i.monetary.maxAmount))){yield{type:"error",turnId:o.turnId,error:"CLOUD_MONETARY_BUDGET_INVALID",code:"CLOUD_MONETARY_BUDGET_INVALID"};return}if(i?.monetary&&e.llmTransport.supportsTaskMonetaryBudget!==!0){yield{type:"error",turnId:o.turnId,error:"CLOUD_MONETARY_BUDGET_UNSUPPORTED",code:"CLOUD_MONETARY_BUDGET_UNSUPPORTED"};return}if(i&&(i.maxModelRequests!==void 0&&(!Number.isSafeInteger(i.maxModelRequests)||i.maxModelRequests<1)||i.deadlineAtMs!==void 0&&(!Number.isSafeInteger(i.deadlineAtMs)||i.deadlineAtMs<1))){yield a("CLOUD_BUDGET_INVALID");return}if(i?.deadlineAtMs!==void 0&&i.deadlineAtMs<=Date.now()&&!c){yield a("CLOUD_DEADLINE_EXCEEDED");return}if(!n||Object.values(n).some(E=>typeof E!="string"||!E.trim())||![n.applicationId,n.tenantId,n.actorId,n.scopeId,n.definitionVersion,o.turnId,o.sessionId].every(E=>typeof E=="string"&&E.trim())){yield a("CLOUD_CONTEXT_INVALID");return}if(o.config.maxRounds!==void 0&&(!Number.isSafeInteger(o.config.maxRounds)||o.config.maxRounds<0)||!Number.isSafeInteger(o.config.maxConcurrentTools)||o.config.maxConcurrentTools<1||o.config.maxToolCalls!==void 0&&(!Number.isSafeInteger(o.config.maxToolCalls)||o.config.maxToolCalls<0)){yield a("CLOUD_BUDGET_INVALID");return}let l=o.resume;if(l&&(l.schemaVersion!==1||te(l.context)!==te(n)||l.turnId!==o.turnId||l.sessionId!==o.sessionId||l.binding!==s||!Number.isSafeInteger(l.completedRounds)||l.completedRounds<0||!Array.isArray(l.messages)||!Array.isArray(l.contentBlocks))){yield a("CLOUD_CHECKPOINT_MISMATCH");return}if(l&&(l.phase!=="model_ready"||Ey(l.messages))){yield a("CLOUD_RECONCILIATION_REQUIRED");return}let u=o.config?.maxRounds??e.maxRounds;if(l&&(u&&u>0&&l.completedRounds>=u||o.config?.maxTurns&&o.config.maxTurns>0&&l.completedRounds>=o.config.maxTurns)){yield a("CLOUD_BUDGET_EXHAUSTED");return}let d=new AbortController,g=r?AbortSignal.any([r,d.signal]):d.signal,m,p,f=E=>{throw m=E,d.abort(),Error(E)},h,y=()=>{if(i?.deadlineAtMs===void 0)return;let E=i.deadlineAtMs-Date.now();if(E<=0){m="CLOUD_DEADLINE_EXCEEDED",d.abort();return}h=setTimeout(y,Math.min(E,2147483647))},w=async E=>{g.throwIfAborted(),E.type==="tool"&&i?.deadlineAtMs!==void 0&&i.deadlineAtMs<=Date.now()&&f("CLOUD_DEADLINE_EXCEEDED");try{await e.authorize(n,E)}catch{f("CLOUD_AUTHORIZATION_FAILED")}g.throwIfAborted()},b=new Map,S=structuredClone(l?.modelOperations??[]),$=l?structuredClone(l):void 0,z=(l?.completedRounds??0)+1,D=!1,O=l&&S.some(E=>E.round===z&&E.status==="completed"&&E.response?.length)?z:void 0,P=async E=>{let x=structuredClone(S),X=x.findIndex(re=>re.requestId===E.requestId);X<0?x.push(structuredClone(E)):x[X]=structuredClone(E);try{if(e.onModelOperation)await e.onModelOperation(structuredClone(E));else if($&&e.checkpoints){let re=structuredClone({...$,modelOperations:x});await e.checkpoints.save(re),$=re}}catch{return f("CLOUD_MODEL_RECEIPT_FAILED")}S.splice(0,S.length,...x)};try{for(let E of l?.contentBlocks??[])b.set(E.id,vo(E))}catch{yield a("CLOUD_CHECKPOINT_MISMATCH");return}let H=Zs({...e,llmTransport:{async*stream(E,x,X){await w({type:"model"});let re=Bl("sha256").update(te(i?.monetary?{...E,taskBudget:i.monetary}:E)).digest("hex"),Ce=S.findLast(v=>v.round===z&&v.requestDigest===re&&v.status==="completed"&&v.response?.length);if(Ce?.response){for(let v of structuredClone(Ce.response))yield v;return}if(S.some(v=>v.round===z&&v.status==="completed"))return f("CLOUD_MODEL_REPLAY_MISMATCH");if(i?.deadlineAtMs!==void 0&&i.deadlineAtMs<=Date.now())return f("CLOUD_DEADLINE_EXCEEDED");if(c&&h===void 0&&y(),S.some(v=>["prepared","responding","unknown"].includes(v.status)))return f("MODEL_RECONCILIATION_REQUIRED");if(i?.maxModelRequests!==void 0&&S.length>=i.maxModelRequests)return f("CLOUD_BUDGET_EXHAUSTED");let Z=Math.max(0,...S.filter(v=>v.round===z).map(v=>v.attempt))+1,ie=Bl("sha256").update(te([n,o.turnId,z,Z,re])).digest("hex"),B={requestId:ie,requestDigest:re,round:z,attempt:Z,model:E.model,status:"prepared",startedAtMs:Date.now()},se={...E,execution:{requestId:ie,requestDigest:re,round:z,attempt:Z,...i?.monetary?{taskBudget:structuredClone(i.monetary)}:{}}};if(e.llmTransport.bindModelRequest){let v=await e.llmTransport.bindModelRequest(structuredClone(se),x);if(typeof v!="string"||!v.trim())return f("CLOUD_MODEL_ORIGIN_INVALID");B.originReference=v,se.execution.originReference=v}if(await P(B),e.reserveModelBudget){try{let v=await e.reserveModelBudget(n,structuredClone(B),structuredClone(se),X);if(typeof v?.reference!="string"||!v.reference.trim())throw Error("invalid budget reservation");B={...B,budgetReference:v.reference}}catch{return await P({...B,status:"rejected",finishedAtMs:Date.now()}),f("CLOUD_MODEL_BUDGET_REJECTED")}await P(B)}X?.throwIfAborted();let ae=!1,vr=!1,At=[];try{for await(let v of e.llmTransport.stream(se,x,X))At.push(structuredClone(v)),v.type==="response_id"&&(B={...B,responseId:v.id,status:"responding"},await P(B)),v.type==="usage"&&(B={...B,usage:{inputTokens:v.promptTokens,outputTokens:v.completionTokens,records:v.records}}),v.type==="done"&&!vr&&(ae=!0,B={...B,status:"completed",finishReason:v.finishReason}),v.type==="error"&&(vr=!0,ae=!1,B={...B,status:v.outcome==="rejected"?"rejected":"unknown"}),yield v}catch(v){throw B={...B,status:v?.outcome==="rejected"?"rejected":"unknown"},v}finally{!ae&&B.status!=="rejected"&&(B={...B,status:"unknown"}),B.status==="completed"&&(B={...B,response:At}),B={...B,finishedAtMs:Date.now()},await P(B)}}},runtime:{...e.runtime,projectToolResult:async E=>z===O?void 0:e.runtime?.projectToolResult?.(E),prepareContext:async(E,x)=>z===O&&l?{messages:structuredClone(l.messages),droppedCount:0,strategy:"original-request-replay"}:e.runtime?.prepareContext?e.runtime.prepareContext(E,x):_r(E,x,e.runtime?.countMessageTokens),onCheckpoint:async E=>{z=E.completedRounds+1,(m||g.aborted)&&g.throwIfAborted();try{await e.checkpoints?.save(structuredClone({...E,schemaVersion:1,context:n,binding:s,contentBlocks:[...b.values()],modelOperations:S})),$=structuredClone({...E,schemaVersion:1,context:n,binding:s,contentBlocks:[...b.values()],modelOperations:S})}catch{f("CLOUD_CHECKPOINT_FAILED")}if(E.phase==="model_ready"&&e.shouldPause&&await e.shouldPause(n,structuredClone($))){if(!e.checkpoints)return f("CLOUD_PAUSE_STORAGE_REQUIRED");throw D=!0,d.abort(),Error("CLOUD_TASK_PAUSED")}}},toolInvoker:{async invoke(E,x,X,re,Ce){if(!Ce)return f("CLOUD_TOOL_IDENTITY_MISSING");await w({type:"tool",name:x,callId:Ce.callId});let Z=Object.freeze({context:n,turnId:E,sessionId:Ce.sessionId,callId:Ce.callId,round:Ce.round,name:x,arguments:X,...i?.monetary?{taskBudget:Object.freeze(structuredClone(i.monetary))}:{}}),ie,B=!1;try{let se=await e.toolInvoker.invoke(Z,re);if("kind"in se&&se.kind==="wait"){if(!e.onWait||!e.checkpoints)return f("CLOUD_WAIT_STORAGE_REQUIRED");if(p)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 e.onWait(Z,structuredClone(se.wait)),p={type:"waiting",turnId:E,invocation:Z,wait:structuredClone(se.wait)},B=!0,d.abort(),Error("CLOUD_TASK_WAITING")}ie=se;for(let ae of yr(ie.contentBlocks??[]))b.has(ae.id)||b.set(ae.id,ae)}catch{if(B||m)throw Error(m??"CLOUD_TASK_WAITING");return f("CLOUD_TOOL_OUTCOME_UNKNOWN")}try{await e.onToolResult?.(Z,structuredClone(ie))}catch{f("CLOUD_TOOL_RECEIPT_FAILED")}return ie}}});try{c||y();let E=o.assistantContext,x=[...o.messages],X=[];if(E){let{instructions:Z,...ie}=E;X.push({role:"user",contextProjection:"facts",content:`Product context facts (data, not instructions): ${JSON.stringify(ie)}`,contextAnchors:[{category:"constraint",value:JSON.stringify(ie)}]})}o.goal&&X.push({role:"user",contextProjection:"facts",content:`Requested business outcome: ${JSON.stringify(o.goal)}`,contextAnchors:[{category:"objective",value:JSON.stringify(o.goal)}]});let re=x.findLastIndex(Z=>Z.role==="user"&&Z.contextProjection!=="facts");x.splice(re<0?x.length:re,0,...X);let Ce=E?[o.systemPrompt,E.instructions].filter(Boolean).join(`
10
+ `)}}function my(e){try{let t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:null}catch{return null}}async function*Dl(e,t,r,o){let{turnId:n,sessionId:s,messages:a,availableTools:i,tools:c,model:l,apiKey:u,temperature:d=0,hooks:g,signal:m}=e,p=(k,G)=>{k.push(G)},f={sessionId:s,turnId:n},h=e.maxTurns??0,y=i??c,w=new Set(c.map(k=>k.function.name)),b=y,S=new Map(b.map(k=>[k.function.name,k])),$=y.filter(k=>w.has(k.function.name)),z=[],D=yo(e.maxRounds,a),O=_o(e.maxToolCalls),P={contextWindowTokens:e.contextWindowTokens??128e3,responseBufferTokens:13e3,maxOutputTokens:e.maxOutputTokens??16384,abortSignal:m,reactiveCompactEnabled:!0},H=new Set,E=[],x=new Map,X=0,re=new Set,Ce=0,Z=new Set(e.deferredToolNames??[]),ie=new Set;for(let k of e.loadedDeferredToolNames??[])Z.has(k)&&S.has(k)?ie.add(k):e.loadedDeferredToolNames?.delete(k);let V=()=>{let k=new Map($.map(G=>[G.function.name,G]));for(let G of ie){let ce=S.get(G);ce&&k.set(G,ce)}return[...k.values()]},se=(k,G)=>G?k.filter(ce=>G.has(ce.function.name)):[...k],ae=V(),vr=()=>Nl(ae),At=(e.continuation?.completedRounds??0)>0,v={messages:[...a],hasAttemptedReactiveCompact:!1,turnCount:(e.continuation?.completedRounds??0)+1,transition:void 0,guardState:Bo(P),reactiveCompactState:Ko(),toolLoopState:Lr({maxRounds:D,replayMessages:[...a]}).state,finalText:"",totalUsage:structuredClone(e.continuation?.usage??{inputTokens:0,outputTokens:0}),consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:new Map},Cr=async(k,G,ce)=>{e.runtimePorts.saveCheckpoint&&(await e.runtimePorts.saveCheckpoint(structuredClone({turnId:n,sessionId:s,phase:k,messages:G,completedRounds:ce,usage:v.totalUsage})),m?.throwIfAborted())},sa=0,Er=!1,Ve=(k,G)=>(v.recoveryTrace.set(k,(v.recoveryTrace.get(k)??0)+1),{type:"recovery",turnId:n,action:k,detail:G}),aa=()=>({type:"tool_use_summary",turnId:n,ledgerSchemaVersion:5,toolCalls:E.map(k=>({...k})),availableToolNames:Nl(i??c),enabledToolNames:vr(),toolCallNames:[...H].sort(),blockedToolCalls:dy(z)}),Hl=(k,G)=>({type:"end",turnId:n,content:k,turnStatus:G,taskOutcome:"unverified",usage:v.totalUsage,model:l,...v.recoveryTrace.size>0?{recoveryTrace:Object.fromEntries(v.recoveryTrace)}:{}});function*br(k,G="completed"){yield aa(),yield Hl(k,G)}function*je(k,G){yield aa(),yield{type:"error",turnId:n,error:k,code:G,usage:v.totalUsage}}let ht=0,xt=0;function*Wl(k){ht<=xt||(yield{type:"text_rollback",turnId:n,keepLength:xt,reason:k},ht=xt)}for(ae=V();;){yield*Wl("round_restart"),sa++,Er=!1;let{messages:k,turnCount:G,guardState:ce,reactiveCompactState:Ye}=v,{toolLoopState:Ee}=v;if(e.refreshTools&&sa>1){let T=e.refreshTools(),_=new Set(T.map(Be=>Be.function.name)),q=se(b.filter(Be=>!Z.has(Be.function.name)||ie.has(Be.function.name)),_),oe=q;oe!==ae&&(ae=oe,o.debug(`tools refreshed within initial turn snapshot: ${q.length}/${b.length} tools`))}if(e.drainPendingGuidance)for(let T of e.drainPendingGuidance()){let _=T.trim();_&&(k.push({role:"user",content:_}),o.info(`mid-turn guidance injected (${_.length} chars)`))}if(e.drainPendingTaskNotifications){let T=e.drainPendingTaskNotifications().filter(_=>_.trim());T.length>0&&(k.push(jl(T)),o.info(`background task result injected (${T.length} item(s))`))}if(Fo(ce,P)){o.info(`turn aborted by guard at turn ${G}`),yield*je("Turn aborted","ABORTED");return}let bo=yield*xl({messages:k,guardConfig:{...P,maxOutputTokens:ce.currentMaxOutputTokens},runtimePorts:e.runtimePorts,hooks:g,hookCtx:f,currentModel:l,log:o,recovery:(T,_)=>Ve(T,_),onAutocompact:()=>{v.hasAttemptedReactiveCompact=!1}});bo!==k&&k.splice(0,k.length,...bo);let wo=zo(ce,P);wo.level==="warning"&&o.info(`token budget warning: ${wo.usagePercent}% used, ${wo.remainingTokens} remaining`);let ia=e.toolChoice==="required"&&At?"auto":e.toolChoice??"auto",wr=xo({tools:ae,toolChoice:ia}),$r=Lr({maxRounds:D,replayMessages:bo,lastStopReason:Ee.lastStopReason,options:{stopReason:Ee.lastStopReason}}),$o=$r.state.replayMessages;Ee=$r.state,$r.recoveryActions.length>0&&o.debug(`tool loop recovery: ${$r.recoveryActions.map(T=>T.detail??T.kind).join("; ")}`),o.debug(`turn ${G}, messages: ${$o.length}`),await Cr("model_ready",$o,G-1),ne(g,"turn.before_inference",{...f,model:l},o);let Mt=!1,ca=[],la=ia==="required",Ro=0,Nt="";function*Jl(T){if(T){if(la){Nt+=T;return}Ro+=T.length,ht+=T.length,yield{type:"delta",turnId:n,text:T}}}function*Ql(){if(!Nt)return;let T=Nt;Nt="",Ro+=T.length,ht+=T.length,yield{type:"delta",turnId:n,text:T}}let ua=new Map,ko="stop",de,Rr,W=null,kr=null,da=!1,Yl=performance.now(),So,fa=0,pa=0,ma=0,Oo=0,ha,Xe,ga=!1,Sr=!1,ya=!1,Ze=[],et=[];try{let T=t.stream({model:l,messages:$o,...wr.tools.length>0?{tools:wr.tools,toolChoice:wr.normalizedToolChoice??"auto"}:{},temperature:d,maxTokens:ce.currentMaxOutputTokens||void 0,streamRequired:e.streamRequired,reasoning:e.reasoning,promptCacheKey:e.promptCacheKey,promptCacheRetention:e.promptCacheRetention,serviceTier:e.serviceTier,...O!==void 0?{maxToolCalls:O}:{},parallelToolCalls:e.parallelToolCalls,textVerbosity:e.textVerbosity},u,m);for await(let _ of T)switch(So===void 0&&_.type!=="usage"&&_.type!=="response_id"&&(So=Math.max(0,Math.round(performance.now()-Yl))),_.type){case"delta":fa+=1,pa+=_.text.length,Xe===void 0&&(Xe="text"),Oo===0&&(ga=!0),ca.push(_.text),yield*Jl(_.text);break;case"tool_call_delta":Oo+=1,Xe===void 0&&(Xe="tool_call"),Mt=!0,Ho(ua,_);break;case"reasoning_delta":ma+=1,Xe===void 0&&(Xe="reasoning"),Ze.push(_.text),yield{type:"reasoning_delta",turnId:n,text:_.text};break;case"reasoning_block_complete":et.push({thinking:_.thinking,signature:_.signature}),Ze.length=0;break;case"usage":Rr=Vo(_),de={inputTokens:_.promptTokens,outputTokens:_.completionTokens,reasoningTokens:_.reasoningTokens,cacheRead:_.cacheReadTokens,cacheWrite:_.cacheCreationTokens,records:_.records};break;case"response_id":ha=_.id;break;case"annotations":yield{type:"annotations",turnId:n,annotations:_.annotations};break;case"error":da=_.outcome==="rejected",kr=_.message||"LLM provider returned an error chunk";break;case"done":ya=!0,ko=_.finishReason;break}if(kr){ne(g,"stop.failure",{sessionId:s,reason:"PROVIDER_STREAM_ERROR",error:kr},o),yield*je(kr,da?"MODEL_REQUEST_REJECTED":"PROVIDER_STREAM_ERROR");return}Mt||ne(g,"turn.after_inference",{...f,model:l},o)}catch(T){let _=yield*Ml(T,{state:v,signal:m,turnId:n,log:o,emitRecovery:Ve});if(_.kind==="return")return;if(_.kind==="continue"){v={...v,..._.patch};continue}W=_.streamError}if(!W&&!ya){let T="LLM stream closed before a terminal event; the response was likely truncated upstream.";ne(g,"stop.failure",{sessionId:s,reason:"RETRYABLE_TRANSIENT",error:T},o),yield*je(T,"RETRYABLE_TRANSIENT");return}if(W&&ne(g,"turn.after_inference",{...f,model:l,response:{error:W.message}},o),W)if(Qs(W))Sr=!0,o.info(`withheld prompt_too_long error (status=${W.status})`);else if(Xs(W))Sr=!0,o.info(`withheld media_size error (status=${W.status})`);else{let T=Go({status:W.status??500,message:W.message},ce,P);if(T.action==="reactive_compact"&&Dt(Ye)&&(Ye.attemptedThisTurn=!0,ce.hasAttemptedReactiveCompact=!0,yield Ve("reactive_compact",`API ${W.status??500}: ${W.message}`)),T.action==="retry"){let q=(v.consecutiveApiRetries??0)+1;yield Ve("retry",T.reason),v={...v,consecutiveApiRetries:q,transition:void 0};continue}let _=jt(W.status,W.message);ne(g,"stop.failure",{sessionId:s,reason:_,error:W.message},o),yield*je(W.message,_);return}de&&(v.totalUsage.inputTokens+=de.inputTokens,v.totalUsage.outputTokens+=de.outputTokens,de.reasoningTokens&&(v.totalUsage.reasoningTokens=(v.totalUsage.reasoningTokens??0)+de.reasoningTokens),de.cacheRead&&(v.totalUsage.cacheRead=(v.totalUsage.cacheRead??0)+de.cacheRead),de.cacheWrite&&(v.totalUsage.cacheWrite=(v.totalUsage.cacheWrite??0)+de.cacheWrite),de.records?.length&&(v.totalUsage.records=[...v.totalUsage.records??[],...de.records])),o.info(`[provider-context] ${JSON.stringify({event:"context_ledger_round",turnId:n,round:G,ttftMs:So,inputTokens:de?.inputTokens??0,outputTokens:de?.outputTokens??0,cacheReadTokens:de?.cacheRead??0,cacheWriteTokens:de?.cacheWrite??0,totalPromptTokens:Rr??0,responseIdReceived:ha!==void 0,toolDefinitionCount:ae.length,providerTextChunkCount:fa,providerTextChars:pa,providerReasoningChunkCount:ma,providerToolCallDeltaCount:Oo,firstSemanticProviderEvent:Xe??"none",textBeforeFirstToolCall:ga,suppressLiveText:la,liveEmittedTextChars:Ro,bufferedSuppressedTextChars:Nt.length})}`),Rr&&(ce.promptTokens=Rr);let tt=ca.join(""),rt=[...ua.values()].map((T,_)=>({id:T.id||`tc_${n}_${G}_${_}`,type:"function",function:{name:T.name,arguments:T.arguments}})),Or=Ao(rt,tt||void 0,et.length>0?et:void 0,et.length===0&&Ze.length>0?Ze.join(""):void 0);if(!W&&X===0&&rt.length===0&&!Mt&&tt.trim()===""&&Ze.join("").trim()===""&&et.length===0){let T="LLM returned an empty response before any tool use.";ne(g,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE",error:T},o),yield*je(T,"EMPTY_MODEL_RESPONSE");return}if(!W&&X>0&&rt.length===0&&!Mt&&tt.trim()===""&&!Ys(ko)){let T="LLM returned no user-visible response after tool use.";ne(g,"stop.failure",{sessionId:s,reason:"EMPTY_MODEL_RESPONSE_AFTER_TOOL",error:T},o),yield*je(T,"EMPTY_MODEL_RESPONSE_AFTER_TOOL");return}if(rt.length===0&&!Mt){if(e.drainPendingTaskNotifications){let q=e.drainPendingTaskNotifications().filter(oe=>oe.trim());if(q.length>0){v={...v,messages:[...k,...tt||et.length||Ze.length?[Or]:[],jl(q)]},o.info(`late background task result consumed at completion (${q.length} item(s)) \u2014 running another round`);continue}}if(e.drainPendingGuidance){let q=e.drainPendingGuidance().map(oe=>oe.trim()).filter(Boolean);if(q.length>0){v={...v,messages:[...k,...tt||et.length||Ze.length?[Or]:[],...q.map(oe=>({role:"user",content:oe}))]},o.info(`late mid-turn guidance consumed at completion (${q.length} item(s)) \u2014 running another round`);continue}}if(tt&&(v.finalText=tt),Sr&&W&&Qs(W)){if(Dt(Ye)){Ye.attemptedThisTurn=!0,ce.hasAttemptedReactiveCompact=!0,o.info("withheld 413: reactive compact attempt"),yield Ve("reactive_compact","withheld prompt_too_long"),v={...v,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}o.info("withheld 413: recovery exhausted, surfacing error"),ne(g,"stop.failure",{sessionId:s,reason:"prompt_too_long",error:W.message},o),yield*je(W.message,"PROMPT_TOO_LONG");return}if(Sr&&W&&Xs(W)){if(Dt(Ye)){Ye.attemptedThisTurn=!0,ce.hasAttemptedReactiveCompact=!0,o.info("withheld media error: reactive compact strip-retry"),yield Ve("reactive_compact","media error strip-retry"),v={...v,hasAttemptedReactiveCompact:!0,transition:{reason:"reactive_compact_retry"}};continue}o.info("withheld media error: recovery exhausted"),ne(g,"stop.failure",{sessionId:s,reason:"media_error",error:W.message},o),yield*je(W.message,"IMAGE_ERROR");return}if(Ys(ko)&&(o.info("provider stopped at its output-token limit; preserving partial content"),Er=!0),!Er&&v.finalText&&e.runtimePorts.reviewCompletion){let q=await e.runtimePorts.reviewCompletion(structuredClone(k),v.finalText);if(q.length){let oe=[...k,Or,...q];if(await Cr("model_ready",oe,G),D>0&&G>=D){yield*br("","stopped");return}v={...v,messages:oe,finalText:"",turnCount:G+1};continue}}Ee=Nr(Ee,{replayMessages:k,lastStopReason:"completed"});let T=!v.finalText,_=v.finalText;yield*br(_,Er||T?"stopped":"completed");return}xt=ht,p(k,Or),Ee=Do(Ee,{replayMessages:k,pendingToolCallIds:rt.map(T=>T.id),completedToolCallIds:Ee.completedToolCallIds,lastStopReason:"tool_calls"});let Lt=[],Xl=new Set(ae.map(T=>T.function.name)),_a=[],Ta=[];for(let T of rt)Xl.has(T.function.name)?_a.push(T):Ta.push(T);for(let T of Ta){let q=Z.has(T.function.name)&&!ie.has(T.function.name)?`Tool "${T.function.name}" schema is not loaded. Call "${Wo}" with that exact tool name before invoking it.`:`Tool "${T.function.name}" was not offered for this turn and will not be executed. Use only the tools listed in the current request.`;z.push({name:T.function.name,reason:"not-offered"}),p(k,Oe(T.id,{ok:!1,error:q})),Lt.push(T.id),H.add(T.function.name),o.warn(`unoffered tool call suppressed: ${T.function.name}`)}let Io=[],va=[];for(let T of _a){let _=wr.tools.find(oe=>oe.function.name===T.function.name),q=fy(_,T.function.arguments);q?va.push({call:T,error:q}):Io.push(T)}for(let T of va){let _=T.call;z.push({name:_.function.name,reason:"invalid-arguments"}),p(k,Oe(_.id,{ok:!1,error:T.error})),Lt.push(_.id),H.add(_.function.name),o.info(`invalid tool arguments blocked: ${_.function.name}`)}let Ir=Io.slice(0,O);Ir.length>0&&(yield*Ql(),xt=ht);let Ca=Io.slice(Ir.length);if(Ca.length>0){let T=`This model round proposed more than ${O} tool calls. Only the first ${O} were executed; re-issue any still-needed calls in the next round.`;for(let _ of Ca){z.push({name:_.function.name,reason:"per-round-tool-call-limit"});let q=Oe(_.id,{ok:!1,error:T});p(k,q),Lt.push(_.id)}}await Cr("tools_pending",k,G-1);for(let T of Ir){let _=ae.find(oe=>oe.function.name===T.function.name),q={sequence:E.length,callId:T.id,name:T.function.name,identity:py(_,T.function.name),status:"running",arguments:T.function.arguments};E.push(q),x.set(T.id,q),yield{type:"tool_call",turnId:n,callId:T.id,name:T.function.name,..._?.meta?.displayName?.fallback?.trim()?{displayName:_.meta.displayName.fallback.trim()}:{},arguments:T.function.arguments},re.add(T.function.name),Ce++}try{let T=e.runtimePorts.createStreamingToolExecutor({toolInvoker:r,round:G,hooks:g,sessionId:s,turnId:n,log:o,signal:m,maxConcurrentTools:e?.maxConcurrentTools,executionTimeoutMsByTool:new Map(ae.flatMap(_=>{let q=_.meta?.executionTimeoutMs;return typeof q=="number"&&Number.isFinite(q)&&q>0?[[_.function.name,q]]:[]}))});for(let _ of Ir)T.addTool(_);for await(let _ of T.getRemainingResults()){let q=x.get(_.callId);if(q&&(q.status=_.blocked?"blocked":_.ok?"succeeded":"failed",!_.ok&&typeof _.error=="string"&&_.error.trim()&&(q.error=_.error),_.ok||(q.failureKind=$a(_))),_.blocked&&z.push({name:_.toolName,reason:"blocked-by-policy"}),_.blocked&&(yield{type:"tool_blocked",turnId:n,callId:_.callId,name:_.toolName,reason:_.blockReason??"blocked"}),_.ok&&_.toolName===Wo){let oe=wa(_.details),Be=e.refreshTools?new Set(e.refreshTools().map(Se=>Se.function.name)):void 0,Pr=[],Ar=[],xr=[];for(let Se of oe)!S.get(Se)||Be&&!Be.has(Se)?xr.push(Se):!Z.has(Se)||ie.has(Se)?Ar.push(Se):(ie.add(Se),e.loadedDeferredToolNames?.add(Se),Pr.push(Se));ae=se(V(),Be);let Zl=_.message;Zl.content=JSON.stringify({loaded:Pr,alreadyResident:Ar,unavailable:xr}),_.details={type:"tool_schema_load",requestedToolNames:oe,loaded:Pr,alreadyResident:Ar,unavailable:xr},o.info({turnId:n,loaded:Pr,alreadyResident:Ar,unavailable:xr},"tool schemas materialized by Agent selection")}{let oe=_.message;e.sanitizeToolResultMedia&&await e.sanitizeToolResultMedia(oe)}p(k,_.message),Lt.push(_.callId),_.blocked||(H.add(_.toolName),X++),yield Ra(n,_)}}catch(T){let _=T instanceof Error?T.message:String(T);yield*je(_,"TOOL_EXECUTION_ERROR");return}m?.aborted&&m.throwIfAborted(),await Cr("model_ready",k,G),Ee=Nr(Ee,{replayMessages:k,completedToolCallIds:[...Ee.completedToolCallIds,...Lt],lastStopReason:"tool_calls"}),e.toolChoice==="required"&&rt.length>0&&(At=!0);let Po=G+1;if(h>0&&Po>h){o.info(`max turns reached (${h}), completing`),yield Ve("turn_limit_reached",`${h} tool rounds`),yield*br(v.finalText,"stopped");return}if(D>0&&Po>D){o.info(`tool loop budget exhausted (${D} rounds), returning`),yield Ve("tool_budget_exhausted",`${D} rounds`),yield*br(v.finalText,"stopped");return}v={messages:k,hasAttemptedReactiveCompact:!1,turnCount:Po,transition:{reason:"next_turn"},guardState:ce,reactiveCompactState:Ye,toolLoopState:Ee,finalText:v.finalText,totalUsage:v.totalUsage,consecutive529Errors:0,consecutiveApiRetries:0,recoveryTrace:v.recoveryTrace}}}function ql(e){return[...new Set((e??[]).map(t=>t.function.name))].sort()}var To=class{transport;apiKey;toolInvoker;log;hooks;configuredMaxRounds;runtimePorts;constructor(t){this.transport=t.llmTransport,this.apiKey=t.apiKey,this.toolInvoker=t.toolInvoker,this.log=t.log,this.hooks=t.hooks,this.runtimePorts=t.runtimePorts,this.configuredMaxRounds=typeof t.maxRounds=="number"&&Number.isFinite(t.maxRounds)&&t.maxRounds>=1?Math.round(t.maxRounds):void 0}async*run(t,r){let{turnId:o,messages:n,availableTools:s,tools:a,systemPrompt:i,config:c}=t,l={sessionId:t.sessionId,turnId:o},u=[...n].reverse().find(w=>w.role==="user"&&typeof w.content=="string")?.content,d=!1,g=()=>({type:"tool_use_summary",turnId:o,telemetrySource:"agent",ledgerSchemaVersion:5,toolCalls:[],availableToolNames:ql(s??a),enabledToolNames:ql(a),toolCallNames:[],blockedToolCalls:[]}),m=typeof c?.maxRounds=="number"&&Number.isFinite(c.maxRounds)?c.maxRounds:this.configuredMaxRounds,p=m===void 0?void 0:Math.round(m),h=typeof c?.maxToolCalls=="number"&&Number.isFinite(c.maxToolCalls)?c.maxToolCalls:void 0,y=_o(h);yield{type:"start",turnId:o,effectiveMaxRounds:yo(p,n),...y!==void 0?{effectiveMaxToolCalls:y}:{}};try{ne(this.hooks,"turn.submitted",{...l,prompt:n[n.length-1]?.content??void 0},this.log);let w=jo(n),b=[];i&&b.push({role:"system",content:i}),b.push(...w);let S=c?.model??"",$=c?.reasoning;c?.reasoning?.effort==="auto"&&($=void 0);let z={turnId:o,sessionId:t.sessionId,continuation:t.continuation,messages:b,availableTools:s,tools:a,deferredToolNames:t.deferredToolNames,loadedDeferredToolNames:t.loadedDeferredToolNames,refreshTools:t.refreshTools,drainPendingGuidance:t.drainPendingGuidance,drainPendingTaskNotifications:t.drainPendingTaskNotifications,sanitizeToolResultMedia:t.sanitizeToolResultMedia,model:S,apiKey:c?.apiKey??this.apiKey,temperature:c?.temperature,maxRounds:p,contextWindowTokens:c?.contextWindowTokens,maxOutputTokens:c?.maxOutputTokens,toolChoice:c?.toolChoice,hooks:this.hooks,maxTurns:c?.maxTurns,maxConcurrentTools:c?.maxConcurrentTools,streamRequired:c?.streamRequired,reasoning:$,promptCacheKey:c?.promptCacheKey,promptCacheRetention:c?.promptCacheRetention,serviceTier:c?.serviceTier,maxToolCalls:h,parallelToolCalls:c?.parallelToolCalls??!1,textVerbosity:c?.textVerbosity,runtimePorts:this.runtimePorts.toolLoop,signal:r};for await(let D of Dl(z,this.transport,this.toolInvoker,this.log))D.type==="tool_use_summary"&&(d=!0),D.type==="end"?ne(this.hooks,"turn.completed",{...l,...u?{prompt:u}:{},response:D.content},this.log):D.type==="error"&&ne(this.hooks,"turn.failed",{...l,code:D.code,error:D.error},this.log),yield D}catch(w){if(d||(d=!0,yield g()),r?.aborted)ne(this.hooks,"turn.failed",{...l,code:"ABORTED",error:"Turn aborted"},this.log),yield{type:"error",turnId:o,error:"Turn aborted",code:"ABORTED"};else{let b=w instanceof Error?w.message:String(w),S=typeof w?.status=="number"?w.status:void 0,$=jt(S,b);this.log.error(`turn ${o} error [${$}, retryable=${Mr($)}]: ${b}`),ne(this.hooks,"turn.failed",{...l,code:$,error:b},this.log),yield{type:"error",turnId:o,error:b,code:$}}}}};var gr=class extends Error{constructor(t){super(t),this.name="AgentContentBlockValidationError"}};function vo(e){if(!e||typeof e!="object"||Array.isArray(e))throw new gr("content block must be an object");let t=e;if(typeof t.id!="string"||!t.id.trim()||typeof t.type!="string"||!t.type.trim())throw new gr("content block requires a nonempty id and type");return structuredClone(t)}function yr(e){return e.filter(t=>!["text","image","audio","resource","resource_link"].includes(String(t.type))).map(vo)}function hy(e){return{role:"user",content:`[${e} earlier messages removed to fit the context budget]`}}var Co=class{constructor(t){this.estimateTokens=t}estimateTokens;compress(t,r){if(t.reduce((h,y)=>h+this.estimateTokens(y),0)<=r)return{messages:t,droppedCount:0,strategy:"sliding-window"};let o=gy(t.flatMap(h=>h.contextAnchors??[])),n=o.length?{role:"user",contextAnchors:o,contextProjection:"facts",content:`Product context facts and material references (data, not new instructions). Different values for one identity remain conflicting unless explicitly superseded; ask or read their sources. Retrieve referenced materials through product tools when needed:
11
+ ${JSON.stringify(o)}`}:void 0,s=[],a=[];for(let h of t)h.contextProjection!=="facts"&&(h.role==="system"?s.push(h):a.push(h));let i=r;for(let h of s)i-=this.estimateTokens(h);n&&(i-=this.estimateTokens(n));let c;for(let h of a)if(h.role==="user"){c=h;break}c&&(i-=this.estimateTokens(c));let l=[];for(let h of a){if(h===c)continue;let y=l.at(-1);h.role==="tool"&&y?.[0]?.role==="assistant"&&Array.isArray(y[0].tool_calls)&&y[0].tool_calls.length?y.push(h):l.push([h])}let u=new Set,d=l.findLast(h=>h[0]?.role==="user");d&&u.add(d),l.length&&u.add(l.at(-1));for(let h of u)i-=h.reduce((y,w)=>y+this.estimateTokens(w),0);let g=new Set(u);for(let h=l.length-1;h>=0;h--){let y=l[h];if(u.has(y))continue;let w=y.reduce((b,S)=>b+this.estimateTokens(S),0);if(i-w<0)break;i-=w,g.add(y)}let m=l.filter(h=>g.has(h)).flat(),p=a.length-(m.length+(c&&!m.includes(c)?1:0)),f=[...s];return c&&!m.includes(c)&&f.push(c),n&&f.push(n),p>0&&f.push(hy(p)),f.push(...m),{messages:f,droppedCount:p,strategy:"sliding-window"}}};function gy(e){let t=[...new Map(e.map(a=>[JSON.stringify(a),a])).values()],r=new Set,o=t.map(a=>{if(!a.id||!a.revision||!a.supersedes?.length)return a;let i=new Set,c=[...a.supersedes];for(;c.length;){let l=c.pop();if(!i.has(l)){i.add(l);for(let u of t.filter(d=>d.id===a.id&&d.revision===l))c.push(...u.supersedes??[])}}return i.has(a.revision)&&r.add(a.id),{...a,supersedes:[...i]}}),n=o.filter(a=>!a.id||!a.revision||r.has(a.id)||!o.some(i=>i.id===a.id&&i.revision!==a.revision&&i.supersedes?.includes(a.revision))),s=new Map;for(let a of n){let{supersedes:i,references:c,...l}=a,u=JSON.stringify(l),d=s.get(u);s.set(u,{...a,...a.supersedes||d?.supersedes?{supersedes:[...new Set([...d?.supersedes??[],...a.supersedes??[]])]}:{},...a.references||d?.references?{references:[...new Set([...d?.references??[],...a.references??[]])]}:{}})}return[...s.values()]}function _r(e,t,r){t.signal?.throwIfAborted();let n=new Co(s=>r?r(s,t.model):Math.ceil(JSON.stringify(s).length/4)).compress(structuredClone(e),t.inputBudgetTokens);return{...n,messages:n.messages}}function yy(e,t){let r=e.executionTimeoutMsByTool?.get(t)??e.maxExecutionMs;return typeof r=="number"&&Number.isFinite(r)&&r>0?Math.round(r):void 0}function _y(e,t){let r=[e,t?AbortSignal.timeout(t):void 0].filter(o=>o!==void 0);if(r.length!==0)return r.length===1?r[0]:AbortSignal.any(r)}async function Ty(e,t){let{call:r}=e,o=r.function.name,n=Date.now();try{let s=await t.toolInvoker.invoke(t.turnId,o,r.function.arguments,_y(t.signal,yy(t,o)),{callId:r.id,sessionId:t.sessionId,round:t.round??1}),a=s.error??(s.mcpIsError?"Tool execution failed":void 0),i=a===void 0;return{callId:r.id,toolName:o,ok:i,...a?{error:a}:{},durationMs:Date.now()-n,...s.details?{details:s.details}:{},message:Oe(r.id,{ok:i,payload:s.result,...a?{error:a}:{},toolReferences:s.toolReferences,imageUrls:s.imageUrls,contentBlocks:s.contentBlocks,structuredContent:s.structuredContent,mcpMeta:s.mcpMeta,mcpIsError:s.mcpIsError})}}catch(s){let a=s instanceof Error?s.message:String(s);return{callId:r.id,toolName:o,ok:!1,error:a,durationMs:Date.now()-n,message:Oe(r.id,{ok:!1,error:a})}}}var Eo=class{constructor(t){this.config=t}config;calls=[];addTool(t){this.calls.push({call:t,index:this.calls.length})}async*getRemainingResults(){let t=Math.max(1,Math.min(this.config.maxConcurrentTools??1,Math.max(1,this.calls.length))),r=[],o=0,n=t,s,a=async()=>{try{for(;o<this.calls.length;){if(this.config.signal?.aborted)return;let c=this.calls[o++];if(!c)return;r.push(await Ty(c,this.config)),s?.()}}finally{n--,s?.()}},i=Array.from({length:t},()=>a());try{for(;n>0||r.length>0;){let c=r.shift();c?yield c:await new Promise(l=>{s=l})}}finally{await Promise.all(i)}}};function vy(e){return{saveCheckpoint:e.onCheckpoint,reviewCompletion:e.reviewCompletion,enforceToolResultBudget:async t=>{let r=0,o=[];for(let n of t){if(n.role!=="tool"||!e.projectToolResult){o.push(n);continue}let s=await e.projectToolResult(structuredClone(n));if(s===void 0||s===n.content){o.push(n);continue}r+=1,o.push({...n,content:s})}return{messages:o,newlyReplacedCount:r}},compressMessages:(t,r)=>{if(e.prepareContext)return e.prepareContext(structuredClone(t),{model:r.model,inputBudgetTokens:r.budget,sessionId:r.sessionId,turnId:r.turnId,signal:r.signal});let o=_r(t,{model:r.model,inputBudgetTokens:r.budget,sessionId:r.sessionId,turnId:r.turnId,signal:r.signal},e.countMessageTokens);return{messages:o.messages,droppedCount:o.droppedCount,strategy:o.strategy}},createStreamingToolExecutor:t=>new Eo(t)}}function Ul(e={}){return{toolLoop:vy(e)}}var Cy={info:()=>{},warn:()=>{},error:()=>{},debug:()=>{}};function Zs(e){return{async*run(t,r){let o=[],n={async invoke(a,i,c,l,u){let d=await e.toolInvoker.invoke(a,i,c,l,u),g=yr(d.contentBlocks??[]),m=new Set(o.map(p=>p.id));for(let p of g)m.has(p.id)||o.push(p),m.add(p.id);return d}},s=new To({llmTransport:e.llmTransport,toolInvoker:n,apiKey:e.apiKey??"",log:e.logger??Cy,maxRounds:e.maxRounds,runtimePorts:Ul(e.runtime)});for await(let a of s.run(t,r))a.type==="end"?yield{...a,...o.length?{contentBlocks:o}:{}}:yield a}}}var ea="0.6.1";function Ey(){return{schemaVersion:1,packageName:"@xiaozhiclaw/qlogicagent-core",packageVersion:ea,builtInTools:[]}}import{createHash as wy}from"node:crypto";import{createHash as Bl}from"node:crypto";function Vl(e,t){if(!e||typeof e!="object"||Array.isArray(e)||e.instructions!==void 0&&typeof e.instructions!="string"||new Set(t.map(r=>r.function.name)).size!==t.length)throw Error("CLOUD_ASSISTANT_CONTEXT_INVALID")}function Tr(e){if(!e||typeof e.id!="string"||!e.id.trim()||typeof e.description!="string"||!e.description.trim()||!Array.isArray(e.criteria)||!e.criteria.length||e.criteria.some(t=>!t||typeof t.id!="string"||!t.id.trim()||typeof t.description!="string"||!t.description.trim())||new Set(e.criteria.map(t=>t.id)).size!==e.criteria.length)throw Error("CLOUD_GOAL_INVALID")}function ta(e,t){Tr(e);let r=e.criteria.map(o=>o.id);if(!t||!Array.isArray(t.criteria)||t.criteria.some(o=>!o)||t.criteria.length!==r.length||new Set(t.criteria.map(o=>o.id)).size!==r.length||t.criteria.some(o=>!r.includes(o.id)||!["satisfied","missing","failed"].includes(o.status)||!Array.isArray(o.references)||o.references.some(n=>typeof n!="string"||!n.trim())||o.status==="satisfied"&&!o.references.length))throw Error("CLOUD_GOAL_EVIDENCE_INVALID");return{status:t.criteria.every(o=>o.status==="satisfied")?"satisfied":"incomplete",criteria:structuredClone(t.criteria)}}function ra(e,t){let r=structuredClone(e);if(r.phase!=="tools_pending")throw Error("CLOUD_RECONCILIATION_REQUIRED");let o=r.messages.findLastIndex(a=>!!a.tool_calls?.length),n=r.messages[o]?.tool_calls;if(!n||o<0||r.messages.slice(o+1).some(a=>a.role!=="tool"))throw Error("CLOUD_RECONCILIATION_REQUIRED");let s=new Map(t.map(a=>[a.invocation.callId,a]));if(s.size!==t.length||s.size!==n.length)throw Error("CLOUD_RECONCILIATION_REQUIRED");r.messages=r.messages.slice(0,o+1);for(let a of n){let i=s.get(a.id),c=i?.invocation;if(!i||!c||te(c.context)!==te(r.context)||c.turnId!==r.turnId||c.sessionId!==r.sessionId||c.round!==r.completedRounds+1||c.name!==a.function.name||c.arguments!==a.function.arguments||typeof i.result.result!="string")throw Error("CLOUD_CHECKPOINT_MISMATCH");let l=i.result,u=l.error??(l.mcpIsError?"Tool execution failed":void 0);r.messages.push(Oe(a.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 yr(l.contentBlocks??[]))r.contentBlocks.some(g=>g.id===d.id)||r.contentBlocks.push(d)}return r.completedRounds++,r.phase="model_ready",r}function te(e){return JSON.stringify(e,(t,r)=>r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.keys(r).sort().map(o=>[o,r[o]])):r)}function by(e){let t=new Set;for(let r of e){for(let o of r.tool_calls??[])t.add(o.id);r.role==="tool"&&r.tool_call_id&&t.delete(r.tool_call_id)}return t.size>0}function oa(e){return{async*run(t,r){let o=structuredClone(t);o.config={...o.config,maxRounds:o.config?.maxRounds??e.maxRounds,maxConcurrentTools:o.config?.maxConcurrentTools??1};let n=Object.freeze(o.context),s=te({messages:o.messages,tools:o.tools,availableTools:o.availableTools,config:o.config,systemPrompt:o.systemPrompt,maxRounds:e.maxRounds,runtime:e.runtime,assistantContext:o.assistantContext,assistantContextProjection:o.assistantContext!==void 0?"opaque-v1":void 0,goal:o.goal,executionBudget:o.executionBudget}),a=E=>({type:"error",turnId:o.turnId,code:E,error:E});try{o.assistantContext!==void 0&&Vl(o.assistantContext,o.tools),o.goal&&Tr(o.goal)}catch(E){yield a(E instanceof Error?E.message:"CLOUD_REQUEST_INVALID");return}let i=o.executionBudget,c=o.resume?.phase==="model_ready"&&o.resume.modelOperations?.some(E=>E.round===o.resume.completedRounds+1&&E.status==="completed"&&E.response?.some(x=>x.type==="done")&&!E.response.some(x=>x.type==="tool_call_delta"));if(i&&i.monetary!==void 0&&(!i.monetary||typeof i.monetary!="object"||typeof i.monetary.id!="string"||!i.monetary.id.trim()||typeof i.monetary.currency!="string"||!i.monetary.currency.trim()||typeof i.monetary.maxAmount!="string"||!/^(?:0|[1-9][0-9]*)(?:\.[0-9]+)?$/.test(i.monetary.maxAmount)||!/[1-9]/.test(i.monetary.maxAmount))){yield{type:"error",turnId:o.turnId,error:"CLOUD_MONETARY_BUDGET_INVALID",code:"CLOUD_MONETARY_BUDGET_INVALID"};return}if(i?.monetary&&e.llmTransport.supportsTaskMonetaryBudget!==!0){yield{type:"error",turnId:o.turnId,error:"CLOUD_MONETARY_BUDGET_UNSUPPORTED",code:"CLOUD_MONETARY_BUDGET_UNSUPPORTED"};return}if(i&&(i.maxModelRequests!==void 0&&(!Number.isSafeInteger(i.maxModelRequests)||i.maxModelRequests<1)||i.deadlineAtMs!==void 0&&(!Number.isSafeInteger(i.deadlineAtMs)||i.deadlineAtMs<1))){yield a("CLOUD_BUDGET_INVALID");return}if(i?.deadlineAtMs!==void 0&&i.deadlineAtMs<=Date.now()&&!c){yield a("CLOUD_DEADLINE_EXCEEDED");return}if(!n||Object.values(n).some(E=>typeof E!="string"||!E.trim())||![n.applicationId,n.tenantId,n.actorId,n.scopeId,n.definitionVersion,o.turnId,o.sessionId].every(E=>typeof E=="string"&&E.trim())){yield a("CLOUD_CONTEXT_INVALID");return}if(o.config.maxRounds!==void 0&&(!Number.isSafeInteger(o.config.maxRounds)||o.config.maxRounds<0)||!Number.isSafeInteger(o.config.maxConcurrentTools)||o.config.maxConcurrentTools<1||o.config.maxToolCalls!==void 0&&(!Number.isSafeInteger(o.config.maxToolCalls)||o.config.maxToolCalls<0)){yield a("CLOUD_BUDGET_INVALID");return}let l=o.resume;if(l&&(l.schemaVersion!==1||te(l.context)!==te(n)||l.turnId!==o.turnId||l.sessionId!==o.sessionId||l.binding!==s||!Number.isSafeInteger(l.completedRounds)||l.completedRounds<0||!Array.isArray(l.messages)||!Array.isArray(l.contentBlocks))){yield a("CLOUD_CHECKPOINT_MISMATCH");return}if(l&&(l.phase!=="model_ready"||by(l.messages))){yield a("CLOUD_RECONCILIATION_REQUIRED");return}let u=o.config?.maxRounds??e.maxRounds;if(l&&(u&&u>0&&l.completedRounds>=u||o.config?.maxTurns&&o.config.maxTurns>0&&l.completedRounds>=o.config.maxTurns)){yield a("CLOUD_BUDGET_EXHAUSTED");return}let d=new AbortController,g=r?AbortSignal.any([r,d.signal]):d.signal,m,p,f=E=>{throw m=E,d.abort(),Error(E)},h,y=()=>{if(i?.deadlineAtMs===void 0)return;let E=i.deadlineAtMs-Date.now();if(E<=0){m="CLOUD_DEADLINE_EXCEEDED",d.abort();return}h=setTimeout(y,Math.min(E,2147483647))},w=async E=>{g.throwIfAborted(),E.type==="tool"&&i?.deadlineAtMs!==void 0&&i.deadlineAtMs<=Date.now()&&f("CLOUD_DEADLINE_EXCEEDED");try{await e.authorize(n,E)}catch{f("CLOUD_AUTHORIZATION_FAILED")}g.throwIfAborted()},b=new Map,S=structuredClone(l?.modelOperations??[]),$=l?structuredClone(l):void 0,z=(l?.completedRounds??0)+1,D=!1,O=l&&S.some(E=>E.round===z&&E.status==="completed"&&E.response?.length)?z:void 0,P=async E=>{let x=structuredClone(S),X=x.findIndex(re=>re.requestId===E.requestId);X<0?x.push(structuredClone(E)):x[X]=structuredClone(E);try{if(e.onModelOperation)await e.onModelOperation(structuredClone(E));else if($&&e.checkpoints){let re=structuredClone({...$,modelOperations:x});await e.checkpoints.save(re),$=re}}catch{return f("CLOUD_MODEL_RECEIPT_FAILED")}S.splice(0,S.length,...x)};try{for(let E of l?.contentBlocks??[])b.set(E.id,vo(E))}catch{yield a("CLOUD_CHECKPOINT_MISMATCH");return}let H=Zs({...e,llmTransport:{async*stream(E,x,X){await w({type:"model"});let re=Bl("sha256").update(te(i?.monetary?{...E,taskBudget:i.monetary}:E)).digest("hex"),Ce=S.findLast(v=>v.round===z&&v.requestDigest===re&&v.status==="completed"&&v.response?.length);if(Ce?.response){for(let v of structuredClone(Ce.response))yield v;return}if(S.some(v=>v.round===z&&v.status==="completed"))return f("CLOUD_MODEL_REPLAY_MISMATCH");if(i?.deadlineAtMs!==void 0&&i.deadlineAtMs<=Date.now())return f("CLOUD_DEADLINE_EXCEEDED");if(c&&h===void 0&&y(),S.some(v=>["prepared","responding","unknown"].includes(v.status)))return f("MODEL_RECONCILIATION_REQUIRED");if(i?.maxModelRequests!==void 0&&S.length>=i.maxModelRequests)return f("CLOUD_BUDGET_EXHAUSTED");let Z=Math.max(0,...S.filter(v=>v.round===z).map(v=>v.attempt))+1,ie=Bl("sha256").update(te([n,o.turnId,z,Z,re])).digest("hex"),V={requestId:ie,requestDigest:re,round:z,attempt:Z,model:E.model,status:"prepared",startedAtMs:Date.now()},se={...E,execution:{requestId:ie,requestDigest:re,round:z,attempt:Z,...i?.monetary?{taskBudget:structuredClone(i.monetary)}:{}}};if(e.llmTransport.bindModelRequest){let v=await e.llmTransport.bindModelRequest(structuredClone(se),x);if(typeof v!="string"||!v.trim())return f("CLOUD_MODEL_ORIGIN_INVALID");V.originReference=v,se.execution.originReference=v}if(await P(V),e.reserveModelBudget){try{let v=await e.reserveModelBudget(n,structuredClone(V),structuredClone(se),X);if(typeof v?.reference!="string"||!v.reference.trim())throw Error("invalid budget reservation");V={...V,budgetReference:v.reference}}catch{return await P({...V,status:"rejected",finishedAtMs:Date.now()}),f("CLOUD_MODEL_BUDGET_REJECTED")}await P(V)}X?.throwIfAborted();let ae=!1,vr=!1,At=[];try{for await(let v of e.llmTransport.stream(se,x,X))At.push(structuredClone(v)),v.type==="response_id"&&(V={...V,responseId:v.id,status:"responding"},await P(V)),v.type==="usage"&&(V={...V,usage:{inputTokens:v.promptTokens,outputTokens:v.completionTokens,records:v.records}}),v.type==="done"&&!vr&&(ae=!0,V={...V,status:"completed",finishReason:v.finishReason}),v.type==="error"&&(vr=!0,ae=!1,V={...V,status:v.outcome==="rejected"?"rejected":"unknown"}),yield v}catch(v){throw V={...V,status:v?.outcome==="rejected"?"rejected":"unknown"},v}finally{!ae&&V.status!=="rejected"&&(V={...V,status:"unknown"}),V.status==="completed"&&(V={...V,response:At}),V={...V,finishedAtMs:Date.now()},await P(V)}}},runtime:{...e.runtime,projectToolResult:async E=>z===O?void 0:e.runtime?.projectToolResult?.(E),prepareContext:async(E,x)=>z===O&&l?{messages:structuredClone(l.messages),droppedCount:0,strategy:"original-request-replay"}:e.runtime?.prepareContext?e.runtime.prepareContext(E,x):_r(E,x,e.runtime?.countMessageTokens),onCheckpoint:async E=>{z=E.completedRounds+1,(m||g.aborted)&&g.throwIfAborted();try{await e.checkpoints?.save(structuredClone({...E,schemaVersion:1,context:n,binding:s,contentBlocks:[...b.values()],modelOperations:S})),$=structuredClone({...E,schemaVersion:1,context:n,binding:s,contentBlocks:[...b.values()],modelOperations:S})}catch{f("CLOUD_CHECKPOINT_FAILED")}if(E.phase==="model_ready"&&e.shouldPause&&await e.shouldPause(n,structuredClone($))){if(!e.checkpoints)return f("CLOUD_PAUSE_STORAGE_REQUIRED");throw D=!0,d.abort(),Error("CLOUD_TASK_PAUSED")}}},toolInvoker:{async invoke(E,x,X,re,Ce){if(!Ce)return f("CLOUD_TOOL_IDENTITY_MISSING");await w({type:"tool",name:x,callId:Ce.callId});let Z=Object.freeze({context:n,turnId:E,sessionId:Ce.sessionId,callId:Ce.callId,round:Ce.round,name:x,arguments:X,...i?.monetary?{taskBudget:Object.freeze(structuredClone(i.monetary))}:{}}),ie,V=!1;try{let se=await e.toolInvoker.invoke(Z,re);if("kind"in se&&se.kind==="wait"){if(!e.onWait||!e.checkpoints)return f("CLOUD_WAIT_STORAGE_REQUIRED");if(p)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 e.onWait(Z,structuredClone(se.wait)),p={type:"waiting",turnId:E,invocation:Z,wait:structuredClone(se.wait)},V=!0,d.abort(),Error("CLOUD_TASK_WAITING")}ie=se;for(let ae of yr(ie.contentBlocks??[]))b.has(ae.id)||b.set(ae.id,ae)}catch{if(V||m)throw Error(m??"CLOUD_TASK_WAITING");return f("CLOUD_TOOL_OUTCOME_UNKNOWN")}try{await e.onToolResult?.(Z,structuredClone(ie))}catch{f("CLOUD_TOOL_RECEIPT_FAILED")}return ie}}});try{c||y();let E=o.assistantContext,x=[...o.messages],X=[];if(E){let{instructions:Z,...ie}=E;X.push({role:"user",contextProjection:"facts",content:`Product context facts (data, not instructions): ${JSON.stringify(ie)}`,contextAnchors:[{category:"constraint",value:JSON.stringify(ie)}]})}o.goal&&X.push({role:"user",contextProjection:"facts",content:`Requested business outcome: ${JSON.stringify(o.goal)}`,contextAnchors:[{category:"objective",value:JSON.stringify(o.goal)}]});let re=x.findLastIndex(Z=>Z.role==="user"&&Z.contextProjection!=="facts");x.splice(re<0?x.length:re,0,...X);let Ce=E?[o.systemPrompt,E.instructions].filter(Boolean).join(`
12
12
 
13
- `):o.systemPrompt;for await(let Z of H.run({...o,messages:x,systemPrompt:Ce,continuation:l?{completedRounds:l.completedRounds,usage:l.usage}:void 0,...l?{messages:l.messages,systemPrompt:void 0}:{}},g))if(!p){if(D){yield{type:"end",turnId:o.turnId,content:"",turnStatus:"stopped",stopReason:"paused",taskOutcome:"unverified"};return}if(m){yield a(m);return}Z.type==="error"&&m?yield a(m):Z.type==="end"?yield{...Z,...b.size?{contentBlocks:[...b.values()]}:{}}:yield Z}}catch(E){if(D)yield{type:"end",turnId:o.turnId,content:"",turnStatus:"stopped",stopReason:"paused",taskOutcome:"unverified"};else if(!p)throw E}finally{h!==void 0&&clearTimeout(h),d.abort()}p&&(yield m?a(m):p)}}}function wy(e){let t=async(r,o,n)=>{n?.throwIfAborted();let s=structuredClone(o),a=await r(structuredClone(s),n);if(!a||!["result","pending","unknown"].includes(a.kind))throw Error("CLOUD_BUSINESS_TOOL_OBSERVATION_INVALID");if(a.kind==="result"){if(!a.result||typeof a.result.result!="string")throw Error("CLOUD_BUSINESS_TOOL_OBSERVATION_INVALID")}else if(typeof a.reference!="string"||!a.reference.trim())throw Error("CLOUD_BUSINESS_TOOL_OBSERVATION_INVALID");return await e.observe?.(structuredClone(s),structuredClone(a)),a.kind==="result"?a.result:{kind:"wait",wait:{id:"external:"+by("sha256").update(te(s)).digest("hex"),kind:"external",reference:a.reference}}};return{invoke:(r,o)=>t(e.port.submit.bind(e.port),r,o),resolve:(r,o)=>t(e.port.query.bind(e.port),r,o),cancel:(r,o)=>{if(!e.port.cancel)throw Error("CLOUD_BUSINESS_TOOL_CANCEL_UNSUPPORTED");return t(e.port.cancel.bind(e.port),r,o)}}}var $y=new Set(["completed","stopped","failed","cancelled"]);function oa(e,t){return["applicationId","tenantId","actorId","scopeId","definitionVersion"].every(r=>e[r]===t[r])}function Vl(e,t){return JSON.stringify([e.applicationId,e.tenantId,e.actorId,e.scopeId,t])}function zl(e){return JSON.stringify([e.invocation.round,e.invocation.callId])}function Gl(e,t,r){let o=e.receipts.find(n=>n.wait?.id===t);if(!o)return!1;if(te(o.result)!==te(r))throw Error("CLOUD_WAIT_RESULT_CONFLICT");if(e.wait?.descriptor.id===t&&te(e.wait.invocation)!==te(o.invocation))throw Error("CLOUD_WAIT_ID_CONFLICT");return!0}function Fl(e,t){if(!e.checkpoint)throw Error("CLOUD_RECONCILIATION_REQUIRED");if(e.checkpoint.phase==="model_ready")return e.checkpoint;let r=e.checkpoint.completedRounds+1;return ta(e.checkpoint,t.filter(o=>o.invocation.round===r))}function Ry(e){let t=e.heartbeatMs??5e3;if(!Number.isSafeInteger(t)||t<10)throw Error("CLOUD_HEARTBEAT_INVALID");let r=e.deltaBatch;if(r&&(!Number.isSafeInteger(r.maxCharacters)||r.maxCharacters<1||!Number.isSafeInteger(r.maxDelayMs)||r.maxDelayMs<1))throw Error("CLOUD_EVENT_BATCH_INVALID");let o=new Map,n=async(s,a)=>{let i=await e.store.load(s,a);if(i.id!==a||!oa(s,i.request.context))throw Error("CLOUD_TASK_NOT_FOUND");return structuredClone(i)};return{async create(s,a){let i=structuredClone(a);if(await e.authorize(i.context,"create"),!s.trim()||i.resume)throw Error("CLOUD_TASK_REQUEST_INVALID");if(i.goal&&(Tr(i.goal),!e.verifyGoal))throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");let c=await e.store.create({id:s,request:i,status:"queued",revision:0,cursor:0,receipts:[]});if(c.id!==s||!oa(c.request.context,i.context)||te(c.request)!==te(i))throw Error("CLOUD_TASK_REQUEST_CONFLICT");return c},async get(s,a){return await e.authorize(s,"read"),n(s,a)},async events(s,a,i=0,c=100){if(await e.authorize(s,"read"),!Number.isSafeInteger(i)||i<0||!Number.isSafeInteger(c)||c<1||c>1e3)throw Error("CLOUD_EVENT_CURSOR_INVALID");let l=await n(s,a);if(i>l.cursor)throw Error("CLOUD_EVENT_CURSOR_INVALID");return e.store.events(s,a,i,c)},async cancel(s,a){await e.authorize(s,"cancel"),await n(s,a);let i=await e.store.cancel(s,a);return o.get(Vl(s,a))?.abort(),i},async appendInput(s,a,i){await e.authorize(s,"append_input");let c=structuredClone(i),l=await n(s,a);if(!c.id?.trim()||!Array.isArray(c.messages)||!c.messages.length||c.messages.some(m=>m.role!=="user"||typeof m.content!="string"||!m.content.trim()||m.tool_calls||m.tool_call_id))throw Error("CLOUD_TASK_INPUT_INVALID");let u=l.inputs?.find(m=>m.id===c.id);if(u){if(te(u)!==te(c))throw Error("CLOUD_TASK_INPUT_CONFLICT");return l}if(!["completed","stopped"].includes(l.status)||l.cancellationRequested||!l.checkpoint||l.checkpoint.phase!=="model_ready"||(l.modelOperations??[]).some(m=>["prepared","responding","unknown"].includes(m.status)))throw Error("CLOUD_TASK_NOT_CONTINUABLE");let d=structuredClone(l.checkpoint),g=(l.modelOperations??[]).findLast(m=>m.status==="completed"&&m.round>d.completedRounds);if(g){let m=g.response;if(!m?.some(y=>y.type==="done")||m.some(y=>y.type==="tool_call_delta"))throw Error("CLOUD_TASK_NOT_CONTINUABLE");let p=m.flatMap(y=>y.type==="delta"?[y.text]:[]).join(""),f=m.flatMap(y=>y.type==="reasoning_delta"?[y.text]:[]).join(""),h=m.flatMap(y=>y.type==="reasoning_block_complete"?[{thinking:y.thinking,signature:y.signature}]:[]);d.messages.push({role:"assistant",content:p,...f?{reasoning_content:f}:{},...h.length?{thinkingBlocks:h}:{}}),d.completedRounds=g.round}return e.store.update(s,a,l.revision,{...l,status:"queued",errorCode:void 0,outcome:void 0,inputs:[...l.inputs??[],c],checkpoint:{...d,messages:[...d.messages,...c.messages]}},{type:"task_status",status:"queued"})},async resume(s,a){await e.authorize(s,"resume");let i=await n(s,a);if(i.status==="queued")return i;if(i.status!=="stopped"||i.errorCode!=="CLOUD_TASK_PAUSED"||i.cancellationRequested||!i.checkpoint||i.checkpoint.phase!=="model_ready"||(i.modelOperations??[]).some(c=>["prepared","responding","unknown"].includes(c.status)))throw Error("CLOUD_TASK_NOT_PAUSED");return e.store.update(s,a,i.revision,{...i,status:"queued",errorCode:void 0},{type:"task_status",status:"queued"})},async completeWait(s,a,i,c){await e.authorize(s,"complete_wait");let l=structuredClone(c),u=await n(s,a);if(Gl(u,i,l))return u;if(!u.status.startsWith("waiting_")||!u.wait||u.wait.descriptor.id!==i)throw Error("CLOUD_TASK_NOT_WAITING");await e.authorizeCompletion(structuredClone(u),i,structuredClone(l));let d=[...u.receipts,{invocation:u.wait.invocation,result:l,wait:structuredClone(u.wait.descriptor)}],g=Fl(u,d);try{return await e.store.update(s,a,u.revision,{...u,status:"queued",checkpoint:g,receipts:d,wait:void 0},{type:"task_status",status:"queued"})}catch(m){let p=await n(s,a);if(Gl(p,i,l))return p;throw m}},async recover(s,a,i=[]){await e.authorize(s,"recover"),await n(s,a);let c=await e.store.interrupt(s,a);if(c.status!=="reconciliation_required"||!e.authorizeRecovery)throw Error("CLOUD_RECONCILIATION_REQUIRED");let l=await e.authorizeRecovery(structuredClone(c),structuredClone(i)),u=structuredClone(c.modelOperations??[]);for(let p of u){if(!["prepared","responding","unknown"].includes(p.status))continue;let f=l?.find(h=>h.requestId===p.requestId);if(!f||f.requestDigest!==p.requestDigest||typeof f.evidenceReference!="string"||!f.evidenceReference.trim())throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");if(f.outcome==="rejected"&&f.safeToRetry===!0)p.status="rejected";else if(f.outcome==="completed"&&typeof f.responseId=="string"&&f.responseId.trim()&&Array.isArray(f.response)&&f.response.length&&f.response.some(h=>h?.type==="done"&&typeof h.finishReason=="string"&&h.finishReason)&&!f.response.some(h=>!h||h.type==="error"))p.status="completed",p.responseId=f.responseId,p.response=structuredClone(f.response),p.usage=structuredClone(f.usage),p.finishReason=f.response.findLast(h=>h.type==="done")?.finishReason;else throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");p.reconciliationReference=f.evidenceReference}let d=[...c.receipts];for(let p of i){let f=d.find(h=>zl(h)===zl(p));if(f&&te(f)!==te(p))throw Error("CLOUD_RECEIPT_CONFLICT");f||d.push(structuredClone(p))}let g=Fl(c,d),m=c.cancellationRequested?"cancelled":"queued";return e.store.update(s,a,c.revision,{...c,checkpoint:g,receipts:d,modelOperations:u,status:m,errorCode:void 0},{type:"task_status",status:m})},async execute(s,a,i){await e.authorize(s,"execute"),await n(s,a);let c=await e.store.claim(s,a);if(!c)return;let l=structuredClone(c.task),u=new AbortController,d=i?AbortSignal.any([u.signal,i]):u.signal,g=Vl(s,a);o.set(g,u);let m=!1,p=Promise.resolve(),f=(D,O)=>{let P=p.then(async()=>{if(m)throw Error("CLOUD_TASK_LEASE_LOST");l=await e.store.update(s,a,l.revision,D(l),O,c.leaseId)});return p=P,P},h,y,w,b=async()=>{w!==void 0&&(clearTimeout(w),w=void 0);let D=y;y=void 0,D&&await f(O=>O,D)},S=()=>h??(h=(async()=>{try{!m&&!await e.store.renew(s,a,c.leaseId)&&(m=!0,u.abort())}catch{m=!0,u.abort()}})().finally(()=>{h=void 0})),$=setInterval(()=>{S()},t),z=!1;try{if(!["queued"].includes(l.status)||!oa(s,l.request.context))throw Error("CLOUD_TASK_CLAIM_INVALID");await f(O=>({...O,status:"running"}),{type:"task_status",status:"running"});let D=ra({...e.agent,runtime:{...e.agent.runtime,reviewCompletion:async(O,P)=>{let H=e.resolveGoal?await e.resolveGoal(structuredClone(l)):l.request.goal;if(H&&e.goalFeedback){if(await e.authorize(s,"execute"),!e.verifyGoal)throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");let E;try{E=ea(H,await e.verifyGoal(structuredClone(l)))}catch{throw z=!0,Error("CLOUD_GOAL_VERIFICATION_FAILED")}if(await f(x=>({...x,outcome:E}),{type:"goal_verification",outcome:E}),E.status==="incomplete")return e.goalFeedback(structuredClone(l),E)}return e.agent.runtime?.reviewCompletion?.(O,P)??[]}},onModelOperation:O=>{let{response:P,...H}=O;return b().then(()=>f(E=>{let x=[...E.modelOperations??[]],X=x.findIndex(re=>re.requestId===O.requestId);return X<0?x.push(O):x[X]=O,{...E,modelOperations:x}},{type:"model_operation",operation:H}))},authorize:async(O,P)=>{if(await S(),m)throw Error("CLOUD_TASK_LEASE_LOST");await e.authorize(s,"execute"),await e.agent.authorize(O,P)},checkpoints:{save:O=>f(P=>({...P,checkpoint:O}),{type:"checkpoint",phase:O.phase})},onToolResult:(O,P)=>f(H=>({...H,receipts:[...H.receipts,{invocation:O,result:P}]}),{type:"receipt",callId:O.callId,round:O.round,name:O.name}),onWait:(O,P)=>f(H=>({...H,wait:{invocation:O,descriptor:P}}),{type:"receipt",callId:O.callId,round:O.round,name:O.name})});for await(let O of D.run({...l.request,resume:l.checkpoint?{...l.checkpoint,modelOperations:l.modelOperations}:void 0},d)){if(m||d.aborted)break;if(r&&O.type==="delta"){y=y?{...y,text:y.text+O.text}:O,y.text.length>=r.maxCharacters?await b():w===void 0&&(w=setTimeout(()=>{b().catch(()=>u.abort())},Math.min(r.maxDelayMs,2147483647)));continue}await b();let P=O.type==="error"&&z?{...O,error:"CLOUD_GOAL_VERIFICATION_FAILED",code:"CLOUD_GOAL_VERIFICATION_FAILED"}:O.type==="error"?{...O,error:O.code??"CLOUD_AGENT_FAILED"}:O,H,E=P.type==="end"?e.resolveGoal?await e.resolveGoal(structuredClone(l)):l.request.goal:void 0;if(P.type==="end"&&P.turnStatus!=="stopped"&&E)try{if(!e.verifyGoal)throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");await e.authorize(s,"execute"),H=ea(E,await e.verifyGoal(structuredClone(l)))}catch{P={type:"error",turnId:l.request.turnId,error:"CLOUD_GOAL_VERIFICATION_FAILED",code:"CLOUD_GOAL_VERIFICATION_FAILED"}}let x=H?.status==="incomplete"?"stopped":P.type==="waiting"?`waiting_${P.wait.kind}`:P.type==="end"?P.turnStatus==="stopped"?"stopped":"completed":P.type==="error"?["CLOUD_TOOL_OUTCOME_UNKNOWN","CLOUD_MODEL_RECEIPT_FAILED","CLOUD_GOAL_VERIFICATION_FAILED","CLOUD_DEADLINE_EXCEEDED","MODEL_RECONCILIATION_REQUIRED","CLOUD_MODEL_REPLAY_MISMATCH","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(P.code??"")?"reconciliation_required":"failed":l.status;if(await f(X=>({...X,status:x,...H?{outcome:H}:{},...P.type==="error"?{errorCode:P.code??"CLOUD_AGENT_FAILED"}:{},...P.type==="end"&&P.stopReason==="paused"?{errorCode:"CLOUD_TASK_PAUSED"}:{}}),P),$y.has(x)||x==="reconciliation_required"||x.startsWith("waiting_"))break}await b(),await p,!m&&l.status==="running"&&await f(O=>({...O,status:"reconciliation_required",errorCode:"CLOUD_WORKER_INTERRUPTED"}),{type:"task_status",status:"reconciliation_required"})}catch{if(u.abort(),await S(),!m)throw Error("CLOUD_TASK_PERSISTENCE_FAILED")}finally{w!==void 0&&clearTimeout(w),clearInterval($),u.abort(),o.get(g)===u&&o.delete(g),await e.store.release(s,a,c.leaseId)}}}}export{gr as AgentContentBlockValidationError,te as canonicalCloudValue,ta as completeCloudToolCheckpoint,Cy as corePackageVersion,wy as createBusinessToolAdapter,ra as createCloudAgent,Ry as createCloudTaskRuntime,Zs as createEmbeddedAgent,vo as parseAgentContentBlock,_r as prepareSlidingWindowContext};
13
+ `):o.systemPrompt;for await(let Z of H.run({...o,messages:x,systemPrompt:Ce,continuation:l?{completedRounds:l.completedRounds,usage:l.usage}:void 0,...l?{messages:l.messages,systemPrompt:void 0}:{}},g))if(!p){if(D){yield{type:"end",turnId:o.turnId,content:"",turnStatus:"stopped",stopReason:"paused",taskOutcome:"unverified"};return}if(m){yield a(m);return}Z.type==="error"&&m?yield a(m):Z.type==="end"?yield{...Z,...b.size?{contentBlocks:[...b.values()]}:{}}:yield Z}}catch(E){if(D)yield{type:"end",turnId:o.turnId,content:"",turnStatus:"stopped",stopReason:"paused",taskOutcome:"unverified"};else if(!p)throw E}finally{h!==void 0&&clearTimeout(h),d.abort()}p&&(yield m?a(m):p)}}}function $y(e){let t=async(r,o,n)=>{n?.throwIfAborted();let s=structuredClone(o),a=await r(structuredClone(s),n);if(!a||!["result","pending","unknown"].includes(a.kind))throw Error("CLOUD_BUSINESS_TOOL_OBSERVATION_INVALID");if(a.kind==="result"){if(!a.result||typeof a.result.result!="string")throw Error("CLOUD_BUSINESS_TOOL_OBSERVATION_INVALID")}else if(typeof a.reference!="string"||!a.reference.trim())throw Error("CLOUD_BUSINESS_TOOL_OBSERVATION_INVALID");return await e.observe?.(structuredClone(s),structuredClone(a)),a.kind==="result"?a.result:{kind:"wait",wait:{id:"external:"+wy("sha256").update(te(s)).digest("hex"),kind:"external",reference:a.reference}}};return{invoke:(r,o)=>t(e.port.submit.bind(e.port),r,o),resolve:(r,o)=>t(e.port.query.bind(e.port),r,o),cancel:(r,o)=>{if(!e.port.cancel)throw Error("CLOUD_BUSINESS_TOOL_CANCEL_UNSUPPORTED");return t(e.port.cancel.bind(e.port),r,o)}}}var Ry=new Set(["completed","stopped","failed","cancelled"]);function na(e,t){return["applicationId","tenantId","actorId","scopeId","definitionVersion"].every(r=>e[r]===t[r])}function zl(e,t){return JSON.stringify([e.applicationId,e.tenantId,e.actorId,e.scopeId,t])}function Gl(e){return JSON.stringify([e.invocation.round,e.invocation.callId])}function Fl(e,t,r){let o=e.receipts.find(n=>n.wait?.id===t);if(!o)return!1;if(te(o.result)!==te(r))throw Error("CLOUD_WAIT_RESULT_CONFLICT");if(e.wait?.descriptor.id===t&&te(e.wait.invocation)!==te(o.invocation))throw Error("CLOUD_WAIT_ID_CONFLICT");return!0}function Kl(e,t){if(!e.checkpoint)throw Error("CLOUD_RECONCILIATION_REQUIRED");if(e.checkpoint.phase==="model_ready")return e.checkpoint;let r=e.checkpoint.completedRounds+1;return ra(e.checkpoint,t.filter(o=>o.invocation.round===r))}function ky(e){let t=e.heartbeatMs??5e3;if(!Number.isSafeInteger(t)||t<10)throw Error("CLOUD_HEARTBEAT_INVALID");let r=e.deltaBatch;if(r&&(!Number.isSafeInteger(r.maxCharacters)||r.maxCharacters<1||!Number.isSafeInteger(r.maxDelayMs)||r.maxDelayMs<1))throw Error("CLOUD_EVENT_BATCH_INVALID");let o=new Map,n=async(s,a)=>{let i=await e.store.load(s,a);if(i.id!==a||!na(s,i.request.context))throw Error("CLOUD_TASK_NOT_FOUND");return structuredClone(i)};return{async create(s,a){let i=structuredClone(a);if(await e.authorize(i.context,"create"),!s.trim()||i.resume)throw Error("CLOUD_TASK_REQUEST_INVALID");if(i.goal&&(Tr(i.goal),!e.verifyGoal))throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");let c=await e.store.create({id:s,request:i,status:"queued",revision:0,cursor:0,receipts:[]});if(c.id!==s||!na(c.request.context,i.context)||te(c.request)!==te(i))throw Error("CLOUD_TASK_REQUEST_CONFLICT");return c},async get(s,a){return await e.authorize(s,"read"),n(s,a)},async events(s,a,i=0,c=100){if(await e.authorize(s,"read"),!Number.isSafeInteger(i)||i<0||!Number.isSafeInteger(c)||c<1||c>1e3)throw Error("CLOUD_EVENT_CURSOR_INVALID");let l=await n(s,a);if(i>l.cursor)throw Error("CLOUD_EVENT_CURSOR_INVALID");return e.store.events(s,a,i,c)},async cancel(s,a){await e.authorize(s,"cancel"),await n(s,a);let i=await e.store.cancel(s,a);return o.get(zl(s,a))?.abort(),i},async appendInput(s,a,i){await e.authorize(s,"append_input");let c=structuredClone(i),l=await n(s,a);if(!c.id?.trim()||!Array.isArray(c.messages)||!c.messages.length||c.messages.some(m=>m.role!=="user"||typeof m.content!="string"||!m.content.trim()||m.tool_calls||m.tool_call_id))throw Error("CLOUD_TASK_INPUT_INVALID");let u=l.inputs?.find(m=>m.id===c.id);if(u){if(te(u)!==te(c))throw Error("CLOUD_TASK_INPUT_CONFLICT");return l}if(!["completed","stopped"].includes(l.status)||l.cancellationRequested||!l.checkpoint||l.checkpoint.phase!=="model_ready"||(l.modelOperations??[]).some(m=>["prepared","responding","unknown"].includes(m.status)))throw Error("CLOUD_TASK_NOT_CONTINUABLE");let d=structuredClone(l.checkpoint),g=(l.modelOperations??[]).findLast(m=>m.status==="completed"&&m.round>d.completedRounds);if(g){let m=g.response;if(!m?.some(y=>y.type==="done")||m.some(y=>y.type==="tool_call_delta"))throw Error("CLOUD_TASK_NOT_CONTINUABLE");let p=m.flatMap(y=>y.type==="delta"?[y.text]:[]).join(""),f=m.flatMap(y=>y.type==="reasoning_delta"?[y.text]:[]).join(""),h=m.flatMap(y=>y.type==="reasoning_block_complete"?[{thinking:y.thinking,signature:y.signature}]:[]);d.messages.push({role:"assistant",content:p,...f?{reasoning_content:f}:{},...h.length?{thinkingBlocks:h}:{}}),d.completedRounds=g.round}return e.store.update(s,a,l.revision,{...l,status:"queued",errorCode:void 0,outcome:void 0,inputs:[...l.inputs??[],c],checkpoint:{...d,messages:[...d.messages,...c.messages]}},{type:"task_status",status:"queued"})},async resume(s,a){await e.authorize(s,"resume");let i=await n(s,a);if(i.status==="queued")return i;if(i.status!=="stopped"||i.errorCode!=="CLOUD_TASK_PAUSED"||i.cancellationRequested||!i.checkpoint||i.checkpoint.phase!=="model_ready"||(i.modelOperations??[]).some(c=>["prepared","responding","unknown"].includes(c.status)))throw Error("CLOUD_TASK_NOT_PAUSED");return e.store.update(s,a,i.revision,{...i,status:"queued",errorCode:void 0},{type:"task_status",status:"queued"})},async completeWait(s,a,i,c){await e.authorize(s,"complete_wait");let l=structuredClone(c),u=await n(s,a);if(Fl(u,i,l))return u;if(!u.status.startsWith("waiting_")||!u.wait||u.wait.descriptor.id!==i)throw Error("CLOUD_TASK_NOT_WAITING");await e.authorizeCompletion(structuredClone(u),i,structuredClone(l));let d=[...u.receipts,{invocation:u.wait.invocation,result:l,wait:structuredClone(u.wait.descriptor)}],g=Kl(u,d);try{return await e.store.update(s,a,u.revision,{...u,status:"queued",checkpoint:g,receipts:d,wait:void 0},{type:"task_status",status:"queued"})}catch(m){let p=await n(s,a);if(Fl(p,i,l))return p;throw m}},async recover(s,a,i=[]){await e.authorize(s,"recover"),await n(s,a);let c=await e.store.interrupt(s,a);if(c.status!=="reconciliation_required"||!e.authorizeRecovery)throw Error("CLOUD_RECONCILIATION_REQUIRED");let l=await e.authorizeRecovery(structuredClone(c),structuredClone(i)),u=structuredClone(c.modelOperations??[]);for(let p of u){if(!["prepared","responding","unknown"].includes(p.status))continue;let f=l?.find(h=>h.requestId===p.requestId);if(!f||f.requestDigest!==p.requestDigest||typeof f.evidenceReference!="string"||!f.evidenceReference.trim())throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");if(f.outcome==="rejected"&&f.safeToRetry===!0)p.status="rejected";else if(f.outcome==="completed"&&typeof f.responseId=="string"&&f.responseId.trim()&&Array.isArray(f.response)&&f.response.length&&f.response.some(h=>h?.type==="done"&&typeof h.finishReason=="string"&&h.finishReason)&&!f.response.some(h=>!h||h.type==="error"))p.status="completed",p.responseId=f.responseId,p.response=structuredClone(f.response),p.usage=structuredClone(f.usage),p.finishReason=f.response.findLast(h=>h.type==="done")?.finishReason;else throw Error("CLOUD_MODEL_RECONCILIATION_REQUIRED");p.reconciliationReference=f.evidenceReference}let d=[...c.receipts];for(let p of i){let f=d.find(h=>Gl(h)===Gl(p));if(f&&te(f)!==te(p))throw Error("CLOUD_RECEIPT_CONFLICT");f||d.push(structuredClone(p))}let g=Kl(c,d),m=c.cancellationRequested?"cancelled":"queued";return e.store.update(s,a,c.revision,{...c,checkpoint:g,receipts:d,modelOperations:u,status:m,errorCode:void 0},{type:"task_status",status:m})},async execute(s,a,i){await e.authorize(s,"execute"),await n(s,a);let c=await e.store.claim(s,a);if(!c)return;let l=structuredClone(c.task),u=new AbortController,d=i?AbortSignal.any([u.signal,i]):u.signal,g=zl(s,a);o.set(g,u);let m=!1,p=Promise.resolve(),f=(D,O)=>{let P=p.then(async()=>{if(m)throw Error("CLOUD_TASK_LEASE_LOST");l=await e.store.update(s,a,l.revision,D(l),O,c.leaseId)});return p=P,P},h,y,w,b=async()=>{w!==void 0&&(clearTimeout(w),w=void 0);let D=y;y=void 0,D&&await f(O=>O,D)},S=()=>h??(h=(async()=>{try{!m&&!await e.store.renew(s,a,c.leaseId)&&(m=!0,u.abort())}catch{m=!0,u.abort()}})().finally(()=>{h=void 0})),$=setInterval(()=>{S()},t),z=!1;try{if(!["queued"].includes(l.status)||!na(s,l.request.context))throw Error("CLOUD_TASK_CLAIM_INVALID");await f(O=>({...O,status:"running"}),{type:"task_status",status:"running"});let D=oa({...e.agent,runtime:{...e.agent.runtime,reviewCompletion:async(O,P)=>{let H=e.resolveGoal?await e.resolveGoal(structuredClone(l)):l.request.goal;if(H&&e.goalFeedback){if(await e.authorize(s,"execute"),!e.verifyGoal)throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");let E;try{E=ta(H,await e.verifyGoal(structuredClone(l)))}catch{throw z=!0,Error("CLOUD_GOAL_VERIFICATION_FAILED")}if(await f(x=>({...x,outcome:E}),{type:"goal_verification",outcome:E}),E.status==="incomplete")return e.goalFeedback(structuredClone(l),E)}return e.agent.runtime?.reviewCompletion?.(O,P)??[]}},onModelOperation:O=>{let{response:P,...H}=O;return b().then(()=>f(E=>{let x=[...E.modelOperations??[]],X=x.findIndex(re=>re.requestId===O.requestId);return X<0?x.push(O):x[X]=O,{...E,modelOperations:x}},{type:"model_operation",operation:H}))},authorize:async(O,P)=>{if(await S(),m)throw Error("CLOUD_TASK_LEASE_LOST");await e.authorize(s,"execute"),await e.agent.authorize(O,P)},checkpoints:{save:O=>f(P=>({...P,checkpoint:O}),{type:"checkpoint",phase:O.phase})},onToolResult:(O,P)=>f(H=>({...H,receipts:[...H.receipts,{invocation:O,result:P}]}),{type:"receipt",callId:O.callId,round:O.round,name:O.name}),onWait:(O,P)=>f(H=>({...H,wait:{invocation:O,descriptor:P}}),{type:"receipt",callId:O.callId,round:O.round,name:O.name})});for await(let O of D.run({...l.request,resume:l.checkpoint?{...l.checkpoint,modelOperations:l.modelOperations}:void 0},d)){if(m||d.aborted)break;if(r&&O.type==="delta"){y=y?{...y,text:y.text+O.text}:O,y.text.length>=r.maxCharacters?await b():w===void 0&&(w=setTimeout(()=>{b().catch(()=>u.abort())},Math.min(r.maxDelayMs,2147483647)));continue}await b();let P=O.type==="error"&&z?{...O,error:"CLOUD_GOAL_VERIFICATION_FAILED",code:"CLOUD_GOAL_VERIFICATION_FAILED"}:O.type==="error"?{...O,error:O.code??"CLOUD_AGENT_FAILED"}:O,H,E=P.type==="end"?e.resolveGoal?await e.resolveGoal(structuredClone(l)):l.request.goal:void 0;if(P.type==="end"&&P.turnStatus!=="stopped"&&E)try{if(!e.verifyGoal)throw Error("CLOUD_GOAL_VERIFIER_REQUIRED");await e.authorize(s,"execute"),H=ta(E,await e.verifyGoal(structuredClone(l)))}catch{P={type:"error",turnId:l.request.turnId,error:"CLOUD_GOAL_VERIFICATION_FAILED",code:"CLOUD_GOAL_VERIFICATION_FAILED"}}let x=H?.status==="incomplete"?"stopped":P.type==="waiting"?`waiting_${P.wait.kind}`:P.type==="end"?P.turnStatus==="stopped"?"stopped":"completed":P.type==="error"?["CLOUD_TOOL_OUTCOME_UNKNOWN","CLOUD_MODEL_RECEIPT_FAILED","CLOUD_GOAL_VERIFICATION_FAILED","CLOUD_DEADLINE_EXCEEDED","MODEL_RECONCILIATION_REQUIRED","CLOUD_MODEL_REPLAY_MISMATCH","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(P.code??"")?"reconciliation_required":"failed":l.status;if(await f(X=>({...X,status:x,...H?{outcome:H}:{},...P.type==="error"?{errorCode:P.code??"CLOUD_AGENT_FAILED"}:{},...P.type==="end"&&P.stopReason==="paused"?{errorCode:"CLOUD_TASK_PAUSED"}:{}}),P),Ry.has(x)||x==="reconciliation_required"||x.startsWith("waiting_"))break}await b(),await p,!m&&l.status==="running"&&await f(O=>({...O,status:"reconciliation_required",errorCode:"CLOUD_WORKER_INTERRUPTED"}),{type:"task_status",status:"reconciliation_required"})}catch{if(u.abort(),await S(),!m)throw Error("CLOUD_TASK_PERSISTENCE_FAILED")}finally{w!==void 0&&clearTimeout(w),clearInterval($),u.abort(),o.get(g)===u&&o.delete(g),await e.store.release(s,a,c.leaseId)}}}}export{gr as AgentContentBlockValidationError,te as canonicalCloudValue,ra as completeCloudToolCheckpoint,ea as corePackageVersion,$y as createBusinessToolAdapter,oa as createCloudAgent,ky as createCloudTaskRuntime,Zs as createEmbeddedAgent,Ey as getCoreCapabilities,vo as parseAgentContentBlock,_r as prepareSlidingWindowContext};
@@ -0,0 +1,9 @@
1
+ import type { ToolDefinition } from "./contracts.js";
2
+ export interface CoreCapabilities {
3
+ schemaVersion: 1;
4
+ packageName: "@xiaozhiclaw/qlogicagent-core";
5
+ packageVersion: string;
6
+ builtInTools: ToolDefinition[];
7
+ }
8
+ /** Describes this artifact only; product-injected tools are not core tools. */
9
+ export declare function getCoreCapabilities(): CoreCapabilities;
@@ -1,6 +1,8 @@
1
1
  export { createEmbeddedAgent } from "./embedded-agent.js";
2
2
  export { prepareSlidingWindowContext } from "./context-projection.js";
3
3
  export { corePackageVersion } from "./package-version.js";
4
+ export { getCoreCapabilities } from "./core-capabilities.js";
5
+ export type { CoreCapabilities } from "./core-capabilities.js";
4
6
  export { AgentContentBlockValidationError, parseAgentContentBlock, } from "./content-blocks.js";
5
7
  export type { ContextAnchor, ContextEnvelope, SemanticToolCapability, ToolIdentity, UsageRecord, UsageSource, AgentLogger, ChatMessage, CreateEmbeddedAgentOptions, EmbeddedAgent, EmbeddedRuntimeOptions, ModelContextPreparation, ModelContextProjection, LLMChunk, LLMRequest, LLMTransport, ModelRetryAuthorization, ToolDefinition, ToolInvoker, ToolInvocationContext, ToolResult, TurnCheckpoint, TokenUsage, TurnConfig, TurnEvent, TurnRequest, } from "./contracts.js";
6
8
  export type { ModelOperation, ModelRecoveryProof } from "./model-operation.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiaozhiclaw/qlogicagent-core",
3
- "version": "0.6.0",
3
+ "version": "0.6.1",
4
4
  "description": "Shared SaaS Agent inference and durable task runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,13 +15,13 @@
15
15
  "dist/",
16
16
  "README.md"
17
17
  ],
18
+ "scripts": {
19
+ "build": "node scripts/build.mjs"
20
+ },
18
21
  "publishConfig": {
19
22
  "access": "public"
20
23
  },
21
24
  "engines": {
22
25
  "node": ">=24.0.0 <25"
23
- },
24
- "scripts": {
25
- "build": "node scripts/build.mjs"
26
26
  }
27
- }
27
+ }