@zonease/aiworker-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +360 -0
- package/aiworker.js +417 -0
- package/package.json +25 -0
package/aiworker.js
ADDED
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
// @bun
|
|
3
|
+
var lR=Object.create;var{getPrototypeOf:iR,defineProperty:C5,getOwnPropertyNames:nR}=Object;var sR=Object.prototype.hasOwnProperty;function rR(D){return this[D]}var oR,aR,tR=(D,$,F)=>{var X=D!=null&&typeof D==="object";if(X){var J=$?oR??=new WeakMap:aR??=new WeakMap,Y=J.get(D);if(Y)return Y}F=D!=null?lR(iR(D)):{};let G=$||!D||!D.__esModule?C5(F,"default",{value:D,enumerable:!0}):F;for(let B of nR(D))if(!sR.call(G,B))C5(G,B,{get:rR.bind(D,B),enumerable:!0});if(X)J.set(D,G);return G};var S=(D,$)=>()=>($||D(($={exports:{}}).exports,$),$.exports);var eR=(D)=>D;function DO(D,$){this[D]=eR.bind(null,$)}var W1=(D,$)=>{for(var F in $)C5(D,F,{get:$[F],enumerable:!0,configurable:!0,set:DO.bind($,F)})};var R=(D,$)=>()=>(D&&($=D(D=0)),$);var x2=import.meta.require;function q5(D){if(D===null||typeof D!=="object")return!1;let $=Object.getPrototypeOf(D);if($!==null&&$!==Object.prototype&&Object.getPrototypeOf($)!==null)return!1;if(Symbol.iterator in D)return!1;if(Symbol.toStringTag in D)return Object.prototype.toString.call(D)==="[object Module]";return!0}function L5(D,$,F=".",X){if(!q5($))return L5(D,{},F,X);let J=Object.assign({},$);for(let Y in D){if(Y==="__proto__"||Y==="constructor")continue;let G=D[Y];if(G===null||G===void 0)continue;if(X&&X(J,Y,G,F))continue;if(Array.isArray(G)&&Array.isArray(J[Y]))J[Y]=[...G,...J[Y]];else if(q5(G)&&q5(J[Y]))J[Y]=L5(G,J[Y],(F?`${F}.`:"")+Y.toString(),X);else J[Y]=G}return J}function VO(D){return(...$)=>$.reduce((F,X)=>L5(F,X,"",D),{})}function EO(D){return Object.prototype.toString.call(D)==="[object Object]"}function KO(D){if(!EO(D))return!1;if(!D.message&&!D.args)return!1;if(D.stack)return!1;return!0}class mD{options;_lastLog;_mockFn;constructor(D={}){let $=D.types||Z5;this.options=QO({...D,defaults:{...D.defaults},level:P5(D.level,$),reporters:[...D.reporters||[]]},{types:Z5,throttle:1000,throttleMin:5,formatOptions:{date:!0,colors:!1,compact:!0}});for(let F in $){let X={type:F,...this.options.defaults,...$[F]};this[F]=this._wrapLogFn(X),this[F].raw=this._wrapLogFn(X,!0)}if(this.options.mockFn)this.mockTypes();this._lastLog={}}get level(){return this.options.level}set level(D){this.options.level=P5(D,this.options.types,this.options.level)}prompt(D,$){if(!this.options.prompt)throw Error("prompt is not supported!");return this.options.prompt(D,$)}create(D){let $=new mD({...this.options,...D});if(this._mockFn)$.mockTypes(this._mockFn);return $}withDefaults(D){return this.create({...this.options,defaults:{...this.options.defaults,...D}})}withTag(D){return this.withDefaults({tag:this.options.defaults.tag?this.options.defaults.tag+":"+D:D})}addReporter(D){return this.options.reporters.push(D),this}removeReporter(D){if(D){let $=this.options.reporters.indexOf(D);if($!==-1)return this.options.reporters.splice($,1)}else this.options.reporters.splice(0);return this}setReporters(D){return this.options.reporters=Array.isArray(D)?D:[D],this}wrapAll(){this.wrapConsole(),this.wrapStd()}restoreAll(){this.restoreConsole(),this.restoreStd()}wrapConsole(){for(let D in this.options.types){if(!console["__"+D])console["__"+D]=console[D];console[D]=this[D].raw}}restoreConsole(){for(let D in this.options.types)if(console["__"+D])console[D]=console["__"+D],delete console["__"+D]}wrapStd(){this._wrapStream(this.options.stdout,"log"),this._wrapStream(this.options.stderr,"log")}_wrapStream(D,$){if(!D)return;if(!D.__write)D.__write=D.write;D.write=(F)=>{this[$].raw(String(F).trim())}}restoreStd(){this._restoreStream(this.options.stdout),this._restoreStream(this.options.stderr)}_restoreStream(D){if(!D)return;if(D.__write)D.write=D.__write,delete D.__write}pauseLogs(){N5=!0}resumeLogs(){N5=!1;let D=IG.splice(0);for(let $ of D)$[0]._logFn($[1],$[2])}mockTypes(D){let $=D||this.options.mockFn;if(this._mockFn=$,typeof $!=="function")return;for(let F in this.options.types)this[F]=$(F,this.options.types[F])||this[F],this[F].raw=this[F]}_wrapLogFn(D,$){return(...F)=>{if(N5){IG.push([this,D,F,$]);return}return this._logFn(D,F,$)}}_logFn(D,$,F){if((D.level||0)>this.level)return!1;let X={date:new Date,args:[],...D,level:P5(D.level,this.options.types)};if(!F&&$.length===1&&KO($[0]))Object.assign(X,$[0]);else X.args=[...$];if(X.message)X.args.unshift(X.message),delete X.message;if(X.additional){if(!Array.isArray(X.additional))X.additional=X.additional.split(`
|
|
4
|
+
`);X.args.push(`
|
|
5
|
+
`+X.additional.join(`
|
|
6
|
+
`)),delete X.additional}X.type=typeof X.type==="string"?X.type.toLowerCase():"log",X.tag=typeof X.tag==="string"?X.tag:"";let J=(G=!1)=>{let B=(this._lastLog.count||0)-this.options.throttleMin;if(this._lastLog.object&&B>0){let H=[...this._lastLog.object.args];if(B>1)H.push(`(repeated ${B} times)`);this._log({...this._lastLog.object,args:H}),this._lastLog.count=1}if(G)this._lastLog.object=X,this._log(X)};clearTimeout(this._lastLog.timeout);let Y=this._lastLog.time&&X.date?X.date.getTime()-this._lastLog.time.getTime():0;if(this._lastLog.time=X.date,Y<this.options.throttle)try{let G=JSON.stringify([X.type,X.tag,X.args]),B=this._lastLog.serialized===G;if(this._lastLog.serialized=G,B){if(this._lastLog.count=(this._lastLog.count||0)+1,this._lastLog.count>this.options.throttleMin){this._lastLog.timeout=setTimeout(J,this.options.throttle);return}}}catch{}J(!0)}_log(D){for(let $ of this.options.reporters)$.log(D,{options:this.options})}}function P5(D,$={},F=3){if(D===void 0)return F;if(typeof D==="number")return D;if($[D]&&$[D].level!==void 0)return $[D].level;return F}function TG(D={}){return new mD(D)}var lD,Z5,QO,N5=!1,IG;var z5=R(()=>{lD={silent:Number.NEGATIVE_INFINITY,fatal:0,error:0,warn:1,log:2,info:3,success:3,fail:3,ready:3,start:3,box:3,debug:4,trace:5,verbose:Number.POSITIVE_INFINITY},Z5={silent:{level:-1},fatal:{level:lD.fatal},error:{level:lD.error},warn:{level:lD.warn},log:{level:lD.log},info:{level:lD.info},success:{level:lD.success},fail:{level:lD.fail},ready:{level:lD.info},start:{level:lD.info},box:{level:lD.info},debug:{level:lD.debug},trace:{level:lD.trace},verbose:{level:lD.verbose}};QO=VO();IG=[];mD.prototype.add=mD.prototype.addReporter;mD.prototype.remove=mD.prototype.removeReporter;mD.prototype.clear=mD.prototype.removeReporter;mD.prototype.withScope=mD.prototype.withTag;mD.prototype.mock=mD.prototype.mockTypes;mD.prototype.pause=mD.prototype.pauseLogs;mD.prototype.resume=mD.prototype.resumeLogs});import{formatWithOptions as SG}from"util";import{sep as CO}from"path";function w5(D,$){let F=process.cwd()+CO;return D.split(`
|
|
7
|
+
`).splice($.split(`
|
|
8
|
+
`).length).map((J)=>J.trim().replace("file://","").replace(F,""))}function RO(D,$){return($.__write||$.write).call($,D)}class Q9{formatStack(D,$,F){let X=" ".repeat((F?.errorLevel||0)+1);return X+w5(D,$).join(`
|
|
9
|
+
${X}`)}formatError(D,$){let F=D.message??SG($,D),X=D.stack?this.formatStack(D.stack,F,$):"",J=$?.errorLevel||0,Y=J>0?`${" ".repeat(J)}[cause]: `:"",G=D.cause?`
|
|
10
|
+
|
|
11
|
+
`+this.formatError(D.cause,{...$,errorLevel:J+1}):"";return Y+F+`
|
|
12
|
+
`+X+G}formatArgs(D,$){let F=D.map((X)=>{if(X&&typeof X.stack==="string")return this.formatError(X,$);return X});return SG($,...F)}formatDate(D,$){return $.date?D.toLocaleTimeString():""}filterAndJoin(D){return D.filter(Boolean).join(" ")}formatLogObj(D,$){let F=this.formatArgs(D.args,$);if(D.type==="box")return`
|
|
13
|
+
`+[j5(D.tag),D.title&&D.title,...F.split(`
|
|
14
|
+
`)].filter(Boolean).map((X)=>" > "+X).join(`
|
|
15
|
+
`)+`
|
|
16
|
+
`;return this.filterAndJoin([j5(D.type),j5(D.tag),F])}log(D,$){let F=this.formatLogObj(D,{columns:$.options.stdout.columns||0,...$.options.formatOptions});return RO(F+`
|
|
17
|
+
`,D.level<2?$.options.stderr||process.stderr:$.options.stdout||process.stdout)}}var j5=(D)=>D?`[${D}]`:"";var fG=()=>{};import*as E9 from"tty";function hG(D,$,F,X,J=$.slice(0,Math.max(0,D))+X,Y=$.slice(Math.max(0,D+F.length)),G=Y.indexOf(F)){return J+(G<0?Y:hG(G,Y,F,X))}function zO(D,$,F,X,J){return D<0?F+$+X:F+hG(D,$,X,J)+X}function jO(D,$,F=D,X=D.length+1){return(J)=>J||!(J===""||J===void 0)?zO((""+J).indexOf($,X),J,D,$,F):""}function t(D,$,F){return jO(`\x1B[${D}m`,`\x1B[${$}m`,F)}function wO(D=LO){return D?bG:Object.fromEntries(Object.keys(bG).map(($)=>[$,String]))}function IO(D,$="reset"){return J0[D]||J0[$]}function y2(D){return D.replace(new RegExp(TO,"g"),"")}function xG(D,$={}){let F={...$,style:{...SO,...$.style}},X=D.split(`
|
|
18
|
+
`),J=[],Y=IO(F.style.borderColor),G={...typeof F.style.borderStyle==="string"?kG[F.style.borderStyle]||kG.solid:F.style.borderStyle};if(Y)for(let E in G)G[E]=Y(G[E]);let B=F.style.padding%2===0?F.style.padding:F.style.padding+1,H=X.length+B,W=Math.max(...X.map((E)=>y2(E).length),F.title?y2(F.title).length:0)+B,U=W+B,A=F.style.marginLeft>0?" ".repeat(F.style.marginLeft):"";if(F.style.marginTop>0)J.push("".repeat(F.style.marginTop));if(F.title){let E=Y?Y(F.title):F.title,C=G.h.repeat(Math.floor((W-y2(F.title).length)/2)),K=G.h.repeat(W-y2(F.title).length-y2(C).length+B);J.push(`${A}${G.tl}${C}${E}${K}${G.tr}`)}else J.push(`${A}${G.tl}${G.h.repeat(U)}${G.tr}`);let V=F.style.valign==="center"?Math.floor((H-X.length)/2):F.style.valign==="top"?H-X.length-B:H-X.length;for(let E=0;E<H;E++)if(E<V||E>=V+X.length)J.push(`${A}${G.v}${" ".repeat(U)}${G.v}`);else{let C=X[E-V],K=" ".repeat(B),Q=" ".repeat(W-y2(C).length);J.push(`${A}${G.v}${K}${C}${Q}${G.v}`)}if(J.push(`${A}${G.bl}${G.h.repeat(U)}${G.br}`),F.style.marginBottom>0)J.push("".repeat(F.style.marginBottom));return J.join(`
|
|
19
|
+
`)}var u2,vG,OO,MO,qO,NO,gG,PO,ZO,LO,bG,J0,TO,kG,SO;var yG=R(()=>{({env:u2={},argv:vG=[],platform:OO=""}=typeof process>"u"?{}:process),MO="NO_COLOR"in u2||vG.includes("--no-color"),qO="FORCE_COLOR"in u2||vG.includes("--color"),NO=OO==="win32",gG=u2.TERM==="dumb",PO=E9&&E9.isatty&&E9.isatty(1)&&u2.TERM&&!gG,ZO="CI"in u2&&(("GITHUB_ACTIONS"in u2)||("GITLAB_CI"in u2)||("CIRCLECI"in u2)),LO=!MO&&(qO||NO&&!gG||PO||ZO);bG={reset:t(0,0),bold:t(1,22,"\x1B[22m\x1B[1m"),dim:t(2,22,"\x1B[22m\x1B[2m"),italic:t(3,23),underline:t(4,24),inverse:t(7,27),hidden:t(8,28),strikethrough:t(9,29),black:t(30,39),red:t(31,39),green:t(32,39),yellow:t(33,39),blue:t(34,39),magenta:t(35,39),cyan:t(36,39),white:t(37,39),gray:t(90,39),bgBlack:t(40,49),bgRed:t(41,49),bgGreen:t(42,49),bgYellow:t(43,49),bgBlue:t(44,49),bgMagenta:t(45,49),bgCyan:t(46,49),bgWhite:t(47,49),blackBright:t(90,39),redBright:t(91,39),greenBright:t(92,39),yellowBright:t(93,39),blueBright:t(94,39),magentaBright:t(95,39),cyanBright:t(96,39),whiteBright:t(97,39),bgBlackBright:t(100,49),bgRedBright:t(101,49),bgGreenBright:t(102,49),bgYellowBright:t(103,49),bgBlueBright:t(104,49),bgMagentaBright:t(105,49),bgCyanBright:t(106,49),bgWhiteBright:t(107,49)};J0=wO();TO=[String.raw`[\u001B\u009B][[\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\d\/#&.:=?%@~_]+)*|[a-zA-Z\d]+(?:;[-a-zA-Z\d\/#&.:=?%@~_]*)*)?\u0007)`,String.raw`(?:(?:\d{1,4}(?:;\d{0,4})*)?[\dA-PR-TZcf-nq-uy=><~]))`].join("|");kG={solid:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502"},double:{tl:"\u2554",tr:"\u2557",bl:"\u255A",br:"\u255D",h:"\u2550",v:"\u2551"},doubleSingle:{tl:"\u2553",tr:"\u2556",bl:"\u2559",br:"\u255C",h:"\u2500",v:"\u2551"},doubleSingleRounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2551"},singleThick:{tl:"\u250F",tr:"\u2513",bl:"\u2517",br:"\u251B",h:"\u2501",v:"\u2503"},singleDouble:{tl:"\u2552",tr:"\u2555",bl:"\u2558",br:"\u255B",h:"\u2550",v:"\u2502"},singleDoubleRounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2550",v:"\u2502"},rounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2502"}},SO={borderColor:"white",borderStyle:"rounded",valign:"center",padding:2,marginLeft:1,marginTop:1,marginBottom:1}});var _Y={};W1(_Y,{prompt:()=>WY,kCancel:()=>HY});import y0,{stdin as fO,stdout as bO}from"process";import uG from"readline";import{WriteStream as kO}from"tty";function vO(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function gO(){if(mG)return I5;mG=1;let D="\x1B",$=`${D}[`,F="\x07",X={to(G,B){if(!B)return`${$}${G+1}G`;return`${$}${B+1};${G+1}H`},move(G,B){let H="";if(G<0)H+=`${$}${-G}D`;else if(G>0)H+=`${$}${G}C`;if(B<0)H+=`${$}${-B}A`;else if(B>0)H+=`${$}${B}B`;return H},up:(G=1)=>`${$}${G}A`,down:(G=1)=>`${$}${G}B`,forward:(G=1)=>`${$}${G}C`,backward:(G=1)=>`${$}${G}D`,nextLine:(G=1)=>`${$}E`.repeat(G),prevLine:(G=1)=>`${$}F`.repeat(G),left:`${$}G`,hide:`${$}?25l`,show:`${$}?25h`,save:`${D}7`,restore:`${D}8`},J={up:(G=1)=>`${$}S`.repeat(G),down:(G=1)=>`${$}T`.repeat(G)},Y={screen:`${$}2J`,up:(G=1)=>`${$}1J`.repeat(G),down:(G=1)=>`${$}J`.repeat(G),line:`${$}2K`,lineEnd:`${$}K`,lineStart:`${$}1K`,lines(G){let B="";for(let H=0;H<G;H++)B+=this.line+(H<G-1?X.up():"");if(G)B+=X.left;return B}};return I5={cursor:X,scroll:J,erase:Y,beep:F},I5}function hO(){if(pG)return K9.exports;pG=1;let D=process||{},$=D.argv||[],F=D.env||{},X=!(!!F.NO_COLOR||$.includes("--no-color"))&&(!!F.FORCE_COLOR||$.includes("--color")||D.platform==="win32"||(D.stdout||{}).isTTY&&F.TERM!=="dumb"||!!F.CI),J=(B,H,W=B)=>(U)=>{let A=""+U,V=A.indexOf(H,B.length);return~V?B+Y(A,H,W,V)+H:B+A+H},Y=(B,H,W,U)=>{let A="",V=0;do A+=B.substring(V,U)+W,V=U+H.length,U=B.indexOf(H,V);while(~U);return A+B.substring(V)},G=(B=X)=>{let H=B?J:()=>String;return{isColorSupported:B,reset:H("\x1B[0m","\x1B[0m"),bold:H("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:H("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:H("\x1B[3m","\x1B[23m"),underline:H("\x1B[4m","\x1B[24m"),inverse:H("\x1B[7m","\x1B[27m"),hidden:H("\x1B[8m","\x1B[28m"),strikethrough:H("\x1B[9m","\x1B[29m"),black:H("\x1B[30m","\x1B[39m"),red:H("\x1B[31m","\x1B[39m"),green:H("\x1B[32m","\x1B[39m"),yellow:H("\x1B[33m","\x1B[39m"),blue:H("\x1B[34m","\x1B[39m"),magenta:H("\x1B[35m","\x1B[39m"),cyan:H("\x1B[36m","\x1B[39m"),white:H("\x1B[37m","\x1B[39m"),gray:H("\x1B[90m","\x1B[39m"),bgBlack:H("\x1B[40m","\x1B[49m"),bgRed:H("\x1B[41m","\x1B[49m"),bgGreen:H("\x1B[42m","\x1B[49m"),bgYellow:H("\x1B[43m","\x1B[49m"),bgBlue:H("\x1B[44m","\x1B[49m"),bgMagenta:H("\x1B[45m","\x1B[49m"),bgCyan:H("\x1B[46m","\x1B[49m"),bgWhite:H("\x1B[47m","\x1B[49m"),blackBright:H("\x1B[90m","\x1B[39m"),redBright:H("\x1B[91m","\x1B[39m"),greenBright:H("\x1B[92m","\x1B[39m"),yellowBright:H("\x1B[93m","\x1B[39m"),blueBright:H("\x1B[94m","\x1B[39m"),magentaBright:H("\x1B[95m","\x1B[39m"),cyanBright:H("\x1B[96m","\x1B[39m"),whiteBright:H("\x1B[97m","\x1B[39m"),bgBlackBright:H("\x1B[100m","\x1B[49m"),bgRedBright:H("\x1B[101m","\x1B[49m"),bgGreenBright:H("\x1B[102m","\x1B[49m"),bgYellowBright:H("\x1B[103m","\x1B[49m"),bgBlueBright:H("\x1B[104m","\x1B[49m"),bgMagentaBright:H("\x1B[105m","\x1B[49m"),bgCyanBright:H("\x1B[106m","\x1B[49m"),bgWhiteBright:H("\x1B[107m","\x1B[49m")}};return K9.exports=G(),K9.exports.createColors=G,K9.exports}function yO({onlyFirst:D=!1}={}){let $=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp($,D?void 0:"g")}function eG(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(uO,"")}function DY(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function N6(D,$={}){if(typeof D!="string"||D.length===0||($={ambiguousIsNarrow:!0,...$},D=eG(D),D.length===0))return 0;D=D.replace(dO()," ");let F=$.ambiguousIsNarrow?1:2,X=0;for(let J of D){let Y=J.codePointAt(0);if(Y<=31||Y>=127&&Y<=159||Y>=768&&Y<=879)continue;switch(pO.eastAsianWidth(J)){case"F":case"W":X+=2;break;case"A":X+=F;break;default:X+=1}}return X}function nO(){let D=new Map;for(let[$,F]of Object.entries(ND)){for(let[X,J]of Object.entries(F))ND[X]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},F[X]=ND[X],D.set(J[0],J[1]);Object.defineProperty(ND,$,{value:F,enumerable:!1})}return Object.defineProperty(ND,"codes",{value:D,enumerable:!1}),ND.color.close="\x1B[39m",ND.bgColor.close="\x1B[49m",ND.color.ansi=cG(),ND.color.ansi256=dG(),ND.color.ansi16m=lG(),ND.bgColor.ansi=cG(T5),ND.bgColor.ansi256=dG(T5),ND.bgColor.ansi16m=lG(T5),Object.defineProperties(ND,{rgbToAnsi256:{value:($,F,X)=>$===F&&F===X?$<8?16:$>248?231:Math.round(($-8)/247*24)+232:16+36*Math.round($/255*5)+6*Math.round(F/255*5)+Math.round(X/255*5),enumerable:!1},hexToRgb:{value:($)=>{let F=/[a-f\d]{6}|[a-f\d]{3}/i.exec($.toString(16));if(!F)return[0,0,0];let[X]=F;X.length===3&&(X=[...X].map((Y)=>Y+Y).join(""));let J=Number.parseInt(X,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:($)=>ND.rgbToAnsi256(...ND.hexToRgb($)),enumerable:!1},ansi256ToAnsi:{value:($)=>{if($<8)return 30+$;if($<16)return 90+($-8);let F,X,J;if($>=232)F=(($-232)*10+8)/255,X=F,J=F;else{$-=16;let B=$%36;F=Math.floor($/36)/5,X=Math.floor(B/6)/5,J=B%6/5}let Y=Math.max(F,X,J)*2;if(Y===0)return 30;let G=30+(Math.round(J)<<2|Math.round(X)<<1|Math.round(F));return Y===2&&(G+=60),G},enumerable:!1},rgbToAnsi:{value:($,F,X)=>ND.ansi256ToAnsi(ND.rgbToAnsi256($,F,X)),enumerable:!1},hexToAnsi:{value:($)=>ND.ansi256ToAnsi(ND.hexToAnsi256($)),enumerable:!1}}),ND}function sG(D,$,F){return String(D).normalize().replace(/\r\n/g,`
|
|
20
|
+
`).split(`
|
|
21
|
+
`).map((X)=>eO(X,$,F)).join(`
|
|
22
|
+
`)}function JY(D,$){if(typeof D=="string")return R9.aliases.get(D)===$;for(let F of D)if(F!==void 0&&JY(F,$))return!0;return!1}function $M(D,$){if(D===$)return;let F=D.split(`
|
|
23
|
+
`),X=$.split(`
|
|
24
|
+
`),J=[];for(let Y=0;Y<Math.max(F.length,X.length);Y++)F[Y]!==X[Y]&&J.push(Y);return J}function C9(D,$){let F=D;F.isTTY&&F.setRawMode($)}class P6{constructor(D,$=!0){V0(this,"input"),V0(this,"output"),V0(this,"_abortSignal"),V0(this,"rl"),V0(this,"opts"),V0(this,"_render"),V0(this,"_track",!1),V0(this,"_prevFrame",""),V0(this,"_subscribers",new Map),V0(this,"_cursor",0),V0(this,"state","initial"),V0(this,"error",""),V0(this,"value");let{input:F=fO,output:X=bO,render:J,signal:Y,...G}=D;this.opts=G,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=J.bind(this),this._track=$,this._abortSignal=Y,this.input=F,this.output=X}unsubscribe(){this._subscribers.clear()}setSubscriber(D,$){let F=this._subscribers.get(D)??[];F.push($),this._subscribers.set(D,F)}on(D,$){this.setSubscriber(D,{cb:$})}once(D,$){this.setSubscriber(D,{cb:$,once:!0})}emit(D,...$){let F=this._subscribers.get(D)??[],X=[];for(let J of F)J.cb(...$),J.once&&X.push(()=>F.splice(F.indexOf(J),1));for(let J of X)J()}prompt(){return new Promise((D,$)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(rG);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let F=new kO(0);F._write=(X,J,Y)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),Y()},this.input.pipe(F),this.rl=uG.createInterface({input:this.input,output:F,tabSize:2,prompt:"",escapeCodeTimeout:50}),uG.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),C9(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(u0.cursor.show),this.output.off("resize",this.render),C9(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(u0.cursor.show),this.output.off("resize",this.render),C9(this.input,!1),D(rG)})})}onKeypress(D,$){if(this.state==="error"&&(this.state="active"),$?.name&&(!this._track&&R9.aliases.has($.name)&&this.emit("cursor",R9.aliases.get($.name)),R9.actions.has($.name)&&this.emit("cursor",$.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),D==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),D&&this.emit("key",D.toLowerCase()),$?.name==="return"){if(this.opts.validate){let F=this.opts.validate(this.value);F&&(this.error=F instanceof Error?F.message:F,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}JY([D,$?.name,$?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
25
|
+
`),C9(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=sG(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
26
|
+
`).length-1;this.output.write(u0.cursor.move(-999,D*-1))}render(){let D=sG(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(u0.cursor.hide);else{let $=$M(this._prevFrame,D);if(this.restoreCursor(),$&&$?.length===1){let F=$[0];this.output.write(u0.cursor.move(0,F)),this.output.write(u0.erase.lines(1));let X=D.split(`
|
|
27
|
+
`);this.output.write(X[F]),this._prevFrame=D,this.output.write(u0.cursor.move(0,X.length-F-1));return}if($&&$?.length>1){let F=$[0];this.output.write(u0.cursor.move(0,F)),this.output.write(u0.erase.down());let X=D.split(`
|
|
28
|
+
`).slice(F);this.output.write(X.join(`
|
|
29
|
+
`)),this._prevFrame=D;return}this.output.write(u0.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}function WM(){return y0.platform!=="win32"?y0.env.TERM!=="linux":!!y0.env.CI||!!y0.env.WT_SESSION||!!y0.env.TERMINUS_SUBLIME||y0.env.ConEmuTask==="{cmd::Cmder}"||y0.env.TERM_PROGRAM==="Terminus-Sublime"||y0.env.TERM_PROGRAM==="vscode"||y0.env.TERM==="xterm-256color"||y0.env.TERM==="alacritty"||y0.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}async function WY(D,$={}){let F=(X)=>{if(typeof X!=="symbol"||X.toString()!=="Symbol(clack:cancel)")return X;switch($.cancel){case"reject":{let J=Error("Prompt cancelled.");if(J.name="ConsolaPromptCancelledError",Error.captureStackTrace)Error.captureStackTrace(J,WY);throw J}case"undefined":return;case"null":return null;case"symbol":return HY;default:case"default":return $.default??$.initial}};if(!$.type||$.type==="text")return await CM({message:D,defaultValue:$.default,placeholder:$.placeholder,initialValue:$.initial}).then(F);if($.type==="confirm")return await RM({message:D,initialValue:$.initial}).then(F);if($.type==="select")return await OM({message:D,options:$.options.map((X)=>typeof X==="string"?{value:X,label:X}:X),initialValue:$.initial}).then(F);if($.type==="multiselect")return await MM({message:D,options:$.options.map((X)=>typeof X==="string"?{value:X,label:X}:X),required:$.required,initialValues:$.initial}).then(F);throw Error(`Unknown prompt type: ${$.type}`)}var I5,mG,u0,K9,pG,xO,f,uO,$Y,mO,pO,cO=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},dO,T5=10,cG=(D=0)=>($)=>`\x1B[${$+D}m`,dG=(D=0)=>($)=>`\x1B[${38+D};5;${$}m`,lG=(D=0)=>($,F,X)=>`\x1B[${38+D};2;${$};${F};${X}m`,ND,lO,iO,sO,O9,rO=39,v5="\x07",FY="[",oO="]",XY="m",g5,iG=(D)=>`${O9.values().next().value}${FY}${D}${XY}`,nG=(D)=>`${O9.values().next().value}${g5}${D}${v5}`,aO=(D)=>D.split(" ").map(($)=>N6($)),S5=(D,$,F)=>{let X=[...$],J=!1,Y=!1,G=N6(eG(D[D.length-1]));for(let[B,H]of X.entries()){let W=N6(H);if(G+W<=F?D[D.length-1]+=H:(D.push(H),G=0),O9.has(H)&&(J=!0,Y=X.slice(B+1).join("").startsWith(g5)),J){Y?H===v5&&(J=!1,Y=!1):H===XY&&(J=!1);continue}G+=W,G===F&&B<X.length-1&&(D.push(""),G=0)}!G&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},tO=(D)=>{let $=D.split(" "),F=$.length;for(;F>0&&!(N6($[F-1])>0);)F--;return F===$.length?D:$.slice(0,F).join(" ")+$.slice(F).join("")},eO=(D,$,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let X="",J,Y,G=aO(D),B=[""];for(let[W,U]of D.split(" ").entries()){F.trim!==!1&&(B[B.length-1]=B[B.length-1].trimStart());let A=N6(B[B.length-1]);if(W!==0&&(A>=$&&(F.wordWrap===!1||F.trim===!1)&&(B.push(""),A=0),(A>0||F.trim===!1)&&(B[B.length-1]+=" ",A++)),F.hard&&G[W]>$){let V=$-A,E=1+Math.floor((G[W]-V-1)/$);Math.floor((G[W]-1)/$)<E&&B.push(""),S5(B,U,$);continue}if(A+G[W]>$&&A>0&&G[W]>0){if(F.wordWrap===!1&&A<$){S5(B,U,$);continue}B.push("")}if(A+G[W]>$&&F.wordWrap===!1){S5(B,U,$);continue}B[B.length-1]+=U}F.trim!==!1&&(B=B.map((W)=>tO(W)));let H=[...B.join(`
|
|
30
|
+
`)];for(let[W,U]of H.entries()){if(X+=U,O9.has(U)){let{groups:V}=new RegExp(`(?:\\${FY}(?<code>\\d+)m|\\${g5}(?<uri>.*)${v5})`).exec(H.slice(W).join(""))||{groups:{}};if(V.code!==void 0){let E=Number.parseFloat(V.code);J=E===rO?void 0:E}else V.uri!==void 0&&(Y=V.uri.length===0?void 0:V.uri)}let A=sO.codes.get(Number(J));H[W+1]===`
|
|
31
|
+
`?(Y&&(X+=nG("")),J&&A&&(X+=iG(A))):U===`
|
|
32
|
+
`&&(J&&A&&(X+=iG(J)),Y&&(X+=nG(Y)))}return X},DM,R9,rG,FM,XM=(D,$,F)=>($ in D)?FM(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,V0=(D,$,F)=>(XM(D,typeof $!="symbol"?$+"":$,F),F),GY,JM,GM=(D,$,F)=>($ in D)?JM(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,oG=(D,$,F)=>(GM(D,typeof $!="symbol"?$+"":$,F),F),YM,BM,HM=(D,$,F)=>($ in D)?BM(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,aG=(D,$,F)=>(HM(D,typeof $!="symbol"?$+"":$,F),F),YY,BY,_M,m0=(D,$)=>_M?D:$,UM,AM,VM,QM,CD,_1,f5,b5,EM,tG,KM,M9=(D)=>{switch(D){case"initial":case"active":return f.cyan(UM);case"cancel":return f.red(AM);case"error":return f.yellow(VM);case"submit":return f.green(QM)}},k5=(D)=>{let{cursor:$,options:F,style:X}=D,J=D.maxItems??Number.POSITIVE_INFINITY,Y=Math.max(process.stdout.rows-4,0),G=Math.min(Y,Math.max(J,5)),B=0;$>=B+G-3?B=Math.max(Math.min($-G+3,F.length-G),0):$<B+2&&(B=Math.max($-2,0));let H=G<F.length&&B>0,W=G<F.length&&B+G<F.length;return F.slice(B,B+G).map((U,A,V)=>{let E=A===0&&H,C=A===V.length-1&&W;return E||C?f.dim("..."):X(U,A+B===$)})},CM=(D)=>new BY({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let $=`${f.gray(CD)}
|
|
33
|
+
${M9(this.state)} ${D.message}
|
|
34
|
+
`,F=D.placeholder?f.inverse(D.placeholder[0])+f.dim(D.placeholder.slice(1)):f.inverse(f.hidden("_")),X=this.value?this.valueWithCursor:F;switch(this.state){case"error":return`${$.trim()}
|
|
35
|
+
${f.yellow(CD)} ${X}
|
|
36
|
+
${f.yellow(_1)} ${f.yellow(this.error)}
|
|
37
|
+
`;case"submit":return`${$}${f.gray(CD)} ${f.dim(this.value||D.placeholder)}`;case"cancel":return`${$}${f.gray(CD)} ${f.strikethrough(f.dim(this.value??""))}${this.value?.trim()?`
|
|
38
|
+
${f.gray(CD)}`:""}`;default:return`${$}${f.cyan(CD)} ${X}
|
|
39
|
+
${f.cyan(_1)}
|
|
40
|
+
`}}}).prompt(),RM=(D)=>{let $=D.active??"Yes",F=D.inactive??"No";return new GY({active:$,inactive:F,initialValue:D.initialValue??!0,render(){let X=`${f.gray(CD)}
|
|
41
|
+
${M9(this.state)} ${D.message}
|
|
42
|
+
`,J=this.value?$:F;switch(this.state){case"submit":return`${X}${f.gray(CD)} ${f.dim(J)}`;case"cancel":return`${X}${f.gray(CD)} ${f.strikethrough(f.dim(J))}
|
|
43
|
+
${f.gray(CD)}`;default:return`${X}${f.cyan(CD)} ${this.value?`${f.green(f5)} ${$}`:`${f.dim(b5)} ${f.dim($)}`} ${f.dim("/")} ${this.value?`${f.dim(b5)} ${f.dim(F)}`:`${f.green(f5)} ${F}`}
|
|
44
|
+
${f.cyan(_1)}
|
|
45
|
+
`}}}).prompt()},OM=(D)=>{let $=(F,X)=>{let J=F.label??String(F.value);switch(X){case"selected":return`${f.dim(J)}`;case"active":return`${f.green(f5)} ${J} ${F.hint?f.dim(`(${F.hint})`):""}`;case"cancelled":return`${f.strikethrough(f.dim(J))}`;default:return`${f.dim(b5)} ${f.dim(J)}`}};return new YY({options:D.options,initialValue:D.initialValue,render(){let F=`${f.gray(CD)}
|
|
46
|
+
${M9(this.state)} ${D.message}
|
|
47
|
+
`;switch(this.state){case"submit":return`${F}${f.gray(CD)} ${$(this.options[this.cursor],"selected")}`;case"cancel":return`${F}${f.gray(CD)} ${$(this.options[this.cursor],"cancelled")}
|
|
48
|
+
${f.gray(CD)}`;default:return`${F}${f.cyan(CD)} ${k5({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(X,J)=>$(X,J?"active":"inactive")}).join(`
|
|
49
|
+
${f.cyan(CD)} `)}
|
|
50
|
+
${f.cyan(_1)}
|
|
51
|
+
`}}}).prompt()},MM=(D)=>{let $=(F,X)=>{let J=F.label??String(F.value);return X==="active"?`${f.cyan(EM)} ${J} ${F.hint?f.dim(`(${F.hint})`):""}`:X==="selected"?`${f.green(tG)} ${f.dim(J)}`:X==="cancelled"?`${f.strikethrough(f.dim(J))}`:X==="active-selected"?`${f.green(tG)} ${J} ${F.hint?f.dim(`(${F.hint})`):""}`:X==="submitted"?`${f.dim(J)}`:`${f.dim(KM)} ${f.dim(J)}`};return new YM({options:D.options,initialValues:D.initialValues,required:D.required??!0,cursorAt:D.cursorAt,validate(F){if(this.required&&F.length===0)return`Please select at least one option.
|
|
52
|
+
${f.reset(f.dim(`Press ${f.gray(f.bgWhite(f.inverse(" space ")))} to select, ${f.gray(f.bgWhite(f.inverse(" enter ")))} to submit`))}`},render(){let F=`${f.gray(CD)}
|
|
53
|
+
${M9(this.state)} ${D.message}
|
|
54
|
+
`,X=(J,Y)=>{let G=this.value.includes(J.value);return Y&&G?$(J,"active-selected"):G?$(J,"selected"):$(J,Y?"active":"inactive")};switch(this.state){case"submit":return`${F}${f.gray(CD)} ${this.options.filter(({value:J})=>this.value.includes(J)).map((J)=>$(J,"submitted")).join(f.dim(", "))||f.dim("none")}`;case"cancel":{let J=this.options.filter(({value:Y})=>this.value.includes(Y)).map((Y)=>$(Y,"cancelled")).join(f.dim(", "));return`${F}${f.gray(CD)} ${J.trim()?`${J}
|
|
55
|
+
${f.gray(CD)}`:""}`}case"error":{let J=this.error.split(`
|
|
56
|
+
`).map((Y,G)=>G===0?`${f.yellow(_1)} ${f.yellow(Y)}`:` ${Y}`).join(`
|
|
57
|
+
`);return`${F+f.yellow(CD)} ${k5({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:X}).join(`
|
|
58
|
+
${f.yellow(CD)} `)}
|
|
59
|
+
${J}
|
|
60
|
+
`}default:return`${F}${f.cyan(CD)} ${k5({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:X}).join(`
|
|
61
|
+
${f.cyan(CD)} `)}
|
|
62
|
+
${f.cyan(_1)}
|
|
63
|
+
`}}}).prompt()},HY;var UY=R(()=>{u0=gO(),K9={exports:{}};xO=hO(),f=vO(xO);uO=yO();$Y={exports:{}};(function(D){var $={};D.exports=$,$.eastAsianWidth=function(X){var J=X.charCodeAt(0),Y=X.length==2?X.charCodeAt(1):0,G=J;return 55296<=J&&J<=56319&&56320<=Y&&Y<=57343&&(J&=1023,Y&=1023,G=J<<10|Y,G+=65536),G==12288||65281<=G&&G<=65376||65504<=G&&G<=65510?"F":G==8361||65377<=G&&G<=65470||65474<=G&&G<=65479||65482<=G&&G<=65487||65490<=G&&G<=65495||65498<=G&&G<=65500||65512<=G&&G<=65518?"H":4352<=G&&G<=4447||4515<=G&&G<=4519||4602<=G&&G<=4607||9001<=G&&G<=9002||11904<=G&&G<=11929||11931<=G&&G<=12019||12032<=G&&G<=12245||12272<=G&&G<=12283||12289<=G&&G<=12350||12353<=G&&G<=12438||12441<=G&&G<=12543||12549<=G&&G<=12589||12593<=G&&G<=12686||12688<=G&&G<=12730||12736<=G&&G<=12771||12784<=G&&G<=12830||12832<=G&&G<=12871||12880<=G&&G<=13054||13056<=G&&G<=19903||19968<=G&&G<=42124||42128<=G&&G<=42182||43360<=G&&G<=43388||44032<=G&&G<=55203||55216<=G&&G<=55238||55243<=G&&G<=55291||63744<=G&&G<=64255||65040<=G&&G<=65049||65072<=G&&G<=65106||65108<=G&&G<=65126||65128<=G&&G<=65131||110592<=G&&G<=110593||127488<=G&&G<=127490||127504<=G&&G<=127546||127552<=G&&G<=127560||127568<=G&&G<=127569||131072<=G&&G<=194367||177984<=G&&G<=196605||196608<=G&&G<=262141?"W":32<=G&&G<=126||162<=G&&G<=163||165<=G&&G<=166||G==172||G==175||10214<=G&&G<=10221||10629<=G&&G<=10630?"Na":G==161||G==164||167<=G&&G<=168||G==170||173<=G&&G<=174||176<=G&&G<=180||182<=G&&G<=186||188<=G&&G<=191||G==198||G==208||215<=G&&G<=216||222<=G&&G<=225||G==230||232<=G&&G<=234||236<=G&&G<=237||G==240||242<=G&&G<=243||247<=G&&G<=250||G==252||G==254||G==257||G==273||G==275||G==283||294<=G&&G<=295||G==299||305<=G&&G<=307||G==312||319<=G&&G<=322||G==324||328<=G&&G<=331||G==333||338<=G&&G<=339||358<=G&&G<=359||G==363||G==462||G==464||G==466||G==468||G==470||G==472||G==474||G==476||G==593||G==609||G==708||G==711||713<=G&&G<=715||G==717||G==720||728<=G&&G<=731||G==733||G==735||768<=G&&G<=879||913<=G&&G<=929||931<=G&&G<=937||945<=G&&G<=961||963<=G&&G<=969||G==1025||1040<=G&&G<=1103||G==1105||G==8208||8211<=G&&G<=8214||8216<=G&&G<=8217||8220<=G&&G<=8221||8224<=G&&G<=8226||8228<=G&&G<=8231||G==8240||8242<=G&&G<=8243||G==8245||G==8251||G==8254||G==8308||G==8319||8321<=G&&G<=8324||G==8364||G==8451||G==8453||G==8457||G==8467||G==8470||8481<=G&&G<=8482||G==8486||G==8491||8531<=G&&G<=8532||8539<=G&&G<=8542||8544<=G&&G<=8555||8560<=G&&G<=8569||G==8585||8592<=G&&G<=8601||8632<=G&&G<=8633||G==8658||G==8660||G==8679||G==8704||8706<=G&&G<=8707||8711<=G&&G<=8712||G==8715||G==8719||G==8721||G==8725||G==8730||8733<=G&&G<=8736||G==8739||G==8741||8743<=G&&G<=8748||G==8750||8756<=G&&G<=8759||8764<=G&&G<=8765||G==8776||G==8780||G==8786||8800<=G&&G<=8801||8804<=G&&G<=8807||8810<=G&&G<=8811||8814<=G&&G<=8815||8834<=G&&G<=8835||8838<=G&&G<=8839||G==8853||G==8857||G==8869||G==8895||G==8978||9312<=G&&G<=9449||9451<=G&&G<=9547||9552<=G&&G<=9587||9600<=G&&G<=9615||9618<=G&&G<=9621||9632<=G&&G<=9633||9635<=G&&G<=9641||9650<=G&&G<=9651||9654<=G&&G<=9655||9660<=G&&G<=9661||9664<=G&&G<=9665||9670<=G&&G<=9672||G==9675||9678<=G&&G<=9681||9698<=G&&G<=9701||G==9711||9733<=G&&G<=9734||G==9737||9742<=G&&G<=9743||9748<=G&&G<=9749||G==9756||G==9758||G==9792||G==9794||9824<=G&&G<=9825||9827<=G&&G<=9829||9831<=G&&G<=9834||9836<=G&&G<=9837||G==9839||9886<=G&&G<=9887||9918<=G&&G<=9919||9924<=G&&G<=9933||9935<=G&&G<=9953||G==9955||9960<=G&&G<=9983||G==10045||G==10071||10102<=G&&G<=10111||11093<=G&&G<=11097||12872<=G&&G<=12879||57344<=G&&G<=63743||65024<=G&&G<=65039||G==65533||127232<=G&&G<=127242||127248<=G&&G<=127277||127280<=G&&G<=127337||127344<=G&&G<=127386||917760<=G&&G<=917999||983040<=G&&G<=1048573||1048576<=G&&G<=1114109?"A":"N"},$.characterLength=function(X){var J=this.eastAsianWidth(X);return J=="F"||J=="W"||J=="A"?2:1};function F(X){return X.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}$.length=function(X){for(var J=F(X),Y=0,G=0;G<J.length;G++)Y=Y+this.characterLength(J[G]);return Y},$.slice=function(X,J,Y){textLen=$.length(X),J=J||0,Y=Y||1,J<0&&(J=textLen+J),Y<0&&(Y=textLen+Y);for(var G="",B=0,H=F(X),W=0;W<H.length;W++){var U=H[W],A=$.length(U);if(B>=J-(A==2?1:0))if(B+A<=Y)G+=U;else break;B+=A}return G}})($Y);mO=$Y.exports,pO=DY(mO),dO=DY(cO);ND={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(ND.modifier);lO=Object.keys(ND.color),iO=Object.keys(ND.bgColor);[...lO,...iO];sO=nO(),O9=new Set(["\x1B","\x9B"]),g5=`${oO}8;;`;DM=["up","down","left","right","space","enter","cancel"],R9={actions:new Set(DM),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};globalThis.process.platform.startsWith("win");rG=Symbol("clack:cancel");FM=Object.defineProperty;GY=class GY extends P6{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",($)=>{this.output.write(u0.cursor.move(0,-1)),this.value=$,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};JM=Object.defineProperty,YM=class extends P6{constructor(D){super(D,!1),oG(this,"options"),oG(this,"cursor",0),this.options=D.options,this.value=[...D.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:$})=>$===D.cursorAt),0),this.on("key",($)=>{$==="a"&&this.toggleAll()}),this.on("cursor",($)=>{switch($){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let D=this.value.length===this.options.length;this.value=D?[]:this.options.map(($)=>$.value)}toggleValue(){let D=this.value.includes(this._value);this.value=D?this.value.filter(($)=>$!==this._value):[...this.value,this._value]}},BM=Object.defineProperty;YY=class YY extends P6{constructor(D){super(D,!1),aG(this,"options"),aG(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:$})=>$===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",($)=>{switch($){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};BY=class BY extends P6{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let D=this.value.slice(0,this.cursor),[$,...F]=this.value.slice(this.cursor);return`${D}${f.inverse($)}${F.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}};_M=WM(),UM=m0("\u276F",">"),AM=m0("\u25A0","x"),VM=m0("\u25B2","x"),QM=m0("\u2714","\u221A"),CD=m0(""),_1=m0(""),f5=m0("\u25CF",">"),b5=m0("\u25CB"," "),EM=m0("\u25FB","[\u2022]"),tG=m0("\u25FC","[+]"),KM=m0("\u25FB","[ ]");`${f.gray(CD)} `;HY=Symbol.for("cancel")});import AY from"process";function PM(){if(globalThis.process?.env)for(let D of NM){let $=D[1]||D[0];if(globalThis.process?.env[$])return{name:D[0].toLowerCase(),...D[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}function K8(D){return D?D!=="false":!1}function hM(){let D=gM.find(($)=>$[0]);if(D)return{name:D[1]}}function yM({onlyFirst:D=!1}={}){let F=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(F,D?void 0:"g")}function mM(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(uM,"")}function pM(D){return D===161||D===164||D===167||D===168||D===170||D===173||D===174||D>=176&&D<=180||D>=182&&D<=186||D>=188&&D<=191||D===198||D===208||D===215||D===216||D>=222&&D<=225||D===230||D>=232&&D<=234||D===236||D===237||D===240||D===242||D===243||D>=247&&D<=250||D===252||D===254||D===257||D===273||D===275||D===283||D===294||D===295||D===299||D>=305&&D<=307||D===312||D>=319&&D<=322||D===324||D>=328&&D<=331||D===333||D===338||D===339||D===358||D===359||D===363||D===462||D===464||D===466||D===468||D===470||D===472||D===474||D===476||D===593||D===609||D===708||D===711||D>=713&&D<=715||D===717||D===720||D>=728&&D<=731||D===733||D===735||D>=768&&D<=879||D>=913&&D<=929||D>=931&&D<=937||D>=945&&D<=961||D>=963&&D<=969||D===1025||D>=1040&&D<=1103||D===1105||D===8208||D>=8211&&D<=8214||D===8216||D===8217||D===8220||D===8221||D>=8224&&D<=8226||D>=8228&&D<=8231||D===8240||D===8242||D===8243||D===8245||D===8251||D===8254||D===8308||D===8319||D>=8321&&D<=8324||D===8364||D===8451||D===8453||D===8457||D===8467||D===8470||D===8481||D===8482||D===8486||D===8491||D===8531||D===8532||D>=8539&&D<=8542||D>=8544&&D<=8555||D>=8560&&D<=8569||D===8585||D>=8592&&D<=8601||D===8632||D===8633||D===8658||D===8660||D===8679||D===8704||D===8706||D===8707||D===8711||D===8712||D===8715||D===8719||D===8721||D===8725||D===8730||D>=8733&&D<=8736||D===8739||D===8741||D>=8743&&D<=8748||D===8750||D>=8756&&D<=8759||D===8764||D===8765||D===8776||D===8780||D===8786||D===8800||D===8801||D>=8804&&D<=8807||D===8810||D===8811||D===8814||D===8815||D===8834||D===8835||D===8838||D===8839||D===8853||D===8857||D===8869||D===8895||D===8978||D>=9312&&D<=9449||D>=9451&&D<=9547||D>=9552&&D<=9587||D>=9600&&D<=9615||D>=9618&&D<=9621||D===9632||D===9633||D>=9635&&D<=9641||D===9650||D===9651||D===9654||D===9655||D===9660||D===9661||D===9664||D===9665||D>=9670&&D<=9672||D===9675||D>=9678&&D<=9681||D>=9698&&D<=9701||D===9711||D===9733||D===9734||D===9737||D===9742||D===9743||D===9756||D===9758||D===9792||D===9794||D===9824||D===9825||D>=9827&&D<=9829||D>=9831&&D<=9834||D===9836||D===9837||D===9839||D===9886||D===9887||D===9919||D>=9926&&D<=9933||D>=9935&&D<=9939||D>=9941&&D<=9953||D===9955||D===9960||D===9961||D>=9963&&D<=9969||D===9972||D>=9974&&D<=9977||D===9979||D===9980||D===9982||D===9983||D===10045||D>=10102&&D<=10111||D>=11094&&D<=11097||D>=12872&&D<=12879||D>=57344&&D<=63743||D>=65024&&D<=65039||D===65533||D>=127232&&D<=127242||D>=127248&&D<=127277||D>=127280&&D<=127337||D>=127344&&D<=127373||D===127375||D===127376||D>=127387&&D<=127404||D>=917760&&D<=917999||D>=983040&&D<=1048573||D>=1048576&&D<=1114109}function cM(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function dM(D){return D>=4352&&D<=4447||D===8986||D===8987||D===9001||D===9002||D>=9193&&D<=9196||D===9200||D===9203||D===9725||D===9726||D===9748||D===9749||D>=9776&&D<=9783||D>=9800&&D<=9811||D===9855||D>=9866&&D<=9871||D===9875||D===9889||D===9898||D===9899||D===9917||D===9918||D===9924||D===9925||D===9934||D===9940||D===9962||D===9970||D===9971||D===9973||D===9978||D===9981||D===9989||D===9994||D===9995||D===10024||D===10060||D===10062||D>=10067&&D<=10069||D===10071||D>=10133&&D<=10135||D===10160||D===10175||D===11035||D===11036||D===11088||D===11093||D>=11904&&D<=11929||D>=11931&&D<=12019||D>=12032&&D<=12245||D>=12272&&D<=12287||D>=12289&&D<=12350||D>=12353&&D<=12438||D>=12441&&D<=12543||D>=12549&&D<=12591||D>=12593&&D<=12686||D>=12688&&D<=12773||D>=12783&&D<=12830||D>=12832&&D<=12871||D>=12880&&D<=42124||D>=42128&&D<=42182||D>=43360&&D<=43388||D>=44032&&D<=55203||D>=63744&&D<=64255||D>=65040&&D<=65049||D>=65072&&D<=65106||D>=65108&&D<=65126||D>=65128&&D<=65131||D>=94176&&D<=94180||D===94192||D===94193||D>=94208&&D<=100343||D>=100352&&D<=101589||D>=101631&&D<=101640||D>=110576&&D<=110579||D>=110581&&D<=110587||D===110589||D===110590||D>=110592&&D<=110882||D===110898||D>=110928&&D<=110930||D===110933||D>=110948&&D<=110951||D>=110960&&D<=111355||D>=119552&&D<=119638||D>=119648&&D<=119670||D===126980||D===127183||D===127374||D>=127377&&D<=127386||D>=127488&&D<=127490||D>=127504&&D<=127547||D>=127552&&D<=127560||D===127568||D===127569||D>=127584&&D<=127589||D>=127744&&D<=127776||D>=127789&&D<=127797||D>=127799&&D<=127868||D>=127870&&D<=127891||D>=127904&&D<=127946||D>=127951&&D<=127955||D>=127968&&D<=127984||D===127988||D>=127992&&D<=128062||D===128064||D>=128066&&D<=128252||D>=128255&&D<=128317||D>=128331&&D<=128334||D>=128336&&D<=128359||D===128378||D===128405||D===128406||D===128420||D>=128507&&D<=128591||D>=128640&&D<=128709||D===128716||D>=128720&&D<=128722||D>=128725&&D<=128727||D>=128732&&D<=128735||D===128747||D===128748||D>=128756&&D<=128764||D>=128992&&D<=129003||D===129008||D>=129292&&D<=129338||D>=129340&&D<=129349||D>=129351&&D<=129535||D>=129648&&D<=129660||D>=129664&&D<=129673||D>=129679&&D<=129734||D>=129742&&D<=129756||D>=129759&&D<=129769||D>=129776&&D<=129784||D>=131072&&D<=196605||D>=196608&&D<=262141}function lM(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function iM(D,{ambiguousAsWide:$=!1}={}){if(lM(D),cM(D)||dM(D)||$&&pM(D))return 2;return 1}function oM(D,$={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:X=!1}=$;if(!X)D=mM(D);if(D.length===0)return 0;let J=0,Y={ambiguousAsWide:!F};for(let{segment:G}of sM.segment(D)){let B=G.codePointAt(0);if(B<=31||B>=127&&B<=159)continue;if(B>=8203&&B<=8207||B===65279)continue;if(B>=768&&B<=879||B>=6832&&B<=6911||B>=7616&&B<=7679||B>=8400&&B<=8447||B>=65056&&B<=65071)continue;if(B>=55296&&B<=57343)continue;if(B>=65024&&B<=65039)continue;if(rM.test(G))continue;if(nM().test(G)){J+=2;continue}J+=iM(B,Y)}return J}function aM(){let{env:D}=AY,{TERM:$,TERM_PROGRAM:F}=D;if(AY.platform!=="win32")return $!=="linux";return Boolean(D.WT_SESSION)||Boolean(D.TERMINUS_SUBLIME)||D.ConEmuTask==="{cmd::Cmder}"||F==="Terminus-Sublime"||F==="vscode"||$==="xterm-256color"||$==="alacritty"||$==="rxvt-unicode"||$==="rxvt-unicode-256color"||D.TERMINAL_EMULATOR==="JetBrains-JediTerm"}function EY(D){if(typeof Intl!=="object"||!Intl.Segmenter)return y2(D).length;return oM(D)}function q9(D){return D.replace(/`([^`]+)`/gm,($,F)=>J0.cyan(F)).replace(/\s+_([^_]+)_\s+/gm,($,F)=>` ${J0.underline(F)} `)}function $q(D="white"){return J0[D]||J0.white}function Fq(D="bgWhite"){return J0[`bg${D[0].toUpperCase()}${D.slice(1)}`]||J0.bgWhite}function Xq(D={}){let $=Jq();if(process.env.CONSOLA_LEVEL)$=Number.parseInt(process.env.CONSOLA_LEVEL)??$;return TG({level:$,defaults:{level:$},stdout:process.stdout,stderr:process.stderr,prompt:(...X)=>Promise.resolve().then(() => (UY(),_Y)).then((J)=>J.prompt(...X)),reporters:D.reporters||[D.fancy??!(h5||x5)?new RY:new Q9],...D})}function Jq(){if(LM)return lD.debug;if(x5)return lD.warn;return lD.info}var N9,Z6=(D)=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(D?N9:globalThis),m2,qM,NM,KY,ZM,h5,CY,LM,x5,zM,jM,wM,VY,IM,TM,SM,fM,bM,kM,vM,gM,xM,uM,nM=()=>{return/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g},sM,rM,tM,eM,Dq,_2=(D,$)=>Dq?D:$,QY,RY,M;var JD=R(()=>{z5();z5();fG();yG();N9=Object.create(null),m2=new Proxy(N9,{get(D,$){return Z6()[$]??N9[$]},has(D,$){let F=Z6();return $ in F||$ in N9},set(D,$,F){let X=Z6(!0);return X[$]=F,!0},deleteProperty(D,$){if(!$)return!1;let F=Z6(!0);return delete F[$],!0},ownKeys(){let D=Z6(!0);return Object.keys(D)}}),qM=typeof process<"u"&&process.env&&"development"||"",NM=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["CODESANDBOX","CODESANDBOX_HOST",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}]];KY=PM();KY.name;ZM=globalThis.process?.platform||"",h5=K8(m2.CI)||KY.ci!==!1,CY=K8(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),LM=K8(m2.DEBUG),x5=qM==="test"||K8(m2.TEST);K8(m2.MINIMAL);zM=/^win/i.test(ZM);!K8(m2.NO_COLOR)&&(K8(m2.FORCE_COLOR)||(CY||zM)&&m2.TERM);jM=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(jM?.split(".")[0]);wM=globalThis.process||Object.create(null),VY={versions:{}};new Proxy(wM,{get(D,$){if($==="env")return m2;if($ in D)return D[$];if($ in VY)return VY[$]}});IM=globalThis.process?.release?.name==="node",TM=!!globalThis.Bun||!!globalThis.process?.versions?.bun,SM=!!globalThis.Deno,fM=!!globalThis.fastly,bM=!!globalThis.Netlify,kM=!!globalThis.EdgeRuntime,vM=globalThis.navigator?.userAgent==="Cloudflare-Workers",gM=[[bM,"netlify"],[kM,"edge-light"],[vM,"workerd"],[fM,"fastly"],[SM,"deno"],[TM,"bun"],[IM,"node"]];xM=hM();xM?.name;uM=yM();sM=globalThis.Intl?.Segmenter?new Intl.Segmenter:{segment:(D)=>D.split("")},rM=/^\p{Default_Ignorable_Code_Point}$/u;tM={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},eM={0:"red",1:"yellow"},Dq=aM(),QY={error:_2("\u2716","\xD7"),fatal:_2("\u2716","\xD7"),ready:_2("\u2714","\u221A"),warn:_2("\u26A0","\u203C"),info:_2("\u2139","i"),success:_2("\u2714","\u221A"),debug:_2("\u2699","D"),trace:_2("\u2192","\u2192"),fail:_2("\u2716","\xD7"),start:_2("\u25D0","o"),log:""};RY=class RY extends Q9{formatStack(D,$,F){let X=" ".repeat((F?.errorLevel||0)+1);return`
|
|
64
|
+
${X}`+w5(D,$).map((J)=>" "+J.replace(/^at +/,(Y)=>J0.gray(Y)).replace(/\((.+)\)/,(Y,G)=>`(${J0.cyan(G)})`)).join(`
|
|
65
|
+
${X}`)}formatType(D,$,F){let X=tM[D.type]||eM[D.level]||"gray";if($)return Fq(X)(J0.black(` ${D.type.toUpperCase()} `));let J=typeof QY[D.type]==="string"?QY[D.type]:D.icon||D.type;return J?$q(X)(J):""}formatLogObj(D,$){let[F,...X]=this.formatArgs(D.args,$).split(`
|
|
66
|
+
`);if(D.type==="box")return xG(q9(F+(X.length>0?`
|
|
67
|
+
`+X.join(`
|
|
68
|
+
`):"")),{title:D.title?q9(D.title):void 0,style:D.style});let J=this.formatDate(D.date,$),Y=J&&J0.gray(J),G=D.badge??D.level<2,B=this.formatType(D,G,$),H=D.tag?J0.gray(D.tag):"",W,U=this.filterAndJoin([B,q9(F)]),A=this.filterAndJoin($.columns?[H,Y]:[H]),V=($.columns||0)-EY(U)-EY(A)-2;if(W=V>0&&($.columns||0)>=80?U+" ".repeat(V)+A:(A?`${J0.gray(`[${A}]`)} `:"")+U,W+=q9(X.length>0?`
|
|
69
|
+
`+X.join(`
|
|
70
|
+
`):""),D.type==="trace"){let E=Error("Trace: "+D.message);W+=this.formatStack(E.stack||"",E.message)}return G?`
|
|
71
|
+
`+W+`
|
|
72
|
+
`:W}};M=Xq()});var XD,y5,b,U2=(D)=>{switch(typeof D){case"undefined":return b.undefined;case"string":return b.string;case"number":return Number.isNaN(D)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":if(Array.isArray(D))return b.array;if(D===null)return b.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return b.promise;if(typeof Map<"u"&&D instanceof Map)return b.map;if(typeof Set<"u"&&D instanceof Set)return b.set;if(typeof Date<"u"&&D instanceof Date)return b.date;return b.object;default:return b.unknown}};var L6=R(()=>{(function(D){D.assertEqual=(J)=>{};function $(J){}D.assertIs=$;function F(J){throw Error()}D.assertNever=F,D.arrayToEnum=(J)=>{let Y={};for(let G of J)Y[G]=G;return Y},D.getValidEnumValues=(J)=>{let Y=D.objectKeys(J).filter((B)=>typeof J[J[B]]!=="number"),G={};for(let B of Y)G[B]=J[B];return D.objectValues(G)},D.objectValues=(J)=>{return D.objectKeys(J).map(function(Y){return J[Y]})},D.objectKeys=typeof Object.keys==="function"?(J)=>Object.keys(J):(J)=>{let Y=[];for(let G in J)if(Object.prototype.hasOwnProperty.call(J,G))Y.push(G);return Y},D.find=(J,Y)=>{for(let G of J)if(Y(G))return G;return},D.isInteger=typeof Number.isInteger==="function"?(J)=>Number.isInteger(J):(J)=>typeof J==="number"&&Number.isFinite(J)&&Math.floor(J)===J;function X(J,Y=" | "){return J.map((G)=>typeof G==="string"?`'${G}'`:G).join(Y)}D.joinValues=X,D.jsonStringifyReplacer=(J,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(XD||(XD={}));(function(D){D.mergeShapes=($,F)=>{return{...$,...F}}})(y5||(y5={}));b=XD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var I,Gq=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")},Y0;var P9=R(()=>{L6();I=XD.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"]);Y0=class Y0 extends Error{get errors(){return this.issues}constructor(D){super();this.issues=[],this.addIssue=(F)=>{this.issues=[...this.issues,F]},this.addIssues=(F=[])=>{this.issues=[...this.issues,...F]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=D}format(D){let $=D||function(J){return J.message},F={_errors:[]},X=(J)=>{for(let Y of J.issues)if(Y.code==="invalid_union")Y.unionErrors.map(X);else if(Y.code==="invalid_return_type")X(Y.returnTypeError);else if(Y.code==="invalid_arguments")X(Y.argumentsError);else if(Y.path.length===0)F._errors.push($(Y));else{let G=F,B=0;while(B<Y.path.length){let H=Y.path[B];if(B!==Y.path.length-1)G[H]=G[H]||{_errors:[]};else G[H]=G[H]||{_errors:[]},G[H]._errors.push($(Y));G=G[H],B++}}};return X(this),F}static assert(D){if(!(D instanceof Y0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,XD.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(D=($)=>$.message){let $={},F=[];for(let X of this.issues)if(X.path.length>0){let J=X.path[0];$[J]=$[J]||[],$[J].push(D(X))}else F.push(D(X));return{formErrors:F,fieldErrors:$}}get formErrors(){return this.flatten()}};Y0.create=(D)=>{return new Y0(D)}});var Yq=(D,$)=>{let F;switch(D.code){case I.invalid_type:if(D.received===b.undefined)F="Required";else F=`Expected ${D.expected}, received ${D.received}`;break;case I.invalid_literal:F=`Invalid literal value, expected ${JSON.stringify(D.expected,XD.jsonStringifyReplacer)}`;break;case I.unrecognized_keys:F=`Unrecognized key(s) in object: ${XD.joinValues(D.keys,", ")}`;break;case I.invalid_union:F="Invalid input";break;case I.invalid_union_discriminator:F=`Invalid discriminator value. Expected ${XD.joinValues(D.options)}`;break;case I.invalid_enum_value:F=`Invalid enum value. Expected ${XD.joinValues(D.options)}, received '${D.received}'`;break;case I.invalid_arguments:F="Invalid function arguments";break;case I.invalid_return_type:F="Invalid function return type";break;case I.invalid_date:F="Invalid date";break;case I.invalid_string:if(typeof D.validation==="object")if("includes"in D.validation){if(F=`Invalid input: must include "${D.validation.includes}"`,typeof D.validation.position==="number")F=`${F} at one or more positions greater than or equal to ${D.validation.position}`}else if("startsWith"in D.validation)F=`Invalid input: must start with "${D.validation.startsWith}"`;else if("endsWith"in D.validation)F=`Invalid input: must end with "${D.validation.endsWith}"`;else XD.assertNever(D.validation);else if(D.validation!=="regex")F=`Invalid ${D.validation}`;else F="Invalid";break;case I.too_small:if(D.type==="array")F=`Array must contain ${D.exact?"exactly":D.inclusive?"at least":"more than"} ${D.minimum} element(s)`;else if(D.type==="string")F=`String must contain ${D.exact?"exactly":D.inclusive?"at least":"over"} ${D.minimum} character(s)`;else if(D.type==="number")F=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="bigint")F=`Number must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${D.minimum}`;else if(D.type==="date")F=`Date must be ${D.exact?"exactly equal to ":D.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(D.minimum))}`;else F="Invalid input";break;case I.too_big:if(D.type==="array")F=`Array must contain ${D.exact?"exactly":D.inclusive?"at most":"less than"} ${D.maximum} element(s)`;else if(D.type==="string")F=`String must contain ${D.exact?"exactly":D.inclusive?"at most":"under"} ${D.maximum} character(s)`;else if(D.type==="number")F=`Number must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="bigint")F=`BigInt must be ${D.exact?"exactly":D.inclusive?"less than or equal to":"less than"} ${D.maximum}`;else if(D.type==="date")F=`Date must be ${D.exact?"exactly":D.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(D.maximum))}`;else F="Invalid input";break;case I.custom:F="Invalid input";break;case I.invalid_intersection_types:F="Intersection results could not be merged";break;case I.not_multiple_of:F=`Number must be a multiple of ${D.multipleOf}`;break;case I.not_finite:F="Number must be finite";break;default:F=$.defaultError,XD.assertNever(D)}return{message:F}},Z2;var u5=R(()=>{P9();L6();Z2=Yq});function Bq(D){OY=D}function U1(){return OY}var OY;var Z9=R(()=>{u5();OY=Z2});function h(D,$){let F=U1(),X=z6({issueData:$,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,F,F===Z2?void 0:Z2].filter((J)=>!!J)});D.common.issues.push(X)}class iD{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(D,$){let F=[];for(let X of $){if(X.status==="aborted")return c;if(X.status==="dirty")D.dirty();F.push(X.value)}return{status:D.value,value:F}}static async mergeObjectAsync(D,$){let F=[];for(let X of $){let J=await X.key,Y=await X.value;F.push({key:J,value:Y})}return iD.mergeObjectSync(D,F)}static mergeObjectSync(D,$){let F={};for(let X of $){let{key:J,value:Y}=X;if(J.status==="aborted")return c;if(Y.status==="aborted")return c;if(J.status==="dirty")D.dirty();if(Y.status==="dirty")D.dirty();if(J.value!=="__proto__"&&(typeof Y.value<"u"||X.alwaysSet))F[J.value]=Y.value}return{status:D.value,value:F}}}var z6=(D)=>{let{data:$,path:F,errorMaps:X,issueData:J}=D,Y=[...F,...J.path||[]],G={...J,path:Y};if(J.message!==void 0)return{...J,path:Y,message:J.message};let B="",H=X.filter((W)=>!!W).slice().reverse();for(let W of H)B=W(G,{data:$,defaultError:B}).message;return{...J,path:Y,message:B}},Hq,c,C8=(D)=>({status:"dirty",value:D}),aD=(D)=>({status:"valid",value:D}),L9=(D)=>D.status==="aborted",z9=(D)=>D.status==="dirty",p2=(D)=>D.status==="valid",A1=(D)=>typeof Promise<"u"&&D instanceof Promise;var m5=R(()=>{Z9();u5();Hq=[];c=Object.freeze({status:"aborted"})});var MY=()=>{};var u;var qY=R(()=>{(function(D){D.errToObj=($)=>typeof $==="string"?{message:$}:$||{},D.toString=($)=>typeof $==="string"?$:$?.message})(u||(u={}))});class l0{constructor(D,$,F,X){this._cachedPath=[],this.parent=D,this.data=$,this._path=F,this._key=X}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}function a(D){if(!D)return{};let{errorMap:$,invalid_type_error:F,required_error:X,description:J}=D;if($&&(F||X))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:J};return{errorMap:(G,B)=>{let{message:H}=D;if(G.code==="invalid_enum_value")return{message:H??B.defaultError};if(typeof B.data>"u")return{message:H??X??B.defaultError};if(G.code!=="invalid_type")return{message:B.defaultError};return{message:H??F??B.defaultError}},description:J}}class e{get description(){return this._def.description}_getType(D){return U2(D.data)}_getOrReturnCtx(D,$){return $||{common:D.parent.common,data:D.data,parsedType:U2(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new iD,ctx:{common:D.parent.common,data:D.data,parsedType:U2(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let $=this._parse(D);if(A1($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(D){let $=this._parse(D);return Promise.resolve($)}parse(D,$){let F=this.safeParse(D,$);if(F.success)return F.data;throw F.error}safeParse(D,$){let F={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:U2(D)},X=this._parseSync({data:D,path:F.path,parent:F});return NY(F,X)}"~validate"(D){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:U2(D)};if(!this["~standard"].async)try{let F=this._parseSync({data:D,path:[],parent:$});return p2(F)?{value:F.value}:{issues:$.common.issues}}catch(F){if(F?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:D,path:[],parent:$}).then((F)=>p2(F)?{value:F.value}:{issues:$.common.issues})}async parseAsync(D,$){let F=await this.safeParseAsync(D,$);if(F.success)return F.data;throw F.error}async safeParseAsync(D,$){let F={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:U2(D)},X=this._parse({data:D,path:F.path,parent:F}),J=await(A1(X)?X:Promise.resolve(X));return NY(F,J)}refine(D,$){let F=(X)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(X);else return $};return this._refinement((X,J)=>{let Y=D(X),G=()=>J.addIssue({code:I.custom,...F(X)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((B)=>{if(!B)return G(),!1;else return!0});if(!Y)return G(),!1;else return!0})}refinement(D,$){return this._refinement((F,X)=>{if(!D(F))return X.addIssue(typeof $==="function"?$(F,X):$),!1;else return!0})}_refinement(D){return new i0({schema:this,typeName:d.ZodEffects,effect:{type:"refinement",refinement:D}})}superRefine(D){return this._refinement(D)}constructor(D){this.spa=this.safeParseAsync,this._def=D,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:($)=>this["~validate"]($)}}optional(){return d0.create(this,this._def)}nullable(){return z2.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return c0.create(this)}promise(){return q8.create(this,this._def)}or(D){return R1.create([this,D],this._def)}and(D){return O1.create(this,D,this._def)}transform(D){return new i0({...a(this._def),schema:this,typeName:d.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let $=typeof D==="function"?D:()=>D;return new P1({...a(this._def),innerType:this,defaultValue:$,typeName:d.ZodDefault})}brand(){return new w9({typeName:d.ZodBranded,type:this,...a(this._def)})}catch(D){let $=typeof D==="function"?D:()=>D;return new Z1({...a(this._def),innerType:this,catchValue:$,typeName:d.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return f6.create(this,D)}readonly(){return L1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function LY(D){let $="[0-5]\\d";if(D.precision)$=`${$}\\.\\d{${D.precision}}`;else if(D.precision==null)$=`${$}(\\.\\d+)?`;let F=D.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${F}`}function Lq(D){return new RegExp(`^${LY(D)}$`)}function zY(D){let $=`${ZY}T${LY(D)}`,F=[];if(F.push(D.local?"Z?":"Z"),D.offset)F.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${F.join("|")})`,new RegExp(`^${$}$`)}function zq(D,$){if(($==="v4"||!$)&&Rq.test(D))return!0;if(($==="v6"||!$)&&Mq.test(D))return!0;return!1}function jq(D,$){if(!Qq.test(D))return!1;try{let[F]=D.split(".");if(!F)return!1;let X=F.replace(/-/g,"+").replace(/_/g,"/").padEnd(F.length+(4-F.length%4)%4,"="),J=JSON.parse(atob(X));if(typeof J!=="object"||J===null)return!1;if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if($&&J.alg!==$)return!1;return!0}catch{return!1}}function wq(D,$){if(($==="v4"||!$)&&Oq.test(D))return!0;if(($==="v6"||!$)&&qq.test(D))return!0;return!1}function Iq(D,$){let F=(D.toString().split(".")[1]||"").length,X=($.toString().split(".")[1]||"").length,J=F>X?F:X,Y=Number.parseInt(D.toFixed(J).replace(".","")),G=Number.parseInt($.toFixed(J).replace(".",""));return Y%G/10**J}function V1(D){if(D instanceof LD){let $={};for(let F in D.shape){let X=D.shape[F];$[F]=d0.create(V1(X))}return new LD({...D._def,shape:()=>$})}else if(D instanceof c0)return new c0({...D._def,type:V1(D.element)});else if(D instanceof d0)return d0.create(V1(D.unwrap()));else if(D instanceof z2)return z2.create(V1(D.unwrap()));else if(D instanceof V2)return V2.create(D.items.map(($)=>V1($)));else return D}function c5(D,$){let F=U2(D),X=U2($);if(D===$)return{valid:!0,data:D};else if(F===b.object&&X===b.object){let J=XD.objectKeys($),Y=XD.objectKeys(D).filter((B)=>J.indexOf(B)!==-1),G={...D,...$};for(let B of Y){let H=c5(D[B],$[B]);if(!H.valid)return{valid:!1};G[B]=H.data}return{valid:!0,data:G}}else if(F===b.array&&X===b.array){if(D.length!==$.length)return{valid:!1};let J=[];for(let Y=0;Y<D.length;Y++){let G=D[Y],B=$[Y],H=c5(G,B);if(!H.valid)return{valid:!1};J.push(H.data)}return{valid:!0,data:J}}else if(F===b.date&&X===b.date&&+D===+$)return{valid:!0,data:D};else return{valid:!1}}function jY(D,$){return new i2({values:D,typeName:d.ZodEnum,...a($)})}function PY(D,$){let F=typeof D==="function"?D($):typeof D==="string"?{message:D}:D;return typeof F==="string"?{message:F}:F}function wY(D,$={},F){if(D)return O8.create().superRefine((X,J)=>{let Y=D(X);if(Y instanceof Promise)return Y.then((G)=>{if(!G){let B=PY($,X),H=B.fatal??F??!0;J.addIssue({code:"custom",...B,fatal:H})}});if(!Y){let G=PY($,X),B=G.fatal??F??!0;J.addIssue({code:"custom",...G,fatal:B})}return});return O8.create()}var NY=(D,$)=>{if(p2($))return{success:!0,data:$.value};else{if(!D.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let F=new Y0(D.common.issues);return this._error=F,this._error}}}},Wq,_q,Uq,Aq,Vq,Qq,Eq,Kq,Cq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",p5,Rq,Oq,Mq,qq,Nq,Pq,ZY="((\\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])))",Zq,p0,d2,l2,E1,R8,j6,K1,C1,O8,c2,A2,w6,c0,LD,R1,L2=(D)=>{if(D instanceof M1)return L2(D.schema);else if(D instanceof i0)return L2(D.innerType());else if(D instanceof q1)return[D.value];else if(D instanceof i2)return D.options;else if(D instanceof N1)return XD.objectValues(D.enum);else if(D instanceof P1)return L2(D._def.innerType);else if(D instanceof K1)return[void 0];else if(D instanceof C1)return[null];else if(D instanceof d0)return[void 0,...L2(D.unwrap())];else if(D instanceof z2)return[null,...L2(D.unwrap())];else if(D instanceof w9)return L2(D.unwrap());else if(D instanceof L1)return L2(D.unwrap());else if(D instanceof Z1)return L2(D._def.innerType);else return[]},j9,O1,V2,I6,T6,M8,Q1,M1,q1,i2,N1,q8,i0,d0,z2,P1,Z1,S6,Tq,w9,f6,L1,Sq,d,fq=(D,$={message:`Input not instance of ${D.name}`})=>wY((F)=>F instanceof D,$),IY,TY,bq,kq,SY,vq,gq,hq,xq,yq,uq,mq,pq,cq,dq,lq,iq,nq,sq,rq,oq,aq,tq,eq,DN,$N,FN,XN,JN,GN,YN,BN,HN,WN,_N=()=>IY().optional(),UN=()=>TY().optional(),AN=()=>SY().optional(),VN,QN;var fY=R(()=>{P9();Z9();qY();m5();L6();Wq=/^c[^\s-]{8,}$/i,_q=/^[0-9a-z]+$/,Uq=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Aq=/^[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,Vq=/^[a-z0-9_-]{21}$/i,Qq=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Eq=/^[-+]?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)?)??$/,Kq=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Rq=/^(?:(?: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])$/,Oq=/^(?:(?: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])$/,Mq=/^(([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]))$/,qq=/^(([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])$/,Nq=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Pq=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Zq=new RegExp(`^${ZY}$`);p0=class p0 extends e{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==b.string){let J=this._getOrReturnCtx(D);return h(J,{code:I.invalid_type,expected:b.string,received:J.parsedType}),c}let F=new iD,X=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.length<J.value)X=this._getOrReturnCtx(D,X),h(X,{code:I.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),F.dirty()}else if(J.kind==="max"){if(D.data.length>J.value)X=this._getOrReturnCtx(D,X),h(X,{code:I.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!1,message:J.message}),F.dirty()}else if(J.kind==="length"){let Y=D.data.length>J.value,G=D.data.length<J.value;if(Y||G){if(X=this._getOrReturnCtx(D,X),Y)h(X,{code:I.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)h(X,{code:I.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});F.dirty()}}else if(J.kind==="email"){if(!Kq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"email",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="emoji"){if(!p5)p5=new RegExp(Cq,"u");if(!p5.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"emoji",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="uuid"){if(!Aq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"uuid",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="nanoid"){if(!Vq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"nanoid",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="cuid"){if(!Wq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"cuid",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="cuid2"){if(!_q.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"cuid2",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="ulid"){if(!Uq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"ulid",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{X=this._getOrReturnCtx(D,X),h(X,{validation:"url",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="regex"){if(J.regex.lastIndex=0,!J.regex.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"regex",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="trim")D.data=D.data.trim();else if(J.kind==="includes"){if(!D.data.includes(J.value,J.position))X=this._getOrReturnCtx(D,X),h(X,{code:I.invalid_string,validation:{includes:J.value,position:J.position},message:J.message}),F.dirty()}else if(J.kind==="toLowerCase")D.data=D.data.toLowerCase();else if(J.kind==="toUpperCase")D.data=D.data.toUpperCase();else if(J.kind==="startsWith"){if(!D.data.startsWith(J.value))X=this._getOrReturnCtx(D,X),h(X,{code:I.invalid_string,validation:{startsWith:J.value},message:J.message}),F.dirty()}else if(J.kind==="endsWith"){if(!D.data.endsWith(J.value))X=this._getOrReturnCtx(D,X),h(X,{code:I.invalid_string,validation:{endsWith:J.value},message:J.message}),F.dirty()}else if(J.kind==="datetime"){if(!zY(J).test(D.data))X=this._getOrReturnCtx(D,X),h(X,{code:I.invalid_string,validation:"datetime",message:J.message}),F.dirty()}else if(J.kind==="date"){if(!Zq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{code:I.invalid_string,validation:"date",message:J.message}),F.dirty()}else if(J.kind==="time"){if(!Lq(J).test(D.data))X=this._getOrReturnCtx(D,X),h(X,{code:I.invalid_string,validation:"time",message:J.message}),F.dirty()}else if(J.kind==="duration"){if(!Eq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"duration",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="ip"){if(!zq(D.data,J.version))X=this._getOrReturnCtx(D,X),h(X,{validation:"ip",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="jwt"){if(!jq(D.data,J.alg))X=this._getOrReturnCtx(D,X),h(X,{validation:"jwt",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="cidr"){if(!wq(D.data,J.version))X=this._getOrReturnCtx(D,X),h(X,{validation:"cidr",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="base64"){if(!Nq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"base64",code:I.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="base64url"){if(!Pq.test(D.data))X=this._getOrReturnCtx(D,X),h(X,{validation:"base64url",code:I.invalid_string,message:J.message}),F.dirty()}else XD.assertNever(J);return{status:F.value,value:D.data}}_regex(D,$,F){return this.refinement((X)=>D.test(X),{validation:$,code:I.invalid_string,...u.errToObj(F)})}_addCheck(D){return new p0({...this._def,checks:[...this._def.checks,D]})}email(D){return this._addCheck({kind:"email",...u.errToObj(D)})}url(D){return this._addCheck({kind:"url",...u.errToObj(D)})}emoji(D){return this._addCheck({kind:"emoji",...u.errToObj(D)})}uuid(D){return this._addCheck({kind:"uuid",...u.errToObj(D)})}nanoid(D){return this._addCheck({kind:"nanoid",...u.errToObj(D)})}cuid(D){return this._addCheck({kind:"cuid",...u.errToObj(D)})}cuid2(D){return this._addCheck({kind:"cuid2",...u.errToObj(D)})}ulid(D){return this._addCheck({kind:"ulid",...u.errToObj(D)})}base64(D){return this._addCheck({kind:"base64",...u.errToObj(D)})}base64url(D){return this._addCheck({kind:"base64url",...u.errToObj(D)})}jwt(D){return this._addCheck({kind:"jwt",...u.errToObj(D)})}ip(D){return this._addCheck({kind:"ip",...u.errToObj(D)})}cidr(D){return this._addCheck({kind:"cidr",...u.errToObj(D)})}datetime(D){if(typeof D==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:D});return this._addCheck({kind:"datetime",precision:typeof D?.precision>"u"?null:D?.precision,offset:D?.offset??!1,local:D?.local??!1,...u.errToObj(D?.message)})}date(D){return this._addCheck({kind:"date",message:D})}time(D){if(typeof D==="string")return this._addCheck({kind:"time",precision:null,message:D});return this._addCheck({kind:"time",precision:typeof D?.precision>"u"?null:D?.precision,...u.errToObj(D?.message)})}duration(D){return this._addCheck({kind:"duration",...u.errToObj(D)})}regex(D,$){return this._addCheck({kind:"regex",regex:D,...u.errToObj($)})}includes(D,$){return this._addCheck({kind:"includes",value:D,position:$?.position,...u.errToObj($?.message)})}startsWith(D,$){return this._addCheck({kind:"startsWith",value:D,...u.errToObj($)})}endsWith(D,$){return this._addCheck({kind:"endsWith",value:D,...u.errToObj($)})}min(D,$){return this._addCheck({kind:"min",value:D,...u.errToObj($)})}max(D,$){return this._addCheck({kind:"max",value:D,...u.errToObj($)})}length(D,$){return this._addCheck({kind:"length",value:D,...u.errToObj($)})}nonempty(D){return this.min(1,u.errToObj(D))}trim(){return new p0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new p0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new p0({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((D)=>D.kind==="datetime")}get isDate(){return!!this._def.checks.find((D)=>D.kind==="date")}get isTime(){return!!this._def.checks.find((D)=>D.kind==="time")}get isDuration(){return!!this._def.checks.find((D)=>D.kind==="duration")}get isEmail(){return!!this._def.checks.find((D)=>D.kind==="email")}get isURL(){return!!this._def.checks.find((D)=>D.kind==="url")}get isEmoji(){return!!this._def.checks.find((D)=>D.kind==="emoji")}get isUUID(){return!!this._def.checks.find((D)=>D.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((D)=>D.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((D)=>D.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((D)=>D.kind==="cuid2")}get isULID(){return!!this._def.checks.find((D)=>D.kind==="ulid")}get isIP(){return!!this._def.checks.find((D)=>D.kind==="ip")}get isCIDR(){return!!this._def.checks.find((D)=>D.kind==="cidr")}get isBase64(){return!!this._def.checks.find((D)=>D.kind==="base64")}get isBase64url(){return!!this._def.checks.find((D)=>D.kind==="base64url")}get minLength(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D}get maxLength(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D}};p0.create=(D)=>{return new p0({checks:[],typeName:d.ZodString,coerce:D?.coerce??!1,...a(D)})};d2=class d2 extends e{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(D){if(this._def.coerce)D.data=Number(D.data);if(this._getType(D)!==b.number){let J=this._getOrReturnCtx(D);return h(J,{code:I.invalid_type,expected:b.number,received:J.parsedType}),c}let F=void 0,X=new iD;for(let J of this._def.checks)if(J.kind==="int"){if(!XD.isInteger(D.data))F=this._getOrReturnCtx(D,F),h(F,{code:I.invalid_type,expected:"integer",received:"float",message:J.message}),X.dirty()}else if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)F=this._getOrReturnCtx(D,F),h(F,{code:I.too_small,minimum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),X.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)F=this._getOrReturnCtx(D,F),h(F,{code:I.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),X.dirty()}else if(J.kind==="multipleOf"){if(Iq(D.data,J.value)!==0)F=this._getOrReturnCtx(D,F),h(F,{code:I.not_multiple_of,multipleOf:J.value,message:J.message}),X.dirty()}else if(J.kind==="finite"){if(!Number.isFinite(D.data))F=this._getOrReturnCtx(D,F),h(F,{code:I.not_finite,message:J.message}),X.dirty()}else XD.assertNever(J);return{status:X.value,value:D.data}}gte(D,$){return this.setLimit("min",D,!0,u.toString($))}gt(D,$){return this.setLimit("min",D,!1,u.toString($))}lte(D,$){return this.setLimit("max",D,!0,u.toString($))}lt(D,$){return this.setLimit("max",D,!1,u.toString($))}setLimit(D,$,F,X){return new d2({...this._def,checks:[...this._def.checks,{kind:D,value:$,inclusive:F,message:u.toString(X)}]})}_addCheck(D){return new d2({...this._def,checks:[...this._def.checks,D]})}int(D){return this._addCheck({kind:"int",message:u.toString(D)})}positive(D){return this._addCheck({kind:"min",value:0,inclusive:!1,message:u.toString(D)})}negative(D){return this._addCheck({kind:"max",value:0,inclusive:!1,message:u.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:0,inclusive:!0,message:u.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:0,inclusive:!0,message:u.toString(D)})}multipleOf(D,$){return this._addCheck({kind:"multipleOf",value:D,message:u.toString($)})}finite(D){return this._addCheck({kind:"finite",message:u.toString(D)})}safe(D){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:u.toString(D)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:u.toString(D)})}get minValue(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D}get maxValue(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D}get isInt(){return!!this._def.checks.find((D)=>D.kind==="int"||D.kind==="multipleOf"&&XD.isInteger(D.value))}get isFinite(){let D=null,$=null;for(let F of this._def.checks)if(F.kind==="finite"||F.kind==="int"||F.kind==="multipleOf")return!0;else if(F.kind==="min"){if($===null||F.value>$)$=F.value}else if(F.kind==="max"){if(D===null||F.value<D)D=F.value}return Number.isFinite($)&&Number.isFinite(D)}};d2.create=(D)=>{return new d2({checks:[],typeName:d.ZodNumber,coerce:D?.coerce||!1,...a(D)})};l2=class l2 extends e{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(D){if(this._def.coerce)try{D.data=BigInt(D.data)}catch{return this._getInvalidInput(D)}if(this._getType(D)!==b.bigint)return this._getInvalidInput(D);let F=void 0,X=new iD;for(let J of this._def.checks)if(J.kind==="min"){if(J.inclusive?D.data<J.value:D.data<=J.value)F=this._getOrReturnCtx(D,F),h(F,{code:I.too_small,type:"bigint",minimum:J.value,inclusive:J.inclusive,message:J.message}),X.dirty()}else if(J.kind==="max"){if(J.inclusive?D.data>J.value:D.data>=J.value)F=this._getOrReturnCtx(D,F),h(F,{code:I.too_big,type:"bigint",maximum:J.value,inclusive:J.inclusive,message:J.message}),X.dirty()}else if(J.kind==="multipleOf"){if(D.data%J.value!==BigInt(0))F=this._getOrReturnCtx(D,F),h(F,{code:I.not_multiple_of,multipleOf:J.value,message:J.message}),X.dirty()}else XD.assertNever(J);return{status:X.value,value:D.data}}_getInvalidInput(D){let $=this._getOrReturnCtx(D);return h($,{code:I.invalid_type,expected:b.bigint,received:$.parsedType}),c}gte(D,$){return this.setLimit("min",D,!0,u.toString($))}gt(D,$){return this.setLimit("min",D,!1,u.toString($))}lte(D,$){return this.setLimit("max",D,!0,u.toString($))}lt(D,$){return this.setLimit("max",D,!1,u.toString($))}setLimit(D,$,F,X){return new l2({...this._def,checks:[...this._def.checks,{kind:D,value:$,inclusive:F,message:u.toString(X)}]})}_addCheck(D){return new l2({...this._def,checks:[...this._def.checks,D]})}positive(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:u.toString(D)})}negative(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:u.toString(D)})}nonpositive(D){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:u.toString(D)})}nonnegative(D){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:u.toString(D)})}multipleOf(D,$){return this._addCheck({kind:"multipleOf",value:D,message:u.toString($)})}get minValue(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D}get maxValue(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D}};l2.create=(D)=>{return new l2({checks:[],typeName:d.ZodBigInt,coerce:D?.coerce??!1,...a(D)})};E1=class E1 extends e{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==b.boolean){let F=this._getOrReturnCtx(D);return h(F,{code:I.invalid_type,expected:b.boolean,received:F.parsedType}),c}return aD(D.data)}};E1.create=(D)=>{return new E1({typeName:d.ZodBoolean,coerce:D?.coerce||!1,...a(D)})};R8=class R8 extends e{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==b.date){let J=this._getOrReturnCtx(D);return h(J,{code:I.invalid_type,expected:b.date,received:J.parsedType}),c}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return h(J,{code:I.invalid_date}),c}let F=new iD,X=void 0;for(let J of this._def.checks)if(J.kind==="min"){if(D.data.getTime()<J.value)X=this._getOrReturnCtx(D,X),h(X,{code:I.too_small,message:J.message,inclusive:!0,exact:!1,minimum:J.value,type:"date"}),F.dirty()}else if(J.kind==="max"){if(D.data.getTime()>J.value)X=this._getOrReturnCtx(D,X),h(X,{code:I.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),F.dirty()}else XD.assertNever(J);return{status:F.value,value:new Date(D.data.getTime())}}_addCheck(D){return new R8({...this._def,checks:[...this._def.checks,D]})}min(D,$){return this._addCheck({kind:"min",value:D.getTime(),message:u.toString($)})}max(D,$){return this._addCheck({kind:"max",value:D.getTime(),message:u.toString($)})}get minDate(){let D=null;for(let $ of this._def.checks)if($.kind==="min"){if(D===null||$.value>D)D=$.value}return D!=null?new Date(D):null}get maxDate(){let D=null;for(let $ of this._def.checks)if($.kind==="max"){if(D===null||$.value<D)D=$.value}return D!=null?new Date(D):null}};R8.create=(D)=>{return new R8({checks:[],coerce:D?.coerce||!1,typeName:d.ZodDate,...a(D)})};j6=class j6 extends e{_parse(D){if(this._getType(D)!==b.symbol){let F=this._getOrReturnCtx(D);return h(F,{code:I.invalid_type,expected:b.symbol,received:F.parsedType}),c}return aD(D.data)}};j6.create=(D)=>{return new j6({typeName:d.ZodSymbol,...a(D)})};K1=class K1 extends e{_parse(D){if(this._getType(D)!==b.undefined){let F=this._getOrReturnCtx(D);return h(F,{code:I.invalid_type,expected:b.undefined,received:F.parsedType}),c}return aD(D.data)}};K1.create=(D)=>{return new K1({typeName:d.ZodUndefined,...a(D)})};C1=class C1 extends e{_parse(D){if(this._getType(D)!==b.null){let F=this._getOrReturnCtx(D);return h(F,{code:I.invalid_type,expected:b.null,received:F.parsedType}),c}return aD(D.data)}};C1.create=(D)=>{return new C1({typeName:d.ZodNull,...a(D)})};O8=class O8 extends e{constructor(){super(...arguments);this._any=!0}_parse(D){return aD(D.data)}};O8.create=(D)=>{return new O8({typeName:d.ZodAny,...a(D)})};c2=class c2 extends e{constructor(){super(...arguments);this._unknown=!0}_parse(D){return aD(D.data)}};c2.create=(D)=>{return new c2({typeName:d.ZodUnknown,...a(D)})};A2=class A2 extends e{_parse(D){let $=this._getOrReturnCtx(D);return h($,{code:I.invalid_type,expected:b.never,received:$.parsedType}),c}};A2.create=(D)=>{return new A2({typeName:d.ZodNever,...a(D)})};w6=class w6 extends e{_parse(D){if(this._getType(D)!==b.undefined){let F=this._getOrReturnCtx(D);return h(F,{code:I.invalid_type,expected:b.void,received:F.parsedType}),c}return aD(D.data)}};w6.create=(D)=>{return new w6({typeName:d.ZodVoid,...a(D)})};c0=class c0 extends e{_parse(D){let{ctx:$,status:F}=this._processInputParams(D),X=this._def;if($.parsedType!==b.array)return h($,{code:I.invalid_type,expected:b.array,received:$.parsedType}),c;if(X.exactLength!==null){let Y=$.data.length>X.exactLength.value,G=$.data.length<X.exactLength.value;if(Y||G)h($,{code:Y?I.too_big:I.too_small,minimum:G?X.exactLength.value:void 0,maximum:Y?X.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:X.exactLength.message}),F.dirty()}if(X.minLength!==null){if($.data.length<X.minLength.value)h($,{code:I.too_small,minimum:X.minLength.value,type:"array",inclusive:!0,exact:!1,message:X.minLength.message}),F.dirty()}if(X.maxLength!==null){if($.data.length>X.maxLength.value)h($,{code:I.too_big,maximum:X.maxLength.value,type:"array",inclusive:!0,exact:!1,message:X.maxLength.message}),F.dirty()}if($.common.async)return Promise.all([...$.data].map((Y,G)=>{return X.type._parseAsync(new l0($,Y,$.path,G))})).then((Y)=>{return iD.mergeArray(F,Y)});let J=[...$.data].map((Y,G)=>{return X.type._parseSync(new l0($,Y,$.path,G))});return iD.mergeArray(F,J)}get element(){return this._def.type}min(D,$){return new c0({...this._def,minLength:{value:D,message:u.toString($)}})}max(D,$){return new c0({...this._def,maxLength:{value:D,message:u.toString($)}})}length(D,$){return new c0({...this._def,exactLength:{value:D,message:u.toString($)}})}nonempty(D){return this.min(1,D)}};c0.create=(D,$)=>{return new c0({type:D,minLength:null,maxLength:null,exactLength:null,typeName:d.ZodArray,...a($)})};LD=class LD extends e{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let D=this._def.shape(),$=XD.objectKeys(D);return this._cached={shape:D,keys:$},this._cached}_parse(D){if(this._getType(D)!==b.object){let H=this._getOrReturnCtx(D);return h(H,{code:I.invalid_type,expected:b.object,received:H.parsedType}),c}let{status:F,ctx:X}=this._processInputParams(D),{shape:J,keys:Y}=this._getCached(),G=[];if(!(this._def.catchall instanceof A2&&this._def.unknownKeys==="strip")){for(let H in X.data)if(!Y.includes(H))G.push(H)}let B=[];for(let H of Y){let W=J[H],U=X.data[H];B.push({key:{status:"valid",value:H},value:W._parse(new l0(X,U,X.path,H)),alwaysSet:H in X.data})}if(this._def.catchall instanceof A2){let H=this._def.unknownKeys;if(H==="passthrough")for(let W of G)B.push({key:{status:"valid",value:W},value:{status:"valid",value:X.data[W]}});else if(H==="strict"){if(G.length>0)h(X,{code:I.unrecognized_keys,keys:G}),F.dirty()}else if(H==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let H=this._def.catchall;for(let W of G){let U=X.data[W];B.push({key:{status:"valid",value:W},value:H._parse(new l0(X,U,X.path,W)),alwaysSet:W in X.data})}}if(X.common.async)return Promise.resolve().then(async()=>{let H=[];for(let W of B){let U=await W.key,A=await W.value;H.push({key:U,value:A,alwaysSet:W.alwaysSet})}return H}).then((H)=>{return iD.mergeObjectSync(F,H)});else return iD.mergeObjectSync(F,B)}get shape(){return this._def.shape()}strict(D){return u.errToObj,new LD({...this._def,unknownKeys:"strict",...D!==void 0?{errorMap:($,F)=>{let X=this._def.errorMap?.($,F).message??F.defaultError;if($.code==="unrecognized_keys")return{message:u.errToObj(D).message??X};return{message:X}}}:{}})}strip(){return new LD({...this._def,unknownKeys:"strip"})}passthrough(){return new LD({...this._def,unknownKeys:"passthrough"})}extend(D){return new LD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new LD({unknownKeys:D._def.unknownKeys,catchall:D._def.catchall,shape:()=>({...this._def.shape(),...D._def.shape()}),typeName:d.ZodObject})}setKey(D,$){return this.augment({[D]:$})}catchall(D){return new LD({...this._def,catchall:D})}pick(D){let $={};for(let F of XD.objectKeys(D))if(D[F]&&this.shape[F])$[F]=this.shape[F];return new LD({...this._def,shape:()=>$})}omit(D){let $={};for(let F of XD.objectKeys(this.shape))if(!D[F])$[F]=this.shape[F];return new LD({...this._def,shape:()=>$})}deepPartial(){return V1(this)}partial(D){let $={};for(let F of XD.objectKeys(this.shape)){let X=this.shape[F];if(D&&!D[F])$[F]=X;else $[F]=X.optional()}return new LD({...this._def,shape:()=>$})}required(D){let $={};for(let F of XD.objectKeys(this.shape))if(D&&!D[F])$[F]=this.shape[F];else{let J=this.shape[F];while(J instanceof d0)J=J._def.innerType;$[F]=J}return new LD({...this._def,shape:()=>$})}keyof(){return jY(XD.objectKeys(this.shape))}};LD.create=(D,$)=>{return new LD({shape:()=>D,unknownKeys:"strip",catchall:A2.create(),typeName:d.ZodObject,...a($)})};LD.strictCreate=(D,$)=>{return new LD({shape:()=>D,unknownKeys:"strict",catchall:A2.create(),typeName:d.ZodObject,...a($)})};LD.lazycreate=(D,$)=>{return new LD({shape:D,unknownKeys:"strip",catchall:A2.create(),typeName:d.ZodObject,...a($)})};R1=class R1 extends e{_parse(D){let{ctx:$}=this._processInputParams(D),F=this._def.options;function X(J){for(let G of J)if(G.result.status==="valid")return G.result;for(let G of J)if(G.result.status==="dirty")return $.common.issues.push(...G.ctx.common.issues),G.result;let Y=J.map((G)=>new Y0(G.ctx.common.issues));return h($,{code:I.invalid_union,unionErrors:Y}),c}if($.common.async)return Promise.all(F.map(async(J)=>{let Y={...$,common:{...$.common,issues:[]},parent:null};return{result:await J._parseAsync({data:$.data,path:$.path,parent:Y}),ctx:Y}})).then(X);else{let J=void 0,Y=[];for(let B of F){let H={...$,common:{...$.common,issues:[]},parent:null},W=B._parseSync({data:$.data,path:$.path,parent:H});if(W.status==="valid")return W;else if(W.status==="dirty"&&!J)J={result:W,ctx:H};if(H.common.issues.length)Y.push(H.common.issues)}if(J)return $.common.issues.push(...J.ctx.common.issues),J.result;let G=Y.map((B)=>new Y0(B));return h($,{code:I.invalid_union,unionErrors:G}),c}}get options(){return this._def.options}};R1.create=(D,$)=>{return new R1({options:D,typeName:d.ZodUnion,...a($)})};j9=class j9 extends e{_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==b.object)return h($,{code:I.invalid_type,expected:b.object,received:$.parsedType}),c;let F=this.discriminator,X=$.data[F],J=this.optionsMap.get(X);if(!J)return h($,{code:I.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[F]}),c;if($.common.async)return J._parseAsync({data:$.data,path:$.path,parent:$});else return J._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(D,$,F){let X=new Map;for(let J of $){let Y=L2(J.shape[D]);if(!Y.length)throw Error(`A discriminator value for key \`${D}\` could not be extracted from all schema options`);for(let G of Y){if(X.has(G))throw Error(`Discriminator property ${String(D)} has duplicate value ${String(G)}`);X.set(G,J)}}return new j9({typeName:d.ZodDiscriminatedUnion,discriminator:D,options:$,optionsMap:X,...a(F)})}};O1=class O1 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D),X=(J,Y)=>{if(L9(J)||L9(Y))return c;let G=c5(J.value,Y.value);if(!G.valid)return h(F,{code:I.invalid_intersection_types}),c;if(z9(J)||z9(Y))$.dirty();return{status:$.value,value:G.data}};if(F.common.async)return Promise.all([this._def.left._parseAsync({data:F.data,path:F.path,parent:F}),this._def.right._parseAsync({data:F.data,path:F.path,parent:F})]).then(([J,Y])=>X(J,Y));else return X(this._def.left._parseSync({data:F.data,path:F.path,parent:F}),this._def.right._parseSync({data:F.data,path:F.path,parent:F}))}};O1.create=(D,$,F)=>{return new O1({left:D,right:$,typeName:d.ZodIntersection,...a(F)})};V2=class V2 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==b.array)return h(F,{code:I.invalid_type,expected:b.array,received:F.parsedType}),c;if(F.data.length<this._def.items.length)return h(F,{code:I.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),c;if(!this._def.rest&&F.data.length>this._def.items.length)h(F,{code:I.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let J=[...F.data].map((Y,G)=>{let B=this._def.items[G]||this._def.rest;if(!B)return null;return B._parse(new l0(F,Y,F.path,G))}).filter((Y)=>!!Y);if(F.common.async)return Promise.all(J).then((Y)=>{return iD.mergeArray($,Y)});else return iD.mergeArray($,J)}get items(){return this._def.items}rest(D){return new V2({...this._def,rest:D})}};V2.create=(D,$)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new V2({items:D,typeName:d.ZodTuple,rest:null,...a($)})};I6=class I6 extends e{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==b.object)return h(F,{code:I.invalid_type,expected:b.object,received:F.parsedType}),c;let X=[],J=this._def.keyType,Y=this._def.valueType;for(let G in F.data)X.push({key:J._parse(new l0(F,G,F.path,G)),value:Y._parse(new l0(F,F.data[G],F.path,G)),alwaysSet:G in F.data});if(F.common.async)return iD.mergeObjectAsync($,X);else return iD.mergeObjectSync($,X)}get element(){return this._def.valueType}static create(D,$,F){if($ instanceof e)return new I6({keyType:D,valueType:$,typeName:d.ZodRecord,...a(F)});return new I6({keyType:p0.create(),valueType:D,typeName:d.ZodRecord,...a($)})}};T6=class T6 extends e{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==b.map)return h(F,{code:I.invalid_type,expected:b.map,received:F.parsedType}),c;let X=this._def.keyType,J=this._def.valueType,Y=[...F.data.entries()].map(([G,B],H)=>{return{key:X._parse(new l0(F,G,F.path,[H,"key"])),value:J._parse(new l0(F,B,F.path,[H,"value"]))}});if(F.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let B of Y){let H=await B.key,W=await B.value;if(H.status==="aborted"||W.status==="aborted")return c;if(H.status==="dirty"||W.status==="dirty")$.dirty();G.set(H.value,W.value)}return{status:$.value,value:G}})}else{let G=new Map;for(let B of Y){let{key:H,value:W}=B;if(H.status==="aborted"||W.status==="aborted")return c;if(H.status==="dirty"||W.status==="dirty")$.dirty();G.set(H.value,W.value)}return{status:$.value,value:G}}}};T6.create=(D,$,F)=>{return new T6({valueType:$,keyType:D,typeName:d.ZodMap,...a(F)})};M8=class M8 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==b.set)return h(F,{code:I.invalid_type,expected:b.set,received:F.parsedType}),c;let X=this._def;if(X.minSize!==null){if(F.data.size<X.minSize.value)h(F,{code:I.too_small,minimum:X.minSize.value,type:"set",inclusive:!0,exact:!1,message:X.minSize.message}),$.dirty()}if(X.maxSize!==null){if(F.data.size>X.maxSize.value)h(F,{code:I.too_big,maximum:X.maxSize.value,type:"set",inclusive:!0,exact:!1,message:X.maxSize.message}),$.dirty()}let J=this._def.valueType;function Y(B){let H=new Set;for(let W of B){if(W.status==="aborted")return c;if(W.status==="dirty")$.dirty();H.add(W.value)}return{status:$.value,value:H}}let G=[...F.data.values()].map((B,H)=>J._parse(new l0(F,B,F.path,H)));if(F.common.async)return Promise.all(G).then((B)=>Y(B));else return Y(G)}min(D,$){return new M8({...this._def,minSize:{value:D,message:u.toString($)}})}max(D,$){return new M8({...this._def,maxSize:{value:D,message:u.toString($)}})}size(D,$){return this.min(D,$).max(D,$)}nonempty(D){return this.min(1,D)}};M8.create=(D,$)=>{return new M8({valueType:D,minSize:null,maxSize:null,typeName:d.ZodSet,...a($)})};Q1=class Q1 extends e{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==b.function)return h($,{code:I.invalid_type,expected:b.function,received:$.parsedType}),c;function F(G,B){return z6({data:G,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U1(),Z2].filter((H)=>!!H),issueData:{code:I.invalid_arguments,argumentsError:B}})}function X(G,B){return z6({data:G,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,U1(),Z2].filter((H)=>!!H),issueData:{code:I.invalid_return_type,returnTypeError:B}})}let J={errorMap:$.common.contextualErrorMap},Y=$.data;if(this._def.returns instanceof q8){let G=this;return aD(async function(...B){let H=new Y0([]),W=await G._def.args.parseAsync(B,J).catch((V)=>{throw H.addIssue(F(B,V)),H}),U=await Reflect.apply(Y,this,W);return await G._def.returns._def.type.parseAsync(U,J).catch((V)=>{throw H.addIssue(X(U,V)),H})})}else{let G=this;return aD(function(...B){let H=G._def.args.safeParse(B,J);if(!H.success)throw new Y0([F(B,H.error)]);let W=Reflect.apply(Y,this,H.data),U=G._def.returns.safeParse(W,J);if(!U.success)throw new Y0([X(W,U.error)]);return U.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new Q1({...this._def,args:V2.create(D).rest(c2.create())})}returns(D){return new Q1({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,$,F){return new Q1({args:D?D:V2.create([]).rest(c2.create()),returns:$||c2.create(),typeName:d.ZodFunction,...a(F)})}};M1=class M1 extends e{get schema(){return this._def.getter()}_parse(D){let{ctx:$}=this._processInputParams(D);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}};M1.create=(D,$)=>{return new M1({getter:D,typeName:d.ZodLazy,...a($)})};q1=class q1 extends e{_parse(D){if(D.data!==this._def.value){let $=this._getOrReturnCtx(D);return h($,{received:$.data,code:I.invalid_literal,expected:this._def.value}),c}return{status:"valid",value:D.data}}get value(){return this._def.value}};q1.create=(D,$)=>{return new q1({value:D,typeName:d.ZodLiteral,...a($)})};i2=class i2 extends e{_parse(D){if(typeof D.data!=="string"){let $=this._getOrReturnCtx(D),F=this._def.values;return h($,{expected:XD.joinValues(F),received:$.parsedType,code:I.invalid_type}),c}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(D.data)){let $=this._getOrReturnCtx(D),F=this._def.values;return h($,{received:$.data,code:I.invalid_enum_value,options:F}),c}return aD(D.data)}get options(){return this._def.values}get enum(){let D={};for(let $ of this._def.values)D[$]=$;return D}get Values(){let D={};for(let $ of this._def.values)D[$]=$;return D}get Enum(){let D={};for(let $ of this._def.values)D[$]=$;return D}extract(D,$=this._def){return i2.create(D,{...this._def,...$})}exclude(D,$=this._def){return i2.create(this.options.filter((F)=>!D.includes(F)),{...this._def,...$})}};i2.create=jY;N1=class N1 extends e{_parse(D){let $=XD.getValidEnumValues(this._def.values),F=this._getOrReturnCtx(D);if(F.parsedType!==b.string&&F.parsedType!==b.number){let X=XD.objectValues($);return h(F,{expected:XD.joinValues(X),received:F.parsedType,code:I.invalid_type}),c}if(!this._cache)this._cache=new Set(XD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let X=XD.objectValues($);return h(F,{received:F.data,code:I.invalid_enum_value,options:X}),c}return aD(D.data)}get enum(){return this._def.values}};N1.create=(D,$)=>{return new N1({values:D,typeName:d.ZodNativeEnum,...a($)})};q8=class q8 extends e{unwrap(){return this._def.type}_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==b.promise&&$.common.async===!1)return h($,{code:I.invalid_type,expected:b.promise,received:$.parsedType}),c;let F=$.parsedType===b.promise?$.data:Promise.resolve($.data);return aD(F.then((X)=>{return this._def.type.parseAsync(X,{path:$.path,errorMap:$.common.contextualErrorMap})}))}};q8.create=(D,$)=>{return new q8({type:D,typeName:d.ZodPromise,...a($)})};i0=class i0 extends e{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===d.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(D){let{status:$,ctx:F}=this._processInputParams(D),X=this._def.effect||null,J={addIssue:(Y)=>{if(h(F,Y),Y.fatal)$.abort();else $.dirty()},get path(){return F.path}};if(J.addIssue=J.addIssue.bind(J),X.type==="preprocess"){let Y=X.transform(F.data,J);if(F.common.async)return Promise.resolve(Y).then(async(G)=>{if($.value==="aborted")return c;let B=await this._def.schema._parseAsync({data:G,path:F.path,parent:F});if(B.status==="aborted")return c;if(B.status==="dirty")return C8(B.value);if($.value==="dirty")return C8(B.value);return B});else{if($.value==="aborted")return c;let G=this._def.schema._parseSync({data:Y,path:F.path,parent:F});if(G.status==="aborted")return c;if(G.status==="dirty")return C8(G.value);if($.value==="dirty")return C8(G.value);return G}}if(X.type==="refinement"){let Y=(G)=>{let B=X.refinement(G,J);if(F.common.async)return Promise.resolve(B);if(B instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(F.common.async===!1){let G=this._def.schema._parseSync({data:F.data,path:F.path,parent:F});if(G.status==="aborted")return c;if(G.status==="dirty")$.dirty();return Y(G.value),{status:$.value,value:G.value}}else return this._def.schema._parseAsync({data:F.data,path:F.path,parent:F}).then((G)=>{if(G.status==="aborted")return c;if(G.status==="dirty")$.dirty();return Y(G.value).then(()=>{return{status:$.value,value:G.value}})})}if(X.type==="transform")if(F.common.async===!1){let Y=this._def.schema._parseSync({data:F.data,path:F.path,parent:F});if(!p2(Y))return c;let G=X.transform(Y.value,J);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:G}}else return this._def.schema._parseAsync({data:F.data,path:F.path,parent:F}).then((Y)=>{if(!p2(Y))return c;return Promise.resolve(X.transform(Y.value,J)).then((G)=>({status:$.value,value:G}))});XD.assertNever(X)}};i0.create=(D,$,F)=>{return new i0({schema:D,typeName:d.ZodEffects,effect:$,...a(F)})};i0.createWithPreprocess=(D,$,F)=>{return new i0({schema:$,effect:{type:"preprocess",transform:D},typeName:d.ZodEffects,...a(F)})};d0=class d0 extends e{_parse(D){if(this._getType(D)===b.undefined)return aD(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};d0.create=(D,$)=>{return new d0({innerType:D,typeName:d.ZodOptional,...a($)})};z2=class z2 extends e{_parse(D){if(this._getType(D)===b.null)return aD(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};z2.create=(D,$)=>{return new z2({innerType:D,typeName:d.ZodNullable,...a($)})};P1=class P1 extends e{_parse(D){let{ctx:$}=this._processInputParams(D),F=$.data;if($.parsedType===b.undefined)F=this._def.defaultValue();return this._def.innerType._parse({data:F,path:$.path,parent:$})}removeDefault(){return this._def.innerType}};P1.create=(D,$)=>{return new P1({innerType:D,typeName:d.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...a($)})};Z1=class Z1 extends e{_parse(D){let{ctx:$}=this._processInputParams(D),F={...$,common:{...$.common,issues:[]}},X=this._def.innerType._parse({data:F.data,path:F.path,parent:{...F}});if(A1(X))return X.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new Y0(F.common.issues)},input:F.data})}});else return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new Y0(F.common.issues)},input:F.data})}}removeCatch(){return this._def.innerType}};Z1.create=(D,$)=>{return new Z1({innerType:D,typeName:d.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...a($)})};S6=class S6 extends e{_parse(D){if(this._getType(D)!==b.nan){let F=this._getOrReturnCtx(D);return h(F,{code:I.invalid_type,expected:b.nan,received:F.parsedType}),c}return{status:"valid",value:D.data}}};S6.create=(D)=>{return new S6({typeName:d.ZodNaN,...a(D)})};Tq=Symbol("zod_brand");w9=class w9 extends e{_parse(D){let{ctx:$}=this._processInputParams(D),F=$.data;return this._def.type._parse({data:F,path:$.path,parent:$})}unwrap(){return this._def.type}};f6=class f6 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.common.async)return(async()=>{let J=await this._def.in._parseAsync({data:F.data,path:F.path,parent:F});if(J.status==="aborted")return c;if(J.status==="dirty")return $.dirty(),C8(J.value);else return this._def.out._parseAsync({data:J.value,path:F.path,parent:F})})();else{let X=this._def.in._parseSync({data:F.data,path:F.path,parent:F});if(X.status==="aborted")return c;if(X.status==="dirty")return $.dirty(),{status:"dirty",value:X.value};else return this._def.out._parseSync({data:X.value,path:F.path,parent:F})}}static create(D,$){return new f6({in:D,out:$,typeName:d.ZodPipeline})}};L1=class L1 extends e{_parse(D){let $=this._def.innerType._parse(D),F=(X)=>{if(p2(X))X.value=Object.freeze(X.value);return X};return A1($)?$.then((X)=>F(X)):F($)}unwrap(){return this._def.innerType}};L1.create=(D,$)=>{return new L1({innerType:D,typeName:d.ZodReadonly,...a($)})};Sq={object:LD.lazycreate};(function(D){D.ZodString="ZodString",D.ZodNumber="ZodNumber",D.ZodNaN="ZodNaN",D.ZodBigInt="ZodBigInt",D.ZodBoolean="ZodBoolean",D.ZodDate="ZodDate",D.ZodSymbol="ZodSymbol",D.ZodUndefined="ZodUndefined",D.ZodNull="ZodNull",D.ZodAny="ZodAny",D.ZodUnknown="ZodUnknown",D.ZodNever="ZodNever",D.ZodVoid="ZodVoid",D.ZodArray="ZodArray",D.ZodObject="ZodObject",D.ZodUnion="ZodUnion",D.ZodDiscriminatedUnion="ZodDiscriminatedUnion",D.ZodIntersection="ZodIntersection",D.ZodTuple="ZodTuple",D.ZodRecord="ZodRecord",D.ZodMap="ZodMap",D.ZodSet="ZodSet",D.ZodFunction="ZodFunction",D.ZodLazy="ZodLazy",D.ZodLiteral="ZodLiteral",D.ZodEnum="ZodEnum",D.ZodEffects="ZodEffects",D.ZodNativeEnum="ZodNativeEnum",D.ZodOptional="ZodOptional",D.ZodNullable="ZodNullable",D.ZodDefault="ZodDefault",D.ZodCatch="ZodCatch",D.ZodPromise="ZodPromise",D.ZodBranded="ZodBranded",D.ZodPipeline="ZodPipeline",D.ZodReadonly="ZodReadonly"})(d||(d={}));IY=p0.create,TY=d2.create,bq=S6.create,kq=l2.create,SY=E1.create,vq=R8.create,gq=j6.create,hq=K1.create,xq=C1.create,yq=O8.create,uq=c2.create,mq=A2.create,pq=w6.create,cq=c0.create,dq=LD.create,lq=LD.strictCreate,iq=R1.create,nq=j9.create,sq=O1.create,rq=V2.create,oq=I6.create,aq=T6.create,tq=M8.create,eq=Q1.create,DN=M1.create,$N=q1.create,FN=i2.create,XN=N1.create,JN=q8.create,GN=i0.create,YN=d0.create,BN=z2.create,HN=i0.createWithPreprocess,WN=f6.create,VN={string:(D)=>p0.create({...D,coerce:!0}),number:(D)=>d2.create({...D,coerce:!0}),boolean:(D)=>E1.create({...D,coerce:!0}),bigint:(D)=>l2.create({...D,coerce:!0}),date:(D)=>R8.create({...D,coerce:!0})},QN=c});var _={};W1(_,{void:()=>pq,util:()=>XD,unknown:()=>uq,union:()=>iq,undefined:()=>hq,tuple:()=>rq,transformer:()=>GN,symbol:()=>gq,string:()=>IY,strictObject:()=>lq,setErrorMap:()=>Bq,set:()=>tq,record:()=>oq,quotelessJson:()=>Gq,promise:()=>JN,preprocess:()=>HN,pipeline:()=>WN,ostring:()=>_N,optional:()=>YN,onumber:()=>UN,oboolean:()=>AN,objectUtil:()=>y5,object:()=>dq,number:()=>TY,nullable:()=>BN,null:()=>xq,never:()=>mq,nativeEnum:()=>XN,nan:()=>bq,map:()=>aq,makeIssue:()=>z6,literal:()=>$N,lazy:()=>DN,late:()=>Sq,isValid:()=>p2,isDirty:()=>z9,isAsync:()=>A1,isAborted:()=>L9,intersection:()=>sq,instanceof:()=>fq,getParsedType:()=>U2,getErrorMap:()=>U1,function:()=>eq,enum:()=>FN,effect:()=>GN,discriminatedUnion:()=>nq,defaultErrorMap:()=>Z2,datetimeRegex:()=>zY,date:()=>vq,custom:()=>wY,coerce:()=>VN,boolean:()=>SY,bigint:()=>kq,array:()=>cq,any:()=>yq,addIssueToContext:()=>h,ZodVoid:()=>w6,ZodUnknown:()=>c2,ZodUnion:()=>R1,ZodUndefined:()=>K1,ZodType:()=>e,ZodTuple:()=>V2,ZodTransformer:()=>i0,ZodSymbol:()=>j6,ZodString:()=>p0,ZodSet:()=>M8,ZodSchema:()=>e,ZodRecord:()=>I6,ZodReadonly:()=>L1,ZodPromise:()=>q8,ZodPipeline:()=>f6,ZodParsedType:()=>b,ZodOptional:()=>d0,ZodObject:()=>LD,ZodNumber:()=>d2,ZodNullable:()=>z2,ZodNull:()=>C1,ZodNever:()=>A2,ZodNativeEnum:()=>N1,ZodNaN:()=>S6,ZodMap:()=>T6,ZodLiteral:()=>q1,ZodLazy:()=>M1,ZodIssueCode:()=>I,ZodIntersection:()=>O1,ZodFunction:()=>Q1,ZodFirstPartyTypeKind:()=>d,ZodError:()=>Y0,ZodEnum:()=>i2,ZodEffects:()=>i0,ZodDiscriminatedUnion:()=>j9,ZodDefault:()=>P1,ZodDate:()=>R8,ZodCatch:()=>Z1,ZodBranded:()=>w9,ZodBoolean:()=>E1,ZodBigInt:()=>l2,ZodArray:()=>c0,ZodAny:()=>O8,Schema:()=>e,ParseStatus:()=>iD,OK:()=>aD,NEVER:()=>QN,INVALID:()=>c,EMPTY_PATH:()=>Hq,DIRTY:()=>C8,BRAND:()=>Tq});var d5=R(()=>{Z9();m5();MY();L6();fY();P9()});var Q0=R(()=>{d5();d5()});function l5(D){return Object.prototype.hasOwnProperty.call(pY,D)}var WD,n0,bY,kY,vY,gY,hY,xY,yY,uY,mY,I9,T9,pY;var cY=R(()=>{Q0();WD={WORKER_ONLINE:"worker.online",WORKER_OFFLINE:"worker.offline",CHAT_MESSAGE:"chat.message",AGENT_THINKING:"agent.thinking",AGENT_TOOL_CALL:"agent.tool_call",AGENT_DONE:"agent.done",CONFIG_CHANGED:"config.changed",LOGS_LINE:"logs.line",APPROVAL_REQUESTED:"approval.requested",ENROLLMENT_OTP:"enrollment.otp",ENROLLMENT_APPROVED:"enrollment.approved"},n0=_.object({workerId:_.string().min(1)}),bY=n0.extend({displayName:_.string().optional(),deviceId:_.string().min(1),connectedAt:_.number().int()}),kY=n0.extend({deviceId:_.string().min(1),reason:_.enum(["disconnected","expired","kicked"]).optional(),disconnectedAt:_.number().int()}),vY=n0.extend({conversationId:_.string().min(1),role:_.enum(["user","assistant","system"]),content:_.string(),createdAt:_.number().int()}),gY=n0.extend({conversationId:_.string().min(1),taskId:_.string().min(1).optional(),chunk:_.string().optional()}),hY=n0.extend({conversationId:_.string().min(1),taskId:_.string().min(1).optional(),toolCallId:_.string().min(1),toolName:_.string().min(1),status:_.enum(["pending","running","success","error"]),args:_.unknown().optional(),result:_.unknown().optional()}),xY=n0.extend({conversationId:_.string().min(1),taskId:_.string().min(1).optional(),finishReason:_.enum(["stop","length","tool_use","error","cancelled"]),usage:_.object({inputTokens:_.number().int().nonnegative().optional(),outputTokens:_.number().int().nonnegative().optional(),totalTokens:_.number().int().nonnegative().optional()}).optional()}),yY=n0.extend({version:_.number().int().nonnegative(),changedAt:_.number().int()}),uY=n0.extend({stream:_.enum(["stdout","stderr"]),line:_.string(),ts:_.number().int()}),mY=n0.extend({taskId:_.string().min(1),toolCallId:_.string().min(1),toolName:_.string().min(1),params:_.record(_.unknown()),expiresAt:_.number().int()}),I9=n0.extend({otp:_.string().min(1),expiresAt:_.number().int()}),T9=n0.extend({deviceToken:_.string().min(1)}),pY={[WD.WORKER_ONLINE]:bY,[WD.WORKER_OFFLINE]:kY,[WD.CHAT_MESSAGE]:vY,[WD.AGENT_THINKING]:gY,[WD.AGENT_TOOL_CALL]:hY,[WD.AGENT_DONE]:xY,[WD.CONFIG_CHANGED]:yY,[WD.LOGS_LINE]:uY,[WD.APPROVAL_REQUESTED]:mY,[WD.ENROLLMENT_OTP]:I9,[WD.ENROLLMENT_APPROVED]:T9}});var RD;var dY=R(()=>{RD=class RD extends Error{code;status;constructor(D,$,F){super(F);this.code=D;this.status=$;this.name="AppError"}static badRequest(D,$="BAD_REQUEST"){return new RD($,400,D)}static notFound(D,$="NOT_FOUND"){return new RD($,404,D)}static internal(D,$="INTERNAL_ERROR"){return new RD($,500,D)}toJSON(){return{error:{code:this.code,message:this.message}}}}});var z1,S9="0123456789abcdefghjkmnpqrstvwxyz";var lY=R(()=>{z1=/^w_[0-9a-hjkmnp-tv-z]{12}$/});function j1(D){return typeof D==="string"&&N8.test(D)}var f9="wtk_",N8;var iY=R(()=>{N8=/^wtk_[\w-]{32,}$/});var i5=R(()=>{lY();iY()});import{randomBytes as KN}from"crypto";function CN(D,$){let F=0,X=0,J="";for(let Y=0;Y<D.length&&J.length<$;Y+=1){X=X<<8|D[Y],F+=8;while(F>=5&&J.length<$)J+=S9[X>>>F-5&31],F-=5}return J.padEnd($,"0")}function n5(){let D=KN(10);return`w_${CN(D,12)}`}var nY=R(()=>{i5()});var s5,r5,b9,o5,sY;var rY=R(()=>{Q0();s5=_.discriminatedUnion("kind",[_.object({kind:_.literal("file_read"),path:_.string()}),_.object({kind:_.literal("file_edit"),path:_.string(),diff:_.string().optional()}),_.object({kind:_.literal("command_run"),command:_.string()}),_.object({kind:_.literal("search"),query:_.string()}),_.object({kind:_.literal("web_fetch"),url:_.string()}),_.object({kind:_.literal("task_plan"),summary:_.string()}),_.object({kind:_.literal("tool"),toolName:_.string(),arguments:_.record(_.unknown()).optional()}),_.object({kind:_.literal("other"),description:_.string().optional()})]),r5=_.enum(["pending","running","success","failed","pending_approval","denied"]),b9=_.object({inputTokens:_.number().int().nonnegative(),outputTokens:_.number().int().nonnegative()}),o5=_.enum(["stop","tool","length","error","cancelled"]),sY=_.discriminatedUnion("type",[_.object({type:_.literal("assistant_message_delta"),delta:_.string()}),_.object({type:_.literal("thinking_delta"),delta:_.string()}),_.object({type:_.literal("tool_use"),id:_.string(),name:_.string(),arguments:_.record(_.unknown()),action:s5,status:r5.optional()}),_.object({type:_.literal("tool_result"),id:_.string(),name:_.string(),content:_.string(),isError:_.boolean().optional()}),_.object({type:_.literal("permission_request"),id:_.string(),reason:_.string(),toolUseId:_.string().optional()}),_.object({type:_.literal("token_usage"),usage:b9}),_.object({type:_.literal("finish"),reason:o5,usage:b9.optional()}),_.object({type:_.literal("error"),error:_.string()})])});var oY=R(()=>{rY()});var s0=R(()=>{dY();i5();nY();oY()});var P8,a5;var t5=R(()=>{Q0();P8={OPERATOR:"operator",NODE:"node"},a5=_.union([_.literal(P8.OPERATOR),_.literal(P8.NODE)])});function b6(D){let $;try{$=JSON.parse(D)}catch(X){return{ok:!1,error:`invalid_json:${X instanceof Error?X.message:String(X)}`}}let F=FB.safeParse($);if(!F.success)return{ok:!1,error:`schema:${F.error.message}`};return{ok:!0,frame:F.data}}function Z8(D){return JSON.stringify(D)}var aY,tY,eY,RN,ON,DB,$B,FB;var XB=R(()=>{s0();Q0();t5();aY=_.object({type:_.literal("connect"),role:a5,agentId:_.string().min(1),deviceId:_.string().min(1),auth:_.object({token:_.string()}),meta:_.record(_.string()).optional(),enroll:_.object({apiToken:_.string().regex(N8,"apiToken must match wtk_<base64url>"),displayName:_.string().min(1).max(80).optional(),mode:_.enum(["join-token","otp"]).optional(),joinToken:_.string().min(1).optional()}).optional().refine((D)=>D===void 0||((D.mode??"join-token")==="otp"?D.joinToken===void 0:!!D.joinToken),{message:"mode=join-token requires joinToken; mode=otp must omit joinToken"})}),tY=_.object({type:_.literal("request"),id:_.string().min(1),method:_.string().min(1),params:_.unknown().optional()}),eY=_.object({code:_.string().min(1),message:_.string(),details:_.unknown().optional()}),RN=_.object({type:_.literal("response"),id:_.string().min(1),ok:_.literal(!0),result:_.unknown()}),ON=_.object({type:_.literal("response"),id:_.string().min(1),ok:_.literal(!1),error:eY}),DB=_.discriminatedUnion("ok",[RN,ON]),$B=_.object({type:_.literal("event"),name:_.string().min(1),payload:_.unknown(),ts:_.number().int()}),FB=_.union([aY,tY,DB,$B])});function SD(D){return D}function v9(D){return Object.prototype.hasOwnProperty.call(nD,D)}function F$(D){if(!v9(D))return;return nD[D]}var e5,MN,qN,JB,D$,NN,PN,ZN,LN,GB,zN,jN,wN,IN,TN,SN,fN,bN,YB,BB,kN,vN,gN,$$,k9,HB,WB,hN,xN,yN,uN,nD;var _B=R(()=>{Q0();e5=_.object({workerId:_.string().min(1),displayName:_.string().optional(),online:_.boolean(),deviceId:_.string().min(1).optional(),baseUrl:_.string().optional(),lastSeenAt:_.number().int().nullable().optional()}),MN=SD({method:"workers.list",description:"\u5217\u51FA fleet \u5185\u6240\u6709\u5DF2\u6CE8\u518C worker\uFF08\u542B online \u72B6\u6001\uFF09\u3002",params:_.object({}).optional().default({}),result:_.object({workers:_.array(e5)}),routing:"operator-to-gateway"}),qN=SD({method:"workers.info",description:"\u8BFB\u53D6\u67D0\u4E2A worker \u7684\u8FD0\u884C\u65F6\u5FEB\u7167\uFF08/worker/info \u7B49\u4EF7\u7269\uFF09\u3002",params:_.object({workerId:_.string().min(1)}),result:_.unknown(),routing:"operator-to-node"}),JB=_.object({workerBaseUrl:_.string().min(1),bootstrapToken:_.string().min(1),displayName:_.string().optional()}),D$=_.object({workerId:_.string().min(1),deviceToken:_.string().min(1)}),NN=SD({method:"workers.pair",description:"\u628A\u4E00\u4E2A\u5DF2\u542F\u52A8\u7684 worker \u901A\u8FC7 bootstrap token \u6CE8\u518C\u5230 fleet\u3002",params:JB,result:D$,routing:"operator-to-gateway"}),PN=SD({method:"workers.launch",description:"\u7531 gateway/supervisor \u672C\u5730\u62C9\u8D77\u4E00\u4E2A worker \u5BB9\u5668\u5E76\u5B8C\u6210\u6CE8\u518C\u3002",params:_.object({displayName:_.string().optional(),image:_.string().optional(),env:_.record(_.string()).optional()}),result:D$,routing:"operator-to-gateway"}),ZN=SD({method:"workers.stop",description:"\u5411\u76EE\u6807 worker \u4E0B\u53D1\u505C\u6B62\u6307\u4EE4\uFF08\u4E0D\u4ECE fleet \u91CC\u5220\u9664\uFF09\u3002",params:_.object({workerId:_.string().min(1)}),result:_.object({stopped:_.boolean()}),routing:"operator-to-node"}),LN=SD({method:"workers.remove",description:"\u628A worker \u4ECE fleet \u4E2D\u6458\u9664\uFF08\u5B58\u91CF deviceToken \u4F5C\u5E9F\uFF09\u3002",params:_.object({workerId:_.string().min(1)}),result:_.object({removed:_.boolean()}),routing:"operator-to-gateway"}),GB=_.object({otp:_.string().min(1),workerId:_.string().min(1),displayName:_.string().min(1).optional(),submittedAt:_.number().int(),expiresAt:_.number().int()}),zN=SD({method:"enroll.list",description:"\u5217\u51FA gateway \u5F53\u524D\u6240\u6709 pending OTP enrollment \u8BF7\u6C42\u3002",params:_.object({}).optional().default({}),result:_.object({pending:_.array(GB)}),routing:"operator-to-gateway"}),jN=SD({method:"enroll.approve",description:"\u6279\u51C6\u67D0\u6761 pending OTP enrollment\uFF1Afleet.db \u843D row + \u63A8 enrollment.approved \u4E8B\u4EF6\u7ED9\u7B49\u5F85\u4E2D\u7684 worker\u3002",params:_.object({otp:_.string().min(1)}),result:_.object({workerId:_.string().min(1),deviceToken:_.string().min(1)}),routing:"operator-to-gateway"}),wN=SD({method:"enroll.reject",description:"\u62D2\u7EDD\u67D0\u6761 pending OTP\uFF1Aclose 4403 \u7ED9 worker\uFF0Caudit gateway.enrollment.rejected\u3002",params:_.object({otp:_.string().min(1)}),result:_.object({rejected:_.boolean()}),routing:"operator-to-gateway"}),IN=SD({method:"chat.send",description:"\u5411\u76EE\u6807 worker \u7684\u67D0\u4F1A\u8BDD\u8FFD\u52A0\u4E00\u6761\u7528\u6237\u6D88\u606F\u5E76\u89E6\u53D1\u4E00\u6B21 run\u3002",params:_.object({workerId:_.string().min(1),conversationId:_.string().min(1).optional(),content:_.string().min(1),metadata:_.record(_.unknown()).optional()}),result:_.object({conversationId:_.string().min(1),taskId:_.string().min(1).optional(),accepted:_.boolean()}),routing:"operator-to-node"}),TN=SD({method:"config.get",description:"\u8BFB\u53D6 worker \u5F53\u524D\u914D\u7F6E\uFF08\u542B version\uFF09\u3002",params:_.object({workerId:_.string().min(1)}),result:_.object({version:_.number().int().nonnegative(),config:_.unknown()}),routing:"operator-to-node"}),SN=SD({method:"config.put",description:"\u66F4\u65B0 worker \u914D\u7F6E\uFF0C\u4F7F\u7528 ifMatch \u8FDB\u884C\u4E50\u89C2\u9501\u3002",params:_.object({workerId:_.string().min(1),ifMatch:_.number().int().nonnegative(),config:_.unknown()}),result:_.object({version:_.number().int().nonnegative(),appliedAt:_.number().int()}),routing:"operator-to-node"}),fN=SD({method:"token.rotate",description:"\u4E3A\u76EE\u6807 worker \u8F6E\u6362 deviceToken\uFF0C\u65E7 token \u7ACB\u5373\u5931\u6548\u3002",params:_.object({workerId:_.string().min(1)}),result:_.object({deviceToken:_.string().min(1)}),routing:"operator-to-gateway"}),bN=SD({method:"logs.tail",description:"\u8BA2\u9605 worker \u7684\u65E5\u5FD7\u5C3E\u90E8\uFF08\u901A\u8FC7\u540E\u7EED logs.line \u4E8B\u4EF6\u63A8\u9001\uFF09\u3002",params:_.object({workerId:_.string().min(1),follow:_.boolean().optional(),lines:_.number().int().positive().max(1000).optional()}),result:_.object({subscribed:_.boolean()}),routing:"operator-to-node"}),YB=_.enum(["allow","deny"]),BB=_.object({workerId:_.string().min(1),taskId:_.string().min(1),toolCallId:_.string().min(1),toolName:_.string().min(1),params:_.record(_.unknown()),expiresAt:_.number().int()}),kN=SD({method:"approval.list",description:"\u5217\u51FA\u76EE\u6807 worker \u5F53\u524D\u6240\u6709\u6302\u8D77\u7684 per-tool \u5BA1\u6279\u8BF7\u6C42\u3002",params:_.object({workerId:_.string().min(1)}),result:_.object({approvals:_.array(BB)}),routing:"operator-to-node"}),vN=SD({method:"approval.grant",description:"\u89E3\u9501\u67D0\u6761\u6302\u8D77\u7684 tool \u5BA1\u6279\uFF1Aallow \u8BA9 orchestrator \u7EE7\u7EED\u6267\u884C\uFF0Cdeny \u7ACB\u5373\u77ED\u8DEF\u3002",params:_.object({workerId:_.string().min(1),taskId:_.string().min(1),toolCallId:_.string().min(1),decision:YB}),result:_.object({granted:_.boolean()}),routing:"operator-to-node"}),gN=SD({method:"system.presence",description:"operator \u5FC3\u8DF3 / \u8BE2\u95EE\u5F53\u524D online \u7684\u6240\u6709 node \u5217\u8868\u3002",params:_.object({}).optional().default({}),result:_.object({now:_.number().int(),online:_.array(e5)}),routing:"operator-to-gateway"}),$$=_.enum(["web","line","telegram","lark","whatsapp"]),k9=_.object({id:_.string().min(1),expression:_.string().min(1),prompt:_.string().min(1),channel:$$,chatId:_.string().min(1),accountId:_.string().min(1),enabled:_.boolean(),lastRunAt:_.string().nullable(),nextRunAt:_.string().nullable(),createdAt:_.string(),updatedAt:_.string()}),HB=_.object({expression:_.string().min(1),prompt:_.string().min(1),channel:$$,chatId:_.string().min(1),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}),WB=_.object({expression:_.string().min(1).optional(),prompt:_.string().min(1).optional(),channel:$$.optional(),chatId:_.string().min(1).optional(),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}).refine((D)=>Object.keys(D).length>0,{message:"\u81F3\u5C11\u63D0\u4F9B\u4E00\u4E2A\u5F85\u66F4\u65B0\u5B57\u6BB5"}),hN=SD({method:"cron.list",description:"\u5217\u51FA\u76EE\u6807 worker \u4E0A\u6240\u6709 cron \u4EFB\u52A1\uFF08\u542B enabled / lastRunAt / nextRunAt\uFF09\u3002",params:_.object({workerId:_.string().min(1)}),result:_.object({jobs:_.array(k9)}),routing:"operator-to-node"}),xN=SD({method:"cron.add",description:"\u5728\u76EE\u6807 worker \u4E0A\u65B0\u589E\u4E00\u6761 cron \u4EFB\u52A1\uFF1B\u975E\u6CD5 expression \u76F4\u63A5\u5931\u8D25\u3002",params:_.object({workerId:_.string().min(1),job:HB}),result:_.object({job:k9}),routing:"operator-to-node"}),yN=SD({method:"cron.remove",description:"\u5220\u9664\u76EE\u6807 worker \u4E0A\u7684\u67D0\u6761 cron \u4EFB\u52A1\u3002",params:_.object({workerId:_.string().min(1),jobId:_.string().min(1)}),result:_.object({removed:_.boolean()}),routing:"operator-to-node"}),uN=SD({method:"cron.update",description:"\u5C40\u90E8\u66F4\u65B0\u76EE\u6807 worker \u4E0A\u67D0\u6761 cron \u4EFB\u52A1\uFF1B\u6539 expression \u6216 enabled \u4F1A\u91CD\u7B97 nextRunAt\u3002",params:_.object({workerId:_.string().min(1),jobId:_.string().min(1),patch:WB}),result:_.object({job:k9}),routing:"operator-to-node"}),nD={"workers.list":MN,"workers.info":qN,"workers.pair":NN,"workers.launch":PN,"workers.stop":ZN,"workers.remove":LN,"enroll.list":zN,"enroll.approve":jN,"enroll.reject":wN,"chat.send":IN,"config.get":TN,"config.put":SN,"token.rotate":fN,"logs.tail":bN,"system.presence":gN,"approval.list":kN,"approval.grant":vN,"cron.list":hN,"cron.add":xN,"cron.remove":yN,"cron.update":uN}});var L8=R(()=>{cY();XB();_B();t5()});import{access as mN,mkdir as pN,writeFile as cN}from"fs/promises";import{homedir as AB}from"os";import E0 from"path";import dN from"process";function nN(D){return D.startsWith("~")?E0.join(AB(),D.slice(1)):D}function j2(){let D=dN.env[lN];if(D&&D.length>0)return E0.resolve(nN(D));return E0.resolve(AB(),iN)}function z8(D){return E0.join(j2(),"workers",D)}function w1(D){return E0.join(z8(D),"brain")}function sN(D){return E0.join(w1(D),"skills")}function rN(D){return E0.join(w1(D),"memories")}function oN(D){return E0.join(w1(D),"MEMORY.md")}function aN(D){return E0.join(z8(D),"workspaces")}function VB(D){return E0.join(z8(D),"config.yaml")}function tN(D){return E0.join(z8(D),"AGENT.md")}function eN(D){return E0.join(z8(D),"SOUL.md")}function DP(D){return E0.join(z8(D),"USER.md")}async function k6(D){await pN(D,{recursive:!0})}async function g9(D,$){try{await mN(D)}catch{await cN(D,$,{encoding:"utf8"})}}async function X$(D){let $=z8(D);await k6($),await k6(w1(D)),await k6(sN(D)),await k6(rN(D)),await k6(aN(D)),await g9(tN(D),`# Agent ${D}
|
|
73
|
+
|
|
74
|
+
> Draft persona document. Describe the role, responsibilities, and tone that this agent should adopt. The orchestrator may inject this file into the system prompt.
|
|
75
|
+
`),await g9(eN(D),`# Voice of ${D}
|
|
76
|
+
|
|
77
|
+
> Draft voice / style guide. Influences how the agent phrases responses across channels.
|
|
78
|
+
`),await g9(DP(D),`# User profile (maintained by ${D})
|
|
79
|
+
|
|
80
|
+
> The agent writes learned facts about the primary user here over time. Edit by hand to bootstrap.
|
|
81
|
+
`),await g9(oN(D),`# Memory index
|
|
82
|
+
|
|
83
|
+
> One line per memory: \`- [Title](filename.md) \u2014 short description.\`
|
|
84
|
+
`)}var lN="AIWORKER_HOME",iN=".aiworker";var j8=()=>{};var p9={};W1(p9,{saveAimState:()=>G$,resolveGatewayPidPath:()=>x9,resolveGatewayLogPath:()=>y9,resolveAimStatePath:()=>J$,patchAimState:()=>m9,loadAimState:()=>u9});import{chmod as $P,mkdir as FP,readFile as XP,rename as JP,writeFile as GP}from"fs/promises";import h9 from"path";function J$(){return h9.join(j2(),"aim.json")}function x9(){return h9.join(j2(),"aim-gateway.pid")}function y9(){return h9.join(j2(),"aim-gateway.log")}function BP(){return`op-${crypto.randomUUID()}`}function HP(){return{gatewayUrl:YP,deviceId:BP(),deviceToken:""}}function WP(D){if(D===null||typeof D!=="object")return!1;let $=D;return typeof $.gatewayUrl==="string"&&typeof $.deviceId==="string"&&typeof $.deviceToken==="string"&&($.defaultWorkerId===void 0||typeof $.defaultWorkerId==="string")}async function u9(){let D=J$(),$;try{$=await XP(D,"utf8")}catch(X){if(X.code==="ENOENT")return HP();throw X}let F;try{F=JSON.parse($)}catch(X){let J=X instanceof Error?X.message:String(X);throw Error(`aim.json \u89E3\u6790\u5931\u8D25 (${D}): ${J}`)}if(!WP(F))throw Error(`aim.json \u7ED3\u6784\u4E0D\u7B26\u5408 AimState (${D})`);return F}async function G$(D){let $=J$();await FP(h9.dirname($),{recursive:!0});let F=`${$}.tmp`;await GP(F,`${JSON.stringify(D,null,2)}
|
|
85
|
+
`,{encoding:"utf8",mode:384}),await JP(F,$);try{await $P($,384)}catch{}}async function m9(D){let F={...await u9()};for(let[X,J]of Object.entries(D)){if(J===void 0)continue;F[X]=J}return await G$(F),F}var YP="ws://localhost:3000";var w8=R(()=>{j8()});function z(D,$){if(!D||typeof D!=="object")return!1;if(D instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,P))throw Error(`Class "${$.name??"<unknown>"}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let F=Object.getPrototypeOf(D).constructor;if(F)while(F){if(P in F&&F[P]===$[P])return!0;F=Object.getPrototypeOf(F)}return!1}var P;var i=R(()=>{P=Symbol.for("drizzle:entityKind")});var rB,B$,H$;var l9=R(()=>{i();rB=class rB{static[P]="ConsoleLogWriter";write(D){console.log(D)}};B$=class B${static[P]="DefaultLogger";writer;constructor(D){this.writer=D?.writer??new rB}logQuery(D,$){let F=$.map((J)=>{try{return JSON.stringify(J)}catch{return String(J)}}),X=F.length?` -- params: [${F.join(", ")}]`:"";this.writer.write(`Query: ${D}${X}`)}};H$=class H${static[P]="NoopLogger";logQuery(){}}});var K0;var v6=R(()=>{K0=Symbol.for("drizzle:Name")});function n2(D){return D[K0]}function S8(D){return`${D[i9]??"public"}.${D[K0]}`}var i9,n9,oB,W$,_$,g6,aB,TP,k;var tD=R(()=>{i();v6();i9=Symbol.for("drizzle:Schema"),n9=Symbol.for("drizzle:Columns"),oB=Symbol.for("drizzle:ExtraConfigColumns"),W$=Symbol.for("drizzle:OriginalName"),_$=Symbol.for("drizzle:BaseName"),g6=Symbol.for("drizzle:IsAlias"),aB=Symbol.for("drizzle:ExtraConfigBuilder"),TP=Symbol.for("drizzle:IsDrizzleTable");k=class k{static[P]="Table";static Symbol={Name:K0,Schema:i9,OriginalName:W$,Columns:n9,ExtraConfigColumns:oB,BaseName:_$,IsAlias:g6,ExtraConfigBuilder:aB};[K0];[W$];[i9];[n9];[oB];[_$];[g6]=!1;[TP]=!0;[aB]=void 0;constructor(D,$,F){this[K0]=this[W$]=D,this[i9]=$,this[_$]=F}}});var AD;var o0=R(()=>{i();AD=class AD{constructor(D,$){this.table=D,this.config=$,this.name=$.name,this.keyAsName=$.keyAsName,this.notNull=$.notNull,this.default=$.default,this.defaultFn=$.defaultFn,this.onUpdateFn=$.onUpdateFn,this.hasDefault=$.hasDefault,this.primary=$.primaryKey,this.isUnique=$.isUnique,this.uniqueName=$.uniqueName,this.uniqueType=$.uniqueType,this.dataType=$.dataType,this.columnType=$.columnType,this.generated=$.generated,this.generatedIdentity=$.generatedIdentity}static[P]="Column";name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(D){return D}mapToDriverValue(D){return D}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!=="byDefault"}}});var U$;var A$=R(()=>{i();U$=class U${static[P]="ColumnBuilder";config;constructor(D,$,F){this.config={name:D,keyAsName:D==="",notNull:!1,default:void 0,hasDefault:!1,primaryKey:!1,isUnique:!1,uniqueName:void 0,uniqueType:void 0,dataType:$,columnType:F,generated:void 0}}$type(){return this}notNull(){return this.config.notNull=!0,this}default(D){return this.config.default=D,this.config.hasDefault=!0,this}$defaultFn(D){return this.config.defaultFn=D,this.config.hasDefault=!0,this}$default=this.$defaultFn;$onUpdateFn(D){return this.config.onUpdateFn=D,this.config.hasDefault=!0,this}$onUpdate=this.$onUpdateFn;primaryKey(){return this.config.primaryKey=!0,this.config.notNull=!0,this}setName(D){if(this.config.name!=="")return;this.config.name=D}}});function tB(D,...$){return D(...$)}var eB=()=>{};function DH(D,$){return`${D[K0]}_${$.join("_")}_unique`}var $H=R(()=>{v6()});var h6,SP;var FH=R(()=>{o0();i();$H();h6=class h6 extends AD{constructor(D,$){if(!$.uniqueName)$.uniqueName=DH(D,[$.name]);super(D,$);this.table=D}static[P]="PgColumn"};SP=class SP extends h6{static[P]="ExtraConfigColumn";getSQLType(){return this.getSQLType()}indexConfig={order:this.config.order??"asc",nulls:this.config.nulls??"last",opClass:this.config.opClass};defaultConfig={order:"asc",nulls:"last",opClass:void 0};asc(){return this.indexConfig.order="asc",this}desc(){return this.indexConfig.order="desc",this}nullsFirst(){return this.indexConfig.nulls="first",this}nullsLast(){return this.indexConfig.nulls="last",this}op(D){return this.indexConfig.opClass=D,this}}});function JH(D){return!!D&&typeof D==="function"&&XH in D&&D[XH]===!0}var fP,XH,bP;var GH=R(()=>{i();FH();fP=class fP extends h6{static[P]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(D,$){super(D,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}};XH=Symbol.for("drizzle:isPgEnum");bP=class bP extends h6{static[P]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(D,$){super(D,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}});var bD,x6;var a0=R(()=>{i();bD=class bD{static[P]="Subquery";constructor(D,$,F,X=!1,J=[]){this._={brand:"Subquery",sql:D,selectedFields:$,alias:F,isWith:X,usedTables:J}}};x6=class x6 extends bD{static[P]="WithSubquery"}});var YH="0.44.7";var BH=()=>{};var V$,Q$,HH;var WH=R(()=>{eB();BH();HH={startActiveSpan(D,$){if(!V$)return $();if(!Q$)Q$=V$.trace.getTracer("drizzle-orm",YH);return tB((F,X)=>X.startActiveSpan(D,(J)=>{try{return $(J)}catch(Y){throw J.setStatus({code:F.SpanStatusCode.ERROR,message:Y instanceof Error?Y.message:"Unknown error"}),Y}finally{J.end()}}),V$,Q$)}}});var zD;var w2=R(()=>{zD=Symbol.for("drizzle:ViewBaseConfig")});function E$(D){return D!==null&&D!==void 0&&typeof D.getSQL==="function"}function kP(D){let $={sql:"",params:[]};for(let F of D)if($.sql+=F.sql,$.params.push(...F.params),F.typings?.length){if(!$.typings)$.typings=[];$.typings.push(...F.typings)}return $}function _H(D){return typeof D==="object"&&D!==null&&"mapToDriverValue"in D&&typeof D.mapToDriverValue==="function"}function O(D,...$){let F=[];if($.length>0||D.length>0&&D[0]!=="")F.push(new xD(D[0]));for(let[X,J]of $.entries())F.push(J,new xD(D[X+1]));return new y(F)}function y6(D,$){return D.map((F)=>{if(z(F,s2)){if(!(F.name in $))throw Error(`No value for placeholder "${F.name}" was provided`);return $[F.name]}if(z(F,C0)&&z(F.value,s2)){if(!(F.value.name in $))throw Error(`No value for placeholder "${F.value.name}" was provided`);return F.encoder.mapToDriverValue($[F.value.name])}return F})}var xD,y,s9,UH,AH,lc,C0,s2,vP,P0;var rD=R(()=>{i();GH();a0();WH();w2();o0();tD();xD=class xD{static[P]="StringChunk";value;constructor(D){this.value=Array.isArray(D)?D:[D]}getSQL(){return new y([this])}};y=class y{constructor(D){this.queryChunks=D;for(let $ of D)if(z($,k)){let F=$[k.Symbol.Schema];this.usedTables.push(F===void 0?$[k.Symbol.Name]:F+"."+$[k.Symbol.Name])}}static[P]="SQL";decoder=UH;shouldInlineParams=!1;usedTables=[];append(D){return this.queryChunks.push(...D.queryChunks),this}toQuery(D){return HH.startActiveSpan("drizzle.buildSQL",($)=>{let F=this.buildQueryFromSourceParams(this.queryChunks,D);return $?.setAttributes({"drizzle.query.text":F.sql,"drizzle.query.params":JSON.stringify(F.params)}),F})}buildQueryFromSourceParams(D,$){let F=Object.assign({},$,{inlineParams:$.inlineParams||this.shouldInlineParams,paramStartIndex:$.paramStartIndex||{value:0}}),{casing:X,escapeName:J,escapeParam:Y,prepareTyping:G,inlineParams:B,paramStartIndex:H}=F;return kP(D.map((W)=>{if(z(W,xD))return{sql:W.value.join(""),params:[]};if(z(W,s9))return{sql:J(W.value),params:[]};if(W===void 0)return{sql:"",params:[]};if(Array.isArray(W)){let U=[new xD("(")];for(let[A,V]of W.entries())if(U.push(V),A<W.length-1)U.push(new xD(", "));return U.push(new xD(")")),this.buildQueryFromSourceParams(U,F)}if(z(W,y))return this.buildQueryFromSourceParams(W.queryChunks,{...F,inlineParams:B||W.shouldInlineParams});if(z(W,k)){let U=W[k.Symbol.Schema],A=W[k.Symbol.Name];return{sql:U===void 0||W[g6]?J(A):J(U)+"."+J(A),params:[]}}if(z(W,AD)){let U=X.getColumnCasing(W);if($.invokeSource==="indexes")return{sql:J(U),params:[]};let A=W.table[k.Symbol.Schema];return{sql:W.table[g6]||A===void 0?J(W.table[k.Symbol.Name])+"."+J(U):J(A)+"."+J(W.table[k.Symbol.Name])+"."+J(U),params:[]}}if(z(W,P0)){let U=W[zD].schema,A=W[zD].name;return{sql:U===void 0||W[zD].isAlias?J(A):J(U)+"."+J(A),params:[]}}if(z(W,C0)){if(z(W.value,s2))return{sql:Y(H.value++,W),params:[W],typings:["none"]};let U=W.value===null?null:W.encoder.mapToDriverValue(W.value);if(z(U,y))return this.buildQueryFromSourceParams([U],F);if(B)return{sql:this.mapInlineParam(U,F),params:[]};let A=["none"];if(G)A=[G(W.encoder)];return{sql:Y(H.value++,U),params:[U],typings:A}}if(z(W,s2))return{sql:Y(H.value++,W),params:[W],typings:["none"]};if(z(W,y.Aliased)&&W.fieldAlias!==void 0)return{sql:J(W.fieldAlias),params:[]};if(z(W,bD)){if(W._.isWith)return{sql:J(W._.alias),params:[]};return this.buildQueryFromSourceParams([new xD("("),W._.sql,new xD(") "),new s9(W._.alias)],F)}if(JH(W)){if(W.schema)return{sql:J(W.schema)+"."+J(W.enumName),params:[]};return{sql:J(W.enumName),params:[]}}if(E$(W)){if(W.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([W.getSQL()],F);return this.buildQueryFromSourceParams([new xD("("),W.getSQL(),new xD(")")],F)}if(B)return{sql:this.mapInlineParam(W,F),params:[]};return{sql:Y(H.value++,W),params:[W],typings:["none"]}}))}mapInlineParam(D,{escapeString:$}){if(D===null)return"null";if(typeof D==="number"||typeof D==="boolean")return D.toString();if(typeof D==="string")return $(D);if(typeof D==="object"){let F=D.toString();if(F==="[object Object]")return $(JSON.stringify(D));return $(F)}throw Error("Unexpected param value: "+D)}getSQL(){return this}as(D){if(D===void 0)return this;return new y.Aliased(this,D)}mapWith(D){return this.decoder=typeof D==="function"?{mapFromDriverValue:D}:D,this}inlineParams(){return this.shouldInlineParams=!0,this}if(D){return D?this:void 0}};s9=class s9{constructor(D){this.value=D}static[P]="Name";brand;getSQL(){return new y([this])}};UH={mapFromDriverValue:(D)=>D},AH={mapToDriverValue:(D)=>D},lc={...UH,...AH};C0=class C0{constructor(D,$=AH){this.value=D,this.encoder=$}static[P]="Param";brand;getSQL(){return new y([this])}};((D)=>{function $(){return new y([])}D.empty=$;function F(H){return new y(H)}D.fromList=F;function X(H){return new y([new xD(H)])}D.raw=X;function J(H,W){let U=[];for(let[A,V]of H.entries()){if(A>0&&W!==void 0)U.push(W);U.push(V)}return new y(U)}D.join=J;function Y(H){return new s9(H)}D.identifier=Y;function G(H){return new s2(H)}D.placeholder=G;function B(H,W){return new C0(H,W)}D.param=B})(O||(O={}));((D)=>{class ${constructor(F,X){this.sql=F,this.fieldAlias=X}static[P]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}D.Aliased=$})(y||(y={}));s2=class s2{constructor(D){this.name=D}static[P]="Placeholder";getSQL(){return new y([this])}};vP=Symbol.for("drizzle:IsDrizzleView");P0=class P0{static[P]="View";[zD];[vP]=!0;constructor({name:D,schema:$,selectedFields:F,query:X}){this[zD]={name:D,originalName:D,schema:$,selectedFields:F,query:X,isExisting:!X,isAlias:!1}}getSQL(){return new y([this])}};AD.prototype.getSQL=function(){return new y([this])};k.prototype.getSQL=function(){return new y([this])};bD.prototype.getSQL=function(){return new y([this])}});function K$(D,$,F){let X={},J=D.reduce((Y,{path:G,field:B},H)=>{let W;if(z(B,AD))W=B;else if(z(B,y))W=B.decoder;else W=B.sql.decoder;let U=Y;for(let[A,V]of G.entries())if(A<G.length-1){if(!(V in U))U[V]={};U=U[V]}else{let E=$[H],C=U[V]=E===null?null:W.mapFromDriverValue(E);if(F&&z(B,AD)&&G.length===2){let K=G[0];if(!(K in X))X[K]=C===null?n2(B.table):!1;else if(typeof X[K]==="string"&&X[K]!==n2(B.table))X[K]=!1}}return Y},{});if(F&&Object.keys(X).length>0){for(let[Y,G]of Object.entries(X))if(typeof G==="string"&&!F[G])J[Y]=null}return J}function Z0(D,$){return Object.entries(D).reduce((F,[X,J])=>{if(typeof X!=="string")return F;let Y=$?[...$,X]:[X];if(z(J,AD)||z(J,y)||z(J,y.Aliased))F.push({path:Y,field:J});else if(z(J,k))F.push(...Z0(J[k.Symbol.Columns],Y));else F.push(...Z0(J,Y));return F},[])}function u6(D,$){let F=Object.keys(D),X=Object.keys($);if(F.length!==X.length)return!1;for(let[J,Y]of F.entries())if(Y!==X[J])return!1;return!0}function r9(D,$){let F=Object.entries($).filter(([,X])=>X!==void 0).map(([X,J])=>{if(z(J,y)||z(J,AD))return[X,J];else return[X,new C0(J,D[k.Symbol.Columns][X])]});if(F.length===0)throw Error("No values to set");return Object.fromEntries(F)}function VH(D,$){for(let F of $)for(let X of Object.getOwnPropertyNames(F.prototype)){if(X==="constructor")continue;Object.defineProperty(D.prototype,X,Object.getOwnPropertyDescriptor(F.prototype,X)||Object.create(null))}}function QH(D){return D[k.Symbol.Columns]}function m6(D){return z(D,bD)?D._.alias:z(D,P0)?D[zD].name:z(D,y)?void 0:D[k.Symbol.IsAlias]?D[k.Symbol.Name]:D[k.Symbol.BaseName]}function Q2(D,$){return{name:typeof D==="string"&&D.length>0?D:"",config:typeof D==="object"?D:$}}function EH(D){if(typeof D!=="object"||D===null)return!1;if(D.constructor.name!=="Object")return!1;if("logger"in D){let $=typeof D.logger;if($!=="boolean"&&($!=="object"||typeof D.logger.logQuery!=="function")&&$!=="undefined")return!1;return!0}if("schema"in D){let $=typeof D.schema;if($!=="object"&&$!=="undefined")return!1;return!0}if("casing"in D){let $=typeof D.casing;if($!=="string"&&$!=="undefined")return!1;return!0}if("mode"in D){if(D.mode!=="default"||D.mode!=="planetscale"||D.mode!==void 0)return!1;return!0}if("connection"in D){let $=typeof D.connection;if($!=="string"&&$!=="object"&&$!=="undefined")return!1;return!0}if("client"in D){let $=typeof D.client;if($!=="object"&&$!=="function"&&$!=="undefined")return!1;return!0}if(Object.keys(D).length===0)return!0;return!1}var C$;var B0=R(()=>{o0();i();rD();a0();tD();w2();C$=typeof TextDecoder>"u"?null:new TextDecoder});var KH,CH,R$;var RH=R(()=>{i();tD();KH=Symbol.for("drizzle:PgInlineForeignKeys"),CH=Symbol.for("drizzle:EnableRLS");R$=class R$ extends k{static[P]="PgTable";static Symbol=Object.assign({},k.Symbol,{InlineForeignKeys:KH,EnableRLS:CH});[KH]=[];[CH]=!1;[k.Symbol.ExtraConfigBuilder]=void 0;[k.Symbol.ExtraConfigColumns]={}}});var O$,OH;var MH=R(()=>{i();RH();O$=class O${static[P]="PgPrimaryKeyBuilder";columns;name;constructor(D,$){this.columns=D,this.name=$}build(D){return new OH(D,this.columns,this.name)}};OH=class OH{constructor(D,$,F){this.table=D,this.columns=$,this.name=F}static[P]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[R$.Symbol.Name]}_${this.columns.map((D)=>D.name).join("_")}_pk`}}});function H0(D,$){if(_H($)&&!E$(D)&&!z(D,C0)&&!z(D,s2)&&!z(D,AD)&&!z(D,k)&&!z(D,P0))return new C0(D,$);return D}function E2(...D){let $=D.filter((F)=>F!==void 0);if($.length===0)return;if($.length===1)return new y($);return new y([new xD("("),O.join($,new xD(" and ")),new xD(")")])}function NH(...D){let $=D.filter((F)=>F!==void 0);if($.length===0)return;if($.length===1)return new y($);return new y([new xD("("),O.join($,new xD(" or ")),new xD(")")])}function PH(D){return O`not ${D}`}function a9(D,$){if(Array.isArray($)){if($.length===0)return O`false`;return O`${D} in ${$.map((F)=>H0(F,D))}`}return O`${D} in ${H0($,D)}`}function jH(D,$){if(Array.isArray($)){if($.length===0)return O`true`;return O`${D} not in ${$.map((F)=>H0(F,D))}`}return O`${D} not in ${H0($,D)}`}function wH(D){return O`${D} is null`}function IH(D){return O`${D} is not null`}function TH(D){return O`exists ${D}`}function SH(D){return O`not exists ${D}`}function fH(D,$,F){return O`${D} between ${H0($,D)} and ${H0(F,D)}`}function bH(D,$,F){return O`${D} not between ${H0($,D)} and ${H0(F,D)}`}function kH(D,$){return O`${D} like ${$}`}function vH(D,$){return O`${D} not like ${$}`}function gH(D,$){return O`${D} ilike ${$}`}function hH(D,$){return O`${D} not ilike ${$}`}var p=(D,$)=>{return O`${D} = ${H0($,D)}`},qH=(D,$)=>{return O`${D} <> ${H0($,D)}`},ZH=(D,$)=>{return O`${D} > ${H0($,D)}`},LH=(D,$)=>{return O`${D} >= ${H0($,D)}`},zH=(D,$)=>{return O`${D} < ${H0($,D)}`},o9=(D,$)=>{return O`${D} <= ${H0($,D)}`};var xH=R(()=>{o0();i();tD();rD()});function p6(D){return O`${D} asc`}function R0(D){return O`${D} desc`}var yH=R(()=>{rD()});var M$=R(()=>{xH();yH()});function mH(){return{and:E2,between:fH,eq:p,exists:TH,gt:ZH,gte:LH,ilike:gH,inArray:a9,isNull:wH,isNotNull:IH,like:kH,lt:zH,lte:o9,ne:qH,not:PH,notBetween:bH,notExists:SH,notLike:vH,notIlike:hH,notInArray:jH,or:NH,sql:O}}function pH(){return{sql:O,asc:p6,desc:R0}}function cH(D,$){if(Object.keys(D).length===1&&"default"in D&&!z(D.default,k))D=D.default;let F={},X={},J={};for(let[Y,G]of Object.entries(D))if(z(G,k)){let B=S8(G),H=X[B];F[B]=Y,J[Y]={tsName:Y,dbName:G[k.Symbol.Name],schema:G[k.Symbol.Schema],columns:G[k.Symbol.Columns],relations:H?.relations??{},primaryKey:H?.primaryKey??[]};for(let U of Object.values(G[k.Symbol.Columns]))if(U.primary)J[Y].primaryKey.push(U);let W=G[k.Symbol.ExtraConfigBuilder]?.(G[k.Symbol.ExtraConfigColumns]);if(W){for(let U of Object.values(W))if(z(U,O$))J[Y].primaryKey.push(...U.columns)}}else if(z(G,uH)){let B=S8(G.table),H=F[B],W=G.config($(G.table)),U;for(let[A,V]of Object.entries(W))if(H){let E=J[H];if(E.relations[A]=V,U)E.primaryKey.push(...U)}else{if(!(B in X))X[B]={relations:{},primaryKey:U};X[B].relations[A]=V}}return{tables:J,tableNamesMap:F}}function gP(D){return function(F,X){return new r2(D,F,X,X?.fields.reduce((J,Y)=>J&&Y.notNull,!0)??!1)}}function hP(D){return function(F,X){return new c6(D,F,X)}}function dH(D,$,F){if(z(F,r2)&&F.config)return{fields:F.config.fields,references:F.config.references};let X=$[S8(F.referencedTable)];if(!X)throw Error(`Table "${F.referencedTable[k.Symbol.Name]}" not found in schema`);let J=D[X];if(!J)throw Error(`Table "${X}" not found in schema`);let Y=F.sourceTable,G=$[S8(Y)];if(!G)throw Error(`Table "${Y[k.Symbol.Name]}" not found in schema`);let B=[];for(let H of Object.values(J.relations))if(F.relationName&&F!==H&&H.relationName===F.relationName||!F.relationName&&H.referencedTable===F.sourceTable)B.push(H);if(B.length>1)throw F.relationName?Error(`There are multiple relations with name "${F.relationName}" in table "${X}"`):Error(`There are multiple relations between "${X}" and "${F.sourceTable[k.Symbol.Name]}". Please specify relation name`);if(B[0]&&z(B[0],r2)&&B[0].config)return{fields:B[0].config.references,references:B[0].config.fields};throw Error(`There is not enough information to infer relation "${G}.${F.fieldName}"`)}function lH(D){return{one:gP(D),many:hP(D)}}function t9(D,$,F,X,J=(Y)=>Y){let Y={};for(let[G,B]of X.entries())if(B.isJson){let H=$.relations[B.tsKey],W=F[G],U=typeof W==="string"?JSON.parse(W):W;Y[B.tsKey]=z(H,r2)?U&&t9(D,D[B.relationTableTsKey],U,B.selection,J):U.map((A)=>t9(D,D[B.relationTableTsKey],A,B.selection,J))}else{let H=J(F[G]),W=B.field,U;if(z(W,AD))U=W;else if(z(W,y))U=W.decoder;else U=W.sql.decoder;Y[B.tsKey]=H===null?null:U.mapFromDriverValue(H)}return Y}var q$,uH,r2,c6;var d6=R(()=>{tD();o0();i();MH();M$();rD();q$=class q${constructor(D,$,F){this.sourceTable=D,this.referencedTable=$,this.relationName=F,this.referencedTableName=$[k.Symbol.Name]}static[P]="Relation";referencedTableName;fieldName};uH=class uH{constructor(D,$){this.table=D,this.config=$}static[P]="Relations"};r2=class r2 extends q${constructor(D,$,F,X){super(D,$,F?.relationName);this.config=F,this.isNullable=X}static[P]="One";withFieldName(D){let $=new r2(this.sourceTable,this.referencedTable,this.config,this.isNullable);return $.fieldName=D,$}};c6=class c6 extends q${constructor(D,$,F){super(D,$,F?.relationName);this.config=F}static[P]="Many";withFieldName(D){let $=new c6(this.sourceTable,this.referencedTable,this.config);return $.fieldName=D,$}}});function e9(D,$){return new Proxy(D,new l6($,!1))}function K2(D,$){return new Proxy(D,new T1(new Proxy(D.table,new l6($,!1))))}function N$(D,$){return new y.Aliased(i6(D.sql,$),D.fieldAlias)}function i6(D,$){return O.join(D.queryChunks.map((F)=>{if(z(F,AD))return K2(F,$);if(z(F,y))return i6(F,$);if(z(F,y.Aliased))return N$(F,$);return F}))}var T1,l6;var D7=R(()=>{o0();i();rD();tD();w2();T1=class T1{constructor(D){this.table=D}static[P]="ColumnAliasProxyHandler";get(D,$){if($==="table")return this.table;return D[$]}};l6=class l6{constructor(D,$){this.alias=D,this.replaceOriginalName=$}static[P]="TableAliasProxyHandler";get(D,$){if($===k.Symbol.IsAlias)return!0;if($===k.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===k.Symbol.OriginalName)return this.alias;if($===zD)return{...D[zD],name:this.alias,isAlias:!0};if($===k.Symbol.Columns){let X=D[k.Symbol.Columns];if(!X)return X;let J={};return Object.keys(X).map((Y)=>{J[Y]=new Proxy(X[Y],new T1(new Proxy(D,this)))}),J}let F=D[$];if(z(F,AD))return new Proxy(F,new T1(new Proxy(D,this)));return F}}});var kD;var S1=R(()=>{D7();o0();i();rD();a0();w2();kD=class kD{static[P]="SelectionProxyHandler";config;constructor(D){this.config={...D}}get(D,$){if($==="_")return{...D._,selectedFields:new Proxy(D._.selectedFields,this)};if($===zD)return{...D[zD],selectedFields:new Proxy(D[zD].selectedFields,this)};if(typeof $==="symbol")return D[$];let X=(z(D,bD)?D._.selectedFields:z(D,P0)?D[zD].selectedFields:D)[$];if(z(X,y.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!X.isSelectionField)return X.sql;let J=X.clone();return J.isSelectionField=!0,J}if(z(X,y)){if(this.config.sqlBehavior==="sql")return X;throw Error(`You tried to reference "${$}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}if(z(X,AD)){if(this.config.alias)return new Proxy(X,new T1(new Proxy(X.table,new l6(this.config.alias,this.config.replaceOriginalName??!1))));return X}if(typeof X!=="object"||X===null)return X;return new Proxy(X,new kD(this.config))}}});var G0;var I2=R(()=>{i();G0=class G0{static[P]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(D){return this.then(void 0,D)}finally(D){return this.then(($)=>{return D?.(),$},($)=>{throw D?.(),$})}then(D,$){return this.execute().then(D,$)}}});var P$,iH;var Z$=R(()=>{i();v6();P$=class P${static[P]="SQLiteForeignKeyBuilder";reference;_onUpdate;_onDelete;constructor(D,$){if(this.reference=()=>{let{name:F,columns:X,foreignColumns:J}=D();return{name:F,columns:X,foreignTable:J[0].table,foreignColumns:J}},$)this._onUpdate=$.onUpdate,this._onDelete=$.onDelete}onUpdate(D){return this._onUpdate=D,this}onDelete(D){return this._onDelete=D,this}build(D){return new iH(D,this)}};iH=class iH{constructor(D,$){this.table=D,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[P]="SQLiteForeignKey";reference;onUpdate;onDelete;getName(){let{name:D,columns:$,foreignColumns:F}=this.reference(),X=$.map((G)=>G.name),J=F.map((G)=>G.name),Y=[this.table[K0],...X,F[0].table[K0],...J];return D??`${Y.join("_")}_fk`}}});function nH(D,$){return`${D[K0]}_${$.join("_")}_unique`}var L$=R(()=>{v6()});var pD,ID;var o2=R(()=>{A$();o0();i();Z$();L$();pD=class pD extends U${static[P]="SQLiteColumnBuilder";foreignKeyConfigs=[];references(D,$={}){return this.foreignKeyConfigs.push({ref:D,actions:$}),this}unique(D){return this.config.isUnique=!0,this.config.uniqueName=D,this}generatedAlwaysAs(D,$){return this.config.generated={as:D,type:"always",mode:$?.mode??"virtual"},this}buildForeignKeys(D,$){return this.foreignKeyConfigs.map(({ref:F,actions:X})=>{return((J,Y)=>{let G=new P$(()=>{let B=J();return{columns:[D],foreignColumns:[B]}});if(Y.onUpdate)G.onUpdate(Y.onUpdate);if(Y.onDelete)G.onDelete(Y.onDelete);return G.build($)})(F,X)})}};ID=class ID extends AD{constructor(D,$){if(!$.uniqueName)$.uniqueName=nH(D,[$.name]);super(D,$);this.table=D}static[P]="SQLiteColumn"}});function DW(D,$){let{name:F,config:X}=Q2(D,$);if(X?.mode==="json")return new oH(F);if(X?.mode==="bigint")return new sH(F);return new tH(F)}var sH,rH,oH,aH,tH,eH;var z$=R(()=>{i();B0();o2();sH=class sH extends pD{static[P]="SQLiteBigIntBuilder";constructor(D){super(D,"bigint","SQLiteBigInt")}build(D){return new rH(D,this.config)}};rH=class rH extends ID{static[P]="SQLiteBigInt";getSQLType(){return"blob"}mapFromDriverValue(D){if(typeof Buffer<"u"&&Buffer.from){let $=Buffer.isBuffer(D)?D:D instanceof ArrayBuffer?Buffer.from(D):D.buffer?Buffer.from(D.buffer,D.byteOffset,D.byteLength):Buffer.from(D);return BigInt($.toString("utf8"))}return BigInt(C$.decode(D))}mapToDriverValue(D){return Buffer.from(D.toString())}};oH=class oH extends pD{static[P]="SQLiteBlobJsonBuilder";constructor(D){super(D,"json","SQLiteBlobJson")}build(D){return new aH(D,this.config)}};aH=class aH extends ID{static[P]="SQLiteBlobJson";getSQLType(){return"blob"}mapFromDriverValue(D){if(typeof Buffer<"u"&&Buffer.from){let $=Buffer.isBuffer(D)?D:D instanceof ArrayBuffer?Buffer.from(D):D.buffer?Buffer.from(D.buffer,D.byteOffset,D.byteLength):Buffer.from(D);return JSON.parse($.toString("utf8"))}return JSON.parse(C$.decode(D))}mapToDriverValue(D){return Buffer.from(JSON.stringify(D))}};tH=class tH extends pD{static[P]="SQLiteBlobBufferBuilder";constructor(D){super(D,"buffer","SQLiteBlobBuffer")}build(D){return new eH(D,this.config)}};eH=class eH extends ID{static[P]="SQLiteBlobBuffer";mapFromDriverValue(D){if(Buffer.isBuffer(D))return D;return Buffer.from(D)}getSQLType(){return"blob"}}});function XW(D){return($,F)=>{let{name:X,config:J}=Q2($,F);return new $W(X,J,D)}}var $W,FW;var j$=R(()=>{i();B0();o2();$W=class $W extends pD{static[P]="SQLiteCustomColumnBuilder";constructor(D,$,F){super(D,"custom","SQLiteCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=F}build(D){return new FW(D,this.config)}};FW=class FW extends ID{static[P]="SQLiteCustomColumn";sqlName;mapTo;mapFrom;constructor(D,$){super(D,$);this.sqlName=$.customTypeParams.dataType($.fieldConfig),this.mapTo=$.customTypeParams.toDriver,this.mapFrom=$.customTypeParams.fromDriver}getSQLType(){return this.sqlName}mapFromDriverValue(D){return typeof this.mapFrom==="function"?this.mapFrom(D):D}mapToDriverValue(D){return typeof this.mapTo==="function"?this.mapTo(D):D}}});function eD(D,$){let{name:F,config:X}=Q2(D,$);if(X?.mode==="timestamp"||X?.mode==="timestamp_ms")return new YW(F,X.mode);if(X?.mode==="boolean")return new HW(F,X.mode);return new JW(F)}var $7,F7,JW,GW,YW,BW,HW,WW;var w$=R(()=>{i();rD();B0();o2();$7=class $7 extends pD{static[P]="SQLiteBaseIntegerBuilder";constructor(D,$,F){super(D,$,F);this.config.autoIncrement=!1}primaryKey(D){if(D?.autoIncrement)this.config.autoIncrement=!0;return this.config.hasDefault=!0,super.primaryKey()}};F7=class F7 extends ID{static[P]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};JW=class JW extends $7{static[P]="SQLiteIntegerBuilder";constructor(D){super(D,"number","SQLiteInteger")}build(D){return new GW(D,this.config)}};GW=class GW extends F7{static[P]="SQLiteInteger"};YW=class YW extends $7{static[P]="SQLiteTimestampBuilder";constructor(D,$){super(D,"date","SQLiteTimestamp");this.config.mode=$}defaultNow(){return this.default(O`(cast((julianday('now') - 2440587.5)*86400000 as integer))`)}build(D){return new BW(D,this.config)}};BW=class BW extends F7{static[P]="SQLiteTimestamp";mode=this.config.mode;mapFromDriverValue(D){if(this.config.mode==="timestamp")return new Date(D*1000);return new Date(D)}mapToDriverValue(D){let $=D.getTime();if(this.config.mode==="timestamp")return Math.floor($/1000);return $}};HW=class HW extends $7{static[P]="SQLiteBooleanBuilder";constructor(D,$){super(D,"boolean","SQLiteBoolean");this.config.mode=$}build(D){return new WW(D,this.config)}};WW=class WW extends F7{static[P]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(D){return Number(D)===1}mapToDriverValue(D){return D?1:0}}});function KW(D,$){let{name:F,config:X}=Q2(D,$),J=X?.mode;return J==="number"?new AW(F):J==="bigint"?new QW(F):new _W(F)}var _W,UW,AW,VW,QW,EW;var I$=R(()=>{i();B0();o2();_W=class _W extends pD{static[P]="SQLiteNumericBuilder";constructor(D){super(D,"string","SQLiteNumeric")}build(D){return new UW(D,this.config)}};UW=class UW extends ID{static[P]="SQLiteNumeric";mapFromDriverValue(D){if(typeof D==="string")return D;return String(D)}getSQLType(){return"numeric"}};AW=class AW extends pD{static[P]="SQLiteNumericNumberBuilder";constructor(D){super(D,"number","SQLiteNumericNumber")}build(D){return new VW(D,this.config)}};VW=class VW extends ID{static[P]="SQLiteNumericNumber";mapFromDriverValue(D){if(typeof D==="number")return D;return Number(D)}mapToDriverValue=String;getSQLType(){return"numeric"}};QW=class QW extends pD{static[P]="SQLiteNumericBigIntBuilder";constructor(D){super(D,"bigint","SQLiteNumericBigInt")}build(D){return new EW(D,this.config)}};EW=class EW extends ID{static[P]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function OW(D){return new CW(D??"")}var CW,RW;var T$=R(()=>{i();o2();CW=class CW extends pD{static[P]="SQLiteRealBuilder";constructor(D){super(D,"number","SQLiteReal")}build(D){return new RW(D,this.config)}};RW=class RW extends ID{static[P]="SQLiteReal";getSQLType(){return"real"}}});function g(D,$={}){let{name:F,config:X}=Q2(D,$);if(X.mode==="json")return new NW(F);return new MW(F,X)}var MW,qW,NW,PW;var S$=R(()=>{i();B0();o2();MW=class MW extends pD{static[P]="SQLiteTextBuilder";constructor(D,$){super(D,"string","SQLiteText");this.config.enumValues=$.enum,this.config.length=$.length}build(D){return new qW(D,this.config)}};qW=class qW extends ID{static[P]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(D,$){super(D,$)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};NW=class NW extends pD{static[P]="SQLiteTextJsonBuilder";constructor(D){super(D,"json","SQLiteTextJson")}build(D){return new PW(D,this.config)}};PW=class PW extends ID{static[P]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(D){return JSON.parse(D)}mapToDriverValue(D){return JSON.stringify(D)}}});function ZW(){return{blob:DW,customType:XW,integer:eD,numeric:KW,real:OW,text:g}}var LW=R(()=>{z$();j$();w$();I$();T$();S$()});function xP(D,$,F,X,J=D){let Y=new cD(D,X,J),G=typeof $==="function"?$(ZW()):$,B=Object.fromEntries(Object.entries(G).map(([W,U])=>{let A=U;A.setName(W);let V=A.build(Y);return Y[f$].push(...A.buildForeignKeys(V,Y)),[W,V]})),H=Object.assign(Y,B);if(H[k.Symbol.Columns]=B,H[k.Symbol.ExtraConfigColumns]=B,F)H[cD.Symbol.ExtraConfigBuilder]=F;return H}var f$,cD,L0=(D,$,F)=>{return xP(D,$,F)};var f8=R(()=>{i();tD();LW();f$=Symbol.for("drizzle:SQLiteInlineForeignKeys");cD=class cD extends k{static[P]="SQLiteTable";static Symbol=Object.assign({},k.Symbol,{InlineForeignKeys:f$});[k.Symbol.Columns];[f$]=[];[k.Symbol.ExtraConfigBuilder]=void 0}});var zW=()=>{};function TW(D){return new jW(D,!0)}var jW,wW,IW;var SW=R(()=>{i();jW=class jW{constructor(D,$){this.name=D,this.unique=$}static[P]="SQLiteIndexBuilderOn";on(...D){return new wW(this.name,D,this.unique)}};wW=class wW{static[P]="SQLiteIndexBuilder";config;constructor(D,$,F){this.config={name:D,columns:$,unique:F,where:void 0}}where(D){return this.config.where=D,this}build(D){return new IW(this.config,D)}};IW=class IW{static[P]="SQLiteIndex";config;constructor(D,$){this.config={...D,table:$}}}});var fW=()=>{};function t0(D){if(z(D,cD))return[`${D[k.Symbol.BaseName]}`];if(z(D,bD))return D._.usedTables??[];if(z(D,y))return D.usedTables??[];return[]}var f1=R(()=>{i();rD();a0();tD();f8()});var X7;var bW=R(()=>{i();I2();S1();f8();tD();B0();f1();X7=class X7 extends G0{constructor(D,$,F,X){super();this.table=D,this.session=$,this.dialect=F,this.config={table:D,withList:X}}static[P]="SQLiteDelete";config;where(D){return this.config.where=D,this}orderBy(...D){if(typeof D[0]==="function"){let $=D[0](new Proxy(this.config.table[k.Symbol.Columns],new kD({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),F=Array.isArray($)?$:[$];this.config.orderBy=F}else{let $=D;this.config.orderBy=$}return this}limit(D){return this.config.limit=D,this}returning(D=this.table[cD.Symbol.Columns]){return this.config.returning=Z0(D),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:D,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(D=!0){return this.session[D?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"delete",tables:t0(this.config.table)})}prepare(){return this._prepare(!1)}run=(D)=>{return this._prepare().run(D)};all=(D)=>{return this._prepare().all(D)};get=(D)=>{return this._prepare().get(D)};values=(D)=>{return this._prepare().values(D)};async execute(D){return this._prepare().execute(D)}$dynamic(){return this}}});function yP(D){return(D.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((F)=>F.toLowerCase()).join("_")}function uP(D){return(D.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).reduce((F,X,J)=>{let Y=J===0?X.toLowerCase():`${X[0].toUpperCase()}${X.slice(1)}`;return F+Y},"")}function mP(D){return D}var b$;var kW=R(()=>{i();tD();b$=class b${static[P]="CasingCache";cache={};cachedTables={};convert;constructor(D){this.convert=D==="snake_case"?yP:D==="camelCase"?uP:mP}getColumnCasing(D){if(!D.keyAsName)return D.name;let $=D.table[k.Symbol.Schema]??"public",F=D.table[k.Symbol.OriginalName],X=`${$}.${F}.${D.name}`;if(!this.cache[X])this.cacheTable(D.table);return this.cache[X]}cacheTable(D){let $=D[k.Symbol.Schema]??"public",F=D[k.Symbol.OriginalName],X=`${$}.${F}`;if(!this.cachedTables[X]){for(let J of Object.values(D[k.Symbol.Columns])){let Y=`${X}.${J.name}`;this.cache[Y]=this.convert(J.name)}this.cachedTables[X]=!0}}clearCache(){this.cache={},this.cachedTables={}}}});var b1,T2,k$;var J7=R(()=>{i();b1=class b1 extends Error{static[P]="DrizzleError";constructor({message:D,cause:$}){super(D);this.name="DrizzleError",this.cause=$}};T2=class T2 extends Error{constructor(D,$,F){super(`Failed query: ${D}
|
|
86
|
+
params: ${$}`);if(this.query=D,this.params=$,this.cause=F,Error.captureStackTrace(this,T2),F)this.cause=F}};k$=class k$ extends b1{static[P]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}});var vW=()=>{};var gW=()=>{};var hW=R(()=>{vW();gW()});var v$=R(()=>{M$();hW();rD()});var g$=R(()=>{z$();o2();j$();w$();I$();T$();S$()});var b8;var G7=R(()=>{i();rD();b8=class b8 extends P0{static[P]="SQLiteViewBase"}});var n6,s6;var Y7=R(()=>{D7();kW();o0();i();J7();d6();v$();rD();g$();f8();a0();tD();B0();w2();G7();n6=class n6{static[P]="SQLiteDialect";casing;constructor(D){this.casing=new b$(D?.casing)}escapeName(D){return`"${D}"`}escapeParam(D){return"?"}escapeString(D){return`'${D.replace(/'/g,"''")}'`}buildWithCTE(D){if(!D?.length)return;let $=[O`with `];for(let[F,X]of D.entries())if($.push(O`${O.identifier(X._.alias)} as (${X._.sql})`),F<D.length-1)$.push(O`, `);return $.push(O` `),O.join($)}buildDeleteQuery({table:D,where:$,returning:F,withList:X,limit:J,orderBy:Y}){let G=this.buildWithCTE(X),B=F?O` returning ${this.buildSelection(F,{isSingleTable:!0})}`:void 0,H=$?O` where ${$}`:void 0,W=this.buildOrderBy(Y),U=this.buildLimit(J);return O`${G}delete from ${D}${H}${B}${W}${U}`}buildUpdateSet(D,$){let F=D[k.Symbol.Columns],X=Object.keys(F).filter((Y)=>$[Y]!==void 0||F[Y]?.onUpdateFn!==void 0),J=X.length;return O.join(X.flatMap((Y,G)=>{let B=F[Y],H=$[Y]??O.param(B.onUpdateFn(),B),W=O`${O.identifier(this.casing.getColumnCasing(B))} = ${H}`;if(G<J-1)return[W,O.raw(", ")];return[W]}))}buildUpdateQuery({table:D,set:$,where:F,returning:X,withList:J,joins:Y,from:G,limit:B,orderBy:H}){let W=this.buildWithCTE(J),U=this.buildUpdateSet(D,$),A=G&&O.join([O.raw(" from "),this.buildFromTable(G)]),V=this.buildJoins(Y),E=X?O` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,C=F?O` where ${F}`:void 0,K=this.buildOrderBy(H),Q=this.buildLimit(B);return O`${W}update ${D} set ${U}${A}${V}${C}${E}${K}${Q}`}buildSelection(D,{isSingleTable:$=!1}={}){let F=D.length,X=D.flatMap(({field:J},Y)=>{let G=[];if(z(J,y.Aliased)&&J.isSelectionField)G.push(O.identifier(J.fieldAlias));else if(z(J,y.Aliased)||z(J,y)){let B=z(J,y.Aliased)?J.sql:J;if($)G.push(new y(B.queryChunks.map((H)=>{if(z(H,AD))return O.identifier(this.casing.getColumnCasing(H));return H})));else G.push(B);if(z(J,y.Aliased))G.push(O` as ${O.identifier(J.fieldAlias)}`)}else if(z(J,AD)){let B=J.table[k.Symbol.Name];if(J.columnType==="SQLiteNumericBigInt")if($)G.push(O`cast(${O.identifier(this.casing.getColumnCasing(J))} as text)`);else G.push(O`cast(${O.identifier(B)}.${O.identifier(this.casing.getColumnCasing(J))} as text)`);else if($)G.push(O.identifier(this.casing.getColumnCasing(J)));else G.push(O`${O.identifier(B)}.${O.identifier(this.casing.getColumnCasing(J))}`)}if(Y<F-1)G.push(O`, `);return G});return O.join(X)}buildJoins(D){if(!D||D.length===0)return;let $=[];if(D)for(let[F,X]of D.entries()){if(F===0)$.push(O` `);let J=X.table,Y=X.on?O` on ${X.on}`:void 0;if(z(J,cD)){let G=J[cD.Symbol.Name],B=J[cD.Symbol.Schema],H=J[cD.Symbol.OriginalName],W=G===H?void 0:X.alias;$.push(O`${O.raw(X.joinType)} join ${B?O`${O.identifier(B)}.`:void 0}${O.identifier(H)}${W&&O` ${O.identifier(W)}`}${Y}`)}else $.push(O`${O.raw(X.joinType)} join ${J}${Y}`);if(F<D.length-1)$.push(O` `)}return O.join($)}buildLimit(D){return typeof D==="object"||typeof D==="number"&&D>=0?O` limit ${D}`:void 0}buildOrderBy(D){let $=[];if(D){for(let[F,X]of D.entries())if($.push(X),F<D.length-1)$.push(O`, `)}return $.length>0?O` order by ${O.join($)}`:void 0}buildFromTable(D){if(z(D,k)&&D[k.Symbol.IsAlias])return O`${O`${O.identifier(D[k.Symbol.Schema]??"")}.`.if(D[k.Symbol.Schema])}${O.identifier(D[k.Symbol.OriginalName])} ${O.identifier(D[k.Symbol.Name])}`;return D}buildSelectQuery({withList:D,fields:$,fieldsFlat:F,where:X,having:J,table:Y,joins:G,orderBy:B,groupBy:H,limit:W,offset:U,distinct:A,setOperators:V}){let E=F??Z0($);for(let o of E)if(z(o.field,AD)&&n2(o.field.table)!==(z(Y,bD)?Y._.alias:z(Y,b8)?Y[zD].name:z(Y,y)?void 0:n2(Y))&&!((uD)=>G?.some(({alias:W2})=>W2===(uD[k.Symbol.IsAlias]?n2(uD):uD[k.Symbol.BaseName])))(o.field.table)){let uD=n2(o.field.table);throw Error(`Your "${o.path.join("->")}" field references a column "${uD}"."${o.field.name}", but the table "${uD}" is not part of the query! Did you forget to join it?`)}let C=!G||G.length===0,K=this.buildWithCTE(D),Q=A?O` distinct`:void 0,q=this.buildSelection(E,{isSingleTable:C}),N=this.buildFromTable(Y),Z=this.buildJoins(G),j=X?O` where ${X}`:void 0,T=J?O` having ${J}`:void 0,L=[];if(H){for(let[o,uD]of H.entries())if(L.push(uD),o<H.length-1)L.push(O`, `)}let v=L.length>0?O` group by ${O.join(L)}`:void 0,w=this.buildOrderBy(B),r=this.buildLimit(W),HD=U?O` offset ${U}`:void 0,GD=O`${K}select${Q} ${q} from ${N}${Z}${j}${v}${T}${w}${r}${HD}`;if(V.length>0)return this.buildSetOperations(GD,V);return GD}buildSetOperations(D,$){let[F,...X]=$;if(!F)throw Error("Cannot pass undefined values to any set operator");if(X.length===0)return this.buildSetOperationQuery({leftSelect:D,setOperator:F});return this.buildSetOperations(this.buildSetOperationQuery({leftSelect:D,setOperator:F}),X)}buildSetOperationQuery({leftSelect:D,setOperator:{type:$,isAll:F,rightSelect:X,limit:J,orderBy:Y,offset:G}}){let B=O`${D.getSQL()} `,H=O`${X.getSQL()}`,W;if(Y&&Y.length>0){let E=[];for(let C of Y)if(z(C,ID))E.push(O.identifier(C.name));else if(z(C,y)){for(let K=0;K<C.queryChunks.length;K++){let Q=C.queryChunks[K];if(z(Q,ID))C.queryChunks[K]=O.identifier(this.casing.getColumnCasing(Q))}E.push(O`${C}`)}else E.push(O`${C}`);W=O` order by ${O.join(E,O`, `)}`}let U=typeof J==="object"||typeof J==="number"&&J>=0?O` limit ${J}`:void 0,A=O.raw(`${$} ${F?"all ":""}`),V=G?O` offset ${G}`:void 0;return O`${B}${A}${H}${W}${U}${V}`}buildInsertQuery({table:D,values:$,onConflict:F,returning:X,withList:J,select:Y}){let G=[],B=D[k.Symbol.Columns],H=Object.entries(B).filter(([C,K])=>!K.shouldDisableInsert()),W=H.map(([,C])=>O.identifier(this.casing.getColumnCasing(C)));if(Y){let C=$;if(z(C,y))G.push(C);else G.push(C.getSQL())}else{let C=$;G.push(O.raw("values "));for(let[K,Q]of C.entries()){let q=[];for(let[N,Z]of H){let j=Q[N];if(j===void 0||z(j,C0)&&j.value===void 0){let T;if(Z.default!==null&&Z.default!==void 0)T=z(Z.default,y)?Z.default:O.param(Z.default,Z);else if(Z.defaultFn!==void 0){let L=Z.defaultFn();T=z(L,y)?L:O.param(L,Z)}else if(!Z.default&&Z.onUpdateFn!==void 0){let L=Z.onUpdateFn();T=z(L,y)?L:O.param(L,Z)}else T=O`null`;q.push(T)}else q.push(j)}if(G.push(q),K<C.length-1)G.push(O`, `)}}let U=this.buildWithCTE(J),A=O.join(G),V=X?O` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,E=F?.length?O.join(F):void 0;return O`${U}insert into ${D} ${W} ${A}${E}${V}`}sqlToQuery(D,$){return D.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,invokeSource:$})}buildRelationalQuery({fullSchema:D,schema:$,tableNamesMap:F,table:X,tableConfig:J,queryConfig:Y,tableAlias:G,nestedQueryRelation:B,joinOn:H}){let W=[],U,A,V=[],E,C=[];if(Y===!0)W=Object.entries(J.columns).map(([q,N])=>({dbKey:N.name,tsKey:q,field:K2(N,G),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let Q=Object.fromEntries(Object.entries(J.columns).map(([L,v])=>[L,K2(v,G)]));if(Y.where){let L=typeof Y.where==="function"?Y.where(Q,mH()):Y.where;E=L&&i6(L,G)}let q=[],N=[];if(Y.columns){let L=!1;for(let[v,w]of Object.entries(Y.columns)){if(w===void 0)continue;if(v in J.columns){if(!L&&w===!0)L=!0;N.push(v)}}if(N.length>0)N=L?N.filter((v)=>Y.columns?.[v]===!0):Object.keys(J.columns).filter((v)=>!N.includes(v))}else N=Object.keys(J.columns);for(let L of N){let v=J.columns[L];q.push({tsKey:L,value:v})}let Z=[];if(Y.with)Z=Object.entries(Y.with).filter((L)=>!!L[1]).map(([L,v])=>({tsKey:L,queryConfig:v,relation:J.relations[L]}));let j;if(Y.extras){j=typeof Y.extras==="function"?Y.extras(Q,{sql:O}):Y.extras;for(let[L,v]of Object.entries(j))q.push({tsKey:L,value:N$(v,G)})}for(let{tsKey:L,value:v}of q)W.push({dbKey:z(v,y.Aliased)?v.fieldAlias:J.columns[L].name,tsKey:L,field:z(v,AD)?K2(v,G):v,relationTableTsKey:void 0,isJson:!1,selection:[]});let T=typeof Y.orderBy==="function"?Y.orderBy(Q,pH()):Y.orderBy??[];if(!Array.isArray(T))T=[T];V=T.map((L)=>{if(z(L,AD))return K2(L,G);return i6(L,G)}),U=Y.limit,A=Y.offset;for(let{tsKey:L,queryConfig:v,relation:w}of Z){let r=dH($,F,w),HD=S8(w.referencedTable),GD=F[HD],o=`${G}_${L}`,uD=E2(...r.fields.map((cR,dR)=>p(K2(r.references[dR],o),K2(cR,G)))),W2=this.buildRelationalQuery({fullSchema:D,schema:$,tableNamesMap:F,table:D[GD],tableConfig:$[GD],queryConfig:z(w,r2)?v===!0?{limit:1}:{...v,limit:1}:v,tableAlias:o,joinOn:uD,nestedQueryRelation:w}),pR=O`(${W2.sql})`.as(L);W.push({dbKey:L,tsKey:L,field:pR,relationTableTsKey:GD,isJson:!0,selection:W2.selection})}}if(W.length===0)throw new b1({message:`No fields selected for table "${J.tsName}" ("${G}"). You need to have at least one item in "columns", "with" or "extras". If you need to select all columns, omit the "columns" key or set it to undefined.`});let K;if(E=E2(H,E),B){let Q=O`json_array(${O.join(W.map(({field:Z})=>z(Z,ID)?O.identifier(this.casing.getColumnCasing(Z)):z(Z,y.Aliased)?Z.sql:Z),O`, `)})`;if(z(B,c6))Q=O`coalesce(json_group_array(${Q}), json_array())`;let q=[{dbKey:"data",tsKey:"data",field:Q.as("data"),isJson:!0,relationTableTsKey:J.tsName,selection:W}];if(U!==void 0||A!==void 0||V.length>0)K=this.buildSelectQuery({table:e9(X,G),fields:{},fieldsFlat:[{path:[],field:O.raw("*")}],where:E,limit:U,offset:A,orderBy:V,setOperators:[]}),E=void 0,U=void 0,A=void 0,V=void 0;else K=e9(X,G);K=this.buildSelectQuery({table:z(K,cD)?K:new bD(K,{},G),fields:{},fieldsFlat:q.map(({field:Z})=>({path:[],field:z(Z,AD)?K2(Z,G):Z})),joins:C,where:E,limit:U,offset:A,orderBy:V,setOperators:[]})}else K=this.buildSelectQuery({table:e9(X,G),fields:{},fieldsFlat:W.map(({field:Q})=>({path:[],field:z(Q,AD)?K2(Q,G):Q})),joins:C,where:E,limit:U,offset:A,orderBy:V,setOperators:[]});return{tableTsKey:J.tsName,sql:K,selection:W}}};s6=class s6 extends n6{static[P]="SQLiteSyncDialect";migrate(D,$,F){let X=F===void 0?"__drizzle_migrations":typeof F==="string"?"__drizzle_migrations":F.migrationsTable??"__drizzle_migrations",J=O`
|
|
87
|
+
CREATE TABLE IF NOT EXISTS ${O.identifier(X)} (
|
|
88
|
+
id SERIAL PRIMARY KEY,
|
|
89
|
+
hash text NOT NULL,
|
|
90
|
+
created_at numeric
|
|
91
|
+
)
|
|
92
|
+
`;$.run(J);let G=$.values(O`SELECT id, hash, created_at FROM ${O.identifier(X)} ORDER BY created_at DESC LIMIT 1`)[0]??void 0;$.run(O`BEGIN`);try{for(let B of D)if(!G||Number(G[2])<B.folderMillis){for(let H of B.sql)$.run(O.raw(H));$.run(O`INSERT INTO ${O.identifier(X)} ("hash", "created_at") VALUES(${B.hash}, ${B.folderMillis})`)}$.run(O`COMMIT`)}catch(B){throw $.run(O`ROLLBACK`),B}}}});var h$;var xW=R(()=>{i();h$=class h${static[P]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function B7(D,$){return(F,X,...J)=>{let Y=[X,...J].map((G)=>({type:D,isAll:$,rightSelect:G}));for(let G of Y)if(!u6(F.getSelectedFields(),G.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return F.addSetOperators(Y)}}var e0,yW,x$,pP=()=>({union:cP,unionAll:dP,intersect:lP,except:iP}),cP,dP,lP,iP;var y$=R(()=>{i();xW();I2();S1();rD();a0();tD();B0();w2();f1();G7();e0=class e0{static[P]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(D){this.fields=D.fields,this.session=D.session,this.dialect=D.dialect,this.withList=D.withList,this.distinct=D.distinct}from(D){let $=!!this.fields,F;if(this.fields)F=this.fields;else if(z(D,bD))F=Object.fromEntries(Object.keys(D._.selectedFields).map((X)=>[X,D[X]]));else if(z(D,b8))F=D[zD].selectedFields;else if(z(D,y))F={};else F=QH(D);return new x$({table:D,fields:F,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};yW=class yW extends h${static[P]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:D,fields:$,isPartialSelect:F,session:X,dialect:J,withList:Y,distinct:G}){super();this.config={withList:Y,table:D,fields:{...$},distinct:G,setOperators:[]},this.isPartialSelect=F,this.session=X,this.dialect=J,this._={selectedFields:$,config:this.config},this.tableName=m6(D),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let B of t0(D))this.usedTables.add(B)}getUsedTables(){return[...this.usedTables]}createJoin(D){return($,F)=>{let X=this.tableName,J=m6($);for(let Y of t0($))this.usedTables.add(Y);if(typeof J==="string"&&this.config.joins?.some((Y)=>Y.alias===J))throw Error(`Alias "${J}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof X==="string")this.config.fields={[X]:this.config.fields};if(typeof J==="string"&&!z($,y)){let Y=z($,bD)?$._.selectedFields:z($,P0)?$[zD].selectedFields:$[k.Symbol.Columns];this.config.fields[J]=Y}}if(typeof F==="function")F=F(new Proxy(this.config.fields,new kD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:F,table:$,joinType:D,alias:J}),typeof J==="string")switch(D){case"left":{this.joinsNotNullableMap[J]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([Y])=>[Y,!1])),this.joinsNotNullableMap[J]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[J]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([Y])=>[Y,!1])),this.joinsNotNullableMap[J]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(D,$){return(F)=>{let X=typeof F==="function"?F(pP()):F;if(!u6(this.getSelectedFields(),X.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:D,isAll:$,rightSelect:X}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(D){return this.config.setOperators.push(...D),this}where(D){if(typeof D==="function")D=D(new Proxy(this.config.fields,new kD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=D,this}having(D){if(typeof D==="function")D=D(new Proxy(this.config.fields,new kD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=D,this}groupBy(...D){if(typeof D[0]==="function"){let $=D[0](new Proxy(this.config.fields,new kD({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray($)?$:[$]}else this.config.groupBy=D;return this}orderBy(...D){if(typeof D[0]==="function"){let $=D[0](new Proxy(this.config.fields,new kD({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),F=Array.isArray($)?$:[$];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=F;else this.config.orderBy=F}else{let $=D;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=$;else this.config.orderBy=$}return this}limit(D){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=D;else this.config.limit=D;return this}offset(D){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=D;else this.config.offset=D;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:D,...$}=this.dialect.sqlToQuery(this.getSQL());return $}as(D){let $=[];if($.push(...t0(this.config.table)),this.config.joins)for(let F of this.config.joins)$.push(...t0(F.table));return new Proxy(new bD(this.getSQL(),this.config.fields,D,!1,[...new Set($)]),new kD({alias:D,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new kD({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};x$=class x$ extends yW{static[P]="SQLiteSelect";_prepare(D=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let $=Z0(this.config.fields),F=this.session[D?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),$,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return F.joinsNotNullableMap=this.joinsNotNullableMap,F}$withCache(D){return this.cacheConfig=D===void 0?{config:{},enable:!0,autoInvalidate:!0}:D===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...D},this}prepare(){return this._prepare(!1)}run=(D)=>{return this._prepare().run(D)};all=(D)=>{return this._prepare().all(D)};get=(D)=>{return this._prepare().get(D)};values=(D)=>{return this._prepare().values(D)};async execute(){return this.all()}};VH(x$,[G0]);cP=B7("union",!1),dP=B7("union",!0),lP=B7("intersect",!1),iP=B7("except",!1)});var r6;var u$=R(()=>{i();S1();Y7();a0();y$();r6=class r6{static[P]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(D){this.dialect=z(D,n6)?D:void 0,this.dialectConfig=z(D,n6)?void 0:D}$with=(D,$)=>{let F=this;return{as:(J)=>{if(typeof J==="function")J=J(F);return new Proxy(new x6(J.getSQL(),$??("getSelectedFields"in J?J.getSelectedFields()??{}:{}),D,!0),new kD({alias:D,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...D){let $=this;function F(J){return new e0({fields:J??void 0,session:void 0,dialect:$.getDialect(),withList:D})}function X(J){return new e0({fields:J??void 0,session:void 0,dialect:$.getDialect(),withList:D,distinct:!0})}return{select:F,selectDistinct:X}}select(D){return new e0({fields:D??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(D){return new e0({fields:D??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new s6(this.dialectConfig);return this.dialect}}});var H7,m$;var uW=R(()=>{i();I2();rD();f8();tD();B0();f1();u$();H7=class H7{constructor(D,$,F,X){this.table=D,this.session=$,this.dialect=F,this.withList=X}static[P]="SQLiteInsertBuilder";values(D){if(D=Array.isArray(D)?D:[D],D.length===0)throw Error("values() must be called with at least one value");let $=D.map((F)=>{let X={},J=this.table[k.Symbol.Columns];for(let Y of Object.keys(F)){let G=F[Y];X[Y]=z(G,y)?G:new C0(G,J[Y])}return X});return new m$(this.table,$,this.session,this.dialect,this.withList)}select(D){let $=typeof D==="function"?D(new r6):D;if(!z($,y)&&!u6(this.table[n9],$._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new m$(this.table,$,this.session,this.dialect,this.withList,!0)}};m$=class m$ extends G0{constructor(D,$,F,X,J,Y){super();this.session=F,this.dialect=X,this.config={table:D,values:$,withList:J,select:Y}}static[P]="SQLiteInsert";config;returning(D=this.config.table[cD.Symbol.Columns]){return this.config.returning=Z0(D),this}onConflictDoNothing(D={}){if(!this.config.onConflict)this.config.onConflict=[];if(D.target===void 0)this.config.onConflict.push(O` on conflict do nothing`);else{let $=Array.isArray(D.target)?O`${D.target}`:O`${[D.target]}`,F=D.where?O` where ${D.where}`:O``;this.config.onConflict.push(O` on conflict ${$} do nothing${F}`)}return this}onConflictDoUpdate(D){if(D.where&&(D.targetWhere||D.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let $=D.where?O` where ${D.where}`:void 0,F=D.targetWhere?O` where ${D.targetWhere}`:void 0,X=D.setWhere?O` where ${D.setWhere}`:void 0,J=Array.isArray(D.target)?O`${D.target}`:O`${[D.target]}`,Y=this.dialect.buildUpdateSet(this.config.table,r9(this.config.table,D.set));return this.config.onConflict.push(O` on conflict ${J}${F} do update set ${Y}${$}${X}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:D,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(D=!0){return this.session[D?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:t0(this.config.table)})}prepare(){return this._prepare(!1)}run=(D)=>{return this._prepare().run(D)};all=(D)=>{return this._prepare().all(D)};get=(D)=>{return this._prepare().get(D)};values=(D)=>{return this._prepare().values(D)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var W7,mW;var pW=R(()=>{i();I2();S1();f8();a0();tD();B0();w2();f1();G7();W7=class W7{constructor(D,$,F,X){this.table=D,this.session=$,this.dialect=F,this.withList=X}static[P]="SQLiteUpdateBuilder";set(D){return new mW(this.table,r9(this.table,D),this.session,this.dialect,this.withList)}};mW=class mW extends G0{constructor(D,$,F,X,J){super();this.session=F,this.dialect=X,this.config={set:$,table:D,withList:J,joins:[]}}static[P]="SQLiteUpdate";config;from(D){return this.config.from=D,this}createJoin(D){return($,F)=>{let X=m6($);if(typeof X==="string"&&this.config.joins.some((J)=>J.alias===X))throw Error(`Alias "${X}" is already used in this query`);if(typeof F==="function"){let J=this.config.from?z($,cD)?$[k.Symbol.Columns]:z($,bD)?$._.selectedFields:z($,b8)?$[zD].selectedFields:void 0:void 0;F=F(new Proxy(this.config.table[k.Symbol.Columns],new kD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),J&&new Proxy(J,new kD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:F,table:$,joinType:D,alias:X}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(D){return this.config.where=D,this}orderBy(...D){if(typeof D[0]==="function"){let $=D[0](new Proxy(this.config.table[k.Symbol.Columns],new kD({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),F=Array.isArray($)?$:[$];this.config.orderBy=F}else{let $=D;this.config.orderBy=$}return this}limit(D){return this.config.limit=D,this}returning(D=this.config.table[cD.Symbol.Columns]){return this.config.returning=Z0(D),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:D,...$}=this.dialect.sqlToQuery(this.getSQL());return $}_prepare(D=!0){return this.session[D?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:t0(this.config.table)})}prepare(){return this._prepare(!1)}run=(D)=>{return this._prepare().run(D)};all=(D)=>{return this._prepare().all(D)};get=(D)=>{return this._prepare().get(D)};values=(D)=>{return this._prepare().values(D)};async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var p$=R(()=>{bW();uW();u$();y$();pW()});var o6;var cW=R(()=>{i();rD();o6=class o6 extends y{constructor(D){super(o6.buildEmbeddedCount(D.source,D.filters).queryChunks);this.params=D,this.session=D.session,this.sql=o6.buildCount(D.source,D.filters)}sql;static[P]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(D,$){return O`(select count(*) from ${D}${O.raw(" where ").if($)}${$})`}static buildCount(D,$){return O`select count(*) from ${D}${O.raw(" where ").if($)}${$}`}then(D,$){return Promise.resolve(this.session.count(this.sql)).then(D,$)}catch(D){return this.then(void 0,D)}finally(D){return this.then(($)=>{return D?.(),$},($)=>{throw D?.(),$})}}});var d$,_7,c$;var dW=R(()=>{i();I2();d6();d$=class d${constructor(D,$,F,X,J,Y,G,B){this.mode=D,this.fullSchema=$,this.schema=F,this.tableNamesMap=X,this.table=J,this.tableConfig=Y,this.dialect=G,this.session=B}static[P]="SQLiteAsyncRelationalQueryBuilder";findMany(D){return this.mode==="sync"?new c$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?D:{},"many"):new _7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?D:{},"many")}findFirst(D){return this.mode==="sync"?new c$(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?{...D,limit:1}:{limit:1},"first"):new _7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?{...D,limit:1}:{limit:1},"first")}};_7=class _7 extends G0{constructor(D,$,F,X,J,Y,G,B,H){super();this.fullSchema=D,this.schema=$,this.tableNamesMap=F,this.table=X,this.tableConfig=J,this.dialect=Y,this.session=G,this.config=B,this.mode=H}static[P]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(D=!1){let{query:$,builtQuery:F}=this._toSQL();return this.session[D?"prepareOneTimeQuery":"prepareQuery"](F,void 0,this.mode==="first"?"get":"all",!0,(X,J)=>{let Y=X.map((G)=>t9(this.schema,this.tableConfig,G,$.selection,J));if(this.mode==="first")return Y[0];return Y})}prepare(){return this._prepare(!1)}_toSQL(){let D=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),$=this.dialect.sqlToQuery(D.sql);return{query:D,builtQuery:$}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}};c$=class c$ extends _7{static[P]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var k1;var lW=R(()=>{i();I2();k1=class k1 extends G0{constructor(D,$,F,X,J){super();this.execute=D,this.getSQL=$,this.dialect=X,this.mapBatchResult=J,this.config={action:F}}static[P]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(D,$){return $?this.mapBatchResult(D):D}_prepare(){return this}isResponseInArrayMode(){return!1}}});var a6;var U7=R(()=>{i();S1();rD();p$();a0();cW();dW();lW();a6=class a6{constructor(D,$,F,X){this.resultKind=D,this.dialect=$,this.session=F,this._=X?{schema:X.schema,fullSchema:X.fullSchema,tableNamesMap:X.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let J=this.query;if(this._.schema)for(let[Y,G]of Object.entries(this._.schema))J[Y]=new d$(D,X.fullSchema,this._.schema,this._.tableNamesMap,X.fullSchema[Y],G,$,F);this.$cache={invalidate:async(Y)=>{}}}static[P]="BaseSQLiteDatabase";query;$with=(D,$)=>{let F=this;return{as:(J)=>{if(typeof J==="function")J=J(new r6(F.dialect));return new Proxy(new x6(J.getSQL(),$??("getSelectedFields"in J?J.getSelectedFields()??{}:{}),D,!0),new kD({alias:D,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(D,$){return new o6({source:D,filters:$,session:this.session})}with(...D){let $=this;function F(B){return new e0({fields:B??void 0,session:$.session,dialect:$.dialect,withList:D})}function X(B){return new e0({fields:B??void 0,session:$.session,dialect:$.dialect,withList:D,distinct:!0})}function J(B){return new W7(B,$.session,$.dialect,D)}function Y(B){return new H7(B,$.session,$.dialect,D)}function G(B){return new X7(B,$.session,$.dialect,D)}return{select:F,selectDistinct:X,update:J,insert:Y,delete:G}}select(D){return new e0({fields:D??void 0,session:this.session,dialect:this.dialect})}selectDistinct(D){return new e0({fields:D??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(D){return new W7(D,this.session,this.dialect)}$cache;insert(D){return new H7(D,this.session,this.dialect)}delete(D){return new X7(D,this.session,this.dialect)}run(D){let $=typeof D==="string"?O.raw(D):D.getSQL();if(this.resultKind==="async")return new k1(async()=>this.session.run($),()=>$,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run($)}all(D){let $=typeof D==="string"?O.raw(D):D.getSQL();if(this.resultKind==="async")return new k1(async()=>this.session.all($),()=>$,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all($)}get(D){let $=typeof D==="string"?O.raw(D):D.getSQL();if(this.resultKind==="async")return new k1(async()=>this.session.get($),()=>$,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get($)}values(D){let $=typeof D==="string"?O.raw(D):D.getSQL();if(this.resultKind==="async")return new k1(async()=>this.session.values($),()=>$,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values($)}transaction(D,$){return this.session.transaction(D,$)}}});var iW=()=>{};async function i$(D,$){let F=`${D}-${JSON.stringify($)}`,J=new TextEncoder().encode(F),Y=await crypto.subtle.digest("SHA-256",J);return[...new Uint8Array(Y)].map((H)=>H.toString(16).padStart(2,"0")).join("")}var nW,l$;var sW=R(()=>{i();nW=class nW{static[P]="Cache"};l$=class l$ extends nW{strategy(){return"all"}static[P]="NoopCache";async get(D){return}async put(D,$,F,X){}async onMutate(D){}}});var rW,n$,s$,r$;var o$=R(()=>{sW();i();J7();I2();U7();rW=class rW extends G0{constructor(D){super();this.resultCb=D}static[P]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};n$=class n${constructor(D,$,F,X,J,Y){if(this.mode=D,this.executeMethod=$,this.query=F,this.cache=X,this.queryMetadata=J,this.cacheConfig=Y,X&&X.strategy()==="all"&&Y===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[P]="PreparedQuery";joinsNotNullableMap;async queryWithCache(D,$,F){if(this.cache===void 0||z(this.cache,l$)||this.queryMetadata===void 0)try{return await F()}catch(X){throw new T2(D,$,X)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await F()}catch(X){throw new T2(D,$,X)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[X]=await Promise.all([F(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return X}catch(X){throw new T2(D,$,X)}if(!this.cacheConfig)try{return await F()}catch(X){throw new T2(D,$,X)}if(this.queryMetadata.type==="select"){let X=await this.cache.get(this.cacheConfig.tag??await i$(D,$),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(X===void 0){let J;try{J=await F()}catch(Y){throw new T2(D,$,Y)}return await this.cache.put(this.cacheConfig.tag??await i$(D,$),J,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),J}return X}try{return await F()}catch(X){throw new T2(D,$,X)}}getQuery(){return this.query}mapRunResult(D,$){return D}mapAllResult(D,$){throw Error("Not implemented")}mapGetResult(D,$){throw Error("Not implemented")}execute(D){if(this.mode==="async")return this[this.executeMethod](D);return new rW(()=>this[this.executeMethod](D))}mapResult(D,$){switch(this.executeMethod){case"run":return this.mapRunResult(D,$);case"all":return this.mapAllResult(D,$);case"get":return this.mapGetResult(D,$)}}};s$=class s${constructor(D){this.dialect=D}static[P]="SQLiteSession";prepareOneTimeQuery(D,$,F,X,J,Y,G){return this.prepareQuery(D,$,F,X,J,Y,G)}run(D){let $=this.dialect.sqlToQuery(D);try{return this.prepareOneTimeQuery($,void 0,"run",!1).run()}catch(F){throw new b1({cause:F,message:`Failed to run the query '${$.sql}'`})}}extractRawRunValueFromBatchResult(D){return D}all(D){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(D),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(D){throw Error("Not implemented")}get(D){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(D),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(D){throw Error("Not implemented")}values(D){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(D),void 0,"run",!1).values()}async count(D){return(await this.values(D))[0][0]}extractRawValuesValueFromBatchResult(D){throw Error("Not implemented")}};r$=class r$ extends a6{constructor(D,$,F,X,J=0){super(D,$,F,X);this.schema=X,this.nestedIndex=J}static[P]="SQLiteTransaction";rollback(){throw new k$}}});var oW=()=>{};var a$=R(()=>{iW();zW();g$();U7();Y7();Z$();SW();fW();p$();o$();f8();L$();f1();oW()});var t$,e$,aW;var DF=R(()=>{i();l9();rD();a$();o$();B0();t$=class t$ extends s${constructor(D,$,F,X={}){super($);this.client=D,this.schema=F,this.logger=X.logger??new H$}static[P]="SQLiteBunSession";logger;exec(D){this.client.exec(D)}prepareQuery(D,$,F,X,J){let Y=this.client.prepare(D.sql);return new aW(Y,D,this.logger,$,F,X,J)}transaction(D,$={}){let F=new e$("sync",this.dialect,this,this.schema),X;return this.client.transaction(()=>{X=D(F)})[$.behavior??"deferred"](),X}};e$=class e$ extends r${static[P]="SQLiteBunTransaction";transaction(D){let $=`sp${this.nestedIndex}`,F=new e$("sync",this.dialect,this.session,this.schema,this.nestedIndex+1);this.session.run(O.raw(`savepoint ${$}`));try{let X=D(F);return this.session.run(O.raw(`release savepoint ${$}`)),X}catch(X){throw this.session.run(O.raw(`rollback to savepoint ${$}`)),X}}};aW=class aW extends n${constructor(D,$,F,X,J,Y,G){super("sync",J,$);this.stmt=D,this.logger=F,this.fields=X,this._isResponseInArrayMode=Y,this.customResultMapper=G}static[P]="SQLiteBunPreparedQuery";run(D){let $=y6(this.query.params,D??{});return this.logger.logQuery(this.query.sql,$),this.stmt.run(...$)}all(D){let{fields:$,query:F,logger:X,joinsNotNullableMap:J,stmt:Y,customResultMapper:G}=this;if(!$&&!G){let H=y6(F.params,D??{});return X.logQuery(F.sql,H),Y.all(...H)}let B=this.values(D);if(G)return G(B);return B.map((H)=>K$($,H,J))}get(D){let $=y6(this.query.params,D??{});this.logger.logQuery(this.query.sql,$);let F=this.stmt.values(...$)[0];if(!F)return;let{fields:X,joinsNotNullableMap:J,customResultMapper:Y}=this;if(!X&&!Y)return F;if(Y)return Y([F]);return K$(X,F,J)}values(D){let $=y6(this.query.params,D??{});return this.logger.logQuery(this.query.sql,$),this.stmt.values(...$)}isResponseInArrayMode(){return this._isResponseInArrayMode}}});import{Database as A7}from"bun:sqlite";function v1(D,$={}){let F=new s6({casing:$.casing}),X;if($.logger===!0)X=new B$;else if($.logger!==!1)X=$.logger;let J;if($.schema){let B=cH($.schema,lH);J={fullSchema:$.schema,schema:B.tables,tableNamesMap:B.tableNamesMap}}let Y=new t$(D,F,J,{logger:X}),G=new tW("sync",F,Y,J);return G.$client=D,G}function V7(...D){if(D[0]===void 0||typeof D[0]==="string"){let $=D[0]===void 0?new A7:new A7(D[0]);return v1($,D[1])}if(EH(D[0])){let{connection:$,client:F,...X}=D[0];if(F)return v1(F,X);if(typeof $==="object"){let{source:Y,...G}=$,B=Object.values(G).filter((W)=>W!==void 0).length?G:void 0,H=new A7(Y,B);return v1(H,X)}let J=new A7($);return v1(J,X)}return v1(D[0],D[1])}var tW;var eW=R(()=>{i();l9();d6();U7();Y7();B0();DF();tW=class tW extends a6{static[P]="BunSQLiteDatabase"};((D)=>{function $(F){return v1({},F)}D.mock=$})(V7||(V7={}))});var D_=R(()=>{eW();DF()});import nP from"crypto";import $F from"fs";function $_(D){let $=D.migrationsFolder,F=[],X=`${$}/meta/_journal.json`;if(!$F.existsSync(X))throw Error("Can't find meta/_journal.json file");let J=$F.readFileSync(`${$}/meta/_journal.json`).toString(),Y=JSON.parse(J);for(let G of Y.entries){let B=`${$}/${G.tag}.sql`;try{let H=$F.readFileSync(`${$}/${G.tag}.sql`).toString(),W=H.split("--> statement-breakpoint").map((U)=>{return U});F.push({sql:W,bps:G.breakpoints,folderMillis:G.when,hash:nP.createHash("sha256").update(H).digest("hex")})}catch{throw Error(`No file ${B} found in ${$} folder`)}}return F}var F_=()=>{};function X_(D,$){let F=$_($);D.dialect.migrate(F,D.session,$)}var J_=R(()=>{F_()});var Q7={};W1(Q7,{workerSecrets:()=>D0,workerIdentity:()=>z0,workerConfig:()=>$2,skillDrafts:()=>W0,skillBindings:()=>t6,messages:()=>vD,executionLogs:()=>S2,evolutionObservations:()=>D2,cronJobs:()=>OD,conversations:()=>ED,agentTasks:()=>a2});var a2,ED,vD,S2,t6,W0,D2,z0,$2,OD,D0;var FF=R(()=>{a$();a2=L0("agent_tasks",{id:g("id").primaryKey(),prompt:g("prompt").notNull(),status:g("status",{enum:["queued","running","succeeded","failed","cancelled"]}).notNull(),conversationId:g("conversation_id"),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString()),finishedAt:g("finished_at"),result:g("result",{mode:"json"}).$type(),error:g("error")}),ED=L0("conversations",{id:g("id").primaryKey(),taskId:g("task_id").references(()=>a2.id),channel:g("channel").$type().notNull(),chatId:g("chat_id").notNull(),threadId:g("thread_id"),status:g("status",{enum:["open","closed"]}).notNull().default("open"),summary:g("summary"),startedAt:g("started_at").notNull().$defaultFn(()=>new Date().toISOString()),lastActiveAt:g("last_active_at").notNull().$defaultFn(()=>new Date().toISOString()),closedAt:g("closed_at")}),vD=L0("messages",{id:eD("id").primaryKey({autoIncrement:!0}),conversationId:g("conversation_id").notNull().references(()=>ED.id,{onDelete:"cascade"}),role:g("role",{enum:["system","user","assistant","tool"]}).notNull(),content:g("content").notNull(),toolCalls:g("tool_calls",{mode:"json"}).$type(),toolCallId:g("tool_call_id"),tokensIn:eD("tokens_in"),tokensOut:eD("tokens_out"),richMetadata:g("rich_metadata"),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString())}),S2=L0("execution_logs",{id:eD("id").primaryKey({autoIncrement:!0}),conversationId:g("conversation_id"),toolName:g("tool_name").notNull(),params:g("params",{mode:"json"}).$type(),result:g("result",{mode:"json"}).$type(),duration:eD("duration"),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString())}),t6=L0("skill_bindings",{id:eD("id").primaryKey({autoIncrement:!0}),source:g("source").$type().notNull(),brainName:g("brain_name"),skillName:g("skill_name").notNull(),enabled:eD("enabled",{mode:"boolean"}).notNull().default(!0),priority:eD("priority").notNull().default(0),config:g("config",{mode:"json"}).$type(),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedAt:g("updated_at").notNull().$defaultFn(()=>new Date().toISOString())},(D)=>({uniqueBinding:TW("skill_bindings_source_brain_name_idx").on(D.source,D.brainName,D.skillName)})),W0=L0("skill_drafts",{id:eD("id").primaryKey({autoIncrement:!0}),proposedName:g("proposed_name").notNull(),source:g("source").$type().notNull(),bodyMarkdown:g("body_markdown").notNull(),rationale:g("rationale").notNull().default(""),status:g("status").$type().notNull().default("pending"),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString()),decidedAt:g("decided_at"),decidedBy:g("decided_by")}),D2=L0("evolution_observations",{id:eD("id").primaryKey({autoIncrement:!0}),conversationId:g("conversation_id"),kind:g("kind").notNull(),payload:g("payload",{mode:"json"}).$type().notNull(),noticedAt:g("noticed_at").notNull().$defaultFn(()=>new Date().toISOString())}),z0=L0("worker_identity",{pk:g("pk").primaryKey().default("default"),workerId:g("worker_id").notNull().unique(),apiTokenEnc:g("api_token_enc").notNull(),nonce:g("nonce").notNull(),authTag:g("auth_tag").notNull(),bootstrapShownAt:g("bootstrap_shown_at").notNull().$defaultFn(()=>new Date().toISOString()),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString()),rotatedAt:g("rotated_at")}),$2=L0("worker_config",{pk:g("pk").primaryKey().default("default"),configJson:g("config_json",{mode:"json"}).$type().notNull(),version:eD("version").notNull().default(1),updatedAt:g("updated_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedBy:g("updated_by",{enum:["bootstrap","api","cli"]})}),OD=L0("cron_jobs",{id:g("id").primaryKey(),expression:g("expression").notNull(),prompt:g("prompt").notNull(),channel:g("channel").$type().notNull(),chatId:g("chat_id").notNull(),accountId:g("account_id").notNull(),enabled:eD("enabled",{mode:"boolean"}).notNull().default(!0),lastRunAt:g("last_run_at"),nextRunAt:g("next_run_at"),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedAt:g("updated_at").notNull().$defaultFn(()=>new Date().toISOString())}),D0=L0("worker_secrets",{id:eD("id").primaryKey({autoIncrement:!0}),key:g("key").notNull().unique(),valueEnc:g("value_enc").notNull(),nonce:g("nonce").notNull(),authTag:g("auth_tag").notNull(),createdAt:g("created_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedAt:g("updated_at").notNull().$defaultFn(()=>new Date().toISOString())})});var XF={};W1(XF,{workerSecrets:()=>D0,workerSchema:()=>Q7,workerIdentity:()=>z0,workerConfig:()=>$2,skillDrafts:()=>W0,skillBindings:()=>t6,runWorkerMigrations:()=>$3,messages:()=>vD,initWorkerDb:()=>D3,getWorkerDb:()=>m,executionLogs:()=>S2,evolutionObservations:()=>D2,defaultWorkerMigrationsFolder:()=>g1,cronJobs:()=>OD,conversations:()=>ED,closeWorkerDb:()=>tP,agentTasks:()=>a2});import G_ from"path";import{fileURLToPath as sP}from"url";import{Database as rP}from"bun:sqlite";function aP(D){let $=new rP(D,{create:!0});return $.exec("PRAGMA journal_mode = WAL"),$.exec("PRAGMA foreign_keys = ON"),V7($,{schema:Q7})}function D3(D){return e6=aP(D),e6}function m(){if(!e6)throw Error("Worker database not initialized. Call initWorkerDb() first.");return e6}function tP(){e6=null}function $3(D=g1){X_(m(),{migrationsFolder:D})}var oP,g1,e6=null;var jD=R(()=>{D_();J_();FF();FF();oP=G_.dirname(sP(import.meta.url)),g1=G_.resolve(oP,"../../drizzle/worker")});import eP from"path";import Y_ from"process";function $Z(D){let $={};for(let[F,X]of Object.entries(D)){let J=/^MAX_CONCURRENT_(.+)$/.exec(F);if(!J)continue;if(J[1]==="TOTAL")continue;let Y=J[1].toLowerCase().replace(/_/g,"-"),G=Number.parseInt(X??"",10);if(Number.isFinite(G)&&G>0)$[Y]=G}return $}function k8(){if(E7)return E7;let D=DZ.parse(Y_.env);return E7=Object.freeze({...D,perEngineLimits:Object.freeze({...$Z(Y_.env)})}),E7}var DZ,E7=null,l;var K7=R(()=>{j8();s0();jD();Q0();DZ=_.object({PORT:_.coerce.number().default(3001),WORKER_DB_PATH:_.string().default("/var/lib/aiworker/worker.db"),WORKER_MIGRATIONS_FOLDER:_.string().default(()=>g1),AIWORKER_MASTER_KEY:_.string().regex(/^[0-9a-f]{64}$/,"AIWORKER_MASTER_KEY must be 32-byte hex (64 hex chars)"),AIWORKER_FORCE_ID:_.string().regex(z1).optional(),AIWORKER_FORCE_TOKEN:_.string().regex(N8).optional(),AIWORKER_ADVERTISED_BASE_URL:_.string().optional(),WORKER_DATA_ROOT:_.string().default(()=>eP.join(j2(),"data-root")),WORKER_WORKSPACE_GIT_ORIGIN:_.string().optional(),AIWORKER_GATEWAY_URL:_.string().url().optional(),AIWORKER_JOIN_TOKEN:_.string().min(1).optional(),AIWORKER_DISPLAY_NAME:_.string().min(1).max(80).optional(),AIWORKER_ENROLL_MODE:_.enum(["auto","otp"]).optional().default("auto"),CLAUDE_CLI_VERSION:_.string().optional(),MAX_CONCURRENT_TOTAL:_.coerce.number().int().min(1).default(4),PROCESS_STALL_TIMEOUT_MS:_.coerce.number().int().min(1).default(120000),PROCESS_KILL_TIMEOUT_MS:_.coerce.number().int().min(0).default(1e4),PROCESS_AUTO_CLEANUP_DELAY_MS:_.coerce.number().int().min(0).default(60000),PROCESS_GC_INTERVAL_MS:_.coerce.number().int().min(0).default(30000)});l=new Proxy({},{get(D,$){return k8()[$]},has(D,$){return $ in k8()},ownKeys(D){return Reflect.ownKeys(k8())},getOwnPropertyDescriptor(D,$){return Reflect.getOwnPropertyDescriptor(k8(),$)}})});var O0=R(()=>{D7();A$();o0();i();J7();l9();I2();d6();v$();a0();tD();B0();w2()});function t2(D){let $=FZ[D.engine];if(!$)throw Error(`unknown executor engine: ${D.engine}`);let F=$.variants[D.variant];if(!F)throw Error(`unknown executor variant '${D.variant}' for engine '${D.engine}'`);let{cmd:X,...J}=D.overrides??{},Y={...F,...J};return{engine:D.engine,body:Y,...X?{cmd:X}:{},...D.modelId===void 0?{}:{modelId:D.modelId},...D.reasoningId===void 0?{}:{reasoningId:D.reasoningId},...D.permissionPolicy===void 0?{}:{permissionPolicy:D.permissionPolicy}}}function B_(D){if(!D||typeof D!=="object")return{...X3};let $=D;if(typeof $.engine==="string")return $;let F=$.type;if(typeof F!=="string")return{...X3};switch(F){case"http":return{engine:"http",variant:"default",overrides:F3({baseUrl:$.baseUrl,apiKey:$.apiKey,model:$.model,timeoutMs:$.timeoutMs})};case"mcp":return{engine:"mcp",variant:"default",overrides:F3({url:$.url,token:$.token,defaultModel:$.defaultModel,tools:$.tools,timeoutMs:$.timeoutMs})};case"cli":return{engine:"cli",variant:"default",overrides:F3({command:$.command,args:$.args,cwd:$.cwd,env:$.env,timeoutMs:$.timeoutMs,sandbox:$.sandbox})};case"claude-code":return{engine:"claude-code",variant:"default",overrides:F3({model:$.model,cliVersion:$.cliVersion,extraArgs:$.extraArgs,env:$.env,workspaceRoot:$.workspaceRoot,timeoutMs:$.timeoutMs})};case"acp":return{engine:"acp",variant:$.agent==="qwen"?"qwen":"gemini",overrides:F3({model:$.model,cliVersion:$.cliVersion,extraArgs:$.extraArgs,env:$.env,timeoutMs:$.timeoutMs})};default:return{...X3}}}function F3(D){let $={};for(let[F,X]of Object.entries(D))if(X!==void 0)$[F]=X;return $}var FZ,X3;var v8=R(()=>{FZ={http:{variants:{default:{baseUrl:"",apiKey:"",model:"gpt-4o-mini",timeoutMs:30000},"gemini-openai-compat":{baseUrl:"https://generativelanguage.googleapis.com/v1beta/openai",apiKey:"",model:"gemini-2.5-flash",timeoutMs:30000},deepseek:{baseUrl:"https://api.deepseek.com",apiKey:"",model:"deepseek-chat",timeoutMs:30000},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1",apiKey:"",model:"Qwen/Qwen2.5-7B-Instruct",timeoutMs:30000},openrouter:{baseUrl:"https://openrouter.ai/api/v1",apiKey:"",model:"anthropic/claude-sonnet-4.5",timeoutMs:30000}}},mcp:{variants:{default:{url:"",token:"",timeoutMs:30000}}},cli:{variants:{default:{command:"",args:[],timeoutMs:30000}}},"claude-code":{variants:{default:{model:"sonnet",timeoutMs:120000},"opus-plan":{model:"opus",permissionPolicy:"plan",timeoutMs:180000}}},acp:{variants:{gemini:{agent:"gemini",timeoutMs:120000},qwen:{agent:"qwen",timeoutMs:120000}}},codex:{variants:{default:{model:"gpt-5.2-codex",timeoutMs:120000}}},cursor:{variants:{default:{model:"auto",timeoutMs:120000}}}},X3={engine:"http",variant:"default",overrides:{baseUrl:"http://localhost:9999",model:"stub"}}});var h1;var JF=R(()=>{v8();h1={brains:[],brainWriteTarget:"",brainRetrieval:"first-match",executor:{...X3},channels:[],evolution:{enabled:!1,observationRetentionDays:7}}});async function g8(D){let $=await D.select().from($2).where(p($2.pk,"default")).get();if($)return{config:XZ($.configJson),version:$.version};let F=new Date().toISOString();return await D.insert($2).values({pk:"default",configJson:h1,version:1,updatedAt:F,updatedBy:"bootstrap"}).run(),{config:h1,version:1}}function XZ(D){let $=D.executor;if($&&typeof $==="object"&&"engine"in $)return D;return{...D,executor:B_($)}}var H_=R(()=>{jD();O0();v8();JF()});import{randomBytes as JZ}from"crypto";function x1(){let D=JZ(32),$=`${f9}${GZ(D)}`;if(!j1($))throw Error("mintApiToken: generated token failed isWorkerApiToken check");return $}function GZ(D){return D.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function h8(D,$,F={}){let X=await D.select().from(z0).where(p(z0.pk,"default")).get();if(X){let A=$.decryptString(X.apiTokenEnc,X.nonce,X.authTag);if(!j1(A))throw Error("loadOrMintIdentity: decrypted API token failed isWorkerApiToken check");return await X$(X.workerId),{workerId:X.workerId,token:A,justMinted:!1}}let J=F.forceId??C7();if(!z1.test(J))throw Error(`loadOrMintIdentity: forceId ${J} does not match WORKER_ID_PATTERN`);let Y=F.forceToken??x1();if(!j1(Y))throw Error("loadOrMintIdentity: forceToken does not match WORKER_API_TOKEN_PATTERN");let G=Y,{ciphertext:B,nonce:H,authTag:W}=$.encryptString(G),U=new Date().toISOString();return await D.insert(z0).values({pk:"default",workerId:J,apiTokenEnc:B,nonce:H,authTag:W,bootstrapShownAt:U,createdAt:U}).run(),await X$(J),{workerId:J,token:G,justMinted:!0}}var C7;var GF=R(()=>{j8();s0();jD();O0();C7=n5});import YZ from"process";function x8(D,$,F,X,J=YZ.stdout){if(!X)return;J.write(`[worker] id=${D}
|
|
93
|
+
`),J.write(`[worker] AIWORKER_BOOTSTRAP_TOKEN=${$}
|
|
94
|
+
`),J.write(`[worker] save this token; it will not be printed again.
|
|
95
|
+
`),F.update(z0).set({bootstrapShownAt:new Date().toISOString()}).where(p(z0.pk,"default")).run()}var W_=R(()=>{jD();O0()});var __=R(()=>{H_();JF();GF();W_()});import{Buffer as U_}from"buffer";import{createDecipheriv as BZ,createHash as HZ}from"crypto";function _Z(D,$){let F=HZ("sha256").update($,"utf8").digest(),X=U_.from(D,"base64");if(X.length<=16)throw Error("lark: encrypted payload too short");let J=X.subarray(0,16),Y=X.subarray(16),G=BZ("aes-256-cbc",F,J);return U_.concat([G.update(Y),G.final()]).toString("utf8")}function V_(D,$){let F=JSON.parse(D);if(typeof F.encrypt==="string"){if(!$)throw Error("lark: encrypted payload received but encryptKey is missing");return JSON.parse(_Z(F.encrypt,$))}return F}function UZ(D){return D.type==="url_verification"||D.header?.event_type==="url_verification"}function AZ(D){if(typeof D.header?.token==="string")return D.header.token;if(typeof D.token==="string")return D.token;return}async function VZ(D,$){let F=await fetch("https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({app_id:D,app_secret:$})});if(!F.ok){let J=await F.text().catch(()=>"");throw Error(`Lark token exchange HTTP ${F.status}: ${J}`)}let X=await F.json();if(typeof X.code==="number"&&X.code!==0)throw Error(`Lark token exchange error ${X.code}: ${X.msg??"unknown"}`);if(!X.tenant_access_token||typeof X.expire!=="number")throw Error("Lark token exchange returned malformed response");return{token:X.tenant_access_token,expiresAt:Date.now()+X.expire*1000}}async function QZ(D,$){let F=A_.get(D);if(!F)F={},A_.set(D,F);if(F.current&&F.current.expiresAt-Date.now()>WZ)return F.current.token;if(F.inflight)return(await F.inflight).token;let X=F;return X.inflight=VZ(D,$).then((J)=>{return X.current=J,J}).finally(()=>{X.inflight=void 0}),(await X.inflight).token}function EZ(D){let $=typeof D.parent_id==="string"&&D.parent_id.length>0?D.parent_id:void 0;if(!$)return;return{quote:$}}var WZ=60000,A_,Q_;var E_=R(()=>{A_=new Map;Q_={channel:"lark",async verify(D,$,F){if(F.credentials.channel!=="lark")throw Error("lark adapter called with non-lark credentials");let X=V_(D,F.credentials.encryptKey),J=AZ(X);if(J===void 0||J!==F.credentials.verificationToken)throw Error("invalid Lark verification token")},async toEnvelopes(D,$,F){if(!F||F.credentials.channel!=="lark")throw Error("lark adapter requires a lark binding for accountId derivation");let X=F.credentials.appId,J=F.credentials.encryptKey,Y=V_(D,J);if(UZ(Y))return[];if(Y.header?.event_type!=="im.message.receive_v1")return[];let G=Y.event?.message;if(!G||G.message_type!=="text")return[];let B="";try{let C=JSON.parse(G.content);B=typeof C.text==="string"?C.text:""}catch{return[]}if(!B)return[];let H=Y.event?.sender,W=H?.sender_id?.open_id,U=H?.sender_id?.name,A=G.chat_type==="group"?`group:${G.chat_id}`:`p2p:${W??""}`,V=EZ(G);return[{workerId:$,channel:"lark",accountId:X,chatId:A,...W===void 0?{}:{userId:W},...U===void 0?{}:{userDisplayName:U},text:B,...V===void 0?{}:{richMetadata:V},receivedAt:new Date(Number(G.create_time)).toISOString(),raw:Y}]},async send(D,$){if(D.credentials.channel!=="lark")throw Error("lark adapter called with non-lark credentials");let{appId:F,appSecret:X}=D.credentials,J=await QZ(F,X),[Y,G]=$.chatId.split(":",2);if(!Y||!G)throw Error(`lark send: malformed chatId ${$.chatId}`);if(Y!=="group"&&Y!=="p2p")throw Error(`lark send: unsupported chat kind "${Y}"`);let H=await fetch(`https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=${Y==="group"?"chat_id":"open_id"}`,{method:"POST",headers:{Authorization:`Bearer ${J}`,"Content-Type":"application/json"},body:JSON.stringify({receive_id:G,msg_type:"text",content:JSON.stringify({text:$.text})})}),W=await H.json().catch(()=>({}));if(W.code!==0)throw Error(`Lark send failed: ${W.code??H.status} ${W.msg??H.statusText}`)}}});function y1(){return new Date().toISOString()}import{Buffer as K_}from"buffer";import{createHash as KZ,createHmac as CZ,timingSafeEqual as RZ}from"crypto";function OZ(D,$){return CZ("sha256",D).update($,"utf8").digest("base64")}function MZ(D){switch(D.type){case"user":return`user:${D.userId}`;case"group":return`group:${D.groupId}`;case"room":return`room:${D.roomId}`}}function qZ(D){let $=D.message?.quotedMessageId;if(typeof $!=="string"||$.length===0)return;return{quote:$}}var C_;var R_=R(()=>{C_={channel:"line",async verify(D,$,F){if(F.credentials.channel!=="line")throw Error("line adapter called with non-line credentials");let X=$["x-line-signature"];if(!X)throw Error("missing X-Line-Signature header");let J=OZ(F.credentials.channelSecret,D),Y=K_.from(X,"base64"),G=K_.from(J,"base64");if(Y.length!==G.length||!RZ(Y,G))throw Error("invalid LINE signature")},async toEnvelopes(D,$,F){if(!F||F.credentials.channel!=="line")throw Error("line adapter requires a line binding for accountId derivation");let X=KZ("sha256").update(F.credentials.channelAccessToken,"utf8").digest("hex").slice(0,16),J=JSON.parse(D),Y=[];for(let G of J.events){if(G.type!=="message"||G.message?.type!=="text"||!G.message.text)continue;let B=MZ(G.source),H=G.source.type==="user"?G.source.userId:("userId"in G.source)?G.source.userId:void 0,W=qZ(G);Y.push({workerId:$,channel:"line",accountId:X,chatId:B,...H===void 0?{}:{userId:H},text:G.message.text,...W===void 0?{}:{richMetadata:W},receivedAt:new Date(G.timestamp).toISOString()||y1(),raw:G})}return Y},async send(D,$){if(D.credentials.channel!=="line")throw Error("line adapter called with non-line credentials");let F=D.credentials.channelAccessToken,[X,J]=$.chatId.split(":",2);if(!X||!J)throw Error(`line send: malformed chatId ${$.chatId}`);let Y=await fetch("https://api.line.me/v2/bot/message/push",{method:"POST",headers:{Authorization:`Bearer ${F}`,"Content-Type":"application/json"},body:JSON.stringify({to:J,messages:[{type:"text",text:$.text}]})});if(!Y.ok){let G=await Y.text();throw Error(`LINE push failed: ${Y.status} ${G}`)}}}});import{Buffer as O_}from"buffer";import{createHash as NZ,timingSafeEqual as PZ}from"crypto";function jZ(D,$){let F=O_.from(D,"utf8"),X=O_.from($,"utf8");if(F.length!==X.length)return!1;return PZ(F,X)}function wZ(D){if(!D)return;if(D.first_name)return D.last_name?`${D.first_name} ${D.last_name}`:D.first_name;return D.username}function IZ(D,$){if(D.length<=$)return[D];let F=[],X=D;while(X.length>$){let J=-1;for(let Y=$-1;Y>0;Y--)if(zZ.test(X[Y])){J=Y;break}if(J>0)F.push(X.slice(0,J)),X=X.slice(J+1);else F.push(X.slice(0,$)),X=X.slice($)}if(X.length>0)F.push(X);return F}function TZ(D){if(D.botUsername&&D.botUsername.length>0)return D.botUsername;return NZ("sha256").update(D.botToken,"utf8").digest("hex").slice(0,16)}function SZ(D){let $={};if(typeof D.edit_date==="number")$.isEdit=!0;let F=D.reply_to_message;if(F){let X=F.from?.id?.toString();if(X!==void 0)$.replyTo={authorId:X,text:typeof F.text==="string"?F.text:""}}return $.isEdit===void 0&&$.replyTo===void 0?void 0:$}var ZZ=4096,LZ="x-telegram-bot-api-secret-token",zZ,M_;var q_=R(()=>{zZ=/\s/;M_={channel:"telegram",async verify(D,$,F){if(F.credentials.channel!=="telegram")throw Error("telegram adapter called with non-telegram credentials");let X=F.credentials.webhookSecretToken;if(!X)return;let J=$[LZ];if(!J||!jZ(J,X))throw Error("invalid X-Telegram-Bot-Api-Secret-Token")},async toEnvelopes(D,$,F){if(!F||F.credentials.channel!=="telegram")throw Error("telegram adapter requires a telegram binding for accountId derivation");let X=JSON.parse(D),J=X.message;if(!J||typeof J.text!=="string")return[];let Y=`${J.chat.type}:${J.chat.id}`,G=J.from?.id?.toString(),B=wZ(J.from),H=Number.isFinite(J.date)?new Date(J.date*1000).toISOString():y1(),W=TZ(F.credentials),U=SZ(J);return[{workerId:$,channel:"telegram",accountId:W,chatId:Y,...G===void 0?{}:{userId:G},...B===void 0?{}:{userDisplayName:B},text:J.text,...U===void 0?{}:{richMetadata:U},receivedAt:H,raw:X}]},async send(D,$){if(D.credentials.channel!=="telegram")throw Error("telegram adapter called with non-telegram credentials");let F=D.credentials.botToken,X=$.chatId.indexOf(":");if(X<=0||X===$.chatId.length-1)throw Error(`telegram send: malformed chatId ${$.chatId}`);let J=$.chatId.slice(X+1),Y=Number(J);if(!Number.isFinite(Y)||!Number.isInteger(Y))throw Error(`telegram send: malformed chatId ${$.chatId}`);let G=`https://api.telegram.org/bot${F}/sendMessage`,B=IZ($.text,ZZ);for(let H of B){let W=await fetch(G,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({chat_id:Y,text:H})});if(!W.ok){let U=await W.text();throw Error(`Telegram sendMessage failed: ${W.status} ${U}`)}}}}});function bZ(D){if(!D)return;let $={};if(D.isEdit===!0)$.isEdit=!0;if(D.isDelete===!0)$.isDelete=!0;if(D.replyTo&&typeof D.replyTo.authorId==="string"&&typeof D.replyTo.text==="string")$.replyTo={authorId:D.replyTo.authorId,text:D.replyTo.text};if(typeof D.quote==="string"&&D.quote.length>0)$.quote=D.quote;return Object.keys($).length===0?void 0:$}var fZ="default",N_;var P_=R(()=>{N_={channel:"web",async verify(){},async toEnvelopes(D,$,F){let X=F?.id&&F.id.length>0?F.id:fZ,J=JSON.parse(D),Y=bZ(J.metadata);return[{workerId:$,channel:"web",accountId:X,chatId:J.chatId,...J.threadId===void 0?{}:{threadId:J.threadId},...J.userId===void 0?{}:{userId:J.userId},...J.userDisplayName===void 0?{}:{userDisplayName:J.userDisplayName},text:J.text,...Y===void 0?{}:{richMetadata:Y},receivedAt:y1(),raw:J}]},async send(){}}});import{Buffer as Z_}from"buffer";import{createHmac as kZ,timingSafeEqual as vZ}from"crypto";function hZ(D){switch(D.type){case"text":return D.text?.body;case"image":return D.image?.caption;case"audio":return D.audio?.caption;case"video":return D.video?.caption;case"document":return D.document?.caption;default:return}}function xZ(D){let $=D.context;if(!$||typeof $.from!=="string"||$.from.length===0)return;let F={replyTo:{authorId:$.from,text:""}};if(typeof $.id==="string"&&$.id.length>0)F.quote=$.id;return F}var gZ="v21.0",L_;var z_=R(()=>{L_={channel:"whatsapp",async verify(D,$,F){if(F.credentials.channel!=="whatsapp")throw Error("whatsapp adapter called with non-whatsapp credentials");let X=$["x-hub-signature-256"];if(!X)throw Error("missing X-Hub-Signature-256 header");let[J,Y]=X.split("=",2);if(J!=="sha256"||!Y)throw Error("invalid X-Hub-Signature-256 format");let G=kZ("sha256",F.credentials.appSecret).update(D,"utf8").digest("hex"),B=Z_.from(Y,"hex"),H=Z_.from(G,"hex");if(B.length!==H.length||!vZ(B,H))throw Error("invalid WhatsApp signature")},async toEnvelopes(D,$,F){if(!F||F.credentials.channel!=="whatsapp")throw Error("whatsapp adapter requires a whatsapp binding for accountId derivation");let X=F.credentials.phoneNumberId,J=JSON.parse(D),Y=[];for(let G of J.entry??[])for(let B of G.changes??[]){let H=B.value;if(!H||!H.messages||H.messages.length===0)continue;let W=H.contacts??[];for(let U of H.messages){let A=hZ(U);if(A===void 0)continue;let V=U.from,C=W.find((Q)=>Q.wa_id===V)?.profile?.name,K=xZ(U);Y.push({workerId:$,channel:"whatsapp",accountId:X,chatId:V,userId:V,...C?{userDisplayName:C}:{},text:A,...K===void 0?{}:{richMetadata:K},receivedAt:new Date(Number(U.timestamp)*1000).toISOString(),raw:U})}}return Y},async send(D,$){if(D.credentials.channel!=="whatsapp")throw Error("whatsapp adapter called with non-whatsapp credentials");let{phoneNumberId:F,accessToken:X}=D.credentials,J=`https://graph.facebook.com/${gZ}/${F}/messages`,Y=await fetch(J,{method:"POST",headers:{Authorization:`Bearer ${X}`,"Content-Type":"application/json"},body:JSON.stringify({messaging_product:"whatsapp",recipient_type:"individual",to:$.chatId,type:"text",text:{preview_url:!1,body:$.text}})});if(!Y.ok){let G=await Y.text();throw Error(`WhatsApp send failed: ${Y.status} ${G}`)}}}});function y8(D){return yZ[D]}class J3{byChannel;constructor(D){this.byChannel=new Map;for(let $ of D)if($.enabled)this.byChannel.set($.channel,$)}list(){return Array.from(this.byChannel.values())}get(D){return this.byChannel.get(D)??null}adapter(D){return y8(D)}}var yZ;var G3=R(()=>{E_();R_();q_();P_();z_();yZ={web:N_,line:C_,telegram:M_,lark:Q_,whatsapp:L_}});function f2(D){let $=[];D.brains.forEach((X,J)=>{if(X.type==="cloud-gateway")$.push({path:`brains.${J}.config.token`,value:X.config.token})});let F=D.executor.overrides??{};if(D.executor.engine==="http"&&typeof F.apiKey==="string")$.push({path:"executor.overrides.apiKey",value:F.apiKey});else if(D.executor.engine==="mcp"&&typeof F.token==="string")$.push({path:"executor.overrides.token",value:F.token});return D.channels.forEach((X)=>{let J=X.credentials;switch(J.channel){case"line":$.push({path:"channels.line.credentials.channelSecret",value:J.channelSecret},{path:"channels.line.credentials.channelAccessToken",value:J.channelAccessToken});break;case"telegram":if($.push({path:"channels.telegram.credentials.botToken",value:J.botToken}),J.webhookSecretToken)$.push({path:"channels.telegram.credentials.webhookSecretToken",value:J.webhookSecretToken});break;case"lark":$.push({path:"channels.lark.credentials.appSecret",value:J.appSecret},{path:"channels.lark.credentials.encryptKey",value:J.encryptKey},{path:"channels.lark.credentials.verificationToken",value:J.verificationToken});break;case"whatsapp":$.push({path:"channels.whatsapp.credentials.accessToken",value:J.accessToken},{path:"channels.whatsapp.credentials.appSecret",value:J.appSecret},{path:"channels.whatsapp.credentials.verifyToken",value:J.verifyToken});break;case"web":break}}),$}function R7(D){let $=structuredClone(D);return $.brains=$.brains.map((F)=>{if(F.type==="cloud-gateway")return{...F,config:{...F.config,token:""}};return F}),uZ($),$.channels=$.channels.map((F)=>{let X=F.credentials;switch(X.channel){case"line":return{...F,credentials:{...X,channelSecret:"",channelAccessToken:""}};case"telegram":return{...F,credentials:{...X,botToken:"",webhookSecretToken:X.webhookSecretToken===void 0?void 0:""}};case"lark":return{...F,credentials:{...X,appSecret:"",encryptKey:"",verificationToken:""}};case"whatsapp":return{...F,credentials:{...X,accessToken:"",appSecret:"",verifyToken:""}};case"web":return F;default:return F}}),$}function u1(D,$){let F=structuredClone(D);return F.brains=F.brains.map((X,J)=>{if(X.type==="cloud-gateway")return{...X,config:{...X.config,token:$.get(`brains.${J}.config.token`)??""}};return X}),mZ(F,$),F.channels=F.channels.map((X)=>{let J=X.credentials;switch(J.channel){case"line":return{...X,credentials:{...J,channelSecret:$.get("channels.line.credentials.channelSecret")??"",channelAccessToken:$.get("channels.line.credentials.channelAccessToken")??""}};case"telegram":{let Y=$.get("channels.telegram.credentials.webhookSecretToken");return{...X,credentials:{...J,botToken:$.get("channels.telegram.credentials.botToken")??"",webhookSecretToken:Y??J.webhookSecretToken}}}case"lark":return{...X,credentials:{...J,appSecret:$.get("channels.lark.credentials.appSecret")??"",encryptKey:$.get("channels.lark.credentials.encryptKey")??"",verificationToken:$.get("channels.lark.credentials.verificationToken")??""}};case"whatsapp":return{...X,credentials:{...J,accessToken:$.get("channels.whatsapp.credentials.accessToken")??"",appSecret:$.get("channels.whatsapp.credentials.appSecret")??"",verifyToken:$.get("channels.whatsapp.credentials.verifyToken")??""}};case"web":return X;default:return X}}),F}function uZ(D){let $={...D.executor.overrides??{}};if(D.executor.engine==="http"&&typeof $.apiKey==="string")$.apiKey="";if(D.executor.engine==="mcp"&&typeof $.token==="string")$.token="";D.executor={...D.executor,overrides:$}}function mZ(D,$){let F={...D.executor.overrides??{}};if(D.executor.engine==="http"){let X=$.get("executor.overrides.apiKey");if(X!==void 0)F.apiKey=X}else if(D.executor.engine==="mcp"){let X=$.get("executor.overrides.token");if(X!==void 0)F.token=X}D.executor={...D.executor,overrides:F}}var w_=S((j_)=>{Object.defineProperty(j_,"__esModule",{value:!0})});var e2=S((I_)=>{Object.defineProperty(I_,"__esModule",{value:!0});I_.CronField=void 0;class YF{#D=!1;#$=!1;#X=!1;#G=[];options={rawValue:""};static get min(){throw Error("min must be overridden")}static get max(){throw Error("max must be overridden")}static get chars(){return Object.freeze([])}static get validChars(){return/^[?,*\dH/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}static get constraints(){return{min:this.min,max:this.max,chars:this.chars,validChars:this.validChars}}constructor(D,$={rawValue:""}){if(!Array.isArray(D))throw Error(`${this.constructor.name} Validation error, values is not an array`);if(!(D.length>0))throw Error(`${this.constructor.name} Validation error, values contains no values`);this.options={...$,rawValue:$.rawValue??""},this.#G=D.sort(YF.sorter),this.#X=this.options.wildcard!==void 0?this.options.wildcard:this.#J(),this.#D=this.options.rawValue.includes("L")||D.includes("L"),this.#$=this.options.rawValue.includes("?")||D.includes("?")}get min(){return this.constructor.min}get max(){return this.constructor.max}get chars(){return this.constructor.chars}get hasLastChar(){return this.#D}get hasQuestionMarkChar(){return this.#$}get isWildcard(){return this.#X}get values(){return this.#G}static sorter(D,$){let F=typeof D==="number",X=typeof $==="number";if(F&&X)return D-$;if(!F&&!X)return D.localeCompare($);return F?-1:1}static findNearestValueInList(D,$,F=!1){if(F){for(let X=D.length-1;X>=0;X--)if(D[X]<$)return D[X];return null}for(let X=0;X<D.length;X++)if(D[X]>$)return D[X];return null}findNearestValue(D,$=!1){return this.constructor.findNearestValueInList(this.values,D,$)}serialize(){return{wildcard:this.#X,values:this.#G}}validate(){let D,$=this.chars.length>0?` or chars ${this.chars.join("")}`:"",F=(G)=>(B)=>new RegExp(`^\\d{0,2}${B}$`).test(G),X=(G)=>{return D=G,typeof G==="number"?G>=this.min&&G<=this.max:this.chars.some(F(G))};if(!this.#G.every(X))throw Error(`${this.constructor.name} Validation error, got value ${D} expected range ${this.min}-${this.max}${$}`);let Y=this.#G.find((G,B)=>this.#G.indexOf(G)!==B);if(Y)throw Error(`${this.constructor.name} Validation error, duplicate values found: ${Y}`)}#J(){if(this.options.rawValue.length>0)return["*","?"].includes(this.options.rawValue);return Array.from({length:this.max-this.min+1},(D,$)=>$+this.min).every((D)=>this.#G.includes(D))}}I_.CronField=YF});var k_=S((f_)=>{Object.defineProperty(f_,"__esModule",{value:!0});f_.CronDayOfMonth=void 0;var pZ=e2(),cZ=1,dZ=31,lZ=Object.freeze(["L"]);class S_ extends pZ.CronField{static get min(){return cZ}static get max(){return dZ}static get chars(){return lZ}static get validChars(){return/^[?,*\dLH/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}f_.CronDayOfMonth=S_});var x_=S((g_)=>{Object.defineProperty(g_,"__esModule",{value:!0});g_.CronDayOfWeek=void 0;var iZ=e2(),nZ=0,sZ=7,rZ=Object.freeze(["L"]);class v_ extends iZ.CronField{static get min(){return nZ}static get max(){return sZ}static get chars(){return rZ}static get validChars(){return/^[?,*\dLH#/-]+$|^.*H\(\d+-\d+\)\/\d+.*$|^.*H\(\d+-\d+\).*$|^.*H\/\d+.*$/}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}get nthDay(){return this.options.nthDayOfWeek??0}}g_.CronDayOfWeek=v_});var p_=S((u_)=>{Object.defineProperty(u_,"__esModule",{value:!0});u_.CronHour=void 0;var oZ=e2(),aZ=0,tZ=23,eZ=Object.freeze([]);class y_ extends oZ.CronField{static get min(){return aZ}static get max(){return tZ}static get chars(){return eZ}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}u_.CronHour=y_});var i_=S((d_)=>{Object.defineProperty(d_,"__esModule",{value:!0});d_.CronMinute=void 0;var DL=e2(),$L=0,FL=59,XL=Object.freeze([]);class c_ extends DL.CronField{static get min(){return $L}static get max(){return FL}static get chars(){return XL}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}d_.CronMinute=c_});var IA=S((wA)=>{Object.defineProperty(wA,"__esModule",{value:!0});class X8 extends Error{}class PU extends X8{constructor(D){super(`Invalid DateTime: ${D.toMessage()}`)}}class ZU extends X8{constructor(D){super(`Invalid Interval: ${D.toMessage()}`)}}class LU extends X8{constructor(D){super(`Invalid Duration: ${D.toMessage()}`)}}class p8 extends X8{}class jF extends X8{constructor(D){super(`Invalid unit ${D}`)}}class oD extends X8{}class k2 extends X8{constructor(){super("Zone is an abstract class")}}var x="numeric",J2="short",M0="long",z7={year:x,month:x,day:x},zU={year:x,month:J2,day:x},JL={year:x,month:J2,day:x,weekday:J2},jU={year:x,month:M0,day:x},wU={year:x,month:M0,day:x,weekday:M0},IU={hour:x,minute:x},TU={hour:x,minute:x,second:x},SU={hour:x,minute:x,second:x,timeZoneName:J2},fU={hour:x,minute:x,second:x,timeZoneName:M0},bU={hour:x,minute:x,hourCycle:"h23"},kU={hour:x,minute:x,second:x,hourCycle:"h23"},vU={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:J2},gU={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:M0},hU={year:x,month:x,day:x,hour:x,minute:x},xU={year:x,month:x,day:x,hour:x,minute:x,second:x},yU={year:x,month:J2,day:x,hour:x,minute:x},uU={year:x,month:J2,day:x,hour:x,minute:x,second:x},GL={year:x,month:J2,day:x,weekday:J2,hour:x,minute:x},mU={year:x,month:M0,day:x,hour:x,minute:x,timeZoneName:J2},pU={year:x,month:M0,day:x,hour:x,minute:x,second:x,timeZoneName:J2},cU={year:x,month:M0,day:x,weekday:M0,hour:x,minute:x,timeZoneName:M0},dU={year:x,month:M0,day:x,weekday:M0,hour:x,minute:x,second:x,timeZoneName:M0};class d8{get type(){throw new k2}get name(){throw new k2}get ianaName(){return this.name}get isUniversal(){throw new k2}offsetName(D,$){throw new k2}formatOffset(D,$){throw new k2}offset(D){throw new k2}equals(D){throw new k2}get isValid(){throw new k2}}var BF=null;class A3 extends d8{static get instance(){if(BF===null)BF=new A3;return BF}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(D,{format:$,locale:F}){return JA(D,$,F)}formatOffset(D,$){return _3(this.offset(D),$)}offset(D){return-new Date(D).getTimezoneOffset()}equals(D){return D.type==="system"}get isValid(){return!0}}var KF=new Map;function YL(D){let $=KF.get(D);if($===void 0)$=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:D,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"}),KF.set(D,$);return $}var BL={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function HL(D,$){let F=D.format($).replace(/\u200E/g,""),X=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(F),[,J,Y,G,B,H,W,U]=X;return[G,J,Y,B,H,W,U]}function WL(D,$){let F=D.formatToParts($),X=[];for(let J=0;J<F.length;J++){let{type:Y,value:G}=F[J],B=BL[Y];if(Y==="era")X[B]=G;else if(!n(B))X[B]=parseInt(G,10)}return X}var HF=new Map;class C2 extends d8{static create(D){let $=HF.get(D);if($===void 0)HF.set(D,$=new C2(D));return $}static resetCache(){HF.clear(),KF.clear()}static isValidSpecifier(D){return this.isValidZone(D)}static isValidZone(D){if(!D)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:D}).format(),!0}catch($){return!1}}constructor(D){super();this.zoneName=D,this.valid=C2.isValidZone(D)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(D,{format:$,locale:F}){return JA(D,$,F,this.name)}formatOffset(D,$){return _3(this.offset(D),$)}offset(D){if(!this.valid)return NaN;let $=new Date(D);if(isNaN($))return NaN;let F=YL(this.name),[X,J,Y,G,B,H,W]=F.formatToParts?WL(F,$):HL(F,$);if(G==="BC")X=-Math.abs(X)+1;let A=S7({year:X,month:J,day:Y,hour:B===24?0:B,minute:H,second:W,millisecond:0}),V=+$,E=V%1000;return V-=E>=0?E:1000+E,(A-V)/60000}equals(D){return D.type==="iana"&&D.name===this.name}get isValid(){return this.valid}}var n_={};function _L(D,$={}){let F=JSON.stringify([D,$]),X=n_[F];if(!X)X=new Intl.ListFormat(D,$),n_[F]=X;return X}var CF=new Map;function RF(D,$={}){let F=JSON.stringify([D,$]),X=CF.get(F);if(X===void 0)X=new Intl.DateTimeFormat(D,$),CF.set(F,X);return X}var OF=new Map;function UL(D,$={}){let F=JSON.stringify([D,$]),X=OF.get(F);if(X===void 0)X=new Intl.NumberFormat(D,$),OF.set(F,X);return X}var MF=new Map;function AL(D,$={}){let{base:F,...X}=$,J=JSON.stringify([D,X]),Y=MF.get(J);if(Y===void 0)Y=new Intl.RelativeTimeFormat(D,$),MF.set(J,Y);return Y}var B3=null;function VL(){if(B3)return B3;else return B3=new Intl.DateTimeFormat().resolvedOptions().locale,B3}var qF=new Map;function lU(D){let $=qF.get(D);if($===void 0)$=new Intl.DateTimeFormat(D).resolvedOptions(),qF.set(D,$);return $}var NF=new Map;function QL(D){let $=NF.get(D);if(!$){let F=new Intl.Locale(D);if($="getWeekInfo"in F?F.getWeekInfo():F.weekInfo,!("minimalDays"in $))$={...rU,...$};NF.set(D,$)}return $}function EL(D){let $=D.indexOf("-x-");if($!==-1)D=D.substring(0,$);let F=D.indexOf("-u-");if(F===-1)return[D];else{let X,J;try{X=RF(D).resolvedOptions(),J=D}catch(B){let H=D.substring(0,F);X=RF(H).resolvedOptions(),J=H}let{numberingSystem:Y,calendar:G}=X;return[J,Y,G]}}function KL(D,$,F){if(F||$){if(!D.includes("-u-"))D+="-u";if(F)D+=`-ca-${F}`;if($)D+=`-nu-${$}`;return D}else return D}function CL(D){let $=[];for(let F=1;F<=12;F++){let X=s.utc(2009,F,1);$.push(D(X))}return $}function RL(D){let $=[];for(let F=1;F<=7;F++){let X=s.utc(2016,11,13+F);$.push(D(X))}return $}function O7(D,$,F,X){let J=D.listingMode();if(J==="error")return null;else if(J==="en")return F($);else return X($)}function OL(D){if(D.numberingSystem&&D.numberingSystem!=="latn")return!1;else return D.numberingSystem==="latn"||!D.locale||D.locale.startsWith("en")||lU(D.locale).numberingSystem==="latn"}class iU{constructor(D,$,F){this.padTo=F.padTo||0,this.floor=F.floor||!1;let{padTo:X,floor:J,...Y}=F;if(!$||Object.keys(Y).length>0){let G={useGrouping:!1,...F};if(F.padTo>0)G.minimumIntegerDigits=F.padTo;this.inf=UL(D,G)}}format(D){if(this.inf){let $=this.floor?Math.floor(D):D;return this.inf.format($)}else{let $=this.floor?Math.floor(D):bF(D,3);return gD($,this.padTo)}}}class nU{constructor(D,$,F){this.opts=F,this.originalZone=void 0;let X=void 0;if(this.opts.timeZone)this.dt=D;else if(D.zone.type==="fixed"){let Y=-1*(D.offset/60),G=Y>=0?`Etc/GMT+${Y}`:`Etc/GMT${Y}`;if(D.offset!==0&&C2.create(G).valid)X=G,this.dt=D;else X="UTC",this.dt=D.offset===0?D:D.setZone("UTC").plus({minutes:D.offset}),this.originalZone=D.zone}else if(D.zone.type==="system")this.dt=D;else if(D.zone.type==="iana")this.dt=D,X=D.zone.name;else X="UTC",this.dt=D.setZone("UTC").plus({minutes:D.offset}),this.originalZone=D.zone;let J={...this.opts};J.timeZone=J.timeZone||X,this.dtf=RF($,J)}format(){if(this.originalZone)return this.formatToParts().map(({value:D})=>D).join("");return this.dtf.format(this.dt.toJSDate())}formatToParts(){let D=this.dtf.formatToParts(this.dt.toJSDate());if(this.originalZone)return D.map(($)=>{if($.type==="timeZoneName"){let F=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...$,value:F}}else return $});return D}resolvedOptions(){return this.dtf.resolvedOptions()}}class sU{constructor(D,$,F){if(this.opts={style:"long",...F},!$&&FA())this.rtf=AL(D,F)}format(D,$){if(this.rtf)return this.rtf.format(D,$);else return uL($,D,this.opts.numeric,this.opts.style!=="long")}formatToParts(D,$){if(this.rtf)return this.rtf.formatToParts(D,$);else return[]}}var rU={firstDay:1,minimalDays:4,weekend:[6,7]};class VD{static fromOpts(D){return VD.create(D.locale,D.numberingSystem,D.outputCalendar,D.weekSettings,D.defaultToEN)}static create(D,$,F,X,J=!1){let Y=D||ZD.defaultLocale,G=Y||(J?"en-US":VL()),B=$||ZD.defaultNumberingSystem,H=F||ZD.defaultOutputCalendar,W=ZF(X)||ZD.defaultWeekSettings;return new VD(G,B,H,W,Y)}static resetCache(){B3=null,CF.clear(),OF.clear(),MF.clear(),qF.clear(),NF.clear()}static fromObject({locale:D,numberingSystem:$,outputCalendar:F,weekSettings:X}={}){return VD.create(D,$,F,X)}constructor(D,$,F,X,J){let[Y,G,B]=EL(D);this.locale=Y,this.numberingSystem=$||G||null,this.outputCalendar=F||B||null,this.weekSettings=X,this.intl=KL(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=J,this.fastNumbersCached=null}get fastNumbers(){if(this.fastNumbersCached==null)this.fastNumbersCached=OL(this);return this.fastNumbersCached}listingMode(){let D=this.isEnglish(),$=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return D&&$?"en":"intl"}clone(D){if(!D||Object.getOwnPropertyNames(D).length===0)return this;else return VD.create(D.locale||this.specifiedLocale,D.numberingSystem||this.numberingSystem,D.outputCalendar||this.outputCalendar,ZF(D.weekSettings)||this.weekSettings,D.defaultToEN||!1)}redefaultToEN(D={}){return this.clone({...D,defaultToEN:!0})}redefaultToSystem(D={}){return this.clone({...D,defaultToEN:!1})}months(D,$=!1){return O7(this,D,BA,()=>{let F=this.intl==="ja"||this.intl.startsWith("ja-");$&=!F;let X=$?{month:D,day:"numeric"}:{month:D},J=$?"format":"standalone";if(!this.monthsCache[J][D]){let Y=!F?(G)=>this.extract(G,X,"month"):(G)=>this.dtFormatter(G,X).format();this.monthsCache[J][D]=CL(Y)}return this.monthsCache[J][D]})}weekdays(D,$=!1){return O7(this,D,_A,()=>{let F=$?{weekday:D,year:"numeric",month:"long",day:"numeric"}:{weekday:D},X=$?"format":"standalone";if(!this.weekdaysCache[X][D])this.weekdaysCache[X][D]=RL((J)=>this.extract(J,F,"weekday"));return this.weekdaysCache[X][D]})}meridiems(){return O7(this,void 0,()=>UA,()=>{if(!this.meridiemCache){let D={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[s.utc(2016,11,13,9),s.utc(2016,11,13,19)].map(($)=>this.extract($,D,"dayperiod"))}return this.meridiemCache})}eras(D){return O7(this,D,AA,()=>{let $={era:D};if(!this.eraCache[D])this.eraCache[D]=[s.utc(-40,1,1),s.utc(2017,1,1)].map((F)=>this.extract(F,$,"era"));return this.eraCache[D]})}extract(D,$,F){let X=this.dtFormatter(D,$),J=X.formatToParts(),Y=J.find((G)=>G.type.toLowerCase()===F);return Y?Y.value:null}numberFormatter(D={}){return new iU(this.intl,D.forceSimple||this.fastNumbers,D)}dtFormatter(D,$={}){return new nU(D,this.intl,$)}relFormatter(D={}){return new sU(this.intl,this.isEnglish(),D)}listFormatter(D={}){return _L(this.intl,D)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||lU(this.intl).locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!XA())return rU;else return QL(this.locale)}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(D){return this.locale===D.locale&&this.numberingSystem===D.numberingSystem&&this.outputCalendar===D.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}var WF=null;class F0 extends d8{static get utcInstance(){if(WF===null)WF=new F0(0);return WF}static instance(D){return D===0?F0.utcInstance:new F0(D)}static parseSpecifier(D){if(D){let $=D.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if($)return new F0(f7($[1],$[2]))}return null}constructor(D){super();this.fixed=D}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${_3(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${_3(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(D,$){return _3(this.fixed,$)}get isUniversal(){return!0}offset(){return this.fixed}equals(D){return D.type==="fixed"&&D.fixed===this.fixed}get isValid(){return!0}}class wF extends d8{constructor(D){super();this.zoneName=D}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function $8(D,$){if(n(D)||D===null)return $;else if(D instanceof d8)return D;else if(LL(D)){let F=D.toLowerCase();if(F==="default")return $;else if(F==="local"||F==="system")return A3.instance;else if(F==="utc"||F==="gmt")return F0.utcInstance;else return F0.parseSpecifier(F)||C2.create(D)}else if(F8(D))return F0.instance(D);else if(typeof D==="object"&&"offset"in D&&typeof D.offset==="function")return D;else return new wF(D)}var IF={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},s_={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},ML=IF.hanidec.replace(/[\[|\]]/g,"").split("");function qL(D){let $=parseInt(D,10);if(isNaN($)){$="";for(let F=0;F<D.length;F++){let X=D.charCodeAt(F);if(D[F].search(IF.hanidec)!==-1)$+=ML.indexOf(D[F]);else for(let J in s_){let[Y,G]=s_[J];if(X>=Y&&X<=G)$+=X-Y}}return parseInt($,10)}else return $}var PF=new Map;function NL(){PF.clear()}function F2({numberingSystem:D},$=""){let F=D||"latn",X=PF.get(F);if(X===void 0)X=new Map,PF.set(F,X);let J=X.get($);if(J===void 0)J=new RegExp(`${IF[F]}${$}`),X.set($,J);return J}var r_=()=>Date.now(),o_="system",a_=null,t_=null,e_=null,DU=60,$U,FU=null;class ZD{static get now(){return r_}static set now(D){r_=D}static set defaultZone(D){o_=D}static get defaultZone(){return $8(o_,A3.instance)}static get defaultLocale(){return a_}static set defaultLocale(D){a_=D}static get defaultNumberingSystem(){return t_}static set defaultNumberingSystem(D){t_=D}static get defaultOutputCalendar(){return e_}static set defaultOutputCalendar(D){e_=D}static get defaultWeekSettings(){return FU}static set defaultWeekSettings(D){FU=ZF(D)}static get twoDigitCutoffYear(){return DU}static set twoDigitCutoffYear(D){DU=D%100}static get throwOnInvalid(){return $U}static set throwOnInvalid(D){$U=D}static resetCaches(){VD.resetCache(),C2.resetCache(),s.resetCache(),NL()}}class w0{constructor(D,$){this.reason=D,this.explanation=$}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var oU=[0,31,59,90,120,151,181,212,243,273,304,334],aU=[0,31,60,91,121,152,182,213,244,274,305,335];function I0(D,$){return new w0("unit out of range",`you specified ${$} (of type ${typeof $}) as a ${D}, which is invalid`)}function TF(D,$,F){let X=new Date(Date.UTC(D,$-1,F));if(D<100&&D>=0)X.setUTCFullYear(X.getUTCFullYear()-1900);let J=X.getUTCDay();return J===0?7:J}function tU(D,$,F){return F+(V3(D)?aU:oU)[$-1]}function eU(D,$){let F=V3(D)?aU:oU,X=F.findIndex((Y)=>Y<$),J=$-F[X];return{month:X+1,day:J}}function SF(D,$){return(D-$+7)%7+1}function j7(D,$=4,F=1){let{year:X,month:J,day:Y}=D,G=tU(X,J,Y),B=SF(TF(X,J,Y),F),H=Math.floor((G-B+14-$)/7),W;if(H<1)W=X-1,H=U3(W,$,F);else if(H>U3(X,$,F))W=X+1,H=1;else W=X;return{weekYear:W,weekNumber:H,weekday:B,...b7(D)}}function XU(D,$=4,F=1){let{weekYear:X,weekNumber:J,weekday:Y}=D,G=SF(TF(X,1,$),F),B=l1(X),H=J*7+Y-G-7+$,W;if(H<1)W=X-1,H+=l1(W);else if(H>B)W=X+1,H-=l1(X);else W=X;let{month:U,day:A}=eU(W,H);return{year:W,month:U,day:A,...b7(D)}}function _F(D){let{year:$,month:F,day:X}=D,J=tU($,F,X);return{year:$,ordinal:J,...b7(D)}}function JU(D){let{year:$,ordinal:F}=D,{month:X,day:J}=eU($,F);return{year:$,month:X,day:J,...b7(D)}}function GU(D,$){if(!n(D.localWeekday)||!n(D.localWeekNumber)||!n(D.localWeekYear)){if(!n(D.weekday)||!n(D.weekNumber)||!n(D.weekYear))throw new p8("Cannot mix locale-based week fields with ISO-based week fields");if(!n(D.localWeekday))D.weekday=D.localWeekday;if(!n(D.localWeekNumber))D.weekNumber=D.localWeekNumber;if(!n(D.localWeekYear))D.weekYear=D.localWeekYear;return delete D.localWeekday,delete D.localWeekNumber,delete D.localWeekYear,{minDaysInFirstWeek:$.getMinDaysInFirstWeek(),startOfWeek:$.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function PL(D,$=4,F=1){let X=T7(D.weekYear),J=T0(D.weekNumber,1,U3(D.weekYear,$,F)),Y=T0(D.weekday,1,7);if(!X)return I0("weekYear",D.weekYear);else if(!J)return I0("week",D.weekNumber);else if(!Y)return I0("weekday",D.weekday);else return!1}function ZL(D){let $=T7(D.year),F=T0(D.ordinal,1,l1(D.year));if(!$)return I0("year",D.year);else if(!F)return I0("ordinal",D.ordinal);else return!1}function DA(D){let $=T7(D.year),F=T0(D.month,1,12),X=T0(D.day,1,w7(D.year,D.month));if(!$)return I0("year",D.year);else if(!F)return I0("month",D.month);else if(!X)return I0("day",D.day);else return!1}function $A(D){let{hour:$,minute:F,second:X,millisecond:J}=D,Y=T0($,0,23)||$===24&&F===0&&X===0&&J===0,G=T0(F,0,59),B=T0(X,0,59),H=T0(J,0,999);if(!Y)return I0("hour",$);else if(!G)return I0("minute",F);else if(!B)return I0("second",X);else if(!H)return I0("millisecond",J);else return!1}function n(D){return typeof D>"u"}function F8(D){return typeof D==="number"}function T7(D){return typeof D==="number"&&D%1===0}function LL(D){return typeof D==="string"}function zL(D){return Object.prototype.toString.call(D)==="[object Date]"}function FA(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch(D){return!1}}function XA(){try{return typeof Intl<"u"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(D){return!1}}function jL(D){return Array.isArray(D)?D:[D]}function YU(D,$,F){if(D.length===0)return;return D.reduce((X,J)=>{let Y=[$(J),J];if(!X)return Y;else if(F(X[0],Y[0])===X[0])return X;else return Y},null)[1]}function wL(D,$){return $.reduce((F,X)=>{return F[X]=D[X],F},{})}function n1(D,$){return Object.prototype.hasOwnProperty.call(D,$)}function ZF(D){if(D==null)return null;else if(typeof D!=="object")throw new oD("Week settings must be an object");else{if(!T0(D.firstDay,1,7)||!T0(D.minimalDays,1,7)||!Array.isArray(D.weekend)||D.weekend.some(($)=>!T0($,1,7)))throw new oD("Invalid week settings");return{firstDay:D.firstDay,minimalDays:D.minimalDays,weekend:Array.from(D.weekend)}}}function T0(D,$,F){return T7(D)&&D>=$&&D<=F}function IL(D,$){return D-$*Math.floor(D/$)}function gD(D,$=2){let F=D<0,X;if(F)X="-"+(""+-D).padStart($,"0");else X=(""+D).padStart($,"0");return X}function D8(D){if(n(D)||D===null||D==="")return;else return parseInt(D,10)}function u8(D){if(n(D)||D===null||D==="")return;else return parseFloat(D)}function fF(D){if(n(D)||D===null||D==="")return;else{let $=parseFloat("0."+D)*1000;return Math.floor($)}}function bF(D,$,F="round"){let X=10**$;switch(F){case"expand":return D>0?Math.ceil(D*X)/X:Math.floor(D*X)/X;case"trunc":return Math.trunc(D*X)/X;case"round":return Math.round(D*X)/X;case"floor":return Math.floor(D*X)/X;case"ceil":return Math.ceil(D*X)/X;default:throw RangeError(`Value rounding ${F} is out of range`)}}function V3(D){return D%4===0&&(D%100!==0||D%400===0)}function l1(D){return V3(D)?366:365}function w7(D,$){let F=IL($-1,12)+1,X=D+($-F)/12;if(F===2)return V3(X)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][F-1]}function S7(D){let $=Date.UTC(D.year,D.month-1,D.day,D.hour,D.minute,D.second,D.millisecond);if(D.year<100&&D.year>=0)$=new Date($),$.setUTCFullYear(D.year,D.month-1,D.day);return+$}function BU(D,$,F){return-SF(TF(D,1,$),F)+$-1}function U3(D,$=4,F=1){let X=BU(D,$,F),J=BU(D+1,$,F);return(l1(D)-X+J)/7}function LF(D){if(D>99)return D;else return D>ZD.twoDigitCutoffYear?1900+D:2000+D}function JA(D,$,F,X=null){let J=new Date(D),Y={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(X)Y.timeZone=X;let G={timeZoneName:$,...Y},B=new Intl.DateTimeFormat(F,G).formatToParts(J).find((H)=>H.type.toLowerCase()==="timezonename");return B?B.value:null}function f7(D,$){let F=parseInt(D,10);if(Number.isNaN(F))F=0;let X=parseInt($,10)||0,J=F<0||Object.is(F,-0)?-X:X;return F*60+J}function GA(D){let $=Number(D);if(typeof D==="boolean"||D===""||!Number.isFinite($))throw new oD(`Invalid unit value ${D}`);return $}function I7(D,$){let F={};for(let X in D)if(n1(D,X)){let J=D[X];if(J===void 0||J===null)continue;F[$(X)]=GA(J)}return F}function _3(D,$){let F=Math.trunc(Math.abs(D/60)),X=Math.trunc(Math.abs(D%60)),J=D>=0?"+":"-";switch($){case"short":return`${J}${gD(F,2)}:${gD(X,2)}`;case"narrow":return`${J}${F}${X>0?`:${X}`:""}`;case"techie":return`${J}${gD(F,2)}${gD(X,2)}`;default:throw RangeError(`Value format ${$} is out of range for property format`)}}function b7(D){return wL(D,["hour","minute","second","millisecond"])}var TL=["January","February","March","April","May","June","July","August","September","October","November","December"],YA=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],SL=["J","F","M","A","M","J","J","A","S","O","N","D"];function BA(D){switch(D){case"narrow":return[...SL];case"short":return[...YA];case"long":return[...TL];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var HA=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],WA=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],fL=["M","T","W","T","F","S","S"];function _A(D){switch(D){case"narrow":return[...fL];case"short":return[...WA];case"long":return[...HA];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var UA=["AM","PM"],bL=["Before Christ","Anno Domini"],kL=["BC","AD"],vL=["B","A"];function AA(D){switch(D){case"narrow":return[...vL];case"short":return[...kL];case"long":return[...bL];default:return null}}function gL(D){return UA[D.hour<12?0:1]}function hL(D,$){return _A($)[D.weekday-1]}function xL(D,$){return BA($)[D.month-1]}function yL(D,$){return AA($)[D.year<0?0:1]}function uL(D,$,F="always",X=!1){let J={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},Y=["hours","minutes","seconds"].indexOf(D)===-1;if(F==="auto"&&Y){let A=D==="days";switch($){case 1:return A?"tomorrow":`next ${J[D][0]}`;case-1:return A?"yesterday":`last ${J[D][0]}`;case 0:return A?"today":`this ${J[D][0]}`}}let G=Object.is($,-0)||$<0,B=Math.abs($),H=B===1,W=J[D],U=X?H?W[1]:W[2]||W[1]:H?J[D][0]:D;return G?`${B} ${U} ago`:`in ${B} ${U}`}function HU(D,$){let F="";for(let X of D)if(X.literal)F+=X.val;else F+=$(X.val);return F}var mL={D:z7,DD:zU,DDD:jU,DDDD:wU,t:IU,tt:TU,ttt:SU,tttt:fU,T:bU,TT:kU,TTT:vU,TTTT:gU,f:hU,ff:yU,fff:mU,ffff:cU,F:xU,FF:uU,FFF:pU,FFFF:dU};class $0{static create(D,$={}){return new $0(D,$)}static parseFormat(D){let $=null,F="",X=!1,J=[];for(let Y=0;Y<D.length;Y++){let G=D.charAt(Y);if(G==="'"){if(F.length>0||X)J.push({literal:X||/^\s+$/.test(F),val:F===""?"'":F});$=null,F="",X=!X}else if(X)F+=G;else if(G===$)F+=G;else{if(F.length>0)J.push({literal:/^\s+$/.test(F),val:F});F=G,$=G}}if(F.length>0)J.push({literal:X||/^\s+$/.test(F),val:F});return J}static macroTokenToFormatOpts(D){return mL[D]}constructor(D,$){this.opts=$,this.loc=D,this.systemLoc=null}formatWithSystemDefault(D,$){if(this.systemLoc===null)this.systemLoc=this.loc.redefaultToSystem();return this.systemLoc.dtFormatter(D,{...this.opts,...$}).format()}dtFormatter(D,$={}){return this.loc.dtFormatter(D,{...this.opts,...$})}formatDateTime(D,$){return this.dtFormatter(D,$).format()}formatDateTimeParts(D,$){return this.dtFormatter(D,$).formatToParts()}formatInterval(D,$){return this.dtFormatter(D.start,$).dtf.formatRange(D.start.toJSDate(),D.end.toJSDate())}resolvedOptions(D,$){return this.dtFormatter(D,$).resolvedOptions()}num(D,$=0,F=void 0){if(this.opts.forceSimple)return gD(D,$);let X={...this.opts};if($>0)X.padTo=$;if(F)X.signDisplay=F;return this.loc.numberFormatter(X).format(D)}formatDateTimeFromString(D,$){let F=this.loc.listingMode()==="en",X=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",J=(V,E)=>this.loc.extract(D,V,E),Y=(V)=>{if(D.isOffsetFixed&&D.offset===0&&V.allowZ)return"Z";return D.isValid?D.zone.formatOffset(D.ts,V.format):""},G=()=>F?gL(D):J({hour:"numeric",hourCycle:"h12"},"dayperiod"),B=(V,E)=>F?xL(D,V):J(E?{month:V}:{month:V,day:"numeric"},"month"),H=(V,E)=>F?hL(D,V):J(E?{weekday:V}:{weekday:V,month:"long",day:"numeric"},"weekday"),W=(V)=>{let E=$0.macroTokenToFormatOpts(V);if(E)return this.formatWithSystemDefault(D,E);else return V},U=(V)=>F?yL(D,V):J({era:V},"era"),A=(V)=>{switch(V){case"S":return this.num(D.millisecond);case"u":case"SSS":return this.num(D.millisecond,3);case"s":return this.num(D.second);case"ss":return this.num(D.second,2);case"uu":return this.num(Math.floor(D.millisecond/10),2);case"uuu":return this.num(Math.floor(D.millisecond/100));case"m":return this.num(D.minute);case"mm":return this.num(D.minute,2);case"h":return this.num(D.hour%12===0?12:D.hour%12);case"hh":return this.num(D.hour%12===0?12:D.hour%12,2);case"H":return this.num(D.hour);case"HH":return this.num(D.hour,2);case"Z":return Y({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return Y({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return Y({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return D.zone.offsetName(D.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return D.zone.offsetName(D.ts,{format:"long",locale:this.loc.locale});case"z":return D.zoneName;case"a":return G();case"d":return X?J({day:"numeric"},"day"):this.num(D.day);case"dd":return X?J({day:"2-digit"},"day"):this.num(D.day,2);case"c":return this.num(D.weekday);case"ccc":return H("short",!0);case"cccc":return H("long",!0);case"ccccc":return H("narrow",!0);case"E":return this.num(D.weekday);case"EEE":return H("short",!1);case"EEEE":return H("long",!1);case"EEEEE":return H("narrow",!1);case"L":return X?J({month:"numeric",day:"numeric"},"month"):this.num(D.month);case"LL":return X?J({month:"2-digit",day:"numeric"},"month"):this.num(D.month,2);case"LLL":return B("short",!0);case"LLLL":return B("long",!0);case"LLLLL":return B("narrow",!0);case"M":return X?J({month:"numeric"},"month"):this.num(D.month);case"MM":return X?J({month:"2-digit"},"month"):this.num(D.month,2);case"MMM":return B("short",!1);case"MMMM":return B("long",!1);case"MMMMM":return B("narrow",!1);case"y":return X?J({year:"numeric"},"year"):this.num(D.year);case"yy":return X?J({year:"2-digit"},"year"):this.num(D.year.toString().slice(-2),2);case"yyyy":return X?J({year:"numeric"},"year"):this.num(D.year,4);case"yyyyyy":return X?J({year:"numeric"},"year"):this.num(D.year,6);case"G":return U("short");case"GG":return U("long");case"GGGGG":return U("narrow");case"kk":return this.num(D.weekYear.toString().slice(-2),2);case"kkkk":return this.num(D.weekYear,4);case"W":return this.num(D.weekNumber);case"WW":return this.num(D.weekNumber,2);case"n":return this.num(D.localWeekNumber);case"nn":return this.num(D.localWeekNumber,2);case"ii":return this.num(D.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(D.localWeekYear,4);case"o":return this.num(D.ordinal);case"ooo":return this.num(D.ordinal,3);case"q":return this.num(D.quarter);case"qq":return this.num(D.quarter,2);case"X":return this.num(Math.floor(D.ts/1000));case"x":return this.num(D.ts);default:return W(V)}};return HU($0.parseFormat($),A)}formatDurationFromString(D,$){let F=this.opts.signMode==="negativeLargestOnly"?-1:1,X=(W)=>{switch(W[0]){case"S":return"milliseconds";case"s":return"seconds";case"m":return"minutes";case"h":return"hours";case"d":return"days";case"w":return"weeks";case"M":return"months";case"y":return"years";default:return null}},J=(W,U)=>(A)=>{let V=X(A);if(V){let E=U.isNegativeDuration&&V!==U.largestUnit?F:1,C;if(this.opts.signMode==="negativeLargestOnly"&&V!==U.largestUnit)C="never";else if(this.opts.signMode==="all")C="always";else C="auto";return this.num(W.get(V)*E,A.length,C)}else return A},Y=$0.parseFormat($),G=Y.reduce((W,{literal:U,val:A})=>U?W:W.concat(A),[]),B=D.shiftTo(...G.map(X).filter((W)=>W)),H={isNegativeDuration:B<0,largestUnit:Object.keys(B.values)[0]};return HU(Y,J(B,H))}}var VA=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function s1(...D){let $=D.reduce((F,X)=>F+X.source,"");return RegExp(`^${$}$`)}function r1(...D){return($)=>D.reduce(([F,X,J],Y)=>{let[G,B,H]=Y($,J);return[{...F,...G},B||X,H]},[{},null,1]).slice(0,2)}function o1(D,...$){if(D==null)return[null,null];for(let[F,X]of $){let J=F.exec(D);if(J)return X(J)}return[null,null]}function QA(...D){return($,F)=>{let X={},J;for(J=0;J<D.length;J++)X[D[J]]=D8($[F+J]);return[X,null,F+J]}}var EA=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,pL=`(?:${EA.source}?(?:\\[(${VA.source})\\])?)?`,kF=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,KA=RegExp(`${kF.source}${pL}`),vF=RegExp(`(?:[Tt]${KA.source})?`),cL=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,dL=/(\d{4})-?W(\d\d)(?:-?(\d))?/,lL=/(\d{4})-?(\d{3})/,iL=QA("weekYear","weekNumber","weekDay"),nL=QA("year","ordinal"),sL=/(\d{4})-(\d\d)-(\d\d)/,CA=RegExp(`${kF.source} ?(?:${EA.source}|(${VA.source}))?`),rL=RegExp(`(?: ${CA.source})?`);function i1(D,$,F){let X=D[$];return n(X)?F:D8(X)}function oL(D,$){return[{year:i1(D,$),month:i1(D,$+1,1),day:i1(D,$+2,1)},null,$+3]}function a1(D,$){return[{hours:i1(D,$,0),minutes:i1(D,$+1,0),seconds:i1(D,$+2,0),milliseconds:fF(D[$+3])},null,$+4]}function Q3(D,$){let F=!D[$]&&!D[$+1],X=f7(D[$+1],D[$+2]),J=F?null:F0.instance(X);return[{},J,$+3]}function E3(D,$){let F=D[$]?C2.create(D[$]):null;return[{},F,$+1]}var aL=RegExp(`^T?${kF.source}$`),tL=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function eL(D){let[$,F,X,J,Y,G,B,H,W]=D,U=$[0]==="-",A=H&&H[0]==="-",V=(E,C=!1)=>E!==void 0&&(C||E&&U)?-E:E;return[{years:V(u8(F)),months:V(u8(X)),weeks:V(u8(J)),days:V(u8(Y)),hours:V(u8(G)),minutes:V(u8(B)),seconds:V(u8(H),H==="-0"),milliseconds:V(fF(W),A)}]}var Dz={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function gF(D,$,F,X,J,Y,G){let B={year:$.length===2?LF(D8($)):D8($),month:YA.indexOf(F)+1,day:D8(X),hour:D8(J),minute:D8(Y)};if(G)B.second=D8(G);if(D)B.weekday=D.length>3?HA.indexOf(D)+1:WA.indexOf(D)+1;return B}var $z=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Fz(D){let[,$,F,X,J,Y,G,B,H,W,U,A]=D,V=gF($,J,X,F,Y,G,B),E;if(H)E=Dz[H];else if(W)E=0;else E=f7(U,A);return[V,new F0(E)]}function Xz(D){return D.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var Jz=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Gz=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Yz=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function WU(D){let[,$,F,X,J,Y,G,B]=D;return[gF($,J,X,F,Y,G,B),F0.utcInstance]}function Bz(D){let[,$,F,X,J,Y,G,B]=D;return[gF($,B,F,X,J,Y,G),F0.utcInstance]}var Hz=s1(cL,vF),Wz=s1(dL,vF),_z=s1(lL,vF),Uz=s1(KA),RA=r1(oL,a1,Q3,E3),Az=r1(iL,a1,Q3,E3),Vz=r1(nL,a1,Q3,E3),Qz=r1(a1,Q3,E3);function Ez(D){return o1(D,[Hz,RA],[Wz,Az],[_z,Vz],[Uz,Qz])}function Kz(D){return o1(Xz(D),[$z,Fz])}function Cz(D){return o1(D,[Jz,WU],[Gz,WU],[Yz,Bz])}function Rz(D){return o1(D,[tL,eL])}var Oz=r1(a1);function Mz(D){return o1(D,[aL,Oz])}var qz=s1(sL,rL),Nz=s1(CA),Pz=r1(a1,Q3,E3);function Zz(D){return o1(D,[qz,RA],[Nz,Pz])}var _U="Invalid Duration",OA={weeks:{days:7,hours:168,minutes:10080,seconds:604800,milliseconds:604800000},days:{hours:24,minutes:1440,seconds:86400,milliseconds:86400000},hours:{minutes:60,seconds:3600,milliseconds:3600000},minutes:{seconds:60,milliseconds:60000},seconds:{milliseconds:1000}},Lz={years:{quarters:4,months:12,weeks:52,days:365,hours:8760,minutes:525600,seconds:31536000,milliseconds:31536000000},quarters:{months:3,weeks:13,days:91,hours:2184,minutes:131040,seconds:7862400,milliseconds:7862400000},months:{weeks:4,days:30,hours:720,minutes:43200,seconds:2592000,milliseconds:2592000000},...OA},j0=365.2425,m1=30.436875,zz={years:{quarters:4,months:12,weeks:j0/7,days:j0,hours:j0*24,minutes:j0*24*60,seconds:j0*24*60*60,milliseconds:j0*24*60*60*1000},quarters:{months:3,weeks:j0/28,days:j0/4,hours:j0*24/4,minutes:j0*24*60/4,seconds:j0*24*60*60/4,milliseconds:j0*24*60*60*1000/4},months:{weeks:m1/7,days:m1,hours:m1*24,minutes:m1*24*60,seconds:m1*24*60*60,milliseconds:m1*24*60*60*1000},...OA},c8=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],jz=c8.slice(0).reverse();function b2(D,$,F=!1){let X={values:F?$.values:{...D.values,...$.values||{}},loc:D.loc.clone($.loc),conversionAccuracy:$.conversionAccuracy||D.conversionAccuracy,matrix:$.matrix||D.matrix};return new YD(X)}function MA(D,$){var F;let X=(F=$.milliseconds)!=null?F:0;for(let J of jz.slice(1))if($[J])X+=$[J]*D[J].milliseconds;return X}function UU(D,$){let F=MA(D,$)<0?-1:1;c8.reduceRight((X,J)=>{if(!n($[J])){if(X){let Y=$[X]*F,G=D[J][X],B=Math.floor(Y/G);$[J]+=B*F,$[X]-=B*G*F}return J}else return X},null),c8.reduce((X,J)=>{if(!n($[J])){if(X){let Y=$[X]%1;$[X]-=Y,$[J]+=Y*D[X][J]}return J}else return X},null)}function AU(D){let $={};for(let[F,X]of Object.entries(D))if(X!==0)$[F]=X;return $}class YD{constructor(D){let $=D.conversionAccuracy==="longterm"||!1,F=$?zz:Lz;if(D.matrix)F=D.matrix;this.values=D.values,this.loc=D.loc||VD.create(),this.conversionAccuracy=$?"longterm":"casual",this.invalid=D.invalid||null,this.matrix=F,this.isLuxonDuration=!0}static fromMillis(D,$){return YD.fromObject({milliseconds:D},$)}static fromObject(D,$={}){if(D==null||typeof D!=="object")throw new oD(`Duration.fromObject: argument expected to be an object, got ${D===null?"null":typeof D}`);return new YD({values:I7(D,YD.normalizeUnit),loc:VD.fromObject($),conversionAccuracy:$.conversionAccuracy,matrix:$.matrix})}static fromDurationLike(D){if(F8(D))return YD.fromMillis(D);else if(YD.isDuration(D))return D;else if(typeof D==="object")return YD.fromObject(D);else throw new oD(`Unknown duration argument ${D} of type ${typeof D}`)}static fromISO(D,$){let[F]=Rz(D);if(F)return YD.fromObject(F,$);else return YD.invalid("unparsable",`the input "${D}" can't be parsed as ISO 8601`)}static fromISOTime(D,$){let[F]=Mz(D);if(F)return YD.fromObject(F,$);else return YD.invalid("unparsable",`the input "${D}" can't be parsed as ISO 8601`)}static invalid(D,$=null){if(!D)throw new oD("need to specify a reason the Duration is invalid");let F=D instanceof w0?D:new w0(D,$);if(ZD.throwOnInvalid)throw new LU(F);else return new YD({invalid:F})}static normalizeUnit(D){let $={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[D?D.toLowerCase():D];if(!$)throw new jF(D);return $}static isDuration(D){return D&&D.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(D,$={}){let F={...$,floor:$.round!==!1&&$.floor!==!1};return this.isValid?$0.create(this.loc,F).formatDurationFromString(this,D):_U}toHuman(D={}){if(!this.isValid)return _U;let $=D.showZeros!==!1,F=c8.map((X)=>{let J=this.values[X];if(n(J)||J===0&&!$)return null;return this.loc.numberFormatter({style:"unit",unitDisplay:"long",...D,unit:X.slice(0,-1)}).format(J)}).filter((X)=>X);return this.loc.listFormatter({type:"conjunction",style:D.listStyle||"narrow",...D}).format(F)}toObject(){if(!this.isValid)return{};return{...this.values}}toISO(){if(!this.isValid)return null;let D="P";if(this.years!==0)D+=this.years+"Y";if(this.months!==0||this.quarters!==0)D+=this.months+this.quarters*3+"M";if(this.weeks!==0)D+=this.weeks+"W";if(this.days!==0)D+=this.days+"D";if(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)D+="T";if(this.hours!==0)D+=this.hours+"H";if(this.minutes!==0)D+=this.minutes+"M";if(this.seconds!==0||this.milliseconds!==0)D+=bF(this.seconds+this.milliseconds/1000,3)+"S";if(D==="P")D+="T0S";return D}toISOTime(D={}){if(!this.isValid)return null;let $=this.toMillis();if($<0||$>=86400000)return null;return D={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...D,includeOffset:!1},s.fromMillis($,{zone:"UTC"}).toISOTime(D)}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Duration { values: ${JSON.stringify(this.values)} }`;else return`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){if(!this.isValid)return NaN;return MA(this.matrix,this.values)}valueOf(){return this.toMillis()}plus(D){if(!this.isValid)return this;let $=YD.fromDurationLike(D),F={};for(let X of c8)if(n1($.values,X)||n1(this.values,X))F[X]=$.get(X)+this.get(X);return b2(this,{values:F},!0)}minus(D){if(!this.isValid)return this;let $=YD.fromDurationLike(D);return this.plus($.negate())}mapUnits(D){if(!this.isValid)return this;let $={};for(let F of Object.keys(this.values))$[F]=GA(D(this.values[F],F));return b2(this,{values:$},!0)}get(D){return this[YD.normalizeUnit(D)]}set(D){if(!this.isValid)return this;let $={...this.values,...I7(D,YD.normalizeUnit)};return b2(this,{values:$})}reconfigure({locale:D,numberingSystem:$,conversionAccuracy:F,matrix:X}={}){let Y={loc:this.loc.clone({locale:D,numberingSystem:$}),matrix:X,conversionAccuracy:F};return b2(this,Y)}as(D){return this.isValid?this.shiftTo(D).get(D):NaN}normalize(){if(!this.isValid)return this;let D=this.toObject();return UU(this.matrix,D),b2(this,{values:D},!0)}rescale(){if(!this.isValid)return this;let D=AU(this.normalize().shiftToAll().toObject());return b2(this,{values:D},!0)}shiftTo(...D){if(!this.isValid)return this;if(D.length===0)return this;D=D.map((Y)=>YD.normalizeUnit(Y));let $={},F={},X=this.toObject(),J;for(let Y of c8)if(D.indexOf(Y)>=0){J=Y;let G=0;for(let H in F)G+=this.matrix[H][Y]*F[H],F[H]=0;if(F8(X[Y]))G+=X[Y];let B=Math.trunc(G);$[Y]=B,F[Y]=(G*1000-B*1000)/1000}else if(F8(X[Y]))F[Y]=X[Y];for(let Y in F)if(F[Y]!==0)$[J]+=Y===J?F[Y]:F[Y]/this.matrix[J][Y];return UU(this.matrix,$),b2(this,{values:$},!0)}shiftToAll(){if(!this.isValid)return this;return this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds")}negate(){if(!this.isValid)return this;let D={};for(let $ of Object.keys(this.values))D[$]=this.values[$]===0?0:-this.values[$];return b2(this,{values:D},!0)}removeZeros(){if(!this.isValid)return this;let D=AU(this.values);return b2(this,{values:D},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(D){if(!this.isValid||!D.isValid)return!1;if(!this.loc.equals(D.loc))return!1;function $(F,X){if(F===void 0||F===0)return X===void 0||X===0;return F===X}for(let F of c8)if(!$(this.values[F],D.values[F]))return!1;return!0}}var p1="Invalid Interval";function wz(D,$){if(!D||!D.isValid)return wD.invalid("missing or invalid start");else if(!$||!$.isValid)return wD.invalid("missing or invalid end");else if($<D)return wD.invalid("end before start",`The end of an interval must be after its start, but you had start=${D.toISO()} and end=${$.toISO()}`);else return null}class wD{constructor(D){this.s=D.start,this.e=D.end,this.invalid=D.invalid||null,this.isLuxonInterval=!0}static invalid(D,$=null){if(!D)throw new oD("need to specify a reason the Interval is invalid");let F=D instanceof w0?D:new w0(D,$);if(ZD.throwOnInvalid)throw new ZU(F);else return new wD({invalid:F})}static fromDateTimes(D,$){let F=Y3(D),X=Y3($),J=wz(F,X);if(J==null)return new wD({start:F,end:X});else return J}static after(D,$){let F=YD.fromDurationLike($),X=Y3(D);return wD.fromDateTimes(X,X.plus(F))}static before(D,$){let F=YD.fromDurationLike($),X=Y3(D);return wD.fromDateTimes(X.minus(F),X)}static fromISO(D,$){let[F,X]=(D||"").split("/",2);if(F&&X){let J,Y;try{J=s.fromISO(F,$),Y=J.isValid}catch(H){Y=!1}let G,B;try{G=s.fromISO(X,$),B=G.isValid}catch(H){B=!1}if(Y&&B)return wD.fromDateTimes(J,G);if(Y){let H=YD.fromISO(X,$);if(H.isValid)return wD.after(J,H)}else if(B){let H=YD.fromISO(F,$);if(H.isValid)return wD.before(G,H)}}return wD.invalid("unparsable",`the input "${D}" can't be parsed as ISO 8601`)}static isInterval(D){return D&&D.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get lastDateTime(){return this.isValid?this.e?this.e.minus(1):null:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(D="milliseconds"){return this.isValid?this.toDuration(...[D]).get(D):NaN}count(D="milliseconds",$){if(!this.isValid)return NaN;let F=this.start.startOf(D,$),X;if($!=null&&$.useLocaleWeeks)X=this.end.reconfigure({locale:F.locale});else X=this.end;return X=X.startOf(D,$),Math.floor(X.diff(F,D).get(D))+(X.valueOf()!==this.end.valueOf())}hasSame(D){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,D):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(D){if(!this.isValid)return!1;return this.s>D}isBefore(D){if(!this.isValid)return!1;return this.e<=D}contains(D){if(!this.isValid)return!1;return this.s<=D&&this.e>D}set({start:D,end:$}={}){if(!this.isValid)return this;return wD.fromDateTimes(D||this.s,$||this.e)}splitAt(...D){if(!this.isValid)return[];let $=D.map(Y3).filter((Y)=>this.contains(Y)).sort((Y,G)=>Y.toMillis()-G.toMillis()),F=[],{s:X}=this,J=0;while(X<this.e){let Y=$[J]||this.e,G=+Y>+this.e?this.e:Y;F.push(wD.fromDateTimes(X,G)),X=G,J+=1}return F}splitBy(D){let $=YD.fromDurationLike(D);if(!this.isValid||!$.isValid||$.as("milliseconds")===0)return[];let{s:F}=this,X=1,J,Y=[];while(F<this.e){let G=this.start.plus($.mapUnits((B)=>B*X));J=+G>+this.e?this.e:G,Y.push(wD.fromDateTimes(F,J)),F=J,X+=1}return Y}divideEqually(D){if(!this.isValid)return[];return this.splitBy(this.length()/D).slice(0,D)}overlaps(D){return this.e>D.s&&this.s<D.e}abutsStart(D){if(!this.isValid)return!1;return+this.e===+D.s}abutsEnd(D){if(!this.isValid)return!1;return+D.e===+this.s}engulfs(D){if(!this.isValid)return!1;return this.s<=D.s&&this.e>=D.e}equals(D){if(!this.isValid||!D.isValid)return!1;return this.s.equals(D.s)&&this.e.equals(D.e)}intersection(D){if(!this.isValid)return this;let $=this.s>D.s?this.s:D.s,F=this.e<D.e?this.e:D.e;if($>=F)return null;else return wD.fromDateTimes($,F)}union(D){if(!this.isValid)return this;let $=this.s<D.s?this.s:D.s,F=this.e>D.e?this.e:D.e;return wD.fromDateTimes($,F)}static merge(D){let[$,F]=D.sort((X,J)=>X.s-J.s).reduce(([X,J],Y)=>{if(!J)return[X,Y];else if(J.overlaps(Y)||J.abutsStart(Y))return[X,J.union(Y)];else return[X.concat([J]),Y]},[[],null]);if(F)$.push(F);return $}static xor(D){let $=null,F=0,X=[],J=D.map((B)=>[{time:B.s,type:"s"},{time:B.e,type:"e"}]),Y=Array.prototype.concat(...J),G=Y.sort((B,H)=>B.time-H.time);for(let B of G)if(F+=B.type==="s"?1:-1,F===1)$=B.time;else{if($&&+$!==+B.time)X.push(wD.fromDateTimes($,B.time));$=null}return wD.merge(X)}difference(...D){return wD.xor([this].concat(D)).map(($)=>this.intersection($)).filter(($)=>$&&!$.isEmpty())}toString(){if(!this.isValid)return p1;return`[${this.s.toISO()} \u2013 ${this.e.toISO()})`}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;else return`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(D=z7,$={}){return this.isValid?$0.create(this.s.loc.clone($),D).formatInterval(this):p1}toISO(D){if(!this.isValid)return p1;return`${this.s.toISO(D)}/${this.e.toISO(D)}`}toISODate(){if(!this.isValid)return p1;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(D){if(!this.isValid)return p1;return`${this.s.toISOTime(D)}/${this.e.toISOTime(D)}`}toFormat(D,{separator:$=" \u2013 "}={}){if(!this.isValid)return p1;return`${this.s.toFormat(D)}${$}${this.e.toFormat(D)}`}toDuration(D,$){if(!this.isValid)return YD.invalid(this.invalidReason);return this.e.diff(this.s,D,$)}mapEndpoints(D){return wD.fromDateTimes(D(this.s),D(this.e))}}class d1{static hasDST(D=ZD.defaultZone){let $=s.now().setZone(D).set({month:12});return!D.isUniversal&&$.offset!==$.set({month:6}).offset}static isValidIANAZone(D){return C2.isValidZone(D)}static normalizeZone(D){return $8(D,ZD.defaultZone)}static getStartOfWeek({locale:D=null,locObj:$=null}={}){return($||VD.create(D)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:D=null,locObj:$=null}={}){return($||VD.create(D)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:D=null,locObj:$=null}={}){return($||VD.create(D)).getWeekendDays().slice()}static months(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null,outputCalendar:J="gregory"}={}){return(X||VD.create($,F,J)).months(D)}static monthsFormat(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null,outputCalendar:J="gregory"}={}){return(X||VD.create($,F,J)).months(D,!0)}static weekdays(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null}={}){return(X||VD.create($,F,null)).weekdays(D)}static weekdaysFormat(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null}={}){return(X||VD.create($,F,null)).weekdays(D,!0)}static meridiems({locale:D=null}={}){return VD.create(D).meridiems()}static eras(D="short",{locale:$=null}={}){return VD.create($,null,"gregory").eras(D)}static features(){return{relative:FA(),localeWeek:XA()}}}function VU(D,$){let F=(J)=>J.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),X=F($)-F(D);return Math.floor(YD.fromMillis(X).as("days"))}function Iz(D,$,F){let X=[["years",(H,W)=>W.year-H.year],["quarters",(H,W)=>W.quarter-H.quarter+(W.year-H.year)*4],["months",(H,W)=>W.month-H.month+(W.year-H.year)*12],["weeks",(H,W)=>{let U=VU(H,W);return(U-U%7)/7}],["days",VU]],J={},Y=D,G,B;for(let[H,W]of X)if(F.indexOf(H)>=0)if(G=H,J[H]=W(D,$),B=Y.plus(J),B>$){if(J[H]--,D=Y.plus(J),D>$)B=D,J[H]--,D=Y.plus(J)}else D=B;return[D,J,B,G]}function Tz(D,$,F,X){let[J,Y,G,B]=Iz(D,$,F),H=$-J,W=F.filter((A)=>["hours","minutes","seconds","milliseconds"].indexOf(A)>=0);if(W.length===0){if(G<$)G=J.plus({[B]:1});if(G!==J)Y[B]=(Y[B]||0)+H/(G-J)}let U=YD.fromObject(Y,X);if(W.length>0)return YD.fromMillis(H,X).shiftTo(...W).plus(U);else return U}var Sz="missing Intl.DateTimeFormat.formatToParts support";function _D(D,$=(F)=>F){return{regex:D,deser:([F])=>$(qL(F))}}var fz=String.fromCharCode(160),qA=`[ ${fz}]`,NA=new RegExp(qA,"g");function bz(D){return D.replace(/\./g,"\\.?").replace(NA,qA)}function QU(D){return D.replace(/\./g,"").replace(NA," ").toLowerCase()}function X2(D,$){if(D===null)return null;else return{regex:RegExp(D.map(bz).join("|")),deser:([F])=>D.findIndex((X)=>QU(F)===QU(X))+$}}function EU(D,$){return{regex:D,deser:([,F,X])=>f7(F,X),groups:$}}function M7(D){return{regex:D,deser:([$])=>$}}function kz(D){return D.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function vz(D,$){let F=F2($),X=F2($,"{2}"),J=F2($,"{3}"),Y=F2($,"{4}"),G=F2($,"{6}"),B=F2($,"{1,2}"),H=F2($,"{1,3}"),W=F2($,"{1,6}"),U=F2($,"{1,9}"),A=F2($,"{2,4}"),V=F2($,"{4,6}"),E=(Q)=>({regex:RegExp(kz(Q.val)),deser:([q])=>q,literal:!0}),K=((Q)=>{if(D.literal)return E(Q);switch(Q.val){case"G":return X2($.eras("short"),0);case"GG":return X2($.eras("long"),0);case"y":return _D(W);case"yy":return _D(A,LF);case"yyyy":return _D(Y);case"yyyyy":return _D(V);case"yyyyyy":return _D(G);case"M":return _D(B);case"MM":return _D(X);case"MMM":return X2($.months("short",!0),1);case"MMMM":return X2($.months("long",!0),1);case"L":return _D(B);case"LL":return _D(X);case"LLL":return X2($.months("short",!1),1);case"LLLL":return X2($.months("long",!1),1);case"d":return _D(B);case"dd":return _D(X);case"o":return _D(H);case"ooo":return _D(J);case"HH":return _D(X);case"H":return _D(B);case"hh":return _D(X);case"h":return _D(B);case"mm":return _D(X);case"m":return _D(B);case"q":return _D(B);case"qq":return _D(X);case"s":return _D(B);case"ss":return _D(X);case"S":return _D(H);case"SSS":return _D(J);case"u":return M7(U);case"uu":return M7(B);case"uuu":return _D(F);case"a":return X2($.meridiems(),0);case"kkkk":return _D(Y);case"kk":return _D(A,LF);case"W":return _D(B);case"WW":return _D(X);case"E":case"c":return _D(F);case"EEE":return X2($.weekdays("short",!1),1);case"EEEE":return X2($.weekdays("long",!1),1);case"ccc":return X2($.weekdays("short",!0),1);case"cccc":return X2($.weekdays("long",!0),1);case"Z":case"ZZ":return EU(new RegExp(`([+-]${B.source})(?::(${X.source}))?`),2);case"ZZZ":return EU(new RegExp(`([+-]${B.source})(${X.source})?`),2);case"z":return M7(/[a-z_+-/]{1,256}?/i);case" ":return M7(/[^\S\n\r]/);default:return E(Q)}})(D)||{invalidReason:Sz};return K.token=D,K}var gz={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function hz(D,$,F){let{type:X,value:J}=D;if(X==="literal"){let H=/^\s+$/.test(J);return{literal:!H,val:H?" ":J}}let Y=$[X],G=X;if(X==="hour")if($.hour12!=null)G=$.hour12?"hour12":"hour24";else if($.hourCycle!=null)if($.hourCycle==="h11"||$.hourCycle==="h12")G="hour12";else G="hour24";else G=F.hour12?"hour12":"hour24";let B=gz[G];if(typeof B==="object")B=B[Y];if(B)return{literal:!1,val:B};return}function xz(D){return[`^${D.map((F)=>F.regex).reduce((F,X)=>`${F}(${X.source})`,"")}$`,D]}function yz(D,$,F){let X=D.match($);if(X){let J={},Y=1;for(let G in F)if(n1(F,G)){let B=F[G],H=B.groups?B.groups+1:1;if(!B.literal&&B.token)J[B.token.val[0]]=B.deser(X.slice(Y,Y+H));Y+=H}return[X,J]}else return[X,{}]}function uz(D){let $=(Y)=>{switch(Y){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},F=null,X;if(!n(D.z))F=C2.create(D.z);if(!n(D.Z)){if(!F)F=new F0(D.Z);X=D.Z}if(!n(D.q))D.M=(D.q-1)*3+1;if(!n(D.h)){if(D.h<12&&D.a===1)D.h+=12;else if(D.h===12&&D.a===0)D.h=0}if(D.G===0&&D.y)D.y=-D.y;if(!n(D.u))D.S=fF(D.u);return[Object.keys(D).reduce((Y,G)=>{let B=$(G);if(B)Y[B]=D[G];return Y},{}),F,X]}var UF=null;function mz(){if(!UF)UF=s.fromMillis(1555555555555);return UF}function pz(D,$){if(D.literal)return D;let F=$0.macroTokenToFormatOpts(D.val),X=LA(F,$);if(X==null||X.includes(void 0))return D;return X}function PA(D,$){return Array.prototype.concat(...D.map((F)=>pz(F,$)))}class hF{constructor(D,$){if(this.locale=D,this.format=$,this.tokens=PA($0.parseFormat($),D),this.units=this.tokens.map((F)=>vz(F,D)),this.disqualifyingUnit=this.units.find((F)=>F.invalidReason),!this.disqualifyingUnit){let[F,X]=xz(this.units);this.regex=RegExp(F,"i"),this.handlers=X}}explainFromTokens(D){if(!this.isValid)return{input:D,tokens:this.tokens,invalidReason:this.invalidReason};else{let[$,F]=yz(D,this.regex,this.handlers),[X,J,Y]=F?uz(F):[null,null,void 0];if(n1(F,"a")&&n1(F,"H"))throw new p8("Can't include meridiem when specifying 24-hour format");return{input:D,tokens:this.tokens,regex:this.regex,rawMatches:$,matches:F,result:X,zone:J,specificOffset:Y}}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function ZA(D,$,F){return new hF(D,F).explainFromTokens($)}function cz(D,$,F){let{result:X,zone:J,specificOffset:Y,invalidReason:G}=ZA(D,$,F);return[X,J,Y,G]}function LA(D,$){if(!D)return null;let X=$0.create($,D).dtFormatter(mz()),J=X.formatToParts(),Y=X.resolvedOptions();return J.map((G)=>hz(G,D,Y))}var AF="Invalid DateTime",KU=8640000000000000;function H3(D){return new w0("unsupported zone",`the zone "${D.name}" is not supported`)}function VF(D){if(D.weekData===null)D.weekData=j7(D.c);return D.weekData}function QF(D){if(D.localWeekData===null)D.localWeekData=j7(D.c,D.loc.getMinDaysInFirstWeek(),D.loc.getStartOfWeek());return D.localWeekData}function m8(D,$){let F={ts:D.ts,zone:D.zone,c:D.c,o:D.o,loc:D.loc,invalid:D.invalid};return new s({...F,...$,old:F})}function zA(D,$,F){let X=D-$*60*1000,J=F.offset(X);if($===J)return[X,$];X-=(J-$)*60*1000;let Y=F.offset(X);if(J===Y)return[X,J];return[D-Math.min(J,Y)*60*1000,Math.max(J,Y)]}function q7(D,$){D+=$*60*1000;let F=new Date(D);return{year:F.getUTCFullYear(),month:F.getUTCMonth()+1,day:F.getUTCDate(),hour:F.getUTCHours(),minute:F.getUTCMinutes(),second:F.getUTCSeconds(),millisecond:F.getUTCMilliseconds()}}function P7(D,$,F){return zA(S7(D),$,F)}function CU(D,$){let F=D.o,X=D.c.year+Math.trunc($.years),J=D.c.month+Math.trunc($.months)+Math.trunc($.quarters)*3,Y={...D.c,year:X,month:J,day:Math.min(D.c.day,w7(X,J))+Math.trunc($.days)+Math.trunc($.weeks)*7},G=YD.fromObject({years:$.years-Math.trunc($.years),quarters:$.quarters-Math.trunc($.quarters),months:$.months-Math.trunc($.months),weeks:$.weeks-Math.trunc($.weeks),days:$.days-Math.trunc($.days),hours:$.hours,minutes:$.minutes,seconds:$.seconds,milliseconds:$.milliseconds}).as("milliseconds"),B=S7(Y),[H,W]=zA(B,F,D.zone);if(G!==0)H+=G,W=D.zone.offset(H);return{ts:H,o:W}}function c1(D,$,F,X,J,Y){let{setZone:G,zone:B}=F;if(D&&Object.keys(D).length!==0||$){let H=$||B,W=s.fromObject(D,{...F,zone:H,specificOffset:Y});return G?W:W.setZone(B)}else return s.invalid(new w0("unparsable",`the input "${J}" can't be parsed as ${X}`))}function N7(D,$,F=!0){return D.isValid?$0.create(VD.create("en-US"),{allowZ:F,forceSimple:!0}).formatDateTimeFromString(D,$):null}function EF(D,$,F){let X=D.c.year>9999||D.c.year<0,J="";if(X&&D.c.year>=0)J+="+";if(J+=gD(D.c.year,X?6:4),F==="year")return J;if($){if(J+="-",J+=gD(D.c.month),F==="month")return J;J+="-"}else if(J+=gD(D.c.month),F==="month")return J;return J+=gD(D.c.day),J}function RU(D,$,F,X,J,Y,G){let B=!F||D.c.millisecond!==0||D.c.second!==0,H="";switch(G){case"day":case"month":case"year":break;default:if(H+=gD(D.c.hour),G==="hour")break;if($){if(H+=":",H+=gD(D.c.minute),G==="minute")break;if(B)H+=":",H+=gD(D.c.second)}else{if(H+=gD(D.c.minute),G==="minute")break;if(B)H+=gD(D.c.second)}if(G==="second")break;if(B&&(!X||D.c.millisecond!==0))H+=".",H+=gD(D.c.millisecond,3)}if(J)if(D.isOffsetFixed&&D.offset===0&&!Y)H+="Z";else if(D.o<0)H+="-",H+=gD(Math.trunc(-D.o/60)),H+=":",H+=gD(Math.trunc(-D.o%60));else H+="+",H+=gD(Math.trunc(D.o/60)),H+=":",H+=gD(Math.trunc(D.o%60));if(Y)H+="["+D.zone.ianaName+"]";return H}var jA={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},dz={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},lz={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Z7=["year","month","day","hour","minute","second","millisecond"],iz=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],nz=["year","ordinal","hour","minute","second","millisecond"];function L7(D){let $={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[D.toLowerCase()];if(!$)throw new jF(D);return $}function OU(D){switch(D.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return L7(D)}}function sz(D){if(W3===void 0)W3=ZD.now();if(D.type!=="iana")return D.offset(W3);let $=D.name,F=zF.get($);if(F===void 0)F=D.offset(W3),zF.set($,F);return F}function MU(D,$){let F=$8($.zone,ZD.defaultZone);if(!F.isValid)return s.invalid(H3(F));let X=VD.fromObject($),J,Y;if(!n(D.year)){for(let H of Z7)if(n(D[H]))D[H]=jA[H];let G=DA(D)||$A(D);if(G)return s.invalid(G);let B=sz(F);[J,Y]=P7(D,B,F)}else J=ZD.now();return new s({ts:J,zone:F,loc:X,o:Y})}function qU(D,$,F){let X=n(F.round)?!0:F.round,J=n(F.rounding)?"trunc":F.rounding,Y=(B,H)=>{return B=bF(B,X||F.calendary?0:2,F.calendary?"round":J),$.loc.clone(F).relFormatter(F).format(B,H)},G=(B)=>{if(F.calendary)if(!$.hasSame(D,B))return $.startOf(B).diff(D.startOf(B),B).get(B);else return 0;else return $.diff(D,B).get(B)};if(F.unit)return Y(G(F.unit),F.unit);for(let B of F.units){let H=G(B);if(Math.abs(H)>=1)return Y(H,B)}return Y(D>$?-0:0,F.units[F.units.length-1])}function NU(D){let $={},F;if(D.length>0&&typeof D[D.length-1]==="object")$=D[D.length-1],F=Array.from(D).slice(0,D.length-1);else F=Array.from(D);return[$,F]}var W3,zF=new Map;class s{constructor(D){let $=D.zone||ZD.defaultZone,F=D.invalid||(Number.isNaN(D.ts)?new w0("invalid input"):null)||(!$.isValid?H3($):null);this.ts=n(D.ts)?ZD.now():D.ts;let X=null,J=null;if(!F)if(D.old&&D.old.ts===this.ts&&D.old.zone.equals($))[X,J]=[D.old.c,D.old.o];else{let G=F8(D.o)&&!D.old?D.o:$.offset(this.ts);X=q7(this.ts,G),F=Number.isNaN(X.year)?new w0("invalid input"):null,X=F?null:X,J=F?null:G}this._zone=$,this.loc=D.loc||VD.create(),this.invalid=F,this.weekData=null,this.localWeekData=null,this.c=X,this.o=J,this.isLuxonDateTime=!0}static now(){return new s({})}static local(){let[D,$]=NU(arguments),[F,X,J,Y,G,B,H]=$;return MU({year:F,month:X,day:J,hour:Y,minute:G,second:B,millisecond:H},D)}static utc(){let[D,$]=NU(arguments),[F,X,J,Y,G,B,H]=$;return D.zone=F0.utcInstance,MU({year:F,month:X,day:J,hour:Y,minute:G,second:B,millisecond:H},D)}static fromJSDate(D,$={}){let F=zL(D)?D.valueOf():NaN;if(Number.isNaN(F))return s.invalid("invalid input");let X=$8($.zone,ZD.defaultZone);if(!X.isValid)return s.invalid(H3(X));return new s({ts:F,zone:X,loc:VD.fromObject($)})}static fromMillis(D,$={}){if(!F8(D))throw new oD(`fromMillis requires a numerical input, but received a ${typeof D} with value ${D}`);else if(D<-KU||D>KU)return s.invalid("Timestamp out of range");else return new s({ts:D,zone:$8($.zone,ZD.defaultZone),loc:VD.fromObject($)})}static fromSeconds(D,$={}){if(!F8(D))throw new oD("fromSeconds requires a numerical input");else return new s({ts:D*1000,zone:$8($.zone,ZD.defaultZone),loc:VD.fromObject($)})}static fromObject(D,$={}){D=D||{};let F=$8($.zone,ZD.defaultZone);if(!F.isValid)return s.invalid(H3(F));let X=VD.fromObject($),J=I7(D,OU),{minDaysInFirstWeek:Y,startOfWeek:G}=GU(J,X),B=ZD.now(),H=!n($.specificOffset)?$.specificOffset:F.offset(B),W=!n(J.ordinal),U=!n(J.year),A=!n(J.month)||!n(J.day),V=U||A,E=J.weekYear||J.weekNumber;if((V||W)&&E)throw new p8("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(A&&W)throw new p8("Can't mix ordinal dates with month/day");let C=E||J.weekday&&!V,K,Q,q=q7(B,H);if(C)K=iz,Q=dz,q=j7(q,Y,G);else if(W)K=nz,Q=lz,q=_F(q);else K=Z7,Q=jA;let N=!1;for(let r of K){let HD=J[r];if(!n(HD))N=!0;else if(N)J[r]=Q[r];else J[r]=q[r]}let Z=C?PL(J,Y,G):W?ZL(J):DA(J),j=Z||$A(J);if(j)return s.invalid(j);let T=C?XU(J,Y,G):W?JU(J):J,[L,v]=P7(T,H,F),w=new s({ts:L,zone:F,o:v,loc:X});if(J.weekday&&V&&D.weekday!==w.weekday)return s.invalid("mismatched weekday",`you can't specify both a weekday of ${J.weekday} and a date of ${w.toISO()}`);if(!w.isValid)return s.invalid(w.invalid);return w}static fromISO(D,$={}){let[F,X]=Ez(D);return c1(F,X,$,"ISO 8601",D)}static fromRFC2822(D,$={}){let[F,X]=Kz(D);return c1(F,X,$,"RFC 2822",D)}static fromHTTP(D,$={}){let[F,X]=Cz(D);return c1(F,X,$,"HTTP",$)}static fromFormat(D,$,F={}){if(n(D)||n($))throw new oD("fromFormat requires an input string and a format");let{locale:X=null,numberingSystem:J=null}=F,Y=VD.fromOpts({locale:X,numberingSystem:J,defaultToEN:!0}),[G,B,H,W]=cz(Y,D,$);if(W)return s.invalid(W);else return c1(G,B,F,`format ${$}`,D,H)}static fromString(D,$,F={}){return s.fromFormat(D,$,F)}static fromSQL(D,$={}){let[F,X]=Zz(D);return c1(F,X,$,"SQL",D)}static invalid(D,$=null){if(!D)throw new oD("need to specify a reason the DateTime is invalid");let F=D instanceof w0?D:new w0(D,$);if(ZD.throwOnInvalid)throw new PU(F);else return new s({invalid:F})}static isDateTime(D){return D&&D.isLuxonDateTime||!1}static parseFormatForOpts(D,$={}){let F=LA(D,VD.fromObject($));return!F?null:F.map((X)=>X?X.val:null).join("")}static expandFormat(D,$={}){return PA($0.parseFormat(D),VD.fromObject($)).map((X)=>X.val).join("")}static resetCache(){W3=void 0,zF.clear()}get(D){return this[D]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?VF(this).weekYear:NaN}get weekNumber(){return this.isValid?VF(this).weekNumber:NaN}get weekday(){return this.isValid?VF(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?QF(this).weekday:NaN}get localWeekNumber(){return this.isValid?QF(this).weekNumber:NaN}get localWeekYear(){return this.isValid?QF(this).weekYear:NaN}get ordinal(){return this.isValid?_F(this.c).ordinal:NaN}get monthShort(){return this.isValid?d1.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?d1.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?d1.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?d1.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"short",locale:this.locale});else return null}get offsetNameLong(){if(this.isValid)return this.zone.offsetName(this.ts,{format:"long",locale:this.locale});else return null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){if(this.isOffsetFixed)return!1;else return this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let D=86400000,$=60000,F=S7(this.c),X=this.zone.offset(F-D),J=this.zone.offset(F+D),Y=this.zone.offset(F-X*$),G=this.zone.offset(F-J*$);if(Y===G)return[this];let B=F-Y*$,H=F-G*$,W=q7(B,Y),U=q7(H,G);if(W.hour===U.hour&&W.minute===U.minute&&W.second===U.second&&W.millisecond===U.millisecond)return[m8(this,{ts:B}),m8(this,{ts:H})];return[this]}get isInLeapYear(){return V3(this.year)}get daysInMonth(){return w7(this.year,this.month)}get daysInYear(){return this.isValid?l1(this.year):NaN}get weeksInWeekYear(){return this.isValid?U3(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?U3(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(D={}){let{locale:$,numberingSystem:F,calendar:X}=$0.create(this.loc.clone(D),D).resolvedOptions(this);return{locale:$,numberingSystem:F,outputCalendar:X}}toUTC(D=0,$={}){return this.setZone(F0.instance(D),$)}toLocal(){return this.setZone(ZD.defaultZone)}setZone(D,{keepLocalTime:$=!1,keepCalendarTime:F=!1}={}){if(D=$8(D,ZD.defaultZone),D.equals(this.zone))return this;else if(!D.isValid)return s.invalid(H3(D));else{let X=this.ts;if($||F){let J=D.offset(this.ts),Y=this.toObject();[X]=P7(Y,J,D)}return m8(this,{ts:X,zone:D})}}reconfigure({locale:D,numberingSystem:$,outputCalendar:F}={}){let X=this.loc.clone({locale:D,numberingSystem:$,outputCalendar:F});return m8(this,{loc:X})}setLocale(D){return this.reconfigure({locale:D})}set(D){if(!this.isValid)return this;let $=I7(D,OU),{minDaysInFirstWeek:F,startOfWeek:X}=GU($,this.loc),J=!n($.weekYear)||!n($.weekNumber)||!n($.weekday),Y=!n($.ordinal),G=!n($.year),B=!n($.month)||!n($.day),H=G||B,W=$.weekYear||$.weekNumber;if((H||Y)&&W)throw new p8("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(B&&Y)throw new p8("Can't mix ordinal dates with month/day");let U;if(J)U=XU({...j7(this.c,F,X),...$},F,X);else if(!n($.ordinal))U=JU({..._F(this.c),...$});else if(U={...this.toObject(),...$},n($.day))U.day=Math.min(w7(U.year,U.month),U.day);let[A,V]=P7(U,this.o,this.zone);return m8(this,{ts:A,o:V})}plus(D){if(!this.isValid)return this;let $=YD.fromDurationLike(D);return m8(this,CU(this,$))}minus(D){if(!this.isValid)return this;let $=YD.fromDurationLike(D).negate();return m8(this,CU(this,$))}startOf(D,{useLocaleWeeks:$=!1}={}){if(!this.isValid)return this;let F={},X=YD.normalizeUnit(D);switch(X){case"years":F.month=1;case"quarters":case"months":F.day=1;case"weeks":case"days":F.hour=0;case"hours":F.minute=0;case"minutes":F.second=0;case"seconds":F.millisecond=0;break}if(X==="weeks")if($){let J=this.loc.getStartOfWeek(),{weekday:Y}=this;if(Y<J)F.weekNumber=this.weekNumber-1;F.weekday=J}else F.weekday=1;if(X==="quarters"){let J=Math.ceil(this.month/3);F.month=(J-1)*3+1}return this.set(F)}endOf(D,$){return this.isValid?this.plus({[D]:1}).startOf(D,$).minus(1):this}toFormat(D,$={}){return this.isValid?$0.create(this.loc.redefaultToEN($)).formatDateTimeFromString(this,D):AF}toLocaleString(D=z7,$={}){return this.isValid?$0.create(this.loc.clone($),D).formatDateTime(this):AF}toLocaleParts(D={}){return this.isValid?$0.create(this.loc.clone(D),D).formatDateTimeParts(this):[]}toISO({format:D="extended",suppressSeconds:$=!1,suppressMilliseconds:F=!1,includeOffset:X=!0,extendedZone:J=!1,precision:Y="milliseconds"}={}){if(!this.isValid)return null;Y=L7(Y);let G=D==="extended",B=EF(this,G,Y);if(Z7.indexOf(Y)>=3)B+="T";return B+=RU(this,G,$,F,X,J,Y),B}toISODate({format:D="extended",precision:$="day"}={}){if(!this.isValid)return null;return EF(this,D==="extended",L7($))}toISOWeekDate(){return N7(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:D=!1,suppressSeconds:$=!1,includeOffset:F=!0,includePrefix:X=!1,extendedZone:J=!1,format:Y="extended",precision:G="milliseconds"}={}){if(!this.isValid)return null;return G=L7(G),(X&&Z7.indexOf(G)>=3?"T":"")+RU(this,Y==="extended",$,D,F,J,G)}toRFC2822(){return N7(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return N7(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return EF(this,!0)}toSQLTime({includeOffset:D=!0,includeZone:$=!1,includeOffsetSpace:F=!0}={}){let X="HH:mm:ss.SSS";if($||D){if(F)X+=" ";if($)X+="z";else if(D)X+="ZZ"}return N7(this,X,!0)}toSQL(D={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(D)}`}toString(){return this.isValid?this.toISO():AF}[Symbol.for("nodejs.util.inspect.custom")](){if(this.isValid)return`DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;else return`DateTime { Invalid, reason: ${this.invalidReason} }`}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1000:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1000):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(D={}){if(!this.isValid)return{};let $={...this.c};if(D.includeConfig)$.outputCalendar=this.outputCalendar,$.numberingSystem=this.loc.numberingSystem,$.locale=this.loc.locale;return $}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(D,$="milliseconds",F={}){if(!this.isValid||!D.isValid)return YD.invalid("created by diffing an invalid DateTime");let X={locale:this.locale,numberingSystem:this.numberingSystem,...F},J=jL($).map(YD.normalizeUnit),Y=D.valueOf()>this.valueOf(),G=Y?this:D,B=Y?D:this,H=Tz(G,B,J,X);return Y?H.negate():H}diffNow(D="milliseconds",$={}){return this.diff(s.now(),D,$)}until(D){return this.isValid?wD.fromDateTimes(this,D):this}hasSame(D,$,F){if(!this.isValid)return!1;let X=D.valueOf(),J=this.setZone(D.zone,{keepLocalTime:!0});return J.startOf($,F)<=X&&X<=J.endOf($,F)}equals(D){return this.isValid&&D.isValid&&this.valueOf()===D.valueOf()&&this.zone.equals(D.zone)&&this.loc.equals(D.loc)}toRelative(D={}){if(!this.isValid)return null;let $=D.base||s.fromObject({},{zone:this.zone}),F=D.padding?this<$?-D.padding:D.padding:0,X=["years","months","days","hours","minutes","seconds"],J=D.unit;if(Array.isArray(D.unit))X=D.unit,J=void 0;return qU($,this.plus(F),{...D,numeric:"always",units:X,unit:J})}toRelativeCalendar(D={}){if(!this.isValid)return null;return qU(D.base||s.fromObject({},{zone:this.zone}),this,{...D,numeric:"auto",units:["years","months","days"],calendary:!0})}static min(...D){if(!D.every(s.isDateTime))throw new oD("min requires all arguments be DateTimes");return YU(D,($)=>$.valueOf(),Math.min)}static max(...D){if(!D.every(s.isDateTime))throw new oD("max requires all arguments be DateTimes");return YU(D,($)=>$.valueOf(),Math.max)}static fromFormatExplain(D,$,F={}){let{locale:X=null,numberingSystem:J=null}=F,Y=VD.fromOpts({locale:X,numberingSystem:J,defaultToEN:!0});return ZA(Y,D,$)}static fromStringExplain(D,$,F={}){return s.fromFormatExplain(D,$,F)}static buildFormatParser(D,$={}){let{locale:F=null,numberingSystem:X=null}=$,J=VD.fromOpts({locale:F,numberingSystem:X,defaultToEN:!0});return new hF(J,D)}static fromFormatParser(D,$,F={}){if(n(D)||n($))throw new oD("fromFormatParser requires an input string and a format parser");let{locale:X=null,numberingSystem:J=null}=F,Y=VD.fromOpts({locale:X,numberingSystem:J,defaultToEN:!0});if(!Y.equals($.locale))throw new oD(`fromFormatParser called with a locale of ${Y}, but the format parser was created for ${$.locale}`);let{result:G,zone:B,specificOffset:H,invalidReason:W}=$.explainFromTokens(D);if(W)return s.invalid(W);else return c1(G,B,F,`format ${$.format}`,D,H)}static get DATE_SHORT(){return z7}static get DATE_MED(){return zU}static get DATE_MED_WITH_WEEKDAY(){return JL}static get DATE_FULL(){return jU}static get DATE_HUGE(){return wU}static get TIME_SIMPLE(){return IU}static get TIME_WITH_SECONDS(){return TU}static get TIME_WITH_SHORT_OFFSET(){return SU}static get TIME_WITH_LONG_OFFSET(){return fU}static get TIME_24_SIMPLE(){return bU}static get TIME_24_WITH_SECONDS(){return kU}static get TIME_24_WITH_SHORT_OFFSET(){return vU}static get TIME_24_WITH_LONG_OFFSET(){return gU}static get DATETIME_SHORT(){return hU}static get DATETIME_SHORT_WITH_SECONDS(){return xU}static get DATETIME_MED(){return yU}static get DATETIME_MED_WITH_SECONDS(){return uU}static get DATETIME_MED_WITH_WEEKDAY(){return GL}static get DATETIME_FULL(){return mU}static get DATETIME_FULL_WITH_SECONDS(){return pU}static get DATETIME_HUGE(){return cU}static get DATETIME_HUGE_WITH_SECONDS(){return dU}}function Y3(D){if(s.isDateTime(D))return D;else if(D&&D.valueOf&&F8(D.valueOf()))return s.fromJSDate(D);else if(D&&typeof D==="object")return s.fromObject(D);else throw new oD(`Unknown datetime argument: ${D}, of type ${typeof D}`)}var rz="3.7.2";wA.DateTime=s;wA.Duration=YD;wA.FixedOffsetZone=F0;wA.IANAZone=C2;wA.Info=d1;wA.Interval=wD;wA.InvalidZone=wF;wA.Settings=ZD;wA.SystemZone=A3;wA.VERSION=rz;wA.Zone=d8});var v7=S((TA)=>{Object.defineProperty(TA,"__esModule",{value:!0});TA.CronDate=TA.DAYS_IN_MONTH=TA.DateMathOp=TA.TimeUnit=void 0;var l8=IA(),X0;(function(D){D.Second="Second",D.Minute="Minute",D.Hour="Hour",D.Day="Day",D.Month="Month",D.Year="Year"})(X0||(TA.TimeUnit=X0={}));var k7;(function(D){D.Add="Add",D.Subtract="Subtract"})(k7||(TA.DateMathOp=k7={}));TA.DAYS_IN_MONTH=Object.freeze([31,29,31,30,31,30,31,31,30,31,30,31]);class t1{#D;#$=null;#X=null;#G={add:{[X0.Year]:this.addYear.bind(this),[X0.Month]:this.addMonth.bind(this),[X0.Day]:this.addDay.bind(this),[X0.Hour]:this.addHour.bind(this),[X0.Minute]:this.addMinute.bind(this),[X0.Second]:this.addSecond.bind(this)},subtract:{[X0.Year]:this.subtractYear.bind(this),[X0.Month]:this.subtractMonth.bind(this),[X0.Day]:this.subtractDay.bind(this),[X0.Hour]:this.subtractHour.bind(this),[X0.Minute]:this.subtractMinute.bind(this),[X0.Second]:this.subtractSecond.bind(this)}};constructor(D,$){let F={zone:$};if(!D)this.#D=l8.DateTime.local();else if(D instanceof t1)this.#D=D.#D,this.#$=D.#$,this.#X=D.#X;else if(D instanceof Date)this.#D=l8.DateTime.fromJSDate(D,F);else if(typeof D==="number")this.#D=l8.DateTime.fromMillis(D,F);else this.#D=l8.DateTime.fromISO(D,F),this.#D.isValid||(this.#D=l8.DateTime.fromRFC2822(D,F)),this.#D.isValid||(this.#D=l8.DateTime.fromSQL(D,F)),this.#D.isValid||(this.#D=l8.DateTime.fromFormat(D,"EEE, d MMM yyyy HH:mm:ss",F));if(!this.#D.isValid)throw Error(`CronDate: unhandled timestamp: ${D}`);if($&&$!==this.#D.zoneName)this.#D=this.#D.setZone($)}static#J(D){return D%4===0&&D%100!==0||D%400===0}get dstStart(){return this.#$}set dstStart(D){this.#$=D}get dstEnd(){return this.#X}set dstEnd(D){this.#X=D}addYear(){this.#D=this.#D.plus({years:1})}addMonth(){this.#D=this.#D.plus({months:1}).startOf("month")}addDay(){this.#D=this.#D.plus({days:1}).startOf("day")}addHour(){this.#D=this.#D.plus({hours:1}).startOf("hour")}addMinute(){this.#D=this.#D.plus({minutes:1}).startOf("minute")}addSecond(){this.#D=this.#D.plus({seconds:1})}subtractYear(){this.#D=this.#D.minus({years:1})}subtractMonth(){this.#D=this.#D.minus({months:1}).endOf("month").startOf("second")}subtractDay(){this.#D=this.#D.minus({days:1}).endOf("day").startOf("second")}subtractHour(){this.#D=this.#D.minus({hours:1}).endOf("hour").startOf("second")}subtractMinute(){this.#D=this.#D.minus({minutes:1}).endOf("minute").startOf("second")}subtractSecond(){this.#D=this.#D.minus({seconds:1})}addUnit(D){this.#G.add[D]()}subtractUnit(D){this.#G.subtract[D]()}invokeDateOperation(D,$){if(D===k7.Add){this.addUnit($);return}if(D===k7.Subtract){this.subtractUnit($);return}throw Error(`Invalid verb: ${D}`)}getDate(){return this.#D.day}getFullYear(){return this.#D.year}getDay(){let D=this.#D.weekday;return D===7?0:D}getMonth(){return this.#D.month-1}getHours(){return this.#D.hour}getMinutes(){return this.#D.minute}getSeconds(){return this.#D.second}getMilliseconds(){return this.#D.millisecond}getUTCOffset(){return this.#D.offset}setStartOfDay(){this.#D=this.#D.startOf("day")}setEndOfDay(){this.#D=this.#D.endOf("day")}getTime(){return this.#D.valueOf()}getUTCDate(){return this.#F().day}getUTCFullYear(){return this.#F().year}getUTCDay(){let D=this.#F().weekday;return D===7?0:D}getUTCMonth(){return this.#F().month-1}getUTCHours(){return this.#F().hour}getUTCMinutes(){return this.#F().minute}getUTCSeconds(){return this.#F().second}toISOString(){return this.#D.toUTC().toISO()}toJSON(){return this.#D.toJSON()}setDate(D){this.#D=this.#D.set({day:D})}setFullYear(D){this.#D=this.#D.set({year:D})}setDay(D){this.#D=this.#D.set({weekday:D})}setMonth(D){this.#D=this.#D.set({month:D+1})}setHours(D){this.#D=this.#D.set({hour:D})}setMinutes(D){this.#D=this.#D.set({minute:D})}setSeconds(D){this.#D=this.#D.set({second:D})}setMilliseconds(D){this.#D=this.#D.set({millisecond:D})}toString(){return this.toDate().toString()}toDate(){return this.#D.toJSDate()}isLastDayOfMonth(){let{day:D,month:$}=this.#D;if($===2){let F=t1.#J(this.#D.year);return D===TA.DAYS_IN_MONTH[$-1]-(F?0:1)}return D===TA.DAYS_IN_MONTH[$-1]}isLastWeekdayOfMonth(){let{day:D,month:$}=this.#D,F;if($===2)F=TA.DAYS_IN_MONTH[$-1]-(t1.#J(this.#D.year)?0:1);else F=TA.DAYS_IN_MONTH[$-1];return D>F-7}applyDateOperation(D,$,F){if($===X0.Month||$===X0.Day){this.invokeDateOperation(D,$);return}let X=this.getHours();this.invokeDateOperation(D,$);let J=this.getHours(),Y=J-X;if(Y===2){if(F!==24)this.dstStart=J}else if(Y===0&&this.getMinutes()===0&&this.getSeconds()===0){if(F!==24)this.dstEnd=J}}#F(){return this.#D.toUTC()}}TA.CronDate=t1;TA.default=t1});var vA=S((bA)=>{Object.defineProperty(bA,"__esModule",{value:!0});bA.CronMonth=void 0;var _j=v7(),Uj=e2(),Aj=1,Vj=12,Qj=Object.freeze([]);class fA extends Uj.CronField{static get min(){return Aj}static get max(){return Vj}static get chars(){return Qj}static get daysInMonth(){return _j.DAYS_IN_MONTH}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}bA.CronMonth=fA});var yA=S((hA)=>{Object.defineProperty(hA,"__esModule",{value:!0});hA.CronSecond=void 0;var Ej=e2(),Kj=0,Cj=59,Rj=Object.freeze([]);class gA extends Ej.CronField{static get min(){return Kj}static get max(){return Cj}static get chars(){return Rj}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}hA.CronSecond=gA});var g7=S((_0)=>{var Oj=_0&&_0.__createBinding||(Object.create?function(D,$,F,X){if(X===void 0)X=F;var J=Object.getOwnPropertyDescriptor($,F);if(!J||("get"in J?!$.__esModule:J.writable||J.configurable))J={enumerable:!0,get:function(){return $[F]}};Object.defineProperty(D,X,J)}:function(D,$,F,X){if(X===void 0)X=F;D[X]=$[F]}),J8=_0&&_0.__exportStar||function(D,$){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call($,F))Oj($,D,F)};Object.defineProperty(_0,"__esModule",{value:!0});J8(w_(),_0);J8(k_(),_0);J8(x_(),_0);J8(e2(),_0);J8(p_(),_0);J8(i_(),_0);J8(vA(),_0);J8(yA(),_0)});var xF=S((uA)=>{Object.defineProperty(uA,"__esModule",{value:!0});uA.CronFieldCollection=void 0;var S0=g7();class e1{#D;#$;#X;#G;#J;#F;static from(D,$){return new e1({second:this.resolveField(S0.CronSecond,D.second,$.second),minute:this.resolveField(S0.CronMinute,D.minute,$.minute),hour:this.resolveField(S0.CronHour,D.hour,$.hour),dayOfMonth:this.resolveField(S0.CronDayOfMonth,D.dayOfMonth,$.dayOfMonth),month:this.resolveField(S0.CronMonth,D.month,$.month),dayOfWeek:this.resolveField(S0.CronDayOfWeek,D.dayOfWeek,$.dayOfWeek)})}static resolveField(D,$,F){if(!F)return $;if(F instanceof S0.CronField)return F;return new D(F)}constructor({second:D,minute:$,hour:F,dayOfMonth:X,month:J,dayOfWeek:Y}){if(!D)throw Error("Validation error, Field second is missing");if(!$)throw Error("Validation error, Field minute is missing");if(!F)throw Error("Validation error, Field hour is missing");if(!X)throw Error("Validation error, Field dayOfMonth is missing");if(!J)throw Error("Validation error, Field month is missing");if(!Y)throw Error("Validation error, Field dayOfWeek is missing");if(J.values.length===1&&!X.hasLastChar){if(!(parseInt(X.values[0],10)<=S0.CronMonth.daysInMonth[J.values[0]-1]))throw Error("Invalid explicit day of month definition")}this.#D=D,this.#$=$,this.#X=F,this.#J=J,this.#F=Y,this.#G=X}get second(){return this.#D}get minute(){return this.#$}get hour(){return this.#X}get dayOfMonth(){return this.#G}get month(){return this.#J}get dayOfWeek(){return this.#F}static compactField(D){if(D.length===0)return[];let $=[],F=void 0;if(D.forEach((X,J,Y)=>{if(F===void 0){F={start:X,count:1};return}let G=Y[J-1]||F.start,B=Y[J+1];if(X==="L"||X==="W"){$.push(F),$.push({start:X,count:1}),F=void 0;return}if(F.step===void 0&&B!==void 0){let H=X-G,W=B-X;if(H<=W){F={...F,count:2,end:X,step:H};return}F.step=1}if(X-(F.end??0)===F.step)F.count++,F.end=X;else{if(F.count===1)$.push({start:F.start,count:1});else if(F.count===2)$.push({start:F.start,count:1}),$.push({start:F.end??G,count:1});else $.push(F);F={start:X,count:1}}}),F)$.push(F);return $}static#W(D,$,F){let X=$.step;if(!X)return null;if(X===1&&$.start===D.min&&$.end&&$.end>=F)return D.hasQuestionMarkChar?"?":"*";if(X!==1&&$.start===D.min&&$.end&&$.end>=F-X+1)return`*/${X}`;return null}static#H(D,$){let F=D.step;if(F===1)return`${D.start}-${D.end}`;let X=D.start===0?D.count-1:D.count;if(!F)throw Error("Unexpected range step");if(!D.end)throw Error("Unexpected range end");if(F*X>D.end){let J=(G,B)=>{if(typeof D.start!=="number")throw Error("Unexpected range start");return B%F===0?D.start+B:null};if(typeof D.start!=="number")throw Error("Unexpected range start");let Y={length:D.end-D.start+1};return Array.from(Y,J).filter((G)=>G!==null).join(",")}return D.end===$-F+1?`${D.start}/${F}`:`${D.start}-${D.end}/${F}`}stringifyField(D){let{max:$,values:F}=D;if(D instanceof S0.CronDayOfWeek){$=6;let J=this.#F.values;F=J[J.length-1]===7?J.slice(0,-1):J}if(D instanceof S0.CronDayOfMonth)$=this.#J.values.length===1?S0.CronMonth.daysInMonth[this.#J.values[0]-1]:D.max;let X=e1.compactField(F);if(X.length===1){let J=e1.#W(D,X[0],$);if(J)return J}return X.map((J)=>{let Y=J.count===1?J.start.toString():e1.#H(J,$);if(D instanceof S0.CronDayOfWeek&&D.nthDay>0)return`${Y}#${D.nthDay}`;return Y}).join(",")}stringify(D=!1){let $=[];if(D)$.push(this.stringifyField(this.#D));return $.push(this.stringifyField(this.#$),this.stringifyField(this.#X),this.stringifyField(this.#G),this.stringifyField(this.#J),this.stringifyField(this.#F)),$.join(" ")}serialize(){return{second:this.#D.serialize(),minute:this.#$.serialize(),hour:this.#X.serialize(),dayOfMonth:this.#G.serialize(),month:this.#J.serialize(),dayOfWeek:this.#F.serialize()}}}uA.CronFieldCollection=e1});var uF=S((cA)=>{Object.defineProperty(cA,"__esModule",{value:!0});cA.CronExpression=cA.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE=cA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE=void 0;var TD=v7();cA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE="Out of the time span range";cA.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE="Invalid expression, loop limit exceeded";var pA=1e4;class f0{#D;#$;#X;#G;#J;#F;#W=null;#H=!1;constructor(D,$){this.#D=$,this.#$=$.tz,this.#G=$.startDate?new TD.CronDate($.startDate,this.#$):null,this.#J=$.endDate?new TD.CronDate($.endDate,this.#$):null;let F=$.currentDate??$.startDate;if(F){let X=new TD.CronDate(F,this.#$);if(this.#G&&X.getTime()<this.#G.getTime())F=this.#G;else if(this.#J&&X.getTime()>this.#J.getTime())F=this.#J}this.#X=new TD.CronDate(F,this.#$),this.#F=D}get fields(){return this.#F}static fieldsToExpression(D,$){return new f0(D,$||{})}static#B(D,$){return $.some((F)=>F===D)}#Y(D,$){return D[$?D.length-1:0]}#U(D){let $=`${D.getFullYear()}-${D.getMonth()+1}-${D.getDate()}`;if(this.#W===$)return this.#H;let F=new TD.CronDate(D);F.setStartOfDay();let X=new TD.CronDate(D);return X.setEndOfDay(),this.#W=$,this.#H=F.getUTCOffset()!==X.getUTCOffset(),this.#H}#A(D,$,F){let X=this.#F.second.values,J=D.getSeconds(),Y=this.#F.second.findNearestValue(J,F);if(Y!==null){D.setSeconds(Y);return}D.applyDateOperation($,TD.TimeUnit.Minute,this.#F.hour.values.length),D.setSeconds(this.#Y(X,F))}#_(D,$,F){let X=this.#F.minute.values,J=this.#F.second.values,Y=D.getMinutes(),G=this.#F.minute.findNearestValue(Y,F);if(G!==null){D.setMinutes(G),D.setSeconds(this.#Y(J,F));return}D.applyDateOperation($,TD.TimeUnit.Hour,this.#F.hour.values.length),D.setMinutes(this.#Y(X,F)),D.setSeconds(this.#Y(J,F))}static#E(D,$){let F=$.isLastWeekdayOfMonth();return D.some((X)=>{let J=parseInt(X.toString().charAt(0),10)%7;if(Number.isNaN(J))throw Error(`Invalid last weekday of the month expression: ${X}`);return $.getDay()===J&&F})}next(){return this.#V()}prev(){return this.#V(!0)}hasNext(){let D=this.#X;try{return this.#V(),!0}catch{return!1}finally{this.#X=D}}hasPrev(){let D=this.#X;try{return this.#V(!0),!0}catch{return!1}finally{this.#X=D}}take(D){let $=[];if(D>=0)for(let F=0;F<D;F++)try{$.push(this.next())}catch{return $}else for(let F=0;F>D;F--)try{$.push(this.prev())}catch{return $}return $}reset(D){this.#X=new TD.CronDate(D||this.#D.currentDate)}stringify(D=!1){return this.#F.stringify(D)}includesDate(D){let{second:$,minute:F,hour:X,month:J}=this.#F,Y=new TD.CronDate(D,this.#$);if(!$.values.includes(Y.getSeconds())||!F.values.includes(Y.getMinutes())||!X.values.includes(Y.getHours())||!J.values.includes(Y.getMonth()+1))return!1;if(!this.#Q(Y))return!1;if(this.#F.dayOfWeek.nthDay>0){if(Math.ceil(Y.getDate()/7)!==this.#F.dayOfWeek.nthDay)return!1}return!0}toString(){return this.#D.expression||this.stringify(!0)}#Q(D){let $=this.#F.dayOfMonth.isWildcard,F=!$,X=this.#F.dayOfWeek.isWildcard,J=!X,Y=f0.#B(D.getDate(),this.#F.dayOfMonth.values)||this.#F.dayOfMonth.hasLastChar&&D.isLastDayOfMonth(),G=f0.#B(D.getDay(),this.#F.dayOfWeek.values)||this.#F.dayOfWeek.hasLastChar&&f0.#E(this.#F.dayOfWeek.values,D);if(F&&J&&(Y||G))return!0;if(Y&&!J)return!0;if($&&!X&&G)return!0;return!1}#K(D,$,F){let X=this.#F.hour.values,J=X,Y=D.getHours(),G=f0.#B(Y,X),B=D.dstStart===Y,H=D.dstEnd===Y;if(B){if(f0.#B(Y-1,X))return!0;return D.invokeDateOperation($,TD.TimeUnit.Hour),!1}if(H&&!F)return D.dstEnd=null,D.applyDateOperation(TD.DateMathOp.Add,TD.TimeUnit.Hour,J.length),!1;if(G)return!0;D.dstStart=null;let W=this.#F.hour.findNearestValue(Y,F);if(W===null)return D.applyDateOperation($,TD.TimeUnit.Day,J.length),!1;if(this.#U(D)){let U=F?Y-W:W-Y;for(let A=0;A<U;A++)D.applyDateOperation($,TD.TimeUnit.Hour,J.length)}else D.setHours(W);return D.setMinutes(this.#Y(this.#F.minute.values,F)),D.setSeconds(this.#Y(this.#F.second.values,F)),!1}#C(D){if(!this.#G&&!this.#J)return;let $=D.getTime();if(this.#G&&$<this.#G.getTime())throw Error(cA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE);if(this.#J&&$>this.#J.getTime())throw Error(cA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE)}#V(D=!1){let $=D?TD.DateMathOp.Subtract:TD.DateMathOp.Add,F=new TD.CronDate(this.#X),X=F.getTime(),J=0;while(++J<pA){if(this.#C(F),!this.#Q(F)){F.applyDateOperation($,TD.TimeUnit.Day,this.#F.hour.values.length);continue}if(!(this.#F.dayOfWeek.nthDay<=0||Math.ceil(F.getDate()/7)===this.#F.dayOfWeek.nthDay)){F.applyDateOperation($,TD.TimeUnit.Day,this.#F.hour.values.length);continue}if(!f0.#B(F.getMonth()+1,this.#F.month.values)){F.applyDateOperation($,TD.TimeUnit.Month,this.#F.hour.values.length);continue}if(!this.#K(F,$,D))continue;if(!f0.#B(F.getMinutes(),this.#F.minute.values)){this.#_(F,$,D);continue}if(!f0.#B(F.getSeconds(),this.#F.second.values)){this.#A(F,$,D);continue}if(X===F.getTime()){if($==="Add"||F.getMilliseconds()===0)F.applyDateOperation($,TD.TimeUnit.Second,this.#F.hour.values.length);continue}break}if(J>pA)throw Error(cA.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE);if(F.getMilliseconds()!==0)F.setMilliseconds(0);return this.#X=F,F}[Symbol.iterator](){return{next:()=>{return{value:this.#V(),done:!this.hasNext()}}}}}cA.CronExpression=f0;cA.default=f0});var nA=S((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});iA.seededRandom=Pj;function qj(D){let $=2166136261;for(let F=0;F<D.length;F++)$^=D.charCodeAt(F),$=Math.imul($,16777619);return()=>$>>>0}function Nj(D){return()=>{let $=D+=1831565813;return $=Math.imul($^$>>>15,$|1),$^=$+Math.imul($^$>>>7,$|61),(($^$>>>14)>>>0)/4294967296}}function Pj(D){let $=D?qj(D)():Math.floor(Math.random()*10000000000);return Nj($)}});var h7=S((sA)=>{Object.defineProperty(sA,"__esModule",{value:!0});sA.CronExpressionParser=sA.DayOfWeek=sA.Months=sA.CronUnit=sA.PredefinedExpressions=void 0;var Lj=xF(),zj=uF(),jj=nA(),b0=g7(),mF;(function(D){D["@yearly"]="0 0 0 1 1 *",D["@annually"]="0 0 0 1 1 *",D["@monthly"]="0 0 0 1 * *",D["@weekly"]="0 0 0 * * 0",D["@daily"]="0 0 0 * * *",D["@hourly"]="0 0 * * * *",D["@minutely"]="0 * * * * *",D["@secondly"]="* * * * * *",D["@weekdays"]="0 0 0 * * 1-5",D["@weekends"]="0 0 0 * * 0,6"})(mF||(sA.PredefinedExpressions=mF={}));var k0;(function(D){D.Second="Second",D.Minute="Minute",D.Hour="Hour",D.DayOfMonth="DayOfMonth",D.Month="Month",D.DayOfWeek="DayOfWeek"})(k0||(sA.CronUnit=k0={}));var pF;(function(D){D[D.jan=1]="jan",D[D.feb=2]="feb",D[D.mar=3]="mar",D[D.apr=4]="apr",D[D.may=5]="may",D[D.jun=6]="jun",D[D.jul=7]="jul",D[D.aug=8]="aug",D[D.sep=9]="sep",D[D.oct=10]="oct",D[D.nov=11]="nov",D[D.dec=12]="dec"})(pF||(sA.Months=pF={}));var cF;(function(D){D[D.sun=0]="sun",D[D.mon=1]="mon",D[D.tue=2]="tue",D[D.wed=3]="wed",D[D.thu=4]="thu",D[D.fri=5]="fri",D[D.sat=6]="sat"})(cF||(sA.DayOfWeek=cF={}));class U0{static parse(D,$={}){let{strict:F=!1,hashSeed:X}=$,J=(0,jj.seededRandom)(X);D=mF[D]||D;let Y=U0.#D(D,F);if(!(Y.dayOfMonth==="*"||Y.dayOfWeek==="*"||!F))throw Error("Cannot use both dayOfMonth and dayOfWeek together in strict mode!");let G=U0.#$(k0.Second,Y.second,b0.CronSecond.constraints,J),B=U0.#$(k0.Minute,Y.minute,b0.CronMinute.constraints,J),H=U0.#$(k0.Hour,Y.hour,b0.CronHour.constraints,J),W=U0.#$(k0.Month,Y.month,b0.CronMonth.constraints,J),U=U0.#$(k0.DayOfMonth,Y.dayOfMonth,b0.CronDayOfMonth.constraints,J),{dayOfWeek:A,nthDayOfWeek:V}=U0.#U(Y.dayOfWeek),E=U0.#$(k0.DayOfWeek,A,b0.CronDayOfWeek.constraints,J),C=new Lj.CronFieldCollection({second:new b0.CronSecond(G,{rawValue:Y.second}),minute:new b0.CronMinute(B,{rawValue:Y.minute}),hour:new b0.CronHour(H,{rawValue:Y.hour}),dayOfMonth:new b0.CronDayOfMonth(U,{rawValue:Y.dayOfMonth}),month:new b0.CronMonth(W,{rawValue:Y.month}),dayOfWeek:new b0.CronDayOfWeek(E,{rawValue:Y.dayOfWeek,nthDayOfWeek:V})});return new zj.CronExpression(C,{...$,expression:D})}static#D(D,$){if($&&!D.length)throw Error("Invalid cron expression");D=D||"0 * * * * *";let F=D.trim().split(/\s+/);if($&&F.length<6)throw Error("Invalid cron expression, expected 6 fields");if(F.length>6)throw Error("Invalid cron expression, too many fields");let X=["*","*","*","*","*","0"];if(F.length<X.length)F.unshift(...X.slice(F.length));let[J,Y,G,B,H,W]=F;return{second:J,minute:Y,hour:G,dayOfMonth:B,month:H,dayOfWeek:W}}static#$(D,$,F,X){if(D===k0.Month||D===k0.DayOfWeek)$=$.replace(/[a-z]{3}/gi,(J)=>{J=J.toLowerCase();let Y=pF[J]||cF[J];if(Y===void 0)throw Error(`Validation error, cannot resolve alias "${J}"`);return Y.toString()});if(!F.validChars.test($))throw Error(`Invalid characters, got value: ${$}`);return $=this.#X($,F),$=this.#G($,F,X),this.#J(D,$,F)}static#X(D,$){return D.replace(/[*?]/g,$.min+"-"+$.max)}static#G(D,$,F){let X=F();return D.replace(/H(?:\((\d+)-(\d+)\))?(?:\/(\d+))?/g,(J,Y,G,B)=>{if(Y&&G&&B){let H=parseInt(Y,10),W=parseInt(G,10),U=parseInt(B,10);if(H>W)throw Error(`Invalid range: ${H}-${W}, min > max`);if(U<=0)throw Error(`Invalid step: ${U}, must be positive`);let A=Math.max(H,$.min),V=Math.floor(X*U),E=[];for(let C=Math.floor(A/U)*U+V;C<=W;C+=U)if(C>=A)E.push(C);return E.join(",")}else if(Y&&G){let H=parseInt(Y,10),W=parseInt(G,10);if(H>W)throw Error(`Invalid range: ${H}-${W}, min > max`);return String(Math.floor(X*(W-H+1))+H)}else if(B){let H=parseInt(B,10);if(H<=0)throw Error(`Invalid step: ${H}, must be positive`);let W=Math.floor(X*H),U=[];for(let A=Math.floor($.min/H)*H+W;A<=$.max;A+=H)if(A>=$.min)U.push(A);return U.join(",")}else return String(Math.floor(X*($.max-$.min+1)+$.min))})}static#J(D,$,F){let X=[];function J(G,B){if(Array.isArray(G))X.push(...G);else if(U0.#A(B,G))X.push(G);else{let H=parseInt(G.toString(),10);if(!(H>=B.min&&H<=B.max))throw Error(`Constraint error, got value ${G} expected range ${B.min}-${B.max}`);X.push(D===k0.DayOfWeek?H%7:G)}}return $.split(",").forEach((G)=>{if(!(G.length>0))throw Error("Invalid list value format");J(U0.#F(D,G,F),F)}),X}static#F(D,$,F){let X=$.split("/");if(X.length>2)throw Error(`Invalid repeat: ${$}`);if(X.length===2){if(!isNaN(parseInt(X[0],10)))X[0]=`${X[0]}-${F.max}`;return U0.#Y(D,X[0],parseInt(X[1],10),F)}return U0.#Y(D,$,1,F)}static#W(D,$,F){if(!(!isNaN(D)&&!isNaN($)&&D>=F.min&&$<=F.max))throw Error(`Constraint error, got range ${D}-${$} expected range ${F.min}-${F.max}`);if(D>$)throw Error(`Invalid range: ${D}-${$}, min(${D}) > max(${$})`)}static#H(D){if(!(!isNaN(D)&&D>0))throw Error(`Constraint error, cannot repeat at every ${D} time.`)}static#B(D,$,F,X){let J=[];if(D===k0.DayOfWeek&&F%7===0)J.push(0);for(let Y=$;Y<=F;Y+=X)if(J.indexOf(Y)===-1)J.push(Y);return J}static#Y(D,$,F,X){let J=$.split("-");if(J.length<=1)return isNaN(+$)?$:+$;let[Y,G]=J.map((B)=>parseInt(B,10));return this.#W(Y,G,X),this.#H(F),this.#B(D,Y,G,F)}static#U(D){let $=D.split("#");if($.length<=1)return{dayOfWeek:$[0]};let F=+$[$.length-1],X=D.match(/([,-/])/);if(X!==null)throw Error(`Constraint error, invalid dayOfWeek \`#\` and \`${X?.[0]}\` special characters are incompatible`);if(!($.length<=2&&!isNaN(F)&&F>=1&&F<=5))throw Error("Constraint error, invalid dayOfWeek occurrence number (#)");return{dayOfWeek:$[0],nthDayOfWeek:F}}static#A(D,$){return D.chars.some((F)=>$.toString().includes(F))}}sA.CronExpressionParser=U0});var oA=S((R2)=>{var fj=R2&&R2.__createBinding||(Object.create?function(D,$,F,X){if(X===void 0)X=F;var J=Object.getOwnPropertyDescriptor($,F);if(!J||("get"in J?!$.__esModule:J.writable||J.configurable))J={enumerable:!0,get:function(){return $[F]}};Object.defineProperty(D,X,J)}:function(D,$,F,X){if(X===void 0)X=F;D[X]=$[F]}),bj=R2&&R2.__setModuleDefault||(Object.create?function(D,$){Object.defineProperty(D,"default",{enumerable:!0,value:$})}:function(D,$){D.default=$}),kj=R2&&R2.__importStar||function(){var D=function($){return D=Object.getOwnPropertyNames||function(F){var X=[];for(var J in F)if(Object.prototype.hasOwnProperty.call(F,J))X[X.length]=J;return X},D($)};return function($){if($&&$.__esModule)return $;var F={};if($!=null){for(var X=D($),J=0;J<X.length;J++)if(X[J]!=="default")fj(F,$,X[J])}return bj(F,$),F}}();Object.defineProperty(R2,"__esModule",{value:!0});R2.CronFileParser=void 0;var vj=h7();class C3{static async parseFile(D){let{readFile:$}=await Promise.resolve().then(()=>kj(x2("fs/promises"))),F=await $(D,"utf8");return C3.#D(F)}static parseFileSync(D){let{readFileSync:$}=x2("fs"),F=$(D,"utf8");return C3.#D(F)}static#D(D){let $=D.split(`
|
|
96
|
+
`),F={variables:{},expressions:[],errors:{}};for(let X of $){let J=X.trim();if(J.length===0||J.startsWith("#"))continue;let Y=J.match(/^(.*)=(.*)$/);if(Y){let[,G,B]=Y;F.variables[G]=B.replace(/["']/g,"");continue}try{let G=C3.#$(J);F.expressions.push(G.interval)}catch(G){F.errors[J]=G}}return F}static#$(D){let $=D.split(" ");return{interval:vj.CronExpressionParser.parse($.slice(0,5).join(" ")),command:$.slice(5,$.length)}}}R2.CronFileParser=C3});var aA=S((dD)=>{var gj=dD&&dD.__createBinding||(Object.create?function(D,$,F,X){if(X===void 0)X=F;var J=Object.getOwnPropertyDescriptor($,F);if(!J||("get"in J?!$.__esModule:J.writable||J.configurable))J={enumerable:!0,get:function(){return $[F]}};Object.defineProperty(D,X,J)}:function(D,$,F,X){if(X===void 0)X=F;D[X]=$[F]}),hj=dD&&dD.__exportStar||function(D,$){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call($,F))gj($,D,F)};Object.defineProperty(dD,"__esModule",{value:!0});dD.CronFileParser=dD.CronExpressionParser=dD.CronExpression=dD.CronFieldCollection=dD.CronDate=void 0;var xj=h7(),yj=v7();Object.defineProperty(dD,"CronDate",{enumerable:!0,get:function(){return yj.CronDate}});var uj=xF();Object.defineProperty(dD,"CronFieldCollection",{enumerable:!0,get:function(){return uj.CronFieldCollection}});var mj=uF();Object.defineProperty(dD,"CronExpression",{enumerable:!0,get:function(){return mj.CronExpression}});var pj=h7();Object.defineProperty(dD,"CronExpressionParser",{enumerable:!0,get:function(){return pj.CronExpressionParser}});var cj=oA();Object.defineProperty(dD,"CronFileParser",{enumerable:!0,get:function(){return cj.CronFileParser}});hj(g7(),dD);dD.default=xj.CronExpressionParser});class R3{deps;handle=null;ticking=!1;constructor(D){this.deps=D}start(D=dj){if(this.handle!==null)return;this.handle=setInterval(()=>{this.tick().catch(($)=>M.warn(`[cron ${this.deps.workerId}] tick failed: ${String($)}`))},D)}stop(){if(this.handle===null)return;clearInterval(this.handle),this.handle=null}async addJob(D){let $=x7(D.expression,new Date),F=crypto.randomUUID(),X=new Date().toISOString(),J=D.enabled??!0,Y=D.accountId??lj;if(Y.length===0)throw Error("cron job accountId \u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32");let G={id:F,expression:D.expression,prompt:D.prompt,channel:D.channel,chatId:D.chatId,accountId:Y,enabled:J,lastRunAt:null,nextRunAt:J?$.toISOString():null,createdAt:X,updatedAt:X};m().insert(OD).values(G).run();let B=m().select().from(OD).where(p(OD.id,F)).get();return y7(B)}async listJobs(){return m().select().from(OD).all().map(y7)}async getJob(D){let $=m().select().from(OD).where(p(OD.id,D)).get();return $?y7($):null}async removeJob(D){let $=m();if(!$.select({id:OD.id}).from(OD).where(p(OD.id,D)).get())return{removed:!1};return $.delete(OD).where(p(OD.id,D)).run(),{removed:!0}}async updateJob(D,$){let F=m().select().from(OD).where(p(OD.id,D)).get();if(!F)return null;let X={updatedAt:new Date().toISOString()},J=!1;if($.expression!==void 0)x7($.expression,new Date),X.expression=$.expression,J=!0;if($.prompt!==void 0)X.prompt=$.prompt;if($.channel!==void 0)X.channel=$.channel;if($.chatId!==void 0)X.chatId=$.chatId;if($.accountId!==void 0){if($.accountId.length===0)throw Error("cron job accountId \u4E0D\u80FD\u4E3A\u7A7A\u5B57\u7B26\u4E32");X.accountId=$.accountId}if($.enabled!==void 0)X.enabled=$.enabled,J=!0;if(J){let G=$.enabled??F.enabled,B=$.expression??F.expression;X.nextRunAt=G?x7(B,new Date).toISOString():null}m().update(OD).set(X).where(p(OD.id,D)).run();let Y=m().select().from(OD).where(p(OD.id,D)).get();return y7(Y)}async tick(D=new Date){if(this.ticking)return;this.ticking=!0;try{let $=D.toISOString(),F=m().select().from(OD).where(E2(p(OD.enabled,!0),o9(OD.nextRunAt,$))).all();for(let X of F)await this.fireJob(X,D)}finally{this.ticking=!1}}async fireJob(D,$){let F={workerId:this.deps.workerId,channel:D.channel,accountId:D.accountId,chatId:D.chatId,text:D.prompt,receivedAt:$.toISOString(),raw:{source:"cron",jobId:D.id}},X=null;try{X=x7(D.expression,$).toISOString()}catch(Y){M.warn(`[cron ${D.id}] expression "${D.expression}" \u5F02\u5E38\uFF0C\u505C\u6B62\u540E\u7EED\u89E6\u53D1: ${String(Y)}`)}let J=$.toISOString();m().update(OD).set({lastRunAt:J,nextRunAt:X,updatedAt:J}).where(p(OD.id,D.id)).run();try{await this.deps.getOrchestrator().ingest(F)}catch(Y){M.warn(`[cron ${D.id}] orchestrator.ingest \u5931\u8D25: ${String(Y)}`)}}}function x7(D,$){return tA.CronExpressionParser.parse(D,{currentDate:$}).next().toDate()}function y7(D){return{id:D.id,expression:D.expression,prompt:D.prompt,channel:D.channel,chatId:D.chatId,accountId:D.accountId,enabled:D.enabled,lastRunAt:D.lastRunAt,nextRunAt:D.nextRunAt,createdAt:D.createdAt,updatedAt:D.updatedAt}}var tA,dj=60000,lj="sys:cron";var dF=R(()=>{jD();JD();O0();tA=tR(aA(),1)});class O3{listeners=new Set;emit(D,$){let F={type:D,payload:$,at:new Date().toISOString()};for(let X of this.listeners)try{X(F)}catch{}}on(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}}import $V from"fs/promises";import ij from"os";import v0 from"path";import u7 from"process";function XV(D=FV){let $=new Map;async function F(H){let W=new Date(D.now()).toISOString(),U=await D.resolveBinary(H.binaryName),A={kind:H.kind,status:"not-found",checkedAt:W};if(H.agent)A.agent=H.agent;if(!U)return{...A,authHint:"binary-not-on-path"};let V=D.homedir();for(let E of H.authPaths(V))if(await D.pathExists(E))return{...A,status:"ready",binaryPath:U,authHint:"auth-file-present"};return{...A,status:"login-required",binaryPath:U,authHint:"auth-file-missing"}}async function X(H,W){let U=$.get(H.key);if(!W&&U&&U.expiresAt>D.now())return U.value;let A=await F(H);return $.set(H.key,{value:A,expiresAt:D.now()+nj}),A}function J(H){return{kind:H,status:"ready",checkedAt:new Date(D.now()).toISOString(),authHint:"no-cli-required"}}async function Y(H={}){let W=H.refresh??!1,U=[];for(let A of eA)U.push(J(A));for(let A of DV)U.push(await X(A,W));return U}async function G(H,W={}){let U=W.refresh??!1;if(eA.includes(H))return J(H);let A=DV.filter((E)=>E.kind===H);if(A.length===0)return{kind:H,status:"not-found",checkedAt:new Date(D.now()).toISOString(),authHint:"unknown-engine"};let V=W.agent?A.find((E)=>E.agent===W.agent)??A[0]:A[0];return X(V,U)}function B(){$.clear()}return{probe:G,probeAll:Y,clearCache:B}}function m7(){if(!M3)M3=XV();return M3}function JV(D){return M3=XV(D),M3}function lF(D,$){let F=new Date().toISOString();if(D==="login")return{status:"LoginDetected",checkedAt:F,detail:$};if(D==="install")return{status:"InstallationFound",checkedAt:F,detail:$};return{status:"NotFound",checkedAt:F,detail:$}}async function GV(D,$=FV){let F=$.homedir(),X=D==="gemini"?".gemini":".qwen",J=v0.join(F,X,"oauth_creds.json"),Y=v0.join(F,X,"settings.json");if(await $.pathExists(J))return lF("login","oauth_creds.json present");if(await $.pathExists(Y))return lF("install","settings.json present, login pending");return lF("none",`~/${X} not present`)}function YV(){return GV("gemini")}function BV(){return GV("qwen")}async function sj(D){let $=u7.env.PATH??"",F=u7.platform==="win32"?";":":",X=u7.platform==="win32"?(u7.env.PATHEXT??".EXE").split(";"):[""];for(let J of $.split(F)){if(!J)continue;for(let Y of X){let G=v0.join(J,`${D}${Y.toLowerCase()}`);try{if((await $V.stat(G)).isFile())return G}catch{}}}return null}async function rj(D){try{return await $V.stat(D),!0}catch{return!1}}var nj=600000,FV,eA,DV,M3=null;var p7=R(()=>{FV={resolveBinary:sj,pathExists:rj,homedir:()=>ij.homedir(),now:()=>Date.now()},eA=["http","mcp","cli"],DV=[{key:"claude-code",kind:"claude-code",binaryName:"claude",authPaths:(D)=>[v0.join(D,".claude.json"),v0.join(D,".claude","config.json")]},{key:"acp:gemini",kind:"acp",agent:"gemini",binaryName:"gemini",authPaths:(D)=>[v0.join(D,".gemini","oauth_creds.json")]},{key:"acp:qwen",kind:"acp",agent:"qwen",binaryName:"qwen",authPaths:(D)=>[v0.join(D,".qwen","oauth_creds.json"),v0.join(D,".qwen","settings.json")]},{key:"codex",kind:"codex",binaryName:"codex",authPaths:(D)=>[v0.join(D,".codex","auth.json")]},{key:"cursor",kind:"cursor",binaryName:"cursor-agent",authPaths:(D)=>[v0.join(D,".cursor","cli-config.json"),v0.join(D,".cursor-agent","auth.json"),v0.join(D,".cursor","auth.json")]}]});class iF{deps;ws=null;reconnectDelay;reconnectTimer=null;stopped=!1;WebSocketCtor;enrolledViaOtp=!1;constructor(D){this.deps=D;this.reconnectDelay=D.options.initialReconnectDelayMs;let $=globalThis.WebSocket,F=D.webSocketCtor??$;if(!F)throw Error("gateway-client: no WebSocket implementation available (set deps.webSocketCtor)");this.WebSocketCtor=F}start(){this.openSocket()}async stop(){if(this.stopped=!0,this.reconnectTimer)clearTimeout(this.reconnectTimer),this.reconnectTimer=null;let D=this.ws;if(this.ws=null,!D)return;return new Promise(($)=>{let F=setTimeout(()=>$(),2000);D.onclose=()=>{clearTimeout(F),$()};try{D.close(1000,"node-shutdown")}catch{clearTimeout(F),$()}})}send(D){let $=this.ws;if(!$||$.readyState!==oj){M.warn(`[gateway-client ${this.deps.options.workerId}] send dropped: socket not open`);return}try{$.send(Z8(D))}catch(F){M.warn(`[gateway-client ${this.deps.options.workerId}] send failed: ${String(F)}`)}}openSocket(){let{url:D,workerId:$}=this.deps.options;M.info(`[gateway-client ${$}] connecting to ${D}`);let F;try{F=new this.WebSocketCtor(D)}catch(X){M.warn(`[gateway-client ${$}] ws ctor threw: ${String(X)}`),this.scheduleReconnect();return}this.ws=F,F.onopen=()=>{let X=this.deps.options.enroll,J=X===void 0||this.enrolledViaOtp?void 0:X.mode==="otp"?{mode:"otp",apiToken:X.apiToken,...X.displayName?{displayName:X.displayName}:{}}:{apiToken:X.apiToken,joinToken:X.joinToken,...X.displayName?{displayName:X.displayName}:{}},Y={type:"connect",role:P8.NODE,agentId:this.deps.options.workerId,deviceId:this.deps.options.deviceId,auth:{token:this.deps.options.token},...this.deps.options.displayName?{meta:{displayName:this.deps.options.displayName}}:{},...J?{enroll:J}:{}};try{F.send(Z8(Y))}catch(G){M.warn(`[gateway-client ${$}] connect frame send failed: ${String(G)}`);return}this.reconnectDelay=this.deps.options.initialReconnectDelayMs,M.success(`[gateway-client ${$}] connected, node=${this.deps.options.deviceId}`),this.deps.onConnected()},F.onmessage=(X)=>{let J=typeof X.data==="string"?X.data:String(X.data),Y=b6(J);if(!Y.ok){M.warn(`[gateway-client ${$}] drop malformed frame: ${Y.error}`);return}let G=Y.frame;if(G.type==="event"&&G.name===WD.ENROLLMENT_OTP){let B=I9.safeParse(G.payload);if(!B.success){M.warn(`[gateway-client ${$}] enrollment.otp payload invalid: ${B.error.message}`);return}try{this.deps.onEnrollmentOtp?.(B.data)}catch(H){M.error(`[gateway-client ${$}] onEnrollmentOtp threw: ${String(H)}`)}return}if(G.type==="event"&&G.name===WD.ENROLLMENT_APPROVED){let B=T9.safeParse(G.payload);if(!B.success){M.warn(`[gateway-client ${$}] enrollment.approved payload invalid: ${B.error.message}`);return}this.enrolledViaOtp=!0;try{this.deps.onEnrollmentApproved?.(B.data)}catch(H){M.error(`[gateway-client ${$}] onEnrollmentApproved threw: ${String(H)}`)}return}try{this.deps.onFrame(G)}catch(B){M.error(`[gateway-client ${$}] onFrame threw: ${String(B)}`)}},F.onerror=(X)=>{M.warn(`[gateway-client ${$}] ws error: ${String(X?.message??X)}`)},F.onclose=(X)=>{if(this.ws===F)this.ws=null;let J=`code=${X.code} reason=${X.reason||"n/a"}`;if(this.deps.onDisconnected(J),this.stopped)return;this.scheduleReconnect()}}scheduleReconnect(){if(this.stopped)return;if(!this.deps.options.reconnect){M.info(`[gateway-client ${this.deps.options.workerId}] reconnect disabled, giving up`);return}let D=Math.min(this.reconnectDelay,this.deps.options.maxReconnectDelayMs);M.info(`[gateway-client ${this.deps.options.workerId}] reconnect in ${D}ms`),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.openSocket()},D),this.reconnectDelay=Math.min(this.reconnectDelay*2,this.deps.options.maxReconnectDelayMs)}}var oj=1;var HV=R(()=>{L8();JD()});function WV(D){if(!D.url||D.url.length===0)throw Error("gateway-client: url is required");if(!D.workerId||D.workerId.length===0)throw Error("gateway-client: workerId is required");return{url:D.url,token:D.token,workerId:D.workerId,deviceId:D.deviceId??D.workerId,displayName:D.displayName,reconnect:D.reconnect??!0,initialReconnectDelayMs:D.initialReconnectDelayMs??1000,maxReconnectDelayMs:D.maxReconnectDelayMs??16000,enroll:D.enroll}}var BD=S((Jw)=>{var nF=Symbol.for("yaml.alias"),_V=Symbol.for("yaml.document"),c7=Symbol.for("yaml.map"),UV=Symbol.for("yaml.pair"),sF=Symbol.for("yaml.scalar"),d7=Symbol.for("yaml.seq"),v2=Symbol.for("yaml.node.type"),aj=(D)=>!!D&&typeof D==="object"&&D[v2]===nF,tj=(D)=>!!D&&typeof D==="object"&&D[v2]===_V,ej=(D)=>!!D&&typeof D==="object"&&D[v2]===c7,Dw=(D)=>!!D&&typeof D==="object"&&D[v2]===UV,AV=(D)=>!!D&&typeof D==="object"&&D[v2]===sF,$w=(D)=>!!D&&typeof D==="object"&&D[v2]===d7;function VV(D){if(D&&typeof D==="object")switch(D[v2]){case c7:case d7:return!0}return!1}function Fw(D){if(D&&typeof D==="object")switch(D[v2]){case nF:case c7:case sF:case d7:return!0}return!1}var Xw=(D)=>(AV(D)||VV(D))&&!!D.anchor;Jw.ALIAS=nF;Jw.DOC=_V;Jw.MAP=c7;Jw.NODE_TYPE=v2;Jw.PAIR=UV;Jw.SCALAR=sF;Jw.SEQ=d7;Jw.hasAnchor=Xw;Jw.isAlias=aj;Jw.isCollection=VV;Jw.isDocument=tj;Jw.isMap=ej;Jw.isNode=Fw;Jw.isPair=Dw;Jw.isScalar=AV;Jw.isSeq=$w});var q3=S((qw)=>{var yD=BD(),A0=Symbol("break visit"),QV=Symbol("skip children"),O2=Symbol("remove node");function l7(D,$){let F=EV($);if(yD.isDocument(D)){if(D6(null,D.contents,F,Object.freeze([D]))===O2)D.contents=null}else D6(null,D,F,Object.freeze([]))}l7.BREAK=A0;l7.SKIP=QV;l7.REMOVE=O2;function D6(D,$,F,X){let J=KV(D,$,F,X);if(yD.isNode(J)||yD.isPair(J))return CV(D,X,J),D6(D,J,F,X);if(typeof J!=="symbol"){if(yD.isCollection($)){X=Object.freeze(X.concat($));for(let Y=0;Y<$.items.length;++Y){let G=D6(Y,$.items[Y],F,X);if(typeof G==="number")Y=G-1;else if(G===A0)return A0;else if(G===O2)$.items.splice(Y,1),Y-=1}}else if(yD.isPair($)){X=Object.freeze(X.concat($));let Y=D6("key",$.key,F,X);if(Y===A0)return A0;else if(Y===O2)$.key=null;let G=D6("value",$.value,F,X);if(G===A0)return A0;else if(G===O2)$.value=null}}return J}async function i7(D,$){let F=EV($);if(yD.isDocument(D)){if(await $6(null,D.contents,F,Object.freeze([D]))===O2)D.contents=null}else await $6(null,D,F,Object.freeze([]))}i7.BREAK=A0;i7.SKIP=QV;i7.REMOVE=O2;async function $6(D,$,F,X){let J=await KV(D,$,F,X);if(yD.isNode(J)||yD.isPair(J))return CV(D,X,J),$6(D,J,F,X);if(typeof J!=="symbol"){if(yD.isCollection($)){X=Object.freeze(X.concat($));for(let Y=0;Y<$.items.length;++Y){let G=await $6(Y,$.items[Y],F,X);if(typeof G==="number")Y=G-1;else if(G===A0)return A0;else if(G===O2)$.items.splice(Y,1),Y-=1}}else if(yD.isPair($)){X=Object.freeze(X.concat($));let Y=await $6("key",$.key,F,X);if(Y===A0)return A0;else if(Y===O2)$.key=null;let G=await $6("value",$.value,F,X);if(G===A0)return A0;else if(G===O2)$.value=null}}return J}function EV(D){if(typeof D==="object"&&(D.Collection||D.Node||D.Value))return Object.assign({Alias:D.Node,Map:D.Node,Scalar:D.Node,Seq:D.Node},D.Value&&{Map:D.Value,Scalar:D.Value,Seq:D.Value},D.Collection&&{Map:D.Collection,Seq:D.Collection},D);return D}function KV(D,$,F,X){if(typeof F==="function")return F(D,$,X);if(yD.isMap($))return F.Map?.(D,$,X);if(yD.isSeq($))return F.Seq?.(D,$,X);if(yD.isPair($))return F.Pair?.(D,$,X);if(yD.isScalar($))return F.Scalar?.(D,$,X);if(yD.isAlias($))return F.Alias?.(D,$,X);return}function CV(D,$,F){let X=$[$.length-1];if(yD.isCollection(X))X.items[D]=F;else if(yD.isPair(X))if(D==="key")X.key=F;else X.value=F;else if(yD.isDocument(X))X.contents=F;else{let J=yD.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}qw.visit=l7;qw.visitAsync=i7});var rF=S((jw)=>{var RV=BD(),Zw=q3(),Lw={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},zw=(D)=>D.replace(/[!,[\]{}]/g,($)=>Lw[$]);class g0{constructor(D,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},g0.defaultYaml,D),this.tags=Object.assign({},g0.defaultTags,$)}clone(){let D=new g0(this.yaml,this.tags);return D.docStart=this.docStart,D}atDocument(){let D=new g0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:g0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},g0.defaultTags);break}return D}add(D,$){if(this.atNextDocument)this.yaml={explicit:g0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},g0.defaultTags),this.atNextDocument=!1;let F=D.trim().split(/[ \t]+/),X=F.shift();switch(X){case"%TAG":{if(F.length!==2){if($(0,"%TAG directive should contain exactly two parts"),F.length<2)return!1}let[J,Y]=F;return this.tags[J]=Y,!0}case"%YAML":{if(this.yaml.explicit=!0,F.length!==1)return $(0,"%YAML directive should contain exactly one part"),!1;let[J]=F;if(J==="1.1"||J==="1.2")return this.yaml.version=J,!0;else{let Y=/^\d+\.\d+$/.test(J);return $(6,`Unsupported YAML version ${J}`,Y),!1}}default:return $(0,`Unknown directive ${X}`,!0),!1}}tagName(D,$){if(D==="!")return"!";if(D[0]!=="!")return $(`Not a valid tag: ${D}`),null;if(D[1]==="<"){let Y=D.slice(2,-1);if(Y==="!"||Y==="!!")return $(`Verbatim tags aren't resolved, so ${D} is invalid.`),null;if(D[D.length-1]!==">")$("Verbatim tags must end with a >");return Y}let[,F,X]=D.match(/^(.*!)([^!]*)$/s);if(!X)$(`The ${D} tag has no suffix`);let J=this.tags[F];if(J)try{return J+decodeURIComponent(X)}catch(Y){return $(String(Y)),null}if(F==="!")return D;return $(`Could not resolve tag: ${D}`),null}tagString(D){for(let[$,F]of Object.entries(this.tags))if(D.startsWith(F))return $+zw(D.substring(F.length));return D[0]==="!"?D:`!<${D}>`}toString(D){let $=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],F=Object.entries(this.tags),X;if(D&&F.length>0&&RV.isNode(D.contents)){let J={};Zw.visit(D.contents,(Y,G)=>{if(RV.isNode(G)&&G.tag)J[G.tag]=!0}),X=Object.keys(J)}else X=[];for(let[J,Y]of F){if(J==="!!"&&Y==="tag:yaml.org,2002:")continue;if(!D||X.some((G)=>G.startsWith(Y)))$.push(`%TAG ${J} ${Y}`)}return $.join(`
|
|
97
|
+
`)}}g0.defaultYaml={explicit:!1,version:"1.2"};g0.defaultTags={"!!":"tag:yaml.org,2002:"};jw.Directives=g0});var n7=S((fw)=>{var OV=BD(),Iw=q3();function Tw(D){if(/[\x00-\x19\s,[\]{}]/.test(D)){let F=`Anchor must not contain whitespace or control characters: ${JSON.stringify(D)}`;throw Error(F)}return!0}function MV(D){let $=new Set;return Iw.visit(D,{Value(F,X){if(X.anchor)$.add(X.anchor)}}),$}function qV(D,$){for(let F=1;;++F){let X=`${D}${F}`;if(!$.has(X))return X}}function Sw(D,$){let F=[],X=new Map,J=null;return{onAnchor:(Y)=>{F.push(Y),J??(J=MV(D));let G=qV($,J);return J.add(G),G},setAnchors:()=>{for(let Y of F){let G=X.get(Y);if(typeof G==="object"&&G.anchor&&(OV.isScalar(G.node)||OV.isCollection(G.node)))G.node.anchor=G.anchor;else{let B=Error("Failed to resolve repeated object (this should not happen)");throw B.source=Y,B}}},sourceObjects:X}}fw.anchorIsValid=Tw;fw.anchorNames=MV;fw.createNodeAnchors=Sw;fw.findNewAnchor=qV});var oF=S((hw)=>{function N3(D,$,F,X){if(X&&typeof X==="object")if(Array.isArray(X))for(let J=0,Y=X.length;J<Y;++J){let G=X[J],B=N3(D,X,String(J),G);if(B===void 0)delete X[J];else if(B!==G)X[J]=B}else if(X instanceof Map)for(let J of Array.from(X.keys())){let Y=X.get(J),G=N3(D,X,J,Y);if(G===void 0)X.delete(J);else if(G!==Y)X.set(J,G)}else if(X instanceof Set)for(let J of Array.from(X)){let Y=N3(D,X,J,J);if(Y===void 0)X.delete(J);else if(Y!==J)X.delete(J),X.add(Y)}else for(let[J,Y]of Object.entries(X)){let G=N3(D,X,J,Y);if(G===void 0)delete X[J];else if(G!==Y)X[J]=G}return D.call($,F,X)}hw.applyReviver=N3});var G8=S((uw)=>{var yw=BD();function NV(D,$,F){if(Array.isArray(D))return D.map((X,J)=>NV(X,String(J),F));if(D&&typeof D.toJSON==="function"){if(!F||!yw.hasAnchor(D))return D.toJSON($,F);let X={aliasCount:0,count:1,res:void 0};F.anchors.set(D,X),F.onCreate=(Y)=>{X.res=Y,delete F.onCreate};let J=D.toJSON($,F);if(F.onCreate)F.onCreate(J);return J}if(typeof D==="bigint"&&!F?.keep)return Number(D);return D}uw.toJS=NV});var s7=S((dw)=>{var pw=oF(),PV=BD(),cw=G8();class ZV{constructor(D){Object.defineProperty(this,PV.NODE_TYPE,{value:D})}clone(){let D=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)D.range=this.range.slice();return D}toJS(D,{mapAsMap:$,maxAliasCount:F,onAnchor:X,reviver:J}={}){if(!PV.isDocument(D))throw TypeError("A document argument is required");let Y={anchors:new Map,doc:D,keep:!0,mapAsMap:$===!0,mapKeyWarned:!1,maxAliasCount:typeof F==="number"?F:100},G=cw.toJS(this,"",Y);if(typeof X==="function")for(let{count:B,res:H}of Y.anchors.values())X(H,B);return typeof J==="function"?pw.applyReviver(J,{"":G},"",G):G}}dw.NodeBase=ZV});var P3=S((ow)=>{var iw=n7(),nw=q3(),F6=BD(),sw=s7(),rw=G8();class LV extends sw.NodeBase{constructor(D){super(F6.ALIAS);this.source=D,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(D,$){let F;if($?.aliasResolveCache)F=$.aliasResolveCache;else if(F=[],nw.visit(D,{Node:(J,Y)=>{if(F6.isAlias(Y)||F6.hasAnchor(Y))F.push(Y)}}),$)$.aliasResolveCache=F;let X=void 0;for(let J of F){if(J===this)break;if(J.anchor===this.source)X=J}return X}toJSON(D,$){if(!$)return{source:this.source};let{anchors:F,doc:X,maxAliasCount:J}=$,Y=this.resolve(X,$);if(!Y){let B=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(B)}let G=F.get(Y);if(!G)rw.toJS(Y,null,$),G=F.get(Y);if(G?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(J>=0){if(G.count+=1,G.aliasCount===0)G.aliasCount=r7(X,Y,F);if(G.count*G.aliasCount>J)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return G.res}toString(D,$,F){let X=`*${this.source}`;if(D){if(iw.anchorIsValid(this.source),D.options.verifyAliasOrder&&!D.anchors.has(this.source)){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(J)}if(D.implicitKey)return`${X} `}return X}}function r7(D,$,F){if(F6.isAlias($)){let X=$.resolve(D),J=F&&X&&F.get(X);return J?J.count*J.aliasCount:0}else if(F6.isCollection($)){let X=0;for(let J of $.items){let Y=r7(D,J,F);if(Y>X)X=Y}return X}else if(F6.isPair($)){let X=r7(D,$.key,F),J=r7(D,$.value,F);return Math.max(X,J)}return 1}ow.Alias=LV});var hD=S((FI)=>{var tw=BD(),ew=s7(),DI=G8(),$I=(D)=>!D||typeof D!=="function"&&typeof D!=="object";class i8 extends ew.NodeBase{constructor(D){super(tw.SCALAR);this.value=D}toJSON(D,$){return $?.keep?this.value:DI.toJS(this.value,D,$)}toString(){return String(this.value)}}i8.BLOCK_FOLDED="BLOCK_FOLDED";i8.BLOCK_LITERAL="BLOCK_LITERAL";i8.PLAIN="PLAIN";i8.QUOTE_DOUBLE="QUOTE_DOUBLE";i8.QUOTE_SINGLE="QUOTE_SINGLE";FI.Scalar=i8;FI.isScalarValue=$I});var Z3=S((WI)=>{var GI=P3(),n8=BD(),zV=hD(),YI="tag:yaml.org,2002:";function BI(D,$,F){if($){let X=F.filter((Y)=>Y.tag===$),J=X.find((Y)=>!Y.format)??X[0];if(!J)throw Error(`Tag ${$} not found`);return J}return F.find((X)=>X.identify?.(D)&&!X.format)}function HI(D,$,F){if(n8.isDocument(D))D=D.contents;if(n8.isNode(D))return D;if(n8.isPair(D)){let A=F.schema[n8.MAP].createNode?.(F.schema,null,F);return A.items.push(D),A}if(D instanceof String||D instanceof Number||D instanceof Boolean||typeof BigInt<"u"&&D instanceof BigInt)D=D.valueOf();let{aliasDuplicateObjects:X,onAnchor:J,onTagObj:Y,schema:G,sourceObjects:B}=F,H=void 0;if(X&&D&&typeof D==="object")if(H=B.get(D),H)return H.anchor??(H.anchor=J(D)),new GI.Alias(H.anchor);else H={anchor:null,node:null},B.set(D,H);if($?.startsWith("!!"))$=YI+$.slice(2);let W=BI(D,$,G.tags);if(!W){if(D&&typeof D.toJSON==="function")D=D.toJSON();if(!D||typeof D!=="object"){let A=new zV.Scalar(D);if(H)H.node=A;return A}W=D instanceof Map?G[n8.MAP]:(Symbol.iterator in Object(D))?G[n8.SEQ]:G[n8.MAP]}if(Y)Y(W),delete F.onTagObj;let U=W?.createNode?W.createNode(F.schema,D,F):typeof W?.nodeClass?.from==="function"?W.nodeClass.from(F.schema,D,F):new zV.Scalar(D);if($)U.tag=$;else if(!W.default)U.tag=W.tag;if(H)H.node=U;return U}WI.createNode=HI});var o7=S((VI)=>{var UI=Z3(),M2=BD(),AI=s7();function aF(D,$,F){let X=F;for(let J=$.length-1;J>=0;--J){let Y=$[J];if(typeof Y==="number"&&Number.isInteger(Y)&&Y>=0){let G=[];G[Y]=X,X=G}else X=new Map([[Y,X]])}return UI.createNode(X,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:D,sourceObjects:new Map})}var jV=(D)=>D==null||typeof D==="object"&&!!D[Symbol.iterator]().next().done;class wV extends AI.NodeBase{constructor(D,$){super(D);Object.defineProperty(this,"schema",{value:$,configurable:!0,enumerable:!1,writable:!0})}clone(D){let $=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(D)$.schema=D;if($.items=$.items.map((F)=>M2.isNode(F)||M2.isPair(F)?F.clone(D):F),this.range)$.range=this.range.slice();return $}addIn(D,$){if(jV(D))this.add($);else{let[F,...X]=D,J=this.get(F,!0);if(M2.isCollection(J))J.addIn(X,$);else if(J===void 0&&this.schema)this.set(F,aF(this.schema,X,$));else throw Error(`Expected YAML collection at ${F}. Remaining path: ${X}`)}}deleteIn(D){let[$,...F]=D;if(F.length===0)return this.delete($);let X=this.get($,!0);if(M2.isCollection(X))return X.deleteIn(F);else throw Error(`Expected YAML collection at ${$}. Remaining path: ${F}`)}getIn(D,$){let[F,...X]=D,J=this.get(F,!0);if(X.length===0)return!$&&M2.isScalar(J)?J.value:J;else return M2.isCollection(J)?J.getIn(X,$):void 0}hasAllNullValues(D){return this.items.every(($)=>{if(!M2.isPair($))return!1;let F=$.value;return F==null||D&&M2.isScalar(F)&&F.value==null&&!F.commentBefore&&!F.comment&&!F.tag})}hasIn(D){let[$,...F]=D;if(F.length===0)return this.has($);let X=this.get($,!0);return M2.isCollection(X)?X.hasIn(F):!1}setIn(D,$){let[F,...X]=D;if(X.length===0)this.set(F,$);else{let J=this.get(F,!0);if(M2.isCollection(J))J.setIn(X,$);else if(J===void 0&&this.schema)this.set(F,aF(this.schema,X,$));else throw Error(`Expected YAML collection at ${F}. Remaining path: ${X}`)}}}VI.Collection=wV;VI.collectionFromPath=aF;VI.isEmptyPath=jV});var L3=S((OI)=>{var CI=(D)=>D.replace(/^(?!$)(?: $)?/gm,"#");function tF(D,$){if(/^\n+$/.test(D))return D.substring(1);return $?D.replace(/^(?! *$)/gm,$):D}var RI=(D,$,F)=>D.endsWith(`
|
|
98
|
+
`)?tF(F,$):F.includes(`
|
|
99
|
+
`)?`
|
|
100
|
+
`+tF(F,$):(D.endsWith(" ")?"":" ")+F;OI.indentComment=tF;OI.lineComment=RI;OI.stringifyComment=CI});var TV=S((ZI)=>{function PI(D,$,F="flow",{indentAtStart:X,lineWidth:J=80,minContentWidth:Y=20,onFold:G,onOverflow:B}={}){if(!J||J<0)return D;if(J<Y)Y=0;let H=Math.max(1+Y,1+J-$.length);if(D.length<=H)return D;let W=[],U={},A=J-$.length;if(typeof X==="number")if(X>J-Math.max(2,Y))W.push(0);else A=J-X;let V=void 0,E=void 0,C=!1,K=-1,Q=-1,q=-1;if(F==="block"){if(K=IV(D,K,$.length),K!==-1)A=K+H}for(let Z;Z=D[K+=1];){if(F==="quoted"&&Z==="\\"){switch(Q=K,D[K+1]){case"x":K+=3;break;case"u":K+=5;break;case"U":K+=9;break;default:K+=1}q=K}if(Z===`
|
|
101
|
+
`){if(F==="block")K=IV(D,K,$.length);A=K+$.length+H,V=void 0}else{if(Z===" "&&E&&E!==" "&&E!==`
|
|
102
|
+
`&&E!=="\t"){let j=D[K+1];if(j&&j!==" "&&j!==`
|
|
103
|
+
`&&j!=="\t")V=K}if(K>=A)if(V)W.push(V),A=V+H,V=void 0;else if(F==="quoted"){while(E===" "||E==="\t")E=Z,Z=D[K+=1],C=!0;let j=K>q+1?K-2:Q-1;if(U[j])return D;W.push(j),U[j]=!0,A=j+H,V=void 0}else C=!0}E=Z}if(C&&B)B();if(W.length===0)return D;if(G)G();let N=D.slice(0,W[0]);for(let Z=0;Z<W.length;++Z){let j=W[Z],T=W[Z+1]||D.length;if(j===0)N=`
|
|
104
|
+
${$}${D.slice(0,T)}`;else{if(F==="quoted"&&U[j])N+=`${D[j]}\\`;N+=`
|
|
105
|
+
${$}${D.slice(j+1,T)}`}}return N}function IV(D,$,F){let X=$,J=$+1,Y=D[J];while(Y===" "||Y==="\t")if($<J+F)Y=D[++$];else{do Y=D[++$];while(Y&&Y!==`
|
|
106
|
+
`);X=$,J=$+1,Y=D[J]}return X}ZI.FOLD_BLOCK="block";ZI.FOLD_FLOW="flow";ZI.FOLD_QUOTED="quoted";ZI.foldFlowLines=PI});var j3=S((fI)=>{var G2=hD(),Y8=TV(),t7=(D,$)=>({indentAtStart:$?D.indent.length:D.indentAtStart,lineWidth:D.options.lineWidth,minContentWidth:D.options.minContentWidth}),e7=(D)=>/^(%|---|\.\.\.)/m.test(D);function II(D,$,F){if(!$||$<0)return!1;let X=$-F,J=D.length;if(J<=X)return!1;for(let Y=0,G=0;Y<J;++Y)if(D[Y]===`
|
|
107
|
+
`){if(Y-G>X)return!0;if(G=Y+1,J-G<=X)return!1}return!0}function z3(D,$){let F=JSON.stringify(D);if($.options.doubleQuotedAsJSON)return F;let{implicitKey:X}=$,J=$.options.doubleQuotedMinMultiLineLength,Y=$.indent||(e7(D)?" ":""),G="",B=0;for(let H=0,W=F[H];W;W=F[++H]){if(W===" "&&F[H+1]==="\\"&&F[H+2]==="n")G+=F.slice(B,H)+"\\ ",H+=1,B=H,W="\\";if(W==="\\")switch(F[H+1]){case"u":{G+=F.slice(B,H);let U=F.substr(H+2,4);switch(U){case"0000":G+="\\0";break;case"0007":G+="\\a";break;case"000b":G+="\\v";break;case"001b":G+="\\e";break;case"0085":G+="\\N";break;case"00a0":G+="\\_";break;case"2028":G+="\\L";break;case"2029":G+="\\P";break;default:if(U.substr(0,2)==="00")G+="\\x"+U.substr(2);else G+=F.substr(H,6)}H+=5,B=H+1}break;case"n":if(X||F[H+2]==='"'||F.length<J)H+=1;else{G+=F.slice(B,H)+`
|
|
108
|
+
|
|
109
|
+
`;while(F[H+2]==="\\"&&F[H+3]==="n"&&F[H+4]!=='"')G+=`
|
|
110
|
+
`,H+=2;if(G+=Y,F[H+2]===" ")G+="\\";H+=1,B=H+1}break;default:H+=1}}return G=B?G+F.slice(B):F,X?G:Y8.foldFlowLines(G,Y,Y8.FOLD_QUOTED,t7($,!1))}function eF(D,$){if($.options.singleQuote===!1||$.implicitKey&&D.includes(`
|
|
111
|
+
`)||/[ \t]\n|\n[ \t]/.test(D))return z3(D,$);let F=$.indent||(e7(D)?" ":""),X="'"+D.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
112
|
+
${F}`)+"'";return $.implicitKey?X:Y8.foldFlowLines(X,F,Y8.FOLD_FLOW,t7($,!1))}function X6(D,$){let{singleQuote:F}=$.options,X;if(F===!1)X=z3;else{let J=D.includes('"'),Y=D.includes("'");if(J&&!Y)X=eF;else if(Y&&!J)X=z3;else X=F?eF:z3}return X(D,$)}var DX;try{DX=new RegExp(`(^|(?<!
|
|
113
|
+
))
|
|
114
|
+
+(?!
|
|
115
|
+
|$)`,"g")}catch{DX=/\n+(?!\n|$)/g}function a7({comment:D,type:$,value:F},X,J,Y){let{blockQuote:G,commentString:B,lineWidth:H}=X.options;if(!G||/\n[\t ]+$/.test(F))return X6(F,X);let W=X.indent||(X.forceBlockIndent||e7(F)?" ":""),U=G==="literal"?!0:G==="folded"||$===G2.Scalar.BLOCK_FOLDED?!1:$===G2.Scalar.BLOCK_LITERAL?!0:!II(F,H,W.length);if(!F)return U?`|
|
|
116
|
+
`:`>
|
|
117
|
+
`;let A,V;for(V=F.length;V>0;--V){let T=F[V-1];if(T!==`
|
|
118
|
+
`&&T!=="\t"&&T!==" ")break}let E=F.substring(V),C=E.indexOf(`
|
|
119
|
+
`);if(C===-1)A="-";else if(F===E||C!==E.length-1){if(A="+",Y)Y()}else A="";if(E){if(F=F.slice(0,-E.length),E[E.length-1]===`
|
|
120
|
+
`)E=E.slice(0,-1);E=E.replace(DX,`$&${W}`)}let K=!1,Q,q=-1;for(Q=0;Q<F.length;++Q){let T=F[Q];if(T===" ")K=!0;else if(T===`
|
|
121
|
+
`)q=Q;else break}let N=F.substring(0,q<Q?q+1:Q);if(N)F=F.substring(N.length),N=N.replace(/\n+/g,`$&${W}`);let j=(K?W?"2":"1":"")+A;if(D){if(j+=" "+B(D.replace(/ ?[\r\n]+/g," ")),J)J()}if(!U){let T=F.replace(/\n+/g,`
|
|
122
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),L=!1,v=t7(X,!0);if(G!=="folded"&&$!==G2.Scalar.BLOCK_FOLDED)v.onOverflow=()=>{L=!0};let w=Y8.foldFlowLines(`${N}${T}${E}`,W,Y8.FOLD_BLOCK,v);if(!L)return`>${j}
|
|
123
|
+
${W}${w}`}return F=F.replace(/\n+/g,`$&${W}`),`|${j}
|
|
124
|
+
${W}${N}${F}${E}`}function TI(D,$,F,X){let{type:J,value:Y}=D,{actualString:G,implicitKey:B,indent:H,indentStep:W,inFlow:U}=$;if(B&&Y.includes(`
|
|
125
|
+
`)||U&&/[[\]{},]/.test(Y))return X6(Y,$);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Y))return B||U||!Y.includes(`
|
|
126
|
+
`)?X6(Y,$):a7(D,$,F,X);if(!B&&!U&&J!==G2.Scalar.PLAIN&&Y.includes(`
|
|
127
|
+
`))return a7(D,$,F,X);if(e7(Y)){if(H==="")return $.forceBlockIndent=!0,a7(D,$,F,X);else if(B&&H===W)return X6(Y,$)}let A=Y.replace(/\n+/g,`$&
|
|
128
|
+
${H}`);if(G){let V=(K)=>K.default&&K.tag!=="tag:yaml.org,2002:str"&&K.test?.test(A),{compat:E,tags:C}=$.doc.schema;if(C.some(V)||E?.some(V))return X6(Y,$)}return B?A:Y8.foldFlowLines(A,H,Y8.FOLD_FLOW,t7($,!1))}function SI(D,$,F,X){let{implicitKey:J,inFlow:Y}=$,G=typeof D.value==="string"?D:Object.assign({},D,{value:String(D.value)}),{type:B}=D;if(B!==G2.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(G.value))B=G2.Scalar.QUOTE_DOUBLE}let H=(U)=>{switch(U){case G2.Scalar.BLOCK_FOLDED:case G2.Scalar.BLOCK_LITERAL:return J||Y?X6(G.value,$):a7(G,$,F,X);case G2.Scalar.QUOTE_DOUBLE:return z3(G.value,$);case G2.Scalar.QUOTE_SINGLE:return eF(G.value,$);case G2.Scalar.PLAIN:return TI(G,$,F,X);default:return null}},W=H(B);if(W===null){let{defaultKeyType:U,defaultStringType:A}=$.options,V=J&&U||A;if(W=H(V),W===null)throw Error(`Unsupported default string type ${V}`)}return W}fI.stringifyString=SI});var w3=S((mI)=>{var kI=n7(),B8=BD(),vI=L3(),gI=j3();function hI(D,$){let F=Object.assign({blockQuote:!0,commentString:vI.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},D.schema.toStringOptions,$),X;switch(F.collectionStyle){case"block":X=!1;break;case"flow":X=!0;break;default:X=null}return{anchors:new Set,doc:D,flowCollectionPadding:F.flowCollectionPadding?" ":"",indent:"",indentStep:typeof F.indent==="number"?" ".repeat(F.indent):" ",inFlow:X,options:F}}function xI(D,$){if($.tag){let J=D.filter((Y)=>Y.tag===$.tag);if(J.length>0)return J.find((Y)=>Y.format===$.format)??J[0]}let F=void 0,X;if(B8.isScalar($)){X=$.value;let J=D.filter((Y)=>Y.identify?.(X));if(J.length>1){let Y=J.filter((G)=>G.test);if(Y.length>0)J=Y}F=J.find((Y)=>Y.format===$.format)??J.find((Y)=>!Y.format)}else X=$,F=D.find((J)=>J.nodeClass&&X instanceof J.nodeClass);if(!F){let J=X?.constructor?.name??(X===null?"null":typeof X);throw Error(`Tag not resolved for ${J} value`)}return F}function yI(D,$,{anchors:F,doc:X}){if(!X.directives)return"";let J=[],Y=(B8.isScalar(D)||B8.isCollection(D))&&D.anchor;if(Y&&kI.anchorIsValid(Y))F.add(Y),J.push(`&${Y}`);let G=D.tag??($.default?null:$.tag);if(G)J.push(X.directives.tagString(G));return J.join(" ")}function uI(D,$,F,X){if(B8.isPair(D))return D.toString($,F,X);if(B8.isAlias(D)){if($.doc.directives)return D.toString($);if($.resolvedAliases?.has(D))throw TypeError("Cannot stringify circular structure without alias nodes");else{if($.resolvedAliases)$.resolvedAliases.add(D);else $.resolvedAliases=new Set([D]);D=D.resolve($.doc)}}let J=void 0,Y=B8.isNode(D)?D:$.doc.createNode(D,{onTagObj:(H)=>J=H});J??(J=xI($.doc.schema.tags,Y));let G=yI(Y,J,$);if(G.length>0)$.indentAtStart=($.indentAtStart??0)+G.length+1;let B=typeof J.stringify==="function"?J.stringify(Y,$,F,X):B8.isScalar(Y)?gI.stringifyString(Y,$,F,X):Y.toString($,F,X);if(!G)return B;return B8.isScalar(Y)||B[0]==="{"||B[0]==="["?`${G} ${B}`:`${G}
|
|
129
|
+
${$.indent}${B}`}mI.createStringifyContext=hI;mI.stringify=uI});var bV=S((lI)=>{var g2=BD(),SV=hD(),fV=w3(),I3=L3();function dI({key:D,value:$},F,X,J){let{allNullValues:Y,doc:G,indent:B,indentStep:H,options:{commentString:W,indentSeq:U,simpleKeys:A}}=F,V=g2.isNode(D)&&D.comment||null;if(A){if(V)throw Error("With simple keys, key nodes cannot have comments");if(g2.isCollection(D)||!g2.isNode(D)&&typeof D==="object")throw Error("With simple keys, collection cannot be used as a key value")}let E=!A&&(!D||V&&$==null&&!F.inFlow||g2.isCollection(D)||(g2.isScalar(D)?D.type===SV.Scalar.BLOCK_FOLDED||D.type===SV.Scalar.BLOCK_LITERAL:typeof D==="object"));F=Object.assign({},F,{allNullValues:!1,implicitKey:!E&&(A||!Y),indent:B+H});let C=!1,K=!1,Q=fV.stringify(D,F,()=>C=!0,()=>K=!0);if(!E&&!F.inFlow&&Q.length>1024){if(A)throw Error("With simple keys, single line scalar must not span more than 1024 characters");E=!0}if(F.inFlow){if(Y||$==null){if(C&&X)X();return Q===""?"?":E?`? ${Q}`:Q}}else if(Y&&!A||$==null&&E){if(Q=`? ${Q}`,V&&!C)Q+=I3.lineComment(Q,F.indent,W(V));else if(K&&J)J();return Q}if(C)V=null;if(E){if(V)Q+=I3.lineComment(Q,F.indent,W(V));Q=`? ${Q}
|
|
130
|
+
${B}:`}else if(Q=`${Q}:`,V)Q+=I3.lineComment(Q,F.indent,W(V));let q,N,Z;if(g2.isNode($))q=!!$.spaceBefore,N=$.commentBefore,Z=$.comment;else if(q=!1,N=null,Z=null,$&&typeof $==="object")$=G.createNode($);if(F.implicitKey=!1,!E&&!V&&g2.isScalar($))F.indentAtStart=Q.length+1;if(K=!1,!U&&H.length>=2&&!F.inFlow&&!E&&g2.isSeq($)&&!$.flow&&!$.tag&&!$.anchor)F.indent=F.indent.substring(2);let j=!1,T=fV.stringify($,F,()=>j=!0,()=>K=!0),L=" ";if(V||q||N){if(L=q?`
|
|
131
|
+
`:"",N){let v=W(N);L+=`
|
|
132
|
+
${I3.indentComment(v,F.indent)}`}if(T===""&&!F.inFlow){if(L===`
|
|
133
|
+
`&&Z)L=`
|
|
134
|
+
|
|
135
|
+
`}else L+=`
|
|
136
|
+
${F.indent}`}else if(!E&&g2.isCollection($)){let v=T[0],w=T.indexOf(`
|
|
137
|
+
`),r=w!==-1,HD=F.inFlow??$.flow??$.items.length===0;if(r||!HD){let GD=!1;if(r&&(v==="&"||v==="!")){let o=T.indexOf(" ");if(v==="&"&&o!==-1&&o<w&&T[o+1]==="!")o=T.indexOf(" ",o+1);if(o===-1||w<o)GD=!0}if(!GD)L=`
|
|
138
|
+
${F.indent}`}}else if(T===""||T[0]===`
|
|
139
|
+
`)L="";if(Q+=L+T,F.inFlow){if(j&&X)X()}else if(Z&&!j)Q+=I3.lineComment(Q,F.indent,W(Z));else if(K&&J)J();return Q}lI.stringifyPair=dI});var $X=S((rI)=>{var kV=x2("process");function nI(D,...$){if(D==="debug")console.log(...$)}function sI(D,$){if(D==="debug"||D==="warn")if(typeof kV.emitWarning==="function")kV.emitWarning($);else console.warn($)}rI.debug=nI;rI.warn=sI});var F4=S((eI)=>{var T3=BD(),vV=hD(),D4="<<",$4={identify:(D)=>D===D4||typeof D==="symbol"&&D.description===D4,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new vV.Scalar(Symbol(D4)),{addToJSMap:gV}),stringify:()=>D4},tI=(D,$)=>($4.identify($)||T3.isScalar($)&&(!$.type||$.type===vV.Scalar.PLAIN)&&$4.identify($.value))&&D?.doc.schema.tags.some((F)=>F.tag===$4.tag&&F.default);function gV(D,$,F){if(F=D&&T3.isAlias(F)?F.resolve(D.doc):F,T3.isSeq(F))for(let X of F.items)FX(D,$,X);else if(Array.isArray(F))for(let X of F)FX(D,$,X);else FX(D,$,F)}function FX(D,$,F){let X=D&&T3.isAlias(F)?F.resolve(D.doc):F;if(!T3.isMap(X))throw Error("Merge sources must be maps or map aliases");let J=X.toJSON(null,D,Map);for(let[Y,G]of J)if($ instanceof Map){if(!$.has(Y))$.set(Y,G)}else if($ instanceof Set)$.add(Y);else if(!Object.prototype.hasOwnProperty.call($,Y))Object.defineProperty($,Y,{value:G,writable:!0,enumerable:!0,configurable:!0});return $}eI.addMergeToJSMap=gV;eI.isMergeKey=tI;eI.merge=$4});var JX=S((BT)=>{var XT=$X(),hV=F4(),JT=w3(),xV=BD(),XX=G8();function GT(D,$,{key:F,value:X}){if(xV.isNode(F)&&F.addToJSMap)F.addToJSMap(D,$,X);else if(hV.isMergeKey(D,F))hV.addMergeToJSMap(D,$,X);else{let J=XX.toJS(F,"",D);if($ instanceof Map)$.set(J,XX.toJS(X,J,D));else if($ instanceof Set)$.add(J);else{let Y=YT(F,J,D),G=XX.toJS(X,Y,D);if(Y in $)Object.defineProperty($,Y,{value:G,writable:!0,enumerable:!0,configurable:!0});else $[Y]=G}}return $}function YT(D,$,F){if($===null)return"";if(typeof $!=="object")return String($);if(xV.isNode(D)&&F?.doc){let X=JT.createStringifyContext(F.doc,{});X.anchors=new Set;for(let Y of F.anchors.keys())X.anchors.add(Y.anchor);X.inFlow=!0,X.inStringifyKey=!0;let J=D.toString(X);if(!F.mapKeyWarned){let Y=JSON.stringify(J);if(Y.length>40)Y=Y.substring(0,36)+'..."';XT.warn(F.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${Y}. Set mapAsMap: true to use object keys.`),F.mapKeyWarned=!0}return J}return JSON.stringify($)}BT.addPairToJSMap=GT});var H8=S((AT)=>{var yV=Z3(),WT=bV(),_T=JX(),X4=BD();function UT(D,$,F){let X=yV.createNode(D,void 0,F),J=yV.createNode($,void 0,F);return new J4(X,J)}class J4{constructor(D,$=null){Object.defineProperty(this,X4.NODE_TYPE,{value:X4.PAIR}),this.key=D,this.value=$}clone(D){let{key:$,value:F}=this;if(X4.isNode($))$=$.clone(D);if(X4.isNode(F))F=F.clone(D);return new J4($,F)}toJSON(D,$){let F=$?.mapAsMap?new Map:{};return _T.addPairToJSMap($,F,this)}toString(D,$,F){return D?.doc?WT.stringifyPair(this,D,$,F):JSON.stringify(this)}}AT.Pair=J4;AT.createPair=UT});var GX=S((RT)=>{var s8=BD(),uV=w3(),G4=L3();function ET(D,$,F){return($.inFlow??D.flow?CT:KT)(D,$,F)}function KT({comment:D,items:$},F,{blockItemPrefix:X,flowChars:J,itemIndent:Y,onChompKeep:G,onComment:B}){let{indent:H,options:{commentString:W}}=F,U=Object.assign({},F,{indent:Y,type:null}),A=!1,V=[];for(let C=0;C<$.length;++C){let K=$[C],Q=null;if(s8.isNode(K)){if(!A&&K.spaceBefore)V.push("");if(Y4(F,V,K.commentBefore,A),K.comment)Q=K.comment}else if(s8.isPair(K)){let N=s8.isNode(K.key)?K.key:null;if(N){if(!A&&N.spaceBefore)V.push("");Y4(F,V,N.commentBefore,A)}}A=!1;let q=uV.stringify(K,U,()=>Q=null,()=>A=!0);if(Q)q+=G4.lineComment(q,Y,W(Q));if(A&&Q)A=!1;V.push(X+q)}let E;if(V.length===0)E=J.start+J.end;else{E=V[0];for(let C=1;C<V.length;++C){let K=V[C];E+=K?`
|
|
140
|
+
${H}${K}`:`
|
|
141
|
+
`}}if(D){if(E+=`
|
|
142
|
+
`+G4.indentComment(W(D),H),B)B()}else if(A&&G)G();return E}function CT({items:D},$,{flowChars:F,itemIndent:X}){let{indent:J,indentStep:Y,flowCollectionPadding:G,options:{commentString:B}}=$;X+=Y;let H=Object.assign({},$,{indent:X,inFlow:!0,type:null}),W=!1,U=0,A=[];for(let C=0;C<D.length;++C){let K=D[C],Q=null;if(s8.isNode(K)){if(K.spaceBefore)A.push("");if(Y4($,A,K.commentBefore,!1),K.comment)Q=K.comment}else if(s8.isPair(K)){let N=s8.isNode(K.key)?K.key:null;if(N){if(N.spaceBefore)A.push("");if(Y4($,A,N.commentBefore,!1),N.comment)W=!0}let Z=s8.isNode(K.value)?K.value:null;if(Z){if(Z.comment)Q=Z.comment;if(Z.commentBefore)W=!0}else if(K.value==null&&N?.comment)Q=N.comment}if(Q)W=!0;let q=uV.stringify(K,H,()=>Q=null);if(W||(W=A.length>U||q.includes(`
|
|
143
|
+
`)),C<D.length-1)q+=",";else if($.options.trailingComma){if($.options.lineWidth>0)W||(W=A.reduce((N,Z)=>N+Z.length+2,2)+(q.length+2)>$.options.lineWidth);if(W)q+=","}if(Q)q+=G4.lineComment(q,X,B(Q));A.push(q),U=A.length}let{start:V,end:E}=F;if(A.length===0)return V+E;else{if(!W){let C=A.reduce((K,Q)=>K+Q.length+2,2);W=$.options.lineWidth>0&&C>$.options.lineWidth}if(W){let C=V;for(let K of A)C+=K?`
|
|
144
|
+
${Y}${J}${K}`:`
|
|
145
|
+
`;return`${C}
|
|
146
|
+
${J}${E}`}else return`${V}${G}${A.join(" ")}${G}${E}`}}function Y4({indent:D,options:{commentString:$}},F,X,J){if(X&&J)X=X.replace(/^\n+/,"");if(X){let Y=G4.indentComment($(X),D);F.push(Y.trimStart())}}RT.stringifyCollection=ET});var _8=S((ZT)=>{var MT=GX(),qT=JX(),NT=o7(),W8=BD(),B4=H8(),PT=hD();function S3(D,$){let F=W8.isScalar($)?$.value:$;for(let X of D)if(W8.isPair(X)){if(X.key===$||X.key===F)return X;if(W8.isScalar(X.key)&&X.key.value===F)return X}return}class mV extends NT.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(D){super(W8.MAP,D);this.items=[]}static from(D,$,F){let{keepUndefined:X,replacer:J}=F,Y=new this(D),G=(B,H)=>{if(typeof J==="function")H=J.call($,B,H);else if(Array.isArray(J)&&!J.includes(B))return;if(H!==void 0||X)Y.items.push(B4.createPair(B,H,F))};if($ instanceof Map)for(let[B,H]of $)G(B,H);else if($&&typeof $==="object")for(let B of Object.keys($))G(B,$[B]);if(typeof D.sortMapEntries==="function")Y.items.sort(D.sortMapEntries);return Y}add(D,$){let F;if(W8.isPair(D))F=D;else if(!D||typeof D!=="object"||!("key"in D))F=new B4.Pair(D,D?.value);else F=new B4.Pair(D.key,D.value);let X=S3(this.items,F.key),J=this.schema?.sortMapEntries;if(X){if(!$)throw Error(`Key ${F.key} already set`);if(W8.isScalar(X.value)&&PT.isScalarValue(F.value))X.value.value=F.value;else X.value=F.value}else if(J){let Y=this.items.findIndex((G)=>J(F,G)<0);if(Y===-1)this.items.push(F);else this.items.splice(Y,0,F)}else this.items.push(F)}delete(D){let $=S3(this.items,D);if(!$)return!1;return this.items.splice(this.items.indexOf($),1).length>0}get(D,$){let X=S3(this.items,D)?.value;return(!$&&W8.isScalar(X)?X.value:X)??void 0}has(D){return!!S3(this.items,D)}set(D,$){this.add(new B4.Pair(D,$),!0)}toJSON(D,$,F){let X=F?new F:$?.mapAsMap?new Map:{};if($?.onCreate)$.onCreate(X);for(let J of this.items)qT.addPairToJSMap($,X,J);return X}toString(D,$,F){if(!D)return JSON.stringify(this);for(let X of this.items)if(!W8.isPair(X))throw Error(`Map items must all be pairs; found ${JSON.stringify(X)} instead`);if(!D.allNullValues&&this.hasAllNullValues(!1))D=Object.assign({},D,{allNullValues:!0});return MT.stringifyCollection(this,D,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:D.indent||"",onChompKeep:F,onComment:$})}}ZT.YAMLMap=mV;ZT.findPair=S3});var J6=S((IT)=>{var jT=BD(),pV=_8(),wT={collection:"map",default:!0,nodeClass:pV.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(D,$){if(!jT.isMap(D))$("Expected a mapping for this tag");return D},createNode:(D,$,F)=>pV.YAMLMap.from(D,$,F)};IT.map=wT});var U8=S((gT)=>{var ST=Z3(),fT=GX(),bT=o7(),W4=BD(),kT=hD(),vT=G8();class cV extends bT.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(D){super(W4.SEQ,D);this.items=[]}add(D){this.items.push(D)}delete(D){let $=H4(D);if(typeof $!=="number")return!1;return this.items.splice($,1).length>0}get(D,$){let F=H4(D);if(typeof F!=="number")return;let X=this.items[F];return!$&&W4.isScalar(X)?X.value:X}has(D){let $=H4(D);return typeof $==="number"&&$<this.items.length}set(D,$){let F=H4(D);if(typeof F!=="number")throw Error(`Expected a valid index, not ${D}.`);let X=this.items[F];if(W4.isScalar(X)&&kT.isScalarValue($))X.value=$;else this.items[F]=$}toJSON(D,$){let F=[];if($?.onCreate)$.onCreate(F);let X=0;for(let J of this.items)F.push(vT.toJS(J,String(X++),$));return F}toString(D,$,F){if(!D)return JSON.stringify(this);return fT.stringifyCollection(this,D,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(D.indent||"")+" ",onChompKeep:F,onComment:$})}static from(D,$,F){let{replacer:X}=F,J=new this(D);if($&&Symbol.iterator in Object($)){let Y=0;for(let G of $){if(typeof X==="function"){let B=$ instanceof Set?G:String(Y++);G=X.call($,B,G)}J.items.push(ST.createNode(G,void 0,F))}}return J}}function H4(D){let $=W4.isScalar(D)?D.value:D;if($&&typeof $==="string")$=Number($);return typeof $==="number"&&Number.isInteger($)&&$>=0?$:null}gT.YAMLSeq=cV});var G6=S((uT)=>{var xT=BD(),dV=U8(),yT={collection:"seq",default:!0,nodeClass:dV.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(D,$){if(!xT.isSeq(D))$("Expected a sequence for this tag");return D},createNode:(D,$,F)=>dV.YAMLSeq.from(D,$,F)};uT.seq=yT});var f3=S((dT)=>{var pT=j3(),cT={identify:(D)=>typeof D==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(D)=>D,stringify(D,$,F,X){return $=Object.assign({actualString:!0},$),pT.stringifyString(D,$,F,X)}};dT.string=cT});var _4=S((iT)=>{var lV=hD(),iV={identify:(D)=>D==null,createNode:()=>new lV.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new lV.Scalar(null),stringify:({source:D},$)=>typeof D==="string"&&iV.test.test(D)?D:$.options.nullStr};iT.nullTag=iV});var YX=S((rT)=>{var sT=hD(),nV={identify:(D)=>typeof D==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(D)=>new sT.Scalar(D[0]==="t"||D[0]==="T"),stringify({source:D,value:$},F){if(D&&nV.test.test(D)){let X=D[0]==="t"||D[0]==="T";if($===X)return D}return $?F.options.trueStr:F.options.falseStr}};rT.boolTag=nV});var Y6=S((tT)=>{function aT({format:D,minFractionDigits:$,tag:F,value:X}){if(typeof X==="bigint")return String(X);let J=typeof X==="number"?X:Number(X);if(!isFinite(J))return isNaN(J)?".nan":J<0?"-.inf":".inf";let Y=Object.is(X,-0)?"-0":JSON.stringify(X);if(!D&&$&&(!F||F==="tag:yaml.org,2002:float")&&/^\d/.test(Y)){let G=Y.indexOf(".");if(G<0)G=Y.length,Y+=".";let B=$-(Y.length-G-1);while(B-- >0)Y+="0"}return Y}tT.stringifyNumber=aT});var HX=S((JS)=>{var DS=hD(),BX=Y6(),$S={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(D)=>D.slice(-3).toLowerCase()==="nan"?NaN:D[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:BX.stringifyNumber},FS={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(D)=>parseFloat(D),stringify(D){let $=Number(D.value);return isFinite($)?$.toExponential():BX.stringifyNumber(D)}},XS={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(D){let $=new DS.Scalar(parseFloat(D)),F=D.indexOf(".");if(F!==-1&&D[D.length-1]==="0")$.minFractionDigits=D.length-F-1;return $},stringify:BX.stringifyNumber};JS.float=XS;JS.floatExp=FS;JS.floatNaN=$S});var _X=S((US)=>{var sV=Y6(),U4=(D)=>typeof D==="bigint"||Number.isInteger(D),WX=(D,$,F,{intAsBigInt:X})=>X?BigInt(D):parseInt(D.substring($),F);function rV(D,$,F){let{value:X}=D;if(U4(X)&&X>=0)return F+X.toString($);return sV.stringifyNumber(D)}var HS={identify:(D)=>U4(D)&&D>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(D,$,F)=>WX(D,2,8,F),stringify:(D)=>rV(D,8,"0o")},WS={identify:U4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(D,$,F)=>WX(D,0,10,F),stringify:sV.stringifyNumber},_S={identify:(D)=>U4(D)&&D>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(D,$,F)=>WX(D,2,16,F),stringify:(D)=>rV(D,16,"0x")};US.int=WS;US.intHex=_S;US.intOct=HS});var oV=S((qS)=>{var ES=J6(),KS=_4(),CS=G6(),RS=f3(),OS=YX(),UX=HX(),AX=_X(),MS=[ES.map,CS.seq,RS.string,KS.nullTag,OS.boolTag,AX.intOct,AX.int,AX.intHex,UX.floatNaN,UX.floatExp,UX.float];qS.schema=MS});var tV=S((IS)=>{var PS=hD(),ZS=J6(),LS=G6();function aV(D){return typeof D==="bigint"||Number.isInteger(D)}var A4=({value:D})=>JSON.stringify(D),zS=[{identify:(D)=>typeof D==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(D)=>D,stringify:A4},{identify:(D)=>D==null,createNode:()=>new PS.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:A4},{identify:(D)=>typeof D==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(D)=>D==="true",stringify:A4},{identify:aV,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(D,$,{intAsBigInt:F})=>F?BigInt(D):parseInt(D,10),stringify:({value:D})=>aV(D)?D.toString():JSON.stringify(D)},{identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(D)=>parseFloat(D),stringify:A4}],jS={default:!0,tag:"",test:/^/,resolve(D,$){return $(`Unresolved plain scalar ${JSON.stringify(D)}`),D}},wS=[ZS.map,LS.seq].concat(zS,jS);IS.schema=wS});var QX=S((bS)=>{var b3=x2("buffer"),VX=hD(),SS=j3(),fS={identify:(D)=>D instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(D,$){if(typeof b3.Buffer==="function")return b3.Buffer.from(D,"base64");else if(typeof atob==="function"){let F=atob(D.replace(/[\n\r]/g,"")),X=new Uint8Array(F.length);for(let J=0;J<F.length;++J)X[J]=F.charCodeAt(J);return X}else return $("This environment does not support reading binary tags; either Buffer or atob is required"),D},stringify({comment:D,type:$,value:F},X,J,Y){if(!F)return"";let G=F,B;if(typeof b3.Buffer==="function")B=G instanceof b3.Buffer?G.toString("base64"):b3.Buffer.from(G.buffer).toString("base64");else if(typeof btoa==="function"){let H="";for(let W=0;W<G.length;++W)H+=String.fromCharCode(G[W]);B=btoa(H)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if($??($=VX.Scalar.BLOCK_LITERAL),$!==VX.Scalar.QUOTE_DOUBLE){let H=Math.max(X.options.lineWidth-X.indent.length,X.options.minContentWidth),W=Math.ceil(B.length/H),U=Array(W);for(let A=0,V=0;A<W;++A,V+=H)U[A]=B.substr(V,H);B=U.join($===VX.Scalar.BLOCK_LITERAL?`
|
|
147
|
+
`:" ")}return SS.stringifyString({comment:D,type:$,value:B},X,J,Y)}};bS.binary=fS});var Q4=S((xS)=>{var V4=BD(),EX=H8(),vS=hD(),gS=U8();function eV(D,$){if(V4.isSeq(D))for(let F=0;F<D.items.length;++F){let X=D.items[F];if(V4.isPair(X))continue;else if(V4.isMap(X)){if(X.items.length>1)$("Each pair must have its own sequence indicator");let J=X.items[0]||new EX.Pair(new vS.Scalar(null));if(X.commentBefore)J.key.commentBefore=J.key.commentBefore?`${X.commentBefore}
|
|
148
|
+
${J.key.commentBefore}`:X.commentBefore;if(X.comment){let Y=J.value??J.key;Y.comment=Y.comment?`${X.comment}
|
|
149
|
+
${Y.comment}`:X.comment}X=J}D.items[F]=V4.isPair(X)?X:new EX.Pair(X)}else $("Expected a sequence for this tag");return D}function DQ(D,$,F){let{replacer:X}=F,J=new gS.YAMLSeq(D);J.tag="tag:yaml.org,2002:pairs";let Y=0;if($&&Symbol.iterator in Object($))for(let G of $){if(typeof X==="function")G=X.call($,String(Y++),G);let B,H;if(Array.isArray(G))if(G.length===2)B=G[0],H=G[1];else throw TypeError(`Expected [key, value] tuple: ${G}`);else if(G&&G instanceof Object){let W=Object.keys(G);if(W.length===1)B=W[0],H=G[B];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else B=G;J.items.push(EX.createPair(B,H,F))}return J}var hS={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:eV,createNode:DQ};xS.createPairs=DQ;xS.pairs=hS;xS.resolvePairs=eV});var CX=S((dS)=>{var $Q=BD(),KX=G8(),k3=_8(),pS=U8(),FQ=Q4();class r8 extends pS.YAMLSeq{constructor(){super();this.add=k3.YAMLMap.prototype.add.bind(this),this.delete=k3.YAMLMap.prototype.delete.bind(this),this.get=k3.YAMLMap.prototype.get.bind(this),this.has=k3.YAMLMap.prototype.has.bind(this),this.set=k3.YAMLMap.prototype.set.bind(this),this.tag=r8.tag}toJSON(D,$){if(!$)return super.toJSON(D);let F=new Map;if($?.onCreate)$.onCreate(F);for(let X of this.items){let J,Y;if($Q.isPair(X))J=KX.toJS(X.key,"",$),Y=KX.toJS(X.value,J,$);else J=KX.toJS(X,"",$);if(F.has(J))throw Error("Ordered maps must not include duplicate keys");F.set(J,Y)}return F}static from(D,$,F){let X=FQ.createPairs(D,$,F),J=new this;return J.items=X.items,J}}r8.tag="tag:yaml.org,2002:omap";var cS={collection:"seq",identify:(D)=>D instanceof Map,nodeClass:r8,default:!1,tag:"tag:yaml.org,2002:omap",resolve(D,$){let F=FQ.resolvePairs(D,$),X=[];for(let{key:J}of F.items)if($Q.isScalar(J))if(X.includes(J.value))$(`Ordered maps must not include duplicate keys: ${J.value}`);else X.push(J.value);return Object.assign(new r8,F)},createNode:(D,$,F)=>r8.from(D,$,F)};dS.YAMLOMap=r8;dS.omap=cS});var BQ=S((nS)=>{var XQ=hD();function JQ({value:D,source:$},F){if($&&(D?GQ:YQ).test.test($))return $;return D?F.options.trueStr:F.options.falseStr}var GQ={identify:(D)=>D===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new XQ.Scalar(!0),stringify:JQ},YQ={identify:(D)=>D===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new XQ.Scalar(!1),stringify:JQ};nS.falseTag=YQ;nS.trueTag=GQ});var HQ=S((Df)=>{var oS=hD(),RX=Y6(),aS={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(D)=>D.slice(-3).toLowerCase()==="nan"?NaN:D[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:RX.stringifyNumber},tS={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(D)=>parseFloat(D.replace(/_/g,"")),stringify(D){let $=Number(D.value);return isFinite($)?$.toExponential():RX.stringifyNumber(D)}},eS={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(D){let $=new oS.Scalar(parseFloat(D.replace(/_/g,""))),F=D.indexOf(".");if(F!==-1){let X=D.substring(F+1).replace(/_/g,"");if(X[X.length-1]==="0")$.minFractionDigits=X.length}return $},stringify:RX.stringifyNumber};Df.float=eS;Df.floatExp=tS;Df.floatNaN=aS});var _Q=S((Hf)=>{var WQ=Y6(),v3=(D)=>typeof D==="bigint"||Number.isInteger(D);function E4(D,$,F,{intAsBigInt:X}){let J=D[0];if(J==="-"||J==="+")$+=1;if(D=D.substring($).replace(/_/g,""),X){switch(F){case 2:D=`0b${D}`;break;case 8:D=`0o${D}`;break;case 16:D=`0x${D}`;break}let G=BigInt(D);return J==="-"?BigInt(-1)*G:G}let Y=parseInt(D,F);return J==="-"?-1*Y:Y}function OX(D,$,F){let{value:X}=D;if(v3(X)){let J=X.toString($);return X<0?"-"+F+J.substr(1):F+J}return WQ.stringifyNumber(D)}var Jf={identify:v3,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(D,$,F)=>E4(D,2,2,F),stringify:(D)=>OX(D,2,"0b")},Gf={identify:v3,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(D,$,F)=>E4(D,1,8,F),stringify:(D)=>OX(D,8,"0")},Yf={identify:v3,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(D,$,F)=>E4(D,0,10,F),stringify:WQ.stringifyNumber},Bf={identify:v3,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(D,$,F)=>E4(D,2,16,F),stringify:(D)=>OX(D,16,"0x")};Hf.int=Yf;Hf.intBin=Jf;Hf.intHex=Bf;Hf.intOct=Gf});var MX=S((Qf)=>{var R4=BD(),K4=H8(),C4=_8();class o8 extends C4.YAMLMap{constructor(D){super(D);this.tag=o8.tag}add(D){let $;if(R4.isPair(D))$=D;else if(D&&typeof D==="object"&&"key"in D&&"value"in D&&D.value===null)$=new K4.Pair(D.key,null);else $=new K4.Pair(D,null);if(!C4.findPair(this.items,$.key))this.items.push($)}get(D,$){let F=C4.findPair(this.items,D);return!$&&R4.isPair(F)?R4.isScalar(F.key)?F.key.value:F.key:F}set(D,$){if(typeof $!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof $}`);let F=C4.findPair(this.items,D);if(F&&!$)this.items.splice(this.items.indexOf(F),1);else if(!F&&$)this.items.push(new K4.Pair(D))}toJSON(D,$){return super.toJSON(D,$,Set)}toString(D,$,F){if(!D)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},D,{allNullValues:!0}),$,F);else throw Error("Set items must all have null values")}static from(D,$,F){let{replacer:X}=F,J=new this(D);if($&&Symbol.iterator in Object($))for(let Y of $){if(typeof X==="function")Y=X.call($,Y,Y);J.items.push(K4.createPair(Y,null,F))}return J}}o8.tag="tag:yaml.org,2002:set";var Vf={collection:"map",identify:(D)=>D instanceof Set,nodeClass:o8,default:!1,tag:"tag:yaml.org,2002:set",createNode:(D,$,F)=>o8.from(D,$,F),resolve(D,$){if(R4.isMap(D))if(D.hasAllNullValues(!0))return Object.assign(new o8,D);else $("Set items must all have null values");else $("Expected a mapping for this tag");return D}};Qf.YAMLSet=o8;Qf.set=Vf});var NX=S((Mf)=>{var Cf=Y6();function qX(D,$){let F=D[0],X=F==="-"||F==="+"?D.substring(1):D,J=(G)=>$?BigInt(G):Number(G),Y=X.replace(/_/g,"").split(":").reduce((G,B)=>G*J(60)+J(B),J(0));return F==="-"?J(-1)*Y:Y}function UQ(D){let{value:$}=D,F=(G)=>G;if(typeof $==="bigint")F=(G)=>BigInt(G);else if(isNaN($)||!isFinite($))return Cf.stringifyNumber(D);let X="";if($<0)X="-",$*=F(-1);let J=F(60),Y=[$%J];if($<60)Y.unshift(0);else if($=($-Y[0])/J,Y.unshift($%J),$>=60)$=($-Y[0])/J,Y.unshift($);return X+Y.map((G)=>String(G).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Rf={identify:(D)=>typeof D==="bigint"||Number.isInteger(D),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(D,$,{intAsBigInt:F})=>qX(D,F),stringify:UQ},Of={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(D)=>qX(D,!1),stringify:UQ},AQ={identify:(D)=>D 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(D){let $=D.match(AQ.test);if(!$)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,F,X,J,Y,G,B]=$.map(Number),H=$[7]?Number(($[7]+"00").substr(1,3)):0,W=Date.UTC(F,X-1,J,Y||0,G||0,B||0,H),U=$[8];if(U&&U!=="Z"){let A=qX(U,!1);if(Math.abs(A)<30)A*=60;W-=60000*A}return new Date(W)},stringify:({value:D})=>D?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Mf.floatTime=Of;Mf.intTime=Rf;Mf.timestamp=AQ});var QQ=S((kf)=>{var Zf=J6(),Lf=_4(),zf=G6(),jf=f3(),wf=QX(),VQ=BQ(),PX=HQ(),O4=_Q(),If=F4(),Tf=CX(),Sf=Q4(),ff=MX(),ZX=NX(),bf=[Zf.map,zf.seq,jf.string,Lf.nullTag,VQ.trueTag,VQ.falseTag,O4.intBin,O4.intOct,O4.int,O4.intHex,PX.floatNaN,PX.floatExp,PX.float,wf.binary,If.merge,Tf.omap,Sf.pairs,ff.set,ZX.intTime,ZX.floatTime,ZX.timestamp];kf.schema=bf});var ZQ=S((cf)=>{var RQ=J6(),gf=_4(),OQ=G6(),hf=f3(),xf=YX(),LX=HX(),zX=_X(),yf=oV(),uf=tV(),MQ=QX(),g3=F4(),qQ=CX(),NQ=Q4(),EQ=QQ(),PQ=MX(),M4=NX(),KQ=new Map([["core",yf.schema],["failsafe",[RQ.map,OQ.seq,hf.string]],["json",uf.schema],["yaml11",EQ.schema],["yaml-1.1",EQ.schema]]),CQ={binary:MQ.binary,bool:xf.boolTag,float:LX.float,floatExp:LX.floatExp,floatNaN:LX.floatNaN,floatTime:M4.floatTime,int:zX.int,intHex:zX.intHex,intOct:zX.intOct,intTime:M4.intTime,map:RQ.map,merge:g3.merge,null:gf.nullTag,omap:qQ.omap,pairs:NQ.pairs,seq:OQ.seq,set:PQ.set,timestamp:M4.timestamp},mf={"tag:yaml.org,2002:binary":MQ.binary,"tag:yaml.org,2002:merge":g3.merge,"tag:yaml.org,2002:omap":qQ.omap,"tag:yaml.org,2002:pairs":NQ.pairs,"tag:yaml.org,2002:set":PQ.set,"tag:yaml.org,2002:timestamp":M4.timestamp};function pf(D,$,F){let X=KQ.get($);if(X&&!D)return F&&!X.includes(g3.merge)?X.concat(g3.merge):X.slice();let J=X;if(!J)if(Array.isArray(D))J=[];else{let Y=Array.from(KQ.keys()).filter((G)=>G!=="yaml11").map((G)=>JSON.stringify(G)).join(", ");throw Error(`Unknown schema "${$}"; use one of ${Y} or define customTags array`)}if(Array.isArray(D))for(let Y of D)J=J.concat(Y);else if(typeof D==="function")J=D(J.slice());if(F)J=J.concat(g3.merge);return J.reduce((Y,G)=>{let B=typeof G==="string"?CQ[G]:G;if(!B){let H=JSON.stringify(G),W=Object.keys(CQ).map((U)=>JSON.stringify(U)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${W}`)}if(!Y.includes(B))Y.push(B);return Y},[])}cf.coreKnownTags=mf;cf.getTags=pf});var IX=S((af)=>{var jX=BD(),nf=J6(),sf=G6(),rf=f3(),q4=ZQ(),of=(D,$)=>D.key<$.key?-1:D.key>$.key?1:0;class wX{constructor({compat:D,customTags:$,merge:F,resolveKnownTags:X,schema:J,sortMapEntries:Y,toStringDefaults:G}){this.compat=Array.isArray(D)?q4.getTags(D,"compat"):D?q4.getTags(null,D):null,this.name=typeof J==="string"&&J||"core",this.knownTags=X?q4.coreKnownTags:{},this.tags=q4.getTags($,this.name,F),this.toStringOptions=G??null,Object.defineProperty(this,jX.MAP,{value:nf.map}),Object.defineProperty(this,jX.SCALAR,{value:rf.string}),Object.defineProperty(this,jX.SEQ,{value:sf.seq}),this.sortMapEntries=typeof Y==="function"?Y:Y===!0?of:null}clone(){let D=Object.create(wX.prototype,Object.getOwnPropertyDescriptors(this));return D.tags=this.tags.slice(),D}}af.Schema=wX});var LQ=S(($b)=>{var ef=BD(),TX=w3(),h3=L3();function Db(D,$){let F=[],X=$.directives===!0;if($.directives!==!1&&D.directives){let H=D.directives.toString(D);if(H)F.push(H),X=!0;else if(D.directives.docStart)X=!0}if(X)F.push("---");let J=TX.createStringifyContext(D,$),{commentString:Y}=J.options;if(D.commentBefore){if(F.length!==1)F.unshift("");let H=Y(D.commentBefore);F.unshift(h3.indentComment(H,""))}let G=!1,B=null;if(D.contents){if(ef.isNode(D.contents)){if(D.contents.spaceBefore&&X)F.push("");if(D.contents.commentBefore){let U=Y(D.contents.commentBefore);F.push(h3.indentComment(U,""))}J.forceBlockIndent=!!D.comment,B=D.contents.comment}let H=B?void 0:()=>G=!0,W=TX.stringify(D.contents,J,()=>B=null,H);if(B)W+=h3.lineComment(W,"",Y(B));if((W[0]==="|"||W[0]===">")&&F[F.length-1]==="---")F[F.length-1]=`--- ${W}`;else F.push(W)}else F.push(TX.stringify(D.contents,J));if(D.directives?.docEnd)if(D.comment){let H=Y(D.comment);if(H.includes(`
|
|
150
|
+
`))F.push("..."),F.push(h3.indentComment(H,""));else F.push(`... ${H}`)}else F.push("...");else{let H=D.comment;if(H&&G)H=H.replace(/^\n+/,"");if(H){if((!G||B)&&F[F.length-1]!=="")F.push("");F.push(h3.indentComment(Y(H),""))}}return F.join(`
|
|
151
|
+
`)+`
|
|
152
|
+
`}$b.stringifyDocument=Db});var x3=S((_b)=>{var Xb=P3(),B6=o7(),h0=BD(),Jb=H8(),Gb=G8(),Yb=IX(),Bb=LQ(),SX=n7(),Hb=oF(),Wb=Z3(),fX=rF();class bX{constructor(D,$,F){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,h0.NODE_TYPE,{value:h0.DOC});let X=null;if(typeof $==="function"||Array.isArray($))X=$;else if(F===void 0&&$)F=$,$=void 0;let J=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},F);this.options=J;let{version:Y}=J;if(F?._directives){if(this.directives=F._directives.atDocument(),this.directives.yaml.explicit)Y=this.directives.yaml.version}else this.directives=new fX.Directives({version:Y});this.setSchema(Y,F),this.contents=D===void 0?null:this.createNode(D,X,F)}clone(){let D=Object.create(bX.prototype,{[h0.NODE_TYPE]:{value:h0.DOC}});if(D.commentBefore=this.commentBefore,D.comment=this.comment,D.errors=this.errors.slice(),D.warnings=this.warnings.slice(),D.options=Object.assign({},this.options),this.directives)D.directives=this.directives.clone();if(D.schema=this.schema.clone(),D.contents=h0.isNode(this.contents)?this.contents.clone(D.schema):this.contents,this.range)D.range=this.range.slice();return D}add(D){if(H6(this.contents))this.contents.add(D)}addIn(D,$){if(H6(this.contents))this.contents.addIn(D,$)}createAlias(D,$){if(!D.anchor){let F=SX.anchorNames(this);D.anchor=!$||F.has($)?SX.findNewAnchor($||"a",F):$}return new Xb.Alias(D.anchor)}createNode(D,$,F){let X=void 0;if(typeof $==="function")D=$.call({"":D},"",D),X=$;else if(Array.isArray($)){let K=(q)=>typeof q==="number"||q instanceof String||q instanceof Number,Q=$.filter(K).map(String);if(Q.length>0)$=$.concat(Q);X=$}else if(F===void 0&&$)F=$,$=void 0;let{aliasDuplicateObjects:J,anchorPrefix:Y,flow:G,keepUndefined:B,onTagObj:H,tag:W}=F??{},{onAnchor:U,setAnchors:A,sourceObjects:V}=SX.createNodeAnchors(this,Y||"a"),E={aliasDuplicateObjects:J??!0,keepUndefined:B??!1,onAnchor:U,onTagObj:H,replacer:X,schema:this.schema,sourceObjects:V},C=Wb.createNode(D,W,E);if(G&&h0.isCollection(C))C.flow=!0;return A(),C}createPair(D,$,F={}){let X=this.createNode(D,null,F),J=this.createNode($,null,F);return new Jb.Pair(X,J)}delete(D){return H6(this.contents)?this.contents.delete(D):!1}deleteIn(D){if(B6.isEmptyPath(D)){if(this.contents==null)return!1;return this.contents=null,!0}return H6(this.contents)?this.contents.deleteIn(D):!1}get(D,$){return h0.isCollection(this.contents)?this.contents.get(D,$):void 0}getIn(D,$){if(B6.isEmptyPath(D))return!$&&h0.isScalar(this.contents)?this.contents.value:this.contents;return h0.isCollection(this.contents)?this.contents.getIn(D,$):void 0}has(D){return h0.isCollection(this.contents)?this.contents.has(D):!1}hasIn(D){if(B6.isEmptyPath(D))return this.contents!==void 0;return h0.isCollection(this.contents)?this.contents.hasIn(D):!1}set(D,$){if(this.contents==null)this.contents=B6.collectionFromPath(this.schema,[D],$);else if(H6(this.contents))this.contents.set(D,$)}setIn(D,$){if(B6.isEmptyPath(D))this.contents=$;else if(this.contents==null)this.contents=B6.collectionFromPath(this.schema,Array.from(D),$);else if(H6(this.contents))this.contents.setIn(D,$)}setSchema(D,$={}){if(typeof D==="number")D=String(D);let F;switch(D){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new fX.Directives({version:"1.1"});F={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=D;else this.directives=new fX.Directives({version:D});F={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;F=null;break;default:{let X=JSON.stringify(D);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${X}`)}}if($.schema instanceof Object)this.schema=$.schema;else if(F)this.schema=new Yb.Schema(Object.assign(F,$));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:D,jsonArg:$,mapAsMap:F,maxAliasCount:X,onAnchor:J,reviver:Y}={}){let G={anchors:new Map,doc:this,keep:!D,mapAsMap:F===!0,mapKeyWarned:!1,maxAliasCount:typeof X==="number"?X:100},B=Gb.toJS(this.contents,$??"",G);if(typeof J==="function")for(let{count:H,res:W}of G.anchors.values())J(W,H);return typeof Y==="function"?Hb.applyReviver(Y,{"":B},"",B):B}toJSON(D,$){return this.toJS({json:!0,jsonArg:D,mapAsMap:!1,onAnchor:$})}toString(D={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in D&&(!Number.isInteger(D.indent)||Number(D.indent)<=0)){let $=JSON.stringify(D.indent);throw Error(`"indent" option must be a positive integer, not ${$}`)}return Bb.stringifyDocument(this,D)}}function H6(D){if(h0.isCollection(D))return!0;throw Error("Expected a YAML collection as document contents")}_b.Document=bX});var y3=S((Vb)=>{class N4 extends Error{constructor(D,$,F,X){super();this.name=D,this.code=F,this.message=X,this.pos=$}}class zQ extends N4{constructor(D,$,F){super("YAMLParseError",D,$,F)}}class jQ extends N4{constructor(D,$,F){super("YAMLWarning",D,$,F)}}var Ab=(D,$)=>(F)=>{if(F.pos[0]===-1)return;F.linePos=F.pos.map((B)=>$.linePos(B));let{line:X,col:J}=F.linePos[0];F.message+=` at line ${X}, column ${J}`;let Y=J-1,G=D.substring($.lineStarts[X-1],$.lineStarts[X]).replace(/[\n\r]+$/,"");if(Y>=60&&G.length>80){let B=Math.min(Y-39,G.length-79);G="\u2026"+G.substring(B),Y-=B-1}if(G.length>80)G=G.substring(0,79)+"\u2026";if(X>1&&/^ *$/.test(G.substring(0,Y))){let B=D.substring($.lineStarts[X-2],$.lineStarts[X-1]);if(B.length>80)B=B.substring(0,79)+`\u2026
|
|
153
|
+
`;G=B+G}if(/[^ ]/.test(G)){let B=1,H=F.linePos[1];if(H?.line===X&&H.col>J)B=Math.max(1,Math.min(H.col-J,80-Y));let W=" ".repeat(Y)+"^".repeat(B);F.message+=`:
|
|
154
|
+
|
|
155
|
+
${G}
|
|
156
|
+
${W}
|
|
157
|
+
`}};Vb.YAMLError=N4;Vb.YAMLParseError=zQ;Vb.YAMLWarning=jQ;Vb.prettifyError=Ab});var u3=S((Ob)=>{function Rb(D,{flow:$,indicator:F,next:X,offset:J,onError:Y,parentIndent:G,startOnNewline:B}){let H=!1,W=B,U=B,A="",V="",E=!1,C=!1,K=null,Q=null,q=null,N=null,Z=null,j=null,T=null;for(let w of D){if(C){if(w.type!=="space"&&w.type!=="newline"&&w.type!=="comma")Y(w.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");C=!1}if(K){if(W&&w.type!=="comment"&&w.type!=="newline")Y(K,"TAB_AS_INDENT","Tabs are not allowed as indentation");K=null}switch(w.type){case"space":if(!$&&(F!=="doc-start"||X?.type!=="flow-collection")&&w.source.includes("\t"))K=w;U=!0;break;case"comment":{if(!U)Y(w,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let r=w.source.substring(1)||" ";if(!A)A=r;else A+=V+r;V="",W=!1;break}case"newline":if(W){if(A)A+=w.source;else if(!j||F!=="seq-item-ind")H=!0}else V+=w.source;if(W=!0,E=!0,Q||q)N=w;U=!0;break;case"anchor":if(Q)Y(w,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(w.source.endsWith(":"))Y(w.offset+w.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);Q=w,T??(T=w.offset),W=!1,U=!1,C=!0;break;case"tag":{if(q)Y(w,"MULTIPLE_TAGS","A node can have at most one tag");q=w,T??(T=w.offset),W=!1,U=!1,C=!0;break}case F:if(Q||q)Y(w,"BAD_PROP_ORDER",`Anchors and tags must be after the ${w.source} indicator`);if(j)Y(w,"UNEXPECTED_TOKEN",`Unexpected ${w.source} in ${$??"collection"}`);j=w,W=F==="seq-item-ind"||F==="explicit-key-ind",U=!1;break;case"comma":if($){if(Z)Y(w,"UNEXPECTED_TOKEN",`Unexpected , in ${$}`);Z=w,W=!1,U=!1;break}default:Y(w,"UNEXPECTED_TOKEN",`Unexpected ${w.type} token`),W=!1,U=!1}}let L=D[D.length-1],v=L?L.offset+L.source.length:J;if(C&&X&&X.type!=="space"&&X.type!=="newline"&&X.type!=="comma"&&(X.type!=="scalar"||X.source!==""))Y(X.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(K&&(W&&K.indent<=G||X?.type==="block-map"||X?.type==="block-seq"))Y(K,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:Z,found:j,spaceBefore:H,comment:A,hasNewline:E,anchor:Q,tag:q,newlineAfterProp:N,end:v,start:T??v}}Ob.resolveProps=Rb});var P4=S((qb)=>{function kX(D){if(!D)return null;switch(D.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(D.source.includes(`
|
|
158
|
+
`))return!0;if(D.end){for(let $ of D.end)if($.type==="newline")return!0}return!1;case"flow-collection":for(let $ of D.items){for(let F of $.start)if(F.type==="newline")return!0;if($.sep){for(let F of $.sep)if(F.type==="newline")return!0}if(kX($.key)||kX($.value))return!0}return!1;default:return!0}}qb.containsNewline=kX});var vX=S((Lb)=>{var Pb=P4();function Zb(D,$,F){if($?.type==="flow-collection"){let X=$.end[0];if(X.indent===D&&(X.source==="]"||X.source==="}")&&Pb.containsNewline($))F(X,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Lb.flowIndentCheck=Zb});var gX=S((wb)=>{var wQ=BD();function jb(D,$,F){let{uniqueKeys:X}=D.options;if(X===!1)return!1;let J=typeof X==="function"?X:(Y,G)=>Y===G||wQ.isScalar(Y)&&wQ.isScalar(G)&&Y.value===G.value;return $.some((Y)=>J(Y.key,F))}wb.mapIncludes=jb});var bQ=S((kb)=>{var IQ=H8(),Tb=_8(),TQ=u3(),Sb=P4(),SQ=vX(),fb=gX(),fQ="All mapping items must start at the same column";function bb({composeNode:D,composeEmptyNode:$},F,X,J,Y){let B=new(Y?.nodeClass??Tb.YAMLMap)(F.schema);if(F.atRoot)F.atRoot=!1;let H=X.offset,W=null;for(let U of X.items){let{start:A,key:V,sep:E,value:C}=U,K=TQ.resolveProps(A,{indicator:"explicit-key-ind",next:V??E?.[0],offset:H,onError:J,parentIndent:X.indent,startOnNewline:!0}),Q=!K.found;if(Q){if(V){if(V.type==="block-seq")J(H,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in V&&V.indent!==X.indent)J(H,"BAD_INDENT",fQ)}if(!K.anchor&&!K.tag&&!E){if(W=K.end,K.comment)if(B.comment)B.comment+=`
|
|
159
|
+
`+K.comment;else B.comment=K.comment;continue}if(K.newlineAfterProp||Sb.containsNewline(V))J(V??A[A.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(K.found?.indent!==X.indent)J(H,"BAD_INDENT",fQ);F.atKey=!0;let q=K.end,N=V?D(F,V,K,J):$(F,q,A,null,K,J);if(F.schema.compat)SQ.flowIndentCheck(X.indent,V,J);if(F.atKey=!1,fb.mapIncludes(F,B.items,N))J(q,"DUPLICATE_KEY","Map keys must be unique");let Z=TQ.resolveProps(E??[],{indicator:"map-value-ind",next:C,offset:N.range[2],onError:J,parentIndent:X.indent,startOnNewline:!V||V.type==="block-scalar"});if(H=Z.end,Z.found){if(Q){if(C?.type==="block-map"&&!Z.hasNewline)J(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(F.options.strict&&K.start<Z.found.offset-1024)J(N.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let j=C?D(F,C,Z,J):$(F,H,E,null,Z,J);if(F.schema.compat)SQ.flowIndentCheck(X.indent,C,J);H=j.range[2];let T=new IQ.Pair(N,j);if(F.options.keepSourceTokens)T.srcToken=U;B.items.push(T)}else{if(Q)J(N.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(Z.comment)if(N.comment)N.comment+=`
|
|
160
|
+
`+Z.comment;else N.comment=Z.comment;let j=new IQ.Pair(N);if(F.options.keepSourceTokens)j.srcToken=U;B.items.push(j)}}if(W&&W<H)J(W,"IMPOSSIBLE","Map comment with trailing content");return B.range=[X.offset,H,W??H],B}kb.resolveBlockMap=bb});var kQ=S((ub)=>{var gb=U8(),hb=u3(),xb=vX();function yb({composeNode:D,composeEmptyNode:$},F,X,J,Y){let B=new(Y?.nodeClass??gb.YAMLSeq)(F.schema);if(F.atRoot)F.atRoot=!1;if(F.atKey)F.atKey=!1;let H=X.offset,W=null;for(let{start:U,value:A}of X.items){let V=hb.resolveProps(U,{indicator:"seq-item-ind",next:A,offset:H,onError:J,parentIndent:X.indent,startOnNewline:!0});if(!V.found)if(V.anchor||V.tag||A)if(A?.type==="block-seq")J(V.end,"BAD_INDENT","All sequence items must start at the same column");else J(H,"MISSING_CHAR","Sequence item without - indicator");else{if(W=V.end,V.comment)B.comment=V.comment;continue}let E=A?D(F,A,V,J):$(F,V.end,U,null,V,J);if(F.schema.compat)xb.flowIndentCheck(X.indent,A,J);H=E.range[2],B.items.push(E)}return B.range=[X.offset,H,W??H],B}ub.resolveBlockSeq=yb});var W6=S((cb)=>{function pb(D,$,F,X){let J="";if(D){let Y=!1,G="";for(let B of D){let{source:H,type:W}=B;switch(W){case"space":Y=!0;break;case"comment":{if(F&&!Y)X(B,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let U=H.substring(1)||" ";if(!J)J=U;else J+=G+U;G="";break}case"newline":if(J)G+=H;Y=!0;break;default:X(B,"UNEXPECTED_TOKEN",`Unexpected ${W} at node end`)}$+=H.length}}return{comment:J,offset:$}}cb.resolveEnd=pb});var hQ=S((tb)=>{var lb=BD(),ib=H8(),vQ=_8(),nb=U8(),sb=W6(),gQ=u3(),rb=P4(),ob=gX(),hX="Block collections are not allowed within flow collections",xX=(D)=>D&&(D.type==="block-map"||D.type==="block-seq");function ab({composeNode:D,composeEmptyNode:$},F,X,J,Y){let G=X.start.source==="{",B=G?"flow map":"flow sequence",W=new(Y?.nodeClass??(G?vQ.YAMLMap:nb.YAMLSeq))(F.schema);W.flow=!0;let U=F.atRoot;if(U)F.atRoot=!1;if(F.atKey)F.atKey=!1;let A=X.offset+X.start.source.length;for(let Q=0;Q<X.items.length;++Q){let q=X.items[Q],{start:N,key:Z,sep:j,value:T}=q,L=gQ.resolveProps(N,{flow:B,indicator:"explicit-key-ind",next:Z??j?.[0],offset:A,onError:J,parentIndent:X.indent,startOnNewline:!1});if(!L.found){if(!L.anchor&&!L.tag&&!j&&!T){if(Q===0&&L.comma)J(L.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${B}`);else if(Q<X.items.length-1)J(L.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${B}`);if(L.comment)if(W.comment)W.comment+=`
|
|
161
|
+
`+L.comment;else W.comment=L.comment;A=L.end;continue}if(!G&&F.options.strict&&rb.containsNewline(Z))J(Z,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(Q===0){if(L.comma)J(L.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${B}`)}else{if(!L.comma)J(L.start,"MISSING_CHAR",`Missing , between ${B} items`);if(L.comment){let v="";D:for(let w of N)switch(w.type){case"comma":case"space":break;case"comment":v=w.source.substring(1);break D;default:break D}if(v){let w=W.items[W.items.length-1];if(lb.isPair(w))w=w.value??w.key;if(w.comment)w.comment+=`
|
|
162
|
+
`+v;else w.comment=v;L.comment=L.comment.substring(v.length+1)}}}if(!G&&!j&&!L.found){let v=T?D(F,T,L,J):$(F,L.end,j,null,L,J);if(W.items.push(v),A=v.range[2],xX(T))J(v.range,"BLOCK_IN_FLOW",hX)}else{F.atKey=!0;let v=L.end,w=Z?D(F,Z,L,J):$(F,v,N,null,L,J);if(xX(Z))J(w.range,"BLOCK_IN_FLOW",hX);F.atKey=!1;let r=gQ.resolveProps(j??[],{flow:B,indicator:"map-value-ind",next:T,offset:w.range[2],onError:J,parentIndent:X.indent,startOnNewline:!1});if(r.found){if(!G&&!L.found&&F.options.strict){if(j)for(let o of j){if(o===r.found)break;if(o.type==="newline"){J(o,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(L.start<r.found.offset-1024)J(r.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(T)if("source"in T&&T.source?.[0]===":")J(T,"MISSING_CHAR",`Missing space after : in ${B}`);else J(r.start,"MISSING_CHAR",`Missing , or : between ${B} items`);let HD=T?D(F,T,r,J):r.found?$(F,r.end,j,null,r,J):null;if(HD){if(xX(T))J(HD.range,"BLOCK_IN_FLOW",hX)}else if(r.comment)if(w.comment)w.comment+=`
|
|
163
|
+
`+r.comment;else w.comment=r.comment;let GD=new ib.Pair(w,HD);if(F.options.keepSourceTokens)GD.srcToken=q;if(G){let o=W;if(ob.mapIncludes(F,o.items,w))J(v,"DUPLICATE_KEY","Map keys must be unique");o.items.push(GD)}else{let o=new vQ.YAMLMap(F.schema);o.flow=!0,o.items.push(GD);let uD=(HD??w).range;o.range=[w.range[0],uD[1],uD[2]],W.items.push(o)}A=HD?HD.range[2]:r.end}}let V=G?"}":"]",[E,...C]=X.end,K=A;if(E?.source===V)K=E.offset+E.source.length;else{let Q=B[0].toUpperCase()+B.substring(1),q=U?`${Q} must end with a ${V}`:`${Q} in block collection must be sufficiently indented and end with a ${V}`;if(J(A,U?"MISSING_CHAR":"BAD_INDENT",q),E&&E.source.length!==1)C.unshift(E)}if(C.length>0){let Q=sb.resolveEnd(C,K,F.options.strict,J);if(Q.comment)if(W.comment)W.comment+=`
|
|
164
|
+
`+Q.comment;else W.comment=Q.comment;W.range=[X.offset,K,Q.offset]}else W.range=[X.offset,K,K];return W}tb.resolveFlowCollection=ab});var xQ=S((Hk)=>{var Dk=BD(),$k=hD(),Fk=_8(),Xk=U8(),Jk=bQ(),Gk=kQ(),Yk=hQ();function yX(D,$,F,X,J,Y){let G=F.type==="block-map"?Jk.resolveBlockMap(D,$,F,X,Y):F.type==="block-seq"?Gk.resolveBlockSeq(D,$,F,X,Y):Yk.resolveFlowCollection(D,$,F,X,Y),B=G.constructor;if(J==="!"||J===B.tagName)return G.tag=B.tagName,G;if(J)G.tag=J;return G}function Bk(D,$,F,X,J){let Y=X.tag,G=!Y?null:$.directives.tagName(Y.source,(V)=>J(Y,"TAG_RESOLVE_FAILED",V));if(F.type==="block-seq"){let{anchor:V,newlineAfterProp:E}=X,C=V&&Y?V.offset>Y.offset?V:Y:V??Y;if(C&&(!E||E.offset<C.offset))J(C,"MISSING_CHAR","Missing newline after block sequence props")}let B=F.type==="block-map"?"map":F.type==="block-seq"?"seq":F.start.source==="{"?"map":"seq";if(!Y||!G||G==="!"||G===Fk.YAMLMap.tagName&&B==="map"||G===Xk.YAMLSeq.tagName&&B==="seq")return yX(D,$,F,J,G);let H=$.schema.tags.find((V)=>V.tag===G&&V.collection===B);if(!H){let V=$.schema.knownTags[G];if(V?.collection===B)$.schema.tags.push(Object.assign({},V,{default:!1})),H=V;else{if(V)J(Y,"BAD_COLLECTION_TYPE",`${V.tag} used for ${B} collection, but expects ${V.collection??"scalar"}`,!0);else J(Y,"TAG_RESOLVE_FAILED",`Unresolved tag: ${G}`,!0);return yX(D,$,F,J,G)}}let W=yX(D,$,F,J,G,H),U=H.resolve?.(W,(V)=>J(Y,"TAG_RESOLVE_FAILED",V),$.options)??W,A=Dk.isNode(U)?U:new $k.Scalar(U);if(A.range=W.range,A.tag=G,H?.format)A.format=H.format;return A}Hk.composeCollection=Bk});var mX=S((Vk)=>{var uX=hD();function _k(D,$,F){let X=$.offset,J=Uk($,D.options.strict,F);if(!J)return{value:"",type:null,comment:"",range:[X,X,X]};let Y=J.mode===">"?uX.Scalar.BLOCK_FOLDED:uX.Scalar.BLOCK_LITERAL,G=$.source?Ak($.source):[],B=G.length;for(let K=G.length-1;K>=0;--K){let Q=G[K][1];if(Q===""||Q==="\r")B=K;else break}if(B===0){let K=J.chomp==="+"&&G.length>0?`
|
|
165
|
+
`.repeat(Math.max(1,G.length-1)):"",Q=X+J.length;if($.source)Q+=$.source.length;return{value:K,type:Y,comment:J.comment,range:[X,Q,Q]}}let H=$.indent+J.indent,W=$.offset+J.length,U=0;for(let K=0;K<B;++K){let[Q,q]=G[K];if(q===""||q==="\r"){if(J.indent===0&&Q.length>H)H=Q.length}else{if(Q.length<H)F(W+Q.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)H=Q.length;if(U=K,H===0&&!D.atRoot)F(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=Q.length+q.length+1}for(let K=G.length-1;K>=B;--K)if(G[K][0].length>H)B=K+1;let A="",V="",E=!1;for(let K=0;K<U;++K)A+=G[K][0].slice(H)+`
|
|
166
|
+
`;for(let K=U;K<B;++K){let[Q,q]=G[K];W+=Q.length+q.length+1;let N=q[q.length-1]==="\r";if(N)q=q.slice(0,-1);if(q&&Q.length<H){let j=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;F(W-q.length-(N?2:1),"BAD_INDENT",j),Q=""}if(Y===uX.Scalar.BLOCK_LITERAL)A+=V+Q.slice(H)+q,V=`
|
|
167
|
+
`;else if(Q.length>H||q[0]==="\t"){if(V===" ")V=`
|
|
168
|
+
`;else if(!E&&V===`
|
|
169
|
+
`)V=`
|
|
170
|
+
|
|
171
|
+
`;A+=V+Q.slice(H)+q,V=`
|
|
172
|
+
`,E=!0}else if(q==="")if(V===`
|
|
173
|
+
`)A+=`
|
|
174
|
+
`;else V=`
|
|
175
|
+
`;else A+=V+q,V=" ",E=!1}switch(J.chomp){case"-":break;case"+":for(let K=B;K<G.length;++K)A+=`
|
|
176
|
+
`+G[K][0].slice(H);if(A[A.length-1]!==`
|
|
177
|
+
`)A+=`
|
|
178
|
+
`;break;default:A+=`
|
|
179
|
+
`}let C=X+J.length+$.source.length;return{value:A,type:Y,comment:J.comment,range:[X,C,C]}}function Uk({offset:D,props:$},F,X){if($[0].type!=="block-scalar-header")return X($[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:J}=$[0],Y=J[0],G=0,B="",H=-1;for(let V=1;V<J.length;++V){let E=J[V];if(!B&&(E==="-"||E==="+"))B=E;else{let C=Number(E);if(!G&&C)G=C;else if(H===-1)H=D+V}}if(H!==-1)X(H,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let W=!1,U="",A=J.length;for(let V=1;V<$.length;++V){let E=$[V];switch(E.type){case"space":W=!0;case"newline":A+=E.source.length;break;case"comment":if(F&&!W)X(E,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");A+=E.source.length,U=E.source.substring(1);break;case"error":X(E,"UNEXPECTED_TOKEN",E.message),A+=E.source.length;break;default:{let C=`Unexpected token in block scalar header: ${E.type}`;X(E,"UNEXPECTED_TOKEN",C);let K=E.source;if(K&&typeof K==="string")A+=K.length}}}return{mode:Y,indent:G,chomp:B,comment:U,length:A}}function Ak(D){let $=D.split(/\n( *)/),F=$[0],X=F.match(/^( *)/),Y=[X?.[1]?[X[1],F.slice(X[1].length)]:["",F]];for(let G=1;G<$.length;G+=2)Y.push([$[G],$[G+1]]);return Y}Vk.resolveBlockScalar=_k});var cX=S((Pk)=>{var pX=hD(),Ek=W6();function Kk(D,$,F){let{offset:X,type:J,source:Y,end:G}=D,B,H,W=(V,E,C)=>F(X+V,E,C);switch(J){case"scalar":B=pX.Scalar.PLAIN,H=Ck(Y,W);break;case"single-quoted-scalar":B=pX.Scalar.QUOTE_SINGLE,H=Rk(Y,W);break;case"double-quoted-scalar":B=pX.Scalar.QUOTE_DOUBLE,H=Ok(Y,W);break;default:return F(D,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${J}`),{value:"",type:null,comment:"",range:[X,X+Y.length,X+Y.length]}}let U=X+Y.length,A=Ek.resolveEnd(G,U,$,F);return{value:H,type:B,comment:A.comment,range:[X,U,A.offset]}}function Ck(D,$){let F="";switch(D[0]){case"\t":F="a tab character";break;case",":F="flow indicator character ,";break;case"%":F="directive indicator character %";break;case"|":case">":{F=`block scalar indicator ${D[0]}`;break}case"@":case"`":{F=`reserved character ${D[0]}`;break}}if(F)$(0,"BAD_SCALAR_START",`Plain value cannot start with ${F}`);return yQ(D)}function Rk(D,$){if(D[D.length-1]!=="'"||D.length===1)$(D.length,"MISSING_CHAR","Missing closing 'quote");return yQ(D.slice(1,-1)).replace(/''/g,"'")}function yQ(D){let $,F;try{$=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
180
|
+
`,"sy"),F=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
181
|
+
`,"sy")}catch{$=/(.*?)[ \t]*\r?\n/sy,F=/[ \t]*(.*?)[ \t]*\r?\n/sy}let X=$.exec(D);if(!X)return D;let J=X[1],Y=" ",G=$.lastIndex;F.lastIndex=G;while(X=F.exec(D)){if(X[1]==="")if(Y===`
|
|
182
|
+
`)J+=Y;else Y=`
|
|
183
|
+
`;else J+=Y+X[1],Y=" ";G=F.lastIndex}let B=/[ \t]*(.*)/sy;return B.lastIndex=G,X=B.exec(D),J+Y+(X?.[1]??"")}function Ok(D,$){let F="";for(let X=1;X<D.length-1;++X){let J=D[X];if(J==="\r"&&D[X+1]===`
|
|
184
|
+
`)continue;if(J===`
|
|
185
|
+
`){let{fold:Y,offset:G}=Mk(D,X);F+=Y,X=G}else if(J==="\\"){let Y=D[++X],G=qk[Y];if(G)F+=G;else if(Y===`
|
|
186
|
+
`){Y=D[X+1];while(Y===" "||Y==="\t")Y=D[++X+1]}else if(Y==="\r"&&D[X+1]===`
|
|
187
|
+
`){Y=D[++X+1];while(Y===" "||Y==="\t")Y=D[++X+1]}else if(Y==="x"||Y==="u"||Y==="U"){let B={x:2,u:4,U:8}[Y];F+=Nk(D,X+1,B,$),X+=B}else{let B=D.substr(X-1,2);$(X-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${B}`),F+=B}}else if(J===" "||J==="\t"){let Y=X,G=D[X+1];while(G===" "||G==="\t")G=D[++X+1];if(G!==`
|
|
188
|
+
`&&!(G==="\r"&&D[X+2]===`
|
|
189
|
+
`))F+=X>Y?D.slice(Y,X+1):J}else F+=J}if(D[D.length-1]!=='"'||D.length===1)$(D.length,"MISSING_CHAR",'Missing closing "quote');return F}function Mk(D,$){let F="",X=D[$+1];while(X===" "||X==="\t"||X===`
|
|
190
|
+
`||X==="\r"){if(X==="\r"&&D[$+2]!==`
|
|
191
|
+
`)break;if(X===`
|
|
192
|
+
`)F+=`
|
|
193
|
+
`;$+=1,X=D[$+1]}if(!F)F=" ";return{fold:F,offset:$}}var qk={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
194
|
+
`,r:"\r",t:"\t",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Nk(D,$,F,X){let J=D.substr($,F),G=J.length===F&&/^[0-9a-fA-F]+$/.test(J)?parseInt(J,16):NaN;if(isNaN(G)){let B=D.substr($-2,F+2);return X($-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${B}`),B}return String.fromCodePoint(G)}Pk.resolveFlowScalar=Kk});var mQ=S((Tk)=>{var a8=BD(),uQ=hD(),Lk=mX(),zk=cX();function jk(D,$,F,X){let{value:J,type:Y,comment:G,range:B}=$.type==="block-scalar"?Lk.resolveBlockScalar(D,$,X):zk.resolveFlowScalar($,D.options.strict,X),H=F?D.directives.tagName(F.source,(A)=>X(F,"TAG_RESOLVE_FAILED",A)):null,W;if(D.options.stringKeys&&D.atKey)W=D.schema[a8.SCALAR];else if(H)W=wk(D.schema,J,H,F,X);else if($.type==="scalar")W=Ik(D,J,$,X);else W=D.schema[a8.SCALAR];let U;try{let A=W.resolve(J,(V)=>X(F??$,"TAG_RESOLVE_FAILED",V),D.options);U=a8.isScalar(A)?A:new uQ.Scalar(A)}catch(A){let V=A instanceof Error?A.message:String(A);X(F??$,"TAG_RESOLVE_FAILED",V),U=new uQ.Scalar(J)}if(U.range=B,U.source=J,Y)U.type=Y;if(H)U.tag=H;if(W.format)U.format=W.format;if(G)U.comment=G;return U}function wk(D,$,F,X,J){if(F==="!")return D[a8.SCALAR];let Y=[];for(let B of D.tags)if(!B.collection&&B.tag===F)if(B.default&&B.test)Y.push(B);else return B;for(let B of Y)if(B.test?.test($))return B;let G=D.knownTags[F];if(G&&!G.collection)return D.tags.push(Object.assign({},G,{default:!1,test:void 0})),G;return J(X,"TAG_RESOLVE_FAILED",`Unresolved tag: ${F}`,F!=="tag:yaml.org,2002:str"),D[a8.SCALAR]}function Ik({atKey:D,directives:$,schema:F},X,J,Y){let G=F.tags.find((B)=>(B.default===!0||D&&B.default==="key")&&B.test?.test(X))||F[a8.SCALAR];if(F.compat){let B=F.compat.find((H)=>H.default&&H.test?.test(X))??F[a8.SCALAR];if(G.tag!==B.tag){let H=$.tagString(G.tag),W=$.tagString(B.tag),U=`Value may be parsed as either ${H} or ${W}`;Y(J,"TAG_RESOLVE_FAILED",U,!0)}}return G}Tk.composeScalar=jk});var pQ=S((bk)=>{function fk(D,$,F){if($){F??(F=$.length);for(let X=F-1;X>=0;--X){let J=$[X];switch(J.type){case"space":case"comment":case"newline":D-=J.source.length;continue}J=$[++X];while(J?.type==="space")D+=J.source.length,J=$[++X];break}}return D}bk.emptyScalarPosition=fk});var lQ=S((pk)=>{var vk=P3(),gk=BD(),hk=xQ(),cQ=mQ(),xk=W6(),yk=pQ(),uk={composeNode:dQ,composeEmptyNode:dX};function dQ(D,$,F,X){let J=D.atKey,{spaceBefore:Y,comment:G,anchor:B,tag:H}=F,W,U=!0;switch($.type){case"alias":if(W=mk(D,$,X),B||H)X($,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(W=cQ.composeScalar(D,$,H,X),B)W.anchor=B.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(W=hk.composeCollection(uk,D,$,F,X),B)W.anchor=B.source.substring(1)}catch(A){let V=A instanceof Error?A.message:String(A);X($,"RESOURCE_EXHAUSTION",V)}break;default:{let A=$.type==="error"?$.message:`Unsupported token (type: ${$.type})`;X($,"UNEXPECTED_TOKEN",A),U=!1}}if(W??(W=dX(D,$.offset,void 0,null,F,X)),B&&W.anchor==="")X(B,"BAD_ALIAS","Anchor cannot be an empty string");if(J&&D.options.stringKeys&&(!gk.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))X(H??$,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(Y)W.spaceBefore=!0;if(G)if($.type==="scalar"&&$.source==="")W.comment=G;else W.commentBefore=G;if(D.options.keepSourceTokens&&U)W.srcToken=$;return W}function dX(D,$,F,X,{spaceBefore:J,comment:Y,anchor:G,tag:B,end:H},W){let U={type:"scalar",offset:yk.emptyScalarPosition($,F,X),indent:-1,source:""},A=cQ.composeScalar(D,U,B,W);if(G){if(A.anchor=G.source.substring(1),A.anchor==="")W(G,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)A.spaceBefore=!0;if(Y)A.comment=Y,A.range[2]=H;return A}function mk({options:D},{offset:$,source:F,end:X},J){let Y=new vk.Alias(F.substring(1));if(Y.source==="")J($,"BAD_ALIAS","Alias cannot be an empty string");if(Y.source.endsWith(":"))J($+F.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let G=$+F.length,B=xk.resolveEnd(X,G,D.strict,J);if(Y.range=[$,G,B.offset],B.comment)Y.comment=B.comment;return Y}pk.composeEmptyNode=dX;pk.composeNode=dQ});var nQ=S((rk)=>{var lk=x3(),iQ=lQ(),ik=W6(),nk=u3();function sk(D,$,{offset:F,start:X,value:J,end:Y},G){let B=Object.assign({_directives:$},D),H=new lk.Document(void 0,B),W={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},U=nk.resolveProps(X,{indicator:"doc-start",next:J??Y?.[0],offset:F,onError:G,parentIndent:0,startOnNewline:!0});if(U.found){if(H.directives.docStart=!0,J&&(J.type==="block-map"||J.type==="block-seq")&&!U.hasNewline)G(U.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}H.contents=J?iQ.composeNode(W,J,U,G):iQ.composeEmptyNode(W,U.end,X,null,U,G);let A=H.contents.range[2],V=ik.resolveEnd(Y,A,!1,G);if(V.comment)H.comment=V.comment;return H.range=[F,A,V.offset],H}rk.composeDoc=sk});var lX=S((Fv)=>{var ak=x2("process"),tk=rF(),ek=x3(),m3=y3(),sQ=BD(),Dv=nQ(),$v=W6();function p3(D){if(typeof D==="number")return[D,D+1];if(Array.isArray(D))return D.length===2?D:[D[0],D[1]];let{offset:$,source:F}=D;return[$,$+(typeof F==="string"?F.length:1)]}function rQ(D){let $="",F=!1,X=!1;for(let J=0;J<D.length;++J){let Y=D[J];switch(Y[0]){case"#":$+=($===""?"":X?`
|
|
195
|
+
|
|
196
|
+
`:`
|
|
197
|
+
`)+(Y.substring(1)||" "),F=!0,X=!1;break;case"%":if(D[J+1]?.[0]!=="#")J+=1;F=!1;break;default:if(!F)X=!0;F=!1}}return{comment:$,afterEmptyLine:X}}class oQ{constructor(D={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=($,F,X,J)=>{let Y=p3($);if(J)this.warnings.push(new m3.YAMLWarning(Y,F,X));else this.errors.push(new m3.YAMLParseError(Y,F,X))},this.directives=new tk.Directives({version:D.version||"1.2"}),this.options=D}decorate(D,$){let{comment:F,afterEmptyLine:X}=rQ(this.prelude);if(F){let J=D.contents;if($)D.comment=D.comment?`${D.comment}
|
|
198
|
+
${F}`:F;else if(X||D.directives.docStart||!J)D.commentBefore=F;else if(sQ.isCollection(J)&&!J.flow&&J.items.length>0){let Y=J.items[0];if(sQ.isPair(Y))Y=Y.key;let G=Y.commentBefore;Y.commentBefore=G?`${F}
|
|
199
|
+
${G}`:F}else{let Y=J.commentBefore;J.commentBefore=Y?`${F}
|
|
200
|
+
${Y}`:F}}if($)Array.prototype.push.apply(D.errors,this.errors),Array.prototype.push.apply(D.warnings,this.warnings);else D.errors=this.errors,D.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:rQ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(D,$=!1,F=-1){for(let X of D)yield*this.next(X);yield*this.end($,F)}*next(D){if(ak.env.LOG_STREAM)console.dir(D,{depth:null});switch(D.type){case"directive":this.directives.add(D.source,($,F,X)=>{let J=p3(D);J[0]+=$,this.onError(J,"BAD_DIRECTIVE",F,X)}),this.prelude.push(D.source),this.atDirectives=!0;break;case"document":{let $=Dv.composeDoc(this.options,this.directives,D,this.onError);if(this.atDirectives&&!$.directives.docStart)this.onError(D,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate($,!1),this.doc)yield this.doc;this.doc=$,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(D.source);break;case"error":{let $=D.source?`${D.message}: ${JSON.stringify(D.source)}`:D.message,F=new m3.YAMLParseError(p3(D),"UNEXPECTED_TOKEN",$);if(this.atDirectives||!this.doc)this.errors.push(F);else this.doc.errors.push(F);break}case"doc-end":{if(!this.doc){this.errors.push(new m3.YAMLParseError(p3(D),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let $=$v.resolveEnd(D.end,D.offset+D.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),$.comment){let F=this.doc.comment;this.doc.comment=F?`${F}
|
|
201
|
+
${$.comment}`:$.comment}this.doc.range[2]=$.offset;break}default:this.errors.push(new m3.YAMLParseError(p3(D),"UNEXPECTED_TOKEN",`Unsupported token ${D.type}`))}}*end(D=!1,$=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(D){let F=Object.assign({_directives:this.directives},this.options),X=new ek.Document(void 0,F);if(this.atDirectives)this.onError($,"MISSING_CHAR","Missing directives-end indicator line");X.range=[0,$,$],this.decorate(X,!1),yield X}}}Fv.Composer=oQ});var eQ=S((Uv)=>{var Jv=mX(),Gv=cX(),Yv=y3(),aQ=j3();function Bv(D,$=!0,F){if(D){let X=(J,Y,G)=>{let B=typeof J==="number"?J:Array.isArray(J)?J[0]:J.offset;if(F)F(B,Y,G);else throw new Yv.YAMLParseError([B,B+1],Y,G)};switch(D.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Gv.resolveFlowScalar(D,$,X);case"block-scalar":return Jv.resolveBlockScalar({options:{strict:$}},D,X)}}return null}function Hv(D,$){let{implicitKey:F=!1,indent:X,inFlow:J=!1,offset:Y=-1,type:G="PLAIN"}=$,B=aQ.stringifyString({type:G,value:D},{implicitKey:F,indent:X>0?" ".repeat(X):"",inFlow:J,options:{blockQuote:!0,lineWidth:-1}}),H=$.end??[{type:"newline",offset:-1,indent:X,source:`
|
|
202
|
+
`}];switch(B[0]){case"|":case">":{let W=B.indexOf(`
|
|
203
|
+
`),U=B.substring(0,W),A=B.substring(W+1)+`
|
|
204
|
+
`,V=[{type:"block-scalar-header",offset:Y,indent:X,source:U}];if(!tQ(V,H))V.push({type:"newline",offset:-1,indent:X,source:`
|
|
205
|
+
`});return{type:"block-scalar",offset:Y,indent:X,props:V,source:A}}case'"':return{type:"double-quoted-scalar",offset:Y,indent:X,source:B,end:H};case"'":return{type:"single-quoted-scalar",offset:Y,indent:X,source:B,end:H};default:return{type:"scalar",offset:Y,indent:X,source:B,end:H}}}function Wv(D,$,F={}){let{afterKey:X=!1,implicitKey:J=!1,inFlow:Y=!1,type:G}=F,B="indent"in D?D.indent:null;if(X&&typeof B==="number")B+=2;if(!G)switch(D.type){case"single-quoted-scalar":G="QUOTE_SINGLE";break;case"double-quoted-scalar":G="QUOTE_DOUBLE";break;case"block-scalar":{let W=D.props[0];if(W.type!=="block-scalar-header")throw Error("Invalid block scalar header");G=W.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:G="PLAIN"}let H=aQ.stringifyString({type:G,value:$},{implicitKey:J||B===null,indent:B!==null&&B>0?" ".repeat(B):"",inFlow:Y,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":_v(D,H);break;case'"':iX(D,H,"double-quoted-scalar");break;case"'":iX(D,H,"single-quoted-scalar");break;default:iX(D,H,"scalar")}}function _v(D,$){let F=$.indexOf(`
|
|
206
|
+
`),X=$.substring(0,F),J=$.substring(F+1)+`
|
|
207
|
+
`;if(D.type==="block-scalar"){let Y=D.props[0];if(Y.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y.source=X,D.source=J}else{let{offset:Y}=D,G="indent"in D?D.indent:-1,B=[{type:"block-scalar-header",offset:Y,indent:G,source:X}];if(!tQ(B,"end"in D?D.end:void 0))B.push({type:"newline",offset:-1,indent:G,source:`
|
|
208
|
+
`});for(let H of Object.keys(D))if(H!=="type"&&H!=="offset")delete D[H];Object.assign(D,{type:"block-scalar",indent:G,props:B,source:J})}}function tQ(D,$){if($)for(let F of $)switch(F.type){case"space":case"comment":D.push(F);break;case"newline":return D.push(F),!0}return!1}function iX(D,$,F){switch(D.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":D.type=F,D.source=$;break;case"block-scalar":{let X=D.props.slice(1),J=$.length;if(D.props[0].type==="block-scalar-header")J-=D.props[0].source.length;for(let Y of X)Y.offset+=J;delete D.props,Object.assign(D,{type:F,source:$,end:X});break}case"block-map":case"block-seq":{let J={type:"newline",offset:D.offset+$.length,indent:D.indent,source:`
|
|
209
|
+
`};delete D.items,Object.assign(D,{type:F,source:$,end:[J]});break}default:{let X="indent"in D?D.indent:-1,J="end"in D&&Array.isArray(D.end)?D.end.filter((Y)=>Y.type==="space"||Y.type==="comment"||Y.type==="newline"):[];for(let Y of Object.keys(D))if(Y!=="type"&&Y!=="offset")delete D[Y];Object.assign(D,{type:F,indent:X,source:$,end:J})}}}Uv.createScalarToken=Hv;Uv.resolveAsScalar=Bv;Uv.setScalarValue=Wv});var DE=S((Kv)=>{var Ev=(D)=>("type"in D)?L4(D):Z4(D);function L4(D){switch(D.type){case"block-scalar":{let $="";for(let F of D.props)$+=L4(F);return $+D.source}case"block-map":case"block-seq":{let $="";for(let F of D.items)$+=Z4(F);return $}case"flow-collection":{let $=D.start.source;for(let F of D.items)$+=Z4(F);for(let F of D.end)$+=F.source;return $}case"document":{let $=Z4(D);if(D.end)for(let F of D.end)$+=F.source;return $}default:{let $=D.source;if("end"in D&&D.end)for(let F of D.end)$+=F.source;return $}}}function Z4({start:D,key:$,sep:F,value:X}){let J="";for(let Y of D)J+=Y.source;if($)J+=L4($);if(F)for(let Y of F)J+=Y.source;if(X)J+=L4(X);return J}Kv.stringify=Ev});var XE=S((Ov)=>{var nX=Symbol("break visit"),Rv=Symbol("skip children"),$E=Symbol("remove item");function t8(D,$){if("type"in D&&D.type==="document")D={start:D.start,value:D.value};FE(Object.freeze([]),D,$)}t8.BREAK=nX;t8.SKIP=Rv;t8.REMOVE=$E;t8.itemAtPath=(D,$)=>{let F=D;for(let[X,J]of $){let Y=F?.[X];if(Y&&"items"in Y)F=Y.items[J];else return}return F};t8.parentCollection=(D,$)=>{let F=t8.itemAtPath(D,$.slice(0,-1)),X=$[$.length-1][0],J=F?.[X];if(J&&"items"in J)return J;throw Error("Parent collection not found")};function FE(D,$,F){let X=F($,D);if(typeof X==="symbol")return X;for(let J of["key","value"]){let Y=$[J];if(Y&&"items"in Y){for(let G=0;G<Y.items.length;++G){let B=FE(Object.freeze(D.concat([[J,G]])),Y.items[G],F);if(typeof B==="number")G=B-1;else if(B===nX)return nX;else if(B===$E)Y.items.splice(G,1),G-=1}if(typeof X==="function"&&J==="key")X=X($,D)}}return typeof X==="function"?X($,D):X}Ov.visit=t8});var z4=S((jv)=>{var sX=eQ(),qv=DE(),Nv=XE(),rX="\uFEFF",oX="\x02",aX="\x18",tX="\x1F",Pv=(D)=>!!D&&("items"in D),Zv=(D)=>!!D&&(D.type==="scalar"||D.type==="single-quoted-scalar"||D.type==="double-quoted-scalar"||D.type==="block-scalar");function Lv(D){switch(D){case rX:return"<BOM>";case oX:return"<DOC>";case aX:return"<FLOW_END>";case tX:return"<SCALAR>";default:return JSON.stringify(D)}}function zv(D){switch(D){case rX:return"byte-order-mark";case oX:return"doc-mode";case aX:return"flow-error-end";case tX:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
210
|
+
`:case`\r
|
|
211
|
+
`: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(D[0]){case" ":case"\t":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}jv.createScalarToken=sX.createScalarToken;jv.resolveAsScalar=sX.resolveAsScalar;jv.setScalarValue=sX.setScalarValue;jv.stringify=qv.stringify;jv.visit=Nv.visit;jv.BOM=rX;jv.DOCUMENT=oX;jv.FLOW_END=aX;jv.SCALAR=tX;jv.isCollection=Pv;jv.isScalar=Zv;jv.prettyToken=Lv;jv.tokenType=zv});var DJ=S((cv)=>{var c3=z4();function Y2(D){switch(D){case void 0:case" ":case`
|
|
212
|
+
`:case"\r":case"\t":return!0;default:return!1}}var JE=new Set("0123456789ABCDEFabcdef"),mv=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),j4=new Set(",[]{}"),pv=new Set(` ,[]{}
|
|
213
|
+
\r `),eX=(D)=>!D||pv.has(D);class GE{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(D,$=!1){if(D){if(typeof D!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+D:D,this.lineEndPos=null}this.atEnd=!$;let F=this.next??"stream";while(F&&($||this.hasChars(1)))F=yield*this.parseNext(F)}atLineEnd(){let D=this.pos,$=this.buffer[D];while($===" "||$==="\t")$=this.buffer[++D];if(!$||$==="#"||$===`
|
|
214
|
+
`)return!0;if($==="\r")return this.buffer[D+1]===`
|
|
215
|
+
`;return!1}charAt(D){return this.buffer[this.pos+D]}continueScalar(D){let $=this.buffer[D];if(this.indentNext>0){let F=0;while($===" ")$=this.buffer[++F+D];if($==="\r"){let X=this.buffer[F+D+1];if(X===`
|
|
216
|
+
`||!X&&!this.atEnd)return D+F+1}return $===`
|
|
217
|
+
`||F>=this.indentNext||!$&&!this.atEnd?D+F:-1}if($==="-"||$==="."){let F=this.buffer.substr(D,3);if((F==="---"||F==="...")&&Y2(this.buffer[D+3]))return-1}return D}getLine(){let D=this.lineEndPos;if(typeof D!=="number"||D!==-1&&D<this.pos)D=this.buffer.indexOf(`
|
|
218
|
+
`,this.pos),this.lineEndPos=D;if(D===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[D-1]==="\r")D-=1;return this.buffer.substring(this.pos,D)}hasChars(D){return this.pos+D<=this.buffer.length}setNext(D){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=D,null}peek(D){return this.buffer.substr(this.pos,D)}*parseNext(D){switch(D){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 D=this.getLine();if(D===null)return this.setNext("stream");if(D[0]===c3.BOM)yield*this.pushCount(1),D=D.substring(1);if(D[0]==="%"){let $=D.length,F=D.indexOf("#");while(F!==-1){let J=D[F-1];if(J===" "||J==="\t"){$=F-1;break}else F=D.indexOf("#",F+1)}while(!0){let J=D[$-1];if(J===" "||J==="\t")$-=1;else break}let X=(yield*this.pushCount($))+(yield*this.pushSpaces(!0));return yield*this.pushCount(D.length-X),this.pushNewline(),"stream"}if(this.atLineEnd()){let $=yield*this.pushSpaces(!0);return yield*this.pushCount(D.length-$),yield*this.pushNewline(),"stream"}return yield c3.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let D=this.charAt(0);if(!D&&!this.atEnd)return this.setNext("line-start");if(D==="-"||D==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let $=this.peek(3);if(($==="---"||$==="...")&&Y2(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,$==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Y2(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[D,$]=this.peek(2);if(!$&&!this.atEnd)return this.setNext("block-start");if((D==="-"||D==="?"||D===":")&&Y2($)){let F=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=F,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let D=this.getLine();if(D===null)return this.setNext("doc");let $=yield*this.pushIndicators();switch(D[$]){case"#":yield*this.pushCount(D.length-$);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(eX),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return $+=yield*this.parseBlockScalarHeader(),$+=yield*this.pushSpaces(!0),yield*this.pushCount(D.length-$),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let D,$,F=-1;do{if(D=yield*this.pushNewline(),D>0)$=yield*this.pushSpaces(!1),this.indentValue=F=$;else $=0;$+=yield*this.pushSpaces(!0)}while(D+$>0);let X=this.getLine();if(X===null)return this.setNext("flow");if(F!==-1&&F<this.indentNext&&X[0]!=="#"||F===0&&(X.startsWith("---")||X.startsWith("..."))&&Y2(X[3])){if(!(F===this.indentNext-1&&this.flowLevel===1&&(X[0]==="]"||X[0]==="}")))return this.flowLevel=0,yield c3.FLOW_END,yield*this.parseLineStart()}let J=0;while(X[J]===",")J+=yield*this.pushCount(1),J+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(J+=yield*this.pushIndicators(),X[J]){case void 0:return"flow";case"#":return yield*this.pushCount(X.length-J),"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(eX),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let Y=this.charAt(1);if(this.flowKey||Y2(Y)||Y===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let D=this.charAt(0),$=this.buffer.indexOf(D,this.pos+1);if(D==="'")while($!==-1&&this.buffer[$+1]==="'")$=this.buffer.indexOf("'",$+2);else while($!==-1){let J=0;while(this.buffer[$-1-J]==="\\")J+=1;if(J%2===0)break;$=this.buffer.indexOf('"',$+1)}let F=this.buffer.substring(0,$),X=F.indexOf(`
|
|
219
|
+
`,this.pos);if(X!==-1){while(X!==-1){let J=this.continueScalar(X+1);if(J===-1)break;X=F.indexOf(`
|
|
220
|
+
`,J)}if(X!==-1)$=X-(F[X-1]==="\r"?2:1)}if($===-1){if(!this.atEnd)return this.setNext("quoted-scalar");$=this.buffer.length}return yield*this.pushToIndex($+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let D=this.pos;while(!0){let $=this.buffer[++D];if($==="+")this.blockScalarKeep=!0;else if($>"0"&&$<="9")this.blockScalarIndent=Number($)-1;else if($!=="-")break}return yield*this.pushUntil(($)=>Y2($)||$==="#")}*parseBlockScalar(){let D=this.pos-1,$=0,F;D:for(let J=this.pos;F=this.buffer[J];++J)switch(F){case" ":$+=1;break;case`
|
|
221
|
+
`:D=J,$=0;break;case"\r":{let Y=this.buffer[J+1];if(!Y&&!this.atEnd)return this.setNext("block-scalar");if(Y===`
|
|
222
|
+
`)break}default:break D}if(!F&&!this.atEnd)return this.setNext("block-scalar");if($>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=$;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let J=this.continueScalar(D+1);if(J===-1)break;D=this.buffer.indexOf(`
|
|
223
|
+
`,J)}while(D!==-1);if(D===-1){if(!this.atEnd)return this.setNext("block-scalar");D=this.buffer.length}}let X=D+1;F=this.buffer[X];while(F===" ")F=this.buffer[++X];if(F==="\t"){while(F==="\t"||F===" "||F==="\r"||F===`
|
|
224
|
+
`)F=this.buffer[++X];D=X-1}else if(!this.blockScalarKeep)do{let J=D-1,Y=this.buffer[J];if(Y==="\r")Y=this.buffer[--J];let G=J;while(Y===" ")Y=this.buffer[--J];if(Y===`
|
|
225
|
+
`&&J>=this.pos&&J+1+$>G)D=J;else break}while(!0);return yield c3.SCALAR,yield*this.pushToIndex(D+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let D=this.flowLevel>0,$=this.pos-1,F=this.pos-1,X;while(X=this.buffer[++F])if(X===":"){let J=this.buffer[F+1];if(Y2(J)||D&&j4.has(J))break;$=F}else if(Y2(X)){let J=this.buffer[F+1];if(X==="\r")if(J===`
|
|
226
|
+
`)F+=1,X=`
|
|
227
|
+
`,J=this.buffer[F+1];else $=F;if(J==="#"||D&&j4.has(J))break;if(X===`
|
|
228
|
+
`){let Y=this.continueScalar(F+1);if(Y===-1)break;F=Math.max(F,Y-2)}}else{if(D&&j4.has(X))break;$=F}if(!X&&!this.atEnd)return this.setNext("plain-scalar");return yield c3.SCALAR,yield*this.pushToIndex($+1,!0),D?"flow":"doc"}*pushCount(D){if(D>0)return yield this.buffer.substr(this.pos,D),this.pos+=D,D;return 0}*pushToIndex(D,$){let F=this.buffer.slice(this.pos,D);if(F)return yield F,this.pos+=F.length,F.length;else if($)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(eX))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let D=this.flowLevel>0,$=this.charAt(1);if(Y2($)||D&&j4.has($)){if(!D)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let D=this.pos+2,$=this.buffer[D];while(!Y2($)&&$!==">")$=this.buffer[++D];return yield*this.pushToIndex($===">"?D+1:D,!1)}else{let D=this.pos+1,$=this.buffer[D];while($)if(mv.has($))$=this.buffer[++D];else if($==="%"&&JE.has(this.buffer[D+1])&&JE.has(this.buffer[D+2]))$=this.buffer[D+=3];else break;return yield*this.pushToIndex(D,!1)}}*pushNewline(){let D=this.buffer[this.pos];if(D===`
|
|
229
|
+
`)return yield*this.pushCount(1);else if(D==="\r"&&this.charAt(1)===`
|
|
230
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(D){let $=this.pos-1,F;do F=this.buffer[++$];while(F===" "||D&&F==="\t");let X=$-this.pos;if(X>0)yield this.buffer.substr(this.pos,X),this.pos=$;return X}*pushUntil(D){let $=this.pos,F=this.buffer[$];while(!D(F))F=this.buffer[++$];return yield*this.pushToIndex($,!1)}}cv.Lexer=GE});var $J=S((lv)=>{class YE{constructor(){this.lineStarts=[],this.addNewLine=(D)=>this.lineStarts.push(D),this.linePos=(D)=>{let $=0,F=this.lineStarts.length;while($<F){let J=$+F>>1;if(this.lineStarts[J]<D)$=J+1;else F=J}if(this.lineStarts[$]===D)return{line:$+1,col:1};if($===0)return{line:0,col:D};let X=this.lineStarts[$-1];return{line:$,col:D-X+1}}}}lv.LineCounter=YE});var FJ=S((rv)=>{var nv=x2("process"),BE=z4(),sv=DJ();function A8(D,$){for(let F=0;F<D.length;++F)if(D[F].type===$)return!0;return!1}function HE(D){for(let $=0;$<D.length;++$)switch(D[$].type){case"space":case"comment":case"newline":break;default:return $}return-1}function _E(D){switch(D?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function w4(D){switch(D.type){case"document":return D.start;case"block-map":{let $=D.items[D.items.length-1];return $.sep??$.start}case"block-seq":return D.items[D.items.length-1].start;default:return[]}}function _6(D){if(D.length===0)return[];let $=D.length;D:while(--$>=0)switch(D[$].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break D}while(D[++$]?.type==="space");return D.splice($,D.length)}function WE(D){if(D.start.type==="flow-seq-start"){for(let $ of D.items)if($.sep&&!$.value&&!A8($.start,"explicit-key-ind")&&!A8($.sep,"map-value-ind")){if($.key)$.value=$.key;if(delete $.key,_E($.value))if($.value.end)Array.prototype.push.apply($.value.end,$.sep);else $.value.end=$.sep;else Array.prototype.push.apply($.start,$.sep);delete $.sep}}}class UE{constructor(D){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new sv.Lexer,this.onNewLine=D}*parse(D,$=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let F of this.lexer.lex(D,$))yield*this.next(F);if(!$)yield*this.end()}*next(D){if(this.source=D,nv.env.LOG_TOKENS)console.log("|",BE.prettyToken(D));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=D.length;return}let $=BE.tokenType(D);if(!$){let F=`Not a YAML token: ${D}`;yield*this.pop({type:"error",offset:this.offset,message:F,source:D}),this.offset+=D.length}else if($==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=$,yield*this.step(),$){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+D.length);break;case"space":if(this.atNewLine&&D[0]===" ")this.indent+=D.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=D.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=D.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let D=this.peek(1);if(this.type==="doc-end"&&D?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!D)return yield*this.stream();switch(D.type){case"document":return yield*this.document(D);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(D);case"block-scalar":return yield*this.blockScalar(D);case"block-map":return yield*this.blockMap(D);case"block-seq":return yield*this.blockSequence(D);case"flow-collection":return yield*this.flowCollection(D);case"doc-end":return yield*this.documentEnd(D)}yield*this.pop()}peek(D){return this.stack[this.stack.length-D]}*pop(D){let $=D??this.stack.pop();if(!$)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield $;else{let F=this.peek(1);if($.type==="block-scalar")$.indent="indent"in F?F.indent:0;else if($.type==="flow-collection"&&F.type==="document")$.indent=0;if($.type==="flow-collection")WE($);switch(F.type){case"document":F.value=$;break;case"block-scalar":F.props.push($);break;case"block-map":{let X=F.items[F.items.length-1];if(X.value){F.items.push({start:[],key:$,sep:[]}),this.onKeyLine=!0;return}else if(X.sep)X.value=$;else{Object.assign(X,{key:$,sep:[]}),this.onKeyLine=!X.explicitKey;return}break}case"block-seq":{let X=F.items[F.items.length-1];if(X.value)F.items.push({start:[],value:$});else X.value=$;break}case"flow-collection":{let X=F.items[F.items.length-1];if(!X||X.value)F.items.push({start:[],key:$,sep:[]});else if(X.sep)X.value=$;else Object.assign(X,{key:$,sep:[]});return}default:yield*this.pop(),yield*this.pop($)}if((F.type==="document"||F.type==="block-map"||F.type==="block-seq")&&($.type==="block-map"||$.type==="block-seq")){let X=$.items[$.items.length-1];if(X&&!X.sep&&!X.value&&X.start.length>0&&HE(X.start)===-1&&($.indent===0||X.start.every((J)=>J.type!=="comment"||J.indent<$.indent))){if(F.type==="document")F.end=X.start;else F.items.push({start:X.start});$.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 D={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")D.start.push(this.sourceToken);this.stack.push(D);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(D){if(D.value)return yield*this.lineEnd(D);switch(this.type){case"doc-start":{if(HE(D.start)!==-1)yield*this.pop(),yield*this.step();else D.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":D.start.push(this.sourceToken);return}let $=this.startBlockValue(D);if($)this.stack.push($);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(D){if(this.type==="map-value-ind"){let $=w4(this.peek(2)),F=_6($),X;if(D.end)X=D.end,X.push(this.sourceToken),delete D.end;else X=[this.sourceToken];let J={type:"block-map",offset:D.offset,indent:D.indent,items:[{start:F,key:D,sep:X}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=J}else yield*this.lineEnd(D)}*blockScalar(D){switch(this.type){case"space":case"comment":case"newline":D.props.push(this.sourceToken);return;case"scalar":if(D.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let $=this.source.indexOf(`
|
|
231
|
+
`)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
|
|
232
|
+
`,$)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(D){let $=D.items[D.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,$.value){let F="end"in $.value?$.value.end:void 0;if((Array.isArray(F)?F[F.length-1]:void 0)?.type==="comment")F?.push(this.sourceToken);else D.items.push({start:[this.sourceToken]})}else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)D.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else{if(this.atIndentedComment($.start,D.indent)){let X=D.items[D.items.length-2]?.value?.end;if(Array.isArray(X)){Array.prototype.push.apply(X,$.start),X.push(this.sourceToken),D.items.pop();return}}$.start.push(this.sourceToken)}return}if(this.indent>=D.indent){let F=!this.onKeyLine&&this.indent===D.indent,X=F&&($.sep||$.explicitKey)&&this.type!=="seq-item-ind",J=[];if(X&&$.sep&&!$.value){let Y=[];for(let G=0;G<$.sep.length;++G){let B=$.sep[G];switch(B.type){case"newline":Y.push(G);break;case"space":break;case"comment":if(B.indent>D.indent)Y.length=0;break;default:Y.length=0}}if(Y.length>=2)J=$.sep.splice(Y[1])}switch(this.type){case"anchor":case"tag":if(X||$.value)J.push(this.sourceToken),D.items.push({start:J}),this.onKeyLine=!0;else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"explicit-key-ind":if(!$.sep&&!$.explicitKey)$.start.push(this.sourceToken),$.explicitKey=!0;else if(X||$.value)J.push(this.sourceToken),D.items.push({start:J,explicitKey:!0});else 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($.explicitKey)if(!$.sep)if(A8($.start,"newline"))Object.assign($,{key:null,sep:[this.sourceToken]});else{let Y=_6($.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Y,key:null,sep:[this.sourceToken]}]})}else if($.value)D.items.push({start:[],key:null,sep:[this.sourceToken]});else if(A8($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:J,key:null,sep:[this.sourceToken]}]});else if(_E($.key)&&!A8($.sep,"newline")){let Y=_6($.start),G=$.key,B=$.sep;B.push(this.sourceToken),delete $.key,delete $.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Y,key:G,sep:B}]})}else if(J.length>0)$.sep=$.sep.concat(J,this.sourceToken);else $.sep.push(this.sourceToken);else if(!$.sep)Object.assign($,{key:null,sep:[this.sourceToken]});else if($.value||X)D.items.push({start:J,key:null,sep:[this.sourceToken]});else if(A8($.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else $.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Y=this.flowScalar(this.type);if(X||$.value)D.items.push({start:J,key:Y,sep:[]}),this.onKeyLine=!0;else if($.sep)this.stack.push(Y);else Object.assign($,{key:Y,sep:[]}),this.onKeyLine=!0;return}default:{let Y=this.startBlockValue(D);if(Y){if(Y.type==="block-seq"){if(!$.explicitKey&&$.sep&&!A8($.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 if(F)D.items.push({start:J});this.stack.push(Y);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(D){let $=D.items[D.items.length-1];switch(this.type){case"newline":if($.value){let F="end"in $.value?$.value.end:void 0;if((Array.isArray(F)?F[F.length-1]:void 0)?.type==="comment")F?.push(this.sourceToken);else D.items.push({start:[this.sourceToken]})}else $.start.push(this.sourceToken);return;case"space":case"comment":if($.value)D.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment($.start,D.indent)){let X=D.items[D.items.length-2]?.value?.end;if(Array.isArray(X)){Array.prototype.push.apply(X,$.start),X.push(this.sourceToken),D.items.pop();return}}$.start.push(this.sourceToken)}return;case"anchor":case"tag":if($.value||this.indent<=D.indent)break;$.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==D.indent)break;if($.value||A8($.start,"seq-item-ind"))D.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return}if(this.indent>D.indent){let F=this.startBlockValue(D);if(F){this.stack.push(F);return}}yield*this.pop(),yield*this.step()}*flowCollection(D){let $=D.items[D.items.length-1];if(this.type==="flow-error-end"){let F;do yield*this.pop(),F=this.peek(1);while(F?.type==="flow-collection")}else if(D.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!$||$.sep)D.items.push({start:[this.sourceToken]});else $.start.push(this.sourceToken);return;case"map-value-ind":if(!$||$.value)D.items.push({start:[],key:null,sep:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else Object.assign($,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!$||$.value)D.items.push({start:[this.sourceToken]});else if($.sep)$.sep.push(this.sourceToken);else $.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let X=this.flowScalar(this.type);if(!$||$.value)D.items.push({start:[],key:X,sep:[]});else if($.sep)this.stack.push(X);else Object.assign($,{key:X,sep:[]});return}case"flow-map-end":case"flow-seq-end":D.end.push(this.sourceToken);return}let F=this.startBlockValue(D);if(F)this.stack.push(F);else yield*this.pop(),yield*this.step()}else{let F=this.peek(2);if(F.type==="block-map"&&(this.type==="map-value-ind"&&F.indent===D.indent||this.type==="newline"&&!F.items[F.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&F.type!=="flow-collection"){let X=w4(F),J=_6(X);WE(D);let Y=D.end.splice(1,D.end.length);Y.push(this.sourceToken);let G={type:"block-map",offset:D.offset,indent:D.indent,items:[{start:J,key:D,sep:Y}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=G}else yield*this.lineEnd(D)}}flowScalar(D){if(this.onNewLine){let $=this.source.indexOf(`
|
|
233
|
+
`)+1;while($!==0)this.onNewLine(this.offset+$),$=this.source.indexOf(`
|
|
234
|
+
`,$)+1}return{type:D,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(D){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 $=w4(D),F=_6($);return F.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:F,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let $=w4(D),F=_6($);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:F,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(D,$){if(this.type!=="comment")return!1;if(this.indent<=$)return!1;return D.every((F)=>F.type==="newline"||F.type==="space")}*documentEnd(D){if(this.type!=="doc-mode"){if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(D){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;case"space":case"comment":default:if(D.end)D.end.push(this.sourceToken);else D.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}rv.Parser=UE});var KE=S((Jg)=>{var AE=lX(),av=x3(),d3=y3(),tv=$X(),ev=BD(),Dg=$J(),VE=FJ();function QE(D){let $=D.prettyErrors!==!1;return{lineCounter:D.lineCounter||$&&new Dg.LineCounter||null,prettyErrors:$}}function $g(D,$={}){let{lineCounter:F,prettyErrors:X}=QE($),J=new VE.Parser(F?.addNewLine),Y=new AE.Composer($),G=Array.from(Y.compose(J.parse(D)));if(X&&F)for(let B of G)B.errors.forEach(d3.prettifyError(D,F)),B.warnings.forEach(d3.prettifyError(D,F));if(G.length>0)return G;return Object.assign([],{empty:!0},Y.streamInfo())}function EE(D,$={}){let{lineCounter:F,prettyErrors:X}=QE($),J=new VE.Parser(F?.addNewLine),Y=new AE.Composer($),G=null;for(let B of Y.compose(J.parse(D),!0,D.length))if(!G)G=B;else if(G.options.logLevel!=="silent"){G.errors.push(new d3.YAMLParseError(B.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(X&&F)G.errors.forEach(d3.prettifyError(D,F)),G.warnings.forEach(d3.prettifyError(D,F));return G}function Fg(D,$,F){let X=void 0;if(typeof $==="function")X=$;else if(F===void 0&&$&&typeof $==="object")F=$;let J=EE(D,F);if(!J)return null;if(J.warnings.forEach((Y)=>tv.warn(J.options.logLevel,Y)),J.errors.length>0)if(J.options.logLevel!=="silent")throw J.errors[0];else J.errors=[];return J.toJS(Object.assign({reviver:X},F))}function Xg(D,$,F){let X=null;if(typeof $==="function"||Array.isArray($))X=$;else if(F===void 0&&$)F=$;if(typeof F==="string")F=F.length;if(typeof F==="number"){let J=Math.round(F);F=J<1?void 0:J>8?{indent:8}:{indent:J}}if(D===void 0){let{keepUndefined:J}=F??$??{};if(!J)return}if(ev.isDocument(D)&&!X)return D.toString(F);return new av.Document(D,X,F).toString(F)}Jg.parse=Fg;Jg.parseAllDocuments=$g;Jg.parseDocument=EE;Jg.stringify=Xg});var Wg,_g,Ug,XJ,Ag,V8,Vg,Qg,Eg,Kg,Bt,Cg,Rg,Og,I4,CE,Mg,qg,Ng,Pg,Zg,Lg,zg,jg,wg,Ig,Tg,Sg,fg,bg,kg,vg,gg,hg,xg,yg,ug,mg,T4,pg,cg,JJ,dg,lg;var GJ=R(()=>{Wg=lX(),_g=x3(),Ug=IX(),XJ=y3(),Ag=P3(),V8=BD(),Vg=H8(),Qg=hD(),Eg=_8(),Kg=U8(),Bt=z4(),Cg=DJ(),Rg=$J(),Og=FJ(),I4=KE(),CE=q3();Mg=Wg.Composer,qg=_g.Document,Ng=Ug.Schema,Pg=XJ.YAMLError,Zg=XJ.YAMLParseError,Lg=XJ.YAMLWarning,zg=Ag.Alias,jg=V8.isAlias,wg=V8.isCollection,Ig=V8.isDocument,Tg=V8.isMap,Sg=V8.isNode,fg=V8.isPair,bg=V8.isScalar,kg=V8.isSeq,vg=Vg.Pair,gg=Qg.Scalar,hg=Eg.YAMLMap,xg=Kg.YAMLSeq,yg=Cg.Lexer,ug=Rg.LineCounter,mg=Og.Parser,T4=I4.parse,pg=I4.parseAllDocuments,cg=I4.parseDocument,JJ=I4.stringify,dg=CE.visit,lg=CE.visitAsync});var ig,ng,sg,rg,og,ag,OE,tg,eg,RE,Dh,ME;var qE=R(()=>{Q0();ig=_.object({id:_.string().min(1),type:_.literal("filesystem"),priority:_.number().int(),readOnly:_.boolean(),config:_.object({home:_.string().min(1).optional()})}),ng=_.object({id:_.string().min(1),type:_.literal("cloud-gateway"),priority:_.number().int(),readOnly:_.boolean(),config:_.object({url:_.string().min(1),token:_.string(),defaultCategory:_.string().optional(),defaultTypeId:_.string().optional()})}),sg=_.discriminatedUnion("type",[ig,ng]),rg=_.object({binary:_.string().min(1).optional(),extraArgs:_.array(_.string()).optional(),env:_.record(_.string()).optional(),cliVersion:_.string().min(1).optional()}).strict(),og=_.record(_.unknown()).and(_.object({cmd:rg.optional()}).partial()),ag=_.enum(["rate-limit","timeout","auth","network","server-5xx","unknown"]),OE=_.lazy(()=>_.object({engine:_.enum(["http","mcp","cli","claude-code","acp","codex","cursor"]),variant:_.string().min(1),overrides:og.optional(),modelId:_.string().min(1).optional(),reasoningId:_.string().min(1).optional(),permissionPolicy:_.enum(["auto","supervised","plan"]).optional(),fallbacks:_.array(_.object({executor:OE,onErrorKinds:_.array(ag).min(1),maxRetries:_.number().int().min(1).optional()})).optional()})),tg=_.discriminatedUnion("channel",[_.object({channel:_.literal("web")}),_.object({channel:_.literal("line"),channelSecret:_.string(),channelAccessToken:_.string()}),_.object({channel:_.literal("telegram"),botToken:_.string(),webhookSecretToken:_.string().optional()}),_.object({channel:_.literal("lark"),appId:_.string(),appSecret:_.string(),encryptKey:_.string(),verificationToken:_.string()}),_.object({channel:_.literal("whatsapp"),phoneNumberId:_.string(),accessToken:_.string(),appSecret:_.string(),verifyToken:_.string()})]),eg=_.object({channel:_.enum(["web","line","telegram","lark","whatsapp"]),enabled:_.boolean(),credentials:tg,profile:_.object({displayName:_.string().optional(),avatarUrl:_.string().optional()}).optional()}).refine((D)=>D.channel===D.credentials.channel,{message:"channel and credentials.channel must match",path:["credentials","channel"]}),RE=_.enum(["auto","ask","deny"]),Dh=_.object({default:RE,rules:_.array(_.object({pattern:_.string().min(1),action:RE}))}),ME=_.object({brains:_.array(sg),brainWriteTarget:_.string(),brainRetrieval:_.enum(["merge-by-priority","first-match"]),executor:OE,channels:_.array(eg),evolution:_.object({enabled:_.boolean(),observationRetentionDays:_.number().int().nonnegative()}),toolPolicy:Dh.optional()})});import{writeFile as $h}from"fs/promises";async function q0(D){let $=await D.select().from($2).where(p($2.pk,"default")).get();if(!$)throw Error("worker_config row missing \u2014 bootstrap did not run");return{config:$.configJson,version:$.version}}async function l3(D,$,F,X={}){let J=ME.safeParse(F);if(!J.success)throw new q2(J.error.issues);let Y=await q0(D);if(X.ifMatchVersion!==void 0&&X.ifMatchVersion!==Y.version)throw new N2(X.ifMatchVersion,Y.version);let G=J.data,B=new Set(f2(Y.config).map((E)=>E.path)),H=f2(G),W=new Set(H.map((E)=>E.path));for(let{path:E,value:C}of H)if(C.length>0)await $.put(E,C);for(let E of B)if(!W.has(E))await $.remove(E);let U=R7(G),A=Y.version+1,V=new Date().toISOString();return await D.update($2).set({configJson:U,version:A,updatedAt:V,updatedBy:"api"}).where(p($2.pk,"default")).run(),{config:U,version:A}}async function i3(D,$,F){let X=VB(D),J=JJ({version:F,config:$});try{await $h(X,J,{encoding:"utf8"})}catch(Y){M.warn(`[mirror-config] failed to write ${X}: ${String(Y)}`)}}async function U6(D){let $=await l3(D.db,D.vault,D.raw,D.ifMatchVersion===void 0?{}:{ifMatchVersion:D.ifMatchVersion});await i3(D.workerId,$.config,$.version);let F="ok";try{await D.reloadRuntime($.config,$.version)}catch(X){F="failed",M.error("[applyConfigUpdate] runtime reload failed",X)}return{...$,runtimeReload:F}}var q2,N2;var YJ=R(()=>{j8();jD();JD();O0();GJ();qE();q2=class q2 extends Error{issues;constructor(D,$="invalid worker config"){super($);this.issues=D;this.name="InvalidConfigError"}};N2=class N2 extends Error{expected;actual;constructor(D,$){super(`config version ${D} does not match current version ${$}`);this.expected=D;this.actual=$;this.name="ConfigVersionConflictError"}}});function S4(D){return{cronList:async()=>{return{jobs:await D().listJobs()}},cronAdd:async($)=>{return{job:await D().addJob($.job)}},cronRemove:async($)=>{return await D().removeJob($.jobId)},cronUpdate:async($)=>{let F=await D().updateJob($.jobId,$.patch);if(!F)throw new f4($.jobId);return{job:F}}}}var f4;var BJ=R(()=>{f4=class f4 extends Error{jobId;constructor(D){super(`cron job ${D} \u4E0D\u5B58\u5728`);this.jobId=D;this.name="CronJobNotFoundError"}}});class HJ{deps;constructor(D){this.deps=D}async handleRequest(D){let{id:$,method:F,params:X}=D;try{let J=F$(F);if(!J){this.replyError($,"unknown_method",`unknown method: ${F}`);return}if(J.routing!=="operator-to-node"){this.replyError($,"wrong_routing",`method ${F} should be handled by gateway, not node`);return}let Y=J.params.safeParse(X??{});if(!Y.success){this.replyError($,"invalid_params",`params schema mismatch for ${F}`,Y.error.issues);return}let G=Y.data;switch(F){case nD["chat.send"].method:await this.handleChatSend($,G);break;case nD["config.get"].method:await this.handleConfigGet($);break;case nD["config.put"].method:await this.handleConfigPut($,G);break;case nD["token.rotate"].method:await this.handleTokenRotate($);break;case nD["logs.tail"].method:await this.handleLogsTail($,G);break;case nD["approval.list"].method:this.handleApprovalList($);break;case nD["approval.grant"].method:this.handleApprovalGrant($,G);break;case nD["cron.list"].method:await this.handleCronList($,G);break;case nD["cron.add"].method:await this.handleCronAdd($,G);break;case nD["cron.remove"].method:await this.handleCronRemove($,G);break;case nD["cron.update"].method:await this.handleCronUpdate($,G);break;case nD["workers.info"].method:this.replyError($,"method_not_implemented",`${F} is not yet implemented on node side`);break;case nD["workers.stop"].method:this.replyError($,"method_not_implemented",`${F} is not yet implemented on node side`);break;default:this.replyError($,"method_not_implemented",`${F} not routed`)}}catch(J){M.error(`[gateway-dispatcher ${this.deps.workerId}] handler threw: ${String(J)}`),this.replyError($,"internal_error",J instanceof Error?J.message:String(J))}}async handleChatSend(D,$){let F=String($.workerId);if(F!==this.deps.workerId){this.replyError(D,"worker_mismatch",`chat.send targeted workerId=${F}, this node is ${this.deps.workerId}`);return}let X=String($.content),J=typeof $.conversationId==="string"?$.conversationId:void 0,Y=J?`gw:conv:${J}`:`gw:${this.deps.workerId}:${crypto.randomUUID()}`,G={workerId:this.deps.workerId,channel:"web",accountId:"sys:gateway",chatId:Y,text:X,receivedAt:new Date().toISOString(),raw:{source:"gateway",...$.metadata!==void 0?{metadata:$.metadata}:{}}};this.deps.getRuntime().orchestrator.ingest(G).catch((B)=>{M.warn(`[gateway-dispatcher ${this.deps.workerId}] orchestrator.ingest failed: ${String(B)}`)}),this.replyOk(D,{conversationId:Y,accepted:!0})}async handleConfigGet(D){if(!this.deps.handlers?.configGet){this.replyError(D,"method_not_implemented","config.get handler not wired");return}let $=await this.deps.handlers.configGet();this.replyOk(D,$)}async handleConfigPut(D,$){if(!this.deps.handlers?.configPut){this.replyError(D,"method_not_implemented","config.put handler not wired");return}let F=Number($.ifMatch),X=$.config;try{let J=await this.deps.handlers.configPut({ifMatch:F,config:X});this.replyOk(D,J)}catch(J){if(J instanceof q2){this.replyError(D,"invalid_config",J.message,{issues:J.issues});return}if(J instanceof N2){this.replyError(D,"version_conflict",J.message,{expected:J.expected,actual:J.actual});return}throw J}}async handleTokenRotate(D){if(!this.deps.handlers?.tokenRotate){this.replyError(D,"method_not_implemented","token.rotate handler not wired");return}let $=await this.deps.handlers.tokenRotate();this.replyOk(D,$)}async handleLogsTail(D,$){if(!this.deps.handlers?.logsTail){this.replyOk(D,{subscribed:!1});return}let F={};if(typeof $.follow==="boolean")F.follow=$.follow;if(typeof $.lines==="number")F.lines=$.lines;let X=await this.deps.handlers.logsTail(F);this.replyOk(D,X)}handleApprovalList(D){let $=this.deps.getRuntime().approvals;if(!$){this.replyError(D,"method_not_implemented","approval store not wired");return}let F=$.list().map((X)=>({workerId:this.deps.workerId,taskId:X.taskId,toolCallId:X.toolCallId,toolName:X.toolName,params:X.params,expiresAt:X.expiresAt}));this.replyOk(D,{approvals:F})}handleApprovalGrant(D,$){let F=this.deps.getRuntime().approvals;if(!F){this.replyError(D,"method_not_implemented","approval store not wired");return}let X=String($.taskId),J=String($.toolCallId),Y=$.decision==="allow"?"allow":"deny",G=F.grant(X,J,Y);this.replyOk(D,{granted:G})}ensureWorkerMatch(D,$){let F=String($.workerId);if(F!==this.deps.workerId)return this.replyError(D,"worker_mismatch",`targeted workerId=${F}, this node is ${this.deps.workerId}`),!1;return!0}async handleCronList(D,$){if(!this.deps.handlers?.cronList){this.replyError(D,"method_not_implemented","cron.list handler not wired");return}if(!this.ensureWorkerMatch(D,$))return;let F=await this.deps.handlers.cronList();this.replyOk(D,F)}async handleCronAdd(D,$){if(!this.deps.handlers?.cronAdd){this.replyError(D,"method_not_implemented","cron.add handler not wired");return}if(!this.ensureWorkerMatch(D,$))return;try{let F=await this.deps.handlers.cronAdd({job:$.job});this.replyOk(D,F)}catch(F){this.replyError(D,"invalid_cron",F instanceof Error?F.message:String(F))}}async handleCronRemove(D,$){if(!this.deps.handlers?.cronRemove){this.replyError(D,"method_not_implemented","cron.remove handler not wired");return}if(!this.ensureWorkerMatch(D,$))return;let F=await this.deps.handlers.cronRemove({jobId:String($.jobId)});this.replyOk(D,F)}async handleCronUpdate(D,$){if(!this.deps.handlers?.cronUpdate){this.replyError(D,"method_not_implemented","cron.update handler not wired");return}if(!this.ensureWorkerMatch(D,$))return;try{let F=await this.deps.handlers.cronUpdate({jobId:String($.jobId),patch:$.patch});this.replyOk(D,F)}catch(F){if(F instanceof f4){this.replyError(D,"not_found",F.message,{jobId:F.jobId});return}this.replyError(D,"invalid_cron",F instanceof Error?F.message:String(F))}}replyOk(D,$){this.deps.sendResponse({type:"response",id:D,ok:!0,result:$})}replyError(D,$,F,X){this.deps.sendResponse({type:"response",id:D,ok:!1,error:X===void 0?{code:$,message:F}:{code:$,message:F,details:X}})}}var NE=R(()=>{L8();JD();YJ();BJ()});class WJ{deps;unsub=null;constructor(D){this.deps=D}start(){this.stop();let D=this.deps.getBus();this.unsub=D.on(($)=>this.handle($))}stop(){if(this.unsub)this.unsub(),this.unsub=null}emit(D,$){let F={type:"event",name:D,payload:{workerId:this.deps.workerId,...$},ts:Date.now()};this.deps.sendEvent(F)}handle(D){let $=this.map(D);if(!$)return;this.deps.sendEvent({type:"event",name:$.name,payload:{workerId:this.deps.workerId,...$.payload},ts:Date.parse(D.at)||Date.now()})}map(D){let $=D.payload;switch(D.type){case"orchestrator.text":{let F=B2($.conversationId);if(!F)return null;let X=typeof $.delta==="string"?$.delta:"";return{name:WD.AGENT_THINKING,payload:{conversationId:F,chunk:X}}}case"orchestrator.tool_call":{let F=B2($.conversationId),X=$.call??{},J=B2(X.id),Y=B2(X.name);if(!F||!J||!Y)return null;return{name:WD.AGENT_TOOL_CALL,payload:{conversationId:F,toolCallId:J,toolName:Y,status:"pending",...X.arguments!==void 0?{args:X.arguments}:{}}}}case"orchestrator.finished":{let F=B2($.conversationId);if(!F)return null;return{name:WD.AGENT_DONE,payload:{conversationId:F,finishReason:"stop"}}}case"orchestrator.error":{let F=B2($.conversationId);if(!F)return null;return{name:WD.AGENT_DONE,payload:{conversationId:F,finishReason:"error"}}}case"conversation.message":{let F=B2($.conversationId),X=B2($.role);if(!F||!X)return null;if(X!=="user"&&X!=="assistant"&&X!=="system")return null;return{name:WD.CHAT_MESSAGE,payload:{conversationId:F,role:X,content:typeof $.content==="string"?$.content:"",createdAt:Date.parse(D.at)||Date.now()}}}case"approval.requested":{let F=B2($.taskId),X=B2($.toolCallId),J=B2($.toolName),Y=typeof $.expiresAt==="number"?$.expiresAt:null;if(!F||!X||!J||Y===null)return null;let G=typeof $.params==="object"&&$.params!==null?$.params:{};return{name:WD.APPROVAL_REQUESTED,payload:{taskId:F,toolCallId:X,toolName:J,params:G,expiresAt:Y}}}default:return null}}}function B2(D){return typeof D==="string"&&D.length>0?D:null}var PE=R(()=>{L8()});function b4(D){let $=WV(D),F=!1,X=null,J=new WJ({workerId:$.workerId,getBus:()=>D.getRuntime().bus,sendEvent:(G)=>X?.send(G)}),Y=new HJ({workerId:$.workerId,getRuntime:D.getRuntime,...D.handlers?{handlers:D.handlers}:{},sendResponse:(G)=>X?.send(G)});return X=new iF({options:$,onConnected:()=>{F=!0,J.start()},onDisconnected:(G)=>{F=!1,J.stop(),M.info(`[gateway-client ${$.workerId}] disconnected: ${G}`)},onFrame:(G)=>{if(G.type==="request"){Y.handleRequest(G);return}M.warn(`[gateway-client ${$.workerId}] unexpected inbound frame type=${G.type}`)},...D.onEnrollmentOtp?{onEnrollmentOtp:D.onEnrollmentOtp}:{},...D.onEnrollmentApproved?{onEnrollmentApproved:D.onEnrollmentApproved}:{},...D.webSocketCtor?{webSocketCtor:D.webSocketCtor}:{}}),X.start(),{async stop(){if(J.stop(),X)await X.stop(),X=null},isConnected(){return F},notifyRuntimeReloaded(){if(F)J.start()}}}async function ZE(D){await D.stop()}var LE=R(()=>{JD();HV();NE();PE()});function Fh(D){if(D instanceof Error)return D.message;return String(D)}async function k4(D,$){let F=$.brains;try{let X=await D.runtime.brain.health();if(F.length===1){let J=F[0];return{brains:[{id:J.id,type:J.type,status:X.status}]}}return{brains:[{id:"aggregate",type:"multi",status:X.status}]}}catch(X){return{brains:[{id:F.length===1?F[0].id:"aggregate",type:F.length===1?F[0].type:"multi",status:"down",errorMessage:Fh(X)}]}}}function Jh(D){return Xh.has(D)}function Gh(D){if(D instanceof Error)return D.message;return String(D)}async function v4(D,$,F={}){if(!Jh($))throw RD.notFound(`unknown channel '${$}'`);let X=D.runtime.channels.get($);if(!X)throw RD.notFound(`channel '${$}' is not bound or not enabled`);let J=y8($);if(F.chatId===void 0||F.text===void 0)return{sent:!1,platformResponse:{dryRun:!0,channel:$,enabled:X.enabled}};let Y={channel:$,chatId:F.chatId,text:F.text};try{return await J.send(X,Y),{sent:!0,platformResponse:{ok:!0}}}catch(G){return{sent:!1,error:Gh(G)}}}var Xh;var zE=R(()=>{s0();G3();Xh=new Set(["web","line","telegram","lark","whatsapp"])});function Yh(D){if(D instanceof Error)return D.message;return String(D)}async function Bh(D){let $=performance.now(),F=new AbortController,X=setTimeout(()=>F.abort(),5000);try{let J=D.runtime.executor.run({messages:[{role:"user",content:"ping"}],signal:F.signal}),Y="";for await(let G of J)if(G.type==="assistant_message_delta"){if(Y+=G.delta,Y.length>=100)break}else if(G.type==="error")return{ok:!1,latencyMs:Math.round(performance.now()-$),error:G.error};else if(G.type==="finish")break;return{ok:!0,latencyMs:Math.round(performance.now()-$),output:Y.slice(0,100)}}catch(J){return{ok:!1,latencyMs:Math.round(performance.now()-$),error:Yh(J)}}finally{clearTimeout(X)}}async function g4(D,$,F={}){let X=$.executor.engine,J="unknown";try{J=(await D.runtime.executor.health()).status}catch{J="unknown"}if(!F.probe)return{executor:{type:X,status:J}};let Y=await Bh(D);if(!Y.ok)return{executor:{type:X,status:"degraded",tinyProbe:{ok:!1,latencyMs:Y.latencyMs},...Y.error===void 0?{}:{probeError:Y.error}}};return{executor:{type:X,status:J,tinyProbe:{ok:!0,latencyMs:Y.latencyMs,...Y.output===void 0?{}:{output:Y.output}}}}}function Wh(D){if(!D)return"unknown";return D.status}async function jE(D){try{let $=await D();return Wh($??null)}catch{return"unknown"}}function _h(D){let $=Uh(D);if(!$)return;if($.modelId!==void 0)return $.modelId;let F=$.body;if(typeof F.model==="string"&&F.model.length>0)return F.model;if(typeof F.defaultModel==="string"&&F.defaultModel.length>0)return F.defaultModel;return}function Uh(D){try{return t2(D)}catch{return null}}function Ah(D,$){if(!D)return;return`${D.replace(/\/+$/,"")}/${$}/webhook`}async function h4(D,$,F){let{runtime:X}=D,J=await jE(()=>X.executor.health()),Y=await jE(()=>X.brain.health()),G=$.brains.map((U)=>({id:U.id,type:U.type,status:Y})),B=_h($.executor),H={type:$.executor.engine,...B===void 0?{}:{model:B},status:J},W=$.channels.map((U)=>{let A=Ah(F.advertisedBaseUrl,U.channel);return{channel:U.channel,enabled:U.enabled,...A?{webhookUrl:A}:{}}});return{workerId:D.workerId,runtimeVersion:Hh,configVersion:D.configVersion,brains:G,executor:H,channels:W,evolutionEnabled:$.evolution.enabled,startedAt:D.startedAt,...F.advertisedBaseUrl?{advertisedBaseUrl:F.advertisedBaseUrl}:{}}}var Hh="0.2.0";var wE=R(()=>{v8()});async function Q8(D,$,F){let X=x1(),{ciphertext:J,nonce:Y,authTag:G}=$.encryptString(X),B=new Date().toISOString();return await D.update(z0).set({apiTokenEnc:J,nonce:Y,authTag:G,rotatedAt:B}).where(p(z0.pk,"default")).run(),F.tokenPlaintext=X,{newToken:X}}var IE=R(()=>{jD();O0();GF()});async function x4(D){return D.list()}async function y4(D,$,F){if(!$||!$.trim())throw RD.badRequest("secret key is required");if(F.length===0)throw RD.badRequest("secret value must be a non-empty string");await D.put($,F)}async function u4(D,$){if(!$||!$.trim())throw RD.badRequest("secret key is required");if(await D.get($)===null)throw RD.notFound(`secret '${$}' not found`);await D.remove($)}var TE=R(()=>{s0()});class e8{pending=new Map;disposed=!1;wait(D){if(this.disposed)return Promise.reject(new SE);let $=D.timeoutMs??_J,F=Date.now()+$,X=e8.key(D.taskId,D.toolCallId);return new Promise((J)=>{let Y=setTimeout(()=>{let B=this.pending.get(X);if(!B)return;this.pending.delete(X),B.resolve("deny")},$);Y.unref?.(),this.pending.set(X,{taskId:D.taskId,toolCallId:D.toolCallId,toolName:D.toolName,params:D.params,expiresAt:F,resolve:J,timer:Y})})}grant(D,$,F){let X=e8.key(D,$),J=this.pending.get(X);if(!J)return!1;return clearTimeout(J.timer),this.pending.delete(X),J.resolve(F),!0}list(){let D=[];for(let $ of this.pending.values())D.push({taskId:$.taskId,toolCallId:$.toolCallId,toolName:$.toolName,params:$.params,expiresAt:$.expiresAt});return D}size(){return this.pending.size}dispose(){if(this.disposed)return;this.disposed=!0;for(let D of this.pending.values())clearTimeout(D.timer),D.resolve("deny");this.pending.clear()}static key(D,$){return`${D}:${$}`}}var SE,_J=60000;var m4=R(()=>{SE=class SE extends Error{name="ApprovalDisposedError";constructor(){super("approval store disposed")}}});class bE{items=[];enqueue(D){this.items.push(D)}head(){return this.items[0]}shift(){return this.items.shift()}drain(){let D=this.items;return this.items=[],D}isEmpty(){return this.items.length===0}remove(D){let $=this.items.findIndex((X)=>X.handle.id===D);if($<0)return;let[F]=this.items.splice($,1);return F}values(){return this.items}}function p4(){return Date.now()}function D1(){return new Date().toISOString()}function UJ(D){if(D===null||typeof D!=="object"||!("unref"in D))return;try{D.unref()}catch{}}class $1{opts;handles=new Map;groups=new Map;running=new Map;runningGroups=new Set;runningByEngine=new Map;terminalLog=[];gcTimer=null;disposed=!1;enqueueSeq=0;constructor(D){this.opts=D;this.startGcLoop()}setLimits(D){if(D.maxConcurrentTotal!==void 0&&D.maxConcurrentTotal>0)this.opts.maxConcurrentTotal=D.maxConcurrentTotal;if(D.perEngineLimits!==void 0){for(let[$,F]of Object.entries(D.perEngineLimits))if(F===void 0)delete this.opts.perEngineLimits[$];else if(F>0)this.opts.perEngineLimits[$]=F}this.kick()}run(D){if(this.disposed)return Promise.reject(Error("ProcessManager disposed"));return new Promise(($,F)=>{let X=`proc_${crypto.randomUUID()}`,J={id:X,class:D.class??"default",group:D.group,engine:D.engine,state:"queued",meta:D.meta??null,startedAt:null,updatedAt:D1(),lastActivityAt:D1(),cancel:async()=>this.cancelHandle(X)};this.handles.set(X,J);let Y={handle:J,req:D,enqueuedAt:p4(),enqueueSeq:++this.enqueueSeq,resolve:$,reject:F,cancelledBeforeStart:!1},G=this.groups.get(D.group);if(!G)G=new bE,this.groups.set(D.group,G);if(G.enqueue(Y),D.signal)if(D.signal.aborted)this.cancelHandle(X).catch(()=>{return});else{let B=()=>{D.signal?.removeEventListener("abort",B),this.cancelHandle(X).catch(()=>{return})};D.signal.addEventListener("abort",B,{once:!0})}this.kick()})}async cancelGroup(D){let $=this.groups.get(D);if($)for(let X of $.drain())this.markCancelledBeforeStart(X);let F=[];for(let[,X]of this.running.entries())if(X.handle.group===D)F.push(this.cancelRunning(X));await Promise.allSettled(F),this.kick()}async cancelAll(){for(let $ of this.groups.values())for(let F of $.drain())this.markCancelledBeforeStart(F);let D=[];for(let $ of this.running.values())D.push(this.cancelRunning($));await Promise.allSettled(D),this.kick()}snapshot(){let D={queued:0,spawning:0,running:0,completed:0,failed:0,cancelled:0};for(let G of this.handles.values())D[G.state]+=1;let $=new Map,F=0;for(let G of this.groups.values())for(let B of G.values())F+=1,$.set(B.handle.engine,($.get(B.handle.engine)??0)+1);let X=new Set([...Object.keys(this.opts.perEngineLimits),...this.runningByEngine.keys(),...$.keys()]),J={};for(let G of X){let B=this.opts.perEngineLimits[G]??this.opts.maxConcurrentTotal,H=this.runningByEngine.get(G)??0,W=$.get(G)??0,U=Math.max(0,B-H),A=Math.max(0,this.opts.maxConcurrentTotal-this.totalActive());J[G]={limit:B,active:H,queued:W,available:Math.min(U,A)}}let Y=this.terminalLog.slice(-10).map((G)=>({id:G.handle.id,engine:G.handle.engine,group:G.handle.group,state:G.handle.state,terminatedAt:G.handle.updatedAt})).reverse();return{maxConcurrentTotal:this.opts.maxConcurrentTotal,totalActive:this.totalActive(),totalQueued:F,availableSlots:Math.max(0,this.opts.maxConcurrentTotal-this.totalActive()),perEngine:J,byState:D,recentTerminal:Y}}dispose(){if(this.disposed=!0,this.gcTimer)clearInterval(this.gcTimer),this.gcTimer=null;for(let D of this.running.values()){if(D.stallTimer)clearTimeout(D.stallTimer);if(D.killTimer)clearTimeout(D.killTimer)}}totalActive(){return this.running.size}startGcLoop(){if(this.opts.gcIntervalMs<=0)return;this.gcTimer=setInterval(()=>this.gcTerminal(),this.opts.gcIntervalMs),UJ(this.gcTimer)}gcTerminal(){let D=p4()-this.opts.autoCleanupDelayMs,$=[];for(let F of this.terminalLog)if(F.recordedAt>=D)$.push(F);else this.handles.delete(F.handle.id);this.terminalLog=$}async cancelHandle(D){let $=this.handles.get(D);if(!$)return;let X=this.groups.get($.group)?.remove(D);if(X){this.markCancelledBeforeStart(X),this.kick();return}let J=this.running.get(D);if(J)await this.cancelRunning(J)}markCancelledBeforeStart(D){if(D.cancelledBeforeStart)return;D.cancelledBeforeStart=!0,D.handle.state="cancelled",D.handle.updatedAt=D1(),this.terminalLog.push({handle:D.handle,recordedAt:p4()}),D.reject(Error("cancelled"))}async cancelRunning(D){if(D.cancelRequested&&!D.killEscalated){this.escalateKill(D);return}if(D.cancelRequested=!0,D.spawned)try{await D.spawned.cancel()}catch($){M.warn(`[process-manager] cancel for ${D.handle.id} failed: ${String($)}`)}if(!D.killTimer&&this.opts.killTimeoutMs>0)D.killTimer=setTimeout(()=>this.escalateKill(D),this.opts.killTimeoutMs),UJ(D.killTimer)}escalateKill(D){if(D.killEscalated)return;if(D.killEscalated=!0,D.killTimer)clearTimeout(D.killTimer),D.killTimer=null;if(D.spawned)D.spawned.cancel().catch(($)=>M.warn(`[process-manager] hard kill for ${D.handle.id} failed: ${String($)}`))}kick(){if(this.disposed)return;while(!0){let D=this.pickNext();if(!D)return;this.startCandidate(D)}}pickNext(){let D=null,$=-1,F=Number.POSITIVE_INFINITY;for(let[X,J]of this.groups.entries()){if(J.isEmpty())continue;if(this.runningGroups.has(X))continue;let Y=J.head();if(!this.canStart(Y.handle))continue;let G=Vh[Y.handle.class];if(G>$||G===$&&Y.enqueueSeq<F)D=Y,$=G,F=Y.enqueueSeq}return D}canStart(D){if(this.totalActive()>=this.opts.maxConcurrentTotal)return!1;let $=this.opts.perEngineLimits[D.engine]??this.opts.maxConcurrentTotal;if((this.runningByEngine.get(D.engine)??0)>=$)return!1;return!0}startCandidate(D){let $=this.groups.get(D.handle.group);if($?.shift(),$&&$.isEmpty())this.groups.delete(D.handle.group);let F={handle:D.handle,spawned:null,stallTimer:null,killTimer:null,cancelRequested:!1,killEscalated:!1};this.running.set(D.handle.id,F),this.runningGroups.add(D.handle.group),this.runningByEngine.set(D.handle.engine,(this.runningByEngine.get(D.handle.engine)??0)+1),D.handle.state="spawning",D.handle.startedAt=D1(),D.handle.lastActivityAt=D.handle.startedAt,D.handle.updatedAt=D.handle.startedAt,this.driveJob(F,D)}async driveJob(D,$){let{handle:F,req:X,resolve:J,reject:Y}=$,G=null;try{let B=await X.onSpawn();if(D.spawned=B,D.cancelRequested){try{await B.cancel()}catch{}throw Error("cancelled")}if(F.state="running",F.updatedAt=D1(),this.armStallTimer(D),G=B.onActivity(()=>this.onActivity(D)),await X.job(),D.cancelRequested)F.state="cancelled",Y(Error("cancelled"));else F.state="completed",J()}catch(B){F.state=D.cancelRequested?"cancelled":"failed",Y(B)}finally{if(F.updatedAt=D1(),D.stallTimer)clearTimeout(D.stallTimer),D.stallTimer=null;if(D.killTimer)clearTimeout(D.killTimer),D.killTimer=null;if(G)try{G()}catch{}this.terminalLog.push({handle:F,recordedAt:p4()}),this.running.delete(F.id),this.runningGroups.delete(F.group);let B=this.runningByEngine.get(F.engine)??0;if(B<=1)this.runningByEngine.delete(F.engine);else this.runningByEngine.set(F.engine,B-1);if(!this.disposed)this.kick()}}armStallTimer(D){if(this.opts.stallTimeoutMs<=0)return;if(D.stallTimer)clearTimeout(D.stallTimer);D.stallTimer=setTimeout(()=>this.onStall(D),this.opts.stallTimeoutMs),UJ(D.stallTimer)}onActivity(D){if(fE.has(D.handle.state))return;D.handle.lastActivityAt=D1(),this.armStallTimer(D)}onStall(D){if(fE.has(D.handle.state))return;if(D.cancelRequested)return;M.warn(`[process-manager] stall detected for ${D.handle.id} (engine=${D.handle.engine}, group=${D.handle.group})`),this.cancelRunning(D)}}var fE,Vh;var kE=R(()=>{JD();fE=new Set(["completed","failed","cancelled"]),Vh={interactive:3,default:2,background:1}});class A6{url;token;clientName;clientVersion;timeoutMs;sessionId=null;idCounter=0;initPromise=null;constructor(D){this.url=D.url,this.token=D.token,this.clientName=D.clientName??"aiworker",this.clientVersion=D.clientVersion??"0.1.0",this.timeoutMs=D.timeoutMs??Qh}nextId(){return this.idCounter+=1,this.idCounter}headers(D){let $={"Content-Type":"application/json",Accept:"application/json, text/event-stream"};if(this.token)$.Authorization=`Bearer ${this.token}`;if(D&&this.sessionId)$["mcp-session-id"]=this.sessionId;return $}async postJson(D,$){let F=new AbortController,X=setTimeout(()=>F.abort(),this.timeoutMs);try{let J=await fetch(this.url,{method:"POST",headers:this.headers($),body:JSON.stringify(D),signal:F.signal});clearTimeout(X);let Y=await J.text(),G=null;if(Y.length>0)try{G=JSON.parse(Y)}catch{G=null}return{response:J,parsed:G}}catch(J){throw clearTimeout(X),J instanceof Error?J:Error(String(J))}}async initialize(){let D={jsonrpc:"2.0",id:this.nextId(),method:"initialize",params:{protocolVersion:"2025-03-26",capabilities:{},clientInfo:{name:this.clientName,version:this.clientVersion}}},{response:$,parsed:F}=await this.postJson(D,!1);if(!$.ok)throw Error(`MCP initialize failed: HTTP ${$.status}`);if(F?.error)throw Error(`MCP initialize error: ${F.error.message}`);let X=$.headers.get("mcp-session-id");if(!X)throw Error("MCP initialize response missing mcp-session-id header");this.sessionId=X,await this.postJson({jsonrpc:"2.0",method:"notifications/initialized"},!0)}async ensureSession(){if(this.sessionId)return;if(!this.initPromise)this.initPromise=this.initialize().catch((D)=>{throw this.initPromise=null,D});await this.initPromise,this.initPromise=null}async invoke(D,$){await this.ensureSession();let F={jsonrpc:"2.0",id:this.nextId(),method:D,params:$},{response:X,parsed:J}=await this.postJson(F,!0);if(X.status===404||J?.error&&/session/i.test(J.error.message)){this.sessionId=null,await this.ensureSession();let Y=await this.postJson({...F,id:this.nextId()},!0);X=Y.response,J=Y.parsed}if(!X.ok)throw Error(`MCP ${D} failed: HTTP ${X.status}`);if(!J)throw Error(`MCP ${D} returned non-JSON body`);if(J.error)throw Error(`MCP ${D} error: ${J.error.message}`);if(J.result===void 0)throw Error(`MCP ${D} response missing 'result'`);return J.result}async listTools(){return(await this.invoke("tools/list")).tools??[]}async callTool(D,$={}){return this.invoke("tools/call",{name:D,arguments:$})}async callToolJson(D,$={}){let X=(await this.callTool(D,$)).content.find((J)=>J.type==="text");if(!X)throw Error(`MCP tool '${D}' returned no text content`);try{return JSON.parse(X.text)}catch{return M.warn(`[mcp] tool '${D}' text is not JSON, returning raw string`),X.text}}}var Qh=30000;var vE=R(()=>{JD()});var AJ=R(()=>{vE()});function gE(D){if(Array.isArray(D))return D.map(String);if(typeof D==="string"&&D.length>0)return D.split(",").map(($)=>$.trim()).filter(Boolean);return[]}function VJ(D){let $=D.created_at??new Date().toISOString(),F=D.updated_at??$,{content:X,id:J,score:Y,...G}=D,B={id:J,content:X??"",metadata:{...G,tags:gE(D.tags)},createdAt:$,updatedAt:F};if(typeof Y==="number")B.score=Y;return B}function Eh(D){return{id:D.id,name:D.name,description:D.description??"",version:D.default_ttl?String(D.default_ttl):"0",tags:D.is_public?["public"]:[]}}class QJ{name="cloud-gateway";client;defaultCategory;defaultTypeId;constructor(D){this.client=new A6({url:D.url,token:D.token,clientName:"aiworker-brain",timeoutMs:D.timeoutMs}),this.defaultCategory=D.defaultCategory,this.defaultTypeId=D.defaultTypeId}async health(){let D=new Date().toISOString();try{return await this.client.ensureSession(),{name:this.name,status:"healthy",lastChecked:D}}catch{return{name:this.name,status:"down",lastChecked:D}}}async listSkills(){let D=await this.client.callToolJson("knowledge_types");if(!Array.isArray(D))return[];return D.filter(($)=>$.enabled!==!1).map(Eh)}async listMemories(D){let $={per_page:Math.min(Math.max(D?.limit??50,1),100),page:1},F=D?.tags?.find((Y)=>Y.startsWith("type:"));if(F)$.type_id=F.slice(5);let J=(await this.client.callToolJson("knowledge_query",$)).entries??[];if(D?.since)J=J.filter((Y)=>!Y.created_at||Y.created_at>=D.since);if(D?.until)J=J.filter((Y)=>!Y.created_at||Y.created_at<=D.until);return J.map(VJ)}async searchMemories(D){let $=await this.client.callToolJson("knowledge_search",{query:D,limit:20});if(!Array.isArray($))return[];return $.map(VJ)}async writeMemory(D){let $=D.metadata??{},F={content:D.content},X=typeof $.title==="string"?$.title:typeof $.name==="string"?$.name:void 0;if(X)F.title=X;let J=typeof $.type_id==="string"?$.type_id:this.defaultTypeId,Y=typeof $.category==="string"?$.category:this.defaultCategory;if(J)F.type_id=J;else if(Y)F.category=Y;let G=D.tags??gE($.tags);if(G.length>0)F.tags=G.join(",");let B=typeof $.source_type==="string"?$.source_type:"aiworker";if(F.source_type=B,typeof $.source_ref==="string")F.source_ref=$.source_ref;F.skip_compile=!0;let H=await this.client.callToolJson("knowledge_write",F);return VJ(H)}}var hE=R(()=>{AJ()});import{join as c4}from"path";async function xE(D){let $=new Bun.CryptoHasher("sha256");return $.update(D),$.digest("hex")}function yE(D){let $=D.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);if(!$)return{metadata:{},content:D};try{return{metadata:T4($[1]??"")??{},content:$[2]??""}}catch{return{metadata:{},content:D}}}function Kh(D,$){let F=$.split(".").pop()?.toLowerCase();if(F==="yaml"||F==="yml")try{let X=T4(D);return{name:String(X.name??""),description:String(X.description??""),version:String(X.version??"0.0.0"),capabilities:Array.isArray(X.capabilities)?X.capabilities.map(String):[],filePath:$}}catch{return null}if(F==="md"){let{metadata:X,content:J}=yE(D);return{name:String(X.name??$.split("/").pop()?.replace(/\.md$/,"")??""),description:String(X.description??J.split(`
|
|
235
|
+
`)[0]??""),version:String(X.version??"0.0.0"),capabilities:Array.isArray(X.capabilities)?X.capabilities.map(String):[],filePath:$}}return null}async function uE(D){let $=c4(D,"skills");try{await(await import("fs/promises")).access($);let X=new Bun.Glob("**/*.{yaml,yml,md}"),J=[];for await(let Y of X.scan({cwd:$})){let G=c4($,Y);try{let H=await Bun.file(G).text(),W=Kh(H,G);if(W){let U=await xE(H);J.push({...W,hash:U})}}catch{}}return J}catch{return[]}}async function EJ(D){let $=c4(D,"memories");try{await(await import("fs/promises")).access($);let X=new Bun.Glob("**/*.md"),J=[];for await(let Y of X.scan({cwd:$})){let G=c4($,Y);try{let H=await Bun.file(G).text(),W=await xE(H),{metadata:U,content:A}=yE(H),V=Y.replace(/\.md$/,"");J.push({id:String(U.id??V),title:String(U.title??V),content:A,metadata:U,filePath:G,hash:W,createdAt:U.createdAt?String(U.createdAt):void 0,updatedAt:U.updatedAt?String(U.updatedAt):void 0})}catch{}}return J}catch{return[]}}var mE=R(()=>{GJ()});import{watch as Ch}from"fs";import{join as KJ}from"path";function Rh(D){return D.includes("/skills/")||D.includes("\\skills\\")?"skill":"memory"}class CJ{watchers=[];handlers=[];debounceTimers=new Map;debounceMs;home;running=!1;constructor(D){this.home=D.home,this.debounceMs=D.debounceMs??100}on(D){return this.handlers.push(D),()=>{let $=this.handlers.indexOf(D);if($!==-1)this.handlers.splice($,1)}}emit(D){for(let $ of this.handlers)try{$(D)}catch{}}watchDir(D){try{return Ch(D,{recursive:!0},(F,X)=>{if(!X)return;let J=KJ(D,X),Y=J,G=this.debounceTimers.get(Y);if(G)clearTimeout(G);let B=setTimeout(()=>{this.debounceTimers.delete(Y);let H=F==="rename"?"add":"modify";this.emit({type:H,path:J,kind:Rh(J),timestamp:Date.now()})},this.debounceMs);this.debounceTimers.set(Y,B)})}catch{return null}}async start(){if(this.running)return;this.running=!0;let D=KJ(this.home,"skills"),$=KJ(this.home,"memories"),F=this.watchDir(D),X=this.watchDir($);if(F)this.watchers.push(F);if(X)this.watchers.push(X)}stop(){this.running=!1;for(let D of this.watchers)try{D.close()}catch{}this.watchers=[];for(let D of this.debounceTimers.values())clearTimeout(D);this.debounceTimers.clear()}get isRunning(){return this.running}}var pE=()=>{};import{existsSync as Oh,mkdirSync as Mh}from"fs";import{access as qh,stat as Nh}from"fs/promises";import{join as RJ}from"path";function Ph(D){return{id:D.filePath,name:D.name,description:D.description,version:D.version,tags:D.capabilities}}async function cE(D,$){let{createdAt:F,updatedAt:X}=D;if(!F||!X)try{let G=await Nh(D.filePath);F=F??G.birthtime.toISOString(),X=X??G.mtime.toISOString()}catch{let G=new Date(0).toISOString();F=F??G,X=X??G}let J={...D.metadata,title:D.title,filePath:D.filePath,hash:D.hash},Y={id:D.id,content:D.content,metadata:J,createdAt:F,updatedAt:X};if($!==void 0)Y.score=$;return Y}function Zh(D){let $=new Date(D.timestamp).toISOString(),F={path:D.path,kind:D.kind};if(D.kind==="skill")return{type:"skill:changed",payload:F,timestamp:$};switch(D.type){case"add":return{type:"memory:created",payload:F,timestamp:$};case"modify":return{type:"memory:updated",payload:F,timestamp:$};case"delete":return{type:"memory:deleted",payload:F,timestamp:$};default:return null}}function Lh(D,$){if(!$)return D;let F=D;if($.tags&&$.tags.length>0){let X=$.tags;F=F.filter((J)=>{let Y=Array.isArray(J.metadata.tags)?J.metadata.tags.map(String):[];return X.every((G)=>Y.includes(G))})}if($.since){let X=$.since;F=F.filter((J)=>J.createdAt>=X)}if($.until){let X=$.until;F=F.filter((J)=>J.createdAt<=X)}if(typeof $.limit==="number")F=F.slice(0,$.limit);return F}function zh(D){if(D==="feedback"||D==="project"||D==="reference"||D==="user")return D;return"user"}function jh(D){return D.toLowerCase().replace(/[^a-z0-9_\- ]/g,"").replace(/\s+/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,"").slice(0,64)}async function wh(D,$,F,X){let J=RJ(D,"..","MEMORY.md"),Y=`- [${$}](memories/${F}) \u2014 ${X}`,G=Bun.file(J);if(await G.exists()){let H=(await G.text()).trimEnd(),W=H?`${H}
|
|
236
|
+
${Y}
|
|
237
|
+
`:`${Y}
|
|
238
|
+
`;await Bun.write(J,W)}else await Bun.write(J,`# Memory index
|
|
239
|
+
|
|
240
|
+
${Y}
|
|
241
|
+
`)}class OJ{name="filesystem";home;watcher;watcherStarted=!1;constructor(D){this.home=D.home,this.watcher=new CJ({home:D.home})}async health(){let D=new Date().toISOString();try{return await qh(this.home),{name:this.name,status:"healthy",lastChecked:D}}catch{return{name:this.name,status:"down",lastChecked:D}}}async listSkills(){return(await uE(this.home)).map(Ph)}async listMemories(D){let $=await EJ(this.home),F=await Promise.all($.map((X)=>cE(X)));return Lh(F,D)}async searchMemories(D){let $=await EJ(this.home),F=D.toLowerCase(),X=$.filter((J)=>J.content.toLowerCase().includes(F)||J.title.toLowerCase().includes(F)||J.metadata.name!==void 0&&String(J.metadata.name).toLowerCase().includes(F)||J.metadata.description!==void 0&&String(J.metadata.description).toLowerCase().includes(F));return Promise.all(X.map((J)=>cE(J,1)))}async writeMemory(D){let $=D.metadata??{},F=typeof $.name==="string"&&$.name.length>0?$.name:`memory-${Date.now()}`,X=typeof $.description==="string"?$.description:"",J=zh($.type),Y=RJ(this.home,"memories");if(!Oh(Y))Mh(Y,{recursive:!0});let G=jh(F),B=`${G}.md`,H=RJ(Y,B),W=`---
|
|
242
|
+
name: ${F}
|
|
243
|
+
description: ${X}
|
|
244
|
+
type: ${J}
|
|
245
|
+
---
|
|
246
|
+
`;await Bun.write(H,`${W}${D.content}
|
|
247
|
+
`),await wh(Y,F,B,X);let U=new Date().toISOString();return{id:G,content:D.content,metadata:{...$,name:F,description:X,type:J,filePath:H,...D.tags?{tags:D.tags}:{}},createdAt:U,updatedAt:U}}watch(D){if(!this.watcherStarted)this.watcherStarted=!0,this.watcher.start();return this.watcher.on(($)=>{let F=Zh($);if(F)D(F)})}}var dE=R(()=>{mE();pE()});class MJ{name="multi";sources;writeTargetId;retrieval;constructor(D){this.sources=[...D.sources].sort(($,F)=>F.priority-$.priority),this.writeTargetId=D.writeTargetId,this.retrieval=D.retrieval}async health(){let $=(await Promise.all(this.sources.map((F)=>F.health().catch(()=>({name:F.id,status:"down",lastChecked:new Date().toISOString()}))))).some((F)=>F.status==="down");return{name:this.name,status:$?"degraded":"healthy",lastChecked:new Date().toISOString()}}async listSkills(){return(await Promise.all(this.sources.map(($)=>$.listSkills().catch(()=>[])))).flat()}async listMemories(D){if(this.retrieval==="first-match"){for(let F of this.sources){let X=await F.listMemories(D).catch(()=>[]);if(X.length>0)return X}return[]}return(await Promise.all(this.sources.map((F)=>F.listMemories(D).catch(()=>[])))).flat()}async searchMemories(D){if(this.retrieval==="first-match"){for(let F of this.sources){let X=await F.searchMemories(D).catch(()=>[]);if(X.length>0)return X}return[]}return(await Promise.all(this.sources.map((F)=>F.searchMemories(D).catch(()=>[])))).flat()}async writeMemory(D){let $=this.sources.find((F)=>F.id===this.writeTargetId&&!F.readOnly)??this.sources.find((F)=>!F.readOnly);if(!$)throw Error("MultiBrainProvider: no writable brain source configured");return $.writeMemory(D)}watch(D){let $=this.sources.map((F)=>F.watch?F.watch(D):()=>{return});return()=>$.forEach((F)=>F())}}function Ih(D,$){let F;if($.type==="filesystem"){let X=$.config.home??w1(D);F=new OJ({home:X})}else F=new QJ({url:$.config.url,token:$.config.token,...$.config.defaultCategory===void 0?{}:{defaultCategory:$.config.defaultCategory},...$.config.defaultTypeId===void 0?{}:{defaultTypeId:$.config.defaultTypeId}});return Object.assign(F,{id:$.id,priority:$.priority,readOnly:$.readOnly})}function lE(D,$){let F=$.brains.map((X)=>Ih(D,X));return new MJ({sources:F,writeTargetId:$.brainWriteTarget,retrieval:$.brainRetrieval})}var iE=R(()=>{j8();hE();dE()});function nE(D){return D.on((F)=>{try{Th(F)}catch(X){M.warn(`[evolution] observer failed to persist: ${String(X)}`)}})}function Th(D){if(!(D.type==="orchestrator.tool_call"||D.type==="orchestrator.finished"))return;m().insert(D2).values({conversationId:typeof D.payload.conversationId==="string"?D.payload.conversationId:null,kind:D.type,payload:D.payload}).run()}var sE=R(()=>{jD();JD()});function oE(D,$=qJ){let F=Math.max(1,$.nGramMin),X=Math.max(F,$.nGramMax),J=new Map;for(let[B,H]of D){if(!B||H.length===0)continue;for(let W=F;W<=X;W++){if(H.length<W)break;for(let U=0;U+W<=H.length;U++){let A=H.slice(U,U+W),V=bh(A),E=J.get(V);if(E)E.occurrences+=1,E.conversations.add(B);else J.set(V,{toolSequence:A,occurrences:1,conversations:new Set([B])})}}}let Y=Math.max(1,$.windowSize),G=[];for(let B of J.values()){if(B.occurrences<$.minOccurrences)continue;if(B.conversations.size<$.minConversations)continue;let H=kh(B.occurrences/Y);G.push({toolSequence:B.toolSequence,occurrences:B.occurrences,uniqueConversations:B.conversations.size,confidence:H,rationale:fh(B.toolSequence,B.occurrences,B.conversations.size,H)})}return G.sort((B,H)=>{if(H.occurrences!==B.occurrences)return H.occurrences-B.occurrences;return H.toolSequence.length-B.toolSequence.length}),Sh(G)}function Sh(D){let $=[];for(let F of D){if($.find((Y)=>rE(F.toolSequence,Y.toolSequence)))continue;let J=$.findIndex((Y)=>rE(Y.toolSequence,F.toolSequence));if(J>=0)$.splice(J,1);$.push(F)}return $}function rE(D,$){if(D.length>=$.length)return!1;for(let F=0;F<D.length;F++)if(D[F]!==$[F])return!1;return!0}function fh(D,$,F,X){let J=D.join(" \u2192 "),Y=(X*100).toFixed(1);return`Observed tool sequence ${J} ${$}\xD7 across ${F} conversation(s); window confidence ${Y}%.`}function bh(D){return D.join("|")}function kh(D){if(!Number.isFinite(D))return 0;if(D<0)return 0;if(D>1)return 1;return D}var qJ;var aE=R(()=>{qJ={nGramMin:2,nGramMax:4,minOccurrences:3,minConversations:2,windowSize:500}});import{createHash as vh}from"crypto";import gh from"process";function yh(D){return{windowSize:D?.windowSize??d4("EVOLUTION_PROPOSER_WINDOW",hh),maxDraftsPerRun:D?.maxDraftsPerRun??d4("EVOLUTION_PROPOSER_MAX_DRAFTS_PER_RUN",xh),intervalMs:D?.intervalMs??d4("EVOLUTION_PROPOSER_INTERVAL_MS",eE)}}async function uh(D){let $=yh(D),F=m(),X=F.select({conversationId:D2.conversationId}).from(D2).orderBy(R0(D2.noticedAt)).limit($.windowSize).all(),J=Array.from(new Set(X.map((U)=>U.conversationId).filter((U)=>typeof U==="string"&&U.length>0)));if(J.length===0)return M.info("[evolution/proposer] no conversations in window; skipping"),{drafts:0};let Y=F.select({conversationId:S2.conversationId,toolName:S2.toolName}).from(S2).where(a9(S2.conversationId,J)).orderBy(p6(S2.conversationId),p6(S2.id)).all(),G=new Map;for(let U of Y){if(!U.conversationId)continue;let A=G.get(U.conversationId);if(A)A.push(U.toolName);else G.set(U.conversationId,[U.toolName])}let B=oE(G,{...qJ,windowSize:$.windowSize}),H=ph(F),W=0;for(let U of B){if(W>=$.maxDraftsPerRun)break;let A=U.toolSequence.join("|");if(H.has(A))continue;let V=ch(U);F.insert(W0).values(V).run(),H.add(A),W+=1,M.info(`[evolution/proposer] wrote draft ${V.proposedName} (occurrences=${U.occurrences}, convs=${U.uniqueConversations})`)}return M.info(`[evolution/proposer] ${W}/${B.length} candidate(s) written; window=${$.windowSize}, conversations=${J.length}`),{drafts:W}}function DK(D){let $=D??d4("EVOLUTION_PROPOSER_INTERVAL_MS",eE),F=setInterval(()=>{uh().catch((X)=>M.warn(`[evolution/proposer] loop run failed: ${String(X)}`))},$);return()=>clearInterval(F)}function mh(D){let $=D.match(/<!--\s*evolution-meta:\s*(\{[\s\S]*?\})\s*-->/);if(!$?.[1])return null;try{let F=JSON.parse($[1]);if(!Array.isArray(F.allowedTools)||!F.allowedTools.every((X)=>typeof X==="string"))return null;return{allowedTools:F.allowedTools,confidence:typeof F.confidence==="number"?F.confidence:0,sequenceKey:typeof F.sequenceKey==="string"?F.sequenceKey:F.allowedTools.join("|")}}catch{return null}}function ph(D){let $=new Set,F=D.select({bodyMarkdown:W0.bodyMarkdown}).from(W0).all();for(let J of F){let Y=mh(J.bodyMarkdown);if(Y)$.add(Y.allowedTools.join("|"))}let X=D.select({config:t6.config}).from(t6).all();for(let J of X){let Y=J.config;if(!Y||typeof Y!=="object")continue;let G=Y.allowedTools;if(Array.isArray(G)&&G.every((B)=>typeof B==="string"))$.add(G.join("|"))}return $}function ch(D){let $=D.toolSequence.join("|"),F=vh("sha256").update($).digest("hex").slice(0,6),X=tE(D.toolSequence[0]??"tool"),J=tE(D.toolSequence[D.toolSequence.length-1]??"tool"),Y=`auto-${X}-${J}-${F}`,G=D.toolSequence.join(" \u2192 "),B=D.toolSequence.map((A)=>`\`${A}\``).join(", "),H={allowedTools:D.toolSequence,confidence:D.confidence,sequenceKey:$},W=`When the agent runs \`${G}\` (seen ${D.occurrences}\xD7 across ${D.uniqueConversations} conversation(s))`,U=[`<!-- evolution-meta: ${JSON.stringify(H)} -->`,"",`# ${Y}`,"","## Trigger","",W,"","## Allowed tools","",B,"","## Prompt template","","```",`You are extending the skill \`${Y}\`. Invoke the following tools in order: ${B}.`,"```",""].join(`
|
|
248
|
+
`);return{proposedName:Y,source:"evolution",bodyMarkdown:U,rationale:D.rationale,status:"pending"}}function tE(D){return D.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tool"}function d4(D,$){let F=gh.env[D];if(F===void 0||F==="")return $;let X=Number(F);return Number.isFinite(X)&&X>0?X:$}var eE=21600000,hh=500,xh=5;var $K=R(()=>{jD();JD();O0();aE()});var NJ;var PJ=R(()=>{p7();NJ={id:"gemini",label:"Gemini CLI",commandName:"gemini",versionEnvVar:"GEMINI_CLI_VERSION",defaultVersion:"0.9.0",npxPackage:"@google/gemini-cli",buildArgs:({model:D,yolo:$,extraArgs:F})=>{let X=["--experimental-acp"];if(D&&D.length>0)X.push("--model",D);if($)X.push("--yolo","--allowed-tools","run_shell_command");if(F&&F.length>0)X.push(...F);return X},authProbe:()=>YV()}});var ZJ;var LJ=R(()=>{p7();ZJ={id:"qwen",label:"Qwen Code",commandName:"qwen",versionEnvVar:"QWEN_CLI_VERSION",defaultVersion:"0.0.14",npxPackage:"@qwen-code/qwen-code",buildArgs:({model:D,yolo:$,extraArgs:F})=>{let X=[];if(D&&D.length>0)X.push("--model",D);if($)X.push("--yolo");if(X.push("--acp"),F&&F.length>0)X.push(...F);return X},authProbe:()=>BV()}});function zJ(D){let $=dh[D];if(!$)throw Error(`unknown ACP agent: ${D}`);return $}var dh;var FK=R(()=>{PJ();LJ();dh={gemini:NJ,qwen:ZJ}});function wJ(D){let $=D.sessionUpdate,F=D;switch($){case"agent_message_chunk":{let X=jJ(F.content);if(!X)return[];return[{type:"assistant_message_delta",delta:X}]}case"agent_thinking_chunk":{let X=jJ(F.content);if(!X)return[];return[{type:"thinking_delta",delta:X}]}case"user_message_chunk":return[];case"tool_call":return lh(F);case"tool_call_update":return ih(F);case"plan":return nh(F.entries);case"available_commands_update":case"current_mode_update":return[];default:return[]}}function XK(D,$,F){let X=F??{};switch(D){case"read":return{kind:"file_read",path:n3(X,["file_path","path","absolute_path","filePath"])};case"edit":case"delete":case"move":{let J=n3(X,["file_path","path","absolute_path","filePath"]),Y=rh(X);return{kind:"file_edit",path:J,...Y?{diff:Y}:{}}}case"execute":return{kind:"command_run",command:n3(X,["command","cmd","shell_command","script"])};case"search":return{kind:"search",query:n3(X,["query","pattern","q","search"])};case"fetch":return{kind:"web_fetch",url:n3(X,["url","uri","href"])};case"think":return{kind:"task_plan",summary:$??"thinking"};case"other":case void 0:default:return{kind:"tool",toolName:$??"acp.tool",...Object.keys(X).length>0?{arguments:X}:{}}}}function IJ(D){switch(D){case"end_turn":return"stop";case"max_tokens":case"max_turn_requests":return"length";case"refusal":return"error";case"cancelled":return"cancelled";default:return"stop"}}function lh(D){let $=[],F=D.toolCallId;if(!F)return $;let X=D.rawInput??{},J=XK(D.kind,D.title,X),Y=D.title??D.kind??"acp.tool";if($.push({type:"tool_use",id:F,name:Y,arguments:X,action:J,...D.status?{status:sh(D.status)}:{}}),GK(D.status)){let G=JK(D.content);$.push({type:"tool_result",id:F,name:Y,content:G,...D.status==="failed"||D.status==="cancelled"?{isError:!0}:{}})}return $}function ih(D){let $=D.toolCallId;if(!$||!GK(D.status))return[];let F=JK(D.content),X=D.title??D.kind??"";return[{type:"tool_result",id:$,name:X,content:F,...D.status==="failed"||D.status==="cancelled"?{isError:!0}:{}}]}function nh(D){if(!Array.isArray(D)||D.length===0)return[];let $=D.map((F,X)=>`${X+1}. [${F.status??"pending"}] ${F.content}`).join(`
|
|
249
|
+
`);return[{type:"tool_use",id:`plan-${oh($)}`,name:"plan",arguments:{entries:D},action:{kind:"task_plan",summary:$}}]}function jJ(D){if(!D)return"";if(D.type==="text"&&typeof D.text==="string")return D.text;return""}function JK(D){if(!D||D.length===0)return"";let $=[];for(let F of D){if(!F||typeof F!=="object")continue;if(F.type==="content"){let X=F.content,J=jJ(X);if(J)$.push(J)}else if(F.type==="diff"){let X=F,J=X.oldText??"",Y=X.newText??"";$.push(`--- ${X.path??""}
|
|
250
|
+
- ${J}
|
|
251
|
+
+ ${Y}`)}else if(F.type==="terminal"){let X=F;$.push(`[terminal:${X.terminalId??""}]`)}}return $.join(`
|
|
252
|
+
`)}function sh(D){switch(D){case"pending":return"pending";case"in_progress":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"denied";default:return"pending"}}function GK(D){return D==="completed"||D==="failed"||D==="cancelled"}function n3(D,$){for(let F of $){let X=D[F];if(typeof X==="string"&&X.length>0)return X}return""}function rh(D){let $=typeof D.old_string==="string"?D.old_string:typeof D.oldText==="string"?D.oldText:void 0,F=typeof D.new_string==="string"?D.new_string:typeof D.newText==="string"?D.newText:typeof D.content==="string"?D.content:void 0;if($!==void 0&&F!==void 0)return`- ${$}
|
|
253
|
+
+ ${F}`;if(F!==void 0)return F;return}function oh(D){let $=5381;for(let F=0;F<D.length;F++)$=($<<5)+$+D.charCodeAt(F)>>>0;return $.toString(36)}class E8{options;nextId=1;pending=new Map;disposed=!1;constructor(D){this.options=D}async request(D,$,F){if(this.disposed)throw Error("json-rpc peer disposed");if(F?.aborted)throw Error(`json-rpc request ${D} aborted before send`);let X=this.nextId++,J=$===void 0?{jsonrpc:"2.0",id:X,method:D}:{jsonrpc:"2.0",id:X,method:D,params:$};return new Promise((Y,G)=>{let B=this.options.requestTimeoutMs,H=B&&B>0?setTimeout(()=>{this.rejectPending(X,Error(`json-rpc request ${D} timed out after ${B}ms`))},B):null,W=F?()=>this.rejectPending(X,Error(`json-rpc request ${D} aborted`)):null;if(this.pending.set(X,{resolve:(U)=>Y(U),reject:G,timer:H,abortHandler:W,signal:F??null}),W&&F)F.addEventListener("abort",W,{once:!0});try{this.options.writeLine(`${JSON.stringify(J)}
|
|
254
|
+
`)}catch(U){this.rejectPending(X,U instanceof Error?U:Error(String(U)))}})}notify(D,$){if(this.disposed)return;let F=$===void 0?{jsonrpc:"2.0",method:D}:{jsonrpc:"2.0",method:D,params:$};try{this.options.writeLine(`${JSON.stringify(F)}
|
|
255
|
+
`)}catch(X){this.options.onError?.(X instanceof Error?X:Error(String(X)))}}handleLine(D){if(this.disposed)return;let $=D.trim();if($.length===0)return;let F;try{F=JSON.parse($)}catch(J){this.options.onError?.(Error(`json-rpc parse error: ${J instanceof Error?J.message:String(J)}`));return}if(!F||typeof F!=="object"||Array.isArray(F))return;let X=F;if("id"in X&&(("result"in X)||("error"in X))){this.handleResponse(X);return}if("id"in X&&"method"in X){this.handleRequest(X);return}if("method"in X)this.options.onNotification?.(X)}dispose(D){if(this.disposed)return;this.disposed=!0;let $=Error(D??"json-rpc peer disposed"),F=Array.from(this.pending.entries());this.pending.clear();for(let[,X]of F){if(X.timer)clearTimeout(X.timer);if(X.signal&&X.abortHandler)X.signal.removeEventListener("abort",X.abortHandler);X.reject($)}}rejectPending(D,$){let F=this.pending.get(D);if(!F)return;if(this.pending.delete(D),F.timer)clearTimeout(F.timer);if(F.signal&&F.abortHandler)F.signal.removeEventListener("abort",F.abortHandler);F.reject($)}handleResponse(D){let $=this.pending.get(D.id);if(!$)return;if(this.pending.delete(D.id),$.timer)clearTimeout($.timer);if($.signal&&$.abortHandler)$.signal.removeEventListener("abort",$.abortHandler);if("error"in D){let F=D.error;$.reject(Error(`json-rpc error ${F.code}: ${F.message}`));return}$.resolve(D.result)}async handleRequest(D){let $=this.options.onRequest;if(!$){this.writeResponse(D.id,void 0,{code:-32601,message:`Method not found: ${D.method}`});return}try{let F=await $(D);this.writeResponse(D.id,F)}catch(F){let X=F instanceof Error?F.message:String(F);this.writeResponse(D.id,void 0,{code:-32000,message:X})}}writeResponse(D,$,F){let X=F?{jsonrpc:"2.0",id:D,error:F}:{jsonrpc:"2.0",id:D,result:$??null};try{this.options.writeLine(`${JSON.stringify(X)}
|
|
256
|
+
`)}catch(J){this.options.onError?.(J instanceof Error?J:Error(String(J)))}}}function F1(D,$){let X=(D+$).split(/\r?\n/),J=X.pop()??"";return{lines:X.filter((Y)=>Y.trim().length>0),remainder:J}}import{spawn as ah}from"child_process";import{once as th}from"events";import eh from"fs/promises";import Dx from"path";import X1 from"process";function HK(D,$){let F=$?.trim();if(F&&F.length>0)return F;let X=X1.env[D.versionEnvVar]?.trim();if(X&&X.length>0)return X;return D.defaultVersion}class l4{options;name;cachedAvailability=null;constructor(D){this.options=D;this.name=`acp:${D.agent.id}`}async health(){let D=new Date().toISOString();return{name:this.name,status:"healthy",lastChecked:D}}async listTools(){return[]}run(D){return this.runIterable(D)}async getAvailability(D=!1){if(!D&&this.cachedAvailability&&this.cachedAvailability.expiresAt>Date.now())return this.cachedAvailability.info;let $=this.options.authProbe??this.options.agent.authProbe,F=$?await $().catch((X)=>({status:"NotFound",checkedAt:new Date().toISOString(),detail:X instanceof Error?X.message:String(X)})):{status:"NotFound",checkedAt:new Date().toISOString(),detail:"no probe configured"};return this.cachedAvailability={expiresAt:Date.now()+Fx,info:F},F}async*runIterable(D){let $=Gx(D.messages);if(!$){yield{type:"error",error:`${this.name} executor requires a user message`},yield{type:"finish",reason:"error"};return}let F=D.workspacePath??this.options.fallbackWorkspacePath??X1.cwd(),X;try{X=await this.resolveCommand(D.model)}catch(Q){yield{type:"error",error:Q instanceof Error?Q.message:String(Q)},yield{type:"finish",reason:"error"};return}let Y=(this.options.spawn??ah)(X.cmd,X.args,{cwd:F,env:{...X1.env,...this.options.env??{}}}),G=new WK,B=new E8({writeLine:(Q)=>{try{Y.stdin.write(Q)}catch{}},onNotification:(Q)=>this.handleNotification(Q,G),onRequest:(Q)=>this.handleInboundRequest(Q),onError:(Q)=>{G.push({type:"error",error:Q.message})},requestTimeoutMs:this.options.timeoutMs??YK}),H="",W=(Q)=>{let{lines:q,remainder:N}=F1(H,Q.toString("utf8"));H=N;for(let Z of q)B.handleLine(Z)};Y.stdout.on("data",W);let U=null;Y.on("error",(Q)=>{U=Q.message});let A=th(Y,"exit").then((Q)=>Q[0]??null).catch((Q)=>{return U=Q instanceof Error?Q.message:String(Q),null});A.then((Q)=>{if(Q===0)return;let q=U??(Q===null?"acp child exited unexpectedly":`acp child exited with code ${Q}`);G.close({kind:"error",message:q}),B.dispose(q)});let V=setTimeout(()=>BK(Y,"SIGKILL"),this.options.timeoutMs??YK),E="",C=!1,K=()=>{if(C=!0,E)B.notify("session/cancel",{sessionId:E});setTimeout(()=>BK(Y,"SIGTERM"),200)};D.signal?.addEventListener("abort",K,{once:!0});try{if(await B.request("initialize",{protocolVersion:$x,clientCapabilities:{},clientInfo:{name:"aiworker",version:"0.2.0"}}),E=(await B.request("session/new",{cwd:F,mcpServers:[]})).sessionId,!E){yield{type:"error",error:"ACP session/new returned no sessionId"},yield{type:"finish",reason:"error"};return}B.request("session/prompt",{sessionId:E,prompt:[{type:"text",text:$}]}).then((Z)=>G.close({kind:"finish",stopReason:Z.stopReason}),(Z)=>G.close({kind:"error",message:Z instanceof Error?Z.message:String(Z)}));for await(let Z of G.iter())yield Z;let N=G.terminal;if(N?.kind==="finish")yield{type:"finish",reason:IJ(N.stopReason)};else if(N?.kind==="error")yield{type:"error",error:N.message},yield{type:"finish",reason:C?"cancelled":"error"};else yield{type:"finish",reason:C?"cancelled":"stop"}}catch(Q){yield{type:"error",error:Q instanceof Error?Q.message:String(Q)},yield{type:"finish",reason:C?"cancelled":"error"}}finally{clearTimeout(V),D.signal?.removeEventListener("abort",K),B.dispose("run ended"),Y.stdout.off("data",W),Jx(Y),await A.catch(()=>null)}}handleNotification(D,$){if(D.method!=="session/update")return;let F=D.params;if(!F||!F.update)return;for(let X of wJ(F.update))$.push(X)}async handleInboundRequest(D){if(D.method==="session/request_permission"){if(!(this.options.autoApprove??!0))return{outcome:{outcome:"cancelled"}};let F=D.params??{},X=Array.isArray(F.options)?F.options:[];return{outcome:{outcome:"selected",optionId:(X.find((Y)=>Y.kind==="allow_always")??X.find((Y)=>Y.kind==="allow_once")??X.find((Y)=>Y.kind==="allow")??X[0])?.optionId??"allow"}}}throw Error(`unsupported acp client method: ${D.method}`)}async resolveCommand(D){let $=this.options.agent,F=this.options.autoApprove??!0,X=$.buildArgs({yolo:F,...D??this.options.model?{model:D??this.options.model}:{},...this.options.extraArgs===void 0?{}:{extraArgs:this.options.extraArgs}}),Y=await(this.options.resolveBinary??Xx)($.commandName);if(Y)return{cmd:Y,args:X};let G=HK($,this.options.cliVersion);return{cmd:"npx",args:["-y",`${$.npxPackage}@${G}`,...X]}}}class WK{buffer=[];resolver=null;closed=!1;terminal=null;push(D){if(this.closed)return;if(this.resolver){let $=this.resolver;this.resolver=null,$({value:D,done:!1});return}this.buffer.push(D)}close(D){if(this.closed)return;if(this.closed=!0,D)this.terminal=D;if(this.resolver){let $=this.resolver;this.resolver=null,$({value:void 0,done:!0})}}async*iter(){while(!0){if(this.buffer.length>0){yield this.buffer.shift();continue}if(this.closed)return;let D=await new Promise(($)=>{this.resolver=$});if(D.done)return;yield D.value}}}async function Xx(D){let $=X1.env.PATH??"",F=X1.platform==="win32"?";":":",X=X1.platform==="win32"?(X1.env.PATHEXT??".EXE").split(";"):[""];for(let J of $.split(F)){if(!J)continue;for(let Y of X){let G=Dx.join(J,`${D}${Y.toLowerCase()}`);try{if((await eh.stat(G)).isFile())return G}catch{}}}return null}function BK(D,$){try{D.kill($)}catch{}}function Jx(D){try{D.stdin.end()}catch{}}function Gx(D){for(let $=D.length-1;$>=0;$--){let F=D[$];if(F&&F.role==="user"&&typeof F.content==="string"&&F.content.length>0)return F.content}return null}var YK=120000,$x=1,Fx=600000;var _K=()=>{};var UK=R(()=>{PJ();FK();LJ();_K()});function TJ(D){switch(D.type){case"assistant":return Yx(D);case"user":return Bx(D);case"result":return Hx(D);case"stream_event":return Wx(D);default:return[]}}function Yx(D){let $=[],F=D.message??{};for(let X of F.content??[]){let J=_x(X);if(J)$.push(J)}return Ax($,F),$}function Bx(D){let $=[],F=D.message??{};for(let X of F.content??[])if(X.type==="tool_result")$.push(AK(X));return $}function Hx(D){let $=[];if(D.usage){let J=D.usage.input_tokens??0,Y=D.usage.output_tokens??0;$.push({type:"token_usage",usage:{inputTokens:J,outputTokens:Y}})}if(D.is_error||D.subtype==="error"){let J=typeof D.error==="string"&&D.error.length>0?D.error:D.result??"Claude Code run failed";return $.push({type:"error",error:J}),$.push({type:"finish",reason:"error"}),$}let F=Qx(D.subtype),X=D.usage?{inputTokens:D.usage.input_tokens??0,outputTokens:D.usage.output_tokens??0}:void 0;return $.push({type:"finish",reason:F,...X?{usage:X}:{}}),$}function Wx(D){let $=D.event?.delta;if(!$)return[];if($.type==="text_delta"&&typeof $.text==="string"&&$.text.length>0)return[{type:"assistant_message_delta",delta:$.text}];if($.type==="thinking_delta"&&typeof $.thinking==="string"&&$.thinking.length>0)return[{type:"thinking_delta",delta:$.thinking}];return[]}function _x(D){switch(D.type){case"text":if(typeof D.text==="string"&&D.text.length>0)return{type:"assistant_message_delta",delta:D.text};return null;case"thinking":{let $=typeof D.thinking==="string"?D.thinking:typeof D.text==="string"?D.text:"";if($.length===0)return null;return{type:"thinking_delta",delta:$}}case"tool_use":{let $=typeof D.id==="string"?D.id:"",F=typeof D.name==="string"?D.name:"",X=D.input??{};if(!$||!F)return null;return{type:"tool_use",id:$,name:F,arguments:X,action:VK(F,X)}}case"tool_result":return AK(D);default:return null}}function AK(D){let $=typeof D.tool_use_id==="string"?D.tool_use_id:"",F=D.is_error===!0,X=Ux(D.content);return{type:"tool_result",id:$,name:"",content:X,...F?{isError:!0}:{}}}function Ux(D){if(typeof D==="string")return D;if(Array.isArray(D)){let $=[];for(let F of D)if(F&&typeof F==="object"){let X=F;if(X.type==="text"&&typeof X.text==="string")$.push(X.text);else $.push(JSON.stringify(X))}return $.join(`
|
|
257
|
+
`)}if(D===void 0||D===null)return"";return JSON.stringify(D)}function Ax(D,$){if(!$.usage)return;let F=$.usage.input_tokens,X=$.usage.output_tokens;if(typeof F!=="number"&&typeof X!=="number")return;D.push({type:"token_usage",usage:{inputTokens:F??0,outputTokens:X??0}})}function VK(D,$){switch(D){case"Read":case"View":case"NotebookRead":return{kind:"file_read",path:typeof $.file_path==="string"?$.file_path:typeof $.path==="string"?$.path:""};case"Edit":case"Write":case"MultiEdit":case"NotebookEdit":{let F=typeof $.file_path==="string"?$.file_path:typeof $.path==="string"?$.path:"",X=Vx($);return{kind:"file_edit",path:F,...X?{diff:X}:{}}}case"Bash":case"Shell":return{kind:"command_run",command:typeof $.command==="string"?$.command:""};case"Grep":case"Glob":case"WebSearch":return{kind:"search",query:typeof $.query==="string"?$.query:typeof $.pattern==="string"?$.pattern:""};case"WebFetch":return{kind:"web_fetch",url:typeof $.url==="string"?$.url:""};case"TodoWrite":{let F=$.todos;return{kind:"task_plan",summary:Array.isArray(F)?`${F.length} todos`:"todo update"}}default:return{kind:"tool",toolName:D,arguments:$}}}function Vx(D){if(typeof D.old_string==="string"&&typeof D.new_string==="string")return`- ${D.old_string}
|
|
258
|
+
+ ${D.new_string}`;if(typeof D.content==="string")return D.content;return}function Qx(D){switch(D){case"success":case"completion":return"stop";case"error":return"error";default:return"stop"}}function J1(D,$){let X=(D+$).split(/\r?\n/),J=X.pop()??"";return{lines:X.filter((Y)=>Y.trim().length>0),remainder:J}}function SJ(D){try{let $=JSON.parse(D);if($&&typeof $==="object"&&"type"in $)return $;return null}catch{return null}}class n4{policy;writeLine;constructor(D){this.policy=D.policy??i4,this.writeLine=D.writeLine}async handleLine(D){if(D.type!=="control_request")return[];let $=D,F=await this.policy.decide($).catch((J)=>({decision:"deny",reason:`policy error: ${J instanceof Error?J.message:String(J)}`})),X=Ex($,F);if(this.writeLine(`${JSON.stringify(X)}
|
|
259
|
+
`),F.decision==="ask"){let J=Kx($);return[{type:"permission_request",id:$.request_id,reason:F.reason??"Claude Code requested approval",...J?{toolUseId:J}:{}}]}return[]}sendUserMessage(D){let $={type:"user",message:{role:"user",content:[{type:"text",text:D}]}};this.writeLine(`${JSON.stringify($)}
|
|
260
|
+
`)}}function Ex(D,$){if($.decision==="deny")return{type:"control_response",response:{request_id:D.request_id,subtype:"error",error:$.reason??"denied by host policy"}};let F={permissionDecision:$.decision};if($.updatedInput)F.updatedInput=$.updatedInput;return{type:"control_response",response:{request_id:D.request_id,subtype:"success",response:{hookSpecificOutput:F,...$.reason?{systemMessage:$.reason}:{}}}}}function Kx(D){let $=D.request;if(typeof $.tool_use_id==="string")return $.tool_use_id;if(typeof $.toolUseId==="string")return $.toolUseId;return}var i4;var fJ=R(()=>{i4={decide:async(D)=>({decision:"allow"})}});import{spawn as Cx}from"child_process";import{once as Rx}from"events";import Ox from"fs/promises";import Mx from"path";import s3 from"process";class r4{name="claude-code";options;constructor(D){this.options=D}async health(){let D=new Date().toISOString();return{name:this.name,status:"healthy",lastChecked:D}}async listTools(){return[]}run(D){return this.runIterable(D)}async*runIterable(D){let $=Zx(D.messages);if(!$){yield{type:"error",error:"Claude Code executor requires a user message"},yield{type:"finish",reason:"error"};return}let F=D.workspacePath??this.options.fallbackWorkspacePath;if(!F){yield{type:"error",error:"Claude Code executor requires a workspace path"},yield{type:"finish",reason:"error"};return}let X=this.options.spawn??Cx,J,Y;try{({cmd:J,args:Y}=await this.resolveCommand(D.model))}catch(Q){yield{type:"error",error:Q instanceof Error?Q.message:String(Q)},yield{type:"finish",reason:"error"};return}let G=X(J,Y,{cwd:F,env:{...s3.env,...this.options.env??{}}}),B=new n4({policy:this.options.policy??i4,writeLine:(Q)=>{try{G.stdin.write(Q)}catch{}}});B.sendUserMessage($);let H=this.options.timeoutMs??qx,W=setTimeout(()=>QK(G,"SIGKILL"),H),U="",A=null,V=!1,E=Rx(G,"exit").then((Q)=>Q[0]??null).catch((Q)=>{return A=Q instanceof Error?Q.message:String(Q),null});G.on("error",(Q)=>{A=Q.message});let C=()=>QK(G,"SIGTERM");D.signal?.addEventListener("abort",C,{once:!0});try{for await(let Q of G.stdout){let{lines:q,remainder:N}=J1(U,Q.toString("utf8"));U=N;for(let Z of q){let j=SJ(Z);if(!j)continue;if(j.type==="control_request"){let T=await B.handleLine(j);for(let L of T)yield L;continue}for(let T of TJ(j))if(yield T,T.type==="finish")V=!0;if(V)break}if(V)break}}catch(Q){yield{type:"error",error:Q instanceof Error?Q.message:String(Q)}}finally{clearTimeout(W),D.signal?.removeEventListener("abort",C),Px(G)}let K=await E;if(!V){if(A)yield{type:"error",error:A};else if(K!==0&&K!==null)yield{type:"error",error:`Claude Code exited with code ${K}`};yield{type:"finish",reason:K===0?"stop":"error"}}}async resolveCommand(D){let $=EK(D??this.options.model,this.options.extraArgs),X=await(this.options.resolveClaudeBinary??Nx)();if(X)return{cmd:X,args:$};return{cmd:"npx",args:["-y",`@anthropic-ai/claude-code@${this.options.cliVersion?.trim()||s4}`,...$]}}}function EK(D,$){let F=["-p","--verbose","--output-format=stream-json","--input-format=stream-json","--include-partial-messages","--replay-user-messages","--dangerously-skip-permissions"];if(D&&D.length>0)F.push("--model",D);if($&&$.length>0)F.push(...$);return F}async function Nx(){let D=s3.env.PATH??"",$=s3.platform==="win32"?";":":",F=s3.platform==="win32"?(s3.env.PATHEXT??".EXE").split(";"):[""];for(let X of D.split($)){if(!X)continue;for(let J of F){let Y=Mx.join(X,`claude${J.toLowerCase()}`);try{if((await Ox.stat(Y)).isFile())return Y}catch{}}}return null}function QK(D,$){try{D.kill($)}catch{}}function Px(D){try{D.stdin.end()}catch{}}function Zx(D){for(let $=D.length-1;$>=0;$--){let F=D[$];if(F&&F.role==="user"&&typeof F.content==="string"&&F.content.length>0)return F.content}return null}var s4="2.1.112",qx=120000;var KK=R(()=>{fJ()});var CK=R(()=>{KK();fJ()});function bJ(D){let $=D.params??{};switch(D.method){case"codex/event/assistant_message":return Lx($);case"codex/event/thinking":return zx($);case"codex/event/token_usage":return jx($);case"codex/event/tool_call":return wx($);case"codex/event/tool_result":return Ix($);case"codex/event/stop":return Tx($);case"codex/event/error":return[{type:"error",error:typeof $.message==="string"?$.message:"codex error"}];default:return[]}}function Lx(D){let $=MK(D.delta,D.text);if(!$)return[];return[{type:"assistant_message_delta",delta:$}]}function zx(D){let $=MK(D.delta,D.text);if(!$)return[];return[{type:"thinking_delta",delta:$}]}function jx(D){let $=D.usage??{};return[{type:"token_usage",usage:{inputTokens:$.input_tokens??0,outputTokens:$.output_tokens??0}}]}function wx(D){if(!D.id||!D.name)return[];let $=D.arguments??{};return[{type:"tool_use",id:D.id,name:D.name,arguments:$,action:RK(D.name,$),...D.status?{status:Sx(D.status)}:{}}]}function Ix(D){if(!D.id)return[];return[{type:"tool_result",id:D.id,name:"",content:typeof D.content==="string"?D.content:"",...D.isError===!0?{isError:!0}:{}}]}function Tx(D){let $=[];if(D.usage)$.push({type:"token_usage",usage:{inputTokens:D.usage.input_tokens??0,outputTokens:D.usage.output_tokens??0}});return $.push({type:"finish",reason:OK(D.reason)}),$}function RK(D,$){let F=D.toLowerCase();if(F==="read"||F==="view"||F==="open_file")return{kind:"file_read",path:r3($,["path","file_path","filePath"])};if(F==="edit"||F==="write"||F==="apply_patch"||F==="patch"){let X=r3($,["path","file_path","filePath"]),J=fx($);return{kind:"file_edit",path:X,...J?{diff:J}:{}}}if(F==="bash"||F==="run_shell"||F==="shell"||F==="exec")return{kind:"command_run",command:r3($,["command","cmd","script"])};if(F==="grep"||F==="search"||F==="find")return{kind:"search",query:r3($,["query","pattern"])};if(F==="web_fetch"||F==="fetch"||F==="http_get")return{kind:"web_fetch",url:r3($,["url","uri"])};return{kind:"tool",toolName:D,...Object.keys($).length>0?{arguments:$}:{}}}function OK(D){switch(D){case"max_tokens":return"length";case"cancelled":return"cancelled";case"error":return"error";case"stop":default:return"stop"}}function Sx(D){switch(D){case"pending":return"pending";case"in_progress":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"denied";default:return"pending"}}function MK(...D){for(let $ of D)if(typeof $==="string"&&$.length>0)return $;return""}function r3(D,$){for(let F of $){let X=D[F];if(typeof X==="string"&&X.length>0)return X}return""}function fx(D){if(typeof D.old_string==="string"&&typeof D.new_string==="string")return`- ${D.old_string}
|
|
261
|
+
+ ${D.new_string}`;if(typeof D.oldText==="string"&&typeof D.newText==="string")return`- ${D.oldText}
|
|
262
|
+
+ ${D.newText}`;if(typeof D.diff==="string")return D.diff;if(typeof D.content==="string")return D.content;return}var kJ=()=>{};import{spawn as bx}from"child_process";import{once as kx}from"events";import vx from"fs/promises";import gx from"path";import G1 from"process";class a4{options;name="codex";constructor(D){this.options=D}async health(){return{name:this.name,status:"healthy",lastChecked:new Date().toISOString()}}async listTools(){return[]}run(D){return this.runIterable(D)}async*runIterable(D){let $=ux(D.messages);if(!$){yield{type:"error",error:"Codex executor requires a user message"},yield{type:"finish",reason:"error"};return}let F=D.workspacePath??this.options.fallbackWorkspacePath??G1.cwd(),X;try{X=await this.resolveCommand()}catch(Q){yield{type:"error",error:Q instanceof Error?Q.message:String(Q)},yield{type:"finish",reason:"error"};return}let Y=(this.options.spawn??bx)(X.cmd,X.args,{cwd:F,env:{...G1.env,...this.options.env??{}}}),G=new PK,B=new E8({writeLine:(Q)=>{try{Y.stdin.write(Q)}catch{}},onNotification:(Q)=>this.handleNotification(Q,G),onRequest:(Q)=>this.handleInboundRequest(Q),onError:(Q)=>G.push({type:"error",error:Q.message}),requestTimeoutMs:this.options.timeoutMs??qK}),H="",W=(Q)=>{let{lines:q,remainder:N}=F1(H,Q.toString("utf8"));H=N;for(let Z of q)B.handleLine(Z)};Y.stdout.on("data",W);let U=null;Y.on("error",(Q)=>{U=Q.message});let A=kx(Y,"exit").then((Q)=>Q[0]??null).catch((Q)=>{return U=Q instanceof Error?Q.message:String(Q),null});A.then((Q)=>{if(Q===0)return;let q=U??(Q===null?"codex child exited unexpectedly":`codex child exited with code ${Q}`);G.close({kind:"error",message:q}),B.dispose(q)});let V=this.options.timeoutMs??qK,E=setTimeout(()=>NK(Y,"SIGKILL"),V),C=!1,K=()=>{C=!0,NK(Y,"SIGTERM")};D.signal?.addEventListener("abort",K,{once:!0});try{await B.request("initialize",{protocolVersion:hx,clientInfo:{name:"aiworker",version:"0.2.0"}});let Q={approval_policy:"never"},q=D.model??this.options.model;if(q&&q.length>0)Q.model=q;let N=await B.request("thread_start",Q);if(!N?.threadId){yield{type:"error",error:"Codex thread_start returned no threadId"},yield{type:"finish",reason:"error"};return}B.request("newTurn",{threadId:N.threadId,prompt:$}).then(()=>G.close({kind:"finish"}),(L)=>G.close({kind:"error",message:L instanceof Error?L.message:String(L)}));let j=!1;for await(let L of G.iter())if(yield L,L.type==="finish")j=!0;let T=G.terminal;if(T?.kind==="error")yield{type:"error",error:T.message},yield{type:"finish",reason:C?"cancelled":"error"};else if(!j)yield{type:"finish",reason:C?"cancelled":"stop"}}catch(Q){yield{type:"error",error:Q instanceof Error?Q.message:String(Q)},yield{type:"finish",reason:C?"cancelled":"error"}}finally{clearTimeout(E),D.signal?.removeEventListener("abort",K),B.dispose("run ended"),Y.stdout.off("data",W),yx(Y),await A.catch(()=>null)}}handleNotification(D,$){for(let F of bJ(D))$.push(F)}async handleInboundRequest(D){if(D.method==="codex/request_permission"||D.method==="session/request_permission")return{outcome:{outcome:"selected",optionId:"allow"}};throw Error(`unsupported codex client method: ${D.method}`)}async resolveCommand(){let D=["app-server",...this.options.extraArgs??[]],F=await(this.options.resolveBinary??xx)();if(F)return{cmd:F,args:D};return{cmd:"npx",args:["-y",`@openai/codex@${this.options.cliVersion?.trim()||G1.env.CODEX_CLI_VERSION?.trim()||o4}`,...D]}}}class PK{buffer=[];resolver=null;closed=!1;terminal=null;push(D){if(this.closed)return;if(this.resolver){let $=this.resolver;this.resolver=null,$({value:D,done:!1});return}this.buffer.push(D)}close(D){if(this.closed)return;if(this.closed=!0,D)this.terminal=D;if(this.resolver){let $=this.resolver;this.resolver=null,$({value:void 0,done:!0})}}async*iter(){while(!0){if(this.buffer.length>0){yield this.buffer.shift();continue}if(this.closed)return;let D=await new Promise(($)=>{this.resolver=$});if(D.done)return;yield D.value}}}async function xx(){let D=G1.env.PATH??"",$=G1.platform==="win32"?";":":",F=G1.platform==="win32"?(G1.env.PATHEXT??".EXE").split(";"):[""];for(let X of D.split($)){if(!X)continue;for(let J of F){let Y=gx.join(X,`codex${J.toLowerCase()}`);try{if((await vx.stat(Y)).isFile())return Y}catch{}}}return null}function NK(D,$){try{D.kill($)}catch{}}function yx(D){try{D.stdin.end()}catch{}}function ux(D){for(let $=D.length-1;$>=0;$--){let F=D[$];if(F&&F.role==="user"&&typeof F.content==="string"&&F.content.length>0)return F.content}return null}var o4="0.121.0",qK=120000,hx=1;var ZK=R(()=>{kJ()});var LK=R(()=>{ZK();kJ()});function vJ(D){try{let $=JSON.parse(D);if($&&typeof $==="object"&&"type"in $&&typeof $.type==="string")return $;return null}catch{return null}}function gJ(D){switch(D.type){case"system":return[];case"assistant_message":return mx(D);case"thinking":return px(D);case"tool_use":return cx(D);case"tool_result":return dx(D);case"token_usage":return lx(D);case"stop":case"end":return ix(D);case"error":return[{type:"error",error:typeof D.message==="string"?D.message:"cursor error"}];default:return[]}}function hJ(D){let $=D.session_id;if(typeof $==="string"&&$.length>0)return $;return""}function mx(D){let $=wK(D.delta,D.text);if(!$)return[];return[{type:"assistant_message_delta",delta:$}]}function px(D){let $=wK(D.delta,D.text);if(!$)return[];return[{type:"thinking_delta",delta:$}]}function cx(D){if(!D.id||!D.name)return[];let $=D.input??{};return[{type:"tool_use",id:D.id,name:D.name,arguments:$,action:jK(D.name,$),...D.status?{status:nx(D.status)}:{}}]}function dx(D){if(!D.id)return[];let $=D.isError===!0||D.is_error===!0;return[{type:"tool_result",id:D.id,name:typeof D.name==="string"?D.name:"",content:typeof D.content==="string"?D.content:"",...$?{isError:!0}:{}}]}function lx(D){let $=D.usage??{};return[{type:"token_usage",usage:{inputTokens:$.input_tokens??0,outputTokens:$.output_tokens??0}}]}function ix(D){let $=[];if(D.usage)$.push({type:"token_usage",usage:{inputTokens:D.usage.input_tokens??0,outputTokens:D.usage.output_tokens??0}});return $.push({type:"finish",reason:zK(D.reason)}),$}function zK(D){switch(D){case"length":return"length";case"cancelled":return"cancelled";case"error":return"error";case"stop":case"end_turn":default:return"stop"}}function nx(D){switch(D){case"pending":return"pending";case"running":return"running";case"completed":return"success";case"failed":return"failed";case"cancelled":return"denied";default:return"pending"}}function jK(D,$){let F=D.toLowerCase();if(F==="read_file"||F==="read"||F==="view"||F==="open")return{kind:"file_read",path:o3($,["path","file_path","filePath"])};if(F==="edit_file"||F==="edit"||F==="write"||F==="write_file"||F==="apply_patch"){let X=o3($,["path","file_path","filePath"]),J=sx($);return{kind:"file_edit",path:X,...J?{diff:J}:{}}}if(F==="run_terminal"||F==="run_terminal_cmd"||F==="bash"||F==="shell"||F==="exec")return{kind:"command_run",command:o3($,["command","cmd","script"])};if(F==="grep"||F==="grep_search"||F==="codebase_search"||F==="search"||F==="find")return{kind:"search",query:o3($,["query","pattern"])};if(F==="web_fetch"||F==="fetch"||F==="web_search")return{kind:"web_fetch",url:o3($,["url","uri"])};return{kind:"tool",toolName:D,...Object.keys($).length>0?{arguments:$}:{}}}function wK(...D){for(let $ of D)if(typeof $==="string"&&$.length>0)return $;return""}function o3(D,$){for(let F of $){let X=D[F];if(typeof X==="string"&&X.length>0)return X}return""}function sx(D){if(typeof D.old_string==="string"&&typeof D.new_string==="string")return`- ${D.old_string}
|
|
263
|
+
+ ${D.new_string}`;if(typeof D.oldText==="string"&&typeof D.newText==="string")return`- ${D.oldText}
|
|
264
|
+
+ ${D.newText}`;if(typeof D.diff==="string")return D.diff;if(typeof D.content==="string")return D.content;return}var xJ=()=>{};import{spawn as rx}from"child_process";import{once as ox}from"events";import ax from"fs/promises";import tx from"path";import V6 from"process";class t4{options;name="cursor";lastSessionId="";constructor(D){this.options=D}async health(){return{name:this.name,status:"healthy",lastChecked:new Date().toISOString()}}async listTools(){return[]}getLastSessionId(){return this.lastSessionId}run(D){return this.runIterable(D)}async*runIterable(D){let $=Fy(D.messages);if(!$){yield{type:"error",error:"Cursor executor requires a user message"},yield{type:"finish",reason:"error"};return}let F=D.workspacePath??this.options.fallbackWorkspacePath??V6.cwd(),X;try{X=await this.resolveCommand(D.model)}catch(K){yield{type:"error",error:K instanceof Error?K.message:String(K)},yield{type:"finish",reason:"error"};return}let Y=(this.options.spawn??rx)(X.cmd,X.args,{cwd:F,env:{...V6.env,...this.options.env??{}}});try{Y.stdin.write($),Y.stdin.end()}catch{}let G=this.options.timeoutMs??ex,B=setTimeout(()=>IK(Y,"SIGKILL"),G),H="",W=null,U=!1,A=ox(Y,"exit").then((K)=>K[0]??null).catch((K)=>{return W=K instanceof Error?K.message:String(K),null});Y.on("error",(K)=>{W=K.message});let V=!1,E=()=>{V=!0,IK(Y,"SIGTERM")};D.signal?.addEventListener("abort",E,{once:!0});try{for await(let K of Y.stdout){let{lines:Q,remainder:q}=J1(H,K.toString("utf8"));H=q;for(let N of Q){let Z=vJ(N);if(!Z)continue;let j=hJ(Z);if(j)this.lastSessionId=j;for(let T of gJ(Z))if(yield T,T.type==="finish")U=!0;if(U)break}if(U)break}}catch(K){yield{type:"error",error:K instanceof Error?K.message:String(K)}}finally{clearTimeout(B),D.signal?.removeEventListener("abort",E),$y(Y)}let C=await A;if(!U){if(W)yield{type:"error",error:W};else if(C!==0&&C!==null)yield{type:"error",error:`cursor-agent exited with code ${C}`};yield{type:"finish",reason:V?"cancelled":C===0?"stop":"error"}}}async resolveCommand(D){let F=await(this.options.resolveBinary??Dy)();if(!F)throw Error("cursor-agent binary not found on PATH (install https://cursor.com/cli)");let X=D??this.options.model,J=TK({model:X,...this.options.resumeSessionId===void 0?{}:{resumeSessionId:this.options.resumeSessionId},...this.options.extraArgs===void 0?{}:{extraArgs:this.options.extraArgs}});return{cmd:F,args:J}}}function TK(D){let $=["-p","--output-format=stream-json"];if(D.model&&D.model.length>0)$.push("--model",D.model);if(D.resumeSessionId&&D.resumeSessionId.length>0)$.push("--resume",D.resumeSessionId);if(D.extraArgs&&D.extraArgs.length>0)$.push(...D.extraArgs);return $}async function Dy(){let D=V6.env.PATH??"",$=V6.platform==="win32"?";":":",F=V6.platform==="win32"?(V6.env.PATHEXT??".EXE").split(";"):[""];for(let X of D.split($)){if(!X)continue;for(let J of F){let Y=tx.join(X,`cursor-agent${J.toLowerCase()}`);try{if((await ax.stat(Y)).isFile())return Y}catch{}}}return null}function IK(D,$){try{D.kill($)}catch{}}function $y(D){try{D.stdin.end()}catch{}}function Fy(D){for(let $=D.length-1;$>=0;$--){let F=D[$];if(F&&F.role==="user"&&typeof F.content==="string"&&F.content.length>0)return F.content}return null}var ex=120000;var SK=R(()=>{xJ()});var fK=R(()=>{SK();xJ()});class uJ{primary;fallbacks;name;constructor(D,$){this.primary=D;this.fallbacks=$;this.name=`fallback(${D.name})`}health(){return this.primary.health()}listTools(){return this.primary.listTools()}run(D){return this.runIterable(D)}async*runIterable(D){let $=yield*bK(this.primary,D);if($.kind==="ok")return;if($.yielded)throw $.error;let F=Xy($.error),X=$.error;for(let J of this.fallbacks){if(!J.onErrorKinds.includes(F))continue;let Y=Math.max(1,J.maxRetries);for(let G=0;G<Y;G++){let B=yield*bK(J.executor,D);if(B.kind==="ok")return;if(B.yielded)throw B.error;X=B.error}}throw X}}async function*bK(D,$){let F=!1;try{for await(let X of D.run($))F=!0,yield X;return{kind:"ok"}}catch(X){return{kind:"error",error:X,yielded:F}}}function Xy(D){if(D===null||D===void 0)return"unknown";let $=kK(D,"status")??kK(D,"statusCode"),F=yJ(D,"code"),X=yJ(D,"name"),Y=(yJ(D,"message")??Jy(D)).toLowerCase();if($===429||Y.includes("rate limit")||Y.includes("rate_limit"))return"rate-limit";if($===408||X==="AbortError"||F==="ETIMEDOUT"||Y.includes("timeout")||Y.includes("engine stall"))return"timeout";if($===401||$===403||Y.includes("invalid api key")||Y.includes("unauthorized"))return"auth";if(F==="ECONNREFUSED"||F==="ENOTFOUND"||F==="ECONNRESET"||F==="EAI_AGAIN"||X==="TypeError"&&Y.includes("fetch failed"))return"network";if(typeof $==="number"&&$>=500&&$<600)return"server-5xx";return"unknown"}function kK(D,$){if(typeof D!=="object"||D===null)return;let F=D[$];return typeof F==="number"?F:void 0}function yJ(D,$){if(typeof D!=="object"||D===null)return;let F=D[$];return typeof F==="string"?F:void 0}function Jy(D){if(typeof D==="string")return D;if(D instanceof Error)return D.message;try{return String(D)}catch{return""}}import{Buffer as vK}from"buffer";import{spawn as gK}from"child_process";import{once as hK}from"events";import xK from"process";class mJ{opts;name="cli";constructor(D){this.opts=D}async health(){let D=new Date().toISOString();try{let $=gK(this.opts.command,["--version"],{cwd:this.opts.cwd,env:{...xK.env,...this.opts.env},stdio:["ignore","pipe","pipe"]}),F=await Promise.race([hK($,"exit").then(([X])=>X),new Promise((X)=>setTimeout(()=>X(null),2000))]);if(F===null)return $.kill("SIGKILL"),{name:this.name,status:"degraded",lastChecked:D};return{name:this.name,status:F===0?"healthy":"degraded",lastChecked:D}}catch{return{name:this.name,status:"down",lastChecked:D}}}async listTools(){return[]}async*run(D){yield{type:"error",error:"CliExecutor.run is not implemented \u2014 CLI executors provide tools, not chat."},yield{type:"finish",reason:"error"}}async invokeTool(D){let $=this.opts.timeoutMs??30000,F=gK(this.opts.command,this.opts.args,{cwd:this.opts.cwd,env:{...xK.env,...this.opts.env},stdio:["pipe","pipe","pipe"]}),X=[];F.stdout.on("data",(B)=>X.push(B));let J=[];F.stderr.on("data",(B)=>J.push(B)),F.stdin.write(`${JSON.stringify(D)}
|
|
265
|
+
`),F.stdin.end();let Y=setTimeout(()=>F.kill("SIGKILL"),$),[G]=await hK(F,"exit");if(clearTimeout(Y),G!==0){let B=vK.concat(J).toString("utf8");throw Error(`CLI executor exited with ${G??"null"}: ${B||"(no stderr)"}`)}return vK.concat(X).toString("utf8")}}var yK=()=>{};var Gy,Yy,By,e4;var pJ=R(()=>{Q0();Gy=_.object({index:_.number().optional(),id:_.string().optional(),type:_.literal("function").optional(),function:_.object({name:_.string().optional(),arguments:_.string().optional()}).optional()}),Yy=_.object({role:_.enum(["system","user","assistant","tool"]).optional(),content:_.string().nullable().optional(),tool_calls:_.array(Gy).optional()}),By=_.object({prompt_tokens:_.number(),completion_tokens:_.number(),total_tokens:_.number()}),e4=_.object({id:_.string(),object:_.literal("chat.completion.chunk"),created:_.number(),model:_.string(),choices:_.array(_.object({index:_.number(),delta:Yy,finish_reason:_.enum(["stop","length","tool_calls","content_filter","function_call"]).nullable()})),usage:By.nullish()})});async function cJ(D){let $=D.baseUrl.replace(/\/+$/,""),F=D.timeoutMs??Hy,X=new AbortController,J=setTimeout(()=>X.abort(),F),Y=()=>X.abort();D.signal?.addEventListener("abort",Y,{once:!0});let G;try{G=await fetch(`${$}/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream",Authorization:`Bearer ${D.apiKey}`},body:JSON.stringify(D.body),signal:X.signal})}catch(B){if(clearTimeout(J),D.signal?.removeEventListener("abort",Y),B instanceof DOMException&&B.name==="AbortError")throw Error(`OpenAI request aborted after ${F}ms`);throw Error(B instanceof Error?B.message:"OpenAI transport error")}if(!G.ok){let B=await G.text().catch(()=>"");throw clearTimeout(J),D.signal?.removeEventListener("abort",Y),new a3(G.status,G.statusText,B)}if(!G.body)throw clearTimeout(J),D.signal?.removeEventListener("abort",Y),Error("OpenAI response has no body");return Wy(G.body,()=>{clearTimeout(J),D.signal?.removeEventListener("abort",Y)})}async function*Wy(D,$){let F=D.getReader(),X=new TextDecoder("utf-8"),J="";try{while(!0){let{value:Y,done:G}=await F.read();if(G)break;J+=X.decode(Y,{stream:!0});while(!0){let B=_y(J);if(B===-1)break;let H=J.slice(0,B);J=J.slice(B).replace(/^\r?\n\r?\n/,"");let W=uK(H);if(!W)continue;if(W==="[DONE]"){yield{type:"done"};return}let U;try{U=JSON.parse(W)}catch{continue}let A=e4.safeParse(U);if(!A.success)continue;yield{type:"chunk",chunk:A.data}}}if(J.trim().length>0){let Y=uK(J);if(Y&&Y!=="[DONE]")try{let G=JSON.parse(Y),B=e4.safeParse(G);if(B.success)yield{type:"chunk",chunk:B.data}}catch{}}}finally{$();try{F.releaseLock()}catch{}}}function _y(D){let $=D.indexOf(`
|
|
266
|
+
|
|
267
|
+
`),F=D.indexOf(`\r
|
|
268
|
+
\r
|
|
269
|
+
`);if($===-1)return F;if(F===-1)return $;return Math.min($,F)}function uK(D){let $=D.split(/\r?\n/),F=[];for(let J of $){if(J.startsWith(":"))continue;if(J.startsWith("data:")){let Y=J.slice(5).replace(/^ /,"");F.push(Y)}}if(F.length===0)return null;let X=F.join(`
|
|
270
|
+
`);if(X==="[DONE]")return"[DONE]";return X}var Hy=60000,a3;var mK=R(()=>{pJ();a3=class a3 extends Error{status;constructor(D,$,F){let X=F.length>500?`${F.slice(0,500)}\u2026`:F;super(`OpenAI HTTP ${D} ${$}${X?`: ${X}`:""}`);this.name="OpenAiHttpError",this.status=D}}});var pK=R(()=>{mK();pJ()});class dJ{name="openai-compatible";baseUrl;apiKey;model;timeoutMs;constructor(D){this.baseUrl=D.baseUrl.replace(/\/+$/,""),this.apiKey=D.apiKey,this.model=D.model,this.timeoutMs=D.timeoutMs}async health(){let D=new Date().toISOString();if(!this.apiKey)return{name:this.name,status:"down",lastChecked:D};let $=new AbortController,F=setTimeout(()=>$.abort(),Math.min(this.timeoutMs,5000));try{let X=await fetch(`${this.baseUrl}/v1/models`,{method:"GET",headers:{Authorization:`Bearer ${this.apiKey}`},signal:$.signal});if(clearTimeout(F),X.ok)return{name:this.name,status:"healthy",lastChecked:D};if(X.status>=500)return{name:this.name,status:"degraded",lastChecked:D};return{name:this.name,status:"down",lastChecked:D}}catch{return clearTimeout(F),{name:this.name,status:"down",lastChecked:D}}}async listTools(){return[]}run(D){return this.runIterable(D)}async*runIterable(D){if(!this.apiKey){yield{type:"error",error:"OpenAI API key is not configured"};return}let $={model:D.model??this.model,messages:D.messages.map(Ay),stream:!0,stream_options:{include_usage:!0}};if(D.temperature!==void 0)$.temperature=D.temperature;if(D.toolDefinitions&&D.toolDefinitions.length>0)$.tools=D.toolDefinitions.map(Uy),$.tool_choice="auto";let F;try{F=await cJ({baseUrl:this.baseUrl,apiKey:this.apiKey,timeoutMs:this.timeoutMs,body:$,signal:D.signal})}catch(G){yield{type:"error",error:cK(G)};return}let X=new Map,J=null,Y;try{for await(let G of F){if(G.type==="done")break;let B=G.chunk.choices[0];if(B){let H=B.delta;if(typeof H.content==="string"&&H.content.length>0)yield{type:"assistant_message_delta",delta:H.content};if(H.tool_calls)for(let W of H.tool_calls)Vy(X,W);if(B.finish_reason)J=Ey(B.finish_reason)}if(G.chunk.usage)Y={inputTokens:G.chunk.usage.prompt_tokens,outputTokens:G.chunk.usage.completion_tokens}}}catch(G){yield{type:"error",error:cK(G)};return}for(let[,G]of Array.from(X.entries()).sort(([B],[H])=>B-H)){let B=Qy(G);if(B)yield B}if(Y)yield{type:"token_usage",usage:Y};yield{type:"finish",reason:J??"stop",...Y?{usage:Y}:{}}}}function Uy(D){return{type:"function",function:{name:D.name,description:D.description,parameters:D.inputSchema}}}function Ay(D){let $={role:D.role,content:D.content};if(D.name)$.name=D.name;if(D.toolCallId)$.tool_call_id=D.toolCallId;if(D.toolCalls&&D.toolCalls.length>0)$.tool_calls=D.toolCalls.map((F)=>({id:F.id,type:"function",function:{name:F.name,arguments:JSON.stringify(F.arguments)}}));return $}function Vy(D,$){let F=$.index??0,X=D.get(F)??{args:[]};if($.id)X.id=$.id;if($.function?.name)X.name=$.function.name;if($.function?.arguments)X.args.push($.function.arguments);D.set(F,X)}function Qy(D){if(!D.id||!D.name)return null;let $=D.args.join(""),F={};if($.length>0)try{let J=JSON.parse($);if(J&&typeof J==="object"&&!Array.isArray(J))F=J}catch{F={_raw:$}}let X={kind:"tool",toolName:D.name,arguments:F};return{type:"tool_use",id:D.id,name:D.name,arguments:F,action:X}}function Ey(D){switch(D){case"tool_calls":case"function_call":return"tool";case"length":return"length";case"content_filter":return"error";case"stop":default:return"stop"}}function cK(D){if(D instanceof a3)return D.message;if(D instanceof Error)return D.message;return"Unknown executor error"}var dK=R(()=>{pK()});class lJ{name="mcp";client;constructor(D){this.client=new A6({url:D.url,token:D.token,clientName:"aiworker-worker",...D.timeoutMs===void 0?{}:{timeoutMs:D.timeoutMs}})}async health(){let D=new Date().toISOString();try{return await this.client.ensureSession(),{name:this.name,status:"healthy",lastChecked:D}}catch{return{name:this.name,status:"down",lastChecked:D}}}async listTools(){try{return(await this.client.listTools()).map(($)=>({name:$.name,description:$.description??"",inputSchema:$.inputSchema??{}}))}catch{return[]}}async*run(D){yield{type:"error",error:"McpExecutor.run is not implemented yet \u2014 use http executor for chat."},yield{type:"finish",reason:"error"}}}var lK=R(()=>{AJ()});import iK from"process";function nJ(D){let $=Ky(D);if(!D.fallbacks||D.fallbacks.length===0)return $;let F=D.fallbacks.map((X)=>({executor:nJ(X.executor),onErrorKinds:X.onErrorKinds,maxRetries:X.maxRetries??1}));return new uJ($,F)}function Ky(D){let $=t2(D);switch($.engine){case"http":{let F=$.body;return new dJ({baseUrl:F.baseUrl,apiKey:F.apiKey,model:$.modelId??F.model,timeoutMs:F.timeoutMs})}case"mcp":{let F=$.body;return new lJ({url:F.url,token:F.token,...$.modelId!==void 0?{defaultModel:$.modelId}:F.defaultModel===void 0?{}:{defaultModel:F.defaultModel},...F.tools===void 0?{}:{tools:F.tools},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs}})}case"cli":{let{body:F,cmd:X}=$,J=X?.binary??F.command,Y=X?.extraArgs?[...F.args,...X.extraArgs]:F.args,G=iJ(F.env,X?.env);return new mJ({command:J,args:Y,...F.cwd===void 0?{}:{cwd:F.cwd},...G===void 0?{}:{env:G},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs},...F.sandbox===void 0?{}:{sandbox:F.sandbox}})}case"claude-code":{let{body:F,cmd:X}=$,J=X?.cliVersion??F.cliVersion??iK.env.CLAUDE_CLI_VERSION??s4,Y=$.modelId??F.model,G=nK(F.extraArgs,X?.extraArgs),B=iJ(F.env,X?.env);return new r4({cliVersion:J,...Y===void 0?{}:{model:Y},...G===void 0?{}:{extraArgs:G},...B===void 0?{}:{env:B},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs}})}case"acp":{let{body:F,cmd:X}=$,J=X?.cliVersion??F.cliVersion,Y=$.modelId??F.model,G=nK(F.extraArgs,X?.extraArgs),B=iJ(F.env,X?.env),H=zJ(F.agent);return new l4({agent:H,...Y===void 0?{}:{model:Y},...J===void 0?{}:{cliVersion:J},...G===void 0?{}:{extraArgs:G},...B===void 0?{}:{env:B},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs}})}case"codex":{let{body:F,cmd:X}=$,J=X?.cliVersion??iK.env.CODEX_CLI_VERSION??o4,Y=$.modelId??F.model,G=X?.extraArgs,B=X?.env;return new a4({cliVersion:J,...Y===void 0?{}:{model:Y},...G===void 0?{}:{extraArgs:G},...B===void 0?{}:{env:B},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs}})}case"cursor":{let{body:F,cmd:X}=$,J=$.modelId??F.model,Y=X?.extraArgs,G=X?.env;return new t4({...J===void 0?{}:{model:J},...Y===void 0?{}:{extraArgs:Y},...G===void 0?{}:{env:G},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs}})}}}function nK(D,$){if(!D&&!$)return;return[...D??[],...$??[]]}function iJ(D,$){if(!D&&!$)return;return{...D??{},...$??{}}}var sK=R(()=>{v8();UK();CK();LK();fK();yK();dK();lK()});import{Buffer as rK}from"buffer";import{spawn as Cy}from"child_process";import{once as Ry}from"events";import Q6 from"fs/promises";import h2 from"path";import Oy from"process";function oK(D,$,F){if(!eK.test(F))throw new $5(`invalid conversation id: ${F}`);let X=h2.resolve(D),J=h2.resolve(X,$);if(!aK(X,J))throw new $5(`workspace subdir "${$}" escapes root`);let Y=h2.resolve(J,F);if(!aK(J,Y))throw new $5(`workspace "${F}" escapes parent`);return Y}function aK(D,$){let F=h2.relative(D,$);return F===""||!F.startsWith("..")&&!h2.isAbsolute(F)}class sJ{root;subdir;gitOrigin;inflight=new Map;constructor(D){this.root=h2.resolve(D.root),this.subdir=D.subdir??"workspaces",this.gitOrigin=D.gitOrigin}async createWorkspace(D){let $=this.inflight.get(D);if($)return $;let F=this.provision(D).finally(()=>this.inflight.delete(D));return this.inflight.set(D,F),F}async provision(D){let $=oK(this.root,this.subdir,D);if(await D5($)){let F=await D5(h2.join($,".git"));return{conversationId:D,path:$,isGitWorktree:F}}if(await Q6.mkdir(h2.dirname($),{recursive:!0}),this.gitOrigin)return await this.addGitWorktree(this.gitOrigin,$),{conversationId:D,path:$,isGitWorktree:!0};return await Q6.mkdir($,{recursive:!0}),{conversationId:D,path:$,isGitWorktree:!1}}async disposeWorkspace(D){let $=oK(this.root,this.subdir,D);if(!await D5($))return;if(this.gitOrigin){if(await this.removeGitWorktree(this.gitOrigin,$))return}await Q6.rm($,{recursive:!0,force:!0})}async purgeAll(){let D=h2.resolve(this.root,this.subdir);if(!await D5(D))return;let $=await Q6.readdir(D);await Promise.all($.map(async(F)=>{if(!eK.test(F))return;await this.disposeWorkspace(F).catch(()=>{return})}))}async addGitWorktree(D,$){let F=await tK(["worktree","add","--detach",$],D);if(F.code!==0)throw await Q6.mkdir($,{recursive:!0}),Error(`git worktree add failed (code=${F.code}): ${F.stderr.trim()}`)}async removeGitWorktree(D,$){return(await tK(["worktree","remove","--force",$],D)).code===0}}async function D5(D){try{return await Q6.stat(D),!0}catch{return!1}}async function tK(D,$){let F=Cy("git",D,{cwd:$,env:Oy.env,stdio:["ignore","pipe","pipe"]}),X=[],J=[];F.stdout.on("data",(G)=>X.push(G)),F.stderr.on("data",(G)=>J.push(G));let[Y]=await Ry(F,"exit");return{code:Y,stdout:rK.concat(X).toString("utf8"),stderr:rK.concat(J).toString("utf8")}}var eK,$5;var DC=R(()=>{eK=/^[\w-]{1,128}$/;$5=class $5 extends Error{constructor(D){super(D);this.name="WorkspaceEscapeError"}}});async function $C(D){let $=m(),F=D.threadId?E2(p(ED.channel,D.channel),p(ED.chatId,D.chatId),p(ED.threadId,D.threadId),p(ED.status,"open")):E2(p(ED.channel,D.channel),p(ED.chatId,D.chatId),p(ED.status,"open"));return $.select().from(ED).where(F).orderBy(R0(ED.lastActiveAt)).get()??null}function qy(){return["You classify whether a new inbound message continues the previous conversation or opens a new topic.","Consider topic continuity, referent continuity, time and channel context.",'Respond with a single JSON object: {"continue": boolean, "reason": string (<=80 chars)}',"Do not include any other text."].join(`
|
|
271
|
+
`)}function Ny(D,$,F){let X=[];if(D)X.push(`Prior summary: ${D}`);if($.length>0){X.push("Recent messages:");for(let J of $)X.push(`- ${J.role}: ${J.content.slice(0,400)}`)}return X.push(`New incoming message: ${F}`),[{role:"system",content:qy()},{role:"user",content:X.join(`
|
|
272
|
+
`)}]}async function FC(D,$,F,X,J,Y){let G={messages:Ny(F,X,J),...$?{model:$}:{},...Y?{workspacePath:Y}:{},temperature:0},B="";try{for await(let H of D.run(G))if(H.type==="assistant_message_delta")B+=H.delta;else if(H.type==="error")throw Error(H.error)}catch(H){return M.warn(`[conversation] classifier error, defaulting to continue: ${String(H)}`),{continue:!0,reason:"classifier-error-default-continue"}}try{let H=JSON.parse(B.trim());if(typeof H.continue==="boolean")return{continue:H.continue,reason:String(H.reason??"")};return{continue:!0,reason:"malformed-response"}}catch{return{continue:!0,reason:"non-json-classifier-output"}}}async function XC(D,$=My){return m().select({role:vD.role,content:vD.content}).from(vD).where(p(vD.conversationId,D)).orderBy(R0(vD.id)).limit($).all().reverse()}var My=4;var JC=R(()=>{jD();JD();O0()});function GC(D,$){if(!$)return"auto";for(let F of $.rules)if(Py(F.pattern,D))return F.action;return $.default}function Py(D,$){if(D.length===0)return!1;if(D==="*")return!0;if(!D.includes("*"))return D===$;return new RegExp(`^${D.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*")}$`).test($)}class rJ{deps;constructor(D){this.deps=D}async ingest(D){this.deps.bus.emit("channel.inbound",{channel:D.channel,chatId:D.chatId,text:D.text});let $=await this.resolveConversation(D),F=await this.provisionWorkspace($.id),X=this.persistUserMessage($.id,D);this.deps.bus.emit("conversation.message",{conversationId:$.id,messageId:X.id,role:"user"});let J=new AbortController,Y=null;await this.deps.processes.run({group:$.id,engine:this.deps.config.executor.engine,class:"interactive",meta:{conversationId:$.id,channel:D.channel},onSpawn:async()=>({cancel:async()=>J.abort(),onActivity:(G)=>{return Y=G,()=>{if(Y===G)Y=null}}}),job:()=>this.run($,D,F,J.signal,()=>Y?.())})}async run(D,$,F,X,J){let Y=m(),G=await this.loadConversationMessages(D.id),H=[{role:"system",content:await this.buildSystemPrompt()},...G],W=YC(this.deps.config.executor),U={messages:H,...W?{model:W}:{},...F?{workspacePath:F.path}:{},signal:X},A="";try{for await(let E of this.deps.executor.run(U))if(J(),E.type==="assistant_message_delta")A+=E.delta,this.deps.bus.emit("orchestrator.text",{conversationId:D.id,delta:E.delta});else if(E.type==="tool_use")this.deps.bus.emit("orchestrator.tool_call",{conversationId:D.id,call:{id:E.id,name:E.name,arguments:E.arguments}});else if(E.type==="error"){M.warn(`[orchestrator] executor error: ${E.error}`),this.deps.bus.emit("orchestrator.error",{conversationId:D.id,error:E.error});return}}catch(E){M.error(`[orchestrator] run failed: ${String(E)}`),this.deps.bus.emit("orchestrator.error",{conversationId:D.id,error:String(E)});return}let V=new Date().toISOString();Y.insert(vD).values({conversationId:D.id,role:"assistant",content:A,createdAt:V}).run(),Y.update(ED).set({lastActiveAt:V}).where(p(ED.id,D.id)).run(),this.deps.bus.emit("orchestrator.finished",{conversationId:D.id}),await this.deliver($.channel,D,A)}async deliver(D,$,F){let X=this.deps.config.channels.find((Y)=>Y.channel===D&&Y.enabled);if(!X)return;let J=y8(D);try{await J.send(X,{channel:D,chatId:$.chatId,...$.threadId===void 0?{}:{threadId:$.threadId},text:F})}catch(Y){M.warn(`[orchestrator] deliver to ${D} failed: ${String(Y)}`)}}async resolveConversation(D){let $=m(),F=await $C(D);if(!F)return this.createConversation(D);let X=await this.provisionWorkspace(F.id),J=await XC(F.id),Y=YC(this.deps.config.executor),G=await FC(this.deps.executor,Y,F.summary??null,J,D.text,X?.path);if(this.deps.bus.emit("conversation.classifier",{conversationId:F.id,decision:G}),G.continue)return BC(F);let B=new Date().toISOString();$.update(ED).set({status:"closed",closedAt:B}).where(p(ED.id,F.id)).run();let H=F.id;return this.deps.processes.run({group:H,engine:this.deps.config.executor.engine,class:"background",meta:{conversationId:H,kind:"workspace.dispose"},onSpawn:async()=>({cancel:async()=>{},onActivity:()=>()=>{}}),job:()=>this.disposeWorkspace(H)}).catch((W)=>M.warn(`[orchestrator] dispose workspace job failed: ${String(W)}`)),this.createConversation(D)}async provisionWorkspace(D){try{return await this.deps.workspaces.createWorkspace(D)}catch($){return M.warn(`[orchestrator] workspace create failed for ${D}: ${String($)}`),null}}async disposeWorkspace(D){try{await this.deps.workspaces.disposeWorkspace(D)}catch($){M.warn(`[orchestrator] workspace dispose failed for ${D}: ${String($)}`)}}createConversation(D){let $=m(),F=crypto.randomUUID(),X=new Date().toISOString();$.insert(ED).values({id:F,channel:D.channel,chatId:D.chatId,...D.threadId===void 0?{}:{threadId:D.threadId},status:"open",startedAt:X,lastActiveAt:X}).run();let J=$.select().from(ED).where(p(ED.id,F)).get();return this.deps.bus.emit("conversation.created",{conversationId:F,channel:D.channel,chatId:D.chatId}),BC(J)}persistUserMessage(D,$){let F=m(),X=new Date().toISOString(),J=$.richMetadata?JSON.stringify($.richMetadata):null,Y=F.insert(vD).values({conversationId:D,role:"user",content:$.text,...J===null?{}:{richMetadata:J},createdAt:X}).returning({id:vD.id}).all();return F.update(ED).set({lastActiveAt:X}).where(p(ED.id,D)).run(),{id:Y[0]?.id??-1}}async loadConversationMessages(D){return m().select({role:vD.role,content:vD.content}).from(vD).where(p(vD.conversationId,D)).all().map((X)=>({role:X.role,content:X.content}))}async buildSystemPrompt(){let D=await this.deps.brain.listSkills().catch(()=>[]),$=[`You are worker ${this.deps.workerId}.`,"Respond concisely and helpfully."];if(D.length>0){$.push("Available brain skills:");for(let F of D.slice(0,10))$.push(`- ${F.name}: ${F.description}`)}return $.join(`
|
|
273
|
+
`)}async runTool(D){let $=GC(D.toolName,this.deps.config.toolPolicy);if($==="auto")return{decision:"allow",policy:"auto"};if($==="deny"){let G=`tool ${D.toolName} blocked by policy`;if(D.conversationId!==void 0)this.persistAssistantMessage(D.conversationId,G);return this.deps.bus.emit("approval.denied",{taskId:D.taskId,toolCallId:D.toolCallId,toolName:D.toolName,reason:"policy"}),{decision:"deny",policy:"deny",syntheticAssistantMessage:G}}let F=D.timeoutMs??_J,X=Date.now()+F;this.deps.bus.emit("approval.requested",{workerId:this.deps.workerId,taskId:D.taskId,toolCallId:D.toolCallId,toolName:D.toolName,params:D.params,expiresAt:X});let J;try{J=await this.deps.approvals.wait({taskId:D.taskId,toolCallId:D.toolCallId,toolName:D.toolName,params:D.params,timeoutMs:F})}catch{J="deny"}if(J==="allow")return{decision:"allow",policy:"ask"};let Y=`tool ${D.toolName} blocked by policy`;if(D.conversationId!==void 0)this.persistAssistantMessage(D.conversationId,Y);return{decision:"deny",policy:"ask",syntheticAssistantMessage:Y}}persistAssistantMessage(D,$){let F=m(),X=new Date().toISOString();F.insert(vD).values({conversationId:D,role:"assistant",content:$,createdAt:X}).run(),F.update(ED).set({lastActiveAt:X}).where(p(ED.id,D)).run()}async submitTask(D){let $=m(),F=crypto.randomUUID(),X=new Date().toISOString();$.insert(a2).values({id:F,prompt:D,status:"queued",createdAt:X}).run();let J={workerId:this.deps.workerId,channel:"web",accountId:"sys:task",chatId:`task:${F}`,text:D,receivedAt:X,raw:{taskId:F}};return this.ingest(J).catch((Y)=>M.error(`[orchestrator] submitTask ingest failed: ${String(Y)}`)),{id:F}}}function YC(D){let $=null;try{$=t2(D)}catch{return}if(!$)return;if($.modelId!==void 0&&$.modelId.length>0)return $.modelId;let F=$.body;if(typeof F.model==="string"&&F.model.length>0)return F.model;if(typeof F.defaultModel==="string"&&F.defaultModel.length>0)return F.defaultModel;return}function BC(D){return{id:D.id,...D.taskId===null?{}:{taskId:D.taskId},channel:D.channel,chatId:D.chatId,...D.threadId===null?{}:{threadId:D.threadId},status:D.status,...D.summary===null?{}:{summary:D.summary},startedAt:D.startedAt,lastActiveAt:D.lastActiveAt,...D.closedAt===null?{}:{closedAt:D.closedAt}}}var HC=R(()=>{jD();JD();O0();G3();JC();v8();m4()});function Y1(D,$,F){let X=lE(D,$),J=nJ($.executor),Y=new J3($.channels),G=new O3,B=Zy($),H=new e8,W=new rJ({config:$,brain:X,executor:J,bus:G,workerId:D,workspaces:B,processes:F.processes,approvals:H}),U=nE(G),A=$.evolution.enabled?DK():()=>{return},V=new R3({workerId:D,getOrchestrator:()=>W});return V.start(),{workerId:D,config:$,brain:X,executor:J,channels:Y,bus:G,orchestrator:W,cron:V,workspaces:B,processes:F.processes,approvals:H,dispose(){U(),A(),H.dispose(),V.stop()}}}function Zy(D){let $=(()=>{if(D.executor.engine!=="claude-code")return;try{let X=t2(D.executor).body.workspaceRoot;return typeof X==="string"&&X.length>0?X:void 0}catch{return}})();return new sJ({root:l.WORKER_DATA_ROOT,...$?{subdir:$}:{},...l.WORKER_WORKSPACE_GIT_ORIGIN?{gitOrigin:l.WORKER_WORKSPACE_GIT_ORIGIN}:{}})}var WC=R(()=>{K7();iE();G3();dF();sE();$K();v8();sK();DC();m4();HC()});var _C=R(()=>{K7()});import{Buffer as E6}from"buffer";import{createCipheriv as Ly,createDecipheriv as zy,randomBytes as jy}from"crypto";class K6{db;key;constructor(D,$){this.db=$;if(!/^[0-9a-f]{64}$/.test(D))throw Error("SecretsVault: AIWORKER_MASTER_KEY must be 32-byte hex (64 hex chars)");if(this.key=E6.from(D,"hex"),this.key.length!==Iy)throw Error("SecretsVault: decoded master key length is not 32 bytes")}async put(D,$){let{ciphertext:F,nonce:X,authTag:J}=this.encrypt($),Y=await this.db.select({id:D0.id}).from(D0).where(p(D0.key,D)).get(),G=new Date().toISOString();if(Y)await this.db.update(D0).set({valueEnc:F,nonce:X,authTag:J,updatedAt:G}).where(p(D0.id,Y.id)).run();else await this.db.insert(D0).values({key:D,valueEnc:F,nonce:X,authTag:J,createdAt:G,updatedAt:G}).run()}async get(D){let $=await this.db.select().from(D0).where(p(D0.key,D)).get();if(!$)return null;return this.decrypt($.valueEnc,$.nonce,$.authTag)}async list(){return(await this.db.select({key:D0.key}).from(D0).all()).map(($)=>$.key)}async remove(D){await this.db.delete(D0).where(p(D0.key,D)).run()}async removeAll(){await this.db.delete(D0).run()}encryptString(D){return this.encrypt(D)}decryptString(D,$,F){return this.decrypt(D,$,F)}encrypt(D){let $=jy(wy),F=Ly(UC,this.key,$),X=E6.concat([F.update(D,"utf8"),F.final()]),J=F.getAuthTag();return{ciphertext:X.toString("base64"),nonce:$.toString("base64"),authTag:J.toString("base64")}}decrypt(D,$,F){let X=zy(UC,this.key,E6.from($,"base64"));return X.setAuthTag(E6.from(F,"base64")),E6.concat([X.update(E6.from(D,"base64")),X.final()]).toString("utf8")}}var UC="aes-256-gcm",wy=12,Iy=32;var oJ=R(()=>{jD();O0()});function fD(){if(!F5)F5=new K6(l.AIWORKER_MASTER_KEY,m());return F5}function AC(){F5=null}var F5=null;var VC=R(()=>{jD();_C();oJ();oJ()});import{Buffer as QC}from"buffer";import{timingSafeEqual as Ty}from"crypto";function X5(D,$){let F=QC.from(D,"utf8"),X=QC.from($,"utf8");if(F.length!==X.length)return!1;return Ty(F,X)}var EC=()=>{};var KC={};W1(KC,{workerEnv:()=>l,timingSafeEqualStrings:()=>X5,stopGatewayNode:()=>ZE,startGatewayNode:()=>b4,resetSecretsVaultForTests:()=>AC,resetAvailabilityProbeForTests:()=>JV,redactSecrets:()=>R7,readConfig:()=>q0,putSecret:()=>y4,putConfig:()=>l3,printBootstrapIfJustMinted:()=>x8,mirrorConfigToYaml:()=>i3,mintWorkerId:()=>C7,mintApiToken:()=>x1,loadOrSeedConfig:()=>g8,loadOrMintIdentity:()=>h8,listSecrets:()=>x4,hydrateSecrets:()=>u1,handleTokenRotate:()=>Q8,handleExecutorTest:()=>g4,handleChannelTest:()=>v4,handleBrainTest:()=>k4,getWorkerEnv:()=>k8,getSecretsVault:()=>fD,getChannelAdapter:()=>y8,getAvailabilityProbe:()=>m7,enumerateSecretPaths:()=>f2,deleteSecret:()=>u4,buildWorkerRuntime:()=>Y1,buildInfo:()=>h4,buildCronHandlers:()=>S4,applyConfigUpdate:()=>U6,WorkerEventBus:()=>O3,SecretsVault:()=>K6,ProcessManager:()=>$1,InvalidConfigError:()=>q2,DEFAULT_EMPTY_CONFIG:()=>h1,CronService:()=>R3,ConfigVersionConflictError:()=>N2,ChannelRegistry:()=>J3,ApprovalStore:()=>e8});var P2=R(()=>{K7();__();G3();dF();p7();LE();BJ();zE();YJ();wE();IE();TE();m4();kE();WC();VC();EC()});import $D from"process";import{EventEmitter as $O}from"events";function R5(D){return D==null?[]:Array.isArray(D)?D:[D]}function FO(D,$,F,X){var J,Y=D[$],G=~X.string.indexOf($)?F==null||F===!0?"":String(F):typeof F==="boolean"?F:~X.boolean.indexOf($)?F==="false"?!1:F==="true"||(D._.push((J=+F,J*0===0)?J:F),!!F):(J=+F,J*0===0)?J:F;D[$]=Y==null?G:Array.isArray(Y)?Y.concat(G):[Y,G]}function XO(D,$){D=D||[],$=$||{};var F,X,J,Y,G,B={_:[]},H=0,W=0,U=0,A=D.length;let V=$.alias!==void 0,E=$.unknown!==void 0,C=$.default!==void 0;if($.alias=$.alias||{},$.string=R5($.string),$.boolean=R5($.boolean),V)for(F in $.alias){X=$.alias[F]=R5($.alias[F]);for(H=0;H<X.length;H++)($.alias[X[H]]=X.concat(F)).splice(H,1)}for(H=$.boolean.length;H-- >0;){X=$.alias[$.boolean[H]]||[];for(W=X.length;W-- >0;)$.boolean.push(X[W])}for(H=$.string.length;H-- >0;){X=$.alias[$.string[H]]||[];for(W=X.length;W-- >0;)$.string.push(X[W])}if(C){for(F in $.default)if(Y=typeof $.default[F],X=$.alias[F]=$.alias[F]||[],$[Y]!==void 0){$[Y].push(F);for(H=0;H<X.length;H++)$[Y].push(X[H])}}let K=E?Object.keys($.alias):[];for(H=0;H<A;H++){if(J=D[H],J==="--"){B._=B._.concat(D.slice(++H));break}for(W=0;W<J.length;W++)if(J.charCodeAt(W)!==45)break;if(W===0)B._.push(J);else if(J.substring(W,W+3)==="no-"){if(Y=J.substring(W+3),E&&!~K.indexOf(Y))return $.unknown(J);B[Y]=!1}else{for(U=W+1;U<J.length;U++)if(J.charCodeAt(U)===61)break;Y=J.substring(W,U),G=J.substring(++U)||(H+1===A||(""+D[H+1]).charCodeAt(0)===45||D[++H]),X=W===2?[Y]:Y;for(U=0;U<X.length;U++){if(Y=X[U],E&&!~K.indexOf(Y))return $.unknown("-".repeat(W)+Y);FO(B,Y,U+1<X.length||G,$)}}}if(C){for(F in $.default)if(B[F]===void 0)B[F]=$.default[F]}if(V)for(F in B){X=$.alias[F]||[];while(X.length>0)B[X.shift()]=B[F]}return B}var ZG=(D)=>D.replace(/[<[].+/,"").trim(),JO=(D)=>{let $=/<([^>]+)>/g,F=/\[([^\]]+)\]/g,X=[],J=(B)=>{let H=!1,W=B[1];if(W.startsWith("..."))W=W.slice(3),H=!0;return{required:B[0].startsWith("<"),value:W,variadic:H}},Y;while(Y=$.exec(D))X.push(J(Y));let G;while(G=F.exec(D))X.push(J(G));return X},GO=(D)=>{let $={alias:{},boolean:[]};for(let[F,X]of D.entries()){if(X.names.length>1)$.alias[X.names[0]]=X.names.slice(1);if(X.isBoolean)if(X.negated){if(!D.some((Y,G)=>{return G!==F&&Y.names.some((B)=>X.names.includes(B))&&typeof Y.required==="boolean"}))$.boolean.push(X.names[0])}else $.boolean.push(X.names[0])}return $},NG=(D)=>{return D.sort(($,F)=>{return $.length>F.length?-1:1})[0]},PG=(D,$)=>{return D.length>=$?D:`${D}${" ".repeat($-D.length)}`},YO=(D)=>{return D.replace(/([a-z])-([a-z])/g,($,F,X)=>{return F+X.toUpperCase()})},BO=(D,$,F)=>{let X=0,J=$.length,Y=D,G;for(;X<J;++X)G=Y[$[X]],Y=Y[$[X]]=X===J-1?F:G!=null?G:!!~$[X+1].indexOf(".")||!(+$[X+1]>-1)?{}:[]},HO=(D,$)=>{for(let F of Object.keys($)){let X=$[F];if(X.shouldTransform){if(D[F]=Array.prototype.concat.call([],D[F]),typeof X.transformFunction==="function")D[F]=D[F].map(X.transformFunction)}}},WO=(D)=>{let $=/([^\\\/]+)$/.exec(D);return $?$[1]:""},LG=(D)=>{return D.split(".").map(($,F)=>{return F===0?YO($):$}).join(".")};class V9 extends Error{constructor(D){super(D);if(this.name=this.constructor.name,typeof Error.captureStackTrace==="function")Error.captureStackTrace(this,this.constructor);else this.stack=Error(D).stack}}class zG{constructor(D,$,F){if(this.rawName=D,this.description=$,this.config=Object.assign({},F),D=D.replace(/\.\*/g,""),this.negated=!1,this.names=ZG(D).split(",").map((X)=>{let J=X.trim().replace(/^-{1,2}/,"");if(J.startsWith("no-"))this.negated=!0,J=J.replace(/^no-/,"");return LG(J)}).sort((X,J)=>X.length>J.length?1:-1),this.name=this.names[this.names.length-1],this.negated&&this.config.default==null)this.config.default=!0;if(D.includes("<"))this.required=!0;else if(D.includes("["))this.required=!1;else this.isBoolean=!0}}var _O=process.argv,UO=`${process.platform}-${process.arch} node-${process.version}`;class O5{constructor(D,$,F={},X){this.rawName=D,this.description=$,this.config=F,this.cli=X,this.options=[],this.aliasNames=[],this.name=ZG(D),this.args=JO(D),this.examples=[]}usage(D){return this.usageText=D,this}allowUnknownOptions(){return this.config.allowUnknownOptions=!0,this}ignoreOptionDefaultValue(){return this.config.ignoreOptionDefaultValue=!0,this}version(D,$="-v, --version"){return this.versionNumber=D,this.option($,"Display version number"),this}example(D){return this.examples.push(D),this}option(D,$,F){let X=new zG(D,$,F);return this.options.push(X),this}alias(D){return this.aliasNames.push(D),this}action(D){return this.commandAction=D,this}isMatched(D){return this.name===D||this.aliasNames.includes(D)}get isDefaultCommand(){return this.name===""||this.aliasNames.includes("!")}get isGlobalCommand(){return this instanceof M5}hasOption(D){return D=D.split(".")[0],this.options.find(($)=>{return $.names.includes(D)})}outputHelp(){let{name:D,commands:$}=this.cli,{versionNumber:F,options:X,helpCallback:J}=this.cli.globalCommand,Y=[{body:`${D}${F?`/${F}`:""}`}];if(Y.push({title:"Usage",body:` $ ${D} ${this.usageText||this.rawName}`}),(this.isGlobalCommand||this.isDefaultCommand)&&$.length>0){let H=NG($.map((W)=>W.rawName));Y.push({title:"Commands",body:$.map((W)=>{return` ${PG(W.rawName,H.length)} ${W.description}`}).join(`
|
|
274
|
+
`)}),Y.push({title:"For more info, run any command with the `--help` flag",body:$.map((W)=>` $ ${D}${W.name===""?"":` ${W.name}`} --help`).join(`
|
|
275
|
+
`)})}let B=this.isGlobalCommand?X:[...this.options,...X||[]];if(!this.isGlobalCommand&&!this.isDefaultCommand)B=B.filter((H)=>H.name!=="version");if(B.length>0){let H=NG(B.map((W)=>W.rawName));Y.push({title:"Options",body:B.map((W)=>{return` ${PG(W.rawName,H.length)} ${W.description} ${W.config.default===void 0?"":`(default: ${W.config.default})`}`}).join(`
|
|
276
|
+
`)})}if(this.examples.length>0)Y.push({title:"Examples",body:this.examples.map((H)=>{if(typeof H==="function")return H(D);return H}).join(`
|
|
277
|
+
`)});if(J)Y=J(Y)||Y;console.log(Y.map((H)=>{return H.title?`${H.title}:
|
|
278
|
+
${H.body}`:H.body}).join(`
|
|
279
|
+
|
|
280
|
+
`))}outputVersion(){let{name:D}=this.cli,{versionNumber:$}=this.cli.globalCommand;if($)console.log(`${D}/${$} ${UO}`)}checkRequiredArgs(){let D=this.args.filter(($)=>$.required).length;if(this.cli.args.length<D)throw new V9(`missing required args for command \`${this.rawName}\``)}checkUnknownOptions(){let{options:D,globalCommand:$}=this.cli;if(!this.config.allowUnknownOptions){for(let F of Object.keys(D))if(F!=="--"&&!this.hasOption(F)&&!$.hasOption(F))throw new V9(`Unknown option \`${F.length>1?`--${F}`:`-${F}`}\``)}}checkOptionValue(){let{options:D,globalCommand:$}=this.cli,F=[...$.options,...this.options];for(let X of F){let J=D[X.name.split(".")[0]];if(X.required){let Y=F.some((G)=>G.negated&&G.names.includes(X.name));if(J===!0||J===!1&&!Y)throw new V9(`option \`${X.rawName}\` value is missing`)}}}}class M5 extends O5{constructor(D){super("@@global@@","",{},D)}}var A9=Object.assign;class jG extends $O{constructor(D=""){super();this.name=D,this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.globalCommand=new M5(this),this.globalCommand.usage("<command> [options]")}usage(D){return this.globalCommand.usage(D),this}command(D,$,F){let X=new O5(D,$||"",F,this);return X.globalCommand=this.globalCommand,this.commands.push(X),X}option(D,$,F){return this.globalCommand.option(D,$,F),this}help(D){return this.globalCommand.option("-h, --help","Display this message"),this.globalCommand.helpCallback=D,this.showHelpOnExit=!0,this}version(D,$="-v, --version"){return this.globalCommand.version(D,$),this.showVersionOnExit=!0,this}example(D){return this.globalCommand.example(D),this}outputHelp(){if(this.matchedCommand)this.matchedCommand.outputHelp();else this.globalCommand.outputHelp()}outputVersion(){this.globalCommand.outputVersion()}setParsedInfo({args:D,options:$},F,X){if(this.args=D,this.options=$,F)this.matchedCommand=F;if(X)this.matchedCommandName=X;return this}unsetMatchedCommand(){this.matchedCommand=void 0,this.matchedCommandName=void 0}parse(D=_O,{run:$=!0}={}){if(this.rawArgs=D,!this.name)this.name=D[1]?WO(D[1]):"cli";let F=!0;for(let J of this.commands){let Y=this.mri(D.slice(2),J),G=Y.args[0];if(J.isMatched(G)){F=!1;let B=A9(A9({},Y),{args:Y.args.slice(1)});this.setParsedInfo(B,J,G),this.emit(`command:${G}`,J)}}if(F){for(let J of this.commands)if(J.name===""){F=!1;let Y=this.mri(D.slice(2),J);this.setParsedInfo(Y,J),this.emit("command:!",J)}}if(F){let J=this.mri(D.slice(2));this.setParsedInfo(J)}if(this.options.help&&this.showHelpOnExit)this.outputHelp(),$=!1,this.unsetMatchedCommand();if(this.options.version&&this.showVersionOnExit&&this.matchedCommandName==null)this.outputVersion(),$=!1,this.unsetMatchedCommand();let X={args:this.args,options:this.options};if($)this.runMatchedCommand();if(!this.matchedCommand&&this.args[0])this.emit("command:*");return X}mri(D,$){let F=[...this.globalCommand.options,...$?$.options:[]],X=GO(F),J=[],Y=D.indexOf("--");if(Y>-1)J=D.slice(Y+1),D=D.slice(0,Y);let G=XO(D,X);G=Object.keys(G).reduce((A,V)=>{return A9(A9({},A),{[LG(V)]:G[V]})},{_:[]});let B=G._,H={"--":J},W=$&&$.config.ignoreOptionDefaultValue?$.config.ignoreOptionDefaultValue:this.globalCommand.config.ignoreOptionDefaultValue,U=Object.create(null);for(let A of F){if(!W&&A.config.default!==void 0)for(let V of A.names)H[V]=A.config.default;if(Array.isArray(A.config.type)){if(U[A.name]===void 0)U[A.name]=Object.create(null),U[A.name].shouldTransform=!0,U[A.name].transformFunction=A.config.type[0]}}for(let A of Object.keys(G))if(A!=="_"){let V=A.split(".");BO(H,V,G[A]),HO(H,U)}return{args:B,options:H}}runMatchedCommand(){let{args:D,options:$,matchedCommand:F}=this;if(!F||!F.commandAction)return;F.checkUnknownOptions(),F.checkOptionValue(),F.checkRequiredArgs();let X=[];return F.args.forEach((J,Y)=>{if(J.variadic)X.push(D.slice(Y));else X.push(D[Y])}),X.push($),F.commandAction.apply(this,X)}}var AO=(D="")=>new jG(D),wG=AO;JD();JD();import QB from"process";L8();class sD extends Error{code;constructor(D,$="aim_ws_error"){super(D);this.code=$;this.name="AimWsError"}}function UB(){let D=null,$=!1,F=!1,X=new Map,J=new Map;function Y(Q){for(let[,q]of X){if(q.timer)clearTimeout(q.timer);q.signalCleanup?.(),q.reject(Q)}X.clear()}function G(Q){let q=X.get(Q.id);if(!q)return;if(X.delete(Q.id),q.timer)clearTimeout(q.timer);if(q.signalCleanup?.(),Q.ok)q.resolve(Q.result);else{let N=Q.error;q.reject(new sD(`${N.code}: ${N.message}`,N.code))}}function B(Q){let q=J.get(Q.name);if(!q||q.size===0)return;for(let N of q)try{N(Q.payload)}catch{}}function H(Q){let q=b6(Q);if(!q.ok)return;let N=q.frame;if(N.type==="response")G(N);else if(N.type==="event")B(N)}async function W(Q){if($)throw new sD("aim client \u5DF2\u7ECF\u8FDE\u63A5","already_connected");let q=Q.timeoutMs??1e4;await new Promise((N,Z)=>{let j=!1,T;try{T=new WebSocket(Q.url)}catch(v){Z(new sD(`WebSocket \u6784\u9020\u5931\u8D25 (${Q.url}): ${v instanceof Error?v.message:String(v)}`,"ws_construct_failed"));return}D=T;let L=setTimeout(()=>{if(j)return;j=!0;try{T.close()}catch{}Z(new sD(`\u8FDE\u63A5 gateway \u8D85\u65F6 (>${q}ms): ${Q.url}`,"connect_timeout"))},q);T.onopen=()=>{let v={type:"connect",role:P8.OPERATOR,agentId:Q.deviceId,deviceId:Q.deviceId,auth:{token:Q.token},...Q.meta?{meta:Q.meta}:{}};try{T.send(Z8(v))}catch(w){if(j)return;j=!0,clearTimeout(L),Z(new sD(`\u53D1\u9001 connect \u5E27\u5931\u8D25: ${w instanceof Error?w.message:String(w)}`,"connect_send_failed"));return}if(!j)j=!0,clearTimeout(L),$=!0,N()},T.onmessage=(v)=>{let w=typeof v.data==="string"?v.data:v.data instanceof ArrayBuffer?new TextDecoder().decode(v.data):String(v.data);H(w)},T.onerror=(v)=>{if(j)return;j=!0,clearTimeout(L);let w=v.message??"unknown";Z(new sD(`WS \u8FDE\u63A5\u9519\u8BEF: ${w}`,"ws_error"))},T.onclose=(v)=>{if(F=!0,$=!1,Y(new sD(`WS \u5DF2\u5173\u95ED (code=${v.code}, reason=${v.reason||"n/a"})`,"ws_closed")),!j)j=!0,clearTimeout(L),Z(new sD(`WS \u5728\u63E1\u624B\u9636\u6BB5\u88AB\u5173\u95ED (code=${v.code})`,"ws_closed_early"))}})}function U(){if(!$||F||D===null||D.readyState!==WebSocket.OPEN)throw new sD("aim client \u672A\u8FDE\u63A5\u6216\u5DF2\u5173\u95ED","not_connected")}async function A(Q,q,N){U();let Z=crypto.randomUUID(),j={type:"request",id:Z,method:Q,...q===void 0?{}:{params:q}};return await new Promise((T,L)=>{let v=N?.timeoutMs??30000,w=null,r=null,HD={resolve:T,reject:L,timer:null,signalCleanup:null};if(w=setTimeout(()=>{X.delete(Z),r?.(),L(new sD(`request ${Q} \u8D85\u65F6 (>${v}ms)`,"request_timeout"))},v),HD.timer=w,N?.signal){let GD=N.signal;if(GD.aborted){X.delete(Z),clearTimeout(w),L(GD.reason??new sD(`request ${Q} \u88AB abort`,"aborted"));return}let o=()=>{if(X.delete(Z),w)clearTimeout(w);L(GD.reason??new sD(`request ${Q} \u88AB abort`,"aborted"))};GD.addEventListener("abort",o,{once:!0}),r=()=>GD.removeEventListener("abort",o),HD.signalCleanup=r}X.set(Z,HD);try{D?.send(Z8(j))}catch(GD){if(X.delete(Z),w)clearTimeout(w);r?.(),L(new sD(`request ${Q} \u53D1\u9001\u5931\u8D25: ${GD instanceof Error?GD.message:String(GD)}`,"send_failed"))}})}async function V(Q,q,N){if(!v9(Q))throw new sD(`method ${Q} \u672A\u5728 @zonease/aiworker-gateway-proto \u6CE8\u518C`,"unknown_method");return await A(Q,q,N)}function E(Q,q){if(!l5(Q));let N=J.get(Q);if(!N)N=new Set,J.set(Q,N);return N.add(q),()=>{let Z=J.get(Q);if(!Z)return;if(Z.delete(q),Z.size===0)J.delete(Q)}}async function C(Q,q){if(!D||F)return;await new Promise((N)=>{let Z=D;if(!Z){N();return}if(Z.readyState===WebSocket.CLOSED){F=!0,$=!1,N();return}let j=Z.onclose;Z.onclose=(T)=>{if(typeof j==="function")j.call(Z,T);N()};try{Z.close(Q,q)}catch{}})}function K(){return $&&!F&&D!==null&&D.readyState===WebSocket.OPEN}return{connect:W,request:V,requestRaw:A,onEvent:E,close:C,isOpen:K}}w8();async function QD(D,$={}){let F=await u9(),X=UB();try{await X.connect({url:$.gatewayUrl??F.gatewayUrl,deviceId:F.deviceId,token:$.token??F.deviceToken,...$.connectTimeoutMs===void 0?{}:{timeoutMs:$.connectTimeoutMs}});let J=await D({client:X,state:F});return await X.close(1000,"aim session done"),J}catch(J){try{await X.close(1011,"aim session error")}catch{}throw J}}function PD(D){let $=JSON.stringify(D,null,2);QB.stdout.write(`${$}
|
|
281
|
+
`)}function r0(D){QB.stdout.write(`${JSON.stringify(D)}
|
|
282
|
+
`)}function UD(D){if(!(D instanceof sD))return 1;switch(D.code){case"NOT_FOUND":case"unknown_method":return 2;case"request_timeout":case"connect_timeout":return 3;case"ws_closed":case"ws_closed_early":case"not_connected":return 4;default:return 1}}async function EB(D={}){try{let $=await QD(async({client:F})=>{if(D.workerId!==void 0&&D.workerId.length>0)return await F.request("approval.list",{workerId:D.workerId});let J=(await F.request("workers.list",{})).workers.filter((G)=>G.online).map((G)=>G.workerId),Y=[];for(let G of J)try{let B=await F.request("approval.list",{workerId:G});for(let H of B.approvals)Y.push(H)}catch(B){M.warn(`approval.list ${G} \u5931\u8D25: ${B instanceof Error?B.message:String(B)}`)}return{approvals:Y}});return PD($),0}catch($){return M.error(`approvals list \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function KB(D){try{let $=await QD(async({client:F})=>{return await F.request("approval.grant",{workerId:D.workerId,taskId:D.taskId,toolCallId:D.toolCallId,decision:D.deny===!0?"deny":"allow"})});return PD($),0}catch($){return M.error(`approvals grant \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}L8();JD();async function CB(D){let $=D.timeoutMs??120000;try{return await QD(async({client:F})=>{return await new Promise((X)=>{let J=!1,Y=(U)=>{if(J)return;J=!0,X(U)},G=setTimeout(()=>{r0({kind:"error",payload:{code:"timeout",message:`chat \u7B49\u5F85 agent.done \u8D85\u65F6 (>${$}ms)`}}),Y(3)},$),B=D.workerId,H=(U)=>{if(U===null||typeof U!=="object")return!1;let A=U.workerId;return typeof A==="string"&&A===B},W=[];W.push(F.onEvent(WD.CHAT_MESSAGE,(U)=>{if(!H(U))return;r0({kind:WD.CHAT_MESSAGE,payload:U})})),W.push(F.onEvent(WD.AGENT_THINKING,(U)=>{if(!H(U))return;r0({kind:WD.AGENT_THINKING,payload:U})})),W.push(F.onEvent(WD.AGENT_TOOL_CALL,(U)=>{if(!H(U))return;r0({kind:WD.AGENT_TOOL_CALL,payload:U})})),W.push(F.onEvent(WD.AGENT_DONE,(U)=>{if(!H(U))return;r0({kind:"done",payload:U}),clearTimeout(G);for(let A of W)A();Y(0)})),F.request("chat.send",{workerId:D.workerId,content:D.content,...D.conversationId===void 0?{}:{conversationId:D.conversationId}},{timeoutMs:Math.min($,30000)}).then((U)=>{r0({kind:"accepted",payload:U})}).catch((U)=>{r0({kind:"error",payload:{code:"request_failed",message:U instanceof Error?U.message:String(U)}}),clearTimeout(G);for(let A of W)A();Y(UD(U))})})})}catch(F){return M.error(`chat \u5931\u8D25: ${F instanceof Error?F.message:String(F)}`),UD(F)}}JD();async function RB(D){try{let $=await QD(async({client:F})=>{return await F.request("config.get",{workerId:D})});return PD($),0}catch($){return M.error(`config get \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function OB(D){let $;try{$=JSON.parse(D.configJson)}catch(F){return M.error(`config-set \u53C2\u6570\u4E0D\u662F\u5408\u6CD5 JSON: ${F instanceof Error?F.message:String(F)}`),2}try{let F=await QD(async({client:X})=>{return await X.request("config.put",{workerId:D.workerId,ifMatch:D.ifMatch,config:$})});return PD(F),0}catch(F){return M.error(`config set \u5931\u8D25: ${F instanceof Error?F.message:String(F)}`),UD(F)}}JD();async function MB(){try{let D=await QD(async({client:$})=>{return await $.request("enroll.list",{})});return PD(D),0}catch(D){return M.error(`enroll list \u5931\u8D25: ${D instanceof Error?D.message:String(D)}`),UD(D)}}async function qB(D){try{let $=await QD(async({client:F})=>{return await F.request("enroll.approve",{otp:D})});return M.success(`\u5DF2\u6279\u51C6 OTP ${D}\uFF0CworkerId=${$.workerId}`),PD({workerId:$.workerId,deviceToken:$.deviceToken}),0}catch($){return M.error(`enroll approve \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function NB(D){try{let $=await QD(async({client:F})=>{return await F.request("enroll.reject",{otp:D})});if($.rejected)M.info(`\u5DF2\u62D2\u7EDD OTP ${D}`);else M.warn(`OTP ${D} \u4E0D\u5B58\u5728\u6216\u5DF2\u8FC7\u671F`);return PD($),0}catch($){return M.error(`enroll reject \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}JD();j8();w8();import{spawn as _P}from"child_process";import{closeSync as PB,existsSync as Y$,openSync as ZB,readFileSync as zB,unlinkSync as c9,writeFileSync as UP}from"fs";import{mkdir as AP}from"fs/promises";import I1 from"path";import I8 from"process";var VP="apps",QP="gateway",LB=`${VP}/${QP}`;function jB(D){if(!Number.isFinite(D)||D<=0)return!1;try{return I8.kill(D,0),!0}catch($){if($.code==="EPERM")return!0;return!1}}function EP(D){if(!Y$(D))return null;try{let $=zB(D,"utf8").trim();if($.length===0)return null;let F=Number.parseInt($,10);if(!Number.isFinite(F)||F<=0)return null;return F}catch{return null}}function KP(){let $=I1.dirname(new URL(import.meta.url).pathname);for(let F=0;F<10;F+=1){let X=I1.join($,"package.json");if(Y$(X))try{let Y=JSON.parse(zB(X,"utf8"));if(Y.name==="aiworker"||Array.isArray(Y.workspaces))return $}catch{}let J=I1.dirname($);if(J===$)break;$=J}return null}function CP(D){if(D&&D.length>0)return I1.resolve(D);let $=I8.env.AIWORKER_GATEWAY_ENTRY;if($&&$.length>0)return I1.resolve($);let F=KP();if(F){let X=I1.join(F,LB,"src","index.ts");if(Y$(X))return X}throw Error("gateway \u5165\u53E3\u672A\u627E\u5230\u3002\u8BF7\u8BBE\u7F6E AIWORKER_GATEWAY_ENTRY \u6216\u4F7F\u7528 --entry <path>\uFF1B"+`\u6216\u786E\u4FDD\u4ED3\u5E93\u5185\u5B58\u5728 ${LB}/src/index.ts\u3002`)}async function RP(){await AP(j2(),{recursive:!0})}function d9(){let D=x9(),$=y9(),F=EP(D);if(F===null)return{running:!1,pidFile:D,logFile:$};if(!jB(F)){try{c9(D)}catch{}return{running:!1,pidFile:D,logFile:$}}return{running:!0,pid:F,pidFile:D,logFile:$}}async function wB(D={}){let $=d9();if($.running)throw Error(`gateway daemon \u5DF2\u5728\u8FD0\u884C (pid=${$.pid})\uFF0C\u5148\u6267\u884C 'aim gateway stop' \u518D\u91CD\u8BD5\u3002`);await RP();let F=CP(D.entry),X=D.port??Number.parseInt(I8.env.PORT??"3000",10);if(!Number.isFinite(X)||X<=0||X>65535)throw Error(`\u975E\u6CD5\u7AEF\u53E3: ${X}`);let J=x9(),Y=y9(),G=ZB(Y,"a"),B=ZB(Y,"a"),H={...I8.env,...D.env,PORT:String(X)},W=_P("bun",[F],{env:H,cwd:I8.cwd(),detached:!0,stdio:["ignore",G,B]});try{PB(G)}catch{}if(B!==G)try{PB(B)}catch{}if(W.pid===void 0)throw Error("gateway \u5B50\u8FDB\u7A0B\u542F\u52A8\u5931\u8D25\uFF1A\u672A\u83B7\u5F97 PID");return W.unref(),UP(J,`${String(W.pid)}
|
|
283
|
+
`,"utf8"),{pid:W.pid,entry:F,port:X,logFile:Y,pidFile:J}}async function IB(D={}){let $=d9();if(!$.running||$.pid===void 0)return null;let F=$.pid,X=D.timeoutMs??5000,J=100;try{I8.kill(F,"SIGTERM")}catch(G){if(G.code==="ESRCH"){try{c9($.pidFile)}catch{}return null}throw G}let Y=Date.now()+X;while(Date.now()<Y){if(!jB(F)){try{c9($.pidFile)}catch{}return F}await new Promise((G)=>setTimeout(G,J))}try{I8.kill(F,"SIGKILL")}catch{}try{c9($.pidFile)}catch{}return F}w8();async function TB(D={}){try{let $=await wB({...D.port===void 0?{}:{port:D.port},...D.entry===void 0?{}:{entry:D.entry}});if(D.persistUrl!==!1)await m9({gatewayUrl:`ws://localhost:${$.port}`});return M.success(`gateway daemon \u5DF2\u542F\u52A8 pid=${$.pid} port=${$.port}`),M.info(`entry : ${$.entry}`),M.info(`pidFile: ${$.pidFile}`),M.info(`logFile: ${$.logFile}`),0}catch($){return M.error(`gateway start \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}function SB(){let D=d9();if(D.running)return M.success(`gateway daemon \u8FD0\u884C\u4E2D pid=${D.pid}`),M.info(`pidFile: ${D.pidFile}`),M.info(`logFile: ${D.logFile}`),0;return M.info("gateway daemon \u672A\u8FD0\u884C"),1}async function fB(D={}){try{let $=await IB(D.timeoutMs===void 0?{}:{timeoutMs:D.timeoutMs});if($===null)return M.info("gateway daemon \u5F53\u524D\u672A\u8FD0\u884C"),0;return M.success(`gateway daemon \u5DF2\u505C\u6B62 pid=${$}`),0}catch($){return M.error(`gateway stop \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}JD();import{spawnSync as bB}from"child_process";import{existsSync as OP,mkdirSync as MP,readFileSync as qP,writeFileSync as NP}from"fs";import{homedir as kB}from"os";import vB from"path";import PP from"process";var T8="aiworker-gateway.service",ZP="/var/lib/aiworker";function LP(D){if(D.scope==="user")return["[Unit]","Description=AIWorker gateway daemon (user instance)","After=network.target","","[Service]","Type=simple","ExecStart=%h/.bun/bin/aiworker gateway start","Restart=on-failure","RestartSec=5","Environment=AIWORKER_HOME=%h/.aiworker","","[Install]","WantedBy=default.target",""].join(`
|
|
284
|
+
`);if(!D.operatorHome||D.operatorHome.length===0)throw Error("renderSystemdUnit: scope=system \u5FC5\u987B\u63D0\u4F9B operatorHome\uFF08systemd \u7CFB\u7EDF\u5355\u5143\u4E0D\u5C55\u5F00 %h\uFF09");return["[Unit]","Description=AIWorker gateway daemon (system instance)","After=network.target","","[Service]","Type=simple",`ExecStart=${D.operatorHome}/.bun/bin/aiworker gateway start`,"Restart=on-failure","RestartSec=5",`Environment=AIWORKER_HOME=${ZP}`,"","[Install]","WantedBy=multi-user.target",""].join(`
|
|
285
|
+
`)}function zP(D,$=kB()){if(D==="user")return vB.join($,".config","systemd","user",T8);return`/etc/systemd/system/${T8}`}function jP(D={}){let $=D.scope??"user",F=LP({scope:$,...$==="system"?{operatorHome:kB()}:{}});if(D.dryRun)return{scope:$,content:F,enabled:!1};let X=D.out??zP($);MP(vB.dirname(X),{recursive:!0});let J=!1;if(OP(X)){if(qP(X,"utf8")===F)J=!0}if(!J)NP(X,F,{encoding:"utf8",mode:420});if(!(!D.noEnable&&D.out===void 0))return{scope:$,content:F,written:{path:X,unchanged:J},enabled:!1};return wP($),{scope:$,content:F,written:{path:X,unchanged:J},enabled:!0}}function wP(D){let $=D==="user"?["--user"]:[],F=bB("systemctl",[...$,"daemon-reload"],{stdio:"inherit"});if(F.error)throw Error(`\u65E0\u6CD5\u6267\u884C systemctl: ${F.error.message}`);if(F.status!==0)throw Error(`systemctl ${[...$,"daemon-reload"].join(" ")} \u5931\u8D25 (exit=${F.status??"signal"})`);let X=bB("systemctl",[...$,"enable","--now",T8],{stdio:"inherit"});if(X.error)throw Error(`\u65E0\u6CD5\u6267\u884C systemctl: ${X.error.message}`);if(X.status!==0)throw Error(`systemctl ${[...$,"enable","--now",T8].join(" ")} \u5931\u8D25 (exit=${X.status??"signal"})`)}async function gB(D={}){try{let $=jP(D);if(D.dryRun)return PP.stdout.write($.content),0;let F=$.written?.path??"<unknown>";if($.written?.unchanged)M.info(`systemd unit \u672A\u53D8\u66F4 (${F})`);else M.success(`systemd unit \u5199\u5165 ${F}`);if($.enabled)M.success(`\u5DF2 enable --now ${T8}\uFF08${$.scope==="user"?"systemctl --user":"systemctl"}\uFF09`);else if(D.out!==void 0)M.info("--out \u6307\u5B9A\u4E86\u975E\u9ED8\u8BA4\u8DEF\u5F84\uFF0C\u5DF2\u8DF3\u8FC7 systemctl\uFF1B\u5982\u9700\u542F\u7528\u8BF7\u624B\u52A8:"),M.info(` systemctl ${$.scope==="user"?"--user ":""}daemon-reload`),M.info(` systemctl ${$.scope==="user"?"--user ":""}enable --now ${T8}`);else if(D.noEnable)M.info("--no-enable \u5DF2\u751F\u6548\uFF1B\u5982\u9700\u542F\u7528\u8BF7\u624B\u52A8:"),M.info(` systemctl ${$.scope==="user"?"--user ":""}daemon-reload`),M.info(` systemctl ${$.scope==="user"?"--user ":""}enable --now ${T8}`);return 0}catch($){return M.error(`install systemd \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}L8();JD();async function hB(D){let $=D.follow===!0,F=D.timeoutMs??($?3600000:5000);try{return await QD(async({client:X})=>{return await new Promise((J)=>{let Y=!1,G=(W)=>{if(Y)return;Y=!0,J(W)},B=X.onEvent(WD.LOGS_LINE,(W)=>{if(W===null||typeof W!=="object")return;let U=W.workerId;if(typeof U!=="string"||U!==D.workerId)return;r0(W)}),H=setTimeout(()=>{B(),G(0)},F);X.request("logs.tail",{workerId:D.workerId,follow:$,...D.tail===void 0?{}:{lines:D.tail}}).then(()=>{}).catch((W)=>{B(),clearTimeout(H),r0({kind:"error",payload:{code:"request_failed",message:W instanceof Error?W.message:String(W)}}),G(UD(W))})})})}catch(X){return M.error(`logs \u5931\u8D25: ${X instanceof Error?X.message:String(X)}`),UD(X)}}JD();async function xB(D){try{let $=await QD(async({client:X})=>{return await X.request("workers.pair",{workerBaseUrl:D.workerUrl,bootstrapToken:D.bootstrapToken,...D.displayName===void 0?{}:{displayName:D.displayName}})},D.url===void 0?{}:{gatewayUrl:D.url}),{patchAimState:F}=await Promise.resolve().then(() => (w8(),p9));return await F({...D.url===void 0?{}:{gatewayUrl:D.url},deviceToken:$.deviceToken,defaultWorkerId:$.workerId}),M.success(`\u5DF2\u914D\u5BF9 worker ${$.workerId}`),PD({workerId:$.workerId}),0}catch($){return M.error(`pair \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}JD();var yB=["web","line","telegram","lark","whatsapp"];function IP(D){if(!yB.includes(D))throw Error(`\u65E0\u6548 channel "${D}"\uFF0C\u53EF\u9009\u503C\uFF1A${yB.join(", ")}`);return D}async function uB(D){try{let $=await QD(async({client:F})=>{return await F.request("cron.list",{workerId:D})});return PD($),0}catch($){return M.error(`schedule list \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function mB(D){try{let $=IP(D.channel),F={expression:D.expression,prompt:D.prompt,channel:$,chatId:D.chatId};if(D.accountId!==void 0)F.accountId=D.accountId;if(D.enabled!==void 0)F.enabled=D.enabled;let X=await QD(async({client:J})=>{return await J.request("cron.add",{workerId:D.workerId,job:F})});return PD(X),0}catch($){return M.error(`schedule add \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function pB(D,$){try{let F=await QD(async({client:X})=>{return await X.request("cron.remove",{workerId:D,jobId:$})});return PD(F),0}catch(F){return M.error(`schedule remove \u5931\u8D25: ${F instanceof Error?F.message:String(F)}`),UD(F)}}JD();async function cB(D){try{let $=await QD(async({client:F})=>{return await F.request("token.rotate",{workerId:D})});return PD($),0}catch($){return M.error(`token rotate \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}JD();async function dB(){try{let D=await QD(async({client:$})=>{return await $.request("workers.list",{})});return PD(D),0}catch(D){return M.error(`workers list \u5931\u8D25: ${D instanceof Error?D.message:String(D)}`),UD(D)}}async function lB(D){try{let $=await QD(async({client:F})=>{return await F.request("workers.info",{workerId:D})});return PD($),0}catch($){return M.error(`workers info \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function iB(D={}){try{let $=await QD(async({client:X})=>{let J={...D.env??{}};if(D.forceId!==void 0&&D.forceId.length>0)J.AIWORKER_FORCE_ID=D.forceId;return await X.request("workers.launch",{...D.displayName===void 0?{}:{displayName:D.displayName},...D.image===void 0?{}:{image:D.image},...Object.keys(J).length===0?{}:{env:J}})}),{patchAimState:F}=await Promise.resolve().then(() => (w8(),p9));return await F({deviceToken:$.deviceToken,defaultWorkerId:$.workerId}),M.success(`\u5DF2 launch worker ${$.workerId}`),PD({workerId:$.workerId}),0}catch($){return M.error(`workers launch \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function nB(D){try{let $=await QD(async({client:F})=>{return await F.request("workers.stop",{workerId:D})});return PD($),0}catch($){return M.error(`workers stop \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function sB(D){try{let $=await QD(async({client:Y})=>{return await Y.request("workers.remove",{workerId:D})}),{loadAimState:F,saveAimState:X}=await Promise.resolve().then(() => (w8(),p9)),J=await F();if(J.defaultWorkerId===D){let Y={...J};delete Y.defaultWorkerId,await X(Y)}return PD($),0}catch($){return M.error(`workers remove \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}P2();JD();import aJ from"process";P2();jD();import Sy from"process";async function fy(D){let $=fD(),F=f2(D).map((J)=>J.path),X=new Map;for(let J of F){let Y=await $.get(J);if(Y!==null)X.set(J,Y)}return u1(D,X)}async function N0(D={}){D3(l.WORKER_DB_PATH);let $=Sy.env.WORKER_MIGRATIONS_FOLDER??g1;$3($);let F=fD(),X=m(),J=await h8(X,F,{...l.AIWORKER_FORCE_ID===void 0?{}:{forceId:l.AIWORKER_FORCE_ID},...l.AIWORKER_FORCE_TOKEN===void 0?{}:{forceToken:l.AIWORKER_FORCE_TOKEN}});if(!D.silent)x8(J.workerId,J.token,X,J.justMinted);let Y=await g8(X),G=await fy(Y.config),B=new $1({maxConcurrentTotal:l.MAX_CONCURRENT_TOTAL,perEngineLimits:{...l.perEngineLimits},stallTimeoutMs:l.PROCESS_STALL_TIMEOUT_MS,killTimeoutMs:l.PROCESS_KILL_TIMEOUT_MS,autoCleanupDelayMs:l.PROCESS_AUTO_CLEANUP_DELAY_MS,gcIntervalMs:l.PROCESS_GC_INTERVAL_MS});return{workerId:J.workerId,token:J.token,configVersion:Y.version,hydrated:G,db:X,processes:B}}function CC(D){return Y1(D.workerId,D.hydrated,{processes:D.processes})}function by(){return`http://${aJ.env.AIW_LOCAL_WORKER_HOST??"localhost"}:${l.PORT}`}async function RC(D,$={}){let F=await N0({silent:!0}),X=`${by()}${D}`,J=new Headers($.headers??{});if(J.set("Authorization",`Bearer ${F.token}`),$.body!==void 0&&!J.has("content-type"))J.set("content-type","application/json");let Y=await fetch(X,{...$,headers:J}),G=null;try{G=await Y.json()}catch{G=null}return{status:Y.status,body:G}}async function OC(){try{let{status:D,body:$}=await RC("/api/worker/approvals");if(D!==200)return M.error(`approvals list HTTP ${D}: ${JSON.stringify($)}`),1;return aJ.stdout.write(`${JSON.stringify($,null,2)}
|
|
286
|
+
`),0}catch(D){return M.error(`approvals list \u5931\u8D25: ${D instanceof Error?D.message:String(D)}`),1}}async function MC(D){try{let $=D.deny===!0?"deny":"allow",{status:F,body:X}=await RC(`/api/worker/approvals/${encodeURIComponent(D.taskId)}/${encodeURIComponent(D.toolCallId)}/grant`,{method:"POST",body:JSON.stringify({decision:$})});if(F!==200)return M.error(`approvals grant HTTP ${F}: ${JSON.stringify(X)}`),1;return aJ.stdout.write(`${JSON.stringify(X,null,2)}
|
|
287
|
+
`),0}catch($){return M.error(`approvals grant \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}P2();JD();async function qC(){await N0({silent:!0});let{getWorkerDb:D}=await Promise.resolve().then(() => (jD(),XF)),$=await q0(D());return console.log(JSON.stringify({version:$.version,config:$.config},null,2)),0}async function NC(D){let $=await N0({silent:!0}),F;try{F=JSON.parse(D.json)}catch(G){return M.error(`[aiw config set] invalid JSON: ${String(G)}`),2}let{getWorkerDb:X}=await Promise.resolve().then(() => (jD(),XF)),J=X(),Y=fD();try{let G=await l3(J,Y,F,D.ifMatch===void 0?{}:{ifMatchVersion:D.ifMatch});return await i3($.workerId,G.config,G.version),M.success(`[aiw config set] stored config v${G.version}`),0}catch(G){if(G instanceof q2)return M.error(`[aiw config set] invalid config: ${JSON.stringify(G.issues,null,2)}`),2;if(G instanceof N2)return M.error(`[aiw config set] version conflict: expected ${G.expected}, stored is ${G.actual}`),3;throw G}}JD();async function PC(){let D=await N0();M.success(`[aiw init] worker ${D.workerId} ready (config v${D.configVersion})`)}JD();var ky=120000;async function ZC(D={}){let $=D.message??"";if(!$)return M.error("[aiw run] --message is required (non-empty)"),2;let F=await N0(),X=CC(F),J=D.timeoutMs??ky;if(M.info(`[aiw run] worker ${F.workerId} (config v${F.configVersion}) \u2014 engine=${F.hydrated.executor.engine}/${F.hydrated.executor.variant}`),D.dryRun)return M.success("[aiw run] --dry-run: runtime constructed, no envelope ingested"),X.dispose(),0;let Y=D.chatId??"cli:stdin",G={workerId:F.workerId,channel:"web",accountId:"sys:cli",chatId:Y,text:$,receivedAt:new Date().toISOString(),raw:{source:"aiw-cli"}},B=new Promise((W)=>{let U=null,A=setTimeout(()=>{M.error(`[aiw run] timed out after ${J}ms without reaching a terminal state`),U?.(),W(124)},J);U=X.bus.on((V)=>{if(console.log(JSON.stringify({type:V.type,at:V.at,payload:V.payload})),V.type==="orchestrator.finished"||V.type==="orchestrator.error")clearTimeout(A),U?.(),W(V.type==="orchestrator.finished"?0:1)})});try{await X.orchestrator.ingest(G)}catch(W){return M.error(`[aiw run] ingest failed: ${String(W)}`),X.dispose(),1}let H=await B;return X.dispose(),H}JD();var LC=["web","line","telegram","lark","whatsapp"];function vy(D){if(!LC.includes(D))throw Error(`\u65E0\u6548 channel "${D}"\uFF0C\u53EF\u9009\u503C\uFF1A${LC.join(", ")}`);return D}async function tJ(D){await N0({silent:!0});let{CronService:$}=await Promise.resolve().then(() => (P2(),KC)),F=new $({workerId:"aiw-cli",getOrchestrator:()=>({ingest:async()=>{throw Error("aiw schedule CLI \u4E0D\u5E94\u89E6\u53D1 cron tick\uFF1B\u8BF7\u68C0\u67E5\u5B9E\u73B0")}})});try{return await D(F)}finally{F.stop()}}async function zC(){try{let D=await tJ(async($)=>$.listJobs());return console.log(JSON.stringify({jobs:D},null,2)),0}catch(D){return M.error(`[aiw schedule list] failed: ${D instanceof Error?D.message:String(D)}`),1}}async function jC(D){try{let $=vy(D.channel),F=await tJ(async(X)=>X.addJob({expression:D.expression,prompt:D.prompt,channel:$,chatId:D.chatId,...D.accountId===void 0?{}:{accountId:D.accountId},...D.enabled===void 0?{}:{enabled:D.enabled}}));return console.log(JSON.stringify({job:F},null,2)),0}catch($){return M.error(`[aiw schedule add] failed: ${$ instanceof Error?$.message:String($)}`),1}}async function wC(D){try{let $=await tJ(async(F)=>F.removeJob(D));return console.log(JSON.stringify($,null,2)),$.removed?0:1}catch($){return M.error(`[aiw schedule remove] failed: ${$ instanceof Error?$.message:String($)}`),1}}import K5 from"process";function D9(D,$){var F={};for(var X in D)if(Object.prototype.hasOwnProperty.call(D,X)&&$.indexOf(X)<0)F[X]=D[X];if(D!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var J=0,X=Object.getOwnPropertySymbols(D);J<X.length;J++)if($.indexOf(X[J])<0&&Object.prototype.propertyIsEnumerable.call(D,X[J]))F[X[J]]=D[X[J]]}return F}function DD(D,$){var F;return((F=D===null||D===void 0?void 0:D._def)===null||F===void 0?void 0:F.typeName)===$}function gy(D){return"_def"in D}function t3(D,$){let F=D.ZodType.prototype[$];D.ZodType.prototype[$]=function(...X){let J=F.apply(this,X);return J._def.openapi=this._def.openapi,J}}function TC(D){if(typeof D.ZodType.prototype.openapi<"u")return;D.ZodType.prototype.openapi=function(J,Y){var G,B,H,W,U,A;let V=typeof J==="string"?Y:J,E=V!==null&&V!==void 0?V:{},{param:C}=E,K=D9(E,["param"]),Q=Object.assign(Object.assign({},(G=this._def.openapi)===null||G===void 0?void 0:G._internal),typeof J==="string"?{refId:J}:void 0),q=Object.assign(Object.assign(Object.assign({},(B=this._def.openapi)===null||B===void 0?void 0:B.metadata),K),((W=(H=this._def.openapi)===null||H===void 0?void 0:H.metadata)===null||W===void 0?void 0:W.param)||C?{param:Object.assign(Object.assign({},(A=(U=this._def.openapi)===null||U===void 0?void 0:U.metadata)===null||A===void 0?void 0:A.param),C)}:void 0),N=new this.constructor(Object.assign(Object.assign({},this._def),{openapi:Object.assign(Object.assign({},Object.keys(Q).length>0?{_internal:Q}:void 0),Object.keys(q).length>0?{metadata:q}:void 0)}));if(DD(this,"ZodObject")){let Z=this.extend;N.extend=function(...j){var T,L,v,w,r,HD,GD;let o=Z.apply(this,j);return o._def.openapi={_internal:{extendedFrom:((L=(T=this._def.openapi)===null||T===void 0?void 0:T._internal)===null||L===void 0?void 0:L.refId)?{refId:(w=(v=this._def.openapi)===null||v===void 0?void 0:v._internal)===null||w===void 0?void 0:w.refId,schema:this}:(HD=(r=this._def.openapi)===null||r===void 0?void 0:r._internal)===null||HD===void 0?void 0:HD.extendedFrom},metadata:(GD=o._def.openapi)===null||GD===void 0?void 0:GD.metadata},o}}return N},t3(D,"optional"),t3(D,"nullable"),t3(D,"default"),t3(D,"transform"),t3(D,"refine");let $=D.ZodObject.prototype.deepPartial;D.ZodObject.prototype.deepPartial=function(){let J=this._def.shape(),Y=$.apply(this),G=Y._def.shape();return Object.entries(G).forEach(([B,H])=>{var W,U;H._def.openapi=(U=(W=J[B])===null||W===void 0?void 0:W._def)===null||U===void 0?void 0:U.openapi}),Y._def.openapi=void 0,Y};let F=D.ZodObject.prototype.pick;D.ZodObject.prototype.pick=function(...J){let Y=F.apply(this,J);return Y._def.openapi=void 0,Y};let X=D.ZodObject.prototype.omit;D.ZodObject.prototype.omit=function(...J){let Y=X.apply(this,J);return Y._def.openapi=void 0,Y}}function J5(D,$){if(D===null||D===void 0||$===null||$===void 0)return D===$;if(D===$||D.valueOf()===$.valueOf())return!0;if(Array.isArray(D)){if(!Array.isArray($))return!1;if(D.length!==$.length)return!1}if(!(D instanceof Object)||!($ instanceof Object))return!1;let F=Object.keys(D);return Object.keys($).every((X)=>F.indexOf(X)!==-1)&&F.every((X)=>J5(D[X],$[X]))}class SC{constructor(){this.buckets=new Map}put(D){let $=this.hashCodeOf(D),F=this.buckets.get($);if(!F){this.buckets.set($,[D]);return}if(!F.some((J)=>J5(J,D)))F.push(D)}contains(D){let $=this.hashCodeOf(D),F=this.buckets.get($);if(!F)return!1;return F.some((X)=>J5(X,D))}values(){return[...this.buckets.values()].flat()}stats(){let D=0,$=0,F=0;for(let J of this.buckets.values())if(D+=1,$+=J.length,J.length>1)F+=1;let X=D/$;return{totalBuckets:D,collisions:F,totalValues:$,hashEffectiveness:X}}hashCodeOf(D){let $=0;if(Array.isArray(D)){for(let F=0;F<D.length;F++)$^=this.hashCodeOf(D[F])*F;return $}if(typeof D==="string"){for(let F=0;F<D.length;F++)$^=D.charCodeAt(F)*F;return $}if(typeof D==="number")return D;if(typeof D==="object")for(let[F,X]of Object.entries(D))$^=this.hashCodeOf(F)+this.hashCodeOf(X!==null&&X!==void 0?X:"");return $}}function $9(D){return D===void 0}function F9(D,$){let F={};return Object.entries(D).forEach(([X,J])=>{F[X]=$(J)}),F}function hy(D,$){let F={};return Object.entries(D).forEach(([X,J])=>{if(!$.some((Y)=>Y===X))F[X]=J}),F}function R6(D,$){let F={};return Object.entries(D).forEach(([X,J])=>{if(!$(J,X))F[X]=J}),F}function IC(D){return D.filter(($)=>!$9($))}var eJ=J5;function xy(D){let $=new SC;return D.forEach((F)=>$.put(F)),[...$.values()]}function fC(D){return typeof D==="string"}class DG{constructor(D){this.parents=D,this._definitions=[]}get definitions(){var D,$;return[...($=(D=this.parents)===null||D===void 0?void 0:D.flatMap((X)=>X.definitions))!==null&&$!==void 0?$:[],...this._definitions]}register(D,$){let F=this.schemaWithRefId(D,$);return this._definitions.push({type:"schema",schema:F}),F}registerParameter(D,$){var F,X,J;let Y=this.schemaWithRefId(D,$),G=(F=Y._def.openapi)===null||F===void 0?void 0:F.metadata,B=Y.openapi(Object.assign(Object.assign({},G),{param:Object.assign(Object.assign({},G===null||G===void 0?void 0:G.param),{name:(J=(X=G===null||G===void 0?void 0:G.param)===null||X===void 0?void 0:X.name)!==null&&J!==void 0?J:D})}));return this._definitions.push({type:"parameter",schema:B}),B}registerPath(D){this._definitions.push({type:"route",route:D})}registerWebhook(D){this._definitions.push({type:"webhook",webhook:D})}registerComponent(D,$,F){return this._definitions.push({type:"component",componentType:D,name:$,component:F}),{name:$,ref:{$ref:`#/components/${D}/${$}`}}}schemaWithRefId(D,$){return $.openapi(D)}}class J9{constructor(D){this.message=D}}class C6 extends J9{constructor(D,$){super(D);this.data=$}}class X9 extends J9{constructor(D){super(`Missing parameter data, please specify \`${D.missingField}\` and other OpenAPI parameter props using the \`param\` field of \`ZodSchema.openapi\``);this.data=D}}function e3(D,$){try{return D()}catch(F){if(F instanceof X9)throw new X9(Object.assign(Object.assign({},F.data),$));throw F}}class bC extends J9{constructor(D){super("Unknown zod object type, please specify `type` and other OpenAPI props using `ZodSchema.openapi`.");this.data=D}}class qD{static getMetadata(D){var $;let F=this.unwrapChained(D),X=D._def.openapi?D._def.openapi:F._def.openapi,J=($=D.description)!==null&&$!==void 0?$:F.description;return{_internal:X===null||X===void 0?void 0:X._internal,metadata:Object.assign({description:J},X===null||X===void 0?void 0:X.metadata)}}static getInternalMetadata(D){let $=this.unwrapChained(D),F=D._def.openapi?D._def.openapi:$._def.openapi;return F===null||F===void 0?void 0:F._internal}static getParamMetadata(D){var $,F;let X=this.unwrapChained(D),J=D._def.openapi?D._def.openapi:X._def.openapi,Y=($=D.description)!==null&&$!==void 0?$:X.description;return{_internal:J===null||J===void 0?void 0:J._internal,metadata:Object.assign(Object.assign({},J===null||J===void 0?void 0:J.metadata),{param:Object.assign({description:Y},(F=J===null||J===void 0?void 0:J.metadata)===null||F===void 0?void 0:F.param)})}}static buildSchemaMetadata(D){return R6(hy(D,["param"]),$9)}static buildParameterMetadata(D){return R6(D,$9)}static applySchemaMetadata(D,$){return R6(Object.assign(Object.assign({},D),this.buildSchemaMetadata($)),$9)}static getRefId(D){var $;return($=this.getInternalMetadata(D))===null||$===void 0?void 0:$.refId}static unwrapChained(D){return this.unwrapUntil(D)}static getDefaultValue(D){let $=this.unwrapUntil(D,"ZodDefault");return $===null||$===void 0?void 0:$._def.defaultValue()}static unwrapUntil(D,$){if($&&DD(D,$))return D;if(DD(D,"ZodOptional")||DD(D,"ZodNullable")||DD(D,"ZodBranded"))return this.unwrapUntil(D.unwrap(),$);if(DD(D,"ZodDefault")||DD(D,"ZodReadonly"))return this.unwrapUntil(D._def.innerType,$);if(DD(D,"ZodEffects"))return this.unwrapUntil(D._def.schema,$);if(DD(D,"ZodPipeline"))return this.unwrapUntil(D._def.in,$);return $?void 0:D}static isOptionalSchema(D){return D.isOptional()}}class kC{transform(D,$,F){var X,J;let Y=D._def.type;return Object.assign(Object.assign({},$("array")),{items:F(Y),minItems:(X=D._def.minLength)===null||X===void 0?void 0:X.value,maxItems:(J=D._def.maxLength)===null||J===void 0?void 0:J.value})}}class vC{transform(D){return Object.assign(Object.assign({},D("string")),{pattern:"^d+$"})}}class gC{transform(D,$,F,X,J){let Y=[...D.options.values()],G=Y.map(X);if($)return{oneOf:F(G,$)};return{oneOf:G,discriminator:this.mapDiscriminator(Y,D.discriminator,J)}}mapDiscriminator(D,$,F){if(D.some((J)=>qD.getRefId(J)===void 0))return;let X={};return D.forEach((J)=>{var Y;let G=qD.getRefId(J),B=(Y=J.shape)===null||Y===void 0?void 0:Y[$];if(DD(B,"ZodEnum")||DD(B,"ZodNativeEnum")){Object.values(B.enum).filter(fC).forEach((U)=>{X[U]=F(G)});return}let H=B===null||B===void 0?void 0:B._def.value;if(typeof H!=="string")throw Error(`Discriminator ${$} could not be found in one of the values of a discriminated union`);X[H]=F(G)}),{propertyName:$,mapping:X}}}class hC{transform(D,$){return Object.assign(Object.assign({},$("string")),{enum:D._def.values})}}class xC{transform(D,$,F,X){let Y={allOf:this.flattenIntersectionTypes(D).map(X)};if($)return{anyOf:F([Y],$)};return Y}flattenIntersectionTypes(D){if(!DD(D,"ZodIntersection"))return[D];let $=this.flattenIntersectionTypes(D._def.left),F=this.flattenIntersectionTypes(D._def.right);return[...$,...F]}}class yC{transform(D,$){return Object.assign(Object.assign({},$(typeof D._def.value)),{enum:[D._def.value]})}}function yy(D){let F=Object.keys(D).filter((Y)=>typeof D[D[Y]]!=="number").map((Y)=>D[Y]),X=F.filter((Y)=>typeof Y==="number").length,J=X===0?"string":X===F.length?"numeric":"mixed";return{values:F,type:J}}class uC{transform(D,$){let{type:F,values:X}=yy(D._def.values);if(F==="mixed")throw new J9("Enum has mixed string and number values, please specify the OpenAPI type manually");return Object.assign(Object.assign({},$(F==="numeric"?"integer":"string")),{enum:X})}}class mC{transform(D,$,F){return Object.assign(Object.assign({},$(D.isInt?"integer":"number")),F(D._def.checks))}}class pC{transform(D,$,F,X){var J;let Y=(J=qD.getInternalMetadata(D))===null||J===void 0?void 0:J.extendedFrom,G=this.requiredKeysOf(D),B=F9(D._def.shape(),X);if(!Y)return Object.assign(Object.assign(Object.assign(Object.assign({},F("object")),{properties:B,default:$}),G.length>0?{required:G}:{}),this.generateAdditionalProperties(D,X));let H=Y.schema;X(H);let W=this.requiredKeysOf(H),U=F9(H===null||H===void 0?void 0:H._def.shape(),X),A=Object.fromEntries(Object.entries(B).filter(([C,K])=>{return!eJ(U[C],K)})),V=G.filter((C)=>!W.includes(C)),E=Object.assign(Object.assign(Object.assign(Object.assign({},F("object")),{default:$,properties:A}),V.length>0?{required:V}:{}),this.generateAdditionalProperties(D,X));return{allOf:[{$ref:`#/components/schemas/${Y.refId}`},E]}}generateAdditionalProperties(D,$){let F=D._def.unknownKeys,X=D._def.catchall;if(DD(X,"ZodNever")){if(F==="strict")return{additionalProperties:!1};return{}}return{additionalProperties:$(X)}}requiredKeysOf(D){return Object.entries(D._def.shape()).filter(([$,F])=>!qD.isOptionalSchema(F)).map(([$,F])=>$)}}class cC{transform(D,$,F){let X=D._def.valueType,J=D._def.keyType,Y=F(X);if(DD(J,"ZodEnum")||DD(J,"ZodNativeEnum")){let B=Object.values(J.enum).filter(fC).reduce((H,W)=>Object.assign(Object.assign({},H),{[W]:Y}),{});return Object.assign(Object.assign({},$("object")),{properties:B})}return Object.assign(Object.assign({},$("object")),{additionalProperties:Y})}}class dC{transform(D,$){var F,X,J;let Y=this.getZodStringCheck(D,"regex"),G=(F=this.getZodStringCheck(D,"length"))===null||F===void 0?void 0:F.value,B=Number.isFinite(D.minLength)?(X=D.minLength)!==null&&X!==void 0?X:void 0:void 0,H=Number.isFinite(D.maxLength)?(J=D.maxLength)!==null&&J!==void 0?J:void 0:void 0;return Object.assign(Object.assign({},$("string")),{minLength:G!==null&&G!==void 0?G:B,maxLength:G!==null&&G!==void 0?G:H,format:this.mapStringFormat(D),pattern:Y===null||Y===void 0?void 0:Y.regex.source})}mapStringFormat(D){if(D.isUUID)return"uuid";if(D.isEmail)return"email";if(D.isURL)return"uri";if(D.isDate)return"date";if(D.isDatetime)return"date-time";if(D.isCUID)return"cuid";if(D.isCUID2)return"cuid2";if(D.isULID)return"ulid";if(D.isIP)return"ip";if(D.isEmoji)return"emoji";return}getZodStringCheck(D,$){return D._def.checks.find((F)=>{return F.kind===$})}}class lC{constructor(D){this.versionSpecifics=D}transform(D,$,F){let{items:X}=D._def,J=X.map(F);return Object.assign(Object.assign({},$("array")),this.versionSpecifics.mapTupleItems(J))}}class iC{transform(D,$,F){let J=this.flattenUnionTypes(D).map((Y)=>{let G=this.unwrapNullable(Y);return F(G)});return{anyOf:$(J)}}flattenUnionTypes(D){if(!DD(D,"ZodUnion"))return[D];return D._def.options.flatMap((F)=>this.flattenUnionTypes(F))}unwrapNullable(D){if(DD(D,"ZodNullable"))return this.unwrapNullable(D.unwrap());return D}}class nC{constructor(D){this.versionSpecifics=D,this.objectTransformer=new pC,this.stringTransformer=new dC,this.numberTransformer=new mC,this.bigIntTransformer=new vC,this.literalTransformer=new yC,this.enumTransformer=new hC,this.nativeEnumTransformer=new uC,this.arrayTransformer=new kC,this.unionTransformer=new iC,this.discriminatedUnionTransformer=new gC,this.intersectionTransformer=new xC,this.recordTransformer=new cC,this.tupleTransformer=new lC(D)}transform(D,$,F,X,J){if(DD(D,"ZodNull"))return this.versionSpecifics.nullType;if(DD(D,"ZodUnknown")||DD(D,"ZodAny"))return this.versionSpecifics.mapNullableType(void 0,$);if(DD(D,"ZodObject"))return this.objectTransformer.transform(D,J,(G)=>this.versionSpecifics.mapNullableType(G,$),F);let Y=this.transformSchemaWithoutDefault(D,$,F,X);return Object.assign(Object.assign({},Y),{default:J})}transformSchemaWithoutDefault(D,$,F,X){if(DD(D,"ZodUnknown")||DD(D,"ZodAny"))return this.versionSpecifics.mapNullableType(void 0,$);if(DD(D,"ZodString"))return this.stringTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(DD(D,"ZodNumber"))return this.numberTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),(Y)=>this.versionSpecifics.getNumberChecks(Y));if(DD(D,"ZodBigInt"))return this.bigIntTransformer.transform((Y)=>this.versionSpecifics.mapNullableType(Y,$));if(DD(D,"ZodBoolean"))return this.versionSpecifics.mapNullableType("boolean",$);if(DD(D,"ZodLiteral"))return this.literalTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(DD(D,"ZodEnum"))return this.enumTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(DD(D,"ZodNativeEnum"))return this.nativeEnumTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(DD(D,"ZodArray"))return this.arrayTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),F);if(DD(D,"ZodTuple"))return this.tupleTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),F);if(DD(D,"ZodUnion"))return this.unionTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableOfArray(Y,$),F);if(DD(D,"ZodDiscriminatedUnion"))return this.discriminatedUnionTransformer.transform(D,$,(Y)=>this.versionSpecifics.mapNullableOfArray(Y,$),F,X);if(DD(D,"ZodIntersection"))return this.intersectionTransformer.transform(D,$,(Y)=>this.versionSpecifics.mapNullableOfArray(Y,$),F);if(DD(D,"ZodRecord"))return this.recordTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),F);if(DD(D,"ZodDate"))return this.versionSpecifics.mapNullableType("string",$);let J=qD.getRefId(D);throw new bC({currentSchema:D._def,schemaName:J})}}class $G{constructor(D,$){this.definitions=D,this.versionSpecifics=$,this.schemaRefs={},this.paramRefs={},this.pathRefs={},this.rawComponents=[],this.openApiTransformer=new nC($),this.sortDefinitions()}generateDocumentData(){return this.definitions.forEach((D)=>this.generateSingle(D)),{components:this.buildComponents(),paths:this.pathRefs}}generateComponents(){return this.definitions.forEach((D)=>this.generateSingle(D)),{components:this.buildComponents()}}buildComponents(){var D,$;let F={};return this.rawComponents.forEach(({componentType:X,name:J,component:Y})=>{var G;(G=F[X])!==null&&G!==void 0||(F[X]={}),F[X][J]=Y}),Object.assign(Object.assign({},F),{schemas:Object.assign(Object.assign({},(D=F.schemas)!==null&&D!==void 0?D:{}),this.schemaRefs),parameters:Object.assign(Object.assign({},($=F.parameters)!==null&&$!==void 0?$:{}),this.paramRefs)})}sortDefinitions(){let D=["schema","parameter","component","route"];this.definitions.sort(($,F)=>{if(!("type"in $)){if(!("type"in F))return 0;return-1}if(!("type"in F))return 1;let X=D.findIndex((Y)=>Y===$.type),J=D.findIndex((Y)=>Y===F.type);return X-J})}generateSingle(D){if(!("type"in D)){this.generateSchemaWithRef(D);return}switch(D.type){case"parameter":this.generateParameterDefinition(D.schema);return;case"schema":this.generateSchemaWithRef(D.schema);return;case"route":this.generateSingleRoute(D.route);return;case"component":this.rawComponents.push(D);return}}generateParameterDefinition(D){let $=qD.getRefId(D),F=this.generateParameter(D);if($)this.paramRefs[$]=F;return F}getParameterRef(D,$){var F,X,J,Y,G;let B=(F=D===null||D===void 0?void 0:D.metadata)===null||F===void 0?void 0:F.param,H=((X=D===null||D===void 0?void 0:D._internal)===null||X===void 0?void 0:X.refId)?this.paramRefs[(J=D._internal)===null||J===void 0?void 0:J.refId]:void 0;if(!((Y=D===null||D===void 0?void 0:D._internal)===null||Y===void 0?void 0:Y.refId)||!H)return;if(B&&H.in!==B.in||($===null||$===void 0?void 0:$.in)&&H.in!==$.in)throw new C6(`Conflicting location for parameter ${H.name}`,{key:"in",values:IC([H.in,$===null||$===void 0?void 0:$.in,B===null||B===void 0?void 0:B.in])});if(B&&H.name!==B.name||($===null||$===void 0?void 0:$.name)&&H.name!==($===null||$===void 0?void 0:$.name))throw new C6("Conflicting names for parameter",{key:"name",values:IC([H.name,$===null||$===void 0?void 0:$.name,B===null||B===void 0?void 0:B.name])});return{$ref:`#/components/parameters/${(G=D._internal)===null||G===void 0?void 0:G.refId}`}}generateInlineParameters(D,$){var F;let X=qD.getMetadata(D),J=(F=X===null||X===void 0?void 0:X.metadata)===null||F===void 0?void 0:F.param,Y=this.getParameterRef(X,{in:$});if(Y)return[Y];if(DD(D,"ZodObject")){let G=D._def.shape();return Object.entries(G).map(([H,W])=>{var U,A;let V=qD.getMetadata(W),E=this.getParameterRef(V,{in:$,name:H});if(E)return E;let C=(U=V===null||V===void 0?void 0:V.metadata)===null||U===void 0?void 0:U.param;if((C===null||C===void 0?void 0:C.name)&&C.name!==H)throw new C6("Conflicting names for parameter",{key:"name",values:[H,C.name]});if((C===null||C===void 0?void 0:C.in)&&C.in!==$)throw new C6(`Conflicting location for parameter ${(A=C.name)!==null&&A!==void 0?A:H}`,{key:"in",values:[$,C.in]});return this.generateParameter(W.openapi({param:{name:H,in:$}}))})}if((J===null||J===void 0?void 0:J.in)&&J.in!==$)throw new C6(`Conflicting location for parameter ${J.name}`,{key:"in",values:[$,J.in]});return[this.generateParameter(D.openapi({param:{in:$}}))]}generateSimpleParameter(D){var $;let F=qD.getParamMetadata(D),X=($=F===null||F===void 0?void 0:F.metadata)===null||$===void 0?void 0:$.param,J=!qD.isOptionalSchema(D)&&!D.isNullable(),Y=this.generateSchemaWithRef(D);return Object.assign({schema:Y,required:J},X?qD.buildParameterMetadata(X):{})}generateParameter(D){var $;let F=qD.getMetadata(D),X=($=F===null||F===void 0?void 0:F.metadata)===null||$===void 0?void 0:$.param,J=X===null||X===void 0?void 0:X.name,Y=X===null||X===void 0?void 0:X.in;if(!J)throw new X9({missingField:"name"});if(!Y)throw new X9({missingField:"in",paramName:J});let G=this.generateSimpleParameter(D);return Object.assign(Object.assign({},G),{in:Y,name:J})}generateSchemaWithMetadata(D){var $;let F=qD.unwrapChained(D),X=qD.getMetadata(D),J=qD.getDefaultValue(D),Y=(($=X===null||X===void 0?void 0:X.metadata)===null||$===void 0?void 0:$.type)?{type:X===null||X===void 0?void 0:X.metadata.type}:this.toOpenAPISchema(F,D.isNullable(),J);return(X===null||X===void 0?void 0:X.metadata)?qD.applySchemaMetadata(Y,X.metadata):R6(Y,$9)}constructReferencedOpenAPISchema(D){var $;let F=qD.getMetadata(D),X=qD.unwrapChained(D),J=qD.getDefaultValue(D),Y=D.isNullable();if(($=F===null||F===void 0?void 0:F.metadata)===null||$===void 0?void 0:$.type)return this.versionSpecifics.mapNullableType(F.metadata.type,Y);return this.toOpenAPISchema(X,Y,J)}generateSimpleSchema(D){var $;let F=qD.getMetadata(D),X=qD.getRefId(D);if(!X||!this.schemaRefs[X])return this.generateSchemaWithMetadata(D);let J=this.schemaRefs[X],Y={$ref:this.generateSchemaRef(X)},G=R6(qD.buildSchemaMetadata(($=F===null||F===void 0?void 0:F.metadata)!==null&&$!==void 0?$:{}),(W,U)=>W===void 0||eJ(W,J[U]));if(G.type)return{allOf:[Y,G]};let B=R6(this.constructReferencedOpenAPISchema(D),(W,U)=>W===void 0||eJ(W,J[U])),H=qD.applySchemaMetadata(B,G);if(Object.keys(H).length>0)return{allOf:[Y,H]};return Y}generateSchemaWithRef(D){let $=qD.getRefId(D),F=this.generateSimpleSchema(D);if($&&this.schemaRefs[$]===void 0)return this.schemaRefs[$]=F,{$ref:this.generateSchemaRef($)};return F}generateSchemaRef(D){return`#/components/schemas/${D}`}getRequestBody(D){if(!D)return;let{content:$}=D,F=D9(D,["content"]),X=this.getBodyContent($);return Object.assign(Object.assign({},F),{content:X})}getParameters(D){if(!D)return[];let{headers:$}=D,F=this.cleanParameter(D.query),X=this.cleanParameter(D.params),J=this.cleanParameter(D.cookies),Y=e3(()=>F?this.generateInlineParameters(F,"query"):[],{location:"query"}),G=e3(()=>X?this.generateInlineParameters(X,"path"):[],{location:"path"}),B=e3(()=>J?this.generateInlineParameters(J,"cookie"):[],{location:"cookie"}),H=e3(()=>{if(Array.isArray($))return $.flatMap((U)=>this.generateInlineParameters(U,"header"));let W=this.cleanParameter($);return W?this.generateInlineParameters(W,"header"):[]},{location:"header"});return[...G,...Y,...H,...B]}cleanParameter(D){if(!D)return;return DD(D,"ZodEffects")?this.cleanParameter(D._def.schema):D}generatePath(D){let{method:$,path:F,request:X,responses:J}=D,Y=D9(D,["method","path","request","responses"]),G=F9(J,(U)=>{return this.getResponse(U)}),B=e3(()=>this.getParameters(X),{route:`${$} ${F}`}),H=this.getRequestBody(X===null||X===void 0?void 0:X.body);return{[$]:Object.assign(Object.assign(Object.assign(Object.assign({},Y),B.length>0?{parameters:[...Y.parameters||[],...B]}:{}),H?{requestBody:H}:{}),{responses:G})}}generateSingleRoute(D){let $=this.generatePath(D);return this.pathRefs[D.path]=Object.assign(Object.assign({},this.pathRefs[D.path]),$),$}getResponse(D){if(this.isReferenceObject(D))return D;let{content:$,headers:F}=D,X=D9(D,["content","headers"]),J=$?{content:this.getBodyContent($)}:{};if(!F)return Object.assign(Object.assign({},X),J);let Y=DD(F,"ZodObject")?this.getResponseHeaders(F):F;return Object.assign(Object.assign(Object.assign({},X),{headers:Y}),J)}isReferenceObject(D){return"$ref"in D}getResponseHeaders(D){let $=D._def.shape();return F9($,(X)=>this.generateSimpleParameter(X))}getBodyContent(D){return F9(D,($)=>{if(!$||!gy($.schema))return $;let{schema:F}=$,X=D9($,["schema"]),J=this.generateSchemaWithRef(F);return Object.assign({schema:J},X)})}toOpenAPISchema(D,$,F){return this.openApiTransformer.transform(D,$,(X)=>this.generateSchemaWithRef(X),(X)=>this.generateSchemaRef(X),F)}}class sC{get nullType(){return{nullable:!0}}mapNullableOfArray(D,$){if($)return[...D,this.nullType];return D}mapNullableType(D,$){return Object.assign(Object.assign({},D?{type:D}:void 0),$?this.nullType:void 0)}mapTupleItems(D){let $=xy(D);return{items:$.length===1?$[0]:{anyOf:$},minItems:D.length,maxItems:D.length}}getNumberChecks(D){return Object.assign({},...D.map(($)=>{switch($.kind){case"min":return $.inclusive?{minimum:Number($.value)}:{minimum:Number($.value),exclusiveMinimum:!0};case"max":return $.inclusive?{maximum:Number($.value)}:{maximum:Number($.value),exclusiveMaximum:!0};default:return{}}}))}}class FG{constructor(D){let $=new sC;this.generator=new $G(D,$)}generateDocument(D){let $=this.generator.generateDocumentData();return Object.assign(Object.assign({},D),$)}generateComponents(){return this.generator.generateComponents()}}class rC{get nullType(){return{type:"null"}}mapNullableOfArray(D,$){if($)return[...D,this.nullType];return D}mapNullableType(D,$){if(!D)return{};if($)return{type:Array.isArray(D)?[...D,"null"]:[D,"null"]};return{type:D}}mapTupleItems(D){return{prefixItems:D}}getNumberChecks(D){return Object.assign({},...D.map(($)=>{switch($.kind){case"min":return $.inclusive?{minimum:Number($.value)}:{exclusiveMinimum:Number($.value)};case"max":return $.inclusive?{maximum:Number($.value)}:{exclusiveMaximum:Number($.value)};default:return{}}}))}}function uy(D){return"type"in D&&D.type==="webhook"}class XG{constructor(D){this.definitions=D,this.webhookRefs={};let $=new rC;this.generator=new $G(this.definitions,$)}generateDocument(D){let $=this.generator.generateDocumentData();return this.definitions.filter(uy).forEach((F)=>this.generateSingleWebhook(F.webhook)),Object.assign(Object.assign(Object.assign({},D),$),{webhooks:this.webhookRefs})}generateComponents(){return this.generator.generateComponents()}generateSingleWebhook(D){let $=this.generator.generatePath(D);return this.webhookRefs[D.path]=Object.assign(Object.assign({},this.webhookRefs[D.path]),$),$}}var GG=(D)=>{let $=D.split("/");if($[0]==="")$.shift();return $},oC=(D)=>{let{groups:$,path:F}=my(D),X=GG(F);return py(X,$)},my=(D)=>{let $=[];return D=D.replace(/\{[^}]+\}/g,(F,X)=>{let J=`@${X}`;return $.push([J,F]),J}),{groups:$,path:D}},py=(D,$)=>{for(let F=$.length-1;F>=0;F--){let[X]=$[F];for(let J=D.length-1;J>=0;J--)if(D[J].includes(X)){D[J]=D[J].replace(X,$[F][1]);break}}return D},G5={},aC=(D,$)=>{if(D==="*")return"*";let F=D.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(F){let X=`${D}#${$}`;if(!G5[X])if(F[2])G5[X]=$&&$[0]!==":"&&$[0]!=="*"?[X,F[1],new RegExp(`^${F[2]}(?=/${$})`)]:[D,F[1],new RegExp(`^${F[2]}$`)];else G5[X]=[D,F[1],!0];return G5[X]}return null},O6=(D,$)=>{try{return $(D)}catch{return D.replace(/(?:%[0-9A-Fa-f]{2})+/g,(F)=>{try{return $(F)}catch{return F}})}},cy=(D)=>O6(D,decodeURI),YG=(D)=>{let $=D.url,F=$.indexOf("/",$.indexOf(":")+4),X=F;for(;X<$.length;X++){let J=$.charCodeAt(X);if(J===37){let Y=$.indexOf("?",X),G=$.indexOf("#",X),B=Y===-1?G===-1?void 0:G:G===-1?Y:Math.min(Y,G),H=$.slice(F,B);return cy(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(J===63||J===35)break}return $.slice(F,X)};var tC=(D)=>{let $=YG(D);return $.length>1&&$.at(-1)==="/"?$.slice(0,-1):$},H2=(D,$,...F)=>{if(F.length)$=H2($,...F);return`${D?.[0]==="/"?"":"/"}${D}${$==="/"?"":`${D?.at(-1)==="/"?"":"/"}${$?.[0]==="/"?$.slice(1):$}`}`},Y5=(D)=>{if(D.charCodeAt(D.length-1)!==63||!D.includes(":"))return null;let $=D.split("/"),F=[],X="";return $.forEach((J)=>{if(J!==""&&!/\:/.test(J))X+="/"+J;else if(/\:/.test(J))if(/\?/.test(J)){if(F.length===0&&X==="")F.push("/");else F.push(X);let Y=J.replace("?","");X+="/"+Y,F.push(X)}else X+="/"+J}),F.filter((J,Y,G)=>G.indexOf(J)===Y)},JG=(D)=>{if(!/[%+]/.test(D))return D;if(D.indexOf("+")!==-1)D=D.replace(/\+/g," ");return D.indexOf("%")!==-1?O6(D,G9):D},eC=(D,$,F)=>{let X;if(!F&&$&&!/[%+]/.test($)){let G=D.indexOf("?",8);if(G===-1)return;if(!D.startsWith($,G+1))G=D.indexOf(`&${$}`,G+1);while(G!==-1){let B=D.charCodeAt(G+$.length+1);if(B===61){let H=G+$.length+2,W=D.indexOf("&",H);return JG(D.slice(H,W===-1?void 0:W))}else if(B==38||isNaN(B))return"";G=D.indexOf(`&${$}`,G+1)}if(X=/[%+]/.test(D),!X)return}let J={};X??=/[%+]/.test(D);let Y=D.indexOf("?",8);while(Y!==-1){let G=D.indexOf("&",Y+1),B=D.indexOf("=",Y);if(B>G&&G!==-1)B=-1;let H=D.slice(Y+1,B===-1?G===-1?void 0:G:B);if(X)H=JG(H);if(Y=G,H==="")continue;let W;if(B===-1)W="";else if(W=D.slice(B+1,G===-1?void 0:G),X)W=JG(W);if(F){if(!(J[H]&&Array.isArray(J[H])))J[H]=[];J[H].push(W)}else J[H]??=W}return $?J[$]:J},DR=eC,$R=(D,$)=>{return eC(D,$,!0)},G9=decodeURIComponent;var dy=/^[\w!#$%&'*.^`|~+-]+$/,ly=/^[ !#-:<-[\]-~]*$/,FR=(D)=>{let $=0,F=D.length;while($<F){let X=D.charCodeAt($);if(X!==32&&X!==9)break;$++}while(F>$){let X=D.charCodeAt(F-1);if(X!==32&&X!==9)break;F--}return $===0&&F===D.length?D:D.slice($,F)},BG=(D,$)=>{if($&&D.indexOf($)===-1)return{};let F=D.split(";"),X={};for(let J of F){let Y=J.indexOf("=");if(Y===-1)continue;let G=FR(J.substring(0,Y));if($&&$!==G||!dy.test(G))continue;let B=FR(J.substring(Y+1));if(B.startsWith('"')&&B.endsWith('"'))B=B.slice(1,-1);if(ly.test(B)){if(X[G]=B.indexOf("%")!==-1?O6(B,G9):B,$)break}}return X};var XR=(D,$,F)=>{let X=D.req.raw.headers.get("Cookie");if(typeof $==="string"){if(!X)return;let Y=$;if(F==="secure")Y="__Secure-"+$;else if(F==="host")Y="__Host-"+$;return BG(X,Y)[Y]}if(!X)return{};return BG(X)};var B5=class extends Error{res;status;constructor(D=500,$){super($?.message,{cause:$?.cause});this.res=$?.res,this.status=D}getResponse(){if(this.res)return new Response(this.res.body,{status:this.status,headers:this.res.headers});return new Response(this.message,{status:this.status})}};var JR=(D,$)=>{return new Response(D,{headers:{"Content-Type":$}}).formData()};var iy=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,ny=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/,sy=/^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,HG=(D,$)=>{return async(F,X)=>{let J={},Y=F.req.header("Content-Type");switch(D){case"json":if(!Y||!iy.test(Y))break;try{J=await F.req.json()}catch{throw new B5(400,{message:"Malformed JSON in request body"})}break;case"form":{if(!Y||!(ny.test(Y)||sy.test(Y)))break;let B;if(F.req.bodyCache.formData)B=await F.req.bodyCache.formData;else try{let W=await F.req.arrayBuffer();B=await JR(W,Y),F.req.bodyCache.formData=B}catch(W){let U="Malformed FormData request.";throw U+=W instanceof Error?` ${W.message}`:` ${String(W)}`,new B5(400,{message:U})}let H=Object.create(null);B.forEach((W,U)=>{if(U.endsWith("[]"))(H[U]??=[]).push(W);else if(Array.isArray(H[U]))H[U].push(W);else if(Object.hasOwn(H,U))H[U]=[H[U],W];else H[U]=W}),J=H;break}case"query":J=Object.fromEntries(Object.entries(F.req.queries()).map(([B,H])=>{return H.length===1?[B,H[0]]:[B,H]}));break;case"param":J=F.req.param();break;case"header":J=F.req.header();break;case"cookie":J=XR(F);break}let G=await $(J,F);if(G instanceof Response)return G;return F.req.addValidatedData(D,G),await X()}};function ry(D,$,F,X){return HG(D,async(J,Y)=>{let G=J;if(D==="header"&&"_def"in $||D==="header"&&"_zod"in $){let H=Object.keys("in"in $?$.in.shape:$.shape),W=Object.fromEntries(H.map((U)=>[U.toLowerCase(),U]));G=Object.fromEntries(Object.entries(J).map(([U,A])=>[W[U]||U,A]))}let B=X&&X.validationFunction?await X.validationFunction($,G):await $.safeParseAsync(G);if(F){let H=await F({data:G,...B,target:D},Y);if(H){if(H instanceof Response)return H;if("response"in H)return H.response}}if(!B.success)return Y.json(B,400);return B.data})}var B1=ry;var WG=(D,$,F)=>{return(X,J)=>{let Y=-1;return G(0);async function G(B){if(B<=Y)throw Error("next() called multiple times");Y=B;let H,W=!1,U;if(D[B])U=D[B][0][0],X.req.routeIndex=B;else U=B===D.length&&J||void 0;if(U)try{H=await U(X,()=>G(B+1))}catch(A){if(A instanceof Error&&$)X.error=A,H=await $(A,X),W=!0;else throw A}else if(X.finalized===!1&&F)H=await F(X);if(H&&(X.finalized===!1||W))X.res=H;return X}}};var GR=Symbol();var YR=async(D,$=Object.create(null))=>{let{all:F=!1,dot:X=!1}=$,Y=(D instanceof H5?D.raw.headers:D.headers).get("Content-Type");if(Y?.startsWith("multipart/form-data")||Y?.startsWith("application/x-www-form-urlencoded"))return oy(D,{all:F,dot:X});return{}};async function oy(D,$){let F=await D.formData();if(F)return ay(F,$);return{}}function ay(D,$){let F=Object.create(null);if(D.forEach((X,J)=>{if(!($.all||J.endsWith("[]")))F[J]=X;else ty(F,J,X)}),$.dot)Object.entries(F).forEach(([X,J])=>{if(X.includes("."))ey(F,X,J),delete F[X]});return F}var ty=(D,$,F)=>{if(D[$]!==void 0)if(Array.isArray(D[$]))D[$].push(F);else D[$]=[D[$],F];else if(!$.endsWith("[]"))D[$]=F;else D[$]=[F]},ey=(D,$,F)=>{if(/(?:^|\.)__proto__\./.test($))return;let X=D,J=$.split(".");J.forEach((Y,G)=>{if(G===J.length-1)X[Y]=F;else{if(!X[Y]||typeof X[Y]!=="object"||Array.isArray(X[Y])||X[Y]instanceof File)X[Y]=Object.create(null);X=X[Y]}})};var BR=(D)=>O6(D,G9),H5=class{raw;#D;#$;routeIndex=0;path;bodyCache={};constructor(D,$="/",F=[[]]){this.raw=D,this.path=$,this.#$=F,this.#D={}}param(D){return D?this.#X(D):this.#G()}#X(D){let $=this.#$[0][this.routeIndex][1][D],F=this.#J($);return F&&/\%/.test(F)?BR(F):F}#G(){let D={},$=Object.keys(this.#$[0][this.routeIndex][1]);for(let F of $){let X=this.#J(this.#$[0][this.routeIndex][1][F]);if(X!==void 0)D[F]=/\%/.test(X)?BR(X):X}return D}#J(D){return this.#$[1]?this.#$[1][D]:D}query(D){return DR(this.url,D)}queries(D){return $R(this.url,D)}header(D){if(D)return this.raw.headers.get(D)??void 0;let $={};return this.raw.headers.forEach((F,X)=>{$[X]=F}),$}async parseBody(D){return YR(this,D)}#F=(D)=>{let{bodyCache:$,raw:F}=this,X=$[D];if(X)return X;let J=Object.keys($)[0];if(J)return $[J].then((Y)=>{if(J==="json")Y=JSON.stringify(Y);return new Response(Y)[D]()});return $[D]=F[D]()};json(){return this.#F("text").then((D)=>JSON.parse(D))}text(){return this.#F("text")}arrayBuffer(){return this.#F("arrayBuffer")}blob(){return this.#F("blob")}formData(){return this.#F("formData")}addValidatedData(D,$){this.#D[D]=$}valid(D){return this.#D[D]}get url(){return this.raw.url}get method(){return this.raw.method}get[GR](){return this.#$}get matchedRoutes(){return this.#$[0].map(([[,D]])=>D)}get routePath(){return this.#$[0].map(([[,D]])=>D)[this.routeIndex].path}};var W5={Stringify:1,BeforeStream:2,Stream:3},Du=(D,$)=>{let F=new String(D);return F.isEscaped=!0,F.callbacks=$,F};var Y9=async(D,$,F,X,J)=>{if(typeof D==="object"&&!(D instanceof String)){if(!(D instanceof Promise))D=D.toString();if(D instanceof Promise)D=await D}let Y=D.callbacks;if(!Y?.length)return Promise.resolve(D);if(J)J[0]+=D;else J=[D];let G=Promise.all(Y.map((B)=>B({phase:$,buffer:J,context:X}))).then((B)=>Promise.all(B.filter(Boolean).map((H)=>Y9(H,$,!1,X,J))).then(()=>J[0]));if(F)return Du(await G,Y);else return G};var HR="text/plain; charset=UTF-8",_G=(D,$)=>{return{"Content-Type":D,...$}},B9=(D,$)=>new Response(D,$),WR=class{#D;#$;env={};#X;finalized=!1;error;#G;#J;#F;#W;#H;#B;#Y;#U;#A;constructor(D,$){if(this.#D=D,$)this.#J=$.executionCtx,this.env=$.env,this.#B=$.notFoundHandler,this.#A=$.path,this.#U=$.matchResult}get req(){return this.#$??=new H5(this.#D,this.#A,this.#U),this.#$}get event(){if(this.#J&&"respondWith"in this.#J)return this.#J;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#J)return this.#J;else throw Error("This context has no ExecutionContext")}get res(){return this.#F||=B9(null,{headers:this.#Y??=new Headers})}set res(D){if(this.#F&&D){D=B9(D.body,D);for(let[$,F]of this.#F.headers.entries()){if($==="content-type")continue;if($==="set-cookie"){let X=this.#F.headers.getSetCookie();D.headers.delete("set-cookie");for(let J of X)D.headers.append("set-cookie",J)}else D.headers.set($,F)}}this.#F=D,this.finalized=!0}render=(...D)=>{return this.#H??=($)=>this.html($),this.#H(...D)};setLayout=(D)=>this.#W=D;getLayout=()=>this.#W;setRenderer=(D)=>{this.#H=D};header=(D,$,F)=>{if(this.finalized)this.#F=B9(this.#F.body,this.#F);let X=this.#F?this.#F.headers:this.#Y??=new Headers;if($===void 0)X.delete(D);else if(F?.append)X.append(D,$);else X.set(D,$)};status=(D)=>{this.#G=D};set=(D,$)=>{this.#X??=new Map,this.#X.set(D,$)};get=(D)=>{return this.#X?this.#X.get(D):void 0};get var(){if(!this.#X)return{};return Object.fromEntries(this.#X)}#_(D,$,F){let X=this.#F?new Headers(this.#F.headers):this.#Y??new Headers;if(typeof $==="object"&&"headers"in $){let Y=$.headers instanceof Headers?$.headers:new Headers($.headers);for(let[G,B]of Y)if(G.toLowerCase()==="set-cookie")X.append(G,B);else X.set(G,B)}if(F)for(let[Y,G]of Object.entries(F))if(typeof G==="string")X.set(Y,G);else{X.delete(Y);for(let B of G)X.append(Y,B)}let J=typeof $==="number"?$:$?.status??this.#G;return B9(D,{status:J,headers:X})}newResponse=(...D)=>this.#_(...D);body=(D,$,F)=>this.#_(D,$,F);text=(D,$,F)=>{return!this.#Y&&!this.#G&&!$&&!F&&!this.finalized?new Response(D):this.#_(D,$,_G(HR,F))};json=(D,$,F)=>{return this.#_(JSON.stringify(D),$,_G("application/json",F))};html=(D,$,F)=>{let X=(J)=>this.#_(J,$,_G("text/html; charset=UTF-8",F));return typeof D==="object"?Y9(D,W5.Stringify,!1,{}).then(X):X(D)};redirect=(D,$)=>{let F=String(D);return this.header("Location",!/[^\x00-\xFF]/.test(F)?F:encodeURI(F)),this.newResponse(null,$??302)};notFound=()=>{return this.#B??=()=>B9(),this.#B(this)}};var KD="ALL",_R="all",UR=["get","post","put","delete","options","patch"],_5="Can not add a route since the matcher is already built.",U5=class extends Error{};var AR="__COMPOSED_HANDLER";var $u=(D)=>{return D.text("404 Not Found",404)},VR=(D,$)=>{if("getResponse"in D){let F=D.getResponse();return $.newResponse(F.body,F)}return console.error(D),$.text("Internal Server Error",500)},QR=class D{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#D="/";routes=[];constructor($={}){[...UR,_R].forEach((Y)=>{this[Y]=(G,...B)=>{if(typeof G==="string")this.#D=G;else this.#G(Y,this.#D,G);return B.forEach((H)=>{this.#G(Y,this.#D,H)}),this}}),this.on=(Y,G,...B)=>{for(let H of[G].flat()){this.#D=H;for(let W of[Y].flat())B.map((U)=>{this.#G(W.toUpperCase(),this.#D,U)})}return this},this.use=(Y,...G)=>{if(typeof Y==="string")this.#D=Y;else this.#D="*",G.unshift(Y);return G.forEach((B)=>{this.#G(KD,this.#D,B)}),this};let{strict:X,...J}=$;Object.assign(this,J),this.getPath=X??!0?$.getPath??YG:tC}#$(){let $=new D({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#X=this.#X,$.routes=this.routes,$}#X=$u;errorHandler=VR;route($,F){let X=this.basePath($);return F.routes.map((J)=>{let Y;if(F.errorHandler===VR)Y=J.handler;else Y=async(G,B)=>(await WG([],F.errorHandler)(G,()=>J.handler(G,B))).res,Y[AR]=J.handler;X.#G(J.method,J.path,Y)}),this}basePath($){let F=this.#$();return F._basePath=H2(this._basePath,$),F}onError=($)=>{return this.errorHandler=$,this};notFound=($)=>{return this.#X=$,this};mount($,F,X){let J,Y;if(X)if(typeof X==="function")Y=X;else if(Y=X.optionHandler,X.replaceRequest===!1)J=(H)=>H;else J=X.replaceRequest;let G=Y?(H)=>{let W=Y(H);return Array.isArray(W)?W:[W]}:(H)=>{let W=void 0;try{W=H.executionCtx}catch{}return[H.env,W]};J||=(()=>{let H=H2(this._basePath,$),W=H==="/"?0:H.length;return(U)=>{let A=new URL(U.url);return A.pathname=A.pathname.slice(W)||"/",new Request(A,U)}})();let B=async(H,W)=>{let U=await F(J(H.req.raw),...G(H));if(U)return U;await W()};return this.#G(KD,H2($,"*"),B),this}#G($,F,X){$=$.toUpperCase(),F=H2(this._basePath,F);let J={basePath:this._basePath,path:F,method:$,handler:X};this.router.add($,F,[X,J]),this.routes.push(J)}#J($,F){if($ instanceof Error)return this.errorHandler($,F);throw $}#F($,F,X,J){if(J==="HEAD")return(async()=>new Response(null,await this.#F($,F,X,"GET")))();let Y=this.getPath($,{env:X}),G=this.router.match(J,Y),B=new WR($,{path:Y,matchResult:G,env:X,executionCtx:F,notFoundHandler:this.#X});if(G[0].length===1){let W;try{W=G[0][0][0][0](B,async()=>{B.res=await this.#X(B)})}catch(U){return this.#J(U,B)}return W instanceof Promise?W.then((U)=>U||(B.finalized?B.res:this.#X(B))).catch((U)=>this.#J(U,B)):W??this.#X(B)}let H=WG(G[0],this.errorHandler,this.#X);return(async()=>{try{let W=await H(B);if(!W.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return W.res}catch(W){return this.#J(W,B)}})()}fetch=($,...F)=>{return this.#F($,F[1],F[0],$.method)};request=($,F,X,J)=>{if($ instanceof Request)return this.fetch(F?new Request($,F):$,X,J);return $=$.toString(),this.fetch(new Request(/^https?:\/\//.test($)?$:`http://localhost${H2("/",$)}`,F),X,J)};fire=()=>{addEventListener("fetch",($)=>{$.respondWith(this.#F($.request,$,void 0,$.request.method))})}};var H9=[];function A5(D,$){let F=this.buildAllMatchers(),X=(J,Y)=>{let G=F[J]||F[KD],B=G[2][Y];if(B)return B;let H=Y.match(G[0]);if(!H)return[[],H9];let W=H.indexOf("",1);return[G[1][W],H]};return this.match=X,X(D,$)}var V5="[^/]+",W9=".*",_9="(?:|/.*)",H1=Symbol(),Fu=new Set(".\\+*[^]$()");function Xu(D,$){if(D.length===1)return $.length===1?D<$?-1:1:-1;if($.length===1)return 1;if(D===W9||D===_9)return 1;else if($===W9||$===_9)return-1;if(D===V5)return 1;else if($===V5)return-1;return D.length===$.length?D<$?-1:1:$.length-D.length}var ER=class D{#D;#$;#X=Object.create(null);insert($,F,X,J,Y){if($.length===0){if(this.#D!==void 0)throw H1;if(Y)return;this.#D=F;return}let[G,...B]=$,H=G==="*"?B.length===0?["","",W9]:["","",V5]:G==="/*"?["","",_9]:G.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),W;if(H){let U=H[1],A=H[2]||V5;if(U&&H[2]){if(A===".*")throw H1;if(A=A.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(A))throw H1}if(W=this.#X[A],!W){if(Object.keys(this.#X).some((V)=>V!==W9&&V!==_9))throw H1;if(Y)return;if(W=this.#X[A]=new D,U!=="")W.#$=J.varIndex++}if(!Y&&U!=="")X.push([U,W.#$])}else if(W=this.#X[G],!W){if(Object.keys(this.#X).some((U)=>U.length>1&&U!==W9&&U!==_9))throw H1;if(Y)return;W=this.#X[G]=new D}W.insert(B,F,X,J,Y)}buildRegExpStr(){let F=Object.keys(this.#X).sort(Xu).map((X)=>{let J=this.#X[X];return(typeof J.#$==="number"?`(${X})@${J.#$}`:Fu.has(X)?`\\${X}`:X)+J.buildRegExpStr()});if(typeof this.#D==="number")F.unshift(`#${this.#D}`);if(F.length===0)return"";if(F.length===1)return F[0];return"(?:"+F.join("|")+")"}};var KR=class{#D={varIndex:0};#$=new ER;insert(D,$,F){let X=[],J=[];for(let G=0;;){let B=!1;if(D=D.replace(/\{[^}]+\}/g,(H)=>{let W=`@\\${G}`;return J[G]=[W,H],G++,B=!0,W}),!B)break}let Y=D.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let G=J.length-1;G>=0;G--){let[B]=J[G];for(let H=Y.length-1;H>=0;H--)if(Y[H].indexOf(B)!==-1){Y[H]=Y[H].replace(B,J[G][1]);break}}return this.#$.insert(Y,$,X,this.#D,F),X}buildRegExp(){let D=this.#$.buildRegExpStr();if(D==="")return[/^$/,[],[]];let $=0,F=[],X=[];return D=D.replace(/#(\d+)|@(\d+)|\.\*\$/g,(J,Y,G)=>{if(Y!==void 0)return F[++$]=Number(Y),"$()";if(G!==void 0)return X[Number(G)]=++$,"";return""}),[new RegExp(`^${D}`),F,X]}};var Ju=[/^$/,[],Object.create(null)],CR=Object.create(null);function RR(D){return CR[D]??=new RegExp(D==="*"?"":`^${D.replace(/\/\*$|([.\\+*[^\]$()])/g,($,F)=>F?`\\${F}`:"(?:|/.*)")}$`)}function Gu(){CR=Object.create(null)}function Yu(D){let $=new KR,F=[];if(D.length===0)return Ju;let X=D.map((W)=>[!/\*|\/:/.test(W[0]),...W]).sort(([W,U],[A,V])=>W?1:A?-1:U.length-V.length),J=Object.create(null);for(let W=0,U=-1,A=X.length;W<A;W++){let[V,E,C]=X[W];if(V)J[E]=[C.map(([Q])=>[Q,Object.create(null)]),H9];else U++;let K;try{K=$.insert(E,U,V)}catch(Q){throw Q===H1?new U5(E):Q}if(V)continue;F[U]=C.map(([Q,q])=>{let N=Object.create(null);q-=1;for(;q>=0;q--){let[Z,j]=K[q];N[Z]=j}return[Q,N]})}let[Y,G,B]=$.buildRegExp();for(let W=0,U=F.length;W<U;W++)for(let A=0,V=F[W].length;A<V;A++){let E=F[W][A]?.[1];if(!E)continue;let C=Object.keys(E);for(let K=0,Q=C.length;K<Q;K++)E[C[K]]=B[E[C[K]]]}let H=[];for(let W in G)H[W]=F[G[W]];return[Y,H,J]}function M6(D,$){if(!D)return;for(let F of Object.keys(D).sort((X,J)=>J.length-X.length))if(RR(F).test($))return[...D[F]];return}var Q5=class{name="RegExpRouter";#D;#$;constructor(){this.#D={[KD]:Object.create(null)},this.#$={[KD]:Object.create(null)}}add(D,$,F){let X=this.#D,J=this.#$;if(!X||!J)throw Error(_5);if(!X[D])[X,J].forEach((B)=>{B[D]=Object.create(null),Object.keys(B[KD]).forEach((H)=>{B[D][H]=[...B[KD][H]]})});if($==="/*")$="*";let Y=($.match(/\/:/g)||[]).length;if(/\*$/.test($)){let B=RR($);if(D===KD)Object.keys(X).forEach((H)=>{X[H][$]||=M6(X[H],$)||M6(X[KD],$)||[]});else X[D][$]||=M6(X[D],$)||M6(X[KD],$)||[];Object.keys(X).forEach((H)=>{if(D===KD||D===H)Object.keys(X[H]).forEach((W)=>{B.test(W)&&X[H][W].push([F,Y])})}),Object.keys(J).forEach((H)=>{if(D===KD||D===H)Object.keys(J[H]).forEach((W)=>B.test(W)&&J[H][W].push([F,Y]))});return}let G=Y5($)||[$];for(let B=0,H=G.length;B<H;B++){let W=G[B];Object.keys(J).forEach((U)=>{if(D===KD||D===U)J[U][W]||=[...M6(X[U],W)||M6(X[KD],W)||[]],J[U][W].push([F,Y-H+B+1])})}}match=A5;buildAllMatchers(){let D=Object.create(null);return Object.keys(this.#$).concat(Object.keys(this.#D)).forEach(($)=>{D[$]||=this.#X($)}),this.#D=this.#$=void 0,Gu(),D}#X(D){let $=[],F=D===KD;if([this.#D,this.#$].forEach((X)=>{let J=X[D]?Object.keys(X[D]).map((Y)=>[Y,X[D][Y]]):[];if(J.length!==0)F||=!0,$.push(...J);else if(D!==KD)$.push(...Object.keys(X[KD]).map((Y)=>[Y,X[KD][Y]]))}),!F)return null;else return Yu($)}};var Bu=class{name="PreparedRegExpRouter";#D;#$;constructor(D,$){this.#D=D,this.#$=$}#X(D,$){let F=this.#D[D];F[1].forEach((X)=>X&&X.push($)),Object.values(F[2]).forEach((X)=>X[0].push($))}#G(D,$,F,X,J){let Y=this.#D[D];if(!J)Y[2][$][0].push([F,{}]);else X.forEach((G)=>{if(typeof G==="number")Y[1][G].push([F,J]);else Y[2][G||$][0].push([F,J])})}add(D,$,F){if(!this.#D[D]){let J=this.#D[KD],Y={};for(let G in J[2])Y[G]=[J[2][G][0].slice(),H9];this.#D[D]=[J[0],J[1].map((G)=>Array.isArray(G)?G.slice():0),Y]}if($==="/*"||$==="*"){let J=[F,{}];if(D===KD)for(let Y in this.#D)this.#X(Y,J);else this.#X(D,J);return}let X=this.#$[$];if(!X)throw Error(`Path ${$} is not registered`);for(let[J,Y]of X)if(D===KD)for(let G in this.#D)this.#G(G,$,F,J,Y);else this.#G(D,$,F,J,Y)}buildAllMatchers(){return this.#D}match=A5};var UG=class{name="SmartRouter";#D=[];#$=[];constructor(D){this.#D=D.routers}add(D,$,F){if(!this.#$)throw Error(_5);this.#$.push([D,$,F])}match(D,$){if(!this.#$)throw Error("Fatal error");let F=this.#D,X=this.#$,J=F.length,Y=0,G;for(;Y<J;Y++){let B=F[Y];try{for(let H=0,W=X.length;H<W;H++)B.add(...X[H]);G=B.match(D,$)}catch(H){if(H instanceof U5)continue;throw H}this.match=B.match.bind(B),this.#D=[B],this.#$=void 0;break}if(Y===J)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,G}get activeRouter(){if(this.#$||this.#D.length!==1)throw Error("No active router has been determined yet.");return this.#D[0]}};var U9=Object.create(null),Hu=(D)=>{for(let $ in D)return!0;return!1},OR=class D{#D;#$;#X;#G=0;#J=U9;constructor($,F,X){if(this.#$=X||Object.create(null),this.#D=[],$&&F){let J=Object.create(null);J[$]={handler:F,possibleKeys:[],score:0},this.#D=[J]}this.#X=[]}insert($,F,X){this.#G=++this.#G;let J=this,Y=oC(F),G=[];for(let B=0,H=Y.length;B<H;B++){let W=Y[B],U=Y[B+1],A=aC(W,U),V=Array.isArray(A)?A[0]:W;if(V in J.#$){if(J=J.#$[V],A)G.push(A[1]);continue}if(J.#$[V]=new D,A)J.#X.push(A),G.push(A[1]);J=J.#$[V]}return J.#D.push({[$]:{handler:X,possibleKeys:G.filter((B,H,W)=>W.indexOf(B)===H),score:this.#G}}),J}#F($,F,X,J,Y){for(let G=0,B=F.#D.length;G<B;G++){let H=F.#D[G],W=H[X]||H[KD],U={};if(W!==void 0){if(W.params=Object.create(null),$.push(W),J!==U9||Y&&Y!==U9)for(let A=0,V=W.possibleKeys.length;A<V;A++){let E=W.possibleKeys[A],C=U[W.score];W.params[E]=Y?.[E]&&!C?Y[E]:J[E]??Y?.[E],U[W.score]=!0}}}}search($,F){let X=[];this.#J=U9;let Y=[this],G=GG(F),B=[],H=G.length,W=null;for(let U=0;U<H;U++){let A=G[U],V=U===H-1,E=[];for(let K=0,Q=Y.length;K<Q;K++){let q=Y[K],N=q.#$[A];if(N)if(N.#J=q.#J,V){if(N.#$["*"])this.#F(X,N.#$["*"],$,q.#J);this.#F(X,N,$,q.#J)}else E.push(N);for(let Z=0,j=q.#X.length;Z<j;Z++){let T=q.#X[Z],L=q.#J===U9?{}:{...q.#J};if(T==="*"){let GD=q.#$["*"];if(GD)this.#F(X,GD,$,q.#J),GD.#J=L,E.push(GD);continue}let[v,w,r]=T;if(!A&&!(r instanceof RegExp))continue;let HD=q.#$[v];if(r instanceof RegExp){if(W===null){W=Array(H);let uD=F[0]==="/"?1:0;for(let W2=0;W2<H;W2++)W[W2]=uD,uD+=G[W2].length+1}let GD=F.substring(W[U]),o=r.exec(GD);if(o){if(L[w]=o[0],this.#F(X,HD,$,q.#J,L),Hu(HD.#$)){HD.#J=L;let uD=o[0].match(/\//)?.length??0;(B[uD]||=[]).push(HD)}continue}}if(r===!0||r.test(A))if(L[w]=A,V){if(this.#F(X,HD,$,L,q.#J),HD.#$["*"])this.#F(X,HD.#$["*"],$,L,q.#J)}else HD.#J=L,E.push(HD)}}let C=B.shift();Y=C?E.concat(C):E}if(X.length>1)X.sort((U,A)=>{return U.score-A.score});return[X.map(({handler:U,params:A})=>[U,A])]}};var AG=class{name="TrieRouter";#D;constructor(){this.#D=new OR}add(D,$,F){let X=Y5($);if(X){for(let J=0,Y=X.length;J<Y;J++)this.#D.insert(D,X[J],F);return}this.#D.insert(D,$,F)}match(D,$){return this.#D.search(D,$)}};var VG=class extends QR{constructor(D={}){super(D);this.router=D.router??new UG({routers:[new Q5,new AG]})}};Q0();var x0=class D extends VG{openAPIRegistry;defaultHook;constructor($){super($);this.openAPIRegistry=new DG,this.defaultHook=$?.defaultHook}openapi=({middleware:$,hide:F,...X},J,Y=this.defaultHook)=>{if(!F)this.openAPIRegistry.registerPath(X);let G=[];if(X.request?.query){let W=B1("query",X.request.query,Y);G.push(W)}if(X.request?.params){let W=B1("param",X.request.params,Y);G.push(W)}if(X.request?.headers){let W=B1("header",X.request.headers,Y);G.push(W)}if(X.request?.cookies){let W=B1("cookie",X.request.cookies,Y);G.push(W)}let B=X.request?.body?.content;if(B)for(let W of Object.keys(B)){if(!B[W])continue;let U=B[W].schema;if(!(U instanceof e))continue;if(qR(W)){let A=B1("json",U,Y);if(X.request?.body?.required)G.push(A);else{let V=async(E,C)=>{if(E.req.header("content-type")){if(qR(E.req.header("content-type")))return await A(E,C)}E.req.addValidatedData("json",{}),await C()};G.push(V)}}if(NR(W)){let A=B1("form",U,Y);if(X.request?.body?.required)G.push(A);else{let V=async(E,C)=>{if(E.req.header("content-type")){if(NR(E.req.header("content-type")))return await A(E,C)}E.req.addValidatedData("form",{}),await C()};G.push(V)}}}let H=$?Array.isArray($)?$:[$]:[];return this.on([X.method],X.path.replaceAll(/\/{(.+?)}/g,"/:$1"),...H,...G,J),this};getOpenAPIDocument=($)=>{let X=new FG(this.openAPIRegistry.definitions).generateDocument($);return this._basePath?MR(X,this._basePath):X};getOpenAPI31Document=($)=>{let X=new XG(this.openAPIRegistry.definitions).generateDocument($);return this._basePath?MR(X,this._basePath):X};doc=($,F)=>{return this.get($,(X)=>{let J=typeof F==="function"?F(X):F;try{let Y=this.getOpenAPIDocument(J);return X.json(Y)}catch(Y){return X.json(Y,500)}})};doc31=($,F)=>{return this.get($,(X)=>{let J=typeof F==="function"?F(X):F;try{let Y=this.getOpenAPI31Document(J);return X.json(Y)}catch(Y){return X.json(Y,500)}})};route($,F){let X=$.replaceAll(/:([^\/]+)/g,"{$1}");if(super.route($,F),!(F instanceof D))return this;return F.openAPIRegistry.definitions.forEach((J)=>{switch(J.type){case"component":return this.openAPIRegistry.registerComponent(J.componentType,J.name,J.component);case"route":{this.openAPIRegistry.registerPath({...J.route,path:H2(X,F._basePath.replaceAll(/:([^\/]+)/g,"{$1}"),J.route.path)});return}case"webhook":{this.openAPIRegistry.registerWebhook({...J.webhook,path:H2(X,F._basePath.replaceAll(/:([^\/]+)/g,"{$1}"),J.webhook.path)});return}case"schema":return this.openAPIRegistry.register(J.schema._def.openapi._internal.refId,J.schema);case"parameter":return this.openAPIRegistry.registerParameter(J.schema._def.openapi._internal.refId,J.schema);default:throw Error(`Unknown registry type: ${J}`)}}),this}basePath($){return new D({...super.basePath($),defaultHook:this.defaultHook})}};TC(_);function MR(D,$){let F={};return Object.keys(D.paths).forEach((X)=>{F[H2($.replaceAll(/:([^\/]+)/g,"{$1}"),X)]=D.paths[X]}),{...D,paths:F}}function qR(D){return/^application\/([a-z-\.]+\+)?json/.test(D)}function NR(D){return D.startsWith("multipart/form-data")||D.startsWith("application/x-www-form-urlencoded")}Q0();var PR=[["--theme-","--scalar-"],["--sidebar-","--scalar-sidebar-"]],Wu=PR.map(([D])=>D);function QG(D){if(!Wu.some((F)=>D.includes(F)))return D;return console.warn("DEPRECATION WARNING: It looks like you're using legacy CSS variables in your custom CSS string. Please migrate them to use the updated prefixes. See https://github.com/scalar/scalar/blob/main/documentation/themes.md#theme-prefix-changes"),PR.reduce((F,[X,J])=>F.replaceAll(X,J),D)}var _u=_.enum(["alternate","default","moon","purple","solarized","bluePlanet","deepSpace","saturn","kepler","elysiajs","fastify","mars","none"]),Uu=_.enum(["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]),Au=_.enum(["adonisjs","docusaurus","dotnet","elysiajs","express","fastapi","fastify","go","hono","html","laravel","litestar","nestjs","nextjs","nitro","nuxt","platformatic","react","rust","vue"]).nullable(),KG=_.object({url:_.string().optional(),content:_.union([_.string(),_.record(_.any()),_.function().returns(_.record(_.any())),_.null()]).optional(),title:_.string().optional(),slug:_.string().optional()}),Vu=_.object({basePath:_.string()}),LR=_.object({authentication:_.any().optional(),baseServerURL:_.string().optional(),hideClientButton:_.boolean().optional().default(!1).catch(!1),proxyUrl:_.string().optional(),searchHotKey:Uu.optional(),servers:_.array(_.any()).optional(),showSidebar:_.boolean().optional().default(!0).catch(!0),spec:KG.optional(),theme:_u.optional().default("default").catch("default"),_integration:Au.optional()}),ZR="https://api.scalar.com/request-proxy",EG="https://proxy.scalar.com",zR=LR.merge(_.object({layout:_.enum(["modern","classic"]).optional().default("modern").catch("modern"),proxy:_.string().optional(),isEditable:_.boolean().optional().default(!1).catch(!1),hideModels:_.boolean().optional().default(!1).catch(!1),hideDownloadButton:_.boolean().optional().default(!1).catch(!1),hideTestRequestButton:_.boolean().optional().default(!1).catch(!1),hideSearch:_.boolean().optional().default(!1).catch(!1),darkMode:_.boolean().optional(),forceDarkModeState:_.enum(["dark","light"]).optional(),hideDarkModeToggle:_.boolean().optional().default(!1).catch(!1),metaData:_.any().optional(),favicon:_.string().optional(),hiddenClients:_.union([_.record(_.union([_.boolean(),_.array(_.string())])),_.array(_.string()),_.literal(!0)]).optional(),defaultHttpClient:_.object({targetKey:_.custom(),clientKey:_.string()}).optional(),customCss:_.string().optional(),onSpecUpdate:_.function().args(_.string()).returns(_.void()).optional(),onServerChange:_.function().args(_.string()).returns(_.void()).optional(),pathRouting:Vu.optional(),generateHeadingSlug:_.function().args(_.object({slug:_.string().default("headingSlug")})).returns(_.string()).optional(),generateModelSlug:_.function().args(_.object({name:_.string().default("modelName")})).returns(_.string()).optional(),generateTagSlug:_.function().args(_.object({name:_.string().default("tagName")})).returns(_.string()).optional(),generateOperationSlug:_.function().args(_.object({path:_.string(),operationId:_.string().optional(),method:_.string(),summary:_.string().optional()})).returns(_.string()).optional(),generateWebhookSlug:_.function().args(_.object({name:_.string(),method:_.string().optional()})).returns(_.string()).optional(),onLoaded:_.function().returns(_.void()).optional(),redirect:_.function().args(_.string()).returns(_.string().nullable().optional()).optional(),withDefaultFonts:_.boolean().optional().default(!0).catch(!0),defaultOpenAllTags:_.boolean().optional(),tagsSorter:_.union([_.literal("alpha"),_.function().args(_.any(),_.any()).returns(_.number())]).optional(),operationsSorter:_.union([_.literal("alpha"),_.literal("method"),_.function().args(_.any(),_.any()).returns(_.number())]).optional()})),Qu=zR.merge(_.object({spec:_.object({sources:_.array(KG)})})),jR=(D)=>{let $={...D};if($.customCss)$.customCss=QG($.customCss);if($.proxy){if(console.warn("[DEPRECATED] You\u2019re using the deprecated 'proxy' attribute, rename it to 'proxyUrl' or update the package."),!$.proxyUrl)$.proxyUrl=$.proxy;delete $.proxy}if($.proxyUrl===ZR)console.warn(`[DEPRECATED] Warning: configuration.proxyUrl points to our old proxy (${ZR}).`),console.warn(`[DEPRECATED] We are overwriting the value and use the new proxy URL (${EG}) instead.`),console.warn(`[DEPRECATED] Action Required: You should manually update your configuration to use the new URL (${EG}). Read more: https://github.com/scalar/scalar`),$.proxyUrl=EG;return $},CG=zR.transform(jR),Eu=Qu.transform(jR);Q0();var RG=_.object({cdn:_.string().optional().default("https://cdn.jsdelivr.net/npm/@scalar/api-reference"),pageTitle:_.string().optional().default("Scalar API Reference")});var wR=(D,$="")=>{let{cdn:F,pageTitle:X,...J}=D,Y=RG.parse({cdn:F,pageTitle:X,customTheme:$}),G=CG.parse(J);return`
|
|
288
|
+
<!DOCTYPE html>
|
|
289
|
+
<html>
|
|
290
|
+
<head>
|
|
291
|
+
<title>${Y.pageTitle}</title>
|
|
292
|
+
<meta charset="utf-8" />
|
|
293
|
+
<meta
|
|
294
|
+
name="viewport"
|
|
295
|
+
content="width=device-width, initial-scale=1" />
|
|
296
|
+
<style>
|
|
297
|
+
${D.theme?"":$}
|
|
298
|
+
</style>
|
|
299
|
+
</head>
|
|
300
|
+
<body>
|
|
301
|
+
${Ku(G,Y.cdn)}
|
|
302
|
+
</body>
|
|
303
|
+
</html>
|
|
304
|
+
`};function Ku(D,$){return`
|
|
305
|
+
<script
|
|
306
|
+
id="api-reference"
|
|
307
|
+
type="application/json"
|
|
308
|
+
data-configuration="${Cu(D)}">${Ru(D)}</script>
|
|
309
|
+
<script src="${$}"></script>
|
|
310
|
+
`}var Cu=(D)=>{let $={...D};if(!$.spec?.url)delete $.spec;else if($.spec?.content)delete $.spec?.content;return JSON.stringify($).split('"').join(""")},Ru=(D)=>D.spec?.content?typeof D.spec?.content==="function"?JSON.stringify(D.spec?.content()):JSON.stringify(D.spec?.content):"";var Ou={_integration:"hono"},Mu=`
|
|
311
|
+
.light-mode {
|
|
312
|
+
color-scheme: light;
|
|
313
|
+
--scalar-color-1: #2a2f45;
|
|
314
|
+
--scalar-color-2: #757575;
|
|
315
|
+
--scalar-color-3: #8e8e8e;
|
|
316
|
+
--scalar-color-disabled: #b4b1b1;
|
|
317
|
+
--scalar-color-ghost: #a7a7a7;
|
|
318
|
+
--scalar-color-accent: #0099ff;
|
|
319
|
+
--scalar-background-1: #fff;
|
|
320
|
+
--scalar-background-2: #f6f6f6;
|
|
321
|
+
--scalar-background-3: #e7e7e7;
|
|
322
|
+
--scalar-background-4: rgba(0, 0, 0, 0.06);
|
|
323
|
+
--scalar-background-accent: #8ab4f81f;
|
|
324
|
+
|
|
325
|
+
--scalar-border-color: rgba(0, 0, 0, 0.1);
|
|
326
|
+
--scalar-scrollbar-color: rgba(0, 0, 0, 0.18);
|
|
327
|
+
--scalar-scrollbar-color-active: rgba(0, 0, 0, 0.36);
|
|
328
|
+
--scalar-lifted-brightness: 1;
|
|
329
|
+
--scalar-backdrop-brightness: 1;
|
|
330
|
+
|
|
331
|
+
--scalar-shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.11);
|
|
332
|
+
--scalar-shadow-2: rgba(0, 0, 0, 0.08) 0px 13px 20px 0px,
|
|
333
|
+
rgba(0, 0, 0, 0.08) 0px 3px 8px 0px, #eeeeed 0px 0 0 1px;
|
|
334
|
+
|
|
335
|
+
--scalar-button-1: rgb(49 53 56);
|
|
336
|
+
--scalar-button-1-color: #fff;
|
|
337
|
+
--scalar-button-1-hover: rgb(28 31 33);
|
|
338
|
+
|
|
339
|
+
--scalar-color-green: #069061;
|
|
340
|
+
--scalar-color-red: #ef0006;
|
|
341
|
+
--scalar-color-yellow: #edbe20;
|
|
342
|
+
--scalar-color-blue: #0082d0;
|
|
343
|
+
--scalar-color-orange: #fb892c;
|
|
344
|
+
--scalar-color-purple: #5203d1;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
.dark-mode {
|
|
348
|
+
color-scheme: dark;
|
|
349
|
+
--scalar-color-1: rgba(255, 255, 245, .86);
|
|
350
|
+
--scalar-color-2: rgba(255, 255, 245, .6);
|
|
351
|
+
--scalar-color-3: rgba(255, 255, 245, .38);
|
|
352
|
+
--scalar-color-disabled: rgba(255, 255, 245, .25);
|
|
353
|
+
--scalar-color-ghost: rgba(255, 255, 245, .25);
|
|
354
|
+
--scalar-color-accent: #e36002;
|
|
355
|
+
--scalar-background-1: #1e1e20;
|
|
356
|
+
--scalar-background-2: #2a2a2a;
|
|
357
|
+
--scalar-background-3: #505053;
|
|
358
|
+
--scalar-background-4: rgba(255, 255, 255, 0.06);
|
|
359
|
+
--scalar-background-accent: #e360021f;
|
|
360
|
+
|
|
361
|
+
--scalar-border-color: rgba(255, 255, 255, 0.1);
|
|
362
|
+
--scalar-scrollbar-color: rgba(255, 255, 255, 0.24);
|
|
363
|
+
--scalar-scrollbar-color-active: rgba(255, 255, 255, 0.48);
|
|
364
|
+
--scalar-lifted-brightness: 1.45;
|
|
365
|
+
--scalar-backdrop-brightness: 0.5;
|
|
366
|
+
|
|
367
|
+
--scalar-shadow-1: 0 1px 3px 0 rgb(0, 0, 0, 0.1);
|
|
368
|
+
--scalar-shadow-2: rgba(15, 15, 15, 0.2) 0px 3px 6px,
|
|
369
|
+
rgba(15, 15, 15, 0.4) 0px 9px 24px, 0 0 0 1px rgba(255, 255, 255, 0.1);
|
|
370
|
+
|
|
371
|
+
--scalar-button-1: #f6f6f6;
|
|
372
|
+
--scalar-button-1-color: #000;
|
|
373
|
+
--scalar-button-1-hover: #e7e7e7;
|
|
374
|
+
|
|
375
|
+
--scalar-color-green: #3dd68c;
|
|
376
|
+
--scalar-color-red: #f66f81;
|
|
377
|
+
--scalar-color-yellow: #f9b44e;
|
|
378
|
+
--scalar-color-blue: #5c73e7;
|
|
379
|
+
--scalar-color-orange: #ff8d4d;
|
|
380
|
+
--scalar-color-purple: #b191f9;
|
|
381
|
+
}
|
|
382
|
+
/* Sidebar */
|
|
383
|
+
.light-mode .t-doc__sidebar {
|
|
384
|
+
--scalar-sidebar-background-1: var(--scalar-background-1);
|
|
385
|
+
--scalar-sidebar-item-hover-color: currentColor;
|
|
386
|
+
--scalar-sidebar-item-hover-background: var(--scalar-background-2);
|
|
387
|
+
--scalar-sidebar-item-active-background: var(--scalar-background-accent);
|
|
388
|
+
--scalar-sidebar-border-color: var(--scalar-border-color);
|
|
389
|
+
--scalar-sidebar-color-1: var(--scalar-color-1);
|
|
390
|
+
--scalar-sidebar-color-2: var(--scalar-color-2);
|
|
391
|
+
--scalar-sidebar-color-active: var(--scalar-color-accent);
|
|
392
|
+
--scalar-sidebar-search-background: var(--scalar-background-2);
|
|
393
|
+
--scalar-sidebar-search-border-color: var(--scalar-sidebar-border-color);
|
|
394
|
+
--scalar-sidebar-search-color: var(--scalar-color-3);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.dark-mode .sidebar {
|
|
398
|
+
--scalar-sidebar-background-1: #161618;
|
|
399
|
+
--scalar-sidebar-item-hover-color: var(--scalar-color-accent);
|
|
400
|
+
--scalar-sidebar-item-hover-background: transparent;
|
|
401
|
+
--scalar-sidebar-item-active-background: transparent;
|
|
402
|
+
--scalar-sidebar-border-color: transparent;
|
|
403
|
+
--scalar-sidebar-color-1: var(--scalar-color-1);
|
|
404
|
+
--scalar-sidebar-color-2: var(--scalar-color-2);
|
|
405
|
+
--scalar-sidebar-color-active: var(--scalar-color-accent);
|
|
406
|
+
--scalar-sidebar-search-background: #252529;
|
|
407
|
+
--scalar-sidebar-search-border-color: transparent;
|
|
408
|
+
--scalar-sidebar-search-color: var(--scalar-color-3);
|
|
409
|
+
}
|
|
410
|
+
`,OG=(D)=>{let $={...Ou,...D};return async(F)=>F.html(`${wR($,Mu)}`)};P2();jD();JD();s0();JD();function IR(D,$){if(D instanceof RD)return $.json(D.toJSON(),D.status);return M.error("Unhandled error:",D),$.json({error:{code:"INTERNAL_ERROR",message:"An unexpected error occurred"}},500)}JD();var TR=async(D,$)=>{let F=performance.now();await $();let X=Math.round(performance.now()-F);M.info(`${D.req.method} ${D.req.path} ${D.res.status} ${X}ms`)};s0();JD();function SR(D,$){let F=new x0;return F.get("/whatsapp/webhook",(X)=>{let Y=D().channels.get("whatsapp");if(!Y||Y.credentials.channel!=="whatsapp")return X.text("whatsapp channel is not bound to this worker",404);let G=X.req.query("hub.mode"),B=X.req.query("hub.verify_token"),H=X.req.query("hub.challenge")??"";if(G==="subscribe"&&B===Y.credentials.verifyToken)return X.text(H,200);return X.text("forbidden",403)}),F.post("/:channel/webhook",async(X)=>{let J=D(),Y=X.req.param("channel"),G=J.channels.get(Y);if(!G)throw RD.notFound(`Channel ${Y} is not bound to this worker`);let B=J.channels.adapter(Y),H=await X.req.text(),W={};X.req.raw.headers.forEach((A,V)=>{W[V.toLowerCase()]=A});try{await B.verify(H,W,G)}catch(A){return M.warn(`[channel:${Y}] signature verification failed: ${String(A)}`),X.json({ok:!1,error:"signature verification failed"},401)}let U=await B.toEnvelopes(H,$,G);for(let A of U)await J.orchestrator.ingest(A);return X.json({ok:!0,accepted:U.length})}),F}var MG=class{writer;encoder;writable;abortSubscribers=[];responseReadable;aborted=!1;closed=!1;constructor(D,$){this.writable=D,this.writer=D.getWriter(),this.encoder=new TextEncoder;let F=$.getReader();this.abortSubscribers.push(async()=>{await F.cancel()}),this.responseReadable=new ReadableStream({async pull(X){let{done:J,value:Y}=await F.read();J?X.close():X.enqueue(Y)},cancel:()=>{this.abort()}})}async write(D){try{if(typeof D==="string")D=this.encoder.encode(D);await this.writer.write(D)}catch{}return this}async writeln(D){return await this.write(D+`
|
|
411
|
+
`),this}sleep(D){return new Promise(($)=>setTimeout($,D))}async close(){try{await this.writer.close()}catch{}this.closed=!0}async pipe(D){this.writer.releaseLock(),await D.pipeTo(this.writable,{preventClose:!0}),this.writer=this.writable.getWriter()}onAbort(D){this.abortSubscribers.push(D)}abort(){if(!this.aborted)this.aborted=!0,this.abortSubscribers.forEach((D)=>D())}};var E5=()=>{let D=typeof Bun<"u"?Bun.version:void 0;if(D===void 0)return!1;let $=D.startsWith("1.1")||D.startsWith("1.0")||D.startsWith("0.");return E5=()=>$,$};var fR=class extends MG{constructor(D,$){super(D,$)}async writeSSE(D){let F=(await Y9(D.data,W5.Stringify,!1,{})).split(/\r\n|\r|\n/).map((J)=>{return`data: ${J}`}).join(`
|
|
412
|
+
`);for(let J of["event","id","retry"])if(D[J]&&/[\r\n]/.test(D[J]))throw Error(`${J} must not contain "\\r" or "\\n"`);let X=[D.event&&`event: ${D.event}`,F,D.id&&`id: ${D.id}`,D.retry&&`retry: ${D.retry}`].filter(Boolean).join(`
|
|
413
|
+
`)+`
|
|
414
|
+
|
|
415
|
+
`;await this.write(X)}},qu=async(D,$,F)=>{try{await $(D)}catch(X){if(X instanceof Error&&F)await F(X,D),await D.writeSSE({event:"error",data:X.message});else console.error(X)}finally{D.close()}},Nu=new WeakMap,qG=(D,$,F)=>{let{readable:X,writable:J}=new TransformStream,Y=new fR(J,X);if(E5())D.req.raw.signal.addEventListener("abort",()=>{if(!Y.closed)Y.abort()});return Nu.set(Y.responseReadable,D),D.header("Transfer-Encoding","chunked"),D.header("Content-Type","text/event-stream"),D.header("Cache-Control","no-cache"),D.header("Connection","keep-alive"),qu(Y,$,F),D.newResponse(Y.responseReadable)};function bR(D){let $=new x0;return $.get("/stream",(F)=>{let X=D().bus;return qG(F,async(J)=>{let Y=X.on((G)=>{J.writeSSE({event:G.type,data:JSON.stringify({...G.payload,at:G.at})})});await new Promise((G)=>{F.req.raw.signal.addEventListener("abort",()=>{Y(),G()})})})}),$}s0();jD();O0();var q6=new x0;q6.get("/observations",(D)=>{let $=m().select().from(D2).orderBy(R0(D2.noticedAt)).limit(200).all();return D.json({observations:$})});q6.get("/drafts",(D)=>{let $=D.req.query("status"),F=m().select().from(W0).orderBy(R0(W0.createdAt)).limit(100),X=$?F.where(p(W0.status,$)).all():F.all();return D.json({drafts:X})});q6.post("/drafts/:id/approve",async(D)=>{let $=Number(D.req.param("id"));if(!Number.isFinite($))throw RD.badRequest("invalid draft id");let F=await D.req.json().catch(()=>({})),X=new Date().toISOString();return m().update(W0).set({status:"approved",decidedAt:X,decidedBy:F.decidedBy??"operator"}).where(p(W0.id,$)).run(),D.json({ok:!0})});q6.post("/drafts/:id/reject",async(D)=>{let $=Number(D.req.param("id"));if(!Number.isFinite($))throw RD.badRequest("invalid draft id");let F=await D.req.json().catch(()=>({})),X=new Date().toISOString();return m().update(W0).set({status:"rejected",decidedAt:X,decidedBy:F.decidedBy??"operator"}).where(p(W0.id,$)).run(),D.json({ok:!0})});P2();s0();jD();JD();Q0();P2();function kR({getIdentity:D}){return async($,F)=>{let X=$.req.header("Authorization");if(!X)return $.json({code:"auth-failed",message:"missing Authorization header"},401);let[J,Y]=X.split(/\s+/,2);if(!J||J.toLowerCase()!=="bearer"||!Y)return $.json({code:"auth-failed",message:"expected Bearer scheme"},401);let{tokenPlaintext:G}=D();if(!G||!X5(Y,G))return $.json({code:"auth-failed",message:"invalid bearer token"},401);await F()}}var Zu=_.object({value:_.string().min(1)}),Lu=_.object({probe:_.boolean().optional()}).optional(),zu=_.object({chatId:_.string().optional(),text:_.string().optional()}).optional(),vR=_.enum(["web","line","telegram","lark","whatsapp"]),ju=_.object({expression:_.string().min(1),prompt:_.string().min(1),channel:vR,chatId:_.string().min(1),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}),wu=_.object({expression:_.string().min(1).optional(),prompt:_.string().min(1).optional(),channel:vR.optional(),chatId:_.string().min(1).optional(),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}).refine((D)=>Object.keys(D).length>0,{message:"\u81F3\u5C11\u63D0\u4F9B\u4E00\u4E2A\u5F85\u66F4\u65B0\u5B57\u6BB5"});function gR(D){let $=new x0;return $.use("*",kR({getIdentity:()=>({tokenPlaintext:D.getState().tokenPlaintext})})),$.get("/info",async(F)=>{let X=D.getState(),J=await q0(m()),Y=await h4(X,J.config,{...l.AIWORKER_ADVERTISED_BASE_URL===void 0?{}:{advertisedBaseUrl:l.AIWORKER_ADVERTISED_BASE_URL}});return F.json(Y)}),$.get("/config",async(F)=>{let X=await q0(m());return F.json(X)}),$.put("/config",async(F)=>{let X=await F.req.json().catch(()=>null),J=F.req.header("If-Match"),Y=J===void 0?void 0:Number.parseInt(J,10);if(J!==void 0&&Number.isNaN(Y))return F.json({error:{code:"invalid-if-match",message:"If-Match must be an integer"}},400);try{let G=await U6({db:m(),vault:fD(),raw:X,...Y===void 0?{}:{ifMatchVersion:Y},workerId:D.getState().workerId,reloadRuntime:D.reloadRuntime});return F.json(G)}catch(G){if(G instanceof q2)return F.json({error:{code:"invalid-config",message:G.message,details:G.issues}},400);if(G instanceof N2)return F.json({error:{code:"version-conflict",message:G.message,expected:G.expected,actual:G.actual}},409);throw G}}),$.get("/secrets",async(F)=>{let X=await x4(fD());return F.json({keys:X})}),$.put("/secrets/:key",async(F)=>{let X=F.req.param("key"),J=await F.req.json().catch(()=>null),Y=Zu.safeParse(J);if(!Y.success)return F.json({error:{code:"invalid-body",message:"invalid secret body",details:Y.error.flatten().fieldErrors}},400);try{return await y4(fD(),X,Y.data.value),F.json({ok:!0},200)}catch(G){if(G instanceof RD)return F.json(G.toJSON(),G.status);throw G}}),$.delete("/secrets/:key",async(F)=>{let X=F.req.param("key");try{return await u4(fD(),X),F.json({ok:!0},200)}catch(J){if(J instanceof RD)return F.json(J.toJSON(),J.status);throw J}}),$.post("/brain/test",async(F)=>{let X=D.getState(),J=await q0(m()),Y=await k4(X,J.config);return F.json(Y)}),$.post("/executor/test",async(F)=>{let X=await F.req.json().catch(()=>null),J=Lu.safeParse(X??{});if(!J.success)return F.json({error:{code:"invalid-body",message:"invalid executor test body"}},400);let Y=D.getState(),G=await q0(m()),B=await g4(Y,G.config,J.data??{});return F.json(B)}),$.post("/channels/:channel/test",async(F)=>{let X=F.req.param("channel"),J=await F.req.json().catch(()=>null),Y=zu.safeParse(J??{});if(!Y.success)return F.json({error:{code:"invalid-body",message:"invalid channel test body"}},400);try{let G=D.getState(),B=await v4(G,X,Y.data??{});return F.json(B)}catch(G){if(G instanceof RD)return F.json(G.toJSON(),G.status);throw G}}),$.post("/token/rotate",async(F)=>{let X=D.getState(),J=await Q8(m(),fD(),X);return F.json(J)}),$.post("/reload",async(F)=>{let X=await q0(m());try{return await D.reloadRuntime(X.config,X.version),F.json({ok:!0,version:X.version})}catch(J){return M.error("[worker mgmt] forced reload failed",J),F.json({ok:!1,version:X.version,error:J.message??String(J)},500)}}),$.get("/runtime/processes/capacity",(F)=>{let X=D.getState().runtime.processes.snapshot();return F.json(X)}),$.get("/engines",async(F)=>{let X=F.req.query("refresh")==="1",J=await m7().probeAll({refresh:X});return F.json({engines:J})}),$.get("/approvals",(F)=>{let J=D.getState().runtime.approvals.list().map((Y)=>({taskId:Y.taskId,toolCallId:Y.toolCallId,toolName:Y.toolName,params:Y.params,expiresAt:Y.expiresAt}));return F.json({approvals:J})}),$.post("/approvals/:taskId/:toolCallId/grant",async(F)=>{let X=F.req.param("taskId"),J=F.req.param("toolCallId"),Y=await F.req.json().catch(()=>null),G=_.object({decision:_.enum(["allow","deny"])}).safeParse(Y);if(!G.success)return F.json({error:{code:"invalid-body",message:'decision must be "allow" or "deny"'}},400);let B=D.getState().runtime.approvals.grant(X,J,G.data.decision);return F.json({granted:B})}),$.get("/cron",async(F)=>{let X=await D.getState().runtime.cron.listJobs();return F.json({jobs:X})}),$.post("/cron",async(F)=>{let X=await F.req.json().catch(()=>null),J=ju.safeParse(X);if(!J.success)return F.json({error:{code:"invalid-body",message:"invalid cron job body",details:J.error.flatten().fieldErrors}},400);try{let Y=await D.getState().runtime.cron.addJob(J.data);return F.json({job:Y},201)}catch(Y){return F.json({error:{code:"invalid-cron",message:Y instanceof Error?Y.message:String(Y)}},400)}}),$.patch("/cron/:id",async(F)=>{let X=F.req.param("id"),J=await F.req.json().catch(()=>null),Y=wu.safeParse(J);if(!Y.success)return F.json({error:{code:"invalid-body",message:"invalid cron patch body",details:Y.error.flatten().fieldErrors}},400);try{let G=await D.getState().runtime.cron.updateJob(X,Y.data);if(!G)return F.json({error:{code:"not-found",message:`cron job ${X} \u4E0D\u5B58\u5728`}},404);return F.json({job:G})}catch(G){return F.json({error:{code:"invalid-cron",message:G instanceof Error?G.message:String(G)}},400)}}),$.delete("/cron/:id",async(F)=>{let X=F.req.param("id");if(!(await D.getState().runtime.cron.removeJob(X)).removed)return F.json({error:{code:"not-found",message:`cron job ${X} \u4E0D\u5B58\u5728`}},404);return F.json({ok:!0})}),$}s0();jD();O0();function hR(D){let $=new x0;return $.get("/tasks",(F)=>{let X=m().select().from(a2).orderBy(R0(a2.createdAt)).limit(200).all();return F.json({tasks:X})}),$.post("/tasks",async(F)=>{let X=await F.req.json();if(!X.prompt||!X.prompt.trim())throw RD.badRequest("prompt is required");let J=await D().orchestrator.submitTask(X.prompt.trim());return F.json({task:J},201)}),$.get("/conversations",(F)=>{let X=m().select().from(ED).orderBy(R0(ED.lastActiveAt)).limit(200).all();return F.json({conversations:X})}),$.get("/conversations/:id/messages",(F)=>{let X=F.req.param("id"),J=m().select().from(vD).where(p(vD.conversationId,X)).all();return F.json({messages:J})}),$}async function xR(D){let $=fD(),F=new Set(f2(D).map((J)=>J.path)),X=new Map;for(let J of F){let Y=await $.get(J);if(Y!==null)X.set(J,Y)}return u1(D,X)}async function yR(D={}){D3(l.WORKER_DB_PATH),$3(l.WORKER_MIGRATIONS_FOLDER);let $=fD(),F=m(),X=await h8(F,$,{...l.AIWORKER_FORCE_ID===void 0?{}:{forceId:l.AIWORKER_FORCE_ID},...l.AIWORKER_FORCE_TOKEN===void 0?{}:{forceToken:l.AIWORKER_FORCE_TOKEN}});x8(X.workerId,X.token,F,X.justMinted),M.info(`[worker ${X.workerId}] worker.db ready at ${l.WORKER_DB_PATH}`);let J=await g8(F),Y=await xR(J.config),G=new $1({maxConcurrentTotal:l.MAX_CONCURRENT_TOTAL,perEngineLimits:{...l.perEngineLimits},stallTimeoutMs:l.PROCESS_STALL_TIMEOUT_MS,killTimeoutMs:l.PROCESS_KILL_TIMEOUT_MS,autoCleanupDelayMs:l.PROCESS_AUTO_CLEANUP_DELAY_MS,gcIntervalMs:l.PROCESS_GC_INTERVAL_MS}),B=Y1(X.workerId,Y,{processes:G});M.info(`[worker ${X.workerId}] runtime built \u2014 brains=${Y.brains.length} executor=${Y.executor.engine}/${Y.executor.variant} channels=${B.channels.list().length}`);let H={workerId:X.workerId,runtime:B,configVersion:J.version,startedAt:new Date().toISOString(),tokenPlaintext:X.token};async function W(A,V){let E=await xR(A);G.setLimits({maxConcurrentTotal:l.MAX_CONCURRENT_TOTAL,perEngineLimits:{...l.perEngineLimits}});let C=Y1(H.workerId,E,{processes:G}),K=H.runtime;if(H.runtime=C,H.configVersion=V,D.onRuntimeReloaded)try{D.onRuntimeReloaded()}catch(Q){M.warn(`[worker ${H.workerId}] onRuntimeReloaded hook failed: ${String(Q)}`)}try{K.dispose()}catch(Q){M.warn(`[worker ${H.workerId}] previous runtime dispose failed: ${String(Q)}`)}M.info(`[worker ${H.workerId}] runtime reloaded to config version ${V}`)}let U=new x0;return U.use(TR),U.onError(IR),U.get("/health",async(A)=>{let[V,E]=await Promise.all([H.runtime.brain.health().catch(()=>null),H.runtime.executor.health().catch(()=>null)]);return A.json({mode:"worker",workerId:H.workerId,status:"ok",brain:V,executor:E,configVersion:H.configVersion,startedAt:H.startedAt,checkedAt:new Date().toISOString()})}),U.route("/",SR(()=>H.runtime,H.workerId)),U.route("/api/worker/orchestrator",hR(()=>H.runtime)),U.route("/api/worker/evolution",q6),U.route("/api/worker/events",bR(()=>H.runtime)),U.route("/api/worker",gR({getState:()=>H,reloadRuntime:W})),U.doc("/openapi.json",{openapi:"3.1.0",info:{title:"AIWorker Worker API",version:"0.2.0",description:`Per-worker surface: channels, orchestrator, memory, skills, execution, evolution. Worker id: ${H.workerId}`}}),U.get("/docs",OG({spec:{url:"/openapi.json"}})),{app:U,port:l.PORT,state:H,reloadRuntime:W}}P2();jD();JD();async function uR(D={}){let $=null,{app:F,port:X,state:J,reloadRuntime:Y}=await yR({onRuntimeReloaded:()=>$?.notifyRuntimeReloaded()}),G=D.port??X,B=Bun.serve({port:G,fetch:F.fetch});M.success(`[aiw serve] worker ${J.workerId} listening on :${G} (config v${J.configVersion})`);let H=l.AIWORKER_GATEWAY_URL,W=l.AIWORKER_JOIN_TOKEN,U=l.AIWORKER_DISPLAY_NAME,A=l.AIWORKER_ENROLL_MODE,V=D.gateway&&D.gateway.length>0?D.gateway:void 0,E,C=D.gatewayToken??"",K,Q="legacy";if(V)E=V;else if(H&&H.length>0){let N=A==="otp",Z=!!W&&W.length>0;if(!N&&Z)E=H,Q="self-enroll",K={mode:"join-token",joinToken:W,apiToken:J.tokenPlaintext,...U?{displayName:U}:{}};else{let j=new URL(H);if(j.pathname="/enroll-ws",E=j.toString(),Q="otp",C=J.tokenPlaintext,K={mode:"otp",apiToken:J.tokenPlaintext,...U?{displayName:U}:{}},N&&Z)M.info("[aiw serve] AIWORKER_ENROLL_MODE=otp \u5DF2\u751F\u6548\uFF0C\u5FFD\u7565 AIWORKER_JOIN_TOKEN")}}else if(W&&W.length>0)M.warn("[aiw serve] AIWORKER_JOIN_TOKEN set but AIWORKER_GATEWAY_URL missing; skipping self-enroll");if(E){if(Q==="self-enroll")M.info(`[aiw serve] self-enrolling to ${E} as ${U??J.workerId}`);else if(Q==="otp")M.info(`[aiw serve] OTP enrolling to ${E}; awaiting operator approval`);$=b4({url:E,token:C,workerId:J.workerId,...D.gatewayReconnect===!1?{reconnect:!1}:{},...K?{enroll:K}:{},...Q==="otp"?{onEnrollmentOtp:({otp:N,expiresAt:Z})=>{let j=Math.max(0,Math.round((Z-Date.now())/1000)),T=Iu(N,j);K5.stdout.write(`${T}
|
|
416
|
+
`),M.info(`[aiw serve] OTP ${N} \u5DF2\u7B7E\u53D1\uFF0C\u8BF7\u7528 \`aim enroll approve ${N}\` \u51C6\u5165\uFF1Bexpires in ${j}s`)},onEnrollmentApproved:({workerId:N,deviceToken:Z})=>{M.success(`[aiw serve] approved as ${N}; deviceToken=${Z.slice(0,8)}\u2026\uFF0C\u5DF2\u52A0\u5165 fleet`)}}:{},getRuntime:()=>J.runtime,handlers:{configGet:async()=>{let N=await q0(m());return{version:N.version,config:N.config}},configPut:async({ifMatch:N,config:Z})=>{let j=await U6({db:m(),vault:fD(),raw:Z,ifMatchVersion:N,workerId:J.workerId,reloadRuntime:Y});return{version:j.version,appliedAt:Date.now(),runtimeReload:j.runtimeReload}},tokenRotate:async()=>{let{newToken:N}=await Q8(m(),fD(),J);return{deviceToken:N}},...S4(()=>J.runtime.cron)}}),M.success(`[aiw serve] gateway-client dialing ${E}`)}let q=async(N)=>{M.info(`[aiw serve] received ${N}, shutting down`);try{if($)await $.stop(),$=null}catch(Z){M.warn(`[aiw serve] gateway shutdown failed: ${String(Z)}`)}try{B.stop()}catch(Z){M.warn(`[aiw serve] http shutdown failed: ${String(Z)}`)}K5.exit(0)};K5.once("SIGTERM",()=>void q("SIGTERM")),K5.once("SIGINT",()=>void q("SIGINT"))}function Iu(D,$){let F=`OTP: ${D}`,X=`expires in ${$}s`,J=Math.max(F.length,X.length)+6,Y="\u2500".repeat(J),G=(B)=>`\u2502 ${B}${" ".repeat(J-B.length-4)}\u2502`;return["",`\u250C${Y}\u2510`,G(F),G(X),`\u2514${Y}\u2518`].join(`
|
|
417
|
+
`)}P2();jD();JD();async function mR(){let D=await N0({silent:!0}),$=fD(),F=m(),X={tokenPlaintext:D.token},{newToken:J}=await Q8(F,$,X);return M.success(`[aiw token rotate] worker ${D.workerId} token rotated`),console.log(J),0}var FD=wG("aiworker");FD.command("init","Bootstrap worker.db, mint identity + token, seed config").action(async()=>{await PC()});FD.command("run","Feed one message into the orchestrator without binding HTTP").option("--message <text>","User message to ingest (required)").option("--chat-id <id>",'Synthetic chat id (defaults to "cli:stdin")').option("--dry-run","Bootstrap everything but skip ingesting the envelope").option("--timeout-ms <n>","Max wait for a terminal event, in ms (default 120000)",{type:[Number]}).action(async(D)=>{let $=await ZC({message:D.message,chatId:D.chatId,dryRun:D.dryRun,timeoutMs:D.timeoutMs?.[0]});$D.exit($)});FD.command("serve","Start the worker HTTP server (equivalent to AIWORKER_MODE=worker)").option("--port <n>","Override the PORT env",{type:[Number]}).option("--gateway <url>","Dial the given gateway WS URL as a node alongside the HTTP server").option("--gateway-token <token>","Bearer token presented to the gateway (omit for loopback)").option("--no-reconnect","Disable gateway-client auto-reconnect (useful for smoke / tests)").action(async(D)=>{let $={};if(D.port?.[0]!==void 0)$.port=D.port[0];if(D.gateway!==void 0)$.gateway=D.gateway;if(D.gatewayToken!==void 0)$.gatewayToken=D.gatewayToken;if(D.reconnect===!1)$.gatewayReconnect=!1;await uR($)});FD.command("config-show","Print the stored worker config as JSON").action(async()=>{$D.exit(await qC())});FD.command("config-set <json>","Replace the stored worker config").option("--if-match <version>","Optimistic-concurrency guard (reject unless stored version matches)",{type:[Number]}).action(async(D,$)=>{$D.exit(await NC({json:D,ifMatch:$.ifMatch?.[0]}))});FD.command("token-rotate","Mint a fresh bearer token; prints the new plaintext once").action(async()=>{$D.exit(await mR())});FD.command("approvals-list","\u5217\u51FA\u5F53\u524D worker \u8FDB\u7A0B\u5185\u6302\u8D77\u7684 per-tool \u5BA1\u6279").action(async()=>{$D.exit(await OC())});FD.command("approvals-grant <taskId> <toolCallId>","\u89E3\u9501\u67D0\u6761\u6302\u8D77\u7684 tool \u5BA1\u6279").option("--deny","\u4E0B\u53D1 deny \u51B3\u7B56\uFF1B\u9ED8\u8BA4 allow").action(async(D,$,F)=>{$D.exit(await MC({taskId:D,toolCallId:$,...F.deny===void 0?{}:{deny:F.deny}}))});FD.command("schedule-list","List all cron jobs persisted in the local worker.db").action(async()=>{$D.exit(await zC())});FD.command("schedule-add","Add a cron job to the local worker.db (validates expression up-front)").option("--expression <expr>","Five-field cron expression (required)").option("--prompt <text>","Envelope.text synthesised when the job fires (required)").option("--channel <channel>","Channel: web/line/telegram/lark/whatsapp (required)").option("--chat-id <id>","chatId used at fire time (required)").option("--account-id <id>","Override accountId (defaults to sys:cron)").option("--disabled","Persist with enabled=false (default is enabled=true)").action(async(D)=>{if(!D.expression||!D.prompt||!D.channel||!D.chatId)M.error("[aiworker schedule-add] requires --expression, --prompt, --channel, --chat-id"),$D.exit(2);let $=await jC({expression:D.expression,prompt:D.prompt,channel:D.channel,chatId:D.chatId,...D.accountId===void 0?{}:{accountId:D.accountId},...D.disabled===!0?{enabled:!1}:{}});$D.exit($)});FD.command("schedule-remove <jobId>","Remove a cron job from the local worker.db").action(async(D)=>{$D.exit(await wC(D))});FD.command("fleet list","\u5217\u51FA fleet \u5185\u6240\u6709 worker").action(async()=>{$D.exit(await dB())});FD.command("fleet info <workerId>","\u67E5\u770B\u67D0\u4E2A worker \u7684\u8FD0\u884C\u65F6\u4FE1\u606F").action(async(D)=>{$D.exit(await lB(D))});FD.command("fleet launch","\u8BA9 gateway \u5728\u672C\u673A\u62C9\u8D77\u4E00\u4E2A\u65B0\u7684 worker \u5BB9\u5668\u5E76\u5B8C\u6210\u914D\u5BF9").option("--display-name <name>","worker \u5C55\u793A\u540D").option("--image <image>","\u5BB9\u5668\u955C\u50CF\uFF08\u9ED8\u8BA4\u7531 gateway \u51B3\u5B9A\uFF09").option("--force-id <id>","\u5F3A\u5236\u4F7F\u7528\u7ED9\u5B9A workerId\uFF08\u7528\u4E8E\u5907\u4EFD\u6062\u590D\uFF09").action(async(D)=>{$D.exit(await iB({...D.displayName===void 0?{}:{displayName:D.displayName},...D.image===void 0?{}:{image:D.image},...D.forceId===void 0?{}:{forceId:D.forceId}}))});FD.command("fleet stop <workerId>","\u5411\u76EE\u6807 worker \u4E0B\u53D1\u505C\u6B62\u6307\u4EE4\uFF08\u4E0D\u6458\u9664\u6CE8\u518C\uFF09").action(async(D)=>{$D.exit(await nB(D))});FD.command("fleet remove <workerId>","\u628A worker \u4ECE fleet \u4E2D\u6458\u9664\uFF08deviceToken \u4F5C\u5E9F\uFF09").action(async(D)=>{$D.exit(await sB(D))});FD.command("gateway start","\u62C9\u8D77\u672C\u5730 gateway daemon \u8FDB\u7A0B").option("--port <n>","\u76D1\u542C\u7AEF\u53E3\uFF0C\u9ED8\u8BA4 3000",{type:[Number]}).option("--entry <path>","\u663E\u5F0F\u6307\u5B9A gateway \u5165\u53E3\u6587\u4EF6\uFF08\u9ED8\u8BA4\u8BFB AIWORKER_GATEWAY_ENTRY env\uFF09").action(async(D)=>{$D.exit(await TB({...D.port?.[0]===void 0?{}:{port:D.port[0]},...D.entry===void 0?{}:{entry:D.entry}}))});FD.command("gateway status","\u663E\u793A gateway daemon \u662F\u5426\u8FD0\u884C").action(()=>{$D.exit(SB())});FD.command("gateway stop","\u505C\u6B62 gateway daemon (SIGTERM, \u8D85\u65F6\u540E SIGKILL)").option("--timeout-ms <n>","SIGTERM \u8D85\u65F6\uFF0C\u9ED8\u8BA4 5000ms",{type:[Number]}).action(async(D)=>{$D.exit(await fB(D.timeoutMs?.[0]===void 0?{}:{timeoutMs:D.timeoutMs[0]}))});FD.command("pair","\u901A\u8FC7 bootstrap token \u628A\u4E00\u4E2A\u5DF2\u542F\u52A8\u7684 worker \u6CE8\u518C\u5230 gateway").option("--url <wsUrl>","gateway WS URL\uFF08\u9ED8\u8BA4\u4F7F\u7528 aim.json \u91CC\u7684 gatewayUrl\uFF09").option("--worker-url <httpUrl>","worker HTTP base URL\uFF08\u5FC5\u586B\uFF09").option("--bootstrap-token <token>","worker \u6253\u5370\u7684\u4E00\u6B21\u6027 bootstrap token\uFF08\u5FC5\u586B\uFF09").option("--display-name <name>","\u53EF\u9009 worker \u5C55\u793A\u540D").action(async(D)=>{if(!D.workerUrl||!D.bootstrapToken)M.error("pair \u5FC5\u987B\u540C\u65F6\u63D0\u4F9B --worker-url \u548C --bootstrap-token"),$D.exit(2);$D.exit(await xB({...D.url===void 0?{}:{url:D.url},workerUrl:D.workerUrl,bootstrapToken:D.bootstrapToken,...D.displayName===void 0?{}:{displayName:D.displayName}}))});FD.command("chat <workerId> <text>","\u5411\u67D0 worker \u53D1\u4E00\u6761\u6D88\u606F\u5E76\u963B\u585E\u5230 agent.done (NDJSON \u8F93\u51FA)").option("--conversation-id <id>","\u663E\u5F0F\u6307\u5B9A\u4F1A\u8BDD id\uFF1B\u4E0D\u4F20\u5219\u7531 worker \u65B0\u5EFA").option("--timeout-ms <n>","\u7B49 agent.done \u7684\u603B\u8D85\u65F6\uFF0C\u9ED8\u8BA4 120000",{type:[Number]}).action(async(D,$,F)=>{$D.exit(await CB({workerId:D,content:$,...F.conversationId===void 0?{}:{conversationId:F.conversationId},...F.timeoutMs?.[0]===void 0?{}:{timeoutMs:F.timeoutMs[0]}}))});FD.command("config get <workerId>","\u8BFB\u53D6\u76EE\u6807 worker \u7684\u5F53\u524D\u914D\u7F6E").action(async(D)=>{$D.exit(await RB(D))});FD.command("config set <workerId> <json>","\u66F4\u65B0 worker \u914D\u7F6E\uFF08\u9700\u8981 --if-match \u63D0\u4F9B\u5F53\u524D\u7248\u672C\uFF09").option("--if-match <version>","\u4E50\u89C2\u9501\uFF1B\u5F53\u524D\u5B58\u50A8\u7684 version \u4E0D\u7B49\u4E8E\u6B64\u503C\u5219\u62D2\u7EDD",{type:[Number]}).action(async(D,$,F)=>{let X=F.ifMatch?.[0];if(X===void 0)M.error("config set \u5FC5\u987B\u663E\u5F0F\u63D0\u4F9B --if-match <version> \u4EE5\u9632\u6B62\u8BEF\u8986\u76D6"),$D.exit(2);$D.exit(await OB({workerId:D,configJson:$,ifMatch:X}))});FD.command("token rotate <workerId>","\u4E3A\u76EE\u6807 worker \u8F6E\u6362 deviceToken\uFF08\u65E7 token \u7ACB\u5373\u5931\u6548\uFF09").action(async(D)=>{$D.exit(await cB(D))});FD.command("approvals list","\u5217\u51FA\u6302\u8D77\u7684 per-tool \u5BA1\u6279\uFF1B\u9ED8\u8BA4\u8986\u76D6\u6240\u6709 online worker").option("--worker <id>","\u53EA\u67E5\u6307\u5B9A workerId\uFF08\u4E0D\u4F20\u5219\u805A\u5408\u6240\u6709 online worker\uFF09").action(async(D)=>{$D.exit(await EB({...D.worker===void 0?{}:{workerId:D.worker}}))});FD.command("approvals grant <workerId> <taskId> <toolCallId>","\u89E3\u9501\u67D0\u6761 worker \u4E0A\u6302\u8D77\u7684 tool \u5BA1\u6279").option("--deny","\u4E0B\u53D1 deny \u51B3\u7B56\uFF1B\u4E0D\u5E26\u6B64 flag \u9ED8\u8BA4 allow").action(async(D,$,F,X)=>{$D.exit(await KB({workerId:D,taskId:$,toolCallId:F,...X.deny===void 0?{}:{deny:X.deny}}))});FD.command("schedule list <workerId>","\u5217\u51FA\u67D0 worker \u4E0A\u6240\u6709 cron \u4EFB\u52A1").action(async(D)=>{$D.exit(await uB(D))});FD.command("schedule add <workerId>","\u5728\u67D0 worker \u4E0A\u65B0\u589E\u4E00\u6761 cron \u4EFB\u52A1").option("--expression <expr>","5-field cron \u8868\u8FBE\u5F0F\uFF08\u5FC5\u586B\uFF09").option("--prompt <text>","cron \u89E6\u53D1\u65F6\u5408\u6210\u7684 envelope.text\uFF08\u5FC5\u586B\uFF09").option("--channel <channel>","channel \u7C7B\u578B\uFF1Aweb/line/telegram/lark/whatsapp\uFF08\u5FC5\u586B\uFF09").option("--chat-id <id>","\u89E6\u53D1\u65F6\u4F7F\u7528\u7684 chatId\uFF08\u5FC5\u586B\uFF09").option("--account-id <id>","accountId\uFF0C\u9ED8\u8BA4 sys:cron").option("--disabled","\u9ED8\u8BA4 enabled=true\uFF1B\u5E26\u6B64 flag \u6539\u4E3A false").action(async(D,$)=>{if(!$.expression||!$.prompt||!$.channel||!$.chatId)M.error("schedule add \u5FC5\u987B\u63D0\u4F9B --expression / --prompt / --channel / --chat-id"),$D.exit(2);$D.exit(await mB({workerId:D,expression:$.expression,prompt:$.prompt,channel:$.channel,chatId:$.chatId,...$.accountId===void 0?{}:{accountId:$.accountId},...$.disabled===!0?{enabled:!1}:{}}))});FD.command("schedule remove <workerId> <jobId>","\u5220\u9664\u67D0 worker \u4E0A\u7684\u67D0\u6761 cron \u4EFB\u52A1").action(async(D,$)=>{$D.exit(await pB(D,$))});FD.command("enroll list","\u5217\u51FA gateway \u5F53\u524D\u6240\u6709 pending OTP enrollment").action(async()=>{$D.exit(await MB())});FD.command("enroll approve <otp>","\u6279\u51C6\u67D0\u6761 pending OTP enrollment\uFF08worker \u7ACB\u5373\u52A0\u5165 fleet\uFF09").action(async(D)=>{$D.exit(await qB(D))});FD.command("enroll reject <otp>","\u62D2\u7EDD\u67D0\u6761 pending OTP enrollment\uFF08worker \u6536\u5230 close 4403\uFF09").action(async(D)=>{$D.exit(await NB(D))});FD.command("logs <workerId>","\u8BA2\u9605\u67D0 worker \u7684\u65E5\u5FD7\u5C3E\u90E8 (NDJSON \u8F93\u51FA)").option("--follow","\u6301\u7EED\u8BA2\u9605\u76F4\u5230\u8D85\u65F6\u6216 Ctrl-C").option("--tail <n>","\u8BF7\u6C42\u5386\u53F2\u884C\u6570\uFF0C\u4E0A\u9650 1000",{type:[Number]}).option("--timeout-ms <n>","\u8BA2\u9605\u603B\u8D85\u65F6",{type:[Number]}).action(async(D,$)=>{$D.exit(await hB({workerId:D,...$.follow===void 0?{}:{follow:$.follow},...$.tail?.[0]===void 0?{}:{tail:$.tail[0]},...$.timeoutMs?.[0]===void 0?{}:{timeoutMs:$.timeoutMs[0]}}))});FD.command("install systemd","\u6E32\u67D3 aiworker-gateway.service \u5E76\uFF08\u53EF\u9009\uFF09\u6CE8\u518C\u5230 systemd").option("--user","systemd \u7528\u6237\u5B9E\u4F8B\uFF08\u9ED8\u8BA4\uFF09\uFF1B\u5199\u5230 ~/.config/systemd/user/").option("--system","systemd \u7CFB\u7EDF\u5B9E\u4F8B\uFF08\u9700 root\uFF09\uFF1B\u5199\u5230 /etc/systemd/system/").option("--dry-run","\u53EA\u5F80 stdout \u6253 unit \u5185\u5BB9\uFF0C\u4E0D\u5199\u76D8\u4E5F\u4E0D systemctl").option("--out <path>","\u8986\u76D6\u76EE\u6807\u8DEF\u5F84\uFF08\u5F02\u5E38\u5E03\u5C40/\u6D4B\u8BD5\u7528\uFF09\uFF1B\u81EA\u52A8\u8DF3\u8FC7 systemctl").option("--no-enable","\u5199\u76D8\u540E\u8DF3\u8FC7 systemctl daemon-reload + enable --now").action(async(D)=>{if(D.user===!0&&D.system===!0)M.error("install systemd: \u4E0D\u80FD\u540C\u65F6\u6307\u5B9A --user \u548C --system"),$D.exit(2);$D.exit(await gB({scope:D.system===!0?"system":"user",...D.dryRun===!0?{dryRun:!0}:{},...D.out===void 0?{}:{out:D.out},...D.enable===!1?{noEnable:!0}:{}}))});FD.help();FD.version("0.3.0");function Tu(D,$=FD){let F=new Set,X=1;for(let J of $.commands){let Y=J.name;if(typeof Y==="string"&&Y.includes(" ")){F.add(Y);let G=Y.split(" ").length;if(G>X)X=G}}if(F.size===0||D.length<4)return D;for(let J=X;J>=2;J--){if(D.length<2+J)continue;let Y=D.slice(2,2+J);if(Y.some((B)=>typeof B!=="string"))continue;let G=Y.join(" ");if(F.has(G)){let B=D.slice();return B.splice(2,J,G),B}}return D}if(import.meta.main)try{FD.parse(Tu($D.argv),{run:!1}),await FD.runMatchedCommand()}catch(D){M.error(D),$D.exit(1)}export{Tu as preprocessArgv,FD as cli};
|