@stigmer/mcp-server 3.0.8-dev.20260612122433
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/LICENSE +190 -0
- package/README.md +157 -0
- package/cli/mcp-server-stigmer.d.ts +3 -0
- package/cli/mcp-server-stigmer.d.ts.map +1 -0
- package/cli/mcp-server-stigmer.js +201 -0
- package/cli/mcp-server-stigmer.js.map +1 -0
- package/config.d.ts +44 -0
- package/config.d.ts.map +1 -0
- package/config.js +92 -0
- package/config.js.map +1 -0
- package/domains/agents/apply.d.ts +4 -0
- package/domains/agents/apply.d.ts.map +1 -0
- package/domains/agents/apply.js +25 -0
- package/domains/agents/apply.js.map +1 -0
- package/domains/agents/delete.d.ts +3 -0
- package/domains/agents/delete.d.ts.map +1 -0
- package/domains/agents/delete.js +35 -0
- package/domains/agents/delete.js.map +1 -0
- package/domains/agents/fetch.d.ts +6 -0
- package/domains/agents/fetch.d.ts.map +1 -0
- package/domains/agents/fetch.js +24 -0
- package/domains/agents/fetch.js.map +1 -0
- package/domains/agents/resources.d.ts +5 -0
- package/domains/agents/resources.d.ts.map +1 -0
- package/domains/agents/resources.js +16 -0
- package/domains/agents/resources.js.map +1 -0
- package/domains/agents/tools.d.ts +5 -0
- package/domains/agents/tools.d.ts.map +1 -0
- package/domains/agents/tools.js +41 -0
- package/domains/agents/tools.js.map +1 -0
- package/domains/client.d.ts +53 -0
- package/domains/client.d.ts.map +1 -0
- package/domains/client.js +62 -0
- package/domains/client.js.map +1 -0
- package/domains/marshal.d.ts +8 -0
- package/domains/marshal.d.ts.map +1 -0
- package/domains/marshal.js +17 -0
- package/domains/marshal.js.map +1 -0
- package/domains/mcpservers/apply.d.ts +4 -0
- package/domains/mcpservers/apply.d.ts.map +1 -0
- package/domains/mcpservers/apply.js +26 -0
- package/domains/mcpservers/apply.js.map +1 -0
- package/domains/mcpservers/delete.d.ts +6 -0
- package/domains/mcpservers/delete.d.ts.map +1 -0
- package/domains/mcpservers/delete.js +42 -0
- package/domains/mcpservers/delete.js.map +1 -0
- package/domains/mcpservers/fetch.d.ts +7 -0
- package/domains/mcpservers/fetch.d.ts.map +1 -0
- package/domains/mcpservers/fetch.js +26 -0
- package/domains/mcpservers/fetch.js.map +1 -0
- package/domains/mcpservers/resources.d.ts +5 -0
- package/domains/mcpservers/resources.d.ts.map +1 -0
- package/domains/mcpservers/resources.js +16 -0
- package/domains/mcpservers/resources.js.map +1 -0
- package/domains/mcpservers/tools.d.ts +5 -0
- package/domains/mcpservers/tools.d.ts.map +1 -0
- package/domains/mcpservers/tools.js +39 -0
- package/domains/mcpservers/tools.js.map +1 -0
- package/domains/resourcehandler.d.ts +27 -0
- package/domains/resourcehandler.d.ts.map +1 -0
- package/domains/resourcehandler.js +32 -0
- package/domains/resourcehandler.js.map +1 -0
- package/domains/resourceuri.d.ts +34 -0
- package/domains/resourceuri.d.ts.map +1 -0
- package/domains/resourceuri.js +100 -0
- package/domains/resourceuri.js.map +1 -0
- package/domains/rpcerr.d.ts +8 -0
- package/domains/rpcerr.d.ts.map +1 -0
- package/domains/rpcerr.js +42 -0
- package/domains/rpcerr.js.map +1 -0
- package/domains/search/tools.d.ts +5 -0
- package/domains/search/tools.d.ts.map +1 -0
- package/domains/search/tools.js +125 -0
- package/domains/search/tools.js.map +1 -0
- package/domains/skills/delete.d.ts +6 -0
- package/domains/skills/delete.d.ts.map +1 -0
- package/domains/skills/delete.js +38 -0
- package/domains/skills/delete.js.map +1 -0
- package/domains/skills/fetch.d.ts +6 -0
- package/domains/skills/fetch.d.ts.map +1 -0
- package/domains/skills/fetch.js +28 -0
- package/domains/skills/fetch.js.map +1 -0
- package/domains/skills/resources.d.ts +5 -0
- package/domains/skills/resources.d.ts.map +1 -0
- package/domains/skills/resources.js +25 -0
- package/domains/skills/resources.js.map +1 -0
- package/domains/skills/tools.d.ts +5 -0
- package/domains/skills/tools.d.ts.map +1 -0
- package/domains/skills/tools.js +39 -0
- package/domains/skills/tools.js.map +1 -0
- package/domains/toolresult.d.ts +12 -0
- package/domains/toolresult.d.ts.map +1 -0
- package/domains/toolresult.js +30 -0
- package/domains/toolresult.js.map +1 -0
- package/domains/workflowexecutions/tools.d.ts +5 -0
- package/domains/workflowexecutions/tools.d.ts.map +1 -0
- package/domains/workflowexecutions/tools.js +80 -0
- package/domains/workflowexecutions/tools.js.map +1 -0
- package/domains/workflows/apply.d.ts +4 -0
- package/domains/workflows/apply.d.ts.map +1 -0
- package/domains/workflows/apply.js +30 -0
- package/domains/workflows/apply.js.map +1 -0
- package/domains/workflows/delete.d.ts +3 -0
- package/domains/workflows/delete.d.ts.map +1 -0
- package/domains/workflows/delete.js +35 -0
- package/domains/workflows/delete.js.map +1 -0
- package/domains/workflows/fetch.d.ts +6 -0
- package/domains/workflows/fetch.d.ts.map +1 -0
- package/domains/workflows/fetch.js +25 -0
- package/domains/workflows/fetch.js.map +1 -0
- package/domains/workflows/resources.d.ts +5 -0
- package/domains/workflows/resources.d.ts.map +1 -0
- package/domains/workflows/resources.js +16 -0
- package/domains/workflows/resources.js.map +1 -0
- package/domains/workflows/taskkinds.d.ts +5 -0
- package/domains/workflows/taskkinds.d.ts.map +1 -0
- package/domains/workflows/taskkinds.js +66 -0
- package/domains/workflows/taskkinds.js.map +1 -0
- package/domains/workflows/tools.d.ts +5 -0
- package/domains/workflows/tools.d.ts.map +1 -0
- package/domains/workflows/tools.js +35 -0
- package/domains/workflows/tools.js.map +1 -0
- package/domains/workflows/validate.d.ts +5 -0
- package/domains/workflows/validate.d.ts.map +1 -0
- package/domains/workflows/validate.js +113 -0
- package/domains/workflows/validate.js.map +1 -0
- package/gen/agent.d.ts +385 -0
- package/gen/agent.d.ts.map +1 -0
- package/gen/agent.js +170 -0
- package/gen/agent.js.map +1 -0
- package/gen/apply-runtime.d.ts +18 -0
- package/gen/apply-runtime.d.ts.map +1 -0
- package/gen/apply-runtime.js +50 -0
- package/gen/apply-runtime.js.map +1 -0
- package/gen/mcpserver.d.ts +289 -0
- package/gen/mcpserver.d.ts.map +1 -0
- package/gen/mcpserver.js +166 -0
- package/gen/mcpserver.js.map +1 -0
- package/gen/workflow.d.ts +805 -0
- package/gen/workflow.d.ts.map +1 -0
- package/gen/workflow.js +842 -0
- package/gen/workflow.js.map +1 -0
- package/index.d.ts +20 -0
- package/index.d.ts.map +1 -0
- package/index.js +58 -0
- package/index.js.map +1 -0
- package/logger.d.ts +20 -0
- package/logger.d.ts.map +1 -0
- package/logger.js +41 -0
- package/logger.js.map +1 -0
- package/package.json +43 -0
- package/server.d.ts +60 -0
- package/server.d.ts.map +1 -0
- package/server.js +366 -0
- package/server.js.map +1 -0
- package/src/cli/mcp-server-stigmer.ts +42 -0
- package/src/config.test.ts +88 -0
- package/src/config.ts +151 -0
- package/src/domains/agents/apply.ts +30 -0
- package/src/domains/agents/delete.ts +41 -0
- package/src/domains/agents/fetch.ts +33 -0
- package/src/domains/agents/resources.ts +20 -0
- package/src/domains/agents/tools.ts +68 -0
- package/src/domains/apply.integration.test.ts +220 -0
- package/src/domains/client.ts +95 -0
- package/src/domains/deletes.integration.test.ts +124 -0
- package/src/domains/marshal.ts +21 -0
- package/src/domains/mcpservers/apply.ts +36 -0
- package/src/domains/mcpservers/delete.ts +51 -0
- package/src/domains/mcpservers/fetch.ts +35 -0
- package/src/domains/mcpservers/resources.ts +20 -0
- package/src/domains/mcpservers/tools.ts +74 -0
- package/src/domains/reads.integration.test.ts +134 -0
- package/src/domains/resourcehandler.ts +90 -0
- package/src/domains/resources.integration.test.ts +139 -0
- package/src/domains/resourceuri.test.ts +97 -0
- package/src/domains/resourceuri.ts +124 -0
- package/src/domains/rpcerr.test.ts +62 -0
- package/src/domains/rpcerr.ts +46 -0
- package/src/domains/search/search.integration.test.ts +127 -0
- package/src/domains/search/tools.ts +160 -0
- package/src/domains/skills/delete.ts +44 -0
- package/src/domains/skills/fetch.ts +38 -0
- package/src/domains/skills/resources.ts +33 -0
- package/src/domains/skills/tools.ts +67 -0
- package/src/domains/toolresult.ts +33 -0
- package/src/domains/workflowexecutions/tools.ts +133 -0
- package/src/domains/workflows/apply.ts +40 -0
- package/src/domains/workflows/delete.ts +44 -0
- package/src/domains/workflows/fetch.ts +34 -0
- package/src/domains/workflows/resources.ts +20 -0
- package/src/domains/workflows/taskkinds.ts +103 -0
- package/src/domains/workflows/tools.ts +68 -0
- package/src/domains/workflows/validate.integration.test.ts +117 -0
- package/src/domains/workflows/validate.ts +144 -0
- package/src/domains/workflows/workflow-tools.integration.test.ts +148 -0
- package/src/gen/agent.ts +173 -0
- package/src/gen/apply-runtime.ts +52 -0
- package/src/gen/mcpserver.ts +163 -0
- package/src/gen/workflow.ts +858 -0
- package/src/http.integration.test.ts +140 -0
- package/src/index.ts +66 -0
- package/src/logger.ts +49 -0
- package/src/server.integration.test.ts +82 -0
- package/src/server.ts +414 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __stigmerCreateRequire } from "node:module";
|
|
3
|
+
const require = __stigmerCreateRequire(import.meta.url);
|
|
4
|
+
var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){try{return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports}catch(e){throw mod=0,e}};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_code=__commonJS({"../node_modules/ajv/dist/compile/codegen/code.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.regexpCode=exports.getEsmExportName=exports.getProperty=exports.safeStringify=exports.stringify=exports.strConcat=exports.addCodeArg=exports.str=exports._=exports.nil=exports._Code=exports.Name=exports.IDENTIFIER=exports._CodeOrName=void 0;var _CodeOrName=class{};exports._CodeOrName=_CodeOrName;exports.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Name=class extends _CodeOrName{constructor(s){if(super(),!exports.IDENTIFIER.test(s))throw new Error("CodeGen: name must be a valid identifier");this.str=s}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};exports.Name=Name;var _Code=class extends _CodeOrName{constructor(code){super(),this._items=typeof code=="string"?[code]:code}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let item=this._items[0];return item===""||item==='""'}get str(){var _a;return(_a=this._str)!==null&&_a!==void 0?_a:this._str=this._items.reduce((s,c)=>`${s}${c}`,"")}get names(){var _a;return(_a=this._names)!==null&&_a!==void 0?_a:this._names=this._items.reduce((names,c)=>(c instanceof Name&&(names[c.str]=(names[c.str]||0)+1),names),{})}};exports._Code=_Code;exports.nil=new _Code("");function _(strs,...args){let code=[strs[0]],i=0;for(;i<args.length;)addCodeArg(code,args[i]),code.push(strs[++i]);return new _Code(code)}exports._=_;var plus=new _Code("+");function str(strs,...args){let expr=[safeStringify(strs[0])],i=0;for(;i<args.length;)expr.push(plus),addCodeArg(expr,args[i]),expr.push(plus,safeStringify(strs[++i]));return optimize(expr),new _Code(expr)}exports.str=str;function addCodeArg(code,arg){arg instanceof _Code?code.push(...arg._items):arg instanceof Name?code.push(arg):code.push(interpolate(arg))}exports.addCodeArg=addCodeArg;function optimize(expr){let i=1;for(;i<expr.length-1;){if(expr[i]===plus){let res=mergeExprItems(expr[i-1],expr[i+1]);if(res!==void 0){expr.splice(i-1,3,res);continue}expr[i++]="+"}i++}}function mergeExprItems(a,b){if(b==='""')return a;if(a==='""')return b;if(typeof a=="string")return b instanceof Name||a[a.length-1]!=='"'?void 0:typeof b!="string"?`${a.slice(0,-1)}${b}"`:b[0]==='"'?a.slice(0,-1)+b.slice(1):void 0;if(typeof b=="string"&&b[0]==='"'&&!(a instanceof Name))return`"${a}${b.slice(1)}`}function strConcat(c1,c2){return c2.emptyStr()?c1:c1.emptyStr()?c2:str`${c1}${c2}`}exports.strConcat=strConcat;function interpolate(x){return typeof x=="number"||typeof x=="boolean"||x===null?x:safeStringify(Array.isArray(x)?x.join(","):x)}function stringify(x){return new _Code(safeStringify(x))}exports.stringify=stringify;function safeStringify(x){return JSON.stringify(x).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}exports.safeStringify=safeStringify;function getProperty(key){return typeof key=="string"&&exports.IDENTIFIER.test(key)?new _Code(`.${key}`):_`[${key}]`}exports.getProperty=getProperty;function getEsmExportName(key){if(typeof key=="string"&&exports.IDENTIFIER.test(key))return new _Code(`${key}`);throw new Error(`CodeGen: invalid export name: ${key}, use explicit $id name mapping`)}exports.getEsmExportName=getEsmExportName;function regexpCode(rx){return new _Code(rx.toString())}exports.regexpCode=regexpCode}});var require_scope=__commonJS({"../node_modules/ajv/dist/compile/codegen/scope.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ValueScope=exports.ValueScopeName=exports.Scope=exports.varKinds=exports.UsedValueState=void 0;var code_1=require_code(),ValueError=class extends Error{constructor(name){super(`CodeGen: "code" for ${name} not defined`),this.value=name.value}},UsedValueState;(function(UsedValueState2){UsedValueState2[UsedValueState2.Started=0]="Started",UsedValueState2[UsedValueState2.Completed=1]="Completed"})(UsedValueState||(exports.UsedValueState=UsedValueState={}));exports.varKinds={const:new code_1.Name("const"),let:new code_1.Name("let"),var:new code_1.Name("var")};var Scope=class{constructor({prefixes,parent}={}){this._names={},this._prefixes=prefixes,this._parent=parent}toName(nameOrPrefix){return nameOrPrefix instanceof code_1.Name?nameOrPrefix:this.name(nameOrPrefix)}name(prefix){return new code_1.Name(this._newName(prefix))}_newName(prefix){let ng=this._names[prefix]||this._nameGroup(prefix);return`${prefix}${ng.index++}`}_nameGroup(prefix){var _a,_b;if(!((_b=(_a=this._parent)===null||_a===void 0?void 0:_a._prefixes)===null||_b===void 0)&&_b.has(prefix)||this._prefixes&&!this._prefixes.has(prefix))throw new Error(`CodeGen: prefix "${prefix}" is not allowed in this scope`);return this._names[prefix]={prefix,index:0}}};exports.Scope=Scope;var ValueScopeName=class extends code_1.Name{constructor(prefix,nameStr){super(nameStr),this.prefix=prefix}setValue(value,{property,itemIndex}){this.value=value,this.scopePath=(0,code_1._)`.${new code_1.Name(property)}[${itemIndex}]`}};exports.ValueScopeName=ValueScopeName;var line=(0,code_1._)`\n`,ValueScope=class extends Scope{constructor(opts){super(opts),this._values={},this._scope=opts.scope,this.opts={...opts,_n:opts.lines?line:code_1.nil}}get(){return this._scope}name(prefix){return new ValueScopeName(prefix,this._newName(prefix))}value(nameOrPrefix,value){var _a;if(value.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let name=this.toName(nameOrPrefix),{prefix}=name,valueKey=(_a=value.key)!==null&&_a!==void 0?_a:value.ref,vs=this._values[prefix];if(vs){let _name=vs.get(valueKey);if(_name)return _name}else vs=this._values[prefix]=new Map;vs.set(valueKey,name);let s=this._scope[prefix]||(this._scope[prefix]=[]),itemIndex=s.length;return s[itemIndex]=value.ref,name.setValue(value,{property:prefix,itemIndex}),name}getValue(prefix,keyOrRef){let vs=this._values[prefix];if(vs)return vs.get(keyOrRef)}scopeRefs(scopeName,values=this._values){return this._reduceValues(values,name=>{if(name.scopePath===void 0)throw new Error(`CodeGen: name "${name}" has no value`);return(0,code_1._)`${scopeName}${name.scopePath}`})}scopeCode(values=this._values,usedValues,getCode){return this._reduceValues(values,name=>{if(name.value===void 0)throw new Error(`CodeGen: name "${name}" has no value`);return name.value.code},usedValues,getCode)}_reduceValues(values,valueCode,usedValues={},getCode){let code=code_1.nil;for(let prefix in values){let vs=values[prefix];if(!vs)continue;let nameSet=usedValues[prefix]=usedValues[prefix]||new Map;vs.forEach(name=>{if(nameSet.has(name))return;nameSet.set(name,UsedValueState.Started);let c=valueCode(name);if(c){let def=this.opts.es5?exports.varKinds.var:exports.varKinds.const;code=(0,code_1._)`${code}${def} ${name} = ${c};${this.opts._n}`}else if(c=getCode?.(name))code=(0,code_1._)`${code}${c}${this.opts._n}`;else throw new ValueError(name);nameSet.set(name,UsedValueState.Completed)})}return code}};exports.ValueScope=ValueScope}});var require_codegen=__commonJS({"../node_modules/ajv/dist/compile/codegen/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.or=exports.and=exports.not=exports.CodeGen=exports.operators=exports.varKinds=exports.ValueScopeName=exports.ValueScope=exports.Scope=exports.Name=exports.regexpCode=exports.stringify=exports.getProperty=exports.nil=exports.strConcat=exports.str=exports._=void 0;var code_1=require_code(),scope_1=require_scope(),code_2=require_code();Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return code_2._}});Object.defineProperty(exports,"str",{enumerable:!0,get:function(){return code_2.str}});Object.defineProperty(exports,"strConcat",{enumerable:!0,get:function(){return code_2.strConcat}});Object.defineProperty(exports,"nil",{enumerable:!0,get:function(){return code_2.nil}});Object.defineProperty(exports,"getProperty",{enumerable:!0,get:function(){return code_2.getProperty}});Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return code_2.stringify}});Object.defineProperty(exports,"regexpCode",{enumerable:!0,get:function(){return code_2.regexpCode}});Object.defineProperty(exports,"Name",{enumerable:!0,get:function(){return code_2.Name}});var scope_2=require_scope();Object.defineProperty(exports,"Scope",{enumerable:!0,get:function(){return scope_2.Scope}});Object.defineProperty(exports,"ValueScope",{enumerable:!0,get:function(){return scope_2.ValueScope}});Object.defineProperty(exports,"ValueScopeName",{enumerable:!0,get:function(){return scope_2.ValueScopeName}});Object.defineProperty(exports,"varKinds",{enumerable:!0,get:function(){return scope_2.varKinds}});exports.operators={GT:new code_1._Code(">"),GTE:new code_1._Code(">="),LT:new code_1._Code("<"),LTE:new code_1._Code("<="),EQ:new code_1._Code("==="),NEQ:new code_1._Code("!=="),NOT:new code_1._Code("!"),OR:new code_1._Code("||"),AND:new code_1._Code("&&"),ADD:new code_1._Code("+")};var Node=class{optimizeNodes(){return this}optimizeNames(_names,_constants){return this}},Def=class extends Node{constructor(varKind,name,rhs){super(),this.varKind=varKind,this.name=name,this.rhs=rhs}render({es5,_n}){let varKind=es5?scope_1.varKinds.var:this.varKind,rhs=this.rhs===void 0?"":` = ${this.rhs}`;return`${varKind} ${this.name}${rhs};`+_n}optimizeNames(names,constants2){if(names[this.name.str])return this.rhs&&(this.rhs=optimizeExpr(this.rhs,names,constants2)),this}get names(){return this.rhs instanceof code_1._CodeOrName?this.rhs.names:{}}},Assign=class extends Node{constructor(lhs,rhs,sideEffects){super(),this.lhs=lhs,this.rhs=rhs,this.sideEffects=sideEffects}render({_n}){return`${this.lhs} = ${this.rhs};`+_n}optimizeNames(names,constants2){if(!(this.lhs instanceof code_1.Name&&!names[this.lhs.str]&&!this.sideEffects))return this.rhs=optimizeExpr(this.rhs,names,constants2),this}get names(){let names=this.lhs instanceof code_1.Name?{}:{...this.lhs.names};return addExprNames(names,this.rhs)}},AssignOp=class extends Assign{constructor(lhs,op,rhs,sideEffects){super(lhs,rhs,sideEffects),this.op=op}render({_n}){return`${this.lhs} ${this.op}= ${this.rhs};`+_n}},Label=class extends Node{constructor(label){super(),this.label=label,this.names={}}render({_n}){return`${this.label}:`+_n}},Break=class extends Node{constructor(label){super(),this.label=label,this.names={}}render({_n}){return`break${this.label?` ${this.label}`:""};`+_n}},Throw=class extends Node{constructor(error3){super(),this.error=error3}render({_n}){return`throw ${this.error};`+_n}get names(){return this.error.names}},AnyCode=class extends Node{constructor(code){super(),this.code=code}render({_n}){return`${this.code};`+_n}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(names,constants2){return this.code=optimizeExpr(this.code,names,constants2),this}get names(){return this.code instanceof code_1._CodeOrName?this.code.names:{}}},ParentNode=class extends Node{constructor(nodes=[]){super(),this.nodes=nodes}render(opts){return this.nodes.reduce((code,n)=>code+n.render(opts),"")}optimizeNodes(){let{nodes}=this,i=nodes.length;for(;i--;){let n=nodes[i].optimizeNodes();Array.isArray(n)?nodes.splice(i,1,...n):n?nodes[i]=n:nodes.splice(i,1)}return nodes.length>0?this:void 0}optimizeNames(names,constants2){let{nodes}=this,i=nodes.length;for(;i--;){let n=nodes[i];n.optimizeNames(names,constants2)||(subtractNames(names,n.names),nodes.splice(i,1))}return nodes.length>0?this:void 0}get names(){return this.nodes.reduce((names,n)=>addNames(names,n.names),{})}},BlockNode=class extends ParentNode{render(opts){return"{"+opts._n+super.render(opts)+"}"+opts._n}},Root=class extends ParentNode{},Else=class extends BlockNode{};Else.kind="else";var If=class _If extends BlockNode{constructor(condition,nodes){super(nodes),this.condition=condition}render(opts){let code=`if(${this.condition})`+super.render(opts);return this.else&&(code+="else "+this.else.render(opts)),code}optimizeNodes(){super.optimizeNodes();let cond=this.condition;if(cond===!0)return this.nodes;let e=this.else;if(e){let ns=e.optimizeNodes();e=this.else=Array.isArray(ns)?new Else(ns):ns}if(e)return cond===!1?e instanceof _If?e:e.nodes:this.nodes.length?this:new _If(not(cond),e instanceof _If?[e]:e.nodes);if(!(cond===!1||!this.nodes.length))return this}optimizeNames(names,constants2){var _a;if(this.else=(_a=this.else)===null||_a===void 0?void 0:_a.optimizeNames(names,constants2),!!(super.optimizeNames(names,constants2)||this.else))return this.condition=optimizeExpr(this.condition,names,constants2),this}get names(){let names=super.names;return addExprNames(names,this.condition),this.else&&addNames(names,this.else.names),names}};If.kind="if";var For=class extends BlockNode{};For.kind="for";var ForLoop=class extends For{constructor(iteration){super(),this.iteration=iteration}render(opts){return`for(${this.iteration})`+super.render(opts)}optimizeNames(names,constants2){if(super.optimizeNames(names,constants2))return this.iteration=optimizeExpr(this.iteration,names,constants2),this}get names(){return addNames(super.names,this.iteration.names)}},ForRange=class extends For{constructor(varKind,name,from,to){super(),this.varKind=varKind,this.name=name,this.from=from,this.to=to}render(opts){let varKind=opts.es5?scope_1.varKinds.var:this.varKind,{name,from,to}=this;return`for(${varKind} ${name}=${from}; ${name}<${to}; ${name}++)`+super.render(opts)}get names(){let names=addExprNames(super.names,this.from);return addExprNames(names,this.to)}},ForIter=class extends For{constructor(loop,varKind,name,iterable){super(),this.loop=loop,this.varKind=varKind,this.name=name,this.iterable=iterable}render(opts){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(opts)}optimizeNames(names,constants2){if(super.optimizeNames(names,constants2))return this.iterable=optimizeExpr(this.iterable,names,constants2),this}get names(){return addNames(super.names,this.iterable.names)}},Func=class extends BlockNode{constructor(name,args,async){super(),this.name=name,this.args=args,this.async=async}render(opts){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(opts)}};Func.kind="func";var Return=class extends ParentNode{render(opts){return"return "+super.render(opts)}};Return.kind="return";var Try=class extends BlockNode{render(opts){let code="try"+super.render(opts);return this.catch&&(code+=this.catch.render(opts)),this.finally&&(code+=this.finally.render(opts)),code}optimizeNodes(){var _a,_b;return super.optimizeNodes(),(_a=this.catch)===null||_a===void 0||_a.optimizeNodes(),(_b=this.finally)===null||_b===void 0||_b.optimizeNodes(),this}optimizeNames(names,constants2){var _a,_b;return super.optimizeNames(names,constants2),(_a=this.catch)===null||_a===void 0||_a.optimizeNames(names,constants2),(_b=this.finally)===null||_b===void 0||_b.optimizeNames(names,constants2),this}get names(){let names=super.names;return this.catch&&addNames(names,this.catch.names),this.finally&&addNames(names,this.finally.names),names}},Catch=class extends BlockNode{constructor(error3){super(),this.error=error3}render(opts){return`catch(${this.error})`+super.render(opts)}};Catch.kind="catch";var Finally=class extends BlockNode{render(opts){return"finally"+super.render(opts)}};Finally.kind="finally";var CodeGen=class{constructor(extScope,opts={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...opts,_n:opts.lines?`
|
|
5
|
+
`:""},this._extScope=extScope,this._scope=new scope_1.Scope({parent:extScope}),this._nodes=[new Root]}toString(){return this._root.render(this.opts)}name(prefix){return this._scope.name(prefix)}scopeName(prefix){return this._extScope.name(prefix)}scopeValue(prefixOrName,value){let name=this._extScope.value(prefixOrName,value);return(this._values[name.prefix]||(this._values[name.prefix]=new Set)).add(name),name}getScopeValue(prefix,keyOrRef){return this._extScope.getValue(prefix,keyOrRef)}scopeRefs(scopeName){return this._extScope.scopeRefs(scopeName,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(varKind,nameOrPrefix,rhs,constant){let name=this._scope.toName(nameOrPrefix);return rhs!==void 0&&constant&&(this._constants[name.str]=rhs),this._leafNode(new Def(varKind,name,rhs)),name}const(nameOrPrefix,rhs,_constant){return this._def(scope_1.varKinds.const,nameOrPrefix,rhs,_constant)}let(nameOrPrefix,rhs,_constant){return this._def(scope_1.varKinds.let,nameOrPrefix,rhs,_constant)}var(nameOrPrefix,rhs,_constant){return this._def(scope_1.varKinds.var,nameOrPrefix,rhs,_constant)}assign(lhs,rhs,sideEffects){return this._leafNode(new Assign(lhs,rhs,sideEffects))}add(lhs,rhs){return this._leafNode(new AssignOp(lhs,exports.operators.ADD,rhs))}code(c){return typeof c=="function"?c():c!==code_1.nil&&this._leafNode(new AnyCode(c)),this}object(...keyValues){let code=["{"];for(let[key,value]of keyValues)code.length>1&&code.push(","),code.push(key),(key!==value||this.opts.es5)&&(code.push(":"),(0,code_1.addCodeArg)(code,value));return code.push("}"),new code_1._Code(code)}if(condition,thenBody,elseBody){if(this._blockNode(new If(condition)),thenBody&&elseBody)this.code(thenBody).else().code(elseBody).endIf();else if(thenBody)this.code(thenBody).endIf();else if(elseBody)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(condition){return this._elseNode(new If(condition))}else(){return this._elseNode(new Else)}endIf(){return this._endBlockNode(If,Else)}_for(node,forBody){return this._blockNode(node),forBody&&this.code(forBody).endFor(),this}for(iteration,forBody){return this._for(new ForLoop(iteration),forBody)}forRange(nameOrPrefix,from,to,forBody,varKind=this.opts.es5?scope_1.varKinds.var:scope_1.varKinds.let){let name=this._scope.toName(nameOrPrefix);return this._for(new ForRange(varKind,name,from,to),()=>forBody(name))}forOf(nameOrPrefix,iterable,forBody,varKind=scope_1.varKinds.const){let name=this._scope.toName(nameOrPrefix);if(this.opts.es5){let arr=iterable instanceof code_1.Name?iterable:this.var("_arr",iterable);return this.forRange("_i",0,(0,code_1._)`${arr}.length`,i=>{this.var(name,(0,code_1._)`${arr}[${i}]`),forBody(name)})}return this._for(new ForIter("of",varKind,name,iterable),()=>forBody(name))}forIn(nameOrPrefix,obj,forBody,varKind=this.opts.es5?scope_1.varKinds.var:scope_1.varKinds.const){if(this.opts.ownProperties)return this.forOf(nameOrPrefix,(0,code_1._)`Object.keys(${obj})`,forBody);let name=this._scope.toName(nameOrPrefix);return this._for(new ForIter("in",varKind,name,obj),()=>forBody(name))}endFor(){return this._endBlockNode(For)}label(label){return this._leafNode(new Label(label))}break(label){return this._leafNode(new Break(label))}return(value){let node=new Return;if(this._blockNode(node),this.code(value),node.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(Return)}try(tryBody,catchCode,finallyCode){if(!catchCode&&!finallyCode)throw new Error('CodeGen: "try" without "catch" and "finally"');let node=new Try;if(this._blockNode(node),this.code(tryBody),catchCode){let error3=this.name("e");this._currNode=node.catch=new Catch(error3),catchCode(error3)}return finallyCode&&(this._currNode=node.finally=new Finally,this.code(finallyCode)),this._endBlockNode(Catch,Finally)}throw(error3){return this._leafNode(new Throw(error3))}block(body,nodeCount){return this._blockStarts.push(this._nodes.length),body&&this.code(body).endBlock(nodeCount),this}endBlock(nodeCount){let len=this._blockStarts.pop();if(len===void 0)throw new Error("CodeGen: not in self-balancing block");let toClose=this._nodes.length-len;if(toClose<0||nodeCount!==void 0&&toClose!==nodeCount)throw new Error(`CodeGen: wrong number of nodes: ${toClose} vs ${nodeCount} expected`);return this._nodes.length=len,this}func(name,args=code_1.nil,async,funcBody){return this._blockNode(new Func(name,args,async)),funcBody&&this.code(funcBody).endFunc(),this}endFunc(){return this._endBlockNode(Func)}optimize(n=1){for(;n-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(node){return this._currNode.nodes.push(node),this}_blockNode(node){this._currNode.nodes.push(node),this._nodes.push(node)}_endBlockNode(N1,N2){let n=this._currNode;if(n instanceof N1||N2&&n instanceof N2)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${N2?`${N1.kind}/${N2.kind}`:N1.kind}"`)}_elseNode(node){let n=this._currNode;if(!(n instanceof If))throw new Error('CodeGen: "else" without "if"');return this._currNode=n.else=node,this}get _root(){return this._nodes[0]}get _currNode(){let ns=this._nodes;return ns[ns.length-1]}set _currNode(node){let ns=this._nodes;ns[ns.length-1]=node}};exports.CodeGen=CodeGen;function addNames(names,from){for(let n in from)names[n]=(names[n]||0)+(from[n]||0);return names}function addExprNames(names,from){return from instanceof code_1._CodeOrName?addNames(names,from.names):names}function optimizeExpr(expr,names,constants2){if(expr instanceof code_1.Name)return replaceName(expr);if(!canOptimize(expr))return expr;return new code_1._Code(expr._items.reduce((items,c)=>(c instanceof code_1.Name&&(c=replaceName(c)),c instanceof code_1._Code?items.push(...c._items):items.push(c),items),[]));function replaceName(n){let c=constants2[n.str];return c===void 0||names[n.str]!==1?n:(delete names[n.str],c)}function canOptimize(e){return e instanceof code_1._Code&&e._items.some(c=>c instanceof code_1.Name&&names[c.str]===1&&constants2[c.str]!==void 0)}}function subtractNames(names,from){for(let n in from)names[n]=(names[n]||0)-(from[n]||0)}function not(x){return typeof x=="boolean"||typeof x=="number"||x===null?!x:(0,code_1._)`!${par(x)}`}exports.not=not;var andCode=mappend(exports.operators.AND);function and(...args){return args.reduce(andCode)}exports.and=and;var orCode=mappend(exports.operators.OR);function or(...args){return args.reduce(orCode)}exports.or=or;function mappend(op){return(x,y)=>x===code_1.nil?y:y===code_1.nil?x:(0,code_1._)`${par(x)} ${op} ${par(y)}`}function par(x){return x instanceof code_1.Name?x:(0,code_1._)`(${x})`}}});var require_util=__commonJS({"../node_modules/ajv/dist/compile/util.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.checkStrictMode=exports.getErrorPath=exports.Type=exports.useFunc=exports.setEvaluated=exports.evaluatedPropsToName=exports.mergeEvaluated=exports.eachItem=exports.unescapeJsonPointer=exports.escapeJsonPointer=exports.escapeFragment=exports.unescapeFragment=exports.schemaRefOrVal=exports.schemaHasRulesButRef=exports.schemaHasRules=exports.checkUnknownRules=exports.alwaysValidSchema=exports.toHash=void 0;var codegen_1=require_codegen(),code_1=require_code();function toHash(arr){let hash={};for(let item of arr)hash[item]=!0;return hash}exports.toHash=toHash;function alwaysValidSchema(it,schema){return typeof schema=="boolean"?schema:Object.keys(schema).length===0?!0:(checkUnknownRules(it,schema),!schemaHasRules(schema,it.self.RULES.all))}exports.alwaysValidSchema=alwaysValidSchema;function checkUnknownRules(it,schema=it.schema){let{opts,self}=it;if(!opts.strictSchema||typeof schema=="boolean")return;let rules=self.RULES.keywords;for(let key in schema)rules[key]||checkStrictMode(it,`unknown keyword: "${key}"`)}exports.checkUnknownRules=checkUnknownRules;function schemaHasRules(schema,rules){if(typeof schema=="boolean")return!schema;for(let key in schema)if(rules[key])return!0;return!1}exports.schemaHasRules=schemaHasRules;function schemaHasRulesButRef(schema,RULES){if(typeof schema=="boolean")return!schema;for(let key in schema)if(key!=="$ref"&&RULES.all[key])return!0;return!1}exports.schemaHasRulesButRef=schemaHasRulesButRef;function schemaRefOrVal({topSchemaRef,schemaPath},schema,keyword,$data){if(!$data){if(typeof schema=="number"||typeof schema=="boolean")return schema;if(typeof schema=="string")return(0,codegen_1._)`${schema}`}return(0,codegen_1._)`${topSchemaRef}${schemaPath}${(0,codegen_1.getProperty)(keyword)}`}exports.schemaRefOrVal=schemaRefOrVal;function unescapeFragment(str){return unescapeJsonPointer(decodeURIComponent(str))}exports.unescapeFragment=unescapeFragment;function escapeFragment(str){return encodeURIComponent(escapeJsonPointer(str))}exports.escapeFragment=escapeFragment;function escapeJsonPointer(str){return typeof str=="number"?`${str}`:str.replace(/~/g,"~0").replace(/\//g,"~1")}exports.escapeJsonPointer=escapeJsonPointer;function unescapeJsonPointer(str){return str.replace(/~1/g,"/").replace(/~0/g,"~")}exports.unescapeJsonPointer=unescapeJsonPointer;function eachItem(xs,f){if(Array.isArray(xs))for(let x of xs)f(x);else f(xs)}exports.eachItem=eachItem;function makeMergeEvaluated({mergeNames,mergeToName,mergeValues:mergeValues3,resultToName}){return(gen,from,to,toName)=>{let res=to===void 0?from:to instanceof codegen_1.Name?(from instanceof codegen_1.Name?mergeNames(gen,from,to):mergeToName(gen,from,to),to):from instanceof codegen_1.Name?(mergeToName(gen,to,from),from):mergeValues3(from,to);return toName===codegen_1.Name&&!(res instanceof codegen_1.Name)?resultToName(gen,res):res}}exports.mergeEvaluated={props:makeMergeEvaluated({mergeNames:(gen,from,to)=>gen.if((0,codegen_1._)`${to} !== true && ${from} !== undefined`,()=>{gen.if((0,codegen_1._)`${from} === true`,()=>gen.assign(to,!0),()=>gen.assign(to,(0,codegen_1._)`${to} || {}`).code((0,codegen_1._)`Object.assign(${to}, ${from})`))}),mergeToName:(gen,from,to)=>gen.if((0,codegen_1._)`${to} !== true`,()=>{from===!0?gen.assign(to,!0):(gen.assign(to,(0,codegen_1._)`${to} || {}`),setEvaluated(gen,to,from))}),mergeValues:(from,to)=>from===!0?!0:{...from,...to},resultToName:evaluatedPropsToName}),items:makeMergeEvaluated({mergeNames:(gen,from,to)=>gen.if((0,codegen_1._)`${to} !== true && ${from} !== undefined`,()=>gen.assign(to,(0,codegen_1._)`${from} === true ? true : ${to} > ${from} ? ${to} : ${from}`)),mergeToName:(gen,from,to)=>gen.if((0,codegen_1._)`${to} !== true`,()=>gen.assign(to,from===!0?!0:(0,codegen_1._)`${to} > ${from} ? ${to} : ${from}`)),mergeValues:(from,to)=>from===!0?!0:Math.max(from,to),resultToName:(gen,items)=>gen.var("items",items)})};function evaluatedPropsToName(gen,ps){if(ps===!0)return gen.var("props",!0);let props=gen.var("props",(0,codegen_1._)`{}`);return ps!==void 0&&setEvaluated(gen,props,ps),props}exports.evaluatedPropsToName=evaluatedPropsToName;function setEvaluated(gen,props,ps){Object.keys(ps).forEach(p=>gen.assign((0,codegen_1._)`${props}${(0,codegen_1.getProperty)(p)}`,!0))}exports.setEvaluated=setEvaluated;var snippets={};function useFunc(gen,f){return gen.scopeValue("func",{ref:f,code:snippets[f.code]||(snippets[f.code]=new code_1._Code(f.code))})}exports.useFunc=useFunc;var Type;(function(Type2){Type2[Type2.Num=0]="Num",Type2[Type2.Str=1]="Str"})(Type||(exports.Type=Type={}));function getErrorPath(dataProp,dataPropType,jsPropertySyntax){if(dataProp instanceof codegen_1.Name){let isNumber=dataPropType===Type.Num;return jsPropertySyntax?isNumber?(0,codegen_1._)`"[" + ${dataProp} + "]"`:(0,codegen_1._)`"['" + ${dataProp} + "']"`:isNumber?(0,codegen_1._)`"/" + ${dataProp}`:(0,codegen_1._)`"/" + ${dataProp}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return jsPropertySyntax?(0,codegen_1.getProperty)(dataProp).toString():"/"+escapeJsonPointer(dataProp)}exports.getErrorPath=getErrorPath;function checkStrictMode(it,msg,mode=it.opts.strictSchema){if(mode){if(msg=`strict mode: ${msg}`,mode===!0)throw new Error(msg);it.self.logger.warn(msg)}}exports.checkStrictMode=checkStrictMode}});var require_names=__commonJS({"../node_modules/ajv/dist/compile/names.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),names={data:new codegen_1.Name("data"),valCxt:new codegen_1.Name("valCxt"),instancePath:new codegen_1.Name("instancePath"),parentData:new codegen_1.Name("parentData"),parentDataProperty:new codegen_1.Name("parentDataProperty"),rootData:new codegen_1.Name("rootData"),dynamicAnchors:new codegen_1.Name("dynamicAnchors"),vErrors:new codegen_1.Name("vErrors"),errors:new codegen_1.Name("errors"),this:new codegen_1.Name("this"),self:new codegen_1.Name("self"),scope:new codegen_1.Name("scope"),json:new codegen_1.Name("json"),jsonPos:new codegen_1.Name("jsonPos"),jsonLen:new codegen_1.Name("jsonLen"),jsonPart:new codegen_1.Name("jsonPart")};exports.default=names}});var require_errors=__commonJS({"../node_modules/ajv/dist/compile/errors.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.extendErrors=exports.resetErrorsCount=exports.reportExtraError=exports.reportError=exports.keyword$DataError=exports.keywordError=void 0;var codegen_1=require_codegen(),util_1=require_util(),names_1=require_names();exports.keywordError={message:({keyword})=>(0,codegen_1.str)`must pass "${keyword}" keyword validation`};exports.keyword$DataError={message:({keyword,schemaType})=>schemaType?(0,codegen_1.str)`"${keyword}" keyword must be ${schemaType} ($data)`:(0,codegen_1.str)`"${keyword}" keyword is invalid ($data)`};function reportError(cxt,error3=exports.keywordError,errorPaths,overrideAllErrors){let{it}=cxt,{gen,compositeRule,allErrors}=it,errObj=errorObjectCode(cxt,error3,errorPaths);overrideAllErrors??(compositeRule||allErrors)?addError(gen,errObj):returnErrors(it,(0,codegen_1._)`[${errObj}]`)}exports.reportError=reportError;function reportExtraError(cxt,error3=exports.keywordError,errorPaths){let{it}=cxt,{gen,compositeRule,allErrors}=it,errObj=errorObjectCode(cxt,error3,errorPaths);addError(gen,errObj),compositeRule||allErrors||returnErrors(it,names_1.default.vErrors)}exports.reportExtraError=reportExtraError;function resetErrorsCount(gen,errsCount){gen.assign(names_1.default.errors,errsCount),gen.if((0,codegen_1._)`${names_1.default.vErrors} !== null`,()=>gen.if(errsCount,()=>gen.assign((0,codegen_1._)`${names_1.default.vErrors}.length`,errsCount),()=>gen.assign(names_1.default.vErrors,null)))}exports.resetErrorsCount=resetErrorsCount;function extendErrors({gen,keyword,schemaValue,data,errsCount,it}){if(errsCount===void 0)throw new Error("ajv implementation error");let err=gen.name("err");gen.forRange("i",errsCount,names_1.default.errors,i=>{gen.const(err,(0,codegen_1._)`${names_1.default.vErrors}[${i}]`),gen.if((0,codegen_1._)`${err}.instancePath === undefined`,()=>gen.assign((0,codegen_1._)`${err}.instancePath`,(0,codegen_1.strConcat)(names_1.default.instancePath,it.errorPath))),gen.assign((0,codegen_1._)`${err}.schemaPath`,(0,codegen_1.str)`${it.errSchemaPath}/${keyword}`),it.opts.verbose&&(gen.assign((0,codegen_1._)`${err}.schema`,schemaValue),gen.assign((0,codegen_1._)`${err}.data`,data))})}exports.extendErrors=extendErrors;function addError(gen,errObj){let err=gen.const("err",errObj);gen.if((0,codegen_1._)`${names_1.default.vErrors} === null`,()=>gen.assign(names_1.default.vErrors,(0,codegen_1._)`[${err}]`),(0,codegen_1._)`${names_1.default.vErrors}.push(${err})`),gen.code((0,codegen_1._)`${names_1.default.errors}++`)}function returnErrors(it,errs){let{gen,validateName,schemaEnv}=it;schemaEnv.$async?gen.throw((0,codegen_1._)`new ${it.ValidationError}(${errs})`):(gen.assign((0,codegen_1._)`${validateName}.errors`,errs),gen.return(!1))}var E={keyword:new codegen_1.Name("keyword"),schemaPath:new codegen_1.Name("schemaPath"),params:new codegen_1.Name("params"),propertyName:new codegen_1.Name("propertyName"),message:new codegen_1.Name("message"),schema:new codegen_1.Name("schema"),parentSchema:new codegen_1.Name("parentSchema")};function errorObjectCode(cxt,error3,errorPaths){let{createErrors}=cxt.it;return createErrors===!1?(0,codegen_1._)`{}`:errorObject(cxt,error3,errorPaths)}function errorObject(cxt,error3,errorPaths={}){let{gen,it}=cxt,keyValues=[errorInstancePath(it,errorPaths),errorSchemaPath(cxt,errorPaths)];return extraErrorProps(cxt,error3,keyValues),gen.object(...keyValues)}function errorInstancePath({errorPath},{instancePath}){let instPath=instancePath?(0,codegen_1.str)`${errorPath}${(0,util_1.getErrorPath)(instancePath,util_1.Type.Str)}`:errorPath;return[names_1.default.instancePath,(0,codegen_1.strConcat)(names_1.default.instancePath,instPath)]}function errorSchemaPath({keyword,it:{errSchemaPath}},{schemaPath,parentSchema}){let schPath=parentSchema?errSchemaPath:(0,codegen_1.str)`${errSchemaPath}/${keyword}`;return schemaPath&&(schPath=(0,codegen_1.str)`${schPath}${(0,util_1.getErrorPath)(schemaPath,util_1.Type.Str)}`),[E.schemaPath,schPath]}function extraErrorProps(cxt,{params,message},keyValues){let{keyword,data,schemaValue,it}=cxt,{opts,propertyName,topSchemaRef,schemaPath}=it;keyValues.push([E.keyword,keyword],[E.params,typeof params=="function"?params(cxt):params||(0,codegen_1._)`{}`]),opts.messages&&keyValues.push([E.message,typeof message=="function"?message(cxt):message]),opts.verbose&&keyValues.push([E.schema,schemaValue],[E.parentSchema,(0,codegen_1._)`${topSchemaRef}${schemaPath}`],[names_1.default.data,data]),propertyName&&keyValues.push([E.propertyName,propertyName])}}});var require_boolSchema=__commonJS({"../node_modules/ajv/dist/compile/validate/boolSchema.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.boolOrEmptySchema=exports.topBoolOrEmptySchema=void 0;var errors_1=require_errors(),codegen_1=require_codegen(),names_1=require_names(),boolError={message:"boolean schema is false"};function topBoolOrEmptySchema(it){let{gen,schema,validateName}=it;schema===!1?falseSchemaError(it,!1):typeof schema=="object"&&schema.$async===!0?gen.return(names_1.default.data):(gen.assign((0,codegen_1._)`${validateName}.errors`,null),gen.return(!0))}exports.topBoolOrEmptySchema=topBoolOrEmptySchema;function boolOrEmptySchema(it,valid){let{gen,schema}=it;schema===!1?(gen.var(valid,!1),falseSchemaError(it)):gen.var(valid,!0)}exports.boolOrEmptySchema=boolOrEmptySchema;function falseSchemaError(it,overrideAllErrors){let{gen,data}=it,cxt={gen,keyword:"false schema",data,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it};(0,errors_1.reportError)(cxt,boolError,void 0,overrideAllErrors)}}});var require_rules=__commonJS({"../node_modules/ajv/dist/compile/rules.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getRules=exports.isJSONType=void 0;var _jsonTypes=["string","number","integer","boolean","null","object","array"],jsonTypes=new Set(_jsonTypes);function isJSONType(x){return typeof x=="string"&&jsonTypes.has(x)}exports.isJSONType=isJSONType;function getRules(){let groups={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...groups,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},groups.number,groups.string,groups.array,groups.object],post:{rules:[]},all:{},keywords:{}}}exports.getRules=getRules}});var require_applicability=__commonJS({"../node_modules/ajv/dist/compile/validate/applicability.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.shouldUseRule=exports.shouldUseGroup=exports.schemaHasRulesForType=void 0;function schemaHasRulesForType({schema,self},type){let group=self.RULES.types[type];return group&&group!==!0&&shouldUseGroup(schema,group)}exports.schemaHasRulesForType=schemaHasRulesForType;function shouldUseGroup(schema,group){return group.rules.some(rule=>shouldUseRule(schema,rule))}exports.shouldUseGroup=shouldUseGroup;function shouldUseRule(schema,rule){var _a;return schema[rule.keyword]!==void 0||((_a=rule.definition.implements)===null||_a===void 0?void 0:_a.some(kwd=>schema[kwd]!==void 0))}exports.shouldUseRule=shouldUseRule}});var require_dataType=__commonJS({"../node_modules/ajv/dist/compile/validate/dataType.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.reportTypeError=exports.checkDataTypes=exports.checkDataType=exports.coerceAndCheckDataType=exports.getJSONTypes=exports.getSchemaTypes=exports.DataType=void 0;var rules_1=require_rules(),applicability_1=require_applicability(),errors_1=require_errors(),codegen_1=require_codegen(),util_1=require_util(),DataType;(function(DataType2){DataType2[DataType2.Correct=0]="Correct",DataType2[DataType2.Wrong=1]="Wrong"})(DataType||(exports.DataType=DataType={}));function getSchemaTypes(schema){let types=getJSONTypes(schema.type);if(types.includes("null")){if(schema.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!types.length&&schema.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');schema.nullable===!0&&types.push("null")}return types}exports.getSchemaTypes=getSchemaTypes;function getJSONTypes(ts){let types=Array.isArray(ts)?ts:ts?[ts]:[];if(types.every(rules_1.isJSONType))return types;throw new Error("type must be JSONType or JSONType[]: "+types.join(","))}exports.getJSONTypes=getJSONTypes;function coerceAndCheckDataType(it,types){let{gen,data,opts}=it,coerceTo=coerceToTypes(types,opts.coerceTypes),checkTypes=types.length>0&&!(coerceTo.length===0&&types.length===1&&(0,applicability_1.schemaHasRulesForType)(it,types[0]));if(checkTypes){let wrongType=checkDataTypes(types,data,opts.strictNumbers,DataType.Wrong);gen.if(wrongType,()=>{coerceTo.length?coerceData(it,types,coerceTo):reportTypeError(it)})}return checkTypes}exports.coerceAndCheckDataType=coerceAndCheckDataType;var COERCIBLE=new Set(["string","number","integer","boolean","null"]);function coerceToTypes(types,coerceTypes){return coerceTypes?types.filter(t=>COERCIBLE.has(t)||coerceTypes==="array"&&t==="array"):[]}function coerceData(it,types,coerceTo){let{gen,data,opts}=it,dataType=gen.let("dataType",(0,codegen_1._)`typeof ${data}`),coerced=gen.let("coerced",(0,codegen_1._)`undefined`);opts.coerceTypes==="array"&&gen.if((0,codegen_1._)`${dataType} == 'object' && Array.isArray(${data}) && ${data}.length == 1`,()=>gen.assign(data,(0,codegen_1._)`${data}[0]`).assign(dataType,(0,codegen_1._)`typeof ${data}`).if(checkDataTypes(types,data,opts.strictNumbers),()=>gen.assign(coerced,data))),gen.if((0,codegen_1._)`${coerced} !== undefined`);for(let t of coerceTo)(COERCIBLE.has(t)||t==="array"&&opts.coerceTypes==="array")&&coerceSpecificType(t);gen.else(),reportTypeError(it),gen.endIf(),gen.if((0,codegen_1._)`${coerced} !== undefined`,()=>{gen.assign(data,coerced),assignParentData(it,coerced)});function coerceSpecificType(t){switch(t){case"string":gen.elseIf((0,codegen_1._)`${dataType} == "number" || ${dataType} == "boolean"`).assign(coerced,(0,codegen_1._)`"" + ${data}`).elseIf((0,codegen_1._)`${data} === null`).assign(coerced,(0,codegen_1._)`""`);return;case"number":gen.elseIf((0,codegen_1._)`${dataType} == "boolean" || ${data} === null
|
|
6
|
+
|| (${dataType} == "string" && ${data} && ${data} == +${data})`).assign(coerced,(0,codegen_1._)`+${data}`);return;case"integer":gen.elseIf((0,codegen_1._)`${dataType} === "boolean" || ${data} === null
|
|
7
|
+
|| (${dataType} === "string" && ${data} && ${data} == +${data} && !(${data} % 1))`).assign(coerced,(0,codegen_1._)`+${data}`);return;case"boolean":gen.elseIf((0,codegen_1._)`${data} === "false" || ${data} === 0 || ${data} === null`).assign(coerced,!1).elseIf((0,codegen_1._)`${data} === "true" || ${data} === 1`).assign(coerced,!0);return;case"null":gen.elseIf((0,codegen_1._)`${data} === "" || ${data} === 0 || ${data} === false`),gen.assign(coerced,null);return;case"array":gen.elseIf((0,codegen_1._)`${dataType} === "string" || ${dataType} === "number"
|
|
8
|
+
|| ${dataType} === "boolean" || ${data} === null`).assign(coerced,(0,codegen_1._)`[${data}]`)}}}function assignParentData({gen,parentData,parentDataProperty},expr){gen.if((0,codegen_1._)`${parentData} !== undefined`,()=>gen.assign((0,codegen_1._)`${parentData}[${parentDataProperty}]`,expr))}function checkDataType(dataType,data,strictNums,correct=DataType.Correct){let EQ=correct===DataType.Correct?codegen_1.operators.EQ:codegen_1.operators.NEQ,cond;switch(dataType){case"null":return(0,codegen_1._)`${data} ${EQ} null`;case"array":cond=(0,codegen_1._)`Array.isArray(${data})`;break;case"object":cond=(0,codegen_1._)`${data} && typeof ${data} == "object" && !Array.isArray(${data})`;break;case"integer":cond=numCond((0,codegen_1._)`!(${data} % 1) && !isNaN(${data})`);break;case"number":cond=numCond();break;default:return(0,codegen_1._)`typeof ${data} ${EQ} ${dataType}`}return correct===DataType.Correct?cond:(0,codegen_1.not)(cond);function numCond(_cond=codegen_1.nil){return(0,codegen_1.and)((0,codegen_1._)`typeof ${data} == "number"`,_cond,strictNums?(0,codegen_1._)`isFinite(${data})`:codegen_1.nil)}}exports.checkDataType=checkDataType;function checkDataTypes(dataTypes,data,strictNums,correct){if(dataTypes.length===1)return checkDataType(dataTypes[0],data,strictNums,correct);let cond,types=(0,util_1.toHash)(dataTypes);if(types.array&&types.object){let notObj=(0,codegen_1._)`typeof ${data} != "object"`;cond=types.null?notObj:(0,codegen_1._)`!${data} || ${notObj}`,delete types.null,delete types.array,delete types.object}else cond=codegen_1.nil;types.number&&delete types.integer;for(let t in types)cond=(0,codegen_1.and)(cond,checkDataType(t,data,strictNums,correct));return cond}exports.checkDataTypes=checkDataTypes;var typeError={message:({schema})=>`must be ${schema}`,params:({schema,schemaValue})=>typeof schema=="string"?(0,codegen_1._)`{type: ${schema}}`:(0,codegen_1._)`{type: ${schemaValue}}`};function reportTypeError(it){let cxt=getTypeErrorContext(it);(0,errors_1.reportError)(cxt,typeError)}exports.reportTypeError=reportTypeError;function getTypeErrorContext(it){let{gen,data,schema}=it,schemaCode=(0,util_1.schemaRefOrVal)(it,schema,"type");return{gen,keyword:"type",data,schema:schema.type,schemaCode,schemaValue:schemaCode,parentSchema:schema,params:{},it}}}});var require_defaults=__commonJS({"../node_modules/ajv/dist/compile/validate/defaults.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.assignDefaults=void 0;var codegen_1=require_codegen(),util_1=require_util();function assignDefaults(it,ty){let{properties,items}=it.schema;if(ty==="object"&&properties)for(let key in properties)assignDefault(it,key,properties[key].default);else ty==="array"&&Array.isArray(items)&&items.forEach((sch,i)=>assignDefault(it,i,sch.default))}exports.assignDefaults=assignDefaults;function assignDefault(it,prop,defaultValue){let{gen,compositeRule,data,opts}=it;if(defaultValue===void 0)return;let childData=(0,codegen_1._)`${data}${(0,codegen_1.getProperty)(prop)}`;if(compositeRule){(0,util_1.checkStrictMode)(it,`default is ignored for: ${childData}`);return}let condition=(0,codegen_1._)`${childData} === undefined`;opts.useDefaults==="empty"&&(condition=(0,codegen_1._)`${condition} || ${childData} === null || ${childData} === ""`),gen.if(condition,(0,codegen_1._)`${childData} = ${(0,codegen_1.stringify)(defaultValue)}`)}}});var require_code2=__commonJS({"../node_modules/ajv/dist/vocabularies/code.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.validateUnion=exports.validateArray=exports.usePattern=exports.callValidateCode=exports.schemaProperties=exports.allSchemaProperties=exports.noPropertyInData=exports.propertyInData=exports.isOwnProperty=exports.hasPropFunc=exports.reportMissingProp=exports.checkMissingProp=exports.checkReportMissingProp=void 0;var codegen_1=require_codegen(),util_1=require_util(),names_1=require_names(),util_2=require_util();function checkReportMissingProp(cxt,prop){let{gen,data,it}=cxt;gen.if(noPropertyInData(gen,data,prop,it.opts.ownProperties),()=>{cxt.setParams({missingProperty:(0,codegen_1._)`${prop}`},!0),cxt.error()})}exports.checkReportMissingProp=checkReportMissingProp;function checkMissingProp({gen,data,it:{opts}},properties,missing){return(0,codegen_1.or)(...properties.map(prop=>(0,codegen_1.and)(noPropertyInData(gen,data,prop,opts.ownProperties),(0,codegen_1._)`${missing} = ${prop}`)))}exports.checkMissingProp=checkMissingProp;function reportMissingProp(cxt,missing){cxt.setParams({missingProperty:missing},!0),cxt.error()}exports.reportMissingProp=reportMissingProp;function hasPropFunc(gen){return gen.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,codegen_1._)`Object.prototype.hasOwnProperty`})}exports.hasPropFunc=hasPropFunc;function isOwnProperty(gen,data,property){return(0,codegen_1._)`${hasPropFunc(gen)}.call(${data}, ${property})`}exports.isOwnProperty=isOwnProperty;function propertyInData(gen,data,property,ownProperties){let cond=(0,codegen_1._)`${data}${(0,codegen_1.getProperty)(property)} !== undefined`;return ownProperties?(0,codegen_1._)`${cond} && ${isOwnProperty(gen,data,property)}`:cond}exports.propertyInData=propertyInData;function noPropertyInData(gen,data,property,ownProperties){let cond=(0,codegen_1._)`${data}${(0,codegen_1.getProperty)(property)} === undefined`;return ownProperties?(0,codegen_1.or)(cond,(0,codegen_1.not)(isOwnProperty(gen,data,property))):cond}exports.noPropertyInData=noPropertyInData;function allSchemaProperties(schemaMap){return schemaMap?Object.keys(schemaMap).filter(p=>p!=="__proto__"):[]}exports.allSchemaProperties=allSchemaProperties;function schemaProperties(it,schemaMap){return allSchemaProperties(schemaMap).filter(p=>!(0,util_1.alwaysValidSchema)(it,schemaMap[p]))}exports.schemaProperties=schemaProperties;function callValidateCode({schemaCode,data,it:{gen,topSchemaRef,schemaPath,errorPath},it},func,context,passSchema){let dataAndSchema=passSchema?(0,codegen_1._)`${schemaCode}, ${data}, ${topSchemaRef}${schemaPath}`:data,valCxt=[[names_1.default.instancePath,(0,codegen_1.strConcat)(names_1.default.instancePath,errorPath)],[names_1.default.parentData,it.parentData],[names_1.default.parentDataProperty,it.parentDataProperty],[names_1.default.rootData,names_1.default.rootData]];it.opts.dynamicRef&&valCxt.push([names_1.default.dynamicAnchors,names_1.default.dynamicAnchors]);let args=(0,codegen_1._)`${dataAndSchema}, ${gen.object(...valCxt)}`;return context!==codegen_1.nil?(0,codegen_1._)`${func}.call(${context}, ${args})`:(0,codegen_1._)`${func}(${args})`}exports.callValidateCode=callValidateCode;var newRegExp=(0,codegen_1._)`new RegExp`;function usePattern({gen,it:{opts}},pattern){let u=opts.unicodeRegExp?"u":"",{regExp}=opts.code,rx=regExp(pattern,u);return gen.scopeValue("pattern",{key:rx.toString(),ref:rx,code:(0,codegen_1._)`${regExp.code==="new RegExp"?newRegExp:(0,util_2.useFunc)(gen,regExp)}(${pattern}, ${u})`})}exports.usePattern=usePattern;function validateArray(cxt){let{gen,data,keyword,it}=cxt,valid=gen.name("valid");if(it.allErrors){let validArr=gen.let("valid",!0);return validateItems(()=>gen.assign(validArr,!1)),validArr}return gen.var(valid,!0),validateItems(()=>gen.break()),valid;function validateItems(notValid){let len=gen.const("len",(0,codegen_1._)`${data}.length`);gen.forRange("i",0,len,i=>{cxt.subschema({keyword,dataProp:i,dataPropType:util_1.Type.Num},valid),gen.if((0,codegen_1.not)(valid),notValid)})}}exports.validateArray=validateArray;function validateUnion(cxt){let{gen,schema,keyword,it}=cxt;if(!Array.isArray(schema))throw new Error("ajv implementation error");if(schema.some(sch=>(0,util_1.alwaysValidSchema)(it,sch))&&!it.opts.unevaluated)return;let valid=gen.let("valid",!1),schValid=gen.name("_valid");gen.block(()=>schema.forEach((_sch,i)=>{let schCxt=cxt.subschema({keyword,schemaProp:i,compositeRule:!0},schValid);gen.assign(valid,(0,codegen_1._)`${valid} || ${schValid}`),cxt.mergeValidEvaluated(schCxt,schValid)||gen.if((0,codegen_1.not)(valid))})),cxt.result(valid,()=>cxt.reset(),()=>cxt.error(!0))}exports.validateUnion=validateUnion}});var require_keyword=__commonJS({"../node_modules/ajv/dist/compile/validate/keyword.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.validateKeywordUsage=exports.validSchemaType=exports.funcKeywordCode=exports.macroKeywordCode=void 0;var codegen_1=require_codegen(),names_1=require_names(),code_1=require_code2(),errors_1=require_errors();function macroKeywordCode(cxt,def){let{gen,keyword,schema,parentSchema,it}=cxt,macroSchema=def.macro.call(it.self,schema,parentSchema,it),schemaRef=useKeyword(gen,keyword,macroSchema);it.opts.validateSchema!==!1&&it.self.validateSchema(macroSchema,!0);let valid=gen.name("valid");cxt.subschema({schema:macroSchema,schemaPath:codegen_1.nil,errSchemaPath:`${it.errSchemaPath}/${keyword}`,topSchemaRef:schemaRef,compositeRule:!0},valid),cxt.pass(valid,()=>cxt.error(!0))}exports.macroKeywordCode=macroKeywordCode;function funcKeywordCode(cxt,def){var _a;let{gen,keyword,schema,parentSchema,$data,it}=cxt;checkAsyncKeyword(it,def);let validate=!$data&&def.compile?def.compile.call(it.self,schema,parentSchema,it):def.validate,validateRef=useKeyword(gen,keyword,validate),valid=gen.let("valid");cxt.block$data(valid,validateKeyword),cxt.ok((_a=def.valid)!==null&&_a!==void 0?_a:valid);function validateKeyword(){if(def.errors===!1)assignValid(),def.modifying&&modifyData(cxt),reportErrs(()=>cxt.error());else{let ruleErrs=def.async?validateAsync():validateSync();def.modifying&&modifyData(cxt),reportErrs(()=>addErrs(cxt,ruleErrs))}}function validateAsync(){let ruleErrs=gen.let("ruleErrs",null);return gen.try(()=>assignValid((0,codegen_1._)`await `),e=>gen.assign(valid,!1).if((0,codegen_1._)`${e} instanceof ${it.ValidationError}`,()=>gen.assign(ruleErrs,(0,codegen_1._)`${e}.errors`),()=>gen.throw(e))),ruleErrs}function validateSync(){let validateErrs=(0,codegen_1._)`${validateRef}.errors`;return gen.assign(validateErrs,null),assignValid(codegen_1.nil),validateErrs}function assignValid(_await=def.async?(0,codegen_1._)`await `:codegen_1.nil){let passCxt=it.opts.passContext?names_1.default.this:names_1.default.self,passSchema=!("compile"in def&&!$data||def.schema===!1);gen.assign(valid,(0,codegen_1._)`${_await}${(0,code_1.callValidateCode)(cxt,validateRef,passCxt,passSchema)}`,def.modifying)}function reportErrs(errors){var _a2;gen.if((0,codegen_1.not)((_a2=def.valid)!==null&&_a2!==void 0?_a2:valid),errors)}}exports.funcKeywordCode=funcKeywordCode;function modifyData(cxt){let{gen,data,it}=cxt;gen.if(it.parentData,()=>gen.assign(data,(0,codegen_1._)`${it.parentData}[${it.parentDataProperty}]`))}function addErrs(cxt,errs){let{gen}=cxt;gen.if((0,codegen_1._)`Array.isArray(${errs})`,()=>{gen.assign(names_1.default.vErrors,(0,codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`).assign(names_1.default.errors,(0,codegen_1._)`${names_1.default.vErrors}.length`),(0,errors_1.extendErrors)(cxt)},()=>cxt.error())}function checkAsyncKeyword({schemaEnv},def){if(def.async&&!schemaEnv.$async)throw new Error("async keyword in sync schema")}function useKeyword(gen,keyword,result){if(result===void 0)throw new Error(`keyword "${keyword}" failed to compile`);return gen.scopeValue("keyword",typeof result=="function"?{ref:result}:{ref:result,code:(0,codegen_1.stringify)(result)})}function validSchemaType(schema,schemaType,allowUndefined=!1){return!schemaType.length||schemaType.some(st=>st==="array"?Array.isArray(schema):st==="object"?schema&&typeof schema=="object"&&!Array.isArray(schema):typeof schema==st||allowUndefined&&typeof schema>"u")}exports.validSchemaType=validSchemaType;function validateKeywordUsage({schema,opts,self,errSchemaPath},def,keyword){if(Array.isArray(def.keyword)?!def.keyword.includes(keyword):def.keyword!==keyword)throw new Error("ajv implementation error");let deps=def.dependencies;if(deps?.some(kwd=>!Object.prototype.hasOwnProperty.call(schema,kwd)))throw new Error(`parent schema must have dependencies of ${keyword}: ${deps.join(",")}`);if(def.validateSchema&&!def.validateSchema(schema[keyword])){let msg=`keyword "${keyword}" value is invalid at path "${errSchemaPath}": `+self.errorsText(def.validateSchema.errors);if(opts.validateSchema==="log")self.logger.error(msg);else throw new Error(msg)}}exports.validateKeywordUsage=validateKeywordUsage}});var require_subschema=__commonJS({"../node_modules/ajv/dist/compile/validate/subschema.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.extendSubschemaMode=exports.extendSubschemaData=exports.getSubschema=void 0;var codegen_1=require_codegen(),util_1=require_util();function getSubschema(it,{keyword,schemaProp,schema,schemaPath,errSchemaPath,topSchemaRef}){if(keyword!==void 0&&schema!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(keyword!==void 0){let sch=it.schema[keyword];return schemaProp===void 0?{schema:sch,schemaPath:(0,codegen_1._)`${it.schemaPath}${(0,codegen_1.getProperty)(keyword)}`,errSchemaPath:`${it.errSchemaPath}/${keyword}`}:{schema:sch[schemaProp],schemaPath:(0,codegen_1._)`${it.schemaPath}${(0,codegen_1.getProperty)(keyword)}${(0,codegen_1.getProperty)(schemaProp)}`,errSchemaPath:`${it.errSchemaPath}/${keyword}/${(0,util_1.escapeFragment)(schemaProp)}`}}if(schema!==void 0){if(schemaPath===void 0||errSchemaPath===void 0||topSchemaRef===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema,schemaPath,topSchemaRef,errSchemaPath}}throw new Error('either "keyword" or "schema" must be passed')}exports.getSubschema=getSubschema;function extendSubschemaData(subschema,it,{dataProp,dataPropType:dpType,data,dataTypes,propertyName}){if(data!==void 0&&dataProp!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen}=it;if(dataProp!==void 0){let{errorPath,dataPathArr,opts}=it,nextData=gen.let("data",(0,codegen_1._)`${it.data}${(0,codegen_1.getProperty)(dataProp)}`,!0);dataContextProps(nextData),subschema.errorPath=(0,codegen_1.str)`${errorPath}${(0,util_1.getErrorPath)(dataProp,dpType,opts.jsPropertySyntax)}`,subschema.parentDataProperty=(0,codegen_1._)`${dataProp}`,subschema.dataPathArr=[...dataPathArr,subschema.parentDataProperty]}if(data!==void 0){let nextData=data instanceof codegen_1.Name?data:gen.let("data",data,!0);dataContextProps(nextData),propertyName!==void 0&&(subschema.propertyName=propertyName)}dataTypes&&(subschema.dataTypes=dataTypes);function dataContextProps(_nextData){subschema.data=_nextData,subschema.dataLevel=it.dataLevel+1,subschema.dataTypes=[],it.definedProperties=new Set,subschema.parentData=it.data,subschema.dataNames=[...it.dataNames,_nextData]}}exports.extendSubschemaData=extendSubschemaData;function extendSubschemaMode(subschema,{jtdDiscriminator,jtdMetadata,compositeRule,createErrors,allErrors}){compositeRule!==void 0&&(subschema.compositeRule=compositeRule),createErrors!==void 0&&(subschema.createErrors=createErrors),allErrors!==void 0&&(subschema.allErrors=allErrors),subschema.jtdDiscriminator=jtdDiscriminator,subschema.jtdMetadata=jtdMetadata}exports.extendSubschemaMode=extendSubschemaMode}});var require_fast_deep_equal=__commonJS({"../node_modules/fast-deep-equal/index.js"(exports,module){"use strict";module.exports=function equal(a,b){if(a===b)return!0;if(a&&b&&typeof a=="object"&&typeof b=="object"){if(a.constructor!==b.constructor)return!1;var length,i,keys;if(Array.isArray(a)){if(length=a.length,length!=b.length)return!1;for(i=length;i--!==0;)if(!equal(a[i],b[i]))return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();if(keys=Object.keys(a),length=keys.length,length!==Object.keys(b).length)return!1;for(i=length;i--!==0;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return!1;for(i=length;i--!==0;){var key=keys[i];if(!equal(a[key],b[key]))return!1}return!0}return a!==a&&b!==b}}});var require_json_schema_traverse=__commonJS({"../node_modules/ajv/node_modules/json-schema-traverse/index.js"(exports,module){"use strict";var traverse=module.exports=function(schema,opts,cb){typeof opts=="function"&&(cb=opts,opts={}),cb=opts.cb||cb;var pre=typeof cb=="function"?cb:cb.pre||function(){},post=cb.post||function(){};_traverse(opts,pre,post,schema,"",schema)};traverse.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};traverse.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};traverse.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};traverse.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 _traverse(opts,pre,post,schema,jsonPtr,rootSchema,parentJsonPtr,parentKeyword,parentSchema,keyIndex){if(schema&&typeof schema=="object"&&!Array.isArray(schema)){pre(schema,jsonPtr,rootSchema,parentJsonPtr,parentKeyword,parentSchema,keyIndex);for(var key in schema){var sch=schema[key];if(Array.isArray(sch)){if(key in traverse.arrayKeywords)for(var i=0;i<sch.length;i++)_traverse(opts,pre,post,sch[i],jsonPtr+"/"+key+"/"+i,rootSchema,jsonPtr,key,schema,i)}else if(key in traverse.propsKeywords){if(sch&&typeof sch=="object")for(var prop in sch)_traverse(opts,pre,post,sch[prop],jsonPtr+"/"+key+"/"+escapeJsonPtr(prop),rootSchema,jsonPtr,key,schema,prop)}else(key in traverse.keywords||opts.allKeys&&!(key in traverse.skipKeywords))&&_traverse(opts,pre,post,sch,jsonPtr+"/"+key,rootSchema,jsonPtr,key,schema)}post(schema,jsonPtr,rootSchema,parentJsonPtr,parentKeyword,parentSchema,keyIndex)}}function escapeJsonPtr(str){return str.replace(/~/g,"~0").replace(/\//g,"~1")}}});var require_resolve=__commonJS({"../node_modules/ajv/dist/compile/resolve.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getSchemaRefs=exports.resolveUrl=exports.normalizeId=exports._getFullPath=exports.getFullPath=exports.inlineRef=void 0;var util_1=require_util(),equal=require_fast_deep_equal(),traverse=require_json_schema_traverse(),SIMPLE_INLINED=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function inlineRef(schema,limit=!0){return typeof schema=="boolean"?!0:limit===!0?!hasRef(schema):limit?countKeys(schema)<=limit:!1}exports.inlineRef=inlineRef;var REF_KEYWORDS=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function hasRef(schema){for(let key in schema){if(REF_KEYWORDS.has(key))return!0;let sch=schema[key];if(Array.isArray(sch)&&sch.some(hasRef)||typeof sch=="object"&&hasRef(sch))return!0}return!1}function countKeys(schema){let count=0;for(let key in schema){if(key==="$ref")return 1/0;if(count++,!SIMPLE_INLINED.has(key)&&(typeof schema[key]=="object"&&(0,util_1.eachItem)(schema[key],sch=>count+=countKeys(sch)),count===1/0))return 1/0}return count}function getFullPath(resolver,id="",normalize2){normalize2!==!1&&(id=normalizeId(id));let p=resolver.parse(id);return _getFullPath(resolver,p)}exports.getFullPath=getFullPath;function _getFullPath(resolver,p){return resolver.serialize(p).split("#")[0]+"#"}exports._getFullPath=_getFullPath;var TRAILING_SLASH_HASH=/#\/?$/;function normalizeId(id){return id?id.replace(TRAILING_SLASH_HASH,""):""}exports.normalizeId=normalizeId;function resolveUrl(resolver,baseId,id){return id=normalizeId(id),resolver.resolve(baseId,id)}exports.resolveUrl=resolveUrl;var ANCHOR=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(schema,baseId){if(typeof schema=="boolean")return{};let{schemaId,uriResolver}=this.opts,schId=normalizeId(schema[schemaId]||baseId),baseIds={"":schId},pathPrefix=getFullPath(uriResolver,schId,!1),localRefs={},schemaRefs=new Set;return traverse(schema,{allKeys:!0},(sch,jsonPtr,_,parentJsonPtr)=>{if(parentJsonPtr===void 0)return;let fullPath=pathPrefix+jsonPtr,innerBaseId=baseIds[parentJsonPtr];typeof sch[schemaId]=="string"&&(innerBaseId=addRef.call(this,sch[schemaId])),addAnchor.call(this,sch.$anchor),addAnchor.call(this,sch.$dynamicAnchor),baseIds[jsonPtr]=innerBaseId;function addRef(ref){let _resolve=this.opts.uriResolver.resolve;if(ref=normalizeId(innerBaseId?_resolve(innerBaseId,ref):ref),schemaRefs.has(ref))throw ambiguos(ref);schemaRefs.add(ref);let schOrRef=this.refs[ref];return typeof schOrRef=="string"&&(schOrRef=this.refs[schOrRef]),typeof schOrRef=="object"?checkAmbiguosRef(sch,schOrRef.schema,ref):ref!==normalizeId(fullPath)&&(ref[0]==="#"?(checkAmbiguosRef(sch,localRefs[ref],ref),localRefs[ref]=sch):this.refs[ref]=fullPath),ref}function addAnchor(anchor){if(typeof anchor=="string"){if(!ANCHOR.test(anchor))throw new Error(`invalid anchor "${anchor}"`);addRef.call(this,`#${anchor}`)}}}),localRefs;function checkAmbiguosRef(sch1,sch2,ref){if(sch2!==void 0&&!equal(sch1,sch2))throw ambiguos(ref)}function ambiguos(ref){return new Error(`reference "${ref}" resolves to more than one schema`)}}exports.getSchemaRefs=getSchemaRefs}});var require_validate=__commonJS({"../node_modules/ajv/dist/compile/validate/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getData=exports.KeywordCxt=exports.validateFunctionCode=void 0;var boolSchema_1=require_boolSchema(),dataType_1=require_dataType(),applicability_1=require_applicability(),dataType_2=require_dataType(),defaults_1=require_defaults(),keyword_1=require_keyword(),subschema_1=require_subschema(),codegen_1=require_codegen(),names_1=require_names(),resolve_1=require_resolve(),util_1=require_util(),errors_1=require_errors();function validateFunctionCode(it){if(isSchemaObj(it)&&(checkKeywords(it),schemaCxtHasRules(it))){topSchemaObjCode(it);return}validateFunction(it,()=>(0,boolSchema_1.topBoolOrEmptySchema)(it))}exports.validateFunctionCode=validateFunctionCode;function validateFunction({gen,validateName,schema,schemaEnv,opts},body){opts.code.es5?gen.func(validateName,(0,codegen_1._)`${names_1.default.data}, ${names_1.default.valCxt}`,schemaEnv.$async,()=>{gen.code((0,codegen_1._)`"use strict"; ${funcSourceUrl(schema,opts)}`),destructureValCxtES5(gen,opts),gen.code(body)}):gen.func(validateName,(0,codegen_1._)`${names_1.default.data}, ${destructureValCxt(opts)}`,schemaEnv.$async,()=>gen.code(funcSourceUrl(schema,opts)).code(body))}function destructureValCxt(opts){return(0,codegen_1._)`{${names_1.default.instancePath}="", ${names_1.default.parentData}, ${names_1.default.parentDataProperty}, ${names_1.default.rootData}=${names_1.default.data}${opts.dynamicRef?(0,codegen_1._)`, ${names_1.default.dynamicAnchors}={}`:codegen_1.nil}}={}`}function destructureValCxtES5(gen,opts){gen.if(names_1.default.valCxt,()=>{gen.var(names_1.default.instancePath,(0,codegen_1._)`${names_1.default.valCxt}.${names_1.default.instancePath}`),gen.var(names_1.default.parentData,(0,codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentData}`),gen.var(names_1.default.parentDataProperty,(0,codegen_1._)`${names_1.default.valCxt}.${names_1.default.parentDataProperty}`),gen.var(names_1.default.rootData,(0,codegen_1._)`${names_1.default.valCxt}.${names_1.default.rootData}`),opts.dynamicRef&&gen.var(names_1.default.dynamicAnchors,(0,codegen_1._)`${names_1.default.valCxt}.${names_1.default.dynamicAnchors}`)},()=>{gen.var(names_1.default.instancePath,(0,codegen_1._)`""`),gen.var(names_1.default.parentData,(0,codegen_1._)`undefined`),gen.var(names_1.default.parentDataProperty,(0,codegen_1._)`undefined`),gen.var(names_1.default.rootData,names_1.default.data),opts.dynamicRef&&gen.var(names_1.default.dynamicAnchors,(0,codegen_1._)`{}`)})}function topSchemaObjCode(it){let{schema,opts,gen}=it;validateFunction(it,()=>{opts.$comment&&schema.$comment&&commentKeyword(it),checkNoDefault(it),gen.let(names_1.default.vErrors,null),gen.let(names_1.default.errors,0),opts.unevaluated&&resetEvaluated(it),typeAndKeywords(it),returnResults(it)})}function resetEvaluated(it){let{gen,validateName}=it;it.evaluated=gen.const("evaluated",(0,codegen_1._)`${validateName}.evaluated`),gen.if((0,codegen_1._)`${it.evaluated}.dynamicProps`,()=>gen.assign((0,codegen_1._)`${it.evaluated}.props`,(0,codegen_1._)`undefined`)),gen.if((0,codegen_1._)`${it.evaluated}.dynamicItems`,()=>gen.assign((0,codegen_1._)`${it.evaluated}.items`,(0,codegen_1._)`undefined`))}function funcSourceUrl(schema,opts){let schId=typeof schema=="object"&&schema[opts.schemaId];return schId&&(opts.code.source||opts.code.process)?(0,codegen_1._)`/*# sourceURL=${schId} */`:codegen_1.nil}function subschemaCode(it,valid){if(isSchemaObj(it)&&(checkKeywords(it),schemaCxtHasRules(it))){subSchemaObjCode(it,valid);return}(0,boolSchema_1.boolOrEmptySchema)(it,valid)}function schemaCxtHasRules({schema,self}){if(typeof schema=="boolean")return!schema;for(let key in schema)if(self.RULES.all[key])return!0;return!1}function isSchemaObj(it){return typeof it.schema!="boolean"}function subSchemaObjCode(it,valid){let{schema,gen,opts}=it;opts.$comment&&schema.$comment&&commentKeyword(it),updateContext(it),checkAsyncSchema(it);let errsCount=gen.const("_errs",names_1.default.errors);typeAndKeywords(it,errsCount),gen.var(valid,(0,codegen_1._)`${errsCount} === ${names_1.default.errors}`)}function checkKeywords(it){(0,util_1.checkUnknownRules)(it),checkRefsAndKeywords(it)}function typeAndKeywords(it,errsCount){if(it.opts.jtd)return schemaKeywords(it,[],!1,errsCount);let types=(0,dataType_1.getSchemaTypes)(it.schema),checkedTypes=(0,dataType_1.coerceAndCheckDataType)(it,types);schemaKeywords(it,types,!checkedTypes,errsCount)}function checkRefsAndKeywords(it){let{schema,errSchemaPath,opts,self}=it;schema.$ref&&opts.ignoreKeywordsWithRef&&(0,util_1.schemaHasRulesButRef)(schema,self.RULES)&&self.logger.warn(`$ref: keywords ignored in schema at path "${errSchemaPath}"`)}function checkNoDefault(it){let{schema,opts}=it;schema.default!==void 0&&opts.useDefaults&&opts.strictSchema&&(0,util_1.checkStrictMode)(it,"default is ignored in the schema root")}function updateContext(it){let schId=it.schema[it.opts.schemaId];schId&&(it.baseId=(0,resolve_1.resolveUrl)(it.opts.uriResolver,it.baseId,schId))}function checkAsyncSchema(it){if(it.schema.$async&&!it.schemaEnv.$async)throw new Error("async schema in sync schema")}function commentKeyword({gen,schemaEnv,schema,errSchemaPath,opts}){let msg=schema.$comment;if(opts.$comment===!0)gen.code((0,codegen_1._)`${names_1.default.self}.logger.log(${msg})`);else if(typeof opts.$comment=="function"){let schemaPath=(0,codegen_1.str)`${errSchemaPath}/$comment`,rootName=gen.scopeValue("root",{ref:schemaEnv.root});gen.code((0,codegen_1._)`${names_1.default.self}.opts.$comment(${msg}, ${schemaPath}, ${rootName}.schema)`)}}function returnResults(it){let{gen,schemaEnv,validateName,ValidationError,opts}=it;schemaEnv.$async?gen.if((0,codegen_1._)`${names_1.default.errors} === 0`,()=>gen.return(names_1.default.data),()=>gen.throw((0,codegen_1._)`new ${ValidationError}(${names_1.default.vErrors})`)):(gen.assign((0,codegen_1._)`${validateName}.errors`,names_1.default.vErrors),opts.unevaluated&&assignEvaluated(it),gen.return((0,codegen_1._)`${names_1.default.errors} === 0`))}function assignEvaluated({gen,evaluated,props,items}){props instanceof codegen_1.Name&&gen.assign((0,codegen_1._)`${evaluated}.props`,props),items instanceof codegen_1.Name&&gen.assign((0,codegen_1._)`${evaluated}.items`,items)}function schemaKeywords(it,types,typeErrors,errsCount){let{gen,schema,data,allErrors,opts,self}=it,{RULES}=self;if(schema.$ref&&(opts.ignoreKeywordsWithRef||!(0,util_1.schemaHasRulesButRef)(schema,RULES))){gen.block(()=>keywordCode(it,"$ref",RULES.all.$ref.definition));return}opts.jtd||checkStrictTypes(it,types),gen.block(()=>{for(let group of RULES.rules)groupKeywords(group);groupKeywords(RULES.post)});function groupKeywords(group){(0,applicability_1.shouldUseGroup)(schema,group)&&(group.type?(gen.if((0,dataType_2.checkDataType)(group.type,data,opts.strictNumbers)),iterateKeywords(it,group),types.length===1&&types[0]===group.type&&typeErrors&&(gen.else(),(0,dataType_2.reportTypeError)(it)),gen.endIf()):iterateKeywords(it,group),allErrors||gen.if((0,codegen_1._)`${names_1.default.errors} === ${errsCount||0}`))}}function iterateKeywords(it,group){let{gen,schema,opts:{useDefaults}}=it;useDefaults&&(0,defaults_1.assignDefaults)(it,group.type),gen.block(()=>{for(let rule of group.rules)(0,applicability_1.shouldUseRule)(schema,rule)&&keywordCode(it,rule.keyword,rule.definition,group.type)})}function checkStrictTypes(it,types){it.schemaEnv.meta||!it.opts.strictTypes||(checkContextTypes(it,types),it.opts.allowUnionTypes||checkMultipleTypes(it,types),checkKeywordTypes(it,it.dataTypes))}function checkContextTypes(it,types){if(types.length){if(!it.dataTypes.length){it.dataTypes=types;return}types.forEach(t=>{includesType(it.dataTypes,t)||strictTypesError(it,`type "${t}" not allowed by context "${it.dataTypes.join(",")}"`)}),narrowSchemaTypes(it,types)}}function checkMultipleTypes(it,ts){ts.length>1&&!(ts.length===2&&ts.includes("null"))&&strictTypesError(it,"use allowUnionTypes to allow union type keyword")}function checkKeywordTypes(it,ts){let rules=it.self.RULES.all;for(let keyword in rules){let rule=rules[keyword];if(typeof rule=="object"&&(0,applicability_1.shouldUseRule)(it.schema,rule)){let{type}=rule.definition;type.length&&!type.some(t=>hasApplicableType(ts,t))&&strictTypesError(it,`missing type "${type.join(",")}" for keyword "${keyword}"`)}}}function hasApplicableType(schTs,kwdT){return schTs.includes(kwdT)||kwdT==="number"&&schTs.includes("integer")}function includesType(ts,t){return ts.includes(t)||t==="integer"&&ts.includes("number")}function narrowSchemaTypes(it,withTypes){let ts=[];for(let t of it.dataTypes)includesType(withTypes,t)?ts.push(t):withTypes.includes("integer")&&t==="number"&&ts.push("integer");it.dataTypes=ts}function strictTypesError(it,msg){let schemaPath=it.schemaEnv.baseId+it.errSchemaPath;msg+=` at "${schemaPath}" (strictTypes)`,(0,util_1.checkStrictMode)(it,msg,it.opts.strictTypes)}var KeywordCxt=class{constructor(it,def,keyword){if((0,keyword_1.validateKeywordUsage)(it,def,keyword),this.gen=it.gen,this.allErrors=it.allErrors,this.keyword=keyword,this.data=it.data,this.schema=it.schema[keyword],this.$data=def.$data&&it.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,util_1.schemaRefOrVal)(it,this.schema,keyword,this.$data),this.schemaType=def.schemaType,this.parentSchema=it.schema,this.params={},this.it=it,this.def=def,this.$data)this.schemaCode=it.gen.const("vSchema",getData(this.$data,it));else if(this.schemaCode=this.schemaValue,!(0,keyword_1.validSchemaType)(this.schema,def.schemaType,def.allowUndefined))throw new Error(`${keyword} value must be ${JSON.stringify(def.schemaType)}`);("code"in def?def.trackErrors:def.errors!==!1)&&(this.errsCount=it.gen.const("_errs",names_1.default.errors))}result(condition,successAction,failAction){this.failResult((0,codegen_1.not)(condition),successAction,failAction)}failResult(condition,successAction,failAction){this.gen.if(condition),failAction?failAction():this.error(),successAction?(this.gen.else(),successAction(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(condition,failAction){this.failResult((0,codegen_1.not)(condition),void 0,failAction)}fail(condition){if(condition===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(condition),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(condition){if(!this.$data)return this.fail(condition);let{schemaCode}=this;this.fail((0,codegen_1._)`${schemaCode} !== undefined && (${(0,codegen_1.or)(this.invalid$data(),condition)})`)}error(append,errorParams,errorPaths){if(errorParams){this.setParams(errorParams),this._error(append,errorPaths),this.setParams({});return}this._error(append,errorPaths)}_error(append,errorPaths){(append?errors_1.reportExtraError:errors_1.reportError)(this,this.def.error,errorPaths)}$dataError(){(0,errors_1.reportError)(this,this.def.$dataError||errors_1.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,errors_1.resetErrorsCount)(this.gen,this.errsCount)}ok(cond){this.allErrors||this.gen.if(cond)}setParams(obj,assign){assign?Object.assign(this.params,obj):this.params=obj}block$data(valid,codeBlock,$dataValid=codegen_1.nil){this.gen.block(()=>{this.check$data(valid,$dataValid),codeBlock()})}check$data(valid=codegen_1.nil,$dataValid=codegen_1.nil){if(!this.$data)return;let{gen,schemaCode,schemaType,def}=this;gen.if((0,codegen_1.or)((0,codegen_1._)`${schemaCode} === undefined`,$dataValid)),valid!==codegen_1.nil&&gen.assign(valid,!0),(schemaType.length||def.validateSchema)&&(gen.elseIf(this.invalid$data()),this.$dataError(),valid!==codegen_1.nil&&gen.assign(valid,!1)),gen.else()}invalid$data(){let{gen,schemaCode,schemaType,def,it}=this;return(0,codegen_1.or)(wrong$DataType(),invalid$DataSchema());function wrong$DataType(){if(schemaType.length){if(!(schemaCode instanceof codegen_1.Name))throw new Error("ajv implementation error");let st=Array.isArray(schemaType)?schemaType:[schemaType];return(0,codegen_1._)`${(0,dataType_2.checkDataTypes)(st,schemaCode,it.opts.strictNumbers,dataType_2.DataType.Wrong)}`}return codegen_1.nil}function invalid$DataSchema(){if(def.validateSchema){let validateSchemaRef=gen.scopeValue("validate$data",{ref:def.validateSchema});return(0,codegen_1._)`!${validateSchemaRef}(${schemaCode})`}return codegen_1.nil}}subschema(appl,valid){let subschema=(0,subschema_1.getSubschema)(this.it,appl);(0,subschema_1.extendSubschemaData)(subschema,this.it,appl),(0,subschema_1.extendSubschemaMode)(subschema,appl);let nextContext={...this.it,...subschema,items:void 0,props:void 0};return subschemaCode(nextContext,valid),nextContext}mergeEvaluated(schemaCxt,toName){let{it,gen}=this;it.opts.unevaluated&&(it.props!==!0&&schemaCxt.props!==void 0&&(it.props=util_1.mergeEvaluated.props(gen,schemaCxt.props,it.props,toName)),it.items!==!0&&schemaCxt.items!==void 0&&(it.items=util_1.mergeEvaluated.items(gen,schemaCxt.items,it.items,toName)))}mergeValidEvaluated(schemaCxt,valid){let{it,gen}=this;if(it.opts.unevaluated&&(it.props!==!0||it.items!==!0))return gen.if(valid,()=>this.mergeEvaluated(schemaCxt,codegen_1.Name)),!0}};exports.KeywordCxt=KeywordCxt;function keywordCode(it,keyword,def,ruleType){let cxt=new KeywordCxt(it,def,keyword);"code"in def?def.code(cxt,ruleType):cxt.$data&&def.validate?(0,keyword_1.funcKeywordCode)(cxt,def):"macro"in def?(0,keyword_1.macroKeywordCode)(cxt,def):(def.compile||def.validate)&&(0,keyword_1.funcKeywordCode)(cxt,def)}var JSON_POINTER=/^\/(?:[^~]|~0|~1)*$/,RELATIVE_JSON_POINTER=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function getData($data,{dataLevel,dataNames,dataPathArr}){let jsonPointer,data;if($data==="")return names_1.default.rootData;if($data[0]==="/"){if(!JSON_POINTER.test($data))throw new Error(`Invalid JSON-pointer: ${$data}`);jsonPointer=$data,data=names_1.default.rootData}else{let matches=RELATIVE_JSON_POINTER.exec($data);if(!matches)throw new Error(`Invalid JSON-pointer: ${$data}`);let up=+matches[1];if(jsonPointer=matches[2],jsonPointer==="#"){if(up>=dataLevel)throw new Error(errorMsg("property/index",up));return dataPathArr[dataLevel-up]}if(up>dataLevel)throw new Error(errorMsg("data",up));if(data=dataNames[dataLevel-up],!jsonPointer)return data}let expr=data,segments=jsonPointer.split("/");for(let segment of segments)segment&&(data=(0,codegen_1._)`${data}${(0,codegen_1.getProperty)((0,util_1.unescapeJsonPointer)(segment))}`,expr=(0,codegen_1._)`${expr} && ${data}`);return expr;function errorMsg(pointerType,up){return`Cannot access ${pointerType} ${up} levels up, current level is ${dataLevel}`}}exports.getData=getData}});var require_validation_error=__commonJS({"../node_modules/ajv/dist/runtime/validation_error.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var ValidationError=class extends Error{constructor(errors){super("validation failed"),this.errors=errors,this.ajv=this.validation=!0}};exports.default=ValidationError}});var require_ref_error=__commonJS({"../node_modules/ajv/dist/compile/ref_error.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var resolve_1=require_resolve(),MissingRefError=class extends Error{constructor(resolver,baseId,ref,msg){super(msg||`can't resolve reference ${ref} from id ${baseId}`),this.missingRef=(0,resolve_1.resolveUrl)(resolver,baseId,ref),this.missingSchema=(0,resolve_1.normalizeId)((0,resolve_1.getFullPath)(resolver,this.missingRef))}};exports.default=MissingRefError}});var require_compile=__commonJS({"../node_modules/ajv/dist/compile/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.resolveSchema=exports.getCompilingSchema=exports.resolveRef=exports.compileSchema=exports.SchemaEnv=void 0;var codegen_1=require_codegen(),validation_error_1=require_validation_error(),names_1=require_names(),resolve_1=require_resolve(),util_1=require_util(),validate_1=require_validate(),SchemaEnv=class{constructor(env){var _a;this.refs={},this.dynamicAnchors={};let schema;typeof env.schema=="object"&&(schema=env.schema),this.schema=env.schema,this.schemaId=env.schemaId,this.root=env.root||this,this.baseId=(_a=env.baseId)!==null&&_a!==void 0?_a:(0,resolve_1.normalizeId)(schema?.[env.schemaId||"$id"]),this.schemaPath=env.schemaPath,this.localRefs=env.localRefs,this.meta=env.meta,this.$async=schema?.$async,this.refs={}}};exports.SchemaEnv=SchemaEnv;function compileSchema(sch){let _sch=getCompilingSchema.call(this,sch);if(_sch)return _sch;let rootId=(0,resolve_1.getFullPath)(this.opts.uriResolver,sch.root.baseId),{es5,lines}=this.opts.code,{ownProperties}=this.opts,gen=new codegen_1.CodeGen(this.scope,{es5,lines,ownProperties}),_ValidationError;sch.$async&&(_ValidationError=gen.scopeValue("Error",{ref:validation_error_1.default,code:(0,codegen_1._)`require("ajv/dist/runtime/validation_error").default`}));let validateName=gen.scopeName("validate");sch.validateName=validateName;let schemaCxt={gen,allErrors:this.opts.allErrors,data:names_1.default.data,parentData:names_1.default.parentData,parentDataProperty:names_1.default.parentDataProperty,dataNames:[names_1.default.data],dataPathArr:[codegen_1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:gen.scopeValue("schema",this.opts.code.source===!0?{ref:sch.schema,code:(0,codegen_1.stringify)(sch.schema)}:{ref:sch.schema}),validateName,ValidationError:_ValidationError,schema:sch.schema,schemaEnv:sch,rootId,baseId:sch.baseId||rootId,schemaPath:codegen_1.nil,errSchemaPath:sch.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,codegen_1._)`""`,opts:this.opts,self:this},sourceCode;try{this._compilations.add(sch),(0,validate_1.validateFunctionCode)(schemaCxt),gen.optimize(this.opts.code.optimize);let validateCode=gen.toString();sourceCode=`${gen.scopeRefs(names_1.default.scope)}return ${validateCode}`,this.opts.code.process&&(sourceCode=this.opts.code.process(sourceCode,sch));let validate=new Function(`${names_1.default.self}`,`${names_1.default.scope}`,sourceCode)(this,this.scope.get());if(this.scope.value(validateName,{ref:validate}),validate.errors=null,validate.schema=sch.schema,validate.schemaEnv=sch,sch.$async&&(validate.$async=!0),this.opts.code.source===!0&&(validate.source={validateName,validateCode,scopeValues:gen._values}),this.opts.unevaluated){let{props,items}=schemaCxt;validate.evaluated={props:props instanceof codegen_1.Name?void 0:props,items:items instanceof codegen_1.Name?void 0:items,dynamicProps:props instanceof codegen_1.Name,dynamicItems:items instanceof codegen_1.Name},validate.source&&(validate.source.evaluated=(0,codegen_1.stringify)(validate.evaluated))}return sch.validate=validate,sch}catch(e){throw delete sch.validate,delete sch.validateName,sourceCode&&this.logger.error("Error compiling schema, function code:",sourceCode),e}finally{this._compilations.delete(sch)}}exports.compileSchema=compileSchema;function resolveRef(root,baseId,ref){var _a;ref=(0,resolve_1.resolveUrl)(this.opts.uriResolver,baseId,ref);let schOrFunc=root.refs[ref];if(schOrFunc)return schOrFunc;let _sch=resolve.call(this,root,ref);if(_sch===void 0){let schema=(_a=root.localRefs)===null||_a===void 0?void 0:_a[ref],{schemaId}=this.opts;schema&&(_sch=new SchemaEnv({schema,schemaId,root,baseId}))}if(_sch!==void 0)return root.refs[ref]=inlineOrCompile.call(this,_sch)}exports.resolveRef=resolveRef;function inlineOrCompile(sch){return(0,resolve_1.inlineRef)(sch.schema,this.opts.inlineRefs)?sch.schema:sch.validate?sch:compileSchema.call(this,sch)}function getCompilingSchema(schEnv){for(let sch of this._compilations)if(sameSchemaEnv(sch,schEnv))return sch}exports.getCompilingSchema=getCompilingSchema;function sameSchemaEnv(s1,s2){return s1.schema===s2.schema&&s1.root===s2.root&&s1.baseId===s2.baseId}function resolve(root,ref){let sch;for(;typeof(sch=this.refs[ref])=="string";)ref=sch;return sch||this.schemas[ref]||resolveSchema.call(this,root,ref)}function resolveSchema(root,ref){let p=this.opts.uriResolver.parse(ref),refPath=(0,resolve_1._getFullPath)(this.opts.uriResolver,p),baseId=(0,resolve_1.getFullPath)(this.opts.uriResolver,root.baseId,void 0);if(Object.keys(root.schema).length>0&&refPath===baseId)return getJsonPointer.call(this,p,root);let id=(0,resolve_1.normalizeId)(refPath),schOrRef=this.refs[id]||this.schemas[id];if(typeof schOrRef=="string"){let sch=resolveSchema.call(this,root,schOrRef);return typeof sch?.schema!="object"?void 0:getJsonPointer.call(this,p,sch)}if(typeof schOrRef?.schema=="object"){if(schOrRef.validate||compileSchema.call(this,schOrRef),id===(0,resolve_1.normalizeId)(ref)){let{schema}=schOrRef,{schemaId}=this.opts,schId=schema[schemaId];return schId&&(baseId=(0,resolve_1.resolveUrl)(this.opts.uriResolver,baseId,schId)),new SchemaEnv({schema,schemaId,root,baseId})}return getJsonPointer.call(this,p,schOrRef)}}exports.resolveSchema=resolveSchema;var PREVENT_SCOPE_CHANGE=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function getJsonPointer(parsedRef,{baseId,schema,root}){var _a;if(((_a=parsedRef.fragment)===null||_a===void 0?void 0:_a[0])!=="/")return;for(let part of parsedRef.fragment.slice(1).split("/")){if(typeof schema=="boolean")return;let partSchema=schema[(0,util_1.unescapeFragment)(part)];if(partSchema===void 0)return;schema=partSchema;let schId=typeof schema=="object"&&schema[this.opts.schemaId];!PREVENT_SCOPE_CHANGE.has(part)&&schId&&(baseId=(0,resolve_1.resolveUrl)(this.opts.uriResolver,baseId,schId))}let env;if(typeof schema!="boolean"&&schema.$ref&&!(0,util_1.schemaHasRulesButRef)(schema,this.RULES)){let $ref=(0,resolve_1.resolveUrl)(this.opts.uriResolver,baseId,schema.$ref);env=resolveSchema.call(this,root,$ref)}let{schemaId}=this.opts;if(env=env||new SchemaEnv({schema,schemaId,root,baseId}),env.schema!==env.root.schema)return env}}});var require_data=__commonJS({"../node_modules/ajv/dist/refs/data.json"(exports,module){module.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 require_utils=__commonJS({"../node_modules/fast-uri/lib/utils.js"(exports,module){"use strict";var isUUID=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),isIPv4=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),isHexPair=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),isUnreserved=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),isPathCharacter=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function stringArrayToHexStripped(input){let acc="",code=0,i=0;for(i=0;i<input.length;i++)if(code=input[i].charCodeAt(0),code!==48){if(!(code>=48&&code<=57||code>=65&&code<=70||code>=97&&code<=102))return"";acc+=input[i];break}for(i+=1;i<input.length;i++){if(code=input[i].charCodeAt(0),!(code>=48&&code<=57||code>=65&&code<=70||code>=97&&code<=102))return"";acc+=input[i]}return acc}var nonSimpleDomain=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function consumeIsZone(buffer){return buffer.length=0,!0}function consumeHextets(buffer,address,output){if(buffer.length){let hex=stringArrayToHexStripped(buffer);if(hex!=="")address.push(hex);else return output.error=!0,!1;buffer.length=0}return!0}function getIPV6(input){let tokenCount=0,output={error:!1,address:"",zone:""},address=[],buffer=[],endipv6Encountered=!1,endIpv6=!1,consume=consumeHextets;for(let i=0;i<input.length;i++){let cursor=input[i];if(!(cursor==="["||cursor==="]"))if(cursor===":"){if(endipv6Encountered===!0&&(endIpv6=!0),!consume(buffer,address,output))break;if(++tokenCount>7){output.error=!0;break}i>0&&input[i-1]===":"&&(endipv6Encountered=!0),address.push(":");continue}else if(cursor==="%"){if(!consume(buffer,address,output))break;consume=consumeIsZone}else{buffer.push(cursor);continue}}return buffer.length&&(consume===consumeIsZone?output.zone=buffer.join(""):endIpv6?address.push(buffer.join("")):address.push(stringArrayToHexStripped(buffer))),output.address=address.join(""),output}function normalizeIPv6(host){if(findToken(host,":")<2)return{host,isIPV6:!1};let ipv62=getIPV6(host);if(ipv62.error)return{host,isIPV6:!1};{let newHost=ipv62.address,escapedHost=ipv62.address;return ipv62.zone&&(newHost+="%"+ipv62.zone,escapedHost+="%25"+ipv62.zone),{host:newHost,isIPV6:!0,escapedHost}}}function findToken(str,token){let ind=0;for(let i=0;i<str.length;i++)str[i]===token&&ind++;return ind}function removeDotSegments(path){let input=path,output=[],nextSlash=-1,len=0;for(;len=input.length;){if(len===1){if(input===".")break;if(input==="/"){output.push("/");break}else{output.push(input);break}}else if(len===2){if(input[0]==="."){if(input[1]===".")break;if(input[1]==="/"){input=input.slice(2);continue}}else if(input[0]==="/"&&(input[1]==="."||input[1]==="/")){output.push("/");break}}else if(len===3&&input==="/.."){output.length!==0&&output.pop(),output.push("/");break}if(input[0]==="."){if(input[1]==="."){if(input[2]==="/"){input=input.slice(3);continue}}else if(input[1]==="/"){input=input.slice(2);continue}}else if(input[0]==="/"&&input[1]==="."){if(input[2]==="/"){input=input.slice(2);continue}else if(input[2]==="."&&input[3]==="/"){input=input.slice(3),output.length!==0&&output.pop();continue}}if((nextSlash=input.indexOf("/",1))===-1){output.push(input);break}else output.push(input.slice(0,nextSlash)),input=input.slice(nextSlash)}return output.join("")}var HOST_DELIMS={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},HOST_DELIM_RE=/[@/?#:]/g,HOST_DELIM_NO_COLON_RE=/[@/?#]/g;function reescapeHostDelimiters(host,isIP){let re=isIP?HOST_DELIM_NO_COLON_RE:HOST_DELIM_RE;return re.lastIndex=0,host.replace(re,ch=>HOST_DELIMS[ch])}function normalizePercentEncoding(input,decodeUnreserved=!1){if(input.indexOf("%")===-1)return input;let output="";for(let i=0;i<input.length;i++){if(input[i]==="%"&&i+2<input.length){let hex=input.slice(i+1,i+3);if(isHexPair(hex)){let normalizedHex=hex.toUpperCase(),decoded=String.fromCharCode(parseInt(normalizedHex,16));decodeUnreserved&&isUnreserved(decoded)?output+=decoded:output+="%"+normalizedHex,i+=2;continue}}output+=input[i]}return output}function normalizePathEncoding(input){let output="";for(let i=0;i<input.length;i++){if(input[i]==="%"&&i+2<input.length){let hex=input.slice(i+1,i+3);if(isHexPair(hex)){let normalizedHex=hex.toUpperCase(),decoded=String.fromCharCode(parseInt(normalizedHex,16));decoded!=="."&&isUnreserved(decoded)?output+=decoded:output+="%"+normalizedHex,i+=2;continue}}isPathCharacter(input[i])?output+=input[i]:output+=escape(input[i])}return output}function escapePreservingEscapes(input){let output="";for(let i=0;i<input.length;i++){if(input[i]==="%"&&i+2<input.length){let hex=input.slice(i+1,i+3);if(isHexPair(hex)){output+="%"+hex.toUpperCase(),i+=2;continue}}output+=escape(input[i])}return output}function recomposeAuthority(component){let uriTokens=[];if(component.userinfo!==void 0&&(uriTokens.push(component.userinfo),uriTokens.push("@")),component.host!==void 0){let host=unescape(component.host);if(!isIPv4(host)){let ipV6res=normalizeIPv6(host);ipV6res.isIPV6===!0?host=`[${ipV6res.escapedHost}]`:host=reescapeHostDelimiters(host,!1)}uriTokens.push(host)}return(typeof component.port=="number"||typeof component.port=="string")&&(uriTokens.push(":"),uriTokens.push(String(component.port))),uriTokens.length?uriTokens.join(""):void 0}module.exports={nonSimpleDomain,recomposeAuthority,reescapeHostDelimiters,normalizePercentEncoding,normalizePathEncoding,escapePreservingEscapes,removeDotSegments,isIPv4,isUUID,normalizeIPv6,stringArrayToHexStripped}}});var require_schemes=__commonJS({"../node_modules/fast-uri/lib/schemes.js"(exports,module){"use strict";var{isUUID}=require_utils(),URN_REG=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,supportedSchemeNames=["http","https","ws","wss","urn","urn:uuid"];function isValidSchemeName(name){return supportedSchemeNames.indexOf(name)!==-1}function wsIsSecure(wsComponent){return wsComponent.secure===!0?!0:wsComponent.secure===!1?!1:wsComponent.scheme?wsComponent.scheme.length===3&&(wsComponent.scheme[0]==="w"||wsComponent.scheme[0]==="W")&&(wsComponent.scheme[1]==="s"||wsComponent.scheme[1]==="S")&&(wsComponent.scheme[2]==="s"||wsComponent.scheme[2]==="S"):!1}function httpParse(component){return component.host||(component.error=component.error||"HTTP URIs must have a host."),component}function httpSerialize(component){let secure=String(component.scheme).toLowerCase()==="https";return(component.port===(secure?443:80)||component.port==="")&&(component.port=void 0),component.path||(component.path="/"),component}function wsParse(wsComponent){return wsComponent.secure=wsIsSecure(wsComponent),wsComponent.resourceName=(wsComponent.path||"/")+(wsComponent.query?"?"+wsComponent.query:""),wsComponent.path=void 0,wsComponent.query=void 0,wsComponent}function wsSerialize(wsComponent){if((wsComponent.port===(wsIsSecure(wsComponent)?443:80)||wsComponent.port==="")&&(wsComponent.port=void 0),typeof wsComponent.secure=="boolean"&&(wsComponent.scheme=wsComponent.secure?"wss":"ws",wsComponent.secure=void 0),wsComponent.resourceName){let[path,query]=wsComponent.resourceName.split("?");wsComponent.path=path&&path!=="/"?path:void 0,wsComponent.query=query,wsComponent.resourceName=void 0}return wsComponent.fragment=void 0,wsComponent}function urnParse(urnComponent,options){if(!urnComponent.path)return urnComponent.error="URN can not be parsed",urnComponent;let matches=urnComponent.path.match(URN_REG);if(matches){let scheme=options.scheme||urnComponent.scheme||"urn";urnComponent.nid=matches[1].toLowerCase(),urnComponent.nss=matches[2];let urnScheme=`${scheme}:${options.nid||urnComponent.nid}`,schemeHandler=getSchemeHandler(urnScheme);urnComponent.path=void 0,schemeHandler&&(urnComponent=schemeHandler.parse(urnComponent,options))}else urnComponent.error=urnComponent.error||"URN can not be parsed.";return urnComponent}function urnSerialize(urnComponent,options){if(urnComponent.nid===void 0)throw new Error("URN without nid cannot be serialized");let scheme=options.scheme||urnComponent.scheme||"urn",nid=urnComponent.nid.toLowerCase(),urnScheme=`${scheme}:${options.nid||nid}`,schemeHandler=getSchemeHandler(urnScheme);schemeHandler&&(urnComponent=schemeHandler.serialize(urnComponent,options));let uriComponent=urnComponent,nss=urnComponent.nss;return uriComponent.path=`${nid||options.nid}:${nss}`,options.skipEscape=!0,uriComponent}function urnuuidParse(urnComponent,options){let uuidComponent=urnComponent;return uuidComponent.uuid=uuidComponent.nss,uuidComponent.nss=void 0,!options.tolerant&&(!uuidComponent.uuid||!isUUID(uuidComponent.uuid))&&(uuidComponent.error=uuidComponent.error||"UUID is not valid."),uuidComponent}function urnuuidSerialize(uuidComponent){let urnComponent=uuidComponent;return urnComponent.nss=(uuidComponent.uuid||"").toLowerCase(),urnComponent}var http3={scheme:"http",domainHost:!0,parse:httpParse,serialize:httpSerialize},https2={scheme:"https",domainHost:http3.domainHost,parse:httpParse,serialize:httpSerialize},ws={scheme:"ws",domainHost:!0,parse:wsParse,serialize:wsSerialize},wss={scheme:"wss",domainHost:ws.domainHost,parse:ws.parse,serialize:ws.serialize},urn={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:!0},urnuuid={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:!0},SCHEMES={http:http3,https:https2,ws,wss,urn,"urn:uuid":urnuuid};Object.setPrototypeOf(SCHEMES,null);function getSchemeHandler(scheme){return scheme&&(SCHEMES[scheme]||SCHEMES[scheme.toLowerCase()])||void 0}module.exports={wsIsSecure,SCHEMES,isValidSchemeName,getSchemeHandler}}});var require_fast_uri=__commonJS({"../node_modules/fast-uri/index.js"(exports,module){"use strict";var{normalizeIPv6,removeDotSegments,recomposeAuthority,normalizePercentEncoding,normalizePathEncoding,escapePreservingEscapes,reescapeHostDelimiters,isIPv4,nonSimpleDomain}=require_utils(),{SCHEMES,getSchemeHandler}=require_schemes();function normalize2(uri,options){return typeof uri=="string"?uri=normalizeString(uri,options):typeof uri=="object"&&(uri=parse3(serialize(uri,options),options)),uri}function resolve(baseURI,relativeURI,options){let schemelessOptions=options?Object.assign({scheme:"null"},options):{scheme:"null"},resolved=resolveComponent(parse3(baseURI,schemelessOptions),parse3(relativeURI,schemelessOptions),schemelessOptions,!0);return schemelessOptions.skipEscape=!0,serialize(resolved,schemelessOptions)}function resolveComponent(base,relative,options,skipNormalization){let target={};return skipNormalization||(base=parse3(serialize(base,options),options),relative=parse3(serialize(relative,options),options)),options=options||{},!options.tolerant&&relative.scheme?(target.scheme=relative.scheme,target.userinfo=relative.userinfo,target.host=relative.host,target.port=relative.port,target.path=removeDotSegments(relative.path||""),target.query=relative.query):(relative.userinfo!==void 0||relative.host!==void 0||relative.port!==void 0?(target.userinfo=relative.userinfo,target.host=relative.host,target.port=relative.port,target.path=removeDotSegments(relative.path||""),target.query=relative.query):(relative.path?(relative.path[0]==="/"?target.path=removeDotSegments(relative.path):((base.userinfo!==void 0||base.host!==void 0||base.port!==void 0)&&!base.path?target.path="/"+relative.path:base.path?target.path=base.path.slice(0,base.path.lastIndexOf("/")+1)+relative.path:target.path=relative.path,target.path=removeDotSegments(target.path)),target.query=relative.query):(target.path=base.path,relative.query!==void 0?target.query=relative.query:target.query=base.query),target.userinfo=base.userinfo,target.host=base.host,target.port=base.port),target.scheme=base.scheme),target.fragment=relative.fragment,target}function equal(uriA,uriB,options){let normalizedA=normalizeComparableURI(uriA,options),normalizedB=normalizeComparableURI(uriB,options);return normalizedA!==void 0&&normalizedB!==void 0&&normalizedA.toLowerCase()===normalizedB.toLowerCase()}function serialize(cmpts,opts){let component={host:cmpts.host,scheme:cmpts.scheme,userinfo:cmpts.userinfo,port:cmpts.port,path:cmpts.path,query:cmpts.query,nid:cmpts.nid,nss:cmpts.nss,uuid:cmpts.uuid,fragment:cmpts.fragment,reference:cmpts.reference,resourceName:cmpts.resourceName,secure:cmpts.secure,error:""},options=Object.assign({},opts),uriTokens=[],schemeHandler=getSchemeHandler(options.scheme||component.scheme);schemeHandler&&schemeHandler.serialize&&schemeHandler.serialize(component,options),component.path!==void 0&&(options.skipEscape?component.path=normalizePercentEncoding(component.path):(component.path=escapePreservingEscapes(component.path),component.scheme!==void 0&&(component.path=component.path.split("%3A").join(":")))),options.reference!=="suffix"&&component.scheme&&uriTokens.push(component.scheme,":");let authority=recomposeAuthority(component);if(authority!==void 0&&(options.reference!=="suffix"&&uriTokens.push("//"),uriTokens.push(authority),component.path&&component.path[0]!=="/"&&uriTokens.push("/")),component.path!==void 0){let s=component.path;!options.absolutePath&&(!schemeHandler||!schemeHandler.absolutePath)&&(s=removeDotSegments(s)),authority===void 0&&s[0]==="/"&&s[1]==="/"&&(s="/%2F"+s.slice(2)),uriTokens.push(s)}return component.query!==void 0&&uriTokens.push("?",component.query),component.fragment!==void 0&&uriTokens.push("#",component.fragment),uriTokens.join("")}var URI_PARSE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function getParseError(parsed,matches){if(matches[2]!==void 0&&parsed.path&&parsed.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof parsed.port=="number"&&(parsed.port<0||parsed.port>65535))return"URI port is malformed."}function parseWithStatus(uri,opts){let options=Object.assign({},opts),parsed={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},malformedAuthorityOrPort=!1,isIP=!1;options.reference==="suffix"&&(options.scheme?uri=options.scheme+":"+uri:uri="//"+uri);let matches=uri.match(URI_PARSE);if(matches){parsed.scheme=matches[1],parsed.userinfo=matches[3],parsed.host=matches[4],parsed.port=parseInt(matches[5],10),parsed.path=matches[6]||"",parsed.query=matches[7],parsed.fragment=matches[8],isNaN(parsed.port)&&(parsed.port=matches[5]);let parseError=getParseError(parsed,matches);if(parseError!==void 0&&(parsed.error=parsed.error||parseError,malformedAuthorityOrPort=!0),parsed.host)if(isIPv4(parsed.host)===!1){let ipv6result=normalizeIPv6(parsed.host);parsed.host=ipv6result.host.toLowerCase(),isIP=ipv6result.isIPV6}else isIP=!0;parsed.scheme===void 0&&parsed.userinfo===void 0&&parsed.host===void 0&&parsed.port===void 0&&parsed.query===void 0&&!parsed.path?parsed.reference="same-document":parsed.scheme===void 0?parsed.reference="relative":parsed.fragment===void 0?parsed.reference="absolute":parsed.reference="uri",options.reference&&options.reference!=="suffix"&&options.reference!==parsed.reference&&(parsed.error=parsed.error||"URI is not a "+options.reference+" reference.");let schemeHandler=getSchemeHandler(options.scheme||parsed.scheme);if(!options.unicodeSupport&&(!schemeHandler||!schemeHandler.unicodeSupport)&&parsed.host&&(options.domainHost||schemeHandler&&schemeHandler.domainHost)&&isIP===!1&&nonSimpleDomain(parsed.host))try{parsed.host=URL.domainToASCII(parsed.host.toLowerCase())}catch(e){parsed.error=parsed.error||"Host's domain name can not be converted to ASCII: "+e}if((!schemeHandler||schemeHandler&&!schemeHandler.skipNormalize)&&(uri.indexOf("%")!==-1&&(parsed.scheme!==void 0&&(parsed.scheme=unescape(parsed.scheme)),parsed.host!==void 0&&(parsed.host=reescapeHostDelimiters(unescape(parsed.host),isIP))),parsed.path&&(parsed.path=normalizePathEncoding(parsed.path)),parsed.fragment))try{parsed.fragment=encodeURI(decodeURIComponent(parsed.fragment))}catch{parsed.error=parsed.error||"URI malformed"}schemeHandler&&schemeHandler.parse&&schemeHandler.parse(parsed,options)}else parsed.error=parsed.error||"URI can not be parsed.";return{parsed,malformedAuthorityOrPort}}function parse3(uri,opts){return parseWithStatus(uri,opts).parsed}function normalizeString(uri,opts){return normalizeStringWithStatus(uri,opts).normalized}function normalizeStringWithStatus(uri,opts){let{parsed,malformedAuthorityOrPort}=parseWithStatus(uri,opts);return{normalized:malformedAuthorityOrPort?uri:serialize(parsed,opts),malformedAuthorityOrPort}}function normalizeComparableURI(uri,opts){if(typeof uri=="string"){let{normalized,malformedAuthorityOrPort}=normalizeStringWithStatus(uri,opts);return malformedAuthorityOrPort?void 0:normalized}if(typeof uri=="object")return serialize(uri,opts)}var fastUri={SCHEMES,normalize:normalize2,resolve,resolveComponent,equal,serialize,parse:parse3};module.exports=fastUri;module.exports.default=fastUri;module.exports.fastUri=fastUri}});var require_uri=__commonJS({"../node_modules/ajv/dist/runtime/uri.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var uri=require_fast_uri();uri.code='require("ajv/dist/runtime/uri").default';exports.default=uri}});var require_core=__commonJS({"../node_modules/ajv/dist/core.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CodeGen=exports.Name=exports.nil=exports.stringify=exports.str=exports._=exports.KeywordCxt=void 0;var validate_1=require_validate();Object.defineProperty(exports,"KeywordCxt",{enumerable:!0,get:function(){return validate_1.KeywordCxt}});var codegen_1=require_codegen();Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return codegen_1._}});Object.defineProperty(exports,"str",{enumerable:!0,get:function(){return codegen_1.str}});Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return codegen_1.stringify}});Object.defineProperty(exports,"nil",{enumerable:!0,get:function(){return codegen_1.nil}});Object.defineProperty(exports,"Name",{enumerable:!0,get:function(){return codegen_1.Name}});Object.defineProperty(exports,"CodeGen",{enumerable:!0,get:function(){return codegen_1.CodeGen}});var validation_error_1=require_validation_error(),ref_error_1=require_ref_error(),rules_1=require_rules(),compile_1=require_compile(),codegen_2=require_codegen(),resolve_1=require_resolve(),dataType_1=require_dataType(),util_1=require_util(),$dataRefSchema=require_data(),uri_1=require_uri(),defaultRegExp=(str,flags)=>new RegExp(str,flags);defaultRegExp.code="new RegExp";var META_IGNORE_OPTIONS=["removeAdditional","useDefaults","coerceTypes"],EXT_SCOPE_NAMES=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),removedOptions={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."},deprecatedOptions={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},MAX_EXPRESSION=200;function requiredOptions(o){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x,_y,_z,_0;let s=o.strict,_optz=(_a=o.code)===null||_a===void 0?void 0:_a.optimize,optimize=_optz===!0||_optz===void 0?1:_optz||0,regExp=(_c=(_b=o.code)===null||_b===void 0?void 0:_b.regExp)!==null&&_c!==void 0?_c:defaultRegExp,uriResolver=(_d=o.uriResolver)!==null&&_d!==void 0?_d:uri_1.default;return{strictSchema:(_f=(_e=o.strictSchema)!==null&&_e!==void 0?_e:s)!==null&&_f!==void 0?_f:!0,strictNumbers:(_h=(_g=o.strictNumbers)!==null&&_g!==void 0?_g:s)!==null&&_h!==void 0?_h:!0,strictTypes:(_k=(_j=o.strictTypes)!==null&&_j!==void 0?_j:s)!==null&&_k!==void 0?_k:"log",strictTuples:(_m=(_l=o.strictTuples)!==null&&_l!==void 0?_l:s)!==null&&_m!==void 0?_m:"log",strictRequired:(_p=(_o=o.strictRequired)!==null&&_o!==void 0?_o:s)!==null&&_p!==void 0?_p:!1,code:o.code?{...o.code,optimize,regExp}:{optimize,regExp},loopRequired:(_q=o.loopRequired)!==null&&_q!==void 0?_q:MAX_EXPRESSION,loopEnum:(_r=o.loopEnum)!==null&&_r!==void 0?_r:MAX_EXPRESSION,meta:(_s=o.meta)!==null&&_s!==void 0?_s:!0,messages:(_t=o.messages)!==null&&_t!==void 0?_t:!0,inlineRefs:(_u=o.inlineRefs)!==null&&_u!==void 0?_u:!0,schemaId:(_v=o.schemaId)!==null&&_v!==void 0?_v:"$id",addUsedSchema:(_w=o.addUsedSchema)!==null&&_w!==void 0?_w:!0,validateSchema:(_x=o.validateSchema)!==null&&_x!==void 0?_x:!0,validateFormats:(_y=o.validateFormats)!==null&&_y!==void 0?_y:!0,unicodeRegExp:(_z=o.unicodeRegExp)!==null&&_z!==void 0?_z:!0,int32range:(_0=o.int32range)!==null&&_0!==void 0?_0:!0,uriResolver}}var Ajv2=class{constructor(opts={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,opts=this.opts={...opts,...requiredOptions(opts)};let{es5,lines}=this.opts.code;this.scope=new codegen_2.ValueScope({scope:{},prefixes:EXT_SCOPE_NAMES,es5,lines}),this.logger=getLogger(opts.logger);let formatOpt=opts.validateFormats;opts.validateFormats=!1,this.RULES=(0,rules_1.getRules)(),checkOptions.call(this,removedOptions,opts,"NOT SUPPORTED"),checkOptions.call(this,deprecatedOptions,opts,"DEPRECATED","warn"),this._metaOpts=getMetaSchemaOptions.call(this),opts.formats&&addInitialFormats.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),opts.keywords&&addInitialKeywords.call(this,opts.keywords),typeof opts.meta=="object"&&this.addMetaSchema(opts.meta),addInitialSchemas.call(this),opts.validateFormats=formatOpt}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data,meta,schemaId}=this.opts,_dataRefSchema=$dataRefSchema;schemaId==="id"&&(_dataRefSchema={...$dataRefSchema},_dataRefSchema.id=_dataRefSchema.$id,delete _dataRefSchema.$id),meta&&$data&&this.addMetaSchema(_dataRefSchema,_dataRefSchema[schemaId],!1)}defaultMeta(){let{meta,schemaId}=this.opts;return this.opts.defaultMeta=typeof meta=="object"?meta[schemaId]||meta:void 0}validate(schemaKeyRef,data){let v;if(typeof schemaKeyRef=="string"){if(v=this.getSchema(schemaKeyRef),!v)throw new Error(`no schema with key or ref "${schemaKeyRef}"`)}else v=this.compile(schemaKeyRef);let valid=v(data);return"$async"in v||(this.errors=v.errors),valid}compile(schema,_meta){let sch=this._addSchema(schema,_meta);return sch.validate||this._compileSchemaEnv(sch)}compileAsync(schema,meta){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema}=this.opts;return runCompileAsync.call(this,schema,meta);async function runCompileAsync(_schema,_meta){await loadMetaSchema.call(this,_schema.$schema);let sch=this._addSchema(_schema,_meta);return sch.validate||_compileAsync.call(this,sch)}async function loadMetaSchema($ref){$ref&&!this.getSchema($ref)&&await runCompileAsync.call(this,{$ref},!0)}async function _compileAsync(sch){try{return this._compileSchemaEnv(sch)}catch(e){if(!(e instanceof ref_error_1.default))throw e;return checkLoaded.call(this,e),await loadMissingSchema.call(this,e.missingSchema),_compileAsync.call(this,sch)}}function checkLoaded({missingSchema:ref,missingRef}){if(this.refs[ref])throw new Error(`AnySchema ${ref} is loaded but ${missingRef} cannot be resolved`)}async function loadMissingSchema(ref){let _schema=await _loadSchema.call(this,ref);this.refs[ref]||await loadMetaSchema.call(this,_schema.$schema),this.refs[ref]||this.addSchema(_schema,ref,meta)}async function _loadSchema(ref){let p=this._loading[ref];if(p)return p;try{return await(this._loading[ref]=loadSchema(ref))}finally{delete this._loading[ref]}}}addSchema(schema,key,_meta,_validateSchema=this.opts.validateSchema){if(Array.isArray(schema)){for(let sch of schema)this.addSchema(sch,void 0,_meta,_validateSchema);return this}let id;if(typeof schema=="object"){let{schemaId}=this.opts;if(id=schema[schemaId],id!==void 0&&typeof id!="string")throw new Error(`schema ${schemaId} must be string`)}return key=(0,resolve_1.normalizeId)(key||id),this._checkUnique(key),this.schemas[key]=this._addSchema(schema,_meta,key,_validateSchema,!0),this}addMetaSchema(schema,key,_validateSchema=this.opts.validateSchema){return this.addSchema(schema,key,!0,_validateSchema),this}validateSchema(schema,throwOrLogError){if(typeof schema=="boolean")return!0;let $schema;if($schema=schema.$schema,$schema!==void 0&&typeof $schema!="string")throw new Error("$schema must be a string");if($schema=$schema||this.opts.defaultMeta||this.defaultMeta(),!$schema)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let valid=this.validate($schema,schema);if(!valid&&throwOrLogError){let message="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(message);else throw new Error(message)}return valid}getSchema(keyRef){let sch;for(;typeof(sch=getSchEnv.call(this,keyRef))=="string";)keyRef=sch;if(sch===void 0){let{schemaId}=this.opts,root=new compile_1.SchemaEnv({schema:{},schemaId});if(sch=compile_1.resolveSchema.call(this,root,keyRef),!sch)return;this.refs[keyRef]=sch}return sch.validate||this._compileSchemaEnv(sch)}removeSchema(schemaKeyRef){if(schemaKeyRef instanceof RegExp)return this._removeAllSchemas(this.schemas,schemaKeyRef),this._removeAllSchemas(this.refs,schemaKeyRef),this;switch(typeof schemaKeyRef){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let sch=getSchEnv.call(this,schemaKeyRef);return typeof sch=="object"&&this._cache.delete(sch.schema),delete this.schemas[schemaKeyRef],delete this.refs[schemaKeyRef],this}case"object":{let cacheKey2=schemaKeyRef;this._cache.delete(cacheKey2);let id=schemaKeyRef[this.opts.schemaId];return id&&(id=(0,resolve_1.normalizeId)(id),delete this.schemas[id],delete this.refs[id]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(definitions){for(let def of definitions)this.addKeyword(def);return this}addKeyword(kwdOrDef,def){let keyword;if(typeof kwdOrDef=="string")keyword=kwdOrDef,typeof def=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),def.keyword=keyword);else if(typeof kwdOrDef=="object"&&def===void 0){if(def=kwdOrDef,keyword=def.keyword,Array.isArray(keyword)&&!keyword.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(checkKeyword.call(this,keyword,def),!def)return(0,util_1.eachItem)(keyword,kwd=>addRule.call(this,kwd)),this;keywordMetaschema.call(this,def);let definition={...def,type:(0,dataType_1.getJSONTypes)(def.type),schemaType:(0,dataType_1.getJSONTypes)(def.schemaType)};return(0,util_1.eachItem)(keyword,definition.type.length===0?k=>addRule.call(this,k,definition):k=>definition.type.forEach(t=>addRule.call(this,k,definition,t))),this}getKeyword(keyword){let rule=this.RULES.all[keyword];return typeof rule=="object"?rule.definition:!!rule}removeKeyword(keyword){let{RULES}=this;delete RULES.keywords[keyword],delete RULES.all[keyword];for(let group of RULES.rules){let i=group.rules.findIndex(rule=>rule.keyword===keyword);i>=0&&group.rules.splice(i,1)}return this}addFormat(name,format2){return typeof format2=="string"&&(format2=new RegExp(format2)),this.formats[name]=format2,this}errorsText(errors=this.errors,{separator=", ",dataVar="data"}={}){return!errors||errors.length===0?"No errors":errors.map(e=>`${dataVar}${e.instancePath} ${e.message}`).reduce((text,msg)=>text+separator+msg)}$dataMetaSchema(metaSchema,keywordsJsonPointers){let rules=this.RULES.all;metaSchema=JSON.parse(JSON.stringify(metaSchema));for(let jsonPointer of keywordsJsonPointers){let segments=jsonPointer.split("/").slice(1),keywords=metaSchema;for(let seg of segments)keywords=keywords[seg];for(let key in rules){let rule=rules[key];if(typeof rule!="object")continue;let{$data}=rule.definition,schema=keywords[key];$data&&schema&&(keywords[key]=schemaOrData(schema))}}return metaSchema}_removeAllSchemas(schemas,regex){for(let keyRef in schemas){let sch=schemas[keyRef];(!regex||regex.test(keyRef))&&(typeof sch=="string"?delete schemas[keyRef]:sch&&!sch.meta&&(this._cache.delete(sch.schema),delete schemas[keyRef]))}}_addSchema(schema,meta,baseId,validateSchema=this.opts.validateSchema,addSchema=this.opts.addUsedSchema){let id,{schemaId}=this.opts;if(typeof schema=="object")id=schema[schemaId];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof schema!="boolean")throw new Error("schema must be object or boolean")}let sch=this._cache.get(schema);if(sch!==void 0)return sch;baseId=(0,resolve_1.normalizeId)(id||baseId);let localRefs=resolve_1.getSchemaRefs.call(this,schema,baseId);return sch=new compile_1.SchemaEnv({schema,schemaId,meta,baseId,localRefs}),this._cache.set(sch.schema,sch),addSchema&&!baseId.startsWith("#")&&(baseId&&this._checkUnique(baseId),this.refs[baseId]=sch),validateSchema&&this.validateSchema(schema,!0),sch}_checkUnique(id){if(this.schemas[id]||this.refs[id])throw new Error(`schema with key or id "${id}" already exists`)}_compileSchemaEnv(sch){if(sch.meta?this._compileMetaSchema(sch):compile_1.compileSchema.call(this,sch),!sch.validate)throw new Error("ajv implementation error");return sch.validate}_compileMetaSchema(sch){let currentOpts=this.opts;this.opts=this._metaOpts;try{compile_1.compileSchema.call(this,sch)}finally{this.opts=currentOpts}}};Ajv2.ValidationError=validation_error_1.default;Ajv2.MissingRefError=ref_error_1.default;exports.default=Ajv2;function checkOptions(checkOpts,options,msg,log2="error"){for(let key in checkOpts){let opt=key;opt in options&&this.logger[log2](`${msg}: option ${key}. ${checkOpts[opt]}`)}}function getSchEnv(keyRef){return keyRef=(0,resolve_1.normalizeId)(keyRef),this.schemas[keyRef]||this.refs[keyRef]}function addInitialSchemas(){let optsSchemas=this.opts.schemas;if(optsSchemas)if(Array.isArray(optsSchemas))this.addSchema(optsSchemas);else for(let key in optsSchemas)this.addSchema(optsSchemas[key],key)}function addInitialFormats(){for(let name in this.opts.formats){let format2=this.opts.formats[name];format2&&this.addFormat(name,format2)}}function addInitialKeywords(defs){if(Array.isArray(defs)){this.addVocabulary(defs);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let keyword in defs){let def=defs[keyword];def.keyword||(def.keyword=keyword),this.addKeyword(def)}}function getMetaSchemaOptions(){let metaOpts={...this.opts};for(let opt of META_IGNORE_OPTIONS)delete metaOpts[opt];return metaOpts}var noLogs={log(){},warn(){},error(){}};function getLogger(logger){if(logger===!1)return noLogs;if(logger===void 0)return console;if(logger.log&&logger.warn&&logger.error)return logger;throw new Error("logger must implement log, warn and error methods")}var KEYWORD_NAME=/^[a-z_$][a-z0-9_$:-]*$/i;function checkKeyword(keyword,def){let{RULES}=this;if((0,util_1.eachItem)(keyword,kwd=>{if(RULES.keywords[kwd])throw new Error(`Keyword ${kwd} is already defined`);if(!KEYWORD_NAME.test(kwd))throw new Error(`Keyword ${kwd} has invalid name`)}),!!def&&def.$data&&!("code"in def||"validate"in def))throw new Error('$data keyword must have "code" or "validate" function')}function addRule(keyword,definition,dataType){var _a;let post=definition?.post;if(dataType&&post)throw new Error('keyword with "post" flag cannot have "type"');let{RULES}=this,ruleGroup=post?RULES.post:RULES.rules.find(({type:t})=>t===dataType);if(ruleGroup||(ruleGroup={type:dataType,rules:[]},RULES.rules.push(ruleGroup)),RULES.keywords[keyword]=!0,!definition)return;let rule={keyword,definition:{...definition,type:(0,dataType_1.getJSONTypes)(definition.type),schemaType:(0,dataType_1.getJSONTypes)(definition.schemaType)}};definition.before?addBeforeRule.call(this,ruleGroup,rule,definition.before):ruleGroup.rules.push(rule),RULES.all[keyword]=rule,(_a=definition.implements)===null||_a===void 0||_a.forEach(kwd=>this.addKeyword(kwd))}function addBeforeRule(ruleGroup,rule,before){let i=ruleGroup.rules.findIndex(_rule=>_rule.keyword===before);i>=0?ruleGroup.rules.splice(i,0,rule):(ruleGroup.rules.push(rule),this.logger.warn(`rule ${before} is not defined`))}function keywordMetaschema(def){let{metaSchema}=def;metaSchema!==void 0&&(def.$data&&this.opts.$data&&(metaSchema=schemaOrData(metaSchema)),def.validateSchema=this.compile(metaSchema,!0))}var $dataRef={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function schemaOrData(schema){return{anyOf:[schema,$dataRef]}}}});var require_id=__commonJS({"../node_modules/ajv/dist/vocabularies/core/id.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var def={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};exports.default=def}});var require_ref=__commonJS({"../node_modules/ajv/dist/vocabularies/core/ref.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.callRef=exports.getValidate=void 0;var ref_error_1=require_ref_error(),code_1=require_code2(),codegen_1=require_codegen(),names_1=require_names(),compile_1=require_compile(),util_1=require_util(),def={keyword:"$ref",schemaType:"string",code(cxt){let{gen,schema:$ref,it}=cxt,{baseId,schemaEnv:env,validateName,opts,self}=it,{root}=env;if(($ref==="#"||$ref==="#/")&&baseId===root.baseId)return callRootRef();let schOrEnv=compile_1.resolveRef.call(self,root,baseId,$ref);if(schOrEnv===void 0)throw new ref_error_1.default(it.opts.uriResolver,baseId,$ref);if(schOrEnv instanceof compile_1.SchemaEnv)return callValidate(schOrEnv);return inlineRefSchema(schOrEnv);function callRootRef(){if(env===root)return callRef(cxt,validateName,env,env.$async);let rootName=gen.scopeValue("root",{ref:root});return callRef(cxt,(0,codegen_1._)`${rootName}.validate`,root,root.$async)}function callValidate(sch){let v=getValidate(cxt,sch);callRef(cxt,v,sch,sch.$async)}function inlineRefSchema(sch){let schName=gen.scopeValue("schema",opts.code.source===!0?{ref:sch,code:(0,codegen_1.stringify)(sch)}:{ref:sch}),valid=gen.name("valid"),schCxt=cxt.subschema({schema:sch,dataTypes:[],schemaPath:codegen_1.nil,topSchemaRef:schName,errSchemaPath:$ref},valid);cxt.mergeEvaluated(schCxt),cxt.ok(valid)}}};function getValidate(cxt,sch){let{gen}=cxt;return sch.validate?gen.scopeValue("validate",{ref:sch.validate}):(0,codegen_1._)`${gen.scopeValue("wrapper",{ref:sch})}.validate`}exports.getValidate=getValidate;function callRef(cxt,v,sch,$async){let{gen,it}=cxt,{allErrors,schemaEnv:env,opts}=it,passCxt=opts.passContext?names_1.default.this:codegen_1.nil;$async?callAsyncRef():callSyncRef();function callAsyncRef(){if(!env.$async)throw new Error("async schema referenced by sync schema");let valid=gen.let("valid");gen.try(()=>{gen.code((0,codegen_1._)`await ${(0,code_1.callValidateCode)(cxt,v,passCxt)}`),addEvaluatedFrom(v),allErrors||gen.assign(valid,!0)},e=>{gen.if((0,codegen_1._)`!(${e} instanceof ${it.ValidationError})`,()=>gen.throw(e)),addErrorsFrom(e),allErrors||gen.assign(valid,!1)}),cxt.ok(valid)}function callSyncRef(){cxt.result((0,code_1.callValidateCode)(cxt,v,passCxt),()=>addEvaluatedFrom(v),()=>addErrorsFrom(v))}function addErrorsFrom(source){let errs=(0,codegen_1._)`${source}.errors`;gen.assign(names_1.default.vErrors,(0,codegen_1._)`${names_1.default.vErrors} === null ? ${errs} : ${names_1.default.vErrors}.concat(${errs})`),gen.assign(names_1.default.errors,(0,codegen_1._)`${names_1.default.vErrors}.length`)}function addEvaluatedFrom(source){var _a;if(!it.opts.unevaluated)return;let schEvaluated=(_a=sch?.validate)===null||_a===void 0?void 0:_a.evaluated;if(it.props!==!0)if(schEvaluated&&!schEvaluated.dynamicProps)schEvaluated.props!==void 0&&(it.props=util_1.mergeEvaluated.props(gen,schEvaluated.props,it.props));else{let props=gen.var("props",(0,codegen_1._)`${source}.evaluated.props`);it.props=util_1.mergeEvaluated.props(gen,props,it.props,codegen_1.Name)}if(it.items!==!0)if(schEvaluated&&!schEvaluated.dynamicItems)schEvaluated.items!==void 0&&(it.items=util_1.mergeEvaluated.items(gen,schEvaluated.items,it.items));else{let items=gen.var("items",(0,codegen_1._)`${source}.evaluated.items`);it.items=util_1.mergeEvaluated.items(gen,items,it.items,codegen_1.Name)}}}exports.callRef=callRef;exports.default=def}});var require_core2=__commonJS({"../node_modules/ajv/dist/vocabularies/core/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var id_1=require_id(),ref_1=require_ref(),core=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",id_1.default,ref_1.default];exports.default=core}});var require_limitNumber=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),ops=codegen_1.operators,KWDs={maximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},minimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},exclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},exclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error3={message:({keyword,schemaCode})=>(0,codegen_1.str)`must be ${KWDs[keyword].okStr} ${schemaCode}`,params:({keyword,schemaCode})=>(0,codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`},def={keyword:Object.keys(KWDs),type:"number",schemaType:"number",$data:!0,error:error3,code(cxt){let{keyword,data,schemaCode}=cxt;cxt.fail$data((0,codegen_1._)`${data} ${KWDs[keyword].fail} ${schemaCode} || isNaN(${data})`)}};exports.default=def}});var require_multipleOf=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),error3={message:({schemaCode})=>(0,codegen_1.str)`must be multiple of ${schemaCode}`,params:({schemaCode})=>(0,codegen_1._)`{multipleOf: ${schemaCode}}`},def={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:error3,code(cxt){let{gen,data,schemaCode,it}=cxt,prec=it.opts.multipleOfPrecision,res=gen.let("res"),invalid=prec?(0,codegen_1._)`Math.abs(Math.round(${res}) - ${res}) > 1e-${prec}`:(0,codegen_1._)`${res} !== parseInt(${res})`;cxt.fail$data((0,codegen_1._)`(${schemaCode} === 0 || (${res} = ${data}/${schemaCode}, ${invalid}))`)}};exports.default=def}});var require_ucs2length=__commonJS({"../node_modules/ajv/dist/runtime/ucs2length.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});function ucs2length(str){let len=str.length,length=0,pos=0,value;for(;pos<len;)length++,value=str.charCodeAt(pos++),value>=55296&&value<=56319&&pos<len&&(value=str.charCodeAt(pos),(value&64512)===56320&&pos++);return length}exports.default=ucs2length;ucs2length.code='require("ajv/dist/runtime/ucs2length").default'}});var require_limitLength=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),ucs2length_1=require_ucs2length(),error3={message({keyword,schemaCode}){let comp=keyword==="maxLength"?"more":"fewer";return(0,codegen_1.str)`must NOT have ${comp} than ${schemaCode} characters`},params:({schemaCode})=>(0,codegen_1._)`{limit: ${schemaCode}}`},def={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:error3,code(cxt){let{keyword,data,schemaCode,it}=cxt,op=keyword==="maxLength"?codegen_1.operators.GT:codegen_1.operators.LT,len=it.opts.unicode===!1?(0,codegen_1._)`${data}.length`:(0,codegen_1._)`${(0,util_1.useFunc)(cxt.gen,ucs2length_1.default)}(${data})`;cxt.fail$data((0,codegen_1._)`${len} ${op} ${schemaCode}`)}};exports.default=def}});var require_pattern=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var code_1=require_code2(),util_1=require_util(),codegen_1=require_codegen(),error3={message:({schemaCode})=>(0,codegen_1.str)`must match pattern "${schemaCode}"`,params:({schemaCode})=>(0,codegen_1._)`{pattern: ${schemaCode}}`},def={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:error3,code(cxt){let{gen,data,$data,schema,schemaCode,it}=cxt,u=it.opts.unicodeRegExp?"u":"";if($data){let{regExp}=it.opts.code,regExpCode=regExp.code==="new RegExp"?(0,codegen_1._)`new RegExp`:(0,util_1.useFunc)(gen,regExp),valid=gen.let("valid");gen.try(()=>gen.assign(valid,(0,codegen_1._)`${regExpCode}(${schemaCode}, ${u}).test(${data})`),()=>gen.assign(valid,!1)),cxt.fail$data((0,codegen_1._)`!${valid}`)}else{let regExp=(0,code_1.usePattern)(cxt,schema);cxt.fail$data((0,codegen_1._)`!${regExp}.test(${data})`)}}};exports.default=def}});var require_limitProperties=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),error3={message({keyword,schemaCode}){let comp=keyword==="maxProperties"?"more":"fewer";return(0,codegen_1.str)`must NOT have ${comp} than ${schemaCode} properties`},params:({schemaCode})=>(0,codegen_1._)`{limit: ${schemaCode}}`},def={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:error3,code(cxt){let{keyword,data,schemaCode}=cxt,op=keyword==="maxProperties"?codegen_1.operators.GT:codegen_1.operators.LT;cxt.fail$data((0,codegen_1._)`Object.keys(${data}).length ${op} ${schemaCode}`)}};exports.default=def}});var require_required=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/required.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var code_1=require_code2(),codegen_1=require_codegen(),util_1=require_util(),error3={message:({params:{missingProperty}})=>(0,codegen_1.str)`must have required property '${missingProperty}'`,params:({params:{missingProperty}})=>(0,codegen_1._)`{missingProperty: ${missingProperty}}`},def={keyword:"required",type:"object",schemaType:"array",$data:!0,error:error3,code(cxt){let{gen,schema,schemaCode,data,$data,it}=cxt,{opts}=it;if(!$data&&schema.length===0)return;let useLoop=schema.length>=opts.loopRequired;if(it.allErrors?allErrorsMode():exitOnErrorMode(),opts.strictRequired){let props=cxt.parentSchema.properties,{definedProperties}=cxt.it;for(let requiredKey of schema)if(props?.[requiredKey]===void 0&&!definedProperties.has(requiredKey)){let schemaPath=it.schemaEnv.baseId+it.errSchemaPath,msg=`required property "${requiredKey}" is not defined at "${schemaPath}" (strictRequired)`;(0,util_1.checkStrictMode)(it,msg,it.opts.strictRequired)}}function allErrorsMode(){if(useLoop||$data)cxt.block$data(codegen_1.nil,loopAllRequired);else for(let prop of schema)(0,code_1.checkReportMissingProp)(cxt,prop)}function exitOnErrorMode(){let missing=gen.let("missing");if(useLoop||$data){let valid=gen.let("valid",!0);cxt.block$data(valid,()=>loopUntilMissing(missing,valid)),cxt.ok(valid)}else gen.if((0,code_1.checkMissingProp)(cxt,schema,missing)),(0,code_1.reportMissingProp)(cxt,missing),gen.else()}function loopAllRequired(){gen.forOf("prop",schemaCode,prop=>{cxt.setParams({missingProperty:prop}),gen.if((0,code_1.noPropertyInData)(gen,data,prop,opts.ownProperties),()=>cxt.error())})}function loopUntilMissing(missing,valid){cxt.setParams({missingProperty:missing}),gen.forOf(missing,schemaCode,()=>{gen.assign(valid,(0,code_1.propertyInData)(gen,data,missing,opts.ownProperties)),gen.if((0,codegen_1.not)(valid),()=>{cxt.error(),gen.break()})},codegen_1.nil)}}};exports.default=def}});var require_limitItems=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),error3={message({keyword,schemaCode}){let comp=keyword==="maxItems"?"more":"fewer";return(0,codegen_1.str)`must NOT have ${comp} than ${schemaCode} items`},params:({schemaCode})=>(0,codegen_1._)`{limit: ${schemaCode}}`},def={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:error3,code(cxt){let{keyword,data,schemaCode}=cxt,op=keyword==="maxItems"?codegen_1.operators.GT:codegen_1.operators.LT;cxt.fail$data((0,codegen_1._)`${data}.length ${op} ${schemaCode}`)}};exports.default=def}});var require_equal=__commonJS({"../node_modules/ajv/dist/runtime/equal.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var equal=require_fast_deep_equal();equal.code='require("ajv/dist/runtime/equal").default';exports.default=equal}});var require_uniqueItems=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var dataType_1=require_dataType(),codegen_1=require_codegen(),util_1=require_util(),equal_1=require_equal(),error3={message:({params:{i,j}})=>(0,codegen_1.str)`must NOT have duplicate items (items ## ${j} and ${i} are identical)`,params:({params:{i,j}})=>(0,codegen_1._)`{i: ${i}, j: ${j}}`},def={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:error3,code(cxt){let{gen,data,$data,schema,parentSchema,schemaCode,it}=cxt;if(!$data&&!schema)return;let valid=gen.let("valid"),itemTypes=parentSchema.items?(0,dataType_1.getSchemaTypes)(parentSchema.items):[];cxt.block$data(valid,validateUniqueItems,(0,codegen_1._)`${schemaCode} === false`),cxt.ok(valid);function validateUniqueItems(){let i=gen.let("i",(0,codegen_1._)`${data}.length`),j=gen.let("j");cxt.setParams({i,j}),gen.assign(valid,!0),gen.if((0,codegen_1._)`${i} > 1`,()=>(canOptimize()?loopN:loopN2)(i,j))}function canOptimize(){return itemTypes.length>0&&!itemTypes.some(t=>t==="object"||t==="array")}function loopN(i,j){let item=gen.name("item"),wrongType=(0,dataType_1.checkDataTypes)(itemTypes,item,it.opts.strictNumbers,dataType_1.DataType.Wrong),indices=gen.const("indices",(0,codegen_1._)`{}`);gen.for((0,codegen_1._)`;${i}--;`,()=>{gen.let(item,(0,codegen_1._)`${data}[${i}]`),gen.if(wrongType,(0,codegen_1._)`continue`),itemTypes.length>1&&gen.if((0,codegen_1._)`typeof ${item} == "string"`,(0,codegen_1._)`${item} += "_"`),gen.if((0,codegen_1._)`typeof ${indices}[${item}] == "number"`,()=>{gen.assign(j,(0,codegen_1._)`${indices}[${item}]`),cxt.error(),gen.assign(valid,!1).break()}).code((0,codegen_1._)`${indices}[${item}] = ${i}`)})}function loopN2(i,j){let eql=(0,util_1.useFunc)(gen,equal_1.default),outer=gen.name("outer");gen.label(outer).for((0,codegen_1._)`;${i}--;`,()=>gen.for((0,codegen_1._)`${j} = ${i}; ${j}--;`,()=>gen.if((0,codegen_1._)`${eql}(${data}[${i}], ${data}[${j}])`,()=>{cxt.error(),gen.assign(valid,!1).break(outer)})))}}};exports.default=def}});var require_const=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/const.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),equal_1=require_equal(),error3={message:"must be equal to constant",params:({schemaCode})=>(0,codegen_1._)`{allowedValue: ${schemaCode}}`},def={keyword:"const",$data:!0,error:error3,code(cxt){let{gen,data,$data,schemaCode,schema}=cxt;$data||schema&&typeof schema=="object"?cxt.fail$data((0,codegen_1._)`!${(0,util_1.useFunc)(gen,equal_1.default)}(${data}, ${schemaCode})`):cxt.fail((0,codegen_1._)`${schema} !== ${data}`)}};exports.default=def}});var require_enum=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/enum.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),equal_1=require_equal(),error3={message:"must be equal to one of the allowed values",params:({schemaCode})=>(0,codegen_1._)`{allowedValues: ${schemaCode}}`},def={keyword:"enum",schemaType:"array",$data:!0,error:error3,code(cxt){let{gen,data,$data,schema,schemaCode,it}=cxt;if(!$data&&schema.length===0)throw new Error("enum must have non-empty array");let useLoop=schema.length>=it.opts.loopEnum,eql,getEql=()=>eql??(eql=(0,util_1.useFunc)(gen,equal_1.default)),valid;if(useLoop||$data)valid=gen.let("valid"),cxt.block$data(valid,loopEnum);else{if(!Array.isArray(schema))throw new Error("ajv implementation error");let vSchema=gen.const("vSchema",schemaCode);valid=(0,codegen_1.or)(...schema.map((_x,i)=>equalCode(vSchema,i)))}cxt.pass(valid);function loopEnum(){gen.assign(valid,!1),gen.forOf("v",schemaCode,v=>gen.if((0,codegen_1._)`${getEql()}(${data}, ${v})`,()=>gen.assign(valid,!0).break()))}function equalCode(vSchema,i){let sch=schema[i];return typeof sch=="object"&&sch!==null?(0,codegen_1._)`${getEql()}(${data}, ${vSchema}[${i}])`:(0,codegen_1._)`${data} === ${sch}`}}};exports.default=def}});var require_validation=__commonJS({"../node_modules/ajv/dist/vocabularies/validation/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var limitNumber_1=require_limitNumber(),multipleOf_1=require_multipleOf(),limitLength_1=require_limitLength(),pattern_1=require_pattern(),limitProperties_1=require_limitProperties(),required_1=require_required(),limitItems_1=require_limitItems(),uniqueItems_1=require_uniqueItems(),const_1=require_const(),enum_1=require_enum(),validation=[limitNumber_1.default,multipleOf_1.default,limitLength_1.default,pattern_1.default,limitProperties_1.default,required_1.default,limitItems_1.default,uniqueItems_1.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},const_1.default,enum_1.default];exports.default=validation}});var require_additionalItems=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.validateAdditionalItems=void 0;var codegen_1=require_codegen(),util_1=require_util(),error3={message:({params:{len}})=>(0,codegen_1.str)`must NOT have more than ${len} items`,params:({params:{len}})=>(0,codegen_1._)`{limit: ${len}}`},def={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:error3,code(cxt){let{parentSchema,it}=cxt,{items}=parentSchema;if(!Array.isArray(items)){(0,util_1.checkStrictMode)(it,'"additionalItems" is ignored when "items" is not an array of schemas');return}validateAdditionalItems(cxt,items)}};function validateAdditionalItems(cxt,items){let{gen,schema,data,keyword,it}=cxt;it.items=!0;let len=gen.const("len",(0,codegen_1._)`${data}.length`);if(schema===!1)cxt.setParams({len:items.length}),cxt.pass((0,codegen_1._)`${len} <= ${items.length}`);else if(typeof schema=="object"&&!(0,util_1.alwaysValidSchema)(it,schema)){let valid=gen.var("valid",(0,codegen_1._)`${len} <= ${items.length}`);gen.if((0,codegen_1.not)(valid),()=>validateItems(valid)),cxt.ok(valid)}function validateItems(valid){gen.forRange("i",items.length,len,i=>{cxt.subschema({keyword,dataProp:i,dataPropType:util_1.Type.Num},valid),it.allErrors||gen.if((0,codegen_1.not)(valid),()=>gen.break())})}}exports.validateAdditionalItems=validateAdditionalItems;exports.default=def}});var require_items=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/items.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.validateTuple=void 0;var codegen_1=require_codegen(),util_1=require_util(),code_1=require_code2(),def={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(cxt){let{schema,it}=cxt;if(Array.isArray(schema))return validateTuple(cxt,"additionalItems",schema);it.items=!0,!(0,util_1.alwaysValidSchema)(it,schema)&&cxt.ok((0,code_1.validateArray)(cxt))}};function validateTuple(cxt,extraItems,schArr=cxt.schema){let{gen,parentSchema,data,keyword,it}=cxt;checkStrictTuple(parentSchema),it.opts.unevaluated&&schArr.length&&it.items!==!0&&(it.items=util_1.mergeEvaluated.items(gen,schArr.length,it.items));let valid=gen.name("valid"),len=gen.const("len",(0,codegen_1._)`${data}.length`);schArr.forEach((sch,i)=>{(0,util_1.alwaysValidSchema)(it,sch)||(gen.if((0,codegen_1._)`${len} > ${i}`,()=>cxt.subschema({keyword,schemaProp:i,dataProp:i},valid)),cxt.ok(valid))});function checkStrictTuple(sch){let{opts,errSchemaPath}=it,l=schArr.length,fullTuple=l===sch.minItems&&(l===sch.maxItems||sch[extraItems]===!1);if(opts.strictTuples&&!fullTuple){let msg=`"${keyword}" is ${l}-tuple, but minItems or maxItems/${extraItems} are not specified or different at path "${errSchemaPath}"`;(0,util_1.checkStrictMode)(it,msg,opts.strictTuples)}}}exports.validateTuple=validateTuple;exports.default=def}});var require_prefixItems=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var items_1=require_items(),def={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:cxt=>(0,items_1.validateTuple)(cxt,"items")};exports.default=def}});var require_items2020=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),code_1=require_code2(),additionalItems_1=require_additionalItems(),error3={message:({params:{len}})=>(0,codegen_1.str)`must NOT have more than ${len} items`,params:({params:{len}})=>(0,codegen_1._)`{limit: ${len}}`},def={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:error3,code(cxt){let{schema,parentSchema,it}=cxt,{prefixItems}=parentSchema;it.items=!0,!(0,util_1.alwaysValidSchema)(it,schema)&&(prefixItems?(0,additionalItems_1.validateAdditionalItems)(cxt,prefixItems):cxt.ok((0,code_1.validateArray)(cxt)))}};exports.default=def}});var require_contains=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),error3={message:({params:{min,max}})=>max===void 0?(0,codegen_1.str)`must contain at least ${min} valid item(s)`:(0,codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`,params:({params:{min,max}})=>max===void 0?(0,codegen_1._)`{minContains: ${min}}`:(0,codegen_1._)`{minContains: ${min}, maxContains: ${max}}`},def={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:error3,code(cxt){let{gen,schema,parentSchema,data,it}=cxt,min,max,{minContains,maxContains}=parentSchema;it.opts.next?(min=minContains===void 0?1:minContains,max=maxContains):min=1;let len=gen.const("len",(0,codegen_1._)`${data}.length`);if(cxt.setParams({min,max}),max===void 0&&min===0){(0,util_1.checkStrictMode)(it,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(max!==void 0&&min>max){(0,util_1.checkStrictMode)(it,'"minContains" > "maxContains" is always invalid'),cxt.fail();return}if((0,util_1.alwaysValidSchema)(it,schema)){let cond=(0,codegen_1._)`${len} >= ${min}`;max!==void 0&&(cond=(0,codegen_1._)`${cond} && ${len} <= ${max}`),cxt.pass(cond);return}it.items=!0;let valid=gen.name("valid");max===void 0&&min===1?validateItems(valid,()=>gen.if(valid,()=>gen.break())):min===0?(gen.let(valid,!0),max!==void 0&&gen.if((0,codegen_1._)`${data}.length > 0`,validateItemsWithCount)):(gen.let(valid,!1),validateItemsWithCount()),cxt.result(valid,()=>cxt.reset());function validateItemsWithCount(){let schValid=gen.name("_valid"),count=gen.let("count",0);validateItems(schValid,()=>gen.if(schValid,()=>checkLimits(count)))}function validateItems(_valid,block){gen.forRange("i",0,len,i=>{cxt.subschema({keyword:"contains",dataProp:i,dataPropType:util_1.Type.Num,compositeRule:!0},_valid),block()})}function checkLimits(count){gen.code((0,codegen_1._)`${count}++`),max===void 0?gen.if((0,codegen_1._)`${count} >= ${min}`,()=>gen.assign(valid,!0).break()):(gen.if((0,codegen_1._)`${count} > ${max}`,()=>gen.assign(valid,!1).break()),min===1?gen.assign(valid,!0):gen.if((0,codegen_1._)`${count} >= ${min}`,()=>gen.assign(valid,!0)))}}};exports.default=def}});var require_dependencies=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.validateSchemaDeps=exports.validatePropertyDeps=exports.error=void 0;var codegen_1=require_codegen(),util_1=require_util(),code_1=require_code2();exports.error={message:({params:{property,depsCount,deps}})=>{let property_ies=depsCount===1?"property":"properties";return(0,codegen_1.str)`must have ${property_ies} ${deps} when property ${property} is present`},params:({params:{property,depsCount,deps,missingProperty}})=>(0,codegen_1._)`{property: ${property},
|
|
9
|
+
missingProperty: ${missingProperty},
|
|
10
|
+
depsCount: ${depsCount},
|
|
11
|
+
deps: ${deps}}`};var def={keyword:"dependencies",type:"object",schemaType:"object",error:exports.error,code(cxt){let[propDeps,schDeps]=splitDependencies(cxt);validatePropertyDeps(cxt,propDeps),validateSchemaDeps(cxt,schDeps)}};function splitDependencies({schema}){let propertyDeps={},schemaDeps={};for(let key in schema){if(key==="__proto__")continue;let deps=Array.isArray(schema[key])?propertyDeps:schemaDeps;deps[key]=schema[key]}return[propertyDeps,schemaDeps]}function validatePropertyDeps(cxt,propertyDeps=cxt.schema){let{gen,data,it}=cxt;if(Object.keys(propertyDeps).length===0)return;let missing=gen.let("missing");for(let prop in propertyDeps){let deps=propertyDeps[prop];if(deps.length===0)continue;let hasProperty=(0,code_1.propertyInData)(gen,data,prop,it.opts.ownProperties);cxt.setParams({property:prop,depsCount:deps.length,deps:deps.join(", ")}),it.allErrors?gen.if(hasProperty,()=>{for(let depProp of deps)(0,code_1.checkReportMissingProp)(cxt,depProp)}):(gen.if((0,codegen_1._)`${hasProperty} && (${(0,code_1.checkMissingProp)(cxt,deps,missing)})`),(0,code_1.reportMissingProp)(cxt,missing),gen.else())}}exports.validatePropertyDeps=validatePropertyDeps;function validateSchemaDeps(cxt,schemaDeps=cxt.schema){let{gen,data,keyword,it}=cxt,valid=gen.name("valid");for(let prop in schemaDeps)(0,util_1.alwaysValidSchema)(it,schemaDeps[prop])||(gen.if((0,code_1.propertyInData)(gen,data,prop,it.opts.ownProperties),()=>{let schCxt=cxt.subschema({keyword,schemaProp:prop},valid);cxt.mergeValidEvaluated(schCxt,valid)},()=>gen.var(valid,!0)),cxt.ok(valid))}exports.validateSchemaDeps=validateSchemaDeps;exports.default=def}});var require_propertyNames=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),error3={message:"property name must be valid",params:({params})=>(0,codegen_1._)`{propertyName: ${params.propertyName}}`},def={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:error3,code(cxt){let{gen,schema,data,it}=cxt;if((0,util_1.alwaysValidSchema)(it,schema))return;let valid=gen.name("valid");gen.forIn("key",data,key=>{cxt.setParams({propertyName:key}),cxt.subschema({keyword:"propertyNames",data:key,dataTypes:["string"],propertyName:key,compositeRule:!0},valid),gen.if((0,codegen_1.not)(valid),()=>{cxt.error(!0),it.allErrors||gen.break()})}),cxt.ok(valid)}};exports.default=def}});var require_additionalProperties=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var code_1=require_code2(),codegen_1=require_codegen(),names_1=require_names(),util_1=require_util(),error3={message:"must NOT have additional properties",params:({params})=>(0,codegen_1._)`{additionalProperty: ${params.additionalProperty}}`},def={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:error3,code(cxt){let{gen,schema,parentSchema,data,errsCount,it}=cxt;if(!errsCount)throw new Error("ajv implementation error");let{allErrors,opts}=it;if(it.props=!0,opts.removeAdditional!=="all"&&(0,util_1.alwaysValidSchema)(it,schema))return;let props=(0,code_1.allSchemaProperties)(parentSchema.properties),patProps=(0,code_1.allSchemaProperties)(parentSchema.patternProperties);checkAdditionalProperties(),cxt.ok((0,codegen_1._)`${errsCount} === ${names_1.default.errors}`);function checkAdditionalProperties(){gen.forIn("key",data,key=>{!props.length&&!patProps.length?additionalPropertyCode(key):gen.if(isAdditional(key),()=>additionalPropertyCode(key))})}function isAdditional(key){let definedProp;if(props.length>8){let propsSchema=(0,util_1.schemaRefOrVal)(it,parentSchema.properties,"properties");definedProp=(0,code_1.isOwnProperty)(gen,propsSchema,key)}else props.length?definedProp=(0,codegen_1.or)(...props.map(p=>(0,codegen_1._)`${key} === ${p}`)):definedProp=codegen_1.nil;return patProps.length&&(definedProp=(0,codegen_1.or)(definedProp,...patProps.map(p=>(0,codegen_1._)`${(0,code_1.usePattern)(cxt,p)}.test(${key})`))),(0,codegen_1.not)(definedProp)}function deleteAdditional(key){gen.code((0,codegen_1._)`delete ${data}[${key}]`)}function additionalPropertyCode(key){if(opts.removeAdditional==="all"||opts.removeAdditional&&schema===!1){deleteAdditional(key);return}if(schema===!1){cxt.setParams({additionalProperty:key}),cxt.error(),allErrors||gen.break();return}if(typeof schema=="object"&&!(0,util_1.alwaysValidSchema)(it,schema)){let valid=gen.name("valid");opts.removeAdditional==="failing"?(applyAdditionalSchema(key,valid,!1),gen.if((0,codegen_1.not)(valid),()=>{cxt.reset(),deleteAdditional(key)})):(applyAdditionalSchema(key,valid),allErrors||gen.if((0,codegen_1.not)(valid),()=>gen.break()))}}function applyAdditionalSchema(key,valid,errors){let subschema={keyword:"additionalProperties",dataProp:key,dataPropType:util_1.Type.Str};errors===!1&&Object.assign(subschema,{compositeRule:!0,createErrors:!1,allErrors:!1}),cxt.subschema(subschema,valid)}}};exports.default=def}});var require_properties=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var validate_1=require_validate(),code_1=require_code2(),util_1=require_util(),additionalProperties_1=require_additionalProperties(),def={keyword:"properties",type:"object",schemaType:"object",code(cxt){let{gen,schema,parentSchema,data,it}=cxt;it.opts.removeAdditional==="all"&&parentSchema.additionalProperties===void 0&&additionalProperties_1.default.code(new validate_1.KeywordCxt(it,additionalProperties_1.default,"additionalProperties"));let allProps=(0,code_1.allSchemaProperties)(schema);for(let prop of allProps)it.definedProperties.add(prop);it.opts.unevaluated&&allProps.length&&it.props!==!0&&(it.props=util_1.mergeEvaluated.props(gen,(0,util_1.toHash)(allProps),it.props));let properties=allProps.filter(p=>!(0,util_1.alwaysValidSchema)(it,schema[p]));if(properties.length===0)return;let valid=gen.name("valid");for(let prop of properties)hasDefault(prop)?applyPropertySchema(prop):(gen.if((0,code_1.propertyInData)(gen,data,prop,it.opts.ownProperties)),applyPropertySchema(prop),it.allErrors||gen.else().var(valid,!0),gen.endIf()),cxt.it.definedProperties.add(prop),cxt.ok(valid);function hasDefault(prop){return it.opts.useDefaults&&!it.compositeRule&&schema[prop].default!==void 0}function applyPropertySchema(prop){cxt.subschema({keyword:"properties",schemaProp:prop,dataProp:prop},valid)}}};exports.default=def}});var require_patternProperties=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var code_1=require_code2(),codegen_1=require_codegen(),util_1=require_util(),util_2=require_util(),def={keyword:"patternProperties",type:"object",schemaType:"object",code(cxt){let{gen,schema,data,parentSchema,it}=cxt,{opts}=it,patterns=(0,code_1.allSchemaProperties)(schema),alwaysValidPatterns=patterns.filter(p=>(0,util_1.alwaysValidSchema)(it,schema[p]));if(patterns.length===0||alwaysValidPatterns.length===patterns.length&&(!it.opts.unevaluated||it.props===!0))return;let checkProperties=opts.strictSchema&&!opts.allowMatchingProperties&&parentSchema.properties,valid=gen.name("valid");it.props!==!0&&!(it.props instanceof codegen_1.Name)&&(it.props=(0,util_2.evaluatedPropsToName)(gen,it.props));let{props}=it;validatePatternProperties();function validatePatternProperties(){for(let pat of patterns)checkProperties&&checkMatchingProperties(pat),it.allErrors?validateProperties(pat):(gen.var(valid,!0),validateProperties(pat),gen.if(valid))}function checkMatchingProperties(pat){for(let prop in checkProperties)new RegExp(pat).test(prop)&&(0,util_1.checkStrictMode)(it,`property ${prop} matches pattern ${pat} (use allowMatchingProperties)`)}function validateProperties(pat){gen.forIn("key",data,key=>{gen.if((0,codegen_1._)`${(0,code_1.usePattern)(cxt,pat)}.test(${key})`,()=>{let alwaysValid=alwaysValidPatterns.includes(pat);alwaysValid||cxt.subschema({keyword:"patternProperties",schemaProp:pat,dataProp:key,dataPropType:util_2.Type.Str},valid),it.opts.unevaluated&&props!==!0?gen.assign((0,codegen_1._)`${props}[${key}]`,!0):!alwaysValid&&!it.allErrors&&gen.if((0,codegen_1.not)(valid),()=>gen.break())})})}}};exports.default=def}});var require_not=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/not.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var util_1=require_util(),def={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(cxt){let{gen,schema,it}=cxt;if((0,util_1.alwaysValidSchema)(it,schema)){cxt.fail();return}let valid=gen.name("valid");cxt.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},valid),cxt.failResult(valid,()=>cxt.reset(),()=>cxt.error())},error:{message:"must NOT be valid"}};exports.default=def}});var require_anyOf=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var code_1=require_code2(),def={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:code_1.validateUnion,error:{message:"must match a schema in anyOf"}};exports.default=def}});var require_oneOf=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),error3={message:"must match exactly one schema in oneOf",params:({params})=>(0,codegen_1._)`{passingSchemas: ${params.passing}}`},def={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:error3,code(cxt){let{gen,schema,parentSchema,it}=cxt;if(!Array.isArray(schema))throw new Error("ajv implementation error");if(it.opts.discriminator&&parentSchema.discriminator)return;let schArr=schema,valid=gen.let("valid",!1),passing=gen.let("passing",null),schValid=gen.name("_valid");cxt.setParams({passing}),gen.block(validateOneOf),cxt.result(valid,()=>cxt.reset(),()=>cxt.error(!0));function validateOneOf(){schArr.forEach((sch,i)=>{let schCxt;(0,util_1.alwaysValidSchema)(it,sch)?gen.var(schValid,!0):schCxt=cxt.subschema({keyword:"oneOf",schemaProp:i,compositeRule:!0},schValid),i>0&&gen.if((0,codegen_1._)`${schValid} && ${valid}`).assign(valid,!1).assign(passing,(0,codegen_1._)`[${passing}, ${i}]`).else(),gen.if(schValid,()=>{gen.assign(valid,!0),gen.assign(passing,i),schCxt&&cxt.mergeEvaluated(schCxt,codegen_1.Name)})})}}};exports.default=def}});var require_allOf=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var util_1=require_util(),def={keyword:"allOf",schemaType:"array",code(cxt){let{gen,schema,it}=cxt;if(!Array.isArray(schema))throw new Error("ajv implementation error");let valid=gen.name("valid");schema.forEach((sch,i)=>{if((0,util_1.alwaysValidSchema)(it,sch))return;let schCxt=cxt.subschema({keyword:"allOf",schemaProp:i},valid);cxt.ok(valid),cxt.mergeEvaluated(schCxt)})}};exports.default=def}});var require_if=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/if.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),util_1=require_util(),error3={message:({params})=>(0,codegen_1.str)`must match "${params.ifClause}" schema`,params:({params})=>(0,codegen_1._)`{failingKeyword: ${params.ifClause}}`},def={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:error3,code(cxt){let{gen,parentSchema,it}=cxt;parentSchema.then===void 0&&parentSchema.else===void 0&&(0,util_1.checkStrictMode)(it,'"if" without "then" and "else" is ignored');let hasThen=hasSchema(it,"then"),hasElse=hasSchema(it,"else");if(!hasThen&&!hasElse)return;let valid=gen.let("valid",!0),schValid=gen.name("_valid");if(validateIf(),cxt.reset(),hasThen&&hasElse){let ifClause=gen.let("ifClause");cxt.setParams({ifClause}),gen.if(schValid,validateClause("then",ifClause),validateClause("else",ifClause))}else hasThen?gen.if(schValid,validateClause("then")):gen.if((0,codegen_1.not)(schValid),validateClause("else"));cxt.pass(valid,()=>cxt.error(!0));function validateIf(){let schCxt=cxt.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},schValid);cxt.mergeEvaluated(schCxt)}function validateClause(keyword,ifClause){return()=>{let schCxt=cxt.subschema({keyword},schValid);gen.assign(valid,schValid),cxt.mergeValidEvaluated(schCxt,valid),ifClause?gen.assign(ifClause,(0,codegen_1._)`${keyword}`):cxt.setParams({ifClause:keyword})}}}};function hasSchema(it,keyword){let schema=it.schema[keyword];return schema!==void 0&&!(0,util_1.alwaysValidSchema)(it,schema)}exports.default=def}});var require_thenElse=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var util_1=require_util(),def={keyword:["then","else"],schemaType:["object","boolean"],code({keyword,parentSchema,it}){parentSchema.if===void 0&&(0,util_1.checkStrictMode)(it,`"${keyword}" without "if" is ignored`)}};exports.default=def}});var require_applicator=__commonJS({"../node_modules/ajv/dist/vocabularies/applicator/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var additionalItems_1=require_additionalItems(),prefixItems_1=require_prefixItems(),items_1=require_items(),items2020_1=require_items2020(),contains_1=require_contains(),dependencies_1=require_dependencies(),propertyNames_1=require_propertyNames(),additionalProperties_1=require_additionalProperties(),properties_1=require_properties(),patternProperties_1=require_patternProperties(),not_1=require_not(),anyOf_1=require_anyOf(),oneOf_1=require_oneOf(),allOf_1=require_allOf(),if_1=require_if(),thenElse_1=require_thenElse();function getApplicator(draft2020=!1){let applicator=[not_1.default,anyOf_1.default,oneOf_1.default,allOf_1.default,if_1.default,thenElse_1.default,propertyNames_1.default,additionalProperties_1.default,dependencies_1.default,properties_1.default,patternProperties_1.default];return draft2020?applicator.push(prefixItems_1.default,items2020_1.default):applicator.push(additionalItems_1.default,items_1.default),applicator.push(contains_1.default),applicator}exports.default=getApplicator}});var require_format=__commonJS({"../node_modules/ajv/dist/vocabularies/format/format.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),error3={message:({schemaCode})=>(0,codegen_1.str)`must match format "${schemaCode}"`,params:({schemaCode})=>(0,codegen_1._)`{format: ${schemaCode}}`},def={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:error3,code(cxt,ruleType){let{gen,data,$data,schema,schemaCode,it}=cxt,{opts,errSchemaPath,schemaEnv,self}=it;if(!opts.validateFormats)return;$data?validate$DataFormat():validateFormat();function validate$DataFormat(){let fmts=gen.scopeValue("formats",{ref:self.formats,code:opts.code.formats}),fDef=gen.const("fDef",(0,codegen_1._)`${fmts}[${schemaCode}]`),fType=gen.let("fType"),format2=gen.let("format");gen.if((0,codegen_1._)`typeof ${fDef} == "object" && !(${fDef} instanceof RegExp)`,()=>gen.assign(fType,(0,codegen_1._)`${fDef}.type || "string"`).assign(format2,(0,codegen_1._)`${fDef}.validate`),()=>gen.assign(fType,(0,codegen_1._)`"string"`).assign(format2,fDef)),cxt.fail$data((0,codegen_1.or)(unknownFmt(),invalidFmt()));function unknownFmt(){return opts.strictSchema===!1?codegen_1.nil:(0,codegen_1._)`${schemaCode} && !${format2}`}function invalidFmt(){let callFormat=schemaEnv.$async?(0,codegen_1._)`(${fDef}.async ? await ${format2}(${data}) : ${format2}(${data}))`:(0,codegen_1._)`${format2}(${data})`,validData=(0,codegen_1._)`(typeof ${format2} == "function" ? ${callFormat} : ${format2}.test(${data}))`;return(0,codegen_1._)`${format2} && ${format2} !== true && ${fType} === ${ruleType} && !${validData}`}}function validateFormat(){let formatDef=self.formats[schema];if(!formatDef){unknownFormat();return}if(formatDef===!0)return;let[fmtType,format2,fmtRef]=getFormat(formatDef);fmtType===ruleType&&cxt.pass(validCondition());function unknownFormat(){if(opts.strictSchema===!1){self.logger.warn(unknownMsg());return}throw new Error(unknownMsg());function unknownMsg(){return`unknown format "${schema}" ignored in schema at path "${errSchemaPath}"`}}function getFormat(fmtDef){let code=fmtDef instanceof RegExp?(0,codegen_1.regexpCode)(fmtDef):opts.code.formats?(0,codegen_1._)`${opts.code.formats}${(0,codegen_1.getProperty)(schema)}`:void 0,fmt=gen.scopeValue("formats",{key:schema,ref:fmtDef,code});return typeof fmtDef=="object"&&!(fmtDef instanceof RegExp)?[fmtDef.type||"string",fmtDef.validate,(0,codegen_1._)`${fmt}.validate`]:["string",fmtDef,fmt]}function validCondition(){if(typeof formatDef=="object"&&!(formatDef instanceof RegExp)&&formatDef.async){if(!schemaEnv.$async)throw new Error("async format in sync schema");return(0,codegen_1._)`await ${fmtRef}(${data})`}return typeof format2=="function"?(0,codegen_1._)`${fmtRef}(${data})`:(0,codegen_1._)`${fmtRef}.test(${data})`}}}};exports.default=def}});var require_format2=__commonJS({"../node_modules/ajv/dist/vocabularies/format/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var format_1=require_format(),format2=[format_1.default];exports.default=format2}});var require_metadata=__commonJS({"../node_modules/ajv/dist/vocabularies/metadata.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.contentVocabulary=exports.metadataVocabulary=void 0;exports.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];exports.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]}});var require_draft7=__commonJS({"../node_modules/ajv/dist/vocabularies/draft7.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var core_1=require_core2(),validation_1=require_validation(),applicator_1=require_applicator(),format_1=require_format2(),metadata_1=require_metadata(),draft7Vocabularies=[core_1.default,validation_1.default,(0,applicator_1.default)(),format_1.default,metadata_1.metadataVocabulary,metadata_1.contentVocabulary];exports.default=draft7Vocabularies}});var require_types=__commonJS({"../node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiscrError=void 0;var DiscrError;(function(DiscrError2){DiscrError2.Tag="tag",DiscrError2.Mapping="mapping"})(DiscrError||(exports.DiscrError=DiscrError={}))}});var require_discriminator=__commonJS({"../node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var codegen_1=require_codegen(),types_1=require_types(),compile_1=require_compile(),ref_error_1=require_ref_error(),util_1=require_util(),error3={message:({params:{discrError,tagName}})=>discrError===types_1.DiscrError.Tag?`tag "${tagName}" must be string`:`value of tag "${tagName}" must be in oneOf`,params:({params:{discrError,tag,tagName}})=>(0,codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`},def={keyword:"discriminator",type:"object",schemaType:"object",error:error3,code(cxt){let{gen,data,schema,parentSchema,it}=cxt,{oneOf}=parentSchema;if(!it.opts.discriminator)throw new Error("discriminator: requires discriminator option");let tagName=schema.propertyName;if(typeof tagName!="string")throw new Error("discriminator: requires propertyName");if(schema.mapping)throw new Error("discriminator: mapping is not supported");if(!oneOf)throw new Error("discriminator: requires oneOf keyword");let valid=gen.let("valid",!1),tag=gen.const("tag",(0,codegen_1._)`${data}${(0,codegen_1.getProperty)(tagName)}`);gen.if((0,codegen_1._)`typeof ${tag} == "string"`,()=>validateMapping(),()=>cxt.error(!1,{discrError:types_1.DiscrError.Tag,tag,tagName})),cxt.ok(valid);function validateMapping(){let mapping=getMapping();gen.if(!1);for(let tagValue in mapping)gen.elseIf((0,codegen_1._)`${tag} === ${tagValue}`),gen.assign(valid,applyTagSchema(mapping[tagValue]));gen.else(),cxt.error(!1,{discrError:types_1.DiscrError.Mapping,tag,tagName}),gen.endIf()}function applyTagSchema(schemaProp){let _valid=gen.name("valid"),schCxt=cxt.subschema({keyword:"oneOf",schemaProp},_valid);return cxt.mergeEvaluated(schCxt,codegen_1.Name),_valid}function getMapping(){var _a;let oneOfMapping={},topRequired=hasRequired(parentSchema),tagRequired=!0;for(let i=0;i<oneOf.length;i++){let sch=oneOf[i];if(sch?.$ref&&!(0,util_1.schemaHasRulesButRef)(sch,it.self.RULES)){let ref=sch.$ref;if(sch=compile_1.resolveRef.call(it.self,it.schemaEnv.root,it.baseId,ref),sch instanceof compile_1.SchemaEnv&&(sch=sch.schema),sch===void 0)throw new ref_error_1.default(it.opts.uriResolver,it.baseId,ref)}let propSch=(_a=sch?.properties)===null||_a===void 0?void 0:_a[tagName];if(typeof propSch!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${tagName}"`);tagRequired=tagRequired&&(topRequired||hasRequired(sch)),addMappings(propSch,i)}if(!tagRequired)throw new Error(`discriminator: "${tagName}" must be required`);return oneOfMapping;function hasRequired({required:required2}){return Array.isArray(required2)&&required2.includes(tagName)}function addMappings(sch,i){if(sch.const)addMapping(sch.const,i);else if(sch.enum)for(let tagValue of sch.enum)addMapping(tagValue,i);else throw new Error(`discriminator: "properties/${tagName}" must have "const" or "enum"`)}function addMapping(tagValue,i){if(typeof tagValue!="string"||tagValue in oneOfMapping)throw new Error(`discriminator: "${tagName}" values must be unique strings`);oneOfMapping[tagValue]=i}}}};exports.default=def}});var require_json_schema_draft_07=__commonJS({"../node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports,module){module.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}});var require_ajv=__commonJS({"../node_modules/ajv/dist/ajv.js"(exports,module){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MissingRefError=exports.ValidationError=exports.CodeGen=exports.Name=exports.nil=exports.stringify=exports.str=exports._=exports.KeywordCxt=exports.Ajv=void 0;var core_1=require_core(),draft7_1=require_draft7(),discriminator_1=require_discriminator(),draft7MetaSchema=require_json_schema_draft_07(),META_SUPPORT_DATA=["/properties"],META_SCHEMA_ID="http://json-schema.org/draft-07/schema",Ajv2=class extends core_1.default{_addVocabularies(){super._addVocabularies(),draft7_1.default.forEach(v=>this.addVocabulary(v)),this.opts.discriminator&&this.addKeyword(discriminator_1.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let metaSchema=this.opts.$data?this.$dataMetaSchema(draft7MetaSchema,META_SUPPORT_DATA):draft7MetaSchema;this.addMetaSchema(metaSchema,META_SCHEMA_ID,!1),this.refs["http://json-schema.org/schema"]=META_SCHEMA_ID}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(META_SCHEMA_ID)?META_SCHEMA_ID:void 0)}};exports.Ajv=Ajv2;module.exports=exports=Ajv2;module.exports.Ajv=Ajv2;Object.defineProperty(exports,"__esModule",{value:!0});exports.default=Ajv2;var validate_1=require_validate();Object.defineProperty(exports,"KeywordCxt",{enumerable:!0,get:function(){return validate_1.KeywordCxt}});var codegen_1=require_codegen();Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return codegen_1._}});Object.defineProperty(exports,"str",{enumerable:!0,get:function(){return codegen_1.str}});Object.defineProperty(exports,"stringify",{enumerable:!0,get:function(){return codegen_1.stringify}});Object.defineProperty(exports,"nil",{enumerable:!0,get:function(){return codegen_1.nil}});Object.defineProperty(exports,"Name",{enumerable:!0,get:function(){return codegen_1.Name}});Object.defineProperty(exports,"CodeGen",{enumerable:!0,get:function(){return codegen_1.CodeGen}});var validation_error_1=require_validation_error();Object.defineProperty(exports,"ValidationError",{enumerable:!0,get:function(){return validation_error_1.default}});var ref_error_1=require_ref_error();Object.defineProperty(exports,"MissingRefError",{enumerable:!0,get:function(){return ref_error_1.default}})}});var require_formats=__commonJS({"../node_modules/ajv-formats/dist/formats.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.formatNames=exports.fastFormats=exports.fullFormats=void 0;function fmtDef(validate,compare){return{validate,compare}}exports.fullFormats={date:fmtDef(date3,compareDate),time:fmtDef(getTime(!0),compareTime),"date-time":fmtDef(getDateTime(!0),compareDateTime),"iso-time":fmtDef(getTime(),compareIsoTime),"iso-date-time":fmtDef(getDateTime(),compareIsoDateTime),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte,int32:{type:"number",validate:validateInt32},int64:{type:"number",validate:validateInt64},float:{type:"number",validate:validateNumber},double:{type:"number",validate:validateNumber},password:!0,binary:!0};exports.fastFormats={...exports.fullFormats,date:fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,compareDate),time:fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareTime),"date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,compareDateTime),"iso-time":fmtDef(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoTime),"iso-date-time":fmtDef(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,compareIsoDateTime),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};exports.formatNames=Object.keys(exports.fullFormats);function isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}var DATE=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,DAYS=[0,31,28,31,30,31,30,31,31,30,31,30,31];function date3(str){let matches=DATE.exec(str);if(!matches)return!1;let year=+matches[1],month=+matches[2],day=+matches[3];return month>=1&&month<=12&&day>=1&&day<=(month===2&&isLeapYear(year)?29:DAYS[month])}function compareDate(d1,d2){if(d1&&d2)return d1>d2?1:d1<d2?-1:0}var TIME=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function getTime(strictTimeZone){return function(str){let matches=TIME.exec(str);if(!matches)return!1;let hr=+matches[1],min=+matches[2],sec=+matches[3],tz=matches[4],tzSign=matches[5]==="-"?-1:1,tzH=+(matches[6]||0),tzM=+(matches[7]||0);if(tzH>23||tzM>59||strictTimeZone&&!tz)return!1;if(hr<=23&&min<=59&&sec<60)return!0;let utcMin=min-tzM*tzSign,utcHr=hr-tzH*tzSign-(utcMin<0?1:0);return(utcHr===23||utcHr===-1)&&(utcMin===59||utcMin===-1)&&sec<61}}function compareTime(s1,s2){if(!(s1&&s2))return;let t1=new Date("2020-01-01T"+s1).valueOf(),t2=new Date("2020-01-01T"+s2).valueOf();if(t1&&t2)return t1-t2}function compareIsoTime(t1,t2){if(!(t1&&t2))return;let a1=TIME.exec(t1),a2=TIME.exec(t2);if(a1&&a2)return t1=a1[1]+a1[2]+a1[3],t2=a2[1]+a2[2]+a2[3],t1>t2?1:t1<t2?-1:0}var DATE_TIME_SEPARATOR=/t|\s/i;function getDateTime(strictTimeZone){let time3=getTime(strictTimeZone);return function(str){let dateTime=str.split(DATE_TIME_SEPARATOR);return dateTime.length===2&&date3(dateTime[0])&&time3(dateTime[1])}}function compareDateTime(dt1,dt2){if(!(dt1&&dt2))return;let d1=new Date(dt1).valueOf(),d2=new Date(dt2).valueOf();if(d1&&d2)return d1-d2}function compareIsoDateTime(dt1,dt2){if(!(dt1&&dt2))return;let[d1,t1]=dt1.split(DATE_TIME_SEPARATOR),[d2,t2]=dt2.split(DATE_TIME_SEPARATOR),res=compareDate(d1,d2);if(res!==void 0)return res||compareTime(t1,t2)}var NOT_URI_FRAGMENT=/\/|:/,URI=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function uri(str){return NOT_URI_FRAGMENT.test(str)&&URI.test(str)}var BYTE=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function byte(str){return BYTE.lastIndex=0,BYTE.test(str)}var MIN_INT32=-(2**31),MAX_INT32=2**31-1;function validateInt32(value){return Number.isInteger(value)&&value<=MAX_INT32&&value>=MIN_INT32}function validateInt64(value){return Number.isInteger(value)}function validateNumber(){return!0}var Z_ANCHOR=/[^\\]\\Z/;function regex(str){if(Z_ANCHOR.test(str))return!1;try{return new RegExp(str),!0}catch{return!1}}}});var require_limit=__commonJS({"../node_modules/ajv-formats/dist/limit.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.formatLimitDefinition=void 0;var ajv_1=require_ajv(),codegen_1=require_codegen(),ops=codegen_1.operators,KWDs={formatMaximum:{okStr:"<=",ok:ops.LTE,fail:ops.GT},formatMinimum:{okStr:">=",ok:ops.GTE,fail:ops.LT},formatExclusiveMaximum:{okStr:"<",ok:ops.LT,fail:ops.GTE},formatExclusiveMinimum:{okStr:">",ok:ops.GT,fail:ops.LTE}},error3={message:({keyword,schemaCode})=>(0,codegen_1.str)`should be ${KWDs[keyword].okStr} ${schemaCode}`,params:({keyword,schemaCode})=>(0,codegen_1._)`{comparison: ${KWDs[keyword].okStr}, limit: ${schemaCode}}`};exports.formatLimitDefinition={keyword:Object.keys(KWDs),type:"string",schemaType:"string",$data:!0,error:error3,code(cxt){let{gen,data,schemaCode,keyword,it}=cxt,{opts,self}=it;if(!opts.validateFormats)return;let fCxt=new ajv_1.KeywordCxt(it,self.RULES.all.format.definition,"format");fCxt.$data?validate$DataFormat():validateFormat();function validate$DataFormat(){let fmts=gen.scopeValue("formats",{ref:self.formats,code:opts.code.formats}),fmt=gen.const("fmt",(0,codegen_1._)`${fmts}[${fCxt.schemaCode}]`);cxt.fail$data((0,codegen_1.or)((0,codegen_1._)`typeof ${fmt} != "object"`,(0,codegen_1._)`${fmt} instanceof RegExp`,(0,codegen_1._)`typeof ${fmt}.compare != "function"`,compareCode(fmt)))}function validateFormat(){let format2=fCxt.schema,fmtDef=self.formats[format2];if(!fmtDef||fmtDef===!0)return;if(typeof fmtDef!="object"||fmtDef instanceof RegExp||typeof fmtDef.compare!="function")throw new Error(`"${keyword}": format "${format2}" does not define "compare" function`);let fmt=gen.scopeValue("formats",{key:format2,ref:fmtDef,code:opts.code.formats?(0,codegen_1._)`${opts.code.formats}${(0,codegen_1.getProperty)(format2)}`:void 0});cxt.fail$data(compareCode(fmt))}function compareCode(fmt){return(0,codegen_1._)`${fmt}.compare(${data}, ${schemaCode}) ${KWDs[keyword].fail} 0`}},dependencies:["format"]};var formatLimitPlugin=ajv=>(ajv.addKeyword(exports.formatLimitDefinition),ajv);exports.default=formatLimitPlugin}});var require_dist=__commonJS({"../node_modules/ajv-formats/dist/index.js"(exports,module){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var formats_1=require_formats(),limit_1=require_limit(),codegen_1=require_codegen(),fullName=new codegen_1.Name("fullFormats"),fastName=new codegen_1.Name("fastFormats"),formatsPlugin=(ajv,opts={keywords:!0})=>{if(Array.isArray(opts))return addFormats(ajv,opts,formats_1.fullFormats,fullName),ajv;let[formats,exportName]=opts.mode==="fast"?[formats_1.fastFormats,fastName]:[formats_1.fullFormats,fullName],list=opts.formats||formats_1.formatNames;return addFormats(ajv,list,formats,exportName),opts.keywords&&(0,limit_1.default)(ajv),ajv};formatsPlugin.get=(name,mode="full")=>{let f=(mode==="fast"?formats_1.fastFormats:formats_1.fullFormats)[name];if(!f)throw new Error(`Unknown format "${name}"`);return f};function addFormats(ajv,list,fs,exportName){var _a,_b;(_a=(_b=ajv.opts.code).formats)!==null&&_a!==void 0||(_b.formats=(0,codegen_1._)`require("ajv-formats/dist/formats").${exportName}`);for(let f of list)ajv.addFormat(f,fs[f])}module.exports=exports=formatsPlugin;Object.defineProperty(exports,"__esModule",{value:!0});exports.default=formatsPlugin}});var require_identity=__commonJS({"../node_modules/yaml/dist/nodes/identity.js"(exports){"use strict";var ALIAS=Symbol.for("yaml.alias"),DOC=Symbol.for("yaml.document"),MAP=Symbol.for("yaml.map"),PAIR=Symbol.for("yaml.pair"),SCALAR=Symbol.for("yaml.scalar"),SEQ=Symbol.for("yaml.seq"),NODE_TYPE=Symbol.for("yaml.node.type"),isAlias=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===ALIAS,isDocument=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===DOC,isMap=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===MAP,isPair=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===PAIR,isScalar=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SCALAR,isSeq=node=>!!node&&typeof node=="object"&&node[NODE_TYPE]===SEQ;function isCollection(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case MAP:case SEQ:return!0}return!1}function isNode(node){if(node&&typeof node=="object")switch(node[NODE_TYPE]){case ALIAS:case MAP:case SCALAR:case SEQ:return!0}return!1}var hasAnchor=node=>(isScalar(node)||isCollection(node))&&!!node.anchor;exports.ALIAS=ALIAS;exports.DOC=DOC;exports.MAP=MAP;exports.NODE_TYPE=NODE_TYPE;exports.PAIR=PAIR;exports.SCALAR=SCALAR;exports.SEQ=SEQ;exports.hasAnchor=hasAnchor;exports.isAlias=isAlias;exports.isCollection=isCollection;exports.isDocument=isDocument;exports.isMap=isMap;exports.isNode=isNode;exports.isPair=isPair;exports.isScalar=isScalar;exports.isSeq=isSeq}});var require_visit=__commonJS({"../node_modules/yaml/dist/visit.js"(exports){"use strict";var identity=require_identity(),BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove node");function visit(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?visit_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):visit_(null,node,visitor_,Object.freeze([]))}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;function visit_(key,node,visitor,path){let ctrl=callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visit_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=visit_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=visit_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=visit_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}async function visitAsync(node,visitor){let visitor_=initVisitor(visitor);identity.isDocument(node)?await visitAsync_(null,node.contents,visitor_,Object.freeze([node]))===REMOVE&&(node.contents=null):await visitAsync_(null,node,visitor_,Object.freeze([]))}visitAsync.BREAK=BREAK;visitAsync.SKIP=SKIP;visitAsync.REMOVE=REMOVE;async function visitAsync_(key,node,visitor,path){let ctrl=await callVisitor(key,node,visitor,path);if(identity.isNode(ctrl)||identity.isPair(ctrl))return replaceNode(key,path,ctrl),visitAsync_(key,ctrl,visitor,path);if(typeof ctrl!="symbol"){if(identity.isCollection(node)){path=Object.freeze(path.concat(node));for(let i=0;i<node.items.length;++i){let ci=await visitAsync_(i,node.items[i],visitor,path);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(node.items.splice(i,1),i-=1)}}}else if(identity.isPair(node)){path=Object.freeze(path.concat(node));let ck=await visitAsync_("key",node.key,visitor,path);if(ck===BREAK)return BREAK;ck===REMOVE&&(node.key=null);let cv=await visitAsync_("value",node.value,visitor,path);if(cv===BREAK)return BREAK;cv===REMOVE&&(node.value=null)}}return ctrl}function initVisitor(visitor){return typeof visitor=="object"&&(visitor.Collection||visitor.Node||visitor.Value)?Object.assign({Alias:visitor.Node,Map:visitor.Node,Scalar:visitor.Node,Seq:visitor.Node},visitor.Value&&{Map:visitor.Value,Scalar:visitor.Value,Seq:visitor.Value},visitor.Collection&&{Map:visitor.Collection,Seq:visitor.Collection},visitor):visitor}function callVisitor(key,node,visitor,path){if(typeof visitor=="function")return visitor(key,node,path);if(identity.isMap(node))return visitor.Map?.(key,node,path);if(identity.isSeq(node))return visitor.Seq?.(key,node,path);if(identity.isPair(node))return visitor.Pair?.(key,node,path);if(identity.isScalar(node))return visitor.Scalar?.(key,node,path);if(identity.isAlias(node))return visitor.Alias?.(key,node,path)}function replaceNode(key,path,node){let parent=path[path.length-1];if(identity.isCollection(parent))parent.items[key]=node;else if(identity.isPair(parent))key==="key"?parent.key=node:parent.value=node;else if(identity.isDocument(parent))parent.contents=node;else{let pt=identity.isAlias(parent)?"alias":"scalar";throw new Error(`Cannot replace node with ${pt} parent`)}}exports.visit=visit;exports.visitAsync=visitAsync}});var require_directives=__commonJS({"../node_modules/yaml/dist/doc/directives.js"(exports){"use strict";var identity=require_identity(),visit=require_visit(),escapeChars={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},escapeTagName=tn=>tn.replace(/[!,[\]{}]/g,ch=>escapeChars[ch]),Directives=class _Directives{constructor(yaml,tags){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},_Directives.defaultYaml,yaml),this.tags=Object.assign({},_Directives.defaultTags,tags)}clone(){let copy=new _Directives(this.yaml,this.tags);return copy.docStart=this.docStart,copy}atDocument(){let res=new _Directives(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},_Directives.defaultTags);break}return res}add(line,onError){this.atNextDocument&&(this.yaml={explicit:_Directives.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},_Directives.defaultTags),this.atNextDocument=!1);let parts=line.trim().split(/[ \t]+/),name=parts.shift();switch(name){case"%TAG":{if(parts.length!==2&&(onError(0,"%TAG directive should contain exactly two parts"),parts.length<2))return!1;let[handle,prefix]=parts;return this.tags[handle]=prefix,!0}case"%YAML":{if(this.yaml.explicit=!0,parts.length!==1)return onError(0,"%YAML directive should contain exactly one part"),!1;let[version2]=parts;if(version2==="1.1"||version2==="1.2")return this.yaml.version=version2,!0;{let isValid2=/^\d+\.\d+$/.test(version2);return onError(6,`Unsupported YAML version ${version2}`,isValid2),!1}}default:return onError(0,`Unknown directive ${name}`,!0),!1}}tagName(source,onError){if(source==="!")return"!";if(source[0]!=="!")return onError(`Not a valid tag: ${source}`),null;if(source[1]==="<"){let verbatim=source.slice(2,-1);return verbatim==="!"||verbatim==="!!"?(onError(`Verbatim tags aren't resolved, so ${source} is invalid.`),null):(source[source.length-1]!==">"&&onError("Verbatim tags must end with a >"),verbatim)}let[,handle,suffix]=source.match(/^(.*!)([^!]*)$/s);suffix||onError(`The ${source} tag has no suffix`);let prefix=this.tags[handle];if(prefix)try{return prefix+decodeURIComponent(suffix)}catch(error3){return onError(String(error3)),null}return handle==="!"?source:(onError(`Could not resolve tag: ${source}`),null)}tagString(tag){for(let[handle,prefix]of Object.entries(this.tags))if(tag.startsWith(prefix))return handle+escapeTagName(tag.substring(prefix.length));return tag[0]==="!"?tag:`!<${tag}>`}toString(doc){let lines=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],tagEntries=Object.entries(this.tags),tagNames;if(doc&&tagEntries.length>0&&identity.isNode(doc.contents)){let tags={};visit.visit(doc.contents,(_key,node)=>{identity.isNode(node)&&node.tag&&(tags[node.tag]=!0)}),tagNames=Object.keys(tags)}else tagNames=[];for(let[handle,prefix]of tagEntries)handle==="!!"&&prefix==="tag:yaml.org,2002:"||(!doc||tagNames.some(tn=>tn.startsWith(prefix)))&&lines.push(`%TAG ${handle} ${prefix}`);return lines.join(`
|
|
12
|
+
`)}};Directives.defaultYaml={explicit:!1,version:"1.2"};Directives.defaultTags={"!!":"tag:yaml.org,2002:"};exports.Directives=Directives}});var require_anchors=__commonJS({"../node_modules/yaml/dist/doc/anchors.js"(exports){"use strict";var identity=require_identity(),visit=require_visit();function anchorIsValid(anchor){if(/[\x00-\x19\s,[\]{}]/.test(anchor)){let msg=`Anchor must not contain whitespace or control characters: ${JSON.stringify(anchor)}`;throw new Error(msg)}return!0}function anchorNames(root){let anchors=new Set;return visit.visit(root,{Value(_key,node){node.anchor&&anchors.add(node.anchor)}}),anchors}function findNewAnchor(prefix,exclude){for(let i=1;;++i){let name=`${prefix}${i}`;if(!exclude.has(name))return name}}function createNodeAnchors(doc,prefix){let aliasObjects=[],sourceObjects=new Map,prevAnchors=null;return{onAnchor:source=>{aliasObjects.push(source),prevAnchors??(prevAnchors=anchorNames(doc));let anchor=findNewAnchor(prefix,prevAnchors);return prevAnchors.add(anchor),anchor},setAnchors:()=>{for(let source of aliasObjects){let ref=sourceObjects.get(source);if(typeof ref=="object"&&ref.anchor&&(identity.isScalar(ref.node)||identity.isCollection(ref.node)))ref.node.anchor=ref.anchor;else{let error3=new Error("Failed to resolve repeated object (this should not happen)");throw error3.source=source,error3}}},sourceObjects}}exports.anchorIsValid=anchorIsValid;exports.anchorNames=anchorNames;exports.createNodeAnchors=createNodeAnchors;exports.findNewAnchor=findNewAnchor}});var require_applyReviver=__commonJS({"../node_modules/yaml/dist/doc/applyReviver.js"(exports){"use strict";function applyReviver(reviver,obj,key,val){if(val&&typeof val=="object")if(Array.isArray(val))for(let i=0,len=val.length;i<len;++i){let v0=val[i],v1=applyReviver(reviver,val,String(i),v0);v1===void 0?delete val[i]:v1!==v0&&(val[i]=v1)}else if(val instanceof Map)for(let k of Array.from(val.keys())){let v0=val.get(k),v1=applyReviver(reviver,val,k,v0);v1===void 0?val.delete(k):v1!==v0&&val.set(k,v1)}else if(val instanceof Set)for(let v0 of Array.from(val)){let v1=applyReviver(reviver,val,v0,v0);v1===void 0?val.delete(v0):v1!==v0&&(val.delete(v0),val.add(v1))}else for(let[k,v0]of Object.entries(val)){let v1=applyReviver(reviver,val,k,v0);v1===void 0?delete val[k]:v1!==v0&&(val[k]=v1)}return reviver.call(obj,key,val)}exports.applyReviver=applyReviver}});var require_toJS=__commonJS({"../node_modules/yaml/dist/nodes/toJS.js"(exports){"use strict";var identity=require_identity();function toJS(value,arg,ctx){if(Array.isArray(value))return value.map((v,i)=>toJS(v,String(i),ctx));if(value&&typeof value.toJSON=="function"){if(!ctx||!identity.hasAnchor(value))return value.toJSON(arg,ctx);let data={aliasCount:0,count:1,res:void 0};ctx.anchors.set(value,data),ctx.onCreate=res2=>{data.res=res2,delete ctx.onCreate};let res=value.toJSON(arg,ctx);return ctx.onCreate&&ctx.onCreate(res),res}return typeof value=="bigint"&&!ctx?.keep?Number(value):value}exports.toJS=toJS}});var require_Node=__commonJS({"../node_modules/yaml/dist/nodes/Node.js"(exports){"use strict";var applyReviver=require_applyReviver(),identity=require_identity(),toJS=require_toJS(),NodeBase=class{constructor(type){Object.defineProperty(this,identity.NODE_TYPE,{value:type})}clone(){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(copy.range=this.range.slice()),copy}toJS(doc,{mapAsMap,maxAliasCount,onAnchor,reviver}={}){if(!identity.isDocument(doc))throw new TypeError("A document argument is required");let ctx={anchors:new Map,doc,keep:!0,mapAsMap:mapAsMap===!0,mapKeyWarned:!1,maxAliasCount:typeof maxAliasCount=="number"?maxAliasCount:100},res=toJS.toJS(this,"",ctx);if(typeof onAnchor=="function")for(let{count,res:res2}of ctx.anchors.values())onAnchor(res2,count);return typeof reviver=="function"?applyReviver.applyReviver(reviver,{"":res},"",res):res}};exports.NodeBase=NodeBase}});var require_Alias=__commonJS({"../node_modules/yaml/dist/nodes/Alias.js"(exports){"use strict";var anchors=require_anchors(),visit=require_visit(),identity=require_identity(),Node=require_Node(),toJS=require_toJS(),Alias=class extends Node.NodeBase{constructor(source){super(identity.ALIAS),this.source=source,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(doc,ctx){if(ctx?.maxAliasCount===0)throw new ReferenceError("Alias resolution is disabled");let nodes;ctx?.aliasResolveCache?nodes=ctx.aliasResolveCache:(nodes=[],visit.visit(doc,{Node:(_key,node)=>{(identity.isAlias(node)||identity.hasAnchor(node))&&nodes.push(node)}}),ctx&&(ctx.aliasResolveCache=nodes));let found;for(let node of nodes){if(node===this)break;node.anchor===this.source&&(found=node)}return found}toJSON(_arg,ctx){if(!ctx)return{source:this.source};let{anchors:anchors2,doc,maxAliasCount}=ctx,source=this.resolve(doc,ctx);if(!source){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(msg)}let data=anchors2.get(source);if(data||(toJS.toJS(source,null,ctx),data=anchors2.get(source)),data?.res===void 0){let msg="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(msg)}if(maxAliasCount>=0&&(data.count+=1,data.aliasCount===0&&(data.aliasCount=getAliasCount(doc,source,anchors2)),data.count*data.aliasCount>maxAliasCount)){let msg="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(msg)}return data.res}toString(ctx,_onComment,_onChompKeep){let src=`*${this.source}`;if(ctx){if(anchors.anchorIsValid(this.source),ctx.options.verifyAliasOrder&&!ctx.anchors.has(this.source)){let msg=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(msg)}if(ctx.implicitKey)return`${src} `}return src}};function getAliasCount(doc,node,anchors2){if(identity.isAlias(node)){let source=node.resolve(doc),anchor=anchors2&&source&&anchors2.get(source);return anchor?anchor.count*anchor.aliasCount:0}else if(identity.isCollection(node)){let count=0;for(let item of node.items){let c=getAliasCount(doc,item,anchors2);c>count&&(count=c)}return count}else if(identity.isPair(node)){let kc=getAliasCount(doc,node.key,anchors2),vc=getAliasCount(doc,node.value,anchors2);return Math.max(kc,vc)}return 1}exports.Alias=Alias}});var require_Scalar=__commonJS({"../node_modules/yaml/dist/nodes/Scalar.js"(exports){"use strict";var identity=require_identity(),Node=require_Node(),toJS=require_toJS(),isScalarValue=value=>!value||typeof value!="function"&&typeof value!="object",Scalar=class extends Node.NodeBase{constructor(value){super(identity.SCALAR),this.value=value}toJSON(arg,ctx){return ctx?.keep?this.value:toJS.toJS(this.value,arg,ctx)}toString(){return String(this.value)}};Scalar.BLOCK_FOLDED="BLOCK_FOLDED";Scalar.BLOCK_LITERAL="BLOCK_LITERAL";Scalar.PLAIN="PLAIN";Scalar.QUOTE_DOUBLE="QUOTE_DOUBLE";Scalar.QUOTE_SINGLE="QUOTE_SINGLE";exports.Scalar=Scalar;exports.isScalarValue=isScalarValue}});var require_createNode=__commonJS({"../node_modules/yaml/dist/doc/createNode.js"(exports){"use strict";var Alias=require_Alias(),identity=require_identity(),Scalar=require_Scalar(),defaultTagPrefix="tag:yaml.org,2002:";function findTagObject(value,tagName,tags){if(tagName){let match=tags.filter(t=>t.tag===tagName),tagObj=match.find(t=>!t.format)??match[0];if(!tagObj)throw new Error(`Tag ${tagName} not found`);return tagObj}return tags.find(t=>t.identify?.(value)&&!t.format)}function createNode(value,tagName,ctx){if(identity.isDocument(value)&&(value=value.contents),identity.isNode(value))return value;if(identity.isPair(value)){let map=ctx.schema[identity.MAP].createNode?.(ctx.schema,null,ctx);return map.items.push(value),map}(value instanceof String||value instanceof Number||value instanceof Boolean||typeof BigInt<"u"&&value instanceof BigInt)&&(value=value.valueOf());let{aliasDuplicateObjects,onAnchor,onTagObj,schema,sourceObjects}=ctx,ref;if(aliasDuplicateObjects&&value&&typeof value=="object"){if(ref=sourceObjects.get(value),ref)return ref.anchor??(ref.anchor=onAnchor(value)),new Alias.Alias(ref.anchor);ref={anchor:null,node:null},sourceObjects.set(value,ref)}tagName?.startsWith("!!")&&(tagName=defaultTagPrefix+tagName.slice(2));let tagObj=findTagObject(value,tagName,schema.tags);if(!tagObj){if(value&&typeof value.toJSON=="function"&&(value=value.toJSON()),!value||typeof value!="object"){let node2=new Scalar.Scalar(value);return ref&&(ref.node=node2),node2}tagObj=value instanceof Map?schema[identity.MAP]:Symbol.iterator in Object(value)?schema[identity.SEQ]:schema[identity.MAP]}onTagObj&&(onTagObj(tagObj),delete ctx.onTagObj);let node=tagObj?.createNode?tagObj.createNode(ctx.schema,value,ctx):typeof tagObj?.nodeClass?.from=="function"?tagObj.nodeClass.from(ctx.schema,value,ctx):new Scalar.Scalar(value);return tagName?node.tag=tagName:tagObj.default||(node.tag=tagObj.tag),ref&&(ref.node=node),node}exports.createNode=createNode}});var require_Collection=__commonJS({"../node_modules/yaml/dist/nodes/Collection.js"(exports){"use strict";var createNode=require_createNode(),identity=require_identity(),Node=require_Node();function collectionFromPath(schema,path,value){let v=value;for(let i=path.length-1;i>=0;--i){let k=path[i];if(typeof k=="number"&&Number.isInteger(k)&&k>=0){let a=[];a[k]=v,v=a}else v=new Map([[k,v]])}return createNode.createNode(v,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema,sourceObjects:new Map})}var isEmptyPath=path=>path==null||typeof path=="object"&&!!path[Symbol.iterator]().next().done,Collection=class extends Node.NodeBase{constructor(type,schema){super(type),Object.defineProperty(this,"schema",{value:schema,configurable:!0,enumerable:!1,writable:!0})}clone(schema){let copy=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return schema&&(copy.schema=schema),copy.items=copy.items.map(it=>identity.isNode(it)||identity.isPair(it)?it.clone(schema):it),this.range&&(copy.range=this.range.slice()),copy}addIn(path,value){if(isEmptyPath(path))this.add(value);else{let[key,...rest]=path,node=this.get(key,!0);if(identity.isCollection(node))node.addIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}deleteIn(path){let[key,...rest]=path;if(rest.length===0)return this.delete(key);let node=this.get(key,!0);if(identity.isCollection(node))return node.deleteIn(rest);throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}getIn(path,keepScalar){let[key,...rest]=path,node=this.get(key,!0);return rest.length===0?!keepScalar&&identity.isScalar(node)?node.value:node:identity.isCollection(node)?node.getIn(rest,keepScalar):void 0}hasAllNullValues(allowScalar){return this.items.every(node=>{if(!identity.isPair(node))return!1;let n=node.value;return n==null||allowScalar&&identity.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(path){let[key,...rest]=path;if(rest.length===0)return this.has(key);let node=this.get(key,!0);return identity.isCollection(node)?node.hasIn(rest):!1}setIn(path,value){let[key,...rest]=path;if(rest.length===0)this.set(key,value);else{let node=this.get(key,!0);if(identity.isCollection(node))node.setIn(rest,value);else if(node===void 0&&this.schema)this.set(key,collectionFromPath(this.schema,rest,value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`)}}};exports.Collection=Collection;exports.collectionFromPath=collectionFromPath;exports.isEmptyPath=isEmptyPath}});var require_stringifyComment=__commonJS({"../node_modules/yaml/dist/stringify/stringifyComment.js"(exports){"use strict";var stringifyComment=str=>str.replace(/^(?!$)(?: $)?/gm,"#");function indentComment(comment,indent){return/^\n+$/.test(comment)?comment.substring(1):indent?comment.replace(/^(?! *$)/gm,indent):comment}var lineComment=(str,indent,comment)=>str.endsWith(`
|
|
13
|
+
`)?indentComment(comment,indent):comment.includes(`
|
|
14
|
+
`)?`
|
|
15
|
+
`+indentComment(comment,indent):(str.endsWith(" ")?"":" ")+comment;exports.indentComment=indentComment;exports.lineComment=lineComment;exports.stringifyComment=stringifyComment}});var require_foldFlowLines=__commonJS({"../node_modules/yaml/dist/stringify/foldFlowLines.js"(exports){"use strict";var FOLD_FLOW="flow",FOLD_BLOCK="block",FOLD_QUOTED="quoted";function foldFlowLines(text,indent,mode="flow",{indentAtStart,lineWidth=80,minContentWidth=20,onFold,onOverflow}={}){if(!lineWidth||lineWidth<0)return text;lineWidth<minContentWidth&&(minContentWidth=0);let endStep=Math.max(1+minContentWidth,1+lineWidth-indent.length);if(text.length<=endStep)return text;let folds=[],escapedFolds={},end=lineWidth-indent.length;typeof indentAtStart=="number"&&(indentAtStart>lineWidth-Math.max(2,minContentWidth)?folds.push(0):end=lineWidth-indentAtStart);let split,prev,overflow=!1,i=-1,escStart=-1,escEnd=-1;mode===FOLD_BLOCK&&(i=consumeMoreIndentedLines(text,i,indent.length),i!==-1&&(end=i+endStep));for(let ch;ch=text[i+=1];){if(mode===FOLD_QUOTED&&ch==="\\"){switch(escStart=i,text[i+1]){case"x":i+=3;break;case"u":i+=5;break;case"U":i+=9;break;default:i+=1}escEnd=i}if(ch===`
|
|
16
|
+
`)mode===FOLD_BLOCK&&(i=consumeMoreIndentedLines(text,i,indent.length)),end=i+indent.length+endStep,split=void 0;else{if(ch===" "&&prev&&prev!==" "&&prev!==`
|
|
17
|
+
`&&prev!==" "){let next=text[i+1];next&&next!==" "&&next!==`
|
|
18
|
+
`&&next!==" "&&(split=i)}if(i>=end)if(split)folds.push(split),end=split+endStep,split=void 0;else if(mode===FOLD_QUOTED){for(;prev===" "||prev===" ";)prev=ch,ch=text[i+=1],overflow=!0;let j=i>escEnd+1?i-2:escStart-1;if(escapedFolds[j])return text;folds.push(j),escapedFolds[j]=!0,end=j+endStep,split=void 0}else overflow=!0}prev=ch}if(overflow&&onOverflow&&onOverflow(),folds.length===0)return text;onFold&&onFold();let res=text.slice(0,folds[0]);for(let i2=0;i2<folds.length;++i2){let fold=folds[i2],end2=folds[i2+1]||text.length;fold===0?res=`
|
|
19
|
+
${indent}${text.slice(0,end2)}`:(mode===FOLD_QUOTED&&escapedFolds[fold]&&(res+=`${text[fold]}\\`),res+=`
|
|
20
|
+
${indent}${text.slice(fold+1,end2)}`)}return res}function consumeMoreIndentedLines(text,i,indent){let end=i,start=i+1,ch=text[start];for(;ch===" "||ch===" ";)if(i<start+indent)ch=text[++i];else{do ch=text[++i];while(ch&&ch!==`
|
|
21
|
+
`);end=i,start=i+1,ch=text[start]}return end}exports.FOLD_BLOCK=FOLD_BLOCK;exports.FOLD_FLOW=FOLD_FLOW;exports.FOLD_QUOTED=FOLD_QUOTED;exports.foldFlowLines=foldFlowLines}});var require_stringifyString=__commonJS({"../node_modules/yaml/dist/stringify/stringifyString.js"(exports){"use strict";var Scalar=require_Scalar(),foldFlowLines=require_foldFlowLines(),getFoldOptions=(ctx,isBlock)=>({indentAtStart:isBlock?ctx.indent.length:ctx.indentAtStart,lineWidth:ctx.options.lineWidth,minContentWidth:ctx.options.minContentWidth}),containsDocumentMarker=str=>/^(%|---|\.\.\.)/m.test(str);function lineLengthOverLimit(str,lineWidth,indentLength){if(!lineWidth||lineWidth<0)return!1;let limit=lineWidth-indentLength,strLen=str.length;if(strLen<=limit)return!1;for(let i=0,start=0;i<strLen;++i)if(str[i]===`
|
|
22
|
+
`){if(i-start>limit)return!0;if(start=i+1,strLen-start<=limit)return!1}return!0}function doubleQuotedString(value,ctx){let json=JSON.stringify(value);if(ctx.options.doubleQuotedAsJSON)return json;let{implicitKey}=ctx,minMultiLineLength=ctx.options.doubleQuotedMinMultiLineLength,indent=ctx.indent||(containsDocumentMarker(value)?" ":""),str="",start=0;for(let i=0,ch=json[i];ch;ch=json[++i])if(ch===" "&&json[i+1]==="\\"&&json[i+2]==="n"&&(str+=json.slice(start,i)+"\\ ",i+=1,start=i,ch="\\"),ch==="\\")switch(json[i+1]){case"u":{str+=json.slice(start,i);let code=json.substr(i+2,4);switch(code){case"0000":str+="\\0";break;case"0007":str+="\\a";break;case"000b":str+="\\v";break;case"001b":str+="\\e";break;case"0085":str+="\\N";break;case"00a0":str+="\\_";break;case"2028":str+="\\L";break;case"2029":str+="\\P";break;default:code.substr(0,2)==="00"?str+="\\x"+code.substr(2):str+=json.substr(i,6)}i+=5,start=i+1}break;case"n":if(implicitKey||json[i+2]==='"'||json.length<minMultiLineLength)i+=1;else{for(str+=json.slice(start,i)+`
|
|
23
|
+
|
|
24
|
+
`;json[i+2]==="\\"&&json[i+3]==="n"&&json[i+4]!=='"';)str+=`
|
|
25
|
+
`,i+=2;str+=indent,json[i+2]===" "&&(str+="\\"),i+=1,start=i+1}break;default:i+=1}return str=start?str+json.slice(start):json,implicitKey?str:foldFlowLines.foldFlowLines(str,indent,foldFlowLines.FOLD_QUOTED,getFoldOptions(ctx,!1))}function singleQuotedString(value,ctx){if(ctx.options.singleQuote===!1||ctx.implicitKey&&value.includes(`
|
|
26
|
+
`)||/[ \t]\n|\n[ \t]/.test(value))return doubleQuotedString(value,ctx);let indent=ctx.indent||(containsDocumentMarker(value)?" ":""),res="'"+value.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
27
|
+
${indent}`)+"'";return ctx.implicitKey?res:foldFlowLines.foldFlowLines(res,indent,foldFlowLines.FOLD_FLOW,getFoldOptions(ctx,!1))}function quotedString(value,ctx){let{singleQuote}=ctx.options,qs;if(singleQuote===!1)qs=doubleQuotedString;else{let hasDouble=value.includes('"'),hasSingle=value.includes("'");hasDouble&&!hasSingle?qs=singleQuotedString:hasSingle&&!hasDouble?qs=doubleQuotedString:qs=singleQuote?singleQuotedString:doubleQuotedString}return qs(value,ctx)}var blockEndNewlines;try{blockEndNewlines=new RegExp(`(^|(?<!
|
|
28
|
+
))
|
|
29
|
+
+(?!
|
|
30
|
+
|$)`,"g")}catch{blockEndNewlines=/\n+(?!\n|$)/g}function blockString({comment,type,value},ctx,onComment,onChompKeep){let{blockQuote,commentString,lineWidth}=ctx.options;if(!blockQuote||/\n[\t ]+$/.test(value))return quotedString(value,ctx);let indent=ctx.indent||(ctx.forceBlockIndent||containsDocumentMarker(value)?" ":""),literal2=blockQuote==="literal"?!0:blockQuote==="folded"||type===Scalar.Scalar.BLOCK_FOLDED?!1:type===Scalar.Scalar.BLOCK_LITERAL?!0:!lineLengthOverLimit(value,lineWidth,indent.length);if(!value)return literal2?`|
|
|
31
|
+
`:`>
|
|
32
|
+
`;let chomp,endStart;for(endStart=value.length;endStart>0;--endStart){let ch=value[endStart-1];if(ch!==`
|
|
33
|
+
`&&ch!==" "&&ch!==" ")break}let end=value.substring(endStart),endNlPos=end.indexOf(`
|
|
34
|
+
`);endNlPos===-1?chomp="-":value===end||endNlPos!==end.length-1?(chomp="+",onChompKeep&&onChompKeep()):chomp="",end&&(value=value.slice(0,-end.length),end[end.length-1]===`
|
|
35
|
+
`&&(end=end.slice(0,-1)),end=end.replace(blockEndNewlines,`$&${indent}`));let startWithSpace=!1,startEnd,startNlPos=-1;for(startEnd=0;startEnd<value.length;++startEnd){let ch=value[startEnd];if(ch===" ")startWithSpace=!0;else if(ch===`
|
|
36
|
+
`)startNlPos=startEnd;else break}let start=value.substring(0,startNlPos<startEnd?startNlPos+1:startEnd);start&&(value=value.substring(start.length),start=start.replace(/\n+/g,`$&${indent}`));let header=(startWithSpace?indent?"2":"1":"")+chomp;if(comment&&(header+=" "+commentString(comment.replace(/ ?[\r\n]+/g," ")),onComment&&onComment()),!literal2){let foldedValue=value.replace(/\n+/g,`
|
|
37
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${indent}`),literalFallback=!1,foldOptions=getFoldOptions(ctx,!0);blockQuote!=="folded"&&type!==Scalar.Scalar.BLOCK_FOLDED&&(foldOptions.onOverflow=()=>{literalFallback=!0});let body=foldFlowLines.foldFlowLines(`${start}${foldedValue}${end}`,indent,foldFlowLines.FOLD_BLOCK,foldOptions);if(!literalFallback)return`>${header}
|
|
38
|
+
${indent}${body}`}return value=value.replace(/\n+/g,`$&${indent}`),`|${header}
|
|
39
|
+
${indent}${start}${value}${end}`}function plainString(item,ctx,onComment,onChompKeep){let{type,value}=item,{actualString,implicitKey,indent,indentStep,inFlow}=ctx;if(implicitKey&&value.includes(`
|
|
40
|
+
`)||inFlow&&/[[\]{},]/.test(value))return quotedString(value,ctx);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value))return implicitKey||inFlow||!value.includes(`
|
|
41
|
+
`)?quotedString(value,ctx):blockString(item,ctx,onComment,onChompKeep);if(!implicitKey&&!inFlow&&type!==Scalar.Scalar.PLAIN&&value.includes(`
|
|
42
|
+
`))return blockString(item,ctx,onComment,onChompKeep);if(containsDocumentMarker(value)){if(indent==="")return ctx.forceBlockIndent=!0,blockString(item,ctx,onComment,onChompKeep);if(implicitKey&&indent===indentStep)return quotedString(value,ctx)}let str=value.replace(/\n+/g,`$&
|
|
43
|
+
${indent}`);if(actualString){let test=tag=>tag.default&&tag.tag!=="tag:yaml.org,2002:str"&&tag.test?.test(str),{compat,tags}=ctx.doc.schema;if(tags.some(test)||compat?.some(test))return quotedString(value,ctx)}return implicitKey?str:foldFlowLines.foldFlowLines(str,indent,foldFlowLines.FOLD_FLOW,getFoldOptions(ctx,!1))}function stringifyString(item,ctx,onComment,onChompKeep){let{implicitKey,inFlow}=ctx,ss=typeof item.value=="string"?item:Object.assign({},item,{value:String(item.value)}),{type}=item;type!==Scalar.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value)&&(type=Scalar.Scalar.QUOTE_DOUBLE);let _stringify=_type=>{switch(_type){case Scalar.Scalar.BLOCK_FOLDED:case Scalar.Scalar.BLOCK_LITERAL:return implicitKey||inFlow?quotedString(ss.value,ctx):blockString(ss,ctx,onComment,onChompKeep);case Scalar.Scalar.QUOTE_DOUBLE:return doubleQuotedString(ss.value,ctx);case Scalar.Scalar.QUOTE_SINGLE:return singleQuotedString(ss.value,ctx);case Scalar.Scalar.PLAIN:return plainString(ss,ctx,onComment,onChompKeep);default:return null}},res=_stringify(type);if(res===null){let{defaultKeyType,defaultStringType}=ctx.options,t=implicitKey&&defaultKeyType||defaultStringType;if(res=_stringify(t),res===null)throw new Error(`Unsupported default string type ${t}`)}return res}exports.stringifyString=stringifyString}});var require_stringify=__commonJS({"../node_modules/yaml/dist/stringify/stringify.js"(exports){"use strict";var anchors=require_anchors(),identity=require_identity(),stringifyComment=require_stringifyComment(),stringifyString=require_stringifyString();function createStringifyContext(doc,options){let opt=Object.assign({blockQuote:!0,commentString:stringifyComment.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},doc.schema.toStringOptions,options),inFlow;switch(opt.collectionStyle){case"block":inFlow=!1;break;case"flow":inFlow=!0;break;default:inFlow=null}return{anchors:new Set,doc,flowCollectionPadding:opt.flowCollectionPadding?" ":"",indent:"",indentStep:typeof opt.indent=="number"?" ".repeat(opt.indent):" ",inFlow,options:opt}}function getTagObject(tags,item){if(item.tag){let match=tags.filter(t=>t.tag===item.tag);if(match.length>0)return match.find(t=>t.format===item.format)??match[0]}let tagObj,obj;if(identity.isScalar(item)){obj=item.value;let match=tags.filter(t=>t.identify?.(obj));if(match.length>1){let testMatch=match.filter(t=>t.test);testMatch.length>0&&(match=testMatch)}tagObj=match.find(t=>t.format===item.format)??match.find(t=>!t.format)}else obj=item,tagObj=tags.find(t=>t.nodeClass&&obj instanceof t.nodeClass);if(!tagObj){let name=obj?.constructor?.name??(obj===null?"null":typeof obj);throw new Error(`Tag not resolved for ${name} value`)}return tagObj}function stringifyProps(node,tagObj,{anchors:anchors$1,doc}){if(!doc.directives)return"";let props=[],anchor=(identity.isScalar(node)||identity.isCollection(node))&&node.anchor;anchor&&anchors.anchorIsValid(anchor)&&(anchors$1.add(anchor),props.push(`&${anchor}`));let tag=node.tag??(tagObj.default?null:tagObj.tag);return tag&&props.push(doc.directives.tagString(tag)),props.join(" ")}function stringify(item,ctx,onComment,onChompKeep){if(identity.isPair(item))return item.toString(ctx,onComment,onChompKeep);if(identity.isAlias(item)){if(ctx.doc.directives)return item.toString(ctx);if(ctx.resolvedAliases?.has(item))throw new TypeError("Cannot stringify circular structure without alias nodes");ctx.resolvedAliases?ctx.resolvedAliases.add(item):ctx.resolvedAliases=new Set([item]),item=item.resolve(ctx.doc)}let tagObj,node=identity.isNode(item)?item:ctx.doc.createNode(item,{onTagObj:o=>tagObj=o});tagObj??(tagObj=getTagObject(ctx.doc.schema.tags,node));let props=stringifyProps(node,tagObj,ctx);props.length>0&&(ctx.indentAtStart=(ctx.indentAtStart??0)+props.length+1);let str=typeof tagObj.stringify=="function"?tagObj.stringify(node,ctx,onComment,onChompKeep):identity.isScalar(node)?stringifyString.stringifyString(node,ctx,onComment,onChompKeep):node.toString(ctx,onComment,onChompKeep);return props?identity.isScalar(node)||str[0]==="{"||str[0]==="["?`${props} ${str}`:`${props}
|
|
44
|
+
${ctx.indent}${str}`:str}exports.createStringifyContext=createStringifyContext;exports.stringify=stringify}});var require_stringifyPair=__commonJS({"../node_modules/yaml/dist/stringify/stringifyPair.js"(exports){"use strict";var identity=require_identity(),Scalar=require_Scalar(),stringify=require_stringify(),stringifyComment=require_stringifyComment();function stringifyPair({key,value},ctx,onComment,onChompKeep){let{allNullValues,doc,indent,indentStep,options:{commentString,indentSeq,simpleKeys}}=ctx,keyComment=identity.isNode(key)&&key.comment||null;if(simpleKeys){if(keyComment)throw new Error("With simple keys, key nodes cannot have comments");if(identity.isCollection(key)||!identity.isNode(key)&&typeof key=="object"){let msg="With simple keys, collection cannot be used as a key value";throw new Error(msg)}}let explicitKey=!simpleKeys&&(!key||keyComment&&value==null&&!ctx.inFlow||identity.isCollection(key)||(identity.isScalar(key)?key.type===Scalar.Scalar.BLOCK_FOLDED||key.type===Scalar.Scalar.BLOCK_LITERAL:typeof key=="object"));ctx=Object.assign({},ctx,{allNullValues:!1,implicitKey:!explicitKey&&(simpleKeys||!allNullValues),indent:indent+indentStep});let keyCommentDone=!1,chompKeep=!1,str=stringify.stringify(key,ctx,()=>keyCommentDone=!0,()=>chompKeep=!0);if(!explicitKey&&!ctx.inFlow&&str.length>1024){if(simpleKeys)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");explicitKey=!0}if(ctx.inFlow){if(allNullValues||value==null)return keyCommentDone&&onComment&&onComment(),str===""?"?":explicitKey?`? ${str}`:str}else if(allNullValues&&!simpleKeys||value==null&&explicitKey)return str=`? ${str}`,keyComment&&!keyCommentDone?str+=stringifyComment.lineComment(str,ctx.indent,commentString(keyComment)):chompKeep&&onChompKeep&&onChompKeep(),str;keyCommentDone&&(keyComment=null),explicitKey?(keyComment&&(str+=stringifyComment.lineComment(str,ctx.indent,commentString(keyComment))),str=`? ${str}
|
|
45
|
+
${indent}:`):(str=`${str}:`,keyComment&&(str+=stringifyComment.lineComment(str,ctx.indent,commentString(keyComment))));let vsb,vcb,valueComment;identity.isNode(value)?(vsb=!!value.spaceBefore,vcb=value.commentBefore,valueComment=value.comment):(vsb=!1,vcb=null,valueComment=null,value&&typeof value=="object"&&(value=doc.createNode(value))),ctx.implicitKey=!1,!explicitKey&&!keyComment&&identity.isScalar(value)&&(ctx.indentAtStart=str.length+1),chompKeep=!1,!indentSeq&&indentStep.length>=2&&!ctx.inFlow&&!explicitKey&&identity.isSeq(value)&&!value.flow&&!value.tag&&!value.anchor&&(ctx.indent=ctx.indent.substring(2));let valueCommentDone=!1,valueStr=stringify.stringify(value,ctx,()=>valueCommentDone=!0,()=>chompKeep=!0),ws=" ";if(keyComment||vsb||vcb){if(ws=vsb?`
|
|
46
|
+
`:"",vcb){let cs=commentString(vcb);ws+=`
|
|
47
|
+
${stringifyComment.indentComment(cs,ctx.indent)}`}valueStr===""&&!ctx.inFlow?ws===`
|
|
48
|
+
`&&valueComment&&(ws=`
|
|
49
|
+
|
|
50
|
+
`):ws+=`
|
|
51
|
+
${ctx.indent}`}else if(!explicitKey&&identity.isCollection(value)){let vs0=valueStr[0],nl0=valueStr.indexOf(`
|
|
52
|
+
`),hasNewline=nl0!==-1,flow=ctx.inFlow??value.flow??value.items.length===0;if(hasNewline||!flow){let hasPropsLine=!1;if(hasNewline&&(vs0==="&"||vs0==="!")){let sp0=valueStr.indexOf(" ");vs0==="&"&&sp0!==-1&&sp0<nl0&&valueStr[sp0+1]==="!"&&(sp0=valueStr.indexOf(" ",sp0+1)),(sp0===-1||nl0<sp0)&&(hasPropsLine=!0)}hasPropsLine||(ws=`
|
|
53
|
+
${ctx.indent}`)}}else(valueStr===""||valueStr[0]===`
|
|
54
|
+
`)&&(ws="");return str+=ws+valueStr,ctx.inFlow?valueCommentDone&&onComment&&onComment():valueComment&&!valueCommentDone?str+=stringifyComment.lineComment(str,ctx.indent,commentString(valueComment)):chompKeep&&onChompKeep&&onChompKeep(),str}exports.stringifyPair=stringifyPair}});var require_log=__commonJS({"../node_modules/yaml/dist/log.js"(exports){"use strict";var node_process=__require("process");function debug(logLevel,...messages){logLevel==="debug"&&console.log(...messages)}function warn(logLevel,warning){(logLevel==="debug"||logLevel==="warn")&&(typeof node_process.emitWarning=="function"?node_process.emitWarning(warning):console.warn(warning))}exports.debug=debug;exports.warn=warn}});var require_merge=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports){"use strict";var identity=require_identity(),Scalar=require_Scalar(),MERGE_KEY="<<",merge2={identify:value=>value===MERGE_KEY||typeof value=="symbol"&&value.description===MERGE_KEY,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)),{addToJSMap:addMergeToJSMap}),stringify:()=>MERGE_KEY},isMergeKey=(ctx,key)=>(merge2.identify(key)||identity.isScalar(key)&&(!key.type||key.type===Scalar.Scalar.PLAIN)&&merge2.identify(key.value))&&ctx?.doc.schema.tags.some(tag=>tag.tag===merge2.tag&&tag.default);function addMergeToJSMap(ctx,map,value){let source=resolveAliasValue(ctx,value);if(identity.isSeq(source))for(let it of source.items)mergeValue(ctx,map,it);else if(Array.isArray(source))for(let it of source)mergeValue(ctx,map,it);else mergeValue(ctx,map,source)}function mergeValue(ctx,map,value){let source=resolveAliasValue(ctx,value);if(!identity.isMap(source))throw new Error("Merge sources must be maps or map aliases");let srcMap=source.toJSON(null,ctx,Map);for(let[key,value2]of srcMap)map instanceof Map?map.has(key)||map.set(key,value2):map instanceof Set?map.add(key):Object.prototype.hasOwnProperty.call(map,key)||Object.defineProperty(map,key,{value:value2,writable:!0,enumerable:!0,configurable:!0});return map}function resolveAliasValue(ctx,value){return ctx&&identity.isAlias(value)?value.resolve(ctx.doc,ctx):value}exports.addMergeToJSMap=addMergeToJSMap;exports.isMergeKey=isMergeKey;exports.merge=merge2}});var require_addPairToJSMap=__commonJS({"../node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports){"use strict";var log2=require_log(),merge2=require_merge(),stringify=require_stringify(),identity=require_identity(),toJS=require_toJS();function addPairToJSMap(ctx,map,{key,value}){if(identity.isNode(key)&&key.addToJSMap)key.addToJSMap(ctx,map,value);else if(merge2.isMergeKey(ctx,key))merge2.addMergeToJSMap(ctx,map,value);else{let jsKey=toJS.toJS(key,"",ctx);if(map instanceof Map)map.set(jsKey,toJS.toJS(value,jsKey,ctx));else if(map instanceof Set)map.add(jsKey);else{let stringKey=stringifyKey(key,jsKey,ctx),jsValue=toJS.toJS(value,stringKey,ctx);stringKey in map?Object.defineProperty(map,stringKey,{value:jsValue,writable:!0,enumerable:!0,configurable:!0}):map[stringKey]=jsValue}}return map}function stringifyKey(key,jsKey,ctx){if(jsKey===null)return"";if(typeof jsKey!="object")return String(jsKey);if(identity.isNode(key)&&ctx?.doc){let strCtx=stringify.createStringifyContext(ctx.doc,{});strCtx.anchors=new Set;for(let node of ctx.anchors.keys())strCtx.anchors.add(node.anchor);strCtx.inFlow=!0,strCtx.inStringifyKey=!0;let strKey=key.toString(strCtx);if(!ctx.mapKeyWarned){let jsonStr=JSON.stringify(strKey);jsonStr.length>40&&(jsonStr=jsonStr.substring(0,36)+'..."'),log2.warn(ctx.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${jsonStr}. Set mapAsMap: true to use object keys.`),ctx.mapKeyWarned=!0}return strKey}return JSON.stringify(jsKey)}exports.addPairToJSMap=addPairToJSMap}});var require_Pair=__commonJS({"../node_modules/yaml/dist/nodes/Pair.js"(exports){"use strict";var createNode=require_createNode(),stringifyPair=require_stringifyPair(),addPairToJSMap=require_addPairToJSMap(),identity=require_identity();function createPair(key,value,ctx){let k=createNode.createNode(key,void 0,ctx),v=createNode.createNode(value,void 0,ctx);return new Pair(k,v)}var Pair=class _Pair{constructor(key,value=null){Object.defineProperty(this,identity.NODE_TYPE,{value:identity.PAIR}),this.key=key,this.value=value}clone(schema){let{key,value}=this;return identity.isNode(key)&&(key=key.clone(schema)),identity.isNode(value)&&(value=value.clone(schema)),new _Pair(key,value)}toJSON(_,ctx){let pair=ctx?.mapAsMap?new Map:{};return addPairToJSMap.addPairToJSMap(ctx,pair,this)}toString(ctx,onComment,onChompKeep){return ctx?.doc?stringifyPair.stringifyPair(this,ctx,onComment,onChompKeep):JSON.stringify(this)}};exports.Pair=Pair;exports.createPair=createPair}});var require_stringifyCollection=__commonJS({"../node_modules/yaml/dist/stringify/stringifyCollection.js"(exports){"use strict";var identity=require_identity(),stringify=require_stringify(),stringifyComment=require_stringifyComment();function stringifyCollection(collection,ctx,options){return(ctx.inFlow??collection.flow?stringifyFlowCollection:stringifyBlockCollection)(collection,ctx,options)}function stringifyBlockCollection({comment,items},ctx,{blockItemPrefix,flowChars,itemIndent,onChompKeep,onComment}){let{indent,options:{commentString}}=ctx,itemCtx=Object.assign({},ctx,{indent:itemIndent,type:null}),chompKeep=!1,lines=[];for(let i=0;i<items.length;++i){let item=items[i],comment2=null;if(identity.isNode(item))!chompKeep&&item.spaceBefore&&lines.push(""),addCommentBefore(ctx,lines,item.commentBefore,chompKeep),item.comment&&(comment2=item.comment);else if(identity.isPair(item)){let ik=identity.isNode(item.key)?item.key:null;ik&&(!chompKeep&&ik.spaceBefore&&lines.push(""),addCommentBefore(ctx,lines,ik.commentBefore,chompKeep))}chompKeep=!1;let str2=stringify.stringify(item,itemCtx,()=>comment2=null,()=>chompKeep=!0);comment2&&(str2+=stringifyComment.lineComment(str2,itemIndent,commentString(comment2))),chompKeep&&comment2&&(chompKeep=!1),lines.push(blockItemPrefix+str2)}let str;if(lines.length===0)str=flowChars.start+flowChars.end;else{str=lines[0];for(let i=1;i<lines.length;++i){let line=lines[i];str+=line?`
|
|
55
|
+
${indent}${line}`:`
|
|
56
|
+
`}}return comment?(str+=`
|
|
57
|
+
`+stringifyComment.indentComment(commentString(comment),indent),onComment&&onComment()):chompKeep&&onChompKeep&&onChompKeep(),str}function stringifyFlowCollection({items},ctx,{flowChars,itemIndent}){let{indent,indentStep,flowCollectionPadding:fcPadding,options:{commentString}}=ctx;itemIndent+=indentStep;let itemCtx=Object.assign({},ctx,{indent:itemIndent,inFlow:!0,type:null}),reqNewline=!1,linesAtValue=0,lines=[];for(let i=0;i<items.length;++i){let item=items[i],comment=null;if(identity.isNode(item))item.spaceBefore&&lines.push(""),addCommentBefore(ctx,lines,item.commentBefore,!1),item.comment&&(comment=item.comment);else if(identity.isPair(item)){let ik=identity.isNode(item.key)?item.key:null;ik&&(ik.spaceBefore&&lines.push(""),addCommentBefore(ctx,lines,ik.commentBefore,!1),ik.comment&&(reqNewline=!0));let iv=identity.isNode(item.value)?item.value:null;iv?(iv.comment&&(comment=iv.comment),iv.commentBefore&&(reqNewline=!0)):item.value==null&&ik?.comment&&(comment=ik.comment)}comment&&(reqNewline=!0);let str=stringify.stringify(item,itemCtx,()=>comment=null);reqNewline||(reqNewline=lines.length>linesAtValue||str.includes(`
|
|
58
|
+
`)),i<items.length-1?str+=",":ctx.options.trailingComma&&(ctx.options.lineWidth>0&&(reqNewline||(reqNewline=lines.reduce((sum,line)=>sum+line.length+2,2)+(str.length+2)>ctx.options.lineWidth)),reqNewline&&(str+=",")),comment&&(str+=stringifyComment.lineComment(str,itemIndent,commentString(comment))),lines.push(str),linesAtValue=lines.length}let{start,end}=flowChars;if(lines.length===0)return start+end;if(!reqNewline){let len=lines.reduce((sum,line)=>sum+line.length+2,2);reqNewline=ctx.options.lineWidth>0&&len>ctx.options.lineWidth}if(reqNewline){let str=start;for(let line of lines)str+=line?`
|
|
59
|
+
${indentStep}${indent}${line}`:`
|
|
60
|
+
`;return`${str}
|
|
61
|
+
${indent}${end}`}else return`${start}${fcPadding}${lines.join(" ")}${fcPadding}${end}`}function addCommentBefore({indent,options:{commentString}},lines,comment,chompKeep){if(comment&&chompKeep&&(comment=comment.replace(/^\n+/,"")),comment){let ic=stringifyComment.indentComment(commentString(comment),indent);lines.push(ic.trimStart())}}exports.stringifyCollection=stringifyCollection}});var require_YAMLMap=__commonJS({"../node_modules/yaml/dist/nodes/YAMLMap.js"(exports){"use strict";var stringifyCollection=require_stringifyCollection(),addPairToJSMap=require_addPairToJSMap(),Collection=require_Collection(),identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar();function findPair(items,key){let k=identity.isScalar(key)?key.value:key;for(let it of items)if(identity.isPair(it)&&(it.key===key||it.key===k||identity.isScalar(it.key)&&it.key.value===k))return it}var YAMLMap=class extends Collection.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(schema){super(identity.MAP,schema),this.items=[]}static from(schema,obj,ctx){let{keepUndefined,replacer}=ctx,map=new this(schema),add=(key,value)=>{if(typeof replacer=="function")value=replacer.call(obj,key,value);else if(Array.isArray(replacer)&&!replacer.includes(key))return;(value!==void 0||keepUndefined)&&map.items.push(Pair.createPair(key,value,ctx))};if(obj instanceof Map)for(let[key,value]of obj)add(key,value);else if(obj&&typeof obj=="object")for(let key of Object.keys(obj))add(key,obj[key]);return typeof schema.sortMapEntries=="function"&&map.items.sort(schema.sortMapEntries),map}add(pair,overwrite){let _pair;identity.isPair(pair)?_pair=pair:!pair||typeof pair!="object"||!("key"in pair)?_pair=new Pair.Pair(pair,pair?.value):_pair=new Pair.Pair(pair.key,pair.value);let prev=findPair(this.items,_pair.key),sortEntries=this.schema?.sortMapEntries;if(prev){if(!overwrite)throw new Error(`Key ${_pair.key} already set`);identity.isScalar(prev.value)&&Scalar.isScalarValue(_pair.value)?prev.value.value=_pair.value:prev.value=_pair.value}else if(sortEntries){let i=this.items.findIndex(item=>sortEntries(_pair,item)<0);i===-1?this.items.push(_pair):this.items.splice(i,0,_pair)}else this.items.push(_pair)}delete(key){let it=findPair(this.items,key);return it?this.items.splice(this.items.indexOf(it),1).length>0:!1}get(key,keepScalar){let node=findPair(this.items,key)?.value;return(!keepScalar&&identity.isScalar(node)?node.value:node)??void 0}has(key){return!!findPair(this.items,key)}set(key,value){this.add(new Pair.Pair(key,value),!0)}toJSON(_,ctx,Type){let map=Type?new Type:ctx?.mapAsMap?new Map:{};ctx?.onCreate&&ctx.onCreate(map);for(let item of this.items)addPairToJSMap.addPairToJSMap(ctx,map,item);return map}toString(ctx,onComment,onChompKeep){if(!ctx)return JSON.stringify(this);for(let item of this.items)if(!identity.isPair(item))throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);return!ctx.allNullValues&&this.hasAllNullValues(!1)&&(ctx=Object.assign({},ctx,{allNullValues:!0})),stringifyCollection.stringifyCollection(this,ctx,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:ctx.indent||"",onChompKeep,onComment})}};exports.YAMLMap=YAMLMap;exports.findPair=findPair}});var require_map=__commonJS({"../node_modules/yaml/dist/schema/common/map.js"(exports){"use strict";var identity=require_identity(),YAMLMap=require_YAMLMap(),map={collection:"map",default:!0,nodeClass:YAMLMap.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(map2,onError){return identity.isMap(map2)||onError("Expected a mapping for this tag"),map2},createNode:(schema,obj,ctx)=>YAMLMap.YAMLMap.from(schema,obj,ctx)};exports.map=map}});var require_YAMLSeq=__commonJS({"../node_modules/yaml/dist/nodes/YAMLSeq.js"(exports){"use strict";var createNode=require_createNode(),stringifyCollection=require_stringifyCollection(),Collection=require_Collection(),identity=require_identity(),Scalar=require_Scalar(),toJS=require_toJS(),YAMLSeq=class extends Collection.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(schema){super(identity.SEQ,schema),this.items=[]}add(value){this.items.push(value)}delete(key){let idx=asItemIndex(key);return typeof idx!="number"?!1:this.items.splice(idx,1).length>0}get(key,keepScalar){let idx=asItemIndex(key);if(typeof idx!="number")return;let it=this.items[idx];return!keepScalar&&identity.isScalar(it)?it.value:it}has(key){let idx=asItemIndex(key);return typeof idx=="number"&&idx<this.items.length}set(key,value){let idx=asItemIndex(key);if(typeof idx!="number")throw new Error(`Expected a valid index, not ${key}.`);let prev=this.items[idx];identity.isScalar(prev)&&Scalar.isScalarValue(value)?prev.value=value:this.items[idx]=value}toJSON(_,ctx){let seq=[];ctx?.onCreate&&ctx.onCreate(seq);let i=0;for(let item of this.items)seq.push(toJS.toJS(item,String(i++),ctx));return seq}toString(ctx,onComment,onChompKeep){return ctx?stringifyCollection.stringifyCollection(this,ctx,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(ctx.indent||"")+" ",onChompKeep,onComment}):JSON.stringify(this)}static from(schema,obj,ctx){let{replacer}=ctx,seq=new this(schema);if(obj&&Symbol.iterator in Object(obj)){let i=0;for(let it of obj){if(typeof replacer=="function"){let key=obj instanceof Set?it:String(i++);it=replacer.call(obj,key,it)}seq.items.push(createNode.createNode(it,void 0,ctx))}}return seq}};function asItemIndex(key){let idx=identity.isScalar(key)?key.value:key;return idx&&typeof idx=="string"&&(idx=Number(idx)),typeof idx=="number"&&Number.isInteger(idx)&&idx>=0?idx:null}exports.YAMLSeq=YAMLSeq}});var require_seq=__commonJS({"../node_modules/yaml/dist/schema/common/seq.js"(exports){"use strict";var identity=require_identity(),YAMLSeq=require_YAMLSeq(),seq={collection:"seq",default:!0,nodeClass:YAMLSeq.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(seq2,onError){return identity.isSeq(seq2)||onError("Expected a sequence for this tag"),seq2},createNode:(schema,obj,ctx)=>YAMLSeq.YAMLSeq.from(schema,obj,ctx)};exports.seq=seq}});var require_string=__commonJS({"../node_modules/yaml/dist/schema/common/string.js"(exports){"use strict";var stringifyString=require_stringifyString(),string3={identify:value=>typeof value=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:str=>str,stringify(item,ctx,onComment,onChompKeep){return ctx=Object.assign({actualString:!0},ctx),stringifyString.stringifyString(item,ctx,onComment,onChompKeep)}};exports.string=string3}});var require_null=__commonJS({"../node_modules/yaml/dist/schema/common/null.js"(exports){"use strict";var Scalar=require_Scalar(),nullTag={identify:value=>value==null,createNode:()=>new Scalar.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Scalar.Scalar(null),stringify:({source},ctx)=>typeof source=="string"&&nullTag.test.test(source)?source:ctx.options.nullStr};exports.nullTag=nullTag}});var require_bool=__commonJS({"../node_modules/yaml/dist/schema/core/bool.js"(exports){"use strict";var Scalar=require_Scalar(),boolTag={identify:value=>typeof value=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:str=>new Scalar.Scalar(str[0]==="t"||str[0]==="T"),stringify({source,value},ctx){if(source&&boolTag.test.test(source)){let sv=source[0]==="t"||source[0]==="T";if(value===sv)return source}return value?ctx.options.trueStr:ctx.options.falseStr}};exports.boolTag=boolTag}});var require_stringifyNumber=__commonJS({"../node_modules/yaml/dist/stringify/stringifyNumber.js"(exports){"use strict";function stringifyNumber({format:format2,minFractionDigits,tag,value}){if(typeof value=="bigint")return String(value);let num=typeof value=="number"?value:Number(value);if(!isFinite(num))return isNaN(num)?".nan":num<0?"-.inf":".inf";let n=Object.is(value,-0)?"-0":JSON.stringify(value);if(!format2&&minFractionDigits&&(!tag||tag==="tag:yaml.org,2002:float")&&/^-?\d/.test(n)&&!n.includes("e")){let i=n.indexOf(".");i<0&&(i=n.length,n+=".");let d=minFractionDigits-(n.length-i-1);for(;d-- >0;)n+="0"}return n}exports.stringifyNumber=stringifyNumber}});var require_float=__commonJS({"../node_modules/yaml/dist/schema/core/float.js"(exports){"use strict";var Scalar=require_Scalar(),stringifyNumber=require_stringifyNumber(),floatNaN={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:str=>str.slice(-3).toLowerCase()==="nan"?NaN:str[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:stringifyNumber.stringifyNumber},floatExp={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:str=>parseFloat(str),stringify(node){let num=Number(node.value);return isFinite(num)?num.toExponential():stringifyNumber.stringifyNumber(node)}},float={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(str){let node=new Scalar.Scalar(parseFloat(str)),dot=str.indexOf(".");return dot!==-1&&str[str.length-1]==="0"&&(node.minFractionDigits=str.length-dot-1),node},stringify:stringifyNumber.stringifyNumber};exports.float=float;exports.floatExp=floatExp;exports.floatNaN=floatNaN}});var require_int=__commonJS({"../node_modules/yaml/dist/schema/core/int.js"(exports){"use strict";var stringifyNumber=require_stringifyNumber(),intIdentify=value=>typeof value=="bigint"||Number.isInteger(value),intResolve=(str,offset,radix,{intAsBigInt})=>intAsBigInt?BigInt(str):parseInt(str.substring(offset),radix);function intStringify(node,radix,prefix){let{value}=node;return intIdentify(value)&&value>=0?prefix+value.toString(radix):stringifyNumber.stringifyNumber(node)}var intOct={identify:value=>intIdentify(value)&&value>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,8,opt),stringify:node=>intStringify(node,8,"0o")},int2={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(str,_onError,opt)=>intResolve(str,0,10,opt),stringify:stringifyNumber.stringifyNumber},intHex={identify:value=>intIdentify(value)&&value>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,16,opt),stringify:node=>intStringify(node,16,"0x")};exports.int=int2;exports.intHex=intHex;exports.intOct=intOct}});var require_schema=__commonJS({"../node_modules/yaml/dist/schema/core/schema.js"(exports){"use strict";var map=require_map(),_null4=require_null(),seq=require_seq(),string3=require_string(),bool=require_bool(),float=require_float(),int2=require_int(),schema=[map.map,seq.seq,string3.string,_null4.nullTag,bool.boolTag,int2.intOct,int2.int,int2.intHex,float.floatNaN,float.floatExp,float.float];exports.schema=schema}});var require_schema2=__commonJS({"../node_modules/yaml/dist/schema/json/schema.js"(exports){"use strict";var Scalar=require_Scalar(),map=require_map(),seq=require_seq();function intIdentify(value){return typeof value=="bigint"||Number.isInteger(value)}var stringifyJSON=({value})=>JSON.stringify(value),jsonScalars=[{identify:value=>typeof value=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:str=>str,stringify:stringifyJSON},{identify:value=>value==null,createNode:()=>new Scalar.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:stringifyJSON},{identify:value=>typeof value=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:str=>str==="true",stringify:stringifyJSON},{identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(str,_onError,{intAsBigInt})=>intAsBigInt?BigInt(str):parseInt(str,10),stringify:({value})=>intIdentify(value)?value.toString():JSON.stringify(value)},{identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:str=>parseFloat(str),stringify:stringifyJSON}],jsonError={default:!0,tag:"",test:/^/,resolve(str,onError){return onError(`Unresolved plain scalar ${JSON.stringify(str)}`),str}},schema=[map.map,seq.seq].concat(jsonScalars,jsonError);exports.schema=schema}});var require_binary=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports){"use strict";var node_buffer=__require("buffer"),Scalar=require_Scalar(),stringifyString=require_stringifyString(),binary={identify:value=>value instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(src,onError){if(typeof node_buffer.Buffer=="function")return node_buffer.Buffer.from(src,"base64");if(typeof atob=="function"){let str=atob(src.replace(/[\n\r]/g,"")),buffer=new Uint8Array(str.length);for(let i=0;i<str.length;++i)buffer[i]=str.charCodeAt(i);return buffer}else return onError("This environment does not support reading binary tags; either Buffer or atob is required"),src},stringify({comment,type,value},ctx,onComment,onChompKeep){if(!value)return"";let buf=value,str;if(typeof node_buffer.Buffer=="function")str=buf instanceof node_buffer.Buffer?buf.toString("base64"):node_buffer.Buffer.from(buf.buffer).toString("base64");else if(typeof btoa=="function"){let s="";for(let i=0;i<buf.length;++i)s+=String.fromCharCode(buf[i]);str=btoa(s)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(type??(type=Scalar.Scalar.BLOCK_LITERAL),type!==Scalar.Scalar.QUOTE_DOUBLE){let lineWidth=Math.max(ctx.options.lineWidth-ctx.indent.length,ctx.options.minContentWidth),n=Math.ceil(str.length/lineWidth),lines=new Array(n);for(let i=0,o=0;i<n;++i,o+=lineWidth)lines[i]=str.substr(o,lineWidth);str=lines.join(type===Scalar.Scalar.BLOCK_LITERAL?`
|
|
62
|
+
`:" ")}return stringifyString.stringifyString({comment,type,value:str},ctx,onComment,onChompKeep)}};exports.binary=binary}});var require_pairs=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports){"use strict";var identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar(),YAMLSeq=require_YAMLSeq();function resolvePairs(seq,onError){if(identity.isSeq(seq))for(let i=0;i<seq.items.length;++i){let item=seq.items[i];if(!identity.isPair(item)){if(identity.isMap(item)){item.items.length>1&&onError("Each pair must have its own sequence indicator");let pair=item.items[0]||new Pair.Pair(new Scalar.Scalar(null));if(item.commentBefore&&(pair.key.commentBefore=pair.key.commentBefore?`${item.commentBefore}
|
|
63
|
+
${pair.key.commentBefore}`:item.commentBefore),item.comment){let cn=pair.value??pair.key;cn.comment=cn.comment?`${item.comment}
|
|
64
|
+
${cn.comment}`:item.comment}item=pair}seq.items[i]=identity.isPair(item)?item:new Pair.Pair(item)}}else onError("Expected a sequence for this tag");return seq}function createPairs(schema,iterable,ctx){let{replacer}=ctx,pairs2=new YAMLSeq.YAMLSeq(schema);pairs2.tag="tag:yaml.org,2002:pairs";let i=0;if(iterable&&Symbol.iterator in Object(iterable))for(let it of iterable){typeof replacer=="function"&&(it=replacer.call(iterable,String(i++),it));let key,value;if(Array.isArray(it))if(it.length===2)key=it[0],value=it[1];else throw new TypeError(`Expected [key, value] tuple: ${it}`);else if(it&&it instanceof Object){let keys=Object.keys(it);if(keys.length===1)key=keys[0],value=it[key];else throw new TypeError(`Expected tuple with one key, not ${keys.length} keys`)}else key=it;pairs2.items.push(Pair.createPair(key,value,ctx))}return pairs2}var pairs={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:resolvePairs,createNode:createPairs};exports.createPairs=createPairs;exports.pairs=pairs;exports.resolvePairs=resolvePairs}});var require_omap=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports){"use strict";var identity=require_identity(),toJS=require_toJS(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),pairs=require_pairs(),YAMLOMap=class _YAMLOMap extends YAMLSeq.YAMLSeq{constructor(){super(),this.add=YAMLMap.YAMLMap.prototype.add.bind(this),this.delete=YAMLMap.YAMLMap.prototype.delete.bind(this),this.get=YAMLMap.YAMLMap.prototype.get.bind(this),this.has=YAMLMap.YAMLMap.prototype.has.bind(this),this.set=YAMLMap.YAMLMap.prototype.set.bind(this),this.tag=_YAMLOMap.tag}toJSON(_,ctx){if(!ctx)return super.toJSON(_);let map=new Map;ctx?.onCreate&&ctx.onCreate(map);for(let pair of this.items){let key,value;if(identity.isPair(pair)?(key=toJS.toJS(pair.key,"",ctx),value=toJS.toJS(pair.value,key,ctx)):key=toJS.toJS(pair,"",ctx),map.has(key))throw new Error("Ordered maps must not include duplicate keys");map.set(key,value)}return map}static from(schema,iterable,ctx){let pairs$1=pairs.createPairs(schema,iterable,ctx),omap2=new this;return omap2.items=pairs$1.items,omap2}};YAMLOMap.tag="tag:yaml.org,2002:omap";var omap={collection:"seq",identify:value=>value instanceof Map,nodeClass:YAMLOMap,default:!1,tag:"tag:yaml.org,2002:omap",resolve(seq,onError){let pairs$1=pairs.resolvePairs(seq,onError),seenKeys=[];for(let{key}of pairs$1.items)identity.isScalar(key)&&(seenKeys.includes(key.value)?onError(`Ordered maps must not include duplicate keys: ${key.value}`):seenKeys.push(key.value));return Object.assign(new YAMLOMap,pairs$1)},createNode:(schema,iterable,ctx)=>YAMLOMap.from(schema,iterable,ctx)};exports.YAMLOMap=YAMLOMap;exports.omap=omap}});var require_bool2=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports){"use strict";var Scalar=require_Scalar();function boolStringify({value,source},ctx){return source&&(value?trueTag:falseTag).test.test(source)?source:value?ctx.options.trueStr:ctx.options.falseStr}var trueTag={identify:value=>value===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Scalar.Scalar(!0),stringify:boolStringify},falseTag={identify:value=>value===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Scalar.Scalar(!1),stringify:boolStringify};exports.falseTag=falseTag;exports.trueTag=trueTag}});var require_float2=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports){"use strict";var Scalar=require_Scalar(),stringifyNumber=require_stringifyNumber(),floatNaN={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:str=>str.slice(-3).toLowerCase()==="nan"?NaN:str[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:stringifyNumber.stringifyNumber},floatExp={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:str=>parseFloat(str.replace(/_/g,"")),stringify(node){let num=Number(node.value);return isFinite(num)?num.toExponential():stringifyNumber.stringifyNumber(node)}},float={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(str){let node=new Scalar.Scalar(parseFloat(str.replace(/_/g,""))),dot=str.indexOf(".");if(dot!==-1){let f=str.substring(dot+1).replace(/_/g,"");f[f.length-1]==="0"&&(node.minFractionDigits=f.length)}return node},stringify:stringifyNumber.stringifyNumber};exports.float=float;exports.floatExp=floatExp;exports.floatNaN=floatNaN}});var require_int2=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports){"use strict";var stringifyNumber=require_stringifyNumber(),intIdentify=value=>typeof value=="bigint"||Number.isInteger(value);function intResolve(str,offset,radix,{intAsBigInt}){let sign=str[0];if((sign==="-"||sign==="+")&&(offset+=1),str=str.substring(offset).replace(/_/g,""),intAsBigInt){switch(radix){case 2:str=`0b${str}`;break;case 8:str=`0o${str}`;break;case 16:str=`0x${str}`;break}let n2=BigInt(str);return sign==="-"?BigInt(-1)*n2:n2}let n=parseInt(str,radix);return sign==="-"?-1*n:n}function intStringify(node,radix,prefix){let{value}=node;if(intIdentify(value)){let str=value.toString(radix);return value<0?"-"+prefix+str.substr(1):prefix+str}return stringifyNumber.stringifyNumber(node)}var intBin={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,2,opt),stringify:node=>intStringify(node,2,"0b")},intOct={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(str,_onError,opt)=>intResolve(str,1,8,opt),stringify:node=>intStringify(node,8,"0")},int2={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(str,_onError,opt)=>intResolve(str,0,10,opt),stringify:stringifyNumber.stringifyNumber},intHex={identify:intIdentify,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(str,_onError,opt)=>intResolve(str,2,16,opt),stringify:node=>intStringify(node,16,"0x")};exports.int=int2;exports.intBin=intBin;exports.intHex=intHex;exports.intOct=intOct}});var require_set=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports){"use strict";var identity=require_identity(),Pair=require_Pair(),YAMLMap=require_YAMLMap(),YAMLSet=class _YAMLSet extends YAMLMap.YAMLMap{constructor(schema){super(schema),this.tag=_YAMLSet.tag}add(key){let pair;identity.isPair(key)?pair=key:key&&typeof key=="object"&&"key"in key&&"value"in key&&key.value===null?pair=new Pair.Pair(key.key,null):pair=new Pair.Pair(key,null),YAMLMap.findPair(this.items,pair.key)||this.items.push(pair)}get(key,keepPair){let pair=YAMLMap.findPair(this.items,key);return!keepPair&&identity.isPair(pair)?identity.isScalar(pair.key)?pair.key.value:pair.key:pair}set(key,value){if(typeof value!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);let prev=YAMLMap.findPair(this.items,key);prev&&!value?this.items.splice(this.items.indexOf(prev),1):!prev&&value&&this.items.push(new Pair.Pair(key))}toJSON(_,ctx){return super.toJSON(_,ctx,Set)}toString(ctx,onComment,onChompKeep){if(!ctx)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},ctx,{allNullValues:!0}),onComment,onChompKeep);throw new Error("Set items must all have null values")}static from(schema,iterable,ctx){let{replacer}=ctx,set2=new this(schema);if(iterable&&Symbol.iterator in Object(iterable))for(let value of iterable)typeof replacer=="function"&&(value=replacer.call(iterable,value,value)),set2.items.push(Pair.createPair(value,null,ctx));return set2}};YAMLSet.tag="tag:yaml.org,2002:set";var set={collection:"map",identify:value=>value instanceof Set,nodeClass:YAMLSet,default:!1,tag:"tag:yaml.org,2002:set",createNode:(schema,iterable,ctx)=>YAMLSet.from(schema,iterable,ctx),resolve(map,onError){if(identity.isMap(map)){if(map.hasAllNullValues(!0))return Object.assign(new YAMLSet,map);onError("Set items must all have null values")}else onError("Expected a mapping for this tag");return map}};exports.YAMLSet=YAMLSet;exports.set=set}});var require_timestamp=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports){"use strict";var stringifyNumber=require_stringifyNumber();function parseSexagesimal(str,asBigInt){let sign=str[0],parts=sign==="-"||sign==="+"?str.substring(1):str,num=n=>asBigInt?BigInt(n):Number(n),res=parts.replace(/_/g,"").split(":").reduce((res2,p)=>res2*num(60)+num(p),num(0));return sign==="-"?num(-1)*res:res}function stringifySexagesimal(node){let{value}=node,num=n=>n;if(typeof value=="bigint")num=n=>BigInt(n);else if(isNaN(value)||!isFinite(value))return stringifyNumber.stringifyNumber(node);let sign="";value<0&&(sign="-",value*=num(-1));let _60=num(60),parts=[value%_60];return value<60?parts.unshift(0):(value=(value-parts[0])/_60,parts.unshift(value%_60),value>=60&&(value=(value-parts[0])/_60,parts.unshift(value))),sign+parts.map(n=>String(n).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var intTime={identify:value=>typeof value=="bigint"||Number.isInteger(value),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(str,_onError,{intAsBigInt})=>parseSexagesimal(str,intAsBigInt),stringify:stringifySexagesimal},floatTime={identify:value=>typeof value=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:str=>parseSexagesimal(str,!1),stringify:stringifySexagesimal},timestamp={identify:value=>value instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(str){let match=str.match(timestamp.test);if(!match)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,year,month,day,hour,minute,second]=match.map(Number),millisec=match[7]?Number((match[7]+"00").substr(1,3)):0,date3=Date.UTC(year,month-1,day,hour||0,minute||0,second||0,millisec),tz=match[8];if(tz&&tz!=="Z"){let d=parseSexagesimal(tz,!1);Math.abs(d)<30&&(d*=60),date3-=6e4*d}return new Date(date3)},stringify:({value})=>value?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};exports.floatTime=floatTime;exports.intTime=intTime;exports.timestamp=timestamp}});var require_schema3=__commonJS({"../node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports){"use strict";var map=require_map(),_null4=require_null(),seq=require_seq(),string3=require_string(),binary=require_binary(),bool=require_bool2(),float=require_float2(),int2=require_int2(),merge2=require_merge(),omap=require_omap(),pairs=require_pairs(),set=require_set(),timestamp=require_timestamp(),schema=[map.map,seq.seq,string3.string,_null4.nullTag,bool.trueTag,bool.falseTag,int2.intBin,int2.intOct,int2.int,int2.intHex,float.floatNaN,float.floatExp,float.float,binary.binary,merge2.merge,omap.omap,pairs.pairs,set.set,timestamp.intTime,timestamp.floatTime,timestamp.timestamp];exports.schema=schema}});var require_tags=__commonJS({"../node_modules/yaml/dist/schema/tags.js"(exports){"use strict";var map=require_map(),_null4=require_null(),seq=require_seq(),string3=require_string(),bool=require_bool(),float=require_float(),int2=require_int(),schema=require_schema(),schema$1=require_schema2(),binary=require_binary(),merge2=require_merge(),omap=require_omap(),pairs=require_pairs(),schema$2=require_schema3(),set=require_set(),timestamp=require_timestamp(),schemas=new Map([["core",schema.schema],["failsafe",[map.map,seq.seq,string3.string]],["json",schema$1.schema],["yaml11",schema$2.schema],["yaml-1.1",schema$2.schema]]),tagsByName={binary:binary.binary,bool:bool.boolTag,float:float.float,floatExp:float.floatExp,floatNaN:float.floatNaN,floatTime:timestamp.floatTime,int:int2.int,intHex:int2.intHex,intOct:int2.intOct,intTime:timestamp.intTime,map:map.map,merge:merge2.merge,null:_null4.nullTag,omap:omap.omap,pairs:pairs.pairs,seq:seq.seq,set:set.set,timestamp:timestamp.timestamp},coreKnownTags={"tag:yaml.org,2002:binary":binary.binary,"tag:yaml.org,2002:merge":merge2.merge,"tag:yaml.org,2002:omap":omap.omap,"tag:yaml.org,2002:pairs":pairs.pairs,"tag:yaml.org,2002:set":set.set,"tag:yaml.org,2002:timestamp":timestamp.timestamp};function getTags(customTags,schemaName,addMergeTag){let schemaTags=schemas.get(schemaName);if(schemaTags&&!customTags)return addMergeTag&&!schemaTags.includes(merge2.merge)?schemaTags.concat(merge2.merge):schemaTags.slice();let tags=schemaTags;if(!tags)if(Array.isArray(customTags))tags=[];else{let keys=Array.from(schemas.keys()).filter(key=>key!=="yaml11").map(key=>JSON.stringify(key)).join(", ");throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`)}if(Array.isArray(customTags))for(let tag of customTags)tags=tags.concat(tag);else typeof customTags=="function"&&(tags=customTags(tags.slice()));return addMergeTag&&(tags=tags.concat(merge2.merge)),tags.reduce((tags2,tag)=>{let tagObj=typeof tag=="string"?tagsByName[tag]:tag;if(!tagObj){let tagName=JSON.stringify(tag),keys=Object.keys(tagsByName).map(key=>JSON.stringify(key)).join(", ");throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`)}return tags2.includes(tagObj)||tags2.push(tagObj),tags2},[])}exports.coreKnownTags=coreKnownTags;exports.getTags=getTags}});var require_Schema=__commonJS({"../node_modules/yaml/dist/schema/Schema.js"(exports){"use strict";var identity=require_identity(),map=require_map(),seq=require_seq(),string3=require_string(),tags=require_tags(),sortMapEntriesByKey=(a,b)=>a.key<b.key?-1:a.key>b.key?1:0,Schema=class _Schema{constructor({compat,customTags,merge:merge2,resolveKnownTags,schema,sortMapEntries,toStringDefaults}){this.compat=Array.isArray(compat)?tags.getTags(compat,"compat"):compat?tags.getTags(null,compat):null,this.name=typeof schema=="string"&&schema||"core",this.knownTags=resolveKnownTags?tags.coreKnownTags:{},this.tags=tags.getTags(customTags,this.name,merge2),this.toStringOptions=toStringDefaults??null,Object.defineProperty(this,identity.MAP,{value:map.map}),Object.defineProperty(this,identity.SCALAR,{value:string3.string}),Object.defineProperty(this,identity.SEQ,{value:seq.seq}),this.sortMapEntries=typeof sortMapEntries=="function"?sortMapEntries:sortMapEntries===!0?sortMapEntriesByKey:null}clone(){let copy=Object.create(_Schema.prototype,Object.getOwnPropertyDescriptors(this));return copy.tags=this.tags.slice(),copy}};exports.Schema=Schema}});var require_stringifyDocument=__commonJS({"../node_modules/yaml/dist/stringify/stringifyDocument.js"(exports){"use strict";var identity=require_identity(),stringify=require_stringify(),stringifyComment=require_stringifyComment();function stringifyDocument(doc,options){let lines=[],hasDirectives=options.directives===!0;if(options.directives!==!1&&doc.directives){let dir=doc.directives.toString(doc);dir?(lines.push(dir),hasDirectives=!0):doc.directives.docStart&&(hasDirectives=!0)}hasDirectives&&lines.push("---");let ctx=stringify.createStringifyContext(doc,options),{commentString}=ctx.options;if(doc.commentBefore){lines.length!==1&&lines.unshift("");let cs=commentString(doc.commentBefore);lines.unshift(stringifyComment.indentComment(cs,""))}let chompKeep=!1,contentComment=null;if(doc.contents){if(identity.isNode(doc.contents)){if(doc.contents.spaceBefore&&hasDirectives&&lines.push(""),doc.contents.commentBefore){let cs=commentString(doc.contents.commentBefore);lines.push(stringifyComment.indentComment(cs,""))}ctx.forceBlockIndent=!!doc.comment,contentComment=doc.contents.comment}let onChompKeep=contentComment?void 0:()=>chompKeep=!0,body=stringify.stringify(doc.contents,ctx,()=>contentComment=null,onChompKeep);contentComment&&(body+=stringifyComment.lineComment(body,"",commentString(contentComment))),(body[0]==="|"||body[0]===">")&&lines[lines.length-1]==="---"?lines[lines.length-1]=`--- ${body}`:lines.push(body)}else lines.push(stringify.stringify(doc.contents,ctx));if(doc.directives?.docEnd)if(doc.comment){let cs=commentString(doc.comment);cs.includes(`
|
|
65
|
+
`)?(lines.push("..."),lines.push(stringifyComment.indentComment(cs,""))):lines.push(`... ${cs}`)}else lines.push("...");else{let dc=doc.comment;dc&&chompKeep&&(dc=dc.replace(/^\n+/,"")),dc&&((!chompKeep||contentComment)&&lines[lines.length-1]!==""&&lines.push(""),lines.push(stringifyComment.indentComment(commentString(dc),"")))}return lines.join(`
|
|
66
|
+
`)+`
|
|
67
|
+
`}exports.stringifyDocument=stringifyDocument}});var require_Document=__commonJS({"../node_modules/yaml/dist/doc/Document.js"(exports){"use strict";var Alias=require_Alias(),Collection=require_Collection(),identity=require_identity(),Pair=require_Pair(),toJS=require_toJS(),Schema=require_Schema(),stringifyDocument=require_stringifyDocument(),anchors=require_anchors(),applyReviver=require_applyReviver(),createNode=require_createNode(),directives=require_directives(),Document=class _Document{constructor(value,replacer,options){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,identity.NODE_TYPE,{value:identity.DOC});let _replacer=null;typeof replacer=="function"||Array.isArray(replacer)?_replacer=replacer:options===void 0&&replacer&&(options=replacer,replacer=void 0);let opt=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},options);this.options=opt;let{version:version2}=opt;options?._directives?(this.directives=options._directives.atDocument(),this.directives.yaml.explicit&&(version2=this.directives.yaml.version)):this.directives=new directives.Directives({version:version2}),this.setSchema(version2,options),this.contents=value===void 0?null:this.createNode(value,_replacer,options)}clone(){let copy=Object.create(_Document.prototype,{[identity.NODE_TYPE]:{value:identity.DOC}});return copy.commentBefore=this.commentBefore,copy.comment=this.comment,copy.errors=this.errors.slice(),copy.warnings=this.warnings.slice(),copy.options=Object.assign({},this.options),this.directives&&(copy.directives=this.directives.clone()),copy.schema=this.schema.clone(),copy.contents=identity.isNode(this.contents)?this.contents.clone(copy.schema):this.contents,this.range&&(copy.range=this.range.slice()),copy}add(value){assertCollection(this.contents)&&this.contents.add(value)}addIn(path,value){assertCollection(this.contents)&&this.contents.addIn(path,value)}createAlias(node,name){if(!node.anchor){let prev=anchors.anchorNames(this);node.anchor=!name||prev.has(name)?anchors.findNewAnchor(name||"a",prev):name}return new Alias.Alias(node.anchor)}createNode(value,replacer,options){let _replacer;if(typeof replacer=="function")value=replacer.call({"":value},"",value),_replacer=replacer;else if(Array.isArray(replacer)){let keyToStr=v=>typeof v=="number"||v instanceof String||v instanceof Number,asStr=replacer.filter(keyToStr).map(String);asStr.length>0&&(replacer=replacer.concat(asStr)),_replacer=replacer}else options===void 0&&replacer&&(options=replacer,replacer=void 0);let{aliasDuplicateObjects,anchorPrefix,flow,keepUndefined,onTagObj,tag}=options??{},{onAnchor,setAnchors,sourceObjects}=anchors.createNodeAnchors(this,anchorPrefix||"a"),ctx={aliasDuplicateObjects:aliasDuplicateObjects??!0,keepUndefined:keepUndefined??!1,onAnchor,onTagObj,replacer:_replacer,schema:this.schema,sourceObjects},node=createNode.createNode(value,tag,ctx);return flow&&identity.isCollection(node)&&(node.flow=!0),setAnchors(),node}createPair(key,value,options={}){let k=this.createNode(key,null,options),v=this.createNode(value,null,options);return new Pair.Pair(k,v)}delete(key){return assertCollection(this.contents)?this.contents.delete(key):!1}deleteIn(path){return Collection.isEmptyPath(path)?this.contents==null?!1:(this.contents=null,!0):assertCollection(this.contents)?this.contents.deleteIn(path):!1}get(key,keepScalar){return identity.isCollection(this.contents)?this.contents.get(key,keepScalar):void 0}getIn(path,keepScalar){return Collection.isEmptyPath(path)?!keepScalar&&identity.isScalar(this.contents)?this.contents.value:this.contents:identity.isCollection(this.contents)?this.contents.getIn(path,keepScalar):void 0}has(key){return identity.isCollection(this.contents)?this.contents.has(key):!1}hasIn(path){return Collection.isEmptyPath(path)?this.contents!==void 0:identity.isCollection(this.contents)?this.contents.hasIn(path):!1}set(key,value){this.contents==null?this.contents=Collection.collectionFromPath(this.schema,[key],value):assertCollection(this.contents)&&this.contents.set(key,value)}setIn(path,value){Collection.isEmptyPath(path)?this.contents=value:this.contents==null?this.contents=Collection.collectionFromPath(this.schema,Array.from(path),value):assertCollection(this.contents)&&this.contents.setIn(path,value)}setSchema(version2,options={}){typeof version2=="number"&&(version2=String(version2));let opt;switch(version2){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new directives.Directives({version:"1.1"}),opt={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=version2:this.directives=new directives.Directives({version:version2}),opt={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,opt=null;break;default:{let sv=JSON.stringify(version2);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${sv}`)}}if(options.schema instanceof Object)this.schema=options.schema;else if(opt)this.schema=new Schema.Schema(Object.assign(opt,options));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json,jsonArg,mapAsMap,maxAliasCount,onAnchor,reviver}={}){let ctx={anchors:new Map,doc:this,keep:!json,mapAsMap:mapAsMap===!0,mapKeyWarned:!1,maxAliasCount:typeof maxAliasCount=="number"?maxAliasCount:100},res=toJS.toJS(this.contents,jsonArg??"",ctx);if(typeof onAnchor=="function")for(let{count,res:res2}of ctx.anchors.values())onAnchor(res2,count);return typeof reviver=="function"?applyReviver.applyReviver(reviver,{"":res},"",res):res}toJSON(jsonArg,onAnchor){return this.toJS({json:!0,jsonArg,mapAsMap:!1,onAnchor})}toString(options={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in options&&(!Number.isInteger(options.indent)||Number(options.indent)<=0)){let s=JSON.stringify(options.indent);throw new Error(`"indent" option must be a positive integer, not ${s}`)}return stringifyDocument.stringifyDocument(this,options)}};function assertCollection(contents){if(identity.isCollection(contents))return!0;throw new Error("Expected a YAML collection as document contents")}exports.Document=Document}});var require_errors2=__commonJS({"../node_modules/yaml/dist/errors.js"(exports){"use strict";var YAMLError=class extends Error{constructor(name,pos,code,message){super(),this.name=name,this.code=code,this.message=message,this.pos=pos}},YAMLParseError=class extends YAMLError{constructor(pos,code,message){super("YAMLParseError",pos,code,message)}},YAMLWarning=class extends YAMLError{constructor(pos,code,message){super("YAMLWarning",pos,code,message)}},prettifyError2=(src,lc)=>error3=>{if(error3.pos[0]===-1)return;error3.linePos=error3.pos.map(pos=>lc.linePos(pos));let{line,col}=error3.linePos[0];error3.message+=` at line ${line}, column ${col}`;let ci=col-1,lineStr=src.substring(lc.lineStarts[line-1],lc.lineStarts[line]).replace(/[\n\r]+$/,"");if(ci>=60&&lineStr.length>80){let trimStart=Math.min(ci-39,lineStr.length-79);lineStr="\u2026"+lineStr.substring(trimStart),ci-=trimStart-1}if(lineStr.length>80&&(lineStr=lineStr.substring(0,79)+"\u2026"),line>1&&/^ *$/.test(lineStr.substring(0,ci))){let prev=src.substring(lc.lineStarts[line-2],lc.lineStarts[line-1]);prev.length>80&&(prev=prev.substring(0,79)+`\u2026
|
|
68
|
+
`),lineStr=prev+lineStr}if(/[^ ]/.test(lineStr)){let count=1,end=error3.linePos[1];end?.line===line&&end.col>col&&(count=Math.max(1,Math.min(end.col-col,80-ci)));let pointer=" ".repeat(ci)+"^".repeat(count);error3.message+=`:
|
|
69
|
+
|
|
70
|
+
${lineStr}
|
|
71
|
+
${pointer}
|
|
72
|
+
`}};exports.YAMLError=YAMLError;exports.YAMLParseError=YAMLParseError;exports.YAMLWarning=YAMLWarning;exports.prettifyError=prettifyError2}});var require_resolve_props=__commonJS({"../node_modules/yaml/dist/compose/resolve-props.js"(exports){"use strict";function resolveProps(tokens,{flow,indicator,next,offset,onError,parentIndent,startOnNewline}){let spaceBefore=!1,atNewline=startOnNewline,hasSpace=startOnNewline,comment="",commentSep="",hasNewline=!1,reqSpace=!1,tab=null,anchor=null,tag=null,newlineAfterProp=null,comma=null,found=null,start=null;for(let token of tokens)switch(reqSpace&&(token.type!=="space"&&token.type!=="newline"&&token.type!=="comma"&&onError(token.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),reqSpace=!1),tab&&(atNewline&&token.type!=="comment"&&token.type!=="newline"&&onError(tab,"TAB_AS_INDENT","Tabs are not allowed as indentation"),tab=null),token.type){case"space":!flow&&(indicator!=="doc-start"||next?.type!=="flow-collection")&&token.source.includes(" ")&&(tab=token),hasSpace=!0;break;case"comment":{hasSpace||onError(token,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let cb=token.source.substring(1)||" ";comment?comment+=commentSep+cb:comment=cb,commentSep="",atNewline=!1;break}case"newline":atNewline?comment?comment+=token.source:(!found||indicator!=="seq-item-ind")&&(spaceBefore=!0):commentSep+=token.source,atNewline=!0,hasNewline=!0,(anchor||tag)&&(newlineAfterProp=token),hasSpace=!0;break;case"anchor":anchor&&onError(token,"MULTIPLE_ANCHORS","A node can have at most one anchor"),token.source.endsWith(":")&&onError(token.offset+token.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),anchor=token,start??(start=token.offset),atNewline=!1,hasSpace=!1,reqSpace=!0;break;case"tag":{tag&&onError(token,"MULTIPLE_TAGS","A node can have at most one tag"),tag=token,start??(start=token.offset),atNewline=!1,hasSpace=!1,reqSpace=!0;break}case indicator:(anchor||tag)&&onError(token,"BAD_PROP_ORDER",`Anchors and tags must be after the ${token.source} indicator`),found&&onError(token,"UNEXPECTED_TOKEN",`Unexpected ${token.source} in ${flow??"collection"}`),found=token,atNewline=indicator==="seq-item-ind"||indicator==="explicit-key-ind",hasSpace=!1;break;case"comma":if(flow){comma&&onError(token,"UNEXPECTED_TOKEN",`Unexpected , in ${flow}`),comma=token,atNewline=!1,hasSpace=!1;break}default:onError(token,"UNEXPECTED_TOKEN",`Unexpected ${token.type} token`),atNewline=!1,hasSpace=!1}let last=tokens[tokens.length-1],end=last?last.offset+last.source.length:offset;return reqSpace&&next&&next.type!=="space"&&next.type!=="newline"&&next.type!=="comma"&&(next.type!=="scalar"||next.source!=="")&&onError(next.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),tab&&(atNewline&&tab.indent<=parentIndent||next?.type==="block-map"||next?.type==="block-seq")&&onError(tab,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma,found,spaceBefore,comment,hasNewline,anchor,tag,newlineAfterProp,end,start:start??end}}exports.resolveProps=resolveProps}});var require_util_contains_newline=__commonJS({"../node_modules/yaml/dist/compose/util-contains-newline.js"(exports){"use strict";function containsNewline(key){if(!key)return null;switch(key.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(key.source.includes(`
|
|
73
|
+
`))return!0;if(key.end){for(let st of key.end)if(st.type==="newline")return!0}return!1;case"flow-collection":for(let it of key.items){for(let st of it.start)if(st.type==="newline")return!0;if(it.sep){for(let st of it.sep)if(st.type==="newline")return!0}if(containsNewline(it.key)||containsNewline(it.value))return!0}return!1;default:return!0}}exports.containsNewline=containsNewline}});var require_util_flow_indent_check=__commonJS({"../node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports){"use strict";var utilContainsNewline=require_util_contains_newline();function flowIndentCheck(indent,fc,onError){if(fc?.type==="flow-collection"){let end=fc.end[0];end.indent===indent&&(end.source==="]"||end.source==="}")&&utilContainsNewline.containsNewline(fc)&&onError(end,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}exports.flowIndentCheck=flowIndentCheck}});var require_util_map_includes=__commonJS({"../node_modules/yaml/dist/compose/util-map-includes.js"(exports){"use strict";var identity=require_identity();function mapIncludes(ctx,items,search2){let{uniqueKeys}=ctx.options;if(uniqueKeys===!1)return!1;let isEqual=typeof uniqueKeys=="function"?uniqueKeys:(a,b)=>a===b||identity.isScalar(a)&&identity.isScalar(b)&&a.value===b.value;return items.some(pair=>isEqual(pair.key,search2))}exports.mapIncludes=mapIncludes}});var require_resolve_block_map=__commonJS({"../node_modules/yaml/dist/compose/resolve-block-map.js"(exports){"use strict";var Pair=require_Pair(),YAMLMap=require_YAMLMap(),resolveProps=require_resolve_props(),utilContainsNewline=require_util_contains_newline(),utilFlowIndentCheck=require_util_flow_indent_check(),utilMapIncludes=require_util_map_includes(),startColMsg="All mapping items must start at the same column";function resolveBlockMap({composeNode,composeEmptyNode},ctx,bm,onError,tag){let NodeClass=tag?.nodeClass??YAMLMap.YAMLMap,map=new NodeClass(ctx.schema);ctx.atRoot&&(ctx.atRoot=!1);let offset=bm.offset,commentEnd=null;for(let collItem of bm.items){let{start,key,sep,value}=collItem,keyProps=resolveProps.resolveProps(start,{indicator:"explicit-key-ind",next:key??sep?.[0],offset,onError,parentIndent:bm.indent,startOnNewline:!0}),implicitKey=!keyProps.found;if(implicitKey){if(key&&(key.type==="block-seq"?onError(offset,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in key&&key.indent!==bm.indent&&onError(offset,"BAD_INDENT",startColMsg)),!keyProps.anchor&&!keyProps.tag&&!sep){commentEnd=keyProps.end,keyProps.comment&&(map.comment?map.comment+=`
|
|
74
|
+
`+keyProps.comment:map.comment=keyProps.comment);continue}(keyProps.newlineAfterProp||utilContainsNewline.containsNewline(key))&&onError(key??start[start.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else keyProps.found?.indent!==bm.indent&&onError(offset,"BAD_INDENT",startColMsg);ctx.atKey=!0;let keyStart=keyProps.end,keyNode=key?composeNode(ctx,key,keyProps,onError):composeEmptyNode(ctx,keyStart,start,null,keyProps,onError);ctx.schema.compat&&utilFlowIndentCheck.flowIndentCheck(bm.indent,key,onError),ctx.atKey=!1,utilMapIncludes.mapIncludes(ctx,map.items,keyNode)&&onError(keyStart,"DUPLICATE_KEY","Map keys must be unique");let valueProps=resolveProps.resolveProps(sep??[],{indicator:"map-value-ind",next:value,offset:keyNode.range[2],onError,parentIndent:bm.indent,startOnNewline:!key||key.type==="block-scalar"});if(offset=valueProps.end,valueProps.found){implicitKey&&(value?.type==="block-map"&&!valueProps.hasNewline&&onError(offset,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),ctx.options.strict&&keyProps.start<valueProps.found.offset-1024&&onError(keyNode.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let valueNode=value?composeNode(ctx,value,valueProps,onError):composeEmptyNode(ctx,offset,sep,null,valueProps,onError);ctx.schema.compat&&utilFlowIndentCheck.flowIndentCheck(bm.indent,value,onError),offset=valueNode.range[2];let pair=new Pair.Pair(keyNode,valueNode);ctx.options.keepSourceTokens&&(pair.srcToken=collItem),map.items.push(pair)}else{implicitKey&&onError(keyNode.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),valueProps.comment&&(keyNode.comment?keyNode.comment+=`
|
|
75
|
+
`+valueProps.comment:keyNode.comment=valueProps.comment);let pair=new Pair.Pair(keyNode);ctx.options.keepSourceTokens&&(pair.srcToken=collItem),map.items.push(pair)}}return commentEnd&&commentEnd<offset&&onError(commentEnd,"IMPOSSIBLE","Map comment with trailing content"),map.range=[bm.offset,offset,commentEnd??offset],map}exports.resolveBlockMap=resolveBlockMap}});var require_resolve_block_seq=__commonJS({"../node_modules/yaml/dist/compose/resolve-block-seq.js"(exports){"use strict";var YAMLSeq=require_YAMLSeq(),resolveProps=require_resolve_props(),utilFlowIndentCheck=require_util_flow_indent_check();function resolveBlockSeq({composeNode,composeEmptyNode},ctx,bs,onError,tag){let NodeClass=tag?.nodeClass??YAMLSeq.YAMLSeq,seq=new NodeClass(ctx.schema);ctx.atRoot&&(ctx.atRoot=!1),ctx.atKey&&(ctx.atKey=!1);let offset=bs.offset,commentEnd=null;for(let{start,value}of bs.items){let props=resolveProps.resolveProps(start,{indicator:"seq-item-ind",next:value,offset,onError,parentIndent:bs.indent,startOnNewline:!0});if(!props.found)if(props.anchor||props.tag||value)value?.type==="block-seq"?onError(props.end,"BAD_INDENT","All sequence items must start at the same column"):onError(offset,"MISSING_CHAR","Sequence item without - indicator");else{commentEnd=props.end,props.comment&&(seq.comment=props.comment);continue}let node=value?composeNode(ctx,value,props,onError):composeEmptyNode(ctx,props.end,start,null,props,onError);ctx.schema.compat&&utilFlowIndentCheck.flowIndentCheck(bs.indent,value,onError),offset=node.range[2],seq.items.push(node)}return seq.range=[bs.offset,offset,commentEnd??offset],seq}exports.resolveBlockSeq=resolveBlockSeq}});var require_resolve_end=__commonJS({"../node_modules/yaml/dist/compose/resolve-end.js"(exports){"use strict";function resolveEnd(end,offset,reqSpace,onError){let comment="";if(end){let hasSpace=!1,sep="";for(let token of end){let{source,type}=token;switch(type){case"space":hasSpace=!0;break;case"comment":{reqSpace&&!hasSpace&&onError(token,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let cb=source.substring(1)||" ";comment?comment+=sep+cb:comment=cb,sep="";break}case"newline":comment&&(sep+=source),hasSpace=!0;break;default:onError(token,"UNEXPECTED_TOKEN",`Unexpected ${type} at node end`)}offset+=source.length}}return{comment,offset}}exports.resolveEnd=resolveEnd}});var require_resolve_flow_collection=__commonJS({"../node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports){"use strict";var identity=require_identity(),Pair=require_Pair(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),resolveEnd=require_resolve_end(),resolveProps=require_resolve_props(),utilContainsNewline=require_util_contains_newline(),utilMapIncludes=require_util_map_includes(),blockMsg="Block collections are not allowed within flow collections",isBlock=token=>token&&(token.type==="block-map"||token.type==="block-seq");function resolveFlowCollection({composeNode,composeEmptyNode},ctx,fc,onError,tag){let isMap=fc.start.source==="{",fcName=isMap?"flow map":"flow sequence",NodeClass=tag?.nodeClass??(isMap?YAMLMap.YAMLMap:YAMLSeq.YAMLSeq),coll=new NodeClass(ctx.schema);coll.flow=!0;let atRoot=ctx.atRoot;atRoot&&(ctx.atRoot=!1),ctx.atKey&&(ctx.atKey=!1);let offset=fc.offset+fc.start.source.length;for(let i=0;i<fc.items.length;++i){let collItem=fc.items[i],{start,key,sep,value}=collItem,props=resolveProps.resolveProps(start,{flow:fcName,indicator:"explicit-key-ind",next:key??sep?.[0],offset,onError,parentIndent:fc.indent,startOnNewline:!1});if(!props.found){if(!props.anchor&&!props.tag&&!sep&&!value){i===0&&props.comma?onError(props.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${fcName}`):i<fc.items.length-1&&onError(props.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${fcName}`),props.comment&&(coll.comment?coll.comment+=`
|
|
76
|
+
`+props.comment:coll.comment=props.comment),offset=props.end;continue}!isMap&&ctx.options.strict&&utilContainsNewline.containsNewline(key)&&onError(key,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(i===0)props.comma&&onError(props.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${fcName}`);else if(props.comma||onError(props.start,"MISSING_CHAR",`Missing , between ${fcName} items`),props.comment){let prevItemComment="";loop:for(let st of start)switch(st.type){case"comma":case"space":break;case"comment":prevItemComment=st.source.substring(1);break loop;default:break loop}if(prevItemComment){let prev=coll.items[coll.items.length-1];identity.isPair(prev)&&(prev=prev.value??prev.key),prev.comment?prev.comment+=`
|
|
77
|
+
`+prevItemComment:prev.comment=prevItemComment,props.comment=props.comment.substring(prevItemComment.length+1)}}if(!isMap&&!sep&&!props.found){let valueNode=value?composeNode(ctx,value,props,onError):composeEmptyNode(ctx,props.end,sep,null,props,onError);coll.items.push(valueNode),offset=valueNode.range[2],isBlock(value)&&onError(valueNode.range,"BLOCK_IN_FLOW",blockMsg)}else{ctx.atKey=!0;let keyStart=props.end,keyNode=key?composeNode(ctx,key,props,onError):composeEmptyNode(ctx,keyStart,start,null,props,onError);isBlock(key)&&onError(keyNode.range,"BLOCK_IN_FLOW",blockMsg),ctx.atKey=!1;let valueProps=resolveProps.resolveProps(sep??[],{flow:fcName,indicator:"map-value-ind",next:value,offset:keyNode.range[2],onError,parentIndent:fc.indent,startOnNewline:!1});if(valueProps.found){if(!isMap&&!props.found&&ctx.options.strict){if(sep)for(let st of sep){if(st===valueProps.found)break;if(st.type==="newline"){onError(st,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}props.start<valueProps.found.offset-1024&&onError(valueProps.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else value&&("source"in value&&value.source?.[0]===":"?onError(value,"MISSING_CHAR",`Missing space after : in ${fcName}`):onError(valueProps.start,"MISSING_CHAR",`Missing , or : between ${fcName} items`));let valueNode=value?composeNode(ctx,value,valueProps,onError):valueProps.found?composeEmptyNode(ctx,valueProps.end,sep,null,valueProps,onError):null;valueNode?isBlock(value)&&onError(valueNode.range,"BLOCK_IN_FLOW",blockMsg):valueProps.comment&&(keyNode.comment?keyNode.comment+=`
|
|
78
|
+
`+valueProps.comment:keyNode.comment=valueProps.comment);let pair=new Pair.Pair(keyNode,valueNode);if(ctx.options.keepSourceTokens&&(pair.srcToken=collItem),isMap){let map=coll;utilMapIncludes.mapIncludes(ctx,map.items,keyNode)&&onError(keyStart,"DUPLICATE_KEY","Map keys must be unique"),map.items.push(pair)}else{let map=new YAMLMap.YAMLMap(ctx.schema);map.flow=!0,map.items.push(pair);let endRange=(valueNode??keyNode).range;map.range=[keyNode.range[0],endRange[1],endRange[2]],coll.items.push(map)}offset=valueNode?valueNode.range[2]:valueProps.end}}let expectedEnd=isMap?"}":"]",[ce,...ee]=fc.end,cePos=offset;if(ce?.source===expectedEnd)cePos=ce.offset+ce.source.length;else{let name=fcName[0].toUpperCase()+fcName.substring(1),msg=atRoot?`${name} must end with a ${expectedEnd}`:`${name} in block collection must be sufficiently indented and end with a ${expectedEnd}`;onError(offset,atRoot?"MISSING_CHAR":"BAD_INDENT",msg),ce&&ce.source.length!==1&&ee.unshift(ce)}if(ee.length>0){let end=resolveEnd.resolveEnd(ee,cePos,ctx.options.strict,onError);end.comment&&(coll.comment?coll.comment+=`
|
|
79
|
+
`+end.comment:coll.comment=end.comment),coll.range=[fc.offset,cePos,end.offset]}else coll.range=[fc.offset,cePos,cePos];return coll}exports.resolveFlowCollection=resolveFlowCollection}});var require_compose_collection=__commonJS({"../node_modules/yaml/dist/compose/compose-collection.js"(exports){"use strict";var identity=require_identity(),Scalar=require_Scalar(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),resolveBlockMap=require_resolve_block_map(),resolveBlockSeq=require_resolve_block_seq(),resolveFlowCollection=require_resolve_flow_collection();function resolveCollection(CN,ctx,token,onError,tagName,tag){let coll=token.type==="block-map"?resolveBlockMap.resolveBlockMap(CN,ctx,token,onError,tag):token.type==="block-seq"?resolveBlockSeq.resolveBlockSeq(CN,ctx,token,onError,tag):resolveFlowCollection.resolveFlowCollection(CN,ctx,token,onError,tag),Coll=coll.constructor;return tagName==="!"||tagName===Coll.tagName?(coll.tag=Coll.tagName,coll):(tagName&&(coll.tag=tagName),coll)}function composeCollection(CN,ctx,token,props,onError){let tagToken=props.tag,tagName=tagToken?ctx.directives.tagName(tagToken.source,msg=>onError(tagToken,"TAG_RESOLVE_FAILED",msg)):null;if(token.type==="block-seq"){let{anchor,newlineAfterProp:nl}=props,lastProp=anchor&&tagToken?anchor.offset>tagToken.offset?anchor:tagToken:anchor??tagToken;lastProp&&(!nl||nl.offset<lastProp.offset)&&onError(lastProp,"MISSING_CHAR","Missing newline after block sequence props")}let expType=token.type==="block-map"?"map":token.type==="block-seq"?"seq":token.start.source==="{"?"map":"seq";if(!tagToken||!tagName||tagName==="!"||tagName===YAMLMap.YAMLMap.tagName&&expType==="map"||tagName===YAMLSeq.YAMLSeq.tagName&&expType==="seq")return resolveCollection(CN,ctx,token,onError,tagName);let tag=ctx.schema.tags.find(t=>t.tag===tagName&&t.collection===expType);if(!tag){let kt=ctx.schema.knownTags[tagName];if(kt?.collection===expType)ctx.schema.tags.push(Object.assign({},kt,{default:!1})),tag=kt;else return kt?onError(tagToken,"BAD_COLLECTION_TYPE",`${kt.tag} used for ${expType} collection, but expects ${kt.collection??"scalar"}`,!0):onError(tagToken,"TAG_RESOLVE_FAILED",`Unresolved tag: ${tagName}`,!0),resolveCollection(CN,ctx,token,onError,tagName)}let coll=resolveCollection(CN,ctx,token,onError,tagName,tag),res=tag.resolve?.(coll,msg=>onError(tagToken,"TAG_RESOLVE_FAILED",msg),ctx.options)??coll,node=identity.isNode(res)?res:new Scalar.Scalar(res);return node.range=coll.range,node.tag=tagName,tag?.format&&(node.format=tag.format),node}exports.composeCollection=composeCollection}});var require_resolve_block_scalar=__commonJS({"../node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports){"use strict";var Scalar=require_Scalar();function resolveBlockScalar(ctx,scalar,onError){let start=scalar.offset,header=parseBlockScalarHeader(scalar,ctx.options.strict,onError);if(!header)return{value:"",type:null,comment:"",range:[start,start,start]};let type=header.mode===">"?Scalar.Scalar.BLOCK_FOLDED:Scalar.Scalar.BLOCK_LITERAL,lines=scalar.source?splitLines(scalar.source):[],chompStart=lines.length;for(let i=lines.length-1;i>=0;--i){let content=lines[i][1];if(content===""||content==="\r")chompStart=i;else break}if(chompStart===0){let value2=header.chomp==="+"&&lines.length>0?`
|
|
80
|
+
`.repeat(Math.max(1,lines.length-1)):"",end2=start+header.length;return scalar.source&&(end2+=scalar.source.length),{value:value2,type,comment:header.comment,range:[start,end2,end2]}}let trimIndent=scalar.indent+header.indent,offset=scalar.offset+header.length,contentStart=0;for(let i=0;i<chompStart;++i){let[indent,content]=lines[i];if(content===""||content==="\r")header.indent===0&&indent.length>trimIndent&&(trimIndent=indent.length);else{indent.length<trimIndent&&onError(offset+indent.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),header.indent===0&&(trimIndent=indent.length),contentStart=i,trimIndent===0&&!ctx.atRoot&&onError(offset,"BAD_INDENT","Block scalar values in collections must be indented");break}offset+=indent.length+content.length+1}for(let i=lines.length-1;i>=chompStart;--i)lines[i][0].length>trimIndent&&(chompStart=i+1);let value="",sep="",prevMoreIndented=!1;for(let i=0;i<contentStart;++i)value+=lines[i][0].slice(trimIndent)+`
|
|
81
|
+
`;for(let i=contentStart;i<chompStart;++i){let[indent,content]=lines[i];offset+=indent.length+content.length+1;let crlf=content[content.length-1]==="\r";if(crlf&&(content=content.slice(0,-1)),content&&indent.length<trimIndent){let message=`Block scalar lines must not be less indented than their ${header.indent?"explicit indentation indicator":"first line"}`;onError(offset-content.length-(crlf?2:1),"BAD_INDENT",message),indent=""}type===Scalar.Scalar.BLOCK_LITERAL?(value+=sep+indent.slice(trimIndent)+content,sep=`
|
|
82
|
+
`):indent.length>trimIndent||content[0]===" "?(sep===" "?sep=`
|
|
83
|
+
`:!prevMoreIndented&&sep===`
|
|
84
|
+
`&&(sep=`
|
|
85
|
+
|
|
86
|
+
`),value+=sep+indent.slice(trimIndent)+content,sep=`
|
|
87
|
+
`,prevMoreIndented=!0):content===""?sep===`
|
|
88
|
+
`?value+=`
|
|
89
|
+
`:sep=`
|
|
90
|
+
`:(value+=sep+content,sep=" ",prevMoreIndented=!1)}switch(header.chomp){case"-":break;case"+":for(let i=chompStart;i<lines.length;++i)value+=`
|
|
91
|
+
`+lines[i][0].slice(trimIndent);value[value.length-1]!==`
|
|
92
|
+
`&&(value+=`
|
|
93
|
+
`);break;default:value+=`
|
|
94
|
+
`}let end=start+header.length+scalar.source.length;return{value,type,comment:header.comment,range:[start,end,end]}}function parseBlockScalarHeader({offset,props},strict,onError){if(props[0].type!=="block-scalar-header")return onError(props[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source}=props[0],mode=source[0],indent=0,chomp="",error3=-1;for(let i=1;i<source.length;++i){let ch=source[i];if(!chomp&&(ch==="-"||ch==="+"))chomp=ch;else{let n=Number(ch);!indent&&n?indent=n:error3===-1&&(error3=offset+i)}}error3!==-1&&onError(error3,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${source}`);let hasSpace=!1,comment="",length=source.length;for(let i=1;i<props.length;++i){let token=props[i];switch(token.type){case"space":hasSpace=!0;case"newline":length+=token.source.length;break;case"comment":strict&&!hasSpace&&onError(token,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),length+=token.source.length,comment=token.source.substring(1);break;case"error":onError(token,"UNEXPECTED_TOKEN",token.message),length+=token.source.length;break;default:{let message=`Unexpected token in block scalar header: ${token.type}`;onError(token,"UNEXPECTED_TOKEN",message);let ts=token.source;ts&&typeof ts=="string"&&(length+=ts.length)}}}return{mode,indent,chomp,comment,length}}function splitLines(source){let split=source.split(/\n( *)/),first=split[0],m=first.match(/^( *)/),lines=[m?.[1]?[m[1],first.slice(m[1].length)]:["",first]];for(let i=1;i<split.length;i+=2)lines.push([split[i],split[i+1]]);return lines}exports.resolveBlockScalar=resolveBlockScalar}});var require_resolve_flow_scalar=__commonJS({"../node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports){"use strict";var Scalar=require_Scalar(),resolveEnd=require_resolve_end();function resolveFlowScalar(scalar,strict,onError){let{offset,type,source,end}=scalar,_type,value,_onError=(rel,code,msg)=>onError(offset+rel,code,msg);switch(type){case"scalar":_type=Scalar.Scalar.PLAIN,value=plainValue(source,_onError);break;case"single-quoted-scalar":_type=Scalar.Scalar.QUOTE_SINGLE,value=singleQuotedValue(source,_onError);break;case"double-quoted-scalar":_type=Scalar.Scalar.QUOTE_DOUBLE,value=doubleQuotedValue(source,_onError);break;default:return onError(scalar,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${type}`),{value:"",type:null,comment:"",range:[offset,offset+source.length,offset+source.length]}}let valueEnd=offset+source.length,re=resolveEnd.resolveEnd(end,valueEnd,strict,onError);return{value,type:_type,comment:re.comment,range:[offset,valueEnd,re.offset]}}function plainValue(source,onError){let badChar="";switch(source[0]){case" ":badChar="a tab character";break;case",":badChar="flow indicator character ,";break;case"%":badChar="directive indicator character %";break;case"|":case">":{badChar=`block scalar indicator ${source[0]}`;break}case"@":case"`":{badChar=`reserved character ${source[0]}`;break}}return badChar&&onError(0,"BAD_SCALAR_START",`Plain value cannot start with ${badChar}`),foldLines(source)}function singleQuotedValue(source,onError){return(source[source.length-1]!=="'"||source.length===1)&&onError(source.length,"MISSING_CHAR","Missing closing 'quote"),foldLines(source.slice(1,-1)).replace(/''/g,"'")}function foldLines(source){let first,line;try{first=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
95
|
+
`,"sy"),line=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
96
|
+
`,"sy")}catch{first=/(.*?)[ \t]*\r?\n/sy,line=/[ \t]*(.*?)[ \t]*\r?\n/sy}let match=first.exec(source);if(!match)return source;let res=match[1],sep=" ",pos=first.lastIndex;for(line.lastIndex=pos;match=line.exec(source);)match[1]===""?sep===`
|
|
97
|
+
`?res+=sep:sep=`
|
|
98
|
+
`:(res+=sep+match[1],sep=" "),pos=line.lastIndex;let last=/[ \t]*(.*)/sy;return last.lastIndex=pos,match=last.exec(source),res+sep+(match?.[1]??"")}function doubleQuotedValue(source,onError){let res="";for(let i=1;i<source.length-1;++i){let ch=source[i];if(!(ch==="\r"&&source[i+1]===`
|
|
99
|
+
`))if(ch===`
|
|
100
|
+
`){let{fold,offset}=foldNewline(source,i);res+=fold,i=offset}else if(ch==="\\"){let next=source[++i],cc=escapeCodes[next];if(cc)res+=cc;else if(next===`
|
|
101
|
+
`)for(next=source[i+1];next===" "||next===" ";)next=source[++i+1];else if(next==="\r"&&source[i+1]===`
|
|
102
|
+
`)for(next=source[++i+1];next===" "||next===" ";)next=source[++i+1];else if(next==="x"||next==="u"||next==="U"){let length=next==="x"?2:next==="u"?4:8;res+=parseCharCode(source,i+1,length,onError),i+=length}else{let raw=source.substr(i-1,2);onError(i-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${raw}`),res+=raw}}else if(ch===" "||ch===" "){let wsStart=i,next=source[i+1];for(;next===" "||next===" ";)next=source[++i+1];next!==`
|
|
103
|
+
`&&!(next==="\r"&&source[i+2]===`
|
|
104
|
+
`)&&(res+=i>wsStart?source.slice(wsStart,i+1):ch)}else res+=ch}return(source[source.length-1]!=='"'||source.length===1)&&onError(source.length,"MISSING_CHAR",'Missing closing "quote'),res}function foldNewline(source,offset){let fold="",ch=source[offset+1];for(;(ch===" "||ch===" "||ch===`
|
|
105
|
+
`||ch==="\r")&&!(ch==="\r"&&source[offset+2]!==`
|
|
106
|
+
`);)ch===`
|
|
107
|
+
`&&(fold+=`
|
|
108
|
+
`),offset+=1,ch=source[offset+1];return fold||(fold=" "),{fold,offset}}var escapeCodes={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
109
|
+
`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function parseCharCode(source,offset,length,onError){let cc=source.substr(offset,length),code=cc.length===length&&/^[0-9a-fA-F]+$/.test(cc)?parseInt(cc,16):NaN;try{return String.fromCodePoint(code)}catch{let raw=source.substr(offset-2,length+2);return onError(offset-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${raw}`),raw}}exports.resolveFlowScalar=resolveFlowScalar}});var require_compose_scalar=__commonJS({"../node_modules/yaml/dist/compose/compose-scalar.js"(exports){"use strict";var identity=require_identity(),Scalar=require_Scalar(),resolveBlockScalar=require_resolve_block_scalar(),resolveFlowScalar=require_resolve_flow_scalar();function composeScalar(ctx,token,tagToken,onError){let{value,type,comment,range}=token.type==="block-scalar"?resolveBlockScalar.resolveBlockScalar(ctx,token,onError):resolveFlowScalar.resolveFlowScalar(token,ctx.options.strict,onError),tagName=tagToken?ctx.directives.tagName(tagToken.source,msg=>onError(tagToken,"TAG_RESOLVE_FAILED",msg)):null,tag;ctx.options.stringKeys&&ctx.atKey?tag=ctx.schema[identity.SCALAR]:tagName?tag=findScalarTagByName(ctx.schema,value,tagName,tagToken,onError):token.type==="scalar"?tag=findScalarTagByTest(ctx,value,token,onError):tag=ctx.schema[identity.SCALAR];let scalar;try{let res=tag.resolve(value,msg=>onError(tagToken??token,"TAG_RESOLVE_FAILED",msg),ctx.options);scalar=identity.isScalar(res)?res:new Scalar.Scalar(res)}catch(error3){let msg=error3 instanceof Error?error3.message:String(error3);onError(tagToken??token,"TAG_RESOLVE_FAILED",msg),scalar=new Scalar.Scalar(value)}return scalar.range=range,scalar.source=value,type&&(scalar.type=type),tagName&&(scalar.tag=tagName),tag.format&&(scalar.format=tag.format),comment&&(scalar.comment=comment),scalar}function findScalarTagByName(schema,value,tagName,tagToken,onError){if(tagName==="!")return schema[identity.SCALAR];let matchWithTest=[];for(let tag of schema.tags)if(!tag.collection&&tag.tag===tagName)if(tag.default&&tag.test)matchWithTest.push(tag);else return tag;for(let tag of matchWithTest)if(tag.test?.test(value))return tag;let kt=schema.knownTags[tagName];return kt&&!kt.collection?(schema.tags.push(Object.assign({},kt,{default:!1,test:void 0})),kt):(onError(tagToken,"TAG_RESOLVE_FAILED",`Unresolved tag: ${tagName}`,tagName!=="tag:yaml.org,2002:str"),schema[identity.SCALAR])}function findScalarTagByTest({atKey,directives,schema},value,token,onError){let tag=schema.tags.find(tag2=>(tag2.default===!0||atKey&&tag2.default==="key")&&tag2.test?.test(value))||schema[identity.SCALAR];if(schema.compat){let compat=schema.compat.find(tag2=>tag2.default&&tag2.test?.test(value))??schema[identity.SCALAR];if(tag.tag!==compat.tag){let ts=directives.tagString(tag.tag),cs=directives.tagString(compat.tag),msg=`Value may be parsed as either ${ts} or ${cs}`;onError(token,"TAG_RESOLVE_FAILED",msg,!0)}}return tag}exports.composeScalar=composeScalar}});var require_util_empty_scalar_position=__commonJS({"../node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports){"use strict";function emptyScalarPosition(offset,before,pos){if(before){pos??(pos=before.length);for(let i=pos-1;i>=0;--i){let st=before[i];switch(st.type){case"space":case"comment":case"newline":offset-=st.source.length;continue}for(st=before[++i];st?.type==="space";)offset+=st.source.length,st=before[++i];break}}return offset}exports.emptyScalarPosition=emptyScalarPosition}});var require_compose_node=__commonJS({"../node_modules/yaml/dist/compose/compose-node.js"(exports){"use strict";var Alias=require_Alias(),identity=require_identity(),composeCollection=require_compose_collection(),composeScalar=require_compose_scalar(),resolveEnd=require_resolve_end(),utilEmptyScalarPosition=require_util_empty_scalar_position(),CN={composeNode,composeEmptyNode};function composeNode(ctx,token,props,onError){let atKey=ctx.atKey,{spaceBefore,comment,anchor,tag}=props,node,isSrcToken=!0;switch(token.type){case"alias":node=composeAlias(ctx,token,onError),(anchor||tag)&&onError(token,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":node=composeScalar.composeScalar(ctx,token,tag,onError),anchor&&(node.anchor=anchor.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{node=composeCollection.composeCollection(CN,ctx,token,props,onError),anchor&&(node.anchor=anchor.source.substring(1))}catch(error3){let message=error3 instanceof Error?error3.message:String(error3);onError(token,"RESOURCE_EXHAUSTION",message)}break;default:{let message=token.type==="error"?token.message:`Unsupported token (type: ${token.type})`;onError(token,"UNEXPECTED_TOKEN",message),isSrcToken=!1}}return node??(node=composeEmptyNode(ctx,token.offset,void 0,null,props,onError)),anchor&&node.anchor===""&&onError(anchor,"BAD_ALIAS","Anchor cannot be an empty string"),atKey&&ctx.options.stringKeys&&(!identity.isScalar(node)||typeof node.value!="string"||node.tag&&node.tag!=="tag:yaml.org,2002:str")&&onError(tag??token,"NON_STRING_KEY","With stringKeys, all keys must be strings"),spaceBefore&&(node.spaceBefore=!0),comment&&(token.type==="scalar"&&token.source===""?node.comment=comment:node.commentBefore=comment),ctx.options.keepSourceTokens&&isSrcToken&&(node.srcToken=token),node}function composeEmptyNode(ctx,offset,before,pos,{spaceBefore,comment,anchor,tag,end},onError){let token={type:"scalar",offset:utilEmptyScalarPosition.emptyScalarPosition(offset,before,pos),indent:-1,source:""},node=composeScalar.composeScalar(ctx,token,tag,onError);return anchor&&(node.anchor=anchor.source.substring(1),node.anchor===""&&onError(anchor,"BAD_ALIAS","Anchor cannot be an empty string")),spaceBefore&&(node.spaceBefore=!0),comment&&(node.comment=comment,node.range[2]=end),node}function composeAlias({options},{offset,source,end},onError){let alias=new Alias.Alias(source.substring(1));alias.source===""&&onError(offset,"BAD_ALIAS","Alias cannot be an empty string"),alias.source.endsWith(":")&&onError(offset+source.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let valueEnd=offset+source.length,re=resolveEnd.resolveEnd(end,valueEnd,options.strict,onError);return alias.range=[offset,valueEnd,re.offset],re.comment&&(alias.comment=re.comment),alias}exports.composeEmptyNode=composeEmptyNode;exports.composeNode=composeNode}});var require_compose_doc=__commonJS({"../node_modules/yaml/dist/compose/compose-doc.js"(exports){"use strict";var Document=require_Document(),composeNode=require_compose_node(),resolveEnd=require_resolve_end(),resolveProps=require_resolve_props();function composeDoc(options,directives,{offset,start,value,end},onError){let opts=Object.assign({_directives:directives},options),doc=new Document.Document(void 0,opts),ctx={atKey:!1,atRoot:!0,directives:doc.directives,options:doc.options,schema:doc.schema},props=resolveProps.resolveProps(start,{indicator:"doc-start",next:value??end?.[0],offset,onError,parentIndent:0,startOnNewline:!0});props.found&&(doc.directives.docStart=!0,value&&(value.type==="block-map"||value.type==="block-seq")&&!props.hasNewline&&onError(props.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),doc.contents=value?composeNode.composeNode(ctx,value,props,onError):composeNode.composeEmptyNode(ctx,props.end,start,null,props,onError);let contentEnd=doc.contents.range[2],re=resolveEnd.resolveEnd(end,contentEnd,!1,onError);return re.comment&&(doc.comment=re.comment),doc.range=[offset,contentEnd,re.offset],doc}exports.composeDoc=composeDoc}});var require_composer=__commonJS({"../node_modules/yaml/dist/compose/composer.js"(exports){"use strict";var node_process=__require("process"),directives=require_directives(),Document=require_Document(),errors=require_errors2(),identity=require_identity(),composeDoc=require_compose_doc(),resolveEnd=require_resolve_end();function getErrorPos(src){if(typeof src=="number")return[src,src+1];if(Array.isArray(src))return src.length===2?src:[src[0],src[1]];let{offset,source}=src;return[offset,offset+(typeof source=="string"?source.length:1)]}function parsePrelude(prelude){let comment="",atComment=!1,afterEmptyLine=!1;for(let i=0;i<prelude.length;++i){let source=prelude[i];switch(source[0]){case"#":comment+=(comment===""?"":afterEmptyLine?`
|
|
110
|
+
|
|
111
|
+
`:`
|
|
112
|
+
`)+(source.substring(1)||" "),atComment=!0,afterEmptyLine=!1;break;case"%":prelude[i+1]?.[0]!=="#"&&(i+=1),atComment=!1;break;default:atComment||(afterEmptyLine=!0),atComment=!1}}return{comment,afterEmptyLine}}var Composer=class{constructor(options={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(source,code,message,warning)=>{let pos=getErrorPos(source);warning?this.warnings.push(new errors.YAMLWarning(pos,code,message)):this.errors.push(new errors.YAMLParseError(pos,code,message))},this.directives=new directives.Directives({version:options.version||"1.2"}),this.options=options}decorate(doc,afterDoc){let{comment,afterEmptyLine}=parsePrelude(this.prelude);if(comment){let dc=doc.contents;if(afterDoc)doc.comment=doc.comment?`${doc.comment}
|
|
113
|
+
${comment}`:comment;else if(afterEmptyLine||doc.directives.docStart||!dc)doc.commentBefore=comment;else if(identity.isCollection(dc)&&!dc.flow&&dc.items.length>0){let it=dc.items[0];identity.isPair(it)&&(it=it.key);let cb=it.commentBefore;it.commentBefore=cb?`${comment}
|
|
114
|
+
${cb}`:comment}else{let cb=dc.commentBefore;dc.commentBefore=cb?`${comment}
|
|
115
|
+
${cb}`:comment}}if(afterDoc){for(let i=0;i<this.errors.length;++i)doc.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)doc.warnings.push(this.warnings[i])}else doc.errors=this.errors,doc.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:parsePrelude(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(tokens,forceDoc=!1,endOffset=-1){for(let token of tokens)yield*this.next(token);yield*this.end(forceDoc,endOffset)}*next(token){switch(node_process.env.LOG_STREAM&&console.dir(token,{depth:null}),token.type){case"directive":this.directives.add(token.source,(offset,message,warning)=>{let pos=getErrorPos(token);pos[0]+=offset,this.onError(pos,"BAD_DIRECTIVE",message,warning)}),this.prelude.push(token.source),this.atDirectives=!0;break;case"document":{let doc=composeDoc.composeDoc(this.options,this.directives,token,this.onError);this.atDirectives&&!doc.directives.docStart&&this.onError(token,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(doc,!1),this.doc&&(yield this.doc),this.doc=doc,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(token.source);break;case"error":{let msg=token.source?`${token.message}: ${JSON.stringify(token.source)}`:token.message,error3=new errors.YAMLParseError(getErrorPos(token),"UNEXPECTED_TOKEN",msg);this.atDirectives||!this.doc?this.errors.push(error3):this.doc.errors.push(error3);break}case"doc-end":{if(!this.doc){let msg="Unexpected doc-end without preceding document";this.errors.push(new errors.YAMLParseError(getErrorPos(token),"UNEXPECTED_TOKEN",msg));break}this.doc.directives.docEnd=!0;let end=resolveEnd.resolveEnd(token.end,token.offset+token.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),end.comment){let dc=this.doc.comment;this.doc.comment=dc?`${dc}
|
|
116
|
+
${end.comment}`:end.comment}this.doc.range[2]=end.offset;break}default:this.errors.push(new errors.YAMLParseError(getErrorPos(token),"UNEXPECTED_TOKEN",`Unsupported token ${token.type}`))}}*end(forceDoc=!1,endOffset=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(forceDoc){let opts=Object.assign({_directives:this.directives},this.options),doc=new Document.Document(void 0,opts);this.atDirectives&&this.onError(endOffset,"MISSING_CHAR","Missing directives-end indicator line"),doc.range=[0,endOffset,endOffset],this.decorate(doc,!1),yield doc}}};exports.Composer=Composer}});var require_cst_scalar=__commonJS({"../node_modules/yaml/dist/parse/cst-scalar.js"(exports){"use strict";var resolveBlockScalar=require_resolve_block_scalar(),resolveFlowScalar=require_resolve_flow_scalar(),errors=require_errors2(),stringifyString=require_stringifyString();function resolveAsScalar(token,strict=!0,onError){if(token){let _onError=(pos,code,message)=>{let offset=typeof pos=="number"?pos:Array.isArray(pos)?pos[0]:pos.offset;if(onError)onError(offset,code,message);else throw new errors.YAMLParseError([offset,offset+1],code,message)};switch(token.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return resolveFlowScalar.resolveFlowScalar(token,strict,_onError);case"block-scalar":return resolveBlockScalar.resolveBlockScalar({options:{strict}},token,_onError)}}return null}function createScalarToken(value,context){let{implicitKey=!1,indent,inFlow=!1,offset=-1,type="PLAIN"}=context,source=stringifyString.stringifyString({type,value},{implicitKey,indent:indent>0?" ".repeat(indent):"",inFlow,options:{blockQuote:!0,lineWidth:-1}}),end=context.end??[{type:"newline",offset:-1,indent,source:`
|
|
117
|
+
`}];switch(source[0]){case"|":case">":{let he=source.indexOf(`
|
|
118
|
+
`),head=source.substring(0,he),body=source.substring(he+1)+`
|
|
119
|
+
`,props=[{type:"block-scalar-header",offset,indent,source:head}];return addEndtoBlockProps(props,end)||props.push({type:"newline",offset:-1,indent,source:`
|
|
120
|
+
`}),{type:"block-scalar",offset,indent,props,source:body}}case'"':return{type:"double-quoted-scalar",offset,indent,source,end};case"'":return{type:"single-quoted-scalar",offset,indent,source,end};default:return{type:"scalar",offset,indent,source,end}}}function setScalarValue(token,value,context={}){let{afterKey=!1,implicitKey=!1,inFlow=!1,type}=context,indent="indent"in token?token.indent:null;if(afterKey&&typeof indent=="number"&&(indent+=2),!type)switch(token.type){case"single-quoted-scalar":type="QUOTE_SINGLE";break;case"double-quoted-scalar":type="QUOTE_DOUBLE";break;case"block-scalar":{let header=token.props[0];if(header.type!=="block-scalar-header")throw new Error("Invalid block scalar header");type=header.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:type="PLAIN"}let source=stringifyString.stringifyString({type,value},{implicitKey:implicitKey||indent===null,indent:indent!==null&&indent>0?" ".repeat(indent):"",inFlow,options:{blockQuote:!0,lineWidth:-1}});switch(source[0]){case"|":case">":setBlockScalarValue(token,source);break;case'"':setFlowScalarValue(token,source,"double-quoted-scalar");break;case"'":setFlowScalarValue(token,source,"single-quoted-scalar");break;default:setFlowScalarValue(token,source,"scalar")}}function setBlockScalarValue(token,source){let he=source.indexOf(`
|
|
121
|
+
`),head=source.substring(0,he),body=source.substring(he+1)+`
|
|
122
|
+
`;if(token.type==="block-scalar"){let header=token.props[0];if(header.type!=="block-scalar-header")throw new Error("Invalid block scalar header");header.source=head,token.source=body}else{let{offset}=token,indent="indent"in token?token.indent:-1,props=[{type:"block-scalar-header",offset,indent,source:head}];addEndtoBlockProps(props,"end"in token?token.end:void 0)||props.push({type:"newline",offset:-1,indent,source:`
|
|
123
|
+
`});for(let key of Object.keys(token))key!=="type"&&key!=="offset"&&delete token[key];Object.assign(token,{type:"block-scalar",indent,props,source:body})}}function addEndtoBlockProps(props,end){if(end)for(let st of end)switch(st.type){case"space":case"comment":props.push(st);break;case"newline":return props.push(st),!0}return!1}function setFlowScalarValue(token,source,type){switch(token.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":token.type=type,token.source=source;break;case"block-scalar":{let end=token.props.slice(1),oa=source.length;token.props[0].type==="block-scalar-header"&&(oa-=token.props[0].source.length);for(let tok of end)tok.offset+=oa;delete token.props,Object.assign(token,{type,source,end});break}case"block-map":case"block-seq":{let nl={type:"newline",offset:token.offset+source.length,indent:token.indent,source:`
|
|
124
|
+
`};delete token.items,Object.assign(token,{type,source,end:[nl]});break}default:{let indent="indent"in token?token.indent:-1,end="end"in token&&Array.isArray(token.end)?token.end.filter(st=>st.type==="space"||st.type==="comment"||st.type==="newline"):[];for(let key of Object.keys(token))key!=="type"&&key!=="offset"&&delete token[key];Object.assign(token,{type,indent,source,end})}}}exports.createScalarToken=createScalarToken;exports.resolveAsScalar=resolveAsScalar;exports.setScalarValue=setScalarValue}});var require_cst_stringify=__commonJS({"../node_modules/yaml/dist/parse/cst-stringify.js"(exports){"use strict";var stringify=cst=>"type"in cst?stringifyToken(cst):stringifyItem(cst);function stringifyToken(token){switch(token.type){case"block-scalar":{let res="";for(let tok of token.props)res+=stringifyToken(tok);return res+token.source}case"block-map":case"block-seq":{let res="";for(let item of token.items)res+=stringifyItem(item);return res}case"flow-collection":{let res=token.start.source;for(let item of token.items)res+=stringifyItem(item);for(let st of token.end)res+=st.source;return res}case"document":{let res=stringifyItem(token);if(token.end)for(let st of token.end)res+=st.source;return res}default:{let res=token.source;if("end"in token&&token.end)for(let st of token.end)res+=st.source;return res}}}function stringifyItem({start,key,sep,value}){let res="";for(let st of start)res+=st.source;if(key&&(res+=stringifyToken(key)),sep)for(let st of sep)res+=st.source;return value&&(res+=stringifyToken(value)),res}exports.stringify=stringify}});var require_cst_visit=__commonJS({"../node_modules/yaml/dist/parse/cst-visit.js"(exports){"use strict";var BREAK=Symbol("break visit"),SKIP=Symbol("skip children"),REMOVE=Symbol("remove item");function visit(cst,visitor){"type"in cst&&cst.type==="document"&&(cst={start:cst.start,value:cst.value}),_visit(Object.freeze([]),cst,visitor)}visit.BREAK=BREAK;visit.SKIP=SKIP;visit.REMOVE=REMOVE;visit.itemAtPath=(cst,path)=>{let item=cst;for(let[field,index]of path){let tok=item?.[field];if(tok&&"items"in tok)item=tok.items[index];else return}return item};visit.parentCollection=(cst,path)=>{let parent=visit.itemAtPath(cst,path.slice(0,-1)),field=path[path.length-1][0],coll=parent?.[field];if(coll&&"items"in coll)return coll;throw new Error("Parent collection not found")};function _visit(path,item,visitor){let ctrl=visitor(item,path);if(typeof ctrl=="symbol")return ctrl;for(let field of["key","value"]){let token=item[field];if(token&&"items"in token){for(let i=0;i<token.items.length;++i){let ci=_visit(Object.freeze(path.concat([[field,i]])),token.items[i],visitor);if(typeof ci=="number")i=ci-1;else{if(ci===BREAK)return BREAK;ci===REMOVE&&(token.items.splice(i,1),i-=1)}}typeof ctrl=="function"&&field==="key"&&(ctrl=ctrl(item,path))}}return typeof ctrl=="function"?ctrl(item,path):ctrl}exports.visit=visit}});var require_cst=__commonJS({"../node_modules/yaml/dist/parse/cst.js"(exports){"use strict";var cstScalar=require_cst_scalar(),cstStringify=require_cst_stringify(),cstVisit=require_cst_visit(),BOM="\uFEFF",DOCUMENT="",FLOW_END="",SCALAR="",isCollection=token=>!!token&&"items"in token,isScalar=token=>!!token&&(token.type==="scalar"||token.type==="single-quoted-scalar"||token.type==="double-quoted-scalar"||token.type==="block-scalar");function prettyToken(token){switch(token){case BOM:return"<BOM>";case DOCUMENT:return"<DOC>";case FLOW_END:return"<FLOW_END>";case SCALAR:return"<SCALAR>";default:return JSON.stringify(token)}}function tokenType(source){switch(source){case BOM:return"byte-order-mark";case DOCUMENT:return"doc-mode";case FLOW_END:return"flow-error-end";case SCALAR:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
125
|
+
`:case`\r
|
|
126
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(source[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}exports.createScalarToken=cstScalar.createScalarToken;exports.resolveAsScalar=cstScalar.resolveAsScalar;exports.setScalarValue=cstScalar.setScalarValue;exports.stringify=cstStringify.stringify;exports.visit=cstVisit.visit;exports.BOM=BOM;exports.DOCUMENT=DOCUMENT;exports.FLOW_END=FLOW_END;exports.SCALAR=SCALAR;exports.isCollection=isCollection;exports.isScalar=isScalar;exports.prettyToken=prettyToken;exports.tokenType=tokenType}});var require_lexer=__commonJS({"../node_modules/yaml/dist/parse/lexer.js"(exports){"use strict";var cst=require_cst();function isEmpty(ch){switch(ch){case void 0:case" ":case`
|
|
127
|
+
`:case"\r":case" ":return!0;default:return!1}}var hexDigits=new Set("0123456789ABCDEFabcdef"),tagChars=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),flowIndicatorChars=new Set(",[]{}"),invalidAnchorChars=new Set(` ,[]{}
|
|
128
|
+
\r `),isNotAnchorChar=ch=>!ch||invalidAnchorChars.has(ch),Lexer=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(source,incomplete=!1){if(source){if(typeof source!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+source:source,this.lineEndPos=null}this.atEnd=!incomplete;let next=this.next??"stream";for(;next&&(incomplete||this.hasChars(1));)next=yield*this.parseNext(next)}atLineEnd(){let i=this.pos,ch=this.buffer[i];for(;ch===" "||ch===" ";)ch=this.buffer[++i];return!ch||ch==="#"||ch===`
|
|
129
|
+
`?!0:ch==="\r"?this.buffer[i+1]===`
|
|
130
|
+
`:!1}charAt(n){return this.buffer[this.pos+n]}continueScalar(offset){let ch=this.buffer[offset];if(this.indentNext>0){let indent=0;for(;ch===" ";)ch=this.buffer[++indent+offset];if(ch==="\r"){let next=this.buffer[indent+offset+1];if(next===`
|
|
131
|
+
`||!next&&!this.atEnd)return offset+indent+1}return ch===`
|
|
132
|
+
`||indent>=this.indentNext||!ch&&!this.atEnd?offset+indent:-1}if(ch==="-"||ch==="."){let dt=this.buffer.substr(offset,3);if((dt==="---"||dt==="...")&&isEmpty(this.buffer[offset+3]))return-1}return offset}getLine(){let end=this.lineEndPos;return(typeof end!="number"||end!==-1&&end<this.pos)&&(end=this.buffer.indexOf(`
|
|
133
|
+
`,this.pos),this.lineEndPos=end),end===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[end-1]==="\r"&&(end-=1),this.buffer.substring(this.pos,end))}hasChars(n){return this.pos+n<=this.buffer.length}setNext(state){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=state,null}peek(n){return this.buffer.substr(this.pos,n)}*parseNext(next){switch(next){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let line=this.getLine();if(line===null)return this.setNext("stream");if(line[0]===cst.BOM&&(yield*this.pushCount(1),line=line.substring(1)),line[0]==="%"){let dirEnd=line.length,cs=line.indexOf("#");for(;cs!==-1;){let ch=line[cs-1];if(ch===" "||ch===" "){dirEnd=cs-1;break}else cs=line.indexOf("#",cs+1)}for(;;){let ch=line[dirEnd-1];if(ch===" "||ch===" ")dirEnd-=1;else break}let n=(yield*this.pushCount(dirEnd))+(yield*this.pushSpaces(!0));return yield*this.pushCount(line.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let sp=yield*this.pushSpaces(!0);return yield*this.pushCount(line.length-sp),yield*this.pushNewline(),"stream"}return yield cst.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let ch=this.charAt(0);if(!ch&&!this.atEnd)return this.setNext("line-start");if(ch==="-"||ch==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let s=this.peek(3);if((s==="---"||s==="...")&&isEmpty(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,s==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!isEmpty(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[ch0,ch1]=this.peek(2);if(!ch1&&!this.atEnd)return this.setNext("block-start");if((ch0==="-"||ch0==="?"||ch0===":")&&isEmpty(ch1)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let line=this.getLine();if(line===null)return this.setNext("doc");let n=yield*this.pushIndicators();switch(line[n]){case"#":yield*this.pushCount(line.length-n);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(isNotAnchorChar),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return n+=yield*this.parseBlockScalarHeader(),n+=yield*this.pushSpaces(!0),yield*this.pushCount(line.length-n),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let nl,sp,indent=-1;do nl=yield*this.pushNewline(),nl>0?(sp=yield*this.pushSpaces(!1),this.indentValue=indent=sp):sp=0,sp+=yield*this.pushSpaces(!0);while(nl+sp>0);let line=this.getLine();if(line===null)return this.setNext("flow");if((indent!==-1&&indent<this.indentNext&&line[0]!=="#"||indent===0&&(line.startsWith("---")||line.startsWith("..."))&&isEmpty(line[3]))&&!(indent===this.indentNext-1&&this.flowLevel===1&&(line[0]==="]"||line[0]==="}")))return this.flowLevel=0,yield cst.FLOW_END,yield*this.parseLineStart();let n=0;for(;line[n]===",";)n+=yield*this.pushCount(1),n+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(n+=yield*this.pushIndicators(),line[n]){case void 0:return"flow";case"#":return yield*this.pushCount(line.length-n),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(isNotAnchorChar),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let next=this.charAt(1);if(this.flowKey||isEmpty(next)||next===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let quote=this.charAt(0),end=this.buffer.indexOf(quote,this.pos+1);if(quote==="'")for(;end!==-1&&this.buffer[end+1]==="'";)end=this.buffer.indexOf("'",end+2);else for(;end!==-1;){let n=0;for(;this.buffer[end-1-n]==="\\";)n+=1;if(n%2===0)break;end=this.buffer.indexOf('"',end+1)}let qb=this.buffer.substring(0,end),nl=qb.indexOf(`
|
|
134
|
+
`,this.pos);if(nl!==-1){for(;nl!==-1;){let cs=this.continueScalar(nl+1);if(cs===-1)break;nl=qb.indexOf(`
|
|
135
|
+
`,cs)}nl!==-1&&(end=nl-(qb[nl-1]==="\r"?2:1))}if(end===-1){if(!this.atEnd)return this.setNext("quoted-scalar");end=this.buffer.length}return yield*this.pushToIndex(end+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let i=this.pos;for(;;){let ch=this.buffer[++i];if(ch==="+")this.blockScalarKeep=!0;else if(ch>"0"&&ch<="9")this.blockScalarIndent=Number(ch)-1;else if(ch!=="-")break}return yield*this.pushUntil(ch=>isEmpty(ch)||ch==="#")}*parseBlockScalar(){let nl=this.pos-1,indent=0,ch;loop:for(let i2=this.pos;ch=this.buffer[i2];++i2)switch(ch){case" ":indent+=1;break;case`
|
|
136
|
+
`:nl=i2,indent=0;break;case"\r":{let next=this.buffer[i2+1];if(!next&&!this.atEnd)return this.setNext("block-scalar");if(next===`
|
|
137
|
+
`)break}default:break loop}if(!ch&&!this.atEnd)return this.setNext("block-scalar");if(indent>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=indent:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let cs=this.continueScalar(nl+1);if(cs===-1)break;nl=this.buffer.indexOf(`
|
|
138
|
+
`,cs)}while(nl!==-1);if(nl===-1){if(!this.atEnd)return this.setNext("block-scalar");nl=this.buffer.length}}let i=nl+1;for(ch=this.buffer[i];ch===" ";)ch=this.buffer[++i];if(ch===" "){for(;ch===" "||ch===" "||ch==="\r"||ch===`
|
|
139
|
+
`;)ch=this.buffer[++i];nl=i-1}else if(!this.blockScalarKeep)do{let i2=nl-1,ch2=this.buffer[i2];ch2==="\r"&&(ch2=this.buffer[--i2]);let lastChar=i2;for(;ch2===" ";)ch2=this.buffer[--i2];if(ch2===`
|
|
140
|
+
`&&i2>=this.pos&&i2+1+indent>lastChar)nl=i2;else break}while(!0);return yield cst.SCALAR,yield*this.pushToIndex(nl+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let inFlow=this.flowLevel>0,end=this.pos-1,i=this.pos-1,ch;for(;ch=this.buffer[++i];)if(ch===":"){let next=this.buffer[i+1];if(isEmpty(next)||inFlow&&flowIndicatorChars.has(next))break;end=i}else if(isEmpty(ch)){let next=this.buffer[i+1];if(ch==="\r"&&(next===`
|
|
141
|
+
`?(i+=1,ch=`
|
|
142
|
+
`,next=this.buffer[i+1]):end=i),next==="#"||inFlow&&flowIndicatorChars.has(next))break;if(ch===`
|
|
143
|
+
`){let cs=this.continueScalar(i+1);if(cs===-1)break;i=Math.max(i,cs-2)}}else{if(inFlow&&flowIndicatorChars.has(ch))break;end=i}return!ch&&!this.atEnd?this.setNext("plain-scalar"):(yield cst.SCALAR,yield*this.pushToIndex(end+1,!0),inFlow?"flow":"doc")}*pushCount(n){return n>0?(yield this.buffer.substr(this.pos,n),this.pos+=n,n):0}*pushToIndex(i,allowEmpty){let s=this.buffer.slice(this.pos,i);return s?(yield s,this.pos+=s.length,s.length):(allowEmpty&&(yield""),0)}*pushIndicators(){let n=0;loop:for(;;){switch(this.charAt(0)){case"!":n+=yield*this.pushTag(),n+=yield*this.pushSpaces(!0);continue loop;case"&":n+=yield*this.pushUntil(isNotAnchorChar),n+=yield*this.pushSpaces(!0);continue loop;case"-":case"?":case":":{let inFlow=this.flowLevel>0,ch1=this.charAt(1);if(isEmpty(ch1)||inFlow&&flowIndicatorChars.has(ch1)){inFlow?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,n+=yield*this.pushCount(1),n+=yield*this.pushSpaces(!0);continue loop}}}break loop}return n}*pushTag(){if(this.charAt(1)==="<"){let i=this.pos+2,ch=this.buffer[i];for(;!isEmpty(ch)&&ch!==">";)ch=this.buffer[++i];return yield*this.pushToIndex(ch===">"?i+1:i,!1)}else{let i=this.pos+1,ch=this.buffer[i];for(;ch;)if(tagChars.has(ch))ch=this.buffer[++i];else if(ch==="%"&&hexDigits.has(this.buffer[i+1])&&hexDigits.has(this.buffer[i+2]))ch=this.buffer[i+=3];else break;return yield*this.pushToIndex(i,!1)}}*pushNewline(){let ch=this.buffer[this.pos];return ch===`
|
|
144
|
+
`?yield*this.pushCount(1):ch==="\r"&&this.charAt(1)===`
|
|
145
|
+
`?yield*this.pushCount(2):0}*pushSpaces(allowTabs){let i=this.pos-1,ch;do ch=this.buffer[++i];while(ch===" "||allowTabs&&ch===" ");let n=i-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=i),n}*pushUntil(test){let i=this.pos,ch=this.buffer[i];for(;!test(ch);)ch=this.buffer[++i];return yield*this.pushToIndex(i,!1)}};exports.Lexer=Lexer}});var require_line_counter=__commonJS({"../node_modules/yaml/dist/parse/line-counter.js"(exports){"use strict";var LineCounter=class{constructor(){this.lineStarts=[],this.addNewLine=offset=>this.lineStarts.push(offset),this.linePos=offset=>{let low=0,high=this.lineStarts.length;for(;low<high;){let mid=low+high>>1;this.lineStarts[mid]<offset?low=mid+1:high=mid}if(this.lineStarts[low]===offset)return{line:low+1,col:1};if(low===0)return{line:0,col:offset};let start=this.lineStarts[low-1];return{line:low,col:offset-start+1}}}};exports.LineCounter=LineCounter}});var require_parser=__commonJS({"../node_modules/yaml/dist/parse/parser.js"(exports){"use strict";var node_process=__require("process"),cst=require_cst(),lexer=require_lexer();function includesToken(list,type){for(let i=0;i<list.length;++i)if(list[i].type===type)return!0;return!1}function findNonEmptyIndex(list){for(let i=0;i<list.length;++i)switch(list[i].type){case"space":case"comment":case"newline":break;default:return i}return-1}function isFlowToken(token){switch(token?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function getPrevProps(parent){switch(parent.type){case"document":return parent.start;case"block-map":{let it=parent.items[parent.items.length-1];return it.sep??it.start}case"block-seq":return parent.items[parent.items.length-1].start;default:return[]}}function getFirstKeyStartProps(prev){if(prev.length===0)return[];let i=prev.length;loop:for(;--i>=0;)switch(prev[i].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break loop}for(;prev[++i]?.type==="space";);return prev.splice(i,prev.length)}function arrayPushArray(target,source){if(source.length<1e5)Array.prototype.push.apply(target,source);else for(let i=0;i<source.length;++i)target.push(source[i])}function fixFlowSeqItems(fc){if(fc.start.type==="flow-seq-start")for(let it of fc.items)it.sep&&!it.value&&!includesToken(it.start,"explicit-key-ind")&&!includesToken(it.sep,"map-value-ind")&&(it.key&&(it.value=it.key),delete it.key,isFlowToken(it.value)?it.value.end?arrayPushArray(it.value.end,it.sep):it.value.end=it.sep:arrayPushArray(it.start,it.sep),delete it.sep)}var Parser=class{constructor(onNewLine){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new lexer.Lexer,this.onNewLine=onNewLine}*parse(source,incomplete=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let lexeme of this.lexer.lex(source,incomplete))yield*this.next(lexeme);incomplete||(yield*this.end())}*next(source){if(this.source=source,node_process.env.LOG_TOKENS&&console.log("|",cst.prettyToken(source)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=source.length;return}let type=cst.tokenType(source);if(type)if(type==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=type,yield*this.step(),type){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+source.length);break;case"space":this.atNewLine&&source[0]===" "&&(this.indent+=source.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=source.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=source.length}else{let message=`Not a YAML token: ${source}`;yield*this.pop({type:"error",offset:this.offset,message,source}),this.offset+=source.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let top=this.peek(1);if(this.type==="doc-end"&&top?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!top)return yield*this.stream();switch(top.type){case"document":return yield*this.document(top);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(top);case"block-scalar":return yield*this.blockScalar(top);case"block-map":return yield*this.blockMap(top);case"block-seq":return yield*this.blockSequence(top);case"flow-collection":return yield*this.flowCollection(top);case"doc-end":return yield*this.documentEnd(top)}yield*this.pop()}peek(n){return this.stack[this.stack.length-n]}*pop(error3){let token=error3??this.stack.pop();if(!token)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield token;else{let top=this.peek(1);switch(token.type==="block-scalar"?token.indent="indent"in top?top.indent:0:token.type==="flow-collection"&&top.type==="document"&&(token.indent=0),token.type==="flow-collection"&&fixFlowSeqItems(token),top.type){case"document":top.value=token;break;case"block-scalar":top.props.push(token);break;case"block-map":{let it=top.items[top.items.length-1];if(it.value){top.items.push({start:[],key:token,sep:[]}),this.onKeyLine=!0;return}else if(it.sep)it.value=token;else{Object.assign(it,{key:token,sep:[]}),this.onKeyLine=!it.explicitKey;return}break}case"block-seq":{let it=top.items[top.items.length-1];it.value?top.items.push({start:[],value:token}):it.value=token;break}case"flow-collection":{let it=top.items[top.items.length-1];!it||it.value?top.items.push({start:[],key:token,sep:[]}):it.sep?it.value=token:Object.assign(it,{key:token,sep:[]});return}default:yield*this.pop(),yield*this.pop(token)}if((top.type==="document"||top.type==="block-map"||top.type==="block-seq")&&(token.type==="block-map"||token.type==="block-seq")){let last=token.items[token.items.length-1];last&&!last.sep&&!last.value&&last.start.length>0&&findNonEmptyIndex(last.start)===-1&&(token.indent===0||last.start.every(st=>st.type!=="comment"||st.indent<token.indent))&&(top.type==="document"?top.end=last.start:top.items.push({start:last.start}),token.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let doc={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&doc.start.push(this.sourceToken),this.stack.push(doc);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(doc){if(doc.value)return yield*this.lineEnd(doc);switch(this.type){case"doc-start":{findNonEmptyIndex(doc.start)!==-1?(yield*this.pop(),yield*this.step()):doc.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":doc.start.push(this.sourceToken);return}let bv=this.startBlockValue(doc);bv?this.stack.push(bv):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(scalar){if(this.type==="map-value-ind"){let prev=getPrevProps(this.peek(2)),start=getFirstKeyStartProps(prev),sep;scalar.end?(sep=scalar.end,sep.push(this.sourceToken),delete scalar.end):sep=[this.sourceToken];let map={type:"block-map",offset:scalar.offset,indent:scalar.indent,items:[{start,key:scalar,sep}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=map}else yield*this.lineEnd(scalar)}*blockScalar(scalar){switch(this.type){case"space":case"comment":case"newline":scalar.props.push(this.sourceToken);return;case"scalar":if(scalar.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let nl=this.source.indexOf(`
|
|
146
|
+
`)+1;for(;nl!==0;)this.onNewLine(this.offset+nl),nl=this.source.indexOf(`
|
|
147
|
+
`,nl)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(map){let it=map.items[map.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,it.value){let end="end"in it.value?it.value.end:void 0;(Array.isArray(end)?end[end.length-1]:void 0)?.type==="comment"?end?.push(this.sourceToken):map.items.push({start:[this.sourceToken]})}else it.sep?it.sep.push(this.sourceToken):it.start.push(this.sourceToken);return;case"space":case"comment":if(it.value)map.items.push({start:[this.sourceToken]});else if(it.sep)it.sep.push(this.sourceToken);else{if(this.atIndentedComment(it.start,map.indent)){let end=map.items[map.items.length-2]?.value?.end;if(Array.isArray(end)){arrayPushArray(end,it.start),end.push(this.sourceToken),map.items.pop();return}}it.start.push(this.sourceToken)}return}if(this.indent>=map.indent){let atMapIndent=!this.onKeyLine&&this.indent===map.indent,atNextItem=atMapIndent&&(it.sep||it.explicitKey)&&this.type!=="seq-item-ind",start=[];if(atNextItem&&it.sep&&!it.value){let nl=[];for(let i=0;i<it.sep.length;++i){let st=it.sep[i];switch(st.type){case"newline":nl.push(i);break;case"space":break;case"comment":st.indent>map.indent&&(nl.length=0);break;default:nl.length=0}}nl.length>=2&&(start=it.sep.splice(nl[1]))}switch(this.type){case"anchor":case"tag":atNextItem||it.value?(start.push(this.sourceToken),map.items.push({start}),this.onKeyLine=!0):it.sep?it.sep.push(this.sourceToken):it.start.push(this.sourceToken);return;case"explicit-key-ind":!it.sep&&!it.explicitKey?(it.start.push(this.sourceToken),it.explicitKey=!0):atNextItem||it.value?(start.push(this.sourceToken),map.items.push({start,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(it.explicitKey)if(it.sep)if(it.value)map.items.push({start:[],key:null,sep:[this.sourceToken]});else if(includesToken(it.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start,key:null,sep:[this.sourceToken]}]});else if(isFlowToken(it.key)&&!includesToken(it.sep,"newline")){let start2=getFirstKeyStartProps(it.start),key=it.key,sep=it.sep;sep.push(this.sourceToken),delete it.key,delete it.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:start2,key,sep}]})}else start.length>0?it.sep=it.sep.concat(start,this.sourceToken):it.sep.push(this.sourceToken);else if(includesToken(it.start,"newline"))Object.assign(it,{key:null,sep:[this.sourceToken]});else{let start2=getFirstKeyStartProps(it.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:start2,key:null,sep:[this.sourceToken]}]})}else it.sep?it.value||atNextItem?map.items.push({start,key:null,sep:[this.sourceToken]}):includesToken(it.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):it.sep.push(this.sourceToken):Object.assign(it,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let fs=this.flowScalar(this.type);atNextItem||it.value?(map.items.push({start,key:fs,sep:[]}),this.onKeyLine=!0):it.sep?this.stack.push(fs):(Object.assign(it,{key:fs,sep:[]}),this.onKeyLine=!0);return}default:{let bv=this.startBlockValue(map);if(bv){if(bv.type==="block-seq"){if(!it.explicitKey&&it.sep&&!includesToken(it.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else atMapIndent&&map.items.push({start});this.stack.push(bv);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(seq){let it=seq.items[seq.items.length-1];switch(this.type){case"newline":if(it.value){let end="end"in it.value?it.value.end:void 0;(Array.isArray(end)?end[end.length-1]:void 0)?.type==="comment"?end?.push(this.sourceToken):seq.items.push({start:[this.sourceToken]})}else it.start.push(this.sourceToken);return;case"space":case"comment":if(it.value)seq.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(it.start,seq.indent)){let end=seq.items[seq.items.length-2]?.value?.end;if(Array.isArray(end)){arrayPushArray(end,it.start),end.push(this.sourceToken),seq.items.pop();return}}it.start.push(this.sourceToken)}return;case"anchor":case"tag":if(it.value||this.indent<=seq.indent)break;it.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==seq.indent)break;it.value||includesToken(it.start,"seq-item-ind")?seq.items.push({start:[this.sourceToken]}):it.start.push(this.sourceToken);return}if(this.indent>seq.indent){let bv=this.startBlockValue(seq);if(bv){this.stack.push(bv);return}}yield*this.pop(),yield*this.step()}*flowCollection(fc){let it=fc.items[fc.items.length-1];if(this.type==="flow-error-end"){let top;do yield*this.pop(),top=this.peek(1);while(top?.type==="flow-collection")}else if(fc.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!it||it.sep?fc.items.push({start:[this.sourceToken]}):it.start.push(this.sourceToken);return;case"map-value-ind":!it||it.value?fc.items.push({start:[],key:null,sep:[this.sourceToken]}):it.sep?it.sep.push(this.sourceToken):Object.assign(it,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!it||it.value?fc.items.push({start:[this.sourceToken]}):it.sep?it.sep.push(this.sourceToken):it.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let fs=this.flowScalar(this.type);!it||it.value?fc.items.push({start:[],key:fs,sep:[]}):it.sep?this.stack.push(fs):Object.assign(it,{key:fs,sep:[]});return}case"flow-map-end":case"flow-seq-end":fc.end.push(this.sourceToken);return}let bv=this.startBlockValue(fc);bv?this.stack.push(bv):(yield*this.pop(),yield*this.step())}else{let parent=this.peek(2);if(parent.type==="block-map"&&(this.type==="map-value-ind"&&parent.indent===fc.indent||this.type==="newline"&&!parent.items[parent.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&parent.type!=="flow-collection"){let prev=getPrevProps(parent),start=getFirstKeyStartProps(prev);fixFlowSeqItems(fc);let sep=fc.end.splice(1,fc.end.length);sep.push(this.sourceToken);let map={type:"block-map",offset:fc.offset,indent:fc.indent,items:[{start,key:fc,sep}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=map}else yield*this.lineEnd(fc)}}flowScalar(type){if(this.onNewLine){let nl=this.source.indexOf(`
|
|
148
|
+
`)+1;for(;nl!==0;)this.onNewLine(this.offset+nl),nl=this.source.indexOf(`
|
|
149
|
+
`,nl)+1}return{type,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(parent){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let prev=getPrevProps(parent),start=getFirstKeyStartProps(prev);return start.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let prev=getPrevProps(parent),start=getFirstKeyStartProps(prev);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(start,indent){return this.type!=="comment"||this.indent<=indent?!1:start.every(st=>st.type==="newline"||st.type==="space")}*documentEnd(docEnd){this.type!=="doc-mode"&&(docEnd.end?docEnd.end.push(this.sourceToken):docEnd.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(token){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:token.end?token.end.push(this.sourceToken):token.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};exports.Parser=Parser}});var require_public_api=__commonJS({"../node_modules/yaml/dist/public-api.js"(exports){"use strict";var composer=require_composer(),Document=require_Document(),errors=require_errors2(),log2=require_log(),identity=require_identity(),lineCounter=require_line_counter(),parser=require_parser();function parseOptions(options){let prettyErrors=options.prettyErrors!==!1;return{lineCounter:options.lineCounter||prettyErrors&&new lineCounter.LineCounter||null,prettyErrors}}function parseAllDocuments(source,options={}){let{lineCounter:lineCounter2,prettyErrors}=parseOptions(options),parser$1=new parser.Parser(lineCounter2?.addNewLine),composer$1=new composer.Composer(options),docs=Array.from(composer$1.compose(parser$1.parse(source)));if(prettyErrors&&lineCounter2)for(let doc of docs)doc.errors.forEach(errors.prettifyError(source,lineCounter2)),doc.warnings.forEach(errors.prettifyError(source,lineCounter2));return docs.length>0?docs:Object.assign([],{empty:!0},composer$1.streamInfo())}function parseDocument(source,options={}){let{lineCounter:lineCounter2,prettyErrors}=parseOptions(options),parser$1=new parser.Parser(lineCounter2?.addNewLine),composer$1=new composer.Composer(options),doc=null;for(let _doc of composer$1.compose(parser$1.parse(source),!0,source.length))if(!doc)doc=_doc;else if(doc.options.logLevel!=="silent"){doc.errors.push(new errors.YAMLParseError(_doc.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return prettyErrors&&lineCounter2&&(doc.errors.forEach(errors.prettifyError(source,lineCounter2)),doc.warnings.forEach(errors.prettifyError(source,lineCounter2))),doc}function parse3(src,reviver,options){let _reviver;typeof reviver=="function"?_reviver=reviver:options===void 0&&reviver&&typeof reviver=="object"&&(options=reviver);let doc=parseDocument(src,options);if(!doc)return null;if(doc.warnings.forEach(warning=>log2.warn(doc.options.logLevel,warning)),doc.errors.length>0){if(doc.options.logLevel!=="silent")throw doc.errors[0];doc.errors=[]}return doc.toJS(Object.assign({reviver:_reviver},options))}function stringify(value,replacer,options){let _replacer=null;if(typeof replacer=="function"||Array.isArray(replacer)?_replacer=replacer:options===void 0&&replacer&&(options=replacer),typeof options=="string"&&(options=options.length),typeof options=="number"){let indent=Math.round(options);options=indent<1?void 0:indent>8?{indent:8}:{indent}}if(value===void 0){let{keepUndefined}=options??replacer??{};if(!keepUndefined)return}return identity.isDocument(value)&&!_replacer?value.toString(options):new Document.Document(value,_replacer,options).toString(options)}exports.parse=parse3;exports.parseAllDocuments=parseAllDocuments;exports.parseDocument=parseDocument;exports.stringify=stringify}});var require_dist2=__commonJS({"../node_modules/yaml/dist/index.js"(exports){"use strict";var composer=require_composer(),Document=require_Document(),Schema=require_Schema(),errors=require_errors2(),Alias=require_Alias(),identity=require_identity(),Pair=require_Pair(),Scalar=require_Scalar(),YAMLMap=require_YAMLMap(),YAMLSeq=require_YAMLSeq(),cst=require_cst(),lexer=require_lexer(),lineCounter=require_line_counter(),parser=require_parser(),publicApi=require_public_api(),visit=require_visit();exports.Composer=composer.Composer;exports.Document=Document.Document;exports.Schema=Schema.Schema;exports.YAMLError=errors.YAMLError;exports.YAMLParseError=errors.YAMLParseError;exports.YAMLWarning=errors.YAMLWarning;exports.Alias=Alias.Alias;exports.isAlias=identity.isAlias;exports.isCollection=identity.isCollection;exports.isDocument=identity.isDocument;exports.isMap=identity.isMap;exports.isNode=identity.isNode;exports.isPair=identity.isPair;exports.isScalar=identity.isScalar;exports.isSeq=identity.isSeq;exports.Pair=Pair.Pair;exports.Scalar=Scalar.Scalar;exports.YAMLMap=YAMLMap.YAMLMap;exports.YAMLSeq=YAMLSeq.YAMLSeq;exports.CST=cst;exports.Lexer=lexer.Lexer;exports.LineCounter=lineCounter.LineCounter;exports.Parser=parser.Parser;exports.parse=publicApi.parse;exports.parseAllDocuments=publicApi.parseAllDocuments;exports.parseDocument=publicApi.parseDocument;exports.stringify=publicApi.stringify;exports.visit=visit.visit;exports.visitAsync=visit.visitAsync}});var LEVEL_ORDER={debug:0,info:1,warn:2,error:3},minLevel="info",format="text";function configureLogger(opts){minLevel=opts.level in LEVEL_ORDER?opts.level:"info",format=opts.format==="json"?"json":"text"}function emit(level,msg,fields){if(LEVEL_ORDER[level]<LEVEL_ORDER[minLevel])return;if(format==="json"){process.stderr.write(JSON.stringify({level,msg,...fields})+`
|
|
150
|
+
`);return}let suffix=fields?" "+Object.entries(fields).map(([k,v])=>`${k}=${typeof v=="string"?v:JSON.stringify(v)}`).join(" "):"";process.stderr.write(`${level.toUpperCase()} ${msg}${suffix}
|
|
151
|
+
`)}var log={debug:(msg,fields)=>emit("debug",msg,fields),info:(msg,fields)=>emit("info",msg,fields),warn:(msg,fields)=>emit("warn",msg,fields),error:(msg,fields)=>emit("error",msg,fields)};var VALID_TRANSPORTS=["stdio","http","both"],VALID_LOG_FORMATS=["text","json"],VALID_LOG_LEVELS=["debug","info","warn","error"];function loadConfigFromEnv(env=process.env){return{stigmerServerAddress:envOr(env,"STIGMER_SERVER_ADDRESS","localhost:7234"),apiKey:env.STIGMER_API_KEY??"",transport:envOr(env,"STIGMER_MCP_TRANSPORT","stdio").toLowerCase(),httpPort:envOr(env,"STIGMER_MCP_HTTP_PORT","8080"),httpAuthEnabled:envOr(env,"STIGMER_MCP_HTTP_AUTH_ENABLED","true")==="true",oauth:{enabled:env.STIGMER_MCP_OAUTH_ENABLED==="true",resource:(env.STIGMER_MCP_OAUTH_RESOURCE??"").trim(),authorizationServers:splitList(env.STIGMER_MCP_OAUTH_AUTHORIZATION_SERVERS),scopesSupported:splitList(env.STIGMER_MCP_OAUTH_SCOPES_SUPPORTED)},logFormat:envOr(env,"STIGMER_MCP_LOG_FORMAT","text").toLowerCase(),logLevel:envOr(env,"STIGMER_MCP_LOG_LEVEL","info").toLowerCase()}}function validateConfig(cfg){if(!VALID_TRANSPORTS.includes(cfg.transport))throw new Error(`invalid STIGMER_MCP_TRANSPORT "${cfg.transport}": must be stdio, http, or both`);if(cfg.stigmerServerAddress==="")throw new Error("STIGMER_SERVER_ADDRESS must not be empty");if(cfg.stigmerServerAddress.includes("://")?log.warn("STIGMER_SERVER_ADDRESS contains a URL scheme; gRPC targets are host:port \u2014 the scheme is informational and TLS is derived from the port",{value:cfg.stigmerServerAddress}):hasExplicitPort(cfg.stigmerServerAddress)||log.warn("STIGMER_SERVER_ADDRESS has no explicit port; :443 with TLS is assumed for non-loopback addresses",{value:cfg.stigmerServerAddress}),!VALID_LOG_FORMATS.includes(cfg.logFormat))throw new Error(`invalid STIGMER_MCP_LOG_FORMAT "${cfg.logFormat}": must be text or json`);if(!VALID_LOG_LEVELS.includes(cfg.logLevel))throw new Error(`invalid STIGMER_MCP_LOG_LEVEL "${cfg.logLevel}": must be debug, info, warn, or error`);if(cfg.oauth.enabled){if(cfg.oauth.resource==="")throw new Error("STIGMER_MCP_OAUTH_RESOURCE must be set when STIGMER_MCP_OAUTH_ENABLED is true");if(cfg.oauth.authorizationServers.length===0)throw new Error("STIGMER_MCP_OAUTH_AUTHORIZATION_SERVERS must list at least one issuer when STIGMER_MCP_OAUTH_ENABLED is true")}}function envOr(env,key,fallback){let v=env[key];return v!==void 0&&v!==""?v:fallback}function splitList(raw){return!raw||raw.trim()===""?[]:raw.split(",").map(p=>p.trim()).filter(p=>p!=="")}function hasExplicitPort(authority){if(authority.startsWith("[")){let close=authority.indexOf("]");return close!==-1&&authority.slice(close+1).startsWith(":")}let lastColon=authority.lastIndexOf(":");return lastColon!==-1&&authority.indexOf(":")===lastColon}import{createServer as createHttpServer}from"node:http";import{randomBytes,randomUUID}from"node:crypto";var external_exports={};__export(external_exports,{BRAND:()=>BRAND,DIRTY:()=>DIRTY,EMPTY_PATH:()=>EMPTY_PATH,INVALID:()=>INVALID,NEVER:()=>NEVER,OK:()=>OK,ParseStatus:()=>ParseStatus,Schema:()=>ZodType,ZodAny:()=>ZodAny,ZodArray:()=>ZodArray,ZodBigInt:()=>ZodBigInt,ZodBoolean:()=>ZodBoolean,ZodBranded:()=>ZodBranded,ZodCatch:()=>ZodCatch,ZodDate:()=>ZodDate,ZodDefault:()=>ZodDefault,ZodDiscriminatedUnion:()=>ZodDiscriminatedUnion,ZodEffects:()=>ZodEffects,ZodEnum:()=>ZodEnum,ZodError:()=>ZodError,ZodFirstPartyTypeKind:()=>ZodFirstPartyTypeKind,ZodFunction:()=>ZodFunction,ZodIntersection:()=>ZodIntersection,ZodIssueCode:()=>ZodIssueCode,ZodLazy:()=>ZodLazy,ZodLiteral:()=>ZodLiteral,ZodMap:()=>ZodMap,ZodNaN:()=>ZodNaN,ZodNativeEnum:()=>ZodNativeEnum,ZodNever:()=>ZodNever,ZodNull:()=>ZodNull,ZodNullable:()=>ZodNullable,ZodNumber:()=>ZodNumber,ZodObject:()=>ZodObject,ZodOptional:()=>ZodOptional,ZodParsedType:()=>ZodParsedType,ZodPipeline:()=>ZodPipeline,ZodPromise:()=>ZodPromise,ZodReadonly:()=>ZodReadonly,ZodRecord:()=>ZodRecord,ZodSchema:()=>ZodType,ZodSet:()=>ZodSet,ZodString:()=>ZodString,ZodSymbol:()=>ZodSymbol,ZodTransformer:()=>ZodEffects,ZodTuple:()=>ZodTuple,ZodType:()=>ZodType,ZodUndefined:()=>ZodUndefined,ZodUnion:()=>ZodUnion,ZodUnknown:()=>ZodUnknown,ZodVoid:()=>ZodVoid,addIssueToContext:()=>addIssueToContext,any:()=>anyType,array:()=>arrayType,bigint:()=>bigIntType,boolean:()=>booleanType,coerce:()=>coerce,custom:()=>custom,date:()=>dateType,datetimeRegex:()=>datetimeRegex,defaultErrorMap:()=>en_default,discriminatedUnion:()=>discriminatedUnionType,effect:()=>effectsType,enum:()=>enumType,function:()=>functionType,getErrorMap:()=>getErrorMap,getParsedType:()=>getParsedType,instanceof:()=>instanceOfType,intersection:()=>intersectionType,isAborted:()=>isAborted,isAsync:()=>isAsync,isDirty:()=>isDirty,isValid:()=>isValid,late:()=>late,lazy:()=>lazyType,literal:()=>literalType,makeIssue:()=>makeIssue,map:()=>mapType,nan:()=>nanType,nativeEnum:()=>nativeEnumType,never:()=>neverType,null:()=>nullType,nullable:()=>nullableType,number:()=>numberType,object:()=>objectType,objectUtil:()=>objectUtil,oboolean:()=>oboolean,onumber:()=>onumber,optional:()=>optionalType,ostring:()=>ostring,pipeline:()=>pipelineType,preprocess:()=>preprocessType,promise:()=>promiseType,quotelessJson:()=>quotelessJson,record:()=>recordType,set:()=>setType,setErrorMap:()=>setErrorMap,strictObject:()=>strictObjectType,string:()=>stringType,symbol:()=>symbolType,transformer:()=>effectsType,tuple:()=>tupleType,undefined:()=>undefinedType,union:()=>unionType,unknown:()=>unknownType,util:()=>util,void:()=>voidType});var util;(function(util2){util2.assertEqual=_=>{};function assertIs2(_arg){}util2.assertIs=assertIs2;function assertNever2(_x){throw new Error}util2.assertNever=assertNever2,util2.arrayToEnum=items=>{let obj={};for(let item of items)obj[item]=item;return obj},util2.getValidEnumValues=obj=>{let validKeys=util2.objectKeys(obj).filter(k=>typeof obj[obj[k]]!="number"),filtered={};for(let k of validKeys)filtered[k]=obj[k];return util2.objectValues(filtered)},util2.objectValues=obj=>util2.objectKeys(obj).map(function(e){return obj[e]}),util2.objectKeys=typeof Object.keys=="function"?obj=>Object.keys(obj):object3=>{let keys=[];for(let key in object3)Object.prototype.hasOwnProperty.call(object3,key)&&keys.push(key);return keys},util2.find=(arr,checker)=>{for(let item of arr)if(checker(item))return item},util2.isInteger=typeof Number.isInteger=="function"?val=>Number.isInteger(val):val=>typeof val=="number"&&Number.isFinite(val)&&Math.floor(val)===val;function joinValues2(array2,separator=" | "){return array2.map(val=>typeof val=="string"?`'${val}'`:val).join(separator)}util2.joinValues=joinValues2,util2.jsonStringifyReplacer=(_,value)=>typeof value=="bigint"?value.toString():value})(util||(util={}));var objectUtil;(function(objectUtil2){objectUtil2.mergeShapes=(first,second)=>({...first,...second})})(objectUtil||(objectUtil={}));var ZodParsedType=util.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),getParsedType=data=>{switch(typeof data){case"undefined":return ZodParsedType.undefined;case"string":return ZodParsedType.string;case"number":return Number.isNaN(data)?ZodParsedType.nan:ZodParsedType.number;case"boolean":return ZodParsedType.boolean;case"function":return ZodParsedType.function;case"bigint":return ZodParsedType.bigint;case"symbol":return ZodParsedType.symbol;case"object":return Array.isArray(data)?ZodParsedType.array:data===null?ZodParsedType.null:data.then&&typeof data.then=="function"&&data.catch&&typeof data.catch=="function"?ZodParsedType.promise:typeof Map<"u"&&data instanceof Map?ZodParsedType.map:typeof Set<"u"&&data instanceof Set?ZodParsedType.set:typeof Date<"u"&&data instanceof Date?ZodParsedType.date:ZodParsedType.object;default:return ZodParsedType.unknown}};var ZodIssueCode=util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),quotelessJson=obj=>JSON.stringify(obj,null,2).replace(/"([^"]+)":/g,"$1:"),ZodError=class _ZodError extends Error{get errors(){return this.issues}constructor(issues){super(),this.issues=[],this.addIssue=sub=>{this.issues=[...this.issues,sub]},this.addIssues=(subs=[])=>{this.issues=[...this.issues,...subs]};let actualProto=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,actualProto):this.__proto__=actualProto,this.name="ZodError",this.issues=issues}format(_mapper){let mapper=_mapper||function(issue2){return issue2.message},fieldErrors={_errors:[]},processError=error3=>{for(let issue2 of error3.issues)if(issue2.code==="invalid_union")issue2.unionErrors.map(processError);else if(issue2.code==="invalid_return_type")processError(issue2.returnTypeError);else if(issue2.code==="invalid_arguments")processError(issue2.argumentsError);else if(issue2.path.length===0)fieldErrors._errors.push(mapper(issue2));else{let curr=fieldErrors,i=0;for(;i<issue2.path.length;){let el=issue2.path[i];i===issue2.path.length-1?(curr[el]=curr[el]||{_errors:[]},curr[el]._errors.push(mapper(issue2))):curr[el]=curr[el]||{_errors:[]},curr=curr[el],i++}}};return processError(this),fieldErrors}static assert(value){if(!(value instanceof _ZodError))throw new Error(`Not a ZodError: ${value}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,util.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(mapper=issue2=>issue2.message){let fieldErrors={},formErrors=[];for(let sub of this.issues)if(sub.path.length>0){let firstEl=sub.path[0];fieldErrors[firstEl]=fieldErrors[firstEl]||[],fieldErrors[firstEl].push(mapper(sub))}else formErrors.push(mapper(sub));return{formErrors,fieldErrors}}get formErrors(){return this.flatten()}};ZodError.create=issues=>new ZodError(issues);var errorMap=(issue2,_ctx)=>{let message;switch(issue2.code){case ZodIssueCode.invalid_type:issue2.received===ZodParsedType.undefined?message="Required":message=`Expected ${issue2.expected}, received ${issue2.received}`;break;case ZodIssueCode.invalid_literal:message=`Invalid literal value, expected ${JSON.stringify(issue2.expected,util.jsonStringifyReplacer)}`;break;case ZodIssueCode.unrecognized_keys:message=`Unrecognized key(s) in object: ${util.joinValues(issue2.keys,", ")}`;break;case ZodIssueCode.invalid_union:message="Invalid input";break;case ZodIssueCode.invalid_union_discriminator:message=`Invalid discriminator value. Expected ${util.joinValues(issue2.options)}`;break;case ZodIssueCode.invalid_enum_value:message=`Invalid enum value. Expected ${util.joinValues(issue2.options)}, received '${issue2.received}'`;break;case ZodIssueCode.invalid_arguments:message="Invalid function arguments";break;case ZodIssueCode.invalid_return_type:message="Invalid function return type";break;case ZodIssueCode.invalid_date:message="Invalid date";break;case ZodIssueCode.invalid_string:typeof issue2.validation=="object"?"includes"in issue2.validation?(message=`Invalid input: must include "${issue2.validation.includes}"`,typeof issue2.validation.position=="number"&&(message=`${message} at one or more positions greater than or equal to ${issue2.validation.position}`)):"startsWith"in issue2.validation?message=`Invalid input: must start with "${issue2.validation.startsWith}"`:"endsWith"in issue2.validation?message=`Invalid input: must end with "${issue2.validation.endsWith}"`:util.assertNever(issue2.validation):issue2.validation!=="regex"?message=`Invalid ${issue2.validation}`:message="Invalid";break;case ZodIssueCode.too_small:issue2.type==="array"?message=`Array must contain ${issue2.exact?"exactly":issue2.inclusive?"at least":"more than"} ${issue2.minimum} element(s)`:issue2.type==="string"?message=`String must contain ${issue2.exact?"exactly":issue2.inclusive?"at least":"over"} ${issue2.minimum} character(s)`:issue2.type==="number"?message=`Number must be ${issue2.exact?"exactly equal to ":issue2.inclusive?"greater than or equal to ":"greater than "}${issue2.minimum}`:issue2.type==="bigint"?message=`Number must be ${issue2.exact?"exactly equal to ":issue2.inclusive?"greater than or equal to ":"greater than "}${issue2.minimum}`:issue2.type==="date"?message=`Date must be ${issue2.exact?"exactly equal to ":issue2.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(issue2.minimum))}`:message="Invalid input";break;case ZodIssueCode.too_big:issue2.type==="array"?message=`Array must contain ${issue2.exact?"exactly":issue2.inclusive?"at most":"less than"} ${issue2.maximum} element(s)`:issue2.type==="string"?message=`String must contain ${issue2.exact?"exactly":issue2.inclusive?"at most":"under"} ${issue2.maximum} character(s)`:issue2.type==="number"?message=`Number must be ${issue2.exact?"exactly":issue2.inclusive?"less than or equal to":"less than"} ${issue2.maximum}`:issue2.type==="bigint"?message=`BigInt must be ${issue2.exact?"exactly":issue2.inclusive?"less than or equal to":"less than"} ${issue2.maximum}`:issue2.type==="date"?message=`Date must be ${issue2.exact?"exactly":issue2.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(issue2.maximum))}`:message="Invalid input";break;case ZodIssueCode.custom:message="Invalid input";break;case ZodIssueCode.invalid_intersection_types:message="Intersection results could not be merged";break;case ZodIssueCode.not_multiple_of:message=`Number must be a multiple of ${issue2.multipleOf}`;break;case ZodIssueCode.not_finite:message="Number must be finite";break;default:message=_ctx.defaultError,util.assertNever(issue2)}return{message}},en_default=errorMap;var overrideErrorMap=en_default;function setErrorMap(map){overrideErrorMap=map}function getErrorMap(){return overrideErrorMap}var makeIssue=params=>{let{data,path,errorMaps,issueData}=params,fullPath=[...path,...issueData.path||[]],fullIssue={...issueData,path:fullPath};if(issueData.message!==void 0)return{...issueData,path:fullPath,message:issueData.message};let errorMessage="",maps=errorMaps.filter(m=>!!m).slice().reverse();for(let map of maps)errorMessage=map(fullIssue,{data,defaultError:errorMessage}).message;return{...issueData,path:fullPath,message:errorMessage}},EMPTY_PATH=[];function addIssueToContext(ctx,issueData){let overrideMap=getErrorMap(),issue2=makeIssue({issueData,data:ctx.data,path:ctx.path,errorMaps:[ctx.common.contextualErrorMap,ctx.schemaErrorMap,overrideMap,overrideMap===en_default?void 0:en_default].filter(x=>!!x)});ctx.common.issues.push(issue2)}var ParseStatus=class _ParseStatus{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(status,results){let arrayValue=[];for(let s of results){if(s.status==="aborted")return INVALID;s.status==="dirty"&&status.dirty(),arrayValue.push(s.value)}return{status:status.value,value:arrayValue}}static async mergeObjectAsync(status,pairs){let syncPairs=[];for(let pair of pairs){let key=await pair.key,value=await pair.value;syncPairs.push({key,value})}return _ParseStatus.mergeObjectSync(status,syncPairs)}static mergeObjectSync(status,pairs){let finalObject={};for(let pair of pairs){let{key,value}=pair;if(key.status==="aborted"||value.status==="aborted")return INVALID;key.status==="dirty"&&status.dirty(),value.status==="dirty"&&status.dirty(),key.value!=="__proto__"&&(typeof value.value<"u"||pair.alwaysSet)&&(finalObject[key.value]=value.value)}return{status:status.value,value:finalObject}}},INVALID=Object.freeze({status:"aborted"}),DIRTY=value=>({status:"dirty",value}),OK=value=>({status:"valid",value}),isAborted=x=>x.status==="aborted",isDirty=x=>x.status==="dirty",isValid=x=>x.status==="valid",isAsync=x=>typeof Promise<"u"&&x instanceof Promise;var errorUtil;(function(errorUtil2){errorUtil2.errToObj=message=>typeof message=="string"?{message}:message||{},errorUtil2.toString=message=>typeof message=="string"?message:message?.message})(errorUtil||(errorUtil={}));var ParseInputLazyPath=class{constructor(parent,value,path,key){this._cachedPath=[],this.parent=parent,this.data=value,this._path=path,this._key=key}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},handleResult=(ctx,result)=>{if(isValid(result))return{success:!0,data:result.value};if(!ctx.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let error3=new ZodError(ctx.common.issues);return this._error=error3,this._error}}};function processCreateParams(params){if(!params)return{};let{errorMap:errorMap2,invalid_type_error,required_error,description}=params;if(errorMap2&&(invalid_type_error||required_error))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return errorMap2?{errorMap:errorMap2,description}:{errorMap:(iss,ctx)=>{let{message}=params;return iss.code==="invalid_enum_value"?{message:message??ctx.defaultError}:typeof ctx.data>"u"?{message:message??required_error??ctx.defaultError}:iss.code!=="invalid_type"?{message:ctx.defaultError}:{message:message??invalid_type_error??ctx.defaultError}},description}}var ZodType=class{get description(){return this._def.description}_getType(input){return getParsedType(input.data)}_getOrReturnCtx(input,ctx){return ctx||{common:input.parent.common,data:input.data,parsedType:getParsedType(input.data),schemaErrorMap:this._def.errorMap,path:input.path,parent:input.parent}}_processInputParams(input){return{status:new ParseStatus,ctx:{common:input.parent.common,data:input.data,parsedType:getParsedType(input.data),schemaErrorMap:this._def.errorMap,path:input.path,parent:input.parent}}}_parseSync(input){let result=this._parse(input);if(isAsync(result))throw new Error("Synchronous parse encountered promise.");return result}_parseAsync(input){let result=this._parse(input);return Promise.resolve(result)}parse(data,params){let result=this.safeParse(data,params);if(result.success)return result.data;throw result.error}safeParse(data,params){let ctx={common:{issues:[],async:params?.async??!1,contextualErrorMap:params?.errorMap},path:params?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data,parsedType:getParsedType(data)},result=this._parseSync({data,path:ctx.path,parent:ctx});return handleResult(ctx,result)}"~validate"(data){let ctx={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data,parsedType:getParsedType(data)};if(!this["~standard"].async)try{let result=this._parseSync({data,path:[],parent:ctx});return isValid(result)?{value:result.value}:{issues:ctx.common.issues}}catch(err){err?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),ctx.common={issues:[],async:!0}}return this._parseAsync({data,path:[],parent:ctx}).then(result=>isValid(result)?{value:result.value}:{issues:ctx.common.issues})}async parseAsync(data,params){let result=await this.safeParseAsync(data,params);if(result.success)return result.data;throw result.error}async safeParseAsync(data,params){let ctx={common:{issues:[],contextualErrorMap:params?.errorMap,async:!0},path:params?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data,parsedType:getParsedType(data)},maybeAsyncResult=this._parse({data,path:ctx.path,parent:ctx}),result=await(isAsync(maybeAsyncResult)?maybeAsyncResult:Promise.resolve(maybeAsyncResult));return handleResult(ctx,result)}refine(check2,message){let getIssueProperties=val=>typeof message=="string"||typeof message>"u"?{message}:typeof message=="function"?message(val):message;return this._refinement((val,ctx)=>{let result=check2(val),setError=()=>ctx.addIssue({code:ZodIssueCode.custom,...getIssueProperties(val)});return typeof Promise<"u"&&result instanceof Promise?result.then(data=>data?!0:(setError(),!1)):result?!0:(setError(),!1)})}refinement(check2,refinementData){return this._refinement((val,ctx)=>check2(val)?!0:(ctx.addIssue(typeof refinementData=="function"?refinementData(val,ctx):refinementData),!1))}_refinement(refinement){return new ZodEffects({schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"refinement",refinement}})}superRefine(refinement){return this._refinement(refinement)}constructor(def){this.spa=this.safeParseAsync,this._def=def,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:data=>this["~validate"](data)}}optional(){return ZodOptional.create(this,this._def)}nullable(){return ZodNullable.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ZodArray.create(this)}promise(){return ZodPromise.create(this,this._def)}or(option){return ZodUnion.create([this,option],this._def)}and(incoming){return ZodIntersection.create(this,incoming,this._def)}transform(transform2){return new ZodEffects({...processCreateParams(this._def),schema:this,typeName:ZodFirstPartyTypeKind.ZodEffects,effect:{type:"transform",transform:transform2}})}default(def){let defaultValueFunc=typeof def=="function"?def:()=>def;return new ZodDefault({...processCreateParams(this._def),innerType:this,defaultValue:defaultValueFunc,typeName:ZodFirstPartyTypeKind.ZodDefault})}brand(){return new ZodBranded({typeName:ZodFirstPartyTypeKind.ZodBranded,type:this,...processCreateParams(this._def)})}catch(def){let catchValueFunc=typeof def=="function"?def:()=>def;return new ZodCatch({...processCreateParams(this._def),innerType:this,catchValue:catchValueFunc,typeName:ZodFirstPartyTypeKind.ZodCatch})}describe(description){let This=this.constructor;return new This({...this._def,description})}pipe(target){return ZodPipeline.create(this,target)}readonly(){return ZodReadonly.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},cuidRegex=/^c[^\s-]{8,}$/i,cuid2Regex=/^[0-9a-z]+$/,ulidRegex=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uuidRegex=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,nanoidRegex=/^[a-z0-9_-]{21}$/i,jwtRegex=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,durationRegex=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,emailRegex=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,_emojiRegex="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",emojiRegex,ipv4Regex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4CidrRegex=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6Regex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ipv6CidrRegex=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64Regex=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64urlRegex=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,dateRegexSource="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",dateRegex=new RegExp(`^${dateRegexSource}$`);function timeRegexSource(args){let secondsRegexSource="[0-5]\\d";args.precision?secondsRegexSource=`${secondsRegexSource}\\.\\d{${args.precision}}`:args.precision==null&&(secondsRegexSource=`${secondsRegexSource}(\\.\\d+)?`);let secondsQuantifier=args.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${secondsRegexSource})${secondsQuantifier}`}function timeRegex(args){return new RegExp(`^${timeRegexSource(args)}$`)}function datetimeRegex(args){let regex=`${dateRegexSource}T${timeRegexSource(args)}`,opts=[];return opts.push(args.local?"Z?":"Z"),args.offset&&opts.push("([+-]\\d{2}:?\\d{2})"),regex=`${regex}(${opts.join("|")})`,new RegExp(`^${regex}$`)}function isValidIP(ip,version2){return!!((version2==="v4"||!version2)&&ipv4Regex.test(ip)||(version2==="v6"||!version2)&&ipv6Regex.test(ip))}function isValidJWT(jwt,alg){if(!jwtRegex.test(jwt))return!1;try{let[header]=jwt.split(".");if(!header)return!1;let base642=header.replace(/-/g,"+").replace(/_/g,"/").padEnd(header.length+(4-header.length%4)%4,"="),decoded=JSON.parse(atob(base642));return!(typeof decoded!="object"||decoded===null||"typ"in decoded&&decoded?.typ!=="JWT"||!decoded.alg||alg&&decoded.alg!==alg)}catch{return!1}}function isValidCidr(ip,version2){return!!((version2==="v4"||!version2)&&ipv4CidrRegex.test(ip)||(version2==="v6"||!version2)&&ipv6CidrRegex.test(ip))}var ZodString=class _ZodString2 extends ZodType{_parse(input){if(this._def.coerce&&(input.data=String(input.data)),this._getType(input)!==ZodParsedType.string){let ctx2=this._getOrReturnCtx(input);return addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.string,received:ctx2.parsedType}),INVALID}let status=new ParseStatus,ctx;for(let check2 of this._def.checks)if(check2.kind==="min")input.data.length<check2.value&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:check2.value,type:"string",inclusive:!0,exact:!1,message:check2.message}),status.dirty());else if(check2.kind==="max")input.data.length>check2.value&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:check2.value,type:"string",inclusive:!0,exact:!1,message:check2.message}),status.dirty());else if(check2.kind==="length"){let tooBig=input.data.length>check2.value,tooSmall=input.data.length<check2.value;(tooBig||tooSmall)&&(ctx=this._getOrReturnCtx(input,ctx),tooBig?addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:check2.value,type:"string",inclusive:!0,exact:!0,message:check2.message}):tooSmall&&addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:check2.value,type:"string",inclusive:!0,exact:!0,message:check2.message}),status.dirty())}else if(check2.kind==="email")emailRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"email",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="emoji")emojiRegex||(emojiRegex=new RegExp(_emojiRegex,"u")),emojiRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"emoji",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="uuid")uuidRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"uuid",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="nanoid")nanoidRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"nanoid",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="cuid")cuidRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"cuid",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="cuid2")cuid2Regex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"cuid2",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="ulid")ulidRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"ulid",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty());else if(check2.kind==="url")try{new URL(input.data)}catch{ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"url",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()}else check2.kind==="regex"?(check2.regex.lastIndex=0,check2.regex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"regex",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty())):check2.kind==="trim"?input.data=input.data.trim():check2.kind==="includes"?input.data.includes(check2.value,check2.position)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:{includes:check2.value,position:check2.position},message:check2.message}),status.dirty()):check2.kind==="toLowerCase"?input.data=input.data.toLowerCase():check2.kind==="toUpperCase"?input.data=input.data.toUpperCase():check2.kind==="startsWith"?input.data.startsWith(check2.value)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:{startsWith:check2.value},message:check2.message}),status.dirty()):check2.kind==="endsWith"?input.data.endsWith(check2.value)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:{endsWith:check2.value},message:check2.message}),status.dirty()):check2.kind==="datetime"?datetimeRegex(check2).test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:"datetime",message:check2.message}),status.dirty()):check2.kind==="date"?dateRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:"date",message:check2.message}),status.dirty()):check2.kind==="time"?timeRegex(check2).test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_string,validation:"time",message:check2.message}),status.dirty()):check2.kind==="duration"?durationRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"duration",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()):check2.kind==="ip"?isValidIP(input.data,check2.version)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"ip",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()):check2.kind==="jwt"?isValidJWT(input.data,check2.alg)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"jwt",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()):check2.kind==="cidr"?isValidCidr(input.data,check2.version)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"cidr",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()):check2.kind==="base64"?base64Regex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"base64",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()):check2.kind==="base64url"?base64urlRegex.test(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{validation:"base64url",code:ZodIssueCode.invalid_string,message:check2.message}),status.dirty()):util.assertNever(check2);return{status:status.value,value:input.data}}_regex(regex,validation,message){return this.refinement(data=>regex.test(data),{validation,code:ZodIssueCode.invalid_string,...errorUtil.errToObj(message)})}_addCheck(check2){return new _ZodString2({...this._def,checks:[...this._def.checks,check2]})}email(message){return this._addCheck({kind:"email",...errorUtil.errToObj(message)})}url(message){return this._addCheck({kind:"url",...errorUtil.errToObj(message)})}emoji(message){return this._addCheck({kind:"emoji",...errorUtil.errToObj(message)})}uuid(message){return this._addCheck({kind:"uuid",...errorUtil.errToObj(message)})}nanoid(message){return this._addCheck({kind:"nanoid",...errorUtil.errToObj(message)})}cuid(message){return this._addCheck({kind:"cuid",...errorUtil.errToObj(message)})}cuid2(message){return this._addCheck({kind:"cuid2",...errorUtil.errToObj(message)})}ulid(message){return this._addCheck({kind:"ulid",...errorUtil.errToObj(message)})}base64(message){return this._addCheck({kind:"base64",...errorUtil.errToObj(message)})}base64url(message){return this._addCheck({kind:"base64url",...errorUtil.errToObj(message)})}jwt(options){return this._addCheck({kind:"jwt",...errorUtil.errToObj(options)})}ip(options){return this._addCheck({kind:"ip",...errorUtil.errToObj(options)})}cidr(options){return this._addCheck({kind:"cidr",...errorUtil.errToObj(options)})}datetime(options){return typeof options=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:options}):this._addCheck({kind:"datetime",precision:typeof options?.precision>"u"?null:options?.precision,offset:options?.offset??!1,local:options?.local??!1,...errorUtil.errToObj(options?.message)})}date(message){return this._addCheck({kind:"date",message})}time(options){return typeof options=="string"?this._addCheck({kind:"time",precision:null,message:options}):this._addCheck({kind:"time",precision:typeof options?.precision>"u"?null:options?.precision,...errorUtil.errToObj(options?.message)})}duration(message){return this._addCheck({kind:"duration",...errorUtil.errToObj(message)})}regex(regex,message){return this._addCheck({kind:"regex",regex,...errorUtil.errToObj(message)})}includes(value,options){return this._addCheck({kind:"includes",value,position:options?.position,...errorUtil.errToObj(options?.message)})}startsWith(value,message){return this._addCheck({kind:"startsWith",value,...errorUtil.errToObj(message)})}endsWith(value,message){return this._addCheck({kind:"endsWith",value,...errorUtil.errToObj(message)})}min(minLength,message){return this._addCheck({kind:"min",value:minLength,...errorUtil.errToObj(message)})}max(maxLength,message){return this._addCheck({kind:"max",value:maxLength,...errorUtil.errToObj(message)})}length(len,message){return this._addCheck({kind:"length",value:len,...errorUtil.errToObj(message)})}nonempty(message){return this.min(1,errorUtil.errToObj(message))}trim(){return new _ZodString2({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _ZodString2({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _ZodString2({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(ch=>ch.kind==="datetime")}get isDate(){return!!this._def.checks.find(ch=>ch.kind==="date")}get isTime(){return!!this._def.checks.find(ch=>ch.kind==="time")}get isDuration(){return!!this._def.checks.find(ch=>ch.kind==="duration")}get isEmail(){return!!this._def.checks.find(ch=>ch.kind==="email")}get isURL(){return!!this._def.checks.find(ch=>ch.kind==="url")}get isEmoji(){return!!this._def.checks.find(ch=>ch.kind==="emoji")}get isUUID(){return!!this._def.checks.find(ch=>ch.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(ch=>ch.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(ch=>ch.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(ch=>ch.kind==="cuid2")}get isULID(){return!!this._def.checks.find(ch=>ch.kind==="ulid")}get isIP(){return!!this._def.checks.find(ch=>ch.kind==="ip")}get isCIDR(){return!!this._def.checks.find(ch=>ch.kind==="cidr")}get isBase64(){return!!this._def.checks.find(ch=>ch.kind==="base64")}get isBase64url(){return!!this._def.checks.find(ch=>ch.kind==="base64url")}get minLength(){let min=null;for(let ch of this._def.checks)ch.kind==="min"&&(min===null||ch.value>min)&&(min=ch.value);return min}get maxLength(){let max=null;for(let ch of this._def.checks)ch.kind==="max"&&(max===null||ch.value<max)&&(max=ch.value);return max}};ZodString.create=params=>new ZodString({checks:[],typeName:ZodFirstPartyTypeKind.ZodString,coerce:params?.coerce??!1,...processCreateParams(params)});function floatSafeRemainder(val,step){let valDecCount=(val.toString().split(".")[1]||"").length,stepDecCount=(step.toString().split(".")[1]||"").length,decCount=valDecCount>stepDecCount?valDecCount:stepDecCount,valInt=Number.parseInt(val.toFixed(decCount).replace(".","")),stepInt=Number.parseInt(step.toFixed(decCount).replace(".",""));return valInt%stepInt/10**decCount}var ZodNumber=class _ZodNumber extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(input){if(this._def.coerce&&(input.data=Number(input.data)),this._getType(input)!==ZodParsedType.number){let ctx2=this._getOrReturnCtx(input);return addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.number,received:ctx2.parsedType}),INVALID}let ctx,status=new ParseStatus;for(let check2 of this._def.checks)check2.kind==="int"?util.isInteger(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:"integer",received:"float",message:check2.message}),status.dirty()):check2.kind==="min"?(check2.inclusive?input.data<check2.value:input.data<=check2.value)&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:check2.value,type:"number",inclusive:check2.inclusive,exact:!1,message:check2.message}),status.dirty()):check2.kind==="max"?(check2.inclusive?input.data>check2.value:input.data>=check2.value)&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:check2.value,type:"number",inclusive:check2.inclusive,exact:!1,message:check2.message}),status.dirty()):check2.kind==="multipleOf"?floatSafeRemainder(input.data,check2.value)!==0&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.not_multiple_of,multipleOf:check2.value,message:check2.message}),status.dirty()):check2.kind==="finite"?Number.isFinite(input.data)||(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.not_finite,message:check2.message}),status.dirty()):util.assertNever(check2);return{status:status.value,value:input.data}}gte(value,message){return this.setLimit("min",value,!0,errorUtil.toString(message))}gt(value,message){return this.setLimit("min",value,!1,errorUtil.toString(message))}lte(value,message){return this.setLimit("max",value,!0,errorUtil.toString(message))}lt(value,message){return this.setLimit("max",value,!1,errorUtil.toString(message))}setLimit(kind,value,inclusive,message){return new _ZodNumber({...this._def,checks:[...this._def.checks,{kind,value,inclusive,message:errorUtil.toString(message)}]})}_addCheck(check2){return new _ZodNumber({...this._def,checks:[...this._def.checks,check2]})}int(message){return this._addCheck({kind:"int",message:errorUtil.toString(message)})}positive(message){return this._addCheck({kind:"min",value:0,inclusive:!1,message:errorUtil.toString(message)})}negative(message){return this._addCheck({kind:"max",value:0,inclusive:!1,message:errorUtil.toString(message)})}nonpositive(message){return this._addCheck({kind:"max",value:0,inclusive:!0,message:errorUtil.toString(message)})}nonnegative(message){return this._addCheck({kind:"min",value:0,inclusive:!0,message:errorUtil.toString(message)})}multipleOf(value,message){return this._addCheck({kind:"multipleOf",value,message:errorUtil.toString(message)})}finite(message){return this._addCheck({kind:"finite",message:errorUtil.toString(message)})}safe(message){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:errorUtil.toString(message)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:errorUtil.toString(message)})}get minValue(){let min=null;for(let ch of this._def.checks)ch.kind==="min"&&(min===null||ch.value>min)&&(min=ch.value);return min}get maxValue(){let max=null;for(let ch of this._def.checks)ch.kind==="max"&&(max===null||ch.value<max)&&(max=ch.value);return max}get isInt(){return!!this._def.checks.find(ch=>ch.kind==="int"||ch.kind==="multipleOf"&&util.isInteger(ch.value))}get isFinite(){let max=null,min=null;for(let ch of this._def.checks){if(ch.kind==="finite"||ch.kind==="int"||ch.kind==="multipleOf")return!0;ch.kind==="min"?(min===null||ch.value>min)&&(min=ch.value):ch.kind==="max"&&(max===null||ch.value<max)&&(max=ch.value)}return Number.isFinite(min)&&Number.isFinite(max)}};ZodNumber.create=params=>new ZodNumber({checks:[],typeName:ZodFirstPartyTypeKind.ZodNumber,coerce:params?.coerce||!1,...processCreateParams(params)});var ZodBigInt=class _ZodBigInt extends ZodType{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(input){if(this._def.coerce)try{input.data=BigInt(input.data)}catch{return this._getInvalidInput(input)}if(this._getType(input)!==ZodParsedType.bigint)return this._getInvalidInput(input);let ctx,status=new ParseStatus;for(let check2 of this._def.checks)check2.kind==="min"?(check2.inclusive?input.data<check2.value:input.data<=check2.value)&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_small,type:"bigint",minimum:check2.value,inclusive:check2.inclusive,message:check2.message}),status.dirty()):check2.kind==="max"?(check2.inclusive?input.data>check2.value:input.data>=check2.value)&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_big,type:"bigint",maximum:check2.value,inclusive:check2.inclusive,message:check2.message}),status.dirty()):check2.kind==="multipleOf"?input.data%check2.value!==BigInt(0)&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.not_multiple_of,multipleOf:check2.value,message:check2.message}),status.dirty()):util.assertNever(check2);return{status:status.value,value:input.data}}_getInvalidInput(input){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.bigint,received:ctx.parsedType}),INVALID}gte(value,message){return this.setLimit("min",value,!0,errorUtil.toString(message))}gt(value,message){return this.setLimit("min",value,!1,errorUtil.toString(message))}lte(value,message){return this.setLimit("max",value,!0,errorUtil.toString(message))}lt(value,message){return this.setLimit("max",value,!1,errorUtil.toString(message))}setLimit(kind,value,inclusive,message){return new _ZodBigInt({...this._def,checks:[...this._def.checks,{kind,value,inclusive,message:errorUtil.toString(message)}]})}_addCheck(check2){return new _ZodBigInt({...this._def,checks:[...this._def.checks,check2]})}positive(message){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:errorUtil.toString(message)})}negative(message){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:errorUtil.toString(message)})}nonpositive(message){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:errorUtil.toString(message)})}nonnegative(message){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:errorUtil.toString(message)})}multipleOf(value,message){return this._addCheck({kind:"multipleOf",value,message:errorUtil.toString(message)})}get minValue(){let min=null;for(let ch of this._def.checks)ch.kind==="min"&&(min===null||ch.value>min)&&(min=ch.value);return min}get maxValue(){let max=null;for(let ch of this._def.checks)ch.kind==="max"&&(max===null||ch.value<max)&&(max=ch.value);return max}};ZodBigInt.create=params=>new ZodBigInt({checks:[],typeName:ZodFirstPartyTypeKind.ZodBigInt,coerce:params?.coerce??!1,...processCreateParams(params)});var ZodBoolean=class extends ZodType{_parse(input){if(this._def.coerce&&(input.data=!!input.data),this._getType(input)!==ZodParsedType.boolean){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.boolean,received:ctx.parsedType}),INVALID}return OK(input.data)}};ZodBoolean.create=params=>new ZodBoolean({typeName:ZodFirstPartyTypeKind.ZodBoolean,coerce:params?.coerce||!1,...processCreateParams(params)});var ZodDate=class _ZodDate extends ZodType{_parse(input){if(this._def.coerce&&(input.data=new Date(input.data)),this._getType(input)!==ZodParsedType.date){let ctx2=this._getOrReturnCtx(input);return addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.date,received:ctx2.parsedType}),INVALID}if(Number.isNaN(input.data.getTime())){let ctx2=this._getOrReturnCtx(input);return addIssueToContext(ctx2,{code:ZodIssueCode.invalid_date}),INVALID}let status=new ParseStatus,ctx;for(let check2 of this._def.checks)check2.kind==="min"?input.data.getTime()<check2.value&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_small,message:check2.message,inclusive:!0,exact:!1,minimum:check2.value,type:"date"}),status.dirty()):check2.kind==="max"?input.data.getTime()>check2.value&&(ctx=this._getOrReturnCtx(input,ctx),addIssueToContext(ctx,{code:ZodIssueCode.too_big,message:check2.message,inclusive:!0,exact:!1,maximum:check2.value,type:"date"}),status.dirty()):util.assertNever(check2);return{status:status.value,value:new Date(input.data.getTime())}}_addCheck(check2){return new _ZodDate({...this._def,checks:[...this._def.checks,check2]})}min(minDate,message){return this._addCheck({kind:"min",value:minDate.getTime(),message:errorUtil.toString(message)})}max(maxDate,message){return this._addCheck({kind:"max",value:maxDate.getTime(),message:errorUtil.toString(message)})}get minDate(){let min=null;for(let ch of this._def.checks)ch.kind==="min"&&(min===null||ch.value>min)&&(min=ch.value);return min!=null?new Date(min):null}get maxDate(){let max=null;for(let ch of this._def.checks)ch.kind==="max"&&(max===null||ch.value<max)&&(max=ch.value);return max!=null?new Date(max):null}};ZodDate.create=params=>new ZodDate({checks:[],coerce:params?.coerce||!1,typeName:ZodFirstPartyTypeKind.ZodDate,...processCreateParams(params)});var ZodSymbol=class extends ZodType{_parse(input){if(this._getType(input)!==ZodParsedType.symbol){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.symbol,received:ctx.parsedType}),INVALID}return OK(input.data)}};ZodSymbol.create=params=>new ZodSymbol({typeName:ZodFirstPartyTypeKind.ZodSymbol,...processCreateParams(params)});var ZodUndefined=class extends ZodType{_parse(input){if(this._getType(input)!==ZodParsedType.undefined){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.undefined,received:ctx.parsedType}),INVALID}return OK(input.data)}};ZodUndefined.create=params=>new ZodUndefined({typeName:ZodFirstPartyTypeKind.ZodUndefined,...processCreateParams(params)});var ZodNull=class extends ZodType{_parse(input){if(this._getType(input)!==ZodParsedType.null){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.null,received:ctx.parsedType}),INVALID}return OK(input.data)}};ZodNull.create=params=>new ZodNull({typeName:ZodFirstPartyTypeKind.ZodNull,...processCreateParams(params)});var ZodAny=class extends ZodType{constructor(){super(...arguments),this._any=!0}_parse(input){return OK(input.data)}};ZodAny.create=params=>new ZodAny({typeName:ZodFirstPartyTypeKind.ZodAny,...processCreateParams(params)});var ZodUnknown=class extends ZodType{constructor(){super(...arguments),this._unknown=!0}_parse(input){return OK(input.data)}};ZodUnknown.create=params=>new ZodUnknown({typeName:ZodFirstPartyTypeKind.ZodUnknown,...processCreateParams(params)});var ZodNever=class extends ZodType{_parse(input){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.never,received:ctx.parsedType}),INVALID}};ZodNever.create=params=>new ZodNever({typeName:ZodFirstPartyTypeKind.ZodNever,...processCreateParams(params)});var ZodVoid=class extends ZodType{_parse(input){if(this._getType(input)!==ZodParsedType.undefined){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.void,received:ctx.parsedType}),INVALID}return OK(input.data)}};ZodVoid.create=params=>new ZodVoid({typeName:ZodFirstPartyTypeKind.ZodVoid,...processCreateParams(params)});var ZodArray=class _ZodArray extends ZodType{_parse(input){let{ctx,status}=this._processInputParams(input),def=this._def;if(ctx.parsedType!==ZodParsedType.array)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ctx.parsedType}),INVALID;if(def.exactLength!==null){let tooBig=ctx.data.length>def.exactLength.value,tooSmall=ctx.data.length<def.exactLength.value;(tooBig||tooSmall)&&(addIssueToContext(ctx,{code:tooBig?ZodIssueCode.too_big:ZodIssueCode.too_small,minimum:tooSmall?def.exactLength.value:void 0,maximum:tooBig?def.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:def.exactLength.message}),status.dirty())}if(def.minLength!==null&&ctx.data.length<def.minLength.value&&(addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:def.minLength.value,type:"array",inclusive:!0,exact:!1,message:def.minLength.message}),status.dirty()),def.maxLength!==null&&ctx.data.length>def.maxLength.value&&(addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:def.maxLength.value,type:"array",inclusive:!0,exact:!1,message:def.maxLength.message}),status.dirty()),ctx.common.async)return Promise.all([...ctx.data].map((item,i)=>def.type._parseAsync(new ParseInputLazyPath(ctx,item,ctx.path,i)))).then(result2=>ParseStatus.mergeArray(status,result2));let result=[...ctx.data].map((item,i)=>def.type._parseSync(new ParseInputLazyPath(ctx,item,ctx.path,i)));return ParseStatus.mergeArray(status,result)}get element(){return this._def.type}min(minLength,message){return new _ZodArray({...this._def,minLength:{value:minLength,message:errorUtil.toString(message)}})}max(maxLength,message){return new _ZodArray({...this._def,maxLength:{value:maxLength,message:errorUtil.toString(message)}})}length(len,message){return new _ZodArray({...this._def,exactLength:{value:len,message:errorUtil.toString(message)}})}nonempty(message){return this.min(1,message)}};ZodArray.create=(schema,params)=>new ZodArray({type:schema,minLength:null,maxLength:null,exactLength:null,typeName:ZodFirstPartyTypeKind.ZodArray,...processCreateParams(params)});function deepPartialify(schema){if(schema instanceof ZodObject){let newShape={};for(let key in schema.shape){let fieldSchema=schema.shape[key];newShape[key]=ZodOptional.create(deepPartialify(fieldSchema))}return new ZodObject({...schema._def,shape:()=>newShape})}else return schema instanceof ZodArray?new ZodArray({...schema._def,type:deepPartialify(schema.element)}):schema instanceof ZodOptional?ZodOptional.create(deepPartialify(schema.unwrap())):schema instanceof ZodNullable?ZodNullable.create(deepPartialify(schema.unwrap())):schema instanceof ZodTuple?ZodTuple.create(schema.items.map(item=>deepPartialify(item))):schema}var ZodObject=class _ZodObject extends ZodType{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let shape=this._def.shape(),keys=util.objectKeys(shape);return this._cached={shape,keys},this._cached}_parse(input){if(this._getType(input)!==ZodParsedType.object){let ctx2=this._getOrReturnCtx(input);return addIssueToContext(ctx2,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ctx2.parsedType}),INVALID}let{status,ctx}=this._processInputParams(input),{shape,keys:shapeKeys}=this._getCached(),extraKeys=[];if(!(this._def.catchall instanceof ZodNever&&this._def.unknownKeys==="strip"))for(let key in ctx.data)shapeKeys.includes(key)||extraKeys.push(key);let pairs=[];for(let key of shapeKeys){let keyValidator=shape[key],value=ctx.data[key];pairs.push({key:{status:"valid",value:key},value:keyValidator._parse(new ParseInputLazyPath(ctx,value,ctx.path,key)),alwaysSet:key in ctx.data})}if(this._def.catchall instanceof ZodNever){let unknownKeys=this._def.unknownKeys;if(unknownKeys==="passthrough")for(let key of extraKeys)pairs.push({key:{status:"valid",value:key},value:{status:"valid",value:ctx.data[key]}});else if(unknownKeys==="strict")extraKeys.length>0&&(addIssueToContext(ctx,{code:ZodIssueCode.unrecognized_keys,keys:extraKeys}),status.dirty());else if(unknownKeys!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let catchall=this._def.catchall;for(let key of extraKeys){let value=ctx.data[key];pairs.push({key:{status:"valid",value:key},value:catchall._parse(new ParseInputLazyPath(ctx,value,ctx.path,key)),alwaysSet:key in ctx.data})}}return ctx.common.async?Promise.resolve().then(async()=>{let syncPairs=[];for(let pair of pairs){let key=await pair.key,value=await pair.value;syncPairs.push({key,value,alwaysSet:pair.alwaysSet})}return syncPairs}).then(syncPairs=>ParseStatus.mergeObjectSync(status,syncPairs)):ParseStatus.mergeObjectSync(status,pairs)}get shape(){return this._def.shape()}strict(message){return errorUtil.errToObj,new _ZodObject({...this._def,unknownKeys:"strict",...message!==void 0?{errorMap:(issue2,ctx)=>{let defaultError=this._def.errorMap?.(issue2,ctx).message??ctx.defaultError;return issue2.code==="unrecognized_keys"?{message:errorUtil.errToObj(message).message??defaultError}:{message:defaultError}}}:{}})}strip(){return new _ZodObject({...this._def,unknownKeys:"strip"})}passthrough(){return new _ZodObject({...this._def,unknownKeys:"passthrough"})}extend(augmentation){return new _ZodObject({...this._def,shape:()=>({...this._def.shape(),...augmentation})})}merge(merging){return new _ZodObject({unknownKeys:merging._def.unknownKeys,catchall:merging._def.catchall,shape:()=>({...this._def.shape(),...merging._def.shape()}),typeName:ZodFirstPartyTypeKind.ZodObject})}setKey(key,schema){return this.augment({[key]:schema})}catchall(index){return new _ZodObject({...this._def,catchall:index})}pick(mask){let shape={};for(let key of util.objectKeys(mask))mask[key]&&this.shape[key]&&(shape[key]=this.shape[key]);return new _ZodObject({...this._def,shape:()=>shape})}omit(mask){let shape={};for(let key of util.objectKeys(this.shape))mask[key]||(shape[key]=this.shape[key]);return new _ZodObject({...this._def,shape:()=>shape})}deepPartial(){return deepPartialify(this)}partial(mask){let newShape={};for(let key of util.objectKeys(this.shape)){let fieldSchema=this.shape[key];mask&&!mask[key]?newShape[key]=fieldSchema:newShape[key]=fieldSchema.optional()}return new _ZodObject({...this._def,shape:()=>newShape})}required(mask){let newShape={};for(let key of util.objectKeys(this.shape))if(mask&&!mask[key])newShape[key]=this.shape[key];else{let newField2=this.shape[key];for(;newField2 instanceof ZodOptional;)newField2=newField2._def.innerType;newShape[key]=newField2}return new _ZodObject({...this._def,shape:()=>newShape})}keyof(){return createZodEnum(util.objectKeys(this.shape))}};ZodObject.create=(shape,params)=>new ZodObject({shape:()=>shape,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(params)});ZodObject.strictCreate=(shape,params)=>new ZodObject({shape:()=>shape,unknownKeys:"strict",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(params)});ZodObject.lazycreate=(shape,params)=>new ZodObject({shape,unknownKeys:"strip",catchall:ZodNever.create(),typeName:ZodFirstPartyTypeKind.ZodObject,...processCreateParams(params)});var ZodUnion=class extends ZodType{_parse(input){let{ctx}=this._processInputParams(input),options=this._def.options;function handleResults(results){for(let result of results)if(result.result.status==="valid")return result.result;for(let result of results)if(result.result.status==="dirty")return ctx.common.issues.push(...result.ctx.common.issues),result.result;let unionErrors=results.map(result=>new ZodError(result.ctx.common.issues));return addIssueToContext(ctx,{code:ZodIssueCode.invalid_union,unionErrors}),INVALID}if(ctx.common.async)return Promise.all(options.map(async option=>{let childCtx={...ctx,common:{...ctx.common,issues:[]},parent:null};return{result:await option._parseAsync({data:ctx.data,path:ctx.path,parent:childCtx}),ctx:childCtx}})).then(handleResults);{let dirty,issues=[];for(let option of options){let childCtx={...ctx,common:{...ctx.common,issues:[]},parent:null},result=option._parseSync({data:ctx.data,path:ctx.path,parent:childCtx});if(result.status==="valid")return result;result.status==="dirty"&&!dirty&&(dirty={result,ctx:childCtx}),childCtx.common.issues.length&&issues.push(childCtx.common.issues)}if(dirty)return ctx.common.issues.push(...dirty.ctx.common.issues),dirty.result;let unionErrors=issues.map(issues2=>new ZodError(issues2));return addIssueToContext(ctx,{code:ZodIssueCode.invalid_union,unionErrors}),INVALID}}get options(){return this._def.options}};ZodUnion.create=(types,params)=>new ZodUnion({options:types,typeName:ZodFirstPartyTypeKind.ZodUnion,...processCreateParams(params)});var getDiscriminator=type=>type instanceof ZodLazy?getDiscriminator(type.schema):type instanceof ZodEffects?getDiscriminator(type.innerType()):type instanceof ZodLiteral?[type.value]:type instanceof ZodEnum?type.options:type instanceof ZodNativeEnum?util.objectValues(type.enum):type instanceof ZodDefault?getDiscriminator(type._def.innerType):type instanceof ZodUndefined?[void 0]:type instanceof ZodNull?[null]:type instanceof ZodOptional?[void 0,...getDiscriminator(type.unwrap())]:type instanceof ZodNullable?[null,...getDiscriminator(type.unwrap())]:type instanceof ZodBranded||type instanceof ZodReadonly?getDiscriminator(type.unwrap()):type instanceof ZodCatch?getDiscriminator(type._def.innerType):[],ZodDiscriminatedUnion=class _ZodDiscriminatedUnion extends ZodType{_parse(input){let{ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.object)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ctx.parsedType}),INVALID;let discriminator=this.discriminator,discriminatorValue=ctx.data[discriminator],option=this.optionsMap.get(discriminatorValue);return option?ctx.common.async?option._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}):option._parseSync({data:ctx.data,path:ctx.path,parent:ctx}):(addIssueToContext(ctx,{code:ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[discriminator]}),INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(discriminator,options,params){let optionsMap=new Map;for(let type of options){let discriminatorValues=getDiscriminator(type.shape[discriminator]);if(!discriminatorValues.length)throw new Error(`A discriminator value for key \`${discriminator}\` could not be extracted from all schema options`);for(let value of discriminatorValues){if(optionsMap.has(value))throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);optionsMap.set(value,type)}}return new _ZodDiscriminatedUnion({typeName:ZodFirstPartyTypeKind.ZodDiscriminatedUnion,discriminator,options,optionsMap,...processCreateParams(params)})}};function mergeValues(a,b){let aType=getParsedType(a),bType=getParsedType(b);if(a===b)return{valid:!0,data:a};if(aType===ZodParsedType.object&&bType===ZodParsedType.object){let bKeys=util.objectKeys(b),sharedKeys=util.objectKeys(a).filter(key=>bKeys.indexOf(key)!==-1),newObj={...a,...b};for(let key of sharedKeys){let sharedValue=mergeValues(a[key],b[key]);if(!sharedValue.valid)return{valid:!1};newObj[key]=sharedValue.data}return{valid:!0,data:newObj}}else if(aType===ZodParsedType.array&&bType===ZodParsedType.array){if(a.length!==b.length)return{valid:!1};let newArray=[];for(let index=0;index<a.length;index++){let itemA=a[index],itemB=b[index],sharedValue=mergeValues(itemA,itemB);if(!sharedValue.valid)return{valid:!1};newArray.push(sharedValue.data)}return{valid:!0,data:newArray}}else return aType===ZodParsedType.date&&bType===ZodParsedType.date&&+a==+b?{valid:!0,data:a}:{valid:!1}}var ZodIntersection=class extends ZodType{_parse(input){let{status,ctx}=this._processInputParams(input),handleParsed=(parsedLeft,parsedRight)=>{if(isAborted(parsedLeft)||isAborted(parsedRight))return INVALID;let merged=mergeValues(parsedLeft.value,parsedRight.value);return merged.valid?((isDirty(parsedLeft)||isDirty(parsedRight))&&status.dirty(),{status:status.value,value:merged.data}):(addIssueToContext(ctx,{code:ZodIssueCode.invalid_intersection_types}),INVALID)};return ctx.common.async?Promise.all([this._def.left._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}),this._def.right._parseAsync({data:ctx.data,path:ctx.path,parent:ctx})]).then(([left,right])=>handleParsed(left,right)):handleParsed(this._def.left._parseSync({data:ctx.data,path:ctx.path,parent:ctx}),this._def.right._parseSync({data:ctx.data,path:ctx.path,parent:ctx}))}};ZodIntersection.create=(left,right,params)=>new ZodIntersection({left,right,typeName:ZodFirstPartyTypeKind.ZodIntersection,...processCreateParams(params)});var ZodTuple=class _ZodTuple extends ZodType{_parse(input){let{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.array)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.array,received:ctx.parsedType}),INVALID;if(ctx.data.length<this._def.items.length)return addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),INVALID;!this._def.rest&&ctx.data.length>this._def.items.length&&(addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),status.dirty());let items=[...ctx.data].map((item,itemIndex)=>{let schema=this._def.items[itemIndex]||this._def.rest;return schema?schema._parse(new ParseInputLazyPath(ctx,item,ctx.path,itemIndex)):null}).filter(x=>!!x);return ctx.common.async?Promise.all(items).then(results=>ParseStatus.mergeArray(status,results)):ParseStatus.mergeArray(status,items)}get items(){return this._def.items}rest(rest){return new _ZodTuple({...this._def,rest})}};ZodTuple.create=(schemas,params)=>{if(!Array.isArray(schemas))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ZodTuple({items:schemas,typeName:ZodFirstPartyTypeKind.ZodTuple,rest:null,...processCreateParams(params)})};var ZodRecord=class _ZodRecord extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(input){let{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.object)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.object,received:ctx.parsedType}),INVALID;let pairs=[],keyType=this._def.keyType,valueType=this._def.valueType;for(let key in ctx.data)pairs.push({key:keyType._parse(new ParseInputLazyPath(ctx,key,ctx.path,key)),value:valueType._parse(new ParseInputLazyPath(ctx,ctx.data[key],ctx.path,key)),alwaysSet:key in ctx.data});return ctx.common.async?ParseStatus.mergeObjectAsync(status,pairs):ParseStatus.mergeObjectSync(status,pairs)}get element(){return this._def.valueType}static create(first,second,third){return second instanceof ZodType?new _ZodRecord({keyType:first,valueType:second,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(third)}):new _ZodRecord({keyType:ZodString.create(),valueType:first,typeName:ZodFirstPartyTypeKind.ZodRecord,...processCreateParams(second)})}},ZodMap=class extends ZodType{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(input){let{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.map)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.map,received:ctx.parsedType}),INVALID;let keyType=this._def.keyType,valueType=this._def.valueType,pairs=[...ctx.data.entries()].map(([key,value],index)=>({key:keyType._parse(new ParseInputLazyPath(ctx,key,ctx.path,[index,"key"])),value:valueType._parse(new ParseInputLazyPath(ctx,value,ctx.path,[index,"value"]))}));if(ctx.common.async){let finalMap=new Map;return Promise.resolve().then(async()=>{for(let pair of pairs){let key=await pair.key,value=await pair.value;if(key.status==="aborted"||value.status==="aborted")return INVALID;(key.status==="dirty"||value.status==="dirty")&&status.dirty(),finalMap.set(key.value,value.value)}return{status:status.value,value:finalMap}})}else{let finalMap=new Map;for(let pair of pairs){let key=pair.key,value=pair.value;if(key.status==="aborted"||value.status==="aborted")return INVALID;(key.status==="dirty"||value.status==="dirty")&&status.dirty(),finalMap.set(key.value,value.value)}return{status:status.value,value:finalMap}}}};ZodMap.create=(keyType,valueType,params)=>new ZodMap({valueType,keyType,typeName:ZodFirstPartyTypeKind.ZodMap,...processCreateParams(params)});var ZodSet=class _ZodSet extends ZodType{_parse(input){let{status,ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.set)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.set,received:ctx.parsedType}),INVALID;let def=this._def;def.minSize!==null&&ctx.data.size<def.minSize.value&&(addIssueToContext(ctx,{code:ZodIssueCode.too_small,minimum:def.minSize.value,type:"set",inclusive:!0,exact:!1,message:def.minSize.message}),status.dirty()),def.maxSize!==null&&ctx.data.size>def.maxSize.value&&(addIssueToContext(ctx,{code:ZodIssueCode.too_big,maximum:def.maxSize.value,type:"set",inclusive:!0,exact:!1,message:def.maxSize.message}),status.dirty());let valueType=this._def.valueType;function finalizeSet(elements2){let parsedSet=new Set;for(let element of elements2){if(element.status==="aborted")return INVALID;element.status==="dirty"&&status.dirty(),parsedSet.add(element.value)}return{status:status.value,value:parsedSet}}let elements=[...ctx.data.values()].map((item,i)=>valueType._parse(new ParseInputLazyPath(ctx,item,ctx.path,i)));return ctx.common.async?Promise.all(elements).then(elements2=>finalizeSet(elements2)):finalizeSet(elements)}min(minSize,message){return new _ZodSet({...this._def,minSize:{value:minSize,message:errorUtil.toString(message)}})}max(maxSize,message){return new _ZodSet({...this._def,maxSize:{value:maxSize,message:errorUtil.toString(message)}})}size(size,message){return this.min(size,message).max(size,message)}nonempty(message){return this.min(1,message)}};ZodSet.create=(valueType,params)=>new ZodSet({valueType,minSize:null,maxSize:null,typeName:ZodFirstPartyTypeKind.ZodSet,...processCreateParams(params)});var ZodFunction=class _ZodFunction extends ZodType{constructor(){super(...arguments),this.validate=this.implement}_parse(input){let{ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.function)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.function,received:ctx.parsedType}),INVALID;function makeArgsIssue(args,error3){return makeIssue({data:args,path:ctx.path,errorMaps:[ctx.common.contextualErrorMap,ctx.schemaErrorMap,getErrorMap(),en_default].filter(x=>!!x),issueData:{code:ZodIssueCode.invalid_arguments,argumentsError:error3}})}function makeReturnsIssue(returns,error3){return makeIssue({data:returns,path:ctx.path,errorMaps:[ctx.common.contextualErrorMap,ctx.schemaErrorMap,getErrorMap(),en_default].filter(x=>!!x),issueData:{code:ZodIssueCode.invalid_return_type,returnTypeError:error3}})}let params={errorMap:ctx.common.contextualErrorMap},fn=ctx.data;if(this._def.returns instanceof ZodPromise){let me=this;return OK(async function(...args){let error3=new ZodError([]),parsedArgs=await me._def.args.parseAsync(args,params).catch(e=>{throw error3.addIssue(makeArgsIssue(args,e)),error3}),result=await Reflect.apply(fn,this,parsedArgs);return await me._def.returns._def.type.parseAsync(result,params).catch(e=>{throw error3.addIssue(makeReturnsIssue(result,e)),error3})})}else{let me=this;return OK(function(...args){let parsedArgs=me._def.args.safeParse(args,params);if(!parsedArgs.success)throw new ZodError([makeArgsIssue(args,parsedArgs.error)]);let result=Reflect.apply(fn,this,parsedArgs.data),parsedReturns=me._def.returns.safeParse(result,params);if(!parsedReturns.success)throw new ZodError([makeReturnsIssue(result,parsedReturns.error)]);return parsedReturns.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...items){return new _ZodFunction({...this._def,args:ZodTuple.create(items).rest(ZodUnknown.create())})}returns(returnType){return new _ZodFunction({...this._def,returns:returnType})}implement(func){return this.parse(func)}strictImplement(func){return this.parse(func)}static create(args,returns,params){return new _ZodFunction({args:args||ZodTuple.create([]).rest(ZodUnknown.create()),returns:returns||ZodUnknown.create(),typeName:ZodFirstPartyTypeKind.ZodFunction,...processCreateParams(params)})}},ZodLazy=class extends ZodType{get schema(){return this._def.getter()}_parse(input){let{ctx}=this._processInputParams(input);return this._def.getter()._parse({data:ctx.data,path:ctx.path,parent:ctx})}};ZodLazy.create=(getter,params)=>new ZodLazy({getter,typeName:ZodFirstPartyTypeKind.ZodLazy,...processCreateParams(params)});var ZodLiteral=class extends ZodType{_parse(input){if(input.data!==this._def.value){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{received:ctx.data,code:ZodIssueCode.invalid_literal,expected:this._def.value}),INVALID}return{status:"valid",value:input.data}}get value(){return this._def.value}};ZodLiteral.create=(value,params)=>new ZodLiteral({value,typeName:ZodFirstPartyTypeKind.ZodLiteral,...processCreateParams(params)});function createZodEnum(values,params){return new ZodEnum({values,typeName:ZodFirstPartyTypeKind.ZodEnum,...processCreateParams(params)})}var ZodEnum=class _ZodEnum extends ZodType{_parse(input){if(typeof input.data!="string"){let ctx=this._getOrReturnCtx(input),expectedValues=this._def.values;return addIssueToContext(ctx,{expected:util.joinValues(expectedValues),received:ctx.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(input.data)){let ctx=this._getOrReturnCtx(input),expectedValues=this._def.values;return addIssueToContext(ctx,{received:ctx.data,code:ZodIssueCode.invalid_enum_value,options:expectedValues}),INVALID}return OK(input.data)}get options(){return this._def.values}get enum(){let enumValues={};for(let val of this._def.values)enumValues[val]=val;return enumValues}get Values(){let enumValues={};for(let val of this._def.values)enumValues[val]=val;return enumValues}get Enum(){let enumValues={};for(let val of this._def.values)enumValues[val]=val;return enumValues}extract(values,newDef=this._def){return _ZodEnum.create(values,{...this._def,...newDef})}exclude(values,newDef=this._def){return _ZodEnum.create(this.options.filter(opt=>!values.includes(opt)),{...this._def,...newDef})}};ZodEnum.create=createZodEnum;var ZodNativeEnum=class extends ZodType{_parse(input){let nativeEnumValues=util.getValidEnumValues(this._def.values),ctx=this._getOrReturnCtx(input);if(ctx.parsedType!==ZodParsedType.string&&ctx.parsedType!==ZodParsedType.number){let expectedValues=util.objectValues(nativeEnumValues);return addIssueToContext(ctx,{expected:util.joinValues(expectedValues),received:ctx.parsedType,code:ZodIssueCode.invalid_type}),INVALID}if(this._cache||(this._cache=new Set(util.getValidEnumValues(this._def.values))),!this._cache.has(input.data)){let expectedValues=util.objectValues(nativeEnumValues);return addIssueToContext(ctx,{received:ctx.data,code:ZodIssueCode.invalid_enum_value,options:expectedValues}),INVALID}return OK(input.data)}get enum(){return this._def.values}};ZodNativeEnum.create=(values,params)=>new ZodNativeEnum({values,typeName:ZodFirstPartyTypeKind.ZodNativeEnum,...processCreateParams(params)});var ZodPromise=class extends ZodType{unwrap(){return this._def.type}_parse(input){let{ctx}=this._processInputParams(input);if(ctx.parsedType!==ZodParsedType.promise&&ctx.common.async===!1)return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.promise,received:ctx.parsedType}),INVALID;let promisified=ctx.parsedType===ZodParsedType.promise?ctx.data:Promise.resolve(ctx.data);return OK(promisified.then(data=>this._def.type.parseAsync(data,{path:ctx.path,errorMap:ctx.common.contextualErrorMap})))}};ZodPromise.create=(schema,params)=>new ZodPromise({type:schema,typeName:ZodFirstPartyTypeKind.ZodPromise,...processCreateParams(params)});var ZodEffects=class extends ZodType{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ZodFirstPartyTypeKind.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(input){let{status,ctx}=this._processInputParams(input),effect=this._def.effect||null,checkCtx={addIssue:arg=>{addIssueToContext(ctx,arg),arg.fatal?status.abort():status.dirty()},get path(){return ctx.path}};if(checkCtx.addIssue=checkCtx.addIssue.bind(checkCtx),effect.type==="preprocess"){let processed=effect.transform(ctx.data,checkCtx);if(ctx.common.async)return Promise.resolve(processed).then(async processed2=>{if(status.value==="aborted")return INVALID;let result=await this._def.schema._parseAsync({data:processed2,path:ctx.path,parent:ctx});return result.status==="aborted"?INVALID:result.status==="dirty"?DIRTY(result.value):status.value==="dirty"?DIRTY(result.value):result});{if(status.value==="aborted")return INVALID;let result=this._def.schema._parseSync({data:processed,path:ctx.path,parent:ctx});return result.status==="aborted"?INVALID:result.status==="dirty"?DIRTY(result.value):status.value==="dirty"?DIRTY(result.value):result}}if(effect.type==="refinement"){let executeRefinement=acc=>{let result=effect.refinement(acc,checkCtx);if(ctx.common.async)return Promise.resolve(result);if(result instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return acc};if(ctx.common.async===!1){let inner=this._def.schema._parseSync({data:ctx.data,path:ctx.path,parent:ctx});return inner.status==="aborted"?INVALID:(inner.status==="dirty"&&status.dirty(),executeRefinement(inner.value),{status:status.value,value:inner.value})}else return this._def.schema._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}).then(inner=>inner.status==="aborted"?INVALID:(inner.status==="dirty"&&status.dirty(),executeRefinement(inner.value).then(()=>({status:status.value,value:inner.value}))))}if(effect.type==="transform")if(ctx.common.async===!1){let base=this._def.schema._parseSync({data:ctx.data,path:ctx.path,parent:ctx});if(!isValid(base))return INVALID;let result=effect.transform(base.value,checkCtx);if(result instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:status.value,value:result}}else return this._def.schema._parseAsync({data:ctx.data,path:ctx.path,parent:ctx}).then(base=>isValid(base)?Promise.resolve(effect.transform(base.value,checkCtx)).then(result=>({status:status.value,value:result})):INVALID);util.assertNever(effect)}};ZodEffects.create=(schema,effect,params)=>new ZodEffects({schema,typeName:ZodFirstPartyTypeKind.ZodEffects,effect,...processCreateParams(params)});ZodEffects.createWithPreprocess=(preprocess2,schema,params)=>new ZodEffects({schema,effect:{type:"preprocess",transform:preprocess2},typeName:ZodFirstPartyTypeKind.ZodEffects,...processCreateParams(params)});var ZodOptional=class extends ZodType{_parse(input){return this._getType(input)===ZodParsedType.undefined?OK(void 0):this._def.innerType._parse(input)}unwrap(){return this._def.innerType}};ZodOptional.create=(type,params)=>new ZodOptional({innerType:type,typeName:ZodFirstPartyTypeKind.ZodOptional,...processCreateParams(params)});var ZodNullable=class extends ZodType{_parse(input){return this._getType(input)===ZodParsedType.null?OK(null):this._def.innerType._parse(input)}unwrap(){return this._def.innerType}};ZodNullable.create=(type,params)=>new ZodNullable({innerType:type,typeName:ZodFirstPartyTypeKind.ZodNullable,...processCreateParams(params)});var ZodDefault=class extends ZodType{_parse(input){let{ctx}=this._processInputParams(input),data=ctx.data;return ctx.parsedType===ZodParsedType.undefined&&(data=this._def.defaultValue()),this._def.innerType._parse({data,path:ctx.path,parent:ctx})}removeDefault(){return this._def.innerType}};ZodDefault.create=(type,params)=>new ZodDefault({innerType:type,typeName:ZodFirstPartyTypeKind.ZodDefault,defaultValue:typeof params.default=="function"?params.default:()=>params.default,...processCreateParams(params)});var ZodCatch=class extends ZodType{_parse(input){let{ctx}=this._processInputParams(input),newCtx={...ctx,common:{...ctx.common,issues:[]}},result=this._def.innerType._parse({data:newCtx.data,path:newCtx.path,parent:{...newCtx}});return isAsync(result)?result.then(result2=>({status:"valid",value:result2.status==="valid"?result2.value:this._def.catchValue({get error(){return new ZodError(newCtx.common.issues)},input:newCtx.data})})):{status:"valid",value:result.status==="valid"?result.value:this._def.catchValue({get error(){return new ZodError(newCtx.common.issues)},input:newCtx.data})}}removeCatch(){return this._def.innerType}};ZodCatch.create=(type,params)=>new ZodCatch({innerType:type,typeName:ZodFirstPartyTypeKind.ZodCatch,catchValue:typeof params.catch=="function"?params.catch:()=>params.catch,...processCreateParams(params)});var ZodNaN=class extends ZodType{_parse(input){if(this._getType(input)!==ZodParsedType.nan){let ctx=this._getOrReturnCtx(input);return addIssueToContext(ctx,{code:ZodIssueCode.invalid_type,expected:ZodParsedType.nan,received:ctx.parsedType}),INVALID}return{status:"valid",value:input.data}}};ZodNaN.create=params=>new ZodNaN({typeName:ZodFirstPartyTypeKind.ZodNaN,...processCreateParams(params)});var BRAND=Symbol("zod_brand"),ZodBranded=class extends ZodType{_parse(input){let{ctx}=this._processInputParams(input),data=ctx.data;return this._def.type._parse({data,path:ctx.path,parent:ctx})}unwrap(){return this._def.type}},ZodPipeline=class _ZodPipeline extends ZodType{_parse(input){let{status,ctx}=this._processInputParams(input);if(ctx.common.async)return(async()=>{let inResult=await this._def.in._parseAsync({data:ctx.data,path:ctx.path,parent:ctx});return inResult.status==="aborted"?INVALID:inResult.status==="dirty"?(status.dirty(),DIRTY(inResult.value)):this._def.out._parseAsync({data:inResult.value,path:ctx.path,parent:ctx})})();{let inResult=this._def.in._parseSync({data:ctx.data,path:ctx.path,parent:ctx});return inResult.status==="aborted"?INVALID:inResult.status==="dirty"?(status.dirty(),{status:"dirty",value:inResult.value}):this._def.out._parseSync({data:inResult.value,path:ctx.path,parent:ctx})}}static create(a,b){return new _ZodPipeline({in:a,out:b,typeName:ZodFirstPartyTypeKind.ZodPipeline})}},ZodReadonly=class extends ZodType{_parse(input){let result=this._def.innerType._parse(input),freeze=data=>(isValid(data)&&(data.value=Object.freeze(data.value)),data);return isAsync(result)?result.then(data=>freeze(data)):freeze(result)}unwrap(){return this._def.innerType}};ZodReadonly.create=(type,params)=>new ZodReadonly({innerType:type,typeName:ZodFirstPartyTypeKind.ZodReadonly,...processCreateParams(params)});function cleanParams(params,data){let p=typeof params=="function"?params(data):typeof params=="string"?{message:params}:params;return typeof p=="string"?{message:p}:p}function custom(check2,_params={},fatal){return check2?ZodAny.create().superRefine((data,ctx)=>{let r=check2(data);if(r instanceof Promise)return r.then(r2=>{if(!r2){let params=cleanParams(_params,data),_fatal=params.fatal??fatal??!0;ctx.addIssue({code:"custom",...params,fatal:_fatal})}});if(!r){let params=cleanParams(_params,data),_fatal=params.fatal??fatal??!0;ctx.addIssue({code:"custom",...params,fatal:_fatal})}}):ZodAny.create()}var late={object:ZodObject.lazycreate},ZodFirstPartyTypeKind;(function(ZodFirstPartyTypeKind2){ZodFirstPartyTypeKind2.ZodString="ZodString",ZodFirstPartyTypeKind2.ZodNumber="ZodNumber",ZodFirstPartyTypeKind2.ZodNaN="ZodNaN",ZodFirstPartyTypeKind2.ZodBigInt="ZodBigInt",ZodFirstPartyTypeKind2.ZodBoolean="ZodBoolean",ZodFirstPartyTypeKind2.ZodDate="ZodDate",ZodFirstPartyTypeKind2.ZodSymbol="ZodSymbol",ZodFirstPartyTypeKind2.ZodUndefined="ZodUndefined",ZodFirstPartyTypeKind2.ZodNull="ZodNull",ZodFirstPartyTypeKind2.ZodAny="ZodAny",ZodFirstPartyTypeKind2.ZodUnknown="ZodUnknown",ZodFirstPartyTypeKind2.ZodNever="ZodNever",ZodFirstPartyTypeKind2.ZodVoid="ZodVoid",ZodFirstPartyTypeKind2.ZodArray="ZodArray",ZodFirstPartyTypeKind2.ZodObject="ZodObject",ZodFirstPartyTypeKind2.ZodUnion="ZodUnion",ZodFirstPartyTypeKind2.ZodDiscriminatedUnion="ZodDiscriminatedUnion",ZodFirstPartyTypeKind2.ZodIntersection="ZodIntersection",ZodFirstPartyTypeKind2.ZodTuple="ZodTuple",ZodFirstPartyTypeKind2.ZodRecord="ZodRecord",ZodFirstPartyTypeKind2.ZodMap="ZodMap",ZodFirstPartyTypeKind2.ZodSet="ZodSet",ZodFirstPartyTypeKind2.ZodFunction="ZodFunction",ZodFirstPartyTypeKind2.ZodLazy="ZodLazy",ZodFirstPartyTypeKind2.ZodLiteral="ZodLiteral",ZodFirstPartyTypeKind2.ZodEnum="ZodEnum",ZodFirstPartyTypeKind2.ZodEffects="ZodEffects",ZodFirstPartyTypeKind2.ZodNativeEnum="ZodNativeEnum",ZodFirstPartyTypeKind2.ZodOptional="ZodOptional",ZodFirstPartyTypeKind2.ZodNullable="ZodNullable",ZodFirstPartyTypeKind2.ZodDefault="ZodDefault",ZodFirstPartyTypeKind2.ZodCatch="ZodCatch",ZodFirstPartyTypeKind2.ZodPromise="ZodPromise",ZodFirstPartyTypeKind2.ZodBranded="ZodBranded",ZodFirstPartyTypeKind2.ZodPipeline="ZodPipeline",ZodFirstPartyTypeKind2.ZodReadonly="ZodReadonly"})(ZodFirstPartyTypeKind||(ZodFirstPartyTypeKind={}));var instanceOfType=(cls,params={message:`Input not instance of ${cls.name}`})=>custom(data=>data instanceof cls,params),stringType=ZodString.create,numberType=ZodNumber.create,nanType=ZodNaN.create,bigIntType=ZodBigInt.create,booleanType=ZodBoolean.create,dateType=ZodDate.create,symbolType=ZodSymbol.create,undefinedType=ZodUndefined.create,nullType=ZodNull.create,anyType=ZodAny.create,unknownType=ZodUnknown.create,neverType=ZodNever.create,voidType=ZodVoid.create,arrayType=ZodArray.create,objectType=ZodObject.create,strictObjectType=ZodObject.strictCreate,unionType=ZodUnion.create,discriminatedUnionType=ZodDiscriminatedUnion.create,intersectionType=ZodIntersection.create,tupleType=ZodTuple.create,recordType=ZodRecord.create,mapType=ZodMap.create,setType=ZodSet.create,functionType=ZodFunction.create,lazyType=ZodLazy.create,literalType=ZodLiteral.create,enumType=ZodEnum.create,nativeEnumType=ZodNativeEnum.create,promiseType=ZodPromise.create,effectsType=ZodEffects.create,optionalType=ZodOptional.create,nullableType=ZodNullable.create,preprocessType=ZodEffects.createWithPreprocess,pipelineType=ZodPipeline.create,ostring=()=>stringType().optional(),onumber=()=>numberType().optional(),oboolean=()=>booleanType().optional(),coerce={string:(arg=>ZodString.create({...arg,coerce:!0})),number:(arg=>ZodNumber.create({...arg,coerce:!0})),boolean:(arg=>ZodBoolean.create({...arg,coerce:!0})),bigint:(arg=>ZodBigInt.create({...arg,coerce:!0})),date:(arg=>ZodDate.create({...arg,coerce:!0}))};var NEVER=INVALID;var NEVER2=Object.freeze({status:"aborted"});function $constructor(name,initializer3,params){function init(inst,def){var _a;Object.defineProperty(inst,"_zod",{value:inst._zod??{},enumerable:!1}),(_a=inst._zod).traits??(_a.traits=new Set),inst._zod.traits.add(name),initializer3(inst,def);for(let k in _.prototype)k in inst||Object.defineProperty(inst,k,{value:_.prototype[k].bind(inst)});inst._zod.constr=_,inst._zod.def=def}let Parent=params?.Parent??Object;class Definition extends Parent{}Object.defineProperty(Definition,"name",{value:name});function _(def){var _a;let inst=params?.Parent?new Definition:this;init(inst,def),(_a=inst._zod).deferred??(_a.deferred=[]);for(let fn of inst._zod.deferred)fn();return inst}return Object.defineProperty(_,"init",{value:init}),Object.defineProperty(_,Symbol.hasInstance,{value:inst=>params?.Parent&&inst instanceof params.Parent?!0:inst?._zod?.traits?.has(name)}),Object.defineProperty(_,"name",{value:name}),_}var $ZodAsyncError=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},globalConfig={};function config(newConfig){return newConfig&&Object.assign(globalConfig,newConfig),globalConfig}var util_exports={};__export(util_exports,{BIGINT_FORMAT_RANGES:()=>BIGINT_FORMAT_RANGES,Class:()=>Class,NUMBER_FORMAT_RANGES:()=>NUMBER_FORMAT_RANGES,aborted:()=>aborted,allowsEval:()=>allowsEval,assert:()=>assert,assertEqual:()=>assertEqual,assertIs:()=>assertIs,assertNever:()=>assertNever,assertNotEqual:()=>assertNotEqual,assignProp:()=>assignProp,cached:()=>cached,captureStackTrace:()=>captureStackTrace,cleanEnum:()=>cleanEnum,cleanRegex:()=>cleanRegex,clone:()=>clone,createTransparentProxy:()=>createTransparentProxy,defineLazy:()=>defineLazy,esc:()=>esc,escapeRegex:()=>escapeRegex,extend:()=>extend,finalizeIssue:()=>finalizeIssue,floatSafeRemainder:()=>floatSafeRemainder2,getElementAtPath:()=>getElementAtPath,getEnumValues:()=>getEnumValues,getLengthableOrigin:()=>getLengthableOrigin,getParsedType:()=>getParsedType2,getSizableOrigin:()=>getSizableOrigin,isObject:()=>isObject,isPlainObject:()=>isPlainObject,issue:()=>issue,joinValues:()=>joinValues,jsonStringifyReplacer:()=>jsonStringifyReplacer,merge:()=>merge,normalizeParams:()=>normalizeParams,nullish:()=>nullish,numKeys:()=>numKeys,omit:()=>omit,optionalKeys:()=>optionalKeys,partial:()=>partial,pick:()=>pick,prefixIssues:()=>prefixIssues,primitiveTypes:()=>primitiveTypes,promiseAllObject:()=>promiseAllObject,propertyKeyTypes:()=>propertyKeyTypes,randomString:()=>randomString,required:()=>required,stringifyPrimitive:()=>stringifyPrimitive,unwrapMessage:()=>unwrapMessage});function assertEqual(val){return val}function assertNotEqual(val){return val}function assertIs(_arg){}function assertNever(_x){throw new Error}function assert(_){}function getEnumValues(entries){let numericValues=Object.values(entries).filter(v=>typeof v=="number");return Object.entries(entries).filter(([k,_])=>numericValues.indexOf(+k)===-1).map(([_,v])=>v)}function joinValues(array2,separator="|"){return array2.map(val=>stringifyPrimitive(val)).join(separator)}function jsonStringifyReplacer(_,value){return typeof value=="bigint"?value.toString():value}function cached(getter){return{get value(){{let value=getter();return Object.defineProperty(this,"value",{value}),value}throw new Error("cached value already set")}}}function nullish(input){return input==null}function cleanRegex(source){let start=source.startsWith("^")?1:0,end=source.endsWith("$")?source.length-1:source.length;return source.slice(start,end)}function floatSafeRemainder2(val,step){let valDecCount=(val.toString().split(".")[1]||"").length,stepDecCount=(step.toString().split(".")[1]||"").length,decCount=valDecCount>stepDecCount?valDecCount:stepDecCount,valInt=Number.parseInt(val.toFixed(decCount).replace(".","")),stepInt=Number.parseInt(step.toFixed(decCount).replace(".",""));return valInt%stepInt/10**decCount}function defineLazy(object3,key,getter){Object.defineProperty(object3,key,{get(){{let value=getter();return object3[key]=value,value}throw new Error("cached value already set")},set(v){Object.defineProperty(object3,key,{value:v})},configurable:!0})}function assignProp(target,prop,value){Object.defineProperty(target,prop,{value,writable:!0,enumerable:!0,configurable:!0})}function getElementAtPath(obj,path){return path?path.reduce((acc,key)=>acc?.[key],obj):obj}function promiseAllObject(promisesObj){let keys=Object.keys(promisesObj),promises=keys.map(key=>promisesObj[key]);return Promise.all(promises).then(results=>{let resolvedObj={};for(let i=0;i<keys.length;i++)resolvedObj[keys[i]]=results[i];return resolvedObj})}function randomString(length=10){let chars="abcdefghijklmnopqrstuvwxyz",str="";for(let i=0;i<length;i++)str+=chars[Math.floor(Math.random()*chars.length)];return str}function esc(str){return JSON.stringify(str)}var captureStackTrace=Error.captureStackTrace?Error.captureStackTrace:(..._args)=>{};function isObject(data){return typeof data=="object"&&data!==null&&!Array.isArray(data)}var allowsEval=cached(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let F=Function;return new F(""),!0}catch{return!1}});function isPlainObject(o){if(isObject(o)===!1)return!1;let ctor=o.constructor;if(ctor===void 0)return!0;let prot=ctor.prototype;return!(isObject(prot)===!1||Object.prototype.hasOwnProperty.call(prot,"isPrototypeOf")===!1)}function numKeys(data){let keyCount=0;for(let key in data)Object.prototype.hasOwnProperty.call(data,key)&&keyCount++;return keyCount}var getParsedType2=data=>{let t=typeof data;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(data)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(data)?"array":data===null?"null":data.then&&typeof data.then=="function"&&data.catch&&typeof data.catch=="function"?"promise":typeof Map<"u"&&data instanceof Map?"map":typeof Set<"u"&&data instanceof Set?"set":typeof Date<"u"&&data instanceof Date?"date":typeof File<"u"&&data instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},propertyKeyTypes=new Set(["string","number","symbol"]),primitiveTypes=new Set(["string","number","bigint","boolean","symbol","undefined"]);function escapeRegex(str){return str.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function clone(inst,def,params){let cl=new inst._zod.constr(def??inst._zod.def);return(!def||params?.parent)&&(cl._zod.parent=inst),cl}function normalizeParams(_params){let params=_params;if(!params)return{};if(typeof params=="string")return{error:()=>params};if(params?.message!==void 0){if(params?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");params.error=params.message}return delete params.message,typeof params.error=="string"?{...params,error:()=>params.error}:params}function createTransparentProxy(getter){let target;return new Proxy({},{get(_,prop,receiver){return target??(target=getter()),Reflect.get(target,prop,receiver)},set(_,prop,value,receiver){return target??(target=getter()),Reflect.set(target,prop,value,receiver)},has(_,prop){return target??(target=getter()),Reflect.has(target,prop)},deleteProperty(_,prop){return target??(target=getter()),Reflect.deleteProperty(target,prop)},ownKeys(_){return target??(target=getter()),Reflect.ownKeys(target)},getOwnPropertyDescriptor(_,prop){return target??(target=getter()),Reflect.getOwnPropertyDescriptor(target,prop)},defineProperty(_,prop,descriptor){return target??(target=getter()),Reflect.defineProperty(target,prop,descriptor)}})}function stringifyPrimitive(value){return typeof value=="bigint"?value.toString()+"n":typeof value=="string"?`"${value}"`:`${value}`}function optionalKeys(shape){return Object.keys(shape).filter(k=>shape[k]._zod.optin==="optional"&&shape[k]._zod.optout==="optional")}var NUMBER_FORMAT_RANGES={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},BIGINT_FORMAT_RANGES={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function pick(schema,mask){let newShape={},currDef=schema._zod.def;for(let key in mask){if(!(key in currDef.shape))throw new Error(`Unrecognized key: "${key}"`);mask[key]&&(newShape[key]=currDef.shape[key])}return clone(schema,{...schema._zod.def,shape:newShape,checks:[]})}function omit(schema,mask){let newShape={...schema._zod.def.shape},currDef=schema._zod.def;for(let key in mask){if(!(key in currDef.shape))throw new Error(`Unrecognized key: "${key}"`);mask[key]&&delete newShape[key]}return clone(schema,{...schema._zod.def,shape:newShape,checks:[]})}function extend(schema,shape){if(!isPlainObject(shape))throw new Error("Invalid input to extend: expected a plain object");let def={...schema._zod.def,get shape(){let _shape={...schema._zod.def.shape,...shape};return assignProp(this,"shape",_shape),_shape},checks:[]};return clone(schema,def)}function merge(a,b){return clone(a,{...a._zod.def,get shape(){let _shape={...a._zod.def.shape,...b._zod.def.shape};return assignProp(this,"shape",_shape),_shape},catchall:b._zod.def.catchall,checks:[]})}function partial(Class2,schema,mask){let oldShape=schema._zod.def.shape,shape={...oldShape};if(mask)for(let key in mask){if(!(key in oldShape))throw new Error(`Unrecognized key: "${key}"`);mask[key]&&(shape[key]=Class2?new Class2({type:"optional",innerType:oldShape[key]}):oldShape[key])}else for(let key in oldShape)shape[key]=Class2?new Class2({type:"optional",innerType:oldShape[key]}):oldShape[key];return clone(schema,{...schema._zod.def,shape,checks:[]})}function required(Class2,schema,mask){let oldShape=schema._zod.def.shape,shape={...oldShape};if(mask)for(let key in mask){if(!(key in shape))throw new Error(`Unrecognized key: "${key}"`);mask[key]&&(shape[key]=new Class2({type:"nonoptional",innerType:oldShape[key]}))}else for(let key in oldShape)shape[key]=new Class2({type:"nonoptional",innerType:oldShape[key]});return clone(schema,{...schema._zod.def,shape,checks:[]})}function aborted(x,startIndex=0){for(let i=startIndex;i<x.issues.length;i++)if(x.issues[i]?.continue!==!0)return!0;return!1}function prefixIssues(path,issues){return issues.map(iss=>{var _a;return(_a=iss).path??(_a.path=[]),iss.path.unshift(path),iss})}function unwrapMessage(message){return typeof message=="string"?message:message?.message}function finalizeIssue(iss,ctx,config2){let full={...iss,path:iss.path??[]};if(!iss.message){let message=unwrapMessage(iss.inst?._zod.def?.error?.(iss))??unwrapMessage(ctx?.error?.(iss))??unwrapMessage(config2.customError?.(iss))??unwrapMessage(config2.localeError?.(iss))??"Invalid input";full.message=message}return delete full.inst,delete full.continue,ctx?.reportInput||delete full.input,full}function getSizableOrigin(input){return input instanceof Set?"set":input instanceof Map?"map":input instanceof File?"file":"unknown"}function getLengthableOrigin(input){return Array.isArray(input)?"array":typeof input=="string"?"string":"unknown"}function issue(...args){let[iss,input,inst]=args;return typeof iss=="string"?{message:iss,code:"custom",input,inst}:{...iss}}function cleanEnum(obj){return Object.entries(obj).filter(([k,_])=>Number.isNaN(Number.parseInt(k,10))).map(el=>el[1])}var Class=class{constructor(..._args){}};var initializer=(inst,def)=>{inst.name="$ZodError",Object.defineProperty(inst,"_zod",{value:inst._zod,enumerable:!1}),Object.defineProperty(inst,"issues",{value:def,enumerable:!1}),Object.defineProperty(inst,"message",{get(){return JSON.stringify(def,jsonStringifyReplacer,2)},enumerable:!0}),Object.defineProperty(inst,"toString",{value:()=>inst.message,enumerable:!1})},$ZodError=$constructor("$ZodError",initializer),$ZodRealError=$constructor("$ZodError",initializer,{Parent:Error});function flattenError(error3,mapper=issue2=>issue2.message){let fieldErrors={},formErrors=[];for(let sub of error3.issues)sub.path.length>0?(fieldErrors[sub.path[0]]=fieldErrors[sub.path[0]]||[],fieldErrors[sub.path[0]].push(mapper(sub))):formErrors.push(mapper(sub));return{formErrors,fieldErrors}}function formatError(error3,_mapper){let mapper=_mapper||function(issue2){return issue2.message},fieldErrors={_errors:[]},processError=error4=>{for(let issue2 of error4.issues)if(issue2.code==="invalid_union"&&issue2.errors.length)issue2.errors.map(issues=>processError({issues}));else if(issue2.code==="invalid_key")processError({issues:issue2.issues});else if(issue2.code==="invalid_element")processError({issues:issue2.issues});else if(issue2.path.length===0)fieldErrors._errors.push(mapper(issue2));else{let curr=fieldErrors,i=0;for(;i<issue2.path.length;){let el=issue2.path[i];i===issue2.path.length-1?(curr[el]=curr[el]||{_errors:[]},curr[el]._errors.push(mapper(issue2))):curr[el]=curr[el]||{_errors:[]},curr=curr[el],i++}}};return processError(error3),fieldErrors}var _parse=_Err=>(schema,value,_ctx,_params)=>{let ctx=_ctx?Object.assign(_ctx,{async:!1}):{async:!1},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)throw new $ZodAsyncError;if(result.issues.length){let e=new(_params?.Err??_Err)(result.issues.map(iss=>finalizeIssue(iss,ctx,config())));throw captureStackTrace(e,_params?.callee),e}return result.value},parse=_parse($ZodRealError),_parseAsync=_Err=>async(schema,value,_ctx,params)=>{let ctx=_ctx?Object.assign(_ctx,{async:!0}):{async:!0},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise&&(result=await result),result.issues.length){let e=new(params?.Err??_Err)(result.issues.map(iss=>finalizeIssue(iss,ctx,config())));throw captureStackTrace(e,params?.callee),e}return result.value},parseAsync=_parseAsync($ZodRealError),_safeParse=_Err=>(schema,value,_ctx)=>{let ctx=_ctx?{..._ctx,async:!1}:{async:!1},result=schema._zod.run({value,issues:[]},ctx);if(result instanceof Promise)throw new $ZodAsyncError;return result.issues.length?{success:!1,error:new(_Err??$ZodError)(result.issues.map(iss=>finalizeIssue(iss,ctx,config())))}:{success:!0,data:result.value}},safeParse=_safeParse($ZodRealError),_safeParseAsync=_Err=>async(schema,value,_ctx)=>{let ctx=_ctx?Object.assign(_ctx,{async:!0}):{async:!0},result=schema._zod.run({value,issues:[]},ctx);return result instanceof Promise&&(result=await result),result.issues.length?{success:!1,error:new _Err(result.issues.map(iss=>finalizeIssue(iss,ctx,config())))}:{success:!0,data:result.value}},safeParseAsync=_safeParseAsync($ZodRealError);var cuid=/^[cC][^\s-]{8,}$/,cuid2=/^[0-9a-z]+$/,ulid=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,xid=/^[0-9a-vA-V]{20}$/,ksuid=/^[A-Za-z0-9]{27}$/,nanoid=/^[a-zA-Z0-9_-]{21}$/,duration=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var guid=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,uuid=version2=>version2?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version2}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;var email=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var _emoji="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function emoji(){return new RegExp(_emoji,"u")}var ipv4=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,cidrv4=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,cidrv6=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,base64url=/^[A-Za-z0-9_-]*$/,hostname=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var e164=/^\+(?:[0-9]){6,14}[0-9]$/,dateSource="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",date=new RegExp(`^${dateSource}$`);function timeSource(args){let hhmm="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof args.precision=="number"?args.precision===-1?`${hhmm}`:args.precision===0?`${hhmm}:[0-5]\\d`:`${hhmm}:[0-5]\\d\\.\\d{${args.precision}}`:`${hhmm}(?::[0-5]\\d(?:\\.\\d+)?)?`}function time(args){return new RegExp(`^${timeSource(args)}$`)}function datetime(args){let time3=timeSource({precision:args.precision}),opts=["Z"];args.local&&opts.push(""),args.offset&&opts.push("([+-]\\d{2}:\\d{2})");let timeRegex2=`${time3}(?:${opts.join("|")})`;return new RegExp(`^${dateSource}T(?:${timeRegex2})$`)}var string=params=>{let regex=params?`[\\s\\S]{${params?.minimum??0},${params?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${regex}$`)};var integer=/^\d+$/,number=/^-?\d+(?:\.\d+)?/i,boolean=/true|false/i,_null=/null/i;var lowercase=/^[^A-Z]*$/,uppercase=/^[^a-z]*$/;var $ZodCheck=$constructor("$ZodCheck",(inst,def)=>{var _a;inst._zod??(inst._zod={}),inst._zod.def=def,(_a=inst._zod).onattach??(_a.onattach=[])}),numericOriginMap={number:"number",bigint:"bigint",object:"date"},$ZodCheckLessThan=$constructor("$ZodCheckLessThan",(inst,def)=>{$ZodCheck.init(inst,def);let origin=numericOriginMap[typeof def.value];inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag,curr=(def.inclusive?bag.maximum:bag.exclusiveMaximum)??Number.POSITIVE_INFINITY;def.value<curr&&(def.inclusive?bag.maximum=def.value:bag.exclusiveMaximum=def.value)}),inst._zod.check=payload=>{(def.inclusive?payload.value<=def.value:payload.value<def.value)||payload.issues.push({origin,code:"too_big",maximum:def.value,input:payload.value,inclusive:def.inclusive,inst,continue:!def.abort})}}),$ZodCheckGreaterThan=$constructor("$ZodCheckGreaterThan",(inst,def)=>{$ZodCheck.init(inst,def);let origin=numericOriginMap[typeof def.value];inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag,curr=(def.inclusive?bag.minimum:bag.exclusiveMinimum)??Number.NEGATIVE_INFINITY;def.value>curr&&(def.inclusive?bag.minimum=def.value:bag.exclusiveMinimum=def.value)}),inst._zod.check=payload=>{(def.inclusive?payload.value>=def.value:payload.value>def.value)||payload.issues.push({origin,code:"too_small",minimum:def.value,input:payload.value,inclusive:def.inclusive,inst,continue:!def.abort})}}),$ZodCheckMultipleOf=$constructor("$ZodCheckMultipleOf",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.onattach.push(inst2=>{var _a;(_a=inst2._zod.bag).multipleOf??(_a.multipleOf=def.value)}),inst._zod.check=payload=>{if(typeof payload.value!=typeof def.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof payload.value=="bigint"?payload.value%def.value===BigInt(0):floatSafeRemainder2(payload.value,def.value)===0)||payload.issues.push({origin:typeof payload.value,code:"not_multiple_of",divisor:def.value,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckNumberFormat=$constructor("$ZodCheckNumberFormat",(inst,def)=>{$ZodCheck.init(inst,def),def.format=def.format||"float64";let isInt=def.format?.includes("int"),origin=isInt?"int":"number",[minimum,maximum]=NUMBER_FORMAT_RANGES[def.format];inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.format=def.format,bag.minimum=minimum,bag.maximum=maximum,isInt&&(bag.pattern=integer)}),inst._zod.check=payload=>{let input=payload.value;if(isInt){if(!Number.isInteger(input)){payload.issues.push({expected:origin,format:def.format,code:"invalid_type",input,inst});return}if(!Number.isSafeInteger(input)){input>0?payload.issues.push({input,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst,origin,continue:!def.abort}):payload.issues.push({input,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst,origin,continue:!def.abort});return}}input<minimum&&payload.issues.push({origin:"number",input,code:"too_small",minimum,inclusive:!0,inst,continue:!def.abort}),input>maximum&&payload.issues.push({origin:"number",input,code:"too_big",maximum,inst})}});var $ZodCheckMaxLength=$constructor("$ZodCheckMaxLength",(inst,def)=>{var _a;$ZodCheck.init(inst,def),(_a=inst._zod.def).when??(_a.when=payload=>{let val=payload.value;return!nullish(val)&&val.length!==void 0}),inst._zod.onattach.push(inst2=>{let curr=inst2._zod.bag.maximum??Number.POSITIVE_INFINITY;def.maximum<curr&&(inst2._zod.bag.maximum=def.maximum)}),inst._zod.check=payload=>{let input=payload.value;if(input.length<=def.maximum)return;let origin=getLengthableOrigin(input);payload.issues.push({origin,code:"too_big",maximum:def.maximum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckMinLength=$constructor("$ZodCheckMinLength",(inst,def)=>{var _a;$ZodCheck.init(inst,def),(_a=inst._zod.def).when??(_a.when=payload=>{let val=payload.value;return!nullish(val)&&val.length!==void 0}),inst._zod.onattach.push(inst2=>{let curr=inst2._zod.bag.minimum??Number.NEGATIVE_INFINITY;def.minimum>curr&&(inst2._zod.bag.minimum=def.minimum)}),inst._zod.check=payload=>{let input=payload.value;if(input.length>=def.minimum)return;let origin=getLengthableOrigin(input);payload.issues.push({origin,code:"too_small",minimum:def.minimum,inclusive:!0,input,inst,continue:!def.abort})}}),$ZodCheckLengthEquals=$constructor("$ZodCheckLengthEquals",(inst,def)=>{var _a;$ZodCheck.init(inst,def),(_a=inst._zod.def).when??(_a.when=payload=>{let val=payload.value;return!nullish(val)&&val.length!==void 0}),inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.minimum=def.length,bag.maximum=def.length,bag.length=def.length}),inst._zod.check=payload=>{let input=payload.value,length=input.length;if(length===def.length)return;let origin=getLengthableOrigin(input),tooBig=length>def.length;payload.issues.push({origin,...tooBig?{code:"too_big",maximum:def.length}:{code:"too_small",minimum:def.length},inclusive:!0,exact:!0,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckStringFormat=$constructor("$ZodCheckStringFormat",(inst,def)=>{var _a,_b;$ZodCheck.init(inst,def),inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.format=def.format,def.pattern&&(bag.patterns??(bag.patterns=new Set),bag.patterns.add(def.pattern))}),def.pattern?(_a=inst._zod).check??(_a.check=payload=>{def.pattern.lastIndex=0,!def.pattern.test(payload.value)&&payload.issues.push({origin:"string",code:"invalid_format",format:def.format,input:payload.value,...def.pattern?{pattern:def.pattern.toString()}:{},inst,continue:!def.abort})}):(_b=inst._zod).check??(_b.check=()=>{})}),$ZodCheckRegex=$constructor("$ZodCheckRegex",(inst,def)=>{$ZodCheckStringFormat.init(inst,def),inst._zod.check=payload=>{def.pattern.lastIndex=0,!def.pattern.test(payload.value)&&payload.issues.push({origin:"string",code:"invalid_format",format:"regex",input:payload.value,pattern:def.pattern.toString(),inst,continue:!def.abort})}}),$ZodCheckLowerCase=$constructor("$ZodCheckLowerCase",(inst,def)=>{def.pattern??(def.pattern=lowercase),$ZodCheckStringFormat.init(inst,def)}),$ZodCheckUpperCase=$constructor("$ZodCheckUpperCase",(inst,def)=>{def.pattern??(def.pattern=uppercase),$ZodCheckStringFormat.init(inst,def)}),$ZodCheckIncludes=$constructor("$ZodCheckIncludes",(inst,def)=>{$ZodCheck.init(inst,def);let escapedRegex=escapeRegex(def.includes),pattern=new RegExp(typeof def.position=="number"?`^.{${def.position}}${escapedRegex}`:escapedRegex);def.pattern=pattern,inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=payload=>{payload.value.includes(def.includes,def.position)||payload.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:def.includes,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckStartsWith=$constructor("$ZodCheckStartsWith",(inst,def)=>{$ZodCheck.init(inst,def);let pattern=new RegExp(`^${escapeRegex(def.prefix)}.*`);def.pattern??(def.pattern=pattern),inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=payload=>{payload.value.startsWith(def.prefix)||payload.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:def.prefix,input:payload.value,inst,continue:!def.abort})}}),$ZodCheckEndsWith=$constructor("$ZodCheckEndsWith",(inst,def)=>{$ZodCheck.init(inst,def);let pattern=new RegExp(`.*${escapeRegex(def.suffix)}$`);def.pattern??(def.pattern=pattern),inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.patterns??(bag.patterns=new Set),bag.patterns.add(pattern)}),inst._zod.check=payload=>{payload.value.endsWith(def.suffix)||payload.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:def.suffix,input:payload.value,inst,continue:!def.abort})}});var $ZodCheckOverwrite=$constructor("$ZodCheckOverwrite",(inst,def)=>{$ZodCheck.init(inst,def),inst._zod.check=payload=>{payload.value=def.tx(payload.value)}});var Doc=class{constructor(args=[]){this.content=[],this.indent=0,this&&(this.args=args)}indented(fn){this.indent+=1,fn(this),this.indent-=1}write(arg){if(typeof arg=="function"){arg(this,{execution:"sync"}),arg(this,{execution:"async"});return}let lines=arg.split(`
|
|
152
|
+
`).filter(x=>x),minIndent=Math.min(...lines.map(x=>x.length-x.trimStart().length)),dedented=lines.map(x=>x.slice(minIndent)).map(x=>" ".repeat(this.indent*2)+x);for(let line of dedented)this.content.push(line)}compile(){let F=Function,args=this?.args,lines=[...(this?.content??[""]).map(x=>` ${x}`)];return new F(...args,lines.join(`
|
|
153
|
+
`))}};var version={major:4,minor:0,patch:0};var $ZodType=$constructor("$ZodType",(inst,def)=>{var _a;inst??(inst={}),inst._zod.def=def,inst._zod.bag=inst._zod.bag||{},inst._zod.version=version;let checks=[...inst._zod.def.checks??[]];inst._zod.traits.has("$ZodCheck")&&checks.unshift(inst);for(let ch of checks)for(let fn of ch._zod.onattach)fn(inst);if(checks.length===0)(_a=inst._zod).deferred??(_a.deferred=[]),inst._zod.deferred?.push(()=>{inst._zod.run=inst._zod.parse});else{let runChecks=(payload,checks2,ctx)=>{let isAborted2=aborted(payload),asyncResult;for(let ch of checks2){if(ch._zod.def.when){if(!ch._zod.def.when(payload))continue}else if(isAborted2)continue;let currLen=payload.issues.length,_=ch._zod.check(payload);if(_ instanceof Promise&&ctx?.async===!1)throw new $ZodAsyncError;if(asyncResult||_ instanceof Promise)asyncResult=(asyncResult??Promise.resolve()).then(async()=>{await _,payload.issues.length!==currLen&&(isAborted2||(isAborted2=aborted(payload,currLen)))});else{if(payload.issues.length===currLen)continue;isAborted2||(isAborted2=aborted(payload,currLen))}}return asyncResult?asyncResult.then(()=>payload):payload};inst._zod.run=(payload,ctx)=>{let result=inst._zod.parse(payload,ctx);if(result instanceof Promise){if(ctx.async===!1)throw new $ZodAsyncError;return result.then(result2=>runChecks(result2,checks,ctx))}return runChecks(result,checks,ctx)}}inst["~standard"]={validate:value=>{try{let r=safeParse(inst,value);return r.success?{value:r.data}:{issues:r.error?.issues}}catch{return safeParseAsync(inst,value).then(r=>r.success?{value:r.data}:{issues:r.error?.issues})}},vendor:"zod",version:1}}),$ZodString=$constructor("$ZodString",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=[...inst?._zod.bag?.patterns??[]].pop()??string(inst._zod.bag),inst._zod.parse=(payload,_)=>{if(def.coerce)try{payload.value=String(payload.value)}catch{}return typeof payload.value=="string"||payload.issues.push({expected:"string",code:"invalid_type",input:payload.value,inst}),payload}}),$ZodStringFormat=$constructor("$ZodStringFormat",(inst,def)=>{$ZodCheckStringFormat.init(inst,def),$ZodString.init(inst,def)}),$ZodGUID=$constructor("$ZodGUID",(inst,def)=>{def.pattern??(def.pattern=guid),$ZodStringFormat.init(inst,def)}),$ZodUUID=$constructor("$ZodUUID",(inst,def)=>{if(def.version){let v={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[def.version];if(v===void 0)throw new Error(`Invalid UUID version: "${def.version}"`);def.pattern??(def.pattern=uuid(v))}else def.pattern??(def.pattern=uuid());$ZodStringFormat.init(inst,def)}),$ZodEmail=$constructor("$ZodEmail",(inst,def)=>{def.pattern??(def.pattern=email),$ZodStringFormat.init(inst,def)}),$ZodURL=$constructor("$ZodURL",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=payload=>{try{let orig=payload.value,url=new URL(orig),href=url.href;def.hostname&&(def.hostname.lastIndex=0,def.hostname.test(url.hostname)||payload.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:hostname.source,input:payload.value,inst,continue:!def.abort})),def.protocol&&(def.protocol.lastIndex=0,def.protocol.test(url.protocol.endsWith(":")?url.protocol.slice(0,-1):url.protocol)||payload.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:def.protocol.source,input:payload.value,inst,continue:!def.abort})),!orig.endsWith("/")&&href.endsWith("/")?payload.value=href.slice(0,-1):payload.value=href;return}catch{payload.issues.push({code:"invalid_format",format:"url",input:payload.value,inst,continue:!def.abort})}}}),$ZodEmoji=$constructor("$ZodEmoji",(inst,def)=>{def.pattern??(def.pattern=emoji()),$ZodStringFormat.init(inst,def)}),$ZodNanoID=$constructor("$ZodNanoID",(inst,def)=>{def.pattern??(def.pattern=nanoid),$ZodStringFormat.init(inst,def)}),$ZodCUID=$constructor("$ZodCUID",(inst,def)=>{def.pattern??(def.pattern=cuid),$ZodStringFormat.init(inst,def)}),$ZodCUID2=$constructor("$ZodCUID2",(inst,def)=>{def.pattern??(def.pattern=cuid2),$ZodStringFormat.init(inst,def)}),$ZodULID=$constructor("$ZodULID",(inst,def)=>{def.pattern??(def.pattern=ulid),$ZodStringFormat.init(inst,def)}),$ZodXID=$constructor("$ZodXID",(inst,def)=>{def.pattern??(def.pattern=xid),$ZodStringFormat.init(inst,def)}),$ZodKSUID=$constructor("$ZodKSUID",(inst,def)=>{def.pattern??(def.pattern=ksuid),$ZodStringFormat.init(inst,def)}),$ZodISODateTime=$constructor("$ZodISODateTime",(inst,def)=>{def.pattern??(def.pattern=datetime(def)),$ZodStringFormat.init(inst,def)}),$ZodISODate=$constructor("$ZodISODate",(inst,def)=>{def.pattern??(def.pattern=date),$ZodStringFormat.init(inst,def)}),$ZodISOTime=$constructor("$ZodISOTime",(inst,def)=>{def.pattern??(def.pattern=time(def)),$ZodStringFormat.init(inst,def)}),$ZodISODuration=$constructor("$ZodISODuration",(inst,def)=>{def.pattern??(def.pattern=duration),$ZodStringFormat.init(inst,def)}),$ZodIPv4=$constructor("$ZodIPv4",(inst,def)=>{def.pattern??(def.pattern=ipv4),$ZodStringFormat.init(inst,def),inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.format="ipv4"})}),$ZodIPv6=$constructor("$ZodIPv6",(inst,def)=>{def.pattern??(def.pattern=ipv6),$ZodStringFormat.init(inst,def),inst._zod.onattach.push(inst2=>{let bag=inst2._zod.bag;bag.format="ipv6"}),inst._zod.check=payload=>{try{new URL(`http://[${payload.value}]`)}catch{payload.issues.push({code:"invalid_format",format:"ipv6",input:payload.value,inst,continue:!def.abort})}}}),$ZodCIDRv4=$constructor("$ZodCIDRv4",(inst,def)=>{def.pattern??(def.pattern=cidrv4),$ZodStringFormat.init(inst,def)}),$ZodCIDRv6=$constructor("$ZodCIDRv6",(inst,def)=>{def.pattern??(def.pattern=cidrv6),$ZodStringFormat.init(inst,def),inst._zod.check=payload=>{let[address,prefix]=payload.value.split("/");try{if(!prefix)throw new Error;let prefixNum=Number(prefix);if(`${prefixNum}`!==prefix)throw new Error;if(prefixNum<0||prefixNum>128)throw new Error;new URL(`http://[${address}]`)}catch{payload.issues.push({code:"invalid_format",format:"cidrv6",input:payload.value,inst,continue:!def.abort})}}});function isValidBase64(data){if(data==="")return!0;if(data.length%4!==0)return!1;try{return atob(data),!0}catch{return!1}}var $ZodBase64=$constructor("$ZodBase64",(inst,def)=>{def.pattern??(def.pattern=base64),$ZodStringFormat.init(inst,def),inst._zod.onattach.push(inst2=>{inst2._zod.bag.contentEncoding="base64"}),inst._zod.check=payload=>{isValidBase64(payload.value)||payload.issues.push({code:"invalid_format",format:"base64",input:payload.value,inst,continue:!def.abort})}});function isValidBase64URL(data){if(!base64url.test(data))return!1;let base642=data.replace(/[-_]/g,c=>c==="-"?"+":"/"),padded=base642.padEnd(Math.ceil(base642.length/4)*4,"=");return isValidBase64(padded)}var $ZodBase64URL=$constructor("$ZodBase64URL",(inst,def)=>{def.pattern??(def.pattern=base64url),$ZodStringFormat.init(inst,def),inst._zod.onattach.push(inst2=>{inst2._zod.bag.contentEncoding="base64url"}),inst._zod.check=payload=>{isValidBase64URL(payload.value)||payload.issues.push({code:"invalid_format",format:"base64url",input:payload.value,inst,continue:!def.abort})}}),$ZodE164=$constructor("$ZodE164",(inst,def)=>{def.pattern??(def.pattern=e164),$ZodStringFormat.init(inst,def)});function isValidJWT2(token,algorithm=null){try{let tokensParts=token.split(".");if(tokensParts.length!==3)return!1;let[header]=tokensParts;if(!header)return!1;let parsedHeader=JSON.parse(atob(header));return!("typ"in parsedHeader&&parsedHeader?.typ!=="JWT"||!parsedHeader.alg||algorithm&&(!("alg"in parsedHeader)||parsedHeader.alg!==algorithm))}catch{return!1}}var $ZodJWT=$constructor("$ZodJWT",(inst,def)=>{$ZodStringFormat.init(inst,def),inst._zod.check=payload=>{isValidJWT2(payload.value,def.alg)||payload.issues.push({code:"invalid_format",format:"jwt",input:payload.value,inst,continue:!def.abort})}});var $ZodNumber=$constructor("$ZodNumber",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=inst._zod.bag.pattern??number,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=Number(payload.value)}catch{}let input=payload.value;if(typeof input=="number"&&!Number.isNaN(input)&&Number.isFinite(input))return payload;let received=typeof input=="number"?Number.isNaN(input)?"NaN":Number.isFinite(input)?void 0:"Infinity":void 0;return payload.issues.push({expected:"number",code:"invalid_type",input,inst,...received?{received}:{}}),payload}}),$ZodNumberFormat=$constructor("$ZodNumber",(inst,def)=>{$ZodCheckNumberFormat.init(inst,def),$ZodNumber.init(inst,def)}),$ZodBoolean=$constructor("$ZodBoolean",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=boolean,inst._zod.parse=(payload,_ctx)=>{if(def.coerce)try{payload.value=!!payload.value}catch{}let input=payload.value;return typeof input=="boolean"||payload.issues.push({expected:"boolean",code:"invalid_type",input,inst}),payload}});var $ZodNull=$constructor("$ZodNull",(inst,def)=>{$ZodType.init(inst,def),inst._zod.pattern=_null,inst._zod.values=new Set([null]),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;return input===null||payload.issues.push({expected:"null",code:"invalid_type",input,inst}),payload}});var $ZodUnknown=$constructor("$ZodUnknown",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=payload=>payload}),$ZodNever=$constructor("$ZodNever",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>(payload.issues.push({expected:"never",code:"invalid_type",input:payload.value,inst}),payload)});function handleArrayResult(result,final,index){result.issues.length&&final.issues.push(...prefixIssues(index,result.issues)),final.value[index]=result.value}var $ZodArray=$constructor("$ZodArray",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!Array.isArray(input))return payload.issues.push({expected:"array",code:"invalid_type",input,inst}),payload;payload.value=Array(input.length);let proms=[];for(let i=0;i<input.length;i++){let item=input[i],result=def.element._zod.run({value:item,issues:[]},ctx);result instanceof Promise?proms.push(result.then(result2=>handleArrayResult(result2,payload,i))):handleArrayResult(result,payload,i)}return proms.length?Promise.all(proms).then(()=>payload):payload}});function handleObjectResult(result,final,key){result.issues.length&&final.issues.push(...prefixIssues(key,result.issues)),final.value[key]=result.value}function handleOptionalObjectResult(result,final,key,input){result.issues.length?input[key]===void 0?key in input?final.value[key]=void 0:final.value[key]=result.value:final.issues.push(...prefixIssues(key,result.issues)):result.value===void 0?key in input&&(final.value[key]=void 0):final.value[key]=result.value}var $ZodObject=$constructor("$ZodObject",(inst,def)=>{$ZodType.init(inst,def);let _normalized=cached(()=>{let keys=Object.keys(def.shape);for(let k of keys)if(!(def.shape[k]instanceof $ZodType))throw new Error(`Invalid element at key "${k}": expected a Zod schema`);let okeys=optionalKeys(def.shape);return{shape:def.shape,keys,keySet:new Set(keys),numKeys:keys.length,optionalKeys:new Set(okeys)}});defineLazy(inst._zod,"propValues",()=>{let shape=def.shape,propValues={};for(let key in shape){let field=shape[key]._zod;if(field.values){propValues[key]??(propValues[key]=new Set);for(let v of field.values)propValues[key].add(v)}}return propValues});let generateFastpass=shape=>{let doc=new Doc(["shape","payload","ctx"]),normalized=_normalized.value,parseStr=key=>{let k=esc(key);return`shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`};doc.write("const input = payload.value;");let ids=Object.create(null),counter=0;for(let key of normalized.keys)ids[key]=`key_${counter++}`;doc.write("const newResult = {}");for(let key of normalized.keys)if(normalized.optionalKeys.has(key)){let id=ids[key];doc.write(`const ${id} = ${parseStr(key)};`);let k=esc(key);doc.write(`
|
|
154
|
+
if (${id}.issues.length) {
|
|
155
|
+
if (input[${k}] === undefined) {
|
|
156
|
+
if (${k} in input) {
|
|
157
|
+
newResult[${k}] = undefined;
|
|
158
|
+
}
|
|
159
|
+
} else {
|
|
160
|
+
payload.issues = payload.issues.concat(
|
|
161
|
+
${id}.issues.map((iss) => ({
|
|
162
|
+
...iss,
|
|
163
|
+
path: iss.path ? [${k}, ...iss.path] : [${k}],
|
|
164
|
+
}))
|
|
165
|
+
);
|
|
166
|
+
}
|
|
167
|
+
} else if (${id}.value === undefined) {
|
|
168
|
+
if (${k} in input) newResult[${k}] = undefined;
|
|
169
|
+
} else {
|
|
170
|
+
newResult[${k}] = ${id}.value;
|
|
171
|
+
}
|
|
172
|
+
`)}else{let id=ids[key];doc.write(`const ${id} = ${parseStr(key)};`),doc.write(`
|
|
173
|
+
if (${id}.issues.length) payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
|
|
174
|
+
...iss,
|
|
175
|
+
path: iss.path ? [${esc(key)}, ...iss.path] : [${esc(key)}]
|
|
176
|
+
})));`),doc.write(`newResult[${esc(key)}] = ${id}.value`)}doc.write("payload.value = newResult;"),doc.write("return payload;");let fn=doc.compile();return(payload,ctx)=>fn(shape,payload,ctx)},fastpass,isObject4=isObject,jit=!globalConfig.jitless,fastEnabled=jit&&allowsEval.value,catchall=def.catchall,value;inst._zod.parse=(payload,ctx)=>{value??(value=_normalized.value);let input=payload.value;if(!isObject4(input))return payload.issues.push({expected:"object",code:"invalid_type",input,inst}),payload;let proms=[];if(jit&&fastEnabled&&ctx?.async===!1&&ctx.jitless!==!0)fastpass||(fastpass=generateFastpass(def.shape)),payload=fastpass(payload,ctx);else{payload.value={};let shape=value.shape;for(let key of value.keys){let el=shape[key],r=el._zod.run({value:input[key],issues:[]},ctx),isOptional=el._zod.optin==="optional"&&el._zod.optout==="optional";r instanceof Promise?proms.push(r.then(r2=>isOptional?handleOptionalObjectResult(r2,payload,key,input):handleObjectResult(r2,payload,key))):isOptional?handleOptionalObjectResult(r,payload,key,input):handleObjectResult(r,payload,key)}}if(!catchall)return proms.length?Promise.all(proms).then(()=>payload):payload;let unrecognized=[],keySet=value.keySet,_catchall=catchall._zod,t=_catchall.def.type;for(let key of Object.keys(input)){if(keySet.has(key))continue;if(t==="never"){unrecognized.push(key);continue}let r=_catchall.run({value:input[key],issues:[]},ctx);r instanceof Promise?proms.push(r.then(r2=>handleObjectResult(r2,payload,key))):handleObjectResult(r,payload,key)}return unrecognized.length&&payload.issues.push({code:"unrecognized_keys",keys:unrecognized,input,inst}),proms.length?Promise.all(proms).then(()=>payload):payload}});function handleUnionResults(results,final,inst,ctx){for(let result of results)if(result.issues.length===0)return final.value=result.value,final;return final.issues.push({code:"invalid_union",input:final.value,inst,errors:results.map(result=>result.issues.map(iss=>finalizeIssue(iss,ctx,config())))}),final}var $ZodUnion=$constructor("$ZodUnion",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"optin",()=>def.options.some(o=>o._zod.optin==="optional")?"optional":void 0),defineLazy(inst._zod,"optout",()=>def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),defineLazy(inst._zod,"values",()=>{if(def.options.every(o=>o._zod.values))return new Set(def.options.flatMap(option=>Array.from(option._zod.values)))}),defineLazy(inst._zod,"pattern",()=>{if(def.options.every(o=>o._zod.pattern)){let patterns=def.options.map(o=>o._zod.pattern);return new RegExp(`^(${patterns.map(p=>cleanRegex(p.source)).join("|")})$`)}}),inst._zod.parse=(payload,ctx)=>{let async=!1,results=[];for(let option of def.options){let result=option._zod.run({value:payload.value,issues:[]},ctx);if(result instanceof Promise)results.push(result),async=!0;else{if(result.issues.length===0)return result;results.push(result)}}return async?Promise.all(results).then(results2=>handleUnionResults(results2,payload,inst,ctx)):handleUnionResults(results,payload,inst,ctx)}}),$ZodDiscriminatedUnion=$constructor("$ZodDiscriminatedUnion",(inst,def)=>{$ZodUnion.init(inst,def);let _super=inst._zod.parse;defineLazy(inst._zod,"propValues",()=>{let propValues={};for(let option of def.options){let pv=option._zod.propValues;if(!pv||Object.keys(pv).length===0)throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);for(let[k,v]of Object.entries(pv)){propValues[k]||(propValues[k]=new Set);for(let val of v)propValues[k].add(val)}}return propValues});let disc=cached(()=>{let opts=def.options,map=new Map;for(let o of opts){let values=o._zod.propValues[def.discriminator];if(!values||values.size===0)throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);for(let v of values){if(map.has(v))throw new Error(`Duplicate discriminator value "${String(v)}"`);map.set(v,o)}}return map});inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!isObject(input))return payload.issues.push({code:"invalid_type",expected:"object",input,inst}),payload;let opt=disc.value.get(input?.[def.discriminator]);return opt?opt._zod.run(payload,ctx):def.unionFallback?_super(payload,ctx):(payload.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input,path:[def.discriminator],inst}),payload)}}),$ZodIntersection=$constructor("$ZodIntersection",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value,left=def.left._zod.run({value:input,issues:[]},ctx),right=def.right._zod.run({value:input,issues:[]},ctx);return left instanceof Promise||right instanceof Promise?Promise.all([left,right]).then(([left2,right2])=>handleIntersectionResults(payload,left2,right2)):handleIntersectionResults(payload,left,right)}});function mergeValues2(a,b){if(a===b)return{valid:!0,data:a};if(a instanceof Date&&b instanceof Date&&+a==+b)return{valid:!0,data:a};if(isPlainObject(a)&&isPlainObject(b)){let bKeys=Object.keys(b),sharedKeys=Object.keys(a).filter(key=>bKeys.indexOf(key)!==-1),newObj={...a,...b};for(let key of sharedKeys){let sharedValue=mergeValues2(a[key],b[key]);if(!sharedValue.valid)return{valid:!1,mergeErrorPath:[key,...sharedValue.mergeErrorPath]};newObj[key]=sharedValue.data}return{valid:!0,data:newObj}}if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return{valid:!1,mergeErrorPath:[]};let newArray=[];for(let index=0;index<a.length;index++){let itemA=a[index],itemB=b[index],sharedValue=mergeValues2(itemA,itemB);if(!sharedValue.valid)return{valid:!1,mergeErrorPath:[index,...sharedValue.mergeErrorPath]};newArray.push(sharedValue.data)}return{valid:!0,data:newArray}}return{valid:!1,mergeErrorPath:[]}}function handleIntersectionResults(result,left,right){if(left.issues.length&&result.issues.push(...left.issues),right.issues.length&&result.issues.push(...right.issues),aborted(result))return result;let merged=mergeValues2(left.value,right.value);if(!merged.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(merged.mergeErrorPath)}`);return result.value=merged.data,result}var $ZodRecord=$constructor("$ZodRecord",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,ctx)=>{let input=payload.value;if(!isPlainObject(input))return payload.issues.push({expected:"record",code:"invalid_type",input,inst}),payload;let proms=[];if(def.keyType._zod.values){let values=def.keyType._zod.values;payload.value={};for(let key of values)if(typeof key=="string"||typeof key=="number"||typeof key=="symbol"){let result=def.valueType._zod.run({value:input[key],issues:[]},ctx);result instanceof Promise?proms.push(result.then(result2=>{result2.issues.length&&payload.issues.push(...prefixIssues(key,result2.issues)),payload.value[key]=result2.value})):(result.issues.length&&payload.issues.push(...prefixIssues(key,result.issues)),payload.value[key]=result.value)}let unrecognized;for(let key in input)values.has(key)||(unrecognized=unrecognized??[],unrecognized.push(key));unrecognized&&unrecognized.length>0&&payload.issues.push({code:"unrecognized_keys",input,inst,keys:unrecognized})}else{payload.value={};for(let key of Reflect.ownKeys(input)){if(key==="__proto__")continue;let keyResult=def.keyType._zod.run({value:key,issues:[]},ctx);if(keyResult instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(keyResult.issues.length){payload.issues.push({origin:"record",code:"invalid_key",issues:keyResult.issues.map(iss=>finalizeIssue(iss,ctx,config())),input:key,path:[key],inst}),payload.value[keyResult.value]=keyResult.value;continue}let result=def.valueType._zod.run({value:input[key],issues:[]},ctx);result instanceof Promise?proms.push(result.then(result2=>{result2.issues.length&&payload.issues.push(...prefixIssues(key,result2.issues)),payload.value[keyResult.value]=result2.value})):(result.issues.length&&payload.issues.push(...prefixIssues(key,result.issues)),payload.value[keyResult.value]=result.value)}}return proms.length?Promise.all(proms).then(()=>payload):payload}});var $ZodEnum=$constructor("$ZodEnum",(inst,def)=>{$ZodType.init(inst,def);let values=getEnumValues(def.entries);inst._zod.values=new Set(values),inst._zod.pattern=new RegExp(`^(${values.filter(k=>propertyKeyTypes.has(typeof k)).map(o=>typeof o=="string"?escapeRegex(o):o.toString()).join("|")})$`),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;return inst._zod.values.has(input)||payload.issues.push({code:"invalid_value",values,input,inst}),payload}}),$ZodLiteral=$constructor("$ZodLiteral",(inst,def)=>{$ZodType.init(inst,def),inst._zod.values=new Set(def.values),inst._zod.pattern=new RegExp(`^(${def.values.map(o=>typeof o=="string"?escapeRegex(o):o?o.toString():String(o)).join("|")})$`),inst._zod.parse=(payload,_ctx)=>{let input=payload.value;return inst._zod.values.has(input)||payload.issues.push({code:"invalid_value",values:def.values,input,inst}),payload}});var $ZodTransform=$constructor("$ZodTransform",(inst,def)=>{$ZodType.init(inst,def),inst._zod.parse=(payload,_ctx)=>{let _out=def.transform(payload.value,payload);if(_ctx.async)return(_out instanceof Promise?_out:Promise.resolve(_out)).then(output2=>(payload.value=output2,payload));if(_out instanceof Promise)throw new $ZodAsyncError;return payload.value=_out,payload}}),$ZodOptional=$constructor("$ZodOptional",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",inst._zod.optout="optional",defineLazy(inst._zod,"values",()=>def.innerType._zod.values?new Set([...def.innerType._zod.values,void 0]):void 0),defineLazy(inst._zod,"pattern",()=>{let pattern=def.innerType._zod.pattern;return pattern?new RegExp(`^(${cleanRegex(pattern.source)})?$`):void 0}),inst._zod.parse=(payload,ctx)=>def.innerType._zod.optin==="optional"?def.innerType._zod.run(payload,ctx):payload.value===void 0?payload:def.innerType._zod.run(payload,ctx)}),$ZodNullable=$constructor("$ZodNullable",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"optin",()=>def.innerType._zod.optin),defineLazy(inst._zod,"optout",()=>def.innerType._zod.optout),defineLazy(inst._zod,"pattern",()=>{let pattern=def.innerType._zod.pattern;return pattern?new RegExp(`^(${cleanRegex(pattern.source)}|null)$`):void 0}),defineLazy(inst._zod,"values",()=>def.innerType._zod.values?new Set([...def.innerType._zod.values,null]):void 0),inst._zod.parse=(payload,ctx)=>payload.value===null?payload:def.innerType._zod.run(payload,ctx)}),$ZodDefault=$constructor("$ZodDefault",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",defineLazy(inst._zod,"values",()=>def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{if(payload.value===void 0)return payload.value=def.defaultValue,payload;let result=def.innerType._zod.run(payload,ctx);return result instanceof Promise?result.then(result2=>handleDefaultResult(result2,def)):handleDefaultResult(result,def)}});function handleDefaultResult(payload,def){return payload.value===void 0&&(payload.value=def.defaultValue),payload}var $ZodPrefault=$constructor("$ZodPrefault",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",defineLazy(inst._zod,"values",()=>def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>(payload.value===void 0&&(payload.value=def.defaultValue),def.innerType._zod.run(payload,ctx))}),$ZodNonOptional=$constructor("$ZodNonOptional",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"values",()=>{let v=def.innerType._zod.values;return v?new Set([...v].filter(x=>x!==void 0)):void 0}),inst._zod.parse=(payload,ctx)=>{let result=def.innerType._zod.run(payload,ctx);return result instanceof Promise?result.then(result2=>handleNonOptionalResult(result2,inst)):handleNonOptionalResult(result,inst)}});function handleNonOptionalResult(payload,inst){return!payload.issues.length&&payload.value===void 0&&payload.issues.push({code:"invalid_type",expected:"nonoptional",input:payload.value,inst}),payload}var $ZodCatch=$constructor("$ZodCatch",(inst,def)=>{$ZodType.init(inst,def),inst._zod.optin="optional",defineLazy(inst._zod,"optout",()=>def.innerType._zod.optout),defineLazy(inst._zod,"values",()=>def.innerType._zod.values),inst._zod.parse=(payload,ctx)=>{let result=def.innerType._zod.run(payload,ctx);return result instanceof Promise?result.then(result2=>(payload.value=result2.value,result2.issues.length&&(payload.value=def.catchValue({...payload,error:{issues:result2.issues.map(iss=>finalizeIssue(iss,ctx,config()))},input:payload.value}),payload.issues=[]),payload)):(payload.value=result.value,result.issues.length&&(payload.value=def.catchValue({...payload,error:{issues:result.issues.map(iss=>finalizeIssue(iss,ctx,config()))},input:payload.value}),payload.issues=[]),payload)}});var $ZodPipe=$constructor("$ZodPipe",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"values",()=>def.in._zod.values),defineLazy(inst._zod,"optin",()=>def.in._zod.optin),defineLazy(inst._zod,"optout",()=>def.out._zod.optout),inst._zod.parse=(payload,ctx)=>{let left=def.in._zod.run(payload,ctx);return left instanceof Promise?left.then(left2=>handlePipeResult(left2,def,ctx)):handlePipeResult(left,def,ctx)}});function handlePipeResult(left,def,ctx){return aborted(left)?left:def.out._zod.run({value:left.value,issues:left.issues},ctx)}var $ZodReadonly=$constructor("$ZodReadonly",(inst,def)=>{$ZodType.init(inst,def),defineLazy(inst._zod,"propValues",()=>def.innerType._zod.propValues),defineLazy(inst._zod,"values",()=>def.innerType._zod.values),defineLazy(inst._zod,"optin",()=>def.innerType._zod.optin),defineLazy(inst._zod,"optout",()=>def.innerType._zod.optout),inst._zod.parse=(payload,ctx)=>{let result=def.innerType._zod.run(payload,ctx);return result instanceof Promise?result.then(handleReadonlyResult):handleReadonlyResult(result)}});function handleReadonlyResult(payload){return payload.value=Object.freeze(payload.value),payload}var $ZodCustom=$constructor("$ZodCustom",(inst,def)=>{$ZodCheck.init(inst,def),$ZodType.init(inst,def),inst._zod.parse=(payload,_)=>payload,inst._zod.check=payload=>{let input=payload.value,r=def.fn(input);if(r instanceof Promise)return r.then(r2=>handleRefineResult(r2,payload,input,inst));handleRefineResult(r,payload,input,inst)}});function handleRefineResult(result,payload,input,inst){if(!result){let _iss={code:"custom",input,inst,path:[...inst._zod.def.path??[]],continue:!inst._zod.def.abort};inst._zod.def.params&&(_iss.params=inst._zod.def.params),payload.issues.push(issue(_iss))}}var parsedType=data=>{let t=typeof data;switch(t){case"number":return Number.isNaN(data)?"NaN":"number";case"object":{if(Array.isArray(data))return"array";if(data===null)return"null";if(Object.getPrototypeOf(data)!==Object.prototype&&data.constructor)return data.constructor.name}}return t},error=()=>{let Sizable={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function getSizing(origin){return Sizable[origin]??null}let Nouns={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return issue2=>{switch(issue2.code){case"invalid_type":return`Invalid input: expected ${issue2.expected}, received ${parsedType(issue2.input)}`;case"invalid_value":return issue2.values.length===1?`Invalid input: expected ${stringifyPrimitive(issue2.values[0])}`:`Invalid option: expected one of ${joinValues(issue2.values,"|")}`;case"too_big":{let adj=issue2.inclusive?"<=":"<",sizing=getSizing(issue2.origin);return sizing?`Too big: expected ${issue2.origin??"value"} to have ${adj}${issue2.maximum.toString()} ${sizing.unit??"elements"}`:`Too big: expected ${issue2.origin??"value"} to be ${adj}${issue2.maximum.toString()}`}case"too_small":{let adj=issue2.inclusive?">=":">",sizing=getSizing(issue2.origin);return sizing?`Too small: expected ${issue2.origin} to have ${adj}${issue2.minimum.toString()} ${sizing.unit}`:`Too small: expected ${issue2.origin} to be ${adj}${issue2.minimum.toString()}`}case"invalid_format":{let _issue=issue2;return _issue.format==="starts_with"?`Invalid string: must start with "${_issue.prefix}"`:_issue.format==="ends_with"?`Invalid string: must end with "${_issue.suffix}"`:_issue.format==="includes"?`Invalid string: must include "${_issue.includes}"`:_issue.format==="regex"?`Invalid string: must match pattern ${_issue.pattern}`:`Invalid ${Nouns[_issue.format]??issue2.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${issue2.divisor}`;case"unrecognized_keys":return`Unrecognized key${issue2.keys.length>1?"s":""}: ${joinValues(issue2.keys,", ")}`;case"invalid_key":return`Invalid key in ${issue2.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${issue2.origin}`;default:return"Invalid input"}}};function en_default2(){return{localeError:error()}}var $ZodRegistry=class{constructor(){this._map=new Map,this._idmap=new Map}add(schema,..._meta){let meta=_meta[0];if(this._map.set(schema,meta),meta&&typeof meta=="object"&&"id"in meta){if(this._idmap.has(meta.id))throw new Error(`ID ${meta.id} already exists in the registry`);this._idmap.set(meta.id,schema)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(schema){let meta=this._map.get(schema);return meta&&typeof meta=="object"&&"id"in meta&&this._idmap.delete(meta.id),this._map.delete(schema),this}get(schema){let p=schema._zod.parent;if(p){let pm={...this.get(p)??{}};return delete pm.id,{...pm,...this._map.get(schema)}}return this._map.get(schema)}has(schema){return this._map.has(schema)}};function registry(){return new $ZodRegistry}var globalRegistry=registry();function _string(Class2,params){return new Class2({type:"string",...normalizeParams(params)})}function _email(Class2,params){return new Class2({type:"string",format:"email",check:"string_format",abort:!1,...normalizeParams(params)})}function _guid(Class2,params){return new Class2({type:"string",format:"guid",check:"string_format",abort:!1,...normalizeParams(params)})}function _uuid(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _uuidv4(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...normalizeParams(params)})}function _uuidv6(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...normalizeParams(params)})}function _uuidv7(Class2,params){return new Class2({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...normalizeParams(params)})}function _url(Class2,params){return new Class2({type:"string",format:"url",check:"string_format",abort:!1,...normalizeParams(params)})}function _emoji2(Class2,params){return new Class2({type:"string",format:"emoji",check:"string_format",abort:!1,...normalizeParams(params)})}function _nanoid(Class2,params){return new Class2({type:"string",format:"nanoid",check:"string_format",abort:!1,...normalizeParams(params)})}function _cuid(Class2,params){return new Class2({type:"string",format:"cuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _cuid2(Class2,params){return new Class2({type:"string",format:"cuid2",check:"string_format",abort:!1,...normalizeParams(params)})}function _ulid(Class2,params){return new Class2({type:"string",format:"ulid",check:"string_format",abort:!1,...normalizeParams(params)})}function _xid(Class2,params){return new Class2({type:"string",format:"xid",check:"string_format",abort:!1,...normalizeParams(params)})}function _ksuid(Class2,params){return new Class2({type:"string",format:"ksuid",check:"string_format",abort:!1,...normalizeParams(params)})}function _ipv4(Class2,params){return new Class2({type:"string",format:"ipv4",check:"string_format",abort:!1,...normalizeParams(params)})}function _ipv6(Class2,params){return new Class2({type:"string",format:"ipv6",check:"string_format",abort:!1,...normalizeParams(params)})}function _cidrv4(Class2,params){return new Class2({type:"string",format:"cidrv4",check:"string_format",abort:!1,...normalizeParams(params)})}function _cidrv6(Class2,params){return new Class2({type:"string",format:"cidrv6",check:"string_format",abort:!1,...normalizeParams(params)})}function _base64(Class2,params){return new Class2({type:"string",format:"base64",check:"string_format",abort:!1,...normalizeParams(params)})}function _base64url(Class2,params){return new Class2({type:"string",format:"base64url",check:"string_format",abort:!1,...normalizeParams(params)})}function _e164(Class2,params){return new Class2({type:"string",format:"e164",check:"string_format",abort:!1,...normalizeParams(params)})}function _jwt(Class2,params){return new Class2({type:"string",format:"jwt",check:"string_format",abort:!1,...normalizeParams(params)})}function _isoDateTime(Class2,params){return new Class2({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...normalizeParams(params)})}function _isoDate(Class2,params){return new Class2({type:"string",format:"date",check:"string_format",...normalizeParams(params)})}function _isoTime(Class2,params){return new Class2({type:"string",format:"time",check:"string_format",precision:null,...normalizeParams(params)})}function _isoDuration(Class2,params){return new Class2({type:"string",format:"duration",check:"string_format",...normalizeParams(params)})}function _number(Class2,params){return new Class2({type:"number",checks:[],...normalizeParams(params)})}function _int(Class2,params){return new Class2({type:"number",check:"number_format",abort:!1,format:"safeint",...normalizeParams(params)})}function _boolean(Class2,params){return new Class2({type:"boolean",...normalizeParams(params)})}function _null2(Class2,params){return new Class2({type:"null",...normalizeParams(params)})}function _unknown(Class2){return new Class2({type:"unknown"})}function _never(Class2,params){return new Class2({type:"never",...normalizeParams(params)})}function _lt(value,params){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(params),value,inclusive:!1})}function _lte(value,params){return new $ZodCheckLessThan({check:"less_than",...normalizeParams(params),value,inclusive:!0})}function _gt(value,params){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(params),value,inclusive:!1})}function _gte(value,params){return new $ZodCheckGreaterThan({check:"greater_than",...normalizeParams(params),value,inclusive:!0})}function _multipleOf(value,params){return new $ZodCheckMultipleOf({check:"multiple_of",...normalizeParams(params),value})}function _maxLength(maximum,params){return new $ZodCheckMaxLength({check:"max_length",...normalizeParams(params),maximum})}function _minLength(minimum,params){return new $ZodCheckMinLength({check:"min_length",...normalizeParams(params),minimum})}function _length(length,params){return new $ZodCheckLengthEquals({check:"length_equals",...normalizeParams(params),length})}function _regex(pattern,params){return new $ZodCheckRegex({check:"string_format",format:"regex",...normalizeParams(params),pattern})}function _lowercase(params){return new $ZodCheckLowerCase({check:"string_format",format:"lowercase",...normalizeParams(params)})}function _uppercase(params){return new $ZodCheckUpperCase({check:"string_format",format:"uppercase",...normalizeParams(params)})}function _includes(includes,params){return new $ZodCheckIncludes({check:"string_format",format:"includes",...normalizeParams(params),includes})}function _startsWith(prefix,params){return new $ZodCheckStartsWith({check:"string_format",format:"starts_with",...normalizeParams(params),prefix})}function _endsWith(suffix,params){return new $ZodCheckEndsWith({check:"string_format",format:"ends_with",...normalizeParams(params),suffix})}function _overwrite(tx){return new $ZodCheckOverwrite({check:"overwrite",tx})}function _normalize(form){return _overwrite(input=>input.normalize(form))}function _trim(){return _overwrite(input=>input.trim())}function _toLowerCase(){return _overwrite(input=>input.toLowerCase())}function _toUpperCase(){return _overwrite(input=>input.toUpperCase())}function _array(Class2,element,params){return new Class2({type:"array",element,...normalizeParams(params)})}function _custom(Class2,fn,_params){let norm=normalizeParams(_params);return norm.abort??(norm.abort=!0),new Class2({type:"custom",check:"custom",fn,...norm})}function _refine(Class2,fn,_params){return new Class2({type:"custom",check:"custom",fn,...normalizeParams(_params)})}var JSONSchemaGenerator=class{constructor(params){this.counter=0,this.metadataRegistry=params?.metadata??globalRegistry,this.target=params?.target??"draft-2020-12",this.unrepresentable=params?.unrepresentable??"throw",this.override=params?.override??(()=>{}),this.io=params?.io??"output",this.seen=new Map}process(schema,_params={path:[],schemaPath:[]}){var _a;let def=schema._zod.def,formatMap={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},seen=this.seen.get(schema);if(seen)return seen.count++,_params.schemaPath.includes(schema)&&(seen.cycle=_params.path),seen.schema;let result={schema:{},count:1,cycle:void 0,path:_params.path};this.seen.set(schema,result);let overrideSchema=schema._zod.toJSONSchema?.();if(overrideSchema)result.schema=overrideSchema;else{let params={..._params,schemaPath:[..._params.schemaPath,schema],path:_params.path},parent=schema._zod.parent;if(parent)result.ref=parent,this.process(parent,params),this.seen.get(parent).isParent=!0;else{let _json=result.schema;switch(def.type){case"string":{let json=_json;json.type="string";let{minimum,maximum,format:format2,patterns,contentEncoding}=schema._zod.bag;if(typeof minimum=="number"&&(json.minLength=minimum),typeof maximum=="number"&&(json.maxLength=maximum),format2&&(json.format=formatMap[format2]??format2,json.format===""&&delete json.format),contentEncoding&&(json.contentEncoding=contentEncoding),patterns&&patterns.size>0){let regexes=[...patterns];regexes.length===1?json.pattern=regexes[0].source:regexes.length>1&&(result.schema.allOf=[...regexes.map(regex=>({...this.target==="draft-7"?{type:"string"}:{},pattern:regex.source}))])}break}case"number":{let json=_json,{minimum,maximum,format:format2,multipleOf,exclusiveMaximum,exclusiveMinimum}=schema._zod.bag;typeof format2=="string"&&format2.includes("int")?json.type="integer":json.type="number",typeof exclusiveMinimum=="number"&&(json.exclusiveMinimum=exclusiveMinimum),typeof minimum=="number"&&(json.minimum=minimum,typeof exclusiveMinimum=="number"&&(exclusiveMinimum>=minimum?delete json.minimum:delete json.exclusiveMinimum)),typeof exclusiveMaximum=="number"&&(json.exclusiveMaximum=exclusiveMaximum),typeof maximum=="number"&&(json.maximum=maximum,typeof exclusiveMaximum=="number"&&(exclusiveMaximum<=maximum?delete json.maximum:delete json.exclusiveMaximum)),typeof multipleOf=="number"&&(json.multipleOf=multipleOf);break}case"boolean":{let json=_json;json.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{_json.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{_json.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let json=_json,{minimum,maximum}=schema._zod.bag;typeof minimum=="number"&&(json.minItems=minimum),typeof maximum=="number"&&(json.maxItems=maximum),json.type="array",json.items=this.process(def.element,{...params,path:[...params.path,"items"]});break}case"object":{let json=_json;json.type="object",json.properties={};let shape=def.shape;for(let key in shape)json.properties[key]=this.process(shape[key],{...params,path:[...params.path,"properties",key]});let allKeys=new Set(Object.keys(shape)),requiredKeys=new Set([...allKeys].filter(key=>{let v=def.shape[key]._zod;return this.io==="input"?v.optin===void 0:v.optout===void 0}));requiredKeys.size>0&&(json.required=Array.from(requiredKeys)),def.catchall?._zod.def.type==="never"?json.additionalProperties=!1:def.catchall?def.catchall&&(json.additionalProperties=this.process(def.catchall,{...params,path:[...params.path,"additionalProperties"]})):this.io==="output"&&(json.additionalProperties=!1);break}case"union":{let json=_json;json.anyOf=def.options.map((x,i)=>this.process(x,{...params,path:[...params.path,"anyOf",i]}));break}case"intersection":{let json=_json,a=this.process(def.left,{...params,path:[...params.path,"allOf",0]}),b=this.process(def.right,{...params,path:[...params.path,"allOf",1]}),isSimpleIntersection=val=>"allOf"in val&&Object.keys(val).length===1,allOf=[...isSimpleIntersection(a)?a.allOf:[a],...isSimpleIntersection(b)?b.allOf:[b]];json.allOf=allOf;break}case"tuple":{let json=_json;json.type="array";let prefixItems=def.items.map((x,i)=>this.process(x,{...params,path:[...params.path,"prefixItems",i]}));if(this.target==="draft-2020-12"?json.prefixItems=prefixItems:json.items=prefixItems,def.rest){let rest=this.process(def.rest,{...params,path:[...params.path,"items"]});this.target==="draft-2020-12"?json.items=rest:json.additionalItems=rest}def.rest&&(json.items=this.process(def.rest,{...params,path:[...params.path,"items"]}));let{minimum,maximum}=schema._zod.bag;typeof minimum=="number"&&(json.minItems=minimum),typeof maximum=="number"&&(json.maxItems=maximum);break}case"record":{let json=_json;json.type="object",json.propertyNames=this.process(def.keyType,{...params,path:[...params.path,"propertyNames"]}),json.additionalProperties=this.process(def.valueType,{...params,path:[...params.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let json=_json,values=getEnumValues(def.entries);values.every(v=>typeof v=="number")&&(json.type="number"),values.every(v=>typeof v=="string")&&(json.type="string"),json.enum=values;break}case"literal":{let json=_json,vals=[];for(let val of def.values)if(val===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof val=="bigint"){if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");vals.push(Number(val))}else vals.push(val);if(vals.length!==0)if(vals.length===1){let val=vals[0];json.type=val===null?"null":typeof val,json.const=val}else vals.every(v=>typeof v=="number")&&(json.type="number"),vals.every(v=>typeof v=="string")&&(json.type="string"),vals.every(v=>typeof v=="boolean")&&(json.type="string"),vals.every(v=>v===null)&&(json.type="null"),json.enum=vals;break}case"file":{let json=_json,file={type:"string",format:"binary",contentEncoding:"binary"},{minimum,maximum,mime}=schema._zod.bag;minimum!==void 0&&(file.minLength=minimum),maximum!==void 0&&(file.maxLength=maximum),mime?mime.length===1?(file.contentMediaType=mime[0],Object.assign(json,file)):json.anyOf=mime.map(m=>({...file,contentMediaType:m})):Object.assign(json,file);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let inner=this.process(def.innerType,params);_json.anyOf=[inner,{type:"null"}];break}case"nonoptional":{this.process(def.innerType,params),result.ref=def.innerType;break}case"success":{let json=_json;json.type="boolean";break}case"default":{this.process(def.innerType,params),result.ref=def.innerType,_json.default=JSON.parse(JSON.stringify(def.defaultValue));break}case"prefault":{this.process(def.innerType,params),result.ref=def.innerType,this.io==="input"&&(_json._prefault=JSON.parse(JSON.stringify(def.defaultValue)));break}case"catch":{this.process(def.innerType,params),result.ref=def.innerType;let catchValue;try{catchValue=def.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}_json.default=catchValue;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let json=_json,pattern=schema._zod.pattern;if(!pattern)throw new Error("Pattern not found in template literal");json.type="string",json.pattern=pattern.source;break}case"pipe":{let innerType=this.io==="input"?def.in._zod.def.type==="transform"?def.out:def.in:def.out;this.process(innerType,params),result.ref=innerType;break}case"readonly":{this.process(def.innerType,params),result.ref=def.innerType,_json.readOnly=!0;break}case"promise":{this.process(def.innerType,params),result.ref=def.innerType;break}case"optional":{this.process(def.innerType,params),result.ref=def.innerType;break}case"lazy":{let innerType=schema._zod.innerType;this.process(innerType,params),result.ref=innerType;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}default:}}}let meta=this.metadataRegistry.get(schema);return meta&&Object.assign(result.schema,meta),this.io==="input"&&isTransforming(schema)&&(delete result.schema.examples,delete result.schema.default),this.io==="input"&&result.schema._prefault&&((_a=result.schema).default??(_a.default=result.schema._prefault)),delete result.schema._prefault,this.seen.get(schema).schema}emit(schema,_params){let params={cycles:_params?.cycles??"ref",reused:_params?.reused??"inline",external:_params?.external??void 0},root=this.seen.get(schema);if(!root)throw new Error("Unprocessed schema. This is a bug in Zod.");let makeURI=entry=>{let defsSegment=this.target==="draft-2020-12"?"$defs":"definitions";if(params.external){let externalId=params.external.registry.get(entry[0])?.id,uriGenerator=params.external.uri??(id2=>id2);if(externalId)return{ref:uriGenerator(externalId)};let id=entry[1].defId??entry[1].schema.id??`schema${this.counter++}`;return entry[1].defId=id,{defId:id,ref:`${uriGenerator("__shared")}#/${defsSegment}/${id}`}}if(entry[1]===root)return{ref:"#"};let defUriPrefix=`#/${defsSegment}/`,defId=entry[1].schema.id??`__schema${this.counter++}`;return{defId,ref:defUriPrefix+defId}},extractToDef=entry=>{if(entry[1].schema.$ref)return;let seen=entry[1],{ref,defId}=makeURI(entry);seen.def={...seen.schema},defId&&(seen.defId=defId);let schema2=seen.schema;for(let key in schema2)delete schema2[key];schema2.$ref=ref};if(params.cycles==="throw")for(let entry of this.seen.entries()){let seen=entry[1];if(seen.cycle)throw new Error(`Cycle detected: #/${seen.cycle?.join("/")}/<root>
|
|
177
|
+
|
|
178
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let entry of this.seen.entries()){let seen=entry[1];if(schema===entry[0]){extractToDef(entry);continue}if(params.external){let ext=params.external.registry.get(entry[0])?.id;if(schema!==entry[0]&&ext){extractToDef(entry);continue}}if(this.metadataRegistry.get(entry[0])?.id){extractToDef(entry);continue}if(seen.cycle){extractToDef(entry);continue}if(seen.count>1&¶ms.reused==="ref"){extractToDef(entry);continue}}let flattenRef=(zodSchema,params2)=>{let seen=this.seen.get(zodSchema),schema2=seen.def??seen.schema,_cached={...schema2};if(seen.ref===null)return;let ref=seen.ref;if(seen.ref=null,ref){flattenRef(ref,params2);let refSchema=this.seen.get(ref).schema;refSchema.$ref&¶ms2.target==="draft-7"?(schema2.allOf=schema2.allOf??[],schema2.allOf.push(refSchema)):(Object.assign(schema2,refSchema),Object.assign(schema2,_cached))}seen.isParent||this.override({zodSchema,jsonSchema:schema2,path:seen.path??[]})};for(let entry of[...this.seen.entries()].reverse())flattenRef(entry[0],{target:this.target});let result={};if(this.target==="draft-2020-12"?result.$schema="https://json-schema.org/draft/2020-12/schema":this.target==="draft-7"?result.$schema="http://json-schema.org/draft-07/schema#":console.warn(`Invalid target: ${this.target}`),params.external?.uri){let id=params.external.registry.get(schema)?.id;if(!id)throw new Error("Schema is missing an `id` property");result.$id=params.external.uri(id)}Object.assign(result,root.def);let defs=params.external?.defs??{};for(let entry of this.seen.entries()){let seen=entry[1];seen.def&&seen.defId&&(defs[seen.defId]=seen.def)}params.external||Object.keys(defs).length>0&&(this.target==="draft-2020-12"?result.$defs=defs:result.definitions=defs);try{return JSON.parse(JSON.stringify(result))}catch{throw new Error("Error converting schema to JSON.")}}};function toJSONSchema(input,_params){if(input instanceof $ZodRegistry){let gen2=new JSONSchemaGenerator(_params),defs={};for(let entry of input._idmap.entries()){let[_,schema]=entry;gen2.process(schema)}let schemas={},external={registry:input,uri:_params?.uri,defs};for(let entry of input._idmap.entries()){let[key,schema]=entry;schemas[key]=gen2.emit(schema,{..._params,external})}if(Object.keys(defs).length>0){let defsSegment=gen2.target==="draft-2020-12"?"$defs":"definitions";schemas.__shared={[defsSegment]:defs}}return{schemas}}let gen=new JSONSchemaGenerator(_params);return gen.process(input),gen.emit(input,_params)}function isTransforming(_schema,_ctx){let ctx=_ctx??{seen:new Set};if(ctx.seen.has(_schema))return!1;ctx.seen.add(_schema);let def=_schema._zod.def;switch(def.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return isTransforming(def.element,ctx);case"object":{for(let key in def.shape)if(isTransforming(def.shape[key],ctx))return!0;return!1}case"union":{for(let option of def.options)if(isTransforming(option,ctx))return!0;return!1}case"intersection":return isTransforming(def.left,ctx)||isTransforming(def.right,ctx);case"tuple":{for(let item of def.items)if(isTransforming(item,ctx))return!0;return!!(def.rest&&isTransforming(def.rest,ctx))}case"record":return isTransforming(def.keyType,ctx)||isTransforming(def.valueType,ctx);case"map":return isTransforming(def.keyType,ctx)||isTransforming(def.valueType,ctx);case"set":return isTransforming(def.valueType,ctx);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return isTransforming(def.innerType,ctx);case"lazy":return isTransforming(def.getter(),ctx);case"default":return isTransforming(def.innerType,ctx);case"prefault":return isTransforming(def.innerType,ctx);case"custom":return!1;case"transform":return!0;case"pipe":return isTransforming(def.in,ctx)||isTransforming(def.out,ctx);case"success":return!1;case"catch":return!1;default:}throw new Error(`Unknown schema type: ${def.type}`)}var ZodMiniType=$constructor("ZodMiniType",(inst,def)=>{if(!inst._zod)throw new Error("Uninitialized schema in ZodMiniType.");$ZodType.init(inst,def),inst.def=def,inst.parse=(data,params)=>parse(inst,data,params,{callee:inst.parse}),inst.safeParse=(data,params)=>safeParse(inst,data,params),inst.parseAsync=async(data,params)=>parseAsync(inst,data,params,{callee:inst.parseAsync}),inst.safeParseAsync=async(data,params)=>safeParseAsync(inst,data,params),inst.check=(...checks)=>inst.clone({...def,checks:[...def.checks??[],...checks.map(ch=>typeof ch=="function"?{_zod:{check:ch,def:{check:"custom"},onattach:[]}}:ch)]}),inst.clone=(_def,params)=>clone(inst,_def,params),inst.brand=()=>inst,inst.register=((reg,meta)=>(reg.add(inst,meta),inst))});var ZodMiniObject=$constructor("ZodMiniObject",(inst,def)=>{$ZodObject.init(inst,def),ZodMiniType.init(inst,def),util_exports.defineLazy(inst,"shape",()=>def.shape)});function object(shape,params){let def={type:"object",get shape(){return util_exports.assignProp(this,"shape",{...shape}),this.shape},...util_exports.normalizeParams(params)};return new ZodMiniObject(def)}function isZ4Schema(s){return!!s._zod}function objectFromShape(shape){let values=Object.values(shape);if(values.length===0)return object({});let allV4=values.every(isZ4Schema),allV3=values.every(s=>!isZ4Schema(s));if(allV4)return object(shape);if(allV3)return objectType(shape);throw new Error("Mixed Zod versions detected in object shape.")}function safeParse2(schema,data){return isZ4Schema(schema)?safeParse(schema,data):schema.safeParse(data)}async function safeParseAsync2(schema,data){return isZ4Schema(schema)?await safeParseAsync(schema,data):await schema.safeParseAsync(data)}function getObjectShape(schema){if(!schema)return;let rawShape;if(isZ4Schema(schema)?rawShape=schema._zod?.def?.shape:rawShape=schema.shape,!!rawShape){if(typeof rawShape=="function")try{return rawShape()}catch{return}return rawShape}}function normalizeObjectSchema(schema){if(schema){if(typeof schema=="object"){let asV3=schema,asV4=schema;if(!asV3._def&&!asV4._zod){let values=Object.values(schema);if(values.length>0&&values.every(v=>typeof v=="object"&&v!==null&&(v._def!==void 0||v._zod!==void 0||typeof v.parse=="function")))return objectFromShape(schema)}}if(isZ4Schema(schema)){let def=schema._zod?.def;if(def&&(def.type==="object"||def.shape!==void 0))return schema}else if(schema.shape!==void 0)return schema}}function getParseErrorMessage(error3){if(error3&&typeof error3=="object"){if("message"in error3&&typeof error3.message=="string")return error3.message;if("issues"in error3&&Array.isArray(error3.issues)&&error3.issues.length>0){let firstIssue=error3.issues[0];if(firstIssue&&typeof firstIssue=="object"&&"message"in firstIssue)return String(firstIssue.message)}try{return JSON.stringify(error3)}catch{return String(error3)}}return String(error3)}function getSchemaDescription(schema){return schema.description}function isSchemaOptional(schema){if(isZ4Schema(schema))return schema._zod?.def?.type==="optional";let v3Schema=schema;return typeof schema.isOptional=="function"?schema.isOptional():v3Schema._def?.typeName==="ZodOptional"}function getLiteralValue(schema){if(isZ4Schema(schema)){let def2=schema._zod?.def;if(def2){if(def2.value!==void 0)return def2.value;if(Array.isArray(def2.values)&&def2.values.length>0)return def2.values[0]}}let def=schema._def;if(def){if(def.value!==void 0)return def.value;if(Array.isArray(def.values)&&def.values.length>0)return def.values[0]}let directValue=schema.value;if(directValue!==void 0)return directValue}var iso_exports2={};__export(iso_exports2,{ZodISODate:()=>ZodISODate,ZodISODateTime:()=>ZodISODateTime,ZodISODuration:()=>ZodISODuration,ZodISOTime:()=>ZodISOTime,date:()=>date2,datetime:()=>datetime2,duration:()=>duration2,time:()=>time2});var ZodISODateTime=$constructor("ZodISODateTime",(inst,def)=>{$ZodISODateTime.init(inst,def),ZodStringFormat.init(inst,def)});function datetime2(params){return _isoDateTime(ZodISODateTime,params)}var ZodISODate=$constructor("ZodISODate",(inst,def)=>{$ZodISODate.init(inst,def),ZodStringFormat.init(inst,def)});function date2(params){return _isoDate(ZodISODate,params)}var ZodISOTime=$constructor("ZodISOTime",(inst,def)=>{$ZodISOTime.init(inst,def),ZodStringFormat.init(inst,def)});function time2(params){return _isoTime(ZodISOTime,params)}var ZodISODuration=$constructor("ZodISODuration",(inst,def)=>{$ZodISODuration.init(inst,def),ZodStringFormat.init(inst,def)});function duration2(params){return _isoDuration(ZodISODuration,params)}var initializer2=(inst,issues)=>{$ZodError.init(inst,issues),inst.name="ZodError",Object.defineProperties(inst,{format:{value:mapper=>formatError(inst,mapper)},flatten:{value:mapper=>flattenError(inst,mapper)},addIssue:{value:issue2=>inst.issues.push(issue2)},addIssues:{value:issues2=>inst.issues.push(...issues2)},isEmpty:{get(){return inst.issues.length===0}}})},ZodError2=$constructor("ZodError",initializer2),ZodRealError=$constructor("ZodError",initializer2,{Parent:Error});var parse2=_parse(ZodRealError),parseAsync2=_parseAsync(ZodRealError),safeParse3=_safeParse(ZodRealError),safeParseAsync3=_safeParseAsync(ZodRealError);var ZodType2=$constructor("ZodType",(inst,def)=>($ZodType.init(inst,def),inst.def=def,Object.defineProperty(inst,"_def",{value:def}),inst.check=(...checks)=>inst.clone({...def,checks:[...def.checks??[],...checks.map(ch=>typeof ch=="function"?{_zod:{check:ch,def:{check:"custom"},onattach:[]}}:ch)]}),inst.clone=(def2,params)=>clone(inst,def2,params),inst.brand=()=>inst,inst.register=((reg,meta)=>(reg.add(inst,meta),inst)),inst.parse=(data,params)=>parse2(inst,data,params,{callee:inst.parse}),inst.safeParse=(data,params)=>safeParse3(inst,data,params),inst.parseAsync=async(data,params)=>parseAsync2(inst,data,params,{callee:inst.parseAsync}),inst.safeParseAsync=async(data,params)=>safeParseAsync3(inst,data,params),inst.spa=inst.safeParseAsync,inst.refine=(check2,params)=>inst.check(refine(check2,params)),inst.superRefine=refinement=>inst.check(superRefine(refinement)),inst.overwrite=fn=>inst.check(_overwrite(fn)),inst.optional=()=>optional(inst),inst.nullable=()=>nullable(inst),inst.nullish=()=>optional(nullable(inst)),inst.nonoptional=params=>nonoptional(inst,params),inst.array=()=>array(inst),inst.or=arg=>union([inst,arg]),inst.and=arg=>intersection(inst,arg),inst.transform=tx=>pipe(inst,transform(tx)),inst.default=def2=>_default(inst,def2),inst.prefault=def2=>prefault(inst,def2),inst.catch=params=>_catch(inst,params),inst.pipe=target=>pipe(inst,target),inst.readonly=()=>readonly(inst),inst.describe=description=>{let cl=inst.clone();return globalRegistry.add(cl,{description}),cl},Object.defineProperty(inst,"description",{get(){return globalRegistry.get(inst)?.description},configurable:!0}),inst.meta=(...args)=>{if(args.length===0)return globalRegistry.get(inst);let cl=inst.clone();return globalRegistry.add(cl,args[0]),cl},inst.isOptional=()=>inst.safeParse(void 0).success,inst.isNullable=()=>inst.safeParse(null).success,inst)),_ZodString=$constructor("_ZodString",(inst,def)=>{$ZodString.init(inst,def),ZodType2.init(inst,def);let bag=inst._zod.bag;inst.format=bag.format??null,inst.minLength=bag.minimum??null,inst.maxLength=bag.maximum??null,inst.regex=(...args)=>inst.check(_regex(...args)),inst.includes=(...args)=>inst.check(_includes(...args)),inst.startsWith=(...args)=>inst.check(_startsWith(...args)),inst.endsWith=(...args)=>inst.check(_endsWith(...args)),inst.min=(...args)=>inst.check(_minLength(...args)),inst.max=(...args)=>inst.check(_maxLength(...args)),inst.length=(...args)=>inst.check(_length(...args)),inst.nonempty=(...args)=>inst.check(_minLength(1,...args)),inst.lowercase=params=>inst.check(_lowercase(params)),inst.uppercase=params=>inst.check(_uppercase(params)),inst.trim=()=>inst.check(_trim()),inst.normalize=(...args)=>inst.check(_normalize(...args)),inst.toLowerCase=()=>inst.check(_toLowerCase()),inst.toUpperCase=()=>inst.check(_toUpperCase())}),ZodString2=$constructor("ZodString",(inst,def)=>{$ZodString.init(inst,def),_ZodString.init(inst,def),inst.email=params=>inst.check(_email(ZodEmail,params)),inst.url=params=>inst.check(_url(ZodURL,params)),inst.jwt=params=>inst.check(_jwt(ZodJWT,params)),inst.emoji=params=>inst.check(_emoji2(ZodEmoji,params)),inst.guid=params=>inst.check(_guid(ZodGUID,params)),inst.uuid=params=>inst.check(_uuid(ZodUUID,params)),inst.uuidv4=params=>inst.check(_uuidv4(ZodUUID,params)),inst.uuidv6=params=>inst.check(_uuidv6(ZodUUID,params)),inst.uuidv7=params=>inst.check(_uuidv7(ZodUUID,params)),inst.nanoid=params=>inst.check(_nanoid(ZodNanoID,params)),inst.guid=params=>inst.check(_guid(ZodGUID,params)),inst.cuid=params=>inst.check(_cuid(ZodCUID,params)),inst.cuid2=params=>inst.check(_cuid2(ZodCUID2,params)),inst.ulid=params=>inst.check(_ulid(ZodULID,params)),inst.base64=params=>inst.check(_base64(ZodBase64,params)),inst.base64url=params=>inst.check(_base64url(ZodBase64URL,params)),inst.xid=params=>inst.check(_xid(ZodXID,params)),inst.ksuid=params=>inst.check(_ksuid(ZodKSUID,params)),inst.ipv4=params=>inst.check(_ipv4(ZodIPv4,params)),inst.ipv6=params=>inst.check(_ipv6(ZodIPv6,params)),inst.cidrv4=params=>inst.check(_cidrv4(ZodCIDRv4,params)),inst.cidrv6=params=>inst.check(_cidrv6(ZodCIDRv6,params)),inst.e164=params=>inst.check(_e164(ZodE164,params)),inst.datetime=params=>inst.check(datetime2(params)),inst.date=params=>inst.check(date2(params)),inst.time=params=>inst.check(time2(params)),inst.duration=params=>inst.check(duration2(params))});function string2(params){return _string(ZodString2,params)}var ZodStringFormat=$constructor("ZodStringFormat",(inst,def)=>{$ZodStringFormat.init(inst,def),_ZodString.init(inst,def)}),ZodEmail=$constructor("ZodEmail",(inst,def)=>{$ZodEmail.init(inst,def),ZodStringFormat.init(inst,def)});var ZodGUID=$constructor("ZodGUID",(inst,def)=>{$ZodGUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodUUID=$constructor("ZodUUID",(inst,def)=>{$ZodUUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodURL=$constructor("ZodURL",(inst,def)=>{$ZodURL.init(inst,def),ZodStringFormat.init(inst,def)});var ZodEmoji=$constructor("ZodEmoji",(inst,def)=>{$ZodEmoji.init(inst,def),ZodStringFormat.init(inst,def)});var ZodNanoID=$constructor("ZodNanoID",(inst,def)=>{$ZodNanoID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCUID=$constructor("ZodCUID",(inst,def)=>{$ZodCUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCUID2=$constructor("ZodCUID2",(inst,def)=>{$ZodCUID2.init(inst,def),ZodStringFormat.init(inst,def)});var ZodULID=$constructor("ZodULID",(inst,def)=>{$ZodULID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodXID=$constructor("ZodXID",(inst,def)=>{$ZodXID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodKSUID=$constructor("ZodKSUID",(inst,def)=>{$ZodKSUID.init(inst,def),ZodStringFormat.init(inst,def)});var ZodIPv4=$constructor("ZodIPv4",(inst,def)=>{$ZodIPv4.init(inst,def),ZodStringFormat.init(inst,def)});var ZodIPv6=$constructor("ZodIPv6",(inst,def)=>{$ZodIPv6.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCIDRv4=$constructor("ZodCIDRv4",(inst,def)=>{$ZodCIDRv4.init(inst,def),ZodStringFormat.init(inst,def)});var ZodCIDRv6=$constructor("ZodCIDRv6",(inst,def)=>{$ZodCIDRv6.init(inst,def),ZodStringFormat.init(inst,def)});var ZodBase64=$constructor("ZodBase64",(inst,def)=>{$ZodBase64.init(inst,def),ZodStringFormat.init(inst,def)});var ZodBase64URL=$constructor("ZodBase64URL",(inst,def)=>{$ZodBase64URL.init(inst,def),ZodStringFormat.init(inst,def)});var ZodE164=$constructor("ZodE164",(inst,def)=>{$ZodE164.init(inst,def),ZodStringFormat.init(inst,def)});var ZodJWT=$constructor("ZodJWT",(inst,def)=>{$ZodJWT.init(inst,def),ZodStringFormat.init(inst,def)});var ZodNumber2=$constructor("ZodNumber",(inst,def)=>{$ZodNumber.init(inst,def),ZodType2.init(inst,def),inst.gt=(value,params)=>inst.check(_gt(value,params)),inst.gte=(value,params)=>inst.check(_gte(value,params)),inst.min=(value,params)=>inst.check(_gte(value,params)),inst.lt=(value,params)=>inst.check(_lt(value,params)),inst.lte=(value,params)=>inst.check(_lte(value,params)),inst.max=(value,params)=>inst.check(_lte(value,params)),inst.int=params=>inst.check(int(params)),inst.safe=params=>inst.check(int(params)),inst.positive=params=>inst.check(_gt(0,params)),inst.nonnegative=params=>inst.check(_gte(0,params)),inst.negative=params=>inst.check(_lt(0,params)),inst.nonpositive=params=>inst.check(_lte(0,params)),inst.multipleOf=(value,params)=>inst.check(_multipleOf(value,params)),inst.step=(value,params)=>inst.check(_multipleOf(value,params)),inst.finite=()=>inst;let bag=inst._zod.bag;inst.minValue=Math.max(bag.minimum??Number.NEGATIVE_INFINITY,bag.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,inst.maxValue=Math.min(bag.maximum??Number.POSITIVE_INFINITY,bag.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,inst.isInt=(bag.format??"").includes("int")||Number.isSafeInteger(bag.multipleOf??.5),inst.isFinite=!0,inst.format=bag.format??null});function number2(params){return _number(ZodNumber2,params)}var ZodNumberFormat=$constructor("ZodNumberFormat",(inst,def)=>{$ZodNumberFormat.init(inst,def),ZodNumber2.init(inst,def)});function int(params){return _int(ZodNumberFormat,params)}var ZodBoolean2=$constructor("ZodBoolean",(inst,def)=>{$ZodBoolean.init(inst,def),ZodType2.init(inst,def)});function boolean2(params){return _boolean(ZodBoolean2,params)}var ZodNull2=$constructor("ZodNull",(inst,def)=>{$ZodNull.init(inst,def),ZodType2.init(inst,def)});function _null3(params){return _null2(ZodNull2,params)}var ZodUnknown2=$constructor("ZodUnknown",(inst,def)=>{$ZodUnknown.init(inst,def),ZodType2.init(inst,def)});function unknown(){return _unknown(ZodUnknown2)}var ZodNever2=$constructor("ZodNever",(inst,def)=>{$ZodNever.init(inst,def),ZodType2.init(inst,def)});function never(params){return _never(ZodNever2,params)}var ZodArray2=$constructor("ZodArray",(inst,def)=>{$ZodArray.init(inst,def),ZodType2.init(inst,def),inst.element=def.element,inst.min=(minLength,params)=>inst.check(_minLength(minLength,params)),inst.nonempty=params=>inst.check(_minLength(1,params)),inst.max=(maxLength,params)=>inst.check(_maxLength(maxLength,params)),inst.length=(len,params)=>inst.check(_length(len,params)),inst.unwrap=()=>inst.element});function array(element,params){return _array(ZodArray2,element,params)}var ZodObject2=$constructor("ZodObject",(inst,def)=>{$ZodObject.init(inst,def),ZodType2.init(inst,def),util_exports.defineLazy(inst,"shape",()=>def.shape),inst.keyof=()=>_enum(Object.keys(inst._zod.def.shape)),inst.catchall=catchall=>inst.clone({...inst._zod.def,catchall}),inst.passthrough=()=>inst.clone({...inst._zod.def,catchall:unknown()}),inst.loose=()=>inst.clone({...inst._zod.def,catchall:unknown()}),inst.strict=()=>inst.clone({...inst._zod.def,catchall:never()}),inst.strip=()=>inst.clone({...inst._zod.def,catchall:void 0}),inst.extend=incoming=>util_exports.extend(inst,incoming),inst.merge=other=>util_exports.merge(inst,other),inst.pick=mask=>util_exports.pick(inst,mask),inst.omit=mask=>util_exports.omit(inst,mask),inst.partial=(...args)=>util_exports.partial(ZodOptional2,inst,args[0]),inst.required=(...args)=>util_exports.required(ZodNonOptional,inst,args[0])});function object2(shape,params){let def={type:"object",get shape(){return util_exports.assignProp(this,"shape",{...shape}),this.shape},...util_exports.normalizeParams(params)};return new ZodObject2(def)}function looseObject(shape,params){return new ZodObject2({type:"object",get shape(){return util_exports.assignProp(this,"shape",{...shape}),this.shape},catchall:unknown(),...util_exports.normalizeParams(params)})}var ZodUnion2=$constructor("ZodUnion",(inst,def)=>{$ZodUnion.init(inst,def),ZodType2.init(inst,def),inst.options=def.options});function union(options,params){return new ZodUnion2({type:"union",options,...util_exports.normalizeParams(params)})}var ZodDiscriminatedUnion2=$constructor("ZodDiscriminatedUnion",(inst,def)=>{ZodUnion2.init(inst,def),$ZodDiscriminatedUnion.init(inst,def)});function discriminatedUnion(discriminator,options,params){return new ZodDiscriminatedUnion2({type:"union",options,discriminator,...util_exports.normalizeParams(params)})}var ZodIntersection2=$constructor("ZodIntersection",(inst,def)=>{$ZodIntersection.init(inst,def),ZodType2.init(inst,def)});function intersection(left,right){return new ZodIntersection2({type:"intersection",left,right})}var ZodRecord2=$constructor("ZodRecord",(inst,def)=>{$ZodRecord.init(inst,def),ZodType2.init(inst,def),inst.keyType=def.keyType,inst.valueType=def.valueType});function record(keyType,valueType,params){return new ZodRecord2({type:"record",keyType,valueType,...util_exports.normalizeParams(params)})}var ZodEnum2=$constructor("ZodEnum",(inst,def)=>{$ZodEnum.init(inst,def),ZodType2.init(inst,def),inst.enum=def.entries,inst.options=Object.values(def.entries);let keys=new Set(Object.keys(def.entries));inst.extract=(values,params)=>{let newEntries={};for(let value of values)if(keys.has(value))newEntries[value]=def.entries[value];else throw new Error(`Key ${value} not found in enum`);return new ZodEnum2({...def,checks:[],...util_exports.normalizeParams(params),entries:newEntries})},inst.exclude=(values,params)=>{let newEntries={...def.entries};for(let value of values)if(keys.has(value))delete newEntries[value];else throw new Error(`Key ${value} not found in enum`);return new ZodEnum2({...def,checks:[],...util_exports.normalizeParams(params),entries:newEntries})}});function _enum(values,params){let entries=Array.isArray(values)?Object.fromEntries(values.map(v=>[v,v])):values;return new ZodEnum2({type:"enum",entries,...util_exports.normalizeParams(params)})}var ZodLiteral2=$constructor("ZodLiteral",(inst,def)=>{$ZodLiteral.init(inst,def),ZodType2.init(inst,def),inst.values=new Set(def.values),Object.defineProperty(inst,"value",{get(){if(def.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return def.values[0]}})});function literal(value,params){return new ZodLiteral2({type:"literal",values:Array.isArray(value)?value:[value],...util_exports.normalizeParams(params)})}var ZodTransform=$constructor("ZodTransform",(inst,def)=>{$ZodTransform.init(inst,def),ZodType2.init(inst,def),inst._zod.parse=(payload,_ctx)=>{payload.addIssue=issue2=>{if(typeof issue2=="string")payload.issues.push(util_exports.issue(issue2,payload.value,def));else{let _issue=issue2;_issue.fatal&&(_issue.continue=!1),_issue.code??(_issue.code="custom"),_issue.input??(_issue.input=payload.value),_issue.inst??(_issue.inst=inst),_issue.continue??(_issue.continue=!0),payload.issues.push(util_exports.issue(_issue))}};let output=def.transform(payload.value,payload);return output instanceof Promise?output.then(output2=>(payload.value=output2,payload)):(payload.value=output,payload)}});function transform(fn){return new ZodTransform({type:"transform",transform:fn})}var ZodOptional2=$constructor("ZodOptional",(inst,def)=>{$ZodOptional.init(inst,def),ZodType2.init(inst,def),inst.unwrap=()=>inst._zod.def.innerType});function optional(innerType){return new ZodOptional2({type:"optional",innerType})}var ZodNullable2=$constructor("ZodNullable",(inst,def)=>{$ZodNullable.init(inst,def),ZodType2.init(inst,def),inst.unwrap=()=>inst._zod.def.innerType});function nullable(innerType){return new ZodNullable2({type:"nullable",innerType})}var ZodDefault2=$constructor("ZodDefault",(inst,def)=>{$ZodDefault.init(inst,def),ZodType2.init(inst,def),inst.unwrap=()=>inst._zod.def.innerType,inst.removeDefault=inst.unwrap});function _default(innerType,defaultValue){return new ZodDefault2({type:"default",innerType,get defaultValue(){return typeof defaultValue=="function"?defaultValue():defaultValue}})}var ZodPrefault=$constructor("ZodPrefault",(inst,def)=>{$ZodPrefault.init(inst,def),ZodType2.init(inst,def),inst.unwrap=()=>inst._zod.def.innerType});function prefault(innerType,defaultValue){return new ZodPrefault({type:"prefault",innerType,get defaultValue(){return typeof defaultValue=="function"?defaultValue():defaultValue}})}var ZodNonOptional=$constructor("ZodNonOptional",(inst,def)=>{$ZodNonOptional.init(inst,def),ZodType2.init(inst,def),inst.unwrap=()=>inst._zod.def.innerType});function nonoptional(innerType,params){return new ZodNonOptional({type:"nonoptional",innerType,...util_exports.normalizeParams(params)})}var ZodCatch2=$constructor("ZodCatch",(inst,def)=>{$ZodCatch.init(inst,def),ZodType2.init(inst,def),inst.unwrap=()=>inst._zod.def.innerType,inst.removeCatch=inst.unwrap});function _catch(innerType,catchValue){return new ZodCatch2({type:"catch",innerType,catchValue:typeof catchValue=="function"?catchValue:()=>catchValue})}var ZodPipe=$constructor("ZodPipe",(inst,def)=>{$ZodPipe.init(inst,def),ZodType2.init(inst,def),inst.in=def.in,inst.out=def.out});function pipe(in_,out){return new ZodPipe({type:"pipe",in:in_,out})}var ZodReadonly2=$constructor("ZodReadonly",(inst,def)=>{$ZodReadonly.init(inst,def),ZodType2.init(inst,def)});function readonly(innerType){return new ZodReadonly2({type:"readonly",innerType})}var ZodCustom=$constructor("ZodCustom",(inst,def)=>{$ZodCustom.init(inst,def),ZodType2.init(inst,def)});function check(fn){let ch=new $ZodCheck({check:"custom"});return ch._zod.check=fn,ch}function custom2(fn,_params){return _custom(ZodCustom,fn??(()=>!0),_params)}function refine(fn,_params={}){return _refine(ZodCustom,fn,_params)}function superRefine(fn){let ch=check(payload=>(payload.addIssue=issue2=>{if(typeof issue2=="string")payload.issues.push(util_exports.issue(issue2,payload.value,ch._zod.def));else{let _issue=issue2;_issue.fatal&&(_issue.continue=!1),_issue.code??(_issue.code="custom"),_issue.input??(_issue.input=payload.value),_issue.inst??(_issue.inst=ch),_issue.continue??(_issue.continue=!ch._zod.def.abort),payload.issues.push(util_exports.issue(_issue))}},fn(payload.value,payload)));return ch}function preprocess(fn,schema){return pipe(transform(fn),schema)}config(en_default2());var LATEST_PROTOCOL_VERSION="2025-11-25",DEFAULT_NEGOTIATED_PROTOCOL_VERSION="2025-03-26",SUPPORTED_PROTOCOL_VERSIONS=[LATEST_PROTOCOL_VERSION,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],RELATED_TASK_META_KEY="io.modelcontextprotocol/related-task",JSONRPC_VERSION="2.0",AssertObjectSchema=custom2(v=>v!==null&&(typeof v=="object"||typeof v=="function")),ProgressTokenSchema=union([string2(),number2().int()]),CursorSchema=string2(),TaskCreationParamsSchema=looseObject({ttl:union([number2(),_null3()]).optional(),pollInterval:number2().optional()}),TaskMetadataSchema=object2({ttl:number2().optional()}),RelatedTaskMetadataSchema=object2({taskId:string2()}),RequestMetaSchema=looseObject({progressToken:ProgressTokenSchema.optional(),[RELATED_TASK_META_KEY]:RelatedTaskMetadataSchema.optional()}),BaseRequestParamsSchema=object2({_meta:RequestMetaSchema.optional()}),TaskAugmentedRequestParamsSchema=BaseRequestParamsSchema.extend({task:TaskMetadataSchema.optional()}),isTaskAugmentedRequestParams=value=>TaskAugmentedRequestParamsSchema.safeParse(value).success,RequestSchema=object2({method:string2(),params:BaseRequestParamsSchema.loose().optional()}),NotificationsParamsSchema=object2({_meta:RequestMetaSchema.optional()}),NotificationSchema=object2({method:string2(),params:NotificationsParamsSchema.loose().optional()}),ResultSchema=looseObject({_meta:RequestMetaSchema.optional()}),RequestIdSchema=union([string2(),number2().int()]),JSONRPCRequestSchema=object2({jsonrpc:literal(JSONRPC_VERSION),id:RequestIdSchema,...RequestSchema.shape}).strict(),isJSONRPCRequest=value=>JSONRPCRequestSchema.safeParse(value).success,JSONRPCNotificationSchema=object2({jsonrpc:literal(JSONRPC_VERSION),...NotificationSchema.shape}).strict(),isJSONRPCNotification=value=>JSONRPCNotificationSchema.safeParse(value).success,JSONRPCResultResponseSchema=object2({jsonrpc:literal(JSONRPC_VERSION),id:RequestIdSchema,result:ResultSchema}).strict(),isJSONRPCResultResponse=value=>JSONRPCResultResponseSchema.safeParse(value).success;var ErrorCode;(function(ErrorCode2){ErrorCode2[ErrorCode2.ConnectionClosed=-32e3]="ConnectionClosed",ErrorCode2[ErrorCode2.RequestTimeout=-32001]="RequestTimeout",ErrorCode2[ErrorCode2.ParseError=-32700]="ParseError",ErrorCode2[ErrorCode2.InvalidRequest=-32600]="InvalidRequest",ErrorCode2[ErrorCode2.MethodNotFound=-32601]="MethodNotFound",ErrorCode2[ErrorCode2.InvalidParams=-32602]="InvalidParams",ErrorCode2[ErrorCode2.InternalError=-32603]="InternalError",ErrorCode2[ErrorCode2.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(ErrorCode||(ErrorCode={}));var JSONRPCErrorResponseSchema=object2({jsonrpc:literal(JSONRPC_VERSION),id:RequestIdSchema.optional(),error:object2({code:number2().int(),message:string2(),data:unknown().optional()})}).strict();var isJSONRPCErrorResponse=value=>JSONRPCErrorResponseSchema.safeParse(value).success;var JSONRPCMessageSchema=union([JSONRPCRequestSchema,JSONRPCNotificationSchema,JSONRPCResultResponseSchema,JSONRPCErrorResponseSchema]),JSONRPCResponseSchema=union([JSONRPCResultResponseSchema,JSONRPCErrorResponseSchema]),EmptyResultSchema=ResultSchema.strict(),CancelledNotificationParamsSchema=NotificationsParamsSchema.extend({requestId:RequestIdSchema.optional(),reason:string2().optional()}),CancelledNotificationSchema=NotificationSchema.extend({method:literal("notifications/cancelled"),params:CancelledNotificationParamsSchema}),IconSchema=object2({src:string2(),mimeType:string2().optional(),sizes:array(string2()).optional(),theme:_enum(["light","dark"]).optional()}),IconsSchema=object2({icons:array(IconSchema).optional()}),BaseMetadataSchema=object2({name:string2(),title:string2().optional()}),ImplementationSchema=BaseMetadataSchema.extend({...BaseMetadataSchema.shape,...IconsSchema.shape,version:string2(),websiteUrl:string2().optional(),description:string2().optional()}),FormElicitationCapabilitySchema=intersection(object2({applyDefaults:boolean2().optional()}),record(string2(),unknown())),ElicitationCapabilitySchema=preprocess(value=>value&&typeof value=="object"&&!Array.isArray(value)&&Object.keys(value).length===0?{form:{}}:value,intersection(object2({form:FormElicitationCapabilitySchema.optional(),url:AssertObjectSchema.optional()}),record(string2(),unknown()).optional())),ClientTasksCapabilitySchema=looseObject({list:AssertObjectSchema.optional(),cancel:AssertObjectSchema.optional(),requests:looseObject({sampling:looseObject({createMessage:AssertObjectSchema.optional()}).optional(),elicitation:looseObject({create:AssertObjectSchema.optional()}).optional()}).optional()}),ServerTasksCapabilitySchema=looseObject({list:AssertObjectSchema.optional(),cancel:AssertObjectSchema.optional(),requests:looseObject({tools:looseObject({call:AssertObjectSchema.optional()}).optional()}).optional()}),ClientCapabilitiesSchema=object2({experimental:record(string2(),AssertObjectSchema).optional(),sampling:object2({context:AssertObjectSchema.optional(),tools:AssertObjectSchema.optional()}).optional(),elicitation:ElicitationCapabilitySchema.optional(),roots:object2({listChanged:boolean2().optional()}).optional(),tasks:ClientTasksCapabilitySchema.optional()}),InitializeRequestParamsSchema=BaseRequestParamsSchema.extend({protocolVersion:string2(),capabilities:ClientCapabilitiesSchema,clientInfo:ImplementationSchema}),InitializeRequestSchema=RequestSchema.extend({method:literal("initialize"),params:InitializeRequestParamsSchema}),isInitializeRequest=value=>InitializeRequestSchema.safeParse(value).success,ServerCapabilitiesSchema=object2({experimental:record(string2(),AssertObjectSchema).optional(),logging:AssertObjectSchema.optional(),completions:AssertObjectSchema.optional(),prompts:object2({listChanged:boolean2().optional()}).optional(),resources:object2({subscribe:boolean2().optional(),listChanged:boolean2().optional()}).optional(),tools:object2({listChanged:boolean2().optional()}).optional(),tasks:ServerTasksCapabilitySchema.optional()}),InitializeResultSchema=ResultSchema.extend({protocolVersion:string2(),capabilities:ServerCapabilitiesSchema,serverInfo:ImplementationSchema,instructions:string2().optional()}),InitializedNotificationSchema=NotificationSchema.extend({method:literal("notifications/initialized"),params:NotificationsParamsSchema.optional()});var PingRequestSchema=RequestSchema.extend({method:literal("ping"),params:BaseRequestParamsSchema.optional()}),ProgressSchema=object2({progress:number2(),total:optional(number2()),message:optional(string2())}),ProgressNotificationParamsSchema=object2({...NotificationsParamsSchema.shape,...ProgressSchema.shape,progressToken:ProgressTokenSchema}),ProgressNotificationSchema=NotificationSchema.extend({method:literal("notifications/progress"),params:ProgressNotificationParamsSchema}),PaginatedRequestParamsSchema=BaseRequestParamsSchema.extend({cursor:CursorSchema.optional()}),PaginatedRequestSchema=RequestSchema.extend({params:PaginatedRequestParamsSchema.optional()}),PaginatedResultSchema=ResultSchema.extend({nextCursor:CursorSchema.optional()}),TaskStatusSchema=_enum(["working","input_required","completed","failed","cancelled"]),TaskSchema=object2({taskId:string2(),status:TaskStatusSchema,ttl:union([number2(),_null3()]),createdAt:string2(),lastUpdatedAt:string2(),pollInterval:optional(number2()),statusMessage:optional(string2())}),CreateTaskResultSchema=ResultSchema.extend({task:TaskSchema}),TaskStatusNotificationParamsSchema=NotificationsParamsSchema.merge(TaskSchema),TaskStatusNotificationSchema=NotificationSchema.extend({method:literal("notifications/tasks/status"),params:TaskStatusNotificationParamsSchema}),GetTaskRequestSchema=RequestSchema.extend({method:literal("tasks/get"),params:BaseRequestParamsSchema.extend({taskId:string2()})}),GetTaskResultSchema=ResultSchema.merge(TaskSchema),GetTaskPayloadRequestSchema=RequestSchema.extend({method:literal("tasks/result"),params:BaseRequestParamsSchema.extend({taskId:string2()})}),GetTaskPayloadResultSchema=ResultSchema.loose(),ListTasksRequestSchema=PaginatedRequestSchema.extend({method:literal("tasks/list")}),ListTasksResultSchema=PaginatedResultSchema.extend({tasks:array(TaskSchema)}),CancelTaskRequestSchema=RequestSchema.extend({method:literal("tasks/cancel"),params:BaseRequestParamsSchema.extend({taskId:string2()})}),CancelTaskResultSchema=ResultSchema.merge(TaskSchema),ResourceContentsSchema=object2({uri:string2(),mimeType:optional(string2()),_meta:record(string2(),unknown()).optional()}),TextResourceContentsSchema=ResourceContentsSchema.extend({text:string2()}),Base64Schema=string2().refine(val=>{try{return atob(val),!0}catch{return!1}},{message:"Invalid Base64 string"}),BlobResourceContentsSchema=ResourceContentsSchema.extend({blob:Base64Schema}),RoleSchema=_enum(["user","assistant"]),AnnotationsSchema=object2({audience:array(RoleSchema).optional(),priority:number2().min(0).max(1).optional(),lastModified:iso_exports2.datetime({offset:!0}).optional()}),ResourceSchema=object2({...BaseMetadataSchema.shape,...IconsSchema.shape,uri:string2(),description:optional(string2()),mimeType:optional(string2()),annotations:AnnotationsSchema.optional(),_meta:optional(looseObject({}))}),ResourceTemplateSchema=object2({...BaseMetadataSchema.shape,...IconsSchema.shape,uriTemplate:string2(),description:optional(string2()),mimeType:optional(string2()),annotations:AnnotationsSchema.optional(),_meta:optional(looseObject({}))}),ListResourcesRequestSchema=PaginatedRequestSchema.extend({method:literal("resources/list")}),ListResourcesResultSchema=PaginatedResultSchema.extend({resources:array(ResourceSchema)}),ListResourceTemplatesRequestSchema=PaginatedRequestSchema.extend({method:literal("resources/templates/list")}),ListResourceTemplatesResultSchema=PaginatedResultSchema.extend({resourceTemplates:array(ResourceTemplateSchema)}),ResourceRequestParamsSchema=BaseRequestParamsSchema.extend({uri:string2()}),ReadResourceRequestParamsSchema=ResourceRequestParamsSchema,ReadResourceRequestSchema=RequestSchema.extend({method:literal("resources/read"),params:ReadResourceRequestParamsSchema}),ReadResourceResultSchema=ResultSchema.extend({contents:array(union([TextResourceContentsSchema,BlobResourceContentsSchema]))}),ResourceListChangedNotificationSchema=NotificationSchema.extend({method:literal("notifications/resources/list_changed"),params:NotificationsParamsSchema.optional()}),SubscribeRequestParamsSchema=ResourceRequestParamsSchema,SubscribeRequestSchema=RequestSchema.extend({method:literal("resources/subscribe"),params:SubscribeRequestParamsSchema}),UnsubscribeRequestParamsSchema=ResourceRequestParamsSchema,UnsubscribeRequestSchema=RequestSchema.extend({method:literal("resources/unsubscribe"),params:UnsubscribeRequestParamsSchema}),ResourceUpdatedNotificationParamsSchema=NotificationsParamsSchema.extend({uri:string2()}),ResourceUpdatedNotificationSchema=NotificationSchema.extend({method:literal("notifications/resources/updated"),params:ResourceUpdatedNotificationParamsSchema}),PromptArgumentSchema=object2({name:string2(),description:optional(string2()),required:optional(boolean2())}),PromptSchema=object2({...BaseMetadataSchema.shape,...IconsSchema.shape,description:optional(string2()),arguments:optional(array(PromptArgumentSchema)),_meta:optional(looseObject({}))}),ListPromptsRequestSchema=PaginatedRequestSchema.extend({method:literal("prompts/list")}),ListPromptsResultSchema=PaginatedResultSchema.extend({prompts:array(PromptSchema)}),GetPromptRequestParamsSchema=BaseRequestParamsSchema.extend({name:string2(),arguments:record(string2(),string2()).optional()}),GetPromptRequestSchema=RequestSchema.extend({method:literal("prompts/get"),params:GetPromptRequestParamsSchema}),TextContentSchema=object2({type:literal("text"),text:string2(),annotations:AnnotationsSchema.optional(),_meta:record(string2(),unknown()).optional()}),ImageContentSchema=object2({type:literal("image"),data:Base64Schema,mimeType:string2(),annotations:AnnotationsSchema.optional(),_meta:record(string2(),unknown()).optional()}),AudioContentSchema=object2({type:literal("audio"),data:Base64Schema,mimeType:string2(),annotations:AnnotationsSchema.optional(),_meta:record(string2(),unknown()).optional()}),ToolUseContentSchema=object2({type:literal("tool_use"),name:string2(),id:string2(),input:record(string2(),unknown()),_meta:record(string2(),unknown()).optional()}),EmbeddedResourceSchema=object2({type:literal("resource"),resource:union([TextResourceContentsSchema,BlobResourceContentsSchema]),annotations:AnnotationsSchema.optional(),_meta:record(string2(),unknown()).optional()}),ResourceLinkSchema=ResourceSchema.extend({type:literal("resource_link")}),ContentBlockSchema=union([TextContentSchema,ImageContentSchema,AudioContentSchema,ResourceLinkSchema,EmbeddedResourceSchema]),PromptMessageSchema=object2({role:RoleSchema,content:ContentBlockSchema}),GetPromptResultSchema=ResultSchema.extend({description:string2().optional(),messages:array(PromptMessageSchema)}),PromptListChangedNotificationSchema=NotificationSchema.extend({method:literal("notifications/prompts/list_changed"),params:NotificationsParamsSchema.optional()}),ToolAnnotationsSchema=object2({title:string2().optional(),readOnlyHint:boolean2().optional(),destructiveHint:boolean2().optional(),idempotentHint:boolean2().optional(),openWorldHint:boolean2().optional()}),ToolExecutionSchema=object2({taskSupport:_enum(["required","optional","forbidden"]).optional()}),ToolSchema=object2({...BaseMetadataSchema.shape,...IconsSchema.shape,description:string2().optional(),inputSchema:object2({type:literal("object"),properties:record(string2(),AssertObjectSchema).optional(),required:array(string2()).optional()}).catchall(unknown()),outputSchema:object2({type:literal("object"),properties:record(string2(),AssertObjectSchema).optional(),required:array(string2()).optional()}).catchall(unknown()).optional(),annotations:ToolAnnotationsSchema.optional(),execution:ToolExecutionSchema.optional(),_meta:record(string2(),unknown()).optional()}),ListToolsRequestSchema=PaginatedRequestSchema.extend({method:literal("tools/list")}),ListToolsResultSchema=PaginatedResultSchema.extend({tools:array(ToolSchema)}),CallToolResultSchema=ResultSchema.extend({content:array(ContentBlockSchema).default([]),structuredContent:record(string2(),unknown()).optional(),isError:boolean2().optional()}),CompatibilityCallToolResultSchema=CallToolResultSchema.or(ResultSchema.extend({toolResult:unknown()})),CallToolRequestParamsSchema=TaskAugmentedRequestParamsSchema.extend({name:string2(),arguments:record(string2(),unknown()).optional()}),CallToolRequestSchema=RequestSchema.extend({method:literal("tools/call"),params:CallToolRequestParamsSchema}),ToolListChangedNotificationSchema=NotificationSchema.extend({method:literal("notifications/tools/list_changed"),params:NotificationsParamsSchema.optional()}),ListChangedOptionsBaseSchema=object2({autoRefresh:boolean2().default(!0),debounceMs:number2().int().nonnegative().default(300)}),LoggingLevelSchema=_enum(["debug","info","notice","warning","error","critical","alert","emergency"]),SetLevelRequestParamsSchema=BaseRequestParamsSchema.extend({level:LoggingLevelSchema}),SetLevelRequestSchema=RequestSchema.extend({method:literal("logging/setLevel"),params:SetLevelRequestParamsSchema}),LoggingMessageNotificationParamsSchema=NotificationsParamsSchema.extend({level:LoggingLevelSchema,logger:string2().optional(),data:unknown()}),LoggingMessageNotificationSchema=NotificationSchema.extend({method:literal("notifications/message"),params:LoggingMessageNotificationParamsSchema}),ModelHintSchema=object2({name:string2().optional()}),ModelPreferencesSchema=object2({hints:array(ModelHintSchema).optional(),costPriority:number2().min(0).max(1).optional(),speedPriority:number2().min(0).max(1).optional(),intelligencePriority:number2().min(0).max(1).optional()}),ToolChoiceSchema=object2({mode:_enum(["auto","required","none"]).optional()}),ToolResultContentSchema=object2({type:literal("tool_result"),toolUseId:string2().describe("The unique identifier for the corresponding tool call."),content:array(ContentBlockSchema).default([]),structuredContent:object2({}).loose().optional(),isError:boolean2().optional(),_meta:record(string2(),unknown()).optional()}),SamplingContentSchema=discriminatedUnion("type",[TextContentSchema,ImageContentSchema,AudioContentSchema]),SamplingMessageContentBlockSchema=discriminatedUnion("type",[TextContentSchema,ImageContentSchema,AudioContentSchema,ToolUseContentSchema,ToolResultContentSchema]),SamplingMessageSchema=object2({role:RoleSchema,content:union([SamplingMessageContentBlockSchema,array(SamplingMessageContentBlockSchema)]),_meta:record(string2(),unknown()).optional()}),CreateMessageRequestParamsSchema=TaskAugmentedRequestParamsSchema.extend({messages:array(SamplingMessageSchema),modelPreferences:ModelPreferencesSchema.optional(),systemPrompt:string2().optional(),includeContext:_enum(["none","thisServer","allServers"]).optional(),temperature:number2().optional(),maxTokens:number2().int(),stopSequences:array(string2()).optional(),metadata:AssertObjectSchema.optional(),tools:array(ToolSchema).optional(),toolChoice:ToolChoiceSchema.optional()}),CreateMessageRequestSchema=RequestSchema.extend({method:literal("sampling/createMessage"),params:CreateMessageRequestParamsSchema}),CreateMessageResultSchema=ResultSchema.extend({model:string2(),stopReason:optional(_enum(["endTurn","stopSequence","maxTokens"]).or(string2())),role:RoleSchema,content:SamplingContentSchema}),CreateMessageResultWithToolsSchema=ResultSchema.extend({model:string2(),stopReason:optional(_enum(["endTurn","stopSequence","maxTokens","toolUse"]).or(string2())),role:RoleSchema,content:union([SamplingMessageContentBlockSchema,array(SamplingMessageContentBlockSchema)])}),BooleanSchemaSchema=object2({type:literal("boolean"),title:string2().optional(),description:string2().optional(),default:boolean2().optional()}),StringSchemaSchema=object2({type:literal("string"),title:string2().optional(),description:string2().optional(),minLength:number2().optional(),maxLength:number2().optional(),format:_enum(["email","uri","date","date-time"]).optional(),default:string2().optional()}),NumberSchemaSchema=object2({type:_enum(["number","integer"]),title:string2().optional(),description:string2().optional(),minimum:number2().optional(),maximum:number2().optional(),default:number2().optional()}),UntitledSingleSelectEnumSchemaSchema=object2({type:literal("string"),title:string2().optional(),description:string2().optional(),enum:array(string2()),default:string2().optional()}),TitledSingleSelectEnumSchemaSchema=object2({type:literal("string"),title:string2().optional(),description:string2().optional(),oneOf:array(object2({const:string2(),title:string2()})),default:string2().optional()}),LegacyTitledEnumSchemaSchema=object2({type:literal("string"),title:string2().optional(),description:string2().optional(),enum:array(string2()),enumNames:array(string2()).optional(),default:string2().optional()}),SingleSelectEnumSchemaSchema=union([UntitledSingleSelectEnumSchemaSchema,TitledSingleSelectEnumSchemaSchema]),UntitledMultiSelectEnumSchemaSchema=object2({type:literal("array"),title:string2().optional(),description:string2().optional(),minItems:number2().optional(),maxItems:number2().optional(),items:object2({type:literal("string"),enum:array(string2())}),default:array(string2()).optional()}),TitledMultiSelectEnumSchemaSchema=object2({type:literal("array"),title:string2().optional(),description:string2().optional(),minItems:number2().optional(),maxItems:number2().optional(),items:object2({anyOf:array(object2({const:string2(),title:string2()}))}),default:array(string2()).optional()}),MultiSelectEnumSchemaSchema=union([UntitledMultiSelectEnumSchemaSchema,TitledMultiSelectEnumSchemaSchema]),EnumSchemaSchema=union([LegacyTitledEnumSchemaSchema,SingleSelectEnumSchemaSchema,MultiSelectEnumSchemaSchema]),PrimitiveSchemaDefinitionSchema=union([EnumSchemaSchema,BooleanSchemaSchema,StringSchemaSchema,NumberSchemaSchema]),ElicitRequestFormParamsSchema=TaskAugmentedRequestParamsSchema.extend({mode:literal("form").optional(),message:string2(),requestedSchema:object2({type:literal("object"),properties:record(string2(),PrimitiveSchemaDefinitionSchema),required:array(string2()).optional()})}),ElicitRequestURLParamsSchema=TaskAugmentedRequestParamsSchema.extend({mode:literal("url"),message:string2(),elicitationId:string2(),url:string2().url()}),ElicitRequestParamsSchema=union([ElicitRequestFormParamsSchema,ElicitRequestURLParamsSchema]),ElicitRequestSchema=RequestSchema.extend({method:literal("elicitation/create"),params:ElicitRequestParamsSchema}),ElicitationCompleteNotificationParamsSchema=NotificationsParamsSchema.extend({elicitationId:string2()}),ElicitationCompleteNotificationSchema=NotificationSchema.extend({method:literal("notifications/elicitation/complete"),params:ElicitationCompleteNotificationParamsSchema}),ElicitResultSchema=ResultSchema.extend({action:_enum(["accept","decline","cancel"]),content:preprocess(val=>val===null?void 0:val,record(string2(),union([string2(),number2(),boolean2(),array(string2())])).optional())}),ResourceTemplateReferenceSchema=object2({type:literal("ref/resource"),uri:string2()});var PromptReferenceSchema=object2({type:literal("ref/prompt"),name:string2()}),CompleteRequestParamsSchema=BaseRequestParamsSchema.extend({ref:union([PromptReferenceSchema,ResourceTemplateReferenceSchema]),argument:object2({name:string2(),value:string2()}),context:object2({arguments:record(string2(),string2()).optional()}).optional()}),CompleteRequestSchema=RequestSchema.extend({method:literal("completion/complete"),params:CompleteRequestParamsSchema});function assertCompleteRequestPrompt(request3){if(request3.params.ref.type!=="ref/prompt")throw new TypeError(`Expected CompleteRequestPrompt, but got ${request3.params.ref.type}`)}function assertCompleteRequestResourceTemplate(request3){if(request3.params.ref.type!=="ref/resource")throw new TypeError(`Expected CompleteRequestResourceTemplate, but got ${request3.params.ref.type}`)}var CompleteResultSchema=ResultSchema.extend({completion:looseObject({values:array(string2()).max(100),total:optional(number2().int()),hasMore:optional(boolean2())})}),RootSchema=object2({uri:string2().startsWith("file://"),name:string2().optional(),_meta:record(string2(),unknown()).optional()}),ListRootsRequestSchema=RequestSchema.extend({method:literal("roots/list"),params:BaseRequestParamsSchema.optional()}),ListRootsResultSchema=ResultSchema.extend({roots:array(RootSchema)}),RootsListChangedNotificationSchema=NotificationSchema.extend({method:literal("notifications/roots/list_changed"),params:NotificationsParamsSchema.optional()}),ClientRequestSchema=union([PingRequestSchema,InitializeRequestSchema,CompleteRequestSchema,SetLevelRequestSchema,GetPromptRequestSchema,ListPromptsRequestSchema,ListResourcesRequestSchema,ListResourceTemplatesRequestSchema,ReadResourceRequestSchema,SubscribeRequestSchema,UnsubscribeRequestSchema,CallToolRequestSchema,ListToolsRequestSchema,GetTaskRequestSchema,GetTaskPayloadRequestSchema,ListTasksRequestSchema,CancelTaskRequestSchema]),ClientNotificationSchema=union([CancelledNotificationSchema,ProgressNotificationSchema,InitializedNotificationSchema,RootsListChangedNotificationSchema,TaskStatusNotificationSchema]),ClientResultSchema=union([EmptyResultSchema,CreateMessageResultSchema,CreateMessageResultWithToolsSchema,ElicitResultSchema,ListRootsResultSchema,GetTaskResultSchema,ListTasksResultSchema,CreateTaskResultSchema]),ServerRequestSchema=union([PingRequestSchema,CreateMessageRequestSchema,ElicitRequestSchema,ListRootsRequestSchema,GetTaskRequestSchema,GetTaskPayloadRequestSchema,ListTasksRequestSchema,CancelTaskRequestSchema]),ServerNotificationSchema=union([CancelledNotificationSchema,ProgressNotificationSchema,LoggingMessageNotificationSchema,ResourceUpdatedNotificationSchema,ResourceListChangedNotificationSchema,ToolListChangedNotificationSchema,PromptListChangedNotificationSchema,TaskStatusNotificationSchema,ElicitationCompleteNotificationSchema]),ServerResultSchema=union([EmptyResultSchema,InitializeResultSchema,CompleteResultSchema,GetPromptResultSchema,ListPromptsResultSchema,ListResourcesResultSchema,ListResourceTemplatesResultSchema,ReadResourceResultSchema,CallToolResultSchema,ListToolsResultSchema,GetTaskResultSchema,ListTasksResultSchema,CreateTaskResultSchema]),McpError=class _McpError extends Error{constructor(code,message,data){super(`MCP error ${code}: ${message}`),this.code=code,this.data=data,this.name="McpError"}static fromError(code,message,data){if(code===ErrorCode.UrlElicitationRequired&&data){let errorData=data;if(errorData.elicitations)return new UrlElicitationRequiredError(errorData.elicitations,message)}return new _McpError(code,message,data)}},UrlElicitationRequiredError=class extends McpError{constructor(elicitations,message=`URL elicitation${elicitations.length>1?"s":""} required`){super(ErrorCode.UrlElicitationRequired,message,{elicitations})}get elicitations(){return this.data?.elicitations??[]}};function isTerminal(status){return status==="completed"||status==="failed"||status==="cancelled"}var ignoreOverride=Symbol("Let zodToJsonSchema decide on which parser to use");var defaultOptions={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},getDefaultOptions=options=>typeof options=="string"?{...defaultOptions,name:options}:{...defaultOptions,...options};var getRefs=options=>{let _options=getDefaultOptions(options),currentPath=_options.name!==void 0?[..._options.basePath,_options.definitionPath,_options.name]:_options.basePath;return{..._options,flags:{hasReferencedOpenAiAnyType:!1},currentPath,propertyPath:void 0,seen:new Map(Object.entries(_options.definitions).map(([name,def])=>[def._def,{def:def._def,path:[..._options.basePath,_options.definitionPath,name],jsonSchema:void 0}]))}};function addErrorMessage(res,key,errorMessage,refs){refs?.errorMessages&&errorMessage&&(res.errorMessage={...res.errorMessage,[key]:errorMessage})}function setResponseValueAndErrors(res,key,value,errorMessage,refs){res[key]=value,addErrorMessage(res,key,errorMessage,refs)}var getRelativePath=(pathA,pathB)=>{let i=0;for(;i<pathA.length&&i<pathB.length&&pathA[i]===pathB[i];i++);return[(pathA.length-i).toString(),...pathB.slice(i)].join("/")};function parseAnyDef(refs){if(refs.target!=="openAi")return{};let anyDefinitionPath=[...refs.basePath,refs.definitionPath,refs.openAiAnyTypeName];return refs.flags.hasReferencedOpenAiAnyType=!0,{$ref:refs.$refStrategy==="relative"?getRelativePath(anyDefinitionPath,refs.currentPath):anyDefinitionPath.join("/")}}function parseArrayDef(def,refs){let res={type:"array"};return def.type?._def&&def.type?._def?.typeName!==ZodFirstPartyTypeKind.ZodAny&&(res.items=parseDef(def.type._def,{...refs,currentPath:[...refs.currentPath,"items"]})),def.minLength&&setResponseValueAndErrors(res,"minItems",def.minLength.value,def.minLength.message,refs),def.maxLength&&setResponseValueAndErrors(res,"maxItems",def.maxLength.value,def.maxLength.message,refs),def.exactLength&&(setResponseValueAndErrors(res,"minItems",def.exactLength.value,def.exactLength.message,refs),setResponseValueAndErrors(res,"maxItems",def.exactLength.value,def.exactLength.message,refs)),res}function parseBigintDef(def,refs){let res={type:"integer",format:"int64"};if(!def.checks)return res;for(let check2 of def.checks)switch(check2.kind){case"min":refs.target==="jsonSchema7"?check2.inclusive?setResponseValueAndErrors(res,"minimum",check2.value,check2.message,refs):setResponseValueAndErrors(res,"exclusiveMinimum",check2.value,check2.message,refs):(check2.inclusive||(res.exclusiveMinimum=!0),setResponseValueAndErrors(res,"minimum",check2.value,check2.message,refs));break;case"max":refs.target==="jsonSchema7"?check2.inclusive?setResponseValueAndErrors(res,"maximum",check2.value,check2.message,refs):setResponseValueAndErrors(res,"exclusiveMaximum",check2.value,check2.message,refs):(check2.inclusive||(res.exclusiveMaximum=!0),setResponseValueAndErrors(res,"maximum",check2.value,check2.message,refs));break;case"multipleOf":setResponseValueAndErrors(res,"multipleOf",check2.value,check2.message,refs);break}return res}function parseBooleanDef(){return{type:"boolean"}}function parseBrandedDef(_def,refs){return parseDef(_def.type._def,refs)}var parseCatchDef=(def,refs)=>parseDef(def.innerType._def,refs);function parseDateDef(def,refs,overrideDateStrategy){let strategy=overrideDateStrategy??refs.dateStrategy;if(Array.isArray(strategy))return{anyOf:strategy.map((item,i)=>parseDateDef(def,refs,item))};switch(strategy){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return integerDateParser(def,refs)}}var integerDateParser=(def,refs)=>{let res={type:"integer",format:"unix-time"};if(refs.target==="openApi3")return res;for(let check2 of def.checks)switch(check2.kind){case"min":setResponseValueAndErrors(res,"minimum",check2.value,check2.message,refs);break;case"max":setResponseValueAndErrors(res,"maximum",check2.value,check2.message,refs);break}return res};function parseDefaultDef(_def,refs){return{...parseDef(_def.innerType._def,refs),default:_def.defaultValue()}}function parseEffectsDef(_def,refs){return refs.effectStrategy==="input"?parseDef(_def.schema._def,refs):parseAnyDef(refs)}function parseEnumDef(def){return{type:"string",enum:Array.from(def.values)}}var isJsonSchema7AllOfType=type=>"type"in type&&type.type==="string"?!1:"allOf"in type;function parseIntersectionDef(def,refs){let allOf=[parseDef(def.left._def,{...refs,currentPath:[...refs.currentPath,"allOf","0"]}),parseDef(def.right._def,{...refs,currentPath:[...refs.currentPath,"allOf","1"]})].filter(x=>!!x),unevaluatedProperties=refs.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,mergedAllOf=[];return allOf.forEach(schema=>{if(isJsonSchema7AllOfType(schema))mergedAllOf.push(...schema.allOf),schema.unevaluatedProperties===void 0&&(unevaluatedProperties=void 0);else{let nestedSchema=schema;if("additionalProperties"in schema&&schema.additionalProperties===!1){let{additionalProperties,...rest}=schema;nestedSchema=rest}else unevaluatedProperties=void 0;mergedAllOf.push(nestedSchema)}}),mergedAllOf.length?{allOf:mergedAllOf,...unevaluatedProperties}:void 0}function parseLiteralDef(def,refs){let parsedType2=typeof def.value;return parsedType2!=="bigint"&&parsedType2!=="number"&&parsedType2!=="boolean"&&parsedType2!=="string"?{type:Array.isArray(def.value)?"array":"object"}:refs.target==="openApi3"?{type:parsedType2==="bigint"?"integer":parsedType2,enum:[def.value]}:{type:parsedType2==="bigint"?"integer":parsedType2,const:def.value}}var emojiRegex2,zodPatterns={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(emojiRegex2===void 0&&(emojiRegex2=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),emojiRegex2),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function parseStringDef(def,refs){let res={type:"string"};if(def.checks)for(let check2 of def.checks)switch(check2.kind){case"min":setResponseValueAndErrors(res,"minLength",typeof res.minLength=="number"?Math.max(res.minLength,check2.value):check2.value,check2.message,refs);break;case"max":setResponseValueAndErrors(res,"maxLength",typeof res.maxLength=="number"?Math.min(res.maxLength,check2.value):check2.value,check2.message,refs);break;case"email":switch(refs.emailStrategy){case"format:email":addFormat(res,"email",check2.message,refs);break;case"format:idn-email":addFormat(res,"idn-email",check2.message,refs);break;case"pattern:zod":addPattern(res,zodPatterns.email,check2.message,refs);break}break;case"url":addFormat(res,"uri",check2.message,refs);break;case"uuid":addFormat(res,"uuid",check2.message,refs);break;case"regex":addPattern(res,check2.regex,check2.message,refs);break;case"cuid":addPattern(res,zodPatterns.cuid,check2.message,refs);break;case"cuid2":addPattern(res,zodPatterns.cuid2,check2.message,refs);break;case"startsWith":addPattern(res,RegExp(`^${escapeLiteralCheckValue(check2.value,refs)}`),check2.message,refs);break;case"endsWith":addPattern(res,RegExp(`${escapeLiteralCheckValue(check2.value,refs)}$`),check2.message,refs);break;case"datetime":addFormat(res,"date-time",check2.message,refs);break;case"date":addFormat(res,"date",check2.message,refs);break;case"time":addFormat(res,"time",check2.message,refs);break;case"duration":addFormat(res,"duration",check2.message,refs);break;case"length":setResponseValueAndErrors(res,"minLength",typeof res.minLength=="number"?Math.max(res.minLength,check2.value):check2.value,check2.message,refs),setResponseValueAndErrors(res,"maxLength",typeof res.maxLength=="number"?Math.min(res.maxLength,check2.value):check2.value,check2.message,refs);break;case"includes":{addPattern(res,RegExp(escapeLiteralCheckValue(check2.value,refs)),check2.message,refs);break}case"ip":{check2.version!=="v6"&&addFormat(res,"ipv4",check2.message,refs),check2.version!=="v4"&&addFormat(res,"ipv6",check2.message,refs);break}case"base64url":addPattern(res,zodPatterns.base64url,check2.message,refs);break;case"jwt":addPattern(res,zodPatterns.jwt,check2.message,refs);break;case"cidr":{check2.version!=="v6"&&addPattern(res,zodPatterns.ipv4Cidr,check2.message,refs),check2.version!=="v4"&&addPattern(res,zodPatterns.ipv6Cidr,check2.message,refs);break}case"emoji":addPattern(res,zodPatterns.emoji(),check2.message,refs);break;case"ulid":{addPattern(res,zodPatterns.ulid,check2.message,refs);break}case"base64":{switch(refs.base64Strategy){case"format:binary":{addFormat(res,"binary",check2.message,refs);break}case"contentEncoding:base64":{setResponseValueAndErrors(res,"contentEncoding","base64",check2.message,refs);break}case"pattern:zod":{addPattern(res,zodPatterns.base64,check2.message,refs);break}}break}case"nanoid":addPattern(res,zodPatterns.nanoid,check2.message,refs);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return res}function escapeLiteralCheckValue(literal2,refs){return refs.patternStrategy==="escape"?escapeNonAlphaNumeric(literal2):literal2}var ALPHA_NUMERIC=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function escapeNonAlphaNumeric(source){let result="";for(let i=0;i<source.length;i++)ALPHA_NUMERIC.has(source[i])||(result+="\\"),result+=source[i];return result}function addFormat(schema,value,message,refs){schema.format||schema.anyOf?.some(x=>x.format)?(schema.anyOf||(schema.anyOf=[]),schema.format&&(schema.anyOf.push({format:schema.format,...schema.errorMessage&&refs.errorMessages&&{errorMessage:{format:schema.errorMessage.format}}}),delete schema.format,schema.errorMessage&&(delete schema.errorMessage.format,Object.keys(schema.errorMessage).length===0&&delete schema.errorMessage)),schema.anyOf.push({format:value,...message&&refs.errorMessages&&{errorMessage:{format:message}}})):setResponseValueAndErrors(schema,"format",value,message,refs)}function addPattern(schema,regex,message,refs){schema.pattern||schema.allOf?.some(x=>x.pattern)?(schema.allOf||(schema.allOf=[]),schema.pattern&&(schema.allOf.push({pattern:schema.pattern,...schema.errorMessage&&refs.errorMessages&&{errorMessage:{pattern:schema.errorMessage.pattern}}}),delete schema.pattern,schema.errorMessage&&(delete schema.errorMessage.pattern,Object.keys(schema.errorMessage).length===0&&delete schema.errorMessage)),schema.allOf.push({pattern:stringifyRegExpWithFlags(regex,refs),...message&&refs.errorMessages&&{errorMessage:{pattern:message}}})):setResponseValueAndErrors(schema,"pattern",stringifyRegExpWithFlags(regex,refs),message,refs)}function stringifyRegExpWithFlags(regex,refs){if(!refs.applyRegexFlags||!regex.flags)return regex.source;let flags={i:regex.flags.includes("i"),m:regex.flags.includes("m"),s:regex.flags.includes("s")},source=flags.i?regex.source.toLowerCase():regex.source,pattern="",isEscaped=!1,inCharGroup=!1,inCharRange=!1;for(let i=0;i<source.length;i++){if(isEscaped){pattern+=source[i],isEscaped=!1;continue}if(flags.i){if(inCharGroup){if(source[i].match(/[a-z]/)){inCharRange?(pattern+=source[i],pattern+=`${source[i-2]}-${source[i]}`.toUpperCase(),inCharRange=!1):source[i+1]==="-"&&source[i+2]?.match(/[a-z]/)?(pattern+=source[i],inCharRange=!0):pattern+=`${source[i]}${source[i].toUpperCase()}`;continue}}else if(source[i].match(/[a-z]/)){pattern+=`[${source[i]}${source[i].toUpperCase()}]`;continue}}if(flags.m){if(source[i]==="^"){pattern+=`(^|(?<=[\r
|
|
179
|
+
]))`;continue}else if(source[i]==="$"){pattern+=`($|(?=[\r
|
|
180
|
+
]))`;continue}}if(flags.s&&source[i]==="."){pattern+=inCharGroup?`${source[i]}\r
|
|
181
|
+
`:`[${source[i]}\r
|
|
182
|
+
]`;continue}pattern+=source[i],source[i]==="\\"?isEscaped=!0:inCharGroup&&source[i]==="]"?inCharGroup=!1:!inCharGroup&&source[i]==="["&&(inCharGroup=!0)}try{new RegExp(pattern)}catch{return console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),regex.source}return pattern}function parseRecordDef(def,refs){if(refs.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),refs.target==="openApi3"&&def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodEnum)return{type:"object",required:def.keyType._def.values,properties:def.keyType._def.values.reduce((acc,key)=>({...acc,[key]:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,"properties",key]})??parseAnyDef(refs)}),{}),additionalProperties:refs.rejectedAdditionalProperties};let schema={type:"object",additionalProperties:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,"additionalProperties"]})??refs.allowedAdditionalProperties};if(refs.target==="openApi3")return schema;if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodString&&def.keyType._def.checks?.length){let{type,...keyType}=parseStringDef(def.keyType._def,refs);return{...schema,propertyNames:keyType}}else{if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodEnum)return{...schema,propertyNames:{enum:def.keyType._def.values}};if(def.keyType?._def.typeName===ZodFirstPartyTypeKind.ZodBranded&&def.keyType._def.type._def.typeName===ZodFirstPartyTypeKind.ZodString&&def.keyType._def.type._def.checks?.length){let{type,...keyType}=parseBrandedDef(def.keyType._def,refs);return{...schema,propertyNames:keyType}}}return schema}function parseMapDef(def,refs){if(refs.mapStrategy==="record")return parseRecordDef(def,refs);let keys=parseDef(def.keyType._def,{...refs,currentPath:[...refs.currentPath,"items","items","0"]})||parseAnyDef(refs),values=parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,"items","items","1"]})||parseAnyDef(refs);return{type:"array",maxItems:125,items:{type:"array",items:[keys,values],minItems:2,maxItems:2}}}function parseNativeEnumDef(def){let object3=def.values,actualValues=Object.keys(def.values).filter(key=>typeof object3[object3[key]]!="number").map(key=>object3[key]),parsedTypes=Array.from(new Set(actualValues.map(values=>typeof values)));return{type:parsedTypes.length===1?parsedTypes[0]==="string"?"string":"number":["string","number"],enum:actualValues}}function parseNeverDef(refs){return refs.target==="openAi"?void 0:{not:parseAnyDef({...refs,currentPath:[...refs.currentPath,"not"]})}}function parseNullDef(refs){return refs.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var primitiveMappings={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function parseUnionDef(def,refs){if(refs.target==="openApi3")return asAnyOf(def,refs);let options=def.options instanceof Map?Array.from(def.options.values()):def.options;if(options.every(x=>x._def.typeName in primitiveMappings&&(!x._def.checks||!x._def.checks.length))){let types=options.reduce((types2,x)=>{let type=primitiveMappings[x._def.typeName];return type&&!types2.includes(type)?[...types2,type]:types2},[]);return{type:types.length>1?types:types[0]}}else if(options.every(x=>x._def.typeName==="ZodLiteral"&&!x.description)){let types=options.reduce((acc,x)=>{let type=typeof x._def.value;switch(type){case"string":case"number":case"boolean":return[...acc,type];case"bigint":return[...acc,"integer"];case"object":if(x._def.value===null)return[...acc,"null"];default:return acc}},[]);if(types.length===options.length){let uniqueTypes=types.filter((x,i,a)=>a.indexOf(x)===i);return{type:uniqueTypes.length>1?uniqueTypes:uniqueTypes[0],enum:options.reduce((acc,x)=>acc.includes(x._def.value)?acc:[...acc,x._def.value],[])}}}else if(options.every(x=>x._def.typeName==="ZodEnum"))return{type:"string",enum:options.reduce((acc,x)=>[...acc,...x._def.values.filter(x2=>!acc.includes(x2))],[])};return asAnyOf(def,refs)}var asAnyOf=(def,refs)=>{let anyOf=(def.options instanceof Map?Array.from(def.options.values()):def.options).map((x,i)=>parseDef(x._def,{...refs,currentPath:[...refs.currentPath,"anyOf",`${i}`]})).filter(x=>!!x&&(!refs.strictUnions||typeof x=="object"&&Object.keys(x).length>0));return anyOf.length?{anyOf}:void 0};function parseNullableDef(def,refs){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(def.innerType._def.typeName)&&(!def.innerType._def.checks||!def.innerType._def.checks.length))return refs.target==="openApi3"?{type:primitiveMappings[def.innerType._def.typeName],nullable:!0}:{type:[primitiveMappings[def.innerType._def.typeName],"null"]};if(refs.target==="openApi3"){let base2=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath]});return base2&&"$ref"in base2?{allOf:[base2],nullable:!0}:base2&&{...base2,nullable:!0}}let base=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath,"anyOf","0"]});return base&&{anyOf:[base,{type:"null"}]}}function parseNumberDef(def,refs){let res={type:"number"};if(!def.checks)return res;for(let check2 of def.checks)switch(check2.kind){case"int":res.type="integer",addErrorMessage(res,"type",check2.message,refs);break;case"min":refs.target==="jsonSchema7"?check2.inclusive?setResponseValueAndErrors(res,"minimum",check2.value,check2.message,refs):setResponseValueAndErrors(res,"exclusiveMinimum",check2.value,check2.message,refs):(check2.inclusive||(res.exclusiveMinimum=!0),setResponseValueAndErrors(res,"minimum",check2.value,check2.message,refs));break;case"max":refs.target==="jsonSchema7"?check2.inclusive?setResponseValueAndErrors(res,"maximum",check2.value,check2.message,refs):setResponseValueAndErrors(res,"exclusiveMaximum",check2.value,check2.message,refs):(check2.inclusive||(res.exclusiveMaximum=!0),setResponseValueAndErrors(res,"maximum",check2.value,check2.message,refs));break;case"multipleOf":setResponseValueAndErrors(res,"multipleOf",check2.value,check2.message,refs);break}return res}function parseObjectDef(def,refs){let forceOptionalIntoNullable=refs.target==="openAi",result={type:"object",properties:{}},required2=[],shape=def.shape();for(let propName in shape){let propDef=shape[propName];if(propDef===void 0||propDef._def===void 0)continue;let propOptional=safeIsOptional(propDef);propOptional&&forceOptionalIntoNullable&&(propDef._def.typeName==="ZodOptional"&&(propDef=propDef._def.innerType),propDef.isNullable()||(propDef=propDef.nullable()),propOptional=!1);let parsedDef=parseDef(propDef._def,{...refs,currentPath:[...refs.currentPath,"properties",propName],propertyPath:[...refs.currentPath,"properties",propName]});parsedDef!==void 0&&(result.properties[propName]=parsedDef,propOptional||required2.push(propName))}required2.length&&(result.required=required2);let additionalProperties=decideAdditionalProperties(def,refs);return additionalProperties!==void 0&&(result.additionalProperties=additionalProperties),result}function decideAdditionalProperties(def,refs){if(def.catchall._def.typeName!=="ZodNever")return parseDef(def.catchall._def,{...refs,currentPath:[...refs.currentPath,"additionalProperties"]});switch(def.unknownKeys){case"passthrough":return refs.allowedAdditionalProperties;case"strict":return refs.rejectedAdditionalProperties;case"strip":return refs.removeAdditionalStrategy==="strict"?refs.allowedAdditionalProperties:refs.rejectedAdditionalProperties}}function safeIsOptional(schema){try{return schema.isOptional()}catch{return!0}}var parseOptionalDef=(def,refs)=>{if(refs.currentPath.toString()===refs.propertyPath?.toString())return parseDef(def.innerType._def,refs);let innerSchema=parseDef(def.innerType._def,{...refs,currentPath:[...refs.currentPath,"anyOf","1"]});return innerSchema?{anyOf:[{not:parseAnyDef(refs)},innerSchema]}:parseAnyDef(refs)};var parsePipelineDef=(def,refs)=>{if(refs.pipeStrategy==="input")return parseDef(def.in._def,refs);if(refs.pipeStrategy==="output")return parseDef(def.out._def,refs);let a=parseDef(def.in._def,{...refs,currentPath:[...refs.currentPath,"allOf","0"]}),b=parseDef(def.out._def,{...refs,currentPath:[...refs.currentPath,"allOf",a?"1":"0"]});return{allOf:[a,b].filter(x=>x!==void 0)}};function parsePromiseDef(def,refs){return parseDef(def.type._def,refs)}function parseSetDef(def,refs){let schema={type:"array",uniqueItems:!0,items:parseDef(def.valueType._def,{...refs,currentPath:[...refs.currentPath,"items"]})};return def.minSize&&setResponseValueAndErrors(schema,"minItems",def.minSize.value,def.minSize.message,refs),def.maxSize&&setResponseValueAndErrors(schema,"maxItems",def.maxSize.value,def.maxSize.message,refs),schema}function parseTupleDef(def,refs){return def.rest?{type:"array",minItems:def.items.length,items:def.items.map((x,i)=>parseDef(x._def,{...refs,currentPath:[...refs.currentPath,"items",`${i}`]})).reduce((acc,x)=>x===void 0?acc:[...acc,x],[]),additionalItems:parseDef(def.rest._def,{...refs,currentPath:[...refs.currentPath,"additionalItems"]})}:{type:"array",minItems:def.items.length,maxItems:def.items.length,items:def.items.map((x,i)=>parseDef(x._def,{...refs,currentPath:[...refs.currentPath,"items",`${i}`]})).reduce((acc,x)=>x===void 0?acc:[...acc,x],[])}}function parseUndefinedDef(refs){return{not:parseAnyDef(refs)}}function parseUnknownDef(refs){return parseAnyDef(refs)}var parseReadonlyDef=(def,refs)=>parseDef(def.innerType._def,refs);var selectParser=(def,typeName,refs)=>{switch(typeName){case ZodFirstPartyTypeKind.ZodString:return parseStringDef(def,refs);case ZodFirstPartyTypeKind.ZodNumber:return parseNumberDef(def,refs);case ZodFirstPartyTypeKind.ZodObject:return parseObjectDef(def,refs);case ZodFirstPartyTypeKind.ZodBigInt:return parseBigintDef(def,refs);case ZodFirstPartyTypeKind.ZodBoolean:return parseBooleanDef();case ZodFirstPartyTypeKind.ZodDate:return parseDateDef(def,refs);case ZodFirstPartyTypeKind.ZodUndefined:return parseUndefinedDef(refs);case ZodFirstPartyTypeKind.ZodNull:return parseNullDef(refs);case ZodFirstPartyTypeKind.ZodArray:return parseArrayDef(def,refs);case ZodFirstPartyTypeKind.ZodUnion:case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return parseUnionDef(def,refs);case ZodFirstPartyTypeKind.ZodIntersection:return parseIntersectionDef(def,refs);case ZodFirstPartyTypeKind.ZodTuple:return parseTupleDef(def,refs);case ZodFirstPartyTypeKind.ZodRecord:return parseRecordDef(def,refs);case ZodFirstPartyTypeKind.ZodLiteral:return parseLiteralDef(def,refs);case ZodFirstPartyTypeKind.ZodEnum:return parseEnumDef(def);case ZodFirstPartyTypeKind.ZodNativeEnum:return parseNativeEnumDef(def);case ZodFirstPartyTypeKind.ZodNullable:return parseNullableDef(def,refs);case ZodFirstPartyTypeKind.ZodOptional:return parseOptionalDef(def,refs);case ZodFirstPartyTypeKind.ZodMap:return parseMapDef(def,refs);case ZodFirstPartyTypeKind.ZodSet:return parseSetDef(def,refs);case ZodFirstPartyTypeKind.ZodLazy:return()=>def.getter()._def;case ZodFirstPartyTypeKind.ZodPromise:return parsePromiseDef(def,refs);case ZodFirstPartyTypeKind.ZodNaN:case ZodFirstPartyTypeKind.ZodNever:return parseNeverDef(refs);case ZodFirstPartyTypeKind.ZodEffects:return parseEffectsDef(def,refs);case ZodFirstPartyTypeKind.ZodAny:return parseAnyDef(refs);case ZodFirstPartyTypeKind.ZodUnknown:return parseUnknownDef(refs);case ZodFirstPartyTypeKind.ZodDefault:return parseDefaultDef(def,refs);case ZodFirstPartyTypeKind.ZodBranded:return parseBrandedDef(def,refs);case ZodFirstPartyTypeKind.ZodReadonly:return parseReadonlyDef(def,refs);case ZodFirstPartyTypeKind.ZodCatch:return parseCatchDef(def,refs);case ZodFirstPartyTypeKind.ZodPipeline:return parsePipelineDef(def,refs);case ZodFirstPartyTypeKind.ZodFunction:case ZodFirstPartyTypeKind.ZodVoid:case ZodFirstPartyTypeKind.ZodSymbol:return;default:return(_=>{})(typeName)}};function parseDef(def,refs,forceResolution=!1){let seenItem=refs.seen.get(def);if(refs.override){let overrideResult=refs.override?.(def,refs,seenItem,forceResolution);if(overrideResult!==ignoreOverride)return overrideResult}if(seenItem&&!forceResolution){let seenSchema=get$ref(seenItem,refs);if(seenSchema!==void 0)return seenSchema}let newItem={def,path:refs.currentPath,jsonSchema:void 0};refs.seen.set(def,newItem);let jsonSchemaOrGetter=selectParser(def,def.typeName,refs),jsonSchema=typeof jsonSchemaOrGetter=="function"?parseDef(jsonSchemaOrGetter(),refs):jsonSchemaOrGetter;if(jsonSchema&&addMeta(def,refs,jsonSchema),refs.postProcess){let postProcessResult=refs.postProcess(jsonSchema,def,refs);return newItem.jsonSchema=jsonSchema,postProcessResult}return newItem.jsonSchema=jsonSchema,jsonSchema}var get$ref=(item,refs)=>{switch(refs.$refStrategy){case"root":return{$ref:item.path.join("/")};case"relative":return{$ref:getRelativePath(refs.currentPath,item.path)};case"none":case"seen":return item.path.length<refs.currentPath.length&&item.path.every((value,index)=>refs.currentPath[index]===value)?(console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`),parseAnyDef(refs)):refs.$refStrategy==="seen"?parseAnyDef(refs):void 0}},addMeta=(def,refs,jsonSchema)=>(def.description&&(jsonSchema.description=def.description,refs.markdownDescription&&(jsonSchema.markdownDescription=def.description)),jsonSchema);var zodToJsonSchema=(schema,options)=>{let refs=getRefs(options),definitions=typeof options=="object"&&options.definitions?Object.entries(options.definitions).reduce((acc,[name2,schema2])=>({...acc,[name2]:parseDef(schema2._def,{...refs,currentPath:[...refs.basePath,refs.definitionPath,name2]},!0)??parseAnyDef(refs)}),{}):void 0,name=typeof options=="string"?options:options?.nameStrategy==="title"?void 0:options?.name,main2=parseDef(schema._def,name===void 0?refs:{...refs,currentPath:[...refs.basePath,refs.definitionPath,name]},!1)??parseAnyDef(refs),title=typeof options=="object"&&options.name!==void 0&&options.nameStrategy==="title"?options.name:void 0;title!==void 0&&(main2.title=title),refs.flags.hasReferencedOpenAiAnyType&&(definitions||(definitions={}),definitions[refs.openAiAnyTypeName]||(definitions[refs.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:refs.$refStrategy==="relative"?"1":[...refs.basePath,refs.definitionPath,refs.openAiAnyTypeName].join("/")}}));let combined=name===void 0?definitions?{...main2,[refs.definitionPath]:definitions}:main2:{$ref:[...refs.$refStrategy==="relative"?[]:refs.basePath,refs.definitionPath,name].join("/"),[refs.definitionPath]:{...definitions,[name]:main2}};return refs.target==="jsonSchema7"?combined.$schema="http://json-schema.org/draft-07/schema#":(refs.target==="jsonSchema2019-09"||refs.target==="openAi")&&(combined.$schema="https://json-schema.org/draft/2019-09/schema#"),refs.target==="openAi"&&("anyOf"in combined||"oneOf"in combined||"allOf"in combined||"type"in combined&&Array.isArray(combined.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),combined};function mapMiniTarget(t){return!t||t==="jsonSchema7"||t==="draft-7"?"draft-7":t==="jsonSchema2019-09"||t==="draft-2020-12"?"draft-2020-12":"draft-7"}function toJsonSchemaCompat(schema,opts){return isZ4Schema(schema)?toJSONSchema(schema,{target:mapMiniTarget(opts?.target),io:opts?.pipeStrategy??"input"}):zodToJsonSchema(schema,{strictUnions:opts?.strictUnions??!0,pipeStrategy:opts?.pipeStrategy??"input"})}function getMethodLiteral(schema){let methodSchema=getObjectShape(schema)?.method;if(!methodSchema)throw new Error("Schema is missing a method literal");let value=getLiteralValue(methodSchema);if(typeof value!="string")throw new Error("Schema method literal must be a string");return value}function parseWithCompat(schema,data){let result=safeParse2(schema,data);if(!result.success)throw result.error;return result.data}var DEFAULT_REQUEST_TIMEOUT_MSEC=6e4,Protocol=class{constructor(_options){this._options=_options,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(CancelledNotificationSchema,notification=>{this._oncancel(notification)}),this.setNotificationHandler(ProgressNotificationSchema,notification=>{this._onprogress(notification)}),this.setRequestHandler(PingRequestSchema,_request=>({})),this._taskStore=_options?.taskStore,this._taskMessageQueue=_options?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(GetTaskRequestSchema,async(request3,extra)=>{let task=await this._taskStore.getTask(request3.params.taskId,extra.sessionId);if(!task)throw new McpError(ErrorCode.InvalidParams,"Failed to retrieve task: Task not found");return{...task}}),this.setRequestHandler(GetTaskPayloadRequestSchema,async(request3,extra)=>{let handleTaskResult=async()=>{let taskId=request3.params.taskId;if(this._taskMessageQueue){let queuedMessage;for(;queuedMessage=await this._taskMessageQueue.dequeue(taskId,extra.sessionId);){if(queuedMessage.type==="response"||queuedMessage.type==="error"){let message=queuedMessage.message,requestId=message.id,resolver=this._requestResolvers.get(requestId);if(resolver)if(this._requestResolvers.delete(requestId),queuedMessage.type==="response")resolver(message);else{let errorMessage=message,error3=new McpError(errorMessage.error.code,errorMessage.error.message,errorMessage.error.data);resolver(error3)}else{let messageType=queuedMessage.type==="response"?"Response":"Error";this._onerror(new Error(`${messageType} handler missing for request ${requestId}`))}continue}await this._transport?.send(queuedMessage.message,{relatedRequestId:extra.requestId})}}let task=await this._taskStore.getTask(taskId,extra.sessionId);if(!task)throw new McpError(ErrorCode.InvalidParams,`Task not found: ${taskId}`);if(!isTerminal(task.status))return await this._waitForTaskUpdate(taskId,extra.signal),await handleTaskResult();if(isTerminal(task.status)){let result=await this._taskStore.getTaskResult(taskId,extra.sessionId);return this._clearTaskQueue(taskId),{...result,_meta:{...result._meta,[RELATED_TASK_META_KEY]:{taskId}}}}return await handleTaskResult()};return await handleTaskResult()}),this.setRequestHandler(ListTasksRequestSchema,async(request3,extra)=>{try{let{tasks,nextCursor}=await this._taskStore.listTasks(request3.params?.cursor,extra.sessionId);return{tasks,nextCursor,_meta:{}}}catch(error3){throw new McpError(ErrorCode.InvalidParams,`Failed to list tasks: ${error3 instanceof Error?error3.message:String(error3)}`)}}),this.setRequestHandler(CancelTaskRequestSchema,async(request3,extra)=>{try{let task=await this._taskStore.getTask(request3.params.taskId,extra.sessionId);if(!task)throw new McpError(ErrorCode.InvalidParams,`Task not found: ${request3.params.taskId}`);if(isTerminal(task.status))throw new McpError(ErrorCode.InvalidParams,`Cannot cancel task in terminal status: ${task.status}`);await this._taskStore.updateTaskStatus(request3.params.taskId,"cancelled","Client cancelled task execution.",extra.sessionId),this._clearTaskQueue(request3.params.taskId);let cancelledTask=await this._taskStore.getTask(request3.params.taskId,extra.sessionId);if(!cancelledTask)throw new McpError(ErrorCode.InvalidParams,`Task not found after cancellation: ${request3.params.taskId}`);return{_meta:{},...cancelledTask}}catch(error3){throw error3 instanceof McpError?error3:new McpError(ErrorCode.InvalidRequest,`Failed to cancel task: ${error3 instanceof Error?error3.message:String(error3)}`)}}))}async _oncancel(notification){if(!notification.params.requestId)return;this._requestHandlerAbortControllers.get(notification.params.requestId)?.abort(notification.params.reason)}_setupTimeout(messageId,timeout,maxTotalTimeout,onTimeout,resetTimeoutOnProgress=!1){this._timeoutInfo.set(messageId,{timeoutId:setTimeout(onTimeout,timeout),startTime:Date.now(),timeout,maxTotalTimeout,resetTimeoutOnProgress,onTimeout})}_resetTimeout(messageId){let info=this._timeoutInfo.get(messageId);if(!info)return!1;let totalElapsed=Date.now()-info.startTime;if(info.maxTotalTimeout&&totalElapsed>=info.maxTotalTimeout)throw this._timeoutInfo.delete(messageId),McpError.fromError(ErrorCode.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:info.maxTotalTimeout,totalElapsed});return clearTimeout(info.timeoutId),info.timeoutId=setTimeout(info.onTimeout,info.timeout),!0}_cleanupTimeout(messageId){let info=this._timeoutInfo.get(messageId);info&&(clearTimeout(info.timeoutId),this._timeoutInfo.delete(messageId))}async connect(transport){if(this._transport)throw new Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=transport;let _onclose=this.transport?.onclose;this._transport.onclose=()=>{_onclose?.(),this._onclose()};let _onerror=this.transport?.onerror;this._transport.onerror=error3=>{_onerror?.(error3),this._onerror(error3)};let _onmessage=this._transport?.onmessage;this._transport.onmessage=(message,extra)=>{_onmessage?.(message,extra),isJSONRPCResultResponse(message)||isJSONRPCErrorResponse(message)?this._onresponse(message):isJSONRPCRequest(message)?this._onrequest(message,extra):isJSONRPCNotification(message)?this._onnotification(message):this._onerror(new Error(`Unknown message type: ${JSON.stringify(message)}`))},await this._transport.start()}_onclose(){let responseHandlers=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let controller of this._requestHandlerAbortControllers.values())controller.abort();this._requestHandlerAbortControllers.clear();let error3=McpError.fromError(ErrorCode.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let handler of responseHandlers.values())handler(error3)}_onerror(error3){this.onerror?.(error3)}_onnotification(notification){let handler=this._notificationHandlers.get(notification.method)??this.fallbackNotificationHandler;handler!==void 0&&Promise.resolve().then(()=>handler(notification)).catch(error3=>this._onerror(new Error(`Uncaught error in notification handler: ${error3}`)))}_onrequest(request3,extra){let handler=this._requestHandlers.get(request3.method)??this.fallbackRequestHandler,capturedTransport=this._transport,relatedTaskId=request3.params?._meta?.[RELATED_TASK_META_KEY]?.taskId;if(handler===void 0){let errorResponse={jsonrpc:"2.0",id:request3.id,error:{code:ErrorCode.MethodNotFound,message:"Method not found"}};relatedTaskId&&this._taskMessageQueue?this._enqueueTaskMessage(relatedTaskId,{type:"error",message:errorResponse,timestamp:Date.now()},capturedTransport?.sessionId).catch(error3=>this._onerror(new Error(`Failed to enqueue error response: ${error3}`))):capturedTransport?.send(errorResponse).catch(error3=>this._onerror(new Error(`Failed to send an error response: ${error3}`)));return}let abortController=new AbortController;this._requestHandlerAbortControllers.set(request3.id,abortController);let taskCreationParams=isTaskAugmentedRequestParams(request3.params)?request3.params.task:void 0,taskStore=this._taskStore?this.requestTaskStore(request3,capturedTransport?.sessionId):void 0,fullExtra={signal:abortController.signal,sessionId:capturedTransport?.sessionId,_meta:request3.params?._meta,sendNotification:async notification=>{if(abortController.signal.aborted)return;let notificationOptions={relatedRequestId:request3.id};relatedTaskId&&(notificationOptions.relatedTask={taskId:relatedTaskId}),await this.notification(notification,notificationOptions)},sendRequest:async(r,resultSchema,options)=>{if(abortController.signal.aborted)throw new McpError(ErrorCode.ConnectionClosed,"Request was cancelled");let requestOptions={...options,relatedRequestId:request3.id};relatedTaskId&&!requestOptions.relatedTask&&(requestOptions.relatedTask={taskId:relatedTaskId});let effectiveTaskId=requestOptions.relatedTask?.taskId??relatedTaskId;return effectiveTaskId&&taskStore&&await taskStore.updateTaskStatus(effectiveTaskId,"input_required"),await this.request(r,resultSchema,requestOptions)},authInfo:extra?.authInfo,requestId:request3.id,requestInfo:extra?.requestInfo,taskId:relatedTaskId,taskStore,taskRequestedTtl:taskCreationParams?.ttl,closeSSEStream:extra?.closeSSEStream,closeStandaloneSSEStream:extra?.closeStandaloneSSEStream};Promise.resolve().then(()=>{taskCreationParams&&this.assertTaskHandlerCapability(request3.method)}).then(()=>handler(request3,fullExtra)).then(async result=>{if(abortController.signal.aborted)return;let response={result,jsonrpc:"2.0",id:request3.id};relatedTaskId&&this._taskMessageQueue?await this._enqueueTaskMessage(relatedTaskId,{type:"response",message:response,timestamp:Date.now()},capturedTransport?.sessionId):await capturedTransport?.send(response)},async error3=>{if(abortController.signal.aborted)return;let errorResponse={jsonrpc:"2.0",id:request3.id,error:{code:Number.isSafeInteger(error3.code)?error3.code:ErrorCode.InternalError,message:error3.message??"Internal error",...error3.data!==void 0&&{data:error3.data}}};relatedTaskId&&this._taskMessageQueue?await this._enqueueTaskMessage(relatedTaskId,{type:"error",message:errorResponse,timestamp:Date.now()},capturedTransport?.sessionId):await capturedTransport?.send(errorResponse)}).catch(error3=>this._onerror(new Error(`Failed to send response: ${error3}`))).finally(()=>{this._requestHandlerAbortControllers.delete(request3.id)})}_onprogress(notification){let{progressToken,...params}=notification.params,messageId=Number(progressToken),handler=this._progressHandlers.get(messageId);if(!handler){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(notification)}`));return}let responseHandler=this._responseHandlers.get(messageId),timeoutInfo=this._timeoutInfo.get(messageId);if(timeoutInfo&&responseHandler&&timeoutInfo.resetTimeoutOnProgress)try{this._resetTimeout(messageId)}catch(error3){this._responseHandlers.delete(messageId),this._progressHandlers.delete(messageId),this._cleanupTimeout(messageId),responseHandler(error3);return}handler(params)}_onresponse(response){let messageId=Number(response.id),resolver=this._requestResolvers.get(messageId);if(resolver){if(this._requestResolvers.delete(messageId),isJSONRPCResultResponse(response))resolver(response);else{let error3=new McpError(response.error.code,response.error.message,response.error.data);resolver(error3)}return}let handler=this._responseHandlers.get(messageId);if(handler===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(response)}`));return}this._responseHandlers.delete(messageId),this._cleanupTimeout(messageId);let isTaskResponse=!1;if(isJSONRPCResultResponse(response)&&response.result&&typeof response.result=="object"){let result=response.result;if(result.task&&typeof result.task=="object"){let task=result.task;typeof task.taskId=="string"&&(isTaskResponse=!0,this._taskProgressTokens.set(task.taskId,messageId))}}if(isTaskResponse||this._progressHandlers.delete(messageId),isJSONRPCResultResponse(response))handler(response);else{let error3=McpError.fromError(response.error.code,response.error.message,response.error.data);handler(error3)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(request3,resultSchema,options){let{task}=options??{};if(!task){try{yield{type:"result",result:await this.request(request3,resultSchema,options)}}catch(error3){yield{type:"error",error:error3 instanceof McpError?error3:new McpError(ErrorCode.InternalError,String(error3))}}return}let taskId;try{let createResult=await this.request(request3,CreateTaskResultSchema,options);if(createResult.task)taskId=createResult.task.taskId,yield{type:"taskCreated",task:createResult.task};else throw new McpError(ErrorCode.InternalError,"Task creation did not return a task");for(;;){let task2=await this.getTask({taskId},options);if(yield{type:"taskStatus",task:task2},isTerminal(task2.status)){task2.status==="completed"?yield{type:"result",result:await this.getTaskResult({taskId},resultSchema,options)}:task2.status==="failed"?yield{type:"error",error:new McpError(ErrorCode.InternalError,`Task ${taskId} failed`)}:task2.status==="cancelled"&&(yield{type:"error",error:new McpError(ErrorCode.InternalError,`Task ${taskId} was cancelled`)});return}if(task2.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId},resultSchema,options)};return}let pollInterval=task2.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(resolve=>setTimeout(resolve,pollInterval)),options?.signal?.throwIfAborted()}}catch(error3){yield{type:"error",error:error3 instanceof McpError?error3:new McpError(ErrorCode.InternalError,String(error3))}}}request(request3,resultSchema,options){let{relatedRequestId,resumptionToken,onresumptiontoken,task,relatedTask}=options??{};return new Promise((resolve,reject)=>{let earlyReject=error3=>{reject(error3)};if(!this._transport){earlyReject(new Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(request3.method),task&&this.assertTaskCapability(request3.method)}catch(e){earlyReject(e);return}options?.signal?.throwIfAborted();let messageId=this._requestMessageId++,jsonrpcRequest={...request3,jsonrpc:"2.0",id:messageId};options?.onprogress&&(this._progressHandlers.set(messageId,options.onprogress),jsonrpcRequest.params={...request3.params,_meta:{...request3.params?._meta||{},progressToken:messageId}}),task&&(jsonrpcRequest.params={...jsonrpcRequest.params,task}),relatedTask&&(jsonrpcRequest.params={...jsonrpcRequest.params,_meta:{...jsonrpcRequest.params?._meta||{},[RELATED_TASK_META_KEY]:relatedTask}});let cancel=reason=>{this._responseHandlers.delete(messageId),this._progressHandlers.delete(messageId),this._cleanupTimeout(messageId),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:messageId,reason:String(reason)}},{relatedRequestId,resumptionToken,onresumptiontoken}).catch(error4=>this._onerror(new Error(`Failed to send cancellation: ${error4}`)));let error3=reason instanceof McpError?reason:new McpError(ErrorCode.RequestTimeout,String(reason));reject(error3)};this._responseHandlers.set(messageId,response=>{if(!options?.signal?.aborted){if(response instanceof Error)return reject(response);try{let parseResult=safeParse2(resultSchema,response.result);parseResult.success?resolve(parseResult.data):reject(parseResult.error)}catch(error3){reject(error3)}}}),options?.signal?.addEventListener("abort",()=>{cancel(options?.signal?.reason)});let timeout=options?.timeout??DEFAULT_REQUEST_TIMEOUT_MSEC,timeoutHandler=()=>cancel(McpError.fromError(ErrorCode.RequestTimeout,"Request timed out",{timeout}));this._setupTimeout(messageId,timeout,options?.maxTotalTimeout,timeoutHandler,options?.resetTimeoutOnProgress??!1);let relatedTaskId=relatedTask?.taskId;if(relatedTaskId){let responseResolver=response=>{let handler=this._responseHandlers.get(messageId);handler?handler(response):this._onerror(new Error(`Response handler missing for side-channeled request ${messageId}`))};this._requestResolvers.set(messageId,responseResolver),this._enqueueTaskMessage(relatedTaskId,{type:"request",message:jsonrpcRequest,timestamp:Date.now()}).catch(error3=>{this._cleanupTimeout(messageId),reject(error3)})}else this._transport.send(jsonrpcRequest,{relatedRequestId,resumptionToken,onresumptiontoken}).catch(error3=>{this._cleanupTimeout(messageId),reject(error3)})})}async getTask(params,options){return this.request({method:"tasks/get",params},GetTaskResultSchema,options)}async getTaskResult(params,resultSchema,options){return this.request({method:"tasks/result",params},resultSchema,options)}async listTasks(params,options){return this.request({method:"tasks/list",params},ListTasksResultSchema,options)}async cancelTask(params,options){return this.request({method:"tasks/cancel",params},CancelTaskResultSchema,options)}async notification(notification,options){if(!this._transport)throw new Error("Not connected");this.assertNotificationCapability(notification.method);let relatedTaskId=options?.relatedTask?.taskId;if(relatedTaskId){let jsonrpcNotification2={...notification,jsonrpc:"2.0",params:{...notification.params,_meta:{...notification.params?._meta||{},[RELATED_TASK_META_KEY]:options.relatedTask}}};await this._enqueueTaskMessage(relatedTaskId,{type:"notification",message:jsonrpcNotification2,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(notification.method)&&!notification.params&&!options?.relatedRequestId&&!options?.relatedTask){if(this._pendingDebouncedNotifications.has(notification.method))return;this._pendingDebouncedNotifications.add(notification.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(notification.method),!this._transport)return;let jsonrpcNotification2={...notification,jsonrpc:"2.0"};options?.relatedTask&&(jsonrpcNotification2={...jsonrpcNotification2,params:{...jsonrpcNotification2.params,_meta:{...jsonrpcNotification2.params?._meta||{},[RELATED_TASK_META_KEY]:options.relatedTask}}}),this._transport?.send(jsonrpcNotification2,options).catch(error3=>this._onerror(error3))});return}let jsonrpcNotification={...notification,jsonrpc:"2.0"};options?.relatedTask&&(jsonrpcNotification={...jsonrpcNotification,params:{...jsonrpcNotification.params,_meta:{...jsonrpcNotification.params?._meta||{},[RELATED_TASK_META_KEY]:options.relatedTask}}}),await this._transport.send(jsonrpcNotification,options)}setRequestHandler(requestSchema,handler){let method=getMethodLiteral(requestSchema);this.assertRequestHandlerCapability(method),this._requestHandlers.set(method,(request3,extra)=>{let parsed=parseWithCompat(requestSchema,request3);return Promise.resolve(handler(parsed,extra))})}removeRequestHandler(method){this._requestHandlers.delete(method)}assertCanSetRequestHandler(method){if(this._requestHandlers.has(method))throw new Error(`A request handler for ${method} already exists, which would be overridden`)}setNotificationHandler(notificationSchema,handler){let method=getMethodLiteral(notificationSchema);this._notificationHandlers.set(method,notification=>{let parsed=parseWithCompat(notificationSchema,notification);return Promise.resolve(handler(parsed))})}removeNotificationHandler(method){this._notificationHandlers.delete(method)}_cleanupTaskProgressHandler(taskId){let progressToken=this._taskProgressTokens.get(taskId);progressToken!==void 0&&(this._progressHandlers.delete(progressToken),this._taskProgressTokens.delete(taskId))}async _enqueueTaskMessage(taskId,message,sessionId){if(!this._taskStore||!this._taskMessageQueue)throw new Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let maxQueueSize=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(taskId,message,sessionId,maxQueueSize)}async _clearTaskQueue(taskId,sessionId){if(this._taskMessageQueue){let messages=await this._taskMessageQueue.dequeueAll(taskId,sessionId);for(let message of messages)if(message.type==="request"&&isJSONRPCRequest(message.message)){let requestId=message.message.id,resolver=this._requestResolvers.get(requestId);resolver?(resolver(new McpError(ErrorCode.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(requestId)):this._onerror(new Error(`Resolver missing for request ${requestId} during task ${taskId} cleanup`))}}}async _waitForTaskUpdate(taskId,signal){let interval=this._options?.defaultTaskPollInterval??1e3;try{let task=await this._taskStore?.getTask(taskId);task?.pollInterval&&(interval=task.pollInterval)}catch{}return new Promise((resolve,reject)=>{if(signal.aborted){reject(new McpError(ErrorCode.InvalidRequest,"Request cancelled"));return}let timeoutId=setTimeout(resolve,interval);signal.addEventListener("abort",()=>{clearTimeout(timeoutId),reject(new McpError(ErrorCode.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(request3,sessionId){let taskStore=this._taskStore;if(!taskStore)throw new Error("No task store configured");return{createTask:async taskParams=>{if(!request3)throw new Error("No request provided");return await taskStore.createTask(taskParams,request3.id,{method:request3.method,params:request3.params},sessionId)},getTask:async taskId=>{let task=await taskStore.getTask(taskId,sessionId);if(!task)throw new McpError(ErrorCode.InvalidParams,"Failed to retrieve task: Task not found");return task},storeTaskResult:async(taskId,status,result)=>{await taskStore.storeTaskResult(taskId,status,result,sessionId);let task=await taskStore.getTask(taskId,sessionId);if(task){let notification=TaskStatusNotificationSchema.parse({method:"notifications/tasks/status",params:task});await this.notification(notification),isTerminal(task.status)&&this._cleanupTaskProgressHandler(taskId)}},getTaskResult:taskId=>taskStore.getTaskResult(taskId,sessionId),updateTaskStatus:async(taskId,status,statusMessage)=>{let task=await taskStore.getTask(taskId,sessionId);if(!task)throw new McpError(ErrorCode.InvalidParams,`Task "${taskId}" not found - it may have been cleaned up`);if(isTerminal(task.status))throw new McpError(ErrorCode.InvalidParams,`Cannot update task "${taskId}" from terminal status "${task.status}" to "${status}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await taskStore.updateTaskStatus(taskId,status,statusMessage,sessionId);let updatedTask=await taskStore.getTask(taskId,sessionId);if(updatedTask){let notification=TaskStatusNotificationSchema.parse({method:"notifications/tasks/status",params:updatedTask});await this.notification(notification),isTerminal(updatedTask.status)&&this._cleanupTaskProgressHandler(taskId)}},listTasks:cursor=>taskStore.listTasks(cursor,sessionId)}}};function isPlainObject2(value){return value!==null&&typeof value=="object"&&!Array.isArray(value)}function mergeCapabilities(base,additional){let result={...base};for(let key in additional){let k=key,addValue=additional[k];if(addValue===void 0)continue;let baseValue=result[k];isPlainObject2(baseValue)&&isPlainObject2(addValue)?result[k]={...baseValue,...addValue}:result[k]=addValue}return result}var import_ajv=__toESM(require_ajv(),1),import_ajv_formats=__toESM(require_dist(),1);function createDefaultAjvInstance(){let ajv=new import_ajv.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,import_ajv_formats.default)(ajv),ajv}var AjvJsonSchemaValidator=class{constructor(ajv){this._ajv=ajv??createDefaultAjvInstance()}getValidator(schema){let ajvValidator="$id"in schema&&typeof schema.$id=="string"?this._ajv.getSchema(schema.$id)??this._ajv.compile(schema):this._ajv.compile(schema);return input=>ajvValidator(input)?{valid:!0,data:input,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(ajvValidator.errors)}}};var ExperimentalServerTasks=class{constructor(_server){this._server=_server}requestStream(request3,resultSchema,options){return this._server.requestStream(request3,resultSchema,options)}createMessageStream(params,options){let clientCapabilities=this._server.getClientCapabilities();if((params.tools||params.toolChoice)&&!clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(params.messages.length>0){let lastMessage=params.messages[params.messages.length-1],lastContent=Array.isArray(lastMessage.content)?lastMessage.content:[lastMessage.content],hasToolResults=lastContent.some(c=>c.type==="tool_result"),previousMessage=params.messages.length>1?params.messages[params.messages.length-2]:void 0,previousContent=previousMessage?Array.isArray(previousMessage.content)?previousMessage.content:[previousMessage.content]:[],hasPreviousToolUse=previousContent.some(c=>c.type==="tool_use");if(hasToolResults){if(lastContent.some(c=>c.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!hasPreviousToolUse)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(hasPreviousToolUse){let toolUseIds=new Set(previousContent.filter(c=>c.type==="tool_use").map(c=>c.id)),toolResultIds=new Set(lastContent.filter(c=>c.type==="tool_result").map(c=>c.toolUseId));if(toolUseIds.size!==toolResultIds.size||![...toolUseIds].every(id=>toolResultIds.has(id)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return this.requestStream({method:"sampling/createMessage",params},CreateMessageResultSchema,options)}elicitInputStream(params,options){let clientCapabilities=this._server.getClientCapabilities(),mode=params.mode??"form";switch(mode){case"url":{if(!clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");break}case"form":{if(!clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");break}}let normalizedParams=mode==="form"&¶ms.mode===void 0?{...params,mode:"form"}:params;return this.requestStream({method:"elicitation/create",params:normalizedParams},ElicitResultSchema,options)}async getTask(taskId,options){return this._server.getTask({taskId},options)}async getTaskResult(taskId,resultSchema,options){return this._server.getTaskResult({taskId},resultSchema,options)}async listTasks(cursor,options){return this._server.listTasks(cursor?{cursor}:void 0,options)}async cancelTask(taskId,options){return this._server.cancelTask({taskId},options)}};function assertToolsCallTaskCapability(requests,method,entityName){if(!requests)throw new Error(`${entityName} does not support task creation (required for ${method})`);switch(method){case"tools/call":if(!requests.tools?.call)throw new Error(`${entityName} does not support task creation for tools/call (required for ${method})`);break;default:break}}function assertClientRequestTaskCapability(requests,method,entityName){if(!requests)throw new Error(`${entityName} does not support task creation (required for ${method})`);switch(method){case"sampling/createMessage":if(!requests.sampling?.createMessage)throw new Error(`${entityName} does not support task creation for sampling/createMessage (required for ${method})`);break;case"elicitation/create":if(!requests.elicitation?.create)throw new Error(`${entityName} does not support task creation for elicitation/create (required for ${method})`);break;default:break}}var Server=class extends Protocol{constructor(_serverInfo,options){super(options),this._serverInfo=_serverInfo,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(LoggingLevelSchema.options.map((level,index)=>[level,index])),this.isMessageIgnored=(level,sessionId)=>{let currentLevel=this._loggingLevels.get(sessionId);return currentLevel?this.LOG_LEVEL_SEVERITY.get(level)<this.LOG_LEVEL_SEVERITY.get(currentLevel):!1},this._capabilities=options?.capabilities??{},this._instructions=options?.instructions,this._jsonSchemaValidator=options?.jsonSchemaValidator??new AjvJsonSchemaValidator,this.setRequestHandler(InitializeRequestSchema,request3=>this._oninitialize(request3)),this.setNotificationHandler(InitializedNotificationSchema,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(SetLevelRequestSchema,async(request3,extra)=>{let transportSessionId=extra.sessionId||extra.requestInfo?.headers["mcp-session-id"]||void 0,{level}=request3.params,parseResult=LoggingLevelSchema.safeParse(level);return parseResult.success&&this._loggingLevels.set(transportSessionId,parseResult.data),{}})}get experimental(){return this._experimental||(this._experimental={tasks:new ExperimentalServerTasks(this)}),this._experimental}registerCapabilities(capabilities){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=mergeCapabilities(this._capabilities,capabilities)}setRequestHandler(requestSchema,handler){let methodSchema=getObjectShape(requestSchema)?.method;if(!methodSchema)throw new Error("Schema is missing a method literal");let methodValue;if(isZ4Schema(methodSchema)){let v4Schema=methodSchema;methodValue=v4Schema._zod?.def?.value??v4Schema.value}else{let v3Schema=methodSchema;methodValue=v3Schema._def?.value??v3Schema.value}if(typeof methodValue!="string")throw new Error("Schema method literal must be a string");if(methodValue==="tools/call"){let wrappedHandler=async(request3,extra)=>{let validatedRequest=safeParse2(CallToolRequestSchema,request3);if(!validatedRequest.success){let errorMessage=validatedRequest.error instanceof Error?validatedRequest.error.message:String(validatedRequest.error);throw new McpError(ErrorCode.InvalidParams,`Invalid tools/call request: ${errorMessage}`)}let{params}=validatedRequest.data,result=await Promise.resolve(handler(request3,extra));if(params.task){let taskValidationResult=safeParse2(CreateTaskResultSchema,result);if(!taskValidationResult.success){let errorMessage=taskValidationResult.error instanceof Error?taskValidationResult.error.message:String(taskValidationResult.error);throw new McpError(ErrorCode.InvalidParams,`Invalid task creation result: ${errorMessage}`)}return taskValidationResult.data}let validationResult=safeParse2(CallToolResultSchema,result);if(!validationResult.success){let errorMessage=validationResult.error instanceof Error?validationResult.error.message:String(validationResult.error);throw new McpError(ErrorCode.InvalidParams,`Invalid tools/call result: ${errorMessage}`)}return validationResult.data};return super.setRequestHandler(requestSchema,wrappedHandler)}return super.setRequestHandler(requestSchema,handler)}assertCapabilityForMethod(method){switch(method){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw new Error(`Client does not support sampling (required for ${method})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw new Error(`Client does not support elicitation (required for ${method})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw new Error(`Client does not support listing roots (required for ${method})`);break;case"ping":break}}assertNotificationCapability(method){switch(method){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${method})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${method})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${method})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${method})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw new Error(`Client does not support URL elicitation (required for ${method})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(method){if(this._capabilities)switch(method){case"completion/complete":if(!this._capabilities.completions)throw new Error(`Server does not support completions (required for ${method})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${method})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${method})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${method})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${method})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw new Error(`Server does not support tasks capability (required for ${method})`);break;case"ping":case"initialize":break}}assertTaskCapability(method){assertClientRequestTaskCapability(this._clientCapabilities?.tasks?.requests,method,"Client")}assertTaskHandlerCapability(method){this._capabilities&&assertToolsCallTaskCapability(this._capabilities.tasks?.requests,method,"Server")}async _oninitialize(request3){let requestedVersion=request3.params.protocolVersion;return this._clientCapabilities=request3.params.capabilities,this._clientVersion=request3.params.clientInfo,{protocolVersion:SUPPORTED_PROTOCOL_VERSIONS.includes(requestedVersion)?requestedVersion:LATEST_PROTOCOL_VERSION,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},EmptyResultSchema)}async createMessage(params,options){if((params.tools||params.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw new Error("Client does not support sampling tools capability.");if(params.messages.length>0){let lastMessage=params.messages[params.messages.length-1],lastContent=Array.isArray(lastMessage.content)?lastMessage.content:[lastMessage.content],hasToolResults=lastContent.some(c=>c.type==="tool_result"),previousMessage=params.messages.length>1?params.messages[params.messages.length-2]:void 0,previousContent=previousMessage?Array.isArray(previousMessage.content)?previousMessage.content:[previousMessage.content]:[],hasPreviousToolUse=previousContent.some(c=>c.type==="tool_use");if(hasToolResults){if(lastContent.some(c=>c.type!=="tool_result"))throw new Error("The last message must contain only tool_result content if any is present");if(!hasPreviousToolUse)throw new Error("tool_result blocks are not matching any tool_use from the previous message")}if(hasPreviousToolUse){let toolUseIds=new Set(previousContent.filter(c=>c.type==="tool_use").map(c=>c.id)),toolResultIds=new Set(lastContent.filter(c=>c.type==="tool_result").map(c=>c.toolUseId));if(toolUseIds.size!==toolResultIds.size||![...toolUseIds].every(id=>toolResultIds.has(id)))throw new Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}return params.tools?this.request({method:"sampling/createMessage",params},CreateMessageResultWithToolsSchema,options):this.request({method:"sampling/createMessage",params},CreateMessageResultSchema,options)}async elicitInput(params,options){switch(params.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support url elicitation.");let urlParams=params;return this.request({method:"elicitation/create",params:urlParams},ElicitResultSchema,options)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw new Error("Client does not support form elicitation.");let formParams=params.mode==="form"?params:{...params,mode:"form"},result=await this.request({method:"elicitation/create",params:formParams},ElicitResultSchema,options);if(result.action==="accept"&&result.content&&formParams.requestedSchema)try{let validationResult=this._jsonSchemaValidator.getValidator(formParams.requestedSchema)(result.content);if(!validationResult.valid)throw new McpError(ErrorCode.InvalidParams,`Elicitation response content does not match requested schema: ${validationResult.errorMessage}`)}catch(error3){throw error3 instanceof McpError?error3:new McpError(ErrorCode.InternalError,`Error validating elicitation response: ${error3 instanceof Error?error3.message:String(error3)}`)}return result}}}createElicitationCompletionNotifier(elicitationId,options){if(!this._clientCapabilities?.elicitation?.url)throw new Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId}},options)}async listRoots(params,options){return this.request({method:"roots/list",params},ListRootsResultSchema,options)}async sendLoggingMessage(params,sessionId){if(this._capabilities.logging&&!this.isMessageIgnored(params.level,sessionId))return this.notification({method:"notifications/message",params})}async sendResourceUpdated(params){return this.notification({method:"notifications/resources/updated",params})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var COMPLETABLE_SYMBOL=Symbol.for("mcp.completable");function isCompletable(schema){return!!schema&&typeof schema=="object"&&COMPLETABLE_SYMBOL in schema}function getCompleter(schema){return schema[COMPLETABLE_SYMBOL]?.complete}var McpZodTypeKind;(function(McpZodTypeKind2){McpZodTypeKind2.Completable="McpCompletable"})(McpZodTypeKind||(McpZodTypeKind={}));var UriTemplate=class _UriTemplate{static isTemplate(str){return/\{[^}\s]+\}/.test(str)}static validateLength(str,max,context){if(str.length>max)throw new Error(`${context} exceeds maximum length of ${max} characters (got ${str.length})`)}get variableNames(){return this.parts.flatMap(part=>typeof part=="string"?[]:part.names)}constructor(template){_UriTemplate.validateLength(template,1e6,"Template"),this.template=template,this.parts=this.parse(template)}toString(){return this.template}parse(template){let parts=[],currentText="",i=0,expressionCount=0;for(;i<template.length;)if(template[i]==="{"){currentText&&(parts.push(currentText),currentText="");let end=template.indexOf("}",i);if(end===-1)throw new Error("Unclosed template expression");if(expressionCount++,expressionCount>1e4)throw new Error("Template contains too many expressions (max 10000)");let expr=template.slice(i+1,end),operator=this.getOperator(expr),exploded=expr.includes("*"),names=this.getNames(expr),name=names[0];for(let name2 of names)_UriTemplate.validateLength(name2,1e6,"Variable name");parts.push({name,operator,names,exploded}),i=end+1}else currentText+=template[i],i++;return currentText&&parts.push(currentText),parts}getOperator(expr){return["+","#",".","/","?","&"].find(op=>expr.startsWith(op))||""}getNames(expr){let operator=this.getOperator(expr);return expr.slice(operator.length).split(",").map(name=>name.replace("*","").trim()).filter(name=>name.length>0)}encodeValue(value,operator){return _UriTemplate.validateLength(value,1e6,"Variable value"),operator==="+"||operator==="#"?encodeURI(value):encodeURIComponent(value)}expandPart(part,variables){if(part.operator==="?"||part.operator==="&"){let pairs=part.names.map(name=>{let value2=variables[name];if(value2===void 0)return"";let encoded2=Array.isArray(value2)?value2.map(v=>this.encodeValue(v,part.operator)).join(","):this.encodeValue(value2.toString(),part.operator);return`${name}=${encoded2}`}).filter(pair=>pair.length>0);return pairs.length===0?"":(part.operator==="?"?"?":"&")+pairs.join("&")}if(part.names.length>1){let values2=part.names.map(name=>variables[name]).filter(v=>v!==void 0);return values2.length===0?"":values2.map(v=>Array.isArray(v)?v[0]:v).join(",")}let value=variables[part.name];if(value===void 0)return"";let encoded=(Array.isArray(value)?value:[value]).map(v=>this.encodeValue(v,part.operator));switch(part.operator){case"":return encoded.join(",");case"+":return encoded.join(",");case"#":return"#"+encoded.join(",");case".":return"."+encoded.join(".");case"/":return"/"+encoded.join("/");default:return encoded.join(",")}}expand(variables){let result="",hasQueryParam=!1;for(let part of this.parts){if(typeof part=="string"){result+=part;continue}let expanded=this.expandPart(part,variables);expanded&&((part.operator==="?"||part.operator==="&")&&hasQueryParam?result+=expanded.replace("?","&"):result+=expanded,(part.operator==="?"||part.operator==="&")&&(hasQueryParam=!0))}return result}escapeRegExp(str){return str.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}partToRegExp(part){let patterns=[];for(let name2 of part.names)_UriTemplate.validateLength(name2,1e6,"Variable name");if(part.operator==="?"||part.operator==="&"){for(let i=0;i<part.names.length;i++){let name2=part.names[i],prefix=i===0?"\\"+part.operator:"&";patterns.push({pattern:prefix+this.escapeRegExp(name2)+"=([^&]+)",name:name2})}return patterns}let pattern,name=part.name;switch(part.operator){case"":pattern=part.exploded?"([^/,]+(?:,[^/,]+)*)":"([^/,]+)";break;case"+":case"#":pattern="(.+)";break;case".":pattern="\\.([^/,]+)";break;case"/":pattern="/"+(part.exploded?"([^/,]+(?:,[^/,]+)*)":"([^/,]+)");break;default:pattern="([^/]+)"}return patterns.push({pattern,name}),patterns}match(uri){_UriTemplate.validateLength(uri,1e6,"URI");let pattern="^",names=[];for(let part of this.parts)if(typeof part=="string")pattern+=this.escapeRegExp(part);else{let patterns=this.partToRegExp(part);for(let{pattern:partPattern,name}of patterns)pattern+=partPattern,names.push({name,exploded:part.exploded})}pattern+="$",_UriTemplate.validateLength(pattern,1e6,"Generated regex pattern");let regex=new RegExp(pattern),match=uri.match(regex);if(!match)return null;let result={};for(let i=0;i<names.length;i++){let{name,exploded}=names[i],value=match[i+1],cleanName=name.replace("*","");exploded&&value.includes(",")?result[cleanName]=value.split(","):result[cleanName]=value}return result}};var TOOL_NAME_REGEX=/^[A-Za-z0-9._-]{1,128}$/;function validateToolName(name){let warnings=[];if(name.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(name.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${name.length})`]};if(name.includes(" ")&&warnings.push("Tool name contains spaces, which may cause parsing issues"),name.includes(",")&&warnings.push("Tool name contains commas, which may cause parsing issues"),(name.startsWith("-")||name.endsWith("-"))&&warnings.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts"),(name.startsWith(".")||name.endsWith("."))&&warnings.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts"),!TOOL_NAME_REGEX.test(name)){let invalidChars=name.split("").filter(char=>!/[A-Za-z0-9._-]/.test(char)).filter((char,index,arr)=>arr.indexOf(char)===index);return warnings.push(`Tool name contains invalid characters: ${invalidChars.map(c=>`"${c}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings}}return{isValid:!0,warnings}}function issueToolNameWarning(name,warnings){if(warnings.length>0){console.warn(`Tool name validation warning for "${name}":`);for(let warning of warnings)console.warn(` - ${warning}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function validateAndWarnToolName(name){let result=validateToolName(name);return issueToolNameWarning(name,result.warnings),result.isValid}var ExperimentalMcpServerTasks=class{constructor(_mcpServer){this._mcpServer=_mcpServer}registerToolTask(name,config2,handler){let execution={taskSupport:"required",...config2.execution};if(execution.taskSupport==="forbidden")throw new Error(`Cannot register task-based tool '${name}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(name,config2.title,config2.description,config2.inputSchema,config2.outputSchema,config2.annotations,execution,config2._meta,handler)}};var McpServer=class{constructor(serverInfo,options){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Server(serverInfo,options)}get experimental(){return this._experimental||(this._experimental={tasks:new ExperimentalMcpServerTasks(this)}),this._experimental}async connect(transport){return await this.server.connect(transport)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||(this.server.assertCanSetRequestHandler(getMethodValue(ListToolsRequestSchema)),this.server.assertCanSetRequestHandler(getMethodValue(CallToolRequestSchema)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(ListToolsRequestSchema,()=>({tools:Object.entries(this._registeredTools).filter(([,tool])=>tool.enabled).map(([name,tool])=>{let toolDefinition={name,title:tool.title,description:tool.description,inputSchema:(()=>{let obj=normalizeObjectSchema(tool.inputSchema);return obj?toJsonSchemaCompat(obj,{strictUnions:!0,pipeStrategy:"input"}):EMPTY_OBJECT_JSON_SCHEMA})(),annotations:tool.annotations,execution:tool.execution,_meta:tool._meta};if(tool.outputSchema){let obj=normalizeObjectSchema(tool.outputSchema);obj&&(toolDefinition.outputSchema=toJsonSchemaCompat(obj,{strictUnions:!0,pipeStrategy:"output"}))}return toolDefinition})})),this.server.setRequestHandler(CallToolRequestSchema,async(request3,extra)=>{try{let tool=this._registeredTools[request3.params.name];if(!tool)throw new McpError(ErrorCode.InvalidParams,`Tool ${request3.params.name} not found`);if(!tool.enabled)throw new McpError(ErrorCode.InvalidParams,`Tool ${request3.params.name} disabled`);let isTaskRequest=!!request3.params.task,taskSupport=tool.execution?.taskSupport,isTaskHandler="createTask"in tool.handler;if((taskSupport==="required"||taskSupport==="optional")&&!isTaskHandler)throw new McpError(ErrorCode.InternalError,`Tool ${request3.params.name} has taskSupport '${taskSupport}' but was not registered with registerToolTask`);if(taskSupport==="required"&&!isTaskRequest)throw new McpError(ErrorCode.MethodNotFound,`Tool ${request3.params.name} requires task augmentation (taskSupport: 'required')`);if(taskSupport==="optional"&&!isTaskRequest&&isTaskHandler)return await this.handleAutomaticTaskPolling(tool,request3,extra);let args=await this.validateToolInput(tool,request3.params.arguments,request3.params.name),result=await this.executeToolHandler(tool,args,extra);return isTaskRequest||await this.validateToolOutput(tool,result,request3.params.name),result}catch(error3){if(error3 instanceof McpError&&error3.code===ErrorCode.UrlElicitationRequired)throw error3;return this.createToolError(error3 instanceof Error?error3.message:String(error3))}}),this._toolHandlersInitialized=!0)}createToolError(errorMessage){return{content:[{type:"text",text:errorMessage}],isError:!0}}async validateToolInput(tool,args,toolName){if(!tool.inputSchema)return;let schemaToParse=normalizeObjectSchema(tool.inputSchema)??tool.inputSchema,parseResult=await safeParseAsync2(schemaToParse,args);if(!parseResult.success){let error3="error"in parseResult?parseResult.error:"Unknown error",errorMessage=getParseErrorMessage(error3);throw new McpError(ErrorCode.InvalidParams,`Input validation error: Invalid arguments for tool ${toolName}: ${errorMessage}`)}return parseResult.data}async validateToolOutput(tool,result,toolName){if(!tool.outputSchema||!("content"in result)||result.isError)return;if(!result.structuredContent)throw new McpError(ErrorCode.InvalidParams,`Output validation error: Tool ${toolName} has an output schema but no structured content was provided`);let outputObj=normalizeObjectSchema(tool.outputSchema),parseResult=await safeParseAsync2(outputObj,result.structuredContent);if(!parseResult.success){let error3="error"in parseResult?parseResult.error:"Unknown error",errorMessage=getParseErrorMessage(error3);throw new McpError(ErrorCode.InvalidParams,`Output validation error: Invalid structured content for tool ${toolName}: ${errorMessage}`)}}async executeToolHandler(tool,args,extra){let handler=tool.handler;if("createTask"in handler){if(!extra.taskStore)throw new Error("No task store provided.");let taskExtra={...extra,taskStore:extra.taskStore};if(tool.inputSchema){let typedHandler=handler;return await Promise.resolve(typedHandler.createTask(args,taskExtra))}else{let typedHandler=handler;return await Promise.resolve(typedHandler.createTask(taskExtra))}}if(tool.inputSchema){let typedHandler=handler;return await Promise.resolve(typedHandler(args,extra))}else{let typedHandler=handler;return await Promise.resolve(typedHandler(extra))}}async handleAutomaticTaskPolling(tool,request3,extra){if(!extra.taskStore)throw new Error("No task store provided for task-capable tool.");let args=await this.validateToolInput(tool,request3.params.arguments,request3.params.name),handler=tool.handler,taskExtra={...extra,taskStore:extra.taskStore},createTaskResult=args?await Promise.resolve(handler.createTask(args,taskExtra)):await Promise.resolve(handler.createTask(taskExtra)),taskId=createTaskResult.task.taskId,task=createTaskResult.task,pollInterval=task.pollInterval??5e3;for(;task.status!=="completed"&&task.status!=="failed"&&task.status!=="cancelled";){await new Promise(resolve=>setTimeout(resolve,pollInterval));let updatedTask=await extra.taskStore.getTask(taskId);if(!updatedTask)throw new McpError(ErrorCode.InternalError,`Task ${taskId} not found during polling`);task=updatedTask}return await extra.taskStore.getTaskResult(taskId)}setCompletionRequestHandler(){this._completionHandlerInitialized||(this.server.assertCanSetRequestHandler(getMethodValue(CompleteRequestSchema)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(CompleteRequestSchema,async request3=>{switch(request3.params.ref.type){case"ref/prompt":return assertCompleteRequestPrompt(request3),this.handlePromptCompletion(request3,request3.params.ref);case"ref/resource":return assertCompleteRequestResourceTemplate(request3),this.handleResourceCompletion(request3,request3.params.ref);default:throw new McpError(ErrorCode.InvalidParams,`Invalid completion reference: ${request3.params.ref}`)}}),this._completionHandlerInitialized=!0)}async handlePromptCompletion(request3,ref){let prompt=this._registeredPrompts[ref.name];if(!prompt)throw new McpError(ErrorCode.InvalidParams,`Prompt ${ref.name} not found`);if(!prompt.enabled)throw new McpError(ErrorCode.InvalidParams,`Prompt ${ref.name} disabled`);if(!prompt.argsSchema)return EMPTY_COMPLETION_RESULT;let field=getObjectShape(prompt.argsSchema)?.[request3.params.argument.name];if(!isCompletable(field))return EMPTY_COMPLETION_RESULT;let completer=getCompleter(field);if(!completer)return EMPTY_COMPLETION_RESULT;let suggestions=await completer(request3.params.argument.value,request3.params.context);return createCompletionResult(suggestions)}async handleResourceCompletion(request3,ref){let template=Object.values(this._registeredResourceTemplates).find(t=>t.resourceTemplate.uriTemplate.toString()===ref.uri);if(!template){if(this._registeredResources[ref.uri])return EMPTY_COMPLETION_RESULT;throw new McpError(ErrorCode.InvalidParams,`Resource template ${request3.params.ref.uri} not found`)}let completer=template.resourceTemplate.completeCallback(request3.params.argument.name);if(!completer)return EMPTY_COMPLETION_RESULT;let suggestions=await completer(request3.params.argument.value,request3.params.context);return createCompletionResult(suggestions)}setResourceRequestHandlers(){this._resourceHandlersInitialized||(this.server.assertCanSetRequestHandler(getMethodValue(ListResourcesRequestSchema)),this.server.assertCanSetRequestHandler(getMethodValue(ListResourceTemplatesRequestSchema)),this.server.assertCanSetRequestHandler(getMethodValue(ReadResourceRequestSchema)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(ListResourcesRequestSchema,async(request3,extra)=>{let resources=Object.entries(this._registeredResources).filter(([_,resource])=>resource.enabled).map(([uri,resource])=>({uri,name:resource.name,...resource.metadata})),templateResources=[];for(let template of Object.values(this._registeredResourceTemplates)){if(!template.resourceTemplate.listCallback)continue;let result=await template.resourceTemplate.listCallback(extra);for(let resource of result.resources)templateResources.push({...template.metadata,...resource})}return{resources:[...resources,...templateResources]}}),this.server.setRequestHandler(ListResourceTemplatesRequestSchema,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([name,template])=>({name,uriTemplate:template.resourceTemplate.uriTemplate.toString(),...template.metadata}))})),this.server.setRequestHandler(ReadResourceRequestSchema,async(request3,extra)=>{let uri=new URL(request3.params.uri),resource=this._registeredResources[uri.toString()];if(resource){if(!resource.enabled)throw new McpError(ErrorCode.InvalidParams,`Resource ${uri} disabled`);return resource.readCallback(uri,extra)}for(let template of Object.values(this._registeredResourceTemplates)){let variables=template.resourceTemplate.uriTemplate.match(uri.toString());if(variables)return template.readCallback(uri,variables,extra)}throw new McpError(ErrorCode.InvalidParams,`Resource ${uri} not found`)}),this._resourceHandlersInitialized=!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||(this.server.assertCanSetRequestHandler(getMethodValue(ListPromptsRequestSchema)),this.server.assertCanSetRequestHandler(getMethodValue(GetPromptRequestSchema)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(ListPromptsRequestSchema,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,prompt])=>prompt.enabled).map(([name,prompt])=>({name,title:prompt.title,description:prompt.description,arguments:prompt.argsSchema?promptArgumentsFromSchema(prompt.argsSchema):void 0}))})),this.server.setRequestHandler(GetPromptRequestSchema,async(request3,extra)=>{let prompt=this._registeredPrompts[request3.params.name];if(!prompt)throw new McpError(ErrorCode.InvalidParams,`Prompt ${request3.params.name} not found`);if(!prompt.enabled)throw new McpError(ErrorCode.InvalidParams,`Prompt ${request3.params.name} disabled`);if(prompt.argsSchema){let argsObj=normalizeObjectSchema(prompt.argsSchema),parseResult=await safeParseAsync2(argsObj,request3.params.arguments);if(!parseResult.success){let error3="error"in parseResult?parseResult.error:"Unknown error",errorMessage=getParseErrorMessage(error3);throw new McpError(ErrorCode.InvalidParams,`Invalid arguments for prompt ${request3.params.name}: ${errorMessage}`)}let args=parseResult.data,cb=prompt.callback;return await Promise.resolve(cb(args,extra))}else{let cb=prompt.callback;return await Promise.resolve(cb(extra))}}),this._promptHandlersInitialized=!0)}resource(name,uriOrTemplate,...rest){let metadata;typeof rest[0]=="object"&&(metadata=rest.shift());let readCallback=rest[0];if(typeof uriOrTemplate=="string"){if(this._registeredResources[uriOrTemplate])throw new Error(`Resource ${uriOrTemplate} is already registered`);let registeredResource=this._createRegisteredResource(name,void 0,uriOrTemplate,metadata,readCallback);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),registeredResource}else{if(this._registeredResourceTemplates[name])throw new Error(`Resource template ${name} is already registered`);let registeredResourceTemplate=this._createRegisteredResourceTemplate(name,void 0,uriOrTemplate,metadata,readCallback);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),registeredResourceTemplate}}registerResource(name,uriOrTemplate,config2,readCallback){if(typeof uriOrTemplate=="string"){if(this._registeredResources[uriOrTemplate])throw new Error(`Resource ${uriOrTemplate} is already registered`);let registeredResource=this._createRegisteredResource(name,config2.title,uriOrTemplate,config2,readCallback);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),registeredResource}else{if(this._registeredResourceTemplates[name])throw new Error(`Resource template ${name} is already registered`);let registeredResourceTemplate=this._createRegisteredResourceTemplate(name,config2.title,uriOrTemplate,config2,readCallback);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),registeredResourceTemplate}}_createRegisteredResource(name,title,uri,metadata,readCallback){let registeredResource={name,title,metadata,readCallback,enabled:!0,disable:()=>registeredResource.update({enabled:!1}),enable:()=>registeredResource.update({enabled:!0}),remove:()=>registeredResource.update({uri:null}),update:updates=>{typeof updates.uri<"u"&&updates.uri!==uri&&(delete this._registeredResources[uri],updates.uri&&(this._registeredResources[updates.uri]=registeredResource)),typeof updates.name<"u"&&(registeredResource.name=updates.name),typeof updates.title<"u"&&(registeredResource.title=updates.title),typeof updates.metadata<"u"&&(registeredResource.metadata=updates.metadata),typeof updates.callback<"u"&&(registeredResource.readCallback=updates.callback),typeof updates.enabled<"u"&&(registeredResource.enabled=updates.enabled),this.sendResourceListChanged()}};return this._registeredResources[uri]=registeredResource,registeredResource}_createRegisteredResourceTemplate(name,title,template,metadata,readCallback){let registeredResourceTemplate={resourceTemplate:template,title,metadata,readCallback,enabled:!0,disable:()=>registeredResourceTemplate.update({enabled:!1}),enable:()=>registeredResourceTemplate.update({enabled:!0}),remove:()=>registeredResourceTemplate.update({name:null}),update:updates=>{typeof updates.name<"u"&&updates.name!==name&&(delete this._registeredResourceTemplates[name],updates.name&&(this._registeredResourceTemplates[updates.name]=registeredResourceTemplate)),typeof updates.title<"u"&&(registeredResourceTemplate.title=updates.title),typeof updates.template<"u"&&(registeredResourceTemplate.resourceTemplate=updates.template),typeof updates.metadata<"u"&&(registeredResourceTemplate.metadata=updates.metadata),typeof updates.callback<"u"&&(registeredResourceTemplate.readCallback=updates.callback),typeof updates.enabled<"u"&&(registeredResourceTemplate.enabled=updates.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[name]=registeredResourceTemplate;let variableNames=template.uriTemplate.variableNames;return Array.isArray(variableNames)&&variableNames.some(v=>!!template.completeCallback(v))&&this.setCompletionRequestHandler(),registeredResourceTemplate}_createRegisteredPrompt(name,title,description,argsSchema,callback){let registeredPrompt={title,description,argsSchema:argsSchema===void 0?void 0:objectFromShape(argsSchema),callback,enabled:!0,disable:()=>registeredPrompt.update({enabled:!1}),enable:()=>registeredPrompt.update({enabled:!0}),remove:()=>registeredPrompt.update({name:null}),update:updates=>{typeof updates.name<"u"&&updates.name!==name&&(delete this._registeredPrompts[name],updates.name&&(this._registeredPrompts[updates.name]=registeredPrompt)),typeof updates.title<"u"&&(registeredPrompt.title=updates.title),typeof updates.description<"u"&&(registeredPrompt.description=updates.description),typeof updates.argsSchema<"u"&&(registeredPrompt.argsSchema=objectFromShape(updates.argsSchema)),typeof updates.callback<"u"&&(registeredPrompt.callback=updates.callback),typeof updates.enabled<"u"&&(registeredPrompt.enabled=updates.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[name]=registeredPrompt,argsSchema&&Object.values(argsSchema).some(field=>{let inner=field instanceof ZodOptional?field._def?.innerType:field;return isCompletable(inner)})&&this.setCompletionRequestHandler(),registeredPrompt}_createRegisteredTool(name,title,description,inputSchema,outputSchema,annotations,execution,_meta,handler){validateAndWarnToolName(name);let registeredTool={title,description,inputSchema:getZodSchemaObject(inputSchema),outputSchema:getZodSchemaObject(outputSchema),annotations,execution,_meta,handler,enabled:!0,disable:()=>registeredTool.update({enabled:!1}),enable:()=>registeredTool.update({enabled:!0}),remove:()=>registeredTool.update({name:null}),update:updates=>{typeof updates.name<"u"&&updates.name!==name&&(typeof updates.name=="string"&&validateAndWarnToolName(updates.name),delete this._registeredTools[name],updates.name&&(this._registeredTools[updates.name]=registeredTool)),typeof updates.title<"u"&&(registeredTool.title=updates.title),typeof updates.description<"u"&&(registeredTool.description=updates.description),typeof updates.paramsSchema<"u"&&(registeredTool.inputSchema=objectFromShape(updates.paramsSchema)),typeof updates.outputSchema<"u"&&(registeredTool.outputSchema=objectFromShape(updates.outputSchema)),typeof updates.callback<"u"&&(registeredTool.handler=updates.callback),typeof updates.annotations<"u"&&(registeredTool.annotations=updates.annotations),typeof updates._meta<"u"&&(registeredTool._meta=updates._meta),typeof updates.enabled<"u"&&(registeredTool.enabled=updates.enabled),this.sendToolListChanged()}};return this._registeredTools[name]=registeredTool,this.setToolRequestHandlers(),this.sendToolListChanged(),registeredTool}tool(name,...rest){if(this._registeredTools[name])throw new Error(`Tool ${name} is already registered`);let description,inputSchema,outputSchema,annotations;if(typeof rest[0]=="string"&&(description=rest.shift()),rest.length>1){let firstArg=rest[0];isZodRawShapeCompat(firstArg)?(inputSchema=rest.shift(),rest.length>1&&typeof rest[0]=="object"&&rest[0]!==null&&!isZodRawShapeCompat(rest[0])&&(annotations=rest.shift())):typeof firstArg=="object"&&firstArg!==null&&(annotations=rest.shift())}let callback=rest[0];return this._createRegisteredTool(name,void 0,description,inputSchema,outputSchema,annotations,{taskSupport:"forbidden"},void 0,callback)}registerTool(name,config2,cb){if(this._registeredTools[name])throw new Error(`Tool ${name} is already registered`);let{title,description,inputSchema,outputSchema,annotations,_meta}=config2;return this._createRegisteredTool(name,title,description,inputSchema,outputSchema,annotations,{taskSupport:"forbidden"},_meta,cb)}prompt(name,...rest){if(this._registeredPrompts[name])throw new Error(`Prompt ${name} is already registered`);let description;typeof rest[0]=="string"&&(description=rest.shift());let argsSchema;rest.length>1&&(argsSchema=rest.shift());let cb=rest[0],registeredPrompt=this._createRegisteredPrompt(name,void 0,description,argsSchema,cb);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),registeredPrompt}registerPrompt(name,config2,cb){if(this._registeredPrompts[name])throw new Error(`Prompt ${name} is already registered`);let{title,description,argsSchema}=config2,registeredPrompt=this._createRegisteredPrompt(name,title,description,argsSchema,cb);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),registeredPrompt}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(params,sessionId){return this.server.sendLoggingMessage(params,sessionId)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},ResourceTemplate=class{constructor(uriTemplate,_callbacks){this._callbacks=_callbacks,this._uriTemplate=typeof uriTemplate=="string"?new UriTemplate(uriTemplate):uriTemplate}get uriTemplate(){return this._uriTemplate}get listCallback(){return this._callbacks.list}completeCallback(variable){return this._callbacks.complete?.[variable]}},EMPTY_OBJECT_JSON_SCHEMA={type:"object",properties:{}};function isZodTypeLike(value){return value!==null&&typeof value=="object"&&"parse"in value&&typeof value.parse=="function"&&"safeParse"in value&&typeof value.safeParse=="function"}function isZodSchemaInstance(obj){return"_def"in obj||"_zod"in obj||isZodTypeLike(obj)}function isZodRawShapeCompat(obj){return typeof obj!="object"||obj===null||isZodSchemaInstance(obj)?!1:Object.keys(obj).length===0?!0:Object.values(obj).some(isZodTypeLike)}function getZodSchemaObject(schema){if(schema)return isZodRawShapeCompat(schema)?objectFromShape(schema):schema}function promptArgumentsFromSchema(schema){let shape=getObjectShape(schema);return shape?Object.entries(shape).map(([name,field])=>{let description=getSchemaDescription(field),isOptional=isSchemaOptional(field);return{name,description,required:!isOptional}}):[]}function getMethodValue(schema){let methodSchema=getObjectShape(schema)?.method;if(!methodSchema)throw new Error("Schema is missing a method literal");let value=getLiteralValue(methodSchema);if(typeof value=="string")return value;throw new Error("Schema method literal must be a string")}function createCompletionResult(suggestions){return{completion:{values:suggestions.slice(0,100),total:suggestions.length,hasMore:suggestions.length>100}}}var EMPTY_COMPLETION_RESULT={completion:{values:[],hasMore:!1}};import process2 from"node:process";var ReadBuffer=class{append(chunk){this._buffer=this._buffer?Buffer.concat([this._buffer,chunk]):chunk}readMessage(){if(!this._buffer)return null;let index=this._buffer.indexOf(`
|
|
183
|
+
`);if(index===-1)return null;let line=this._buffer.toString("utf8",0,index).replace(/\r$/,"");return this._buffer=this._buffer.subarray(index+1),deserializeMessage(line)}clear(){this._buffer=void 0}};function deserializeMessage(line){return JSONRPCMessageSchema.parse(JSON.parse(line))}function serializeMessage(message){return JSON.stringify(message)+`
|
|
184
|
+
`}var StdioServerTransport=class{constructor(_stdin=process2.stdin,_stdout=process2.stdout){this._stdin=_stdin,this._stdout=_stdout,this._readBuffer=new ReadBuffer,this._started=!1,this._ondata=chunk=>{this._readBuffer.append(chunk),this.processReadBuffer()},this._onerror=error3=>{this.onerror?.(error3)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(;;)try{let message=this._readBuffer.readMessage();if(message===null)break;this.onmessage?.(message)}catch(error3){this.onerror?.(error3)}}async close(){this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(message){return new Promise(resolve=>{let json=serializeMessage(message);this._stdout.write(json)?resolve():this._stdout.once("drain",resolve)})}};import{Http2ServerRequest as Http2ServerRequest2,constants as h2constants}from"http2";import{Http2ServerRequest}from"http2";import{Readable}from"stream";import crypto2 from"crypto";var RequestError=class extends Error{constructor(message,options){super(message,options),this.name="RequestError"}},toRequestError=e=>e instanceof RequestError?e:new RequestError(e.message,{cause:e}),GlobalRequest=global.Request,Request=class extends GlobalRequest{constructor(input,options){typeof input=="object"&&getRequestCache in input&&(input=input[getRequestCache]()),typeof options?.body?.getReader<"u"&&(options.duplex??="half"),super(input,options)}},newHeadersFromIncoming=incoming=>{let headerRecord=[],rawHeaders=incoming.rawHeaders;for(let i=0;i<rawHeaders.length;i+=2){let{[i]:key,[i+1]:value}=rawHeaders;key.charCodeAt(0)!==58&&headerRecord.push([key,value])}return new Headers(headerRecord)},wrapBodyStream=Symbol("wrapBodyStream"),newRequestFromIncoming=(method,url,headers,incoming,abortController)=>{let init={method,headers,signal:abortController.signal};if(method==="TRACE"){init.method="GET";let req=new Request(url,init);return Object.defineProperty(req,"method",{get(){return"TRACE"}}),req}if(!(method==="GET"||method==="HEAD"))if("rawBody"in incoming&&incoming.rawBody instanceof Buffer)init.body=new ReadableStream({start(controller){controller.enqueue(incoming.rawBody),controller.close()}});else if(incoming[wrapBodyStream]){let reader;init.body=new ReadableStream({async pull(controller){try{reader||=Readable.toWeb(incoming).getReader();let{done,value}=await reader.read();done?controller.close():controller.enqueue(value)}catch(error3){controller.error(error3)}}})}else init.body=Readable.toWeb(incoming);return new Request(url,init)},getRequestCache=Symbol("getRequestCache"),requestCache=Symbol("requestCache"),incomingKey=Symbol("incomingKey"),urlKey=Symbol("urlKey"),headersKey=Symbol("headersKey"),abortControllerKey=Symbol("abortControllerKey"),getAbortController=Symbol("getAbortController"),requestPrototype={get method(){return this[incomingKey].method||"GET"},get url(){return this[urlKey]},get headers(){return this[headersKey]||=newHeadersFromIncoming(this[incomingKey])},[getAbortController](){return this[getRequestCache](),this[abortControllerKey]},[getRequestCache](){return this[abortControllerKey]||=new AbortController,this[requestCache]||=newRequestFromIncoming(this.method,this[urlKey],this.headers,this[incomingKey],this[abortControllerKey])}};["body","bodyUsed","cache","credentials","destination","integrity","mode","redirect","referrer","referrerPolicy","signal","keepalive"].forEach(k=>{Object.defineProperty(requestPrototype,k,{get(){return this[getRequestCache]()[k]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(k=>{Object.defineProperty(requestPrototype,k,{value:function(){return this[getRequestCache]()[k]()}})});Object.defineProperty(requestPrototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(depth,options,inspectFn){let props={method:this.method,url:this.url,headers:this.headers,nativeRequest:this[requestCache]};return`Request (lightweight) ${inspectFn(props,{...options,depth:depth==null?null:depth-1})}`}});Object.setPrototypeOf(requestPrototype,Request.prototype);var newRequest=(incoming,defaultHostname)=>{let req=Object.create(requestPrototype);req[incomingKey]=incoming;let incomingUrl=incoming.url||"";if(incomingUrl[0]!=="/"&&(incomingUrl.startsWith("http://")||incomingUrl.startsWith("https://"))){if(incoming instanceof Http2ServerRequest)throw new RequestError("Absolute URL for :path is not allowed in HTTP/2");try{let url2=new URL(incomingUrl);req[urlKey]=url2.href}catch(e){throw new RequestError("Invalid absolute URL",{cause:e})}return req}let host=(incoming instanceof Http2ServerRequest?incoming.authority:incoming.headers.host)||defaultHostname;if(!host)throw new RequestError("Missing host header");let scheme;if(incoming instanceof Http2ServerRequest){if(scheme=incoming.scheme,!(scheme==="http"||scheme==="https"))throw new RequestError("Unsupported scheme")}else scheme=incoming.socket&&incoming.socket.encrypted?"https":"http";let url=new URL(`${scheme}://${host}${incomingUrl}`);if(url.hostname.length!==host.length&&url.hostname!==host.replace(/:\d+$/,""))throw new RequestError("Invalid host header");return req[urlKey]=url.href,req},responseCache=Symbol("responseCache"),getResponseCache=Symbol("getResponseCache"),cacheKey=Symbol("cache"),GlobalResponse=global.Response,Response2=class _Response{#body;#init;[getResponseCache](){return delete this[cacheKey],this[responseCache]||=new GlobalResponse(this.#body,this.#init)}constructor(body,init){let headers;if(this.#body=body,init instanceof _Response){let cachedGlobalResponse=init[responseCache];if(cachedGlobalResponse){this.#init=cachedGlobalResponse,this[getResponseCache]();return}else this.#init=init.#init,headers=new Headers(init.#init.headers)}else this.#init=init;(typeof body=="string"||typeof body?.getReader<"u"||body instanceof Blob||body instanceof Uint8Array)&&(this[cacheKey]=[init?.status||200,body,headers||init?.headers])}get headers(){let cache=this[cacheKey];return cache?(cache[2]instanceof Headers||(cache[2]=new Headers(cache[2]||{"content-type":"text/plain; charset=UTF-8"})),cache[2]):this[getResponseCache]().headers}get status(){return this[cacheKey]?.[0]??this[getResponseCache]().status}get ok(){let status=this.status;return status>=200&&status<300}};["body","bodyUsed","redirected","statusText","trailers","type","url"].forEach(k=>{Object.defineProperty(Response2.prototype,k,{get(){return this[getResponseCache]()[k]}})});["arrayBuffer","blob","clone","formData","json","text"].forEach(k=>{Object.defineProperty(Response2.prototype,k,{value:function(){return this[getResponseCache]()[k]()}})});Object.defineProperty(Response2.prototype,Symbol.for("nodejs.util.inspect.custom"),{value:function(depth,options,inspectFn){let props={status:this.status,headers:this.headers,ok:this.ok,nativeResponse:this[responseCache]};return`Response (lightweight) ${inspectFn(props,{...options,depth:depth==null?null:depth-1})}`}});Object.setPrototypeOf(Response2,GlobalResponse);Object.setPrototypeOf(Response2.prototype,GlobalResponse.prototype);async function readWithoutBlocking(readPromise){return Promise.race([readPromise,Promise.resolve().then(()=>Promise.resolve(void 0))])}function writeFromReadableStreamDefaultReader(reader,writable,currentReadPromise){let cancel=error3=>{reader.cancel(error3).catch(()=>{})};return writable.on("close",cancel),writable.on("error",cancel),(currentReadPromise??reader.read()).then(flow,handleStreamError),reader.closed.finally(()=>{writable.off("close",cancel),writable.off("error",cancel)});function handleStreamError(error3){error3&&writable.destroy(error3)}function onDrain(){reader.read().then(flow,handleStreamError)}function flow({done,value}){try{if(done)writable.end();else if(!writable.write(value))writable.once("drain",onDrain);else return reader.read().then(flow,handleStreamError)}catch(e){handleStreamError(e)}}}function writeFromReadableStream(stream,writable){if(stream.locked)throw new TypeError("ReadableStream is locked.");return writable.destroyed?void 0:writeFromReadableStreamDefaultReader(stream.getReader(),writable)}var buildOutgoingHttpHeaders=headers=>{let res={};headers instanceof Headers||(headers=new Headers(headers??void 0));let cookies=[];for(let[k,v]of headers)k==="set-cookie"?cookies.push(v):res[k]=v;return cookies.length>0&&(res["set-cookie"]=cookies),res["content-type"]??="text/plain; charset=UTF-8",res},X_ALREADY_SENT="x-hono-already-sent";typeof global.crypto>"u"&&(global.crypto=crypto2);var outgoingEnded=Symbol("outgoingEnded"),incomingDraining=Symbol("incomingDraining"),DRAIN_TIMEOUT_MS=500,MAX_DRAIN_BYTES=64*1024*1024,drainIncoming=incoming=>{let incomingWithDrainState=incoming;if(incoming.destroyed||incomingWithDrainState[incomingDraining])return;if(incomingWithDrainState[incomingDraining]=!0,incoming instanceof Http2ServerRequest2){try{incoming.stream?.close?.(h2constants.NGHTTP2_NO_ERROR)}catch{}return}let bytesRead=0,cleanup=()=>{clearTimeout(timer),incoming.off("data",onData),incoming.off("end",cleanup),incoming.off("error",cleanup)},forceClose=()=>{cleanup();let socket=incoming.socket;socket&&!socket.destroyed&&socket.destroySoon()},timer=setTimeout(forceClose,DRAIN_TIMEOUT_MS);timer.unref?.();let onData=chunk=>{bytesRead+=chunk.length,bytesRead>MAX_DRAIN_BYTES&&forceClose()};incoming.on("data",onData),incoming.on("end",cleanup),incoming.on("error",cleanup),incoming.resume()},handleRequestError=()=>new Response(null,{status:400}),handleFetchError=e=>new Response(null,{status:e instanceof Error&&(e.name==="TimeoutError"||e.constructor.name==="TimeoutError")?504:500}),handleResponseError=(e,outgoing)=>{let err=e instanceof Error?e:new Error("unknown error",{cause:e});err.code==="ERR_STREAM_PREMATURE_CLOSE"?console.info("The user aborted a request."):(console.error(e),outgoing.headersSent||outgoing.writeHead(500,{"Content-Type":"text/plain"}),outgoing.end(`Error: ${err.message}`),outgoing.destroy(err))},flushHeaders=outgoing=>{"flushHeaders"in outgoing&&outgoing.writable&&outgoing.flushHeaders()},responseViaCache=async(res,outgoing)=>{let[status,body,header]=res[cacheKey],hasContentLength=!1;if(!header)header={"content-type":"text/plain; charset=UTF-8"};else if(header instanceof Headers)hasContentLength=header.has("content-length"),header=buildOutgoingHttpHeaders(header);else if(Array.isArray(header)){let headerObj=new Headers(header);hasContentLength=headerObj.has("content-length"),header=buildOutgoingHttpHeaders(headerObj)}else for(let key in header)if(key.length===14&&key.toLowerCase()==="content-length"){hasContentLength=!0;break}hasContentLength||(typeof body=="string"?header["Content-Length"]=Buffer.byteLength(body):body instanceof Uint8Array?header["Content-Length"]=body.byteLength:body instanceof Blob&&(header["Content-Length"]=body.size)),outgoing.writeHead(status,header),typeof body=="string"||body instanceof Uint8Array?outgoing.end(body):body instanceof Blob?outgoing.end(new Uint8Array(await body.arrayBuffer())):(flushHeaders(outgoing),await writeFromReadableStream(body,outgoing)?.catch(e=>handleResponseError(e,outgoing))),outgoing[outgoingEnded]?.()},isPromise=res=>typeof res.then=="function",responseViaResponseObject=async(res,outgoing,options={})=>{if(isPromise(res))if(options.errorHandler)try{res=await res}catch(err){let errRes=await options.errorHandler(err);if(!errRes)return;res=errRes}else res=await res.catch(handleFetchError);if(cacheKey in res)return responseViaCache(res,outgoing);let resHeaderRecord=buildOutgoingHttpHeaders(res.headers);if(res.body){let reader=res.body.getReader(),values=[],done=!1,currentReadPromise;if(resHeaderRecord["transfer-encoding"]!=="chunked"){let maxReadCount=2;for(let i=0;i<maxReadCount;i++){currentReadPromise||=reader.read();let chunk=await readWithoutBlocking(currentReadPromise).catch(e=>{console.error(e),done=!0});if(!chunk){if(i===1){await new Promise(resolve=>setTimeout(resolve)),maxReadCount=3;continue}break}if(currentReadPromise=void 0,chunk.value&&values.push(chunk.value),chunk.done){done=!0;break}}done&&!("content-length"in resHeaderRecord)&&(resHeaderRecord["content-length"]=values.reduce((acc,value)=>acc+value.length,0))}outgoing.writeHead(res.status,resHeaderRecord),values.forEach(value=>{outgoing.write(value)}),done?outgoing.end():(values.length===0&&flushHeaders(outgoing),await writeFromReadableStreamDefaultReader(reader,outgoing,currentReadPromise))}else resHeaderRecord[X_ALREADY_SENT]||(outgoing.writeHead(res.status,resHeaderRecord),outgoing.end());outgoing[outgoingEnded]?.()},getRequestListener=(fetchCallback,options={})=>{let autoCleanupIncoming=options.autoCleanupIncoming??!0;return options.overrideGlobalObjects!==!1&&global.Request!==Request&&(Object.defineProperty(global,"Request",{value:Request}),Object.defineProperty(global,"Response",{value:Response2})),async(incoming,outgoing)=>{let res,req;try{req=newRequest(incoming,options.hostname);let incomingEnded=!autoCleanupIncoming||incoming.method==="GET"||incoming.method==="HEAD";if(incomingEnded||(incoming[wrapBodyStream]=!0,incoming.on("end",()=>{incomingEnded=!0}),incoming instanceof Http2ServerRequest2&&(outgoing[outgoingEnded]=()=>{incomingEnded||setTimeout(()=>{incomingEnded||setTimeout(()=>{drainIncoming(incoming)})})}),outgoing.on("finish",()=>{incomingEnded||drainIncoming(incoming)})),outgoing.on("close",()=>{req[abortControllerKey]&&(incoming.errored?req[abortControllerKey].abort(incoming.errored.toString()):outgoing.writableFinished||req[abortControllerKey].abort("Client connection prematurely closed.")),incomingEnded||setTimeout(()=>{incomingEnded||setTimeout(()=>{drainIncoming(incoming)})})}),res=fetchCallback(req,{incoming,outgoing}),cacheKey in res)return responseViaCache(res,outgoing)}catch(e){if(res)return handleResponseError(e,outgoing);if(options.errorHandler){if(res=await options.errorHandler(req?e:toRequestError(e)),!res)return}else req?res=handleFetchError(e):res=handleRequestError()}try{return await responseViaResponseObject(res,outgoing,options)}catch(e){return handleResponseError(e,outgoing)}}};var WebStandardStreamableHTTPServerTransport=class{constructor(options={}){this._started=!1,this._hasHandledRequest=!1,this._streamMapping=new Map,this._requestToStreamMapping=new Map,this._requestResponseMap=new Map,this._initialized=!1,this._enableJsonResponse=!1,this._standaloneSseStreamId="_GET_stream",this.sessionIdGenerator=options.sessionIdGenerator,this._enableJsonResponse=options.enableJsonResponse??!1,this._eventStore=options.eventStore,this._onsessioninitialized=options.onsessioninitialized,this._onsessionclosed=options.onsessionclosed,this._allowedHosts=options.allowedHosts,this._allowedOrigins=options.allowedOrigins,this._enableDnsRebindingProtection=options.enableDnsRebindingProtection??!1,this._retryInterval=options.retryInterval}async start(){if(this._started)throw new Error("Transport already started");this._started=!0}createJsonErrorResponse(status,code,message,options){let error3={code,message};return options?.data!==void 0&&(error3.data=options.data),new Response(JSON.stringify({jsonrpc:"2.0",error:error3,id:null}),{status,headers:{"Content-Type":"application/json",...options?.headers}})}validateRequestHeaders(req){if(this._enableDnsRebindingProtection){if(this._allowedHosts&&this._allowedHosts.length>0){let hostHeader=req.headers.get("host");if(!hostHeader||!this._allowedHosts.includes(hostHeader)){let error3=`Invalid Host header: ${hostHeader}`;return this.onerror?.(new Error(error3)),this.createJsonErrorResponse(403,-32e3,error3)}}if(this._allowedOrigins&&this._allowedOrigins.length>0){let originHeader=req.headers.get("origin");if(originHeader&&!this._allowedOrigins.includes(originHeader)){let error3=`Invalid Origin header: ${originHeader}`;return this.onerror?.(new Error(error3)),this.createJsonErrorResponse(403,-32e3,error3)}}}}async handleRequest(req,options){if(!this.sessionIdGenerator&&this._hasHandledRequest)throw new Error("Stateless transport cannot be reused across requests. Create a new transport per request.");this._hasHandledRequest=!0;let validationError=this.validateRequestHeaders(req);if(validationError)return validationError;switch(req.method){case"POST":return this.handlePostRequest(req,options);case"GET":return this.handleGetRequest(req);case"DELETE":return this.handleDeleteRequest(req);default:return this.handleUnsupportedRequest()}}async writePrimingEvent(controller,encoder,streamId,protocolVersion){if(!this._eventStore||protocolVersion<"2025-11-25")return;let primingEventId=await this._eventStore.storeEvent(streamId,{}),primingEvent=`id: ${primingEventId}
|
|
185
|
+
data:
|
|
186
|
+
|
|
187
|
+
`;this._retryInterval!==void 0&&(primingEvent=`id: ${primingEventId}
|
|
188
|
+
retry: ${this._retryInterval}
|
|
189
|
+
data:
|
|
190
|
+
|
|
191
|
+
`),controller.enqueue(encoder.encode(primingEvent))}async handleGetRequest(req){if(!req.headers.get("accept")?.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept text/event-stream");let sessionError=this.validateSession(req);if(sessionError)return sessionError;let protocolError=this.validateProtocolVersion(req);if(protocolError)return protocolError;if(this._eventStore){let lastEventId=req.headers.get("last-event-id");if(lastEventId)return this.replayEvents(lastEventId)}if(this._streamMapping.get(this._standaloneSseStreamId)!==void 0)return this.onerror?.(new Error("Conflict: Only one SSE stream is allowed per session")),this.createJsonErrorResponse(409,-32e3,"Conflict: Only one SSE stream is allowed per session");let encoder=new TextEncoder,streamController,readable=new ReadableStream({start:controller=>{streamController=controller},cancel:()=>{this._streamMapping.delete(this._standaloneSseStreamId)}}),headers={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};return this.sessionId!==void 0&&(headers["mcp-session-id"]=this.sessionId),this._streamMapping.set(this._standaloneSseStreamId,{controller:streamController,encoder,cleanup:()=>{this._streamMapping.delete(this._standaloneSseStreamId);try{streamController.close()}catch{}}}),new Response(readable,{headers})}async replayEvents(lastEventId){if(!this._eventStore)return this.onerror?.(new Error("Event store not configured")),this.createJsonErrorResponse(400,-32e3,"Event store not configured");try{let streamId;if(this._eventStore.getStreamIdForEventId){if(streamId=await this._eventStore.getStreamIdForEventId(lastEventId),!streamId)return this.onerror?.(new Error("Invalid event ID format")),this.createJsonErrorResponse(400,-32e3,"Invalid event ID format");if(this._streamMapping.get(streamId)!==void 0)return this.onerror?.(new Error("Conflict: Stream already has an active connection")),this.createJsonErrorResponse(409,-32e3,"Conflict: Stream already has an active connection")}let headers={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"};this.sessionId!==void 0&&(headers["mcp-session-id"]=this.sessionId);let encoder=new TextEncoder,streamController,readable=new ReadableStream({start:controller=>{streamController=controller},cancel:()=>{}}),replayedStreamId=await this._eventStore.replayEventsAfter(lastEventId,{send:async(eventId,message)=>{if(!this.writeSSEEvent(streamController,encoder,message,eventId)){this.onerror?.(new Error("Failed replay events"));try{streamController.close()}catch{}}}});return this._streamMapping.set(replayedStreamId,{controller:streamController,encoder,cleanup:()=>{this._streamMapping.delete(replayedStreamId);try{streamController.close()}catch{}}}),new Response(readable,{headers})}catch(error3){return this.onerror?.(error3),this.createJsonErrorResponse(500,-32e3,"Error replaying events")}}writeSSEEvent(controller,encoder,message,eventId){try{let eventData=`event: message
|
|
192
|
+
`;return eventId&&(eventData+=`id: ${eventId}
|
|
193
|
+
`),eventData+=`data: ${JSON.stringify(message)}
|
|
194
|
+
|
|
195
|
+
`,controller.enqueue(encoder.encode(eventData)),!0}catch(error3){return this.onerror?.(error3),!1}}handleUnsupportedRequest(){return this.onerror?.(new Error("Method not allowed.")),new Response(JSON.stringify({jsonrpc:"2.0",error:{code:-32e3,message:"Method not allowed."},id:null}),{status:405,headers:{Allow:"GET, POST, DELETE","Content-Type":"application/json"}})}async handlePostRequest(req,options){try{let acceptHeader=req.headers.get("accept");if(!acceptHeader?.includes("application/json")||!acceptHeader.includes("text/event-stream"))return this.onerror?.(new Error("Not Acceptable: Client must accept both application/json and text/event-stream")),this.createJsonErrorResponse(406,-32e3,"Not Acceptable: Client must accept both application/json and text/event-stream");let ct=req.headers.get("content-type");if(!ct||!ct.includes("application/json"))return this.onerror?.(new Error("Unsupported Media Type: Content-Type must be application/json")),this.createJsonErrorResponse(415,-32e3,"Unsupported Media Type: Content-Type must be application/json");let requestInfo={headers:Object.fromEntries(req.headers.entries()),url:new URL(req.url)},rawMessage;if(options?.parsedBody!==void 0)rawMessage=options.parsedBody;else try{rawMessage=await req.json()}catch{return this.onerror?.(new Error("Parse error: Invalid JSON")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON")}let messages;try{Array.isArray(rawMessage)?messages=rawMessage.map(msg=>JSONRPCMessageSchema.parse(msg)):messages=[JSONRPCMessageSchema.parse(rawMessage)]}catch{return this.onerror?.(new Error("Parse error: Invalid JSON-RPC message")),this.createJsonErrorResponse(400,-32700,"Parse error: Invalid JSON-RPC message")}let isInitializationRequest=messages.some(isInitializeRequest);if(isInitializationRequest){if(this._initialized&&this.sessionId!==void 0)return this.onerror?.(new Error("Invalid Request: Server already initialized")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Server already initialized");if(messages.length>1)return this.onerror?.(new Error("Invalid Request: Only one initialization request is allowed")),this.createJsonErrorResponse(400,-32600,"Invalid Request: Only one initialization request is allowed");this.sessionId=this.sessionIdGenerator?.(),this._initialized=!0,this.sessionId&&this._onsessioninitialized&&await Promise.resolve(this._onsessioninitialized(this.sessionId))}if(!isInitializationRequest){let sessionError=this.validateSession(req);if(sessionError)return sessionError;let protocolError=this.validateProtocolVersion(req);if(protocolError)return protocolError}if(!messages.some(isJSONRPCRequest)){for(let message of messages)this.onmessage?.(message,{authInfo:options?.authInfo,requestInfo});return new Response(null,{status:202})}let streamId=crypto.randomUUID(),initRequest=messages.find(m=>isInitializeRequest(m)),clientProtocolVersion=initRequest?initRequest.params.protocolVersion:req.headers.get("mcp-protocol-version")??DEFAULT_NEGOTIATED_PROTOCOL_VERSION;if(this._enableJsonResponse)return new Promise(resolve=>{this._streamMapping.set(streamId,{resolveJson:resolve,cleanup:()=>{this._streamMapping.delete(streamId)}});for(let message of messages)isJSONRPCRequest(message)&&this._requestToStreamMapping.set(message.id,streamId);for(let message of messages)this.onmessage?.(message,{authInfo:options?.authInfo,requestInfo})});let encoder=new TextEncoder,streamController,readable=new ReadableStream({start:controller=>{streamController=controller},cancel:()=>{this._streamMapping.delete(streamId)}}),headers={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"};this.sessionId!==void 0&&(headers["mcp-session-id"]=this.sessionId);for(let message of messages)isJSONRPCRequest(message)&&(this._streamMapping.set(streamId,{controller:streamController,encoder,cleanup:()=>{this._streamMapping.delete(streamId);try{streamController.close()}catch{}}}),this._requestToStreamMapping.set(message.id,streamId));await this.writePrimingEvent(streamController,encoder,streamId,clientProtocolVersion);for(let message of messages){let closeSSEStream,closeStandaloneSSEStream;isJSONRPCRequest(message)&&this._eventStore&&clientProtocolVersion>="2025-11-25"&&(closeSSEStream=()=>{this.closeSSEStream(message.id)},closeStandaloneSSEStream=()=>{this.closeStandaloneSSEStream()}),this.onmessage?.(message,{authInfo:options?.authInfo,requestInfo,closeSSEStream,closeStandaloneSSEStream})}return new Response(readable,{status:200,headers})}catch(error3){return this.onerror?.(error3),this.createJsonErrorResponse(400,-32700,"Parse error",{data:String(error3)})}}async handleDeleteRequest(req){let sessionError=this.validateSession(req);if(sessionError)return sessionError;let protocolError=this.validateProtocolVersion(req);return protocolError||(await Promise.resolve(this._onsessionclosed?.(this.sessionId)),await this.close(),new Response(null,{status:200}))}validateSession(req){if(this.sessionIdGenerator===void 0)return;if(!this._initialized)return this.onerror?.(new Error("Bad Request: Server not initialized")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Server not initialized");let sessionId=req.headers.get("mcp-session-id");if(!sessionId)return this.onerror?.(new Error("Bad Request: Mcp-Session-Id header is required")),this.createJsonErrorResponse(400,-32e3,"Bad Request: Mcp-Session-Id header is required");if(sessionId!==this.sessionId)return this.onerror?.(new Error("Session not found")),this.createJsonErrorResponse(404,-32001,"Session not found")}validateProtocolVersion(req){let protocolVersion=req.headers.get("mcp-protocol-version");if(protocolVersion!==null&&!SUPPORTED_PROTOCOL_VERSIONS.includes(protocolVersion))return this.onerror?.(new Error(`Bad Request: Unsupported protocol version: ${protocolVersion} (supported versions: ${SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`)),this.createJsonErrorResponse(400,-32e3,`Bad Request: Unsupported protocol version: ${protocolVersion} (supported versions: ${SUPPORTED_PROTOCOL_VERSIONS.join(", ")})`)}async close(){this._streamMapping.forEach(({cleanup})=>{cleanup()}),this._streamMapping.clear(),this._requestResponseMap.clear(),this.onclose?.()}closeSSEStream(requestId){let streamId=this._requestToStreamMapping.get(requestId);if(!streamId)return;let stream=this._streamMapping.get(streamId);stream&&stream.cleanup()}closeStandaloneSSEStream(){let stream=this._streamMapping.get(this._standaloneSseStreamId);stream&&stream.cleanup()}async send(message,options){let requestId=options?.relatedRequestId;if((isJSONRPCResultResponse(message)||isJSONRPCErrorResponse(message))&&(requestId=message.id),requestId===void 0){if(isJSONRPCResultResponse(message)||isJSONRPCErrorResponse(message))throw new Error("Cannot send a response on a standalone SSE stream unless resuming a previous client request");let eventId;this._eventStore&&(eventId=await this._eventStore.storeEvent(this._standaloneSseStreamId,message));let standaloneSse=this._streamMapping.get(this._standaloneSseStreamId);if(standaloneSse===void 0)return;standaloneSse.controller&&standaloneSse.encoder&&this.writeSSEEvent(standaloneSse.controller,standaloneSse.encoder,message,eventId);return}let streamId=this._requestToStreamMapping.get(requestId);if(!streamId)throw new Error(`No connection established for request ID: ${String(requestId)}`);let stream=this._streamMapping.get(streamId);if(!this._enableJsonResponse&&stream?.controller&&stream?.encoder){let eventId;this._eventStore&&(eventId=await this._eventStore.storeEvent(streamId,message)),this.writeSSEEvent(stream.controller,stream.encoder,message,eventId)}if(isJSONRPCResultResponse(message)||isJSONRPCErrorResponse(message)){this._requestResponseMap.set(requestId,message);let relatedIds=Array.from(this._requestToStreamMapping.entries()).filter(([_,sid])=>sid===streamId).map(([id])=>id);if(relatedIds.every(id=>this._requestResponseMap.has(id))){if(!stream)throw new Error(`No connection established for request ID: ${String(requestId)}`);if(this._enableJsonResponse&&stream.resolveJson){let headers={"Content-Type":"application/json"};this.sessionId!==void 0&&(headers["mcp-session-id"]=this.sessionId);let responses=relatedIds.map(id=>this._requestResponseMap.get(id));responses.length===1?stream.resolveJson(new Response(JSON.stringify(responses[0]),{status:200,headers})):stream.resolveJson(new Response(JSON.stringify(responses),{status:200,headers}))}else stream.cleanup();for(let id of relatedIds)this._requestResponseMap.delete(id),this._requestToStreamMapping.delete(id)}}}};var StreamableHTTPServerTransport=class{constructor(options={}){this._requestContext=new WeakMap,this._webStandardTransport=new WebStandardStreamableHTTPServerTransport(options),this._requestListener=getRequestListener(async webRequest=>{let context=this._requestContext.get(webRequest);return this._webStandardTransport.handleRequest(webRequest,{authInfo:context?.authInfo,parsedBody:context?.parsedBody})},{overrideGlobalObjects:!1})}get sessionId(){return this._webStandardTransport.sessionId}set onclose(handler){this._webStandardTransport.onclose=handler}get onclose(){return this._webStandardTransport.onclose}set onerror(handler){this._webStandardTransport.onerror=handler}get onerror(){return this._webStandardTransport.onerror}set onmessage(handler){this._webStandardTransport.onmessage=handler}get onmessage(){return this._webStandardTransport.onmessage}async start(){return this._webStandardTransport.start()}async close(){return this._webStandardTransport.close()}async send(message,options){return this._webStandardTransport.send(message,options)}async handleRequest(req,res,parsedBody){let authInfo=req.auth;await getRequestListener(async webRequest=>this._webStandardTransport.handleRequest(webRequest,{authInfo,parsedBody}),{overrideGlobalObjects:!1})(req,res)}closeSSEStream(requestId){this._webStandardTransport.closeSSEStream(requestId)}closeStandaloneSSEStream(){this._webStandardTransport.closeStandaloneSSEStream()}};var Code;(function(Code2){Code2[Code2.Canceled=1]="Canceled",Code2[Code2.Unknown=2]="Unknown",Code2[Code2.InvalidArgument=3]="InvalidArgument",Code2[Code2.DeadlineExceeded=4]="DeadlineExceeded",Code2[Code2.NotFound=5]="NotFound",Code2[Code2.AlreadyExists=6]="AlreadyExists",Code2[Code2.PermissionDenied=7]="PermissionDenied",Code2[Code2.ResourceExhausted=8]="ResourceExhausted",Code2[Code2.FailedPrecondition=9]="FailedPrecondition",Code2[Code2.Aborted=10]="Aborted",Code2[Code2.OutOfRange=11]="OutOfRange",Code2[Code2.Unimplemented=12]="Unimplemented",Code2[Code2.Internal=13]="Internal",Code2[Code2.Unavailable=14]="Unavailable",Code2[Code2.DataLoss=15]="DataLoss",Code2[Code2.Unauthenticated=16]="Unauthenticated"})(Code||(Code={}));function isMessage(arg,schema){return arg!==null&&typeof arg=="object"&&"$typeName"in arg&&typeof arg.$typeName=="string"?schema===void 0?!0:schema.typeName===arg.$typeName:!1}var ScalarType;(function(ScalarType2){ScalarType2[ScalarType2.DOUBLE=1]="DOUBLE",ScalarType2[ScalarType2.FLOAT=2]="FLOAT",ScalarType2[ScalarType2.INT64=3]="INT64",ScalarType2[ScalarType2.UINT64=4]="UINT64",ScalarType2[ScalarType2.INT32=5]="INT32",ScalarType2[ScalarType2.FIXED64=6]="FIXED64",ScalarType2[ScalarType2.FIXED32=7]="FIXED32",ScalarType2[ScalarType2.BOOL=8]="BOOL",ScalarType2[ScalarType2.STRING=9]="STRING",ScalarType2[ScalarType2.BYTES=12]="BYTES",ScalarType2[ScalarType2.UINT32=13]="UINT32",ScalarType2[ScalarType2.SFIXED32=15]="SFIXED32",ScalarType2[ScalarType2.SFIXED64=16]="SFIXED64",ScalarType2[ScalarType2.SINT32=17]="SINT32",ScalarType2[ScalarType2.SINT64=18]="SINT64"})(ScalarType||(ScalarType={}));function varint64read(){let lowBits=0,highBits=0;for(let shift=0;shift<28;shift+=7){let b=this.buf[this.pos++];if(lowBits|=(b&127)<<shift,(b&128)==0)return this.assertBounds(),[lowBits,highBits]}let middleByte=this.buf[this.pos++];if(lowBits|=(middleByte&15)<<28,highBits=(middleByte&112)>>4,(middleByte&128)==0)return this.assertBounds(),[lowBits,highBits];for(let shift=3;shift<=31;shift+=7){let b=this.buf[this.pos++];if(highBits|=(b&127)<<shift,(b&128)==0)return this.assertBounds(),[lowBits,highBits]}throw new Error("invalid varint")}function varint64write(lo,hi,bytes){for(let i=0;i<28;i=i+7){let shift=lo>>>i,hasNext=!(!(shift>>>7)&&hi==0),byte=(hasNext?shift|128:shift)&255;if(bytes.push(byte),!hasNext)return}let splitBits=lo>>>28&15|(hi&7)<<4,hasMoreBits=hi>>3!=0;if(bytes.push((hasMoreBits?splitBits|128:splitBits)&255),!!hasMoreBits){for(let i=3;i<31;i=i+7){let shift=hi>>>i,hasNext=!!(shift>>>7),byte=(hasNext?shift|128:shift)&255;if(bytes.push(byte),!hasNext)return}bytes.push(hi>>>31&1)}}var TWO_PWR_32_DBL=4294967296;function int64FromString(dec){let minus=dec[0]==="-";minus&&(dec=dec.slice(1));let base=1e6,lowBits=0,highBits=0;function add1e6digit(begin,end){let digit1e6=Number(dec.slice(begin,end));highBits*=base,lowBits=lowBits*base+digit1e6,lowBits>=TWO_PWR_32_DBL&&(highBits=highBits+(lowBits/TWO_PWR_32_DBL|0),lowBits=lowBits%TWO_PWR_32_DBL)}return add1e6digit(-24,-18),add1e6digit(-18,-12),add1e6digit(-12,-6),add1e6digit(-6),minus?negate(lowBits,highBits):newBits(lowBits,highBits)}function int64ToString(lo,hi){let bits=newBits(lo,hi),negative=bits.hi&2147483648;negative&&(bits=negate(bits.lo,bits.hi));let result=uInt64ToString(bits.lo,bits.hi);return negative?"-"+result:result}function uInt64ToString(lo,hi){if({lo,hi}=toUnsigned(lo,hi),hi<=2097151)return String(TWO_PWR_32_DBL*hi+lo);let low=lo&16777215,mid=(lo>>>24|hi<<8)&16777215,high=hi>>16&65535,digitA=low+mid*6777216+high*6710656,digitB=mid+high*8147497,digitC=high*2,base=1e7;return digitA>=base&&(digitB+=Math.floor(digitA/base),digitA%=base),digitB>=base&&(digitC+=Math.floor(digitB/base),digitB%=base),digitC.toString()+decimalFrom1e7WithLeadingZeros(digitB)+decimalFrom1e7WithLeadingZeros(digitA)}function toUnsigned(lo,hi){return{lo:lo>>>0,hi:hi>>>0}}function newBits(lo,hi){return{lo:lo|0,hi:hi|0}}function negate(lowBits,highBits){return highBits=~highBits,lowBits?lowBits=~lowBits+1:highBits+=1,newBits(lowBits,highBits)}var decimalFrom1e7WithLeadingZeros=digit1e7=>{let partial2=String(digit1e7);return"0000000".slice(partial2.length)+partial2};function varint32write(value,bytes){if(value>=0){for(;value>127;)bytes.push(value&127|128),value=value>>>7;bytes.push(value)}else{for(let i=0;i<9;i++)bytes.push(value&127|128),value=value>>7;bytes.push(1)}}function varint32read(){let b=this.buf[this.pos++],result=b&127;if((b&128)==0)return this.assertBounds(),result;if(b=this.buf[this.pos++],result|=(b&127)<<7,(b&128)==0)return this.assertBounds(),result;if(b=this.buf[this.pos++],result|=(b&127)<<14,(b&128)==0)return this.assertBounds(),result;if(b=this.buf[this.pos++],result|=(b&127)<<21,(b&128)==0)return this.assertBounds(),result;b=this.buf[this.pos++],result|=(b&15)<<28;for(let readBytes=5;(b&128)!==0&&readBytes<10;readBytes++)b=this.buf[this.pos++];if((b&128)!=0)throw new Error("invalid varint");return this.assertBounds(),result>>>0}var protoInt64=makeInt64Support();function makeInt64Support(){let dv=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof dv.getBigInt64=="function"&&typeof dv.getBigUint64=="function"&&typeof dv.setBigInt64=="function"&&typeof dv.setBigUint64=="function"&&(!!globalThis.Deno||typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let MIN=BigInt("-9223372036854775808"),MAX=BigInt("9223372036854775807"),UMIN=BigInt("0"),UMAX=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(value){let bi=typeof value=="bigint"?value:BigInt(value);if(bi>MAX||bi<MIN)throw new Error(`invalid int64: ${value}`);return bi},uParse(value){let bi=typeof value=="bigint"?value:BigInt(value);if(bi>UMAX||bi<UMIN)throw new Error(`invalid uint64: ${value}`);return bi},enc(value){return dv.setBigInt64(0,this.parse(value),!0),{lo:dv.getInt32(0,!0),hi:dv.getInt32(4,!0)}},uEnc(value){return dv.setBigInt64(0,this.uParse(value),!0),{lo:dv.getInt32(0,!0),hi:dv.getInt32(4,!0)}},dec(lo,hi){return dv.setInt32(0,lo,!0),dv.setInt32(4,hi,!0),dv.getBigInt64(0,!0)},uDec(lo,hi){return dv.setInt32(0,lo,!0),dv.setInt32(4,hi,!0),dv.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(value){return typeof value!="string"&&(value=value.toString()),assertInt64String(value),value},uParse(value){return typeof value!="string"&&(value=value.toString()),assertUInt64String(value),value},enc(value){return typeof value!="string"&&(value=value.toString()),assertInt64String(value),int64FromString(value)},uEnc(value){return typeof value!="string"&&(value=value.toString()),assertUInt64String(value),int64FromString(value)},dec(lo,hi){return int64ToString(lo,hi)},uDec(lo,hi){return uInt64ToString(lo,hi)}}}function assertInt64String(value){if(!/^-?[0-9]+$/.test(value))throw new Error("invalid int64: "+value)}function assertUInt64String(value){if(!/^[0-9]+$/.test(value))throw new Error("invalid uint64: "+value)}function scalarZeroValue(type,longAsString){switch(type){case ScalarType.STRING:return"";case ScalarType.BOOL:return!1;case ScalarType.DOUBLE:case ScalarType.FLOAT:return 0;case ScalarType.INT64:case ScalarType.UINT64:case ScalarType.SFIXED64:case ScalarType.FIXED64:case ScalarType.SINT64:return longAsString?"0":protoInt64.zero;case ScalarType.BYTES:return new Uint8Array(0);default:return 0}}function isScalarZeroValue(type,value){switch(type){case ScalarType.BOOL:return value===!1;case ScalarType.STRING:return value==="";case ScalarType.BYTES:return value instanceof Uint8Array&&!value.byteLength;default:return value==0}}var IMPLICIT=2,unsafeLocal=Symbol.for("reflect unsafe local");function unsafeOneofCase(target,oneof){let c=target[oneof.localName].case;return c===void 0?c:oneof.fields.find(f=>f.localName===c)}function unsafeIsSet(target,field){let name=field.localName;if(field.oneof)return target[field.oneof.localName].case===name;if(field.presence!=IMPLICIT)return target[name]!==void 0&&Object.prototype.hasOwnProperty.call(target,name);switch(field.fieldKind){case"list":return target[name].length>0;case"map":return Object.keys(target[name]).length>0;case"scalar":return!isScalarZeroValue(field.scalar,target[name]);case"enum":return target[name]!==field.enum.values[0].number}throw new Error("message field with implicit presence")}function unsafeIsSetExplicit(target,localName){return Object.prototype.hasOwnProperty.call(target,localName)&&target[localName]!==void 0}function unsafeGet(target,field){if(field.oneof){let oneof=target[field.oneof.localName];return oneof.case===field.localName?oneof.value:void 0}return target[field.localName]}function unsafeSet(target,field,value){field.oneof?target[field.oneof.localName]={case:field.localName,value}:target[field.localName]=value}function unsafeClear(target,field){let name=field.localName;if(field.oneof){let oneofLocalName=field.oneof.localName;target[oneofLocalName].case===name&&(target[oneofLocalName]={case:void 0})}else if(field.presence!=IMPLICIT)delete target[name];else switch(field.fieldKind){case"map":target[name]={};break;case"list":target[name]=[];break;case"enum":target[name]=field.enum.values[0].number;break;case"scalar":target[name]=scalarZeroValue(field.scalar,field.longAsString);break}}function isObject2(arg){return arg!==null&&typeof arg=="object"&&!Array.isArray(arg)}function isReflectList(arg,field){var _a,_b,_c,_d;if(isObject2(arg)&&unsafeLocal in arg&&"add"in arg&&"field"in arg&&typeof arg.field=="function"){if(field!==void 0){let a=field,b=arg.field();return a.listKind==b.listKind&&a.scalar===b.scalar&&((_a=a.message)===null||_a===void 0?void 0:_a.typeName)===((_b=b.message)===null||_b===void 0?void 0:_b.typeName)&&((_c=a.enum)===null||_c===void 0?void 0:_c.typeName)===((_d=b.enum)===null||_d===void 0?void 0:_d.typeName)}return!0}return!1}function isReflectMap(arg,field){var _a,_b,_c,_d;if(isObject2(arg)&&unsafeLocal in arg&&"has"in arg&&"field"in arg&&typeof arg.field=="function"){if(field!==void 0){let a=field,b=arg.field();return a.mapKey===b.mapKey&&a.mapKind==b.mapKind&&a.scalar===b.scalar&&((_a=a.message)===null||_a===void 0?void 0:_a.typeName)===((_b=b.message)===null||_b===void 0?void 0:_b.typeName)&&((_c=a.enum)===null||_c===void 0?void 0:_c.typeName)===((_d=b.enum)===null||_d===void 0?void 0:_d.typeName)}return!0}return!1}function isReflectMessage(arg,messageDesc3){return isObject2(arg)&&unsafeLocal in arg&&"desc"in arg&&isObject2(arg.desc)&&arg.desc.kind==="message"&&(messageDesc3===void 0||arg.desc.typeName==messageDesc3.typeName)}function isWrapper(arg){return isWrapperTypeName(arg.$typeName)}function isWrapperDesc(messageDesc3){let f=messageDesc3.fields[0];return isWrapperTypeName(messageDesc3.typeName)&&f!==void 0&&f.fieldKind=="scalar"&&f.name=="value"&&f.number==1}function hasCustomJsonRepresentation(desc){switch(desc.typeName){case"google.protobuf.Any":case"google.protobuf.Timestamp":case"google.protobuf.Duration":case"google.protobuf.FieldMask":case"google.protobuf.Struct":case"google.protobuf.Value":case"google.protobuf.ListValue":return!0;default:return isWrapperDesc(desc)}}function isWrapperTypeName(name){return name.startsWith("google.protobuf.")&&["DoubleValue","FloatValue","Int64Value","UInt64Value","Int32Value","UInt32Value","BoolValue","StringValue","BytesValue"].includes(name.substring(16))}var EDITION_PROTO3=999,EDITION_PROTO2=998,IMPLICIT2=2;function create(schema,init){if(isMessage(init,schema))return init;let message=createZeroMessage(schema);return init!==void 0&&initMessage(schema,message,init),message}function initMessage(messageDesc3,message,init){for(let member of messageDesc3.members){let value=init[member.localName];if(value==null)continue;let field;if(member.kind=="oneof"){let oneofField=unsafeOneofCase(init,member);if(!oneofField)continue;field=oneofField,value=unsafeGet(init,oneofField)}else field=member;switch(field.fieldKind){case"message":value=toMessage(field,value);break;case"scalar":value=initScalar(field,value);break;case"list":value=initList(field,value);break;case"map":value=initMap(field,value);break}unsafeSet(message,field,value)}return message}function initScalar(field,value){return field.scalar==ScalarType.BYTES?toU8Arr(value):value}function initMap(field,value){if(isObject2(value)){if(field.scalar==ScalarType.BYTES)return convertObjectValues(value,toU8Arr);if(field.mapKind=="message")return convertObjectValues(value,val=>toMessage(field,val))}return value}function initList(field,value){if(Array.isArray(value)){if(field.scalar==ScalarType.BYTES)return value.map(toU8Arr);if(field.listKind=="message")return value.map(item=>toMessage(field,item))}return value}function toMessage(field,value){if(field.fieldKind=="message"&&!field.oneof&&isWrapperDesc(field.message))return initScalar(field.message.fields[0],value);if(isObject2(value)){if(field.message.typeName=="google.protobuf.Struct"&&field.parent.typeName!=="google.protobuf.Value")return value;if(!isMessage(value,field.message))return create(field.message,value)}return value}function toU8Arr(value){return Array.isArray(value)?new Uint8Array(value):value}function convertObjectValues(obj,fn){let ret={};for(let entry of Object.entries(obj))ret[entry[0]]=fn(entry[1]);return ret}var tokenZeroMessageField=Symbol(),messagePrototypes=new WeakMap;function createZeroMessage(desc){let msg;if(needsPrototypeChain(desc)){let cached2=messagePrototypes.get(desc),prototype,members;if(cached2)({prototype,members}=cached2);else{prototype={},members=new Set;for(let member of desc.members)member.kind!="oneof"&&(member.fieldKind!="scalar"&&member.fieldKind!="enum"||member.presence!=IMPLICIT2&&(members.add(member),prototype[member.localName]=createZeroField(member)));messagePrototypes.set(desc,{prototype,members})}msg=Object.create(prototype),msg.$typeName=desc.typeName;for(let member of desc.members)members.has(member)||member.kind=="field"&&(member.fieldKind=="message"||(member.fieldKind=="scalar"||member.fieldKind=="enum")&&member.presence!=IMPLICIT2)||(msg[member.localName]=createZeroField(member))}else{msg={$typeName:desc.typeName};for(let member of desc.members)(member.kind=="oneof"||member.presence==IMPLICIT2)&&(msg[member.localName]=createZeroField(member))}return msg}function needsPrototypeChain(desc){switch(desc.file.edition){case EDITION_PROTO3:return!1;case EDITION_PROTO2:return!0;default:return desc.fields.some(f=>f.presence!=IMPLICIT2&&f.fieldKind!="message"&&!f.oneof)}}function createZeroField(field){if(field.kind=="oneof")return{case:void 0};if(field.fieldKind=="list")return[];if(field.fieldKind=="map")return{};if(field.fieldKind=="message")return tokenZeroMessageField;let defaultValue=field.getDefaultValue();return defaultValue!==void 0?field.fieldKind=="scalar"&&field.longAsString?defaultValue.toString():defaultValue:field.fieldKind=="scalar"?scalarZeroValue(field.scalar,field.longAsString):field.enum.values[0].number}var errorNames=["FieldValueInvalidError","FieldListRangeError","ForeignFieldError"],FieldError=class extends Error{constructor(fieldOrOneof,message,name="FieldValueInvalidError"){super(message),this.name=name,this.field=()=>fieldOrOneof}};function isFieldError(arg){return arg instanceof Error&&errorNames.includes(arg.name)&&"field"in arg&&typeof arg.field=="function"}var symbol=Symbol.for("@bufbuild/protobuf/text-encoding");function getTextEncoding(){if(globalThis[symbol]==null){let te=new globalThis.TextEncoder,td=new globalThis.TextDecoder,tdStrict;globalThis[symbol]={encodeUtf8(text){return te.encode(text)},decodeUtf8(bytes,strict){return strict?(tdStrict===void 0&&(tdStrict=new globalThis.TextDecoder("utf-8",{fatal:!0})),tdStrict.decode(bytes)):td.decode(bytes)},checkUtf8(text){try{return encodeURIComponent(text),!0}catch{return!1}}}}return globalThis[symbol]}var WireType;(function(WireType2){WireType2[WireType2.Varint=0]="Varint",WireType2[WireType2.Bit64=1]="Bit64",WireType2[WireType2.LengthDelimited=2]="LengthDelimited",WireType2[WireType2.StartGroup=3]="StartGroup",WireType2[WireType2.EndGroup=4]="EndGroup",WireType2[WireType2.Bit32=5]="Bit32"})(WireType||(WireType={}));var FLOAT32_MAX=34028234663852886e22,FLOAT32_MIN=-34028234663852886e22,UINT32_MAX=4294967295,INT32_MAX=2147483647,INT32_MIN=-2147483648,BinaryWriter=class{constructor(encodeUtf8=getTextEncoding().encodeUtf8){this.encodeUtf8=encodeUtf8,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let len=0;for(let i=0;i<this.chunks.length;i++)len+=this.chunks[i].length;let bytes=new Uint8Array(len),offset=0;for(let i=0;i<this.chunks.length;i++)bytes.set(this.chunks[i],offset),offset+=this.chunks[i].length;return this.chunks=[],bytes}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let chunk=this.finish(),prev=this.stack.pop();if(!prev)throw new Error("invalid state, fork stack empty");return this.chunks=prev.chunks,this.buf=prev.buf,this.uint32(chunk.byteLength),this.raw(chunk)}tag(fieldNo,type){return this.uint32((fieldNo<<3|type)>>>0)}raw(chunk){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(chunk),this}uint32(value){for(assertUInt32(value);value>127;)this.buf.push(value&127|128),value=value>>>7;return this.buf.push(value),this}int32(value){return assertInt32(value),varint32write(value,this.buf),this}bool(value){return this.buf.push(value?1:0),this}bytes(value){return this.uint32(value.byteLength),this.raw(value)}string(value){let chunk=this.encodeUtf8(value);return this.uint32(chunk.byteLength),this.raw(chunk)}float(value){assertFloat32(value);let chunk=new Uint8Array(4);return new DataView(chunk.buffer).setFloat32(0,value,!0),this.raw(chunk)}double(value){let chunk=new Uint8Array(8);return new DataView(chunk.buffer).setFloat64(0,value,!0),this.raw(chunk)}fixed32(value){assertUInt32(value);let chunk=new Uint8Array(4);return new DataView(chunk.buffer).setUint32(0,value,!0),this.raw(chunk)}sfixed32(value){assertInt32(value);let chunk=new Uint8Array(4);return new DataView(chunk.buffer).setInt32(0,value,!0),this.raw(chunk)}sint32(value){return assertInt32(value),value=(value<<1^value>>31)>>>0,varint32write(value,this.buf),this}sfixed64(value){let chunk=new Uint8Array(8),view=new DataView(chunk.buffer),tc=protoInt64.enc(value);return view.setInt32(0,tc.lo,!0),view.setInt32(4,tc.hi,!0),this.raw(chunk)}fixed64(value){let chunk=new Uint8Array(8),view=new DataView(chunk.buffer),tc=protoInt64.uEnc(value);return view.setInt32(0,tc.lo,!0),view.setInt32(4,tc.hi,!0),this.raw(chunk)}int64(value){let tc=protoInt64.enc(value);return varint64write(tc.lo,tc.hi,this.buf),this}sint64(value){let tc=protoInt64.enc(value),sign=tc.hi>>31,lo=tc.lo<<1^sign,hi=(tc.hi<<1|tc.lo>>>31)^sign;return varint64write(lo,hi,this.buf),this}uint64(value){let tc=protoInt64.uEnc(value);return varint64write(tc.lo,tc.hi,this.buf),this}},BinaryReader=class{constructor(buf,decodeUtf8=getTextEncoding().decodeUtf8){this.decodeUtf8=decodeUtf8,this.varint64=varint64read,this.uint32=varint32read,this.buf=buf,this.len=buf.length,this.pos=0,this.view=new DataView(buf.buffer,buf.byteOffset,buf.byteLength)}tag(){let start=this.pos,tag=this.uint32(),bytesRead=this.pos-start;if(bytesRead>5||bytesRead==5&&this.buf[this.pos-1]>15)throw new Error("illegal tag: varint overflows uint32");let fieldNo=tag>>>3,wireType=tag&7;if(fieldNo<=0||wireType>5)throw new Error("illegal tag: field no "+fieldNo+" wire type "+wireType);return[fieldNo,wireType]}skip(wireType,fieldNo){let start=this.pos;switch(wireType){case WireType.Varint:for(;this.buf[this.pos++]&128;);break;case WireType.Bit64:this.pos+=4;case WireType.Bit32:this.pos+=4;break;case WireType.LengthDelimited:let len=this.uint32();this.pos+=len;break;case WireType.StartGroup:for(;;){let[fn,wt]=this.tag();if(wt===WireType.EndGroup){if(fieldNo!==void 0&&fn!==fieldNo)throw new Error("invalid end group tag");break}this.skip(wt,fn)}break;default:throw new Error("cant skip wire type "+wireType)}return this.assertBounds(),this.buf.subarray(start,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let zze=this.uint32();return zze>>>1^-(zze&1)}int64(){return protoInt64.dec(...this.varint64())}uint64(){return protoInt64.uDec(...this.varint64())}sint64(){let[lo,hi]=this.varint64(),s=-(lo&1);return lo=(lo>>>1|(hi&1)<<31)^s,hi=hi>>>1^s,protoInt64.dec(lo,hi)}bool(){let[lo,hi]=this.varint64();return lo!==0||hi!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return protoInt64.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return protoInt64.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let len=this.uint32(),start=this.pos;return this.pos+=len,this.assertBounds(),this.buf.subarray(start,start+len)}string(strict){return this.decodeUtf8(this.bytes(),strict)}};function assertInt32(arg){if(typeof arg=="string")arg=Number(arg);else if(typeof arg!="number")throw new Error("invalid int32: "+typeof arg);if(!Number.isInteger(arg)||arg>INT32_MAX||arg<INT32_MIN)throw new Error("invalid int32: "+arg)}function assertUInt32(arg){if(typeof arg=="string")arg=Number(arg);else if(typeof arg!="number")throw new Error("invalid uint32: "+typeof arg);if(!Number.isInteger(arg)||arg>UINT32_MAX||arg<0)throw new Error("invalid uint32: "+arg)}function assertFloat32(arg){if(typeof arg=="string"){let o=arg;if(arg=Number(arg),Number.isNaN(arg)&&o!=="NaN")throw new Error("invalid float32: "+o)}else if(typeof arg!="number")throw new Error("invalid float32: "+typeof arg);if(Number.isFinite(arg)&&(arg>FLOAT32_MAX||arg<FLOAT32_MIN))throw new Error("invalid float32: "+arg)}function checkField(field,value){let check2=field.fieldKind=="list"?isReflectList(value,field):field.fieldKind=="map"?isReflectMap(value,field):checkSingular(field,value);if(check2===!0)return;let reason;switch(field.fieldKind){case"list":reason=`expected ${formatReflectList(field)}, got ${formatVal(value)}`;break;case"map":reason=`expected ${formatReflectMap(field)}, got ${formatVal(value)}`;break;default:reason=reasonSingular(field,value,check2)}return new FieldError(field,reason)}function checkListItem(field,index,value){let check2=checkSingular(field,value);if(check2!==!0)return new FieldError(field,`list item #${index+1}: ${reasonSingular(field,value,check2)}`)}function checkMapEntry(field,key,value){let checkKey=checkScalarValue(key,field.mapKey);if(checkKey!==!0)return new FieldError(field,`invalid map key: ${reasonSingular({scalar:field.mapKey},key,checkKey)}`);let checkVal=checkSingular(field,value);if(checkVal!==!0)return new FieldError(field,`map entry ${formatVal(key)}: ${reasonSingular(field,value,checkVal)}`)}function checkSingular(field,value){return field.scalar!==void 0?checkScalarValue(value,field.scalar):field.enum!==void 0?field.enum.open?Number.isInteger(value):field.enum.values.some(v=>v.number===value):isReflectMessage(value,field.message)}function checkScalarValue(value,scalar){switch(scalar){case ScalarType.DOUBLE:return typeof value=="number";case ScalarType.FLOAT:return typeof value!="number"?!1:Number.isNaN(value)||!Number.isFinite(value)?!0:value>FLOAT32_MAX||value<FLOAT32_MIN?`${value.toFixed()} out of range`:!0;case ScalarType.INT32:case ScalarType.SFIXED32:case ScalarType.SINT32:return typeof value!="number"||!Number.isInteger(value)?!1:value>INT32_MAX||value<INT32_MIN?`${value.toFixed()} out of range`:!0;case ScalarType.FIXED32:case ScalarType.UINT32:return typeof value!="number"||!Number.isInteger(value)?!1:value>UINT32_MAX||value<0?`${value.toFixed()} out of range`:!0;case ScalarType.BOOL:return typeof value=="boolean";case ScalarType.STRING:return typeof value!="string"?!1:getTextEncoding().checkUtf8(value)||"invalid UTF8";case ScalarType.BYTES:return value instanceof Uint8Array;case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:if(typeof value=="bigint"||typeof value=="number"||typeof value=="string"&&value.length>0)try{return protoInt64.parse(value),!0}catch{return`${value} out of range`}return!1;case ScalarType.FIXED64:case ScalarType.UINT64:if(typeof value=="bigint"||typeof value=="number"||typeof value=="string"&&value.length>0)try{return protoInt64.uParse(value),!0}catch{return`${value} out of range`}return!1}}function reasonSingular(field,val,details){return details=typeof details=="string"?`: ${details}`:`, got ${formatVal(val)}`,field.scalar!==void 0?`expected ${scalarTypeDescription(field.scalar)}`+details:field.enum!==void 0?`expected ${field.enum.toString()}`+details:`expected ${formatReflectMessage(field.message)}`+details}function formatVal(val){switch(typeof val){case"object":return val===null?"null":val instanceof Uint8Array?`Uint8Array(${val.length})`:Array.isArray(val)?`Array(${val.length})`:isReflectList(val)?formatReflectList(val.field()):isReflectMap(val)?formatReflectMap(val.field()):isReflectMessage(val)?formatReflectMessage(val.desc):isMessage(val)?`message ${val.$typeName}`:"object";case"string":return val.length>30?"string":`"${val.split('"').join('\\"')}"`;case"boolean":return String(val);case"number":return String(val);case"bigint":return String(val)+"n";default:return typeof val}}function formatReflectMessage(desc){return`ReflectMessage (${desc.typeName})`}function formatReflectList(field){switch(field.listKind){case"message":return`ReflectList (${field.message.toString()})`;case"enum":return`ReflectList (${field.enum.toString()})`;case"scalar":return`ReflectList (${ScalarType[field.scalar]})`}}function formatReflectMap(field){switch(field.mapKind){case"message":return`ReflectMap (${ScalarType[field.mapKey]}, ${field.message.toString()})`;case"enum":return`ReflectMap (${ScalarType[field.mapKey]}, ${field.enum.toString()})`;case"scalar":return`ReflectMap (${ScalarType[field.mapKey]}, ${ScalarType[field.scalar]})`}}function scalarTypeDescription(scalar){switch(scalar){case ScalarType.STRING:return"string";case ScalarType.BOOL:return"boolean";case ScalarType.INT64:case ScalarType.SINT64:case ScalarType.SFIXED64:return"bigint (int64)";case ScalarType.UINT64:case ScalarType.FIXED64:return"bigint (uint64)";case ScalarType.BYTES:return"Uint8Array";case ScalarType.DOUBLE:return"number (float64)";case ScalarType.FLOAT:return"number (float32)";case ScalarType.FIXED32:case ScalarType.UINT32:return"number (uint32)";case ScalarType.INT32:case ScalarType.SFIXED32:case ScalarType.SINT32:return"number (int32)"}}function reflect(messageDesc3,message,check2=!0){return new ReflectMessageImpl(messageDesc3,message,check2)}var messageSortedFields=new WeakMap,ReflectMessageImpl=class{get sortedFields(){let cached2=messageSortedFields.get(this.desc);if(cached2)return cached2;let sortedFields=this.desc.fields.concat().sort((a,b)=>a.number-b.number);return messageSortedFields.set(this.desc,sortedFields),sortedFields}constructor(messageDesc3,message,check2=!0){this.lists=new Map,this.maps=new Map,this.check=check2,this.desc=messageDesc3,this.message=this[unsafeLocal]=message??create(messageDesc3),this.fields=messageDesc3.fields,this.oneofs=messageDesc3.oneofs,this.members=messageDesc3.members}findNumber(number3){return this._fieldsByNumber||(this._fieldsByNumber=new Map(this.desc.fields.map(f=>[f.number,f]))),this._fieldsByNumber.get(number3)}oneofCase(oneof){return assertOwn(this.message,oneof),unsafeOneofCase(this.message,oneof)}isSet(field){return assertOwn(this.message,field),unsafeIsSet(this.message,field)}clear(field){assertOwn(this.message,field),unsafeClear(this.message,field)}get(field){assertOwn(this.message,field);let value=unsafeGet(this.message,field);switch(field.fieldKind){case"list":let list=this.lists.get(field);return(!list||list[unsafeLocal]!==value)&&this.lists.set(field,list=new ReflectListImpl(field,value,this.check)),list;case"map":let map=this.maps.get(field);return(!map||map[unsafeLocal]!==value)&&this.maps.set(field,map=new ReflectMapImpl(field,value,this.check)),map;case"message":return messageToReflect(field,value,this.check);case"scalar":return value===void 0?scalarZeroValue(field.scalar,!1):longToReflect(field,value);case"enum":return value??field.enum.values[0].number}}set(field,value){if(assertOwn(this.message,field),this.check){let err=checkField(field,value);if(err)throw err}let local;field.fieldKind=="message"?local=messageToLocal(field,value):isReflectMap(value)||isReflectList(value)?local=value[unsafeLocal]:local=longToLocal(field,value),unsafeSet(this.message,field,local)}getUnknown(){return this.message.$unknown}setUnknown(value){this.message.$unknown=value}};function assertOwn(owner,member){if(member.parent.typeName!==owner.$typeName)throw new FieldError(member,`cannot use ${member.toString()} with message ${owner.$typeName}`,"ForeignFieldError")}var ReflectListImpl=class{field(){return this._field}get size(){return this._arr.length}constructor(field,unsafeInput,check2){this._field=field,this._arr=this[unsafeLocal]=unsafeInput,this.check=check2}get(index){let item=this._arr[index];return item===void 0?void 0:listItemToReflect(this._field,item,this.check)}set(index,item){if(index<0||index>=this._arr.length)throw new FieldError(this._field,`list item #${index+1}: out of range`);if(this.check){let err=checkListItem(this._field,index,item);if(err)throw err}this._arr[index]=listItemToLocal(this._field,item)}add(item){if(this.check){let err=checkListItem(this._field,this._arr.length,item);if(err)throw err}this._arr.push(listItemToLocal(this._field,item))}clear(){this._arr.splice(0,this._arr.length)}[Symbol.iterator](){return this.values()}keys(){return this._arr.keys()}*values(){for(let item of this._arr)yield listItemToReflect(this._field,item,this.check)}*entries(){for(let i=0;i<this._arr.length;i++)yield[i,listItemToReflect(this._field,this._arr[i],this.check)]}};var ReflectMapImpl=class{constructor(field,unsafeInput,check2=!0){this.obj=this[unsafeLocal]=unsafeInput??{},this.check=check2,this._field=field}field(){return this._field}set(key,value){if(this.check){let err=checkMapEntry(this._field,key,value);if(err)throw err}return this.obj[mapKeyToLocal(key)]=mapValueToLocal(this._field,value),this}delete(key){let k=mapKeyToLocal(key),has=Object.prototype.hasOwnProperty.call(this.obj,k);return has&&delete this.obj[k],has}clear(){for(let key of Object.keys(this.obj))delete this.obj[key]}get(key){let val=this.obj[mapKeyToLocal(key)];return val!==void 0&&(val=mapValueToReflect(this._field,val,this.check)),val}has(key){return Object.prototype.hasOwnProperty.call(this.obj,mapKeyToLocal(key))}*keys(){for(let objKey of Object.keys(this.obj))yield mapKeyToReflect(objKey,this._field.mapKey)}*entries(){for(let objEntry of Object.entries(this.obj))yield[mapKeyToReflect(objEntry[0],this._field.mapKey),mapValueToReflect(this._field,objEntry[1],this.check)]}[Symbol.iterator](){return this.entries()}get size(){return Object.keys(this.obj).length}*values(){for(let val of Object.values(this.obj))yield mapValueToReflect(this._field,val,this.check)}forEach(callbackfn,thisArg){for(let mapEntry of this.entries())callbackfn.call(thisArg,mapEntry[1],mapEntry[0],this)}};function messageToLocal(field,value){return isReflectMessage(value)?isWrapper(value.message)&&!field.oneof&&field.fieldKind=="message"?value.message.value:value.desc.typeName=="google.protobuf.Struct"&&field.parent.typeName!="google.protobuf.Value"?wktStructToLocal(value.message):value.message:value}function messageToReflect(field,value,check2){return value!==void 0&&(isWrapperDesc(field.message)&&!field.oneof&&field.fieldKind=="message"?value={$typeName:field.message.typeName,value:longToReflect(field.message.fields[0],value)}:field.message.typeName=="google.protobuf.Struct"&&field.parent.typeName!="google.protobuf.Value"&&isObject2(value)&&(value=wktStructToReflect(value))),new ReflectMessageImpl(field.message,value,check2)}function listItemToLocal(field,value){return field.listKind=="message"?messageToLocal(field,value):longToLocal(field,value)}function listItemToReflect(field,value,check2){return field.listKind=="message"?messageToReflect(field,value,check2):longToReflect(field,value)}function mapValueToLocal(field,value){return field.mapKind=="message"?messageToLocal(field,value):longToLocal(field,value)}function mapValueToReflect(field,value,check2){return field.mapKind=="message"?messageToReflect(field,value,check2):value}function mapKeyToLocal(key){return typeof key=="string"||typeof key=="number"?key:String(key)}function mapKeyToReflect(key,type){switch(type){case ScalarType.STRING:return key;case ScalarType.INT32:case ScalarType.FIXED32:case ScalarType.UINT32:case ScalarType.SFIXED32:case ScalarType.SINT32:{let n=Number.parseInt(key);if(Number.isFinite(n))return n;break}case ScalarType.BOOL:switch(key){case"true":return!0;case"false":return!1}break;case ScalarType.UINT64:case ScalarType.FIXED64:try{return protoInt64.uParse(key)}catch{}break;default:try{return protoInt64.parse(key)}catch{}break}return key}function longToReflect(field,value){switch(field.scalar){case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:"longAsString"in field&&field.longAsString&&typeof value=="string"&&(value=protoInt64.parse(value));break;case ScalarType.FIXED64:case ScalarType.UINT64:"longAsString"in field&&field.longAsString&&typeof value=="string"&&(value=protoInt64.uParse(value));break}return value}function longToLocal(field,value){switch(field.scalar){case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:"longAsString"in field&&field.longAsString?value=String(value):(typeof value=="string"||typeof value=="number")&&(value=protoInt64.parse(value));break;case ScalarType.FIXED64:case ScalarType.UINT64:"longAsString"in field&&field.longAsString?value=String(value):(typeof value=="string"||typeof value=="number")&&(value=protoInt64.uParse(value));break}return value}function wktStructToReflect(json){let struct={$typeName:"google.protobuf.Struct",fields:{}};if(isObject2(json))for(let[k,v]of Object.entries(json))struct.fields[k]=wktValueToReflect(v);return struct}function wktStructToLocal(val){let json={};for(let[k,v]of Object.entries(val.fields))json[k]=wktValueToLocal(v);return json}function wktValueToLocal(val){switch(val.kind.case){case"structValue":return wktStructToLocal(val.kind.value);case"listValue":return val.kind.value.values.map(wktValueToLocal);case"nullValue":case void 0:return null;default:return val.kind.value}}function wktValueToReflect(json){let value={$typeName:"google.protobuf.Value",kind:{case:void 0}};switch(typeof json){case"number":value.kind={case:"numberValue",value:json};break;case"string":value.kind={case:"stringValue",value:json};break;case"boolean":value.kind={case:"boolValue",value:json};break;case"object":if(json===null)value.kind={case:"nullValue",value:0};else if(Array.isArray(json)){let listValue={$typeName:"google.protobuf.ListValue",values:[]};if(Array.isArray(json))for(let e of json)listValue.values.push(wktValueToReflect(e));value.kind={case:"listValue",value:listValue}}else value.kind={case:"structValue",value:wktStructToReflect(json)};break}return value}function base64Decode(base64Str){let table=getDecodeTable(),es=base64Str.length*3/4;base64Str[base64Str.length-2]=="="?es-=2:base64Str[base64Str.length-1]=="="&&(es-=1);let bytes=new Uint8Array(es),bytePos=0,groupPos=0,b,p=0;for(let i=0;i<base64Str.length;i++){if(b=table[base64Str.charCodeAt(i)],b===void 0)switch(base64Str[i]){case"=":groupPos=0;case`
|
|
196
|
+
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string")}switch(groupPos){case 0:p=b,groupPos=1;break;case 1:bytes[bytePos++]=p<<2|(b&48)>>4,p=b,groupPos=2;break;case 2:bytes[bytePos++]=(p&15)<<4|(b&60)>>2,p=b,groupPos=3;break;case 3:bytes[bytePos++]=(p&3)<<6|b,groupPos=0;break}}if(groupPos==1)throw Error("invalid base64 string");return bytes.subarray(0,bytePos)}function base64Encode(bytes,encoding="std"){let table=getEncodeTable(encoding),pad=encoding=="std",base642="",groupPos=0,b,p=0;for(let i=0;i<bytes.length;i++)switch(b=bytes[i],groupPos){case 0:base642+=table[b>>2],p=(b&3)<<4,groupPos=1;break;case 1:base642+=table[p|b>>4],p=(b&15)<<2,groupPos=2;break;case 2:base642+=table[p|b>>6],base642+=table[b&63],groupPos=0;break}return groupPos&&(base642+=table[p],pad&&(base642+="=",groupPos==1&&(base642+="="))),base642}var encodeTableStd,encodeTableUrl,decodeTable;function getEncodeTable(encoding){return encodeTableStd||(encodeTableStd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),encodeTableUrl=encodeTableStd.slice(0,-2).concat("-","_")),encoding=="url"?encodeTableUrl:encodeTableStd}function getDecodeTable(){if(!decodeTable){decodeTable=[];let encodeTable=getEncodeTable("std");for(let i=0;i<encodeTable.length;i++)decodeTable[encodeTable[i].charCodeAt(0)]=i;decodeTable[45]=encodeTable.indexOf("+"),decodeTable[95]=encodeTable.indexOf("/")}return decodeTable}function protoCamelCase(snakeCase){let capNext=!1,b=[];for(let i=0;i<snakeCase.length;i++){let c=snakeCase.charAt(i);switch(c){case"_":capNext=!0;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":b.push(c),capNext=!1;break;default:capNext&&(capNext=!1,c=c.toUpperCase()),b.push(c);break}}return b.join("")}function protoSnakeCase(lowerCamelCase){return lowerCamelCase.replace(/[A-Z]/g,letter=>"_"+letter.toLowerCase())}var reservedObjectProperties=new Set(["constructor","toString","toJSON","valueOf"]);function safeObjectProperty(name){return reservedObjectProperties.has(name)?name+"$":name}function restoreJsonNames(message){for(let f of message.field)unsafeIsSetExplicit(f,"jsonName")||(f.jsonName=protoCamelCase(f.name));message.nestedType.forEach(restoreJsonNames)}function parseTextFormatEnumValue(descEnum,value){let enumValue=descEnum.values.find(v=>v.name===value);if(!enumValue)throw new Error(`cannot parse ${descEnum} default value: ${value}`);return enumValue.number}function parseTextFormatScalarValue(type,value){switch(type){case ScalarType.STRING:return value;case ScalarType.BYTES:{let u=unescapeBytesDefaultValue(value);if(u===!1)throw new Error(`cannot parse ${ScalarType[type]} default value: ${value}`);return u}case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:return protoInt64.parse(value);case ScalarType.UINT64:case ScalarType.FIXED64:return protoInt64.uParse(value);case ScalarType.DOUBLE:case ScalarType.FLOAT:switch(value){case"inf":return Number.POSITIVE_INFINITY;case"-inf":return Number.NEGATIVE_INFINITY;case"nan":return Number.NaN;default:return parseFloat(value)}case ScalarType.BOOL:return value==="true";case ScalarType.INT32:case ScalarType.UINT32:case ScalarType.SINT32:case ScalarType.FIXED32:case ScalarType.SFIXED32:return parseInt(value,10)}}function unescapeBytesDefaultValue(str){let b=[],input={tail:str,c:"",next(){return this.tail.length==0?!1:(this.c=this.tail[0],this.tail=this.tail.substring(1),!0)},take(n){if(this.tail.length>=n){let r=this.tail.substring(0,n);return this.tail=this.tail.substring(n),r}return!1}};for(;input.next();)switch(input.c){case"\\":if(input.next())switch(input.c){case"\\":b.push(input.c.charCodeAt(0));break;case"b":b.push(8);break;case"f":b.push(12);break;case"n":b.push(10);break;case"r":b.push(13);break;case"t":b.push(9);break;case"v":b.push(11);break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let s=input.c,t=input.take(2);if(t===!1)return!1;let n=parseInt(s+t,8);if(Number.isNaN(n))return!1;b.push(n);break}case"x":{let s=input.c,t=input.take(2);if(t===!1)return!1;let n=parseInt(s+t,16);if(Number.isNaN(n))return!1;b.push(n);break}case"u":{let s=input.c,t=input.take(4);if(t===!1)return!1;let n=parseInt(s+t,16);if(Number.isNaN(n))return!1;let chunk=new Uint8Array(4);new DataView(chunk.buffer).setInt32(0,n,!0),b.push(chunk[0],chunk[1],chunk[2],chunk[3]);break}case"U":{let s=input.c,t=input.take(8);if(t===!1)return!1;let tc=protoInt64.uEnc(s+t),chunk=new Uint8Array(8),view=new DataView(chunk.buffer);view.setInt32(0,tc.lo,!0),view.setInt32(4,tc.hi,!0),b.push(chunk[0],chunk[1],chunk[2],chunk[3],chunk[4],chunk[5],chunk[6],chunk[7]);break}}break;default:b.push(input.c.charCodeAt(0))}return new Uint8Array(b)}function*nestedTypes(desc){switch(desc.kind){case"file":for(let message of desc.messages)yield message,yield*nestedTypes(message);yield*desc.enums,yield*desc.services,yield*desc.extensions;break;case"message":for(let message of desc.nestedMessages)yield message,yield*nestedTypes(message);yield*desc.nestedEnums,yield*desc.nestedExtensions;break}}function createFileRegistry(...args){let registry2=createBaseRegistry();if(!args.length)return registry2;if("$typeName"in args[0]&&args[0].$typeName=="google.protobuf.FileDescriptorSet"){for(let file of args[0].file)addFile(file,registry2);return registry2}if("$typeName"in args[0]){let recurseDeps=function(file){let deps=[];for(let protoFileName of file.dependency){if(registry2.getFile(protoFileName)!=null||seen.has(protoFileName))continue;let dep=resolve(protoFileName);if(!dep)throw new Error(`Unable to resolve ${protoFileName}, imported by ${file.name}`);"kind"in dep?registry2.addFile(dep,!1,!0):(seen.add(dep.name),deps.push(dep))}return deps.concat(...deps.map(recurseDeps))},input=args[0],resolve=args[1],seen=new Set;for(let file of[input,...recurseDeps(input)].reverse())addFile(file,registry2)}else for(let fileReg of args)for(let file of fileReg.files)registry2.addFile(file);return registry2}function createBaseRegistry(){let types=new Map,extendees=new Map,files=new Map;return{kind:"registry",types,extendees,[Symbol.iterator](){return types.values()},get files(){return files.values()},addFile(file,skipTypes,withDeps){if(files.set(file.proto.name,file),!skipTypes)for(let type of nestedTypes(file))this.add(type);if(withDeps)for(let f of file.dependencies)this.addFile(f,skipTypes,withDeps)},add(desc){if(desc.kind=="extension"){let numberToExt=extendees.get(desc.extendee.typeName);numberToExt||extendees.set(desc.extendee.typeName,numberToExt=new Map),numberToExt.set(desc.number,desc)}types.set(desc.typeName,desc)},get(typeName){return types.get(typeName)},getFile(fileName){return files.get(fileName)},getMessage(typeName){let t=types.get(typeName);return t?.kind=="message"?t:void 0},getEnum(typeName){let t=types.get(typeName);return t?.kind=="enum"?t:void 0},getExtension(typeName){let t=types.get(typeName);return t?.kind=="extension"?t:void 0},getExtensionFor(extendee,no){var _a;return(_a=extendees.get(extendee.typeName))===null||_a===void 0?void 0:_a.get(no)},getService(typeName){let t=types.get(typeName);return t?.kind=="service"?t:void 0}}}var EDITION_PROTO22=998,EDITION_PROTO32=999,EDITION_UNSTABLE=9999,TYPE_STRING=9,TYPE_GROUP=10,TYPE_MESSAGE=11,TYPE_BYTES=12,TYPE_ENUM=14,LABEL_REPEATED=3,LABEL_REQUIRED=2,JS_STRING=1,IDEMPOTENCY_UNKNOWN=0,EXPLICIT=1,IMPLICIT3=2,LEGACY_REQUIRED=3,PACKED=1,DELIMITED=2,OPEN=1,VERIFY=2;var maximumEdition=1001,featureDefaults={998:{fieldPresence:1,enumType:2,repeatedFieldEncoding:2,utf8Validation:3,messageEncoding:1,jsonFormat:2,enforceNamingStyle:2,defaultSymbolVisibility:1},999:{fieldPresence:2,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1e3:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:2,defaultSymbolVisibility:1},1001:{fieldPresence:1,enumType:1,repeatedFieldEncoding:1,utf8Validation:2,messageEncoding:1,jsonFormat:1,enforceNamingStyle:1,defaultSymbolVisibility:2}};function addFile(proto,reg){var _a,_b;let file={kind:"file",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,edition:getFileEdition(proto),name:proto.name.replace(/\.proto$/,""),dependencies:findFileDependencies(proto,reg),enums:[],messages:[],extensions:[],services:[],toString(){return`file ${proto.name}`}},mapEntriesStore=new Map,mapEntries={get(typeName){return mapEntriesStore.get(typeName)},add(desc){var _a2;assert2(((_a2=desc.proto.options)===null||_a2===void 0?void 0:_a2.mapEntry)===!0),mapEntriesStore.set(desc.typeName,desc)}};for(let enumProto of proto.enumType)addEnum(enumProto,file,void 0,reg);for(let messageProto of proto.messageType)addMessage(messageProto,file,void 0,reg,mapEntries);for(let serviceProto of proto.service)addService(serviceProto,file,reg);addExtensions(file,reg);for(let mapEntry of mapEntriesStore.values())addFields(mapEntry,reg,mapEntries);for(let message of file.messages)addFields(message,reg,mapEntries),addExtensions(message,reg);reg.addFile(file,!0)}function addExtensions(desc,reg){switch(desc.kind){case"file":for(let proto of desc.proto.extension){let ext=newField(proto,desc,reg);desc.extensions.push(ext),reg.add(ext)}break;case"message":for(let proto of desc.proto.extension){let ext=newField(proto,desc,reg);desc.nestedExtensions.push(ext),reg.add(ext)}for(let message of desc.nestedMessages)addExtensions(message,reg);break}}function addFields(message,reg,mapEntries){let allOneofs=message.proto.oneofDecl.map(proto=>newOneof(proto,message)),oneofsSeen=new Set;for(let proto of message.proto.field){let oneof=findOneof(proto,allOneofs),field=newField(proto,message,reg,oneof,mapEntries);message.fields.push(field),message.field[field.localName]=field,oneof===void 0?message.members.push(field):(oneof.fields.push(field),oneofsSeen.has(oneof)||(oneofsSeen.add(oneof),message.members.push(oneof)))}for(let oneof of allOneofs.filter(o=>oneofsSeen.has(o)))message.oneofs.push(oneof);for(let child of message.nestedMessages)addFields(child,reg,mapEntries)}function addEnum(proto,file,parent,reg){var _a,_b,_c,_d,_e;let sharedPrefix=findEnumSharedPrefix(proto.name,proto.value),desc={kind:"enum",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,file,parent,open:!0,name:proto.name,typeName:makeTypeName(proto,parent,file),value:{},values:[],sharedPrefix,toString(){return`enum ${this.typeName}`}};desc.open=isEnumOpen(desc),reg.add(desc);for(let p of proto.value){let name=p.name;desc.values.push(desc.value[p.number]={kind:"enum_value",proto:p,deprecated:(_d=(_c=p.options)===null||_c===void 0?void 0:_c.deprecated)!==null&&_d!==void 0?_d:!1,parent:desc,name,localName:safeObjectProperty(sharedPrefix==null?name:name.substring(sharedPrefix.length)),number:p.number,toString(){return`enum value ${desc.typeName}.${name}`}})}((_e=parent?.nestedEnums)!==null&&_e!==void 0?_e:file.enums).push(desc)}function addMessage(proto,file,parent,reg,mapEntries){var _a,_b,_c,_d;let desc={kind:"message",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,file,parent,name:proto.name,typeName:makeTypeName(proto,parent,file),fields:[],field:{},oneofs:[],members:[],nestedEnums:[],nestedMessages:[],nestedExtensions:[],toString(){return`message ${this.typeName}`}};((_c=proto.options)===null||_c===void 0?void 0:_c.mapEntry)===!0?mapEntries.add(desc):(((_d=parent?.nestedMessages)!==null&&_d!==void 0?_d:file.messages).push(desc),reg.add(desc));for(let enumProto of proto.enumType)addEnum(enumProto,file,desc,reg);for(let messageProto of proto.nestedType)addMessage(messageProto,file,desc,reg,mapEntries)}function addService(proto,file,reg){var _a,_b;let desc={kind:"service",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,file,name:proto.name,typeName:makeTypeName(proto,void 0,file),methods:[],method:{},toString(){return`service ${this.typeName}`}};file.services.push(desc),reg.add(desc);for(let methodProto of proto.method){let method=newMethod(methodProto,desc,reg);desc.methods.push(method),desc.method[method.localName]=method}}function newMethod(proto,parent,reg){var _a,_b,_c,_d;let methodKind;proto.clientStreaming&&proto.serverStreaming?methodKind="bidi_streaming":proto.clientStreaming?methodKind="client_streaming":proto.serverStreaming?methodKind="server_streaming":methodKind="unary";let input=reg.getMessage(trimLeadingDot(proto.inputType)),output=reg.getMessage(trimLeadingDot(proto.outputType));assert2(input,`invalid MethodDescriptorProto: input_type ${proto.inputType} not found`),assert2(output,`invalid MethodDescriptorProto: output_type ${proto.inputType} not found`);let name=proto.name;return{kind:"rpc",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,parent,name,localName:safeObjectProperty(name.length?safeObjectProperty(name[0].toLowerCase()+name.substring(1)):name),methodKind,input,output,idempotency:(_d=(_c=proto.options)===null||_c===void 0?void 0:_c.idempotencyLevel)!==null&&_d!==void 0?_d:IDEMPOTENCY_UNKNOWN,toString(){return`rpc ${parent.typeName}.${name}`}}}function newOneof(proto,parent){return{kind:"oneof",proto,deprecated:!1,parent,fields:[],name:proto.name,localName:safeObjectProperty(protoCamelCase(proto.name)),toString(){return`oneof ${parent.typeName}.${this.name}`}}}function newField(proto,parentOrFile,reg,oneof,mapEntries){var _a,_b,_c;let isExtension=mapEntries===void 0,field={kind:"field",proto,deprecated:(_b=(_a=proto.options)===null||_a===void 0?void 0:_a.deprecated)!==null&&_b!==void 0?_b:!1,name:proto.name,number:proto.number,scalar:void 0,message:void 0,enum:void 0,presence:getFieldPresence(proto,oneof,isExtension,parentOrFile),utf8Validation:isUtf8Validated(proto,parentOrFile),listKind:void 0,mapKind:void 0,mapKey:void 0,delimitedEncoding:void 0,packed:void 0,longAsString:!1,getDefaultValue:void 0};if(isExtension){let file=parentOrFile.kind=="file"?parentOrFile:parentOrFile.file,parent=parentOrFile.kind=="file"?void 0:parentOrFile,typeName=makeTypeName(proto,parent,file);field.kind="extension",field.file=file,field.parent=parent,field.oneof=void 0,field.typeName=typeName,field.jsonName=`[${typeName}]`,field.toString=()=>`extension ${typeName}`;let extendee=reg.getMessage(trimLeadingDot(proto.extendee));assert2(extendee,`invalid FieldDescriptorProto: extendee ${proto.extendee} not found`),field.extendee=extendee}else{let parent=parentOrFile;assert2(parent.kind=="message"),field.parent=parent,field.oneof=oneof,field.localName=oneof?protoCamelCase(proto.name):safeObjectProperty(protoCamelCase(proto.name)),field.jsonName=proto.jsonName,field.toString=()=>`field ${parent.typeName}.${proto.name}`}let label=proto.label,type=proto.type,jstype=(_c=proto.options)===null||_c===void 0?void 0:_c.jstype;if(label===LABEL_REPEATED){let mapEntry=type==TYPE_MESSAGE?mapEntries?.get(trimLeadingDot(proto.typeName)):void 0;if(mapEntry){field.fieldKind="map";let{key,value}=findMapEntryFields(mapEntry);return field.mapKey=key.scalar,field.mapKind=value.fieldKind,field.message=value.message,field.delimitedEncoding=!1,field.enum=value.enum,field.scalar=value.scalar,field}switch(field.fieldKind="list",type){case TYPE_MESSAGE:case TYPE_GROUP:field.listKind="message",field.message=reg.getMessage(trimLeadingDot(proto.typeName)),assert2(field.message),field.delimitedEncoding=isDelimitedEncoding(proto,parentOrFile);break;case TYPE_ENUM:field.listKind="enum",field.enum=reg.getEnum(trimLeadingDot(proto.typeName)),assert2(field.enum);break;default:field.listKind="scalar",field.scalar=type,field.longAsString=jstype==JS_STRING;break}return field.packed=isPackedField(proto,parentOrFile),field}switch(type){case TYPE_MESSAGE:case TYPE_GROUP:field.fieldKind="message",field.message=reg.getMessage(trimLeadingDot(proto.typeName)),assert2(field.message,`invalid FieldDescriptorProto: type_name ${proto.typeName} not found`),field.delimitedEncoding=isDelimitedEncoding(proto,parentOrFile),field.getDefaultValue=()=>{};break;case TYPE_ENUM:{let enumeration=reg.getEnum(trimLeadingDot(proto.typeName));assert2(enumeration!==void 0,`invalid FieldDescriptorProto: type_name ${proto.typeName} not found`),field.fieldKind="enum",field.enum=reg.getEnum(trimLeadingDot(proto.typeName)),field.getDefaultValue=()=>unsafeIsSetExplicit(proto,"defaultValue")?parseTextFormatEnumValue(enumeration,proto.defaultValue):void 0;break}default:{field.fieldKind="scalar",field.scalar=type,field.longAsString=jstype==JS_STRING,field.getDefaultValue=()=>unsafeIsSetExplicit(proto,"defaultValue")?parseTextFormatScalarValue(type,proto.defaultValue):void 0;break}}return field}function getFileEdition(proto){switch(proto.syntax){case"":case"proto2":return EDITION_PROTO22;case"proto3":return EDITION_PROTO32;case"editions":if(proto.edition===EDITION_UNSTABLE)return maximumEdition;if(proto.edition in featureDefaults)return proto.edition;throw new Error(`${proto.name}: unsupported edition`);default:throw new Error(`${proto.name}: unsupported syntax "${proto.syntax}"`)}}function findFileDependencies(proto,reg){return proto.dependency.map(wantName=>{let dep=reg.getFile(wantName);if(!dep)throw new Error(`Cannot find ${wantName}, imported by ${proto.name}`);return dep})}function findEnumSharedPrefix(enumName,values){let prefix=camelToSnakeCase(enumName)+"_";for(let value of values){if(!value.name.toLowerCase().startsWith(prefix))return;let shortName=value.name.substring(prefix.length);if(shortName.length==0||/^\d/.test(shortName))return}return prefix}function camelToSnakeCase(camel){return(camel.substring(0,1)+camel.substring(1).replace(/[A-Z]/g,c=>"_"+c)).toLowerCase()}function makeTypeName(proto,parent,file){let typeName;return parent?typeName=`${parent.typeName}.${proto.name}`:file.proto.package.length>0?typeName=`${file.proto.package}.${proto.name}`:typeName=`${proto.name}`,typeName}function trimLeadingDot(typeName){return typeName.startsWith(".")?typeName.substring(1):typeName}function findOneof(proto,allOneofs){if(!unsafeIsSetExplicit(proto,"oneofIndex")||proto.proto3Optional)return;let oneof=allOneofs[proto.oneofIndex];return assert2(oneof,`invalid FieldDescriptorProto: oneof #${proto.oneofIndex} for field #${proto.number} not found`),oneof}function getFieldPresence(proto,oneof,isExtension,parent){if(proto.label==LABEL_REQUIRED)return LEGACY_REQUIRED;if(proto.label==LABEL_REPEATED)return IMPLICIT3;if(oneof||proto.proto3Optional||isExtension)return EXPLICIT;let resolved=resolveFeature("fieldPresence",{proto,parent});return resolved==IMPLICIT3&&(proto.type==TYPE_MESSAGE||proto.type==TYPE_GROUP)?EXPLICIT:resolved}function isPackedField(proto,parent){if(proto.label!=LABEL_REPEATED)return!1;switch(proto.type){case TYPE_STRING:case TYPE_BYTES:case TYPE_GROUP:case TYPE_MESSAGE:return!1}let o=proto.options;return o&&unsafeIsSetExplicit(o,"packed")?o.packed:PACKED==resolveFeature("repeatedFieldEncoding",{proto,parent})}function findMapEntryFields(mapEntry){let key=mapEntry.fields.find(f=>f.number===1),value=mapEntry.fields.find(f=>f.number===2);return assert2(key&&key.fieldKind=="scalar"&&key.scalar!=ScalarType.BYTES&&key.scalar!=ScalarType.FLOAT&&key.scalar!=ScalarType.DOUBLE&&value&&value.fieldKind!="list"&&value.fieldKind!="map"),{key,value}}function isEnumOpen(desc){var _a;return OPEN==resolveFeature("enumType",{proto:desc.proto,parent:(_a=desc.parent)!==null&&_a!==void 0?_a:desc.file})}function isDelimitedEncoding(proto,parent){return proto.type==TYPE_GROUP?!0:DELIMITED==resolveFeature("messageEncoding",{proto,parent})}function isUtf8Validated(proto,parent){return VERIFY==resolveFeature("utf8Validation",{proto,parent})}function resolveFeature(name,ref){var _a,_b;let featureSet=(_a=ref.proto.options)===null||_a===void 0?void 0:_a.features;if(featureSet){let val=featureSet[name];if(val!=0)return val}if("kind"in ref){if(ref.kind=="message")return resolveFeature(name,(_b=ref.parent)!==null&&_b!==void 0?_b:ref.file);let editionDefaults=featureDefaults[ref.edition];if(!editionDefaults)throw new Error(`feature default for edition ${ref.edition} not found`);return editionDefaults[name]}return resolveFeature(name,ref.parent)}function assert2(condition,msg){if(!condition)throw new Error(msg)}function boot(boot2){let root=bootFileDescriptorProto(boot2);return root.messageType.forEach(restoreJsonNames),createFileRegistry(root,()=>{}).getFile(root.name)}function bootFileDescriptorProto(init){return Object.assign(Object.create({syntax:"",edition:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FileDescriptorProto",dependency:[],publicDependency:[],weakDependency:[],optionDependency:[],service:[],extension:[]},init),{messageType:init.messageType.map(bootDescriptorProto),enumType:init.enumType.map(bootEnumDescriptorProto)}))}function bootDescriptorProto(init){var _a,_b,_c,_d,_e,_f,_g,_h;return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.DescriptorProto",name:init.name,field:(_b=(_a=init.field)===null||_a===void 0?void 0:_a.map(bootFieldDescriptorProto))!==null&&_b!==void 0?_b:[],extension:[],nestedType:(_d=(_c=init.nestedType)===null||_c===void 0?void 0:_c.map(bootDescriptorProto))!==null&&_d!==void 0?_d:[],enumType:(_f=(_e=init.enumType)===null||_e===void 0?void 0:_e.map(bootEnumDescriptorProto))!==null&&_f!==void 0?_f:[],extensionRange:(_h=(_g=init.extensionRange)===null||_g===void 0?void 0:_g.map(e=>Object.assign({$typeName:"google.protobuf.DescriptorProto.ExtensionRange"},e)))!==null&&_h!==void 0?_h:[],oneofDecl:[],reservedRange:[],reservedName:[]})}function bootFieldDescriptorProto(init){return Object.assign(Object.create({label:1,typeName:"",extendee:"",defaultValue:"",oneofIndex:0,jsonName:"",proto3Optional:!1}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldDescriptorProto"},init),{options:init.options?bootFieldOptions(init.options):void 0}))}function bootFieldOptions(init){var _a,_b,_c;return Object.assign(Object.create({ctype:0,packed:!1,jstype:0,lazy:!1,unverifiedLazy:!1,deprecated:!1,weak:!1,debugRedact:!1,retention:0}),Object.assign(Object.assign({$typeName:"google.protobuf.FieldOptions"},init),{targets:(_a=init.targets)!==null&&_a!==void 0?_a:[],editionDefaults:(_c=(_b=init.editionDefaults)===null||_b===void 0?void 0:_b.map(e=>Object.assign({$typeName:"google.protobuf.FieldOptions.EditionDefault"},e)))!==null&&_c!==void 0?_c:[],uninterpretedOption:[]}))}function bootEnumDescriptorProto(init){return Object.assign(Object.create({visibility:0}),{$typeName:"google.protobuf.EnumDescriptorProto",name:init.name,reservedName:[],reservedRange:[],value:init.value.map(e=>Object.assign({$typeName:"google.protobuf.EnumValueDescriptorProto"},e))})}function messageDesc(file,path,...paths){return paths.reduce((acc,cur)=>acc.nestedMessages[cur],file.messages[path])}var file_google_protobuf_descriptor=boot({name:"google/protobuf/descriptor.proto",package:"google.protobuf",messageType:[{name:"FileDescriptorSet",field:[{name:"file",number:1,type:11,label:3,typeName:".google.protobuf.FileDescriptorProto"}],extensionRange:[{start:536e6,end:536000001}]},{name:"FileDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"package",number:2,type:9,label:1},{name:"dependency",number:3,type:9,label:3},{name:"public_dependency",number:10,type:5,label:3},{name:"weak_dependency",number:11,type:5,label:3},{name:"option_dependency",number:15,type:9,label:3},{name:"message_type",number:4,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:5,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"service",number:6,type:11,label:3,typeName:".google.protobuf.ServiceDescriptorProto"},{name:"extension",number:7,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FileOptions"},{name:"source_code_info",number:9,type:11,label:1,typeName:".google.protobuf.SourceCodeInfo"},{name:"syntax",number:12,type:9,label:1},{name:"edition",number:14,type:14,label:1,typeName:".google.protobuf.Edition"}]},{name:"DescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"field",number:2,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"extension",number:6,type:11,label:3,typeName:".google.protobuf.FieldDescriptorProto"},{name:"nested_type",number:3,type:11,label:3,typeName:".google.protobuf.DescriptorProto"},{name:"enum_type",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto"},{name:"extension_range",number:5,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ExtensionRange"},{name:"oneof_decl",number:8,type:11,label:3,typeName:".google.protobuf.OneofDescriptorProto"},{name:"options",number:7,type:11,label:1,typeName:".google.protobuf.MessageOptions"},{name:"reserved_range",number:9,type:11,label:3,typeName:".google.protobuf.DescriptorProto.ReservedRange"},{name:"reserved_name",number:10,type:9,label:3},{name:"visibility",number:11,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"ExtensionRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ExtensionRangeOptions"}]},{name:"ReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"ExtensionRangeOptions",field:[{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"},{name:"declaration",number:2,type:11,label:3,typeName:".google.protobuf.ExtensionRangeOptions.Declaration",options:{retention:2}},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"verification",number:3,type:14,label:1,typeName:".google.protobuf.ExtensionRangeOptions.VerificationState",defaultValue:"UNVERIFIED",options:{retention:2}}],nestedType:[{name:"Declaration",field:[{name:"number",number:1,type:5,label:1},{name:"full_name",number:2,type:9,label:1},{name:"type",number:3,type:9,label:1},{name:"reserved",number:5,type:8,label:1},{name:"repeated",number:6,type:8,label:1}]}],enumType:[{name:"VerificationState",value:[{name:"DECLARATION",number:0},{name:"UNVERIFIED",number:1}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:3,type:5,label:1},{name:"label",number:4,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Label"},{name:"type",number:5,type:14,label:1,typeName:".google.protobuf.FieldDescriptorProto.Type"},{name:"type_name",number:6,type:9,label:1},{name:"extendee",number:2,type:9,label:1},{name:"default_value",number:7,type:9,label:1},{name:"oneof_index",number:9,type:5,label:1},{name:"json_name",number:10,type:9,label:1},{name:"options",number:8,type:11,label:1,typeName:".google.protobuf.FieldOptions"},{name:"proto3_optional",number:17,type:8,label:1}],enumType:[{name:"Type",value:[{name:"TYPE_DOUBLE",number:1},{name:"TYPE_FLOAT",number:2},{name:"TYPE_INT64",number:3},{name:"TYPE_UINT64",number:4},{name:"TYPE_INT32",number:5},{name:"TYPE_FIXED64",number:6},{name:"TYPE_FIXED32",number:7},{name:"TYPE_BOOL",number:8},{name:"TYPE_STRING",number:9},{name:"TYPE_GROUP",number:10},{name:"TYPE_MESSAGE",number:11},{name:"TYPE_BYTES",number:12},{name:"TYPE_UINT32",number:13},{name:"TYPE_ENUM",number:14},{name:"TYPE_SFIXED32",number:15},{name:"TYPE_SFIXED64",number:16},{name:"TYPE_SINT32",number:17},{name:"TYPE_SINT64",number:18}]},{name:"Label",value:[{name:"LABEL_OPTIONAL",number:1},{name:"LABEL_REPEATED",number:3},{name:"LABEL_REQUIRED",number:2}]}]},{name:"OneofDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"options",number:2,type:11,label:1,typeName:".google.protobuf.OneofOptions"}]},{name:"EnumDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"value",number:2,type:11,label:3,typeName:".google.protobuf.EnumValueDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumOptions"},{name:"reserved_range",number:4,type:11,label:3,typeName:".google.protobuf.EnumDescriptorProto.EnumReservedRange"},{name:"reserved_name",number:5,type:9,label:3},{name:"visibility",number:6,type:14,label:1,typeName:".google.protobuf.SymbolVisibility"}],nestedType:[{name:"EnumReservedRange",field:[{name:"start",number:1,type:5,label:1},{name:"end",number:2,type:5,label:1}]}]},{name:"EnumValueDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"number",number:2,type:5,label:1},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.EnumValueOptions"}]},{name:"ServiceDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"method",number:2,type:11,label:3,typeName:".google.protobuf.MethodDescriptorProto"},{name:"options",number:3,type:11,label:1,typeName:".google.protobuf.ServiceOptions"}]},{name:"MethodDescriptorProto",field:[{name:"name",number:1,type:9,label:1},{name:"input_type",number:2,type:9,label:1},{name:"output_type",number:3,type:9,label:1},{name:"options",number:4,type:11,label:1,typeName:".google.protobuf.MethodOptions"},{name:"client_streaming",number:5,type:8,label:1,defaultValue:"false"},{name:"server_streaming",number:6,type:8,label:1,defaultValue:"false"}]},{name:"FileOptions",field:[{name:"java_package",number:1,type:9,label:1},{name:"java_outer_classname",number:8,type:9,label:1},{name:"java_multiple_files",number:10,type:8,label:1,defaultValue:"false",options:{}},{name:"java_generate_equals_and_hash",number:20,type:8,label:1,options:{deprecated:!0}},{name:"java_string_check_utf8",number:27,type:8,label:1,defaultValue:"false"},{name:"optimize_for",number:9,type:14,label:1,typeName:".google.protobuf.FileOptions.OptimizeMode",defaultValue:"SPEED"},{name:"go_package",number:11,type:9,label:1},{name:"cc_generic_services",number:16,type:8,label:1,defaultValue:"false"},{name:"java_generic_services",number:17,type:8,label:1,defaultValue:"false"},{name:"py_generic_services",number:18,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:23,type:8,label:1,defaultValue:"false"},{name:"cc_enable_arenas",number:31,type:8,label:1,defaultValue:"true"},{name:"objc_class_prefix",number:36,type:9,label:1},{name:"csharp_namespace",number:37,type:9,label:1},{name:"swift_prefix",number:39,type:9,label:1},{name:"php_class_prefix",number:40,type:9,label:1},{name:"php_namespace",number:41,type:9,label:1},{name:"php_metadata_namespace",number:44,type:9,label:1},{name:"ruby_package",number:45,type:9,label:1},{name:"features",number:50,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"OptimizeMode",value:[{name:"SPEED",number:1},{name:"CODE_SIZE",number:2},{name:"LITE_RUNTIME",number:3}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"MessageOptions",field:[{name:"message_set_wire_format",number:1,type:8,label:1,defaultValue:"false"},{name:"no_standard_descriptor_accessor",number:2,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"map_entry",number:7,type:8,label:1},{name:"deprecated_legacy_json_field_conflicts",number:11,type:8,label:1,options:{deprecated:!0}},{name:"features",number:12,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"FieldOptions",field:[{name:"ctype",number:1,type:14,label:1,typeName:".google.protobuf.FieldOptions.CType",defaultValue:"STRING"},{name:"packed",number:2,type:8,label:1},{name:"jstype",number:6,type:14,label:1,typeName:".google.protobuf.FieldOptions.JSType",defaultValue:"JS_NORMAL"},{name:"lazy",number:5,type:8,label:1,defaultValue:"false"},{name:"unverified_lazy",number:15,type:8,label:1,defaultValue:"false"},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"weak",number:10,type:8,label:1,defaultValue:"false",options:{deprecated:!0}},{name:"debug_redact",number:16,type:8,label:1,defaultValue:"false"},{name:"retention",number:17,type:14,label:1,typeName:".google.protobuf.FieldOptions.OptionRetention"},{name:"targets",number:19,type:14,label:3,typeName:".google.protobuf.FieldOptions.OptionTargetType"},{name:"edition_defaults",number:20,type:11,label:3,typeName:".google.protobuf.FieldOptions.EditionDefault"},{name:"features",number:21,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"feature_support",number:22,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],nestedType:[{name:"EditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"value",number:2,type:9,label:1}]},{name:"FeatureSupport",field:[{name:"edition_introduced",number:1,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"edition_deprecated",number:2,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"deprecation_warning",number:3,type:9,label:1},{name:"edition_removed",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"removal_error",number:5,type:9,label:1}]}],enumType:[{name:"CType",value:[{name:"STRING",number:0},{name:"CORD",number:1},{name:"STRING_PIECE",number:2}]},{name:"JSType",value:[{name:"JS_NORMAL",number:0},{name:"JS_STRING",number:1},{name:"JS_NUMBER",number:2}]},{name:"OptionRetention",value:[{name:"RETENTION_UNKNOWN",number:0},{name:"RETENTION_RUNTIME",number:1},{name:"RETENTION_SOURCE",number:2}]},{name:"OptionTargetType",value:[{name:"TARGET_TYPE_UNKNOWN",number:0},{name:"TARGET_TYPE_FILE",number:1},{name:"TARGET_TYPE_EXTENSION_RANGE",number:2},{name:"TARGET_TYPE_MESSAGE",number:3},{name:"TARGET_TYPE_FIELD",number:4},{name:"TARGET_TYPE_ONEOF",number:5},{name:"TARGET_TYPE_ENUM",number:6},{name:"TARGET_TYPE_ENUM_ENTRY",number:7},{name:"TARGET_TYPE_SERVICE",number:8},{name:"TARGET_TYPE_METHOD",number:9}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"OneofOptions",field:[{name:"features",number:1,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumOptions",field:[{name:"allow_alias",number:2,type:8,label:1},{name:"deprecated",number:3,type:8,label:1,defaultValue:"false"},{name:"deprecated_legacy_json_field_conflicts",number:6,type:8,label:1,options:{deprecated:!0}},{name:"features",number:7,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"EnumValueOptions",field:[{name:"deprecated",number:1,type:8,label:1,defaultValue:"false"},{name:"features",number:2,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"debug_redact",number:3,type:8,label:1,defaultValue:"false"},{name:"feature_support",number:4,type:11,label:1,typeName:".google.protobuf.FieldOptions.FeatureSupport"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"ServiceOptions",field:[{name:"features",number:34,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],extensionRange:[{start:1e3,end:536870912}]},{name:"MethodOptions",field:[{name:"deprecated",number:33,type:8,label:1,defaultValue:"false"},{name:"idempotency_level",number:34,type:14,label:1,typeName:".google.protobuf.MethodOptions.IdempotencyLevel",defaultValue:"IDEMPOTENCY_UNKNOWN"},{name:"features",number:35,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"uninterpreted_option",number:999,type:11,label:3,typeName:".google.protobuf.UninterpretedOption"}],enumType:[{name:"IdempotencyLevel",value:[{name:"IDEMPOTENCY_UNKNOWN",number:0},{name:"NO_SIDE_EFFECTS",number:1},{name:"IDEMPOTENT",number:2}]}],extensionRange:[{start:1e3,end:536870912}]},{name:"UninterpretedOption",field:[{name:"name",number:2,type:11,label:3,typeName:".google.protobuf.UninterpretedOption.NamePart"},{name:"identifier_value",number:3,type:9,label:1},{name:"positive_int_value",number:4,type:4,label:1},{name:"negative_int_value",number:5,type:3,label:1},{name:"double_value",number:6,type:1,label:1},{name:"string_value",number:7,type:12,label:1},{name:"aggregate_value",number:8,type:9,label:1}],nestedType:[{name:"NamePart",field:[{name:"name_part",number:1,type:9,label:2},{name:"is_extension",number:2,type:8,label:2}]}]},{name:"FeatureSet",field:[{name:"field_presence",number:1,type:14,label:1,typeName:".google.protobuf.FeatureSet.FieldPresence",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPLICIT",edition:900},{value:"IMPLICIT",edition:999},{value:"EXPLICIT",edition:1e3}]}},{name:"enum_type",number:2,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnumType",options:{retention:1,targets:[6,1],editionDefaults:[{value:"CLOSED",edition:900},{value:"OPEN",edition:999}]}},{name:"repeated_field_encoding",number:3,type:14,label:1,typeName:".google.protobuf.FeatureSet.RepeatedFieldEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"EXPANDED",edition:900},{value:"PACKED",edition:999}]}},{name:"utf8_validation",number:4,type:14,label:1,typeName:".google.protobuf.FeatureSet.Utf8Validation",options:{retention:1,targets:[4,1],editionDefaults:[{value:"NONE",edition:900},{value:"VERIFY",edition:999}]}},{name:"message_encoding",number:5,type:14,label:1,typeName:".google.protobuf.FeatureSet.MessageEncoding",options:{retention:1,targets:[4,1],editionDefaults:[{value:"LENGTH_PREFIXED",edition:900}]}},{name:"json_format",number:6,type:14,label:1,typeName:".google.protobuf.FeatureSet.JsonFormat",options:{retention:1,targets:[3,6,1],editionDefaults:[{value:"LEGACY_BEST_EFFORT",edition:900},{value:"ALLOW",edition:999}]}},{name:"enforce_naming_style",number:7,type:14,label:1,typeName:".google.protobuf.FeatureSet.EnforceNamingStyle",options:{retention:2,targets:[1,2,3,4,5,6,7,8,9],editionDefaults:[{value:"STYLE_LEGACY",edition:900},{value:"STYLE2024",edition:1001}]}},{name:"default_symbol_visibility",number:8,type:14,label:1,typeName:".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility",options:{retention:2,targets:[1],editionDefaults:[{value:"EXPORT_ALL",edition:900},{value:"EXPORT_TOP_LEVEL",edition:1001}]}}],nestedType:[{name:"VisibilityFeature",enumType:[{name:"DefaultSymbolVisibility",value:[{name:"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",number:0},{name:"EXPORT_ALL",number:1},{name:"EXPORT_TOP_LEVEL",number:2},{name:"LOCAL_ALL",number:3},{name:"STRICT",number:4}]}]}],enumType:[{name:"FieldPresence",value:[{name:"FIELD_PRESENCE_UNKNOWN",number:0},{name:"EXPLICIT",number:1},{name:"IMPLICIT",number:2},{name:"LEGACY_REQUIRED",number:3}]},{name:"EnumType",value:[{name:"ENUM_TYPE_UNKNOWN",number:0},{name:"OPEN",number:1},{name:"CLOSED",number:2}]},{name:"RepeatedFieldEncoding",value:[{name:"REPEATED_FIELD_ENCODING_UNKNOWN",number:0},{name:"PACKED",number:1},{name:"EXPANDED",number:2}]},{name:"Utf8Validation",value:[{name:"UTF8_VALIDATION_UNKNOWN",number:0},{name:"VERIFY",number:2},{name:"NONE",number:3}]},{name:"MessageEncoding",value:[{name:"MESSAGE_ENCODING_UNKNOWN",number:0},{name:"LENGTH_PREFIXED",number:1},{name:"DELIMITED",number:2}]},{name:"JsonFormat",value:[{name:"JSON_FORMAT_UNKNOWN",number:0},{name:"ALLOW",number:1},{name:"LEGACY_BEST_EFFORT",number:2}]},{name:"EnforceNamingStyle",value:[{name:"ENFORCE_NAMING_STYLE_UNKNOWN",number:0},{name:"STYLE2024",number:1},{name:"STYLE_LEGACY",number:2}]}],extensionRange:[{start:1e3,end:9995},{start:9995,end:1e4},{start:1e4,end:10001}]},{name:"FeatureSetDefaults",field:[{name:"defaults",number:1,type:11,label:3,typeName:".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"},{name:"minimum_edition",number:4,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"maximum_edition",number:5,type:14,label:1,typeName:".google.protobuf.Edition"}],nestedType:[{name:"FeatureSetEditionDefault",field:[{name:"edition",number:3,type:14,label:1,typeName:".google.protobuf.Edition"},{name:"overridable_features",number:4,type:11,label:1,typeName:".google.protobuf.FeatureSet"},{name:"fixed_features",number:5,type:11,label:1,typeName:".google.protobuf.FeatureSet"}]}]},{name:"SourceCodeInfo",field:[{name:"location",number:1,type:11,label:3,typeName:".google.protobuf.SourceCodeInfo.Location"}],nestedType:[{name:"Location",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"span",number:2,type:5,label:3,options:{packed:!0}},{name:"leading_comments",number:3,type:9,label:1},{name:"trailing_comments",number:4,type:9,label:1},{name:"leading_detached_comments",number:6,type:9,label:3}]}],extensionRange:[{start:536e6,end:536000001}]},{name:"GeneratedCodeInfo",field:[{name:"annotation",number:1,type:11,label:3,typeName:".google.protobuf.GeneratedCodeInfo.Annotation"}],nestedType:[{name:"Annotation",field:[{name:"path",number:1,type:5,label:3,options:{packed:!0}},{name:"source_file",number:2,type:9,label:1},{name:"begin",number:3,type:5,label:1},{name:"end",number:4,type:5,label:1},{name:"semantic",number:5,type:14,label:1,typeName:".google.protobuf.GeneratedCodeInfo.Annotation.Semantic"}],enumType:[{name:"Semantic",value:[{name:"NONE",number:0},{name:"SET",number:1},{name:"ALIAS",number:2}]}]}]}],enumType:[{name:"Edition",value:[{name:"EDITION_UNKNOWN",number:0},{name:"EDITION_LEGACY",number:900},{name:"EDITION_PROTO2",number:998},{name:"EDITION_PROTO3",number:999},{name:"EDITION_2023",number:1e3},{name:"EDITION_2024",number:1001},{name:"EDITION_UNSTABLE",number:9999},{name:"EDITION_1_TEST_ONLY",number:1},{name:"EDITION_2_TEST_ONLY",number:2},{name:"EDITION_99997_TEST_ONLY",number:99997},{name:"EDITION_99998_TEST_ONLY",number:99998},{name:"EDITION_99999_TEST_ONLY",number:99999},{name:"EDITION_MAX",number:2147483647}]},{name:"SymbolVisibility",value:[{name:"VISIBILITY_UNSET",number:0},{name:"VISIBILITY_LOCAL",number:1},{name:"VISIBILITY_EXPORT",number:2}]}]});var FileDescriptorProtoSchema=messageDesc(file_google_protobuf_descriptor,1);var ExtensionRangeOptions_VerificationState;(function(ExtensionRangeOptions_VerificationState2){ExtensionRangeOptions_VerificationState2[ExtensionRangeOptions_VerificationState2.DECLARATION=0]="DECLARATION",ExtensionRangeOptions_VerificationState2[ExtensionRangeOptions_VerificationState2.UNVERIFIED=1]="UNVERIFIED"})(ExtensionRangeOptions_VerificationState||(ExtensionRangeOptions_VerificationState={}));var FieldDescriptorProto_Type;(function(FieldDescriptorProto_Type2){FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.DOUBLE=1]="DOUBLE",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.FLOAT=2]="FLOAT",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.INT64=3]="INT64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.UINT64=4]="UINT64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.INT32=5]="INT32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.FIXED64=6]="FIXED64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.FIXED32=7]="FIXED32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.BOOL=8]="BOOL",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.STRING=9]="STRING",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.GROUP=10]="GROUP",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.MESSAGE=11]="MESSAGE",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.BYTES=12]="BYTES",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.UINT32=13]="UINT32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.ENUM=14]="ENUM",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SFIXED32=15]="SFIXED32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SFIXED64=16]="SFIXED64",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SINT32=17]="SINT32",FieldDescriptorProto_Type2[FieldDescriptorProto_Type2.SINT64=18]="SINT64"})(FieldDescriptorProto_Type||(FieldDescriptorProto_Type={}));var FieldDescriptorProto_Label;(function(FieldDescriptorProto_Label2){FieldDescriptorProto_Label2[FieldDescriptorProto_Label2.OPTIONAL=1]="OPTIONAL",FieldDescriptorProto_Label2[FieldDescriptorProto_Label2.REPEATED=3]="REPEATED",FieldDescriptorProto_Label2[FieldDescriptorProto_Label2.REQUIRED=2]="REQUIRED"})(FieldDescriptorProto_Label||(FieldDescriptorProto_Label={}));var FileOptions_OptimizeMode;(function(FileOptions_OptimizeMode2){FileOptions_OptimizeMode2[FileOptions_OptimizeMode2.SPEED=1]="SPEED",FileOptions_OptimizeMode2[FileOptions_OptimizeMode2.CODE_SIZE=2]="CODE_SIZE",FileOptions_OptimizeMode2[FileOptions_OptimizeMode2.LITE_RUNTIME=3]="LITE_RUNTIME"})(FileOptions_OptimizeMode||(FileOptions_OptimizeMode={}));var FieldOptions_CType;(function(FieldOptions_CType2){FieldOptions_CType2[FieldOptions_CType2.STRING=0]="STRING",FieldOptions_CType2[FieldOptions_CType2.CORD=1]="CORD",FieldOptions_CType2[FieldOptions_CType2.STRING_PIECE=2]="STRING_PIECE"})(FieldOptions_CType||(FieldOptions_CType={}));var FieldOptions_JSType;(function(FieldOptions_JSType2){FieldOptions_JSType2[FieldOptions_JSType2.JS_NORMAL=0]="JS_NORMAL",FieldOptions_JSType2[FieldOptions_JSType2.JS_STRING=1]="JS_STRING",FieldOptions_JSType2[FieldOptions_JSType2.JS_NUMBER=2]="JS_NUMBER"})(FieldOptions_JSType||(FieldOptions_JSType={}));var FieldOptions_OptionRetention;(function(FieldOptions_OptionRetention2){FieldOptions_OptionRetention2[FieldOptions_OptionRetention2.RETENTION_UNKNOWN=0]="RETENTION_UNKNOWN",FieldOptions_OptionRetention2[FieldOptions_OptionRetention2.RETENTION_RUNTIME=1]="RETENTION_RUNTIME",FieldOptions_OptionRetention2[FieldOptions_OptionRetention2.RETENTION_SOURCE=2]="RETENTION_SOURCE"})(FieldOptions_OptionRetention||(FieldOptions_OptionRetention={}));var FieldOptions_OptionTargetType;(function(FieldOptions_OptionTargetType2){FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_UNKNOWN=0]="TARGET_TYPE_UNKNOWN",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_FILE=1]="TARGET_TYPE_FILE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_EXTENSION_RANGE=2]="TARGET_TYPE_EXTENSION_RANGE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_MESSAGE=3]="TARGET_TYPE_MESSAGE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_FIELD=4]="TARGET_TYPE_FIELD",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_ONEOF=5]="TARGET_TYPE_ONEOF",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_ENUM=6]="TARGET_TYPE_ENUM",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_ENUM_ENTRY=7]="TARGET_TYPE_ENUM_ENTRY",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_SERVICE=8]="TARGET_TYPE_SERVICE",FieldOptions_OptionTargetType2[FieldOptions_OptionTargetType2.TARGET_TYPE_METHOD=9]="TARGET_TYPE_METHOD"})(FieldOptions_OptionTargetType||(FieldOptions_OptionTargetType={}));var MethodOptions_IdempotencyLevel;(function(MethodOptions_IdempotencyLevel2){MethodOptions_IdempotencyLevel2[MethodOptions_IdempotencyLevel2.IDEMPOTENCY_UNKNOWN=0]="IDEMPOTENCY_UNKNOWN",MethodOptions_IdempotencyLevel2[MethodOptions_IdempotencyLevel2.NO_SIDE_EFFECTS=1]="NO_SIDE_EFFECTS",MethodOptions_IdempotencyLevel2[MethodOptions_IdempotencyLevel2.IDEMPOTENT=2]="IDEMPOTENT"})(MethodOptions_IdempotencyLevel||(MethodOptions_IdempotencyLevel={}));var FeatureSet_VisibilityFeature_DefaultSymbolVisibility;(function(FeatureSet_VisibilityFeature_DefaultSymbolVisibility2){FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0]="DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.EXPORT_ALL=1]="EXPORT_ALL",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.EXPORT_TOP_LEVEL=2]="EXPORT_TOP_LEVEL",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.LOCAL_ALL=3]="LOCAL_ALL",FeatureSet_VisibilityFeature_DefaultSymbolVisibility2[FeatureSet_VisibilityFeature_DefaultSymbolVisibility2.STRICT=4]="STRICT"})(FeatureSet_VisibilityFeature_DefaultSymbolVisibility||(FeatureSet_VisibilityFeature_DefaultSymbolVisibility={}));var FeatureSet_FieldPresence;(function(FeatureSet_FieldPresence2){FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.FIELD_PRESENCE_UNKNOWN=0]="FIELD_PRESENCE_UNKNOWN",FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.EXPLICIT=1]="EXPLICIT",FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.IMPLICIT=2]="IMPLICIT",FeatureSet_FieldPresence2[FeatureSet_FieldPresence2.LEGACY_REQUIRED=3]="LEGACY_REQUIRED"})(FeatureSet_FieldPresence||(FeatureSet_FieldPresence={}));var FeatureSet_EnumType;(function(FeatureSet_EnumType2){FeatureSet_EnumType2[FeatureSet_EnumType2.ENUM_TYPE_UNKNOWN=0]="ENUM_TYPE_UNKNOWN",FeatureSet_EnumType2[FeatureSet_EnumType2.OPEN=1]="OPEN",FeatureSet_EnumType2[FeatureSet_EnumType2.CLOSED=2]="CLOSED"})(FeatureSet_EnumType||(FeatureSet_EnumType={}));var FeatureSet_RepeatedFieldEncoding;(function(FeatureSet_RepeatedFieldEncoding2){FeatureSet_RepeatedFieldEncoding2[FeatureSet_RepeatedFieldEncoding2.REPEATED_FIELD_ENCODING_UNKNOWN=0]="REPEATED_FIELD_ENCODING_UNKNOWN",FeatureSet_RepeatedFieldEncoding2[FeatureSet_RepeatedFieldEncoding2.PACKED=1]="PACKED",FeatureSet_RepeatedFieldEncoding2[FeatureSet_RepeatedFieldEncoding2.EXPANDED=2]="EXPANDED"})(FeatureSet_RepeatedFieldEncoding||(FeatureSet_RepeatedFieldEncoding={}));var FeatureSet_Utf8Validation;(function(FeatureSet_Utf8Validation2){FeatureSet_Utf8Validation2[FeatureSet_Utf8Validation2.UTF8_VALIDATION_UNKNOWN=0]="UTF8_VALIDATION_UNKNOWN",FeatureSet_Utf8Validation2[FeatureSet_Utf8Validation2.VERIFY=2]="VERIFY",FeatureSet_Utf8Validation2[FeatureSet_Utf8Validation2.NONE=3]="NONE"})(FeatureSet_Utf8Validation||(FeatureSet_Utf8Validation={}));var FeatureSet_MessageEncoding;(function(FeatureSet_MessageEncoding2){FeatureSet_MessageEncoding2[FeatureSet_MessageEncoding2.MESSAGE_ENCODING_UNKNOWN=0]="MESSAGE_ENCODING_UNKNOWN",FeatureSet_MessageEncoding2[FeatureSet_MessageEncoding2.LENGTH_PREFIXED=1]="LENGTH_PREFIXED",FeatureSet_MessageEncoding2[FeatureSet_MessageEncoding2.DELIMITED=2]="DELIMITED"})(FeatureSet_MessageEncoding||(FeatureSet_MessageEncoding={}));var FeatureSet_JsonFormat;(function(FeatureSet_JsonFormat2){FeatureSet_JsonFormat2[FeatureSet_JsonFormat2.JSON_FORMAT_UNKNOWN=0]="JSON_FORMAT_UNKNOWN",FeatureSet_JsonFormat2[FeatureSet_JsonFormat2.ALLOW=1]="ALLOW",FeatureSet_JsonFormat2[FeatureSet_JsonFormat2.LEGACY_BEST_EFFORT=2]="LEGACY_BEST_EFFORT"})(FeatureSet_JsonFormat||(FeatureSet_JsonFormat={}));var FeatureSet_EnforceNamingStyle;(function(FeatureSet_EnforceNamingStyle2){FeatureSet_EnforceNamingStyle2[FeatureSet_EnforceNamingStyle2.ENFORCE_NAMING_STYLE_UNKNOWN=0]="ENFORCE_NAMING_STYLE_UNKNOWN",FeatureSet_EnforceNamingStyle2[FeatureSet_EnforceNamingStyle2.STYLE2024=1]="STYLE2024",FeatureSet_EnforceNamingStyle2[FeatureSet_EnforceNamingStyle2.STYLE_LEGACY=2]="STYLE_LEGACY"})(FeatureSet_EnforceNamingStyle||(FeatureSet_EnforceNamingStyle={}));var GeneratedCodeInfo_Annotation_Semantic;(function(GeneratedCodeInfo_Annotation_Semantic2){GeneratedCodeInfo_Annotation_Semantic2[GeneratedCodeInfo_Annotation_Semantic2.NONE=0]="NONE",GeneratedCodeInfo_Annotation_Semantic2[GeneratedCodeInfo_Annotation_Semantic2.SET=1]="SET",GeneratedCodeInfo_Annotation_Semantic2[GeneratedCodeInfo_Annotation_Semantic2.ALIAS=2]="ALIAS"})(GeneratedCodeInfo_Annotation_Semantic||(GeneratedCodeInfo_Annotation_Semantic={}));var Edition;(function(Edition2){Edition2[Edition2.EDITION_UNKNOWN=0]="EDITION_UNKNOWN",Edition2[Edition2.EDITION_LEGACY=900]="EDITION_LEGACY",Edition2[Edition2.EDITION_PROTO2=998]="EDITION_PROTO2",Edition2[Edition2.EDITION_PROTO3=999]="EDITION_PROTO3",Edition2[Edition2.EDITION_2023=1e3]="EDITION_2023",Edition2[Edition2.EDITION_2024=1001]="EDITION_2024",Edition2[Edition2.EDITION_UNSTABLE=9999]="EDITION_UNSTABLE",Edition2[Edition2.EDITION_1_TEST_ONLY=1]="EDITION_1_TEST_ONLY",Edition2[Edition2.EDITION_2_TEST_ONLY=2]="EDITION_2_TEST_ONLY",Edition2[Edition2.EDITION_99997_TEST_ONLY=99997]="EDITION_99997_TEST_ONLY",Edition2[Edition2.EDITION_99998_TEST_ONLY=99998]="EDITION_99998_TEST_ONLY",Edition2[Edition2.EDITION_99999_TEST_ONLY=99999]="EDITION_99999_TEST_ONLY",Edition2[Edition2.EDITION_MAX=2147483647]="EDITION_MAX"})(Edition||(Edition={}));var SymbolVisibility;(function(SymbolVisibility2){SymbolVisibility2[SymbolVisibility2.VISIBILITY_UNSET=0]="VISIBILITY_UNSET",SymbolVisibility2[SymbolVisibility2.VISIBILITY_LOCAL=1]="VISIBILITY_LOCAL",SymbolVisibility2[SymbolVisibility2.VISIBILITY_EXPORT=2]="VISIBILITY_EXPORT"})(SymbolVisibility||(SymbolVisibility={}));var readDefaults={readUnknownFields:!0};function makeReadOptions(options){return options?Object.assign(Object.assign({},readDefaults),options):readDefaults}function fromBinary(schema,bytes,options){let msg=reflect(schema,void 0,!1);return readMessage(msg,new BinaryReader(bytes),makeReadOptions(options),!1,bytes.byteLength),msg.message}function readMessage(message,reader,options,delimited,lengthOrDelimitedFieldNo){var _a;let end=delimited?reader.len:reader.pos+lengthOrDelimitedFieldNo,fieldNo,wireType,unknownFields=(_a=message.getUnknown())!==null&&_a!==void 0?_a:[];for(;reader.pos<end&&([fieldNo,wireType]=reader.tag(),!(delimited&&wireType==WireType.EndGroup));){let field=message.findNumber(fieldNo);if(!field){let data=reader.skip(wireType,fieldNo);options.readUnknownFields&&unknownFields.push({no:fieldNo,wireType,data});continue}readField(message,reader,field,wireType,options)}if(delimited&&(wireType!=WireType.EndGroup||fieldNo!==lengthOrDelimitedFieldNo))throw new Error("invalid end group tag");unknownFields.length>0&&message.setUnknown(unknownFields)}function readField(message,reader,field,wireType,options){var _a;switch(field.fieldKind){case"scalar":message.set(field,readScalar(reader,field.scalar,field.utf8Validation));break;case"enum":let val=readScalar(reader,ScalarType.INT32);if(field.enum.open)message.set(field,val);else if(field.enum.values.some(v=>v.number===val))message.set(field,val);else if(options.readUnknownFields){let bytes=[];varint32write(val,bytes);let unknownFields=(_a=message.getUnknown())!==null&&_a!==void 0?_a:[];unknownFields.push({no:field.number,wireType,data:new Uint8Array(bytes)}),message.setUnknown(unknownFields)}break;case"message":message.set(field,readMessageField(reader,options,field,message.get(field)));break;case"list":readListField(reader,wireType,message.get(field),options);break;case"map":readMapEntry(reader,message.get(field),options);break}}function readMapEntry(reader,map,options){let field=map.field(),key,val,len=reader.uint32(),end=reader.pos+len;for(;reader.pos<end;){let[fieldNo]=reader.tag();switch(fieldNo){case 1:key=readScalar(reader,field.mapKey,field.utf8Validation);break;case 2:switch(field.mapKind){case"scalar":val=readScalar(reader,field.scalar,field.utf8Validation);break;case"enum":val=reader.int32();break;case"message":val=readMessageField(reader,options,field);break}break}}if(key===void 0&&(key=scalarZeroValue(field.mapKey,!1)),val===void 0)switch(field.mapKind){case"scalar":val=scalarZeroValue(field.scalar,!1);break;case"enum":val=field.enum.values[0].number;break;case"message":val=reflect(field.message,void 0,!1);break}map.set(key,val)}function readListField(reader,wireType,list,options){var _a;let field=list.field();if(field.listKind==="message"){list.add(readMessageField(reader,options,field));return}let scalarType=(_a=field.scalar)!==null&&_a!==void 0?_a:ScalarType.INT32;if(!(wireType==WireType.LengthDelimited&&scalarType!=ScalarType.STRING&&scalarType!=ScalarType.BYTES)){list.add(readScalar(reader,scalarType,field.utf8Validation));return}let e=reader.uint32()+reader.pos;for(;reader.pos<e;)list.add(readScalar(reader,scalarType,field.utf8Validation))}function readMessageField(reader,options,field,mergeMessage){let delimited=field.delimitedEncoding,message=mergeMessage??reflect(field.message,void 0,!1);return readMessage(message,reader,options,delimited,delimited?field.number:reader.uint32()),message}function readScalar(reader,type,validateUtf8=!1){switch(type){case ScalarType.STRING:return reader.string(validateUtf8);case ScalarType.BOOL:return reader.bool();case ScalarType.DOUBLE:return reader.double();case ScalarType.FLOAT:return reader.float();case ScalarType.INT32:return reader.int32();case ScalarType.INT64:return reader.int64();case ScalarType.UINT64:return reader.uint64();case ScalarType.FIXED64:return reader.fixed64();case ScalarType.BYTES:return reader.bytes();case ScalarType.FIXED32:return reader.fixed32();case ScalarType.SFIXED32:return reader.sfixed32();case ScalarType.SFIXED64:return reader.sfixed64();case ScalarType.SINT64:return reader.sint64();case ScalarType.UINT32:return reader.uint32();case ScalarType.SINT32:return reader.sint32()}}function fileDesc(b64,imports){var _a;let root=fromBinary(FileDescriptorProtoSchema,base64Decode(b64));return root.messageType.forEach(restoreJsonNames),root.dependency=(_a=imports?.map(f=>f.proto.name))!==null&&_a!==void 0?_a:[],createFileRegistry(root,protoFileName=>imports?.find(f=>f.proto.name===protoFileName)).getFile(root.name)}var file_google_protobuf_timestamp=fileDesc("Ch9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiKwoJVGltZXN0YW1wEg8KB3NlY29uZHMYASABKAMSDQoFbmFub3MYAiABKAVChQEKE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaMmdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3RpbWVzdGFtcHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),TimestampSchema=messageDesc(file_google_protobuf_timestamp,0);function timestampFromDate(date3){return timestampFromMs(date3.getTime())}function timestampFromMs(timestampMs){let seconds=Math.floor(timestampMs/1e3);return create(TimestampSchema,{seconds:protoInt64.parse(seconds),nanos:(timestampMs-seconds*1e3)*1e6})}var file_google_protobuf_duration=fileDesc("Ch5nb29nbGUvcHJvdG9idWYvZHVyYXRpb24ucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIqCghEdXJhdGlvbhIPCgdzZWNvbmRzGAEgASgDEg0KBW5hbm9zGAIgASgFQoMBChNjb20uZ29vZ2xlLnByb3RvYnVmQg1EdXJhdGlvblByb3RvUAFaMWdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2R1cmF0aW9ucGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw");var file_google_protobuf_any=fileDesc("Chlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiJgoDQW55EhAKCHR5cGVfdXJsGAEgASgJEg0KBXZhbHVlGAIgASgMQnYKE2NvbS5nb29nbGUucHJvdG9idWZCCEFueVByb3RvUAFaLGdvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL2FueXBiogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),AnySchema=messageDesc(file_google_protobuf_any,0);var LEGACY_REQUIRED2=3,writeDefaults={writeUnknownFields:!0};function makeWriteOptions(options){return options?Object.assign(Object.assign({},writeDefaults),options):writeDefaults}function toBinary(schema,message,options){return writeFields(new BinaryWriter,makeWriteOptions(options),reflect(schema,message)).finish()}function writeFields(writer,opts,msg){var _a;for(let f of msg.sortedFields){if(!msg.isSet(f)){if(f.presence==LEGACY_REQUIRED2)throw new Error(`cannot encode ${f} to binary: required field not set`);continue}writeField(writer,opts,msg,f)}if(opts.writeUnknownFields)for(let{no,wireType,data}of(_a=msg.getUnknown())!==null&&_a!==void 0?_a:[])writer.tag(no,wireType).raw(data);return writer}function writeField(writer,opts,msg,field){var _a;switch(field.fieldKind){case"scalar":case"enum":writeScalar(writer,msg.desc.typeName,field.name,(_a=field.scalar)!==null&&_a!==void 0?_a:ScalarType.INT32,field.number,msg.get(field));break;case"list":writeListField(writer,opts,field,msg.get(field));break;case"message":writeMessageField(writer,opts,field,msg.get(field));break;case"map":for(let[key,val]of msg.get(field))writeMapEntry(writer,opts,field,key,val);break}}function writeScalar(writer,msgName,fieldName,scalarType,fieldNo,value){writeScalarValue(writer.tag(fieldNo,writeTypeOfScalar(scalarType)),msgName,fieldName,scalarType,value)}function writeMessageField(writer,opts,field,message){field.delimitedEncoding?writeFields(writer.tag(field.number,WireType.StartGroup),opts,message).tag(field.number,WireType.EndGroup):writeFields(writer.tag(field.number,WireType.LengthDelimited).fork(),opts,message).join()}function writeListField(writer,opts,field,list){var _a;if(field.listKind=="message"){for(let item of list)writeMessageField(writer,opts,field,item);return}let scalarType=(_a=field.scalar)!==null&&_a!==void 0?_a:ScalarType.INT32;if(field.packed){if(!list.size)return;writer.tag(field.number,WireType.LengthDelimited).fork();for(let item of list)writeScalarValue(writer,field.parent.typeName,field.name,scalarType,item);writer.join();return}for(let item of list)writeScalar(writer,field.parent.typeName,field.name,scalarType,field.number,item)}function writeMapEntry(writer,opts,field,key,value){var _a;switch(writer.tag(field.number,WireType.LengthDelimited).fork(),writeScalar(writer,field.parent.typeName,field.name,field.mapKey,1,key),field.mapKind){case"scalar":case"enum":writeScalar(writer,field.parent.typeName,field.name,(_a=field.scalar)!==null&&_a!==void 0?_a:ScalarType.INT32,2,value);break;case"message":writeFields(writer.tag(2,WireType.LengthDelimited).fork(),opts,value).join();break}writer.join()}function writeScalarValue(writer,msgName,fieldName,type,value){try{switch(type){case ScalarType.STRING:writer.string(value);break;case ScalarType.BOOL:writer.bool(value);break;case ScalarType.DOUBLE:writer.double(value);break;case ScalarType.FLOAT:writer.float(value);break;case ScalarType.INT32:writer.int32(value);break;case ScalarType.INT64:writer.int64(value);break;case ScalarType.UINT64:writer.uint64(value);break;case ScalarType.FIXED64:writer.fixed64(value);break;case ScalarType.BYTES:writer.bytes(value);break;case ScalarType.FIXED32:writer.fixed32(value);break;case ScalarType.SFIXED32:writer.sfixed32(value);break;case ScalarType.SFIXED64:writer.sfixed64(value);break;case ScalarType.SINT64:writer.sint64(value);break;case ScalarType.UINT32:writer.uint32(value);break;case ScalarType.SINT32:writer.sint32(value);break}}catch(e){throw e instanceof Error?new Error(`cannot encode field ${msgName}.${fieldName} to binary: ${e.message}`):e}}function writeTypeOfScalar(type){switch(type){case ScalarType.BYTES:case ScalarType.STRING:return WireType.LengthDelimited;case ScalarType.DOUBLE:case ScalarType.FIXED64:case ScalarType.SFIXED64:return WireType.Bit64;case ScalarType.FIXED32:case ScalarType.SFIXED32:case ScalarType.FLOAT:return WireType.Bit32;default:return WireType.Varint}}function anyPack(schema,message,into){let ret=!1;return into||(into=create(AnySchema),ret=!0),into.value=toBinary(schema,message),into.typeUrl=typeNameToUrl(message.$typeName),ret?into:void 0}function anyIs(any,descOrTypeName){if(any.typeUrl==="")return!1;let want=typeof descOrTypeName=="string"?descOrTypeName:descOrTypeName.typeName,got=typeUrlToName(any.typeUrl);return want===got}function anyUnpack(any,registryOrMessageDesc){if(any.typeUrl==="")return;let desc=registryOrMessageDesc.kind=="message"?registryOrMessageDesc:registryOrMessageDesc.getMessage(typeUrlToName(any.typeUrl));if(!(!desc||!anyIs(any,desc)))return fromBinary(desc,any.value)}function typeNameToUrl(name){return`type.googleapis.com/${name}`}function typeUrlToName(url){let slash=url.lastIndexOf("/"),name=slash>=0?url.substring(slash+1):url;if(!name.length)throw new Error(`invalid type url: ${url}`);return name}var file_google_protobuf_field_mask=fileDesc("CiBnb29nbGUvcHJvdG9idWYvZmllbGRfbWFzay5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIhoKCUZpZWxkTWFzaxINCgVwYXRocxgBIAMoCUKFAQoTY29tLmdvb2dsZS5wcm90b2J1ZkIORmllbGRNYXNrUHJvdG9QAVoyZ29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYvdHlwZXMva25vd24vZmllbGRtYXNrcGL4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNiBnByb3RvMw");var file_google_protobuf_struct=fileDesc("Chxnb29nbGUvcHJvdG9idWYvc3RydWN0LnByb3RvEg9nb29nbGUucHJvdG9idWYihAEKBlN0cnVjdBIzCgZmaWVsZHMYASADKAsyIy5nb29nbGUucHJvdG9idWYuU3RydWN0LkZpZWxkc0VudHJ5GkUKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAEi6gEKBVZhbHVlEjAKCm51bGxfdmFsdWUYASABKA4yGi5nb29nbGUucHJvdG9idWYuTnVsbFZhbHVlSAASFgoMbnVtYmVyX3ZhbHVlGAIgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAMgASgJSAASFAoKYm9vbF92YWx1ZRgEIAEoCEgAEi8KDHN0cnVjdF92YWx1ZRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RIABIwCgpsaXN0X3ZhbHVlGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLkxpc3RWYWx1ZUgAQgYKBGtpbmQiMwoJTGlzdFZhbHVlEiYKBnZhbHVlcxgBIAMoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZSobCglOdWxsVmFsdWUSDgoKTlVMTF9WQUxVRRAAQn8KE2NvbS5nb29nbGUucHJvdG9idWZCC1N0cnVjdFByb3RvUAFaL2dvb2dsZS5nb2xhbmcub3JnL3Byb3RvYnVmL3R5cGVzL2tub3duL3N0cnVjdHBi+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzYgZwcm90bzM"),StructSchema=messageDesc(file_google_protobuf_struct,0),ValueSchema=messageDesc(file_google_protobuf_struct,1),ListValueSchema=messageDesc(file_google_protobuf_struct,2),NullValue;(function(NullValue2){NullValue2[NullValue2.NULL_VALUE=0]="NULL_VALUE"})(NullValue||(NullValue={}));function getExtension(message,extension){assertExtendee(extension,message);let ufs=filterUnknownFields(message.$unknown,extension),[container,field,get]=createExtensionContainer(extension);for(let uf of ufs)readField(container,new BinaryReader(uf.data),field,uf.wireType,{readUnknownFields:!0});return get()}function setExtension(message,extension,value){var _a;assertExtendee(extension,message);let ufs=((_a=message.$unknown)!==null&&_a!==void 0?_a:[]).filter(uf=>uf.no!==extension.number),[container,field]=createExtensionContainer(extension,value),writer=new BinaryWriter;writeField(writer,{writeUnknownFields:!0},container,field);let reader=new BinaryReader(writer.finish());for(;reader.pos<reader.len;){let[no,wireType]=reader.tag(),data=reader.skip(wireType,no);ufs.push({no,wireType,data})}message.$unknown=ufs}function filterUnknownFields(unknownFields,extension){if(unknownFields===void 0)return[];if(extension.fieldKind==="enum"||extension.fieldKind==="scalar"){for(let i=unknownFields.length-1;i>=0;--i)if(unknownFields[i].no==extension.number)return[unknownFields[i]];return[]}return unknownFields.filter(uf=>uf.no===extension.number)}function createExtensionContainer(extension,value){let localName=extension.typeName,field=Object.assign(Object.assign({},extension),{kind:"field",parent:extension.extendee,localName}),desc=Object.assign(Object.assign({},extension.extendee),{fields:[field],members:[field],oneofs:[]}),container=create(desc,value!==void 0?{[localName]:value}:void 0);return[reflect(desc,container),field,()=>{let value2=container[localName];if(value2===void 0){let desc2=extension.message;return isWrapperDesc(desc2)?scalarZeroValue(desc2.fields[0].scalar,desc2.fields[0].longAsString):create(desc2)}return value2}]}function assertExtendee(extension,message){if(extension.extendee.typeName!=message.$typeName)throw new Error(`extension ${extension.typeName} can only be applied to message ${extension.extendee.typeName}`)}var LEGACY_REQUIRED3=3,IMPLICIT4=2,jsonWriteDefaults={alwaysEmitImplicit:!1,enumAsInteger:!1,useProtoFieldName:!1};function makeWriteOptions2(options){return options?Object.assign(Object.assign({},jsonWriteDefaults),options):jsonWriteDefaults}function toJson(schema,message,options){return reflectToJson(reflect(schema,message),makeWriteOptions2(options))}function toJsonString(schema,message,options){var _a;let jsonValue=toJson(schema,message,options);return JSON.stringify(jsonValue,null,(_a=options?.prettySpaces)!==null&&_a!==void 0?_a:0)}function reflectToJson(msg,opts){var _a;let wktJson=tryWktToJson(msg,opts);if(wktJson!==void 0)return wktJson;let json={};for(let f of msg.sortedFields){if(!msg.isSet(f)){if(f.presence==LEGACY_REQUIRED3)throw new Error(`cannot encode ${f} to JSON: required field not set`);if(!opts.alwaysEmitImplicit||f.presence!==IMPLICIT4)continue}let jsonValue=fieldToJson(f,msg.get(f),opts);jsonValue!==void 0&&(json[jsonName(f,opts)]=jsonValue)}if(opts.registry){let tagSeen=new Set;for(let{no}of(_a=msg.getUnknown())!==null&&_a!==void 0?_a:[])if(!tagSeen.has(no)){tagSeen.add(no);let extension=opts.registry.getExtensionFor(msg.desc,no);if(!extension)continue;let value=getExtension(msg.message,extension),[container,field]=createExtensionContainer(extension,value),jsonValue=fieldToJson(field,container.get(field),opts);jsonValue!==void 0&&(json[extension.jsonName]=jsonValue)}}return json}function fieldToJson(f,val,opts){switch(f.fieldKind){case"scalar":return scalarToJson(f,val);case"message":return reflectToJson(val,opts);case"enum":return enumToJsonInternal(f.enum,val,opts.enumAsInteger);case"list":return listToJson(val,opts);case"map":return mapToJson(val,opts)}}function mapToJson(map,opts){let f=map.field(),jsonObj={};switch(f.mapKind){case"scalar":for(let[entryKey,entryValue]of map)jsonObj[entryKey]=scalarToJson(f,entryValue);break;case"message":for(let[entryKey,entryValue]of map)jsonObj[entryKey]=reflectToJson(entryValue,opts);break;case"enum":for(let[entryKey,entryValue]of map)jsonObj[entryKey]=enumToJsonInternal(f.enum,entryValue,opts.enumAsInteger);break}return opts.alwaysEmitImplicit||map.size>0?jsonObj:void 0}function listToJson(list,opts){let f=list.field(),jsonArr=[];switch(f.listKind){case"scalar":for(let item of list)jsonArr.push(scalarToJson(f,item));break;case"enum":for(let item of list)jsonArr.push(enumToJsonInternal(f.enum,item,opts.enumAsInteger));break;case"message":for(let item of list)jsonArr.push(reflectToJson(item,opts));break}return opts.alwaysEmitImplicit||jsonArr.length>0?jsonArr:void 0}function enumToJsonInternal(desc,value,enumAsInteger){var _a;if(typeof value!="number")throw new Error(`cannot encode ${desc} to JSON: expected number, got ${formatVal(value)}`);if(desc.typeName=="google.protobuf.NullValue")return null;if(enumAsInteger)return value;let val=desc.value[value];return(_a=val?.name)!==null&&_a!==void 0?_a:value}function scalarToJson(field,value){var _a,_b,_c,_d,_e,_f;switch(field.scalar){case ScalarType.INT32:case ScalarType.SFIXED32:case ScalarType.SINT32:case ScalarType.FIXED32:case ScalarType.UINT32:if(typeof value!="number")throw new Error(`cannot encode ${field} to JSON: ${(_a=checkField(field,value))===null||_a===void 0?void 0:_a.message}`);return value;case ScalarType.FLOAT:case ScalarType.DOUBLE:if(typeof value!="number")throw new Error(`cannot encode ${field} to JSON: ${(_b=checkField(field,value))===null||_b===void 0?void 0:_b.message}`);return Number.isNaN(value)?"NaN":value===Number.POSITIVE_INFINITY?"Infinity":value===Number.NEGATIVE_INFINITY?"-Infinity":value;case ScalarType.STRING:if(typeof value!="string")throw new Error(`cannot encode ${field} to JSON: ${(_c=checkField(field,value))===null||_c===void 0?void 0:_c.message}`);return value;case ScalarType.BOOL:if(typeof value!="boolean")throw new Error(`cannot encode ${field} to JSON: ${(_d=checkField(field,value))===null||_d===void 0?void 0:_d.message}`);return value;case ScalarType.UINT64:case ScalarType.FIXED64:case ScalarType.INT64:case ScalarType.SFIXED64:case ScalarType.SINT64:if(typeof value=="bigint"||typeof value=="string"||typeof value=="number"&&Number.isInteger(value))return value.toString();throw new Error(`cannot encode ${field} to JSON: ${(_e=checkField(field,value))===null||_e===void 0?void 0:_e.message}`);case ScalarType.BYTES:if(value instanceof Uint8Array)return base64Encode(value);throw new Error(`cannot encode ${field} to JSON: ${(_f=checkField(field,value))===null||_f===void 0?void 0:_f.message}`)}}function jsonName(f,opts){return opts.useProtoFieldName?f.name:f.jsonName}function tryWktToJson(msg,opts){if(msg.desc.typeName.startsWith("google.protobuf."))switch(msg.desc.typeName){case"google.protobuf.Any":return anyToJson(msg.message,opts);case"google.protobuf.Timestamp":return timestampToJson(msg.message);case"google.protobuf.Duration":return durationToJson(msg.message);case"google.protobuf.FieldMask":return fieldMaskToJson(msg.message);case"google.protobuf.Struct":return structToJson(msg.message);case"google.protobuf.Value":return valueToJson(msg.message);case"google.protobuf.ListValue":return listValueToJson(msg.message);default:if(isWrapperDesc(msg.desc)){let valueField=msg.desc.fields[0];return scalarToJson(valueField,msg.get(valueField))}return}}function anyToJson(val,opts){if(val.typeUrl==="")return{};let{registry:registry2}=opts,message,desc;if(registry2&&(message=anyUnpack(val,registry2),message&&(desc=registry2.getMessage(message.$typeName))),!desc||!message)throw new Error(`cannot encode message ${val.$typeName} to JSON: "${val.typeUrl}" is not in the type registry`);let reflected=reflect(desc,message),json=hasCustomJsonRepresentation(desc)?{value:tryWktToJson(reflected,opts)}:reflectToJson(reflected,opts);return json["@type"]=val.typeUrl,json}function durationToJson(val){let seconds=Number(val.seconds),nanos=val.nanos;if(seconds>315576e6||seconds<-315576e6)throw new Error(`cannot encode message ${val.$typeName} to JSON: value out of range`);if(seconds>0&&nanos<0||seconds<0&&nanos>0)throw new Error(`cannot encode message ${val.$typeName} to JSON: nanos sign must match seconds sign`);let text=val.seconds.toString();if(nanos!==0){let nanosStr=Math.abs(nanos).toString();nanosStr="0".repeat(9-nanosStr.length)+nanosStr,nanosStr.substring(3)==="000000"?nanosStr=nanosStr.substring(0,3):nanosStr.substring(6)==="000"&&(nanosStr=nanosStr.substring(0,6)),text+="."+nanosStr,nanos<0&&seconds==0&&(text="-"+text)}return text+"s"}function fieldMaskToJson(val){return val.paths.map(p=>{if(protoSnakeCase(protoCamelCase(p))!==p)throw new Error(`cannot encode message ${val.$typeName} to JSON: lowerCamelCase of path name "${p}" is irreversible`);return protoCamelCase(p)}).join(",")}function structToJson(val){let json={};for(let[k,v]of Object.entries(val.fields))json[k]=valueToJson(v);return json}function valueToJson(val){switch(val.kind.case){case"nullValue":return null;case"numberValue":if(!Number.isFinite(val.kind.value))throw new Error(`${val.$typeName} cannot be NaN or Infinity`);return val.kind.value;case"boolValue":return val.kind.value;case"stringValue":return val.kind.value;case"structValue":return structToJson(val.kind.value);case"listValue":return listValueToJson(val.kind.value);default:throw new Error(`${val.$typeName} must have a value`)}}function listValueToJson(val){return val.values.map(valueToJson)}function timestampToJson(val){let ms=Number(val.seconds)*1e3;if(ms<Date.parse("0001-01-01T00:00:00Z")||ms>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot encode message ${val.$typeName} to JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);if(val.nanos<0)throw new Error(`cannot encode message ${val.$typeName} to JSON: nanos must not be negative`);if(val.nanos>999999999)throw new Error(`cannot encode message ${val.$typeName} to JSON: nanos must not be greater than 99999999`);let z="Z";if(val.nanos>0){let nanosStr=(val.nanos+1e9).toString().substring(1);nanosStr.substring(3)==="000000"?z="."+nanosStr.substring(0,3)+"Z":nanosStr.substring(6)==="000"?z="."+nanosStr.substring(0,6)+"Z":z="."+nanosStr+"Z"}return new Date(ms).toISOString().replace(".000Z",z)}var jsonReadDefaults={ignoreUnknownFields:!1};function makeReadOptions2(options){return options?Object.assign(Object.assign({},jsonReadDefaults),options):jsonReadDefaults}function fromJsonString(schema,json,options){return fromJson(schema,parseJsonString(json,schema.typeName),options)}function fromJson(schema,json,options){let msg=reflect(schema);try{readMessage2(msg,json,makeReadOptions2(options))}catch(e){throw isFieldError(e)?new Error(`cannot decode ${e.field()} from JSON: ${e.message}`,{cause:e}):e}return msg.message}var messageJsonFields=new WeakMap;function getJsonField(desc,jsonKey){var _a;if(!messageJsonFields.has(desc)){let jsonNames=new Map;for(let field of desc.fields)jsonNames.set(field.name,field).set(field.jsonName,field);messageJsonFields.set(desc,jsonNames)}return(_a=messageJsonFields.get(desc))===null||_a===void 0?void 0:_a.get(jsonKey)}function readMessage2(msg,json,opts){var _a;if(tryWktFromJson(msg,json,opts))return;if(json==null||Array.isArray(json)||typeof json!="object")throw new Error(`cannot decode ${msg.desc} from JSON: ${formatVal(json)}`);let oneofSeen=new Map;for(let[jsonKey,jsonValue]of Object.entries(json)){let field=getJsonField(msg.desc,jsonKey);if(field){if(field.oneof){if(jsonValue===null&&field.fieldKind=="scalar")continue;let seen=oneofSeen.get(field.oneof);if(seen!==void 0)throw new FieldError(field.oneof,`oneof set multiple times by ${seen.name} and ${field.name}`);oneofSeen.set(field.oneof,field)}readField2(msg,field,jsonValue,opts)}else{let extension;if(jsonKey.startsWith("[")&&jsonKey.endsWith("]")&&(extension=(_a=opts.registry)===null||_a===void 0?void 0:_a.getExtension(jsonKey.substring(1,jsonKey.length-1)))&&extension.extendee.typeName===msg.desc.typeName){let[container,field2,get]=createExtensionContainer(extension);readField2(container,field2,jsonValue,opts),setExtension(msg.message,extension,get())}if(!extension&&!opts.ignoreUnknownFields)throw new Error(`cannot decode ${msg.desc} from JSON: key "${jsonKey}" is unknown`)}}}function readField2(msg,field,json,opts){switch(field.fieldKind){case"scalar":readScalarField(msg,field,json);break;case"enum":readEnumField(msg,field,json,opts);break;case"message":readMessageField2(msg,field,json,opts);break;case"list":readListField2(msg.get(field),json,opts);break;case"map":readMapField(msg.get(field),json,opts);break}}function readListOrMapItem(field,json,opts){if(field.scalar&&json!==null)return scalarFromJson(field,json);if(field.message&&!isResetSentinelNullValue(field,json)){let msgValue=reflect(field.message);return readMessage2(msgValue,json,opts),msgValue}if(field.enum&&!isResetSentinelNullValue(field,json))return readEnum(field.enum,json,opts.ignoreUnknownFields);throw new FieldError(field,`${field.fieldKind==="list"?"list item":"map value"} must not be null`)}function readMapField(map,json,opts){if(json===null)return;let field=map.field();if(typeof json!="object"||Array.isArray(json))throw new FieldError(field,"expected object, got "+formatVal(json));for(let[jsonMapKey,jsonMapValue]of Object.entries(json)){let key=mapKeyFromJson(field.mapKey,jsonMapKey),value=readListOrMapItem(field,jsonMapValue,opts);value!==tokenIgnoredUnknownEnum&&map.set(key,value)}}function readListField2(list,json,opts){if(json===null)return;let field=list.field();if(!Array.isArray(json))throw new FieldError(field,"expected Array, got "+formatVal(json));for(let jsonItem of json){let value=readListOrMapItem(field,jsonItem,opts);value!==tokenIgnoredUnknownEnum&&list.add(value)}}function readMessageField2(msg,field,json,opts){if(isResetSentinelNullValue(field,json)){msg.clear(field);return}let msgValue=msg.isSet(field)?msg.get(field):reflect(field.message);readMessage2(msgValue,json,opts),msg.set(field,msgValue)}function readEnumField(msg,field,json,opts){if(isResetSentinelNullValue(field,json)){msg.clear(field);return}let enumValue=readEnum(field.enum,json,opts.ignoreUnknownFields);enumValue!==tokenIgnoredUnknownEnum&&msg.set(field,enumValue)}function readScalarField(msg,field,json){json===null?msg.clear(field):msg.set(field,scalarFromJson(field,json))}function isResetSentinelNullValue(field,json){var _a,_b;return json===null&&((_a=field.message)===null||_a===void 0?void 0:_a.typeName)!="google.protobuf.Value"&&((_b=field.enum)===null||_b===void 0?void 0:_b.typeName)!="google.protobuf.NullValue"}var tokenIgnoredUnknownEnum=Symbol();function readEnum(desc,json,ignoreUnknownFields){if(json===null)return desc.values[0].number;switch(typeof json){case"number":if(Number.isInteger(json))return json;break;case"string":let value=desc.values.find(ev=>ev.name===json);if(value!==void 0)return value.number;if(ignoreUnknownFields)return tokenIgnoredUnknownEnum;break}throw new Error(`cannot decode ${desc} from JSON: ${formatVal(json)}`)}function scalarFromJson(field,json){switch(field.scalar){case ScalarType.DOUBLE:case ScalarType.FLOAT:if(json==="NaN")return NaN;if(json==="Infinity")return Number.POSITIVE_INFINITY;if(json==="-Infinity")return Number.NEGATIVE_INFINITY;if(typeof json=="number"){if(Number.isNaN(json))throw new FieldError(field,"unexpected NaN number");if(!Number.isFinite(json))throw new FieldError(field,"unexpected infinite number");break}if(typeof json=="string"){if(json===""||json.trim().length!==json.length)break;let float=Number(json);if(!Number.isFinite(float))break;return float}break;case ScalarType.INT32:case ScalarType.FIXED32:case ScalarType.SFIXED32:case ScalarType.SINT32:case ScalarType.UINT32:return int32FromJson(json);case ScalarType.BYTES:if(typeof json=="string"){if(json==="")return new Uint8Array(0);try{return base64Decode(json)}catch(e){let message=e instanceof Error?e.message:String(e);throw new FieldError(field,message)}}break}return json}function mapKeyFromJson(type,jsonString){switch(type){case ScalarType.BOOL:switch(jsonString){case"true":return!0;case"false":return!1}return jsonString;case ScalarType.INT32:case ScalarType.FIXED32:case ScalarType.UINT32:case ScalarType.SFIXED32:case ScalarType.SINT32:return int32FromJson(jsonString);default:return jsonString}}function int32FromJson(json){if(typeof json=="string"){if(json===""||json.trim().length!==json.length)return json;let num=Number(json);return Number.isNaN(num)?json:num}return json}function parseJsonString(jsonString,typeName){try{return JSON.parse(jsonString)}catch(e){let message=e instanceof Error?e.message:String(e);throw new Error(`cannot decode message ${typeName} from JSON: ${message}`,{cause:e})}}function tryWktFromJson(msg,jsonValue,opts){if(!msg.desc.typeName.startsWith("google.protobuf."))return!1;switch(msg.desc.typeName){case"google.protobuf.Any":return anyFromJson(msg.message,jsonValue,opts),!0;case"google.protobuf.Timestamp":return timestampFromJson(msg.message,jsonValue),!0;case"google.protobuf.Duration":return durationFromJson(msg.message,jsonValue),!0;case"google.protobuf.FieldMask":return fieldMaskFromJson(msg.message,jsonValue),!0;case"google.protobuf.Struct":return structFromJson(msg.message,jsonValue),!0;case"google.protobuf.Value":return valueFromJson(msg.message,jsonValue),!0;case"google.protobuf.ListValue":return listValueFromJson(msg.message,jsonValue),!0;default:if(isWrapperDesc(msg.desc)){let valueField=msg.desc.fields[0];return jsonValue===null?msg.clear(valueField):msg.set(valueField,scalarFromJson(valueField,jsonValue)),!0}return!1}}function anyFromJson(any,json,opts){var _a;if(json===null||Array.isArray(json)||typeof json!="object")throw new Error(`cannot decode message ${any.$typeName} from JSON: expected object but got ${formatVal(json)}`);if(Object.keys(json).length==0)return;let typeUrl=json["@type"];if(typeof typeUrl!="string"||typeUrl=="")throw new Error(`cannot decode message ${any.$typeName} from JSON: "@type" is empty`);let typeName=typeUrl.includes("/")?typeUrl.substring(typeUrl.lastIndexOf("/")+1):typeUrl;if(!typeName.length)throw new Error(`cannot decode message ${any.$typeName} from JSON: "@type" is invalid`);let desc=(_a=opts.registry)===null||_a===void 0?void 0:_a.getMessage(typeName);if(!desc)throw new Error(`cannot decode message ${any.$typeName} from JSON: ${typeUrl} is not in the type registry`);let msg=reflect(desc);if(hasCustomJsonRepresentation(desc)&&Object.prototype.hasOwnProperty.call(json,"value")){let value=json.value;readMessage2(msg,value,opts)}else{let copy=Object.assign({},json);delete copy["@type"],readMessage2(msg,copy,opts)}anyPack(msg.desc,msg.message,any)}function timestampFromJson(timestamp,json){if(typeof json!="string")throw new Error(`cannot decode message ${timestamp.$typeName} from JSON: ${formatVal(json)}`);let matches=json.match(/^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.([0-9]{1,9}))?(?:Z|([+-][0-9][0-9]:[0-9][0-9]))$/);if(!matches)throw new Error(`cannot decode message ${timestamp.$typeName} from JSON: invalid RFC 3339 string`);let ms=Date.parse(matches[1]+"-"+matches[2]+"-"+matches[3]+"T"+matches[4]+":"+matches[5]+":"+matches[6]+(matches[8]?matches[8]:"Z"));if(Number.isNaN(ms))throw new Error(`cannot decode message ${timestamp.$typeName} from JSON: invalid RFC 3339 string`);if(ms<Date.parse("0001-01-01T00:00:00Z")||ms>Date.parse("9999-12-31T23:59:59Z"))throw new Error(`cannot decode message ${timestamp.$typeName} from JSON: must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive`);timestamp.seconds=protoInt64.parse(ms/1e3),timestamp.nanos=0,matches[7]&&(timestamp.nanos=parseInt("1"+matches[7]+"0".repeat(9-matches[7].length))-1e9)}function durationFromJson(duration3,json){if(typeof json!="string")throw new Error(`cannot decode message ${duration3.$typeName} from JSON: ${formatVal(json)}`);let match=json.match(/^(-?[0-9]+)(?:\.([0-9]+))?s/);if(match===null)throw new Error(`cannot decode message ${duration3.$typeName} from JSON: ${formatVal(json)}`);let longSeconds=Number(match[1]);if(longSeconds>315576e6||longSeconds<-315576e6)throw new Error(`cannot decode message ${duration3.$typeName} from JSON: ${formatVal(json)}`);if(duration3.seconds=protoInt64.parse(longSeconds),typeof match[2]!="string")return;let nanosStr=match[2]+"0".repeat(9-match[2].length);duration3.nanos=parseInt(nanosStr),(longSeconds<0||Object.is(longSeconds,-0))&&(duration3.nanos=-duration3.nanos)}function fieldMaskFromJson(fieldMask,json){if(typeof json!="string")throw new Error(`cannot decode message ${fieldMask.$typeName} from JSON: ${formatVal(json)}`);json!==""&&(fieldMask.paths=json.split(",").map(path=>{if(path.includes("_"))throw new Error(`cannot decode message ${fieldMask.$typeName} from JSON: path names must be lowerCamelCase`);return protoSnakeCase(path)}))}function structFromJson(struct,json){if(typeof json!="object"||json==null||Array.isArray(json))throw new Error(`cannot decode message ${struct.$typeName} from JSON ${formatVal(json)}`);for(let[k,v]of Object.entries(json)){let parsedV=create(ValueSchema);valueFromJson(parsedV,v),struct.fields[k]=parsedV}}function valueFromJson(value,json){switch(typeof json){case"number":value.kind={case:"numberValue",value:json};break;case"string":value.kind={case:"stringValue",value:json};break;case"boolean":value.kind={case:"boolValue",value:json};break;case"object":if(json===null)value.kind={case:"nullValue",value:NullValue.NULL_VALUE};else if(Array.isArray(json)){let listValue=create(ListValueSchema);listValueFromJson(listValue,json),value.kind={case:"listValue",value:listValue}}else{let struct=create(StructSchema);structFromJson(struct,json),value.kind={case:"structValue",value:struct}}break;default:throw new Error(`cannot decode message ${value.$typeName} from JSON ${formatVal(json)}`)}return value}function listValueFromJson(listValue,json){if(!Array.isArray(json))throw new Error(`cannot decode message ${listValue.$typeName} from JSON ${formatVal(json)}`);for(let e of json){let value=create(ValueSchema);valueFromJson(value,e),listValue.values.push(value)}}function codeToString(value){let name=Code[value];return typeof name!="string"?value.toString():name[0].toLowerCase()+name.substring(1).replace(/[A-Z]/g,c=>"_"+c.toLowerCase())}var ConnectError=class _ConnectError extends Error{constructor(message,code=Code.Unknown,metadata,outgoingDetails,cause){super(createMessage(message,code)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=message,this.code=code,this.metadata=new Headers(metadata??{}),this.details=outgoingDetails??[],this.cause=cause}static from(reason,code=Code.Unknown){return reason instanceof _ConnectError?reason:reason instanceof Error?reason.name=="AbortError"||reason.name=="TimeoutError"?new _ConnectError(reason.message,Code.Canceled):new _ConnectError(reason.message,code,void 0,void 0,reason):new _ConnectError(String(reason),code,void 0,void 0,reason)}static[Symbol.hasInstance](v){return v instanceof Error?Object.getPrototypeOf(v)===_ConnectError.prototype?!0:v.name==="ConnectError"&&"code"in v&&typeof v.code=="number"&&"metadata"in v&&"details"in v&&Array.isArray(v.details)&&"rawMessage"in v&&typeof v.rawMessage=="string"&&"cause"in v:!1}findDetails(typeOrRegistry){let registry2=typeOrRegistry.kind==="message"?{getMessage:typeName=>typeName===typeOrRegistry.typeName?typeOrRegistry:void 0}:typeOrRegistry,details=[];for(let data of this.details){if("desc"in data){registry2.getMessage(data.desc.typeName)&&details.push(create(data.desc,data.value));continue}let desc=registry2.getMessage(data.type);if(desc)try{details.push(fromBinary(desc,data.value))}catch{}}return details}};function createMessage(message,code){return message.length?`[${codeToString(code)}] ${message}`:`[${codeToString(code)}]`}function decodeBinaryHeader(value,desc,options){try{let bytes=base64Decode(value);return desc?fromBinary(desc,bytes,options):bytes}catch(e){throw ConnectError.from(e,Code.DataLoss)}}function makeAnyClient(service,createMethod){let client={};for(let desc of service.methods){let method=createMethod(desc);method!=null&&(client[desc.localName]=method)}return client}var compressedFlag=1;var maxReadMaxBytes=4294967295,maxWriteMaxBytes=maxReadMaxBytes,defaultCompressMinBytes=1024;function validateReadWriteMaxBytes(readMaxBytes,writeMaxBytes,compressMinBytes){if(writeMaxBytes??(writeMaxBytes=maxWriteMaxBytes),readMaxBytes??(readMaxBytes=maxReadMaxBytes),compressMinBytes??(compressMinBytes=defaultCompressMinBytes),writeMaxBytes<1||writeMaxBytes>maxWriteMaxBytes)throw new ConnectError(`writeMaxBytes ${writeMaxBytes} must be >= 1 and <= ${maxWriteMaxBytes}`,Code.Internal);if(readMaxBytes<1||readMaxBytes>maxReadMaxBytes)throw new ConnectError(`readMaxBytes ${readMaxBytes} must be >= 1 and <= ${maxReadMaxBytes}`,Code.Internal);return{readMaxBytes,writeMaxBytes,compressMinBytes}}function assertWriteMaxBytes(writeMaxBytes,bytesWritten){if(bytesWritten>writeMaxBytes)throw new ConnectError(`message size ${bytesWritten} is larger than configured writeMaxBytes ${writeMaxBytes}`,Code.ResourceExhausted)}function assertReadMaxBytes(readMaxBytes,bytesRead,totalSizeKnown=!1){if(bytesRead>readMaxBytes){let message=`message size is larger than configured readMaxBytes ${readMaxBytes}`;throw totalSizeKnown&&(message=`message size ${bytesRead} is larger than configured readMaxBytes ${readMaxBytes}`),new ConnectError(message,Code.ResourceExhausted)}}function createEnvelopeDecoder(readMaxBytes){return new EnvelopeDecoderImpl(readMaxBytes)}var EnvelopeDecoderImpl=class{constructor(readMaxBytes){this.readMaxBytes=readMaxBytes,this.header=new Uint8Array(5),this.headerView=new DataView(this.header.buffer),this.buf=[]}get byteLength(){return this.buf.reduce((a,b)=>a+b.byteLength,0)}decode(chunk){this.buf.push(chunk);let envs=[];for(;;){let env=this.pop();if(!env)break;envs.push(env)}return envs}pop(){if(!(!this.env&&(this.env=this.head(),!this.env))&&this.cons(this.env.data)){let env=this.env;return this.env=void 0,env}}head(){if(!this.cons(this.header))return;let flags=this.headerView.getUint8(0),length=this.headerView.getUint32(1);return assertReadMaxBytes(this.readMaxBytes,length,!0),{flags,data:new Uint8Array(length)}}cons(target){let wantLength=target.byteLength;if(this.byteLength<wantLength)return!1;let offset=0;for(;offset<wantLength;){let chunk=this.buf.shift();chunk.byteLength>wantLength-offset?(target.set(chunk.subarray(0,wantLength-offset),offset),this.buf.unshift(chunk.subarray(wantLength-offset)),offset+=wantLength-offset):(target.set(chunk,offset),offset+=chunk.byteLength)}return!0}};async function envelopeCompress(envelope,compression,compressMinBytes){let{flags,data}=envelope;if((flags&compressedFlag)===compressedFlag)throw new ConnectError("invalid envelope, already compressed",Code.Internal);return compression&&data.byteLength>=compressMinBytes&&(data=await compression.compress(data),flags=flags|compressedFlag),{data,flags}}async function envelopeDecompress(envelope,compression,readMaxBytes){let{flags,data}=envelope;if((flags&compressedFlag)===compressedFlag){if(!compression)throw new ConnectError("received compressed envelope, but do not know how to decompress",Code.Internal);data=await compression.decompress(data,readMaxBytes),flags=flags^compressedFlag}return{data,flags}}function encodeEnvelope(flags,data){let bytes=new Uint8Array(data.length+5);bytes.set(data,5);let v=new DataView(bytes.buffer,bytes.byteOffset,bytes.byteLength);return v.setUint8(0,flags),v.setUint32(1,data.length),bytes}var __asyncValues=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values=="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v2){resolve({value:v2,done:d})},reject)}},__await=function(v){return this instanceof __await?(this.v=v,this):new __await(v)},__asyncGenerator=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){g[n]&&(i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})},f&&(i[n]=f(i[n])))}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}},__asyncDelegator=function(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await(o[n](v)),done:!1}:f?f(v):v}:f}};function pipeTo(source,...rest){let[transforms,sink,opt]=pickTransformsAndSink(rest),iterable=source,abortable;return opt?.propagateDownStreamError===!0&&(iterable=abortable=makeIterableAbortable(iterable)),iterable=pipe2(iterable,...transforms,{propagateDownStreamError:!1}),sink(iterable).catch(reason=>abortable?abortable.abort(reason).then(()=>Promise.reject(reason)):Promise.reject(reason))}function pickTransformsAndSink(rest){let opt;typeof rest[rest.length-1]!="function"&&(opt=rest.pop());let sink=rest.pop();return[rest,sink,opt]}function pipe2(source,...rest){return __asyncGenerator(this,arguments,function*(){var _a;let[transforms,opt]=pickTransforms(rest),abortable,sourceIt=source[Symbol.asyncIterator](),iterable={[Symbol.asyncIterator](){return sourceIt}};opt?.propagateDownStreamError===!0&&(iterable=abortable=makeIterableAbortable(iterable));for(let t of transforms)iterable=t(iterable);let it=iterable[Symbol.asyncIterator]();try{for(;;){let r=yield __await(it.next());if(r.done===!0)break;if(!abortable){yield yield __await(r.value);continue}try{yield yield __await(r.value)}catch(e){throw yield __await(abortable.abort(e)),e}}}finally{opt?.propagateDownStreamError===!0&&((_a=sourceIt.return)===null||_a===void 0||_a.call(sourceIt).catch(()=>{}))}})}function pickTransforms(rest){let opt;return typeof rest[rest.length-1]!="function"&&(opt=rest.pop()),[rest,opt]}function transformSerializeEnvelope(serialization,endStreamFlag,endSerialization){return endStreamFlag===void 0||endSerialization===void 0?function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_4,_b,_c;try{for(var _d=!0,iterable_4=__asyncValues(iterable),iterable_4_1;iterable_4_1=yield __await(iterable_4.next()),_a=iterable_4_1.done,!_a;_d=!0){_c=iterable_4_1.value,_d=!1;let chunk=_c,data=serialization.serialize(chunk);yield yield __await({flags:0,data})}}catch(e_4_1){e_4={error:e_4_1}}finally{try{!_d&&!_a&&(_b=iterable_4.return)&&(yield __await(_b.call(iterable_4)))}finally{if(e_4)throw e_4.error}}})}:function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_5,_b,_c;try{for(var _d=!0,iterable_5=__asyncValues(iterable),iterable_5_1;iterable_5_1=yield __await(iterable_5.next()),_a=iterable_5_1.done,!_a;_d=!0){_c=iterable_5_1.value,_d=!1;let chunk=_c,data,flags=0;chunk.end?(flags=flags|endStreamFlag,data=endSerialization.serialize(chunk.value)):data=serialization.serialize(chunk.value),yield yield __await({flags,data})}}catch(e_5_1){e_5={error:e_5_1}}finally{try{!_d&&!_a&&(_b=iterable_5.return)&&(yield __await(_b.call(iterable_5)))}finally{if(e_5)throw e_5.error}}})}}function transformParseEnvelope(serialization,endStreamFlag,endSerialization){return endSerialization&&endStreamFlag!==void 0?function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_6,_b,_c;try{for(var _d=!0,iterable_6=__asyncValues(iterable),iterable_6_1;iterable_6_1=yield __await(iterable_6.next()),_a=iterable_6_1.done,!_a;_d=!0){_c=iterable_6_1.value,_d=!1;let{flags,data}=_c;(flags&endStreamFlag)===endStreamFlag?yield yield __await({value:endSerialization.parse(data),end:!0}):yield yield __await({value:serialization.parse(data),end:!1})}}catch(e_6_1){e_6={error:e_6_1}}finally{try{!_d&&!_a&&(_b=iterable_6.return)&&(yield __await(_b.call(iterable_6)))}finally{if(e_6)throw e_6.error}}})}:function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_7,_b,_c;try{for(var _d=!0,iterable_7=__asyncValues(iterable),iterable_7_1;iterable_7_1=yield __await(iterable_7.next()),_a=iterable_7_1.done,!_a;_d=!0){_c=iterable_7_1.value,_d=!1;let{flags,data}=_c;if(endStreamFlag!==void 0&&(flags&endStreamFlag)===endStreamFlag){if(endSerialization===null)throw new ConnectError("unexpected end flag",Code.InvalidArgument);continue}yield yield __await(serialization.parse(data))}}catch(e_7_1){e_7={error:e_7_1}}finally{try{!_d&&!_a&&(_b=iterable_7.return)&&(yield __await(_b.call(iterable_7)))}finally{if(e_7)throw e_7.error}}})}}function transformCompressEnvelope(compression,compressMinBytes){return function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_8,_b,_c;try{for(var _d=!0,iterable_8=__asyncValues(iterable),iterable_8_1;iterable_8_1=yield __await(iterable_8.next()),_a=iterable_8_1.done,!_a;_d=!0)_c=iterable_8_1.value,_d=!1,yield yield __await(yield __await(envelopeCompress(_c,compression,compressMinBytes)))}catch(e_8_1){e_8={error:e_8_1}}finally{try{!_d&&!_a&&(_b=iterable_8.return)&&(yield __await(_b.call(iterable_8)))}finally{if(e_8)throw e_8.error}}})}}function transformDecompressEnvelope(compression,readMaxBytes){return function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_9,_b,_c;try{for(var _d=!0,iterable_9=__asyncValues(iterable),iterable_9_1;iterable_9_1=yield __await(iterable_9.next()),_a=iterable_9_1.done,!_a;_d=!0)_c=iterable_9_1.value,_d=!1,yield yield __await(yield __await(envelopeDecompress(_c,compression,readMaxBytes)))}catch(e_9_1){e_9={error:e_9_1}}finally{try{!_d&&!_a&&(_b=iterable_9.return)&&(yield __await(_b.call(iterable_9)))}finally{if(e_9)throw e_9.error}}})}}function transformJoinEnvelopes(){return function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_10,_b,_c;try{for(var _d=!0,iterable_10=__asyncValues(iterable),iterable_10_1;iterable_10_1=yield __await(iterable_10.next()),_a=iterable_10_1.done,!_a;_d=!0){_c=iterable_10_1.value,_d=!1;let{flags,data}=_c;yield yield __await(encodeEnvelope(flags,data))}}catch(e_10_1){e_10={error:e_10_1}}finally{try{!_d&&!_a&&(_b=iterable_10.return)&&(yield __await(_b.call(iterable_10)))}finally{if(e_10)throw e_10.error}}})}}function transformSplitEnvelope(readMaxBytes){return function(iterable){return __asyncGenerator(this,arguments,function*(){var _a,e_11,_b,_c;let buffer=createEnvelopeDecoder(readMaxBytes);try{for(var _d=!0,iterable_11=__asyncValues(iterable),iterable_11_1;iterable_11_1=yield __await(iterable_11.next()),_a=iterable_11_1.done,!_a;_d=!0){_c=iterable_11_1.value,_d=!1;let chunk=_c;for(let env of buffer.decode(chunk))yield yield __await(env)}}catch(e_11_1){e_11={error:e_11_1}}finally{try{!_d&&!_a&&(_b=iterable_11.return)&&(yield __await(_b.call(iterable_11)))}finally{if(e_11)throw e_11.error}}if(buffer.byteLength>0)throw new ConnectError("protocol error: incomplete envelope",Code.InvalidArgument)})}}function makeIterableAbortable(iterable){let innerCandidate=iterable[Symbol.asyncIterator]();if(innerCandidate.throw===void 0)throw new Error("AsyncIterable does not implement throw");let inner=innerCandidate,aborted2,resultPromise,it={next(){return resultPromise=inner.next().finally(()=>{resultPromise=void 0}),resultPromise},throw(e){return inner.throw(e)}};innerCandidate.return!==void 0&&(it=Object.assign(Object.assign({},it),{return(value){return inner.return(value)}}));let used=!1;return{abort(reason){if(aborted2)return aborted2.state;let f=()=>inner.throw(reason).then(r=>r.done===!0?"completed":"caught",()=>"rethrown");return resultPromise?(aborted2={reason,state:resultPromise.then(f,f)},aborted2.state):(aborted2={reason,state:f()},aborted2.state)},[Symbol.asyncIterator](){if(used)throw new Error("AsyncIterable cannot be re-used");return used=!0,it}}}function createAsyncIterable(items){return __asyncGenerator(this,arguments,function*(){yield __await(yield*__asyncDelegator(__asyncValues(items)))})}var __asyncValues2=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values=="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v2){resolve({value:v2,done:d})},reject)}},__await2=function(v){return this instanceof __await2?(this.v=v,this):new __await2(v)},__asyncDelegator2=function(o){var i,p;return i={},verb("next"),verb("throw",function(e){throw e}),verb("return"),i[Symbol.iterator]=function(){return this},i;function verb(n,f){i[n]=o[n]?function(v){return(p=!p)?{value:__await2(o[n](v)),done:!1}:f?f(v):v}:f}},__asyncGenerator2=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){g[n]&&(i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})},f&&(i[n]=f(i[n])))}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await2?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}};function createClient(service,transport){return makeAnyClient(service,method=>{switch(method.methodKind){case"unary":return createUnaryFn(transport,method);case"server_streaming":return createServerStreamingFn(transport,method);case"client_streaming":return createClientStreamingFn(transport,method);case"bidi_streaming":return createBiDiStreamingFn(transport,method);default:return null}})}function createUnaryFn(transport,method){return async(input,options)=>{var _a,_b;let response=await transport.unary(method,options?.signal,options?.timeoutMs,options?.headers,input,options?.contextValues);return(_a=options?.onHeader)===null||_a===void 0||_a.call(options,response.header),(_b=options?.onTrailer)===null||_b===void 0||_b.call(options,response.trailer),response.message}}function createServerStreamingFn(transport,method){return(input,options)=>handleStreamResponse(transport.stream(method,options?.signal,options?.timeoutMs,options?.headers,createAsyncIterable([input]),options?.contextValues),options)}function createClientStreamingFn(transport,method){return async(request3,options)=>{var _a,e_1,_b,_c,_d,_e;let response=await transport.stream(method,options?.signal,options?.timeoutMs,options?.headers,request3,options?.contextValues);(_d=options?.onHeader)===null||_d===void 0||_d.call(options,response.header);let singleMessage,count=0;try{for(var _f=!0,_g=__asyncValues2(response.message),_h;_h=await _g.next(),_a=_h.done,!_a;_f=!0)_c=_h.value,_f=!1,singleMessage=_c,count++}catch(e_1_1){e_1={error:e_1_1}}finally{try{!_f&&!_a&&(_b=_g.return)&&await _b.call(_g)}finally{if(e_1)throw e_1.error}}if(!singleMessage)throw new ConnectError("protocol error: missing response message",Code.Unimplemented);if(count>1)throw new ConnectError("protocol error: received extra messages for client streaming method",Code.Unimplemented);return(_e=options?.onTrailer)===null||_e===void 0||_e.call(options,response.trailer),singleMessage}}function createBiDiStreamingFn(transport,method){return(request3,options)=>handleStreamResponse(transport.stream(method,options?.signal,options?.timeoutMs,options?.headers,request3,options?.contextValues),options)}function handleStreamResponse(stream,options){let it=(function(){return __asyncGenerator2(this,arguments,function*(){var _a,_b;let response=yield __await2(stream);(_a=options?.onHeader)===null||_a===void 0||_a.call(options,response.header),yield __await2(yield*__asyncDelegator2(__asyncValues2(response.message))),(_b=options?.onTrailer)===null||_b===void 0||_b.call(options,response.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>it.next()})}}function createLinkedAbortController(...signals){let controller=new AbortController,sa=signals.filter(s=>s!==void 0).concat(controller.signal);for(let signal of sa){if(signal.aborted){onAbort.apply(signal);break}signal.addEventListener("abort",onAbort)}function onAbort(){controller.signal.aborted||controller.abort(getAbortSignalReason(this));for(let signal of sa)signal.removeEventListener("abort",onAbort)}return controller}function createDeadlineSignal(timeoutMs){let controller=new AbortController,listener=()=>{controller.abort(new ConnectError("the operation timed out",Code.DeadlineExceeded))},timeoutId;return timeoutMs!==void 0&&(timeoutMs<=0?listener():timeoutId=setTimeout(listener,timeoutMs)),{signal:controller.signal,cleanup:()=>clearTimeout(timeoutId)}}function getAbortSignalReason(signal){if(!signal.aborted)return;if(signal.reason!==void 0)return signal.reason;let e=new Error("This operation was aborted");return e.name="AbortError",e}function createContextValues(){return{get(key){return key.id in this?this[key.id]:key.defaultValue},set(key,value){return this[key.id]=value,this},delete(key){return delete this[key.id],this}}}function trailerParse(data){let headers=new Headers,lines=new TextDecoder().decode(data).split(`\r
|
|
197
|
+
`);for(let line of lines){if(line==="")continue;let i=line.indexOf(":");if(i>0){let name=line.substring(0,i).trim(),value=line.substring(i+1).trim();headers.append(name,value)}}return headers}function trailerSerialize(trailer){let lines=[];return trailer.forEach((value,key)=>{lines.push(`${key}: ${value}\r
|
|
198
|
+
`)}),new TextEncoder().encode(lines.join(""))}function createTrailerSerialization(){return{serialize:trailerSerialize,parse:trailerParse}}var headerContentType="Content-Type",headerEncoding="Grpc-Encoding",headerAcceptEncoding="Grpc-Accept-Encoding",headerTimeout="Grpc-Timeout",headerGrpcStatus="Grpc-Status",headerGrpcMessage="Grpc-Message",headerStatusDetailsBin="Grpc-Status-Details-Bin";var headerUserAgent="User-Agent";var headerXUserAgent="X-User-Agent",headerXGrpcWeb="X-Grpc-Web";var contentTypeProto="application/grpc-web+proto",contentTypeJson="application/grpc-web+json";var file_status=fileDesc("CgxzdGF0dXMucHJvdG8SCmdvb2dsZS5ycGMiTgoGU3RhdHVzEgwKBGNvZGUYASABKAUSDwoHbWVzc2FnZRgCIAEoCRIlCgdkZXRhaWxzGAMgAygLMhQuZ29vZ2xlLnByb3RvYnVmLkFueUJeCg5jb20uZ29vZ2xlLnJwY0ILU3RhdHVzUHJvdG9QAVo3Z29vZ2xlLmdvbGFuZy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9ycGMvc3RhdHVzO3N0YXR1c6ICA1JQQ2IGcHJvdG8z",[file_google_protobuf_any]),StatusSchema=messageDesc(file_status,0);var grpcStatusOk="0";function findTrailerError(headerOrTrailer){var _a;let statusBytes=headerOrTrailer.get(headerStatusDetailsBin);if(statusBytes!=null){let status=decodeBinaryHeader(statusBytes,StatusSchema);if(status.code==0)return;let error3=new ConnectError(status.message,status.code,headerOrTrailer);return error3.details=status.details.map(any=>({type:any.typeUrl.substring(any.typeUrl.lastIndexOf("/")+1),value:any.value})),error3}let grpcStatus=headerOrTrailer.get(headerGrpcStatus);if(grpcStatus!=null){if(grpcStatus===grpcStatusOk)return;let code=parseInt(grpcStatus,10);return code in Code?new ConnectError(decodeURIComponent((_a=headerOrTrailer.get(headerGrpcMessage))!==null&&_a!==void 0?_a:""),code,headerOrTrailer):new ConnectError(`invalid grpc-status: ${grpcStatus}`,Code.Internal,headerOrTrailer)}}function createMethodUrl(baseUrl,method){return baseUrl.toString().replace(/\/?$/,`/${method.parent.typeName}/${method.name}`)}function normalize(desc,message){return create(desc,message)}function normalizeIterable(desc,input){function transform2(result){return result.done===!0?result:{done:result.done,value:normalize(desc,result.value)}}return{[Symbol.asyncIterator](){let it=input[Symbol.asyncIterator](),res={next:()=>it.next().then(transform2)};return it.throw!==void 0&&(res.throw=e=>it.throw(e).then(transform2)),it.return!==void 0&&(res.return=v=>it.return(v).then(transform2)),res}}}function applyInterceptors(next,interceptors){if(!interceptors)return next;for(let i of interceptors.concat().reverse())next=i(next);return next}function getJsonOptions(options){var _a;let o=Object.assign({},options);return(_a=o.ignoreUnknownFields)!==null&&_a!==void 0||(o.ignoreUnknownFields=!0),o}function createMethodSerializationLookup(method,binaryOptions,jsonOptions,limitOptions){let inputBinary=limitSerialization(createBinarySerialization(method.input,binaryOptions),limitOptions),inputJson=limitSerialization(createJsonSerialization(method.input,jsonOptions),limitOptions),outputBinary=limitSerialization(createBinarySerialization(method.output,binaryOptions),limitOptions),outputJson=limitSerialization(createJsonSerialization(method.output,jsonOptions),limitOptions);return{getI(useBinaryFormat){return useBinaryFormat?inputBinary:inputJson},getO(useBinaryFormat){return useBinaryFormat?outputBinary:outputJson}}}function limitSerialization(serialization,limitOptions){return{serialize(data){let bytes=serialization.serialize(data);return assertWriteMaxBytes(limitOptions.writeMaxBytes,bytes.byteLength),bytes},parse(data){return assertReadMaxBytes(limitOptions.readMaxBytes,data.byteLength,!0),serialization.parse(data)}}}function createBinarySerialization(desc,options){return{parse(data){try{return fromBinary(desc,data,options)}catch(e){let m=e instanceof Error?e.message:String(e);throw new ConnectError(`parse binary: ${m}`,Code.Internal)}},serialize(data){try{return toBinary(desc,data,options)}catch(e){let m=e instanceof Error?e.message:String(e);throw new ConnectError(`serialize binary: ${m}`,Code.Internal)}}}}function createJsonSerialization(desc,options){var _a,_b;let textEncoder=(_a=options?.textEncoder)!==null&&_a!==void 0?_a:new TextEncoder,textDecoder=(_b=options?.textDecoder)!==null&&_b!==void 0?_b:new TextDecoder,o=getJsonOptions(options);return{parse(data){try{let json=textDecoder.decode(data);return fromJsonString(desc,json,o)}catch(e){throw ConnectError.from(e,Code.InvalidArgument)}},serialize(data){try{let json=toJsonString(desc,data,o);return textEncoder.encode(json)}catch(e){throw ConnectError.from(e,Code.Internal)}}}}function runUnaryCall(opt){let next=applyInterceptors(opt.next,opt.interceptors),[signal,abort,done]=setupSignal(opt),req=Object.assign(Object.assign({},opt.req),{message:normalize(opt.req.method.input,opt.req.message),signal});return next(req).then(res=>(done(),res),abort)}function runStreamingCall(opt){let next=applyInterceptors(opt.next,opt.interceptors),[signal,abort,done]=setupSignal(opt),req=Object.assign(Object.assign({},opt.req),{message:normalizeIterable(opt.req.method.input,opt.req.message),signal}),doneCalled=!1;return signal.addEventListener("abort",function(){var _a,_b;let it=opt.req.message[Symbol.asyncIterator]();doneCalled||(_a=it.throw)===null||_a===void 0||_a.call(it,this.reason).catch(()=>{}),(_b=it.return)===null||_b===void 0||_b.call(it).catch(()=>{})}),next(req).then(res=>Object.assign(Object.assign({},res),{message:{[Symbol.asyncIterator](){let it=res.message[Symbol.asyncIterator]();return{next(){return it.next().then(r=>(r.done==!0&&(doneCalled=!0,done()),r),abort)}}}}}),abort)}function setupSignal(opt){let{signal,cleanup}=createDeadlineSignal(opt.timeoutMs),controller=createLinkedAbortController(opt.signal,signal);return[controller.signal,function(reason){let e=ConnectError.from(signal.aborted?getAbortSignalReason(signal):reason);return controller.abort(e),cleanup(),Promise.reject(e)},function(){cleanup(),controller.abort()}]}function validateTrailer(trailer,header){let err=findTrailerError(trailer);if(err)throw header.forEach((value,key)=>{err.metadata.append(key,value)}),err;if(!header.has(headerGrpcStatus)&&!trailer.has(headerGrpcStatus))throw new ConnectError("protocol error: missing status",Code.Internal)}function requestHeader(useBinaryFormat,timeoutMs,userProvidedHeaders,setUserAgent){var _a,_b;let result=new Headers(userProvidedHeaders??{});result.set(headerContentType,useBinaryFormat?contentTypeProto:contentTypeJson),result.set(headerXGrpcWeb,"1");let userAgent=(_b=(_a=result.get(headerUserAgent))!==null&&_a!==void 0?_a:result.get(headerXUserAgent))!==null&&_b!==void 0?_b:"connect-es/2.1.1";return result.set(headerXUserAgent,userAgent),setUserAgent&&result.set(headerUserAgent,userAgent),timeoutMs!==void 0&&result.set(headerTimeout,`${timeoutMs}m`),result}function requestHeaderWithCompression(useBinaryFormat,timeoutMs,userProvidedHeaders,acceptCompression,sendCompression,setUserAgent){let result=requestHeader(useBinaryFormat,timeoutMs,userProvidedHeaders,setUserAgent);return sendCompression!=null&&result.set(headerEncoding,sendCompression.name),acceptCompression.length>0&&result.set(headerAcceptEncoding,acceptCompression.map(c=>c.name).join(",")),result}function codeFromHttpStatus(httpStatus){switch(httpStatus){case 400:return Code.Internal;case 401:return Code.Unauthenticated;case 403:return Code.PermissionDenied;case 404:return Code.Unimplemented;case 429:return Code.Unavailable;case 502:return Code.Unavailable;case 503:return Code.Unavailable;case 504:return Code.Unavailable;default:return Code.Unknown}}function validateResponse(status,headers){var _a;if(status>=200&&status<300)return{foundStatus:headers.has(headerGrpcStatus),headerError:findTrailerError(headers)};throw new ConnectError(decodeURIComponent((_a=headers.get(headerGrpcMessage))!==null&&_a!==void 0?_a:`HTTP ${status}`),codeFromHttpStatus(status),headers)}function validateResponseWithCompression(acceptCompression,status,headers){let{foundStatus,headerError}=validateResponse(status,headers),compression,encoding=headers.get(headerEncoding);if(encoding!==null&&encoding.toLowerCase()!=="identity"&&(compression=acceptCompression.find(c=>c.name===encoding),!compression))throw new ConnectError(`unsupported response encoding "${encoding}"`,Code.Internal,headers);return{foundStatus,compression,headerError}}var __asyncValues3=function(o){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var m=o[Symbol.asyncIterator],i;return m?m.call(o):(o=typeof __values=="function"?__values(o):o[Symbol.iterator](),i={},verb("next"),verb("throw"),verb("return"),i[Symbol.asyncIterator]=function(){return this},i);function verb(n){i[n]=o[n]&&function(v){return new Promise(function(resolve,reject){v=o[n](v),settle(resolve,reject,v.done,v.value)})}}function settle(resolve,reject,d,v){Promise.resolve(v).then(function(v2){resolve({value:v2,done:d})},reject)}},__await3=function(v){return this instanceof __await3?(this.v=v,this):new __await3(v)},__asyncGenerator3=function(thisArg,_arguments,generator){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var g=generator.apply(thisArg,_arguments||[]),i,q=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),verb("next"),verb("throw"),verb("return",awaitReturn),i[Symbol.asyncIterator]=function(){return this},i;function awaitReturn(f){return function(v){return Promise.resolve(v).then(f,reject)}}function verb(n,f){g[n]&&(i[n]=function(v){return new Promise(function(a,b){q.push([n,v,a,b])>1||resume(n,v)})},f&&(i[n]=f(i[n])))}function resume(n,v){try{step(g[n](v))}catch(e){settle(q[0][3],e)}}function step(r){r.value instanceof __await3?Promise.resolve(r.value.v).then(fulfill,reject):settle(q[0][2],r)}function fulfill(value){resume("next",value)}function reject(value){resume("throw",value)}function settle(f,v){f(v),q.shift(),q.length&&resume(q[0][0],q[0][1])}};function createTransport(opt){return{async unary(method,signal,timeoutMs,header,message,contextValues){let serialization=createMethodSerializationLookup(method,opt.binaryOptions,opt.jsonOptions,opt);return timeoutMs=timeoutMs===void 0?opt.defaultTimeoutMs:timeoutMs<=0?void 0:timeoutMs,await runUnaryCall({interceptors:opt.interceptors,signal,timeoutMs,req:{stream:!1,service:method.parent,method,requestMethod:"POST",url:createMethodUrl(opt.baseUrl,method),header:requestHeaderWithCompression(opt.useBinaryFormat,timeoutMs,header,opt.acceptCompression,opt.sendCompression,!0),contextValues:contextValues??createContextValues(),message},next:async req=>{let uRes=await opt.httpClient({url:req.url,method:req.requestMethod,header:req.header,signal:req.signal,body:pipe2(createAsyncIterable([req.message]),transformSerializeEnvelope(serialization.getI(opt.useBinaryFormat)),transformCompressEnvelope(opt.sendCompression,opt.compressMinBytes),transformJoinEnvelopes(),{propagateDownStreamError:!0})}),{compression,headerError}=validateResponseWithCompression(opt.acceptCompression,uRes.status,uRes.header),{trailer,message:message2}=await pipeTo(uRes.body,transformSplitEnvelope(opt.readMaxBytes),transformDecompressEnvelope(compression??null,opt.readMaxBytes),transformParseEnvelope(serialization.getO(opt.useBinaryFormat),128,createTrailerSerialization()),async iterable=>{var _a,e_1,_b,_c;let message3,trailer2;try{for(var _d=!0,iterable_1=__asyncValues3(iterable),iterable_1_1;iterable_1_1=await iterable_1.next(),_a=iterable_1_1.done,!_a;_d=!0){_c=iterable_1_1.value,_d=!1;let env=_c;if(env.end){if(trailer2!==void 0)throw new ConnectError("protocol error: received extra trailer",Code.Unimplemented);trailer2=env.value}else{if(message3!==void 0)throw new ConnectError("protocol error: received extra output message for unary method",Code.Unimplemented);message3=env.value}}}catch(e_1_1){e_1={error:e_1_1}}finally{try{!_d&&!_a&&(_b=iterable_1.return)&&await _b.call(iterable_1)}finally{if(e_1)throw e_1.error}}return{trailer:trailer2,message:message3}},{propagateDownStreamError:!1});if(trailer===void 0)throw headerError??new ConnectError("protocol error: missing trailer",uRes.header.has(headerGrpcStatus)?Code.Unimplemented:Code.Unknown);if(validateTrailer(trailer,uRes.header),message2===void 0)throw new ConnectError("protocol error: missing output message for unary method",trailer.has(headerGrpcStatus)?Code.Unimplemented:Code.Unknown);return{stream:!1,service:method.parent,method,header:uRes.header,message:message2,trailer}}})},async stream(method,signal,timeoutMs,header,input,contextValues){let serialization=createMethodSerializationLookup(method,opt.binaryOptions,opt.jsonOptions,opt);return timeoutMs=timeoutMs===void 0?opt.defaultTimeoutMs:timeoutMs<=0?void 0:timeoutMs,runStreamingCall({interceptors:opt.interceptors,signal,timeoutMs,req:{stream:!0,service:method.parent,method,requestMethod:"POST",url:createMethodUrl(opt.baseUrl,method),header:requestHeaderWithCompression(opt.useBinaryFormat,timeoutMs,header,opt.acceptCompression,opt.sendCompression,!0),contextValues:contextValues??createContextValues(),message:input},next:async req=>{let uRes=await opt.httpClient({url:req.url,method:req.requestMethod,header:req.header,signal:req.signal,body:pipe2(req.message,transformSerializeEnvelope(serialization.getI(opt.useBinaryFormat)),transformCompressEnvelope(opt.sendCompression,opt.compressMinBytes),transformJoinEnvelopes(),{propagateDownStreamError:!0})}),{compression,foundStatus,headerError}=validateResponseWithCompression(opt.acceptCompression,uRes.status,uRes.header);if(headerError)throw headerError;let res=Object.assign(Object.assign({},req),{header:uRes.header,trailer:new Headers,message:pipe2(uRes.body,transformSplitEnvelope(opt.readMaxBytes),transformDecompressEnvelope(compression??null,opt.readMaxBytes),transformParseEnvelope(serialization.getO(opt.useBinaryFormat),128,createTrailerSerialization()),function(iterable){return __asyncGenerator3(this,arguments,function*(){var _a,e_2,_b,_c;if(foundStatus){if((yield __await3(iterable[Symbol.asyncIterator]().next())).done!==!0)throw new ConnectError("protocol error: extra data for trailers-only",Code.InvalidArgument);return yield __await3(void 0)}let trailerReceived=!1;try{for(var _d=!0,iterable_2=__asyncValues3(iterable),iterable_2_1;iterable_2_1=yield __await3(iterable_2.next()),_a=iterable_2_1.done,!_a;_d=!0){_c=iterable_2_1.value,_d=!1;let chunk=_c;if(chunk.end){if(trailerReceived)throw new ConnectError("protocol error: received extra trailer",Code.InvalidArgument);trailerReceived=!0,validateTrailer(chunk.value,uRes.header),chunk.value.forEach((value,key)=>res.trailer.set(key,value));continue}if(trailerReceived)throw new ConnectError("protocol error: received extra message after trailer",Code.InvalidArgument);yield yield __await3(chunk.value)}}catch(e_2_1){e_2={error:e_2_1}}finally{try{!_d&&!_a&&(_b=iterable_2.return)&&(yield __await3(_b.call(iterable_2)))}finally{if(e_2)throw e_2.error}}if(!trailerReceived)throw new ConnectError("protocol error: missing trailer",Code.Internal)})},{propagateDownStreamError:!0})});return res}})}}}import*as zlib from"node:zlib";import{promisify}from"node:util";function connectErrorFromNodeReason(reason){let code=Code.Internal,chain=unwrapNodeErrorChain(reason).map(getNodeErrorProps);chain.some(p=>p.code=="ERR_STREAM_WRITE_AFTER_END")?code=Code.Aborted:chain.some(p=>p.code=="ERR_STREAM_DESTROYED"||p.code=="ERR_HTTP2_INVALID_STREAM"||p.code=="ECONNRESET")?code=Code.Aborted:chain.some(p=>p.code=="ETIMEDOUT"||p.code=="ENOTFOUND"||p.code=="EAI_AGAIN"||p.code=="ECONNREFUSED")&&(code=Code.Unavailable);let ce=ConnectError.from(reason,code);return ce!==reason&&(ce.cause=reason),ce}function unwrapNodeErrorChain(reason){let chain=[];for(;!(!(reason instanceof Error)||chain.includes(reason)||(chain.push(reason),!("cause"in reason)));)reason=reason.cause;return chain}function getNodeErrorProps(reason){let props={};return reason instanceof Error&&("code"in reason&&typeof reason.code=="string"&&(props.code=reason.code),"syscall"in reason&&typeof reason.syscall=="string"&&(props.syscall=reason.syscall)),props}function connectErrorFromH2ResetCode(rstCode){switch(rstCode){case H2Code.PROTOCOL_ERROR:case H2Code.INTERNAL_ERROR:case H2Code.FLOW_CONTROL_ERROR:case H2Code.SETTINGS_TIMEOUT:case H2Code.FRAME_SIZE_ERROR:case H2Code.COMPRESSION_ERROR:case H2Code.CONNECT_ERROR:return new ConnectError(`http/2 stream closed with error code ${H2Code[rstCode]} (0x${rstCode.toString(16)})`,Code.Internal);case H2Code.REFUSED_STREAM:return new ConnectError(`http/2 stream closed with error code ${H2Code[rstCode]} (0x${rstCode.toString(16)})`,Code.Unavailable);case H2Code.CANCEL:return new ConnectError(`http/2 stream closed with error code ${H2Code[rstCode]} (0x${rstCode.toString(16)})`,Code.Canceled);case H2Code.ENHANCE_YOUR_CALM:return new ConnectError(`http/2 stream closed with error code ${H2Code[rstCode]} (0x${rstCode.toString(16)})`,Code.ResourceExhausted);case H2Code.INADEQUATE_SECURITY:return new ConnectError(`http/2 stream closed with error code ${H2Code[rstCode]} (0x${rstCode.toString(16)})`,Code.PermissionDenied);case H2Code.HTTP_1_1_REQUIRED:return new ConnectError(`http/2 stream closed with error code ${H2Code[rstCode]} (0x${rstCode.toString(16)})`,Code.PermissionDenied);default:break}}var H2Code;(function(H2Code2){H2Code2[H2Code2.PROTOCOL_ERROR=1]="PROTOCOL_ERROR",H2Code2[H2Code2.INTERNAL_ERROR=2]="INTERNAL_ERROR",H2Code2[H2Code2.FLOW_CONTROL_ERROR=3]="FLOW_CONTROL_ERROR",H2Code2[H2Code2.SETTINGS_TIMEOUT=4]="SETTINGS_TIMEOUT",H2Code2[H2Code2.STREAM_CLOSED=5]="STREAM_CLOSED",H2Code2[H2Code2.FRAME_SIZE_ERROR=6]="FRAME_SIZE_ERROR",H2Code2[H2Code2.REFUSED_STREAM=7]="REFUSED_STREAM",H2Code2[H2Code2.CANCEL=8]="CANCEL",H2Code2[H2Code2.COMPRESSION_ERROR=9]="COMPRESSION_ERROR",H2Code2[H2Code2.CONNECT_ERROR=10]="CONNECT_ERROR",H2Code2[H2Code2.ENHANCE_YOUR_CALM=11]="ENHANCE_YOUR_CALM",H2Code2[H2Code2.INADEQUATE_SECURITY=12]="INADEQUATE_SECURITY",H2Code2[H2Code2.HTTP_1_1_REQUIRED=13]="HTTP_1_1_REQUIRED"})(H2Code||(H2Code={}));var gzip2=promisify(zlib.gzip),gunzip2=promisify(zlib.gunzip),brotliCompress2=promisify(zlib.brotliCompress),brotliDecompress2=promisify(zlib.brotliDecompress),compressionGzip={name:"gzip",compress(bytes){return asUint8ArrayArrayBuffer(gzip2(bytes,{}))},decompress(bytes,readMaxBytes){return bytes.length==0?Promise.resolve(new Uint8Array(0)):asUint8ArrayArrayBuffer(wrapZLibErrors(gunzip2(bytes,{maxOutputLength:readMaxBytes}),readMaxBytes))}},compressionBrotli={name:"br",compress(bytes){return asUint8ArrayArrayBuffer(brotliCompress2(bytes,{}))},decompress(bytes,readMaxBytes){return bytes.length==0?Promise.resolve(new Uint8Array(0)):asUint8ArrayArrayBuffer(wrapZLibErrors(brotliDecompress2(bytes,{maxOutputLength:readMaxBytes}),readMaxBytes))}};function asUint8ArrayArrayBuffer(bytes){return bytes.then(b=>b.buffer instanceof ArrayBuffer?b:new Uint8Array(b))}function wrapZLibErrors(promise,readMaxBytes){return promise.catch(e=>{var _a;let props=getNodeErrorProps(e),code=Code.Internal,message="decompression failed";switch(props.code){case"ERR_BUFFER_TOO_LARGE":code=Code.ResourceExhausted,message=`message is larger than configured readMaxBytes ${readMaxBytes} after decompression`;break;case"Z_DATA_ERROR":case"ERR_PADDING_2":code=Code.InvalidArgument;break;default:!((_a=props.code)===null||_a===void 0)&&_a.startsWith("ERR__ERROR_FORMAT_")&&(code=Code.InvalidArgument);break}return Promise.reject(new ConnectError(message,code,void 0,void 0,e))})}import*as http from"node:http";import*as https from"node:https";function nodeHeaderToWebHeader(nodeHeaders){let header=new Headers;for(let[k,v]of Object.entries(nodeHeaders))if(!k.startsWith(":")&&v!==void 0)if(typeof v=="string")header.append(k,v);else if(typeof v=="number")header.append(k,String(v));else for(let e of v)header.append(k,e);return header}function webHeaderToNodeHeaders(headersInit,defaultNodeHeaders){if(headersInit===void 0&&defaultNodeHeaders===void 0)return;let o=Object.create(null);if(defaultNodeHeaders!==void 0)if(Array.isArray(defaultNodeHeaders))for(let i=0;i+1<defaultNodeHeaders.length;i+=2){let key=defaultNodeHeaders[i],value=defaultNodeHeaders[i+1];Array.isArray(o[key])?o[key].push(value):typeof o[key]=="string"?o[key]=[o[key],value]:o[key]=value}else for(let[key,value]of Object.entries(defaultNodeHeaders))Array.isArray(value)?o[key]=value.concat():value!==void 0&&(o[key]=value);if(headersInit!==void 0)if(Array.isArray(headersInit))for(let[key,value]of headersInit)appendWebHeader(o,key,value);else if("forEach"in headersInit)typeof headersInit.forEach=="function"&&headersInit.forEach((value,key)=>{appendWebHeader(o,key,value)});else for(let[key,value]of Object.entries(headersInit))appendWebHeader(o,key,value);return o}function appendWebHeader(o,key,value){key=key.toLowerCase();let existing=o[key];Array.isArray(existing)?existing.push(value):existing===void 0?o[key]=value:o[key]=[existing.toString(),value]}import*as http2 from"node:http2";var Http2SessionManager=class{state(){return this.s.t=="ready"?this.verifying!==void 0?"verifying":this.s.streamCount()>0?"open":"idle":this.s.t}error(){if(this.s.t=="error")return this.s.reason}constructor(url,pingOptions,http2SessionOptions){var _a,_b,_c,_d;this.s=closed(),this.shuttingDown=[],this.authority=new URL(url).origin,this.http2SessionOptions=http2SessionOptions,this.options={pingIntervalMs:(_a=pingOptions?.pingIntervalMs)!==null&&_a!==void 0?_a:Number.POSITIVE_INFINITY,pingTimeoutMs:(_b=pingOptions?.pingTimeoutMs)!==null&&_b!==void 0?_b:1e3*15,pingIdleConnection:(_c=pingOptions?.pingIdleConnection)!==null&&_c!==void 0?_c:!1,idleConnectionTimeoutMs:(_d=pingOptions?.idleConnectionTimeoutMs)!==null&&_d!==void 0?_d:1e3*60*15}}async connect(){try{return(await this.gotoReady()).streamCount()>0?"open":"idle"}catch{return"error"}}async request(method,path,headers,options){for(;;){let ready2=await this.gotoReady();try{let stream=ready2.conn.request(Object.assign(Object.assign({},headers),{":method":method,":path":path}),options);return ready2.registerRequest(stream),stream}catch(e){if(ready2.conn.closed||ready2.conn.destroyed)continue;throw e}}}notifyResponseByteRead(stream){this.s.t=="ready"&&this.s.responseByteRead(stream);for(let s of this.shuttingDown)s.responseByteRead(stream)}abort(reason){var _a,_b,_c;let err=reason??new ConnectError("connection aborted",Code.Canceled);(_b=(_a=this.s).abort)===null||_b===void 0||_b.call(_a,err);for(let s of this.shuttingDown)(_c=s.abort)===null||_c===void 0||_c.call(s,err);this.setState(closedOrError(err))}async gotoReady(){for(this.s.t=="ready"?this.s.isShuttingDown()||this.s.conn.closed||this.s.conn.destroyed?this.setState(connect2(this.authority,this.http2SessionOptions)):this.s.requiresVerify()&&await this.verify(this.s):(this.s.t=="closed"||this.s.t=="error")&&this.setState(connect2(this.authority,this.http2SessionOptions));this.s.t!=="ready";){if(this.s.t==="error")throw this.s.reason;this.s.t==="connecting"&&await this.s.conn}return this.s}setState(state){var _a,_b;if((_b=(_a=this.s).onExitState)===null||_b===void 0||_b.call(_a),this.s.t=="ready"&&this.s.isShuttingDown()){let sd=this.s;this.shuttingDown.push(sd),sd.onClose=sd.onError=()=>{let i=this.shuttingDown.indexOf(sd);i!==-1&&this.shuttingDown.splice(i,1)}}switch(state.t){case"connecting":state.conn.then(value=>{this.setState(ready(value,this.options))},reason=>{this.setState(closedOrError(reason))});break;case"ready":state.onClose=()=>this.setState(closed()),state.onError=err=>this.setState(closedOrError(err));break;case"closed":break;case"error":break}this.s=state}verify(stateReady){return this.verifying!==void 0?this.verifying:(this.verifying=stateReady.verify().then(success=>{success||this.setState(connect2(this.authority,this.http2SessionOptions))},reason=>{this.setState(closedOrError(reason))}).finally(()=>{this.verifying=void 0}),this.verifying)}};function closed(){return{t:"closed"}}function error2(reason){return{t:"error",reason}}function closedOrError(reason){return reason instanceof ConnectError&&ConnectError.from(reason).code==Code.Canceled?closed():error2(reason)}function connect2(authority,http2SessionOptions){let resolve,reject,conn=new Promise((res,rej)=>{resolve=res,reject=rej}),newConn=http2.connect(authority,http2SessionOptions);newConn.on("connect",onConnect),newConn.on("error",onError);function onConnect(){resolve?.(newConn),cleanup()}function onError(err){reject?.(connectErrorFromNodeReason(err)),cleanup()}function cleanup(){newConn.off("connect",onConnect),newConn.off("error",onError)}return{t:"connecting",conn,abort(reason){newConn.destroyed||newConn.destroy(void 0,http2.constants.NGHTTP2_CANCEL),reject?.(reason)},onExitState(){cleanup()}}}function ready(conn,options){assertSessionOpen(conn),conn.unref();let lastAliveAt=Date.now(),streamCount=0,pingIntervalId,pingTimeoutId,receivedGoAway=!1,receivedGoAwayEnhanceYourCalmTooManyPings=!1,idleTimeoutId;resetIdleTimeout();let state={t:"ready",conn,streamCount(){return streamCount},requiresVerify(){return Date.now()-lastAliveAt>options.pingIntervalMs},isShuttingDown(){return receivedGoAway},onClose:void 0,onError:void 0,registerRequest(stream){streamCount++,streamCount==1&&(conn.ref(),resetPingInterval(),stopIdleTimeout()),stream.once("response",()=>{lastAliveAt=Date.now(),resetPingInterval()}),stream.once("close",()=>{streamCount--,streamCount==0&&(conn.unref(),resetPingInterval(),resetIdleTimeout())})},responseByteRead(stream){stream.session===conn&&(conn.closed||conn.destroyed||streamCount<=0||(lastAliveAt=Date.now(),resetPingInterval()))},verify(){return conn.ref(),new Promise(resolve=>{let onError2=()=>{resolve(!1)};commonPing(()=>{streamCount==0&&conn.unref(),conn.off("error",onError2),resolve(!0)}),conn.once("error",onError2)})},abort(reason){conn.destroyed||(conn.once("error",()=>{}),conn.destroy(reason,http2.constants.NGHTTP2_CANCEL))},onExitState(){state.isShuttingDown()||(cleanup(),this.onError=void 0,this.onClose=void 0)}};function resetPingInterval(){stopPingInterval(),(streamCount>0||options.pingIdleConnection)&&(pingIntervalId=safeSetTimeout(onPingInterval,options.pingIntervalMs))}function stopPingInterval(){clearTimeout(pingIntervalId),clearTimeout(pingTimeoutId)}function onPingInterval(){commonPing(resetPingInterval)}function commonPing(onSuccess){clearTimeout(pingTimeoutId),pingTimeoutId=safeSetTimeout(()=>{conn.destroy(new ConnectError("PING timed out",Code.Unavailable),http2.constants.NGHTTP2_CANCEL)},options.pingTimeoutMs),conn.ping((err,duration3)=>{if(clearTimeout(pingTimeoutId),err===null){if(duration3>options.pingTimeoutMs){conn.destroy(new ConnectError("PING timed out",Code.Unavailable),http2.constants.NGHTTP2_CANCEL);return}lastAliveAt=Date.now(),onSuccess()}})}function stopIdleTimeout(){clearTimeout(idleTimeoutId)}function resetIdleTimeout(){idleTimeoutId=safeSetTimeout(onIdleTimeout,options.idleConnectionTimeoutMs)}function onIdleTimeout(){conn.close(),onClose()}function onGoaway(errorCode,lastStreamID,opaqueData){if(errorCode===http2.constants.NGHTTP2_NO_ERROR&&streamCount===0){conn.destroy(new ConnectError("received GOAWAY without any open streams",Code.Canceled),http2.constants.NGHTTP2_NO_ERROR);return}receivedGoAway=!0;let tooManyPingsAscii=Buffer.from("too_many_pings","ascii");opaqueData?.equals(tooManyPingsAscii)&&(options.pingIntervalMs=options.pingIntervalMs*2,receivedGoAwayEnhanceYourCalmTooManyPings=!0)}function onClose(){var _a;cleanup(),(_a=state.onClose)===null||_a===void 0||_a.call(state)}function onError(err){var _a,_b;if(cleanup(),receivedGoAwayEnhanceYourCalmTooManyPings){let ce=new ConnectError(`http/2 connection closed with error code ENHANCE_YOUR_CALM (0x${http2.constants.NGHTTP2_ENHANCE_YOUR_CALM.toString(16)}), too_many_pings, doubled the interval`,Code.ResourceExhausted);(_a=state.onError)===null||_a===void 0||_a.call(state,ce)}else(_b=state.onError)===null||_b===void 0||_b.call(state,connectErrorFromNodeReason(err))}function cleanup(){stopPingInterval(),stopIdleTimeout(),conn.off("error",onError),conn.off("close",onClose),conn.off("goaway",onGoaway)}return conn.on("error",onError),conn.on("close",onClose),conn.on("goaway",onGoaway),state}function safeSetTimeout(callback,ms){if(!(ms>2147483647))return setTimeout(callback,ms).unref()}function assertSessionOpen(conn){if(conn.connecting)throw new ConnectError("expected open session, but it is connecting",Code.Internal);if(conn.destroyed)throw new ConnectError("expected open session, but it is destroyed",Code.Internal);if(conn.closed)throw new ConnectError("expected open session, but it is closed",Code.Internal)}function createNodeHttpClient(options){var _a;if(options.httpVersion=="1.1")return createNodeHttp1Client(options.nodeOptions);let sessionProvider=(_a=options.sessionProvider)!==null&&_a!==void 0?_a:(url=>new Http2SessionManager(url));return createNodeHttp2Client(sessionProvider)}function createNodeHttp1Client(httpOptions){return async function(req){let sentinel=createSentinel(req.signal);return new Promise((resolve,reject)=>{sentinel.onError(e=>{reject(e)}),h1Request(sentinel,req.url,Object.assign(Object.assign({},httpOptions),{headers:webHeaderToNodeHeaders(req.header,httpOptions?.headers),method:req.method}),request4=>{sinkRequest(req,request4,sentinel),request4.on("response",response=>{var _a;response.on("error",sentinel.error),sentinel.onError(reason=>response.destroy(reason));let trailer=new Headers;resolve({status:(_a=response.statusCode)!==null&&_a!==void 0?_a:0,header:nodeHeaderToWebHeader(response.headers),body:h1ResponseIterable(sentinel,response,trailer),trailer})})})})}}function createNodeHttp2Client(sessionProvider){return function(req){let sentinel=createSentinel(req.signal),sessionManager=sessionProvider(req.url);return new Promise((resolve,reject)=>{sentinel.onError(e=>{reject(e)}),h2Request(sentinel,sessionManager,req.url,req.method,webHeaderToNodeHeaders(req.header),{},stream=>{sinkRequest(req,stream,sentinel),stream.on("response",headers=>{var _a;let response={status:(_a=headers[":status"])!==null&&_a!==void 0?_a:0,header:nodeHeaderToWebHeader(headers),body:h2ResponseIterable(sentinel,stream,sessionManager),trailer:h2ResponseTrailer(stream)};resolve(response)})})})}}function h1Request(sentinel,url,options,onRequest){let request3;new URL(url).protocol.startsWith("https")?request3=https.request(url,options):request3=http.request(url,options),sentinel.onError(reason=>request3.destroy(reason)),request3.flushHeaders(),request3.on("error",sentinel.error),request3.on("socket",function(socket){function onSocketConnect(){socket.off("connect",onSocketConnect),onRequest(request3)}socket.readyState==="open"?onRequest(request3):socket.on("connect",onSocketConnect)})}function h1ResponseIterable(sentinel,response,trailer){let inner=response[Symbol.asyncIterator]();return{[Symbol.asyncIterator](){return{async next(){let r=await sentinel.race(inner.next());return r.done===!0&&(nodeHeaderToWebHeader(response.trailers).forEach((value,key)=>{trailer.set(key,value)}),sentinel.close()),r},throw(e){throw sentinel.error(e),e}}}}}function h2Request(sentinel,sm,url,method,headers,options,onStream){let requestUrl=new URL(url);if(requestUrl.origin!==sm.authority){let message=`cannot make a request to ${requestUrl.origin}: the http2 session is connected to ${sm.authority}`;sentinel.error(new ConnectError(message,Code.Internal));return}sm.request(method,requestUrl.pathname+requestUrl.search,headers,{}).then(stream=>{sentinel.onError(reason=>{if(stream.closed)return;let rstCode=reason.code==Code.Canceled?H2Code.CANCEL:H2Code.INTERNAL_ERROR;return new Promise(resolve=>stream.close(rstCode,resolve))}),stream.on("error",function(e){stream.writableEnded&&unwrapNodeErrorChain(e).map(getNodeErrorProps).some(p=>p.code=="ERR_STREAM_WRITE_AFTER_END")||sentinel.error(e)}),stream.on("close",function(){let err=connectErrorFromH2ResetCode(stream.rstCode);err&&sentinel.error(err)}),onStream(stream)},reason=>{sentinel.error(reason)})}function h2ResponseTrailer(response){let trailer=new Headers;return response.on("trailers",args=>{nodeHeaderToWebHeader(args).forEach((value,key)=>{trailer.set(key,value)})}),trailer}function h2ResponseIterable(sentinel,response,sm){let inner=response[Symbol.asyncIterator]();return{[Symbol.asyncIterator](){return{async next(){let r=await sentinel.race(inner.next());return r.done===!0&&sentinel.close(),sm?.notifyResponseByteRead(response),r},throw(e){throw sentinel.error(e),e}}}}}async function sinkRequest(request3,nodeRequest,sentinel){if(request3.body===void 0){await new Promise(resolve=>nodeRequest.end(resolve));return}let it=request3.body[Symbol.asyncIterator]();return new Promise(resolve=>{writeNext();function writeNext(){sentinel.isClosed()||it.next().then(r=>{if(r.done===!0){nodeRequest.end(resolve);return}nodeRequest.write(r.value,"binary",e=>{if(e==null){writeNext();return}it.throw!==void 0&&it.throw(connectErrorFromNodeReason(e)).catch(()=>{}),!(nodeRequest.writableEnded&&unwrapNodeErrorChain(e).map(getNodeErrorProps).some(p=>p.code=="ERR_STREAM_WRITE_AFTER_END"))&&sentinel.error(e)})},e=>{sentinel.error(e)})}})}function createSentinel(signal){let rejectRace,closed2=!1,closedError,onErrorListeners=[],sentinel={error(error3){if(!closed2){closed2=!0,closedError=error3 instanceof ConnectError?error3:connectErrorFromNodeReason(error3),rejectRace?.(closedError);for(let onRejected of onErrorListeners)onRejected(closedError);cleanup()}},close(){closed2||(closed2=!0,rejectRace&&rejectRace(new ConnectError("sentinel completed early",Code.Internal)),cleanup())},isClosed(){return closed2},onError(onError){closed2?closedError!==void 0&&onError(closedError):onErrorListeners.push(onError)},race(promise){let resolveRace,race=new Promise((resolve,reject)=>{resolveRace=resolve,rejectRace=reject});return promise.then(value=>{resolveRace?.(value)},reason=>{rejectRace?.(reason)}),closed2&&rejectRace?.(closedError??new ConnectError("sentinel completed early",Code.Internal)),race}};function cleanup(){signal&&signal.removeEventListener("abort",onSignalAbort),onErrorListeners=[],rejectRace=void 0}function onSignalAbort(){sentinel.error(getAbortSignalReason(this))}return signal&&(signal.addEventListener("abort",onSignalAbort),signal.aborted&&sentinel.error(getAbortSignalReason(signal))),sentinel}function validateNodeTransportOptions(options){var _a,_b,_c,_d;let httpClient;if(options.httpVersion=="2"){let sessionManager;options.sessionManager?sessionManager=options.sessionManager:sessionManager=new Http2SessionManager(options.baseUrl,{pingIntervalMs:options.pingIntervalMs,pingIdleConnection:options.pingIdleConnection,pingTimeoutMs:options.pingTimeoutMs,idleConnectionTimeoutMs:options.idleConnectionTimeoutMs},options.nodeOptions),httpClient=createNodeHttpClient({httpVersion:"2",sessionProvider:()=>sessionManager})}else httpClient=createNodeHttpClient({httpVersion:"1.1",nodeOptions:options.nodeOptions});return Object.assign(Object.assign(Object.assign({},options),{httpClient,useBinaryFormat:(_a=options.useBinaryFormat)!==null&&_a!==void 0?_a:!0,interceptors:(_b=options.interceptors)!==null&&_b!==void 0?_b:[],sendCompression:(_c=options.sendCompression)!==null&&_c!==void 0?_c:null,acceptCompression:(_d=options.acceptCompression)!==null&&_d!==void 0?_d:[compressionGzip,compressionBrotli]}),validateReadWriteMaxBytes(options.readMaxBytes,options.writeMaxBytes,options.compressMinBytes))}function createGrpcWebTransport(options){return createTransport(validateNodeTransportOptions(options))}function messageDesc2(file,path,...paths){return paths.reduce((acc,cur)=>acc.nestedMessages[cur],file.messages[path])}function serviceDesc(file,path,...paths){if(paths.length>0)throw new Error;return file.services[path]}var file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_group=fileDesc("CkdhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvYXBpcmVzb3VyY2VraW5kL2FwaV9yZXNvdXJjZV9ncm91cC5wcm90bxIuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLmFwaXJlc291cmNla2luZCI8ChRBcGlSZXNvdXJjZUdyb3VwTWV0YRIOCgZkb21haW4YASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJKroBChBBcGlSZXNvdXJjZUdyb3VwEiIKHmFwaV9yZXNvdXJjZV9ncm91cF91bnNwZWNpZmllZBAAEi4KB2FnZW50aWMQARoh6r0sHQoSYWdlbnRpYy5zdGlnbWVyLmFpEgdBZ2VudGljEiIKA2lhbRACGhnqvSwVCg5pYW0uc3RpZ21lci5haRIDSUFNEi4KB3RlbmFuY3kQAxoh6r0sHQoSdGVuYW5jeS5zdGlnbWVyLmFpEgdUZW5hbmN5OogBCgpncm91cF9tZXRhEiEuZ29vZ2xlLnByb3RvYnVmLkVudW1WYWx1ZU9wdGlvbnMY3ccFIAEoCzJELmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5hcGlyZXNvdXJjZWtpbmQuQXBpUmVzb3VyY2VHcm91cE1ldGFSCWdyb3VwTWV0YWIGcHJvdG8z",[file_google_protobuf_descriptor]);var ApiResourceGroup;(function(ApiResourceGroup2){ApiResourceGroup2[ApiResourceGroup2.api_resource_group_unspecified=0]="api_resource_group_unspecified",ApiResourceGroup2[ApiResourceGroup2.agentic=1]="agentic",ApiResourceGroup2[ApiResourceGroup2.iam=2]="iam",ApiResourceGroup2[ApiResourceGroup2.tenancy=3]="tenancy"})(ApiResourceGroup||(ApiResourceGroup={}));var file_ai_stigmer_iam_v1_enum=fileDesc("ChxhaS9zdGlnbWVyL2lhbS92MS9lbnVtLnByb3RvEhFhaS5zdGlnbWVyLmlhbS52MSqyBQoNSWFtUGVybWlzc2lvbhIPCgt1bnNwZWNpZmllZBAAEgwKCGNhbl92aWV3EAESDAoIY2FuX2VkaXQQAhIOCgpjYW5fZGVsZXRlEAMSFAoQY2FuX2dyYW50X2FjY2VzcxAEEhMKD2Nhbl92aWV3X2FjY2VzcxAFEhQKEGNhbl9jcmVhdGVfYWdlbnQQBhIXChNjYW5fY3JlYXRlX3dvcmtmbG93EAcSFgoSY2FuX2NyZWF0ZV9zZXNzaW9uEAgSFAoQY2FuX2NyZWF0ZV9za2lsbBAJEhYKEmNhbl9jcmVhdGVfcHJvamVjdBAKEhIKDmNhbl9jcmVhdGVfaWRwEAsSGgoWY2FuX2NyZWF0ZV9lbnZpcm9ubWVudBAMEh8KG2Nhbl9jcmVhdGVfaWRlbnRpdHlfYWNjb3VudBAVEhgKFGNhbl9jcmVhdGVfb2F1dGhfYXBwEBcSHgoaY2FuX2NyZWF0ZV9wbGF0Zm9ybV9jbGllbnQQGBIbChdjYW5fY3JlYXRlX2V4ZWN1dGlvbl9pbhANEhcKE2Nhbl9jcmVhdGVfaW5zdGFuY2UQDhIPCgtjYW5fZXhlY3V0ZRAPEhQKEGNhbl9yZWFkX3NlY3JldHMQEBIVChFjYW5fYm9vdHN0cmFwX2lhbRAREiAKHGNhbl9tYW5hZ2VfaWRlbnRpdHlfYWNjb3VudHMQEhIYChRsb2dpbl90b19iYWNrX29mZmljZRAUEg8KC2Nhbl9jb25uZWN0EBYSFQoRY2FuX2NyZWF0ZV9ydW5uZXIQGRIWChJjYW5fZGVsZXRlX3Nlc3Npb24QGhIUChBjYW5fdmlld19iaWxsaW5nEBsSFgoSY2FuX21hbmFnZV9iaWxsaW5nEBwSGwoXY2FuX2V4ZWN1dGVfYmlsbGluZ19vcHMQHSpRCgdJYW1Sb2xlEhgKFGlhbV9yb2xlX3Vuc3BlY2lmaWVkEAASCQoFb3duZXIQARIJCgVhZG1pbhACEgoKBm1lbWJlchADEgoKBnZpZXdlchAEYgZwcm90bzM"),IamPermission;(function(IamPermission2){IamPermission2[IamPermission2.unspecified=0]="unspecified",IamPermission2[IamPermission2.can_view=1]="can_view",IamPermission2[IamPermission2.can_edit=2]="can_edit",IamPermission2[IamPermission2.can_delete=3]="can_delete",IamPermission2[IamPermission2.can_grant_access=4]="can_grant_access",IamPermission2[IamPermission2.can_view_access=5]="can_view_access",IamPermission2[IamPermission2.can_create_agent=6]="can_create_agent",IamPermission2[IamPermission2.can_create_workflow=7]="can_create_workflow",IamPermission2[IamPermission2.can_create_session=8]="can_create_session",IamPermission2[IamPermission2.can_create_skill=9]="can_create_skill",IamPermission2[IamPermission2.can_create_project=10]="can_create_project",IamPermission2[IamPermission2.can_create_idp=11]="can_create_idp",IamPermission2[IamPermission2.can_create_environment=12]="can_create_environment",IamPermission2[IamPermission2.can_create_identity_account=21]="can_create_identity_account",IamPermission2[IamPermission2.can_create_oauth_app=23]="can_create_oauth_app",IamPermission2[IamPermission2.can_create_platform_client=24]="can_create_platform_client",IamPermission2[IamPermission2.can_create_execution_in=13]="can_create_execution_in",IamPermission2[IamPermission2.can_create_instance=14]="can_create_instance",IamPermission2[IamPermission2.can_execute=15]="can_execute",IamPermission2[IamPermission2.can_read_secrets=16]="can_read_secrets",IamPermission2[IamPermission2.can_bootstrap_iam=17]="can_bootstrap_iam",IamPermission2[IamPermission2.can_manage_identity_accounts=18]="can_manage_identity_accounts",IamPermission2[IamPermission2.login_to_back_office=20]="login_to_back_office",IamPermission2[IamPermission2.can_connect=22]="can_connect",IamPermission2[IamPermission2.can_create_runner=25]="can_create_runner",IamPermission2[IamPermission2.can_delete_session=26]="can_delete_session",IamPermission2[IamPermission2.can_view_billing=27]="can_view_billing",IamPermission2[IamPermission2.can_manage_billing=28]="can_manage_billing",IamPermission2[IamPermission2.can_execute_billing_ops=29]="can_execute_billing_ops"})(IamPermission||(IamPermission={}));var IamRole;(function(IamRole2){IamRole2[IamRole2.iam_role_unspecified=0]="iam_role_unspecified",IamRole2[IamRole2.owner=1]="owner",IamRole2[IamRole2.admin=2]="admin",IamRole2[IamRole2.member=3]="member",IamRole2[IamRole2.viewer=4]="viewer"})(IamRole||(IamRole={}));var file_ai_stigmer_commons_apiresource_apiresourcekind_authorization_config=fileDesc("CklhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvYXBpcmVzb3VyY2VraW5kL2F1dGhvcml6YXRpb25fY29uZmlnLnByb3RvEi5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kIoABChBWaXNpYmlsaXR5Q29uZmlnEhcKD3N1cHBvcnRzX3B1YmxpYxgBIAEoCBIZChFzdXBwb3J0c19wbGF0Zm9ybRgCIAEoCBIUCgxzdXBwb3J0c19vcmcYAyABKAgSIgoaZGVmYXVsdHNfdG9fb3JnX3Zpc2liaWxpdHkYBCABKAgiSgoUUGFyZW50UmVsYXRpb25Db25maWcSDAoEa2luZBgBIAEoCRIQCghyZWxhdGlvbhgCIAEoCRISCgpzcGVjX2ZpZWxkGAMgASgJIq4EChNBdXRob3JpemF0aW9uQ29uZmlnEloKCnNjb3BlX3R5cGUYASABKA4yRi5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkF1dGhvcml6YXRpb25TY29wZVR5cGUSWAoKb3duZXJfdHlwZRgCIAEoDjJELmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5hcGlyZXNvdXJjZWtpbmQuT3duZXJBdHRyaWJ1dGlvblR5cGUSVAoGcGFyZW50GAMgASgLMkQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLmFwaXJlc291cmNla2luZC5QYXJlbnRSZWxhdGlvbkNvbmZpZxJgChJhZGRpdGlvbmFsX3BhcmVudHMYBCADKAsyRC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLlBhcmVudFJlbGF0aW9uQ29uZmlnElQKCnZpc2liaWxpdHkYBSABKAsyQC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLlZpc2liaWxpdHlDb25maWcSHgoWcmVxdWlyZXNfY3JlYXRvcl90dXBsZRgGIAEoCBIzCg9ncmFudGFibGVfcm9sZXMYByADKA4yGi5haS5zdGlnbWVyLmlhbS52MS5JYW1Sb2xlKoUCChZBdXRob3JpemF0aW9uU2NvcGVUeXBlEigKJEFVVEhPUklaQVRJT05fU0NPUEVfVFlQRV9VTlNQRUNJRklFRBAAEiUKIUFVVEhPUklaQVRJT05fU0NPUEVfVFlQRV9QTEFURk9STRABEikKJUFVVEhPUklaQVRJT05fU0NPUEVfVFlQRV9PUkdBTklaQVRJT04QAhIjCh9BVVRIT1JJWkFUSU9OX1NDT1BFX1RZUEVfUEFSRU5UEAMSJwojQVVUSE9SSVpBVElPTl9TQ09QRV9UWVBFX09XTkVSX09OTFkQBBIhCh1BVVRIT1JJWkFUSU9OX1NDT1BFX1RZUEVfTk9ORRAFKskBChRPd25lckF0dHJpYnV0aW9uVHlwZRImCiJPV05FUl9BVFRSSUJVVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIQodT1dORVJfQVRUUklCVVRJT05fVFlQRV9ESVJFQ1QQARIkCiBPV05FUl9BVFRSSUJVVElPTl9UWVBFX0lOSEVSSVRFRBACEh8KG09XTkVSX0FUVFJJQlVUSU9OX1RZUEVfU0VMRhADEh8KG09XTkVSX0FUVFJJQlVUSU9OX1RZUEVfTk9ORRAEQhpCGEF1dGhvcml6YXRpb25Db25maWdQcm90b2IGcHJvdG8z",[file_ai_stigmer_iam_v1_enum]);var AuthorizationScopeType;(function(AuthorizationScopeType2){AuthorizationScopeType2[AuthorizationScopeType2.UNSPECIFIED=0]="UNSPECIFIED",AuthorizationScopeType2[AuthorizationScopeType2.PLATFORM=1]="PLATFORM",AuthorizationScopeType2[AuthorizationScopeType2.ORGANIZATION=2]="ORGANIZATION",AuthorizationScopeType2[AuthorizationScopeType2.PARENT=3]="PARENT",AuthorizationScopeType2[AuthorizationScopeType2.OWNER_ONLY=4]="OWNER_ONLY",AuthorizationScopeType2[AuthorizationScopeType2.NONE=5]="NONE"})(AuthorizationScopeType||(AuthorizationScopeType={}));var OwnerAttributionType;(function(OwnerAttributionType2){OwnerAttributionType2[OwnerAttributionType2.UNSPECIFIED=0]="UNSPECIFIED",OwnerAttributionType2[OwnerAttributionType2.DIRECT=1]="DIRECT",OwnerAttributionType2[OwnerAttributionType2.INHERITED=2]="INHERITED",OwnerAttributionType2[OwnerAttributionType2.SELF=3]="SELF",OwnerAttributionType2[OwnerAttributionType2.NONE=4]="NONE"})(OwnerAttributionType||(OwnerAttributionType={}));var file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_kind=fileDesc("CkZhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvYXBpcmVzb3VyY2VraW5kL2FwaV9yZXNvdXJjZV9raW5kLnByb3RvEi5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kIswDChNBcGlSZXNvdXJjZUtpbmRNZXRhEk8KBWdyb3VwGAEgASgOMkAuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLmFwaXJlc291cmNla2luZC5BcGlSZXNvdXJjZUdyb3VwElMKB3ZlcnNpb24YAiABKA4yQi5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkFwaVJlc291cmNlVmVyc2lvbhIMCgRuYW1lGAMgASgJEhQKDGRpc3BsYXlfbmFtZRgEIAEoCRIRCglpZF9wcmVmaXgYBSABKAkSFAoMaXNfdmVyc2lvbmVkGAYgASgIEhoKEm5vdF9zZWFyY2hfaW5kZXhlZBgHIAEoCBJKCgR0aWVyGAggASgOMjwuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLmFwaXJlc291cmNla2luZC5SZXNvdXJjZVRpZXISWgoNYXV0aG9yaXphdGlvbhgJIAEoCzJDLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5hcGlyZXNvdXJjZWtpbmQuQXV0aG9yaXphdGlvbkNvbmZpZypCChJBcGlSZXNvdXJjZVZlcnNpb24SJAogYXBpX3Jlc291cmNlX3ZlcnNpb25fdW5zcGVjaWZpZWQQABIGCgJ2MRABKk4KDFJlc291cmNlVGllchIdChlyZXNvdXJjZV90aWVyX3Vuc3BlY2lmaWVkEAASDwoLb3Blbl9zb3VyY2UQARIOCgpjbG91ZF9vbmx5EAIqQQoPUGxhdGZvcm1JZFZhbHVlEiEKHXBsYXRmb3JtX2lkX3ZhbHVlX3Vuc3BlY2lmaWVkEAASCwoHc3RpZ21lchABKt4OCg9BcGlSZXNvdXJjZUtpbmQSHQoZYXBpX3Jlc291cmNlX2tpbmRfdW5rbm93bhAAElsKFGFwaV9yZXNvdXJjZV92ZXJzaW9uEAEaQar/Kz0IARABGhJBcGlSZXNvdXJjZVZlcnNpb24iFEFQSSBSZXNvdXJjZSBWZXJzaW9uKgN2ZXI4AUACSgQIBRAEEj8KCmlhbV9wb2xpY3kQChovqv8rKwgCEAEaCUlhbVBvbGljeSIKSUFNIFBvbGljeSoEaWFtcDgBQAJKBAgCEAESTgoQaWRlbnRpdHlfYWNjb3VudBALGjiq/ys0CAIQARoPSWRlbnRpdHlBY2NvdW50IhBJZGVudGl0eSBBY2NvdW50KgNpZGFAAkoECAQQAxI1CgdhcGlfa2V5EAwaKKr/KyQIAhABGgZBcGlLZXkiB0FQSSBLZXkqA2tleTgBQAJKBAgEEAESPwoKaW52aXRhdGlvbhAUGi+q/ysrCAIQARoKSW52aXRhdGlvbiIKSW52aXRhdGlvbioDaW52OAFAAkoECAIQARJXChFpZGVudGl0eV9wcm92aWRlchAVGkCq/ys8CAIQARoQSWRlbnRpdHlQcm92aWRlciIRSWRlbnRpdHkgUHJvdmlkZXIqA2lkcDgBQAJKCAgCEAE6AgEEEkAKCW9hdXRoX2FwcBAWGjGq/ystCAIQARoIT0F1dGhBcHAiCU9BdXRoIEFwcCoEb2FwcDgBQAJKCAgCEAE6AgEEElEKD3BsYXRmb3JtX2NsaWVudBAXGjyq/ys4CAIQARoOUGxhdGZvcm1DbGllbnQiD1BsYXRmb3JtIENsaWVudCoDcGNsOAFAAkoICAIQAToCAQQSSQoMb3JnYW5pemF0aW9uEB4aN6r/KzMIAxABGgxPcmdhbml6YXRpb24iDE9yZ2FuaXphdGlvbioDb3JnQAFKCggEEAE6BAECAwQSOQoIcGxhdGZvcm0QHxorqv8rJwgDEAEaCFBsYXRmb3JtIghQbGF0Zm9ybSoDcGx0OAFAAkoECAUQBBI8CgVhZ2VudBAoGjGq/ystCAEQARoFQWdlbnQiBUFnZW50KgNhZ3RAAUoSCAIQASoICAEQARgBIAE6AgEEEmsKD2FnZW50X2V4ZWN1dGlvbhApGlaq/ytSCAEQARoOQWdlbnRFeGVjdXRpb24iD0FnZW50IEV4ZWN1dGlvbioDYWV4QAFKJAgDEAIaHgoHc2Vzc2lvbhIHc2Vzc2lvbhoKc2Vzc2lvbl9pZBI4CgdzZXNzaW9uECoaK6r/KycIARABGgdTZXNzaW9uIgdTZXNzaW9uKgNzZXNAAUoICAIQAToCAQQSPgoFc2tpbGwQKxozqv8rLwgBEAEaBVNraWxsIgVTa2lsbCoDc2tsMAFAAUoSCAIQASoICAEQARgBIAE6AgEEEkoKCm1jcF9zZXJ2ZXIQLBo6qv8rNggBEAEaCU1jcFNlcnZlciIKTUNQIFNlcnZlcioDbWNwQAFKEggCEAEqCAgBEAEYASABOgIBBBJsCg5hZ2VudF9pbnN0YW5jZRAtGliq/ytUCAEQARoNQWdlbnRJbnN0YW5jZSIOQWdlbnQgSW5zdGFuY2UqA2FpbkABSigIAhABIhgKBWFnZW50EgVhZ2VudBoIYWdlbnRfaWQqBAgBGAE6AgEEEkcKCHdvcmtmbG93EDIaOar/KzUIARABGghXb3JrZmxvdyIIV29ya2Zsb3cqA3dmbDABQAFKEggCEAEqCAgBEAEYASABOgIBBBJ+ChF3b3JrZmxvd19pbnN0YW5jZRAzGmeq/ytjCAEQARoQV29ya2Zsb3dJbnN0YW5jZSIRV29ya2Zsb3cgSW5zdGFuY2UqA3dpbkABSjEIAhABIiEKCHdvcmtmbG93Egh3b3JrZmxvdxoLd29ya2Zsb3dfaWQqBAgBGAE6AgEEEpYBChJ3b3JrZmxvd19leGVjdXRpb24QNBp+qv8reggBEAEaEVdvcmtmbG93RXhlY3V0aW9uIhJXb3JrZmxvdyBFeGVjdXRpb24qA3dleEABSkYIAhABIjwKEXdvcmtmbG93X2luc3RhbmNlEhF3b3JrZmxvd19pbnN0YW5jZRoUd29ya2Zsb3dfaW5zdGFuY2VfaWQ6AgEEEkYKC2Vudmlyb25tZW50EDUaNar/KzEIARABGgtFbnZpcm9ubWVudCILRW52aXJvbm1lbnQqA2VudkABSgoIAhABMAE6AgEEEjsKCGFydGlmYWN0EDcaLar/KykIARABGghBcnRpZmFjdCIIQXJ0aWZhY3QqA2FydEABSggIAhABOgIBBBJSChFleGVjdXRpb25fY29udGV4dBA2Gjuq/ys3CAEQARoQRXhlY3V0aW9uQ29udGV4dCIRRXhlY3V0aW9uIENvbnRleHQqBGVjdHhAAUoECAQQARI4Cgdwcm9qZWN0EDwaK6r/KycIAxABGgdQcm9qZWN0IgdQcm9qZWN0KgNwcmpAAUoICAIQAToCAQQ6hQEKCWtpbmRfbWV0YRIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zGPW/BSABKAsyQy5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkFwaVJlc291cmNlS2luZE1ldGFSCGtpbmRNZXRhQhtCGUFwaVJlc291cmNlS2luZE91dGVyQ2xhc3NiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_group,file_ai_stigmer_commons_apiresource_apiresourcekind_authorization_config,file_google_protobuf_descriptor]);var ApiResourceVersion;(function(ApiResourceVersion2){ApiResourceVersion2[ApiResourceVersion2.api_resource_version_unspecified=0]="api_resource_version_unspecified",ApiResourceVersion2[ApiResourceVersion2.v1=1]="v1"})(ApiResourceVersion||(ApiResourceVersion={}));var ResourceTier;(function(ResourceTier2){ResourceTier2[ResourceTier2.resource_tier_unspecified=0]="resource_tier_unspecified",ResourceTier2[ResourceTier2.open_source=1]="open_source",ResourceTier2[ResourceTier2.cloud_only=2]="cloud_only"})(ResourceTier||(ResourceTier={}));var PlatformIdValue;(function(PlatformIdValue2){PlatformIdValue2[PlatformIdValue2.platform_id_value_unspecified=0]="platform_id_value_unspecified",PlatformIdValue2[PlatformIdValue2.stigmer=1]="stigmer"})(PlatformIdValue||(PlatformIdValue={}));var ApiResourceKind;(function(ApiResourceKind2){ApiResourceKind2[ApiResourceKind2.api_resource_kind_unknown=0]="api_resource_kind_unknown",ApiResourceKind2[ApiResourceKind2.api_resource_version=1]="api_resource_version",ApiResourceKind2[ApiResourceKind2.iam_policy=10]="iam_policy",ApiResourceKind2[ApiResourceKind2.identity_account=11]="identity_account",ApiResourceKind2[ApiResourceKind2.api_key=12]="api_key",ApiResourceKind2[ApiResourceKind2.invitation=20]="invitation",ApiResourceKind2[ApiResourceKind2.identity_provider=21]="identity_provider",ApiResourceKind2[ApiResourceKind2.oauth_app=22]="oauth_app",ApiResourceKind2[ApiResourceKind2.platform_client=23]="platform_client",ApiResourceKind2[ApiResourceKind2.organization=30]="organization",ApiResourceKind2[ApiResourceKind2.platform=31]="platform",ApiResourceKind2[ApiResourceKind2.agent=40]="agent",ApiResourceKind2[ApiResourceKind2.agent_execution=41]="agent_execution",ApiResourceKind2[ApiResourceKind2.session=42]="session",ApiResourceKind2[ApiResourceKind2.skill=43]="skill",ApiResourceKind2[ApiResourceKind2.mcp_server=44]="mcp_server",ApiResourceKind2[ApiResourceKind2.agent_instance=45]="agent_instance",ApiResourceKind2[ApiResourceKind2.workflow=50]="workflow",ApiResourceKind2[ApiResourceKind2.workflow_instance=51]="workflow_instance",ApiResourceKind2[ApiResourceKind2.workflow_execution=52]="workflow_execution",ApiResourceKind2[ApiResourceKind2.environment=53]="environment",ApiResourceKind2[ApiResourceKind2.artifact=55]="artifact",ApiResourceKind2[ApiResourceKind2.execution_context=54]="execution_context",ApiResourceKind2[ApiResourceKind2.project=60]="project"})(ApiResourceKind||(ApiResourceKind={}));var file_ai_stigmer_commons_rpc_authorization_config=fileDesc("CjFhaS9zdGlnbWVyL2NvbW1vbnMvcnBjL2F1dGhvcml6YXRpb25fY29uZmlnLnByb3RvEhZhaS5zdGlnbWVyLmNvbW1vbnMucnBjIv4BChZScGNBdXRob3JpemF0aW9uQ29uZmlnEjQKCnBlcm1pc3Npb24YASABKA4yIC5haS5zdGlnbWVyLmlhbS52MS5JYW1QZXJtaXNzaW9uElYKDXJlc291cmNlX2tpbmQYAiABKA4yPy5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkFwaVJlc291cmNlS2luZBIaChJyZXNvdXJjZV9raW5kX3BhdGgYAyABKAkSEgoKZmllbGRfcGF0aBgEIAEoCRIRCgllcnJvcl9tc2cYBSABKAkSEwoLcmVzb3VyY2VfaWQYBiABKAliBnByb3RvMw",[file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_kind,file_ai_stigmer_iam_v1_enum]);var file_ai_stigmer_commons_rpc_method_options=fileDesc("CithaS9zdGlnbWVyL2NvbW1vbnMvcnBjL21ldGhvZF9vcHRpb25zLnByb3RvEhZhaS5zdGlnbWVyLmNvbW1vbnMucnBjOmgKBmNvbmZpZxIeLmdvb2dsZS5wcm90b2J1Zi5NZXRob2RPcHRpb25zGIiHAyABKAsyLi5haS5zdGlnbWVyLmNvbW1vbnMucnBjLlJwY0F1dGhvcml6YXRpb25Db25maWdSBmNvbmZpZzo9Cglpc19wdWJsaWMSHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiJhwMgASgIUghpc1B1YmxpYzpUChVpc19za2lwX2F1dGhvcml6YXRpb24SHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucxiKhwMgASgIUhNpc1NraXBBdXRob3JpemF0aW9uYgZwcm90bzM",[file_ai_stigmer_commons_rpc_authorization_config,file_google_protobuf_descriptor]);var file_ai_stigmer_commons_rpc_pagination=fileDesc("CidhaS9zdGlnbWVyL2NvbW1vbnMvcnBjL3BhZ2luYXRpb24ucHJvdG8SFmFpLnN0aWdtZXIuY29tbW9ucy5ycGMiJQoIUGFnZUluZm8SCwoDbnVtGAEgASgFEgwKBHNpemUYAiABKAUiMgoOR29vZ2xlUGFnZUluZm8SEgoKcGFnZV90b2tlbhgBIAEoCRIMCgRzaXplGAIgASgFYgZwcm90bzM");var file_buf_validate_validate=fileDesc("ChtidWYvdmFsaWRhdGUvdmFsaWRhdGUucHJvdG8SDGJ1Zi52YWxpZGF0ZSI3CgRSdWxlEgoKAmlkGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSEgoKZXhwcmVzc2lvbhgDIAEoCSKGAQoMTWVzc2FnZVJ1bGVzEhYKDmNlbF9leHByZXNzaW9uGAUgAygJEh8KA2NlbBgDIAMoCzISLmJ1Zi52YWxpZGF0ZS5SdWxlEi0KBW9uZW9mGAQgAygLMh4uYnVmLnZhbGlkYXRlLk1lc3NhZ2VPbmVvZlJ1bGVKBAgBEAJSCGRpc2FibGVkIjQKEE1lc3NhZ2VPbmVvZlJ1bGUSDgoGZmllbGRzGAEgAygJEhAKCHJlcXVpcmVkGAIgASgIIh4KCk9uZW9mUnVsZXMSEAoIcmVxdWlyZWQYASABKAgiiwkKCkZpZWxkUnVsZXMSFgoOY2VsX2V4cHJlc3Npb24YHSADKAkSHwoDY2VsGBcgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGUSEAoIcmVxdWlyZWQYGSABKAgSJAoGaWdub3JlGBsgASgOMhQuYnVmLnZhbGlkYXRlLklnbm9yZRIpCgVmbG9hdBgBIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GbG9hdFJ1bGVzSAASKwoGZG91YmxlGAIgASgLMhkuYnVmLnZhbGlkYXRlLkRvdWJsZVJ1bGVzSAASKQoFaW50MzIYAyABKAsyGC5idWYudmFsaWRhdGUuSW50MzJSdWxlc0gAEikKBWludDY0GAQgASgLMhguYnVmLnZhbGlkYXRlLkludDY0UnVsZXNIABIrCgZ1aW50MzIYBSABKAsyGS5idWYudmFsaWRhdGUuVUludDMyUnVsZXNIABIrCgZ1aW50NjQYBiABKAsyGS5idWYudmFsaWRhdGUuVUludDY0UnVsZXNIABIrCgZzaW50MzIYByABKAsyGS5idWYudmFsaWRhdGUuU0ludDMyUnVsZXNIABIrCgZzaW50NjQYCCABKAsyGS5idWYudmFsaWRhdGUuU0ludDY0UnVsZXNIABItCgdmaXhlZDMyGAkgASgLMhouYnVmLnZhbGlkYXRlLkZpeGVkMzJSdWxlc0gAEi0KB2ZpeGVkNjQYCiABKAsyGi5idWYudmFsaWRhdGUuRml4ZWQ2NFJ1bGVzSAASLwoIc2ZpeGVkMzIYCyABKAsyGy5idWYudmFsaWRhdGUuU0ZpeGVkMzJSdWxlc0gAEi8KCHNmaXhlZDY0GAwgASgLMhsuYnVmLnZhbGlkYXRlLlNGaXhlZDY0UnVsZXNIABInCgRib29sGA0gASgLMhcuYnVmLnZhbGlkYXRlLkJvb2xSdWxlc0gAEisKBnN0cmluZxgOIAEoCzIZLmJ1Zi52YWxpZGF0ZS5TdHJpbmdSdWxlc0gAEikKBWJ5dGVzGA8gASgLMhguYnVmLnZhbGlkYXRlLkJ5dGVzUnVsZXNIABInCgRlbnVtGBAgASgLMhcuYnVmLnZhbGlkYXRlLkVudW1SdWxlc0gAEi8KCHJlcGVhdGVkGBIgASgLMhsuYnVmLnZhbGlkYXRlLlJlcGVhdGVkUnVsZXNIABIlCgNtYXAYEyABKAsyFi5idWYudmFsaWRhdGUuTWFwUnVsZXNIABIlCgNhbnkYFCABKAsyFi5idWYudmFsaWRhdGUuQW55UnVsZXNIABIvCghkdXJhdGlvbhgVIAEoCzIbLmJ1Zi52YWxpZGF0ZS5EdXJhdGlvblJ1bGVzSAASMgoKZmllbGRfbWFzaxgcIAEoCzIcLmJ1Zi52YWxpZGF0ZS5GaWVsZE1hc2tSdWxlc0gAEjEKCXRpbWVzdGFtcBgWIAEoCzIcLmJ1Zi52YWxpZGF0ZS5UaW1lc3RhbXBSdWxlc0gAQgYKBHR5cGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSJVCg9QcmVkZWZpbmVkUnVsZXMSHwoDY2VsGAEgAygLMhIuYnVmLnZhbGlkYXRlLlJ1bGVKBAgYEBlKBAgaEBtSB3NraXBwZWRSDGlnbm9yZV9lbXB0eSL4FgoKRmxvYXRSdWxlcxJ9CgVjb25zdBgBIAEoAkJuwkhrCmkKC2Zsb2F0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSmQEKAmx0GAIgASgCQooBwkiGAQqDAQoIZmxvYXQubHQadyFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQpPyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASqQEKA2x0ZRgDIAEoAkKZAcJIlQEKkgEKCWZsb2F0Lmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtAHCgJndBgEIAEoAkLBB8JIvQcKhgEKCGZsb2F0Lmd0GnohaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwq9AQoLZmxvYXQuZ3RfbHQarQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrHAQoVZmxvYXQuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzQEKDGZsb2F0Lmd0X2x0ZRq8AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCtcBChZmbG9hdC5ndF9sdGVfZXhjbHVzaXZlGrwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARKcCAoDZ3RlGAUgASgCQowIwkiICAqVAQoJZmxvYXQuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCswBCgxmbG9hdC5ndGVfbHQauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCtYBChZmbG9hdC5ndGVfbHRfZXhjbHVzaXZlGrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrcAQoNZmxvYXQuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5gEKF2Zsb2F0Lmd0ZV9sdGVfZXhjbHVzaXZlGsoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygCQm3CSGoKaAoIZmxvYXQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoAkJgwkhdClsKDGZsb2F0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEm8KBmZpbml0ZRgIIAEoCEJfwkhcCloKDGZsb2F0LmZpbml0ZRpKcnVsZXMuZmluaXRlID8gKHRoaXMuaXNOYW4oKSB8fCB0aGlzLmlzSW5mKCkgPyAnbXVzdCBiZSBmaW5pdGUnIDogJycpIDogJycSKwoHZXhhbXBsZRgJIAMoAkIawkgXChUKDWZsb2F0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIooXCgtEb3VibGVSdWxlcxJ+CgVjb25zdBgBIAEoAUJvwkhsCmoKDGRvdWJsZS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEpoBCgJsdBgCIAEoAUKLAcJIhwEKhAEKCWRvdWJsZS5sdBp3IWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA+PSBydWxlcy5sdCk/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKqAQoDbHRlGAMgASgBQpoBwkiWAQqTAQoKZG91YmxlLmx0ZRqEASFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiAodGhpcy5pc05hbigpIHx8IHRoaXMgPiBydWxlcy5sdGUpPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEtUHCgJndBgEIAEoAULGB8JIwgcKhwEKCWRvdWJsZS5ndBp6IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKvgEKDGRvdWJsZS5ndF9sdBqtAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCsgBChZkb3VibGUuZ3RfbHRfZXhjbHVzaXZlGq0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKzgEKDWRvdWJsZS5ndF9sdGUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrYAQoXZG91YmxlLmd0X2x0ZV9leGNsdXNpdmUavAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEqEICgNndGUYBSABKAFCkQjCSI0ICpYBCgpkb3VibGUuZ3RlGocBIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmICh0aGlzLmlzTmFuKCkgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCs0BCg1kb3VibGUuZ3RlX2x0GrsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrXAQoXZG91YmxlLmd0ZV9sdF9leGNsdXNpdmUauwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmICh0aGlzLmlzTmFuKCkgfHwgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSkpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCt0BCg5kb3VibGUuZ3RlX2x0ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMuaXNOYW4oKSB8fCB0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK5wEKGGRvdWJsZS5ndGVfbHRlX2V4Y2x1c2l2ZRrKAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAodGhpcy5pc05hbigpIHx8IChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoAUJuwkhrCmkKCWRvdWJsZS5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygBQmHCSF4KXAoNZG91YmxlLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEnAKBmZpbml0ZRgIIAEoCEJgwkhdClsKDWRvdWJsZS5maW5pdGUaSnJ1bGVzLmZpbml0ZSA/ICh0aGlzLmlzTmFuKCkgfHwgdGhpcy5pc0luZigpID8gJ211c3QgYmUgZmluaXRlJyA6ICcnKSA6ICcnEiwKB2V4YW1wbGUYCSADKAFCG8JIGAoWCg5kb3VibGUuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4isBQKCkludDMyUnVsZXMSfQoFY29uc3QYASABKAVCbsJIawppCgtpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoQBCgJsdBgCIAEoBUJ2wkhzCnEKCGludDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpUBCgNsdGUYAyABKAVChQHCSIEBCn8KCWludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS+QYKAmd0GAQgASgFQuoGwkjmBgp0CghpbnQzMi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrQEKC2ludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq1AQoVaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvQEKDGludDMyLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxQEKFmludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsUHCgNndGUYBSABKAVCtQfCSLEHCoIBCglpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq8AQoMaW50MzIuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsQBChZpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrMAQoNaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrUAQoXaW50MzIuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESeQoCaW4YBiADKAVCbcJIagpoCghpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScAoGbm90X2luGAcgAygFQmDCSF0KWwoMaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKwoHZXhhbXBsZRgIIAMoBUIawkgXChUKDWludDMyLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIrAUCgpJbnQ2NFJ1bGVzEn0KBWNvbnN0GAEgASgDQm7CSGsKaQoLaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKEAQoCbHQYAiABKANCdsJIcwpxCghpbnQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKVAQoDbHRlGAMgASgDQoUBwkiBAQp/CglpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEvkGCgJndBgEIAEoA0LqBsJI5gYKdAoIaW50NjQuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq0BCgtpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtQEKFWludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr0BCgxpbnQ2NC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsUBChZpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLFBwoDZ3RlGAUgASgDQrUHwkixBwqCAQoJaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvAEKDGludDY0Lmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrEAQoWaW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzAEKDWludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1AEKF2ludDY0Lmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnkKAmluGAYgAygDQm3CSGoKaAoIaW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnAKBm5vdF9pbhgHIAMoA0JgwkhdClsKDGludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEisKB2V4YW1wbGUYCSADKANCGsJIFwoVCg1pbnQ2NC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLVUludDMyUnVsZXMSfgoFY29uc3QYASABKA1Cb8JIbApqCgx1aW50MzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKA1Cd8JIdApyCgl1aW50MzIubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoDUKHAcJIgwEKgAEKCnVpbnQzMi5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoDULvBsJI6wYKdQoJdWludDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMdWludDMyLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWdWludDMyLmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg11aW50MzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXdWludDMyLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKA1CugfCSLYHCoMBCgp1aW50MzIuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXVpbnQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3VpbnQzMi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOdWludDMyLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHVpbnQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoDUJuwkhrCmkKCXVpbnQzMi5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygNQmHCSF4KXAoNdWludDMyLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKA1CG8JIGAoWCg51aW50MzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwhQKC1VJbnQ2NFJ1bGVzEn4KBWNvbnN0GAEgASgEQm/CSGwKagoMdWludDY0LmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycShQEKAmx0GAIgASgEQnfCSHQKcgoJdWludDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpcBCgNsdGUYAyABKARChwHCSIMBCoABCgp1aW50NjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABL+BgoCZ3QYBCABKARC7wbCSOsGCnUKCXVpbnQ2NC5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKrgEKDHVpbnQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtgEKFnVpbnQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq+AQoNdWludDY0Lmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKxgEKF3VpbnQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLKBwoDZ3RlGAUgASgEQroHwki2BwqDAQoKdWludDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr0BCg11aW50NjQuZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCsUBChd1aW50NjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzQEKDnVpbnQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtUBChh1aW50NjQuZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESegoCaW4YBiADKARCbsJIawppCgl1aW50NjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnEKBm5vdF9pbhgHIAMoBEJhwkheClwKDXVpbnQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIsCgdleGFtcGxlGAggAygEQhvCSBgKFgoOdWludDY0LmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIsIUCgtTSW50MzJSdWxlcxJ+CgVjb25zdBgBIAEoEUJvwkhsCmoKDHNpbnQzMi5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEoUBCgJsdBgCIAEoEUJ3wkh0CnIKCXNpbnQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKXAQoDbHRlGAMgASgRQocBwkiDAQqAAQoKc2ludDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAAS/gYKAmd0GAQgASgRQu8GwkjrBgp1CglzaW50MzIuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCq4BCgxzaW50MzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrYBChZzaW50MzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvgEKDXNpbnQzMi5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCsYBChdzaW50MzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAESygcKA2d0ZRgFIAEoEUK6B8JItgcKgwEKCnNpbnQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq9AQoNc2ludDMyLmd0ZV9sdBqrAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3RlICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrFAQoXc2ludDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs0BCg5zaW50MzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrVAQoYc2ludDMyLmd0ZV9sdGVfZXhjbHVzaXZlGrgBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJ0gBEnoKAmluGAYgAygRQm7CSGsKaQoJc2ludDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJxCgZub3RfaW4YByADKBFCYcJIXgpcCg1zaW50MzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLAoHZXhhbXBsZRgIIAMoEUIbwkgYChYKDnNpbnQzMi5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCCwoJbGVzc190aGFuQg4KDGdyZWF0ZXJfdGhhbiLCFAoLU0ludDY0UnVsZXMSfgoFY29uc3QYASABKBJCb8JIbApqCgxzaW50NjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKFAQoCbHQYAiABKBJCd8JIdApyCglzaW50NjQubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAASlwEKA2x0ZRgDIAEoEkKHAcJIgwEKgAEKCnNpbnQ2NC5sdGUaciFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID4gcnVsZXMubHRlPyAnbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMubHRlXSkgOiAnJ0gAEv4GCgJndBgEIAEoEkLvBsJI6wYKdQoJc2ludDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwquAQoMc2ludDY0Lmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq2AQoWc2ludDY0Lmd0X2x0X2V4Y2x1c2l2ZRqbAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndCAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCr4BCg1zaW50NjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrGAQoXc2ludDY0Lmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEsoHCgNndGUYBSABKBJCugfCSLYHCoMBCgpzaW50NjQuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKvQEKDXNpbnQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxQEKF3NpbnQ2NC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrNAQoOc2ludDY0Lmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK1QEKGHNpbnQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ6CgJpbhgGIAMoEkJuwkhrCmkKCXNpbnQ2NC5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAcgAygSQmHCSF4KXAoNc2ludDY0Lm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEiwKB2V4YW1wbGUYCCADKBJCG8JIGAoWCg5zaW50NjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkMzJSdWxlcxJ/CgVjb25zdBgBIAEoB0JwwkhtCmsKDWZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAdCeMJIdQpzCgpmaXhlZDMyLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAdCiAHCSIQBCoEBCgtmaXhlZDMyLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgHQvQGwkjwBgp2CgpmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQzMi5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkMzIuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQzMi5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgHQr8Hwki7BwqEAQoLZml4ZWQzMi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkMzIuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkMzIuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoB0JvwkhsCmoKCmZpeGVkMzIuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoB0JiwkhfCl0KDmZpeGVkMzIubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoB0IcwkgZChcKD2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i0xQKDEZpeGVkNjRSdWxlcxJ/CgVjb25zdBgBIAEoBkJwwkhtCmsKDWZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKGAQoCbHQYAiABKAZCeMJIdQpzCgpmaXhlZDY0Lmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAEpgBCgNsdGUYAyABKAZCiAHCSIQBCoEBCgtmaXhlZDY0Lmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASgwcKAmd0GAQgASgGQvQGwkjwBgp2CgpmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqvAQoNZml4ZWQ2NC5ndF9sdBqdAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKtwEKF2ZpeGVkNjQuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKvwEKDmZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrHAQoYZml4ZWQ2NC5ndF9sdGVfZXhjbHVzaXZlGqoBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlIDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJydIARLPBwoDZ3RlGAUgASgGQr8Hwki7BwqEAQoLZml4ZWQ2NC5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq+AQoOZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxgEKGGZpeGVkNjQuZ3RlX2x0X2V4Y2x1c2l2ZRqpAWhhcyhydWxlcy5sdCkgJiYgcnVsZXMubHQgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKzgEKD2ZpeGVkNjQuZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrWAQoZZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ7CgJpbhgGIAMoBkJvwkhsCmoKCmZpeGVkNjQuaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEnIKBm5vdF9pbhgHIAMoBkJiwkhfCl0KDmZpeGVkNjQubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSLQoHZXhhbXBsZRgIIAMoBkIcwkgZChcKD2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDMyUnVsZXMSgAEKBWNvbnN0GAEgASgPQnHCSG4KbAoOc2ZpeGVkMzIuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKA9CecJIdgp0CgtzZml4ZWQzMi5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgPQokBwkiFAQqCAQoMc2ZpeGVkMzIubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKA9C+QbCSPUGCncKC3NmaXhlZDMyLmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkMzIuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQzMi5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkMzIuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkMzIuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoD0LEB8JIwAcKhQEKDHNmaXhlZDMyLmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQzMi5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDMyLmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQzMi5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQzMi5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoD0JwwkhtCmsKC3NmaXhlZDMyLmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKA9CY8JIYApeCg9zZml4ZWQzMi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygPQh3CSBoKGAoQc2ZpeGVkMzIuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i5RQKDVNGaXhlZDY0UnVsZXMSgAEKBWNvbnN0GAEgASgQQnHCSG4KbAoOc2ZpeGVkNjQuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKHAQoCbHQYAiABKBBCecJIdgp0CgtzZml4ZWQ2NC5sdBplIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPj0gcnVsZXMubHQ/ICdtdXN0IGJlIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5sdF0pIDogJydIABKZAQoDbHRlGAMgASgQQokBwkiFAQqCAQoMc2ZpeGVkNjQubHRlGnIhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+IHJ1bGVzLmx0ZT8gJ211c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmx0ZV0pIDogJydIABKIBwoCZ3QYBCABKBBC+QbCSPUGCncKC3NmaXhlZDY0Lmd0GmghaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8PSBydWxlcy5ndD8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0XSkgOiAnJwqwAQoOc2ZpeGVkNjQuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrgBChhzZml4ZWQ2NC5ndF9sdF9leGNsdXNpdmUamwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3QgJiYgKHJ1bGVzLmx0IDw9IHRoaXMgJiYgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBvciBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwrAAQoPc2ZpeGVkNjQuZ3RfbHRlGqwBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJwrIAQoZc2ZpeGVkNjQuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES1AcKA2d0ZRgFIAEoEELEB8JIwAcKhQEKDHNmaXhlZDY0Lmd0ZRp1IWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPCBydWxlcy5ndGU/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGVdKSA6ICcnCr8BCg9zZml4ZWQ2NC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKxwEKGXNmaXhlZDY0Lmd0ZV9sdF9leGNsdXNpdmUaqQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0IDwgcnVsZXMuZ3RlICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCs8BChBzZml4ZWQ2NC5ndGVfbHRlGroBaGFzKHJ1bGVzLmx0ZSkgJiYgcnVsZXMubHRlID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnCtcBChpzZml4ZWQ2NC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJ8CgJpbhgGIAMoEEJwwkhtCmsKC3NmaXhlZDY0LmluGlwhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJzCgZub3RfaW4YByADKBBCY8JIYApeCg9zZml4ZWQ2NC5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxIuCgdleGFtcGxlGAggAygQQh3CSBoKGAoQc2ZpeGVkNjQuZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4iwAEKCUJvb2xSdWxlcxJ8CgVjb25zdBgBIAEoCEJtwkhqCmgKCmJvb2wuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxIqCgdleGFtcGxlGAIgAygIQhnCSBYKFAoMYm9vbC5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIi6jwKC1N0cmluZ1J1bGVzEoABCgVjb25zdBgBIAEoCUJxwkhuCmwKDHN0cmluZy5jb25zdBpcdGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCBgJXNgJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycScQoDbGVuGBMgASgEQmTCSGEKXwoKc3RyaW5nLmxlbhpRdWludCh0aGlzLnNpemUoKSkgIT0gcnVsZXMubGVuID8gJ211c3QgYmUgJXMgY2hhcmFjdGVycycuZm9ybWF0KFtydWxlcy5sZW5dKSA6ICcnEokBCgdtaW5fbGVuGAIgASgEQnjCSHUKcwoOc3RyaW5nLm1pbl9sZW4aYXVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX2xlbiA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGNoYXJhY3RlcnMnLmZvcm1hdChbcnVsZXMubWluX2xlbl0pIDogJycSiAEKB21heF9sZW4YAyABKARCd8JIdApyCg5zdHJpbmcubWF4X2xlbhpgdWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfbGVuID8gJ211c3QgYmUgYXQgbW9zdCAlcyBjaGFyYWN0ZXJzJy5mb3JtYXQoW3J1bGVzLm1heF9sZW5dKSA6ICcnEosBCglsZW5fYnl0ZXMYFCABKARCeMJIdQpzChBzdHJpbmcubGVuX2J5dGVzGl91aW50KGJ5dGVzKHRoaXMpLnNpemUoKSkgIT0gcnVsZXMubGVuX2J5dGVzID8gJ211c3QgYmUgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubGVuX2J5dGVzXSkgOiAnJxKUAQoJbWluX2J5dGVzGAQgASgEQoABwkh9CnsKEHN0cmluZy5taW5fYnl0ZXMaZ3VpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9ieXRlcyA/ICdtdXN0IGJlIGF0IGxlYXN0ICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLm1pbl9ieXRlc10pIDogJycSkgEKCW1heF9ieXRlcxgFIAEoBEJ/wkh8CnoKEHN0cmluZy5tYXhfYnl0ZXMaZnVpbnQoYnl0ZXModGhpcykuc2l6ZSgpKSA+IHJ1bGVzLm1heF9ieXRlcyA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2J5dGVzXSkgOiAnJxKHAQoHcGF0dGVybhgGIAEoCUJ2wkhzCnEKDnN0cmluZy5wYXR0ZXJuGl8hdGhpcy5tYXRjaGVzKHJ1bGVzLnBhdHRlcm4pID8gJ2RvZXMgbm90IG1hdGNoIHJlZ2V4IHBhdHRlcm4gYCVzYCcuZm9ybWF0KFtydWxlcy5wYXR0ZXJuXSkgOiAnJxJ+CgZwcmVmaXgYByABKAlCbsJIawppCg1zdHJpbmcucHJlZml4GlghdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5wcmVmaXhdKSA6ICcnEnwKBnN1ZmZpeBgIIAEoCUJswkhpCmcKDXN0cmluZy5zdWZmaXgaViF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggYCVzYCcuZm9ybWF0KFtydWxlcy5zdWZmaXhdKSA6ICcnEooBCghjb250YWlucxgJIAEoCUJ4wkh1CnMKD3N0cmluZy5jb250YWlucxpgIXRoaXMuY29udGFpbnMocnVsZXMuY29udGFpbnMpID8gJ2RvZXMgbm90IGNvbnRhaW4gc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMuY29udGFpbnNdKSA6ICcnEpEBCgxub3RfY29udGFpbnMYFyABKAlCe8JIeAp2ChNzdHJpbmcubm90X2NvbnRhaW5zGl90aGlzLmNvbnRhaW5zKHJ1bGVzLm5vdF9jb250YWlucykgPyAnY29udGFpbnMgc3Vic3RyaW5nIGAlc2AnLmZvcm1hdChbcnVsZXMubm90X2NvbnRhaW5zXSkgOiAnJxJ6CgJpbhgKIAMoCUJuwkhrCmkKCXN0cmluZy5pbhpcISh0aGlzIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSkgPyAnbXVzdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnaW4nKV0pIDogJycScQoGbm90X2luGAsgAygJQmHCSF4KXAoNc3RyaW5nLm5vdF9pbhpLdGhpcyBpbiBydWxlcy5ub3RfaW4gPyAnbXVzdCBub3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtydWxlcy5ub3RfaW5dKSA6ICcnEtkBCgVlbWFpbBgMIAEoCELHAcJIwwEKWwoMc3RyaW5nLmVtYWlsEh1tdXN0IGJlIGEgdmFsaWQgZW1haWwgYWRkcmVzcxosIXJ1bGVzLmVtYWlsIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0VtYWlsKCkKZAoSc3RyaW5nLmVtYWlsX2VtcHR5EjJ2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzcxoaIXJ1bGVzLmVtYWlsIHx8IHRoaXMgIT0gJydIABLhAQoIaG9zdG5hbWUYDSABKAhCzAHCSMgBCl8KD3N0cmluZy5ob3N0bmFtZRIYbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lGjIhcnVsZXMuaG9zdG5hbWUgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSG9zdG5hbWUoKQplChVzdHJpbmcuaG9zdG5hbWVfZW1wdHkSLXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBob3N0bmFtZRodIXJ1bGVzLmhvc3RuYW1lIHx8IHRoaXMgIT0gJydIABLBAQoCaXAYDiABKAhCsgHCSK4BCk8KCXN0cmluZy5pcBIabXVzdCBiZSBhIHZhbGlkIElQIGFkZHJlc3MaJiFydWxlcy5pcCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCgpClsKD3N0cmluZy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaFyFydWxlcy5pcCB8fCB0aGlzICE9ICcnSAAS0AEKBGlwdjQYDyABKAhCvwHCSLsBClYKC3N0cmluZy5pcHY0EhxtdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzGikhcnVsZXMuaXB2NCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcCg0KQphChFzdHJpbmcuaXB2NF9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjQgYWRkcmVzcxoZIXJ1bGVzLmlwdjQgfHwgdGhpcyAhPSAnJ0gAEtABCgRpcHY2GBAgASgIQr8Bwki7AQpWCgtzdHJpbmcuaXB2NhIcbXVzdCBiZSBhIHZhbGlkIElQdjYgYWRkcmVzcxopIXJ1bGVzLmlwdjYgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXAoNikKYQoRc3RyaW5nLmlwdjZfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3MaGSFydWxlcy5pcHY2IHx8IHRoaXMgIT0gJydIABK5AQoDdXJpGBEgASgIQqkBwkilAQpLCgpzdHJpbmcudXJpEhNtdXN0IGJlIGEgdmFsaWQgVVJJGighcnVsZXMudXJpIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc1VyaSgpClYKEHN0cmluZy51cmlfZW1wdHkSKHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVUkkaGCFydWxlcy51cmkgfHwgdGhpcyAhPSAnJ0gAEmoKB3VyaV9yZWYYEiABKAhCV8JIVApSCg5zdHJpbmcudXJpX3JlZhIdbXVzdCBiZSBhIHZhbGlkIFVSSSBSZWZlcmVuY2UaISFydWxlcy51cmlfcmVmIHx8IHRoaXMuaXNVcmlSZWYoKUgAEokCCgdhZGRyZXNzGBUgASgIQvUBwkjxAQp7Cg5zdHJpbmcuYWRkcmVzcxInbXVzdCBiZSBhIHZhbGlkIGhvc3RuYW1lLCBvciBpcCBhZGRyZXNzGkAhcnVsZXMuYWRkcmVzcyB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0bmFtZSgpIHx8IHRoaXMuaXNJcCgpCnIKFHN0cmluZy5hZGRyZXNzX2VtcHR5Ejx2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgaG9zdG5hbWUsIG9yIGlwIGFkZHJlc3MaHCFydWxlcy5hZGRyZXNzIHx8IHRoaXMgIT0gJydIABKSAgoEdXVpZBgWIAEoCEKBAsJI/QEKnwEKC3N0cmluZy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBp6IXJ1bGVzLnV1aWQgfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15bMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXsxMn0kJykKWQoRc3RyaW5nLnV1aWRfZW1wdHkSKXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBVVUlEGhkhcnVsZXMudXVpZCB8fCB0aGlzICE9ICcnSAAS6gEKBXR1dWlkGCEgASgIQtgBwkjUAQptCgxzdHJpbmcudHV1aWQSHG11c3QgYmUgYSB2YWxpZCB0cmltbWVkIFVVSUQaPyFydWxlcy50dXVpZCB8fCB0aGlzID09ICcnIHx8IHRoaXMubWF0Y2hlcygnXlswLTlhLWZBLUZdezMyfSQnKQpjChJzdHJpbmcudHV1aWRfZW1wdHkSMXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCB0cmltbWVkIFVVSUQaGiFydWxlcy50dXVpZCB8fCB0aGlzICE9ICcnSAASkAIKEWlwX3dpdGhfcHJlZml4bGVuGBogASgIQvIBwkjuAQpyChhzdHJpbmcuaXBfd2l0aF9wcmVmaXhsZW4SGW11c3QgYmUgYSB2YWxpZCBJUCBwcmVmaXgaOyFydWxlcy5pcF93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCgpCngKHnN0cmluZy5pcF93aXRoX3ByZWZpeGxlbl9lbXB0eRIudmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIHByZWZpeBomIXJ1bGVzLmlwX3dpdGhfcHJlZml4bGVuIHx8IHRoaXMgIT0gJydIABLJAgoTaXB2NF93aXRoX3ByZWZpeGxlbhgbIAEoCEKpAsJIpQIKjQEKGnN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuEi9tdXN0IGJlIGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBo+IXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCkKkgEKIHN0cmluZy5pcHY0X3dpdGhfcHJlZml4bGVuX2VtcHR5EkR2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzIHdpdGggcHJlZml4IGxlbmd0aBooIXJ1bGVzLmlwdjRfd2l0aF9wcmVmaXhsZW4gfHwgdGhpcyAhPSAnJ0gAEskCChNpcHY2X3dpdGhfcHJlZml4bGVuGBwgASgIQqkCwkilAgqNAQoac3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW4SL211c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGj4hcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCg2KQqSAQogc3RyaW5nLmlwdjZfd2l0aF9wcmVmaXhsZW5fZW1wdHkSRHZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBJUHY2IGFkZHJlc3Mgd2l0aCBwcmVmaXggbGVuZ3RoGighcnVsZXMuaXB2Nl93aXRoX3ByZWZpeGxlbiB8fCB0aGlzICE9ICcnSAAS7AEKCWlwX3ByZWZpeBgdIAEoCELWAcJI0gEKZgoQc3RyaW5nLmlwX3ByZWZpeBIZbXVzdCBiZSBhIHZhbGlkIElQIHByZWZpeBo3IXJ1bGVzLmlwX3ByZWZpeCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNJcFByZWZpeCh0cnVlKQpoChZzdHJpbmcuaXBfcHJlZml4X2VtcHR5Ei52YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVAgcHJlZml4Gh4hcnVsZXMuaXBfcHJlZml4IHx8IHRoaXMgIT0gJydIABL9AQoLaXB2NF9wcmVmaXgYHiABKAhC5QHCSOEBCm8KEnN0cmluZy5pcHY0X3ByZWZpeBIbbXVzdCBiZSBhIHZhbGlkIElQdjQgcHJlZml4GjwhcnVsZXMuaXB2NF9wcmVmaXggfHwgdGhpcyA9PSAnJyB8fCB0aGlzLmlzSXBQcmVmaXgoNCwgdHJ1ZSkKbgoYc3RyaW5nLmlwdjRfcHJlZml4X2VtcHR5EjB2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBwcmVmaXgaICFydWxlcy5pcHY0X3ByZWZpeCB8fCB0aGlzICE9ICcnSAAS/QEKC2lwdjZfcHJlZml4GB8gASgIQuUBwkjhAQpvChJzdHJpbmcuaXB2Nl9wcmVmaXgSG211c3QgYmUgYSB2YWxpZCBJUHY2IHByZWZpeBo8IXJ1bGVzLmlwdjZfcHJlZml4IHx8IHRoaXMgPT0gJycgfHwgdGhpcy5pc0lwUHJlZml4KDYsIHRydWUpCm4KGHN0cmluZy5pcHY2X3ByZWZpeF9lbXB0eRIwdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgcHJlZml4GiAhcnVsZXMuaXB2Nl9wcmVmaXggfHwgdGhpcyAhPSAnJ0gAEq8CCg1ob3N0X2FuZF9wb3J0GCAgASgIQpUCwkiRAgqTAQoUc3RyaW5nLmhvc3RfYW5kX3BvcnQSO211c3QgYmUgYSB2YWxpZCBob3N0IChob3N0bmFtZSBvciBJUCBhZGRyZXNzKSBhbmQgcG9ydCBwYWlyGj4hcnVsZXMuaG9zdF9hbmRfcG9ydCB8fCB0aGlzID09ICcnIHx8IHRoaXMuaXNIb3N0QW5kUG9ydCh0cnVlKQp5ChpzdHJpbmcuaG9zdF9hbmRfcG9ydF9lbXB0eRI3dmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIGhvc3QgYW5kIHBvcnQgcGFpchoiIXJ1bGVzLmhvc3RfYW5kX3BvcnQgfHwgdGhpcyAhPSAnJ0gAEu4BCgR1bGlkGCMgASgIQt0BwkjZAQp8CgtzdHJpbmcudWxpZBIUbXVzdCBiZSBhIHZhbGlkIFVMSUQaVyFydWxlcy51bGlkIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeWzAtN11bMC05QS1ISktNTlAtVFYtWmEtaGprbW5wLXR2LXpdezI1fSQnKQpZChFzdHJpbmcudWxpZF9lbXB0eRIpdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIFVMSUQaGSFydWxlcy51bGlkIHx8IHRoaXMgIT0gJydIABLUAgoMcHJvdG9idWZfZnFuGCUgASgIQrsCwki3AgqvAQoTc3RyaW5nLnByb3RvYnVmX2ZxbhItbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lGmkhcnVsZXMucHJvdG9idWZfZnFuIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCdeW0EtWmEtel9dW0EtWmEtel8wLTldKihcXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKSokJykKggEKGXN0cmluZy5wcm90b2J1Zl9mcW5fZW1wdHkSQnZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZRohIXJ1bGVzLnByb3RvYnVmX2ZxbiB8fCB0aGlzICE9ICcnSAASkQMKEHByb3RvYnVmX2RvdF9mcW4YJiABKAhC9ALCSPACCs0BChdzdHJpbmcucHJvdG9idWZfZG90X2ZxbhJAbXVzdCBiZSBhIHZhbGlkIGZ1bGx5LXF1YWxpZmllZCBQcm90b2J1ZiBuYW1lIHdpdGggYSBsZWFkaW5nIGRvdBpwIXJ1bGVzLnByb3RvYnVmX2RvdF9mcW4gfHwgdGhpcyA9PSAnJyB8fCB0aGlzLm1hdGNoZXMoJ15cXC5bQS1aYS16X11bQS1aYS16XzAtOV0qKFxcLltBLVphLXpfXVtBLVphLXpfMC05XSopKiQnKQqdAQodc3RyaW5nLnByb3RvYnVmX2RvdF9mcW5fZW1wdHkSVXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBmdWxseS1xdWFsaWZpZWQgUHJvdG9idWYgbmFtZSB3aXRoIGEgbGVhZGluZyBkb3QaJSFydWxlcy5wcm90b2J1Zl9kb3RfZnFuIHx8IHRoaXMgIT0gJydIABKcBQoQd2VsbF9rbm93bl9yZWdleBgYIAEoDjIYLmJ1Zi52YWxpZGF0ZS5Lbm93blJlZ2V4QuUEwkjhBArqAQojc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWUSIG11c3QgYmUgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGqABcnVsZXMud2VsbF9rbm93bl9yZWdleCAhPSAxIHx8IHRoaXMgPT0gJycgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeOj9bMC05YS16QS1aISMkJSZcJyorLS5eX3x+XHg2MF0rJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKyQnKQqNAQopc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX25hbWVfZW1wdHkSNXZhbHVlIGlzIGVtcHR5LCB3aGljaCBpcyBub3QgYSB2YWxpZCBIVFRQIGhlYWRlciBuYW1lGilydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDEgfHwgdGhpcyAhPSAnJwrhAQokc3RyaW5nLndlbGxfa25vd25fcmVnZXguaGVhZGVyX3ZhbHVlEiFtdXN0IGJlIGEgdmFsaWQgSFRUUCBoZWFkZXIgdmFsdWUalQFydWxlcy53ZWxsX2tub3duX3JlZ2V4ICE9IDIgfHwgdGhpcy5tYXRjaGVzKCFoYXMocnVsZXMuc3RyaWN0KSB8fCBydWxlcy5zdHJpY3QgPydeW15cdTAwMDAtXHUwMDA4XHUwMDBBLVx1MDAxRlx1MDA3Rl0qJCcgOideW15cdTAwMDBcdTAwMEFcdTAwMERdKiQnKUgAEg4KBnN0cmljdBgZIAEoCBIsCgdleGFtcGxlGCIgAygJQhvCSBgKFgoOc3RyaW5nLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkIMCgp3ZWxsX2tub3duIt0RCgpCeXRlc1J1bGVzEnoKBWNvbnN0GAEgASgMQmvCSGgKZgoLYnl0ZXMuY29uc3QaV3RoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgYmUgJXgnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxJrCgNsZW4YDSABKARCXsJIWwpZCglieXRlcy5sZW4aTHVpbnQodGhpcy5zaXplKCkpICE9IHJ1bGVzLmxlbiA/ICdtdXN0IGJlICVzIGJ5dGVzJy5mb3JtYXQoW3J1bGVzLmxlbl0pIDogJycSgwEKB21pbl9sZW4YAiABKARCcsJIbwptCg1ieXRlcy5taW5fbGVuGlx1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9sZW4gPyAnbXVzdCBiZSBhdCBsZWFzdCAlcyBieXRlcycuZm9ybWF0KFtydWxlcy5taW5fbGVuXSkgOiAnJxKCAQoHbWF4X2xlbhgDIAEoBEJxwkhuCmwKDWJ5dGVzLm1heF9sZW4aW3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2xlbiA/ICdtdXN0IGJlIGF0IG1vc3QgJXMgYnl0ZXMnLmZvcm1hdChbcnVsZXMubWF4X2xlbl0pIDogJycSigEKB3BhdHRlcm4YBCABKAlCecJIdgp0Cg1ieXRlcy5wYXR0ZXJuGmMhc3RyaW5nKHRoaXMpLm1hdGNoZXMocnVsZXMucGF0dGVybikgPyAnbXVzdCBtYXRjaCByZWdleCBwYXR0ZXJuIGAlc2AnLmZvcm1hdChbcnVsZXMucGF0dGVybl0pIDogJycSewoGcHJlZml4GAUgASgMQmvCSGgKZgoMYnl0ZXMucHJlZml4GlYhdGhpcy5zdGFydHNXaXRoKHJ1bGVzLnByZWZpeCkgPyAnZG9lcyBub3QgaGF2ZSBwcmVmaXggJXgnLmZvcm1hdChbcnVsZXMucHJlZml4XSkgOiAnJxJ5CgZzdWZmaXgYBiABKAxCacJIZgpkCgxieXRlcy5zdWZmaXgaVCF0aGlzLmVuZHNXaXRoKHJ1bGVzLnN1ZmZpeCkgPyAnZG9lcyBub3QgaGF2ZSBzdWZmaXggJXgnLmZvcm1hdChbcnVsZXMuc3VmZml4XSkgOiAnJxJ9Cghjb250YWlucxgHIAEoDEJrwkhoCmYKDmJ5dGVzLmNvbnRhaW5zGlQhdGhpcy5jb250YWlucyhydWxlcy5jb250YWlucykgPyAnZG9lcyBub3QgY29udGFpbiAleCcuZm9ybWF0KFtydWxlcy5jb250YWluc10pIDogJycSoQEKAmluGAggAygMQpQBwkiQAQqNAQoIYnl0ZXMuaW4agAFnZXRGaWVsZChydWxlcywgJ2luJykuc2l6ZSgpID4gMCAmJiAhKHRoaXMgaW4gZ2V0RmllbGQocnVsZXMsICdpbicpKSA/ICdtdXN0IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdpbicpXSkgOiAnJxJwCgZub3RfaW4YCSADKAxCYMJIXQpbCgxieXRlcy5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxLlAQoCaXAYCiABKAhC1gHCSNIBCm4KCGJ5dGVzLmlwEhptdXN0IGJlIGEgdmFsaWQgSVAgYWRkcmVzcxpGIXJ1bGVzLmlwIHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNCB8fCB0aGlzLnNpemUoKSA9PSAxNgpgCg5ieXRlcy5pcF9lbXB0eRIvdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQIGFkZHJlc3MaHSFydWxlcy5pcCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3gEKBGlwdjQYCyABKAhCzQHCSMkBCl8KCmJ5dGVzLmlwdjQSHG11c3QgYmUgYSB2YWxpZCBJUHY0IGFkZHJlc3MaMyFydWxlcy5pcHY0IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gNApmChBieXRlcy5pcHY0X2VtcHR5EjF2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgSVB2NCBhZGRyZXNzGh8hcnVsZXMuaXB2NCB8fCB0aGlzLnNpemUoKSAhPSAwSAAS3wEKBGlwdjYYDCABKAhCzgHCSMoBCmAKCmJ5dGVzLmlwdjYSHG11c3QgYmUgYSB2YWxpZCBJUHY2IGFkZHJlc3MaNCFydWxlcy5pcHY2IHx8IHRoaXMuc2l6ZSgpID09IDAgfHwgdGhpcy5zaXplKCkgPT0gMTYKZgoQYnl0ZXMuaXB2Nl9lbXB0eRIxdmFsdWUgaXMgZW1wdHksIHdoaWNoIGlzIG5vdCBhIHZhbGlkIElQdjYgYWRkcmVzcxofIXJ1bGVzLmlwdjYgfHwgdGhpcy5zaXplKCkgIT0gMEgAEs8BCgR1dWlkGA8gASgIQr4Bwki6AQpYCgpieXRlcy51dWlkEhRtdXN0IGJlIGEgdmFsaWQgVVVJRBo0IXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgPT0gMCB8fCB0aGlzLnNpemUoKSA9PSAxNgpeChBieXRlcy51dWlkX2VtcHR5Eil2YWx1ZSBpcyBlbXB0eSwgd2hpY2ggaXMgbm90IGEgdmFsaWQgVVVJRBofIXJ1bGVzLnV1aWQgfHwgdGhpcy5zaXplKCkgIT0gMEgAEisKB2V4YW1wbGUYDiADKAxCGsJIFwoVCg1ieXRlcy5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAJCDAoKd2VsbF9rbm93biLBAwoJRW51bVJ1bGVzEnwKBWNvbnN0GAEgASgFQm3CSGoKaAoKZW51bS5jb25zdBpadGhpcyAhPSBnZXRGaWVsZChydWxlcywgJ2NvbnN0JykgPyAnbXVzdCBlcXVhbCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2NvbnN0JyldKSA6ICcnEhQKDGRlZmluZWRfb25seRgCIAEoCBJ4CgJpbhgDIAMoBUJswkhpCmcKB2VudW0uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEm8KBm5vdF9pbhgEIAMoBUJfwkhcCloKC2VudW0ubm90X2luGkt0aGlzIGluIHJ1bGVzLm5vdF9pbiA/ICdtdXN0IG5vdCBiZSBpbiBsaXN0ICVzJy5mb3JtYXQoW3J1bGVzLm5vdF9pbl0pIDogJycSKgoHZXhhbXBsZRgFIAMoBUIZwkgWChQKDGVudW0uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACIu0DCg1SZXBlYXRlZFJ1bGVzEpYBCgltaW5faXRlbXMYASABKARCggHCSH8KfQoScmVwZWF0ZWQubWluX2l0ZW1zGmd1aW50KHRoaXMuc2l6ZSgpKSA8IHJ1bGVzLm1pbl9pdGVtcyA/ICdtdXN0IGNvbnRhaW4gYXQgbGVhc3QgJWQgaXRlbShzKScuZm9ybWF0KFtydWxlcy5taW5faXRlbXNdKSA6ICcnEpwBCgltYXhfaXRlbXMYAiABKARCiAHCSIQBCoEBChJyZXBlYXRlZC5tYXhfaXRlbXMaa3VpbnQodGhpcy5zaXplKCkpID4gcnVsZXMubWF4X2l0ZW1zID8gJ211c3QgY29udGFpbiBubyBtb3JlIHRoYW4gJXMgaXRlbShzKScuZm9ybWF0KFtydWxlcy5tYXhfaXRlbXNdKSA6ICcnEnAKBnVuaXF1ZRgDIAEoCEJgwkhdClsKD3JlcGVhdGVkLnVuaXF1ZRIocmVwZWF0ZWQgdmFsdWUgbXVzdCBjb250YWluIHVuaXF1ZSBpdGVtcxoeIXJ1bGVzLnVuaXF1ZSB8fCB0aGlzLnVuaXF1ZSgpEicKBWl0ZW1zGAQgASgLMhguYnVmLnZhbGlkYXRlLkZpZWxkUnVsZXMqCQjoBxCAgICAAiKKAwoITWFwUnVsZXMSjwEKCW1pbl9wYWlycxgBIAEoBEJ8wkh5CncKDW1hcC5taW5fcGFpcnMaZnVpbnQodGhpcy5zaXplKCkpIDwgcnVsZXMubWluX3BhaXJzID8gJ21hcCBtdXN0IGJlIGF0IGxlYXN0ICVkIGVudHJpZXMnLmZvcm1hdChbcnVsZXMubWluX3BhaXJzXSkgOiAnJxKOAQoJbWF4X3BhaXJzGAIgASgEQnvCSHgKdgoNbWFwLm1heF9wYWlycxpldWludCh0aGlzLnNpemUoKSkgPiBydWxlcy5tYXhfcGFpcnMgPyAnbWFwIG11c3QgYmUgYXQgbW9zdCAlZCBlbnRyaWVzJy5mb3JtYXQoW3J1bGVzLm1heF9wYWlyc10pIDogJycSJgoEa2V5cxgEIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzEigKBnZhbHVlcxgFIAEoCzIYLmJ1Zi52YWxpZGF0ZS5GaWVsZFJ1bGVzKgkI6AcQgICAgAIiJgoIQW55UnVsZXMSCgoCaW4YAiADKAkSDgoGbm90X2luGAMgAygJIr8WCg1EdXJhdGlvblJ1bGVzEpsBCgVjb25zdBgCIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJxwkhuCmwKDmR1cmF0aW9uLmNvbnN0Glp0aGlzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKSA/ICdtdXN0IGVxdWFsICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKV0pIDogJycSogEKAmx0GAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnnCSHYKdAoLZHVyYXRpb24ubHQaZSFoYXMocnVsZXMuZ3RlKSAmJiAhaGFzKHJ1bGVzLmd0KSAmJiB0aGlzID49IHJ1bGVzLmx0PyAnbXVzdCBiZSBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMubHRdKSA6ICcnSAAStAEKA2x0ZRgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkKJAcJIhQEKggEKDGR1cmF0aW9uLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASowcKAmd0GAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQvkGwkj1Bgp3CgtkdXJhdGlvbi5ndBpoIWhhcyhydWxlcy5sdCkgJiYgIWhhcyhydWxlcy5sdGUpICYmIHRoaXMgPD0gcnVsZXMuZ3Q/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndF0pIDogJycKsAEKDmR1cmF0aW9uLmd0X2x0Gp0BaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndCAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0XSkgOiAnJwq4AQoYZHVyYXRpb24uZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwAEKD2R1cmF0aW9uLmd0X2x0ZRqsAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndCAmJiAodGhpcyA+IHJ1bGVzLmx0ZSB8fCB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIGFuZCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3QsIHJ1bGVzLmx0ZV0pIDogJycKyAEKGWR1cmF0aW9uLmd0X2x0ZV9leGNsdXNpdmUaqgFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndCAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDw9IHJ1bGVzLmd0KT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRlXSkgOiAnJ0gBEu8HCgNndGUYBiABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CxAfCSMAHCoUBCgxkdXJhdGlvbi5ndGUadSFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDwgcnVsZXMuZ3RlPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlXSkgOiAnJwq/AQoPZHVyYXRpb24uZ3RlX2x0GqsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPj0gcnVsZXMubHQgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRdKSA6ICcnCscBChlkdXJhdGlvbi5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrPAQoQZHVyYXRpb24uZ3RlX2x0ZRq6AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA+PSBydWxlcy5ndGUgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZSwgcnVsZXMubHRlXSkgOiAnJwrXAQoaZHVyYXRpb24uZ3RlX2x0ZV9leGNsdXNpdmUauAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPCBydWxlcy5ndGUgJiYgKHJ1bGVzLmx0ZSA8IHRoaXMgJiYgdGhpcyA8IHJ1bGVzLmd0ZSk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAlcyBvciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdGVdKSA6ICcnSAESlwEKAmluGAcgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQnDCSG0KawoLZHVyYXRpb24uaW4aXCEodGhpcyBpbiBnZXRGaWVsZChydWxlcywgJ2luJykpID8gJ211c3QgYmUgaW4gbGlzdCAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEo4BCgZub3RfaW4YCCADKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25CY8JIYApeCg9kdXJhdGlvbi5ub3RfaW4aS3RoaXMgaW4gcnVsZXMubm90X2luID8gJ211c3Qgbm90IGJlIGluIGxpc3QgJXMnLmZvcm1hdChbcnVsZXMubm90X2luXSkgOiAnJxJJCgdleGFtcGxlGAkgAygLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQh3CSBoKGAoQZHVyYXRpb24uZXhhbXBsZRoEdHJ1ZSoJCOgHEICAgIACQgsKCWxlc3NfdGhhbkIOCgxncmVhdGVyX3RoYW4i6wUKDkZpZWxkTWFza1J1bGVzErkBCgVjb25zdBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCjQHCSIkBCoYBChBmaWVsZF9tYXNrLmNvbnN0GnJ0aGlzLnBhdGhzICE9IGdldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRocyA/ICdtdXN0IGVxdWFsIHBhdGhzICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnY29uc3QnKS5wYXRoc10pIDogJycS0wEKAmluGAIgAygJQsYBwkjCAQq/AQoNZmllbGRfbWFzay5pbhqtASF0aGlzLnBhdGhzLmFsbChwLCBwIGluIGdldEZpZWxkKHJ1bGVzLCAnaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ2luJykuZXhpc3RzKGYsIHAuc3RhcnRzV2l0aChmKycuJykpKSA/ICdtdXN0IG9ubHkgY29udGFpbiBwYXRocyBpbiAlcycuZm9ybWF0KFtnZXRGaWVsZChydWxlcywgJ2luJyldKSA6ICcnEu0BCgZub3RfaW4YAyADKAlC3AHCSNgBCtUBChFmaWVsZF9tYXNrLm5vdF9pbhq/ASF0aGlzLnBhdGhzLmFsbChwLCAhKHAgaW4gZ2V0RmllbGQocnVsZXMsICdub3RfaW4nKSB8fCBnZXRGaWVsZChydWxlcywgJ25vdF9pbicpLmV4aXN0cyhmLCBwLnN0YXJ0c1dpdGgoZisnLicpKSkpID8gJ211c3Qgbm90IGNvbnRhaW4gYW55IHBhdGhzIGluICVzJy5mb3JtYXQoW2dldEZpZWxkKHJ1bGVzLCAnbm90X2luJyldKSA6ICcnEkwKB2V4YW1wbGUYBCADKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQh/CSBwKGgoSZmllbGRfbWFzay5leGFtcGxlGgR0cnVlKgkI6AcQgICAgAIisBcKDlRpbWVzdGFtcFJ1bGVzEp0BCgVjb25zdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCcsJIbwptCg90aW1lc3RhbXAuY29uc3QaWnRoaXMgIT0gZ2V0RmllbGQocnVsZXMsICdjb25zdCcpID8gJ211c3QgZXF1YWwgJXMnLmZvcm1hdChbZ2V0RmllbGQocnVsZXMsICdjb25zdCcpXSkgOiAnJxKkAQoCbHQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnrCSHcKdQoMdGltZXN0YW1wLmx0GmUhaGFzKHJ1bGVzLmd0ZSkgJiYgIWhhcyhydWxlcy5ndCkgJiYgdGhpcyA+PSBydWxlcy5sdD8gJ211c3QgYmUgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmx0XSkgOiAnJ0gAErYBCgNsdGUYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQooBwkiGAQqDAQoNdGltZXN0YW1wLmx0ZRpyIWhhcyhydWxlcy5ndGUpICYmICFoYXMocnVsZXMuZ3QpICYmIHRoaXMgPiBydWxlcy5sdGU/ICdtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5sdGVdKSA6ICcnSAASZgoGbHRfbm93GAcgASgIQlTCSFEKTwoQdGltZXN0YW1wLmx0X25vdxo7KHJ1bGVzLmx0X25vdyAmJiB0aGlzID4gbm93KSA/ICdtdXN0IGJlIGxlc3MgdGhhbiBub3cnIDogJydIABKpBwoCZ3QYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQv4Gwkj6Bgp4Cgx0aW1lc3RhbXAuZ3QaaCFoYXMocnVsZXMubHQpICYmICFoYXMocnVsZXMubHRlKSAmJiB0aGlzIDw9IHJ1bGVzLmd0PyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RdKSA6ICcnCrEBCg90aW1lc3RhbXAuZ3RfbHQanQFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ICYmICh0aGlzID49IHJ1bGVzLmx0IHx8IHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgYW5kIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndCwgcnVsZXMubHRdKSA6ICcnCrkBChl0aW1lc3RhbXAuZ3RfbHRfZXhjbHVzaXZlGpsBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdCA8PSB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdF0pIDogJycKwQEKEHRpbWVzdGFtcC5ndF9sdGUarAFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3QgJiYgKHRoaXMgPiBydWxlcy5sdGUgfHwgdGhpcyA8PSBydWxlcy5ndCk/ICdtdXN0IGJlIGdyZWF0ZXIgdGhhbiAlcyBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnCskBChp0aW1lc3RhbXAuZ3RfbHRlX2V4Y2x1c2l2ZRqqAWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ICYmIChydWxlcy5sdGUgPCB0aGlzICYmIHRoaXMgPD0gcnVsZXMuZ3QpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gJXMgb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0LCBydWxlcy5sdGVdKSA6ICcnSAES9QcKA2d0ZRgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCyQfCSMUHCoYBCg10aW1lc3RhbXAuZ3RlGnUhaGFzKHJ1bGVzLmx0KSAmJiAhaGFzKHJ1bGVzLmx0ZSkgJiYgdGhpcyA8IHJ1bGVzLmd0ZT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzJy5mb3JtYXQoW3J1bGVzLmd0ZV0pIDogJycKwAEKEHRpbWVzdGFtcC5ndGVfbHQaqwFoYXMocnVsZXMubHQpICYmIHJ1bGVzLmx0ID49IHJ1bGVzLmd0ZSAmJiAodGhpcyA+PSBydWxlcy5sdCB8fCB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIGFuZCBsZXNzIHRoYW4gJXMnLmZvcm1hdChbcnVsZXMuZ3RlLCBydWxlcy5sdF0pIDogJycKyAEKGnRpbWVzdGFtcC5ndGVfbHRfZXhjbHVzaXZlGqkBaGFzKHJ1bGVzLmx0KSAmJiBydWxlcy5sdCA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHQgPD0gdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0XSkgOiAnJwrQAQoRdGltZXN0YW1wLmd0ZV9sdGUaugFoYXMocnVsZXMubHRlKSAmJiBydWxlcy5sdGUgPj0gcnVsZXMuZ3RlICYmICh0aGlzID4gcnVsZXMubHRlIHx8IHRoaXMgPCBydWxlcy5ndGUpPyAnbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gJXMgYW5kIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJycK2AEKG3RpbWVzdGFtcC5ndGVfbHRlX2V4Y2x1c2l2ZRq4AWhhcyhydWxlcy5sdGUpICYmIHJ1bGVzLmx0ZSA8IHJ1bGVzLmd0ZSAmJiAocnVsZXMubHRlIDwgdGhpcyAmJiB0aGlzIDwgcnVsZXMuZ3RlKT8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICVzIG9yIGxlc3MgdGhhbiBvciBlcXVhbCB0byAlcycuZm9ybWF0KFtydWxlcy5ndGUsIHJ1bGVzLmx0ZV0pIDogJydIARJpCgZndF9ub3cYCCABKAhCV8JIVApSChB0aW1lc3RhbXAuZ3Rfbm93Gj4ocnVsZXMuZ3Rfbm93ICYmIHRoaXMgPCBub3cpID8gJ211c3QgYmUgZ3JlYXRlciB0aGFuIG5vdycgOiAnJ0gBErEBCgZ3aXRoaW4YCSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb25ChQHCSIEBCn8KEHRpbWVzdGFtcC53aXRoaW4aa3RoaXMgPCBub3ctcnVsZXMud2l0aGluIHx8IHRoaXMgPiBub3crcnVsZXMud2l0aGluID8gJ211c3QgYmUgd2l0aGluICVzIG9mIG5vdycuZm9ybWF0KFtydWxlcy53aXRoaW5dKSA6ICcnEksKB2V4YW1wbGUYCiADKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQh7CSBsKGQoRdGltZXN0YW1wLmV4YW1wbGUaBHRydWUqCQjoBxCAgICAAkILCglsZXNzX3RoYW5CDgoMZ3JlYXRlcl90aGFuIjkKClZpb2xhdGlvbnMSKwoKdmlvbGF0aW9ucxgBIAMoCzIXLmJ1Zi52YWxpZGF0ZS5WaW9sYXRpb24inwEKCVZpb2xhdGlvbhImCgVmaWVsZBgFIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSJQoEcnVsZRgGIAEoCzIXLmJ1Zi52YWxpZGF0ZS5GaWVsZFBhdGgSDwoHcnVsZV9pZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg8KB2Zvcl9rZXkYBCABKAhKBAgBEAJSCmZpZWxkX3BhdGgiPQoJRmllbGRQYXRoEjAKCGVsZW1lbnRzGAEgAygLMh4uYnVmLnZhbGlkYXRlLkZpZWxkUGF0aEVsZW1lbnQi6QIKEEZpZWxkUGF0aEVsZW1lbnQSFAoMZmllbGRfbnVtYmVyGAEgASgFEhIKCmZpZWxkX25hbWUYAiABKAkSPgoKZmllbGRfdHlwZRgDIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEjwKCGtleV90eXBlGAQgASgOMiouZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvLlR5cGUSPgoKdmFsdWVfdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlEg8KBWluZGV4GAYgASgESAASEgoIYm9vbF9rZXkYByABKAhIABIRCgdpbnRfa2V5GAggASgDSAASEgoIdWludF9rZXkYCSABKARIABIUCgpzdHJpbmdfa2V5GAogASgJSABCCwoJc3Vic2NyaXB0KqEBCgZJZ25vcmUSFgoSSUdOT1JFX1VOU1BFQ0lGSUVEEAASGAoUSUdOT1JFX0lGX1pFUk9fVkFMVUUQARIRCg1JR05PUkVfQUxXQVlTEAMiBAgCEAIqDElHTk9SRV9FTVBUWSoOSUdOT1JFX0RFRkFVTFQqF0lHTk9SRV9JRl9ERUZBVUxUX1ZBTFVFKhVJR05PUkVfSUZfVU5QT1BVTEFURUQqbgoKS25vd25SZWdleBIbChdLTk9XTl9SRUdFWF9VTlNQRUNJRklFRBAAEiAKHEtOT1dOX1JFR0VYX0hUVFBfSEVBREVSX05BTUUQARIhCh1LTk9XTl9SRUdFWF9IVFRQX0hFQURFUl9WQUxVRRACOlYKB21lc3NhZ2USHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhwkgASgLMhouYnVmLnZhbGlkYXRlLk1lc3NhZ2VSdWxlc1IHbWVzc2FnZTpOCgVvbmVvZhIdLmdvb2dsZS5wcm90b2J1Zi5PbmVvZk9wdGlvbnMYhwkgASgLMhguYnVmLnZhbGlkYXRlLk9uZW9mUnVsZXNSBW9uZW9mOk4KBWZpZWxkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxiHCSABKAsyGC5idWYudmFsaWRhdGUuRmllbGRSdWxlc1IFZmllbGQ6XQoKcHJlZGVmaW5lZBIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMYiAkgASgLMh0uYnVmLnZhbGlkYXRlLlByZWRlZmluZWRSdWxlc1IKcHJlZGVmaW5lZEJuChJidWlsZC5idWYudmFsaWRhdGVCDVZhbGlkYXRlUHJvdG9QAVpHYnVmLmJ1aWxkL2dlbi9nby9idWZidWlsZC9wcm90b3ZhbGlkYXRlL3Byb3RvY29sYnVmZmVycy9nby9idWYvdmFsaWRhdGU",[file_google_protobuf_descriptor,file_google_protobuf_duration,file_google_protobuf_field_mask,file_google_protobuf_timestamp]);var Ignore;(function(Ignore2){Ignore2[Ignore2.UNSPECIFIED=0]="UNSPECIFIED",Ignore2[Ignore2.IF_ZERO_VALUE=1]="IF_ZERO_VALUE",Ignore2[Ignore2.ALWAYS=3]="ALWAYS"})(Ignore||(Ignore={}));var KnownRegex;(function(KnownRegex2){KnownRegex2[KnownRegex2.UNSPECIFIED=0]="UNSPECIFIED",KnownRegex2[KnownRegex2.HTTP_HEADER_NAME=1]="HTTP_HEADER_NAME",KnownRegex2[KnownRegex2.HTTP_HEADER_VALUE=2]="HTTP_HEADER_VALUE"})(KnownRegex||(KnownRegex={}));var file_ai_stigmer_agentic_environment_v1_spec=fileDesc("CixhaS9zdGlnbWVyL2FnZW50aWMvZW52aXJvbm1lbnQvdjEvc3BlYy5wcm90bxIhYWkuc3RpZ21lci5hZ2VudGljLmVudmlyb25tZW50LnYxItQBCg9FbnZpcm9ubWVudFNwZWMSEwoLZGVzY3JpcHRpb24YASABKAkSSgoEZGF0YRgCIAMoCzI8LmFpLnN0aWdtZXIuYWdlbnRpYy5lbnZpcm9ubWVudC52MS5FbnZpcm9ubWVudFNwZWMuRGF0YUVudHJ5GmAKCURhdGFFbnRyeRILCgNrZXkYASABKAkSQgoFdmFsdWUYAiABKAsyMy5haS5zdGlnbWVyLmFnZW50aWMuZW52aXJvbm1lbnQudjEuRW52aXJvbm1lbnRWYWx1ZToCOAEiSQoQRW52aXJvbm1lbnRWYWx1ZRINCgV2YWx1ZRgBIAEoCRIRCglpc19zZWNyZXQYAiABKAgSEwoLZGVzY3JpcHRpb24YAyABKAkiTQoRRW52VmFyRGVjbGFyYXRpb24SEQoJaXNfc2VjcmV0GAEgASgIEhMKC2Rlc2NyaXB0aW9uGAIgASgJEhAKCG9wdGlvbmFsGAMgASgIYgZwcm90bzM");var EnvVarDeclarationSchema=messageDesc2(file_ai_stigmer_agentic_environment_v1_spec,2);var file_ai_stigmer_commons_apiresource_field_options=fileDesc("CjJhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvZmllbGRfb3B0aW9ucy5wcm90bxIeYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlOjsKCGNvbXB1dGVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjZwAUgASgIUghjb21wdXRlZDo9CglpbW11dGFibGUSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zGNrABSABKAhSCWltbXV0YWJsZTpECg1pc19leHByZXNzaW9uEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjbwAUgASgIUgxpc0V4cHJlc3Npb246hwEKDnJlZmVyZW5jZV9raW5kEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjcwAUgASgOMj8uYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLmFwaXJlc291cmNla2luZC5BcGlSZXNvdXJjZUtpbmRSDXJlZmVyZW5jZUtpbmQ6TQoQZGlzY3JpbWluYXRlZF9ieRIdLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY3cAFIAEoCVIPZGlzY3JpbWluYXRlZEJ5iAEBOlUKE2Rpc2NyaW1pbmF0b3JfdmFsdWUSHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYvcEFIAEoCVISZGlzY3JpbWluYXRvclZhbHVliAEBYgZwcm90bzM",[file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_kind,file_google_protobuf_descriptor]);var file_ai_stigmer_commons_apiresource_enum=fileDesc("CilhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvZW51bS5wcm90bxIeYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlKnYKFEFwaVJlc291cmNlRXZlbnRUeXBlEg8KC3Vuc3BlY2lmaWVkEAASCwoHY3JlYXRlZBABEgsKB3VwZGF0ZWQQAhILCgdkZWxldGVkEAMSCwoHcmVuYW1lZBAEEhkKFXN0YWNrX291dHB1dHNfdXBkYXRlZBAFKowBCh1BcGlSZXNvdXJjZVN0YXRlT3BlcmF0aW9uVHlwZRIxCi1hcGlfcmVzb3VyY2Vfc3RhdGVfb3BlcmF0aW9uX3R5cGVfdW5zcGVjaWZpZWQQABIKCgZjcmVhdGUQARIKCgZ1cGRhdGUQAhIKCgZkZWxldGUQAxIICgRyZWFkEAQSCgoGc3RyZWFtEAUqnAEKFUFwaVJlc291cmNlVmlzaWJpbGl0eRInCiNhcGlfcmVzb3VyY2VfdmlzaWJpbGl0eV91bnNwZWNpZmllZBAAEhYKEnZpc2liaWxpdHlfcHJpdmF0ZRABEhUKEXZpc2liaWxpdHlfcHVibGljEAISEgoOdmlzaWJpbGl0eV9vcmcQAxIXChN2aXNpYmlsaXR5X3BsYXRmb3JtEARiBnByb3RvMw"),ApiResourceEventType;(function(ApiResourceEventType2){ApiResourceEventType2[ApiResourceEventType2.unspecified=0]="unspecified",ApiResourceEventType2[ApiResourceEventType2.created=1]="created",ApiResourceEventType2[ApiResourceEventType2.updated=2]="updated",ApiResourceEventType2[ApiResourceEventType2.deleted=3]="deleted",ApiResourceEventType2[ApiResourceEventType2.renamed=4]="renamed",ApiResourceEventType2[ApiResourceEventType2.stack_outputs_updated=5]="stack_outputs_updated"})(ApiResourceEventType||(ApiResourceEventType={}));var ApiResourceStateOperationType;(function(ApiResourceStateOperationType2){ApiResourceStateOperationType2[ApiResourceStateOperationType2.api_resource_state_operation_type_unspecified=0]="api_resource_state_operation_type_unspecified",ApiResourceStateOperationType2[ApiResourceStateOperationType2.create=1]="create",ApiResourceStateOperationType2[ApiResourceStateOperationType2.update=2]="update",ApiResourceStateOperationType2[ApiResourceStateOperationType2.delete=3]="delete",ApiResourceStateOperationType2[ApiResourceStateOperationType2.read=4]="read",ApiResourceStateOperationType2[ApiResourceStateOperationType2.stream=5]="stream"})(ApiResourceStateOperationType||(ApiResourceStateOperationType={}));var ApiResourceVisibility;(function(ApiResourceVisibility2){ApiResourceVisibility2[ApiResourceVisibility2.api_resource_visibility_unspecified=0]="api_resource_visibility_unspecified",ApiResourceVisibility2[ApiResourceVisibility2.visibility_private=1]="visibility_private",ApiResourceVisibility2[ApiResourceVisibility2.visibility_public=2]="visibility_public",ApiResourceVisibility2[ApiResourceVisibility2.visibility_org=3]="visibility_org",ApiResourceVisibility2[ApiResourceVisibility2.visibility_platform=4]="visibility_platform"})(ApiResourceVisibility||(ApiResourceVisibility={}));var file_ai_stigmer_commons_apiresource_io=fileDesc("CidhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvaW8ucHJvdG8SHmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZSImCg1BcGlSZXNvdXJjZUlkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEiXQoWQXBpUmVzb3VyY2VEZWxldGVJbnB1dBIbCgtyZXNvdXJjZV9pZBgBIAEoCUIGukgDyAEBEhcKD3ZlcnNpb25fbWVzc2FnZRgCIAEoCRINCgVmb3JjZRgDIAEoCCJKCh1BcGlSZXNvdXJjZUJ5T3JnQnlTbHVnUmVxdWVzdBITCgNvcmcYASABKAlCBrpIA8gBARIUCgRzbHVnGAIgASgJQga6SAPIAQEilAEKF0ZpbmRBcGlSZXNvdXJjZXNSZXF1ZXN0EhMKA29yZxgBIAEoCUIGukgDyAEBEgwKBGtpbmQYAyABKAkSLgoEcGFnZRgEIAEoCzIgLmFpLnN0aWdtZXIuY29tbW9ucy5ycGMuUGFnZUluZm8SEwoLcGFnZV9udW1iZXIYBSABKAUSEQoJcGFnZV9zaXplGAYgASgFIosBChVVcGRhdGVWaXNpYmlsaXR5SW5wdXQSGwoLcmVzb3VyY2VfaWQYASABKAlCBrpIA8gBARJVCgp2aXNpYmlsaXR5GAIgASgOMjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlVmlzaWJpbGl0eUIKukgHggEEEAEgACKWAgoUQXBpUmVzb3VyY2VSZWZlcmVuY2USMgoDb3JnGAEgASgJQiW6SCJyIBg/MhxeJHxeW2Etel1bYS16MC05LV0qW2EtejAtOV0kEk0KBGtpbmQYAiABKA4yPy5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkFwaVJlc291cmNlS2luZBI1CgRzbHVnGAMgASgJQie6SCTIAQFyHxACGD8yGV5bYS16XVthLXowLTktXSpbYS16MC05XSQSRAoHdmVyc2lvbhgEIAEoCUIzukgwci4yLF4kfF5sYXRlc3QkfF5bYS16QS1aMC05Ll8tXSskfF5bYS1mMC05XXs2NH0kYgZwcm90bzM",[file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_kind,file_ai_stigmer_commons_apiresource_enum,file_ai_stigmer_commons_rpc_pagination,file_buf_validate_validate]);var ApiResourceReferenceSchema=messageDesc2(file_ai_stigmer_commons_apiresource_io,5);var file_ai_stigmer_agentic_agent_v1_spec=fileDesc("CiZhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnQvdjEvc3BlYy5wcm90bxIbYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxIrAFCglBZ2VudFNwZWMSEwoLZGVzY3JpcHRpb24YASABKAkSEAoIaWNvbl91cmwYAiABKAkSHQoMaW5zdHJ1Y3Rpb25zGAMgASgJQge6SARyAhAKEs4BChFtY3Bfc2VydmVyX3VzYWdlcxgEIAMoCzIrLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5NY3BTZXJ2ZXJVc2FnZUKFAbpIgQGSAX4ifLoBeQoWbWNwX3NlcnZlcl91c2FnZXMua2luZBI/bWNwX3NlcnZlcl91c2FnZXMgbXVzdCByZWZlcmVuY2UgcmVzb3VyY2VzIHdpdGgga2luZD1tY3Bfc2VydmVyGh50aGlzLm1jcF9zZXJ2ZXJfcmVmLmtpbmQgPT0gNDQSsAEKCnNraWxsX3JlZnMYBSADKAsyNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2VCZrpIX5IBXCJaugFXCg9za2lsbF9yZWZzLmtpbmQSM3NraWxsX3JlZnMgbXVzdCByZWZlcmVuY2UgcmVzb3VyY2VzIHdpdGgga2luZD1za2lsbBoPdGhpcy5raW5kID09IDQz4IUsKxI5CgpzdWJfYWdlbnRzGAYgAygLMiUuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLlN1YkFnZW50EjwKA2VudhgHIAMoCzIvLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudFNwZWMuRW52RW50cnkaYAoIRW52RW50cnkSCwoDa2V5GAEgASgJEkMKBXZhbHVlGAIgASgLMjQuYWkuc3RpZ21lci5hZ2VudGljLmVudmlyb25tZW50LnYxLkVudlZhckRlY2xhcmF0aW9uOgI4ASLbAgoIU3ViQWdlbnQSFAoEbmFtZRgBIAEoCUIGukgDyAEBEhMKC2Rlc2NyaXB0aW9uGAIgASgJEh0KDGluc3RydWN0aW9ucxgDIAEoCUIHukgEcgIQChI6CgptY3BfYWNjZXNzGAQgAygLMiYuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLk1jcEFjY2VzcxKwAQoKc2tpbGxfcmVmcxgFIAMoCzI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZUJmukhfkgFcIlq6AVcKD3NraWxsX3JlZnMua2luZBIzc2tpbGxfcmVmcyBtdXN0IHJlZmVyZW5jZSByZXNvdXJjZXMgd2l0aCBraW5kPXNraWxsGg90aGlzLmtpbmQgPT0gNDPghSwrEhYKDm1vZGVsX292ZXJyaWRlGAYgASgJItUBCg5NY3BTZXJ2ZXJVc2FnZRJYCg5tY3Bfc2VydmVyX3JlZhgBIAEoCzI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZUIKukgDyAEB4IUsLBIVCg1lbmFibGVkX3Rvb2xzGAIgAygJElIKF3Rvb2xfYXBwcm92YWxfb3ZlcnJpZGVzGAMgAygLMjEuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLlRvb2xBcHByb3ZhbE92ZXJyaWRlIj4KCU1jcEFjY2VzcxIaCgptY3Bfc2VydmVyGAEgASgJQga6SAPIAQESFQoNZW5hYmxlZF90b29scxgCIAMoCSJeChRUb29sQXBwcm92YWxPdmVycmlkZRIaCgl0b29sX25hbWUYASABKAlCB7pIBHICEAESGQoRcmVxdWlyZXNfYXBwcm92YWwYAiABKAgSDwoHbWVzc2FnZRgDIAEoCWIGcHJvdG8z",[file_ai_stigmer_agentic_environment_v1_spec,file_ai_stigmer_commons_apiresource_field_options,file_ai_stigmer_commons_apiresource_io,file_buf_validate_validate]),AgentSpecSchema=messageDesc2(file_ai_stigmer_agentic_agent_v1_spec,0),SubAgentSchema=messageDesc2(file_ai_stigmer_agentic_agent_v1_spec,1),McpServerUsageSchema=messageDesc2(file_ai_stigmer_agentic_agent_v1_spec,2),McpAccessSchema=messageDesc2(file_ai_stigmer_agentic_agent_v1_spec,3),ToolApprovalOverrideSchema=messageDesc2(file_ai_stigmer_agentic_agent_v1_spec,4);var file_ai_stigmer_commons_apiresource_status=fileDesc("CithaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2Uvc3RhdHVzLnByb3RvEh5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UiWQoWQXBpUmVzb3VyY2VBdWRpdFN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0IqgBChBBcGlSZXNvdXJjZUF1ZGl0EkgKCnNwZWNfYXVkaXQYASABKAsyNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VBdWRpdEluZm8SSgoMc3RhdHVzX2F1ZGl0GAIgASgLMjQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXRJbmZvIpsCChRBcGlSZXNvdXJjZUF1ZGl0SW5mbxJJCgpjcmVhdGVkX2J5GAEgASgLMjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXRBY3RvchIuCgpjcmVhdGVkX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBJJCgp1cGRhdGVkX2J5GAMgASgLMjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXRBY3RvchIuCgp1cGRhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgVldmVudBgFIAEoCSIzChVBcGlSZXNvdXJjZUF1ZGl0QWN0b3ISCgoCaWQYASABKAkSDgoGYXZhdGFyGAIgASgJYgZwcm90bzM",[file_google_protobuf_timestamp]);var file_ai_stigmer_agentic_agent_v1_status=fileDesc("CihhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnQvdjEvc3RhdHVzLnByb3RvEhthaS5zdGlnbWVyLmFnZW50aWMuYWdlbnQudjEiawoLQWdlbnRTdGF0dXMSPwoFYXVkaXQYYyABKAsyMC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VBdWRpdBIbChNkZWZhdWx0X2luc3RhbmNlX2lkGAEgASgJYgZwcm90bzM",[file_ai_stigmer_commons_apiresource_status]);var file_ai_stigmer_commons_apiresource_metadata=fileDesc("Ci1haS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvbWV0YWRhdGEucHJvdG8SHmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZSK4BAoTQXBpUmVzb3VyY2VNZXRhZGF0YRIUCgRuYW1lGAEgASgJQga6SAPYAQESMwoEc2x1ZxgCIAEoCUIlukgi2AEBch0QAjIZXlthLXpdW2EtejAtOS1dKlthLXowLTldJBIKCgJpZBgDIAEoCRILCgNvcmcYBCABKAkSUwoKdmlzaWJpbGl0eRgFIAEoDjI1LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVZpc2liaWxpdHlCCLpIBYIBAhABEk8KBmxhYmVscxgGIAMoCzI/LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhLkxhYmVsc0VudHJ5ElkKC2Fubm90YXRpb25zGAcgAygLMkQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlTWV0YWRhdGEuQW5ub3RhdGlvbnNFbnRyeRIMCgR0YWdzGAggAygJEksKB3ZlcnNpb24YCSABKAsyOi5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VNZXRhZGF0YVZlcnNpb24aLQoLTGFiZWxzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARoyChBBbm5vdGF0aW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiYwoaQXBpUmVzb3VyY2VNZXRhZGF0YVZlcnNpb24SCgoCaWQYASABKAkSDwoHbWVzc2FnZRgCIAEoCRIbChNwcmV2aW91c192ZXJzaW9uX2lkGAMgASgJEgsKA3RhZxgEIAEoCWIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_enum,file_buf_validate_validate]),ApiResourceMetadataSchema=messageDesc2(file_ai_stigmer_commons_apiresource_metadata,0);var file_ai_stigmer_agentic_agent_v1_api=fileDesc("CiVhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnQvdjEvYXBpLnByb3RvEhthaS5zdGlnbWVyLmFnZW50aWMuYWdlbnQudjEilQIKBUFnZW50EjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEhoKBGtpbmQYAiABKAlCDLpICXIHCgVBZ2VudBJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESNAoEc3BlYxgEIAEoCzImLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudFNwZWMSOAoGc3RhdHVzGAUgASgLMiguYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLkFnZW50U3RhdHVzYgZwcm90bzM",[file_ai_stigmer_agentic_agent_v1_spec,file_ai_stigmer_agentic_agent_v1_status,file_ai_stigmer_commons_apiresource_metadata,file_buf_validate_validate]),AgentSchema=messageDesc2(file_ai_stigmer_agentic_agent_v1_api,0);var file_ai_stigmer_agentic_agent_v1_io=fileDesc("CiRhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnQvdjEvaW8ucHJvdG8SG2FpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MSIgCgdBZ2VudElkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEiLgoWR2V0RGVmYXVsdEFnZW50UmVxdWVzdBIUCgNvcmcYASABKAlCB7pIBHICEAFiBnByb3RvMw",[file_buf_validate_validate]);var file_ai_stigmer_commons_apiresource_rpc_service_options=fileDesc("CjhhaS9zdGlnbWVyL2NvbW1vbnMvYXBpcmVzb3VyY2UvcnBjX3NlcnZpY2Vfb3B0aW9ucy5wcm90bxIeYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlOo4BChFhcGlfcmVzb3VyY2Vfa2luZBIfLmdvb2dsZS5wcm90b2J1Zi5TZXJ2aWNlT3B0aW9ucxj0vwUgASgOMj8uYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLmFwaXJlc291cmNla2luZC5BcGlSZXNvdXJjZUtpbmRSD2FwaVJlc291cmNlS2luZGIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_kind,file_google_protobuf_descriptor]);var file_ai_stigmer_agentic_agent_v1_command=fileDesc("CilhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnQvdjEvY29tbWFuZC5wcm90bxIbYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxMskFChZBZ2VudENvbW1hbmRDb250cm9sbGVyEk8KBWFwcGx5EiIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLkFnZW50GiIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLkFnZW50EpsBCgZjcmVhdGUSIi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnQudjEuQWdlbnQaIi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnQudjEuQWdlbnQiScK4GEUIBhAeIgxtZXRhZGF0YS5vcmcqMXVuYXV0aG9yaXplZCB0byBjcmVhdGUgYWdlbnQgaW4gdGhpcyBvcmdhbml6YXRpb24ShQEKBnVwZGF0ZRIiLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudBoiLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudCIzwrgYLwgCECgiC21ldGFkYXRhLmlkKhx1bmF1dGhvcml6ZWQgdG8gdXBkYXRlIGFnZW50Eq0BChB1cGRhdGVWaXNpYmlsaXR5EjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLlVwZGF0ZVZpc2liaWxpdHlJbnB1dBoiLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudCI+wrgYOggCECgiC3Jlc291cmNlX2lkKid1bmF1dGhvcml6ZWQgdG8gdXBkYXRlIGFnZW50IHZpc2liaWxpdHkSgQEKBmRlbGV0ZRIkLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudElkGiIuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLkFnZW50Ii3CuBgpCAMQKCIFdmFsdWUqHHVuYXV0aG9yaXplZCB0byBkZWxldGUgYWdlbnQaBKD/KyhiBnByb3RvMw",[file_ai_stigmer_agentic_agent_v1_api,file_ai_stigmer_agentic_agent_v1_io,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),AgentCommandController=serviceDesc(file_ai_stigmer_agentic_agent_v1_command,0);var file_ai_stigmer_agentic_agent_v1_query=fileDesc("CidhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnQvdjEvcXVlcnkucHJvdG8SG2FpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MTL4AgoUQWdlbnRRdWVyeUNvbnRyb2xsZXISewoDZ2V0EiQuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLkFnZW50SWQaIi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnQudjEuQWdlbnQiKsK4GCYIARAoIgV2YWx1ZSoZdW5hdXRob3JpemVkIHRvIGdldCBhZ2VudBJwCg5nZXRCeVJlZmVyZW5jZRI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZRoiLmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudC52MS5BZ2VudCIE0LgYARJrCgpnZXREZWZhdWx0EjMuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50LnYxLkdldERlZmF1bHRBZ2VudFJlcXVlc3QaIi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnQudjEuQWdlbnQiBNC4GAEaBKD/KyhiBnByb3RvMw",[file_ai_stigmer_agentic_agent_v1_api,file_ai_stigmer_agentic_agent_v1_io,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),AgentQueryController=serviceDesc(file_ai_stigmer_agentic_agent_v1_query,0);var file_ai_stigmer_search_v1_io=fileDesc("Ch1haS9zdGlnbWVyL3NlYXJjaC92MS9pby5wcm90bxIUYWkuc3RpZ21lci5zZWFyY2gudjEilQIKDVNlYXJjaFJlcXVlc3QSXQoFa2luZHMYASADKA4yPy5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkFwaVJlc291cmNlS2luZEINukgKkgEHIgWCAQIQARIXCgVxdWVyeRgCIAEoCUIIukgFcgMY9AMSKgoDb3JnGAMgASgJQh26SBpyGBg/MhReJHxeW2Etel1bYS16MC05LV0qJBIWCg5leGNsdWRlX3B1YmxpYxgEIAEoCBIuCgRwYWdlGAUgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mbxIYChBjcm9zc19vcmdfcHVibGljGAYgASgIIvQBCg5TZWFyY2hSZXNwb25zZRIzCgdlbnRyaWVzGAEgAygLMiIuYWkuc3RpZ21lci5zZWFyY2gudjEuU2VhcmNoUmVzdWx0Ek4KDmNvdW50c19ieV9raW5kGAIgAygLMjYuYWkuc3RpZ21lci5zZWFyY2gudjEuU2VhcmNoUmVzcG9uc2UuQ291bnRzQnlLaW5kRW50cnkSEwoLdG90YWxfY291bnQYAyABKAUSEwoLdG90YWxfcGFnZXMYBCABKAUaMwoRQ291bnRzQnlLaW5kRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgFOgI4ASKZAwoMU2VhcmNoUmVzdWx0Ek0KBGtpbmQYASABKA4yPy5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuYXBpcmVzb3VyY2VraW5kLkFwaVJlc291cmNlS2luZBIKCgJpZBgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBHNsdWcYBCABKAkSFgoOcXVhbGlmaWVkX3NsdWcYBSABKAkSCwoDb3JnGAYgASgJEhMKC2Rlc2NyaXB0aW9uGAcgASgJEkkKCnZpc2liaWxpdHkYCCABKA4yNS5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VWaXNpYmlsaXR5EgwKBHRhZ3MYCSADKAkSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFc2NvcmUYDCABKAISEAoIaWNvbl91cmwYDSABKAliBnByb3RvMw",[file_ai_stigmer_commons_apiresource_apiresourcekind_api_resource_kind,file_ai_stigmer_commons_apiresource_enum,file_ai_stigmer_commons_rpc_pagination,file_buf_validate_validate,file_google_protobuf_timestamp]);var SearchResponseSchema=messageDesc2(file_ai_stigmer_search_v1_io,1);var file_ai_stigmer_search_v1_query=fileDesc("CiBhaS9zdGlnbWVyL3NlYXJjaC92MS9xdWVyeS5wcm90bxIUYWkuc3RpZ21lci5zZWFyY2gudjEyagoNU2VhcmNoU2VydmljZRJZCgZzZWFyY2gSIy5haS5zdGlnbWVyLnNlYXJjaC52MS5TZWFyY2hSZXF1ZXN0GiQuYWkuc3RpZ21lci5zZWFyY2gudjEuU2VhcmNoUmVzcG9uc2UiBNC4GAFiBnByb3RvMw",[file_ai_stigmer_commons_rpc_method_options,file_ai_stigmer_search_v1_io]),SearchService=serviceDesc(file_ai_stigmer_search_v1_query,0);var file_ai_stigmer_agentic_agentexecution_v1_enum=fileDesc("Ci9haS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvZW51bS5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxKv8BCg5FeGVjdXRpb25QaGFzZRIfChtFWEVDVVRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIVChFFWEVDVVRJT05fUEVORElORxABEhkKFUVYRUNVVElPTl9JTl9QUk9HUkVTUxACEhcKE0VYRUNVVElPTl9DT01QTEVURUQQAxIUChBFWEVDVVRJT05fRkFJTEVEEAQSFwoTRVhFQ1VUSU9OX0NBTkNFTExFRBAFEhgKFEVYRUNVVElPTl9URVJNSU5BVEVEEAgSIgoeRVhFQ1VUSU9OX1dBSVRJTkdfRk9SX0FQUFJPVkFMEAYSFAoQRVhFQ1VUSU9OX1BBVVNFRBAHKooBCgtNZXNzYWdlVHlwZRIcChhNRVNTQUdFX1RZUEVfVU5TUEVDSUZJRUQQABIRCg1NRVNTQUdFX0hVTUFOEAESDgoKTUVTU0FHRV9BSRACEhAKDE1FU1NBR0VfVE9PTBADEhIKDk1FU1NBR0VfU1lTVEVNEAQSFAoQTUVTU0FHRV9USElOS0lORxAFKsYBCg5Ub29sQ2FsbFN0YXR1cxIgChxUT09MX0NBTExfU1RBVFVTX1VOU1BFQ0lGSUVEEAASFQoRVE9PTF9DQUxMX1BFTkRJTkcQARIVChFUT09MX0NBTExfUlVOTklORxACEhcKE1RPT0xfQ0FMTF9DT01QTEVURUQQAxIUChBUT09MX0NBTExfRkFJTEVEEAQSHgoaVE9PTF9DQUxMX1dBSVRJTkdfQVBQUk9WQUwQBRIVChFUT09MX0NBTExfU0tJUFBFRBAGKs4CCghUb29sS2luZBIZChVUT09MX0tJTkRfVU5TUEVDSUZJRUQQABIXChNUT09MX0tJTkRfRklMRV9SRUFEEAESGAoUVE9PTF9LSU5EX0ZJTEVfV1JJVEUQAhIXChNUT09MX0tJTkRfRklMRV9FRElUEAMSGQoVVE9PTF9LSU5EX0ZJTEVfREVMRVRFEAQSEwoPVE9PTF9LSU5EX1NIRUxMEAUSFAoQVE9PTF9LSU5EX1NFQVJDSBAGEhIKDlRPT0xfS0lORF9MSVNUEAcSEwoPVE9PTF9LSU5EX0ZFVENIEAgSGAoUVE9PTF9LSU5EX1dFQl9TRUFSQ0gQCRITCg9UT09MX0tJTkRfVEhJTksQChISCg5UT09MX0tJTkRfVE9ETxALEhYKElRPT0xfS0lORF9TVUJBR0VOVBAMEhEKDVRPT0xfS0lORF9NQ1AQDSp5CgpUb2RvU3RhdHVzEhsKF1RPRE9fU1RBVFVTX1VOU1BFQ0lGSUVEEAASEAoMVE9ET19QRU5ESU5HEAESFAoQVE9ET19JTl9QUk9HUkVTUxACEhIKDlRPRE9fQ09NUExFVEVEEAMSEgoOVE9ET19DQU5DRUxMRUQQBCqsAQoOU3ViQWdlbnRTdGF0dXMSIAocU1VCX0FHRU5UX1NUQVRVU19VTlNQRUNJRklFRBAAEhUKEVNVQl9BR0VOVF9QRU5ESU5HEAESGQoVU1VCX0FHRU5UX0lOX1BST0dSRVNTEAISFwoTU1VCX0FHRU5UX0NPTVBMRVRFRBADEhQKEFNVQl9BR0VOVF9GQUlMRUQQBBIXChNTVUJfQUdFTlRfQ0FOQ0VMTEVEEAUqiQEKFUV4ZWN1dGlvbkFydGlmYWN0S2luZBInCiNFWEVDVVRJT05fQVJUSUZBQ1RfS0lORF9VTlNQRUNJRklFRBAAEiAKHEVYRUNVVElPTl9BUlRJRkFDVF9LSU5EX0ZJTEUQARIlCiFFWEVDVVRJT05fQVJUSUZBQ1RfS0lORF9ESVJFQ1RPUlkQAipfChNTdW1tYXJpemF0aW9uU291cmNlEiQKIFNVTU1BUklaQVRJT05fU09VUkNFX1VOU1BFQ0lGSUVEEAASDwoLZ3JhcGhfc3RhcnQQARIRCg1taWRfZXhlY3V0aW9uEAIqkgEKF1Rvb2xDYWxsU3RyZWFtaW5nU291cmNlEioKJlRPT0xfQ0FMTF9TVFJFQU1JTkdfU09VUkNFX1VOU1BFQ0lGSUVEEAASJAogVE9PTF9DQUxMX1NUUkVBTUlOR19TT1VSQ0VfSU5QVVQQARIlCiFUT09MX0NBTExfU1RSRUFNSU5HX1NPVVJDRV9PVVRQVVQQAiqLAQoWRXhlY3V0aW9uQ29udHJvbFNpZ25hbBIoCiRFWEVDVVRJT05fQ09OVFJPTF9TSUdOQUxfVU5TUEVDSUZJRUQQABIhCh1FWEVDVVRJT05fQ09OVFJPTF9TSUdOQUxfU1RPUBABEiQKIEVYRUNVVElPTl9DT05UUk9MX1NJR05BTF9XQVJOSU5HEAIqpQEKDkFwcHJvdmFsQWN0aW9uEh8KG0FQUFJPVkFMX0FDVElPTl9VTlNQRUNJRklFRBAAEhsKF0FQUFJPVkFMX0FDVElPTl9BUFBST1ZFEAESGAoUQVBQUk9WQUxfQUNUSU9OX1NLSVAQAhIaChZBUFBST1ZBTF9BQ1RJT05fUkVKRUNUEAMSHwobQVBQUk9WQUxfQUNUSU9OX0FQUFJPVkVfQUxMEAQqagoPSW50ZXJhY3Rpb25Nb2RlEiAKHElOVEVSQUNUSU9OX01PREVfVU5TUEVDSUZJRUQQABIaChZJTlRFUkFDVElPTl9NT0RFX0FHRU5UEAESGQoVSU5URVJBQ1RJT05fTU9ERV9QTEFOEAJiBnByb3RvMw"),ExecutionPhase;(function(ExecutionPhase3){ExecutionPhase3[ExecutionPhase3.EXECUTION_PHASE_UNSPECIFIED=0]="EXECUTION_PHASE_UNSPECIFIED",ExecutionPhase3[ExecutionPhase3.EXECUTION_PENDING=1]="EXECUTION_PENDING",ExecutionPhase3[ExecutionPhase3.EXECUTION_IN_PROGRESS=2]="EXECUTION_IN_PROGRESS",ExecutionPhase3[ExecutionPhase3.EXECUTION_COMPLETED=3]="EXECUTION_COMPLETED",ExecutionPhase3[ExecutionPhase3.EXECUTION_FAILED=4]="EXECUTION_FAILED",ExecutionPhase3[ExecutionPhase3.EXECUTION_CANCELLED=5]="EXECUTION_CANCELLED",ExecutionPhase3[ExecutionPhase3.EXECUTION_TERMINATED=8]="EXECUTION_TERMINATED",ExecutionPhase3[ExecutionPhase3.EXECUTION_WAITING_FOR_APPROVAL=6]="EXECUTION_WAITING_FOR_APPROVAL",ExecutionPhase3[ExecutionPhase3.EXECUTION_PAUSED=7]="EXECUTION_PAUSED"})(ExecutionPhase||(ExecutionPhase={}));var MessageType;(function(MessageType2){MessageType2[MessageType2.MESSAGE_TYPE_UNSPECIFIED=0]="MESSAGE_TYPE_UNSPECIFIED",MessageType2[MessageType2.MESSAGE_HUMAN=1]="MESSAGE_HUMAN",MessageType2[MessageType2.MESSAGE_AI=2]="MESSAGE_AI",MessageType2[MessageType2.MESSAGE_TOOL=3]="MESSAGE_TOOL",MessageType2[MessageType2.MESSAGE_SYSTEM=4]="MESSAGE_SYSTEM",MessageType2[MessageType2.MESSAGE_THINKING=5]="MESSAGE_THINKING"})(MessageType||(MessageType={}));var ToolCallStatus;(function(ToolCallStatus2){ToolCallStatus2[ToolCallStatus2.TOOL_CALL_STATUS_UNSPECIFIED=0]="TOOL_CALL_STATUS_UNSPECIFIED",ToolCallStatus2[ToolCallStatus2.TOOL_CALL_PENDING=1]="TOOL_CALL_PENDING",ToolCallStatus2[ToolCallStatus2.TOOL_CALL_RUNNING=2]="TOOL_CALL_RUNNING",ToolCallStatus2[ToolCallStatus2.TOOL_CALL_COMPLETED=3]="TOOL_CALL_COMPLETED",ToolCallStatus2[ToolCallStatus2.TOOL_CALL_FAILED=4]="TOOL_CALL_FAILED",ToolCallStatus2[ToolCallStatus2.TOOL_CALL_WAITING_APPROVAL=5]="TOOL_CALL_WAITING_APPROVAL",ToolCallStatus2[ToolCallStatus2.TOOL_CALL_SKIPPED=6]="TOOL_CALL_SKIPPED"})(ToolCallStatus||(ToolCallStatus={}));var ToolKind;(function(ToolKind2){ToolKind2[ToolKind2.UNSPECIFIED=0]="UNSPECIFIED",ToolKind2[ToolKind2.FILE_READ=1]="FILE_READ",ToolKind2[ToolKind2.FILE_WRITE=2]="FILE_WRITE",ToolKind2[ToolKind2.FILE_EDIT=3]="FILE_EDIT",ToolKind2[ToolKind2.FILE_DELETE=4]="FILE_DELETE",ToolKind2[ToolKind2.SHELL=5]="SHELL",ToolKind2[ToolKind2.SEARCH=6]="SEARCH",ToolKind2[ToolKind2.LIST=7]="LIST",ToolKind2[ToolKind2.FETCH=8]="FETCH",ToolKind2[ToolKind2.WEB_SEARCH=9]="WEB_SEARCH",ToolKind2[ToolKind2.THINK=10]="THINK",ToolKind2[ToolKind2.TODO=11]="TODO",ToolKind2[ToolKind2.SUBAGENT=12]="SUBAGENT",ToolKind2[ToolKind2.MCP=13]="MCP"})(ToolKind||(ToolKind={}));var TodoStatus;(function(TodoStatus2){TodoStatus2[TodoStatus2.TODO_STATUS_UNSPECIFIED=0]="TODO_STATUS_UNSPECIFIED",TodoStatus2[TodoStatus2.TODO_PENDING=1]="TODO_PENDING",TodoStatus2[TodoStatus2.TODO_IN_PROGRESS=2]="TODO_IN_PROGRESS",TodoStatus2[TodoStatus2.TODO_COMPLETED=3]="TODO_COMPLETED",TodoStatus2[TodoStatus2.TODO_CANCELLED=4]="TODO_CANCELLED"})(TodoStatus||(TodoStatus={}));var SubAgentStatus;(function(SubAgentStatus2){SubAgentStatus2[SubAgentStatus2.SUB_AGENT_STATUS_UNSPECIFIED=0]="SUB_AGENT_STATUS_UNSPECIFIED",SubAgentStatus2[SubAgentStatus2.SUB_AGENT_PENDING=1]="SUB_AGENT_PENDING",SubAgentStatus2[SubAgentStatus2.SUB_AGENT_IN_PROGRESS=2]="SUB_AGENT_IN_PROGRESS",SubAgentStatus2[SubAgentStatus2.SUB_AGENT_COMPLETED=3]="SUB_AGENT_COMPLETED",SubAgentStatus2[SubAgentStatus2.SUB_AGENT_FAILED=4]="SUB_AGENT_FAILED",SubAgentStatus2[SubAgentStatus2.SUB_AGENT_CANCELLED=5]="SUB_AGENT_CANCELLED"})(SubAgentStatus||(SubAgentStatus={}));var ExecutionArtifactKind;(function(ExecutionArtifactKind2){ExecutionArtifactKind2[ExecutionArtifactKind2.UNSPECIFIED=0]="UNSPECIFIED",ExecutionArtifactKind2[ExecutionArtifactKind2.FILE=1]="FILE",ExecutionArtifactKind2[ExecutionArtifactKind2.DIRECTORY=2]="DIRECTORY"})(ExecutionArtifactKind||(ExecutionArtifactKind={}));var SummarizationSource;(function(SummarizationSource2){SummarizationSource2[SummarizationSource2.SUMMARIZATION_SOURCE_UNSPECIFIED=0]="SUMMARIZATION_SOURCE_UNSPECIFIED",SummarizationSource2[SummarizationSource2.graph_start=1]="graph_start",SummarizationSource2[SummarizationSource2.mid_execution=2]="mid_execution"})(SummarizationSource||(SummarizationSource={}));var ToolCallStreamingSource;(function(ToolCallStreamingSource2){ToolCallStreamingSource2[ToolCallStreamingSource2.UNSPECIFIED=0]="UNSPECIFIED",ToolCallStreamingSource2[ToolCallStreamingSource2.INPUT=1]="INPUT",ToolCallStreamingSource2[ToolCallStreamingSource2.OUTPUT=2]="OUTPUT"})(ToolCallStreamingSource||(ToolCallStreamingSource={}));var ExecutionControlSignal;(function(ExecutionControlSignal2){ExecutionControlSignal2[ExecutionControlSignal2.UNSPECIFIED=0]="UNSPECIFIED",ExecutionControlSignal2[ExecutionControlSignal2.STOP=1]="STOP",ExecutionControlSignal2[ExecutionControlSignal2.WARNING=2]="WARNING"})(ExecutionControlSignal||(ExecutionControlSignal={}));var ApprovalAction;(function(ApprovalAction2){ApprovalAction2[ApprovalAction2.UNSPECIFIED=0]="UNSPECIFIED",ApprovalAction2[ApprovalAction2.APPROVE=1]="APPROVE",ApprovalAction2[ApprovalAction2.SKIP=2]="SKIP",ApprovalAction2[ApprovalAction2.REJECT=3]="REJECT",ApprovalAction2[ApprovalAction2.APPROVE_ALL=4]="APPROVE_ALL"})(ApprovalAction||(ApprovalAction={}));var InteractionMode;(function(InteractionMode2){InteractionMode2[InteractionMode2.UNSPECIFIED=0]="UNSPECIFIED",InteractionMode2[InteractionMode2.AGENT=1]="AGENT",InteractionMode2[InteractionMode2.PLAN=2]="PLAN"})(InteractionMode||(InteractionMode={}));var file_ai_stigmer_agentic_agentexecution_v1_approval=fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvYXBwcm92YWwucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MSLpAgoPUGVuZGluZ0FwcHJvdmFsEhQKDHRvb2xfY2FsbF9pZBgBIAEoCRIRCgl0b29sX25hbWUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIUCgxhcmdzX3ByZXZpZXcYBCABKAkSFAoMcmVxdWVzdGVkX2F0GAUgASgJEhYKDmZyb21fc3ViX2FnZW50GAYgASgIEhYKDnN1Yl9hZ2VudF9uYW1lGAcgASgJEhcKD21jcF9zZXJ2ZXJfc2x1ZxgIIAEoCRIZChFzdWJfYWdlbnRfc3ViamVjdBgJIAEoCRIXCg9hZ2VudF9yYXRpb25hbGUYCiABKAkSFgoOYnJhbmNoX2F0X2RlbnkYCyABKAkSGAoQaGVhZF9zaGFfYXRfZGVueRgMIAEoCRJBCgl0b29sX2tpbmQYDSABKA4yLi5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuVG9vbEtpbmQigwEKGUNoaWxkQXBwcm92YWxOb3RpZmljYXRpb24SFAoMZXhlY3V0aW9uX2lkGAEgASgJElAKEXBlbmRpbmdfYXBwcm92YWxzGAIgAygLMjUuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlBlbmRpbmdBcHByb3ZhbGIGcHJvdG8z",[file_ai_stigmer_agentic_agentexecution_v1_enum]);var file_ai_stigmer_agentic_executioncontext_v1_spec=fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvZXhlY3V0aW9uY29udGV4dC92MS9zcGVjLnByb3RvEiZhaS5zdGlnbWVyLmFnZW50aWMuZXhlY3V0aW9uY29udGV4dC52MSLwAQoURXhlY3V0aW9uQ29udGV4dFNwZWMSHQoMZXhlY3V0aW9uX2lkGAEgASgJQge6SARyAhABElQKBGRhdGEYAiADKAsyRi5haS5zdGlnbWVyLmFnZW50aWMuZXhlY3V0aW9uY29udGV4dC52MS5FeGVjdXRpb25Db250ZXh0U3BlYy5EYXRhRW50cnkaYwoJRGF0YUVudHJ5EgsKA2tleRgBIAEoCRJFCgV2YWx1ZRgCIAEoCzI2LmFpLnN0aWdtZXIuYWdlbnRpYy5leGVjdXRpb25jb250ZXh0LnYxLkV4ZWN1dGlvblZhbHVlOgI4ASIyCg5FeGVjdXRpb25WYWx1ZRINCgV2YWx1ZRgBIAEoCRIRCglpc19zZWNyZXQYAiABKAhiBnByb3RvMw",[file_buf_validate_validate]);var file_ai_stigmer_agentic_agentexecution_v1_spec=fileDesc("Ci9haS9zdGlnbWVyL2FnZW50aWMvYWdlbnRleGVjdXRpb24vdjEvc3BlYy5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxIr4EChJBZ2VudEV4ZWN1dGlvblNwZWMSEgoKc2Vzc2lvbl9pZBgBIAEoCRIQCghhZ2VudF9pZBgCIAEoCRIYCgdtZXNzYWdlGAMgASgJQge6SARyAhABEk8KEGV4ZWN1dGlvbl9jb25maWcYBCABKAsyNS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuRXhlY3V0aW9uQ29uZmlnEl0KC3J1bnRpbWVfZW52GAUgAygLMkguYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFnZW50RXhlY3V0aW9uU3BlYy5SdW50aW1lRW52RW50cnkSFgoOY2FsbGJhY2tfdG9rZW4YBiABKAwSGAoQYXV0b19hcHByb3ZlX2FsbBgHIAEoCBIaChJwYXJlbnRfd29ya2Zsb3dfaWQYCCABKAkSRQoLYXR0YWNobWVudHMYCSADKAsyMC5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuQXR0YWNobWVudBIbChN3b3Jrc3BhY2VfZmlsZV9yZWZzGAogAygJEhsKE2FjdGl2aXR5X3Rhc2tfcXVldWUYCyABKAkaaQoPUnVudGltZUVudkVudHJ5EgsKA2tleRgBIAEoCRJFCgV2YWx1ZRgCIAEoCzI2LmFpLnN0aWdtZXIuYWdlbnRpYy5leGVjdXRpb25jb250ZXh0LnYxLkV4ZWN1dGlvblZhbHVlOgI4ASLkAgoPRXhlY3V0aW9uQ29uZmlnEhIKCm1vZGVsX25hbWUYASABKAkSWQoSY29udGV4dF9tYW5hZ2VtZW50GAIgASgLMj0uYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkNvbnRleHRNYW5hZ2VtZW50Q29uZmlnEhcKD21heF90b29sX3JvdW5kcxgDIAEoBRIdChVtYXhfdG9vbF9yZXN1bHRfY2hhcnMYBCABKAUSFAoMbWF4X2Nvc3RfdXNkGAUgASgBElkKEGludGVyYWN0aW9uX21vZGUYBiABKA4yNS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuSW50ZXJhY3Rpb25Nb2RlQgi6SAWCAQIQARI5ChhzdHJ1Y3R1cmVkX291dHB1dF9zY2hlbWEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IooBChdDb250ZXh0TWFuYWdlbWVudENvbmZpZxIdChVkaXNhYmxlX3N1bW1hcml6YXRpb24YASABKAgSKQoYY3VzdG9tX3RyaWdnZXJfdGhyZXNob2xkGAIgASgFQge6SAQaAigAEiUKFGN1c3RvbV90YXJnZXRfdG9rZW5zGAMgASgFQge6SAQaAigAIpQBCgpBdHRhY2htZW50EhkKCGZpbGVuYW1lGAEgASgJQge6SARyAhABEhwKC3N0b3JhZ2Vfa2V5GAIgASgJQge6SARyAhABEhIKCm1vdW50X3BhdGgYAyABKAkSFAoMY29udGVudF90eXBlGAQgASgJEg8KB2V4dHJhY3QYBSABKAgSEgoKbG9jYWxfcGF0aBgGIAEoCWIGcHJvdG8z",[file_ai_stigmer_agentic_agentexecution_v1_enum,file_ai_stigmer_agentic_executioncontext_v1_spec,file_buf_validate_validate,file_google_protobuf_struct]);var ContextManagementConfigSchema=messageDesc2(file_ai_stigmer_agentic_agentexecution_v1_spec,2);var file_ai_stigmer_agentic_mcpserver_v1_spec=fileDesc("CiphaS9zdGlnbWVyL2FnZW50aWMvbWNwc2VydmVyL3YxL3NwZWMucHJvdG8SH2FpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEi6QQKDU1jcFNlcnZlclNwZWMSEwoLZGVzY3JpcHRpb24YASABKAkSEAoIaWNvbl91cmwYAiABKAkSDAoEdGFncxgDIAMoCRJDCgVzdGRpbxgEIAEoCzIyLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuU3RkaW9TZXJ2ZXJDb25maWdIABJBCgRodHRwGAUgASgLMjEuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5IdHRwU2VydmVyQ29uZmlnSAASHQoVZGVmYXVsdF9lbmFibGVkX3Rvb2xzGAcgAygJEkQKA2VudhgIIAMoCzI3LmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuTWNwU2VydmVyU3BlYy5FbnZFbnRyeRJSChVwaW5uZWRfdG9vbF9hcHByb3ZhbHMYCyADKAsyMy5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLlRvb2xBcHByb3ZhbFBvbGljeRIWCg5yZXBvc2l0b3J5X3VybBgMIAEoCRIUCgxnaXRodWJfc3RhcnMYDSABKAUSPAoEYXV0aBgOIAEoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuTWNwU2VydmVyQXV0aBpgCghFbnZFbnRyeRILCgNrZXkYASABKAkSQwoFdmFsdWUYAiABKAsyNC5haS5zdGlnbWVyLmFnZW50aWMuZW52aXJvbm1lbnQudjEuRW52VmFyRGVjbGFyYXRpb246AjgBQhQKC3NlcnZlcl90eXBlEgW6SAIIASJPChFTdGRpb1NlcnZlckNvbmZpZxIXCgdjb21tYW5kGAEgASgJQga6SAPIAQESDAoEYXJncxgCIAMoCRITCgt3b3JraW5nX2RpchgDIAEoCSLgAgoQSHR0cFNlcnZlckNvbmZpZxIYCgN1cmwYASABKAlCC7pICMgBAXIDiAEBEk8KB2hlYWRlcnMYAiADKAsyPi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkh0dHBTZXJ2ZXJDb25maWcuSGVhZGVyc0VudHJ5ElgKDHF1ZXJ5X3BhcmFtcxgDIAMoCzJCLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuSHR0cFNlcnZlckNvbmZpZy5RdWVyeVBhcmFtc0VudHJ5EiMKD3RpbWVvdXRfc2Vjb25kcxgEIAEoBUIKukgHGgUYrAIoABouCgxIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ARoyChBRdWVyeVBhcmFtc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiQQoSVG9vbEFwcHJvdmFsUG9saWN5EhoKCXRvb2xfbmFtZRgBIAEoCUIHukgEcgIQARIPCgdtZXNzYWdlGAIgASgJIuACCg1NY3BTZXJ2ZXJBdXRoEswBCg1vYXV0aF9hcHBfcmVmGAEgASgLMjQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlUmVmZXJlbmNlQn+6SHi6AXUKEm9hdXRoX2FwcF9yZWYua2luZBI7b2F1dGhfYXBwX3JlZiBtdXN0IHJlZmVyZW5jZSBhIHJlc291cmNlIHdpdGgga2luZD1vYXV0aF9hcHAaInRoaXMuc2x1ZyA9PSAnJyB8fCB0aGlzLmtpbmQgPT0gMjLghSwWEh8KDnRhcmdldF9lbnZfdmFyGAIgASgJQge6SARyAhABEhsKE3Rva2VuX2xpZmV0aW1lX2hpbnQYAyABKAkSEwoLc2NvcGVfaGludHMYBCADKAkSFQoNZGlzY292ZXJ5X3VybBgHIAEoCUoECAUQBkoECAYQB0oECAgQCUoECAkQCmIGcHJvdG8z",[file_ai_stigmer_agentic_environment_v1_spec,file_ai_stigmer_commons_apiresource_field_options,file_ai_stigmer_commons_apiresource_io,file_buf_validate_validate]),McpServerSpecSchema=messageDesc2(file_ai_stigmer_agentic_mcpserver_v1_spec,0),StdioServerConfigSchema=messageDesc2(file_ai_stigmer_agentic_mcpserver_v1_spec,1),HttpServerConfigSchema=messageDesc2(file_ai_stigmer_agentic_mcpserver_v1_spec,2),ToolApprovalPolicySchema=messageDesc2(file_ai_stigmer_agentic_mcpserver_v1_spec,3),McpServerAuthSchema=messageDesc2(file_ai_stigmer_agentic_mcpserver_v1_spec,4);var file_ai_stigmer_iam_oauthapp_v1_spec=fileDesc("CiVhaS9zdGlnbWVyL2lhbS9vYXV0aGFwcC92MS9zcGVjLnByb3RvEhphaS5zdGlnbWVyLmlhbS5vYXV0aGFwcC52MSLWAgoMT0F1dGhBcHBTcGVjEhAKCHByb3ZpZGVyGAEgASgJEhoKCWNsaWVudF9pZBgCIAEoCUIHukgEcgIQARIeCg1jbGllbnRfc2VjcmV0GAMgASgJQge6SARyAhABEiMKEWF1dGhvcml6YXRpb25fdXJsGAQgASgJQgi6SAVyA4gBARIbCgl0b2tlbl91cmwYBSABKAlCCLpIBXIDiAEBEg4KBnNjb3BlcxgGIAMoCRIUCgx1c2VyaW5mb191cmwYByABKAkSHAoUc2NvcGVfcGFyYW1ldGVyX25hbWUYCCABKAkSUAoWdmVuZG9yX2FwcHJvdmFsX3N0YXR1cxgJIAEoDjIwLmFpLnN0aWdtZXIuaWFtLm9hdXRoYXBwLnYxLlZlbmRvckFwcHJvdmFsU3RhdHVzEiAKGHZlbmRvcl9hcHByb3ZhbF9kb2NzX3VybBgKIAEoCSqsAQoUVmVuZG9yQXBwcm92YWxTdGF0dXMSJgoiVkVORE9SX0FQUFJPVkFMX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHlZFTkRPUl9BUFBST1ZBTF9TVEFUVVNfUEVORElORxABEiMKH1ZFTkRPUl9BUFBST1ZBTF9TVEFUVVNfQVBQUk9WRUQQAhIjCh9WRU5ET1JfQVBQUk9WQUxfU1RBVFVTX1JFSkVDVEVEEANiBnByb3RvMw",[file_buf_validate_validate]);var VendorApprovalStatus;(function(VendorApprovalStatus2){VendorApprovalStatus2[VendorApprovalStatus2.UNSPECIFIED=0]="UNSPECIFIED",VendorApprovalStatus2[VendorApprovalStatus2.PENDING=1]="PENDING",VendorApprovalStatus2[VendorApprovalStatus2.APPROVED=2]="APPROVED",VendorApprovalStatus2[VendorApprovalStatus2.REJECTED=3]="REJECTED"})(VendorApprovalStatus||(VendorApprovalStatus={}));var file_ai_stigmer_agentic_mcpserver_v1_status=fileDesc("CixhaS9zdGlnbWVyL2FnZW50aWMvbWNwc2VydmVyL3YxL3N0YXR1cy5wcm90bxIfYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MSKlAwoPTWNwU2VydmVyU3RhdHVzEkoKEHZhbGlkYXRpb25fc3RhdGUYASABKA4yMC5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLlZhbGlkYXRpb25TdGF0ZRIaChJ2YWxpZGF0aW9uX21lc3NhZ2UYAiABKAkSWAoXZGlzY292ZXJlZF9jYXBhYmlsaXRpZXMYAyABKAsyNy5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkRpc2NvdmVyZWRDYXBhYmlsaXRpZXMSSwoOdG9vbF9hcHByb3ZhbHMYBCADKAsyMy5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLlRvb2xBcHByb3ZhbFBvbGljeRJCCgxvYXV0aF9zdGF0dXMYBSABKAsyLC5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk9BdXRoU3RhdHVzEj8KBWF1ZGl0GGMgASgLMjAuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXQi6QEKFkRpc2NvdmVyZWRDYXBhYmlsaXRpZXMSPgoFdG9vbHMYASADKAsyLy5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkRpc2NvdmVyZWRUb29sElcKEnJlc291cmNlX3RlbXBsYXRlcxgCIAMoCzI7LmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuRGlzY292ZXJlZFJlc291cmNlVGVtcGxhdGUSNgoSbGFzdF9kaXNjb3ZlcmVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJiCg5EaXNjb3ZlcmVkVG9vbBIMCgRuYW1lGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEi0KDGlucHV0X3NjaGVtYRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiaAoaRGlzY292ZXJlZFJlc291cmNlVGVtcGxhdGUSFAoMdXJpX3RlbXBsYXRlGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSEQoJbWltZV90eXBlGAQgASgJIvIBCgtPQXV0aFN0YXR1cxJQChZ2ZW5kb3JfYXBwcm92YWxfc3RhdHVzGAEgASgOMjAuYWkuc3RpZ21lci5pYW0ub2F1dGhhcHAudjEuVmVuZG9yQXBwcm92YWxTdGF0dXMSIAoYdmVuZG9yX2FwcHJvdmFsX2RvY3NfdXJsGAIgASgJEk8KFmVmZmVjdGl2ZV9vYXV0aF9zb3VyY2UYAyABKA4yLy5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk9BdXRoQXBwU291cmNlEh4KFmVmZmVjdGl2ZV9vYXV0aF9hcHBfaWQYBCABKAkqSwoPVmFsaWRhdGlvblN0YXRlEiAKHHZhbGlkYXRpb25fc3RhdGVfdW5zcGVjaWZpZWQQABIJCgV2YWxpZBABEgsKB2ludmFsaWQQAiqPAQoOT0F1dGhBcHBTb3VyY2USIAocT0FVVEhfQVBQX1NPVVJDRV9VTlNQRUNJRklFRBAAEh0KGU9BVVRIX0FQUF9TT1VSQ0VfUExBVEZPUk0QARIhCh1PQVVUSF9BUFBfU09VUkNFX09SR19PVkVSUklERRACEhkKFU9BVVRIX0FQUF9TT1VSQ0VfTk9ORRADYgZwcm90bzM",[file_ai_stigmer_agentic_mcpserver_v1_spec,file_ai_stigmer_commons_apiresource_status,file_ai_stigmer_iam_oauthapp_v1_spec,file_google_protobuf_struct,file_google_protobuf_timestamp]);var ValidationState;(function(ValidationState3){ValidationState3[ValidationState3.validation_state_unspecified=0]="validation_state_unspecified",ValidationState3[ValidationState3.valid=1]="valid",ValidationState3[ValidationState3.invalid=2]="invalid"})(ValidationState||(ValidationState={}));var OAuthAppSource;(function(OAuthAppSource2){OAuthAppSource2[OAuthAppSource2.OAUTH_APP_SOURCE_UNSPECIFIED=0]="OAUTH_APP_SOURCE_UNSPECIFIED",OAuthAppSource2[OAuthAppSource2.OAUTH_APP_SOURCE_PLATFORM=1]="OAUTH_APP_SOURCE_PLATFORM",OAuthAppSource2[OAuthAppSource2.OAUTH_APP_SOURCE_ORG_OVERRIDE=2]="OAUTH_APP_SOURCE_ORG_OVERRIDE",OAuthAppSource2[OAuthAppSource2.OAUTH_APP_SOURCE_NONE=3]="OAUTH_APP_SOURCE_NONE"})(OAuthAppSource||(OAuthAppSource={}));var file_ai_stigmer_agentic_mcpserver_v1_api=fileDesc("CilhaS9zdGlnbWVyL2FnZW50aWMvbWNwc2VydmVyL3YxL2FwaS5wcm90bxIfYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MSKtAgoJTWNwU2VydmVyEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEh4KBGtpbmQYAiABKAlCELpIDXILCglNY3BTZXJ2ZXISTQoIbWV0YWRhdGEYAyABKAsyMy5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VNZXRhZGF0YUIGukgDyAEBEjwKBHNwZWMYBCABKAsyLi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk1jcFNlcnZlclNwZWMSQAoGc3RhdHVzGAUgASgLMjAuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5NY3BTZXJ2ZXJTdGF0dXMibQoNTWNwU2VydmVyTGlzdBITCgthcGlfdmVyc2lvbhgBIAEoCRIMCgRraW5kGAIgASgJEjkKBWl0ZW1zGAMgAygLMiouYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5NY3BTZXJ2ZXJiBnByb3RvMw",[file_ai_stigmer_agentic_mcpserver_v1_spec,file_ai_stigmer_agentic_mcpserver_v1_status,file_ai_stigmer_commons_apiresource_metadata,file_buf_validate_validate]),McpServerSchema=messageDesc2(file_ai_stigmer_agentic_mcpserver_v1_api,0);var file_ai_stigmer_agentic_mcpserver_v1_io=fileDesc("CihhaS9zdGlnbWVyL2FnZW50aWMvbWNwc2VydmVyL3YxL2lvLnByb3RvEh9haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxIiQKC01jcFNlcnZlcklkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEiggIKDENvbm5lY3RJbnB1dBIdCg1tY3Bfc2VydmVyX2lkGAEgASgJQga6SAPIAQESUgoLcnVudGltZV9lbnYYAiADKAsyPS5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkNvbm5lY3RJbnB1dC5SdW50aW1lRW52RW50cnkSFAoDb3JnGAMgASgJQge6SARyAhABGmkKD1J1bnRpbWVFbnZFbnRyeRILCgNrZXkYASABKAkSRQoFdmFsdWUYAiABKAsyNi5haS5zdGlnbWVyLmFnZW50aWMuZXhlY3V0aW9uY29udGV4dC52MS5FeGVjdXRpb25WYWx1ZToCOAEiUAoZSW5pdGlhdGVPQXV0aENvbm5lY3RJbnB1dBIdCg1tY3Bfc2VydmVyX2lkGAEgASgJQga6SAPIAQESFAoDb3JnGAIgASgJQge6SARyAhABIm0KGkluaXRpYXRlT0F1dGhDb25uZWN0T3V0cHV0EhkKEWF1dGhvcml6YXRpb25fdXJsGAEgASgJEg0KBXN0YXRlGAIgASgJEg4KBnNjb3BlcxgDIAMoCRIVCg1wcm92aWRlcl9uYW1lGAQgASgJIncKGUNvbXBsZXRlT0F1dGhDb25uZWN0SW5wdXQSHQoNbWNwX3NlcnZlcl9pZBgBIAEoCUIGukgDyAEBEiMKEmF1dGhvcml6YXRpb25fY29kZRgCIAEoCUIHukgEcgIQARIWCgVzdGF0ZRgDIAEoCUIHukgEcgIQASJkChpDb21wbGV0ZU9BdXRoQ29ubmVjdE91dHB1dBIRCgljb25uZWN0ZWQYASABKAgSFgoOdGFyZ2V0X2Vudl92YXIYAiABKAkSGwoTdG9rZW5fbGlmZXRpbWVfaGludBgDIAEoCSJNChhHZXRPQXV0aEdyYW50U3RhdHVzSW5wdXQSGwoLcmVzb3VyY2VfaWQYASABKAlCBrpIA8gBARIUCgNvcmcYAiABKAlCB7pIBHICEAEizwEKGUdldE9BdXRoR3JhbnRTdGF0dXNPdXRwdXQSEQoJY29ubmVjdGVkGAEgASgIEh8KF2FjY2Vzc190b2tlbl9leHBpcmVzX2F0GAIgASgDEhYKDnRhcmdldF9lbnZfdmFyGAMgASgJEhMKC2F1dGhfbWV0aG9kGAQgASgJElEKEWNvbm5lY3Rpb25faGVhbHRoGAUgASgOMjYuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5PQXV0aENvbm5lY3Rpb25IZWFsdGgiSQoURGlzY29ubmVjdE9BdXRoSW5wdXQSGwoLcmVzb3VyY2VfaWQYASABKAlCBrpIA8gBARIUCgNvcmcYAiABKAlCB7pIBHICEAEiLQoVRGlzY29ubmVjdE9BdXRoT3V0cHV0EhQKDGRpc2Nvbm5lY3RlZBgBIAEoCCKEAQoTU2V0T3JnT0F1dGhBcHBJbnB1dBIbCgtyZXNvdXJjZV9pZBgBIAEoCUIGukgDyAEBEhQKA29yZxgCIAEoCUIHukgEcgIQARIaCgljbGllbnRfaWQYAyABKAlCB7pIBHICEAESHgoNY2xpZW50X3NlY3JldBgEIAEoCUIHukgEcgIQASIsChRTZXRPcmdPQXV0aEFwcE91dHB1dBIUCgxvYXV0aF9hcHBfaWQYASABKAkiSAoTR2V0T3JnT0F1dGhBcHBJbnB1dBIbCgtyZXNvdXJjZV9pZBgBIAEoCUIGukgDyAEBEhQKA29yZxgCIAEoCUIHukgEcgIQASJVChRHZXRPcmdPQXV0aEFwcE91dHB1dBIUCgxoYXNfb3ZlcnJpZGUYASABKAgSFAoMb2F1dGhfYXBwX2lkGAIgASgJEhEKCWNsaWVudF9pZBgDIAEoCSJLChZEZWxldGVPcmdPQXV0aEFwcElucHV0EhsKC3Jlc291cmNlX2lkGAEgASgJQga6SAPIAQESFAoDb3JnGAIgASgJQge6SARyAhABIioKF0RlbGV0ZU9yZ09BdXRoQXBwT3V0cHV0Eg8KB2RlbGV0ZWQYASABKAgq7QEKFU9BdXRoQ29ubmVjdGlvbkhlYWx0aBInCiNPQVVUSF9DT05ORUNUSU9OX0hFQUxUSF9VTlNQRUNJRklFRBAAEiMKH09BVVRIX0NPTk5FQ1RJT05fSEVBTFRIX0hFQUxUSFkQARIpCiVPQVVUSF9DT05ORUNUSU9OX0hFQUxUSF9UT0tFTl9FWFBJUkVEEAISNQoxT0FVVEhfQ09OTkVDVElPTl9IRUFMVEhfVE9LRU5fRVhQSVJFRF9SRUZSRVNIQUJMRRADEiQKIE9BVVRIX0NPTk5FQ1RJT05fSEVBTFRIX05PX0dSQU5UEARiBnByb3RvMw",[file_ai_stigmer_agentic_executioncontext_v1_spec,file_buf_validate_validate]);var OAuthConnectionHealth;(function(OAuthConnectionHealth2){OAuthConnectionHealth2[OAuthConnectionHealth2.OAUTH_CONNECTION_HEALTH_UNSPECIFIED=0]="OAUTH_CONNECTION_HEALTH_UNSPECIFIED",OAuthConnectionHealth2[OAuthConnectionHealth2.OAUTH_CONNECTION_HEALTH_HEALTHY=1]="OAUTH_CONNECTION_HEALTH_HEALTHY",OAuthConnectionHealth2[OAuthConnectionHealth2.OAUTH_CONNECTION_HEALTH_TOKEN_EXPIRED=2]="OAUTH_CONNECTION_HEALTH_TOKEN_EXPIRED",OAuthConnectionHealth2[OAuthConnectionHealth2.OAUTH_CONNECTION_HEALTH_TOKEN_EXPIRED_REFRESHABLE=3]="OAUTH_CONNECTION_HEALTH_TOKEN_EXPIRED_REFRESHABLE",OAuthConnectionHealth2[OAuthConnectionHealth2.OAUTH_CONNECTION_HEALTH_NO_GRANT=4]="OAUTH_CONNECTION_HEALTH_NO_GRANT"})(OAuthConnectionHealth||(OAuthConnectionHealth={}));var file_ai_stigmer_agentic_mcpserver_v1_command=fileDesc("Ci1haS9zdGlnbWVyL2FnZW50aWMvbWNwc2VydmVyL3YxL2NvbW1hbmQucHJvdG8SH2FpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEypg8KGk1jcFNlcnZlckNvbW1hbmRDb250cm9sbGVyEl8KBWFwcGx5EiouYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5NY3BTZXJ2ZXIaKi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk1jcFNlcnZlchJmCgZjcmVhdGUSKi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk1jcFNlcnZlchoqLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuTWNwU2VydmVyIgTQuBgBEpoBCgZ1cGRhdGUSKi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk1jcFNlcnZlchoqLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuTWNwU2VydmVyIjjCuBg0CAIQLCILbWV0YWRhdGEuaWQqIXVuYXV0aG9yaXplZCB0byB1cGRhdGUgbWNwIHNlcnZlchKmAQoGZGVsZXRlEjYuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlRGVsZXRlSW5wdXQaKi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLk1jcFNlcnZlciI4wrgYNAgDECwiC3Jlc291cmNlX2lkKiF1bmF1dGhvcml6ZWQgdG8gZGVsZXRlIG1jcCBzZXJ2ZXISugEKEHVwZGF0ZVZpc2liaWxpdHkSNS5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuVXBkYXRlVmlzaWJpbGl0eUlucHV0GiouYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5NY3BTZXJ2ZXIiQ8K4GD8IAhAsIgtyZXNvdXJjZV9pZCosdW5hdXRob3JpemVkIHRvIHVwZGF0ZSBtY3Agc2VydmVyIHZpc2liaWxpdHkSpAEKB2Nvbm5lY3QSLS5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkNvbm5lY3RJbnB1dBoqLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuTWNwU2VydmVyIj7CuBg6CBYQLCINbWNwX3NlcnZlcl9pZColdW5hdXRob3JpemVkIHRvIGNvbm5lY3QgdG8gbWNwIHNlcnZlchLfAQoUaW5pdGlhdGVPQXV0aENvbm5lY3QSOi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkluaXRpYXRlT0F1dGhDb25uZWN0SW5wdXQaOy5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkluaXRpYXRlT0F1dGhDb25uZWN0T3V0cHV0Ik7CuBhKCBYQLCINbWNwX3NlcnZlcl9pZCo1dW5hdXRob3JpemVkIHRvIGluaXRpYXRlIG9hdXRoIGNvbm5lY3QgZm9yIG1jcCBzZXJ2ZXIS3wEKFGNvbXBsZXRlT0F1dGhDb25uZWN0EjouYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5Db21wbGV0ZU9BdXRoQ29ubmVjdElucHV0GjsuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5Db21wbGV0ZU9BdXRoQ29ubmVjdE91dHB1dCJOwrgYSggWECwiDW1jcF9zZXJ2ZXJfaWQqNXVuYXV0aG9yaXplZCB0byBjb21wbGV0ZSBvYXV0aCBjb25uZWN0IGZvciBtY3Agc2VydmVyEsgBCg9kaXNjb25uZWN0T0F1dGgSNS5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkRpc2Nvbm5lY3RPQXV0aElucHV0GjYuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5EaXNjb25uZWN0T0F1dGhPdXRwdXQiRsK4GEIIFhAsIgtyZXNvdXJjZV9pZCovdW5hdXRob3JpemVkIHRvIGRpc2Nvbm5lY3Qgb2F1dGggZm9yIG1jcCBzZXJ2ZXISuAEKDnNldE9yZ09BdXRoQXBwEjQuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5TZXRPcmdPQXV0aEFwcElucHV0GjUuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5TZXRPcmdPQXV0aEFwcE91dHB1dCI5wrgYNQgXEB4iA29yZyoqdW5hdXRob3JpemVkIHRvIHNldCBvcmcgb2F1dGggYXBwIG92ZXJyaWRlEsQBChFkZWxldGVPcmdPQXV0aEFwcBI3LmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuRGVsZXRlT3JnT0F1dGhBcHBJbnB1dBo4LmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuRGVsZXRlT3JnT0F1dGhBcHBPdXRwdXQiPMK4GDgIFxAeIgNvcmcqLXVuYXV0aG9yaXplZCB0byBkZWxldGUgb3JnIG9hdXRoIGFwcCBvdmVycmlkZRoEoP8rLGIGcHJvdG8z",[file_ai_stigmer_agentic_mcpserver_v1_api,file_ai_stigmer_agentic_mcpserver_v1_io,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),McpServerCommandController=serviceDesc(file_ai_stigmer_agentic_mcpserver_v1_command,0);var file_ai_stigmer_agentic_mcpserver_v1_query=fileDesc("CithaS9zdGlnbWVyL2FnZW50aWMvbWNwc2VydmVyL3YxL3F1ZXJ5LnByb3RvEh9haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxMssFChhNY3BTZXJ2ZXJRdWVyeUNvbnRyb2xsZXISkgEKA2dldBItLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUlkGiouYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5NY3BTZXJ2ZXIiMMK4GCwIARAsIgV2YWx1ZSofdW5hdXRob3JpemVkIHRvIHZpZXcgbWNwIHNlcnZlchJ4Cg5nZXRCeVJlZmVyZW5jZRI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZRoqLmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuTWNwU2VydmVyIgTQuBgBEtUBChNnZXRPQXV0aEdyYW50U3RhdHVzEjkuYWkuc3RpZ21lci5hZ2VudGljLm1jcHNlcnZlci52MS5HZXRPQXV0aEdyYW50U3RhdHVzSW5wdXQaOi5haS5zdGlnbWVyLmFnZW50aWMubWNwc2VydmVyLnYxLkdldE9BdXRoR3JhbnRTdGF0dXNPdXRwdXQiR8K4GEMIARAsIgtyZXNvdXJjZV9pZCowdW5hdXRob3JpemVkIHRvIHZpZXcgb2F1dGggc3RhdHVzIGZvciBtY3Agc2VydmVyEsEBCg5nZXRPcmdPQXV0aEFwcBI0LmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuR2V0T3JnT0F1dGhBcHBJbnB1dBo1LmFpLnN0aWdtZXIuYWdlbnRpYy5tY3BzZXJ2ZXIudjEuR2V0T3JnT0F1dGhBcHBPdXRwdXQiQsK4GD4IARAsIgtyZXNvdXJjZV9pZCordW5hdXRob3JpemVkIHRvIHZpZXcgb3JnIG9hdXRoIGFwcCBvdmVycmlkZRoEoP8rLGIGcHJvdG8z",[file_ai_stigmer_agentic_mcpserver_v1_api,file_ai_stigmer_agentic_mcpserver_v1_io,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),McpServerQueryController=serviceDesc(file_ai_stigmer_agentic_mcpserver_v1_query,0);var file_ai_stigmer_agentic_session_v1_enum=fileDesc("CihhaS9zdGlnbWVyL2FnZW50aWMvc2Vzc2lvbi92MS9lbnVtLnByb3RvEh1haS5zdGlnbWVyLmFnZW50aWMuc2Vzc2lvbi52MSpZChBHaXRXcml0ZUJhY2tNb2RlEiMKH0dJVF9XUklURV9CQUNLX01PREVfVU5TUEVDSUZJRUQQABIgChxHSVRfV1JJVEVfQkFDS19CUkFOQ0hfQU5EX1BSEAEqSgoHSGFybmVzcxIXChNIQVJORVNTX1VOU1BFQ0lGSUVEEAASEgoOSEFSTkVTU19OQVRJVkUQARISCg5IQVJORVNTX0NVUlNPUhACKmsKD0V4ZWN1dGlvblRhcmdldBIgChxFWEVDVVRJT05fVEFSR0VUX1VOU1BFQ0lGSUVEEAASGgoWRVhFQ1VUSU9OX1RBUkdFVF9MT0NBTBABEhoKFkVYRUNVVElPTl9UQVJHRVRfQ0xPVUQQAipXCgpDdXJzb3JNb2RlEhsKF0NVUlNPUl9NT0RFX1VOU1BFQ0lGSUVEEAASFQoRQ1VSU09SX01PREVfTE9DQUwQARIVChFDVVJTT1JfTU9ERV9DTE9VRBACYgZwcm90bzM"),GitWriteBackMode;(function(GitWriteBackMode2){GitWriteBackMode2[GitWriteBackMode2.GIT_WRITE_BACK_MODE_UNSPECIFIED=0]="GIT_WRITE_BACK_MODE_UNSPECIFIED",GitWriteBackMode2[GitWriteBackMode2.GIT_WRITE_BACK_BRANCH_AND_PR=1]="GIT_WRITE_BACK_BRANCH_AND_PR"})(GitWriteBackMode||(GitWriteBackMode={}));var Harness;(function(Harness2){Harness2[Harness2.UNSPECIFIED=0]="UNSPECIFIED",Harness2[Harness2.NATIVE=1]="NATIVE",Harness2[Harness2.CURSOR=2]="CURSOR"})(Harness||(Harness={}));var ExecutionTarget;(function(ExecutionTarget2){ExecutionTarget2[ExecutionTarget2.UNSPECIFIED=0]="UNSPECIFIED",ExecutionTarget2[ExecutionTarget2.LOCAL=1]="LOCAL",ExecutionTarget2[ExecutionTarget2.CLOUD=2]="CLOUD"})(ExecutionTarget||(ExecutionTarget={}));var CursorMode;(function(CursorMode2){CursorMode2[CursorMode2.UNSPECIFIED=0]="UNSPECIFIED",CursorMode2[CursorMode2.LOCAL=1]="LOCAL",CursorMode2[CursorMode2.CLOUD=2]="CLOUD"})(CursorMode||(CursorMode={}));var file_ai_stigmer_agentic_skill_v1_spec=fileDesc("CiZhaS9zdGlnbWVyL2FnZW50aWMvc2tpbGwvdjEvc3BlYy5wcm90bxIbYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxIpoBCglTa2lsbFNwZWMSGQoIc2tpbGxfbWQYASABKAlCB7pIBHICEAESKAoDdGFnGAIgASgJQhu6SBhyFjIUXiR8XlthLXpBLVowLTkuXy1dKyQSLQoEbmFtZRgDIAEoCUIfukgcchoyGF5bYS16MC05XSsoLVthLXowLTldKykqJBITCgtkZXNjcmlwdGlvbhgFIAEoCUoECAQQBWIGcHJvdG8z",[file_buf_validate_validate]);var file_ai_stigmer_agentic_skill_v1_status=fileDesc("CihhaS9zdGlnbWVyL2FnZW50aWMvc2tpbGwvdjEvc3RhdHVzLnByb3RvEhthaS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEilQIKC1NraWxsU3RhdHVzEj8KBWF1ZGl0GGMgASgLMjAuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXQSKwoMdmVyc2lvbl9oYXNoGAEgASgJQhW6SBJyEDIOXlthLWYwLTldezY0fSQSHAoUYXJ0aWZhY3Rfc3RvcmFnZV9rZXkYAiABKAkSNgoFc3RhdGUYAyABKA4yJy5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuU2tpbGxTdGF0ZRJCCg5naXRfcHJvdmVuYW5jZRgEIAEoCzIqLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5HaXRQcm92ZW5hbmNlImIKDUdpdFByb3ZlbmFuY2USGwoKcmVtb3RlX3VybBgBIAEoCUIHukgEcgIQARILCgNyZWYYAiABKAkSFwoGY29tbWl0GAMgASgJQge6SARyAhABEg4KBnN1YmRpchgEIAEoCSpzCgpTa2lsbFN0YXRlEhsKF1NLSUxMX1NUQVRFX1VOU1BFQ0lGSUVEEAASGQoVU0tJTExfU1RBVEVfVVBMT0FESU5HEAESFQoRU0tJTExfU1RBVEVfUkVBRFkQAhIWChJTS0lMTF9TVEFURV9GQUlMRUQQA2IGcHJvdG8z",[file_ai_stigmer_commons_apiresource_status,file_buf_validate_validate]);var SkillState;(function(SkillState2){SkillState2[SkillState2.UNSPECIFIED=0]="UNSPECIFIED",SkillState2[SkillState2.UPLOADING=1]="UPLOADING",SkillState2[SkillState2.READY=2]="READY",SkillState2[SkillState2.FAILED=3]="FAILED"})(SkillState||(SkillState={}));var file_ai_stigmer_agentic_skill_v1_api=fileDesc("CiVhaS9zdGlnbWVyL2FnZW50aWMvc2tpbGwvdjEvYXBpLnByb3RvEhthaS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEilQIKBVNraWxsEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEhoKBGtpbmQYAiABKAlCDLpICXIHCgVTa2lsbBJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESNAoEc3BlYxgEIAEoCzImLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5Ta2lsbFNwZWMSOAoGc3RhdHVzGAUgASgLMiguYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlNraWxsU3RhdHVzImEKCVNraWxsTGlzdBITCgthcGlfdmVyc2lvbhgBIAEoCRIMCgRraW5kGAIgASgJEjEKBWl0ZW1zGAMgAygLMiIuYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlNraWxsYgZwcm90bzM",[file_ai_stigmer_agentic_skill_v1_spec,file_ai_stigmer_agentic_skill_v1_status,file_ai_stigmer_commons_apiresource_metadata,file_buf_validate_validate]),SkillSchema=messageDesc2(file_ai_stigmer_agentic_skill_v1_api,0);var file_ai_stigmer_agentic_skill_v1_io=fileDesc("CiRhaS9zdGlnbWVyL2FnZW50aWMvc2tpbGwvdjEvaW8ucHJvdG8SG2FpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MSIgCgdTa2lsbElkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEixgEKEFB1c2hTa2lsbFJlcXVlc3QSEwoDb3JnGAEgASgJQga6SAPIAQESGAoIYXJ0aWZhY3QYAiABKAxCBrpIA8gBARIoCgN0YWcYAyABKAlCG7pIGHIWMhReJHxeW2EtekEtWjAtOS5fLV0rJBJCCg5naXRfcHJvdmVuYW5jZRgEIAEoCzIqLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5HaXRQcm92ZW5hbmNlEg8KB21lc3NhZ2UYBiABKAlKBAgFEAYiowEKJVB1c2hTa2lsbEZyb21FeGVjdXRpb25BcnRpZmFjdFJlcXVlc3QSEwoDb3JnGAEgASgJQga6SAPIAQESHQoMZXhlY3V0aW9uX2lkGAIgASgJQge6SARyAhABEhwKC3N0b3JhZ2Vfa2V5GAMgASgJQge6SARyAhABEigKA3RhZxgEIAEoCUIbukgYchYyFF4kfF5bYS16QS1aMC05Ll8tXSskIjoKEkdldEFydGlmYWN0UmVxdWVzdBIkChRhcnRpZmFjdF9zdG9yYWdlX2tleRgBIAEoCUIGukgDyAEBIicKE0dldEFydGlmYWN0UmVzcG9uc2USEAoIYXJ0aWZhY3QYASABKAwiagoWTGlzdFNraWxsVmVyc2lvbnNJbnB1dBITCgNvcmcYASABKAlCBrpIA8gBARIUCgRzbHVnGAIgASgJQga6SAPIAQESEgoKcGFnZV90b2tlbhgDIAEoCRIRCglwYWdlX3NpemUYBCABKAUitgIKEVNraWxsVmVyc2lvbkVudHJ5EhQKDHZlcnNpb25faGFzaBgBIAEoCRItCglwdXNoZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEkgKCXB1c2hlZF9ieRgDIAEoCzI1LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0QWN0b3ISCwoDdGFnGAQgASgJEhIKCmlzX2N1cnJlbnQYBSABKAgSQgoOZ2l0X3Byb3ZlbmFuY2UYBiABKAsyKi5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuR2l0UHJvdmVuYW5jZRIPCgdtZXNzYWdlGAcgASgJEhwKFGFydGlmYWN0X3N0b3JhZ2Vfa2V5GAggASgJIosBChlMaXN0U2tpbGxWZXJzaW9uc1Jlc3BvbnNlEkAKCHZlcnNpb25zGAEgAygLMi4uYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlNraWxsVmVyc2lvbkVudHJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRITCgt0b3RhbF9jb3VudBgDIAEoBWIGcHJvdG8z",[file_ai_stigmer_agentic_skill_v1_status,file_ai_stigmer_commons_apiresource_status,file_buf_validate_validate,file_google_protobuf_timestamp]);var file_ai_stigmer_agentic_skill_v1_command=fileDesc("CilhaS9zdGlnbWVyL2FnZW50aWMvc2tpbGwvdjEvY29tbWFuZC5wcm90bxIbYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxMrQFChZTa2lsbENvbW1hbmRDb250cm9sbGVyEpkBCgRwdXNoEi0uYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlB1c2hTa2lsbFJlcXVlc3QaIi5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuU2tpbGwiPsK4GDoICRAeIgNvcmcqL3VuYXV0aG9yaXplZCB0byBwdXNoIHNraWxsIGluIHRoaXMgb3JnYW5pemF0aW9uEsMBChlwdXNoRnJvbUV4ZWN1dGlvbkFydGlmYWN0EkIuYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlB1c2hTa2lsbEZyb21FeGVjdXRpb25BcnRpZmFjdFJlcXVlc3QaIi5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuU2tpbGwiPsK4GDoICRAeIgNvcmcqL3VuYXV0aG9yaXplZCB0byBwdXNoIHNraWxsIGluIHRoaXMgb3JnYW5pemF0aW9uEq0BChB1cGRhdGVWaXNpYmlsaXR5EjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLlVwZGF0ZVZpc2liaWxpdHlJbnB1dBoiLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5Ta2lsbCI+wrgYOggCECsiC3Jlc291cmNlX2lkKid1bmF1dGhvcml6ZWQgdG8gdXBkYXRlIHNraWxsIHZpc2liaWxpdHkSgQEKBmRlbGV0ZRIkLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5Ta2lsbElkGiIuYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlNraWxsIi3CuBgpCAMQKyIFdmFsdWUqHHVuYXV0aG9yaXplZCB0byBkZWxldGUgc2tpbGwaBKD/KytiBnByb3RvMw",[file_ai_stigmer_agentic_skill_v1_api,file_ai_stigmer_agentic_skill_v1_io,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),SkillCommandController=serviceDesc(file_ai_stigmer_agentic_skill_v1_command,0);var file_ai_stigmer_agentic_skill_v1_query=fileDesc("CidhaS9zdGlnbWVyL2FnZW50aWMvc2tpbGwvdjEvcXVlcnkucHJvdG8SG2FpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MTKHBAoUU2tpbGxRdWVyeUNvbnRyb2xsZXISewoDZ2V0EiQuYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLlNraWxsSWQaIi5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuU2tpbGwiKsK4GCYIARArIgV2YWx1ZSoZdW5hdXRob3JpemVkIHRvIGdldCBza2lsbBJwCg5nZXRCeVJlZmVyZW5jZRI0LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZVJlZmVyZW5jZRoiLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5Ta2lsbCIE0LgYARJ2CgtnZXRBcnRpZmFjdBIvLmFpLnN0aWdtZXIuYWdlbnRpYy5za2lsbC52MS5HZXRBcnRpZmFjdFJlcXVlc3QaMC5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuR2V0QXJ0aWZhY3RSZXNwb25zZSIE0LgYARKBAQoMbGlzdFZlcnNpb25zEjMuYWkuc3RpZ21lci5hZ2VudGljLnNraWxsLnYxLkxpc3RTa2lsbFZlcnNpb25zSW5wdXQaNi5haS5zdGlnbWVyLmFnZW50aWMuc2tpbGwudjEuTGlzdFNraWxsVmVyc2lvbnNSZXNwb25zZSIE0LgYARoEoP8rK2IGcHJvdG8z",[file_ai_stigmer_agentic_skill_v1_api,file_ai_stigmer_agentic_skill_v1_io,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),SkillQueryController=serviceDesc(file_ai_stigmer_agentic_skill_v1_query,0);var file_ai_stigmer_agentic_workflow_v1_enum=fileDesc("CilhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvZW51bS5wcm90bxIeYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxKt4CChBXb3JrZmxvd1Rhc2tLaW5kEiIKHndvcmtmbG93X3Rhc2tfa2luZF91bnNwZWNpZmllZBAAEgwKCHNldF92YXJzEAESDQoJaHR0cF9jYWxsEAISDQoJZ3JwY19jYWxsEAMSEQoNYWN0aXZpdHlfY2FsbBAEEg8KC3N3aXRjaF9jYXNlEAUSDAoIZm9yX2VhY2gQBhIICgRmb3JrEAcSDQoJdHJ5X2NhdGNoEAgSCgoGbGlzdGVuEAkSCAoEd2FpdBAKEg8KC3JhaXNlX2Vycm9yEAsSEAoMcnVuX3dvcmtmbG93EAwSDgoKYWdlbnRfY2FsbBANEgwKCGxsbV9jYWxsEA4SDQoJdHJhbnNmb3JtEA8SDwoLaHVtYW5faW5wdXQQEBIMCgh2YWxpZGF0ZRAREg4KCmVtaXRfZXZlbnQQEhIQCgxub3RpZmljYXRpb24QExIICgRldmFsEBQqmQEKFEJ1ZGdldEV4Y2VlZGVkUG9saWN5EiYKImJ1ZGdldF9leGNlZWRlZF9wb2xpY3lfdW5zcGVjaWZpZWQQABIdChlidWRnZXRfZXhjZWVkZWRfdGVybWluYXRlEAESIAocYnVkZ2V0X2V4Y2VlZGVkX2h1bWFuX3JldmlldxACEhgKFGJ1ZGdldF9leGNlZWRlZF93YXJuEANiBnByb3RvMw"),WorkflowTaskKind;(function(WorkflowTaskKind2){WorkflowTaskKind2[WorkflowTaskKind2.workflow_task_kind_unspecified=0]="workflow_task_kind_unspecified",WorkflowTaskKind2[WorkflowTaskKind2.set_vars=1]="set_vars",WorkflowTaskKind2[WorkflowTaskKind2.http_call=2]="http_call",WorkflowTaskKind2[WorkflowTaskKind2.grpc_call=3]="grpc_call",WorkflowTaskKind2[WorkflowTaskKind2.activity_call=4]="activity_call",WorkflowTaskKind2[WorkflowTaskKind2.switch_case=5]="switch_case",WorkflowTaskKind2[WorkflowTaskKind2.for_each=6]="for_each",WorkflowTaskKind2[WorkflowTaskKind2.fork=7]="fork",WorkflowTaskKind2[WorkflowTaskKind2.try_catch=8]="try_catch",WorkflowTaskKind2[WorkflowTaskKind2.listen=9]="listen",WorkflowTaskKind2[WorkflowTaskKind2.wait=10]="wait",WorkflowTaskKind2[WorkflowTaskKind2.raise_error=11]="raise_error",WorkflowTaskKind2[WorkflowTaskKind2.run_workflow=12]="run_workflow",WorkflowTaskKind2[WorkflowTaskKind2.agent_call=13]="agent_call",WorkflowTaskKind2[WorkflowTaskKind2.llm_call=14]="llm_call",WorkflowTaskKind2[WorkflowTaskKind2.transform=15]="transform",WorkflowTaskKind2[WorkflowTaskKind2.human_input=16]="human_input",WorkflowTaskKind2[WorkflowTaskKind2.validate=17]="validate",WorkflowTaskKind2[WorkflowTaskKind2.emit_event=18]="emit_event",WorkflowTaskKind2[WorkflowTaskKind2.notification=19]="notification",WorkflowTaskKind2[WorkflowTaskKind2.eval=20]="eval"})(WorkflowTaskKind||(WorkflowTaskKind={}));var BudgetExceededPolicy;(function(BudgetExceededPolicy2){BudgetExceededPolicy2[BudgetExceededPolicy2.budget_exceeded_policy_unspecified=0]="budget_exceeded_policy_unspecified",BudgetExceededPolicy2[BudgetExceededPolicy2.budget_exceeded_terminate=1]="budget_exceeded_terminate",BudgetExceededPolicy2[BudgetExceededPolicy2.budget_exceeded_human_review=2]="budget_exceeded_human_review",BudgetExceededPolicy2[BudgetExceededPolicy2.budget_exceeded_warn=3]="budget_exceeded_warn"})(BudgetExceededPolicy||(BudgetExceededPolicy={}));var file_ai_stigmer_agentic_workflow_v1_spec=fileDesc("CilhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvc3BlYy5wcm90bxIeYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxIpwDCgxXb3JrZmxvd1NwZWMSEwoLZGVzY3JpcHRpb24YASABKAkSSgoIZG9jdW1lbnQYAiABKAsyMC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3dEb2N1bWVudEIGukgDyAEBEkUKBXRhc2tzGAMgAygLMiwuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93VGFza0IIukgFkgECCAESQgoDZW52GAQgAygLMjUuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93U3BlYy5FbnZFbnRyeRI+CgZidWRnZXQYBSABKAsyLi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3dCdWRnZXQaYAoIRW52RW50cnkSCwoDa2V5GAEgASgJEkMKBXZhbHVlGAIgASgLMjQuYWkuc3RpZ21lci5hZ2VudGljLmVudmlyb25tZW50LnYxLkVudlZhckRlY2xhcmF0aW9uOgI4ASKsAQoOV29ya2Zsb3dCdWRnZXQSFwoPbWF4X2Nvc3RfbWljcm9zGAEgASgDEhgKEG1heF90b3RhbF90b2tlbnMYAiABKAMSHAoUbWF4X2R1cmF0aW9uX3NlY29uZHMYAyABKAUSSQoLb25fZXhjZWVkZWQYBCABKA4yNC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuQnVkZ2V0RXhjZWVkZWRQb2xpY3kikAEKEFdvcmtmbG93RG9jdW1lbnQSHQoDZHNsGAEgASgJQhC6SA1yCzIJXjFcLjBcLjAkEhkKCW5hbWVzcGFjZRgCIAEoCUIGukgDyAEBEhQKBG5hbWUYAyABKAlCBrpIA8gBARIXCgd2ZXJzaW9uGAQgASgJQga6SAPIAQESEwoLZGVzY3JpcHRpb24YBSABKAki+gIKDFdvcmtmbG93VGFzaxIvCgRuYW1lGAEgASgJQiG6SB5yHBABMhheW2EtekEtWl9dW2EtekEtWjAtOV9dKiQSRgoEa2luZBgCIAEoDjIwLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1Rhc2tLaW5kQga6SAPIAQESPAoLdGFza19jb25maWcYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Qg66SAPIAQHqhSwEa2luZBI2CgZleHBvcnQYBCABKAsyJi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuRXhwb3J0EjkKBGZsb3cYBSABKAsyKy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuRmxvd0NvbnRyb2wSQAoKY29tcGVuc2F0ZRgGIAMoCzIsLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1Rhc2siHQoGRXhwb3J0EhMKAmFzGAEgASgJQge6SARyAhABIhsKC0Zsb3dDb250cm9sEgwKBHRoZW4YASABKAliBnByb3RvMw",[file_ai_stigmer_agentic_environment_v1_spec,file_ai_stigmer_agentic_workflow_v1_enum,file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),WorkflowSpecSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_spec,0),WorkflowBudgetSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_spec,1),WorkflowDocumentSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_spec,2),WorkflowTaskSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_spec,3),ExportSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_spec,4),FlowControlSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_spec,5);var file_ai_stigmer_agentic_workflow_v1_serverless_validation=fileDesc("CjphaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvc2VydmVybGVzcy92YWxpZGF0aW9uLnByb3RvEilhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuc2VydmVybGVzcyLrAQocU2VydmVybGVzc1dvcmtmbG93VmFsaWRhdGlvbhJJCgVzdGF0ZRgBIAEoDjI6LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5zZXJ2ZXJsZXNzLlZhbGlkYXRpb25TdGF0ZRIMCgR5YW1sGAIgASgJEg4KBmVycm9ycxgDIAMoCRIQCgh3YXJuaW5ncxgEIAMoCRIwCgx2YWxpZGF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEh4KFnZhbGlkYXRpb25fd29ya2Zsb3dfaWQYBiABKAkqZAoPVmFsaWRhdGlvblN0YXRlEiAKHFZBTElEQVRJT05fU1RBVEVfVU5TUEVDSUZJRUQQABILCgdQRU5ESU5HEAESCQoFVkFMSUQQAhILCgdJTlZBTElEEAMSCgoGRkFJTEVEEARiBnByb3RvMw",[file_google_protobuf_timestamp]),ServerlessWorkflowValidationSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_serverless_validation,0),ValidationState2;(function(ValidationState3){ValidationState3[ValidationState3.VALIDATION_STATE_UNSPECIFIED=0]="VALIDATION_STATE_UNSPECIFIED",ValidationState3[ValidationState3.PENDING=1]="PENDING",ValidationState3[ValidationState3.VALID=2]="VALID",ValidationState3[ValidationState3.INVALID=3]="INVALID",ValidationState3[ValidationState3.FAILED=4]="FAILED"})(ValidationState2||(ValidationState2={}));var file_ai_stigmer_agentic_workflow_v1_status=fileDesc("CithaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvc3RhdHVzLnByb3RvEh5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEi9QEKDldvcmtmbG93U3RhdHVzEj8KBWF1ZGl0GGMgASgLMjAuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXQSGwoTZGVmYXVsdF9pbnN0YW5jZV9pZBgBIAEoCRJvCh5zZXJ2ZXJsZXNzX3dvcmtmbG93X3ZhbGlkYXRpb24YAiABKAsyRy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuc2VydmVybGVzcy5TZXJ2ZXJsZXNzV29ya2Zsb3dWYWxpZGF0aW9uEhQKDHZlcnNpb25faGFzaBgDIAEoCWIGcHJvdG8z",[file_ai_stigmer_agentic_workflow_v1_serverless_validation,file_ai_stigmer_commons_apiresource_status]);var file_ai_stigmer_agentic_workflow_v1_api=fileDesc("CihhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvYXBpLnByb3RvEh5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEipwIKCFdvcmtmbG93EjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEh0KBGtpbmQYAiABKAlCD7pIDHIKCghXb3JrZmxvdxJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESOgoEc3BlYxgEIAEoCzIsLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1NwZWMSPgoGc3RhdHVzGAUgASgLMi4uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93U3RhdHVzYgZwcm90bzM",[file_ai_stigmer_agentic_workflow_v1_spec,file_ai_stigmer_agentic_workflow_v1_status,file_ai_stigmer_commons_apiresource_metadata,file_buf_validate_validate]),WorkflowSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_api,0);var file_ai_stigmer_agentic_workflow_v1_io=fileDesc("CidhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvaW8ucHJvdG8SHmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MSIjCgpXb3JrZmxvd0lkEhUKBXZhbHVlGAEgASgJQga6SAPIAQFiBnByb3RvMw",[file_buf_validate_validate]);var file_ai_stigmer_agentic_workflow_v1_version=fileDesc("CixhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdmVyc2lvbi5wcm90bxIeYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxIrgCChRXb3JrZmxvd1ZlcnNpb25FbnRyeRIUCgx2ZXJzaW9uX2hhc2gYASABKAkSLgoKYXBwbGllZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASSQoKYXBwbGllZF9ieRgDIAEoCzI1LmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0QWN0b3ISCwoDdGFnGAQgASgJEhIKCmlzX2N1cnJlbnQYBSABKAgSDwoHbWVzc2FnZRgGIAEoCRIWCg52YWxpZGF0ZWRfeWFtbBgHIAEoCRJFCg5naXRfcHJvdmVuYW5jZRgIIAEoCzItLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5HaXRQcm92ZW5hbmNlIlAKDUdpdFByb3ZlbmFuY2USEgoKcmVtb3RlX3VybBgBIAEoCRILCgNyZWYYAiABKAkSDgoGY29tbWl0GAMgASgJEg4KBnN1YmRpchgEIAEoCSJtChlMaXN0V29ya2Zsb3dWZXJzaW9uc0lucHV0EhMKA29yZxgBIAEoCUIGukgDyAEBEhQKBHNsdWcYAiABKAlCBrpIA8gBARISCgpwYWdlX3Rva2VuGAMgASgJEhEKCXBhZ2Vfc2l6ZRgEIAEoBSKUAQocTGlzdFdvcmtmbG93VmVyc2lvbnNSZXNwb25zZRJGCgh2ZXJzaW9ucxgBIAMoCzI0LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1ZlcnNpb25FbnRyeRIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkSEwoLdG90YWxfY291bnQYAyABKAUiYwoXR2V0V29ya2Zsb3dWZXJzaW9uSW5wdXQSGwoLd29ya2Zsb3dfaWQYASABKAlCBrpIA8gBARIrCgx2ZXJzaW9uX2hhc2gYAiABKAlCFbpIEnIQMg5eW2EtZjAtOV17NjR9JCKMAQoXVGFnV29ya2Zsb3dWZXJzaW9uSW5wdXQSGwoLd29ya2Zsb3dfaWQYASABKAlCBrpIA8gBARIrCgx2ZXJzaW9uX2hhc2gYAiABKAlCFbpIEnIQMg5eW2EtZjAtOV17NjR9JBInCgN0YWcYAyABKAlCGrpIF3IVEAEyEV5bYS16QS1aMC05Ll8tXSskYgZwcm90bzM",[file_ai_stigmer_commons_apiresource_status,file_buf_validate_validate,file_google_protobuf_timestamp]);var file_ai_stigmer_agentic_workflow_v1_command=fileDesc("CixhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvY29tbWFuZC5wcm90bxIeYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxMpEJChlXb3JrZmxvd0NvbW1hbmRDb250cm9sbGVyElsKBWFwcGx5EiguYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93GiguYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93EqoBCgZjcmVhdGUSKC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3caKC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3ciTMK4GEgIBxAeIgxtZXRhZGF0YS5vcmcqNHVuYXV0aG9yaXplZCB0byBjcmVhdGUgd29ya2Zsb3cgaW4gdGhpcyBvcmdhbml6YXRpb24SlAEKBnVwZGF0ZRIoLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvdxooLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvdyI2wrgYMggCEDIiC21ldGFkYXRhLmlkKh91bmF1dGhvcml6ZWQgdG8gdXBkYXRlIHdvcmtmbG93ErYBChB1cGRhdGVWaXNpYmlsaXR5EjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLlVwZGF0ZVZpc2liaWxpdHlJbnB1dBooLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvdyJBwrgYPQgCEDIiC3Jlc291cmNlX2lkKip1bmF1dGhvcml6ZWQgdG8gdXBkYXRlIHdvcmtmbG93IHZpc2liaWxpdHkSkAEKBmRlbGV0ZRIqLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd0lkGiguYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93IjDCuBgsCAMQMiIFdmFsdWUqH3VuYXV0aG9yaXplZCB0byBkZWxldGUgd29ya2Zsb3cS0QEKDHZhbGlkYXRlU3BlYxIoLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvdxpHLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5zZXJ2ZXJsZXNzLlNlcnZlcmxlc3NXb3JrZmxvd1ZhbGlkYXRpb24iTsK4GEoIBxAeIgxtZXRhZGF0YS5vcmcqNnVuYXV0aG9yaXplZCB0byB2YWxpZGF0ZSB3b3JrZmxvdyBpbiB0aGlzIG9yZ2FuaXphdGlvbhKsAQoKdGFnVmVyc2lvbhI3LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5UYWdXb3JrZmxvd1ZlcnNpb25JbnB1dBooLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvdyI7wrgYNwgCEDIiC3dvcmtmbG93X2lkKiR1bmF1dGhvcml6ZWQgdG8gdGFnIHdvcmtmbG93IHZlcnNpb24aBKD/KzJiBnByb3RvMw",[file_ai_stigmer_agentic_workflow_v1_api,file_ai_stigmer_agentic_workflow_v1_io,file_ai_stigmer_agentic_workflow_v1_serverless_validation,file_ai_stigmer_agentic_workflow_v1_version,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),WorkflowCommandController=serviceDesc(file_ai_stigmer_agentic_workflow_v1_command,0);var file_ai_stigmer_agentic_workflow_v1_query=fileDesc("CiphaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvcXVlcnkucHJvdG8SHmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MTLvBAoXV29ya2Zsb3dRdWVyeUNvbnRyb2xsZXISigEKA2dldBIqLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd0lkGiguYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93Ii3CuBgpCAEQMiIFdmFsdWUqHHVuYXV0aG9yaXplZCB0byBnZXQgd29ya2Zsb3cSdgoOZ2V0QnlSZWZlcmVuY2USNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2UaKC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3ciBNC4GAESjQEKDGxpc3RWZXJzaW9ucxI5LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5MaXN0V29ya2Zsb3dWZXJzaW9uc0lucHV0GjwuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLkxpc3RXb3JrZmxvd1ZlcnNpb25zUmVzcG9uc2UiBNC4GAESuAEKCmdldFZlcnNpb24SNy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuR2V0V29ya2Zsb3dWZXJzaW9uSW5wdXQaNC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3dWZXJzaW9uRW50cnkiO8K4GDcIARAyIgt3b3JrZmxvd19pZCokdW5hdXRob3JpemVkIHRvIGdldCB3b3JrZmxvdyB2ZXJzaW9uGgSg/ysyYgZwcm90bzM",[file_ai_stigmer_agentic_workflow_v1_api,file_ai_stigmer_agentic_workflow_v1_io,file_ai_stigmer_agentic_workflow_v1_version,file_ai_stigmer_commons_apiresource_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),WorkflowQueryController=serviceDesc(file_ai_stigmer_agentic_workflow_v1_query,0);var file_ai_stigmer_agentic_workflow_v1_task_kind_descriptor=fileDesc("CjlhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza19raW5kX2Rlc2NyaXB0b3IucHJvdG8SHmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MSJHCg5UYXNrRmllbGRHcm91cBIKCgJpZBgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAki1gIKE1Rhc2tGaWVsZERlc2NyaXB0b3ISDAoEbmFtZRgBIAEoCRIUCgxkaXNwbGF5X25hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSOwoEdHlwZRgEIAEoDjItLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5UYXNrRmllbGRUeXBlEhAKCHJlcXVpcmVkGAUgASgIEhUKDWlzX2V4cHJlc3Npb24YBiABKAgSFQoNZGVmYXVsdF92YWx1ZRgHIAEoCRITCgtlbnVtX3ZhbHVlcxgIIAMoCRIcChRqc29uX3NjaGVtYV9mcmFnbWVudBgJIAEoCRIQCghncm91cF9pZBgKIAEoCRIUCgxmaWVsZF9udW1iZXIYCyABKAUSFAoMZWxlbWVudF90eXBlGAwgASgJEhgKEHZhbGlkYXRpb25faGludHMYDSADKAkimgQKElRhc2tLaW5kRGVzY3JpcHRvchI+CgRraW5kGAEgASgOMjAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93VGFza0tpbmQSFAoMZGlzcGxheV9uYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEkIKCGNhdGVnb3J5GAQgASgOMjAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLlRhc2tLaW5kQ2F0ZWdvcnkSDAoEaWNvbhgFIAEoCRIZChFjb25maWdfcHJvdG9fdHlwZRgGIAEoCRJDCgZmaWVsZHMYByADKAsyMy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuVGFza0ZpZWxkRGVzY3JpcHRvchJECgxmaWVsZF9ncm91cHMYCCADKAsyLi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuVGFza0ZpZWxkR3JvdXASGgoSY29uZmlnX2pzb25fc2NoZW1hGAkgASgJEhoKEm91dHB1dF9qc29uX3NjaGVtYRgKIAEoCRIVCg15YW1sX2V4YW1wbGVzGAsgAygJEhkKEWRvY3VtZW50YXRpb25fdXJsGAwgASgJEhQKDGlzX2FpX25hdGl2ZRgNIAEoCBIhChlyZXF1aXJlc19leHRlcm5hbF9zZXJ2aWNlGA4gASgIIhwKGkdldFRhc2tLaW5kUmVnaXN0cnlSZXF1ZXN0ImYKG0dldFRhc2tLaW5kUmVnaXN0cnlSZXNwb25zZRJHCgtkZXNjcmlwdG9ycxgBIAMoCzIyLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5UYXNrS2luZERlc2NyaXB0b3Iq9wEKEFRhc2tLaW5kQ2F0ZWdvcnkSIgoeVEFTS19LSU5EX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASIwofVEFTS19LSU5EX0NBVEVHT1JZX0NPTlRST0xfRkxPVxABEiEKHVRBU0tfS0lORF9DQVRFR09SWV9JTlZPQ0FUSU9OEAISGQoVVEFTS19LSU5EX0NBVEVHT1JZX0FJEAMSGwoXVEFTS19LSU5EX0NBVEVHT1JZX0RBVEEQBBIhCh1UQVNLX0tJTkRfQ0FURUdPUllfR09WRVJOQU5DRRAFEhwKGFRBU0tfS0lORF9DQVRFR09SWV9FVkVOVBAGKqYCCg1UYXNrRmllbGRUeXBlEh8KG1RBU0tfRklFTERfVFlQRV9VTlNQRUNJRklFRBAAEhoKFlRBU0tfRklFTERfVFlQRV9TVFJJTkcQARIZChVUQVNLX0ZJRUxEX1RZUEVfSU5UMzIQAhIZChVUQVNLX0ZJRUxEX1RZUEVfRkxPQVQQAxIYChRUQVNLX0ZJRUxEX1RZUEVfQk9PTBAEEhgKFFRBU0tfRklFTERfVFlQRV9FTlVNEAUSGgoWVEFTS19GSUVMRF9UWVBFX1NUUlVDVBAGEhwKGFRBU0tfRklFTERfVFlQRV9SRVBFQVRFRBAHEhcKE1RBU0tfRklFTERfVFlQRV9NQVAQCBIbChdUQVNLX0ZJRUxEX1RZUEVfTUVTU0FHRRAJYgZwcm90bzM",[file_ai_stigmer_agentic_workflow_v1_enum]);var TaskKindDescriptorSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_task_kind_descriptor,2);var GetTaskKindRegistryResponseSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_task_kind_descriptor,4),TaskKindCategory;(function(TaskKindCategory2){TaskKindCategory2[TaskKindCategory2.UNSPECIFIED=0]="UNSPECIFIED",TaskKindCategory2[TaskKindCategory2.CONTROL_FLOW=1]="CONTROL_FLOW",TaskKindCategory2[TaskKindCategory2.INVOCATION=2]="INVOCATION",TaskKindCategory2[TaskKindCategory2.AI=3]="AI",TaskKindCategory2[TaskKindCategory2.DATA=4]="DATA",TaskKindCategory2[TaskKindCategory2.GOVERNANCE=5]="GOVERNANCE",TaskKindCategory2[TaskKindCategory2.EVENT=6]="EVENT"})(TaskKindCategory||(TaskKindCategory={}));var TaskFieldType;(function(TaskFieldType2){TaskFieldType2[TaskFieldType2.UNSPECIFIED=0]="UNSPECIFIED",TaskFieldType2[TaskFieldType2.STRING=1]="STRING",TaskFieldType2[TaskFieldType2.INT32=2]="INT32",TaskFieldType2[TaskFieldType2.FLOAT=3]="FLOAT",TaskFieldType2[TaskFieldType2.BOOL=4]="BOOL",TaskFieldType2[TaskFieldType2.ENUM=5]="ENUM",TaskFieldType2[TaskFieldType2.STRUCT=6]="STRUCT",TaskFieldType2[TaskFieldType2.REPEATED=7]="REPEATED",TaskFieldType2[TaskFieldType2.MAP=8]="MAP",TaskFieldType2[TaskFieldType2.MESSAGE=9]="MESSAGE"})(TaskFieldType||(TaskFieldType={}));var file_ai_stigmer_agentic_workflow_v1_task_kind_registry_query=fileDesc("Cj1haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza19raW5kX3JlZ2lzdHJ5X3F1ZXJ5LnByb3RvEh5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEysgEKH1Rhc2tLaW5kUmVnaXN0cnlRdWVyeUNvbnRyb2xsZXISjgEKE2dldFRhc2tLaW5kUmVnaXN0cnkSOi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuR2V0VGFza0tpbmRSZWdpc3RyeVJlcXVlc3QaOy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuR2V0VGFza0tpbmRSZWdpc3RyeVJlc3BvbnNlYgZwcm90bzM",[file_ai_stigmer_agentic_workflow_v1_task_kind_descriptor]),TaskKindRegistryQueryController=serviceDesc(file_ai_stigmer_agentic_workflow_v1_task_kind_registry_query,0);var file_ai_stigmer_agentic_workflowexecution_v1_enum=fileDesc("CjJhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvZW51bS5wcm90bxInYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxKtsBCg5FeGVjdXRpb25QaGFzZRIfChtFWEVDVVRJT05fUEhBU0VfVU5TUEVDSUZJRUQQABIVChFFWEVDVVRJT05fUEVORElORxABEhkKFUVYRUNVVElPTl9JTl9QUk9HUkVTUxACEhcKE0VYRUNVVElPTl9DT01QTEVURUQQAxIUChBFWEVDVVRJT05fRkFJTEVEEAQSFwoTRVhFQ1VUSU9OX0NBTkNFTExFRBAFEhgKFEVYRUNVVElPTl9URVJNSU5BVEVEEAYSFAoQRVhFQ1VUSU9OX1BBVVNFRBAHKoQCChBXb3JrZmxvd1Rhc2tUeXBlEiIKHldPUktGTE9XX1RBU0tfVFlQRV9VTlNQRUNJRklFRBAAEiIKHldPUktGTE9XX1RBU0tfQUdFTlRfSU5WT0NBVElPThABEhoKFldPUktGTE9XX1RBU0tfQVBQUk9WQUwQAhIaChZXT1JLRkxPV19UQVNLX0FQSV9DQUxMEAMSHQoZV09SS0ZMT1dfVEFTS19DT05ESVRJT05BTBAEEhoKFldPUktGTE9XX1RBU0tfUEFSQUxMRUwQBRIbChdXT1JLRkxPV19UQVNLX1RSQU5TRk9STRAGEhgKFFdPUktGTE9XX1RBU0tfQ1VTVE9NEAcq6gEKEldvcmtmbG93VGFza1N0YXR1cxIkCiBXT1JLRkxPV19UQVNLX1NUQVRVU19VTlNQRUNJRklFRBAAEhkKFVdPUktGTE9XX1RBU0tfUEVORElORxABEh0KGVdPUktGTE9XX1RBU0tfSU5fUFJPR1JFU1MQAhIbChdXT1JLRkxPV19UQVNLX0NPTVBMRVRFRBADEhgKFFdPUktGTE9XX1RBU0tfRkFJTEVEEAQSGQoVV09SS0ZMT1dfVEFTS19TS0lQUEVEEAUSIgoeV09SS0ZMT1dfVEFTS19XQUlUSU5HX0FQUFJPVkFMEAZiBnByb3RvMw"),ExecutionPhase2;(function(ExecutionPhase3){ExecutionPhase3[ExecutionPhase3.EXECUTION_PHASE_UNSPECIFIED=0]="EXECUTION_PHASE_UNSPECIFIED",ExecutionPhase3[ExecutionPhase3.EXECUTION_PENDING=1]="EXECUTION_PENDING",ExecutionPhase3[ExecutionPhase3.EXECUTION_IN_PROGRESS=2]="EXECUTION_IN_PROGRESS",ExecutionPhase3[ExecutionPhase3.EXECUTION_COMPLETED=3]="EXECUTION_COMPLETED",ExecutionPhase3[ExecutionPhase3.EXECUTION_FAILED=4]="EXECUTION_FAILED",ExecutionPhase3[ExecutionPhase3.EXECUTION_CANCELLED=5]="EXECUTION_CANCELLED",ExecutionPhase3[ExecutionPhase3.EXECUTION_TERMINATED=6]="EXECUTION_TERMINATED",ExecutionPhase3[ExecutionPhase3.EXECUTION_PAUSED=7]="EXECUTION_PAUSED"})(ExecutionPhase2||(ExecutionPhase2={}));var WorkflowTaskType;(function(WorkflowTaskType2){WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_TYPE_UNSPECIFIED=0]="WORKFLOW_TASK_TYPE_UNSPECIFIED",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_AGENT_INVOCATION=1]="WORKFLOW_TASK_AGENT_INVOCATION",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_APPROVAL=2]="WORKFLOW_TASK_APPROVAL",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_API_CALL=3]="WORKFLOW_TASK_API_CALL",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_CONDITIONAL=4]="WORKFLOW_TASK_CONDITIONAL",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_PARALLEL=5]="WORKFLOW_TASK_PARALLEL",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_TRANSFORM=6]="WORKFLOW_TASK_TRANSFORM",WorkflowTaskType2[WorkflowTaskType2.WORKFLOW_TASK_CUSTOM=7]="WORKFLOW_TASK_CUSTOM"})(WorkflowTaskType||(WorkflowTaskType={}));var WorkflowTaskStatus;(function(WorkflowTaskStatus2){WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_STATUS_UNSPECIFIED=0]="WORKFLOW_TASK_STATUS_UNSPECIFIED",WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_PENDING=1]="WORKFLOW_TASK_PENDING",WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_IN_PROGRESS=2]="WORKFLOW_TASK_IN_PROGRESS",WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_COMPLETED=3]="WORKFLOW_TASK_COMPLETED",WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_FAILED=4]="WORKFLOW_TASK_FAILED",WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_SKIPPED=5]="WORKFLOW_TASK_SKIPPED",WorkflowTaskStatus2[WorkflowTaskStatus2.WORKFLOW_TASK_WAITING_APPROVAL=6]="WORKFLOW_TASK_WAITING_APPROVAL"})(WorkflowTaskStatus||(WorkflowTaskStatus={}));var file_ai_stigmer_agentic_workflowexecution_v1_spec=fileDesc("CjJhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvc3BlYy5wcm90bxInYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxIrwEChVXb3JrZmxvd0V4ZWN1dGlvblNwZWMSHAoUd29ya2Zsb3dfaW5zdGFuY2VfaWQYASABKAkSEwoLd29ya2Zsb3dfaWQYBiABKAkSFwoPdHJpZ2dlcl9tZXNzYWdlGAMgASgJEm0KEHRyaWdnZXJfbWV0YWRhdGEYBCADKAsyUy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dFeGVjdXRpb25TcGVjLlRyaWdnZXJNZXRhZGF0YUVudHJ5EmMKC3J1bnRpbWVfZW52GAUgAygLMk4uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uU3BlYy5SdW50aW1lRW52RW50cnkSFgoOY2FsbGJhY2tfdG9rZW4YByABKAwSSAoQZXhlY3V0aW9uX3RhcmdldBgIIAEoDjIuLmFpLnN0aWdtZXIuYWdlbnRpYy5zZXNzaW9uLnYxLkV4ZWN1dGlvblRhcmdldBo2ChRUcmlnZ2VyTWV0YWRhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmkKD1J1bnRpbWVFbnZFbnRyeRILCgNrZXkYASABKAkSRQoFdmFsdWUYAiABKAsyNi5haS5zdGlnbWVyLmFnZW50aWMuZXhlY3V0aW9uY29udGV4dC52MS5FeGVjdXRpb25WYWx1ZToCOAFiBnByb3RvMw",[file_ai_stigmer_agentic_executioncontext_v1_spec,file_ai_stigmer_agentic_session_v1_enum]);var file_ai_stigmer_agentic_workflowexecution_v1_api=fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvYXBpLnByb3RvEidhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEi3QIKEVdvcmtmbG93RXhlY3V0aW9uEjEKC2FwaV92ZXJzaW9uGAEgASgJQhy6SBlyFwoVYWdlbnRpYy5zdGlnbWVyLmFpL3YxEiYKBGtpbmQYAiABKAlCGLpIFXITChFXb3JrZmxvd0V4ZWN1dGlvbhJNCghtZXRhZGF0YRgDIAEoCzIzLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZU1ldGFkYXRhQga6SAPIAQESTAoEc3BlYxgEIAEoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvblNwZWMSUAoGc3RhdHVzGAUgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uU3RhdHVzIsIEChdXb3JrZmxvd0V4ZWN1dGlvblN0YXR1cxI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0ElAKBXBoYXNlGAEgASgOMjcuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlQgi6SAWCAQIQARJECgV0YXNrcxgCIAMoCzI1LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1Rhc2sSJwoGb3V0cHV0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBINCgVlcnJvchgEIAEoCRISCgpzdGFydGVkX2F0GAUgASgJEhQKDGNvbXBsZXRlZF9hdBgGIAEoCRIcChR0ZW1wb3JhbF93b3JrZmxvd19pZBgHIAEoCRJbChFwZW5kaW5nX2FwcHJvdmFscxgJIAMoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd1BlbmRpbmdBcHByb3ZhbBIZChF0b3RhbF9jb3N0X21pY3JvcxgKIAEoAxIaChJ0b3RhbF9pbnB1dF90b2tlbnMYCyABKAMSGwoTdG90YWxfb3V0cHV0X3Rva2VucxgMIAEoAxIdChV3b3JrZmxvd192ZXJzaW9uX2hhc2gYDSABKAkihAEKF1dvcmtmbG93UGVuZGluZ0FwcHJvdmFsEkcKCGFwcHJvdmFsGAEgASgLMjUuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLlBlbmRpbmdBcHByb3ZhbBIgChhjaGlsZF9hZ2VudF9leGVjdXRpb25faWQYAiABKAki7gMKDFdvcmtmbG93VGFzaxIPCgd0YXNrX2lkGAEgASgJEhEKCXRhc2tfbmFtZRgCIAEoCRJWCgl0YXNrX3R5cGUYAyABKA4yOS5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dUYXNrVHlwZUIIukgFggECEAESJgoFaW5wdXQYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBm91dHB1dBgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSVQoGc3RhdHVzGAYgASgOMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93VGFza1N0YXR1c0IIukgFggECEAESEgoKc3RhcnRlZF9hdBgHIAEoCRIUCgxjb21wbGV0ZWRfYXQYCCABKAkSDQoFZXJyb3IYCSABKAkSKQoIbWV0YWRhdGEYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhQKDGFydGlmYWN0X2lkcxgLIAMoCRITCgtjb3N0X21pY3JvcxgMIAEoAxIUCgxpbnB1dF90b2tlbnMYDSABKAMSFQoNb3V0cHV0X3Rva2VucxgOIAEoA2IGcHJvdG8z",[file_ai_stigmer_agentic_agentexecution_v1_approval,file_ai_stigmer_agentic_workflowexecution_v1_enum,file_ai_stigmer_agentic_workflowexecution_v1_spec,file_ai_stigmer_commons_apiresource_metadata,file_ai_stigmer_commons_apiresource_status,file_buf_validate_validate,file_google_protobuf_struct]),WorkflowExecutionSchema=messageDesc2(file_ai_stigmer_agentic_workflowexecution_v1_api,0);var file_ai_stigmer_agentic_workflowexecution_v1_event=fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvZXZlbnQucHJvdG8SJ2FpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MSKGEQoWV29ya2Zsb3dFeGVjdXRpb25FdmVudBIZCghldmVudF9pZBgBIAEoCUIHukgEcgIQARJYCgpldmVudF90eXBlGAIgASgOMjouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXZlbnRUeXBlQgi6SAWCAQIQARIXCg9zZXF1ZW5jZV9udW1iZXIYAyABKAQSHAoLb2NjdXJyZWRfYXQYBCABKAlCB7pIBHICEAESEQoJdGFza19uYW1lGAUgASgJEl0KEWV4ZWN1dGlvbl9zdGFydGVkGAogASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblN0YXJ0ZWRQYXlsb2FkSAASYQoTZXhlY3V0aW9uX2NvbXBsZXRlZBgLIAEoCzJCLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5FeGVjdXRpb25Db21wbGV0ZWRQYXlsb2FkSAASWwoQZXhlY3V0aW9uX2ZhaWxlZBgMIAEoCzI/LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5FeGVjdXRpb25GYWlsZWRQYXlsb2FkSAASWwoQZXhlY3V0aW9uX3BhdXNlZBgNIAEoCzI/LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5FeGVjdXRpb25QYXVzZWRQYXlsb2FkSAASXQoRZXhlY3V0aW9uX3Jlc3VtZWQYDiABKAsyQC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuRXhlY3V0aW9uUmVzdW1lZFBheWxvYWRIABJhChNleGVjdXRpb25fY2FuY2VsbGVkGA8gASgLMkIuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvbkNhbmNlbGxlZFBheWxvYWRIABJjChRleGVjdXRpb25fdGVybWluYXRlZBgQIAEoCzJDLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5FeGVjdXRpb25UZXJtaW5hdGVkUGF5bG9hZEgAElMKDHRhc2tfc3RhcnRlZBgUIAEoCzI7LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5UYXNrU3RhcnRlZFBheWxvYWRIABJXCg50YXNrX2NvbXBsZXRlZBgVIAEoCzI9LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5UYXNrQ29tcGxldGVkUGF5bG9hZEgAElEKC3Rhc2tfZmFpbGVkGBYgASgLMjouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLlRhc2tGYWlsZWRQYXlsb2FkSAASUwoMdGFza19za2lwcGVkGBcgASgLMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLlRhc2tTa2lwcGVkUGF5bG9hZEgAElUKDXRhc2tfcmV0cnlpbmcYGCABKAsyPC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuVGFza1JldHJ5aW5nUGF5bG9hZEgAEl4KEmFnZW50X2NhbGxfc3RhcnRlZBgeIAEoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5BZ2VudENhbGxTdGFydGVkUGF5bG9hZEgAEmAKE2FnZW50X2NhbGxfcHJvZ3Jlc3MYHyABKAsyQS5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuQWdlbnRDYWxsUHJvZ3Jlc3NQYXlsb2FkSAASYgoUYWdlbnRfY2FsbF9jb21wbGV0ZWQYICABKAsyQi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuQWdlbnRDYWxsQ29tcGxldGVkUGF5bG9hZEgAEl8KEmFwcHJvdmFsX3JlcXVlc3RlZBgoIAEoCzJBLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5BcHByb3ZhbFJlcXVlc3RlZFBheWxvYWRIABJdChFhcHByb3ZhbF9yZXNvbHZlZBgpIAEoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5BcHByb3ZhbFJlc29sdmVkUGF5bG9hZEgAEl0KEWJ1ZGdldF9jaGVja3BvaW50GDIgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkJ1ZGdldENoZWNrcG9pbnRQYXlsb2FkSAASWQoPc2lnbmFsX3JlY2VpdmVkGDwgASgLMj4uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLlNpZ25hbFJlY2VpdmVkUGF5bG9hZEgAElUKDWV2ZW50X2VtaXR0ZWQYPSABKAsyPC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuRXZlbnRFbWl0dGVkUGF5bG9hZEgAElsKEGFydGlmYWN0X2NyZWF0ZWQYRiABKAsyPy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuQXJ0aWZhY3RDcmVhdGVkUGF5bG9hZEgAQgkKB3BheWxvYWQiYQoXRXhlY3V0aW9uU3RhcnRlZFBheWxvYWQSEwoLdG90YWxfdGFza3MYASABKAUSEwoLd29ya2Zsb3dfaWQYAiABKAkSHAoUd29ya2Zsb3dfaW5zdGFuY2VfaWQYAyABKAkikgEKGUV4ZWN1dGlvbkNvbXBsZXRlZFBheWxvYWQSLwoOb3V0cHV0X3N1bW1hcnkYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC2R1cmF0aW9uX21zGAIgASgDEhkKEXRvdGFsX2Nvc3RfbWljcm9zGAMgASgDEhQKDHRvdGFsX3Rva2VucxgEIAEoAyJWChZFeGVjdXRpb25GYWlsZWRQYXlsb2FkEg0KBWVycm9yGAEgASgJEhgKEGZhaWxlZF90YXNrX25hbWUYAiABKAkSEwoLZHVyYXRpb25fbXMYAyABKAMiOwoWRXhlY3V0aW9uUGF1c2VkUGF5bG9hZBIOCgZyZWFzb24YASABKAkSEQoJcGF1c2VkX2J5GAIgASgJIi0KF0V4ZWN1dGlvblJlc3VtZWRQYXlsb2FkEhIKCnJlc3VtZWRfYnkYASABKAkiQQoZRXhlY3V0aW9uQ2FuY2VsbGVkUGF5bG9hZBIOCgZyZWFzb24YASABKAkSFAoMY2FuY2VsbGVkX2J5GAIgASgJIkMKGkV4ZWN1dGlvblRlcm1pbmF0ZWRQYXlsb2FkEg4KBnJlYXNvbhgBIAEoCRIVCg10ZXJtaW5hdGVkX2J5GAIgASgJIqEBChJUYXNrU3RhcnRlZFBheWxvYWQSQwoJdGFza19raW5kGAEgASgOMjAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93VGFza0tpbmQSLgoNaW5wdXRfc3VtbWFyeRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoOYXR0ZW1wdF9udW1iZXIYAyABKAUiywEKFFRhc2tDb21wbGV0ZWRQYXlsb2FkEkMKCXRhc2tfa2luZBgBIAEoDjIwLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1Rhc2tLaW5kEhMKC2R1cmF0aW9uX21zGAIgASgDEi8KDm91dHB1dF9zdW1tYXJ5GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgtjb3N0X21pY3JvcxgEIAEoAxITCgt0b2tlbnNfdXNlZBgFIAEoAyK+AQoRVGFza0ZhaWxlZFBheWxvYWQSQwoJdGFza19raW5kGAEgASgOMjAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93VGFza0tpbmQSDQoFZXJyb3IYAiABKAkSFgoOYXR0ZW1wdF9udW1iZXIYAyABKAUSFAoMbWF4X2F0dGVtcHRzGAQgASgFEhIKCndpbGxfcmV0cnkYBSABKAgSEwoLZHVyYXRpb25fbXMYBiABKAMiaQoSVGFza1NraXBwZWRQYXlsb2FkEkMKCXRhc2tfa2luZBgBIAEoDjIwLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1Rhc2tLaW5kEg4KBnJlYXNvbhgCIAEoCSJVChNUYXNrUmV0cnlpbmdQYXlsb2FkEhYKDmZhaWxlZF9hdHRlbXB0GAEgASgFEhQKDG5leHRfYXR0ZW1wdBgCIAEoBRIQCghkZWxheV9tcxgDIAEoAyJiChdBZ2VudENhbGxTdGFydGVkUGF5bG9hZBIaChJjaGlsZF9leGVjdXRpb25faWQYASABKAkSEgoKYWdlbnRfc2x1ZxgCIAEoCRIXCg9tZXNzYWdlX3N1bW1hcnkYAyABKAki5wEKGEFnZW50Q2FsbFByb2dyZXNzUGF5bG9hZBIaChJjaGlsZF9leGVjdXRpb25faWQYASABKAkSSQoLYWdlbnRfcGhhc2UYAiABKA4yNC5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuRXhlY3V0aW9uUGhhc2USGQoRY3VycmVudF90b29sX25hbWUYAyABKAkSFwoPdG9rZW5zX2NvbnN1bWVkGAQgASgDEhYKDm1lc3NhZ2VzX2NvdW50GAUgASgFEhgKEHRvb2xfY2FsbHNfY291bnQYBiABKAUi1AEKGUFnZW50Q2FsbENvbXBsZXRlZFBheWxvYWQSGgoSY2hpbGRfZXhlY3V0aW9uX2lkGAEgASgJEkkKC2FnZW50X3BoYXNlGAIgASgOMjQuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlEhMKC2R1cmF0aW9uX21zGAMgASgDEhcKD3Rva2Vuc19jb25zdW1lZBgEIAEoAxITCgtjb3N0X21pY3JvcxgFIAEoAxINCgVlcnJvchgGIAEoCSI0ChVIdW1hbklucHV0T3V0Y29tZUluZm8SDAoEbmFtZRgBIAEoCRINCgVsYWJlbBgCIAEoCSKIAgoYQXBwcm92YWxSZXF1ZXN0ZWRQYXlsb2FkEg4KBnByb21wdBgBIAEoCRIRCglhcHByb3ZlcnMYAiADKAkSFwoPdGltZW91dF9zZWNvbmRzGAMgASgFEhQKDHRvb2xfY2FsbF9pZBgEIAEoCRIaChJjaGlsZF9leGVjdXRpb25faWQYBSABKAkSUAoIb3V0Y29tZXMYBiADKAsyPi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuSHVtYW5JbnB1dE91dGNvbWVJbmZvEiwKC2Zvcm1fc2NoZW1hGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKfAQoXQXBwcm92YWxSZXNvbHZlZFBheWxvYWQSRAoGYWN0aW9uGAEgASgOMjQuYWkuc3RpZ21lci5hZ2VudGljLmFnZW50ZXhlY3V0aW9uLnYxLkFwcHJvdmFsQWN0aW9uEhMKC3Jlc29sdmVkX2J5GAIgASgJEg8KB2NvbW1lbnQYAyABKAkSGAoQd2FpdF9kdXJhdGlvbl9tcxgEIAEoAyL3AQoXQnVkZ2V0Q2hlY2twb2ludFBheWxvYWQSHAoUY29zdF9jb25zdW1lZF9taWNyb3MYASABKAMSHQoVY29zdF9yZW1haW5pbmdfbWljcm9zGAIgASgDEhcKD3Rva2Vuc19jb25zdW1lZBgDIAEoAxIYChB0b2tlbnNfcmVtYWluaW5nGAQgASgDEhoKEnRocmVzaG9sZF9icmVhY2hlZBgFIAEoCBJQChJvbl9leGNlZWRlZF9wb2xpY3kYBiABKA4yNC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuQnVkZ2V0RXhjZWVkZWRQb2xpY3kiXgoVU2lnbmFsUmVjZWl2ZWRQYXlsb2FkEhMKC3NpZ25hbF9uYW1lGAEgASgJEjAKD3BheWxvYWRfc3VtbWFyeRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiVgoTRXZlbnRFbWl0dGVkUGF5bG9hZBISCgpldmVudF90eXBlGAEgASgJEhQKDGV2ZW50X3NvdXJjZRgCIAEoCRIVCg1ldmVudF9zdWJqZWN0GAMgASgJIm0KFkFydGlmYWN0Q3JlYXRlZFBheWxvYWQSEwoLYXJ0aWZhY3RfaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEhQKDGNvbnRlbnRfdHlwZRgDIAEoCRISCgpzaXplX2J5dGVzGAQgASgDKokEChFXb3JrZmxvd0V2ZW50VHlwZRIjCh93b3JrZmxvd19ldmVudF90eXBlX3Vuc3BlY2lmaWVkEAASFQoRZXhlY3V0aW9uX3N0YXJ0ZWQQARIXChNleGVjdXRpb25fY29tcGxldGVkEAISFAoQZXhlY3V0aW9uX2ZhaWxlZBADEhQKEGV4ZWN1dGlvbl9wYXVzZWQQBBIVChFleGVjdXRpb25fcmVzdW1lZBAFEhcKE2V4ZWN1dGlvbl9jYW5jZWxsZWQQBhIYChRleGVjdXRpb25fdGVybWluYXRlZBAHEhAKDHRhc2tfc3RhcnRlZBALEhIKDnRhc2tfY29tcGxldGVkEAwSDwoLdGFza19mYWlsZWQQDRIQCgx0YXNrX3NraXBwZWQQDhIRCg10YXNrX3JldHJ5aW5nEA8SFgoSYWdlbnRfY2FsbF9zdGFydGVkEBUSFwoTYWdlbnRfY2FsbF9wcm9ncmVzcxAWEhgKFGFnZW50X2NhbGxfY29tcGxldGVkEBcSFgoSYXBwcm92YWxfcmVxdWVzdGVkEB8SFQoRYXBwcm92YWxfcmVzb2x2ZWQQIBIVChFidWRnZXRfY2hlY2twb2ludBApEhMKD3NpZ25hbF9yZWNlaXZlZBAzEhEKDWV2ZW50X2VtaXR0ZWQQNBIUChBhcnRpZmFjdF9jcmVhdGVkEDViBnByb3RvMw",[file_ai_stigmer_agentic_agentexecution_v1_enum,file_ai_stigmer_agentic_workflow_v1_enum,file_buf_validate_validate,file_google_protobuf_struct]);var WorkflowEventType;(function(WorkflowEventType2){WorkflowEventType2[WorkflowEventType2.workflow_event_type_unspecified=0]="workflow_event_type_unspecified",WorkflowEventType2[WorkflowEventType2.execution_started=1]="execution_started",WorkflowEventType2[WorkflowEventType2.execution_completed=2]="execution_completed",WorkflowEventType2[WorkflowEventType2.execution_failed=3]="execution_failed",WorkflowEventType2[WorkflowEventType2.execution_paused=4]="execution_paused",WorkflowEventType2[WorkflowEventType2.execution_resumed=5]="execution_resumed",WorkflowEventType2[WorkflowEventType2.execution_cancelled=6]="execution_cancelled",WorkflowEventType2[WorkflowEventType2.execution_terminated=7]="execution_terminated",WorkflowEventType2[WorkflowEventType2.task_started=11]="task_started",WorkflowEventType2[WorkflowEventType2.task_completed=12]="task_completed",WorkflowEventType2[WorkflowEventType2.task_failed=13]="task_failed",WorkflowEventType2[WorkflowEventType2.task_skipped=14]="task_skipped",WorkflowEventType2[WorkflowEventType2.task_retrying=15]="task_retrying",WorkflowEventType2[WorkflowEventType2.agent_call_started=21]="agent_call_started",WorkflowEventType2[WorkflowEventType2.agent_call_progress=22]="agent_call_progress",WorkflowEventType2[WorkflowEventType2.agent_call_completed=23]="agent_call_completed",WorkflowEventType2[WorkflowEventType2.approval_requested=31]="approval_requested",WorkflowEventType2[WorkflowEventType2.approval_resolved=32]="approval_resolved",WorkflowEventType2[WorkflowEventType2.budget_checkpoint=41]="budget_checkpoint",WorkflowEventType2[WorkflowEventType2.signal_received=51]="signal_received",WorkflowEventType2[WorkflowEventType2.event_emitted=52]="event_emitted",WorkflowEventType2[WorkflowEventType2.artifact_created=53]="artifact_created"})(WorkflowEventType||(WorkflowEventType={}));var file_ai_stigmer_agentic_workflowexecution_v1_io=fileDesc("CjBhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvaW8ucHJvdG8SJ2FpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MSIsChNXb3JrZmxvd0V4ZWN1dGlvbklkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEiIwoKV29ya2Zsb3dJZBIVCgV2YWx1ZRgBIAEoCUIGukgDyAEBInkKFVdvcmtmbG93RXhlY3V0aW9uTGlzdBITCgt0b3RhbF9wYWdlcxgBIAEoBRJLCgdlbnRyaWVzGAIgAygLMjouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uItcCCh1MaXN0V29ya2Zsb3dFeGVjdXRpb25zUmVxdWVzdBIRCglwYWdlX3NpemUYASABKAUSEgoKcGFnZV90b2tlbhgCIAEoCRJGCgVwaGFzZRgDIAEoDjI3LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5FeGVjdXRpb25QaGFzZRIMCgR0YWdzGAQgAygJElAKBmZpbHRlchgFIAEoCzJALmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5FeGVjdXRpb25GaWx0ZXJDcml0ZXJpYRJPCgpzb3J0X2ZpZWxkGAYgASgOMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblNvcnRGaWVsZBIWCg5zb3J0X2FzY2VuZGluZxgHIAEoCCKoAgonTGlzdFdvcmtmbG93RXhlY3V0aW9uc0J5V29ya2Zsb3dSZXF1ZXN0EhsKC3dvcmtmbG93X2lkGAEgASgJQga6SAPIAQESEQoJcGFnZV9zaXplGAIgASgFEhIKCnBhZ2VfdG9rZW4YAyABKAkSUAoGZmlsdGVyGAQgASgLMkAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvbkZpbHRlckNyaXRlcmlhEk8KCnNvcnRfZmllbGQYBSABKA4yOy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuRXhlY3V0aW9uU29ydEZpZWxkEhYKDnNvcnRfYXNjZW5kaW5nGAYgASgIIpACCiJXb3JrZmxvd0V4ZWN1dGlvblVwZGF0ZVN0YXR1c0lucHV0Eh0KDGV4ZWN1dGlvbl9pZBgBIAEoCUIHukgEcgIQARJYCgZzdGF0dXMYAiABKAsyQC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dFeGVjdXRpb25TdGF0dXNCBrpIA8gBARJPCgZldmVudHMYCiADKAsyPy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dFeGVjdXRpb25FdmVudBIgChh1cGRhdGVfcGVuZGluZ19hcHByb3ZhbHMYCyABKAgivgEKG1N1Ym1pdFdvcmtmbG93QXBwcm92YWxJbnB1dBIdCgxleGVjdXRpb25faWQYASABKAlCB7pIBHICEAESHQoMdG9vbF9jYWxsX2lkGAIgASgJQge6SARyAhABElAKBmFjdGlvbhgDIAEoDjI0LmFpLnN0aWdtZXIuYWdlbnRpYy5hZ2VudGV4ZWN1dGlvbi52MS5BcHByb3ZhbEFjdGlvbkIKukgHggEEEAEgABIPCgdjb21tZW50GAQgASgJIsUBCh9TdWJtaXRXb3JrZmxvd1Rhc2tBcHByb3ZhbElucHV0Eh0KDGV4ZWN1dGlvbl9pZBgBIAEoCUIHukgEcgIQARIaCgl0YXNrX25hbWUYAiABKAlCB7pIBHICEAESGAoHb3V0Y29tZRgDIAEoCUIHukgEcgIQARIqCglmb3JtX2RhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhAKCHJldmlld2VyGAUgASgJEg8KB2NvbW1lbnQYBiABKAkiQQohU3Vic2NyaWJlV29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0EhwKDGV4ZWN1dGlvbl9pZBgBIAEoCUIGukgDyAEBIkMKHENhbmNlbFdvcmtmbG93RXhlY3V0aW9uSW5wdXQSEwoCaWQYASABKAlCB7pIBHICEAESDgoGcmVhc29uGAIgASgJIkYKH1Rlcm1pbmF0ZVdvcmtmbG93RXhlY3V0aW9uSW5wdXQSEwoCaWQYASABKAlCB7pIBHICEAESDgoGcmVhc29uGAIgASgJIkQKHVJlY292ZXJXb3JrZmxvd0V4ZWN1dGlvbklucHV0EhMKAmlkGAEgASgJQge6SARyAhABEg4KBnJlYXNvbhgCIAEoCSJCChtQYXVzZVdvcmtmbG93RXhlY3V0aW9uSW5wdXQSEwoCaWQYASABKAlCB7pIBHICEAESDgoGcmVhc29uGAIgASgJIjMKHFJlc3VtZVdvcmtmbG93RXhlY3V0aW9uSW5wdXQSEwoCaWQYASABKAlCB7pIBHICEAEikQEKD1NlbmRTaWduYWxJbnB1dBIdCgxleGVjdXRpb25faWQYASABKAlCB7pIBHICEAESHAoLc2lnbmFsX25hbWUYAiABKAlCB7pIBHICEAESKAoHcGF5bG9hZBgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoPaWRlbXBvdGVuY3lfa2V5GAQgASgJIsIBChJHZXRFdmVudExvZ1JlcXVlc3QSHQoMZXhlY3V0aW9uX2lkGAEgASgJQge6SARyAhABEhYKDmFmdGVyX3NlcXVlbmNlGAIgASgEEk8KC2V2ZW50X3R5cGVzGAMgAygOMjouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXZlbnRUeXBlEhEKCXRhc2tfbmFtZRgEIAEoCRIRCglwYWdlX3NpemUYBSABKAUikQEKE0dldEV2ZW50TG9nUmVzcG9uc2USTwoGZXZlbnRzGAEgAygLMj8uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uRXZlbnQSEAoIaGFzX21vcmUYAiABKAgSFwoPbGF0ZXN0X3NlcXVlbmNlGAMgASgEIqABChZTdWJzY3JpYmVFdmVudHNSZXF1ZXN0Eh0KDGV4ZWN1dGlvbl9pZBgBIAEoCUIHukgEcgIQARIWCg5hZnRlcl9zZXF1ZW5jZRgCIAEoBBJPCgtldmVudF90eXBlcxgDIAMoDjI6LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V2ZW50VHlwZSKMAwoXRXhlY3V0aW9uRmlsdGVyQ3JpdGVyaWESRwoGcGhhc2VzGAEgAygOMjcuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblBoYXNlEjEKDXN0YXJ0ZWRfYWZ0ZXIYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjIKDnN0YXJ0ZWRfYmVmb3JlGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgxtaW5fZHVyYXRpb24YBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLwoMbWF4X2R1cmF0aW9uGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhcKD21pbl9jb3N0X21pY3JvcxgGIAEoAxIXCg9tYXhfY29zdF9taWNyb3MYByABKAMSGAoQZmFpbGVkX3Rhc2tfbmFtZRgIIAEoCRITCgtoYXNfcmV0cmllcxgJIAEoCCKYAQoaR2V0RXhlY3V0aW9uU3VtbWFyeVJlcXVlc3QSFAoDb3JnGAEgASgJQge6SARyAhABEk8KC3RpbWVfd2luZG93GAIgASgOMjouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLlN1bW1hcnlUaW1lV2luZG93EhMKC3dvcmtmbG93X2lkGAMgASgJIqMEChBFeGVjdXRpb25TdW1tYXJ5EhQKDGFjdGl2ZV9jb3VudBgBIAEoBRJgCgxwaGFzZV9jb3VudHMYAiADKAsySi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuRXhlY3V0aW9uU3VtbWFyeS5QaGFzZUNvdW50c0VudHJ5ElAKCnRvdGFsX2Nvc3QYAyABKAsyPC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuV29ya2Zsb3dDb3N0U3VtbWFyeRIvCgxhdmdfZHVyYXRpb24YBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SWwoVdG9wX2ZhaWxpbmdfd29ya2Zsb3dzGAUgAygLMjwuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RmFpbHVyZVJhbmsSWAoQY29zdF9ieV93b3JrZmxvdxgGIAMoCzI+LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0Nvc3RCcmVha2Rvd24SEwoLdG90YWxfY291bnQYByABKAUSFAoMc3VjY2Vzc19yYXRlGAggASgBGjIKEFBoYXNlQ291bnRzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASJmChNXb3JrZmxvd0Nvc3RTdW1tYXJ5EhYKDnRvdGFsX2Nvc3RfdXNkGAEgASgBEhoKEnRvdGFsX2lucHV0X3Rva2VucxgCIAEoAxIbChN0b3RhbF9vdXRwdXRfdG9rZW5zGAMgASgDIloKE1dvcmtmbG93RmFpbHVyZVJhbmsSFQoNd29ya2Zsb3dfc2x1ZxgBIAEoCRIVCg13b3JrZmxvd19uYW1lGAIgASgJEhUKDWZhaWx1cmVfY291bnQYAyABKAUidgoVV29ya2Zsb3dDb3N0QnJlYWtkb3duEhUKDXdvcmtmbG93X3NsdWcYASABKAkSFQoNd29ya2Zsb3dfbmFtZRgCIAEoCRIWCg50b3RhbF9jb3N0X3VzZBgDIAEoARIXCg9leGVjdXRpb25fY291bnQYBCABKAUiWgobTGlzdFBlbmRpbmdBcHByb3ZhbHNSZXF1ZXN0EhQKA29yZxgBIAEoCUIHukgEcgIQARIRCglwYWdlX3NpemUYAiABKAUSEgoKcGFnZV90b2tlbhgDIAEoCSL0AQoPUGVuZGluZ0FwcHJvdmFsEhQKDGV4ZWN1dGlvbl9pZBgBIAEoCRIVCg13b3JrZmxvd19uYW1lGAIgASgJEhEKCXRhc2tfbmFtZRgDIAEoCRIRCglyZXF1ZXN0ZXIYBCABKAkSMAoMcmVxdWVzdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp0aW1lb3V0X2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIsCgtmb3JtX3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QijwEKFFBlbmRpbmdBcHByb3ZhbHNMaXN0EkkKB2VudHJpZXMYASADKAsyOC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuUGVuZGluZ0FwcHJvdmFsEhMKC3RvdGFsX2NvdW50GAIgASgFEhcKD25leHRfcGFnZV90b2tlbhgDIAEoCSrCAQoSRXhlY3V0aW9uU29ydEZpZWxkEiQKIEVYRUNVVElPTl9TT1JUX0ZJRUxEX1VOU1BFQ0lGSUVEEAASIwofRVhFQ1VUSU9OX1NPUlRfRklFTERfU1RBUlRFRF9BVBABEiEKHUVYRUNVVElPTl9TT1JUX0ZJRUxEX0RVUkFUSU9OEAISHQoZRVhFQ1VUSU9OX1NPUlRfRklFTERfQ09TVBADEh8KG0VYRUNVVElPTl9TT1JUX0ZJRUxEX1NUQVRVUxAEKr8BChFTdW1tYXJ5VGltZVdpbmRvdxIjCh9TVU1NQVJZX1RJTUVfV0lORE9XX1VOU1BFQ0lGSUVEEAASIAocU1VNTUFSWV9USU1FX1dJTkRPV19MQVNUXzI0SBABEh8KG1NVTU1BUllfVElNRV9XSU5ET1dfTEFTVF83RBACEiAKHFNVTU1BUllfVElNRV9XSU5ET1dfTEFTVF8zMEQQAxIgChxTVU1NQVJZX1RJTUVfV0lORE9XX0FMTF9USU1FEARiBnByb3RvMw",[file_ai_stigmer_agentic_agentexecution_v1_enum,file_ai_stigmer_agentic_workflowexecution_v1_api,file_ai_stigmer_agentic_workflowexecution_v1_enum,file_ai_stigmer_agentic_workflowexecution_v1_event,file_buf_validate_validate,file_google_protobuf_duration,file_google_protobuf_struct,file_google_protobuf_timestamp]);var GetEventLogResponseSchema=messageDesc2(file_ai_stigmer_agentic_workflowexecution_v1_io,16);var ExecutionSortField;(function(ExecutionSortField2){ExecutionSortField2[ExecutionSortField2.UNSPECIFIED=0]="UNSPECIFIED",ExecutionSortField2[ExecutionSortField2.STARTED_AT=1]="STARTED_AT",ExecutionSortField2[ExecutionSortField2.DURATION=2]="DURATION",ExecutionSortField2[ExecutionSortField2.COST=3]="COST",ExecutionSortField2[ExecutionSortField2.STATUS=4]="STATUS"})(ExecutionSortField||(ExecutionSortField={}));var SummaryTimeWindow;(function(SummaryTimeWindow2){SummaryTimeWindow2[SummaryTimeWindow2.UNSPECIFIED=0]="UNSPECIFIED",SummaryTimeWindow2[SummaryTimeWindow2.LAST_24H=1]="LAST_24H",SummaryTimeWindow2[SummaryTimeWindow2.LAST_7D=2]="LAST_7D",SummaryTimeWindow2[SummaryTimeWindow2.LAST_30D=3]="LAST_30D",SummaryTimeWindow2[SummaryTimeWindow2.ALL_TIME=4]="ALL_TIME"})(SummaryTimeWindow||(SummaryTimeWindow={}));var file_ai_stigmer_agentic_workflowexecution_v1_query=fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3dleGVjdXRpb24vdjEvcXVlcnkucHJvdG8SJ2FpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MTKDDAogV29ya2Zsb3dFeGVjdXRpb25RdWVyeUNvbnRyb2xsZXISuAEKA2dldBI8LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvbklkGjouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uIjfCuBgzCAEQNCIFdmFsdWUqJnVuYXV0aG9yaXplZCB0byBnZXQgd29ya2Zsb3cgZXhlY3V0aW9uEpQBCgRsaXN0EkYuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkxpc3RXb3JrZmxvd0V4ZWN1dGlvbnNSZXF1ZXN0Gj4uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uTGlzdCIE0LgYARKoAQoObGlzdEJ5V29ya2Zsb3cSUC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3dleGVjdXRpb24udjEuTGlzdFdvcmtmbG93RXhlY3V0aW9uc0J5V29ya2Zsb3dSZXF1ZXN0Gj4uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uTGlzdCIE0LgYARLcAQoJc3Vic2NyaWJlEkouYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLlN1YnNjcmliZVdvcmtmbG93RXhlY3V0aW9uUmVxdWVzdBo6LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5Xb3JrZmxvd0V4ZWN1dGlvbiJFwrgYQQgBEDQiDGV4ZWN1dGlvbl9pZCotdW5hdXRob3JpemVkIHRvIGdldCB3b3JrZmxvdyBleGVjdXRpb24gc3RyZWFtMAES0gEKC2dldEV2ZW50TG9nEjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkdldEV2ZW50TG9nUmVxdWVzdBo8LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5HZXRFdmVudExvZ1Jlc3BvbnNlIkjCuBhECAEQNCIMZXhlY3V0aW9uX2lkKjB1bmF1dGhvcml6ZWQgdG8gZ2V0IHdvcmtmbG93IGV4ZWN1dGlvbiBldmVudCBsb2cS5QEKD3N1YnNjcmliZUV2ZW50cxI/LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5TdWJzY3JpYmVFdmVudHNSZXF1ZXN0Gj8uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLldvcmtmbG93RXhlY3V0aW9uRXZlbnQiTsK4GEoIARA0IgxleGVjdXRpb25faWQqNnVuYXV0aG9yaXplZCB0byBzdWJzY3JpYmUgdG8gd29ya2Zsb3cgZXhlY3V0aW9uIGV2ZW50czABEpsBChNnZXRFeGVjdXRpb25TdW1tYXJ5EkMuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkdldEV4ZWN1dGlvblN1bW1hcnlSZXF1ZXN0GjkuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkV4ZWN1dGlvblN1bW1hcnkiBNC4GAESoQEKFGxpc3RQZW5kaW5nQXBwcm92YWxzEkQuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93ZXhlY3V0aW9uLnYxLkxpc3RQZW5kaW5nQXBwcm92YWxzUmVxdWVzdBo9LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvd2V4ZWN1dGlvbi52MS5QZW5kaW5nQXBwcm92YWxzTGlzdCIE0LgYARoEoP8rNGIGcHJvdG8z",[file_ai_stigmer_agentic_workflowexecution_v1_api,file_ai_stigmer_agentic_workflowexecution_v1_event,file_ai_stigmer_agentic_workflowexecution_v1_io,file_ai_stigmer_commons_apiresource_rpc_service_options,file_ai_stigmer_commons_rpc_method_options]),WorkflowExecutionQueryController=serviceDesc(file_ai_stigmer_agentic_workflowexecution_v1_query,0);var CONNECT_CODE_TO_CATEGORY={[Code.Unauthenticated]:"auth",[Code.PermissionDenied]:"permission",[Code.NotFound]:"not-found",[Code.InvalidArgument]:"validation",[Code.FailedPrecondition]:"validation",[Code.OutOfRange]:"validation",[Code.AlreadyExists]:"validation",[Code.Aborted]:"validation",[Code.Internal]:"server",[Code.Unknown]:"server",[Code.DataLoss]:"server",[Code.Unimplemented]:"server",[Code.Unavailable]:"unavailable",[Code.DeadlineExceeded]:"unavailable",[Code.ResourceExhausted]:"unavailable",[Code.Canceled]:"cancelled"};var rpcMetadataStore=new WeakMap;function annotateRpcError(error3,metadata){rpcMetadataStore.set(error3,metadata)}function createAuthInterceptor(getAccessToken){return next=>async request3=>{let token=await getAccessToken();return token&&request3.header.set("Authorization",`Bearer ${token}`),next(request3)}}var rpcMetadataInterceptor=next=>async request3=>{try{return await next(request3)}catch(error3){if(error3!==null&&typeof error3=="object"){let segments=request3.url.split("/"),method=segments.at(-1)??"",service=segments.at(-2)??"";annotateRpcError(error3,{method:method.charAt(0).toLowerCase()+method.slice(1),path:`/${service}/${method}`})}throw error3}},errorStripInterceptor=next=>async request3=>{try{return await next(request3)}catch(error3){throw error3 instanceof Error&&error3.message&&(error3.message=error3.message.replace(/^\[.*?]\s*/,"")),error3}};function createNodeTransport(config2){let tokenProvider=config2.apiKey?()=>config2.apiKey:config2.getAccessToken??(()=>null),interceptors=[createAuthInterceptor(tokenProvider),rpcMetadataInterceptor,errorStripInterceptor];return createGrpcWebTransport({baseUrl:config2.baseUrl,httpVersion:"2",interceptors})}function normalizeEndpoint(raw){let endpoint=raw.trim();if(endpoint==="")throw new Error("normalizeEndpoint: endpoint must not be empty");if(endpoint=endpoint.replace(/^https?:\/\//i,"").replace(/\/+$/,""),endpoint==="")throw new Error("normalizeEndpoint: endpoint has no host");let{host,port}=splitHostPort(endpoint);return port!==""?`${port==="443"?"https":"http"}://${endpoint}`:isLoopbackHost(host)?`http://${endpoint}`:`https://${endpoint}:443`}function splitHostPort(authority){if(authority.startsWith("[")){let close=authority.indexOf("]");if(close===-1)return{host:authority,port:""};let host=authority.slice(0,close+1),rest=authority.slice(close+1);return rest.startsWith(":")?{host,port:rest.slice(1)}:{host,port:""}}let lastColon=authority.lastIndexOf(":");return lastColon===-1||authority.indexOf(":")!==lastColon?{host:authority,port:""}:{host:authority.slice(0,lastColon),port:authority.slice(lastColon+1)}}function isLoopbackHost(host){return host==="localhost"||host==="127.0.0.1"||host==="::1"||host==="[::1]"}var DEFAULT_RPC_TIMEOUT_MS=3e4;function resolveToken(extra,fallback){let token=extra?.authInfo?.token;return token!==void 0&&token!==""?token:fallback}function transportForToken(serverAddress,token){return createNodeTransport({baseUrl:normalizeEndpoint(serverAddress),apiKey:token===""?void 0:token})}async function withTransport(serverAddress,token,fn){return fn(transportForToken(serverAddress,token),{timeoutMs:DEFAULT_RPC_TIMEOUT_MS})}async function withClient(service,serverAddress,token,fn){return withTransport(serverAddress,token,(transport,callOptions)=>fn(createClient(service,transport),callOptions))}function parseResourceURI(uri){let segments=pathSegments(uri);if(segments.length!==2)throw new Error(`expected URI path with 2 segments (org/slug), got ${segments.length} in "${uri}"`);let org=segments[0]??"",slug=segments[1]??"";if(org===""||slug==="")throw new Error(`org and slug must be non-empty in "${uri}"`);return{org,slug}}function parseVersionedResourceURI(uri){let segments=pathSegments(uri),org="",slug="",version2="";switch(segments.length){case 2:org=segments[0]??"",slug=segments[1]??"";break;case 3:if(org=segments[0]??"",slug=segments[1]??"",version2=segments[2]??"",version2==="")throw new Error(`version segment must be non-empty in "${uri}"`);break;default:throw new Error(`expected URI path with 2 or 3 segments (org/slug[/version]), got ${segments.length} in "${uri}"`)}if(org===""||slug==="")throw new Error(`org and slug must be non-empty in "${uri}"`);return{org,slug,version:version2}}var kindToAuthority={agent:"agents",mcp_server:"mcp-servers",skill:"skills",workflow:"workflows"};function buildResourceURI(kind,org,slug){let authority=kindToAuthority[kind];return authority===void 0||org===""||slug===""?"":`stigmer://${authority}/${org}/${slug}`}function pathSegments(uri){let parsed;try{parsed=new URL(uri)}catch(err){throw new Error(`malformed resource URI "${uri}": ${err instanceof Error?err.message:err}`)}if(parsed.protocol!=="stigmer:")throw new Error(`unexpected URI scheme "${parsed.protocol.replace(/:$/,"")}", expected "stigmer"`);let trimmed=parsed.pathname.replace(/^\/+/,"").replace(/\/+$/,"");return trimmed===""?[]:trimmed.split("/")}function registerResource(server,target,opts){server.registerResource(opts.name,new ResourceTemplate(opts.template,{list:void 0}),{title:opts.title,description:opts.description,mimeType:"application/json"},async(uri,_vars,extra)=>{let{org,slug}=parseResourceURI(uri.href),text=await opts.fetch(target.serverAddress,resolveToken(extra,target.apiKey),org,slug);return jsonResource(uri.href,text)})}function registerVersionedResource(server,target,opts){server.registerResource(opts.name,new ResourceTemplate(opts.template,{list:void 0}),{title:opts.title,description:opts.description,mimeType:"application/json"},async(uri,_vars,extra)=>{let{org,slug,version:version2}=parseVersionedResourceURI(uri.href),text=await opts.fetch(target.serverAddress,resolveToken(extra,target.apiKey),org,slug,version2);return jsonResource(uri.href,text)})}function jsonResource(uri,text){return{contents:[{uri,mimeType:"application/json",text}]}}function toProtoJson(schema,message){return JSON.stringify(toJson(schema,message,{useProtoFieldName:!0}),null,2)}function rpcError(err,resourceDescription){let ce=ConnectError.from(err);return log.warn("rpc call failed",{resource:resourceDescription,code:Code[ce.code],grpc_message:ce.rawMessage}),new Error(classifyCode(ce,resourceDescription))}function classifyCode(ce,resourceDescription){switch(ce.code){case Code.NotFound:return`${resourceDescription} not found. Verify the org and slug are correct.`;case Code.PermissionDenied:return`Permission denied for ${resourceDescription}. Check your API key permissions.`;case Code.Unauthenticated:return"Authentication failed. Check your API key.";case Code.Unavailable:return"Stigmer server is unavailable. Ensure it is running and reachable.";case Code.DeadlineExceeded:return"Request timed out contacting stigmer-server.";case Code.InvalidArgument:return ce.rawMessage;default:return`unexpected error: ${ce.rawMessage}`}}async function fetchAgent(serverAddress,token,org,slug){return withClient(AgentQueryController,serverAddress,token,async(client,callOptions)=>{try{let agent=await client.getByReference({org,kind:ApiResourceKind.agent,slug},callOptions);return toProtoJson(AgentSchema,agent)}catch(err){throw rpcError(err,`agent "${slug}" in org "${org}"`)}})}function registerAgentResources(server,target){return registerResource(server,target,{name:"stigmer_agent",title:"Stigmer Agent",description:"Full definition of a Stigmer agent, identified by organization and slug.",template:"stigmer://agents/{org}/{slug}",fetch:fetchAgent}),["stigmer_agent"]}function generateSlug(name){if(!name)return"";let out="",lastHyphen=!1;for(let ch of name.toLowerCase())ch>="a"&&ch<="z"||ch>="0"&&ch<="9"?(out+=ch,lastHyphen=!1):lastHyphen||(out+="-",lastHyphen=!0);return out.replace(/^-+/,"").replace(/-+$/,"")}function visibilityFromString(s){return s&&s.toUpperCase()==="PUBLIC"?ApiResourceVisibility.visibility_public:s&&s.toUpperCase()==="PRIVATE"?ApiResourceVisibility.visibility_private:ApiResourceVisibility.api_resource_visibility_unspecified}function enumFromString(enumObj,value){if(value===void 0)return 0;let v=enumObj[value];return typeof v=="number"?v:0}function toTimestamp(value){return timestampFromDate(new Date(value))}var AgentInputShape={name:external_exports.string().describe("Human-readable name of the resource."),slug:external_exports.string().optional().describe("URL-friendly identifier (lowercase alphanumeric with hyphens). Auto-generated from name if omitted."),org:external_exports.string().describe("Organization that owns this resource (e.g. acme)."),visibility:external_exports.string().optional().describe("Resource visibility: PRIVATE or PUBLIC. Omit to leave unchanged on updates."),labels:external_exports.record(external_exports.string()).optional().describe("Key-value labels for organization and filtering."),tags:external_exports.array(external_exports.string()).optional().describe("Tags for categorization and discovery."),description:external_exports.string().optional().describe("Human-readable description for UI and marketplace display."),icon_url:external_exports.string().optional().describe("Icon URL for marketplace and UI display. Must be a publicly accessible URL to an image (SVG, PNG, or JPEG)."),instructions:external_exports.string().optional().describe("System prompt defining the agent's behavior and personality."),mcp_server_usages:external_exports.array(external_exports.lazy(()=>McpServerUsageInputSchema)).optional().describe("MCP servers this agent can use. Each entry must reference a unique McpServer resource by slug."),skill_refs:external_exports.array(external_exports.lazy(()=>SkillRefInputSchema)).optional().describe("Skill resources providing additional knowledge to the agent."),sub_agents:external_exports.array(external_exports.lazy(()=>SubAgentInputSchema)).optional().describe("Sub-agents that can be delegated to. Sub-agents can access a subset of the parent's MCP servers and tools."),env:external_exports.record(external_exports.lazy(()=>EnvVarDeclarationInputSchema)).optional().describe("Environment variable declarations for this agent. Keys are variable names; values describe their metadata and optionality.")},AgentInputSchema=external_exports.object(AgentInputShape),McpServerRefInputSchema=external_exports.object({org:external_exports.string().optional().describe("Organization that owns the referenced resource. When non-empty: must be a valid org slug (lowercase alphanumeric with hyphens, starts with a letter, 1-63 characters). Example: 'stigmer', 'acme-corp'. When empty: the reference is relative \u2014 the server resolves it to the parent resource's organization at write time. All stored and returned references always have org populated (absolute form). Use empty org for same-org references (the common case). Use explicit org for cross-org references (e.g., marketplace resources)."),slug:external_exports.string().describe("Resource slug (user-friendly identifier, unique within org). Format: lowercase alphanumeric with hyphens, must start with a letter and end with a letter or digit (e.g., 'web-search', 'code-reviewer'). Length: 2-63 characters.")}),ToolApprovalOverrideInputSchema=external_exports.object({tool_name:external_exports.string().optional().describe("Name of the tool to override."),requires_approval:external_exports.boolean().optional().describe("Whether this tool requires approval for this agent."),message:external_exports.string().optional().describe("Custom approval message shown to the reviewer. Supports {{args.field}} placeholders. When empty, falls back to the McpServer default or auto-generates 'Execute tool: {tool_name}'.")}),McpServerUsageInputSchema=external_exports.object({mcp_server_ref:external_exports.lazy(()=>McpServerRefInputSchema).describe("Reference to the McpServer resource."),enabled_tools:external_exports.array(external_exports.string()).optional().describe("Tools to enable from this MCP server for this agent. Empty list uses the McpServer's default_enabled_tools. Sub-agents can only restrict this set further, not expand it. @internal Tool names must match exactly what the MCP server reports via tools/list. Only names from discovered_capabilities.tools are valid here. Do NOT include names from discovered_capabilities.resource_templates \u2014 resource templates are read-only data endpoints, not callable tools. Including a resource template name here causes a fatal runtime error."),tool_approval_overrides:external_exports.array(external_exports.lazy(()=>ToolApprovalOverrideInputSchema)).optional().describe("Override approval requirements for specific tools. Takes precedence over McpServerSpec.pinned_tool_approvals and McpServerStatus.tool_approvals.")}),SkillRefInputSchema=external_exports.object({org:external_exports.string().optional().describe("Organization that owns the referenced resource. When non-empty: must be a valid org slug (lowercase alphanumeric with hyphens, starts with a letter, 1-63 characters). Example: 'stigmer', 'acme-corp'. When empty: the reference is relative \u2014 the server resolves it to the parent resource's organization at write time. All stored and returned references always have org populated (absolute form). Use empty org for same-org references (the common case). Use explicit org for cross-org references (e.g., marketplace resources)."),slug:external_exports.string().describe("Resource slug (user-friendly identifier, unique within org). Format: lowercase alphanumeric with hyphens, must start with a letter and end with a letter or digit (e.g., 'web-search', 'code-reviewer'). Length: 2-63 characters."),version:external_exports.string().optional().describe("Version of the resource (optional, only applicable to versioned resources like Skills). Supports three formats: 1. Empty/unset \u2192 Resolves to 'latest' (most recent version) 2. Tag name \u2192 Resolves to version with this tag (e.g., 'stable', 'v1.0') 3. Exact hash \u2192 Immutable reference to specific version (e.g., 'abc123...') Default behavior: Empty means 'latest' (current version). This field is ignored for non-versioned resources. Examples: - version: '' \u2192 Use latest version - version: 'latest' \u2192 Use latest version (explicit) - version: 'stable' \u2192 Use version tagged as 'stable' - version: 'v1.0' \u2192 Use version tagged as 'v1.0' - version: 'abc123...' \u2192 Use exact version with this hash (immutable)")}),McpAccessInputSchema=external_exports.object({mcp_server:external_exports.string().describe("Slug of the McpServer to grant access to. Must match a mcp_server_ref.slug from the parent's mcp_server_usages."),enabled_tools:external_exports.array(external_exports.string()).optional().describe("Tools this sub-agent can use from this MCP server. Must be a subset of the parent's enabled_tools for this server. Empty list grants access to all tools the parent has enabled.")}),SubAgentInputSchema=external_exports.object({name:external_exports.string().describe("Unique name of the sub-agent within the parent agent."),description:external_exports.string().optional().describe("What this sub-agent specializes in."),instructions:external_exports.string().optional().describe("System prompt for this sub-agent."),mcp_access:external_exports.array(external_exports.lazy(()=>McpAccessInputSchema)).optional().describe("MCP server access grants for this sub-agent. Each entry references a parent McpServerUsage by slug and optionally restricts which tools are available."),skill_refs:external_exports.array(external_exports.lazy(()=>SkillRefInputSchema)).optional().describe("Skill resources for this sub-agent."),model_override:external_exports.string().optional().describe("Model override for this sub-agent. When set, uses this model instead of the parent's model. When empty, inherits the parent agent's model.")}),EnvVarDeclarationInputSchema=external_exports.object({is_secret:external_exports.boolean().optional().describe("Whether the resolved value should be treated as a secret. @internal When true: encrypted at rest, redacted in logs and Temporal history. When false: stored as plaintext, visible in audit logs."),description:external_exports.string().optional().describe("Human-readable description shown in the UI credential form. Should explain what the variable is used for and where to obtain it."),optional:external_exports.boolean().optional().describe("Whether this variable is optional. @internal When false (default): the execution pipeline rejects a run if this variable is missing from the user's environment. When true: a missing value is acceptable (the MCP server or agent degrades gracefully without it).")});function agentInputToProto(input){let slug=input.slug&&input.slug.length>0?input.slug:generateSlug(input.name),spec=create(AgentSpecSchema);if(input.description!==void 0&&(spec.description=input.description),input.icon_url!==void 0&&(spec.iconUrl=input.icon_url),input.instructions!==void 0&&(spec.instructions=input.instructions),input.mcp_server_usages!==void 0&&(spec.mcpServerUsages=input.mcp_server_usages.map(mcpServerUsageInputToProto)),input.skill_refs!==void 0&&(spec.skillRefs=input.skill_refs.map(skillRefInputToProto)),input.sub_agents!==void 0&&(spec.subAgents=input.sub_agents.map(subAgentInputToProto)),input.env!==void 0)for(let[k,v]of Object.entries(input.env))spec.env[k]=envVarDeclarationInputToProto(v);return Object.assign(create(AgentSchema),{apiVersion:"agentic.stigmer.ai/v1",kind:"Agent",metadata:Object.assign(create(ApiResourceMetadataSchema),{name:input.name,slug,org:input.org,...input.visibility!==void 0&&{visibility:visibilityFromString(input.visibility)},...input.labels!==void 0&&{labels:input.labels},...input.tags!==void 0&&{tags:input.tags}}),spec})}function mcpServerRefInputToProto(input){return create(ApiResourceReferenceSchema,{org:input.org,slug:input.slug,kind:ApiResourceKind.mcp_server})}function toolApprovalOverrideInputToProto(input){let result=create(ToolApprovalOverrideSchema);return input.tool_name!==void 0&&(result.toolName=input.tool_name),input.requires_approval!==void 0&&(result.requiresApproval=input.requires_approval),input.message!==void 0&&(result.message=input.message),result}function mcpServerUsageInputToProto(input){let result=create(McpServerUsageSchema);return input.mcp_server_ref!==void 0&&(result.mcpServerRef=mcpServerRefInputToProto(input.mcp_server_ref)),input.enabled_tools!==void 0&&(result.enabledTools=input.enabled_tools),input.tool_approval_overrides!==void 0&&(result.toolApprovalOverrides=input.tool_approval_overrides.map(toolApprovalOverrideInputToProto)),result}function skillRefInputToProto(input){return create(ApiResourceReferenceSchema,{org:input.org,slug:input.slug,kind:ApiResourceKind.skill,version:input.version})}function mcpAccessInputToProto(input){let result=create(McpAccessSchema);return input.mcp_server!==void 0&&(result.mcpServer=input.mcp_server),input.enabled_tools!==void 0&&(result.enabledTools=input.enabled_tools),result}function subAgentInputToProto(input){let result=create(SubAgentSchema);return input.name!==void 0&&(result.name=input.name),input.description!==void 0&&(result.description=input.description),input.instructions!==void 0&&(result.instructions=input.instructions),input.mcp_access!==void 0&&(result.mcpAccess=input.mcp_access.map(mcpAccessInputToProto)),input.skill_refs!==void 0&&(result.skillRefs=input.skill_refs.map(skillRefInputToProto)),input.model_override!==void 0&&(result.modelOverride=input.model_override),result}function envVarDeclarationInputToProto(input){let result=create(EnvVarDeclarationSchema);return input.is_secret!==void 0&&(result.isSecret=input.is_secret),input.description!==void 0&&(result.description=input.description),input.optional!==void 0&&(result.optional=input.optional),result}function textResult(text){return{content:[{type:"text",text}]}}function errorResult(err){return{content:[{type:"text",text:err instanceof Error?err.message:String(err)}],isError:!0}}async function textOrError(produce){try{return textResult(await produce())}catch(err){return errorResult(err)}}async function applyAgent(serverAddress,token,input){let agent=agentInputToProto(input),desc=`agent "${agent.metadata?.slug??""}" in org "${agent.metadata?.org??""}"`;return withClient(AgentCommandController,serverAddress,token,async(client,callOptions)=>{try{let result=await client.apply(agent,callOptions);return toProtoJson(AgentSchema,result)}catch(err){throw rpcError(err,desc)}})}async function deleteAgent(serverAddress,token,org,slug){let desc=`agent "${slug}" in org "${org}"`;return withTransport(serverAddress,token,async(transport,callOptions)=>{let query=createClient(AgentQueryController,transport),id;try{id=(await query.getByReference({org,kind:ApiResourceKind.agent,slug},callOptions)).metadata?.id??""}catch(err){throw rpcError(err,desc)}let command=createClient(AgentCommandController,transport);try{let deleted=await command.delete({value:id},callOptions);return toProtoJson(AgentSchema,deleted)}catch(err){throw rpcError(err,desc)}})}function registerAgentTools(server,target){return server.registerTool("get_agent",{description:"Get full details of a Stigmer agent by its org and slug (e.g. org=stigmer slug=code-reviewer).",inputSchema:{org:external_exports.string().describe("Organization slug that owns the agent (e.g. stigmer)."),slug:external_exports.string().describe("Agent slug \u2014 the unique identifier within the org (e.g. code-reviewer).")}},(args,extra)=>textOrError(()=>fetchAgent(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),server.registerTool("apply_agent",{description:"Create or update a Stigmer agent (idempotent). Provide identity fields (name, org) and agent configuration (instructions, skills, MCP servers, etc.).",inputSchema:AgentInputShape},(args,extra)=>textOrError(()=>applyAgent(target.serverAddress,resolveToken(extra,target.apiKey),args))),server.registerTool("delete_agent",{description:"Delete a Stigmer agent by its org and slug. Returns the deleted agent.",inputSchema:{org:external_exports.string().describe("Organization slug that owns the agent (e.g. stigmer)."),slug:external_exports.string().describe("Agent slug \u2014 the unique identifier within the org (e.g. code-reviewer).")}},(args,extra)=>textOrError(()=>deleteAgent(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),["get_agent","apply_agent","delete_agent"]}async function fetchMcpServer(serverAddress,token,org,slug){return withClient(McpServerQueryController,serverAddress,token,async(client,callOptions)=>{try{let mcpServer=await client.getByReference({org,kind:ApiResourceKind.mcp_server,slug},callOptions);return toProtoJson(McpServerSchema,mcpServer)}catch(err){throw rpcError(err,`MCP server "${slug}" in org "${org}"`)}})}function registerMcpServerResources(server,target){return registerResource(server,target,{name:"stigmer_mcp_server",title:"Stigmer MCP Server",description:"Full definition of a Stigmer MCP server, identified by organization and slug.",template:"stigmer://mcp-servers/{org}/{slug}",fetch:fetchMcpServer}),["stigmer_mcp_server"]}var McpServerInputShape={name:external_exports.string().describe("Human-readable name of the resource."),slug:external_exports.string().optional().describe("URL-friendly identifier (lowercase alphanumeric with hyphens). Auto-generated from name if omitted."),org:external_exports.string().describe("Organization that owns this resource (e.g. acme)."),visibility:external_exports.string().optional().describe("Resource visibility: PRIVATE or PUBLIC. Omit to leave unchanged on updates."),labels:external_exports.record(external_exports.string()).optional().describe("Key-value labels for organization and filtering."),tags:external_exports.array(external_exports.string()).optional().describe("Tags for categorization and discovery."),description:external_exports.string().optional().describe("Human-readable description for marketplace display and documentation. Should explain what this MCP server does and its primary use cases. Example: 'GitHub MCP server for repository operations, code search, and PR management'"),icon_url:external_exports.string().optional().describe("Icon URL for UI display in marketplace and agent configuration screens. Should be a publicly accessible URL to an image (SVG, PNG, or JPEG). Example: 'https://github.githubassets.com/favicons/favicon.svg'"),stdio:external_exports.lazy(()=>StdioServerConfigInputSchema).optional().describe("stdio-based server (subprocess with stdin/stdout communication). Most common type - used for Node.js, Python, and other CLI-based MCP servers."),http:external_exports.lazy(()=>HttpServerConfigInputSchema).optional().describe("HTTP-based server (HTTP + Server-Sent Events communication). Used for remote/managed MCP services accessible over the network."),default_enabled_tools:external_exports.array(external_exports.string()).optional().describe("Default tools to enable from this MCP server. Empty list means all tools are enabled by default. @internal Tool names must match exactly what the MCP server reports via tools/list. Only names from discovered_capabilities.tools are valid here. Do NOT include names from discovered_capabilities.resource_templates \u2014 resource templates are read-only data endpoints, not callable tools. Including a resource template name here causes a fatal runtime error."),env:external_exports.record(external_exports.lazy(()=>EnvVarDeclarationInputSchema2)).optional().describe("Environment variable declarations for this MCP server. Keys are variable names; values describe their metadata and optionality."),pinned_tool_approvals:external_exports.array(external_exports.lazy(()=>ToolApprovalPolicyInputSchema)).optional().describe("Manual tool approval overrides set by the MCP server owner. @internal These take precedence over system-generated 'McpServerStatus.tool_approvals'. Never auto-modified \u2014 only changed by explicit user action (apply/update). Use cases: - Force approval for a tool the classifier marked as auto-approve - Exempt a safe tool the classifier flagged as needing approval - Establish organization-wide safety policies for dangerous tools Policy chain (lowest to highest priority): 1. McpServerStatus.tool_approvals - System-generated defaults 2. McpServerSpec.pinned_tool_approvals - Manual overrides (this field) 3. Agent.McpServerUsage.tool_approval_overrides - Per-agent customization 4. AgentExecution.auto_approve_all - Runtime bypass"),repository_url:external_exports.string().optional().describe("URL of the upstream source repository for this MCP server. Shown in the marketplace so users can inspect the implementation for trust and transparency. Example: 'https://github.com/modelcontextprotocol/servers'"),github_stars:external_exports.number().optional().describe("GitHub star count at the time of curation. Used as a popularity signal in marketplace display. 0 if unknown or non-GitHub repository."),auth:external_exports.lazy(()=>McpServerAuthInputSchema).optional().describe("OAuth authentication configuration for automated credential acquisition. When set, the MCP server's Connect page offers an OAuth flow instead of (or in addition to) manual credential entry. The acquired access token is stored in a system-managed environment (identified by grant.environment_id) as the env var named by auth.target_env_var. That env var must also be declared in env so the execution pipeline knows about it.")},McpServerInputSchema=external_exports.object(McpServerInputShape),StdioServerConfigInputSchema=external_exports.object({command:external_exports.string().describe("Command to execute the MCP server. This is the executable name or path. Examples: 'npx', 'python', 'node', './custom-mcp-server'"),args:external_exports.array(external_exports.string()).optional().describe("Arguments to pass to the command. Argument values can reference environment variables using ${VAR_NAME} syntax. These placeholders are resolved at runtime from the execution environment (same source as HTTP header/query param placeholders). This enables MCP servers that take core configuration as positional CLI arguments (e.g. database connection URLs, directory paths) to be parameterized per-user through env declarations. Resolution uses strict mode: missing variables produce a clear error rather than passing a literal '${VAR}' to the subprocess. Note: resolved values appear in the subprocess argv, which is visible via /proc/<pid>/cmdline within the container. In the containerized agent-runner environment this is not a practical concern, but callers should be aware when debugging. Examples: ['-y', '@modelcontextprotocol/server-github'] ['-y', '@modelcontextprotocol/server-postgres', '${POSTGRES_CONNECTION_URL}'] ['-m', 'mcp_server_sqlite', '--db-path', '${DB_PATH}/data.sqlite']"),working_dir:external_exports.string().optional().describe("Working directory for the process. If not specified, the process inherits the agent runner's working directory. Use absolute paths or paths relative to the agent runner's context.")}),HttpServerConfigInputSchema=external_exports.object({url:external_exports.string().describe("Base URL of the MCP server endpoint. Must be a valid HTTP or HTTPS URL. Examples: - 'http://localhost:3000/mcp' - 'https://mcp.example.com/v1' - 'https://api.company.com/mcp/github'"),headers:external_exports.record(external_exports.string()).optional().describe("HTTP headers to include with every request. Use for authentication, API versioning, or custom routing. Header values can reference environment variables using ${VAR_NAME} syntax. These placeholders are resolved at runtime from AgentInstance's environment. Examples: 'Authorization': 'Bearer ${API_TOKEN}' 'X-API-Version': '2024-01' 'X-Tenant-ID': '${TENANT_ID}'"),query_params:external_exports.record(external_exports.string()).optional().describe("Query parameters to append to the URL. Values can reference environment variables using ${VAR_NAME} syntax. Examples: 'region': '${AWS_REGION}' 'version': 'v1'"),timeout_seconds:external_exports.number().optional().describe("Timeout for HTTP requests in seconds. Applies to both the initial connection and response streaming. Default: 30 seconds if not specified. Set higher values for MCP servers that perform long-running operations.")}),EnvVarDeclarationInputSchema2=external_exports.object({is_secret:external_exports.boolean().optional().describe("Whether the resolved value should be treated as a secret. @internal When true: encrypted at rest, redacted in logs and Temporal history. When false: stored as plaintext, visible in audit logs."),description:external_exports.string().optional().describe("Human-readable description shown in the UI credential form. Should explain what the variable is used for and where to obtain it."),optional:external_exports.boolean().optional().describe("Whether this variable is optional. @internal When false (default): the execution pipeline rejects a run if this variable is missing from the user's environment. When true: a missing value is acceptable (the MCP server or agent degrades gracefully without it).")}),ToolApprovalPolicyInputSchema=external_exports.object({tool_name:external_exports.string().optional().describe("Name of the tool (must match tools/list from MCP server exactly). Case-sensitive matching against tool names reported by the MCP server. Example: 'delete_repository', 'send_email', 'execute_sql'"),message:external_exports.string().optional().describe("Human-readable message shown to user when approval is requested. Supports {{args.field}} placeholders for dynamic content. If empty, a default message is generated: 'Execute tool: {tool_name}' Guidelines for effective messages: - Be specific about what will happen - Include the most important argument values using placeholders - Keep under 100 characters for UI display - Use action verbs: 'Delete', 'Send', 'Execute', 'Create'")}),OauthAppRefInputSchema=external_exports.object({org:external_exports.string().optional().describe("Organization that owns the referenced resource. When non-empty: must be a valid org slug (lowercase alphanumeric with hyphens, starts with a letter, 1-63 characters). Example: 'stigmer', 'acme-corp'. When empty: the reference is relative \u2014 the server resolves it to the parent resource's organization at write time. All stored and returned references always have org populated (absolute form). Use empty org for same-org references (the common case). Use explicit org for cross-org references (e.g., marketplace resources)."),slug:external_exports.string().describe("Resource slug (user-friendly identifier, unique within org). Format: lowercase alphanumeric with hyphens, must start with a letter and end with a letter or digit (e.g., 'web-search', 'code-reviewer'). Length: 2-63 characters.")}),McpServerAuthInputSchema=external_exports.object({oauth_app_ref:external_exports.lazy(()=>OauthAppRefInputSchema).optional().describe("Reference to an OAuthApp for vendor-specific OAuth. When empty: the server supports the MCP Authorization spec (DCR + PKCE). Stigmer discovers the authorization server metadata, registers a client via DCR, and performs the authorization code flow with PKCE \u2014 all automatically at connect time. When set: Stigmer uses the referenced OAuthApp's client credentials to perform the OAuth authorization code flow with the vendor on behalf of the user. The OAuthApp must belong to the same organization as the McpServer (or be accessible via cross-org reference)."),target_env_var:external_exports.string().optional().describe("The env var where the acquired access token is stored. Must correspond to an entry in env so the execution pipeline resolves it. The refresh token is stored as {target_env_var}_REFRESH_TOKEN by convention. Both are written to the grant's managed environment."),token_lifetime_hint:external_exports.string().optional().describe("Informational hint about expected token lifetime for UI display. Helps users understand when re-authentication may be needed. Empty means unknown. Examples: '1h', '2h', '90d', 'never'."),scope_hints:external_exports.array(external_exports.string()).optional().describe("Optional scope hints for UI display before the OAuth flow starts. For DCR servers: shown to the user since actual scopes are discovered at connect time during authorization server metadata retrieval. For vendor OAuth: informational (scopes are defined on the OAuthApp)."),discovery_url:external_exports.string().optional().describe("Optional URL for OAuth authorization server discovery on stdio servers. HTTP servers do not need this: the platform derives the discovery endpoint from http.url (fetching /.well-known/oauth-authorization-server relative to the server URL). Stdio servers have no URL, so DCR discovery has nothing to derive from. Set this field to the base URL of the vendor's OAuth authorization server to enable DCR for a stdio-based MCP server. Resolution priority: 1. discovery_url (if set \u2014 used for both stdio and HTTP) 2. http.url (default for HTTP servers) Ignored when oauth_app_ref is set (vendor OAuth uses OAuthApp endpoints directly, no discovery needed).")});function mcpServerInputToProto(input){let slug=input.slug&&input.slug.length>0?input.slug:generateSlug(input.name),spec=create(McpServerSpecSchema);if(input.description!==void 0&&(spec.description=input.description),input.icon_url!==void 0&&(spec.iconUrl=input.icon_url),input.stdio!==void 0&&(spec.serverType={case:"stdio",value:stdioServerConfigInputToProto(input.stdio)}),input.http!==void 0&&(spec.serverType={case:"http",value:httpServerConfigInputToProto(input.http)}),input.default_enabled_tools!==void 0&&(spec.defaultEnabledTools=input.default_enabled_tools),input.env!==void 0)for(let[k,v]of Object.entries(input.env))spec.env[k]=envVarDeclarationInputToProto2(v);return input.pinned_tool_approvals!==void 0&&(spec.pinnedToolApprovals=input.pinned_tool_approvals.map(toolApprovalPolicyInputToProto)),input.repository_url!==void 0&&(spec.repositoryUrl=input.repository_url),input.github_stars!==void 0&&(spec.githubStars=input.github_stars),input.auth!==void 0&&(spec.auth=mcpServerAuthInputToProto(input.auth)),Object.assign(create(McpServerSchema),{apiVersion:"agentic.stigmer.ai/v1",kind:"McpServer",metadata:Object.assign(create(ApiResourceMetadataSchema),{name:input.name,slug,org:input.org,...input.visibility!==void 0&&{visibility:visibilityFromString(input.visibility)},...input.labels!==void 0&&{labels:input.labels},...input.tags!==void 0&&{tags:input.tags}}),spec})}function stdioServerConfigInputToProto(input){let result=create(StdioServerConfigSchema);return input.command!==void 0&&(result.command=input.command),input.args!==void 0&&(result.args=input.args),input.working_dir!==void 0&&(result.workingDir=input.working_dir),result}function httpServerConfigInputToProto(input){let result=create(HttpServerConfigSchema);return input.url!==void 0&&(result.url=input.url),input.headers!==void 0&&(result.headers=input.headers),input.query_params!==void 0&&(result.queryParams=input.query_params),input.timeout_seconds!==void 0&&(result.timeoutSeconds=input.timeout_seconds),result}function envVarDeclarationInputToProto2(input){let result=create(EnvVarDeclarationSchema);return input.is_secret!==void 0&&(result.isSecret=input.is_secret),input.description!==void 0&&(result.description=input.description),input.optional!==void 0&&(result.optional=input.optional),result}function toolApprovalPolicyInputToProto(input){let result=create(ToolApprovalPolicySchema);return input.tool_name!==void 0&&(result.toolName=input.tool_name),input.message!==void 0&&(result.message=input.message),result}function oauthAppRefInputToProto(input){return create(ApiResourceReferenceSchema,{org:input.org,slug:input.slug,kind:ApiResourceKind.oauth_app})}function mcpServerAuthInputToProto(input){let result=create(McpServerAuthSchema);return input.oauth_app_ref!==void 0&&(result.oauthAppRef=oauthAppRefInputToProto(input.oauth_app_ref)),input.target_env_var!==void 0&&(result.targetEnvVar=input.target_env_var),input.token_lifetime_hint!==void 0&&(result.tokenLifetimeHint=input.token_lifetime_hint),input.scope_hints!==void 0&&(result.scopeHints=input.scope_hints),input.discovery_url!==void 0&&(result.discoveryUrl=input.discovery_url),result}async function applyMcpServer(serverAddress,token,input){let server=mcpServerInputToProto(input),desc=`mcp server "${server.metadata?.slug??""}" in org "${server.metadata?.org??""}"`;return withClient(McpServerCommandController,serverAddress,token,async(client,callOptions)=>{try{let result=await client.apply(server,callOptions);return toProtoJson(McpServerSchema,result)}catch(err){throw rpcError(err,desc)}})}async function deleteMcpServer(serverAddress,token,org,slug){let desc=`MCP server "${slug}" in org "${org}"`;return withTransport(serverAddress,token,async(transport,callOptions)=>{let query=createClient(McpServerQueryController,transport),id;try{id=(await query.getByReference({org,kind:ApiResourceKind.mcp_server,slug},callOptions)).metadata?.id??""}catch(err){throw rpcError(err,desc)}let command=createClient(McpServerCommandController,transport);try{let deleted=await command.delete({resourceId:id},callOptions);return toProtoJson(McpServerSchema,deleted)}catch(err){throw rpcError(err,desc)}})}function registerMcpServerTools(server,target){return server.registerTool("get_mcp_server",{description:"Get full details of a Stigmer MCP server by its org and slug (e.g. org=acme slug=my-server).",inputSchema:{org:external_exports.string().describe("Organization slug that owns the MCP server (e.g. acme)."),slug:external_exports.string().describe("MCP server slug \u2014 the unique identifier within the org (e.g. my-server).")}},(args,extra)=>textOrError(()=>fetchMcpServer(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),server.registerTool("apply_mcp_server",{description:"Create or update a Stigmer MCP server definition (idempotent). Provide identity fields (name, org) and server configuration (stdio/http, tools, env, etc.).",inputSchema:McpServerInputShape},(args,extra)=>textOrError(()=>applyMcpServer(target.serverAddress,resolveToken(extra,target.apiKey),args))),server.registerTool("delete_mcp_server",{description:"Delete a Stigmer MCP server definition by its org and slug. Returns the deleted MCP server.",inputSchema:{org:external_exports.string().describe("Organization slug that owns the MCP server (e.g. acme)."),slug:external_exports.string().describe("MCP server slug \u2014 the unique identifier within the org (e.g. github).")}},(args,extra)=>textOrError(()=>deleteMcpServer(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),["get_mcp_server","apply_mcp_server","delete_mcp_server"]}var knownKinds={agent:ApiResourceKind.agent,skill:ApiResourceKind.skill,mcp_server:ApiResourceKind.mcp_server,workflow:ApiResourceKind.workflow};function registerSearchTools(server,target){return server.registerTool("search",{description:"Search and list Stigmer resources (agents, skills, MCP servers, workflows). Set 'kinds' to filter by resource type. Set 'query' for full-text search. Set 'org' to scope to an organization. Omit 'query' to list all accessible resources.",inputSchema:{kinds:external_exports.array(external_exports.string()).optional().describe("Resource kinds to search. Valid: agent, skill, mcp_server, workflow. Empty searches all."),query:external_exports.string().optional().describe("Full-text search query. Empty lists all accessible resources."),org:external_exports.string().optional().describe("Organization slug to scope the search. Empty searches all accessible orgs."),exclude_public:external_exports.boolean().optional().describe("Exclude public/platform resources from results."),page_size:external_exports.number().int().optional().describe("Results per page (default 20, max 100)."),page_num:external_exports.number().int().optional().describe("Page number (1-indexed, default 1).")}},(args,extra)=>textOrError(()=>search(target.serverAddress,resolveToken(extra,target.apiKey),{kinds:args.kinds,query:args.query,org:args.org,excludePublic:args.exclude_public,pageSize:args.page_size,pageNum:args.page_num}))),["search"]}async function search(serverAddress,token,args){let kinds=parseKinds(args.kinds);return withClient(SearchService,serverAddress,token,async(client,callOptions)=>{let req={kinds,query:args.query??"",org:args.org??"",excludePublic:args.excludePublic??!1};((args.pageSize??0)>0||(args.pageNum??0)>0)&&(req.page={size:args.pageSize??0,num:args.pageNum??0});let resp;try{resp=await client.search(req,callOptions)}catch(err){throw rpcError(err,args.org?`search results in org "${args.org}"`:"search results")}return enrichSearchResponse(resp)})}function parseKinds(raw){return!raw||raw.length===0?[]:raw.map(s=>{let kind=knownKinds[s];if(kind===void 0)throw new Error(`unknown resource kind "${s}"; valid kinds: agent, skill, mcp_server, workflow`);return kind})}function enrichSearchResponse(resp){if(resp.entries.length===0)return toProtoJson(SearchResponseSchema,resp);let data=toJson(SearchResponseSchema,resp,{useProtoFieldName:!0}),entries=Array.isArray(data.entries)?data.entries:[];for(let i=0;i<entries.length&&i<resp.entries.length;i++){let r=resp.entries[i],uri=buildResourceURI(ApiResourceKind[r.kind]??"",r.org,r.slug);uri!==""&&(entries[i].resource_uri=uri)}return JSON.stringify(data,null,2)}async function fetchSkill(serverAddress,token,org,slug,version2){return withClient(SkillQueryController,serverAddress,token,async(client,callOptions)=>{try{let skill=await client.getByReference({org,kind:ApiResourceKind.skill,slug,version:version2},callOptions);return toProtoJson(SkillSchema,skill)}catch(err){throw rpcError(err,`skill "${slug}" in org "${org}"`)}})}function registerSkillResources(server,target){return registerResource(server,target,{name:"stigmer_skill",title:"Stigmer Skill",description:"Full definition of a Stigmer skill (latest version), identified by organization and slug.",template:"stigmer://skills/{org}/{slug}",fetch:(serverAddress,token,org,slug)=>fetchSkill(serverAddress,token,org,slug,"")}),registerVersionedResource(server,target,{name:"stigmer_skill_version",title:"Stigmer Skill (versioned)",description:"Full definition of a Stigmer skill at a specific version, identified by organization, slug, and version (tag name or SHA-256 hash).",template:"stigmer://skills/{org}/{slug}/{version}",fetch:fetchSkill}),["stigmer_skill","stigmer_skill_version"]}async function deleteSkill(serverAddress,token,org,slug){let desc=`skill "${slug}" in org "${org}"`;return withTransport(serverAddress,token,async(transport,callOptions)=>{let query=createClient(SkillQueryController,transport),id;try{id=(await query.getByReference({org,kind:ApiResourceKind.skill,slug},callOptions)).metadata?.id??""}catch(err){throw rpcError(err,desc)}let command=createClient(SkillCommandController,transport);try{let deleted=await command.delete({value:id},callOptions);return toProtoJson(SkillSchema,deleted)}catch(err){throw rpcError(err,desc)}})}function registerSkillTools(server,target){return server.registerTool("get_skill",{description:"Get full details of a Stigmer skill by org and slug, optionally at a specific version. Omit 'version' for the latest.",inputSchema:{org:external_exports.string().describe("Organization slug that owns the skill."),slug:external_exports.string().describe("Skill slug \u2014 unique identifier within the org."),version:external_exports.string().optional().describe("Version to retrieve: tag name (e.g. stable) or SHA-256 hash. Omit for latest.")}},(args,extra)=>textOrError(()=>fetchSkill(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug,args.version??""))),server.registerTool("delete_skill",{description:"Delete a Stigmer skill and all its versions by org and slug. To create or update skills, use the 'stigmer skill push' CLI command. Returns the deleted skill.",inputSchema:{org:external_exports.string().describe("Organization slug that owns the skill (e.g. stigmer)."),slug:external_exports.string().describe("Skill slug \u2014 the unique identifier within the org (e.g. code-review-best-practices). Deletes the skill and all its versions.")}},(args,extra)=>textOrError(()=>deleteSkill(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),["get_skill","delete_skill"]}function registerWorkflowExecutionTools(server,target){return server.registerTool("get_workflow_execution",{description:"Get a workflow execution's full status including phase, tasks, errors, cost, and timing. Use for diagnosing failed or running executions.",inputSchema:{execution_id:external_exports.string().describe("Workflow execution ID (wex_* format).")}},(args,extra)=>textOrError(()=>getWorkflowExecution(target.serverAddress,resolveToken(extra,target.apiKey),args.execution_id))),server.registerTool("get_workflow_execution_events",{description:"Get the event log for a workflow execution. Returns task transitions, errors, cost checkpoints, and approval events. Use for deep diagnosis of execution failures.",inputSchema:{execution_id:external_exports.string().describe("Workflow execution ID (wex_* format)."),task_name:external_exports.string().optional().describe("Filter events by task name."),page_size:external_exports.number().int().optional().describe("Number of events per page (default 100, max 500).")}},(args,extra)=>textOrError(()=>getWorkflowExecutionEvents(target.serverAddress,resolveToken(extra,target.apiKey),{executionId:args.execution_id,taskName:args.task_name,pageSize:args.page_size}))),["get_workflow_execution","get_workflow_execution_events"]}async function getWorkflowExecution(serverAddress,token,executionId){if(executionId==="")throw new Error("execution_id is required");return withClient(WorkflowExecutionQueryController,serverAddress,token,async(client,callOptions)=>{try{let execution=await client.get({value:executionId},callOptions);return toProtoJson(WorkflowExecutionSchema,execution)}catch(err){throw rpcError(err,`workflow execution "${executionId}"`)}})}async function getWorkflowExecutionEvents(serverAddress,token,args){if(args.executionId==="")throw new Error("execution_id is required");return withClient(WorkflowExecutionQueryController,serverAddress,token,async(client,callOptions)=>{let req={executionId:args.executionId,taskName:args.taskName??""};(args.pageSize??0)>0&&(req.pageSize=args.pageSize);try{let resp=await client.getEventLog(req,callOptions);return toProtoJson(GetEventLogResponseSchema,resp)}catch(err){throw rpcError(err,`event log for execution "${args.executionId}"`)}})}function registerTaskKindTools(server,target){return server.registerTool("get_task_kind_registry",{description:"Get the complete workflow task kind registry with all 20 task kind descriptors, field schemas, JSON Schemas, categories, examples, and output shapes.",inputSchema:{}},(_args,extra)=>textOrError(()=>getTaskKindRegistry(target.serverAddress,resolveToken(extra,target.apiKey)))),server.registerTool("get_task_kind",{description:"Get a single workflow task kind descriptor by name with field schemas, JSON Schema, examples, and output shape.",inputSchema:{kind:external_exports.string().describe("Task kind name (one of: set_vars, http_call, grpc_call, activity_call, switch_case, for_each, fork, try_catch, listen, wait, raise_error, run_workflow, agent_call, llm_call, transform, human_input, validate, emit_event, notification, eval).")}},(args,extra)=>textOrError(()=>getTaskKind(target.serverAddress,resolveToken(extra,target.apiKey),args.kind))),["get_task_kind_registry","get_task_kind"]}async function getTaskKindRegistry(serverAddress,token){return withClient(TaskKindRegistryQueryController,serverAddress,token,async(client,callOptions)=>{try{let resp=await client.getTaskKindRegistry({},callOptions);return toProtoJson(GetTaskKindRegistryResponseSchema,resp)}catch(err){throw rpcError(err,"task kind registry")}})}async function getTaskKind(serverAddress,token,kind){if(kind==="")throw new Error("kind is required");return withClient(TaskKindRegistryQueryController,serverAddress,token,async(client,callOptions)=>{let resp;try{resp=await client.getTaskKindRegistry({},callOptions)}catch(err){throw rpcError(err,"task kind registry")}let normalized=kind.trim().toLowerCase();for(let desc of resp.descriptors)if((WorkflowTaskKind[desc.kind]??"").toLowerCase()===normalized)return toProtoJson(TaskKindDescriptorSchema,desc);throw new Error(`task kind "${kind}" not found in registry; use get_task_kind_registry to see all available kinds`)})}async function fetchWorkflow(serverAddress,token,org,slug){return withClient(WorkflowQueryController,serverAddress,token,async(client,callOptions)=>{try{let workflow=await client.getByReference({org,kind:ApiResourceKind.workflow,slug},callOptions);return toProtoJson(WorkflowSchema,workflow)}catch(err){throw rpcError(err,`workflow "${slug}" in org "${org}"`)}})}function registerWorkflowResources(server,target){return registerResource(server,target,{name:"stigmer_workflow",title:"Stigmer Workflow",description:"Full definition of a Stigmer workflow, identified by organization and slug.",template:"stigmer://workflows/{org}/{slug}",fetch:fetchWorkflow}),["stigmer_workflow"]}var file_ai_stigmer_agentic_workflow_v1_tasks_common=fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvY29tbW9uLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MqfgoVT25JbnZhbGlkT3V0cHV0UG9saWN5EiEKHU9OX0lOVkFMSURfUE9MSUNZX1VOU1BFQ0lGSUVEEAASEwoPT05fSU5WQUxJRF9GQUlMEAESFAoQT05fSU5WQUxJRF9SRVRSWRACEhcKE09OX0lOVkFMSURfRkFMTEJBQ0sQA2IGcHJvdG8z"),OnInvalidOutputPolicy;(function(OnInvalidOutputPolicy2){OnInvalidOutputPolicy2[OnInvalidOutputPolicy2.ON_INVALID_POLICY_UNSPECIFIED=0]="ON_INVALID_POLICY_UNSPECIFIED",OnInvalidOutputPolicy2[OnInvalidOutputPolicy2.ON_INVALID_FAIL=1]="ON_INVALID_FAIL",OnInvalidOutputPolicy2[OnInvalidOutputPolicy2.ON_INVALID_RETRY=2]="ON_INVALID_RETRY",OnInvalidOutputPolicy2[OnInvalidOutputPolicy2.ON_INVALID_FALLBACK=3]="ON_INVALID_FALLBACK"})(OnInvalidOutputPolicy||(OnInvalidOutputPolicy={}));var file_ai_stigmer_agentic_workflow_v1_tasks_agent_call=fileDesc("CjVhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvYWdlbnRfY2FsbC5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzIsEDChNBZ2VudENhbGxUYXNrQ29uZmlnEhsKBWFnZW50GAEgASgJQgy6SAnIAQFyBBABGH8SCwoDb3JnGAIgASgJEh8KB21lc3NhZ2UYAyABKAlCDrpIB8gBAXICEAHYhSwBEk8KA2VudhgEIAMoCzJCLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5BZ2VudENhbGxUYXNrQ29uZmlnLkVudkVudHJ5EkoKBmNvbmZpZxgFIAEoCzI6LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5BZ2VudEV4ZWN1dGlvbkNvbmZpZxJNCgZvdXRwdXQYBiABKAsyPS5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuQWdlbnRDYWxsT3V0cHV0Q29udHJhY3QSNwoHaGFybmVzcxgHIAEoDjImLmFpLnN0aWdtZXIuYWdlbnRpYy5zZXNzaW9uLnYxLkhhcm5lc3MaKgoIRW52RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AToO6ossCmFnZW50X2NhbGwi0gEKF0FnZW50Q2FsbE91dHB1dENvbnRyYWN0Ei8KBnNjaGVtYRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCBrpIA8gBARJPCgpvbl9pbnZhbGlkGAIgASgOMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLk9uSW52YWxpZE91dHB1dFBvbGljeRIeCgttYXhfcmV0cmllcxgDIAEoBUIJukgGGgQYBSgBEhUKDWZhbGxiYWNrX3Rhc2sYBCABKAki3AEKFEFnZW50RXhlY3V0aW9uQ29uZmlnEg0KBW1vZGVsGAEgASgJEhsKB3RpbWVvdXQYAiABKAVCCrpIBxoFGJAcKAESJAoLdGVtcGVyYXR1cmUYAyABKAJCD7pIDAoKHQAAgD8tAAAAABJZChJjb250ZXh0X21hbmFnZW1lbnQYBCABKAsyPS5haS5zdGlnbWVyLmFnZW50aWMuYWdlbnRleGVjdXRpb24udjEuQ29udGV4dE1hbmFnZW1lbnRDb25maWcSFwoPbWF4X2Nvc3RfbWljcm9zGAUgASgDYgZwcm90bzM",[file_ai_stigmer_agentic_agentexecution_v1_spec,file_ai_stigmer_agentic_session_v1_enum,file_ai_stigmer_agentic_workflow_v1_tasks_common,file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),AgentCallTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_agent_call,0),AgentCallOutputContractSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_agent_call,1),AgentExecutionConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_agent_call,2);var file_ai_stigmer_agentic_workflow_v1_tasks_call_activity=fileDesc("CjhhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvY2FsbF9hY3Rpdml0eS5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzInEKFkNhbGxBY3Rpdml0eVRhc2tDb25maWcSHAoIYWN0aXZpdHkYASABKAlCCrpIB8gBAXICEAESJgoFaW5wdXQYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0OhHqiywNYWN0aXZpdHlfY2FsbGIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),CallActivityTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_call_activity,0);var file_ai_stigmer_agentic_workflow_v1_tasks_emit_event=fileDesc("CjVhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvZW1pdF9ldmVudC5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzIoABCg1FbWl0RXZlbnRTcGVjEhsKBHR5cGUYASABKAlCDbpICsgBAXIFEAEY/wESFAoGc291cmNlGAIgASgJQgTYhSwBEiUKBGRhdGEYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhUKB3N1YmplY3QYBCABKAlCBNiFLAEicQoTRW1pdEV2ZW50VGFza0NvbmZpZxJKCgVldmVudBgBIAEoCzIzLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5FbWl0RXZlbnRTcGVjQga6SAPIAQE6DuqLLAplbWl0X2V2ZW50YgZwcm90bzM",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),EmitEventSpecSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_emit_event,0),EmitEventTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_emit_event,1);var file_ai_stigmer_agentic_workflow_v1_tasks_eval=fileDesc("Ci9haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvZXZhbC5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzIlwKDUV2YWxDcml0ZXJpb24SGgoEbmFtZRgBIAEoCUIMukgJyAEBcgQQARh/Eh8KC2Rlc2NyaXB0aW9uGAIgASgJQgq6SAfIAQFyAhABEg4KBndlaWdodBgDIAEoASLIAwoORXZhbFRhc2tDb25maWcSGwoFbW9kZWwYASABKAlCDLpICcgBAXIEEAEYfxIfCgdzdWJqZWN0GAIgASgJQg66SAfIAQFyAhAB2IUsARIaCgZydWJyaWMYAyABKAlCCrpIB8gBAXICEAESSwoMc2NvcmluZ19tb2RlGAQgASgOMjUuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLkV2YWxTY29yaW5nTW9kZRIqCgl0aHJlc2hvbGQYBSABKAFCF7pIFBISGQAAAAAAAPA/KQAAAAAAAAAAEkUKB29uX2ZhaWwYBiABKA4yNC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuRXZhbEZhaWxQb2xpY3kSFQoNZmFsbGJhY2tfdGFzaxgHIAEoCRIbCg1zeXN0ZW1fcHJvbXB0GAggASgJQgTYhSwBEkUKCGNyaXRlcmlhGAkgAygLMjMuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLkV2YWxDcml0ZXJpb24SFwoPbWF4X2Nvc3RfbWljcm9zGAogASgDOgjqiywEZXZhbCpxCg5FdmFsRmFpbFBvbGljeRIgChxFVkFMX0ZBSUxfUE9MSUNZX1VOU1BFQ0lGSUVEEAASEwoPRVZBTF9GQUlMX1JBSVNFEAESFAoQRVZBTF9GQUlMX0JSQU5DSBACEhIKDkVWQUxfRkFJTF9XQVJOEAMqeQoPRXZhbFNjb3JpbmdNb2RlEiEKHUVWQUxfU0NPUklOR19NT0RFX1VOU1BFQ0lGSUVEEAASEgoORVZBTF9QQVNTX0ZBSUwQARIWChJFVkFMX05VTUVSSUNfU0NPUkUQAhIXChNFVkFMX01VTFRJX0NSSVRFUklBEANiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),EvalCriterionSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_eval,0),EvalTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_eval,1),EvalFailPolicy;(function(EvalFailPolicy2){EvalFailPolicy2[EvalFailPolicy2.EVAL_FAIL_POLICY_UNSPECIFIED=0]="EVAL_FAIL_POLICY_UNSPECIFIED",EvalFailPolicy2[EvalFailPolicy2.EVAL_FAIL_RAISE=1]="EVAL_FAIL_RAISE",EvalFailPolicy2[EvalFailPolicy2.EVAL_FAIL_BRANCH=2]="EVAL_FAIL_BRANCH",EvalFailPolicy2[EvalFailPolicy2.EVAL_FAIL_WARN=3]="EVAL_FAIL_WARN"})(EvalFailPolicy||(EvalFailPolicy={}));var EvalScoringMode;(function(EvalScoringMode2){EvalScoringMode2[EvalScoringMode2.EVAL_SCORING_MODE_UNSPECIFIED=0]="EVAL_SCORING_MODE_UNSPECIFIED",EvalScoringMode2[EvalScoringMode2.EVAL_PASS_FAIL=1]="EVAL_PASS_FAIL",EvalScoringMode2[EvalScoringMode2.EVAL_NUMERIC_SCORE=2]="EVAL_NUMERIC_SCORE",EvalScoringMode2[EvalScoringMode2.EVAL_MULTI_CRITERIA=3]="EVAL_MULTI_CRITERIA"})(EvalScoringMode||(EvalScoringMode={}));var file_ai_stigmer_agentic_workflow_v1_tasks_for=fileDesc("Ci5haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvZm9yLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MiogIKDUZvclRhc2tDb25maWcSGAoEZWFjaBgBIAEoCUIKukgHyAEBcgIQARIaCgJpbhgCIAEoCUIOukgHyAEBcgIQAdiFLAESQgoCZG8YAyADKAsyLC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEuV29ya2Zsb3dUYXNrQgi6SAWSAQIIARIgCg9tYXhfcGFyYWxsZWxpc20YBCABKAVCB7pIBBoCKAASGwoKYmF0Y2hfc2l6ZRgFIAEoBUIHukgEGgIoABJKCghvbl9lcnJvchgGIAEoDjI4LmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5Gb3JFYWNoRXJyb3JQb2xpY3k6DOqLLAhmb3JfZWFjaCp9ChJGb3JFYWNoRXJyb3JQb2xpY3kSJQohRk9SX0VBQ0hfRVJST1JfUE9MSUNZX1VOU1BFQ0lGSUVEEAASFgoSRk9SX0VBQ0hfRkFJTF9GQVNUEAESFQoRRk9SX0VBQ0hfQ09OVElOVUUQAhIRCg1GT1JfRUFDSF9TS0lQEANiBnByb3RvMw",[file_ai_stigmer_agentic_workflow_v1_spec,file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),ForTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_for,0),ForEachErrorPolicy;(function(ForEachErrorPolicy2){ForEachErrorPolicy2[ForEachErrorPolicy2.FOR_EACH_ERROR_POLICY_UNSPECIFIED=0]="FOR_EACH_ERROR_POLICY_UNSPECIFIED",ForEachErrorPolicy2[ForEachErrorPolicy2.FOR_EACH_FAIL_FAST=1]="FOR_EACH_FAIL_FAST",ForEachErrorPolicy2[ForEachErrorPolicy2.FOR_EACH_CONTINUE=2]="FOR_EACH_CONTINUE",ForEachErrorPolicy2[ForEachErrorPolicy2.FOR_EACH_SKIP=3]="FOR_EACH_SKIP"})(ForEachErrorPolicy||(ForEachErrorPolicy={}));var file_ai_stigmer_agentic_workflow_v1_tasks_fork=fileDesc("Ci9haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvZm9yay5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzInkKDkZvcmtUYXNrQ29uZmlnEkwKCGJyYW5jaGVzGAEgAygLMjAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLkZvcmtCcmFuY2hCCLpIBZIBAggCEg8KB2NvbXBldGUYAiABKAg6COqLLARmb3JrImoKCkZvcmtCcmFuY2gSGAoEbmFtZRgBIAEoCUIKukgHyAEBcgIQARJCCgJkbxgCIAMoCzIsLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS5Xb3JrZmxvd1Rhc2tCCLpIBZIBAggBYgZwcm90bzM",[file_ai_stigmer_agentic_workflow_v1_spec,file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),ForkTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_fork,0),ForkBranchSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_fork,1);var file_ai_stigmer_agentic_workflow_v1_tasks_grpc_call=fileDesc("CjRhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvZ3JwY19jYWxsLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MihgEKEkdycGNDYWxsVGFza0NvbmZpZxIbCgdzZXJ2aWNlGAEgASgJQgq6SAfIAQFyAhABEhoKBm1ldGhvZBgCIAEoCUIKukgHyAEBcgIQARIoCgdyZXF1ZXN0GAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdDoN6ossCWdycGNfY2FsbGIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),GrpcCallTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_grpc_call,0);var file_ai_stigmer_agentic_workflow_v1_tasks_http_call=fileDesc("CjRhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvaHR0cF9jYWxsLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3Mi/gIKEkh0dHBDYWxsVGFza0NvbmZpZxI3CgZtZXRob2QYASABKAlCJ7pIJMgBAXIfUgNHRVRSBFBPU1RSA1BVVFIGREVMRVRFUgVQQVRDSBJMCghlbmRwb2ludBgCIAEoCzIyLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5IdHRwRW5kcG9pbnRCBrpIA8gBARJWCgdoZWFkZXJzGAMgAygLMkUuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLkh0dHBDYWxsVGFza0NvbmZpZy5IZWFkZXJzRW50cnkSJQoEYm9keRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSIwoPdGltZW91dF9zZWNvbmRzGAUgASgFQgq6SAcaBRisAigBGi4KDEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBOg3qiywJaHR0cF9jYWxsIisKDEh0dHBFbmRwb2ludBIbCgN1cmkYASABKAlCDrpIB8gBAXICEAHYhSwBYgZwcm90bzM",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),HttpCallTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_http_call,0),HttpEndpointSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_http_call,1);var file_ai_stigmer_agentic_workflow_v1_tasks_human_input=fileDesc("CjZhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvaHVtYW5faW5wdXQucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcyJMChFIdW1hbklucHV0T3V0Y29tZRIaCgRuYW1lGAEgASgJQgy6SAnIAQFyBBABGD8SDQoFbGFiZWwYAiABKAkSDAoEdGhlbhgDIAEoCSLkAgoUSHVtYW5JbnB1dFRhc2tDb25maWcSHgoGcHJvbXB0GAEgASgJQg66SAfIAQFyAhAB2IUsARIsCgtmb3JtX3NjaGVtYRgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSSQoIb3V0Y29tZXMYAyADKAsyNy5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuSHVtYW5JbnB1dE91dGNvbWUSEQoJYXBwcm92ZXJzGAQgAygJEh0KB3RpbWVvdXQYBSABKAVCDLpICRoHGICangEoABJRCgpvbl90aW1lb3V0GAYgASgOMj0uYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLkh1bWFuSW5wdXRUaW1lb3V0UG9saWN5Eh0KFW5vdGlmaWNhdGlvbl9jaGFubmVscxgHIAMoCToP6ossC2h1bWFuX2lucHV0KsQBChdIdW1hbklucHV0VGltZW91dFBvbGljeRIqCiZIVU1BTl9JTlBVVF9USU1FT1VUX1BPTElDWV9VTlNQRUNJRklFRBAAEhwKGEhVTUFOX0lOUFVUX1RJTUVPVVRfRkFJTBABEh8KG0hVTUFOX0lOUFVUX1RJTUVPVVRfQVBQUk9WRRACEhwKGEhVTUFOX0lOUFVUX1RJTUVPVVRfREVOWRADEiAKHEhVTUFOX0lOUFVUX1RJTUVPVVRfRVNDQUxBVEUQBGIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),HumanInputOutcomeSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_human_input,0),HumanInputTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_human_input,1),HumanInputTimeoutPolicy;(function(HumanInputTimeoutPolicy2){HumanInputTimeoutPolicy2[HumanInputTimeoutPolicy2.HUMAN_INPUT_TIMEOUT_POLICY_UNSPECIFIED=0]="HUMAN_INPUT_TIMEOUT_POLICY_UNSPECIFIED",HumanInputTimeoutPolicy2[HumanInputTimeoutPolicy2.HUMAN_INPUT_TIMEOUT_FAIL=1]="HUMAN_INPUT_TIMEOUT_FAIL",HumanInputTimeoutPolicy2[HumanInputTimeoutPolicy2.HUMAN_INPUT_TIMEOUT_APPROVE=2]="HUMAN_INPUT_TIMEOUT_APPROVE",HumanInputTimeoutPolicy2[HumanInputTimeoutPolicy2.HUMAN_INPUT_TIMEOUT_DENY=3]="HUMAN_INPUT_TIMEOUT_DENY",HumanInputTimeoutPolicy2[HumanInputTimeoutPolicy2.HUMAN_INPUT_TIMEOUT_ESCALATE=4]="HUMAN_INPUT_TIMEOUT_ESCALATE"})(HumanInputTimeoutPolicy||(HumanInputTimeoutPolicy={}));var file_ai_stigmer_agentic_workflow_v1_tasks_listen=fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvbGlzdGVuLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MiYgoQTGlzdGVuVGFza0NvbmZpZxJCCgJ0bxgBIAEoCzIuLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5MaXN0ZW5Ub0IGukgDyAEBOgrqiywGbGlzdGVuInkKCExpc3RlblRvEiAKBG1vZGUYASABKAlCErpID8gBAXIKUgNvbmVSA2FsbBJLCgdzaWduYWxzGAIgAygLMjAuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLlNpZ25hbFNwZWNCCLpIBZIBAggBIlMKClNpZ25hbFNwZWMSFgoCaWQYASABKAlCCrpIB8gBAXICEAESLQoEdHlwZRgCIAEoCUIfukgcyAEBchdSBnNpZ25hbFIFcXVlcnlSBnVwZGF0ZWIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),ListenTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_listen,0),ListenToSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_listen,1),SignalSpecSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_listen,2);var file_ai_stigmer_agentic_workflow_v1_tasks_llm_call=fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvbGxtX2NhbGwucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcyLIAwoRTGxtQ2FsbFRhc2tDb25maWcSGwoFbW9kZWwYASABKAlCDLpICcgBAXIEEAEYfxIbCg1zeXN0ZW1fcHJvbXB0GAIgASgJQgTYhSwBEh4KBnByb21wdBgDIAEoCUIOukgHyAEBcgIQAdiFLAESMAoPcmVzcG9uc2Vfc2NoZW1hGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIkCgt0ZW1wZXJhdHVyZRgFIAEoAkIPukgMCgodAAAAQC0AAAAAEhsKCm1heF90b2tlbnMYBiABKAVCB7pIBBoCKAESGwoHdGltZW91dBgHIAEoBUIKukgHGgUY2AQoARJPCgpvbl9pbnZhbGlkGAggASgOMjsuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLk9uSW52YWxpZE91dHB1dFBvbGljeRIeCgttYXhfcmV0cmllcxgJIAEoBUIJukgGGgQYBSgBEhUKDWZhbGxiYWNrX3Rhc2sYCiABKAkSFwoPbWF4X2Nvc3RfbWljcm9zGAsgASgDEhgKEG1heF90b3RhbF90b2tlbnMYDCABKAM6DOqLLAhsbG1fY2FsbGIGcHJvdG8z",[file_ai_stigmer_agentic_workflow_v1_tasks_common,file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),LlmCallTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_llm_call,0);var file_ai_stigmer_agentic_workflow_v1_tasks_notification=fileDesc("CjdhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3Mvbm90aWZpY2F0aW9uLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MivQIKFk5vdGlmaWNhdGlvblRhc2tDb25maWcSHQoHY2hhbm5lbBgBIAEoCUIMukgJyAEBcgQQARg/EhwKCnJlY2lwaWVudHMYAiADKAlCCLpIBZIBAggBEhUKB3N1YmplY3QYAyABKAlCBNiFLAESHAoEYm9keRgEIAEoCUIOukgHyAEBcgIQAdiFLAESEAoIdGVtcGxhdGUYBSABKAkSXAoIbWV0YWRhdGEYBiADKAsySi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuTm90aWZpY2F0aW9uVGFza0NvbmZpZy5NZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AToQ6ossDG5vdGlmaWNhdGlvbmIGcHJvdG8z",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),NotificationTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_notification,0);var file_ai_stigmer_agentic_workflow_v1_tasks_raise=fileDesc("CjBhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvcmFpc2UucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcyJiCg9SYWlzZVRhc2tDb25maWcSHQoFZXJyb3IYASABKAlCDrpIB8gBAXICEAHYhSwBEh8KB21lc3NhZ2UYAiABKAlCDrpIB8gBAXICEAHYhSwBOg/qiywLcmFpc2VfZXJyb3JiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),RaiseTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_raise,0);var file_ai_stigmer_agentic_workflow_v1_tasks_run=fileDesc("Ci5haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvcnVuLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MiZwoNUnVuVGFza0NvbmZpZxIcCgh3b3JrZmxvdxgBIAEoCUIKukgHyAEBcgIQARImCgVpbnB1dBgCIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Q6EOqLLAxydW5fd29ya2Zsb3diBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),RunTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_run,0);var file_ai_stigmer_agentic_workflow_v1_tasks_set=fileDesc("Ci5haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3Mvc2V0LnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MirgEKDVNldFRhc2tDb25maWcSXQoJdmFyaWFibGVzGAEgAygLMkIuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLlNldFRhc2tDb25maWcuVmFyaWFibGVzRW50cnlCBrpIA8gBARowCg5WYXJpYWJsZXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBOgzqiywIc2V0X3ZhcnNiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),SetTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_set,0);var file_ai_stigmer_agentic_workflow_v1_tasks_switch=fileDesc("CjFhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3Mvc3dpdGNoLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MibgoQU3dpdGNoVGFza0NvbmZpZxJJCgVjYXNlcxgBIAMoCzIwLmFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcy5Td2l0Y2hDYXNlQgi6SAWSAQIIAToP6ossC3N3aXRjaF9jYXNlIk4KClN3aXRjaENhc2USGAoEbmFtZRgBIAEoCUIKukgHyAEBcgIQARIMCgR3aGVuGAIgASgJEhgKBHRoZW4YAyABKAlCCrpIB8gBAXICEAFiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),SwitchTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_switch,0),SwitchCaseSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_switch,1);var file_ai_stigmer_agentic_workflow_v1_tasks_transform=fileDesc("CjRhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvdHJhbnNmb3JtLnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MirwEKE1RyYW5zZm9ybVRhc2tDb25maWcSVAoGZW5naW5lGAEgASgOMjUuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLlRyYW5zZm9ybUVuZ2luZUINukgKyAEBggEEEAEgABIeCgpleHByZXNzaW9uGAIgASgJQgq6SAfIAQFyAhABEhMKBWlucHV0GAMgASgJQgTYhSwBOg3qiywJdHJhbnNmb3JtKokBCg9UcmFuc2Zvcm1FbmdpbmUSIAocVFJBTlNGT1JNX0VOR0lORV9VTlNQRUNJRklFRBAAEhcKE1RSQU5TRk9STV9FTkdJTkVfSlEQARIcChhUUkFOU0ZPUk1fRU5HSU5FX0pTT05BVEEQAhIdChlUUkFOU0ZPUk1fRU5HSU5FX1RFTVBMQVRFEANiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),TransformTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_transform,0),TransformEngine;(function(TransformEngine2){TransformEngine2[TransformEngine2.UNSPECIFIED=0]="UNSPECIFIED",TransformEngine2[TransformEngine2.JQ=1]="JQ",TransformEngine2[TransformEngine2.JSONATA=2]="JSONATA",TransformEngine2[TransformEngine2.TEMPLATE=3]="TEMPLATE"})(TransformEngine||(TransformEngine={}));var file_ai_stigmer_agentic_workflow_v1_tasks_try=fileDesc("Ci5haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvdHJ5LnByb3RvEiRhaS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MipAEKDVRyeVRhc2tDb25maWcSQwoDdHJ5GAEgAygLMiwuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93VGFza0IIukgFkgECCAESPwoFY2F0Y2gYAiABKAsyMC5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuQ2F0Y2hCbG9jazoN6ossCXRyeV9jYXRjaCJwCgpDYXRjaEJsb2NrEgoKAmFzGAEgASgJEkIKAmRvGAIgAygLMiwuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLldvcmtmbG93VGFza0IIukgFkgECCAESEgoKY29tcGVuc2F0ZRgDIAEoCGIGcHJvdG8z",[file_ai_stigmer_agentic_workflow_v1_spec,file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate]),TryTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_try,0),CatchBlockSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_try,1);var file_ai_stigmer_agentic_workflow_v1_tasks_validate=fileDesc("CjNhaS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3MvdmFsaWRhdGUucHJvdG8SJGFpLnN0aWdtZXIuYWdlbnRpYy53b3JrZmxvdy52MS50YXNrcyJnCg5WYWxpZGF0aW9uUnVsZRIaCgRuYW1lGAEgASgJQgy6SAnIAQFyBBABGH8SIgoKZXhwcmVzc2lvbhgCIAEoCUIOukgHyAEBcgIQAdiFLAESFQoHbWVzc2FnZRgDIAEoCUIE2IUsASKTAgoSVmFsaWRhdGVUYXNrQ29uZmlnEh0KBWlucHV0GAEgASgJQg66SAfIAQFyAhAB2IUsARInCgZzY2hlbWEYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkMKBXJ1bGVzGAMgAygLMjQuYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzLlZhbGlkYXRpb25SdWxlEksKB29uX2ZhaWwYBCABKA4yOi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuVmFsaWRhdGlvbkZhaWxQb2xpY3kSFQoNZmFsbGJhY2tfdGFzaxgFIAEoCToM6ossCHZhbGlkYXRlKo8BChRWYWxpZGF0aW9uRmFpbFBvbGljeRImCiJWQUxJREFUSU9OX0ZBSUxfUE9MSUNZX1VOU1BFQ0lGSUVEEAASGQoVVkFMSURBVElPTl9GQUlMX1JBSVNFEAESGgoWVkFMSURBVElPTl9GQUlMX0JSQU5DSBACEhgKFFZBTElEQVRJT05fRkFJTF9XQVJOEANiBnByb3RvMw",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_struct]),ValidationRuleSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_validate,0),ValidateTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_validate,1),ValidationFailPolicy;(function(ValidationFailPolicy2){ValidationFailPolicy2[ValidationFailPolicy2.VALIDATION_FAIL_POLICY_UNSPECIFIED=0]="VALIDATION_FAIL_POLICY_UNSPECIFIED",ValidationFailPolicy2[ValidationFailPolicy2.VALIDATION_FAIL_RAISE=1]="VALIDATION_FAIL_RAISE",ValidationFailPolicy2[ValidationFailPolicy2.VALIDATION_FAIL_BRANCH=2]="VALIDATION_FAIL_BRANCH",ValidationFailPolicy2[ValidationFailPolicy2.VALIDATION_FAIL_WARN=3]="VALIDATION_FAIL_WARN"})(ValidationFailPolicy||(ValidationFailPolicy={}));var file_ai_stigmer_agentic_workflow_v1_tasks_wait=fileDesc("Ci9haS9zdGlnbWVyL2FnZW50aWMvd29ya2Zsb3cvdjEvdGFza3Mvd2FpdC5wcm90bxIkYWkuc3RpZ21lci5hZ2VudGljLndvcmtmbG93LnYxLnRhc2tzIowCCghEdXJhdGlvbhIMCgRkYXlzGAEgASgNEg0KBWhvdXJzGAIgASgNEg8KB21pbnV0ZXMYAyABKA0SDwoHc2Vjb25kcxgEIAEoDRIUCgxtaWxsaXNlY29uZHMYBSABKA06qgG6SKYBGqMBChFkdXJhdGlvbi5ub25femVybxIsYXQgbGVhc3Qgb25lIGR1cmF0aW9uIGZpZWxkIG11c3QgYmUgbm9uLXplcm8aYHRoaXMuZGF5cyA+IDAgfHwgdGhpcy5ob3VycyA+IDAgfHwgdGhpcy5taW51dGVzID4gMCB8fCB0aGlzLnNlY29uZHMgPiAwIHx8IHRoaXMubWlsbGlzZWNvbmRzID4gMCKYAQoOV2FpdFRhc2tDb25maWcSQgoIZHVyYXRpb24YASABKAsyLi5haS5zdGlnbWVyLmFnZW50aWMud29ya2Zsb3cudjEudGFza3MuRHVyYXRpb25IABIrCgV1bnRpbBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIADoI6ossBHdhaXRCCwoJd2FpdF90eXBlYgZwcm90bzM",[file_ai_stigmer_commons_apiresource_field_options,file_buf_validate_validate,file_google_protobuf_timestamp]),DurationSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_wait,0),WaitTaskConfigSchema=messageDesc2(file_ai_stigmer_agentic_workflow_v1_tasks_wait,1);var WorkflowInputShape={name:external_exports.string().describe("Human-readable name of the resource."),slug:external_exports.string().optional().describe("URL-friendly identifier (lowercase alphanumeric with hyphens). Auto-generated from name if omitted."),org:external_exports.string().describe("Organization that owns this resource (e.g. acme)."),visibility:external_exports.string().optional().describe("Resource visibility: PRIVATE or PUBLIC. Omit to leave unchanged on updates."),labels:external_exports.record(external_exports.string()).optional().describe("Key-value labels for organization and filtering."),tags:external_exports.array(external_exports.string()).optional().describe("Tags for categorization and discovery."),description:external_exports.string().optional().describe("Human-readable description for UI and marketplace display."),document:external_exports.lazy(()=>WorkflowDocumentInputSchema).describe("Workflow document metadata including DSL version, namespace, name, and version."),tasks:external_exports.array(external_exports.lazy(()=>WorkflowTaskInputSchema)).optional().describe("Ordered list of tasks that make up this workflow. Tasks execute sequentially unless fork/parallel is used."),env:external_exports.record(external_exports.lazy(()=>EnvVarDeclarationInputSchema3)).optional().describe("Environment variable declarations for this workflow. Keys are variable names; values describe their metadata and optionality."),budget:external_exports.lazy(()=>WorkflowBudgetInputSchema).optional().describe("Budget limits for this workflow execution. When set, the runtime (T13) enforces cost, token, and duration limits across all tasks. The existing org-level billing reservation system (AuthorizeExecution / ExecutionBillingSignal) remains the safety net for overall credit exhaustion; workflow budgets prevent individual workflows from consuming more than intended. Optional \u2014 when not set, no workflow-level budget is enforced.")},WorkflowInputSchema=external_exports.object(WorkflowInputShape),WorkflowDocumentInputSchema=external_exports.object({dsl:external_exports.string().optional().describe("Workflow DSL version (semver). Must be '1.0.0' for the current specification."),namespace:external_exports.string().describe("Workflow namespace (organization/categorization)."),name:external_exports.string().describe("Workflow name (unique identifier within namespace)."),version:external_exports.string().describe("Workflow version (semver)."),description:external_exports.string().optional().describe("Human-readable description.")}),ContextManagementConfigInputSchema=external_exports.object({disable_summarization:external_exports.boolean().optional().describe("Disable automatic context summarization for this execution. When true, the agent will never trigger automatic summarization, even if the context window approaches the model's limit. Use cases: - Short-lived executions that won't approach context limits - Debugging context-related issues - Workflows that manage their own context externally Warning: Disabling summarization may cause execution failure if context exceeds model limits. Default: false (summarization enabled based on model defaults)"),custom_trigger_threshold:external_exports.number().optional().describe("Custom token threshold to trigger summarization. When the context token count exceeds this threshold, summarization is triggered to reduce context size. Set to 0 to use model default. The default trigger threshold from Model Registry is typically 90% of the model's context window (e.g., 180K for 200K context models). Must be greater than custom_target_tokens if both are specified. Default: 0 (use model default from Model Registry)"),custom_target_tokens:external_exports.number().optional().describe("Custom target token count after summarization. Summarization aims to reduce context to approximately this size. Set to 0 to use model default. The default target from Model Registry is typically 80% of the model's context window (e.g., 160K for 200K context models). Must be less than custom_trigger_threshold if both are specified. Default: 0 (use model default from Model Registry)")}),AgentExecutionConfigInputSchema=external_exports.object({model:external_exports.string().optional().describe("LLM model to use for this invocation. Example: 'claude-3-5-sonnet', 'gpt-4', 'claude-3-opus' Optional - uses agent's default model if not specified."),timeout:external_exports.number().optional().describe("Timeout for agent execution in seconds. Default: 300 (5 minutes) Optional."),temperature:external_exports.number().optional().describe("Temperature for LLM sampling (0.0 to 1.0). Lower = more deterministic, Higher = more creative Default: 0.7 Optional."),context_management:external_exports.lazy(()=>ContextManagementConfigInputSchema).optional().describe("Context management configuration for this agent invocation. Controls automatic summarization behavior for long-running conversations. When specified, overrides model defaults from the Model Registry. @internal @since Phase 3 (Context Summarization Architecture) Use cases: - Disable summarization for short-lived agents - Custom thresholds for agents with specific context requirements - Fine-tune summarization behavior per workflow task Example YAML: config: model: 'claude-sonnet-4.5' context_management: custom_trigger_threshold: 150000 custom_target_tokens: 120000"),max_cost_micros:external_exports.union([external_exports.number(),external_exports.string()]).optional().describe("Per-agent-call cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this agent call if its accumulated cost exceeds this limit. This uses the workflow domain's micro-USD convention and provides per-task cost control at the workflow level. The runtime checks both: per-task limit first, then workflow remaining budget. Optional \u2014 when 0, no per-task cost limit is enforced. @since T05 (Workflow-Level Budget Primitives)")}),AgentCallOutputContractInputSchema=external_exports.object({schema:external_exports.record(external_exports.unknown()).describe("JSON Schema that the agent's structured output must conform to. Standard JSON Schema (draft 2020-12 or compatible). The workflow runner extracts JSON from the agent's final response and validates it against this schema. If validation fails, the on_invalid policy determines what happens next. The schema is carried as a google.protobuf.Struct to preserve the existing kind+Struct envelope pattern and allow YAML authors to write standard JSON Schema inline without a Stigmer-specific schema language."),on_invalid:external_exports.string().optional().describe("Policy when agent output fails schema validation. Default: ON_INVALID_FAIL (task fails immediately). Allowed values: ON_INVALID_FAIL, ON_INVALID_RETRY, ON_INVALID_FALLBACK."),max_retries:external_exports.number().optional().describe("Maximum retry attempts when on_invalid is ON_INVALID_RETRY. Each retry re-prompts the agent with the specific validation errors and the expected schema, giving the agent an opportunity to self-correct. Only meaningful when on_invalid is ON_INVALID_RETRY; ignored otherwise. Default: 1. Valid range: 1-5."),fallback_task:external_exports.string().optional().describe("Target task to branch to when schema validation cannot be resolved. Used in two scenarios: 1. on_invalid is ON_INVALID_RETRY and all retries are exhausted 2. on_invalid is ON_INVALID_FALLBACK (immediate branch, no retry) Must reference a valid task name in the same workflow. When empty and retries are exhausted, the task fails.")}),AgentCallTaskConfigInputSchema=external_exports.object({agent:external_exports.string().describe("Agent reference in 'org/slug' or 'slug' format. - 'slug' only: uses the workflow's organization - 'org/slug': explicit organization reference Examples: 'code-reviewer', 'stigmer/code-reviewer', 'acme/data-analyst' Required field."),org:external_exports.string().optional().describe("Explicit organization for agent resolution. Optional. If empty, the org is parsed from the agent field or defaults to workflow's org. Use this when you need to override the parsed org."),message:external_exports.string().describe("Instructions/prompt to send to the agent. Supports interpolation of workflow variables using JQ expressions. Example: 'Analyze this code: ${ $context.fetchCode.body }' Required field."),env:external_exports.record(external_exports.string()).optional().describe("Runtime environment variables to pass to the agent. Values can be literal strings or JQ expressions that reference workflow context or secrets. Example: {'GITHUB_TOKEN': '${ .secrets.GH_TOKEN }'} Optional."),config:external_exports.lazy(()=>AgentExecutionConfigInputSchema).optional().describe("Execution configuration for the agent invocation. Optional - defaults are applied if not specified."),output:external_exports.lazy(()=>AgentCallOutputContractInputSchema).optional().describe("Structured output contract for this agent call. When set, the workflow runner extracts structured JSON from the agent's final response and validates it against the declared schema. The validated JSON is placed in the task output under the 'structured' key, enabling reliable downstream routing via switch_case expressions. When not set, the task output contains the agent's raw text response (backward compatible with existing workflows). @since T02 (Structured Agent Output Model)"),harness:external_exports.string().optional().describe("Execution harness for the agent invocation. Determines which execution engine processes the agent call: - HARNESS_UNSPECIFIED / HARNESS_NATIVE: Stigmer native engine (Python/LangGraph) - HARNESS_CURSOR: Cursor SDK engine (TypeScript/Cursor) The workflow-runner creates a Session with this harness before creating the AgentExecution. The harness is a session-level concern \u2014 it determines tool availability, state management, model access, and billing tier. When unspecified, defaults to HARNESS_NATIVE for backward compatibility. YAML Example: - code_review: call: agent with: agent: 'code-reviewer' harness: cursor message: 'Review this PR' Allowed values: HARNESS_NATIVE, HARNESS_CURSOR.")}),CallActivityTaskConfigInputSchema=external_exports.object({activity:external_exports.string().describe("Activity name to execute. @internal Must match a registered Temporal activity."),input:external_exports.record(external_exports.unknown()).optional().describe("Activity input (optional). Can be any JSON structure. Supports expressions in string values.")}),EmitEventInputSchema=external_exports.object({type:external_exports.string().describe("CloudEvents type identifier. A reverse-DNS string that categorizes the event for routing and filtering. Examples: 'stigmer.workflow.ticket.classified', 'acme.order.completed'"),source:external_exports.string().optional().describe("CloudEvents source identifier. URI or URI-reference that identifies the context in which the event happened. Supports ${ } expression interpolation. When empty, the runtime defaults to the workflow execution URI (e.g., '/workflows/{workflow_id}/executions/{execution_id}')."),data:external_exports.record(external_exports.unknown()).optional().describe("Event payload data. Arbitrary JSON object carried as the CloudEvents data attribute. Values within the Struct can contain ${ } expressions that the runtime evaluates before emission. Unlike other Struct fields in the workflow domain (response_schema, form_schema, schema) which carry JSON Schema definitions, this field carries the actual event payload \u2014 not a schema."),subject:external_exports.string().optional().describe("CloudEvents subject identifier. Describes the subject of the event in the context of the event producer. Supports ${ } expression interpolation. Examples: '${ $context.ticket.id }', '${ $context.order.number }'")}),EmitEventTaskConfigInputSchema=external_exports.object({event:external_exports.lazy(()=>EmitEventInputSchema).describe("The event specification to emit. Contains the CloudEvents envelope fields (type, source, data, subject). Required field.")}),EvalCriterionInputSchema=external_exports.object({name:external_exports.string().describe("Name of this evaluation dimension. Used in the judge prompt and appears in the output. Examples: 'accuracy', 'completeness', 'safety', 'relevance'"),description:external_exports.string().describe("Description of what this criterion measures. Included in the judge prompt to guide the LLM's assessment. Example: 'Does the response accurately reflect the source data without hallucinations?'"),weight:external_exports.number().optional().describe("Relative weight for computing the weighted average overall score. When all weights are equal (or all zero), criteria are averaged uniformly. Example: accuracy=3.0, formatting=1.0 means accuracy counts 3x more.")}),EvalTaskConfigInputSchema=external_exports.object({model:external_exports.string().describe("LLM model used as the judge. Resolved via the Stigmer model registry. Examples: 'gpt-4o', 'claude-sonnet-4-5'"),subject:external_exports.string().describe("Expression selecting the data to evaluate. Supports ${ } expression interpolation. Example: '${ $context.summarize.text }' to evaluate a summary task's output."),rubric:external_exports.string().describe("Evaluation criteria in natural language. Tells the judge LLM what to assess and what 'good' looks like. For pass_fail: describe what constitutes a pass. For numeric_score: describe the scoring scale. For multi_criteria: provide overall context (per-criterion detail goes in criteria field)."),scoring_mode:external_exports.string().optional().describe("How the judge scores the subject. Default: EVAL_PASS_FAIL. Allowed values: EVAL_PASS_FAIL, EVAL_NUMERIC_SCORE, EVAL_MULTI_CRITERIA."),threshold:external_exports.number().optional().describe("Pass threshold for numeric_score and multi_criteria modes. The subject passes if score >= threshold. Ignored for pass_fail mode (the judge's binary decision is used directly). Valid range: 0.0 to 1.0. Default: 0.5."),on_fail:external_exports.string().optional().describe("Policy applied when the subject fails evaluation. Default: EVAL_FAIL_RAISE (task fails with evaluation error). Allowed values: EVAL_FAIL_RAISE, EVAL_FAIL_BRANCH, EVAL_FAIL_WARN."),fallback_task:external_exports.string().optional().describe("Target task to branch to when on_fail is EVAL_FAIL_BRANCH. Must reference a valid task name in the same workflow. Only meaningful when on_fail is EVAL_FAIL_BRANCH; ignored otherwise."),system_prompt:external_exports.string().optional().describe("Optional custom system prompt override for the judge LLM. When set, replaces the auto-generated judge system prompt entirely. Use only when the default judge prompt template does not fit your needs. When empty, the runtime constructs a judge-appropriate system prompt from the rubric, scoring_mode, and criteria."),criteria:external_exports.array(external_exports.lazy(()=>EvalCriterionInputSchema)).optional().describe("Evaluation criteria for multi_criteria mode. Required when scoring_mode is EVAL_MULTI_CRITERIA; ignored otherwise. Each criterion is scored independently, and the overall score is the weighted average (uniform if all weights are equal or zero)."),max_cost_micros:external_exports.union([external_exports.number(),external_exports.string()]).optional().describe("Per-task cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this eval call if its cost exceeds this limit, independent of the workflow-level budget. Optional \u2014 when 0, no per-task cost limit is enforced. @since T05 (Workflow-Level Budget Primitives)")}),ForTaskConfigInputSchema=external_exports.lazy(()=>external_exports.object({each:external_exports.string().describe("Variable name for each item in the iteration. Accessible via ${ $data.item } in expressions."),in:external_exports.string().describe("Expression evaluating to the collection to iterate over. Example: '${ $data.items }' or '${ [1, 2, 3] }'"),do:external_exports.array(external_exports.lazy(()=>WorkflowTaskInputSchema)).optional().describe("Tasks to execute for each iteration. Loop variables available: ${ $data.item }, ${ $data.index }"),max_parallelism:external_exports.number().optional().describe("Maximum number of iterations to execute concurrently. 0 (default): sequential execution \u2014 iterations run one at a time in input order. This preserves pre-T17 behavior. 1: effectively sequential (one at a time, but uses the parallel execution path \u2014 useful for testing). N > 1: up to N iterations run concurrently using Temporal workflow goroutines with a semaphore-based concurrency limiter. Results are always reassembled in original input order regardless of completion order. @since T17 (Advanced Agentic Orchestration)"),batch_size:external_exports.number().optional().describe("Number of items to process in each batch before moving to the next. 0 (default): no batching \u2014 all items are available for parallel execution (up to max_parallelism concurrent). N > 0: items are chunked into groups of N. Each chunk is fully processed before the next chunk begins. Within each chunk, up to max_parallelism iterations run concurrently. Only meaningful when max_parallelism > 0; ignored in sequential mode. @since T17 (Advanced Agentic Orchestration)"),on_error:external_exports.string().optional().describe("Policy for handling individual iteration failures. Default: FOR_EACH_FAIL_FAST (stop on first error). Only meaningful when max_parallelism > 0; in sequential mode, any failure stops the loop regardless of this setting (pre-T17 behavior). @since T17 (Advanced Agentic Orchestration) Allowed values: FOR_EACH_FAIL_FAST, FOR_EACH_CONTINUE, FOR_EACH_SKIP.")})),ForkBranchInputSchema=external_exports.lazy(()=>external_exports.object({name:external_exports.string().describe("Branch name/identifier."),do:external_exports.array(external_exports.lazy(()=>WorkflowTaskInputSchema)).optional().describe("Tasks to execute in this branch.")})),ForkTaskConfigInputSchema=external_exports.lazy(()=>external_exports.object({branches:external_exports.array(external_exports.lazy(()=>ForkBranchInputSchema)).optional().describe("Branches to execute in parallel (at least 2 required)."),compete:external_exports.boolean().optional().describe("If true, first branch to complete wins (race mode). If false, all branches must complete (default).")})),GrpcCallTaskConfigInputSchema=external_exports.object({service:external_exports.string().describe("Fully qualified service name. Example: 'com.example.UserService'"),method:external_exports.string().describe("Method name to call. Example: 'GetUser'"),request:external_exports.record(external_exports.unknown()).optional().describe("Request message (optional). Can be any JSON structure matching the proto schema. Supports expressions in string values.")}),HttpEndpointInputSchema=external_exports.object({uri:external_exports.string().describe("URI of the endpoint. Can contain expressions: 'https://api.example.com/${.resource}'")}),HttpCallTaskConfigInputSchema=external_exports.object({method:external_exports.string().describe("HTTP method (GET, POST, PUT, DELETE, PATCH). Allowed values: GET, POST, PUT, DELETE, PATCH."),endpoint:external_exports.lazy(()=>HttpEndpointInputSchema).describe("HTTP endpoint configuration."),headers:external_exports.record(external_exports.string()).optional().describe("HTTP headers (optional). Values can contain expressions: 'Bearer ${TOKEN}'"),body:external_exports.record(external_exports.unknown()).optional().describe("Request body (optional). Can be any JSON structure. Supports expressions in string values."),timeout_seconds:external_exports.number().optional().describe("Request timeout in seconds (optional, default: 30).")}),HumanInputOutcomeInputSchema=external_exports.object({name:external_exports.string().describe("Outcome identifier used in task output and routing. Examples: 'approve', 'deny', 'needs_revision', 'escalate', 'defer' Must be unique within the outcomes list."),label:external_exports.string().optional().describe("Human-readable label for the button/action in the approval UI. When empty, the UI displays the capitalized name. Examples: 'Approve Escalation', 'Reject \u2014 Not Customer-Impacting'"),then:external_exports.string().optional().describe("Task to branch to when this outcome is selected. Must reference a valid task name in the same workflow. When empty, the workflow continues to the next task in sequence.")}),HumanInputTaskConfigInputSchema=external_exports.object({prompt:external_exports.string().describe("Message shown to the reviewer explaining what needs approval or input. Supports ${ } expression interpolation for injecting workflow context. Example: 'Approve escalation for ticket ${ $context.ticket.id }?'"),form_schema:external_exports.record(external_exports.unknown()).optional().describe("JSON Schema defining the input form rendered to the reviewer. When set, the approval UI renders a typed form based on this schema. The reviewer's form response is validated against the schema before the task completes, and the validated data appears in the task output under the 'form_data' key. When not set, the reviewer sees only the outcome buttons (approve/deny or custom outcomes) without a data entry form. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema and LlmCallTaskConfig.response_schema."),outcomes:external_exports.array(external_exports.lazy(()=>HumanInputOutcomeInputSchema)).optional().describe("Named outcomes that the reviewer can select. Each outcome represents a decision the reviewer can make, with optional routing to a different downstream task. This enables rich branching beyond binary approve/deny. When empty, the task defaults to binary behavior: - 'approve': task completes, workflow continues to next task - 'deny': task fails (enters try_catch or EXECUTION_FAILED) When custom outcomes are defined, the first outcome is used as the default for HUMAN_INPUT_TIMEOUT_APPROVE, and the last outcome is used as the default for HUMAN_INPUT_TIMEOUT_DENY."),approvers:external_exports.array(external_exports.string()).optional().describe("Approver identifiers \u2014 who is allowed to respond to this task. Supports user IDs, team slugs, and role names. Format examples: - 'user:jane@acme.com' \u2014 specific user - 'team:engineering-leads' \u2014 any member of the team - 'role:content-admin' \u2014 any user with the role When empty, any authenticated user can respond. Resolution of these identifiers is a runtime concern (T13)."),timeout:external_exports.number().optional().describe("Timeout in seconds before the on_timeout policy applies. Default: 0 (no timeout \u2014 the task waits indefinitely). Max: 2592000 (30 days). A timeout of 0 means the workflow will wait until a human responds. For production workflows, setting a timeout with an appropriate on_timeout policy is strongly recommended."),on_timeout:external_exports.string().optional().describe("Policy applied when the timeout expires without a response. Only meaningful when timeout > 0; ignored when timeout is 0. Default: HUMAN_INPUT_TIMEOUT_FAIL (task fails with timeout error). Allowed values: HUMAN_INPUT_TIMEOUT_FAIL, HUMAN_INPUT_TIMEOUT_APPROVE, HUMAN_INPUT_TIMEOUT_DENY, HUMAN_INPUT_TIMEOUT_ESCALATE."),notification_channels:external_exports.array(external_exports.string()).optional().describe("Channel identifiers for sending approval request notifications. When the task starts, the runtime sends notifications through these channels to alert potential approvers. Format examples: - 'slack:#approvals' \u2014 Slack channel - 'email:ops@acme.com' \u2014 email address - 'teams:#incident-response' \u2014 Microsoft Teams channel The format and routing of notifications is a runtime concern (T13). The proto carries the identifiers; the runtime resolves them to actual notification providers configured in the workflow instance's environment.")}),SignalInputSchema=external_exports.object({id:external_exports.string().describe("Signal identifier."),type:external_exports.string().describe("Signal type: 'signal', 'query', or 'update'. Allowed values: signal, query, update.")}),ListenToInputSchema=external_exports.object({mode:external_exports.string().describe("Listening mode: - 'one': Wait for any one signal - 'all': Wait for all signals Allowed values: one, all."),signals:external_exports.array(external_exports.lazy(()=>SignalInputSchema)).optional().describe("Signals to listen for.")}),ListenTaskConfigInputSchema=external_exports.object({to:external_exports.lazy(()=>ListenToInputSchema).describe("Signal listening configuration.")}),LlmCallTaskConfigInputSchema=external_exports.object({model:external_exports.string().describe("Model reference resolved via the Stigmer model registry. Examples: 'gpt-4o', 'gpt-4o-mini', 'claude-sonnet-4-5', 'claude-haiku-3-5' Required field."),system_prompt:external_exports.string().optional().describe("System prompt that sets the LLM's role and constraints. Supports ${ } expression interpolation for dynamic system prompts. Optional \u2014 omit for tasks where the user prompt is self-contained."),prompt:external_exports.string().describe("User prompt / instruction sent to the LLM. Supports ${ } expression interpolation for injecting workflow context. Example: 'Classify this ticket: ${ $context.ticket.description }' Required field."),response_schema:external_exports.record(external_exports.unknown()).optional().describe("JSON Schema for structured output. When set, the runner requests structured output from the provider (e.g., OpenAI's response_format, Anthropic's tool_use extraction) and validates the response against this schema. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema for consistency across the workflow domain. When not set, the task output is the LLM's raw text response."),temperature:external_exports.number().optional().describe("Sampling temperature (0.0 to 2.0). Lower = more deterministic, higher = more creative. Range is 0.0-2.0 to accommodate all major providers (OpenAI supports up to 2.0; others clamp to their supported range at runtime). Optional \u2014 uses the provider's default when not set."),max_tokens:external_exports.number().optional().describe("Maximum tokens in the LLM response. Optional \u2014 uses the provider's default when not set."),timeout:external_exports.number().optional().describe("Timeout for the LLM call in seconds. Default: 60. Max: 600 (10 minutes). Optional."),on_invalid:external_exports.string().optional().describe("Policy when the LLM response fails schema validation. Only meaningful when response_schema is set; ignored otherwise. Default: ON_INVALID_FAIL (task fails immediately). Allowed values: ON_INVALID_FAIL, ON_INVALID_RETRY, ON_INVALID_FALLBACK."),max_retries:external_exports.number().optional().describe("Maximum schema-validation retry attempts when on_invalid is ON_INVALID_RETRY. Each retry re-prompts the LLM with the validation errors and expected schema, giving it an opportunity to self-correct. Only meaningful when on_invalid is ON_INVALID_RETRY; ignored otherwise. Default: 1. Valid range: 1-5."),fallback_task:external_exports.string().optional().describe("Target task to branch to when schema validation cannot be resolved. Used in two scenarios: 1. on_invalid is ON_INVALID_RETRY and all retries are exhausted 2. on_invalid is ON_INVALID_FALLBACK (immediate branch, no retry) Must reference a valid task name in the same workflow. When empty and retries are exhausted, the task fails."),max_cost_micros:external_exports.union([external_exports.number(),external_exports.string()]).optional().describe("Per-task cost cap in micro-USD (1 USD = 1,000,000 micros). When set, the runtime terminates this specific LLM call if its cost exceeds this limit, independent of the workflow-level budget. The runtime checks both: per-task limit first, then workflow remaining budget. Optional \u2014 when 0, no per-task cost limit is enforced. @since T05 (Workflow-Level Budget Primitives)"),max_total_tokens:external_exports.union([external_exports.number(),external_exports.string()]).optional().describe("Per-task token cap (input + output tokens combined). When set, the runtime terminates this specific LLM call if total tokens exceed this limit. Complements max_tokens (field 6), which limits only the output token count as a generation parameter. Optional \u2014 when 0, no per-task total token limit is enforced. @since T05 (Workflow-Level Budget Primitives)")}),NotificationTaskConfigInputSchema=external_exports.object({channel:external_exports.string().describe("Notification channel identifier. Determines which notification provider processes this message. Common values: 'slack', 'email', 'discord', 'teams', 'webhook' This is a string (not an enum) for extensibility \u2014 new channels can be added without proto changes. The runtime resolves the channel to its configured provider in the workflow instance's environment."),recipients:external_exports.array(external_exports.string()).optional().describe("Recipient identifiers for the notification. Format depends on the channel: - slack: '#channel-name', '@username', or Slack user IDs - email: 'user@example.com' - discord: '#channel-name', '@role' - teams: '#channel-name' - webhook: URL or webhook identifier At least one recipient is required. Individual values may contain ${ } expressions that the runtime evaluates before delivery (e.g., '${ $context.customer.email }')."),subject:external_exports.string().optional().describe("Notification subject or title. Supports ${ } expression interpolation. Used as: email subject line, Slack message title, webhook payload title. Optional \u2014 some channels (e.g., simple Slack messages) may not use it."),body:external_exports.string().describe("Notification body / message content. Supports ${ } expression interpolation. The primary content of the notification. Formatting depends on channel (e.g., Slack Markdown, HTML for email, plain text for SMS). When template is also set, body serves as the fallback content if the template cannot be resolved."),template:external_exports.string().optional().describe("Named template reference for rendering the notification. When set, the runtime looks up this template in the workflow instance's environment and uses it for rendering, with the workflow context as template data. The body field is used as fallback if the template cannot be resolved. Examples: 'incident-alert', 'order-confirmation', 'approval-request' Template resolution and rendering is a runtime concern (T13)."),metadata:external_exports.record(external_exports.string()).optional().describe("Channel-specific metadata as key-value pairs. Provides additional configuration that varies by notification channel: - slack: {'thread_ts': '...', 'unfurl_links': 'false'} - email: {'priority': 'high', 'reply_to': '...', 'cc': '...'} - webhook: {'method': 'POST', 'content_type': 'application/json'} Values may contain ${ } expressions that the runtime evaluates before delivery.")}),RaiseTaskConfigInputSchema=external_exports.object({error:external_exports.string().describe("Error type/name."),message:external_exports.string().describe("Error message. Can contain expressions: '${ .errorMessage }'")}),RunTaskConfigInputSchema=external_exports.object({workflow:external_exports.string().describe("Sub-workflow name/identifier to execute."),input:external_exports.record(external_exports.unknown()).optional().describe("Sub-workflow input (optional). Can be any JSON structure. Supports expressions in string values.")}),SetTaskConfigInputSchema=external_exports.object({variables:external_exports.record(external_exports.string()).describe("Variables to set in workflow state. Keys are variable names, values can be literals or expressions. Expressions use ${...} syntax, e.g., '${.a + .b}' or '${now}'")}),SwitchCaseInputSchema=external_exports.object({name:external_exports.string().describe("Case name/identifier."),when:external_exports.string().optional().describe("Condition expression (optional). If empty, this is the default case. Example: '${ $context.value > 5 }'"),then:external_exports.string().describe("Target task name to execute if condition matches.")}),SwitchTaskConfigInputSchema=external_exports.object({cases:external_exports.array(external_exports.lazy(()=>SwitchCaseInputSchema)).optional().describe("List of switch cases (at least one required). Cases are evaluated in order. First matching case executes. If no 'when' is specified, the case acts as default.")}),TransformTaskConfigInputSchema=external_exports.object({engine:external_exports.string().describe("Transformation engine to use. Required \u2014 must be explicitly set (not UNSPECIFIED). Allowed values: TRANSFORM_ENGINE_JQ, TRANSFORM_ENGINE_JSONATA, TRANSFORM_ENGINE_TEMPLATE."),expression:external_exports.string().describe("Transformation expression in the chosen engine's syntax. For JQ: a JQ filter expression (e.g., '{name: .full_name}') For JSONata: a JSONata expression (e.g., '{'name': full_name}') For TEMPLATE: a Go text/template string with {{ }} placeholders Required field."),input:external_exports.string().optional().describe("Expression selecting the input data for the transformation. Supports ${ } expression interpolation. When omitted, the entire workflow context is used as input. Example: '${ $context.triage }' to transform just the triage output.")}),CatchBlockInputSchema=external_exports.lazy(()=>external_exports.object({as:external_exports.string().optional().describe("Variable name to store the error (optional). Accessible via ${ .error } in catch tasks."),do:external_exports.array(external_exports.lazy(()=>WorkflowTaskInputSchema)).optional().describe("Tasks to execute when error is caught."),compensate:external_exports.boolean().optional().describe("Whether to run compensation tasks for already-completed try tasks before executing the catch do block. When true, the runtime walks the compensation stack (completed tasks that declared a 'compensate' block) in reverse order and executes each task's compensation actions. After all compensations complete (or fail), the catch 'do' block runs as normal. Compensation failures do not prevent the catch block from running. They are logged and included in the task output for diagnostics. Default: false (no compensation \u2014 preserves pre-T17 behavior). @since T17 (Advanced Agentic Orchestration)")})),TryTaskConfigInputSchema=external_exports.lazy(()=>external_exports.object({try:external_exports.array(external_exports.lazy(()=>WorkflowTaskInputSchema)).optional().describe("Tasks to attempt (at least one required). If any task fails, execution jumps to catch block."),catch:external_exports.lazy(()=>CatchBlockInputSchema).optional().describe("Catch block for error handling (optional). If not provided, errors propagate to parent.")})),ValidationRuleInputSchema=external_exports.object({name:external_exports.string().describe("Rule identifier for error reporting and debugging. Appears in validation error output so operators can identify which specific rule failed. Examples: 'critical_needs_rationale', 'customer_impact_requires_high_severity'"),expression:external_exports.string().describe("Boolean expression that must evaluate to true for the rule to pass. Supports ${ } expression interpolation. The expression receives the validate task's input data as its context. Example: '${ .severity != 'critical' || (.rationale != null && .rationale != '') }'"),message:external_exports.string().optional().describe("Error message included in validation output when the rule fails. Supports ${ } expression interpolation for dynamic error messages. When empty, a generic message is generated from the rule name. Example: 'Critical severity requires a rationale'")}),ValidateTaskConfigInputSchema=external_exports.object({input:external_exports.string().describe("Expression selecting the data to validate. Supports ${ } expression interpolation. Example: '${ $context.triage }' to validate the triage task's output."),schema:external_exports.record(external_exports.unknown()).optional().describe("JSON Schema to validate the input data against. Standard JSON Schema (draft 2020-12 or compatible). The runtime validates the input data against this schema and reports detailed errors for any constraint violations. Uses the same google.protobuf.Struct + JSON Schema pattern as AgentCallOutputContract.schema, LlmCallTaskConfig.response_schema, and HumanInputTaskConfig.form_schema. At least one of schema or rules must be set."),rules:external_exports.array(external_exports.lazy(()=>ValidationRuleInputSchema)).optional().describe("Business rules to evaluate against the input data. Each rule is a boolean expression that must evaluate to true. Rules complement schema validation by expressing constraints that JSON Schema cannot: cross-field dependencies, conditional requirements, and domain-specific invariants. At least one of schema or rules must be set."),on_fail:external_exports.string().optional().describe("Policy applied when validation fails. Default: VALIDATION_FAIL_RAISE (task fails with validation error). Allowed values: VALIDATION_FAIL_RAISE, VALIDATION_FAIL_BRANCH, VALIDATION_FAIL_WARN."),fallback_task:external_exports.string().optional().describe("Target task to branch to when on_fail is VALIDATION_FAIL_BRANCH. Must reference a valid task name in the same workflow. Only meaningful when on_fail is VALIDATION_FAIL_BRANCH; ignored otherwise. When on_fail is BRANCH and fallback_task is empty, the task fails.")}),DurationInputSchema=external_exports.object({days:external_exports.number().optional().describe("Number of days to wait (24 hours each)."),hours:external_exports.number().optional().describe("Number of hours to wait."),minutes:external_exports.number().optional().describe("Number of minutes to wait."),seconds:external_exports.number().optional().describe("Number of seconds to wait."),milliseconds:external_exports.number().optional().describe("Number of milliseconds to wait.")}),WaitTaskConfigInputSchema=external_exports.object({duration:external_exports.lazy(()=>DurationInputSchema).optional().describe("Relative duration to wait from now. Use this when you want to wait for a specific amount of time regardless of when the workflow reaches this task. Example: { days: 7 } = wait 1 week from now"),until:external_exports.string().optional().describe("Absolute timestamp to wait until. Use this when you want to wait until a specific point in time. If the timestamp is in the past, the task completes immediately. Example: '2026-03-01T09:00:00Z' = wait until March 1st, 2026 at 9am UTC")}),ExportInputSchema=external_exports.object({as:external_exports.string().optional().describe("Expression defining how to export output using ${...} syntax.")}),FlowControlInputSchema=external_exports.object({then:external_exports.string().optional().describe("Target task name or 'end' to terminate workflow.")}),WorkflowTaskInputSchema=external_exports.lazy(()=>external_exports.object({name:external_exports.string().optional().describe("Task name/identifier (must be unique within workflow). Must be a valid C-style identifier: starts with a letter or underscore, followed by letters, digits, or underscores."),kind:external_exports.string().describe("Task type. Set the matching config field (e.g. kind='http_call' -> populate http_call). Allowed values: set_vars, http_call, grpc_call, activity_call, switch_case, for_each, fork, try_catch, listen, wait, raise_error, run_workflow, agent_call, llm_call, transform, human_input, validate, emit_event, notification, eval."),agent_call:external_exports.lazy(()=>AgentCallTaskConfigInputSchema).optional().describe("Required when kind='agent_call'. AgentCallTaskConfig defines the configuration for agent_call tasks that invoke AI agents. @internal The agent is referenced by org/slug format (e.g., 'stigmer/code-reviewer'). Resolution order: 1. If org is specified: look in that org's agents 2. If org is empty: use the workflow's org 3. Before external lookup, check manifest (current deployment) The workflow's execution context (environment variables, secrets) is passed to the agent invocation, allowing agents to access workflow state. YAML Example (without structured output): - analyze: call: agent with: agent: 'code-reviewer' message: 'Review this code: ${ $context.fetchCode.body }' env: GITHUB_TOKEN: '${ .secrets.GH_TOKEN }' config: model: 'claude-3-5-sonnet' timeout: 300 YAML Example (with structured output): - triage_ticket: call: agent with: agent: 'support-triage' message: '${ .ticket.description }' output: schema: type: object required: [severity, category, customer_impact] properties: severity: type: string enum: [low, medium, high, critical] category: type: string customer_impact: type: boolean rationale: type: string on_invalid: ON_INVALID_RETRY max_retries: 2 fallback_task: human_review export: as: '${ .structured }' Reference: design doc at stigmer/_cursor/add-agent-config-to-workflow.md"),activity_call:external_exports.lazy(()=>CallActivityTaskConfigInputSchema).optional().describe("Required when kind='activity_call'. CallActivityTaskConfig defines the configuration for activity_call tasks that execute activities. @internal Executes Temporal activities. YAML Example: - taskName: call: activity with: activity: 'ProcessDataActivity' input: data: ${ .data } Reference: zigflow-dsl-pattern-catalog.md - Task Type 10"),emit_event:external_exports.lazy(()=>EmitEventTaskConfigInputSchema).optional().describe("Required when kind='emit_event'. EmitEventTaskConfig defines the configuration for emit_event tasks that publish CloudEvents to external consumers, other workflows, audit trails, and metrics systems. @internal emit_event is the complement to listen. While listen waits for Temporal signals (internal workflow primitives), emit_event publishes business events using the CloudEvents envelope (a standard external contract). The runtime (T13) bridges the two: an emitted CloudEvent can be delivered as a Temporal signal to another workflow's listen task, or routed to external consumers via message queues, webhooks, or event buses. The task output is the fully-resolved CloudEvents envelope with runtime-generated fields populated: { 'id': '<generated UUID>', 'specversion': '1.0', 'type': 'stigmer.workflow.ticket.classified', 'source': '/workflows/triage/executions/abc-123', 'time': '2026-05-12T14:30:00Z', 'subject': 'TICKET-456', 'datacontenttype': 'application/json', 'data': { <resolved payload> } } YAML Example (emit a classification event): - notify_classified: emit_event: event: type: 'stigmer.workflow.ticket.classified' subject: '${ $context.ticket.id }' data: ticket_id: '${ $context.ticket.id }' severity: '${ $context.triage.severity }' category: '${ $context.triage.category }' classified_by: '${ $context.workflow_instance_id }' export: as: '${ . }' YAML Example (emit with explicit source): - publish_completion: emit_event: event: type: 'acme.order.fulfilled' source: 'urn:acme:fulfillment-service' subject: '${ $context.order.number }' data: order_id: '${ $context.order.id }' status: 'fulfilled' fulfilled_at: '${ $context.timestamp }' export: as: '${ . }'"),eval:external_exports.lazy(()=>EvalTaskConfigInputSchema).optional().describe("Required when kind='eval'. EvalTaskConfig defines the configuration for eval tasks that use an LLM judge to assess the semantic quality of workflow data. @internal Use eval when you need to assess quality, correctness, safety, or completeness of LLM-generated or agent-produced content. This fills the gap between structural validation (validate task \u2014 JSON Schema, business rules) and human review (human_input task \u2014 manual inspection). The eval task constructs a judge prompt from the rubric and subject, calls the specified LLM with structured output enforcement, parses the judge's response, and applies the threshold to determine pass/fail. Key differences from validate: - validate checks deterministic structural properties (schema, rules) - eval checks semantic quality via an LLM judge (hallucination, relevance, safety) Key differences from llm_call: - llm_call is a general-purpose LLM invocation - eval has built-in judge prompt construction, scoring semantics, threshold application, and on_fail branching Task output structure: { 'pass': true/false, 'score': 0.85, // present for numeric_score and multi_criteria 'reasoning': 'The response...', 'criteria': [ // present only for multi_criteria {'name': 'accuracy', 'score': 0.9, 'reasoning': '...'}, {'name': 'safety', 'score': 0.8, 'reasoning': '...'} ], 'model_used': 'gpt-4o', 'subject': <original subject data> } YAML Example (binary pass/fail evaluation): - check_summary_quality: call: eval with: model: 'gpt-4o' subject: '${ $context.summarize.text }' rubric: | Evaluate whether this summary accurately captures the key points of the source document without hallucinations or omissions. The summary should be concise (under 3 sentences) and factually correct. scoring_mode: EVAL_PASS_FAIL on_fail: EVAL_FAIL_BRANCH fallback_task: regenerate_summary export: as: '${ . }' YAML Example (numeric score with threshold): - score_translation: call: eval with: model: 'gpt-4o' subject: '${ $context.translate.text }' rubric: | Rate the quality of this translation on accuracy, fluency, and preservation of meaning. Score 0.0 (unusable) to 1.0 (perfect). scoring_mode: EVAL_NUMERIC_SCORE threshold: 0.7 on_fail: EVAL_FAIL_WARN export: as: '${ . }' YAML Example (multi-criteria evaluation): - evaluate_response: call: eval with: model: 'gpt-4o' subject: '${ $context.agent_response }' rubric: 'Evaluate this customer support response.' scoring_mode: EVAL_MULTI_CRITERIA threshold: 0.75 criteria: - name: accuracy description: 'Is the information factually correct?' weight: 3.0 - name: helpfulness description: 'Does it address the customer's actual question?' weight: 2.0 - name: tone description: 'Is the tone professional and empathetic?' weight: 1.0 on_fail: EVAL_FAIL_RAISE export: as: '${ . }'"),for_each:external_exports.lazy(()=>ForTaskConfigInputSchema).optional().describe("Required when kind='for_each'. ForTaskConfig defines the configuration for for_each tasks that iterate over collections. @internal Supports both sequential (default) and parallel execution modes. When max_parallelism is set, iterations run concurrently using Temporal workflow goroutines with bounded concurrency. Backward compatibility: all new fields default to values that preserve the pre-T17 sequential behavior. Existing workflows require no changes. YAML Example (sequential, unchanged from pre-T17): - taskName: for: each: item in: ${ $data.items } do: - processItem: call: http with: method: POST body: item: ${ $data.item } index: ${ $data.index } YAML Example (parallel with bounded concurrency): - batchProcess: for: each: item in: ${ $data.items } max_parallelism: 5 on_error: FOR_EACH_CONTINUE do: - callApi: call: http with: method: POST endpoint: uri: 'https://api.example.com/process' body: item: ${ $data.item } Reference: zigflow-dsl-pattern-catalog.md - Task Type 4 @since max_parallelism, batch_size, on_error: T17 (Advanced Agentic Orchestration)"),fork:external_exports.lazy(()=>ForkTaskConfigInputSchema).optional().describe("Required when kind='fork'. ForkTaskConfig defines the configuration for fork tasks that execute branches in parallel. @internal YAML Example: - taskName: fork: branches: - branch1: do: - task1: call: http with: method: POST endpoint: uri: https://api.example.com/branch1 - branch2: do: - task2: call: http Reference: zigflow-dsl-pattern-catalog.md - Task Type 5"),grpc_call:external_exports.lazy(()=>GrpcCallTaskConfigInputSchema).optional().describe("Required when kind='grpc_call'. GrpcCallTaskConfig defines the configuration for grpc_call tasks that make gRPC requests. @internal YAML Example: - taskName: call: grpc with: service: 'com.example.UserService' method: 'GetUser' request: userId: ${ .userId } Reference: zigflow-dsl-pattern-catalog.md - Task Type 9"),http_call:external_exports.lazy(()=>HttpCallTaskConfigInputSchema).optional().describe("Required when kind='http_call'. HttpCallTaskConfig defines the configuration for http_call tasks that make HTTP requests. @internal YAML Example: - taskName: call: http with: method: POST endpoint: uri: https://api.example.com/data headers: Authorization: 'Bearer ${TOKEN}' body: field1: value Reference: zigflow-dsl-pattern-catalog.md - Task Type 2"),human_input:external_exports.lazy(()=>HumanInputTaskConfigInputSchema).optional().describe("Required when kind='human_input'. HumanInputTaskConfig defines the configuration for human_input tasks that pause workflow execution to collect typed input or approval from a human reviewer, then resume based on the reviewer's response. @internal Use human_input when a workflow needs human judgment before proceeding: approvals before API calls, sign-off before publishing, confirmation before customer-impacting actions, or structured data collection from a human operator. This is a workflow-level approval gate \u2014 distinct from agent-level HITL (tool approval inside an agent session). Workflow-level gates are visible in the execution viewer as explicit tasks with input/output/timing, and they can route to different branches based on the reviewer's decision. Runtime implementation (T13) will use Temporal signals for workflow resumption. The proto definition is intentionally runtime-agnostic. The reviewer's response (selected outcome + form data) becomes the task output, accessible via export: { 'outcome': 'approve', 'form_data': { <validated form response if form_schema is set> }, 'reviewer': '<user who responded>', 'responded_at': '<ISO 8601 timestamp>' } YAML Example (approval gate with custom outcomes): - manager_approval: human_input: prompt: 'Customer-impacting incident classified as ${ $context.triage.severity }. Approve escalation?' form_schema: type: object properties: notes: type: string description: 'Optional notes for the engineering team' priority_override: type: string enum: [P1, P2, P3] outcomes: - name: approve label: 'Approve Escalation' - name: deny label: 'Reject \u2014 Not Customer-Impacting' then: re_classify - name: needs_revision label: 'Needs More Info' then: gather_more_context approvers: - 'team:engineering-leads' timeout: 86400 on_timeout: HUMAN_INPUT_TIMEOUT_ESCALATE notification_channels: - 'slack:#incident-approvals' export: as: '${ . }' YAML Example (simple binary approval, no form): - confirm_publish: human_input: prompt: 'Ready to publish ${ $context.document.title } to production?' approvers: - 'role:content-admin' timeout: 3600 on_timeout: HUMAN_INPUT_TIMEOUT_FAIL export: as: '${ . }'"),listen:external_exports.lazy(()=>ListenTaskConfigInputSchema).optional().describe("Required when kind='listen'. ListenTaskConfig defines the configuration for listen tasks that wait for external signals. @internal Implemented via Temporal signals. YAML Example: - taskName: listen: to: one: with: id: approval_signal type: signal Reference: zigflow-dsl-pattern-catalog.md - Task Type 7"),llm_call:external_exports.lazy(()=>LlmCallTaskConfigInputSchema).optional().describe("Required when kind='llm_call'. LlmCallTaskConfig defines the configuration for llm_call tasks that make direct LLM API calls without the overhead of a full agent invocation. @internal Use llm_call when the task is focused and deterministic: classification, extraction, scoring, summarization, moderation, or routing. An agent_call carries setup overhead (system prompt, tool resolution, MCP server setup, session management) that is unnecessary when all you need is a single prompt-response cycle with optional structured output. When response_schema is set, the runner requests structured output from the provider and validates the response against the schema. The on_invalid / max_retries / fallback_task fields control what happens when validation fails, using the same OnInvalidOutputPolicy enum as agent_call's output contract. YAML Example (classification with structured output): - classify_severity: call: llm with: model: 'gpt-4o-mini' system_prompt: 'You are a support ticket classifier.' prompt: 'Classify this ticket: ${ $context.ticket.description }' response_schema: type: object required: [severity, category] properties: severity: type: string enum: [low, medium, high, critical] category: type: string on_invalid: ON_INVALID_RETRY max_retries: 2 export: as: '${ . }' YAML Example (simple summarization, no schema): - summarize: call: llm with: model: 'claude-sonnet-4-5' prompt: 'Summarize in 2 sentences: ${ $context.document.text }' temperature: 0.3 max_tokens: 200 export: as: '${ . }'"),notification:external_exports.lazy(()=>NotificationTaskConfigInputSchema).optional().describe("Required when kind='notification'. NotificationTaskConfig defines the configuration for notification tasks that send messages to humans through channels like Slack, email, Discord, Microsoft Teams, or webhooks. @internal notification is a convenience abstraction for 'send a message to humans' \u2014 simpler and more intuitive than emit_event for common operational notification patterns. While emit_event publishes system-level CloudEvents for machine consumption, notification is purpose-built for human-readable messages with channel routing and recipient targeting. Key distinction from related task types: emit_event = system-to-system (CloudEvents, consumed by workflows/services) notification = system-to-human (Slack, email, Discord \u2014 read by people) human_input = system-to-human-to-system (waits for a response; notification is fire-and-forget) Notifications are fire-and-forget by default. The task output confirms delivery was attempted but does not wait for acknowledgment: { 'channel': 'slack', 'recipients': ['#incident-response'], 'delivered': true, 'delivered_at': '<ISO 8601 timestamp>' } For notifications that require acknowledgment or a response, use human_input instead \u2014 it pauses the workflow until a human responds. The channel field is a string (not an enum) to allow extensibility: new notification channels can be added without proto changes. The runtime (T13) resolves channel identifiers to actual notification providers configured in the workflow instance's environment. YAML Example (Slack notification): - alert_slack: notification: channel: 'slack' recipients: - '#incident-response' - '@oncall-lead' subject: 'P${ $context.triage.severity } Incident: ${ $context.ticket.title }' body: | *Severity*: ${ $context.triage.severity } *Category*: ${ $context.triage.category } *Customer Impact*: ${ $context.triage.customer_impact } *Summary*: ${ $context.agent_analysis.structured.summary } metadata: thread_ts: '${ $context.slack_thread_id }' export: as: '${ . }' YAML Example (email with template): - send_confirmation: notification: channel: 'email' recipients: - '${ $context.customer.email }' subject: 'Order ${ $context.order.number } Confirmed' body: 'Your order has been confirmed. You will receive tracking information shortly.' template: 'order-confirmation' metadata: priority: 'high' reply_to: 'support@acme.com' export: as: '${ . }'"),raise_error:external_exports.lazy(()=>RaiseTaskConfigInputSchema).optional().describe("Required when kind='raise_error'. RaiseTaskConfig defines the configuration for raise_error tasks that raise errors. @internal YAML Example: - taskName: raise: error: ValidationError message: ${ .errorMessage } Reference: zigflow-dsl-pattern-catalog.md - Task Type 11"),run_workflow:external_exports.lazy(()=>RunTaskConfigInputSchema).optional().describe("Required when kind='run_workflow'. RunTaskConfig defines the configuration for run_workflow tasks that execute sub-workflows. @internal Implemented via Temporal child workflows. YAML Example: - taskName: run: workflow: 'sub-workflow-name' input: data: ${ .data } Reference: zigflow-dsl-pattern-catalog.md - Task Type 12"),set_vars:external_exports.lazy(()=>SetTaskConfigInputSchema).optional().describe("Required when kind='set_vars'. SetTaskConfig defines the configuration for set_vars tasks that assign variables in workflow state. @internal YAML Example: - taskName: set: variable1: value variable2: ${ expression } computed: ${ .a + .b } Reference: zigflow-dsl-pattern-catalog.md - Task Type 1"),switch_case:external_exports.lazy(()=>SwitchTaskConfigInputSchema).optional().describe("Required when kind='switch_case'. SwitchTaskConfig defines the configuration for switch_case tasks that branch conditionally. @internal YAML Example: - taskName: switch: - case1: when: ${ $context.value > 5 } then: highValueTask - defaultCase: then: unknownTask Reference: zigflow-dsl-pattern-catalog.md - Task Type 3"),transform:external_exports.lazy(()=>TransformTaskConfigInputSchema).optional().describe("Required when kind='transform'. TransformTaskConfig defines the configuration for transform tasks that perform deterministic data transformation without LLM calls. @internal Use transform when you need to reshape data between tasks: projecting fields, joining objects, converting formats, or building API payloads. Unlike set_vars (which mutates workflow state variables as a side effect), transform produces an explicit output that flows through export like any other task \u2014 visible and inspectable in the execution viewer. The distinction from set_vars: set_vars = imperative assignment ('set X to Y'), mutates workflow context transform = functional transformation ('reshape this data'), produces output YAML Example (JQ \u2014 reshape data for an API call): - build_api_payload: transform: engine: jq expression: '{name: .customer.full_name, severity: .triage.severity, summary: .agent_analysis.structured.summary}' input: '${ $context }' export: as: '${ . }' YAML Example (template \u2014 render a notification message): - render_notification: transform: engine: template expression: 'Ticket {{ .ticket_id }} classified as {{ .severity }} \u2014 {{ .summary }}' input: '${ $context.build_api_payload }' export: as: '${ . }'"),try_catch:external_exports.lazy(()=>TryTaskConfigInputSchema).optional().describe("Required when kind='try_catch'. TryTaskConfig defines the configuration for try_catch tasks that handle errors. @internal YAML Example: - taskName: try: - attemptTask: call: http with: method: POST endpoint: uri: https://api.example.com/flaky catch: as: error do: - errorHandler: call: http with: body: error: ${ .error } Reference: zigflow-dsl-pattern-catalog.md - Task Type 6"),validate:external_exports.lazy(()=>ValidateTaskConfigInputSchema).optional().describe("Required when kind='validate'. ValidateTaskConfig defines the configuration for validate tasks that perform explicit schema and business-rule validation on workflow data. @internal Use validate when you need an explicit validation checkpoint before downstream actions. This is how you distinguish 'the API call succeeded' from 'the data is safe and complete enough to continue.' While switch_case + raise_error can approximate validation, a dedicated validate task makes the intent explicit, the error messages richer, and the execution trace clearer. In the execution viewer (T09), a validate task shows exactly what was checked, what passed, and what failed \u2014 visible as a distinct verification step. The task supports two complementary validation modes: - schema: JSON Schema validation for structural correctness - rules: business-rule expressions for domain-specific constraints At least one of schema or rules must be set. Both can be used together for comprehensive validation (schema checks structure, rules check business logic). This cross-field constraint is enforced at runtime validation since buf.validate cannot express it on individual fields. Task output includes the full validation result: { 'valid': true/false, 'errors': [ {'rule': 'critical_needs_rationale', 'message': 'Critical severity requires a rationale'}, {'path': '$.category', 'message': 'must have at least 1 character'} ], 'data': <original input data> } YAML Example (schema + business rules): - check_triage_quality: validate: input: '${ $context.triage }' schema: type: object required: [severity, category, customer_impact] properties: severity: type: string enum: [low, medium, high, critical] category: type: string minLength: 1 customer_impact: type: boolean rules: - name: critical_needs_rationale expression: '${ .severity != 'critical' || (.rationale != null && .rationale != '') }' message: 'Critical severity requires a rationale' - name: customer_impact_needs_severity expression: '${ .customer_impact != true || .severity in ['high', 'critical'] }' message: 'Customer-impacting issues must be high or critical severity' on_fail: VALIDATION_FAIL_BRANCH fallback_task: human_review export: as: '${ . }' YAML Example (schema-only validation with warn policy): - check_payload_shape: validate: input: '${ $context.api_payload }' schema: type: object required: [name, email] properties: name: type: string email: type: string format: email on_fail: VALIDATION_FAIL_WARN export: as: '${ . }'"),wait:external_exports.lazy(()=>WaitTaskConfigInputSchema).optional().describe("Required when kind='wait'. WaitTaskConfig defines the configuration for wait tasks that pause workflow execution. Supports both relative durations and absolute timestamps. @internal Implemented via Temporal timers. YAML Examples: Relative duration: - waitForApproval: wait: duration: days: 7 Absolute timestamp: - waitUntilMarketOpen: wait: until: '2026-03-02T09:30:00Z' Reference: zigflow-dsl-pattern-catalog.md - Task Type 8"),export:external_exports.lazy(()=>ExportInputSchema).optional().describe("Export configuration (how to save task output to context). Optional - if not set, output is not saved."),flow:external_exports.lazy(()=>FlowControlInputSchema).optional().describe("Flow control (which task executes next). Optional - if not set, continues to next task in sequence."),compensate:external_exports.array(external_exports.lazy(()=>WorkflowTaskInputSchema)).optional().describe("Compensation tasks to execute if this task needs to be 'undone.' @internal Saga-style compensation for workflows with side effects. When a try_catch block catches an error, it can optionally run the compensation tasks for all already-completed tasks in reverse order. The compensation tasks receive the original task's output in their input context, allowing them to construct the appropriate undo operation (e.g., cancel an API call, delete a created resource, send a reversal notification). Only executed when: 1. The task completed successfully (failed tasks are not compensated) 2. A subsequent task within the same try_catch scope fails 3. The catch block is configured to run compensations YAML Example: try: - create_order: call: http with: method: POST endpoint: { uri: 'https://api.example.com/orders' } body: { ... } compensate: - cancel_order: call: http with: method: DELETE endpoint: { uri: 'https://api.example.com/orders/${ $context.create_order.id }' } export: as: '${ . }' - charge_payment: call: http with: method: POST endpoint: { uri: 'https://api.example.com/payments' } catch: as: error compensate: true do: - log_failure: call: notification with: ... Optional - when empty, this task has no compensation action. @since T17 (Advanced Agentic Orchestration)")})),EnvVarDeclarationInputSchema3=external_exports.object({is_secret:external_exports.boolean().optional().describe("Whether the resolved value should be treated as a secret. @internal When true: encrypted at rest, redacted in logs and Temporal history. When false: stored as plaintext, visible in audit logs."),description:external_exports.string().optional().describe("Human-readable description shown in the UI credential form. Should explain what the variable is used for and where to obtain it."),optional:external_exports.boolean().optional().describe("Whether this variable is optional. @internal When false (default): the execution pipeline rejects a run if this variable is missing from the user's environment. When true: a missing value is acceptable (the MCP server or agent degrades gracefully without it).")}),WorkflowBudgetInputSchema=external_exports.object({max_cost_micros:external_exports.union([external_exports.number(),external_exports.string()]).optional().describe("Maximum total cost for this workflow execution in micro-USD. 1 USD = 1,000,000 micros. Example: 2000000 = $2.00. When exceeded, the on_exceeded policy is applied. Optional \u2014 when 0, no cost limit is enforced."),max_total_tokens:external_exports.union([external_exports.number(),external_exports.string()]).optional().describe("Maximum total tokens (input + output) across all LLM/agent tasks. Optional \u2014 when 0, no token limit is enforced."),max_duration_seconds:external_exports.number().optional().describe("Maximum wall-clock duration for the entire workflow execution in seconds. Optional \u2014 when 0, no duration limit is enforced (Temporal's own workflow execution timeout still applies)."),on_exceeded:external_exports.string().optional().describe("Policy when any budget limit is exceeded. Allowed values: budget_exceeded_terminate, budget_exceeded_human_review, budget_exceeded_warn.")});function workflowInputToProto(input){let slug=input.slug&&input.slug.length>0?input.slug:generateSlug(input.name),spec=create(WorkflowSpecSchema);if(input.description!==void 0&&(spec.description=input.description),input.document!==void 0&&(spec.document=workflowDocumentInputToProto(input.document)),input.tasks!==void 0&&(spec.tasks=input.tasks.map(workflowTaskInputToProto)),input.env!==void 0)for(let[k,v]of Object.entries(input.env))spec.env[k]=envVarDeclarationInputToProto3(v);return input.budget!==void 0&&(spec.budget=workflowBudgetInputToProto(input.budget)),Object.assign(create(WorkflowSchema),{apiVersion:"agentic.stigmer.ai/v1",kind:"Workflow",metadata:Object.assign(create(ApiResourceMetadataSchema),{name:input.name,slug,org:input.org,...input.visibility!==void 0&&{visibility:visibilityFromString(input.visibility)},...input.labels!==void 0&&{labels:input.labels},...input.tags!==void 0&&{tags:input.tags}}),spec})}function workflowDocumentInputToProto(input){let result=create(WorkflowDocumentSchema);return input.dsl!==void 0&&(result.dsl=input.dsl),input.namespace!==void 0&&(result.namespace=input.namespace),input.name!==void 0&&(result.name=input.name),input.version!==void 0&&(result.version=input.version),input.description!==void 0&&(result.description=input.description),result}function contextManagementConfigInputToProto(input){let result=create(ContextManagementConfigSchema);return input.disable_summarization!==void 0&&(result.disableSummarization=input.disable_summarization),input.custom_trigger_threshold!==void 0&&(result.customTriggerThreshold=input.custom_trigger_threshold),input.custom_target_tokens!==void 0&&(result.customTargetTokens=input.custom_target_tokens),result}function agentExecutionConfigInputToProto(input){let result=create(AgentExecutionConfigSchema);return input.model!==void 0&&(result.model=input.model),input.timeout!==void 0&&(result.timeout=input.timeout),input.temperature!==void 0&&(result.temperature=input.temperature),input.context_management!==void 0&&(result.contextManagement=contextManagementConfigInputToProto(input.context_management)),input.max_cost_micros!==void 0&&(result.maxCostMicros=BigInt(input.max_cost_micros)),result}function agentCallOutputContractInputToProto(input){let result=create(AgentCallOutputContractSchema);return input.schema!==void 0&&(result.schema=input.schema),result.onInvalid=enumFromString(OnInvalidOutputPolicy,input.on_invalid),input.max_retries!==void 0&&(result.maxRetries=input.max_retries),input.fallback_task!==void 0&&(result.fallbackTask=input.fallback_task),result}function agentCallTaskConfigInputToProto(input){let result=create(AgentCallTaskConfigSchema);return input.agent!==void 0&&(result.agent=input.agent),input.org!==void 0&&(result.org=input.org),input.message!==void 0&&(result.message=input.message),input.env!==void 0&&(result.env=input.env),input.config!==void 0&&(result.config=agentExecutionConfigInputToProto(input.config)),input.output!==void 0&&(result.output=agentCallOutputContractInputToProto(input.output)),result.harness=enumFromString(Harness,input.harness),result}function callActivityTaskConfigInputToProto(input){let result=create(CallActivityTaskConfigSchema);return input.activity!==void 0&&(result.activity=input.activity),input.input!==void 0&&(result.input=input.input),result}function emitEventInputToProto(input){let result=create(EmitEventSpecSchema);return input.type!==void 0&&(result.type=input.type),input.source!==void 0&&(result.source=input.source),input.data!==void 0&&(result.data=input.data),input.subject!==void 0&&(result.subject=input.subject),result}function emitEventTaskConfigInputToProto(input){let result=create(EmitEventTaskConfigSchema);return input.event!==void 0&&(result.event=emitEventInputToProto(input.event)),result}function evalCriterionInputToProto(input){let result=create(EvalCriterionSchema);return input.name!==void 0&&(result.name=input.name),input.description!==void 0&&(result.description=input.description),input.weight!==void 0&&(result.weight=input.weight),result}function evalTaskConfigInputToProto(input){let result=create(EvalTaskConfigSchema);return input.model!==void 0&&(result.model=input.model),input.subject!==void 0&&(result.subject=input.subject),input.rubric!==void 0&&(result.rubric=input.rubric),result.scoringMode=enumFromString(EvalScoringMode,input.scoring_mode),input.threshold!==void 0&&(result.threshold=input.threshold),result.onFail=enumFromString(EvalFailPolicy,input.on_fail),input.fallback_task!==void 0&&(result.fallbackTask=input.fallback_task),input.system_prompt!==void 0&&(result.systemPrompt=input.system_prompt),input.criteria!==void 0&&(result.criteria=input.criteria.map(evalCriterionInputToProto)),input.max_cost_micros!==void 0&&(result.maxCostMicros=BigInt(input.max_cost_micros)),result}function forTaskConfigInputToProto(input){let result=create(ForTaskConfigSchema);return input.each!==void 0&&(result.each=input.each),input.in!==void 0&&(result.in=input.in),input.do!==void 0&&(result.do=input.do.map(workflowTaskInputToProto)),input.max_parallelism!==void 0&&(result.maxParallelism=input.max_parallelism),input.batch_size!==void 0&&(result.batchSize=input.batch_size),result.onError=enumFromString(ForEachErrorPolicy,input.on_error),result}function forkBranchInputToProto(input){let result=create(ForkBranchSchema);return input.name!==void 0&&(result.name=input.name),input.do!==void 0&&(result.do=input.do.map(workflowTaskInputToProto)),result}function forkTaskConfigInputToProto(input){let result=create(ForkTaskConfigSchema);return input.branches!==void 0&&(result.branches=input.branches.map(forkBranchInputToProto)),input.compete!==void 0&&(result.compete=input.compete),result}function grpcCallTaskConfigInputToProto(input){let result=create(GrpcCallTaskConfigSchema);return input.service!==void 0&&(result.service=input.service),input.method!==void 0&&(result.method=input.method),input.request!==void 0&&(result.request=input.request),result}function httpEndpointInputToProto(input){let result=create(HttpEndpointSchema);return input.uri!==void 0&&(result.uri=input.uri),result}function httpCallTaskConfigInputToProto(input){let result=create(HttpCallTaskConfigSchema);return input.method!==void 0&&(result.method=input.method),input.endpoint!==void 0&&(result.endpoint=httpEndpointInputToProto(input.endpoint)),input.headers!==void 0&&(result.headers=input.headers),input.body!==void 0&&(result.body=input.body),input.timeout_seconds!==void 0&&(result.timeoutSeconds=input.timeout_seconds),result}function humanInputOutcomeInputToProto(input){let result=create(HumanInputOutcomeSchema);return input.name!==void 0&&(result.name=input.name),input.label!==void 0&&(result.label=input.label),input.then!==void 0&&(result.then=input.then),result}function humanInputTaskConfigInputToProto(input){let result=create(HumanInputTaskConfigSchema);return input.prompt!==void 0&&(result.prompt=input.prompt),input.form_schema!==void 0&&(result.formSchema=input.form_schema),input.outcomes!==void 0&&(result.outcomes=input.outcomes.map(humanInputOutcomeInputToProto)),input.approvers!==void 0&&(result.approvers=input.approvers),input.timeout!==void 0&&(result.timeout=input.timeout),result.onTimeout=enumFromString(HumanInputTimeoutPolicy,input.on_timeout),input.notification_channels!==void 0&&(result.notificationChannels=input.notification_channels),result}function signalInputToProto(input){let result=create(SignalSpecSchema);return input.id!==void 0&&(result.id=input.id),input.type!==void 0&&(result.type=input.type),result}function listenToInputToProto(input){let result=create(ListenToSchema);return input.mode!==void 0&&(result.mode=input.mode),input.signals!==void 0&&(result.signals=input.signals.map(signalInputToProto)),result}function listenTaskConfigInputToProto(input){let result=create(ListenTaskConfigSchema);return input.to!==void 0&&(result.to=listenToInputToProto(input.to)),result}function llmCallTaskConfigInputToProto(input){let result=create(LlmCallTaskConfigSchema);return input.model!==void 0&&(result.model=input.model),input.system_prompt!==void 0&&(result.systemPrompt=input.system_prompt),input.prompt!==void 0&&(result.prompt=input.prompt),input.response_schema!==void 0&&(result.responseSchema=input.response_schema),input.temperature!==void 0&&(result.temperature=input.temperature),input.max_tokens!==void 0&&(result.maxTokens=input.max_tokens),input.timeout!==void 0&&(result.timeout=input.timeout),result.onInvalid=enumFromString(OnInvalidOutputPolicy,input.on_invalid),input.max_retries!==void 0&&(result.maxRetries=input.max_retries),input.fallback_task!==void 0&&(result.fallbackTask=input.fallback_task),input.max_cost_micros!==void 0&&(result.maxCostMicros=BigInt(input.max_cost_micros)),input.max_total_tokens!==void 0&&(result.maxTotalTokens=BigInt(input.max_total_tokens)),result}function notificationTaskConfigInputToProto(input){let result=create(NotificationTaskConfigSchema);return input.channel!==void 0&&(result.channel=input.channel),input.recipients!==void 0&&(result.recipients=input.recipients),input.subject!==void 0&&(result.subject=input.subject),input.body!==void 0&&(result.body=input.body),input.template!==void 0&&(result.template=input.template),input.metadata!==void 0&&(result.metadata=input.metadata),result}function raiseTaskConfigInputToProto(input){let result=create(RaiseTaskConfigSchema);return input.error!==void 0&&(result.error=input.error),input.message!==void 0&&(result.message=input.message),result}function runTaskConfigInputToProto(input){let result=create(RunTaskConfigSchema);return input.workflow!==void 0&&(result.workflow=input.workflow),input.input!==void 0&&(result.input=input.input),result}function setTaskConfigInputToProto(input){let result=create(SetTaskConfigSchema);return input.variables!==void 0&&(result.variables=input.variables),result}function switchCaseInputToProto(input){let result=create(SwitchCaseSchema);return input.name!==void 0&&(result.name=input.name),input.when!==void 0&&(result.when=input.when),input.then!==void 0&&(result.then=input.then),result}function switchTaskConfigInputToProto(input){let result=create(SwitchTaskConfigSchema);return input.cases!==void 0&&(result.cases=input.cases.map(switchCaseInputToProto)),result}function transformTaskConfigInputToProto(input){let result=create(TransformTaskConfigSchema);return result.engine=enumFromString(TransformEngine,input.engine),input.expression!==void 0&&(result.expression=input.expression),input.input!==void 0&&(result.input=input.input),result}function catchBlockInputToProto(input){let result=create(CatchBlockSchema);return input.as!==void 0&&(result.as=input.as),input.do!==void 0&&(result.do=input.do.map(workflowTaskInputToProto)),input.compensate!==void 0&&(result.compensate=input.compensate),result}function tryTaskConfigInputToProto(input){let result=create(TryTaskConfigSchema);return input.try!==void 0&&(result.try=input.try.map(workflowTaskInputToProto)),input.catch!==void 0&&(result.catch=catchBlockInputToProto(input.catch)),result}function validationRuleInputToProto(input){let result=create(ValidationRuleSchema);return input.name!==void 0&&(result.name=input.name),input.expression!==void 0&&(result.expression=input.expression),input.message!==void 0&&(result.message=input.message),result}function validateTaskConfigInputToProto(input){let result=create(ValidateTaskConfigSchema);return input.input!==void 0&&(result.input=input.input),input.schema!==void 0&&(result.schema=input.schema),input.rules!==void 0&&(result.rules=input.rules.map(validationRuleInputToProto)),result.onFail=enumFromString(ValidationFailPolicy,input.on_fail),input.fallback_task!==void 0&&(result.fallbackTask=input.fallback_task),result}function durationInputToProto(input){let result=create(DurationSchema);return input.days!==void 0&&(result.days=input.days),input.hours!==void 0&&(result.hours=input.hours),input.minutes!==void 0&&(result.minutes=input.minutes),input.seconds!==void 0&&(result.seconds=input.seconds),input.milliseconds!==void 0&&(result.milliseconds=input.milliseconds),result}function waitTaskConfigInputToProto(input){let result=create(WaitTaskConfigSchema);return input.duration!==void 0&&(result.waitType={case:"duration",value:durationInputToProto(input.duration)}),input.until!==void 0&&(result.waitType={case:"until",value:toTimestamp(input.until)}),result}function exportInputToProto(input){let result=create(ExportSchema);return input.as!==void 0&&(result.as=input.as),result}function flowControlInputToProto(input){let result=create(FlowControlSchema);return input.then!==void 0&&(result.then=input.then),result}function workflowTaskInputToProto(input){let result=create(WorkflowTaskSchema);switch(input.name!==void 0&&(result.name=input.name),result.kind=enumFromString(WorkflowTaskKind,input.kind),input.export!==void 0&&(result.export=exportInputToProto(input.export)),input.flow!==void 0&&(result.flow=flowControlInputToProto(input.flow)),input.compensate!==void 0&&(result.compensate=input.compensate.map(workflowTaskInputToProto)),input.kind){case"agent_call":input.agent_call!==void 0&&(result.taskConfig=toJson(AgentCallTaskConfigSchema,agentCallTaskConfigInputToProto(input.agent_call)));break;case"activity_call":input.activity_call!==void 0&&(result.taskConfig=toJson(CallActivityTaskConfigSchema,callActivityTaskConfigInputToProto(input.activity_call)));break;case"emit_event":input.emit_event!==void 0&&(result.taskConfig=toJson(EmitEventTaskConfigSchema,emitEventTaskConfigInputToProto(input.emit_event)));break;case"eval":input.eval!==void 0&&(result.taskConfig=toJson(EvalTaskConfigSchema,evalTaskConfigInputToProto(input.eval)));break;case"for_each":input.for_each!==void 0&&(result.taskConfig=toJson(ForTaskConfigSchema,forTaskConfigInputToProto(input.for_each)));break;case"fork":input.fork!==void 0&&(result.taskConfig=toJson(ForkTaskConfigSchema,forkTaskConfigInputToProto(input.fork)));break;case"grpc_call":input.grpc_call!==void 0&&(result.taskConfig=toJson(GrpcCallTaskConfigSchema,grpcCallTaskConfigInputToProto(input.grpc_call)));break;case"http_call":input.http_call!==void 0&&(result.taskConfig=toJson(HttpCallTaskConfigSchema,httpCallTaskConfigInputToProto(input.http_call)));break;case"human_input":input.human_input!==void 0&&(result.taskConfig=toJson(HumanInputTaskConfigSchema,humanInputTaskConfigInputToProto(input.human_input)));break;case"listen":input.listen!==void 0&&(result.taskConfig=toJson(ListenTaskConfigSchema,listenTaskConfigInputToProto(input.listen)));break;case"llm_call":input.llm_call!==void 0&&(result.taskConfig=toJson(LlmCallTaskConfigSchema,llmCallTaskConfigInputToProto(input.llm_call)));break;case"notification":input.notification!==void 0&&(result.taskConfig=toJson(NotificationTaskConfigSchema,notificationTaskConfigInputToProto(input.notification)));break;case"raise_error":input.raise_error!==void 0&&(result.taskConfig=toJson(RaiseTaskConfigSchema,raiseTaskConfigInputToProto(input.raise_error)));break;case"run_workflow":input.run_workflow!==void 0&&(result.taskConfig=toJson(RunTaskConfigSchema,runTaskConfigInputToProto(input.run_workflow)));break;case"set_vars":input.set_vars!==void 0&&(result.taskConfig=toJson(SetTaskConfigSchema,setTaskConfigInputToProto(input.set_vars)));break;case"switch_case":input.switch_case!==void 0&&(result.taskConfig=toJson(SwitchTaskConfigSchema,switchTaskConfigInputToProto(input.switch_case)));break;case"transform":input.transform!==void 0&&(result.taskConfig=toJson(TransformTaskConfigSchema,transformTaskConfigInputToProto(input.transform)));break;case"try_catch":input.try_catch!==void 0&&(result.taskConfig=toJson(TryTaskConfigSchema,tryTaskConfigInputToProto(input.try_catch)));break;case"validate":input.validate!==void 0&&(result.taskConfig=toJson(ValidateTaskConfigSchema,validateTaskConfigInputToProto(input.validate)));break;case"wait":input.wait!==void 0&&(result.taskConfig=toJson(WaitTaskConfigSchema,waitTaskConfigInputToProto(input.wait)));break;default:if(input.kind!==void 0&&input.kind!=="")throw new Error(`unknown task kind: ${input.kind}`)}return result}function envVarDeclarationInputToProto3(input){let result=create(EnvVarDeclarationSchema);return input.is_secret!==void 0&&(result.isSecret=input.is_secret),input.description!==void 0&&(result.description=input.description),input.optional!==void 0&&(result.optional=input.optional),result}function workflowBudgetInputToProto(input){let result=create(WorkflowBudgetSchema);return input.max_cost_micros!==void 0&&(result.maxCostMicros=BigInt(input.max_cost_micros)),input.max_total_tokens!==void 0&&(result.maxTotalTokens=BigInt(input.max_total_tokens)),input.max_duration_seconds!==void 0&&(result.maxDurationSeconds=input.max_duration_seconds),result.onExceeded=enumFromString(BudgetExceededPolicy,input.on_exceeded),result}async function applyWorkflow(serverAddress,token,input){let workflow=workflowInputToProto(input),desc=`workflow "${workflow.metadata?.slug??""}" in org "${workflow.metadata?.org??""}"`;return withClient(WorkflowCommandController,serverAddress,token,async(client,callOptions)=>{try{let result=await client.apply(workflow,callOptions);return toProtoJson(WorkflowSchema,result)}catch(err){throw rpcError(err,desc)}})}async function deleteWorkflow(serverAddress,token,org,slug){let desc=`workflow "${slug}" in org "${org}"`;return withTransport(serverAddress,token,async(transport,callOptions)=>{let query=createClient(WorkflowQueryController,transport),id;try{id=(await query.getByReference({org,kind:ApiResourceKind.workflow,slug},callOptions)).metadata?.id??""}catch(err){throw rpcError(err,desc)}let command=createClient(WorkflowCommandController,transport);try{let deleted=await command.delete({value:id},callOptions);return toProtoJson(WorkflowSchema,deleted)}catch(err){throw rpcError(err,desc)}})}function registerWorkflowTools(server,target){return server.registerTool("get_workflow",{description:"Get full details of a Stigmer workflow by its org and slug.",inputSchema:{org:external_exports.string().describe("Organization slug that owns the workflow."),slug:external_exports.string().describe("Workflow slug \u2014 unique identifier within the org.")}},(args,extra)=>textOrError(()=>fetchWorkflow(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),server.registerTool("apply_workflow",{description:"Create or update a Stigmer workflow (idempotent). Provide identity fields (name, org) and workflow configuration (document, tasks, env, etc.).",inputSchema:WorkflowInputShape},(args,extra)=>textOrError(()=>applyWorkflow(target.serverAddress,resolveToken(extra,target.apiKey),args))),server.registerTool("delete_workflow",{description:"Delete a Stigmer workflow by its org and slug. Returns the deleted workflow.",inputSchema:{org:external_exports.string().describe("Organization slug that owns the workflow."),slug:external_exports.string().describe("Workflow slug \u2014 unique identifier within the org.")}},(args,extra)=>textOrError(()=>deleteWorkflow(target.serverAddress,resolveToken(extra,target.apiKey),args.org,args.slug))),["get_workflow","apply_workflow","delete_workflow"]}var import_yaml=__toESM(require_dist2(),1);var acceptedTaskKinds=new Set(Object.values(WorkflowTaskKind).filter(v=>typeof v=="string"&&v!=="workflow_task_kind_unspecified"));function registerValidateWorkflowYamlTool(server,target){return server.registerTool("validate_workflow_yaml",{description:"Validate a Stigmer workflow YAML for structural and semantic correctness. Uses the same Temporal-based validation pipeline as workflow create/update. Returns validation state (VALID/INVALID/FAILED), errors, warnings, and the generated internal YAML.",inputSchema:{yaml:external_exports.string().describe("Complete Stigmer workflow YAML content to validate (apiVersion, kind, metadata, spec).")}},(args,extra)=>textOrError(()=>validateWorkflowYaml(target.serverAddress,resolveToken(extra,target.apiKey),args.yaml))),["validate_workflow_yaml"]}async function validateWorkflowYaml(serverAddress,token,yamlContent){if(yamlContent.trim()==="")throw new Error("yaml is required");let workflow;try{workflow=parseWorkflowYaml(yamlContent)}catch(err){throw new Error(`failed to parse workflow YAML: ${errMessage(err)}`)}return withClient(WorkflowCommandController,serverAddress,token,async(client,callOptions)=>{try{let validation=await client.validateSpec(workflow,callOptions);return toProtoJson(ServerlessWorkflowValidationSchema,validation)}catch(err){throw rpcError(err,"workflow validation")}})}function parseWorkflowYaml(yamlContent){let raw;try{raw=(0,import_yaml.parse)(yamlContent)}catch(err){throw new Error(`invalid YAML syntax: ${errMessage(err)}`)}if(!isObject3(raw))throw new Error("missing or invalid 'spec' field");let spec=raw.spec;if(!isObject3(spec))throw new Error("missing or invalid 'spec' field");let tasks=spec.tasks;Array.isArray(tasks)&&tasks.forEach((task,i)=>{if(!isObject3(task))return;let kind=task.kind;if(typeof kind=="string"&&kind!==""&&!acceptedTaskKinds.has(kind))throw new Error(`unknown task kind "${kind}" at tasks[${i}]`)});try{return fromJson(WorkflowSchema,raw,{ignoreUnknownFields:!0})}catch(err){throw new Error(`failed to unmarshal into Workflow proto: ${errMessage(err)}`)}}function isObject3(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function errMessage(err){return err instanceof Error?err.message:String(err)}var SERVER_VERSION=process.env.STIGMER_MCP_VERSION||"dev",HTTP_SHUTDOWN_GRACE_MS=5e3,PROTECTED_RESOURCE_METADATA_PATH="/.well-known/oauth-protected-resource";function createServer(target){let server=new McpServer({name:"mcp-server-stigmer",version:SERVER_VERSION});return registerTools(server,target),registerResources(server,target),server}function registerTools(server,target){let tools=[...registerSearchTools(server,target),...registerAgentTools(server,target),...registerMcpServerTools(server,target),...registerSkillTools(server,target),...registerWorkflowTools(server,target),...registerValidateWorkflowYamlTool(server,target),...registerTaskKindTools(server,target),...registerWorkflowExecutionTools(server,target)];log.info("tools registered",{count:tools.length,tools})}function registerResources(server,target){let resources=[...registerAgentResources(server,target),...registerMcpServerResources(server,target),...registerSkillResources(server,target),...registerWorkflowResources(server,target)];log.info("resources registered",{count:resources.length,resources})}async function serveStdio(server,signal){let transport=new StdioServerTransport;return await server.connect(transport),new Promise(resolve=>{let onAbort=()=>{server.close()};signal.addEventListener("abort",onAbort,{once:!0}),server.server.onclose=()=>{signal.removeEventListener("abort",onAbort),resolve()},server.server.onerror=err=>log.error("mcp protocol error",{error:err.message})})}async function serveHttp(makeServer,cfg,signal){let sessions=new Map,httpServer=createHttpServer((req,res)=>{logAccess(req,res),routeRequest(req,res,sessions,makeServer,cfg)}),addr=`:${cfg.httpPort}`;return new Promise((resolve,reject)=>{httpServer.on("error",reject),httpServer.listen(Number(cfg.httpPort),()=>{log.info("HTTP transport listening",{addr,auth_enabled:cfg.httpAuthEnabled})}),signal.addEventListener("abort",()=>{log.info("HTTP server shutting down",{grace_period_ms:HTTP_SHUTDOWN_GRACE_MS});let force=setTimeout(()=>httpServer.closeAllConnections?.(),HTTP_SHUTDOWN_GRACE_MS);httpServer.close(err=>{clearTimeout(force);for(let transport of sessions.values())transport.close();sessions.clear(),err?reject(err):resolve()})},{once:!0})})}async function serveBoth(target,cfg,signal){let linked=new AbortController,onParentAbort=()=>linked.abort();signal.addEventListener("abort",onParentAbort,{once:!0});let tasks=[serveStdio(createServer(target),linked.signal),serveHttp(()=>createServer(target),cfg,linked.signal)];try{await Promise.race(tasks)}finally{linked.abort(),await Promise.allSettled(tasks),signal.removeEventListener("abort",onParentAbort)}}async function routeRequest(req,res,sessions,makeServer,cfg){if(req.method==="GET"&&req.url==="/health"){res.writeHead(200,{"Content-Type":"application/json"}),res.end(`{"status":"ok"}
|
|
199
|
+
`);return}if(cfg.oauth.enabled&&requestPath(req)===PROTECTED_RESOURCE_METADATA_PATH){serveProtectedResourceMetadata(req,res,cfg);return}if(cfg.httpAuthEnabled){let token=extractBearerToken(req);if(token===""){let headers={"Content-Type":"text/plain"};cfg.oauth.enabled&&(headers["WWW-Authenticate"]=bearerChallenge(cfg)),res.writeHead(401,headers),res.end("missing or malformed Authorization: Bearer header");return}req.auth={token,clientId:"stigmer-mcp-passthrough",scopes:[]}}let sessionId=headerValue(req,"mcp-session-id");if(sessionId!==void 0){let transport2=sessions.get(sessionId);if(transport2===void 0){res.writeHead(404,{"Content-Type":"text/plain"}),res.end("unknown or expired MCP session");return}await transport2.handleRequest(req,res);return}if(req.method!=="POST"){res.writeHead(400,{"Content-Type":"text/plain"}),res.end("missing Mcp-Session-Id header");return}let body=await readJsonBody(req);if(!isInitializeRequest(body)){res.writeHead(400,{"Content-Type":"text/plain"}),res.end("Bad Request: an initialize request is required to open a session");return}let transport=new StreamableHTTPServerTransport({sessionIdGenerator:()=>randomUUID(),onsessioninitialized:id=>{sessions.set(id,transport)},onsessionclosed:id=>{sessions.delete(id)}});transport.onclose=()=>{transport.sessionId!==void 0&&sessions.delete(transport.sessionId)},await makeServer().connect(transport),await transport.handleRequest(req,res,body)}function headerValue(req,name){let v=req.headers[name];return Array.isArray(v)?v[0]:v}function readJsonBody(req){return new Promise((resolve,reject)=>{let chunks=[];req.on("data",chunk=>chunks.push(chunk)),req.on("end",()=>{let raw=Buffer.concat(chunks).toString("utf8");try{resolve(raw===""?null:JSON.parse(raw))}catch(err){reject(err)}}),req.on("error",reject)})}function requestPath(req){let url=req.url??"/",q=url.indexOf("?");return q===-1?url:url.slice(0,q)}function logAccess(req,res){let start=Date.now(),requestId=randomBytes(8).toString("hex");res.on("finish",()=>{log.info("http request",{request_id:requestId,method:req.method,path:requestPath(req),status:res.statusCode,duration_ms:Date.now()-start})})}function serveProtectedResourceMetadata(req,res,cfg){if(res.setHeader("Access-Control-Allow-Origin","*"),req.method==="OPTIONS"){res.setHeader("Access-Control-Allow-Methods","GET, OPTIONS"),res.setHeader("Access-Control-Allow-Headers","*"),res.writeHead(204),res.end();return}let metadata={resource:cfg.oauth.resource,authorization_servers:cfg.oauth.authorizationServers,bearer_methods_supported:["header"],resource_name:"Stigmer MCP Server"};cfg.oauth.scopesSupported.length>0&&(metadata.scopes_supported=cfg.oauth.scopesSupported),res.writeHead(200,{"Content-Type":"application/json"}),res.end(JSON.stringify(metadata))}function bearerChallenge(cfg){let params=['realm="stigmer"',`resource_metadata="${cfg.oauth.resource.replace(/\/+$/,"")+PROTECTED_RESOURCE_METADATA_PATH}"`];return cfg.oauth.scopesSupported.length>0&¶ms.push(`scope="${cfg.oauth.scopesSupported.join(" ")}"`),"Bearer "+params.join(", ")}function extractBearerToken(req){let header=req.headers.authorization;if(!header)return"";let prefix="Bearer ";return header.startsWith(prefix)?header.slice(prefix.length).trim():""}function isNormalShutdown(err){if(err==null||err.name==="AbortError")return!0;let code=err.code;if(code==="EPIPE"||code==="ABORT_ERR"||code==="ECONNRESET")return!0;let message=err instanceof Error?err.message:String(err);return message.includes("EOF")||message.includes("broken pipe")}function defaultConfig(){return loadConfigFromEnv()}async function run(cfg,signal){configureLogger({level:cfg.logLevel,format:cfg.logFormat}),validateConfig(cfg),log.info("mcp-server-stigmer starting",{transport:cfg.transport});let target={serverAddress:cfg.stigmerServerAddress,apiKey:cfg.apiKey};try{switch(cfg.transport){case"stdio":await serveStdio(createServer(target),signal);break;case"http":await serveHttp(()=>createServer(target),cfg,signal);break;case"both":await serveBoth(target,cfg,signal);break}}catch(err){if(!isNormalShutdown(err))throw log.error("mcp-server-stigmer stopped",{error:err instanceof Error?err.message:String(err)}),err}log.info("mcp-server-stigmer stopped")}var VALID_TRANSPORTS2=["stdio","http","both"];async function main(){let cfg=defaultConfig(),sub=process.argv[2];sub!==void 0&&(VALID_TRANSPORTS2.includes(sub)||(process.stderr.write(`unknown subcommand "${sub}" (expected stdio, http, or both)
|
|
200
|
+
`),process.exit(1)),cfg={...cfg,transport:sub});let controller=new AbortController,shutdown=()=>controller.abort();process.once("SIGINT",shutdown),process.once("SIGTERM",shutdown),await run(cfg,controller.signal)}main().catch(err=>{process.stderr.write(`fatal: ${err instanceof Error?err.message:String(err)}
|
|
201
|
+
`),process.exit(1)});
|